Function at 0x14008d47c
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
mov rdi, rcx
mov qword [rax - 0x40], rbx
mov ebp, ebx
mov qword [rax - 0x48], rbx
mov r15d, ebx
mov dword [rax + 0x18], ebx
mov r14d, ebx
mov dword [rax + 0x20], ebx
lea r13d, [rbx + 1]
mov r12d, ebx
mov esi, ebx
test edx, edx
jne 0x14008d561
lea rcx, [rax - 0x40]
call fcn.14008e080
mov r14, qword [rsp + 0x58]
movsxd r15, eax
cmp r15d, dword [rdi + 0xb8]
jne 0x14008d4f3
mov rdx, qword [rdi + 0xb0]
test r14, r14
jne 0x14008d4ee
test rdx, rdx
je 0x14008d50d
jmp 0x14008d4f3
test rdx, rdx
jne 0x14008d4f8
mov ebp, r13d
jmp 0x14008d50d
mov r8, r15
mov rcx, r14
shl r8, 4
call fcn.1401c3360
test eax, eax
cmovne ebp, r13d
cmp qword [rdi + 0x48], rbx
je 0x14008d662
lea rcx, [rsp + 0x50]
call fcn.14008e24c
mov rsi, qword [rsp + 0x50]
movsxd r12, eax
cmp r12d, dword [rdi + 0xc8]
jne 0x14008d561
mov rax, qword [rdi + 0xc0]
test rsi, rsi
je 0x14008d659
test rax, rax
je 0x14008d561
mov r8, r12
mov rdx, rax
shl r8, 2
mov rcx, rsi
call fcn.1401c3360
test eax, eax
je 0x14008d662
mov rcx, qword [rdi + 0xb0]
test rcx, rcx
je 0x14008d579
call fcn.1401ccb68
mov qword [rdi + 0xb0], rbx
mov rcx, qword [rdi + 0xc0]
test rcx, rcx
je 0x14008d591
call fcn.1401ccb68
mov qword [rdi + 0xc0], rbx
mov rcx, qword [rdi + 0x50]
test rcx, rcx
je 0x14008d5f4
mov r13d, ebx
cmp dword [rdi + 0xb8], ebx
jle 0x14008d5e5
mov rbp, rbx
mov rax, qword [rdi + 0x50]
mov r9, qword [rax + rbp]
test r9, r9
je 0x14008d5d1
mov rcx, qword [rdi + 0x20]
or dword [r9 + 0x38], 0xffffffff
cmp dword [rcx], ebx
jne 0x14008d5d1
xor r8d, r8d
lea rdx, [fcn.14008ed2c]
call fcn.14008eb84
inc r13d
add rbp, 8
cmp r13d, dword [rdi + 0xb8]
jl 0x14008d5a8
mov rcx, qword [rdi + 0x50]
call fcn.1401ccb68
mov qword [rdi + 0x50], rbx
mov r13d, 1
cmp dword [rsp + 0xa8], ebx
jne 0x14008d67a
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 r14, r14
je 0x14008d84a
cmp word [rdi + 0x80], bx
je 0x14008d842
mov dword [rdi + 0xb8], r15d
mov qword [rdi + 0xb0], r14
test r15d, r15d
jle 0x14008d84a
movsxd rcx, r15d
shl rcx, 3
call fcn.1401cd1cc
mov qword [rdi + 0x50], rax
test rax, rax
je 0x14008d8cd
jmp 0x14008d681
test rax, rax
jne 0x14008d561
test ebp, ebp
jne 0x14008d561
mov rcx, r14
call fcn.1401ccb68
mov rcx, rsi
call fcn.1401ccb68
xor eax, eax
jmp 0x14008d8b5
mov ebp, ebx
cmp dword [rdi + 0xb8], ebx
jle 0x14008d84a
mov r14, rbx
mov r15, 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, ebp
shl r13, 4
mov word [r14 + rcx + 2], ax
lea r9d, [rdx + 1]
mov r8, qword [rdi + 0xb0]
lea rax, [0x14008d3e0]
mov rcx, qword [rdi + 0x20]
add r8, r13
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rax
call fcn.14008c1c0
mov rcx, qword [rdi + 0x50]
mov qword [r15 + rcx], rax
mov rax, qword [rdi + 0x50]
mov rcx, qword [r15 + rax]
test rcx, rcx
je 0x14008d824
mov rcx, qword [rcx + 0x30]
call fcn.14008e748
mov rax, qword [rdi + 0x50]
lea rdx, [rdi + 0x80]
mov rcx, qword [r15 + rax]
lea rax, str.ILibMulticastSocket_v4
mov qword [rcx + 0x30], rax
mov rcx, qword [rdi + 0x50]
mov r8, qword [rdi + 0xb0]
add r8, r13
mov rcx, qword [r15 + rcx]
call fcn.14008c3e0
mov r8, qword [rdi + 0xb0]
mov r9d, reloc.WS2_32.dll_recv
mov rax, qword [rdi + 0x50]
add r8, r14
lea edx, [r9 + 0xc]
cmp word [r8], 0x17
mov rcx, qword [r15 + rax]
cmove r9d, edx
add rcx, 0x94
call section..text
mov rax, qword [rdi + 0x50]
lea r9, [rdi + 0x68]
xor edx, edx
mov dword [rsp + 0x20], 4
mov rcx, qword [r15 + 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 0x14008d969
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 0x14008d93d
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 0x14008d911
mov rax, qword [rdi + 0xb0]
lea r8, [rsp + 0xb8]
mov qword [rsp + 0x40], rbx
mov r9d, 4
mov qword [rsp + 0x38], rbx
mov edx, 0x9800000c
mov rcx, r13
mov word [r14 + rax + 2], bx
lea rax, [rsp + 0xb0]
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 r15, 8
add ebp, r13d
add r14, 0x10
cmp ebp, dword [rdi + 0xb8]
jge 0x14008d84a
jmp 0x14008d695
mov rcx, r14
call fcn.1401ccb68
test r12d, r12d
je 0x14008d8a5
test rsi, rsi
je 0x14008d8b2
lea rbp, [rdi + 0x90]
cmp word [rbp], bx
je 0x14008d8a5
cmp qword [rdi + 0x48], rbx
je 0x14008d8a5
mov dword [rdi + 0xc8], r12d
mov qword [rdi + 0xc0], rsi
test r12d, r12d
jle 0x14008d8b2
mov rsi, rbx
mov rax, qword [rdi + 0xc0]
mov rdx, rbp
mov rcx, qword [rdi + 0x48]
mov r8d, dword [rsi + rax]
call fcn.14008c444
add ebx, r13d
lea rsi, [rsi + 4]
cmp ebx, dword [rdi + 0xc8]
jl 0x14008d87d
jmp 0x14008d8b2
test rsi, rsi
je 0x14008d8b2
mov rcx, rsi
call fcn.1401ccb68
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.X:XYO_SecurityDevelopmentMeshAgent.CustommicrostackILibMulticastSocket.c
mov r9d, edi
mov dword [rsp + 0x20], eax
xor ecx, ecx
lea ebx, [rdi - 0x62]
mov r8d, ebx
call fcn.14009718c
mov r8d, ebx
lea rdx, str.X:XYO_SecurityDevelopmentMeshAgent.CustommicrostackILibMulticastSocket.c
lea rcx, str.CRITICALEXIT__FILE:__s__LINE:__d_r_n
call fcn.140001090
mov ecx, edi
call fcn.1401c761c
int3
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8d, 0xac
mov dword [rsp + 0x20], ebx
mov r9d, eax
lea rdx, str.X:XYO_SecurityDevelopmentMeshAgent.CustommicrostackILibMulticastSocket.c
xor ecx, ecx
call fcn.14009718c
mov ecx, 0xfd
call fcn.1401c761c
int3
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8d, 0xab
mov dword [rsp + 0x20], ebx
mov r9d, eax
lea rdx, str.X:XYO_SecurityDevelopmentMeshAgent.CustommicrostackILibMulticastSocket.c
xor ecx, ecx
call fcn.14009718c
mov ecx, 0xfd
call fcn.1401c761c
int3
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8d, 0xaa
mov dword [rsp + 0x20], ebx
mov r9d, eax
lea rdx, str.X:XYO_SecurityDevelopmentMeshAgent.CustommicrostackILibMulticastSocket.c
xor ecx, ecx
call fcn.14009718c
mov ecx, 0xfd
call fcn.1401c761c
int3