Function at 0x1400112a3
Capabilities:
Create raw socket
Get socket status
Initialize winsock library
Receive data
Receive data on socket
Resolve dns
Send data
Send data on socket

Disassembly:
jmp 0x140011ac0
push rbp
push rdi
sub rsp, 0xfa8
lea rbp, [rsp + 0x30]
lea rdi, [rsp + 0x30]
mov ecx, 0x2be
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rax, qword [section..data]
xor rax, rbp
mov qword [rbp + 0xf68], rax
lea rcx, [0x1400240a5]
call fcn.1400113b6
lea rdx, [rbp + 0x10]
mov cx, 0x202
call qword [sym.imp.WS2_32.dll_WSAStartup]
test eax, eax
je 0x140011b25
lea rcx, str.WSAStartup_failed_n
call fcn.1400111b8
mov eax, 1
jmp 0x140011f8f
mov r8d, 1
mov edx, 3
mov ecx, 2
call qword [sym.imp.WS2_32.dll_socket]
mov qword [rbp + 0x1c8], rax
cmp qword [rbp + 0x1c8], 0xffffffffffffffff
jne 0x140011b68
lea rcx, str.Socket_creation_failed_n
call fcn.1400111b8
call qword [sym.imp.WS2_32.dll_WSACleanup]
mov eax, 1
jmp 0x140011f8f
lea rcx, str.Enter_the_hostname_or_IP_address_to_ping:
call fcn.1400111b8
lea rdx, [rbp + 0x1f0]
lea rcx, str._255s
call fcn.1400110a5
lea rcx, [rbp + 0x1f0]
call qword [sym.imp.WS2_32.dll_gethostbyname]
mov qword [rbp + 0x308], rax
cmp qword [rbp + 0x308], 0
jne 0x140011bce
lea rcx, str.gethostbyname_failed_n
call fcn.1400111b8
mov rcx, qword [rbp + 0x1c8]
call qword [sym.imp.WS2_32.dll_closesocket]
call qword [sym.imp.WS2_32.dll_WSACleanup]
mov eax, 1
jmp 0x140011f8f
mov eax, 2
mov word [rbp + 0x328], ax
mov eax, 8
imul rax, rax, 0
mov rcx, qword [rbp + 0x308]
mov rcx, qword [rcx + 0x18]
mov rax, qword [rax + rcx]
mov eax, dword [rax]
mov dword [rbp + 0x32c], eax
mov ecx, dword [rbp + 0x32c]
call qword [sym.imp.WS2_32.dll_inet_ntoa]
mov r8, rax
lea rdx, [rbp + 0x1f0]
lea rcx, str.Pinging__s___s__with_32_bytes_of_data:_n
call fcn.1400111b8
mov dword [rbp + 0x354], 0
jmp 0x140011c36
mov eax, dword [rbp + 0x354]
inc eax
mov dword [rbp + 0x354], eax
cmp dword [rbp + 0x354], 4
jge 0x140011f7a
mov r8d, 0x2c
xor edx, edx
lea rcx, [rbp + 0x378]
call fcn.1400112f3
mov byte [rbp + 0x378], 8
mov byte [rbp + 0x379], 0
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov word [rbp + 0x37c], ax
movzx eax, word [rbp + 0x354]
mov word [rbp + 0x37e], ax
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [rbp + 0x380], eax
mov r9d, 0x1f
lea r8, str.This_is_a_simple_ping_program
mov edx, 0x20
lea rcx, [rbp + 0x384]
call qword [sym.imp.ucrtbased.dll_strncpy_s]
mov edx, 0x2c
lea rcx, [rbp + 0x378]
call fcn.14001119f
mov word [rbp + 0x37a], ax
mov dword [rsp + 0x28], sendto
lea rax, [rbp + 0x328]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8d, 0x2c
lea rdx, [rbp + 0x378]
mov rcx, qword [rbp + 0x1c8]
call qword [sym.imp.WS2_32.dll_sendto]
cmp eax, 0xffffffff
jne 0x140011d22
lea rcx, str.sendto_failed_n
call fcn.1400111b8
mov rcx, qword [rbp + 0x1c8]
call qword [sym.imp.WS2_32.dll_closesocket]
call qword [sym.imp.WS2_32.dll_WSACleanup]
mov eax, 1
jmp 0x140011f8f
mov dword [rbp + 0x3d0], 0
mov dword [rbp + 0x614], 0
jmp 0x140011d46
mov eax, dword [rbp + 0x614]
inc eax
mov dword [rbp + 0x614], eax
mov eax, dword [rbp + 0x3d0]
cmp dword [rbp + 0x614], eax
jae 0x140011d6f
mov eax, dword [rbp + 0x614]
mov rcx, qword [rbp + 0x1c8]
cmp qword [rbp + rax*8 + 0x3d8], rcx
jne 0x140011d6d
jmp 0x140011d6f
jmp 0x140011d38
mov eax, dword [rbp + 0x3d0]
cmp dword [rbp + 0x614], eax
jne 0x140011da9
cmp dword [rbp + 0x3d0], 0x40
jae 0x140011da9
mov eax, dword [rbp + 0x614]
mov rcx, qword [rbp + 0x1c8]
mov qword [rbp + rax*8 + 0x3d8], rcx
mov eax, dword [rbp + 0x3d0]
inc eax
mov dword [rbp + 0x3d0], eax
xor eax, eax
test eax, eax
jne 0x140011d2c
mov dword [rbp + 0x5f8], 1
mov dword [rbp + 0x5fc], 0
lea rax, [rbp + 0x5f8]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
lea rdx, [rbp + 0x3d0]
xor ecx, ecx
call qword [sym.imp.WS2_32.dll_select]
mov dword [rbp + 0x634], eax
cmp dword [rbp + 0x634], 0xffffffff
jne 0x140011e20
lea rcx, str.select_failed_n
call fcn.1400111b8
mov rcx, qword [rbp + 0x1c8]
call qword [sym.imp.WS2_32.dll_closesocket]
call qword [sym.imp.WS2_32.dll_WSACleanup]
mov eax, 1
jmp 0x140011f8f
cmp dword [rbp + 0x634], 0
jle 0x140011f5e
lea rdx, [rbp + 0x3d0]
mov rcx, qword [rbp + 0x1c8]
call fcn.140011014
test eax, eax
je 0x140011f5e
mov dword [rbp + 0xa74], sendto
lea rax, [rbp + 0xa74]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x328]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8d, 0x400
lea rdx, [rbp + 0x660]
mov rcx, qword [rbp + 0x1c8]
call qword [sym.imp.WS2_32.dll_recvfrom]
cmp eax, 0xffffffff
jne 0x140011eb5
lea rcx, str.recvfrom_failed_n
call fcn.1400111b8
mov rcx, qword [rbp + 0x1c8]
call qword [sym.imp.WS2_32.dll_closesocket]
call qword [sym.imp.WS2_32.dll_WSACleanup]
mov eax, 1
jmp 0x140011f8f
lea rax, [rbp + 0x660]
mov qword [rbp + 0xa98], rax
lea rax, [rbp + 0x674]
mov qword [rbp + 0xab8], rax
mov rax, qword [rbp + 0xab8]
movzx eax, byte [rax]
test eax, eax
jne 0x140011f50
mov rax, qword [rbp + 0xab8]
movzx eax, word [rax + 4]
movzx ecx, word [rbp + 0x37c]
cmp eax, ecx
jne 0x140011f50
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov rcx, qword [rbp + 0xab8]
sub eax, dword [rcx + 8]
mov dword [rbp + 0xad4], eax
mov rax, qword [rbp + 0xa98]
movzx eax, byte [rax + 8]
mov dword [rbp + 0xf64], eax
mov ecx, dword [rbp + 0x32c]
call qword [sym.imp.WS2_32.dll_inet_ntoa]
mov ecx, dword [rbp + 0xf64]
mov dword [rsp + 0x20], ecx
mov r9d, dword [rbp + 0xad4]
mov r8d, 0x20
mov rdx, rax
lea rcx, str.Reply_from__s:_bytes_d_time_lums_TTL_d_n
call fcn.1400111b8
jmp 0x140011f5c
lea rcx, str.Ping_failed_n
call fcn.1400111b8
jmp 0x140011f6a
lea rcx, str.Request_timed_out_n
call fcn.1400111b8
mov ecx, 0x3e8
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x140011c28
mov rcx, qword [rbp + 0x1c8]
call qword [sym.imp.WS2_32.dll_closesocket]
call qword [sym.imp.WS2_32.dll_WSACleanup]
xor eax, eax
mov rdi, rax
lea rcx, [rbp - 0x30]
lea rdx, [0x14001af00]
call fcn.140011343
mov rax, rdi
mov rcx, qword [rbp + 0xf68]
xor rcx, rbp
call fcn.1400111d1
lea rsp, [rbp + 0xf78]
pop rdi
pop rbp
ret