DbgkpLkmdSnapKernelStack
__int64 __fastcall DbgkpLkmdSnapKernelStack(__int64 a1, _QWORD *a2, __int64 a3, char a4, __int64 *a5, __int64 a6){
__int64 v10;
INT64 *v11;
__int64 v13[2];
char v14;
int v15;
__int16 v16;
char v17;
__int64 v18;
INT64 result[8];
INT64 v20[154];
v15 = 0;
v16 = 0;
v17 = 0;
memset((INT64)result, 0i64);
if( a5 )
v10 = a5[19];
else
v10 = *(_QWORD *)(a3 + 88);
if( !a5 && a4 )
{
memset((INT64)v20, 0i64);
v20[19] = v10;
v20[20] = v10;
}
v13[0] = a1;
v13[1] = v10;
v14 = a4;
v18 = a6;
KeEnumerateKernelStackSegments(
a2,
(__int64(__fastcall *)(__int64, __int128 *, __int64))DbgkpLkmdSnapKernelStackSegmentCallback,
(__int64)v13);
if( a4 )
{
v11 = v20;
if( a5 )
v11 = a5;
result[7] = v11[31];
result[6] = v11[20];
(*(void(__fastcall **)(__int64, INT64 *, __int64))(a1 + 10304))(a1 + 10240, result, 64i64);
*(_QWORD *)(a3 + 88) = v10 - 64;
*(_BYTE *)(a3 + 388) = -1;
}
return 0i64;
}Referenced by:
DbgkpLkmdSnapThreadInContext