Function at 0x14013a2d0
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.140139140
test al, al
jne 0x14013a737
xor r12d, r12d
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x70], r12
mov qword [rsp + 0x78], shutdown
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 0x14013a380
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edx, eax
lea rcx, [rbp - 0x80]
call fcn.14013c9e0
nop
mov r8, rax
lea rdx, str.socket_failed_
lea rcx, [rsp + 0x40]
call fcn.140004960
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.140013b10
lea rcx, [rsp + 0x40]
call fcn.1400113c0
nop
lea rcx, [rbp - 0x80]
call fcn.1400113c0
jmp 0x14013a7d5
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 [0x1402bdd08]
cmp eax, 1
jne 0x14013a3d8
lea rdx, str.AcceptEx_returned_immediately__which_is_not_supported.
lea rcx, [rsp + 0x60]
call fcn.14013a150
jmp 0x14013a7cc
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x3e5
je 0x14013a421
mov edx, eax
lea rcx, [rsp + 0x40]
call fcn.14013c9e0
nop
mov r8, rax
lea rdx, str.AcceptEx_failed_
lea rcx, [rbp - 0x80]
call fcn.140004960
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.140013b10
lea rcx, [rbp - 0x80]
call fcn.1400113c0
nop
jmp 0x14013a7c2
mov rcx, qword [rdi]
call fcn.140138f20
mov qword [rbp + 0x20], rax
mov byte [rbp + 0x28], 0
lea rax, [rbp]
mov qword [rdi + 0x10], rax
mov rcx, qword [rdi]
call fcn.140138f20
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 0x14013a499
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 0x14013a4eb
mov rcx, r9
cmp r9, rbx
jne 0x14013a4e3
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 0x14013a4dd
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 0x14013a4e7
mov r8, qword [rbp - 0x48]
jmp 0x14013a4eb
mov qword [rbp - 8], rcx
mov qword [rbx + 0x38], r12
test r8, r8
je 0x14013a52c
lea rax, [rbp - 0x80]
cmp r8, rax
jne 0x14013a528
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 0x14013a522
mov rax, qword [rcx]
lea rdx, [rbp - 0x80]
cmp rcx, rdx
setne dl
call qword [rax + 0x20]
mov rcx, qword [rbp - 8]
jmp 0x14013a52c
mov qword [rbx + 0x38], r8
test rcx, rcx
je 0x14013a541
mov rax, qword [rcx]
lea rdx, [rbp - 0x40]
cmp rcx, rdx
setne dl
call qword [rax + 0x20]
mov rcx, qword [rdi]
call fcn.140138c30
mov rcx, qword [rdi]
call fcn.140138f20
lea rbx, [rax + 0x70]
mov rcx, qword [rbx + 0x38]
test rcx, rcx
je 0x14013a56e
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 0x14013a5fa
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x3e3
je 0x14013a5e4
mov edx, eax
lea rcx, [rsp + 0x40]
call fcn.14013c9e0
nop
mov r8, rax
lea rdx, str.AcceptEx_failed_
lea rcx, [rbp - 0x80]
call fcn.140004960
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.140013b10
lea rcx, [rbp - 0x80]
call fcn.1400113c0
nop
jmp 0x14013a7c2
mov rcx, rsi
call qword [sym.imp.WS2_32.dll_closesocket]
test eax, eax
jne 0x14013a6f1
jmp 0x14013a762
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 0x14013a660
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edx, eax
lea rcx, [rsp + 0x40]
call fcn.14013c9e0
nop
mov r8, rax
lea rdx, str.setsockopt_failed_
lea rcx, [rbp - 0x80]
call fcn.140004960
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.140013b10
lea rcx, [rbp - 0x80]
call fcn.1400113c0
nop
jmp 0x14013a7c2
mov rcx, qword [rdi]
call fcn.140014210
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.140014210
cmp rbx, rax
jne 0x14013a78d
mov r8, rsi
mov rdx, qword [rdi]
mov rcx, r14
call fcn.14013ab40
nop
mov rdx, qword [rsp + 0x78]
cmp rdx, 0x10
jb 0x14013a6d6
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14013a6d1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14013a6eb
call fcn.1401c1ed8
mov rax, r14
add rsp, 0x170
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.1401c85ec
nop
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
nop
mov edx, eax
lea rcx, [rbp - 0x80]
call fcn.14013c9e0
nop
mov r8, rax
lea rdx, str.TcpListener::accept__closesocket_failed_
lea rcx, [rbp - 0x40]
call fcn.140004960
nop
mov rdx, rax
lea rcx, [rsp + 0x40]
call fcn.14000ed00
lea rdx, [0x1402a9b30]
lea rcx, [rsp + 0x40]
call fcn.1401c33cc
nop
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], rax
lea rcx, [rsp + 0x40]
call fcn.140139870
lea rdx, [0x1402aa6a8]
lea rcx, [rsp + 0x40]
call fcn.1401c33cc
nop
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], rax
lea rcx, [rsp + 0x40]
call fcn.140139870
lea rdx, [0x1402aa6a8]
lea rcx, [rsp + 0x40]
call fcn.1401c33cc
int3
lea rcx, [rsp + 0x40]
call fcn.14013cdc0
nop
mov r8, rax
lea rdx, str.CreateIoCompletionPort_failed_
lea rcx, [rbp - 0x80]
call fcn.140004960
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.140013b10
lea rcx, [rbp - 0x80]
call fcn.1400113c0
nop
lea rcx, [rsp + 0x40]
call fcn.1400113c0
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.1400049c0
nop
mov rdx, rax
lea rcx, [rsp + 0x40]
call fcn.14000ed00
lea rdx, [0x1402a9b30]
lea rcx, [rsp + 0x40]
call fcn.1401c33cc
int3