Function at 0x40ed10
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Connect udp socket
Create tcp socket
Create udp socket
Resolve function by parsing pe exports
Send data
Send data on socket

Disassembly:
push 0xffffffffffffffff
push 0x423339
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x3c
mov eax, dword [0x4306a0]
push ebx
push ebp
push esi
mov dword [esp + 0x44], eax
push edi
xor ebp, ebp
mov dword [esp + 0x54], ebp
push 1
push ebp
push ebp
push 6
push 1
push 2
mov dword [esp + 0x2c], 1
call dword [sym.imp.WS2_32.dll_WSASocketA]
cmp eax, 0xffffffff
mov dword [0x430248], eax
jne 0x40ed6b
mov dword [esp + 0x14], ebp
push str.send_dataWSASocket_fails
jmp 0x40ef2c
cmp dword [esp + 0x74], 0x10
mov eax, dword [esp + 0x60]
mov word [esp + 0x38], 2
jae 0x40ed81
lea eax, [esp + 0x60]
mov esi, dword [sym.imp.WS2_32.dll_inet_addr]
push eax
call esi
mov ebx, dword [esp + 0x78]
mov edi, dword [sym.imp.WS2_32.dll_htons]
push ebx
mov dword [esp + 0x40], eax
call edi
mov word [esp + 0x3a], ax
cmp dword [0x435330], ebp
je 0x40edd8
push str.127.0.0.1
call esi
mov dword [esp + 0x3c], eax
xor eax, eax
mov ax, word [0x435334]
push eax
call edi
movzx ecx, word [0x435334]
push ecx
push str.send_datacloud_mode__m_port_cldclt:_d.
mov word [esp + 0x42], ax
call fcn.0040b4c0
add esp, 8
mov eax, dword [0x430248]
mov esi, 0x10
push esi
lea edx, [esp + 0x3c]
push edx
push eax
call dword [sym.imp.WS2_32.dll_connect]
or edi, 0xffffffff
cmp eax, edi
jne 0x40ee32
mov ecx, dword [0x430248]
push ecx
mov dword [esp + 0x18], ebp
call dword [sym.imp.WS2_32.dll_closesocket]
cmp dword [esp + 0x74], esi
mov eax, dword [esp + 0x60]
mov dword [0x430248], edi
jae 0x40ee1b
lea eax, [esp + 0x60]
movzx edx, bx
push edx
push eax
push str.send_dataconnect_faileasyprint_ip:_s__port:_d
call fcn.0040b4c0
add esp, 0xc
jmp 0x40ef34
cmp dword [esp + 0x74], esi
mov eax, dword [esp + 0x60]
jae 0x40ee40
lea eax, [esp + 0x60]
push ebx
push eax
mov eax, dword [0x430248]
push eax
mov ecx, 0x435238
call fcn.00409d10
mov edx, dword [esp + 0x7c]
mov eax, dword [esp + 0x80]
xor ecx, ecx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x30], ecx
push ebp
mov dword [esp + 0x38], ecx
lea ecx, [esp + 0x28]
push ecx
mov ecx, dword [0x430248]
push ebp
mov dword [esp + 0x2c], edx
lea edx, [esp + 0x1c]
push edx
mov dword [esp + 0x2c], eax
push 1
lea eax, [esp + 0x30]
push eax
push ecx
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x34], ebp
call dword [sym.imp.WS2_32.dll_WSASend]
cmp eax, edi
jne 0x40eeea
mov esi, dword [sym.imp.WS2_32.dll_WSAGetLastError]
call esi
cmp eax, 0x3e5
je 0x40eee8
mov edx, dword [0x430248]
push edx
call dword [sym.imp.WS2_32.dll_closesocket]
push str.send_dataWSASend_failsERROR_IO_PENDING___WSAGetLastError__
mov dword [0x430248], edi
call fcn.0040b4c0
add esp, 4
mov dword [esp + 0x54], edi
lea ecx, [esp + 0x5c]
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
xor eax, eax
jmp 0x40ef4a
call esi
lea eax, [esp + 0x18]
push eax
mov eax, dword [0x430248]
push 1
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x30]
push edx
push eax
call dword [sym.imp.WS2_32.dll_WSAGetOverlappedResult]
cmp eax, ebp
je 0x40ef14
cmp dword [esp + 0x10], ebp
jne 0x40ef34
or edi, 0xffffffff
mov ecx, dword [0x430248]
push ecx
call dword [sym.imp.WS2_32.dll_closesocket]
mov dword [0x430248], edi
push str.send_dataWSAGetOverlappedResult_fails
call fcn.0040b4c0
add esp, 4
mov dword [esp + 0x54], 0xffffffff
lea ecx, [esp + 0x5c]
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x4c]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
mov ecx, dword [esp + 0x3c]
pop ebx
call fcn.00421871
add esp, 0x48
ret