Function at 0x1401b3690
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.1401b1e20
test al, al
jne 0x1401b3af7
xor r12d, r12d
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x70], r12
mov qword [rsp + 0x78], socket
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 0x1401b3740
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edx, eax
lea rcx, [rbp - 0x80]
call fcn.1401b4d40
nop
mov r8, rax
lea rdx, str.socket_failed_
lea rcx, [rsp + 0x40]
call fcn.1400d48a0
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.140049940
lea rcx, [rsp + 0x40]
call fcn.1400073c0
nop
lea rcx, [rbp - 0x80]
call fcn.1400073c0
jmp 0x1401b3b95
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 [0x1403631e0]
cmp eax, 1
jne 0x1401b3798
lea rdx, str.AcceptEx_returned_immediately__which_is_not_supported.
lea rcx, [rsp + 0x60]
call fcn.1401b3510
jmp 0x1401b3b8c
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x3e5
je 0x1401b37e1
mov edx, eax
lea rcx, [rsp + 0x40]
call fcn.1401b4d40
nop
mov r8, rax
lea rdx, str.AcceptEx_failed_
lea rcx, [rbp - 0x80]
call fcn.1400d48a0
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.140049940
lea rcx, [rbp - 0x80]
call fcn.1400073c0
nop
jmp 0x1401b3b82
mov rcx, qword [rdi]
call fcn.1401b1c00
mov qword [rbp + 0x20], rax
mov byte [rbp + 0x28], 0
lea rax, [rbp]
mov qword [rdi + 0x10], rax
mov rcx, qword [rdi]
call fcn.1401b1c00
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 0x1401b3859
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 0x1401b38ab
mov rcx, r9
cmp r9, rbx
jne 0x1401b38a3
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 0x1401b389d
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 0x1401b38a7
mov r8, qword [rbp - 0x48]
jmp 0x1401b38ab
mov qword [rbp - 8], rcx
mov qword [rbx + 0x38], r12
test r8, r8
je 0x1401b38ec
lea rax, [rbp - 0x80]
cmp r8, rax
jne 0x1401b38e8
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 0x1401b38e2
mov rax, qword [rcx]
lea rdx, [rbp - 0x80]
cmp rcx, rdx
setne dl
call qword [rax + 0x20]
mov rcx, qword [rbp - 8]
jmp 0x1401b38ec
mov qword [rbx + 0x38], r8
test rcx, rcx
je 0x1401b3901
mov rax, qword [rcx]
lea rdx, [rbp - 0x40]
cmp rcx, rdx
setne dl
call qword [rax + 0x20]
mov rcx, qword [rdi]
call fcn.1401b1910
mov rcx, qword [rdi]
call fcn.1401b1c00
lea rbx, [rax + 0x70]
mov rcx, qword [rbx + 0x38]
test rcx, rcx
je 0x1401b392e
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 0x1401b39ba
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x3e3
je 0x1401b39a4
mov edx, eax
lea rcx, [rsp + 0x40]
call fcn.1401b4d40
nop
mov r8, rax
lea rdx, str.AcceptEx_failed_
lea rcx, [rbp - 0x80]
call fcn.1400d48a0
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.140049940
lea rcx, [rbp - 0x80]
call fcn.1400073c0
nop
jmp 0x1401b3b82
mov rcx, rsi
call qword [sym.imp.WS2_32.dll_closesocket]
test eax, eax
jne 0x1401b3ab1
jmp 0x1401b3b22
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 0x1401b3a20
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edx, eax
lea rcx, [rsp + 0x40]
call fcn.1401b4d40
nop
mov r8, rax
lea rdx, str.setsockopt_failed_
lea rcx, [rbp - 0x80]
call fcn.1400d48a0
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.140049940
lea rcx, [rbp - 0x80]
call fcn.1400073c0
nop
jmp 0x1401b3b82
mov rcx, qword [rdi]
call fcn.1400d1930
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.1400d1930
cmp rbx, rax
jne 0x1401b3b4d
mov r8, rsi
mov rdx, qword [rdi]
mov rcx, r14
call fcn.1401b29f0
nop
mov rdx, qword [rsp + 0x78]
cmp rdx, 0x10
jb 0x1401b3a96
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1401b3a91
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1401b3aab
call fcn.140205dc4
mov rax, r14
add rsp, 0x170
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.14020c78c
nop
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
nop
mov edx, eax
lea rcx, [rbp - 0x80]
call fcn.1401b4d40
nop
mov r8, rax
lea rdx, str.TcpListener::accept__closesocket_failed_
lea rcx, [rbp - 0x40]
call fcn.1400d48a0
nop
mov rdx, rax
lea rcx, [rsp + 0x40]
call fcn.14000cd90
lea rdx, [0x140336d50]
lea rcx, [rsp + 0x40]
call fcn.140207de0
nop
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], rax
lea rcx, [rsp + 0x40]
call fcn.140196d90
lea rdx, [0x1403376d0]
lea rcx, [rsp + 0x40]
call fcn.140207de0
nop
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], rax
lea rcx, [rsp + 0x40]
call fcn.140196d90
lea rdx, [0x1403376d0]
lea rcx, [rsp + 0x40]
call fcn.140207de0
int3
lea rcx, [rsp + 0x40]
call fcn.1401b5120
nop
mov r8, rax
lea rdx, str.CreateIoCompletionPort_failed_
lea rcx, [rbp - 0x80]
call fcn.1400d48a0
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.140049940
lea rcx, [rbp - 0x80]
call fcn.1400073c0
nop
lea rcx, [rsp + 0x40]
call fcn.1400073c0
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.14000ab30
nop
mov rdx, rax
lea rcx, [rsp + 0x40]
call fcn.14000cd90
lea rdx, [0x140336d50]
lea rcx, [rsp + 0x40]
call fcn.140207de0
int3