PopFxQueryBiosDeviceName

void __fastcall PopFxQueryBiosDeviceName(__int64 a1, __int64 a2){
  VOID *PoolWithTag; 
  int v5; 
  int v6; 
  PoolWithTag = 0i64;
  IoGetDevicePropertyData(*(DEVICE_OBJECT **)(a1 + 32), (DEVPROPKEY *)&DEVPKEY_Device_BiosDeviceName, 0i64, 0i64);
  if( v5 == -1073741789 )
  {
    PoolWithTag = ExAllocatePoolWithTag(NonPagedPoolNx, 0i64, 0x4D584650ui64);
    if( !PoolWithTag )
      return;
    v5 = 0;
  }
  if( v5 >= 0 )
  {
    IoGetDevicePropertyData(*(DEVICE_OBJECT **)(a1 + 32), (DEVPROPKEY *)&DEVPKEY_Device_BiosDeviceName, 0i64, 0i64);
    if( v6 >= 0 )
    {
      *(_WORD *)(a2 + 2) = 0;
      *(_WORD *)a2 = -2;
      *(_QWORD *)(a2 + 8) = PoolWithTag;
    }
  }
}

Referenced by:

PopFxFindDeviceAndAllocateUniqueId