Function at 0x1400dfa00
Capabilities:
Set thread local storage value

Disassembly:
test rcx, rcx
je 0x1400dfca1
mov rax, rsp
push rbx
sub rsp, 0x60
mov qword [rax + 8], rbp
mov rbx, rcx
mov qword [rax + 0x10], rsi
lea rcx, str.master
mov qword [rax + 0x18], rdi
mov qword [rax - 0x10], r14
mov qword [rax - 0x18], r15
call fcn.1400e4640
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
mov ebp, 1
mov rcx, rax
mov edx, ebp
call qword [sym.imp.KERNEL32.dll_SetThreadPriority]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateEventA]
mov ecx, dword [0x14031fd50]
lea rdx, [rsp + 0x20]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x20], ebp
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
mov rax, qword [rbx + 0x7d68]
xor r14d, r14d
test rax, rax
je 0x1400dfa91
xor edx, edx
mov rcx, rbx
call rax
mov qword [rsp + 0x28], rax
jmp 0x1400dfa96
mov qword [rsp + 0x28], r14
xor ecx, ecx
call fcn.140187930
mov rsi, qword [rbx + 0x10]
mov qword [rbx + 0x7cc0], rax
mov eax, dword [rbx + 0x28]
test eax, eax
jne 0x1400dfb43
mov edx, dword [rbx + 0x18]
mov r8d, r14d
test edx, edx
je 0x1400dfae9
nop dword [rax]
mov rax, qword [rbx + 8]
mov ecx, r8d
mov edx, r8d
inc r8d
add rdx, rdx
lea rcx, [rcx + rcx*8]
mov rcx, qword [rax + rcx*8]
mov qword [rsi + rdx*8], rcx
mov word [rsi + rdx*8 + 8], bp
mov edx, dword [rbx + 0x18]
cmp r8d, edx
jb 0x1400dfac0
lea r9, [rbx + 0x28]
mov r8d, 0x7d0
mov rcx, rsi
call fcn.1400e26e0
test eax, eax
jle 0x1400dfb38
mov edi, r14d
cmp dword [rbx + 0x18], r14d
jbe 0x1400dfb38
mov eax, dword [rbx + 0x28]
test eax, eax
jne 0x1400dfb31
mov eax, edi
add rax, rax
mov ecx, edi
test byte [rsi + rax*8 + 0xa], bpl
je 0x1400dfb31
mov rax, qword [rbx + 8]
lea rcx, [rcx + rcx*8]
mov rdx, rbx
lea rcx, [rax + rcx*8]
call fcn.1400d6a30
inc edi
cmp edi, dword [rbx + 0x18]
jb 0x1400dfb08
mov eax, dword [rbx + 0x28]
test eax, eax
je 0x1400dfab3
mov esi, r14d
mov r15, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x70]
cmp dword [rbx + 0x18], r14d
jbe 0x1400dfb8f
nop word [rax + rax]
mov eax, esi
lea rcx, [rax + rax*8]
lea rdi, [rcx*8]
mov rcx, qword [rbx + 8]
mov rcx, qword [rcx + rdi]
call qword [sym.imp.WS2_32.dll_closesocket]
mov rax, qword [rbx + 8]
inc esi
mov qword [rdi + rax], 0xffffffffffffffff
cmp esi, dword [rbx + 0x18]
jb 0x1400dfb60
mov rcx, qword [rbx + 8]
call fcn.140180564
mov rcx, qword [rbx + 0x10]
mov qword [rbx + 8], r14
call fcn.140180564
lea rcx, [rbx + 0x30]
mov qword [rbx + 0x10], r14
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea rdi, [rbx + 0x88]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp qword [rdi + 0x28], r14
je 0x1400dfc03
nop dword [rax]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rax, qword [rdi + 0x28]
test rax, rax
je 0x1400dfbf4
mov rcx, qword [rax + 0x10]
mov rax, qword [rax + 0x18]
mov qword [rdi + 0x28], rax
call qword [sym.imp.KERNEL32.dll_SetEvent]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp qword [rdi + 0x28], r14
jne 0x1400dfbd0
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea rcx, [rbx + 0x30]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [rbx + 0x60]
test eax, eax
je 0x1400dfc52
mov esi, eax
nop
mov rax, qword [rbx + 0x68]
mov rdi, qword [r14 + rax]
test rdi, rdi
je 0x1400dfc48
mov edx, 0xffffffff
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x1400dfc48
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
add r14, 8
sub rsi, 1
jne 0x1400dfc20
mov rax, qword [rbx + 0x7d70]
mov r14, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x80]
mov rsi, qword [rsp + 0x78]
test rax, rax
je 0x1400dfc7c
mov r8, qword [rsp + 0x28]
xor edx, edx
mov rcx, rbx
call rax
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [0x14031fd50]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
mov dword [rbx + 0x28], 2
add rsp, 0x60
pop rbx
ret