Function at 0x10049e20
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:
sub esp, 0x64
mov eax, dword [0x100a3428]
xor eax, esp
mov dword [esp + 0x60], eax
push ebx
mov ebx, dword [sym.imp.WS2_32.dll_socket]
push ebp
push esi
mov esi, dword [esp + 0x80]
push edi
push 6
push 1
mov ebp, 0x10
push 2
mov dword [esp + 0x2c], ebp
call ebx
mov edi, eax
mov dword [esp + 0x24], edi
cmp edi, 0xffffffff
je 0x1004a0f5
xor eax, eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], eax
mov eax, 2
push 0x7f000001
mov word [esp + 0x4c], ax
call dword [sym.imp.WS2_32.dll_htonl]
push 4
lea edx, [esp + 0x14]
push edx
push 0xfffffffffffffffb
push 0xffff
xor ecx, ecx
push edi
mov dword [esp + 0x60], eax
mov word [esp + 0x5e], cx
mov dword [esi + 4], 0xffffffff
mov dword [esi], 0xffffffff
mov dword [esp + 0x24], 1
call dword [sym.imp.WS2_32.dll_setsockopt]
cmp eax, 0xffffffff
je 0x1004a0e1
push ebp
lea eax, [esp + 0x4c]
push eax
push edi
call dword [sym.imp.WS2_32.dll_bind]
cmp eax, 0xffffffff
je 0x1004a0e1
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x4c]
push edx
push edi
call dword [sym.imp.WS2_32.dll_getsockname]
cmp eax, 0xffffffff
je 0x1004a0e1
cmp dword [esp + 0x20], ebp
jl 0x1004a0e1
push 1
push edi
call dword [sym.imp.WS2_32.dll_listen]
cmp eax, 0xffffffff
je 0x1004a0e1
push 0
push 1
push 2
call ebx
mov dword [esi], eax
cmp eax, 0xffffffff
je 0x1004a0e1
push ebp
lea ecx, [esp + 0x4c]
push ecx
push eax
call dword [sym.imp.WS2_32.dll_connect]
cmp eax, 0xffffffff
je 0x1004a0e1
push 1
push edi
call fcn.10052220
add esp, 8
test eax, eax
js 0x1004a0e1
push 0
push 0x3e8
lea ecx, [esp + 0x1c]
push 1
push ecx
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], 1
call fcn.1004acb0
add esp, 0x10
push 0
push 0
push edi
call dword [sym.imp.WS2_32.dll_accept]
mov dword [esi + 4], eax
cmp eax, 0xffffffff
je 0x1004a0e1
lea edx, [esp + 0x38]
push edx
call fcn.10023220
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov ebx, dword [eax]
mov ebp, dword [eax + 4]
mov dword [esp + 0x34], ecx
push 9
lea ecx, [esp + 0x60]
push ecx
lea eax, [esp + 0x70]
push 0
mov dword [esp + 0x44], edx
mov dword [esp + 0x20], eax
mov dword [esp + 0x2c], 9
call fcn.10046250
add esp, 0x10
test eax, eax
jne 0x1004a0e1
push eax
mov eax, dword [esi]
push 9
lea edx, [esp + 0x60]
push edx
push eax
call dword [sym.imp.WS2_32.dll_send]
lea esp, [esp]
mov ecx, dword [esi + 4]
push 0
push 0x3e8
mov dword [esp + 0x1c], ecx
lea ecx, [esp + 0x1c]
push 1
push ecx
mov dword [esp + 0x28], 1
call fcn.1004acb0
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x20]
mov ecx, dword [esi + 4]
add esp, 0x10
push 0
push edx
push eax
push ecx
call dword [sym.imp.WS2_32.dll_recv]
cmp eax, 0xffffffff
jne 0x1004a08b
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
lea edx, [esp + 0x38]
push edx
mov edi, eax
call fcn.10023220
mov edx, dword [esp + 0x34]
sub esp, 0xc
mov ecx, esp
mov dword [ecx], ebx
mov dword [ecx + 4], ebp
mov dword [ecx + 8], edx
mov edx, dword [esp + 0x44]
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.100232c0
add esp, 0x20
test edx, edx
jg 0x1004a0dd
jl 0x1004a07a
cmp eax, 0xea60
ja 0x1004a0dd
cmp edi, 0x2733
jne 0x1004a0dd
mov edi, dword [esp + 0x24]
jmp 0x10049fe0
sub dword [esp + 0x1c], eax
je 0x1004a09a
add dword [esp + 0x10], eax
jmp 0x10049fe0
mov eax, 9
lea ecx, [esp + 0x64]
lea edx, [esp + 0x58]
mov ebx, dword [edx]
cmp ebx, dword [ecx]
jne 0x1004a0e1
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x1004a0a7
mov cl, byte [ecx]
cmp cl, byte [edx]
jne 0x1004a0e1
push edi
call dword [sym.imp.WS2_32.dll_closesocket]
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.1005cc54
add esp, 0x64
ret
mov edi, dword [esp + 0x24]
push edi
mov edi, dword [sym.imp.WS2_32.dll_closesocket]
call edi
mov edx, dword [esi]
push edx
call edi
mov eax, dword [esi + 4]
push eax
call edi
mov ecx, dword [esp + 0x70]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
or eax, 0xffffffff
call fcn.1005cc54
add esp, 0x64
ret