Function at 0x140011316
Capabilities:
Convert ip address from string
Create raw socket
Create tcp socket
Create udp socket
Initialize winsock library
Receive data
Receive data on socket
Reference google public dns server
Send data
Send data on socket

Disassembly:
jmp 0x1400125a0
push rbp
push rdi
mov eax, 0x1058
call fcn.1400110f0
sub rsp, rax
lea rbp, [rsp + 0x30]
lea rdi, [rsp + 0x30]
mov ecx, 0x2ea
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rax, qword [section..data]
xor rax, rbp
mov qword [rbp + 0x1018], rax
lea rcx, [0x1400250fd]
call fcn.14001143d
nop
lea rdx, [rbp + 0x10]
mov cx, 0x202
call qword [sym.imp.WS2_32.dll_WSAStartup]
mov dword [rbp + 0x1c4], eax
cmp dword [rbp + 0x1c4], 0
je 0x14001263e
lea rdx, str.WSAStartup_failed:
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140011096
mov edx, dword [rbp + 0x1c4]
mov rcx, rax
call qword [sym.imp.MSVCP140D.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___int____ptr64]
lea rdx, [0x14001103c]
mov rcx, rax
call qword [sym.imp.MSVCP140D.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
nop
mov eax, 0xffffffff
jmp 0x1400129ef
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
xor r9d, r9d
mov r8d, 1
mov edx, 3
mov ecx, 2
call qword [sym.imp.WS2_32.dll_WSASocketW]
mov qword [rbp + 0x1e8], rax
cmp qword [rbp + 0x1e8], 0xffffffffffffffff
jne 0x1400126ca
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [rbp + 0x1014], eax
lea rdx, str.Socket_creation_failed:
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140011096
mov ecx, dword [rbp + 0x1014]
mov edx, ecx
mov rcx, rax
call qword [sym.imp.MSVCP140D.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___int____ptr64]
lea rdx, [0x14001103c]
mov rcx, rax
call qword [sym.imp.MSVCP140D.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
nop
call qword [sym.imp.WS2_32.dll_WSACleanup]
nop
mov eax, 0xffffffff
jmp 0x1400129ef
lea rax, str.8.8.8.8
mov qword [rbp + 0x208], rax
mov eax, 2
mov word [rbp + 0x228], ax
lea r8, [rbp + 0x22c]
mov rdx, qword [rbp + 0x208]
mov ecx, 2
call qword [sym.imp.WS2_32.dll_inet_pton]
nop
lea rax, [rbp + 0x260]
mov rdi, rax
xor eax, eax
mov ecx, 0x400
rep stosb byte [rdi], al
lea rax, [rbp + 0x260]
mov qword [rbp + 0x678], rax
mov rax, qword [rbp + 0x678]
mov byte [rax], 8
mov rax, qword [rbp + 0x678]
mov byte [rax + 1], 0
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov rcx, qword [rbp + 0x678]
mov word [rcx + 4], ax
mov eax, 1
mov rcx, qword [rbp + 0x678]
mov word [rcx + 6], ax
mov byte [rbp + 0x694], 0xff
mov byte [rbp + 0x695], 0xcc
mov byte [rbp + 0x696], 0xdd
mov byte [rbp + 0x697], 0xee
lea rax, [rbp + 0x268]
mov r8d, 4
lea rdx, [rbp + 0x694]
mov rcx, rax
call fcn.140011235
nop
mov dword [rbp + 0x6b4], recvfrom
mov edx, dword [rbp + 0x6b4]
lea rcx, [rbp + 0x260]
call fcn.14001106e
mov rcx, qword [rbp + 0x678]
mov word [rcx + 2], ax
mov dword [rsp + 0x28], recvfrom
lea rax, [rbp + 0x228]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8d, dword [rbp + 0x6b4]
lea rdx, [rbp + 0x260]
mov rcx, qword [rbp + 0x1e8]
call qword [sym.imp.WS2_32.dll_sendto]
cmp eax, 0xffffffff
jne 0x14001284c
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [rbp + 0x1014], eax
lea rdx, str.Sendto_failed:
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140011096
mov ecx, dword [rbp + 0x1014]
mov edx, ecx
mov rcx, rax
call qword [sym.imp.MSVCP140D.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___int____ptr64]
lea rdx, [0x14001103c]
mov rcx, rax
call qword [sym.imp.MSVCP140D.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
nop
mov rcx, qword [rbp + 0x1e8]
call qword [sym.imp.WS2_32.dll_closesocket]
nop
call qword [sym.imp.WS2_32.dll_WSACleanup]
nop
mov eax, 0xffffffff
jmp 0x1400129ef
mov dword [rbp + 0x704], recvfrom
lea rax, [rbp + 0x704]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x6d8]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8d, 0x400
lea rdx, [rbp + 0x730]
mov rcx, qword [rbp + 0x1e8]
call qword [sym.imp.WS2_32.dll_recvfrom]
cmp eax, 0xffffffff
jne 0x1400128f0
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [rbp + 0x1014], eax
lea rdx, str.Recvfrom_failed:
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140011096
mov ecx, dword [rbp + 0x1014]
mov edx, ecx
mov rcx, rax
call qword [sym.imp.MSVCP140D.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___int____ptr64]
lea rdx, [0x14001103c]
mov rcx, rax
call qword [sym.imp.MSVCP140D.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
nop
mov rcx, qword [rbp + 0x1e8]
call qword [sym.imp.WS2_32.dll_closesocket]
nop
call qword [sym.imp.WS2_32.dll_WSACleanup]
nop
mov eax, 0xffffffff
jmp 0x1400129ef
lea rax, [rbp + 0x744]
mov qword [rbp + 0xb48], rax
mov rax, qword [rbp + 0xb48]
movzx eax, byte [rax]
test eax, eax
jne 0x140012993
lea rdx, str.Received_ICMP_reply_with_payload:
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140011096
nop
lea rax, [rbp + 0x74c]
mov qword [rbp + 0xb68], rax
mov dword [rbp + 0xb84], 0
jmp 0x14001294c
mov eax, dword [rbp + 0xb84]
inc eax
mov dword [rbp + 0xb84], eax
movsxd rax, dword [rbp + 0xb84]
cmp rax, 4
jae 0x14001297c
movsxd rax, dword [rbp + 0xb84]
mov rcx, qword [rbp + 0xb68]
movzx eax, byte [rcx + rax]
mov edx, eax
lea rcx, str._02X
call fcn.140011217
nop
jmp 0x14001293e
lea rdx, [0x14001103c]
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call qword [sym.imp.MSVCP140D.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
nop
jmp 0x1400129d8
mov rax, qword [rbp + 0xb48]
movzx eax, byte [rax]
mov dword [rbp + 0x1014], eax
lea rdx, str.Unexpected_ICMP_response_type:
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140011096
mov ecx, dword [rbp + 0x1014]
mov edx, ecx
mov rcx, rax
call qword [sym.imp.MSVCP140D.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___int____ptr64]
lea rdx, [0x14001103c]
mov rcx, rax
call qword [sym.imp.MSVCP140D.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
nop
mov rcx, qword [rbp + 0x1e8]
call qword [sym.imp.WS2_32.dll_closesocket]
nop
call qword [sym.imp.WS2_32.dll_WSACleanup]
nop
xor eax, eax
mov rdi, rax
lea rcx, [rbp - 0x30]
lea rdx, [0x14001be40]
call fcn.1400113c5
mov rax, rdi
mov rcx, qword [rbp + 0x1018]
xor rcx, rbp
call fcn.140011230
lea rsp, [rbp + 0x1028]
pop rdi
pop rbp
ret