Function at 0x4a3f90
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, 0x38
mov eax, dword [0x6b8dd8]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 0x2c], 0x10
mov dword [ebp - 0x30], 1
push 6
push 1
push 2
call dword [sym.imp.WS2_32.dll_socket]
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0xffffffff
jne 0x4a3fcb
or eax, 0xffffffff
jmp 0x4a423b
push 0x10
push 0
lea eax, [ebp - 0x14]
push eax
call fcn.005f3cf0
add esp, 0xc
mov ecx, 2
mov word [ebp - 0x14], cx
push 0x7f000001
call dword [sym.imp.WS2_32.dll_htonl]
mov dword [ebp - 0x10], eax
xor edx, edx
mov word [ebp - 0x12], dx
mov eax, 4
shl eax, 0
mov ecx, dword [ebp + 0x14]
mov dword [ecx + eax], 0xffffffff
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp + 0x14]
mov dword [ecx + eax], 0xffffffff
push 4
lea edx, [ebp - 0x30]
push edx
push 4
push 0xffff
mov eax, dword [ebp - 0x28]
push eax
call dword [sym.imp.WS2_32.dll_setsockopt]
cmp eax, 0xffffffff
jne 0x4a403d
jmp 0x4a4204
push 0x10
lea ecx, [ebp - 0x14]
push ecx
mov edx, dword [ebp - 0x28]
push edx
call dword [sym.imp.WS2_32.dll_bind]
cmp eax, 0xffffffff
jne 0x4a4057
jmp 0x4a4204
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x14]
push ecx
mov edx, dword [ebp - 0x28]
push edx
call dword [sym.imp.WS2_32.dll_getsockname]
cmp eax, 0xffffffff
je 0x4a4074
cmp dword [ebp - 0x2c], 0x10
jge 0x4a4079
jmp 0x4a4204
push 1
mov eax, dword [ebp - 0x28]
push eax
call dword [sym.imp.WS2_32.dll_listen]
cmp eax, 0xffffffff
jne 0x4a408f
jmp 0x4a4204
push 0
push 1
push 2
call dword [sym.imp.WS2_32.dll_socket]
mov ecx, 4
imul edx, ecx, 0
mov ecx, dword [ebp + 0x14]
mov dword [ecx + edx], eax
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp + 0x14]
cmp dword [ecx + eax], 0xffffffff
jne 0x4a40bf
jmp 0x4a4204
push 0x10
lea edx, [ebp - 0x14]
push edx
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + ecx]
push eax
call dword [sym.imp.WS2_32.dll_connect]
cmp eax, 0xffffffff
jne 0x4a40e4
jmp 0x4a4204
push 1
mov ecx, dword [ebp - 0x28]
push ecx
call fcn.004cb7d0
add esp, 8
test eax, eax
jge 0x4a40fb
jmp 0x4a4204
mov edx, 8
imul eax, edx, 0
mov ecx, dword [ebp - 0x28]
mov dword [ebp + eax - 0x38], ecx
mov edx, 8
imul eax, edx, 0
mov ecx, 0x300
mov word [ebp + eax - 0x34], cx
mov edx, 8
imul eax, edx, 0
xor ecx, ecx
mov word [ebp + eax - 0x32], cx
push 0
push 0x2710
push 1
lea edx, [ebp - 0x38]
push edx
call fcn.0049f700
add esp, 0x10
push 0
push 0
mov eax, dword [ebp - 0x28]
push eax
call dword [sym.imp.WS2_32.dll_accept]
mov ecx, 4
shl ecx, 0
mov edx, dword [ebp + 0x14]
mov dword [edx + ecx], eax
mov eax, 4
shl eax, 0
mov ecx, dword [ebp + 0x14]
cmp dword [ecx + eax], 0xffffffff
jne 0x4a4172
jmp 0x4a4204
mov dword [ebp - 0x2c], 0x10
lea edx, [ebp - 0x2c]
push edx
lea eax, [ebp - 0x14]
push eax
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [ebp + 0x14]
mov ecx, dword [eax + edx]
push ecx
call dword [sym.imp.WS2_32.dll_getsockname]
cmp eax, 0xffffffff
je 0x4a41a1
cmp dword [ebp - 0x2c], 0x10
jge 0x4a41a3
jmp 0x4a4204
mov dword [ebp - 0x2c], 0x10
lea edx, [ebp - 0x2c]
push edx
lea eax, [ebp - 0x24]
push eax
mov ecx, 4
shl ecx, 0
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + ecx]
push eax
call dword [sym.imp.WS2_32.dll_getpeername]
cmp eax, 0xffffffff
je 0x4a41d2
cmp dword [ebp - 0x2c], 0x10
jge 0x4a41d4
jmp 0x4a4204
movzx ecx, word [ebp - 0x14]
movzx edx, word [ebp - 0x24]
cmp ecx, edx
jne 0x4a41f4
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x20]
jne 0x4a41f4
movzx ecx, word [ebp - 0x12]
movzx edx, word [ebp - 0x22]
cmp ecx, edx
je 0x4a41f6
jmp 0x4a4204
mov eax, dword [ebp - 0x28]
push eax
call dword [sym.imp.WS2_32.dll_closesocket]
xor eax, eax
jmp 0x4a423b
mov ecx, dword [ebp - 0x28]
push ecx
call dword [sym.imp.WS2_32.dll_closesocket]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp + 0x14]
mov edx, dword [ecx + eax]
push edx
call dword [sym.imp.WS2_32.dll_closesocket]
mov eax, 4
shl eax, 0
mov ecx, dword [ebp + 0x14]
mov edx, dword [ecx + eax]
push edx
call dword [sym.imp.WS2_32.dll_closesocket]
or eax, 0xffffffff
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005db6f9
mov esp, ebp
pop ebp
ret