Function at 0x1400d58e0
Capabilities:
Set socket configuration

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0xb0]
sub rsp, 0x1b0
mov rax, qword [0x1401900d0]
xor rax, rsp
mov qword [rbp + 0xa0], rax
mov r14, r8
mov r15, rdx
mov rsi, rcx
xor r12d, r12d
cmp dword [rcx + 0x168], 1
je 0x1400d59b3
lea r8, str.asio::listen_called_from_the_wrong_state
lea edx, [r12 + 2]
mov rcx, qword [rcx + 0x148]
call fcn.140082560
mov ecx, 4
mov rax, qword gs:[0x58]
mov rax, qword [rax]
lea rbx, [0x14019edb0]
mov eax, dword [rcx + rax]
cmp dword [0x14019edf8], eax
jle 0x1400d59a1
lea rcx, [0x14019edf8]
call fcn.140105968
cmp dword [0x14019edf8], 0xffffffff
jne 0x1400d59a1
mov qword [0x14019edb8], rbx
lea rax, vtable.websocketpp::error::category.0
mov qword [0x14019edb0], rax
lea rcx, [0x14014b680]
call fcn.140105ce8
lea rcx, [0x14019edf8]
call fcn.1401058fc
mov dword [rsp + 0x30], 9
mov qword [rsp + 0x38], rbx
jmp 0x1400d5dae
lea r8, str.asio::listen
mov edx, 0x400
mov rcx, qword [rcx + 0x158]
call fcn.14007db70
mov qword [rbp - 0x80], r12
call fcn.140107820
mov qword [rbp - 0x78], rax
mov eax, 2
mov ecx, 0x17
cmp word [r15], ax
cmovne eax, ecx
mov dword [rsp + 0x44], eax
mov rcx, qword [rsi + 0x110]
lea r8, [rcx + 8]
lea rax, [rbp - 0x80]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x44]
lea rdx, [rsp + 0x50]
mov rcx, qword [rcx]
call fcn.1400909c0
mov rcx, qword [rsi + 0x110]
cmp dword [rbp - 0x80], r12d
je 0x1400d5aba
cmp qword [rcx + 8], 0xffffffffffffffff
je 0x1400d5a30
call fcn.1400ba310
lea r9, [rbp - 0x80]
lea r8, str.asio_listen
mov rcx, rsi
call fcn.1400855b0
mov ecx, 4
mov rax, qword gs:[0x58]
mov rax, qword [rax]
lea rbx, [0x14019edc0]
mov eax, dword [rcx + rax]
cmp dword [0x14019edd4], eax
jle 0x1400d5aa8
lea rcx, [0x14019edd4]
call fcn.140105968
cmp dword [0x14019edd4], 0xffffffff
jne 0x1400d5aa8
mov qword [0x14019edc8], rbx
lea rax, vtable.websocketpp::transport::error::category.0
mov qword [0x14019edc0], rax
lea rcx, [0x14014b670]
call fcn.140105ce8
lea rcx, [0x14019edd4]
call fcn.1401058fc
mov dword [rsp + 0x30], 2
mov qword [rsp + 0x38], rbx
jmp 0x1400d5dae
mov eax, r12d
cmp byte [rsi + 0x144], r12b
setne al
mov dword [rsp + 0x40], eax
mov rbx, qword [rcx + 8]
cmp rbx, 0xffffffffffffffff
jne 0x1400d5afd
call fcn.140107820
mov dword [rsp + 0x30], 0x2719
mov qword [rsp + 0x38], rax
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rbp - 0x80], xmm0
mov rcx, qword [rsi + 0x110]
jmp 0x1400d5a24
xor ecx, ecx
call qword [sym.imp.WS2_32.dll_WSASetLastError]
mov dword [rsp + 0x20], 4
lea r9, [rsp + 0x40]
mov edx, 0xffff
mov r8d, 4
mov rcx, rbx
call qword [sym.imp.WS2_32.dll_setsockopt]
mov edi, eax
call fcn.140107820
mov rbx, rax
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x38], rbx
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rbp - 0x80], xmm0
test edi, edi
jne 0x1400d5d2a
mov dword [rsp + 0x30], r12d
call fcn.140107820
mov qword [rsp + 0x38], rax
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rbp - 0x80], xmm0
cmp qword [rsi + 0x78], r12
je 0x1400d5d3e
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x30], xmm0
mov rax, qword [rsi + 0x118]
test rax, rax
je 0x1400d5b8d
lock inc dword [rax + 8]
mov rax, qword [rsi + 0x110]
mov qword [rsp + 0x30], rax
mov rax, qword [rsi + 0x118]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x30]
mov qword [rsp + 0x48], rax
mov rcx, qword [rsi + 0x78]
test rcx, rcx
je 0x1400d5dd8
mov rax, qword [rcx]
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0x70]
call qword [rax + select]
nop
mov rbx, qword [rsp + 0x38]
test rbx, rbx
je 0x1400d5c03
mov edi, 0xffffffff
mov eax, edi
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x1400d5c03
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], edi
cmp edi, 1
jne 0x1400d5c03
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.WS2_32.dll_htonl]
movups xmm0, xmmword [rsp + 0x70]
movups xmmword [r14], xmm0
cmp dword [r14], 0
je 0x1400d5d3e
mov rcx, qword [rsi + 0x110]
cmp qword [rcx + 8], 0xffffffffffffffff
je 0x1400d5c29
call fcn.1400ba310
xor edx, edx
mov r8d, 0xf8
lea rcx, [rbp - 0x60]
call fcn.140109a40
lea rcx, [rbp - 0x60]
call fcn.14007c420
nop
mov rcx, qword [r14 + 8]
mov rax, qword [rcx]
mov r8d, dword [r14]
lea rdx, [rsp + 0x50]
call qword [rax + select]
nop
lea rdx, str.asio_listen
lea rcx, [rbp - 0x50]
call fcn.140064b60
mov rcx, rax
lea rdx, str._error:
call fcn.140064b60
mov rbx, rax
mov rcx, qword [r14 + 8]
mov rdx, qword [rcx]
call qword [rdx + reloc.WS2_32.dll_htonl]
mov rdx, rax
mov rcx, rbx
call fcn.140064b60
mov rcx, rax
mov dl, 0x3a
call fcn.1400835c0
mov rcx, rax
mov edx, dword [r14]
call fcn.14007c6e0
lea rdx, [0x140162a04]
mov rcx, rax
call fcn.140064b60
lea rdx, [rsp + 0x50]
cmp qword [rsp + 0x68], 0x10
cmovae rdx, qword [rsp + 0x50]
mov r8, qword [rsp + 0x60]
mov rcx, rax
call fcn.1400653f0
mov rcx, rax
lea rdx, [0x140163f68]
call fcn.140064b60
nop
lea rcx, [rsp + 0x50]
call fcn.14000d2f0
lea rdx, [rbp - 0x80]
lea rcx, [rbp - 0x48]
call fcn.14007f980
nop
lea r8, [rbp - 0x80]
mov edx, 4
mov rcx, qword [rsi + 0x148]
call fcn.14007ffb0
nop
lea rcx, [rbp - 0x80]
call fcn.14000d2f0
nop
lea rcx, [rbp - 0x60]
call fcn.14006d920
movups xmm0, xmmword [r14]
jmp 0x1400d5db3
test eax, eax
je 0x1400d5b6a
mov rcx, qword [rsi + 0x110]
jmp 0x1400d5a24
mov eax, 0x1c
mov r8d, setsockopt
cmp word [r15], 2
cmovne r8d, eax
mov rcx, qword [rsi + 0x110]
lea r9, [rbp - 0x80]
mov rdx, r15
mov rcx, qword [rcx + 8]
call fcn.140072780
mov rcx, qword [rsi + 0x110]
cmp dword [rbp - 0x80], 0
jne 0x1400d5a24
lea r8, [rbp - 0x80]
mov edx, dword [rsi + 0x140]
mov rcx, qword [rcx + 8]
call fcn.140072b60
cmp dword [rbp - 0x80], 0
jne 0x1400d5d32
mov dword [rsi + 0x168], 2
mov dword [rsp + 0x30], r12d
lea rax, [0x140190f18]
mov qword [rsp + 0x38], rax
movups xmm0, xmmword [rsp + 0x30]
movups xmmword [r14], xmm0
mov rcx, qword [rbp + 0xa0]
xor rcx, rsp
call fcn.140105820
add rsp, 0x1b0
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.1400e298c
nop
int3