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

Disassembly:
mov qword [rsp + 0x10], rdx
push rbp
push rbx
push rsi
push rdi
lea rbp, [rsp - 0x3f]
sub rsp, 0x88
mov rbx, rcx
xor edi, edi
mov dword [rbp + 0x6f], edi
lea rcx, [rbp + 0x2f]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
nop
lea rsi, str.CApplicationInstance::InstanceQuitAll
mov qword [rbp + 0x27], rsi
mov edx, dword [0x1401993f8]
mov eax, dword [0x1401993fc]
add edx, eax
je 0x14004e26c
mov dword [rbp - 1], edi
call fcn.1400057e0
mov qword [rbp - 9], rax
lock inc dword [rbp - 1]
mov dword [rbp + 0x6f], 4
mov rax, qword [rbp - 9]
test rax, rax
jne 0x14004e230
call fcn.1400057e0
mov qword [rbp - 9], rax
lock inc dword [rbp - 1]
mov rcx, qword [rbp - 9]
mov dword [rbp + 0x67], 0x20
mov qword [rsp + 0x30], rsi
lea rax, str._s_start:
mov qword [rsp + 0x28], rax
lea rax, str._CScopeTrace::operator___
mov qword [rsp + 0x20], rax
lea r9, [0x140000000]
lea r8, [rbp + 0x67]
movsx edx, di
call fcn.140004bd0
nop
mov eax, dword [rbp + 0x6f]
test al, 4
je 0x14004e2a8
and eax, 0xfffffffb
mov dword [rbp + 0x6f], eax
mov qword [rbp - 9], rdi
mov eax, 0xffffffff
lock xadd dword [rbp - 1], eax
cmp eax, 1
js 0x14004e2a4
nop dword [rax]
call fcn.140005b50
mov eax, 0xffffffff
lock xadd dword [rbp - 1], eax
cmp eax, 1
jns 0x14004e290
lock inc dword [rbp - 1]
mov rax, qword [0x140198db8]
cmp eax, 0xffffffff
je 0x14004e2c8
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, rax
mov rax, qword [0x140198db8]
jmp 0x14004e2ce
mov ecx, dword [0x140198dbc]
lea edx, [rcx + 1]
cmp eax, 0xffffffff
je 0x14004e2e1
movsxd rdx, edx
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
lea r8, [0x140156870]
xor edx, edx
lea ecx, [rdx + 2]
call qword [sym.imp.KERNEL32.dll_OpenEventW]
mov qword [rbx + 0x18], rax
mov ecx, dword [0x1401993f8]
test rax, rax
mov eax, dword [0x1401993fc]
jne 0x14004e3bd
add ecx, eax
je 0x14004e377
mov dword [rbp + 0xf], edi
call fcn.1400057e0
mov qword [rbp + 7], rax
lock inc dword [rbp + 0xf]
or dword [rbp + 0x6f], 1
mov rax, qword [rbp + 7]
test rax, rax
jne 0x14004e33a
call fcn.1400057e0
mov qword [rbp + 7], rax
lock inc dword [rbp + 0xf]
mov rbx, qword [rbp + 7]
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp + 0x77], Ordinal_21
mov dword [rsp + 0x30], eax
lea rax, str.Failed_to_open_the_instance_event__LastError:_d_
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rsi
lea r9, [0x140000000]
lea r8, [rbp + 0x77]
movsx edx, di
mov rcx, rbx
call fcn.140004bd0
nop
mov eax, dword [rbp + 0x6f]
test al, 1
je 0x14004e467
and eax, 0xfffffffe
mov dword [rbp + 0x6f], eax
mov qword [rbp + 7], rdi
mov eax, 0xffffffff
lock xadd dword [rbp + 0xf], eax
cmp eax, 1
js 0x14004e3b4
nop dword [rax + rax]
call fcn.140005b50
mov eax, 0xffffffff
lock xadd dword [rbp + 0xf], eax
cmp eax, 1
jns 0x14004e3a0
lock inc dword [rbp + 0xf]
jmp 0x14004e467
add ecx, eax
je 0x14004e41b
mov dword [rbp + 0x1f], edi
call fcn.1400057e0
mov qword [rbp + 0x17], rax
lock inc dword [rbp + 0x1f]
or dword [rbp + 0x6f], 2
mov rax, qword [rbp + 0x17]
test rax, rax
jne 0x14004e3eb
call fcn.1400057e0
mov qword [rbp + 0x17], rax
lock inc dword [rbp + 0x1f]
mov rcx, qword [rbp + 0x17]
mov dword [rbp + 0x7f], 0x20
lea rax, str.sending_QUIT_to_all_instances
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rsi
lea r9, [0x140000000]
lea r8, [rbp + 0x7f]
movsx edx, di
call fcn.140004bd0
nop
mov eax, dword [rbp + 0x6f]
test al, 2
je 0x14004e458
and eax, 0xfffffffd
mov dword [rbp + 0x6f], eax
mov qword [rbp + 0x17], rdi
mov eax, 0xffffffff
lock xadd dword [rbp + 0x1f], eax
cmp eax, 1
js 0x14004e454
nop dword [rax + rax]
call fcn.140005b50
mov eax, 0xffffffff
lock xadd dword [rbp + 0x1f], eax
cmp eax, 1
jns 0x14004e440
lock inc dword [rbp + 0x1f]
mov rcx, qword [rbx + 0x18]
call qword [sym.imp.KERNEL32.dll_SetEvent]
mov edi, 1
lea rcx, [rbp + 0x27]
call fcn.14002f940
mov eax, edi
add rsp, 0x88
pop rdi
pop rsi
pop rbx
pop rbp
ret