Function at 0x415b7a
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
lea ecx, [ecx]
sub eax, dword [0x7f5508]
sub ebx, dword [str.dj:]
sub edx, dword [0x7f550c]
mov ebx, ebx
add ecx, dword [0x7f5510]
sub ecx, dword [0x7f5510]
mov edx, edx
add ebx, dword [str.dj:]
add eax, dword [0x7f5508]
dec edx
lea edi, [edi]
inc edx
add edx, dword [0x7f550c]
push 0
push 1
push 2
call dword [sym.imp.WS2_32.dll_socket]
mov esi, eax
test esi, esi
jge 0x415c13
lea ecx, [ecx]
sub eax, dword [0x7f5508]
sub ebx, dword [str.dj:]
sub edx, dword [0x7f550c]
mov ebx, ebx
add ecx, dword [0x7f5510]
sub ecx, dword [0x7f5510]
mov edx, edx
add ebx, dword [str.dj:]
add eax, dword [0x7f5508]
dec edx
lea edi, [edi]
inc edx
add edx, dword [0x7f550c]
jmp 0x415e33
lea ecx, [ecx]
sub eax, dword [0x7f5508]
sub ebx, dword [str.dj:]
sub edx, dword [0x7f550c]
mov ebx, ebx
add ecx, dword [0x7f5510]
sub ecx, dword [0x7f5510]
mov edx, edx
add ebx, dword [str.dj:]
add eax, dword [0x7f5508]
dec edx
lea edi, [edi]
inc edx
add edx, dword [0x7f550c]
push 0x10
lea eax, [ebp - 0x10]
push 0
push eax
call fcn.00428b90
add esp, 0xc
lea ecx, [ecx]
sub eax, dword [0x7f5508]
sub ebx, dword [str.dj:]
sub edx, dword [0x7f550c]
mov ebx, ebx
add ecx, dword [0x7f5510]
sub ecx, dword [0x7f5510]
mov edx, edx
add ebx, dword [str.dj:]
add eax, dword [0x7f5508]
dec edx
lea edi, [edi]
inc edx
add edx, dword [0x7f550c]
mov word [ebp - 0x10], 2
lea ecx, [ecx]
sub eax, dword [0x7f5508]
sub ebx, dword [str.dj:]
sub edx, dword [0x7f550c]
mov ebx, ebx
add ecx, dword [0x7f5510]
sub ecx, dword [0x7f5510]
mov edx, edx
add ebx, dword [str.dj:]
add eax, dword [0x7f5508]
dec edx
lea edi, [edi]
inc edx
add edx, dword [0x7f550c]
push dword [ebp + 8]
call dword [sym.imp.WS2_32.dll_inet_addr]
mov dword [ebp - 0xc], eax
lea ecx, [ecx]
sub eax, dword [0x7f5508]
sub ebx, dword [str.dj:]
sub edx, dword [0x7f550c]
mov ebx, ebx
add ecx, dword [0x7f5510]
sub ecx, dword [0x7f5510]
mov edx, edx
add ebx, dword [str.dj:]
add eax, dword [0x7f5508]
dec edx
lea edi, [edi]
inc edx
add edx, dword [0x7f550c]
push dword [ebp + 0xc]
call dword [sym.imp.WS2_32.dll_htons]
mov word [ebp - 0xe], ax
lea ecx, [ecx]
sub eax, dword [0x7f5508]
sub ebx, dword [str.dj:]
sub edx, dword [0x7f550c]
mov ebx, ebx
add ecx, dword [0x7f5510]
sub ecx, dword [0x7f5510]
mov edx, edx
add ebx, dword [str.dj:]
add eax, dword [0x7f5508]
dec edx
lea edi, [edi]
inc edx
add edx, dword [0x7f550c]
lea eax, [ebp - 0x10]
push 0x10
push eax
push esi
call dword [sym.imp.WS2_32.dll_connect]
mov dword [ebp + 8], eax
lea ecx, [ecx]
sub eax, dword [0x7f5508]
sub ebx, dword [str.dj:]
sub edx, dword [0x7f550c]
mov ebx, ebx
add ecx, dword [0x7f5510]
sub ecx, dword [0x7f5510]
mov edx, edx
add ebx, dword [str.dj:]
add eax, dword [0x7f5508]
dec edx
lea edi, [edi]
inc edx
add edx, dword [0x7f550c]
cmp dword [ebp + 8], 0
je 0x415e38
lea ecx, [ecx]
sub eax, dword [0x7f5508]
sub ebx, dword [str.dj:]
sub edx, dword [0x7f550c]
mov ebx, ebx
add ecx, dword [0x7f5510]
sub ecx, dword [0x7f5510]
mov edx, edx
add ebx, dword [str.dj:]
add eax, dword [0x7f5508]
dec edx
lea edi, [edi]
inc edx
add edx, dword [0x7f550c]
push esi
call dword [sym.imp.WS2_32.dll_closesocket]
lea ecx, [ecx]
sub eax, dword [0x7f5508]
sub ebx, dword [str.dj:]
sub edx, dword [0x7f550c]
mov ebx, ebx
add ecx, dword [0x7f5510]
sub ecx, dword [0x7f5510]
mov edx, edx
add ebx, dword [str.dj:]
add eax, dword [0x7f5508]
dec edx
lea edi, [edi]
inc edx
add edx, dword [0x7f550c]
or eax, 0xffffffff
jmp 0x415e3a
mov eax, esi
pop edi
pop esi
pop ebx
leave
ret