Function at 0x100ffc70
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
Set socket configuration
Start tcp server

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2c
mov eax, dword [0x101cd100]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 0xc]
push esi
push edi
mov edi, dword [ebp + 8]
push 6
push 1
push 2
mov dword [ebp - 0x2c], 1
call dword [sym.imp.WS2_32.dll_socket]
mov esi, eax
cmp esi, 0xffffffff
jne 0x100ffcea
cmp dword [0x101cc834], 1
jl 0x100ffcd6
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
push str.Error_creating_socket.__d
push str.create_socket_pair
push 0x86
push 1
push edi
call fcn.100fc1b0
add esp, 4
push eax
call fcn.100fddd0
add esp, 0x18
pop edi
pop esi
or eax, 0xffffffff
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10132a90
mov esp, ebp
pop ebp
ret
xorps xmm0, xmm0
mov eax, 2
push 0x7f000001
movlpd qword [ebp - 0xc], xmm0
movups xmmword [ebp - 0x24], xmm0
mov word [ebp - 0x14], ax
call dword [sym.imp.WS2_32.dll_htonl]
mov dword [ebp - 0x10], eax
xor eax, eax
push 4
mov word [ebp - 0x12], ax
lea eax, [ebp - 0x2c]
push eax
push 4
push 0xffff
push esi
call dword [sym.imp.WS2_32.dll_setsockopt]
cmp eax, 0xffffffff
jne 0x100ffd4c
push str.Error_trying_to_set_socket_option.
push esi
push edi
call fcn.10100220
add esp, 0xc
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10132a90
mov esp, ebp
pop ebp
ret
push 0x10
lea eax, [ebp - 0x14]
push eax
push esi
call dword [sym.imp.WS2_32.dll_bind]
cmp eax, 0xffffffff
jne 0x100ffd7e
push str.Error_trying_to_bind_socket.
push esi
push edi
call fcn.10100220
add esp, 0xc
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10132a90
mov esp, ebp
pop ebp
ret
push 1
push esi
call dword [sym.imp.WS2_32.dll_listen]
cmp eax, 0xffffffff
jne 0x100ffdac
push str.Error_trying_to_listen_on_socket.
push esi
push edi
call fcn.10100220
add esp, 0xc
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10132a90
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 0x28]
mov dword [ebp - 0x28], 0x10
push eax
lea eax, [ebp - 0x24]
push eax
push esi
call dword [sym.imp.WS2_32.dll_getsockname]
push 0
push 1
push 2
call dword [sym.imp.WS2_32.dll_socket]
push dword [ebp - 0x28]
lea ecx, [ebp - 0x24]
mov dword [ebx], eax
push ecx
push eax
call dword [sym.imp.WS2_32.dll_connect]
cmp eax, 0xffffffff
jne 0x100ffe03
push str.Error_while_connecting_to_socket.
push esi
push edi
call fcn.10100220
add esp, 0xc
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10132a90
mov esp, ebp
pop ebp
ret
push 0
push 0
push esi
call dword [sym.imp.WS2_32.dll_accept]
mov dword [ebx + 4], eax
cmp eax, 0xffffffff
jne 0x100ffe3e
push dword [ebx]
call dword [sym.imp.WS2_32.dll_closesocket]
push str.Error_while_accepting_socket_connection.
push esi
push edi
call fcn.10100220
add esp, 0xc
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10132a90
mov esp, ebp
pop ebp
ret
push esi
call dword [sym.imp.WS2_32.dll_closesocket]
mov ecx, dword [ebp - 4]
xor eax, eax
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.10132a90
mov esp, ebp
pop ebp
ret