Function at 0x4ccd8c
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Connect udp socket
Create tcp socket
Create udp socket
Get local ipv4 addresses
Get socket information
Receive data
Receive data on socket
Send data
Send data on socket
Set socket configuration
Start tcp server

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x60
mov dword [esp + 8], 0x10
push 6
push 1
push 2
call dword [sym.imp.WS2_32.dll_socket]
cmp eax, 0xffffffff
je 0x4ccefc
mov esi, eax
mov ebx, dword [ebp + 0x14]
xor eax, eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], eax
mov word [esp + 0x14], 2
push 0x7f000001
call dword [sym.imp.WS2_32.dll_htonl]
mov dword [esp + 0x18], eax
mov word [esp + 0x16], 0
xor edi, edi
dec edi
mov dword [ebx + 4], edi
mov dword [ebx], edi
lea eax, [esp + 0x38]
mov dword [eax], 1
push 4
push eax
push 0xfffffffffffffffb
push 0xffff
push esi
call dword [sym.imp.WS2_32.dll_setsockopt]
cmp eax, edi
je 0x4ccee0
lea ebx, [esp + 0x14]
push 0x10
push ebx
push esi
call dword [sym.imp.WS2_32.dll_bind]
cmp eax, 0xffffffff
je 0x4ccee0
lea eax, [esp + 8]
push eax
push ebx
push esi
call dword [sym.imp.WS2_32.dll_getsockname]
cmp eax, 0xffffffff
je 0x4ccee0
cmp dword [esp + 8], 0x10
jl 0x4ccee0
push 1
push esi
call dword [sym.imp.WS2_32.dll_listen]
cmp eax, 0xffffffff
je 0x4ccee0
push 0
push 1
push 2
call dword [sym.imp.WS2_32.dll_socket]
mov ecx, dword [ebp + 0x14]
mov dword [ecx], eax
cmp eax, 0xffffffff
je 0x4ccee0
push 0x10
push ebx
push eax
call dword [sym.imp.WS2_32.dll_connect]
cmp eax, 0xffffffff
je 0x4ccee0
push 1
push esi
call fcn.004e0da8
add esp, 8
test eax, eax
js 0x4ccee0
lea eax, [esp + 0xc]
mov dword [eax], esi
mov dword [eax + 4], 0x300
xor ebx, ebx
push ebx
push 0x3e8
push 1
push eax
call fcn.004d9ffb
add esp, 0x10
push ebx
push ebx
push esi
call dword [sym.imp.WS2_32.dll_accept]
mov ecx, dword [ebp + 0x14]
mov dword [ecx + 4], eax
cmp eax, 0xffffffff
je 0x4ccee0
lea eax, [esp + 0x38]
push eax
call fcn.004bd0ac
add esp, 4
lea eax, [esp + 0x26]
push 9
push eax
push 0
call fcn.004c02d5
add esp, 0xc
test eax, eax
je 0x4ccf09
mov ebx, dword [sym.imp.WS2_32.dll_closesocket]
push esi
call ebx
mov esi, dword [ebp + 0x14]
push dword [esi]
call ebx
mov esi, dword [esi + 4]
push esi
call dword [sym.imp.WS2_32.dll_closesocket]
jmp 0x4cceff
xor edi, edi
dec edi
mov eax, edi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
push 0
push 9
lea eax, [esp + 0x2e]
push eax
mov eax, dword [ebp + 0x14]
push dword [eax]
call dword [sym.imp.WS2_32.dll_send]
mov dword [esp + 4], 9
lea eax, [esp + 0x2f]
mov dword [esp], eax
mov ebx, dword [ebp + 0x14]
mov eax, dword [ebx + 4]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0x300
xor ebx, ebx
push ebx
push 0x3e8
push 1
lea eax, [esp + 0x18]
push eax
call fcn.004d9ffb
add esp, 0x10
push ebx
push dword [esp + 8]
push dword [esp + 8]
mov eax, dword [ebp + 0x14]
push dword [eax + 4]
call dword [sym.imp.WS2_32.dll_recv]
cmp eax, 0xffffffff
jne 0x4ccfc4
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov ebx, eax
lea eax, [esp + 0x48]
push eax
call fcn.004bd0ac
sub esp, 0x1c
movups xmm0, xmmword [esp + 0x58]
movups xmmword [esp + 0x10], xmm0
movups xmm0, xmmword [esp + 0x68]
movups xmmword [esp], xmm0
call fcn.004bd182
add esp, 0x20
mov ecx, 0xea60
cmp ecx, eax
mov eax, 0
sbb eax, edx
jl 0x4ccee0
cmp ebx, 0x2733
je 0x4ccf2c
jmp 0x4ccee0
sub dword [esp + 4], eax
je 0x4ccfd2
add dword [esp], eax
jmp 0x4ccf2c
lea eax, [esp + 0x2f]
push 9
push eax
lea eax, [esp + 0x2e]
push eax
call fcn.006f9e4d
add esp, 0xc
test eax, eax
jne 0x4ccee0
xor edi, edi
jmp 0x4ccef3