VfThunkAddTargetNotify

VOID __fastcall VfThunkAddTargetNotify(INT64 a1){
  void **v1; 
  v1 = (void **)(a1 + 24);
  if( !(unsigned int)ViThunkCreateSharedExportInformation(
                        *(char **)a1,
                        (__int64)&VfRegularThunks,
                        48i64,
                        &VfRegularThunksBitMapHeader,
                        (void **)(a1 + 24))
    || !(unsigned int)ViThunkCreateSharedExportInformation(
                        *(char **)a1,
                        (__int64)&VfPoolThunks,
                        48i64,
                        &VfPoolThunksBitMapHeader,
                        (void **)(a1 + 32))
    || !(unsigned int)ViThunkCreateSharedExportInformation(
                        *(char **)a1,
                        (__int64)&VfOrderDependentThunks,
                        56i64,
                        &VfOrderDependentThunksBitMapHeader,
                        (void **)(a1 + 40))
    || !(unsigned int)ViThunkCreateSharedExportInformation(
                        *(char **)a1,
                        (__int64)&VfXdvThunks,
                        48i64,
                        &VfXdvThunksBitMapHeader,
                        (void **)(a1 + 48)) )
  {
    ViThunkFreeSharedThunksArray(v1);
    ViThunkFreeSharedThunksArray((void **)(a1 + 32));
    ViThunkFreeSharedThunksArray((void **)(a1 + 40));
    ViThunkFreeSharedThunksArray((void **)(a1 + 48));
    *(_DWORD *)v1 |= 1u;
  }
}

Referenced by:

VfTargetDriversAdd