// DevicePathNodeOps - decompiled from Platform.efi
bool __fastcall DevicePathNodeOps(const void *i)
{
const void *Node; // rbx
unsigned __int64 v2; // rdi
const void *j; // rcx
UINTN n4; // rax
Node = i; /*0x74a6*/
if ( !i ) /*0x74ac*/
Assert( /*0x74bf*/
(__int64)"e:\\hs\\MdePkg\\Library\\UefiDevicePathLib\\DevicePathUtilities.c",
62,
(__int64)"DevicePath != ((void *) 0)");
v2 = 0; /*0x74c4*/
for ( j = Node; ; j = Node ) /*0x74c6*/
{
if ( DevicePathIsEndInstance(j) ) /*0x74fb*/
return DevicePathNodeLength(Node) == 4; /*0x7510*/
n4 = DevicePathNodeLength(Node); /*0x74ce*/
if ( n4 < 4 ) /*0x74d7*/
break; /*0x74d7*/
if ( n4 > ~v2 ) /*0x74e2*/
break; /*0x74e2*/
v2 += n4; /*0x74e4*/
if ( v2 > 0xFFFFFFFFFFFFFFFBuLL ) /*0x74eb*/
break; /*0x74eb*/
Node = (const void *)DevicePathNextNode(Node); /*0x74f5*/
}
return 0; /*0x7518*/
}