Function at 0x140007b99
Capabilities:
Set thread local storage value

Disassembly:
jmp 0x14009b06c
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 [0x140172288]
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 0x14009b0c1
mov rax, qword [rsi + 0x18]
mov rcx, qword [rax + 0x180]
mov qword [rbp + 0x60], rcx
jmp 0x14009b0c9
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 0x14009b0f7
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 0x14009b115
test eax, eax
je 0x14009b115
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 0x14009b13a
cmp byte [rax + 0x126], bl
movzx r13d, r13b
cmovne r13d, edi
cmp qword [rbp + 0x60], rbx
jne 0x14009b14f
mov rax, qword [rcx + 0x80]
mov rax, qword [rax + 0x10]
mov qword [rbp + 0x60], rax
test r15, r15
je 0x14009b15b
mov dword [r15 + 0x180], r14d
mov rax, qword [rsi + 0x18]
mov r14, qword [rax + 0xb0]
mov qword [rax + 0xb0], rbx
test r14, r14
jne 0x14009b30f
mov rax, qword [rsi + 0x18]
cmp qword [rax + 0x178], rbx
je 0x14009b1c8
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 0x14009b1c8
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 0x14009b206
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 0x14009b259
test r14, r14
jne 0x14009b259
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 0x14009b23f
add rcx, 0x10
call fcn.14000166d
jmp 0x14009b259
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 0x14009b292
test r14, r14
jne 0x14009b276
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 0x14009b297
mov edi, 1
test r14, r14
jne 0x14009b302
add r12d, edi
cmp r12d, edi
jne 0x14009b2c7
test r13b, r13b
jne 0x14009b2b6
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 0x14009b176
jle 0x14009b176
test r13b, r13b
jne 0x14009b2ef
mov rcx, qword [rsi + 0x18]
mov rdx, rsi
call fcn.1400043ea
test al, al
jne 0x14009b2ea
mov rcx, rsi
call fcn.140005a74
mov byte [rbp + 0x48], bl
jmp 0x14009b2fa
mov ecx, 0x64
call qword [sym.imp.KERNEL32.dll_Sleep]
mov r12d, ebx
jmp 0x14009b176
cmp byte [rbp + 0x48], bl
je 0x14009b30f
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 0x14009b096