Function at 0x14000b5d0
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, 0xb0
mov rax, qword [0x1400d0580]
xor rax, rsp
mov qword [rsp + 0xa0], rax
mov r12d, r9d
mov r13, r8
mov r15, rdx
mov rdi, rcx
mov rbp, qword [rsp + 0x110]
mov rax, qword [rsp + 0x118]
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x48], rbp
mov ecx, dword [0x1400d9750]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x14000b636
mov rdx, qword [rax + 8]
jmp 0x14000b638
xor edx, edx
mov r9d, 8
mov r8d, 0xa8
movzx ecx, byte [rsp + 0x40]
call fcn.14000b3a0
mov rbx, rax
mov rax, qword [r15 + 0x18]
xor r8d, r8d
mov r14d, r8d
mov ecx, r8d
test rax, rax
je 0x14000b66e
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, [0x140023ff0]
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 0x14000b6b2
mov qword [rbx + 0x40], rcx
mov qword [rbx + 0x48], r14
lock inc dword [r14 + 0xc]
movups xmm0, xmmword [r13]
movups xmmword [rbx + 0x50], xmm0
mov qword [rbx + 0x60], r8
mov qword [rbx + 0x68], r8
mov rax, qword [rbp]
mov qword [rbx + 0x60], rax
mov rax, qword [rbp + 8]
mov qword [rbx + 0x68], rax
mov qword [rbp], r8
mov qword [rbp + 8], r8
lea rcx, [rbx + 0x70]
mov r9, qword [rsp + 0x70]
xor edx, edx
call fcn.140012380
test r14, r14
je 0x14000b709
mov eax, 0xffffffff
lock xadd dword [r14 + 0xc], eax
cmp eax, 1
jne 0x14000b709
mov rax, qword [r14]
mov rcx, r14
call qword [rax + reloc.WS2_32.dll_htonl]
movups xmm0, xmmword [r13]
movups xmmword [rsp + 0x60], xmm0
movq qword [rsp + 0x90], xmm0
movq xmm0, qword [r13 + 8]
movd dword [rsp + 0x88], xmm0
mov rax, qword [r13 + 8]
mov qword [rsp + 0x98], rax
test byte [r15 + 8], 0x10
je 0x14000b762
test rax, rax
jne 0x14000b762
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.14002cc60
jmp 0x14000b819
mov rax, qword [rdi + 8]
lock inc dword [rax + 0x30]
mov rcx, qword [r15]
cmp rcx, 0xffffffffffffffff
jne 0x14000b78d
xor r9d, r9d
mov r8d, 0x2719
mov rdx, rbx
mov rcx, qword [rdi + 8]
call fcn.14002cc60
jmp 0x14000b819
mov dword [rsp + 0x78], 0
mov dword [rsp + 0x70], r12d
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], rbx
lea rax, [rsp + 0x70]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x78]
mov r8d, 1
lea rdx, [rsp + 0x88]
call qword [sym.imp.WS2_32.dll_WSARecv]
mov esi, eax
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x40
jne 0x14000b7df
mov eax, 0x2746
jmp 0x14000b7ec
mov ecx, 0x274d
cmp eax, 0x4d2
cmove eax, ecx
test esi, esi
je 0x14000b80d
cmp eax, 0x3e5
je 0x14000b80d
mov r9d, dword [rsp + 0x78]
mov r8d, eax
mov rdx, rbx
mov rcx, qword [rdi + 8]
call fcn.14002cc60
jmp 0x14000b819
mov rdx, rbx
mov rcx, qword [rdi + 8]
call fcn.14002cf40
mov qword [rsp + 0x58], 0
mov qword [rsp + 0x50], 0
lea rcx, [rsp + 0x48]
call fcn.140030b40
nop
mov rcx, qword [rsp + 0xa0]
xor rcx, rsp
call fcn.1400897d0
mov rbx, qword [rsp + 0x100]
add rsp, 0xb0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret