.include "constants/gba_constants.inc" .include "constants/species_constants.inc" .include "asm/macros.inc" .syntax unified .text thumb_func_start sub_8137138 sub_8137138: @ 8137138 push {r4-r7,lr} mov r7, r8 push {r7} ldr r0, _081371C0 @ =gSpriteSheet_ConditionUpDown bl LoadSpriteSheet ldr r0, _081371C4 @ =gSpritePalette_ConditionUpDown bl LoadSpritePalette ldr r2, _081371C8 @ =gUnknown_02039304 ldr r0, [r2] adds r0, 0x54 movs r1, 0 strb r1, [r0] movs r4, 0 adds r5, r2, 0 ldr r6, _081371CC @ =gUnknown_08406158 adds r0, r6, 0x2 mov r8, r0 ldr r7, _081371D0 @ =gSprites + 0x1C _08137160: ldr r0, [r5] adds r0, 0x61 adds r0, r4 ldrb r0, [r0] cmp r0, 0 beq _081371AC lsls r2, r4, 2 adds r0, r2, r6 movs r3, 0 ldrsh r1, [r0, r3] add r2, r8 movs r0, 0 ldrsh r2, [r2, r0] ldr r0, _081371D4 @ =gSpriteTemplate_840618C movs r3, 0 bl CreateSprite lsls r0, 24 lsrs r1, r0, 24 cmp r1, 0x40 beq _081371AC ldr r0, [r5] adds r0, 0x61 adds r0, r4 ldrb r0, [r0] cmp r0, 0 beq _081371A2 lsls r0, r1, 4 adds r0, r1 lsls r0, 2 adds r0, r7 ldr r1, _081371D8 @ =sub_81371DC str r1, [r0] _081371A2: ldr r1, [r5] adds r1, 0x54 ldrb r0, [r1] adds r0, 0x1 strb r0, [r1] _081371AC: adds r0, r4, 0x1 lsls r0, 16 lsrs r4, r0, 16 cmp r4, 0x4 bls _08137160 pop {r3} mov r8, r3 pop {r4-r7} pop {r0} bx r0 .align 2, 0 _081371C0: .4byte gSpriteSheet_ConditionUpDown _081371C4: .4byte gSpritePalette_ConditionUpDown _081371C8: .4byte gUnknown_02039304 _081371CC: .4byte gUnknown_08406158 _081371D0: .4byte gSprites + 0x1C _081371D4: .4byte gSpriteTemplate_840618C _081371D8: .4byte sub_81371DC thumb_func_end sub_8137138 thumb_func_start sub_81371DC sub_81371DC: @ 81371DC push {lr} adds r1, r0, 0 movs r2, 0x2E ldrsh r0, [r1, r2] cmp r0, 0x5 bgt _081371EE ldrh r0, [r1, 0x26] subs r0, 0x2 b _081371F6 _081371EE: cmp r0, 0xB bgt _081371F8 ldrh r0, [r1, 0x26] adds r0, 0x2 _081371F6: strh r0, [r1, 0x26] _081371F8: ldrh r0, [r1, 0x2E] adds r0, 0x1 strh r0, [r1, 0x2E] lsls r0, 16 asrs r0, 16 cmp r0, 0x3C ble _08137218 adds r0, r1, 0 bl DestroySprite ldr r0, _0813721C @ =gUnknown_02039304 ldr r1, [r0] adds r1, 0x54 ldrb r0, [r1] subs r0, 0x1 strb r0, [r1] _08137218: pop {r0} bx r0 .align 2, 0 _0813721C: .4byte gUnknown_02039304 thumb_func_end sub_81371DC .align 2, 0 @ Don't pad with nop.