Function at 0x14009e8a8
Capabilities:
Set socket configuration

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov dword [rax + 0x10], edx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x60
xor ebx, ebx
lea rsi, [rcx + 0xb8]
mov qword [rax - 0x40], rbx
mov r13d, edx
mov dword [rsp + 0xb8], ebx
mov rdi, rcx
mov qword [rax + 0x18], rbx
mov r14d, ebx
mov dword [rax - 0x48], ebx
mov r12d, ebx
mov dword [rax - 0x44], ebx
mov r15d, ebx
mov ebp, ebx
test edx, edx
jne 0x14009e9ad
lea rcx, [rax - 0x40]
call fcn.14009f450
mov r15, qword [rsp + 0x58]
movsxd r12, eax
cmp r12d, dword [rsi]
jne 0x14009e926
mov rdx, qword [rdi + 0xb0]
test r15, r15
jne 0x14009e921
test rdx, rdx
je 0x14009e94d
jmp 0x14009e926
test rdx, rdx
jne 0x14009e92e
mov r14d, 1
jmp 0x14009e94d
test r15, r15
je 0x14009e94d
mov r8, r12
mov rcx, r15
shl r8, 4
call fcn.1402117c0
test eax, eax
mov eax, 1
cmovne r14d, eax
cmp qword [rdi + 0x48], rbx
je 0x14009eaaf
lea rcx, [rsp + 0xb0]
call fcn.14009f624
mov rbp, qword [rsp + 0xb0]
movsxd rcx, eax
mov dword [rsp + 0xb8], ecx
cmp ecx, dword [rdi + 0xc8]
jne 0x14009e9ad
mov rax, qword [rdi + 0xc0]
test rbp, rbp
je 0x14009eaa6
test rax, rax
je 0x14009e9ad
mov r8, rcx
mov rdx, rax
shl r8, 2
mov rcx, rbp
call fcn.1402117c0
test eax, eax
je 0x14009eaaf
mov rcx, qword [rdi + 0xb0]
test rcx, rcx
je 0x14009e9c5
call fcn.1401ebcd0
mov qword [rdi + 0xb0], rbx
mov rcx, qword [rdi + 0xc0]
test rcx, rcx
je 0x14009e9dd
call fcn.1401ebcd0
mov qword [rdi + 0xc0], rbx
lea r14, [rdi + 0x50]
cmp qword [r14], rbx
je 0x14009ea46
mov ecx, ebx
mov dword [rsp + 0xb0], ebx
cmp dword [rsi], ebx
jle 0x14009ea3b
mov r13, rbx
mov r15d, 1
mov rax, qword [r14]
mov rdx, qword [rax + r13]
test rdx, rdx
je 0x14009ea18
mov rcx, qword [rdi + 0x20]
call fcn.1400a06e4
mov ecx, dword [rsp + 0xb0]
add ecx, r15d
add r13, 8
mov dword [rsp + 0xb0], ecx
cmp ecx, dword [rsi]
jl 0x14009e9fc
mov r15, qword [rsp + 0x58]
lea r14, [rdi + 0x50]
mov r13d, dword [rsp + 0xa8]
mov rcx, qword [r14]
call fcn.1401ebcd0
mov qword [r14], rbx
test r13d, r13d
jne 0x14009eac8
movzx ecx, word [rdi + 0x70]
call qword [sym.imp.WS2_32.dll_htons]
movzx ecx, word [rdi + 0x70]
call qword [sym.imp.WS2_32.dll_htons]
test r15, r15
je 0x14009eca1
cmp word [rdi + 0x80], bx
je 0x14009ec99
mov dword [rdi + 0xb8], r12d
mov qword [rdi + 0xb0], r15
test r12d, r12d
jle 0x14009eca1
movsxd rcx, r12d
shl rcx, 3
call fcn.1401ed1fc
mov qword [r14], rax
test rax, rax
je 0x14009ed2e
jmp 0x14009eacf
test rax, rax
jne 0x14009e9ad
test r14d, r14d
jne 0x14009e9ad
mov rcx, r15
call fcn.1401ebcd0
mov rcx, rbp
call fcn.1401ebcd0
xor eax, eax
jmp 0x14009ed16
mov r12d, ebx
cmp dword [rdi + 0xb8], ebx
jle 0x14009eca1
mov r15, rbx
mov rsi, rbx
movzx ecx, word [rdi + 0x70]
call qword [sym.imp.WS2_32.dll_htons]
mov rcx, qword [rdi + 0xb0]
xor edx, edx
mov qword [rsp + 0x30], rdi
movsxd r13, r12d
shl r13, 4
mov word [r15 + rcx + 2], ax
lea r9d, [rdx + 1]
mov r8, qword [rdi + 0xb0]
lea rax, [0x14009e80c]
mov rcx, qword [rdi + 0x20]
add r8, r13
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rax
call fcn.14009d630
mov rcx, qword [r14]
mov qword [rsi + rcx], rax
mov rax, qword [r14]
mov rcx, qword [rsi + rax]
test rcx, rcx
je 0x14009ec79
mov rcx, qword [rcx + 0x30]
call fcn.14009fc04
mov rax, qword [r14]
lea rdx, [rdi + 0x80]
mov rcx, qword [rsi + rax]
lea rax, str.ILibMulticastSocket_v4
mov qword [rcx + 0x30], rax
mov rcx, qword [r14]
mov r8, qword [rdi + 0xb0]
add r8, r13
mov rcx, qword [rsi + rcx]
call fcn.14009d850
mov rdx, qword [rdi + 0xb0]
mov eax, 0x1c
add rdx, r15
lea r8d, [rax - 0xc]
cmp word [rdx], 0x17
cmove r8d, eax
mov rax, qword [r14]
mov rcx, qword [rsi + rax]
add rcx, 0x94
jne 0x14009ebbd
call fcn.1401ebba4
mov dword [rax], reloc.WS2_32.dll_shutdown
call fcn.1401eac1c
jmp 0x14009ebc2
call fcn.140210d80
mov rax, qword [r14]
lea r9, [rdi + 0x68]
xor edx, edx
mov dword [rsp + 0x20], 4
mov rcx, qword [rsi + rax]
lea r8d, [rdx + 0xa]
mov r13, qword [rcx + 0x68]
mov rcx, r13
call qword [sym.imp.WS2_32.dll_setsockopt]
test eax, eax
jne 0x14009edca
lea r9, [rdi + 0x6c]
mov dword [rsp + 0x20], 4
xor edx, edx
lea r8d, [rax + 0xb]
mov rcx, r13
call qword [sym.imp.WS2_32.dll_setsockopt]
test eax, eax
jne 0x14009ed9e
lea r9, [rdi + 0x6c]
mov dword [rsp + 0x20], 4
xor edx, edx
lea r8d, [rax + 0xb]
mov rcx, r13
call qword [sym.imp.WS2_32.dll_setsockopt]
test eax, eax
jne 0x14009ed72
mov rax, qword [rdi + 0xb0]
lea r8, [rsp + 0x54]
mov qword [rsp + 0x40], rbx
mov r9d, 4
mov qword [rsp + 0x38], rbx
mov edx, 0x9800000c
mov rcx, r13
mov word [r15 + rax + 2], bx
lea rax, [rsp + 0x50]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], rbx
call qword [sym.imp.WS2_32.dll_WSAIoctl]
mov r13d, 1
add rsi, 8
add r12d, r13d
add r15, 0x10
cmp r12d, dword [rdi + 0xb8]
jl 0x14009eae4
jmp 0x14009eca7
mov rcx, r15
call fcn.1401ebcd0
mov r13d, 1
mov eax, dword [rsp + 0xb8]
test eax, eax
je 0x14009ed06
test rbp, rbp
je 0x14009ed13
lea r14, [rdi + 0x90]
cmp word [r14], bx
je 0x14009ed06
cmp qword [rdi + 0x48], rbx
je 0x14009ed06
mov dword [rdi + 0xc8], eax
mov qword [rdi + 0xc0], rbp
test eax, eax
jle 0x14009ed13
mov rsi, rbx
mov r8, qword [rdi + 0xc0]
mov rdx, r14
mov rcx, qword [rdi + 0x48]
mov r8d, dword [rsi + r8]
call fcn.14009d8bc
add ebx, r13d
lea rsi, [rsi + 4]
cmp ebx, dword [rdi + 0xc8]
jl 0x14009ecde
jmp 0x14009ed13
test rbp, rbp
je 0x14009ed13
mov rcx, rbp
call fcn.1401ebcd0
mov eax, r13d
mov rbx, qword [rsp + 0xa0]
add rsp, 0x60
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, 0xfe
lea rdx, str.C:Users_anfdhDownloads_bvavMeshAgent_mastermicrostackILibMulticastSocket.c
mov r9d, edi
mov dword [rsp + 0x20], eax
xor ecx, ecx
lea ebx, [rdi - 0x62]
mov r8d, ebx
call fcn.1400aa2f8
mov r8d, ebx
lea rdx, str.C:Users_anfdhDownloads_bvavMeshAgent_mastermicrostackILibMulticastSocket.c
lea rcx, str.CRITICALEXIT__FILE:__s__LINE:__d_r_n
call fcn.14000105c
mov ecx, edi
call fcn.1401e2ef8
int3
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8d, 0xac
mov dword [rsp + 0x20], ebx
mov r9d, eax
lea rdx, str.C:Users_anfdhDownloads_bvavMeshAgent_mastermicrostackILibMulticastSocket.c
xor ecx, ecx
call fcn.1400aa2f8
mov ecx, 0xfd
call fcn.1401e2ef8
int3
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8d, 0xab
mov dword [rsp + 0x20], ebx
mov r9d, eax
lea rdx, str.C:Users_anfdhDownloads_bvavMeshAgent_mastermicrostackILibMulticastSocket.c
xor ecx, ecx
call fcn.1400aa2f8
mov ecx, 0xfd
call fcn.1401e2ef8
int3
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8d, 0xaa
mov dword [rsp + 0x20], ebx
mov r9d, eax
lea rdx, str.C:Users_anfdhDownloads_bvavMeshAgent_mastermicrostackILibMulticastSocket.c
xor ecx, ecx
call fcn.1400aa2f8
mov ecx, 0xfd
call fcn.1401e2ef8
int3