Function at 0x432730
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

Disassembly:
sub esp, 0x2a0
mov eax, dword [0x612790]
xor eax, esp
mov dword [esp + 0x29c], eax
push ebp
mov ebp, dword [esp + 0x2b0]
xorps xmm0, xmm0
push esi
mov esi, dword [esp + 0x2ac]
push edi
mov edi, dword [esp + 0x2b4]
push 0
push 1
push 2
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0x10
movups xmmword [esp + 0x24], xmm0
call dword [sym.imp.WS2_32.dll_socket]
cmp dword [esi + 0x39c], 0
mov dword [esp + 0x10], eax
je 0x43282b
xor ecx, ecx
mov word [esi + 0x39a], cx
lea ecx, [esi + 0x398]
push 0x10
push ecx
push eax
call dword [sym.imp.WS2_32.dll_bind]
mov dword [esp + 0xc], eax
test eax, eax
je 0x432827
push dword [esp + 0x10]
call dword [sym.imp.WS2_32.dll_closesocket]
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
push dword [esp + 0x10]
movzx eax, word [esi + 0x39a]
push eax
call dword [sym.imp.WS2_32.dll_ntohs]
movzx eax, ax
push eax
lea eax, [esi + 0x205]
push eax
movzx eax, byte [esi + 0x204]
push eax
push dword [esp + 0x24]
push 0x64f
push str.__connect_by_sock
push str.BAGENT
push str.bind__d___.s:_d____d__errno_d
push 4
push str.BAGENT
call fcn.00432050
add esp, 0x30
pop edi
pop esi
pop ebp
mov ecx, dword [esp + 0x29c]
xor ecx, esp
call fcn.00498b38
add esp, 0x2a0
ret
mov eax, dword [esp + 0x10]
push 1
push eax
call fcn.00434840
add esp, 8
test al, 1
jne 0x43288a
push dword [esp + 0x10]
call dword [sym.imp.WS2_32.dll_closesocket]
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
push dword [esp + 0x14]
push 0x671
push str.__connect_by_sock
push str.BAGENT
push str.fcntl__d____d
push 2
push str.BAGENT
call fcn.00432050
add esp, 0x20
pop edi
pop esi
pop ebp
mov ecx, dword [esp + 0x29c]
xor ecx, esp
call fcn.00498b38
add esp, 0x2a0
ret
push ebx
push 0x200
lea eax, [esp + 0x30]
push eax
lea eax, [edi + 4]
push eax
push 2
call sub.WS2_32.dll_inet_ntop
mov eax, dword [0x612620]
mov ecx, dword [0x612618]
mov ebx, dword [sym.imp.WS2_32.dll_ntohs]
cdq
and edx, 0x3ff
shl ecx, 0xa
add eax, edx
sar eax, 0xa
add ecx, eax
movzx eax, word [edi + 2]
push ecx
push eax
call ebx
movzx eax, ax
push eax
lea eax, [esp + 0x34]
push eax
push dword [esp + 0x20]
push 0x676
push str.__connect_by_sock
push str.BAGENT
push str.__d__Connecting_to__s:_d__timeout_is__d_msec__...
push dword [0x915734]
call fcn.004322d0
add esp, 0x24
push 0x10
push edi
push dword [esp + 0x1c]
call dword [sym.imp.WS2_32.dll_connect]
mov esi, dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [esp + 0x10], eax
test eax, eax
jns 0x43296e
call esi
cmp eax, 0x2734
je 0x43296e
call esi
cmp eax, 0x2735
je 0x43296e
call esi
cmp eax, 0x2733
je 0x43296e
call esi
push eax
push dword [esp + 0x14]
movzx eax, word [edi + 2]
push eax
call ebx
movzx eax, ax
push eax
lea eax, [esp + 0x38]
push eax
push 0x67e
push str.__connect_by_sock
push str.BAGENT
push str.connect__s:_d____d__errno_d
push 2
push str.BAGENT
call fcn.00432050
add esp, 0x28
jmp 0x432a4f
mov eax, dword [0x612620]
mov ecx, dword [0x612618]
cdq
and edx, 0x3ff
shl ecx, 0xa
add eax, edx
sar eax, 0xa
add ecx, eax
lea eax, [esp + 0x14]
push ecx
push 1
push eax
mov dword [esp + 0x1c], ecx
call dword [sym.imp.WS2_32.dll_WSAPoll]
mov dword [esp + 0x10], eax
test eax, eax
jns 0x4329d1
call esi
push eax
push dword [esp + 0x14]
push dword [esp + 0x1c]
push 0x686
push str.__connect_by_sock
push str.BAGENT
push str.poll__d__POLLOUT____d__errno_d
push 2
push str.BAGENT
call fcn.00432050
jmp 0x432a4c
cmp eax, 1
jne 0x4329e1
test byte [esp + 0x1a], 0x10
jne 0x432a6a
movsx eax, word [esp + 0x1a]
push eax
call esi
push eax
push dword [esp + 0x18]
push dword [esp + 0x20]
push 0x68b
push str.__connect_by_sock
push str.BAGENT
push str.sd_d__status_d__errno_d__pfd.revents_08x
push dword [0x915734]
call fcn.004322d0
movzx eax, word [edi + 2]
add esp, 0x24
push eax
call ebx
movzx eax, ax
push eax
lea eax, [esp + 0x30]
push eax
push dword [esp + 0x1c]
push 0x68d
push str.__connect_by_sock
push str.BAGENT
push str.__d__Timeout_in_connection_request_to__s:_d.
push 2
push str.BAGENT
call fcn.00432050
mov dword [esp + 0x34], eax
add esp, 0x24
cmp dword [esp + 0x10], 0
je 0x432a6a
push dword [esp + 0x14]
call dword [sym.imp.WS2_32.dll_closesocket]
mov eax, 2
jmp 0x432b87
push 0
push dword [esp + 0x18]
call fcn.00434840
add esp, 8
test al, 1
jne 0x432ab5
push dword [esp + 0x14]
call dword [sym.imp.WS2_32.dll_closesocket]
call esi
push eax
push dword [esp + 0x18]
push 0x6a5
push str.__connect_by_sock
push str.BAGENT
push str.fcntl__u____d
push 2
push str.BAGENT
call fcn.00432050
add esp, 0x20
jmp 0x432b87
lea eax, [esp + 0x10]
mov dword [esp + 0x10], 0x10
push eax
lea eax, [esp + 0x20]
push eax
push dword [esp + 0x1c]
call dword [sym.imp.WS2_32.dll_getsockname]
push 4
push 0x5ec7ac
push 1
push 6
push dword [esp + 0x24]
call dword [sym.imp.WS2_32.dll_setsockopt]
mov dword [esp + 0x10], eax
test eax, eax
je 0x432b21
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
push dword [eax]
push dword [esp + 0x14]
push dword [esp + 0x1c]
push 0x6ac
push str.__connect_by_sock
push str.BAGENT
push str.setsockopt__d__IPPROTO_TCP__TCP_NODELAY____d__errno_d
push 0
push str.BAGENT
call fcn.00432050
add esp, 0x24
movzx eax, word [edi + 2]
push eax
call ebx
movzx eax, ax
push eax
lea eax, [esp + 0x30]
push eax
push dword [esp + 0x26]
call ebx
movzx eax, ax
push eax
push 0x80
lea eax, [esp + 0x23c]
push eax
lea eax, [esp + 0x34]
push eax
push 2
call sub.WS2_32.dll_inet_ntop
push eax
push dword [esp + 0x24]
push 0x6af
push str.__connect_by_sock
push str.BAGENT
push str.__d__Connection__s:_d___s:_d_has_been_established
push dword [0x915734]
call fcn.004322d0
mov eax, dword [esp + 0x3c]
add esp, 0x28
mov dword [ebp], eax
mov eax, 1
mov ecx, dword [esp + 0x2ac]
pop ebx
pop edi
pop esi
pop ebp
xor ecx, esp
call fcn.00498b38
add esp, 0x2a0
ret