This is where things are a little bit unclear, because i have no memory dump. First it will load r3 with 0x8000000000050B3C, r4 with 0x80000000007001AC and r5 with 0x4FA and do a bl to 0x7C01C. ...
I did a reasonably well commented disassembly the other day, mostly guessing at functions but the comments should show what's probably going on.
Take a look at my disassembly if you're getting confused...
BTW, it's actually 0x800000000007c01c and it's memcpy. That was inferred by the fact that data around r3 is used immediately after the call, r4 looks like source material and r5 is equal the the length of the data between r4 and the end of the text strings.
Boss can you please remove the other files I posted up and replace it with this one.
I updated the first post, removed the other links and only linked to this one, but I really don't plan on going through the individual posts to remove their attachments... so let people just refer to the first post I'd say.