Function at 0x14002ead0
Capabilities:
Set thread local storage value

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r14
push r15
lea rbp, [rsp - 0xb0]
sub rsp, 0x1c0
mov r14, rcx
mov edi, 0xffffffff
mov dword [rbp + 0xe8], edi
xor r15d, r15d
mov qword [rbp - 0x80], r15
lea rcx, [0x14011eaa0]
call fcn.1400e81d8
mov qword [rbp - 0x80], rax
xor ecx, ecx
call fcn.1400e825c
nop
mov qword [rbp - 0x48], r15
lea rcx, [0x14011eaa0]
call fcn.1400e81d8
mov qword [rbp - 0x48], rax
xor ecx, ecx
call fcn.1400e825c
nop
mov qword [rbp - 0x50], r15
lea rcx, [0x14011eaa0]
call fcn.1400e81d8
mov qword [rbp - 0x50], rax
xor ecx, ecx
call fcn.1400e825c
nop
mov qword [rbp - 0x58], r15
lea rcx, [0x14011eaa0]
call fcn.1400e81d8
mov qword [rbp - 0x58], rax
xor ecx, ecx
call fcn.1400e825c
nop
mov qword [rbp - 0x60], r15
lea rcx, [0x14011eaa0]
call fcn.1400e81d8
mov qword [rbp - 0x60], rax
xor ecx, ecx
call fcn.1400e825c
nop
mov qword [rbp - 0x68], r15
lea rcx, [0x14011eaa0]
call fcn.1400e81d8
mov qword [rbp - 0x68], rax
xor ecx, ecx
call fcn.1400e825c
nop
mov qword [rbp - 0x70], r15
mov rax, qword [str.Task_Scheduler]
lea rcx, [0x14011eaa0]
test rax, rax
cmovne rcx, rax
call fcn.1400e81d8
mov qword [rbp - 0x70], rax
xor ecx, ecx
call fcn.1400e825c
nop
mov qword [rbp + 0xf0], r15
mov rax, qword [str.Task_Scheduler]
lea rcx, [0x14011eaa0]
test rax, rax
cmovne rcx, rax
call fcn.1400e81d8
mov qword [rbp + 0xf0], rax
xor ecx, ecx
call fcn.1400e825c
nop
mov dword [rsp + 0x80], edi
mov qword [rsp + 0x78], r15
mov qword [rsp + 0x70], r15
lea rax, [rbp - 0x80]
mov qword [rsp + 0x68], rax
mov dword [rsp + 0x60], 1
mov qword [rsp + 0x58], r15
lea rax, [rbp - 0x48]
mov qword [rsp + 0x50], rax
lea rax, [rbp - 0x50]
mov qword [rsp + 0x48], rax
lea rax, [rbp - 0x58]
mov qword [rsp + 0x40], rax
lea rax, [rbp - 0x60]
mov qword [rsp + 0x38], rax
lea rax, [rbp - 0x68]
mov qword [rsp + 0x30], rax
lea rax, [rbp - 0x70]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0xf0]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8d, dword [rbp + 0xe8]
lea edx, [rdi + 3]
mov rcx, r14
call fcn.140005d90
mov dword [rbp + 0xe8], eax
mov rcx, qword [rbp + 0xf0]
call fcn.1400e825c
nop
mov rcx, qword [rbp - 0x70]
call fcn.1400e825c
nop
mov rcx, qword [rbp - 0x68]
call fcn.1400e825c
nop
mov rcx, qword [rbp - 0x60]
call fcn.1400e825c
nop
mov rcx, qword [rbp - 0x58]
call fcn.1400e825c
nop
mov rcx, qword [rbp - 0x50]
call fcn.1400e825c
nop
mov rcx, qword [rbp - 0x48]
call fcn.1400e825c
nop
mov rcx, qword [rbp - 0x80]
call fcn.1400e825c
xor edx, edx
xor ecx, ecx
call qword [sym.imp.ole32.dll_CoInitializeEx]
mov qword [rbp + 0xf8], r15
lea rax, [rbp + 0xf8]
mov qword [rsp + 0x20], rax
lea r9, [0x14013c790]
xor edx, edx
lea r8d, [rdi + 2]
lea rcx, [0x14013c7b0]
call qword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x14002efa2
mov rax, qword [rbp + 0xf8]
mov rcx, qword [rax]
mov rbx, qword [rcx + 0x50]
lea rcx, [rbp + 0x78]
call qword [sym.imp.OLEAUT32.dll_VariantClear]
nop
movups xmm0, xmmword [rbp + 0x78]
movups xmmword [rbp - 0x30], xmm0
movsd xmm0, qword [rbp + 0x88]
movsd qword [rbp - 0x78], xmm0
lea rcx, [rbp + 0x60]
call qword [sym.imp.OLEAUT32.dll_VariantClear]
nop
movups xmm0, xmmword [rbp + 0x60]
movups xmmword [rbp - 0x10], xmm0
movsd xmm0, qword [rbp + 0x70]
movsd qword [rbp - 0x38], xmm0
lea rcx, [rbp + 0x48]
call qword [sym.imp.OLEAUT32.dll_VariantClear]
nop
movups xmm0, xmmword [rbp + 0x48]
movups xmmword [rbp + 0x10], xmm0
movsd xmm0, qword [rbp + 0x58]
movsd qword [rbp - 0x40], xmm0
lea rcx, [rbp + 0x30]
call qword [sym.imp.OLEAUT32.dll_VariantClear]
nop
movups xmm0, xmmword [rbp - 0x30]
movaps xmmword [rbp - 0x30], xmm0
movsd xmm0, qword [rbp - 0x78]
movsd qword [rbp - 0x20], xmm0
movups xmm0, xmmword [rbp - 0x10]
movaps xmmword [rbp - 0x10], xmm0
movsd xmm0, qword [rbp - 0x38]
movsd qword [rbp], xmm0
movups xmm0, xmmword [rbp + 0x10]
movaps xmmword [rbp + 0x10], xmm0
movsd xmm0, qword [rbp - 0x40]
movsd qword [rbp + 0x20], xmm0
movups xmm0, xmmword [rbp + 0x30]
movaps xmmword [rbp + 0x90], xmm0
movsd xmm1, qword [rbp + 0x40]
movsd qword [rbp + 0xa0], xmm1
lea rax, [rbp - 0x30]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x10]
lea r8, [rbp + 0x10]
lea rdx, [rbp + 0x90]
mov rcx, qword [rbp + 0xf8]
call rbx
mov ebx, eax
lea rcx, [rbp + 0x30]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
nop
lea rcx, [rbp + 0x48]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
nop
lea rcx, [rbp + 0x60]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
nop
lea rcx, [rbp + 0x78]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
test ebx, ebx
js 0x14002ef95
mov rax, qword [0x140178828]
test rax, rax
je 0x14002ee4b
xor ecx, ecx
call rax
mov edx, 0x100
mov ecx, dword [0x140178818]
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
mov qword [rbp - 0x78], r15
mov rax, qword [rbp + 0xf8]
mov rcx, qword [rax]
mov rsi, qword [rcx + 0x38]
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetElement
call fcn.1400e1108
mov rbx, rax
mov qword [rbp - 0x40], rax
test rax, rax
je 0x14002ee99
mov qword [rax + 8], r15
mov dword [rax + 0x10], 1
lea rcx, [0x14011eb8c]
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov qword [rbx], rax
test rax, rax
je 0x14002efca
jmp 0x14002ee9c
mov rbx, r15
mov qword [rbp - 0x40], rbx
test rbx, rbx
je 0x14002efe0
lea r8, [rbp - 0x78]
mov rdx, qword [rbx]
mov rcx, qword [rbp + 0xf8]
call rsi
mov esi, eax
lock xadd dword [rbx + 0x10], edi
cmp edi, 1
jne 0x14002eef5
mov rcx, qword [rbx]
test rcx, rcx
je 0x14002eed6
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r15
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x14002eee8
call fcn.1400e0fb8
mov qword [rbx + 8], r15
mov edx, reloc.OLEAUT32.dll_SafeArrayGetElement
mov rcx, rbx
call fcn.1400e0fb8
test esi, esi
js 0x14002ef71
mov rdi, qword [rbp - 0x78]
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetElement
call fcn.1400e1108
mov rbx, rax
mov qword [rbp + 0xf0], rax
test rax, rax
je 0x14002ef3c
mov qword [rax + 8], r15
mov dword [rax + 0x10], 1
lea rcx, [0x14011eaa0]
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov qword [rbx], rax
test rax, rax
je 0x14002efd5
jmp 0x14002ef3f
mov rbx, r15
mov qword [rbp - 0x80], rbx
test rbx, rbx
je 0x14002efbf
mov qword [rsp + 0x20], rdi
lea r9, [rbp - 0x80]
mov r8, qword [str.Task_Scheduler]
lea rdx, [rbp + 0xe8]
mov rcx, r14
call fcn.14002b9c0
mov rcx, qword [rbp - 0x78]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov rax, qword [0x140178828]
test rax, rax
je 0x14002ef95
mov ecx, 1
call rax
mov edx, 0x200
mov ecx, dword [0x140178818]
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
mov rcx, qword [rbp + 0xf8]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
call qword [sym.imp.ole32.dll_CoUninitialize]
mov rbx, qword [rsp + 0x1f0]
add rsp, 0x1c0
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
mov ecx, 0x8007000e
call fcn.1400e0b70
nop
mov ecx, 0x8007000e
call fcn.1400e0b70
nop
mov ecx, 0x8007000e
call fcn.1400e0b70
nop
mov ecx, 0x8007000e
call fcn.1400e0b70
int3