.align 2
.thumb
@ 0x0806E100--Code insertion
@ 0x0806E1F8-0x0806E203 zero clear
main:
mov r5, #0x0
ldr r6, aaa
lsl r1, r7, #0x2
add r2, r1, r6
ldr r3, [r2, #0x0]
ldrb r0, [r3, #0x2]
str r1, [sp, #0x14]
cmp r0, #0xFF
beq end
mov r9, r2
str r3, [sp, #0x10]
f:
lsl r2, r5, #0x1
add r2, r5
ldr r1, [sp, #0x10]
add r0, r2, r1
ldrb r3, [r0, #0x2]
ldr r1, [sp, #0xC]
mov r7, r2
add r5, #0x1
mov r12, r5
cmp r3, r1
bgt d
mov r4, #0x0
mov r1, sp
ldrh r1, [r1, #0x0]
ldrb r3, [r0, #0x1]
lsl r3, r3, #0x8
ldrb r0, [r0, #0x0]
orr r0, r3
cmp r1, r0
beq b
ldr r0, [sp, #0x14]
ldr r1, aaa
add r6, r0, r1
mov r3, sp
mov r5, r7
a:
add r3, #0x2
add r4, #0x1
cmp r4, #0x3
bgt b
ldr r0, [r6, #0x0]
add r0, r5
ldrb r1, [r0, #0x1]
lsl r1, r1, #0x8
ldrb r0, [r0, #0x0]
orr r0, r1
ldrh r2, [r3, #0x0]
cmp r2, r0
bne a
b:
cmp r4, #0x4
bne d
mov r4, #0x0
cmp r4, r10
bge e
mov r1, r9
ldr r0, [r1, #0x0]
add r0, r7
ldrb r1, [r0, #0x1]
lsl r1, r1, #0x8
ldrb r0, [r0, #0x0]
orr r0, r1
ldr r1, [sp, #0x8]
ldrh r2, [r1, #0x0]
cmp r2, r0
beq e
ldr r1, [sp, #0x14]
ldr r2, aaa
add r6, r1, r2
ldr r3, [sp, #0x8]
mov r5, r7
c:
add r3, #0x2
add r4, #0x1
cmp r4, r10
bge e
ldr r0, [r6, #0x0]
add r0, r5
ldrb r1, [r0, #0x1]
lsl r1, r1, #0x8
ldrb r0, [r0, #0x0]
orr r0, r1
ldrh r2, [r3, #0x0]
cmp r2, r0
bne c
e:
cmp r4, r10
bne d
mov r0, r10
add r0, #0x1
lsl r0, r0, #0x18
lsr r0, r0, #0x18
mov r10, r0
lsl r2, r4, #0x1
ldr r1, [sp, #0x8]
add r2, r1
mov r4, r9
ldr r0, [r4, #0x0]
add r0, r7
ldrb r1, [r0, #0x1]
lsl r1, r1, #0x8
ldrb r0, [r0, #0x0]
orr r0, r1
strh r0, [r2, #0x0]
d:
mov r5, r12
cmp r5, #0x13
bgt end
mov r1, r9
ldr r0, [r1, #0x0]
lsl r1, r5, #0x1
add r1, r5
add r1, r0
ldrb r0, [r1, #0x2]
cmp r0, #0xFF
bne f
end:
mov r0, r10
add sp, #0x18
pop {r3-r5}
mov r8, r3
mov r9, r4
mov r10, r5
pop {r4-r7}
pop {r1}
bx r1
.align 2
aaa: .word 0xFFFFFFFF @moveset table Offset