Function at 0x14002e440
Capabilities:
Send data
Send data on socket
Set socket configuration

Disassembly:
push rsi
push rdi
push r14
push r15
sub rsp, 0x68
mov r8, qword [0x1401052c8]
mov esi, edx
movsxd r15, ecx
xor edi, edi
mov rax, r15
shl rax, 4
lea r14, [r8 + 0x28]
add r14, rax
lea rax, [r15*4 + 0xc]
movsxd rdx, dword [rax + r8]
mov qword [rsp + 0x40], rax
test edx, edx
jle 0x14002e493
xor ecx, ecx
nop
mov rax, qword [r14 + rcx*8]
cmp dword [rax + 0x18], esi
je 0x14002e4be
inc edi
inc rcx
cmp rcx, rdx
jl 0x14002e480
mov qword [rsp + 0x98], rbx
xor ebx, ebx
mov dword [rsp + 0x30], 1
mov byte [rsp + 0x90], 1
test edx, edx
jle 0x14002e4cb
mov ebx, edx
cmp edx, 2
je 0x14002e6ba
jmp 0x14002e4cb
mov eax, edi
add rsp, 0x68
pop r15
pop r14
pop rdi
pop rsi
ret
mov edx, 0x40
mov qword [rsp + 0x60], rbp
mov qword [rsp + 0x58], r12
mov qword [rsp + 0x50], r13
lea ecx, [rdx - 0x3f]
call fcn.140020ab0
movsxd rcx, ebx
lea r8, [rsp + 0x38]
mov qword [r14 + rcx*8], rax
lea r12, [r14 + rcx*8]
cmp esi, 2
mov dword [rax + 8], ebx
mov rax, qword [r12]
sete r13b
setne dl
movzx ecx, r13b
mov dword [rax + 0x18], esi
mov rax, qword [r12]
mov dword [rax + 0x20], r15d
call fcn.14002bd30
mov r14d, eax
cmp eax, 0xffffffff
je 0x14002e599
movsxd rbp, dword [rsp + 0x38]
lea rax, [rsp + 0xa0]
mov rcx, rbp
mov dword [rsp + 0xa8], 0
lea r9, [rsp + 0xa8]
mov dword [rsp + 0xa0], 4
mov edx, 0xffff
mov qword [rsp + 0x20], rax
mov r8d, 0x1008
call qword [sym.imp.WS2_32.dll_getsockopt]
cmp eax, 0xffffffff
jne 0x14002e5dd
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov ecx, eax
mov ebx, eax
call fcn.140013400
mov r9, rax
lea rcx, str.POLL_Could_not_get_socket_type_of__d:__d__s_n
mov r8d, ebx
mov rdx, rbp
call fcn.14001bf60
mov ecx, ebx
call qword [sym.imp.WS2_32.dll_WSASetLastError]
mov edx, r14d
lea rcx, str.POLL_creation_of_signaling_socket_pair_failed:__d_n
call fcn.14001dba0
mov edx, edi
lea rcx, str.POLL_Could_not_create_socket_thread__d_n
call fcn.14001bf60
mov eax, 0xffffffff
mov r12, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x60]
mov r13, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x98]
add rsp, 0x68
pop r15
pop r14
pop rdi
pop rsi
ret
movsxd rcx, dword [rsp + 0x3c]
call fcn.14002c830
test al, al
je 0x14002e599
movsxd rcx, dword [rsp + 0x38]
lea rdx, [rsp + 0x90]
xor r9d, r9d
lea r8d, [r9 + 1]
call qword [sym.imp.WS2_32.dll_send]
cmp eax, 0xffffffff
jne 0x14002e62e
call fcn.140013250
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8, rbx
lea rcx, str.POLL_signaling_socket_pair_is_invalid:__d__s_n
mov edx, eax
call fcn.14001dba0
jmp 0x14002e5a8
movsxd rcx, dword [rsp + 0x3c]
lea r8, [rsp + 0x30]
mov edx, 0x8004667e
call qword [sym.imp.WS2_32.dll_ioctlsocket]
mov eax, dword [rsp + 0x38]
mov rcx, qword [r12]
mov dword [rcx + 0x2c], eax
mov rcx, qword [r12]
mov eax, dword [rsp + 0x3c]
mov dword [rcx + 0x30], eax
mov rax, qword [0x1401052c8]
mov rcx, qword [rsp + 0x40]
inc dword [rcx + rax]
mov ecx, 0x1000
cmp byte [rax + 8], 0
mov eax, 0x40
cmovne ecx, eax
cmp esi, 2
mov eax, 0x3e
cmove ecx, eax
mov rax, qword [r12]
mov dword [rax + 0x28], ecx
test ebx, ebx
js 0x14002e5a8
movzx r8d, r13b
mov edx, ebx
mov ecx, r15d
call fcn.14002fda0
test eax, eax
je 0x14002e6b3
mov edx, ebx
lea rcx, str.POLL_Could_not_start_socket_thread__d_n
jmp 0x14002e5b1
mov eax, ebx
jmp 0x14002e5bb
mov r8d, 0xf96
lea rdx, str.boralibpollDefaultpollDefault.c
lea rcx, str.VERIFY__s:_d_n
call fcn.14002b900
int3