Function at 0x4748f0
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
push edi
push esi
push ebx
sub esp, 0x6c
mov ebp, dword [sym.imp.WS2_32.dll_socket]
mov edi, dword [esp + 0x8c]
mov dword [esp + 0x30], 0x10
mov dword [esp + 0x34], 1
mov dword [esp + 8], 6
mov dword [esp + 4], 1
mov dword [esp], 2
call ebp
sub esp, 0xc
cmp eax, 0xffffffff
je 0x474ba2
mov esi, eax
mov eax, 2
mov dword [esp + 0x38], 0
lea ebx, [esp + 0x38]
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
mov word [esp + 0x38], ax
mov dword [esp], 0x7f000001
call dword [sym.imp.WS2_32.dll_htonl]
sub esp, 4
xor edx, edx
mov dword [edi + 4], 0xffffffff
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x34]
mov dword [edi], 0xffffffff
mov word [esp + 0x3a], dx
mov dword [esp + 0x10], 4
mov dword [esp + 0xc], eax
mov dword [esp + 8], 4
mov dword [esp + 4], 0xffff
mov dword [esp], esi
call dword [sym.imp.WS2_32.dll_setsockopt]
sub esp, 0x14
cmp eax, 0xffffffff
je 0x474b70
mov dword [esp + 8], 0x10
mov dword [esp + 4], ebx
mov dword [esp], esi
call dword [sym.imp.WS2_32.dll_bind]
sub esp, 0xc
cmp eax, 0xffffffff
je 0x474b70
lea eax, [esp + 0x30]
mov dword [esp + 4], ebx
mov dword [esp], esi
mov dword [esp + 8], eax
call dword [sym.imp.WS2_32.dll_getsockname]
sub esp, 0xc
cmp eax, 0xffffffff
je 0x474b70
mov dword [esp + 4], 1
mov dword [esp], esi
call dword [sym.imp.WS2_32.dll_listen]
sub esp, 8
cmp eax, 0xffffffff
je 0x474b70
mov dword [esp + 8], 0
mov dword [esp + 4], 1
mov dword [esp], 2
call ebp
sub esp, 0xc
cmp eax, 0xffffffff
mov dword [edi], eax
je 0x474b70
mov dword [esp + 8], 0x10
mov dword [esp + 4], ebx
mov dword [esp], eax
call dword [sym.imp.WS2_32.dll_connect]
sub esp, 0xc
cmp eax, 0xffffffff
je 0x474b70
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], esi
call dword [sym.imp.WS2_32.dll_accept]
sub esp, 0xc
cmp eax, 0xffffffff
mov dword [edi + 4], eax
je 0x474b70
lea ebp, [esp + 0x48]
mov dword [esp + 0xc], edi
mov dword [esp + 8], 0x5d66e0
mov dword [esp + 4], 0xc
mov dword [esp], ebp
mov ebx, ebp
call sym._curl_msnprintf
mov edx, dword [ebx]
add ebx, 4
lea eax, [edx - 0x1010101]
not edx
and eax, edx
and eax, 0x80808080
je 0x474ab7
mov edx, eax
mov dword [esp + 0xc], 0
mov dword [esp + 4], ebp
shr edx, 0x10
test eax, 0x8080
cmove eax, edx
lea edx, [ebx + 2]
mov ecx, eax
cmove ebx, edx
add cl, al
sbb ebx, 3
sub ebx, ebp
mov dword [esp + 8], ebx
mov eax, dword [edi]
mov dword [esp], eax
call dword [sym.imp.WS2_32.dll_send]
sub esp, 0x10
cmp ebx, eax
jne 0x474b70
lea edx, [esp + 0x54]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0xc
mov dword [esp + 4], edx
mov eax, dword [edi + 4]
mov dword [esp + 0x2c], edx
mov dword [esp], eax
call dword [sym.imp.WS2_32.dll_recv]
sub esp, 0x10
cmp ebx, eax
jne 0x474b70
mov edx, dword [esp + 0x2c]
mov dword [esp + 8], ebx
mov dword [esp], ebp
mov dword [esp + 4], edx
call sym._memcmp
test eax, eax
mov ebx, eax
jne 0x474b70
mov dword [esp], esi
call dword [sym.imp.WS2_32.dll_closesocket]
sub esp, 4
add esp, 0x6c
mov eax, ebx
pop ebx
pop esi
pop edi
pop ebp
ret
mov ebx, dword [sym.imp.WS2_32.dll_closesocket]
mov dword [esp], esi
call ebx
mov eax, dword [edi]
sub esp, 4
mov dword [esp], eax
call ebx
mov eax, dword [edi + 4]
sub esp, 4
mov dword [esp], eax
call ebx
sub esp, 4
mov ebx, 0xffffffff
add esp, 0x6c
mov eax, ebx
pop ebx
pop esi
pop edi
pop ebp
ret
mov ebx, 0xffffffff
jmp 0x474b60