Nice example, Erol :t
CryptGenRandom is very slow, though:This code was assembled with ml64 in 64-bit format
result -8032366409749840727
result 87096612809990884
result -3122102231650220507
result 6210554543873536060
result 7239442655864793548
result 3289759298143981941
46067 ticks for CryptGenRandom
result 9056870149978556565
result -1890820636788552871
result 2387620311255054330
result 37962361222013295
result 835162364812257345
result 4123339310970107070
0 ticks for Rand64()
Interesting: The 64-bit version is exactly twice as fast - as if it was called twice internally ::)