KiDumpParameterImages

void __fastcall KiDumpParameterImages(NTSTRSAFE_PSTR pszDest, unsigned __int64 *a2, unsigned int a3, char a4){
  __int64 v7; 
  UNICODE_STRING *UnloadedDriver; 
  UINT16 *p_Length; 
  UINT16 *v10; 
  _LDR_DATA_TABLE_ENTRY *v11; 
  char InKernelOrHal[8]; 
  _LDR_DATA_TABLE_ENTRY *DataTableEntry; 
  BYTE v14[128]; 
  DataTableEntry = 0i64;
  InKernelOrHal[0] = 0;
  if( pszDest )
    *pszDest = 0;
  if( a3 )
  {
    v7 = a3;
    while( !KiPcToFileHeader((VOID *)*a2, &DataTableEntry, 1ui64, (UINT8 *)InKernelOrHal) )
    {
      UnloadedDriver = MmLocateUnloadedDriver((PVOID)*a2);
      p_Length = &UnloadedDriver->Length;
      if( UnloadedDriver )
      {
        if( a4 )
        {
          v10 = &UnloadedDriver->Length;
          goto LABEL_13;
        }
        goto LABEL_14;
      }
LABEL_17:
      ++a2;
      if( !--v7 )
        return;
    }
    v11 = DataTableEntry;
    if( MmIsAddressValidEx((INT64)DataTableEntry->DllBase) )
      RtlImageNtHeader(v11->DllBase);
    p_Length = &v11->BaseDllName.Length;
    if( a4 )
    {
      v10 = p_Length;
LABEL_13:
      KiBugCheckUnicodeToAnsi(v10, v14);
    }
LABEL_14:
    if( pszDest )
      RtlStringCbPrintfA(pszDest, 0x80ui64, (INT8 *)"%s**  %12s - Address %p base at %p, DateStamp %08lx\r\n");
    KiBugCheckDriver = p_Length;
    goto LABEL_17;
  }
}

Referenced by:

KeBugCheck2
KiDisplayBlueScreen