KiBugCheckConvertParameterValueToUnicodeString
INT16 __fastcall KiBugCheckConvertParameterValueToUnicodeString(UINT64 a1, INT64 a2){
_DWORD *v2;
int v4;
_WORD *v5;
unsigned int i;
unsigned __int16 v7;
__int64 v8;
_WORD *v9;
INT16 result;
v2 = *(_DWORD **)(a2 + 8);
v4 = *(unsigned __int16 *)(a2 + 2) >> 1;
if( v4 == 19 )
{
*v2 = 7864368;
v5 = v2 + 1;
for( i = 0; i < 0x40; i += 4 )
{
v7 = (a1 >> (60 - (unsigned __int8)i)) & 0xF;
*v5++ = v7 + (v7 < 0xAu ? 48 : 55);
}
}
else if( v4 != 1 )
{
v8 = (unsigned int)(v4 - 1);
v9 = *(_WORD **)(a2 + 8);
while( v8 )
{
*v9++ = 45;
--v8;
}
}
*((_WORD *)v2 + (unsigned int)(v4 - 1)) = 0;
result = *(_WORD *)(a2 + 2) - 2;
*(_WORD *)a2 = result;
return result;
}Referenced by:
KiDisplayBlueScreen