Function at 0x14009e824
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 0x14009e929
lea rcx, [rax - 0x40]
call fcn.14009f3cc
mov r15, qword [rsp + 0x58]
movsxd r12, eax
cmp r12d, dword [rsi]
jne 0x14009e8a2
mov rdx, qword [rdi + 0xb0]
test r15, r15
jne 0x14009e89d
test rdx, rdx
je 0x14009e8c9
jmp 0x14009e8a2
test rdx, rdx
jne 0x14009e8aa
mov r14d, 1
jmp 0x14009e8c9
test r15, r15
je 0x14009e8c9
mov r8, r12
mov rcx, r15
shl r8, 4
call fcn.14020e9d0
test eax, eax
mov eax, 1
cmovne r14d, eax
cmp qword [rdi + 0x48], rbx
je 0x14009ea2b
lea rcx, [rsp + 0xb0]
call fcn.14009f5a0
mov rbp, qword [rsp + 0xb0]
movsxd rcx, eax
mov dword [rsp + 0xb8], ecx
cmp ecx, dword [rdi + 0xc8]
jne 0x14009e929
mov rax, qword [rdi + 0xc0]
test rbp, rbp
je 0x14009ea22
test rax, rax
je 0x14009e929
mov r8, rcx
mov rdx, rax
shl r8, 2
mov rcx, rbp
call fcn.14020e9d0
test eax, eax
je 0x14009ea2b
mov rcx, qword [rdi + 0xb0]
test rcx, rcx
je 0x14009e941
call fcn.1401e8ee0
mov qword [rdi + 0xb0], rbx
mov rcx, qword [rdi + 0xc0]
test rcx, rcx
je 0x14009e959
call fcn.1401e8ee0
mov qword [rdi + 0xc0], rbx
lea r14, [rdi + 0x50]
cmp qword [r14], rbx
je 0x14009e9c2
mov ecx, ebx
mov dword [rsp + 0xb0], ebx
cmp dword [rsi], ebx
jle 0x14009e9b7
mov r13, rbx
mov r15d, 1
mov rax, qword [r14]
mov rdx, qword [rax + r13]
test rdx, rdx
je 0x14009e994
mov rcx, qword [rdi + 0x20]
call fcn.1400a0654
mov ecx, dword [rsp + 0xb0]
add ecx, r15d
add r13, 8
mov dword [rsp + 0xb0], ecx
cmp ecx, dword [rsi]
jl 0x14009e978
mov r15, qword [rsp + 0x58]
lea r14, [rdi + 0x50]
mov r13d, dword [rsp + 0xa8]
mov rcx, qword [r14]
call fcn.1401e8ee0
mov qword [r14], rbx
test r13d, r13d
jne 0x14009ea44
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 0x14009ec1d
cmp word [rdi + 0x80], bx
je 0x14009ec15
mov dword [rdi + 0xb8], r12d
mov qword [rdi + 0xb0], r15
test r12d, r12d
jle 0x14009ec1d
movsxd rcx, r12d
shl rcx, 3
call fcn.1401ea40c
mov qword [r14], rax
test rax, rax
je 0x14009ecaa
jmp 0x14009ea4b
test rax, rax
jne 0x14009e929
test r14d, r14d
jne 0x14009e929
mov rcx, r15
call fcn.1401e8ee0
mov rcx, rbp
call fcn.1401e8ee0
xor eax, eax
jmp 0x14009ec92
mov r12d, ebx
cmp dword [rdi + 0xb8], ebx
jle 0x14009ec1d
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, [0x14009e788]
mov rcx, qword [rdi + 0x20]
add r8, r13
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rax
call fcn.14009d5ac
mov rcx, qword [r14]
mov qword [rsi + rcx], rax
mov rax, qword [r14]
mov rcx, qword [rsi + rax]
test rcx, rcx
je 0x14009ebf5
mov rcx, qword [rcx + 0x30]
call fcn.14009fb80
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.14009d7cc
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 0x14009eb39
call fcn.1401e8db4
mov dword [rax], reloc.WS2_32.dll_shutdown
call fcn.1401e7e2c
jmp 0x14009eb3e
call fcn.14020df90
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 0x14009ed46
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 0x14009ed1a
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 0x14009ecee
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 0x14009ea60
jmp 0x14009ec23
mov rcx, r15
call fcn.1401e8ee0
mov r13d, 1
mov eax, dword [rsp + 0xb8]
test eax, eax
je 0x14009ec82
test rbp, rbp
je 0x14009ec8f
lea r14, [rdi + 0x90]
cmp word [r14], bx
je 0x14009ec82
cmp qword [rdi + 0x48], rbx
je 0x14009ec82
mov dword [rdi + 0xc8], eax
mov qword [rdi + 0xc0], rbp
test eax, eax
jle 0x14009ec8f
mov rsi, rbx
mov r8, qword [rdi + 0xc0]
mov rdx, r14
mov rcx, qword [rdi + 0x48]
mov r8d, dword [rsi + r8]
call fcn.14009d838
add ebx, r13d
lea rsi, [rsi + 4]
cmp ebx, dword [rdi + 0xc8]
jl 0x14009ec5a
jmp 0x14009ec8f
test rbp, rbp
je 0x14009ec8f
mov rcx, rbp
call fcn.1401e8ee0
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_anfdhDownloadsMeshAgent_masterMeshAgent_mastermicrostackILibMulticastSocket.c
mov r9d, edi
mov dword [rsp + 0x20], eax
xor ecx, ecx
lea ebx, [rdi - 0x62]
mov r8d, ebx
call fcn.1400aa25c
mov r8d, ebx
lea rdx, str.C:Users_anfdhDownloadsMeshAgent_masterMeshAgent_mastermicrostackILibMulticastSocket.c
lea rcx, str.CRITICALEXIT__FILE:__s__LINE:__d_r_n
call fcn.14000105c
mov ecx, edi
call fcn.1401e0110
int3
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8d, 0xac
mov dword [rsp + 0x20], ebx
mov r9d, eax
lea rdx, str.C:Users_anfdhDownloadsMeshAgent_masterMeshAgent_mastermicrostackILibMulticastSocket.c
xor ecx, ecx
call fcn.1400aa25c
mov ecx, 0xfd
call fcn.1401e0110
int3
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8d, 0xab
mov dword [rsp + 0x20], ebx
mov r9d, eax
lea rdx, str.C:Users_anfdhDownloadsMeshAgent_masterMeshAgent_mastermicrostackILibMulticastSocket.c
xor ecx, ecx
call fcn.1400aa25c
mov ecx, 0xfd
call fcn.1401e0110
int3
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8d, 0xaa
mov dword [rsp + 0x20], ebx
mov r9d, eax
lea rdx, str.C:Users_anfdhDownloadsMeshAgent_masterMeshAgent_mastermicrostackILibMulticastSocket.c
xor ecx, ecx
call fcn.1400aa25c
mov ecx, 0xfd
call fcn.1401e0110
int3