Function at 0x439ff0
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 [0x45e380]
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 0x43a2c5
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 0x43a2b1
push ebp
lea eax, [esp + 0x4c]
push eax
push edi
call dword [sym.imp.WS2_32.dll_bind]
cmp eax, 0xffffffff
je 0x43a2b1
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 0x43a2b1
cmp dword [esp + 0x20], ebp
jl 0x43a2b1
push 1
push edi
call dword [sym.imp.WS2_32.dll_listen]
cmp eax, 0xffffffff
je 0x43a2b1
push 0
push 1
push 2
call ebx
mov dword [esi], eax
cmp eax, 0xffffffff
je 0x43a2b1
push ebp
lea ecx, [esp + 0x4c]
push ecx
push eax
call dword [sym.imp.WS2_32.dll_connect]
cmp eax, 0xffffffff
je 0x43a2b1
push 1
push edi
call fcn.00442300
add esp, 8
test eax, eax
js 0x43a2b1
push 0
push 0x3e8
lea ecx, [esp + 0x1c]
push 1
push ecx
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], 1
call fcn.0043ada0
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 0x43a2b1
lea edx, [esp + 0x38]
push edx
call fcn.00418320
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.00436500
add esp, 0x10
test eax, eax
jne 0x43a2b1
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.0043ada0
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 0x43a25b
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
lea edx, [esp + 0x38]
push edx
mov edi, eax
call fcn.00418320
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.004183c0
add esp, 0x20
test edx, edx
jg 0x43a2ad
jl 0x43a24a
cmp eax, 0xea60
ja 0x43a2ad
cmp edi, 0x2733
jne 0x43a2ad
mov edi, dword [esp + 0x24]
jmp 0x43a1b0
sub dword [esp + 0x1c], eax
je 0x43a26a
add dword [esp + 0x10], eax
jmp 0x43a1b0
mov eax, 9
lea ecx, [esp + 0x64]
lea edx, [esp + 0x58]
mov ebx, dword [edx]
cmp ebx, dword [ecx]
jne 0x43a2b1
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x43a277
mov cl, byte [ecx]
cmp cl, byte [edx]
jne 0x43a2b1
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.0044c7a4
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.0044c7a4
add esp, 0x64
ret