Welcome to Data Crystal's new home! Data Crystal is now part of the TCRF family (sort of).
The wiki has recently moved; please report any issues in Discord. Pardon the dust.

Yu-Gi-Oh! The Sacred Cards/ROM map

From Data Crystal
Jump to navigation Jump to search

Chip tiny.png The following article is a ROM map for Yu-Gi-Oh! The Sacred Cards.

Text display

0x3B64

08003B64 4A02     ldr     r2,=201FCB0h                            ;
08003B66 8811     ldrh    r1,[r2]                                 ;
08003B68 4802     ldr     r0,=0FFFEh                              ;
08003B6A 4008     and     r0,r1                                   ;
08003B6C 8010     strh    r0,[r2]                                 ;
08003B6E 4770     bx      r14                                     ;

Display blank text box on Duel screen, and print current character

08003B90 B500     push    r14                                     ;
08003B92 F7FFFFE7 bl      8003B64h                                ;call 0x3B64
08003B96 4A07     ldr     r2,=201FCB0h                            ;r2 = 0x201FCB0
08003B98 2301     mov     r3,1h                                   ;
08003B9A 8811     ldrh    r1,[r2]                                 ;loop start, r1 = [0x201FCB0]
08003B9C 1C18     mov     r0,r3                                   ;
08003B9E 4008     and     r0,r1                                   ;
08003BA0 2800     cmp     r0,0h                                   ;
08003BA2 D0FA     beq     8003B9Ah                                ;loop until display is updated with the character to print
08003BA4 4904     ldr     r1,=201CB24h                            ;
08003BA6 4805     ldr     r0,=8003B61h                            ;
08003BA8 6008     str     r0,[r1]                                 ;
08003BAA F000F81D bl      8003BE8h                                ;call 0x3BE8
08003BAE BC01     pop     r0                                      ;
08003BB0 4700     bx      r0                                      ;

0x3BE8

08003BE8 B510     push    r4,r14                                  ;
08003BEA 480F     ldr     r0,=4000130h                            ;
08003BEC 8800     ldrh    r0,[r0]                                 ;
08003BEE 43C0     mvn     r0,r0                                   ;
08003BF0 0400     lsl     r0,r0,10h                               ;
08003BF2 0C04     lsr     r4,r0,10h                               ;
08003BF4 4B0D     ldr     r3,=201FCACh                            ;
08003BF6 490E     ldr     r1,=201FCA8h                            ;
08003BF8 880A     ldrh    r2,[r1]                                 ;
08003BFA 1C20     mov     r0,r4                                   ;
08003BFC 4390     bic     r0,r2                                   ;
08003BFE 8018     strh    r0,[r3]                                 ;
08003C00 8808     ldrh    r0,[r1]                                 ;
08003C02 1C0B     mov     r3,r1                                   ;
08003C04 42A0     cmp     r0,r4                                   ;
08003C06 D119     bne     8003C3Ch                                ;
08003C08 4A0A     ldr     r2,=201FCA4h                            ;
08003C0A 2000     mov     r0,0h                                   ;
08003C0C 8010     strh    r0,[r2]                                 ;
08003C0E 490A     ldr     r1,=201FCB4h                            ;
08003C10 7808     ldrb    r0,[r1]                                 ;
08003C12 3801     sub     r0,1h                                   ;
08003C14 7008     strb    r0,[r1]                                 ;
08003C16 7808     ldrb    r0,[r1]                                 ;
08003C18 2800     cmp     r0,0h                                   ;
08003C1A D114     bne     8003C46h                                ;
08003C1C 2003     mov     r0,3h                                   ;
08003C1E 7008     strb    r0,[r1]                                 ;
08003C20 8818     ldrh    r0,[r3]                                 ;
08003C22 8010     strh    r0,[r2]                                 ;
08003C24 E00F     b       8003C46h                                ;
08003C26 0000     lsl     r0,r0,0h                                ;
08003C28 0130     lsl     r0,r6,4h                                ;
08003C2A 0400     lsl     r0,r0,10h                               ;
08003C2C FCAC     bl      lr+958h                                 ;
08003C2E 0201     lsl     r1,r0,8h                                ;
08003C30 FCA8     bl      lr+950h                                 ;
08003C32 0201     lsl     r1,r0,8h                                ;
08003C34 FCA4     bl      lr+948h                                 ;
08003C36 0201     lsl     r1,r0,8h                                ;
08003C38 FCB4     bl      lr+968h                                 ;
08003C3A 0201     lsl     r1,r0,8h                                ;
08003C3C 4804     ldr     r0,=201FCA4h                            ;
08003C3E 8004     strh    r4,[r0]                                 ;
08003C40 4904     ldr     r1,=201FCB4h                            ;
08003C42 200A     mov     r0,0Ah                                  ;
08003C44 7008     strb    r0,[r1]                                 ;
08003C46 801C     strh    r4,[r3]                                 ;
08003C48 BC10     pop     r4                                      ;
08003C4A BC01     pop     r0                                      ;
08003C4C 4700     bx      r0                                      ;

Deck management

Limited cards

0x14D9C

08014D9C B5F0     push    r4-r7,r14                               ;
08014D9E 4657     mov     r7,r10                                  ;
08014DA0 464E     mov     r6,r9                                   ;
08014DA2 4645     mov     r5,r8                                   ;
08014DA4 B4E0     push    r5-r7                                   ;
08014DA6 B081     add     sp,-4h                                  ;
08014DA8 2700     mov     r7,0h                                   ;
08014DAA 0138     lsl     r0,r7,4h                                ;
08014DAC 1BC0     sub     r0,r0,r7                                ;
08014DAE 0080     lsl     r0,r0,2h                                ;
08014DB0 49B6     ldr     r1,=8084B8Ch                            ;
08014DB2 1840     add     r0,r0,r1                                ;r0 += 0x8084B8C (array of pointers ?)
08014DB4 01B9     lsl     r1,r7,6h                                ;
08014DB6 4CB6     ldr     r4,=2007C00h                            ;
08014DB8 1909     add     r1,r1,r4                                ;r1 = 0x2007C00 + (r7 << 6)
08014DBA 4AB6     ldr     r2,=400000Fh                            ;r2 = 0x400000F
08014DBC F022FAE8 bl      8037390h                                ;call swi 0x0B, call to BIOS function CPUSet
08014DC0 1C78     add     r0,r7,1                                 ;r0 = r7 + 1
08014DC2 0600     lsl     r0,r0,18h                               ;
08014DC4 0E07     lsr     r7,r0,18h                               ;
08014DC6 2F13     cmp     r7,13h                                  ;
08014DC8 D9EF     bls     8014DAAh                                ;
08014DCA 4669     mov     r1,r13                                  ;
08014DCC 2000     mov     r0,0h                                   ;
08014DCE 8008     strh    r0,[r1]                                 ;
08014DD0 48B1     ldr     r0,=0FFFFC800h                          ;
08014DD2 1821     add     r1,r4,r0                                ;
08014DD4 4AB1     ldr     r2,=1000010h                            ;
08014DD6 4668     mov     r0,r13                                  ;
08014DD8 F022FADA bl      8037390h                                ;call swi 0x0B, call to BIOS function CPUSet
08014DDC 24F0     mov     r4,0F0h                                 ;
08014DDE 01E4     lsl     r4,r4,7h                                ;
08014DE0 2000     mov     r0,0h                                   ;
08014DE2 2102     mov     r1,2h                                   ;
08014DE4 1C22     mov     r2,r4                                   ;
08014DE6 F7EEF971 bl      80030CCh                                ;
08014DEA 0400     lsl     r0,r0,10h                               ;
08014DEC 0C00     lsr     r0,r0,10h                               ;
08014DEE 4681     mov     r9,r0                                   ;
08014DF0 2002     mov     r0,2h                                   ;
08014DF2 2102     mov     r1,2h                                   ;
08014DF4 1C22     mov     r2,r4                                   ;
08014DF6 F7EEF969 bl      80030CCh                                ;
08014DFA 21FF     mov     r1,0FFh                                 ;
08014DFC 0209     lsl     r1,r1,8h                                ;
08014DFE 4688     mov     r8,r1                                   ;
08014E00 4001     and     r1,r0                                   ;
08014E02 4688     mov     r8,r1                                   ;
08014E04 2700     mov     r7,0h                                   ;
08014E06 1C26     mov     r6,r4                                   ;
08014E08 1D3C     add     r4,r7,4                                 ;
08014E0A 0624     lsl     r4,r4,18h                               ;
08014E0C 0E24     lsr     r4,r4,18h                               ;
08014E0E 4DA4     ldr     r5,=8D396C4h                            ;
08014E10 197D     add     r5,r7,r5                                ;
08014E12 782B     ldrb    r3,[r5]                                 ;
08014E14 331D     add     r3,1Dh                                  ;
08014E16 4640     mov     r0,r8                                   ;
08014E18 4303     orr     r3,r0                                   ;
08014E1A 1C20     mov     r0,r4                                   ;
08014E1C 2106     mov     r1,6h                                   ;
08014E1E 1C32     mov     r2,r6                                   ;
08014E20 F7EEF964 bl      80030ECh                                ;
08014E24 782B     ldrb    r3,[r5]                                 ;
08014E26 331F     add     r3,1Fh                                  ;
08014E28 4641     mov     r1,r8                                   ;
08014E2A 430B     orr     r3,r1                                   ;
08014E2C 1C20     mov     r0,r4                                   ;
08014E2E 2107     mov     r1,7h                                   ;
08014E30 1C32     mov     r2,r6                                   ;
08014E32 F7EEF95B bl      80030ECh                                ;
08014E36 782B     ldrb    r3,[r5]                                 ;
08014E38 333D     add     r3,3Dh                                  ;
08014E3A 4640     mov     r0,r8                                   ;
08014E3C 4303     orr     r3,r0                                   ;
08014E3E 1C20     mov     r0,r4                                   ;
08014E40 2108     mov     r1,8h                                   ;
08014E42 1C32     mov     r2,r6                                   ;
08014E44 F7EEF952 bl      80030ECh                                ;
08014E48 782B     ldrb    r3,[r5]                                 ;
08014E4A 333F     add     r3,3Fh                                  ;
08014E4C 4641     mov     r1,r8                                   ;
08014E4E 430B     orr     r3,r1                                   ;
08014E50 1C20     mov     r0,r4                                   ;
08014E52 2109     mov     r1,9h                                   ;
08014E54 1C32     mov     r2,r6                                   ;
08014E56 F7EEF949 bl      80030ECh                                ;
08014E5A 782B     ldrb    r3,[r5]                                 ;
08014E5C 335D     add     r3,5Dh                                  ;
08014E5E 4640     mov     r0,r8                                   ;
08014E60 4303     orr     r3,r0                                   ;
08014E62 1C20     mov     r0,r4                                   ;
08014E64 210A     mov     r1,0Ah                                  ;
08014E66 1C32     mov     r2,r6                                   ;
08014E68 F7EEF940 bl      80030ECh                                ;
08014E6C 782B     ldrb    r3,[r5]                                 ;
08014E6E 335F     add     r3,5Fh                                  ;
08014E70 4641     mov     r1,r8                                   ;
08014E72 430B     orr     r3,r1                                   ;
08014E74 1C20     mov     r0,r4                                   ;
08014E76 210B     mov     r1,0Bh                                  ;
08014E78 1C32     mov     r2,r6                                   ;
08014E7A F7EEF937 bl      80030ECh                                ;
08014E7E 1C78     add     r0,r7,1                                 ;
08014E80 0600     lsl     r0,r0,18h                               ;
08014E82 0E07     lsr     r7,r0,18h                               ;
08014E84 2F05     cmp     r7,5h                                   ;
08014E86 D9BF     bls     8014E08h                                ;
08014E88 2700     mov     r7,0h                                   ;
08014E8A 20F0     mov     r0,0F0h                                 ;
08014E8C 01C0     lsl     r0,r0,7h                                ;
08014E8E 4682     mov     r10,r0                                  ;
08014E90 1D3E     add     r6,r7,4                                 ;
08014E92 0636     lsl     r6,r6,18h                               ;
08014E94 0E36     lsr     r6,r6,18h                               ;
08014E96 4D82     ldr     r5,=8D396C4h                            ;
08014E98 197D     add     r5,r7,r5                                ;
08014E9A 782B     ldrb    r3,[r5]                                 ;
08014E9C 337D     add     r3,7Dh                                  ;
08014E9E 4641     mov     r1,r8                                   ;
08014EA0 430B     orr     r3,r1                                   ;
08014EA2 1C30     mov     r0,r6                                   ;
08014EA4 210C     mov     r1,0Ch                                  ;
08014EA6 4652     mov     r2,r10                                  ;
08014EA8 F7EEF920 bl      80030ECh                                ;
08014EAC 782B     ldrb    r3,[r5]                                 ;
08014EAE 337F     add     r3,7Fh                                  ;
08014EB0 4640     mov     r0,r8                                   ;
08014EB2 4303     orr     r3,r0                                   ;
08014EB4 1C30     mov     r0,r6                                   ;
08014EB6 210D     mov     r1,0Dh                                  ;
08014EB8 4652     mov     r2,r10                                  ;
08014EBA F7EEF917 bl      80030ECh                                ;
08014EBE 1C3C     mov     r4,r7                                   ;
08014EC0 3410     add     r4,10h                                  ;
08014EC2 0624     lsl     r4,r4,18h                               ;
08014EC4 0E24     lsr     r4,r4,18h                               ;
08014EC6 782B     ldrb    r3,[r5]                                 ;
08014EC8 338D     add     r3,8Dh                                  ;
08014ECA 4641     mov     r1,r8                                   ;
08014ECC 430B     orr     r3,r1                                   ;
08014ECE 1C20     mov     r0,r4                                   ;
08014ED0 210C     mov     r1,0Ch                                  ;
08014ED2 4652     mov     r2,r10                                  ;
08014ED4 F7EEF90A bl      80030ECh                                ;
08014ED8 782B     ldrb    r3,[r5]                                 ;
08014EDA 338F     add     r3,8Fh                                  ;
08014EDC 4640     mov     r0,r8                                   ;
08014EDE 4303     orr     r3,r0                                   ;
08014EE0 1C20     mov     r0,r4                                   ;
08014EE2 210D     mov     r1,0Dh                                  ;
08014EE4 4652     mov     r2,r10                                  ;
08014EE6 F7EEF901 bl      80030ECh                                ;
08014EEA 782B     ldrb    r3,[r5]                                 ;
08014EEC 33B1     add     r3,0B1h                                 ;
08014EEE 4641     mov     r1,r8                                   ;
08014EF0 430B     orr     r3,r1                                   ;
08014EF2 1C30     mov     r0,r6                                   ;
08014EF4 2111     mov     r1,11h                                  ;
08014EF6 4652     mov     r2,r10                                  ;
08014EF8 F7EEF8F8 bl      80030ECh                                ;
08014EFC 782B     ldrb    r3,[r5]                                 ;
08014EFE 33B3     add     r3,0B3h                                 ;
08014F00 4640     mov     r0,r8                                   ;
08014F02 4303     orr     r3,r0                                   ;
08014F04 1C30     mov     r0,r6                                   ;
08014F06 2112     mov     r1,12h                                  ;
08014F08 4652     mov     r2,r10                                  ;
08014F0A F7EEF8EF bl      80030ECh                                ;
08014F0E 1C78     add     r0,r7,1                                 ;
08014F10 0600     lsl     r0,r0,18h                               ;
08014F12 0E07     lsr     r7,r0,18h                               ;
08014F14 2F07     cmp     r7,7h                                   ;
08014F16 D9BB     bls     8014E90h                                ;
08014F18 2700     mov     r7,0h                                   ;
08014F1A 25F0     mov     r5,0F0h                                 ;
08014F1C 01ED     lsl     r5,r5,7h                                ;
08014F1E 1C3C     mov     r4,r7                                   ;
08014F20 340A     add     r4,0Ah                                  ;
08014F22 0624     lsl     r4,r4,18h                               ;
08014F24 0E24     lsr     r4,r4,18h                               ;
08014F26 1C20     mov     r0,r4                                   ;
08014F28 2106     mov     r1,6h                                   ;
08014F2A 1C2A     mov     r2,r5                                   ;
08014F2C 464B     mov     r3,r9                                   ;
08014F2E F7EEF8DD bl      80030ECh                                ;
08014F32 1C20     mov     r0,r4                                   ;
08014F34 2107     mov     r1,7h                                   ;
08014F36 1C2A     mov     r2,r5                                   ;
08014F38 464B     mov     r3,r9                                   ;
08014F3A F7EEF8D7 bl      80030ECh                                ;
08014F3E 1C20     mov     r0,r4                                   ;
08014F40 2108     mov     r1,8h                                   ;
08014F42 1C2A     mov     r2,r5                                   ;
08014F44 464B     mov     r3,r9                                   ;
08014F46 F7EEF8D1 bl      80030ECh                                ;
08014F4A 1C20     mov     r0,r4                                   ;
08014F4C 2109     mov     r1,9h                                   ;
08014F4E 1C2A     mov     r2,r5                                   ;
08014F50 464B     mov     r3,r9                                   ;
08014F52 F7EEF8CB bl      80030ECh                                ;
08014F56 1C20     mov     r0,r4                                   ;
08014F58 210A     mov     r1,0Ah                                  ;
08014F5A 1C2A     mov     r2,r5                                   ;
08014F5C 464B     mov     r3,r9                                   ;
08014F5E F7EEF8C5 bl      80030ECh                                ;
08014F62 1C20     mov     r0,r4                                   ;
08014F64 210B     mov     r1,0Bh                                  ;
08014F66 1C2A     mov     r2,r5                                   ;
08014F68 464B     mov     r3,r9                                   ;
08014F6A F7EEF8BF bl      80030ECh                                ;
08014F6E 1C78     add     r0,r7,1                                 ;
08014F70 0600     lsl     r0,r0,18h                               ;
08014F72 0E07     lsr     r7,r0,18h                               ;
08014F74 2F03     cmp     r7,3h                                   ;
08014F76 D9D2     bls     8014F1Eh                                ;
08014F78 2700     mov     r7,0h                                   ;
08014F7A 25F0     mov     r5,0F0h                                 ;
08014F7C 01ED     lsl     r5,r5,7h                                ;
08014F7E 1C3C     mov     r4,r7                                   ;
08014F80 340C     add     r4,0Ch                                  ;
08014F82 0624     lsl     r4,r4,18h                               ;
08014F84 0E24     lsr     r4,r4,18h                               ;
08014F86 1C20     mov     r0,r4                                   ;
08014F88 210C     mov     r1,0Ch                                  ;
08014F8A 1C2A     mov     r2,r5                                   ;
08014F8C 464B     mov     r3,r9                                   ;
08014F8E F7EEF8AD bl      80030ECh                                ;
08014F92 1C20     mov     r0,r4                                   ;
08014F94 210D     mov     r1,0Dh                                  ;
08014F96 1C2A     mov     r2,r5                                   ;
08014F98 464B     mov     r3,r9                                   ;
08014F9A F7EEF8A7 bl      80030ECh                                ;
08014F9E 1C78     add     r0,r7,1                                 ;
08014FA0 0600     lsl     r0,r0,18h                               ;
08014FA2 0E07     lsr     r7,r0,18h                               ;
08014FA4 2F01     cmp     r7,1h                                   ;
08014FA6 D9EA     bls     8014F7Eh                                ;
08014FA8 2700     mov     r7,0h                                   ;
08014FAA 26F0     mov     r6,0F0h                                 ;
08014FAC 01F6     lsl     r6,r6,7h                                ;
08014FAE 1C3C     mov     r4,r7                                   ;
08014FB0 3410     add     r4,10h                                  ;
08014FB2 0624     lsl     r4,r4,18h                               ;
08014FB4 0E24     lsr     r4,r4,18h                               ;
08014FB6 4D3A     ldr     r5,=8D396C4h                            ;
08014FB8 197D     add     r5,r7,r5                                ;
08014FBA 782B     ldrb    r3,[r5]                                 ;
08014FBC 3329     add     r3,29h                                  ;
08014FBE 4641     mov     r1,r8                                   ;
08014FC0 430B     orr     r3,r1                                   ;
08014FC2 1C20     mov     r0,r4                                   ;
08014FC4 2106     mov     r1,6h                                   ;
08014FC6 1C32     mov     r2,r6                                   ;
08014FC8 F7EEF890 bl      80030ECh                                ;
08014FCC 782B     ldrb    r3,[r5]                                 ;
08014FCE 332B     add     r3,2Bh                                  ;
08014FD0 4640     mov     r0,r8                                   ;
08014FD2 4303     orr     r3,r0                                   ;
08014FD4 1C20     mov     r0,r4                                   ;
08014FD6 2107     mov     r1,7h                                   ;
08014FD8 1C32     mov     r2,r6                                   ;
08014FDA F7EEF887 bl      80030ECh                                ;
08014FDE 782B     ldrb    r3,[r5]                                 ;
08014FE0 3349     add     r3,49h                                  ;
08014FE2 4641     mov     r1,r8                                   ;
08014FE4 430B     orr     r3,r1                                   ;
08014FE6 1C20     mov     r0,r4                                   ;
08014FE8 2108     mov     r1,8h                                   ;
08014FEA 1C32     mov     r2,r6                                   ;
08014FEC F7EEF87E bl      80030ECh                                ;
08014FF0 782B     ldrb    r3,[r5]                                 ;
08014FF2 334B     add     r3,4Bh                                  ;
08014FF4 4640     mov     r0,r8                                   ;
08014FF6 4303     orr     r3,r0                                   ;
08014FF8 1C20     mov     r0,r4                                   ;
08014FFA 2109     mov     r1,9h                                   ;
08014FFC 1C32     mov     r2,r6                                   ;
08014FFE F7EEF875 bl      80030ECh                                ;
08015002 782B     ldrb    r3,[r5]                                 ;
08015004 3369     add     r3,69h                                  ;
08015006 4641     mov     r1,r8                                   ;
08015008 430B     orr     r3,r1                                   ;
0801500A 1C20     mov     r0,r4                                   ;
0801500C 210A     mov     r1,0Ah                                  ;
0801500E 1C32     mov     r2,r6                                   ;
08015010 F7EEF86C bl      80030ECh                                ;
08015014 782B     ldrb    r3,[r5]                                 ;
08015016 336B     add     r3,6Bh                                  ;
08015018 4640     mov     r0,r8                                   ;
0801501A 4303     orr     r3,r0                                   ;
0801501C 1C20     mov     r0,r4                                   ;
0801501E 210B     mov     r1,0Bh                                  ;
08015020 1C32     mov     r2,r6                                   ;
08015022 F7EEF863 bl      80030ECh                                ;
08015026 1C78     add     r0,r7,1                                 ;
08015028 0600     lsl     r0,r0,18h                               ;
0801502A 0E07     lsr     r7,r0,18h                               ;
0801502C 2F09     cmp     r7,9h                                   ;
0801502E D9BE     bls     8014FAEh                                ;
08015030 2700     mov     r7,0h                                   ;
08015032 26F0     mov     r6,0F0h                                 ;
08015034 01F6     lsl     r6,r6,7h                                ;
08015036 1D3D     add     r5,r7,4                                 ;
08015038 062D     lsl     r5,r5,18h                               ;
0801503A 0E2D     lsr     r5,r5,18h                               ;
0801503C 4C18     ldr     r4,=8D396C4h                            ;
0801503E 193C     add     r4,r7,r4                                ;
08015040 7823     ldrb    r3,[r4]                                 ;
08015042 339D     add     r3,9Dh                                  ;
08015044 4641     mov     r1,r8                                   ;
08015046 430B     orr     r3,r1                                   ;
08015048 1C28     mov     r0,r5                                   ;
0801504A 210E     mov     r1,0Eh                                  ;
0801504C 1C32     mov     r2,r6                                   ;
0801504E F7EEF84D bl      80030ECh                                ;
08015052 7823     ldrb    r3,[r4]                                 ;
08015054 339F     add     r3,9Fh                                  ;
08015056 4640     mov     r0,r8                                   ;
08015058 4303     orr     r3,r0                                   ;
0801505A 1C28     mov     r0,r5                                   ;
0801505C 210F     mov     r1,0Fh                                  ;
0801505E 1C32     mov     r2,r6                                   ;
08015060 F7EEF844 bl      80030ECh                                ;
08015064 1C78     add     r0,r7,1                                 ;
08015066 0600     lsl     r0,r0,18h                               ;
08015068 0E07     lsr     r7,r0,18h                               ;
0801506A 2F09     cmp     r7,9h                                   ;
0801506C D9E3     bls     8015036h                                ;
0801506E 480D     ldr     r0,=2004420h                            ;
08015070 490D     ldr     r1,=80B50F4h                            ;
08015072 2290     mov     r2,90h                                  ;
08015074 0112     lsl     r2,r2,4h                                ;
08015076 F002FB73 bl      8017760h                                ;
0801507A B001     add     sp,4h                                   ;
0801507C BC38     pop     r3-r5                                   ;
0801507E 4698     mov     r8,r3                                   ;
08015080 46A1     mov     r9,r4                                   ;
08015082 46AA     mov     r10,r5                                  ;
08015084 BCF0     pop     r4-r7                                   ;
08015086 BC01     pop     r0                                      ;
08015088 4700     bx      r0                                      ;

Check Limited and Semi-Limited cards

08015E1A 1C20     mov     r0,r4                                   ;r0 = r4
08015E1C F7FEFE5A bl      8014AD4h                                ;
08015E20 0600     lsl     r0,r0,18h                               ;
08015E22 0E05     lsr     r5,r0,18h                               ;
08015E24 1C2E     mov     r6,r5                                   ;
08015E26 4905     ldr     r1,=80B53F8h                            ;r1 = limited_cards_array
08015E28 1C20     mov     r0,r4                                   ;r0 = r4
08015E2A F000F81F bl      8015E6Ch                                ;call 08015E6C
08015E2E 0600     lsl     r0,r0,18h                               ;
08015E30 0E00     lsr     r0,r0,18h                               ;
08015E32 2801     cmp     r0,1h                                   ;
08015E34 D104     bne     8015E40h                                ;
08015E36 2D00     cmp     r5,0h                                   ;
08015E38 D114     bne     8015E64h                                ;
08015E3A E011     b       8015E60h                                ;
08015E3C 53F8     strh    r0,[r7,r7]                              ;
08015E3E 080B     lsr     r3,r1,20h                               ;
08015E40 4905     ldr     r1,=80B5410h                            ;r1 = semi_limited_cards_array
08015E42 1C20     mov     r0,r4                                   ;r0 = r4
08015E44 F000F812 bl      8015E6Ch                                ;call 08015E6C
08015E48 0600     lsl     r0,r0,18h                               ;
08015E4A 0E00     lsr     r0,r0,18h                               ;
08015E4C 2801     cmp     r0,1h                                   ;
08015E4E D105     bne     8015E5Ch                                ;
08015E50 2D01     cmp     r5,1h                                   ;
08015E52 D807     bhi     8015E64h                                ;
08015E54 E004     b       8015E60h                                ;
08015E56 0000     lsl     r0,r0,0h                                ;
08015E58 5410     strb    r0,[r2,r0]                              ;
08015E5A 080B     lsr     r3,r1,20h                               ;
08015E5C 2E02     cmp     r6,2h                                   ;
08015E5E D801     bhi     8015E64h                                ;
08015E60 2001     mov     r0,1h                                   ;
08015E62 E000     b       8015E66h                                ;pop r1 r4 r5 r6, and exit to r1
08015E64 2000     mov     r0,0h                                   ;

pop r1 r4 r5 r6, and exit to r1

08015E66 BC70     pop     r4-r6                                   ;
08015E68 BC02     pop     r1                                      ;
08015E6A 4708     bx      r1                                      ;

Checks current array of Limited/Semi-Limited cards against current card ID

08015E6C 0400     lsl     r0,r0,10h                               ;
08015E6C 0400     lsl     r0,r0,10h                               ;
08015E6E 0C03     lsr     r3,r0,10h                               ;
08015E70 2200     mov     r2,0h                                   ;
08015E72 8808     ldrh    r0,[r1]                                 ;
08015E74 2800     cmp     r0,0h                                   ;
08015E76 D00E     beq     8015E96h                                ;
08015E78 0050     lsl     r0,r2,1h                                ;start of loop
08015E7A 1840     add     r0,r0,r1                                ;
08015E7C 8800     ldrh    r0,[r0]                                 ;current_limited_card= [(r2 << 1) + r1]
08015E7E 4298     cmp     r0,r3                                   ;
08015E80 D101     bne     8015E86h                                ;if (current_limited_card ≠ current_card), branch to 08015E86
08015E82 2001     mov     r0,1h                                   ;else is_restricted_card = 1
08015E84 E008     b       8015E98h                                ;branch to 08015E98
08015E86 1C50     add     r0,r2,1                                 ;
08015E88 0400     lsl     r0,r0,10h                               ;
08015E8A 0C02     lsr     r2,r0,10h                               ;
08015E8C 0050     lsl     r0,r2,1h                                ;
08015E8E 1840     add     r0,r0,r1                                ;
08015E90 8800     ldrh    r0,[r0]                                 ;r0 = current_limited_card
08015E92 2800     cmp     r0,0h                                   ;
08015E94 D1F0     bne     8015E78h                                ;if that's not the end of the limited_cards_array, loop to 08015E78
08015E96 2000     mov     r0,0h                                   ;else is_restricted_card = 0
08015E98 4770     bx      r14                                     ;exit the function
08015E9A 0000     lsl     r0,r0,0h                                ;
08015E9C B510     push    r4,r14                                  ;
08015E9E 480F     ldr     r0,=2020C50h                            ;r0 = 0x2020C50
08015EA0 7941     ldrb    r1,[r0,5h]                              ;
08015EA2 71C1     strb    r1,[r0,7h]                              ;[0x2020C57] = [0x2020C55]
08015EA4 F7FEFF7A bl      8014D9Ch                                ;call 08014D9C
08015EA8 F000F8F8 bl      801609Ch                                ;call 0801609C
08015EAC F013F82E bl      8028F0Ch                                ;call 08028F0C
08015EB0 2037     mov     r0,37h                                  ;r0 = 0x37 [0d55]
08015EB2 F00CFB45 bl      8022540h                                ;call 08022540
08015EB6 480A     ldr     r0,=801610Dh                            ;r0 = 0801610D
08015EB8 F7EDFE34 bl      8003B24h                                ;call 08003B24
08015EBC F7EDFE68 bl      8003B90h                                ;call 08003B90
08015EC0 2401     mov     r4,1h                                   ;r4 = 1
08015EC2 F7FEF9D9 bl      8014278h                                ;call 08014278
08015EC6 2810     cmp     r0,10h                                  ;
08015EC8 D022     beq     8015F10h                                ;if (r0 == 0d16), branch to 08015F10
08015ECA 2810     cmp     r0,10h                                  ;
08015ECC DC0D     bgt     8015EEAh                                ;if (r0 > 0d16), branch to 08015EEA
08015ECE 2802     cmp     r0,2h                                   ;
08015ED0 D025     beq     8015F1Eh                                ;if (r0 == 2), branch to 08015F1E
08015ED2 2802     cmp     r0,2h                                   ;
08015ED4 DC06     bgt     8015EE4h                                ;if (r0 > 2), branch to 08015EE4
08015ED6 2801     cmp     r0,1h                                   ;
08015ED8 D01D     beq     8015F16h                                ;if (r0 == 1), branch to 08015F16
08015EDA E025     b       8015F28h                                ;else branch to 08015F28
08015EDC 0C50     lsr     r0,r2,11h                               ;
08015EDE 0202     lsl     r2,r0,8h                                ;
08015EE0 610D     str     r5,[r1,10h]                             ;
08015EE2 0801     lsr     r1,r0,20h                               ;
08015EE4 2808     cmp     r0,8h                                   ;
08015EE6 D01A     beq     8015F1Eh                                ;
08015EE8 E01E     b       8015F28h                                ;

Check if current_card_id is a God card

0801936C B510     push    r4,r14                                  ;
0801936E 0400     lsl     r0,r0,10h                               ;
08019370 0C04     lsr     r4,r0,10h                               ;r4 = current_card_id
08019372 2200     mov     r2,0h                                   ;r2 = 0
08019374 4806     ldr     r0,=8D54640h                            ;r0 = pointer_to_god_cards_ids
08019376 8801     ldrh    r1,[r0]                                 ;load current_god_card_id
08019378 1C03     mov     r3,r0                                   ;r3 = pointer_to_god_cards_ids
0801937A 2900     cmp     r1,0h                                   ;
0801937C D012     beq     80193A4h                                ;if all the God cards IDs have been read, branch to 0x80193A4
0801937E 1C19     mov     r1,r3                                   ;
08019380 0050     lsl     r0,r2,1h                                ;loop through God cards IDs starts here
08019382 1840     add     r0,r0,r1                                ;
08019384 8800     ldrh    r0,[r0]                                 ;
08019386 42A0     cmp     r0,r4                                   ;
08019388 D104     bne     8019394h                                ;if (current_card_id ≠ current_god_card_id), branch to 0x8019394
0801938A 2001     mov     r0,1h                                   ;else is_a_god_card = 1
0801938C E00B     b       80193A6h                                ;branch to 0x80193A6
0801938E 0000     lsl     r0,r0,0h                                ;
08019390 4640     mov     r0,r8                                   ;
08019392 08D5     lsr     r5,r2,3h                                ;
08019394 1C50     add     r0,r2,1                                 ;
08019396 0600     lsl     r0,r0,18h                               ;
08019398 0E02     lsr     r2,r0,18h                               ;
0801939A 0050     lsl     r0,r2,1h                                ;
0801939C 18C0     add     r0,r0,r3                                ;r0 = pointer_to_god_cards_ids + 2
0801939E 8800     ldrh    r0,[r0]                                 ;r0 = current_god_card_id
080193A0 2800     cmp     r0,0h                                   ;
080193A2 D1ED     bne     8019380h                                ;if all the God cards IDs have not yet been read, loop to 0x8019380
080193A4 2000     mov     r0,0h                                   ;else is_a_god_card  = 0
080193A6 BC10     pop     r4                                      ;
080193A8 BC02     pop     r1                                      ;
080193AA 4708     bx      r1                                      ;

0x22540

0x22540 - ?

08022540 B510     push    r4,r14                                  ;
08022542 0400     lsl     r0,r0,10h                               ;
08022544 0C04     lsr     r4,r0,10h                               ;
08022546 1C20     mov     r0,r4                                   ;r0 & 0xFFFF
08022548 F000F82A bl      80225A0h                                ;call 0x225A0 - Load value from array at 0xD1F80, with offset r0
0802254C 0600     lsl     r0,r0,18h                               ;
0802254E 0E00     lsr     r0,r0,18h                               ;r0 & 0xFF (r0 should be between 0 and 5, except if the offset submitted to subroutine 0x225A0 is out of bounds)
08022550 3801     sub     r0,1h                                   ;r0-- (can become negative)
08022552 2804     cmp     r0,4h                                   ;
08022554 D821     bhi     802259Ah                                ;if r0 either has an invalid value or was 0 before the sub 1, get out of this function
08022556 0080     lsl     r0,r0,2h                                ;
08022558 4901     ldr     r1,=8022564h                            ;
0802255A 1840     add     r0,r0,r1                                ;r0 = 0x8022564 + (r0 << 2)
0802255C 6800     ldr     r0,[r0]                                 ;load pointer to next function in r0
0802255E 4687     mov     r15,r0                                  ;
08022560 2564     mov     r5,64h                                  ;
08022562 0802     lsr     r2,r0,20h                               ;

64 25 02 08 - points to this array, it is never supposed to be called (might be used to point to this array)
78 25 02 08 - 0, continue at 0x8022578
80 25 02 08 - 1, continue at 0x8022580
80 25 02 08 - 2, continue at 0x8022580
88 25 02 08 - 3, continue at 0x8022588
94 25 02 08 - 4, continue at 0x8022594

08022578 1C20     mov     r0,r4                                   ;r0 = r4
0802257A F015FF63 bl      8038444h                                ;call 0x38444
0802257E E00C     b       802259Ah                                ;get out of this function
08022580 1C20     mov     r0,r4                                   ;r0 = r4
08022582 F015FF49 bl      8038418h                                ;call 0x38418
08022586 E008     b       802259Ah                                ;get out of this function
08022588 4801     ldr     r0,=20249F0h                            ;r0 = pointer to RAM address 0x20249F0
0802258A F016FB51 bl      8038C30h                                ;call 0x38C30
0802258E E004     b       802259Ah                                ;get out of this function

F0 49 02 02 - pointer to RAM address 20249F0

08022594 1C20     mov     r0,r4                                   ;r0 = r4
08022596 F015FF55 bl      8038444h                                ;call 0x38444
0802259A BC10     pop     r4                                      ;
0802259C BC01     pop     r0                                      ;
0802259E 4700     bx      r0                                      ;

0x225A0 - Load value from array at 0xD1F80, with offset r0

080225A0 0400     lsl     r0,r0,10h                               ;
080225A2 4902     ldr     r1,=80D1F80h                            ;
080225A4 0BC0     lsr     r0,r0,0Fh                               ;r0 & 0x7FE
080225A6 1840     add     r0,r0,r1                                ;r0 += 0x80D1F80
080225A8 7800     ldrb    r0,[r0]                                 ;load value from array at 0xD1F80, value range is [0;4]
080225AA 4770     bx      r14                                     ;

Life Points

0x23B58 : Damage calculation ?

08023B58 B500     push    r14                                     ;start of function
08023B5A 4806     ldr     r0,=2023120h                            ;
08023B5C 2100     mov     r1,0h                                   ;
08023B5E 7641     strb    r1,[r0,19h]                             ;store 0 in [2023139]
08023B60 7E00     ldrb    r0,[r0,18h]                             ;r0 = damage_type ?
08023B62 3801     sub     r0,1h                                   ;r0--
08023B64 2809     cmp     r0,9h                                   ;
08023B66 D83A     bhi     8023BDEh                                ;if damage_type > 9, branch to 08023BDE
08023B68 0080     lsl     r0,r0,2h                                ;damage_type <<= 2
08023B6A 4903     ldr     r1,=8023B7Ch                            ;
08023B6C 1840     add     r0,r0,r1                                ;r0 = 0x8023B7C + (damage_type << 2)
08023B6E 6800     ldr     r0,[r0]                                 ;r0 = pointer_to_correct_damage_type_instructions
08023B70 4687     mov     r15,r0                                  ;jump to pointer_to_correct_damage_type_instructions
-
08023BA4 F000F822 bl      8023BECh                                ;
08023BA8 E019     b       8023BDEh                                ;
08023BAA F000F869 bl      8023C80h                                ;
08023BAE E016     b       8023BDEh                                ;
08023BB0 F000F89C bl      8023CECh                                ;
08023BB4 E013     b       8023BDEh                                ;
08023BB6 F000F8CF bl      8023D58h                                ;Direct attack ?
08023BBA E010     b       8023BDEh                                ;
08023BBC F000F898 bl      8023CF0h                                ;
08023BC0 E00D     b       8023BDEh                                ;
08023BC2 F000F8E3 bl      8023D8Ch                                ;
08023BC6 E00A     b       8023BDEh                                ;
08023BC8 F000F8FA bl      8023DC0h                                ;
08023BCC E007     b       8023BDEh                                ;
08023BCE F000F907 bl      8023DE0h                                ;
08023BD2 E004     b       8023BDEh                                ;
08023BD4 F000F928 bl      8023E28h                                ;Direct damage spell ?
08023BD8 E001     b       8023BDEh                                ;
08023BDA F000F915 bl      8023E08h                                ;
08023BDE F000F937 bl      8023E50h                                ;
08023BE2 F000F961 bl      8023EA8h                                ;
08023BE6 BC01     pop     r0                                      ;
08023BE8 4700     bx      r0                                      ;

0x23E28

08023E28 B500     push    r14                                     ;
08023E2A 4A06     ldr     r2,=2023120h                            ;
08023E2C 8A51     ldrh    r1,[r2,12h]                             ;
08023E2E 89D0     ldrh    r0,[r2,0Eh]                             ;
08023E30 1A09     sub     r1,r1,r0                                ;
08023E32 2900     cmp     r1,0h                                   ;
08023E34 DC08     bgt     8023E48h                                ;
08023E36 2000     mov     r0,0h                                   ;
08023E38 8250     strh    r0,[r2,12h]                             ;
08023E3A 7ED0     ldrb    r0,[r2,1Bh]                             ;
08023E3C F7FFFE7E bl      8023B3Ch                                ;
08023E40 E003     b       8023E4Ah                                ;
08023E42 0000     lsl     r0,r0,0h                                ;
08023E44 3120     add     r1,20h                                  ;
08023E46 0202     lsl     r2,r0,8h                                ;
08023E48 8251     strh    r1,[r2,12h]                             ;
08023E4A BC01     pop     r0                                      ;
08023E4C 4700     bx      r0                                      ;

Update Player's LPs

08023E4E 0000     lsl     r0,r0,0h                                ;
08023E50 B510     push    r4,r14                                  ;
08023E52 4C0A     ldr     r4,=202347Ch                            ;r4 = pointer_to_player_lp
08023E54 4A0A     ldr     r2,=2023120h                            ;
08023E56 7E90     ldrb    r0,[r2,1Ah]                             ;
08023E58 0040     lsl     r0,r0,1h                                ;
08023E5A 1900     add     r0,r0,r4                                ;
08023E5C 88D1     ldrh    r1,[r2,6h]                              ;
08023E5E 8001     strh    r1,[r0]                                 ;Update Player's LPs
08023E60 4B08     ldr     r3,=2023140h                            ;
08023E62 88D0     ldrh    r0,[r2,6h]                              ;
08023E64 8098     strh    r0,[r3,4h]                              ;
08023E66 7ED0     ldrb    r0,[r2,1Bh]                             ;
08023E68 0040     lsl     r0,r0,1h                                ;
08023E6A 1900     add     r0,r0,r4                                ;
08023E6C 8A51     ldrh    r1,[r2,12h]                             ;
08023E6E 8001     strh    r1,[r0]                                 ;
08023E70 8A50     ldrh    r0,[r2,12h]                             ;
08023E72 8218     strh    r0,[r3,10h]                             ;
08023E74 BC10     pop     r4                                      ;
08023E76 BC01     pop     r0                                      ;
08023E78 4700     bx      r0                                      ;

Sets values for direct damage spells calculation

0802431C 4A06     ldr     r2,=2023120h                            ;Function: Retrieve data for damage calculation ?
0802431E 2300     mov     r3,0h                                   ;r3 = 0
08024320 2109     mov     r1,9h                                   ;r1 = 9 ; direct_damage_spell
08024322 7611     strb    r1,[r2,18h]                             ;store 9 in [damage_type]
08024324 7693     strb    r3,[r2,1Ah]                             ;store 0 in [202313A]
08024326 2101     mov     r1,1h                                   ;
08024328 76D1     strb    r1,[r2,1Bh]                             ;
0802432A 81D0     strh    r0,[r2,0Eh]                             ;store damage in [202312E]
0802432C 4903     ldr     r1,=202347Ch                            ;pointer_to_player_lp
0802432E 8808     ldrh    r0,[r1]                                 ;r0 = current_player_lp
08024330 80D0     strh    r0,[r2,6h]                              ;store current_player_lp in [2023126]
08024332 8848     ldrh    r0,[r1,2h]                              ;
08024334 8250     strh    r0,[r2,12h]                             ;store current_cpu_lp in [2023132]
08024336 4770     bx      r14                                     ;

Handling cards on the Field

0x24CF8 - Decrease Monster's Level ?

08024CF8 1C02     mov     r2,r0                                   ;
08024CFA 7893     ldrb    r3,[r2,2h]                              ;r3 = current_monster_level ?
08024CFC 2102     mov     r1,2h                                   ;
08024CFE 5651     ldsb    r1,[r2,r1]                              ;
08024D00 2080     mov     r0,80h                                  ;
08024D02 4240     neg     r0,r0                                   ;
08024D04 4281     cmp     r1,r0                                   ;
08024D06 DD01     ble     8024D0Ch                                ;
08024D08 1E58     sub     r0,r3,1                                 ;r0 = current_monster_level - 1 ?
08024D0A 7090     strb    r0,[r2,2h]                              ;
08024D0C 4770     bx      r14                                     ;

Card effect text display

0x25868 -

08025868 B570     push    r4-r6,r14                               ;
0802586A B088     add     sp,-20h                                 ;
0802586C 9E0C     ldr     r6,[sp,30h]                             ;
0802586E 2500     mov     r5,0h                                   ;
08025870 9500     str     r5,[sp]                                 ;
08025872 9501     str     r5,[sp,4h]                              ;
08025874 466C     mov     r4,r13                                  ;
08025876 7225     strb    r5,[r4,8h]                              ;
08025878 9003     str     r0,[sp,0Ch]                             ;
0802587A 4668     mov     r0,r13                                  ;
0802587C 2400     mov     r4,0h                                   ;
0802587E 8205     strh    r5,[r0,10h]                             ;
08025880 7704     strb    r4,[r0,1Ch]                             ;
08025882 8281     strh    r1,[r0,14h]                             ;
08025884 82C2     strh    r2,[r0,16h]                             ;
08025886 8303     strh    r3,[r0,18h]                             ;
08025888 8346     strh    r6,[r0,1Ah]                             ;
0802588A F000F84B bl      8025924h                                ;call 0x25924
0802588E 4668     mov     r0,r13                                  ;
08025890 F000F8A0 bl      80259D4h                                ;call 0x259D4 - Display Duel text box general routine
08025894 F7FFFCF4 bl      8025280h                                ;call 0x25280
08025898 B008     add     sp,20h                                  ;
0802589A BC70     pop     r4-r6                                   ;
0802589C BC01     pop     r0                                      ;
0802589E 4700     bx      r0                                      ;

0x258A0 - Load pointer_to_card_effect_text in r0

080258A0 B500     push    r14                                     ;
080258A2 B081     add     sp,-4h                                  ;
080258A4 1C03     mov     r3,r0                                   ;r3 = card_ID_1 ?
080258A6 1C0A     mov     r2,r1                                   ;r2 = card_ID_2 ?
080258A8 041B     lsl     r3,r3,10h                               ;
080258AA 0C1B     lsr     r3,r3,10h                               ;
080258AC 0412     lsl     r2,r2,10h                               ;
080258AE 0C12     lsr     r2,r2,10h                               ;
080258B0 4906     ldr     r1,=8E4AA50h                            ;
080258B2 0098     lsl     r0,r3,2h                                ;
080258B4 1840     add     r0,r0,r1                                ;r1 = pointer_to_card_effect_text
080258B6 6800     ldr     r0,[r0]                                 ;r0 = card_effect_text
080258B8 2100     mov     r1,0h                                   ;r1 = 0
080258BA 9100     str     r1,[sp]                                 ;
080258BC 1C19     mov     r1,r3                                   ;r1 = card_ID_1 
080258BE 2300     mov     r3,0h                                   ;r3 = 0
080258C0 F7FFFFD2 bl      8025868h                                ;call 0x25868
080258C4 B001     add     sp,4h                                   ;
080258C6 BC01     pop     r0                                      ;
080258C8 4700     bx      r0                                      ;

0x25924 -

08025924 B530     push    r4,r5,r14                               ;
08025926 2400     mov     r4,0h                                   ;r4 = 0
08025928 0120     lsl     r0,r4,4h                                ;loop start
0802592A 1B00     sub     r0,r0,r4                                ;
0802592C 0080     lsl     r0,r0,2h                                ;
0802592E 491C     ldr     r1,=80F0454h                            ;
08025930 1840     add     r0,r0,r1                                ;
08025932 01A1     lsl     r1,r4,6h                                ;
08025934 4D1B     ldr     r5,=200EC00h                            ;
08025936 1949     add     r1,r1,r5                                ;
08025938 4A1B     ldr     r2,=4000010h                            ;
0802593A F011FD29 bl      8037390h                                ;call 0x37390
0802593E 1C60     add     r0,r4,1                                 ;
08025940 0600     lsl     r0,r0,18h                               ;
08025942 0E04     lsr     r4,r0,18h                               ;
08025944 2C11     cmp     r4,11h                                  ;
08025946 D9EF     bls     8025928h                                ;if (r4 ≤ 17), loop to 0x8025928
08025948 4918     ldr     r1,=0FFFF9FA0h                          ;
0802594A 1868     add     r0,r5,r1                                ;
0802594C 4918     ldr     r1,=8D92088h                            ;
0802594E 4A19     ldr     r2,=801h                                ;
08025950 F7F1FF06 bl      8017760h                                ;call 0x17760
08025954 4A18     ldr     r2,=0FFFFA0A0h                          ;
08025956 18A8     add     r0,r5,r2                                ;
08025958 4918     ldr     r1,=8D92099h                            ;
0802595A 4A19     ldr     r2,=101h                                ;
0802595C F7F1FF00 bl      8017760h                                ;call 0x17760
08025960 F7DEF916 bl      8003B90h                                ;call 0x3B90 - Display blank text box on Duel screen, and print current character
08025964 F7FFFF12 bl      802578Ch                                ;call 0x2578C
08025968 4916     ldr     r1,=400004Ah                            ;
0802596A 201E     mov     r0,1Eh                                  ;
0802596C 8008     strh    r0,[r1]                                 ;
0802596E 3908     sub     r1,8h                                   ;
08025970 4A15     ldr     r2,=3EDh                                ;
08025972 1C10     mov     r0,r2                                   ;
08025974 8008     strh    r0,[r1]                                 ;
08025976 3104     add     r1,4h                                   ;
08025978 4A14     ldr     r2,=438Dh                               ;
0802597A 1C10     mov     r0,r2                                   ;
0802597C 8008     strh    r0,[r1]                                 ;
0802597E F7DEF907 bl      8003B90h                                ;call 0x3B90 - Display blank text box on Duel screen, and print current character
08025982 4913     ldr     r1,=4000049h                            ;
08025984 2036     mov     r0,36h                                  ;
08025986 7008     strb    r0,[r1]                                 ;
08025988 310B     add     r1,0Bh                                  ;
0802598A 2007     mov     r0,7h                                   ;
0802598C 8008     strh    r0,[r1]                                 ;
0802598E 3954     sub     r1,54h                                  ;
08025990 22EC     mov     r2,0ECh                                 ;
08025992 01D2     lsl     r2,r2,7h                                ;
08025994 1C10     mov     r0,r2                                   ;
08025996 8008     strh    r0,[r1]                                 ;
08025998 BC30     pop     r4,r5                                   ;
0802599A BC01     pop     r0                                      ;
0802599C 4700     bx      r0                                      ;

0x259D4 - Display Duel text box general routine

080259D4 B510     push    r4,r14                                  ;
080259D6 1C04     mov     r4,r0                                   ;
080259D8 E02D     b       8025A36h                                ;branch to 0x8025A36 (if there's a text box to display, stay in function, else get out)
080259DA 7A20     ldrb    r0,[r4,8h]                              ;
080259DC 2805     cmp     r0,5h                                   ;
080259DE D826     bhi     8025A2Eh                                ;if (r0 > 5), branch to 8025A2E
080259E0 0080     lsl     r0,r0,2h                                ;
080259E2 4902     ldr     r1,=80259F0h                            ;
080259E4 1840     add     r0,r0,r1                                ;r0 = 0x80259F0 + (r0 << 2)
080259E6 6800     ldr     r0,[r0]                                 ;r0 = [r0] (r0 = address_to_branch_to, from Branch table below)
080259E8 4687     mov     r15,r0                                  ;branch to address_to_branch_to
080259EA 0000     lsl     r0,r0,0h                                ;
080259EC 59F0     ldr     r0,[r6,r7]                              ;
080259EE 0802     lsr     r2,r0,20h                               ;
Branch table:
08 5A 02 08 - 
10 5A 02 08 - 
18 5A 02 08 - 
2E 5A 02 08 - 
20 5A 02 08 - 
28 5A 02 08 - 
08025A08 1C20     mov     r0,r4                                   ;
08025A0A F000F81D bl      8025A48h                                ;call 0x25A48
08025A0E E00E     b       8025A2Eh                                ;branch to 0x25A2E
08025A10 1C20     mov     r0,r4                                   ;
08025A12 F000F99D bl      8025D50h                                ;call 0x25D50
08025A16 E00A     b       8025A2Eh                                ;branch to 0x25A2E
08025A18 1C20     mov     r0,r4                                   ;
08025A1A F000FA05 bl      8025E28h                                ;call 0x25E28
08025A1E E006     b       8025A2Eh                                ;branch to 0x25A2E
08025A20 1C20     mov     r0,r4                                   ;
08025A22 F000FAF3 bl      802600Ch                                ;call 0x2600C
08025A26 E002     b       8025A2Eh                                ;branch to 0x25A2E
08025A28 1C20     mov     r0,r4                                   ;
08025A2A F000FB3F bl      80260ACh                                ;call 0x260AC
08025A2E F7DEF8AF bl      8003B90h                                ;call 0x3B90 - Display blank text box on Duel screen, and print current character
08025A32 F7FFFEAB bl      802578Ch                                ;call 0x2578C
08025A36 68E0     ldr     r0,[r4,0Ch]                             ;r0 = [r4 + 12]
08025A38 6821     ldr     r1,[r4]                                 ;r1 = [r4]
08025A3A 1840     add     r0,r0,r1                                ;r0 += r1
08025A3C 7800     ldrb    r0,[r0]                                 ;r0 = pointer_to_duel_text_to_display
08025A3E 2800     cmp     r0,0h                                   ;
08025A40 D1CB     bne     80259DAh                                ;if (r0 ≠ 0), branch to 0x80259DA (stay in the function)
08025A42 BC10     pop     r4                                      ;else get out of this function
08025A44 BC01     pop     r0                                      ;
08025A46 4700     bx      r0                                      ;

0x25A48 -

08025A48 B530     push    r4,r5,r14                               ;
08025A4A 1C04     mov     r4,r0                                   ;
08025A4C 68E3     ldr     r3,[r4,0Ch]                             ;
08025A4E 6825     ldr     r5,[r4]                                 ;
08025A50 195A     add     r2,r3,r5                                ;
08025A52 7811     ldrb    r1,[r2]                                 ;
08025A54 2923     cmp     r1,23h                                  ;
08025A56 D00A     beq     8025A6Eh                                ;
08025A58 2924     cmp     r1,24h                                  ;
08025A5A D06C     beq     8025B36h                                ;
08025A5C 2080     mov     r0,80h                                  ;
08025A5E 4008     and     r0,r1                                   ;
08025A60 2800     cmp     r0,0h                                   ;
08025A62 D071     beq     8025B48h                                ;
08025A64 7850     ldrb    r0,[r2,1h]                              ;
08025A66 0203     lsl     r3,r0,8h                                ;
08025A68 430B     orr     r3,r1                                   ;
08025A6A 1CA8     add     r0,r5,2                                 ;
08025A6C E148     b       8025D00h                                ;
08025A6E 1C68     add     r0,r5,1                                 ;
08025A70 6020     str     r0,[r4]                                 ;
08025A72 1818     add     r0,r3,r0                                ;
08025A74 7800     ldrb    r0,[r0]                                 ;
08025A76 3830     sub     r0,30h                                  ;
08025A78 2807     cmp     r0,7h                                   ;
08025A7A D900     bls     8025A7Eh                                ;
08025A7C E161     b       8025D42h                                ;
08025A7E 0080     lsl     r0,r0,2h                                ;
08025A80 4901     ldr     r1,=8025A8Ch                            ;
08025A82 1840     add     r0,r0,r1                                ;
08025A84 6800     ldr     r0,[r0]                                 ;
08025A86 4687     mov     r15,r0                                  ;

[pointers]

08025AAC 6820     ldr     r0,[r4]                                 ;
08025AAE 3001     add     r0,1h                                   ;
08025AB0 6020     str     r0,[r4]                                 ;
08025AB2 6865     ldr     r5,[r4,4h]                              ;
08025AB4 1C28     mov     r0,r5                                   ;
08025AB6 211C     mov     r1,1Ch                                  ;
08025AB8 F014FE2A bl      803A710h                                ;
08025ABC 2800     cmp     r0,0h                                   ;
08025ABE D008     beq     8025AD2h                                ;
08025AC0 1C28     mov     r0,r5                                   ;
08025AC2 211C     mov     r1,1Ch                                  ;
08025AC4 F014FC12 bl      803A2ECh                                ;
08025AC8 3001     add     r0,1h                                   ;
08025ACA 00C1     lsl     r1,r0,3h                                ;
08025ACC 1A09     sub     r1,r1,r0                                ;
08025ACE 0089     lsl     r1,r1,2h                                ;
08025AD0 6061     str     r1,[r4,4h]                              ;
08025AD2 6860     ldr     r0,[r4,4h]                              ;
08025AD4 2854     cmp     r0,54h                                  ;
08025AD6 D800     bhi     8025ADAh                                ;
08025AD8 E133     b       8025D42h                                ;
08025ADA 2054     mov     r0,54h                                  ;
08025ADC E130     b       8025D40h                                ;
08025ADE 2001     mov     r0,1h                                   ;
08025AE0 7220     strb    r0,[r4,8h]                              ;
08025AE2 E12E     b       8025D42h                                ;
08025AE4 2100     mov     r1,0h                                   ;
08025AE6 2002     mov     r0,2h                                   ;
08025AE8 7220     strb    r0,[r4,8h]                              ;
08025AEA 6820     ldr     r0,[r4]                                 ;
08025AEC 3001     add     r0,1h                                   ;
08025AEE 6020     str     r0,[r4]                                 ;
08025AF0 7721     strb    r1,[r4,1Ch]                             ;
08025AF2 8AA0     ldrh    r0,[r4,14h]                             ;
08025AF4 8260     strh    r0,[r4,12h]                             ;
08025AF6 E124     b       8025D42h                                ;
08025AF8 2100     mov     r1,0h                                   ;
08025AFA 2002     mov     r0,2h                                   ;
08025AFC 7220     strb    r0,[r4,8h]                              ;
08025AFE 6820     ldr     r0,[r4]                                 ;
08025B00 3001     add     r0,1h                                   ;
08025B02 6020     str     r0,[r4]                                 ;
08025B04 7721     strb    r1,[r4,1Ch]                             ;
08025B06 8AE0     ldrh    r0,[r4,16h]                             ;
08025B08 8260     strh    r0,[r4,12h]                             ;
08025B0A E11A     b       8025D42h                                ;
08025B0C 2000     mov     r0,0h                                   ;
08025B0E 7720     strb    r0,[r4,1Ch]                             ;
08025B10 2004     mov     r0,4h                                   ;
08025B12 7220     strb    r0,[r4,8h]                              ;
08025B14 E00B     b       8025B2Eh                                ;
08025B16 2000     mov     r0,0h                                   ;
08025B18 7720     strb    r0,[r4,1Ch]                             ;
08025B1A 2005     mov     r0,5h                                   ;
08025B1C 7220     strb    r0,[r4,8h]                              ;
08025B1E 8B20     ldrh    r0,[r4,18h]                             ;
08025B20 E004     b       8025B2Ch                                ;
08025B22 2000     mov     r0,0h                                   ;
08025B24 7720     strb    r0,[r4,1Ch]                             ;
08025B26 2005     mov     r0,5h                                   ;
08025B28 7220     strb    r0,[r4,8h]                              ;
08025B2A 8B60     ldrh    r0,[r4,1Ah]                             ;
08025B2C 8260     strh    r0,[r4,12h]                             ;
08025B2E 6820     ldr     r0,[r4]                                 ;
08025B30 3001     add     r0,1h                                   ;
08025B32 6020     str     r0,[r4]                                 ;
08025B34 E105     b       8025D42h                                ;
08025B36 1C10     mov     r0,r2                                   ;
08025B38 F7F1FC3E bl      80173B8h                                ;
08025B3C 0400     lsl     r0,r0,10h                               ;
08025B3E 0C00     lsr     r0,r0,10h                               ;
08025B40 6821     ldr     r1,[r4]                                 ;
08025B42 1809     add     r1,r1,r0                                ;
08025B44 6021     str     r1,[r4]                                 ;
08025B46 E0FC     b       8025D42h                                ;
08025B48 1C08     mov     r0,r1                                   ;
08025B4A 3820     sub     r0,20h                                  ;
08025B4C 285A     cmp     r0,5Ah                                  ;
08025B4E D900     bls     8025B52h                                ;
08025B50 E0CE     b       8025CF0h                                ;
08025B52 0080     lsl     r0,r0,2h                                ;
08025B54 4901     ldr     r1,=8025B60h                            ;
08025B56 1840     add     r0,r0,r1                                ;
08025B58 6800     ldr     r0,[r0]                                 ;
08025B5A 4687     mov     r15,r0                                  ;

[pointers]

08025CCC 4A07     ldr     r2,=8D53F80h                            ;
08025CCE 68E0     ldr     r0,[r4,0Ch]                             ;
08025CD0 6821     ldr     r1,[r4]                                 ;
08025CD2 1840     add     r0,r0,r1                                ;
08025CD4 7800     ldrb    r0,[r0]                                 ;
08025CD6 3820     sub     r0,20h                                  ;
08025CD8 0080     lsl     r0,r0,2h                                ;
08025CDA 1880     add     r0,r0,r2                                ;
08025CDC 6800     ldr     r0,[r0]                                 ;
08025CDE 7843     ldrb    r3,[r0,1h]                              ;
08025CE0 021B     lsl     r3,r3,8h                                ;
08025CE2 7800     ldrb    r0,[r0]                                 ;
08025CE4 4303     orr     r3,r0                                   ;
08025CE6 3101     add     r1,1h                                   ;
08025CE8 6021     str     r1,[r4]                                 ;
08025CEA E00A     b       8025D02h                                ;
08025CEC 3F80     sub     r7,80h                                  ;
08025CEE 08D5     lsr     r5,r2,3h                                ;
08025CF0 480B     ldr     r0,=8D53F80h                            ;
08025CF2 6800     ldr     r0,[r0]                                 ;
08025CF4 7843     ldrb    r3,[r0,1h]                              ;
08025CF6 021B     lsl     r3,r3,8h                                ;
08025CF8 7800     ldrb    r0,[r0]                                 ;
08025CFA 4303     orr     r3,r0                                   ;
08025CFC 6820     ldr     r0,[r4]                                 ;
08025CFE 3001     add     r0,1h                                   ;
08025D00 6020     str     r0,[r4]                                 ;
08025D02 6861     ldr     r1,[r4,4h]                              ;
08025D04 2001     mov     r0,1h                                   ;
08025D06 4008     and     r0,r1                                   ;
08025D08 2800     cmp     r0,0h                                   ;
08025D0A D00F     beq     8025D2Ch                                ;
08025D0C 0848     lsr     r0,r1,1h                                ;
08025D0E 01C0     lsl     r0,r0,7h                                ;
08025D10 4904     ldr     r1,=2008CC0h                            ;
08025D12 1840     add     r0,r0,r1                                ;
08025D14 4A04     ldr     r2,=101h                                ;
08025D16 1C19     mov     r1,r3                                   ;
08025D18 F7F1FCB8 bl      801768Ch                                ;
08025D1C E00E     b       8025D3Ch                                ;
08025D1E 0000     lsl     r0,r0,0h                                ;
08025D20 3F80     sub     r7,80h                                  ;
08025D22 08D5     lsr     r5,r2,3h                                ;
08025D24 8CC0     ldrh    r0,[r0,26h]                             ;
08025D26 0200     lsl     r0,r0,8h                                ;
08025D28 0101     lsl     r1,r0,4h                                ;
08025D2A 0000     lsl     r0,r0,0h                                ;
08025D2C 0848     lsr     r0,r1,1h                                ;
08025D2E 01C0     lsl     r0,r0,7h                                ;
08025D30 4905     ldr     r1,=2008CA0h                            ;
08025D32 1840     add     r0,r0,r1                                ;
08025D34 4A05     ldr     r2,=101h                                ;
08025D36 1C19     mov     r1,r3                                   ;
08025D38 F7F1FCA8 bl      801768Ch                                ;
08025D3C 6860     ldr     r0,[r4,4h]                              ;
08025D3E 3001     add     r0,1h                                   ;
08025D40 6060     str     r0,[r4,4h]                              ;
08025D42 BC30     pop     r4,r5                                   ;
08025D44 BC01     pop     r0                                      ;
08025D46 4700     bx      r0                                      ;

0x27304 - Check if current_card_id is a God card ID, then ?

08027304 B500     push    r14                                     ;
08027306 2100     mov     r1,0h                                   ;
08027308 F000F81E bl      8027348h                                ;check if current_card_id is a God card ID, then ?
0802730C 0600     lsl     r0,r0,18h                               ;
0802730E 1600     asr     r0,r0,18h                               ;r0 &= 0xFF
08027310 BC02     pop     r1                                      ;
08027312 4708     bx      r1                                      ;

0x27348

08027348 B5F0     push    r4-r7,r14                               ;
0802734A 4647     mov     r7,r8                                   ;
0802734C B480     push    r7                                      ;
0802734E 4680     mov     r8,r0                                   ;
08027350 0409     lsl     r1,r1,10h                               ;
08027352 0C0F     lsr     r7,r1,10h                               ;
08027354 2600     mov     r6,0h                                   ;r6 = 0
08027356 2500     mov     r5,0h                                   ;r5 = 0
08027358 4641     mov     r1,r8                                   ;
0802735A 3104     add     r1,4h                                   ;
0802735C 4688     mov     r8,r1                                   ;r8 += 4
0802735E 3904     sub     r1,4h                                   ;r1 = r8 - 4
08027360 C901     ldmia   [r1]!,r0                                ;load RAM pointer to r0
08027362 8804     ldrh    r4,[r0]                                 ;load the value of that RAM address in r4
08027364 1C20     mov     r0,r4                                   ;then move it to r0
08027366 F7F2F801 bl      801936Ch                                ;Check if current_card_id is a God card
0802736A 2801     cmp     r0,1h                                   ;
0802736C D100     bne     8027370h                                ;if current_card_id is not a God card, branch to 0x8027370
0802736E 2400     mov     r4,0h                                   ;else r4 = 0
08027370 42BC     cmp     r4,r7                                   ;
08027372 D104     bne     802737Eh                                ;if (r4 ≠ r7), branch to 0x802737E
08027374 0630     lsl     r0,r6,18h                               ;r0 = r6 >> 18
08027376 2180     mov     r1,80h                                  ;
08027378 0449     lsl     r1,r1,11h                               ;
0802737A 1840     add     r0,r0,r1                                ;r0 += 0x1000000
0802737C 0E06     lsr     r6,r0,18h                               ;r6 = r0 >> 18
0802737E 1C68     add     r0,r5,1                                 ;r0 = r5 + 1
08027380 0600     lsl     r0,r0,18h                               ;
08027382 0E05     lsr     r5,r0,18h                               ;r5 = r0 & 0xFF
08027384 2D04     cmp     r5,4h                                   ;
08027386 D9E7     bls     8027358h                                ;if r5 ≤ 4,loop to 0x8027358
08027388 0630     lsl     r0,r6,18h                               ;
0802738A 1600     asr     r0,r0,18h                               ;r0 = r6 & 0xFF
0802738C BC08     pop     r3                                      ;
0802738E 4698     mov     r8,r3                                   ;
08027390 BCF0     pop     r4-r7                                   ;
08027392 BC02     pop     r1                                      ;
08027394 4708     bx      r1                                      ;

0x27520

08027520 B5F0     push    r4-r7,r14                               ;
08027522 4647     mov     r7,r8                                   ;
08027524 B480     push    r7                                      ;
08027526 1C04     mov     r4,r0                                   ;
08027528 2600     mov     r6,0h                                   ;
0802752A 2700     mov     r7,0h                                   ;
0802752C 2200     mov     r2,0h                                   ;
0802752E 4816     ldr     r0,=2023250h                            ;
08027530 4680     mov     r8,r0                                   ;
08027532 6821     ldr     r1,[r4]                                 ;
08027534 8808     ldrh    r0,[r1]                                 ;
08027536 0615     lsl     r5,r2,18h                               ;
08027538 2800     cmp     r0,0h                                   ;
0802753A D015     beq     8027568h                                ;
0802753C F7F1FF16 bl      801936Ch                                ;
08027540 2800     cmp     r0,0h                                   ;
08027542 D111     bne     8027568h                                ;
08027544 4641     mov     r1,r8                                   ;
08027546 7808     ldrb    r0,[r1]                                 ;
08027548 6821     ldr     r1,[r4]                                 ;
0802754A 7889     ldrb    r1,[r1,2h]                              ;
0802754C 0609     lsl     r1,r1,18h                               ;
0802754E 1609     asr     r1,r1,18h                               ;
08027550 F7DFFBA2 bl      8006C98h                                ;
08027554 6820     ldr     r0,[r4]                                 ;
08027556 8800     ldrh    r0,[r0]                                 ;
08027558 F7DFFC10 bl      8006D7Ch                                ;
0802755C 480B     ldr     r0,=2020B00h                            ;
0802755E 8A41     ldrh    r1,[r0,12h]                             ;
08027560 428E     cmp     r6,r1                                   ;
08027562 D801     bhi     8027568h                                ;
08027564 8A46     ldrh    r6,[r0,12h]                             ;
08027566 0E2F     lsr     r7,r5,18h                               ;
08027568 3404     add     r4,4h                                   ;
0802756A 2180     mov     r1,80h                                  ;
0802756C 0449     lsl     r1,r1,11h                               ;
0802756E 1868     add     r0,r5,r1                                ;
08027570 0E02     lsr     r2,r0,18h                               ;
08027572 1600     asr     r0,r0,18h                               ;
08027574 2804     cmp     r0,4h                                   ;
08027576 DDDC     ble     8027532h                                ;
08027578 0638     lsl     r0,r7,18h                               ;
0802757A 1600     asr     r0,r0,18h                               ;
0802757C BC08     pop     r3                                      ;
0802757E 4698     mov     r8,r3                                   ;
08027580 BCF0     pop     r4-r7                                   ;
08027582 BC02     pop     r1                                      ;
08027584 4708     bx      r1                                      ;

0x27CF8

08027CF8 B510     push    r4,r14                                  ;
08027CFA 0609     lsl     r1,r1,18h                               ;
08027CFC 0E09     lsr     r1,r1,18h                               ;
08027CFE 4C09     ldr     r4,=2023390h                            ;pointer to Player's Deck
08027D00 2254     mov     r2,54h                                  ;
08027D02 1C0B     mov     r3,r1                                   ;
08027D04 4353     mul     r3,r2                                   ;
08027D06 191A     add     r2,r3,r4                                ;
08027D08 3250     add     r2,50h                                  ;r2 = 0x2023390 + r3 + 80
08027D0A 7811     ldrb    r1,[r2]                                 ;
08027D0C 3901     sub     r1,1h                                   ;
08027D0E 7011     strb    r1,[r2]                                 ;
08027D10 7811     ldrb    r1,[r2]                                 ;
08027D12 0049     lsl     r1,r1,1h                                ;
08027D14 18C9     add     r1,r1,r3                                ;
08027D16 1909     add     r1,r1,r4                                ;
08027D18 8809     ldrh    r1,[r1]                                 ;
08027D1A 8001     strh    r1,[r0]                                 ;
08027D1C BC10     pop     r4                                      ;
08027D1E BC01     pop     r0                                      ;
08027D20 4700     bx      r0                                      ;

0x27D28 - Draw a card ?

08027D28 B5F0     push    r4-r7,r14                               ;
08027D2A 0600     lsl     r0,r0,18h                               ;
08027D2C 0E02     lsr     r2,r0,18h                               ;
08027D2E 2300     mov     r3,0h                                   ;r3 = 0
08027D30 4E0D     ldr     r6,=2023160h                            ;r6 = 0x2023160
08027D32 0090     lsl     r0,r2,2h                                ;
08027D34 1880     add     r0,r0,r2                                ;
08027D36 00C4     lsl     r4,r0,3h                                ;r4 = r2 × 40
08027D38 1C37     mov     r7,r6                                   ;
08027D3A 37A0     add     r7,0A0h                                 ;r7 = 0x2023200
08027D3C 490B     ldr     r1,=2023390h                            ;r1 = 0x2023390
08027D3E 2054     mov     r0,54h                                  ;
08027D40 4350     mul     r0,r2                                   ;
08027D42 1840     add     r0,r0,r1                                ;r0 = (r2 × 84) + r1
08027D44 1C05     mov     r5,r0                                   ;
08027D46 3550     add     r5,50h                                  ;r5 = ((r2 × 84) + r1) + 80
08027D48 00D9     lsl     r1,r3,3h                                ;Loop start
08027D4A 1908     add     r0,r1,r4                                ;
08027D4C 1980     add     r0,r0,r6                                ;
08027D4E 30A0     add     r0,0A0h                                 ;r0 +=160
08027D50 8800     ldrh    r0,[r0]                                 ;r0 = top_deck_card_id ; I think?
08027D52 2800     cmp     r0,0h                                   ;
08027D54 D110     bne     8027D78h                                ;if(top_deck_card_id ≠ 0), branch to 0x8027D78 ?
08027D56 7828     ldrb    r0,[r5]                                 ;r0 = number_of_cards_left_in_deck ?
08027D58 2800     cmp     r0,0h                                   ;
08027D5A D009     beq     8027D70h                                ;
08027D5C 19C8     add     r0,r1,r7                                ;
08027D5E 1820     add     r0,r4,r0                                ;
08027D60 1C11     mov     r1,r2                                   ;
08027D62 F7FFFFC9 bl      8027CF8h                                ;call 0x27CF8
08027D66 E00C     b       8027D82h                                ;
08027D68 3160     add     r1,60h                                  ;
08027D6A 0202     lsl     r2,r0,8h                                ;
08027D6C 3390     add     r3,90h                                  ;
08027D6E 0202     lsl     r2,r0,8h                                ;
08027D70 1C10     mov     r0,r2                                   ;
08027D72 F7F0FD41 bl      80187F8h                                ;call 0x187F8
08027D76 E004     b       8027D82h                                ;
08027D78 1C58     add     r0,r3,1                                 ;r0 = r3 + 1
08027D7A 0600     lsl     r0,r0,18h                               ;
08027D7C 0E03     lsr     r3,r0,18h                               ;
08027D7E 2B04     cmp     r3,4h                                   ;
08027D80 D9E2     bls     8027D48h                                ;if(r3 ≤ 4), loop to 0x8027D48
08027D82 BCF0     pop     r4-r7                                   ;
08027D84 BC01     pop     r0                                      ;
08027D86 4700     bx      r0                                      ;

0x28D00

0x28D00 - Check current_card_id ?

08028D00 B510     push    r4,r14                                  ;
08028D02 1C04     mov     r4,r0                                   ;r4 = pointer to current_card_id ?
08028D04 0609     lsl     r1,r1,18h                               ;
08028D06 4806     ldr     r0,=2023260h                            ;pointer to a RAM address with dynamic pointers to RAM addresses
08028D08 0D89     lsr     r1,r1,16h                               ;r1 & 0x3FC
08028D0A 1809     add     r1,r1,r0                                ;r1 += 0x2023260
08028D0C 6808     ldr     r0,[r1]                                 ;load RAM_pointer to r0
08028D0E 8821     ldrh    r1,[r4]                                 ;r1 = current_card_id
08028D10 F000F808 bl      8028D24h                                ;call 0x28D24
08028D14 1C20     mov     r0,r4                                   ;
08028D16 F7FBFDFB bl      8024910h                                ;call 0x24910
08028D1A BC10     pop     r4                                      ;
08028D1C BC01     pop     r0                                      ;
08028D1E 4700     bx      r0                                      ;

0x28D24

08028D24 B530     push    r4,r5,r14                               ;
08028D26 1C05     mov     r5,r0                                   ;r5 = r0
08028D28 0409     lsl     r1,r1,10h                               ;
08028D2A 0C0C     lsr     r4,r1,10h                               ;r4 = r1 & 0xFFFF
08028D2C 1C20     mov     r0,r4                                   ;r0 = r4
08028D2E F7FBFC1F bl      8024570h                                ;call 0x24570
08028D32 2801     cmp     r0,1h                                   ;
08028D34 D100     bne     8028D38h                                ;if (r0 ≠ 1), skip to 0x28D38
08028D36 802C     strh    r4,[r5]                                 ;
08028D38 BC30     pop     r4,r5                                   ;
08028D3A BC01     pop     r0                                      ;
08028D3C 4700     bx      r0                                      ;

Set Initial LPs

0802BCCE 0000     lsl     r0,r0,0h                                ;
0802BCD0 4A04     ldr     r2,=202347Ch                            ;Player's Life Points
0802BCD2 4805     ldr     r0,=2020D30h                            ;Player's Initial Life Points
0802BCD4 1C01     mov     r1,r0                                   ;
0802BCD6 3140     add     r1,40h                                  ;
0802BCD8 8809     ldrh    r1,[r1]                                 ;r1 = player_initial_lps
0802BCDA 8011     strh    r1,[r2]                                 ;store player_initial_lps into player_lps
0802BCDC 3042     add     r0,42h                                  ;
0802BCDE 8800     ldrh    r0,[r0]                                 ;r0 = cpu_initial_lps
0802BCE0 8050     strh    r0,[r2,2h]                              ;store cpu_initial_lps into cpu_lps
0802BCE2 4770     bx      r14                                     ;

Spells effects

Load pointer to the correct function depending on magic_card_effect_id

0802BD2E 0000     lsl     r0,r0,0h                                ;
0802BD30 347C     add     r4,7Ch                                  ;
0802BD32 0202     lsl     r2,r0,8h                                ;
0802BD34 B500     push    r14                                     ;
0802BD36 4807     ldr     r0,=2023480h                            ;
0802BD38 8800     ldrh    r0,[r0]                                 ;
0802BD3A F7DAFFB7 bl      8006CACh                                ;
0802BD3E 4906     ldr     r1,=8104634h                            ;
0802BD40 4806     ldr     r0,=2020B00h                            ;
0802BD42 7E80     ldrb    r0,[r0,1Ah]                             ;r0 = [02020B1A]; magic_card_effect_id
0802BD44 0080     lsl     r0,r0,2h                                ;
0802BD46 1840     add     r0,r0,r1                                ;r0 = 0x8104634 + (magic_card_effect_id << 2)
0802BD48 6800     ldr     r0,[r0]                                 ;load pointer to the function corresponding to the magic_card_effect_id in r0
0802BD4A F00DFD9D bl      8039888h                                ;branch to r0
0802BD4E BC01     pop     r0                                      ;
0802BD50 4700     bx      r0                                      ;

No effect

0802BD66 0000     lsl     r0,r0,0h                                ;
0802BD68 4770     bx      r14                                     ;

No effect

0802BD6A 0000     lsl     r0,r0,0h                                ;
0802BD6C 4770     bx      r14                                     ;

Field Spells

Forest

0x2BD6E - Forest, called with a push r4,r14

0802BD6E 0000     lsl     r0,r0,0h                                ;Forest
0802BD70 B510     push    r4,r14                                  ;

0x2BD72 - Forest, without the push r4,r14

0802BD72 4813     ldr     r0,=2023160h                            ;Forest
0802BD74 1C04     mov     r4,r0                                   ;
0802BD76 34F0     add     r4,0F0h                                 ;r4 = 0x2023250
0802BD78 2001     mov     r0,1h                                   ;
0802BD7A 7020     strb    r0,[r4]                                 ;current_field = Forest
0802BD7C 4B11     ldr     r3,=2023270h                            ;
0802BD7E 4A12     ldr     r2,=2023480h                            ;
0802BD80 7891     ldrb    r1,[r2,2h]                              ;
0802BD82 0088     lsl     r0,r1,2h                                ;
0802BD84 1840     add     r0,r0,r1                                ;
0802BD86 78D2     ldrb    r2,[r2,3h]                              ;
0802BD88 1880     add     r0,r0,r2                                ;
0802BD8A 0080     lsl     r0,r0,2h                                ;
0802BD8C 18C0     add     r0,r0,r3                                ;
0802BD8E 6800     ldr     r0,[r0]                                 ;
0802BD90 2100     mov     r1,0h                                   ;
0802BD92 F7FCFFB5 bl      8028D00h                                ;
0802BD96 480D     ldr     r0,=2020C38h                            ;
0802BD98 7800     ldrb    r0,[r0]                                 ;
0802BD9A 2800     cmp     r0,0h                                   ;
0802BD9C D10C     bne     802BDB8h                                ;
0802BD9E 7820     ldrb    r0,[r4]                                 ;
0802BDA0 F7F9FA8C bl      80252BCh                                ;
0802BDA4 2041     mov     r0,41h                                  ;
0802BDA6 F7F6FBCB bl      8022540h                                ;
0802BDAA 20A5     mov     r0,0A5h                                 ;
0802BDAC 0040     lsl     r0,r0,1h                                ;r0 = 330 ; Forest
0802BDAE F7F9FD77 bl      80258A0h                                ;call 0x258A0 - Display text box
0802BDB2 204F     mov     r0,4Fh                                  ;
0802BDB4 F7F6FBC4 bl      8022540h                                ;
0802BDB8 BC10     pop     r4                                      ;
0802BDBA BC01     pop     r0                                      ;
0802BDBC 4700     bx      r0                                      ;

Wasteland

0802BDD2 4812     ldr     r0,=2023160h                            ;Wasteland
0802BDD4 1C04     mov     r4,r0                                   ;
0802BDD6 34F0     add     r4,0F0h                                 ;r4 = 0x2023250
0802BDD8 2002     mov     r0,2h                                   ;
0802BDDA 7020     strb    r0,[r4]                                 ;current_field = Wasteland
0802BDDC 4B10     ldr     r3,=2023270h                            ;
0802BDDE 4A11     ldr     r2,=2023480h                            ;
0802BDE0 7891     ldrb    r1,[r2,2h]                              ;
0802BDE2 0088     lsl     r0,r1,2h                                ;
0802BDE4 1840     add     r0,r0,r1                                ;
0802BDE6 78D2     ldrb    r2,[r2,3h]                              ;
0802BDE8 1880     add     r0,r0,r2                                ;
0802BDEA 0080     lsl     r0,r0,2h                                ;
0802BDEC 18C0     add     r0,r0,r3                                ;
0802BDEE 6800     ldr     r0,[r0]                                 ;
0802BDF0 2100     mov     r1,0h                                   ;
0802BDF2 F7FCFF85 bl      8028D00h                                ;
0802BDF6 480C     ldr     r0,=2020C38h                            ;
0802BDF8 7800     ldrb    r0,[r0]                                 ;
0802BDFA 2800     cmp     r0,0h                                   ;
0802BDFC D10B     bne     802BE16h                                ;
0802BDFE 7820     ldrb    r0,[r4]                                 ;
0802BE00 F7F9FA5C bl      80252BCh                                ;
0802BE04 2041     mov     r0,41h                                  ;
0802BE06 F7F6FB9B bl      8022540h                                ;
0802BE0A 4808     ldr     r0,=14Bh                                ;r0 = 331 ; Wasteland
0802BE0C F7F9FD48 bl      80258A0h                                ;call 0x258A0 - Display text box
0802BE10 204F     mov     r0,4Fh                                  ;
0802BE12 F7F6FB95 bl      8022540h                                ;
0802BE16 BC10     pop     r4                                      ;
0802BE18 BC01     pop     r0                                      ;
0802BE1A 4700     bx      r0                                      ;

Mountain

0802BE32 4813     ldr     r0,=2023160h                            ;Mountain
0802BE34 1C04     mov     r4,r0                                   ;
0802BE36 34F0     add     r4,0F0h                                 ;r4 = 0x2023250
0802BE38 2003     mov     r0,3h                                   ;
0802BE3A 7020     strb    r0,[r4]                                 ;current_field = Mountain
0802BE3C 4B11     ldr     r3,=2023270h                            ;
0802BE3E 4A12     ldr     r2,=2023480h                            ;
0802BE40 7891     ldrb    r1,[r2,2h]                              ;
0802BE42 0088     lsl     r0,r1,2h                                ;
0802BE44 1840     add     r0,r0,r1                                ;
0802BE46 78D2     ldrb    r2,[r2,3h]                              ;
0802BE48 1880     add     r0,r0,r2                                ;
0802BE4A 0080     lsl     r0,r0,2h                                ;
0802BE4C 18C0     add     r0,r0,r3                                ;
0802BE4E 6800     ldr     r0,[r0]                                 ;
0802BE50 2100     mov     r1,0h                                   ;
0802BE52 F7FCFF55 bl      8028D00h                                ;
0802BE56 480D     ldr     r0,=2020C38h                            ;
0802BE58 7800     ldrb    r0,[r0]                                 ;
0802BE5A 2800     cmp     r0,0h                                   ;
0802BE5C D10C     bne     802BE78h                                ;
0802BE5E 7820     ldrb    r0,[r4]                                 ;
0802BE60 F7F9FA2C bl      80252BCh                                ;
0802BE64 2041     mov     r0,41h                                  ;
0802BE66 F7F6FB6B bl      8022540h                                ;
0802BE6A 20A6     mov     r0,0A6h                                 ;
0802BE6C 0040     lsl     r0,r0,1h                                ;r0 = 332 ; Mountain
0802BE6E F7F9FD17 bl      80258A0h                                ;call 0x258A0 - Display text box
0802BE72 204F     mov     r0,4Fh                                  ;
0802BE74 F7F6FB64 bl      8022540h                                ;
0802BE78 BC10     pop     r4                                      ;
0802BE7A BC01     pop     r0                                      ;
0802BE7C 4700     bx      r0                                      ;

Sogen

0802BE92 4812     ldr     r0,=2023160h                            ;Sogen
0802BE94 1C04     mov     r4,r0                                   ;
0802BE96 34F0     add     r4,0F0h                                 ;r4 = 0x2023250
0802BE98 2004     mov     r0,4h                                   ;
0802BE9A 7020     strb    r0,[r4]                                 ;current_field = Sogen
0802BE9C 4B10     ldr     r3,=2023270h                            ;
0802BE9E 4A11     ldr     r2,=2023480h                            ;
0802BEA0 7891     ldrb    r1,[r2,2h]                              ;
0802BEA2 0088     lsl     r0,r1,2h                                ;
0802BEA4 1840     add     r0,r0,r1                                ;
0802BEA6 78D2     ldrb    r2,[r2,3h]                              ;
0802BEA8 1880     add     r0,r0,r2                                ;
0802BEAA 0080     lsl     r0,r0,2h                                ;
0802BEAC 18C0     add     r0,r0,r3                                ;
0802BEAE 6800     ldr     r0,[r0]                                 ;
0802BEB0 2100     mov     r1,0h                                   ;
0802BEB2 F7FCFF25 bl      8028D00h                                ;
0802BEB6 480C     ldr     r0,=2020C38h                            ;
0802BEB8 7800     ldrb    r0,[r0]                                 ;
0802BEBA 2800     cmp     r0,0h                                   ;
0802BEBC D10B     bne     802BED6h                                ;
0802BEBE 7820     ldrb    r0,[r4]                                 ;
0802BEC0 F7F9F9FC bl      80252BCh                                ;
0802BEC4 2041     mov     r0,41h                                  ;
0802BEC6 F7F6FB3B bl      8022540h                                ;
0802BECA 4808     ldr     r0,=14Dh                                ;r0 = 333 ; Sogen
0802BECC F7F9FCE8 bl      80258A0h                                ;call 0x258A0 - Display text box
0802BED0 204F     mov     r0,4Fh                                  ;
0802BED2 F7F6FB35 bl      8022540h                                ;
0802BED6 BC10     pop     r4                                      ;
0802BED8 BC01     pop     r0                                      ;
0802BEDA 4700     bx      r0                                      ;

Umi

0802BEF2 4813     ldr     r0,=2023160h                            ;Umi
0802BEF4 1C04     mov     r4,r0                                   ;
0802BEF6 34F0     add     r4,0F0h                                 ;r4 = 0x2023250
0802BEF8 2005     mov     r0,5h                                   ;
0802BEFA 7020     strb    r0,[r4]                                 ;current_field = Umi
0802BEFC 4B11     ldr     r3,=2023270h                            ;
0802BEFE 4A12     ldr     r2,=2023480h                            ;
0802BF00 7891     ldrb    r1,[r2,2h]                              ;
0802BF02 0088     lsl     r0,r1,2h                                ;
0802BF04 1840     add     r0,r0,r1                                ;
0802BF06 78D2     ldrb    r2,[r2,3h]                              ;
0802BF08 1880     add     r0,r0,r2                                ;
0802BF0A 0080     lsl     r0,r0,2h                                ;
0802BF0C 18C0     add     r0,r0,r3                                ;
0802BF0E 6800     ldr     r0,[r0]                                 ;
0802BF10 2100     mov     r1,0h                                   ;
0802BF12 F7FCFEF5 bl      8028D00h                                ;
0802BF16 480D     ldr     r0,=2020C38h                            ;
0802BF18 7800     ldrb    r0,[r0]                                 ;
0802BF1A 2800     cmp     r0,0h                                   ;
0802BF1C D10C     bne     802BF38h                                ;
0802BF1E 7820     ldrb    r0,[r4]                                 ;
0802BF20 F7F9F9CC bl      80252BCh                                ;
0802BF24 2041     mov     r0,41h                                  ;
0802BF26 F7F6FB0B bl      8022540h                                ;
0802BF2A 20A7     mov     r0,0A7h                                 ;
0802BF2C 0040     lsl     r0,r0,1h                                ;r0 = 334 ; Umi
0802BF2E F7F9FCB7 bl      80258A0h                                ;call 0x258A0 - Display text box
0802BF32 204F     mov     r0,4Fh                                  ;
0802BF34 F7F6FB04 bl      8022540h                                ;
0802BF38 BC10     pop     r4                                      ;
0802BF3A BC01     pop     r0                                      ;

Yami

0802BF52 4812     ldr     r0,=2023160h                            ;Yami
0802BF54 1C04     mov     r4,r0                                   ;
0802BF56 34F0     add     r4,0F0h                                 ;r4 = 0x2023250
0802BF58 2006     mov     r0,6h                                   ;
0802BF5A 7020     strb    r0,[r4]                                 ;current_field = Yami
0802BF5C 4B10     ldr     r3,=2023270h                            ;
0802BF5E 4A11     ldr     r2,=2023480h                            ;
0802BF60 7891     ldrb    r1,[r2,2h]                              ;
0802BF62 0088     lsl     r0,r1,2h                                ;
0802BF64 1840     add     r0,r0,r1                                ;
0802BF66 78D2     ldrb    r2,[r2,3h]                              ;
0802BF68 1880     add     r0,r0,r2                                ;
0802BF6A 0080     lsl     r0,r0,2h                                ;
0802BF6C 18C0     add     r0,r0,r3                                ;
0802BF6E 6800     ldr     r0,[r0]                                 ;
0802BF70 2100     mov     r1,0h                                   ;
0802BF72 F7FCFEC5 bl      8028D00h                                ;
0802BF76 480C     ldr     r0,=2020C38h                            ;
0802BF78 7800     ldrb    r0,[r0]                                 ;
0802BF7A 2800     cmp     r0,0h                                   ;
0802BF7C D10B     bne     802BF96h                                ;
0802BF7E 7820     ldrb    r0,[r4]                                 ;
0802BF80 F7F9F99C bl      80252BCh                                ;
0802BF84 2041     mov     r0,41h                                  ;
0802BF86 F7F6FADB bl      8022540h                                ;
0802BF8A 4808     ldr     r0,=14Fh                                ;r0 = 335 ; Yami
0802BF8C F7F9FC88 bl      80258A0h                                ;call 0x258A0 - Display text box
0802BF90 204F     mov     r0,4Fh                                  ;
0802BF92 F7F6FAD5 bl      8022540h                                ;
0802BF96 BC10     pop     r4                                      ;
0802BF98 BC01     pop     r0                                      ;
0802BF9A 4700     bx      r0                                      ;

Healing Spells

Mooyan Curry

0802BFB2 4B10     ldr     r3,=20237D0h                            ;Mooyan Curry
0802BFB4 4A10     ldr     r2,=2023480h                            ;
0802BFB6 7890     ldrb    r0,[r2,2h]                              ;
0802BFB8 7098     strb    r0,[r3,2h]                              ;
0802BFBA 78D0     ldrb    r0,[r2,3h]                              ;
0802BFBC 70D8     strb    r0,[r3,3h]                              ;
0802BFBE 4C0F     ldr     r4,=2023270h                            ;
0802BFC0 7891     ldrb    r1,[r2,2h]                              ;
0802BFC2 0088     lsl     r0,r1,2h                                ;
0802BFC4 1840     add     r0,r0,r1                                ;
0802BFC6 78D2     ldrb    r2,[r2,3h]                              ;
0802BFC8 1880     add     r0,r0,r2                                ;
0802BFCA 0080     lsl     r0,r0,2h                                ;
0802BFCC 1900     add     r0,r0,r4                                ;
0802BFCE 6800     ldr     r0,[r0]                                 ;
0802BFD0 8800     ldrh    r0,[r0]                                 ;
0802BFD2 8018     strh    r0,[r3]                                 ;
0802BFD4 F00AFB3C bl      8036650h                                ;
0802BFD8 2801     cmp     r0,1h                                   ;
0802BFDA D103     bne     802BFE4h                                ;
0802BFDC 4808     ldr     r0,=2020C38h                            ;
0802BFDE 7800     ldrb    r0,[r0]                                 ;
0802BFE0 2800     cmp     r0,0h                                   ;
0802BFE2 D039     beq     802C058h                                ;
0802BFE4 F00BF9CC bl      8037380h                                ;
0802BFE8 2800     cmp     r0,0h                                   ;
0802BFEA D10B     bne     802C004h                                ;
0802BFEC 20C8     mov     r0,0C8h                                 ;r0 = 200
0802BFEE F7F8F95F bl      80242B0h                                ;
0802BFF2 E00A     b       802C00Ah                                ;
0802BFF4 37D0     add     r7,0D0h                                 ;
0802BFF6 0202     lsl     r2,r0,8h                                ;
0802BFF8 3480     add     r4,80h                                  ;
0802BFFA 0202     lsl     r2,r0,8h                                ;
0802BFFC 3270     add     r2,70h                                  ;
0802BFFE 0202     lsl     r2,r0,8h                                ;
0802C000 0C38     lsr     r0,r7,10h                               ;
0802C002 0202     lsl     r2,r0,8h                                ;
0802C004 20C8     mov     r0,0C8h                                 ;r0 = 200
0802C006 F7F8F977 bl      80242F8h                                ;
0802C00A F7F7FDA5 bl      8023B58h                                ;
0802C00E F7F7FF9F bl      8023F50h                                ;
0802C012 4B0E     ldr     r3,=2023270h                            ;
0802C014 4A0E     ldr     r2,=2023480h                            ;
0802C016 7891     ldrb    r1,[r2,2h]                              ;
0802C018 0088     lsl     r0,r1,2h                                ;
0802C01A 1840     add     r0,r0,r1                                ;
0802C01C 78D2     ldrb    r2,[r2,3h]                              ;
0802C01E 1880     add     r0,r0,r2                                ;
0802C020 0080     lsl     r0,r0,2h                                ;
0802C022 18C0     add     r0,r0,r3                                ;
0802C024 6800     ldr     r0,[r0]                                 ;
0802C026 2100     mov     r1,0h                                   ;
0802C028 F7FCFE6A bl      8028D00h                                ;
0802C02C 4809     ldr     r0,=2020C38h                            ;
0802C02E 7800     ldrb    r0,[r0]                                 ;
0802C030 2800     cmp     r0,0h                                   ;
0802C032 D114     bne     802C05Eh                                ;
0802C034 2041     mov     r0,41h                                  ;
0802C036 F7F6FA83 bl      8022540h                                ;
0802C03A 20A9     mov     r0,0A9h                                 ;
0802C03C 0040     lsl     r0,r0,1h                                ;r0 = 338 ; Mooyan Curry
0802C03E F7F9FC2F bl      80258A0h                                ;call 0x258A0 - Display text box
0802C042 204E     mov     r0,4Eh                                  ;
0802C044 F7F6FA7C bl      8022540h                                ;
0802C048 E009     b       802C05Eh                                ;
0802C04A 0000     lsl     r0,r0,0h                                ;
0802C04C 3270     add     r2,70h                                  ;
0802C04E 0202     lsl     r2,r0,8h                                ;
0802C050 3480     add     r4,80h                                  ;
0802C052 0202     lsl     r2,r0,8h                                ;
0802C054 0C38     lsr     r0,r7,10h                               ;
0802C056 0202     lsl     r2,r0,8h                                ;
0802C058 20C8     mov     r0,0C8h                                 ;r0 = 200
0802C05A F00AFA81 bl      8036560h                                ;
0802C05E BC10     pop     r4                                      ;
0802C060 BC01     pop     r0                                      ;
0802C062 4700     bx      r0                                      ;

Red Medicine

0802C066 4B11     ldr     r3,=20237D0h                            ;Red Medicine
0802C068 4A11     ldr     r2,=2023480h                            ;
0802C06A 7890     ldrb    r0,[r2,2h]                              ;
0802C06C 7098     strb    r0,[r3,2h]                              ;
0802C06E 78D0     ldrb    r0,[r2,3h]                              ;
0802C070 70D8     strb    r0,[r3,3h]                              ;
0802C072 4C10     ldr     r4,=2023270h                            ;
0802C074 7891     ldrb    r1,[r2,2h]                              ;
0802C076 0088     lsl     r0,r1,2h                                ;
0802C078 1840     add     r0,r0,r1                                ;
0802C07A 78D2     ldrb    r2,[r2,3h]                              ;
0802C07C 1880     add     r0,r0,r2                                ;
0802C07E 0080     lsl     r0,r0,2h                                ;
0802C080 1900     add     r0,r0,r4                                ;
0802C082 6800     ldr     r0,[r0]                                 ;
0802C084 8800     ldrh    r0,[r0]                                 ;
0802C086 8018     strh    r0,[r3]                                 ;
0802C088 F00AFAE2 bl      8036650h                                ;
0802C08C 2801     cmp     r0,1h                                   ;
0802C08E D103     bne     802C098h                                ;
0802C090 4809     ldr     r0,=2020C38h                            ;
0802C092 7800     ldrb    r0,[r0]                                 ;
0802C094 2800     cmp     r0,0h                                   ;
0802C096 D03D     beq     802C114h                                ;
0802C098 F00BF972 bl      8037380h                                ;
0802C09C 2800     cmp     r0,0h                                   ;
0802C09E D10D     bne     802C0BCh                                ;
0802C0A0 20FA     mov     r0,0FAh                                 ;
0802C0A2 0040     lsl     r0,r0,1h                                ;r0 = 500
0802C0A4 F7F8F904 bl      80242B0h                                ;
0802C0A8 E00C     b       802C0C4h                                ;
0802C0AA 0000     lsl     r0,r0,0h                                ;
0802C0AC 37D0     add     r7,0D0h                                 ;
0802C0AE 0202     lsl     r2,r0,8h                                ;
0802C0B0 3480     add     r4,80h                                  ;
0802C0B2 0202     lsl     r2,r0,8h                                ;
0802C0B4 3270     add     r2,70h                                  ;
0802C0B6 0202     lsl     r2,r0,8h                                ;
0802C0B8 0C38     lsr     r0,r7,10h                               ;
0802C0BA 0202     lsl     r2,r0,8h                                ;
0802C0BC 20FA     mov     r0,0FAh                                 ;
0802C0BE 0040     lsl     r0,r0,1h                                ;r0 = 500
0802C0C0 F7F8F91A bl      80242F8h                                ;
0802C0C4 F7F7FD48 bl      8023B58h                                ;
0802C0C8 F7F7FF42 bl      8023F50h                                ;
0802C0CC 4B0D     ldr     r3,=2023270h                            ;
0802C0CE 4A0E     ldr     r2,=2023480h                            ;
0802C0D0 7891     ldrb    r1,[r2,2h]                              ;
0802C0D2 0088     lsl     r0,r1,2h                                ;
0802C0D4 1840     add     r0,r0,r1                                ;
0802C0D6 78D2     ldrb    r2,[r2,3h]                              ;
0802C0D8 1880     add     r0,r0,r2                                ;
0802C0DA 0080     lsl     r0,r0,2h                                ;
0802C0DC 18C0     add     r0,r0,r3                                ;
0802C0DE 6800     ldr     r0,[r0]                                 ;
0802C0E0 2100     mov     r1,0h                                   ;
0802C0E2 F7FCFE0D bl      8028D00h                                ;
0802C0E6 4809     ldr     r0,=2020C38h                            ;
0802C0E8 7800     ldrb    r0,[r0]                                 ;
0802C0EA 2800     cmp     r0,0h                                   ;
0802C0EC D116     bne     802C11Ch                                ;
0802C0EE 2041     mov     r0,41h                                  ;
0802C0F0 F7F6FA26 bl      8022540h                                ;
0802C0F4 4806     ldr     r0,=153h                                ;
0802C0F6 F7F9FBD3 bl      80258A0h                                ;call 0x258A0 - Display text box
0802C0FA 204E     mov     r0,4Eh                                  ;
0802C0FC F7F6FA20 bl      8022540h                                ;
0802C100 E00C     b       802C11Ch                                ;
0802C102 0000     lsl     r0,r0,0h                                ;
0802C104 3270     add     r2,70h                                  ;
0802C106 0202     lsl     r2,r0,8h                                ;
0802C108 3480     add     r4,80h                                  ;
0802C10A 0202     lsl     r2,r0,8h                                ;
0802C10C 0C38     lsr     r0,r7,10h                               ;
0802C10E 0202     lsl     r2,r0,8h                                ;
0802C110 0153     lsl     r3,r2,5h                                ;
0802C112 0000     lsl     r0,r0,0h                                ;
0802C114 20FA     mov     r0,0FAh                                 ;
0802C116 0040     lsl     r0,r0,1h                                ;r0 = 500
0802C118 F00AFA22 bl      8036560h                                ;
0802C11C BC10     pop     r4                                      ;
0802C11E BC01     pop     r0                                      ;
0802C120 4700     bx      r0                                      ;

Goblin's Secret Remedy

0802C126 4B11     ldr     r3,=20237D0h                            ;Goblin's Secret Remedy
0802C128 4A11     ldr     r2,=2023480h                            ;
0802C12A 7890     ldrb    r0,[r2,2h]                              ;
0802C12C 7098     strb    r0,[r3,2h]                              ;
0802C12E 78D0     ldrb    r0,[r2,3h]                              ;
0802C130 70D8     strb    r0,[r3,3h]                              ;
0802C132 4C10     ldr     r4,=2023270h                            ;
0802C134 7891     ldrb    r1,[r2,2h]                              ;
0802C136 0088     lsl     r0,r1,2h                                ;
0802C138 1840     add     r0,r0,r1                                ;
0802C13A 78D2     ldrb    r2,[r2,3h]                              ;
0802C13C 1880     add     r0,r0,r2                                ;
0802C13E 0080     lsl     r0,r0,2h                                ;
0802C140 1900     add     r0,r0,r4                                ;
0802C142 6800     ldr     r0,[r0]                                 ;
0802C144 8800     ldrh    r0,[r0]                                 ;
0802C146 8018     strh    r0,[r3]                                 ;
0802C148 F00AFA82 bl      8036650h                                ;
0802C14C 2801     cmp     r0,1h                                   ;
0802C14E D103     bne     802C158h                                ;
0802C150 4809     ldr     r0,=2020C38h                            ;
0802C152 7800     ldrb    r0,[r0]                                 ;
0802C154 2800     cmp     r0,0h                                   ;
0802C156 D03B     beq     802C1D0h                                ;
0802C158 F00BF912 bl      8037380h                                ;
0802C15C 2800     cmp     r0,0h                                   ;
0802C15E D10D     bne     802C17Ch                                ;
0802C160 20FA     mov     r0,0FAh                                 ;
0802C162 0080     lsl     r0,r0,2h                                ;r0 = 1000
0802C164 F7F8F8A4 bl      80242B0h                                ;
0802C168 E00C     b       802C184h                                ;
0802C16A 0000     lsl     r0,r0,0h                                ;
0802C16C 37D0     add     r7,0D0h                                 ;
0802C16E 0202     lsl     r2,r0,8h                                ;
0802C170 3480     add     r4,80h                                  ;
0802C172 0202     lsl     r2,r0,8h                                ;
0802C174 3270     add     r2,70h                                  ;
0802C176 0202     lsl     r2,r0,8h                                ;
0802C178 0C38     lsr     r0,r7,10h                               ;
0802C17A 0202     lsl     r2,r0,8h                                ;
0802C17C 20FA     mov     r0,0FAh                                 ;
0802C17E 0080     lsl     r0,r0,2h                                ;r0 = 1000
0802C180 F7F8F8BA bl      80242F8h                                ;
0802C184 F7F7FCE8 bl      8023B58h                                ;
0802C188 F7F7FEE2 bl      8023F50h                                ;
0802C18C 4B0D     ldr     r3,=2023270h                            ;
0802C18E 4A0E     ldr     r2,=2023480h                            ;
0802C190 7891     ldrb    r1,[r2,2h]                              ;
0802C192 0088     lsl     r0,r1,2h                                ;
0802C194 1840     add     r0,r0,r1                                ;
0802C196 78D2     ldrb    r2,[r2,3h]                              ;
0802C198 1880     add     r0,r0,r2                                ;
0802C19A 0080     lsl     r0,r0,2h                                ;
0802C19C 18C0     add     r0,r0,r3                                ;
0802C19E 6800     ldr     r0,[r0]                                 ;
0802C1A0 2100     mov     r1,0h                                   ;
0802C1A2 F7FCFDAD bl      8028D00h                                ;
0802C1A6 4809     ldr     r0,=2020C38h                            ;
0802C1A8 7800     ldrb    r0,[r0]                                 ;
0802C1AA 2800     cmp     r0,0h                                   ;
0802C1AC D114     bne     802C1D8h                                ;
0802C1AE 2041     mov     r0,41h                                  ;
0802C1B0 F7F6F9C6 bl      8022540h                                ;
0802C1B4 20AA     mov     r0,0AAh                                 ;
0802C1B6 0040     lsl     r0,r0,1h                                ;
0802C1B8 F7F9FB72 bl      80258A0h                                ;call 0x258A0 - Display text box
0802C1BC 204E     mov     r0,4Eh                                  ;
0802C1BE F7F6F9BF bl      8022540h                                ;
0802C1C2 E009     b       802C1D8h                                ;
0802C1C4 3270     add     r2,70h                                  ;
0802C1C6 0202     lsl     r2,r0,8h                                ;
0802C1C8 3480     add     r4,80h                                  ;
0802C1CA 0202     lsl     r2,r0,8h                                ;
0802C1CC 0C38     lsr     r0,r7,10h                               ;
0802C1CE 0202     lsl     r2,r0,8h                                ;
0802C1D0 20FA     mov     r0,0FAh                                 ;r0 = 1000
0802C1D2 0080     lsl     r0,r0,2h                                ;
0802C1D4 F00AF9C4 bl      8036560h                                ;
0802C1D8 BC10     pop     r4                                      ;
0802C1DA BC01     pop     r0                                      ;
0802C1DC 4700     bx      r0                                      ;

Soul of the Pure

0802C1E2 4B11     ldr     r3,=20237D0h                            ;Soul of the Pure
0802C1E4 4A11     ldr     r2,=2023480h                            ;
0802C1E6 7890     ldrb    r0,[r2,2h]                              ;
0802C1E8 7098     strb    r0,[r3,2h]                              ;
0802C1EA 78D0     ldrb    r0,[r2,3h]                              ;
0802C1EC 70D8     strb    r0,[r3,3h]                              ;
0802C1EE 4C10     ldr     r4,=2023270h                            ;
0802C1F0 7891     ldrb    r1,[r2,2h]                              ;
0802C1F2 0088     lsl     r0,r1,2h                                ;
0802C1F4 1840     add     r0,r0,r1                                ;
0802C1F6 78D2     ldrb    r2,[r2,3h]                              ;
0802C1F8 1880     add     r0,r0,r2                                ;
0802C1FA 0080     lsl     r0,r0,2h                                ;
0802C1FC 1900     add     r0,r0,r4                                ;
0802C1FE 6800     ldr     r0,[r0]                                 ;
0802C200 8800     ldrh    r0,[r0]                                 ;
0802C202 8018     strh    r0,[r3]                                 ;
0802C204 F00AFA24 bl      8036650h                                ;
0802C208 2801     cmp     r0,1h                                   ;
0802C20A D103     bne     802C214h                                ;
0802C20C 4809     ldr     r0,=2020C38h                            ;
0802C20E 7800     ldrb    r0,[r0]                                 ;
0802C210 2800     cmp     r0,0h                                   ;
0802C212 D03D     beq     802C290h                                ;
0802C214 F00BF8B4 bl      8037380h                                ;
0802C218 2800     cmp     r0,0h                                   ;
0802C21A D10D     bne     802C238h                                ;
0802C21C 20FA     mov     r0,0FAh                                 ;
0802C21E 00C0     lsl     r0,r0,3h                                ;r0 = 2000
0802C220 F7F8F846 bl      80242B0h                                ;
0802C224 E00C     b       802C240h                                ;
0802C226 0000     lsl     r0,r0,0h                                ;
0802C228 37D0     add     r7,0D0h                                 ;
0802C22A 0202     lsl     r2,r0,8h                                ;
0802C22C 3480     add     r4,80h                                  ;
0802C22E 0202     lsl     r2,r0,8h                                ;
0802C230 3270     add     r2,70h                                  ;
0802C232 0202     lsl     r2,r0,8h                                ;
0802C234 0C38     lsr     r0,r7,10h                               ;
0802C236 0202     lsl     r2,r0,8h                                ;
0802C238 20FA     mov     r0,0FAh                                 ;
0802C23A 00C0     lsl     r0,r0,3h                                ;r0 = 2000
0802C23C F7F8F85C bl      80242F8h                                ;
0802C240 F7F7FC8A bl      8023B58h                                ;
0802C244 F7F7FE84 bl      8023F50h                                ;
0802C248 4B0D     ldr     r3,=2023270h                            ;
0802C24A 4A0E     ldr     r2,=2023480h                            ;
0802C24C 7891     ldrb    r1,[r2,2h]                              ;
0802C24E 0088     lsl     r0,r1,2h                                ;
0802C250 1840     add     r0,r0,r1                                ;
0802C252 78D2     ldrb    r2,[r2,3h]                              ;
0802C254 1880     add     r0,r0,r2                                ;
0802C256 0080     lsl     r0,r0,2h                                ;
0802C258 18C0     add     r0,r0,r3                                ;
0802C25A 6800     ldr     r0,[r0]                                 ;
0802C25C 2100     mov     r1,0h                                   ;
0802C25E F7FCFD4F bl      8028D00h                                ;
0802C262 4809     ldr     r0,=2020C38h                            ;
0802C264 7800     ldrb    r0,[r0]                                 ;
0802C266 2800     cmp     r0,0h                                   ;
0802C268 D116     bne     802C298h                                ;
0802C26A 2041     mov     r0,41h                                  ;
0802C26C F7F6F968 bl      8022540h                                ;
0802C270 4806     ldr     r0,=155h                                ;
0802C272 F7F9FB15 bl      80258A0h                                ;call 0x258A0 - Display text box
0802C276 204E     mov     r0,4Eh                                  ;
0802C278 F7F6F962 bl      8022540h                                ;
0802C27C E00C     b       802C298h                                ;
0802C27E 0000     lsl     r0,r0,0h                                ;
0802C280 3270     add     r2,70h                                  ;
0802C282 0202     lsl     r2,r0,8h                                ;
0802C284 3480     add     r4,80h                                  ;
0802C286 0202     lsl     r2,r0,8h                                ;
0802C288 0C38     lsr     r0,r7,10h                               ;
0802C28A 0202     lsl     r2,r0,8h                                ;
0802C28C 0155     lsl     r5,r2,5h                                ;
0802C28E 0000     lsl     r0,r0,0h                                ;
0802C290 20FA     mov     r0,0FAh                                 ;
0802C292 00C0     lsl     r0,r0,3h                                ;r0 = 2000
0802C294 F00AF964 bl      8036560h                                ;
0802C298 BC10     pop     r4                                      ;
0802C29A BC01     pop     r0                                      ;
0802C29C 4700     bx      r0                                      ;

Dian Keto the Cure Master

0802C2A2 4B10     ldr     r3,=20237D0h                            ;Dian Keto the Cure Master
0802C2A4 4A10     ldr     r2,=2023480h                            ;
0802C2A6 7890     ldrb    r0,[r2,2h]                              ;
0802C2A8 7098     strb    r0,[r3,2h]                              ;
0802C2AA 78D0     ldrb    r0,[r2,3h]                              ;
0802C2AC 70D8     strb    r0,[r3,3h]                              ;
0802C2AE 4C0F     ldr     r4,=2023270h                            ;
0802C2B0 7891     ldrb    r1,[r2,2h]                              ;
0802C2B2 0088     lsl     r0,r1,2h                                ;
0802C2B4 1840     add     r0,r0,r1                                ;
0802C2B6 78D2     ldrb    r2,[r2,3h]                              ;
0802C2B8 1880     add     r0,r0,r2                                ;
0802C2BA 0080     lsl     r0,r0,2h                                ;
0802C2BC 1900     add     r0,r0,r4                                ;
0802C2BE 6800     ldr     r0,[r0]                                 ;
0802C2C0 8800     ldrh    r0,[r0]                                 ;
0802C2C2 8018     strh    r0,[r3]                                 ;
0802C2C4 F00AF9C4 bl      8036650h                                ;
0802C2C8 2801     cmp     r0,1h                                   ;
0802C2CA D103     bne     802C2D4h                                ;
0802C2CC 4808     ldr     r0,=2020C38h                            ;
0802C2CE 7800     ldrb    r0,[r0]                                 ;
0802C2D0 2800     cmp     r0,0h                                   ;
0802C2D2 D03D     beq     802C350h                                ;
0802C2D4 F00BF854 bl      8037380h                                ;
0802C2D8 2800     cmp     r0,0h                                   ;
0802C2DA D10D     bne     802C2F8h                                ;
0802C2DC 4805     ldr     r0,=1388h                               ;r0 = 5000
0802C2DE F7F7FFE7 bl      80242B0h                                ;
0802C2E2 E00C     b       802C2FEh                                ;
0802C2E4 37D0     add     r7,0D0h                                 ;
0802C2E6 0202     lsl     r2,r0,8h                                ;
0802C2E8 3480     add     r4,80h                                  ;
0802C2EA 0202     lsl     r2,r0,8h                                ;
0802C2EC 3270     add     r2,70h                                  ;
0802C2EE 0202     lsl     r2,r0,8h                                ;
0802C2F0 0C38     lsr     r0,r7,10h                               ;
0802C2F2 0202     lsl     r2,r0,8h                                ;
0802C2F4 1388     asr     r0,r1,0Eh                               ;
0802C2F6 0000     lsl     r0,r0,0h                                ;
0802C2F8 4811     ldr     r0,=1388h                               ;r0 = 5000
0802C2FA F7F7FFFD bl      80242F8h                                ;
0802C2FE F7F7FC2B bl      8023B58h                                ;
0802C302 F7F7FE25 bl      8023F50h                                ;
0802C306 4B0F     ldr     r3,=2023270h                            ;
0802C308 4A0F     ldr     r2,=2023480h                            ;
0802C30A 7891     ldrb    r1,[r2,2h]                              ;
0802C30C 0088     lsl     r0,r1,2h                                ;
0802C30E 1840     add     r0,r0,r1                                ;
0802C310 78D2     ldrb    r2,[r2,3h]                              ;
0802C312 1880     add     r0,r0,r2                                ;
0802C314 0080     lsl     r0,r0,2h                                ;
0802C316 18C0     add     r0,r0,r3                                ;
0802C318 6800     ldr     r0,[r0]                                 ;
0802C31A 2100     mov     r1,0h                                   ;
0802C31C F7FCFCF0 bl      8028D00h                                ;
0802C320 480A     ldr     r0,=2020C38h                            ;
0802C322 7800     ldrb    r0,[r0]                                 ;
0802C324 2800     cmp     r0,0h                                   ;
0802C326 D116     bne     802C356h                                ;
0802C328 2041     mov     r0,41h                                  ;
0802C32A F7F6F909 bl      8022540h                                ;
0802C32E 20AB     mov     r0,0ABh                                 ;
0802C330 0040     lsl     r0,r0,1h                                ;
0802C332 F7F9FAB5 bl      80258A0h                                ;call 0x258A0 - Display text box
0802C336 204E     mov     r0,4Eh                                  ;
0802C338 F7F6F902 bl      8022540h                                ;
0802C33C E00B     b       802C356h                                ;
0802C33E 0000     lsl     r0,r0,0h                                ;
0802C340 1388     asr     r0,r1,0Eh                               ;
0802C342 0000     lsl     r0,r0,0h                                ;
0802C344 3270     add     r2,70h                                  ;
0802C346 0202     lsl     r2,r0,8h                                ;
0802C348 3480     add     r4,80h                                  ;
0802C34A 0202     lsl     r2,r0,8h                                ;
0802C34C 0C38     lsr     r0,r7,10h                               ;
0802C34E 0202     lsl     r2,r0,8h                                ;
0802C350 4802     ldr     r0,=1388h                               ;r0 = 5000
0802C352 F00AF905 bl      8036560h                                ;
0802C356 BC10     pop     r4                                      ;
0802C358 BC01     pop     r0                                      ;
0802C35A 4700     bx      r0                                      ;

Direct Damage Spells

Sparks

0802C362 4B10     ldr     r3,=20237D0h                            ;Sparks
0802C364 4A10     ldr     r2,=2023480h                            ;
0802C366 7890     ldrb    r0,[r2,2h]                              ;
0802C368 7098     strb    r0,[r3,2h]                              ;
0802C36A 78D0     ldrb    r0,[r2,3h]                              ;
0802C36C 70D8     strb    r0,[r3,3h]                              ;
0802C36E 4C0F     ldr     r4,=2023270h                            ;
0802C370 7891     ldrb    r1,[r2,2h]                              ;
0802C372 0088     lsl     r0,r1,2h                                ;
0802C374 1840     add     r0,r0,r1                                ;
0802C376 78D2     ldrb    r2,[r2,3h]                              ;
0802C378 1880     add     r0,r0,r2                                ;
0802C37A 0080     lsl     r0,r0,2h                                ;
0802C37C 1900     add     r0,r0,r4                                ;
0802C37E 6800     ldr     r0,[r0]                                 ;
0802C380 8800     ldrh    r0,[r0]                                 ;
0802C382 8018     strh    r0,[r3]                                 ;
0802C384 F00AF964 bl      8036650h                                ;
0802C388 2801     cmp     r0,1h                                   ;
0802C38A D103     bne     802C394h                                ;
0802C38C 4808     ldr     r0,=2020C38h                            ;
0802C38E 7800     ldrb    r0,[r0]                                 ;
0802C390 2800     cmp     r0,0h                                   ;
0802C392 D039     beq     802C408h                                ;
0802C394 F00AFFF4 bl      8037380h                                ;
0802C398 2800     cmp     r0,0h                                   ;
0802C39A D10B     bne     802C3B4h                                ;
0802C39C 2032     mov     r0,32h                                  ;r0 = 50
0802C39E F7F7FFBD bl      802431Ch                                ;
0802C3A2 E00A     b       802C3BAh                                ;
0802C3A4 37D0     add     r7,0D0h                                 ;
0802C3A6 0202     lsl     r2,r0,8h                                ;
0802C3A8 3480     add     r4,80h                                  ;
0802C3AA 0202     lsl     r2,r0,8h                                ;
0802C3AC 3270     add     r2,70h                                  ;
0802C3AE 0202     lsl     r2,r0,8h                                ;
0802C3B0 0C38     lsr     r0,r7,10h                               ;
0802C3B2 0202     lsl     r2,r0,8h                                ;
0802C3B4 2032     mov     r0,32h                                  ;r0 = 50
0802C3B6 F7F7FF8D bl      80242D4h                                ;
0802C3BA F7F7FBCD bl      8023B58h                                ;
0802C3BE F7F7FDC7 bl      8023F50h                                ;
0802C3C2 4B0D     ldr     r3,=2023270h                            ;
0802C3C4 4A0D     ldr     r2,=2023480h                            ;
0802C3C6 7891     ldrb    r1,[r2,2h]                              ;
0802C3C8 0088     lsl     r0,r1,2h                                ;
0802C3CA 1840     add     r0,r0,r1                                ;
0802C3CC 78D2     ldrb    r2,[r2,3h]                              ;
0802C3CE 1880     add     r0,r0,r2                                ;
0802C3D0 0080     lsl     r0,r0,2h                                ;
0802C3D2 18C0     add     r0,r0,r3                                ;
0802C3D4 6800     ldr     r0,[r0]                                 ;
0802C3D6 2100     mov     r1,0h                                   ;
0802C3D8 F7FCFC92 bl      8028D00h                                ;
0802C3DC 4808     ldr     r0,=2020C38h                            ;
0802C3DE 7800     ldrb    r0,[r0]                                 ;
0802C3E0 2800     cmp     r0,0h                                   ;
0802C3E2 D114     bne     802C40Eh                                ;
0802C3E4 2041     mov     r0,41h                                  ;
0802C3E6 F7F6F8AB bl      8022540h                                ;
0802C3EA 4806     ldr     r0,=157h                                ;
0802C3EC F7F9FA58 bl      80258A0h                                ;call 0x258A0 - Display text box
0802C3F0 204D     mov     r0,4Dh                                  ;
0802C3F2 F7F6F8A5 bl      8022540h                                ;
0802C3F6 E00A     b       802C40Eh                                ;
0802C3F8 3270     add     r2,70h                                  ;
0802C3FA 0202     lsl     r2,r0,8h                                ;
0802C3FC 3480     add     r4,80h                                  ;
0802C3FE 0202     lsl     r2,r0,8h                                ;
0802C400 0C38     lsr     r0,r7,10h                               ;
0802C402 0202     lsl     r2,r0,8h                                ;
0802C404 0157     lsl     r7,r2,5h                                ;
0802C406 0000     lsl     r0,r0,0h                                ;
0802C408 2032     mov     r0,32h                                  ;r0 = 50
0802C40A F00AF8A9 bl      8036560h                                ;
0802C40E BC10     pop     r4                                      ;
0802C410 BC01     pop     r0                                      ;
0802C412 4700     bx      r0                                      ;

Hinotama

0802C416 4B10     ldr     r3,=20237D0h                            ;Hinotama
0802C418 4A10     ldr     r2,=2023480h                            ;
0802C41A 7890     ldrb    r0,[r2,2h]                              ;
0802C41C 7098     strb    r0,[r3,2h]                              ;
0802C41E 78D0     ldrb    r0,[r2,3h]                              ;
0802C420 70D8     strb    r0,[r3,3h]                              ;
0802C422 4C0F     ldr     r4,=2023270h                            ;
0802C424 7891     ldrb    r1,[r2,2h]                              ;
0802C426 0088     lsl     r0,r1,2h                                ;
0802C428 1840     add     r0,r0,r1                                ;
0802C42A 78D2     ldrb    r2,[r2,3h]                              ;
0802C42C 1880     add     r0,r0,r2                                ;
0802C42E 0080     lsl     r0,r0,2h                                ;
0802C430 1900     add     r0,r0,r4                                ;
0802C432 6800     ldr     r0,[r0]                                 ;
0802C434 8800     ldrh    r0,[r0]                                 ;
0802C436 8018     strh    r0,[r3]                                 ;
0802C438 F00AF90A bl      8036650h                                ;
0802C43C 2801     cmp     r0,1h                                   ;
0802C43E D103     bne     802C448h                                ;
0802C440 4808     ldr     r0,=2020C38h                            ;
0802C442 7800     ldrb    r0,[r0]                                 ;
0802C444 2800     cmp     r0,0h                                   ;
0802C446 D039     beq     802C4BCh                                ;
0802C448 F00AFF9A bl      8037380h                                ;
0802C44C 2800     cmp     r0,0h                                   ;
0802C44E D10B     bne     802C468h                                ;
0802C450 2064     mov     r0,64h                                  ;r0 = 100
0802C452 F7F7FF63 bl      802431Ch                                ;
0802C456 E00A     b       802C46Eh                                ;
0802C458 37D0     add     r7,0D0h                                 ;
0802C45A 0202     lsl     r2,r0,8h                                ;
0802C45C 3480     add     r4,80h                                  ;
0802C45E 0202     lsl     r2,r0,8h                                ;
0802C460 3270     add     r2,70h                                  ;
0802C462 0202     lsl     r2,r0,8h                                ;
0802C464 0C38     lsr     r0,r7,10h                               ;
0802C466 0202     lsl     r2,r0,8h                                ;
0802C468 2064     mov     r0,64h                                  ;r0 = 100
0802C46A F7F7FF33 bl      80242D4h                                ;
0802C46E F7F7FB73 bl      8023B58h                                ;
0802C472 F7F7FD6D bl      8023F50h                                ;
0802C476 4B0E     ldr     r3,=2023270h                            ;
0802C478 4A0E     ldr     r2,=2023480h                            ;
0802C47A 7891     ldrb    r1,[r2,2h]                              ;
0802C47C 0088     lsl     r0,r1,2h                                ;
0802C47E 1840     add     r0,r0,r1                                ;
0802C480 78D2     ldrb    r2,[r2,3h]                              ;
0802C482 1880     add     r0,r0,r2                                ;
0802C484 0080     lsl     r0,r0,2h                                ;
0802C486 18C0     add     r0,r0,r3                                ;
0802C488 6800     ldr     r0,[r0]                                 ;
0802C48A 2100     mov     r1,0h                                   ;
0802C48C F7FCFC38 bl      8028D00h                                ;
0802C490 4809     ldr     r0,=2020C38h                            ;
0802C492 7800     ldrb    r0,[r0]                                 ;
0802C494 2800     cmp     r0,0h                                   ;
0802C496 D114     bne     802C4C2h                                ;
0802C498 2041     mov     r0,41h                                  ;
0802C49A F7F6F851 bl      8022540h                                ;
0802C49E 20AC     mov     r0,0ACh                                 ;
0802C4A0 0040     lsl     r0,r0,1h                                ;
0802C4A2 F7F9F9FD bl      80258A0h                                ;call 0x258A0 - Display text box
0802C4A6 204D     mov     r0,4Dh                                  ;
0802C4A8 F7F6F84A bl      8022540h                                ;
0802C4AC E009     b       802C4C2h                                ;
0802C4AE 0000     lsl     r0,r0,0h                                ;
0802C4B0 3270     add     r2,70h                                  ;
0802C4B2 0202     lsl     r2,r0,8h                                ;
0802C4B4 3480     add     r4,80h                                  ;
0802C4B6 0202     lsl     r2,r0,8h                                ;
0802C4B8 0C38     lsr     r0,r7,10h                               ;
0802C4BA 0202     lsl     r2,r0,8h                                ;
0802C4BC 2064     mov     r0,64h                                  ;r0 = 100
0802C4BE F00AF84F bl      8036560h                                ;
0802C4C2 BC10     pop     r4                                      ;
0802C4C4 BC01     pop     r0                                      ;
0802C4C6 4700     bx      r0                                      ;

Final Flame

0802C4CA 4B10     ldr     r3,=20237D0h                            ;Final Flame
0802C4CC 4A10     ldr     r2,=2023480h                            ;
0802C4CE 7890     ldrb    r0,[r2,2h]                              ;
0802C4D0 7098     strb    r0,[r3,2h]                              ;
0802C4D2 78D0     ldrb    r0,[r2,3h]                              ;
0802C4D4 70D8     strb    r0,[r3,3h]                              ;
0802C4D6 4C0F     ldr     r4,=2023270h                            ;
0802C4D8 7891     ldrb    r1,[r2,2h]                              ;
0802C4DA 0088     lsl     r0,r1,2h                                ;
0802C4DC 1840     add     r0,r0,r1                                ;
0802C4DE 78D2     ldrb    r2,[r2,3h]                              ;
0802C4E0 1880     add     r0,r0,r2                                ;
0802C4E2 0080     lsl     r0,r0,2h                                ;
0802C4E4 1900     add     r0,r0,r4                                ;
0802C4E6 6800     ldr     r0,[r0]                                 ;
0802C4E8 8800     ldrh    r0,[r0]                                 ;
0802C4EA 8018     strh    r0,[r3]                                 ;
0802C4EC F00AF8B0 bl      8036650h                                ;
0802C4F0 2801     cmp     r0,1h                                   ;
0802C4F2 D103     bne     802C4FCh                                ;
0802C4F4 4808     ldr     r0,=2020C38h                            ;
0802C4F6 7800     ldrb    r0,[r0]                                 ;
0802C4F8 2800     cmp     r0,0h                                   ;
0802C4FA D039     beq     802C570h                                ;
0802C4FC F00AFF40 bl      8037380h                                ;
0802C500 2800     cmp     r0,0h                                   ;
0802C502 D10B     bne     802C51Ch                                ;
0802C504 20C8     mov     r0,0C8h                                 ;r0 = 200
0802C506 F7F7FF09 bl      802431Ch                                ;
0802C50A E00A     b       802C522h                                ;
0802C50C 37D0     add     r7,0D0h                                 ;
0802C50E 0202     lsl     r2,r0,8h                                ;
0802C510 3480     add     r4,80h                                  ;
0802C512 0202     lsl     r2,r0,8h                                ;
0802C514 3270     add     r2,70h                                  ;
0802C516 0202     lsl     r2,r0,8h                                ;
0802C518 0C38     lsr     r0,r7,10h                               ;
0802C51A 0202     lsl     r2,r0,8h                                ;
0802C51C 20C8     mov     r0,0C8h                                 ;r0 = 200
0802C51E F7F7FED9 bl      80242D4h                                ;
0802C522 F7F7FB19 bl      8023B58h                                ;
0802C526 F7F7FD13 bl      8023F50h                                ;
0802C52A 4B0D     ldr     r3,=2023270h                            ;
0802C52C 4A0D     ldr     r2,=2023480h                            ;
0802C52E 7891     ldrb    r1,[r2,2h]                              ;
0802C530 0088     lsl     r0,r1,2h                                ;
0802C532 1840     add     r0,r0,r1                                ;
0802C534 78D2     ldrb    r2,[r2,3h]                              ;
0802C536 1880     add     r0,r0,r2                                ;
0802C538 0080     lsl     r0,r0,2h                                ;
0802C53A 18C0     add     r0,r0,r3                                ;
0802C53C 6800     ldr     r0,[r0]                                 ;
0802C53E 2100     mov     r1,0h                                   ;
0802C540 F7FCFBDE bl      8028D00h                                ;
0802C544 4808     ldr     r0,=2020C38h                            ;
0802C546 7800     ldrb    r0,[r0]                                 ;
0802C548 2800     cmp     r0,0h                                   ;
0802C54A D114     bne     802C576h                                ;
0802C54C 2041     mov     r0,41h                                  ;
0802C54E F7F5FFF7 bl      8022540h                                ;
0802C552 4806     ldr     r0,=159h                                ;
0802C554 F7F9F9A4 bl      80258A0h                                ;call 0x258A0 - Display text box
0802C558 204D     mov     r0,4Dh                                  ;
0802C55A F7F5FFF1 bl      8022540h                                ;
0802C55E E00A     b       802C576h                                ;
0802C560 3270     add     r2,70h                                  ;
0802C562 0202     lsl     r2,r0,8h                                ;
0802C564 3480     add     r4,80h                                  ;
0802C566 0202     lsl     r2,r0,8h                                ;
0802C568 0C38     lsr     r0,r7,10h                               ;
0802C56A 0202     lsl     r2,r0,8h                                ;
0802C56C 0159     lsl     r1,r3,5h                                ;
0802C56E 0000     lsl     r0,r0,0h                                ;
0802C570 20C8     mov     r0,0C8h                                 ;r0 = 200
0802C572 F009FFF5 bl      8036560h                                ;
0802C576 BC10     pop     r4                                      ;
0802C578 BC01     pop     r0                                      ;
0802C57A 4700     bx      r0                                      ;

Ookazi

0802C57E 4B11     ldr     r3,=20237D0h                            ;Ookazi
0802C580 4A11     ldr     r2,=2023480h                            ;
0802C582 7890     ldrb    r0,[r2,2h]                              ;
0802C584 7098     strb    r0,[r3,2h]                              ;
0802C586 78D0     ldrb    r0,[r2,3h]                              ;
0802C588 70D8     strb    r0,[r3,3h]                              ;
0802C58A 4C10     ldr     r4,=2023270h                            ;
0802C58C 7891     ldrb    r1,[r2,2h]                              ;
0802C58E 0088     lsl     r0,r1,2h                                ;
0802C590 1840     add     r0,r0,r1                                ;
0802C592 78D2     ldrb    r2,[r2,3h]                              ;
0802C594 1880     add     r0,r0,r2                                ;
0802C596 0080     lsl     r0,r0,2h                                ;
0802C598 1900     add     r0,r0,r4                                ;
0802C59A 6800     ldr     r0,[r0]                                 ;
0802C59C 8800     ldrh    r0,[r0]                                 ;
0802C59E 8018     strh    r0,[r3]                                 ;
0802C5A0 F00AF856 bl      8036650h                                ;
0802C5A4 2801     cmp     r0,1h                                   ;
0802C5A6 D103     bne     802C5B0h                                ;
0802C5A8 4809     ldr     r0,=2020C38h                            ;
0802C5AA 7800     ldrb    r0,[r0]                                 ;
0802C5AC 2800     cmp     r0,0h                                   ;
0802C5AE D03B     beq     802C628h                                ;
0802C5B0 F00AFEE6 bl      8037380h                                ;
0802C5B4 2800     cmp     r0,0h                                   ;
0802C5B6 D10D     bne     802C5D4h                                ;
0802C5B8 20FA     mov     r0,0FAh                                 ;
0802C5BA 0040     lsl     r0,r0,1h                                ;r0 = 500
0802C5BC F7F7FEAE bl      802431Ch                                ;
0802C5C0 E00C     b       802C5DCh                                ;
0802C5C2 0000     lsl     r0,r0,0h                                ;
0802C5C4 37D0     add     r7,0D0h                                 ;
0802C5C6 0202     lsl     r2,r0,8h                                ;
0802C5C8 3480     add     r4,80h                                  ;
0802C5CA 0202     lsl     r2,r0,8h                                ;
0802C5CC 3270     add     r2,70h                                  ;
0802C5CE 0202     lsl     r2,r0,8h                                ;
0802C5D0 0C38     lsr     r0,r7,10h                               ;
0802C5D2 0202     lsl     r2,r0,8h                                ;
0802C5D4 20FA     mov     r0,0FAh                                 ;
0802C5D6 0040     lsl     r0,r0,1h                                ;r0 = 500
0802C5D8 F7F7FE7C bl      80242D4h                                ;
0802C5DC F7F7FABC bl      8023B58h                                ;
0802C5E0 F7F7FCB6 bl      8023F50h                                ;
0802C5E4 4B0D     ldr     r3,=2023270h                            ;
0802C5E6 4A0E     ldr     r2,=2023480h                            ;
0802C5E8 7891     ldrb    r1,[r2,2h]                              ;
0802C5EA 0088     lsl     r0,r1,2h                                ;
0802C5EC 1840     add     r0,r0,r1                                ;
0802C5EE 78D2     ldrb    r2,[r2,3h]                              ;
0802C5F0 1880     add     r0,r0,r2                                ;
0802C5F2 0080     lsl     r0,r0,2h                                ;
0802C5F4 18C0     add     r0,r0,r3                                ;
0802C5F6 6800     ldr     r0,[r0]                                 ;
0802C5F8 2100     mov     r1,0h                                   ;
0802C5FA F7FCFB81 bl      8028D00h                                ;
0802C5FE 4809     ldr     r0,=2020C38h                            ;
0802C600 7800     ldrb    r0,[r0]                                 ;
0802C602 2800     cmp     r0,0h                                   ;
0802C604 D114     bne     802C630h                                ;
0802C606 2041     mov     r0,41h                                  ;
0802C608 F7F5FF9A bl      8022540h                                ;
0802C60C 20AD     mov     r0,0ADh                                 ;
0802C60E 0040     lsl     r0,r0,1h                                ;r0 = 346 ; Ookazi
0802C610 F7F9F946 bl      80258A0h                                ;call 0x258A0 - Display text box
0802C614 204D     mov     r0,4Dh                                  ;
0802C616 F7F5FF93 bl      8022540h                                ;
0802C61A E009     b       802C630h                                ;
0802C61C 3270     add     r2,70h                                  ;
0802C61E 0202     lsl     r2,r0,8h                                ;
0802C620 3480     add     r4,80h                                  ;
0802C622 0202     lsl     r2,r0,8h                                ;
0802C624 0C38     lsr     r0,r7,10h                               ;
0802C626 0202     lsl     r2,r0,8h                                ;
0802C628 20FA     mov     r0,0FAh                                 ;
0802C62A 0040     lsl     r0,r0,1h                                ;r0 = 500
0802C62C F009FF98 bl      8036560h                                ;
0802C630 BC10     pop     r4                                      ;
0802C632 BC01     pop     r0                                      ;
0802C634 4700     bx      r0                                      ;

Tremendous Fire

0802C63A 4B11     ldr     r3,=20237D0h                            ;Tremendous Fire
0802C63C 4A11     ldr     r2,=2023480h                            ;
0802C63E 7890     ldrb    r0,[r2,2h]                              ;
0802C640 7098     strb    r0,[r3,2h]                              ;
0802C642 78D0     ldrb    r0,[r2,3h]                              ;
0802C644 70D8     strb    r0,[r3,3h]                              ;
0802C646 4C10     ldr     r4,=2023270h                            ;
0802C648 7891     ldrb    r1,[r2,2h]                              ;
0802C64A 0088     lsl     r0,r1,2h                                ;
0802C64C 1840     add     r0,r0,r1                                ;
0802C64E 78D2     ldrb    r2,[r2,3h]                              ;
0802C650 1880     add     r0,r0,r2                                ;
0802C652 0080     lsl     r0,r0,2h                                ;
0802C654 1900     add     r0,r0,r4                                ;
0802C656 6800     ldr     r0,[r0]                                 ;
0802C658 8800     ldrh    r0,[r0]                                 ;
0802C65A 8018     strh    r0,[r3]                                 ;
0802C65C F009FFF8 bl      8036650h                                ;
0802C660 2801     cmp     r0,1h                                   ;
0802C662 D103     bne     802C66Ch                                ;
0802C664 4809     ldr     r0,=2020C38h                            ;
0802C666 7800     ldrb    r0,[r0]                                 ;
0802C668 2800     cmp     r0,0h                                   ;
0802C66A D03D     beq     802C6E8h                                ;
0802C66C F00AFE88 bl      8037380h                                ;
0802C670 2800     cmp     r0,0h                                   ;
0802C672 D10D     bne     802C690h                                ;
0802C674 20FA     mov     r0,0FAh                                 ;
0802C676 0080     lsl     r0,r0,2h                                ;r0 = 1000
0802C678 F7F7FE50 bl      802431Ch                                ;
0802C67C E00C     b       802C698h                                ;
0802C67E 0000     lsl     r0,r0,0h                                ;
0802C680 37D0     add     r7,0D0h                                 ;
0802C682 0202     lsl     r2,r0,8h                                ;
0802C684 3480     add     r4,80h                                  ;
0802C686 0202     lsl     r2,r0,8h                                ;
0802C688 3270     add     r2,70h                                  ;
0802C68A 0202     lsl     r2,r0,8h                                ;
0802C68C 0C38     lsr     r0,r7,10h                               ;
0802C68E 0202     lsl     r2,r0,8h                                ;
0802C690 20FA     mov     r0,0FAh                                 ;
0802C692 0080     lsl     r0,r0,2h                                ;r0 = 1000
0802C694 F7F7FE1E bl      80242D4h                                ;
0802C698 F7F7FA5E bl      8023B58h                                ;
0802C69C F7F7FC58 bl      8023F50h                                ;
0802C6A0 4B0D     ldr     r3,=2023270h                            ;
0802C6A2 4A0E     ldr     r2,=2023480h                            ;
0802C6A4 7891     ldrb    r1,[r2,2h]                              ;
0802C6A6 0088     lsl     r0,r1,2h                                ;
0802C6A8 1840     add     r0,r0,r1                                ;
0802C6AA 78D2     ldrb    r2,[r2,3h]                              ;
0802C6AC 1880     add     r0,r0,r2                                ;
0802C6AE 0080     lsl     r0,r0,2h                                ;
0802C6B0 18C0     add     r0,r0,r3                                ;
0802C6B2 6800     ldr     r0,[r0]                                 ;
0802C6B4 2100     mov     r1,0h                                   ;
0802C6B6 F7FCFB23 bl      8028D00h                                ;
0802C6BA 4809     ldr     r0,=2020C38h                            ;
0802C6BC 7800     ldrb    r0,[r0]                                 ;
0802C6BE 2800     cmp     r0,0h                                   ;
0802C6C0 D116     bne     802C6F0h                                ;
0802C6C2 2041     mov     r0,41h                                  ;
0802C6C4 F7F5FF3C bl      8022540h                                ;
0802C6C8 4806     ldr     r0,=15Bh                                ;
0802C6CA F7F9F8E9 bl      80258A0h                                ;call 0x258A0 - Display text box
0802C6CE 204D     mov     r0,4Dh                                  ;
0802C6D0 F7F5FF36 bl      8022540h                                ;
0802C6D4 E00C     b       802C6F0h                                ;
0802C6D6 0000     lsl     r0,r0,0h                                ;
0802C6D8 3270     add     r2,70h                                  ;
0802C6DA 0202     lsl     r2,r0,8h                                ;
0802C6DC 3480     add     r4,80h                                  ;
0802C6DE 0202     lsl     r2,r0,8h                                ;
0802C6E0 0C38     lsr     r0,r7,10h                               ;
0802C6E2 0202     lsl     r2,r0,8h                                ;
0802C6E4 015B     lsl     r3,r3,5h                                ;
0802C6E6 0000     lsl     r0,r0,0h                                ;
0802C6E8 20FA     mov     r0,0FAh                                 ;
0802C6EA 0080     lsl     r0,r0,2h                                ;r0 = 1000
0802C6EC F009FF38 bl      8036560h                                ;
0802C6F0 BC10     pop     r4                                      ;
0802C6F2 BC01     pop     r0                                      ;
0802C6F4 4700     bx      r0                                      ;

Dark Hole

0802C6FA 2500     mov     r5,0h                                   ;Dark Hole
0802C6FC 4E21     ldr     r6,=2023284h                            ;
0802C6FE 00A8     lsl     r0,r5,2h                                ;
0802C700 1984     add     r4,r0,r6                                ;
0802C702 6820     ldr     r0,[r4]                                 ;r0 = pointer to a RAM address
0802C704 8800     ldrh    r0,[r0]                                 ;load the value of that RAM address to r0
0802C706 F7ECFE31 bl      801936Ch                                ;Check if current_card_id is a God card
0802C70A 2800     cmp     r0,0h                                   ;
0802C70C D103     bne     802C716h                                ;
0802C70E 6820     ldr     r0,[r4]                                 ;
0802C710 2101     mov     r1,1h                                   ;
0802C712 F7FCFAF5 bl      8028D00h                                ;
0802C716 1C68     add     r0,r5,1                                 ;
0802C718 0600     lsl     r0,r0,18h                               ;
0802C71A 0E05     lsr     r5,r0,18h                               ;
0802C71C 2D04     cmp     r5,4h                                   ;
0802C71E D9EE     bls     802C6FEh                                ;
0802C720 2500     mov     r5,0h                                   ;
0802C722 4E19     ldr     r6,=2023298h                            ;
0802C724 00A8     lsl     r0,r5,2h                                ;
0802C726 1984     add     r4,r0,r6                                ;
0802C728 6820     ldr     r0,[r4]                                 ;
0802C72A 8800     ldrh    r0,[r0]                                 ;
0802C72C F7ECFE1E bl      801936Ch                                ;Check if current_card_id is a God card
0802C730 2800     cmp     r0,0h                                   ;
0802C732 D103     bne     802C73Ch                                ;
0802C734 6820     ldr     r0,[r4]                                 ;
0802C736 2100     mov     r1,0h                                   ;
0802C738 F7FCFAE2 bl      8028D00h                                ;
0802C73C 1C68     add     r0,r5,1                                 ;
0802C73E 0600     lsl     r0,r0,18h                               ;
0802C740 0E05     lsr     r5,r0,18h                               ;
0802C742 2D04     cmp     r5,4h                                   ;
0802C744 D9EE     bls     802C724h                                ;
0802C746 4B11     ldr     r3,=2023270h                            ;
0802C748 4A11     ldr     r2,=2023480h                            ;
0802C74A 7891     ldrb    r1,[r2,2h]                              ;
0802C74C 0088     lsl     r0,r1,2h                                ;
0802C74E 1840     add     r0,r0,r1                                ;
0802C750 78D2     ldrb    r2,[r2,3h]                              ;
0802C752 1880     add     r0,r0,r2                                ;
0802C754 0080     lsl     r0,r0,2h                                ;
0802C756 18C0     add     r0,r0,r3                                ;
0802C758 6800     ldr     r0,[r0]                                 ;
0802C75A 2100     mov     r1,0h                                   ;
0802C75C F7FCFAD0 bl      8028D00h                                ;
0802C760 480C     ldr     r0,=2020C38h                            ;
0802C762 7800     ldrb    r0,[r0]                                 ;
0802C764 2800     cmp     r0,0h                                   ;
0802C766 D109     bne     802C77Ch                                ;
0802C768 2041     mov     r0,41h                                  ;
0802C76A F7F5FEE9 bl      8022540h                                ;
0802C76E 20A8     mov     r0,0A8h                                 ;
0802C770 0040     lsl     r0,r0,1h                                ;r0 = 336 ; Dark Hole
0802C772 F7F9F895 bl      80258A0h                                ;call 0x258A0 - Display text box
0802C776 204B     mov     r0,4Bh                                  ;
0802C778 F7F5FEE2 bl      8022540h                                ;
0802C77C BC70     pop     r4-r6                                   ;
0802C77E BC01     pop     r0                                      ;
0802C780 4700     bx      r0                                      ;

Raigeki

0802C79A 4B24     ldr     r3,=20237D0h                            ;Raigeki
0802C79C 4A24     ldr     r2,=2023480h                            ;
0802C79E 7890     ldrb    r0,[r2,2h]                              ;
0802C7A0 7098     strb    r0,[r3,2h]                              ;
0802C7A2 78D0     ldrb    r0,[r2,3h]                              ;
0802C7A4 70D8     strb    r0,[r3,3h]                              ;
0802C7A6 4C23     ldr     r4,=2023270h                            ;
0802C7A8 7891     ldrb    r1,[r2,2h]                              ;
0802C7AA 0088     lsl     r0,r1,2h                                ;
0802C7AC 1840     add     r0,r0,r1                                ;
0802C7AE 78D2     ldrb    r2,[r2,3h]                              ;
0802C7B0 1880     add     r0,r0,r2                                ;
0802C7B2 0080     lsl     r0,r0,2h                                ;
0802C7B4 1900     add     r0,r0,r4                                ;
0802C7B6 6800     ldr     r0,[r0]                                 ;
0802C7B8 8800     ldrh    r0,[r0]                                 ;
0802C7BA 8018     strh    r0,[r3]                                 ;
0802C7BC F009FF48 bl      8036650h                                ;
0802C7C0 2801     cmp     r0,1h                                   ;
0802C7C2 D103     bne     802C7CCh                                ;
0802C7C4 481C     ldr     r0,=2020C38h                            ;
0802C7C6 7800     ldrb    r0,[r0]                                 ;
0802C7C8 2800     cmp     r0,0h                                   ;
0802C7CA D039     beq     802C840h                                ;
0802C7CC 2500     mov     r5,0h                                   ;
0802C7CE 1C26     mov     r6,r4                                   ;
0802C7D0 3614     add     r6,14h                                  ;
0802C7D2 00A8     lsl     r0,r5,2h                                ;
0802C7D4 1984     add     r4,r0,r6                                ;
0802C7D6 6820     ldr     r0,[r4]                                 ;
0802C7D8 8800     ldrh    r0,[r0]                                 ;
0802C7DA F7ECFDC7 bl      801936Ch                                ;Check if current_card_id is a God card
0802C7DE 2800     cmp     r0,0h                                   ;
0802C7E0 D103     bne     802C7EAh                                ;
0802C7E2 6820     ldr     r0,[r4]                                 ;
0802C7E4 2101     mov     r1,1h                                   ;
0802C7E6 F7FCFA8B bl      8028D00h                                ;
0802C7EA 1C68     add     r0,r5,1                                 ;
0802C7EC 0600     lsl     r0,r0,18h                               ;
0802C7EE 0E05     lsr     r5,r0,18h                               ;
0802C7F0 2D04     cmp     r5,4h                                   ;
0802C7F2 D9EE     bls     802C7D2h                                ;
0802C7F4 4B0F     ldr     r3,=2023270h                            ;
0802C7F6 4A0E     ldr     r2,=2023480h                            ;
0802C7F8 7891     ldrb    r1,[r2,2h]                              ;
0802C7FA 0088     lsl     r0,r1,2h                                ;
0802C7FC 1840     add     r0,r0,r1                                ;
0802C7FE 78D2     ldrb    r2,[r2,3h]                              ;
0802C800 1880     add     r0,r0,r2                                ;
0802C802 0080     lsl     r0,r0,2h                                ;
0802C804 18C0     add     r0,r0,r3                                ;
0802C806 6800     ldr     r0,[r0]                                 ;
0802C808 2100     mov     r1,0h                                   ;
0802C80A F7FCFA79 bl      8028D00h                                ;
0802C80E 480A     ldr     r0,=2020C38h                            ;
0802C810 7800     ldrb    r0,[r0]                                 ;
0802C812 2800     cmp     r0,0h                                   ;
0802C814 D116     bne     802C844h                                ;
0802C816 2041     mov     r0,41h                                  ;
0802C818 F7F5FE92 bl      8022540h                                ;
0802C81C 4807     ldr     r0,=151h                                ;r0 = 337 ; Raigeki
0802C81E F7F9F83F bl      80258A0h                                ;call 0x258A0 - Display text box
0802C822 204B     mov     r0,4Bh                                  ;
0802C824 F7F5FE8C bl      8022540h                                ;
0802C828 E00C     b       802C844h                                ;
0802C82A 0000     lsl     r0,r0,0h                                ;
0802C82C 37D0     add     r7,0D0h                                 ;
0802C82E 0202     lsl     r2,r0,8h                                ;
0802C830 3480     add     r4,80h                                  ;
0802C832 0202     lsl     r2,r0,8h                                ;
0802C834 3270     add     r2,70h                                  ;
0802C836 0202     lsl     r2,r0,8h                                ;
0802C838 0C38     lsr     r0,r7,10h                               ;
0802C83A 0202     lsl     r2,r0,8h                                ;
0802C83C 0151     lsl     r1,r2,5h                                ;
0802C83E 0000     lsl     r0,r0,0h                                ;
0802C840 F009FE8E bl      8036560h                                ;
0802C844 BC70     pop     r4-r6                                   ;
0802C846 BC01     pop     r0                                      ;
0802C848 4700     bx      r0                                      ;

Equip Spells 1

Legendary Sword

0802C84E 4D24     ldr     r5,=2023270h                            ;Legendary Sword
0802C850 4C24     ldr     r4,=2023480h                            ;
0802C852 78A1     ldrb    r1,[r4,2h]                              ;
0802C854 0088     lsl     r0,r1,2h                                ;
0802C856 1840     add     r0,r0,r1                                ;
0802C858 78E1     ldrb    r1,[r4,3h]                              ;
0802C85A 1840     add     r0,r0,r1                                ;
0802C85C 0080     lsl     r0,r0,2h                                ;
0802C85E 1940     add     r0,r0,r5                                ;
0802C860 6800     ldr     r0,[r0]                                 ;
0802C862 8800     ldrh    r0,[r0]                                 ;
0802C864 F007FFFE bl      8034864h                                ;
0802C868 2801     cmp     r0,1h                                   ;
0802C86A D150     bne     802C90Eh                                ;
0802C86C 4A1E     ldr     r2,=20237D0h                            ;
0802C86E 7920     ldrb    r0,[r4,4h]                              ;
0802C870 7090     strb    r0,[r2,2h]                              ;
0802C872 7960     ldrb    r0,[r4,5h]                              ;
0802C874 70D0     strb    r0,[r2,3h]                              ;
0802C876 7921     ldrb    r1,[r4,4h]                              ;
0802C878 0088     lsl     r0,r1,2h                                ;
0802C87A 1840     add     r0,r0,r1                                ;
0802C87C 7961     ldrb    r1,[r4,5h]                              ;
0802C87E 1840     add     r0,r0,r1                                ;
0802C880 0080     lsl     r0,r0,2h                                ;
0802C882 1940     add     r0,r0,r5                                ;
0802C884 6800     ldr     r0,[r0]                                 ;
0802C886 8800     ldrh    r0,[r0]                                 ;
0802C888 8010     strh    r0,[r2]                                 ;
0802C88A F009FEE1 bl      8036650h                                ;
0802C88E 2801     cmp     r0,1h                                   ;
0802C890 D103     bne     802C89Ah                                ;
0802C892 4816     ldr     r0,=2020C38h                            ;
0802C894 7800     ldrb    r0,[r0]                                 ;
0802C896 2800     cmp     r0,0h                                   ;
0802C898 D02C     beq     802C8F4h                                ;
0802C89A 78A1     ldrb    r1,[r4,2h]                              ;
0802C89C 0088     lsl     r0,r1,2h                                ;
0802C89E 1840     add     r0,r0,r1                                ;
0802C8A0 78E1     ldrb    r1,[r4,3h]                              ;
0802C8A2 1840     add     r0,r0,r1                                ;
0802C8A4 0080     lsl     r0,r0,2h                                ;
0802C8A6 1940     add     r0,r0,r5                                ;
0802C8A8 6800     ldr     r0,[r0]                                 ;
0802C8AA F7F8FA1B bl      8024CE4h                                ;
0802C8AE 7921     ldrb    r1,[r4,4h]                              ;
0802C8B0 0088     lsl     r0,r1,2h                                ;
0802C8B2 1840     add     r0,r0,r1                                ;
0802C8B4 7964     ldrb    r4,[r4,5h]                              ;
0802C8B6 1900     add     r0,r0,r4                                ;
0802C8B8 0080     lsl     r0,r0,2h                                ;
0802C8BA 1940     add     r0,r0,r5                                ;
0802C8BC 6800     ldr     r0,[r0]                                 ;
0802C8BE 2100     mov     r1,0h                                   ;
0802C8C0 F7FCFA1E bl      8028D00h                                ;
0802C8C4 4809     ldr     r0,=2020C38h                            ;
0802C8C6 7800     ldrb    r0,[r0]                                 ;
0802C8C8 2800     cmp     r0,0h                                   ;
0802C8CA D127     bne     802C91Ch                                ;
0802C8CC 2041     mov     r0,41h                                  ;
0802C8CE F7F5FE37 bl      8022540h                                ;
0802C8D2 4807     ldr     r0,=12Dh                                ;r0 = 301 ; Legendary Sword
0802C8D4 F7F8FFE4 bl      80258A0h                                ;call 0x258A0 - Display text box
0802C8D8 2049     mov     r0,49h                                  ;
0802C8DA F7F5FE31 bl      8022540h                                ;
0802C8DE E01D     b       802C91Ch                                ;
0802C8E0 3270     add     r2,70h                                  ;
0802C8E2 0202     lsl     r2,r0,8h                                ;
0802C8E4 3480     add     r4,80h                                  ;
0802C8E6 0202     lsl     r2,r0,8h                                ;
0802C8E8 37D0     add     r7,0D0h                                 ;
0802C8EA 0202     lsl     r2,r0,8h                                ;
0802C8EC 0C38     lsr     r0,r7,10h                               ;
0802C8EE 0202     lsl     r2,r0,8h                                ;
0802C8F0 012D     lsl     r5,r5,4h                                ;
0802C8F2 0000     lsl     r0,r0,0h                                ;
0802C8F4 78A0     ldrb    r0,[r4,2h]                              ;
0802C8F6 0081     lsl     r1,r0,2h                                ;
0802C8F8 1809     add     r1,r1,r0                                ;
0802C8FA 78E4     ldrb    r4,[r4,3h]                              ;
0802C8FC 1909     add     r1,r1,r4                                ;
0802C8FE 0089     lsl     r1,r1,2h                                ;
0802C900 1949     add     r1,r1,r5                                ;
0802C902 6808     ldr     r0,[r1]                                 ;
0802C904 F7F8F9F8 bl      8024CF8h                                ;
0802C908 F009FE2A bl      8036560h                                ;
0802C90C E006     b       802C91Ch                                ;
0802C90E 4805     ldr     r0,=2020C38h                            ;
0802C910 7800     ldrb    r0,[r0]                                 ;
0802C912 2800     cmp     r0,0h                                   ;
0802C914 D102     bne     802C91Ch                                ;
0802C916 2039     mov     r0,39h                                  ;
0802C918 F7F5FE12 bl      8022540h                                ;
0802C91C BC30     pop     r4,r5                                   ;
0802C91E BC01     pop     r0                                      ;
0802C920 4700     bx      r0                                      ;

Sword of Dark Destruction

0802C92A 4D25     ldr     r5,=2023270h                            ;Sword of Dark Destruction
0802C92C 4C25     ldr     r4,=2023480h                            ;
0802C92E 78A1     ldrb    r1,[r4,2h]                              ;
0802C930 0088     lsl     r0,r1,2h                                ;
0802C932 1840     add     r0,r0,r1                                ;
0802C934 78E1     ldrb    r1,[r4,3h]                              ;
0802C936 1840     add     r0,r0,r1                                ;
0802C938 0080     lsl     r0,r0,2h                                ;
0802C93A 1940     add     r0,r0,r5                                ;
0802C93C 6800     ldr     r0,[r0]                                 ;
0802C93E 8800     ldrh    r0,[r0]                                 ;
0802C940 F007FF9E bl      8034880h                                ;
0802C944 2801     cmp     r0,1h                                   ;
0802C946 D150     bne     802C9EAh                                ;
0802C948 4A1F     ldr     r2,=20237D0h                            ;
0802C94A 7920     ldrb    r0,[r4,4h]                              ;
0802C94C 7090     strb    r0,[r2,2h]                              ;
0802C94E 7960     ldrb    r0,[r4,5h]                              ;
0802C950 70D0     strb    r0,[r2,3h]                              ;
0802C952 7921     ldrb    r1,[r4,4h]                              ;
0802C954 0088     lsl     r0,r1,2h                                ;
0802C956 1840     add     r0,r0,r1                                ;
0802C958 7961     ldrb    r1,[r4,5h]                              ;
0802C95A 1840     add     r0,r0,r1                                ;
0802C95C 0080     lsl     r0,r0,2h                                ;
0802C95E 1940     add     r0,r0,r5                                ;
0802C960 6800     ldr     r0,[r0]                                 ;
0802C962 8800     ldrh    r0,[r0]                                 ;
0802C964 8010     strh    r0,[r2]                                 ;
0802C966 F009FE73 bl      8036650h                                ;
0802C96A 2801     cmp     r0,1h                                   ;
0802C96C D103     bne     802C976h                                ;
0802C96E 4817     ldr     r0,=2020C38h                            ;
0802C970 7800     ldrb    r0,[r0]                                 ;
0802C972 2800     cmp     r0,0h                                   ;
0802C974 D02C     beq     802C9D0h                                ;
0802C976 78A1     ldrb    r1,[r4,2h]                              ;
0802C978 0088     lsl     r0,r1,2h                                ;
0802C97A 1840     add     r0,r0,r1                                ;
0802C97C 78E1     ldrb    r1,[r4,3h]                              ;
0802C97E 1840     add     r0,r0,r1                                ;
0802C980 0080     lsl     r0,r0,2h                                ;
0802C982 1940     add     r0,r0,r5                                ;
0802C984 6800     ldr     r0,[r0]                                 ;
0802C986 F7F8F9AD bl      8024CE4h                                ;
0802C98A 7921     ldrb    r1,[r4,4h]                              ;
0802C98C 0088     lsl     r0,r1,2h                                ;
0802C98E 1840     add     r0,r0,r1                                ;
0802C990 7964     ldrb    r4,[r4,5h]                              ;
0802C992 1900     add     r0,r0,r4                                ;
0802C994 0080     lsl     r0,r0,2h                                ;
0802C996 1940     add     r0,r0,r5                                ;
0802C998 6800     ldr     r0,[r0]                                 ;
0802C99A 2100     mov     r1,0h                                   ;
0802C99C F7FCF9B0 bl      8028D00h                                ;
0802C9A0 480A     ldr     r0,=2020C38h                            ;
0802C9A2 7800     ldrb    r0,[r0]                                 ;
0802C9A4 2800     cmp     r0,0h                                   ;
0802C9A6 D127     bne     802C9F8h                                ;
0802C9A8 2041     mov     r0,41h                                  ;
0802C9AA F7F5FDC9 bl      8022540h                                ;
0802C9AE 2097     mov     r0,97h                                  ;
0802C9B0 0040     lsl     r0,r0,1h                                ;r0 = 302 ; Sword of Dark Destruction
0802C9B2 F7F8FF75 bl      80258A0h                                ;call 0x258A0 - Display text box
0802C9B6 2049     mov     r0,49h                                  ;
0802C9B8 F7F5FDC2 bl      8022540h                                ;
0802C9BC E01C     b       802C9F8h                                ;
0802C9BE 0000     lsl     r0,r0,0h                                ;
0802C9C0 3270     add     r2,70h                                  ;
0802C9C2 0202     lsl     r2,r0,8h                                ;
0802C9C4 3480     add     r4,80h                                  ;
0802C9C6 0202     lsl     r2,r0,8h                                ;
0802C9C8 37D0     add     r7,0D0h                                 ;
0802C9CA 0202     lsl     r2,r0,8h                                ;
0802C9CC 0C38     lsr     r0,r7,10h                               ;
0802C9CE 0202     lsl     r2,r0,8h                                ;
0802C9D0 78A0     ldrb    r0,[r4,2h]                              ;
0802C9D2 0081     lsl     r1,r0,2h                                ;
0802C9D4 1809     add     r1,r1,r0                                ;
0802C9D6 78E4     ldrb    r4,[r4,3h]                              ;
0802C9D8 1909     add     r1,r1,r4                                ;
0802C9DA 0089     lsl     r1,r1,2h                                ;
0802C9DC 1949     add     r1,r1,r5                                ;
0802C9DE 6808     ldr     r0,[r1]                                 ;
0802C9E0 F7F8F98A bl      8024CF8h                                ;
0802C9E4 F009FDBC bl      8036560h                                ;
0802C9E8 E006     b       802C9F8h                                ;
0802C9EA 4805     ldr     r0,=2020C38h                            ;
0802C9EC 7800     ldrb    r0,[r0]                                 ;
0802C9EE 2800     cmp     r0,0h                                   ;
0802C9F0 D102     bne     802C9F8h                                ;
0802C9F2 2039     mov     r0,39h                                  ;
0802C9F4 F7F5FDA4 bl      8022540h                                ;
0802C9F8 BC30     pop     r4,r5                                   ;
0802C9FA BC01     pop     r0                                      ;
0802C9FC 4700     bx      r0                                      ;

Dark Energy

0802CA06 4D24     ldr     r5,=2023270h                            ;Dark Energy
0802CA08 4C24     ldr     r4,=2023480h                            ;
0802CA0A 78A1     ldrb    r1,[r4,2h]                              ;
0802CA0C 0088     lsl     r0,r1,2h                                ;
0802CA0E 1840     add     r0,r0,r1                                ;
0802CA10 78E1     ldrb    r1,[r4,3h]                              ;
0802CA12 1840     add     r0,r0,r1                                ;
0802CA14 0080     lsl     r0,r0,2h                                ;
0802CA16 1940     add     r0,r0,r5                                ;
0802CA18 6800     ldr     r0,[r0]                                 ;
0802CA1A 8800     ldrh    r0,[r0]                                 ;
0802CA1C F007FF3E bl      803489Ch                                ;
0802CA20 2801     cmp     r0,1h                                   ;
0802CA22 D150     bne     802CAC6h                                ;
0802CA24 4A1E     ldr     r2,=20237D0h                            ;
0802CA26 7920     ldrb    r0,[r4,4h]                              ;
0802CA28 7090     strb    r0,[r2,2h]                              ;
0802CA2A 7960     ldrb    r0,[r4,5h]                              ;
0802CA2C 70D0     strb    r0,[r2,3h]                              ;
0802CA2E 7921     ldrb    r1,[r4,4h]                              ;
0802CA30 0088     lsl     r0,r1,2h                                ;
0802CA32 1840     add     r0,r0,r1                                ;
0802CA34 7961     ldrb    r1,[r4,5h]                              ;
0802CA36 1840     add     r0,r0,r1                                ;
0802CA38 0080     lsl     r0,r0,2h                                ;
0802CA3A 1940     add     r0,r0,r5                                ;
0802CA3C 6800     ldr     r0,[r0]                                 ;
0802CA3E 8800     ldrh    r0,[r0]                                 ;
0802CA40 8010     strh    r0,[r2]                                 ;
0802CA42 F009FE05 bl      8036650h                                ;
0802CA46 2801     cmp     r0,1h                                   ;
0802CA48 D103     bne     802CA52h                                ;
0802CA4A 4816     ldr     r0,=2020C38h                            ;
0802CA4C 7800     ldrb    r0,[r0]                                 ;
0802CA4E 2800     cmp     r0,0h                                   ;
0802CA50 D02C     beq     802CAACh                                ;
0802CA52 78A1     ldrb    r1,[r4,2h]                              ;
0802CA54 0088     lsl     r0,r1,2h                                ;
0802CA56 1840     add     r0,r0,r1                                ;
0802CA58 78E1     ldrb    r1,[r4,3h]                              ;
0802CA5A 1840     add     r0,r0,r1                                ;
0802CA5C 0080     lsl     r0,r0,2h                                ;
0802CA5E 1940     add     r0,r0,r5                                ;
0802CA60 6800     ldr     r0,[r0]                                 ;
0802CA62 F7F8F93F bl      8024CE4h                                ;
0802CA66 7921     ldrb    r1,[r4,4h]                              ;
0802CA68 0088     lsl     r0,r1,2h                                ;
0802CA6A 1840     add     r0,r0,r1                                ;
0802CA6C 7964     ldrb    r4,[r4,5h]                              ;
0802CA6E 1900     add     r0,r0,r4                                ;
0802CA70 0080     lsl     r0,r0,2h                                ;
0802CA72 1940     add     r0,r0,r5                                ;
0802CA74 6800     ldr     r0,[r0]                                 ;
0802CA76 2100     mov     r1,0h                                   ;
0802CA78 F7FCF942 bl      8028D00h                                ;
0802CA7C 4809     ldr     r0,=2020C38h                            ;
0802CA7E 7800     ldrb    r0,[r0]                                 ;
0802CA80 2800     cmp     r0,0h                                   ;
0802CA82 D127     bne     802CAD4h                                ;
0802CA84 2041     mov     r0,41h                                  ;
0802CA86 F7F5FD5B bl      8022540h                                ;
0802CA8A 4807     ldr     r0,=12Fh                                ;r0 = 303 ; Dark Energy
0802CA8C F7F8FF08 bl      80258A0h                                ;
0802CA90 2049     mov     r0,49h                                  ;
0802CA92 F7F5FD55 bl      8022540h                                ;
0802CA96 E01D     b       802CAD4h                                ;
0802CA98 3270     add     r2,70h                                  ;
0802CA9A 0202     lsl     r2,r0,8h                                ;
0802CA9C 3480     add     r4,80h                                  ;
0802CA9E 0202     lsl     r2,r0,8h                                ;
0802CAA0 37D0     add     r7,0D0h                                 ;
0802CAA2 0202     lsl     r2,r0,8h                                ;
0802CAA4 0C38     lsr     r0,r7,10h                               ;
0802CAA6 0202     lsl     r2,r0,8h                                ;
0802CAA8 012F     lsl     r7,r5,4h                                ;
0802CAAA 0000     lsl     r0,r0,0h                                ;
0802CAAC 78A0     ldrb    r0,[r4,2h]                              ;
0802CAAE 0081     lsl     r1,r0,2h                                ;
0802CAB0 1809     add     r1,r1,r0                                ;
0802CAB2 78E4     ldrb    r4,[r4,3h]                              ;
0802CAB4 1909     add     r1,r1,r4                                ;
0802CAB6 0089     lsl     r1,r1,2h                                ;
0802CAB8 1949     add     r1,r1,r5                                ;
0802CABA 6808     ldr     r0,[r1]                                 ;
0802CABC F7F8F91C bl      8024CF8h                                ;
0802CAC0 F009FD4E bl      8036560h                                ;
0802CAC4 E006     b       802CAD4h                                ;
0802CAC6 4805     ldr     r0,=2020C38h                            ;
0802CAC8 7800     ldrb    r0,[r0]                                 ;
0802CACA 2800     cmp     r0,0h                                   ;
0802CACC D102     bne     802CAD4h                                ;
0802CACE 2039     mov     r0,39h                                  ;
0802CAD0 F7F5FD36 bl      8022540h                                ;
0802CAD4 BC30     pop     r4,r5                                   ;
0802CAD6 BC01     pop     r0                                      ;
0802CAD8 4700     bx      r0                                      ;

Axe of Despair

0802CAE2 4D25     ldr     r5,=2023270h                            ;Axe of Despair
0802CAE4 4C25     ldr     r4,=2023480h                            ;
0802CAE6 78A1     ldrb    r1,[r4,2h]                              ;
0802CAE8 0088     lsl     r0,r1,2h                                ;
0802CAEA 1840     add     r0,r0,r1                                ;
0802CAEC 78E1     ldrb    r1,[r4,3h]                              ;
0802CAEE 1840     add     r0,r0,r1                                ;
0802CAF0 0080     lsl     r0,r0,2h                                ;
0802CAF2 1940     add     r0,r0,r5                                ;
0802CAF4 6800     ldr     r0,[r0]                                 ;
0802CAF6 8800     ldrh    r0,[r0]                                 ;
0802CAF8 F007FEDE bl      80348B8h                                ;
0802CAFC 2801     cmp     r0,1h                                   ;
0802CAFE D150     bne     802CBA2h                                ;
0802CB00 4A1F     ldr     r2,=20237D0h                            ;
0802CB02 7920     ldrb    r0,[r4,4h]                              ;
0802CB04 7090     strb    r0,[r2,2h]                              ;
0802CB06 7960     ldrb    r0,[r4,5h]                              ;
0802CB08 70D0     strb    r0,[r2,3h]                              ;
0802CB0A 7921     ldrb    r1,[r4,4h]                              ;
0802CB0C 0088     lsl     r0,r1,2h                                ;
0802CB0E 1840     add     r0,r0,r1                                ;
0802CB10 7961     ldrb    r1,[r4,5h]                              ;
0802CB12 1840     add     r0,r0,r1                                ;
0802CB14 0080     lsl     r0,r0,2h                                ;
0802CB16 1940     add     r0,r0,r5                                ;
0802CB18 6800     ldr     r0,[r0]                                 ;
0802CB1A 8800     ldrh    r0,[r0]                                 ;
0802CB1C 8010     strh    r0,[r2]                                 ;
0802CB1E F009FD97 bl      8036650h                                ;
0802CB22 2801     cmp     r0,1h                                   ;
0802CB24 D103     bne     802CB2Eh                                ;
0802CB26 4817     ldr     r0,=2020C38h                            ;
0802CB28 7800     ldrb    r0,[r0]                                 ;
0802CB2A 2800     cmp     r0,0h                                   ;
0802CB2C D02C     beq     802CB88h                                ;
0802CB2E 78A1     ldrb    r1,[r4,2h]                              ;
0802CB30 0088     lsl     r0,r1,2h                                ;
0802CB32 1840     add     r0,r0,r1                                ;
0802CB34 78E1     ldrb    r1,[r4,3h]                              ;
0802CB36 1840     add     r0,r0,r1                                ;
0802CB38 0080     lsl     r0,r0,2h                                ;
0802CB3A 1940     add     r0,r0,r5                                ;
0802CB3C 6800     ldr     r0,[r0]                                 ;
0802CB3E F7F8F8D1 bl      8024CE4h                                ;
0802CB42 7921     ldrb    r1,[r4,4h]                              ;
0802CB44 0088     lsl     r0,r1,2h                                ;
0802CB46 1840     add     r0,r0,r1                                ;
0802CB48 7964     ldrb    r4,[r4,5h]                              ;
0802CB4A 1900     add     r0,r0,r4                                ;
0802CB4C 0080     lsl     r0,r0,2h                                ;
0802CB4E 1940     add     r0,r0,r5                                ;
0802CB50 6800     ldr     r0,[r0]                                 ;
0802CB52 2100     mov     r1,0h                                   ;
0802CB54 F7FCF8D4 bl      8028D00h                                ;
0802CB58 480A     ldr     r0,=2020C38h                            ;
0802CB5A 7800     ldrb    r0,[r0]                                 ;
0802CB5C 2800     cmp     r0,0h                                   ;
0802CB5E D127     bne     802CBB0h                                ;
0802CB60 2041     mov     r0,41h                                  ;
0802CB62 F7F5FCED bl      8022540h                                ;
0802CB66 2098     mov     r0,98h                                  ;
0802CB68 0040     lsl     r0,r0,1h                                ;r0 = 304 ; Axe of Despair
0802CB6A F7F8FE99 bl      80258A0h                                ;
0802CB6E 2049     mov     r0,49h                                  ;
0802CB70 F7F5FCE6 bl      8022540h                                ;
0802CB74 E01C     b       802CBB0h                                ;
0802CB76 0000     lsl     r0,r0,0h                                ;
0802CB78 3270     add     r2,70h                                  ;
0802CB7A 0202     lsl     r2,r0,8h                                ;
0802CB7C 3480     add     r4,80h                                  ;
0802CB7E 0202     lsl     r2,r0,8h                                ;
0802CB80 37D0     add     r7,0D0h                                 ;
0802CB82 0202     lsl     r2,r0,8h                                ;
0802CB84 0C38     lsr     r0,r7,10h                               ;
0802CB86 0202     lsl     r2,r0,8h                                ;
0802CB88 78A0     ldrb    r0,[r4,2h]                              ;
0802CB8A 0081     lsl     r1,r0,2h                                ;
0802CB8C 1809     add     r1,r1,r0                                ;
0802CB8E 78E4     ldrb    r4,[r4,3h]                              ;
0802CB90 1909     add     r1,r1,r4                                ;
0802CB92 0089     lsl     r1,r1,2h                                ;
0802CB94 1949     add     r1,r1,r5                                ;
0802CB96 6808     ldr     r0,[r1]                                 ;
0802CB98 F7F8F8AE bl      8024CF8h                                ;
0802CB9C F009FCE0 bl      8036560h                                ;
0802CBA0 E006     b       802CBB0h                                ;
0802CBA2 4805     ldr     r0,=2020C38h                            ;
0802CBA4 7800     ldrb    r0,[r0]                                 ;
0802CBA6 2800     cmp     r0,0h                                   ;
0802CBA8 D102     bne     802CBB0h                                ;
0802CBAA 2039     mov     r0,39h                                  ;
0802CBAC F7F5FCC8 bl      8022540h                                ;
0802CBB0 BC30     pop     r4,r5                                   ;
0802CBB2 BC01     pop     r0                                      ;
0802CBB4 4700     bx      r0                                      ;

Laser Cannon Armor

0802CBBE 4D24     ldr     r5,=2023270h                            ;Laser Cannon Armor
0802CBC0 4C24     ldr     r4,=2023480h                            ;
0802CBC2 78A1     ldrb    r1,[r4,2h]                              ;
0802CBC4 0088     lsl     r0,r1,2h                                ;
0802CBC6 1840     add     r0,r0,r1                                ;
0802CBC8 78E1     ldrb    r1,[r4,3h]                              ;
0802CBCA 1840     add     r0,r0,r1                                ;
0802CBCC 0080     lsl     r0,r0,2h                                ;
0802CBCE 1940     add     r0,r0,r5                                ;
0802CBD0 6800     ldr     r0,[r0]                                 ;
0802CBD2 8800     ldrh    r0,[r0]                                 ;
0802CBD4 F007FE7E bl      80348D4h                                ;
0802CBD8 2801     cmp     r0,1h                                   ;
0802CBDA D150     bne     802CC7Eh                                ;
0802CBDC 4A1E     ldr     r2,=20237D0h                            ;
0802CBDE 7920     ldrb    r0,[r4,4h]                              ;
0802CBE0 7090     strb    r0,[r2,2h]                              ;
0802CBE2 7960     ldrb    r0,[r4,5h]                              ;
0802CBE4 70D0     strb    r0,[r2,3h]                              ;
0802CBE6 7921     ldrb    r1,[r4,4h]                              ;
0802CBE8 0088     lsl     r0,r1,2h                                ;
0802CBEA 1840     add     r0,r0,r1                                ;
0802CBEC 7961     ldrb    r1,[r4,5h]                              ;
0802CBEE 1840     add     r0,r0,r1                                ;
0802CBF0 0080     lsl     r0,r0,2h                                ;
0802CBF2 1940     add     r0,r0,r5                                ;
0802CBF4 6800     ldr     r0,[r0]                                 ;
0802CBF6 8800     ldrh    r0,[r0]                                 ;
0802CBF8 8010     strh    r0,[r2]                                 ;
0802CBFA F009FD29 bl      8036650h                                ;
0802CBFE 2801     cmp     r0,1h                                   ;
0802CC00 D103     bne     802CC0Ah                                ;
0802CC02 4816     ldr     r0,=2020C38h                            ;
0802CC04 7800     ldrb    r0,[r0]                                 ;
0802CC06 2800     cmp     r0,0h                                   ;
0802CC08 D02C     beq     802CC64h                                ;
0802CC0A 78A1     ldrb    r1,[r4,2h]                              ;
0802CC0C 0088     lsl     r0,r1,2h                                ;
0802CC0E 1840     add     r0,r0,r1                                ;
0802CC10 78E1     ldrb    r1,[r4,3h]                              ;
0802CC12 1840     add     r0,r0,r1                                ;
0802CC14 0080     lsl     r0,r0,2h                                ;
0802CC16 1940     add     r0,r0,r5                                ;
0802CC18 6800     ldr     r0,[r0]                                 ;
0802CC1A F7F8F863 bl      8024CE4h                                ;
0802CC1E 7921     ldrb    r1,[r4,4h]                              ;
0802CC20 0088     lsl     r0,r1,2h                                ;
0802CC22 1840     add     r0,r0,r1                                ;
0802CC24 7964     ldrb    r4,[r4,5h]                              ;
0802CC26 1900     add     r0,r0,r4                                ;
0802CC28 0080     lsl     r0,r0,2h                                ;
0802CC2A 1940     add     r0,r0,r5                                ;
0802CC2C 6800     ldr     r0,[r0]                                 ;
0802CC2E 2100     mov     r1,0h                                   ;
0802CC30 F7FCF866 bl      8028D00h                                ;
0802CC34 4809     ldr     r0,=2020C38h                            ;
0802CC36 7800     ldrb    r0,[r0]                                 ;
0802CC38 2800     cmp     r0,0h                                   ;
0802CC3A D127     bne     802CC8Ch                                ;
0802CC3C 2041     mov     r0,41h                                  ;
0802CC3E F7F5FC7F bl      8022540h                                ;
0802CC42 4807     ldr     r0,=131h                                ;r0 = 305 ; Laser Cannon Armor
0802CC44 F7F8FE2C bl      80258A0h                                ;
0802CC48 2049     mov     r0,49h                                  ;
0802CC4A F7F5FC79 bl      8022540h                                ;
0802CC4E E01D     b       802CC8Ch                                ;
0802CC50 3270     add     r2,70h                                  ;
0802CC52 0202     lsl     r2,r0,8h                                ;
0802CC54 3480     add     r4,80h                                  ;
0802CC56 0202     lsl     r2,r0,8h                                ;
0802CC58 37D0     add     r7,0D0h                                 ;
0802CC5A 0202     lsl     r2,r0,8h                                ;
0802CC5C 0C38     lsr     r0,r7,10h                               ;
0802CC5E 0202     lsl     r2,r0,8h                                ;
0802CC60 0131     lsl     r1,r6,4h                                ;
0802CC62 0000     lsl     r0,r0,0h                                ;
0802CC64 78A0     ldrb    r0,[r4,2h]                              ;
0802CC66 0081     lsl     r1,r0,2h                                ;
0802CC68 1809     add     r1,r1,r0                                ;
0802CC6A 78E4     ldrb    r4,[r4,3h]                              ;
0802CC6C 1909     add     r1,r1,r4                                ;
0802CC6E 0089     lsl     r1,r1,2h                                ;
0802CC70 1949     add     r1,r1,r5                                ;
0802CC72 6808     ldr     r0,[r1]                                 ;
0802CC74 F7F8F840 bl      8024CF8h                                ;
0802CC78 F009FC72 bl      8036560h                                ;
0802CC7C E006     b       802CC8Ch                                ;
0802CC7E 4805     ldr     r0,=2020C38h                            ;
0802CC80 7800     ldrb    r0,[r0]                                 ;
0802CC82 2800     cmp     r0,0h                                   ;
0802CC84 D102     bne     802CC8Ch                                ;
0802CC86 2039     mov     r0,39h                                  ;
0802CC88 F7F5FC5A bl      8022540h                                ;
0802CC8C BC30     pop     r4,r5                                   ;
0802CC8E BC01     pop     r0                                      ;
0802CC90 4700     bx      r0                                      ;

Insect Armor with Laser Cannon

0802CC9A 4D25     ldr     r5,=2023270h                            ;Insect Armor with Laser Cannon
0802CC9C 4C25     ldr     r4,=2023480h                            ;
0802CC9E 78A1     ldrb    r1,[r4,2h]                              ;
0802CCA0 0088     lsl     r0,r1,2h                                ;
0802CCA2 1840     add     r0,r0,r1                                ;
0802CCA4 78E1     ldrb    r1,[r4,3h]                              ;
0802CCA6 1840     add     r0,r0,r1                                ;
0802CCA8 0080     lsl     r0,r0,2h                                ;
0802CCAA 1940     add     r0,r0,r5                                ;
0802CCAC 6800     ldr     r0,[r0]                                 ;
0802CCAE 8800     ldrh    r0,[r0]                                 ;
0802CCB0 F007FE1E bl      80348F0h                                ;
0802CCB4 2801     cmp     r0,1h                                   ;
0802CCB6 D150     bne     802CD5Ah                                ;
0802CCB8 4A1F     ldr     r2,=20237D0h                            ;
0802CCBA 7920     ldrb    r0,[r4,4h]                              ;
0802CCBC 7090     strb    r0,[r2,2h]                              ;
0802CCBE 7960     ldrb    r0,[r4,5h]                              ;
0802CCC0 70D0     strb    r0,[r2,3h]                              ;
0802CCC2 7921     ldrb    r1,[r4,4h]                              ;
0802CCC4 0088     lsl     r0,r1,2h                                ;
0802CCC6 1840     add     r0,r0,r1                                ;
0802CCC8 7961     ldrb    r1,[r4,5h]                              ;
0802CCCA 1840     add     r0,r0,r1                                ;
0802CCCC 0080     lsl     r0,r0,2h                                ;
0802CCCE 1940     add     r0,r0,r5                                ;
0802CCD0 6800     ldr     r0,[r0]                                 ;
0802CCD2 8800     ldrh    r0,[r0]                                 ;
0802CCD4 8010     strh    r0,[r2]                                 ;
0802CCD6 F009FCBB bl      8036650h                                ;
0802CCDA 2801     cmp     r0,1h                                   ;
0802CCDC D103     bne     802CCE6h                                ;
0802CCDE 4817     ldr     r0,=2020C38h                            ;
0802CCE0 7800     ldrb    r0,[r0]                                 ;
0802CCE2 2800     cmp     r0,0h                                   ;
0802CCE4 D02C     beq     802CD40h                                ;
0802CCE6 78A1     ldrb    r1,[r4,2h]                              ;
0802CCE8 0088     lsl     r0,r1,2h                                ;
0802CCEA 1840     add     r0,r0,r1                                ;
0802CCEC 78E1     ldrb    r1,[r4,3h]                              ;
0802CCEE 1840     add     r0,r0,r1                                ;
0802CCF0 0080     lsl     r0,r0,2h                                ;
0802CCF2 1940     add     r0,r0,r5                                ;
0802CCF4 6800     ldr     r0,[r0]                                 ;
0802CCF6 F7F7FFF5 bl      8024CE4h                                ;
0802CCFA 7921     ldrb    r1,[r4,4h]                              ;
0802CCFC 0088     lsl     r0,r1,2h                                ;
0802CCFE 1840     add     r0,r0,r1                                ;
0802CD00 7964     ldrb    r4,[r4,5h]                              ;
0802CD02 1900     add     r0,r0,r4                                ;
0802CD04 0080     lsl     r0,r0,2h                                ;
0802CD06 1940     add     r0,r0,r5                                ;
0802CD08 6800     ldr     r0,[r0]                                 ;
0802CD0A 2100     mov     r1,0h                                   ;
0802CD0C F7FBFFF8 bl      8028D00h                                ;
0802CD10 480A     ldr     r0,=2020C38h                            ;
0802CD12 7800     ldrb    r0,[r0]                                 ;
0802CD14 2800     cmp     r0,0h                                   ;
0802CD16 D127     bne     802CD68h                                ;
0802CD18 2041     mov     r0,41h                                  ;
0802CD1A F7F5FC11 bl      8022540h                                ;
0802CD1E 2099     mov     r0,99h                                  ;
0802CD20 0040     lsl     r0,r0,1h                                ;r0 = 306 ; Insect Armor with Laser Cannon
0802CD22 F7F8FDBD bl      80258A0h                                ;
0802CD26 2049     mov     r0,49h                                  ;
0802CD28 F7F5FC0A bl      8022540h                                ;
0802CD2C E01C     b       802CD68h                                ;
0802CD2E 0000     lsl     r0,r0,0h                                ;
0802CD30 3270     add     r2,70h                                  ;
0802CD32 0202     lsl     r2,r0,8h                                ;
0802CD34 3480     add     r4,80h                                  ;
0802CD36 0202     lsl     r2,r0,8h                                ;
0802CD38 37D0     add     r7,0D0h                                 ;
0802CD3A 0202     lsl     r2,r0,8h                                ;
0802CD3C 0C38     lsr     r0,r7,10h                               ;
0802CD3E 0202     lsl     r2,r0,8h                                ;
0802CD40 78A0     ldrb    r0,[r4,2h]                              ;
0802CD42 0081     lsl     r1,r0,2h                                ;
0802CD44 1809     add     r1,r1,r0                                ;
0802CD46 78E4     ldrb    r4,[r4,3h]                              ;
0802CD48 1909     add     r1,r1,r4                                ;
0802CD4A 0089     lsl     r1,r1,2h                                ;
0802CD4C 1949     add     r1,r1,r5                                ;
0802CD4E 6808     ldr     r0,[r1]                                 ;
0802CD50 F7F7FFD2 bl      8024CF8h                                ;
0802CD54 F009FC04 bl      8036560h                                ;
0802CD58 E006     b       802CD68h                                ;
0802CD5A 4805     ldr     r0,=2020C38h                            ;
0802CD5C 7800     ldrb    r0,[r0]                                 ;
0802CD5E 2800     cmp     r0,0h                                   ;
0802CD60 D102     bne     802CD68h                                ;
0802CD62 2039     mov     r0,39h                                  ;
0802CD64 F7F5FBEC bl      8022540h                                ;
0802CD68 BC30     pop     r4,r5                                   ;
0802CD6A BC01     pop     r0                                      ;
0802CD6C 4700     bx      r0                                      ;

Elf's Light

0802CD76 4D24     ldr     r5,=2023270h                            ;Elf's Light
0802CD78 4C24     ldr     r4,=2023480h                            ;
0802CD7A 78A1     ldrb    r1,[r4,2h]                              ;
0802CD7C 0088     lsl     r0,r1,2h                                ;
0802CD7E 1840     add     r0,r0,r1                                ;
0802CD80 78E1     ldrb    r1,[r4,3h]                              ;
0802CD82 1840     add     r0,r0,r1                                ;
0802CD84 0080     lsl     r0,r0,2h                                ;
0802CD86 1940     add     r0,r0,r5                                ;
0802CD88 6800     ldr     r0,[r0]                                 ;
0802CD8A 8800     ldrh    r0,[r0]                                 ;
0802CD8C F007FDBE bl      803490Ch                                ;
0802CD90 2801     cmp     r0,1h                                   ;
0802CD92 D150     bne     802CE36h                                ;
0802CD94 4A1E     ldr     r2,=20237D0h                            ;
0802CD96 7920     ldrb    r0,[r4,4h]                              ;
0802CD98 7090     strb    r0,[r2,2h]                              ;
0802CD9A 7960     ldrb    r0,[r4,5h]                              ;
0802CD9C 70D0     strb    r0,[r2,3h]                              ;
0802CD9E 7921     ldrb    r1,[r4,4h]                              ;
0802CDA0 0088     lsl     r0,r1,2h                                ;
0802CDA2 1840     add     r0,r0,r1                                ;
0802CDA4 7961     ldrb    r1,[r4,5h]                              ;
0802CDA6 1840     add     r0,r0,r1                                ;
0802CDA8 0080     lsl     r0,r0,2h                                ;
0802CDAA 1940     add     r0,r0,r5                                ;
0802CDAC 6800     ldr     r0,[r0]                                 ;
0802CDAE 8800     ldrh    r0,[r0]                                 ;
0802CDB0 8010     strh    r0,[r2]                                 ;
0802CDB2 F009FC4D bl      8036650h                                ;
0802CDB6 2801     cmp     r0,1h                                   ;
0802CDB8 D103     bne     802CDC2h                                ;
0802CDBA 4816     ldr     r0,=2020C38h                            ;
0802CDBC 7800     ldrb    r0,[r0]                                 ;
0802CDBE 2800     cmp     r0,0h                                   ;
0802CDC0 D02C     beq     802CE1Ch                                ;
0802CDC2 78A1     ldrb    r1,[r4,2h]                              ;
0802CDC4 0088     lsl     r0,r1,2h                                ;
0802CDC6 1840     add     r0,r0,r1                                ;
0802CDC8 78E1     ldrb    r1,[r4,3h]                              ;
0802CDCA 1840     add     r0,r0,r1                                ;
0802CDCC 0080     lsl     r0,r0,2h                                ;
0802CDCE 1940     add     r0,r0,r5                                ;
0802CDD0 6800     ldr     r0,[r0]                                 ;
0802CDD2 F7F7FF87 bl      8024CE4h                                ;
0802CDD6 7921     ldrb    r1,[r4,4h]                              ;
0802CDD8 0088     lsl     r0,r1,2h                                ;
0802CDDA 1840     add     r0,r0,r1                                ;
0802CDDC 7964     ldrb    r4,[r4,5h]                              ;
0802CDDE 1900     add     r0,r0,r4                                ;
0802CDE0 0080     lsl     r0,r0,2h                                ;
0802CDE2 1940     add     r0,r0,r5                                ;
0802CDE4 6800     ldr     r0,[r0]                                 ;
0802CDE6 2100     mov     r1,0h                                   ;
0802CDE8 F7FBFF8A bl      8028D00h                                ;
0802CDEC 4809     ldr     r0,=2020C38h                            ;
0802CDEE 7800     ldrb    r0,[r0]                                 ;
0802CDF0 2800     cmp     r0,0h                                   ;
0802CDF2 D127     bne     802CE44h                                ;
0802CDF4 2041     mov     r0,41h                                  ;
0802CDF6 F7F5FBA3 bl      8022540h                                ;
0802CDFA 4807     ldr     r0,=133h                                ;r0 = 307 ; Elf's Light
0802CDFC F7F8FD50 bl      80258A0h                                ;
0802CE00 2049     mov     r0,49h                                  ;
0802CE02 F7F5FB9D bl      8022540h                                ;
0802CE06 E01D     b       802CE44h                                ;
0802CE08 3270     add     r2,70h                                  ;
0802CE0A 0202     lsl     r2,r0,8h                                ;
0802CE0C 3480     add     r4,80h                                  ;
0802CE0E 0202     lsl     r2,r0,8h                                ;
0802CE10 37D0     add     r7,0D0h                                 ;
0802CE12 0202     lsl     r2,r0,8h                                ;
0802CE14 0C38     lsr     r0,r7,10h                               ;
0802CE16 0202     lsl     r2,r0,8h                                ;
0802CE18 0133     lsl     r3,r6,4h                                ;
0802CE1A 0000     lsl     r0,r0,0h                                ;
0802CE1C 78A0     ldrb    r0,[r4,2h]                              ;
0802CE1E 0081     lsl     r1,r0,2h                                ;
0802CE20 1809     add     r1,r1,r0                                ;
0802CE22 78E4     ldrb    r4,[r4,3h]                              ;
0802CE24 1909     add     r1,r1,r4                                ;
0802CE26 0089     lsl     r1,r1,2h                                ;
0802CE28 1949     add     r1,r1,r5                                ;
0802CE2A 6808     ldr     r0,[r1]                                 ;
0802CE2C F7F7FF64 bl      8024CF8h                                ;
0802CE30 F009FB96 bl      8036560h                                ;
0802CE34 E006     b       802CE44h                                ;
0802CE36 4805     ldr     r0,=2020C38h                            ;
0802CE38 7800     ldrb    r0,[r0]                                 ;
0802CE3A 2800     cmp     r0,0h                                   ;
0802CE3C D102     bne     802CE44h                                ;
0802CE3E 2039     mov     r0,39h                                  ;
0802CE40 F7F5FB7E bl      8022540h                                ;
0802CE44 BC30     pop     r4,r5                                   ;
0802CE46 BC01     pop     r0                                      ;
0802CE48 4700     bx      r0                                      ;

Beast Fangs

0802CE52 4D25     ldr     r5,=2023270h                            ;Beast Fangs
0802CE54 4C25     ldr     r4,=2023480h                            ;
0802CE56 78A1     ldrb    r1,[r4,2h]                              ;
0802CE58 0088     lsl     r0,r1,2h                                ;
0802CE5A 1840     add     r0,r0,r1                                ;
0802CE5C 78E1     ldrb    r1,[r4,3h]                              ;
0802CE5E 1840     add     r0,r0,r1                                ;
0802CE60 0080     lsl     r0,r0,2h                                ;
0802CE62 1940     add     r0,r0,r5                                ;
0802CE64 6800     ldr     r0,[r0]                                 ;
0802CE66 8800     ldrh    r0,[r0]                                 ;
0802CE68 F007FD5E bl      8034928h                                ;
0802CE6C 2801     cmp     r0,1h                                   ;
0802CE6E D150     bne     802CF12h                                ;
0802CE70 4A1F     ldr     r2,=20237D0h                            ;
0802CE72 7920     ldrb    r0,[r4,4h]                              ;
0802CE74 7090     strb    r0,[r2,2h]                              ;
0802CE76 7960     ldrb    r0,[r4,5h]                              ;
0802CE78 70D0     strb    r0,[r2,3h]                              ;
0802CE7A 7921     ldrb    r1,[r4,4h]                              ;
0802CE7C 0088     lsl     r0,r1,2h                                ;
0802CE7E 1840     add     r0,r0,r1                                ;
0802CE80 7961     ldrb    r1,[r4,5h]                              ;
0802CE82 1840     add     r0,r0,r1                                ;
0802CE84 0080     lsl     r0,r0,2h                                ;
0802CE86 1940     add     r0,r0,r5                                ;
0802CE88 6800     ldr     r0,[r0]                                 ;
0802CE8A 8800     ldrh    r0,[r0]                                 ;
0802CE8C 8010     strh    r0,[r2]                                 ;
0802CE8E F009FBDF bl      8036650h                                ;
0802CE92 2801     cmp     r0,1h                                   ;
0802CE94 D103     bne     802CE9Eh                                ;
0802CE96 4817     ldr     r0,=2020C38h                            ;
0802CE98 7800     ldrb    r0,[r0]                                 ;
0802CE9A 2800     cmp     r0,0h                                   ;
0802CE9C D02C     beq     802CEF8h                                ;
0802CE9E 78A1     ldrb    r1,[r4,2h]                              ;
0802CEA0 0088     lsl     r0,r1,2h                                ;
0802CEA2 1840     add     r0,r0,r1                                ;
0802CEA4 78E1     ldrb    r1,[r4,3h]                              ;
0802CEA6 1840     add     r0,r0,r1                                ;
0802CEA8 0080     lsl     r0,r0,2h                                ;
0802CEAA 1940     add     r0,r0,r5                                ;
0802CEAC 6800     ldr     r0,[r0]                                 ;
0802CEAE F7F7FF19 bl      8024CE4h                                ;
0802CEB2 7921     ldrb    r1,[r4,4h]                              ;
0802CEB4 0088     lsl     r0,r1,2h                                ;
0802CEB6 1840     add     r0,r0,r1                                ;
0802CEB8 7964     ldrb    r4,[r4,5h]                              ;
0802CEBA 1900     add     r0,r0,r4                                ;
0802CEBC 0080     lsl     r0,r0,2h                                ;
0802CEBE 1940     add     r0,r0,r5                                ;
0802CEC0 6800     ldr     r0,[r0]                                 ;
0802CEC2 2100     mov     r1,0h                                   ;
0802CEC4 F7FBFF1C bl      8028D00h                                ;
0802CEC8 480A     ldr     r0,=2020C38h                            ;
0802CECA 7800     ldrb    r0,[r0]                                 ;
0802CECC 2800     cmp     r0,0h                                   ;
0802CECE D127     bne     802CF20h                                ;
0802CED0 2041     mov     r0,41h                                  ;
0802CED2 F7F5FB35 bl      8022540h                                ;
0802CED6 209A     mov     r0,9Ah                                  ;
0802CED8 0040     lsl     r0,r0,1h                                ;r0 = 308 ; Beast Fangs
0802CEDA F7F8FCE1 bl      80258A0h                                ;
0802CEDE 2049     mov     r0,49h                                  ;
0802CEE0 F7F5FB2E bl      8022540h                                ;
0802CEE4 E01C     b       802CF20h                                ;
0802CEE6 0000     lsl     r0,r0,0h                                ;
0802CEE8 3270     add     r2,70h                                  ;
0802CEEA 0202     lsl     r2,r0,8h                                ;
0802CEEC 3480     add     r4,80h                                  ;
0802CEEE 0202     lsl     r2,r0,8h                                ;
0802CEF0 37D0     add     r7,0D0h                                 ;
0802CEF2 0202     lsl     r2,r0,8h                                ;
0802CEF4 0C38     lsr     r0,r7,10h                               ;
0802CEF6 0202     lsl     r2,r0,8h                                ;
0802CEF8 78A0     ldrb    r0,[r4,2h]                              ;
0802CEFA 0081     lsl     r1,r0,2h                                ;
0802CEFC 1809     add     r1,r1,r0                                ;
0802CEFE 78E4     ldrb    r4,[r4,3h]                              ;
0802CF00 1909     add     r1,r1,r4                                ;
0802CF02 0089     lsl     r1,r1,2h                                ;
0802CF04 1949     add     r1,r1,r5                                ;
0802CF06 6808     ldr     r0,[r1]                                 ;
0802CF08 F7F7FEF6 bl      8024CF8h                                ;
0802CF0C F009FB28 bl      8036560h                                ;
0802CF10 E006     b       802CF20h                                ;
0802CF12 4805     ldr     r0,=2020C38h                            ;
0802CF14 7800     ldrb    r0,[r0]                                 ;
0802CF16 2800     cmp     r0,0h                                   ;
0802CF18 D102     bne     802CF20h                                ;
0802CF1A 2039     mov     r0,39h                                  ;
0802CF1C F7F5FB10 bl      8022540h                                ;
0802CF20 BC30     pop     r4,r5                                   ;
0802CF22 BC01     pop     r0                                      ;
0802CF24 4700     bx      r0                                      ;

Steel Shell

0802CF2E 4D24     ldr     r5,=2023270h                            ;Steel Shell
0802CF30 4C24     ldr     r4,=2023480h                            ;
0802CF32 78A1     ldrb    r1,[r4,2h]                              ;
0802CF34 0088     lsl     r0,r1,2h                                ;
0802CF36 1840     add     r0,r0,r1                                ;
0802CF38 78E1     ldrb    r1,[r4,3h]                              ;
0802CF3A 1840     add     r0,r0,r1                                ;
0802CF3C 0080     lsl     r0,r0,2h                                ;
0802CF3E 1940     add     r0,r0,r5                                ;
0802CF40 6800     ldr     r0,[r0]                                 ;
0802CF42 8800     ldrh    r0,[r0]                                 ;
0802CF44 F007FCFE bl      8034944h                                ;
0802CF48 2801     cmp     r0,1h                                   ;
0802CF4A D150     bne     802CFEEh                                ;
0802CF4C 4A1E     ldr     r2,=20237D0h                            ;
0802CF4E 7920     ldrb    r0,[r4,4h]                              ;
0802CF50 7090     strb    r0,[r2,2h]                              ;
0802CF52 7960     ldrb    r0,[r4,5h]                              ;
0802CF54 70D0     strb    r0,[r2,3h]                              ;
0802CF56 7921     ldrb    r1,[r4,4h]                              ;
0802CF58 0088     lsl     r0,r1,2h                                ;
0802CF5A 1840     add     r0,r0,r1                                ;
0802CF5C 7961     ldrb    r1,[r4,5h]                              ;
0802CF5E 1840     add     r0,r0,r1                                ;
0802CF60 0080     lsl     r0,r0,2h                                ;
0802CF62 1940     add     r0,r0,r5                                ;
0802CF64 6800     ldr     r0,[r0]                                 ;
0802CF66 8800     ldrh    r0,[r0]                                 ;
0802CF68 8010     strh    r0,[r2]                                 ;
0802CF6A F009FB71 bl      8036650h                                ;
0802CF6E 2801     cmp     r0,1h                                   ;
0802CF70 D103     bne     802CF7Ah                                ;
0802CF72 4816     ldr     r0,=2020C38h                            ;
0802CF74 7800     ldrb    r0,[r0]                                 ;
0802CF76 2800     cmp     r0,0h                                   ;
0802CF78 D02C     beq     802CFD4h                                ;
0802CF7A 78A1     ldrb    r1,[r4,2h]                              ;
0802CF7C 0088     lsl     r0,r1,2h                                ;
0802CF7E 1840     add     r0,r0,r1                                ;
0802CF80 78E1     ldrb    r1,[r4,3h]                              ;
0802CF82 1840     add     r0,r0,r1                                ;
0802CF84 0080     lsl     r0,r0,2h                                ;
0802CF86 1940     add     r0,r0,r5                                ;
0802CF88 6800     ldr     r0,[r0]                                 ;
0802CF8A F7F7FEAB bl      8024CE4h                                ;
0802CF8E 7921     ldrb    r1,[r4,4h]                              ;
0802CF90 0088     lsl     r0,r1,2h                                ;
0802CF92 1840     add     r0,r0,r1                                ;
0802CF94 7964     ldrb    r4,[r4,5h]                              ;
0802CF96 1900     add     r0,r0,r4                                ;
0802CF98 0080     lsl     r0,r0,2h                                ;
0802CF9A 1940     add     r0,r0,r5                                ;
0802CF9C 6800     ldr     r0,[r0]                                 ;
0802CF9E 2100     mov     r1,0h                                   ;
0802CFA0 F7FBFEAE bl      8028D00h                                ;
0802CFA4 4809     ldr     r0,=2020C38h                            ;
0802CFA6 7800     ldrb    r0,[r0]                                 ;
0802CFA8 2800     cmp     r0,0h                                   ;
0802CFAA D127     bne     802CFFCh                                ;
0802CFAC 2041     mov     r0,41h                                  ;
0802CFAE F7F5FAC7 bl      8022540h                                ;
0802CFB2 4807     ldr     r0,=135h                                ;r0 = 309 ; Steel Shell
0802CFB4 F7F8FC74 bl      80258A0h                                ;
0802CFB8 2049     mov     r0,49h                                  ;r0 = 73
0802CFBA F7F5FAC1 bl      8022540h                                ;
0802CFBE E01D     b       802CFFCh                                ;
0802CFC0 3270     add     r2,70h                                  ;r2 += 112
0802CFC2 0202     lsl     r2,r0,8h                                ;
0802CFC4 3480     add     r4,80h                                  ;
0802CFC6 0202     lsl     r2,r0,8h                                ;
0802CFC8 37D0     add     r7,0D0h                                 ;
0802CFCA 0202     lsl     r2,r0,8h                                ;
0802CFCC 0C38     lsr     r0,r7,10h                               ;
0802CFCE 0202     lsl     r2,r0,8h                                ;
0802CFD0 0135     lsl     r5,r6,4h                                ;
0802CFD2 0000     lsl     r0,r0,0h                                ;
0802CFD4 78A0     ldrb    r0,[r4,2h]                              ;
0802CFD6 0081     lsl     r1,r0,2h                                ;
0802CFD8 1809     add     r1,r1,r0                                ;
0802CFDA 78E4     ldrb    r4,[r4,3h]                              ;
0802CFDC 1909     add     r1,r1,r4                                ;
0802CFDE 0089     lsl     r1,r1,2h                                ;
0802CFE0 1949     add     r1,r1,r5                                ;
0802CFE2 6808     ldr     r0,[r1]                                 ;
0802CFE4 F7F7FE88 bl      8024CF8h                                ;
0802CFE8 F009FABA bl      8036560h                                ;
0802CFEC E006     b       802CFFCh                                ;
0802CFEE 4805     ldr     r0,=2020C38h                            ;
0802CFF0 7800     ldrb    r0,[r0]                                 ;
0802CFF2 2800     cmp     r0,0h                                   ;
0802CFF4 D102     bne     802CFFCh                                ;
0802CFF6 2039     mov     r0,39h                                  ;
0802CFF8 F7F5FAA2 bl      8022540h                                ;
0802CFFC BC30     pop     r4,r5                                   ;
0802CFFE BC01     pop     r0                                      ;
0802D000 4700     bx      r0                                      ;

Vile Germs

0802D00A 4D25     ldr     r5,=2023270h                            ;Vile Germs
0802D00C 4C25     ldr     r4,=2023480h                            ;
0802D00E 78A1     ldrb    r1,[r4,2h]                              ;
0802D010 0088     lsl     r0,r1,2h                                ;
0802D012 1840     add     r0,r0,r1                                ;
0802D014 78E1     ldrb    r1,[r4,3h]                              ;
0802D016 1840     add     r0,r0,r1                                ;
0802D018 0080     lsl     r0,r0,2h                                ;
0802D01A 1940     add     r0,r0,r5                                ;
0802D01C 6800     ldr     r0,[r0]                                 ;
0802D01E 8800     ldrh    r0,[r0]                                 ;
0802D020 F007FC9E bl      8034960h                                ;
0802D024 2801     cmp     r0,1h                                   ;
0802D026 D150     bne     802D0CAh                                ;
0802D028 4A1F     ldr     r2,=20237D0h                            ;
0802D02A 7920     ldrb    r0,[r4,4h]                              ;
0802D02C 7090     strb    r0,[r2,2h]                              ;
0802D02E 7960     ldrb    r0,[r4,5h]                              ;
0802D030 70D0     strb    r0,[r2,3h]                              ;
0802D032 7921     ldrb    r1,[r4,4h]                              ;
0802D034 0088     lsl     r0,r1,2h                                ;
0802D036 1840     add     r0,r0,r1                                ;
0802D038 7961     ldrb    r1,[r4,5h]                              ;
0802D03A 1840     add     r0,r0,r1                                ;
0802D03C 0080     lsl     r0,r0,2h                                ;
0802D03E 1940     add     r0,r0,r5                                ;
0802D040 6800     ldr     r0,[r0]                                 ;
0802D042 8800     ldrh    r0,[r0]                                 ;
0802D044 8010     strh    r0,[r2]                                 ;
0802D046 F009FB03 bl      8036650h                                ;
0802D04A 2801     cmp     r0,1h                                   ;
0802D04C D103     bne     802D056h                                ;
0802D04E 4817     ldr     r0,=2020C38h                            ;
0802D050 7800     ldrb    r0,[r0]                                 ;
0802D052 2800     cmp     r0,0h                                   ;
0802D054 D02C     beq     802D0B0h                                ;
0802D056 78A1     ldrb    r1,[r4,2h]                              ;
0802D058 0088     lsl     r0,r1,2h                                ;
0802D05A 1840     add     r0,r0,r1                                ;
0802D05C 78E1     ldrb    r1,[r4,3h]                              ;
0802D05E 1840     add     r0,r0,r1                                ;
0802D060 0080     lsl     r0,r0,2h                                ;
0802D062 1940     add     r0,r0,r5                                ;
0802D064 6800     ldr     r0,[r0]                                 ;
0802D066 F7F7FE3D bl      8024CE4h                                ;
0802D06A 7921     ldrb    r1,[r4,4h]                              ;
0802D06C 0088     lsl     r0,r1,2h                                ;
0802D06E 1840     add     r0,r0,r1                                ;
0802D070 7964     ldrb    r4,[r4,5h]                              ;
0802D072 1900     add     r0,r0,r4                                ;
0802D074 0080     lsl     r0,r0,2h                                ;
0802D076 1940     add     r0,r0,r5                                ;
0802D078 6800     ldr     r0,[r0]                                 ;
0802D07A 2100     mov     r1,0h                                   ;
0802D07C F7FBFE40 bl      8028D00h                                ;
0802D080 480A     ldr     r0,=2020C38h                            ;
0802D082 7800     ldrb    r0,[r0]                                 ;
0802D084 2800     cmp     r0,0h                                   ;
0802D086 D127     bne     802D0D8h                                ;
0802D088 2041     mov     r0,41h                                  ;
0802D08A F7F5FA59 bl      8022540h                                ;
0802D08E 209B     mov     r0,9Bh                                  ;
0802D090 0040     lsl     r0,r0,1h                                ;r0 = 310 ; Vile Germs
0802D092 F7F8FC05 bl      80258A0h                                ;
0802D096 2049     mov     r0,49h                                  ;
0802D098 F7F5FA52 bl      8022540h                                ;
0802D09C E01C     b       802D0D8h                                ;
0802D09E 0000     lsl     r0,r0,0h                                ;
0802D0A0 3270     add     r2,70h                                  ;
0802D0A2 0202     lsl     r2,r0,8h                                ;
0802D0A4 3480     add     r4,80h                                  ;
0802D0A6 0202     lsl     r2,r0,8h                                ;
0802D0A8 37D0     add     r7,0D0h                                 ;
0802D0AA 0202     lsl     r2,r0,8h                                ;
0802D0AC 0C38     lsr     r0,r7,10h                               ;
0802D0AE 0202     lsl     r2,r0,8h                                ;
0802D0B0 78A0     ldrb    r0,[r4,2h]                              ;
0802D0B2 0081     lsl     r1,r0,2h                                ;
0802D0B4 1809     add     r1,r1,r0                                ;
0802D0B6 78E4     ldrb    r4,[r4,3h]                              ;
0802D0B8 1909     add     r1,r1,r4                                ;
0802D0BA 0089     lsl     r1,r1,2h                                ;
0802D0BC 1949     add     r1,r1,r5                                ;
0802D0BE 6808     ldr     r0,[r1]                                 ;
0802D0C0 F7F7FE1A bl      8024CF8h                                ;
0802D0C4 F009FA4C bl      8036560h                                ;
0802D0C8 E006     b       802D0D8h                                ;
0802D0CA 4805     ldr     r0,=2020C38h                            ;
0802D0CC 7800     ldrb    r0,[r0]                                 ;
0802D0CE 2800     cmp     r0,0h                                   ;
0802D0D0 D102     bne     802D0D8h                                ;
0802D0D2 2039     mov     r0,39h                                  ;
0802D0D4 F7F5FA34 bl      8022540h                                ;
0802D0D8 BC30     pop     r4,r5                                   ;
0802D0DA BC01     pop     r0                                      ;
0802D0DC 4700     bx      r0                                      ;

Black Pendant

0802D0E6 4D24     ldr     r5,=2023270h                            ;Black Pendant
0802D0E8 4C24     ldr     r4,=2023480h                            ;
0802D0EA 78A1     ldrb    r1,[r4,2h]                              ;
0802D0EC 0088     lsl     r0,r1,2h                                ;
0802D0EE 1840     add     r0,r0,r1                                ;
0802D0F0 78E1     ldrb    r1,[r4,3h]                              ;
0802D0F2 1840     add     r0,r0,r1                                ;
0802D0F4 0080     lsl     r0,r0,2h                                ;
0802D0F6 1940     add     r0,r0,r5                                ;
0802D0F8 6800     ldr     r0,[r0]                                 ;
0802D0FA 8800     ldrh    r0,[r0]                                 ;
0802D0FC F007FC3E bl      803497Ch                                ;
0802D100 2801     cmp     r0,1h                                   ;
0802D102 D150     bne     802D1A6h                                ;
0802D104 4A1E     ldr     r2,=20237D0h                            ;
0802D106 7920     ldrb    r0,[r4,4h]                              ;
0802D108 7090     strb    r0,[r2,2h]                              ;
0802D10A 7960     ldrb    r0,[r4,5h]                              ;
0802D10C 70D0     strb    r0,[r2,3h]                              ;
0802D10E 7921     ldrb    r1,[r4,4h]                              ;
0802D110 0088     lsl     r0,r1,2h                                ;
0802D112 1840     add     r0,r0,r1                                ;
0802D114 7961     ldrb    r1,[r4,5h]                              ;
0802D116 1840     add     r0,r0,r1                                ;
0802D118 0080     lsl     r0,r0,2h                                ;
0802D11A 1940     add     r0,r0,r5                                ;
0802D11C 6800     ldr     r0,[r0]                                 ;
0802D11E 8800     ldrh    r0,[r0]                                 ;
0802D120 8010     strh    r0,[r2]                                 ;
0802D122 F009FA95 bl      8036650h                                ;
0802D126 2801     cmp     r0,1h                                   ;
0802D128 D103     bne     802D132h                                ;
0802D12A 4816     ldr     r0,=2020C38h                            ;
0802D12C 7800     ldrb    r0,[r0]                                 ;
0802D12E 2800     cmp     r0,0h                                   ;
0802D130 D02C     beq     802D18Ch                                ;
0802D132 78A1     ldrb    r1,[r4,2h]                              ;
0802D134 0088     lsl     r0,r1,2h                                ;
0802D136 1840     add     r0,r0,r1                                ;
0802D138 78E1     ldrb    r1,[r4,3h]                              ;
0802D13A 1840     add     r0,r0,r1                                ;
0802D13C 0080     lsl     r0,r0,2h                                ;
0802D13E 1940     add     r0,r0,r5                                ;
0802D140 6800     ldr     r0,[r0]                                 ;
0802D142 F7F7FDCF bl      8024CE4h                                ;
0802D146 7921     ldrb    r1,[r4,4h]                              ;
0802D148 0088     lsl     r0,r1,2h                                ;
0802D14A 1840     add     r0,r0,r1                                ;
0802D14C 7964     ldrb    r4,[r4,5h]                              ;
0802D14E 1900     add     r0,r0,r4                                ;
0802D150 0080     lsl     r0,r0,2h                                ;
0802D152 1940     add     r0,r0,r5                                ;
0802D154 6800     ldr     r0,[r0]                                 ;
0802D156 2100     mov     r1,0h                                   ;
0802D158 F7FBFDD2 bl      8028D00h                                ;
0802D15C 4809     ldr     r0,=2020C38h                            ;
0802D15E 7800     ldrb    r0,[r0]                                 ;
0802D160 2800     cmp     r0,0h                                   ;
0802D162 D127     bne     802D1B4h                                ;
0802D164 2041     mov     r0,41h                                  ;
0802D166 F7F5F9EB bl      8022540h                                ;
0802D16A 4807     ldr     r0,=137h                                ;r0 = 311 ; Black Pendant
0802D16C F7F8FB98 bl      80258A0h                                ;
0802D170 2049     mov     r0,49h                                  ;
0802D172 F7F5F9E5 bl      8022540h                                ;
0802D176 E01D     b       802D1B4h                                ;
0802D178 3270     add     r2,70h                                  ;
0802D17A 0202     lsl     r2,r0,8h                                ;
0802D17C 3480     add     r4,80h                                  ;
0802D17E 0202     lsl     r2,r0,8h                                ;
0802D180 37D0     add     r7,0D0h                                 ;
0802D182 0202     lsl     r2,r0,8h                                ;
0802D184 0C38     lsr     r0,r7,10h                               ;
0802D186 0202     lsl     r2,r0,8h                                ;
0802D188 0137     lsl     r7,r6,4h                                ;
0802D18A 0000     lsl     r0,r0,0h                                ;
0802D18C 78A0     ldrb    r0,[r4,2h]                              ;
0802D18E 0081     lsl     r1,r0,2h                                ;
0802D190 1809     add     r1,r1,r0                                ;
0802D192 78E4     ldrb    r4,[r4,3h]                              ;
0802D194 1909     add     r1,r1,r4                                ;
0802D196 0089     lsl     r1,r1,2h                                ;
0802D198 1949     add     r1,r1,r5                                ;
0802D19A 6808     ldr     r0,[r1]                                 ;
0802D19C F7F7FDAC bl      8024CF8h                                ;
0802D1A0 F009F9DE bl      8036560h                                ;
0802D1A4 E006     b       802D1B4h                                ;
0802D1A6 4805     ldr     r0,=2020C38h                            ;
0802D1A8 7800     ldrb    r0,[r0]                                 ;
0802D1AA 2800     cmp     r0,0h                                   ;
0802D1AC D102     bne     802D1B4h                                ;
0802D1AE 2039     mov     r0,39h                                  ;
0802D1B0 F7F5F9C6 bl      8022540h                                ;
0802D1B4 BC30     pop     r4,r5                                   ;
0802D1B6 BC01     pop     r0                                      ;
0802D1B8 4700     bx      r0                                      ;

Silver Bow and Arrow

0802D1C2 4D25     ldr     r5,=2023270h                            ;Silver Bow and Arrow
0802D1C4 4C25     ldr     r4,=2023480h                            ;
0802D1C6 78A1     ldrb    r1,[r4,2h]                              ;
0802D1C8 0088     lsl     r0,r1,2h                                ;
0802D1CA 1840     add     r0,r0,r1                                ;
0802D1CC 78E1     ldrb    r1,[r4,3h]                              ;
0802D1CE 1840     add     r0,r0,r1                                ;
0802D1D0 0080     lsl     r0,r0,2h                                ;
0802D1D2 1940     add     r0,r0,r5                                ;
0802D1D4 6800     ldr     r0,[r0]                                 ;
0802D1D6 8800     ldrh    r0,[r0]                                 ;
0802D1D8 F007FBDE bl      8034998h                                ;
0802D1DC 2801     cmp     r0,1h                                   ;
0802D1DE D150     bne     802D282h                                ;
0802D1E0 4A1F     ldr     r2,=20237D0h                            ;
0802D1E2 7920     ldrb    r0,[r4,4h]                              ;
0802D1E4 7090     strb    r0,[r2,2h]                              ;
0802D1E6 7960     ldrb    r0,[r4,5h]                              ;
0802D1E8 70D0     strb    r0,[r2,3h]                              ;
0802D1EA 7921     ldrb    r1,[r4,4h]                              ;
0802D1EC 0088     lsl     r0,r1,2h                                ;
0802D1EE 1840     add     r0,r0,r1                                ;
0802D1F0 7961     ldrb    r1,[r4,5h]                              ;
0802D1F2 1840     add     r0,r0,r1                                ;
0802D1F4 0080     lsl     r0,r0,2h                                ;
0802D1F6 1940     add     r0,r0,r5                                ;
0802D1F8 6800     ldr     r0,[r0]                                 ;
0802D1FA 8800     ldrh    r0,[r0]                                 ;
0802D1FC 8010     strh    r0,[r2]                                 ;
0802D1FE F009FA27 bl      8036650h                                ;
0802D202 2801     cmp     r0,1h                                   ;
0802D204 D103     bne     802D20Eh                                ;
0802D206 4817     ldr     r0,=2020C38h                            ;
0802D208 7800     ldrb    r0,[r0]                                 ;
0802D20A 2800     cmp     r0,0h                                   ;
0802D20C D02C     beq     802D268h                                ;
0802D20E 78A1     ldrb    r1,[r4,2h]                              ;
0802D210 0088     lsl     r0,r1,2h                                ;
0802D212 1840     add     r0,r0,r1                                ;
0802D214 78E1     ldrb    r1,[r4,3h]                              ;
0802D216 1840     add     r0,r0,r1                                ;
0802D218 0080     lsl     r0,r0,2h                                ;
0802D21A 1940     add     r0,r0,r5                                ;
0802D21C 6800     ldr     r0,[r0]                                 ;
0802D21E F7F7FD61 bl      8024CE4h                                ;
0802D222 7921     ldrb    r1,[r4,4h]                              ;
0802D224 0088     lsl     r0,r1,2h                                ;
0802D226 1840     add     r0,r0,r1                                ;
0802D228 7964     ldrb    r4,[r4,5h]                              ;
0802D22A 1900     add     r0,r0,r4                                ;
0802D22C 0080     lsl     r0,r0,2h                                ;
0802D22E 1940     add     r0,r0,r5                                ;
0802D230 6800     ldr     r0,[r0]                                 ;
0802D232 2100     mov     r1,0h                                   ;
0802D234 F7FBFD64 bl      8028D00h                                ;
0802D238 480A     ldr     r0,=2020C38h                            ;
0802D23A 7800     ldrb    r0,[r0]                                 ;
0802D23C 2800     cmp     r0,0h                                   ;
0802D23E D127     bne     802D290h                                ;
0802D240 2041     mov     r0,41h                                  ;
0802D242 F7F5F97D bl      8022540h                                ;
0802D246 209C     mov     r0,9Ch                                  ;
0802D248 0040     lsl     r0,r0,1h                                ;r0 = 312 ; Silver Bow and Arrow
0802D24A F7F8FB29 bl      80258A0h                                ;
0802D24E 2049     mov     r0,49h                                  ;
0802D250 F7F5F976 bl      8022540h                                ;
0802D254 E01C     b       802D290h                                ;
0802D256 0000     lsl     r0,r0,0h                                ;
0802D258 3270     add     r2,70h                                  ;
0802D25A 0202     lsl     r2,r0,8h                                ;
0802D25C 3480     add     r4,80h                                  ;
0802D25E 0202     lsl     r2,r0,8h                                ;
0802D260 37D0     add     r7,0D0h                                 ;
0802D262 0202     lsl     r2,r0,8h                                ;
0802D264 0C38     lsr     r0,r7,10h                               ;
0802D266 0202     lsl     r2,r0,8h                                ;
0802D268 78A0     ldrb    r0,[r4,2h]                              ;
0802D26A 0081     lsl     r1,r0,2h                                ;
0802D26C 1809     add     r1,r1,r0                                ;
0802D26E 78E4     ldrb    r4,[r4,3h]                              ;
0802D270 1909     add     r1,r1,r4                                ;
0802D272 0089     lsl     r1,r1,2h                                ;
0802D274 1949     add     r1,r1,r5                                ;
0802D276 6808     ldr     r0,[r1]                                 ;
0802D278 F7F7FD3E bl      8024CF8h                                ;
0802D27C F009F970 bl      8036560h                                ;
0802D280 E006     b       802D290h                                ;
0802D282 4805     ldr     r0,=2020C38h                            ;
0802D284 7800     ldrb    r0,[r0]                                 ;
0802D286 2800     cmp     r0,0h                                   ;
0802D288 D102     bne     802D290h                                ;
0802D28A 2039     mov     r0,39h                                  ;
0802D28C F7F5F958 bl      8022540h                                ;
0802D290 BC30     pop     r4,r5                                   ;
0802D292 BC01     pop     r0                                      ;
0802D294 4700     bx      r0                                      ;

Horn of Light

0802D29E 4D24     ldr     r5,=2023270h                            ;Horn of Light
0802D2A0 4C24     ldr     r4,=2023480h                            ;
0802D2A2 78A1     ldrb    r1,[r4,2h]                              ;
0802D2A4 0088     lsl     r0,r1,2h                                ;
0802D2A6 1840     add     r0,r0,r1                                ;
0802D2A8 78E1     ldrb    r1,[r4,3h]                              ;
0802D2AA 1840     add     r0,r0,r1                                ;
0802D2AC 0080     lsl     r0,r0,2h                                ;
0802D2AE 1940     add     r0,r0,r5                                ;
0802D2B0 6800     ldr     r0,[r0]                                 ;
0802D2B2 8800     ldrh    r0,[r0]                                 ;
0802D2B4 F007FB7E bl      80349B4h                                ;
0802D2B8 2801     cmp     r0,1h                                   ;
0802D2BA D150     bne     802D35Eh                                ;
0802D2BC 4A1E     ldr     r2,=20237D0h                            ;
0802D2BE 7920     ldrb    r0,[r4,4h]                              ;
0802D2C0 7090     strb    r0,[r2,2h]                              ;
0802D2C2 7960     ldrb    r0,[r4,5h]                              ;
0802D2C4 70D0     strb    r0,[r2,3h]                              ;
0802D2C6 7921     ldrb    r1,[r4,4h]                              ;
0802D2C8 0088     lsl     r0,r1,2h                                ;
0802D2CA 1840     add     r0,r0,r1                                ;
0802D2CC 7961     ldrb    r1,[r4,5h]                              ;
0802D2CE 1840     add     r0,r0,r1                                ;
0802D2D0 0080     lsl     r0,r0,2h                                ;
0802D2D2 1940     add     r0,r0,r5                                ;
0802D2D4 6800     ldr     r0,[r0]                                 ;
0802D2D6 8800     ldrh    r0,[r0]                                 ;
0802D2D8 8010     strh    r0,[r2]                                 ;
0802D2DA F009F9B9 bl      8036650h                                ;
0802D2DE 2801     cmp     r0,1h                                   ;
0802D2E0 D103     bne     802D2EAh                                ;
0802D2E2 4816     ldr     r0,=2020C38h                            ;
0802D2E4 7800     ldrb    r0,[r0]                                 ;
0802D2E6 2800     cmp     r0,0h                                   ;
0802D2E8 D02C     beq     802D344h                                ;
0802D2EA 78A1     ldrb    r1,[r4,2h]                              ;
0802D2EC 0088     lsl     r0,r1,2h                                ;
0802D2EE 1840     add     r0,r0,r1                                ;
0802D2F0 78E1     ldrb    r1,[r4,3h]                              ;
0802D2F2 1840     add     r0,r0,r1                                ;
0802D2F4 0080     lsl     r0,r0,2h                                ;
0802D2F6 1940     add     r0,r0,r5                                ;
0802D2F8 6800     ldr     r0,[r0]                                 ;
0802D2FA F7F7FCF3 bl      8024CE4h                                ;
0802D2FE 7921     ldrb    r1,[r4,4h]                              ;
0802D300 0088     lsl     r0,r1,2h                                ;
0802D302 1840     add     r0,r0,r1                                ;
0802D304 7964     ldrb    r4,[r4,5h]                              ;
0802D306 1900     add     r0,r0,r4                                ;
0802D308 0080     lsl     r0,r0,2h                                ;
0802D30A 1940     add     r0,r0,r5                                ;
0802D30C 6800     ldr     r0,[r0]                                 ;
0802D30E 2100     mov     r1,0h                                   ;
0802D310 F7FBFCF6 bl      8028D00h                                ;
0802D314 4809     ldr     r0,=2020C38h                            ;
0802D316 7800     ldrb    r0,[r0]                                 ;
0802D318 2800     cmp     r0,0h                                   ;
0802D31A D127     bne     802D36Ch                                ;
0802D31C 2041     mov     r0,41h                                  ;
0802D31E F7F5F90F bl      8022540h                                ;
0802D322 4807     ldr     r0,=139h                                ;r0 = 313 ; Horn of Light
0802D324 F7F8FABC bl      80258A0h                                ;
0802D328 2049     mov     r0,49h                                  ;
0802D32A F7F5F909 bl      8022540h                                ;
0802D32E E01D     b       802D36Ch                                ;
0802D330 3270     add     r2,70h                                  ;
0802D332 0202     lsl     r2,r0,8h                                ;
0802D334 3480     add     r4,80h                                  ;
0802D336 0202     lsl     r2,r0,8h                                ;
0802D338 37D0     add     r7,0D0h                                 ;
0802D33A 0202     lsl     r2,r0,8h                                ;
0802D33C 0C38     lsr     r0,r7,10h                               ;
0802D33E 0202     lsl     r2,r0,8h                                ;
0802D340 0139     lsl     r1,r7,4h                                ;
0802D342 0000     lsl     r0,r0,0h                                ;
0802D344 78A0     ldrb    r0,[r4,2h]                              ;
0802D346 0081     lsl     r1,r0,2h                                ;
0802D348 1809     add     r1,r1,r0                                ;
0802D34A 78E4     ldrb    r4,[r4,3h]                              ;
0802D34C 1909     add     r1,r1,r4                                ;
0802D34E 0089     lsl     r1,r1,2h                                ;
0802D350 1949     add     r1,r1,r5                                ;
0802D352 6808     ldr     r0,[r1]                                 ;
0802D354 F7F7FCD0 bl      8024CF8h                                ;
0802D358 F009F902 bl      8036560h                                ;
0802D35C E006     b       802D36Ch                                ;
0802D35E 4805     ldr     r0,=2020C38h                            ;
0802D360 7800     ldrb    r0,[r0]                                 ;
0802D362 2800     cmp     r0,0h                                   ;
0802D364 D102     bne     802D36Ch                                ;
0802D366 2039     mov     r0,39h                                  ;
0802D368 F7F5F8EA bl      8022540h                                ;
0802D36C BC30     pop     r4,r5                                   ;
0802D36E BC01     pop     r0                                      ;
0802D370 4700     bx      r0                                      ;

Horn of the Unicorn

0802D37A 4D25     ldr     r5,=2023270h                            ;Horn of the Unicorn
0802D37C 4C25     ldr     r4,=2023480h                            ;
0802D37E 78A1     ldrb    r1,[r4,2h]                              ;
0802D380 0088     lsl     r0,r1,2h                                ;
0802D382 1840     add     r0,r0,r1                                ;
0802D384 78E1     ldrb    r1,[r4,3h]                              ;
0802D386 1840     add     r0,r0,r1                                ;
0802D388 0080     lsl     r0,r0,2h                                ;
0802D38A 1940     add     r0,r0,r5                                ;
0802D38C 6800     ldr     r0,[r0]                                 ;
0802D38E 8800     ldrh    r0,[r0]                                 ;
0802D390 F007FB1E bl      80349D0h                                ;
0802D394 2801     cmp     r0,1h                                   ;
0802D396 D150     bne     802D43Ah                                ;
0802D398 4A1F     ldr     r2,=20237D0h                            ;
0802D39A 7920     ldrb    r0,[r4,4h]                              ;
0802D39C 7090     strb    r0,[r2,2h]                              ;
0802D39E 7960     ldrb    r0,[r4,5h]                              ;
0802D3A0 70D0     strb    r0,[r2,3h]                              ;
0802D3A2 7921     ldrb    r1,[r4,4h]                              ;
0802D3A4 0088     lsl     r0,r1,2h                                ;
0802D3A6 1840     add     r0,r0,r1                                ;
0802D3A8 7961     ldrb    r1,[r4,5h]                              ;
0802D3AA 1840     add     r0,r0,r1                                ;
0802D3AC 0080     lsl     r0,r0,2h                                ;
0802D3AE 1940     add     r0,r0,r5                                ;
0802D3B0 6800     ldr     r0,[r0]                                 ;
0802D3B2 8800     ldrh    r0,[r0]                                 ;
0802D3B4 8010     strh    r0,[r2]                                 ;
0802D3B6 F009F94B bl      8036650h                                ;
0802D3BA 2801     cmp     r0,1h                                   ;
0802D3BC D103     bne     802D3C6h                                ;
0802D3BE 4817     ldr     r0,=2020C38h                            ;
0802D3C0 7800     ldrb    r0,[r0]                                 ;
0802D3C2 2800     cmp     r0,0h                                   ;
0802D3C4 D02C     beq     802D420h                                ;
0802D3C6 78A1     ldrb    r1,[r4,2h]                              ;
0802D3C8 0088     lsl     r0,r1,2h                                ;
0802D3CA 1840     add     r0,r0,r1                                ;
0802D3CC 78E1     ldrb    r1,[r4,3h]                              ;
0802D3CE 1840     add     r0,r0,r1                                ;
0802D3D0 0080     lsl     r0,r0,2h                                ;
0802D3D2 1940     add     r0,r0,r5                                ;
0802D3D4 6800     ldr     r0,[r0]                                 ;
0802D3D6 F7F7FC85 bl      8024CE4h                                ;
0802D3DA 7921     ldrb    r1,[r4,4h]                              ;
0802D3DC 0088     lsl     r0,r1,2h                                ;
0802D3DE 1840     add     r0,r0,r1                                ;
0802D3E0 7964     ldrb    r4,[r4,5h]                              ;
0802D3E2 1900     add     r0,r0,r4                                ;
0802D3E4 0080     lsl     r0,r0,2h                                ;
0802D3E6 1940     add     r0,r0,r5                                ;
0802D3E8 6800     ldr     r0,[r0]                                 ;
0802D3EA 2100     mov     r1,0h                                   ;
0802D3EC F7FBFC88 bl      8028D00h                                ;
0802D3F0 480A     ldr     r0,=2020C38h                            ;
0802D3F2 7800     ldrb    r0,[r0]                                 ;
0802D3F4 2800     cmp     r0,0h                                   ;
0802D3F6 D127     bne     802D448h                                ;
0802D3F8 2041     mov     r0,41h                                  ;
0802D3FA F7F5F8A1 bl      8022540h                                ;
0802D3FE 209D     mov     r0,9Dh                                  ;
0802D400 0040     lsl     r0,r0,1h                                ;r0 = 314 ; Horn of the Unicorn
0802D402 F7F8FA4D bl      80258A0h                                ;
0802D406 2049     mov     r0,49h                                  ;
0802D408 F7F5F89A bl      8022540h                                ;
0802D40C E01C     b       802D448h                                ;
0802D40E 0000     lsl     r0,r0,0h                                ;
0802D410 3270     add     r2,70h                                  ;
0802D412 0202     lsl     r2,r0,8h                                ;
0802D414 3480     add     r4,80h                                  ;
0802D416 0202     lsl     r2,r0,8h                                ;
0802D418 37D0     add     r7,0D0h                                 ;
0802D41A 0202     lsl     r2,r0,8h                                ;
0802D41C 0C38     lsr     r0,r7,10h                               ;
0802D41E 0202     lsl     r2,r0,8h                                ;
0802D420 78A0     ldrb    r0,[r4,2h]                              ;
0802D422 0081     lsl     r1,r0,2h                                ;
0802D424 1809     add     r1,r1,r0                                ;
0802D426 78E4     ldrb    r4,[r4,3h]                              ;
0802D428 1909     add     r1,r1,r4                                ;
0802D42A 0089     lsl     r1,r1,2h                                ;
0802D42C 1949     add     r1,r1,r5                                ;
0802D42E 6808     ldr     r0,[r1]                                 ;
0802D430 F7F7FC62 bl      8024CF8h                                ;
0802D434 F009F894 bl      8036560h                                ;
0802D438 E006     b       802D448h                                ;
0802D43A 4805     ldr     r0,=2020C38h                            ;
0802D43C 7800     ldrb    r0,[r0]                                 ;
0802D43E 2800     cmp     r0,0h                                   ;
0802D440 D102     bne     802D448h                                ;
0802D442 2039     mov     r0,39h                                  ;
0802D444 F7F5F87C bl      8022540h                                ;
0802D448 BC30     pop     r4,r5                                   ;
0802D44A BC01     pop     r0                                      ;
0802D44C 4700     bx      r0                                      ;

Dragon Treasure

0802D456 4D24     ldr     r5,=2023270h                            ;Dragon Treasure
0802D458 4C24     ldr     r4,=2023480h                            ;
0802D45A 78A1     ldrb    r1,[r4,2h]                              ;
0802D45C 0088     lsl     r0,r1,2h                                ;
0802D45E 1840     add     r0,r0,r1                                ;
0802D460 78E1     ldrb    r1,[r4,3h]                              ;
0802D462 1840     add     r0,r0,r1                                ;
0802D464 0080     lsl     r0,r0,2h                                ;
0802D466 1940     add     r0,r0,r5                                ;
0802D468 6800     ldr     r0,[r0]                                 ;
0802D46A 8800     ldrh    r0,[r0]                                 ;
0802D46C F007FABE bl      80349ECh                                ;
0802D470 2801     cmp     r0,1h                                   ;
0802D472 D150     bne     802D516h                                ;
0802D474 4A1E     ldr     r2,=20237D0h                            ;
0802D476 7920     ldrb    r0,[r4,4h]                              ;
0802D478 7090     strb    r0,[r2,2h]                              ;
0802D47A 7960     ldrb    r0,[r4,5h]                              ;
0802D47C 70D0     strb    r0,[r2,3h]                              ;
0802D47E 7921     ldrb    r1,[r4,4h]                              ;
0802D480 0088     lsl     r0,r1,2h                                ;
0802D482 1840     add     r0,r0,r1                                ;
0802D484 7961     ldrb    r1,[r4,5h]                              ;
0802D486 1840     add     r0,r0,r1                                ;
0802D488 0080     lsl     r0,r0,2h                                ;
0802D48A 1940     add     r0,r0,r5                                ;
0802D48C 6800     ldr     r0,[r0]                                 ;
0802D48E 8800     ldrh    r0,[r0]                                 ;
0802D490 8010     strh    r0,[r2]                                 ;
0802D492 F009F8DD bl      8036650h                                ;
0802D496 2801     cmp     r0,1h                                   ;
0802D498 D103     bne     802D4A2h                                ;
0802D49A 4816     ldr     r0,=2020C38h                            ;
0802D49C 7800     ldrb    r0,[r0]                                 ;
0802D49E 2800     cmp     r0,0h                                   ;
0802D4A0 D02C     beq     802D4FCh                                ;
0802D4A2 78A1     ldrb    r1,[r4,2h]                              ;
0802D4A4 0088     lsl     r0,r1,2h                                ;
0802D4A6 1840     add     r0,r0,r1                                ;
0802D4A8 78E1     ldrb    r1,[r4,3h]                              ;
0802D4AA 1840     add     r0,r0,r1                                ;
0802D4AC 0080     lsl     r0,r0,2h                                ;
0802D4AE 1940     add     r0,r0,r5                                ;
0802D4B0 6800     ldr     r0,[r0]                                 ;
0802D4B2 F7F7FC17 bl      8024CE4h                                ;
0802D4B6 7921     ldrb    r1,[r4,4h]                              ;
0802D4B8 0088     lsl     r0,r1,2h                                ;
0802D4BA 1840     add     r0,r0,r1                                ;
0802D4BC 7964     ldrb    r4,[r4,5h]                              ;
0802D4BE 1900     add     r0,r0,r4                                ;
0802D4C0 0080     lsl     r0,r0,2h                                ;
0802D4C2 1940     add     r0,r0,r5                                ;
0802D4C4 6800     ldr     r0,[r0]                                 ;
0802D4C6 2100     mov     r1,0h                                   ;
0802D4C8 F7FBFC1A bl      8028D00h                                ;
0802D4CC 4809     ldr     r0,=2020C38h                            ;
0802D4CE 7800     ldrb    r0,[r0]                                 ;
0802D4D0 2800     cmp     r0,0h                                   ;
0802D4D2 D127     bne     802D524h                                ;
0802D4D4 2041     mov     r0,41h                                  ;
0802D4D6 F7F5F833 bl      8022540h                                ;
0802D4DA 4807     ldr     r0,=13Bh                                ;r0 = 315 ; Dragon Treasure
0802D4DC F7F8F9E0 bl      80258A0h                                ;
0802D4E0 2049     mov     r0,49h                                  ;
0802D4E2 F7F5F82D bl      8022540h                                ;
0802D4E6 E01D     b       802D524h                                ;
0802D4E8 3270     add     r2,70h                                  ;
0802D4EA 0202     lsl     r2,r0,8h                                ;
0802D4EC 3480     add     r4,80h                                  ;
0802D4EE 0202     lsl     r2,r0,8h                                ;
0802D4F0 37D0     add     r7,0D0h                                 ;
0802D4F2 0202     lsl     r2,r0,8h                                ;
0802D4F4 0C38     lsr     r0,r7,10h                               ;
0802D4F6 0202     lsl     r2,r0,8h                                ;
0802D4F8 013B     lsl     r3,r7,4h                                ;
0802D4FA 0000     lsl     r0,r0,0h                                ;
0802D4FC 78A0     ldrb    r0,[r4,2h]                              ;
0802D4FE 0081     lsl     r1,r0,2h                                ;
0802D500 1809     add     r1,r1,r0                                ;
0802D502 78E4     ldrb    r4,[r4,3h]                              ;
0802D504 1909     add     r1,r1,r4                                ;
0802D506 0089     lsl     r1,r1,2h                                ;
0802D508 1949     add     r1,r1,r5                                ;
0802D50A 6808     ldr     r0,[r1]                                 ;
0802D50C F7F7FBF4 bl      8024CF8h                                ;
0802D510 F009F826 bl      8036560h                                ;
0802D514 E006     b       802D524h                                ;
0802D516 4805     ldr     r0,=2020C38h                            ;
0802D518 7800     ldrb    r0,[r0]                                 ;
0802D51A 2800     cmp     r0,0h                                   ;
0802D51C D102     bne     802D524h                                ;
0802D51E 2039     mov     r0,39h                                  ;
0802D520 F7F5F80E bl      8022540h                                ;
0802D524 BC30     pop     r4,r5                                   ;
0802D526 BC01     pop     r0                                      ;
0802D528 4700     bx      r0                                      ;

Electro-Whip

0802D532 4D25     ldr     r5,=2023270h                            ;Electro-Whip
0802D534 4C25     ldr     r4,=2023480h                            ;
0802D536 78A1     ldrb    r1,[r4,2h]                              ;
0802D538 0088     lsl     r0,r1,2h                                ;
0802D53A 1840     add     r0,r0,r1                                ;
0802D53C 78E1     ldrb    r1,[r4,3h]                              ;
0802D53E 1840     add     r0,r0,r1                                ;
0802D540 0080     lsl     r0,r0,2h                                ;
0802D542 1940     add     r0,r0,r5                                ;
0802D544 6800     ldr     r0,[r0]                                 ;
0802D546 8800     ldrh    r0,[r0]                                 ;
0802D548 F007FA5E bl      8034A08h                                ;
0802D54C 2801     cmp     r0,1h                                   ;
0802D54E D150     bne     802D5F2h                                ;
0802D550 4A1F     ldr     r2,=20237D0h                            ;
0802D552 7920     ldrb    r0,[r4,4h]                              ;
0802D554 7090     strb    r0,[r2,2h]                              ;
0802D556 7960     ldrb    r0,[r4,5h]                              ;
0802D558 70D0     strb    r0,[r2,3h]                              ;
0802D55A 7921     ldrb    r1,[r4,4h]                              ;
0802D55C 0088     lsl     r0,r1,2h                                ;
0802D55E 1840     add     r0,r0,r1                                ;
0802D560 7961     ldrb    r1,[r4,5h]                              ;
0802D562 1840     add     r0,r0,r1                                ;
0802D564 0080     lsl     r0,r0,2h                                ;
0802D566 1940     add     r0,r0,r5                                ;
0802D568 6800     ldr     r0,[r0]                                 ;
0802D56A 8800     ldrh    r0,[r0]                                 ;
0802D56C 8010     strh    r0,[r2]                                 ;
0802D56E F009F86F bl      8036650h                                ;
0802D572 2801     cmp     r0,1h                                   ;
0802D574 D103     bne     802D57Eh                                ;
0802D576 4817     ldr     r0,=2020C38h                            ;
0802D578 7800     ldrb    r0,[r0]                                 ;
0802D57A 2800     cmp     r0,0h                                   ;
0802D57C D02C     beq     802D5D8h                                ;
0802D57E 78A1     ldrb    r1,[r4,2h]                              ;
0802D580 0088     lsl     r0,r1,2h                                ;
0802D582 1840     add     r0,r0,r1                                ;
0802D584 78E1     ldrb    r1,[r4,3h]                              ;
0802D586 1840     add     r0,r0,r1                                ;
0802D588 0080     lsl     r0,r0,2h                                ;
0802D58A 1940     add     r0,r0,r5                                ;
0802D58C 6800     ldr     r0,[r0]                                 ;
0802D58E F7F7FBA9 bl      8024CE4h                                ;
0802D592 7921     ldrb    r1,[r4,4h]                              ;
0802D594 0088     lsl     r0,r1,2h                                ;
0802D596 1840     add     r0,r0,r1                                ;
0802D598 7964     ldrb    r4,[r4,5h]                              ;
0802D59A 1900     add     r0,r0,r4                                ;
0802D59C 0080     lsl     r0,r0,2h                                ;
0802D59E 1940     add     r0,r0,r5                                ;
0802D5A0 6800     ldr     r0,[r0]                                 ;
0802D5A2 2100     mov     r1,0h                                   ;
0802D5A4 F7FBFBAC bl      8028D00h                                ;
0802D5A8 480A     ldr     r0,=2020C38h                            ;
0802D5AA 7800     ldrb    r0,[r0]                                 ;
0802D5AC 2800     cmp     r0,0h                                   ;
0802D5AE D127     bne     802D600h                                ;
0802D5B0 2041     mov     r0,41h                                  ;
0802D5B2 F7F4FFC5 bl      8022540h                                ;
0802D5B6 209E     mov     r0,9Eh                                  ;
0802D5B8 0040     lsl     r0,r0,1h                                ;r0 = 316 ; Electro-Whip
0802D5BA F7F8F971 bl      80258A0h                                ;
0802D5BE 2049     mov     r0,49h                                  ;
0802D5C0 F7F4FFBE bl      8022540h                                ;
0802D5C4 E01C     b       802D600h                                ;
0802D5C6 0000     lsl     r0,r0,0h                                ;
0802D5C8 3270     add     r2,70h                                  ;
0802D5CA 0202     lsl     r2,r0,8h                                ;
0802D5CC 3480     add     r4,80h                                  ;
0802D5CE 0202     lsl     r2,r0,8h                                ;
0802D5D0 37D0     add     r7,0D0h                                 ;
0802D5D2 0202     lsl     r2,r0,8h                                ;
0802D5D4 0C38     lsr     r0,r7,10h                               ;
0802D5D6 0202     lsl     r2,r0,8h                                ;
0802D5D8 78A0     ldrb    r0,[r4,2h]                              ;
0802D5DA 0081     lsl     r1,r0,2h                                ;
0802D5DC 1809     add     r1,r1,r0                                ;
0802D5DE 78E4     ldrb    r4,[r4,3h]                              ;
0802D5E0 1909     add     r1,r1,r4                                ;
0802D5E2 0089     lsl     r1,r1,2h                                ;
0802D5E4 1949     add     r1,r1,r5                                ;
0802D5E6 6808     ldr     r0,[r1]                                 ;
0802D5E8 F7F7FB86 bl      8024CF8h                                ;
0802D5EC F008FFB8 bl      8036560h                                ;
0802D5F0 E006     b       802D600h                                ;
0802D5F2 4805     ldr     r0,=2020C38h                            ;
0802D5F4 7800     ldrb    r0,[r0]                                 ;
0802D5F6 2800     cmp     r0,0h                                   ;
0802D5F8 D102     bne     802D600h                                ;
0802D5FA 2039     mov     r0,39h                                  ;
0802D5FC F7F4FFA0 bl      8022540h                                ;
0802D600 BC30     pop     r4,r5                                   ;
0802D602 BC01     pop     r0                                      ;
0802D604 4700     bx      r0                                      ;

Cyber Shield

0802D60E 4D24     ldr     r5,=2023270h                            ;Cyber Shield
0802D610 4C24     ldr     r4,=2023480h                            ;
0802D612 78A1     ldrb    r1,[r4,2h]                              ;
0802D614 0088     lsl     r0,r1,2h                                ;
0802D616 1840     add     r0,r0,r1                                ;
0802D618 78E1     ldrb    r1,[r4,3h]                              ;
0802D61A 1840     add     r0,r0,r1                                ;
0802D61C 0080     lsl     r0,r0,2h                                ;
0802D61E 1940     add     r0,r0,r5                                ;
0802D620 6800     ldr     r0,[r0]                                 ;
0802D622 8800     ldrh    r0,[r0]                                 ;
0802D624 F007F9FE bl      8034A24h                                ;
0802D628 2801     cmp     r0,1h                                   ;
0802D62A D150     bne     802D6CEh                                ;
0802D62C 4A1E     ldr     r2,=20237D0h                            ;
0802D62E 7920     ldrb    r0,[r4,4h]                              ;
0802D630 7090     strb    r0,[r2,2h]                              ;
0802D632 7960     ldrb    r0,[r4,5h]                              ;
0802D634 70D0     strb    r0,[r2,3h]                              ;
0802D636 7921     ldrb    r1,[r4,4h]                              ;
0802D638 0088     lsl     r0,r1,2h                                ;
0802D63A 1840     add     r0,r0,r1                                ;
0802D63C 7961     ldrb    r1,[r4,5h]                              ;
0802D63E 1840     add     r0,r0,r1                                ;
0802D640 0080     lsl     r0,r0,2h                                ;
0802D642 1940     add     r0,r0,r5                                ;
0802D644 6800     ldr     r0,[r0]                                 ;
0802D646 8800     ldrh    r0,[r0]                                 ;
0802D648 8010     strh    r0,[r2]                                 ;
0802D64A F009F801 bl      8036650h                                ;
0802D64E 2801     cmp     r0,1h                                   ;
0802D650 D103     bne     802D65Ah                                ;
0802D652 4816     ldr     r0,=2020C38h                            ;
0802D654 7800     ldrb    r0,[r0]                                 ;
0802D656 2800     cmp     r0,0h                                   ;
0802D658 D02C     beq     802D6B4h                                ;
0802D65A 78A1     ldrb    r1,[r4,2h]                              ;
0802D65C 0088     lsl     r0,r1,2h                                ;
0802D65E 1840     add     r0,r0,r1                                ;
0802D660 78E1     ldrb    r1,[r4,3h]                              ;
0802D662 1840     add     r0,r0,r1                                ;
0802D664 0080     lsl     r0,r0,2h                                ;
0802D666 1940     add     r0,r0,r5                                ;
0802D668 6800     ldr     r0,[r0]                                 ;
0802D66A F7F7FB3B bl      8024CE4h                                ;
0802D66E 7921     ldrb    r1,[r4,4h]                              ;
0802D670 0088     lsl     r0,r1,2h                                ;
0802D672 1840     add     r0,r0,r1                                ;
0802D674 7964     ldrb    r4,[r4,5h]                              ;
0802D676 1900     add     r0,r0,r4                                ;
0802D678 0080     lsl     r0,r0,2h                                ;
0802D67A 1940     add     r0,r0,r5                                ;
0802D67C 6800     ldr     r0,[r0]                                 ;
0802D67E 2100     mov     r1,0h                                   ;
0802D680 F7FBFB3E bl      8028D00h                                ;
0802D684 4809     ldr     r0,=2020C38h                            ;
0802D686 7800     ldrb    r0,[r0]                                 ;
0802D688 2800     cmp     r0,0h                                   ;
0802D68A D127     bne     802D6DCh                                ;
0802D68C 2041     mov     r0,41h                                  ;
0802D68E F7F4FF57 bl      8022540h                                ;
0802D692 4807     ldr     r0,=13Dh                                ;r0 = 317 ; Cyber Shield
0802D694 F7F8F904 bl      80258A0h                                ;
0802D698 2049     mov     r0,49h                                  ;
0802D69A F7F4FF51 bl      8022540h                                ;
0802D69E E01D     b       802D6DCh                                ;
0802D6A0 3270     add     r2,70h                                  ;
0802D6A2 0202     lsl     r2,r0,8h                                ;
0802D6A4 3480     add     r4,80h                                  ;
0802D6A6 0202     lsl     r2,r0,8h                                ;
0802D6A8 37D0     add     r7,0D0h                                 ;
0802D6AA 0202     lsl     r2,r0,8h                                ;
0802D6AC 0C38     lsr     r0,r7,10h                               ;
0802D6AE 0202     lsl     r2,r0,8h                                ;
0802D6B0 013D     lsl     r5,r7,4h                                ;
0802D6B2 0000     lsl     r0,r0,0h                                ;
0802D6B4 78A0     ldrb    r0,[r4,2h]                              ;
0802D6B6 0081     lsl     r1,r0,2h                                ;
0802D6B8 1809     add     r1,r1,r0                                ;
0802D6BA 78E4     ldrb    r4,[r4,3h]                              ;
0802D6BC 1909     add     r1,r1,r4                                ;
0802D6BE 0089     lsl     r1,r1,2h                                ;
0802D6C0 1949     add     r1,r1,r5                                ;
0802D6C2 6808     ldr     r0,[r1]                                 ;
0802D6C4 F7F7FB18 bl      8024CF8h                                ;
0802D6C8 F008FF4A bl      8036560h                                ;
0802D6CC E006     b       802D6DCh                                ;
0802D6CE 4805     ldr     r0,=2020C38h                            ;
0802D6D0 7800     ldrb    r0,[r0]                                 ;
0802D6D2 2800     cmp     r0,0h                                   ;
0802D6D4 D102     bne     802D6DCh                                ;
0802D6D6 2039     mov     r0,39h                                  ;
0802D6D8 F7F4FF32 bl      8022540h                                ;
0802D6DC BC30     pop     r4,r5                                   ;
0802D6DE BC01     pop     r0                                      ;
0802D6E0 4700     bx      r0                                      ;

Mystical Moon

0802D6EA 4D24     ldr     r5,=2023270h                            ;Mystical Moon
0802D6EC 4C24     ldr     r4,=2023480h                            ;
0802D6EE 78A1     ldrb    r1,[r4,2h]                              ;
0802D6F0 0088     lsl     r0,r1,2h                                ;
0802D6F2 1840     add     r0,r0,r1                                ;
0802D6F4 78E1     ldrb    r1,[r4,3h]                              ;
0802D6F6 1840     add     r0,r0,r1                                ;
0802D6F8 0080     lsl     r0,r0,2h                                ;
0802D6FA 1940     add     r0,r0,r5                                ;
0802D6FC 6800     ldr     r0,[r0]                                 ;
0802D6FE 8800     ldrh    r0,[r0]                                 ;
0802D700 F007F99E bl      8034A40h                                ;
0802D704 2801     cmp     r0,1h                                   ;
0802D706 D150     bne     802D7AAh                                ;
0802D708 4A1E     ldr     r2,=20237D0h                            ;
0802D70A 7920     ldrb    r0,[r4,4h]                              ;
0802D70C 7090     strb    r0,[r2,2h]                              ;
0802D70E 7960     ldrb    r0,[r4,5h]                              ;
0802D710 70D0     strb    r0,[r2,3h]                              ;
0802D712 7921     ldrb    r1,[r4,4h]                              ;
0802D714 0088     lsl     r0,r1,2h                                ;
0802D716 1840     add     r0,r0,r1                                ;
0802D718 7961     ldrb    r1,[r4,5h]                              ;
0802D71A 1840     add     r0,r0,r1                                ;
0802D71C 0080     lsl     r0,r0,2h                                ;
0802D71E 1940     add     r0,r0,r5                                ;
0802D720 6800     ldr     r0,[r0]                                 ;
0802D722 8800     ldrh    r0,[r0]                                 ;
0802D724 8010     strh    r0,[r2]                                 ;
0802D726 F008FF93 bl      8036650h                                ;
0802D72A 2801     cmp     r0,1h                                   ;
0802D72C D103     bne     802D736h                                ;
0802D72E 4816     ldr     r0,=2020C38h                            ;
0802D730 7800     ldrb    r0,[r0]                                 ;
0802D732 2800     cmp     r0,0h                                   ;
0802D734 D02C     beq     802D790h                                ;
0802D736 78A1     ldrb    r1,[r4,2h]                              ;
0802D738 0088     lsl     r0,r1,2h                                ;
0802D73A 1840     add     r0,r0,r1                                ;
0802D73C 78E1     ldrb    r1,[r4,3h]                              ;
0802D73E 1840     add     r0,r0,r1                                ;
0802D740 0080     lsl     r0,r0,2h                                ;
0802D742 1940     add     r0,r0,r5                                ;
0802D744 6800     ldr     r0,[r0]                                 ;
0802D746 F7F7FACD bl      8024CE4h                                ;
0802D74A 7921     ldrb    r1,[r4,4h]                              ;
0802D74C 0088     lsl     r0,r1,2h                                ;
0802D74E 1840     add     r0,r0,r1                                ;
0802D750 7964     ldrb    r4,[r4,5h]                              ;
0802D752 1900     add     r0,r0,r4                                ;
0802D754 0080     lsl     r0,r0,2h                                ;
0802D756 1940     add     r0,r0,r5                                ;
0802D758 6800     ldr     r0,[r0]                                 ;
0802D75A 2100     mov     r1,0h                                   ;
0802D75C F7FBFAD0 bl      8028D00h                                ;
0802D760 4809     ldr     r0,=2020C38h                            ;
0802D762 7800     ldrb    r0,[r0]                                 ;
0802D764 2800     cmp     r0,0h                                   ;
0802D766 D127     bne     802D7B8h                                ;
0802D768 2041     mov     r0,41h                                  ;
0802D76A F7F4FEE9 bl      8022540h                                ;
0802D76E 4807     ldr     r0,=13Fh                                ;r0 = 319 ; Mystical Moon
0802D770 F7F8F896 bl      80258A0h                                ;
0802D774 2049     mov     r0,49h                                  ;
0802D776 F7F4FEE3 bl      8022540h                                ;
0802D77A E01D     b       802D7B8h                                ;
0802D77C 3270     add     r2,70h                                  ;
0802D77E 0202     lsl     r2,r0,8h                                ;
0802D780 3480     add     r4,80h                                  ;
0802D782 0202     lsl     r2,r0,8h                                ;
0802D784 37D0     add     r7,0D0h                                 ;
0802D786 0202     lsl     r2,r0,8h                                ;
0802D788 0C38     lsr     r0,r7,10h                               ;
0802D78A 0202     lsl     r2,r0,8h                                ;
0802D78C 013F     lsl     r7,r7,4h                                ;
0802D78E 0000     lsl     r0,r0,0h                                ;
0802D790 78A0     ldrb    r0,[r4,2h]                              ;
0802D792 0081     lsl     r1,r0,2h                                ;
0802D794 1809     add     r1,r1,r0                                ;
0802D796 78E4     ldrb    r4,[r4,3h]                              ;
0802D798 1909     add     r1,r1,r4                                ;
0802D79A 0089     lsl     r1,r1,2h                                ;
0802D79C 1949     add     r1,r1,r5                                ;
0802D79E 6808     ldr     r0,[r1]                                 ;
0802D7A0 F7F7FAAA bl      8024CF8h                                ;
0802D7A4 F008FEDC bl      8036560h                                ;
0802D7A8 E006     b       802D7B8h                                ;
0802D7AA 4805     ldr     r0,=2020C38h                            ;
0802D7AC 7800     ldrb    r0,[r0]                                 ;
0802D7AE 2800     cmp     r0,0h                                   ;
0802D7B0 D102     bne     802D7B8h                                ;
0802D7B2 2039     mov     r0,39h                                  ;
0802D7B4 F7F4FEC4 bl      8022540h                                ;
0802D7B8 BC30     pop     r4,r5                                   ;
0802D7BA BC01     pop     r0                                      ;
0802D7BC 4700     bx      r0                                      ;

Malevolent Nuzzler

0802D7C6 4D24     ldr     r5,=2023270h                            ;Malevolent Nuzzler
0802D7C8 4C24     ldr     r4,=2023480h                            ;
0802D7CA 78A1     ldrb    r1,[r4,2h]                              ;
0802D7CC 0088     lsl     r0,r1,2h                                ;
0802D7CE 1840     add     r0,r0,r1                                ;
0802D7D0 78E1     ldrb    r1,[r4,3h]                              ;
0802D7D2 1840     add     r0,r0,r1                                ;
0802D7D4 0080     lsl     r0,r0,2h                                ;
0802D7D6 1940     add     r0,r0,r5                                ;
0802D7D8 6800     ldr     r0,[r0]                                 ;
0802D7DA 8800     ldrh    r0,[r0]                                 ;
0802D7DC F007F93E bl      8034A5Ch                                ;
0802D7E0 2801     cmp     r0,1h                                   ;
0802D7E2 D150     bne     802D886h                                ;
0802D7E4 4A1E     ldr     r2,=20237D0h                            ;
0802D7E6 7920     ldrb    r0,[r4,4h]                              ;
0802D7E8 7090     strb    r0,[r2,2h]                              ;
0802D7EA 7960     ldrb    r0,[r4,5h]                              ;
0802D7EC 70D0     strb    r0,[r2,3h]                              ;
0802D7EE 7921     ldrb    r1,[r4,4h]                              ;
0802D7F0 0088     lsl     r0,r1,2h                                ;
0802D7F2 1840     add     r0,r0,r1                                ;
0802D7F4 7961     ldrb    r1,[r4,5h]                              ;
0802D7F6 1840     add     r0,r0,r1                                ;
0802D7F8 0080     lsl     r0,r0,2h                                ;
0802D7FA 1940     add     r0,r0,r5                                ;
0802D7FC 6800     ldr     r0,[r0]                                 ;
0802D7FE 8800     ldrh    r0,[r0]                                 ;
0802D800 8010     strh    r0,[r2]                                 ;
0802D802 F008FF25 bl      8036650h                                ;
0802D806 2801     cmp     r0,1h                                   ;
0802D808 D103     bne     802D812h                                ;
0802D80A 4816     ldr     r0,=2020C38h                            ;
0802D80C 7800     ldrb    r0,[r0]                                 ;
0802D80E 2800     cmp     r0,0h                                   ;
0802D810 D02C     beq     802D86Ch                                ;
0802D812 78A1     ldrb    r1,[r4,2h]                              ;
0802D814 0088     lsl     r0,r1,2h                                ;
0802D816 1840     add     r0,r0,r1                                ;
0802D818 78E1     ldrb    r1,[r4,3h]                              ;
0802D81A 1840     add     r0,r0,r1                                ;
0802D81C 0080     lsl     r0,r0,2h                                ;
0802D81E 1940     add     r0,r0,r5                                ;
0802D820 6800     ldr     r0,[r0]                                 ;
0802D822 F7F7FA5F bl      8024CE4h                                ;
0802D826 7921     ldrb    r1,[r4,4h]                              ;
0802D828 0088     lsl     r0,r1,2h                                ;
0802D82A 1840     add     r0,r0,r1                                ;
0802D82C 7964     ldrb    r4,[r4,5h]                              ;
0802D82E 1900     add     r0,r0,r4                                ;
0802D830 0080     lsl     r0,r0,2h                                ;
0802D832 1940     add     r0,r0,r5                                ;
0802D834 6800     ldr     r0,[r0]                                 ;
0802D836 2100     mov     r1,0h                                   ;
0802D838 F7FBFA62 bl      8028D00h                                ;
0802D83C 4809     ldr     r0,=2020C38h                            ;
0802D83E 7800     ldrb    r0,[r0]                                 ;
0802D840 2800     cmp     r0,0h                                   ;
0802D842 D127     bne     802D894h                                ;
0802D844 2041     mov     r0,41h                                  ;
0802D846 F7F4FE7B bl      8022540h                                ;
0802D84A 4807     ldr     r0,=141h                                ;r0 = 321 ; Malevolent Nuzzler
0802D84C F7F8F828 bl      80258A0h                                ;
0802D850 2049     mov     r0,49h                                  ;
0802D852 F7F4FE75 bl      8022540h                                ;
0802D856 E01D     b       802D894h                                ;
0802D858 3270     add     r2,70h                                  ;
0802D85A 0202     lsl     r2,r0,8h                                ;
0802D85C 3480     add     r4,80h                                  ;
0802D85E 0202     lsl     r2,r0,8h                                ;
0802D860 37D0     add     r7,0D0h                                 ;
0802D862 0202     lsl     r2,r0,8h                                ;
0802D864 0C38     lsr     r0,r7,10h                               ;
0802D866 0202     lsl     r2,r0,8h                                ;
0802D868 0141     lsl     r1,r0,5h                                ;
0802D86A 0000     lsl     r0,r0,0h                                ;
0802D86C 78A0     ldrb    r0,[r4,2h]                              ;
0802D86E 0081     lsl     r1,r0,2h                                ;
0802D870 1809     add     r1,r1,r0                                ;
0802D872 78E4     ldrb    r4,[r4,3h]                              ;
0802D874 1909     add     r1,r1,r4                                ;
0802D876 0089     lsl     r1,r1,2h                                ;
0802D878 1949     add     r1,r1,r5                                ;
0802D87A 6808     ldr     r0,[r1]                                 ;
0802D87C F7F7FA3C bl      8024CF8h                                ;
0802D880 F008FE6E bl      8036560h                                ;
0802D884 E006     b       802D894h                                ;
0802D886 4805     ldr     r0,=2020C38h                            ;
0802D888 7800     ldrb    r0,[r0]                                 ;
0802D88A 2800     cmp     r0,0h                                   ;
0802D88C D102     bne     802D894h                                ;
0802D88E 2039     mov     r0,39h                                  ;
0802D890 F7F4FE56 bl      8022540h                                ;
0802D894 BC30     pop     r4,r5                                   ;
0802D896 BC01     pop     r0                                      ;
0802D898 4700     bx      r0                                      ;

Violet Crystal

0802D8A2 4D25     ldr     r5,=2023270h                            ;Violet Crystal
0802D8A4 4C25     ldr     r4,=2023480h                            ;
0802D8A6 78A1     ldrb    r1,[r4,2h]                              ;
0802D8A8 0088     lsl     r0,r1,2h                                ;
0802D8AA 1840     add     r0,r0,r1                                ;
0802D8AC 78E1     ldrb    r1,[r4,3h]                              ;
0802D8AE 1840     add     r0,r0,r1                                ;
0802D8B0 0080     lsl     r0,r0,2h                                ;
0802D8B2 1940     add     r0,r0,r5                                ;
0802D8B4 6800     ldr     r0,[r0]                                 ;
0802D8B6 8800     ldrh    r0,[r0]                                 ;
0802D8B8 F007F8DE bl      8034A78h                                ;
0802D8BC 2801     cmp     r0,1h                                   ;
0802D8BE D150     bne     802D962h                                ;
0802D8C0 4A1F     ldr     r2,=20237D0h                            ;
0802D8C2 7920     ldrb    r0,[r4,4h]                              ;
0802D8C4 7090     strb    r0,[r2,2h]                              ;
0802D8C6 7960     ldrb    r0,[r4,5h]                              ;
0802D8C8 70D0     strb    r0,[r2,3h]                              ;
0802D8CA 7921     ldrb    r1,[r4,4h]                              ;
0802D8CC 0088     lsl     r0,r1,2h                                ;
0802D8CE 1840     add     r0,r0,r1                                ;
0802D8D0 7961     ldrb    r1,[r4,5h]                              ;
0802D8D2 1840     add     r0,r0,r1                                ;
0802D8D4 0080     lsl     r0,r0,2h                                ;
0802D8D6 1940     add     r0,r0,r5                                ;
0802D8D8 6800     ldr     r0,[r0]                                 ;
0802D8DA 8800     ldrh    r0,[r0]                                 ;
0802D8DC 8010     strh    r0,[r2]                                 ;
0802D8DE F008FEB7 bl      8036650h                                ;
0802D8E2 2801     cmp     r0,1h                                   ;
0802D8E4 D103     bne     802D8EEh                                ;
0802D8E6 4817     ldr     r0,=2020C38h                            ;
0802D8E8 7800     ldrb    r0,[r0]                                 ;
0802D8EA 2800     cmp     r0,0h                                   ;
0802D8EC D02C     beq     802D948h                                ;
0802D8EE 78A1     ldrb    r1,[r4,2h]                              ;
0802D8F0 0088     lsl     r0,r1,2h                                ;
0802D8F2 1840     add     r0,r0,r1                                ;
0802D8F4 78E1     ldrb    r1,[r4,3h]                              ;
0802D8F6 1840     add     r0,r0,r1                                ;
0802D8F8 0080     lsl     r0,r0,2h                                ;
0802D8FA 1940     add     r0,r0,r5                                ;
0802D8FC 6800     ldr     r0,[r0]                                 ;
0802D8FE F7F7F9F1 bl      8024CE4h                                ;
0802D902 7921     ldrb    r1,[r4,4h]                              ;
0802D904 0088     lsl     r0,r1,2h                                ;
0802D906 1840     add     r0,r0,r1                                ;
0802D908 7964     ldrb    r4,[r4,5h]                              ;
0802D90A 1900     add     r0,r0,r4                                ;
0802D90C 0080     lsl     r0,r0,2h                                ;
0802D90E 1940     add     r0,r0,r5                                ;
0802D910 6800     ldr     r0,[r0]                                 ;
0802D912 2100     mov     r1,0h                                   ;
0802D914 F7FBF9F4 bl      8028D00h                                ;
0802D918 480A     ldr     r0,=2020C38h                            ;
0802D91A 7800     ldrb    r0,[r0]                                 ;
0802D91C 2800     cmp     r0,0h                                   ;
0802D91E D127     bne     802D970h                                ;
0802D920 2041     mov     r0,41h                                  ;
0802D922 F7F4FE0D bl      8022540h                                ;
0802D926 20A1     mov     r0,0A1h                                 ;
0802D928 0040     lsl     r0,r0,1h                                ;r0 = 322 ; Violet Crystal
0802D92A F7F7FFB9 bl      80258A0h                                ;
0802D92E 2049     mov     r0,49h                                  ;
0802D930 F7F4FE06 bl      8022540h                                ;
0802D934 E01C     b       802D970h                                ;
0802D936 0000     lsl     r0,r0,0h                                ;
0802D938 3270     add     r2,70h                                  ;
0802D93A 0202     lsl     r2,r0,8h                                ;
0802D93C 3480     add     r4,80h                                  ;
0802D93E 0202     lsl     r2,r0,8h                                ;
0802D940 37D0     add     r7,0D0h                                 ;
0802D942 0202     lsl     r2,r0,8h                                ;
0802D944 0C38     lsr     r0,r7,10h                               ;
0802D946 0202     lsl     r2,r0,8h                                ;
0802D948 78A0     ldrb    r0,[r4,2h]                              ;
0802D94A 0081     lsl     r1,r0,2h                                ;
0802D94C 1809     add     r1,r1,r0                                ;
0802D94E 78E4     ldrb    r4,[r4,3h]                              ;
0802D950 1909     add     r1,r1,r4                                ;
0802D952 0089     lsl     r1,r1,2h                                ;
0802D954 1949     add     r1,r1,r5                                ;
0802D956 6808     ldr     r0,[r1]                                 ;
0802D958 F7F7F9CE bl      8024CF8h                                ;
0802D95C F008FE00 bl      8036560h                                ;
0802D960 E006     b       802D970h                                ;
0802D962 4805     ldr     r0,=2020C38h                            ;
0802D964 7800     ldrb    r0,[r0]                                 ;
0802D966 2800     cmp     r0,0h                                   ;
0802D968 D102     bne     802D970h                                ;
0802D96A 2039     mov     r0,39h                                  ;
0802D96C F7F4FDE8 bl      8022540h                                ;
0802D970 BC30     pop     r4,r5                                   ;
0802D972 BC01     pop     r0                                      ;
0802D974 4700     bx      r0                                      ;

Book of Secret Arts

0802D97E 4D24     ldr     r5,=2023270h                            ;Book of Secret Arts
0802D980 4C24     ldr     r4,=2023480h                            ;
0802D982 78A1     ldrb    r1,[r4,2h]                              ;
0802D984 0088     lsl     r0,r1,2h                                ;
0802D986 1840     add     r0,r0,r1                                ;
0802D988 78E1     ldrb    r1,[r4,3h]                              ;
0802D98A 1840     add     r0,r0,r1                                ;
0802D98C 0080     lsl     r0,r0,2h                                ;
0802D98E 1940     add     r0,r0,r5                                ;
0802D990 6800     ldr     r0,[r0]                                 ;
0802D992 8800     ldrh    r0,[r0]                                 ;
0802D994 F007F87E bl      8034A94h                                ;
0802D998 2801     cmp     r0,1h                                   ;
0802D99A D150     bne     802DA3Eh                                ;
0802D99C 4A1E     ldr     r2,=20237D0h                            ;
0802D99E 7920     ldrb    r0,[r4,4h]                              ;
0802D9A0 7090     strb    r0,[r2,2h]                              ;
0802D9A2 7960     ldrb    r0,[r4,5h]                              ;
0802D9A4 70D0     strb    r0,[r2,3h]                              ;
0802D9A6 7921     ldrb    r1,[r4,4h]                              ;
0802D9A8 0088     lsl     r0,r1,2h                                ;
0802D9AA 1840     add     r0,r0,r1                                ;
0802D9AC 7961     ldrb    r1,[r4,5h]                              ;
0802D9AE 1840     add     r0,r0,r1                                ;
0802D9B0 0080     lsl     r0,r0,2h                                ;
0802D9B2 1940     add     r0,r0,r5                                ;
0802D9B4 6800     ldr     r0,[r0]                                 ;
0802D9B6 8800     ldrh    r0,[r0]                                 ;
0802D9B8 8010     strh    r0,[r2]                                 ;
0802D9BA F008FE49 bl      8036650h                                ;
0802D9BE 2801     cmp     r0,1h                                   ;
0802D9C0 D103     bne     802D9CAh                                ;
0802D9C2 4816     ldr     r0,=2020C38h                            ;
0802D9C4 7800     ldrb    r0,[r0]                                 ;
0802D9C6 2800     cmp     r0,0h                                   ;
0802D9C8 D02C     beq     802DA24h                                ;
0802D9CA 78A1     ldrb    r1,[r4,2h]                              ;
0802D9CC 0088     lsl     r0,r1,2h                                ;
0802D9CE 1840     add     r0,r0,r1                                ;
0802D9D0 78E1     ldrb    r1,[r4,3h]                              ;
0802D9D2 1840     add     r0,r0,r1                                ;
0802D9D4 0080     lsl     r0,r0,2h                                ;
0802D9D6 1940     add     r0,r0,r5                                ;
0802D9D8 6800     ldr     r0,[r0]                                 ;
0802D9DA F7F7F983 bl      8024CE4h                                ;
0802D9DE 7921     ldrb    r1,[r4,4h]                              ;
0802D9E0 0088     lsl     r0,r1,2h                                ;
0802D9E2 1840     add     r0,r0,r1                                ;
0802D9E4 7964     ldrb    r4,[r4,5h]                              ;
0802D9E6 1900     add     r0,r0,r4                                ;
0802D9E8 0080     lsl     r0,r0,2h                                ;
0802D9EA 1940     add     r0,r0,r5                                ;
0802D9EC 6800     ldr     r0,[r0]                                 ;
0802D9EE 2100     mov     r1,0h                                   ;
0802D9F0 F7FBF986 bl      8028D00h                                ;
0802D9F4 4809     ldr     r0,=2020C38h                            ;
0802D9F6 7800     ldrb    r0,[r0]                                 ;
0802D9F8 2800     cmp     r0,0h                                   ;
0802D9FA D127     bne     802DA4Ch                                ;
0802D9FC 2041     mov     r0,41h                                  ;
0802D9FE F7F4FD9F bl      8022540h                                ;
0802DA02 4807     ldr     r0,=143h                                ;r0 = 323 ; Book of Secret Arts
0802DA04 F7F7FF4C bl      80258A0h                                ;
0802DA08 2049     mov     r0,49h                                  ;
0802DA0A F7F4FD99 bl      8022540h                                ;
0802DA0E E01D     b       802DA4Ch                                ;
0802DA10 3270     add     r2,70h                                  ;
0802DA12 0202     lsl     r2,r0,8h                                ;
0802DA14 3480     add     r4,80h                                  ;
0802DA16 0202     lsl     r2,r0,8h                                ;
0802DA18 37D0     add     r7,0D0h                                 ;
0802DA1A 0202     lsl     r2,r0,8h                                ;
0802DA1C 0C38     lsr     r0,r7,10h                               ;
0802DA1E 0202     lsl     r2,r0,8h                                ;
0802DA20 0143     lsl     r3,r0,5h                                ;
0802DA22 0000     lsl     r0,r0,0h                                ;
0802DA24 78A0     ldrb    r0,[r4,2h]                              ;
0802DA26 0081     lsl     r1,r0,2h                                ;
0802DA28 1809     add     r1,r1,r0                                ;
0802DA2A 78E4     ldrb    r4,[r4,3h]                              ;
0802DA2C 1909     add     r1,r1,r4                                ;
0802DA2E 0089     lsl     r1,r1,2h                                ;
0802DA30 1949     add     r1,r1,r5                                ;
0802DA32 6808     ldr     r0,[r1]                                 ;
0802DA34 F7F7F960 bl      8024CF8h                                ;
0802DA38 F008FD92 bl      8036560h                                ;
0802DA3C E006     b       802DA4Ch                                ;
0802DA3E 4805     ldr     r0,=2020C38h                            ;
0802DA40 7800     ldrb    r0,[r0]                                 ;
0802DA42 2800     cmp     r0,0h                                   ;
0802DA44 D102     bne     802DA4Ch                                ;
0802DA46 2039     mov     r0,39h                                  ;
0802DA48 F7F4FD7A bl      8022540h                                ;
0802DA4C BC30     pop     r4,r5                                   ;
0802DA4E BC01     pop     r0                                      ;
0802DA50 4700     bx      r0                                      ;

Invigoration

0802DA5A 4D25     ldr     r5,=2023270h                            ;Invigoration
0802DA5C 4C25     ldr     r4,=2023480h                            ;
0802DA5E 78A1     ldrb    r1,[r4,2h]                              ;
0802DA60 0088     lsl     r0,r1,2h                                ;
0802DA62 1840     add     r0,r0,r1                                ;
0802DA64 78E1     ldrb    r1,[r4,3h]                              ;
0802DA66 1840     add     r0,r0,r1                                ;
0802DA68 0080     lsl     r0,r0,2h                                ;
0802DA6A 1940     add     r0,r0,r5                                ;
0802DA6C 6800     ldr     r0,[r0]                                 ;
0802DA6E 8800     ldrh    r0,[r0]                                 ;
0802DA70 F007F81E bl      8034AB0h                                ;
0802DA74 2801     cmp     r0,1h                                   ;
0802DA76 D150     bne     802DB1Ah                                ;
0802DA78 4A1F     ldr     r2,=20237D0h                            ;
0802DA7A 7920     ldrb    r0,[r4,4h]                              ;
0802DA7C 7090     strb    r0,[r2,2h]                              ;
0802DA7E 7960     ldrb    r0,[r4,5h]                              ;
0802DA80 70D0     strb    r0,[r2,3h]                              ;
0802DA82 7921     ldrb    r1,[r4,4h]                              ;
0802DA84 0088     lsl     r0,r1,2h                                ;
0802DA86 1840     add     r0,r0,r1                                ;
0802DA88 7961     ldrb    r1,[r4,5h]                              ;
0802DA8A 1840     add     r0,r0,r1                                ;
0802DA8C 0080     lsl     r0,r0,2h                                ;
0802DA8E 1940     add     r0,r0,r5                                ;
0802DA90 6800     ldr     r0,[r0]                                 ;
0802DA92 8800     ldrh    r0,[r0]                                 ;
0802DA94 8010     strh    r0,[r2]                                 ;
0802DA96 F008FDDB bl      8036650h                                ;
0802DA9A 2801     cmp     r0,1h                                   ;
0802DA9C D103     bne     802DAA6h                                ;
0802DA9E 4817     ldr     r0,=2020C38h                            ;
0802DAA0 7800     ldrb    r0,[r0]                                 ;
0802DAA2 2800     cmp     r0,0h                                   ;
0802DAA4 D02C     beq     802DB00h                                ;
0802DAA6 78A1     ldrb    r1,[r4,2h]                              ;
0802DAA8 0088     lsl     r0,r1,2h                                ;
0802DAAA 1840     add     r0,r0,r1                                ;
0802DAAC 78E1     ldrb    r1,[r4,3h]                              ;
0802DAAE 1840     add     r0,r0,r1                                ;
0802DAB0 0080     lsl     r0,r0,2h                                ;
0802DAB2 1940     add     r0,r0,r5                                ;
0802DAB4 6800     ldr     r0,[r0]                                 ;
0802DAB6 F7F7F915 bl      8024CE4h                                ;
0802DABA 7921     ldrb    r1,[r4,4h]                              ;
0802DABC 0088     lsl     r0,r1,2h                                ;
0802DABE 1840     add     r0,r0,r1                                ;
0802DAC0 7964     ldrb    r4,[r4,5h]                              ;
0802DAC2 1900     add     r0,r0,r4                                ;
0802DAC4 0080     lsl     r0,r0,2h                                ;
0802DAC6 1940     add     r0,r0,r5                                ;
0802DAC8 6800     ldr     r0,[r0]                                 ;
0802DACA 2100     mov     r1,0h                                   ;
0802DACC F7FBF918 bl      8028D00h                                ;
0802DAD0 480A     ldr     r0,=2020C38h                            ;
0802DAD2 7800     ldrb    r0,[r0]                                 ;
0802DAD4 2800     cmp     r0,0h                                   ;
0802DAD6 D127     bne     802DB28h                                ;
0802DAD8 2041     mov     r0,41h                                  ;
0802DADA F7F4FD31 bl      8022540h                                ;
0802DADE 20A2     mov     r0,0A2h                                 ;
0802DAE0 0040     lsl     r0,r0,1h                                ;r0 = 324 ; Invigoration
0802DAE2 F7F7FEDD bl      80258A0h                                ;
0802DAE6 2049     mov     r0,49h                                  ;
0802DAE8 F7F4FD2A bl      8022540h                                ;
0802DAEC E01C     b       802DB28h                                ;
0802DAEE 0000     lsl     r0,r0,0h                                ;
0802DAF0 3270     add     r2,70h                                  ;
0802DAF2 0202     lsl     r2,r0,8h                                ;
0802DAF4 3480     add     r4,80h                                  ;
0802DAF6 0202     lsl     r2,r0,8h                                ;
0802DAF8 37D0     add     r7,0D0h                                 ;
0802DAFA 0202     lsl     r2,r0,8h                                ;
0802DAFC 0C38     lsr     r0,r7,10h                               ;
0802DAFE 0202     lsl     r2,r0,8h                                ;
0802DB00 78A0     ldrb    r0,[r4,2h]                              ;
0802DB02 0081     lsl     r1,r0,2h                                ;
0802DB04 1809     add     r1,r1,r0                                ;
0802DB06 78E4     ldrb    r4,[r4,3h]                              ;
0802DB08 1909     add     r1,r1,r4                                ;
0802DB0A 0089     lsl     r1,r1,2h                                ;
0802DB0C 1949     add     r1,r1,r5                                ;
0802DB0E 6808     ldr     r0,[r1]                                 ;
0802DB10 F7F7F8F2 bl      8024CF8h                                ;
0802DB14 F008FD24 bl      8036560h                                ;
0802DB18 E006     b       802DB28h                                ;
0802DB1A 4805     ldr     r0,=2020C38h                            ;
0802DB1C 7800     ldrb    r0,[r0]                                 ;
0802DB1E 2800     cmp     r0,0h                                   ;
0802DB20 D102     bne     802DB28h                                ;
0802DB22 2039     mov     r0,39h                                  ;
0802DB24 F7F4FD0C bl      8022540h                                ;
0802DB28 BC30     pop     r4,r5                                   ;
0802DB2A BC01     pop     r0                                      ;
0802DB2C 4700     bx      r0                                      ;

Machine Conversion Factory

0802DB36 4D24     ldr     r5,=2023270h                            ;Machine Conversion Factory
0802DB38 4C24     ldr     r4,=2023480h                            ;
0802DB3A 78A1     ldrb    r1,[r4,2h]                              ;
0802DB3C 0088     lsl     r0,r1,2h                                ;
0802DB3E 1840     add     r0,r0,r1                                ;
0802DB40 78E1     ldrb    r1,[r4,3h]                              ;
0802DB42 1840     add     r0,r0,r1                                ;
0802DB44 0080     lsl     r0,r0,2h                                ;
0802DB46 1940     add     r0,r0,r5                                ;
0802DB48 6800     ldr     r0,[r0]                                 ;
0802DB4A 8800     ldrh    r0,[r0]                                 ;
0802DB4C F006FFBE bl      8034ACCh                                ;
0802DB50 2801     cmp     r0,1h                                   ;
0802DB52 D150     bne     802DBF6h                                ;
0802DB54 4A1E     ldr     r2,=20237D0h                            ;
0802DB56 7920     ldrb    r0,[r4,4h]                              ;
0802DB58 7090     strb    r0,[r2,2h]                              ;
0802DB5A 7960     ldrb    r0,[r4,5h]                              ;
0802DB5C 70D0     strb    r0,[r2,3h]                              ;
0802DB5E 7921     ldrb    r1,[r4,4h]                              ;
0802DB60 0088     lsl     r0,r1,2h                                ;
0802DB62 1840     add     r0,r0,r1                                ;
0802DB64 7961     ldrb    r1,[r4,5h]                              ;
0802DB66 1840     add     r0,r0,r1                                ;
0802DB68 0080     lsl     r0,r0,2h                                ;
0802DB6A 1940     add     r0,r0,r5                                ;
0802DB6C 6800     ldr     r0,[r0]                                 ;
0802DB6E 8800     ldrh    r0,[r0]                                 ;
0802DB70 8010     strh    r0,[r2]                                 ;
0802DB72 F008FD6D bl      8036650h                                ;
0802DB76 2801     cmp     r0,1h                                   ;
0802DB78 D103     bne     802DB82h                                ;
0802DB7A 4816     ldr     r0,=2020C38h                            ;
0802DB7C 7800     ldrb    r0,[r0]                                 ;
0802DB7E 2800     cmp     r0,0h                                   ;
0802DB80 D02C     beq     802DBDCh                                ;
0802DB82 78A1     ldrb    r1,[r4,2h]                              ;
0802DB84 0088     lsl     r0,r1,2h                                ;
0802DB86 1840     add     r0,r0,r1                                ;
0802DB88 78E1     ldrb    r1,[r4,3h]                              ;
0802DB8A 1840     add     r0,r0,r1                                ;
0802DB8C 0080     lsl     r0,r0,2h                                ;
0802DB8E 1940     add     r0,r0,r5                                ;
0802DB90 6800     ldr     r0,[r0]                                 ;
0802DB92 F7F7F8A7 bl      8024CE4h                                ;
0802DB96 7921     ldrb    r1,[r4,4h]                              ;
0802DB98 0088     lsl     r0,r1,2h                                ;
0802DB9A 1840     add     r0,r0,r1                                ;
0802DB9C 7964     ldrb    r4,[r4,5h]                              ;
0802DB9E 1900     add     r0,r0,r4                                ;
0802DBA0 0080     lsl     r0,r0,2h                                ;
0802DBA2 1940     add     r0,r0,r5                                ;
0802DBA4 6800     ldr     r0,[r0]                                 ;
0802DBA6 2100     mov     r1,0h                                   ;
0802DBA8 F7FBF8AA bl      8028D00h                                ;
0802DBAC 4809     ldr     r0,=2020C38h                            ;
0802DBAE 7800     ldrb    r0,[r0]                                 ;
0802DBB0 2800     cmp     r0,0h                                   ;
0802DBB2 D127     bne     802DC04h                                ;
0802DBB4 2041     mov     r0,41h                                  ;
0802DBB6 F7F4FCC3 bl      8022540h                                ;
0802DBBA 4807     ldr     r0,=145h                                ;r0 = 325 ; Machine Conversion Factory
0802DBBC F7F7FE70 bl      80258A0h                                ;
0802DBC0 2049     mov     r0,49h                                  ;
0802DBC2 F7F4FCBD bl      8022540h                                ;
0802DBC6 E01D     b       802DC04h                                ;
0802DBC8 3270     add     r2,70h                                  ;
0802DBCA 0202     lsl     r2,r0,8h                                ;
0802DBCC 3480     add     r4,80h                                  ;
0802DBCE 0202     lsl     r2,r0,8h                                ;
0802DBD0 37D0     add     r7,0D0h                                 ;
0802DBD2 0202     lsl     r2,r0,8h                                ;
0802DBD4 0C38     lsr     r0,r7,10h                               ;
0802DBD6 0202     lsl     r2,r0,8h                                ;
0802DBD8 0145     lsl     r5,r0,5h                                ;
0802DBDA 0000     lsl     r0,r0,0h                                ;
0802DBDC 78A0     ldrb    r0,[r4,2h]                              ;
0802DBDE 0081     lsl     r1,r0,2h                                ;
0802DBE0 1809     add     r1,r1,r0                                ;
0802DBE2 78E4     ldrb    r4,[r4,3h]                              ;
0802DBE4 1909     add     r1,r1,r4                                ;
0802DBE6 0089     lsl     r1,r1,2h                                ;
0802DBE8 1949     add     r1,r1,r5                                ;
0802DBEA 6808     ldr     r0,[r1]                                 ;
0802DBEC F7F7F884 bl      8024CF8h                                ;
0802DBF0 F008FCB6 bl      8036560h                                ;
0802DBF4 E006     b       802DC04h                                ;
0802DBF6 4805     ldr     r0,=2020C38h                            ;
0802DBF8 7800     ldrb    r0,[r0]                                 ;
0802DBFA 2800     cmp     r0,0h                                   ;
0802DBFC D102     bne     802DC04h                                ;
0802DBFE 2039     mov     r0,39h                                  ;
0802DC00 F7F4FC9E bl      8022540h                                ;
0802DC04 BC30     pop     r4,r5                                   ;
0802DC06 BC01     pop     r0                                      ;
0802DC08 4700     bx      r0                                      ;

Raise Body Heat

0802DC12 4D25     ldr     r5,=2023270h                            ;Raise Body Heat
0802DC14 4C25     ldr     r4,=2023480h                            ;
0802DC16 78A1     ldrb    r1,[r4,2h]                              ;
0802DC18 0088     lsl     r0,r1,2h                                ;
0802DC1A 1840     add     r0,r0,r1                                ;
0802DC1C 78E1     ldrb    r1,[r4,3h]                              ;
0802DC1E 1840     add     r0,r0,r1                                ;
0802DC20 0080     lsl     r0,r0,2h                                ;
0802DC22 1940     add     r0,r0,r5                                ;
0802DC24 6800     ldr     r0,[r0]                                 ;
0802DC26 8800     ldrh    r0,[r0]                                 ;
0802DC28 F006FF5E bl      8034AE8h                                ;
0802DC2C 2801     cmp     r0,1h                                   ;
0802DC2E D150     bne     802DCD2h                                ;
0802DC30 4A1F     ldr     r2,=20237D0h                            ;
0802DC32 7920     ldrb    r0,[r4,4h]                              ;
0802DC34 7090     strb    r0,[r2,2h]                              ;
0802DC36 7960     ldrb    r0,[r4,5h]                              ;
0802DC38 70D0     strb    r0,[r2,3h]                              ;
0802DC3A 7921     ldrb    r1,[r4,4h]                              ;
0802DC3C 0088     lsl     r0,r1,2h                                ;
0802DC3E 1840     add     r0,r0,r1                                ;
0802DC40 7961     ldrb    r1,[r4,5h]                              ;
0802DC42 1840     add     r0,r0,r1                                ;
0802DC44 0080     lsl     r0,r0,2h                                ;
0802DC46 1940     add     r0,r0,r5                                ;
0802DC48 6800     ldr     r0,[r0]                                 ;
0802DC4A 8800     ldrh    r0,[r0]                                 ;
0802DC4C 8010     strh    r0,[r2]                                 ;
0802DC4E F008FCFF bl      8036650h                                ;
0802DC52 2801     cmp     r0,1h                                   ;
0802DC54 D103     bne     802DC5Eh                                ;
0802DC56 4817     ldr     r0,=2020C38h                            ;
0802DC58 7800     ldrb    r0,[r0]                                 ;
0802DC5A 2800     cmp     r0,0h                                   ;
0802DC5C D02C     beq     802DCB8h                                ;
0802DC5E 78A1     ldrb    r1,[r4,2h]                              ;
0802DC60 0088     lsl     r0,r1,2h                                ;
0802DC62 1840     add     r0,r0,r1                                ;
0802DC64 78E1     ldrb    r1,[r4,3h]                              ;
0802DC66 1840     add     r0,r0,r1                                ;
0802DC68 0080     lsl     r0,r0,2h                                ;
0802DC6A 1940     add     r0,r0,r5                                ;
0802DC6C 6800     ldr     r0,[r0]                                 ;
0802DC6E F7F7F839 bl      8024CE4h                                ;
0802DC72 7921     ldrb    r1,[r4,4h]                              ;
0802DC74 0088     lsl     r0,r1,2h                                ;
0802DC76 1840     add     r0,r0,r1                                ;
0802DC78 7964     ldrb    r4,[r4,5h]                              ;
0802DC7A 1900     add     r0,r0,r4                                ;
0802DC7C 0080     lsl     r0,r0,2h                                ;
0802DC7E 1940     add     r0,r0,r5                                ;
0802DC80 6800     ldr     r0,[r0]                                 ;
0802DC82 2100     mov     r1,0h                                   ;
0802DC84 F7FBF83C bl      8028D00h                                ;
0802DC88 480A     ldr     r0,=2020C38h                            ;
0802DC8A 7800     ldrb    r0,[r0]                                 ;
0802DC8C 2800     cmp     r0,0h                                   ;
0802DC8E D127     bne     802DCE0h                                ;
0802DC90 2041     mov     r0,41h                                  ;
0802DC92 F7F4FC55 bl      8022540h                                ;
0802DC96 20A3     mov     r0,0A3h                                 ;
0802DC98 0040     lsl     r0,r0,1h                                ;r0 = 326 ; Raise Body Heat
0802DC9A F7F7FE01 bl      80258A0h                                ;
0802DC9E 2049     mov     r0,49h                                  ;
0802DCA0 F7F4FC4E bl      8022540h                                ;
0802DCA4 E01C     b       802DCE0h                                ;
0802DCA6 0000     lsl     r0,r0,0h                                ;
0802DCA8 3270     add     r2,70h                                  ;
0802DCAA 0202     lsl     r2,r0,8h                                ;
0802DCAC 3480     add     r4,80h                                  ;
0802DCAE 0202     lsl     r2,r0,8h                                ;
0802DCB0 37D0     add     r7,0D0h                                 ;
0802DCB2 0202     lsl     r2,r0,8h                                ;
0802DCB4 0C38     lsr     r0,r7,10h                               ;
0802DCB6 0202     lsl     r2,r0,8h                                ;
0802DCB8 78A0     ldrb    r0,[r4,2h]                              ;
0802DCBA 0081     lsl     r1,r0,2h                                ;
0802DCBC 1809     add     r1,r1,r0                                ;
0802DCBE 78E4     ldrb    r4,[r4,3h]                              ;
0802DCC0 1909     add     r1,r1,r4                                ;
0802DCC2 0089     lsl     r1,r1,2h                                ;
0802DCC4 1949     add     r1,r1,r5                                ;
0802DCC6 6808     ldr     r0,[r1]                                 ;
0802DCC8 F7F7F816 bl      8024CF8h                                ;
0802DCCC F008FC48 bl      8036560h                                ;
0802DCD0 E006     b       802DCE0h                                ;
0802DCD2 4805     ldr     r0,=2020C38h                            ;
0802DCD4 7800     ldrb    r0,[r0]                                 ;
0802DCD6 2800     cmp     r0,0h                                   ;
0802DCD8 D102     bne     802DCE0h                                ;
0802DCDA 2039     mov     r0,39h                                  ;
0802DCDC F7F4FC30 bl      8022540h                                ;
0802DCE0 BC30     pop     r4,r5                                   ;
0802DCE2 BC01     pop     r0                                      ;
0802DCE4 4700     bx      r0                                      ;

Follow Wind

0802DCEE 4D24     ldr     r5,=2023270h                            ;Follow Wind
0802DCF0 4C24     ldr     r4,=2023480h                            ;
0802DCF2 78A1     ldrb    r1,[r4,2h]                              ;
0802DCF4 0088     lsl     r0,r1,2h                                ;
0802DCF6 1840     add     r0,r0,r1                                ;
0802DCF8 78E1     ldrb    r1,[r4,3h]                              ;
0802DCFA 1840     add     r0,r0,r1                                ;
0802DCFC 0080     lsl     r0,r0,2h                                ;
0802DCFE 1940     add     r0,r0,r5                                ;
0802DD00 6800     ldr     r0,[r0]                                 ;
0802DD02 8800     ldrh    r0,[r0]                                 ;
0802DD04 F006FEFE bl      8034B04h                                ;
0802DD08 2801     cmp     r0,1h                                   ;
0802DD0A D150     bne     802DDAEh                                ;
0802DD0C 4A1E     ldr     r2,=20237D0h                            ;
0802DD0E 7920     ldrb    r0,[r4,4h]                              ;
0802DD10 7090     strb    r0,[r2,2h]                              ;
0802DD12 7960     ldrb    r0,[r4,5h]                              ;
0802DD14 70D0     strb    r0,[r2,3h]                              ;
0802DD16 7921     ldrb    r1,[r4,4h]                              ;
0802DD18 0088     lsl     r0,r1,2h                                ;
0802DD1A 1840     add     r0,r0,r1                                ;
0802DD1C 7961     ldrb    r1,[r4,5h]                              ;
0802DD1E 1840     add     r0,r0,r1                                ;
0802DD20 0080     lsl     r0,r0,2h                                ;
0802DD22 1940     add     r0,r0,r5                                ;
0802DD24 6800     ldr     r0,[r0]                                 ;
0802DD26 8800     ldrh    r0,[r0]                                 ;
0802DD28 8010     strh    r0,[r2]                                 ;
0802DD2A F008FC91 bl      8036650h                                ;
0802DD2E 2801     cmp     r0,1h                                   ;
0802DD30 D103     bne     802DD3Ah                                ;
0802DD32 4816     ldr     r0,=2020C38h                            ;
0802DD34 7800     ldrb    r0,[r0]                                 ;
0802DD36 2800     cmp     r0,0h                                   ;
0802DD38 D02C     beq     802DD94h                                ;
0802DD3A 78A1     ldrb    r1,[r4,2h]                              ;
0802DD3C 0088     lsl     r0,r1,2h                                ;
0802DD3E 1840     add     r0,r0,r1                                ;
0802DD40 78E1     ldrb    r1,[r4,3h]                              ;
0802DD42 1840     add     r0,r0,r1                                ;
0802DD44 0080     lsl     r0,r0,2h                                ;
0802DD46 1940     add     r0,r0,r5                                ;
0802DD48 6800     ldr     r0,[r0]                                 ;
0802DD4A F7F6FFCB bl      8024CE4h                                ;
0802DD4E 7921     ldrb    r1,[r4,4h]                              ;
0802DD50 0088     lsl     r0,r1,2h                                ;
0802DD52 1840     add     r0,r0,r1                                ;
0802DD54 7964     ldrb    r4,[r4,5h]                              ;
0802DD56 1900     add     r0,r0,r4                                ;
0802DD58 0080     lsl     r0,r0,2h                                ;
0802DD5A 1940     add     r0,r0,r5                                ;
0802DD5C 6800     ldr     r0,[r0]                                 ;
0802DD5E 2100     mov     r1,0h                                   ;
0802DD60 F7FAFFCE bl      8028D00h                                ;
0802DD64 4809     ldr     r0,=2020C38h                            ;
0802DD66 7800     ldrb    r0,[r0]                                 ;
0802DD68 2800     cmp     r0,0h                                   ;
0802DD6A D127     bne     802DDBCh                                ;
0802DD6C 2041     mov     r0,41h                                  ;
0802DD6E F7F4FBE7 bl      8022540h                                ;
0802DD72 4807     ldr     r0,=147h                                ;r0 = 327 ; Follow Wind
0802DD74 F7F7FD94 bl      80258A0h                                ;
0802DD78 2049     mov     r0,49h                                  ;
0802DD7A F7F4FBE1 bl      8022540h                                ;
0802DD7E E01D     b       802DDBCh                                ;
0802DD80 3270     add     r2,70h                                  ;
0802DD82 0202     lsl     r2,r0,8h                                ;
0802DD84 3480     add     r4,80h                                  ;
0802DD86 0202     lsl     r2,r0,8h                                ;
0802DD88 37D0     add     r7,0D0h                                 ;
0802DD8A 0202     lsl     r2,r0,8h                                ;
0802DD8C 0C38     lsr     r0,r7,10h                               ;
0802DD8E 0202     lsl     r2,r0,8h                                ;
0802DD90 0147     lsl     r7,r0,5h                                ;
0802DD92 0000     lsl     r0,r0,0h                                ;
0802DD94 78A0     ldrb    r0,[r4,2h]                              ;
0802DD96 0081     lsl     r1,r0,2h                                ;
0802DD98 1809     add     r1,r1,r0                                ;
0802DD9A 78E4     ldrb    r4,[r4,3h]                              ;
0802DD9C 1909     add     r1,r1,r4                                ;
0802DD9E 0089     lsl     r1,r1,2h                                ;
0802DDA0 1949     add     r1,r1,r5                                ;
0802DDA2 6808     ldr     r0,[r1]                                 ;
0802DDA4 F7F6FFA8 bl      8024CF8h                                ;
0802DDA8 F008FBDA bl      8036560h                                ;
0802DDAC E006     b       802DDBCh                                ;
0802DDAE 4805     ldr     r0,=2020C38h                            ;
0802DDB0 7800     ldrb    r0,[r0]                                 ;
0802DDB2 2800     cmp     r0,0h                                   ;
0802DDB4 D102     bne     802DDBCh                                ;
0802DDB6 2039     mov     r0,39h                                  ;
0802DDB8 F7F4FBC2 bl      8022540h                                ;
0802DDBC BC30     pop     r4,r5                                   ;
0802DDBE BC01     pop     r0                                      ;
0802DDC0 4700     bx      r0                                      ;

Power of Kaishin

0802DDCA 4D25     ldr     r5,=2023270h                            ;Power of Kaishin
0802DDCC 4C25     ldr     r4,=2023480h                            ;
0802DDCE 78A1     ldrb    r1,[r4,2h]                              ;
0802DDD0 0088     lsl     r0,r1,2h                                ;
0802DDD2 1840     add     r0,r0,r1                                ;
0802DDD4 78E1     ldrb    r1,[r4,3h]                              ;
0802DDD6 1840     add     r0,r0,r1                                ;
0802DDD8 0080     lsl     r0,r0,2h                                ;
0802DDDA 1940     add     r0,r0,r5                                ;
0802DDDC 6800     ldr     r0,[r0]                                 ;
0802DDDE 8800     ldrh    r0,[r0]                                 ;
0802DDE0 F006FE9E bl      8034B20h                                ;
0802DDE4 2801     cmp     r0,1h                                   ;
0802DDE6 D150     bne     802DE8Ah                                ;
0802DDE8 4A1F     ldr     r2,=20237D0h                            ;
0802DDEA 7920     ldrb    r0,[r4,4h]                              ;
0802DDEC 7090     strb    r0,[r2,2h]                              ;
0802DDEE 7960     ldrb    r0,[r4,5h]                              ;
0802DDF0 70D0     strb    r0,[r2,3h]                              ;
0802DDF2 7921     ldrb    r1,[r4,4h]                              ;
0802DDF4 0088     lsl     r0,r1,2h                                ;
0802DDF6 1840     add     r0,r0,r1                                ;
0802DDF8 7961     ldrb    r1,[r4,5h]                              ;
0802DDFA 1840     add     r0,r0,r1                                ;
0802DDFC 0080     lsl     r0,r0,2h                                ;
0802DDFE 1940     add     r0,r0,r5                                ;
0802DE00 6800     ldr     r0,[r0]                                 ;
0802DE02 8800     ldrh    r0,[r0]                                 ;
0802DE04 8010     strh    r0,[r2]                                 ;
0802DE06 F008FC23 bl      8036650h                                ;
0802DE0A 2801     cmp     r0,1h                                   ;
0802DE0C D103     bne     802DE16h                                ;
0802DE0E 4817     ldr     r0,=2020C38h                            ;
0802DE10 7800     ldrb    r0,[r0]                                 ;
0802DE12 2800     cmp     r0,0h                                   ;
0802DE14 D02C     beq     802DE70h                                ;
0802DE16 78A1     ldrb    r1,[r4,2h]                              ;
0802DE18 0088     lsl     r0,r1,2h                                ;
0802DE1A 1840     add     r0,r0,r1                                ;
0802DE1C 78E1     ldrb    r1,[r4,3h]                              ;
0802DE1E 1840     add     r0,r0,r1                                ;
0802DE20 0080     lsl     r0,r0,2h                                ;
0802DE22 1940     add     r0,r0,r5                                ;
0802DE24 6800     ldr     r0,[r0]                                 ;
0802DE26 F7F6FF5D bl      8024CE4h                                ;
0802DE2A 7921     ldrb    r1,[r4,4h]                              ;
0802DE2C 0088     lsl     r0,r1,2h                                ;
0802DE2E 1840     add     r0,r0,r1                                ;
0802DE30 7964     ldrb    r4,[r4,5h]                              ;
0802DE32 1900     add     r0,r0,r4                                ;
0802DE34 0080     lsl     r0,r0,2h                                ;
0802DE36 1940     add     r0,r0,r5                                ;
0802DE38 6800     ldr     r0,[r0]                                 ;
0802DE3A 2100     mov     r1,0h                                   ;
0802DE3C F7FAFF60 bl      8028D00h                                ;
0802DE40 480A     ldr     r0,=2020C38h                            ;
0802DE42 7800     ldrb    r0,[r0]                                 ;
0802DE44 2800     cmp     r0,0h                                   ;
0802DE46 D127     bne     802DE98h                                ;
0802DE48 2041     mov     r0,41h                                  ;
0802DE4A F7F4FB79 bl      8022540h                                ;
0802DE4E 20A4     mov     r0,0A4h                                 ;
0802DE50 0040     lsl     r0,r0,1h                                ;r0 = 328 ; Power of Kaishin
0802DE52 F7F7FD25 bl      80258A0h                                ;
0802DE56 2049     mov     r0,49h                                  ;
0802DE58 F7F4FB72 bl      8022540h                                ;
0802DE5C E01C     b       802DE98h                                ;
0802DE5E 0000     lsl     r0,r0,0h                                ;
0802DE60 3270     add     r2,70h                                  ;
0802DE62 0202     lsl     r2,r0,8h                                ;
0802DE64 3480     add     r4,80h                                  ;
0802DE66 0202     lsl     r2,r0,8h                                ;
0802DE68 37D0     add     r7,0D0h                                 ;
0802DE6A 0202     lsl     r2,r0,8h                                ;
0802DE6C 0C38     lsr     r0,r7,10h                               ;
0802DE6E 0202     lsl     r2,r0,8h                                ;
0802DE70 78A0     ldrb    r0,[r4,2h]                              ;
0802DE72 0081     lsl     r1,r0,2h                                ;
0802DE74 1809     add     r1,r1,r0                                ;
0802DE76 78E4     ldrb    r4,[r4,3h]                              ;
0802DE78 1909     add     r1,r1,r4                                ;
0802DE7A 0089     lsl     r1,r1,2h                                ;
0802DE7C 1949     add     r1,r1,r5                                ;
0802DE7E 6808     ldr     r0,[r1]                                 ;
0802DE80 F7F6FF3A bl      8024CF8h                                ;
0802DE84 F008FB6C bl      8036560h                                ;
0802DE88 E006     b       802DE98h                                ;
0802DE8A 4805     ldr     r0,=2020C38h                            ;
0802DE8C 7800     ldrb    r0,[r0]                                 ;
0802DE8E 2800     cmp     r0,0h                                   ;
0802DE90 D102     bne     802DE98h                                ;
0802DE92 2039     mov     r0,39h                                  ;
0802DE94 F7F4FB54 bl      8022540h                                ;
0802DE98 BC30     pop     r4,r5                                   ;
0802DE9A BC01     pop     r0                                      ;
0802DE9C 4700     bx      r0                                      ;

Stop Defense

  • 0x2DEA6 - Stop Defense, called with a push r4-r7,r14
0802DEA6 0000     lsl     r0,r0,0h                                ;Stop Defense
0802DEA8 B5F0     push    r4-r7,r14                               ;
  • 0x2DEAA - Stop Defense, without the push r4-r7,r14
0802DEAA 4647     mov     r7,r8                                   ;Stop Defense
0802DEAC B480     push    r7                                      ;
0802DEAE 4821     ldr     r0,=2023260h                            ;
0802DEB0 6842     ldr     r2,[r0,4h]                              ;
0802DEB2 7890     ldrb    r0,[r2,2h]                              ;
0802DEB4 2104     mov     r1,4h                                   ;
0802DEB6 4308     orr     r0,r1                                   ;
0802DEB8 7090     strb    r0,[r2,2h]                              ;
0802DEBA 2400     mov     r4,0h                                   ;
0802DEBC 481E     ldr     r0,=2023270h                            ;
0802DEBE 4680     mov     r8,r0                                   ;
0802DEC0 491E     ldr     r1,=2023480h                            ;
0802DEC2 468C     mov     r12,r1                                  ;
0802DEC4 4646     mov     r6,r8                                   ;
0802DEC6 3614     add     r6,14h                                  ;
0802DEC8 2703     mov     r7,3h                                   ;
0802DECA 427F     neg     r7,r7                                   ;
0802DECC 2510     mov     r5,10h                                  ;
0802DECE 00A0     lsl     r0,r4,2h                                ;
0802DED0 1983     add     r3,r0,r6                                ;
0802DED2 681A     ldr     r2,[r3]                                 ;
0802DED4 8810     ldrh    r0,[r2]                                 ;
0802DED6 2800     cmp     r0,0h                                   ;
0802DED8 D007     beq     802DEEAh                                ;
0802DEDA 7911     ldrb    r1,[r2,4h]                              ;
0802DEDC 1C38     mov     r0,r7                                   ;
0802DEDE 4008     and     r0,r1                                   ;
0802DEE0 7110     strb    r0,[r2,4h]                              ;
0802DEE2 6819     ldr     r1,[r3]                                 ;
0802DEE4 7908     ldrb    r0,[r1,4h]                              ;
0802DEE6 4328     orr     r0,r5                                   ;
0802DEE8 7108     strb    r0,[r1,4h]                              ;
0802DEEA 1C60     add     r0,r4,1                                 ;
0802DEEC 0600     lsl     r0,r0,18h                               ;
0802DEEE 0E04     lsr     r4,r0,18h                               ;
0802DEF0 2C04     cmp     r4,4h                                   ;
0802DEF2 D9EC     bls     802DECEh                                ;
0802DEF4 4662     mov     r2,r12                                  ;
0802DEF6 7891     ldrb    r1,[r2,2h]                              ;
0802DEF8 0088     lsl     r0,r1,2h                                ;
0802DEFA 1840     add     r0,r0,r1                                ;
0802DEFC 78D1     ldrb    r1,[r2,3h]                              ;
0802DEFE 1840     add     r0,r0,r1                                ;
0802DF00 0080     lsl     r0,r0,2h                                ;
0802DF02 4440     add     r0,r8                                   ;
0802DF04 6800     ldr     r0,[r0]                                 ;
0802DF06 2100     mov     r1,0h                                   ;
0802DF08 F7FAFEFA bl      8028D00h                                ;
0802DF0C 480C     ldr     r0,=2020C38h                            ;
0802DF0E 7800     ldrb    r0,[r0]                                 ;
0802DF10 2800     cmp     r0,0h                                   ;
0802DF12 D109     bne     802DF28h                                ;
0802DF14 2041     mov     r0,41h                                  ;
0802DF16 F7F4FB13 bl      8022540h                                ;
0802DF1A 20A0     mov     r0,0A0h                                 ;
0802DF1C 0040     lsl     r0,r0,1h                                ;r0 = 320 ; Stop Defense
0802DF1E F7F7FCBF bl      80258A0h                                ;
0802DF22 203C     mov     r0,3Ch                                  ;
0802DF24 F7F4FB0C bl      8022540h                                ;
0802DF28 BC08     pop     r3                                      ;
0802DF2A 4698     mov     r8,r3                                   ;
0802DF2C BCF0     pop     r4-r7                                   ;
0802DF2E BC01     pop     r0                                      ;
0802DF30 4700     bx      r0                                      ;

Dragon Capture Jar

0802DF46 2500     mov     r5,0h                                   ;Dragon Capture Jar
0802DF48 4F1A     ldr     r7,=2023284h                            ;
0802DF4A 4E1B     ldr     r6,=2020B00h                            ;
0802DF4C 00A8     lsl     r0,r5,2h                                ;
0802DF4E 19C4     add     r4,r0,r7                                ;
0802DF50 6820     ldr     r0,[r4]                                 ;
0802DF52 8800     ldrh    r0,[r0]                                 ;
0802DF54 F7D8FEAA bl      8006CACh                                ;
0802DF58 8A30     ldrh    r0,[r6,10h]                             ;
0802DF5A F7EBFA07 bl      801936Ch                                ;
0802DF5E 2800     cmp     r0,0h                                   ;
0802DF60 D106     bne     802DF70h                                ;
0802DF62 7DB0     ldrb    r0,[r6,16h]                             ;
0802DF64 2801     cmp     r0,1h                                   ;
0802DF66 D103     bne     802DF70h                                ;
0802DF68 6820     ldr     r0,[r4]                                 ;
0802DF6A 2101     mov     r1,1h                                   ;
0802DF6C F7FAFEC8 bl      8028D00h                                ;
0802DF70 1C68     add     r0,r5,1                                 ;
0802DF72 0600     lsl     r0,r0,18h                               ;
0802DF74 0E05     lsr     r5,r0,18h                               ;
0802DF76 2D04     cmp     r5,4h                                   ;
0802DF78 D9E8     bls     802DF4Ch                                ;
0802DF7A 4B10     ldr     r3,=2023270h                            ;
0802DF7C 4A10     ldr     r2,=2023480h                            ;
0802DF7E 7891     ldrb    r1,[r2,2h]                              ;
0802DF80 0088     lsl     r0,r1,2h                                ;
0802DF82 1840     add     r0,r0,r1                                ;
0802DF84 78D2     ldrb    r2,[r2,3h]                              ;
0802DF86 1880     add     r0,r0,r2                                ;
0802DF88 0080     lsl     r0,r0,2h                                ;
0802DF8A 18C0     add     r0,r0,r3                                ;
0802DF8C 6800     ldr     r0,[r0]                                 ;
0802DF8E 2100     mov     r1,0h                                   ;
0802DF90 F7FAFEB6 bl      8028D00h                                ;
0802DF94 480B     ldr     r0,=2020C38h                            ;
0802DF96 7800     ldrb    r0,[r0]                                 ;
0802DF98 2800     cmp     r0,0h                                   ;
0802DF9A D108     bne     802DFAEh                                ;
0802DF9C 2041     mov     r0,41h                                  ;
0802DF9E F7F4FACF bl      8022540h                                ;
0802DFA2 4809     ldr     r0,=149h                                ;r0 = 329 ; Dragon Capture Jar
0802DFA4 F7F7FC7C bl      80258A0h                                ;
0802DFA8 204C     mov     r0,4Ch                                  ;
0802DFAA F7F4FAC9 bl      8022540h                                ;
0802DFAE BCF0     pop     r4-r7                                   ;
0802DFB0 BC01     pop     r0                                      ;
0802DFB2 4700     bx      r0                                      ;

Swords of Revealing Light

0802DFCE 2001     mov     r0,1h                                   ;Swords of Revealing Light
0802DFD0 F7F6FF28 bl      8024E24h                                ;
0802DFD4 2200     mov     r2,0h                                   ;
0802DFD6 4B17     ldr     r3,=2023284h                            ;
0802DFD8 1C1D     mov     r5,r3                                   ;
0802DFDA 3D14     sub     r5,14h                                  ;
0802DFDC 2410     mov     r4,10h                                  ;
0802DFDE 0090     lsl     r0,r2,2h                                ;
0802DFE0 18C0     add     r0,r0,r3                                ;
0802DFE2 6801     ldr     r1,[r0]                                 ;
0802DFE4 8808     ldrh    r0,[r1]                                 ;
0802DFE6 2800     cmp     r0,0h                                   ;
0802DFE8 D002     beq     802DFF0h                                ;
0802DFEA 7908     ldrb    r0,[r1,4h]                              ;
0802DFEC 4320     orr     r0,r4                                   ;
0802DFEE 7108     strb    r0,[r1,4h]                              ;
0802DFF0 1C50     add     r0,r2,1                                 ;
0802DFF2 0600     lsl     r0,r0,18h                               ;
0802DFF4 0E02     lsr     r2,r0,18h                               ;
0802DFF6 2A04     cmp     r2,4h                                   ;
0802DFF8 D9F1     bls     802DFDEh                                ;
0802DFFA 4A0F     ldr     r2,=2023480h                            ;
0802DFFC 7891     ldrb    r1,[r2,2h]                              ;
0802DFFE 0088     lsl     r0,r1,2h                                ;
0802E000 1840     add     r0,r0,r1                                ;
0802E002 78D2     ldrb    r2,[r2,3h]                              ;
0802E004 1880     add     r0,r0,r2                                ;
0802E006 0080     lsl     r0,r0,2h                                ;
0802E008 1940     add     r0,r0,r5                                ;
0802E00A 6800     ldr     r0,[r0]                                 ;
0802E00C 2100     mov     r1,0h                                   ;
0802E00E F7FAFE77 bl      8028D00h                                ;
0802E012 480A     ldr     r0,=2020C38h                            ;
0802E014 7800     ldrb    r0,[r0]                                 ;
0802E016 2800     cmp     r0,0h                                   ;
0802E018 D109     bne     802E02Eh                                ;
0802E01A 2041     mov     r0,41h                                  ;
0802E01C F7F4FA90 bl      8022540h                                ;
0802E020 20AE     mov     r0,0AEh                                 ;
0802E022 0040     lsl     r0,r0,1h                                ;r0 = 348 ; Swords of Revealing Light
0802E024 F7F7FC3C bl      80258A0h                                ;
0802E028 2050     mov     r0,50h                                  ;
0802E02A F7F4FA89 bl      8022540h                                ;
0802E02E BC30     pop     r4,r5                                   ;
0802E030 BC01     pop     r0                                      ;
0802E032 4700     bx      r0                                      ;

Dark-Piercing Light

0802E042 2200     mov     r2,0h                                   ;Dark-Piercing Light
0802E044 4E17     ldr     r6,=2023270h                            ;
0802E046 4D18     ldr     r5,=2023480h                            ;
0802E048 1C34     mov     r4,r6                                   ;
0802E04A 3414     add     r4,14h                                  ;
0802E04C 2310     mov     r3,10h                                  ;
0802E04E 0090     lsl     r0,r2,2h                                ;
0802E050 1900     add     r0,r0,r4                                ;
0802E052 6801     ldr     r1,[r0]                                 ;
0802E054 8808     ldrh    r0,[r1]                                 ;
0802E056 2800     cmp     r0,0h                                   ;
0802E058 D002     beq     802E060h                                ;
0802E05A 7908     ldrb    r0,[r1,4h]                              ;
0802E05C 4318     orr     r0,r3                                   ;
0802E05E 7108     strb    r0,[r1,4h]                              ;
0802E060 1C50     add     r0,r2,1                                 ;
0802E062 0600     lsl     r0,r0,18h                               ;
0802E064 0E02     lsr     r2,r0,18h                               ;
0802E066 2A04     cmp     r2,4h                                   ;
0802E068 D9F1     bls     802E04Eh                                ;
0802E06A 78A9     ldrb    r1,[r5,2h]                              ;
0802E06C 0088     lsl     r0,r1,2h                                ;
0802E06E 1840     add     r0,r0,r1                                ;
0802E070 78ED     ldrb    r5,[r5,3h]                              ;
0802E072 1940     add     r0,r0,r5                                ;
0802E074 0080     lsl     r0,r0,2h                                ;
0802E076 1980     add     r0,r0,r6                                ;
0802E078 6800     ldr     r0,[r0]                                 ;
0802E07A 2100     mov     r1,0h                                   ;
0802E07C F7FAFE40 bl      8028D00h                                ;
0802E080 480A     ldr     r0,=2020C38h                            ;
0802E082 7800     ldrb    r0,[r0]                                 ;
0802E084 2800     cmp     r0,0h                                   ;
0802E086 D109     bne     802E09Ch                                ;
0802E088 2041     mov     r0,41h                                  ;
0802E08A F7F4FA59 bl      8022540h                                ;
0802E08E 20AF     mov     r0,0AFh                                 ;
0802E090 0040     lsl     r0,r0,1h                                ;r0 = 350 ; Dark-Piercing Light
0802E092 F7F7FC05 bl      80258A0h                                ;
0802E096 203C     mov     r0,3Ch                                  ;
0802E098 F7F4FA52 bl      8022540h                                ;
0802E09C BC70     pop     r4-r6                                   ;
0802E09E BC01     pop     r0                                      ;
0802E0A0 4700     bx      r0                                      ;

Spellbinding Circle

0802E0B2 2400     mov     r4,0h                                   ;Spellbinding Circle
0802E0B4 4D15     ldr     r5,=2023284h                            ;
0802E0B6 00A0     lsl     r0,r4,2h                                ;
0802E0B8 1940     add     r0,r0,r5                                ;
0802E0BA 6801     ldr     r1,[r0]                                 ;
0802E0BC 8808     ldrh    r0,[r1]                                 ;
0802E0BE 2800     cmp     r0,0h                                   ;
0802E0C0 D002     beq     802E0C8h                                ;
0802E0C2 1C08     mov     r0,r1                                   ;
0802E0C4 F7F6FE18 bl      8024CF8h                                ;
0802E0C8 1C60     add     r0,r4,1                                 ;
0802E0CA 0600     lsl     r0,r0,18h                               ;
0802E0CC 0E04     lsr     r4,r0,18h                               ;
0802E0CE 2C04     cmp     r4,4h                                   ;
0802E0D0 D9F1     bls     802E0B6h                                ;
0802E0D2 4B0F     ldr     r3,=2023270h                            ;
0802E0D4 4A0F     ldr     r2,=2023480h                            ;
0802E0D6 7891     ldrb    r1,[r2,2h]                              ;
0802E0D8 0088     lsl     r0,r1,2h                                ;
0802E0DA 1840     add     r0,r0,r1                                ;
0802E0DC 78D2     ldrb    r2,[r2,3h]                              ;
0802E0DE 1880     add     r0,r0,r2                                ;
0802E0E0 0080     lsl     r0,r0,2h                                ;
0802E0E2 18C0     add     r0,r0,r3                                ;
0802E0E4 6800     ldr     r0,[r0]                                 ;
0802E0E6 2100     mov     r1,0h                                   ;
0802E0E8 F7FAFE0A bl      8028D00h                                ;
0802E0EC 480A     ldr     r0,=2020C38h                            ;
0802E0EE 7800     ldrb    r0,[r0]                                 ;
0802E0F0 2800     cmp     r0,0h                                   ;
0802E0F2 D108     bne     802E106h                                ;
0802E0F4 2041     mov     r0,41h                                  ;
0802E0F6 F7F4FA23 bl      8022540h                                ;
0802E0FA 4808     ldr     r0,=15Dh                                ;r0 = 349 ; Spellbinding Circle
0802E0FC F7F7FBD0 bl      80258A0h                                ;
0802E100 204A     mov     r0,4Ah                                  ;
0802E102 F7F4FA1D bl      8022540h                                ;
0802E106 BC30     pop     r4,r5                                   ;
0802E108 BC01     pop     r0                                      ;
0802E10A 4700     bx      r0                                      ;

Elegant Egotist

0802E122 4B2B     ldr     r3,=2023270h                            ;Elegant Egotist
0802E124 4A2B     ldr     r2,=2023480h                            ;
0802E126 7890     ldrb    r0,[r2,2h]                              ;
0802E128 0081     lsl     r1,r0,2h                                ;
0802E12A 1809     add     r1,r1,r0                                ;
0802E12C 78D0     ldrb    r0,[r2,3h]                              ;
0802E12E 1809     add     r1,r1,r0                                ;
0802E130 0089     lsl     r1,r1,2h                                ;
0802E132 18C9     add     r1,r1,r3                                ;
0802E134 6809     ldr     r1,[r1]                                 ;
0802E136 8808     ldrh    r0,[r1]                                 ;
0802E138 283E     cmp     r0,3Eh                                  ;
0802E13A D11B     bne     802E174h                                ;
0802E13C 203F     mov     r0,3Fh                                  ;
0802E13E 8008     strh    r0,[r1]                                 ;
0802E140 7911     ldrb    r1,[r2,4h]                              ;
0802E142 0088     lsl     r0,r1,2h                                ;
0802E144 1840     add     r0,r0,r1                                ;
0802E146 7952     ldrb    r2,[r2,5h]                              ;
0802E148 1880     add     r0,r0,r2                                ;
0802E14A 0080     lsl     r0,r0,2h                                ;
0802E14C 18C0     add     r0,r0,r3                                ;
0802E14E 6800     ldr     r0,[r0]                                 ;
0802E150 2100     mov     r1,0h                                   ;
0802E152 F7FAFDD5 bl      8028D00h                                ;
0802E156 4820     ldr     r0,=2020C38h                            ;
0802E158 7800     ldrb    r0,[r0]                                 ;
0802E15A 2800     cmp     r0,0h                                   ;
0802E15C D10A     bne     802E174h                                ;
0802E15E 2041     mov     r0,41h                                  ;
0802E160 F7F4F9EE bl      8022540h                                ;
0802E164 209F     mov     r0,9Fh                                  ;
0802E166 0040     lsl     r0,r0,1h                                ;r0 = 318 ; Elegant Egotist
0802E168 213E     mov     r1,3Eh                                  ;r1 = 62 ; Harpie Lady
0802E16A F7F7FB99 bl      80258A0h                                ;
0802E16E 205A     mov     r0,5Ah                                  ;r0 = 90
0802E170 F7F4F9E6 bl      8022540h                                ;
0802E174 4B16     ldr     r3,=2023270h                            ;
0802E176 4A17     ldr     r2,=2023480h                            ;
0802E178 7890     ldrb    r0,[r2,2h]                              ;
0802E17A 0081     lsl     r1,r0,2h                                ;
0802E17C 1809     add     r1,r1,r0                                ;
0802E17E 78D0     ldrb    r0,[r2,3h]                              ;
0802E180 1809     add     r1,r1,r0                                ;
0802E182 0089     lsl     r1,r1,2h                                ;
0802E184 18C9     add     r1,r1,r3                                ;
0802E186 6809     ldr     r1,[r1]                                 ;
0802E188 880C     ldrh    r4,[r1]                                 ;
0802E18A 4814     ldr     r0,=36Bh                                ;
0802E18C 4284     cmp     r4,r0                                   ;
0802E18E D11B     bne     802E1C8h                                ;
0802E190 203F     mov     r0,3Fh                                  ;
0802E192 8008     strh    r0,[r1]                                 ;
0802E194 7911     ldrb    r1,[r2,4h]                              ;
0802E196 0088     lsl     r0,r1,2h                                ;
0802E198 1840     add     r0,r0,r1                                ;
0802E19A 7952     ldrb    r2,[r2,5h]                              ;
0802E19C 1880     add     r0,r0,r2                                ;
0802E19E 0080     lsl     r0,r0,2h                                ;
0802E1A0 18C0     add     r0,r0,r3                                ;
0802E1A2 6800     ldr     r0,[r0]                                 ;
0802E1A4 2100     mov     r1,0h                                   ;
0802E1A6 F7FAFDAB bl      8028D00h                                ;
0802E1AA 480B     ldr     r0,=2020C38h                            ;
0802E1AC 7800     ldrb    r0,[r0]                                 ;
0802E1AE 2800     cmp     r0,0h                                   ;
0802E1B0 D10A     bne     802E1C8h                                ;
0802E1B2 2041     mov     r0,41h                                  ;
0802E1B4 F7F4F9C4 bl      8022540h                                ;
0802E1B8 209F     mov     r0,9Fh                                  ;
0802E1BA 0040     lsl     r0,r0,1h                                ;r0 = 318 ; Elegant Egotist
0802E1BC 1C21     mov     r1,r4                                   ;
0802E1BE F7F7FB6F bl      80258A0h                                ;
0802E1C2 205A     mov     r0,5Ah                                  ;
0802E1C4 F7F4F9BC bl      8022540h                                ;
0802E1C8 BC10     pop     r4                                      ;
0802E1CA BC01     pop     r0                                      ;
0802E1CC 4700     bx      r0                                      ;

Ritual Spells 1

Black Luster Ritual

0802E20E 4D1B     ldr     r5,=2023298h                            ;Black Luster Ritual
0802E210 4E1B     ldr     r6,=8D542F0h                            ;
0802E212 8931     ldrh    r1,[r6,8h]                              ;
0802E214 1C28     mov     r0,r5                                   ;
0802E216 F7F9FA61 bl      80276DCh                                ;
0802E21A 2801     cmp     r0,1h                                   ;
0802E21C D12A     bne     802E274h                                ;
0802E21E 8931     ldrh    r1,[r6,8h]                              ;
0802E220 1C28     mov     r0,r5                                   ;
0802E222 F7F9FA6F bl      8027704h                                ;
0802E226 1C04     mov     r4,r0                                   ;
0802E228 0624     lsl     r4,r4,18h                               ;
0802E22A 0E24     lsr     r4,r4,18h                               ;
0802E22C 1C2B     mov     r3,r5                                   ;
0802E22E 3B28     sub     r3,28h                                  ;
0802E230 4A14     ldr     r2,=2023480h                            ;
0802E232 7891     ldrb    r1,[r2,2h]                              ;
0802E234 0088     lsl     r0,r1,2h                                ;
0802E236 1840     add     r0,r0,r1                                ;
0802E238 78D2     ldrb    r2,[r2,3h]                              ;
0802E23A 1880     add     r0,r0,r2                                ;
0802E23C 0080     lsl     r0,r0,2h                                ;
0802E23E 18C0     add     r0,r0,r3                                ;
0802E240 6800     ldr     r0,[r0]                                 ;
0802E242 2100     mov     r1,0h                                   ;
0802E244 F7FAFD5C bl      8028D00h                                ;
0802E248 00A4     lsl     r4,r4,2h                                ;
0802E24A 1964     add     r4,r4,r5                                ;
0802E24C 6820     ldr     r0,[r4]                                 ;
0802E24E 8971     ldrh    r1,[r6,0Ah]                             ;
0802E250 F002FA36 bl      80306C0h                                ;
0802E254 F7FAFD8C bl      8028D70h                                ;
0802E258 480B     ldr     r0,=2020C38h                            ;
0802E25A 7800     ldrb    r0,[r0]                                 ;
0802E25C 2800     cmp     r0,0h                                   ;
0802E25E D109     bne     802E274h                                ;
0802E260 2041     mov     r0,41h                                  ;
0802E262 F7F4F96D bl      8022540h                                ;
0802E266 4809     ldr     r0,=29Eh                                ;r0 = 670 ; Black Luster Ritual
0802E268 8971     ldrh    r1,[r6,0Ah]                             ;
0802E26A F7F7FB19 bl      80258A0h                                ;
0802E26E 2053     mov     r0,53h                                  ;
0802E270 F7F4F966 bl      8022540h                                ;
0802E274 BC70     pop     r4-r6                                   ;
0802E276 BC01     pop     r0                                      ;
0802E278 4700     bx      r0                                      ;

Zera Ritual

0802E292 4D1B     ldr     r5,=2023298h                            ;Zera Ritual
0802E294 4E1B     ldr     r6,=8D542F0h                            ;
0802E296 8A31     ldrh    r1,[r6,10h]                             ;
0802E298 1C28     mov     r0,r5                                   ;
0802E29A F7F9FA1F bl      80276DCh                                ;
0802E29E 2801     cmp     r0,1h                                   ;
0802E2A0 D12A     bne     802E2F8h                                ;
0802E2A2 8A31     ldrh    r1,[r6,10h]                             ;
0802E2A4 1C28     mov     r0,r5                                   ;
0802E2A6 F7F9FA2D bl      8027704h                                ;
0802E2AA 1C04     mov     r4,r0                                   ;
0802E2AC 0624     lsl     r4,r4,18h                               ;
0802E2AE 0E24     lsr     r4,r4,18h                               ;
0802E2B0 1C2B     mov     r3,r5                                   ;
0802E2B2 3B28     sub     r3,28h                                  ;
0802E2B4 4A14     ldr     r2,=2023480h                            ;
0802E2B6 7891     ldrb    r1,[r2,2h]                              ;
0802E2B8 0088     lsl     r0,r1,2h                                ;
0802E2BA 1840     add     r0,r0,r1                                ;
0802E2BC 78D2     ldrb    r2,[r2,3h]                              ;
0802E2BE 1880     add     r0,r0,r2                                ;
0802E2C0 0080     lsl     r0,r0,2h                                ;
0802E2C2 18C0     add     r0,r0,r3                                ;
0802E2C4 6800     ldr     r0,[r0]                                 ;
0802E2C6 2100     mov     r1,0h                                   ;
0802E2C8 F7FAFD1A bl      8028D00h                                ;
0802E2CC 00A4     lsl     r4,r4,2h                                ;
0802E2CE 1964     add     r4,r4,r5                                ;
0802E2D0 6820     ldr     r0,[r4]                                 ;
0802E2D2 8A71     ldrh    r1,[r6,12h]                             ;
0802E2D4 F002F9F4 bl      80306C0h                                ;
0802E2D8 F7FAFD4A bl      8028D70h                                ;
0802E2DC 480B     ldr     r0,=2020C38h                            ;
0802E2DE 7800     ldrb    r0,[r0]                                 ;
0802E2E0 2800     cmp     r0,0h                                   ;
0802E2E2 D109     bne     802E2F8h                                ;
0802E2E4 2041     mov     r0,41h                                  ;
0802E2E6 F7F4F92B bl      8022540h                                ;
0802E2EA 4809     ldr     r0,=29Fh                                ;r0 = 671 ; Zera Ritual
0802E2EC 8A71     ldrh    r1,[r6,12h]                             ;
0802E2EE F7F7FAD7 bl      80258A0h                                ;
0802E2F2 2053     mov     r0,53h                                  ;
0802E2F4 F7F4F924 bl      8022540h                                ;
0802E2F8 BC70     pop     r4-r6                                   ;
0802E2FA BC01     pop     r0                                      ;
0802E2FC 4700     bx      r0                                      ;

War-Lion Ritual

0802E316 4D1B     ldr     r5,=2023298h                            ;War-Lion Ritual
0802E318 4E1B     ldr     r6,=8D542F0h                            ;
0802E31A 8B31     ldrh    r1,[r6,18h]                             ;
0802E31C 1C28     mov     r0,r5                                   ;
0802E31E F7F9F9DD bl      80276DCh                                ;
0802E322 2801     cmp     r0,1h                                   ;
0802E324 D12A     bne     802E37Ch                                ;
0802E326 8B31     ldrh    r1,[r6,18h]                             ;
0802E328 1C28     mov     r0,r5                                   ;
0802E32A F7F9F9EB bl      8027704h                                ;
0802E32E 1C04     mov     r4,r0                                   ;
0802E330 0624     lsl     r4,r4,18h                               ;
0802E332 0E24     lsr     r4,r4,18h                               ;
0802E334 1C2B     mov     r3,r5                                   ;
0802E336 3B28     sub     r3,28h                                  ;
0802E338 4A14     ldr     r2,=2023480h                            ;
0802E33A 7891     ldrb    r1,[r2,2h]                              ;
0802E33C 0088     lsl     r0,r1,2h                                ;
0802E33E 1840     add     r0,r0,r1                                ;
0802E340 78D2     ldrb    r2,[r2,3h]                              ;
0802E342 1880     add     r0,r0,r2                                ;
0802E344 0080     lsl     r0,r0,2h                                ;
0802E346 18C0     add     r0,r0,r3                                ;
0802E348 6800     ldr     r0,[r0]                                 ;
0802E34A 2100     mov     r1,0h                                   ;
0802E34C F7FAFCD8 bl      8028D00h                                ;
0802E350 00A4     lsl     r4,r4,2h                                ;
0802E352 1964     add     r4,r4,r5                                ;
0802E354 6820     ldr     r0,[r4]                                 ;
0802E356 8B71     ldrh    r1,[r6,1Ah]                             ;
0802E358 F002F9B2 bl      80306C0h                                ;
0802E35C F7FAFD08 bl      8028D70h                                ;
0802E360 480B     ldr     r0,=2020C38h                            ;
0802E362 7800     ldrb    r0,[r0]                                 ;
0802E364 2800     cmp     r0,0h                                   ;
0802E366 D109     bne     802E37Ch                                ;
0802E368 2041     mov     r0,41h                                  ;
0802E36A F7F4F8E9 bl      8022540h                                ;
0802E36E 4809     ldr     r0,=2A1h                                ;r0 = 673 ; War-Lion Ritual
0802E370 8B71     ldrh    r1,[r6,1Ah]                             ;
0802E372 F7F7FA95 bl      80258A0h                                ;
0802E376 2053     mov     r0,53h                                  ;
0802E378 F7F4F8E2 bl      8022540h                                ;
0802E37C BC70     pop     r4-r6                                   ;
0802E37E BC01     pop     r0                                      ;
0802E380 4700     bx      r0                                      ;

Beastly Mirror Ritual

0802E39A 4D1B     ldr     r5,=2023298h                            ;Beastly Mirror Ritual
0802E39C 4E1B     ldr     r6,=8D542F0h                            ;
0802E39E 8C31     ldrh    r1,[r6,20h]                             ;
0802E3A0 1C28     mov     r0,r5                                   ;
0802E3A2 F7F9F99B bl      80276DCh                                ;
0802E3A6 2801     cmp     r0,1h                                   ;
0802E3A8 D12A     bne     802E400h                                ;
0802E3AA 8C31     ldrh    r1,[r6,20h]                             ;
0802E3AC 1C28     mov     r0,r5                                   ;
0802E3AE F7F9F9A9 bl      8027704h                                ;
0802E3B2 1C04     mov     r4,r0                                   ;
0802E3B4 0624     lsl     r4,r4,18h                               ;
0802E3B6 0E24     lsr     r4,r4,18h                               ;
0802E3B8 1C2B     mov     r3,r5                                   ;
0802E3BA 3B28     sub     r3,28h                                  ;
0802E3BC 4A14     ldr     r2,=2023480h                            ;
0802E3BE 7891     ldrb    r1,[r2,2h]                              ;
0802E3C0 0088     lsl     r0,r1,2h                                ;
0802E3C2 1840     add     r0,r0,r1                                ;
0802E3C4 78D2     ldrb    r2,[r2,3h]                              ;
0802E3C6 1880     add     r0,r0,r2                                ;
0802E3C8 0080     lsl     r0,r0,2h                                ;
0802E3CA 18C0     add     r0,r0,r3                                ;
0802E3CC 6800     ldr     r0,[r0]                                 ;
0802E3CE 2100     mov     r1,0h                                   ;
0802E3D0 F7FAFC96 bl      8028D00h                                ;
0802E3D4 00A4     lsl     r4,r4,2h                                ;
0802E3D6 1964     add     r4,r4,r5                                ;
0802E3D8 6820     ldr     r0,[r4]                                 ;
0802E3DA 8C71     ldrh    r1,[r6,22h]                             ;
0802E3DC F002F970 bl      80306C0h                                ;
0802E3E0 F7FAFCC6 bl      8028D70h                                ;
0802E3E4 480B     ldr     r0,=2020C38h                            ;
0802E3E6 7800     ldrb    r0,[r0]                                 ;
0802E3E8 2800     cmp     r0,0h                                   ;
0802E3EA D109     bne     802E400h                                ;
0802E3EC 2041     mov     r0,41h                                  ;
0802E3EE F7F4F8A7 bl      8022540h                                ;
0802E3F2 4809     ldr     r0,=2A2h                                ;r0 = 674 ; Beastly Mirror Ritual
0802E3F4 8C71     ldrh    r1,[r6,22h]                             ;
0802E3F6 F7F7FA53 bl      80258A0h                                ;
0802E3FA 2053     mov     r0,53h                                  ;
0802E3FC F7F4F8A0 bl      8022540h                                ;
0802E400 BC70     pop     r4-r6                                   ;
0802E402 BC01     pop     r0                                      ;
0802E404 4700     bx      r0                                      ;

Ultimate Dragon handling

Ultimate Dragon
0802E41E B081     add     sp,-4h                                  ;
0802E420 4C05     ldr     r4,=8D543D8h                            ;
0802E422 4668     mov     r0,r13                                  ;
0802E424 1C21     mov     r1,r4                                   ;
0802E426 F000F86F bl      802E508h                                ;
0802E42A 0600     lsl     r0,r0,18h                               ;
0802E42C 0E00     lsr     r0,r0,18h                               ;
0802E42E 2801     cmp     r0,1h                                   ;
0802E430 D104     bne     802E43Ch                                ;
0802E432 251D     mov     r5,1Dh                                  ;
0802E434 E022     b       802E47Ch                                ;
0802E436 0000     lsl     r0,r0,0h                                ;
0802E438 43D8     mvn     r0,r3                                   ;
0802E43A 08D5     lsr     r5,r2,3h                                ;
0802E43C 1C21     mov     r1,r4                                   ;
0802E43E 3908     sub     r1,8h                                   ;
0802E440 4668     mov     r0,r13                                  ;
0802E442 F000F861 bl      802E508h                                ;
0802E446 0600     lsl     r0,r0,18h                               ;
0802E448 0E00     lsr     r0,r0,18h                               ;
0802E44A 2801     cmp     r0,1h                                   ;
0802E44C D101     bne     802E452h                                ;
0802E44E 251C     mov     r5,1Ch                                  ;
0802E450 E014     b       802E47Ch                                ;
0802E452 1C21     mov     r1,r4                                   ;
0802E454 3910     sub     r1,10h                                  ;
0802E456 4668     mov     r0,r13                                  ;
0802E458 F000F856 bl      802E508h                                ;
0802E45C 0600     lsl     r0,r0,18h                               ;
0802E45E 0E00     lsr     r0,r0,18h                               ;
0802E460 2801     cmp     r0,1h                                   ;
0802E462 D101     bne     802E468h                                ;
0802E464 251B     mov     r5,1Bh                                  ;
0802E466 E009     b       802E47Ch                                ;
0802E468 1C21     mov     r1,r4                                   ;
0802E46A 39C0     sub     r1,0C0h                                 ;
0802E46C 4668     mov     r0,r13                                  ;
0802E46E F000F84B bl      802E508h                                ;
0802E472 0600     lsl     r0,r0,18h                               ;
0802E474 0E00     lsr     r0,r0,18h                               ;
0802E476 2801     cmp     r0,1h                                   ;
0802E478 D138     bne     802E4ECh                                ;
0802E47A 2505     mov     r5,5h                                   ;
0802E47C 4C1D     ldr     r4,=2023270h                            ;
0802E47E 4A1E     ldr     r2,=2023480h                            ;
0802E480 7891     ldrb    r1,[r2,2h]                              ;
0802E482 0088     lsl     r0,r1,2h                                ;
0802E484 1840     add     r0,r0,r1                                ;
0802E486 78D2     ldrb    r2,[r2,3h]                              ;
0802E488 1880     add     r0,r0,r2                                ;
0802E48A 0080     lsl     r0,r0,2h                                ;
0802E48C 1900     add     r0,r0,r4                                ;
0802E48E 6800     ldr     r0,[r0]                                 ;
0802E490 2100     mov     r1,0h                                   ;
0802E492 F7FAFC35 bl      8028D00h                                ;
0802E496 4668     mov     r0,r13                                  ;
0802E498 7800     ldrb    r0,[r0]                                 ;
0802E49A 0080     lsl     r0,r0,2h                                ;
0802E49C 3428     add     r4,28h                                  ;
0802E49E 1900     add     r0,r0,r4                                ;
0802E4A0 6800     ldr     r0,[r0]                                 ;
0802E4A2 4916     ldr     r1,=8D542F0h                            ;
0802E4A4 00EA     lsl     r2,r5,3h                                ;
0802E4A6 3102     add     r1,2h                                   ;
0802E4A8 1855     add     r5,r2,r1                                ;
0802E4AA 8829     ldrh    r1,[r5]                                 ;
0802E4AC F002F908 bl      80306C0h                                ;
0802E4B0 4668     mov     r0,r13                                  ;
0802E4B2 7840     ldrb    r0,[r0,1h]                              ;
0802E4B4 0080     lsl     r0,r0,2h                                ;
0802E4B6 1900     add     r0,r0,r4                                ;
0802E4B8 6800     ldr     r0,[r0]                                 ;
0802E4BA F7F6FA29 bl      8024910h                                ;
0802E4BE 4668     mov     r0,r13                                  ;
0802E4C0 7880     ldrb    r0,[r0,2h]                              ;
0802E4C2 0080     lsl     r0,r0,2h                                ;
0802E4C4 1900     add     r0,r0,r4                                ;
0802E4C6 6800     ldr     r0,[r0]                                 ;
0802E4C8 F7F6FA22 bl      8024910h                                ;
0802E4CC F7FAFC50 bl      8028D70h                                ;
0802E4D0 480B     ldr     r0,=2020C38h                            ;
0802E4D2 7800     ldrb    r0,[r0]                                 ;
0802E4D4 2800     cmp     r0,0h                                   ;
0802E4D6 D109     bne     802E4ECh                                ;
0802E4D8 2041     mov     r0,41h                                  ;
0802E4DA F7F4F831 bl      8022540h                                ;
0802E4DE 4809     ldr     r0,=2A3h                                ;r0 = 675 ; Ultimate Dragon
0802E4E0 8829     ldrh    r1,[r5]                                 ;
0802E4E2 F7F7F9DD bl      80258A0h                                ;
0802E4E6 2053     mov     r0,53h                                  ;
0802E4E8 F7F4F82A bl      8022540h                                ;
0802E4EC B001     add     sp,4h                                   ;
0802E4EE BC30     pop     r4,r5                                   ;
0802E4F0 BC01     pop     r0                                      ;
0802E4F2 4700     bx      r0                                      ;
Check Blue-Eyes White Dragons ?
0802E508 B530     push    r4,r5,r14                               ;
0802E50A 1C04     mov     r4,r0                                   ;
0802E50C 1C0B     mov     r3,r1                                   ;
0802E50E 2200     mov     r2,0h                                   ;r2 = 0
0802E510 4920     ldr     r1,=2023270h                            ;
0802E512 6A88     ldr     r0,[r1,28h]                             ;r0 = [0x2023298]
0802E514 8800     ldrh    r0,[r0]                                 ;r0 = [ [0x2023298] ]
0802E516 468C     mov     r12,r1                                  ;
0802E518 8819     ldrh    r1,[r3]                                 ;
0802E51A 4288     cmp     r0,r1                                   ;
0802E51C D00D     beq     802E53Ah                                ;if (r0 == r1), branch to 0x802E53A
0802E51E 4661     mov     r1,r12                                  ;
0802E520 3128     add     r1,28h                                  ;r1 += 40
0802E522 1C50     add     r0,r2,1                                 ;loop start, r0 = r2 + 1
0802E524 0600     lsl     r0,r0,18h                               ;
0802E526 0E02     lsr     r2,r0,18h                               ;
0802E528 2A04     cmp     r2,4h                                   ;
0802E52A D806     bhi     802E53Ah                                ;if (r2 > 4), branch to 0x802E53A
0802E52C 0090     lsl     r0,r2,2h                                ;
0802E52E 1840     add     r0,r0,r1                                ;
0802E530 6800     ldr     r0,[r0]                                 ;
0802E532 8800     ldrh    r0,[r0]                                 ;
0802E534 881D     ldrh    r5,[r3]                                 ;
0802E536 42A8     cmp     r0,r5                                   ;
0802E538 D1F3     bne     802E522h                                ;if (r0 ≠ r5), loop to 0x802E522
0802E53A 2A05     cmp     r2,5h                                   ;
0802E53C D044     beq     802E5C8h                                ;if (r2 == 5), exit this function
0802E53E 1C10     mov     r0,r2                                   ;
0802E540 7022     strb    r2,[r4]                                 ;
0802E542 2200     mov     r2,0h                                   ;
0802E544 4282     cmp     r2,r0                                   ;
0802E546 D005     beq     802E554h                                ;
0802E548 4661     mov     r1,r12                                  ;
0802E54A 6A88     ldr     r0,[r1,28h]                             ;
0802E54C 8800     ldrh    r0,[r0]                                 ;
0802E54E 889D     ldrh    r5,[r3,4h]                              ;
0802E550 42A8     cmp     r0,r5                                   ;
0802E552 D010     beq     802E576h                                ;
0802E554 1C50     add     r0,r2,1                                 ;loop start, r0 = r2 + 1
0802E556 0600     lsl     r0,r0,18h                               ;
0802E558 0E02     lsr     r2,r0,18h                               ;
0802E55A 2A04     cmp     r2,4h                                   ;
0802E55C D80B     bhi     802E576h                                ;
0802E55E 7820     ldrb    r0,[r4]                                 ;
0802E560 4282     cmp     r2,r0                                   ;
0802E562 D0F7     beq     802E554h                                ;
0802E564 0090     lsl     r0,r2,2h                                ;
0802E566 4661     mov     r1,r12                                  ;
0802E568 3128     add     r1,28h                                  ;r1 += 40
0802E56A 1840     add     r0,r0,r1                                ;r0 += r1
0802E56C 6800     ldr     r0,[r0]                                 ;
0802E56E 8800     ldrh    r0,[r0]                                 ;
0802E570 8899     ldrh    r1,[r3,4h]                              ;
0802E572 4288     cmp     r0,r1                                   ;
0802E574 D1EE     bne     802E554h                                ;if (r0 ≠ r1), loop to 0x802E554
0802E576 2A05     cmp     r2,5h                                   ;
0802E578 D026     beq     802E5C8h                                ;if (r2 == 5), exit this function
0802E57A 1C11     mov     r1,r2                                   ;
0802E57C 7062     strb    r2,[r4,1h]                              ;
0802E57E 2200     mov     r2,0h                                   ;
0802E580 7820     ldrb    r0,[r4]                                 ;
0802E582 1C05     mov     r5,r0                                   ;
0802E584 42AA     cmp     r2,r5                                   ;
0802E586 D007     beq     802E598h                                ;
0802E588 428A     cmp     r2,r1                                   ;
0802E58A D005     beq     802E598h                                ;
0802E58C 4661     mov     r1,r12                                  ;
0802E58E 6A88     ldr     r0,[r1,28h]                             ;
0802E590 E011     b       802E5B6h                                ;
0802E592 0000     lsl     r0,r0,0h                                ;
0802E594 3270     add     r2,70h                                  ;
0802E596 0202     lsl     r2,r0,8h                                ;
0802E598 1C50     add     r0,r2,1                                 ;
0802E59A 0600     lsl     r0,r0,18h                               ;
0802E59C 0E02     lsr     r2,r0,18h                               ;
0802E59E 2A04     cmp     r2,4h                                   ;
0802E5A0 D80D     bhi     802E5BEh                                ;
0802E5A2 42AA     cmp     r2,r5                                   ;
0802E5A4 D0F8     beq     802E598h                                ;
0802E5A6 7860     ldrb    r0,[r4,1h]                              ;
0802E5A8 4282     cmp     r2,r0                                   ;
0802E5AA D0F5     beq     802E598h                                ;
0802E5AC 0090     lsl     r0,r2,2h                                ;
0802E5AE 4661     mov     r1,r12                                  ;
0802E5B0 3128     add     r1,28h                                  ;r1 += 40
0802E5B2 1840     add     r0,r0,r1                                ;
0802E5B4 6800     ldr     r0,[r0]                                 ;
0802E5B6 8800     ldrh    r0,[r0]                                 ;
0802E5B8 88D9     ldrh    r1,[r3,6h]                              ;
0802E5BA 4288     cmp     r0,r1                                   ;
0802E5BC D1EC     bne     802E598h                                ;
0802E5BE 2A05     cmp     r2,5h                                   ;
0802E5C0 D002     beq     802E5C8h                                ;if (r2 == 5), exit this function
0802E5C2 70A2     strb    r2,[r4,2h]                              ;
0802E5C4 2001     mov     r0,1h                                   ;r0 = 1
0802E5C6 E000     b       802E5CAh                                ;skip next instruction
0802E5C8 2000     mov     r0,0h                                   ;r0 = 0
0802E5CA BC30     pop     r4,r5                                   ;
0802E5CC BC02     pop     r1                                      ;
0802E5CE 4708     bx      r1                                      ;

Commencement Dance

0802E5D2 4D1D     ldr     r5,=2023298h                            ;Commencement Dance
0802E5D4 4E1D     ldr     r6,=8D542F0h                            ;
0802E5D6 1C34     mov     r4,r6                                   ;
0802E5D8 3448     add     r4,48h                                  ;
0802E5DA 8821     ldrh    r1,[r4]                                 ;
0802E5DC 1C28     mov     r0,r5                                   ;
0802E5DE F7F9F87D bl      80276DCh                                ;
0802E5E2 2801     cmp     r0,1h                                   ;
0802E5E4 D12D     bne     802E642h                                ;
0802E5E6 8821     ldrh    r1,[r4]                                 ;
0802E5E8 1C28     mov     r0,r5                                   ;
0802E5EA F7F9F88B bl      8027704h                                ;
0802E5EE 1C04     mov     r4,r0                                   ;
0802E5F0 0624     lsl     r4,r4,18h                               ;
0802E5F2 0E24     lsr     r4,r4,18h                               ;
0802E5F4 1C2B     mov     r3,r5                                   ;
0802E5F6 3B28     sub     r3,28h                                  ;
0802E5F8 4A15     ldr     r2,=2023480h                            ;
0802E5FA 7891     ldrb    r1,[r2,2h]                              ;
0802E5FC 0088     lsl     r0,r1,2h                                ;
0802E5FE 1840     add     r0,r0,r1                                ;
0802E600 78D2     ldrb    r2,[r2,3h]                              ;
0802E602 1880     add     r0,r0,r2                                ;
0802E604 0080     lsl     r0,r0,2h                                ;
0802E606 18C0     add     r0,r0,r3                                ;
0802E608 6800     ldr     r0,[r0]                                 ;
0802E60A 2100     mov     r1,0h                                   ;
0802E60C F7FAFB78 bl      8028D00h                                ;
0802E610 00A4     lsl     r4,r4,2h                                ;
0802E612 1964     add     r4,r4,r5                                ;
0802E614 6820     ldr     r0,[r4]                                 ;
0802E616 1C34     mov     r4,r6                                   ;
0802E618 344A     add     r4,4Ah                                  ;
0802E61A 8821     ldrh    r1,[r4]                                 ;
0802E61C F002F850 bl      80306C0h                                ;
0802E620 F7FAFBA6 bl      8028D70h                                ;
0802E624 480B     ldr     r0,=2020C38h                            ;
0802E626 7800     ldrb    r0,[r0]                                 ;
0802E628 2800     cmp     r0,0h                                   ;
0802E62A D10A     bne     802E642h                                ;
0802E62C 2041     mov     r0,41h                                  ;
0802E62E F7F3FF87 bl      8022540h                                ;
0802E632 20A9     mov     r0,0A9h                                 ;
0802E634 0080     lsl     r0,r0,2h                                ;r0 = 676 ; Commencement Dance
0802E636 8821     ldrh    r1,[r4]                                 ;
0802E638 F7F7F932 bl      80258A0h                                ;
0802E63C 2053     mov     r0,53h                                  ;
0802E63E F7F3FF7F bl      8022540h                                ;
0802E642 BC70     pop     r4-r6                                   ;
0802E644 BC01     pop     r0                                      ;
0802E646 4700     bx      r0                                      ;

Hamburger Recipe

0802E65A 4D1D     ldr     r5,=2023298h                            ;Hamburger Recipe
0802E65C 4E1D     ldr     r6,=8D542F0h                            ;
0802E65E 1C34     mov     r4,r6                                   ;
0802E660 3450     add     r4,50h                                  ;
0802E662 8821     ldrh    r1,[r4]                                 ;
0802E664 1C28     mov     r0,r5                                   ;
0802E666 F7F9F839 bl      80276DCh                                ;
0802E66A 2801     cmp     r0,1h                                   ;
0802E66C D12C     bne     802E6C8h                                ;
0802E66E 8821     ldrh    r1,[r4]                                 ;
0802E670 1C28     mov     r0,r5                                   ;
0802E672 F7F9F847 bl      8027704h                                ;
0802E676 1C04     mov     r4,r0                                   ;
0802E678 0624     lsl     r4,r4,18h                               ;
0802E67A 0E24     lsr     r4,r4,18h                               ;
0802E67C 1C2B     mov     r3,r5                                   ;
0802E67E 3B28     sub     r3,28h                                  ;
0802E680 4A15     ldr     r2,=2023480h                            ;
0802E682 7891     ldrb    r1,[r2,2h]                              ;
0802E684 0088     lsl     r0,r1,2h                                ;
0802E686 1840     add     r0,r0,r1                                ;
0802E688 78D2     ldrb    r2,[r2,3h]                              ;
0802E68A 1880     add     r0,r0,r2                                ;
0802E68C 0080     lsl     r0,r0,2h                                ;
0802E68E 18C0     add     r0,r0,r3                                ;
0802E690 6800     ldr     r0,[r0]                                 ;
0802E692 2100     mov     r1,0h                                   ;
0802E694 F7FAFB34 bl      8028D00h                                ;
0802E698 00A4     lsl     r4,r4,2h                                ;
0802E69A 1964     add     r4,r4,r5                                ;
0802E69C 6820     ldr     r0,[r4]                                 ;
0802E69E 1C34     mov     r4,r6                                   ;
0802E6A0 3452     add     r4,52h                                  ;
0802E6A2 8821     ldrh    r1,[r4]                                 ;
0802E6A4 F002F80C bl      80306C0h                                ;
0802E6A8 F7FAFB62 bl      8028D70h                                ;
0802E6AC 480B     ldr     r0,=2020C38h                            ;
0802E6AE 7800     ldrb    r0,[r0]                                 ;
0802E6B0 2800     cmp     r0,0h                                   ;
0802E6B2 D109     bne     802E6C8h                                ;
0802E6B4 2041     mov     r0,41h                                  ;
0802E6B6 F7F3FF43 bl      8022540h                                ;
0802E6BA 4809     ldr     r0,=2A5h                                ;r0 = 677 ; Hamburger Recipe
0802E6BC 8821     ldrh    r1,[r4]                                 ;
0802E6BE F7F7F8EF bl      80258A0h                                ;
0802E6C2 2053     mov     r0,53h                                  ;
0802E6C4 F7F3FF3C bl      8022540h                                ;
0802E6C8 BC70     pop     r4-r6                                   ;
0802E6CA BC01     pop     r0                                      ;
0802E6CC 4700     bx      r0                                      ;

Revival of Sennen Genjin

0802E6E6 4D1D     ldr     r5,=2023298h                            ;Revival of Sennen Genjin
0802E6E8 4E1D     ldr     r6,=8D542F0h                            ;
0802E6EA 1C34     mov     r4,r6                                   ;
0802E6EC 3458     add     r4,58h                                  ;
0802E6EE 8821     ldrh    r1,[r4]                                 ;
0802E6F0 1C28     mov     r0,r5                                   ;
0802E6F2 F7F8FFF3 bl      80276DCh                                ;
0802E6F6 2801     cmp     r0,1h                                   ;
0802E6F8 D12C     bne     802E754h                                ;
0802E6FA 8821     ldrh    r1,[r4]                                 ;
0802E6FC 1C28     mov     r0,r5                                   ;
0802E6FE F7F9F801 bl      8027704h                                ;
0802E702 1C04     mov     r4,r0                                   ;
0802E704 0624     lsl     r4,r4,18h                               ;
0802E706 0E24     lsr     r4,r4,18h                               ;
0802E708 1C2B     mov     r3,r5                                   ;
0802E70A 3B28     sub     r3,28h                                  ;
0802E70C 4A15     ldr     r2,=2023480h                            ;
0802E70E 7891     ldrb    r1,[r2,2h]                              ;
0802E710 0088     lsl     r0,r1,2h                                ;
0802E712 1840     add     r0,r0,r1                                ;
0802E714 78D2     ldrb    r2,[r2,3h]                              ;
0802E716 1880     add     r0,r0,r2                                ;
0802E718 0080     lsl     r0,r0,2h                                ;
0802E71A 18C0     add     r0,r0,r3                                ;
0802E71C 6800     ldr     r0,[r0]                                 ;
0802E71E 2100     mov     r1,0h                                   ;
0802E720 F7FAFAEE bl      8028D00h                                ;
0802E724 00A4     lsl     r4,r4,2h                                ;
0802E726 1964     add     r4,r4,r5                                ;
0802E728 6820     ldr     r0,[r4]                                 ;
0802E72A 1C34     mov     r4,r6                                   ;
0802E72C 345A     add     r4,5Ah                                  ;
0802E72E 8821     ldrh    r1,[r4]                                 ;
0802E730 F001FFC6 bl      80306C0h                                ;
0802E734 F7FAFB1C bl      8028D70h                                ;
0802E738 480B     ldr     r0,=2020C38h                            ;
0802E73A 7800     ldrb    r0,[r0]                                 ;
0802E73C 2800     cmp     r0,0h                                   ;
0802E73E D109     bne     802E754h                                ;
0802E740 2041     mov     r0,41h                                  ;
0802E742 F7F3FEFD bl      8022540h                                ;
0802E746 4809     ldr     r0,=2A6h                                ;r0 = 678 ; Revival of Sennen Genjin
0802E748 8821     ldrh    r1,[r4]                                 ;
0802E74A F7F7F8A9 bl      80258A0h                                ;
0802E74E 2053     mov     r0,53h                                  ;
0802E750 F7F3FEF6 bl      8022540h                                ;
0802E754 BC70     pop     r4-r6                                   ;
0802E756 BC01     pop     r0                                      ;
0802E758 4700     bx      r0                                      ;

Novox's Prayer

0802E772 4D1D     ldr     r5,=2023298h                            ;
0802E774 4E1D     ldr     r6,=8D542F0h                            ;
0802E776 1C34     mov     r4,r6                                   ;
0802E778 3460     add     r4,60h                                  ;
0802E77A 8821     ldrh    r1,[r4]                                 ;
0802E77C 1C28     mov     r0,r5                                   ;
0802E77E F7F8FFAD bl      80276DCh                                ;
0802E782 2801     cmp     r0,1h                                   ;
0802E784 D12C     bne     802E7E0h                                ;
0802E786 8821     ldrh    r1,[r4]                                 ;
0802E788 1C28     mov     r0,r5                                   ;
0802E78A F7F8FFBB bl      8027704h                                ;
0802E78E 1C04     mov     r4,r0                                   ;
0802E790 0624     lsl     r4,r4,18h                               ;
0802E792 0E24     lsr     r4,r4,18h                               ;
0802E794 1C2B     mov     r3,r5                                   ;
0802E796 3B28     sub     r3,28h                                  ;
0802E798 4A15     ldr     r2,=2023480h                            ;
0802E79A 7891     ldrb    r1,[r2,2h]                              ;
0802E79C 0088     lsl     r0,r1,2h                                ;
0802E79E 1840     add     r0,r0,r1                                ;
0802E7A0 78D2     ldrb    r2,[r2,3h]                              ;
0802E7A2 1880     add     r0,r0,r2                                ;
0802E7A4 0080     lsl     r0,r0,2h                                ;
0802E7A6 18C0     add     r0,r0,r3                                ;
0802E7A8 6800     ldr     r0,[r0]                                 ;
0802E7AA 2100     mov     r1,0h                                   ;
0802E7AC F7FAFAA8 bl      8028D00h                                ;
0802E7B0 00A4     lsl     r4,r4,2h                                ;
0802E7B2 1964     add     r4,r4,r5                                ;
0802E7B4 6820     ldr     r0,[r4]                                 ;
0802E7B6 1C34     mov     r4,r6                                   ;
0802E7B8 3462     add     r4,62h                                  ;
0802E7BA 8821     ldrh    r1,[r4]                                 ;
0802E7BC F001FF80 bl      80306C0h                                ;
0802E7C0 F7FAFAD6 bl      8028D70h                                ;
0802E7C4 480B     ldr     r0,=2020C38h                            ;
0802E7C6 7800     ldrb    r0,[r0]                                 ;
0802E7C8 2800     cmp     r0,0h                                   ;
0802E7CA D109     bne     802E7E0h                                ;
0802E7CC 2041     mov     r0,41h                                  ;
0802E7CE F7F3FEB7 bl      8022540h                                ;
0802E7D2 4809     ldr     r0,=2A7h                                ;r0 = 679 ; Novox's Prayer
0802E7D4 8821     ldrh    r1,[r4]                                 ;
0802E7D6 F7F7F863 bl      80258A0h                                ;
0802E7DA 2053     mov     r0,53h                                  ;
0802E7DC F7F3FEB0 bl      8022540h                                ;
0802E7E0 BC70     pop     r4-r6                                   ;
0802E7E2 BC01     pop     r0                                      ;
0802E7E4 4700     bx      r0                                      ;

Curse of Tri-Horned Dragon

0802E7FE 4D1D     ldr     r5,=2023298h                            ;Curse of Tri-Horned Dragon
0802E800 4E1D     ldr     r6,=8D542F0h                            ;
0802E802 1C34     mov     r4,r6                                   ;
0802E804 3468     add     r4,68h                                  ;
0802E806 8821     ldrh    r1,[r4]                                 ;
0802E808 1C28     mov     r0,r5                                   ;
0802E80A F7F8FF67 bl      80276DCh                                ;
0802E80E 2801     cmp     r0,1h                                   ;
0802E810 D12D     bne     802E86Eh                                ;
0802E812 8821     ldrh    r1,[r4]                                 ;
0802E814 1C28     mov     r0,r5                                   ;
0802E816 F7F8FF75 bl      8027704h                                ;
0802E81A 1C04     mov     r4,r0                                   ;
0802E81C 0624     lsl     r4,r4,18h                               ;
0802E81E 0E24     lsr     r4,r4,18h                               ;
0802E820 1C2B     mov     r3,r5                                   ;
0802E822 3B28     sub     r3,28h                                  ;
0802E824 4A15     ldr     r2,=2023480h                            ;
0802E826 7891     ldrb    r1,[r2,2h]                              ;
0802E828 0088     lsl     r0,r1,2h                                ;
0802E82A 1840     add     r0,r0,r1                                ;
0802E82C 78D2     ldrb    r2,[r2,3h]                              ;
0802E82E 1880     add     r0,r0,r2                                ;
0802E830 0080     lsl     r0,r0,2h                                ;
0802E832 18C0     add     r0,r0,r3                                ;
0802E834 6800     ldr     r0,[r0]                                 ;
0802E836 2100     mov     r1,0h                                   ;
0802E838 F7FAFA62 bl      8028D00h                                ;
0802E83C 00A4     lsl     r4,r4,2h                                ;
0802E83E 1964     add     r4,r4,r5                                ;
0802E840 6820     ldr     r0,[r4]                                 ;
0802E842 1C34     mov     r4,r6                                   ;
0802E844 346A     add     r4,6Ah                                  ;
0802E846 8821     ldrh    r1,[r4]                                 ;
0802E848 F001FF3A bl      80306C0h                                ;
0802E84C F7FAFA90 bl      8028D70h                                ;
0802E850 480B     ldr     r0,=2020C38h                            ;
0802E852 7800     ldrb    r0,[r0]                                 ;
0802E854 2800     cmp     r0,0h                                   ;
0802E856 D10A     bne     802E86Eh                                ;
0802E858 2041     mov     r0,41h                                  ;
0802E85A F7F3FE71 bl      8022540h                                ;
0802E85E 20AA     mov     r0,0AAh                                 ;
0802E860 0080     lsl     r0,r0,2h                                ;r0 = 680 ; Curse of Tri-Horned Dragon
0802E862 8821     ldrh    r1,[r4]                                 ;
0802E864 F7F7F81C bl      80258A0h                                ;
0802E868 2053     mov     r0,53h                                  ;
0802E86A F7F3FE69 bl      8022540h                                ;
0802E86E BC70     pop     r4-r6                                   ;
0802E870 BC01     pop     r0                                      ;
0802E872 4700     bx      r0                                      ;

Revived Serpent Night Dragon

0802E886 4D1D     ldr     r5,=2023298h                            ;Revived Serpent Night Dragon
0802E888 4E1D     ldr     r6,=8D542F0h                            ;
0802E88A 1C34     mov     r4,r6                                   ;
0802E88C 3470     add     r4,70h                                  ;
0802E88E 8821     ldrh    r1,[r4]                                 ;
0802E890 1C28     mov     r0,r5                                   ;
0802E892 F7F8FF23 bl      80276DCh                                ;
0802E896 2801     cmp     r0,1h                                   ;
0802E898 D12C     bne     802E8F4h                                ;
0802E89A 8821     ldrh    r1,[r4]                                 ;
0802E89C 1C28     mov     r0,r5                                   ;
0802E89E F7F8FF31 bl      8027704h                                ;
0802E8A2 1C04     mov     r4,r0                                   ;
0802E8A4 0624     lsl     r4,r4,18h                               ;
0802E8A6 0E24     lsr     r4,r4,18h                               ;
0802E8A8 1C2B     mov     r3,r5                                   ;
0802E8AA 3B28     sub     r3,28h                                  ;
0802E8AC 4A15     ldr     r2,=2023480h                            ;
0802E8AE 7891     ldrb    r1,[r2,2h]                              ;
0802E8B0 0088     lsl     r0,r1,2h                                ;
0802E8B2 1840     add     r0,r0,r1                                ;
0802E8B4 78D2     ldrb    r2,[r2,3h]                              ;
0802E8B6 1880     add     r0,r0,r2                                ;
0802E8B8 0080     lsl     r0,r0,2h                                ;
0802E8BA 18C0     add     r0,r0,r3                                ;
0802E8BC 6800     ldr     r0,[r0]                                 ;
0802E8BE 2100     mov     r1,0h                                   ;
0802E8C0 F7FAFA1E bl      8028D00h                                ;
0802E8C4 00A4     lsl     r4,r4,2h                                ;
0802E8C6 1964     add     r4,r4,r5                                ;
0802E8C8 6820     ldr     r0,[r4]                                 ;
0802E8CA 1C34     mov     r4,r6                                   ;
0802E8CC 3472     add     r4,72h                                  ;
0802E8CE 8821     ldrh    r1,[r4]                                 ;
0802E8D0 F001FEF6 bl      80306C0h                                ;
0802E8D4 F7FAFA4C bl      8028D70h                                ;
0802E8D8 480B     ldr     r0,=2020C38h                            ;
0802E8DA 7800     ldrb    r0,[r0]                                 ;
0802E8DC 2800     cmp     r0,0h                                   ;
0802E8DE D109     bne     802E8F4h                                ;
0802E8E0 2041     mov     r0,41h                                  ;
0802E8E2 F7F3FE2D bl      8022540h                                ;
0802E8E6 4809     ldr     r0,=2B3h                                ;r0 = 691 ; Revived Serpent Night Dragon
0802E8E8 8821     ldrh    r1,[r4]                                 ;
0802E8EA F7F6FFD9 bl      80258A0h                                ;
0802E8EE 2053     mov     r0,53h                                  ;
0802E8F0 F7F3FE26 bl      8022540h                                ;
0802E8F4 BC70     pop     r4-r6                                   ;
0802E8F6 BC01     pop     r0                                      ;
0802E8F8 4700     bx      r0                                      ;

Harpie's Feather Duster

0802E912 2400     mov     r4,0h                                   ;Harpie's Feather Duster
0802E914 4D14     ldr     r5,=2023270h                            ;
0802E916 00A0     lsl     r0,r4,2h                                ;
0802E918 1940     add     r0,r0,r5                                ;
0802E91A 6800     ldr     r0,[r0]                                 ;
0802E91C 2101     mov     r1,1h                                   ;
0802E91E F7FAF9EF bl      8028D00h                                ;
0802E922 1C60     add     r0,r4,1                                 ;
0802E924 0600     lsl     r0,r0,18h                               ;
0802E926 0E04     lsr     r4,r0,18h                               ;
0802E928 2C04     cmp     r4,4h                                   ;
0802E92A D9F4     bls     802E916h                                ;
0802E92C 4B0E     ldr     r3,=2023270h                            ;
0802E92E 4A0F     ldr     r2,=2023480h                            ;
0802E930 7891     ldrb    r1,[r2,2h]                              ;
0802E932 0088     lsl     r0,r1,2h                                ;
0802E934 1840     add     r0,r0,r1                                ;
0802E936 78D2     ldrb    r2,[r2,3h]                              ;
0802E938 1880     add     r0,r0,r2                                ;
0802E93A 0080     lsl     r0,r0,2h                                ;
0802E93C 18C0     add     r0,r0,r3                                ;
0802E93E 6800     ldr     r0,[r0]                                 ;
0802E940 2100     mov     r1,0h                                   ;
0802E942 F7FAF9DD bl      8028D00h                                ;
0802E946 480A     ldr     r0,=2020C38h                            ;
0802E948 7800     ldrb    r0,[r0]                                 ;
0802E94A 2800     cmp     r0,0h                                   ;
0802E94C D109     bne     802E962h                                ;
0802E94E 2041     mov     r0,41h                                  ;
0802E950 F7F3FDF6 bl      8022540h                                ;
0802E954 20A8     mov     r0,0A8h                                 ;
0802E956 0080     lsl     r0,r0,2h                                ;r0 = 672 ; Harpie's Feather Duster
0802E958 F7F6FFA2 bl      80258A0h                                ;
0802E95C 2059     mov     r0,59h                                  ;
0802E95E F7F3FDEF bl      8022540h                                ;
0802E962 BC30     pop     r4,r5                                   ;
0802E964 BC01     pop     r0                                      ;
0802E966 4700     bx      r0                                      ;

Equip Spells 2

Magical Labyrinth

0802E976 4D25     ldr     r5,=2023270h                            ;Magical Labyrinth
0802E978 4C25     ldr     r4,=2023480h                            ;
0802E97A 78A1     ldrb    r1,[r4,2h]                              ;
0802E97C 0088     lsl     r0,r1,2h                                ;
0802E97E 1840     add     r0,r0,r1                                ;
0802E980 78E1     ldrb    r1,[r4,3h]                              ;
0802E982 1840     add     r0,r0,r1                                ;
0802E984 0080     lsl     r0,r0,2h                                ;
0802E986 1940     add     r0,r0,r5                                ;
0802E988 6800     ldr     r0,[r0]                                 ;
0802E98A 8800     ldrh    r0,[r0]                                 ;
0802E98C F006F8D6 bl      8034B3Ch                                ;
0802E990 2801     cmp     r0,1h                                   ;
0802E992 D150     bne     802EA36h                                ;
0802E994 4A1F     ldr     r2,=20237D0h                            ;
0802E996 7920     ldrb    r0,[r4,4h]                              ;
0802E998 7090     strb    r0,[r2,2h]                              ;
0802E99A 7960     ldrb    r0,[r4,5h]                              ;
0802E99C 70D0     strb    r0,[r2,3h]                              ;
0802E99E 7921     ldrb    r1,[r4,4h]                              ;
0802E9A0 0088     lsl     r0,r1,2h                                ;
0802E9A2 1840     add     r0,r0,r1                                ;
0802E9A4 7961     ldrb    r1,[r4,5h]                              ;
0802E9A6 1840     add     r0,r0,r1                                ;
0802E9A8 0080     lsl     r0,r0,2h                                ;
0802E9AA 1940     add     r0,r0,r5                                ;
0802E9AC 6800     ldr     r0,[r0]                                 ;
0802E9AE 8800     ldrh    r0,[r0]                                 ;
0802E9B0 8010     strh    r0,[r2]                                 ;
0802E9B2 F007FE4D bl      8036650h                                ;
0802E9B6 2801     cmp     r0,1h                                   ;
0802E9B8 D103     bne     802E9C2h                                ;
0802E9BA 4817     ldr     r0,=2020C38h                            ;
0802E9BC 7800     ldrb    r0,[r0]                                 ;
0802E9BE 2800     cmp     r0,0h                                   ;
0802E9C0 D02C     beq     802EA1Ch                                ;
0802E9C2 78A1     ldrb    r1,[r4,2h]                              ;
0802E9C4 0088     lsl     r0,r1,2h                                ;
0802E9C6 1840     add     r0,r0,r1                                ;
0802E9C8 78E1     ldrb    r1,[r4,3h]                              ;
0802E9CA 1840     add     r0,r0,r1                                ;
0802E9CC 0080     lsl     r0,r0,2h                                ;
0802E9CE 1940     add     r0,r0,r5                                ;
0802E9D0 6800     ldr     r0,[r0]                                 ;
0802E9D2 F7F6F987 bl      8024CE4h                                ;
0802E9D6 7921     ldrb    r1,[r4,4h]                              ;
0802E9D8 0088     lsl     r0,r1,2h                                ;
0802E9DA 1840     add     r0,r0,r1                                ;
0802E9DC 7964     ldrb    r4,[r4,5h]                              ;
0802E9DE 1900     add     r0,r0,r4                                ;
0802E9E0 0080     lsl     r0,r0,2h                                ;
0802E9E2 1940     add     r0,r0,r5                                ;
0802E9E4 6800     ldr     r0,[r0]                                 ;
0802E9E6 2100     mov     r1,0h                                   ;
0802E9E8 F7FAF98A bl      8028D00h                                ;
0802E9EC 480A     ldr     r0,=2020C38h                            ;
0802E9EE 7800     ldrb    r0,[r0]                                 ;r0 = [0x=2020C38]
0802E9F0 2800     cmp     r0,0h                                   ;r0 = 0
0802E9F2 D127     bne     802EA44h                                ;
0802E9F4 2041     mov     r0,41h                                  ;r0 = 65
0802E9F6 F7F3FDA3 bl      8022540h                                ;
0802E9FA 20A3     mov     r0,0A3h                                 ;
0802E9FC 0080     lsl     r0,r0,2h                                ;r0 = 652 ; Magical Labyrinth
0802E9FE F7F6FF4F bl      80258A0h                                ;
0802EA02 2049     mov     r0,49h                                  ;r0 = 73
0802EA04 F7F3FD9C bl      8022540h                                ;
0802EA08 E01C     b       802EA44h                                ;
0802EA0A 0000     lsl     r0,r0,0h                                ;
0802EA0C 3270     add     r2,70h                                  ;r2 += 112
0802EA0E 0202     lsl     r2,r0,8h                                ;
0802EA10 3480     add     r4,80h                                  ;r4 += 128
0802EA12 0202     lsl     r2,r0,8h                                ;
0802EA14 37D0     add     r7,0D0h                                 ;r7 += 208
0802EA16 0202     lsl     r2,r0,8h                                ;
0802EA18 0C38     lsr     r0,r7,10h                               ;
0802EA1A 0202     lsl     r2,r0,8h                                ;
0802EA1C 78A0     ldrb    r0,[r4,2h]                              ;
0802EA1E 0081     lsl     r1,r0,2h                                ;
0802EA20 1809     add     r1,r1,r0                                ;
0802EA22 78E4     ldrb    r4,[r4,3h]                              ;
0802EA24 1909     add     r1,r1,r4                                ;
0802EA26 0089     lsl     r1,r1,2h                                ;
0802EA28 1949     add     r1,r1,r5                                ;
0802EA2A 6808     ldr     r0,[r1]                                 ;
0802EA2C F7F6F964 bl      8024CF8h                                ;
0802EA30 F007FD96 bl      8036560h                                ;
0802EA34 E006     b       802EA44h                                ;
0802EA36 4805     ldr     r0,=2020C38h                            ;
0802EA38 7800     ldrb    r0,[r0]                                 ;r0 = [0x=2020C38]
0802EA3A 2800     cmp     r0,0h                                   ;
0802EA3C D102     bne     802EA44h                                ;
0802EA3E 2039     mov     r0,39h                                  ;r0 = 57
0802EA40 F7F3FD7E bl      8022540h                                ;
0802EA44 BC30     pop     r4,r5                                   ;
0802EA46 BC01     pop     r0                                      ;
0802EA48 4700     bx      r0                                      ;

Salamandra

0802EA52 4D24     ldr     r5,=2023270h                            ;Salamandra
0802EA54 4C24     ldr     r4,=2023480h                            ;
0802EA56 78A1     ldrb    r1,[r4,2h]                              ;
0802EA58 0088     lsl     r0,r1,2h                                ;
0802EA5A 1840     add     r0,r0,r1                                ;
0802EA5C 78E1     ldrb    r1,[r4,3h]                              ;
0802EA5E 1840     add     r0,r0,r1                                ;
0802EA60 0080     lsl     r0,r0,2h                                ;
0802EA62 1940     add     r0,r0,r5                                ;
0802EA64 6800     ldr     r0,[r0]                                 ;
0802EA66 8800     ldrh    r0,[r0]                                 ;
0802EA68 F006F876 bl      8034B58h                                ;
0802EA6C 2801     cmp     r0,1h                                   ;
0802EA6E D150     bne     802EB12h                                ;
0802EA70 4A1E     ldr     r2,=20237D0h                            ;
0802EA72 7920     ldrb    r0,[r4,4h]                              ;
0802EA74 7090     strb    r0,[r2,2h]                              ;
0802EA76 7960     ldrb    r0,[r4,5h]                              ;
0802EA78 70D0     strb    r0,[r2,3h]                              ;
0802EA7A 7921     ldrb    r1,[r4,4h]                              ;
0802EA7C 0088     lsl     r0,r1,2h                                ;
0802EA7E 1840     add     r0,r0,r1                                ;
0802EA80 7961     ldrb    r1,[r4,5h]                              ;
0802EA82 1840     add     r0,r0,r1                                ;
0802EA84 0080     lsl     r0,r0,2h                                ;
0802EA86 1940     add     r0,r0,r5                                ;
0802EA88 6800     ldr     r0,[r0]                                 ;
0802EA8A 8800     ldrh    r0,[r0]                                 ;
0802EA8C 8010     strh    r0,[r2]                                 ;
0802EA8E F007FDDF bl      8036650h                                ;
0802EA92 2801     cmp     r0,1h                                   ;
0802EA94 D103     bne     802EA9Eh                                ;
0802EA96 4816     ldr     r0,=2020C38h                            ;
0802EA98 7800     ldrb    r0,[r0]                                 ;
0802EA9A 2800     cmp     r0,0h                                   ;
0802EA9C D02C     beq     802EAF8h                                ;
0802EA9E 78A1     ldrb    r1,[r4,2h]                              ;
0802EAA0 0088     lsl     r0,r1,2h                                ;
0802EAA2 1840     add     r0,r0,r1                                ;
0802EAA4 78E1     ldrb    r1,[r4,3h]                              ;
0802EAA6 1840     add     r0,r0,r1                                ;
0802EAA8 0080     lsl     r0,r0,2h                                ;
0802EAAA 1940     add     r0,r0,r5                                ;
0802EAAC 6800     ldr     r0,[r0]                                 ;
0802EAAE F7F6F919 bl      8024CE4h                                ;
0802EAB2 7921     ldrb    r1,[r4,4h]                              ;
0802EAB4 0088     lsl     r0,r1,2h                                ;
0802EAB6 1840     add     r0,r0,r1                                ;
0802EAB8 7964     ldrb    r4,[r4,5h]                              ;
0802EABA 1900     add     r0,r0,r4                                ;
0802EABC 0080     lsl     r0,r0,2h                                ;
0802EABE 1940     add     r0,r0,r5                                ;
0802EAC0 6800     ldr     r0,[r0]                                 ;
0802EAC2 2100     mov     r1,0h                                   ;
0802EAC4 F7FAF91C bl      8028D00h                                ;
0802EAC8 4809     ldr     r0,=2020C38h                            ;
0802EACA 7800     ldrb    r0,[r0]                                 ;
0802EACC 2800     cmp     r0,0h                                   ;
0802EACE D127     bne     802EB20h                                ;
0802EAD0 2041     mov     r0,41h                                  ;
0802EAD2 F7F3FD35 bl      8022540h                                ;
0802EAD6 4807     ldr     r0,=28Eh                                ;r0 = 654 ; Salamandra
0802EAD8 F7F6FEE2 bl      80258A0h                                ;
0802EADC 2049     mov     r0,49h                                  ;
0802EADE F7F3FD2F bl      8022540h                                ;
0802EAE2 E01D     b       802EB20h                                ;
0802EAE4 3270     add     r2,70h                                  ;
0802EAE6 0202     lsl     r2,r0,8h                                ;
0802EAE8 3480     add     r4,80h                                  ;
0802EAEA 0202     lsl     r2,r0,8h                                ;
0802EAEC 37D0     add     r7,0D0h                                 ;
0802EAEE 0202     lsl     r2,r0,8h                                ;
0802EAF0 0C38     lsr     r0,r7,10h                               ;
0802EAF2 0202     lsl     r2,r0,8h                                ;
0802EAF4 028E     lsl     r6,r1,0Ah                               ;
0802EAF6 0000     lsl     r0,r0,0h                                ;
0802EAF8 78A0     ldrb    r0,[r4,2h]                              ;
0802EAFA 0081     lsl     r1,r0,2h                                ;
0802EAFC 1809     add     r1,r1,r0                                ;
0802EAFE 78E4     ldrb    r4,[r4,3h]                              ;
0802EB00 1909     add     r1,r1,r4                                ;
0802EB02 0089     lsl     r1,r1,2h                                ;
0802EB04 1949     add     r1,r1,r5                                ;
0802EB06 6808     ldr     r0,[r1]                                 ;
0802EB08 F7F6F8F6 bl      8024CF8h                                ;
0802EB0C F007FD28 bl      8036560h                                ;
0802EB10 E006     b       802EB20h                                ;
0802EB12 4805     ldr     r0,=2020C38h                            ;
0802EB14 7800     ldrb    r0,[r0]                                 ;
0802EB16 2800     cmp     r0,0h                                   ;
0802EB18 D102     bne     802EB20h                                ;
0802EB1A 2039     mov     r0,39h                                  ;
0802EB1C F7F3FD10 bl      8022540h                                ;
0802EB20 BC30     pop     r4,r5                                   ;
0802EB22 BC01     pop     r0                                      ;
0802EB24 4700     bx      r0                                      ;

Kunai with Chain

0802EB2E 4D24     ldr     r5,=2023270h                            ;Kunai with Chain
0802EB30 4C24     ldr     r4,=2023480h                            ;
0802EB32 78A1     ldrb    r1,[r4,2h]                              ;
0802EB34 0088     lsl     r0,r1,2h                                ;
0802EB36 1840     add     r0,r0,r1                                ;
0802EB38 78E1     ldrb    r1,[r4,3h]                              ;
0802EB3A 1840     add     r0,r0,r1                                ;
0802EB3C 0080     lsl     r0,r0,2h                                ;
0802EB3E 1940     add     r0,r0,r5                                ;
0802EB40 6800     ldr     r0,[r0]                                 ;
0802EB42 8800     ldrh    r0,[r0]                                 ;
0802EB44 F006F816 bl      8034B74h                                ;
0802EB48 2801     cmp     r0,1h                                   ;
0802EB4A D150     bne     802EBEEh                                ;
0802EB4C 4A1E     ldr     r2,=20237D0h                            ;
0802EB4E 7920     ldrb    r0,[r4,4h]                              ;
0802EB50 7090     strb    r0,[r2,2h]                              ;
0802EB52 7960     ldrb    r0,[r4,5h]                              ;
0802EB54 70D0     strb    r0,[r2,3h]                              ;
0802EB56 7921     ldrb    r1,[r4,4h]                              ;
0802EB58 0088     lsl     r0,r1,2h                                ;
0802EB5A 1840     add     r0,r0,r1                                ;
0802EB5C 7961     ldrb    r1,[r4,5h]                              ;
0802EB5E 1840     add     r0,r0,r1                                ;
0802EB60 0080     lsl     r0,r0,2h                                ;
0802EB62 1940     add     r0,r0,r5                                ;
0802EB64 6800     ldr     r0,[r0]                                 ;
0802EB66 8800     ldrh    r0,[r0]                                 ;
0802EB68 8010     strh    r0,[r2]                                 ;
0802EB6A F007FD71 bl      8036650h                                ;
0802EB6E 2801     cmp     r0,1h                                   ;
0802EB70 D103     bne     802EB7Ah                                ;
0802EB72 4816     ldr     r0,=2020C38h                            ;
0802EB74 7800     ldrb    r0,[r0]                                 ;
0802EB76 2800     cmp     r0,0h                                   ;
0802EB78 D02C     beq     802EBD4h                                ;
0802EB7A 78A1     ldrb    r1,[r4,2h]                              ;
0802EB7C 0088     lsl     r0,r1,2h                                ;
0802EB7E 1840     add     r0,r0,r1                                ;
0802EB80 78E1     ldrb    r1,[r4,3h]                              ;
0802EB82 1840     add     r0,r0,r1                                ;
0802EB84 0080     lsl     r0,r0,2h                                ;
0802EB86 1940     add     r0,r0,r5                                ;
0802EB88 6800     ldr     r0,[r0]                                 ;
0802EB8A F7F6F8AB bl      8024CE4h                                ;
0802EB8E 7921     ldrb    r1,[r4,4h]                              ;
0802EB90 0088     lsl     r0,r1,2h                                ;
0802EB92 1840     add     r0,r0,r1                                ;
0802EB94 7964     ldrb    r4,[r4,5h]                              ;
0802EB96 1900     add     r0,r0,r4                                ;
0802EB98 0080     lsl     r0,r0,2h                                ;
0802EB9A 1940     add     r0,r0,r5                                ;
0802EB9C 6800     ldr     r0,[r0]                                 ;
0802EB9E 2100     mov     r1,0h                                   ;
0802EBA0 F7FAF8AE bl      8028D00h                                ;
0802EBA4 4809     ldr     r0,=2020C38h                            ;
0802EBA6 7800     ldrb    r0,[r0]                                 ;
0802EBA8 2800     cmp     r0,0h                                   ;
0802EBAA D127     bne     802EBFCh                                ;
0802EBAC 2041     mov     r0,41h                                  ;
0802EBAE F7F3FCC7 bl      8022540h                                ;
0802EBB2 4807     ldr     r0,=28Bh                                ;r0 = 651 ; Kunai with Chain
0802EBB4 F7F6FE74 bl      80258A0h                                ;
0802EBB8 2049     mov     r0,49h                                  ;
0802EBBA F7F3FCC1 bl      8022540h                                ;
0802EBBE E01D     b       802EBFCh                                ;
0802EBC0 3270     add     r2,70h                                  ;
0802EBC2 0202     lsl     r2,r0,8h                                ;
0802EBC4 3480     add     r4,80h                                  ;
0802EBC6 0202     lsl     r2,r0,8h                                ;
0802EBC8 37D0     add     r7,0D0h                                 ;
0802EBCA 0202     lsl     r2,r0,8h                                ;
0802EBCC 0C38     lsr     r0,r7,10h                               ;
0802EBCE 0202     lsl     r2,r0,8h                                ;
0802EBD0 028B     lsl     r3,r1,0Ah                               ;
0802EBD2 0000     lsl     r0,r0,0h                                ;
0802EBD4 78A0     ldrb    r0,[r4,2h]                              ;
0802EBD6 0081     lsl     r1,r0,2h                                ;
0802EBD8 1809     add     r1,r1,r0                                ;
0802EBDA 78E4     ldrb    r4,[r4,3h]                              ;
0802EBDC 1909     add     r1,r1,r4                                ;
0802EBDE 0089     lsl     r1,r1,2h                                ;
0802EBE0 1949     add     r1,r1,r5                                ;
0802EBE2 6808     ldr     r0,[r1]                                 ;
0802EBE4 F7F6F888 bl      8024CF8h                                ;
0802EBE8 F007FCBA bl      8036560h                                ;
0802EBEC E006     b       802EBFCh                                ;
0802EBEE 4805     ldr     r0,=2020C38h                            ;
0802EBF0 7800     ldrb    r0,[r0]                                 ;
0802EBF2 2800     cmp     r0,0h                                   ;
0802EBF4 D102     bne     802EBFCh                                ;
0802EBF6 2039     mov     r0,39h                                  ;
0802EBF8 F7F3FCA2 bl      8022540h                                ;
0802EBFC BC30     pop     r4,r5                                   ;
0802EBFE BC01     pop     r0                                      ;
0802EC00 4700     bx      r0                                      ;

Bright Castle

0802EC0A 4D25     ldr     r5,=2023270h                            ;Bright Castle
0802EC0C 4C25     ldr     r4,=2023480h                            ;
0802EC0E 78A1     ldrb    r1,[r4,2h]                              ;
0802EC10 0088     lsl     r0,r1,2h                                ;
0802EC12 1840     add     r0,r0,r1                                ;
0802EC14 78E1     ldrb    r1,[r4,3h]                              ;
0802EC16 1840     add     r0,r0,r1                                ;
0802EC18 0080     lsl     r0,r0,2h                                ;
0802EC1A 1940     add     r0,r0,r5                                ;
0802EC1C 6800     ldr     r0,[r0]                                 ;
0802EC1E 8800     ldrh    r0,[r0]                                 ;
0802EC20 F005FFB6 bl      8034B90h                                ;
0802EC24 2801     cmp     r0,1h                                   ;
0802EC26 D150     bne     802ECCAh                                ;
0802EC28 4A1F     ldr     r2,=20237D0h                            ;
0802EC2A 7920     ldrb    r0,[r4,4h]                              ;
0802EC2C 7090     strb    r0,[r2,2h]                              ;
0802EC2E 7960     ldrb    r0,[r4,5h]                              ;
0802EC30 70D0     strb    r0,[r2,3h]                              ;
0802EC32 7921     ldrb    r1,[r4,4h]                              ;
0802EC34 0088     lsl     r0,r1,2h                                ;
0802EC36 1840     add     r0,r0,r1                                ;
0802EC38 7961     ldrb    r1,[r4,5h]                              ;
0802EC3A 1840     add     r0,r0,r1                                ;
0802EC3C 0080     lsl     r0,r0,2h                                ;
0802EC3E 1940     add     r0,r0,r5                                ;
0802EC40 6800     ldr     r0,[r0]                                 ;
0802EC42 8800     ldrh    r0,[r0]                                 ;
0802EC44 8010     strh    r0,[r2]                                 ;
0802EC46 F007FD03 bl      8036650h                                ;
0802EC4A 2801     cmp     r0,1h                                   ;
0802EC4C D103     bne     802EC56h                                ;
0802EC4E 4817     ldr     r0,=2020C38h                            ;
0802EC50 7800     ldrb    r0,[r0]                                 ;
0802EC52 2800     cmp     r0,0h                                   ;
0802EC54 D02C     beq     802ECB0h                                ;
0802EC56 78A1     ldrb    r1,[r4,2h]                              ;
0802EC58 0088     lsl     r0,r1,2h                                ;
0802EC5A 1840     add     r0,r0,r1                                ;
0802EC5C 78E1     ldrb    r1,[r4,3h]                              ;
0802EC5E 1840     add     r0,r0,r1                                ;
0802EC60 0080     lsl     r0,r0,2h                                ;
0802EC62 1940     add     r0,r0,r5                                ;
0802EC64 6800     ldr     r0,[r0]                                 ;
0802EC66 F7F6F83D bl      8024CE4h                                ;
0802EC6A 7921     ldrb    r1,[r4,4h]                              ;
0802EC6C 0088     lsl     r0,r1,2h                                ;
0802EC6E 1840     add     r0,r0,r1                                ;
0802EC70 7964     ldrb    r4,[r4,5h]                              ;
0802EC72 1900     add     r0,r0,r4                                ;
0802EC74 0080     lsl     r0,r0,2h                                ;
0802EC76 1940     add     r0,r0,r5                                ;
0802EC78 6800     ldr     r0,[r0]                                 ;
0802EC7A 2100     mov     r1,0h                                   ;
0802EC7C F7FAF840 bl      8028D00h                                ;
0802EC80 480A     ldr     r0,=2020C38h                            ;
0802EC82 7800     ldrb    r0,[r0]                                 ;
0802EC84 2800     cmp     r0,0h                                   ;
0802EC86 D127     bne     802ECD8h                                ;
0802EC88 2041     mov     r0,41h                                  ;
0802EC8A F7F3FC59 bl      8022540h                                ;
0802EC8E 20A7     mov     r0,0A7h                                 ;
0802EC90 0080     lsl     r0,r0,2h                                ;r0 = 668 ; Bright Castle
0802EC92 F7F6FE05 bl      80258A0h                                ;
0802EC96 2049     mov     r0,49h                                  ;
0802EC98 F7F3FC52 bl      8022540h                                ;
0802EC9C E01C     b       802ECD8h                                ;
0802EC9E 0000     lsl     r0,r0,0h                                ;
0802ECA0 3270     add     r2,70h                                  ;
0802ECA2 0202     lsl     r2,r0,8h                                ;
0802ECA4 3480     add     r4,80h                                  ;
0802ECA6 0202     lsl     r2,r0,8h                                ;
0802ECA8 37D0     add     r7,0D0h                                 ;
0802ECAA 0202     lsl     r2,r0,8h                                ;
0802ECAC 0C38     lsr     r0,r7,10h                               ;
0802ECAE 0202     lsl     r2,r0,8h                                ;
0802ECB0 78A0     ldrb    r0,[r4,2h]                              ;
0802ECB2 0081     lsl     r1,r0,2h                                ;
0802ECB4 1809     add     r1,r1,r0                                ;
0802ECB6 78E4     ldrb    r4,[r4,3h]                              ;
0802ECB8 1909     add     r1,r1,r4                                ;
0802ECBA 0089     lsl     r1,r1,2h                                ;
0802ECBC 1949     add     r1,r1,r5                                ;
0802ECBE 6808     ldr     r0,[r1]                                 ;
0802ECC0 F7F6F81A bl      8024CF8h                                ;
0802ECC4 F007FC4C bl      8036560h                                ;
0802ECC8 E006     b       802ECD8h                                ;
0802ECCA 4805     ldr     r0,=2020C38h                            ;
0802ECCC 7800     ldrb    r0,[r0]                                 ;
0802ECCE 2800     cmp     r0,0h                                   ;
0802ECD0 D102     bne     802ECD8h                                ;
0802ECD2 2039     mov     r0,39h                                  ;
0802ECD4 F7F3FC34 bl      8022540h                                ;
0802ECD8 BC30     pop     r4,r5                                   ;
0802ECDA BC01     pop     r0                                      ;
0802ECDC 4700     bx      r0                                      ;

Crush Card

0802ECE6 4647     mov     r7,r8                                   ;Crush Card
0802ECE8 B480     push    r7                                      ;
0802ECEA 2500     mov     r5,0h                                   ;
0802ECEC 4822     ldr     r0,=2023284h                            ;
0802ECEE 4680     mov     r8,r0                                   ;
0802ECF0 4F22     ldr     r7,=5DBh                                ;r7 = 1499 ; Every monster with 1500 ATK or more will be destroyed
0802ECF2 4E23     ldr     r6,=2023250h                            ;
0802ECF4 00A8     lsl     r0,r5,2h                                ;
0802ECF6 4641     mov     r1,r8                                   ;
0802ECF8 1844     add     r4,r0,r1                                ;
0802ECFA 6821     ldr     r1,[r4]                                 ;
0802ECFC 8808     ldrh    r0,[r1]                                 ;
0802ECFE 2800     cmp     r0,0h                                   ;
0802ED00 D016     beq     802ED30h                                ;
0802ED02 F7EAFB33 bl      801936Ch                                ;
0802ED06 2801     cmp     r0,1h                                   ;
0802ED08 D012     beq     802ED30h                                ;
0802ED0A 7830     ldrb    r0,[r6]                                 ;
0802ED0C 6821     ldr     r1,[r4]                                 ;
0802ED0E 7889     ldrb    r1,[r1,2h]                              ;
0802ED10 0609     lsl     r1,r1,18h                               ;
0802ED12 1609     asr     r1,r1,18h                               ;
0802ED14 F7D7FFC0 bl      8006C98h                                ;
0802ED18 6820     ldr     r0,[r4]                                 ;
0802ED1A 8800     ldrh    r0,[r0]                                 ;
0802ED1C F7D8F82E bl      8006D7Ch                                ;
0802ED20 4818     ldr     r0,=2020B00h                            ;
0802ED22 8A40     ldrh    r0,[r0,12h]                             ;
0802ED24 42B8     cmp     r0,r7                                   ;
0802ED26 D903     bls     802ED30h                                ;
0802ED28 6820     ldr     r0,[r4]                                 ;
0802ED2A 2101     mov     r1,1h                                   ;
0802ED2C F7F9FFE8 bl      8028D00h                                ;
0802ED30 1C68     add     r0,r5,1                                 ;
0802ED32 0600     lsl     r0,r0,18h                               ;
0802ED34 0E05     lsr     r5,r0,18h                               ;
0802ED36 2D04     cmp     r5,4h                                   ;
0802ED38 D9DC     bls     802ECF4h                                ;
0802ED3A 4B13     ldr     r3,=2023270h                            ;
0802ED3C 4A13     ldr     r2,=2023480h                            ;
0802ED3E 7891     ldrb    r1,[r2,2h]                              ;
0802ED40 0088     lsl     r0,r1,2h                                ;
0802ED42 1840     add     r0,r0,r1                                ;
0802ED44 78D2     ldrb    r2,[r2,3h]                              ;
0802ED46 1880     add     r0,r0,r2                                ;
0802ED48 0080     lsl     r0,r0,2h                                ;
0802ED4A 18C0     add     r0,r0,r3                                ;
0802ED4C 6800     ldr     r0,[r0]                                 ;
0802ED4E 2100     mov     r1,0h                                   ;
0802ED50 F7F9FFD6 bl      8028D00h                                ;
0802ED54 480E     ldr     r0,=2020C38h                            ;
0802ED56 7800     ldrb    r0,[r0]                                 ;
0802ED58 2800     cmp     r0,0h                                   ;
0802ED5A D108     bne     802ED6Eh                                ;
0802ED5C 2041     mov     r0,41h                                  ;
0802ED5E F7F3FBEF bl      8022540h                                ;
0802ED62 480C     ldr     r0,=295h                                ;r0 = 661 ; Crush Card
0802ED64 F7F6FD9C bl      80258A0h                                ;
0802ED68 204C     mov     r0,4Ch                                  ;
0802ED6A F7F3FBE9 bl      8022540h                                ;
0802ED6E BC08     pop     r3                                      ;
0802ED70 4698     mov     r8,r3                                   ;
0802ED72 BCF0     pop     r4-r7                                   ;
0802ED74 BC01     pop     r0                                      ;
0802ED76 4700     bx      r0                                      ;

Shadow Spell

0802ED9A 2500     mov     r5,0h                                   ;Shadow Spell
0802ED9C 4E17     ldr     r6,=2023284h                            ;
0802ED9E 00A8     lsl     r0,r5,2h                                ;start of loop, r0 = r5 << 2
0802EDA0 1984     add     r4,r0,r6                                ;r4 = (r5 << 2) + r6
0802EDA2 6821     ldr     r1,[r4]                                 ;r1 = [r4]
0802EDA4 8808     ldrh    r0,[r1]                                 ;r0 = [r1]
0802EDA6 2800     cmp     r0,0h                                   ;
0802EDA8 D005     beq     802EDB6h                                ;if (r0 == 0), branch to 0x802EDB6
0802EDAA 1C08     mov     r0,r1                                   ;
0802EDAC F7F5FFA4 bl      8024CF8h                                ;call 0x24CF8 (probably -1 to current Monster's Level)
0802EDB0 6820     ldr     r0,[r4]                                 ;
0802EDB2 F7F5FFA1 bl      8024CF8h                                ;call 0x24CF8 (probably -1 to current Monster's Level)
0802EDB6 1C68     add     r0,r5,1                                 ;r0 = r5 + 1
0802EDB8 0600     lsl     r0,r0,18h                               ;
0802EDBA 0E05     lsr     r5,r0,18h                               ;
0802EDBC 2D04     cmp     r5,4h                                   ;
0802EDBE D9EE     bls     802ED9Eh                                ;if (r5 ≤ 4), loop to 0x802ED9E (probably to loop for every foe's Monster's zone)
0802EDC0 4B0F     ldr     r3,=2023270h                            ;
0802EDC2 4A10     ldr     r2,=2023480h                            ;
0802EDC4 7891     ldrb    r1,[r2,2h]                              ;
0802EDC6 0088     lsl     r0,r1,2h                                ;
0802EDC8 1840     add     r0,r0,r1                                ;
0802EDCA 78D2     ldrb    r2,[r2,3h]                              ;
0802EDCC 1880     add     r0,r0,r2                                ;
0802EDCE 0080     lsl     r0,r0,2h                                ;
0802EDD0 18C0     add     r0,r0,r3                                ;
0802EDD2 6800     ldr     r0,[r0]                                 ;
0802EDD4 2100     mov     r1,0h                                   ;r1 = 0
0802EDD6 F7F9FF93 bl      8028D00h                                ;call 0x28D00
0802EDDA 480B     ldr     r0,=2020C38h                            ;
0802EDDC 7800     ldrb    r0,[r0]                                 ;r0 = [0x2020C38]
0802EDDE 2800     cmp     r0,0h                                   ;
0802EDE0 D108     bne     802EDF4h                                ;if (r0 ≠ 0), branch to 0x802EDF4
0802EDE2 2041     mov     r0,41h                                  ;r0 = 65
0802EDE4 F7F3FBAC bl      8022540h                                ;call 0x22540
0802EDE8 4808     ldr     r0,=29Dh                                ;r0 = 669 ; Shadow Spell
0802EDEA F7F6FD59 bl      80258A0h                                ;
0802EDEE 204A     mov     r0,4Ah                                  ;r0 = 74
0802EDF0 F7F3FBA6 bl      8022540h                                ;call 0x22540
0802EDF4 BC70     pop     r4-r6                                   ;
0802EDF6 BC01     pop     r0                                      ;
0802EDF8 4700     bx      r0                                      ;

Ritual Spells 2

Turtle Oath

0802EE12 4D1D     ldr     r5,=2023298h                            ;Turtle Oath
0802EE14 4E1D     ldr     r6,=8D542F0h                            ;
0802EE16 1C34     mov     r4,r6                                   ;
0802EE18 3478     add     r4,78h                                  ;
0802EE1A 8821     ldrh    r1,[r4]                                 ;
0802EE1C 1C28     mov     r0,r5                                   ;
0802EE1E F7F8FC5D bl      80276DCh                                ;
0802EE22 2801     cmp     r0,1h                                   ;
0802EE24 D12D     bne     802EE82h                                ;
0802EE26 8821     ldrh    r1,[r4]                                 ;
0802EE28 1C28     mov     r0,r5                                   ;
0802EE2A F7F8FC6B bl      8027704h                                ;
0802EE2E 1C04     mov     r4,r0                                   ;
0802EE30 0624     lsl     r4,r4,18h                               ;
0802EE32 0E24     lsr     r4,r4,18h                               ;
0802EE34 1C2B     mov     r3,r5                                   ;
0802EE36 3B28     sub     r3,28h                                  ;
0802EE38 4A15     ldr     r2,=2023480h                            ;
0802EE3A 7891     ldrb    r1,[r2,2h]                              ;
0802EE3C 0088     lsl     r0,r1,2h                                ;
0802EE3E 1840     add     r0,r0,r1                                ;
0802EE40 78D2     ldrb    r2,[r2,3h]                              ;
0802EE42 1880     add     r0,r0,r2                                ;
0802EE44 0080     lsl     r0,r0,2h                                ;
0802EE46 18C0     add     r0,r0,r3                                ;
0802EE48 6800     ldr     r0,[r0]                                 ;
0802EE4A 2100     mov     r1,0h                                   ;
0802EE4C F7F9FF58 bl      8028D00h                                ;
0802EE50 00A4     lsl     r4,r4,2h                                ;
0802EE52 1964     add     r4,r4,r5                                ;
0802EE54 6820     ldr     r0,[r4]                                 ;
0802EE56 1C34     mov     r4,r6                                   ;
0802EE58 347A     add     r4,7Ah                                  ;
0802EE5A 8821     ldrh    r1,[r4]                                 ;
0802EE5C F001FC30 bl      80306C0h                                ;
0802EE60 F7F9FF86 bl      8028D70h                                ;
0802EE64 480B     ldr     r0,=2020C38h                            ;
0802EE66 7800     ldrb    r0,[r0]                                 ;
0802EE68 2800     cmp     r0,0h                                   ;
0802EE6A D10A     bne     802EE82h                                ;
0802EE6C 2041     mov     r0,41h                                  ;
0802EE6E F7F3FB67 bl      8022540h                                ;
0802EE72 20AD     mov     r0,0ADh                                 ;
0802EE74 0080     lsl     r0,r0,2h                                ;r0 = 692 ; Turtle Oath
0802EE76 8821     ldrh    r1,[r4]                                 ;
0802EE78 F7F6FD12 bl      80258A0h                                ;
0802EE7C 2053     mov     r0,53h                                  ;
0802EE7E F7F3FB5F bl      8022540h                                ;
0802EE82 BC70     pop     r4-r6                                   ;
0802EE84 BC01     pop     r0                                      ;
0802EE86 4700     bx      r0                                      ;

Contract of Mask

0802EE9A 4D1D     ldr     r5,=2023298h                            ;Contract of Mask
0802EE9C 4E1D     ldr     r6,=8D542F0h                            ;
0802EE9E 1C34     mov     r4,r6                                   ;
0802EEA0 3480     add     r4,80h                                  ;
0802EEA2 8821     ldrh    r1,[r4]                                 ;
0802EEA4 1C28     mov     r0,r5                                   ;
0802EEA6 F7F8FC19 bl      80276DCh                                ;
0802EEAA 2801     cmp     r0,1h                                   ;
0802EEAC D12C     bne     802EF08h                                ;
0802EEAE 8821     ldrh    r1,[r4]                                 ;
0802EEB0 1C28     mov     r0,r5                                   ;
0802EEB2 F7F8FC27 bl      8027704h                                ;
0802EEB6 1C04     mov     r4,r0                                   ;
0802EEB8 0624     lsl     r4,r4,18h                               ;
0802EEBA 0E24     lsr     r4,r4,18h                               ;
0802EEBC 1C2B     mov     r3,r5                                   ;
0802EEBE 3B28     sub     r3,28h                                  ;
0802EEC0 4A15     ldr     r2,=2023480h                            ;
0802EEC2 7891     ldrb    r1,[r2,2h]                              ;
0802EEC4 0088     lsl     r0,r1,2h                                ;
0802EEC6 1840     add     r0,r0,r1                                ;
0802EEC8 78D2     ldrb    r2,[r2,3h]                              ;
0802EECA 1880     add     r0,r0,r2                                ;
0802EECC 0080     lsl     r0,r0,2h                                ;
0802EECE 18C0     add     r0,r0,r3                                ;
0802EED0 6800     ldr     r0,[r0]                                 ;
0802EED2 2100     mov     r1,0h                                   ;
0802EED4 F7F9FF14 bl      8028D00h                                ;
0802EED8 00A4     lsl     r4,r4,2h                                ;
0802EEDA 1964     add     r4,r4,r5                                ;
0802EEDC 6820     ldr     r0,[r4]                                 ;
0802EEDE 1C34     mov     r4,r6                                   ;
0802EEE0 3482     add     r4,82h                                  ;
0802EEE2 8821     ldrh    r1,[r4]                                 ;
0802EEE4 F001FBEC bl      80306C0h                                ;
0802EEE8 F7F9FF42 bl      8028D70h                                ;
0802EEEC 480B     ldr     r0,=2020C38h                            ;
0802EEEE 7800     ldrb    r0,[r0]                                 ;
0802EEF0 2800     cmp     r0,0h                                   ;
0802EEF2 D109     bne     802EF08h                                ;
0802EEF4 2041     mov     r0,41h                                  ;
0802EEF6 F7F3FB23 bl      8022540h                                ;
0802EEFA 4809     ldr     r0,=2B5h                                ;r0 = 693 ; Contract of Mask
0802EEFC 8821     ldrh    r1,[r4]                                 ;
0802EEFE F7F6FCCF bl      80258A0h                                ;
0802EF02 2053     mov     r0,53h                                  ;
0802EF04 F7F3FB1C bl      8022540h                                ;
0802EF08 BC70     pop     r4-r6                                   ;
0802EF0A BC01     pop     r0                                      ;
0802EF0C 4700     bx      r0                                      ;

Resurrection of Chakra

0802EF26 4D1D     ldr     r5,=2023298h                            ;Resurrection of Chakra
0802EF28 4E1D     ldr     r6,=8D542F0h                            ;
0802EF2A 1C34     mov     r4,r6                                   ;
0802EF2C 3488     add     r4,88h                                  ;
0802EF2E 8821     ldrh    r1,[r4]                                 ;
0802EF30 1C28     mov     r0,r5                                   ;
0802EF32 F7F8FBD3 bl      80276DCh                                ;
0802EF36 2801     cmp     r0,1h                                   ;
0802EF38 D12C     bne     802EF94h                                ;
0802EF3A 8821     ldrh    r1,[r4]                                 ;
0802EF3C 1C28     mov     r0,r5                                   ;
0802EF3E F7F8FBE1 bl      8027704h                                ;
0802EF42 1C04     mov     r4,r0                                   ;
0802EF44 0624     lsl     r4,r4,18h                               ;
0802EF46 0E24     lsr     r4,r4,18h                               ;
0802EF48 1C2B     mov     r3,r5                                   ;
0802EF4A 3B28     sub     r3,28h                                  ;
0802EF4C 4A15     ldr     r2,=2023480h                            ;
0802EF4E 7891     ldrb    r1,[r2,2h]                              ;
0802EF50 0088     lsl     r0,r1,2h                                ;
0802EF52 1840     add     r0,r0,r1                                ;
0802EF54 78D2     ldrb    r2,[r2,3h]                              ;
0802EF56 1880     add     r0,r0,r2                                ;
0802EF58 0080     lsl     r0,r0,2h                                ;
0802EF5A 18C0     add     r0,r0,r3                                ;
0802EF5C 6800     ldr     r0,[r0]                                 ;
0802EF5E 2100     mov     r1,0h                                   ;
0802EF60 F7F9FECE bl      8028D00h                                ;
0802EF64 00A4     lsl     r4,r4,2h                                ;
0802EF66 1964     add     r4,r4,r5                                ;
0802EF68 6820     ldr     r0,[r4]                                 ;
0802EF6A 1C34     mov     r4,r6                                   ;
0802EF6C 348A     add     r4,8Ah                                  ;
0802EF6E 8821     ldrh    r1,[r4]                                 ;
0802EF70 F001FBA6 bl      80306C0h                                ;
0802EF74 F7F9FEFC bl      8028D70h                                ;
0802EF78 480B     ldr     r0,=2020C38h                            ;
0802EF7A 7800     ldrb    r0,[r0]                                 ;
0802EF7C 2800     cmp     r0,0h                                   ;
0802EF7E D109     bne     802EF94h                                ;
0802EF80 2041     mov     r0,41h                                  ;
0802EF82 F7F3FADD bl      8022540h                                ;
0802EF86 4809     ldr     r0,=2B6h                                ;r0 = 694 ; Resurrection of Chakra
0802EF88 8821     ldrh    r1,[r4]                                 ;
0802EF8A F7F6FC89 bl      80258A0h                                ;
0802EF8E 2053     mov     r0,53h                                  ;
0802EF90 F7F3FAD6 bl      8022540h                                ;
0802EF94 BC70     pop     r4-r6                                   ;
0802EF96 BC01     pop     r0                                      ;
0802EF98 4700     bx      r0                                      ;

Puppet Ritual

0802EFB2 4D1D     ldr     r5,=2023298h                            ;Puppet Ritual
0802EFB4 4E1D     ldr     r6,=8D542F0h                            ;
0802EFB6 1C34     mov     r4,r6                                   ;
0802EFB8 3490     add     r4,90h                                  ;
0802EFBA 8821     ldrh    r1,[r4]                                 ;
0802EFBC 1C28     mov     r0,r5                                   ;
0802EFBE F7F8FB8D bl      80276DCh                                ;
0802EFC2 2801     cmp     r0,1h                                   ;
0802EFC4 D12C     bne     802F020h                                ;
0802EFC6 8821     ldrh    r1,[r4]                                 ;
0802EFC8 1C28     mov     r0,r5                                   ;
0802EFCA F7F8FB9B bl      8027704h                                ;
0802EFCE 1C04     mov     r4,r0                                   ;
0802EFD0 0624     lsl     r4,r4,18h                               ;
0802EFD2 0E24     lsr     r4,r4,18h                               ;
0802EFD4 1C2B     mov     r3,r5                                   ;
0802EFD6 3B28     sub     r3,28h                                  ;
0802EFD8 4A15     ldr     r2,=2023480h                            ;
0802EFDA 7891     ldrb    r1,[r2,2h]                              ;
0802EFDC 0088     lsl     r0,r1,2h                                ;
0802EFDE 1840     add     r0,r0,r1                                ;
0802EFE0 78D2     ldrb    r2,[r2,3h]                              ;
0802EFE2 1880     add     r0,r0,r2                                ;
0802EFE4 0080     lsl     r0,r0,2h                                ;
0802EFE6 18C0     add     r0,r0,r3                                ;
0802EFE8 6800     ldr     r0,[r0]                                 ;
0802EFEA 2100     mov     r1,0h                                   ;
0802EFEC F7F9FE88 bl      8028D00h                                ;
0802EFF0 00A4     lsl     r4,r4,2h                                ;
0802EFF2 1964     add     r4,r4,r5                                ;
0802EFF4 6820     ldr     r0,[r4]                                 ;
0802EFF6 1C34     mov     r4,r6                                   ;
0802EFF8 3492     add     r4,92h                                  ;
0802EFFA 8821     ldrh    r1,[r4]                                 ;
0802EFFC F001FB60 bl      80306C0h                                ;
0802F000 F7F9FEB6 bl      8028D70h                                ;
0802F004 480B     ldr     r0,=2020C38h                            ;
0802F006 7800     ldrb    r0,[r0]                                 ;
0802F008 2800     cmp     r0,0h                                   ;
0802F00A D109     bne     802F020h                                ;
0802F00C 2041     mov     r0,41h                                  ;
0802F00E F7F3FA97 bl      8022540h                                ;
0802F012 4809     ldr     r0,=2B7h                                ;r0 = 695 ; Puppet Ritual
0802F014 8821     ldrh    r1,[r4]                                 ;
0802F016 F7F6FC43 bl      80258A0h                                ;
0802F01A 2053     mov     r0,53h                                  ;
0802F01C F7F3FA90 bl      8022540h                                ;
0802F020 BC70     pop     r4-r6                                   ;
0802F022 BC01     pop     r0                                      ;
0802F024 4700     bx      r0                                      ;

Javelin Beetle Pact

0802F03E 4D1D     ldr     r5,=2023298h                            ;Javelin Beetle Pact
0802F040 4E1D     ldr     r6,=8D542F0h                            ;
0802F042 1C34     mov     r4,r6                                   ;
0802F044 3498     add     r4,98h                                  ;
0802F046 8821     ldrh    r1,[r4]                                 ;
0802F048 1C28     mov     r0,r5                                   ;
0802F04A F7F8FB47 bl      80276DCh                                ;
0802F04E 2801     cmp     r0,1h                                   ;
0802F050 D12D     bne     802F0AEh                                ;
0802F052 8821     ldrh    r1,[r4]                                 ;
0802F054 1C28     mov     r0,r5                                   ;
0802F056 F7F8FB55 bl      8027704h                                ;
0802F05A 1C04     mov     r4,r0                                   ;
0802F05C 0624     lsl     r4,r4,18h                               ;
0802F05E 0E24     lsr     r4,r4,18h                               ;
0802F060 1C2B     mov     r3,r5                                   ;
0802F062 3B28     sub     r3,28h                                  ;
0802F064 4A15     ldr     r2,=2023480h                            ;
0802F066 7891     ldrb    r1,[r2,2h]                              ;
0802F068 0088     lsl     r0,r1,2h                                ;
0802F06A 1840     add     r0,r0,r1                                ;
0802F06C 78D2     ldrb    r2,[r2,3h]                              ;
0802F06E 1880     add     r0,r0,r2                                ;
0802F070 0080     lsl     r0,r0,2h                                ;
0802F072 18C0     add     r0,r0,r3                                ;
0802F074 6800     ldr     r0,[r0]                                 ;
0802F076 2100     mov     r1,0h                                   ;
0802F078 F7F9FE42 bl      8028D00h                                ;
0802F07C 00A4     lsl     r4,r4,2h                                ;
0802F07E 1964     add     r4,r4,r5                                ;
0802F080 6820     ldr     r0,[r4]                                 ;
0802F082 1C34     mov     r4,r6                                   ;
0802F084 349A     add     r4,9Ah                                  ;
0802F086 8821     ldrh    r1,[r4]                                 ;
0802F088 F001FB1A bl      80306C0h                                ;
0802F08C F7F9FE70 bl      8028D70h                                ;
0802F090 480B     ldr     r0,=2020C38h                            ;
0802F092 7800     ldrb    r0,[r0]                                 ;
0802F094 2800     cmp     r0,0h                                   ;
0802F096 D10A     bne     802F0AEh                                ;
0802F098 2041     mov     r0,41h                                  ;
0802F09A F7F3FA51 bl      8022540h                                ;
0802F09E 20AE     mov     r0,0AEh                                 ;
0802F0A0 0080     lsl     r0,r0,2h                                ;r0 = 696 ; Javelin Beetle Pact
0802F0A2 8821     ldrh    r1,[r4]                                 ;
0802F0A4 F7F6FBFC bl      80258A0h                                ;
0802F0A8 2053     mov     r0,53h                                  ;
0802F0AA F7F3FA49 bl      8022540h                                ;
0802F0AE BC70     pop     r4-r6                                   ;
0802F0B0 BC01     pop     r0                                      ;
0802F0B2 4700     bx      r0                                      ;

Garma Sword Oath

0802F0C6 4D1D     ldr     r5,=2023298h                            ;Garma Sword Oath
0802F0C8 4E1D     ldr     r6,=8D542F0h                            ;
0802F0CA 1C34     mov     r4,r6                                   ;
0802F0CC 34A0     add     r4,0A0h                                 ;
0802F0CE 8821     ldrh    r1,[r4]                                 ;
0802F0D0 1C28     mov     r0,r5                                   ;
0802F0D2 F7F8FB03 bl      80276DCh                                ;
0802F0D6 2801     cmp     r0,1h                                   ;
0802F0D8 D12C     bne     802F134h                                ;
0802F0DA 8821     ldrh    r1,[r4]                                 ;
0802F0DC 1C28     mov     r0,r5                                   ;
0802F0DE F7F8FB11 bl      8027704h                                ;
0802F0E2 1C04     mov     r4,r0                                   ;
0802F0E4 0624     lsl     r4,r4,18h                               ;
0802F0E6 0E24     lsr     r4,r4,18h                               ;
0802F0E8 1C2B     mov     r3,r5                                   ;
0802F0EA 3B28     sub     r3,28h                                  ;
0802F0EC 4A15     ldr     r2,=2023480h                            ;
0802F0EE 7891     ldrb    r1,[r2,2h]                              ;
0802F0F0 0088     lsl     r0,r1,2h                                ;
0802F0F2 1840     add     r0,r0,r1                                ;
0802F0F4 78D2     ldrb    r2,[r2,3h]                              ;
0802F0F6 1880     add     r0,r0,r2                                ;
0802F0F8 0080     lsl     r0,r0,2h                                ;
0802F0FA 18C0     add     r0,r0,r3                                ;
0802F0FC 6800     ldr     r0,[r0]                                 ;
0802F0FE 2100     mov     r1,0h                                   ;
0802F100 F7F9FDFE bl      8028D00h                                ;
0802F104 00A4     lsl     r4,r4,2h                                ;
0802F106 1964     add     r4,r4,r5                                ;
0802F108 6820     ldr     r0,[r4]                                 ;
0802F10A 1C34     mov     r4,r6                                   ;
0802F10C 34A2     add     r4,0A2h                                 ;
0802F10E 8821     ldrh    r1,[r4]                                 ;
0802F110 F001FAD6 bl      80306C0h                                ;
0802F114 F7F9FE2C bl      8028D70h                                ;
0802F118 480B     ldr     r0,=2020C38h                            ;
0802F11A 7800     ldrb    r0,[r0]                                 ;
0802F11C 2800     cmp     r0,0h                                   ;
0802F11E D109     bne     802F134h                                ;
0802F120 2041     mov     r0,41h                                  ;
0802F122 F7F3FA0D bl      8022540h                                ;
0802F126 4809     ldr     r0,=2B9h                                ;r0 = 697 ; Garma Sword Oath
0802F128 8821     ldrh    r1,[r4]                                 ;
0802F12A F7F6FBB9 bl      80258A0h                                ;
0802F12E 2053     mov     r0,53h                                  ;
0802F130 F7F3FA06 bl      8022540h                                ;
0802F134 BC70     pop     r4-r6                                   ;
0802F136 BC01     pop     r0                                      ;
0802F138 4700     bx      r0                                      ;

Cosmo Queen's Prayer

0802F152 4D1D     ldr     r5,=2023298h                            ;Cosmo Queen's Prayer
0802F154 4E1D     ldr     r6,=8D542F0h                            ;
0802F156 1C34     mov     r4,r6                                   ;
0802F158 34A8     add     r4,0A8h                                 ;
0802F15A 8821     ldrh    r1,[r4]                                 ;
0802F15C 1C28     mov     r0,r5                                   ;
0802F15E F7F8FABD bl      80276DCh                                ;
0802F162 2801     cmp     r0,1h                                   ;
0802F164 D12C     bne     802F1C0h                                ;
0802F166 8821     ldrh    r1,[r4]                                 ;
0802F168 1C28     mov     r0,r5                                   ;
0802F16A F7F8FACB bl      8027704h                                ;
0802F16E 1C04     mov     r4,r0                                   ;
0802F170 0624     lsl     r4,r4,18h                               ;
0802F172 0E24     lsr     r4,r4,18h                               ;
0802F174 1C2B     mov     r3,r5                                   ;
0802F176 3B28     sub     r3,28h                                  ;
0802F178 4A15     ldr     r2,=2023480h                            ;
0802F17A 7891     ldrb    r1,[r2,2h]                              ;
0802F17C 0088     lsl     r0,r1,2h                                ;
0802F17E 1840     add     r0,r0,r1                                ;
0802F180 78D2     ldrb    r2,[r2,3h]                              ;
0802F182 1880     add     r0,r0,r2                                ;
0802F184 0080     lsl     r0,r0,2h                                ;
0802F186 18C0     add     r0,r0,r3                                ;
0802F188 6800     ldr     r0,[r0]                                 ;
0802F18A 2100     mov     r1,0h                                   ;
0802F18C F7F9FDB8 bl      8028D00h                                ;
0802F190 00A4     lsl     r4,r4,2h                                ;
0802F192 1964     add     r4,r4,r5                                ;
0802F194 6820     ldr     r0,[r4]                                 ;
0802F196 1C34     mov     r4,r6                                   ;
0802F198 34AA     add     r4,0AAh                                 ;
0802F19A 8821     ldrh    r1,[r4]                                 ;
0802F19C F001FA90 bl      80306C0h                                ;
0802F1A0 F7F9FDE6 bl      8028D70h                                ;
0802F1A4 480B     ldr     r0,=2020C38h                            ;
0802F1A6 7800     ldrb    r0,[r0]                                 ;
0802F1A8 2800     cmp     r0,0h                                   ;
0802F1AA D109     bne     802F1C0h                                ;
0802F1AC 2041     mov     r0,41h                                  ;
0802F1AE F7F3F9C7 bl      8022540h                                ;
0802F1B2 4809     ldr     r0,=2BAh                                ;r0 = 698 ; Cosmo Queen's Prayer
0802F1B4 8821     ldrh    r1,[r4]                                 ;
0802F1B6 F7F6FB73 bl      80258A0h                                ;
0802F1BA 2053     mov     r0,53h                                  ;
0802F1BC F7F3F9C0 bl      8022540h                                ;
0802F1C0 BC70     pop     r4-r6                                   ;
0802F1C2 BC01     pop     r0                                      ;
0802F1C4 4700     bx      r0                                      ;

Revival of Dokurorider

0802F1DE 4D1D     ldr     r5,=2023298h                            ;Revival of Dokurorider
0802F1E0 4E1D     ldr     r6,=8D542F0h                            ;
0802F1E2 1C34     mov     r4,r6                                   ;
0802F1E4 34B0     add     r4,0B0h                                 ;
0802F1E6 8821     ldrh    r1,[r4]                                 ;
0802F1E8 1C28     mov     r0,r5                                   ;
0802F1EA F7F8FA77 bl      80276DCh                                ;
0802F1EE 2801     cmp     r0,1h                                   ;
0802F1F0 D12C     bne     802F24Ch                                ;
0802F1F2 8821     ldrh    r1,[r4]                                 ;
0802F1F4 1C28     mov     r0,r5                                   ;
0802F1F6 F7F8FA85 bl      8027704h                                ;
0802F1FA 1C04     mov     r4,r0                                   ;
0802F1FC 0624     lsl     r4,r4,18h                               ;
0802F1FE 0E24     lsr     r4,r4,18h                               ;
0802F200 1C2B     mov     r3,r5                                   ;
0802F202 3B28     sub     r3,28h                                  ;
0802F204 4A15     ldr     r2,=2023480h                            ;
0802F206 7891     ldrb    r1,[r2,2h]                              ;
0802F208 0088     lsl     r0,r1,2h                                ;
0802F20A 1840     add     r0,r0,r1                                ;
0802F20C 78D2     ldrb    r2,[r2,3h]                              ;
0802F20E 1880     add     r0,r0,r2                                ;
0802F210 0080     lsl     r0,r0,2h                                ;
0802F212 18C0     add     r0,r0,r3                                ;
0802F214 6800     ldr     r0,[r0]                                 ;
0802F216 2100     mov     r1,0h                                   ;
0802F218 F7F9FD72 bl      8028D00h                                ;
0802F21C 00A4     lsl     r4,r4,2h                                ;
0802F21E 1964     add     r4,r4,r5                                ;
0802F220 6820     ldr     r0,[r4]                                 ;
0802F222 1C34     mov     r4,r6                                   ;
0802F224 34B2     add     r4,0B2h                                 ;
0802F226 8821     ldrh    r1,[r4]                                 ;
0802F228 F001FA4A bl      80306C0h                                ;
0802F22C F7F9FDA0 bl      8028D70h                                ;
0802F230 480B     ldr     r0,=2020C38h                            ;
0802F232 7800     ldrb    r0,[r0]                                 ;
0802F234 2800     cmp     r0,0h                                   ;
0802F236 D109     bne     802F24Ch                                ;
0802F238 2041     mov     r0,41h                                  ;
0802F23A F7F3F981 bl      8022540h                                ;
0802F23E 4809     ldr     r0,=2BBh                                ;r0 = 699 ; Revival of Dokurorider
0802F240 8821     ldrh    r1,[r4]                                 ;
0802F242 F7F6FB2D bl      80258A0h                                ;
0802F246 2053     mov     r0,53h                                  ;
0802F248 F7F3F97A bl      8022540h                                ;
0802F24C BC70     pop     r4-r6                                   ;
0802F24E BC01     pop     r0                                      ;
0802F250 4700     bx      r0                                      ;

Fortress Whale's Oath

0802F26A 4D1D     ldr     r5,=2023298h                            ;
0802F26C 4E1D     ldr     r6,=8D542F0h                            ;
0802F26E 1C34     mov     r4,r6                                   ;
0802F270 34B8     add     r4,0B8h                                 ;
0802F272 8821     ldrh    r1,[r4]                                 ;
0802F274 1C28     mov     r0,r5                                   ;
0802F276 F7F8FA31 bl      80276DCh                                ;
0802F27A 2801     cmp     r0,1h                                   ;
0802F27C D12D     bne     802F2DAh                                ;
0802F27E 8821     ldrh    r1,[r4]                                 ;
0802F280 1C28     mov     r0,r5                                   ;
0802F282 F7F8FA3F bl      8027704h                                ;
0802F286 1C04     mov     r4,r0                                   ;
0802F288 0624     lsl     r4,r4,18h                               ;
0802F28A 0E24     lsr     r4,r4,18h                               ;
0802F28C 1C2B     mov     r3,r5                                   ;
0802F28E 3B28     sub     r3,28h                                  ;
0802F290 4A15     ldr     r2,=2023480h                            ;
0802F292 7891     ldrb    r1,[r2,2h]                              ;
0802F294 0088     lsl     r0,r1,2h                                ;
0802F296 1840     add     r0,r0,r1                                ;
0802F298 78D2     ldrb    r2,[r2,3h]                              ;
0802F29A 1880     add     r0,r0,r2                                ;
0802F29C 0080     lsl     r0,r0,2h                                ;
0802F29E 18C0     add     r0,r0,r3                                ;
0802F2A0 6800     ldr     r0,[r0]                                 ;
0802F2A2 2100     mov     r1,0h                                   ;
0802F2A4 F7F9FD2C bl      8028D00h                                ;
0802F2A8 00A4     lsl     r4,r4,2h                                ;
0802F2AA 1964     add     r4,r4,r5                                ;
0802F2AC 6820     ldr     r0,[r4]                                 ;
0802F2AE 1C34     mov     r4,r6                                   ;
0802F2B0 34BA     add     r4,0BAh                                 ;
0802F2B2 8821     ldrh    r1,[r4]                                 ;
0802F2B4 F001FA04 bl      80306C0h                                ;
0802F2B8 F7F9FD5A bl      8028D70h                                ;
0802F2BC 480B     ldr     r0,=2020C38h                            ;
0802F2BE 7800     ldrb    r0,[r0]                                 ;
0802F2C0 2800     cmp     r0,0h                                   ;
0802F2C2 D10A     bne     802F2DAh                                ;
0802F2C4 2041     mov     r0,41h                                  ;
0802F2C6 F7F3F93B bl      8022540h                                ;
0802F2CA 20AF     mov     r0,0AFh                                 ;
0802F2CC 0080     lsl     r0,r0,2h                                ;r0 = 700 ; Fortress Whale's Oath
0802F2CE 8821     ldrh    r1,[r4]                                 ;
0802F2D0 F7F6FAE6 bl      80258A0h                                ;
0802F2D4 2053     mov     r0,53h                                  ;
0802F2D6 F7F3F933 bl      8022540h                                ;
0802F2DA BC70     pop     r4-r6                                   ;
0802F2DC BC01     pop     r0                                      ;
0802F2DE 4700     bx      r0                                      ;

Curse of Millenium Shield

0802F2F2 4D1B     ldr     r5,=2023298h                            ;
0802F2F4 4E1B     ldr     r6,=8D542F0h                            ;
0802F2F6 8E31     ldrh    r1,[r6,30h]                             ;
0802F2F8 1C28     mov     r0,r5                                   ;
0802F2FA F7F8F9EF bl      80276DCh                                ;
0802F2FE 2801     cmp     r0,1h                                   ;
0802F300 D12A     bne     802F358h                                ;
0802F302 8E31     ldrh    r1,[r6,30h]                             ;
0802F304 1C28     mov     r0,r5                                   ;
0802F306 F7F8F9FD bl      8027704h                                ;
0802F30A 1C04     mov     r4,r0                                   ;
0802F30C 0624     lsl     r4,r4,18h                               ;
0802F30E 0E24     lsr     r4,r4,18h                               ;
0802F310 1C2B     mov     r3,r5                                   ;
0802F312 3B28     sub     r3,28h                                  ;
0802F314 4A14     ldr     r2,=2023480h                            ;
0802F316 7891     ldrb    r1,[r2,2h]                              ;
0802F318 0088     lsl     r0,r1,2h                                ;
0802F31A 1840     add     r0,r0,r1                                ;
0802F31C 78D2     ldrb    r2,[r2,3h]                              ;
0802F31E 1880     add     r0,r0,r2                                ;
0802F320 0080     lsl     r0,r0,2h                                ;
0802F322 18C0     add     r0,r0,r3                                ;
0802F324 6800     ldr     r0,[r0]                                 ;
0802F326 2100     mov     r1,0h                                   ;
0802F328 F7F9FCEA bl      8028D00h                                ;
0802F32C 00A4     lsl     r4,r4,2h                                ;
0802F32E 1964     add     r4,r4,r5                                ;
0802F330 6820     ldr     r0,[r4]                                 ;
0802F332 8E71     ldrh    r1,[r6,32h]                             ;
0802F334 F001F9C4 bl      80306C0h                                ;
0802F338 F7F9FD1A bl      8028D70h                                ;
0802F33C 480B     ldr     r0,=2020C38h                            ;
0802F33E 7800     ldrb    r0,[r0]                                 ;
0802F340 2800     cmp     r0,0h                                   ;
0802F342 D109     bne     802F358h                                ;
0802F344 2041     mov     r0,41h                                  ;
0802F346 F7F3F8FB bl      8022540h                                ;
0802F34A 4809     ldr     r0,=299h                                ;r0 = 665 ; Curse of Millenium Shield
0802F34C 8E71     ldrh    r1,[r6,32h]                             ;
0802F34E F7F6FAA7 bl      80258A0h                                ;
0802F352 2053     mov     r0,53h                                  ;
0802F354 F7F3F8F4 bl      8022540h                                ;
0802F358 BC70     pop     r4-r6                                   ;
0802F35A BC01     pop     r0                                      ;
0802F35C 4700     bx      r0                                      ;

Yamadron Ritual

0802F376 4D1B     ldr     r5,=2023298h                            ;Yamadron Ritual
0802F378 4E1B     ldr     r6,=8D542F0h                            ;
0802F37A 8F31     ldrh    r1,[r6,38h]                             ;
0802F37C 1C28     mov     r0,r5                                   ;
0802F37E F7F8F9AD bl      80276DCh                                ;
0802F382 2801     cmp     r0,1h                                   ;
0802F384 D12A     bne     802F3DCh                                ;
0802F386 8F31     ldrh    r1,[r6,38h]                             ;
0802F388 1C28     mov     r0,r5                                   ;
0802F38A F7F8F9BB bl      8027704h                                ;
0802F38E 1C04     mov     r4,r0                                   ;
0802F390 0624     lsl     r4,r4,18h                               ;
0802F392 0E24     lsr     r4,r4,18h                               ;
0802F394 1C2B     mov     r3,r5                                   ;
0802F396 3B28     sub     r3,28h                                  ;
0802F398 4A14     ldr     r2,=2023480h                            ;
0802F39A 7891     ldrb    r1,[r2,2h]                              ;
0802F39C 0088     lsl     r0,r1,2h                                ;
0802F39E 1840     add     r0,r0,r1                                ;
0802F3A0 78D2     ldrb    r2,[r2,3h]                              ;
0802F3A2 1880     add     r0,r0,r2                                ;
0802F3A4 0080     lsl     r0,r0,2h                                ;
0802F3A6 18C0     add     r0,r0,r3                                ;
0802F3A8 6800     ldr     r0,[r0]                                 ;
0802F3AA 2100     mov     r1,0h                                   ;
0802F3AC F7F9FCA8 bl      8028D00h                                ;
0802F3B0 00A4     lsl     r4,r4,2h                                ;
0802F3B2 1964     add     r4,r4,r5                                ;
0802F3B4 6820     ldr     r0,[r4]                                 ;
0802F3B6 8F71     ldrh    r1,[r6,3Ah]                             ;
0802F3B8 F001F982 bl      80306C0h                                ;
0802F3BC F7F9FCD8 bl      8028D70h                                ;
0802F3C0 480B     ldr     r0,=2020C38h                            ;
0802F3C2 7800     ldrb    r0,[r0]                                 ;
0802F3C4 2800     cmp     r0,0h                                   ;
0802F3C6 D109     bne     802F3DCh                                ;
0802F3C8 2041     mov     r0,41h                                  ;
0802F3CA F7F3F8B9 bl      8022540h                                ;
0802F3CE 4809     ldr     r0,=29Ah                                ;r0 = 666 ; Yamadron Ritual
0802F3D0 8F71     ldrh    r1,[r6,3Ah]                             ;
0802F3D2 F7F6FA65 bl      80258A0h                                ;
0802F3D6 2053     mov     r0,53h                                  ;
0802F3D8 F7F3F8B2 bl      8022540h                                ;
0802F3DC BC70     pop     r4-r6                                   ;
0802F3DE BC01     pop     r0                                      ;
0802F3E0 4700     bx      r0                                      ;

Gate Guardian Ritual

0802F3FA 4647     mov     r7,r8                                   ;Gate Guardian Ritual
0802F3FC B480     push    r7                                      ;
0802F3FE 4D31     ldr     r5,=2023298h                            ;
0802F400 4E31     ldr     r6,=8D542F0h                            ;
0802F402 1C34     mov     r4,r6                                   ;
0802F404 3440     add     r4,40h                                  ;
0802F406 8821     ldrh    r1,[r4]                                 ;
0802F408 1C28     mov     r0,r5                                   ;
0802F40A F7F8F967 bl      80276DCh                                ;
0802F40E 2801     cmp     r0,1h                                   ;
0802F410 D152     bne     802F4B8h                                ;
0802F412 1C37     mov     r7,r6                                   ;
0802F414 3744     add     r7,44h                                  ;
0802F416 8839     ldrh    r1,[r7]                                 ;
0802F418 1C28     mov     r0,r5                                   ;
0802F41A F7F8F95F bl      80276DCh                                ;
0802F41E 2801     cmp     r0,1h                                   ;
0802F420 D14A     bne     802F4B8h                                ;
0802F422 2046     mov     r0,46h                                  ;
0802F424 1980     add     r0,r0,r6                                ;
0802F426 4680     mov     r8,r0                                   ;
0802F428 8801     ldrh    r1,[r0]                                 ;
0802F42A 1C28     mov     r0,r5                                   ;
0802F42C F7F8F956 bl      80276DCh                                ;
0802F430 2801     cmp     r0,1h                                   ;
0802F432 D141     bne     802F4B8h                                ;
0802F434 8821     ldrh    r1,[r4]                                 ;
0802F436 1C28     mov     r0,r5                                   ;
0802F438 F7F8F964 bl      8027704h                                ;
0802F43C 1C04     mov     r4,r0                                   ;
0802F43E 0624     lsl     r4,r4,18h                               ;
0802F440 0E24     lsr     r4,r4,18h                               ;
0802F442 1C2B     mov     r3,r5                                   ;
0802F444 3B28     sub     r3,28h                                  ;
0802F446 4A21     ldr     r2,=2023480h                            ;
0802F448 7891     ldrb    r1,[r2,2h]                              ;
0802F44A 0088     lsl     r0,r1,2h                                ;
0802F44C 1840     add     r0,r0,r1                                ;
0802F44E 78D2     ldrb    r2,[r2,3h]                              ;
0802F450 1880     add     r0,r0,r2                                ;
0802F452 0080     lsl     r0,r0,2h                                ;
0802F454 18C0     add     r0,r0,r3                                ;
0802F456 6800     ldr     r0,[r0]                                 ;
0802F458 2100     mov     r1,0h                                   ;
0802F45A F7F9FC51 bl      8028D00h                                ;
0802F45E 00A4     lsl     r4,r4,2h                                ;
0802F460 1964     add     r4,r4,r5                                ;
0802F462 6820     ldr     r0,[r4]                                 ;
0802F464 1C34     mov     r4,r6                                   ;
0802F466 3442     add     r4,42h                                  ;
0802F468 8821     ldrh    r1,[r4]                                 ;
0802F46A F001F929 bl      80306C0h                                ;
0802F46E 8839     ldrh    r1,[r7]                                 ;
0802F470 1C28     mov     r0,r5                                   ;
0802F472 F7F8F947 bl      8027704h                                ;
0802F476 0600     lsl     r0,r0,18h                               ;
0802F478 0D80     lsr     r0,r0,16h                               ;
0802F47A 1940     add     r0,r0,r5                                ;
0802F47C 6800     ldr     r0,[r0]                                 ;
0802F47E F7F5FA47 bl      8024910h                                ;
0802F482 4640     mov     r0,r8                                   ;
0802F484 8801     ldrh    r1,[r0]                                 ;
0802F486 1C28     mov     r0,r5                                   ;
0802F488 F7F8F93C bl      8027704h                                ;
0802F48C 0600     lsl     r0,r0,18h                               ;
0802F48E 0D80     lsr     r0,r0,16h                               ;
0802F490 1940     add     r0,r0,r5                                ;
0802F492 6800     ldr     r0,[r0]                                 ;
0802F494 F7F5FA3C bl      8024910h                                ;
0802F498 F7F9FC6A bl      8028D70h                                ;
0802F49C 480C     ldr     r0,=2020C38h                            ;
0802F49E 7800     ldrb    r0,[r0]                                 ;
0802F4A0 2800     cmp     r0,0h                                   ;
0802F4A2 D109     bne     802F4B8h                                ;
0802F4A4 2041     mov     r0,41h                                  ;
0802F4A6 F7F3F84B bl      8022540h                                ;
0802F4AA 480A     ldr     r0,=29Bh                                ;r0 = 667 ; Gate Guardian Ritual
0802F4AC 8821     ldrh    r1,[r4]                                 ;
0802F4AE F7F6F9F7 bl      80258A0h                                ;
0802F4B2 2053     mov     r0,53h                                  ;
0802F4B4 F7F3F844 bl      8022540h                                ;
0802F4B8 BC08     pop     r3                                      ;
0802F4BA 4698     mov     r8,r3                                   ;
0802F4BC BCF0     pop     r4-r7                                   ;
0802F4BE BC01     pop     r0                                      ;
0802F4C0 4700     bx      r0                                      ;

Warrior Elimination

0802F4DA 2500     mov     r5,0h                                   ;Warrior Elimination
0802F4DC 4E1B     ldr     r6,=2023284h                            ;
0802F4DE 00A8     lsl     r0,r5,2h                                ;
0802F4E0 1984     add     r4,r0,r6                                ;
0802F4E2 6820     ldr     r0,[r4]                                 ;
0802F4E4 8800     ldrh    r0,[r0]                                 ;
0802F4E6 F7E9FF41 bl      801936Ch                                ;
0802F4EA 2801     cmp     r0,1h                                   ;
0802F4EC D00B     beq     802F506h                                ;
0802F4EE 6820     ldr     r0,[r4]                                 ;
0802F4F0 8800     ldrh    r0,[r0]                                 ;
0802F4F2 F7D7FBDB bl      8006CACh                                ;
0802F4F6 4816     ldr     r0,=2020B00h                            ;
0802F4F8 7D80     ldrb    r0,[r0,16h]                             ;
0802F4FA 2804     cmp     r0,4h                                   ;
0802F4FC D103     bne     802F506h                                ;
0802F4FE 6820     ldr     r0,[r4]                                 ;
0802F500 2101     mov     r1,1h                                   ;
0802F502 F7F9FBFD bl      8028D00h                                ;
0802F506 1C68     add     r0,r5,1                                 ;
0802F508 0600     lsl     r0,r0,18h                               ;
0802F50A 0E05     lsr     r5,r0,18h                               ;
0802F50C 2D04     cmp     r5,4h                                   ;
0802F50E D9E6     bls     802F4DEh                                ;
0802F510 4B10     ldr     r3,=2023270h                            ;
0802F512 4A11     ldr     r2,=2023480h                            ;
0802F514 7891     ldrb    r1,[r2,2h]                              ;
0802F516 0088     lsl     r0,r1,2h                                ;
0802F518 1840     add     r0,r0,r1                                ;
0802F51A 78D2     ldrb    r2,[r2,3h]                              ;
0802F51C 1880     add     r0,r0,r2                                ;
0802F51E 0080     lsl     r0,r0,2h                                ;
0802F520 18C0     add     r0,r0,r3                                ;
0802F522 6800     ldr     r0,[r0]                                 ;
0802F524 2100     mov     r1,0h                                   ;
0802F526 F7F9FBEB bl      8028D00h                                ;
0802F52A 480C     ldr     r0,=2020C38h                            ;
0802F52C 7800     ldrb    r0,[r0]                                 ;
0802F52E 2800     cmp     r0,0h                                   ;
0802F530 D108     bne     802F544h                                ;
0802F532 2041     mov     r0,41h                                  ;
0802F534 F7F3F804 bl      8022540h                                ;
0802F538 4809     ldr     r0,=28Dh                                ;r0 = 653 ; Warrior Elimination
0802F53A F7F6F9B1 bl      80258A0h                                ;
0802F53E 204C     mov     r0,4Ch                                  ;
0802F540 F7F2FFFE bl      8022540h                                ;
0802F544 BC70     pop     r4-r6                                   ;
0802F546 BC01     pop     r0                                      ;
0802F548 4700     bx      r0                                      ;

Cursebreaker

0802F566 2400     mov     r4,0h                                   ;Cursebreaker
0802F568 4D17     ldr     r5,=2023298h                            ;
0802F56A 00A0     lsl     r0,r4,2h                                ;
0802F56C 1940     add     r0,r0,r5                                ;
0802F56E 6801     ldr     r1,[r0]                                 ;
0802F570 8808     ldrh    r0,[r1]                                 ;
0802F572 2800     cmp     r0,0h                                   ;
0802F574 D006     beq     802F584h                                ;
0802F576 2002     mov     r0,2h                                   ;
0802F578 5608     ldsb    r0,[r1,r0]                              ;
0802F57A 2800     cmp     r0,0h                                   ;
0802F57C DA02     bge     802F584h                                ;
0802F57E 1C08     mov     r0,r1                                   ;
0802F580 F7F5FBAC bl      8024CDCh                                ;
0802F584 1C60     add     r0,r4,1                                 ;
0802F586 0600     lsl     r0,r0,18h                               ;
0802F588 0E04     lsr     r4,r0,18h                               ;
0802F58A 2C04     cmp     r4,4h                                   ;
0802F58C D9ED     bls     802F56Ah                                ;
0802F58E 4B0F     ldr     r3,=2023270h                            ;
0802F590 4A0F     ldr     r2,=2023480h                            ;
0802F592 7891     ldrb    r1,[r2,2h]                              ;
0802F594 0088     lsl     r0,r1,2h                                ;
0802F596 1840     add     r0,r0,r1                                ;
0802F598 78D2     ldrb    r2,[r2,3h]                              ;
0802F59A 1880     add     r0,r0,r2                                ;
0802F59C 0080     lsl     r0,r0,2h                                ;
0802F59E 18C0     add     r0,r0,r3                                ;
0802F5A0 6800     ldr     r0,[r0]                                 ;
0802F5A2 2100     mov     r1,0h                                   ;
0802F5A4 F7F9FBAC bl      8028D00h                                ;
0802F5A8 480A     ldr     r0,=2020C38h                            ;
0802F5AA 7800     ldrb    r0,[r0]                                 ;
0802F5AC 2800     cmp     r0,0h                                   ;
0802F5AE D108     bne     802F5C2h                                ;
0802F5B0 2041     mov     r0,41h                                  ;
0802F5B2 F7F2FFC5 bl      8022540h                                ;
0802F5B6 4808     ldr     r0,=28Fh                                ;r0 = 655 ; Cursebreaker
0802F5B8 F7F6F972 bl      80258A0h                                ;
0802F5BC 2049     mov     r0,49h                                  ;
0802F5BE F7F2FFBF bl      8022540h                                ;
0802F5C2 BC30     pop     r4,r5                                   ;
0802F5C4 BC01     pop     r0                                      ;
0802F5C6 4700     bx      r0                                      ;

Eternal Rest

0802F5DE 2500     mov     r5,0h                                   ;Eternal Rest
0802F5E0 4E18     ldr     r6,=2023284h                            ;
0802F5E2 00A8     lsl     r0,r5,2h                                ;
0802F5E4 1984     add     r4,r0,r6                                ;
0802F5E6 6820     ldr     r0,[r4]                                 ;
0802F5E8 8800     ldrh    r0,[r0]                                 ;
0802F5EA F7D7FB5F bl      8006CACh                                ;
0802F5EE 4816     ldr     r0,=2020B00h                            ;
0802F5F0 7D80     ldrb    r0,[r0,16h]                             ;
0802F5F2 2803     cmp     r0,3h                                   ;
0802F5F4 D103     bne     802F5FEh                                ;
0802F5F6 6820     ldr     r0,[r4]                                 ;
0802F5F8 2101     mov     r1,1h                                   ;
0802F5FA F7F9FB81 bl      8028D00h                                ;
0802F5FE 1C68     add     r0,r5,1                                 ;
0802F600 0600     lsl     r0,r0,18h                               ;
0802F602 0E05     lsr     r5,r0,18h                               ;
0802F604 2D04     cmp     r5,4h                                   ;
0802F606 D9EC     bls     802F5E2h                                ;
0802F608 4B10     ldr     r3,=2023270h                            ;
0802F60A 4A11     ldr     r2,=2023480h                            ;
0802F60C 7891     ldrb    r1,[r2,2h]                              ;
0802F60E 0088     lsl     r0,r1,2h                                ;
0802F610 1840     add     r0,r0,r1                                ;
0802F612 78D2     ldrb    r2,[r2,3h]                              ;
0802F614 1880     add     r0,r0,r2                                ;
0802F616 0080     lsl     r0,r0,2h                                ;
0802F618 18C0     add     r0,r0,r3                                ;
0802F61A 6800     ldr     r0,[r0]                                 ;
0802F61C 2100     mov     r1,0h                                   ;
0802F61E F7F9FB6F bl      8028D00h                                ;
0802F622 480C     ldr     r0,=2020C38h                            ;
0802F624 7800     ldrb    r0,[r0]                                 ;
0802F626 2800     cmp     r0,0h                                   ;
0802F628 D109     bne     802F63Eh                                ;
0802F62A 2041     mov     r0,41h                                  ;
0802F62C F7F2FF88 bl      8022540h                                ;
0802F630 20A4     mov     r0,0A4h                                 ;
0802F632 0080     lsl     r0,r0,2h                                ;r0 = 656 ; Eternal Rest
0802F634 F7F6F934 bl      80258A0h                                ;
0802F638 204C     mov     r0,4Ch                                  ;
0802F63A F7F2FF81 bl      8022540h                                ;
0802F63E BC70     pop     r4-r6                                   ;
0802F640 BC01     pop     r0                                      ;
0802F642 4700     bx      r0                                      ;

Equip Spells 3

Megamorph

0802F65A 4D24     ldr     r5,=2023270h                            ;Megamorph
0802F65C 4C24     ldr     r4,=2023480h                            ;
0802F65E 78A1     ldrb    r1,[r4,2h]                              ;
0802F660 0088     lsl     r0,r1,2h                                ;
0802F662 1840     add     r0,r0,r1                                ;
0802F664 78E1     ldrb    r1,[r4,3h]                              ;
0802F666 1840     add     r0,r0,r1                                ;
0802F668 0080     lsl     r0,r0,2h                                ;
0802F66A 1940     add     r0,r0,r5                                ;
0802F66C 6800     ldr     r0,[r0]                                 ;
0802F66E 8800     ldrh    r0,[r0]                                 ;
0802F670 F005FA9C bl      8034BACh                                ;
0802F674 2801     cmp     r0,1h                                   ;
0802F676 D150     bne     802F71Ah                                ;
0802F678 4A1E     ldr     r2,=20237D0h                            ;
0802F67A 7920     ldrb    r0,[r4,4h]                              ;
0802F67C 7090     strb    r0,[r2,2h]                              ;
0802F67E 7960     ldrb    r0,[r4,5h]                              ;
0802F680 70D0     strb    r0,[r2,3h]                              ;
0802F682 7921     ldrb    r1,[r4,4h]                              ;
0802F684 0088     lsl     r0,r1,2h                                ;
0802F686 1840     add     r0,r0,r1                                ;
0802F688 7961     ldrb    r1,[r4,5h]                              ;
0802F68A 1840     add     r0,r0,r1                                ;
0802F68C 0080     lsl     r0,r0,2h                                ;
0802F68E 1940     add     r0,r0,r5                                ;
0802F690 6800     ldr     r0,[r0]                                 ;
0802F692 8800     ldrh    r0,[r0]                                 ;
0802F694 8010     strh    r0,[r2]                                 ;
0802F696 F006FFDB bl      8036650h                                ;
0802F69A 2801     cmp     r0,1h                                   ;
0802F69C D103     bne     802F6A6h                                ;
0802F69E 4816     ldr     r0,=2020C38h                            ;
0802F6A0 7800     ldrb    r0,[r0]                                 ;
0802F6A2 2800     cmp     r0,0h                                   ;
0802F6A4 D02C     beq     802F700h                                ;
0802F6A6 78A1     ldrb    r1,[r4,2h]                              ;
0802F6A8 0088     lsl     r0,r1,2h                                ;
0802F6AA 1840     add     r0,r0,r1                                ;
0802F6AC 78E1     ldrb    r1,[r4,3h]                              ;
0802F6AE 1840     add     r0,r0,r1                                ;
0802F6B0 0080     lsl     r0,r0,2h                                ;
0802F6B2 1940     add     r0,r0,r5                                ;
0802F6B4 6800     ldr     r0,[r0]                                 ;
0802F6B6 F7F5FB15 bl      8024CE4h                                ;
0802F6BA 7921     ldrb    r1,[r4,4h]                              ;
0802F6BC 0088     lsl     r0,r1,2h                                ;
0802F6BE 1840     add     r0,r0,r1                                ;
0802F6C0 7964     ldrb    r4,[r4,5h]                              ;
0802F6C2 1900     add     r0,r0,r4                                ;
0802F6C4 0080     lsl     r0,r0,2h                                ;
0802F6C6 1940     add     r0,r0,r5                                ;
0802F6C8 6800     ldr     r0,[r0]                                 ;
0802F6CA 2100     mov     r1,0h                                   ;
0802F6CC F7F9FB18 bl      8028D00h                                ;
0802F6D0 4809     ldr     r0,=2020C38h                            ;
0802F6D2 7800     ldrb    r0,[r0]                                 ;
0802F6D4 2800     cmp     r0,0h                                   ;
0802F6D6 D127     bne     802F728h                                ;
0802F6D8 2041     mov     r0,41h                                  ;
0802F6DA F7F2FF31 bl      8022540h                                ;
0802F6DE 4807     ldr     r0,=291h                                ;r0 = 657 ; Megamorph
0802F6E0 F7F6F8DE bl      80258A0h                                ;
0802F6E4 2049     mov     r0,49h                                  ;
0802F6E6 F7F2FF2B bl      8022540h                                ;
0802F6EA E01D     b       802F728h                                ;
0802F6EC 3270     add     r2,70h                                  ;
0802F6EE 0202     lsl     r2,r0,8h                                ;
0802F6F0 3480     add     r4,80h                                  ;
0802F6F2 0202     lsl     r2,r0,8h                                ;
0802F6F4 37D0     add     r7,0D0h                                 ;
0802F6F6 0202     lsl     r2,r0,8h                                ;
0802F6F8 0C38     lsr     r0,r7,10h                               ;
0802F6FA 0202     lsl     r2,r0,8h                                ;
0802F6FC 0291     lsl     r1,r2,0Ah                               ;
0802F6FE 0000     lsl     r0,r0,0h                                ;
0802F700 78A0     ldrb    r0,[r4,2h]                              ;
0802F702 0081     lsl     r1,r0,2h                                ;
0802F704 1809     add     r1,r1,r0                                ;
0802F706 78E4     ldrb    r4,[r4,3h]                              ;
0802F708 1909     add     r1,r1,r4                                ;
0802F70A 0089     lsl     r1,r1,2h                                ;
0802F70C 1949     add     r1,r1,r5                                ;
0802F70E 6808     ldr     r0,[r1]                                 ;
0802F710 F7F5FAF2 bl      8024CF8h                                ;
0802F714 F006FF24 bl      8036560h                                ;
0802F718 E006     b       802F728h                                ;
0802F71A 4805     ldr     r0,=2020C38h                            ;
0802F71C 7800     ldrb    r0,[r0]                                 ;
0802F71E 2800     cmp     r0,0h                                   ;
0802F720 D102     bne     802F728h                                ;
0802F722 2039     mov     r0,39h                                  ;
0802F724 F7F2FF0C bl      8022540h                                ;
0802F728 BC30     pop     r4,r5                                   ;
0802F72A BC01     pop     r0                                      ;
0802F72C 4700     bx      r0                                      ;

Metalmorph

0802F736 4C3D     ldr     r4,=2023270h                            ;Metalmorph
0802F738 4B3D     ldr     r3,=2023480h                            ;
0802F73A 7899     ldrb    r1,[r3,2h]                              ;
0802F73C 0088     lsl     r0,r1,2h                                ;
0802F73E 1840     add     r0,r0,r1                                ;
0802F740 78D9     ldrb    r1,[r3,3h]                              ;
0802F742 1840     add     r0,r0,r1                                ;
0802F744 0080     lsl     r0,r0,2h                                ;
0802F746 1900     add     r0,r0,r4                                ;
0802F748 6802     ldr     r2,[r0]                                 ;
0802F74A 8811     ldrh    r1,[r2]                                 ;
0802F74C 4839     ldr     r0,=187h                                ;r0 = 391, Zoa
0802F74E 4281     cmp     r1,r0                                   ;
0802F750 D119     bne     802F786h                                ;if (card_id ≠ Zoa), branch to 0x802F786
0802F752 3001     add     r0,1h                                   ;r0 = Metalzoa
0802F754 8010     strh    r0,[r2]                                 ;
0802F756 7919     ldrb    r1,[r3,4h]                              ;
0802F758 0088     lsl     r0,r1,2h                                ;
0802F75A 1840     add     r0,r0,r1                                ;
0802F75C 795B     ldrb    r3,[r3,5h]                              ;
0802F75E 18C0     add     r0,r0,r3                                ;
0802F760 0080     lsl     r0,r0,2h                                ;
0802F762 1900     add     r0,r0,r4                                ;
0802F764 6800     ldr     r0,[r0]                                 ;
0802F766 2100     mov     r1,0h                                   ;
0802F768 F7F9FACA bl      8028D00h                                ;
0802F76C 4832     ldr     r0,=2020C38h                            ;
0802F76E 7800     ldrb    r0,[r0]                                 ;
0802F770 2800     cmp     r0,0h                                   ;
0802F772 D108     bne     802F786h                                ;
0802F774 2041     mov     r0,41h                                  ;r0 = 65
0802F776 F7F2FEE3 bl      8022540h                                ;
0802F77A 4830     ldr     r0,=292h                                ;r0 = 658 ; Metalmorph
0802F77C F7F6F890 bl      80258A0h                                ;
0802F780 205A     mov     r0,5Ah                                  ;r0 = 90
0802F782 F7F2FEDD bl      8022540h                                ;
0802F786 4B29     ldr     r3,=2023270h                            ;
0802F788 4A29     ldr     r2,=2023480h                            ;
0802F78A 7890     ldrb    r0,[r2,2h]                              ;
0802F78C 0081     lsl     r1,r0,2h                                ;
0802F78E 1809     add     r1,r1,r0                                ;
0802F790 78D0     ldrb    r0,[r2,3h]                              ;
0802F792 1809     add     r1,r1,r0                                ;
0802F794 0089     lsl     r1,r1,2h                                ;
0802F796 18C9     add     r1,r1,r3                                ;
0802F798 6809     ldr     r1,[r1]                                 ;
0802F79A 8808     ldrh    r0,[r1]                                 ;
0802F79C 2852     cmp     r0,52h                                  ;
0802F79E D119     bne     802F7D4h                                ;if (card_id ≠ Red-Eyes B. Dragon), branch to 0x802F7D4
0802F7A0 4827     ldr     r0,=2E6h                                ;r0 = 742 ; Red-Eyes Black Metal Dragon
0802F7A2 8008     strh    r0,[r1]                                 ;
0802F7A4 7911     ldrb    r1,[r2,4h]                              ;
0802F7A6 0088     lsl     r0,r1,2h                                ;
0802F7A8 1840     add     r0,r0,r1                                ;
0802F7AA 7952     ldrb    r2,[r2,5h]                              ;
0802F7AC 1880     add     r0,r0,r2                                ;
0802F7AE 0080     lsl     r0,r0,2h                                ;
0802F7B0 18C0     add     r0,r0,r3                                ;
0802F7B2 6800     ldr     r0,[r0]                                 ;
0802F7B4 2100     mov     r1,0h                                   ;
0802F7B6 F7F9FAA3 bl      8028D00h                                ;
0802F7BA 481F     ldr     r0,=2020C38h                            ;
0802F7BC 7800     ldrb    r0,[r0]                                 ;
0802F7BE 2800     cmp     r0,0h                                   ;
0802F7C0 D108     bne     802F7D4h                                ;
0802F7C2 2041     mov     r0,41h                                  ;r0 = 65
0802F7C4 F7F2FEBC bl      8022540h                                ;
0802F7C8 481C     ldr     r0,=292h                                ;r0 = 658 ; Metalmorph
0802F7CA F7F6F869 bl      80258A0h                                ;
0802F7CE 205A     mov     r0,5Ah                                  ;
0802F7D0 F7F2FEB6 bl      8022540h                                ;
0802F7D4 4C15     ldr     r4,=2023270h                            ;
0802F7D6 4B16     ldr     r3,=2023480h                            ;
0802F7D8 7899     ldrb    r1,[r3,2h]                              ;
0802F7DA 0088     lsl     r0,r1,2h                                ;
0802F7DC 1840     add     r0,r0,r1                                ;
0802F7DE 78D9     ldrb    r1,[r3,3h]                              ;
0802F7E0 1840     add     r0,r0,r1                                ;
0802F7E2 0080     lsl     r0,r0,2h                                ;
0802F7E4 1900     add     r0,r0,r4                                ;
0802F7E6 6802     ldr     r2,[r0]                                 ;
0802F7E8 8811     ldrh    r1,[r2]                                 ;
0802F7EA 4816     ldr     r0,=375h                                ;r0 = 885 ; Red-Eyes B. Dragon
0802F7EC 4281     cmp     r1,r0                                   ;
0802F7EE D119     bne     802F824h                                ;
0802F7F0 3801     sub     r0,1h                                   ;
0802F7F2 8010     strh    r0,[r2]                                 ;
0802F7F4 7919     ldrb    r1,[r3,4h]                              ;
0802F7F6 0088     lsl     r0,r1,2h                                ;
0802F7F8 1840     add     r0,r0,r1                                ;
0802F7FA 795B     ldrb    r3,[r3,5h]                              ;
0802F7FC 18C0     add     r0,r0,r3                                ;
0802F7FE 0080     lsl     r0,r0,2h                                ;
0802F800 1900     add     r0,r0,r4                                ;
0802F802 6800     ldr     r0,[r0]                                 ;
0802F804 2100     mov     r1,0h                                   ;
0802F806 F7F9FA7B bl      8028D00h                                ;
0802F80A 480B     ldr     r0,=2020C38h                            ;
0802F80C 7800     ldrb    r0,[r0]                                 ;
0802F80E 2800     cmp     r0,0h                                   ;
0802F810 D108     bne     802F824h                                ;
0802F812 2041     mov     r0,41h                                  ;r0 = 65
0802F814 F7F2FE94 bl      8022540h                                ;
0802F818 4808     ldr     r0,=292h                                ;r0 = 658 ; Metalmorph
0802F81A F7F6F841 bl      80258A0h                                ;
0802F81E 205A     mov     r0,5Ah                                  ;r0 = 90
0802F820 F7F2FE8E bl      8022540h                                ;
0802F824 BC10     pop     r4                                      ;
0802F826 BC01     pop     r0                                      ;
0802F828 4700     bx      r0                                      ;

Winged Trumpeter

0802F84A 4D24     ldr     r5,=2023270h                            ;Winged Trumpeter
0802F84C 4C24     ldr     r4,=2023480h                            ;
0802F84E 78A1     ldrb    r1,[r4,2h]                              ;
0802F850 0088     lsl     r0,r1,2h                                ;
0802F852 1840     add     r0,r0,r1                                ;
0802F854 78E1     ldrb    r1,[r4,3h]                              ;
0802F856 1840     add     r0,r0,r1                                ;
0802F858 0080     lsl     r0,r0,2h                                ;
0802F85A 1940     add     r0,r0,r5                                ;
0802F85C 6800     ldr     r0,[r0]                                 ;
0802F85E 8800     ldrh    r0,[r0]                                 ;
0802F860 F005F9B2 bl      8034BC8h                                ;
0802F864 2801     cmp     r0,1h                                   ;
0802F866 D150     bne     802F90Ah                                ;
0802F868 4A1E     ldr     r2,=20237D0h                            ;
0802F86A 7920     ldrb    r0,[r4,4h]                              ;
0802F86C 7090     strb    r0,[r2,2h]                              ;
0802F86E 7960     ldrb    r0,[r4,5h]                              ;
0802F870 70D0     strb    r0,[r2,3h]                              ;
0802F872 7921     ldrb    r1,[r4,4h]                              ;
0802F874 0088     lsl     r0,r1,2h                                ;
0802F876 1840     add     r0,r0,r1                                ;
0802F878 7961     ldrb    r1,[r4,5h]                              ;
0802F87A 1840     add     r0,r0,r1                                ;
0802F87C 0080     lsl     r0,r0,2h                                ;
0802F87E 1940     add     r0,r0,r5                                ;
0802F880 6800     ldr     r0,[r0]                                 ;
0802F882 8800     ldrh    r0,[r0]                                 ;
0802F884 8010     strh    r0,[r2]                                 ;
0802F886 F006FEE3 bl      8036650h                                ;
0802F88A 2801     cmp     r0,1h                                   ;
0802F88C D103     bne     802F896h                                ;
0802F88E 4816     ldr     r0,=2020C38h                            ;
0802F890 7800     ldrb    r0,[r0]                                 ;
0802F892 2800     cmp     r0,0h                                   ;
0802F894 D02C     beq     802F8F0h                                ;
0802F896 78A1     ldrb    r1,[r4,2h]                              ;
0802F898 0088     lsl     r0,r1,2h                                ;
0802F89A 1840     add     r0,r0,r1                                ;
0802F89C 78E1     ldrb    r1,[r4,3h]                              ;
0802F89E 1840     add     r0,r0,r1                                ;
0802F8A0 0080     lsl     r0,r0,2h                                ;
0802F8A2 1940     add     r0,r0,r5                                ;
0802F8A4 6800     ldr     r0,[r0]                                 ;
0802F8A6 F7F5FA1D bl      8024CE4h                                ;
0802F8AA 7921     ldrb    r1,[r4,4h]                              ;
0802F8AC 0088     lsl     r0,r1,2h                                ;
0802F8AE 1840     add     r0,r0,r1                                ;
0802F8B0 7964     ldrb    r4,[r4,5h]                              ;
0802F8B2 1900     add     r0,r0,r4                                ;
0802F8B4 0080     lsl     r0,r0,2h                                ;
0802F8B6 1940     add     r0,r0,r5                                ;
0802F8B8 6800     ldr     r0,[r0]                                 ;
0802F8BA 2100     mov     r1,0h                                   ;
0802F8BC F7F9FA20 bl      8028D00h                                ;
0802F8C0 4809     ldr     r0,=2020C38h                            ;
0802F8C2 7800     ldrb    r0,[r0]                                 ;
0802F8C4 2800     cmp     r0,0h                                   ;
0802F8C6 D127     bne     802F918h                                ;
0802F8C8 2041     mov     r0,41h                                  ;r0 = 65
0802F8CA F7F2FE39 bl      8022540h                                ;
0802F8CE 4807     ldr     r0,=293h                                ;r0 = 659 ; Winged Trumpeter
0802F8D0 F7F5FFE6 bl      80258A0h                                ;
0802F8D4 2049     mov     r0,49h                                  ;r0 = 73
0802F8D6 F7F2FE33 bl      8022540h                                ;
0802F8DA E01D     b       802F918h                                ;
0802F8DC 3270     add     r2,70h                                  ;
0802F8DE 0202     lsl     r2,r0,8h                                ;
0802F8E0 3480     add     r4,80h                                  ;
0802F8E2 0202     lsl     r2,r0,8h                                ;
0802F8E4 37D0     add     r7,0D0h                                 ;
0802F8E6 0202     lsl     r2,r0,8h                                ;
0802F8E8 0C38     lsr     r0,r7,10h                               ;
0802F8EA 0202     lsl     r2,r0,8h                                ;
0802F8EC 0293     lsl     r3,r2,0Ah                               ;
0802F8EE 0000     lsl     r0,r0,0h                                ;
0802F8F0 78A0     ldrb    r0,[r4,2h]                              ;
0802F8F2 0081     lsl     r1,r0,2h                                ;
0802F8F4 1809     add     r1,r1,r0                                ;
0802F8F6 78E4     ldrb    r4,[r4,3h]                              ;
0802F8F8 1909     add     r1,r1,r4                                ;
0802F8FA 0089     lsl     r1,r1,2h                                ;
0802F8FC 1949     add     r1,r1,r5                                ;
0802F8FE 6808     ldr     r0,[r1]                                 ;
0802F900 F7F5F9FA bl      8024CF8h                                ;
0802F904 F006FE2C bl      8036560h                                ;
0802F908 E006     b       802F918h                                ;
0802F90A 4805     ldr     r0,=2020C38h                            ;
0802F90C 7800     ldrb    r0,[r0]                                 ;
0802F90E 2800     cmp     r0,0h                                   ;
0802F910 D102     bne     802F918h                                ;
0802F912 2039     mov     r0,39h                                  ;
0802F914 F7F2FE14 bl      8022540h                                ;
0802F918 BC30     pop     r4,r5                                   ;
0802F91A BC01     pop     r0                                      ;
0802F91C 4700     bx      r0                                      ;

Stain Storm

0802F926 2500     mov     r5,0h                                   ;Stain Storm
0802F928 4E1B     ldr     r6,=2023284h                            ;
0802F92A 00A8     lsl     r0,r5,2h                                ;
0802F92C 1984     add     r4,r0,r6                                ;
0802F92E 6820     ldr     r0,[r4]                                 ;
0802F930 8800     ldrh    r0,[r0]                                 ;
0802F932 F7E9FD1B bl      801936Ch                                ;
0802F936 2801     cmp     r0,1h                                   ;
0802F938 D00B     beq     802F952h                                ;
0802F93A 6820     ldr     r0,[r4]                                 ;
0802F93C 8800     ldrh    r0,[r0]                                 ;
0802F93E F7D7F9B5 bl      8006CACh                                ;
0802F942 4816     ldr     r0,=2020B00h                            ;
0802F944 7D80     ldrb    r0,[r0,16h]                             ;
0802F946 280F     cmp     r0,0Fh                                  ;
0802F948 D103     bne     802F952h                                ;
0802F94A 6820     ldr     r0,[r4]                                 ;
0802F94C 2101     mov     r1,1h                                   ;
0802F94E F7F9F9D7 bl      8028D00h                                ;
0802F952 1C68     add     r0,r5,1                                 ;
0802F954 0600     lsl     r0,r0,18h                               ;
0802F956 0E05     lsr     r5,r0,18h                               ;
0802F958 2D04     cmp     r5,4h                                   ;
0802F95A D9E6     bls     802F92Ah                                ;
0802F95C 4B10     ldr     r3,=2023270h                            ;
0802F95E 4A11     ldr     r2,=2023480h                            ;
0802F960 7891     ldrb    r1,[r2,2h]                              ;
0802F962 0088     lsl     r0,r1,2h                                ;
0802F964 1840     add     r0,r0,r1                                ;
0802F966 78D2     ldrb    r2,[r2,3h]                              ;
0802F968 1880     add     r0,r0,r2                                ;
0802F96A 0080     lsl     r0,r0,2h                                ;
0802F96C 18C0     add     r0,r0,r3                                ;
0802F96E 6800     ldr     r0,[r0]                                 ;
0802F970 2100     mov     r1,0h                                   ;
0802F972 F7F9F9C5 bl      8028D00h                                ;
0802F976 480C     ldr     r0,=2020C38h                            ;
0802F978 7800     ldrb    r0,[r0]                                 ;
0802F97A 2800     cmp     r0,0h                                   ;
0802F97C D109     bne     802F992h                                ;
0802F97E 2041     mov     r0,41h                                  ;r0 = 65
0802F980 F7F2FDDE bl      8022540h                                ;
0802F984 20A5     mov     r0,0A5h                                 ;
0802F986 0080     lsl     r0,r0,2h                                ;r0 = 660 ; Stain Storm
0802F988 F7F5FF8A bl      80258A0h                                ;
0802F98C 204C     mov     r0,4Ch                                  ;r0 = 76
0802F98E F7F2FDD7 bl      8022540h                                ;
0802F992 BC70     pop     r4-r6                                   ;
0802F994 BC01     pop     r0                                      ;
0802F996 4700     bx      r0                                      ;

Eradicating Aerosol

0802F9AE 2500     mov     r5,0h                                   ;Eradicating Aerosol
0802F9B0 4E18     ldr     r6,=2023284h                            ;
0802F9B2 00A8     lsl     r0,r5,2h                                ;
0802F9B4 1984     add     r4,r0,r6                                ;
0802F9B6 6820     ldr     r0,[r4]                                 ;
0802F9B8 8800     ldrh    r0,[r0]                                 ;
0802F9BA F7D7F977 bl      8006CACh                                ;
0802F9BE 4816     ldr     r0,=2020B00h                            ;
0802F9C0 7D80     ldrb    r0,[r0,16h]                             ;
0802F9C2 280A     cmp     r0,0Ah                                  ;
0802F9C4 D103     bne     802F9CEh                                ;
0802F9C6 6820     ldr     r0,[r4]                                 ;
0802F9C8 2101     mov     r1,1h                                   ;
0802F9CA F7F9F999 bl      8028D00h                                ;
0802F9CE 1C68     add     r0,r5,1                                 ;
0802F9D0 0600     lsl     r0,r0,18h                               ;
0802F9D2 0E05     lsr     r5,r0,18h                               ;
0802F9D4 2D04     cmp     r5,4h                                   ;
0802F9D6 D9EC     bls     802F9B2h                                ;
0802F9D8 4B10     ldr     r3,=2023270h                            ;
0802F9DA 4A11     ldr     r2,=2023480h                            ;
0802F9DC 7891     ldrb    r1,[r2,2h]                              ;
0802F9DE 0088     lsl     r0,r1,2h                                ;
0802F9E0 1840     add     r0,r0,r1                                ;
0802F9E2 78D2     ldrb    r2,[r2,3h]                              ;
0802F9E4 1880     add     r0,r0,r2                                ;
0802F9E6 0080     lsl     r0,r0,2h                                ;
0802F9E8 18C0     add     r0,r0,r3                                ;
0802F9EA 6800     ldr     r0,[r0]                                 ;
0802F9EC 2100     mov     r1,0h                                   ;
0802F9EE F7F9F987 bl      8028D00h                                ;
0802F9F2 480C     ldr     r0,=2020C38h                            ;
0802F9F4 7800     ldrb    r0,[r0]                                 ;
0802F9F6 2800     cmp     r0,0h                                   ;
0802F9F8 D108     bne     802FA0Ch                                ;
0802F9FA 2041     mov     r0,41h                                  ;r0 = 65
0802F9FC F7F2FDA0 bl      8022540h                                ;
0802FA00 4809     ldr     r0,=296h                                ;r0 = 662 ; Eradicating Aerosol
0802FA02 F7F5FF4D bl      80258A0h                                ;
0802FA06 204C     mov     r0,4Ch                                  ;r0 = 76
0802FA08 F7F2FD9A bl      8022540h                                ;
0802FA0C BC70     pop     r4-r6                                   ;
0802FA0E BC01     pop     r0                                      ;
0802FA10 4700     bx      r0                                      ;

Breath of Light

0802FA2E 2500     mov     r5,0h                                   ;Breath of Light
0802FA30 4E18     ldr     r6,=2023284h                            ;
0802FA32 00A8     lsl     r0,r5,2h                                ;
0802FA34 1984     add     r4,r0,r6                                ;
0802FA36 6820     ldr     r0,[r4]                                 ;
0802FA38 8800     ldrh    r0,[r0]                                 ;
0802FA3A F7D7F937 bl      8006CACh                                ;
0802FA3E 4816     ldr     r0,=2020B00h                            ;
0802FA40 7D80     ldrb    r0,[r0,16h]                             ;
0802FA42 2813     cmp     r0,13h                                  ;
0802FA44 D103     bne     802FA4Eh                                ;
0802FA46 6820     ldr     r0,[r4]                                 ;
0802FA48 2101     mov     r1,1h                                   ;
0802FA4A F7F9F959 bl      8028D00h                                ;
0802FA4E 1C68     add     r0,r5,1                                 ;
0802FA50 0600     lsl     r0,r0,18h                               ;
0802FA52 0E05     lsr     r5,r0,18h                               ;
0802FA54 2D04     cmp     r5,4h                                   ;
0802FA56 D9EC     bls     802FA32h                                ;
0802FA58 4B10     ldr     r3,=2023270h                            ;
0802FA5A 4A11     ldr     r2,=2023480h                            ;
0802FA5C 7891     ldrb    r1,[r2,2h]                              ;
0802FA5E 0088     lsl     r0,r1,2h                                ;
0802FA60 1840     add     r0,r0,r1                                ;
0802FA62 78D2     ldrb    r2,[r2,3h]                              ;
0802FA64 1880     add     r0,r0,r2                                ;
0802FA66 0080     lsl     r0,r0,2h                                ;
0802FA68 18C0     add     r0,r0,r3                                ;
0802FA6A 6800     ldr     r0,[r0]                                 ;
0802FA6C 2100     mov     r1,0h                                   ;
0802FA6E F7F9F947 bl      8028D00h                                ;
0802FA72 480C     ldr     r0,=2020C38h                            ;
0802FA74 7800     ldrb    r0,[r0]                                 ;
0802FA76 2800     cmp     r0,0h                                   ;
0802FA78 D108     bne     802FA8Ch                                ;
0802FA7A 2041     mov     r0,41h                                  ;
0802FA7C F7F2FD60 bl      8022540h                                ;
0802FA80 4809     ldr     r0,=297h                                ;r0 = 663 ; Breath of Light
0802FA82 F7F5FF0D bl      80258A0h                                ;
0802FA86 204C     mov     r0,4Ch                                  ;
0802FA88 F7F2FD5A bl      8022540h                                ;
0802FA8C BC70     pop     r4-r6                                   ;
0802FA8E BC01     pop     r0                                      ;
0802FA90 4700     bx      r0                                      ;

Eternal Drought

0802FAAE 2500     mov     r5,0h                                   ;Eternal Drought
0802FAB0 4E18     ldr     r6,=2023284h                            ;
0802FAB2 00A8     lsl     r0,r5,2h                                ;
0802FAB4 1984     add     r4,r0,r6                                ;
0802FAB6 6820     ldr     r0,[r4]                                 ;
0802FAB8 8800     ldrh    r0,[r0]                                 ;
0802FABA F7D7F8F7 bl      8006CACh                                ;
0802FABE 4816     ldr     r0,=2020B00h                            ;
0802FAC0 7D80     ldrb    r0,[r0,16h]                             ;
0802FAC2 280D     cmp     r0,0Dh                                  ;
0802FAC4 D103     bne     802FACEh                                ;
0802FAC6 6820     ldr     r0,[r4]                                 ;
0802FAC8 2101     mov     r1,1h                                   ;
0802FACA F7F9F919 bl      8028D00h                                ;
0802FACE 1C68     add     r0,r5,1                                 ;
0802FAD0 0600     lsl     r0,r0,18h                               ;
0802FAD2 0E05     lsr     r5,r0,18h                               ;
0802FAD4 2D04     cmp     r5,4h                                   ;
0802FAD6 D9EC     bls     802FAB2h                                ;
0802FAD8 4B10     ldr     r3,=2023270h                            ;
0802FADA 4A11     ldr     r2,=2023480h                            ;
0802FADC 7891     ldrb    r1,[r2,2h]                              ;
0802FADE 0088     lsl     r0,r1,2h                                ;
0802FAE0 1840     add     r0,r0,r1                                ;
0802FAE2 78D2     ldrb    r2,[r2,3h]                              ;
0802FAE4 1880     add     r0,r0,r2                                ;
0802FAE6 0080     lsl     r0,r0,2h                                ;
0802FAE8 18C0     add     r0,r0,r3                                ;
0802FAEA 6800     ldr     r0,[r0]                                 ;
0802FAEC 2100     mov     r1,0h                                   ;
0802FAEE F7F9F907 bl      8028D00h                                ;
0802FAF2 480C     ldr     r0,=2020C38h                            ;
0802FAF4 7800     ldrb    r0,[r0]                                 ;
0802FAF6 2800     cmp     r0,0h                                   ;
0802FAF8 D109     bne     802FB0Eh                                ;
0802FAFA 2041     mov     r0,41h                                  ;
0802FAFC F7F2FD20 bl      8022540h                                ;
0802FB00 20A6     mov     r0,0A6h                                 ;
0802FB02 0080     lsl     r0,r0,2h                                ;r0 = 664 ; Eternal Drought
0802FB04 F7F5FECC bl      80258A0h                                ;
0802FB08 204C     mov     r0,4Ch                                  ;
0802FB0A F7F2FD19 bl      8022540h                                ;
0802FB0E BC70     pop     r4-r6                                   ;
0802FB10 BC01     pop     r0                                      ;
0802FB12 4700     bx      r0                                      ;

The Inexperienced Spy

0802FB2A 2200     mov     r2,0h                                   ;The Inexperienced Spy
0802FB2C 4E16     ldr     r6,=2023270h                            ;
0802FB2E 4D17     ldr     r5,=2023480h                            ;
0802FB30 4C17     ldr     r4,=2023364h                            ;
0802FB32 2310     mov     r3,10h                                  ;
0802FB34 0090     lsl     r0,r2,2h                                ;
0802FB36 1900     add     r0,r0,r4                                ;
0802FB38 6801     ldr     r1,[r0]                                 ;
0802FB3A 8808     ldrh    r0,[r1]                                 ;
0802FB3C 2800     cmp     r0,0h                                   ;
0802FB3E D002     beq     802FB46h                                ;
0802FB40 7908     ldrb    r0,[r1,4h]                              ;
0802FB42 4318     orr     r0,r3                                   ;
0802FB44 7108     strb    r0,[r1,4h]                              ;
0802FB46 1C50     add     r0,r2,1                                 ;
0802FB48 0600     lsl     r0,r0,18h                               ;
0802FB4A 0E02     lsr     r2,r0,18h                               ;
0802FB4C 2A04     cmp     r2,4h                                   ;
0802FB4E D9F1     bls     802FB34h                                ;
0802FB50 78A9     ldrb    r1,[r5,2h]                              ;
0802FB52 0088     lsl     r0,r1,2h                                ;
0802FB54 1840     add     r0,r0,r1                                ;
0802FB56 78ED     ldrb    r5,[r5,3h]                              ;
0802FB58 1940     add     r0,r0,r5                                ;
0802FB5A 0080     lsl     r0,r0,2h                                ;
0802FB5C 1980     add     r0,r0,r6                                ;
0802FB5E 6800     ldr     r0,[r0]                                 ;
0802FB60 2100     mov     r1,0h                                   ;
0802FB62 F7F9F8CD bl      8028D00h                                ;
0802FB66 480B     ldr     r0,=2020C38h                            ;
0802FB68 7800     ldrb    r0,[r0]                                 ;
0802FB6A 2800     cmp     r0,0h                                   ;
0802FB6C D108     bne     802FB80h                                ;
0802FB6E 2041     mov     r0,41h                                  ;
0802FB70 F7F2FCE6 bl      8022540h                                ;
0802FB74 4808     ldr     r0,=316h                                ;r0 = 790 ; The Inexperienced Spy
0802FB76 F7F5FE93 bl      80258A0h                                ;
0802FB7A 203C     mov     r0,3Ch                                  ;
0802FB7C F7F2FCE0 bl      8022540h                                ;
0802FB80 BC70     pop     r4-r6                                   ;
0802FB82 BC01     pop     r0                                      ;
0802FB84 4700     bx      r0                                      ;

Dark Magic Ritual

0802FB9E 4646     mov     r6,r8                                   ;Dark Magic Ritual
0802FBA0 B440     push    r6                                      ;
0802FBA2 4D06     ldr     r5,=2023298h                            ;
0802FBA4 4C06     ldr     r4,=8D542F0h                            ;
0802FBA6 1C20     mov     r0,r4                                   ;
0802FBA8 30D0     add     r0,0D0h                                 ;
0802FBAA 8801     ldrh    r1,[r0]                                 ;
0802FBAC 1C28     mov     r0,r5                                   ;
0802FBAE F7F7FD95 bl      80276DCh                                ;
0802FBB2 2801     cmp     r0,1h                                   ;
0802FBB4 D106     bne     802FBC4h                                ;
0802FBB6 201A     mov     r0,1Ah                                  ;
0802FBB8 E00D     b       802FBD6h                                ;
0802FBBA 0000     lsl     r0,r0,0h                                ;
0802FBBC 3298     add     r2,98h                                  ;
0802FBBE 0202     lsl     r2,r0,8h                                ;
0802FBC0 42F0     cmn     r0,r6                                   ;
0802FBC2 08D5     lsr     r5,r2,3h                                ;
0802FBC4 1C20     mov     r0,r4                                   ;
0802FBC6 30C0     add     r0,0C0h                                 ;
0802FBC8 8801     ldrh    r1,[r0]                                 ;
0802FBCA 1C28     mov     r0,r5                                   ;
0802FBCC F7F7FD86 bl      80276DCh                                ;
0802FBD0 2801     cmp     r0,1h                                   ;
0802FBD2 D133     bne     802FC3Ch                                ;
0802FBD4 2018     mov     r0,18h                                  ;
0802FBD6 4E1C     ldr     r6,=2023298h                            ;
0802FBD8 4D1C     ldr     r5,=8D542F0h                            ;
0802FBDA 00C0     lsl     r0,r0,3h                                ;
0802FBDC 4680     mov     r8,r0                                   ;
0802FBDE 1940     add     r0,r0,r5                                ;
0802FBE0 8801     ldrh    r1,[r0]                                 ;
0802FBE2 1C30     mov     r0,r6                                   ;
0802FBE4 F7F7FD8E bl      8027704h                                ;
0802FBE8 1C04     mov     r4,r0                                   ;
0802FBEA 0624     lsl     r4,r4,18h                               ;
0802FBEC 0E24     lsr     r4,r4,18h                               ;
0802FBEE 1C33     mov     r3,r6                                   ;
0802FBF0 3B28     sub     r3,28h                                  ;
0802FBF2 4A17     ldr     r2,=2023480h                            ;
0802FBF4 7891     ldrb    r1,[r2,2h]                              ;
0802FBF6 0088     lsl     r0,r1,2h                                ;
0802FBF8 1840     add     r0,r0,r1                                ;
0802FBFA 78D2     ldrb    r2,[r2,3h]                              ;
0802FBFC 1880     add     r0,r0,r2                                ;
0802FBFE 0080     lsl     r0,r0,2h                                ;
0802FC00 18C0     add     r0,r0,r3                                ;
0802FC02 6800     ldr     r0,[r0]                                 ;
0802FC04 2100     mov     r1,0h                                   ;
0802FC06 F7F9F87B bl      8028D00h                                ;
0802FC0A 00A4     lsl     r4,r4,2h                                ;
0802FC0C 19A4     add     r4,r4,r6                                ;
0802FC0E 6820     ldr     r0,[r4]                                 ;
0802FC10 3502     add     r5,2h                                   ;
0802FC12 4641     mov     r1,r8                                   ;
0802FC14 194C     add     r4,r1,r5                                ;
0802FC16 8821     ldrh    r1,[r4]                                 ;
0802FC18 F000FD52 bl      80306C0h                                ;
0802FC1C F7F9F8A8 bl      8028D70h                                ;
0802FC20 480C     ldr     r0,=2020C38h                            ;
0802FC22 7800     ldrb    r0,[r0]                                 ;
0802FC24 2800     cmp     r0,0h                                   ;
0802FC26 D109     bne     802FC3Ch                                ;
0802FC28 2041     mov     r0,41h                                  ;
0802FC2A F7F2FC89 bl      8022540h                                ;
0802FC2E 480A     ldr     r0,=2D2h                                ;r0 = 722 ; Dark Magic Ritual
0802FC30 8821     ldrh    r1,[r4]                                 ;
0802FC32 F7F5FE35 bl      80258A0h                                ;
0802FC36 2053     mov     r0,53h                                  ;
0802FC38 F7F2FC82 bl      8022540h                                ;
0802FC3C BC08     pop     r3                                      ;
0802FC3E 4698     mov     r8,r3                                   ;
0802FC40 BC70     pop     r4-r6                                   ;
0802FC42 BC01     pop     r0                                      ;
0802FC44 4700     bx      r0                                      ;

Pot of Greed

  • 0x2FC5E - I play Pot of Greed, I draw 2 cards from my deck !
0802FC5E F007FB8F bl      8037380h                                ;r0 = [0x20237D8]
0802FC62 F7F8F861 bl      8027D28h                                ;Draw a card ?
0802FC66 F007FB8B bl      8037380h                                ;r0 = [0x20237D8]
0802FC6A F7F8F85D bl      8027D28h                                ;Draw a card ?
0802FC6E 4B0E     ldr     r3,=2023270h                            ;
0802FC70 4A0E     ldr     r2,=2023480h                            ;
0802FC72 7891     ldrb    r1,[r2,2h]                              ;
0802FC74 0088     lsl     r0,r1,2h                                ;
0802FC76 1840     add     r0,r0,r1                                ;
0802FC78 78D2     ldrb    r2,[r2,3h]                              ;
0802FC7A 1880     add     r0,r0,r2                                ;
0802FC7C 0080     lsl     r0,r0,2h                                ;
0802FC7E 18C0     add     r0,r0,r3                                ;
0802FC80 6800     ldr     r0,[r0]                                 ;
0802FC82 2100     mov     r1,0h                                   ;
0802FC84 F7F9F83C bl      8028D00h                                ;
0802FC88 4809     ldr     r0,=2020C38h                            ;
0802FC8A 7800     ldrb    r0,[r0]                                 ;
0802FC8C 2800     cmp     r0,0h                                   ;
0802FC8E D108     bne     802FCA2h                                ;
0802FC90 2041     mov     r0,41h                                  ;
0802FC92 F7F2FC55 bl      8022540h                                ;
0802FC96 4807     ldr     r0,=315h                                ;r0 = 789 ; Pot of Greed
0802FC98 F7F5FE02 bl      80258A0h                                ;call 0x258A0 - Display text box
0802FC9C 203B     mov     r0,3Bh                                  ;
0802FC9E F7F2FC4F bl      8022540h                                ;
0802FCA2 BC01     pop     r0                                      ;
0802FCA4 4700     bx      r0                                      ;

Restructer Revolution

0802FCBA 4808     ldr     r0,=2023364h                            ;Restructer Revolution
0802FCBC F7F7FB1A bl      80272F4h                                ;
0802FCC0 2105     mov     r1,5h                                   ;
0802FCC2 1A09     sub     r1,r1,r0                                ;
0802FCC4 20C8     mov     r0,0C8h                                 ;
0802FCC6 4348     mul     r0,r1                                   ;
0802FCC8 0400     lsl     r0,r0,10h                               ;
0802FCCA 0C04     lsr     r4,r0,10h                               ;
0802FCCC F007FB58 bl      8037380h                                ;
0802FCD0 2800     cmp     r0,0h                                   ;
0802FCD2 D105     bne     802FCE0h                                ;
0802FCD4 1C20     mov     r0,r4                                   ;
0802FCD6 F7F4FB21 bl      802431Ch                                ;
0802FCDA E004     b       802FCE6h                                ;
0802FCDC 3364     add     r3,64h                                  ;
0802FCDE 0202     lsl     r2,r0,8h                                ;
0802FCE0 1C20     mov     r0,r4                                   ;
0802FCE2 F7F4FAF7 bl      80242D4h                                ;
0802FCE6 F7F3FF37 bl      8023B58h                                ;
0802FCEA F7F4F931 bl      8023F50h                                ;
0802FCEE 4B0F     ldr     r3,=2023270h                            ;
0802FCF0 4A0F     ldr     r2,=2023480h                            ;
0802FCF2 7891     ldrb    r1,[r2,2h]                              ;
0802FCF4 0088     lsl     r0,r1,2h                                ;
0802FCF6 1840     add     r0,r0,r1                                ;
0802FCF8 78D2     ldrb    r2,[r2,3h]                              ;
0802FCFA 1880     add     r0,r0,r2                                ;
0802FCFC 0080     lsl     r0,r0,2h                                ;
0802FCFE 18C0     add     r0,r0,r3                                ;
0802FD00 6800     ldr     r0,[r0]                                 ;
0802FD02 2100     mov     r1,0h                                   ;
0802FD04 F7F8FFFC bl      8028D00h                                ;
0802FD08 480A     ldr     r0,=2020C38h                            ;
0802FD0A 7800     ldrb    r0,[r0]                                 ;
0802FD0C 2800     cmp     r0,0h                                   ;
0802FD0E D109     bne     802FD24h                                ;
0802FD10 2041     mov     r0,41h                                  ;
0802FD12 F7F2FC15 bl      8022540h                                ;
0802FD16 20C5     mov     r0,0C5h                                 ;
0802FD18 0080     lsl     r0,r0,2h                                ;r0 = 788 ; Restructer Revolution
0802FD1A F7F5FDC1 bl      80258A0h                                ;call 0x258A0 - Display text box
0802FD1E 204D     mov     r0,4Dh                                  ;
0802FD20 F7F2FC0E bl      8022540h                                ;
0802FD24 BC10     pop     r4                                      ;
0802FD26 BC01     pop     r0                                      ;
0802FD28 4700     bx      r0                                      ;

Last Day of Witch

0802FD3A 2500     mov     r5,0h                                   ;Last Day of Witch
0802FD3C 4E18     ldr     r6,=2023284h                            ;
0802FD3E 00A8     lsl     r0,r5,2h                                ;
0802FD40 1984     add     r4,r0,r6                                ;
0802FD42 6820     ldr     r0,[r4]                                 ;
0802FD44 8800     ldrh    r0,[r0]                                 ;
0802FD46 F7D6FFB1 bl      8006CACh                                ;
0802FD4A 4816     ldr     r0,=2020B00h                            ;
0802FD4C 7D80     ldrb    r0,[r0,16h]                             ;
0802FD4E 2802     cmp     r0,2h                                   ;
0802FD50 D103     bne     802FD5Ah                                ;
0802FD52 6820     ldr     r0,[r4]                                 ;
0802FD54 2101     mov     r1,1h                                   ;
0802FD56 F7F8FFD3 bl      8028D00h                                ;
0802FD5A 1C68     add     r0,r5,1                                 ;
0802FD5C 0600     lsl     r0,r0,18h                               ;
0802FD5E 0E05     lsr     r5,r0,18h                               ;
0802FD60 2D04     cmp     r5,4h                                   ;
0802FD62 D9EC     bls     802FD3Eh                                ;
0802FD64 4B10     ldr     r3,=2023270h                            ;
0802FD66 4A11     ldr     r2,=2023480h                            ;
0802FD68 7891     ldrb    r1,[r2,2h]                              ;
0802FD6A 0088     lsl     r0,r1,2h                                ;
0802FD6C 1840     add     r0,r0,r1                                ;
0802FD6E 78D2     ldrb    r2,[r2,3h]                              ;
0802FD70 1880     add     r0,r0,r2                                ;
0802FD72 0080     lsl     r0,r0,2h                                ;
0802FD74 18C0     add     r0,r0,r3                                ;
0802FD76 6800     ldr     r0,[r0]                                 ;
0802FD78 2100     mov     r1,0h                                   ;
0802FD7A F7F8FFC1 bl      8028D00h                                ;
0802FD7E 480C     ldr     r0,=2020C38h                            ;
0802FD80 7800     ldrb    r0,[r0]                                 ;
0802FD82 2800     cmp     r0,0h                                   ;
0802FD84 D108     bne     802FD98h                                ;
0802FD86 2041     mov     r0,41h                                  ;
0802FD88 F7F2FBDA bl      8022540h                                ;
0802FD8C 4809     ldr     r0,=313h                                ;r0 = 787 ; Last Day of Witch
0802FD8E F7F5FD87 bl      80258A0h                                ;
0802FD92 204C     mov     r0,4Ch                                  ;
0802FD94 F7F2FBD4 bl      8022540h                                ;
0802FD98 BC70     pop     r4-r6                                   ;
0802FD9A BC01     pop     r0                                      ;
0802FD9C 4700     bx      r0                                      ;

Exile of the Wicked

0802FDBA 2500     mov     r5,0h                                   ;Exile of the Wicked
0802FDBC 4E18     ldr     r6,=2023284h                            ;
0802FDBE 00A8     lsl     r0,r5,2h                                ;
0802FDC0 1984     add     r4,r0,r6                                ;
0802FDC2 6820     ldr     r0,[r4]                                 ;
0802FDC4 8800     ldrh    r0,[r0]                                 ;
0802FDC6 F7D6FF71 bl      8006CACh                                ;
0802FDCA 4816     ldr     r0,=2020B00h                            ;
0802FDCC 7D80     ldrb    r0,[r0,16h]                             ;
0802FDCE 2808     cmp     r0,8h                                   ;
0802FDD0 D103     bne     802FDDAh                                ;
0802FDD2 6820     ldr     r0,[r4]                                 ;
0802FDD4 2101     mov     r1,1h                                   ;
0802FDD6 F7F8FF93 bl      8028D00h                                ;
0802FDDA 1C68     add     r0,r5,1                                 ;
0802FDDC 0600     lsl     r0,r0,18h                               ;
0802FDDE 0E05     lsr     r5,r0,18h                               ;
0802FDE0 2D04     cmp     r5,4h                                   ;
0802FDE2 D9EC     bls     802FDBEh                                ;
0802FDE4 4B10     ldr     r3,=2023270h                            ;
0802FDE6 4A11     ldr     r2,=2023480h                            ;
0802FDE8 7891     ldrb    r1,[r2,2h]                              ;
0802FDEA 0088     lsl     r0,r1,2h                                ;
0802FDEC 1840     add     r0,r0,r1                                ;
0802FDEE 78D2     ldrb    r2,[r2,3h]                              ;
0802FDF0 1880     add     r0,r0,r2                                ;
0802FDF2 0080     lsl     r0,r0,2h                                ;
0802FDF4 18C0     add     r0,r0,r3                                ;
0802FDF6 6800     ldr     r0,[r0]                                 ;
0802FDF8 2100     mov     r1,0h                                   ;
0802FDFA F7F8FF81 bl      8028D00h                                ;
0802FDFE 480C     ldr     r0,=2020C38h                            ;
0802FE00 7800     ldrb    r0,[r0]                                 ;
0802FE02 2800     cmp     r0,0h                                   ;
0802FE04 D108     bne     802FE18h                                ;
0802FE06 2041     mov     r0,41h                                  ;
0802FE08 F7F2FB9A bl      8022540h                                ;
0802FE0C 4809     ldr     r0,=312h                                ;r0 = 786 ; Exile of the Wicked
0802FE0E F7F5FD47 bl      80258A0h                                ;
0802FE12 204C     mov     r0,4Ch                                  ;
0802FE14 F7F2FB94 bl      8022540h                                ;
0802FE18 BC70     pop     r4-r6                                   ;
0802FE1A BC01     pop     r0                                      ;
0802FE1C 4700     bx      r0                                      ;

Multiply

0802FE3A 4657     mov     r7,r10                                  ;Multiply
0802FE3C 464E     mov     r6,r9                                   ;
0802FE3E 4645     mov     r5,r8                                   ;
0802FE40 B4E0     push    r5-r7                                   ;
0802FE42 4D1B     ldr     r5,=2023298h                            ;
0802FE44 1C28     mov     r0,r5                                   ;
0802FE46 213A     mov     r1,3Ah                                  ;
0802FE48 F7F7FA64 bl      8027314h                                ;
0802FE4C 2800     cmp     r0,0h                                   ;
0802FE4E D044     beq     802FEDAh                                ;
0802FE50 2400     mov     r4,0h                                   ;
0802FE52 46AA     mov     r10,r5                                  ;
0802FE54 2700     mov     r7,0h                                   ;
0802FE56 2610     mov     r6,10h                                  ;
0802FE58 2003     mov     r0,3h                                   ;
0802FE5A 4240     neg     r0,r0                                   ;
0802FE5C 4684     mov     r12,r0                                  ;
0802FE5E 2501     mov     r5,1h                                   ;
0802FE60 2105     mov     r1,5h                                   ;
0802FE62 4249     neg     r1,r1                                   ;
0802FE64 4689     mov     r9,r1                                   ;
0802FE66 381E     sub     r0,1Eh                                  ;
0802FE68 4680     mov     r8,r0                                   ;
0802FE6A 00A0     lsl     r0,r4,2h                                ;
0802FE6C 4651     mov     r1,r10                                  ;
0802FE6E 1843     add     r3,r0,r1                                ;
0802FE70 6819     ldr     r1,[r3]                                 ;
0802FE72 8808     ldrh    r0,[r1]                                 ;
0802FE74 2800     cmp     r0,0h                                   ;
0802FE76 D11D     bne     802FEB4h                                ;
0802FE78 203A     mov     r0,3Ah                                  ;
0802FE7A 8008     strh    r0,[r1]                                 ;
0802FE7C 6819     ldr     r1,[r3]                                 ;
0802FE7E 7908     ldrb    r0,[r1,4h]                              ;
0802FE80 4330     orr     r0,r6                                   ;
0802FE82 7108     strb    r0,[r1,4h]                              ;
0802FE84 6819     ldr     r1,[r3]                                 ;
0802FE86 7908     ldrb    r0,[r1,4h]                              ;
0802FE88 4328     orr     r0,r5                                   ;
0802FE8A 7108     strb    r0,[r1,4h]                              ;
0802FE8C 681A     ldr     r2,[r3]                                 ;
0802FE8E 7911     ldrb    r1,[r2,4h]                              ;
0802FE90 4660     mov     r0,r12                                  ;
0802FE92 4008     and     r0,r1                                   ;
0802FE94 7110     strb    r0,[r2,4h]                              ;
0802FE96 681A     ldr     r2,[r3]                                 ;
0802FE98 7911     ldrb    r1,[r2,4h]                              ;
0802FE9A 4648     mov     r0,r9                                   ;
0802FE9C 4008     and     r0,r1                                   ;
0802FE9E 7110     strb    r0,[r2,4h]                              ;
0802FEA0 6818     ldr     r0,[r3]                                 ;
0802FEA2 70C7     strb    r7,[r0,3h]                              ;
0802FEA4 6818     ldr     r0,[r3]                                 ;
0802FEA6 7087     strb    r7,[r0,2h]                              ;
0802FEA8 681A     ldr     r2,[r3]                                 ;
0802FEAA 7911     ldrb    r1,[r2,4h]                              ;
0802FEAC 4640     mov     r0,r8                                   ;
0802FEAE E00D     b       802FECCh                                ;
0802FEB0 3298     add     r2,98h                                  ;
0802FEB2 0202     lsl     r2,r0,8h                                ;
0802FEB4 283A     cmp     r0,3Ah                                  ;
0802FEB6 D10B     bne     802FED0h                                ;
0802FEB8 7908     ldrb    r0,[r1,4h]                              ;
0802FEBA 4330     orr     r0,r6                                   ;
0802FEBC 7108     strb    r0,[r1,4h]                              ;
0802FEBE 6819     ldr     r1,[r3]                                 ;
0802FEC0 7908     ldrb    r0,[r1,4h]                              ;
0802FEC2 4328     orr     r0,r5                                   ;
0802FEC4 7108     strb    r0,[r1,4h]                              ;
0802FEC6 681A     ldr     r2,[r3]                                 ;
0802FEC8 7911     ldrb    r1,[r2,4h]                              ;
0802FECA 4660     mov     r0,r12                                  ;
0802FECC 4008     and     r0,r1                                   ;
0802FECE 7110     strb    r0,[r2,4h]                              ;
0802FED0 1C60     add     r0,r4,1                                 ;
0802FED2 0600     lsl     r0,r0,18h                               ;
0802FED4 0E04     lsr     r4,r0,18h                               ;
0802FED6 2C04     cmp     r4,4h                                   ;
0802FED8 D9C7     bls     802FE6Ah                                ;
0802FEDA 4B10     ldr     r3,=2023270h                            ;
0802FEDC 4A10     ldr     r2,=2023480h                            ;
0802FEDE 7891     ldrb    r1,[r2,2h]                              ;
0802FEE0 0088     lsl     r0,r1,2h                                ;
0802FEE2 1840     add     r0,r0,r1                                ;
0802FEE4 78D2     ldrb    r2,[r2,3h]                              ;
0802FEE6 1880     add     r0,r0,r2                                ;
0802FEE8 0080     lsl     r0,r0,2h                                ;
0802FEEA 18C0     add     r0,r0,r3                                ;
0802FEEC 6800     ldr     r0,[r0]                                 ;
0802FEEE 2100     mov     r1,0h                                   ;
0802FEF0 F7F8FF06 bl      8028D00h                                ;
0802FEF4 480B     ldr     r0,=2020C38h                            ;
0802FEF6 7800     ldrb    r0,[r0]                                 ;
0802FEF8 2800     cmp     r0,0h                                   ;
0802FEFA D108     bne     802FF0Eh                                ;
0802FEFC 2041     mov     r0,41h                                  ;
0802FEFE F7F2FB1F bl      8022540h                                ;
0802FF02 4809     ldr     r0,=311h                                ;r0 = 785 ; Multiply
0802FF04 F7F5FCCC bl      80258A0h                                ;
0802FF08 2053     mov     r0,53h                                  ;
0802FF0A F7F2FB19 bl      8022540h                                ;
0802FF0E BC38     pop     r3-r5                                   ;
0802FF10 4698     mov     r8,r3                                   ;
0802FF12 46A1     mov     r9,r4                                   ;
0802FF14 46AA     mov     r10,r5                                  ;
0802FF16 BCF0     pop     r4-r7                                   ;
0802FF18 BC01     pop     r0                                      ;
0802FF1A 4700     bx      r0                                      ;

Change of Heart

0802FF2E 4D34     ldr     r5,=2023298h                            ;Change of Heart
0802FF30 1C28     mov     r0,r5                                   ;
0802FF32 F7F7F9DF bl      80272F4h                                ;
0802FF36 2800     cmp     r0,0h                                   ;
0802FF38 D044     beq     802FFC4h                                ;
0802FF3A 1C2E     mov     r6,r5                                   ;
0802FF3C 3E14     sub     r6,14h                                  ;
0802FF3E 1C30     mov     r0,r6                                   ;
0802FF40 F7F7F9E0 bl      8027304h                                ;
0802FF44 2805     cmp     r0,5h                                   ;
0802FF46 D03D     beq     802FFC4h                                ;
0802FF48 1C28     mov     r0,r5                                   ;
0802FF4A F7F7FA65 bl      8027418h                                ;
0802FF4E 1C04     mov     r4,r0                                   ;
0802FF50 0624     lsl     r4,r4,18h                               ;
0802FF52 0E24     lsr     r4,r4,18h                               ;
0802FF54 1C30     mov     r0,r6                                   ;
0802FF56 F7F7FAE3 bl      8027520h                                ;
0802FF5A 0600     lsl     r0,r0,18h                               ;
0802FF5C 00A4     lsl     r4,r4,2h                                ;
0802FF5E 1964     add     r4,r4,r5                                ;
0802FF60 6822     ldr     r2,[r4]                                 ;
0802FF62 0D80     lsr     r0,r0,16h                               ;
0802FF64 1980     add     r0,r0,r6                                ;
0802FF66 6801     ldr     r1,[r0]                                 ;
0802FF68 8809     ldrh    r1,[r1]                                 ;
0802FF6A 8011     strh    r1,[r2]                                 ;
0802FF6C 6823     ldr     r3,[r4]                                 ;
0802FF6E 7919     ldrb    r1,[r3,4h]                              ;
0802FF70 2210     mov     r2,10h                                  ;
0802FF72 4311     orr     r1,r2                                   ;
0802FF74 7119     strb    r1,[r3,4h]                              ;
0802FF76 6823     ldr     r3,[r4]                                 ;
0802FF78 791A     ldrb    r2,[r3,4h]                              ;
0802FF7A 2102     mov     r1,2h                                   ;
0802FF7C 4249     neg     r1,r1                                   ;
0802FF7E 4011     and     r1,r2                                   ;
0802FF80 7119     strb    r1,[r3,4h]                              ;
0802FF82 6823     ldr     r3,[r4]                                 ;
0802FF84 791A     ldrb    r2,[r3,4h]                              ;
0802FF86 2103     mov     r1,3h                                   ;
0802FF88 4249     neg     r1,r1                                   ;
0802FF8A 4011     and     r1,r2                                   ;
0802FF8C 7119     strb    r1,[r3,4h]                              ;
0802FF8E 6825     ldr     r5,[r4]                                 ;
0802FF90 6801     ldr     r1,[r0]                                 ;
0802FF92 7909     ldrb    r1,[r1,4h]                              ;
0802FF94 2204     mov     r2,4h                                   ;
0802FF96 400A     and     r2,r1                                   ;
0802FF98 792B     ldrb    r3,[r5,4h]                              ;
0802FF9A 2105     mov     r1,5h                                   ;
0802FF9C 4249     neg     r1,r1                                   ;
0802FF9E 4019     and     r1,r3                                   ;
0802FFA0 4311     orr     r1,r2                                   ;
0802FFA2 7129     strb    r1,[r5,4h]                              ;
0802FFA4 6822     ldr     r2,[r4]                                 ;
0802FFA6 2102     mov     r1,2h                                   ;
0802FFA8 70D1     strb    r1,[r2,3h]                              ;
0802FFAA 6822     ldr     r2,[r4]                                 ;
0802FFAC 6801     ldr     r1,[r0]                                 ;
0802FFAE 7889     ldrb    r1,[r1,2h]                              ;
0802FFB0 7091     strb    r1,[r2,2h]                              ;
0802FFB2 6823     ldr     r3,[r4]                                 ;
0802FFB4 791A     ldrb    r2,[r3,4h]                              ;
0802FFB6 2121     mov     r1,21h                                  ;
0802FFB8 4249     neg     r1,r1                                   ;
0802FFBA 4011     and     r1,r2                                   ;
0802FFBC 7119     strb    r1,[r3,4h]                              ;
0802FFBE 6800     ldr     r0,[r0]                                 ;
0802FFC0 F7F4FCA6 bl      8024910h                                ;
0802FFC4 4B0F     ldr     r3,=2023270h                            ;
0802FFC6 4A10     ldr     r2,=2023480h                            ;
0802FFC8 7891     ldrb    r1,[r2,2h]                              ;
0802FFCA 0088     lsl     r0,r1,2h                                ;
0802FFCC 1840     add     r0,r0,r1                                ;
0802FFCE 78D2     ldrb    r2,[r2,3h]                              ;
0802FFD0 1880     add     r0,r0,r2                                ;
0802FFD2 0080     lsl     r0,r0,2h                                ;
0802FFD4 18C0     add     r0,r0,r3                                ;
0802FFD6 6800     ldr     r0,[r0]                                 ;
0802FFD8 2100     mov     r1,0h                                   ;
0802FFDA F7F8FE91 bl      8028D00h                                ;
0802FFDE 480B     ldr     r0,=2020C38h                            ;
0802FFE0 7800     ldrb    r0,[r0]                                 ;
0802FFE2 2800     cmp     r0,0h                                   ;
0802FFE4 D109     bne     802FFFAh                                ;
0802FFE6 2041     mov     r0,41h                                  ;
0802FFE8 F7F2FAAA bl      8022540h                                ;
0802FFEC 20C4     mov     r0,0C4h                                 ;
0802FFEE 0080     lsl     r0,r0,2h                                ;r0 = 784 ; Change of Heart
0802FFF0 F7F5FC56 bl      80258A0h                                ;
0802FFF4 2055     mov     r0,55h                                  ;
0802FFF6 F7F2FAA3 bl      8022540h                                ;
0802FFFA BC70     pop     r4-r6                                   ;
0802FFFC BC01     pop     r0                                      ;
0802FFFE 4700     bx      r0                                      ;

Black Illusion Ritual

08030012 4D1D     ldr     r5,=2023298h                            ;Black Illusion Ritual
08030014 4E1D     ldr     r6,=8D542F0h                            ;
08030016 1C34     mov     r4,r6                                   ;
08030018 34C8     add     r4,0C8h                                 ;
0803001A 8821     ldrh    r1,[r4]                                 ;
0803001C 1C28     mov     r0,r5                                   ;
0803001E F7F7FB5D bl      80276DCh                                ;
08030022 2801     cmp     r0,1h                                   ;
08030024 D12C     bne     8030080h                                ;
08030026 8821     ldrh    r1,[r4]                                 ;
08030028 1C28     mov     r0,r5                                   ;
0803002A F7F7FB6B bl      8027704h                                ;
0803002E 1C04     mov     r4,r0                                   ;
08030030 0624     lsl     r4,r4,18h                               ;
08030032 0E24     lsr     r4,r4,18h                               ;
08030034 1C2B     mov     r3,r5                                   ;
08030036 3B28     sub     r3,28h                                  ;
08030038 4A15     ldr     r2,=2023480h                            ;
0803003A 7891     ldrb    r1,[r2,2h]                              ;
0803003C 0088     lsl     r0,r1,2h                                ;
0803003E 1840     add     r0,r0,r1                                ;
08030040 78D2     ldrb    r2,[r2,3h]                              ;
08030042 1880     add     r0,r0,r2                                ;
08030044 0080     lsl     r0,r0,2h                                ;
08030046 18C0     add     r0,r0,r3                                ;
08030048 6800     ldr     r0,[r0]                                 ;
0803004A 2100     mov     r1,0h                                   ;
0803004C F7F8FE58 bl      8028D00h                                ;
08030050 00A4     lsl     r4,r4,2h                                ;
08030052 1964     add     r4,r4,r5                                ;
08030054 6820     ldr     r0,[r4]                                 ;
08030056 1C34     mov     r4,r6                                   ;
08030058 34CA     add     r4,0CAh                                 ;
0803005A 8821     ldrh    r1,[r4]                                 ;
0803005C F000FB30 bl      80306C0h                                ;
08030060 F7F8FE86 bl      8028D70h                                ;
08030064 480B     ldr     r0,=2020C38h                            ;
08030066 7800     ldrb    r0,[r0]                                 ;
08030068 2800     cmp     r0,0h                                   ;
0803006A D109     bne     8030080h                                ;
0803006C 2041     mov     r0,41h                                  ;
0803006E F7F2FA67 bl      8022540h                                ;
08030072 4809     ldr     r0,=30Fh                                ;r0 = 783 ; Black Illusion Ritual
08030074 8821     ldrh    r1,[r4]                                 ;
08030076 F7F5FC13 bl      80258A0h                                ;
0803007A 2053     mov     r0,53h                                  ;
0803007C F7F2FA60 bl      8022540h                                ;
08030080 BC70     pop     r4-r6                                   ;
08030082 BC01     pop     r0                                      ;
08030084 4700     bx      r0                                      ;

? (likely removed)

0803009C 4770     bx      r14                                     ;

Brain Control

080300A2 4D33     ldr     r5,=2023298h                            ;Brain Control
080300A4 1C28     mov     r0,r5                                   ;
080300A6 F7F7F925 bl      80272F4h                                ;
080300AA 2800     cmp     r0,0h                                   ;
080300AC D043     beq     8030136h                                ;
080300AE 1C2E     mov     r6,r5                                   ;
080300B0 3E14     sub     r6,14h                                  ;
080300B2 1C30     mov     r0,r6                                   ;
080300B4 F7F7F926 bl      8027304h                                ;
080300B8 2805     cmp     r0,5h                                   ;
080300BA D03C     beq     8030136h                                ;
080300BC 1C28     mov     r0,r5                                   ;
080300BE F7F7F9AB bl      8027418h                                ;
080300C2 1C04     mov     r4,r0                                   ;
080300C4 0624     lsl     r4,r4,18h                               ;
080300C6 0E24     lsr     r4,r4,18h                               ;
080300C8 1C30     mov     r0,r6                                   ;
080300CA F7F7FA29 bl      8027520h                                ;
080300CE 0600     lsl     r0,r0,18h                               ;
080300D0 00A4     lsl     r4,r4,2h                                ;
080300D2 1964     add     r4,r4,r5                                ;
080300D4 6822     ldr     r2,[r4]                                 ;
080300D6 0D80     lsr     r0,r0,16h                               ;
080300D8 1980     add     r0,r0,r6                                ;
080300DA 6801     ldr     r1,[r0]                                 ;
080300DC 8809     ldrh    r1,[r1]                                 ;
080300DE 8011     strh    r1,[r2]                                 ;
080300E0 6823     ldr     r3,[r4]                                 ;
080300E2 7919     ldrb    r1,[r3,4h]                              ;
080300E4 2210     mov     r2,10h                                  ;
080300E6 4311     orr     r1,r2                                   ;
080300E8 7119     strb    r1,[r3,4h]                              ;
080300EA 6823     ldr     r3,[r4]                                 ;
080300EC 791A     ldrb    r2,[r3,4h]                              ;
080300EE 2102     mov     r1,2h                                   ;
080300F0 4249     neg     r1,r1                                   ;
080300F2 4011     and     r1,r2                                   ;
080300F4 7119     strb    r1,[r3,4h]                              ;
080300F6 6823     ldr     r3,[r4]                                 ;
080300F8 791A     ldrb    r2,[r3,4h]                              ;
080300FA 2103     mov     r1,3h                                   ;
080300FC 4249     neg     r1,r1                                   ;
080300FE 4011     and     r1,r2                                   ;
08030100 7119     strb    r1,[r3,4h]                              ;
08030102 6825     ldr     r5,[r4]                                 ;
08030104 6801     ldr     r1,[r0]                                 ;
08030106 7909     ldrb    r1,[r1,4h]                              ;
08030108 2204     mov     r2,4h                                   ;
0803010A 400A     and     r2,r1                                   ;
0803010C 792B     ldrb    r3,[r5,4h]                              ;
0803010E 2105     mov     r1,5h                                   ;
08030110 4249     neg     r1,r1                                   ;
08030112 4019     and     r1,r3                                   ;
08030114 4311     orr     r1,r2                                   ;
08030116 7129     strb    r1,[r5,4h]                              ;
08030118 6822     ldr     r2,[r4]                                 ;
0803011A 2102     mov     r1,2h                                   ;
0803011C 70D1     strb    r1,[r2,3h]                              ;
0803011E 6822     ldr     r2,[r4]                                 ;
08030120 6801     ldr     r1,[r0]                                 ;
08030122 7889     ldrb    r1,[r1,2h]                              ;
08030124 7091     strb    r1,[r2,2h]                              ;
08030126 6823     ldr     r3,[r4]                                 ;
08030128 7919     ldrb    r1,[r3,4h]                              ;
0803012A 2220     mov     r2,20h                                  ;
0803012C 4311     orr     r1,r2                                   ;
0803012E 7119     strb    r1,[r3,4h]                              ;
08030130 6800     ldr     r0,[r0]                                 ;
08030132 F7F4FBED bl      8024910h                                ;
08030136 4B0F     ldr     r3,=2023270h                            ;
08030138 4A0F     ldr     r2,=2023480h                            ;
0803013A 7891     ldrb    r1,[r2,2h]                              ;
0803013C 0088     lsl     r0,r1,2h                                ;
0803013E 1840     add     r0,r0,r1                                ;
08030140 78D2     ldrb    r2,[r2,3h]                              ;
08030142 1880     add     r0,r0,r2                                ;
08030144 0080     lsl     r0,r0,2h                                ;
08030146 18C0     add     r0,r0,r3                                ;
08030148 6800     ldr     r0,[r0]                                 ;
0803014A 2100     mov     r1,0h                                   ;
0803014C F7F8FDD8 bl      8028D00h                                ;
08030150 480A     ldr     r0,=2020C38h                            ;
08030152 7800     ldrb    r0,[r0]                                 ;
08030154 2800     cmp     r0,0h                                   ;
08030156 D108     bne     803016Ah                                ;
08030158 2041     mov     r0,41h                                  ;
0803015A F7F2F9F1 bl      8022540h                                ;
0803015E 4808     ldr     r0,=30Dh                                ;r0 = 781 ; Brain Control
08030160 F7F5FB9E bl      80258A0h                                ;
08030164 2055     mov     r0,55h                                  ;
08030166 F7F2F9EB bl      8022540h                                ;
0803016A BC70     pop     r4-r6                                   ;
0803016C BC01     pop     r0                                      ;
0803016E 4700     bx      r0                                      ;

Monster Reborn

08030184 B530     push    r4,r5,r14                               ;Monster Reborn
08030186 4D2B     ldr     r5,=2023298h                            ;
08030188 1C28     mov     r0,r5                                   ;
0803018A F7F7F8B3 bl      80272F4h                                ;
0803018E 2800     cmp     r0,0h                                   ;
08030190 D032     beq     80301F8h                                ;
08030192 1C28     mov     r0,r5                                   ;
08030194 F7F7F940 bl      8027418h                                ;
08030198 0600     lsl     r0,r0,18h                               ;
0803019A 0E04     lsr     r4,r0,18h                               ;
0803019C 2001     mov     r0,1h                                   ;
0803019E F7F8FDDB bl      8028D58h                                ;
080301A2 0400     lsl     r0,r0,10h                               ;
080301A4 0C01     lsr     r1,r0,10h                               ;
080301A6 2900     cmp     r1,0h                                   ;
080301A8 D026     beq     80301F8h                                ;
080301AA 00A2     lsl     r2,r4,2h                                ;
080301AC 1952     add     r2,r2,r5                                ;
080301AE 6810     ldr     r0,[r2]                                 ;
080301B0 2400     mov     r4,0h                                   ;
080301B2 8001     strh    r1,[r0]                                 ;
080301B4 6813     ldr     r3,[r2]                                 ;
080301B6 7918     ldrb    r0,[r3,4h]                              ;
080301B8 2110     mov     r1,10h                                  ;
080301BA 4308     orr     r0,r1                                   ;
080301BC 7118     strb    r0,[r3,4h]                              ;
080301BE 6813     ldr     r3,[r2]                                 ;
080301C0 7919     ldrb    r1,[r3,4h]                              ;
080301C2 2002     mov     r0,2h                                   ;
080301C4 4240     neg     r0,r0                                   ;
080301C6 4008     and     r0,r1                                   ;
080301C8 7118     strb    r0,[r3,4h]                              ;
080301CA 6813     ldr     r3,[r2]                                 ;
080301CC 7919     ldrb    r1,[r3,4h]                              ;
080301CE 2003     mov     r0,3h                                   ;
080301D0 4240     neg     r0,r0                                   ;
080301D2 4008     and     r0,r1                                   ;
080301D4 7118     strb    r0,[r3,4h]                              ;
080301D6 6813     ldr     r3,[r2]                                 ;
080301D8 7919     ldrb    r1,[r3,4h]                              ;
080301DA 2005     mov     r0,5h                                   ;
080301DC 4240     neg     r0,r0                                   ;
080301DE 4008     and     r0,r1                                   ;
080301E0 7118     strb    r0,[r3,4h]                              ;
080301E2 6811     ldr     r1,[r2]                                 ;
080301E4 2002     mov     r0,2h                                   ;
080301E6 70C8     strb    r0,[r1,3h]                              ;
080301E8 6810     ldr     r0,[r2]                                 ;
080301EA 7084     strb    r4,[r0,2h]                              ;
080301EC 6812     ldr     r2,[r2]                                 ;
080301EE 7911     ldrb    r1,[r2,4h]                              ;
080301F0 2021     mov     r0,21h                                  ;
080301F2 4240     neg     r0,r0                                   ;
080301F4 4008     and     r0,r1                                   ;
080301F6 7110     strb    r0,[r2,4h]                              ;
080301F8 4B0F     ldr     r3,=2023270h                            ;
080301FA 4A10     ldr     r2,=2023480h                            ;
080301FC 7891     ldrb    r1,[r2,2h]                              ;
080301FE 0088     lsl     r0,r1,2h                                ;
08030200 1840     add     r0,r0,r1                                ;
08030202 78D2     ldrb    r2,[r2,3h]                              ;
08030204 1880     add     r0,r0,r2                                ;
08030206 0080     lsl     r0,r0,2h                                ;
08030208 18C0     add     r0,r0,r3                                ;
0803020A 6800     ldr     r0,[r0]                                 ;
0803020C 2100     mov     r1,0h                                   ;
0803020E F7F8FD77 bl      8028D00h                                ;
08030212 480B     ldr     r0,=2020C38h                            ;
08030214 7800     ldrb    r0,[r0]                                 ;
08030216 2800     cmp     r0,0h                                   ;
08030218 D108     bne     803022Ch                                ;
0803021A 2041     mov     r0,41h                                  ;
0803021C F7F2F990 bl      8022540h                                ;
08030220 4808     ldr     r0,=37Fh                                ;r0 = 895 ; Monster Reborn
08030222 F7F5FB3D bl      80258A0h                                ;
08030226 2054     mov     r0,54h                                  ;
08030228 F7F2F98A bl      8022540h                                ;
0803022C BC30     pop     r4,r5                                   ;
0803022E BC01     pop     r0                                      ;
08030230 4700     bx      r0                                      ;

? (likely removed)

08030248 4770     bx      r14                                     ;

7 Completed

0803024C B530     push    r4,r5,r14                               ;7 Completed
0803024E 4D25     ldr     r5,=2023270h                            ;
08030250 4C25     ldr     r4,=2023480h                            ;
08030252 78A1     ldrb    r1,[r4,2h]                              ;
08030254 0088     lsl     r0,r1,2h                                ;
08030256 1840     add     r0,r0,r1                                ;
08030258 78E1     ldrb    r1,[r4,3h]                              ;
0803025A 1840     add     r0,r0,r1                                ;
0803025C 0080     lsl     r0,r0,2h                                ;
0803025E 1940     add     r0,r0,r5                                ;
08030260 6800     ldr     r0,[r0]                                 ;
08030262 8800     ldrh    r0,[r0]                                 ;
08030264 F004FCBE bl      8034BE4h                                ;
08030268 2801     cmp     r0,1h                                   ;
0803026A D150     bne     803030Eh                                ;
0803026C 4A1F     ldr     r2,=20237D0h                            ;
0803026E 7920     ldrb    r0,[r4,4h]                              ;
08030270 7090     strb    r0,[r2,2h]                              ;
08030272 7960     ldrb    r0,[r4,5h]                              ;
08030274 70D0     strb    r0,[r2,3h]                              ;
08030276 7921     ldrb    r1,[r4,4h]                              ;
08030278 0088     lsl     r0,r1,2h                                ;
0803027A 1840     add     r0,r0,r1                                ;
0803027C 7961     ldrb    r1,[r4,5h]                              ;
0803027E 1840     add     r0,r0,r1                                ;
08030280 0080     lsl     r0,r0,2h                                ;
08030282 1940     add     r0,r0,r5                                ;
08030284 6800     ldr     r0,[r0]                                 ;
08030286 8800     ldrh    r0,[r0]                                 ;
08030288 8010     strh    r0,[r2]                                 ;
0803028A F006F9E1 bl      8036650h                                ;
0803028E 2801     cmp     r0,1h                                   ;
08030290 D103     bne     803029Ah                                ;
08030292 4817     ldr     r0,=2020C38h                            ;
08030294 7800     ldrb    r0,[r0]                                 ;
08030296 2800     cmp     r0,0h                                   ;
08030298 D02C     beq     80302F4h                                ;
0803029A 78A1     ldrb    r1,[r4,2h]                              ;
0803029C 0088     lsl     r0,r1,2h                                ;
0803029E 1840     add     r0,r0,r1                                ;
080302A0 78E1     ldrb    r1,[r4,3h]                              ;
080302A2 1840     add     r0,r0,r1                                ;
080302A4 0080     lsl     r0,r0,2h                                ;
080302A6 1940     add     r0,r0,r5                                ;
080302A8 6800     ldr     r0,[r0]                                 ;
080302AA F7F4FD1B bl      8024CE4h                                ;
080302AE 7921     ldrb    r1,[r4,4h]                              ;
080302B0 0088     lsl     r0,r1,2h                                ;
080302B2 1840     add     r0,r0,r1                                ;
080302B4 7964     ldrb    r4,[r4,5h]                              ;
080302B6 1900     add     r0,r0,r4                                ;
080302B8 0080     lsl     r0,r0,2h                                ;
080302BA 1940     add     r0,r0,r5                                ;
080302BC 6800     ldr     r0,[r0]                                 ;
080302BE 2100     mov     r1,0h                                   ;
080302C0 F7F8FD1E bl      8028D00h                                ;
080302C4 480A     ldr     r0,=2020C38h                            ;
080302C6 7800     ldrb    r0,[r0]                                 ;
080302C8 2800     cmp     r0,0h                                   ;
080302CA D127     bne     803031Ch                                ;
080302CC 2041     mov     r0,41h                                  ;
080302CE F7F2F937 bl      8022540h                                ;
080302D2 20E1     mov     r0,0E1h                                 ;
080302D4 0080     lsl     r0,r0,2h                                ;r0 = 900 ; 7 Completed
080302D6 F7F5FAE3 bl      80258A0h                                ;
080302DA 2049     mov     r0,49h                                  ;
080302DC F7F2F930 bl      8022540h                                ;
080302E0 E01C     b       803031Ch                                ;
080302E2 0000     lsl     r0,r0,0h                                ;
080302E4 3270     add     r2,70h                                  ;
080302E6 0202     lsl     r2,r0,8h                                ;
080302E8 3480     add     r4,80h                                  ;
080302EA 0202     lsl     r2,r0,8h                                ;
080302EC 37D0     add     r7,0D0h                                 ;
080302EE 0202     lsl     r2,r0,8h                                ;
080302F0 0C38     lsr     r0,r7,10h                               ;
080302F2 0202     lsl     r2,r0,8h                                ;
080302F4 78A0     ldrb    r0,[r4,2h]                              ;
080302F6 0081     lsl     r1,r0,2h                                ;
080302F8 1809     add     r1,r1,r0                                ;
080302FA 78E4     ldrb    r4,[r4,3h]                              ;
080302FC 1909     add     r1,r1,r4                                ;
080302FE 0089     lsl     r1,r1,2h                                ;
08030300 1949     add     r1,r1,r5                                ;
08030302 6808     ldr     r0,[r1]                                 ;
08030304 F7F4FCF8 bl      8024CF8h                                ;
08030308 F006F92A bl      8036560h                                ;
0803030C E006     b       803031Ch                                ;
0803030E 4805     ldr     r0,=2020C38h                            ;
08030310 7800     ldrb    r0,[r0]                                 ;
08030312 2800     cmp     r0,0h                                   ;
08030314 D102     bne     803031Ch                                ;
08030316 2039     mov     r0,39h                                  ;
08030318 F7F2F912 bl      8022540h                                ;
0803031C BC30     pop     r4,r5                                   ;
0803031E BC01     pop     r0                                      ;
08030320 4700     bx      r0                                      ;

Beckon to Darkness

08030328 B510     push    r4,r14                                  ;Beckon to Darkness
0803032A 4C17     ldr     r4,=2023284h                            ;
0803032C 1C20     mov     r0,r4                                   ;
0803032E F7F6FFE9 bl      8027304h                                ;check if current_card_id is a God card ID, then ?
08030332 2805     cmp     r0,5h                                   ;
08030334 D009     beq     803034Ah                                ;if(r0 == 5), skip to 0x803034A
08030336 1C20     mov     r0,r4                                   ;r0 = r4
08030338 F7F7F8F2 bl      8027520h                                ;call 0x27520
0803033C 0600     lsl     r0,r0,18h                               ;
0803033E 0D80     lsr     r0,r0,16h                               ;
08030340 1900     add     r0,r0,r4                                ;
08030342 6800     ldr     r0,[r0]                                 ;r0 = pointer_to_current_cpu_monster_card_id
08030344 2101     mov     r1,1h                                   ;r1 = 1
08030346 F7F8FCDB bl      8028D00h                                ;call 0x28D00
0803034A 1C23     mov     r3,r4                                   ;
0803034C 3B14     sub     r3,14h                                  ;
0803034E 4A0F     ldr     r2,=2023480h                            ;r2 = 0x2023480
08030350 7891     ldrb    r1,[r2,2h]                              ;
08030352 0088     lsl     r0,r1,2h                                ;
08030354 1840     add     r0,r0,r1                                ;
08030356 78D2     ldrb    r2,[r2,3h]                              ;
08030358 1880     add     r0,r0,r2                                ;
0803035A 0080     lsl     r0,r0,2h                                ;
0803035C 18C0     add     r0,r0,r3                                ;
0803035E 6800     ldr     r0,[r0]                                 ;
08030360 2100     mov     r1,0h                                   ;
08030362 F7F8FCCD bl      8028D00h                                ;call 0x28D00
08030366 480A     ldr     r0,=2020C38h                            ;
08030368 7800     ldrb    r0,[r0]                                 ;r0 = [0x2020C38]
0803036A 2800     cmp     r0,0h                                   ;
0803036C D108     bne     8030380h                                ;if (r0 ≠ 0), skip to 0x8030380
0803036E 2041     mov     r0,41h                                  ;r0 = 0x41 ; 0d65
08030370 F7F2F8E6 bl      8022540h                                ;call 0x22540
08030374 4807     ldr     r0,=382h                                ;r0 = 898 ; Beckon to Darkness
08030376 F7F5FA93 bl      80258A0h                                ;call 0x258A0 - Display text box
0803037A 204C     mov     r0,4Ch                                  ;r0 = 0x4C ; 0d76
0803037C F7F2F8E0 bl      8022540h                                ;call 0x22540
08030380 BC10     pop     r4                                      ;
08030382 BC01     pop     r0                                      ;
08030384 4700     bx      r0                                      ;

? (likely removed)

08030398 4770     bx      r14                                     ;

Gravedigger Ghoul

0803039E 2000     mov     r0,0h                                   ;Gravedigger Ghoul
080303A0 F7F8FCCE bl      8028D40h                                ;
080303A4 2001     mov     r0,1h                                   ;
080303A6 F7F8FCCB bl      8028D40h                                ;
080303AA 4B0E     ldr     r3,=2023270h                            ;
080303AC 4A0E     ldr     r2,=2023480h                            ;
080303AE 7891     ldrb    r1,[r2,2h]                              ;
080303B0 0088     lsl     r0,r1,2h                                ;
080303B2 1840     add     r0,r0,r1                                ;
080303B4 78D2     ldrb    r2,[r2,3h]                              ;
080303B6 1880     add     r0,r0,r2                                ;
080303B8 0080     lsl     r0,r0,2h                                ;
080303BA 18C0     add     r0,r0,r3                                ;
080303BC 6800     ldr     r0,[r0]                                 ;
080303BE 2100     mov     r1,0h                                   ;
080303C0 F7F8FC9E bl      8028D00h                                ;
080303C4 4809     ldr     r0,=2020C38h                            ;
080303C6 7800     ldrb    r0,[r0]                                 ;
080303C8 2800     cmp     r0,0h                                   ;
080303CA D109     bne     80303E0h                                ;
080303CC 2041     mov     r0,41h                                  ;
080303CE F7F2F8B7 bl      8022540h                                ;
080303D2 20E0     mov     r0,0E0h                                 ;
080303D4 0080     lsl     r0,r0,2h                                ;r0 = 896 ; Gravedigger Ghoul
080303D6 F7F5FA63 bl      80258A0h                                ;
080303DA 204C     mov     r0,4Ch                                  ;
080303DC F7F2F8B0 bl      8022540h                                ;
080303E0 BC01     pop     r0                                      ;
080303E2 4700     bx      r0                                      ;

Heavy Storm

080303F2 4647     mov     r7,r8                                   ;Heavy Storm
080303F4 B480     push    r7                                      ;
080303F6 2600     mov     r6,0h                                   ;
080303F8 4827     ldr     r0,=2023270h                            ;
080303FA 4680     mov     r8,r0                                   ;
080303FC 2500     mov     r5,0h                                   ;
080303FE 00B0     lsl     r0,r6,2h                                ;
08030400 1980     add     r0,r0,r6                                ;
08030402 0087     lsl     r7,r0,2h                                ;
08030404 00A8     lsl     r0,r5,2h                                ;
08030406 19C0     add     r0,r0,r7                                ;
08030408 4641     mov     r1,r8                                   ;
0803040A 1844     add     r4,r0,r1                                ;
0803040C 6820     ldr     r0,[r4]                                 ;
0803040E 8800     ldrh    r0,[r0]                                 ;
08030410 F7E8FFAC bl      801936Ch                                ;
08030414 2800     cmp     r0,0h                                   ;
08030416 D103     bne     8030420h                                ;
08030418 6820     ldr     r0,[r4]                                 ;
0803041A 2101     mov     r1,1h                                   ;
0803041C F7F8FC70 bl      8028D00h                                ;
08030420 1C68     add     r0,r5,1                                 ;
08030422 0600     lsl     r0,r0,18h                               ;
08030424 0E05     lsr     r5,r0,18h                               ;
08030426 2D04     cmp     r5,4h                                   ;
08030428 D9EC     bls     8030404h                                ;
0803042A 1C70     add     r0,r6,1                                 ;
0803042C 0600     lsl     r0,r0,18h                               ;
0803042E 0E06     lsr     r6,r0,18h                               ;
08030430 2E01     cmp     r6,1h                                   ;
08030432 D9E3     bls     80303FCh                                ;
08030434 2602     mov     r6,2h                                   ;
08030436 4818     ldr     r0,=2023270h                            ;
08030438 4680     mov     r8,r0                                   ;
0803043A 2500     mov     r5,0h                                   ;
0803043C 00B0     lsl     r0,r6,2h                                ;
0803043E 1C77     add     r7,r6,1                                 ;
08030440 1980     add     r0,r0,r6                                ;
08030442 0086     lsl     r6,r0,2h                                ;
08030444 00A8     lsl     r0,r5,2h                                ;
08030446 1980     add     r0,r0,r6                                ;
08030448 4641     mov     r1,r8                                   ;
0803044A 1844     add     r4,r0,r1                                ;
0803044C 6820     ldr     r0,[r4]                                 ;
0803044E 8800     ldrh    r0,[r0]                                 ;
08030450 F7E8FF8C bl      801936Ch                                ;
08030454 2800     cmp     r0,0h                                   ;
08030456 D103     bne     8030460h                                ;
08030458 6820     ldr     r0,[r4]                                 ;
0803045A 2100     mov     r1,0h                                   ;
0803045C F7F8FC50 bl      8028D00h                                ;
08030460 1C68     add     r0,r5,1                                 ;
08030462 0600     lsl     r0,r0,18h                               ;
08030464 0E05     lsr     r5,r0,18h                               ;
08030466 2D04     cmp     r5,4h                                   ;
08030468 D9EC     bls     8030444h                                ;
0803046A 0638     lsl     r0,r7,18h                               ;
0803046C 0E06     lsr     r6,r0,18h                               ;
0803046E 2E03     cmp     r6,3h                                   ;
08030470 D9E3     bls     803043Ah                                ;
08030472 480A     ldr     r0,=2020C38h                            ;
08030474 7800     ldrb    r0,[r0]                                 ;
08030476 2800     cmp     r0,0h                                   ;
08030478 D108     bne     803048Ch                                ;
0803047A 2041     mov     r0,41h                                  ;
0803047C F7F2F860 bl      8022540h                                ;
08030480 4807     ldr     r0,=37Eh                                ;r0 = 894 ; Heavy Storm
08030482 F7F5FA0D bl      80258A0h                                ;
08030486 204B     mov     r0,4Bh                                  ;
08030488 F7F2F85A bl      8022540h                                ;
0803048C BC08     pop     r3                                      ;
0803048E 4698     mov     r8,r3                                   ;
08030490 BCF0     pop     r4-r7                                   ;
08030492 BC01     pop     r0                                      ;
08030494 4700     bx      r0                                      ;

Final Destiny

080304A6 4647     mov     r7,r8                                   ;Final Destiny
080304A8 B480     push    r7                                      ;
080304AA 2600     mov     r6,0h                                   ;
080304AC 4838     ldr     r0,=2023270h                            ;
080304AE 4680     mov     r8,r0                                   ;
080304B0 2500     mov     r5,0h                                   ;
080304B2 00B0     lsl     r0,r6,2h                                ;
080304B4 1980     add     r0,r0,r6                                ;
080304B6 0087     lsl     r7,r0,2h                                ;
080304B8 00A8     lsl     r0,r5,2h                                ;
080304BA 19C0     add     r0,r0,r7                                ;
080304BC 4641     mov     r1,r8                                   ;
080304BE 1844     add     r4,r0,r1                                ;
080304C0 6820     ldr     r0,[r4]                                 ;
080304C2 8800     ldrh    r0,[r0]                                 ;
080304C4 F7E8FF52 bl      801936Ch                                ;
080304C8 2800     cmp     r0,0h                                   ;
080304CA D103     bne     80304D4h                                ;
080304CC 6820     ldr     r0,[r4]                                 ;
080304CE 2101     mov     r1,1h                                   ;
080304D0 F7F8FC16 bl      8028D00h                                ;
080304D4 1C68     add     r0,r5,1                                 ;
080304D6 0600     lsl     r0,r0,18h                               ;
080304D8 0E05     lsr     r5,r0,18h                               ;
080304DA 2D04     cmp     r5,4h                                   ;
080304DC D9EC     bls     80304B8h                                ;
080304DE 1C70     add     r0,r6,1                                 ;
080304E0 0600     lsl     r0,r0,18h                               ;
080304E2 0E06     lsr     r6,r0,18h                               ;
080304E4 2E01     cmp     r6,1h                                   ;
080304E6 D9E3     bls     80304B0h                                ;
080304E8 2602     mov     r6,2h                                   ;
080304EA 4829     ldr     r0,=2023270h                            ;
080304EC 4680     mov     r8,r0                                   ;
080304EE 2500     mov     r5,0h                                   ;
080304F0 00B0     lsl     r0,r6,2h                                ;
080304F2 1C77     add     r7,r6,1                                 ;
080304F4 1980     add     r0,r0,r6                                ;
080304F6 0086     lsl     r6,r0,2h                                ;
080304F8 00A8     lsl     r0,r5,2h                                ;
080304FA 1980     add     r0,r0,r6                                ;
080304FC 4641     mov     r1,r8                                   ;
080304FE 1844     add     r4,r0,r1                                ;
08030500 6820     ldr     r0,[r4]                                 ;
08030502 8800     ldrh    r0,[r0]                                 ;
08030504 F7E8FF32 bl      801936Ch                                ;
08030508 2800     cmp     r0,0h                                   ;
0803050A D103     bne     8030514h                                ;
0803050C 6820     ldr     r0,[r4]                                 ;
0803050E 2100     mov     r1,0h                                   ;
08030510 F7F8FBF6 bl      8028D00h                                ;
08030514 1C68     add     r0,r5,1                                 ;
08030516 0600     lsl     r0,r0,18h                               ;
08030518 0E05     lsr     r5,r0,18h                               ;
0803051A 2D04     cmp     r5,4h                                   ;
0803051C D9EC     bls     80304F8h                                ;
0803051E 0638     lsl     r0,r7,18h                               ;
08030520 0E06     lsr     r6,r0,18h                               ;
08030522 2E03     cmp     r6,3h                                   ;
08030524 D9E3     bls     80304EEh                                ;
08030526 2500     mov     r5,0h                                   ;
08030528 4F1A     ldr     r7,=2023350h                            ;
0803052A 2014     mov     r0,14h                                  ;
0803052C 19C0     add     r0,r0,r7                                ;
0803052E 4680     mov     r8,r0                                   ;
08030530 00AE     lsl     r6,r5,2h                                ;
08030532 19F4     add     r4,r6,r7                                ;
08030534 6820     ldr     r0,[r4]                                 ;
08030536 8800     ldrh    r0,[r0]                                 ;
08030538 F7E8FF18 bl      801936Ch                                ;
0803053C 2800     cmp     r0,0h                                   ;
0803053E D103     bne     8030548h                                ;
08030540 6820     ldr     r0,[r4]                                 ;
08030542 2100     mov     r1,0h                                   ;
08030544 F7F8FBDC bl      8028D00h                                ;
08030548 4641     mov     r1,r8                                   ;
0803054A 1874     add     r4,r6,r1                                ;
0803054C 6820     ldr     r0,[r4]                                 ;
0803054E 8800     ldrh    r0,[r0]                                 ;
08030550 F7E8FF0C bl      801936Ch                                ;
08030554 2800     cmp     r0,0h                                   ;
08030556 D103     bne     8030560h                                ;
08030558 6820     ldr     r0,[r4]                                 ;
0803055A 2101     mov     r1,1h                                   ;
0803055C F7F8FBD0 bl      8028D00h                                ;
08030560 1C68     add     r0,r5,1                                 ;
08030562 0600     lsl     r0,r0,18h                               ;
08030564 0E05     lsr     r5,r0,18h                               ;
08030566 2D04     cmp     r5,4h                                   ;
08030568 D9E2     bls     8030530h                                ;
0803056A 480B     ldr     r0,=2020C38h                            ;
0803056C 7800     ldrb    r0,[r0]                                 ;
0803056E 2800     cmp     r0,0h                                   ;
08030570 D108     bne     8030584h                                ;
08030572 2041     mov     r0,41h                                  ;
08030574 F7F1FFE4 bl      8022540h                                ;
08030578 4808     ldr     r0,=37Dh                                ;r0 = 893 ; Final Destiny
0803057A F7F5F991 bl      80258A0h                                ;
0803057E 204B     mov     r0,4Bh                                  ;
08030580 F7F1FFDE bl      8022540h                                ;
08030584 BC08     pop     r3                                      ;
08030586 4698     mov     r8,r3                                   ;
08030588 BCF0     pop     r4-r7                                   ;
0803058A BC01     pop     r0                                      ;
0803058C 4700     bx      r0                                      ;

Messenger of Peace

080305A2 4647     mov     r7,r8                                   ;Messenger of Peace
080305A4 B480     push    r7                                      ;
080305A6 2500     mov     r5,0h                                   ;
080305A8 4820     ldr     r0,=2023284h                            ;
080305AA 4680     mov     r8,r0                                   ;
080305AC 4F20     ldr     r7,=5DBh                                ;r7 = 1499 (to freeze all monsters with 1500 ATK or more)
080305AE 4E21     ldr     r6,=2023250h                            ;
080305B0 00A8     lsl     r0,r5,2h                                ;
080305B2 4641     mov     r1,r8                                   ;
080305B4 1844     add     r4,r0,r1                                ;
080305B6 6821     ldr     r1,[r4]                                 ;
080305B8 8808     ldrh    r0,[r1]                                 ;
080305BA 2800     cmp     r0,0h                                   ;
080305BC D012     beq     80305E4h                                ;
080305BE 7830     ldrb    r0,[r6]                                 ;
080305C0 7889     ldrb    r1,[r1,2h]                              ;
080305C2 0609     lsl     r1,r1,18h                               ;
080305C4 1609     asr     r1,r1,18h                               ;
080305C6 F7D6FB67 bl      8006C98h                                ;
080305CA 6820     ldr     r0,[r4]                                 ;
080305CC 8800     ldrh    r0,[r0]                                 ;
080305CE F7D6FBD5 bl      8006D7Ch                                ;
080305D2 4819     ldr     r0,=2020B00h                            ;
080305D4 8A40     ldrh    r0,[r0,12h]                             ;
080305D6 42B8     cmp     r0,r7                                   ;
080305D8 D904     bls     80305E4h                                ;
080305DA 6820     ldr     r0,[r4]                                 ;
080305DC 7901     ldrb    r1,[r0,4h]                              ;
080305DE 2201     mov     r2,1h                                   ;
080305E0 4311     orr     r1,r2                                   ;
080305E2 7101     strb    r1,[r0,4h]                              ;
080305E4 1C68     add     r0,r5,1                                 ;
080305E6 0600     lsl     r0,r0,18h                               ;
080305E8 0E05     lsr     r5,r0,18h                               ;
080305EA 2D04     cmp     r5,4h                                   ;
080305EC D9E0     bls     80305B0h                                ;
080305EE 4B13     ldr     r3,=2023270h                            ;
080305F0 4A13     ldr     r2,=2023480h                            ;
080305F2 7891     ldrb    r1,[r2,2h]                              ;
080305F4 0088     lsl     r0,r1,2h                                ;
080305F6 1840     add     r0,r0,r1                                ;
080305F8 78D2     ldrb    r2,[r2,3h]                              ;
080305FA 1880     add     r0,r0,r2                                ;
080305FC 0080     lsl     r0,r0,2h                                ;
080305FE 18C0     add     r0,r0,r3                                ;
08030600 6800     ldr     r0,[r0]                                 ;
08030602 2100     mov     r1,0h                                   ;
08030604 F7F8FB7C bl      8028D00h                                ;
08030608 480E     ldr     r0,=2020C38h                            ;
0803060A 7800     ldrb    r0,[r0]                                 ;
0803060C 2800     cmp     r0,0h                                   ;
0803060E D108     bne     8030622h                                ;
08030610 2041     mov     r0,41h                                  ;
08030612 F7F1FF95 bl      8022540h                                ;
08030616 480C     ldr     r0,=37Bh                                ;r0 = 891 ; Messenger of Peace
08030618 F7F5F942 bl      80258A0h                                ;
0803061C 2050     mov     r0,50h                                  ;
0803061E F7F1FF8F bl      8022540h                                ;
08030622 BC08     pop     r3                                      ;
08030624 4698     mov     r8,r3                                   ;
08030626 BCF0     pop     r4-r7                                   ;
08030628 BC01     pop     r0                                      ;
0803062A 4700     bx      r0                                      ;

Darkness Approaches

0803064E 2300     mov     r3,0h                                   ;Darkness Approaches
08030650 4F18     ldr     r7,=2023270h                            ;
08030652 4E19     ldr     r6,=2023480h                            ;
08030654 1C3C     mov     r4,r7                                   ;
08030656 3428     add     r4,28h                                  ;
08030658 2511     mov     r5,11h                                  ;
0803065A 426D     neg     r5,r5                                   ;
0803065C 0098     lsl     r0,r3,2h                                ;
0803065E 1900     add     r0,r0,r4                                ;
08030660 6802     ldr     r2,[r0]                                 ;
08030662 8810     ldrh    r0,[r2]                                 ;
08030664 2800     cmp     r0,0h                                   ;
08030666 D003     beq     8030670h                                ;
08030668 7911     ldrb    r1,[r2,4h]                              ;
0803066A 1C28     mov     r0,r5                                   ;
0803066C 4008     and     r0,r1                                   ;
0803066E 7110     strb    r0,[r2,4h]                              ;
08030670 1C58     add     r0,r3,1                                 ;
08030672 0600     lsl     r0,r0,18h                               ;
08030674 0E03     lsr     r3,r0,18h                               ;
08030676 2B04     cmp     r3,4h                                   ;
08030678 D9F0     bls     803065Ch                                ;
0803067A 78B1     ldrb    r1,[r6,2h]                              ;
0803067C 0088     lsl     r0,r1,2h                                ;
0803067E 1840     add     r0,r0,r1                                ;
08030680 78F6     ldrb    r6,[r6,3h]                              ;
08030682 1980     add     r0,r0,r6                                ;
08030684 0080     lsl     r0,r0,2h                                ;
08030686 19C0     add     r0,r0,r7                                ;
08030688 6800     ldr     r0,[r0]                                 ;
0803068A 2100     mov     r1,0h                                   ;
0803068C F7F8FB38 bl      8028D00h                                ;
08030690 480A     ldr     r0,=2020C38h                            ;
08030692 7800     ldrb    r0,[r0]                                 ;
08030694 2800     cmp     r0,0h                                   ;
08030696 D109     bne     80306ACh                                ;
08030698 2041     mov     r0,41h                                  ;
0803069A F7F1FF51 bl      8022540h                                ;
0803069E 20DF     mov     r0,0DFh                                 ;
080306A0 0080     lsl     r0,r0,2h                                ;r0 = 892 ; Darkness Approaches
080306A2 F7F5F8FD bl      80258A0h                                ;
080306A6 203C     mov     r0,3Ch                                  ;
080306A8 F7F1FF4A bl      8022540h                                ;
080306AC BCF0     pop     r4-r7                                   ;
080306AE BC01     pop     r0                                      ;
080306B0 4700     bx      r0                                      ;

? (likely removed)

080306EA 0000     lsl     r0,r0,0h                                ;
080306EC 4770     bx      r14                                     ;

? (likely removed)

080306EE 0000     lsl     r0,r0,0h                                ;
080306F0 4770     bx      r14                                     ;

? (likely removed)

080306F2 0000     lsl     r0,r0,0h                                ;
080306F4 4770     bx      r14                                     ;

? (likely removed)

080306F6 0000     lsl     r0,r0,0h                                ;
080306F8 4770     bx      r14                                     ;

? (likely removed)

080306FA 0000     lsl     r0,r0,0h                                ;
080306FC 4770     bx      r14                                     ;

?

080306FE 0000     lsl     r0,r0,0h                                ;
08030700 4B02     ldr     r3,=2023490h                            ;r3 = 0x2023490
08030702 8018     strh    r0,[r3]                                 ;r0 = [0x2023490]
08030704 8059     strh    r1,[r3,2h]                              ;r1 = [0x2023492]
08030706 809A     strh    r2,[r3,4h]                              ;r2 = [0x2023494]
08030708 4770     bx      r14                                     ;

0x37380 - Load byte at RAM 0x20237D8

08037380 4801     ldr     r0,=20237D8h                            ;
08037382 7800     ldrb    r0,[r0]                                 ;
08037384 4770     bx      r14                                     ;

swi 0x0B, call to BIOS function CPUSet

  • 0x37390 : u16 memory copy
08037390 DF0B     swi     0Bh     ;Software interrupt, call to BIOS function CPUSet
08037392 4770     bx      r14     ;branch to r14

branch to r0

08039888 4700     bx      r0                                      ;branch to r0

Cards data

Card Costs

  • 0x895D8 - 0x8A3EB : Card Costs, on 4 bytes each

Monster Attributes

  • 0x8A3ED - 0x8A770 : Monster Attributes

Monster Levels

  • 0x8A772 - 0x8AAF5 : Monster Levels

Cards limitations

  • 0xB53F8 - 0xB540D : Limited cards
  • 0xB5410 : Semi-Limited Card

CPU Decks (I will put a complete list on another page, I won't add more data here)

0xF09F4 : Yugi Muto

11 00 12 00 13 00 14 00 18 00 18 00 18 00 09 00
09 00 09 00 08 00 08 00 08 00 10 00 10 00 10 00
56 02 56 02 56 02 CF 00 CF 00 CF 00 1D 02 1D 02
1D 02 0C 02 0C 02 82 00 82 00 82 00 C0 00 C0 00
C0 00 AC 01 AC 01 AC 01 3A 00 11 03 23 00 D2 02

1× #035 Dark Magician

1× #017 Right Leg of the Forbidden One
1× #018 Left Leg of the Forbidden One
1× #019 Right Arm of the Forbidden One
1× #020 Left Arm of the Forbidden One
3× #008 Mushroom Man
3× #598 Little Chimera
3× #207 Droll Bird
3× #130 Weather Control
2× #524 Star Boy
3× #009 Shadow Specter
3× #016 Time Wizard
3× #541 Hane-Hane
3× #192 Key Mace
3× #428 Magician of Faith
3× #024 Skull Servant
1× #058 Kuriboh
1× #722 Dark Magic Ritual
1× #785 Multiply

0xF0A44 : Yami Yugi

F6 02 11 00 12 00 13 00 14 00 3A 00 02 00 15 00
59 00 07 00 29 00 E2 02 ED 02 0A 00 1F 00 EB 02
52 03 3C 00 F5 02 C8 02 27 00 F8 02 EE 02 0A 03
26 00 16 00 23 00 25 00 2B 03 41 03 7A 03 3A 01
3F 01 5C 01 5D 01 9E 02 D2 02 0D 03 11 03 7F 03

1× #021 Exodia the Forbidden One
1× #017 Right Leg of the Forbidden One
1× #018 Left Leg of the Forbidden One
1× #019 Right Arm of the Forbidden One
1× #020 Left Arm of the Forbidden One

AB 01 4C 01 95 02 7F 03 0E 03 AE 02 5B 02 5B 02
5B 02 31 02 31 02 31 02 2B 02 2B 02 2F 01 3B 01
22 00 22 00 22 00 05 00 05 00 05 00 03 00 03 00
03 00 4D 00 4D 00 4D 00 5B 00 5B 00 5B 00 17 00
17 00 17 00 5A 00 5A 00 77 03 77 03 77 03 62 03

8F 01 8F 01 8F 01 D5 01 D5 01 D5 01 7B 02 7B 02
7B 02 B6 00 B6 00 B6 00 B9 00 B9 00 B9 00 8A 01
8A 01 8A 01 9B 01 9B 01 9B 01 9A 01 9A 01 9A 01
A6 01 A6 01 A6 01 A4 01 A4 01 A4 01 10 00 10 00
10 00 A7 00 A7 00 2E 02 2E 02 69 03 75 03 92 02

73 00 73 00 73 00 00 01 00 01 00 01 1C 01 1C 01
1C 01 2F 01 2F 01 37 01 37 01 50 01 51 01 56 01
5C 01 76 01 42 02 42 02 42 02 91 02 A0 02 A0 02
AE 02 B2 02 BD 02 BF 02 C1 02 C4 02 CC 02 CF 02
D0 02 DB 02 DE 02 0D 03 10 03 42 03 7F 03 81 03

30 03 30 03 38 03 38 03 A5 00 A5 00 60 02 60 02
6D 00 6D 00 2B 01 2B 01 5B 02 5B 02 25 01 25 01
22 01 22 01 64 02 64 02 1B 01 1B 01 78 00 78 00
78 00 82 02 82 02 82 02 1A 01 1A 01 1A 01 AF 02
B0 02 B1 02 66 03 46 02 46 02 C7 02 C7 02 40 03

CF 00 CF 00 CF 00 2C 01 2C 01 2C 01 1D 02 1D 02
1D 02 56 02 56 02 56 02 C8 00 C8 00 C8 00 7A 00
7A 00 7A 00 8B 01 8B 01 8B 01 7B 02 7B 02 7B 02
AC 01 AC 01 AC 01 00 03 00 03 00 03 84 02 84 02
84 02 3C 01 3D 01 3E 01 A0 02 66 03 3E 00 82 01

0xF0C24 : Ryou Bakura

09 00 09 00 09 00 08 03 08 03 08 03 69 00 69 00
69 00 C5 00 C5 00 C5 00 A6 01 A6 01 A6 01 33 02
33 02 33 02 89 00 89 00 89 00 F2 00 F2 00 F2 00
37 03 37 03 37 03 CA 00 CA 00 CA 00 2E 02 2E 02
24 02 24 02 47 02 48 02 49 02 4A 02 4B 02 2C 03

0xF0C74 : Odion

33 00 33 00 33 00 76 02 76 02 76 02 36 02 36 02
36 02 C6 01 C6 01 C6 01 C8 01 C8 01 C8 01 6F 02
6F 02 6F 02 C9 01 C9 01 C9 01 40 02 40 02 40 02
40 01 15 03 DB 02 0E 03 AE 02 46 01 46 01 44 01
44 01 5C 03 5C 03 5C 03 6A 03 6A 03 6A 03 42 03

3A 00 3A 00 3A 00 C0 00 C0 00 C0 00 CA 00 CA 00
8B 01 8B 01 8B 01 8F 01 8F 01 A0 02 AC 01 AC 01
AC 01 DB 01 DB 01 DB 01 E8 01 E8 01 0F 02 0F 02
0F 02 23 02 23 02 23 02 7B 02 7B 02 7B 02 00 03
00 03 00 03 82 00 82 00 82 00 E6 01 E6 01 E6 01

11 00 12 00 13 00 14 00 18 00 18 00 18 00 3A 00
3A 00 3A 00 89 01 89 01 89 01 8A 01 8A 01 8A 01
8B 01 8B 01 8B 01 8F 01 8F 01 8F 01 DB 01 DB 01
DB 01 F3 01 F3 01 F3 01 0F 02 0F 02 0F 02 DA 02
DA 02 DA 02 DD 02 DD 02 DD 02 00 03 00 03 00 03

1× #017 Right Leg of the Forbidden One
1× #018 Left Leg of the Forbidden One
1× #019 Right Arm of the Forbidden One
1× #020 Left Arm of the Forbidden One

0xF0D64 : Lumis

66 00 66 00 66 00 B6 00 B6 00 B6 00 F1 00 F1 00
F1 00 31 02 31 02 31 02 31 02 37 02 37 02 37 02
62 01 62 01 62 01 84 00 84 00 84 00 80 01 80 01
80 01 F6 00 F6 00 F6 00 44 02 44 02 44 02 88 02
88 02 7F 03 4F 01 50 01 B5 02 55 03 70 03 72 03

3× #102 Mask of Darkness
3× #182 Masked Clown

0xF0DB4 : Lumis

66 00 66 00 66 00 B6 00 B6 00 B6 00 17 01 17 01
17 01 BE 00 BE 00 BE 00 B2 00 B2 00 B2 00 AF 00
AF 00 AF 00 0B 01 0B 01 0B 01 35 03 35 03 35 03
12 02 12 02 12 02 0F 01 0F 01 0F 01 FD 00 FD 00
FD 00 7F 03 4F 01 50 01 B5 02 23 03 71 03 56 03

3× #102 Mask of Darkness
3× #182 Masked Clown

Strings

DE 00 DE 00 DE 00 F5 00 F5 00 F5 00 EA 01 EA 01
EA 01 F0 00 F0 00 F0 00 63 02 63 02 63 02 E8 00
E8 00 E8 00 F2 00 F2 00 F2 00 8C 00 8C 00 8C 00
5D 02 5D 02 5D 02 CD 00 CD 00 CD 00 CE 00 CE 00
CE 00 21 01 21 01 21 01 2A 03 27 03 29 03 41 03

1× #833 Slifer the Sky Dragon

3× #140 Toad Master

Rare Hunter

DA 02 DA 02 DA 02 DD 02 DD 02 DD 02 89 01 89 01
89 01 8F 01 8F 01 8F 01 92 01 92 01 92 01 18 00
18 00 18 00 8E 01 8E 01 7B 02 7B 02 7B 02 A7 00
A7 00 A7 00 11 00 12 00 13 00 14 00 11 00 12 00
13 00 14 00 11 00 12 00 13 00 14 00 15 00 EF 02

1× #021 Exodia the Forbidden One
3× #017 Right Leg of the Forbidden One
3× #018 Left Leg of the Forbidden One
3× #019 Right Arm of the Forbidden One
3× #020 Left Arm of the Forbidden One

61 03 F7 02 68 00 68 00 68 00 33 02 33 02 33 02
B6 00 B6 00 B6 00 83 01 83 01 83 01 92 01 92 01
92 01 08 03 08 03 08 03 89 00 89 00 89 00 37 03
37 03 37 03 2E 02 2E 02 2E 02 F2 00 F2 00 F2 00
B2 02 58 01 53 01 AF 02 AF 02 B0 02 B0 02 B2 02

6C 03 6C 03 6C 03 BF 00 BF 00 BF 00 D3 00 D3 00
D3 00 F0 02 8A 01 8A 01 8A 01 9B 01 9B 01 9B 01
A6 01 A6 01 A6 01 16 03 16 03 16 03 00 03 00 03
00 03 1D 02 1D 02 1D 02 AC 01 AC 01 AC 01 89 01
89 01 89 01 8F 01 8F 01 8F 01 F3 01 F3 01 F3 01

F3 01 F3 01 F3 01 8D 01 8D 01 8D 01 F5 01 F5 01
F5 01 32 00 32 00 32 00 E5 01 E5 01 E5 01 61 02
61 02 61 02 FA 01 FA 01 FA 01 D1 00 D1 00 D1 00
4D 02 4D 02 4D 02 E8 01 E8 01 E8 01 8E 01 8E 01
8E 01 FE 02 FA 02 FB 02 16 01 4A 01 B2 02 83 03

52 00 0B 00 A7 00 A7 00 A7 00 ED 00 ED 00 ED 00
04 02 04 02 04 02 69 00 69 00 69 00 8F 01 8F 01
8F 01 7B 02 7B 02 7B 02 B9 00 B9 00 B9 00 74 00
74 00 74 00 8A 01 8A 01 8A 01 9A 01 9A 01 9A 01
B2 02 B2 02 AF 02 B0 02 52 01 52 01 B2 02 52 01

39 02 39 02 39 02 CD 00 CD 00 CD 00 F7 00 F7 00
F7 00 F3 00 F3 00 F3 00 C3 00 C3 00 C3 00 5E 02
5E 02 5E 02 58 03 58 03 58 03 4E 02 4E 02 4E 02
09 01 09 01 09 01 18 02 18 02 5A 02 5A 02 4E 01
43 03 43 03 43 03 BC 02 B9 01 49 00 48 03 81 03

09 00 09 00 09 00 18 00 18 00 18 00 2E 02 2E 02
2E 02 9B 01 9B 01 9B 01 7B 00 7B 00 7B 00 F8 01
F8 01 F8 01 08 03 08 03 08 03 C5 00 C5 00 C5 00
CB 00 CB 00 CB 00 24 02 24 02 24 02 63 00 DD 02
DD 02 DD 02 CA 00 CA 00 CA 00 A6 01 A6 01 A6 01

73 00 73 00 73 00 00 01 00 01 00 01 1C 01 1C 01
1C 01 2F 01 2F 01 2F 01 37 01 37 01 37 01 50 01
51 01 56 01 5B 01 5C 01 27 02 42 02 42 02 42 02
91 02 A0 02 A0 02 A0 02 DB 02 DE 02 0B 03 0C 03
0D 03 10 03 24 03 2C 03 57 03 5B 03 7F 03 81 03

F1 02 F1 02 F1 02 1D 00 1D 00 1D 00 64 00 64 00
64 00 1C 00 1C 00 1C 00 3D 00 3D 00 3D 00 65 00
65 00 65 00 D2 00 D2 00 D2 00 59 03 59 03 59 03
57 01 58 01 59 01 5A 01 5B 01 57 01 58 01 59 01
5A 01 5B 01 46 03 0F 00 10 00 04 00 8B 02 8E 02

0xF1124 : Yami Marik

0B 02 0B 02 0B 02 5D 03 5D 03 5D 03 6D 03 6D 03
6D 03 DE 02 DE 02 DE 02 1A 03 1A 03 1C 03 1C 03
1E 03 1E 03 79 01 79 01 79 01 4F 01 7F 03 7F 03
A0 02 A0 02 0E 03 81 03 BB 02 92 00 64 03 64 03
64 03 6E 03 6E 03 6E 03 63 03 63 03 63 03 42 03

Tristan Taylor

DA 02 DA 02 DA 02 DD 02 DD 02 DD 02 00 03 00 03
00 03 89 01 89 01 89 01 8F 01 8F 01 8F 01 F3 01
F3 01 F3 01 DB 01 DB 01 DB 01 18 00 18 00 18 00
8B 01 8B 01 8B 01 8E 01 8E 01 8E 01 A6 01 8A 01
8A 01 8A 01 9B 01 9B 01 9B 01 9A 01 9A 01 9A 01

09 00 09 00 09 00 18 00 18 00 18 00 89 01 89 01
89 01 9B 01 9B 01 9B 01 7B 00 7B 00 7B 00 F8 01
F8 01 F8 01 08 03 08 03 08 03 C5 00 C5 00 C5 00
CA 00 CA 00 CA 00 24 02 24 02 24 02 8F 01 8F 01
8F 01 DD 02 DD 02 DD 02 89 00 8A 01 8A 01 8A 01

Generic Duelists

00 03 00 03 89 01 89 01 8F 01 8F 01 8A 01 8A 01
F3 01 F3 01 F3 01 18 00 18 00 18 00 8B 01 8B 01
8E 01 8E 01 DB 01 DB 01 0F 02 0F 02 D5 01 D5 01
D5 01 9B 01 9B 01 9B 01 E4 01 E4 01 7B 00 7B 00
AC 01 AC 01 23 02 23 02 7B 02 7B 02 A7 00 A7 00

6C 03 6C 03 6C 03 BF 00 BF 00 BF 00 D3 00 F3 01
F3 01 F3 01 8A 01 8A 01 8A 01 9B 01 9B 01 9B 01
A6 01 A6 01 A6 01 18 00 18 00 18 00 00 03 00 03
00 03 1D 02 1D 02 1D 02 AC 01 AC 01 AC 01 89 01
89 01 89 01 8F 01 8F 01 8F 01 8B 01 8B 01 8B 01

0xF12B4 : Duel Computer

CF 00 CF 00 CF 00 BF 00 BF 00 BF 00 C8 00 C8 00
C8 00 D3 00 D3 00 D3 00 19 02 19 02 19 02 2C 01
2C 01 2C 01 CF 01 CF 01 CF 01 62 02 62 02 62 02
7A 00 7A 00 7A 00 1A 02 1A 02 1A 02 2A 01 2A 01
2A 01 6C 03 6C 03 6C 03 53 01 53 01 E5 02 79 03

00 03 00 03 89 01 89 01 8F 01 8F 01 8A 01 8A 01
F3 01 F3 01 F3 01 18 00 18 00 18 00 8B 01 8B 01
8E 01 8E 01 DB 01 DB 01 0F 02 0F 02 D5 01 D5 01
D5 01 9B 01 9B 01 9B 01 E4 01 E4 01 7B 00 7B 00
AC 01 AC 01 23 02 23 02 7B 02 7B 02 A7 00 A7 00

F3 01 0F 02 8D 01 7B 00 23 02 E8 01 CA 00 1D 02
F5 01 4D 02 32 00 9F 00 E5 01 56 02 61 02 DC 01
FA 01 9D 00 D4 00 D1 00 F3 01 0F 02 8D 01 7B 00
23 02 E8 01 CA 00 1D 02 F5 01 4D 02 32 00 9F 00
E5 01 56 02 61 02 DC 01 FA 01 9D 00 D4 00 D1 00

FA 01 FA 01 FA 01 E5 01 E5 01 E5 01 F5 01 F5 01
F5 01 8D 01 8D 01 8D 01 56 02 56 02 56 02 4D 02
4D 02 4D 02 1D 02 1D 02 1D 02 CA 00 CA 00 CA 00
E8 01 E8 01 E8 01 23 02 23 02 23 02 7B 00 7B 00
7B 00 F3 01 F3 01 F3 01 D1 00 B2 02 83 03 FB 02

BF 00 BF 00 BF 00 56 02 56 02 56 02 D2 00 D2 00
D2 00 CF 00 CF 00 CF 00 B9 00 B9 00 B9 00 68 00
68 00 68 00 82 00 82 00 82 00 04 02 04 02 04 02
0C 02 0C 02 0C 02 59 03 59 03 59 03 33 02 33 02
33 02 E5 01 E5 01 E5 01 52 01 A9 02 B2 02 B2 02

5D 02 5D 02 5D 02 C7 00 C7 00 C7 00 CD 00 CD 00
CD 00 F3 00 F3 00 F3 00 CE 00 CE 00 CE 00 5E 02
5E 02 5E 02 58 03 58 03 58 03 09 01 09 01 09 01
5A 02 5A 02 5A 02 F7 01 F7 01 F7 01 C3 01 C3 01
C3 01 C4 01 C4 01 C4 01 A9 02 B2 02 53 01 58 01

F7 00 F7 00 F7 00 43 03 43 03 43 03 B4 01 B4 01
B4 01 BE 01 BE 01 BE 01 0E 01 0E 01 0E 01 5D 02
5D 02 5D 02 C7 00 C7 00 C7 00 CD 00 CD 00 CD 00
F3 00 F3 00 F3 00 39 02 39 02 39 02 4E 02 4E 02
4E 02 18 02 18 02 18 02 B0 02 B1 02 B2 02 AA 02

20 02 20 02 20 02 A1 01 A1 01 A1 01 A5 01 A5 01
A5 01 A4 01 A4 01 A4 01 A6 01 A6 01 A6 01 9A 01
9A 01 9A 01 1D 02 1D 02 1D 02 62 02 62 02 62 02
CF 01 CF 01 CF 01 19 02 19 02 19 02 D3 00 D3 00
D3 00 BF 00 BF 00 BF 00 EF 02 CC 01 53 01 58 01

08 00 08 00 08 00 4B 00 4B 00 4B 00 7B 00 7B 00
7B 00 9D 00 9D 00 9D 00 9E 00 9E 00 9E 00 EE 00
EE 00 EE 00 8A 01 8B 01 8B 01 8B 01 E8 01 E8 01
E8 01 F3 01 F3 01 F3 01 0F 02 0F 02 0F 02 23 02
23 02 23 02 43 02 43 02 43 02 4D 02 4D 02 4D 02

98 00 98 00 98 00 E3 00 E3 00 E3 00 1D 01 21 01
21 01 21 01 89 01 89 01 89 01 8E 01 8E 01 8E 01
B4 01 B4 01 B4 01 BC 01 BC 01 BC 01 C4 01 C4 01
C4 01 D5 01 D5 01 D5 01 DB 01 DB 01 DB 01 E4 01
E4 01 E4 01 0C 02 0C 02 0C 02 25 02 25 02 25 02

32 00 32 00 32 00 36 00 38 00 38 00 38 00 D1 00
D1 00 D1 00 31 01 4A 01 8D 01 8D 01 8D 01 DC 01
DC 01 DC 01 E5 01 E5 01 E5 01 F3 01 F3 01 F3 01
F5 01 F5 01 F5 01 FA 01 FA 01 FA 01 17 02 32 02
32 02 32 02 61 02 61 02 61 02 FB 02 FB 02 FB 02

32 00 32 00 32 00 36 00 38 00 38 00 38 00 D1 00
D1 00 D1 00 31 01 4A 01 8D 01 8D 01 8D 01 DC 01
DC 01 DC 01 E5 01 E5 01 E5 01 F3 01 F3 01 F3 01
F5 01 F5 01 F5 01 FA 01 FA 01 FA 01 17 02 32 02
32 02 32 02 61 02 61 02 61 02 FB 02 FB 02 FB 02

F1 00 37 02 62 01 84 00 80 01 F6 00 44 02 67 01
1B 02 DB 00 99 00 99 00 2A 01 2A 01 E2 00 E2 00
DA 00 DA 00 CE 00 CE 00 8B 00 8B 00 20 02 20 02
16 02 16 02 2C 02 2C 02 DE 00 DE 00 4F 01 50 01
11 00 12 00 13 00 14 00 15 00 95 01 95 01 1A 03

1× #021 Exodia the Forbidden One
1× #017 Right Leg of the Forbidden One
1× #018 Left Leg of the Forbidden One
1× #019 Right Arm of the Forbidden One
1× #020 Left Arm of the Forbidden One

65 00 69 00 76 00 82 00 8E 00 98 00 B3 00 B6 00
B9 00 BF 00 CA 00 CF 00 D2 00 D3 00 ED 00 0B 01
1E 01 52 01 A4 01 A6 01 BC 01 C4 01 CC 01 E5 01
FA 01 0C 02 10 02 12 02 1D 02 33 02 4D 02 4F 02
56 02 61 02 A9 02 B2 02 00 03 16 03 37 03 59 03

0xF1714 : Bandit Keith

79 01 9F 02 4F 01 E0 02 D4 02 84 01 0E 03 83 03
83 03 83 03 45 01 45 01 20 02 20 02 20 02 66 00
66 00 66 00 0F 01 0F 01 0F 01 96 01 96 01 96 01
44 02 44 02 44 02 9C 01 9C 01 9C 01 E0 02 D4 02
84 01 D3 02 87 01 E7 02 92 02 92 02 84 03 40 01

DB 01 DB 01 1D 01 1D 01 18 02 18 02 4E 02 4E 02
39 02 39 02 37 02 37 02 E9 01 E9 01 6C 02 6C 02
4C 02 4C 02 FE 01 FE 01 B4 00 B4 00 08 00 08 00
EE 00 EE 00 9E 00 9E 00 43 02 43 02 9D 00 9D 00
36 01 46 01 4B 00 4B 00 4B 00 4C 00 4C 00 4C 00
D5 01 D5 01 D5 01 33 03 33 03 33 03 A0 00 A0 00
A0 00 76 00 76 00 76 00 C3 00 C3 00 C3 00 A1 00
A1 00 A1 00 2A 02 2A 02 0C 00 0C 00 05 03 1D 00
1D 00 1D 00 D6 00 D6 00 64 00 64 00 64 00 AF 02
AF 02 B0 02 B0 02 B1 02 B1 02 A9 02 A9 02 4D 01

98 00 98 00 98 00 E3 00 E3 00 E3 00 21 01 21 01
21 01 4E 01 89 01 89 01 89 01 8E 01 8E 01 8E 01
BC 01 BC 01 BC 01 C3 01 C3 01 C3 01 C4 01 C4 01
C4 01 E4 01 E4 01 E4 01 F7 01 F7 01 F7 01 0C 02
0C 02 0C 02 25 02 25 02 25 02 5A 02 5A 02 5A 02

98 00 98 00 98 00 E3 00 E3 00 E3 00 21 01 21 01
21 01 4E 01 89 01 89 01 89 01 8E 01 8E 01 8E 01
BC 01 BC 01 BC 01 C3 01 C3 01 C3 01 C4 01 C4 01
C4 01 E4 01 E4 01 E4 01 F7 01 F7 01 F7 01 0C 02
0C 02 0C 02 25 02 25 02 25 02 5A 02 5A 02 5A 02

Strings (Unused ?)

B1 00 B1 00 B1 00 CD 00 CD 00 CD 00 F3 00 F3 00
F3 00 09 01 09 01 09 01 CF 01 CF 01 CF 01 5D 02
5D 02 5D 02 5E 02 5E 02 5E 02 62 02 62 02 62 02
27 03 27 03 27 03 28 03 28 03 28 03 29 03 29 03
29 03 2A 03 2A 03 2A 03 41 03 7C 03 7C 03 7C 03

1× #833 Slifer the Sky Dragon
3× #809 Humanoid Worm Drake

3× #810 Revival Jam
3× #808 Worm Drake
3× #605 Liquid Beast
3× #205 Dorover
3× #243 Water Element
3× #610 Electric Lizard
3× #606 Twin Long Rods #2
3× #807 Humanoid Slime
3× #177 Monsturtle
3× #463 Electric Snake
3× #265 The Furious Sea King

3× #892 Darkness Approaches

Pointers to cards effects functions

  • 0x104634 - Pointers to cards effects functions, used by function at 0x2BD2E
65 BD 02 08 - No effect
69 BD 02 08 - No effect
6D BD 02 08 - Forest, push r4,r14
71 BD 02 08 - Forest, no push r4,r14
D1 BD 02 08 - Wasteland
31 BE 02 08 - Mountain
91 BE 02 08 - Sogen
F1 BE 02 08 - Umi
51 BF 02 08 - Yami
B1 BF 02 08 - Mooyan Curry
65 C0 02 08 - Red Medicine
25 C1 02 08 - Goblin's Secret Remedy
E1 C1 02 08 - Soul of the Pure
A1 C2 02 08 - Dian Keto the Cure Master
61 C3 02 08 - Sparks
15 C4 02 08 - Hinotama
C9 C4 02 08 - Final Flame
7D C5 02 08 - Ookazi
39 C6 02 08 - Tremendous Fire
F9 C6 02 08 - Dark Hole
99 C7 02 08 - Raigeki
4D C8 02 08 - Legendary Sword
29 C9 02 08 - Sword of Dark Destruction
05 CA 02 08 - Dark Energy
E1 CA 02 08 - Axe of Despair
BD CB 02 08 - Laser Cannon Armor
99 CC 02 08 - Insect Armor with Laser Cannon
75 CD 02 08 - Elf's Light
51 CE 02 08 - Beast Fangs
2D CF 02 08 - Steel Shell
09 D0 02 08 - Vile Germs
E5 D0 02 08 - Black Pendant
C1 D1 02 08 - Silver Bow and Arrow
9D D2 02 08 - Horn of Light
79 D3 02 08 - Horn of the Unicorn
55 D4 02 08 - Dragon Treasure
31 D5 02 08 - Electro-Whip
0D D6 02 08 - Cyber Shield
E9 D6 02 08 - Mystical Moon
C5 D7 02 08 - Malevolent Nuzzler
A1 D8 02 08 - Violet Crystal
7D D9 02 08 - Book of Secret Arts
59 DA 02 08 - Invigoration
35 DB 02 08 - Machine Conversion Factory
11 DC 02 08 - Raise Body Heat
ED DC 02 08 - Follow Wind
C9 DD 02 08 - Power of Kaishin
A5 DE 02 08 - Stop Defense, push r4-r7,r14
A9 DE 02 08 - Stop Defense, no push r4-r7,r14
45 DF 02 08 - Dragon Capture Jar
CD DF 02 08 - Swords of Revealing Light
41 E0 02 08 - Dark-Piercing Light
B1 E0 02 08 - Spellbinding Circle
21 E1 02 08 - Elegant Egotist
E1 E1 02 08 - removed
E5 E1 02 08 - removed
E9 E1 02 08 - removed
ED E1 02 08 - removed
F1 E1 02 08 - removed
F5 E1 02 08 - removed
F9 E1 02 08 - removed
FD E1 02 08 - removed
01 E2 02 08 - removed
05 E2 02 08 - removed
09 E2 02 08 - removed
0D E2 02 08 - Black Luster Ritual
91 E2 02 08 - Zera Ritual
15 E3 02 08 - War-Lion Ritual
99 E3 02 08 - Beastly Mirror Ritual
1D E4 02 08 - Ultimate Dragon
D1 E5 02 08 - Commencement Dance
59 E6 02 08 - Hamburger Recipe
E5 E6 02 08 - Revival of Sennen Genjin
71 E7 02 08 - Novox's Prayer
FD E7 02 08 - Curse of Tri-Horned Dragon
85 E8 02 08 - Revived Serpent Night Dragon
11 E9 02 08 - Harpie's Feather Duster
75 E9 02 08 - Magical Labyrinth
51 EA 02 08 - Salamandra
2D EB 02 08 - Kunai with Chain
09 EC 02 08 - Bright Castle
E5 EC 02 08 - Crush Card
99 ED 02 08 - Shadow Spell
11 EE 02 08 - Turtle Oath
99 EE 02 08 - Contract of Mask
25 EF 02 08 - Resurrection of Chakra
B1 EF 02 08 - Puppet Ritual
3D F0 02 08 - Javelin Beetle Pact
C5 F0 02 08 - Garma Sword Oath
51 F1 02 08 - Cosmo Queen's Prayer
DD F1 02 08 - Revival of Dokurorider
69 F2 02 08 - Fortress Whale's Oath
F1 F2 02 08 - Curse of Millenium Shield
75 F3 02 08 - Yamadron Ritual
F9 F3 02 08 - Gate Guardian Ritual
D9 F4 02 08 - Warrior Elimination
65 F5 02 08 - Cursebreaker
DD F5 02 08 - Eternal Rest
59 F6 02 08 - Megamorph
35 F7 02 08 - Metalmorph
49 F8 02 08 - Winged Trumpeter
25 F9 02 08 - Stain Storm
AD F9 02 08 - Eradicating Aerosol
2D FA 02 08 - Breath of Light
AD FA 02 08 - Eternal Drought
29 FB 02 08 - The Inexperienced Spy
9D FB 02 08 - Dark Magic Ritual
5D FC 02 08 - Pot of Greed
B9 FC 02 08 - Restructer Revolution
39 FD 02 08 - Last Day of Witch
B9 FD 02 08 - Exile of the Wicked
39 FE 02 08 - Multiply
2D FF 02 08 - Change of Heart
11 00 03 08 - Black Illusion Ritual
9D 00 03 08 - removed
A1 00 03 08 - Brain Control
85 01 03 08 - Monster Reborn
49 02 03 08 - removed
4D 02 03 08 - 7 Completed
29 03 03 08 - Beckon to Darkness
99 03 03 08 - removed
9D 03 03 08 - Gravedigger Ghoul
F1 03 03 08 - Heavy Storm
A5 04 03 08 - Final Destiny
A1 05 03 08 - Messenger of Peace
4D 06 03 08 - Darkness Approaches
E9 06 03 08 - removed
ED 06 03 08 - removed
F1 06 03 08 - removed
F5 06 03 08 - removed
F9 06 03 08 - removed
FD 06 03 08 - ?

God cards IDs

  • 0xD54640-0xD54645 - Array of God cards IDs, used mainly with card effects to make the Gods impervious to some Magic and Trap cards
40 03 - Obelisk the Tormentor
41 03 - Slifer the Sky Dragon
42 03 - The Winged Dragon of Ra