Here's the 95% CPU loop.
(gdb) fin
Run till exit from #0 strfind (haystack=<value optimized out>, hslen=4096, needle=0x408844 "\r\n\r\n", ndlen=4) at uhttpd-utils.c:83
0x00402428 in uh_mainloop (conf=0x7fb38f04, serv_fds={fds_bits = {8, 0 <repeats 31 times>}}, max_fd=4) at uhttpd.c:390
390 uhttpd.c: No such file or directory.
in uhttpd.c
Value returned is $2 = 0x0
(gdb) s
402 in uhttpd.c
(gdb)
uh_tcp_recv (cl=0x41e008, buf=0x41a5a0 "", len=0) at uhttpd-utils.c:171
171 uhttpd-utils.c: No such file or directory.
in uhttpd-utils.c
(gdb)
166 in uhttpd-utils.c
(gdb)
171 in uhttpd-utils.c
(gdb)
181 in uhttpd-utils.c
(gdb)
uh_mainloop (conf=0x7fb38f04, serv_fds={fds_bits = {8, 0 <repeats 31 times>}}, max_fd=4) at uhttpd.c:375
375 uhttpd.c: No such file or directory.
in uhttpd.c
(gdb)
405 in uhttpd.c
(gdb)
378 in uhttpd.c
(gdb)
382 in uhttpd.c
(gdb)
378 in uhttpd.c
(gdb)
382 in uhttpd.c
(gdb)
378 in uhttpd.c
(gdb)
381 in uhttpd.c
(gdb)
385 in uhttpd.c
(gdb)
388 in uhttpd.c
(gdb)
uh_tcp_peek (cl=0x41e008, buf=0x41a5a0 "", len=4095) at uhttpd-utils.c:152
152 uhttpd-utils.c: No such file or directory.
in uhttpd-utils.c
(gdb)
153 in uhttpd-utils.c
(gdb)
uh_tcp_recv (cl=0x41e008, buf=0x41a5a0 "", len=4095) at uhttpd-utils.c:171
171 in uhttpd-utils.c
(gdb)
166 in uhttpd-utils.c
(gdb)
171 in uhttpd-utils.c
(gdb)
181 in uhttpd-utils.c
(gdb)
184 in uhttpd-utils.c
(gdb)
188 in uhttpd-utils.c
(gdb)
190 in uhttpd-utils.c
(gdb)
195 in uhttpd-utils.c
(gdb)
uh_tcp_peek (cl=0x41e008, buf=0x41a5a0 "", len=<value optimized out>) at uhttpd-utils.c:156
156 in uhttpd-utils.c
(gdb)
163 in uhttpd-utils.c
(gdb)
uh_mainloop (conf=0x7fb38f04, serv_fds={fds_bits = {8, 0 <repeats 31 times>}}, max_fd=4) at uhttpd.c:390
390 uhttpd.c: No such file or directory.
in uhttpd.c
(gdb)
strfind (haystack=0x41a5a0 "", hslen=4096, needle=0x408844 "\r\n\r\n", ndlen=4) at uhttpd-utils.c:87
87 uhttpd-utils.c: No such file or directory.
in uhttpd-utils.c
(gdb)