ASM:
push {r4,lr}
ldr r4, =0x020244EC
ldr r1, =0x020375E0
ldrh r1, [r1]
mov r2, #0x64
mul r1, r2
add r4, r1
mov r0, r4
get_species:
mov r1, #0xb
bl decrypt
ldr r1, =0x020375E0
ldrh r1, [r1,#0x2]
cmp r0, r1
bne exit
change_species:
mov r0, r4
mov r1, #0xb
ldr r2, var
add r2, #0x4
bl encrypt
mov r0, r4
bl statrecalc
exit:
pop {r4,pc}
encrypt:
ldr r3, =0x0806ACAD
bx r3
decrypt:
ldr r3, =0x0806A519
bx r3
statrecalc:
ldr r3, =0x08068D0D
bx r3
push {r4,lr}
ldr r4, =0x020244EC
ldr r1, =0x020375E0
ldrh r1, [r1]
mov r2, #0x64
mul r1, r2
add r4, r1
mov r0, r4
get_species:
mov r1, #0xb
bl decrypt
ldr r1, =0x020375E0
ldrh r1, [r1,#0x2]
cmp r0, r1
bne exit
change_species:
mov r0, r4
mov r1, #0xb
ldr r2, var
add r2, #0x4
bl encrypt
mov r0, r4
bl statrecalc
exit:
pop {r4,pc}
encrypt:
ldr r3, =0x0806ACAD
bx r3
decrypt:
ldr r3, =0x0806A519
bx r3
statrecalc:
ldr r3, =0x08068D0D
bx r3