PopAvlGetPowerRequestKey

NTSTATUS __fastcall PopAvlGetPowerRequestKey(__int64 a1, _UNICODE_STRING *a2, __int16 a3){
  __int64 v3; 
  bool v5; 
  __int64 v6; 
  __int64 v8; 
  _UNICODE_STRING *v9; 
  const wchar_t *v10; 
  _UNICODE_STRING v11; 
  _STRING DestinationString; 

  v3 = *(_QWORD *)(a1 + 80);
  DestinationString = 0i64;
  v5 = *(_DWORD *)v3 == 0;
  v6 = *(_QWORD *)(v3 + 8);
  v11 = 0i64;
  if( !v5 )
  {
    if( v6 )
    {
      RtlInitAnsiString(&DestinationString, (PCSZ)(v6 + 1448));
      return PopAnsiStringToUnicodeString(a2, &DestinationString);
    }
    v10 = UNIDENTIFIED_PROCESS;
    goto LABEL_9;
  }
  if( !v6 || (v8 = *(_QWORD *)(v6 + 8)) == 0 )
  {
    v10 = UNIDENTIFIED_DRIVER;
LABEL_9:
    RtlInitUnicodeString(&v11, v10);
    v9 = &v11;
    return PopUnicodeStringDeepCopy(a2, v9);
  }
  v9 = (_UNICODE_STRING *)(v8 + 56);
  return PopUnicodeStringDeepCopy(a2, v9);
}

Referenced by:

PopAvlFindOrMakeStatsForPowerRequest