I re-formated error messages and did some cleanup in messaging output overall, functionally no difference. Now also if (de)compression fail it will report file name whose failed.
PS: as for that "direction" I was speaking about, I now tested and can confirm this is correct way of doing things. You are supposed to dump layered chunks as individual files with uncompressed size of each attached, it is not job of compressor to handle it. Therefore this program is fine as it is. I was only not able to decompress very rare(rare as per 2 chunks of few kb size of 1.4GB file) number of chunks with flags like "\xCC\x.." or even "\x8C\x50" for which .dll threw error. "\x8C\x06" were all fine. Decmp function take plenty of params which I dont know about and use only default from noodle. If anyone know(well, I dont expect Chinese to help, right FG?

) let me know.
I also attached updated bms script that can now extract chunks from .tfc file(most of it like 99.9%) and with other cleanup to give you idea how to handle such layers.
xcom2_unreal3_unpack.zip
oodle64chcmp.zip