Function at 0x489500
Capabilities:
Create tcp socket
Create udp socket
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
mov eax, dword [0x55ca98]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push 0
push 2
push 2
call dword [sym.imp.WS2_32.dll_socket]
mov esi, eax
mov dword [ebp - 0x1c], 1
mov byte [ebp - 0x16], 1
mov byte [ebp - 0x15], 0xff
test esi, esi
jns 0x489552
push str.recv_socket__:__m_n
push 1
call fcn.00489dd0
add esp, 8
mov eax, esi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005091c5
mov esp, ebp
pop ebp
ret
push ebx
push edi
mov edi, dword [sym.imp.WS2_32.dll_setsockopt]
lea eax, [ebp - 0x1c]
push 4
push eax
push 4
push 0xffff
push esi
call edi
mov ebx, eax
test ebx, ebx
jns 0x489592
push str.recv_setsockopt_SO_REUSEADDR_:__m_n
push 1
call fcn.00489dd0
add esp, 8
mov eax, ebx
pop edi
pop ebx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005091c5
mov esp, ebp
pop ebp
ret
xorps xmm0, xmm0
mov eax, 2
push 0x14e9
movlpd qword [ebp - 0xc], xmm0
mov word [ebp - 0x14], ax
call dword [sym.imp.WS2_32.dll_htons]
push 0
mov word [ebp - 0x12], ax
call dword [sym.imp.WS2_32.dll_htonl]
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x14]
push 0x10
push eax
push esi
call dword [sym.imp.WS2_32.dll_bind]
mov ebx, eax
test ebx, ebx
jns 0x4895f2
push str.recv_bind__:__m_n
push 1
call fcn.00489dd0
add esp, 8
mov eax, ebx
pop edi
pop ebx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005091c5
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
xorps xmm0, xmm0
push 4
movlpd qword [ebp - 0x24], xmm0
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x20]
push eax
push 9
push 0
push esi
call edi
mov ebx, eax
test ebx, ebx
jns 0x489635
push str.recv_setsockopt_IP_PROTO_IP_:__m_n
push 1
call fcn.00489dd0
add esp, 8
mov eax, ebx
pop edi
pop ebx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005091c5
mov esp, ebp
pop ebp
ret
push 1
lea eax, [ebp - 0x15]
push eax
push 0xa
push 0
push esi
call edi
mov ebx, eax
test ebx, ebx
jns 0x48966a
push str.recv_setsockopt_IP_MULTICAST_IP_:__m_n
push 1
call fcn.00489dd0
add esp, 8
mov eax, ebx
pop edi
pop ebx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005091c5
mov esp, ebp
pop ebp
ret
push str.224.0.0.251
call dword [sym.imp.WS2_32.dll_inet_addr]
push 8
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x24]
push eax
push 0xc
push 0
push esi
call edi
mov ebx, eax
test ebx, ebx
jns 0x4896ad
push str.recv_setsockopt_IP_ADD_MEMBERSHIP_:__m_n
push 1
call fcn.00489dd0
add esp, 8
mov eax, ebx
pop edi
pop ebx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005091c5
mov esp, ebp
pop ebp
ret
push 1
lea eax, [ebp - 0x16]
push eax
push 0xb
push 0
push esi
call edi
mov ebx, eax
test ebx, ebx
jns 0x4896e2
push str.recv_setsockopt_IP_MULTICAST_LOOP_:__m_n
push 1
call fcn.00489dd0
add esp, 8
mov eax, ebx
pop edi
pop ebx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005091c5
mov esp, ebp
pop ebp
ret
push 4
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 1
push eax
push 0x13
push 0
push esi
call edi
mov edi, eax
test edi, edi
jns 0x48971e
push str.recv_setsockopt_IP_PKTINFO_:__m_n
push 1
call fcn.00489dd0
add esp, 8
mov eax, edi
pop edi
pop ebx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005091c5
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 4]
mov eax, esi
pop edi
pop ebx
xor ecx, ebp
pop esi
call fcn.005091c5
mov esp, ebp
pop ebp
ret