tmc/asm/non_matching/rem/sub_0806AA50.inc

154 lines
2.5 KiB
PHP

.syntax unified
push {r4, r5, r6, r7, lr}
mov r7, r8
push {r7}
adds r6, r0, #0
adds r5, r1, #0
ldrb r0, [r5, #0x18]
cmp r0, #1
beq _0806AB38
cmp r0, #1
bgt _0806AA6A
cmp r0, #0
beq _0806AA70
b _0806AB64
_0806AA6A:
cmp r0, #2
beq _0806AB5C
b _0806AB64
_0806AA70:
str r0, [r5, #0x14]
movs r0, #0x8f
bl CheckLocalFlag
cmp r0, #0
bne _0806AA84
ldr r2, _0806AA80 @ =gUnk_081122A8
b _0806AA9A
.align 2, 0
_0806AA80: .4byte gUnk_081122A8
_0806AA84:
movs r0, #0x15
bl GetInventoryValue
cmp r0, #0
bne _0806AA98
ldr r2, _0806AA94 @ =gUnk_081122B0
b _0806AA9A
.align 2, 0
_0806AA94: .4byte gUnk_081122B0
_0806AA98:
ldr r2, _0806AAD0 @ =gUnk_081122B8
_0806AA9A:
ldr r1, _0806AAD4 @ =gRoomVars
ldr r0, [r1, #0x68]
lsls r0, r0, #1
adds r0, r0, r2
ldrh r7, [r0]
mov r8, r1
mov r4, r8
ldr r0, [r4, #0x68]
adds r0, #1
str r0, [r4, #0x68]
cmp r0, #2
bls _0806AAB6
movs r0, #0
str r0, [r4, #0x68]
_0806AAB6:
adds r0, r7, #0
adds r1, r6, #0
bl MessageNoOverlap
ldr r0, [r5, #4]
cmp r0, #1
beq _0806AAEE
cmp r0, #1
blo _0806AAD8
cmp r0, #2
beq _0806AB02
b _0806AB1C
.align 2, 0
_0806AAD0: .4byte gUnk_081122B8
_0806AAD4: .4byte gRoomVars
_0806AAD8:
adds r0, r4, #0
adds r0, #0xac
str r6, [r0]
adds r0, r6, #0
movs r1, #7
bl PrependEntityToList
movs r0, #0xc0
lsls r0, r0, #9
str r0, [r6, #0x20]
b _0806AB1C
_0806AAEE:
adds r0, r4, #0
adds r0, #0xac
ldr r0, [r0]
movs r1, #7
bl FindNextDuplicateID
adds r1, r0, #0
adds r0, r4, #0
adds r0, #0xb0
b _0806AB14
_0806AB02:
mov r0, r8
adds r0, #0xb0
ldr r0, [r0]
movs r1, #7
bl FindNextDuplicateID
adds r1, r0, #0
mov r0, r8
adds r0, #0xb4
_0806AB14:
str r1, [r0]
movs r0, #0xc0
lsls r0, r0, #9
str r0, [r1, #0x20]
_0806AB1C:
ldr r0, _0806AB34 @ =0x0000441E
cmp r7, r0
bne _0806AB2C
movs r0, #0x8f
bl SetLocalFlag
movs r0, #1
str r0, [r5, #0x14]
_0806AB2C:
movs r0, #1
strb r0, [r5, #0x18]
b _0806AB64
.align 2, 0
_0806AB34: .4byte 0x0000441E
_0806AB38:
ldr r0, _0806AB58 @ =gRoomVars
ldr r1, [r5, #4]
lsls r1, r1, #2
adds r0, #0xac
adds r1, r1, r0
ldr r1, [r1]
movs r2, #0x36
ldrsh r0, [r1, r2]
cmp r0, #0
blt _0806AB64
movs r0, #0xc0
lsls r0, r0, #9
str r0, [r1, #0x20]
movs r0, #2
strb r0, [r5, #0x18]
b _0806AB64
.align 2, 0
_0806AB58: .4byte gRoomVars
_0806AB5C:
movs r1, #0x36
ldrsh r0, [r6, r1]
cmp r0, #0
bge _0806AB6A
_0806AB64:
ldr r1, _0806AB70 @ =gActiveScriptInfo
movs r0, #0
strb r0, [r1, #6]
_0806AB6A:
pop {r3}
mov r8, r3
pop {r4, r5, r6, r7, pc}
.align 2, 0
_0806AB70: .4byte gActiveScriptInfo
.syntax divided