Function at 0x14008f970
Capabilities:
Set socket configuration

Disassembly:
push rbp
push rsi
push r12
push r14
push r15
mov rbp, rsp
sub rsp, 0x70
cmp dword [rcx + 0x118], 1
mov r15, r8
mov r12, rdx
mov rsi, rcx
je 0x14008f9bb
mov rcx, qword [rcx + 0x108]
lea r8, str.asio::listen_called_from_the_wrong_state
mov edx, 2
call fcn.1400a1780
mov dword [rbp - 0x30], 9
call fcn.140086580
jmp 0x14008fc7b
mov rcx, qword [rcx + 0x110]
lea r8, str.asio::listen
mov qword [rsp + 0xa8], rbx
mov edx, 0x400
mov qword [rsp + 0xb0], rdi
mov qword [rsp + 0xb8], r13
call fcn.1400a15a0
xor r13d, r13d
mov dword [rbp - 0x30], r13d
call fcn.14005d8e0
mov rdi, qword [rsi + 0xd0]
lea rdx, [rbp - 0x20]
mov r14d, 2
mov qword [rbp - 0x28], rax
cmp word [r12], r14w
lea rax, [rbp - 0x30]
mov qword [rsp + 0x30], rax
mov ebx, reloc.WS2_32.dll_socket
mov rcx, qword [rdi + 0x60]
cmove ebx, r14d
add rcx, 0x28
mov dword [rsp + 0x28], 6
mov r9d, ebx
mov dword [rsp + 0x20], 1
mov r8, rdi
call fcn.140084320
cmp dword [rax], r13d
jne 0x14008fa75
xor ecx, ecx
mov dword [rdi + 0x38], ebx
mov byte [rdi + 0x3c], r13b
mov qword [rbp - 0x18], rcx
mov qword [rbp - 0x20], r14
movups xmm0, xmmword [rbp - 0x20]
mov qword [rbp - 0x10], rcx
movsd xmm1, qword [rbp - 0x10]
movups xmmword [rdi + 0x40], xmm0
movsd qword [rdi + 0x50], xmm1
mov dword [rdi + 0x58], ecx
cmp dword [rbp - 0x30], r13d
jne 0x14008fc2d
cmp byte [rsi + 0x104], r13b
mov eax, r13d
setne al
mov dword [rbp + 0x30], eax
mov rax, qword [rsi + 0xd0]
mov rbx, qword [rax]
cmp rbx, 0xffffffffffffffff
jne 0x14008faad
mov dword [rbp - 0x30], 0x2719
call fcn.14009f200
jmp 0x14008fb02
xor ecx, ecx
call qword [sym.imp.WSOCK32.dll_WSASetLastError]
lea r9, [rbp + 0x30]
mov dword [rsp + 0x20], 4
mov edx, 0xffff
mov r8d, 4
mov rcx, rbx
call qword [sym.imp.WSOCK32.dll_setsockopt]
mov edi, eax
call fcn.14009f200
mov rbx, rax
call qword [sym.imp.WSOCK32.dll_WSAGetLastError]
mov qword [rbp - 0x28], rbx
mov dword [rbp - 0x30], eax
movaps xmm0, xmmword [rbp - 0x30]
movdqa xmmword [rbp - 0x30], xmm0
test edi, edi
jne 0x14008fb0f
mov dword [rbp - 0x30], r13d
call fcn.14005d8e0
mov qword [rbp - 0x28], rax
movaps xmm0, xmmword [rbp - 0x30]
movdqa xmmword [rbp - 0x30], xmm0
cmp dword [rbp - 0x30], r13d
jne 0x14008fc2d
cmp word [r12], r14w
mov ebx, 0x1c
mov rax, qword [rsi + 0xd0]
mov ecx, reloc.WS2_32.dll_recv
cmove ebx, ecx
mov rdi, qword [rax]
cmp rdi, 0xffffffffffffffff
jne 0x14008fb49
mov dword [rbp - 0x30], 0x2719
call fcn.14009f200
jmp 0x14008fb8d
xor ecx, ecx
call qword [sym.imp.WSOCK32.dll_WSASetLastError]
mov r8d, ebx
mov rdx, r12
mov rcx, rdi
call qword [sym.imp.WSOCK32.dll_bind]
mov edi, eax
call fcn.14009f200
mov rbx, rax
call qword [sym.imp.WSOCK32.dll_WSAGetLastError]
mov qword [rbp - 0x28], rbx
mov dword [rbp - 0x30], eax
movaps xmm0, xmmword [rbp - 0x30]
movdqa xmmword [rbp - 0x30], xmm0
test edi, edi
jne 0x14008fb9a
mov dword [rbp - 0x30], r13d
call fcn.14005d8e0
mov qword [rbp - 0x28], rax
movaps xmm0, xmmword [rbp - 0x30]
movdqa xmmword [rbp - 0x30], xmm0
cmp dword [rbp - 0x30], r13d
jne 0x14008fc2d
mov rax, qword [rsi + 0xd0]
mov edi, dword [rsi + 0x100]
mov rbx, qword [rax]
cmp rbx, 0xffffffffffffffff
jne 0x14008fbc8
mov dword [rbp - 0x30], 0x2719
call fcn.14009f200
jmp 0x14008fc08
xor ecx, ecx
call qword [sym.imp.WSOCK32.dll_WSASetLastError]
mov edx, edi
mov rcx, rbx
call qword [sym.imp.WSOCK32.dll_listen]
mov edi, eax
call fcn.14009f200
mov rbx, rax
call qword [sym.imp.WSOCK32.dll_WSAGetLastError]
mov qword [rbp - 0x28], rbx
mov dword [rbp - 0x30], eax
movaps xmm0, xmmword [rbp - 0x30]
movdqa xmmword [rbp - 0x30], xmm0
test edi, edi
jne 0x14008fc15
mov dword [rbp - 0x30], r13d
call fcn.14005d8e0
mov qword [rbp - 0x28], rax
movaps xmm0, xmmword [rbp - 0x30]
movdqa xmmword [rbp - 0x30], xmm0
cmp dword [rbp - 0x30], r13d
jne 0x14008fc2d
mov dword [rsi + 0x118], r14d
mov dword [rbp - 0x30], r13d
call fcn.14005d8e0
jmp 0x14008fc63
mov rcx, qword [rsi + 0xd0]
cmp qword [rcx], 0xffffffffffffffff
je 0x14008fc3f
call fcn.14007dc10
lea r9, [rbp - 0x30]
mov edx, 4
lea r8, str.asio_listen
mov rcx, rsi
call fcn.1400667e0
mov dword [rbp - 0x30], 3
call fcn.140086440
mov rdi, qword [rsp + 0xb0]
mov rbx, qword [rsp + 0xa8]
mov r13, qword [rsp + 0xb8]
mov qword [rbp - 0x28], rax
movups xmm0, xmmword [rbp - 0x30]
movups xmmword [r15], xmm0
add rsp, 0x70
pop r15
pop r14
pop r12
pop rsi
pop rbp
ret