Function at 0x14012a430
Capabilities:
Get thread local storage value

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x28
mov cl, 3
mov al, 2
lock cmpxchg byte [0x1403af270], cl
jne 0x14012a847
cmp byte [0x1403af208], 0
movabs rdi, 0x20c49ba5e353f7cf
je 0x14012a487
call fcn.1401a2fc0
sub rax, qword [0x1403af218]
imul rdi
mov rax, rdx
shr rax, 0x3f
sar rdx, 7
add rdx, rax
lea rcx, str.__lldms__SHUTDOWN:_Starting_shutdown_n
call fcn.1401a32f0
call fcn.14014ab70
cmp byte [0x1403af208], 0
je 0x14012a4be
call fcn.1401a2fc0
sub rax, qword [0x1403af218]
imul rdi
mov rax, rdx
shr rax, 0x3f
sar rdx, 7
add rdx, rax
lea rcx, str.__lldms__SHUTDOWN:_Disabling_isolate_creation_n
call fcn.1401a32f0
call fcn.14013a5c0
cmp byte [0x1403af208], 0
je 0x14012a4f5
call fcn.1401a2fc0
sub rax, qword [0x1403af218]
imul rdi
mov rax, rdx
shr rax, 0x3f
sar rdx, 7
add rdx, rax
lea rcx, str.__lldms__SHUTDOWN:_Killing_all_app_isolates_n
call fcn.1401a32f0
mov ecx, ntohs
call fcn.14013a750
cmp byte [0x1403af208], 0
je 0x14012a563
call fcn.1401a2fc0
sub rax, qword [0x1403af218]
imul rdi
mov rax, rdx
shr rax, 0x3f
sar rdx, 7
add rdx, rax
lea rcx, str.__lldms__SHUTDOWN:_Shutting_down_kernel_isolate_n
call fcn.1401a32f0
cmp byte [0x1403af208], 0
je 0x14012a563
call fcn.1401a2fc0
sub rax, qword [0x1403af218]
imul rdi
mov rax, rdx
shr rax, 0x3f
sar rdx, 7
add rdx, rax
lea rcx, str.__lldms__SHUTDOWN:_Shutting_down_service_isolate_n
call fcn.1401a32f0
call fcn.14012a270
cmp byte [0x1403af208], 0
je 0x14012a5aa
call fcn.1401a2fc0
sub rax, qword [0x1403af218]
imul rdi
mov rax, rdx
shr rax, 0x3f
sar rdx, 7
add rdx, rax
lea rcx, str.__lldms__SHUTDOWN:_Deleting_thread_pool_n
call fcn.1401a32f0
jmp 0x14012a5aa
mov ecx, 1
call sub.KERNEL32.dll_Sleep
cmp qword [0x1403af278], 0
jne 0x14012a5a0
xor ecx, ecx
mov al, 3
lock cmpxchg byte [0x1403af270], cl
mov rcx, qword [0x1403af220]
call fcn.1401db420
mov rcx, qword [0x1403af220]
test rcx, rcx
je 0x14012a5e2
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
mov qword [0x1403af220], 0
cmp byte [0x1403af208], 0
je 0x14012a61f
call fcn.1401a2fc0
sub rax, qword [0x1403af218]
imul rdi
mov rax, rdx
shr rax, 0x3f
sar rdx, 7
add rdx, rax
lea rcx, str.__lldms__SHUTDOWN:_Done_deleting_thread_pool_n
call fcn.1401a32f0
call fcn.1402522d0
mov rsi, qword [0x1403af228]
test rsi, rsi
je 0x14012a6f8
mov rcx, qword [rsi + 0x410]
test rcx, rcx
je 0x14012a650
mov rbx, qword [rcx]
call fcn.140281a88
mov rcx, rbx
test rbx, rbx
jne 0x14012a640
mov qword [rsi + 0x410], 0
lea rbx, [rsi + 0x418]
mov rcx, qword [rsi + 0x418]
mov qword [rsi + 0x628], rcx
test rcx, rcx
je 0x14012a690
nop word cs:[rax + rax]
mov r14, qword [rcx]
call fcn.140281a88
mov rcx, r14
test r14, r14
jne 0x14012a680
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov qword [rsi + 0x628], rbx
mov rcx, qword [rsi]
test rcx, rcx
je 0x14012a6c0
nop word cs:[rax + rax]
mov rbx, qword [rcx]
call fcn.140281a88
mov rcx, rbx
test rbx, rbx
jne 0x14012a6b0
mov qword [rsi], 0
mov rcx, qword [rsi + 8]
mov qword [rsi + 0x408], rcx
test rcx, rcx
je 0x14012a6f0
nop word [rax + rax]
mov rbx, qword [rcx]
call fcn.140281a88
mov rcx, rbx
test rbx, rbx
jne 0x14012a6e0
mov rcx, rsi
call fcn.140279520
mov qword [0x1403af228], 0
cmp byte [0x1403af208], 0
je 0x14012a735
call fcn.1401a2fc0
sub rax, qword [0x1403af218]
imul rdi
mov rax, rdx
shr rax, 0x3f
sar rdx, 7
add rdx, rax
lea rcx, str.__lldms__SHUTDOWN:_Cleaning_up_vm_isolate_n
call fcn.1401a32f0
mov rcx, qword [0x1403af210]
xor edx, edx
call fcn.1401d9bd0
cmp byte [0x1403af208], 0
je 0x14012a775
call fcn.1401a2fc0
sub rax, qword [0x1403af218]
imul rdi
mov rax, rdx
shr rax, 0x3f
sar rdx, 7
add rdx, rax
lea rcx, str.__lldms__SHUTDOWN:_Disabling_OS_Thread_creation_n
call fcn.1401a32f0
call fcn.1401a24c0
mov eax, dword [0x1403b3e60]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp byte [rax + 0x14], 0
jne 0x14012a79b
call fcn.140279b2c
mov eax, dword [0x1403b3e60]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rax, qword [rax + 8]
mov rcx, qword [rax + 0x50]
call fcn.140139520
mov qword [0x1403af210], 0
call fcn.1401d0170
call fcn.1401a4350
call fcn.1401d7c40
call fcn.140136050
call fcn.140170f70
call fcn.140172730
call fcn.14012cee0
call fcn.140129780
call fcn.1401ec7e0
call fcn.1401ec420
call fcn.140151980
call fcn.1401e88a0
call fcn.1401d3340
call fcn.1401de7b0
call fcn.1401a4b20
mov ecx, dword [0x1403aadb8]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x14012a85c
mov rsi, rax
cmp byte [rax + 8], 0
jne 0x14012a83e
mov rcx, rsi
call fcn.1400726b0
mov rsi, rax
test rax, rax
je 0x14012a85c
xor ecx, ecx
call fcn.1401a24f0
jmp 0x14012a870
lea rcx, str.VM_already_terminated.
add rsp, 0x28
pop rbx
pop rdi
pop rsi
pop r14
jmp fcn.140024c70
call fcn.1401a2410
mov rsi, rax
xor ecx, ecx
call fcn.1401a24f0
test rsi, rsi
je 0x14012a87d
mov rax, qword [rsi]
mov rcx, rsi
mov edx, 1
call qword [rax]
cmp byte [0x1403af208], 0
je 0x14012a8e1
call fcn.1401a2fc0
sub rax, qword [0x1403af218]
imul rdi
mov rax, rdx
shr rax, 0x3f
sar rdx, 7
add rdx, rax
lea rcx, str.__lldms__SHUTDOWN:_Deleted_os_thread_n
call fcn.1401a32f0
cmp byte [0x1403af208], 0
je 0x14012a8e1
call fcn.1401a2fc0
sub rax, qword [0x1403af218]
imul rdi
mov rax, rdx
shr rax, 0x3f
sar rdx, 7
add rdx, rax
lea rcx, str.__lldms__SHUTDOWN:_Deleting_code_observers_n
call fcn.1401a32f0
call sym.dart_precompiled_runtime_product.exe_Dart_DisableHeapSampling
cmp byte [0x1403af208], 0
je 0x14012a918
call fcn.1401a2fc0
sub rax, qword [0x1403af218]
imul rdi
mov rax, rdx
shr rax, 0x3f
sar rdx, 7
add rdx, rax
lea rcx, str.__lldms__SHUTDOWN:_Done_n
call fcn.1401a32f0
call sym.dart_precompiled_runtime_product.exe_Dart_DisableHeapSampling
call fcn.140131e70
call sym.dart_precompiled_runtime_product.exe_Dart_DisableHeapSampling
xor eax, eax
add rsp, 0x28
pop rbx
pop rdi
pop rsi
pop r14
ret
sub rsp, 0x38
mov rax, qword [0x1403acd78]
xor rax, rsp
mov qword [rsp + 0x30], rax
mov eax, dword [0x1403b3e60]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp byte [rax + 0x14], 0
jne 0x140256394
call fcn.140279b2c
mov eax, dword [0x1403b3e60]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rax, qword [rax + 8]
test rax, rax
je 0x1402563ba
cmp qword [rax + 0x50], 0
jne 0x1402563d1
mov rcx, qword [rsp + 0x30]
xor rcx, rsp
call fcn.140279500
nop
add rsp, 0x38
jmp 0x14012a430
lea rax, str..._.._runtime_vm_dart_api_impl.cc
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x28], 0x4be
lea rcx, [0x14038e429]
call fcn.140251580
lea rdx, str._s_expects_there_to_be_no_current_isolate._Did_you_forget_to_call_Dart_ExitIsolate_
lea rcx, [rsp + 0x20]
mov r8, rax
call fcn.140023590
int3