PnprReplaceStart
__int64 PnprReplaceStart(){
_DWORD *v0;
int v1;
int v2;
__int64 v3;
int v4;
int v5;
__int64 v6;
__int64 v7;
int v8;
int v9;
__int64 v11[5];
v11[0] = 0i64;
v0 = (_DWORD *)(PnprContext + 72);
v11[1] = *(_QWORD *)(PnprContext + 16);
v11[2] = *(_QWORD *)(PnprContext + 48);
v1 = 0;
if( (*(_DWORD *)(PnprContext + 20896) & 2) != 0 )
{
v1 = 1;
LODWORD(v11[0]) = 1;
}
if( (*(_DWORD *)(PnprContext + 64) & 0x20) != 0 )
LODWORD(v11[0]) = v1 | 2;
v2 = ((__int64(__fastcall *)(__int64 *, __int64))off_140C00678[0])(v11, PnprContext + 20872);
if( v2 >= 0 )
{
v6 = PnprContext;
if( *(_DWORD *)(*(_QWORD *)(PnprContext + 24) + 4i64) )
{
memset(v0, 0i64, 0x40u);
*v0 = 64;
v0[1] = 2;
*((_QWORD *)v0 + 1) = *(_QWORD *)(v6 + 8);
*((_QWORD *)v0 + 2) = *(_QWORD *)(v6 + 40);
*((_QWORD *)v0 + 3) = *(_QWORD *)(v6 + 16);
*((_QWORD *)v0 + 4) = *(_QWORD *)(v6 + 48);
*((_QWORD *)v0 + 5) = *(_QWORD *)(v6 + 24);
*((_QWORD *)v0 + 6) = *(_QWORD *)(v6 + 56);
*((_QWORD *)v0 + 7) = PnprMapTargetSparePhysicalPages;
v2 = (*(__int64(__fastcall **)(_DWORD *, __int64))(v6 + 20912))(v0, v6 + 20880);
if( v2 < 0 )
{
v7 = PnprContext;
v8 = *(_DWORD *)(PnprContext + 20984);
if( !v8 )
v8 = 2754;
*(_DWORD *)(PnprContext + 20984) = v8;
v9 = *(_DWORD *)(v7 + 20988);
if( !v9 )
v9 = 8;
*(_DWORD *)(v7 + 20988) = v9;
}
}
}
else
{
v3 = PnprContext;
v4 = *(_DWORD *)(PnprContext + 20984);
if( !v4 )
v4 = 2728;
*(_DWORD *)(PnprContext + 20984) = v4;
v5 = *(_DWORD *)(v3 + 20988);
if( !v5 )
v5 = 6;
*(_DWORD *)(v3 + 20988) = v5;
}
return(unsigned int)v2;
}Referenced by:
PnprInitiateReplaceOperation