IopProcessIrpStackProfiler
VOID __stdcall IopProcessIrpStackProfiler(UINT64 *StackSizes, UINT64 StackSizesNumElements){
UINT64 v2;
unsigned int v3;
unsigned int v5;
signed __int64 v6;
__int64 v7;
unsigned int v8;
UINT64 *v9;
unsigned __int64 v10;
unsigned int v11;
bool v12;
bool v13;
unsigned __int64 v14;
unsigned int v15;
UINT64 *v16;
unsigned int v17;
signed __int64 v18;
v2 = 0i64;
v3 = *(&stru_140C452E0 + 711);
v5 = *(&stru_140C452E0 + 710);
v6 = 0i64;
v7 = 0i64;
if( (*(&stru_140C452E0 + 1144) & 1) != 0 )
{
v8 = 10;
v9 = StackSizes + 10;
do
{
v10 = *v9;
v11 = v8;
v12 = *v9 < v2;
v13 = *v9++ == v2;
v14 = v10;
if( v12 || v13 )
{
v14 = v2;
if( v12 || v13 )
v11 = v3;
}
++v8;
v3 = v11;
v2 = v14;
}
while( v8 < 0x14 );
if( v14 < *(&stru_140C452E0 + 432) )
v3 = *(&stru_140C452E0 + 711);
}
v15 = 2;
if( (*(&stru_140C452E0 + 1144) & 2) != 0 && v3 > 2 )
{
v16 = StackSizes + 2;
do
{
v7 += *v16;
v17 = v15;
++v16;
v18 = v7 * (v15 - (unsigned __int64)v3);
if( v18 >= v6 )
v17 = v5;
++v15;
v5 = v17;
if( v18 >= v6 )
v18 = v6;
v6 = v18;
}
while( v15 < v3 );
}
if( *(&stru_140C452E0 + 711) != v3 )
*(&stru_140C452E0 + 711) = v3;
if( *(&stru_140C452E0 + 710) != v5 )
*(&stru_140C452E0 + 710) = v5;
}Referenced by:
IopIrpStackProfilerDpcRoutine