WmipStaticInstanceNameSize

__int64 __fastcall WmipStaticInstanceNameSize(__int64 a1){
  unsigned int v1; 
  int v3; 
  int v4; 
  __int64 v5; 
  _QWORD *v6; 
  __int64 v7; 
  __int64 v8; 
  v1 = *(_DWORD *)(a1 + 76);
  if( !v1 )
  {
    v3 = *(_DWORD *)(a1 + 72);
    v4 = *(_DWORD *)(a1 + 16);
    v1 = 4 * v3;
    if( (v4 & 1) != 0 )
    {
      v5 = -1i64;
      do
        ++v5;
      while( *(_WORD *)(*(_QWORD *)(a1 + 88) + 2 * v5 + 4) );
      v1 += 2 * v3 * (v5 + 8);
    }
    else if( (v4 & 2) != 0 && v3 )
    {
      v6 = *(_QWORD **)(a1 + 88);
      v7 = *(unsigned int *)(a1 + 72);
      do
      {
        v8 = -1i64;
        do
          ++v8;
        while( *(_WORD *)(*v6 + 2 * v8) );
        ++v6;
        v1 += 2 * v8 + 4;
        --v7;
      }
      while( v7 );
    }
    *(_DWORD *)(a1 + 76) = v1;
  }
  return v1;
}

Referenced by:

WmipIncludeStaticNames
WmipInsertStaticNames
WmipQueryAllData