Function at 0x467a90
Capabilities:
Check for time delay via queryperformancecounter
Send icmp echo request

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4f87e4
mov eax, dword fs:[0]
push eax
sub esp, 0x1f0
mov eax, dword [0x55a3d0]
xor eax, esp
mov dword [esp + 0x1e8], eax
push ebx
push esi
push edi
mov eax, dword [0x55a3d0]
xor eax, esp
push eax
lea eax, [esp + 0x200]
mov dword fs:[0], eax
mov edi, ecx
cmp dword [edi + 0x94], 0x10
jb 0x467ae3
mov esi, dword [edi + 0x80]
jmp 0x467ae9
lea esi, [edi + 0x80]
lea eax, [esp + 0xd4]
push eax
call fcn.00403200
lea ecx, [esp + 0xd4]
push str.Ping_target
xor ebx, ebx
push ecx
mov dword [esp + 0x210], ebx
call fcn.00404d50
lea edx, [esp + 0xdc]
push esi
push edx
call fcn.004058a0
lea eax, [esp + 0xe4]
push str.:_thread_started.
push eax
call fcn.00404d50
add esp, 0x18
lea esi, [esp + 0x16c]
lea eax, [esp + 0xd4]
call fcn.00402e30
mov ecx, esi
push ecx
push 3
mov byte [esp + 0x210], 1
call fcn.00423a40
add esp, 8
cmp dword [esp + 0x180], 8
jb 0x467b76
mov edx, dword [esp + 0x16c]
push edx
call fcn.004b5907
add esp, 4
xor eax, eax
lea ecx, [esp + 0xd4]
mov dword [esp + 0x180], 7
mov dword [esp + 0x17c], ebx
mov word [esp + 0x16c], ax
mov dword [esp + 0x208], 0xffffffff
call fcn.00401690
lea ecx, [edi + 0x48]
mov dword [esp + 0x14], ecx
call fcn.00420730
mov dword [esp + 0x208], 2
call dword [sym.imp.IPHLPAPI.DLL_IcmpCreateFile]
mov esi, eax
mov dword [esp + 0x18], esi
cmp esi, 0xffffffff
jne 0x467d34
push 0x2a
push str.Invalid_handle_value_from_IcmpCreateFile__
lea ecx, [esp + 0x174]
mov dword [edi + 0x20], eax
mov dword [esp + 0x188], 0xf
mov dword [esp + 0x184], ebx
mov byte [esp + 0x174], bl
call fcn.00411d00
lea edx, [esp + 0x16c]
lea ecx, [edi + 0x2c]
push edx
mov byte [esp + 0x20c], 3
call fcn.0040f1c0
mov byte [esp + 0x208], 2
cmp dword [esp + 0x180], 0x10
jb 0x467c3e
mov eax, dword [esp + 0x16c]
push eax
call fcn.004b5907
add esp, 4
push edi
lea edi, [esp + 0x1e0]
call fcn.00454960
mov esi, eax
lea ecx, [esp + 0x3c]
push ecx
mov byte [esp + 0x20c], 4
call fcn.00403200
lea edx, [esp + 0x3c]
push str.NetworkService::PingTargetTask::Execute
push edx
mov byte [esp + 0x210], 5
call fcn.00404d50
lea eax, [esp + 0x44]
push str.:_Ping_target_task
push eax
call fcn.00404d50
lea ecx, [esp + 0x4c]
push esi
push ecx
call fcn.0041b8e0
lea edx, [esp + 0x54]
push str.:_Invalid_handle_value_from_IcmpCreateFile__
push edx
call fcn.00404d50
add esp, 0x20
lea esi, [esp + 0x16c]
lea eax, [esp + 0x3c]
call fcn.00402e30
mov eax, esi
push eax
push 1
mov byte [esp + 0x210], 6
call fcn.00423a40
mov esi, 8
add esp, 8
cmp dword [esp + 0x180], esi
jb 0x467ce5
mov ecx, dword [esp + 0x16c]
push ecx
call fcn.004b5907
add esp, 4
xor edx, edx
lea ecx, [esp + 0x3c]
mov dword [esp + 0x180], 7
mov dword [esp + 0x17c], ebx
mov word [esp + 0x16c], dx
mov byte [esp + 0x208], 4
call fcn.00401690
cmp dword [esp + 0x1f0], esi
jb 0x468216
mov eax, dword [esp + 0x1dc]
push eax
call fcn.004b5907
add esp, 4
jmp 0x468216
mov dword [esp + 0x38], esi
mov byte [esp + 0x208], 7
xor ecx, ecx
push 0xa
mov word [esp + 0x1a8], cx
push str.PING_DATA_
lea ecx, [esp + 0x1ac]
mov dword [esp + 0x1c0], 7
mov dword [esp + 0x1bc], ebx
call fcn.004125c0
xor edx, edx
mov dword [esp + 0x19c], 7
mov dword [esp + 0x198], ebx
mov word [esp + 0x188], dx
push ebx
push 0x38
lea ecx, [esp + 0x190]
mov byte [esp + 0x210], 9
call fcn.00412380
cmp dword [esp + 0x19c], 8
mov eax, dword [esp + 0x188]
mov dword [esp + 0x198], ebx
jae 0x467dc1
lea eax, [esp + 0x188]
lea edx, [esp + 0x24]
xor ecx, ecx
push edx
mov word [eax], cx
call dword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
lea eax, [esp + 0x2c]
push eax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov ecx, dword [esp + 0x188]
mov eax, 8
cmp dword [esp + 0x19c], eax
jae 0x467df8
lea ecx, [esp + 0x188]
cmp dword [esp + 0x1b8], eax
mov eax, dword [esp + 0x1a4]
jae 0x467e0f
lea eax, [esp + 0x1a4]
push 0x2710
push 0x38
push ecx
mov ecx, dword [edi + 0x9c]
push ebx
push 0x1c
push eax
push ecx
push esi
call dword [sym.imp.IPHLPAPI.DLL_IcmpSendEcho]
mov edx, dword [edi]
mov esi, eax
mov eax, dword [edx + 0x28]
push ebx
mov ecx, edi
call eax
lea ecx, [esp + 0x1c]
push ecx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebx
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov edx, dword [esp + 0x1c]
sub edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x20]
sbb eax, dword [esp + 0x30]
push ebx
push 0xf4240
push eax
push edx
call fcn.004baa80
mov ecx, dword [esp + 0x28]
push ecx
mov ecx, dword [esp + 0x28]
push ecx
push edx
push eax
call fcn.004ba670
push ebx
push 0x3e8
push edx
push eax
call fcn.004ba670
mov dword [esp + 0x28], edx
cmp esi, ebx
jne 0x468096
push 0x18
push str.IcmpSendEcho_failed_for
lea ecx, [esp + 0x174]
mov dword [esp + 0x188], 0xf
mov dword [esp + 0x184], ebx
mov byte [esp + 0x174], bl
call fcn.00411d00
lea eax, [edi + 0x80]
push eax
lea edx, [esp + 0x170]
push edx
lea eax, [esp + 0x1c8]
push eax
mov byte [esp + 0x214], 0xa
call fcn.004496c0
add esp, 0xc
lea esi, [edi + 0x2c]
push eax
mov ecx, esi
mov byte [esp + 0x20c], 0xb
call fcn.0040f1c0
cmp dword [esp + 0x1d4], 0x10
jb 0x467f0f
mov ecx, dword [esp + 0x1c0]
push ecx
call fcn.004b5907
add esp, 4
mov byte [esp + 0x208], 9
cmp dword [esp + 0x180], 0x10
mov dword [esp + 0x1d4], 0xf
mov dword [esp + 0x1d0], ebx
mov byte [esp + 0x1c0], bl
jb 0x467f4a
mov edx, dword [esp + 0x16c]
push edx
call fcn.004b5907
add esp, 4
cmp dword [esi + 0x14], 0x10
jb 0x467f52
mov esi, dword [esi]
lea eax, [esp + 0x1dc]
push esi
push eax
call fcn.0046ab24
add esp, 8
mov esi, eax
lea ecx, [esp + 0xd4]
push ecx
mov byte [esp + 0x20c], 0xc
call fcn.00403200
lea edx, [esp + 0xd4]
push str.NetworkService::PingTargetTask::Execute
push edx
mov byte [esp + 0x210], 0xd
call fcn.00404d50
lea eax, [esp + 0xdc]
push esi
push eax
call fcn.0041b8e0
add esp, 0x10
lea esi, [esp + 0x16c]
lea eax, [esp + 0xd4]
call fcn.00402e30
mov ecx, esi
push ecx
push 2
mov byte [esp + 0x210], 0xe
call fcn.00423a40
mov esi, 8
add esp, 8
cmp dword [esp + 0x180], esi
jb 0x467feb
mov edx, dword [esp + 0x16c]
push edx
call fcn.004b5907
add esp, 4
xor eax, eax
lea ecx, [esp + 0xd4]
mov dword [esp + 0x180], 7
mov dword [esp + 0x17c], ebx
mov word [esp + 0x16c], ax
mov byte [esp + 0x208], 0xc
call fcn.00401690
cmp dword [esp + 0x1f0], esi
jb 0x468034
mov ecx, dword [esp + 0x1dc]
push ecx
call fcn.004b5907
add esp, 4
mov dword [edi + 0x20], 0xffffffff
cmp dword [esp + 0x19c], esi
jb 0x468054
mov edx, dword [esp + 0x188]
push edx
call fcn.004b5907
add esp, 4
xor eax, eax
mov edi, 7
mov dword [esp + 0x19c], edi
mov dword [esp + 0x198], ebx
mov word [esp + 0x188], ax
cmp dword [esp + 0x1b8], esi
jb 0x46808a
mov ecx, dword [esp + 0x1a4]
push ecx
call fcn.004b5907
add esp, 4
mov dword [esp + 0x1b8], edi
jmp 0x4681fa
mov dword [edi + 0xa0], eax
mov dword [edi + 0x20], 2
push edi
lea edi, [esp + 0x1e0]
call fcn.00454960
mov esi, eax
lea ecx, [esp + 0x3c]
push ecx
mov byte [esp + 0x20c], 0xf
call fcn.00403200
lea edx, [esp + 0x3c]
push str.NetworkService::PingTargetTask::Execute
push edx
mov byte [esp + 0x210], 0x10
call fcn.00404d50
lea eax, [esp + 0x44]
push str.:_Ping_target_task
push eax
call fcn.00404d50
lea ecx, [esp + 0x4c]
push esi
push ecx
call fcn.0041b8e0
lea edx, [esp + 0x54]
push str._completed_successfully
push edx
call fcn.00404d50
add esp, 0x20
lea esi, [esp + 0x1c0]
lea eax, [esp + 0x3c]
call fcn.00402e30
mov eax, esi
push eax
push 3
mov byte [esp + 0x210], 0x11
call fcn.00423a40
mov edi, 8
add esp, 8
cmp dword [esp + 0x1d4], edi
jb 0x46814a
mov ecx, dword [esp + 0x1c0]
push ecx
call fcn.004b5907
add esp, 4
xor edx, edx
mov esi, 7
lea ecx, [esp + 0x3c]
mov dword [esp + 0x1d4], esi
mov dword [esp + 0x1d0], ebx
mov word [esp + 0x1c0], dx
mov byte [esp + 0x208], 0xf
call fcn.00401690
cmp dword [esp + 0x1f0], edi
jb 0x468191
mov eax, dword [esp + 0x1dc]
push eax
call fcn.004b5907
add esp, 4
xor ecx, ecx
mov dword [esp + 0x1f0], esi
mov dword [esp + 0x1ec], ebx
mov word [esp + 0x1dc], cx
cmp dword [esp + 0x19c], edi
jb 0x4681c2
mov edx, dword [esp + 0x188]
push edx
call fcn.004b5907
add esp, 4
xor eax, eax
mov dword [esp + 0x19c], esi
mov dword [esp + 0x198], ebx
mov word [esp + 0x188], ax
cmp dword [esp + 0x1b8], edi
jb 0x4681f3
mov ecx, dword [esp + 0x1a4]
push ecx
call fcn.004b5907
add esp, 4
mov dword [esp + 0x1b8], esi
mov eax, dword [esp + 0x18]
xor edx, edx
push eax
mov dword [esp + 0x1b8], ebx
mov word [esp + 0x1a8], dx
call dword [sym.imp.IPHLPAPI.DLL_IcmpCloseHandle]
mov dword [esp + 0x208], 0xffffffff
mov ecx, dword [esp + 0x14]
mov eax, closesocket
mov edx, ecx
lock xadd dword [edx], eax
test eax, 0x40000000
jne 0x468253
cmp eax, 0x80000000
jle 0x468253
mov eax, ecx
lock bts dword [eax], 0x1e
jb 0x468253
call fcn.00412ee0
push eax
call dword [sym.imp.KERNEL32.dll_SetEvent]
mov ecx, dword [esp + 0x200]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x1e8]
xor ecx, esp
call fcn.004b58f8
mov esp, ebp
pop ebp
ret