+ tst r2, #0x000f
+ orreq r12,r12,#0x000f
+ tst r2, #0x00f0
+ orreq r12,r12,#0x00f0
+ tst r2, #0x0f00
+ orreq r12,r12,#0x0f00
+ tst r2, #0xf000
+ orreq r12,r12,#0xf000
+ orrs r12,r12,r12,lsl #16
+ beq hle_07_036_no_ovrwr
+
+ tst r1, #2
+ beq hle_07_036_ol0
+ ldrh r3, [r1]
+ and r3, r3, r12
+ orr r3, r3, r2
+ strh r3, [r1], #0x3e @ align
+ sub r0, r0, #1
+
+hle_07_036_ol0:
+ subs r0, r0, #2
+ blt hle_07_036_ol2
+
+hle_07_036_ol1:
+ subs r0, r0, #2
+ ldr r3, [r1]
+ and r3, r3, r12
+ orr r3, r3, r2
+ str r3, [r1], #0x40
+ bge hle_07_036_ol1
+
+hle_07_036_ol2:
+ tst r0, #1
+ ldrneh r3, [r1]
+ andne r3, r3, r12
+ orrne r3, r3, r2
+ strneh r3, [r1], #2
+
+hle_07_036_end_copy:
+ ldr r2, [r7, #SSP_OFFS_DRAM]
+ add r3, r7, #0x400
+ sub r0, r1, r2 @ new addr
+ mov r0, r0, lsr #1
+ strh r0, [r3, #(0x6c+4*4)] @ SSP_OFFS_PM_WRITE+4*4 (low)