Python3の2の補数表現について

16進数 list = [’35908413’,'db0bb551'] (str型)について,
最上位ビットが1であるときに負数として扱いたいと思っています。
出力結果として list = ['35908413','-24f44aaf'] となるようなPythonのプログラムの書き方を教えていただきたいです…