converted pe2obj to rust, more stringent args.len() requirements