Function at 0x14002fda0
Capabilities:
Create thread
Receive data
Receive data on socket
Send data
Send data on socket

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x70
mov rax, qword [0x1400db748]
xor rax, rsp
mov qword [rbp - 0x10], rax
movsxd r12, ecx
imul r13, r12, 0x788
add r13, qword [0x1401052d0]
cmp edx, 2
ja 0x140030013
lfence
movsxd rax, edx
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rax + r12*2]
mov rax, qword [0x1401052c8]
mov rsi, qword [rax + rcx*8 + 0x28]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateEventA]
mov r15d, 0x3b
mov ecx, r15d
sub ecx, dword [rsi + 8]
movsxd rdx, ecx
shl rdx, 5
mov qword [rdx + r13 + 0x150], rax
mov eax, r15d
sub eax, dword [rsi + 8]
movsxd rcx, eax
shl rcx, 5
cmp qword [rcx + r13 + 0x150], 0
jne 0x14002fe4d
call fcn.140013250
lea ebx, [r15 - 0x3a]
lea rdi, str.POLL_Could_not_create_main_thread_event_for_the_SocketPoll_thread_class__d__error__d__s__n
jmp 0x14002ffc1
mov rax, qword [0x1401052c8]
cmp byte [rax + 8], 0
je 0x14002fe61
xor edi, edi
jmp 0x14002ff8b
lea r8, [rbp - 0x38]
mov byte [rbp - 0x40], 0x74
mov dl, 1
mov qword [rbp - 0x38], 0xffffffffffffffff
xor ecx, ecx
xor r14b, r14b
call fcn.14002bd30
xor edi, edi
test eax, eax
jns 0x14002fea0
lea rcx, str.socketpair_failed_n
call fcn.14001dba0
jmp 0x14002ff52
movsxd rax, dword [rbp - 0x38]
lea rcx, [rbp - 0x30]
mov ebx, 1
mov qword [rbp - 0x30], rax
movsxd rax, dword [rbp - 0x34]
mov r8d, ebx
mov dword [rbp - 0x28], 0x100
mov dword [rbp - 0x18], 0x100
lea edx, [rbx + 1]
mov qword [rbp - 0x20], rax
call qword [sym.imp.WS2_32.dll_WSAPoll]
test eax, eax
jne 0x14002ff52
movsxd rcx, dword [rbp - 0x38]
lea rdx, [rbp - 0x40]
xor r9d, r9d
mov r8d, ebx
call qword [sym.imp.WS2_32.dll_send]
mov r8d, ebx
mov word [rbp - 0x26], di
lea edx, [rbx + 1]
mov word [rbp - 0x16], di
lea rcx, [rbp - 0x30]
call qword [sym.imp.WS2_32.dll_WSAPoll]
test eax, eax
jle 0x14002ff52
mov eax, 0x100
test word [rbp - 0x16], ax
je 0x14002ff52
movsxd rcx, dword [rbp - 0x34]
lea rdx, [rbp - 0x40]
xor r9d, r9d
mov r8d, ebx
call qword [sym.imp.WS2_32.dll_recv]
cmp eax, ebx
jne 0x14002ff52
cmp byte [rbp - 0x40], 0x74
jne 0x14002ff52
mov r8d, ebx
mov word [rbp - 0x26], di
lea edx, [rbx + 1]
mov word [rbp - 0x16], di
lea rcx, [rbp - 0x30]
call qword [sym.imp.WS2_32.dll_WSAPoll]
test eax, eax
movzx r14d, r14b
cmove r14d, ebx
movsxd rcx, dword [rbp - 0x38]
call qword [sym.imp.WS2_32.dll_closesocket]
movsxd rcx, dword [rbp - 0x34]
call qword [sym.imp.WS2_32.dll_closesocket]
test r14b, r14b
je 0x14002ff74
lea r8, [0x14002ed40]
jmp 0x14002ff92
lea rcx, str.POLL_Falling_back_to_the_select_API_Implementation_for_PollDefault_n
call fcn.14001bf60
mov rax, qword [0x1401052c8]
mov byte [rax + 8], 1
lea r8, [0x14002f5d0]
mov qword [rsp + 0x28], rdi
mov r9, rsi
xor edx, edx
mov dword [rsp + 0x20], edi
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov qword [rsi], rax
test rax, rax
jne 0x14003000f
call fcn.140013250
lea rdi, str.POLL_Could_not_create_the_SocketPoll_thread__class__d_error__d__s__n
mov ebx, 3
mov r14, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r9, r14
mov r8d, eax
mov edx, r12d
mov rcx, rdi
call fcn.14001bf60
sub r15d, dword [rsi + 8]
movsxd rax, r15d
shl rax, 5
mov rcx, qword [rax + r13 + 0x150]
test rcx, rcx
je 0x14002fff9
call qword [sym.imp.KERNEL32.dll_CloseHandle]
movsxd rcx, dword [rsi + 0x2c]
call qword [sym.imp.WS2_32.dll_closesocket]
movsxd rcx, dword [rsi + 0x30]
call qword [sym.imp.WS2_32.dll_closesocket]
jmp 0x140030024
xor eax, eax
jmp 0x140030026
lea rcx, str.POLL_Tried_to_start_invalid_socket_thread__n
call fcn.14001bf60
mov ebx, 1
mov eax, ebx
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.14006a480
mov rbx, qword [rsp + 0xc0]
add rsp, 0x70
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret