Function at 0x672285
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 0x7cda5a
mov eax, dword fs:[0]
push eax
mov eax, 0x3278
call fcn.00721650
mov eax, dword [0x904fe8]
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 0x672333
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.0061b638
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.9.2_srcdownloaddownload_curl.windows.cpp
push 4
push str.tact
call fcn.007a784a
add esp, 0x24
xor al, al
jmp 0x672955
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 0x6723e7
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.0061b638
lea eax, [ebp - 0x110]
push eax
push esi
push str.Failed_to_set_loopback_sockopt_SO_REUSEADDR._Error__d_:__s
push 0x34
jmp 0x672926
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 0x67243b
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.0061b638
lea eax, [ebp - 0x110]
push eax
push esi
push str.Failed_to_bind_to_loopback_socket._Error__d_:__s
push 0x3b
jmp 0x672926
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 0x67249e
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.0061b638
lea eax, [ebp - 0x110]
push eax
push esi
push str.Failed_to_get_bound_loopback_socket_address._Error__d_:__s
push 0x43
jmp 0x672926
cmp word [ebp - 0x21e], 0
jne 0x6724dd
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.0061b638
lea eax, [ebp - 0x110]
push eax
push esi
push str.Invalid_port_during_loopback_socket_bind._Error__d_:__s
push 0x49
jmp 0x672926
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 0x672534
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.0061b638
lea eax, [ebp - 0x110]
push eax
push esi
push str.Failed_to_set_loopback_socket_non_blocking_mode._Error__d_:__s
push 0x50
jmp 0x672926
push 0x10
push dword [ebp - 0x3248]
call dword [sym.imp.WS2_32.dll_listen]
mov dword [ebp - 0x324c], eax
test eax, eax
je 0x672581
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.0061b638
lea eax, [ebp - 0x110]
push eax
push esi
push str.Failed_to_listen_on_loopback_socket._Error__d_:__s
push 0x57
jmp 0x672926
push 6
push 1
push 2
pop eax
push eax
call esi
add edi, 0x358
mov dword [ebp - 0x3264], edi
mov dword [edi], eax
cmp eax, 0xffffffff
jne 0x6725d3
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.0061b638
lea eax, [ebp - 0x110]
push eax
push esi
push str.Failed_to_create_wake_event_socket._Error__d_:__s
push 0x5e
jmp 0x672926
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 0x672625
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.0061b638
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 0x672926
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 0x672680
call esi
cmp eax, 0x2733
je 0x672680
call esi
mov esi, eax
lea eax, [ebp - 0x3240]
push eax
lea eax, [ebp - 0x110]
mov dword [ebp - 0x3240], esi
push eax
call fcn.0061b638
lea eax, [ebp - 0x110]
push eax
push esi
push str.Failed_to_connect_to_loopback_socket._Error__d_:__s
push 0x6c
jmp 0x672926
call fcn.006aec4f
push edx
push eax
call fcn.006aebc9
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.0061b5ec
mov esi, dword [sym.imp.WS2_32.dll_WSAGetLastError]
add esp, 0x18
test al, al
je 0x672898
cmp byte [ebp - 0x3258], 0
je 0x67270a
cmp byte [ebp - 0x3241], 0
jne 0x67285b
cmp byte [ebp - 0x3254], 0
jne 0x672864
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 0x672831
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 + 0x35c], eax
cmp eax, 0xffffffff
jne 0x672828
xor eax, eax
inc eax
mov byte [ebp - 0x3254], al
jmp 0x672831
xor eax, eax
inc eax
mov byte [ebp - 0x3241], al
call fcn.006aec4f
push edx
push eax
call fcn.006aebc9
push dword [ebp - 0x3268]
push dword [ebp - 0x326c]
push edx
push eax
call fcn.0061b5ec
add esp, 0x18
test al, al
jne 0x6726f4
cmp byte [ebp - 0x3254], 0
je 0x672898
call esi
mov esi, eax
lea eax, [ebp - 0x3250]
push eax
lea eax, [ebp - 0x110]
mov dword [ebp - 0x3250], esi
push eax
call fcn.0061b638
lea eax, [ebp - 0x110]
push eax
push esi
push str.Failed_to_connect_to_loopback_socket._Error__d_:__s
push 0xa2
jmp 0x672926
mov eax, dword [ebp - 0x3240]
mov eax, dword [eax + 0x35c]
cmp eax, 0xffffffff
jne 0x6728da
call esi
mov esi, eax
lea eax, [ebp - 0x3250]
push eax
lea eax, [ebp - 0x110]
mov dword [ebp - 0x3250], esi
push eax
call fcn.0061b638
lea eax, [ebp - 0x110]
push eax
push esi
push str.Failed_to_accept_connection_on_loopback_socket._Error__d_:__s
push 0xa8
jmp 0x672926
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 0x67293c
call esi
mov esi, eax
lea eax, [ebp - 0x3250]
push eax
lea eax, [ebp - 0x210]
mov dword [ebp - 0x3250], esi
push eax
call fcn.0061b638
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.9.2_srcdownloaddownload_curl.windows.cpp
push 4
push str.tact
call fcn.007a784a
add esp, 0x24
jmp 0x672941
xor eax, eax
lea ebx, [eax + 1]
lea ecx, [ebp - 0x3284]
mov dword [ebp - 4], 0xd
call fcn.006721c5
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.007207bc
leave
ret