Function at 0x140007b99
Capabilities:
Set thread local storage value

Disassembly:
jmp 0x14009aabc
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 [0x140171238]
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 0x14009ab11
mov rax, qword [rsi + 0x18]
mov rcx, qword [rax + 0x180]
mov qword [rbp + 0x60], rcx
jmp 0x14009ab19
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 0x14009ab47
mov rax, qword [r15 + 0x10]
mov rbx, qword [rax + 0x80]
mov rcx, rbx
call fcn.140004ae3
lea rcx, [r15 + 0x10]
call rbx
xor ebx, ebx
lea edi, [rbx + 1]
mov rcx, qword [rsi + 0x18]
cmp qword [rcx + 0x178], rbx
jne 0x14009ab65
test eax, eax
je 0x14009ab65
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 0x14009ab8a
cmp byte [rax + 0x126], bl
movzx r13d, r13b
cmovne r13d, edi
cmp qword [rbp + 0x60], rbx
jne 0x14009ab9f
mov rax, qword [rcx + 0x80]
mov rax, qword [rax + 0x10]
mov qword [rbp + 0x60], rax
test r15, r15
je 0x14009abab
mov dword [r15 + 0x180], r14d
mov rax, qword [rsi + 0x18]
mov r14, qword [rax + 0xb0]
mov qword [rax + 0xb0], rbx
test r14, r14
jne 0x14009ad5f
mov rax, qword [rsi + 0x18]
cmp qword [rax + 0x178], rbx
je 0x14009ac18
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.1400064f6
mov rax, qword [rsi + 0x18]
mov ecx, dword [rax + 0x168]
test ecx, ecx
je 0x14009ac18
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 0x14009ac56
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.140004ae3
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 0x14009aca9
test r14, r14
jne 0x14009aca9
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 0x14009ac8f
add rcx, 0x10
call fcn.14000166d
jmp 0x14009aca9
add rcx, 0x10
call fcn.140002da6
mov rdx, rax
xor r9d, r9d
xor r8d, r8d
mov rcx, r14
call fcn.140008ada
test r15, r15
je 0x14009ace2
test r14, r14
jne 0x14009acc6
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.1400072ac
mov r15, rbx
jmp 0x14009ace7
mov edi, 1
test r14, r14
jne 0x14009ad52
add r12d, edi
cmp r12d, edi
jne 0x14009ad17
test r13b, r13b
jne 0x14009ad06
mov rcx, qword [rsi + 0x18]
mov byte [rbp + 0x48], dil
call fcn.140003620
mov rcx, qword [rsi + 0x18]
mov rdx, rsi
call fcn.1400056cd
jmp 0x14009abc6
jle 0x14009abc6
test r13b, r13b
jne 0x14009ad3f
mov rcx, qword [rsi + 0x18]
mov rdx, rsi
call fcn.1400043ea
test al, al
jne 0x14009ad3a
mov rcx, rsi
call fcn.140005a74
mov byte [rbp + 0x48], bl
jmp 0x14009ad4a
mov ecx, 0x64
call qword [sym.imp.KERNEL32.dll_Sleep]
mov r12d, ebx
jmp 0x14009abc6
cmp byte [rbp + 0x48], bl
je 0x14009ad5f
mov rcx, rsi
call fcn.140005a74
mov rdi, qword [rsi + 0x18]
mov rax, qword [rdi]
mov rbx, qword [rax + 0x20]
mov rcx, rbx
call fcn.140004ae3
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.140004ae3
mov r8d, 1
mov rdx, r14
mov rcx, rdi
call rbx
jmp 0x14009aae6