Second step of the interview process at company X was to do a coding task at home. I was given an existing project in a rather bad state (from a good programming and/or design and/or architectural perspective), but a working one - it was compiling and it was getting the job done.
My job was to implement a new feature using company's APIs, some network calls and some native UI.
It was specifically mentioned in the task that no refactoring or clean up of the existing code is needed for this task and if I wanted to, I could give a suggestion with the submission on how I would improve the project.
So then I went ahead, finished my task (in full as per the assignment), wrote a rather long email explaining how I would enhance the project, what would I do different had I refactored the project etc. Then I submitted.
Problem: Few days later I received a negative feedback consisting of three points and a rejection to go forward with the interview process. The first one is 100% related to the existing code, none of which I have written myself. The second one is 50/50 - while I can agree with it, I can also justify my stance and why I did it this way, but let's assume they are correct on it. The third one is a concrete, direct lie - that I have used a deprecated library. This is very easy to check, which I have done - the library I have used is absolutely up-to-date and very much in use today.
The company itself seems to be a nice one, the job in general would have satisfied all my requirements and since this all falls in the positive side now I am wondering is it worth trying to dispute said negative feedback?
Edit 1: I haven't received an offer, I received a rejection based on the bad feedback, that I believe is wrong. My general goal from here is to improve my situation, if possible, and overturn the decision in my favour.