diff options
| author | theo <arisstephenson2@gmail.com> | 2020-06-09 01:47:11 -0700 |
|---|---|---|
| committer | theo <arisstephenson2@gmail.com> | 2020-06-09 01:47:11 -0700 |
| commit | 9bf674b08771bf89f6df4b9f0ffaa95fbba5fefa (patch) | |
| tree | 1976adaa9d1d957dd9e0328a4507756b09188bec /asm/code_0801D79C.s | |
| parent | 5ed687df73d9fe65aca13de32d1a60b9c3682a87 (diff) | |
octorok
Diffstat (limited to 'asm/code_0801D79C.s')
| -rw-r--r-- | asm/code_0801D79C.s | 11006 |
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 |
