ResFwBackgroundTransition
void __fastcall ResFwBackgroundTransition(int a1){
int v1;
INT64 v2;
PVOID v3;
INT64 v4;
if( a1 )
{
v1 = a1 - 1;
if( v1 )
{
if( v1 == 1 && (dword_140C13310 & 0xC00) != 3072 )
{
v2 = qword_140C13358;
if( qword_140C13358 )
{
_InterlockedExchange64(&qword_140C13358, 0i64);
BgpFwFreeMemory(v2);
}
v3 = qword_140C13360;
if( qword_140C13360 )
{
_InterlockedExchange64((volatile __int64 *)&qword_140C13360, 0i64);
BgpFwReleaseLock();
ExFreePoolWithTag(v3, 0x4B494742u);
BgpFwAcquireLock(v4);
}
*(_DWORD *)Size = 0;
}
}
else
{
ResFwpPageOutBackground();
}
}
else
{
ResFwpPageInBackground();
}
}Referenced by:
BgpFwLibraryDestroy
BgpFwLibraryDisable
BgpFwLibraryEnable
ResFwFreeContext