ViThunkReplaceAllSharedExports
VOID __stdcall ViThunkReplaceAllSharedExports(_VF_TARGET_DRIVER *TargetNode, UINT64 AlreadyRunning){
int v3;
unsigned int v4;
unsigned int v5;
unsigned int v6;
unsigned int v7;
v3 = AlreadyRunning;
v4 = RtlNumberOfClearBits((UINT64 *)&VfPoolThunksBitMapHeader.SizeOfBitMap);
ViThunkReplaceSharedExports((__int64)TargetNode->u1.AllSharedExportThunks.PoolSharedExportThunks, v4);
if( !(_DWORD)KernelVerifier )
{
v5 = RtlNumberOfClearBits((UINT64 *)&VfRegularThunksBitMapHeader.SizeOfBitMap);
ViThunkReplaceSharedExports((__int64)TargetNode->u1.AllSharedExportThunks.SharedExportThunks, v5);
if( !v3 )
{
v6 = RtlNumberOfClearBits((UINT64 *)&VfOrderDependentThunksBitMapHeader.SizeOfBitMap);
ViThunkReplaceSharedExports((__int64)TargetNode->u1.AllSharedExportThunks.OrderDependentSharedExportThunks, v6);
v7 = RtlNumberOfClearBits((UINT64 *)&VfXdvThunksBitMapHeader.SizeOfBitMap);
ViThunkReplaceSharedExports((__int64)TargetNode->u1.AllSharedExportThunks.XdvSharedExportThunks, v7);
}
}
}Referenced by:
ViThunkApplyThunksCurrentSession