SmKmRegParamsLoad

NTSTATUS __stdcall SmKmRegParamsLoad(_SMKM_STORE_REG_PARAMS *RegParams){
  NTSTATUS result; 
  unsigned int v3; 
  int v4; 
  __int64 v5; 
  int v6; 
  const wchar_t *v7; 
  int *v8; 
  int v9; 
  __int64 v10; 
  int v11; 
  __int64 v12; 
  int v13; 
  const wchar_t *v14; 
  unsigned int *v15; 
  int v16; 
  __int64 v17; 
  int v18; 
  __int64 v19; 
  int v20; 
  __int128 v21; 
  int v22; 
  __int64 v23; 
  int v24; 

  v5 = 0i64;
  v10 = 0i64;
  v9 = 0x4000000;
  v6 = 288;
  v7 = L"EncryptionMode";
  v13 = 288;
  v8 = &v4;
  v16 = 0x4000000;
  v14 = L"EncryptionScope";
  v11 = 0;
  v15 = &v3;
  v12 = 0i64;
  *RegParams = 0i64;
  RegParams->Crypto._bf_4 &= 0xFFFFFFFC;
  RegParams->Crypto.EncryptionKeySize = 16;
  v17 = 0i64;
  v18 = 0;
  v19 = 0i64;
  v20 = 0;
  v21 = 0i64;
  v22 = 0;
  v23 = 0i64;
  v24 = 0;
  v4 = 0;
  v3 = 0;
  LOBYTE(result) = RtlpQueryRegistryValues(0i64, (_KEXCEPTION_FRAME *)&stru_1407D7500);
  if( result >= 0 )
  {
    if( v4 == 1 )
      RegParams->Crypto.EncryptionKeySize *= 2;
    if( v3 < 3 )
      RegParams->Crypto._bf_4 ^= ((unsigned __int8)v3 ^ (unsigned __int8)RegParams->Crypto._bf_4) & 3;
  }
  else if( result != -1073741772 )
  {
    return result;
  }
  return 0;
}

Referenced by:

SmcStoreCreate