Daher wollte ich hier fragen ob denn einer weis wie man sowas (Disassembly, Decompilat) liest und versteht?
Da es sich hierbei ja dann um Assembler handelt ist das nicht so ganz einfach.
Die Sprungmarken sind nicht vernünftig benannt, Komentarzeilen ohnehin nicht drin.
Vermutlich werden auch die Register mit Ihren Adressen und nicht mit den Namen angesprochen.
Du brauchst auch eine IDE für genau den verwendeten Controller - Gut, die hast Du ja.
Ich denke das die Firmware in einer Hochsprache geschrieben und dann Assembliert wurde.

Manchmal hilft es auch das Assembler File mit einem Simulator auszutesten.
Da sieht man dann wenigstens welche Programmteile wann angesprochen werden.

Oftmals ist es einfacher selber einen komplett neuen Quelltext z.B. in C zu schreiben, bevor man eine vorhandene .hex Datei zerfieselt.

Das schwierigste hierbei dürfte die "saubere" Ansteuerung der Brushlessmotors sein.
Macht man da was falsch kann man schnell Rauchzeichen erhalten.
Aber evtl. findet man dazu auch eine Application Note beim Controller Hersteller, oder eine gute Library.