Function at 0x140069f70
Capabilities:
Get thread local storage value

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x1a0
movaps xmmword [rsp + 0x190], xmm15
movaps xmmword [rsp + 0x180], xmm14
movaps xmmword [rsp + 0x170], xmm13
movaps xmmword [rsp + 0x160], xmm12
movaps xmmword [rsp + 0x150], xmm11
movaps xmmword [rsp + 0x140], xmm10
movaps xmmword [rsp + 0x130], xmm9
movaps xmmword [rsp + 0x120], xmm8
movaps xmmword [rsp + 0x110], xmm7
movaps xmmword [rsp + 0x100], xmm6
mov rbx, r9
mov rdi, r8
mov rsi, rdx
mov r14, rcx
mov rax, qword [0x14012c028]
xor rax, rsp
mov qword [rsp + 0xf8], rax
lea rcx, [rsp + 0x3c]
mov dword [rcx], 0x260
call fcn.140061fc0
test byte [0x14012e840], 0x19
jne 0x14006a361
call fcn.140061fd0
mov r14, rax
movsxd rax, dword [rsi + 0x78]
mov qword [rsp + 0xb8], rax
mov r15, qword [rsi + 0x20]
mov rcx, qword [0x14013e6e0]
test rcx, rcx
jne 0x14006a58a
xor edi, edi
mov rax, qword [0x14012dfa0]
and rax, rdi
cmp rax, qword [0x14012df88]
je 0x14006a597
mov ebx, 0xaaaaaaaa
test rdi, rdi
jne 0x14006a5a4
movabs rax, 0xc001c0ded017d00d
lea rcx, [rsp + 0xb8]
mov qword [rcx], rax
movabs rax, 0xd00d1d1d178119
mov qword [rcx + 0x38], rax
mov rax, qword [rsi + 0x20]
mov qword [rcx + 8], rax
movups xmm0, xmmword [rsi + 0x48]
movups xmm1, xmmword [rsi + 0x58]
movups xmmword [rcx + 0x10], xmm0
movups xmmword [rcx + 0x20], xmm1
mov eax, dword [rsi + 0x68]
mov qword [rcx + 0x30], rax
call fcn.140061fc0
mov eax, dword [0x140146540]
mov ecx, dword [0x14013ba7c]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14006a53c
mov ecx, dword [0x14013b660]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ecx, eax
and ecx, 3
cmp ecx, 2
jne 0x14006a270
lea rdx, [0x14011a2a2]
lea r8, str....._base_threading_thread_local_storage.cc
lea r14, [rsp + 0x90]
mov rcx, r14
mov r9d, 0x1db
call fcn.140061ec0
mov edx, 0x11e1a300
mov rcx, r14
call fcn.1400c7be0
xor r15d, r15d
mov ecx, dword [0x14013b660]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
and rax, 0xfffffffffffffffc
je 0x14006a4d9
mov rcx, qword [0x140146530]
shl rcx, 4
mov qword [rax + rcx], rsi
mov ecx, dword [0x140146538]
mov rdx, qword [0x140146530]
shl rdx, 4
mov dword [rax + rdx + 8], ecx
mov r14, qword [rsi]
mov qword [rsi], 0
mov rax, qword [r14 + 8]
mov rcx, r14
call qword [0x140150008]
test r14, r14
jne 0x14006a4bd
mov ecx, dword [0x14013b660]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
and rax, 0xfffffffffffffffc
je 0x14006a4ec
mov rcx, qword [0x140146530]
shl rcx, 4
mov qword [rax + rcx], r15
mov ecx, dword [0x140146538]
mov rdx, qword [0x140146530]
shl rdx, 4
mov dword [rax + rdx + 8], ecx
xor eax, eax
lea rcx, [rsp + 0xb8]
mov qword [rcx], rax
mov qword [rcx + 0x38], rax
call fcn.140061fc0
test rdi, rdi
jne 0x14006a5c9
mov rax, qword [0x14012dfa0]
and rax, rdi
cmp rax, qword [0x14012df88]
je 0x14006a5f8
test byte [0x14012e840], 0x19
jne 0x14006a29e
mov rcx, qword [rsp + 0xf8]
xor rcx, rsp
call fcn.1400985e0
movaps xmm6, xmmword [rsp + 0x100]
movaps xmm7, xmmword [rsp + 0x110]
movaps xmm8, xmmword [rsp + 0x120]
movaps xmm9, xmmword [rsp + 0x130]
movaps xmm10, xmmword [rsp + 0x140]
movaps xmm11, xmmword [rsp + 0x150]
movaps xmm12, xmmword [rsp + 0x160]
movaps xmm13, xmmword [rsp + 0x170]
movaps xmm14, xmmword [rsp + 0x180]
movaps xmm15, xmmword [rsp + 0x190]
add rsp, 0x1a0
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
and rax, 0xfffffffffffffffc
je 0x14006a11b
mov rcx, qword [0x140146530]
shl rcx, 4
mov edx, dword [rax + rcx + 8]
cmp edx, dword [0x140146538]
jne 0x14006a11b
mov r15, qword [rax + rcx]
jmp 0x14006a11e
movaps xmm0, xmmword [0x140114940]
lea rsi, [rsp + 0x40]
movaps xmmword [rsi + 0x10], xmm0
movaps xmmword [rsi], xmm0
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
mov byte [rsp + 0x30], 0
lea r8, [0x14012e840]
lea r9, [0x140114f2f]
mov rcx, rsi
mov dl, 0x45
call fcn.14006a700
mov rax, qword [rsi]
test rax, rax
je 0x14006a605
lea rsi, [rsp + 0x40]
mov cl, byte [rsi + 0x18]
mov rdx, qword [rsi + 8]
lea rdi, [rsp + 0x90]
mov qword [rdi + 8], rax
mov qword [rdi + 0x10], rdx
xor eax, eax
mov qword [rdi + 0x18], rax
mov byte [rdi + 0x20], cl
lea rcx, [rsp + 0xb8]
mov qword [rcx], rax
mov qword [rdi], rax
mov rax, qword [rdi + 8]
mov qword [rcx + 8], rax
mov rax, qword [rdi + 0x10]
mov qword [rcx + 0x10], rax
mov eax, dword [rdi + 0x11]
mov dword [rcx + 0x11], eax
movzx eax, word [rdi + 0x15]
mov word [rcx + 0x15], ax
mov al, byte [rdi + 0x17]
mov byte [rcx + 0x17], al
mov rax, qword [rdi + 0x18]
mov qword [rcx + 0x18], rax
mov al, byte [rdi + 0x20]
mov byte [rcx + 0x20], al
call fcn.14006a710
mov rcx, rdi
call fcn.14006a710
mov rcx, rsi
call fcn.14006a810
jmp 0x14006a1f5
movaps xmm0, xmmword [0x140114940]
lea r15, [rsp + 0x70]
movaps xmmword [r15 + 0x10], xmm0
movaps xmmword [r15], xmm0
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
mov byte [rsp + 0x30], 0
lea r8, [0x14012e840]
lea r9, str.ThreadPool_RunTask
mov rcx, r15
mov dl, 0x42
call fcn.14006a700
mov rax, qword [r15]
test rax, rax
je 0x14006a4ae
mov dl, byte [rsp + 0x88]
mov r8, qword [rsp + 0x78]
xor r9d, r9d
lea rcx, [rsp + 0x40]
mov qword [rcx], r9
mov qword [rcx + 8], rax
mov qword [rcx + 0x10], r8
mov qword [rcx + 0x18], r9
mov byte [rcx + 0x20], dl
mov rdx, rsi
call fcn.14006b6d0
mov eax, dword [0x140146518]
mov ecx, dword [0x14013ba7c]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14006a4ff
add r14, 8
lea r13, [rsp + 0x48]
mov rax, qword [0x140146510]
cmp byte [rax], 0
jne 0x14006a60f
lea r15, [rsp + 0x40]
mov rcx, r14
mov rdx, r15
mov r8, rsi
call fcn.14006ac60
mov rax, qword [r15]
lea r12, [rsp + 0x98]
mov qword [r12 - 8], rax
mov qword [r15], 0
movups xmm0, xmmword [r13]
movups xmm1, xmmword [r13 + 9]
movups xmmword [r12], xmm0
movups xmmword [r12 + 9], xmm1
lea rcx, str.scheduler
call fcn.14006ad40
cmp byte [rax], 0
jne 0x14006a63b
lea rdi, [rsp + 0x90]
mov rax, qword [rdi]
lea rcx, [rsp + 0xb8]
mov qword [rcx], rax
mov qword [rdi], 0
movups xmm0, xmmword [r12]
movups xmm1, xmmword [r12 + 9]
movups xmmword [rcx + 8], xmm0
movups xmmword [rcx + 0x11], xmm1
call fcn.14006a710
mov rcx, rdi
call fcn.14006a710
lea rcx, [rsp + 0x40]
call fcn.14006a710
lea rcx, [rsp + 0x70]
call fcn.14006a810
jmp 0x14006a015
lock dec dword [r14]
jne 0x14006a178
mov rax, qword [r14 + 0x10]
mov rcx, r14
call qword [0x140150008]
jmp 0x14006a178
test rsi, rsi
je 0x14006a158
call fcn.1400051d0
jmp 0x14006a134
test r15, r15
je 0x14006a1b2
call fcn.1400051d0
jmp 0x14006a18e
lea rcx, [0x140146518]
call fcn.140096578
cmp dword [0x140146518], 0xffffffff
jne 0x14006a3fa
lea rcx, str.toplevel.flow
call fcn.14006ad40
mov qword [0x140146510], rax
lea rcx, [0x140146518]
call fcn.1400966f0
jmp 0x14006a3fa
lea rcx, [0x140146540]
call fcn.140096578
cmp dword [0x140146540], 0xffffffff
jne 0x14006a0d0
mov qword [0x140146538], 0
lea rcx, [0x140146530]
mov qword [0x140146530], 0xffffffffffffffff
xor edx, edx
call fcn.140005670
lea rcx, [0x140146540]
call fcn.1400966f0
jmp 0x14006a0d0
call fcn.1400e3d20
mov rdi, rax
jmp 0x14006a03f
mov rcx, rdi
call fcn.140062440
jmp 0x14006a056
lea rax, [rsp + 0xb8]
mov qword [rsp + 0x20], rax
mov rcx, rdi
mov rdx, r14
mov r8, r15
mov r9b, 0x10
call fcn.1400e34c0
mov ebx, eax
jmp 0x14006a064
cmp dword [rdi + 0x18], ebx
jbe 0x14006a5e3
mov rax, qword [rdi + 0x10]
mov ecx, ebx
shl rcx, 7
cmp dword [rax + rcx + 0x68], 0
jne 0x14006a6b1
mov rax, qword [rdi + 8]
lock dec dword [rax + 0x38]
mov rax, qword [rdi + 8]
lock inc dword [rax + 0x3c]
jmp 0x14006a1d1
mov rcx, rdi
call fcn.14006a8b0
jmp 0x14006a1e8
lea rcx, [rsp + 0x40]
jmp 0x14006a357
mov eax, dword [rsi + 0x78]
shl rax, 0x20
mov r8d, r14d
and r8d, 0xfffffff8
or r8, rax
xor r8, qword [0x14013ce70]
mov rcx, qword [rsp + 0x48]
mov edx, 0x30
call fcn.140035060
jmp 0x14006a413
mov r14, qword [rsp + 0x200]
mov rcx, qword [rsp + 0x98]
mov edx, 0x405
call fcn.14007bd80
mov r15, rax
movzx edx, byte [rdi + 9]
inc edx
mov rcx, rax
call fcn.1400f98e0
mov edx, dword [rbx + 0x40]
inc edx
mov rcx, r15
call fcn.1400f9980
movzx edx, byte [rdi + 0xa]
and edx, 0x7f
inc edx
mov rcx, r15
call fcn.1400f9a20
mov rcx, r14
call fcn.14005d490
test al, al
je 0x14006a467
mov rcx, r14
call fcn.1400e9cd0
movsxd r8, eax
mov rcx, r15
mov edx, 3
call fcn.14008f430
jmp 0x14006a467
mov r14, qword [0x14013e6e0]
lea rsi, [r14 + 0xc8]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x14006a6eb
sub r14, 0xffffffffffffff80
mov rcx, rdi
mov edx, ebx
mov r8, r14
call fcn.1400e38a0
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jmp 0x14006a5e3
mov rcx, rsi
call fcn.140062160
jmp 0x14006a6cc