Function at 0x415b7f
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Connect udp socket
Create tcp socket
Create udp socket

Disassembly:
push ebp
mov ebp, esp
push 0x10
pop eax
call fcn.004291f0
push ebx
push esi
push edi
sub eax, dword [0x7f5508]
sub ebx, dword [str.Tb:]
mov ebx, ebx
add ecx, dword [0x7f5510]
sub edx, dword [0x7f550c]
sub ecx, dword [0x7f5510]
inc edx
mov edx, edx
add ebx, dword [str.Tb:]
add eax, dword [0x7f5508]
dec edx
lea edi, [edi]
add edx, dword [0x7f550c]
lea ecx, [ecx]
push 0
push 1
push 2
call dword [sym.imp.WS2_32.dll_socket]
mov esi, eax
test esi, esi
jge 0x415c18
sub eax, dword [0x7f5508]
sub ebx, dword [str.Tb:]
mov ebx, ebx
add ecx, dword [0x7f5510]
sub edx, dword [0x7f550c]
sub ecx, dword [0x7f5510]
inc edx
mov edx, edx
add ebx, dword [str.Tb:]
add eax, dword [0x7f5508]
dec edx
lea edi, [edi]
add edx, dword [0x7f550c]
lea ecx, [ecx]
jmp 0x415e38
sub eax, dword [0x7f5508]
sub ebx, dword [str.Tb:]
mov ebx, ebx
add ecx, dword [0x7f5510]
sub edx, dword [0x7f550c]
sub ecx, dword [0x7f5510]
inc edx
mov edx, edx
add ebx, dword [str.Tb:]
add eax, dword [0x7f5508]
dec edx
lea edi, [edi]
add edx, dword [0x7f550c]
lea ecx, [ecx]
push 0x10
lea eax, [ebp - 0x10]
push 0
push eax
call fcn.00428b90
add esp, 0xc
sub eax, dword [0x7f5508]
sub ebx, dword [str.Tb:]
mov ebx, ebx
add ecx, dword [0x7f5510]
sub edx, dword [0x7f550c]
sub ecx, dword [0x7f5510]
inc edx
mov edx, edx
add ebx, dword [str.Tb:]
add eax, dword [0x7f5508]
dec edx
lea edi, [edi]
add edx, dword [0x7f550c]
lea ecx, [ecx]
mov word [ebp - 0x10], 2
sub eax, dword [0x7f5508]
sub ebx, dword [str.Tb:]
mov ebx, ebx
add ecx, dword [0x7f5510]
sub edx, dword [0x7f550c]
sub ecx, dword [0x7f5510]
inc edx
mov edx, edx
add ebx, dword [str.Tb:]
add eax, dword [0x7f5508]
dec edx
lea edi, [edi]
add edx, dword [0x7f550c]
lea ecx, [ecx]
push dword [ebp + 8]
call dword [sym.imp.WS2_32.dll_inet_addr]
mov dword [ebp - 0xc], eax
sub eax, dword [0x7f5508]
sub ebx, dword [str.Tb:]
mov ebx, ebx
add ecx, dword [0x7f5510]
sub edx, dword [0x7f550c]
sub ecx, dword [0x7f5510]
inc edx
mov edx, edx
add ebx, dword [str.Tb:]
add eax, dword [0x7f5508]
dec edx
lea edi, [edi]
add edx, dword [0x7f550c]
lea ecx, [ecx]
push dword [ebp + 0xc]
call dword [sym.imp.WS2_32.dll_htons]
mov word [ebp - 0xe], ax
sub eax, dword [0x7f5508]
sub ebx, dword [str.Tb:]
mov ebx, ebx
add ecx, dword [0x7f5510]
sub edx, dword [0x7f550c]
sub ecx, dword [0x7f5510]
inc edx
mov edx, edx
add ebx, dword [str.Tb:]
add eax, dword [0x7f5508]
dec edx
lea edi, [edi]
add edx, dword [0x7f550c]
lea ecx, [ecx]
lea eax, [ebp - 0x10]
push 0x10
push eax
push esi
call dword [sym.imp.WS2_32.dll_connect]
mov dword [ebp + 8], eax
sub eax, dword [0x7f5508]
sub ebx, dword [str.Tb:]
mov ebx, ebx
add ecx, dword [0x7f5510]
sub edx, dword [0x7f550c]
sub ecx, dword [0x7f5510]
inc edx
mov edx, edx
add ebx, dword [str.Tb:]
add eax, dword [0x7f5508]
dec edx
lea edi, [edi]
add edx, dword [0x7f550c]
lea ecx, [ecx]
cmp dword [ebp + 8], 0
je 0x415e3d
sub eax, dword [0x7f5508]
sub ebx, dword [str.Tb:]
mov ebx, ebx
add ecx, dword [0x7f5510]
sub edx, dword [0x7f550c]
sub ecx, dword [0x7f5510]
inc edx
mov edx, edx
add ebx, dword [str.Tb:]
add eax, dword [0x7f5508]
dec edx
lea edi, [edi]
add edx, dword [0x7f550c]
lea ecx, [ecx]
push esi
call dword [sym.imp.WS2_32.dll_closesocket]
sub eax, dword [0x7f5508]
sub ebx, dword [str.Tb:]
mov ebx, ebx
add ecx, dword [0x7f5510]
sub edx, dword [0x7f550c]
sub ecx, dword [0x7f5510]
inc edx
mov edx, edx
add ebx, dword [str.Tb:]
add eax, dword [0x7f5508]
dec edx
lea edi, [edi]
add edx, dword [0x7f550c]
lea ecx, [ecx]
or eax, 0xffffffff
jmp 0x415e3f
mov eax, esi
pop edi
pop esi
pop ebx
leave
ret