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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x7a9945
mov eax, dword fs:[0]
push eax
mov eax, 0x3278
call fcn.006ffc90
mov eax, dword [0x8d5f40]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x3240], edi
mov esi, dword [sym.imp.WS2_32.dll_socket]
xor eax, eax
inc eax
push 6
push eax
push 2
mov dword [ebp - 0x325c], eax
mov dword [ebp - 0x3270], eax
pop eax
push eax
call esi
mov dword [ebp - 0x3248], eax
cmp eax, 0xffffffff
jne 0x65c38b
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov esi, eax
lea eax, [ebp - 0x3240]
push eax
lea eax, [ebp - 0x110]
mov dword [ebp - 0x3240], esi
push eax
call fcn.00607ca7
lea eax, [ebp - 0x110]
push eax
push esi
push str.Failed_to_create_loopback_socket._Error__d_:__s
push 0x1c
push str.d:package_cache_tact3.7.19_srcdownloaddownload_curl.windows.cpp
push 4
push str.tact
call fcn.00785e68
add esp, 0x24
xor al, al
jmp 0x65c9ad
xor ebx, ebx
mov byte [ebp - 0x327c], 1
lea eax, [ebp - 0x324c]
mov dword [ebp - 0x324c], ebx
lea ecx, [ebp - 0x3248]
mov dword [ebp - 0x3284], eax
mov dword [ebp - 0x3280], ecx
push 2
pop eax
mov word [ebp - 0x220], ax
xorps xmm0, xmm0
xor eax, eax
mov dword [ebp - 4], ebx
push 0x7f000001
movlpd qword [ebp - 0x218], xmm0
mov word [ebp - 0x21e], ax
call dword [sym.imp.WS2_32.dll_htonl]
push 4
mov dword [ebp - 0x21c], eax
lea eax, [ebp - 0x3270]
push eax
push 4
push 0xffff
push dword [ebp - 0x3248]
call dword [sym.imp.WS2_32.dll_setsockopt]
mov dword [ebp - 0x324c], eax
test eax, eax
je 0x65c43f
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov esi, eax
lea eax, [ebp - 0x3240]
push eax
lea eax, [ebp - 0x110]
mov dword [ebp - 0x3240], esi
push eax
call fcn.00607ca7
lea eax, [ebp - 0x110]
push eax
push esi
push str.Failed_to_set_loopback_sockopt_SO_REUSEADDR._Error__d_:__s
push 0x34
jmp 0x65c97e
push 0x10
lea eax, [ebp - 0x220]
push eax
push dword [ebp - 0x3248]
call dword [sym.imp.WS2_32.dll_bind]
mov dword [ebp - 0x324c], eax
test eax, eax
je 0x65c493
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov esi, eax
lea eax, [ebp - 0x3240]
push eax
lea eax, [ebp - 0x110]
mov dword [ebp - 0x3240], esi
push eax
call fcn.00607ca7
lea eax, [ebp - 0x110]
push eax
push esi
push str.Failed_to_bind_to_loopback_socket._Error__d_:__s
push 0x3b
jmp 0x65c97e
lea eax, [ebp - 0x3260]
mov dword [ebp - 0x3260], 0x10
push eax
lea eax, [ebp - 0x220]
push eax
push dword [ebp - 0x3248]
call dword [sym.imp.WS2_32.dll_getsockname]
mov dword [ebp - 0x324c], eax
test eax, eax
je 0x65c4f6
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov esi, eax
lea eax, [ebp - 0x3240]
push eax
lea eax, [ebp - 0x110]
mov dword [ebp - 0x3240], esi
push eax
call fcn.00607ca7
lea eax, [ebp - 0x110]
push eax
push esi
push str.Failed_to_get_bound_loopback_socket_address._Error__d_:__s
push 0x43
jmp 0x65c97e
cmp word [ebp - 0x21e], 0
jne 0x65c535
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov esi, eax
lea eax, [ebp - 0x3240]
push eax
lea eax, [ebp - 0x110]
mov dword [ebp - 0x3240], esi
push eax
call fcn.00607ca7
lea eax, [ebp - 0x110]
push eax
push esi
push str.Invalid_port_during_loopback_socket_bind._Error__d_:__s
push 0x49
jmp 0x65c97e
lea eax, [ebp - 0x325c]
push eax
push 0x8004667e
push dword [ebp - 0x3248]
call dword [sym.imp.WS2_32.dll_ioctlsocket]
mov dword [ebp - 0x324c], eax
test eax, eax
je 0x65c58c
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov esi, eax
lea eax, [ebp - 0x3240]
push eax
lea eax, [ebp - 0x110]
mov dword [ebp - 0x3240], esi
push eax
call fcn.00607ca7
lea eax, [ebp - 0x110]
push eax
push esi
push str.Failed_to_set_loopback_socket_non_blocking_mode._Error__d_:__s
push 0x50
jmp 0x65c97e
push 0x10
push dword [ebp - 0x3248]
call dword [sym.imp.WS2_32.dll_listen]
mov dword [ebp - 0x324c], eax
test eax, eax
je 0x65c5d9
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov esi, eax
lea eax, [ebp - 0x3240]
push eax
lea eax, [ebp - 0x110]
mov dword [ebp - 0x3240], esi
push eax
call fcn.00607ca7
lea eax, [ebp - 0x110]
push eax
push esi
push str.Failed_to_listen_on_loopback_socket._Error__d_:__s
push 0x57
jmp 0x65c97e
push 6
push 1
push 2
pop eax
push eax
call esi
add edi, 0x2fc
mov dword [ebp - 0x3264], edi
mov dword [edi], eax
cmp eax, 0xffffffff
jne 0x65c62b
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov esi, eax
lea eax, [ebp - 0x3240]
push eax
lea eax, [ebp - 0x110]
mov dword [ebp - 0x3240], esi
push eax
call fcn.00607ca7
lea eax, [ebp - 0x110]
push eax
push esi
push str.Failed_to_create_wake_event_socket._Error__d_:__s
push 0x5e
jmp 0x65c97e
lea ecx, [ebp - 0x325c]
push ecx
push 0x8004667e
push eax
call dword [sym.imp.WS2_32.dll_ioctlsocket]
mov dword [ebp - 0x324c], eax
test eax, eax
je 0x65c67d
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov esi, eax
lea eax, [ebp - 0x3240]
push eax
lea eax, [ebp - 0x110]
mov dword [ebp - 0x3240], esi
push eax
call fcn.00607ca7
lea eax, [ebp - 0x110]
push eax
push esi
push str.Failed_to_set_wake_event_socket_non_blocking_mode._Error__d_:__s
push 0x65
jmp 0x65c97e
push 0x10
lea eax, [ebp - 0x220]
push eax
push dword [edi]
call dword [sym.imp.WS2_32.dll_connect]
mov esi, dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [ebp - 0x324c], eax
test eax, eax
je 0x65c6d8
call esi
cmp eax, 0x2733
je 0x65c6d8
call esi
mov esi, eax
lea eax, [ebp - 0x3240]
push eax
lea eax, [ebp - 0x110]
mov dword [ebp - 0x3240], esi
push eax
call fcn.00607ca7
lea eax, [ebp - 0x110]
push eax
push esi
push str.Failed_to_connect_to_loopback_socket._Error__d_:__s
push 0x6c
jmp 0x65c97e
call fcn.0068dc83
push edx
push eax
call fcn.0068dbfd
mov esi, dword [ebp - 0x3248]
mov ecx, eax
add eax, 0xf08eb000
mov byte [ebp - 0x3258], bl
mov dword [ebp - 0x326c], eax
mov eax, edx
adc eax, 0x1b
mov byte [ebp - 0x3254], bl
cmp dword [edi], esi
mov dword [ebp - 0x3268], eax
lea eax, [ebp - 0x3248]
push dword [ebp - 0x3268]
cmova eax, edi
mov byte [ebp - 0x3241], bl
push dword [ebp - 0x326c]
push edx
mov eax, dword [eax]
inc eax
push ecx
mov dword [ebp - 0x3250], eax
call fcn.00607c5b
mov esi, dword [sym.imp.WS2_32.dll_WSAGetLastError]
add esp, 0x18
test al, al
je 0x65c8f0
cmp byte [ebp - 0x3258], 0
je 0x65c762
cmp byte [ebp - 0x3241], 0
jne 0x65c8b3
cmp byte [ebp - 0x3254], 0
jne 0x65c8bc
mov eax, dword [edi]
xor ecx, ecx
mov dword [ebp - 0x2234], eax
inc ecx
mov dword [ebp - 0x1230], eax
mov eax, dword [ebp - 0x3248]
mov dword [ebp - 0x3238], eax
lea eax, [ebp - 0x3278]
push eax
lea eax, [ebp - 0x2238]
mov dword [ebp - 0x3278], ecx
push eax
lea eax, [ebp - 0x1234]
mov dword [ebp - 0x3274], ebx
push eax
lea eax, [ebp - 0x323c]
mov dword [ebp - 0x2238], ecx
push eax
push dword [ebp - 0x3250]
mov dword [ebp - 0x1234], ecx
mov dword [ebp - 0x323c], ecx
call dword [sym.imp.WS2_32.dll_select]
mov dword [ebp - 0x324c], eax
lea eax, [ebp - 0x1234]
push eax
push dword [edi]
call sub.WS2_32.dll___WSAFDIsSet
mov ecx, dword [ebp - 0x3258]
test eax, eax
push 1
pop eax
movzx ecx, cl
cmovne ecx, eax
lea eax, [ebp - 0x2238]
push eax
push dword [edi]
mov dword [ebp - 0x3258], ecx
call sub.WS2_32.dll___WSAFDIsSet
mov ecx, dword [ebp - 0x3254]
test eax, eax
push 1
pop eax
movzx ecx, cl
cmovne ecx, eax
lea eax, [ebp - 0x323c]
push eax
push dword [ebp - 0x3248]
mov dword [ebp - 0x3254], ecx
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x65c889
xor eax, eax
lea edi, [ebp - 0x230]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [ebp - 0x3260]
push eax
lea eax, [ebp - 0x230]
push eax
push dword [ebp - 0x3248]
call dword [sym.imp.WS2_32.dll_accept]
mov ecx, dword [ebp - 0x3240]
mov edi, dword [ebp - 0x3264]
mov dword [ecx + 0x300], eax
cmp eax, 0xffffffff
jne 0x65c880
xor eax, eax
inc eax
mov byte [ebp - 0x3254], al
jmp 0x65c889
xor eax, eax
inc eax
mov byte [ebp - 0x3241], al
call fcn.0068dc83
push edx
push eax
call fcn.0068dbfd
push dword [ebp - 0x3268]
push dword [ebp - 0x326c]
push edx
push eax
call fcn.00607c5b
add esp, 0x18
test al, al
jne 0x65c74c
cmp byte [ebp - 0x3254], 0
je 0x65c8f0
call esi
mov esi, eax
lea eax, [ebp - 0x3250]
push eax
lea eax, [ebp - 0x110]
mov dword [ebp - 0x3250], esi
push eax
call fcn.00607ca7
lea eax, [ebp - 0x110]
push eax
push esi
push str.Failed_to_connect_to_loopback_socket._Error__d_:__s
push 0xa2
jmp 0x65c97e
mov eax, dword [ebp - 0x3240]
mov eax, dword [eax + 0x300]
cmp eax, 0xffffffff
jne 0x65c932
call esi
mov esi, eax
lea eax, [ebp - 0x3250]
push eax
lea eax, [ebp - 0x110]
mov dword [ebp - 0x3250], esi
push eax
call fcn.00607ca7
lea eax, [ebp - 0x110]
push eax
push esi
push str.Failed_to_accept_connection_on_loopback_socket._Error__d_:__s
push 0xa8
jmp 0x65c97e
lea ecx, [ebp - 0x325c]
push ecx
push 0x8004667e
push eax
call dword [sym.imp.WS2_32.dll_ioctlsocket]
mov dword [ebp - 0x324c], eax
test eax, eax
je 0x65c994
call esi
mov esi, eax
lea eax, [ebp - 0x3250]
push eax
lea eax, [ebp - 0x210]
mov dword [ebp - 0x3250], esi
push eax
call fcn.00607ca7
lea eax, [ebp - 0x210]
push eax
push esi
push str.Failed_to_set_wake_pipe_socket_non_blocking_mode._Error__d_:__s
push 0xaf
push str.d:package_cache_tact3.7.19_srcdownloaddownload_curl.windows.cpp
push 4
push str.tact
call fcn.00785e68
add esp, 0x24
jmp 0x65c999
xor eax, eax
lea ebx, [eax + 1]
lea ecx, [ebp - 0x3284]
mov dword [ebp - 4], 0xd
call fcn.0065c169
mov al, bl
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.006fedff
leave
ret