CmpLoadManufacturingProfileNode

_BOOL __fastcall CmpLoadManufacturingProfileNode(INT64 a1, INT64 a2, const _WCHAR *a3, INT64 *a4, INT64 a5){
  unsigned int SubKeyByName; 
  INT64 v10; 
  INT64 v11; 
  _UNICODE_STRING DestinationString[2]; 
  int v13; 
  int v14; 

  v11 = 0i64;
  v13 = -1;
  v14 = 0;
  DestinationString[0] = 0i64;
  if( !a3 || !CmpLoadManufacturingModeNode(a1, a2, &v11, (INT64)&v13) )
    return 0;
  if( RtlInitUnicodeStringEx(DestinationString, (WCHAR *)a3) < 0 )
  {
    (*(void(__fastcall **)(INT64, int *))(a1 + 16))(a1, &v13);
    return 0;
  }
  SubKeyByName = CmpFindSubKeyByName(a1, v11, DestinationString);
  (*(void(__fastcall **)(INT64, int *))(a1 + 16))(a1, &v13);
  if( SubKeyByName == -1 )
    return 0;
  v10 = (*(__int64(__fastcall **)(INT64, _QWORD, INT64))(a1 + 8))(a1, SubKeyByName, a5);
  *a4 = v10;
  return v10 != 0;
}

Referenced by:

CmpLoadManufacturingProfileServicesNode