KiBugCheckProgress
VOID __fastcall KiBugCheckProgress(UINT64 ProgressPercentage){
unsigned int v1;
bool v2;
UINT64 v3;
WCHAR *v4;
_UNICODE_STRING *ProgressContext[2];
INT64 v6[2];
WCHAR *String;
char v8;
*(_OWORD *)v6 = 0i64;
v1 = ProgressPercentage;
v2 = dword_140C508EC != 0;
WORD1(v6[1]) = 8;
String = (WCHAR *)&v8;
*(_OWORD *)ProgressContext = 0i64;
BgpFwAcquireLock();
if( (*(&SbiVmbusArrivalEvent + 368) & 2) != 0 )
BgpFwDisplayBugCheckProgressUpdate(v1, ProgressContext, v2);
BgpFwReleaseLock();
if( v1 )
{
KiHeadlessDisplayString((WCHAR *)L"\r\x1B[0K\r", 0xEui64);
if( ProgressContext[0] && ProgressContext[1] && v6[0] )
{
KiHeadlessDisplayString(ProgressContext[0]->Buffer, ProgressContext[0]->Length);
KiHeadlessDisplayString((WCHAR *)L" ", 4ui64);
KiHeadlessDisplayString(ProgressContext[1]->Buffer, ProgressContext[1]->Length);
KiHeadlessDisplayString(String, LOWORD(v6[1]));
v3 = *(unsigned __int16 *)v6[0];
v4 = *(WCHAR **)(v6[0] + 8);
}
else
{
KiBugCheckConvertProgressValueToUnicodeString(v1, (INT64)&v6[1]);
KiHeadlessDisplayString(String, LOWORD(v6[1]));
v3 = 4i64;
v4 = (WCHAR *)L"%";
}
KiHeadlessDisplayString(v4, v3);
}
if( v1 == 100 )
KiHeadlessDisplayString((WCHAR *)L"\r\n", 6ui64);
}Referenced by:
No references.