Function at 0x1008b060
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
Resolve function by parsing pe exports
Send data
Send data on socket
Set socket configuration
Start tcp server

Disassembly:
sub esp, 0x58
mov eax, dword [0x1027e110]
xor eax, esp
mov dword [esp + 0x54], eax
push ebx
push ebp
mov ebp, dword [sym.imp.WS2_32.dll_socket]
push esi
push edi
mov edi, dword [esp + 0x78]
push 6
mov esi, 1
push esi
push 2
mov dword [esp + 0x24], 0x10
call ebp
mov ebx, eax
cmp ebx, 0xffffffff
mov dword [esp + 0x1c], ebx
je 0x1008b38b
xor eax, eax
mov dword [esp + 0x54], eax
push 0x7f000001
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], eax
mov word [esp + 0x58], 2
call dword [sym.imp.WS2_32.dll_htonl]
push 4
mov dword [esp + 0x5c], eax
lea eax, [esp + 0x34]
push eax
push 0xfffffffffffffffb
push 0xffff
push ebx
mov word [esp + 0x6a], 0
mov dword [edi + 4], 0xffffffff
mov dword [edi], 0xffffffff
mov dword [esp + 0x44], esi
call dword [sym.imp.WS2_32.dll_setsockopt]
cmp eax, 0xffffffff
je 0x1008b377
push 0x10
lea ecx, [esp + 0x58]
push ecx
push ebx
call dword [sym.imp.WS2_32.dll_bind]
cmp eax, 0xffffffff
je 0x1008b377
lea edx, [esp + 0x18]
push edx
lea eax, [esp + 0x58]
push eax
push ebx
call dword [sym.imp.WS2_32.dll_getsockname]
cmp eax, 0xffffffff
je 0x1008b377
cmp dword [esp + 0x18], 0x10
jl 0x1008b377
push esi
push ebx
call dword [sym.imp.WS2_32.dll_listen]
cmp eax, 0xffffffff
je 0x1008b377
push 0
push esi
push 2
call ebp
cmp eax, 0xffffffff
mov dword [edi], eax
je 0x1008b377
push 0x10
lea ecx, [esp + 0x58]
push ecx
push eax
call dword [sym.imp.WS2_32.dll_connect]
cmp eax, 0xffffffff
je 0x1008b377
push esi
push ebx
call fcn.10094570
add esp, 8
test eax, eax
jl 0x1008b377
push 0
push 0x3e8
lea edx, [esp + 0x18]
push esi
push edx
mov dword [esp + 0x20], ebx
mov word [esp + 0x24], si
mov word [esp + 0x26], 0
call fcn.1008bc70
add esp, 0x10
push 0
push 0
push ebx
call dword [sym.imp.WS2_32.dll_accept]
cmp eax, 0xffffffff
mov dword [edi + 4], eax
je 0x1008b377
lea eax, [esp + 0x34]
push eax
call fcn.10061710
mov ecx, dword [eax]
mov dword [esp + 0x24], ecx
mov edx, dword [eax + 4]
add esp, 4
mov dword [esp + 0x24], edx
mov ecx, dword [eax + 8]
push 0
mov dword [esp + 0x2c], ecx
mov edx, dword [eax + 0xc]
mov ecx, dword [edi]
lea ebp, [esi + 0xf]
push ebp
lea eax, [esp + 0x28]
push eax
push ecx
mov dword [esp + 0x3c], edx
lea ebx, [esp + 0x54]
call dword [sym.imp.WS2_32.dll_send]
mov edx, dword [edi + 4]
push 0
push 0x3e8
lea eax, [esp + 0x18]
push esi
push eax
mov dword [esp + 0x20], edx
mov word [esp + 0x24], si
mov word [esp + 0x26], 0
call fcn.1008bc70
mov ecx, dword [edi + 4]
add esp, 0x10
push 0
push ebp
push ebx
push ecx
call dword [sym.imp.WS2_32.dll_recv]
cmp eax, 0xffffffff
jne 0x1008b2c0
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
lea edx, [esp + 0x34]
push edx
mov esi, eax
call fcn.10061710
mov edx, dword [esp + 0x24]
sub esp, 0xc
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [esp + 0x34]
mov dword [ecx + 4], edx
mov edx, dword [esp + 0x38]
mov dword [ecx + 8], edx
mov edx, dword [esp + 0x3c]
mov dword [ecx + 0xc], edx
mov edx, dword [eax]
sub esp, 0x10
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
call fcn.100617b0
add esp, 0x20
test edx, edx
jg 0x1008b373
jl 0x1008b2aa
cmp eax, 0xea60
ja 0x1008b373
cmp esi, 0x2733
jne 0x1008b373
mov esi, 1
jmp 0x1008b201
sub ebp, eax
je 0x1008b2cb
add ebx, eax
jmp 0x1008b201
mov eax, 0x10
lea ecx, [esp + 0x44]
lea edx, [esp + 0x20]
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x1008b2f0
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x1008b2d8
test eax, eax
je 0x1008b34d
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1008b33f
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1008b34d
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1008b33f
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1008b34d
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1008b33f
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1008b34d
movzx ecx, byte [ecx]
movzx esi, byte [edx]
sub esi, ecx
je 0x1008b34d
test esi, esi
mov eax, 1
jg 0x1008b34f
or eax, 0xffffffff
jmp 0x1008b34f
xor eax, eax
test eax, eax
jne 0x1008b373
mov edx, dword [esp + 0x1c]
push edx
call dword [sym.imp.WS2_32.dll_closesocket]
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x54]
xor ecx, esp
call fcn.101b40e2
add esp, 0x58
ret
mov ebx, dword [esp + 0x1c]
mov esi, dword [sym.imp.WS2_32.dll_closesocket]
push ebx
call esi
mov eax, dword [edi]
push eax
call esi
mov ecx, dword [edi + 4]
push ecx
call esi
mov ecx, dword [esp + 0x64]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
or eax, 0xffffffff
call fcn.101b40e2
add esp, 0x58
ret