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

Disassembly:
push r14
push rsi
push rdi
push rbx
mov eax, 0x1028
call fcn.14010cb70
sub rsp, rax
mov ecx, dword [0x140130018]
test ecx, ecx
je 0x14000f80c
dec ecx
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 2
jb 0x14000f825
mov rdi, rax
cmp qword [rax + 8], 0
je 0x14000f825
add rdi, 0x10
jmp 0x14000fa71
lea rcx, section..data
call fcn.14007f590
mov ecx, eax
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 2
jae 0x14000f7f9
mov ecx, dword [0x140130018]
test ecx, ecx
je 0x14000fa52
dec ecx
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 1
je 0x14000fa6f
mov rsi, rax
test rax, rax
jne 0x14000f8ba
movzx eax, byte [0x1401d21e9]
mov rcx, qword [0x1401d2138]
test rcx, rcx
jne 0x14000f877
call sub.KERNEL32.dll_GetProcessHeap
test rax, rax
je 0x14000fabf
mov rcx, rax
mov qword [0x1401d2138], rax
mov r8d, 0x18
xor edx, edx
call sub.KERNEL32.dll_HeapAlloc
test rax, rax
je 0x14000fabf
mov rsi, rax
lea rax, section..data
mov qword [rsi], rax
mov qword [rsi + 8], 0
mov ecx, dword [0x140130018]
test ecx, ecx
je 0x14000fa9b
dec ecx
mov rdx, rsi
call sub.KERNEL32.dll_TlsSetValue
mov rax, qword [0x1401d2030]
cmp rax, 3
jne 0x14000fa81
mov rdi, qword [0x1401d2038]
lock inc qword [rdi]
jle 0x14000fa97
mov eax, 0x60
movups xmm0, xmmword [0x14013d348]
movups xmm1, xmmword [0x14013d338]
nop
movups xmmword [rsp + rax - 0x30], xmm0
movups xmmword [rsp + rax - 0x40], xmm1
movups xmmword [rsp + rax - 0x20], xmm1
movups xmmword [rsp + rax - 0x10], xmm0
movups xmmword [rsp + rax], xmm1
movups xmmword [rsp + rax + 0x10], xmm0
movups xmmword [rsp + rax + 0x20], xmm1
movups xmmword [rsp + rax + 0x30], xmm0
sub rax, 0xffffffffffffff80
cmp rax, 0x860
jne 0x14000f8f0
lea rcx, [rsp + 0x820]
lea rdx, [rsp + 0x20]
mov r8d, 0x800
call sub.msvcrt.dll_memcpy
movzx eax, byte [0x1401d21e9]
mov rcx, qword [0x1401d2138]
test rcx, rcx
jne 0x14000f966
call sub.KERNEL32.dll_GetProcessHeap
test rax, rax
je 0x14000faae
mov rcx, rax
mov qword [0x1401d2138], rax
mov r8d, 0x980
xor edx, edx
call sub.KERNEL32.dll_HeapAlloc
test rax, rax
je 0x14000faae
mov r14, rax
and r14, 0xffffffffffffff80
lea rbx, [r14 + 0x80]
mov qword [r14 + 0x78], rax
mov qword [r14 + 0x80], 0
mov qword [r14 + 0x88], rdi
lea rcx, [r14 + 0x90]
lea rdx, [rsp + 0x820]
mov r8d, 0x800
call sub.msvcrt.dll_memcpy
xorps xmm0, xmm0
movaps xmmword [r14 + 0x890], xmm0
mov qword [r14 + 0x8a0], 1
mov qword [r14 + 0x8a8], 0
mov qword [r14 + 0x900], 0
mov rax, qword [rdi + 0x200]
mov qword [r14 + 0x80], rax
lock cmpxchg qword [rdi + 0x200], rbx
je 0x14000fa0e
nop
mov qword [rbx], rax
lock cmpxchg qword [rdi + 0x200], rbx
jne 0x14000fa00
lea rdi, [rsi + 0x10]
mov rcx, qword [rsi + 0x10]
cmp qword [rsi + 8], 0
mov qword [rsi + 8], 1
mov qword [rsi + 0x10], rbx
je 0x14000fa71
mov rax, qword [rcx + 0x820]
lea rdx, [rax - 1]
mov qword [rcx + 0x820], rdx
cmp qword [rcx + 0x818], 0
jne 0x14000fa71
cmp rax, 1
jne 0x14000fa71
call fcn.14000f040
jmp 0x14000fa71
lea rcx, section..data
call fcn.14007f590
mov ecx, eax
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 1
jne 0x14000f844
xor edi, edi
mov rax, rdi
add rsp, 0x1028
pop rbx
pop rdi
pop rsi
pop r14
ret
call fcn.14000f4e0
mov rdi, qword [0x1401d2038]
lock inc qword [rdi]
jg 0x14000f8dc
ud2
lea rcx, section..data
call fcn.14007f590
mov ecx, eax
jmp 0x14000f8b2
mov ecx, pe_nt_image_headers64
mov edx, 0x900
call fcn.1400034d0
ud2
mov ecx, 8
mov edx, 0x18
call fcn.1400034d0
ud2