The _ _UMULH intrinsic has the following declaration:
uint64 __UMULH( uint64 operand1, uint64 operand2 );
This intrinsic function multiplies the two operands as unsigned numbers to produce a 128-bit result. The high-order 64 bits of the result are returned.