Function at 0x41ff20
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Connect udp socket
Create tcp socket
Create udp socket
Get socket status
Set socket configuration

Disassembly:
sub esp, 0x224
push ebx
push esi
push edi
mov esi, ecx
push 0
call dword [sym.imp.MSVCRT.dll_time]
mov edx, dword [esi + 0x94]
mov edi, dword [esi + 0x8c]
mov ecx, dword [esi + 0x98]
add edx, edi
add edx, ecx
add esp, 4
cmp eax, edx
jae 0x41ff5d
pop edi
pop esi
or eax, 0xffffffff
pop ebx
add esp, 0x224
ret
cmp ecx, 0x14
mov dword [esi + 0x8c], eax
jae 0x41ff6f
inc ecx
mov dword [esi + 0x98], ecx
mov ebx, 1
push 0
push ebx
push 2
mov byte [esi + 0x88], 0
call dword [sym.imp.WS2_32.dll_socket]
cmp eax, 0xffffffff
mov dword [esi + 0x84], eax
jne 0x41ffc0
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push str.create_socket_error_
push eax
push 0x3e9
push 0
push 0x1389
call fcn.00417e80
add esp, 0x14
mov eax, 0xfffffffe
pop edi
pop esi
pop ebx
add esp, 0x224
ret
lea ecx, [esp + 0x1c]
mov dword [esp + 0x1c], ebx
push ecx
push 0x8004667e
push eax
call dword [sym.imp.WS2_32.dll_ioctlsocket]
test eax, eax
je 0x42000f
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push str.ioctlsocket_error
push eax
push 0x3ed
push 0
push 0x1389
call fcn.00417e80
add esp, 0x14
mov ecx, esi
call fcn.00420260
pop edi
pop esi
mov eax, 0xfffffffd
pop ebx
add esp, 0x224
ret
mov ax, word [0x44da58]
xor edx, edx
mov dword [esp + 0xc], edx
push eax
mov dword [esp + 0x14], edx
mov word [esp + 0x10], 2
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], edx
call dword [sym.imp.WS2_32.dll_htons]
mov ecx, dword [esi + 0x80]
mov word [esp + 0xe], ax
mov eax, dword [esi + 0x84]
lea edx, [esp + 0xc]
push 0x10
push edx
push eax
mov dword [esp + 0x1c], ecx
call dword [sym.imp.WS2_32.dll_connect]
test eax, eax
je 0x4201cc
mov edi, dword [sym.imp.WS2_32.dll_WSAGetLastError]
call edi
cmp eax, 0x2733
je 0x4200a1
call edi
push str.Connect_Error_
push eax
push 0x3ed
push 0
push 0xbb9
call fcn.00417e80
add esp, 0x14
mov ecx, esi
call fcn.00420260
pop edi
pop esi
mov eax, 0xfffffffc
pop ebx
add esp, 0x224
ret
mov eax, dword [esi + 0x84]
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x130]
lea ecx, [esp + 0x2c]
mov dword [esp + 0x30], eax
mov dword [esp + 0x134], eax
push edx
push ecx
inc eax
push 0
push eax
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x140], ebx
mov dword [esp + 0x34], 0x16
mov dword [esp + 0x38], 0
call dword [sym.imp.WS2_32.dll_select]
cmp eax, 0xffffffff
jne 0x420120
call edi
push str.select_error_
push eax
push 0x3ed
push 0
push 0x138a
call fcn.00417e80
add esp, 0x14
mov ecx, esi
call fcn.00420260
pop edi
pop esi
mov eax, 0xfffffffb
pop ebx
add esp, 0x224
ret
test eax, eax
jne 0x420156
push str.Selete_timeout_
call edi
push eax
push 0x3ec
push 0
push 0x138a
call fcn.00417e80
add esp, 0x14
mov ecx, esi
call fcn.00420260
pop edi
pop esi
mov eax, 0xfffffffa
pop ebx
add esp, 0x224
ret
mov eax, dword [esi + 0x84]
lea edx, [esp + 0x28]
push edx
push eax
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
jne 0x4201a3
push str.connect_failed_in_select_checking
call fcn.0041f670
mov ecx, dword [eax + 0x1c]
push ecx
push 0x3e9
push 0
push 0x138a
call fcn.00417e80
add esp, 0x14
mov ecx, esi
call fcn.00420260
pop edi
pop esi
mov eax, 0xfffffff9
pop ebx
add esp, 0x224
ret
push str.Connect_Success_
mov byte [esi + 0x88], bl
call fcn.0041f670
mov edx, dword [eax + 0x1c]
push edx
push 0
push ebx
push 0xbb9
call fcn.00417e80
add esp, 0x14
call fcn.0041f740
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0x224
ret