Function at 0x140097950
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 0x140097a35
lea rcx, [rax - 0x40]
call fcn.140098558
mov r14, qword [rsp + 0x58]
movsxd r15, eax
cmp r15d, dword [rdi + 0xb8]
jne 0x1400979c7
mov rdx, qword [rdi + 0xb0]
test r14, r14
jne 0x1400979c2
test rdx, rdx
je 0x1400979e1
jmp 0x1400979c7
test rdx, rdx
jne 0x1400979cc
mov ebp, r13d
jmp 0x1400979e1
mov r8, r15
mov rcx, r14
shl r8, 4
call fcn.1401cbe70
test eax, eax
cmovne ebp, r13d
cmp qword [rdi + 0x48], rbx
je 0x140097b36
lea rcx, [rsp + 0x50]
call fcn.140098724
mov rsi, qword [rsp + 0x50]
movsxd r12, eax
cmp r12d, dword [rdi + 0xc8]
jne 0x140097a35
mov rax, qword [rdi + 0xc0]
test rsi, rsi
je 0x140097b2d
test rax, rax
je 0x140097a35
mov r8, r12
mov rdx, rax
shl r8, 2
mov rcx, rsi
call fcn.1401cbe70
test eax, eax
je 0x140097b36
mov rcx, qword [rdi + 0xb0]
test rcx, rcx
je 0x140097a4d
call fcn.1401d6b80
mov qword [rdi + 0xb0], rbx
mov rcx, qword [rdi + 0xc0]
test rcx, rcx
je 0x140097a65
call fcn.1401d6b80
mov qword [rdi + 0xc0], rbx
mov rcx, qword [rdi + 0x50]
test rcx, rcx
je 0x140097ac8
mov r13d, ebx
cmp dword [rdi + 0xb8], ebx
jle 0x140097ab9
mov rbp, rbx
mov rax, qword [rdi + 0x50]
mov r9, qword [rax + rbp]
test r9, r9
je 0x140097aa5
mov rcx, qword [rdi + 0x20]
or dword [r9 + 0x38], 0xffffffff
cmp dword [rcx], ebx
jne 0x140097aa5
xor r8d, r8d
lea rdx, [fcn.1400992a0]
call fcn.1400990f8
inc r13d
add rbp, 8
cmp r13d, dword [rdi + 0xb8]
jl 0x140097a7c
mov rcx, qword [rdi + 0x50]
call fcn.1401d6b80
mov qword [rdi + 0x50], rbx
mov r13d, 1
cmp dword [rsp + 0xa8], ebx
jne 0x140097b4e
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 0x140097d1e
cmp word [rdi + 0x80], bx
je 0x140097d16
mov dword [rdi + 0xb8], r15d
mov qword [rdi + 0xb0], r14
test r15d, r15d
jle 0x140097d1e
movsxd rcx, r15d
shl rcx, 3
call fcn.1401d7f54
mov qword [rdi + 0x50], rax
test rax, rax
je 0x140097da1
jmp 0x140097b55
test rax, rax
jne 0x140097a35
test ebp, ebp
jne 0x140097a35
mov rcx, r14
call fcn.1401d6b80
mov rcx, rsi
call fcn.1401d6b80
xor eax, eax
jmp 0x140097d89
mov ebp, ebx
cmp dword [rdi + 0xb8], ebx
jle 0x140097d1e
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, [0x1400978b4]
mov rcx, qword [rdi + 0x20]
add r8, r13
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rax
call fcn.140096738
mov rcx, qword [rdi + 0x50]
mov qword [r15 + rcx], rax
mov rax, qword [rdi + 0x50]
mov rcx, qword [r15 + rax]
test rcx, rcx
je 0x140097cf8
mov rcx, qword [rcx + 0x30]
call fcn.140098cbc
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.140096958
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 0x140097e3d
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 0x140097e11
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 0x140097de5
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 0x140097d1e
jmp 0x140097b69
mov rcx, r14
call fcn.1401d6b80
test r12d, r12d
je 0x140097d79
test rsi, rsi
je 0x140097d86
lea rbp, [rdi + 0x90]
cmp word [rbp], bx
je 0x140097d79
cmp qword [rdi + 0x48], rbx
je 0x140097d79
mov dword [rdi + 0xc8], r12d
mov qword [rdi + 0xc0], rsi
test r12d, r12d
jle 0x140097d86
mov rsi, rbx
mov rax, qword [rdi + 0xc0]
mov rdx, rbp
mov rcx, qword [rdi + 0x48]
mov r8d, dword [rsi + rax]
call fcn.1400969bc
add ebx, r13d
lea rsi, [rsi + 4]
cmp ebx, dword [rdi + 0xc8]
jl 0x140097d51
jmp 0x140097d86
test rsi, rsi
je 0x140097d86
mov rcx, rsi
call fcn.1401d6b80
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:UsersDELLDesktopProjektySUPMANMeshAgentmicrostackILibMulticastSocket.c
mov r9d, edi
mov dword [rsp + 0x20], eax
xor ecx, ecx
lea ebx, [rdi - 0x62]
mov r8d, ebx
call fcn.1400a1918
mov r8d, ebx
lea rdx, str.C:UsersDELLDesktopProjektySUPMANMeshAgentmicrostackILibMulticastSocket.c
lea rcx, str.CRITICALEXIT__FILE:__s__LINE:__d_r_n
call fcn.140001128
mov ecx, edi
call fcn.1401d00dc
int3
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8d, 0xac
mov dword [rsp + 0x20], ebx
mov r9d, eax
lea rdx, str.C:UsersDELLDesktopProjektySUPMANMeshAgentmicrostackILibMulticastSocket.c
xor ecx, ecx
call fcn.1400a1918
mov ecx, 0xfd
call fcn.1401d00dc
int3
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8d, 0xab
mov dword [rsp + 0x20], ebx
mov r9d, eax
lea rdx, str.C:UsersDELLDesktopProjektySUPMANMeshAgentmicrostackILibMulticastSocket.c
xor ecx, ecx
call fcn.1400a1918
mov ecx, 0xfd
call fcn.1401d00dc
int3
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8d, 0xaa
mov dword [rsp + 0x20], ebx
mov r9d, eax
lea rdx, str.C:UsersDELLDesktopProjektySUPMANMeshAgentmicrostackILibMulticastSocket.c
xor ecx, ecx
call fcn.1400a1918
mov ecx, 0xfd
call fcn.1401d00dc
int3