.text
.align 2
.thumb
.thumb_func
.global LevelItemEvo
Main:
mov r0, r8
mov r5, r2
mov r10, r3
bl Decrypt
mov r2, r5
mov r5, #0x0
mov r3, r10
mov r10, r0
add r0, r6, r7
lsl r0, r0, #0x3
add r0, r2, r0
add r1, r0, r3
ldrb r0, [r1, #0x2]
mov r2, r10
mov r10, r1
Level10:
mov r1, r9
cmp r1, #0x9
bhi Level10SilverPowder
Level12:
cmp r1, #0xB
bhi Level12BeigeBelt
Level20:
cmp r1, #0x13
bhi Level20DeepSeaTooth
Level30:
cmp r1, #0x1D
bhi Level30RazorFang
Level40:
cmp r1, #0x27
bhi Level40Magnet
Level50:
cmp r1, #0x31
bhi Level50MetalCoat
mov r2, #0x0
b ArgumentCheck
Level10SilverPowder:
cmp r2, #0xBC
bne Level10PoisonBarb
mov r2, #0x1
b ArgumentCheck
Level10PoisonBarb:
cmp r2, #0xD3
bne Level12
mov r2, #0x2
b ArgumentCheck
Level12BeigeBelt:
cmp r2, #0xItemId
bne Level12RedBelt
mov r2, #0x3
b ArgumentCheck
Level12RedBelt:
cmp r2, #0xItemId
bne Level12BlueBelt
mov r2, #0x4
b ArgumentCheck
Level12BlueBelt:
cmp r2, #0xItemId
bne Level12OvalStone
mov r2, #0x5
b ArgumentCheck
Level12OvalStone:
cmp r2, #0xItemId
bne Level20
mov r2, #0x6
b ArgumentCheck
Level20DeepSeaTooth:
cmp r2, #0xC0
bne Level20DeepSeaScale
mov r2, #0x7
b ArgumentCheck
Level20DeepSeaScale:
cmp r2, #0xC1
bne Level30
mov r2, #0x8
b ArgumentCheck
Level30RazorFang:
cmp r2, #0xItemId
bne Level30RazorClaw
mov r2, #0x9
b ArgumentCheck
Level30RazorClaw:
cmp r2, #0xItemId
bne Level30MetalCoat
mov r2, #0xA
b ArgumentCheck
Level30MetalCoat:
cmp r2, #0xC7
bne Level30UpGrade
mov r2, #0xB
b ArgumentCheck
Level30UpGrade:
cmp r2, #0xDA
bne Level30KingRock
mov r2, #0xC
b ArgumentCheck
Level30KingRock:
cmp r2, #0xBB
bne Level30WhippedDream
mov r2, #0xD
b ArgumentCheck
Level30WhippedDream:
cmp r2, #0xItemId
bne Level30Sachet
mov r2, #0xE
b ArgumentCheck
Level30Sachet:
cmp r2, #0xItemId
bne Level40
mov r2, #0xF
b ArgumentCheck
Level40Magnet:
cmp r2, #0xD0
bne Level40DragonScale
mov r2, #0x10
b ArgumentCheck
Level40DragonScale:
cmp r2, #0xC9
bne Level40MetalCoat
mov r2, #0x11
b ArgumentCheck
Level40MetalCoat:
cmp r2, #0xC7
bne Level40Electirizer
mov r2, #0x12
b ArgumentCheck
Level40Electirizer:
cmp r2, #0xItemId
bne Level40Magmarizer
mov r2, #0x13
b ArgumentCheck
Level40Magmarizer:
cmp r2, #0xItemId
bne Level40ReaperCloth
mov r2, #0x14
b ArgumentCheck
Level40ReaperCloth:
cmp r2, #0xItemId
bne Level40KingRock
mov r2, #0x15
b ArgumentCheck
Level40KingRock:
cmp r2, #0xBB
bne Level40DubiousDisc
mov r2, #0x16
b ArgumentCheck
Level40DubiousDisc:
cmp r2, #0xItemId
bne Level40PrismScale
mov r2, #0x17
b ArgumentCheck
Level40PrismScale:
cmp r2, #0xItemId
bne Level50
mov r2, #0x18
b ArgumentCheck
Level50MetalCoat:
cmp r2, #0xC7
bne Level50Protector
mov r2, #0x19
b ArgumentCheck
Level50Protector:
cmp r2, #0xItemId
bne WrongItem
mov r2, #0x1A
b ArgumentCheck
Decrypt:
mov r1, #0xC
ldr r2, DecryptPoke
bx r2
WrongItem:
mov r2, #0x0
b ArgumentCheck
ArgumentCheck:
mov r1, r10
mov r10, r5
cmp r0, r2
bne NoEvo
b Evo
NoEvo:
ldr r2, NoEvolution
mov pc, r2
Evo:
ldrh r0, [r1, #0x4]
ldr r2, Evolution
mov pc, r2
.align 2
NoEvolution: .word 0x0803F726
Evolution: .word 0x0803F7A4
DecryptPoke: .word 0x0803CB61