Function at 0x14003d7d0
Capabilities:
Get thread local storage value
Receive data
Receive data on socket

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xa0
mov rax, qword [0x1400da5c0]
xor rax, rsp
mov qword [rsp + 0x98], rax
mov r13d, r9d
mov rbp, r8
mov r15, rdx
mov rdi, rcx
mov r12, qword [rsp + 0x100]
mov rax, qword [rsp + 0x108]
mov qword [rsp + 0x58], rax
mov ecx, dword [0x1400de65c]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x14003d831
mov rdx, qword [rax + 8]
jmp 0x14003d833
xor edx, edx
mov r9d, 8
mov r8d, 0xa8
movzx ecx, byte [rsp + 0x40]
call fcn.14003d370
mov rbx, rax
mov rax, qword [r15 + 0x18]
xor r8d, r8d
mov r14d, r8d
mov ecx, r8d
test rax, rax
je 0x14003d869
mov rcx, qword [r15 + 0x10]
mov r14, rax
lock inc dword [rax + 0xc]
movzx eax, byte [r15 + 8]
mov qword [rbx + 0x20], r8
lea rdx, [0x1400689a0]
mov qword [rbx + 0x28], rdx
mov qword [rbx], r8
mov qword [rbx + 8], r8
mov qword [rbx + 0x10], r8
mov qword [rbx + 0x18], r8
mov dword [rbx + 0x30], r8d
mov byte [rbx + 0x38], al
mov qword [rbx + 0x40], r8
mov qword [rbx + 0x48], r8
test r14, r14
je 0x14003d8ad
mov qword [rbx + 0x40], rcx
mov qword [rbx + 0x48], r14
lock inc dword [r14 + 0xc]
movups xmm0, xmmword [rbp]
movups xmmword [rbx + 0x50], xmm0
mov qword [rbx + 0x60], r8
mov qword [rbx + 0x68], r8
mov rax, qword [r12]
mov qword [rbx + 0x60], rax
mov rax, qword [r12 + 8]
mov qword [rbx + 0x68], rax
mov qword [r12], r8
mov qword [r12 + 8], r8
lea rcx, [rbx + 0x70]
mov r9, qword [rsp + 0x58]
xor edx, edx
call fcn.140044ec0
test r14, r14
je 0x14003d905
mov eax, 0xffffffff
lock xadd dword [r14 + 0xc], eax
cmp eax, 1
jne 0x14003d905
mov rax, qword [r14]
mov rcx, r14
call qword [rax + reloc.WS2_32.dll_htonl]
movups xmm0, xmmword [rbp]
movups xmmword [rsp + 0x58], xmm0
movq qword [rsp + 0x70], xmm0
movq xmm0, qword [rbp + 8]
movd dword [rsp + 0x68], xmm0
mov rax, qword [rbp + 8]
mov qword [rsp + 0x78], rax
test byte [r15 + 8], 0x10
je 0x14003d953
test rax, rax
jne 0x14003d953
mov rax, qword [rdi + 8]
lock inc dword [rax + 0x30]
xor r9d, r9d
xor r8d, r8d
mov rdx, rbx
mov rcx, qword [rdi + 8]
call fcn.140075ec0
jmp 0x14003da08
mov rax, qword [rdi + 8]
lock inc dword [rax + 0x30]
mov rcx, qword [r15]
cmp rcx, 0xffffffffffffffff
jne 0x14003d97e
xor r9d, r9d
mov r8d, 0x2719
mov rdx, rbx
mov rcx, qword [rdi + 8]
call fcn.140075ec0
jmp 0x14003da08
mov dword [rsp + 0x48], 0
mov dword [rsp + 0x58], r13d
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], rbx
lea rax, [rsp + 0x58]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x48]
mov r8d, 1
lea rdx, [rsp + 0x68]
call qword [sym.imp.WS2_32.dll_WSARecv]
mov esi, eax
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x40
jne 0x14003d9cd
mov eax, 0x2746
jmp 0x14003d9da
mov ecx, 0x274d
cmp eax, 0x4d2
cmove eax, ecx
test esi, esi
je 0x14003d9fb
cmp eax, 0x3e5
je 0x14003d9fb
mov r9d, dword [rsp + 0x48]
mov r8d, eax
mov rdx, rbx
mov rcx, qword [rdi + 8]
call fcn.140075ec0
jmp 0x14003da08
mov rdx, rbx
mov rcx, qword [rdi + 8]
call fcn.1400761a0
nop
mov rcx, qword [rsp + 0x98]
xor rcx, rsp
call fcn.140088830
mov rbx, qword [rsp + 0xf0]
add rsp, 0xa0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret