Your problem is that you nest repetitions and the re-engine seems to try all possible distributions among them:
r'(?:^|\s)([\w\d]+)=((?:[^\\\s=]+|\\.)+)(?=\s|$)'
^ ^
Better:
r'(?:^|\s)([\w\d]+)=((?:[^\\\s=]|\\.)+)(?=\s|$)'
In fact the findall would finish (or run out of memory). You can try this with
s = r'a=b c=d e=aaaaaaa\bbbbbbbb\ccccccccc=ddddddddd\eeeee'
and then successively adding characters after "e=
"