Function at 0x48087a
Capabilities:
Set socket configuration
Terminate process

Disassembly:
sub esp, 0x34
mov eax, dword [0x6ccd44]
xor eax, esp
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x3c]
push ebx
push ebp
mov ebp, dword [esp + 0x48]
mov ebx, ecx
push esi
push edi
push 0x11e
push 0x71fac4
push 1
mov edi, 0x80
mov dword [esp + 0x1c], eax
push edi
call fcn.005e7f10
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x4808d8
push 0x11f
push 0x71fae8
push 0x71fb0c
call fcn.00401109
add esp, 0xc
xor eax, eax
jmp 0x480b07
push edi
xor eax, eax
push eax
push esi
call fcn.005b5fd0
xor eax, eax
lea edi, [esp + 0x20]
stosd dword es:[edi], eax
add esp, 0xc
stosd dword es:[edi], eax
push 2
stosd dword es:[edi], eax
stosd dword es:[edi], eax
pop eax
push dword [esp + 0x48]
mov word [esp + 0x18], ax
call dword [sym.imp.WS2_32.dll_htons]
push 7
pop ecx
mov word [esp + 0x16], ax
lea edi, [esp + 0x24]
xor eax, eax
rep stosd dword es:[edi], eax
mov edi, dword [esp + 0x48]
push 0x17
pop eax
push edi
mov word [esp + 0x28], ax
call dword [sym.imp.WS2_32.dll_htons]
mov ecx, str.ILibMulticastSocket
mov word [esp + 0x26], ax
call fcn.00480fb6
mov dword [esi + 0x18], eax
mov eax, dword [esp + 0x58]
mov dword [esi + 0x2c], eax
mov eax, dword [esp + 0x10]
mov word [esi + 0x3c], di
mov edi, dword [sym.imp.WS2_32.dll_setsockopt]
mov dword [esi + 8], 0x48086e
mov dword [esi + 0x10], ebx
mov dword [esi + 0x34], 4
mov dword [esi + 0x38], 1
mov dword [esi + 0x40], 0x401325
test eax, eax
je 0x480a39
push 0x10
pop edx
push edx
push eax
lea ecx, [esi + 0x44]
call fcn.0047f0d6
xor eax, eax
pop ecx
pop ecx
cmp word [esi + 0x46], ax
jne 0x480999
push dword [esp + 0x48]
call dword [sym.imp.WS2_32.dll_htons]
mov word [esi + 0x46], ax
xor eax, eax
push esi
push eax
push 0x480346
lea eax, [esp + 0x20]
xor edx, edx
push 1
push eax
mov ecx, ebx
call fcn.0047f1f2
add esp, 0x14
mov dword [esi + 0x20], eax
test eax, eax
jne 0x4809de
push 1
push esi
call fcn.005e7dd0
push 0x13d
push 0x71fb38
push 0x71fb5c
call fcn.00401109
add esp, 0x14
jmp 0x4808d1
mov ecx, dword [eax + 0x18]
call fcn.00481286
mov eax, dword [esi + 0x20]
lea ecx, [esi + 0x34]
push 4
push ecx
push 0xa
mov dword [eax + 0x18], str.ILibMulticastSocketListener_v4
mov eax, dword [esi + 0x20]
push 0
push dword [eax + 0x34]
call edi
test eax, eax
jne 0x480b1a
mov eax, dword [esi + 0x20]
lea ecx, [esi + 0x38]
push 4
push ecx
push 0xb
push 0
push dword [eax + 0x34]
call edi
test eax, eax
je 0x480a39
xor eax, eax
push eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x142
mov edx, 0x71fbb8
jmp 0x480b2e
test ebp, ebp
je 0x480af3
push esi
xor eax, eax
xor edx, edx
push eax
push 0x48036f
lea eax, [esp + 0x30]
mov ecx, ebx
push 1
push eax
call fcn.0047f1f2
add esp, 0x14
mov dword [esi + 0x24], eax
test eax, eax
je 0x480af3
mov ecx, dword [eax + 0x18]
call fcn.00481286
mov eax, dword [esi + 0x24]
lea ecx, [esi + 0x54]
push 0x1c
pop edx
push edx
push ebp
mov dword [eax + 0x18], str.ILibMulticastSocketListener_v6
call fcn.0047f0d6
xor ebp, ebp
pop ecx
pop ecx
cmp word [esi + 0x56], bp
jne 0x480a9f
push dword [esp + 0x48]
call dword [sym.imp.WS2_32.dll_htons]
mov word [esi + 0x56], ax
mov eax, dword [esi + 0x24]
lea ecx, [esi + 0x34]
push 4
push ecx
push 0xa
push 0x29
push dword [eax + 0x34]
call edi
test eax, eax
je 0x480ac9
push ebp
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x159
mov edx, 0x71fbfc
jmp 0x480b2e
mov eax, dword [esi + 0x24]
lea ecx, [esi + 0x38]
push 4
push ecx
push 0xb
push 0x29
push dword [eax + 0x34]
call edi
test eax, eax
je 0x480af3
push ebp
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x15a
mov edx, 0x71fc20
jmp 0x480b2e
xor edx, edx
mov ecx, esi
call fcn.004803a4
mov edx, esi
mov ecx, ebx
call fcn.004819aa
mov eax, esi
mov ecx, dword [esp + 0x40]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.005b35b0
add esp, 0x34
ret
xor eax, eax
push eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x141
mov edx, 0x71fb94
xor ecx, ecx
call fcn.00488a50
add esp, 0xc
push 0xfd
call fcn.005c3000
int3