This have struck me for a bit and I've already said in comments in commit c89a2b1 but guess I should elaborate further on this.
The pointer position in BinaryReader is still not right which causes encodedLength to apparently returning negative values when it obviously shouldn't.
Stepping through debugger on both codebase doesn't really help
This is from fStreamDecryptor:

This is from osu!stream:

Each code has the same returns from the same file, which means I'm already on the right track.
Stepping through method cK wouldn't affect it as it's just a 'seed hash generator' (which wouldn't affect BinaryReader position) and brOffset is set there either way, before going to doPostProcessing.
The only difference between both implementation is the bool change of HasPostProcessed which is unnecessary to do atm, and comparing known plain is unused as I'm running osu!stream on normal debug build.
osu!stream:

fStreamDecryptor:

Yet somehow both returned a different value??
Expected:

Result:

This have struck me for a bit and I've already said in comments in commit c89a2b1 but guess I should elaborate further on this.
The pointer position in BinaryReader is still not right which causes
encodedLengthto apparently returning negative values when it obviously shouldn't.Stepping through debugger on both codebase doesn't really help
This is from fStreamDecryptor:

This is from osu!stream:

Each code has the same returns from the same file, which means I'm already on the right track.
Stepping through method
cKwouldn't affect it as it's just a 'seed hash generator' (which wouldn't affectBinaryReaderposition) andbrOffsetis set there either way, before going todoPostProcessing.The only difference between both implementation is the bool change of
HasPostProcessedwhich is unnecessary to do atm, and comparing known plain is unused as I'm running osu!stream on normal debug build.osu!stream:

fStreamDecryptor:

Yet somehow both returned a different value??

Expected:
Result:
