I don't think it's setup quite right yet, some code seems to be at the wrong addresses. I'm hoping to figure that out with the real HW and ST-LINK. Until then it's hard to to see much benefit in going further.
Some things to note:
-ROM is at 0x08000000
-RAM is at 0x20000000
-Exception vector table is at 0x08000000, initial SP is in RAM (good!) and reset vector points to 0x8004147 (LSB is set == THUMB mode, code starts at 0x8004146)
-There are a few bytes that don't disassemble correctly, it's weird since Cortex M3 is definitely ARMv7m instruction set. Maybe binutils will solve the mystery...