Function at 0x140112440
Capabilities:
Set socket configuration

Disassembly:
mov qword [rsp + 0x20], r9
mov word [rsp + 0x18], r8w
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
push rdi
sub rsp, 0xa0
mov rax, qword [0x140325ed8]
xor rax, rsp
mov qword [rsp + 0x98], rax
mov ecx, 0xd0
call fcn.14027bb94
mov qword [rsp + 0x40], rax
cmp qword [rsp + 0x40], 0
jne 0x14011248c
xor eax, eax
jmp 0x140112938
mov rdi, qword [rsp + 0x40]
xor eax, eax
mov ecx, 0xd0
rep stosb byte [rdi], al
lea rax, [rsp + 0x68]
mov rdi, rax
xor eax, eax
mov ecx, reloc.WS2_32.dll_recv
rep stosb byte [rdi], al
mov eax, 2
mov word [rsp + 0x68], ax
movzx ecx, word [rsp + 0xc0]
call qword [sym.imp.WS2_32.dll_htons]
mov word [rsp + 0x6a], ax
lea rax, [rsp + 0x78]
mov rdi, rax
xor eax, eax
mov ecx, 0x1c
rep stosb byte [rdi], al
mov eax, reloc.WS2_32.dll_socket
mov word [rsp + 0x78], ax
movzx ecx, word [rsp + 0xc0]
call qword [sym.imp.WS2_32.dll_htons]
mov word [rsp + 0x7a], ax
xor edx, edx
lea rcx, str.ILibMulticastSocket
call fcn.140113340
mov rcx, qword [rsp + 0x40]
mov qword [rcx + 0x30], rax
mov rax, qword [rsp + 0x40]
lea rcx, [0x140112420]
mov qword [rax + 0x10], rcx
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0xb0]
mov qword [rax + 0x20], rcx
mov rax, qword [rsp + 0x40]
movzx ecx, word [rsp + 0xc0]
mov word [rax + 0x70], cx
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x68], 4
mov rax, qword [rsp + 0x40]
mov ecx, dword [rsp + 0xe8]
mov dword [rax + 0x6c], ecx
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0xd8]
mov qword [rax + 0x78], rcx
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0xe0]
mov qword [rax + 0x58], rcx
cmp qword [rsp + 0xc8], 0
je 0x14011274c
mov rax, qword [rsp + 0x40]
add rax, 0x80
mov r9d, reloc.WS2_32.dll_recv
mov r8, qword [rsp + 0xc8]
mov edx, reloc.WS2_32.dll_recv
mov rcx, rax
call fcn.140001020
mov rax, qword [rsp + 0x40]
movzx eax, word [rax + 0x82]
test eax, eax
jne 0x1401125db
movzx ecx, word [rsp + 0xc0]
call qword [sym.imp.WS2_32.dll_htons]
mov rcx, qword [rsp + 0x40]
mov word [rcx + 0x82], ax
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], 0
lea rax, [0x1401116d0]
mov qword [rsp + 0x20], rax
mov r9d, 1
lea r8, [rsp + 0x68]
xor edx, edx
mov rcx, qword [rsp + 0xb0]
call fcn.14010f1b0
mov rcx, qword [rsp + 0x40]
mov qword [rcx + 0x40], rax
mov rax, qword [rsp + 0x40]
cmp qword [rax + 0x40], 0
jne 0x14011263a
mov rcx, qword [rsp + 0x40]
call fcn.14027a7c0
xor eax, eax
jmp 0x140112938
mov rax, qword [rsp + 0x40]
cmp qword [rax + 0x40], 0
je 0x14011266c
mov rax, qword [rsp + 0x40]
mov rax, qword [rax + 0x40]
mov rcx, qword [rax + 0x30]
call fcn.140113b40
mov rax, qword [rsp + 0x40]
mov rax, qword [rax + 0x40]
lea rcx, str.ILibMulticastSocketListener_v4
mov qword [rax + 0x30], rcx
mov rax, qword [rsp + 0x40]
add rax, 0x68
mov qword [rsp + 0x48], rax
mov rcx, qword [rsp + 0x40]
mov rcx, qword [rcx + 0x40]
call fcn.14010f4c0
mov dword [rsp + 0x20], 4
mov rcx, qword [rsp + 0x48]
mov r9, rcx
mov r8d, 0xa
xor edx, edx
mov rcx, rax
call qword [sym.imp.WS2_32.dll_setsockopt]
test eax, eax
je 0x1401126dc
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x20], 0
mov r9d, eax
mov r8d, 0x141
lea rdx, [0x1403a9f10]
xor ecx, ecx
call fcn.140124df0
mov ecx, 0xfd
call fcn.1402742dc
mov rax, qword [rsp + 0x40]
add rax, 0x6c
mov qword [rsp + 0x50], rax
mov rcx, qword [rsp + 0x40]
mov rcx, qword [rcx + 0x40]
call fcn.14010f4c0
mov dword [rsp + 0x20], 4
mov rcx, qword [rsp + 0x50]
mov r9, rcx
mov r8d, listen
xor edx, edx
mov rcx, rax
call qword [sym.imp.WS2_32.dll_setsockopt]
test eax, eax
je 0x14011274c
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x20], 0
mov r9d, eax
mov r8d, 0x142
lea rdx, [0x1403a9ea0]
xor ecx, ecx
call fcn.140124df0
mov ecx, 0xfd
call fcn.1402742dc
cmp qword [rsp + 0xd0], 0
je 0x140112915
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], 0
lea rax, [0x140111750]
mov qword [rsp + 0x20], rax
mov r9d, 1
lea r8, [rsp + 0x78]
xor edx, edx
mov rcx, qword [rsp + 0xb0]
call fcn.14010f1b0
mov rcx, qword [rsp + 0x40]
mov qword [rcx + 0x48], rax
mov rax, qword [rsp + 0x40]
cmp qword [rax + 0x48], 0
je 0x140112915
mov rax, qword [rsp + 0x40]
cmp qword [rax + 0x48], 0
je 0x1401127df
mov rax, qword [rsp + 0x40]
mov rax, qword [rax + 0x48]
mov rcx, qword [rax + 0x30]
call fcn.140113b40
mov rax, qword [rsp + 0x40]
mov rax, qword [rax + 0x48]
lea rcx, str.ILibMulticastSocketListener_v6
mov qword [rax + 0x30], rcx
mov rax, qword [rsp + 0x40]
add rax, 0x90
mov r9d, 0x1c
mov r8, qword [rsp + 0xd0]
mov edx, 0x1c
mov rcx, rax
call fcn.140001020
mov rax, qword [rsp + 0x40]
movzx eax, word [rax + 0x92]
test eax, eax
jne 0x14011282f
movzx ecx, word [rsp + 0xc0]
call qword [sym.imp.WS2_32.dll_htons]
mov rcx, qword [rsp + 0x40]
mov word [rcx + 0x92], ax
mov rax, qword [rsp + 0x40]
add rax, 0x68
mov qword [rsp + 0x58], rax
mov rcx, qword [rsp + 0x40]
mov rcx, qword [rcx + 0x48]
call fcn.14010f4c0
mov dword [rsp + 0x20], 4
mov rcx, qword [rsp + 0x58]
mov r9, rcx
mov r8d, 0xa
mov edx, 0x29
mov rcx, rax
call qword [sym.imp.WS2_32.dll_setsockopt]
test eax, eax
je 0x1401128a2
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x20], 0
mov r9d, eax
mov r8d, 0x159
lea rdx, [0x1403a9e30]
xor ecx, ecx
call fcn.140124df0
mov ecx, 0xfd
call fcn.1402742dc
mov rax, qword [rsp + 0x40]
add rax, 0x6c
mov qword [rsp + 0x60], rax
mov rcx, qword [rsp + 0x40]
mov rcx, qword [rcx + 0x48]
call fcn.14010f4c0
mov dword [rsp + 0x20], 4
mov rcx, qword [rsp + 0x60]
mov r9, rcx
mov r8d, listen
mov edx, 0x29
mov rcx, rax
call qword [sym.imp.WS2_32.dll_setsockopt]
test eax, eax
je 0x140112915
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x20], 0
mov r9d, eax
mov r8d, 0x15a
lea rdx, [0x1403a9db0]
xor ecx, ecx
call fcn.140124df0
mov ecx, 0xfd
call fcn.1402742dc
xor edx, edx
mov rcx, qword [rsp + 0x40]
call fcn.1401117e0
mov rdx, qword [rsp + 0x40]
mov rcx, qword [rsp + 0xb0]
call fcn.140114f40
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x98]
xor rcx, rsp
call fcn.14026d940
add rsp, 0xa0
pop rdi
ret