Function at 0x4bc014
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Connect udp socket
Create tcp socket
Create udp socket
Send data
Send data on socket
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
push eax
mov eax, 4
add esp, 0xfffff004
push eax
dec eax
jne 0x4bc01d
mov eax, dword [ebp - 4]
add esp, 0xffffffd0
push ebx
xor edx, edx
mov dword [ebp - 0x4034], edx
mov dword [ebp - 0x4020], edx
mov dword [ebp - 0x4028], edx
mov dword [ebp - 0x4030], edx
mov dword [ebp - 0x402c], edx
mov dword [ebp - 0x4024], edx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x4bc2ac
push dword fs:[eax]
mov dword fs:[eax], esp
xor edx, edx
push ebp
push 0x4bc27f
push dword fs:[edx]
mov dword fs:[edx], esp
push 0
push 1
push 2
call sub.wsock32.dll_socket
mov ebx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x6c], ebx
cmp ebx, 0xffffffff
jne 0x4bc098
call sub.rtl60.bpl__System__TryFinallyExit_qqrv
jmp 0x4bc286
push 0x10
mov eax, dword [ebp - 4]
add eax, 0x5c
push eax
push ebx
call sub.wsock32.dll_connect
inc eax
jne 0x4bc0b4
call sub.rtl60.bpl__System__TryFinallyExit_qqrv
jmp 0x4bc286
mov dword [ebp - 0xc], 0x3e8
mov dword [ebp - 0x10], 0xbb8
push 4
lea eax, [ebp - 0xc]
push eax
push 0x1005
push 0xffff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x6c]
push eax
call sub.wsock32.dll_setsockopt
push 4
lea eax, [ebp - 0x10]
push eax
push 0x1006
push 0xffff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x6c]
push eax
call sub.wsock32.dll_setsockopt
mov eax, dword [0x4bc2b8]
mov dword [ebp - 0x1b], eax
mov ax, word [0x4bc2bc]
mov word [ebp - 0x17], ax
mov al, byte [0x4bc2be]
mov byte [ebp - 0x15], al
mov word [ebp - 0x14], 0x745
lea eax, [ebp - 0x401b]
xor ecx, ecx
mov edx, 0x4000
call sub.rtl60.bpl__System__FillChar_qqrpvic
mov eax, dword [0x50848c]
mov eax, dword [eax]
push dword [eax + 0x970]
push 0x4bc2c8
lea eax, [ebp - 0x4024]
mov edx, dword [0x50848c]
mov edx, dword [edx]
add edx, 0xa43
mov ecx, 0x10
call sub.rtl60.bpl__System__LStrFromArray_qqrr17System_AnsiStringpci
mov eax, dword [ebp - 0x4024]
lea edx, [ebp - 0x4020]
call sub.rtl60.bpl__Sysutils_Trim_qqrx17System_AnsiString
push dword [ebp - 0x4020]
push 0x4bc2c8
lea edx, [ebp - 0x402c]
xor eax, eax
call sub.rtl60.bpl__System_ParamStr_qqri
mov edx, dword [ebp - 0x402c]
lea ecx, [ebp - 0x4028]
mov eax, dword [0x433204]
call fcn.00434074
push dword [ebp - 0x4028]
push 0x4bc2c8
push 0x4bc2d4
push 0x4bc2c8
lea edx, [ebp - 0x4030]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
mov eax, dword [eax]
call sub.rtl60.bpl__Sysutils_StrPas_qqrpxc
push dword [ebp - 0x4030]
push 0x4bc2c8
lea eax, [ebp - 8]
mov edx, 0xa
call sub.rtl60.bpl__System__LStrCatN_qqrv
lea ecx, [ebp - 0x4034]
mov edx, dword [ebp - 8]
mov eax, dword [0x433204]
call fcn.00434d60
mov edx, dword [ebp - 0x4034]
lea eax, [ebp - 8]
call sub.rtl60.bpl__System__LStrLAsg_qqrpvpxv
mov eax, dword [ebp - 8]
call sub.rtl60.bpl__System__LStrLen_qqrx17System_AnsiString
mov word [ebp - 0x12], ax
lea edx, [ebp - 0x1b]
lea eax, [ebp - 0x401b]
mov ecx, 0xb
call fcn.00401b54
mov eax, dword [ebp - 8]
call sub.rtl60.bpl__System__LStrLen_qqrx17System_AnsiString
push eax
lea eax, [ebp - 8]
call sub.rtl60.bpl__System__UniqueStringA_qqrr17System_AnsiString
mov edx, eax
lea eax, [ebp - 0x4010]
pop ecx
call fcn.00401b54
push 1
mov eax, dword [ebp - 8]
call sub.rtl60.bpl__System__LStrLen_qqrx17System_AnsiString
add eax, 0xb
push eax
lea eax, [ebp - 0x401b]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x6c]
push eax
call sub.wsock32.dll_send
test eax, eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4bc286
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x6c]
cmp eax, 0xffffffff
je 0x4bc27e
push eax
call sub.wsock32.dll_closesocket
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4bc2b3
lea eax, [ebp - 0x4034]
mov edx, 6
call sub.rtl60.bpl__System__LStrArrayClr_qqrpvi
lea eax, [ebp - 8]
call sub.rtl60.bpl__System__LStrClr_qqrpv
ret