Function at 0x1400ec0a0
Capabilities:
Set socket configuration

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x70]
sub rsp, 0x170
mov r14, rdx
mov rdi, rcx
mov rcx, qword [rcx]
call fcn.1400eb2d0
test al, al
jne 0x1400ec507
xor r12d, r12d
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x70], r12
mov qword [rsp + 0x78], sendto
mov byte [rsp + 0x60], r12b
lea edx, [r12 + 1]
lea ecx, [rdx + 1]
lea r8d, [r12 + 6]
call qword [sym.imp.WS2_32.dll_socket]
mov rsi, rax
cmp rax, 0xffffffffffffffff
jne 0x1400ec150
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edx, eax
lea rcx, [rbp - 0x80]
call fcn.1400eeea0
nop
mov r8, rax
lea rdx, str.socket_failed_
lea rcx, [rsp + 0x40]
call fcn.140085ef0
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.14000d220
lea rcx, [rsp + 0x40]
call fcn.14000b6c0
nop
lea rcx, [rbp - 0x80]
call fcn.14000b6c0
jmp 0x1400ec5a5
mov qword [rbp + 0x18], r12
lea rax, [rbp]
mov qword [rsp + 0x38], rax
lea rax, [rbp + 0xb0]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], 0x20
mov dword [rsp + 0x20], 0x20
xor r9d, r9d
lea r8, [rbp + 0x30]
mov rdx, rsi
mov rcx, qword [rdi + 8]
call qword [0x1401ed7a0]
cmp eax, 1
jne 0x1400ec1a8
lea rdx, str.AcceptEx_returned_immediately__which_is_not_supported.
lea rcx, [rsp + 0x60]
call fcn.1400ebf20
jmp 0x1400ec59c
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x3e5
je 0x1400ec1f1
mov edx, eax
lea rcx, [rsp + 0x40]
call fcn.1400eeea0
nop
mov r8, rax
lea rdx, str.AcceptEx_failed_
lea rcx, [rbp - 0x80]
call fcn.140085ef0
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.14000d220
lea rcx, [rbp - 0x80]
call fcn.14000b6c0
nop
jmp 0x1400ec592
mov rcx, qword [rdi]
call fcn.1400eb0b0
mov qword [rbp + 0x20], rax
mov byte [rbp + 0x28], 0
lea rax, [rbp]
mov qword [rdi + 0x10], rax
mov rcx, qword [rdi]
call fcn.1400eb0b0
lea rbx, [rax + 0x70]
lea rax, vtable.std::_Func_impl_no_alloc_class__lambda_ecd3045ae117995741eda7556b21d356___void___.0
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x38], rdi
lea rax, [rbp - 0x40]
mov qword [rbp - 8], rax
mov qword [rbp - 0x48], r12
lea rdx, [rbp - 0x80]
lea rcx, [rbp - 0x40]
call qword [method.std::_Func_impl_no_alloc_class__lambda_ecd3045ae117995741eda7556b21d356___void___.virtual_0]
mov r8, rax
mov qword [rbp - 0x48], rax
mov rcx, qword [rbp - 8]
test rcx, rcx
je 0x1400ec269
mov rax, qword [rcx]
lea rdx, [rbp - 0x40]
cmp rcx, rdx
setne dl
call qword [rax + 0x20]
mov rcx, r12
mov qword [rbp - 8], rcx
mov r8, qword [rbp - 0x48]
mov r9, qword [rbx + 0x38]
test r9, r9
je 0x1400ec2bb
mov rcx, r9
cmp r9, rbx
jne 0x1400ec2b3
mov rax, qword [r9]
lea rdx, [rbp - 0x40]
call qword [rax + reloc.WS2_32.dll_htonl]
mov rcx, rax
mov qword [rbp - 8], rax
mov r8, qword [rbx + 0x38]
test r8, r8
je 0x1400ec2ad
mov rax, qword [r8]
cmp r8, rbx
setne dl
mov rcx, r8
call qword [rax + 0x20]
mov rcx, qword [rbp - 8]
mov r8, qword [rbp - 0x48]
jmp 0x1400ec2b7
mov r8, qword [rbp - 0x48]
jmp 0x1400ec2bb
mov qword [rbp - 8], rcx
mov qword [rbx + 0x38], r12
test r8, r8
je 0x1400ec2fc
lea rax, [rbp - 0x80]
cmp r8, rax
jne 0x1400ec2f8
mov rax, qword [r8]
mov rdx, rbx
mov rcx, r8
call qword [rax + reloc.WS2_32.dll_htonl]
mov qword [rbx + 0x38], rax
mov rcx, qword [rbp - 0x48]
test rcx, rcx
je 0x1400ec2f2
mov rax, qword [rcx]
lea rdx, [rbp - 0x80]
cmp rcx, rdx
setne dl
call qword [rax + 0x20]
mov rcx, qword [rbp - 8]
jmp 0x1400ec2fc
mov qword [rbx + 0x38], r8
test rcx, rcx
je 0x1400ec311
mov rax, qword [rcx]
lea rdx, [rbp - 0x40]
cmp rcx, rdx
setne dl
call qword [rax + 0x20]
mov rcx, qword [rdi]
call fcn.1400eadb0
mov rcx, qword [rdi]
call fcn.1400eb0b0
lea rbx, [rax + 0x70]
mov rcx, qword [rbx + 0x38]
test rcx, rcx
je 0x1400ec33e
mov rax, qword [rcx]
cmp rcx, rbx
setne dl
call qword [rax + 0x20]
mov qword [rbx + 0x38], r12
mov qword [rdi + 0x10], r12
lea rax, [rbp + 0xc0]
mov qword [rsp + 0x20], rax
xor r9d, r9d
lea r8, [rbp + 0xc8]
lea rdx, [rbp]
mov rcx, qword [rdi + 8]
call qword [sym.imp.WS2_32.dll_WSAGetOverlappedResult]
cmp eax, 1
je 0x1400ec3ca
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x3e3
je 0x1400ec3b4
mov edx, eax
lea rcx, [rsp + 0x40]
call fcn.1400eeea0
nop
mov r8, rax
lea rdx, str.AcceptEx_failed_
lea rcx, [rbp - 0x80]
call fcn.140085ef0
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.14000d220
lea rcx, [rbp - 0x80]
call fcn.14000b6c0
nop
jmp 0x1400ec592
mov rcx, rsi
call qword [sym.imp.WS2_32.dll_closesocket]
test eax, eax
jne 0x1400ec4c1
jmp 0x1400ec532
mov dword [rsp + 0x20], 8
lea r9, [rdi + 8]
mov edx, 0xffff
mov r8d, 0x700b
mov rcx, rsi
call qword [sym.imp.WS2_32.dll_setsockopt]
test eax, eax
je 0x1400ec430
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edx, eax
lea rcx, [rsp + 0x40]
call fcn.1400eeea0
nop
mov r8, rax
lea rdx, str.setsockopt_failed_
lea rcx, [rbp - 0x80]
call fcn.140085ef0
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.14000d220
lea rcx, [rbp - 0x80]
call fcn.14000b6c0
nop
jmp 0x1400ec592
mov rcx, qword [rdi]
call fcn.1400eb0a0
mov rdx, rax
xor r9d, r9d
xor r8d, r8d
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CreateIoCompletionPort]
mov rbx, rax
mov rcx, qword [rdi]
call fcn.1400eb0a0
cmp rbx, rax
jne 0x1400ec55d
mov r8, rsi
mov rdx, qword [rdi]
mov rcx, r14
call fcn.1400ec5e0
nop
mov rdx, qword [rsp + 0x78]
cmp rdx, 0x10
jb 0x1400ec4a6
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400ec4a1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400ec4bb
call fcn.14014765c
mov rax, r14
add rsp, 0x170
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.14014df3c
nop
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
nop
mov edx, eax
lea rcx, [rbp - 0x80]
call fcn.1400eeea0
nop
mov r8, rax
lea rdx, str.TcpListener::accept__closesocket_failed_
lea rcx, [rbp - 0x40]
call fcn.140085ef0
nop
mov rdx, rax
lea rcx, [rsp + 0x40]
call fcn.14000b240
lea rdx, [0x1401ddf08]
lea rcx, [rsp + 0x40]
call fcn.140148aa8
nop
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], rax
lea rcx, [rsp + 0x40]
call fcn.1400952e0
lea rdx, [0x1401de758]
lea rcx, [rsp + 0x40]
call fcn.140148aa8
nop
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], rax
lea rcx, [rsp + 0x40]
call fcn.1400952e0
lea rdx, [0x1401de758]
lea rcx, [rsp + 0x40]
call fcn.140148aa8
int3
lea rcx, [rsp + 0x40]
call fcn.1400ef280
nop
mov r8, rax
lea rdx, str.CreateIoCompletionPort_failed_
lea rcx, [rbp - 0x80]
call fcn.140085ef0
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.14000d220
lea rcx, [rbp - 0x80]
call fcn.14000b6c0
nop
lea rcx, [rsp + 0x40]
call fcn.14000b6c0
mov rcx, rsi
call qword [sym.imp.WS2_32.dll_closesocket]
lea r8, [rsp + 0x60]
lea rdx, str.TcpListener::accept_
lea rcx, [rbp - 0x40]
call fcn.140004f10
nop
mov rdx, rax
lea rcx, [rsp + 0x40]
call fcn.14000b240
lea rdx, [0x1401ddf08]
lea rcx, [rsp + 0x40]
call fcn.140148aa8
int3