summaryrefslogtreecommitdiff
path: root/asm/code_0801D79C.s
diff options
context:
space:
mode:
authortheo <arisstephenson2@gmail.com>2020-06-09 01:47:11 -0700
committertheo <arisstephenson2@gmail.com>2020-06-09 01:47:11 -0700
commit9bf674b08771bf89f6df4b9f0ffaa95fbba5fefa (patch)
tree1976adaa9d1d957dd9e0328a4507756b09188bec /asm/code_0801D79C.s
parent5ed687df73d9fe65aca13de32d1a60b9c3682a87 (diff)
octorok
Diffstat (limited to 'asm/code_0801D79C.s')
-rw-r--r--asm/code_0801D79C.s11006
1 files changed, 0 insertions, 11006 deletions
diff --git a/asm/code_0801D79C.s b/asm/code_0801D79C.s
index 790b5f76..2c1c61de 100644
--- a/asm/code_0801D79C.s
+++ b/asm/code_0801D79C.s
@@ -2570,11009 +2570,3 @@ _0801EA9C:
movs r0, #0xf2
_0801EAAE:
pop {r4, r5, r6, pc}
-
- thumb_func_start sub_0801EAB0
-sub_0801EAB0: @ 0x0801EAB0
- push {r4, lr}
- adds r4, r0, #0
- ldr r1, _0801EACC @ =gUnk_080CA130
- bl sub_0800129E
- movs r3, #0x10
- rsbs r3, r3, #0
- adds r0, r4, #0
- movs r1, #0
- movs r2, #1
- bl sub_0804A9AC
- pop {r4, pc}
- .align 2, 0
-_0801EACC: .4byte gUnk_080CA130
-
- thumb_func_start sub_0801EAD0
-sub_0801EAD0: @ 0x0801EAD0
- push {lr}
- ldr r2, _0801EAE4 @ =gUnk_080CA148
- ldrb r1, [r0, #0xc]
- lsls r1, r1, #2
- adds r1, r1, r2
- ldr r1, [r1]
- bl _call_via_r1
- pop {pc}
- .align 2, 0
-_0801EAE4: .4byte gUnk_080CA148
-
- thumb_func_start sub_0801EAE8
-sub_0801EAE8: @ 0x0801EAE8
- push {r4, lr}
- adds r4, r0, #0
- adds r0, #0x43
- ldrb r0, [r0]
- cmp r0, #0
- beq _0801EAFC
- adds r0, r4, #0
- movs r1, #0x1c
- bl sub_0804A9FC
-_0801EAFC:
- ldr r1, _0801EB08 @ =gUnk_080CA130
- adds r0, r4, #0
- bl sub_0804AA30
- pop {r4, pc}
- .align 2, 0
-_0801EB08: .4byte gUnk_080CA130
-
- thumb_func_start sub_0801EB0C
-sub_0801EB0C: @ 0x0801EB0C
- push {lr}
- adds r1, r0, #0
- ldrb r0, [r1, #0xa]
- cmp r0, #0
- bne _0801EB1E
- adds r0, r1, #0
- bl sub_0804A7D4
- b _0801EB28
-_0801EB1E:
- adds r0, r1, #0
- movs r1, #0xf1
- movs r2, #0
- bl sub_0804A7E0
-_0801EB28:
- pop {pc}
- .align 2, 0
-
- thumb_func_start sub_0801EB2C
-sub_0801EB2C: @ 0x0801EB2C
- push {r4, lr}
- adds r4, r0, #0
- ldrb r0, [r4, #0xd]
- cmp r0, #2
- bhi _0801EB50
- adds r0, r4, #0
- bl sub_0806F520
- cmp r0, #0
- bne _0801EB50
- adds r0, r4, #0
- bl sub_0801ECFC
- ldrb r1, [r4, #0x14]
- adds r0, r4, #0
- bl UpdateSprite
- b _0801EB60
-_0801EB50:
- ldr r0, _0801EB64 @ =gUnk_080CA158
- ldrb r1, [r4, #0xd]
- lsls r1, r1, #2
- adds r1, r1, r0
- ldr r1, [r1]
- adds r0, r4, #0
- bl _call_via_r1
-_0801EB60:
- pop {r4, pc}
- .align 2, 0
-_0801EB64: .4byte gUnk_080CA158
-
- thumb_func_start sub_0801EB68
-sub_0801EB68: @ 0x0801EB68
- movs r1, #1
- strb r1, [r0, #0xd]
- movs r1, #0x3c
- strb r1, [r0, #0x1d]
- bx lr
- .align 2, 0
-
- thumb_func_start sub_0801EB74
-sub_0801EB74: @ 0x0801EB74
- push {lr}
- bl sub_0806F4E8
- pop {pc}
-
- thumb_func_start sub_0801EB7C
-sub_0801EB7C: @ 0x0801EB7C
- push {lr}
- bl sub_0806F3E4
- pop {pc}
-
- thumb_func_start sub_0801EB84
-sub_0801EB84: @ 0x0801EB84
- push {lr}
- ldrb r2, [r0, #0x10]
- movs r1, #0x7f
- ands r1, r2
- strb r1, [r0, #0x10]
- movs r1, #2
- bl sub_08004276
- pop {pc}
- .align 2, 0
-
- thumb_func_start nullsub_3
-nullsub_3: @ 0x0801EB98
- bx lr
- .align 2, 0
-
- thumb_func_start sub_0801EB9C
-sub_0801EB9C: @ 0x0801EB9C
- push {lr}
- adds r2, r0, #0
- ldrb r3, [r2, #0x10]
- movs r0, #0x80
- ands r0, r3
- lsls r0, r0, #0x18
- lsrs r1, r0, #0x18
- cmp r1, #0
- beq _0801EBC0
- movs r0, #0x80
- orrs r0, r3
- strb r0, [r2, #0x10]
- adds r2, #0x3a
- ldrb r1, [r2]
- movs r0, #0xfb
- ands r0, r1
- strb r0, [r2]
- b _0801EBC6
-_0801EBC0:
- adds r0, r2, #0
- adds r0, #0x45
- strb r1, [r0]
-_0801EBC6:
- pop {pc}
-
- thumb_func_start sub_0801EBC8
-sub_0801EBC8: @ 0x0801EBC8
- push {r4, lr}
- adds r4, r0, #0
- bl sub_0804A720
- ldrb r0, [r4, #0xa]
- cmp r0, #2
- beq _0801EBDE
- bl Random
- movs r1, #3
- ands r0, r1
-_0801EBDE:
- strb r0, [r4, #0x14]
- movs r0, #0x12
- strb r0, [r4, #0x1c]
- adds r0, r4, #0
- bl sub_0801ECFC
- ldrb r1, [r4, #0x14]
- adds r0, r4, #0
- bl UpdateSprite
- pop {r4, pc}
-
- thumb_func_start sub_0801EBF4
-sub_0801EBF4: @ 0x0801EBF4
- push {r4, lr}
- adds r4, r0, #0
- ldrb r0, [r4, #0xe]
- subs r0, #1
- strb r0, [r4, #0xe]
- lsls r0, r0, #0x18
- cmp r0, #0
- bne _0801EC1E
- movs r0, #2
- strb r0, [r4, #0xc]
- bl Random
- ldr r2, _0801EC28 @ =gUnk_080CA170
- movs r1, #3
- ands r1, r0
- adds r1, r1, r2
- ldrb r0, [r1]
- strb r0, [r4, #0xe]
- adds r0, r4, #0
- bl sub_0801ED14
-_0801EC1E:
- adds r0, r4, #0
- bl sub_08004274
- pop {r4, pc}
- .align 2, 0
-_0801EC28: .4byte gUnk_080CA170
-
- thumb_func_start sub_0801EC2C
-sub_0801EC2C: @ 0x0801EC2C
- push {r4, r5, lr}
- adds r5, r0, #0
- bl sub_080AEF88
- adds r0, r5, #0
- bl sub_08004274
- ldrb r0, [r5, #0xe]
- subs r0, #1
- strb r0, [r5, #0xe]
- lsls r0, r0, #0x18
- cmp r0, #0
- bne _0801EC7E
- adds r0, r5, #0
- bl sub_0801EDEC
- cmp r0, #0
- beq _0801EC78
- ldr r1, _0801EC74 @ =gUnk_080CA174
- ldrb r0, [r5, #0xa]
- adds r0, r0, r1
- ldrb r4, [r0]
- bl Random
- movs r1, #3
- ands r0, r1
- cmp r4, r0
- bhi _0801EC78
- strb r1, [r5, #0xc]
- ldrb r1, [r5, #0x14]
- adds r1, #4
- adds r0, r5, #0
- bl UpdateSprite
- b _0801EC7E
- .align 2, 0
-_0801EC74: .4byte gUnk_080CA174
-_0801EC78:
- adds r0, r5, #0
- bl sub_0801ECFC
-_0801EC7E:
- pop {r4, r5, pc}
-
- thumb_func_start sub_0801EC80
-sub_0801EC80: @ 0x0801EC80
- push {r4, r5, lr}
- adds r4, r0, #0
- bl sub_08004274
- adds r5, r4, #0
- adds r5, #0x5a
- ldrb r1, [r5]
- movs r0, #1
- ands r0, r1
- cmp r0, #0
- beq _0801ECD8
- adds r0, r4, #0
- movs r1, #1
- movs r2, #0
- bl sub_0804A98C
- adds r2, r0, #0
- cmp r2, #0
- beq _0801ECD8
- ldrb r0, [r4, #0x15]
- strb r0, [r2, #0x15]
- ldrb r1, [r4, #0x15]
- lsrs r1, r1, #2
- ldr r0, _0801ECF0 @ =gUnk_080CA176
- adds r1, r1, r0
- movs r0, #0
- ldrsb r0, [r1, r0]
- ldrh r3, [r2, #0x2e]
- adds r0, r0, r3
- strh r0, [r2, #0x2e]
- movs r0, #1
- ldrsb r0, [r1, r0]
- ldrh r1, [r2, #0x32]
- adds r0, r0, r1
- strh r0, [r2, #0x32]
- ldr r0, _0801ECF4 @ =0x0000FFFD
- strh r0, [r2, #0x36]
- ldrb r1, [r5]
- movs r0, #0xfe
- ands r0, r1
- strb r0, [r5]
- ldr r0, _0801ECF8 @ =0x0000018D
- bl sub_08004488
-_0801ECD8:
- adds r0, r4, #0
- adds r0, #0x5a
- ldrb r1, [r0]
- movs r0, #0x80
- ands r0, r1
- cmp r0, #0
- beq _0801ECEC
- adds r0, r4, #0
- bl sub_0801ECFC
-_0801ECEC:
- pop {r4, r5, pc}
- .align 2, 0
-_0801ECF0: .4byte gUnk_080CA176
-_0801ECF4: .4byte 0x0000FFFD
-_0801ECF8: .4byte 0x0000018D
-
- thumb_func_start sub_0801ECFC
-sub_0801ECFC: @ 0x0801ECFC
- push {r4, lr}
- adds r4, r0, #0
- movs r0, #1
- strb r0, [r4, #0xc]
- bl Random
- movs r1, #0x38
- ands r0, r1
- adds r0, #0x18
- strb r0, [r4, #0xe]
- pop {r4, pc}
- .align 2, 0
-
- thumb_func_start sub_0801ED14
-sub_0801ED14: @ 0x0801ED14
- push {r4, r5, lr}
- adds r5, r0, #0
- ldrb r0, [r5, #0xa]
- cmp r0, #2
- beq _0801ED7E
- adds r0, r5, #0
- bl sub_08049FA0
- cmp r0, #0
- beq _0801ED4C
- ldrb r0, [r5, #0xa]
- cmp r0, #1
- bne _0801ED46
- bl Random
- movs r1, #3
- ands r1, r0
- cmp r1, #0
- bne _0801ED46
- adds r0, r5, #0
- movs r1, #1
- bl sub_08049FDC
- cmp r0, #0
- bne _0801EDC4
-_0801ED46:
- bl Random
- b _0801EDD0
-_0801ED4C:
- bl Random
- movs r1, #3
- ands r1, r0
- cmp r1, #0
- beq _0801ED78
- adds r0, r5, #0
- bl sub_08049EE4
- adds r4, r0, #0
- bl Random
- ldr r2, _0801ED74 @ =gUnk_080CA17E
- movs r1, #1
- ands r1, r0
- adds r1, r1, r2
- ldrb r0, [r1]
- adds r0, r0, r4
- b _0801EDD0
- .align 2, 0
-_0801ED74: .4byte gUnk_080CA17E
-_0801ED78:
- bl Random
- b _0801EDD0
-_0801ED7E:
- adds r0, r5, #0
- movs r1, #1
- bl sub_08049FDC
- cmp r0, #0
- bne _0801EDC4
- adds r0, r5, #0
- bl sub_08049FA0
- cmp r0, #0
- beq _0801ED9A
- bl Random
- b _0801EDD0
-_0801ED9A:
- bl Random
- movs r1, #3
- ands r1, r0
- cmp r1, #0
- beq _0801EDC4
- adds r0, r5, #0
- bl sub_08049EE4
- adds r4, r0, #0
- bl Random
- ldr r2, _0801EDC0 @ =gUnk_080CA17E
- movs r1, #1
- ands r1, r0
- adds r1, r1, r2
- ldrb r0, [r1]
- adds r0, r0, r4
- b _0801EDD0
- .align 2, 0
-_0801EDC0: .4byte gUnk_080CA17E
-_0801EDC4:
- ldr r0, _0801EDE8 @ =gUnk_020000B0
- ldr r1, [r0]
- adds r0, r5, #0
- bl sub_080045C4
- adds r0, #4
-_0801EDD0:
- movs r1, #0x18
- ands r0, r1
- strb r0, [r5, #0x15]
- ldrb r0, [r5, #0x15]
- lsrs r0, r0, #3
- strb r0, [r5, #0x14]
- ldrb r1, [r5, #0x14]
- adds r0, r5, #0
- bl UpdateSprite
- pop {r4, r5, pc}
- .align 2, 0
-_0801EDE8: .4byte gUnk_020000B0
-
- thumb_func_start sub_0801EDEC
-sub_0801EDEC: @ 0x0801EDEC
- push {r4, lr}
- adds r4, r0, #0
- movs r0, #1
- bl sub_08049DF4
- adds r1, r0, #0
- cmp r1, #0
- beq _0801EE12
- adds r0, r4, #0
- bl sub_080045C4
- adds r0, #4
- movs r1, #0x18
- ands r0, r1
- ldrb r4, [r4, #0x15]
- cmp r0, r4
- bne _0801EE12
- movs r0, #1
- b _0801EE14
-_0801EE12:
- movs r0, #0
-_0801EE14:
- pop {r4, pc}
- .align 2, 0
-
- thumb_func_start sub_0801EE18
-sub_0801EE18: @ 0x0801EE18
- push {r4, r5, lr}
- adds r5, r0, #0
- bl sub_080012DC
- adds r4, r0, #0
- cmp r4, #0
- beq _0801EE9E
- cmp r4, #2
- beq _0801EE40
- ldr r0, _0801EE3C @ =gUnk_080012C8
- lsls r1, r4, #2
- adds r1, r1, r0
- ldr r1, [r1]
- adds r0, r5, #0
- bl _call_via_r1
- b _0801EEE0
- .align 2, 0
-_0801EE3C: .4byte gUnk_080012C8
-_0801EE40:
- adds r2, r5, #0
- adds r2, #0x3a
- ldrb r1, [r2]
- movs r0, #0xfe
- ands r0, r1
- strb r0, [r2]
- adds r0, r5, #0
- adds r0, #0x81
- ldrb r0, [r0]
- cmp r4, r0
- beq _0801EE9E
- ldrb r0, [r5, #0xa]
- cmp r0, #1
- beq _0801EE9E
- cmp r0, #1
- bgt _0801EE66
- cmp r0, #0
- beq _0801EE6C
- b _0801EE9E
-_0801EE66:
- cmp r0, #2
- beq _0801EE96
- b _0801EE9E
-_0801EE6C:
- ldrb r1, [r5, #0x10]
- movs r0, #0x80
- ands r0, r1
- cmp r0, #0
- beq _0801EE9E
- movs r0, #6
- strb r0, [r5, #0xc]
- movs r0, #0x7f
- ands r0, r1
- strb r0, [r5, #0x10]
- movs r0, #0x20
- strh r0, [r5, #0x24]
- adds r1, r5, #0
- adds r1, #0x3f
- movs r0, #0x5c
- strb r0, [r1]
- adds r0, r5, #0
- movs r1, #5
- bl UpdateSprite
- b _0801EE9E
-_0801EE96:
- adds r0, r5, #0
- bl sub_080043A8
- b _0801EEE0
-_0801EE9E:
- adds r0, r5, #0
- adds r0, #0x81
- strb r4, [r0]
- ldr r4, _0801EED0 @ =gUnk_080CA21C
- adds r0, r5, #0
- bl sub_0800279C
- lsls r0, r0, #2
- adds r0, r0, r4
- ldr r1, [r0]
- adds r0, r5, #0
- bl _call_via_r1
- ldr r0, [r5, #0x68]
- ldrb r0, [r0, #0xa]
- cmp r0, #0x1c
- bne _0801EED4
- movs r3, #0x10
- rsbs r3, r3, #0
- adds r0, r5, #0
- movs r1, #0
- movs r2, #1
- bl sub_0804A9AC
- b _0801EEE0
- .align 2, 0
-_0801EED0: .4byte gUnk_080CA21C
-_0801EED4:
- ldrb r0, [r5, #0xa]
- cmp r0, #2
- bne _0801EEE0
- adds r0, r5, #0
- bl sub_0801FB34
-_0801EEE0:
- pop {r4, r5, pc}
- .align 2, 0
-
- thumb_func_start sub_0801EEE4
-sub_0801EEE4: @ 0x0801EEE4
- push {r4, lr}
- adds r4, r0, #0
- ldrb r0, [r4, #0xa]
- cmp r0, #1
- beq _0801EF0C
- cmp r0, #1
- bgt _0801EEF8
- cmp r0, #0
- beq _0801EEFE
- b _0801EF38
-_0801EEF8:
- cmp r0, #2
- beq _0801EF28
- b _0801EF38
-_0801EEFE:
- adds r0, r4, #0
- bl sub_0801F3AC
- ldr r0, _0801EF08 @ =gUnk_080CA234
- b _0801EF14
- .align 2, 0
-_0801EF08: .4byte gUnk_080CA234
-_0801EF0C:
- adds r0, r4, #0
- bl sub_0801F764
- ldr r0, _0801EF24 @ =gUnk_080CA25C
-_0801EF14:
- ldrb r1, [r4, #0xc]
- lsls r1, r1, #2
- adds r1, r1, r0
- ldr r1, [r1]
- adds r0, r4, #0
- bl _call_via_r1
- b _0801EF38
- .align 2, 0
-_0801EF24: .4byte gUnk_080CA25C
-_0801EF28:
- ldr r0, _0801EF3C @ =gUnk_080CA288
- ldrb r1, [r4, #0xc]
- lsls r1, r1, #2
- adds r1, r1, r0
- ldr r1, [r1]
- adds r0, r4, #0
- bl _call_via_r1
-_0801EF38:
- pop {r4, pc}
- .align 2, 0
-_0801EF3C: .4byte gUnk_080CA288
-
- thumb_func_start sub_0801EF40
-sub_0801EF40: @ 0x0801EF40
- push {r4, r5, r6, r7, lr}
- adds r4, r0, #0
- ldrb r0, [r4, #0xa]
- cmp r0, #2
- bne _0801EF68
- adds r0, r4, #0
- adds r0, #0x41
- ldrb r0, [r0]
- cmp r0, #0x8e
- beq _0801EF58
- cmp r0, #0x95
- bne _0801EF68
-_0801EF58:
- ldrb r0, [r4, #0x10]
- movs r1, #0x7f
- ands r1, r0
- movs r0, #0
- strb r1, [r4, #0x10]
- adds r1, r4, #0
- adds r1, #0x45
- strb r0, [r1]
-_0801EF68:
- adds r0, r4, #0
- adds r0, #0x45
- ldrb r6, [r0]
- adds r7, r0, #0
- cmp r6, #0
- beq _0801EFB0
- subs r0, #4
- ldrb r0, [r0]
- cmp r0, #0x94
- bne _0801EF94
- adds r0, r4, #0
- bl sub_0801FB68
- adds r0, r4, #0
- movs r1, #0x1c
- bl sub_0804A9FC
- adds r0, r4, #0
- movs r1, #6
- bl UpdateSprite
- b _0801EFC0
-_0801EF94:
- adds r0, r4, #0
- adds r0, #0x80
- ldrb r1, [r0]
- adds r5, r0, #0
- cmp r1, r6
- beq _0801EFC4
- adds r0, r4, #0
- bl sub_0801FB68
- adds r0, r4, #0
- movs r1, #6
- bl UpdateSprite
- b _0801EFC4
-_0801EFB0:
- adds r0, r4, #0
- bl sub_0804AA1C
- str r6, [r4, #0x20]
- adds r0, r4, #0
- movs r1, #9
- bl UpdateSprite
-_0801EFC0:
- adds r5, r4, #0
- adds r5, #0x80
-_0801EFC4:
- ldrb r0, [r7]
- strb r0, [r5]
- ldr r1, _0801EFD4 @ =gUnk_080CA21C
- adds r0, r4, #0
- bl sub_0804AA30
- pop {r4, r5, r6, r7, pc}
- .align 2, 0
-_0801EFD4: .4byte gUnk_080CA21C
-
- thumb_func_start sub_0801EFD8
-sub_0801EFD8: @ 0x0801EFD8
- push {r4, lr}
- adds r4, r0, #0
- bl sub_0806F520
- cmp r0, #0
- bne _0801F000
- adds r0, r4, #0
- adds r0, #0x43
- ldrb r0, [r0]
- cmp r0, #0
- beq _0801F000
- adds r0, r4, #0
- movs r1, #0x1c
- bl sub_0804A9FC
- adds r0, r4, #0
- movs r1, #6
- bl UpdateSprite
- b _0801F028
-_0801F000:
- adds r0, r4, #0
- adds r0, #0x58
- ldrb r0, [r0]
- cmp r0, #8
- beq _0801F018
- adds r0, r4, #0
- bl sub_0801FB68
- adds r0, r4, #0
- movs r1, #8
- bl UpdateSprite
-_0801F018:
- movs r1, #0xc0
- lsls r1, r1, #5
- adds r0, r4, #0
- bl sub_08003FC4
- adds r0, r4, #0
- bl sub_08004274
-_0801F028:
- pop {r4, pc}
- .align 2, 0
-
- thumb_func_start sub_0801F02C
-sub_0801F02C: @ 0x0801F02C
- push {r4, lr}
- adds r4, r0, #0
- adds r0, #0x58
- ldrb r0, [r0]
- cmp r0, #6
- bne _0801F03E
- adds r0, r4, #0
- bl sub_08004274
-_0801F03E:
- adds r0, r4, #0
- bl sub_08001318
- pop {r4, pc}
- .align 2, 0
-
- thumb_func_start sub_0801F048
-sub_0801F048: @ 0x0801F048
- push {r4, lr}
- adds r4, r0, #0
- movs r1, #0xc0
- lsls r1, r1, #5
- bl sub_08003FC4
- adds r0, r4, #0
- bl sub_08004274
- ldrb r0, [r4, #0xa]
- cmp r0, #0
- bne _0801F068
- adds r0, r4, #0
- bl sub_0804A7D4
- b _0801F082
-_0801F068:
- cmp r0, #1
- bne _0801F078
- adds r0, r4, #0
- movs r1, #0xf2
- movs r2, #0
- bl sub_0804A7E0
- b _0801F082
-_0801F078:
- adds r0, r4, #0
- movs r1, #0xf1
- movs r2, #0
- bl sub_0804A7E0
-_0801F082:
- pop {r4, pc}
-
- thumb_func_start sub_0801F084
-sub_0801F084: @ 0x0801F084
- push {r4, lr}
- adds r4, r0, #0
- adds r0, #0x5a
- ldrb r1, [r0]
- movs r0, #0x80
- ands r0, r1
- cmp r0, #0
- bne _0801F09A
- adds r0, r4, #0
- bl sub_08004274
-_0801F09A:
- adds r0, r4, #0
- bl sub_08001242
- pop {r4, pc}
- .align 2, 0
-
- thumb_func_start sub_0801F0A4
-sub_0801F0A4: @ 0x0801F0A4
- push {r4, lr}
- adds r4, r0, #0
- bl sub_0804A720
- movs r2, #0
- movs r0, #1
- strb r0, [r4, #0xc]
- adds r0, r4, #0
- adds r0, #0x45
- ldrb r1, [r0]
- adds r0, #0x3b
- strb r1, [r0]
- adds r4, #0x82
- strb r2, [r4]
- pop {r4, pc}
- .align 2, 0
-
- thumb_func_start nullsub_4
-nullsub_4: @ 0x0801F0C4
- bx lr
- .align 2, 0
-
- thumb_func_start sub_0801F0C8
-sub_0801F0C8: @ 0x0801F0C8
- push {r4, r5, lr}
- adds r5, r0, #0
- bl sub_08004274
- adds r0, r5, #0
- adds r0, #0x5a
- ldrb r1, [r0]
- movs r0, #0x80
- ands r0, r1
- cmp r0, #0
- beq _0801F12A
- movs r4, #3
- movs r0, #3
- strb r0, [r5, #0xc]
- bl Random
- ands r0, r4
- adds r0, #0xc
- strb r0, [r5, #0xe]
- bl Random
- strb r0, [r5, #0xf]
- adds r0, r5, #0
- movs r1, #1
- bl sub_08049F84
- strb r0, [r5, #0x15]
- ldrb r1, [r5, #0x10]
- movs r0, #0x80
- orrs r0, r1
- strb r0, [r5, #0x10]
- adds r2, r5, #0
- adds r2, #0x29
- ldrb r1, [r2]
- movs r0, #8
- rsbs r0, r0, #0
- ands r0, r1
- movs r1, #4
- orrs r0, r1
- movs r1, #0x39
- rsbs r1, r1, #0
- ands r0, r1
- movs r1, #0x18
- orrs r0, r1
- strb r0, [r2]
- adds r0, r5, #0
- movs r1, #2
- bl UpdateSprite
-_0801F12A:
- pop {r4, r5, pc}
-
- thumb_func_start sub_0801F12C
-sub_0801F12C: @ 0x0801F12C
- push {r4, lr}
- adds r4, r0, #0
- bl sub_0801FBD0
- cmp r0, #0
- beq _0801F140
- adds r0, r4, #0
- bl sub_0801F328
- b _0801F1AC
-_0801F140:
- ldrb r1, [r4, #0xf]
- adds r0, r1, #1
- strb r0, [r4, #0xf]
- movs r0, #7
- ands r0, r1
- cmp r0, #0
- bne _0801F158
- adds r0, r4, #0
- movs r1, #1
- bl sub_08049F84
- strb r0, [r4, #0x15]
-_0801F158:
- adds r0, r4, #0
- bl sub_080AEF88
- adds r0, r4, #0
- bl sub_08004274
- ldrb r0, [r4, #0xe]
- subs r0, #1
- strb r0, [r4, #0xe]
- lsls r0, r0, #0x18
- cmp r0, #0
- bne _0801F1AC
- adds r0, r4, #0
- movs r1, #1
- movs r2, #0x38
- bl sub_08049F64
- cmp r0, #0
- beq _0801F18A
- movs r0, #4
- strb r0, [r4, #0xc]
- adds r0, r4, #0
- bl sub_0801FBE4
- b _0801F1AC
-_0801F18A:
- adds r0, r4, #0
- movs r1, #1
- movs r2, #0x48
- bl sub_08049F64
- cmp r0, #0
- beq _0801F1A6
- bl Random
- movs r1, #3
- ands r0, r1
- adds r0, #0xc
- strb r0, [r4, #0xe]
- b _0801F1AC
-_0801F1A6:
- adds r0, r4, #0
- bl sub_0801F328
-_0801F1AC:
- pop {r4, pc}
- .align 2, 0
-
- thumb_func_start sub_0801F1B0
-sub_0801F1B0: @ 0x0801F1B0
- push {r4, lr}
- adds r4, r0, #0
- adds r2, r4, #0
- adds r2, #0x5a
- ldrb r1, [r2]
- movs r0, #0x10
- ands r0, r1
- cmp r0, #0
- beq _0801F1FA
- movs r0, #1
- ands r0, r1
- cmp r0, #0
- beq _0801F1DE
- movs r0, #1
- eors r0, r1
- strb r0, [r2]
- adds r1, r4, #0
- adds r1, #0x3f
- movs r0, #0x5a
- strb r0, [r1]
- adds r0, #0xd1
- bl sub_08004488
-_0801F1DE:
- adds r0, r4, #0
- bl sub_080AEFE0
- movs r1, #0x80
- lsls r1, r1, #7
- adds r0, r4, #0
- bl sub_08003FC4
- cmp r0, #0
- bne _0801F200
- adds r0, r4, #0
- bl sub_08004274
- b _0801F200
-_0801F1FA:
- adds r0, r4, #0
- bl sub_08004274
-_0801F200:
- adds r0, r4, #0
- adds r0, #0x5a
- ldrb r1, [r0]
- movs r0, #0x80
- ands r0, r1
- cmp r0, #0
- beq _0801F226
- adds r0, r4, #0
- bl sub_0801FBD0
- cmp r0, #0
- beq _0801F220
- adds r0, r4, #0
- bl sub_0801F328
- b _0801F226
-_0801F220:
- adds r0, r4, #0
- bl sub_0801F340
-_0801F226:
- pop {r4, pc}
-
- thumb_func_start sub_0801F228
-sub_0801F228: @ 0x0801F228
- push {r4, lr}
- adds r4, r0, #0
- ldrb r0, [r4, #0xe]
- subs r0, #1
- strb r0, [r4, #0xe]
- lsls r0, r0, #0x18
- cmp r0, #0
- bne _0801F246
- movs r0, #3
- strb r0, [r4, #0xc]
- adds r0, r4, #0
- movs r1, #1
- bl sub_08049F84
- strb r0, [r4, #0x15]
-_0801F246:
- adds r0, r4, #0
- bl sub_08004274
- pop {r4, pc}
- .align 2, 0
-
- thumb_func_start sub_0801F250
-sub_0801F250: @ 0x0801F250
- push {r4, lr}
- adds r4, r0, #0
- bl sub_08004274
- adds r0, r4, #0
- adds r0, #0x5a
- ldrb r1, [r0]
- movs r0, #0x80
- ands r0, r1
- cmp r0, #0
- beq _0801F26C
- adds r0, r4, #0
- bl sub_0801F360
-_0801F26C:
- pop {r4, pc}
- .align 2, 0
-
- thumb_func_start sub_0801F270
-sub_0801F270: @ 0x0801F270
- push {r4, lr}
- adds r4, r0, #0
- ldrb r1, [r4, #0xf]
- adds r0, r1, #1
- strb r0, [r4, #0xf]
- movs r0, #7
- ands r0, r1
- cmp r0, #0
- bne _0801F28C
- adds r0, r4, #0
- movs r1, #1
- bl sub_08049F84
- strb r0, [r4, #0x15]
-_0801F28C:
- adds r0, r4, #0
- bl sub_080AF160
- adds r0, r4, #0
- bl sub_08004274
- adds r0, r4, #0
- bl sub_0801FBD0
- cmp r0, #0
- bne _0801F2CA
- ldrb r0, [r4, #0xe]
- subs r0, #1
- strb r0, [r4, #0xe]
- lsls r0, r0, #0x18
- cmp r0, #0
- bne _0801F2CA
- adds r0, r4, #0
- adds r0, #0x81
- ldrb r0, [r0]
- cmp r0, #0
- bne _0801F2C6
- movs r0, #2
- strb r0, [r4, #0xc]
- adds r0, r4, #0
- movs r1, #4
- bl UpdateSprite
- b _0801F2CA
-_0801F2C6:
- movs r0, #8
- strb r0, [r4, #0xe]
-_0801F2CA:
- pop {r4, pc}
-
- thumb_func_start sub_0801F2CC
-sub_0801F2CC: @ 0x0801F2CC
- push {r4, lr}
- adds r4, r0, #0
- bl sub_08004274
- adds r0, r4, #0
- adds r0, #0x5a
- ldrb r1, [r0]
- movs r0, #0x80
- ands r0, r1
- cmp r0, #0
- beq _0801F2F6
- movs r0, #1
- strb r0, [r4, #0xc]
- ldrb r1, [r4, #0x18]
- subs r0, #5
- ands r0, r1
- strb r0, [r4, #0x18]
- adds r0, r4, #0
- movs r1, #4
- bl UpdateSprite
-_0801F2F6:
- pop {r4, pc}
-
- thumb_func_start sub_0801F2F8
-sub_0801F2F8: @ 0x0801F2F8
- push {r4, lr}
- adds r4, r0, #0
- movs r1, #0xc0
- lsls r1, r1, #5
- bl sub_08003FC4
- adds r0, r4, #0
- bl sub_08004274
- adds r0, r4, #0
- adds r0, #0x5a
- ldrb r1, [r0]
- movs r0, #0x80
- ands r0, r1
- cmp r0, #0
- beq _0801F324
- adds r0, r4, #0
- bl sub_0801F340
- adds r0, r4, #0
- bl sub_0804AA1C
-_0801F324:
- pop {r4, pc}
- .align 2, 0
-
- thumb_func_start sub_0801F328
-sub_0801F328: @ 0x0801F328
- push {lr}
- movs r1, #6
- strb r1, [r0, #0xc]
- ldrb r2, [r0, #0x10]
- movs r1, #0x7f
- ands r1, r2
- strb r1, [r0, #0x10]
- movs r1, #5
- bl UpdateSprite
- pop {pc}
- .align 2, 0
-
- thumb_func_start sub_0801F340
-sub_0801F340: @ 0x0801F340
- push {lr}
- movs r1, #5
- strb r1, [r0, #0xc]
- movs r1, #0x3c
- strb r1, [r0, #0xe]
- movs r1, #0x20
- strh r1, [r0, #0x24]
- adds r2, r0, #0
- adds r2, #0x3f
- movs r1, #0x5c
- strb r1, [r2]
- movs r1, #2
- bl UpdateSprite
- pop {pc}
- .align 2, 0
-
- thumb_func_start sub_0801F360
-sub_0801F360: @ 0x0801F360
- push {r4, lr}
- adds r4, r0, #0
- movs r0, #7
- strb r0, [r4, #0xc]
- bl Random
- movs r1, #0x38
- ands r0, r1
- adds r0, #0xb4
- strb r0, [r4, #0xe]
- bl Random
- strb r0, [r4, #0xf]
- adds r0, r4, #0
- movs r1, #1
- bl sub_08049F84
- strb r0, [r4, #0x15]
- adds r2, r4, #0
- adds r2, #0x29
- ldrb r1, [r2]
- movs r0, #0x39
- rsbs r0, r0, #0
- ands r0, r1
- movs r1, #0x10
- orrs r0, r1
- movs r1, #8
- rsbs r1, r1, #0
- ands r0, r1
- movs r1, #6
- orrs r0, r1
- strb r0, [r2]
- adds r0, r4, #0
- movs r1, #1
- bl UpdateSprite
- pop {r4, pc}
- .align 2, 0
-
- thumb_func_start sub_0801F3AC
-sub_0801F3AC: @ 0x0801F3AC
- push {r4, r5, lr}
- adds r4, r0, #0
- ldrb r0, [r4, #0xc]
- cmp r0, #9
- beq _0801F426
- cmp r0, #0
- beq _0801F426
- adds r0, r4, #0
- movs r1, #1
- bl sub_08049FDC
- cmp r0, #0
- beq _0801F408
- adds r5, r4, #0
- adds r5, #0x82
- ldrb r0, [r5]
- cmp r0, #0
- bne _0801F3DE
- adds r0, r4, #0
- movs r1, #1
- movs r2, #0x48
- bl sub_08049F64
- cmp r0, #0
- beq _0801F400
-_0801F3DE:
- ldrb r2, [r4, #0xc]
- cmp r2, #1
- bne _0801F426
- movs r0, #2
- strb r0, [r4, #0xc]
- ldrb r1, [r4, #0x18]
- subs r0, #6
- ands r0, r1
- movs r1, #1
- orrs r0, r1
- strb r0, [r4, #0x18]
- strb r2, [r5]
- adds r0, r4, #0
- movs r1, #0
- bl UpdateSprite
- b _0801F426
-_0801F400:
- ldrb r0, [r4, #0xc]
- cmp r0, #3
- bne _0801F426
- b _0801F40E
-_0801F408:
- ldrb r0, [r4, #0xc]
- cmp r0, #3
- bne _0801F416
-_0801F40E:
- adds r0, r4, #0
- bl sub_0801F328
- b _0801F426
-_0801F416:
- cmp r0, #7
- bne _0801F426
- movs r0, #8
- strb r0, [r4, #0xc]
- adds r0, r4, #0
- movs r1, #7
- bl UpdateSprite
-_0801F426:
- pop {r4, r5, pc}
-
- thumb_func_start sub_0801F428
-sub_0801F428: @ 0x0801F428
- push {r4, r5, lr}
- adds r5, r0, #0
- bl sub_0804A720
- movs r4, #0
- movs r0, #1
- strb r0, [r5, #0xc]
- bl Random
- strb r0, [r5, #0xe]
- adds r0, r5, #0
- adds r0, #0x45
- ldrb r1, [r0]
- adds r0, #0x3b
- strb r1, [r0]
- adds r0, #2
- strb r4, [r0]
- ldrb r0, [r5, #0xb]
- cmp r0, #0
- beq _0801F488
- movs r0, #3
- strb r0, [r5, #0xc]
- movs r0, #0x1e
- strb r0, [r5, #0xf]
- ldrb r0, [r5, #0x10]
- movs r1, #0x80
- orrs r0, r1
- strb r0, [r5, #0x10]
- adds r2, r5, #0
- adds r2, #0x29
- ldrb r1, [r2]
- movs r0, #0x39
- rsbs r0, r0, #0
- ands r0, r1
- movs r1, #0x18
- orrs r0, r1
- strb r0, [r2]
- ldrb r1, [r5, #0x18]
- movs r0, #4
- rsbs r0, r0, #0
- ands r0, r1
- movs r1, #1
- orrs r0, r1
- strb r0, [r5, #0x18]
- adds r0, r5, #0
- movs r1, #2
- bl UpdateSprite
-_0801F488:
- pop {r4, r5, pc}
- .align 2, 0
-
- thumb_func_start sub_0801F48C
-sub_0801F48C: @ 0x0801F48C
- push {lr}
- bl sub_08004274
- pop {pc}
-
- thumb_func_start sub_0801F494
-sub_0801F494: @ 0x0801F494
- push {r4, lr}
- adds r4, r0, #0
- bl sub_08004274
- adds r0, r4, #0
- adds r0, #0x5a
- ldrb r1, [r0]
- movs r0, #0x80
- ands r0, r1
- cmp r0, #0
- beq _0801F4E8
- movs r0, #3
- strb r0, [r4, #0xc]
- movs r0, #0x1e
- strb r0, [r4, #0xf]
- adds r0, r4, #0
- movs r1, #1
- bl sub_08049F84
- strb r0, [r4, #0x15]
- ldrb r1, [r4, #0x10]
- movs r0, #0x80
- orrs r0, r1
- strb r0, [r4, #0x10]
- adds r2, r4, #0
- adds r2, #0x29
- ldrb r1, [r2]
- movs r0, #8
- rsbs r0, r0, #0
- ands r0, r1
- movs r1, #4
- orrs r0, r1
- movs r1, #0x39
- rsbs r1, r1, #0
- ands r0, r1
- movs r1, #0x18
- orrs r0, r1
- strb r0, [r2]
- adds r0, r4, #0
- movs r1, #2
- bl UpdateSprite
-_0801F4E8:
- pop {r4, pc}
- .align 2, 0
-
- thumb_func_start sub_0801F4EC
-sub_0801F4EC: @ 0x0801F4EC
- push {r4, lr}
- adds r4, r0, #0
- bl sub_08004274
- ldrb r0, [r4, #0xf]
- subs r0, #1
- strb r0, [r4, #0xf]
- lsls r0, r0, #0x18
- cmp r0, #0
- bne _0801F504
- movs r0, #4
- strb r0, [r4, #0xc]
-_0801F504:
- pop {r4, pc}
- .align 2, 0
-
- thumb_func_start sub_0801F508
-sub_0801F508: @ 0x0801F508
- push {r4, r5, lr}
- adds r4, r0, #0
- bl sub_0801FBD0
- cmp r0, #0
- beq _0801F51C
- adds r1, r4, #0
- adds r1, #0x83
- movs r0, #0
- b _0801F55C
-_0801F51C:
- ldrb r0, [r4, #0xe]
- adds r0, #1
- strb r0, [r4, #0xe]
- movs r1, #0xff
- adds r5, r0, #0
- ands r5, r1
- movs r0, #7
- ands r5, r0
- cmp r5, #0
- bne _0801F566
- adds r0, r4, #0
- movs r1, #1
- movs r2, #0x38
- bl sub_08049F64
- cmp r0, #0
- beq _0801F566
- bl Random
- movs r1, #1
- ands r1, r0
- cmp r1, #0
- beq _0801F556
- movs r0, #5
- strb r0, [r4, #0xc]
- adds r0, r4, #0
- bl sub_0801FBE4
- b _0801F580
-_0801F556:
- adds r1, r4, #0
- adds r1, #0x83
- movs r0, #0x78
-_0801F55C:
- strb r0, [r1]
- adds r0, r4, #0
- bl sub_0801F730
- b _0801F580
-_0801F566:
- cmp r5, #4
- bne _0801F574
- adds r0, r4, #0
- movs r1, #1
- bl sub_08049F84
- strb r0, [r4, #0x15]
-_0801F574:
- adds r0, r4, #0
- bl sub_080AEF88
- adds r0, r4, #0
- bl sub_08004274
-_0801F580:
- pop {r4, r5, pc}
- .align 2, 0
-
- thumb_func_start sub_0801F584
-sub_0801F584: @ 0x0801F584
- push {r4, lr}
- adds r4, r0, #0
- adds r2, r4, #0
- adds r2, #0x5a
- ldrb r1, [r2]
- movs r0, #0x10
- ands r0, r1
- cmp r0, #0
- beq _0801F5CE
- movs r0, #1
- ands r0, r1
- cmp r0, #0
- beq _0801F5B2
- movs r0, #1
- eors r0, r1
- strb r0, [r2]
- adds r1, r4, #0
- adds r1, #0x3f
- movs r0, #0x5b
- strb r0, [r1]
- adds r0, #0xd0
- bl sub_08004488
-_0801F5B2:
- adds r0, r4, #0
- bl sub_080AEFE0
- movs r1, #0x80
- lsls r1, r1, #7
- adds r0, r4, #0
- bl sub_08003FC4
- cmp r0, #0
- bne _0801F5D4
- adds r0, r4, #0
- bl sub_08004274
- b _0801F5D4
-_0801F5CE:
- adds r0, r4, #0
- bl sub_08004274
-_0801F5D4:
- adds r0, r4, #0
- adds r0, #0x5a
- ldrb r1, [r0]
- movs r0, #0x80
- ands r0, r1
- cmp r0, #0
- beq _0801F618
- adds r0, r4, #0
- bl sub_0801FBD0
- cmp r0, #0
- beq _0801F5FC
- adds r1, r4, #0
- adds r1, #0x83
- movs r0, #0
- strb r0, [r1]
- adds r0, r4, #0
- bl sub_0801F730
- b _0801F618
-_0801F5FC:
- movs r0, #6
- strb r0, [r4, #0xc]
- movs r0, #0x3c
- strb r0, [r4, #0xf]
- movs r0, #0x20
- strh r0, [r4, #0x24]
- adds r1, r4, #0
- adds r1, #0x3f
- movs r0, #0x5c
- strb r0, [r1]
- adds r0, r4, #0
- movs r1, #2
- bl UpdateSprite
-_0801F618:
- pop {r4, pc}
- .align 2, 0
-
- thumb_func_start sub_0801F61C
-sub_0801F61C: @ 0x0801F61C
- push {lr}
- adds r1, r0, #0
- ldrb r0, [r1, #0xf]
- subs r0, #1
- strb r0, [r1, #0xf]
- lsls r0, r0, #0x18
- cmp r0, #0
- bne _0801F630
- movs r0, #4
- strb r0, [r1, #0xc]
-_0801F630:
- adds r0, r1, #0
- bl sub_08004274
- pop {pc}
-
- thumb_func_start sub_0801F638
-sub_0801F638: @ 0x0801F638
- push {r4, lr}
- adds r4, r0, #0
- bl sub_08004274
- adds r0, r4, #0
- adds r0, #0x5a
- ldrb r1, [r0]
- movs r0, #0x80
- ands r0, r1
- cmp r0, #0
- beq _0801F684
- movs r0, #8
- strb r0, [r4, #0xc]
- movs r0, #0x1e
- strb r0, [r4, #0xf]
- adds r0, r4, #0
- movs r1, #1
- bl sub_08049F84
- strb r0, [r4, #0x15]
- adds r2, r4, #0
- adds r2, #0x29
- ldrb r1, [r2]
- movs r0, #0x39
- rsbs r0, r0, #0
- ands r0, r1
- movs r1, #0x10
- orrs r0, r1
- movs r1, #8
- rsbs r1, r1, #0
- ands r0, r1
- movs r1, #6
- orrs r0, r1
- strb r0, [r2]
- adds r0, r4, #0
- movs r1, #1
- bl UpdateSprite
-_0801F684:
- pop {r4, pc}
- .align 2, 0
-
- thumb_func_start sub_0801F688
-sub_0801F688: @ 0x0801F688
- push {r4, r5, lr}
- adds r4, r0, #0
- adds r5, r4, #0
- adds r5, #0x83
- ldrb r0, [r5]
- cmp r0, #0
- beq _0801F69A
- subs r0, #1
- strb r0, [r5]
-_0801F69A:
- adds r0, r4, #0
- bl sub_0801FBD0
- cmp r0, #0
- bne _0801F6AA
- ldrb r0, [r5]
- cmp r0, #0
- beq _0801F6C2
-_0801F6AA:
- adds r0, r4, #0
- movs r1, #1
- bl sub_08049F84
- strb r0, [r4, #0x15]
- adds r0, r4, #0
- bl sub_080AF160
- adds r0, r4, #0
- bl sub_08004274
- b _0801F6C8
-_0801F6C2:
- adds r0, r4, #0
- bl sub_0801F748
-_0801F6C8:
- pop {r4, r5, pc}
- .align 2, 0
-
- thumb_func_start sub_0801F6CC
-sub_0801F6CC: @ 0x0801F6CC
- push {r4, lr}
- adds r4, r0, #0
- bl sub_08004274
- adds r0, r4, #0
- adds r0, #0x5a
- ldrb r1, [r0]
- movs r0, #0x80
- ands r0, r1
- cmp r0, #0
- beq _0801F6F6
- movs r0, #1
- strb r0, [r4, #0xc]
- ldrb r1, [r4, #0x18]
- subs r0, #5
- ands r0, r1
- strb r0, [r4, #0x18]
- adds r0, r4, #0
- movs r1, #4
- bl UpdateSprite
-_0801F6F6:
- pop {r4, pc}
-
- thumb_func_start sub_0801F6F8
-sub_0801F6F8: @ 0x0801F6F8
- push {r4, lr}
- adds r4, r0, #0
- movs r1, #0xc0
- lsls r1, r1, #5
- bl sub_08003FC4
- adds r0, r4, #0
- bl sub_08004274
- adds r0, r4, #0
- adds r0, #0x5a
- ldrb r1, [r0]
- movs r0, #0x80
- ands r0, r1
- cmp r0, #0
- beq _0801F72E
- movs r0, #4
- strb r0, [r4, #0xc]
- movs r0, #0x20
- strh r0, [r4, #0x24]
- adds r0, r4, #0
- bl sub_0804AA1C
- adds r0, r4, #0
- movs r1, #2
- bl UpdateSprite
-_0801F72E:
- pop {r4, pc}
-
- thumb_func_start sub_0801F730
-sub_0801F730: @ 0x0801F730
- push {lr}
- movs r1, #7
- strb r1, [r0, #0xc]
- ldrb r2, [r0, #0x10]
- movs r1, #0x7f
- ands r1, r2
- strb r1, [r0, #0x10]
- movs r1, #5
- bl UpdateSprite
- pop {pc}
- .align 2, 0
-
- thumb_func_start sub_0801F748
-sub_0801F748: @ 0x0801F748
- push {lr}
- movs r1, #2
- strb r1, [r0, #0xc]
- ldrb r2, [r0, #0x18]
- subs r1, #6
- ands r1, r2
- movs r2, #1
- orrs r1, r2
- strb r1, [r0, #0x18]
- movs r1, #4
- bl UpdateSprite
- pop {pc}
- .align 2, 0
-
- thumb_func_start sub_0801F764
-sub_0801F764: @ 0x0801F764
- push {r4, r5, r6, lr}
- adds r4, r0, #0
- ldrb r0, [r4, #0xc]
- cmp r0, #0xa
- beq _0801F7D6
- cmp r0, #0
- beq _0801F7D6
- adds r0, r4, #0
- movs r1, #1
- bl sub_08049FDC
- cmp r0, #0
- beq _0801F7B8
- ldrb r6, [r4, #0xc]
- cmp r6, #1
- bne _0801F7D6
- adds r5, r4, #0
- adds r5, #0x82
- ldrb r0, [r5]
- cmp r0, #0
- bne _0801F79C
- adds r0, r4, #0
- movs r1, #1
- movs r2, #0x48
- bl sub_08049F64
- cmp r0, #0
- beq _0801F7D6
-_0801F79C:
- movs r0, #2
- strb r0, [r4, #0xc]
- ldrb r1, [r4, #0x18]
- subs r0, #6
- ands r0, r1
- movs r1, #1
- orrs r0, r1
- strb r0, [r4, #0x18]
- strb r6, [r5]
- adds r0, r4, #0
- movs r1, #0
- bl UpdateSprite
- b _0801F7D6
-_0801F7B8:
- ldrb r0, [r4, #0xc]
- cmp r0, #4
- bne _0801F7C6
- adds r0, r4, #0
- bl sub_0801F730
- b _0801F7D6
-_0801F7C6:
- cmp r0, #8
- bne _0801F7D6
- movs r0, #9
- strb r0, [r4, #0xc]
- adds r0, r4, #0
- movs r1, #7
- bl UpdateSprite
-_0801F7D6:
- pop {r4, r5, r6, pc}
-
- thumb_func_start sub_0801F7D8
-sub_0801F7D8: @ 0x0801F7D8
- push {r4, r5, lr}
- adds r4, r0, #0
- bl sub_0804A720
- movs r5, #0
- movs r0, #1
- strb r0, [r4, #0xc]
- bl Random
- strb r0, [r4, #0xe]
- adds r0, r4, #0
- adds r0, #0x45
- ldrb r1, [r0]
- adds r0, #0x3b
- strb r1, [r0]
- adds r4, #0x82
- strb r5, [r4]
- pop {r4, r5, pc}
-
- thumb_func_start sub_0801F7FC
-sub_0801F7FC: @ 0x0801F7FC
- push {r4, r5, lr}
- adds r4, r0, #0
- movs r1, #1
- bl sub_08049FDC
- cmp r0, #0
- beq _0801F83E
- adds r5, r4, #0
- adds r5, #0x82
- ldrb r0, [r5]
- cmp r0, #0
- bne _0801F822
- adds r0, r4, #0
- movs r1, #1
- movs r2, #0x48
- bl sub_08049F64
- cmp r0, #0
- beq _0801F83E
-_0801F822:
- movs r0, #2
- strb r0, [r4, #0xc]
- ldrb r1, [r4, #0x18]
- subs r0, #6
- ands r0, r1
- movs r1, #1
- orrs r0, r1
- strb r0, [r4, #0x18]
- movs r0, #1
- strb r0, [r5]
- adds r0, r4, #0
- movs r1, #0
- bl UpdateSprite
-_0801F83E:
- pop {r4, r5, pc}
-
- thumb_func_start sub_0801F840
-sub_0801F840: @ 0x0801F840
- push {r4, lr}
- adds r4, r0, #0
- bl sub_08004274
- adds r0, r4, #0
- adds r0, #0x5a
- ldrb r1, [r0]
- movs r0, #0x80
- ands r0, r1
- cmp r0, #0
- beq _0801F880
- adds r0, r4, #0
- bl sub_0801FB14
- ldrb r1, [r4, #0x10]
- movs r0, #0x80
- orrs r0, r1
- strb r0, [r4, #0x10]
- adds r2, r4, #0
- adds r2, #0x29
- ldrb r1, [r2]
- movs r0, #8
- rsbs r0, r0, #0
- ands r0, r1
- movs r1, #4
- orrs r0, r1
- movs r1, #0x39
- rsbs r1, r1, #0
- ands r0, r1
- movs r1, #0x18
- orrs r0, r1
- strb r0, [r2]
-_0801F880:
- pop {r4, pc}
- .align 2, 0
-
- thumb_func_start sub_0801F884
-sub_0801F884: @ 0x0801F884
- push {r4, lr}
- adds r4, r0, #0
- bl sub_08004274
- ldrb r0, [r4, #0xf]
- cmp r0, #0
- beq _0801F898
- subs r0, #1
- strb r0, [r4, #0xf]
- b _0801F8BC
-_0801F898:
- adds r0, r4, #0
- movs r1, #0x1b
- bl sub_0804A9FC
- adds r1, r0, #0
- cmp r1, #0
- beq _0801F8BC
- movs r0, #0x40
- strb r0, [r1, #0xb]
- movs r0, #4
- strb r0, [r4, #0xc]
- adds r1, r4, #0
- adds r1, #0x3f
- movs r0, #0xa5
- strb r0, [r1]
- adds r0, #0xee
- bl sub_08004488
-_0801F8BC:
- pop {r4, pc}
- .align 2, 0
-
- thumb_func_start sub_0801F8C0
-sub_0801F8C0: @ 0x0801F8C0
- push {r4, r5, lr}
- adds r4, r0, #0
- bl sub_0801FBD0
- cmp r0, #0
- beq _0801F8D4
- adds r0, r4, #0
- bl sub_0801FAE0
- b _0801F938
-_0801F8D4:
- adds r0, r4, #0
- movs r1, #1
- bl sub_08049FDC
- cmp r0, #0
- bne _0801F8E8
- adds r0, r4, #0
- bl sub_0801F730
- b _0801F938
-_0801F8E8:
- ldrb r0, [r4, #0xe]
- adds r0, #1
- strb r0, [r4, #0xe]
- movs r1, #0xff
- adds r5, r0, #0
- ands r5, r1
- movs r0, #7
- ands r5, r0
- cmp r5, #0
- bne _0801F91C
- ldr r0, _0801F918 @ =gUnk_020000B0
- ldr r1, [r0]
- adds r0, r4, #0
- movs r2, #0x38
- bl sub_08049F1C
- cmp r0, #0
- beq _0801F91C
- movs r0, #5
- strb r0, [r4, #0xc]
- adds r0, r4, #0
- bl sub_0801FBE4
- b _0801F938
- .align 2, 0
-_0801F918: .4byte gUnk_020000B0
-_0801F91C:
- cmp r5, #4
- bne _0801F92C
- ldr r0, _0801F93C @ =gUnk_020000B0
- ldr r1, [r0]
- adds r0, r4, #0
- bl sub_080045C4
- strb r0, [r4, #0x15]
-_0801F92C:
- adds r0, r4, #0
- bl sub_080AEF88
- adds r0, r4, #0
- bl sub_08004274
-_0801F938:
- pop {r4, r5, pc}
- .align 2, 0
-_0801F93C: .4byte gUnk_020000B0
-
- thumb_func_start sub_0801F940
-sub_0801F940: @ 0x0801F940
- push {r4, lr}
- adds r4, r0, #0
- adds r2, r4, #0
- adds r2, #0x5a
- ldrb r1, [r2]
- movs r0, #0x10
- ands r0, r1
- cmp r0, #0
- beq _0801F988
- movs r0, #1
- ands r0, r1
- cmp r0, #0
- beq _0801F966
- movs r0, #1
- eors r0, r1
- strb r0, [r2]
- ldr r0, _0801F984 @ =0x0000012B
- bl sub_08004488
-_0801F966:
- adds r0, r4, #0
- bl sub_080AEFE0
- movs r1, #0x80
- lsls r1, r1, #7
- adds r0, r4, #0
- bl sub_08003FC4
- cmp r0, #0
- bne _0801F98E
- adds r0, r4, #0
- bl sub_08004274
- b _0801F98E
- .align 2, 0
-_0801F984: .4byte 0x0000012B
-_0801F988:
- adds r0, r4, #0
- bl sub_08004274
-_0801F98E:
- adds r0, r4, #0
- adds r0, #0x5a
- ldrb r1, [r0]
- movs r0, #0x80
- ands r0, r1
- cmp r0, #0
- beq _0801F9C2
- adds r0, r4, #0
- bl sub_0801FBD0
- cmp r0, #0
- beq _0801F9AE
- adds r0, r4, #0
- bl sub_0801FAE0
- b _0801F9C2
-_0801F9AE:
- movs r0, #6
- strb r0, [r4, #0xc]
- movs r0, #0x3c
- strb r0, [r4, #0xf]
- movs r0, #0x20
- strh r0, [r4, #0x24]
- adds r0, r4, #0
- movs r1, #2
- bl UpdateSprite
-_0801F9C2:
- pop {r4, pc}
-
- thumb_func_start sub_0801F9C4
-sub_0801F9C4: @ 0x0801F9C4
- push {lr}
- adds r1, r0, #0
- ldrb r0, [r1, #0xf]
- subs r0, #1
- strb r0, [r1, #0xf]
- lsls r0, r0, #0x18
- cmp r0, #0
- bne _0801F9D8
- movs r0, #4
- strb r0, [r1, #0xc]
-_0801F9D8:
- adds r0, r1, #0
- bl sub_08004274
- pop {pc}
-
- thumb_func_start sub_0801F9E0
-sub_0801F9E0: @ 0x0801F9E0
- push {r4, lr}
- adds r4, r0, #0
- bl sub_08004274
- adds r0, r4, #0
- adds r0, #0x5a
- ldrb r1, [r0]
- movs r0, #0x80
- ands r0, r1
- cmp r0, #0
- beq _0801FA2C
- movs r0, #8
- strb r0, [r4, #0xc]
- movs r0, #0x1e
- strb r0, [r4, #0xf]
- adds r0, r4, #0
- movs r1, #1
- bl sub_08049F84
- strb r0, [r4, #0x15]
- adds r2, r4, #0
- adds r2, #0x29
- ldrb r1, [r2]
- movs r0, #0x39
- rsbs r0, r0, #0
- ands r0, r1
- movs r1, #0x10
- orrs r0, r1
- movs r1, #8
- rsbs r1, r1, #0
- ands r0, r1
- movs r1, #6
- orrs r0, r1
- strb r0, [r2]
- adds r0, r4, #0
- movs r1, #1
- bl UpdateSprite
-_0801FA2C:
- pop {r4, pc}
- .align 2, 0
-
- thumb_func_start sub_0801FA30
-sub_0801FA30: @ 0x0801FA30
- push {r4, lr}
- adds r4, r0, #0
- bl sub_0801FBD0
- cmp r0, #0
- beq _0801FA54
- adds r0, r4, #0
- movs r1, #1
- bl sub_08049F84
- strb r0, [r4, #0x15]
- adds r0, r4, #0
- bl sub_080AF160
- adds r0, r4, #0
- bl sub_08004274
- b _0801FA74
-_0801FA54:
- adds r0, r4, #0
- movs r1, #1
- bl sub_08049FDC
- cmp r0, #0
- bne _0801FA6E
- movs r0, #9
- strb r0, [r4, #0xc]
- adds r0, r4, #0
- movs r1, #7
- bl UpdateSprite
- b _0801FA74
-_0801FA6E:
- adds r0, r4, #0
- bl sub_0801FAF8
-_0801FA74:
- pop {r4, pc}
- .align 2, 0
-
- thumb_func_start sub_0801FA78
-sub_0801FA78: @ 0x0801FA78
- push {r4, lr}
- adds r4, r0, #0
- bl sub_08004274
- adds r0, r4, #0
- adds r0, #0x5a
- ldrb r1, [r0]
- movs r0, #0x80
- ands r0, r1
- cmp r0, #0
- beq _0801FAA8
- movs r0, #1
- strb r0, [r4, #0xc]
- ldrb r1, [r4, #0x18]
- subs r0, #5
- ands r0, r1
- strb r0, [r4, #0x18]
- adds r0, r4, #0
- movs r1, #4
- bl UpdateSprite
- adds r0, r4, #0
- bl sub_0804AA1C
-_0801FAA8:
- pop {r4, pc}
- .align 2, 0
-
- thumb_func_start sub_0801FAAC
-sub_0801FAAC: @ 0x0801FAAC
- push {r4, lr}
- adds r4, r0, #0
- movs r1, #0xc0
- lsls r1, r1, #5
- bl sub_08003FC4
- adds r0, r4, #0
- bl sub_08004274
- adds r0, r4, #0
- adds r0, #0x5a
- ldrb r1, [r0]
- movs r0, #0x80
- ands r0, r1
- cmp r0, #0
- beq _0801FADC
- adds r0, r4, #0
- bl sub_0801FB14
- movs r0, #0x20
- strh r0, [r4, #0x24]
- adds r0, r4, #0
- bl sub_0804AA1C
-_0801FADC:
- pop {r4, pc}
- .align 2, 0
-
- thumb_func_start sub_0801FAE0
-sub_0801FAE0: @ 0x0801FAE0
- push {lr}
- movs r1, #7
- strb r1, [r0, #0xc]
- ldrb r2, [r0, #0x10]
- movs r1, #0x7f
- ands r1, r2
- strb r1, [r0, #0x10]
- movs r1, #5
- bl UpdateSprite
- pop {pc}
- .align 2, 0
-
- thumb_func_start sub_0801FAF8
-sub_0801FAF8: @ 0x0801FAF8
- push {lr}
- movs r1, #2
- strb r1, [r0, #0xc]
- ldrb r2, [r0, #0x18]
- subs r1, #6
- ands r1, r2
- movs r2, #1
- orrs r1, r2
- strb r1, [r0, #0x18]
- movs r1, #4
- bl UpdateSprite
- pop {pc}
- .align 2, 0
-
- thumb_func_start sub_0801FB14
-sub_0801FB14: @ 0x0801FB14
- push {r4, lr}
- adds r4, r0, #0
- movs r0, #3
- strb r0, [r4, #0xc]
- movs r0, #0x1e
- strb r0, [r4, #0xf]
- adds r0, r4, #0
- movs r1, #1
- bl sub_08049F84
- strb r0, [r4, #0x15]
- adds r0, r4, #0
- movs r1, #2
- bl UpdateSprite
- pop {r4, pc}
-
- thumb_func_start sub_0801FB34
-sub_0801FB34: @ 0x0801FB34
- push {r4, lr}
- adds r4, r0, #0
- ldr r3, [r4, #0x68]
- cmp r3, #0
- beq _0801FB62
- ldr r2, _0801FB64 @ =gUnk_080CA2B4
- adds r0, #0x5a
- ldrb r1, [r0]
- movs r0, #0xf
- ands r0, r1
- adds r0, r0, r2
- movs r2, #0
- ldrsb r2, [r0, r2]
- adds r0, r4, #0
- adds r1, r3, #0
- movs r3, #1
- bl sub_0806FA90
- ldr r1, [r4, #0x68]
- adds r1, #0x63
- ldrb r0, [r1]
- subs r0, #1
- strb r0, [r1]
-_0801FB62:
- pop {r4, pc}
- .align 2, 0
-_0801FB64: .4byte gUnk_080CA2B4
-
- thumb_func_start sub_0801FB68
-sub_0801FB68: @ 0x0801FB68
- push {r4, lr}
- adds r4, r0, #0
- ldrb r0, [r4, #0xa]
- cmp r0, #1
- beq _0801FB88
- cmp r0, #1
- bgt _0801FB7C
- cmp r0, #0
- beq _0801FB82
- b _0801FBC8
-_0801FB7C:
- cmp r0, #2
- beq _0801FBB6
- b _0801FBC8
-_0801FB82:
- movs r0, #9
- strb r0, [r4, #0xc]
- b _0801FBC8
-_0801FB88:
- movs r0, #0xa
- strb r0, [r4, #0xc]
- ldrb r1, [r4, #0x10]
- movs r0, #0x80
- orrs r0, r1
- strb r0, [r4, #0x10]
- ldrb r1, [r4, #0x18]
- movs r0, #4
- rsbs r0, r0, #0
- ands r0, r1
- movs r1, #1
- orrs r0, r1
- strb r0, [r4, #0x18]
- adds r2, r4, #0
- adds r2, #0x29
- ldrb r1, [r2]
- movs r0, #0x39
- rsbs r0, r0, #0
- ands r0, r1
- movs r1, #0x18
- orrs r0, r1
- strb r0, [r2]
- b _0801FBC8
-_0801FBB6:
- movs r0, #0xa
- strb r0, [r4, #0xc]
- adds r1, r4, #0
- adds r1, #0x3f
- movs r0, #0x5c
- strb r0, [r1]
- adds r0, r4, #0
- bl sub_0804AA1C
-_0801FBC8:
- movs r0, #0
- str r0, [r4, #0x20]
- pop {r4, pc}
- .align 2, 0
-
- thumb_func_start sub_0801FBD0
-sub_0801FBD0: @ 0x0801FBD0
- push {lr}
- bl sub_080002B8
- cmp r0, #0x10
- beq _0801FBDE
- movs r0, #0
- b _0801FBE0
-_0801FBDE:
- movs r0, #1
-_0801FBE0:
- pop {pc}
- .align 2, 0
-
- thumb_func_start sub_0801FBE4
-sub_0801FBE4: @ 0x0801FBE4
- push {r4, lr}
- adds r4, r0, #0
- movs r0, #0xc0
- lsls r0, r0, #1
- strh r0, [r4, #0x24]
- movs r0, #0x80
- lsls r0, r0, #0xa
- str r0, [r4, #0x20]
- adds r0, r4, #0
- movs r1, #1
- bl sub_08049F84
- strb r0, [r4, #0x15]
- adds r0, r4, #0
- movs r1, #3
- bl UpdateSprite
- pop {r4, pc}
-
- thumb_func_start sub_0801FC08
-sub_0801FC08: @ 0x0801FC08
- push {r4, lr}
- adds r4, r0, #0
- ldr r1, _0801FC24 @ =gUnk_080CA49C
- bl sub_0800129E
- movs r3, #0x10
- rsbs r3, r3, #0
- adds r0, r4, #0
- movs r1, #0
- movs r2, #1
- bl sub_0804A9AC
- pop {r4, pc}
- .align 2, 0
-_0801FC24: .4byte gUnk_080CA49C
-
- thumb_func_start sub_0801FC28
-sub_0801FC28: @ 0x0801FC28
- push {lr}
- ldr r2, _0801FC3C @ =gUnk_080CA4B4
- ldrb r1, [r0, #0xc]
- lsls r1, r1, #2
- adds r1, r1, r2
- ldr r1, [r1]
- bl _call_via_r1
- pop {pc}
- .align 2, 0
-_0801FC3C: .4byte gUnk_080CA4B4
-
- thumb_func_start sub_0801FC40
-sub_0801FC40: @ 0x0801FC40
- push {r4, lr}
- adds r4, r0, #0
- adds r0, #0x41
- ldrb r0, [r0]
- cmp r0, #0x80
- bne _0801FC5C
- ldrb r0, [r4, #0xc]
- cmp r0, #3
- bne _0801FC6E
- adds r1, r4, #0
- adds r1, #0x74
- movs r0, #1
- strh r0, [r1]
- b _0801FC6E
-_0801FC5C:
- adds r0, r4, #0
- adds r0, #0x43
- ldrb r0, [r0]
- cmp r0, #0
- beq _0801FC6E
- adds r0, r4, #0
- movs r1, #0x1c
- bl sub_0804A9FC
-_0801FC6E:
- ldr r1, _0801FC78 @ =gUnk_080CA49C
- adds r0, r4, #0
- bl sub_0804AA30
- pop {r4, pc}
- .align 2, 0
-_0801FC78: .4byte gUnk_080CA49C
-
- thumb_func_start sub_0801FC7C
-sub_0801FC7C: @ 0x0801FC7C
- push {lr}
- adds r1, r0, #0
- ldrb r0, [r1, #0xa]
- cmp r0, #0
- bne _0801FC8E
- adds r0, r1, #0
- bl sub_0804A7D4
- b _0801FC98
-_0801FC8E:
- adds r0, r1, #0
- movs r1, #0xf1
- movs r2, #0
- bl sub_0804A7E0
-_0801FC98:
- pop {pc}
- .align 2, 0
-
- thumb_func_start sub_0801FC9C
-sub_0801FC9C: @ 0x0801FC9C
- push {r4, lr}
- adds r4, r0, #0
- bl sub_0804A720
- movs r0, #1
- strb r0, [r4, #0xc]
- bl Random
- strb r0, [r4, #0xe]
- pop {r4, pc}
-
- thumb_func_start sub_0801FCB0
-sub_0801FCB0: @ 0x0801FCB0
- push {r4, r5, lr}
- adds r5, r0, #0
- ldrb r0, [r5, #0xe]
- subs r0, #1
- strb r0, [r5, #0xe]
- lsls r0, r0, #0x18
- cmp r0, #0
- bne _0801FD28
- bl Random
- movs r1, #0x1f
- ands r1, r0
- adds r0, r5, #0
- bl sub_0801FE68
- cmp r0, #0
- beq _0801FD1C
- movs r0, #2
- strb r0, [r5, #0xc]
- ldrb r1, [r5, #0x18]
- subs r0, #6
- ands r0, r1
- movs r1, #1
- orrs r0, r1
- strb r0, [r5, #0x18]
- ldr r0, _0801FD14 @ =gUnk_020000B0
- ldr r1, [r0]
- adds r0, r5, #0
- bl sub_080045C4
- adds r4, r0, #0
- bl Random
- ldr r2, _0801FD18 @ =gUnk_080CA4C8
- movs r1, #1
- ands r1, r0
- adds r1, r1, r2
- ldrb r0, [r1]
- adds r0, r0, r4
- movs r1, #0x1f
- ands r0, r1
- strb r0, [r5, #0x15]
- adds r0, r5, #0
- movs r1, #0
- bl UpdateSprite
- adds r0, r5, #0
- bl UpdateSpriteOrderAndFlip
- b _0801FD28
- .align 2, 0
-_0801FD14: .4byte gUnk_020000B0
-_0801FD18: .4byte gUnk_080CA4C8
-_0801FD1C:
- bl Random
- movs r1, #0x18
- ands r0, r1
- adds r0, #8
- strb r0, [r5, #0xe]
-_0801FD28:
- pop {r4, r5, pc}
- .align 2, 0
-
- thumb_func_start sub_0801FD2C
-sub_0801FD2C: @ 0x0801FD2C
- push {r4, lr}
- adds r4, r0, #0
- bl sub_08004274
- adds r2, r4, #0
- adds r2, #0x5a
- ldrb r1, [r2]
- movs r0, #0x80
- ands r0, r1
- cmp r0, #0
- beq _0801FD66
- movs r0, #3
- strb r0, [r4, #0xc]
- ldrb r0, [r4, #0xa]
- cmp r0, #0
- bne _0801FD54
- adds r1, r4, #0
- adds r1, #0x74
- movs r0, #0xb4
- b _0801FD5A
-_0801FD54:
- adds r1, r4, #0
- adds r1, #0x74
- movs r0, #0x6e
-_0801FD5A:
- strh r0, [r1]
- adds r0, r4, #0
- movs r1, #2
- bl UpdateSprite
- b _0801FD7C
-_0801FD66:
- movs r0, #1
- ands r0, r1
- cmp r0, #0
- beq _0801FD7C
- movs r0, #0xfe
- ands r0, r1
- strb r0, [r2]
- ldrb r0, [r4, #0x10]
- movs r1, #0x80
- orrs r0, r1
- strb r0, [r4, #0x10]
-_0801FD7C:
- pop {r4, pc}
- .align 2, 0
-
- thumb_func_start sub_0801FD80
-sub_0801FD80: @ 0x0801FD80
- push {r4, lr}
- adds r4, r0, #0
- bl sub_0801FED4
- adds r0, r4, #0
- bl sub_08004274
- adds r1, r4, #0
- adds r1, #0x74
- ldrh r0, [r1]
- subs r0, #1
- strh r0, [r1]
- lsls r0, r0, #0x10
- cmp r0, #0
- bne _0801FDB2
- movs r0, #4
- strb r0, [r4, #0xc]
- ldrb r1, [r4, #0x10]
- movs r0, #0x7f
- ands r0, r1
- strb r0, [r4, #0x10]
- adds r0, r4, #0
- movs r1, #1
- bl UpdateSprite
-_0801FDB2:
- pop {r4, pc}
-
- thumb_func_start sub_0801FDB4
-sub_0801FDB4: @ 0x0801FDB4
- push {r4, lr}
- adds r4, r0, #0
- bl sub_0801FED4
- adds r0, r4, #0
- bl sub_08004274
- adds r0, r4, #0
- adds r0, #0x5a
- ldrb r1, [r0]
- movs r0, #0x80
- ands r0, r1
- cmp r0, #0
- beq _0801FDE0
- movs r0, #1
- strb r0, [r4, #0xc]
- movs r0, #0xf0
- strb r0, [r4, #0xe]
- ldrb r1, [r4, #0x18]
- subs r0, #0xf4
- ands r0, r1
- strb r0, [r4, #0x18]
-_0801FDE0:
- pop {r4, pc}
- .align 2, 0
-
- thumb_func_start sub_0801FDE4
-sub_0801FDE4: @ 0x0801FDE4
- push {r4, r5, r6, r7, lr}
- adds r6, r0, #0
- adds r4, r1, #0
- adds r5, r2, #0
- ldr r7, _0801FE04 @ =gUnk_020000B0
- ldr r0, [r7]
- adds r0, #0x38
- ldrb r2, [r0]
- adds r0, r4, #0
- adds r1, r5, #0
- bl sub_080002D4
- cmp r0, #0
- beq _0801FE34
- b _0801FE5C
- .align 2, 0
-_0801FE04: .4byte gUnk_020000B0
-_0801FE08:
- movs r0, #0x10
- rsbs r0, r0, #0
- adds r1, r0, #0
- ands r4, r1
- adds r0, r4, #0
- adds r0, #8
- strh r0, [r6, #0x2e]
- ands r5, r1
- adds r0, r5, #0
- adds r0, #8
- strh r0, [r6, #0x32]
- ldr r0, _0801FE30 @ =gUnk_020000B0
- ldr r0, [r0]
- adds r0, #0x38
- ldrb r1, [r0]
- adds r0, r6, #0
- adds r0, #0x38
- strb r1, [r0]
- movs r0, #1
- b _0801FE5E
- .align 2, 0
-_0801FE30: .4byte gUnk_020000B0
-_0801FE34:
- ldr r0, [r7]
- adds r0, #0x38
- ldrb r2, [r0]
- adds r0, r4, #0
- adds r1, r5, #0
- bl sub_080002BC
- adds r3, r0, #0
- ldr r1, _0801FE60 @ =gUnk_080CA4CA
- ldrh r0, [r1]
- ldr r2, _0801FE64 @ =0x0000FFFF
- cmp r0, r2
- beq _0801FE5C
-_0801FE4E:
- ldrh r0, [r1]
- adds r1, #2
- cmp r0, r3
- beq _0801FE08
- ldrh r0, [r1]
- cmp r0, r2
- bne _0801FE4E
-_0801FE5C:
- movs r0, #0
-_0801FE5E:
- pop {r4, r5, r6, r7, pc}
- .align 2, 0
-_0801FE60: .4byte gUnk_080CA4CA
-_0801FE64: .4byte 0x0000FFFF
-
- thumb_func_start sub_0801FE68
-sub_0801FE68: @ 0x0801FE68
- push {r4, r5, r6, r7, lr}
- mov r7, sb
- mov r6, r8
- push {r6, r7}
- adds r7, r0, #0
- adds r6, r1, #0
- movs r1, #1
- bl sub_08049FDC
- cmp r0, #0
- bne _0801FE82
-_0801FE7E:
- movs r0, #0
- b _0801FEC4
-_0801FE82:
- ldr r0, _0801FECC @ =gUnk_020000B0
- ldr r0, [r0]
- ldr r5, [r0, #0x2c]
- ldr r4, [r0, #0x30]
- ldr r1, _0801FED0 @ =gUnk_080C9160
- lsls r0, r6, #4
- adds r0, r0, r1
- movs r2, #0
- ldrsh r0, [r0, r2]
- lsls r0, r0, #0xb
- mov sb, r0
- lsls r0, r6, #4
- adds r0, #0x80
- adds r0, r0, r1
- movs r1, #0
- ldrsh r0, [r0, r1]
- lsls r0, r0, #0xb
- mov r8, r0
- movs r6, #0
-_0801FEA8:
- add r5, sb
- mov r2, r8
- subs r4, r4, r2
- asrs r1, r5, #0x10
- asrs r2, r4, #0x10
- adds r0, r7, #0
- bl sub_0801FDE4
- cmp r0, #0
- beq _0801FE7E
- adds r6, #1
- cmp r6, #7
- bls _0801FEA8
- movs r0, #1
-_0801FEC4:
- pop {r3, r4}
- mov r8, r3
- mov sb, r4
- pop {r4, r5, r6, r7, pc}
- .align 2, 0
-_0801FECC: .4byte gUnk_020000B0
-_0801FED0: .4byte gUnk_080C9160
-
- thumb_func_start sub_0801FED4
-sub_0801FED4: @ 0x0801FED4
- push {r4, lr}
- adds r4, r0, #0
- movs r1, #1
- bl sub_08049FDC
- cmp r0, #0
- bne _0801FEEA
- adds r1, r4, #0
- adds r1, #0x74
- movs r0, #1
- strh r0, [r1]
-_0801FEEA:
- adds r0, r4, #0
- adds r0, #0x5a
- ldrb r0, [r0]
- movs r2, #0xf
- adds r1, r2, #0
- ands r1, r0
- lsls r1, r1, #5
- strh r1, [r4, #0x24]
- ldrb r0, [r4, #0xa]
- cmp r0, #0
- bne _0801FF28
- ldrb r1, [r4, #0xf]
- adds r0, r1, #1
- strb r0, [r4, #0xf]
- adds r0, r2, #0
- ands r0, r1
- cmp r0, #0
- bne _0801FF4E
- ldr r0, _0801FF24 @ =gUnk_020000B0
- ldr r1, [r0]
- adds r0, r4, #0
- bl sub_0800132C
- adds r1, r0, #0
- adds r0, r4, #0
- bl sub_08004596
- b _0801FF4E
- .align 2, 0
-_0801FF24: .4byte gUnk_020000B0
-_0801FF28:
- adds r0, r1, #0
- adds r0, #0x40
- strh r0, [r4, #0x24]
- ldrb r1, [r4, #0xf]
- adds r0, r1, #1
- strb r0, [r4, #0xf]
- movs r0, #7
- ands r0, r1
- cmp r0, #0
- bne _0801FF4E
- ldr r0, _0801FF58 @ =gUnk_020000B0
- ldr r1, [r0]
- adds r0, r4, #0
- bl sub_0800132C
- adds r1, r0, #0
- adds r0, r4, #0
- bl sub_08004596
-_0801FF4E:
- adds r0, r4, #0
- bl sub_080AEF88
- pop {r4, pc}
- .align 2, 0
-_0801FF58: .4byte gUnk_020000B0
-
- thumb_func_start sub_0801FF5C
-sub_0801FF5C: @ 0x0801FF5C
- push {r4, lr}
- adds r4, r0, #0
- ldrb r0, [r4, #0xa]
- cmp r0, #0
- bne _0801FF84
- ldr r1, _0801FF80 @ =gUnk_080CA570
- adds r0, r4, #0
- bl sub_0800129E
- movs r3, #0x10
- rsbs r3, r3, #0
- adds r0, r4, #0
- movs r1, #0
- movs r2, #1
- bl sub_0804A9AC
- b _0801FF94
- .align 2, 0
-_0801FF80: .4byte gUnk_080CA570
-_0801FF84:
- ldr r0, _0801FF98 @ =gUnk_080CA588
- ldrb r1, [r4, #0xc]
- lsls r1, r1, #2
- adds r1, r1, r0
- ldr r1, [r1]
- adds r0, r4, #0
- bl _call_via_r1
-_0801FF94:
- pop {r4, pc}
- .align 2, 0
-_0801FF98: .4byte gUnk_080CA588
-
- thumb_func_start sub_0801FF9C
-sub_0801FF9C: @ 0x0801FF9C
- push {r4, lr}
- adds r4, r0, #0
- ldr r1, _0801FFD4 @ =gUnk_080CA590
- ldrb r0, [r4, #0xc]
- lsls r0, r0, #2
- adds r0, r0, r1
- ldr r1, [r0]
- adds r0, r4, #0
- bl _call_via_r1
- adds r0, r4, #0
- adds r0, #0x81
- ldrb r0, [r0]
- cmp r0, #0
- beq _0801FFD2
- ldr r2, _0801FFD8 @ =gUnk_080CA5B8
- ldrb r1, [r4, #0xf]
- adds r0, r1, #1
- strb r0, [r4, #0xf]
- movs r0, #0x30
- ands r0, r1
- lsrs r0, r0, #4
- adds r0, r0, r2
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- strh r0, [r4, #0x36]
-_0801FFD2:
- pop {r4, pc}
- .align 2, 0
-_0801FFD4: .4byte gUnk_080CA590
-_0801FFD8: .4byte gUnk_080CA5B8
-
- thumb_func_start sub_0801FFDC
-sub_0801FFDC: @ 0x0801FFDC
- push {r4, r5, r6, lr}
- adds r4, r0, #0
- adds r6, r4, #0
- adds r6, #0x82
- ldrb r0, [r6]
- cmp r0, #0
- beq _08020068
- adds r0, r4, #0
- adds r0, #0x41
- ldrb r1, [r0]
- cmp r1, #0x94
- bne _08020018
- movs r0, #3
- movs r1, #1
- bl CreateEnemy
- adds r5, r0, #0
- cmp r5, #0
- beq _08020010
- adds r0, r4, #0
- adds r1, r5, #0
- bl CopyPosition
- ldrh r0, [r5, #0x36]
- subs r0, #8
- strh r0, [r5, #0x36]
-_08020010:
- movs r0, #0
- strb r0, [r6]
- movs r0, #2
- b _0802001E
-_08020018:
- cmp r1, #0x9b
- bne _08020042
- movs r0, #1
-_0802001E:
- strb r0, [r4, #0x14]
- movs r0, #5
- strb r0, [r4, #0xc]
- movs r1, #0
- movs r0, #0x80
- strh r0, [r4, #0x24]
- adds r2, r4, #0
- adds r2, #0x3d
- movs r0, #0xe2
- strb r0, [r2]
- adds r0, r4, #0
- adds r0, #0x81
- strb r1, [r0]
- ldrb r1, [r4, #0x14]
- adds r0, r4, #0
- bl UpdateSprite
- b _08020068
-_08020042:
- cmp r1, #0x80
- bne _08020068
- ldrb r0, [r4, #0x14]
- cmp r0, #0
- bne _08020068
- movs r0, #1
- strb r0, [r4, #0xc]
- movs r0, #0x1e
- strb r0, [r4, #0xe]
- strh r1, [r4, #0x24]
- movs r0, #0xff
- strb r0, [r4, #0x15]
- adds r1, r4, #0
- adds r1, #0x83
- movs r0, #0x78
- strb r0, [r1]
- adds r0, r4, #0
- bl sub_08004274
-_08020068:
- adds r0, r4, #0
- adds r0, #0x43
- ldrb r0, [r0]
- cmp r0, #0
- beq _0802007A
- adds r0, r4, #0
- movs r1, #0x1c
- bl sub_0804A9FC
-_0802007A:
- ldr r1, _08020084 @ =gUnk_080CA570
- adds r0, r4, #0
- bl sub_0804AA30
- pop {r4, r5, r6, pc}
- .align 2, 0
-_08020084: .4byte gUnk_080CA570
-
- thumb_func_start sub_08020088
-sub_08020088: @ 0x08020088
- push {r4, lr}
- adds r4, r0, #0
- ldrb r0, [r4, #0xd]
- cmp r0, #2
- bhi _0802009C
- adds r0, r4, #0
- bl sub_0806F520
- cmp r0, #0
- beq _080200AC
-_0802009C:
- ldr r0, _080200B0 @ =gUnk_080CA5BC
- ldrb r1, [r4, #0xd]
- lsls r1, r1, #2
- adds r1, r1, r0
- ldr r1, [r1]
- adds r0, r4, #0
- bl _call_via_r1
-_080200AC:
- pop {r4, pc}
- .align 2, 0
-_080200B0: .4byte gUnk_080CA5BC
-
- thumb_func_start sub_080200B4
-sub_080200B4: @ 0x080200B4
- push {lr}
- adds r2, r0, #0
- movs r1, #1
- strb r1, [r2, #0xd]
- movs r0, #0x3c
- strb r0, [r2, #0x1d]
- ldrb r3, [r2, #0x14]
- cmp r3, #0
- bne _080200E2
- strb r1, [r2, #0x14]
- movs r0, #5
- strb r0, [r2, #0xc]
- adds r1, r2, #0
- adds r1, #0x3f
- movs r0, #0x71
- strb r0, [r1]
- adds r0, r2, #0
- adds r0, #0x81
- strb r3, [r0]
- ldrb r1, [r2, #0x14]
- adds r0, r2, #0
- bl UpdateSprite
-_080200E2:
- pop {pc}
-
- thumb_func_start sub_080200E4
-sub_080200E4: @ 0x080200E4
- push {lr}
- bl sub_0806F4E8
- pop {pc}
-
- thumb_func_start sub_080200EC
-sub_080200EC: @ 0x080200EC
- push {lr}
- bl sub_0806F3E4
- pop {pc}
-
- thumb_func_start sub_080200F4
-sub_080200F4: @ 0x080200F4
- ldrb r2, [r0, #0x10]
- movs r1, #0x7f
- ands r1, r2
- strb r1, [r0, #0x10]
- bx lr
- .align 2, 0
-
- thumb_func_start nullsub_5
-nullsub_5: @ 0x08020100
- bx lr
- .align 2, 0
-
- thumb_func_start sub_08020104
-sub_08020104: @ 0x08020104
- push {lr}
- adds r2, r0, #0
- ldrb r3, [r2, #0x10]
- movs r0, #0x80
- ands r0, r3
- lsls r0, r0, #0x18
- lsrs r1, r0, #0x18
- cmp r1, #0
- beq _08020128
- movs r0, #0x80
- orrs r0, r3
- strb r0, [r2, #0x10]
- adds r2, #0x3a
- ldrb r1, [r2]
- movs r0, #0xfb
- ands r0, r1
- strb r0, [r2]
- b _0802012E
-_08020128:
- adds r0, r2, #0
- adds r0, #0x45
- strb r1, [r0]
-_0802012E:
- pop {pc}
-
- thumb_func_start sub_08020130
-sub_08020130: @ 0x08020130
- push {r4, r5, lr}
- adds r4, r0, #0
- bl sub_0804A720
- movs r5, #1
- strb r5, [r4, #0xc]
- movs r0, #0x10
- strb r0, [r4, #0xe]
- bl Random
- strb r0, [r4, #0xf]
- bl Random
- movs r1, #0x1f
- ands r0, r1
- strb r0, [r4, #0x15]
- movs r0, #0x12
- strb r0, [r4, #0x1c]
- bl Random
- ands r0, r5
- movs r1, #0xfe
- cmp r0, #0
- beq _08020162
- movs r1, #2
-_08020162:
- adds r0, r4, #0
- adds r0, #0x80
- strb r1, [r0]
- adds r0, #1
- strb r5, [r0]
- adds r0, #1
- strb r5, [r0]
- movs r0, #0
- strb r0, [r4, #0x14]
- adds r0, r4, #0
- movs r1, #0
- bl UpdateSprite
- pop {r4, r5, pc}
- .align 2, 0
-
- thumb_func_start sub_08020180
-sub_08020180: @ 0x08020180
- push {r4, r5, lr}
- adds r4, r0, #0
- adds r5, r4, #0
- adds r5, #0x83
- ldrb r0, [r5]
- cmp r0, #0
- beq _08020192
- subs r0, #1
- strb r0, [r5]
-_08020192:
- adds r0, r4, #0
- movs r1, #1
- bl sub_08049FDC
- cmp r0, #0
- beq _080201D4
- ldrb r0, [r5]
- cmp r0, #0
- bne _080201D4
- ldrb r1, [r4, #0xf]
- movs r0, #0xf
- ands r0, r1
- cmp r0, #0
- bne _080201D4
- ldr r0, _0802021C @ =gUnk_020000B0
- ldr r1, [r0]
- adds r0, r4, #0
- movs r2, #0x30
- bl sub_08049F1C
- cmp r0, #0
- beq _080201D4
- movs r0, #2
- strb r0, [r4, #0xc]
- bl Random
- movs r1, #3
- ands r0, r1
- strb r0, [r4, #0xd]
- movs r0, #0x3c
- strb r0, [r4, #0xe]
- movs r0, #0xa0
- strh r0, [r4, #0x24]
-_080201D4:
- ldrb r0, [r4, #0xe]
- subs r0, #1
- strb r0, [r4, #0xe]
- lsls r0, r0, #0x18
- cmp r0, #0
- bne _0802020C
- movs r0, #0x10
- strb r0, [r4, #0xe]
- adds r0, r4, #0
- bl sub_08020604
- bl Random
- movs r1, #3
- ands r1, r0
- cmp r1, #0
- bne _0802020C
- bl Random
- movs r1, #1
- ands r1, r0
- movs r2, #0xfe
- cmp r1, #0
- beq _08020206
- movs r2, #2
-_08020206:
- adds r0, r4, #0
- adds r0, #0x80
- strb r2, [r0]
-_0802020C:
- adds r0, r4, #0
- bl sub_080AEFE0
- adds r0, r4, #0
- bl sub_08004274
- pop {r4, r5, pc}
- .align 2, 0
-_0802021C: .4byte gUnk_020000B0
-
- thumb_func_start sub_08020220
-sub_08020220: @ 0x08020220
- push {r4, r5, lr}
- adds r5, r0, #0
- movs r1, #1
- bl sub_08049FDC
- cmp r0, #0
- beq _08020284
- ldrb r0, [r5, #0xe]
- subs r1, r0, #1
- strb r1, [r5, #0xe]
- lsls r0, r1, #0x18
- cmp r0, #0
- beq _0802024C
- lsrs r0, r0, #0x1c
- movs r1, #3
- ands r0, r1
- movs r1, #4
- subs r1, r1, r0
- adds r0, r5, #0
- bl sub_08004276
- b _08020292
-_0802024C:
- movs r0, #3
- strb r0, [r5, #0xc]
- movs r0, #0x78
- strb r0, [r5, #0xe]
- movs r0, #0xc0
- strh r0, [r5, #0x24]
- ldr r0, _0802027C @ =gUnk_020000B0
- ldr r1, [r0]
- adds r0, r5, #0
- bl sub_080045C4
- adds r4, r0, #0
- bl Random
- ldr r2, _08020280 @ =gUnk_080CA5D4
- movs r1, #1
- ands r1, r0
- adds r1, r1, r2
- ldrb r0, [r1]
- adds r0, r0, r4
- movs r1, #0x1f
- ands r0, r1
- strb r0, [r5, #0x15]
- b _0802028A
- .align 2, 0
-_0802027C: .4byte gUnk_020000B0
-_08020280: .4byte gUnk_080CA5D4
-_08020284:
- adds r0, r5, #0
- bl sub_080205F8
-_0802028A:
- adds r0, r5, #0
- movs r1, #4
- bl sub_08004276
-_08020292:
- pop {r4, r5, pc}
-
- thumb_func_start sub_08020294
-sub_08020294: @ 0x08020294
- push {r4, lr}
- adds r4, r0, #0
- movs r1, #1
- bl sub_08049FDC
- cmp r0, #0
- beq _080202F8
- ldrb r0, [r4, #0xe]
- subs r0, #1
- strb r0, [r4, #0xe]
- lsls r0, r0, #0x18
- cmp r0, #0
- bne _080202B4
- adds r0, r4, #0
- bl sub_080205F8
-_080202B4:
- ldrb r1, [r4, #0xe]
- cmp r1, #0x3c
- bls _080202E6
- movs r0, #1
- ands r0, r1
- cmp r0, #0
- beq _080202C8
- ldrh r0, [r4, #0x24]
- adds r0, #4
- strh r0, [r4, #0x24]
-_080202C8:
- ldr r0, _080202F0 @ =gUnk_030010A0
- ldr r0, [r0]
- movs r1, #3
- ands r0, r1
- cmp r0, #0
- bne _080202E6
- ldr r0, _080202F4 @ =gUnk_020000B0
- ldr r1, [r0]
- adds r0, r4, #0
- bl sub_080045C4
- adds r1, r0, #0
- adds r0, r4, #0
- bl sub_08004596
-_080202E6:
- adds r0, r4, #0
- bl sub_080AEFE0
- b _080202FE
- .align 2, 0
-_080202F0: .4byte gUnk_030010A0
-_080202F4: .4byte gUnk_020000B0
-_080202F8:
- adds r0, r4, #0
- bl sub_080205F8
-_080202FE:
- adds r0, r4, #0
- movs r1, #4
- bl sub_08004276
- pop {r4, pc}
-
- thumb_func_start sub_08020308
-sub_08020308: @ 0x08020308
- push {r4, lr}
- adds r4, r0, #0
- ldrb r0, [r4, #0xe]
- subs r1, r0, #1
- strb r1, [r4, #0xe]
- lsls r0, r1, #0x18
- cmp r0, #0
- bne _08020332
- movs r0, #1
- strb r0, [r4, #0xc]
- strb r0, [r4, #0xe]
- movs r0, #0x80
- strh r0, [r4, #0x24]
- adds r1, r4, #0
- adds r1, #0x83
- movs r0, #0x78
- strb r0, [r1]
- adds r0, r4, #0
- bl sub_08004274
- b _0802034E
-_08020332:
- movs r0, #1
- ands r1, r0
- cmp r1, #0
- beq _08020340
- ldrh r0, [r4, #0x24]
- subs r0, #8
- strh r0, [r4, #0x24]
-_08020340:
- adds r0, r4, #0
- bl sub_080AEFE0
- adds r0, r4, #0
- movs r1, #4
- bl sub_08004276
-_0802034E:
- pop {r4, pc}
-
- thumb_func_start sub_08020350
-sub_08020350: @ 0x08020350
- push {r4, lr}
- adds r4, r0, #0
- ldrb r0, [r4, #0x14]
- cmp r0, #2
- beq _08020398
- movs r1, #0xc0
- lsls r1, r1, #5
- adds r0, r4, #0
- bl sub_080044EC
- cmp r0, #0
- bne _0802037C
- movs r0, #6
- strb r0, [r4, #0xc]
- movs r0, #0xf0
- strb r0, [r4, #0xe]
- movs r0, #0xa
- strb r0, [r4, #0xf]
- adds r1, r4, #0
- adds r1, #0x3f
- movs r0, #0x71
- strb r0, [r1]
-_0802037C:
- ldrb r0, [r4, #0x15]
- cmp r0, #0xff
- bne _0802038A
- adds r0, r4, #0
- adds r0, #0x3e
- ldrb r0, [r0]
- strb r0, [r4, #0x15]
-_0802038A:
- adds r0, r4, #0
- bl sub_080AEF88
- adds r0, r4, #0
- bl sub_08004274
- b _080203BE
-_08020398:
- movs r1, #0xe0
- lsls r1, r1, #5
- adds r0, r4, #0
- bl sub_08003FC4
- movs r1, #0x36
- ldrsh r0, [r4, r1]
- cmp r0, #0
- bne _080203BE
- movs r0, #7
- strb r0, [r4, #0xc]
- movs r0, #0x96
- strb r0, [r4, #0xe]
- movs r0, #0xa
- strb r0, [r4, #0xf]
- adds r1, r4, #0
- adds r1, #0x3f
- movs r0, #0x71
- strb r0, [r1]
-_080203BE:
- pop {r4, pc}
-
- thumb_func_start sub_080203C0
-sub_080203C0: @ 0x080203C0
- push {r4, lr}
- adds r4, r0, #0
- ldrb r0, [r4, #0xf]
- cmp r0, #0
- beq _080203DC
- subs r0, #1
- strb r0, [r4, #0xf]
- lsls r0, r0, #0x18
- cmp r0, #0
- bne _080203DC
- adds r0, r4, #0
- movs r1, #0x1c
- bl sub_0804A9FC
-_080203DC:
- adds r0, r4, #0
- bl sub_0800442E
- cmp r0, #0
- bne _080203F2
- ldrb r0, [r4, #0xe]
- subs r0, #1
- strb r0, [r4, #0xe]
- lsls r0, r0, #0x18
- cmp r0, #0
- bne _08020418
-_080203F2:
- movs r0, #9
- strb r0, [r4, #0xc]
- movs r0, #0xc0
- lsls r0, r0, #9
- str r0, [r4, #0x20]
- bl Random
- movs r1, #0x1f
- ands r0, r1
- strb r0, [r4, #0x15]
- adds r0, r4, #0
- bl sub_0804AA1C
- movs r0, #5
- strb r0, [r4, #0x14]
- adds r0, r4, #0
- movs r1, #5
- bl UpdateSprite
-_08020418:
- pop {r4, pc}
- .align 2, 0
-
- thumb_func_start sub_0802041C
-sub_0802041C: @ 0x0802041C
- push {r4, lr}
- adds r4, r0, #0
- ldrb r0, [r4, #0xf]
- cmp r0, #0
- beq _08020438
- subs r0, #1
- strb r0, [r4, #0xf]
- lsls r0, r0, #0x18
- cmp r0, #0
- bne _08020438
- adds r0, r4, #0
- movs r1, #0x1c
- bl sub_0804A9FC
-_08020438:
- adds r0, r4, #0
- bl sub_0800442E
- cmp r0, #0
- bne _0802044E
- ldrb r0, [r4, #0xe]
- subs r0, #1
- strb r0, [r4, #0xe]
- lsls r0, r0, #0x18
- cmp r0, #0
- bne _08020466
-_0802044E:
- movs r0, #8
- strb r0, [r4, #0xc]
- movs r0, #0xf0
- strb r0, [r4, #0xe]
- bl Random
- movs r1, #0x1f
- ands r0, r1
- strb r0, [r4, #0x15]
- adds r0, r4, #0
- bl sub_0804AA1C
-_08020466:
- pop {r4, pc}
-
- thumb_func_start sub_08020468
-sub_08020468: @ 0x08020468
- push {r4, r5, lr}
- adds r4, r0, #0
- bl sub_08004274
- ldrb r0, [r4, #0xe]
- subs r0, #1
- strb r0, [r4, #0xe]
- lsls r0, r0, #0x18
- cmp r0, #0
- bne _080204A6
- adds r0, r4, #0
- adds r0, #0x5a
- ldrb r1, [r0]
- movs r0, #0x80
- ands r0, r1
- cmp r0, #0
- beq _080204A2
- movs r0, #9
- strb r0, [r4, #0xc]
- movs r0, #0xc0
- lsls r0, r0, #9
- str r0, [r4, #0x20]
- movs r0, #4
- strb r0, [r4, #0x14]
- adds r0, r4, #0
- movs r1, #4
- bl UpdateSprite
- b _080204A6
-_080204A2:
- movs r0, #1
- strb r0, [r4, #0xe]
-_080204A6:
- adds r5, r4, #0
- adds r5, #0x5a
- ldrb r1, [r5]
- movs r0, #2
- ands r0, r1
- cmp r0, #0
- beq _080204C4
- movs r0, #0xfd
- ands r0, r1
- strb r0, [r5]
- bl Random
- movs r1, #0x1f
- ands r0, r1
- strb r0, [r4, #0x15]
-_080204C4:
- ldrb r1, [r5]
- movs r0, #1
- ands r0, r1
- cmp r0, #0
- beq _080204D6
- adds r0, r4, #0
- bl sub_0800442E
- b _080204DC
-_080204D6:
- adds r0, r4, #0
- bl sub_080AEF88
-_080204DC:
- pop {r4, r5, pc}
- .align 2, 0
-
- thumb_func_start sub_080204E0
-sub_080204E0: @ 0x080204E0
- push {r4, lr}
- adds r4, r0, #0
- bl sub_08004274
- adds r0, r4, #0
- adds r0, #0x5a
- ldrb r1, [r0]
- movs r0, #0x80
- ands r0, r1
- cmp r0, #0
- beq _0802051A
- movs r2, #0
- movs r1, #1
- strb r1, [r4, #0xc]
- adds r3, r4, #0
- adds r3, #0x3f
- movs r0, #0x70
- strb r0, [r3]
- adds r0, r4, #0
- adds r0, #0x82
- strb r1, [r0]
- subs r0, #1
- strb r1, [r0]
- strb r2, [r4, #0x14]
- adds r0, r4, #0
- movs r1, #0
- bl UpdateSprite
- b _0802053A
-_0802051A:
- movs r0, #1
- ands r0, r1
- cmp r0, #0
- beq _0802052A
- adds r0, r4, #0
- bl sub_0800442E
- b _0802053A
-_0802052A:
- movs r1, #0xe0
- lsls r1, r1, #5
- adds r0, r4, #0
- bl sub_08003FC4
- adds r0, r4, #0
- bl sub_080AEF88
-_0802053A:
- pop {r4, pc}
-
- thumb_func_start sub_0802053C
-sub_0802053C: @ 0x0802053C
- push {r4, lr}
- adds r4, r0, #0
- movs r1, #1
- movs r0, #1
- strb r0, [r4, #0xc]
- movs r0, #0xf0
- strb r0, [r4, #0xe]
- movs r0, #0x28
- strb r0, [r4, #0xf]
- ldrb r0, [r4, #0x18]
- movs r2, #4
- rsbs r2, r2, #0
- ands r2, r0
- orrs r2, r1
- ldrb r3, [r4, #0x19]
- movs r1, #0x3f
- adds r0, r1, #0
- ands r0, r3
- movs r3, #0x40
- orrs r0, r3
- strb r0, [r4, #0x19]
- ldrb r0, [r4, #0x1b]
- ands r1, r0
- orrs r1, r3
- strb r1, [r4, #0x1b]
- movs r0, #0x31
- rsbs r0, r0, #0
- ands r2, r0
- strb r2, [r4, #0x18]
- movs r0, #0x20
- strh r0, [r4, #0x24]
- bl Random
- movs r1, #0x10
- ands r0, r1
- adds r0, #8
- strb r0, [r4, #0x15]
- adds r0, r4, #0
- movs r1, #3
- bl UpdateSprite
- pop {r4, pc}
-
- thumb_func_start sub_08020590
-sub_08020590: @ 0x08020590
- push {r4, r5, lr}
- adds r4, r0, #0
- bl sub_08004274
- ldrb r0, [r4, #0xe]
- subs r1, r0, #1
- strb r1, [r4, #0xe]
- movs r5, #0xff
- lsls r0, r1, #0x18
- cmp r0, #0
- bne _080205AE
- adds r0, r4, #0
- bl sub_0805E7BC
- b _080205F2
-_080205AE:
- lsls r0, r1, #0x18
- lsrs r0, r0, #0x18
- cmp r0, #0x3b
- bhi _080205C8
- ldrb r2, [r4, #0x18]
- lsls r1, r2, #0x1e
- lsrs r1, r1, #0x1e
- movs r0, #1
- eors r1, r0
- subs r0, #5
- ands r0, r2
- orrs r0, r1
- strb r0, [r4, #0x18]
-_080205C8:
- ldr r0, [r4, #0x34]
- ldr r1, _080205F4 @ =0xFFFF4000
- adds r0, r0, r1
- str r0, [r4, #0x34]
- adds r0, r4, #0
- bl sub_0806F69C
- ldrb r0, [r4, #0xf]
- subs r0, #1
- strb r0, [r4, #0xf]
- ands r0, r5
- cmp r0, #0
- bne _080205F2
- movs r0, #0x28
- strb r0, [r4, #0xf]
- bl Random
- movs r1, #0x10
- ands r0, r1
- adds r0, #8
- strb r0, [r4, #0x15]
-_080205F2:
- pop {r4, r5, pc}
- .align 2, 0
-_080205F4: .4byte 0xFFFF4000
-
- thumb_func_start sub_080205F8
-sub_080205F8: @ 0x080205F8
- movs r1, #4
- strb r1, [r0, #0xc]
- movs r1, #0x3c
- strb r1, [r0, #0xe]
- bx lr
- .align 2, 0
-
- thumb_func_start sub_08020604
-sub_08020604: @ 0x08020604
- push {r4, lr}
- adds r4, r0, #0
- bl sub_08049FA0
- cmp r0, #0
- bne _08020624
- bl Random
- movs r1, #3
- ands r1, r0
- cmp r1, #0
- beq _08020624
- adds r0, r4, #0
- bl sub_08049EE4
- b _08020632
-_08020624:
- adds r0, r4, #0
- adds r0, #0x80
- ldrb r0, [r0]
- ldrb r1, [r4, #0x15]
- adds r0, r0, r1
- movs r1, #0x1f
- ands r0, r1
-_08020632:
- strb r0, [r4, #0x15]
- pop {r4, pc}
- .align 2, 0
-
- thumb_func_start sub_08020638
-sub_08020638: @ 0x08020638
- push {lr}
- ldr r1, _08020644 @ =gUnk_080CA66C
- bl sub_0800129E
- pop {pc}
- .align 2, 0
-_08020644: .4byte gUnk_080CA66C
-
- thumb_func_start sub_08020648
-sub_08020648: @ 0x08020648
- push {r4, lr}
- adds r4, r0, #0
- bl sub_08020AD0
- ldr r1, _08020664 @ =gUnk_080CA684
- ldrb r0, [r4, #0xc]
- lsls r0, r0, #2
- adds r0, r0, r1
- ldr r1, [r0]
- adds r0, r4, #0
- bl _call_via_r1
- pop {r4, pc}
- .align 2, 0
-_08020664: .4byte gUnk_080CA684
-
- thumb_func_start sub_08020668
-sub_08020668: @ 0x08020668
- push {r4, r5, lr}
- adds r4, r0, #0
- adds r2, r4, #0
- adds r2, #0x3f
- ldrb r0, [r2]
- cmp r0, #0x22
- bne _080206A2
- adds r1, r4, #0
- adds r1, #0x45
- ldrb r0, [r1]
- cmp r0, #0xff
- beq _080206A2
- movs r0, #4
- strb r0, [r4, #0xc]
- movs r0, #0x80
- lsls r0, r0, #0xa
- str r0, [r4, #0x20]
- movs r0, #0xff
- strb r0, [r4, #0x15]
- movs r0, #1
- rsbs r0, r0, #0
- strb r0, [r1]
- movs r0, #0x23
- strb r0, [r2]
- ldrb r1, [r4, #0x14]
- adds r1, #8
- adds r0, r4, #0
- bl UpdateSprite
-_080206A2:
- adds r0, r4, #0
- adds r0, #0x41
- ldrb r1, [r0]
- adds r5, r0, #0
- cmp r1, #0x80
- beq _080206D0
- ldrb r0, [r4, #0xc]
- subs r0, #4
- lsls r0, r0, #0x18
- lsrs r0, r0, #0x18
- cmp r0, #1
- bhi _080206D0
- movs r0, #4
- strb r0, [r4, #0xc]
- movs r0, #0xb4
- strb r0, [r4, #0xe]
- movs r0, #0xff
- strb r0, [r4, #0x15]
- ldrb r1, [r4, #0x14]
- adds r1, #0x10
- adds r0, r4, #0
- bl UpdateSprite
-_080206D0:
- ldrb r0, [r5]
- cmp r0, #0x93
- bne _080206DC
- adds r0, r4, #0
- bl sub_08020648
-_080206DC:
- pop {r4, r5, pc}
- .align 2, 0
-
- thumb_func_start sub_080206E0
-sub_080206E0: @ 0x080206E0
- push {r4, r5, lr}
- adds r4, r0, #0
- bl sub_08020AD0
- cmp r0, #0
- beq _080206F6
- adds r1, r4, #0
- adds r1, #0x42
- movs r0, #0
- strb r0, [r1]
- b _08020730
-_080206F6:
- adds r0, r4, #0
- bl sub_08020B6C
- cmp r0, #0
- beq _0802072A
- adds r1, r4, #0
- adds r1, #0x42
- ldrb r0, [r1]
- subs r0, #1
- strb r0, [r1]
- adds r5, r4, #0
- adds r5, #0x3e
- ldrb r1, [r5]
- adds r0, r4, #0
- movs r2, #0xa
- bl sub_080AE58C
- adds r0, r4, #0
- adds r0, #0x46
- ldrh r1, [r0]
- ldrb r2, [r5]
- adds r0, r4, #0
- movs r3, #0xa
- bl sub_080AE7E8
- b _08020730
-_0802072A:
- adds r0, r4, #0
- bl sub_08001324
-_08020730:
- pop {r4, r5, pc}
- .align 2, 0
-
- thumb_func_start sub_08020734
-sub_08020734: @ 0x08020734
- push {r4, lr}
- adds r4, r0, #0
- ldrb r0, [r4, #0xd]
- cmp r0, #2
- bhi _08020764
- adds r0, r4, #0
- bl sub_0806F520
- cmp r0, #0
- bne _08020764
- movs r0, #4
- strb r0, [r4, #0xc]
- ldrb r1, [r4, #0x10]
- movs r0, #0x80
- orrs r0, r1
- strb r0, [r4, #0x10]
- movs r0, #0xff
- strb r0, [r4, #0x15]
- ldrb r1, [r4, #0x14]
- adds r1, #0x10
- adds r0, r4, #0
- bl UpdateSprite
- b _08020774
-_08020764:
- ldr r0, _08020778 @ =gUnk_080CA6A4
- ldrb r1, [r4, #0xd]
- lsls r1, r1, #2
- adds r1, r1, r0
- ldr r1, [r1]
- adds r0, r4, #0
- bl _call_via_r1
-_08020774:
- pop {r4, pc}
- .align 2, 0
-_08020778: .4byte gUnk_080CA6A4
-
- thumb_func_start sub_0802077C
-sub_0802077C: @ 0x0802077C
- movs r1, #1
- strb r1, [r0, #0xd]
- movs r1, #0x3c
- strb r1, [r0, #0x1d]
- bx lr
- .align 2, 0
-
- thumb_func_start sub_08020788
-sub_08020788: @ 0x08020788
- push {lr}
- bl sub_0806F4E8
- pop {pc}
-
- thumb_func_start sub_08020790
-sub_08020790: @ 0x08020790
- push {lr}
- bl sub_0806F3E4
- pop {pc}
-
- thumb_func_start sub_08020798
-sub_08020798: @ 0x08020798
- ldrb r2, [r0, #0x10]
- movs r1, #0x7f
- ands r1, r2
- strb r1, [r0, #0x10]
- bx lr
- .align 2, 0
-
- thumb_func_start nullsub_6
-nullsub_6: @ 0x080207A4
- bx lr
- .align 2, 0
-
- thumb_func_start sub_080207A8
-sub_080207A8: @ 0x080207A8
- push {lr}
- movs r3, #4
- movs r1, #4
- strb r1, [r0, #0xc]
- ldrb r2, [r0, #0x10]
- movs r1, #0x80
- orrs r1, r2
- strb r1, [r0, #0x10]
- movs r1, #0x29
- adds r1, r1, r0
- mov ip, r1
- ldrb r2, [r1]
- movs r1, #8
- rsbs r1, r1, #0
- ands r1, r2
- orrs r1, r3
- mov r2, ip
- strb r1, [r2]
- adds r3, r0, #0
- adds r3, #0x3a
- ldrb r2, [r3]
- movs r1, #0xfb
- ands r1, r2
- strb r1, [r3]
- ldrb r1, [r0, #0x15]
- movs r2, #0x10
- eors r1, r2
- strb r1, [r0, #0x15]
- movs r1, #0xc0
- lsls r1, r1, #9
- str r1, [r0, #0x20]
- movs r1, #0x80
- strh r1, [r0, #0x24]
- ldrb r1, [r0, #0x14]
- adds r1, #0x10
- bl UpdateSprite
- pop {pc}
-
- thumb_func_start sub_080207F4
-sub_080207F4: @ 0x080207F4
- push {r4, lr}
- adds r4, r0, #0
- bl sub_0804A720
- movs r1, #0
- movs r0, #0x30
- strb r0, [r4, #0x16]
- movs r0, #0x12
- strb r0, [r4, #0x1c]
- adds r0, r4, #0
- adds r0, #0x84
- strb r1, [r0]
- bl Random
- movs r1, #0x18
- ands r0, r1
- strb r0, [r4, #0x15]
- adds r0, r4, #0
- bl sub_08020A30
- pop {r4, pc}
- .align 2, 0
-
- thumb_func_start sub_08020820
-sub_08020820: @ 0x08020820
- push {r4, r5, lr}
- adds r4, r0, #0
- bl sub_08004274
- adds r2, r4, #0
- adds r2, #0x5a
- ldrb r1, [r2]
- movs r5, #1
- adds r0, r5, #0
- ands r0, r1
- cmp r0, #0
- beq _0802084A
- movs r0, #0xfe
- ands r0, r1
- strb r0, [r2]
- adds r0, r4, #0
- bl sub_080AEF88
- cmp r0, #0
- bne _0802084A
- strb r5, [r4, #0xe]
-_0802084A:
- adds r2, r4, #0
- adds r2, #0x5a
- ldrb r1, [r2]
- movs r0, #0x10
- ands r0, r1
- cmp r0, #0
- beq _08020872
- movs r0, #0xef
- ands r0, r1
- strb r0, [r2]
- ldrb r0, [r4, #0xe]
- subs r0, #1
- strb r0, [r4, #0xe]
- lsls r0, r0, #0x18
- cmp r0, #0
- bne _08020872
- movs r0, #3
- strb r0, [r4, #0xc]
- movs r0, #0x3c
- strb r0, [r4, #0xe]
-_08020872:
- pop {r4, r5, pc}
-
- thumb_func_start sub_08020874
-sub_08020874: @ 0x08020874
- push {lr}
- ldr r2, _08020888 @ =gUnk_080CA6BC
- ldrb r1, [r0, #0xd]
- lsls r1, r1, #2
- adds r1, r1, r2
- ldr r1, [r1]
- bl _call_via_r1
- pop {pc}
- .align 2, 0
-_08020888: .4byte gUnk_080CA6BC
-
- thumb_func_start sub_0802088C
-sub_0802088C: @ 0x0802088C
- movs r1, #1
- strb r1, [r0, #0xd]
- ldrb r2, [r0, #0x10]
- movs r1, #0x7f
- ands r1, r2
- strb r1, [r0, #0x10]
- ldr r1, _080208B0 @ =gLinkEntity
- ldrb r1, [r1, #0x14]
- adds r2, r0, #0
- adds r2, #0x85
- strb r1, [r2]
- adds r0, #0x29
- ldrb r2, [r0]
- movs r1, #0x39
- rsbs r1, r1, #0
- ands r1, r2
- strb r1, [r0]
- bx lr
- .align 2, 0
-_080208B0: .4byte gLinkEntity
-
- thumb_func_start sub_080208B4
-sub_080208B4: @ 0x080208B4
- push {r4, r5, lr}
- adds r2, r0, #0
- adds r4, r2, #0
- adds r4, #0x85
- ldrb r0, [r4]
- ldr r5, _080208EC @ =gLinkEntity
- ldrb r1, [r5, #0x14]
- subs r0, r0, r1
- lsrs r1, r0, #0x1f
- adds r0, r0, r1
- asrs r0, r0, #1
- lsls r0, r0, #0x18
- lsrs r1, r0, #0x18
- cmp r0, #0
- beq _080208E6
- ldrb r0, [r2, #0x14]
- adds r0, r0, r1
- movs r1, #3
- ands r0, r1
- strb r0, [r2, #0x14]
- ldrb r1, [r2, #0x14]
- adds r1, #0x10
- adds r0, r2, #0
- bl UpdateSprite
-_080208E6:
- ldrb r0, [r5, #0x14]
- strb r0, [r4]
- pop {r4, r5, pc}
- .align 2, 0
-_080208EC: .4byte gLinkEntity
-
- thumb_func_start sub_080208F0
-sub_080208F0: @ 0x080208F0
- adds r0, #0x29
- ldrb r2, [r0]
- movs r1, #0x39
- rsbs r1, r1, #0
- ands r1, r2
- movs r2, #0x18
- orrs r1, r2
- strb r1, [r0]
- bx lr
- .align 2, 0
-
- thumb_func_start sub_08020904
-sub_08020904: @ 0x08020904
- push {lr}
- movs r1, #4
- strb r1, [r0, #0xc]
- ldrb r2, [r0, #0x10]
- movs r1, #0x80
- orrs r1, r2
- strb r1, [r0, #0x10]
- movs r1, #0xff
- strb r1, [r0, #0x15]
- ldrb r1, [r0, #0x14]
- adds r1, #0x10
- bl UpdateSprite
- pop {pc}
-
- thumb_func_start sub_08020920
-sub_08020920: @ 0x08020920
- push {lr}
- adds r1, r0, #0
- ldrb r0, [r1, #0xe]
- subs r0, #1
- strb r0, [r1, #0xe]
- lsls r0, r0, #0x18
- cmp r0, #0
- bne _08020936
- adds r0, r1, #0
- bl sub_08020A30
-_08020936:
- pop {pc}
-
- thumb_func_start sub_08020938
-sub_08020938: @ 0x08020938
- push {r4, r5, lr}
- adds r4, r0, #0
- adds r0, #0x5a
- ldrb r1, [r0]
- movs r5, #0x80
- adds r0, r5, #0
- ands r0, r1
- cmp r0, #0
- bne _08020950
- adds r0, r4, #0
- bl sub_08004274
-_08020950:
- movs r1, #0xa0
- lsls r1, r1, #6
- adds r0, r4, #0
- bl sub_080044EC
- cmp r0, #0
- bne _08020980
- ldrb r0, [r4, #0xe]
- subs r0, #1
- strb r0, [r4, #0xe]
- lsls r0, r0, #0x18
- cmp r0, #0
- bne _08020978
- movs r0, #5
- strb r0, [r4, #0xc]
- ldrb r1, [r4, #0x14]
- adds r1, #0xc
- adds r0, r4, #0
- bl UpdateSprite
-_08020978:
- adds r0, r4, #0
- bl sub_08078930
- b _0802099C
-_08020980:
- cmp r0, #1
- bne _0802098C
- movs r0, #0x82
- lsls r0, r0, #1
- bl sub_08004488
-_0802098C:
- ldrb r1, [r4, #0x15]
- adds r0, r5, #0
- ands r0, r1
- cmp r0, #0
- bne _0802099C
- adds r0, r4, #0
- bl sub_080AEFE0
-_0802099C:
- pop {r4, r5, pc}
- .align 2, 0
-
- thumb_func_start sub_080209A0
-sub_080209A0: @ 0x080209A0
- push {r4, lr}
- adds r4, r0, #0
- bl sub_08004274
- adds r0, r4, #0
- adds r0, #0x5a
- ldrb r1, [r0]
- movs r0, #0x80
- ands r0, r1
- cmp r0, #0
- beq _080209E2
- ldrb r1, [r4, #0x10]
- movs r0, #0x80
- orrs r0, r1
- strb r0, [r4, #0x10]
- movs r0, #0x80
- lsls r0, r0, #1
- strh r0, [r4, #0x24]
- adds r1, r4, #0
- adds r1, #0x3f
- movs r0, #0x22
- strb r0, [r1]
- adds r0, r4, #0
- bl sub_08020A30
- ldrb r0, [r4, #0x14]
- lsls r0, r0, #3
- strb r0, [r4, #0x15]
- ldrb r1, [r4, #0x14]
- adds r0, r4, #0
- bl UpdateSprite
- b _080209F0
-_080209E2:
- movs r0, #1
- ands r0, r1
- cmp r0, #0
- bne _080209F0
- adds r0, r4, #0
- bl sub_08078930
-_080209F0:
- pop {r4, pc}
- .align 2, 0
-
- thumb_func_start sub_080209F4
-sub_080209F4: @ 0x080209F4
- push {r4, lr}
- adds r4, r0, #0
- movs r1, #0xe0
- lsls r1, r1, #5
- bl sub_08003FC4
- cmp r0, #0
- bne _08020A14
- movs r1, #7
- movs r0, #7
- strb r0, [r4, #0xc]
- adds r2, r4, #0
- adds r2, #0x29
- ldrb r0, [r2]
- orrs r0, r1
- strb r0, [r2]
-_08020A14:
- adds r0, r4, #0
- adds r0, #0x5a
- ldrb r0, [r0]
- cmp r0, #0
- bne _08020A24
- adds r0, r4, #0
- bl sub_08004274
-_08020A24:
- pop {r4, pc}
- .align 2, 0
-
- thumb_func_start sub_08020A28
-sub_08020A28: @ 0x08020A28
- push {lr}
- bl sub_08004274
- pop {pc}
-
- thumb_func_start sub_08020A30
-sub_08020A30: @ 0x08020A30
- push {r4, r5, lr}
- adds r4, r0, #0
- adds r5, r4, #0
- adds r5, #0x84
- ldrb r0, [r5]
- cmp r0, #1
- bhi _08020A68
- bl Random
- ldr r2, _08020A64 @ =gUnk_080CA6CC
- movs r1, #7
- ands r1, r0
- adds r1, r1, r2
- ldrb r0, [r1]
- strb r0, [r4, #0xe]
- cmp r0, #0
- bne _08020A68
- movs r0, #3
- strb r0, [r4, #0xc]
- movs r0, #0x3c
- strb r0, [r4, #0xe]
- ldrb r0, [r5]
- adds r0, #1
- strb r0, [r5]
- b _08020A7A
- .align 2, 0
-_08020A64: .4byte gUnk_080CA6CC
-_08020A68:
- movs r0, #0
- movs r1, #1
- strb r1, [r4, #0xc]
- adds r1, r4, #0
- adds r1, #0x84
- strb r0, [r1]
- adds r0, r4, #0
- bl sub_08020A7C
-_08020A7A:
- pop {r4, r5, pc}
-
- thumb_func_start sub_08020A7C
-sub_08020A7C: @ 0x08020A7C
- push {r4, r5, r6, lr}
- adds r6, r0, #0
- bl Random
- ldrb r5, [r6, #0x15]
- ldr r4, _08020ACC @ =gUnk_080CA6D4
- movs r1, #3
- bl __modsi3
- adds r0, r0, r4
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- adds r5, r5, r0
- movs r4, #0x18
- ands r5, r4
- adds r0, r6, #0
- bl sub_08049FA0
- cmp r0, #0
- bne _08020ABA
- adds r0, r6, #0
- bl sub_08049EE4
- adds r0, #4
- ands r0, r4
- movs r1, #0x10
- eors r1, r5
- cmp r1, r0
- bne _08020ABA
- adds r5, r1, #0
-_08020ABA:
- strb r5, [r6, #0x15]
- lsrs r0, r5, #3
- strb r0, [r6, #0x14]
- ldrb r1, [r6, #0x14]
- adds r0, r6, #0
- bl UpdateSprite
- pop {r4, r5, r6, pc}
- .align 2, 0
-_08020ACC: .4byte gUnk_080CA6D4
-
- thumb_func_start sub_08020AD0
-sub_08020AD0: @ 0x08020AD0
- push {r4, r5, r6, lr}
- adds r4, r0, #0
- bl sub_08020B6C
- cmp r0, #0
- beq _08020B68
- movs r1, #0x36
- ldrsh r0, [r4, r1]
- cmp r0, #0
- bne _08020B68
- movs r1, #0x2e
- ldrsh r0, [r4, r1]
- ldr r3, _08020B5C @ =gRoomControls
- ldrh r1, [r3, #6]
- subs r0, r0, r1
- asrs r5, r0, #4
- movs r2, #0x3f
- ands r5, r2
- movs r1, #0x32
- ldrsh r0, [r4, r1]
- ldrh r1, [r3, #8]
- subs r0, r0, r1
- asrs r0, r0, #4
- ands r0, r2
- lsls r0, r0, #6
- orrs r5, r0
- adds r6, r4, #0
- adds r6, #0x38
- ldrb r1, [r6]
- adds r0, r5, #0
- bl sub_080002B0
- lsls r0, r0, #0x10
- ldr r1, _08020B60 @ =0xFF8F0000
- adds r0, r0, r1
- lsrs r0, r0, #0x10
- cmp r0, #1
- bhi _08020B68
- movs r0, #6
- strb r0, [r4, #0xc]
- ldrb r1, [r4, #0x10]
- movs r0, #0x7f
- ands r0, r1
- strb r0, [r4, #0x10]
- ldrh r2, [r4, #0x2e]
- movs r1, #0x10
- rsbs r1, r1, #0
- adds r0, r1, #0
- ands r0, r2
- adds r0, #8
- strh r0, [r4, #0x2e]
- ldrh r0, [r4, #0x32]
- ands r1, r0
- adds r1, #0xd
- strh r1, [r4, #0x32]
- movs r0, #0x80
- lsls r0, r0, #0xa
- str r0, [r4, #0x20]
- ldrb r1, [r4, #0x14]
- adds r1, #0x14
- adds r0, r4, #0
- bl UpdateSprite
- ldr r0, _08020B64 @ =0x00004034
- ldrb r2, [r6]
- adds r1, r5, #0
- bl UpdateCollisionLayer
- movs r0, #1
- b _08020B6A
- .align 2, 0
-_08020B5C: .4byte gRoomControls
-_08020B60: .4byte 0xFF8F0000
-_08020B64: .4byte 0x00004034
-_08020B68:
- movs r0, #0
-_08020B6A:
- pop {r4, r5, r6, pc}
-
- thumb_func_start sub_08020B6C
-sub_08020B6C: @ 0x08020B6C
- push {lr}
- adds r0, #0x58
- ldrb r0, [r0]
- subs r0, #0x10
- cmp r0, #3
- bls _08020B7C
- movs r0, #0
- b _08020B7E
-_08020B7C:
- movs r0, #1
-_08020B7E:
- pop {pc}
-
- thumb_func_start sub_08020B80
-sub_08020B80: @ 0x08020B80
- push {r4, lr}
- adds r4, r0, #0
- ldr r1, _08020B9C @ =gUnk_080CAA98
- bl sub_0800129E
- movs r3, #0x16
- rsbs r3, r3, #0
- adds r0, r4, #0
- movs r1, #0
- movs r2, #1
- bl sub_0804A9AC
- pop {r4, pc}
- .align 2, 0
-_08020B9C: .4byte gUnk_080CAA98
-
- thumb_func_start sub_08020BA0
-sub_08020BA0: @ 0x08020BA0
- push {lr}
- ldr r2, _08020BB4 @ =gUnk_080CAAB0
- ldrb r1, [r0, #0xc]
- lsls r1, r1, #2
- adds r1, r1, r2
- ldr r1, [r1]
- bl _call_via_r1
- pop {pc}
- .align 2, 0
-_08020BB4: .4byte gUnk_080CAAB0
-
- thumb_func_start sub_08020BB8
-sub_08020BB8: @ 0x08020BB8
- push {r4, r5, r6, lr}
- adds r4, r0, #0
- adds r0, #0x41
- ldrb r0, [r0]
- movs r2, #0x7f
- adds r1, r2, #0
- ands r1, r0
- cmp r1, #0x1c
- beq _08020BE0
- cmp r1, #0x1c
- bgt _08020BD4
- cmp r1, #0x16
- beq _08020C24
- b _08020D32
-_08020BD4:
- cmp r1, #0x4b
- beq _08020C68
- cmp r1, #0x4c
- bne _08020BDE
- b _08020CF0
-_08020BDE:
- b _08020D32
-_08020BE0:
- movs r0, #0xb
- strb r0, [r4, #0xc]
- ldr r1, _08020C20 @ =gUnk_080CAB0C
- ldrb r0, [r4, #0xa]
- adds r0, r0, r1
- ldrb r0, [r0]
- strb r0, [r4, #0xe]
- adds r1, r4, #0
- adds r1, #0x3f
- movs r0, #0x51
- strb r0, [r1]
- adds r0, r4, #0
- adds r0, #0x3e
- ldrb r0, [r0]
- movs r2, #0x10
- eors r2, r0
- adds r2, #4
- movs r0, #0x18
- ands r2, r0
- asrs r2, r2, #3
- adds r0, r4, #0
- movs r1, #8
- bl sub_08021218
- adds r0, r4, #0
- bl sub_08021588
- adds r0, r4, #0
- movs r1, #0x1c
- bl sub_0804A9FC
- b _08020CE2
- .align 2, 0
-_08020C20: .4byte gUnk_080CAB0C
-_08020C24:
- movs r0, #0xb
- strb r0, [r4, #0xc]
- ldr r1, _08020C64 @ =gUnk_080CAB10
- ldrb r0, [r4, #0xa]
- adds r0, r0, r1
- ldrb r0, [r0]
- strb r0, [r4, #0xe]
- adds r1, r4, #0
- adds r1, #0x3f
- movs r0, #0x51
- strb r0, [r1]
- adds r0, r4, #0
- adds r0, #0x3e
- ldrb r0, [r0]
- movs r2, #0x10
- eors r2, r0
- adds r2, #4
- movs r0, #0x18
- ands r2, r0
- asrs r2, r2, #3
- adds r0, r4, #0
- movs r1, #8
- bl sub_08021218
- adds r0, r4, #0
- bl sub_08021588
- adds r0, r4, #0
- movs r1, #0x1c
- bl sub_0804A9FC
- b _08020CE2
- .align 2, 0
-_08020C64: .4byte gUnk_080CAB10
-_08020C68:
- ldrb r0, [r4, #0xc]
- adds r6, r4, #0
- adds r6, #0x45
- adds r5, r4, #0
- adds r5, #0x78
- cmp r0, #0xd
- beq _08020D58
- cmp r0, #0xf
- beq _08020D58
- cmp r0, #0x13
- beq _08020D58
- cmp r0, #0x12
- beq _08020D58
- adds r0, r4, #0
- adds r0, #0x79
- ldrb r0, [r0]
- cmp r0, #4
- blt _08020CC0
- cmp r0, #6
- ble _08020CAC
- cmp r0, #0xc
- bgt _08020CC0
- cmp r0, #8
- blt _08020CC0
- ldr r0, _08020CA8 @ =gUnk_080CAB04
- ldrb r1, [r4, #0xa]
- adds r1, r1, r0
- ldrb r0, [r1]
- adds r1, r4, #0
- adds r1, #0x7a
- b _08020CC6
- .align 2, 0
-_08020CA8: .4byte gUnk_080CAB04
-_08020CAC:
- ldr r0, _08020CBC @ =gUnk_080CAB00
- ldrb r1, [r4, #0xa]
- adds r1, r1, r0
- ldrb r0, [r1]
- adds r1, r4, #0
- adds r1, #0x7a
- b _08020CC6
- .align 2, 0
-_08020CBC: .4byte gUnk_080CAB00
-_08020CC0:
- adds r1, r4, #0
- adds r1, #0x7a
- movs r0, #0
-_08020CC6:
- strb r0, [r1]
- movs r0, #0xa
- strb r0, [r4, #0xc]
- ldrb r2, [r4, #0x14]
- adds r0, r4, #0
- movs r1, #0xb
- bl sub_08021218
- ldr r0, _08020CEC @ =0x0000015D
- bl sub_08004488
- adds r0, r4, #0
- bl sub_08021588
-_08020CE2:
- adds r6, r4, #0
- adds r6, #0x45
- adds r5, r4, #0
- adds r5, #0x78
- b _08020D58
- .align 2, 0
-_08020CEC: .4byte 0x0000015D
-_08020CF0:
- ldrb r0, [r4, #0xc]
- adds r6, r4, #0
- adds r6, #0x45
- adds r5, r4, #0
- adds r5, #0x78
- cmp r0, #0xf
- bne _08020D58
- movs r1, #0xff
- ldr r0, [r4, #0x54]
- cmp r0, #0
- beq _08020D0E
- adds r0, #0x41
- ldrb r0, [r0]
- adds r1, r2, #0
- ands r1, r0
-_08020D0E:
- cmp r1, #2
- bne _08020D28
- ldr r0, _08020D24 @ =gUnk_080CAB08
- ldrb r1, [r4, #0xa]
- adds r1, r1, r0
- ldrb r1, [r1]
- adds r0, r4, #0
- bl sub_080213D0
- b _08020D58
- .align 2, 0
-_08020D24: .4byte gUnk_080CAB08
-_08020D28:
- adds r0, r4, #0
- movs r1, #0
- bl sub_080213D0
- b _08020D58
-_08020D32:
- adds r2, r4, #0
- adds r2, #0x45
- adds r0, r4, #0
- adds r0, #0x78
- ldrb r1, [r2]
- adds r6, r2, #0
- adds r5, r0, #0
- ldrb r0, [r5]
- cmp r1, r0
- beq _08020D58
- adds r0, r4, #0
- bl sub_08021588
- adds r0, r4, #0
- bl sub_08021390
- adds r0, r4, #0
- bl sub_0804AA1C
-_08020D58:
- ldrb r0, [r6]
- strb r0, [r5]
- ldr r1, _08020D68 @ =gUnk_080CAA98
- adds r0, r4, #0
- bl sub_0804AA30
- pop {r4, r5, r6, pc}
- .align 2, 0
-_08020D68: .4byte gUnk_080CAA98
-
- thumb_func_start nullsub_129
-nullsub_129: @ 0x08020D6C
- bx lr
- .align 2, 0
-
- thumb_func_start sub_08020D70
-sub_08020D70: @ 0x08020D70
- push {r4, lr}
- adds r4, r0, #0
- bl sub_0804A720
- movs r1, #0
- movs r0, #1
- strb r0, [r4, #0xc]
- adds r0, r4, #0
- adds r0, #0x75
- strb r1, [r0]
- subs r0, #0x30
- ldrb r1, [r0]
- adds r0, #0x33
- strb r1, [r0]
- movs r0, #0xff
- strb r0, [r4, #0x14]
- adds r0, r4, #0
- movs r1, #0
- movs r2, #2
- bl sub_08021218
- pop {r4, pc}
-
- thumb_func_start sub_08020D9C
-sub_08020D9C: @ 0x08020D9C
- push {r4, lr}
- adds r4, r0, #0
- movs r1, #1
- bl sub_08049FDC
- cmp r0, #0
- beq _08020DB0
- adds r0, r4, #0
- bl sub_080213F0
-_08020DB0:
- pop {r4, pc}
- .align 2, 0
-
- thumb_func_start sub_08020DB4
-sub_08020DB4: @ 0x08020DB4
- push {r4, lr}
- adds r4, r0, #0
- bl sub_080042B8
- adds r0, r4, #0
- adds r0, #0x5a
- ldrb r1, [r0]
- movs r0, #0x80
- ands r0, r1
- cmp r0, #0
- beq _08020DD0
- adds r0, r4, #0
- bl sub_08021390
-_08020DD0:
- pop {r4, pc}
- .align 2, 0
-
- thumb_func_start sub_08020DD4
-sub_08020DD4: @ 0x08020DD4
- push {r4, lr}
- adds r4, r0, #0
- bl sub_080214FC
- cmp r0, #0
- beq _08020DE8
- adds r0, r4, #0
- bl sub_080213F0
- b _08020E26
-_08020DE8:
- adds r1, r4, #0
- adds r1, #0x76
- ldrh r0, [r1]
- subs r0, #1
- strh r0, [r1]
- lsls r0, r0, #0x10
- cmp r0, #0
- bne _08020E08
- movs r0, #5
- strb r0, [r4, #0xc]
- ldrb r2, [r4, #0x14]
- adds r0, r4, #0
- movs r1, #5
- bl sub_08021218
- b _08020E26
-_08020E08:
- ldrb r0, [r4, #0xe]
- subs r0, #1
- strb r0, [r4, #0xe]
- lsls r0, r0, #0x18
- cmp r0, #0
- bne _08020E1A
- adds r0, r4, #0
- bl sub_08021540
-_08020E1A:
- adds r0, r4, #0
- bl sub_080AEF88
- adds r0, r4, #0
- bl sub_080042B8
-_08020E26:
- pop {r4, pc}
-
- thumb_func_start sub_08020E28
-sub_08020E28: @ 0x08020E28
- push {r4, lr}
- adds r4, r0, #0
- bl sub_080042B8
- adds r0, r4, #0
- adds r0, #0x5a
- ldrb r1, [r0]
- movs r0, #0x80
- ands r0, r1
- cmp r0, #0
- beq _08020E44
- adds r0, r4, #0
- bl sub_080213B0
-_08020E44:
- pop {r4, pc}
- .align 2, 0
-
- thumb_func_start sub_08020E48
-sub_08020E48: @ 0x08020E48
- push {r4, lr}
- adds r4, r0, #0
- bl sub_080214FC
- cmp r0, #0
- beq _08020E5C
- adds r0, r4, #0
- bl sub_080213F0
- b _08020E76
-_08020E5C:
- adds r0, r4, #0
- bl sub_080042B8
- adds r0, r4, #0
- adds r0, #0x5a
- ldrb r1, [r0]
- movs r0, #0x80
- ands r0, r1
- cmp r0, #0
- beq _08020E76
- adds r0, r4, #0
- bl sub_080213B0
-_08020E76:
- pop {r4, pc}
-
- thumb_func_start sub_08020E78
-sub_08020E78: @ 0x08020E78
- push {r4, lr}
- adds r4, r0, #0
- bl sub_080042B8
- adds r0, r4, #0
- adds r0, #0x5a
- ldrb r1, [r0]
- movs r0, #0x80
- ands r0, r1
- cmp r0, #0
- beq _08020E94
- adds r0, r4, #0
- bl sub_08021390
-_08020E94:
- pop {r4, pc}
- .align 2, 0
-
- thumb_func_start sub_08020E98
-sub_08020E98: @ 0x08020E98
- push {r4, r5, lr}
- adds r4, r0, #0
- movs r1, #1
- movs r2, #0x38
- bl sub_08049F64
- cmp r0, #0
- beq _08020EF6
- ldr r5, _08020EDC @ =gUnk_020000B0
- ldr r1, [r5]
- adds r0, r4, #0
- bl sub_0802169C
- cmp r0, #0
- bne _08020ECA
- ldr r0, [r5]
- adds r1, r4, #0
- bl sub_080045C4
- strb r0, [r4, #0x15]
- adds r0, r4, #0
- bl sub_080AEF88
- cmp r0, #0
- bne _08020EE0
-_08020ECA:
- movs r0, #8
- strb r0, [r4, #0xc]
- ldrb r2, [r4, #0x14]
- adds r0, r4, #0
- movs r1, #7
- bl sub_08021218
- b _08020F26
- .align 2, 0
-_08020EDC: .4byte gUnk_020000B0
-_08020EE0:
- ldrb r0, [r4, #0x15]
- movs r1, #0x10
- eors r0, r1
- strb r0, [r4, #0x15]
- adds r0, r4, #0
- bl sub_0802124C
- adds r0, r4, #0
- bl sub_08021644
- b _08020F26
-_08020EF6:
- ldr r0, _08020F08 @ =gUnk_020000B0
- ldr r1, [r0]
- cmp r1, #0
- bne _08020F0C
- adds r0, r4, #0
- bl sub_08021414
- b _08020F26
- .align 2, 0
-_08020F08: .4byte gUnk_020000B0
-_08020F0C:
- adds r0, r4, #0
- bl sub_080045C4
- strb r0, [r4, #0x15]
- adds r0, r4, #0
- bl sub_080AEF88
- adds r0, r4, #0
- bl sub_0802124C
- adds r0, r4, #0
- bl sub_08021644
-_08020F26:
- pop {r4, r5, pc}
-
- thumb_func_start sub_08020F28
-sub_08020F28: @ 0x08020F28
- push {r4, lr}
- adds r4, r0, #0
- bl sub_080042B8
- adds r0, r4, #0
- adds r0, #0x5a
- ldrb r1, [r0]
- movs r0, #0x80
- ands r0, r1
- cmp r0, #0
- beq _08020F44
- adds r0, r4, #0
- bl sub_08021400
-_08020F44:
- pop {r4, pc}
- .align 2, 0
-
- thumb_func_start sub_08020F48
-sub_08020F48: @ 0x08020F48
- push {r4, r5, lr}
- adds r4, r0, #0
- movs r1, #1
- movs r2, #0x48
- bl sub_08049F64
- cmp r0, #0
- beq _08020FA4
- ldr r5, _08020F98 @ =gUnk_020000B0
- ldr r1, [r5]
- adds r0, r4, #0
- bl sub_08021664
- cmp r0, #0
- beq _08020F9C
- ldr r1, [r5]
- adds r0, r4, #0
- movs r2, #9
- bl sub_0804A044
- adds r2, r0, #0
- cmp r2, #0xff
- beq _08020F9C
- movs r0, #0xe
- strb r0, [r4, #0xc]
- lsrs r2, r2, #3
- adds r0, r4, #0
- movs r1, #0xd
- bl sub_08021218
- adds r0, r4, #0
- movs r1, #0
- movs r2, #1
- bl sub_0804A98C
- cmp r0, #0
- beq _08020FAA
- str r4, [r0, #0x50]
- str r0, [r4, #0x54]
- b _08020FAA
- .align 2, 0
-_08020F98: .4byte gUnk_020000B0
-_08020F9C:
- adds r0, r4, #0
- bl sub_08021424
- b _08020FAA
-_08020FA4:
- adds r0, r4, #0
- bl sub_08021390
-_08020FAA:
- pop {r4, r5, pc}
-
- thumb_func_start sub_08020FAC
-sub_08020FAC: @ 0x08020FAC
- push {lr}
- adds r2, r0, #0
- adds r0, #0x5a
- ldrb r1, [r0]
- movs r0, #0x80
- ands r0, r1
- cmp r0, #0
- beq _08020FDC
- adds r1, r2, #0
- adds r1, #0x7a
- ldrb r0, [r1]
- cmp r0, #0
- beq _08020FCC
- subs r0, #1
- strb r0, [r1]
- b _08020FE2
-_08020FCC:
- adds r1, r2, #0
- adds r1, #0x3d
- movs r0, #0xf8
- strb r0, [r1]
- adds r0, r2, #0
- bl sub_08021390
- b _08020FE2
-_08020FDC:
- adds r0, r2, #0
- bl sub_080042B8
-_08020FE2:
- pop {pc}
-
- thumb_func_start sub_08020FE4
-sub_08020FE4: @ 0x08020FE4
- push {r4, lr}
- adds r4, r0, #0
- bl sub_080042B8
- ldrb r0, [r4, #0xe]
- subs r0, #1
- strb r0, [r4, #0xe]
- lsls r0, r0, #0x18
- cmp r0, #0
- bne _0802100C
- movs r0, #0xc
- strb r0, [r4, #0xc]
- ldrb r2, [r4, #0x14]
- adds r0, r4, #0
- movs r1, #9
- bl sub_08021218
- adds r0, r4, #0
- bl sub_0804AA1C
-_0802100C:
- pop {r4, pc}
- .align 2, 0
-
- thumb_func_start sub_08021010
-sub_08021010: @ 0x08021010
- push {r4, lr}
- adds r4, r0, #0
- bl sub_080042B8
- adds r0, r4, #0
- adds r0, #0x5a
- ldrb r1, [r0]
- movs r0, #0x80
- ands r0, r1
- cmp r0, #0
- beq _08021034
- adds r1, r4, #0
- adds r1, #0x3f
- movs r0, #0x56
- strb r0, [r1]
- adds r0, r4, #0
- bl sub_080213F0
-_08021034:
- pop {r4, pc}
- .align 2, 0
-
- thumb_func_start sub_08021038
-sub_08021038: @ 0x08021038
- push {r4, r5, lr}
- adds r4, r0, #0
- ldr r0, [r4, #0x54]
- cmp r0, #0
- bne _08021066
- adds r0, r4, #0
- adds r0, #0x5a
- ldrb r0, [r0]
- cmp r0, #0
- beq _08021066
- adds r0, r4, #0
- movs r1, #0
- movs r2, #0
- bl sub_0804A98C
- cmp r0, #0
- beq _0802105E
- str r4, [r0, #0x50]
- str r0, [r4, #0x54]
-_0802105E:
- movs r0, #0x87
- lsls r0, r0, #1
- bl sub_08004488
-_08021066:
- adds r5, r4, #0
- adds r5, #0x5a
- ldrb r1, [r5]
- movs r0, #0x80
- ands r0, r1
- cmp r0, #0
- beq _08021090
- adds r0, r4, #0
- bl sub_08021588
- adds r1, r4, #0
- adds r1, #0x7c
- ldrb r0, [r1]
- cmp r0, #0
- beq _08021088
- subs r0, #1
- b _080210A2
-_08021088:
- adds r0, r4, #0
- bl sub_08021390
- b _080210A4
-_08021090:
- adds r0, r4, #0
- bl sub_080042B8
- ldrb r0, [r5]
- cmp r0, #4
- bne _080210A4
- adds r1, r4, #0
- adds r1, #0x3f
- movs r0, #0x51
-_080210A2:
- strb r0, [r1]
-_080210A4:
- pop {r4, r5, pc}
- .align 2, 0
-
- thumb_func_start sub_080210A8
-sub_080210A8: @ 0x080210A8
- push {r4, lr}
- adds r4, r0, #0
- bl sub_080042B8
- adds r2, r4, #0
- adds r2, #0x5a
- ldrb r1, [r2]
- movs r0, #1
- ands r0, r1
- cmp r0, #0
- beq _080210D4
- movs r0, #0
- strb r0, [r2]
- adds r0, r4, #0
- bl sub_08021588
- ldr r0, _080210D0 @ =0x0000015D
- bl sub_08004488
- b _080210E2
- .align 2, 0
-_080210D0: .4byte 0x0000015D
-_080210D4:
- movs r0, #0x80
- ands r0, r1
- cmp r0, #0
- beq _080210E2
- adds r0, r4, #0
- bl sub_08021390
-_080210E2:
- pop {r4, pc}
-
- thumb_func_start sub_080210E4
-sub_080210E4: @ 0x080210E4
- push {r4, lr}
- adds r4, r0, #0
- bl sub_080042B8
- adds r2, r4, #0
- adds r2, #0x5a
- ldrb r1, [r2]
- movs r0, #1
- ands r0, r1
- cmp r0, #0
- beq _0802111A
- movs r0, #0xfe
- ands r0, r1
- strb r0, [r2]
- adds r0, r4, #0
- movs r1, #0
- movs r2, #2
- bl sub_0804A98C
- cmp r0, #0
- beq _08021112
- str r4, [r0, #0x50]
- str r0, [r4, #0x54]
-_08021112:
- movs r0, #0x87
- lsls r0, r0, #1
- bl sub_08004488
-_0802111A:
- adds r0, r4, #0
- bl sub_08021644
- adds r0, r4, #0
- adds r0, #0x5a
- ldrb r1, [r0]
- movs r0, #0x10
- ands r0, r1
- cmp r0, #0
- beq _08021154
- adds r0, r4, #0
- bl sub_080AEF88
- cmp r0, #0
- beq _0802114A
- ldr r0, [r4, #0x54]
- cmp r0, #0
- beq _08021154
- adds r0, #0x41
- ldrb r1, [r0]
- movs r0, #0x80
- ands r0, r1
- cmp r0, #0
- beq _08021154
-_0802114A:
- adds r0, r4, #0
- movs r1, #0
- bl sub_080213D0
- b _0802116C
-_08021154:
- adds r1, r4, #0
- adds r1, #0x76
- ldrh r0, [r1]
- subs r0, #1
- strh r0, [r1]
- lsls r0, r0, #0x10
- cmp r0, #0
- bne _0802116C
- adds r0, r4, #0
- movs r1, #0
- bl sub_080213D0
-_0802116C:
- pop {r4, pc}
- .align 2, 0
-
- thumb_func_start sub_08021170
-sub_08021170: @ 0x08021170
- push {lr}
- adds r2, r0, #0
- adds r0, #0x5a
- ldrb r1, [r0]
- movs r0, #0x80
- ands r0, r1
- cmp r0, #0
- beq _08021198
- adds r1, r2, #0
- adds r1, #0x7b
- ldrb r0, [r1]
- cmp r0, #0
- beq _08021190
- subs r0, #1
- strb r0, [r1]
- b _0802119E
-_08021190:
- adds r0, r2, #0
- bl sub_08021390
- b _0802119E
-_08021198:
- adds r0, r2, #0
- bl sub_080042B8
-_0802119E:
- pop {pc}
-
- thumb_func_start sub_080211A0
-sub_080211A0: @ 0x080211A0
- push {r4, lr}
- adds r4, r0, #0
- bl sub_080214FC
- cmp r0, #0
- beq _080211B4
- adds r0, r4, #0
- bl sub_08021390
- b _080211CE
-_080211B4:
- adds r0, r4, #0
- bl sub_080042B8
- adds r0, r4, #0
- adds r0, #0x5a
- ldrb r1, [r0]
- movs r0, #0x80
- ands r0, r1
- cmp r0, #0
- beq _080211CE
- adds r0, r4, #0
- bl sub_080213B0
-_080211CE:
- pop {r4, pc}
-
- thumb_func_start sub_080211D0
-sub_080211D0: @ 0x080211D0
- push {r4, lr}
- adds r4, r0, #0
- bl sub_080042B8
- adds r0, r4, #0
- bl sub_0802159C
- adds r0, r4, #0
- adds r0, #0x5a
- ldrb r1, [r0]
- movs r0, #0x80
- ands r0, r1
- cmp r0, #0
- beq _080211F2
- adds r0, r4, #0
- bl sub_08021390
-_080211F2:
- pop {r4, pc}
-
- thumb_func_start sub_080211F4
-sub_080211F4: @ 0x080211F4
- push {r4, lr}
- adds r4, r0, #0
- bl sub_080042B8
- adds r0, r4, #0
- bl sub_08021600
- adds r0, r4, #0
- adds r0, #0x5a
- ldrb r1, [r0]
- movs r0, #0x80
- ands r0, r1
- cmp r0, #0
- beq _08021216
- adds r0, r4, #0
- bl sub_08021390
-_08021216:
- pop {r4, pc}
-
- thumb_func_start sub_08021218
-sub_08021218: @ 0x08021218
- push {r4, lr}
- adds r3, r0, #0
- adds r4, r3, #0
- adds r4, #0x74
- ldrb r0, [r4]
- cmp r0, r1
- bne _0802122C
- ldrb r0, [r3, #0x14]
- cmp r0, r2
- beq _08021244
-_0802122C:
- strb r2, [r3, #0x14]
- strb r1, [r4]
- lsls r0, r1, #1
- ldr r1, _08021248 @ =gUnk_080CAB14
- adds r0, r0, r1
- ldrb r1, [r0, #1]
- strh r1, [r3, #0x12]
- ldrb r1, [r0]
- adds r1, r1, r2
- adds r0, r3, #0
- bl LoadAnimation
-_08021244:
- pop {r4, pc}
- .align 2, 0
-_08021248: .4byte gUnk_080CAB14
-
- thumb_func_start sub_0802124C
-sub_0802124C: @ 0x0802124C
- push {r4, lr}
- adds r4, r0, #0
- ldrb r0, [r4, #0x14]
- ldrb r1, [r4, #0x15]
- bl sub_08021274
- adds r2, r0, #0
- cmp r2, #0xff
- beq _0802126C
- adds r0, r4, #0
- adds r0, #0x74
- ldrb r1, [r0]
- adds r0, r4, #0
- bl sub_08021218
- b _08021272
-_0802126C:
- adds r0, r4, #0
- bl sub_080042B8
-_08021272:
- pop {r4, pc}
-
- thumb_func_start sub_08021274
-sub_08021274: @ 0x08021274
- push {lr}
- adds r2, r0, #0
- movs r0, #7
- ands r0, r1
- subs r0, #3
- cmp r0, #2
- bhi _0802129A
- movs r3, #0x18
- adds r0, r1, #0
- ands r0, r3
- lsrs r0, r0, #3
- cmp r0, r2
- beq _080212AA
- adds r0, r1, #0
- adds r0, #8
- ands r0, r3
- lsrs r0, r0, #3
- cmp r0, r2
- beq _080212AA
-_0802129A:
- adds r0, r1, #4
- movs r1, #0x18
- ands r0, r1
- lsrs r1, r0, #3
- cmp r2, r1
- beq _080212AA
- adds r0, r1, #0
- b _080212AC
-_080212AA:
- movs r0, #0xff
-_080212AC:
- pop {pc}
- .align 2, 0
-
- thumb_func_start sub_080212B0
-sub_080212B0: @ 0x080212B0
- push {r4, r5, lr}
- adds r5, r0, #0
- adds r1, r5, #0
- adds r1, #0x75
- ldrb r0, [r1]
- cmp r0, #1
- beq _080212D0
- cmp r0, #2
- beq _080212DC
- movs r0, #1
- strb r0, [r1]
- ldr r4, _080212CC @ =gUnk_080CAB3A
- b _080212E2
- .align 2, 0
-_080212CC: .4byte gUnk_080CAB3A
-_080212D0:
- movs r0, #2
- strb r0, [r1]
- ldr r4, _080212D8 @ =gUnk_080CAB42
- b _080212E2
- .align 2, 0
-_080212D8: .4byte gUnk_080CAB42
-_080212DC:
- movs r0, #0
- strb r0, [r1]
- ldr r4, _0802131C @ =gUnk_080CAB4A
-_080212E2:
- bl Random
- movs r1, #7
- ands r1, r0
- adds r1, r1, r4
- ldrb r2, [r1]
- ldrb r0, [r5, #0xa]
- cmp r0, #1
- bhi _08021306
- cmp r2, #2
- bne _08021306
- ldr r4, _08021320 @ =gUnk_080CAB52
- bl Random
- movs r1, #3
- ands r1, r0
- adds r1, r1, r4
- ldrb r2, [r1]
-_08021306:
- movs r0, #0
- str r0, [r5, #0x54]
- ldr r1, _08021324 @ =gUnk_080CAB58
- lsls r0, r2, #2
- adds r0, r0, r1
- ldr r1, [r0]
- adds r0, r5, #0
- bl _call_via_r1
- pop {r4, r5, pc}
- .align 2, 0
-_0802131C: .4byte gUnk_080CAB4A
-_08021320: .4byte gUnk_080CAB52
-_08021324: .4byte gUnk_080CAB58
-
- thumb_func_start sub_08021328
-sub_08021328: @ 0x08021328
- push {lr}
- movs r1, #0xd
- strb r1, [r0, #0xc]
- ldr r2, _08021348 @ =gUnk_080CAB68
- ldrb r1, [r0, #0xa]
- adds r1, r1, r2
- ldrb r2, [r1]
- adds r1, r0, #0
- adds r1, #0x7c
- strb r2, [r1]
- ldrb r2, [r0, #0x14]
- movs r1, #0xc
- bl sub_08021218
- pop {pc}
- .align 2, 0
-_08021348: .4byte gUnk_080CAB68
-
- thumb_func_start sub_0802134C
-sub_0802134C: @ 0x0802134C
- push {lr}
- movs r1, #0xf
- strb r1, [r0, #0xc]
- ldrb r1, [r0, #0x14]
- lsls r1, r1, #3
- strb r1, [r0, #0x15]
- movs r1, #0x80
- lsls r1, r1, #2
- strh r1, [r0, #0x24]
- adds r2, r0, #0
- adds r2, #0x76
- movs r1, #0x78
- strh r1, [r2]
- ldrb r2, [r0, #0x14]
- movs r1, #0xe
- bl sub_08021218
- pop {pc}
-
- thumb_func_start sub_08021370
-sub_08021370: @ 0x08021370
- push {lr}
- movs r1, #0x12
- strb r1, [r0, #0xc]
- ldrb r2, [r0, #0x14]
- movs r1, #0x10
- bl sub_08021218
- pop {pc}
-
- thumb_func_start sub_08021380
-sub_08021380: @ 0x08021380
- push {lr}
- movs r1, #0x13
- strb r1, [r0, #0xc]
- ldrb r2, [r0, #0x14]
- movs r1, #0x11
- bl sub_08021218
- pop {pc}
-
- thumb_func_start sub_08021390
-sub_08021390: @ 0x08021390
- push {lr}
- movs r1, #7
- strb r1, [r0, #0xc]
- movs r1, #0x80
- lsls r1, r1, #2
- strh r1, [r0, #0x24]
- adds r2, r0, #0
- adds r2, #0x3f
- movs r1, #0x56
- strb r1, [r2]
- ldrb r2, [r0, #0x14]
- movs r1, #6
- bl sub_08021218
- pop {pc}
- .align 2, 0
-
- thumb_func_start sub_080213B0
-sub_080213B0: @ 0x080213B0
- push {lr}
- movs r1, #3
- strb r1, [r0, #0xc]
- movs r1, #1
- strb r1, [r0, #0xe]
- movs r1, #0xc0
- strh r1, [r0, #0x24]
- adds r2, r0, #0
- adds r2, #0x76
- movs r1, #0xf0
- strh r1, [r2]
- ldrb r2, [r0, #0x14]
- movs r1, #3
- bl sub_08021218
- pop {pc}
-
- thumb_func_start sub_080213D0
-sub_080213D0: @ 0x080213D0
- push {r4, lr}
- adds r4, r0, #0
- movs r0, #0x10
- strb r0, [r4, #0xc]
- adds r0, r4, #0
- adds r0, #0x7b
- strb r1, [r0]
- ldrb r2, [r4, #0x14]
- adds r0, r4, #0
- movs r1, #0xf
- bl sub_08021218
- adds r0, r4, #0
- bl sub_08021588
- pop {r4, pc}
-
- thumb_func_start sub_080213F0
-sub_080213F0: @ 0x080213F0
- push {lr}
- movs r1, #6
- strb r1, [r0, #0xc]
- ldrb r2, [r0, #0x14]
- movs r1, #1
- bl sub_08021218
- pop {pc}
-
- thumb_func_start sub_08021400
-sub_08021400: @ 0x08021400
- push {lr}
- movs r1, #9
- strb r1, [r0, #0xc]
- movs r1, #0x60
- strh r1, [r0, #0x24]
- ldrb r2, [r0, #0x14]
- movs r1, #0xa
- bl sub_08021218
- pop {pc}
-
- thumb_func_start sub_08021414
-sub_08021414: @ 0x08021414
- push {lr}
- movs r1, #0x11
- strb r1, [r0, #0xc]
- ldrb r2, [r0, #0x14]
- movs r1, #5
- bl sub_08021218
- pop {pc}
-
- thumb_func_start sub_08021424
-sub_08021424: @ 0x08021424
- push {r4, r5, lr}
- adds r5, r0, #0
- ldr r0, _08021450 @ =gUnk_020000B0
- ldr r1, [r0]
- adds r0, r5, #0
- bl sub_080045C4
- adds r1, r0, #0
- ldrb r0, [r5, #0x14]
- bl sub_08021274
- adds r4, r0, #0
- cmp r4, #0xff
- beq _08021454
- adds r0, r5, #0
- adds r0, #0x74
- ldrb r1, [r0]
- adds r0, r5, #0
- adds r2, r4, #0
- bl sub_08021218
- b _08021456
- .align 2, 0
-_08021450: .4byte gUnk_020000B0
-_08021454:
- ldrb r4, [r5, #0x14]
-_08021456:
- cmp r4, #1
- beq _08021490
- cmp r4, #1
- blo _08021478
- cmp r4, #2
- beq _080214A8
- ldr r0, _08021474 @ =gUnk_020000B0
- ldr r1, [r0]
- movs r2, #0x2e
- ldrsh r0, [r1, r2]
- adds r2, r0, #0
- adds r2, #0x24
- movs r4, #0x32
- ldrsh r3, [r1, r4]
- b _080214B8
- .align 2, 0
-_08021474: .4byte gUnk_020000B0
-_08021478:
- ldr r0, _0802148C @ =gUnk_020000B0
- ldr r0, [r0]
- movs r1, #0x2e
- ldrsh r2, [r0, r1]
- movs r4, #0x32
- ldrsh r0, [r0, r4]
- adds r3, r0, #0
- adds r3, #0x2c
- b _080214B8
- .align 2, 0
-_0802148C: .4byte gUnk_020000B0
-_08021490:
- ldr r0, _080214A4 @ =gUnk_020000B0
- ldr r1, [r0]
- movs r2, #0x2e
- ldrsh r0, [r1, r2]
- adds r2, r0, #0
- subs r2, #0x24
- movs r4, #0x32
- ldrsh r3, [r1, r4]
- b _080214B8
- .align 2, 0
-_080214A4: .4byte gUnk_020000B0
-_080214A8:
- ldr r0, _080214F0 @ =gUnk_020000B0
- ldr r0, [r0]
- movs r1, #0x2e
- ldrsh r2, [r0, r1]
- movs r4, #0x32
- ldrsh r0, [r0, r4]
- adds r3, r0, #0
- subs r3, #0x1d
-_080214B8:
- movs r1, #0x2e
- ldrsh r0, [r5, r1]
- subs r0, r2, r0
- adds r0, #3
- cmp r0, #6
- bhi _080214D0
- movs r4, #0x32
- ldrsh r0, [r5, r4]
- subs r0, r3, r0
- adds r0, #2
- cmp r0, #4
- bls _080214E8
-_080214D0:
- movs r1, #0x2e
- ldrsh r0, [r5, r1]
- movs r4, #0x32
- ldrsh r1, [r5, r4]
- bl sub_080045D4
- strb r0, [r5, #0x15]
- adds r0, r5, #0
- bl sub_080AEF88
- cmp r0, #0
- bne _080214F4
-_080214E8:
- adds r0, r5, #0
- bl sub_080212B0
- b _080214FA
- .align 2, 0
-_080214F0: .4byte gUnk_020000B0
-_080214F4:
- adds r0, r5, #0
- bl sub_080042B8
-_080214FA:
- pop {r4, r5, pc}
-
- thumb_func_start sub_080214FC
-sub_080214FC: @ 0x080214FC
- push {r4, lr}
- adds r4, r0, #0
- movs r1, #1
- bl sub_08049FDC
- cmp r0, #0
- beq _0802153C
- ldr r0, _08021538 @ =gUnk_020000B0
- ldr r1, [r0]
- adds r0, r4, #0
- bl sub_080045C4
- adds r2, r0, #0
- adds r0, r4, #0
- adds r0, #0x5a
- ldrb r1, [r0]
- movs r0, #0x1f
- ands r0, r1
- subs r0, r2, r0
- subs r0, #2
- cmp r0, #4
- bhi _0802153C
- adds r0, r2, #4
- movs r1, #0x18
- ands r0, r1
- lsrs r0, r0, #3
- strb r0, [r4, #0x14]
- movs r0, #1
- b _0802153E
- .align 2, 0
-_08021538: .4byte gUnk_020000B0
-_0802153C:
- movs r0, #0
-_0802153E:
- pop {r4, pc}
-
- thumb_func_start sub_08021540
-sub_08021540: @ 0x08021540
- push {r4, r5, lr}
- adds r4, r0, #0
- bl Random
- adds r5, r0, #0
- adds r0, r4, #0
- bl sub_08049FA0
- cmp r0, #0
- bne _08021566
- movs r0, #1
- ands r0, r5
- cmp r0, #0
- beq _08021566
- adds r0, r4, #0
- bl sub_08049EE4
- adds r1, r0, #4
- b _08021568
-_08021566:
- lsrs r1, r5, #0x10
-_08021568:
- movs r0, #0x18
- ands r1, r0
- strb r1, [r4, #0x15]
- ldrb r0, [r4, #0x14]
- bl sub_08021274
- adds r2, r0, #0
- cmp r2, #0xff
- beq _08021582
- adds r0, r4, #0
- movs r1, #3
- bl sub_08021218
-_08021582:
- movs r0, #0x1e
- strb r0, [r4, #0xe]
- pop {r4, r5, pc}
-
- thumb_func_start sub_08021588
-sub_08021588: @ 0x08021588
- push {lr}
- adds r2, r0, #0
- ldr r1, [r2, #0x54]
- cmp r1, #0
- beq _08021598
- movs r0, #0
- str r0, [r1, #0x50]
- str r0, [r2, #0x54]
-_08021598:
- pop {pc}
- .align 2, 0
-
- thumb_func_start sub_0802159C
-sub_0802159C: @ 0x0802159C
- push {r4, lr}
- adds r4, r0, #0
- adds r2, r4, #0
- adds r2, #0x5a
- ldrb r1, [r2]
- adds r0, r1, #0
- cmp r0, #1
- bne _080215D4
- movs r0, #0
- strb r0, [r2]
- adds r1, r4, #0
- adds r1, #0x3f
- movs r0, #0x51
- strb r0, [r1]
- adds r0, r4, #0
- movs r1, #0
- movs r2, #3
- bl sub_0804A98C
- cmp r0, #0
- beq _080215CA
- str r4, [r0, #0x50]
- str r0, [r4, #0x54]
-_080215CA:
- movs r0, #0x8b
- lsls r0, r0, #1
- bl sub_08004488
- b _080215F8
-_080215D4:
- cmp r0, #2
- bne _080215E4
- movs r0, #0
- strb r0, [r2]
- adds r0, r4, #0
- bl sub_08021588
- b _080215F8
-_080215E4:
- movs r0, #0x20
- ands r0, r1
- cmp r0, #0
- beq _080215F8
- movs r0, #0xdf
- ands r0, r1
- strb r0, [r2]
- ldr r0, _080215FC @ =0x00000115
- bl sub_08004488
-_080215F8:
- pop {r4, pc}
- .align 2, 0
-_080215FC: .4byte 0x00000115
-
- thumb_func_start sub_08021600
-sub_08021600: @ 0x08021600
- push {r4, lr}
- adds r4, r0, #0
- adds r1, r4, #0
- adds r1, #0x5a
- ldrb r0, [r1]
- cmp r0, #1
- bne _08021634
- movs r0, #0
- strb r0, [r1]
- subs r1, #0x1b
- movs r0, #0x51
- strb r0, [r1]
- adds r0, r4, #0
- movs r1, #0
- movs r2, #4
- bl sub_0804A98C
- cmp r0, #0
- beq _0802162A
- str r4, [r0, #0x50]
- str r0, [r4, #0x54]
-_0802162A:
- movs r0, #0x87
- lsls r0, r0, #1
- bl sub_08004488
- b _08021642
-_08021634:
- cmp r0, #2
- bne _08021642
- movs r0, #0
- strb r0, [r1]
- adds r0, r4, #0
- bl sub_08021588
-_08021642:
- pop {r4, pc}
-
- thumb_func_start sub_08021644
-sub_08021644: @ 0x08021644
- push {lr}
- adds r2, r0, #0
- adds r2, #0x5a
- ldrb r1, [r2]
- movs r0, #0x20
- ands r0, r1
- cmp r0, #0
- beq _08021660
- movs r0, #0xdf
- ands r0, r1
- strb r0, [r2]
- movs r0, #0x7d
- bl sub_08004488
-_08021660:
- pop {pc}
- .align 2, 0
-
- thumb_func_start sub_08021664
-sub_08021664: @ 0x08021664
- push {lr}
- ldrb r2, [r0, #0x14]
- cmp r2, #1
- beq _08021690
- cmp r2, #1
- bgt _08021676
- cmp r2, #0
- beq _08021680
- b _08021698
-_08021676:
- cmp r2, #2
- beq _08021688
- cmp r2, #3
- beq _08021690
- b _08021698
-_08021680:
- movs r2, #0x22
- bl sub_08049F1C
- b _0802169A
-_08021688:
- movs r2, #0x13
- bl sub_08049F1C
- b _0802169A
-_08021690:
- movs r2, #0x1a
- bl sub_08049F1C
- b _0802169A
-_08021698:
- movs r0, #0
-_0802169A:
- pop {pc}
-
- thumb_func_start sub_0802169C
-sub_0802169C: @ 0x0802169C
- push {lr}
- ldrb r2, [r0, #0x14]
- cmp r2, #1
- beq _080216C0
- cmp r2, #1
- bgt _080216AE
- cmp r2, #0
- beq _080216B8
- b _080216CE
-_080216AE:
- cmp r2, #2
- beq _080216BC
- cmp r2, #3
- beq _080216C0
- b _080216CE
-_080216B8:
- movs r2, #0x2c
- b _080216C2
-_080216BC:
- movs r2, #0x1d
- b _080216C2
-_080216C0:
- movs r2, #0x24
-_080216C2:
- bl sub_08049F1C
- cmp r0, #0
- bne _080216CE
- movs r0, #1
- b _080216D0
-_080216CE:
- movs r0, #0
-_080216D0:
- pop {pc}
- .align 2, 0
-
- thumb_func_start sub_080216D4
-sub_080216D4: @ 0x080216D4
- push {lr}
- ldr r1, _080216E0 @ =gUnk_080CB570
- bl sub_0800129E
- pop {pc}
- .align 2, 0
-_080216E0: .4byte gUnk_080CB570
-
- thumb_func_start sub_080216E4
-sub_080216E4: @ 0x080216E4
- push {lr}
- ldr r2, _080216F8 @ =gUnk_080CB588
- ldrb r1, [r0, #0xc]
- lsls r1, r1, #2
- adds r1, r1, r2
- ldr r1, [r1]
- bl _call_via_r1
- pop {pc}
- .align 2, 0
-_080216F8: .4byte gUnk_080CB588
-
- thumb_func_start sub_080216FC
-sub_080216FC: @ 0x080216FC
- push {lr}
- adds r2, r0, #0
- adds r0, #0x41
- ldrb r1, [r0]
- movs r0, #0x80
- ands r0, r1
- cmp r0, #0
- beq _0802171A
- adds r0, r2, #0
- movs r1, #3
- movs r2, #0x80
- bl CreateFx
- bl sub_0805E780
-_0802171A:
- pop {pc}
-
- thumb_func_start nullsub_7
-nullsub_7: @ 0x0802171C
- bx lr
- .align 2, 0
-
- thumb_func_start sub_08021720
-sub_08021720: @ 0x08021720
- movs r3, #1
- movs r1, #1
- strb r1, [r0, #0xc]
- ldrb r2, [r0, #0x18]
- subs r1, #5
- ands r1, r2
- orrs r1, r3
- strb r1, [r0, #0x18]
- ldrb r1, [r0, #0xa]
- strb r1, [r0, #0x1e]
- ldrb r2, [r0, #0x19]
- movs r1, #0x3f
- ands r1, r2
- movs r2, #0x40
- orrs r1, r2
- strb r1, [r0, #0x19]
- adds r0, #0x29
- ldrb r2, [r0]
- movs r1, #8
- rsbs r1, r1, #0
- ands r1, r2
- movs r2, #3
- orrs r1, r2
- strb r1, [r0]
- bx lr
- .align 2, 0
-
- thumb_func_start nullsub_08
-nullsub_08: @ 0x08021754
- bx lr
- .align 2, 0
-
- thumb_func_start sub_08021758
-sub_08021758: @ 0x08021758
- push {lr}
- ldr r1, _08021764 @ =gUnk_080CB590
- bl sub_0800129E
- pop {pc}
- .align 2, 0
-_08021764: .4byte gUnk_080CB590
-
- thumb_func_start sub_08021768
-sub_08021768: @ 0x08021768
- push {lr}
- ldr r2, _0802177C @ =gUnk_080CB5A8
- ldrb r1, [r0, #0xc]
- lsls r1, r1, #2
- adds r1, r1, r2
- ldr r1, [r1]
- bl _call_via_r1
- pop {pc}
- .align 2, 0
-_0802177C: .4byte gUnk_080CB5A8
-
- thumb_func_start sub_08021780
-sub_08021780: @ 0x08021780
- push {r4, lr}
- adds r4, r0, #0
- adds r0, #0x41
- ldrb r0, [r0]
- cmp r0, #0x80
- beq _08021792
- cmp r0, #0x93
- beq _080217F4
- b _080217FA
-_08021792:
- ldr r0, _080217A4 @ =gLinkState
- adds r0, #0xa8
- ldrb r0, [r0]
- cmp r0, #0x18
- bne _080217A8
- adds r0, r4, #0
- bl sub_08021768
- b _080217FA
- .align 2, 0
-_080217A4: .4byte gLinkState
-_080217A8:
- movs r1, #0
- movs r0, #5
- strb r0, [r4, #0xc]
- movs r0, #0xb4
- strb r0, [r4, #0xe]
- strb r1, [r4, #0xf]
- ldrb r1, [r4, #0x10]
- movs r0, #0x7f
- ands r0, r1
- strb r0, [r4, #0x10]
- adds r2, r4, #0
- adds r2, #0x29
- ldrb r1, [r2]
- movs r0, #8
- rsbs r0, r0, #0
- ands r0, r1
- movs r1, #3
- orrs r0, r1
- strb r0, [r2]
- ldr r0, _080217EC @ =gLinkEntity
- adds r1, r4, #0
- bl sub_0806FA6C
- ldr r0, _080217F0 @ =0x0000FFFF
- strh r0, [r4, #0x36]
- adds r1, r4, #0
- adds r1, #0x87
- movs r0, #1
- strb r0, [r1]
- adds r0, r4, #0
- movs r1, #6
- bl UpdateSprite
- b _080217FA
- .align 2, 0
-_080217EC: .4byte gLinkEntity
-_080217F0: .4byte 0x0000FFFF
-_080217F4:
- adds r0, r4, #0
- bl sub_08021768
-_080217FA:
- adds r0, r4, #0
- adds r0, #0x45
- ldrb r1, [r0]
- cmp r1, #0
- bne _08021808
- subs r0, #3
- strb r1, [r0]
-_08021808:
- ldr r1, _08021814 @ =gUnk_080CB590
- adds r0, r4, #0
- bl sub_0804AA30
- pop {r4, pc}
- .align 2, 0
-_08021814: .4byte gUnk_080CB590
-
- thumb_func_start sub_08021818
-sub_08021818: @ 0x08021818
- push {lr}
- adds r3, r0, #0
- ldrb r0, [r3, #0xa]
- cmp r0, #0
- bne _0802182A
- adds r0, r3, #0
- bl sub_0804A7D4
- b _08021844
-_0802182A:
- ldr r2, [r3, #0x50]
- cmp r2, #0
- beq _0802183A
- ldrb r0, [r2, #0xf]
- subs r0, #1
- movs r1, #0
- strb r0, [r2, #0xf]
- str r1, [r3, #0x50]
-_0802183A:
- adds r0, r3, #0
- movs r1, #0xf0
- movs r2, #0
- bl sub_0804A7E0
-_08021844:
- pop {pc}
- .align 2, 0
-
- thumb_func_start sub_08021848
-sub_08021848: @ 0x08021848
- push {r4, lr}
- adds r4, r0, #0
- bl sub_0806F520
- adds r1, r0, #0
- cmp r1, #0
- beq _0802186C
- ldr r0, _08021868 @ =gUnk_080CB5C8
- ldrb r1, [r4, #0xd]
- lsls r1, r1, #2
- adds r1, r1, r0
- ldr r1, [r1]
- adds r0, r4, #0
- bl _call_via_r1
- b _0802187A
- .align 2, 0
-_08021868: .4byte gUnk_080CB5C8
-_0802186C:
- movs r0, #3
- strb r0, [r4, #0xc]
- strh r1, [r4, #0x36]
- adds r0, r4, #0
- movs r1, #2
- bl UpdateSprite
-_0802187A:
- pop {r4, pc}
-
- thumb_func_start sub_0802187C
-sub_0802187C: @ 0x0802187C
- movs r1, #2
- strb r1, [r0, #0xd]
- bx lr
- .align 2, 0
-
- thumb_func_start nullsub_130
-nullsub_130: @ 0x08021884
- bx lr
- .align 2, 0
-
- thumb_func_start sub_08021888
-sub_08021888: @ 0x08021888
- push {r4, lr}
- adds r4, r0, #0
- bl sub_0806F3E4
- cmp r0, #0
- beq _0802189A
- adds r0, r4, #0
- bl sub_08021818
-_0802189A:
- pop {r4, pc}
-
- thumb_func_start sub_0802189C
-sub_0802189C: @ 0x0802189C
- push {r4, lr}
- adds r4, r0, #0
- bl sub_0804A720
- movs r0, #1
- strb r0, [r4, #0xc]
- strb r0, [r4, #0x1c]
- adds r0, r4, #0
- movs r1, #3
- bl UpdateSprite
- pop {r4, pc}
-
- thumb_func_start sub_080218B4
-sub_080218B4: @ 0x080218B4
- push {lr}
- ldr r2, _080218C8 @ =gUnk_080CB5D4
- ldrb r1, [r0, #0xb]
- lsls r1, r1, #2
- adds r1, r1, r2
- ldr r1, [r1]
- bl _call_via_r1
- pop {pc}
- .align 2, 0
-_080218C8: .4byte gUnk_080CB5D4
-
- thumb_func_start sub_080218CC
-sub_080218CC: @ 0x080218CC
- push {r4, r5, r6, lr}
- adds r5, r0, #0
- ldrb r0, [r5, #0xd]
- cmp r0, #0
- bne _08021916
- movs r2, #1
- movs r0, #1
- strb r0, [r5, #0xd]
- ldrb r1, [r5, #0x18]
- subs r0, #5
- ands r0, r1
- orrs r0, r2
- strb r0, [r5, #0x18]
- adds r0, r5, #0
- movs r1, #1
- bl sub_08049F84
- adds r4, r0, #0
- bl Random
- movs r1, #0x10
- eors r4, r1
- ldr r2, _08021980 @ =gUnk_080CB5DC
- movs r1, #7
- ands r1, r0
- adds r1, r1, r2
- ldrb r0, [r1]
- adds r0, r0, r4
- movs r1, #0x1f
- ands r0, r1
- strb r0, [r5, #0x15]
- movs r0, #0x80
- lsls r0, r0, #1
- strh r0, [r5, #0x24]
- movs r0, #0x90
- lsls r0, r0, #9
- str r0, [r5, #0x20]
-_08021916:
- adds r0, r5, #0
- bl sub_08004274
- adds r2, r5, #0
- adds r2, #0x5a
- ldrb r1, [r2]
- movs r6, #1
- adds r0, r6, #0
- ands r0, r1
- adds r4, r2, #0
- cmp r0, #0
- beq _08021948
- adds r0, r5, #0
- bl sub_080AEFE0
- movs r1, #0xe0
- lsls r1, r1, #5
- adds r0, r5, #0
- bl sub_080044EC
- cmp r0, #0
- bne _08021948
- adds r0, r5, #0
- adds r0, #0x59
- strb r6, [r0]
-_08021948:
- ldrb r1, [r4]
- movs r0, #0x80
- ands r0, r1
- cmp r0, #0
- beq _0802197C
- movs r0, #2
- strb r0, [r5, #0xc]
- bl Random
- movs r1, #0x38
- ands r0, r1
- adds r0, #8
- strb r0, [r5, #0xe]
- movs r0, #1
- strb r0, [r5, #0xf]
- ldrb r1, [r5, #0x10]
- movs r0, #0x80
- orrs r0, r1
- strb r0, [r5, #0x10]
- movs r0, #0xc0
- lsls r0, r0, #1
- strh r0, [r5, #0x24]
- adds r0, r5, #0
- movs r1, #0
- bl UpdateSprite
-_0802197C:
- pop {r4, r5, r6, pc}
- .align 2, 0
-_08021980: .4byte gUnk_080CB5DC
-
- thumb_func_start sub_08021984
-sub_08021984: @ 0x08021984
- push {r4, lr}
- adds r4, r0, #0
- ldrb r0, [r4, #0xd]
- cmp r0, #0
- bne _080219C2
- movs r0, #1
- strb r0, [r4, #0xd]
- ldrb r1, [r4, #0x10]
- movs r0, #0x80
- orrs r0, r1
- strb r0, [r4, #0x10]
- ldrb r0, [r4, #0x18]
- movs r1, #3
- orrs r0, r1
- strb r0, [r4, #0x18]
- ldr r0, _08021A08 @ =0x0000FF80
- strh r0, [r4, #0x36]
- ldrb r2, [r4, #0x19]
- movs r1, #0x3f
- adds r0, r1, #0
- ands r0, r2
- movs r2, #0x40
- orrs r0, r2
- strb r0, [r4, #0x19]
- ldrb r0, [r4, #0x1b]
- ands r1, r0
- orrs r1, r2
- strb r1, [r4, #0x1b]
- ldr r0, _08021A0C @ =0x0000012D
- bl sub_08004488
-_080219C2:
- movs r1, #0xc0
- lsls r1, r1, #5
- adds r0, r4, #0
- bl sub_08003FC4
- cmp r0, #0
- bne _08021A04
- movs r0, #2
- strb r0, [r4, #0xc]
- movs r0, #0x10
- strb r0, [r4, #0xe]
- movs r2, #1
- movs r0, #1
- strb r0, [r4, #0xf]
- ldrb r1, [r4, #0x18]
- subs r0, #5
- ands r0, r1
- orrs r0, r2
- strb r0, [r4, #0x18]
- movs r0, #0xc0
- lsls r0, r0, #1
- strh r0, [r4, #0x24]
- adds r1, r4, #0
- adds r1, #0x86
- movs r0, #0x3c
- strb r0, [r1]
- adds r0, r4, #0
- movs r1, #0
- bl UpdateSprite
- adds r0, r4, #0
- bl UpdateSpriteOrderAndFlip
-_08021A04:
- pop {r4, pc}
- .align 2, 0
-_08021A08: .4byte 0x0000FF80
-_08021A0C: .4byte 0x0000012D
-
- thumb_func_start sub_08021A10
-sub_08021A10: @ 0x08021A10
- push {r4, lr}
- adds r4, r0, #0
- bl sub_08004274
- ldr r1, _08021A60 @ =gLinkEntity
- adds r0, r4, #0
- movs r2, #0x78
- movs r3, #0x50
- bl sub_080041A0
- cmp r0, #0
- beq _08021A5E
- adds r0, r4, #0
- bl sub_08021D00
- cmp r0, #0
- bne _08021A5E
- ldrb r0, [r4, #0xe]
- subs r0, #1
- strb r0, [r4, #0xe]
- lsls r0, r0, #0x18
- cmp r0, #0
- bne _08021A5E
- movs r0, #3
- strb r0, [r4, #0xc]
- bl Random
- movs r1, #0x3f
- ands r0, r1
- adds r0, #0x1e
- strb r0, [r4, #0xe]
- ldrb r1, [r4, #0x15]
- adds r0, r4, #0
- bl sub_08021D44
- adds r0, r4, #0
- movs r1, #2
- bl UpdateSprite
-_08021A5E:
- pop {r4, pc}
- .align 2, 0
-_08021A60: .4byte gLinkEntity
-
- thumb_func_start sub_08021A64
-sub_08021A64: @ 0x08021A64
- push {r4, r5, lr}
- adds r4, r0, #0
- bl sub_08021D00
- cmp r0, #0
- bne _08021AD4
- ldrb r0, [r4, #0xe]
- subs r0, #1
- strb r0, [r4, #0xe]
- movs r5, #0xff
- lsls r0, r0, #0x18
- cmp r0, #0
- bne _08021A96
- movs r0, #2
- strb r0, [r4, #0xc]
- bl Random
- movs r1, #0x1f
- ands r0, r1
- adds r0, #0x1e
- strb r0, [r4, #0xe]
- adds r0, r4, #0
- movs r1, #0
- bl UpdateSprite
-_08021A96:
- ldrb r0, [r4, #0xf]
- subs r0, #1
- strb r0, [r4, #0xf]
- ands r0, r5
- cmp r0, #0
- bne _08021AC8
- movs r0, #8
- strb r0, [r4, #0xf]
- adds r0, r4, #0
- movs r1, #1
- bl sub_08049F84
- adds r1, r0, #0
- cmp r1, #0xff
- bne _08021AC2
- movs r0, #7
- strb r0, [r4, #0xc]
- adds r0, r4, #0
- movs r1, #1
- bl UpdateSprite
- b _08021AD4
-_08021AC2:
- adds r0, r4, #0
- bl sub_08021D44
-_08021AC8:
- adds r0, r4, #0
- bl sub_080AEF88
- adds r0, r4, #0
- bl sub_08004274
-_08021AD4:
- pop {r4, r5, pc}
- .align 2, 0
-
- thumb_func_start sub_08021AD8
-sub_08021AD8: @ 0x08021AD8
- push {r4, lr}
- adds r4, r0, #0
- bl sub_08004274
- adds r0, r4, #0
- adds r0, #0x5a
- ldrb r1, [r0]
- movs r0, #1
- ands r0, r1
- cmp r0, #0
- beq _08021B3A
- ldrb r0, [r4, #0xe]
- cmp r0, #0
- beq _08021B1E
- movs r0, #0
- strb r0, [r4, #0xe]
- adds r0, r4, #0
- movs r1, #1
- bl sub_08049F84
- cmp r0, #0xff
- bne _08021B16
- movs r0, #2
- strb r0, [r4, #0xc]
- movs r0, #8
- strb r0, [r4, #0xe]
- adds r0, r4, #0
- movs r1, #0
- bl UpdateSprite
- b _08021B60
-_08021B16:
- strb r0, [r4, #0x15]
- movs r0, #0x7c
- bl sub_08004488
-_08021B1E:
- adds r0, r4, #0
- bl sub_080AEFE0
- movs r1, #0xc0
- lsls r1, r1, #5
- adds r0, r4, #0
- bl sub_08003FC4
- cmp r0, #0
- bne _08021B3A
- adds r1, r4, #0
- adds r1, #0x59
- movs r0, #1
- strb r0, [r1]
-_08021B3A:
- adds r0, r4, #0
- adds r0, #0x5a
- ldrb r1, [r0]
- movs r0, #0x80
- ands r0, r1
- cmp r0, #0
- beq _08021B60
- movs r0, #2
- strb r0, [r4, #0xc]
- movs r0, #0x14
- strb r0, [r4, #0xe]
- adds r1, r4, #0
- adds r1, #0x86
- movs r0, #0x3c
- strb r0, [r1]
- adds r0, r4, #0
- movs r1, #0
- bl UpdateSprite
-_08021B60:
- pop {r4, pc}
- .align 2, 0
-
- thumb_func_start sub_08021B64
-sub_08021B64: @ 0x08021B64
- push {r4, r5, r6, lr}
- adds r4, r0, #0
- ldr r0, _08021B88 @ =gLinkState
- ldr r1, [r0, #0x30]
- movs r2, #4
- ands r1, r2
- adds r6, r0, #0
- cmp r1, #0
- beq _08021B8C
- movs r1, #0
- movs r0, #3
- strb r0, [r4, #0xc]
- str r1, [r4, #0x34]
- adds r0, r4, #0
- movs r1, #2
- bl UpdateSprite
- b _08021C4E
- .align 2, 0
-_08021B88: .4byte gLinkState
-_08021B8C:
- movs r5, #1
- adds r0, r6, #0
- adds r0, #0xa8
- ldrb r0, [r0]
- cmp r0, #0xb
- beq _08021BBA
- cmp r0, #0x14
- beq _08021BBA
- bl sub_0807953C
- cmp r0, #0
- beq _08021BAE
- ldrb r1, [r4, #0xa]
- lsls r0, r1, #1
- adds r0, r0, r1
- adds r5, r0, #0
- adds r5, #8
-_08021BAE:
- ldrb r0, [r4, #0xe]
- subs r5, r0, r5
- cmp r5, #0
- bge _08021BB8
- movs r5, #0
-_08021BB8:
- strb r5, [r4, #0xe]
-_08021BBA:
- ldr r0, [r6, #0x30]
- movs r1, #0x88
- lsls r1, r1, #1
- ands r0, r1
- cmp r0, #0
- beq _08021BC8
- movs r5, #0
-_08021BC8:
- cmp r5, #0
- bne _08021C04
- movs r0, #6
- strb r0, [r4, #0xc]
- movs r0, #0x80
- lsls r0, r0, #9
- str r0, [r4, #0x20]
- adds r0, r4, #0
- adds r0, #0x87
- strb r5, [r0]
- ldr r2, _08021BEC @ =gLinkEntity
- ldrb r1, [r2, #0x15]
- adds r0, r1, #0
- cmp r0, #0xff
- beq _08021BF0
- movs r0, #0x10
- b _08021BF6
- .align 2, 0
-_08021BEC: .4byte gLinkEntity
-_08021BF0:
- ldrb r0, [r2, #0x14]
- lsls r0, r0, #2
- movs r1, #0x10
-_08021BF6:
- eors r0, r1
- strb r0, [r4, #0x15]
- adds r0, r4, #0
- movs r1, #5
- bl UpdateSprite
- b _08021C4E
-_08021C04:
- ldrb r1, [r6, #0x1a]
- movs r0, #0x80
- orrs r0, r1
- strb r0, [r6, #0x1a]
- adds r1, r6, #0
- adds r1, #0x80
- ldrh r0, [r1]
- subs r0, #0x50
- strh r0, [r1]
- adds r1, #0x2a
- ldrb r0, [r1]
- adds r0, #1
- strb r0, [r1]
- ldr r0, _08021C50 @ =gLinkEntity
- adds r1, r4, #0
- bl sub_0806FA6C
- ldr r2, _08021C54 @ =gUnk_080CB5E4
- ldrb r1, [r4, #0xf]
- adds r0, r1, #1
- strb r0, [r4, #0xf]
- movs r0, #0xe
- ands r0, r1
- lsrs r0, r0, #1
- adds r0, r0, r2
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- ldrh r1, [r4, #0x2e]
- adds r0, r0, r1
- strh r0, [r4, #0x2e]
- ldrh r0, [r4, #0x36]
- subs r0, #1
- strh r0, [r4, #0x36]
- adds r0, r4, #0
- bl sub_08004274
-_08021C4E:
- pop {r4, r5, r6, pc}
- .align 2, 0
-_08021C50: .4byte gLinkEntity
-_08021C54: .4byte gUnk_080CB5E4
-
- thumb_func_start sub_08021C58
-sub_08021C58: @ 0x08021C58
- push {r4, r5, lr}
- adds r4, r0, #0
- bl sub_08004274
- adds r0, r4, #0
- adds r0, #0x5a
- ldrb r1, [r0]
- movs r5, #1
- adds r0, r5, #0
- ands r0, r1
- cmp r0, #0
- beq _08021C8A
- adds r0, r4, #0
- bl sub_080AEFE0
- movs r1, #0xc0
- lsls r1, r1, #5
- adds r0, r4, #0
- bl sub_08003FC4
- cmp r0, #0
- bne _08021C8A
- adds r0, r4, #0
- adds r0, #0x59
- strb r5, [r0]
-_08021C8A:
- adds r0, r4, #0
- adds r0, #0x5a
- ldrb r1, [r0]
- movs r0, #0x80
- ands r0, r1
- cmp r0, #0
- beq _08021CCC
- movs r0, #2
- strb r0, [r4, #0xc]
- movs r2, #0x3c
- strb r2, [r4, #0xe]
- movs r0, #1
- strb r0, [r4, #0xf]
- ldrb r1, [r4, #0x10]
- movs r0, #0x80
- orrs r0, r1
- strb r0, [r4, #0x10]
- adds r3, r4, #0
- adds r3, #0x29
- ldrb r1, [r3]
- movs r0, #8
- rsbs r0, r0, #0
- ands r0, r1
- movs r1, #4
- orrs r0, r1
- strb r0, [r3]
- adds r0, r4, #0
- adds r0, #0x86
- strb r2, [r0]
- adds r0, r4, #0
- movs r1, #0
- bl UpdateSprite
-_08021CCC:
- pop {r4, r5, pc}
- .align 2, 0
-
- thumb_func_start sub_08021CD0
-sub_08021CD0: @ 0x08021CD0
- push {r4, lr}
- adds r4, r0, #0
- adds r0, #0x5a
- ldrb r1, [r0]
- movs r0, #0x80
- ands r0, r1
- cmp r0, #0
- bne _08021CE6
- adds r0, r4, #0
- bl sub_08004274
-_08021CE6:
- adds r0, r4, #0
- movs r1, #1
- bl sub_08049F84
- cmp r0, #0xff
- beq _08021CFE
- movs r0, #3
- strb r0, [r4, #0xc]
- adds r0, r4, #0
- movs r1, #2
- bl UpdateSprite
-_08021CFE:
- pop {r4, pc}
-
- thumb_func_start sub_08021D00
-sub_08021D00: @ 0x08021D00
- push {r4, lr}
- adds r4, r0, #0
- adds r1, r4, #0
- adds r1, #0x86
- ldrb r0, [r1]
- cmp r0, #0
- beq _08021D16
- subs r0, #1
- strb r0, [r1]
- movs r0, #0
- b _08021D40
-_08021D16:
- adds r0, r4, #0
- movs r1, #1
- movs r2, #0x10
- bl sub_08049F64
- cmp r0, #0
- bne _08021D28
- movs r0, #0
- b _08021D40
-_08021D28:
- movs r0, #4
- strb r0, [r4, #0xc]
- movs r0, #1
- strb r0, [r4, #0xe]
- movs r0, #0xc0
- lsls r0, r0, #9
- str r0, [r4, #0x20]
- adds r0, r4, #0
- movs r1, #4
- bl UpdateSprite
- movs r0, #1
-_08021D40:
- pop {r4, pc}
- .align 2, 0
-
- thumb_func_start sub_08021D44
-sub_08021D44: @ 0x08021D44
- push {lr}
- adds r2, r0, #0
- adds r1, #4
- movs r0, #0x18
- ands r1, r0
- strb r1, [r2, #0x15]
- movs r0, #8
- ands r1, r0
- cmp r1, #0
- beq _08021D5E
- movs r0, #0xc0
- lsls r0, r0, #1
- b _08021D60
-_08021D5E:
- movs r0, #0xc0
-_08021D60:
- strh r0, [r2, #0x24]
- pop {pc}
-
- thumb_func_start sub_08021D64
-sub_08021D64: @ 0x08021D64
- push {r4, r5, lr}
- adds r5, r0, #0
- ldr r4, _08021D7C @ =gUnk_080CB69C
- bl sub_0800279C
- lsls r0, r0, #2
- adds r0, r0, r4
- ldr r1, [r0]
- adds r0, r5, #0
- bl _call_via_r1
- pop {r4, r5, pc}
- .align 2, 0
-_08021D7C: .4byte gUnk_080CB69C
-
- thumb_func_start sub_08021D80
-sub_08021D80: @ 0x08021D80
- push {lr}
- ldr r2, _08021D94 @ =gUnk_080CB6B4
- ldrb r1, [r0, #0xc]
- lsls r1, r1, #2
- adds r1, r1, r2
- ldr r1, [r1]
- bl _call_via_r1
- pop {pc}
- .align 2, 0
-_08021D94: .4byte gUnk_080CB6B4
-
- thumb_func_start sub_08021D98
-sub_08021D98: @ 0x08021D98
- push {lr}
- ldr r1, _08021DA4 @ =gUnk_080CB69C
- bl sub_0804AA30
- pop {pc}
- .align 2, 0
-_08021DA4: .4byte gUnk_080CB69C
-
- thumb_func_start sub_08021DA8
-sub_08021DA8: @ 0x08021DA8
- push {r4, lr}
- adds r4, r0, #0
- bl sub_0806F520
- cmp r0, #0
- beq _08021DC4
- ldr r0, _08021DC8 @ =gUnk_080CB6C4
- ldrb r1, [r4, #0xd]
- lsls r1, r1, #2
- adds r1, r1, r0
- ldr r1, [r1]
- adds r0, r4, #0
- bl _call_via_r1
-_08021DC4:
- pop {r4, pc}
- .align 2, 0
-_08021DC8: .4byte gUnk_080CB6C4
-
- thumb_func_start sub_08021DCC
-sub_08021DCC: @ 0x08021DCC
- movs r1, #2
- strb r1, [r0, #0xd]
- bx lr
- .align 2, 0
-
- thumb_func_start sub_08021DD4
-sub_08021DD4: @ 0x08021DD4
- push {lr}
- bl sub_0806F4E8
- pop {pc}
-
- thumb_func_start sub_08021DDC
-sub_08021DDC: @ 0x08021DDC
- push {r4, lr}
- adds r4, r0, #0
- bl sub_0806F3E4
- cmp r0, #0
- beq _08021DEE
- adds r0, r4, #0
- bl sub_0804A7D4
-_08021DEE:
- pop {r4, pc}
-
- thumb_func_start sub_08021DF0
-sub_08021DF0: @ 0x08021DF0
- push {r4, lr}
- adds r4, r0, #0
- bl sub_0804A720
- ldrb r0, [r4, #0xa]
- cmp r0, #0
- beq _08021E14
- adds r2, r4, #0
- adds r2, #0x29
- ldrb r1, [r2]
- movs r0, #0x39
- rsbs r0, r0, #0
- ands r0, r1
- movs r1, #8
- orrs r0, r1
- strb r0, [r2]
- ldr r0, _08021E48 @ =0x0000FFF0
- strh r0, [r4, #0x36]
-_08021E14:
- bl Random
- movs r1, #0x1f
- ands r0, r1
- strb r0, [r4, #0x15]
- movs r0, #1
- strb r0, [r4, #0x1c]
- adds r2, r4, #0
- adds r2, #0x29
- ldrb r1, [r2]
- subs r0, #9
- ands r0, r1
- movs r1, #3
- orrs r0, r1
- strb r0, [r2]
- adds r1, r4, #0
- adds r1, #0x38
- movs r0, #3
- strb r0, [r1]
- adds r0, r4, #0
- bl UpdateSpriteOrderAndFlip
- adds r0, r4, #0
- bl sub_08021EF0
- pop {r4, pc}
- .align 2, 0
-_08021E48: .4byte 0x0000FFF0
-
- thumb_func_start sub_08021E4C
-sub_08021E4C: @ 0x08021E4C
- push {r4, r5, lr}
- adds r4, r0, #0
- adds r1, r4, #0
- adds r1, #0x78
- ldrh r0, [r1]
- cmp r0, #0
- beq _08021E5E
- subs r0, #1
- strh r0, [r1]
-_08021E5E:
- adds r1, r4, #0
- adds r1, #0x7a
- ldrh r0, [r1]
- cmp r0, #0
- beq _08021E6C
- subs r0, #1
- strh r0, [r1]
-_08021E6C:
- adds r0, r4, #0
- bl sub_08004274
- adds r2, r4, #0
- adds r2, #0x5a
- ldrb r1, [r2]
- movs r0, #0x80
- ands r0, r1
- adds r5, r2, #0
- cmp r0, #0
- beq _08021E8A
- adds r0, r4, #0
- bl sub_08021F24
- b _08021E90
-_08021E8A:
- adds r0, r4, #0
- bl sub_080AEFB4
-_08021E90:
- ldr r1, _08021EA0 @ =gUnk_080CB6D0
- ldrb r0, [r5]
- adds r0, r0, r1
- ldrb r1, [r0]
- adds r0, r4, #0
- adds r0, #0x63
- strb r1, [r0]
- pop {r4, r5, pc}
- .align 2, 0
-_08021EA0: .4byte gUnk_080CB6D0
-
- thumb_func_start sub_08021EA4
-sub_08021EA4: @ 0x08021EA4
- push {lr}
- adds r1, r0, #0
- ldrb r0, [r1, #0xe]
- subs r0, #1
- strb r0, [r1, #0xe]
- lsls r0, r0, #0x18
- cmp r0, #0
- bne _08021EBA
- adds r0, r1, #0
- bl sub_08021EF0
-_08021EBA:
- pop {pc}
-
- thumb_func_start sub_08021EBC
-sub_08021EBC: @ 0x08021EBC
- push {r4, lr}
- adds r4, r0, #0
- ldrb r0, [r4, #0xe]
- cmp r0, #0
- beq _08021ECC
- subs r0, #1
- strb r0, [r4, #0xe]
- b _08021EE8
-_08021ECC:
- ldr r0, _08021EEC @ =gLinkEntity
- movs r2, #0x2e
- ldrsh r1, [r0, r2]
- movs r3, #0x32
- ldrsh r2, [r0, r3]
- adds r0, r4, #0
- movs r3, #0x70
- bl sub_0806FCB8
- cmp r0, #0
- beq _08021EE8
- adds r0, r4, #0
- bl sub_08021EF0
-_08021EE8:
- pop {r4, pc}
- .align 2, 0
-_08021EEC: .4byte gLinkEntity
-
- thumb_func_start sub_08021EF0
-sub_08021EF0: @ 0x08021EF0
- push {r4, lr}
- adds r4, r0, #0
- movs r0, #1
- strb r0, [r4, #0xc]
- bl Random
- ldr r2, _08021F20 @ =gUnk_080CB6D6
- movs r1, #0xf
- ands r1, r0
- lsls r1, r1, #1
- adds r1, r1, r2
- ldrh r1, [r1]
- adds r0, r4, #0
- adds r0, #0x78
- strh r1, [r0]
- adds r1, r4, #0
- adds r1, #0x7a
- movs r0, #0x3c
- strh r0, [r1]
- adds r0, r4, #0
- movs r1, #0
- bl UpdateSprite
- pop {r4, pc}
- .align 2, 0
-_08021F20: .4byte gUnk_080CB6D6
-
- thumb_func_start sub_08021F24
-sub_08021F24: @ 0x08021F24
- push {r4, lr}
- adds r4, r0, #0
- adds r0, #0x78
- ldrh r0, [r0]
- cmp r0, #0
- bne _08021F48
- movs r0, #2
- strb r0, [r4, #0xc]
- bl Random
- ldr r2, _08021F44 @ =gUnk_080CB6F6
- movs r1, #0xf
- ands r1, r0
- adds r1, r1, r2
- ldrb r0, [r1]
- b _08021F6E
- .align 2, 0
-_08021F44: .4byte gUnk_080CB6F6
-_08021F48:
- adds r0, r4, #0
- adds r0, #0x7a
- ldrh r0, [r0]
- cmp r0, #0
- bne _08021F80
- ldr r0, _08021F7C @ =gLinkEntity
- movs r2, #0x2e
- ldrsh r1, [r0, r2]
- movs r3, #0x32
- ldrsh r2, [r0, r3]
- adds r0, r4, #0
- movs r3, #0x70
- bl sub_0806FCB8
- cmp r0, #0
- bne _08021F80
- movs r0, #3
- strb r0, [r4, #0xc]
- movs r0, #0x1e
-_08021F6E:
- strb r0, [r4, #0xe]
- adds r0, r4, #0
- movs r1, #1
- bl UpdateSprite
- b _08021FA4
- .align 2, 0
-_08021F7C: .4byte gLinkEntity
-_08021F80:
- adds r0, r4, #0
- bl sub_08049FA0
- cmp r0, #0
- beq _08021F94
- bl Random
- movs r1, #0x1f
- ands r0, r1
- b _08021F9A
-_08021F94:
- adds r0, r4, #0
- bl sub_08049EE4
-_08021F9A:
- strb r0, [r4, #0x15]
- adds r0, r4, #0
- movs r1, #0
- bl UpdateSprite
-_08021FA4:
- pop {r4, pc}
- .align 2, 0
-
- thumb_func_start sub_08021FA8
-sub_08021FA8: @ 0x08021FA8
- push {r4, r5, lr}
- adds r4, r0, #0
- ldr r5, _08021FD4 @ =gUnk_080CB734
- bl sub_0800279C
- lsls r0, r0, #2
- adds r0, r0, r5
- ldr r1, [r0]
- adds r0, r4, #0
- bl _call_via_r1
- ldr r1, _08021FD8 @ =gUnk_080CB8A4
- ldrb r0, [r4, #0xb]
- lsls r0, r0, #2
- adds r0, r0, r1
- ldrb r1, [r4, #0x1e]
- ldr r0, [r0]
- lsls r1, r1, #2
- adds r1, r1, r0
- ldr r0, [r1]
- str r0, [r4, #0x48]
- pop {r4, r5, pc}
- .align 2, 0
-_08021FD4: .4byte gUnk_080CB734
-_08021FD8: .4byte gUnk_080CB8A4
-
- thumb_func_start sub_08021FDC
-sub_08021FDC: @ 0x08021FDC
- push {lr}
- ldr r2, _08021FF0 @ =gUnk_080CB74C
- ldrb r1, [r0, #0xc]
- lsls r1, r1, #2
- adds r1, r1, r2
- ldr r1, [r1]
- bl _call_via_r1
- pop {pc}
- .align 2, 0
-_08021FF0: .4byte gUnk_080CB74C
-
- thumb_func_start sub_08021FF4
-sub_08021FF4: @ 0x08021FF4
- push {lr}
- ldr r1, _08022000 @ =gUnk_080CB734
- bl sub_0804AA30
- pop {pc}
- .align 2, 0
-_08022000: .4byte gUnk_080CB734
-
- thumb_func_start sub_08022004
-sub_08022004: @ 0x08022004
- push {r4, lr}
- adds r4, r0, #0
- adds r0, #0x7c
- ldrh r0, [r0]
- adds r1, r4, #0
- adds r1, #0x7e
- ldrh r1, [r1]
- adds r2, r4, #0
- adds r2, #0x38
- ldrb r2, [r2]
- bl UpdateCollisionLayer
- adds r0, r4, #0
- movs r1, #5
- movs r2, #0
- bl CreateFx
- adds r0, r4, #0
- bl sub_08049CF4
- bl sub_0805E780
- pop {r4, pc}
- .align 2, 0
-
- thumb_func_start sub_08022034
-sub_08022034: @ 0x08022034
- push {r4, lr}
- adds r4, r0, #0
- movs r0, #1
- strb r0, [r4, #0xc]
- ldrb r1, [r4, #0xa]
- movs r0, #3
- ands r0, r1
- strb r0, [r4, #0xb]
- adds r2, r4, #0
- adds r2, #0x29
- ldrb r1, [r2]
- movs r0, #8
- rsbs r0, r0, #0
- ands r0, r1
- movs r1, #5
- orrs r0, r1
- strb r0, [r2]
- ldr r2, _08022098 @ =gUnk_080CB764
- ldrb r0, [r4, #0xb]
- lsls r0, r0, #1
- adds r0, r0, r2
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- ldrh r1, [r4, #0x2e]
- adds r0, r0, r1
- adds r1, r4, #0
- adds r1, #0x78
- strh r0, [r1]
- ldrb r0, [r4, #0xb]
- lsls r0, r0, #1
- adds r0, #1
- adds r0, r0, r2
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- ldrh r1, [r4, #0x32]
- adds r0, r0, r1
- adds r1, r4, #0
- adds r1, #0x7a
- strh r0, [r1]
- ldrb r1, [r4, #0xb]
- adds r0, r4, #0
- bl UpdateSprite
- adds r0, r4, #0
- bl sub_080221C0
- pop {r4, pc}
- .align 2, 0
-_08022098: .4byte gUnk_080CB764
-
- thumb_func_start sub_0802209C
-sub_0802209C: @ 0x0802209C
- push {r4, lr}
- adds r4, r0, #0
- ldrb r0, [r4, #0xe]
- cmp r0, #0
- bne _080220D2
- adds r0, r4, #0
- adds r0, #0x78
- ldrh r0, [r0]
- adds r1, r4, #0
- adds r1, #0x7a
- ldrh r1, [r1]
- movs r2, #0x10
- movs r3, #0x10
- bl sub_0806FBFC
- cmp r0, #0
- beq _080220D6
- movs r0, #2
- strb r0, [r4, #0xc]
- movs r0, #0x12
- strb r0, [r4, #0xe]
- ldrb r1, [r4, #0xb]
- adds r1, #4
- adds r0, r4, #0
- bl UpdateSprite
- b _080220D6
-_080220D2:
- subs r0, #1
- strb r0, [r4, #0xe]
-_080220D6:
- pop {r4, pc}
-
- thumb_func_start sub_080220D8
-sub_080220D8: @ 0x080220D8
- push {lr}
- adds r1, r0, #0
- ldrb r0, [r1, #0xe]
- subs r0, #1
- strb r0, [r1, #0xe]
- lsls r0, r0, #0x18
- cmp r0, #0
- bne _080220EC
- movs r0, #3
- strb r0, [r1, #0xc]
-_080220EC:
- pop {pc}
- .align 2, 0
-
- thumb_func_start sub_080220F0
-sub_080220F0: @ 0x080220F0
- push {r4, r5, r6, lr}
- adds r5, r0, #0
- bl sub_08004274
- adds r0, r5, #0
- adds r0, #0x5a
- ldrb r1, [r0]
- movs r0, #0x80
- ands r0, r1
- cmp r0, #0
- beq _08022160
- movs r1, #0
- movs r0, #4
- strb r0, [r5, #0xc]
- movs r0, #0x78
- strb r0, [r5, #0xe]
- adds r0, r5, #0
- adds r0, #0x44
- strb r1, [r0]
- ldrb r1, [r5, #0xb]
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #2
- ldr r1, _0802215C @ =gUnk_080CB76C
- adds r4, r0, r1
- movs r6, #0
-_08022124:
- adds r0, r5, #0
- movs r1, #0x11
- movs r2, #0
- bl CreateFx
- adds r1, r0, #0
- cmp r1, #0
- beq _08022148
- movs r0, #0
- ldrsb r0, [r4, r0]
- ldrh r2, [r1, #0x2e]
- adds r0, r0, r2
- strh r0, [r1, #0x2e]
- movs r0, #1
- ldrsb r0, [r4, r0]
- ldrh r2, [r1, #0x32]
- adds r0, r0, r2
- strh r0, [r1, #0x32]
-_08022148:
- adds r6, #1
- adds r4, #2
- cmp r6, #5
- bls _08022124
- movs r0, #0x82
- lsls r0, r0, #1
- bl sub_08004488
- b _08022170
- .align 2, 0
-_0802215C: .4byte gUnk_080CB76C
-_08022160:
- movs r0, #1
- ands r0, r1
- cmp r0, #0
- beq _08022170
- adds r1, r5, #0
- adds r1, #0x44
- movs r0, #4
- strb r0, [r1]
-_08022170:
- pop {r4, r5, r6, pc}
- .align 2, 0
-
- thumb_func_start sub_08022174
-sub_08022174: @ 0x08022174
- push {r4, lr}
- adds r4, r0, #0
- bl sub_0800445C
- ldrb r0, [r4, #0xe]
- subs r0, #1
- strb r0, [r4, #0xe]
- lsls r0, r0, #0x18
- cmp r0, #0
- bne _08022196
- movs r0, #5
- strb r0, [r4, #0xc]
- ldrb r1, [r4, #0xb]
- adds r1, #8
- adds r0, r4, #0
- bl UpdateSprite
-_08022196:
- pop {r4, pc}
-
- thumb_func_start sub_08022198
-sub_08022198: @ 0x08022198
- push {r4, lr}
- adds r4, r0, #0
- bl sub_0800445C
- adds r0, r4, #0
- bl sub_08004274
- adds r0, r4, #0
- adds r0, #0x5a
- ldrb r1, [r0]
- movs r0, #0x80
- ands r0, r1
- cmp r0, #0
- beq _080221BC
- movs r0, #1
- strb r0, [r4, #0xc]
- movs r0, #0x5a
- strb r0, [r4, #0xe]
-_080221BC:
- pop {r4, pc}
- .align 2, 0
-
- thumb_func_start sub_080221C0
-sub_080221C0: @ 0x080221C0
- push {r4, r5, r6, lr}
- adds r6, r0, #0
- movs r0, #0x2e
- ldrsh r4, [r6, r0]
- ldr r1, _08022220 @ =gRoomControls
- ldrh r0, [r1, #6]
- subs r4, r4, r0
- asrs r4, r4, #4
- movs r2, #0x3f
- ands r4, r2
- movs r3, #0x32
- ldrsh r0, [r6, r3]
- ldrh r1, [r1, #8]
- subs r0, r0, r1
- asrs r0, r0, #4
- ands r0, r2
- lsls r0, r0, #6
- orrs r4, r0
- ldr r1, _08022224 @ =gUnk_080B4488
- ldrb r0, [r6, #0xb]
- lsls r0, r0, #1
- adds r0, r0, r1
- movs r1, #0
- ldrsh r0, [r0, r1]
- adds r4, r4, r0
- adds r0, r6, #0
- adds r0, #0x7e
- strh r4, [r0]
- adds r5, r6, #0
- adds r5, #0x38
- ldrb r1, [r5]
- adds r0, r4, #0
- bl sub_080001DA
- adds r1, r6, #0
- adds r1, #0x7c
- strh r0, [r1]
- ldr r1, _08022228 @ =gUnk_080CB79C
- ldrb r0, [r6, #0xb]
- lsls r0, r0, #1
- adds r0, r0, r1
- ldrh r0, [r0]
- ldrb r2, [r5]
- adds r1, r4, #0
- bl UpdateCollisionLayer
- pop {r4, r5, r6, pc}
- .align 2, 0
-_08022220: .4byte gRoomControls
-_08022224: .4byte gUnk_080B4488
-_08022228: .4byte gUnk_080CB79C
-
- thumb_func_start sub_0802222C
-sub_0802222C: @ 0x0802222C
- push {lr}
- ldr r1, _08022238 @ =gUnk_080CB948
- bl sub_0800129E
- pop {pc}
- .align 2, 0
-_08022238: .4byte gUnk_080CB948
-
- thumb_func_start sub_0802223C
-sub_0802223C: @ 0x0802223C
- push {lr}
- ldr r2, _08022250 @ =gUnk_080CB960
- ldrb r1, [r0, #0xc]
- lsls r1, r1, #2
- adds r1, r1, r2
- ldr r1, [r1]
- bl _call_via_r1
- pop {pc}
- .align 2, 0
-_08022250: .4byte gUnk_080CB960
-
- thumb_func_start sub_08022254
-sub_08022254: @ 0x08022254
- push {r4, r5, lr}
- adds r4, r0, #0
- adds r0, #0x45
- ldrb r0, [r0]
- cmp r0, #0
- beq _08022344
- adds r0, r4, #0
- adds r0, #0x41
- ldrb r1, [r0]
- movs r0, #0x7f
- ands r0, r1
- subs r0, #4
- cmp r0, #0x18
- bhi _08022356
- lsls r0, r0, #2
- ldr r1, _0802227C @ =_08022280
- adds r0, r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0802227C: .4byte _08022280
-_08022280: @ jump table
- .4byte _080222E4 @ case 0
- .4byte _080222E4 @ case 1
- .4byte _080222E4 @ case 2
- .4byte _08022356 @ case 3
- .4byte _080222E4 @ case 4
- .4byte _080222E4 @ case 5
- .4byte _080222E4 @ case 6
- .4byte _080222E4 @ case 7
- .4byte _080222E4 @ case 8
- .4byte _080222E4 @ case 9
- .4byte _08022356 @ case 10
- .4byte _08022356 @ case 11
- .4byte _080222E4 @ case 12
- .4byte _080222E4 @ case 13
- .4byte _080222E4 @ case 14
- .4byte _08022356 @ case 15
- .4byte _08022356 @ case 16
- .4byte _08022356 @ case 17
- .4byte _080222F2 @ case 18
- .4byte _08022356 @ case 19
- .4byte _080222E4 @ case 20
- .4byte _080222E4 @ case 21
- .4byte _080222E4 @ case 22
- .4byte _08022356 @ case 23
- .4byte _080222F2 @ case 24
-_080222E4:
- ldr r0, _08022340 @ =gLinkState
- adds r0, #0xac
- ldrh r1, [r0]
- movs r0, #8
- ands r0, r1
- cmp r0, #0
- beq _08022356
-_080222F2:
- adds r0, r4, #0
- movs r1, #4
- movs r2, #0
- bl CreateFx
- movs r0, #1
- movs r1, #1
- bl CreateEnemy
- adds r5, r0, #0
- cmp r5, #0
- beq _08022356
- movs r0, #1
- strb r0, [r5, #0xb]
- adds r1, r5, #0
- adds r1, #0x3d
- movs r0, #0xf8
- strb r0, [r1]
- adds r0, r4, #0
- adds r1, r5, #0
- bl sub_0804A4E4
- movs r0, #2
- strb r0, [r4, #0xc]
- ldrb r1, [r4, #0x10]
- movs r0, #0x7f
- ands r0, r1
- strb r0, [r4, #0x10]
- ldrb r1, [r4, #0x18]
- movs r0, #4
- rsbs r0, r0, #0
- ands r0, r1
- strb r0, [r4, #0x18]
- adds r0, r4, #0
- adds r0, #0x3e
- ldrb r0, [r0]
- strb r0, [r4, #0x15]
- str r5, [r4, #0x54]
- b _08022356
- .align 2, 0
-_08022340: .4byte gLinkState
-_08022344:
- adds r0, r4, #0
- adds r0, #0x3f
- ldrb r0, [r0]
- cmp r0, #0x94
- beq _08022356
- adds r0, r4, #0
- movs r1, #2
- bl UpdateSprite
-_08022356:
- ldr r1, _08022360 @ =gUnk_080CB948
- adds r0, r4, #0
- bl sub_0804AA30
- pop {r4, r5, pc}
- .align 2, 0
-_08022360: .4byte gUnk_080CB948
-
- thumb_func_start nullsub_131
-nullsub_131: @ 0x08022364
- bx lr
- .align 2, 0
-
- thumb_func_start sub_08022368
-sub_08022368: @ 0x08022368
- push {r4, lr}
- adds r4, r0, #0
- bl sub_0804A720
- movs r0, #1
- strb r0, [r4, #0xc]
- bl Random
- strb r0, [r4, #0xe]
- adds r0, r4, #0
- movs r1, #1
- bl sub_08049F84
- strb r0, [r4, #0x15]
- adds r0, r4, #0
- movs r1, #0
- bl UpdateSprite
- pop {r4, pc}
- .align 2, 0
-
- thumb_func_start sub_08022390
-sub_08022390: @ 0x08022390
- push {r4, lr}
- adds r4, r0, #0
- movs r1, #1
- bl sub_08049FDC
- cmp r0, #0
- beq _080223D4
- ldrb r1, [r4, #0xe]
- adds r0, r1, #1
- strb r0, [r4, #0xe]
- movs r0, #0xf
- ands r0, r1
- cmp r0, #0
- bne _080223C0
- adds r0, r4, #0
- movs r1, #1
- bl sub_08049F84
- strb r0, [r4, #0x15]
- bl Random
- movs r1, #4
- ands r0, r1
- strb r0, [r4, #0xf]
-_080223C0:
- ldrb r0, [r4, #0xf]
- cmp r0, #0
- bne _080223CE
- adds r0, r4, #0
- bl sub_080AEF88
- b _080223DA
-_080223CE:
- subs r0, #1
- strb r0, [r4, #0xf]
- b _080223DA
-_080223D4:
- bl Random
- strb r0, [r4, #0xe]
-_080223DA:
- adds r0, r4, #0
- bl sub_08004274
- pop {r4, pc}
- .align 2, 0
-
- thumb_func_start sub_080223E4
-sub_080223E4: @ 0x080223E4
- push {lr}
- adds r3, r0, #0
- ldr r2, [r3, #0x54]
- cmp r2, #0
- beq _0802240A
- adds r1, r2, #0
- adds r1, #0x41
- movs r0, #0x94
- strb r0, [r1]
- subs r1, #4
- movs r0, #0x10
- strb r0, [r1]
- adds r1, #5
- movs r0, #0xc
- strb r0, [r1]
- ldrb r1, [r3, #0x15]
- adds r0, r2, #0
- adds r0, #0x3e
- strb r1, [r0]
-_0802240A:
- adds r0, r3, #0
- bl sub_0805E7BC
- pop {pc}
- .align 2, 0
-
- thumb_func_start sub_08022414
-sub_08022414: @ 0x08022414
- push {r4, lr}
- adds r4, r0, #0
- ldr r1, _08022430 @ =gUnk_080CBA28
- bl sub_0800129E
- movs r3, #0x10
- rsbs r3, r3, #0
- adds r0, r4, #0
- movs r1, #0
- movs r2, #1
- bl sub_0804A9AC
- pop {r4, pc}
- .align 2, 0
-_08022430: .4byte gUnk_080CBA28
-
- thumb_func_start sub_08022434
-sub_08022434: @ 0x08022434
- push {lr}
- ldr r2, _08022448 @ =gUnk_080CBA40
- ldrb r1, [r0, #0xc]
- lsls r1, r1, #2
- adds r1, r1, r2
- ldr r1, [r1]
- bl _call_via_r1
- pop {pc}
- .align 2, 0
-_08022448: .4byte gUnk_080CBA40
-
- thumb_func_start sub_0802244C
-sub_0802244C: @ 0x0802244C
- push {r4, r5, r6, r7, lr}
- adds r4, r0, #0
- adds r5, r4, #0
- adds r5, #0x45
- ldrb r0, [r5]
- cmp r0, #0
- bne _0802245C
- b _08022582
-_0802245C:
- adds r0, r4, #0
- adds r0, #0x3f
- ldrb r1, [r0]
- adds r6, r0, #0
- cmp r1, #0x65
- bne _08022522
- adds r0, #2
- ldrb r1, [r0]
- movs r0, #0x7f
- ands r0, r1
- subs r0, #2
- cmp r0, #0x18
- bhi _08022540
- lsls r0, r0, #2
- ldr r1, _08022480 @ =_08022484
- adds r0, r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08022480: .4byte _08022484
-_08022484: @ jump table
- .4byte _080224E8 @ case 0
- .4byte _080224E8 @ case 1
- .4byte _08022540 @ case 2
- .4byte _08022540 @ case 3
- .4byte _08022540 @ case 4
- .4byte _08022540 @ case 5
- .4byte _08022508 @ case 6
- .4byte _08022508 @ case 7
- .4byte _08022508 @ case 8
- .4byte _08022508 @ case 9
- .4byte _08022508 @ case 10
- .4byte _08022540 @ case 11
- .4byte _08022540 @ case 12
- .4byte _08022540 @ case 13
- .4byte _08022540 @ case 14
- .4byte _08022540 @ case 15
- .4byte _08022540 @ case 16
- .4byte _08022540 @ case 17
- .4byte _08022540 @ case 18
- .4byte _08022540 @ case 19
- .4byte _08022508 @ case 20
- .4byte _08022540 @ case 21
- .4byte _08022508 @ case 22
- .4byte _08022508 @ case 23
- .4byte _08022508 @ case 24
-_080224E8:
- movs r0, #2
- strb r0, [r4, #0xc]
- movs r0, #0x3c
- strb r0, [r4, #0xf]
- movs r0, #0x5c
- strb r0, [r6]
- ldr r0, _08022504 @ =gUnk_080FD468
- str r0, [r4, #0x48]
- adds r0, r4, #0
- movs r1, #0
- bl UpdateSprite
- b _08022540
- .align 2, 0
-_08022504: .4byte gUnk_080FD468
-_08022508:
- adds r0, r4, #0
- movs r1, #0x1c
- bl sub_0804A9FC
- movs r0, #5
- strb r0, [r4, #0xc]
- movs r0, #0x5c
- strb r0, [r6]
- adds r0, r4, #0
- movs r1, #1
- bl UpdateSprite
- b _08022540
-_08022522:
- adds r0, r4, #0
- adds r0, #0x41
- ldrb r0, [r0]
- cmp r0, #0x94
- bne _08022540
- adds r0, r4, #0
- movs r1, #0x1c
- bl sub_0804A9FC
- movs r0, #5
- strb r0, [r4, #0xc]
- adds r0, r4, #0
- movs r1, #1
- bl UpdateSprite
-_08022540:
- adds r0, r4, #0
- adds r0, #0x80
- adds r1, r4, #0
- adds r1, #0x45
- ldrb r2, [r0]
- adds r5, r1, #0
- adds r7, r0, #0
- ldrb r0, [r5]
- cmp r2, r0
- beq _08022566
- movs r0, #5
- strb r0, [r4, #0xc]
- movs r0, #0x5c
- strb r0, [r6]
- adds r0, r4, #0
- movs r1, #1
- bl UpdateSprite
- b _0802258E
-_08022566:
- ldrb r0, [r4, #0xc]
- cmp r0, #3
- bne _0802258E
- movs r0, #4
- strb r0, [r4, #0xc]
- adds r0, r4, #0
- movs r1, #3
- bl UpdateSprite
- movs r0, #0xca
- lsls r0, r0, #1
- bl sub_08004488
- b _0802258E
-_08022582:
- adds r0, r4, #0
- movs r1, #1
- bl UpdateSprite
- adds r7, r4, #0
- adds r7, #0x80
-_0802258E:
- ldrb r0, [r5]
- strb r0, [r7]
- ldr r1, _0802259C @ =gUnk_080CBA28
- adds r0, r4, #0
- bl sub_0804AA30
- pop {r4, r5, r6, r7, pc}
- .align 2, 0
-_0802259C: .4byte gUnk_080CBA28
-
- thumb_func_start sub_080225A0
-sub_080225A0: @ 0x080225A0
- push {r4, lr}
- adds r4, r0, #0
- adds r0, #0x58
- ldrb r0, [r0]
- cmp r0, #1
- bne _080225B2
- adds r0, r4, #0
- bl sub_08004274
-_080225B2:
- adds r0, r4, #0
- bl sub_08001318
- pop {r4, pc}
- .align 2, 0
-
- thumb_func_start sub_080225BC
-sub_080225BC: @ 0x080225BC
- push {r4, lr}
- adds r4, r0, #0
- movs r1, #0xc0
- lsls r1, r1, #5
- bl sub_08003FC4
- adds r0, r4, #0
- adds r0, #0x5a
- ldrb r1, [r0]
- movs r0, #1
- ands r0, r1
- cmp r0, #0
- beq _080225DE
- adds r0, r4, #0
- bl sub_0804A7D4
- b _080225E4
-_080225DE:
- adds r0, r4, #0
- bl sub_08004274
-_080225E4:
- pop {r4, pc}
- .align 2, 0
-
- thumb_func_start nullsub_9
-nullsub_9: @ 0x080225E8
- bx lr
- .align 2, 0
-
- thumb_func_start sub_080225EC
-sub_080225EC: @ 0x080225EC
- push {r4, lr}
- adds r4, r0, #0
- bl sub_0804A720
- adds r0, r4, #0
- adds r0, #0x45
- ldrb r1, [r0]
- adds r0, #0x3b
- strb r1, [r0]
- adds r1, r4, #0
- adds r1, #0x81
- movs r0, #0x5a
- strb r0, [r1]
- ldrb r0, [r4, #0xe]
- cmp r0, #0
- bne _0802261A
- movs r0, #2
- strb r0, [r4, #0xc]
- adds r0, r4, #0
- movs r1, #0
- bl UpdateSprite
- b _0802264C
-_0802261A:
- movs r0, #1
- strb r0, [r4, #0xc]
- movs r0, #0x3c
- strb r0, [r4, #0xf]
- ldrb r0, [r4, #0x18]
- movs r1, #3
- orrs r0, r1
- strb r0, [r4, #0x18]
- ldrb r2, [r4, #0x19]
- movs r1, #0x3f
- adds r0, r1, #0
- ands r0, r2
- movs r2, #0x40
- orrs r0, r2
- strb r0, [r4, #0x19]
- ldrb r0, [r4, #0x1b]
- ands r1, r0
- orrs r1, r2
- strb r1, [r4, #0x1b]
- ldr r0, _08022650 @ =0x0000FF80
- strh r0, [r4, #0x36]
- adds r0, r4, #0
- movs r1, #6
- bl UpdateSprite
-_0802264C:
- pop {r4, pc}
- .align 2, 0
-_08022650: .4byte 0x0000FF80
-
- thumb_func_start sub_08022654
-sub_08022654: @ 0x08022654
- push {r4, lr}
- adds r4, r0, #0
- ldrb r0, [r4, #0xd]
- cmp r0, #1
- beq _0802268C
- cmp r0, #1
- bgt _08022668
- cmp r0, #0
- beq _0802266E
- b _080226E4
-_08022668:
- cmp r0, #2
- beq _080226BE
- b _080226E4
-_0802266E:
- ldrb r0, [r4, #0xf]
- subs r0, #1
- strb r0, [r4, #0xf]
- lsls r0, r0, #0x18
- cmp r0, #0
- bne _080226E4
- movs r0, #1
- strb r0, [r4, #0xd]
- ldr r0, _080226E8 @ =0x0000012D
- bl PlaySFX
- adds r0, r4, #0
- movs r1, #0
- bl UpdateSprite
-_0802268C:
- movs r1, #0xc0
- lsls r1, r1, #5
- adds r0, r4, #0
- bl sub_08003FC4
- cmp r0, #0
- bne _080226E4
- movs r0, #2
- strb r0, [r4, #0xd]
- ldrb r1, [r4, #0x18]
- subs r0, #6
- ands r0, r1
- movs r1, #1
- orrs r0, r1
- strb r0, [r4, #0x18]
- adds r0, r4, #0
- movs r1, #5
- bl UpdateSprite
- movs r0, #0x7d
- bl sub_08004488
- adds r0, r4, #0
- bl UpdateSpriteOrderAndFlip
-_080226BE:
- adds r0, r4, #0
- bl sub_08004274
- ldrb r0, [r4, #0xe]
- subs r0, #1
- strb r0, [r4, #0xe]
- lsls r0, r0, #0x18
- cmp r0, #0
- bne _080226E4
- movs r0, #3
- strb r0, [r4, #0xc]
- adds r1, r4, #0
- adds r1, #0x3f
- movs r0, #0x65
- strb r0, [r1]
- adds r0, r4, #0
- movs r1, #2
- bl UpdateSprite
-_080226E4:
- pop {r4, pc}
- .align 2, 0
-_080226E8: .4byte 0x0000012D
-
- thumb_func_start sub_080226EC
-sub_080226EC: @ 0x080226EC
- push {r4, lr}
- adds r4, r0, #0
- movs r1, #1
- bl sub_08049FDC
- cmp r0, #0
- beq _08022776
- adds r0, r4, #0
- bl sub_080228CC
- cmp r0, #0
- beq _0802271A
- movs r0, #3
- strb r0, [r4, #0xc]
- adds r1, r4, #0
- adds r1, #0x3f
- movs r0, #0x65
- strb r0, [r1]
- adds r0, r4, #0
- movs r1, #2
- bl UpdateSprite
- b _0802277C
-_0802271A:
- adds r0, r4, #0
- bl sub_080228F0
- cmp r0, #0
- beq _08022758
- movs r0, #6
- strb r0, [r4, #0xc]
- movs r0, #0x90
- lsls r0, r0, #9
- str r0, [r4, #0x20]
- movs r0, #0xa0
- lsls r0, r0, #1
- strh r0, [r4, #0x24]
- ldr r0, _08022754 @ =gUnk_020000B0
- ldr r1, [r0]
- adds r0, r4, #0
- bl sub_080045C4
- strb r0, [r4, #0x15]
- adds r1, r4, #0
- adds r1, #0x3f
- movs r0, #0x5a
- strb r0, [r1]
- adds r0, r4, #0
- movs r1, #4
- bl UpdateSprite
- b _0802277C
- .align 2, 0
-_08022754: .4byte gUnk_020000B0
-_08022758:
- ldrb r1, [r4, #0xe]
- adds r0, r1, #1
- strb r0, [r4, #0xe]
- movs r0, #7
- ands r0, r1
- cmp r0, #0
- bne _08022770
- adds r0, r4, #0
- movs r1, #1
- bl sub_08049F84
- strb r0, [r4, #0x15]
-_08022770:
- adds r0, r4, #0
- bl sub_080AEF88
-_08022776:
- adds r0, r4, #0
- bl sub_08004274
-_0802277C:
- pop {r4, pc}
- .align 2, 0
-
- thumb_func_start sub_08022780
-sub_08022780: @ 0x08022780
- push {r4, lr}
- adds r4, r0, #0
- bl sub_08004274
- adds r0, r4, #0
- adds r0, #0x5a
- ldrb r1, [r0]
- movs r0, #0x80
- ands r0, r1
- cmp r0, #0
- beq _080227AA
- movs r0, #4
- strb r0, [r4, #0xc]
- adds r0, r4, #0
- movs r1, #3
- bl UpdateSprite
- movs r0, #0xca
- lsls r0, r0, #1
- bl sub_08004488
-_080227AA:
- pop {r4, pc}
-
- thumb_func_start sub_080227AC
-sub_080227AC: @ 0x080227AC
- push {r4, lr}
- adds r4, r0, #0
- bl sub_08004274
- adds r0, r4, #0
- adds r0, #0x5a
- ldrb r1, [r0]
- movs r0, #1
- ands r0, r1
- cmp r0, #0
- beq _080227CC
- ldr r0, _080227C8 @ =gUnk_080FD470
- b _080227CE
- .align 2, 0
-_080227C8: .4byte gUnk_080FD470
-_080227CC:
- ldr r0, _08022814 @ =gUnk_080FD468
-_080227CE:
- str r0, [r4, #0x48]
- adds r2, r4, #0
- adds r2, #0x5a
- ldrb r1, [r2]
- movs r3, #2
- adds r0, r3, #0
- ands r0, r1
- cmp r0, #0
- beq _080227EE
- movs r0, #0xfd
- ands r0, r1
- strb r0, [r2]
- adds r1, r4, #0
- adds r1, #0x3f
- movs r0, #0x5c
- strb r0, [r1]
-_080227EE:
- ldrb r1, [r2]
- movs r0, #0x80
- ands r0, r1
- cmp r0, #0
- beq _08022812
- strb r3, [r4, #0xc]
- bl Random
- ldr r2, _08022818 @ =gUnk_080CBA60
- movs r1, #3
- ands r1, r0
- adds r1, r1, r2
- ldrb r0, [r1]
- strb r0, [r4, #0xf]
- adds r0, r4, #0
- movs r1, #0
- bl UpdateSprite
-_08022812:
- pop {r4, pc}
- .align 2, 0
-_08022814: .4byte gUnk_080FD468
-_08022818: .4byte gUnk_080CBA60
-
- thumb_func_start sub_0802281C
-sub_0802281C: @ 0x0802281C
- push {r4, lr}
- adds r4, r0, #0
- movs r1, #0xc0
- lsls r1, r1, #5
- bl sub_08003FC4
- adds r0, r4, #0
- bl sub_08004274
- adds r0, r4, #0
- adds r0, #0x5a
- ldrb r1, [r0]
- movs r0, #0x80
- ands r0, r1
- cmp r0, #0
- beq _08022852
- movs r0, #2
- strb r0, [r4, #0xc]
- movs r0, #0x20
- strh r0, [r4, #0x24]
- adds r0, r4, #0
- movs r1, #0
- bl UpdateSprite
- adds r0, r4, #0
- bl sub_0804AA1C
-_08022852:
- pop {r4, pc}
-
- thumb_func_start sub_08022854
-sub_08022854: @ 0x08022854
- push {r4, lr}
- adds r4, r0, #0
- bl sub_08004274
- adds r0, r4, #0
- adds r0, #0x5a
- ldrb r1, [r0]
- movs r0, #1
- ands r0, r1
- cmp r0, #0
- beq _08022898
- adds r0, r4, #0
- bl sub_080AEFE0
- movs r1, #0xc0
- lsls r1, r1, #5
- adds r0, r4, #0
- bl sub_08003FC4
- cmp r0, #0
- bne _08022898
- movs r0, #7
- strb r0, [r4, #0xc]
- adds r1, r4, #0
- adds r1, #0x3f
- movs r0, #0x5c
- strb r0, [r1]
- adds r0, r4, #0
- movs r1, #5
- bl UpdateSprite
- movs r0, #0x7d
- bl sub_08004488
-_08022898:
- pop {r4, pc}
- .align 2, 0
-
- thumb_func_start sub_0802289C
-sub_0802289C: @ 0x0802289C
- push {r4, lr}
- adds r4, r0, #0
- bl sub_08004274
- adds r0, r4, #0
- adds r0, #0x5a
- ldrb r1, [r0]
- movs r0, #0x80
- ands r0, r1
- cmp r0, #0
- beq _080228CA
- movs r0, #2
- strb r0, [r4, #0xc]
- movs r0, #0x20
- strh r0, [r4, #0x24]
- adds r1, r4, #0
- adds r1, #0x81
- movs r0, #0x78
- strb r0, [r1]
- adds r0, r4, #0
- movs r1, #0
- bl UpdateSprite
-_080228CA:
- pop {r4, pc}
-
- thumb_func_start sub_080228CC
-sub_080228CC: @ 0x080228CC
- push {lr}
- adds r1, r0, #0
- ldrb r0, [r1, #0xf]
- cmp r0, #0
- bne _080228E8
- adds r0, r1, #0
- movs r1, #1
- movs r2, #0x28
- bl sub_08049F64
- cmp r0, #0
- beq _080228EC
- movs r0, #1
- b _080228EE
-_080228E8:
- subs r0, #1
- strb r0, [r1, #0xf]
-_080228EC:
- movs r0, #0
-_080228EE:
- pop {pc}
-
- thumb_func_start sub_080228F0
-sub_080228F0: @ 0x080228F0
- push {lr}
- adds r1, r0, #0
- adds r2, r1, #0
- adds r2, #0x81
- ldrb r0, [r2]
- cmp r0, #0
- bne _08022910
- adds r0, r1, #0
- movs r1, #1
- movs r2, #0x40
- bl sub_08049F64
- cmp r0, #0
- beq _08022914
- movs r0, #1
- b _08022916
-_08022910:
- subs r0, #1
- strb r0, [r2]
-_08022914:
- movs r0, #0
-_08022916:
- pop {pc}
-
- thumb_func_start sub_08022918
-sub_08022918: @ 0x08022918
- push {r4, r5, lr}
- adds r5, r0, #0
- ldr r4, _08022930 @ =gUnk_080CBB64
- bl sub_0800279C
- lsls r0, r0, #2
- adds r0, r0, r4
- ldr r1, [r0]
- adds r0, r5, #0
- bl _call_via_r1
- pop {r4, r5, pc}
- .align 2, 0
-_08022930: .4byte gUnk_080CBB64
-
- thumb_func_start sub_08022934
-sub_08022934: @ 0x08022934
- push {lr}
- ldr r2, _08022948 @ =gUnk_080CBB7C
- ldrb r1, [r0, #0xc]
- lsls r1, r1, #2
- adds r1, r1, r2
- ldr r1, [r1]
- bl _call_via_r1
- pop {pc}
- .align 2, 0
-_08022948: .4byte gUnk_080CBB7C
-
- thumb_func_start sub_0802294C
-sub_0802294C: @ 0x0802294C
- push {lr}
- ldr r1, _08022958 @ =gUnk_080CBB64
- bl sub_0804AA30
- pop {pc}
- .align 2, 0
-_08022958: .4byte gUnk_080CBB64
-
- thumb_func_start nullsub_132
-nullsub_132: @ 0x0802295C
- bx lr
- .align 2, 0
-
- thumb_func_start sub_08022960
-sub_08022960: @ 0x08022960
- push {r4, lr}
- adds r4, r0, #0
- bl sub_0804A720
- adds r0, r4, #0
- bl sub_08022A88
- pop {r4, pc}
-
- thumb_func_start sub_08022970
-sub_08022970: @ 0x08022970
- push {lr}
- adds r1, r0, #0
- ldrb r0, [r1, #0xe]
- subs r0, #1
- strb r0, [r1, #0xe]
- lsls r0, r0, #0x18
- cmp r0, #0
- bne _08022986
- adds r0, r1, #0
- bl sub_08022AA4
-_08022986:
- pop {pc}
-
- thumb_func_start sub_08022988
-sub_08022988: @ 0x08022988
- push {r4, lr}
- adds r4, r0, #0
- movs r1, #0x36
- ldrsh r0, [r4, r1]
- cmp r0, #0
- bne _080229A6
- adds r0, r4, #0
- bl sub_08022B20
- cmp r0, #0
- beq _080229A6
- adds r0, r4, #0
- bl sub_08022B0C
- b _080229F6
-_080229A6:
- ldrb r0, [r4, #0xf]
- cmp r0, #0
- beq _080229C6
- subs r0, #1
- strb r0, [r4, #0xf]
- lsls r0, r0, #0x18
- cmp r0, #0
- bne _080229F6
- movs r0, #1
- strb r0, [r4, #0x1e]
- movs r0, #0x80
- lsls r0, r0, #9
- str r0, [r4, #0x20]
- movs r0, #0xd6
- bl sub_08004488
-_080229C6:
- adds r0, r4, #0
- bl sub_080AEF88
- movs r1, #0x80
- lsls r1, r1, #6
- adds r0, r4, #0
- bl sub_08003FC4
- adds r1, r0, #0
- cmp r1, #0
- bne _080229F6
- ldrb r0, [r4, #0xe]
- subs r0, #1
- strb r0, [r4, #0xe]
- lsls r0, r0, #0x18
- cmp r0, #0
- bne _080229F0
- adds r0, r4, #0
- bl sub_08022A88
- b _080229F6
-_080229F0:
- movs r0, #4
- strb r0, [r4, #0xf]
- strb r1, [r4, #0x1e]
-_080229F6:
- pop {r4, pc}
-
- thumb_func_start sub_080229F8
-sub_080229F8: @ 0x080229F8
- push {r4, lr}
- adds r4, r0, #0
- movs r1, #0xa0
- lsls r1, r1, #6
- bl sub_08003FC4
- cmp r0, #0
- bne _08022A3C
- ldrb r0, [r4, #0xe]
- subs r0, #1
- strb r0, [r4, #0xe]
- lsls r0, r0, #0x18
- lsrs r1, r0, #0x18
- cmp r1, #0
- bne _08022A30
- movs r0, #4
- strb r0, [r4, #0xc]
- movs r0, #6
- strb r0, [r4, #0xe]
- movs r0, #8
- strb r0, [r4, #0xf]
- strb r1, [r4, #0x1e]
- movs r0, #0xc0
- strh r0, [r4, #0x24]
- adds r0, r4, #0
- bl sub_08022B44
- b _08022A3C
-_08022A30:
- movs r0, #0x80
- lsls r0, r0, #9
- str r0, [r4, #0x20]
- movs r0, #0xd6
- bl sub_08004488
-_08022A3C:
- pop {r4, pc}
- .align 2, 0
-
- thumb_func_start sub_08022A40
-sub_08022A40: @ 0x08022A40
- push {r4, lr}
- adds r4, r0, #0
- ldrb r0, [r4, #0xf]
- cmp r0, #0
- beq _08022A58
- subs r0, #1
- strb r0, [r4, #0xf]
- lsls r0, r0, #0x18
- cmp r0, #0
- bne _08022A86
- movs r0, #1
- strb r0, [r4, #0x1e]
-_08022A58:
- adds r0, r4, #0
- bl sub_080AEF88
- movs r1, #0x80
- lsls r1, r1, #6
- adds r0, r4, #0
- bl sub_08003FC4
- cmp r0, #0
- bne _08022A86
- ldrb r0, [r4, #0xe]
- subs r0, #1
- strb r0, [r4, #0xe]
- lsls r0, r0, #0x18
- cmp r0, #0
- bne _08022A80
- adds r0, r4, #0
- bl sub_08022A88
- b _08022A86
-_08022A80:
- adds r0, r4, #0
- bl sub_08022B44
-_08022A86:
- pop {r4, pc}
-
- thumb_func_start sub_08022A88
-sub_08022A88: @ 0x08022A88
- push {r4, r5, lr}
- adds r4, r0, #0
- movs r5, #0
- movs r0, #1
- strb r0, [r4, #0xc]
- bl Random
- movs r1, #0xf
- ands r0, r1
- adds r0, #8
- strb r0, [r4, #0xe]
- strb r5, [r4, #0x1e]
- pop {r4, r5, pc}
- .align 2, 0
-
- thumb_func_start sub_08022AA4
-sub_08022AA4: @ 0x08022AA4
- push {r4, r5, lr}
- adds r4, r0, #0
- bl Random
- adds r5, r0, #0
- movs r0, #2
- strb r0, [r4, #0xc]
- movs r1, #3
- adds r0, r5, #0
- ands r0, r1
- adds r0, #1
- strb r0, [r4, #0xe]
- movs r0, #1
- strb r0, [r4, #0xf]
- movs r0, #0x80
- strh r0, [r4, #0x24]
- adds r0, r4, #0
- bl sub_08049FA0
- cmp r0, #0
- bne _08022AE0
- lsrs r0, r5, #8
- movs r1, #3
- ands r0, r1
- cmp r0, #0
- beq _08022AE0
- adds r0, r4, #0
- bl sub_08049EE4
- b _08022AE6
-_08022AE0:
- lsrs r0, r5, #0x10
- movs r1, #0x1f
- ands r0, r1
-_08022AE6:
- strb r0, [r4, #0x15]
- ldrb r1, [r4, #0x15]
- movs r0, #0xf
- ands r0, r1
- cmp r0, #0
- beq _08022B08
- lsrs r1, r1, #4
- movs r0, #1
- eors r1, r0
- ands r1, r0
- lsls r1, r1, #6
- ldrb r2, [r4, #0x18]
- movs r0, #0x41
- rsbs r0, r0, #0
- ands r0, r2
- orrs r0, r1
- strb r0, [r4, #0x18]
-_08022B08:
- pop {r4, r5, pc}
- .align 2, 0
-
- thumb_func_start sub_08022B0C
-sub_08022B0C: @ 0x08022B0C
- push {lr}
- movs r1, #3
- strb r1, [r0, #0xc]
- strb r1, [r0, #0xe]
- movs r1, #8
- strb r1, [r0, #0xf]
- bl sub_08022B44
- pop {pc}
- .align 2, 0
-
- thumb_func_start sub_08022B20
-sub_08022B20: @ 0x08022B20
- push {r4, lr}
- adds r4, r0, #0
- movs r0, #2
- bl sub_08049DF4
- cmp r0, #0
- beq _08022B40
- ldr r1, _08022B3C @ =gLinkEntity
- adds r0, r4, #0
- movs r2, #0x24
- movs r3, #0x24
- bl sub_080041A0
- b _08022B42
- .align 2, 0
-_08022B3C: .4byte gLinkEntity
-_08022B40:
- movs r0, #0
-_08022B42:
- pop {r4, pc}
-
- thumb_func_start sub_08022B44
-sub_08022B44: @ 0x08022B44
- push {r4, lr}
- adds r4, r0, #0
- movs r0, #0xc0
- lsls r0, r0, #8
- str r0, [r4, #0x20]
- ldr r1, _08022B84 @ =gLinkEntity
- adds r0, r4, #0
- bl sub_080045C4
- adds r1, r0, #0
- strb r1, [r4, #0x15]
- movs r0, #0xf
- ands r0, r1
- cmp r0, #0
- beq _08022B7A
- lsls r1, r1, #0x18
- lsrs r1, r1, #0x1c
- movs r0, #1
- eors r1, r0
- ands r1, r0
- lsls r1, r1, #6
- ldrb r2, [r4, #0x18]
- movs r0, #0x41
- rsbs r0, r0, #0
- ands r0, r2
- orrs r0, r1
- strb r0, [r4, #0x18]
-_08022B7A:
- movs r0, #0xd6
- bl sub_08004488
- pop {r4, pc}
- .align 2, 0
-_08022B84: .4byte gLinkEntity
-
- thumb_func_start sub_08022B88
-sub_08022B88: @ 0x08022B88
- push {lr}
- ldr r2, _08022B9C @ =gUnk_080CBB90
- ldrb r1, [r0, #0xa]
- lsls r1, r1, #2
- adds r1, r1, r2
- ldr r1, [r1]
- bl _call_via_r1
- pop {pc}
- .align 2, 0
-_08022B9C: .4byte gUnk_080CBB90
-
- thumb_func_start sub_08022BA0
-sub_08022BA0: @ 0x08022BA0
- push {r4, lr}
- adds r4, r0, #0
- adds r1, r4, #0
- adds r1, #0x79
- ldrb r0, [r1]
- adds r0, #1
- strb r0, [r1]
- ldrh r1, [r4, #0x2e]
- adds r0, r4, #0
- adds r0, #0x74
- strh r1, [r0]
- ldrh r0, [r4, #0x32]
- adds r1, r4, #0
- adds r1, #0x76
- strh r0, [r1]
- ldr r1, _08022BD0 @ =gUnk_080CBBA0
- adds r0, r4, #0
- bl sub_0800129E
- adds r0, r4, #0
- bl sub_08022EAC
- pop {r4, pc}
- .align 2, 0
-_08022BD0: .4byte gUnk_080CBBA0
-
- thumb_func_start sub_08022BD4
-sub_08022BD4: @ 0x08022BD4
- push {lr}
- ldr r2, _08022BE8 @ =gUnk_080CBBB4
- ldrb r1, [r0, #0xc]
- lsls r1, r1, #2
- adds r1, r1, r2
- ldr r1, [r1]
- bl _call_via_r1
- pop {pc}
- .align 2, 0
-_08022BE8: .4byte gUnk_080CBBB4
-
- thumb_func_start sub_08022BEC
-sub_08022BEC: @ 0x08022BEC
- push {lr}
- adds r2, r0, #0
- movs r0, #0x7a
- adds r0, r0, r2
- mov ip, r0
- adds r3, r2, #0
- adds r3, #0x45
- ldrb r0, [r0]
- ldrb r1, [r3]
- cmp r0, r1
- beq _08022C0A
- adds r1, r2, #0
- adds r1, #0x7b
- movs r0, #0x1e
- strb r0, [r1]
-_08022C0A:
- ldrb r0, [r3]
- mov r1, ip
- strb r0, [r1]
- movs r0, #1
- strb r0, [r2, #0xe]
- adds r0, r2, #0
- adds r0, #0x3e
- ldrb r0, [r0]
- strb r0, [r2, #0x15]
- ldrb r0, [r2, #0x15]
- adds r0, #2
- movs r1, #0x1c
- ands r0, r1
- asrs r0, r0, #2
- strb r0, [r2, #0x14]
- strb r0, [r2, #0x1e]
- ldr r0, [r2, #0x54]
- adds r3, r2, #0
- adds r3, #0x3d
- ldrb r1, [r3]
- adds r0, #0x3d
- strb r1, [r0]
- ldr r0, [r2, #0x7c]
- ldrb r1, [r3]
- adds r0, #0x3d
- strb r1, [r0]
- adds r0, r2, #0
- adds r0, #0x80
- ldr r0, [r0]
- ldrb r1, [r3]
- adds r0, #0x3d
- strb r1, [r0]
- ldr r1, _08022C54 @ =gUnk_080CBBA0
- adds r0, r2, #0
- bl sub_0804AA30
- pop {pc}
- .align 2, 0
-_08022C54: .4byte gUnk_080CBBA0
-
- thumb_func_start sub_08022C58
-sub_08022C58: @ 0x08022C58
- push {r4, r5, r6, r7, lr}
- mov r7, sb
- mov r6, r8
- push {r6, r7}
- adds r7, r0, #0
- ldrb r1, [r7, #0x10]
- movs r0, #0x7f
- ands r0, r1
- strb r0, [r7, #0x10]
- ldr r0, _08022D3C @ =gUnk_03003DBC
- ldrb r0, [r0]
- cmp r0, #0x44
- bhi _08022D34
- movs r0, #0xd
- movs r1, #1
- bl CreateEnemy
- mov sb, r0
- str r0, [r7, #0x54]
- mov r2, sb
- adds r2, #0x29
- ldrb r1, [r2]
- movs r4, #8
- rsbs r4, r4, #0
- adds r0, r4, #0
- ands r0, r1
- movs r1, #5
- mov r8, r1
- mov r1, r8
- orrs r0, r1
- strb r0, [r2]
- mov r0, sb
- str r7, [r0, #0x50]
- adds r0, r7, #0
- mov r1, sb
- bl CopyPosition
- movs r0, #0xd
- movs r1, #2
- bl CreateEnemy
- adds r6, r0, #0
- mov r1, sb
- str r6, [r1, #0x54]
- adds r2, r6, #0
- adds r2, #0x29
- ldrb r1, [r2]
- adds r0, r4, #0
- ands r0, r1
- mov r1, r8
- orrs r0, r1
- strb r0, [r2]
- str r7, [r6, #0x50]
- adds r0, r7, #0
- adds r1, r6, #0
- bl CopyPosition
- movs r0, #0xd
- movs r1, #3
- bl CreateEnemy
- adds r5, r0, #0
- str r5, [r6, #0x54]
- adds r1, r5, #0
- adds r1, #0x29
- ldrb r0, [r1]
- ands r4, r0
- mov r0, r8
- orrs r4, r0
- strb r4, [r1]
- str r7, [r5, #0x50]
- adds r0, r7, #0
- adds r1, r5, #0
- bl CopyPosition
- adds r0, r7, #0
- bl sub_0804A720
- movs r0, #1
- strb r0, [r7, #0xc]
- strb r0, [r7, #0xe]
- strb r0, [r7, #0xf]
- ldrb r0, [r7, #0x10]
- movs r1, #0x80
- orrs r0, r1
- strb r0, [r7, #0x10]
- str r7, [r7, #0x50]
- mov r1, sb
- str r1, [r7, #0x54]
- str r6, [r7, #0x7c]
- adds r0, r7, #0
- adds r0, #0x80
- str r5, [r0]
- bl Random
- movs r1, #0x1f
- ands r0, r1
- strb r0, [r7, #0x15]
- ldrb r0, [r7, #0x15]
- adds r0, #2
- movs r1, #0x1c
- ands r0, r1
- asrs r0, r0, #2
- strb r0, [r7, #0x14]
- strb r0, [r7, #0x1e]
- adds r0, r7, #0
- adds r0, #0x45
- ldrb r1, [r0]
- adds r0, #0x35
- strb r1, [r0]
-_08022D34:
- pop {r3, r4}
- mov r8, r3
- mov sb, r4
- pop {r4, r5, r6, r7, pc}
- .align 2, 0
-_08022D3C: .4byte gUnk_03003DBC
-
- thumb_func_start sub_08022D40
-sub_08022D40: @ 0x08022D40
- push {r4, lr}
- adds r4, r0, #0
- adds r2, r4, #0
- adds r2, #0x7b
- ldrb r1, [r2]
- cmp r1, #0
- beq _08022D66
- adds r0, r1, #0
- adds r0, #0xff
- strb r0, [r2]
- movs r0, #1
- ands r0, r1
- cmp r0, #0
- beq _08022D8E
- ldrb r0, [r4, #0x14]
- adds r0, #1
- movs r1, #7
- ands r0, r1
- b _08022D8A
-_08022D66:
- adds r0, r4, #0
- bl sub_08022F14
- adds r0, r4, #0
- bl sub_080AEF88
- ldrh r0, [r4, #0x2a]
- cmp r0, #0
- beq _08022D8E
- adds r1, r0, #0
- adds r0, r4, #0
- bl sub_0800417E
- ldrb r0, [r4, #0x15]
- adds r0, #2
- movs r1, #0x1c
- ands r0, r1
- asrs r0, r0, #2
-_08022D8A:
- strb r0, [r4, #0x14]
- strb r0, [r4, #0x1e]
-_08022D8E:
- pop {r4, pc}
-
- thumb_func_start sub_08022D90
-sub_08022D90: @ 0x08022D90
- push {r4, r5, lr}
- adds r5, r0, #0
- ldr r0, [r5, #0x50]
- ldr r0, [r0, #4]
- cmp r0, #0
- beq _08022DE0
- ldr r1, _08022DDC @ =gUnk_080CBBBC
- ldrb r0, [r5, #0xc]
- lsls r0, r0, #2
- adds r0, r0, r1
- ldr r1, [r0]
- adds r0, r5, #0
- bl _call_via_r1
- ldr r4, [r5, #0x50]
- ldrb r2, [r4, #0x1b]
- lsrs r2, r2, #6
- lsls r2, r2, #6
- ldrb r3, [r5, #0x1b]
- movs r1, #0x3f
- adds r0, r1, #0
- ands r0, r3
- orrs r0, r2
- strb r0, [r5, #0x1b]
- ldrb r0, [r4, #0x19]
- lsrs r0, r0, #6
- lsls r0, r0, #6
- ldrb r2, [r5, #0x19]
- ands r1, r2
- orrs r1, r0
- strb r1, [r5, #0x19]
- adds r4, #0x38
- ldrb r1, [r4]
- adds r0, r5, #0
- adds r0, #0x38
- strb r1, [r0]
- b _08022DE6
- .align 2, 0
-_08022DDC: .4byte gUnk_080CBBBC
-_08022DE0:
- adds r0, r5, #0
- bl sub_0805E7BC
-_08022DE6:
- pop {r4, r5, pc}
-
- thumb_func_start sub_08022DE8
-sub_08022DE8: @ 0x08022DE8
- push {lr}
- adds r3, r0, #0
- movs r0, #1
- strb r0, [r3, #0xc]
- adds r0, r3, #0
- adds r0, #0x7c
- movs r1, #0x88
- strb r1, [r0]
- adds r0, #1
- strb r1, [r0]
- adds r0, #1
- strb r1, [r0]
- adds r0, #1
- strb r1, [r0]
- adds r0, #1
- strb r1, [r0]
- adds r0, #1
- strb r1, [r0]
- adds r0, #1
- strb r1, [r0]
- adds r0, #1
- strb r1, [r0]
- ldr r0, [r3, #0x50]
- ldrb r0, [r0, #0x14]
- strb r0, [r3, #0x14]
- adds r2, r3, #0
- adds r2, #0x84
- ldrb r1, [r3, #0x14]
- lsls r0, r1, #4
- adds r0, r0, r1
- lsls r1, r0, #8
- adds r0, r0, r1
- lsls r1, r0, #0x10
- adds r0, r0, r1
- str r0, [r2]
- ldrb r0, [r3, #0xa]
- cmp r0, #3
- beq _08022E38
- adds r0, #7
- b _08022E3C
-_08022E38:
- ldrb r0, [r3, #0x14]
- adds r0, #0xa
-_08022E3C:
- strb r0, [r3, #0x1e]
- pop {pc}
-
- thumb_func_start sub_08022E40
-sub_08022E40: @ 0x08022E40
- push {r4, r5, lr}
- adds r4, r0, #0
- ldrh r1, [r4, #0x2e]
- adds r0, #0x74
- strh r1, [r0]
- ldrh r0, [r4, #0x32]
- adds r1, r4, #0
- adds r1, #0x76
- strh r0, [r1]
- ldr r2, [r4, #0x50]
- adds r2, #0x79
- ldrb r0, [r2]
- adds r0, #1
- movs r3, #7
- ands r0, r3
- adds r0, #0x7c
- adds r0, r4, r0
- ldrb r1, [r0]
- movs r0, #0xf
- ands r0, r1
- subs r0, #8
- lsrs r1, r1, #4
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- ldrh r5, [r4, #0x2e]
- adds r0, r0, r5
- strh r0, [r4, #0x2e]
- subs r1, #8
- ldrh r0, [r4, #0x32]
- adds r1, r1, r0
- strh r1, [r4, #0x32]
- adds r1, r4, #0
- adds r1, #0x84
- ldrb r0, [r2]
- adds r0, #1
- ands r0, r3
- lsls r0, r0, #2
- ldr r1, [r1]
- lsrs r1, r0
- movs r0, #7
- ands r1, r0
- strb r1, [r4, #0x14]
- ldrb r0, [r4, #0xa]
- cmp r0, #3
- bne _08022EA2
- adds r0, r1, #0
- adds r0, #0xa
- strb r0, [r4, #0x1e]
- b _08022EA8
-_08022EA2:
- adds r0, r4, #0
- bl sub_08022EAC
-_08022EA8:
- pop {r4, r5, pc}
- .align 2, 0
-
- thumb_func_start sub_08022EAC
-sub_08022EAC: @ 0x08022EAC
- push {r4, r5, lr}
- mov ip, r0
- ldr r1, [r0, #0x54]
- cmp r1, #0
- beq _08022F12
- ldr r0, [r0, #0x50]
- adds r0, #0x79
- ldrb r0, [r0]
- movs r4, #7
- adds r3, r4, #0
- ands r3, r0
- adds r3, r3, r1
- adds r3, #0x7c
- mov r0, ip
- ldrh r1, [r0, #0x2e]
- adds r0, #0x74
- ldrb r0, [r0]
- subs r1, r1, r0
- adds r1, #8
- movs r5, #0xf
- ands r1, r5
- mov r2, ip
- ldrh r0, [r2, #0x32]
- adds r2, #0x76
- ldrb r2, [r2]
- subs r0, r0, r2
- adds r0, #8
- ands r0, r5
- lsls r0, r0, #4
- adds r1, r1, r0
- strb r1, [r3]
- mov r1, ip
- ldr r0, [r1, #0x50]
- adds r0, #0x79
- ldrb r1, [r0]
- adds r0, r4, #0
- ands r0, r1
- lsls r0, r0, #2
- mov r2, ip
- ldrb r1, [r2, #0x14]
- ands r4, r1
- lsls r4, r0
- movs r2, #0xf
- lsls r2, r0
- mov r0, ip
- ldr r1, [r0, #0x54]
- adds r1, #0x84
- ldr r0, [r1]
- bics r0, r2
- orrs r4, r0
- str r4, [r1]
-_08022F12:
- pop {r4, r5, pc}
-
- thumb_func_start sub_08022F14
-sub_08022F14: @ 0x08022F14
- push {r4, r5, lr}
- adds r4, r0, #0
- bl sub_08049FA0
- cmp r0, #0
- bne _08022F4E
- adds r0, r4, #0
- bl sub_08049EE4
- ldrb r1, [r4, #0x15]
- subs r2, r0, r1
- movs r1, #0x1f
- ands r2, r1
- adds r0, r2, #4
- ands r0, r1
- cmp r0, #8
- bls _08022F4E
- movs r0, #8
- strb r0, [r4, #0xf]
- cmp r2, #0xf
- bhi _08022F46
- adds r1, r4, #0
- adds r1, #0x78
- movs r0, #1
- b _08022F4C
-_08022F46:
- adds r1, r4, #0
- adds r1, #0x78
- movs r0, #0xff
-_08022F4C:
- strb r0, [r1]
-_08022F4E:
- ldrb r0, [r4, #0xe]
- subs r0, #1
- strb r0, [r4, #0xe]
- movs r1, #0xff
- lsls r0, r0, #0x18
- cmp r0, #0
- bne _08022F9E
- movs r0, #4
- strb r0, [r4, #0xe]
- ldrb r0, [r4, #0xf]
- subs r0, #1
- strb r0, [r4, #0xf]
- ands r0, r1
- adds r5, r4, #0
- adds r5, #0x78
- cmp r0, #0
- bne _08022F84
- movs r0, #8
- strb r0, [r4, #0xf]
- bl Random
- ldr r2, _08022FA0 @ =gUnk_080CBBC4
- movs r1, #1
- ands r1, r0
- adds r1, r1, r2
- ldrb r0, [r1]
- strb r0, [r5]
-_08022F84:
- ldrb r0, [r5]
- ldrb r1, [r4, #0x15]
- adds r0, r0, r1
- movs r1, #0x1f
- ands r0, r1
- strb r0, [r4, #0x15]
- ldrb r0, [r4, #0x15]
- adds r0, #2
- movs r1, #0x1c
- ands r0, r1
- asrs r0, r0, #2
- strb r0, [r4, #0x14]
- strb r0, [r4, #0x1e]
-_08022F9E:
- pop {r4, r5, pc}
- .align 2, 0
-_08022FA0: .4byte gUnk_080CBBC4
-
- thumb_func_start sub_08022FA4
-sub_08022FA4: @ 0x08022FA4
- push {lr}
- ldr r1, _08022FB0 @ =gUnk_080CBBC8
- bl sub_0800129E
- pop {pc}
- .align 2, 0
-_08022FB0: .4byte gUnk_080CBBC8
-
- thumb_func_start sub_08022FB4
-sub_08022FB4: @ 0x08022FB4
- push {lr}
- ldr r2, _08022FC8 @ =gUnk_080CBBDC
- ldrb r1, [r0, #0xc]
- lsls r1, r1, #2
- adds r1, r1, r2
- ldr r1, [r1]
- bl _call_via_r1
- pop {pc}
- .align 2, 0
-_08022FC8: .4byte gUnk_080CBBDC
-
- thumb_func_start nullsub_133
-nullsub_133: @ 0x08022FCC
- bx lr
- .align 2, 0
-
- thumb_func_start sub_08022FD0
-sub_08022FD0: @ 0x08022FD0
- push {lr}
- movs r3, #1
- movs r1, #1
- strb r1, [r0, #0xc]
- ldrb r2, [r0, #0x18]
- subs r1, #5
- ands r1, r2
- orrs r1, r3
- strb r1, [r0, #0x18]
- movs r1, #0
- bl sub_08023000
- pop {pc}
- .align 2, 0
-
- thumb_func_start sub_08022FEC
-sub_08022FEC: @ 0x08022FEC
- push {lr}
- movs r1, #0x80
- bl sub_08023000
- pop {pc}
- .align 2, 0
-
- thumb_func_start sub_08022FF8
-sub_08022FF8: @ 0x08022FF8
- bx lr
- .align 2, 0
-
- thumb_func_start sub_08022FFC
-sub_08022FFC: @ 0x08022FFC
- bx lr
- .align 2, 0
-
- thumb_func_start sub_08023000
-sub_08023000: @ 0x08023000
- push {r4, lr}
- adds r4, r0, #0
- cmp r1, #0x80
- bne _0802300E
- bl sub_080042B8
- b _08023014
-_0802300E:
- adds r0, r4, #0
- bl LoadAnimation
-_08023014:
- movs r2, #0x80
- adds r0, r4, #0
- adds r0, #0x5b
- ldrb r0, [r0]
- cmp r0, #0x40
- bne _08023022
- rsbs r2, r2, #0
-_08023022:
- ldrb r0, [r4, #0x19]
- movs r1, #3
- orrs r0, r1
- strb r0, [r4, #0x19]
- adds r0, r4, #0
- adds r1, r2, #0
- movs r2, #0x80
- movs r3, #0
- bl sub_0805EC9C
- pop {r4, pc}
-
- thumb_func_start sub_08023038
-sub_08023038: @ 0x08023038
- push {r4, r5, r6, lr}
- adds r4, r0, #0
- ldrh r5, [r4, #0x2e]
- ldrh r6, [r4, #0x32]
- ldrb r1, [r4, #0xa]
- cmp r1, #0
- bne _0802306C
- ldrb r0, [r4, #0xc]
- cmp r0, #0
- beq _08023052
- adds r0, r4, #0
- bl sub_0802390C
-_08023052:
- adds r0, r4, #0
- adds r0, #0x7c
- ldrb r0, [r0]
- adds r1, r4, #0
- adds r1, #0x7d
- strb r0, [r1]
- ldr r1, _08023068 @ =gUnk_080CBC38
- adds r0, r4, #0
- bl sub_0800129E
- b _08023090
- .align 2, 0
-_08023068: .4byte gUnk_080CBC38
-_0802306C:
- ldr r0, [r4, #0x50]
- ldr r0, [r0, #4]
- cmp r0, #0
- beq _08023088
- cmp r1, #8
- beq _08023080
- adds r0, r4, #0
- bl sub_080235BC
- b _08023090
-_08023080:
- adds r0, r4, #0
- bl sub_08023730
- b _08023090
-_08023088:
- adds r0, r4, #0
- bl sub_0805E7BC
- b _080230CA
-_08023090:
- ldr r0, [r4, #0x50]
- adds r2, r0, #0
- adds r2, #0x7c
- adds r0, #0x7d
- ldrb r1, [r2]
- ldrb r0, [r0]
- cmp r1, r0
- beq _080230CA
- ldr r1, [r4, #0x54]
- cmp r1, #0
- beq _080230CA
- ldrb r2, [r2]
- subs r2, #1
- movs r0, #0xf
- ands r2, r0
- adds r2, #0x78
- adds r2, r1, r2
- ldrh r1, [r4, #0x2e]
- subs r1, r1, r5
- adds r1, #8
- movs r3, #0xf
- ands r1, r3
- lsls r1, r1, #4
- ldrh r0, [r4, #0x32]
- subs r0, r0, r6
- adds r0, #8
- ands r0, r3
- orrs r1, r0
- strb r1, [r2]
-_080230CA:
- pop {r4, r5, r6, pc}
-
- thumb_func_start sub_080230CC
-sub_080230CC: @ 0x080230CC
- push {lr}
- ldr r2, _080230E0 @ =gUnk_080CBC50
- ldrb r1, [r0, #0xc]
- lsls r1, r1, #2
- adds r1, r1, r2
- ldr r1, [r1]
- bl _call_via_r1
- pop {pc}
- .align 2, 0
-_080230E0: .4byte gUnk_080CBC50
-
- thumb_func_start sub_080230E4
-sub_080230E4: @ 0x080230E4
- push {r4, r5, lr}
- adds r5, r0, #0
- ldrb r0, [r5, #0xd]
- cmp r0, #0xff
- bne _08023132
- movs r2, #0
- movs r0, #7
- strb r0, [r5, #0xc]
- movs r3, #1
- strb r3, [r5, #0xe]
- strb r2, [r5, #0xd]
- adds r1, r5, #0
- adds r1, #0x3f
- movs r0, #0x85
- strb r0, [r1]
- subs r1, #2
- movs r0, #0xf8
- strb r0, [r1]
- adds r0, r5, #0
- adds r0, #0x7f
- strb r2, [r0]
- subs r0, #4
- strb r2, [r0]
- subs r0, #0x3a
- ldrb r0, [r0]
- cmp r0, #0x80
- beq _0802311E
- cmp r0, #0x9e
- bne _08023128
-_0802311E:
- strb r2, [r5, #0xb]
- adds r1, r5, #0
- adds r1, #0x80
- movs r0, #0x14
- b _08023130
-_08023128:
- strb r3, [r5, #0xb]
- adds r1, r5, #0
- adds r1, #0x80
- movs r0, #8
-_08023130:
- strb r0, [r1]
-_08023132:
- adds r0, r5, #0
- adds r0, #0x45
- ldrb r0, [r0]
- cmp r0, #0
- bne _0802318A
- adds r0, r5, #0
- adds r0, #0x7f
- ldrb r0, [r0]
- cmp r0, #0
- bne _0802318A
- ldrb r0, [r5, #0xc]
- cmp r0, #7
- bne _0802318A
- ldr r4, _08023194 @ =gLinkEntity
- adds r0, r5, #0
- adds r1, r4, #0
- bl CopyPosition
- ldrb r1, [r4, #0x10]
- movs r0, #0x80
- orrs r0, r1
- strb r0, [r4, #0x10]
- ldrb r1, [r4, #0x18]
- movs r0, #4
- rsbs r0, r0, #0
- ands r0, r1
- movs r1, #1
- orrs r0, r1
- strb r0, [r4, #0x18]
- movs r0, #0xc0
- lsls r0, r0, #9
- str r0, [r4, #0x20]
- movs r0, #0xff
- strb r0, [r4, #0x15]
- adds r4, #0x3d
- movs r0, #0xec
- strb r0, [r4]
- ldr r2, _08023198 @ =gLinkState
- movs r0, #0x41
- strb r0, [r2, #2]
- ldr r0, [r2, #0x30]
- ldr r1, _0802319C @ =0xFFF7FFFF
- ands r0, r1
- str r0, [r2, #0x30]
-_0802318A:
- ldr r1, _080231A0 @ =gUnk_080CBC38
- adds r0, r5, #0
- bl sub_0804AA30
- pop {r4, r5, pc}
- .align 2, 0
-_08023194: .4byte gLinkEntity
-_08023198: .4byte gLinkState
-_0802319C: .4byte 0xFFF7FFFF
-_080231A0: .4byte gUnk_080CBC38
-
- thumb_func_start sub_080231A4
-sub_080231A4: @ 0x080231A4
- push {lr}
- adds r2, r0, #0
- adds r2, #0x7c
- ldrb r1, [r2]
- adds r1, #1
- strb r1, [r2]
- bl sub_08001324
-
- thumb_func_start nullsub_134
-nullsub_134: @ 0x080231B4
- pop {pc}
- .align 2, 0
-
- thumb_func_start nullsub_135
-nullsub_135: @ 0x080231B8
- bx lr
- .align 2, 0
-
- thumb_func_start sub_080231BC
-sub_080231BC: @ 0x080231BC
- push {r4, r5, r6, lr}
- adds r6, r0, #0
- ldr r0, _08023280 @ =gUnk_03003DBC
- ldrb r0, [r0]
- cmp r0, #0x3f
- bhi _0802327E
- movs r0, #0xf
- movs r1, #1
- bl CreateEnemy
- adds r4, r0, #0
- str r4, [r6, #0x54]
- str r6, [r4, #0x50]
- movs r0, #0xf
- movs r1, #2
- bl CreateEnemy
- adds r5, r0, #0
- str r5, [r4, #0x54]
- str r6, [r5, #0x50]
- movs r0, #0xf
- movs r1, #3
- bl CreateEnemy
- adds r4, r0, #0
- str r4, [r5, #0x54]
- str r6, [r4, #0x50]
- movs r0, #0xf
- movs r1, #4
- bl CreateEnemy
- adds r5, r0, #0
- str r5, [r4, #0x54]
- str r6, [r5, #0x50]
- movs r0, #0xf
- movs r1, #5
- bl CreateEnemy
- adds r4, r0, #0
- str r4, [r5, #0x54]
- str r6, [r4, #0x50]
- movs r0, #0xf
- movs r1, #6
- bl CreateEnemy
- adds r5, r0, #0
- str r5, [r4, #0x54]
- str r6, [r5, #0x50]
- movs r0, #0xf
- movs r1, #7
- bl CreateEnemy
- adds r4, r0, #0
- str r4, [r5, #0x54]
- str r6, [r4, #0x50]
- movs r0, #0xf
- movs r1, #8
- bl CreateEnemy
- str r0, [r4, #0x54]
- str r4, [r0, #0x74]
- str r6, [r0, #0x50]
- movs r1, #0
- str r1, [r0, #0x54]
- adds r0, r6, #0
- bl sub_0804A720
- movs r0, #6
- strb r0, [r6, #0xc]
- movs r1, #0x1e
- strb r1, [r6, #0xe]
- str r6, [r6, #0x50]
- adds r0, r6, #0
- adds r0, #0x78
- strh r1, [r0]
- ldrb r1, [r6, #0x1a]
- movs r0, #0x10
- rsbs r0, r0, #0
- ands r0, r1
- movs r1, #5
- orrs r0, r1
- strb r0, [r6, #0x1a]
- bl Random
- movs r1, #0x1f
- ands r0, r1
- strb r0, [r6, #0x15]
- ldrb r0, [r6, #0x15]
- adds r0, #2
- movs r1, #0x1c
- ands r0, r1
- asrs r0, r0, #2
- strb r0, [r6, #0x14]
- ldrb r1, [r6, #0x14]
- adds r0, r6, #0
- bl UpdateSprite
-_0802327E:
- pop {r4, r5, r6, pc}
- .align 2, 0
-_08023280: .4byte gUnk_03003DBC
-
- thumb_func_start nullsub_136
-nullsub_136: @ 0x08023284
- bx lr
- .align 2, 0
-
- thumb_func_start sub_08023288
-sub_08023288: @ 0x08023288
- push {r4, r5, r6, r7, lr}
- mov r7, sl
- mov r6, sb
- mov r5, r8
- push {r5, r6, r7}
- adds r7, r0, #0
- movs r1, #1
- bl sub_08049FDC
- cmp r0, #0
- beq _08023324
- ldrb r1, [r7, #0xe]
- adds r0, r1, #1
- strb r0, [r7, #0xe]
- movs r0, #0xf
- ands r0, r1
- cmp r0, #0
- bne _08023324
- bl Random
- adds r4, r0, #0
- movs r0, #0x1e
- ands r4, r0
- movs r0, #0
- mov r8, r0
- ldr r2, _08023308 @ =gLinkEntity
- mov sb, r2
- ldr r0, _0802330C @ =gUnk_080CBC70
- mov sl, r0
-_080232C2:
- mov r2, sb
- movs r0, #0x2e
- ldrsh r1, [r2, r0]
- mov r2, sl
- adds r0, r4, r2
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- adds r6, r1, r0
- mov r0, sb
- movs r2, #0x32
- ldrsh r1, [r0, r2]
- adds r0, r4, #1
- add r0, sl
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- adds r5, r1, r0
- ldr r0, _08023310 @ =gUnk_03001198
- ldrb r2, [r0]
- adds r0, r6, #0
- adds r1, r5, #0
- bl sub_080002A4
- bl sub_08023A38
- cmp r0, #0
- beq _08023314
- adds r0, r7, #0
- adds r1, r6, #0
- adds r2, r5, #0
- bl sub_08023990
- b _08023324
- .align 2, 0
-_08023308: .4byte gLinkEntity
-_0802330C: .4byte gUnk_080CBC70
-_08023310: .4byte gUnk_03001198
-_08023314:
- adds r4, #2
- movs r0, #0x1e
- ands r4, r0
- movs r2, #1
- add r8, r2
- mov r0, r8
- cmp r0, #0xf
- bls _080232C2
-_08023324:
- pop {r3, r4, r5}
- mov r8, r3
- mov sb, r4
- mov sl, r5
- pop {r4, r5, r6, r7, pc}
- .align 2, 0
-
- thumb_func_start sub_08023330
-sub_08023330: @ 0x08023330
- push {r4, r5, lr}
- adds r5, r0, #0
- bl sub_08004274
- adds r0, r5, #0
- adds r0, #0x5a
- ldrb r1, [r0]
- movs r0, #0x80
- ands r0, r1
- cmp r0, #0
- beq _08023394
- movs r0, #4
- strb r0, [r5, #0xc]
- movs r0, #0x19
- strb r0, [r5, #0xe]
- ldrb r1, [r5, #0x10]
- movs r0, #0x80
- orrs r0, r1
- strb r0, [r5, #0x10]
- adds r1, r5, #0
- adds r1, #0x78
- movs r4, #0
- movs r0, #0x96
- lsls r0, r0, #2
- strh r0, [r1]
- bl Random
- movs r1, #0x1c
- ands r0, r1
- strb r0, [r5, #0x15]
- lsrs r0, r0, #2
- strb r0, [r5, #0x14]
- adds r0, r5, #0
- adds r0, #0x7b
- strb r4, [r0]
- adds r0, #4
- strb r4, [r0]
- ldrb r1, [r5, #0x14]
- adds r0, r5, #0
- bl sub_08023A88
- ldr r1, [r5, #0x54]
- adds r0, r5, #0
- bl CopyPosition
- adds r0, r5, #0
- movs r1, #4
- movs r2, #0
- bl CreateFx
-_08023394:
- pop {r4, r5, pc}
- .align 2, 0
-
- thumb_func_start sub_08023398
-sub_08023398: @ 0x08023398
- push {r4, r5, r6, lr}
- adds r5, r0, #0
- adds r0, #0x7c
- ldrb r1, [r0]
- adds r1, #1
- strb r1, [r0]
- adds r0, #3
- ldrb r0, [r0]
- cmp r0, #0
- beq _080233C0
- adds r0, r5, #0
- movs r1, #1
- bl sub_08049FDC
- cmp r0, #0
- bne _080233C0
- adds r1, r5, #0
- adds r1, #0x78
- movs r0, #1
- strh r0, [r1]
-_080233C0:
- adds r4, r5, #0
- adds r4, #0x78
- ldrh r0, [r4]
- subs r0, #1
- strh r0, [r4]
- lsls r0, r0, #0x10
- cmp r0, #0
- bne _08023416
- adds r0, r5, #0
- bl sub_080002A0
- bl sub_08023A38
- cmp r0, #0
- beq _08023412
- movs r0, #5
- strb r0, [r5, #0xc]
- adds r1, r5, #0
- adds r1, #0x7f
- movs r0, #0
- strb r0, [r1]
- ldrb r1, [r5, #0x10]
- movs r0, #0x7f
- ands r0, r1
- strb r0, [r5, #0x10]
- adds r1, r5, #0
- adds r1, #0x3f
- movs r0, #0x85
- strb r0, [r1]
- ldr r1, [r5, #0x54]
- movs r0, #1
- strb r0, [r1, #0xe]
- adds r0, r5, #0
- bl sub_08023A68
- adds r0, r5, #0
- movs r1, #4
- movs r2, #0
- bl CreateFx
- b _0802349C
-_08023412:
- movs r0, #0x28
- strh r0, [r4]
-_08023416:
- adds r0, r5, #0
- adds r0, #0x7f
- ldrb r0, [r0]
- cmp r0, #0
- beq _08023426
- adds r0, r5, #0
- bl sub_08023AB0
-_08023426:
- ldrb r0, [r5, #0xe]
- subs r1, r0, #1
- strb r1, [r5, #0xe]
- lsls r0, r1, #0x18
- lsrs r0, r0, #0x18
- cmp r0, #2
- bhi _08023440
- lsls r0, r1, #0x18
- cmp r0, #0
- bne _0802349C
- movs r0, #0x19
- strb r0, [r5, #0xe]
- b _0802349C
-_08023440:
- ldr r4, [r5, #0x2c]
- ldr r6, [r5, #0x30]
- adds r0, r5, #0
- bl sub_080AEF88
- ldr r0, [r5, #0x2c]
- cmp r0, r4
- bne _08023460
- ldr r0, [r5, #0x30]
- cmp r0, r6
- bne _08023460
- adds r1, r5, #0
- adds r1, #0x7c
- ldrb r0, [r1]
- subs r0, #1
- strb r0, [r1]
-_08023460:
- ldr r0, _080234A0 @ =gUnk_030010A0
- ldr r0, [r0]
- movs r1, #7
- ands r0, r1
- cmp r0, #0
- bne _0802349C
- adds r0, r5, #0
- movs r1, #1
- bl sub_08049F84
- adds r1, r0, #0
- adds r0, r5, #0
- bl sub_08004596
- ldrb r0, [r5, #0x15]
- adds r0, #2
- movs r1, #0x1c
- ands r0, r1
- asrs r0, r0, #2
- ldrb r1, [r5, #0x14]
- cmp r0, r1
- beq _0802349C
- strb r0, [r5, #0x14]
- adds r1, r5, #0
- adds r1, #0x7b
- ldrb r1, [r1]
- adds r1, r0, r1
- adds r0, r5, #0
- bl UpdateSprite
-_0802349C:
- pop {r4, r5, r6, pc}
- .align 2, 0
-_080234A0: .4byte gUnk_030010A0
-
- thumb_func_start sub_080234A4
-sub_080234A4: @ 0x080234A4
- push {r4, lr}
- adds r4, r0, #0
- adds r0, #0x7c
- ldrb r1, [r0]
- adds r1, #1
- strb r1, [r0]
- adds r0, r4, #0
- bl sub_08004274
- adds r0, r4, #0
- adds r0, #0x7f
- ldrb r0, [r0]
- cmp r0, #0
- beq _080234D6
- movs r0, #6
- strb r0, [r4, #0xc]
- ldrb r1, [r4, #0x18]
- subs r0, #0xa
- ands r0, r1
- strb r0, [r4, #0x18]
- adds r1, r4, #0
- adds r1, #0x78
- movs r0, #0x96
- lsls r0, r0, #1
- strh r0, [r1]
-_080234D6:
- pop {r4, pc}
-
- thumb_func_start sub_080234D8
-sub_080234D8: @ 0x080234D8
- push {r4, lr}
- adds r4, r0, #0
- adds r1, r4, #0
- adds r1, #0x78
- ldrh r0, [r1]
- subs r0, #1
- strh r0, [r1]
- lsls r0, r0, #0x10
- cmp r0, #0
- bne _0802351A
- movs r0, #2
- strb r0, [r4, #0xc]
- ldrb r1, [r4, #0x1a]
- subs r0, #0x12
- ands r0, r1
- movs r1, #5
- orrs r0, r1
- strb r0, [r4, #0x1a]
- bl Random
- movs r1, #0x1f
- ands r0, r1
- strb r0, [r4, #0x15]
- ldrb r0, [r4, #0x15]
- adds r0, #2
- movs r1, #0x1c
- ands r0, r1
- asrs r0, r0, #2
- strb r0, [r4, #0x14]
- ldrb r1, [r4, #0x14]
- adds r0, r4, #0
- bl sub_08023A88
-_0802351A:
- pop {r4, pc}
-
- thumb_func_start sub_0802351C
-sub_0802351C: @ 0x0802351C
- push {r4, r5, r6, r7, lr}
- adds r7, r0, #0
- ldrb r0, [r7, #0xe]
- cmp r0, #0
- beq _0802355A
- ldrb r0, [r7, #0xb]
- cmp r0, #1
- beq _08023534
- ldr r0, _080235A8 @ =gLinkEntity
- ldrb r0, [r0, #0x1e]
- cmp r0, #0xff
- bne _0802355A
-_08023534:
- movs r0, #0
- strb r0, [r7, #0xe]
- ldr r1, [r7, #0x54]
- movs r0, #3
- strb r0, [r1, #0xc]
- ldr r1, [r7, #0x54]
- adds r0, r7, #0
- adds r0, #0x80
- ldrb r0, [r0]
- strb r0, [r1, #0xf]
- ldr r0, [r7, #0x54]
- ldrb r1, [r0, #0x14]
- adds r1, #1
- bl UpdateSprite
- ldrb r1, [r7, #0x14]
- adds r0, r7, #0
- bl UpdateSprite
-_0802355A:
- adds r0, r7, #0
- adds r0, #0x7f
- ldrb r0, [r0]
- cmp r0, #0
- bne _080235B4
- ldrb r0, [r7, #0xb]
- cmp r0, #0
- bne _080235B8
- ldr r5, _080235A8 @ =gLinkEntity
- ldrb r0, [r7, #0x14]
- movs r4, #7
- adds r2, r4, #0
- ands r2, r0
- strb r2, [r5, #0x14]
- ldr r3, _080235AC @ =gLinkState
- ldr r0, [r3, #0x30]
- movs r1, #0x80
- lsls r1, r1, #0xc
- orrs r0, r1
- str r0, [r3, #0x30]
- ldr r6, _080235B0 @ =gUnk_080CBC90
- adds r2, r2, r6
- movs r3, #0
- ldrsb r3, [r2, r3]
- lsls r3, r3, #0x10
- adds r0, r7, #0
- adds r1, r5, #0
- movs r2, #0
- bl PositionRelative
- ldrb r0, [r7, #0x14]
- ands r4, r0
- adds r4, r4, r6
- ldrb r0, [r4]
- rsbs r0, r0, #0
- adds r5, #0x63
- strb r0, [r5]
- b _080235B8
- .align 2, 0
-_080235A8: .4byte gLinkEntity
-_080235AC: .4byte gLinkState
-_080235B0: .4byte gUnk_080CBC90
-_080235B4:
- movs r0, #4
- strb r0, [r7, #0xc]
-_080235B8:
- pop {r4, r5, r6, r7, pc}
- .align 2, 0
-
- thumb_func_start sub_080235BC
-sub_080235BC: @ 0x080235BC
- push {lr}
- ldr r2, _080235D0 @ =gUnk_080CBC98
- ldrb r1, [r0, #0xc]
- lsls r1, r1, #2
- adds r1, r1, r2
- ldr r1, [r1]
- bl _call_via_r1
- pop {pc}
- .align 2, 0
-_080235D0: .4byte gUnk_080CBC98
-
- thumb_func_start sub_080235D4
-sub_080235D4: @ 0x080235D4
- push {r4, lr}
- adds r4, r0, #0
- movs r0, #1
- strb r0, [r4, #0xc]
- ldr r1, [r4, #0x50]
- ldrh r0, [r1, #0x2e]
- strh r0, [r4, #0x2e]
- ldrh r0, [r1, #0x32]
- strh r0, [r4, #0x32]
- adds r0, r4, #0
- bl sub_080239F0
- ldrb r0, [r4, #0xa]
- cmp r0, #1
- bne _080235F6
- movs r0, #0x10
- b _080235F8
-_080235F6:
- movs r0, #0x12
-_080235F8:
- strb r0, [r4, #0x14]
- ldrb r1, [r4, #0x14]
- adds r0, r4, #0
- bl UpdateSprite
- pop {r4, pc}
-
- thumb_func_start sub_08023604
-sub_08023604: @ 0x08023604
- push {lr}
- adds r2, r0, #0
- ldr r0, [r2, #0x50]
- adds r0, #0x7c
- ldrb r1, [r0]
- movs r0, #0xf
- ands r0, r1
- adds r0, r0, r2
- adds r0, #0x78
- ldrb r0, [r0]
- cmp r0, #0x88
- beq _08023640
- movs r1, #0
- movs r0, #2
- strb r0, [r2, #0xc]
- strb r1, [r2, #0xe]
- ldrb r1, [r2, #0x10]
- movs r0, #0x80
- orrs r0, r1
- strb r0, [r2, #0x10]
- ldrb r1, [r2, #0x18]
- movs r0, #4
- rsbs r0, r0, #0
- ands r0, r1
- movs r1, #1
- orrs r0, r1
- strb r0, [r2, #0x18]
- adds r0, r2, #0
- bl sub_08023644
-_08023640:
- pop {pc}
- .align 2, 0
-
- thumb_func_start sub_08023644
-sub_08023644: @ 0x08023644
- push {r4, r5, r6, lr}
- adds r4, r0, #0
- ldr r5, [r4, #0x50]
- adds r0, r5, #0
- adds r0, #0x58
- ldrb r0, [r0]
- cmp r0, #0x17
- bne _08023692
- ldrb r0, [r4, #0xe]
- cmp r0, #0
- beq _08023692
- movs r0, #0x2e
- ldrsh r1, [r4, r0]
- movs r2, #0x2e
- ldrsh r0, [r5, r2]
- cmp r1, r0
- bne _08023692
- movs r6, #0x32
- ldrsh r1, [r4, r6]
- movs r2, #0x32
- ldrsh r0, [r5, r2]
- cmp r1, r0
- bne _08023692
- movs r2, #1
- strb r2, [r4, #0xc]
- ldrb r1, [r4, #0x10]
- movs r0, #0x7f
- ands r0, r1
- strb r0, [r4, #0x10]
- ldrb r1, [r4, #0x18]
- movs r0, #4
- rsbs r0, r0, #0
- ands r0, r1
- strb r0, [r4, #0x18]
- ldr r0, [r4, #0x54]
- strb r2, [r0, #0xe]
- adds r0, r4, #0
- bl sub_080239F0
-_08023692:
- adds r0, r5, #0
- adds r0, #0x7c
- adds r1, r5, #0
- adds r1, #0x7d
- ldrb r0, [r0]
- ldrb r1, [r1]
- cmp r0, r1
- beq _080236F2
- movs r2, #0xf
- adds r1, r2, #0
- ands r1, r0
- adds r1, #0x78
- adds r1, r4, r1
- ldrb r0, [r1]
- lsrs r0, r0, #4
- ldr r3, _080236F4 @ =0x0000FFF8
- adds r0, r0, r3
- ldrh r6, [r4, #0x2e]
- adds r0, r0, r6
- strh r0, [r4, #0x2e]
- ldrb r0, [r1]
- ands r2, r0
- adds r2, r2, r3
- ldrh r0, [r4, #0x32]
- adds r2, r2, r0
- strh r2, [r4, #0x32]
- ldrb r2, [r5, #0x1b]
- lsrs r2, r2, #6
- lsls r2, r2, #6
- ldrb r3, [r4, #0x1b]
- movs r1, #0x3f
- adds r0, r1, #0
- ands r0, r3
- orrs r0, r2
- strb r0, [r4, #0x1b]
- ldrb r0, [r5, #0x19]
- lsrs r0, r0, #6
- lsls r0, r0, #6
- ldrb r2, [r4, #0x19]
- ands r1, r2
- orrs r1, r0
- strb r1, [r4, #0x19]
- adds r0, r5, #0
- adds r0, #0x38
- ldrb r1, [r0]
- adds r0, r4, #0
- adds r0, #0x38
- strb r1, [r0]
-_080236F2:
- pop {r4, r5, r6, pc}
- .align 2, 0
-_080236F4: .4byte 0x0000FFF8
-
- thumb_func_start sub_080236F8
-sub_080236F8: @ 0x080236F8
- push {r4, lr}
- adds r4, r0, #0
- ldrb r0, [r4, #0xf]
- subs r0, #1
- strb r0, [r4, #0xf]
- lsls r0, r0, #0x18
- cmp r0, #0
- bne _0802372E
- movs r0, #2
- strb r0, [r4, #0xc]
- ldr r1, [r4, #0x54]
- movs r0, #3
- strb r0, [r1, #0xc]
- ldr r1, [r4, #0x54]
- ldr r0, [r4, #0x50]
- adds r0, #0x80
- ldrb r0, [r0]
- strb r0, [r1, #0xf]
- ldr r0, [r4, #0x54]
- ldrb r1, [r0, #0x14]
- adds r1, #1
- bl UpdateSprite
- ldrb r1, [r4, #0x14]
- adds r0, r4, #0
- bl UpdateSprite
-_0802372E:
- pop {r4, pc}
-
- thumb_func_start sub_08023730
-sub_08023730: @ 0x08023730
- push {lr}
- ldr r2, _08023744 @ =gUnk_080CBCA8
- ldrb r1, [r0, #0xc]
- lsls r1, r1, #2
- adds r1, r1, r2
- ldr r1, [r1]
- bl _call_via_r1
- pop {pc}
- .align 2, 0
-_08023744: .4byte gUnk_080CBCA8
-
- thumb_func_start sub_08023748
-sub_08023748: @ 0x08023748
- push {r4, lr}
- adds r4, r0, #0
- movs r0, #1
- strb r0, [r4, #0xc]
- movs r0, #0x14
- strb r0, [r4, #0x14]
- ldr r1, [r4, #0x50]
- ldrh r0, [r1, #0x2e]
- strh r0, [r4, #0x2e]
- ldrh r0, [r1, #0x32]
- strh r0, [r4, #0x32]
- adds r0, r4, #0
- bl sub_080239F0
- adds r0, r4, #0
- bl sub_08023A68
- pop {r4, pc}
-
- thumb_func_start sub_0802376C
-sub_0802376C: @ 0x0802376C
- push {r4, r5, lr}
- adds r4, r0, #0
- ldr r5, [r4, #0x50]
- ldrb r0, [r5, #0x18]
- lsls r0, r0, #0x1e
- lsrs r0, r0, #0x1e
- cmp r0, #1
- bne _0802379A
- adds r0, r5, #0
- adds r0, #0x58
- ldrb r0, [r0]
- cmp r0, #0xf
- bhi _0802379A
- ldrb r0, [r4, #0x18]
- movs r1, #4
- rsbs r1, r1, #0
- ands r1, r0
- movs r0, #1
- orrs r1, r0
- strb r1, [r4, #0x18]
- adds r0, r4, #0
- bl sub_08004274
-_0802379A:
- adds r0, r5, #0
- adds r0, #0x7c
- ldrb r1, [r0]
- movs r0, #0xf
- ands r0, r1
- adds r0, r0, r4
- adds r0, #0x78
- ldrb r0, [r0]
- cmp r0, #0x88
- beq _080237D4
- movs r1, #0
- movs r0, #2
- strb r0, [r4, #0xc]
- strb r1, [r4, #0xe]
- ldrb r1, [r4, #0x10]
- movs r0, #0x80
- orrs r0, r1
- strb r0, [r4, #0x10]
- ldr r0, [r4, #0x50]
- adds r0, #0x7f
- movs r1, #1
- strb r1, [r0]
- adds r0, r4, #0
- movs r1, #0x14
- bl sub_08023A88
- adds r0, r4, #0
- bl sub_080237D8
-_080237D4:
- pop {r4, r5, pc}
- .align 2, 0
-
- thumb_func_start sub_080237D8
-sub_080237D8: @ 0x080237D8
- push {r4, r5, r6, lr}
- adds r4, r0, #0
- ldr r5, [r4, #0x50]
- adds r0, r5, #0
- adds r0, #0x58
- ldrb r0, [r0]
- cmp r0, #0x17
- bne _0802382E
- ldrb r0, [r4, #0xe]
- cmp r0, #0
- beq _0802382E
- movs r0, #0x2e
- ldrsh r1, [r4, r0]
- movs r2, #0x2e
- ldrsh r0, [r5, r2]
- cmp r1, r0
- bne _0802382E
- movs r6, #0x32
- ldrsh r1, [r4, r6]
- movs r2, #0x32
- ldrsh r0, [r5, r2]
- cmp r1, r0
- bne _0802382E
- movs r2, #1
- strb r2, [r4, #0xc]
- ldrb r1, [r4, #0x10]
- movs r0, #0x7f
- ands r0, r1
- strb r0, [r4, #0x10]
- ldrb r1, [r4, #0x18]
- movs r0, #4
- rsbs r0, r0, #0
- ands r0, r1
- strb r0, [r4, #0x18]
- adds r0, r5, #0
- adds r0, #0x7f
- strb r2, [r0]
- adds r0, r4, #0
- bl sub_080239F0
- adds r0, r4, #0
- bl sub_08023A68
-_0802382E:
- adds r0, r5, #0
- adds r0, #0x7c
- adds r1, r5, #0
- adds r1, #0x7d
- ldrb r0, [r0]
- ldrb r1, [r1]
- cmp r0, r1
- beq _0802388E
- movs r2, #0xf
- adds r1, r2, #0
- ands r1, r0
- adds r1, #0x78
- adds r1, r4, r1
- ldrb r0, [r1]
- lsrs r0, r0, #4
- ldr r3, _08023890 @ =0x0000FFF8
- adds r0, r0, r3
- ldrh r6, [r4, #0x2e]
- adds r0, r0, r6
- strh r0, [r4, #0x2e]
- ldrb r0, [r1]
- ands r2, r0
- adds r2, r2, r3
- ldrh r0, [r4, #0x32]
- adds r2, r2, r0
- strh r2, [r4, #0x32]
- ldrb r2, [r5, #0x1b]
- lsrs r2, r2, #6
- lsls r2, r2, #6
- ldrb r3, [r4, #0x1b]
- movs r1, #0x3f
- adds r0, r1, #0
- ands r0, r3
- orrs r0, r2
- strb r0, [r4, #0x1b]
- ldrb r0, [r5, #0x19]
- lsrs r0, r0, #6
- lsls r0, r0, #6
- ldrb r2, [r4, #0x19]
- ands r1, r2
- orrs r1, r0
- strb r1, [r4, #0x19]
- adds r0, r5, #0
- adds r0, #0x38
- ldrb r1, [r0]
- adds r0, r4, #0
- adds r0, #0x38
- strb r1, [r0]
-_0802388E:
- pop {r4, r5, r6, pc}
- .align 2, 0
-_08023890: .4byte 0x0000FFF8
-
- thumb_func_start sub_08023894
-sub_08023894: @ 0x08023894
- push {r4, r5, lr}
- adds r5, r0, #0
- ldrb r0, [r5, #0xf]
- subs r0, #1
- strb r0, [r5, #0xf]
- lsls r0, r0, #0x18
- cmp r0, #0
- bne _08023900
- movs r0, #2
- strb r0, [r5, #0xc]
- ldr r0, [r5, #0x50]
- adds r0, #0x7f
- movs r1, #1
- strb r1, [r0]
- ldrb r1, [r5, #0x14]
- adds r0, r5, #0
- bl UpdateSprite
- ldr r0, [r5, #0x50]
- ldrb r0, [r0, #0xb]
- cmp r0, #0
- bne _08023900
- ldr r2, _08023904 @ =gLinkState
- ldr r0, [r2, #0x30]
- movs r1, #0x80
- lsls r1, r1, #0xe
- orrs r0, r1
- str r0, [r2, #0x30]
- ldr r4, _08023908 @ =gLinkEntity
- ldrh r0, [r5, #0x2e]
- strh r0, [r4, #0x2e]
- ldrh r0, [r5, #0x32]
- strh r0, [r4, #0x32]
- ldr r0, [r5, #0x74]
- adds r1, r5, #0
- bl sub_080045C4
- adds r0, #4
- movs r1, #0x18
- ands r0, r1
- strb r0, [r4, #0x15]
- lsrs r0, r0, #2
- strb r0, [r4, #0x14]
- adds r1, r4, #0
- adds r1, #0x3d
- movs r0, #0xc
- strb r0, [r1]
- subs r0, #0x1c
- bl ModHealth
- adds r0, r4, #0
- movs r1, #0x7a
- bl sub_0800449C
-_08023900:
- pop {r4, r5, pc}
- .align 2, 0
-_08023904: .4byte gLinkState
-_08023908: .4byte gLinkEntity
-
- thumb_func_start sub_0802390C
-sub_0802390C: @ 0x0802390C
- push {r4, r5, lr}
- adds r5, r0, #0
- adds r0, #0x41
- ldrb r1, [r0]
- movs r0, #0x80
- ands r0, r1
- cmp r0, #0
- beq _08023932
- ldr r2, [r5, #0x54]
- adds r3, r5, #0
- adds r3, #0x3d
-_08023922:
- ldrb r0, [r3]
- adds r1, r2, #0
- adds r1, #0x3d
- strb r0, [r1]
- ldr r2, [r2, #0x54]
- cmp r2, #0
- bne _08023922
- b _0802398C
-_08023932:
- ldr r2, [r5, #0x54]
- b _0802393C
-_08023936:
- ldr r2, [r2, #0x54]
- cmp r2, #0
- beq _0802398C
-_0802393C:
- adds r0, r2, #0
- adds r0, #0x41
- ldrb r1, [r0]
- movs r0, #0x80
- ands r0, r1
- cmp r0, #0
- beq _08023936
- movs r0, #0x45
- adds r0, r0, r2
- mov ip, r0
- ldrb r1, [r0]
- movs r4, #0xff
- subs r0, r4, r1
- lsls r0, r0, #0x18
- lsrs r3, r0, #0x18
- cmp r3, #0
- beq _08023936
- adds r0, r1, #0
- orrs r0, r4
- mov r1, ip
- strb r0, [r1]
- adds r0, r2, #0
- adds r0, #0x3d
- ldrb r4, [r0]
- adds r1, r5, #0
- adds r1, #0x45
- ldrb r0, [r1]
- cmp r0, r3
- blo _0802397A
- subs r0, r0, r3
- b _0802397C
-_0802397A:
- movs r0, #0
-_0802397C:
- strb r0, [r1]
- adds r2, r5, #0
-_08023980:
- adds r0, r2, #0
- adds r0, #0x3d
- strb r4, [r0]
- ldr r2, [r2, #0x54]
- cmp r2, #0
- bne _08023980
-_0802398C:
- pop {r4, r5, pc}
- .align 2, 0
-
- thumb_func_start sub_08023990
-sub_08023990: @ 0x08023990
- push {r4, r5, lr}
- adds r5, r0, #0
- movs r0, #3
- strb r0, [r5, #0xc]
- ldrb r3, [r5, #0x18]
- subs r0, #7
- ands r0, r3
- movs r3, #1
- orrs r0, r3
- strb r0, [r5, #0x18]
- movs r0, #0x55
- strb r0, [r5, #0x1a]
- adds r4, r5, #0
- adds r4, #0x29
- ldrb r0, [r4]
- movs r3, #7
- orrs r0, r3
- strb r0, [r4]
- strh r1, [r5, #0x2e]
- strh r2, [r5, #0x32]
- ldr r0, _080239EC @ =gLinkEntity
- adds r0, #0x38
- ldrb r1, [r0]
- adds r0, r5, #0
- adds r0, #0x38
- strb r1, [r0]
- adds r0, r5, #0
- bl UpdateSpriteOrderAndFlip
- adds r0, r5, #0
- movs r1, #0x16
- bl UpdateSprite
- ldr r4, [r5, #0x54]
-_080239D4:
- adds r0, r4, #0
- bl sub_080239F0
- adds r0, r5, #0
- adds r1, r4, #0
- bl CopyPosition
- ldr r4, [r4, #0x54]
- cmp r4, #0
- bne _080239D4
- pop {r4, r5, pc}
- .align 2, 0
-_080239EC: .4byte gLinkEntity
-
- thumb_func_start sub_080239F0
-sub_080239F0: @ 0x080239F0
- adds r2, r0, #0
- adds r1, r2, #0
- adds r1, #0x78
- movs r0, #0x88
- strb r0, [r1]
- adds r1, #1
- strb r0, [r1]
- adds r1, #1
- strb r0, [r1]
- adds r1, #1
- strb r0, [r1]
- adds r1, #1
- strb r0, [r1]
- adds r1, #1
- strb r0, [r1]
- adds r1, #1
- strb r0, [r1]
- adds r1, #1
- strb r0, [r1]
- adds r1, #1
- strb r0, [r1]
- adds r1, #1
- strb r0, [r1]
- adds r1, #1
- strb r0, [r1]
- adds r1, #1
- strb r0, [r1]
- adds r1, #1
- strb r0, [r1]
- adds r1, #1
- strb r0, [r1]
- adds r1, #1
- strb r0, [r1]
- adds r1, #1
- strb r0, [r1]
- bx lr
-
- thumb_func_start sub_08023A38
-sub_08023A38: @ 0x08023A38
- push {lr}
- adds r1, r0, #0
- cmp r1, #0x1a
- beq _08023A5A
- cmp r1, #0x29
- beq _08023A5A
- ldr r0, _08023A60 @ =gUnk_080B37A0
- adds r0, r1, r0
- ldrb r1, [r0]
- cmp r1, #9
- beq _08023A5A
- cmp r1, #0xb
- beq _08023A5A
- cmp r1, #0xa
- beq _08023A5A
- cmp r1, #0xc
- bne _08023A64
-_08023A5A:
- movs r0, #1
- b _08023A66
- .align 2, 0
-_08023A60: .4byte gUnk_080B37A0
-_08023A64:
- movs r0, #0
-_08023A66:
- pop {pc}
-
- thumb_func_start sub_08023A68
-sub_08023A68: @ 0x08023A68
- push {r4, lr}
- adds r4, r0, #0
- movs r1, #5
- bl sub_0801D2B4
- adds r2, r4, #0
- adds r2, #0x29
- ldrb r0, [r2]
- movs r1, #7
- orrs r0, r1
- strb r0, [r2]
- adds r0, r4, #0
- movs r1, #0x17
- bl UpdateSprite
- pop {r4, pc}
-
- thumb_func_start sub_08023A88
-sub_08023A88: @ 0x08023A88
- push {r4, r5, lr}
- adds r4, r0, #0
- adds r5, r1, #0
- movs r1, #0x22
- bl sub_0801D2B4
- adds r2, r4, #0
- adds r2, #0x29
- ldrb r1, [r2]
- movs r0, #8
- rsbs r0, r0, #0
- ands r0, r1
- movs r1, #4
- orrs r0, r1
- strb r0, [r2]
- adds r0, r4, #0
- adds r1, r5, #0
- bl UpdateSprite
- pop {r4, r5, pc}
-
- thumb_func_start sub_08023AB0
-sub_08023AB0: @ 0x08023AB0
- push {r4, r5, r6, r7, lr}
- adds r4, r0, #0
- adds r7, r4, #0
- adds r7, #0x7b
- ldrb r0, [r7]
- cmp r0, #8
- bne _08023AF6
- adds r5, r4, #0
- adds r5, #0x7e
- ldrb r0, [r5]
- adds r6, r0, #0
- cmp r6, #0
- bne _08023B00
- adds r0, r4, #0
- bl sub_08023B38
- cmp r0, #0
- beq _08023ADE
- adds r0, r4, #0
- adds r0, #0x78
- ldrh r0, [r0]
- cmp r0, #0x1d
- bhi _08023B34
-_08023ADE:
- adds r1, r4, #0
- adds r1, #0x3f
- movs r0, #0x85
- strb r0, [r1]
- strb r6, [r7]
- movs r0, #0x1e
- strb r0, [r5]
- ldrb r1, [r4, #0x14]
- adds r0, r4, #0
- bl UpdateSprite
- b _08023B34
-_08023AF6:
- adds r5, r4, #0
- adds r5, #0x7e
- ldrb r0, [r5]
- cmp r0, #0
- beq _08023B06
-_08023B00:
- subs r0, #1
- strb r0, [r5]
- b _08023B34
-_08023B06:
- adds r0, r4, #0
- adds r0, #0x78
- ldrh r0, [r0]
- cmp r0, #0x59
- bls _08023B34
- adds r0, r4, #0
- bl sub_08023B38
- cmp r0, #0
- beq _08023B34
- adds r1, r4, #0
- adds r1, #0x3f
- movs r0, #0x87
- strb r0, [r1]
- movs r0, #8
- strb r0, [r7]
- movs r0, #0xa
- strb r0, [r5]
- ldrb r1, [r4, #0x14]
- adds r1, #8
- adds r0, r4, #0
- bl UpdateSprite
-_08023B34:
- pop {r4, r5, r6, r7, pc}
- .align 2, 0
-
- thumb_func_start sub_08023B38
-sub_08023B38: @ 0x08023B38
- push {r4, r5, r6, lr}
- adds r4, r0, #0
- movs r0, #1
- bl sub_08049DF4
- adds r5, r0, #0
- cmp r5, #0
- bne _08023B4C
- movs r0, #0
- b _08023B8E
-_08023B4C:
- movs r0, #0x2e
- ldrsh r2, [r4, r0]
- ldr r3, _08023B90 @ =gUnk_080CBCB8
- ldrb r0, [r4, #0x14]
- lsls r0, r0, #1
- adds r1, r0, r3
- ldrb r1, [r1]
- lsls r1, r1, #0x18
- asrs r1, r1, #0x18
- adds r2, r2, r1
- movs r6, #0x32
- ldrsh r1, [r4, r6]
- adds r0, #1
- adds r0, r0, r3
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- adds r1, r1, r0
- movs r3, #0
- movs r4, #0x2e
- ldrsh r0, [r5, r4]
- subs r0, r0, r2
- adds r0, #0x14
- cmp r0, #0x28
- bhi _08023B8C
- movs r6, #0x32
- ldrsh r0, [r5, r6]
- subs r0, r0, r1
- adds r0, #0x14
- cmp r0, #0x28
- bhi _08023B8C
- movs r3, #1
-_08023B8C:
- adds r0, r3, #0
-_08023B8E:
- pop {r4, r5, r6, pc}
- .align 2, 0
-_08023B90: .4byte gUnk_080CBCB8
-
- thumb_func_start sub_08023B94
-sub_08023B94: @ 0x08023B94
- push {r4, r5, lr}
- adds r5, r0, #0
- ldrb r0, [r5, #0xa]
- cmp r0, #1
- bne _08023BAC
- ldr r1, _08023BA8 @ =gUnk_080CBDBC
- adds r0, r5, #0
- bl sub_0800129E
- b _08023BEC
- .align 2, 0
-_08023BA8: .4byte gUnk_080CBDBC
-_08023BAC:
- cmp r0, #0
- bne _08023C00
- movs r1, #0x36
- ldrsh r0, [r5, r1]
- cmp r0, #0
- bne _08023BD8
- adds r0, r5, #0
- bl sub_080012DC
- adds r1, r0, #0
- cmp r1, #0
- beq _08023BD8
- ldr r0, _08023BD4 @ =gUnk_080012C8
- lsls r1, r1, #2
- adds r1, r1, r0
- ldr r1, [r1]
- adds r0, r5, #0
- bl _call_via_r1
- b _08023C06
- .align 2, 0
-_08023BD4: .4byte gUnk_080012C8
-_08023BD8:
- ldr r4, _08023BFC @ =gUnk_080CBDD4
- adds r0, r5, #0
- bl sub_0800279C
- lsls r0, r0, #2
- adds r0, r0, r4
- ldr r1, [r0]
- adds r0, r5, #0
- bl _call_via_r1
-_08023BEC:
- movs r3, #0x10
- rsbs r3, r3, #0
- adds r0, r5, #0
- movs r1, #0
- movs r2, #1
- bl sub_0804A9AC
- b _08023C06
- .align 2, 0
-_08023BFC: .4byte gUnk_080CBDD4
-_08023C00:
- adds r0, r5, #0
- bl sub_08023E10
-_08023C06:
- pop {r4, r5, pc}
-
- thumb_func_start sub_08023C08
-sub_08023C08: @ 0x08023C08
- push {lr}
- ldr r2, _08023C1C @ =gUnk_080CBDEC
- ldrb r1, [r0, #0xc]
- lsls r1, r1, #2
- adds r1, r1, r2
- ldr r1, [r1]
- bl _call_via_r1
- pop {pc}
- .align 2, 0
-_08023C1C: .4byte gUnk_080CBDEC
-
- thumb_func_start sub_08023C20
-sub_08023C20: @ 0x08023C20
- push {r4, lr}
- adds r4, r0, #0
- adds r0, #0x43
- ldrb r0, [r0]
- cmp r0, #0
- beq _08023C34
- adds r0, r4, #0
- movs r1, #0x1c
- bl sub_0804A9FC
-_08023C34:
- ldrb r0, [r4, #0xa]
- cmp r0, #1
- bne _08023C48
- ldr r1, _08023C44 @ =gUnk_080CBDBC
- adds r0, r4, #0
- bl sub_0804AA30
- b _08023C50
- .align 2, 0
-_08023C44: .4byte gUnk_080CBDBC
-_08023C48:
- ldr r1, _08023C54 @ =gUnk_080CBDD4
- adds r0, r4, #0
- bl sub_0804AA30
-_08023C50:
- pop {r4, pc}
- .align 2, 0
-_08023C54: .4byte gUnk_080CBDD4
-
- thumb_func_start nullsub_137
-nullsub_137: @ 0x08023C58
- bx lr
- .align 2, 0
-
- thumb_func_start sub_08023C5C
-sub_08023C5C: @ 0x08023C5C
- push {r4, lr}
- adds r4, r0, #0
- bl sub_0804A720
- movs r0, #1
- strb r0, [r4, #0xc]
- bl Random
- movs r1, #0x30
- ands r0, r1
- adds r0, #0xb4
- strb r0, [r4, #0xe]
- bl Random
- movs r1, #0x18
- ands r0, r1
- strb r0, [r4, #0x15]
- lsrs r0, r0, #3
- strb r0, [r4, #0x14]
- ldrb r1, [r4, #0x14]
- adds r0, r4, #0
- bl UpdateSprite
- pop {r4, pc}
-
- thumb_func_start sub_08023C8C
-sub_08023C8C: @ 0x08023C8C
- push {r4, lr}
- adds r4, r0, #0
- bl sub_080AEF88
- adds r0, r4, #0
- bl sub_08004274
- adds r0, r4, #0
- bl sub_08023E54
- ldrb r0, [r4, #0xe]
- subs r0, #1
- strb r0, [r4, #0xe]
- lsls r0, r0, #0x18
- cmp r0, #0
- bne _08023CDC
- adds r0, r4, #0
- adds r0, #0x5a
- ldrb r0, [r0]
- cmp r0, #1
- beq _08023CBC
- movs r0, #8
- strb r0, [r4, #0xe]
- b _08023CDC
-_08023CBC:
- bl Random
- movs r1, #0x30
- ands r0, r1
- adds r0, #0xb4
- strb r0, [r4, #0xe]
- adds r0, r4, #0
- bl sub_08023E9C
- ldrb r0, [r4, #0x15]
- lsrs r0, r0, #3
- strb r0, [r4, #0x14]
- ldrb r1, [r4, #0x14]
- adds r0, r4, #0
- bl UpdateSprite
-_08023CDC:
- pop {r4, pc}
- .align 2, 0