.align 2
.thumb
Start:
push {r0-r4}
ldr r0, .CurMoveIndex
ldrb r1, [r0]
lsl r1, r1, #1
[B]ldr r0, .Move_List_Loc
ldr r0, [r0]
ldr r3, .number
add r0, r0, r3
[/B] add r0, r0, r1
ldrh r3, [r0]
[B]cmp r3, #0x0
beq Finish
[/B] lsl r0, r3, #1
add r0, r0, r3
lsl r0, r0, #2
ldr r1, .MoveBase
add r0, r0, r1
ldrb r4, [r0, #10]
lsl r0, r4, #1
add r4, r4, r0
lsl r4, r4, #6
ldr r0, .SplitImages
add r0, r4
ldr r1, .VRAM
mov r2, #0x30
swi #0xB
ldr r0, .SplitImages
add r0, r4
add r0, #0x60
ldr r1, .VRAM
mov r2, #0x1E
lsl r2, #0x04
add r1, r1, r2
mov r2, #0x30
swi #0xB
Finish:
pop {r0-r4}
ldr r4, .Some_Offset
ldr r0, [r4]
ldr r1, .Return_Addr
bx r1
.align 2
.MoveBase: .word 0x08250C04
[B].number: .word 0x00003258
[/B].CurMoveIndex: .word 0x0203B16D
[B].Move_List_Loc: .word 0x0203B140
[/B].VRAM: .word 0x06001800
.SplitImages: .word 0x08YYYYYY
.Some_Offset: .word 0x0203B148
.Return_Addr: .word 0x0813A17D