Function at 0x40d5e3
Capabilities:
Create udp socket
Set socket configuration

Disassembly:
sub esp, 0x18
push esi
mov esi, ecx
mov dword [esp + 8], 1
mov dword [esp + 4], 1
mov eax, dword [esi + 0xfb4]
lea ecx, [esi + 0xfb4]
call dword [eax + 0x1c]
push 0xfaa
lea ecx, [esi + 8]
push 0
push ecx
call fcn.00413110
push 0xfb8
lea edx, [esi + 0xfc8]
push 0
push edx
mov dword [esi + 0x1f80], 1
call fcn.00413110
add esp, 0x18
xor eax, eax
mov dword [esp + 4], eax
mov dword [esi + eax*4 + 0x1f84], 0xffffffff
mov eax, dword [esp + 4]
inc eax
cmp eax, 5
mov dword [esp + 4], eax
jb 0x40d63b
push 0x11
push 2
push 2
call sub.WSOCK32.dll_socket
cmp eax, 0xffffffff
mov dword [esi + 0xfc4], eax
jne 0x40d698
call sub.WSOCK32.dll_WSAGetLastError
cmp eax, 0x273f
je 0x40d68f
push eax
call fcn.0040d9d0
push eax
push str.WARNING__NetSocket::Create:__s._n
push 0x47e730
call fcn.004195f0
add esp, 0x10
xor eax, eax
pop esi
add esp, 0x18
ret 0xc
lea ecx, [esp + 4]
push ecx
push 0x8004667e
push eax
call sub.WSOCK32.dll_ioctlsocket
cmp eax, 0xffffffff
jne 0x40d6d4
call sub.WSOCK32.dll_WSAGetLastError
push eax
call fcn.0040d9d0
push eax
push str.WARNING__NetSocket::Create:_ioctl_FIONBIO:__s_n
push 0x47e730
call fcn.004195f0
add esp, 0x10
xor eax, eax
pop esi
add esp, 0x18
ret 0xc
mov eax, dword [esi + 0xfc4]
lea edx, [esp + 4]
push 4
push edx
push 0x20
push 0xffff
push eax
call sub.WSOCK32.dll_setsockopt
cmp eax, 0xffffffff
jne 0x40d71a
call sub.WSOCK32.dll_WSAGetLastError
push eax
call fcn.0040d9d0
push eax
push str.WARNING__NetSocket::Create:_setsockopt_SO_BROADCAST:__s_n
push 0x47e730
call fcn.004195f0
add esp, 0x10
xor eax, eax
pop esi
add esp, 0x18
ret 0xc
mov eax, dword [esp + 0x24]
test eax, eax
je 0x40d768
mov edx, dword [esi + 0xfc4]
lea ecx, [esp + 8]
push 4
push ecx
push 4
push 0xffff
push edx
call sub.WSOCK32.dll_setsockopt
cmp eax, 0xffffffff
jne 0x40d768
call sub.WSOCK32.dll_WSAGetLastError
push eax
call fcn.0040d9d0
push eax
push str.WARNING__NetSocket::Create:_setsockopt_SO_REUSEADDR:__s_n
push 0x47e730
call fcn.004195f0
add esp, 0x10
xor eax, eax
pop esi
add esp, 0x18
ret 0xc
mov eax, dword [0x450eec]
test eax, eax
je 0x40d782
lea eax, [esp + 0xc]
mov ecx, 0x450ec0
push eax
call fcn.0040b840
jmp 0x40d78a
mov dword [esp + 0x10], 0
mov eax, dword [esp + 0x20]
push eax
mov dword [esi + 4], eax
call sub.WSOCK32.dll_htons
mov edx, dword [esi + 0xfc4]
lea ecx, [esp + 0xc]
push 0x10
push ecx
push edx
mov word [esp + 0x1a], ax
mov word [esp + 0x18], 2
call sub.WSOCK32.dll_bind
cmp eax, 0xffffffff
jne 0x40d7ee
call sub.WSOCK32.dll_WSAGetLastError
push eax
call fcn.0040d9d0
push eax
push str.WARNING__NetSocket::Create:_bind__s_n
push 0x47e730
call fcn.004195f0
mov eax, dword [esi + 0xfc4]
add esp, 0x10
push eax
call sub.WSOCK32.dll_closesocket
xor eax, eax
pop esi
add esp, 0x18
ret 0xc
push str._multicastttl
mov ecx, 0x47e730
call fcn.00419940
test eax, eax
je 0x40d810
push eax
call fcn.00413380
add esp, 4
mov dword [esp + 4], eax
jmp 0x40d818
mov dword [esp + 4], 0x20
mov edx, dword [esi + 0xfc4]
lea ecx, [esp + 4]
push 4
push ecx
push 3
push 0
push edx
call sub.WSOCK32.dll_setsockopt
cmp eax, 0xffffffff
jne 0x40d854
call sub.WSOCK32.dll_WSAGetLastError
push str.WARNING__NetSocket::Create:_setsockopt_IP_MULTICAST_TTL_failed._n
push 0x47e730
call fcn.004195f0
add esp, 8
xor eax, eax
pop esi
add esp, 0x18
ret 0xc
mov eax, 1
pop esi
add esp, 0x18
ret 0xc