// 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*/
}
