Files
sa2/asm/non_matching/engine/sa2__unused_sub_800672C.inc
T
Oliver Bell cc2110e85d Move SA1 to root
* name some engine globals (gSpriteTransform*)
* move the whole sa1 directory to the root
2026-05-02 23:39:11 +01:00

908 lines
15 KiB
PHP

.syntax unified
.text
push {r4, r5, r6, r7, lr}
mov r7, sl
mov r6, sb
mov r5, r8
push {r5, r6, r7}
sub sp, #0x30
mov ip, r1
lsls r0, r0, #0x18
lsrs r2, r0, #0x18
ldr r1, _sa2_08006760 @ =gFlags
ldr r0, [r1]
movs r3, #4
orrs r0, r3
str r0, [r1]
cmp r2, #1
bls _sa2_08006778
ldr r1, _sa2_08006764 @ =gHBlankCopySize
strb r3, [r1]
movs r0, #1
ands r0, r2
cmp r0, #0
beq _sa2_0800676C
ldr r0, _sa2_08006768 @ =gBgOffsetsHBlankPrimary
ldr r0, [r0]
adds r7, r0, #2
b _sa2_080067A0
.align 2, 0
_sa2_08006760: .4byte gFlags
_sa2_08006764: .4byte gHBlankCopySize
_sa2_08006768: .4byte gBgOffsetsHBlankPrimary
_sa2_0800676C:
ldr r0, _sa2_08006774 @ =gBgOffsetsHBlankPrimary
ldr r7, [r0]
b _sa2_080067A0
.align 2, 0
_sa2_08006774: .4byte gBgOffsetsHBlankPrimary
_sa2_08006778:
ldr r1, _sa2_08006790 @ =gHBlankCopySize
movs r0, #2
strb r0, [r1]
ldr r0, _sa2_08006794 @ =gBgOffsetsHBlankPrimary
ldr r7, [r0]
movs r0, #1
ands r0, r2
cmp r0, #0
beq _sa2_080067A0
ldr r1, _sa2_08006798 @ =gHBlankCopyTarget
ldr r0, _sa2_0800679C @ =0x04000042
b _sa2_080067A4
.align 2, 0
_sa2_08006790: .4byte gHBlankCopySize
_sa2_08006794: .4byte gBgOffsetsHBlankPrimary
_sa2_08006798: .4byte gHBlankCopyTarget
_sa2_0800679C: .4byte 0x04000042
_sa2_080067A0:
ldr r1, _sa2_080068A4 @ =gHBlankCopyTarget
ldr r0, _sa2_080068A8 @ =0x04000040
_sa2_080067A4:
str r0, [r1]
mov r2, sp
mov r1, ip
ldrb r0, [r1, #2]
ldrb r1, [r1]
subs r0, r0, r1
strh r0, [r2]
add r2, sp, #4
mov r3, ip
ldrb r0, [r3, #3]
ldrb r1, [r3, #1]
subs r0, r0, r1
strh r0, [r2]
mov r0, sp
movs r5, #0
ldrsh r0, [r0, r5]
ldrb r3, [r3]
mov r1, ip
ldrb r4, [r1, #1]
adds r2, #8
str r2, [sp, #0x24]
cmp r0, #0
bge _sa2_080067D4
rsbs r0, r0, #0
_sa2_080067D4:
lsls r0, r0, #1
ldr r5, [sp, #0x24]
strh r0, [r5]
mov r1, sp
movs r2, #4
ldrsh r0, [r1, r2]
adds r1, #0x10
str r1, [sp, #0x28]
cmp r0, #0
bge _sa2_080067EA
rsbs r0, r0, #0
_sa2_080067EA:
lsls r0, r0, #1
ldr r5, [sp, #0x28]
strh r0, [r5]
mov r1, sp
mov r2, ip
ldrb r0, [r2, #4]
subs r0, r0, r3
strh r0, [r1, #2]
ldrb r0, [r2, #5]
subs r0, r0, r4
strh r0, [r1, #6]
mov r0, sp
movs r3, #2
ldrsh r0, [r0, r3]
cmp r0, #0
bge _sa2_0800680C
rsbs r0, r0, #0
_sa2_0800680C:
lsls r0, r0, #1
ldr r5, [sp, #0x24]
strh r0, [r5, #2]
mov r1, sp
movs r2, #6
ldrsh r0, [r1, r2]
cmp r0, #0
bge _sa2_0800681E
rsbs r0, r0, #0
_sa2_0800681E:
lsls r0, r0, #1
ldr r3, [sp, #0x28]
strh r0, [r3, #2]
add r2, sp, #0x14
mov r5, ip
ldrb r0, [r5]
strb r0, [r2, #1]
strb r0, [r2]
ldr r1, _sa2_080068AC @ =gHBlankCopySize
ldrb r0, [r1]
muls r0, r4, r0
adds r7, r7, r0
add r1, sp, #8
mov r3, sp
ldrh r0, [r3, #4]
rsbs r0, r0, #0
strh r0, [r1]
ldrh r0, [r3, #6]
rsbs r0, r0, #0
strh r0, [r1, #2]
ldrb r0, [r5, #5]
ldrb r3, [r5, #3]
adds r6, r2, #0
mov sb, r1
cmp r0, r3
bls _sa2_08006854
adds r0, r3, #0
_sa2_08006854:
str r0, [sp, #0x18]
cmp r4, r0
bhs _sa2_0800693A
mov r8, sb
_sa2_0800685C:
ldrb r0, [r6, #1]
strb r0, [r7]
ldrb r0, [r6]
strb r0, [r7, #1]
mov r3, r8
mov r5, sp
ldrh r2, [r5, #0xc]
ldrh r0, [r3]
adds r2, r2, r0
strh r2, [r3]
ldrh r0, [r3, #2]
ldrh r1, [r5, #0xe]
adds r0, r0, r1
strh r0, [r3, #2]
lsls r2, r2, #0x10
adds r4, #1
mov sl, r4
cmp r2, #0
blt _sa2_080068D6
str r6, [sp, #0x2c]
ldr r4, [sp, #0x28]
mov r2, sb
_sa2_08006888:
mov r0, sp
movs r1, #0
ldrsh r0, [r0, r1]
cmp r0, #0
ble _sa2_080068B0
ldr r5, [sp, #0x2c]
ldrb r0, [r5]
adds r0, #1
strb r0, [r5]
ldrh r0, [r3]
ldrh r1, [r4]
subs r0, r0, r1
strh r0, [r3]
b _sa2_080068CC
.align 2, 0
_sa2_080068A4: .4byte gHBlankCopyTarget
_sa2_080068A8: .4byte 0x04000040
_sa2_080068AC: .4byte gHBlankCopySize
_sa2_080068B0:
ldrb r0, [r6]
cmp r0, #0
beq _sa2_080068BA
subs r0, #1
strb r0, [r6]
_sa2_080068BA:
ldrh r0, [r2]
ldrh r1, [r4]
subs r0, r0, r1
strh r0, [r2]
lsls r0, r0, #0x10
cmp r0, #0
blt _sa2_080068CC
ldrb r0, [r6]
strb r0, [r7, #1]
_sa2_080068CC:
mov r3, sb
movs r1, #0
ldrsh r0, [r3, r1]
cmp r0, #0
bge _sa2_08006888
_sa2_080068D6:
mov r2, r8
ldrh r0, [r2, #2]
lsls r0, r0, #0x10
cmp r0, #0
blt _sa2_08006928
adds r3, r6, #0
ldr r5, [sp, #0x28]
mov r4, sb
_sa2_080068E6:
mov r0, sp
ldrh r0, [r0, #2]
lsls r0, r0, #0x10
cmp r0, #0
ble _sa2_0800690C
ldrb r0, [r3, #1]
adds r0, #1
strb r0, [r3, #1]
ldrh r0, [r2, #2]
ldrh r1, [r5, #2]
subs r0, r0, r1
strh r0, [r2, #2]
lsls r0, r0, #0x10
cmp r0, #0
blt _sa2_0800691E
ldrb r0, [r6, #1]
adds r0, #1
strb r0, [r7]
b _sa2_0800691E
_sa2_0800690C:
ldrb r0, [r3, #1]
cmp r0, #0
beq _sa2_08006916
subs r0, #1
strb r0, [r6, #1]
_sa2_08006916:
ldrh r0, [r4, #2]
ldrh r1, [r5, #2]
subs r0, r0, r1
strh r0, [r4, #2]
_sa2_0800691E:
mov r2, sb
ldrh r0, [r2, #2]
lsls r0, r0, #0x10
cmp r0, #0
bge _sa2_080068E6
_sa2_08006928:
ldr r2, _sa2_080069EC @ =gHBlankCopySize
ldrb r0, [r2]
adds r7, r7, r0
mov r3, sl
lsls r0, r3, #0x18
lsrs r4, r0, #0x18
ldr r5, [sp, #0x18]
cmp r4, r5
blo _sa2_0800685C
_sa2_0800693A:
mov r1, ip
ldrb r0, [r1, #3]
ldrb r2, [r1, #5]
cmp r0, r2
bne _sa2_08006946
b _sa2_08006C30
_sa2_08006946:
ldr r3, [sp, #0x18]
cmp r3, r0
beq _sa2_0800694E
b _sa2_08006AB4
_sa2_0800694E:
mov r2, sp
ldrb r0, [r1, #6]
ldrb r1, [r1, #2]
subs r0, r0, r1
strh r0, [r2]
mov r5, ip
ldrb r0, [r5, #7]
ldrb r1, [r5, #3]
subs r0, r0, r1
strh r0, [r2, #4]
mov r0, sp
movs r1, #0
ldrsh r0, [r0, r1]
cmp r0, #0
bge _sa2_0800696E
rsbs r0, r0, #0
_sa2_0800696E:
lsls r0, r0, #1
ldr r2, [sp, #0x24]
strh r0, [r2]
mov r3, sp
movs r5, #4
ldrsh r0, [r3, r5]
cmp r0, #0
bge _sa2_08006980
rsbs r0, r0, #0
_sa2_08006980:
lsls r0, r0, #1
ldr r1, [sp, #0x28]
strh r0, [r1]
mov r2, sp
ldrh r0, [r2, #4]
rsbs r0, r0, #0
mov r3, sb
strh r0, [r3]
mov r5, ip
ldrb r0, [r5, #2]
strb r0, [r6]
ldrb r0, [r5, #5]
str r0, [sp, #0x18]
cmp r4, r0
bhs _sa2_08006A7A
mov r8, sb
ldr r1, [sp, #0x24]
str r1, [sp, #0x1c]
_sa2_080069A4:
ldrb r0, [r6, #1]
strb r0, [r7]
ldrb r0, [r6]
strb r0, [r7, #1]
mov r3, r8
ldr r5, [sp, #0x1c]
ldrh r2, [r5]
ldrh r0, [r3]
adds r2, r2, r0
strh r2, [r3]
ldrh r0, [r3, #2]
ldrh r1, [r5, #2]
adds r0, r0, r1
strh r0, [r3, #2]
lsls r2, r2, #0x10
adds r4, #1
mov sl, r4
cmp r2, #0
blt _sa2_08006A16
str r6, [sp, #0x2c]
ldr r4, [sp, #0x28]
mov r2, sb
_sa2_080069D0:
mov r0, sp
movs r1, #0
ldrsh r0, [r0, r1]
cmp r0, #0
ble _sa2_080069F0
ldr r5, [sp, #0x2c]
ldrb r0, [r5]
adds r0, #1
strb r0, [r5]
ldrh r0, [r3]
ldrh r1, [r4]
subs r0, r0, r1
strh r0, [r3]
b _sa2_08006A0C
.align 2, 0
_sa2_080069EC: .4byte gHBlankCopySize
_sa2_080069F0:
ldrb r0, [r6]
cmp r0, #0
beq _sa2_080069FA
subs r0, #1
strb r0, [r6]
_sa2_080069FA:
ldrh r0, [r2]
ldrh r1, [r4]
subs r0, r0, r1
strh r0, [r2]
lsls r0, r0, #0x10
cmp r0, #0
blt _sa2_08006A0C
ldrb r0, [r6]
strb r0, [r7, #1]
_sa2_08006A0C:
mov r3, sb
movs r1, #0
ldrsh r0, [r3, r1]
cmp r0, #0
bge _sa2_080069D0
_sa2_08006A16:
mov r2, r8
ldrh r0, [r2, #2]
lsls r0, r0, #0x10
cmp r0, #0
blt _sa2_08006A68
adds r3, r6, #0
ldr r5, [sp, #0x28]
mov r4, sb
_sa2_08006A26:
mov r0, sp
ldrh r0, [r0, #2]
lsls r0, r0, #0x10
cmp r0, #0
ble _sa2_08006A4C
ldrb r0, [r3, #1]
adds r0, #1
strb r0, [r3, #1]
ldrh r0, [r2, #2]
ldrh r1, [r5, #2]
subs r0, r0, r1
strh r0, [r2, #2]
lsls r0, r0, #0x10
cmp r0, #0
blt _sa2_08006A5E
ldrb r0, [r6, #1]
adds r0, #1
strb r0, [r7]
b _sa2_08006A5E
_sa2_08006A4C:
ldrb r0, [r3, #1]
cmp r0, #0
beq _sa2_08006A56
subs r0, #1
strb r0, [r6, #1]
_sa2_08006A56:
ldrh r0, [r4, #2]
ldrh r1, [r5, #2]
subs r0, r0, r1
strh r0, [r4, #2]
_sa2_08006A5E:
mov r2, sb
ldrh r0, [r2, #2]
lsls r0, r0, #0x10
cmp r0, #0
bge _sa2_08006A26
_sa2_08006A68:
ldr r2, _sa2_08006AB0 @ =gHBlankCopySize
ldrb r0, [r2]
adds r7, r7, r0
mov r3, sl
lsls r0, r3, #0x18
lsrs r4, r0, #0x18
ldr r5, [sp, #0x18]
cmp r4, r5
blo _sa2_080069A4
_sa2_08006A7A:
mov r2, sp
mov r1, ip
ldrb r0, [r1, #6]
ldrb r1, [r1, #4]
subs r0, r0, r1
strh r0, [r2, #2]
mov r2, ip
ldrb r0, [r2, #7]
ldrb r1, [r2, #5]
subs r0, r0, r1
mov r3, sp
strh r0, [r3, #6]
mov r0, sp
movs r5, #2
ldrsh r0, [r0, r5]
ldrb r3, [r2, #7]
cmp r0, #0
bge _sa2_08006AA0
rsbs r0, r0, #0
_sa2_08006AA0:
lsls r0, r0, #1
ldr r1, [sp, #0x24]
strh r0, [r1, #2]
mov r2, sp
movs r5, #6
ldrsh r0, [r2, r5]
b _sa2_08006CA4
.align 2, 0
_sa2_08006AB0: .4byte gHBlankCopySize
_sa2_08006AB4:
mov r2, sp
mov r3, ip
ldrb r0, [r3, #6]
ldrb r1, [r3, #4]
subs r0, r0, r1
strh r0, [r2, #2]
ldrb r0, [r3, #7]
ldrb r1, [r3, #5]
subs r0, r0, r1
strh r0, [r2, #6]
mov r0, sp
movs r5, #2
ldrsh r0, [r0, r5]
cmp r0, #0
bge _sa2_08006AD4
rsbs r0, r0, #0
_sa2_08006AD4:
lsls r0, r0, #1
ldr r1, [sp, #0x24]
strh r0, [r1, #2]
mov r2, sp
movs r3, #6
ldrsh r0, [r2, r3]
cmp r0, #0
bge _sa2_08006AE6
rsbs r0, r0, #0
_sa2_08006AE6:
lsls r0, r0, #1
ldr r5, [sp, #0x28]
strh r0, [r5, #2]
mov r1, sp
ldrh r0, [r1, #6]
rsbs r0, r0, #0
mov r2, sb
strh r0, [r2, #2]
mov r3, ip
ldrb r0, [r3, #4]
strb r0, [r6, #1]
ldrb r5, [r3, #3]
str r5, [sp, #0x18]
cmp r4, r5
bhs _sa2_08006BDC
mov r8, sb
ldr r0, [sp, #0x24]
str r0, [sp, #0x20]
_sa2_08006B0A:
ldrb r0, [r6, #1]
strb r0, [r7]
ldrb r0, [r6]
strb r0, [r7, #1]
mov r3, r8
ldr r1, [sp, #0x20]
ldrh r2, [r1]
ldrh r5, [r3]
adds r2, r2, r5
strh r2, [r3]
ldrh r0, [r3, #2]
ldrh r1, [r1, #2]
adds r0, r0, r1
strh r0, [r3, #2]
lsls r2, r2, #0x10
adds r4, #1
mov sl, r4
cmp r2, #0
blt _sa2_08006B78
str r6, [sp, #0x2c]
ldr r4, [sp, #0x28]
mov r2, sb
_sa2_08006B36:
mov r0, sp
movs r1, #0
ldrsh r0, [r0, r1]
cmp r0, #0
ble _sa2_08006B52
ldr r5, [sp, #0x2c]
ldrb r0, [r5]
adds r0, #1
strb r0, [r5]
ldrh r0, [r3]
ldrh r1, [r4]
subs r0, r0, r1
strh r0, [r3]
b _sa2_08006B6E
_sa2_08006B52:
ldrb r0, [r6]
cmp r0, #0
beq _sa2_08006B5C
subs r0, #1
strb r0, [r6]
_sa2_08006B5C:
ldrh r0, [r2]
ldrh r1, [r4]
subs r0, r0, r1
strh r0, [r2]
lsls r0, r0, #0x10
cmp r0, #0
blt _sa2_08006B6E
ldrb r0, [r6]
strb r0, [r7, #1]
_sa2_08006B6E:
mov r3, sb
movs r1, #0
ldrsh r0, [r3, r1]
cmp r0, #0
bge _sa2_08006B36
_sa2_08006B78:
mov r2, r8
ldrh r0, [r2, #2]
lsls r0, r0, #0x10
cmp r0, #0
blt _sa2_08006BCA
adds r3, r6, #0
ldr r5, [sp, #0x28]
mov r4, sb
_sa2_08006B88:
mov r0, sp
ldrh r0, [r0, #2]
lsls r0, r0, #0x10
cmp r0, #0
ble _sa2_08006BAE
ldrb r0, [r3, #1]
adds r0, #1
strb r0, [r3, #1]
ldrh r0, [r2, #2]
ldrh r1, [r5, #2]
subs r0, r0, r1
strh r0, [r2, #2]
lsls r0, r0, #0x10
cmp r0, #0
blt _sa2_08006BC0
ldrb r0, [r6, #1]
adds r0, #1
strb r0, [r7]
b _sa2_08006BC0
_sa2_08006BAE:
ldrb r0, [r3, #1]
cmp r0, #0
beq _sa2_08006BB8
subs r0, #1
strb r0, [r6, #1]
_sa2_08006BB8:
ldrh r0, [r4, #2]
ldrh r1, [r5, #2]
subs r0, r0, r1
strh r0, [r4, #2]
_sa2_08006BC0:
mov r2, sb
ldrh r0, [r2, #2]
lsls r0, r0, #0x10
cmp r0, #0
bge _sa2_08006B88
_sa2_08006BCA:
ldr r2, _sa2_08006C2C @ =gHBlankCopySize
ldrb r0, [r2]
adds r7, r7, r0
mov r3, sl
lsls r0, r3, #0x18
lsrs r4, r0, #0x18
ldr r5, [sp, #0x18]
cmp r4, r5
blo _sa2_08006B0A
_sa2_08006BDC:
mov r2, sp
mov r1, ip
ldrb r0, [r1, #6]
ldrb r1, [r1, #2]
subs r0, r0, r1
strh r0, [r2]
mov r2, ip
ldrb r0, [r2, #7]
ldrb r1, [r2, #3]
subs r0, r0, r1
mov r3, sp
strh r0, [r3, #4]
mov r0, sp
movs r5, #0
ldrsh r0, [r0, r5]
ldrb r3, [r2, #7]
cmp r0, #0
bge _sa2_08006C02
rsbs r0, r0, #0
_sa2_08006C02:
lsls r0, r0, #1
ldr r1, [sp, #0x24]
strh r0, [r1]
mov r2, sp
movs r5, #4
ldrsh r0, [r2, r5]
cmp r0, #0
bge _sa2_08006C14
rsbs r0, r0, #0
_sa2_08006C14:
lsls r0, r0, #1
ldr r1, [sp, #0x28]
strh r0, [r1]
mov r2, sp
ldrh r0, [r2, #4]
rsbs r0, r0, #0
mov r5, sb
strh r0, [r5]
mov r1, ip
ldrb r0, [r1, #2]
strb r0, [r6]
b _sa2_08006CC0
.align 2, 0
_sa2_08006C2C: .4byte gHBlankCopySize
_sa2_08006C30:
mov r2, sp
mov r3, ip
ldrb r0, [r3, #6]
ldrb r1, [r3, #2]
subs r0, r0, r1
strh r0, [r2]
add r2, sp, #4
ldrb r0, [r3, #7]
ldrb r1, [r3, #3]
subs r0, r0, r1
strh r0, [r2]
mov r0, sp
movs r5, #0
ldrsh r0, [r0, r5]
ldrb r1, [r3, #6]
mov r8, r1
ldrb r3, [r3, #7]
cmp r0, #0
bge _sa2_08006C58
rsbs r0, r0, #0
_sa2_08006C58:
lsls r0, r0, #1
ldr r5, [sp, #0x24]
strh r0, [r5]
movs r1, #0
ldrsh r0, [r2, r1]
cmp r0, #0
bge _sa2_08006C68
rsbs r0, r0, #0
_sa2_08006C68:
lsls r0, r0, #1
ldr r5, [sp, #0x28]
strh r0, [r5]
ldrh r0, [r2]
rsbs r0, r0, #0
mov r1, sb
strh r0, [r1]
mov r5, ip
ldrb r0, [r5, #2]
strb r0, [r6]
mov r1, sp
ldrb r0, [r5, #4]
mov r5, r8
subs r0, r5, r0
strh r0, [r1, #2]
mov r1, ip
ldrb r0, [r1, #5]
subs r0, r3, r0
strh r0, [r2, #2]
mov r0, sp
movs r5, #2
ldrsh r0, [r0, r5]
cmp r0, #0
bge _sa2_08006C9A
rsbs r0, r0, #0
_sa2_08006C9A:
lsls r0, r0, #1
ldr r1, [sp, #0x24]
strh r0, [r1, #2]
movs r5, #2
ldrsh r0, [r2, r5]
_sa2_08006CA4:
cmp r0, #0
bge _sa2_08006CAA
rsbs r0, r0, #0
_sa2_08006CAA:
lsls r0, r0, #1
ldr r1, [sp, #0x28]
strh r0, [r1, #2]
mov r2, sp
ldrh r0, [r2, #6]
rsbs r0, r0, #0
mov r5, sb
strh r0, [r5, #2]
mov r1, ip
ldrb r0, [r1, #4]
strb r0, [r6, #1]
_sa2_08006CC0:
str r3, [sp, #0x18]
cmp r4, r3
bhs _sa2_08006D9E
mov r8, sb
ldr r2, [sp, #0x24]
mov ip, r2
_sa2_08006CCC:
ldrb r0, [r6, #1]
strb r0, [r7]
ldrb r0, [r6]
strb r0, [r7, #1]
mov r3, r8
mov r5, ip
ldrh r2, [r5]
ldrh r0, [r3]
adds r2, r2, r0
strh r2, [r3]
ldrh r0, [r3, #2]
ldrh r1, [r5, #2]
adds r0, r0, r1
strh r0, [r3, #2]
lsls r2, r2, #0x10
adds r4, #1
mov sl, r4
cmp r2, #0
blt _sa2_08006D3A
str r6, [sp, #0x2c]
ldr r4, [sp, #0x28]
mov r2, sb
_sa2_08006CF8:
mov r0, sp
movs r1, #0
ldrsh r0, [r0, r1]
cmp r0, #0
ble _sa2_08006D14
ldr r5, [sp, #0x2c]
ldrb r0, [r5]
adds r0, #1
strb r0, [r5]
ldrh r0, [r3]
ldrh r1, [r4]
subs r0, r0, r1
strh r0, [r3]
b _sa2_08006D30
_sa2_08006D14:
ldrb r0, [r6]
cmp r0, #0
beq _sa2_08006D1E
subs r0, #1
strb r0, [r6]
_sa2_08006D1E:
ldrh r0, [r2]
ldrh r1, [r4]
subs r0, r0, r1
strh r0, [r2]
lsls r0, r0, #0x10
cmp r0, #0
blt _sa2_08006D30
ldrb r0, [r6]
strb r0, [r7, #1]
_sa2_08006D30:
mov r3, sb
movs r1, #0
ldrsh r0, [r3, r1]
cmp r0, #0
bge _sa2_08006CF8
_sa2_08006D3A:
mov r2, r8
ldrh r0, [r2, #2]
lsls r0, r0, #0x10
cmp r0, #0
blt _sa2_08006D8C
adds r3, r6, #0
ldr r5, [sp, #0x28]
mov r4, sb
_sa2_08006D4A:
mov r0, sp
ldrh r0, [r0, #2]
lsls r0, r0, #0x10
cmp r0, #0
ble _sa2_08006D70
ldrb r0, [r3, #1]
adds r0, #1
strb r0, [r3, #1]
ldrh r0, [r2, #2]
ldrh r1, [r5, #2]
subs r0, r0, r1
strh r0, [r2, #2]
lsls r0, r0, #0x10
cmp r0, #0
blt _sa2_08006D82
ldrb r0, [r6, #1]
adds r0, #1
strb r0, [r7]
b _sa2_08006D82
_sa2_08006D70:
ldrb r0, [r3, #1]
cmp r0, #0
beq _sa2_08006D7A
subs r0, #1
strb r0, [r6, #1]
_sa2_08006D7A:
ldrh r0, [r4, #2]
ldrh r1, [r5, #2]
subs r0, r0, r1
strh r0, [r4, #2]
_sa2_08006D82:
mov r2, sb
ldrh r0, [r2, #2]
lsls r0, r0, #0x10
cmp r0, #0
bge _sa2_08006D4A
_sa2_08006D8C:
ldr r2, _sa2_08006DB0 @ =gHBlankCopySize
ldrb r0, [r2]
adds r7, r7, r0
mov r3, sl
lsls r0, r3, #0x18
lsrs r4, r0, #0x18
ldr r5, [sp, #0x18]
cmp r4, r5
blo _sa2_08006CCC
_sa2_08006D9E:
add sp, #0x30
pop {r3, r4, r5}
mov r8, r3
mov sb, r4
mov sl, r5
pop {r4, r5, r6, r7}
pop {r0}
bx r0
.align 2, 0
_sa2_08006DB0: .4byte gHBlankCopySize
@ Unused
@ Very similar to sub_800724C
.syntax divided