Function at 0x140007d5b
Capabilities:
Set thread local storage value

Disassembly:
jmp 0x14009cd64
mov qword [rsp + 0x10], rdx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x78
mov rsi, rcx
mov rdx, rcx
mov ecx, dword [0x1401569a8]
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
mov rax, qword [rsi + 0x18]
xor ebx, ebx
mov edi, 1
mov r12d, ebx
mov r15, qword [rax + 0xb8]
test r15, r15
jne 0x14009cdb9
mov rax, qword [rsi + 0x18]
mov rcx, qword [rax + 0x180]
mov qword [rbp + 0x60], rcx
jmp 0x14009cdc1
mov rax, qword [r15 + 0x40]
mov qword [rbp + 0x60], rax
mov byte [rbp + 0x48], bl
mov r13b, bl
mov r14d, edi
mov eax, ebx
test r15, r15
je 0x14009cdef
mov rax, qword [r15 + 0x10]
mov rbx, qword [rax + 0x80]
mov rcx, rbx
call fcn.140004b51
lea rcx, [r15 + 0x10]
call rbx
xor ebx, ebx
lea edi, [rbx + 1]
mov rcx, qword [rsi + 0x18]
cmp qword [rcx + 0x178], rbx
jne 0x14009ce0d
test eax, eax
je 0x14009ce0d
mov qword [rcx + 0x178], r15
mov r14d, 2
mov rcx, qword [rsi + 0x18]
mov rax, qword [rcx + 0x178]
test rax, rax
setne byte [rbp + 0x58]
test rax, rax
je 0x14009ce32
cmp byte [rax + 0x126], bl
movzx r13d, r13b
cmovne r13d, edi
cmp qword [rbp + 0x60], rbx
jne 0x14009ce47
mov rax, qword [rcx + 0x80]
mov rax, qword [rax + 0x10]
mov qword [rbp + 0x60], rax
test r15, r15
je 0x14009ce53
mov dword [r15 + 0x180], r14d
mov rax, qword [rsi + 0x18]
mov r14, qword [rax + 0xb0]
mov qword [rax + 0xb0], rbx
test r14, r14
jne 0x14009d007
mov rax, qword [rsi + 0x18]
cmp qword [rax + 0x178], rbx
je 0x14009cec0
mov rcx, qword [rsi + 0x10]
lea rdx, [rbp - 0x40]
xor eax, eax
xorps xmm0, xmm0
mov qword [rbp - 0x40], rax
movdqu xmmword [rbp - 0x38], xmm0
call fcn.14000663b
mov rax, qword [rsi + 0x18]
mov ecx, dword [rax + 0x168]
test ecx, ecx
je 0x14009cec0
mov rax, qword [rsi + 0x18]
mov r14, qword [rax + 0x178]
mov dword [rax + 0x168], ebx
mov rax, qword [rsi + 0x18]
mov qword [rax + 0x178], rbx
test r14, r14
jne 0x14009cefe
mov dword [rbp - 0x28], ebx
mov qword [rbp - 0x18], rbx
mov rbx, qword [rsi + 0x18]
mov rdi, qword [rbx + 0x68]
mov rcx, rdi
call fcn.140004b51
mov r8, qword [rbp + 0x60]
lea rdx, [rbp - 0x28]
xor r9d, r9d
mov dword [rsp + 0x20], 1
lea rcx, [rbx + 0x40]
call rdi
xor ebx, ebx
test al, al
cmovne r14, qword [rbp - 0x18]
cmp byte [rbp + 0x58], bl
jne 0x14009cf51
test r14, r14
jne 0x14009cf51
mov rcx, qword [rsi + 0x10]
add rcx, 0x330
call qword [sym.imp.KERNEL32.dll_InterlockedPopEntrySList]
lea rcx, [rax - 0x20]
neg rax
sbb r14, r14
and r14, rcx
mov rcx, qword [rsi + 0x10]
jne 0x14009cf37
add rcx, 0x10
call fcn.140001690
jmp 0x14009cf51
add rcx, 0x10
call fcn.140002e1e
mov rdx, rax
xor r9d, r9d
xor r8d, r8d
mov rcx, r14
call fcn.140008d1e
test r15, r15
je 0x14009cf8a
test r14, r14
jne 0x14009cf6e
mov rax, qword [rsi + 0x18]
mov rdx, qword [rax + 0x80]
mov rax, qword [rdx + 0x10]
mov qword [rbp + 0x60], rax
mov rax, qword [rbp + 0x50]
mov edi, 1
mov rcx, r15
mov dl, byte [rax + 4]
and dl, dil
call fcn.14000748c
mov r15, rbx
jmp 0x14009cf8f
mov edi, 1
test r14, r14
jne 0x14009cffa
add r12d, edi
cmp r12d, edi
jne 0x14009cfbf
test r13b, r13b
jne 0x14009cfae
mov rcx, qword [rsi + 0x18]
mov byte [rbp + 0x48], dil
call fcn.14000367a
mov rcx, qword [rsi + 0x18]
mov rdx, rsi
call fcn.14000579f
jmp 0x14009ce6e
jle 0x14009ce6e
test r13b, r13b
jne 0x14009cfe7
mov rcx, qword [rsi + 0x18]
mov rdx, rsi
call fcn.140004458
test al, al
jne 0x14009cfe2
mov rcx, rsi
call fcn.140005b5f
mov byte [rbp + 0x48], bl
jmp 0x14009cff2
mov ecx, 0x64
call qword [sym.imp.KERNEL32.dll_Sleep]
mov r12d, ebx
jmp 0x14009ce6e
cmp byte [rbp + 0x48], bl
je 0x14009d007
mov rcx, rsi
call fcn.140005b5f
mov rdi, qword [rsi + 0x18]
mov rax, qword [rdi]
mov rbx, qword [rax + 0x20]
mov rcx, rbx
call fcn.140004b51
mov rdx, r14
mov rcx, rdi
call rbx
mov rdi, qword [rsi + 0x20]
mov rax, qword [rdi]
mov rbx, qword [rax + 8]
mov rcx, rbx
call fcn.140004b51
mov r8d, 1
mov rdx, r14
mov rcx, rdi
call rbx
jmp 0x14009cd8e