The try_binary_file() function has inverted logic for the FIRMWARE_GET_NOWARN flag.
When the flag is set (meaning "don't warn"), the code sets warn=true and makes noise anyway.
Rename the variable to nowarn and invert the check to correctly suppress warnings when FIRMWARE_GET_NOWARN is set.