Perhaps some problem with type-punning LARGE_INTEGER/ULARGE_INTEGER under -fstrict-aliasing. I can't say I understand that stuff very well, and I admit it doesn't seem very likely, but I'll see if I can get it to work without the casting.
No, not that. It still crashes with the "*bytes" variables in "Ffile_system_info" declared as ULARGE_INTEGER and the casts removed.