the malloc you found is certainly correct. Very very different. I've said it before I'll say it again. Your camera is wow different.
ROM:FF8140DC sub_FF8140DC ; CODE XREF: sub_FF81123C+44p
ROM:FF8140DC ; sub_FF819C40+48p ...
ROM:FF8140DC STMFD SP!, {R4-R6,LR}
ROM:FF8140E0 CMP R0, #0
ROM:FF8140E4 LDMEQFD SP!, {R4-R6,PC}
ROM:FF8140E8 ADD R4, R0, #8
ROM:FF8140EC LDR R5, =0x21224
ROM:FF8140F0 MOV R1, #0
ROM:FF8140F4 LDR R0, [R5,#0x24]
ROM:FF8140F8 BL sub_FF812C48
ROM:FF8140FC MOV R1, R4
ROM:FF814100 ADD R0, R5, #0
ROM:FF814104 BL sub_FF818D50
ROM:FF814108 MOV R4, R0
ROM:FF81410C LDR R0, [R5,#0x24]
ROM:FF814110 BL sub_FF812C14
ROM:FF814114 CMP R4, #0
ROM:FF814118 STRNE R4, [R4]
ROM:FF81411C ADDNE R4, R4, #8
ROM:FF814120 BNE loc_FF814130
ROM:FF814124 BL sub_FF819BBC
ROM:FF814128 MOV R1, #0xC
ROM:FF81412C STR R1, [R0]
ROM:FF814130
ROM:FF814130 loc_FF814130 ; CODE XREF: sub_FF8140DC+44j
ROM:FF814130 MOV R0, R4
ROM:FF814134 LDMFD SP!, {R4-R6,PC}
ROM:FF814134 ; End of function sub_FF8140DC