Function at 0x1400311f0
Capabilities:
Set socket configuration

Disassembly:
push rdi
push r14
push r15
sub rsp, 0x60
cmp dword [rcx + 0x54], 0
mov r14, r8
mov r15, rdx
mov rdi, rcx
jne 0x14003121e
call fcn.1400304a0
test eax, eax
je 0x14003121e
xor eax, eax
add rsp, 0x60
pop r15
pop r14
pop rdi
ret
mov eax, dword [rdi + 0x8c]
mov edx, 1
shr eax, 2
mov rcx, rdi
not eax
mov qword [rsp + 0x88], rbx
test dl, al
je 0x1400312cb
call fcn.1400318c0
test eax, eax
jne 0x140031278
nop word [rax + rax]
or r8d, 0xffffffff
lea rcx, [rdi + 0x18]
mov edx, 1
call fcn.140033c70
cmp eax, 0xffffffff
je 0x1400312df
mov edx, 1
mov rcx, rdi
call fcn.1400318c0
test eax, eax
je 0x140031250
mov rcx, qword [rdi + 0x18]
mov qword [rsp + 0x58], rbp
xor ebp, ebp
mov qword [rsp + 0x50], rsi
mov rsi, qword [rdi + 0xb8]
mov dword [rdi + 0x54], ebp
call qword [sym.imp.KERNEL32.dll_ResetEvent]
mov ebx, dword [rdi + 0x58]
test ebx, ebx
je 0x1400312f3
call fcn.140084fc0
mov ecx, ebx
mov r9, rax
call fcn.1400303e0
mov dword [r9], eax
lea rcx, str.accept___ERROR:_async_io_completed_with_error:__d__io:_p
mov edx, dword [rdi + 0x58]
mov r8, rdi
call fcn.140046c70
mov dword [rdi + 0x58], ebp
jmp 0x14003144c
call fcn.1400318c0
test eax, eax
jne 0x140031278
call fcn.140084fc0
mov dword [rax], inet_ntoa
xor eax, eax
mov rbx, qword [rsp + 0x88]
add rsp, 0x60
pop r15
pop r14
pop rdi
ret
mov rcx, qword [rsi + 0x400]
lea r9, [rdi + 0x90]
mov edx, 0xffff
mov dword [rsp + 0x20], 8
mov r8d, 0x700b
call qword [sym.imp.WS2_32.dll_setsockopt]
test eax, eax
je 0x140031350
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov ecx, eax
call fcn.1400303e0
mov ebx, eax
call fcn.140084fc0
mov dword [rax], ebx
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov r8, rdi
lea rcx, str.accept___ERROR:_setsockopt_failed:_d__io:_p
mov edx, eax
call fcn.140046c70
jmp 0x14003144c
mov ecx, 0xc0
call fcn.140088334
mov rbp, rax
test rax, rax
jne 0x140031388
call fcn.140084fc0
mov dword [rax], reloc.WS2_32.dll_inet_ntoa
call fcn.140084fc0
mov r8, rdi
lea rcx, str.accept___ERROR:_d__io:_p
mov edx, dword [rax]
call fcn.140046c70
jmp 0x14003144c
xor edx, edx
mov r8d, 0xc0
mov rcx, rbp
call fcn.14007a110
mov rax, qword [rsi + 0x400]
mov qword [rbp + 0x90], rax
mov dword [rbp + 0xb0], 3
mov qword [rsi + 0x400], 0xffffffffffffffff
test r15, r15
je 0x140031478
test r14, r14
je 0x140031478
mov rbx, qword [rsi + 0x410]
mov rcx, rbx
call qword [fcn.140078e90]
lea rax, [rsp + 0x80]
mov r9d, 0x90
mov qword [rsp + 0x38], rax
xor edx, edx
lea rax, [rsp + 0x40]
mov r8d, r9d
mov qword [rsp + 0x30], rax
mov rcx, rsi
lea rax, [rsp + 0x98]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x48]
mov qword [rsp + 0x20], rax
call rbx
movsxd rax, dword [rsp + 0x80]
test eax, eax
je 0x140031478
mov r8, qword [rsp + 0x40]
mov rdx, rax
mov r9, rax
mov rcx, r15
call fcn.140028eb0
test eax, eax
je 0x14003146e
mov edx, eax
lea rcx, str.memcpy_s_failed_with_error:__d.
call fcn.140046c70
mov rcx, qword [rsi + 0x400]
cmp rcx, 0xffffffffffffffff
je 0x14003146a
call qword [sym.imp.WS2_32.dll_closesocket]
mov qword [rsi + 0x400], 0xffffffffffffffff
xor eax, eax
jmp 0x14003147b
mov eax, dword [rsp + 0x80]
mov dword [r14], eax
mov rax, rbp
mov rbp, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x88]
add rsp, 0x60
pop r15
pop r14
pop rdi
ret