Function at 0x140055280
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 [0x1401c1658]
mov eax, dword [0x1401c165c]
add edx, eax
je 0x14005532c
mov dword [rbp - 1], edi
call fcn.140005ad0
mov qword [rbp - 9], rax
lock inc dword [rbp - 1]
mov dword [rbp + 0x6f], 4
mov rax, qword [rbp - 9]
test rax, rax
jne 0x1400552f0
call fcn.140005ad0
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.140004c90
nop
mov eax, dword [rbp + 0x6f]
test al, 4
je 0x140055368
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 0x140055364
nop dword [rax]
call fcn.140005e40
mov eax, 0xffffffff
lock xadd dword [rbp - 1], eax
cmp eax, 1
jns 0x140055350
lock inc dword [rbp - 1]
mov rax, qword [0x1401c0ff8]
cmp eax, 0xffffffff
je 0x140055388
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, rax
mov rax, qword [0x1401c0ff8]
jmp 0x14005538e
mov ecx, dword [0x1401c0ffc]
lea edx, [rcx + 1]
cmp eax, 0xffffffff
je 0x1400553a1
movsxd rdx, edx
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
lea r8, str.Global4651EF25_ABBD_4CB1_9A10_B6D958D46B9E
xor edx, edx
lea ecx, [rdx + 2]
call qword [sym.imp.KERNEL32.dll_OpenEventW]
mov qword [rbx + 0x18], rax
mov ecx, dword [0x1401c1658]
test rax, rax
mov eax, dword [0x1401c165c]
jne 0x14005547d
add ecx, eax
je 0x140055437
mov dword [rbp + 0xf], edi
call fcn.140005ad0
mov qword [rbp + 7], rax
lock inc dword [rbp + 0xf]
or dword [rbp + 0x6f], 1
mov rax, qword [rbp + 7]
test rax, rax
jne 0x1400553fa
call fcn.140005ad0
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], 0x10
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.140004c90
nop
mov eax, dword [rbp + 0x6f]
test al, 1
je 0x140055527
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 0x140055474
nop dword [rax + rax]
call fcn.140005e40
mov eax, 0xffffffff
lock xadd dword [rbp + 0xf], eax
cmp eax, 1
jns 0x140055460
lock inc dword [rbp + 0xf]
jmp 0x140055527
add ecx, eax
je 0x1400554db
mov dword [rbp + 0x1f], edi
call fcn.140005ad0
mov qword [rbp + 0x17], rax
lock inc dword [rbp + 0x1f]
or dword [rbp + 0x6f], 2
mov rax, qword [rbp + 0x17]
test rax, rax
jne 0x1400554ab
call fcn.140005ad0
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.140004c90
nop
mov eax, dword [rbp + 0x6f]
test al, 2
je 0x140055518
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 0x140055514
nop dword [rax + rax]
call fcn.140005e40
mov eax, 0xffffffff
lock xadd dword [rbp + 0x1f], eax
cmp eax, 1
jns 0x140055500
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.140032660
mov eax, edi
add rsp, 0x88
pop rdi
pop rsi
pop rbx
pop rbp
ret