.include "asm/macros.inc" .include "global.inc" .section .text .balign 4, 0 thumb_func_start MOD09_02211E60 MOD09_02211E60: ; 0x02211E60 push {r3, r4, r5, lr} add r5, r0, #0 ldrb r0, [r5, #0x11] cmp r0, #5 bls _02211E6E mov r0, #0 strb r0, [r5, #0x11] _02211E6E: ldr r0, _02211ED8 ; =MOD09_02211EEC ldr r1, _02211EDC ; =0x00002090 ldr r3, [r5, #0xc] mov r2, #0 bl FUN_020061E8 bl FUN_0201B6C8 ldr r2, _02211EDC ; =0x00002090 add r4, r0, #0 mov r1, #0 bl memset str r5, [r4] ldr r0, [r5, #8] bl MOD11_0222FF68 mov r1, #0x79 lsl r1, r1, #2 str r0, [r4, r1] ldr r0, [r5, #8] bl MOD11_022300CC mov r1, #0x7a lsl r1, r1, #2 str r0, [r4, r1] ldr r0, _02211EE0 ; =0x00002078 mov r1, #0 strb r1, [r4, r0] ldrb r1, [r5, #0x11] sub r0, r0, #2 strb r1, [r4, r0] ldr r0, [r5, #8] bl MOD11_02231238 ldr r3, _02211EE4 ; =0x00002077 lsl r0, r0, #0x18 lsr r0, r0, #0x18 lsl r0, r0, #0x1c ldrb r1, [r4, r3] mov r2, #0xf0 lsr r0, r0, #0x18 bic r1, r2 orr r0, r1 strb r0, [r4, r3] ldr r0, [r5, #8] ldr r1, [r5, #0x28] bl MOD11_02230260 ldr r1, _02211EE8 ; =0x0000208F strb r0, [r4, r1] pop {r3, r4, r5, pc} nop _02211ED8: .word MOD09_02211EEC _02211EDC: .word 0x00002090 _02211EE0: .word 0x00002078 _02211EE4: .word 0x00002077 _02211EE8: .word 0x0000208F thumb_func_start MOD09_02211EEC MOD09_02211EEC: ; 0x02211EEC push {r4, lr} ldr r2, _02212094 ; =0x00002078 add r4, r1, #0 ldrb r2, [r4, r2] cmp r2, #0x1a bls _02211EFA b _0221207C _02211EFA: add r2, r2, r2 add r2, pc ldrh r2, [r2, #6] lsl r2, r2, #0x10 asr r2, r2, #0x10 add pc, r2 _02211F06: ; jump table .short _02211F3C - _02211F06 - 2 ; case 0 .short _02211F48 - _02211F06 - 2 ; case 1 .short _02211F54 - _02211F06 - 2 ; case 2 .short _02211F60 - _02211F06 - 2 ; case 3 .short _02211F6C - _02211F06 - 2 ; case 4 .short _02211F78 - _02211F06 - 2 ; case 5 .short _02211F84 - _02211F06 - 2 ; case 6 .short _02211F90 - _02211F06 - 2 ; case 7 .short _02211F9C - _02211F06 - 2 ; case 8 .short _02211FA8 - _02211F06 - 2 ; case 9 .short _02211FB4 - _02211F06 - 2 ; case 10 .short _02211FC0 - _02211F06 - 2 ; case 11 .short _02211FCC - _02211F06 - 2 ; case 12 .short _02211FD8 - _02211F06 - 2 ; case 13 .short _02211FE4 - _02211F06 - 2 ; case 14 .short _02211FF0 - _02211F06 - 2 ; case 15 .short _02211FFC - _02211F06 - 2 ; case 16 .short _02212008 - _02211F06 - 2 ; case 17 .short _02212014 - _02211F06 - 2 ; case 18 .short _02212020 - _02211F06 - 2 ; case 19 .short _0221202C - _02211F06 - 2 ; case 20 .short _02212038 - _02211F06 - 2 ; case 21 .short _02212044 - _02211F06 - 2 ; case 22 .short _02212050 - _02211F06 - 2 ; case 23 .short _0221205C - _02211F06 - 2 ; case 24 .short _02212068 - _02211F06 - 2 ; case 25 .short _02212074 - _02211F06 - 2 ; case 26 _02211F3C: add r0, r4, #0 bl MOD09_0221209C ldr r1, _02212094 ; =0x00002078 strb r0, [r4, r1] b _0221207C _02211F48: add r0, r4, #0 bl MOD09_022121A0 ldr r1, _02212094 ; =0x00002078 strb r0, [r4, r1] b _0221207C _02211F54: add r0, r4, #0 bl MOD09_0221236C ldr r1, _02212094 ; =0x00002078 strb r0, [r4, r1] b _0221207C _02211F60: add r0, r4, #0 bl MOD09_0221241C ldr r1, _02212094 ; =0x00002078 strb r0, [r4, r1] b _0221207C _02211F6C: add r0, r4, #0 bl MOD09_022124DC ldr r1, _02212094 ; =0x00002078 strb r0, [r4, r1] b _0221207C _02211F78: add r0, r4, #0 bl MOD09_022125E0 ldr r1, _02212094 ; =0x00002078 strb r0, [r4, r1] b _0221207C _02211F84: add r0, r4, #0 bl MOD09_0221296C ldr r1, _02212094 ; =0x00002078 strb r0, [r4, r1] b _0221207C _02211F90: add r0, r4, #0 bl MOD09_02212978 ldr r1, _02212094 ; =0x00002078 strb r0, [r4, r1] b _0221207C _02211F9C: add r0, r4, #0 bl MOD09_02212984 ldr r1, _02212094 ; =0x00002078 strb r0, [r4, r1] b _0221207C _02211FA8: add r0, r4, #0 bl MOD09_02212990 ldr r1, _02212094 ; =0x00002078 strb r0, [r4, r1] b _0221207C _02211FB4: add r0, r4, #0 bl MOD09_0221299C ldr r1, _02212094 ; =0x00002078 strb r0, [r4, r1] b _0221207C _02211FC0: add r0, r4, #0 bl MOD09_022129A8 ldr r1, _02212094 ; =0x00002078 strb r0, [r4, r1] b _0221207C _02211FCC: add r0, r4, #0 bl MOD09_022129CC ldr r1, _02212094 ; =0x00002078 strb r0, [r4, r1] b _0221207C _02211FD8: add r0, r4, #0 bl MOD09_022129F8 ldr r1, _02212094 ; =0x00002078 strb r0, [r4, r1] b _0221207C _02211FE4: add r0, r4, #0 bl MOD09_02212A1C ldr r1, _02212094 ; =0x00002078 strb r0, [r4, r1] b _0221207C _02211FF0: add r0, r4, #0 bl MOD09_02212A5C ldr r1, _02212094 ; =0x00002078 strb r0, [r4, r1] b _0221207C _02211FFC: add r0, r4, #0 bl MOD09_02212A74 ldr r1, _02212094 ; =0x00002078 strb r0, [r4, r1] b _0221207C _02212008: add r0, r4, #0 bl MOD09_02212A88 ldr r1, _02212094 ; =0x00002078 strb r0, [r4, r1] b _0221207C _02212014: add r0, r4, #0 bl MOD09_02212AA4 ldr r1, _02212094 ; =0x00002078 strb r0, [r4, r1] b _0221207C _02212020: add r0, r4, #0 bl MOD09_02212658 ldr r1, _02212094 ; =0x00002078 strb r0, [r4, r1] b _0221207C _0221202C: add r0, r4, #0 bl MOD09_0221274C ldr r1, _02212094 ; =0x00002078 strb r0, [r4, r1] b _0221207C _02212038: add r0, r4, #0 bl MOD09_02212868 ldr r1, _02212094 ; =0x00002078 strb r0, [r4, r1] b _0221207C _02212044: add r0, r4, #0 bl MOD09_02212ACC ldr r1, _02212094 ; =0x00002078 strb r0, [r4, r1] b _0221207C _02212050: add r0, r4, #0 bl MOD09_02212AE4 ldr r1, _02212094 ; =0x00002078 strb r0, [r4, r1] b _0221207C _0221205C: add r0, r4, #0 bl MOD09_02212C8C ldr r1, _02212094 ; =0x00002078 strb r0, [r4, r1] b _0221207C _02212068: add r0, r4, #0 bl MOD09_02212DB8 ldr r1, _02212094 ; =0x00002078 strb r0, [r4, r1] b _0221207C _02212074: bl MOD09_02212DE4 cmp r0, #1 beq _02212090 _0221207C: add r0, r4, #0 bl MOD09_02217580 ldr r0, _02212098 ; =0x00001FB4 ldr r0, [r4, r0] bl FUN_0200BC1C add r0, r4, #0 bl MOD09_02218218 _02212090: pop {r4, pc} nop _02212094: .word 0x00002078 _02212098: .word 0x00001FB4 thumb_func_start MOD09_0221209C MOD09_0221209C: ; 0x0221209C push {r4, r5, lr} sub sp, #0xc add r5, r0, #0 ldr r0, _02212190 ; =0x04001050 mov r1, #0 strh r1, [r0] ldr r0, [r5] add r0, #0x35 ldrb r0, [r0] cmp r0, #3 ldr r0, _02212194 ; =0x0000207A bne _022120BC mov r1, #6 strb r1, [r5, r0] mov r4, #0x13 b _022120C0 _022120BC: strb r1, [r5, r0] mov r4, #1 _022120C0: ldr r0, [r5] ldr r0, [r0, #0xc] bl MOD09_0221AC04 ldr r1, _02212198 ; =0x00002088 str r0, [r5, r1] add r0, r5, #0 bl MOD09_022131C8 add r0, r5, #0 bl MOD09_02212E4C add r0, r5, #0 bl MOD09_02212F8C add r0, r5, #0 bl MOD09_02213138 ldr r1, [r5] mov r0, #2 ldr r1, [r1, #0xc] bl FUN_02002C50 ldr r1, _02212194 ; =0x0000207A add r0, r5, #0 ldrb r1, [r5, r1] bl MOD09_02213968 ldr r1, _02212194 ; =0x0000207A add r0, r5, #0 ldrb r1, [r5, r1] bl MOD09_022182E8 ldr r1, _02212194 ; =0x0000207A add r0, r5, #0 ldrb r1, [r5, r1] bl MOD09_02218640 add r0, r5, #0 bl MOD09_02216734 ldr r1, _02212194 ; =0x0000207A add r0, r5, #0 ldrb r1, [r5, r1] bl MOD09_02216D80 add r0, r5, #0 bl MOD09_02213CB8 ldr r1, _02212194 ; =0x0000207A add r0, r5, #0 ldrb r1, [r5, r1] bl MOD09_02213E28 ldr r0, [r5] add r0, #0x32 ldrb r0, [r0] cmp r0, #0 beq _02212140 ldr r0, _02212198 ; =0x00002088 mov r1, #1 ldr r0, [r5, r0] bl MOD09_0221AC2C _02212140: ldr r0, _02212194 ; =0x0000207A ldrb r0, [r5, r0] cmp r0, #0 bne _0221215A add r0, r5, #0 mov r1, #0 bl MOD09_02213BDC cmp r0, #1 bne _0221215A ldr r0, [r5] mov r1, #1 strb r1, [r0, #0x11] _0221215A: ldr r1, _02212194 ; =0x0000207A add r0, r5, #0 ldrb r1, [r5, r1] bl MOD09_02217838 ldr r1, _02212194 ; =0x0000207A add r0, r5, #0 ldrb r1, [r5, r1] bl MOD09_02213710 mov r0, #0x10 str r0, [sp] mov r0, #0 str r0, [sp, #4] str r0, [sp, #8] mov r0, #0x7a lsl r0, r0, #2 mov r1, #0xa add r3, r1, #0 ldr r0, [r5, r0] ldr r2, _0221219C ; =0x0000FFFF sub r3, #0x12 bl FUN_02003210 add r0, r4, #0 add sp, #0xc pop {r4, r5, pc} .align 2, 0 _02212190: .word 0x04001050 _02212194: .word 0x0000207A _02212198: .word 0x00002088 _0221219C: .word 0x0000FFFF thumb_func_start MOD09_022121A0 MOD09_022121A0: ; 0x022121A0 push {r4, lr} add r4, r0, #0 mov r0, #0x7a lsl r0, r0, #2 ldr r0, [r4, r0] bl FUN_020038E4 cmp r0, #0 beq _022121B6 mov r0, #1 pop {r4, pc} _022121B6: add r0, r4, #0 bl MOD09_0221347C cmp r0, #1 bne _0221220E ldr r1, [r4] ldrb r0, [r1, #0x11] cmp r0, #6 bne _022121E2 add r1, #0x35 ldrb r0, [r1] cmp r0, #1 beq _0221220E ldr r0, _02212214 ; =0x000005DD bl PlaySE add r0, r4, #0 mov r1, #6 bl MOD09_022181C8 mov r0, #0x19 pop {r4, pc} _022121E2: ldr r0, _02212214 ; =0x000005DD bl PlaySE ldr r1, [r4] add r0, r4, #0 ldrb r1, [r1, #0x11] bl MOD09_022181C8 ldr r0, [r4] add r0, #0x35 ldrb r0, [r0] cmp r0, #2 bne _02212204 add r0, r4, #0 bl MOD09_0221221C pop {r4, pc} _02212204: ldr r0, _02212218 ; =0x00002079 mov r1, #7 strb r1, [r4, r0] mov r0, #0x16 pop {r4, pc} _0221220E: mov r0, #1 pop {r4, pc} nop _02212214: .word 0x000005DD _02212218: .word 0x00002079 thumb_func_start MOD09_0221221C MOD09_0221221C: ; 0x0221221C push {r3, r4, r5, lr} add r5, r0, #0 ldr r4, [r5] ldrb r1, [r4, #0x11] cmp r1, #0 bne _0221222E ldr r0, [r4, #0x18] cmp r0, #0 bne _02212238 _0221222E: cmp r1, #1 bne _02212254 ldr r0, [r4, #0x1c] cmp r0, #0 beq _02212254 _02212238: add r0, r5, #0 bl MOD09_022166D0 add r0, r5, #0 bl MOD09_02216314 ldr r0, [r5] mov r1, #6 strb r1, [r0, #0x11] ldr r0, _02212360 ; =0x00002079 mov r1, #0x19 strb r1, [r5, r0] mov r0, #0x11 pop {r3, r4, r5, pc} _02212254: ldrh r0, [r4, #0x22] ldr r2, [r4, #0xc] mov r1, #0x24 bl GetItemAttr cmp r0, #0 beq _0221228A ldrh r0, [r4, #0x22] ldr r2, [r4, #0xc] mov r1, #0x25 bl GetItemAttr cmp r0, #0 bne _0221228A ldrb r1, [r4, #0x11] mov r0, #0x50 mul r0, r1 add r0, r5, r0 ldrb r0, [r0, #0x1b] lsl r0, r0, #0x18 lsr r0, r0, #0x1f bne _0221228A ldr r0, _02212360 ; =0x00002079 mov r1, #0xd strb r1, [r5, r0] mov r0, #0x16 pop {r3, r4, r5, pc} _0221228A: ldrh r0, [r4, #0x22] mov r3, #0 str r0, [sp] ldrb r2, [r4, #0x11] ldr r0, [r4, #8] ldr r1, [r4, #0x28] add r2, r4, r2 add r2, #0x2c ldrb r2, [r2] bl MOD11_02230370 cmp r0, #1 bne _0221233A ldrh r0, [r4, #0x22] ldr r2, [r4, #0xc] mov r1, #0x25 bl GetItemAttr cmp r0, #0 beq _022122BA ldr r0, _02212360 ; =0x00002079 mov r1, #0xd strb r1, [r5, r0] b _02212330 _022122BA: ldrb r1, [r4, #0x11] add r0, r5, #0 bl MOD09_02213620 cmp r0, #1 bne _0221232A ldrh r0, [r4, #0x22] ldr r2, [r4, #0xc] mov r1, #0x17 bl GetItemAttr cmp r0, #0 bne _0221232A add r2, r4, #0 add r2, #0x33 ldrh r1, [r4, #0x22] ldrb r2, [r2] ldr r0, [r4, #8] ldr r3, [r4, #0xc] bl MOD09_02213C84 ldrb r2, [r4, #0x11] ldr r0, [r4, #8] ldr r1, [r4, #0x28] add r2, r4, r2 add r2, #0x2c ldrb r2, [r2] bl MOD11_02230014 ldrb r2, [r4, #0x11] mov r1, #0x50 add r3, r2, #0 mul r3, r1 add r2, r5, r3 str r0, [r2, #4] ldrb r0, [r4, #0x11] mov r2, #0 mul r1, r0 add r0, r5, r1 ldr r0, [r0, #4] mov r1, #0xa2 bl GetMonData strh r0, [r4, #0x20] ldrb r1, [r4, #0x11] mov r0, #0x50 ldrh r2, [r4, #0x20] mul r0, r1 add r0, r5, r0 ldrh r0, [r0, #0x14] mov r1, #0x19 sub r0, r2, r0 strh r0, [r4, #0x20] ldr r0, _02212360 ; =0x00002079 strb r1, [r5, r0] b _02212330 _0221232A: ldr r0, _02212360 ; =0x00002079 mov r1, #0x17 strb r1, [r5, r0] _02212330: ldr r0, _02212364 ; =0x0000207C mov r1, #0 strb r1, [r5, r0] mov r0, #0x16 pop {r3, r4, r5, pc} _0221233A: ldr r2, _02212368 ; =0x00001FA8 mov r1, #0x51 ldr r0, [r5, r2] add r2, #8 ldr r2, [r5, r2] bl ReadMsgDataIntoString add r0, r5, #0 bl MOD09_02216314 ldr r0, [r5] mov r1, #6 strb r1, [r0, #0x11] ldr r0, _02212360 ; =0x00002079 mov r1, #0x19 strb r1, [r5, r0] mov r0, #0x11 pop {r3, r4, r5, pc} nop _02212360: .word 0x00002079 _02212364: .word 0x0000207C _02212368: .word 0x00001FA8 thumb_func_start MOD09_0221236C MOD09_0221236C: ; 0x0221236C push {r4, lr} add r4, r0, #0 bl MOD09_022134F4 cmp r0, #3 bhi _0221240E add r0, r0, r0 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _02212384: ; jump table .short _0221238C - _02212384 - 2 ; case 0 .short _022123B2 - _02212384 - 2 ; case 1 .short _022123D4 - _02212384 - 2 ; case 2 .short _022123F6 - _02212384 - 2 ; case 3 _0221238C: ldr r0, _02212414 ; =0x000005DD bl PlaySE add r0, r4, #0 mov r1, #7 bl MOD09_022181C8 add r0, r4, #0 bl MOD09_022139D4 cmp r0, #1 bne _022123A8 mov r0, #0x19 pop {r4, pc} _022123A8: ldr r0, _02212418 ; =0x00002079 mov r1, #0xf strb r1, [r4, r0] mov r0, #0x16 pop {r4, pc} _022123B2: add r0, r4, #0 bl MOD09_02213B7C cmp r0, #1 beq _0221240E ldr r0, _02212414 ; =0x000005DD bl PlaySE add r0, r4, #0 mov r1, #8 bl MOD09_022181C8 ldr r0, _02212418 ; =0x00002079 mov r1, #8 strb r1, [r4, r0] mov r0, #0x16 pop {r4, pc} _022123D4: add r0, r4, #0 bl MOD09_02213B7C cmp r0, #1 beq _0221240E ldr r0, _02212414 ; =0x000005DD bl PlaySE add r0, r4, #0 mov r1, #0xa bl MOD09_022181C8 ldr r0, _02212418 ; =0x00002079 mov r1, #9 strb r1, [r4, r0] mov r0, #0x16 pop {r4, pc} _022123F6: ldr r0, _02212414 ; =0x000005DD bl PlaySE add r0, r4, #0 mov r1, #6 bl MOD09_022181C8 ldr r0, _02212418 ; =0x00002079 mov r1, #6 strb r1, [r4, r0] mov r0, #0x16 pop {r4, pc} _0221240E: mov r0, #2 pop {r4, pc} nop _02212414: .word 0x000005DD _02212418: .word 0x00002079 thumb_func_start MOD09_0221241C MOD09_0221241C: ; 0x0221241C push {r4, lr} add r4, r0, #0 bl MOD09_0221353C cmp r0, #3 bhi _022124CC add r0, r0, r0 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _02212434: ; jump table .short _0221243C - _02212434 - 2 ; case 0 .short _0221246A - _02212434 - 2 ; case 1 .short _02212496 - _02212434 - 2 ; case 2 .short _022124AE - _02212434 - 2 ; case 3 _0221243C: ldr r1, [r4] mov r2, #0 ldrb r1, [r1, #0x11] add r0, r4, #0 mvn r2, r2 bl MOD09_02213658 cmp r0, #0xff beq _022124CC ldr r1, [r4] strb r0, [r1, #0x11] ldr r0, _022124D0 ; =0x000005DD bl PlaySE add r0, r4, #0 mov r1, #0xc bl MOD09_022181C8 ldr r0, _022124D4 ; =0x00002079 mov r1, #0xe strb r1, [r4, r0] mov r0, #0x16 pop {r4, pc} _0221246A: ldr r1, [r4] add r0, r4, #0 ldrb r1, [r1, #0x11] mov r2, #1 bl MOD09_02213658 cmp r0, #0xff beq _022124CC ldr r1, [r4] strb r0, [r1, #0x11] ldr r0, _022124D0 ; =0x000005DD bl PlaySE add r0, r4, #0 mov r1, #0xd bl MOD09_022181C8 ldr r0, _022124D4 ; =0x00002079 mov r1, #0xe strb r1, [r4, r0] mov r0, #0x16 pop {r4, pc} _02212496: ldr r0, _022124D0 ; =0x000005DD bl PlaySE add r0, r4, #0 mov r1, #0xb bl MOD09_022181C8 ldr r0, _022124D4 ; =0x00002079 mov r1, #9 strb r1, [r4, r0] mov r0, #0x16 pop {r4, pc} _022124AE: ldr r0, _022124D0 ; =0x000005DD bl PlaySE add r0, r4, #0 mov r1, #6 bl MOD09_022181C8 ldr r0, _022124D8 ; =0x0000208C mov r1, #1 strb r1, [r4, r0] mov r1, #7 sub r0, #0x13 strb r1, [r4, r0] mov r0, #0x16 pop {r4, pc} _022124CC: mov r0, #3 pop {r4, pc} .align 2, 0 _022124D0: .word 0x000005DD _022124D4: .word 0x00002079 _022124D8: .word 0x0000208C thumb_func_start MOD09_022124DC MOD09_022124DC: ; 0x022124DC push {r3, r4, r5, lr} add r4, r0, #0 bl MOD09_02213584 add r5, r0, #0 cmp r5, #7 bhi _022125CE add r0, r5, r5 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _022124F6: ; jump table .short _02212506 - _022124F6 - 2 ; case 0 .short _02212506 - _022124F6 - 2 ; case 1 .short _02212506 - _022124F6 - 2 ; case 2 .short _02212506 - _022124F6 - 2 ; case 3 .short _0221253E - _022124F6 - 2 ; case 4 .short _0221256C - _022124F6 - 2 ; case 5 .short _02212598 - _022124F6 - 2 ; case 6 .short _022125B0 - _022124F6 - 2 ; case 7 _02212506: ldr r0, [r4] ldrb r1, [r0, #0x11] mov r0, #0x50 mul r0, r1 add r1, r4, r0 lsl r0, r5, #3 add r0, r1, r0 ldrh r0, [r0, #0x34] cmp r0, #0 beq _022125CE ldr r0, _022125D4 ; =0x000005DD bl PlaySE add r1, r5, #0 add r1, #0xe lsl r1, r1, #0x18 add r0, r4, #0 lsr r1, r1, #0x18 bl MOD09_022181C8 ldr r0, [r4] mov r1, #0xa add r0, #0x34 strb r5, [r0] ldr r0, _022125D8 ; =0x00002079 strb r1, [r4, r0] mov r0, #0x16 pop {r3, r4, r5, pc} _0221253E: ldr r1, [r4] mov r2, #0 ldrb r1, [r1, #0x11] add r0, r4, #0 mvn r2, r2 bl MOD09_02213658 cmp r0, #0xff beq _022125CE ldr r1, [r4] strb r0, [r1, #0x11] ldr r0, _022125D4 ; =0x000005DD bl PlaySE add r0, r4, #0 mov r1, #0xc bl MOD09_022181C8 ldr r0, _022125D8 ; =0x00002079 mov r1, #0xe strb r1, [r4, r0] mov r0, #0x16 pop {r3, r4, r5, pc} _0221256C: ldr r1, [r4] add r0, r4, #0 ldrb r1, [r1, #0x11] mov r2, #1 bl MOD09_02213658 cmp r0, #0xff beq _022125CE ldr r1, [r4] strb r0, [r1, #0x11] ldr r0, _022125D4 ; =0x000005DD bl PlaySE add r0, r4, #0 mov r1, #0xd bl MOD09_022181C8 ldr r0, _022125D8 ; =0x00002079 mov r1, #0xe strb r1, [r4, r0] mov r0, #0x16 pop {r3, r4, r5, pc} _02212598: ldr r0, _022125D4 ; =0x000005DD bl PlaySE add r0, r4, #0 mov r1, #9 bl MOD09_022181C8 ldr r0, _022125D8 ; =0x00002079 mov r1, #8 strb r1, [r4, r0] mov r0, #0x16 pop {r3, r4, r5, pc} _022125B0: ldr r0, _022125D4 ; =0x000005DD bl PlaySE add r0, r4, #0 mov r1, #6 bl MOD09_022181C8 ldr r0, _022125DC ; =0x0000208C mov r1, #2 strb r1, [r4, r0] mov r1, #7 sub r0, #0x13 strb r1, [r4, r0] mov r0, #0x16 pop {r3, r4, r5, pc} _022125CE: mov r0, #4 pop {r3, r4, r5, pc} nop _022125D4: .word 0x000005DD _022125D8: .word 0x00002079 _022125DC: .word 0x0000208C thumb_func_start MOD09_022125E0 MOD09_022125E0: ; 0x022125E0 push {r3, r4, r5, lr} add r4, r0, #0 bl MOD09_022135CC add r5, r0, #0 cmp r5, #4 bhi _0221264A add r0, r5, r5 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _022125FA: ; jump table .short _02212604 - _022125FA - 2 ; case 0 .short _02212604 - _022125FA - 2 ; case 1 .short _02212604 - _022125FA - 2 ; case 2 .short _02212604 - _022125FA - 2 ; case 3 .short _02212632 - _022125FA - 2 ; case 4 _02212604: ldr r1, [r4] add r0, r1, #0 add r0, #0x34 ldrb r0, [r0] cmp r0, r5 beq _02212622 ldrb r1, [r1, #0x11] mov r0, #0x50 mul r0, r1 add r1, r4, r0 lsl r0, r5, #3 add r0, r1, r0 ldrh r0, [r0, #0x34] cmp r0, #0 beq _0221264A _02212622: ldr r0, _02212650 ; =0x000005DD bl PlaySE ldr r0, [r4] add r0, #0x34 strb r5, [r0] mov r0, #0xa pop {r3, r4, r5, pc} _02212632: ldr r0, _02212650 ; =0x000005DD bl PlaySE add r0, r4, #0 mov r1, #6 bl MOD09_022181C8 ldr r0, _02212654 ; =0x00002079 mov r1, #9 strb r1, [r4, r0] mov r0, #0x16 pop {r3, r4, r5, pc} _0221264A: mov r0, #5 pop {r3, r4, r5, pc} nop _02212650: .word 0x000005DD _02212654: .word 0x00002079 thumb_func_start MOD09_02212658 MOD09_02212658: ; 0x02212658 push {r3, r4, r5, lr} ldr r1, _02212734 ; =0x0221AFD8 add r4, r0, #0 bl MOD09_02213614 add r5, r0, #0 mov r0, #0 mvn r0, r0 cmp r5, r0 bne _02212682 ldr r0, _02212738 ; =0x00002088 ldr r0, [r4, r0] bl MOD09_0221AD30 add r5, r0, #0 mov r0, #1 mvn r0, r0 cmp r5, r0 bne _02212688 mov r5, #6 b _02212688 _02212682: add r0, r4, #0 bl MOD09_022178E4 _02212688: cmp r5, #6 bhi _02212730 add r0, r5, r5 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _02212698: ; jump table .short _022126A6 - _02212698 - 2 ; case 0 .short _022126A6 - _02212698 - 2 ; case 1 .short _022126A6 - _02212698 - 2 ; case 2 .short _022126A6 - _02212698 - 2 ; case 3 .short _022126A6 - _02212698 - 2 ; case 4 .short _022126D0 - _02212698 - 2 ; case 5 .short _02212710 - _02212698 - 2 ; case 6 _022126A6: lsl r0, r5, #0x18 lsr r1, r0, #0x18 ldr r0, [r4] add r0, #0x34 strb r1, [r0] ldr r0, _0221273C ; =0x0000208D strb r1, [r4, r0] ldr r0, _02212740 ; =0x000005DD bl PlaySE add r5, #0x17 lsl r1, r5, #0x18 add r0, r4, #0 lsr r1, r1, #0x18 bl MOD09_022181C8 ldr r0, _02212744 ; =0x00002079 mov r1, #0xc strb r1, [r4, r0] mov r0, #0x16 pop {r3, r4, r5, pc} _022126D0: ldr r0, _02212748 ; =0x00002077 ldrb r3, [r4, r0] lsl r1, r3, #0x18 lsr r1, r1, #0x1c beq _02212730 mov r2, #0xf add r1, r3, #0 bic r1, r2 lsl r2, r3, #0x1c lsr r3, r2, #0x1c mov r2, #1 eor r2, r3 lsl r2, r2, #0x18 lsr r3, r2, #0x18 mov r2, #0xf and r2, r3 orr r1, r2 strb r1, [r4, r0] add r0, #0x16 strb r5, [r4, r0] ldr r0, _02212740 ; =0x000005DD bl PlaySE add r0, r4, #0 mov r1, #0x12 bl MOD09_022181C8 ldr r0, _02212744 ; =0x00002079 mov r1, #0xb strb r1, [r4, r0] mov r0, #0x16 pop {r3, r4, r5, pc} _02212710: ldr r0, [r4] mov r1, #4 add r0, #0x34 strb r1, [r0] ldr r0, _02212740 ; =0x000005DD bl PlaySE add r0, r4, #0 mov r1, #6 bl MOD09_022181C8 ldr r0, _02212744 ; =0x00002079 mov r1, #0x19 strb r1, [r4, r0] mov r0, #0x16 pop {r3, r4, r5, pc} _02212730: mov r0, #0x13 pop {r3, r4, r5, pc} .align 2, 0 _02212734: .word MOD9_0221AFD8 _02212738: .word 0x00002088 _0221273C: .word 0x0000208D _02212740: .word 0x000005DD _02212744: .word 0x00002079 _02212748: .word 0x00002077 thumb_func_start MOD09_0221274C MOD09_0221274C: ; 0x0221274C push {r3, r4, r5, lr} ldr r1, _02212850 ; =0x0221AEE0 add r5, r0, #0 bl MOD09_02213614 add r4, r0, #0 mov r0, #0 mvn r0, r0 cmp r4, r0 bne _02212776 ldr r0, _02212854 ; =0x00002088 ldr r0, [r5, r0] bl MOD09_0221AD30 add r4, r0, #0 mov r0, #1 mvn r0, r0 cmp r4, r0 bne _0221277C mov r4, #2 b _0221277C _02212776: add r0, r5, #0 bl MOD09_022178E4 _0221277C: cmp r4, #0 beq _0221278A cmp r4, #1 beq _022127E6 cmp r4, #2 beq _0221282C b _0221284A _0221278A: ldr r0, _02212858 ; =0x000005DD bl PlaySE ldr r0, _0221285C ; =0x00002077 ldrb r0, [r5, r0] lsl r0, r0, #0x1c lsr r0, r0, #0x1c bne _022127A4 add r0, r5, #0 mov r1, #0x1c bl MOD09_022181C8 b _022127AC _022127A4: add r0, r5, #0 mov r1, #0x1d bl MOD09_022181C8 _022127AC: add r0, r5, #0 bl MOD09_02213C0C cmp r0, #1 bne _022127DC add r0, r5, #0 bl MOD09_0221534C ldr r0, _0221285C ; =0x00002077 ldrb r0, [r5, r0] lsl r0, r0, #0x1c lsr r0, r0, #0x1c bne _022127CE add r0, r5, #0 bl MOD09_02213C34 b _022127D4 _022127CE: add r0, r5, #0 bl MOD09_02213C6C _022127D4: ldr r0, _02212860 ; =0x00002079 mov r1, #0x14 strb r1, [r5, r0] b _022127E2 _022127DC: ldr r0, _02212860 ; =0x00002079 mov r1, #0x19 strb r1, [r5, r0] _022127E2: mov r0, #0x16 pop {r3, r4, r5, pc} _022127E6: ldr r0, _0221285C ; =0x00002077 ldrb r0, [r5, r0] lsl r0, r0, #0x18 lsr r0, r0, #0x1c beq _0221284A ldr r0, _02212858 ; =0x000005DD bl PlaySE add r0, r5, #0 mov r1, #0x12 bl MOD09_022181C8 ldr r2, _0221285C ; =0x00002077 mov r1, #0xf ldrb r3, [r5, r2] add r0, r3, #0 bic r0, r1 lsl r1, r3, #0x1c lsr r3, r1, #0x1c mov r1, #1 eor r1, r3 lsl r1, r1, #0x18 lsr r3, r1, #0x18 mov r1, #0xf and r1, r3 orr r0, r1 strb r0, [r5, r2] add r0, r2, #0 add r0, #0x17 strb r4, [r5, r0] mov r1, #0xc add r0, r2, #2 strb r1, [r5, r0] mov r0, #0x16 pop {r3, r4, r5, pc} _0221282C: ldr r0, _02212858 ; =0x000005DD bl PlaySE add r0, r5, #0 mov r1, #6 bl MOD09_022181C8 ldr r0, _02212864 ; =0x0000208E mov r1, #0 strb r1, [r5, r0] mov r1, #0xb sub r0, #0x15 strb r1, [r5, r0] mov r0, #0x16 pop {r3, r4, r5, pc} _0221284A: mov r0, #0x14 pop {r3, r4, r5, pc} nop _02212850: .word MOD9_0221AEE0 _02212854: .word 0x00002088 _02212858: .word 0x000005DD _0221285C: .word 0x00002077 _02212860: .word 0x00002079 _02212864: .word 0x0000208E thumb_func_start MOD09_02212868 MOD09_02212868: ; 0x02212868 push {r3, r4, r5, r6, lr} sub sp, #4 ldr r1, _02212954 ; =0x0221AF30 add r4, r0, #0 ldr r6, [r4] bl MOD09_02213614 add r5, r0, #0 mov r0, #0 mvn r0, r0 cmp r5, r0 bne _02212896 ldr r0, _02212958 ; =0x00002088 ldr r0, [r4, r0] bl MOD09_0221AD30 add r5, r0, #0 mov r0, #1 mvn r0, r0 cmp r5, r0 bne _0221289C mov r5, #4 b _0221289C _02212896: add r0, r4, #0 bl MOD09_022178E4 _0221289C: cmp r5, #4 bhi _0221294E add r0, r5, r5 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _022128AC: ; jump table .short _022128B6 - _022128AC - 2 ; case 0 .short _022128B6 - _022128AC - 2 ; case 1 .short _022128B6 - _022128AC - 2 ; case 2 .short _022128B6 - _022128AC - 2 ; case 3 .short _02212934 - _022128AC - 2 ; case 4 _022128B6: ldrb r1, [r6, #0x11] mov r0, #0x50 mul r0, r1 add r1, r4, r0 lsl r0, r5, #3 add r0, r1, r0 ldrh r0, [r0, #0x34] cmp r0, #0 beq _0221294E ldr r0, [r4] add r0, #0x34 strb r5, [r0] ldr r0, _0221295C ; =0x000005DD bl PlaySE add r1, r5, #0 add r1, #0x13 lsl r1, r1, #0x18 add r0, r4, #0 lsr r1, r1, #0x18 bl MOD09_022181C8 ldrh r0, [r6, #0x22] add r3, r5, #0 str r0, [sp] ldrb r2, [r6, #0x11] ldr r0, [r6, #8] ldr r1, [r6, #0x28] add r2, r6, r2 add r2, #0x2c ldrb r2, [r2] bl MOD11_02230370 cmp r0, #1 bne _0221290E ldr r0, _02212960 ; =0x0000207C mov r1, #0 strb r1, [r4, r0] mov r1, #0x17 sub r0, r0, #3 strb r1, [r4, r0] add sp, #4 mov r0, #0x16 pop {r3, r4, r5, r6, pc} _0221290E: ldr r2, _02212964 ; =0x00001FA8 mov r1, #0x51 ldr r0, [r4, r2] add r2, #8 ldr r2, [r4, r2] bl ReadMsgDataIntoString add r0, r4, #0 bl MOD09_02216314 ldr r0, [r4] mov r1, #6 strb r1, [r0, #0x11] ldr r0, _02212968 ; =0x00002079 mov r1, #0x19 strb r1, [r4, r0] add sp, #4 mov r0, #0x11 pop {r3, r4, r5, r6, pc} _02212934: ldr r0, _0221295C ; =0x000005DD bl PlaySE add r0, r4, #0 mov r1, #6 bl MOD09_022181C8 ldr r0, _02212968 ; =0x00002079 mov r1, #6 strb r1, [r4, r0] add sp, #4 mov r0, #0x16 pop {r3, r4, r5, r6, pc} _0221294E: mov r0, #0x15 add sp, #4 pop {r3, r4, r5, r6, pc} .align 2, 0 _02212954: .word MOD9_0221AF30 _02212958: .word 0x00002088 _0221295C: .word 0x000005DD _02212960: .word 0x0000207C _02212964: .word 0x00001FA8 _02212968: .word 0x00002079 thumb_func_start MOD09_0221296C MOD09_0221296C: ; 0x0221296C push {r3, lr} mov r1, #0 bl MOD09_022138F0 mov r0, #1 pop {r3, pc} thumb_func_start MOD09_02212978 MOD09_02212978: ; 0x02212978 push {r3, lr} mov r1, #1 bl MOD09_022138F0 mov r0, #2 pop {r3, pc} thumb_func_start MOD09_02212984 MOD09_02212984: ; 0x02212984 push {r3, lr} mov r1, #2 bl MOD09_022138F0 mov r0, #3 pop {r3, pc} thumb_func_start MOD09_02212990 MOD09_02212990: ; 0x02212990 push {r3, lr} mov r1, #3 bl MOD09_022138F0 mov r0, #4 pop {r3, pc} thumb_func_start MOD09_0221299C MOD09_0221299C: ; 0x0221299C push {r3, lr} mov r1, #4 bl MOD09_022138F0 mov r0, #5 pop {r3, pc} thumb_func_start MOD09_022129A8 MOD09_022129A8: ; 0x022129A8 push {r3, lr} ldr r1, _022129C8 ; =0x00002077 ldrb r1, [r0, r1] lsl r1, r1, #0x1c lsr r1, r1, #0x1c bne _022129BC mov r1, #6 bl MOD09_022138F0 b _022129C2 _022129BC: mov r1, #8 bl MOD09_022138F0 _022129C2: mov r0, #0x13 pop {r3, pc} nop _022129C8: .word 0x00002077 thumb_func_start MOD09_022129CC MOD09_022129CC: ; 0x022129CC push {r4, lr} add r4, r0, #0 bl MOD09_022174EC ldr r0, _022129F4 ; =0x00002077 ldrb r0, [r4, r0] lsl r0, r0, #0x1c lsr r0, r0, #0x1c bne _022129E8 add r0, r4, #0 mov r1, #7 bl MOD09_022138F0 b _022129F0 _022129E8: add r0, r4, #0 mov r1, #9 bl MOD09_022138F0 _022129F0: mov r0, #0x14 pop {r4, pc} .align 2, 0 _022129F4: .word 0x00002077 thumb_func_start MOD09_022129F8 MOD09_022129F8: ; 0x022129F8 push {r4, lr} add r4, r0, #0 mov r1, #5 bl MOD09_022138F0 ldr r2, [r4] mov r1, #0x25 ldrh r0, [r2, #0x22] ldr r2, [r2, #0xc] bl GetItemAttr cmp r0, #0 beq _02212A16 mov r0, #0x18 pop {r4, pc} _02212A16: mov r0, #0x15 pop {r4, pc} .align 2, 0 thumb_func_start MOD09_02212A1C MOD09_02212A1C: ; 0x02212A1C push {r4, lr} ldr r1, _02212A58 ; =0x0000207A add r4, r0, #0 ldrb r1, [r4, r1] bl MOD09_02216D80 ldr r1, _02212A58 ; =0x0000207A add r0, r4, #0 ldrb r1, [r4, r1] bl MOD09_02213E28 ldr r1, _02212A58 ; =0x0000207A add r0, r4, #0 ldrb r1, [r4, r1] bl MOD09_022182E8 ldr r1, _02212A58 ; =0x0000207A add r0, r4, #0 ldrb r1, [r4, r1] bl MOD09_02213710 ldr r0, _02212A58 ; =0x0000207A ldrb r0, [r4, r0] cmp r0, #2 bne _02212A52 mov r0, #3 pop {r4, pc} _02212A52: mov r0, #4 pop {r4, pc} nop _02212A58: .word 0x0000207A thumb_func_start MOD09_02212A5C MOD09_02212A5C: ; 0x02212A5C push {r4, lr} add r4, r0, #0 bl MOD09_02216314 ldr r0, _02212A70 ; =0x00002079 mov r1, #0x10 strb r1, [r4, r0] mov r0, #0x11 pop {r4, pc} nop _02212A70: .word 0x00002079 thumb_func_start MOD09_02212A74 MOD09_02212A74: ; 0x02212A74 push {r3, lr} ldr r1, _02212A84 ; =0x00002060 add r0, r0, r1 mov r1, #0 bl ClearFrameAndWindow2 mov r0, #2 pop {r3, pc} .align 2, 0 _02212A84: .word 0x00002060 thumb_func_start MOD09_02212A88 MOD09_02212A88: ; 0x02212A88 push {r3, lr} ldr r1, _02212AA0 ; =0x0000207B ldrb r0, [r0, r1] bl FUN_0201BD70 cmp r0, #0 bne _02212A9A mov r0, #0x12 pop {r3, pc} _02212A9A: mov r0, #0x11 pop {r3, pc} nop _02212AA0: .word 0x0000207B thumb_func_start MOD09_02212AA4 MOD09_02212AA4: ; 0x02212AA4 push {r4, lr} add r4, r0, #0 ldr r0, _02212AC4 ; =gMain ldr r1, [r0, #0x48] mov r0, #3 tst r0, r1 bne _02212ABA bl FUN_02020AA4 cmp r0, #1 bne _02212AC0 _02212ABA: ldr r0, _02212AC8 ; =0x00002079 ldrb r0, [r4, r0] pop {r4, pc} _02212AC0: mov r0, #0x12 pop {r4, pc} .align 2, 0 _02212AC4: .word gMain _02212AC8: .word 0x00002079 thumb_func_start MOD09_02212ACC MOD09_02212ACC: ; 0x02212ACC ldr r1, _02212AE0 ; =0x00001FA3 ldrb r2, [r0, r1] lsl r2, r2, #0x18 lsr r2, r2, #0x1f bne _02212ADC add r1, #0xd6 ldrb r0, [r0, r1] bx lr _02212ADC: mov r0, #0x16 bx lr .align 2, 0 _02212AE0: .word 0x00001FA3 thumb_func_start MOD09_02212AE4 MOD09_02212AE4: ; 0x02212AE4 push {r3, r4, r5, r6, r7, lr} ldr r7, _02212C7C ; =0x0000207C add r4, r0, #0 ldrb r1, [r4, r7] ldr r5, [r4] cmp r1, #4 bls _02212AF4 b _02212C78 _02212AF4: add r1, r1, r1 add r1, pc ldrh r1, [r1, #6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _02212B00: ; jump table .short _02212B0A - _02212B00 - 2 ; case 0 .short _02212BCE - _02212B00 - 2 ; case 1 .short _02212BF6 - _02212B00 - 2 ; case 2 .short _02212C2E - _02212B00 - 2 ; case 3 .short _02212C4E - _02212B00 - 2 ; case 4 _02212B0A: ldrb r2, [r5, #0x11] ldr r0, [r5, #8] ldr r1, [r5, #0x28] add r2, r5, r2 add r2, #0x2c ldrb r2, [r2] bl MOD11_02230014 ldrb r2, [r5, #0x11] mov r1, #0x50 mul r1, r2 add r1, r4, r1 str r0, [r1, #4] add r0, r4, #0 bl MOD09_02216378 sub r0, r7, #2 ldrb r0, [r4, r0] ldrb r1, [r5, #0x11] cmp r0, #5 bne _02212B54 mov r0, #0x50 mul r0, r1 add r5, #0x34 ldrb r1, [r5] add r0, r4, r0 ldr r0, [r0, #4] add r1, #0x3a mov r2, #0 bl GetMonData add r1, r7, #4 strh r0, [r4, r1] mov r2, #2 sub r0, r1, #4 strb r2, [r4, r0] b _02212BC6 _02212B54: mov r0, #0x50 mul r0, r1 add r0, r4, r0 ldr r0, [r0, #4] bl FUN_0207C2D4 add r6, r0, #0 ldrb r0, [r5, #0x11] add r3, r4, #0 mov r7, #0x50 add r2, r0, #0 add r3, #0x1b mul r2, r7 ldrb r1, [r3, r2] mov r0, #0x78 bic r1, r0 lsl r0, r6, #0x18 lsr r0, r0, #0x18 lsl r0, r0, #0x1c lsr r0, r0, #0x19 orr r0, r1 strb r0, [r3, r2] ldrb r0, [r5, #0x11] add r1, r0, #0 mul r1, r7 add r1, r4, r1 ldrb r1, [r1, #0x1b] lsl r1, r1, #0x19 lsr r1, r1, #0x1c cmp r1, #7 bne _02212BAA add r0, #0xd lsl r0, r0, #2 add r1, r4, r0 ldr r0, _02212C80 ; =0x00001FB8 ldr r0, [r1, r0] mov r1, #0 bl FUN_0200C644 ldrb r1, [r5, #0x11] add r0, r4, #0 bl MOD09_022156DC _02212BAA: ldrb r1, [r5, #0x11] mov r0, #0x50 mov r2, #0 mul r0, r1 add r0, r4, r0 ldr r0, [r0, #4] mov r1, #0xa2 bl GetMonData ldr r1, _02212C84 ; =0x0000207E mov r2, #4 strh r0, [r4, r1] sub r0, r1, #2 strb r2, [r4, r0] _02212BC6: ldr r0, _02212C88 ; =0x000005EC bl PlaySE b _02212C78 _02212BCE: ldrb r1, [r5, #0x11] add r6, r4, #0 mov r2, #0x50 add r3, r1, #0 add r6, #0x14 mul r3, r2 add r1, r7, #2 ldrh r2, [r4, r1] ldrh r1, [r6, r3] cmp r2, r1 beq _02212BF0 add r1, r1, #1 strh r1, [r6, r3] ldrb r1, [r5, #0x11] bl MOD09_0221567C b _02212C78 _02212BF0: mov r0, #3 strb r0, [r4, r7] b _02212C78 _02212BF6: ldrb r3, [r5, #0x11] add r1, r4, #0 mov r2, #0x50 add r1, #0x36 mul r2, r3 add r6, r1, r2 add r1, r5, #0 add r1, #0x34 ldrb r1, [r1] lsl r3, r1, #3 add r1, r7, #4 ldrh r2, [r4, r1] ldrb r1, [r6, r3] cmp r2, r1 beq _02212C28 add r1, r1, #1 strb r1, [r6, r3] add r5, #0x34 ldrb r2, [r5] add r1, r2, #1 lsl r1, r1, #0x10 lsr r1, r1, #0x10 bl MOD09_02216190 b _02212C78 _02212C28: mov r0, #3 strb r0, [r4, r7] b _02212C78 _02212C2E: add r2, r5, #0 add r2, #0x33 ldrh r1, [r5, #0x22] ldrb r2, [r2] ldr r0, [r5, #8] ldr r3, [r5, #0xc] bl MOD09_02213C84 add r0, r4, #0 bl MOD09_02216314 mov r1, #0x19 sub r0, r7, #3 strb r1, [r4, r0] mov r0, #0x11 pop {r3, r4, r5, r6, r7, pc} _02212C4E: ldrb r1, [r5, #0x11] add r3, r4, #0 mov r2, #0x50 mul r2, r1 add r1, r7, #2 add r3, #0x14 ldrh r6, [r4, r1] ldrh r1, [r3, r2] cmp r6, r1 beq _02212C72 add r1, r1, #1 strh r1, [r3, r2] ldrb r1, [r5, #0x11] bl MOD09_0221567C add r0, r4, #0 bl MOD09_022186C0 _02212C72: ldr r0, _02212C7C ; =0x0000207C mov r1, #1 strb r1, [r4, r0] _02212C78: mov r0, #0x17 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _02212C7C: .word 0x0000207C _02212C80: .word 0x00001FB8 _02212C84: .word 0x0000207E _02212C88: .word 0x000005EC thumb_func_start MOD09_02212C8C MOD09_02212C8C: ; 0x02212C8C push {r3, r4, r5, r6, r7, lr} sub sp, #8 add r5, r0, #0 ldr r0, [r5] str r0, [sp, #4] ldr r0, _02212DAC ; =0x0000207C ldrb r0, [r5, r0] cmp r0, #0 beq _02212CA8 cmp r0, #1 beq _02212D12 cmp r0, #2 beq _02212D7C b _02212DA4 _02212CA8: ldr r2, [sp, #4] ldr r0, [sp, #4] ldrb r3, [r2, #0x11] ldr r1, [sp, #4] ldr r0, [r0, #8] add r2, r2, r3 add r2, #0x2c ldrb r2, [r2] ldr r1, [r1, #0x28] bl MOD11_02230014 ldr r1, [sp, #4] mov r7, #0 ldrb r2, [r1, #0x11] mov r1, #0x50 add r6, r7, #0 mul r1, r2 add r1, r5, r1 str r0, [r1, #4] add r4, r5, #0 _02212CD0: ldr r0, [sp, #4] ldrb r1, [r0, #0x11] mov r0, #0x50 mul r0, r1 add r1, r5, r0 add r0, r1, r6 ldrh r0, [r0, #0x34] cmp r0, #0 beq _02212CF4 ldr r0, [r1, #4] add r1, r7, #0 add r1, #0x3a mov r2, #0 bl GetMonData mov r1, #0x82 lsl r1, r1, #6 strh r0, [r4, r1] _02212CF4: add r7, r7, #1 add r6, #8 add r4, r4, #2 cmp r7, #4 blo _02212CD0 add r0, r5, #0 bl MOD09_02216378 ldr r0, _02212DB0 ; =0x000005EC bl PlaySE ldr r0, _02212DAC ; =0x0000207C mov r1, #1 strb r1, [r5, r0] b _02212DA4 _02212D12: mov r6, #0 add r4, r6, #0 str r6, [sp] add r7, r5, #0 _02212D1A: ldr r0, [sp, #4] ldrb r1, [r0, #0x11] mov r0, #0x50 mul r0, r1 add r1, r5, r0 ldr r0, [sp] add r1, r1, r0 ldrh r0, [r1, #0x34] cmp r0, #0 bne _02212D32 add r6, r6, #1 b _02212D62 _02212D32: mov r0, #0x82 add r2, r1, #0 lsl r0, r0, #6 add r2, #0x36 ldrh r0, [r7, r0] ldrb r2, [r2] cmp r0, r2 beq _02212D60 add r0, r1, #0 add r0, #0x36 ldrb r0, [r0] lsl r2, r4, #0x10 add r1, #0x36 add r0, r0, #1 strb r0, [r1] add r1, r4, #1 lsl r1, r1, #0x10 add r0, r5, #0 lsr r1, r1, #0x10 lsr r2, r2, #0x10 bl MOD09_02216190 b _02212D62 _02212D60: add r6, r6, #1 _02212D62: ldr r0, [sp] add r4, r4, #1 add r0, #8 add r7, r7, #2 str r0, [sp] cmp r4, #4 blo _02212D1A cmp r6, #4 bne _02212DA4 ldr r0, _02212DAC ; =0x0000207C mov r1, #2 strb r1, [r5, r0] b _02212DA4 _02212D7C: ldr r2, [sp, #4] ldr r1, [sp, #4] ldr r0, [sp, #4] add r2, #0x33 ldr r3, [sp, #4] ldrh r1, [r1, #0x22] ldrb r2, [r2] ldr r0, [r0, #8] ldr r3, [r3, #0xc] bl MOD09_02213C84 add r0, r5, #0 bl MOD09_02216314 ldr r0, _02212DB4 ; =0x00002079 mov r1, #0x19 strb r1, [r5, r0] add sp, #8 mov r0, #0x11 pop {r3, r4, r5, r6, r7, pc} _02212DA4: mov r0, #0x18 add sp, #8 pop {r3, r4, r5, r6, r7, pc} nop _02212DAC: .word 0x0000207C _02212DB0: .word 0x000005EC _02212DB4: .word 0x00002079 thumb_func_start MOD09_02212DB8 MOD09_02212DB8: ; 0x02212DB8 push {lr} sub sp, #0xc mov r2, #0 str r2, [sp] mov r1, #0x10 str r1, [sp, #4] mov r1, #0x7a str r2, [sp, #8] lsl r1, r1, #2 ldr r0, [r0, r1] mov r1, #0xa add r3, r1, #0 ldr r2, _02212DE0 ; =0x0000FFFF sub r3, #0x12 bl FUN_02003210 mov r0, #0x1a add sp, #0xc pop {pc} nop _02212DE0: .word 0x0000FFFF thumb_func_start MOD09_02212DE4 MOD09_02212DE4: ; 0x02212DE4 push {r3, r4, r5, lr} add r5, r0, #0 mov r0, #0x7a add r4, r1, #0 lsl r0, r0, #2 ldr r0, [r4, r0] bl FUN_020038E4 cmp r0, #0 beq _02212DFC mov r0, #0 pop {r3, r4, r5, pc} _02212DFC: add r0, r4, #0 bl MOD09_02213190 add r0, r4, #0 bl MOD09_02216B74 add r0, r4, #0 bl MOD09_02213DF8 mov r0, #0x79 lsl r0, r0, #2 ldr r0, [r4, r0] bl MOD09_02212F5C ldr r0, _02212E48 ; =0x00002088 ldr r0, [r4, r0] bl MOD09_0221AC28 ldr r1, [r4] add r1, #0x32 strb r0, [r1] ldr r0, _02212E48 ; =0x00002088 ldr r0, [r4, r0] bl MOD09_0221AC1C mov r0, #2 bl FUN_02002CF8 ldr r0, [r4] mov r1, #1 add r0, #0x36 strb r1, [r0] add r0, r5, #0 bl FUN_0200621C mov r0, #1 pop {r3, r4, r5, pc} nop _02212E48: .word 0x00002088 thumb_func_start MOD09_02212E4C MOD09_02212E4C: ; 0x02212E4C push {r3, r4, r5, lr} sub sp, #0x80 ldr r5, _02212F48 ; =0x0221AED0 add r3, sp, #0x70 add r4, r0, #0 add r2, r3, #0 ldmia r5!, {r0, r1} stmia r3!, {r0, r1} ldmia r5!, {r0, r1} stmia r3!, {r0, r1} add r0, r2, #0 mov r1, #1 bl SetScreenModeAndDisable ldr r5, _02212F4C ; =0x0221AF48 add r3, sp, #0x54 ldmia r5!, {r0, r1} add r2, r3, #0 stmia r3!, {r0, r1} ldmia r5!, {r0, r1} stmia r3!, {r0, r1} ldmia r5!, {r0, r1} stmia r3!, {r0, r1} ldr r0, [r5] mov r1, #7 str r0, [r3] mov r0, #0x79 lsl r0, r0, #2 ldr r0, [r4, r0] mov r3, #0 bl InitBgFromTemplate ldr r5, _02212F50 ; =0x0221AF80 add r3, sp, #0x38 ldmia r5!, {r0, r1} add r2, r3, #0 stmia r3!, {r0, r1} ldmia r5!, {r0, r1} stmia r3!, {r0, r1} ldmia r5!, {r0, r1} stmia r3!, {r0, r1} ldr r0, [r5] mov r1, #6 str r0, [r3] mov r0, #0x79 lsl r0, r0, #2 ldr r0, [r4, r0] mov r3, #0 bl InitBgFromTemplate ldr r5, _02212F54 ; =0x0221AF9C add r3, sp, #0x1c ldmia r5!, {r0, r1} add r2, r3, #0 stmia r3!, {r0, r1} ldmia r5!, {r0, r1} stmia r3!, {r0, r1} ldmia r5!, {r0, r1} stmia r3!, {r0, r1} ldr r0, [r5] mov r1, #5 str r0, [r3] mov r0, #0x79 lsl r0, r0, #2 ldr r0, [r4, r0] mov r3, #0 bl InitBgFromTemplate mov r0, #0x79 lsl r0, r0, #2 ldr r0, [r4, r0] mov r1, #5 bl BgClearTilemapBufferAndCommit ldr r5, _02212F58 ; =0x0221AF64 add r3, sp, #0 ldmia r5!, {r0, r1} add r2, r3, #0 stmia r3!, {r0, r1} ldmia r5!, {r0, r1} stmia r3!, {r0, r1} ldmia r5!, {r0, r1} stmia r3!, {r0, r1} ldr r0, [r5] mov r1, #4 str r0, [r3] mov r0, #0x79 lsl r0, r0, #2 ldr r0, [r4, r0] mov r3, #0 bl InitBgFromTemplate mov r0, #0x79 lsl r0, r0, #2 ldr r0, [r4, r0] mov r1, #4 bl BgClearTilemapBufferAndCommit ldr r3, [r4] mov r0, #5 ldr r3, [r3, #0xc] mov r1, #0x20 mov r2, #0 bl BG_ClearCharDataRange ldr r3, [r4] mov r0, #4 ldr r3, [r3, #0xc] mov r1, #0x20 mov r2, #0 bl BG_ClearCharDataRange mov r0, #0x79 lsl r0, r0, #2 ldr r0, [r4, r0] mov r1, #5 bl ScheduleBgTilemapBufferTransfer mov r0, #0x79 lsl r0, r0, #2 ldr r0, [r4, r0] mov r1, #4 bl ScheduleBgTilemapBufferTransfer add sp, #0x80 pop {r3, r4, r5, pc} .align 2, 0 _02212F48: .word MOD9_0221AED0 _02212F4C: .word MOD9_0221AF48 _02212F50: .word MOD9_0221AF80 _02212F54: .word MOD9_0221AF9C _02212F58: .word MOD9_0221AF64 thumb_func_start MOD09_02212F5C MOD09_02212F5C: ; 0x02212F5C push {r4, lr} add r4, r0, #0 mov r0, #0x1f mov r1, #0 bl GX_EngineBToggleLayers add r0, r4, #0 mov r1, #4 bl FreeBgTilemapBuffer add r0, r4, #0 mov r1, #5 bl FreeBgTilemapBuffer add r0, r4, #0 mov r1, #6 bl FreeBgTilemapBuffer add r0, r4, #0 mov r1, #7 bl FreeBgTilemapBuffer pop {r4, pc} .align 2, 0 thumb_func_start MOD09_02212F8C MOD09_02212F8C: ; 0x02212F8C push {r3, r4, r5, r6, lr} sub sp, #0x14 add r5, r0, #0 mov r0, #0 str r0, [sp] str r0, [sp, #4] str r0, [sp, #8] ldr r0, [r5] mov r2, #0x79 ldr r0, [r0, #0xc] lsl r2, r2, #2 str r0, [sp, #0xc] ldr r2, [r5, r2] mov r0, #0x48 mov r1, #0x16 mov r3, #7 bl GfGfxLoader_LoadCharData ldr r2, [r5] mov r0, #0x48 ldr r2, [r2, #0xc] mov r1, #0x14 bl AllocAndReadWholeNarcMemberByIdPair add r1, sp, #0x10 add r4, r0, #0 bl NNS_G2dGetUnpackedScreenData ldr r1, [sp, #0x10] add r0, r5, #0 add r1, #0xc bl MOD09_0221790C add r0, r4, #0 bl FreeToHeap ldr r2, [r5] mov r0, #0x48 ldr r2, [r2, #0xc] mov r1, #0x15 bl AllocAndReadWholeNarcMemberByIdPair add r1, sp, #0x10 add r4, r0, #0 bl NNS_G2dGetUnpackedScreenData ldr r1, [sp, #0x10] add r0, r5, #0 add r1, #0xc bl MOD09_02217C38 add r0, r4, #0 bl FreeToHeap mov r0, #1 str r0, [sp] lsl r0, r0, #9 str r0, [sp, #4] mov r0, #0 str r0, [sp, #8] mov r0, #0x7a ldr r3, [r5] lsl r0, r0, #2 ldr r0, [r5, r0] ldr r3, [r3, #0xc] mov r1, #0x48 mov r2, #0x17 bl PaletteData_LoadNarc mov r0, #0x7a lsl r0, r0, #2 ldr r0, [r5, r0] mov r1, #1 bl PaletteData_GetUnfadedBuf add r2, r0, #0 ldr r0, _02213134 ; =0x00001F60 mov r1, #6 lsl r1, r1, #6 add r1, r2, r1 add r0, r5, r0 mov r2, #0x40 bl memcpy mov r0, #1 str r0, [sp] mov r0, #0x20 str r0, [sp, #4] mov r0, #0xd0 str r0, [sp, #8] mov r0, #0x7a ldr r3, [r5] lsl r0, r0, #2 ldr r0, [r5, r0] ldr r3, [r3, #0xc] mov r1, #0xe mov r2, #6 bl PaletteData_LoadNarc mov r0, #1 str r0, [sp] mov r0, #0x20 str r0, [sp, #4] mov r0, #0xf0 str r0, [sp, #8] ldr r3, [r5] add r0, #0xf8 ldr r0, [r5, r0] ldr r3, [r3, #0xc] mov r1, #0xe mov r2, #7 bl PaletteData_LoadNarc ldr r0, [r5] ldr r0, [r0, #8] bl MOD11_02230E44 add r4, r0, #0 bl FUN_0200CD60 add r1, r0, #0 mov r0, #1 str r0, [sp] mov r0, #0 str r0, [sp, #4] str r0, [sp, #8] ldr r0, [r5] mov r2, #0x79 ldr r0, [r0, #0xc] lsl r2, r2, #2 str r0, [sp, #0xc] ldr r2, [r5, r2] mov r0, #0x26 mov r3, #4 bl GfGfxLoader_LoadCharData add r0, r4, #0 bl FUN_0200CD64 add r2, r0, #0 mov r0, #1 str r0, [sp] mov r0, #0x20 str r0, [sp, #4] mov r0, #0xe0 str r0, [sp, #8] mov r0, #0x7a ldr r3, [r5] lsl r0, r0, #2 ldr r0, [r5, r0] ldr r3, [r3, #0xc] mov r1, #0x26 bl PaletteData_LoadNarc mov r0, #0x7a lsl r0, r0, #2 ldr r0, [r5, r0] mov r1, #1 bl PaletteData_GetUnfadedBuf add r6, r0, #0 ldr r0, [r5] mov r1, #0x20 ldr r0, [r0, #0xc] bl AllocFromHeap mov r1, #0x1a lsl r1, r1, #4 add r1, r6, r1 mov r2, #0x20 add r4, r0, #0 bl memcpy mov r2, #0x4d lsl r2, r2, #2 add r0, r6, r2 ldrb r3, [r0] add r1, r4, #0 add r1, #0xe strb r3, [r4, #0xe] ldrb r3, [r0, #1] strb r3, [r1, #1] ldrb r3, [r0, #2] strb r3, [r1, #2] ldrb r0, [r0, #3] mov r3, #0xd0 strb r0, [r1, #3] add r1, r2, #4 add r0, r2, #4 ldrb r1, [r6, r1] add r0, r6, r0 add r2, #0xb4 strb r1, [r4, #6] ldrb r1, [r0, #1] strb r1, [r4, #7] ldrb r1, [r0, #2] strb r1, [r4, #8] ldrb r0, [r0, #3] add r1, r4, #0 strb r0, [r4, #9] mov r0, #0x20 str r0, [sp] ldr r0, [r5, r2] mov r2, #1 bl PaletteData_LoadPalette add r0, r4, #0 bl FreeToHeap add sp, #0x14 pop {r3, r4, r5, r6, pc} nop _02213134: .word 0x00001F60 thumb_func_start MOD09_02213138 MOD09_02213138: ; 0x02213138 push {r4, lr} add r4, r0, #0 ldr r3, [r4] mov r0, #0 ldr r3, [r3, #0xc] mov r1, #0x1a mov r2, #3 bl NewMsgDataFromNarc ldr r1, _02213180 ; =0x00001FA8 mov r2, #0 str r0, [r4, r1] ldr r3, [r4] mov r0, #0xf ldr r3, [r3, #0xc] mov r1, #0xe bl MessagePrinter_new ldr r1, _02213184 ; =0x00001FA4 str r0, [r4, r1] ldr r0, [r4] ldr r0, [r0, #0xc] bl ScrStrBufs_new ldr r1, _02213188 ; =0x00001FAC str r0, [r4, r1] ldr r1, [r4] mov r0, #2 ldr r1, [r1, #0xc] lsl r0, r0, #8 bl String_ctor ldr r1, _0221318C ; =0x00001FB0 str r0, [r4, r1] pop {r4, pc} nop _02213180: .word 0x00001FA8 _02213184: .word 0x00001FA4 _02213188: .word 0x00001FAC _0221318C: .word 0x00001FB0 thumb_func_start MOD09_02213190 MOD09_02213190: ; 0x02213190 push {r4, lr} add r4, r0, #0 ldr r0, _022131B8 ; =0x00001FA8 ldr r0, [r4, r0] bl DestroyMsgData ldr r0, _022131BC ; =0x00001FA4 ldr r0, [r4, r0] bl MessagePrinter_delete ldr r0, _022131C0 ; =0x00001FAC ldr r0, [r4, r0] bl ScrStrBufs_delete ldr r0, _022131C4 ; =0x00001FB0 ldr r0, [r4, r0] bl String_dtor pop {r4, pc} nop _022131B8: .word 0x00001FA8 _022131BC: .word 0x00001FA4 _022131C0: .word 0x00001FAC _022131C4: .word 0x00001FB0 thumb_func_start MOD09_022131C8 MOD09_022131C8: ; 0x022131C8 push {r3, r4, r5, r6, r7, lr} sub sp, #0x10 str r0, [sp] mov r0, #0 str r0, [sp, #8] ldr r0, [sp] ldr r0, [r0] ldr r0, [r0] bl GetPartyCount cmp r0, #0 bgt _022131E2 b _02213476 _022131E2: ldr r0, [sp, #8] mov r1, #0x50 mul r1, r0 ldr r0, [sp] str r1, [sp, #4] add r4, r0, r1 ldr r0, [r0] ldr r1, [sp, #8] ldr r0, [r0] bl GetPartyMonByIndex str r0, [r4, #4] mov r1, #5 mov r2, #0 bl GetMonData strh r0, [r4, #8] ldrh r0, [r4, #8] cmp r0, #0 bne _0221320C b _0221345A _0221320C: ldr r0, [sp, #8] mov r1, #0x50 add r5, r0, #0 mul r5, r1 ldr r0, [sp] mov r1, #0xa4 add r4, r0, r5 ldr r0, [r4, #4] mov r2, #0 bl GetMonData strh r0, [r4, #0xa] ldr r0, [r4, #4] mov r1, #0xa5 mov r2, #0 bl GetMonData strh r0, [r4, #0xc] ldr r0, [r4, #4] mov r1, #0xa6 mov r2, #0 bl GetMonData strh r0, [r4, #0xe] ldr r0, [r4, #4] mov r1, #0xa7 mov r2, #0 bl GetMonData strh r0, [r4, #0x10] ldr r0, [r4, #4] mov r1, #0xa8 mov r2, #0 bl GetMonData strh r0, [r4, #0x12] ldr r0, [r4, #4] mov r1, #0xa2 mov r2, #0 bl GetMonData strh r0, [r4, #0x14] ldr r0, [r4, #4] mov r1, #0xa3 mov r2, #0 bl GetMonData strh r0, [r4, #0x16] ldr r0, [r4, #4] mov r1, #0xb0 mov r2, #0 bl GetMonData strb r0, [r4, #0x18] ldr r0, [r4, #4] mov r1, #0xb1 mov r2, #0 bl GetMonData ldr r6, [sp] strb r0, [r4, #0x19] ldr r0, [r4, #4] add r6, #0x1a mov r1, #0xa0 mov r2, #0 bl GetMonData ldrb r1, [r6, r5] mov r2, #0x7f lsl r0, r0, #0x18 bic r1, r2 lsr r2, r0, #0x18 mov r0, #0x7f and r0, r2 orr r0, r1 strb r0, [r6, r5] ldr r0, [r4, #4] mov r1, #0xaf mov r2, #0 bl GetMonData cmp r0, #1 ldrb r1, [r6, r5] bne _022132BC mov r0, #0x80 bic r1, r0 strb r1, [r6, r5] b _022132C2 _022132BC: mov r0, #0x80 orr r0, r1 strb r0, [r6, r5] _022132C2: ldr r0, [sp] add r4, r0, r5 add r6, r0, #0 ldr r0, [r4, #4] add r6, #0x1b bl GetMonGender ldrb r1, [r6, r5] mov r2, #7 bic r1, r2 mov r2, #7 and r0, r2 orr r0, r1 strb r0, [r6, r5] ldr r0, [r4, #4] bl FUN_0207C2D4 lsl r0, r0, #0x18 lsr r0, r0, #0x18 lsl r0, r0, #0x1c ldrb r1, [r6, r5] mov r2, #0x78 lsr r0, r0, #0x19 bic r1, r2 orr r0, r1 strb r0, [r6, r5] ldr r0, [r4, #4] mov r1, #0x4c mov r2, #0 bl GetMonData lsl r0, r0, #0x18 lsr r0, r0, #0x18 lsl r0, r0, #0x1f ldrb r1, [r6, r5] mov r2, #0x80 lsr r0, r0, #0x18 bic r1, r2 orr r0, r1 strb r0, [r6, r5] ldr r0, [r4, #4] mov r1, #0xa mov r2, #0 bl GetMonData strh r0, [r4, #0x1c] ldr r0, [r4, #4] mov r1, #6 mov r2, #0 bl GetMonData strh r0, [r4, #0x1e] ldr r0, [r4, #4] mov r1, #8 mov r2, #0 bl GetMonData ldr r6, [sp] str r0, [r4, #0x20] add r6, #0x1a ldrb r1, [r6, r5] ldrh r0, [r4, #8] lsl r1, r1, #0x19 lsr r1, r1, #0x19 bl GetMonExpBySpeciesAndLevel str r0, [r4, #0x24] ldrb r0, [r6, r5] lsl r0, r0, #0x19 lsr r1, r0, #0x19 cmp r1, #0x64 bne _0221335A ldr r0, [sp] add r4, r0, r5 ldr r0, [r4, #0x24] b _02213366 _0221335A: ldr r0, [sp] add r1, r1, #1 add r4, r0, r5 ldrh r0, [r4, #8] bl GetMonExpBySpeciesAndLevel _02213366: str r0, [r4, #0x28] ldr r0, [r4, #4] mov r1, #0x13 mov r2, #0 bl GetMonData add r1, r4, #0 add r1, #0x2c strb r0, [r1] ldr r0, [r4, #4] mov r1, #0x14 mov r2, #0 bl GetMonData add r1, r4, #0 add r1, #0x2d strb r0, [r1] ldr r0, [r4, #4] mov r1, #0x15 mov r2, #0 bl GetMonData add r1, r4, #0 add r1, #0x2e strb r0, [r1] ldr r0, [r4, #4] mov r1, #0x16 mov r2, #0 bl GetMonData add r1, r4, #0 add r1, #0x2f strb r0, [r1] ldr r0, [r4, #4] mov r1, #0x17 mov r2, #0 bl GetMonData add r1, r4, #0 add r1, #0x30 strb r0, [r1] ldr r0, [r4, #4] mov r1, #0xa1 mov r2, #0 bl GetMonData add r1, r4, #0 add r1, #0x31 strb r0, [r1] ldr r0, [r4, #4] mov r1, #0x70 mov r2, #0 bl GetMonData add r4, #0x32 strb r0, [r4] ldr r1, [sp] ldr r0, [sp, #4] add r1, #0x34 add r7, r1, r0 ldr r1, [sp] mov r4, #0 add r6, r1, r0 _022133E4: lsl r0, r4, #3 add r1, r4, #0 str r0, [sp, #0xc] add r5, r7, r0 ldr r0, [r6, #4] add r1, #0x36 mov r2, #0 bl GetMonData ldr r1, [sp, #0xc] strh r0, [r7, r1] add r0, r1, #0 ldrh r0, [r7, r0] cmp r0, #0 beq _02213450 add r1, r4, #0 ldr r0, [r6, #4] add r1, #0x3a mov r2, #0 bl GetMonData strb r0, [r5, #2] add r1, r4, #0 ldr r0, [r6, #4] add r1, #0x3e mov r2, #0 bl GetMonData strb r0, [r5, #3] ldrh r0, [r5] ldrb r1, [r5, #3] bl WazaGetMaxPp strb r0, [r5, #3] ldrh r0, [r5] mov r1, #3 bl GetWazaAttr strb r0, [r5, #4] ldrh r0, [r5] mov r1, #1 bl GetWazaAttr strb r0, [r5, #5] ldrh r0, [r5] mov r1, #4 bl GetWazaAttr strb r0, [r5, #6] ldrh r0, [r5] mov r1, #2 bl GetWazaAttr strb r0, [r5, #7] _02213450: add r0, r4, #1 lsl r0, r0, #0x10 lsr r4, r0, #0x10 cmp r4, #4 blo _022133E4 _0221345A: ldr r0, [sp, #8] add r0, r0, #1 lsl r0, r0, #0x10 lsr r0, r0, #0x10 str r0, [sp, #8] ldr r0, [sp] ldr r0, [r0] ldr r0, [r0] bl GetPartyCount ldr r1, [sp, #8] cmp r1, r0 bge _02213476 b _022131E2 _02213476: add sp, #0x10 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 thumb_func_start MOD09_0221347C MOD09_0221347C: ; 0x0221347C push {r3, r4, r5, lr} ldr r1, _022134EC ; =0x0221AFB8 add r4, r0, #0 bl MOD09_02213614 add r5, r0, #0 mov r0, #0 mvn r0, r0 cmp r5, r0 bne _022134C8 ldr r0, _022134F0 ; =0x00002088 ldr r0, [r4, r0] bl MOD09_0221AD30 add r5, r0, #0 mov r0, #1 mvn r0, r0 cmp r5, r0 bne _022134A6 mov r5, #6 b _022134B0 _022134A6: add r0, r0, #1 cmp r5, r0 bne _022134B0 mov r0, #0 pop {r3, r4, r5, pc} _022134B0: cmp r5, #6 beq _022134C0 add r0, r4, #0 add r1, r5, #0 bl MOD09_02213620 cmp r0, #0 beq _022134E6 _022134C0: ldr r0, [r4] strb r5, [r0, #0x11] mov r0, #1 pop {r3, r4, r5, pc} _022134C8: cmp r5, #6 beq _022134D8 add r0, r4, #0 add r1, r5, #0 bl MOD09_02213620 cmp r0, #0 beq _022134E6 _022134D8: ldr r0, [r4] strb r5, [r0, #0x11] add r0, r4, #0 bl MOD09_022178E4 mov r0, #1 pop {r3, r4, r5, pc} _022134E6: mov r0, #0 pop {r3, r4, r5, pc} nop _022134EC: .word MOD9_0221AFB8 _022134F0: .word 0x00002088 thumb_func_start MOD09_022134F4 MOD09_022134F4: ; 0x022134F4 push {r3, r4, r5, lr} ldr r1, _02213534 ; =0x0221AEF0 add r5, r0, #0 bl MOD09_02213614 add r4, r0, #0 mov r0, #0 mvn r0, r0 cmp r4, r0 bne _02213528 ldr r0, _02213538 ; =0x00002088 ldr r0, [r5, r0] bl MOD09_0221AD30 add r4, r0, #0 mov r0, #1 mvn r0, r0 cmp r4, r0 bne _0221351E mov r4, #3 b _0221352E _0221351E: add r0, r0, #1 cmp r4, r0 bne _0221352E mov r0, #0xff pop {r3, r4, r5, pc} _02213528: add r0, r5, #0 bl MOD09_022178E4 _0221352E: lsl r0, r4, #0x18 lsr r0, r0, #0x18 pop {r3, r4, r5, pc} .align 2, 0 _02213534: .word MOD9_0221AEF0 _02213538: .word 0x00002088 thumb_func_start MOD09_0221353C MOD09_0221353C: ; 0x0221353C push {r3, r4, r5, lr} ldr r1, _0221357C ; =0x0221AF04 add r5, r0, #0 bl MOD09_02213614 add r4, r0, #0 mov r0, #0 mvn r0, r0 cmp r4, r0 bne _02213570 ldr r0, _02213580 ; =0x00002088 ldr r0, [r5, r0] bl MOD09_0221AD30 add r4, r0, #0 mov r0, #1 mvn r0, r0 cmp r4, r0 bne _02213566 mov r4, #3 b _02213576 _02213566: add r0, r0, #1 cmp r4, r0 bne _02213576 mov r0, #0xff pop {r3, r4, r5, pc} _02213570: add r0, r5, #0 bl MOD09_022178E4 _02213576: lsl r0, r4, #0x18 lsr r0, r0, #0x18 pop {r3, r4, r5, pc} .align 2, 0 _0221357C: .word MOD9_0221AF04 _02213580: .word 0x00002088 thumb_func_start MOD09_02213584 MOD09_02213584: ; 0x02213584 push {r3, r4, r5, lr} ldr r1, _022135C4 ; =0x0221AFF8 add r5, r0, #0 bl MOD09_02213614 add r4, r0, #0 mov r0, #0 mvn r0, r0 cmp r4, r0 bne _022135B8 ldr r0, _022135C8 ; =0x00002088 ldr r0, [r5, r0] bl MOD09_0221AD30 add r4, r0, #0 mov r0, #1 mvn r0, r0 cmp r4, r0 bne _022135AE mov r4, #7 b _022135BE _022135AE: add r0, r0, #1 cmp r4, r0 bne _022135BE mov r0, #0xff pop {r3, r4, r5, pc} _022135B8: add r0, r5, #0 bl MOD09_022178E4 _022135BE: lsl r0, r4, #0x18 lsr r0, r0, #0x18 pop {r3, r4, r5, pc} .align 2, 0 _022135C4: .word MOD9_0221AFF8 _022135C8: .word 0x00002088 thumb_func_start MOD09_022135CC MOD09_022135CC: ; 0x022135CC push {r3, r4, r5, lr} ldr r1, _0221360C ; =0x0221AF18 add r5, r0, #0 bl MOD09_02213614 add r4, r0, #0 mov r0, #0 mvn r0, r0 cmp r4, r0 bne _02213600 ldr r0, _02213610 ; =0x00002088 ldr r0, [r5, r0] bl MOD09_0221AD30 add r4, r0, #0 mov r0, #1 mvn r0, r0 cmp r4, r0 bne _022135F6 mov r4, #4 b _02213606 _022135F6: add r0, r0, #1 cmp r4, r0 bne _02213606 mov r0, #0xff pop {r3, r4, r5, pc} _02213600: add r0, r5, #0 bl MOD09_022178E4 _02213606: lsl r0, r4, #0x18 lsr r0, r0, #0x18 pop {r3, r4, r5, pc} .align 2, 0 _0221360C: .word MOD9_0221AF18 _02213610: .word 0x00002088 thumb_func_start MOD09_02213614 MOD09_02213614: ; 0x02213614 ldr r3, _0221361C ; =FUN_02020988 add r0, r1, #0 bx r3 nop _0221361C: .word FUN_02020988 thumb_func_start MOD09_02213620 MOD09_02213620: ; 0x02213620 push {r3, r4, r5, lr} add r4, r1, #0 mov r1, #0x50 add r5, r0, #0 mul r1, r4 add r1, r5, r1 ldrh r1, [r1, #8] cmp r1, #0 bne _02213636 mov r0, #0 pop {r3, r4, r5, pc} _02213636: cmp r4, #0 beq _02213650 bl MOD09_02213B9C cmp r0, #0 bne _0221364C add r0, r5, #0 bl MOD09_02213BBC cmp r0, #0 beq _02213654 _0221364C: cmp r4, #1 bne _02213654 _02213650: mov r0, #1 pop {r3, r4, r5, pc} _02213654: mov r0, #2 pop {r3, r4, r5, pc} thumb_func_start MOD09_02213658 MOD09_02213658: ; 0x02213658 push {r3, r4, r5, r6, r7, lr} sub sp, #8 add r4, r1, #0 add r5, r0, #0 add r7, r2, #0 add r6, r4, #0 bl MOD09_02213BBC cmp r0, #1 bne _022136D0 ldr r2, _0221370C ; =0x0221AEC8 add r1, sp, #0 ldrb r3, [r2] add r0, sp, #0 mov r4, #0 strb r3, [r1] ldrb r3, [r2, #1] strb r3, [r1, #1] ldrb r3, [r2, #2] strb r3, [r1, #2] ldrb r3, [r2, #3] strb r3, [r1, #3] ldrb r3, [r2, #4] ldrb r2, [r2, #5] strb r3, [r1, #4] strb r2, [r1, #5] _0221368C: ldrb r1, [r0] cmp r6, r1 beq _0221369A add r4, r4, #1 add r0, r0, #1 cmp r4, #6 blt _0221368C _0221369A: add r4, r4, r7 bpl _022136A2 mov r4, #5 b _022136A8 _022136A2: cmp r4, #6 blt _022136A8 mov r4, #0 _022136A8: add r0, sp, #0 ldrb r1, [r0, r4] cmp r6, r1 beq _02213704 add r0, r5, #0 bl MOD09_02213620 cmp r0, #0 beq _0221369A add r0, sp, #0 ldrb r0, [r0, r4] mov r1, #0x50 mul r1, r0 add r1, r5, r1 ldrb r1, [r1, #0x1b] lsl r1, r1, #0x18 lsr r1, r1, #0x1f bne _0221369A add sp, #8 pop {r3, r4, r5, r6, r7, pc} _022136D0: add r4, r4, r7 bpl _022136D8 mov r4, #5 b _022136DE _022136D8: cmp r4, #6 blt _022136DE mov r4, #0 _022136DE: cmp r6, r4 beq _02213704 add r0, r5, #0 add r1, r4, #0 bl MOD09_02213620 cmp r0, #0 beq _022136D0 mov r0, #0x50 mul r0, r4 add r0, r5, r0 ldrb r0, [r0, #0x1b] lsl r0, r0, #0x18 lsr r0, r0, #0x1f bne _022136D0 lsl r0, r4, #0x18 add sp, #8 lsr r0, r0, #0x18 pop {r3, r4, r5, r6, r7, pc} _02213704: mov r0, #0xff add sp, #8 pop {r3, r4, r5, r6, r7, pc} nop _0221370C: .word MOD9_0221AEC8 thumb_func_start MOD09_02213710 MOD09_02213710: ; 0x02213710 push {r3, r4, r5, r6, r7, lr} add r6, r0, #0 cmp r1, #2 bne _0221378E ldr r0, [r6] add r2, r6, #4 ldrb r1, [r0, #0x11] mov r0, #0x50 mul r0, r1 add r0, r2, r0 ldrb r1, [r0, #0x16] lsl r1, r1, #0x19 lsr r1, r1, #0x19 cmp r1, #0x64 bhs _0221373A ldr r2, [r0, #0x20] ldr r1, [r0, #0x24] ldr r0, [r0, #0x1c] sub r1, r1, r2 sub r0, r0, r2 b _0221373E _0221373A: mov r1, #0 add r0, r1, #0 _0221373E: mov r2, #0x40 bl FUN_02079A0C add r4, r0, #0 mov r5, #0 mov r7, #0x1e _0221374A: cmp r4, #8 blo _02213752 add r1, r7, #0 b _0221375A _02213752: add r0, r4, #0 add r0, #0x16 lsl r0, r0, #0x10 lsr r1, r0, #0x10 _0221375A: add r2, r5, #0 add r2, #0xa lsl r2, r2, #0x10 add r0, r6, #0 lsr r2, r2, #0x10 mov r3, #8 bl MOD09_02213790 cmp r4, #8 bhs _02213772 mov r4, #0 b _02213778 _02213772: sub r4, #8 lsl r0, r4, #0x18 lsr r4, r0, #0x18 _02213778: add r0, r5, #1 lsl r0, r0, #0x18 lsr r5, r0, #0x18 cmp r5, #8 blo _0221374A mov r0, #0x79 lsl r0, r0, #2 ldr r0, [r6, r0] mov r1, #7 bl ScheduleBgTilemapBufferTransfer _0221378E: pop {r3, r4, r5, r6, r7, pc} thumb_func_start MOD09_02213790 MOD09_02213790: ; 0x02213790 push {r3, r4, r5, lr} sub sp, #0x10 add r5, r1, #0 lsl r1, r3, #0x18 lsr r1, r1, #0x18 str r1, [sp] mov r1, #1 str r1, [sp, #4] add r4, r2, #0 str r1, [sp, #8] mov r1, #0x10 str r1, [sp, #0xc] mov r1, #0x79 lsl r1, r1, #2 ldr r0, [r0, r1] lsl r3, r4, #0x18 mov r1, #7 add r2, r5, #0 lsr r3, r3, #0x18 bl FillBgTilemapRect add sp, #0x10 pop {r3, r4, r5, pc} .align 2, 0 thumb_func_start MOD09_022137C0 MOD09_022137C0: ; 0x022137C0 push {r3, r4, r5, r6, r7, lr} sub sp, #0x10 add r5, r0, #0 mov r0, #0xe str r0, [sp] mov r0, #1 str r0, [sp, #4] str r0, [sp, #8] mov r0, #0x10 lsl r6, r2, #1 add r4, r1, #0 str r0, [sp, #0xc] mov r0, #0x79 add r7, r6, #2 lsl r0, r0, #2 lsl r3, r7, #0x18 ldr r0, [r5, r0] mov r1, #7 add r2, r4, #0 lsr r3, r3, #0x18 bl FillBgTilemapRect mov r0, #0xe str r0, [sp] mov r0, #1 str r0, [sp, #4] str r0, [sp, #8] mov r0, #0x10 str r0, [sp, #0xc] mov r0, #0x79 add r6, r6, #3 lsl r0, r0, #2 add r2, r4, #1 lsl r2, r2, #0x10 lsl r3, r6, #0x18 ldr r0, [r5, r0] mov r1, #7 lsr r2, r2, #0x10 lsr r3, r3, #0x18 bl FillBgTilemapRect mov r0, #0xf str r0, [sp] mov r0, #1 str r0, [sp, #4] str r0, [sp, #8] mov r0, #0x10 str r0, [sp, #0xc] mov r0, #0x79 add r2, r4, #0 lsl r0, r0, #2 add r2, #0x20 lsl r2, r2, #0x10 lsl r3, r7, #0x18 ldr r0, [r5, r0] mov r1, #7 lsr r2, r2, #0x10 lsr r3, r3, #0x18 bl FillBgTilemapRect mov r0, #0xf str r0, [sp] mov r0, #1 str r0, [sp, #4] str r0, [sp, #8] mov r0, #0x10 str r0, [sp, #0xc] mov r0, #0x79 lsl r0, r0, #2 add r4, #0x21 lsl r2, r4, #0x10 lsl r3, r6, #0x18 ldr r0, [r5, r0] mov r1, #7 lsr r2, r2, #0x10 lsr r3, r3, #0x18 bl FillBgTilemapRect add sp, #0x10 pop {r3, r4, r5, r6, r7, pc} thumb_func_start MOD09_02213860 MOD09_02213860: ; 0x02213860 push {r4, r5, r6, lr} ldr r6, _02213880 ; =0x00000125 add r5, r0, #0 mov r4, #0 _02213868: lsl r2, r4, #0x18 add r0, r5, #0 add r1, r6, #0 lsr r2, r2, #0x18 bl MOD09_022137C0 add r0, r4, #1 lsl r0, r0, #0x10 lsr r4, r0, #0x10 cmp r4, #6 blo _02213868 pop {r4, r5, r6, pc} .align 2, 0 _02213880: .word 0x00000125 thumb_func_start MOD09_02213884 MOD09_02213884: ; 0x02213884 push {r3, r4, r5, r6, r7, lr} add r5, r0, #0 cmp r1, #9 bne _022138EE bl MOD09_02213860 ldr r1, [r5] add r0, r1, #0 add r0, #0x34 ldrb r2, [r0] cmp r2, #4 bhs _022138AC ldrb r1, [r1, #0x11] mov r0, #0x50 mul r0, r1 add r1, r5, r0 lsl r0, r2, #3 add r0, r1, r0 ldrh r0, [r0, #0x34] b _022138AE _022138AC: ldrh r0, [r1, #0x24] _022138AE: mov r1, #0xa bl GetWazaAttr bl FUN_02083114 mov r1, #0xa bl _s32_div_f lsl r0, r0, #0x18 asr r6, r0, #0x18 mov r4, #0 cmp r6, #0 ble _022138E2 mov r7, #5 lsl r7, r7, #6 _022138CC: lsl r2, r4, #0x18 add r0, r5, #0 add r1, r7, #0 lsr r2, r2, #0x18 bl MOD09_022137C0 add r0, r4, #1 lsl r0, r0, #0x10 lsr r4, r0, #0x10 cmp r4, r6 blt _022138CC _022138E2: mov r0, #0x79 lsl r0, r0, #2 ldr r0, [r5, r0] mov r1, #7 bl ScheduleBgTilemapBufferTransfer _022138EE: pop {r3, r4, r5, r6, r7, pc} thumb_func_start MOD09_022138F0 MOD09_022138F0: ; 0x022138F0 push {r3, r4, r5, lr} add r5, r0, #0 add r4, r1, #0 bl MOD09_02213968 mov r0, #0x79 lsl r0, r0, #2 ldr r0, [r5, r0] mov r1, #4 mov r2, #0 bl BgFillTilemapBufferAndSchedule mov r0, #0x79 lsl r0, r0, #2 ldr r0, [r5, r0] mov r1, #5 mov r2, #0 bl BgFillTilemapBufferAndSchedule add r0, r5, #0 add r1, r4, #0 bl MOD09_02216D80 add r0, r5, #0 bl MOD09_02213DE0 add r0, r5, #0 add r1, r4, #0 bl MOD09_02213CF4 add r0, r5, #0 add r1, r4, #0 bl MOD09_02213E28 add r0, r5, #0 add r1, r4, #0 bl MOD09_02213710 add r0, r5, #0 add r1, r4, #0 bl MOD09_02213884 add r0, r5, #0 add r1, r4, #0 bl MOD09_02217838 add r0, r5, #0 add r1, r4, #0 bl MOD09_022182E8 add r0, r5, #0 add r1, r4, #0 bl MOD09_02218640 ldr r0, _02213964 ; =0x0000207A strb r4, [r5, r0] pop {r3, r4, r5, pc} nop _02213964: .word 0x0000207A thumb_func_start MOD09_02213968 MOD09_02213968: ; 0x02213968 push {r3, r4, r5, r6, r7, lr} sub sp, #0x10 ldr r2, _022139D0 ; =0x0221B01C add r5, r0, #0 lsl r0, r1, #3 mov r4, #0 add r6, r2, r0 _02213976: ldr r2, [r5] ldr r1, [r6] ldr r2, [r2, #0xc] mov r0, #0x48 bl AllocAndReadWholeNarcMemberByIdPair add r1, sp, #0xc add r7, r0, #0 bl NNS_G2dGetUnpackedScreenData mov r0, #0 str r0, [sp] mov r0, #0x20 str r0, [sp, #4] mov r0, #0x18 str r0, [sp, #8] mov r0, #0x79 lsl r0, r0, #2 add r1, r4, #6 ldr r2, [sp, #0xc] lsl r1, r1, #0x18 ldr r0, [r5, r0] lsr r1, r1, #0x18 add r2, #0xc mov r3, #0 bl LoadRectToBgTilemapRect mov r0, #0x79 lsl r0, r0, #2 add r1, r4, #6 lsl r1, r1, #0x18 ldr r0, [r5, r0] lsr r1, r1, #0x18 bl ScheduleBgTilemapBufferTransfer add r0, r7, #0 bl FreeToHeap add r4, r4, #1 add r6, r6, #4 cmp r4, #2 blo _02213976 add sp, #0x10 pop {r3, r4, r5, r6, r7, pc} nop _022139D0: .word MOD9_0221B01C thumb_func_start MOD09_022139D4 MOD09_022139D4: ; 0x022139D4 push {r3, r4, r5, r6, r7, lr} add r5, r0, #0 ldr r1, [r5] mov r2, #0x50 ldrb r1, [r1, #0x11] add r3, r5, #4 mul r2, r1 add r4, r3, r2 bl MOD09_02213BDC cmp r0, #1 bne _02213A30 ldr r0, _02213B70 ; =0x00001FA8 mov r1, #0x50 ldr r0, [r5, r0] bl NewString_ReadMsgData ldr r1, [r5] add r4, r0, #0 ldr r0, [r1, #8] ldr r1, [r1, #0x28] bl MOD11_022302BC add r1, r0, #0 ldr r0, [r5] ldr r0, [r0, #8] bl MOD11_02230188 add r2, r0, #0 ldr r0, _02213B74 ; =0x00001FAC mov r1, #0 ldr r0, [r5, r0] bl BufferTrainerNameFromDataStruct ldr r1, _02213B74 ; =0x00001FAC add r2, r4, #0 ldr r0, [r5, r1] add r1, r1, #4 ldr r1, [r5, r1] bl StringExpandPlaceholders add r0, r4, #0 bl String_dtor mov r0, #0 pop {r3, r4, r5, r6, r7, pc} _02213A30: ldrh r0, [r4, #0x10] cmp r0, #0 bne _02213A6C ldr r0, _02213B70 ; =0x00001FA8 mov r1, #0x4d ldr r0, [r5, r0] bl NewString_ReadMsgData add r6, r0, #0 ldr r0, [r4] bl FUN_020690E4 add r2, r0, #0 ldr r0, _02213B74 ; =0x00001FAC mov r1, #0 ldr r0, [r5, r0] bl BufferBoxMonNickname ldr r1, _02213B74 ; =0x00001FAC add r2, r6, #0 ldr r0, [r5, r1] add r1, r1, #4 ldr r1, [r5, r1] bl StringExpandPlaceholders add r0, r6, #0 bl String_dtor mov r0, #0 pop {r3, r4, r5, r6, r7, pc} _02213A6C: ldr r2, [r5] ldrb r0, [r2, #0x11] add r0, r2, r0 add r0, #0x2c ldrb r1, [r0] ldrb r0, [r2, #0x14] cmp r0, r1 beq _02213A82 ldrb r0, [r2, #0x15] cmp r0, r1 bne _02213AB8 _02213A82: ldr r0, _02213B70 ; =0x00001FA8 mov r1, #0x4c ldr r0, [r5, r0] bl NewString_ReadMsgData add r6, r0, #0 ldr r0, [r4] bl FUN_020690E4 add r2, r0, #0 ldr r0, _02213B74 ; =0x00001FAC mov r1, #0 ldr r0, [r5, r0] bl BufferBoxMonNickname ldr r1, _02213B74 ; =0x00001FAC add r2, r6, #0 ldr r0, [r5, r1] add r1, r1, #4 ldr r1, [r5, r1] bl StringExpandPlaceholders add r0, r6, #0 bl String_dtor mov r0, #0 pop {r3, r4, r5, r6, r7, pc} _02213AB8: add r0, r5, #0 bl MOD09_02213B7C cmp r0, #1 bne _02213AD4 ldr r2, _02213B70 ; =0x00001FA8 mov r1, #0x4f ldr r0, [r5, r2] add r2, #8 ldr r2, [r5, r2] bl ReadMsgDataIntoString mov r0, #0 pop {r3, r4, r5, r6, r7, pc} _02213AD4: ldr r2, [r5] ldrb r1, [r2, #0x12] cmp r1, #6 beq _02213B24 ldrb r4, [r2, #0x11] add r0, r2, r4 add r0, #0x2c ldrb r0, [r0] cmp r1, r0 bne _02213B24 ldr r0, _02213B70 ; =0x00001FA8 mov r1, #0x5d ldr r0, [r5, r0] bl NewString_ReadMsgData add r6, r0, #0 mov r0, #0x50 mul r0, r4 add r0, r5, r0 ldr r0, [r0, #4] bl FUN_020690E4 add r2, r0, #0 ldr r0, _02213B74 ; =0x00001FAC mov r1, #0 ldr r0, [r5, r0] bl BufferBoxMonNickname ldr r1, _02213B74 ; =0x00001FAC add r2, r6, #0 ldr r0, [r5, r1] add r1, r1, #4 ldr r1, [r5, r1] bl StringExpandPlaceholders add r0, r6, #0 bl String_dtor mov r0, #0 pop {r3, r4, r5, r6, r7, pc} _02213B24: ldrh r0, [r2, #0x24] cmp r0, #0 beq _02213B6C ldr r1, _02213B78 ; =0x00002076 mov r0, #0x50 ldrb r2, [r5, r1] sub r1, #0xce add r4, r5, #4 add r6, r2, #0 mul r6, r0 ldr r0, [r5, r1] mov r1, #0x4e bl NewString_ReadMsgData add r7, r0, #0 ldr r0, [r4, r6] bl FUN_020690E4 add r2, r0, #0 ldr r0, _02213B74 ; =0x00001FAC mov r1, #0 ldr r0, [r5, r0] bl BufferBoxMonNickname ldr r1, _02213B74 ; =0x00001FAC add r2, r7, #0 ldr r0, [r5, r1] add r1, r1, #4 ldr r1, [r5, r1] bl StringExpandPlaceholders add r0, r7, #0 bl String_dtor mov r0, #0 pop {r3, r4, r5, r6, r7, pc} _02213B6C: mov r0, #1 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _02213B70: .word 0x00001FA8 _02213B74: .word 0x00001FAC _02213B78: .word 0x00002076 thumb_func_start MOD09_02213B7C MOD09_02213B7C: ; 0x02213B7C ldr r1, [r0] ldrb r2, [r1, #0x11] mov r1, #0x50 mul r1, r2 add r0, r0, r1 ldrb r0, [r0, #0x1b] lsl r0, r0, #0x18 lsr r0, r0, #0x1f beq _02213B92 mov r0, #1 b _02213B94 _02213B92: mov r0, #0 _02213B94: lsl r0, r0, #0x18 lsr r0, r0, #0x18 bx lr .align 2, 0 thumb_func_start MOD09_02213B9C MOD09_02213B9C: ; 0x02213B9C push {r3, lr} ldr r0, [r0] ldr r0, [r0, #8] bl MOD11_0222FF74 cmp r0, #0x4a beq _02213BB8 cmp r0, #0x4b beq _02213BB8 mov r1, #0x12 tst r0, r1 beq _02213BB8 mov r0, #1 pop {r3, pc} _02213BB8: mov r0, #0 pop {r3, pc} thumb_func_start MOD09_02213BBC MOD09_02213BBC: ; 0x02213BBC push {r3, lr} ldr r0, [r0] ldr r0, [r0, #8] bl MOD11_0222FF74 cmp r0, #0x4a beq _02213BD8 cmp r0, #0x4b beq _02213BD8 mov r1, #8 tst r0, r1 beq _02213BD8 mov r0, #1 pop {r3, pc} _02213BD8: mov r0, #0 pop {r3, pc} thumb_func_start MOD09_02213BDC MOD09_02213BDC: ; 0x02213BDC push {r3, r4, r5, lr} add r5, r0, #0 add r4, r1, #0 bl MOD09_02213BBC cmp r0, #1 bne _02213C04 ldr r0, _02213C08 ; =0x0000208F ldrb r0, [r5, r0] cmp r0, #2 bne _02213BFC mov r0, #1 add r1, r4, #0 tst r1, r0 beq _02213C04 pop {r3, r4, r5, pc} _02213BFC: mov r0, #1 add r1, r4, #0 tst r1, r0 beq _02213C06 _02213C04: mov r0, #0 _02213C06: pop {r3, r4, r5, pc} .align 2, 0 _02213C08: .word 0x0000208F thumb_func_start MOD09_02213C0C MOD09_02213C0C: ; 0x02213C0C ldr r2, [r0] add r1, r2, #0 add r1, #0x34 ldrb r3, [r1] cmp r3, #4 bne _02213C1C ldrh r0, [r2, #0x24] b _02213C2A _02213C1C: ldrb r2, [r2, #0x11] mov r1, #0x50 mul r1, r2 add r1, r0, r1 lsl r0, r3, #3 add r0, r1, r0 ldrh r0, [r0, #0x34] _02213C2A: ldr r3, _02213C30 ; =MoveIsHM bx r3 nop _02213C30: .word MoveIsHM thumb_func_start MOD09_02213C34 MOD09_02213C34: ; 0x02213C34 push {r4, lr} add r4, r0, #0 ldr r0, _02213C64 ; =0x00002020 mov r1, #0 ldr r0, [r4, r0] bl FUN_0200C644 ldr r0, _02213C68 ; =0x00002070 ldr r0, [r4, r0] add r0, #0xa0 bl ClearWindowTilemapAndScheduleTransfer ldr r0, _02213C68 ; =0x00002070 ldr r0, [r4, r0] add r0, #0x60 bl ClearWindowTilemapAndScheduleTransfer ldr r0, _02213C68 ; =0x00002070 ldr r0, [r4, r0] add r0, #0x70 bl ClearWindowTilemapAndScheduleTransfer pop {r4, pc} nop _02213C64: .word 0x00002020 _02213C68: .word 0x00002070 thumb_func_start MOD09_02213C6C MOD09_02213C6C: ; 0x02213C6C push {r4, lr} add r4, r0, #0 bl MOD09_02213860 mov r0, #0x79 lsl r0, r0, #2 ldr r0, [r4, r0] mov r1, #7 bl ScheduleBgTilemapBufferTransfer pop {r4, pc} .align 2, 0 thumb_func_start MOD09_02213C84 MOD09_02213C84: ; 0x02213C84 push {r3, r4, r5, r6, r7, lr} add r4, r1, #0 add r5, r0, #0 add r6, r2, #0 add r7, r3, #0 cmp r4, #0x41 beq _02213CA8 cmp r4, #0x43 beq _02213CA8 cmp r4, #0x42 beq _02213CA8 bl MOD11_02230214 add r1, r4, #0 mov r2, #1 add r3, r7, #0 bl Bag_TakeItem _02213CA8: add r0, r5, #0 bl MOD11_02230218 add r1, r4, #0 add r2, r6, #0 bl FUN_0206F1E4 pop {r3, r4, r5, r6, r7, pc} thumb_func_start MOD09_02213CB8 MOD09_02213CB8: ; 0x02213CB8 push {r3, r4, r5, r6, r7, lr} add r7, r0, #0 ldr r0, _02213CE8 ; =0x00002050 ldr r4, _02213CEC ; =0x0221B06C mov r6, #0 add r5, r7, r0 _02213CC4: mov r0, #0x79 lsl r0, r0, #2 ldr r0, [r7, r0] add r1, r5, #0 add r2, r4, #0 bl AddWindow add r6, r6, #1 add r4, #8 add r5, #0x10 cmp r6, #2 blo _02213CC4 ldr r1, _02213CF0 ; =0x0000207A add r0, r7, #0 ldrb r1, [r7, r1] bl MOD09_02213CF4 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _02213CE8: .word 0x00002050 _02213CEC: .word MOD9_0221B06C _02213CF0: .word 0x0000207A thumb_func_start MOD09_02213CF4 MOD09_02213CF4: ; 0x02213CF4 push {r3, r4, r5, r6, r7, lr} add r4, r0, #0 cmp r1, #9 bhi _02213D74 add r0, r1, r1 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _02213D08: ; jump table .short _02213D1C - _02213D08 - 2 ; case 0 .short _02213D26 - _02213D08 - 2 ; case 1 .short _02213D30 - _02213D08 - 2 ; case 2 .short _02213D3A - _02213D08 - 2 ; case 3 .short _02213D44 - _02213D08 - 2 ; case 4 .short _02213D4E - _02213D08 - 2 ; case 5 .short _02213D58 - _02213D08 - 2 ; case 6 .short _02213D62 - _02213D08 - 2 ; case 7 .short _02213D58 - _02213D08 - 2 ; case 8 .short _02213D6C - _02213D08 - 2 ; case 9 _02213D1C: ldr r0, _02213DB4 ; =0x00002074 mov r1, #6 ldr r6, _02213DB8 ; =0x0221B120 strb r1, [r4, r0] b _02213D74 _02213D26: ldr r0, _02213DB4 ; =0x00002074 mov r1, #4 ldr r6, _02213DBC ; =0x0221B0A8 strb r1, [r4, r0] b _02213D74 _02213D30: ldr r0, _02213DB4 ; =0x00002074 mov r1, #0x23 ldr r6, _02213DC0 ; =0x0221B2C8 strb r1, [r4, r0] b _02213D74 _02213D3A: ldr r0, _02213DB4 ; =0x00002074 mov r1, #0xb ldr r6, _02213DC4 ; =0x0221B188 strb r1, [r4, r0] b _02213D74 _02213D44: ldr r0, _02213DB4 ; =0x00002074 mov r1, #0x11 ldr r6, _02213DC8 ; =0x0221B240 strb r1, [r4, r0] b _02213D74 _02213D4E: ldr r0, _02213DB4 ; =0x00002074 mov r1, #5 ldr r6, _02213DCC ; =0x0221B0C8 strb r1, [r4, r0] b _02213D74 _02213D58: ldr r0, _02213DB4 ; =0x00002074 mov r1, #6 ldr r6, _02213DD0 ; =0x0221B0F0 strb r1, [r4, r0] b _02213D74 _02213D62: ldr r0, _02213DB4 ; =0x00002074 mov r1, #0xc ldr r6, _02213DD4 ; =0x0221B1E0 strb r1, [r4, r0] b _02213D74 _02213D6C: ldr r0, _02213DB4 ; =0x00002074 mov r1, #7 ldr r6, _02213DD8 ; =0x0221B150 strb r1, [r4, r0] _02213D74: ldr r1, _02213DB4 ; =0x00002074 ldr r0, [r4] ldrb r1, [r4, r1] ldr r0, [r0, #0xc] bl AllocWindows ldr r1, _02213DDC ; =0x00002070 mov r5, #0 str r0, [r4, r1] add r0, r1, #4 ldrb r0, [r4, r0] cmp r0, #0 bls _02213DB2 add r7, r1, #4 _02213D90: ldr r1, _02213DDC ; =0x00002070 mov r0, #0x79 ldr r2, [r4, r1] lsl r0, r0, #2 lsl r1, r5, #4 add r1, r2, r1 lsl r2, r5, #3 ldr r0, [r4, r0] add r2, r6, r2 bl AddWindow add r0, r5, #1 lsl r0, r0, #0x18 lsr r5, r0, #0x18 ldrb r0, [r4, r7] cmp r5, r0 blo _02213D90 _02213DB2: pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _02213DB4: .word 0x00002074 _02213DB8: .word MOD9_0221B120 _02213DBC: .word MOD9_0221B0A8 _02213DC0: .word MOD9_0221B2C8 _02213DC4: .word MOD9_0221B188 _02213DC8: .word MOD9_0221B240 _02213DCC: .word MOD9_0221B0C8 _02213DD0: .word MOD9_0221B0F0 _02213DD4: .word MOD9_0221B1E0 _02213DD8: .word MOD9_0221B150 _02213DDC: .word 0x00002070 thumb_func_start MOD09_02213DE0 MOD09_02213DE0: ; 0x02213DE0 ldr r1, _02213DF0 ; =0x00002070 add r2, r0, #0 ldr r0, [r2, r1] add r1, r1, #4 ldr r3, _02213DF4 ; =FUN_020191A4 ldrb r1, [r2, r1] bx r3 nop _02213DF0: .word 0x00002070 _02213DF4: .word WindowArray_dtor thumb_func_start MOD09_02213DF8 MOD09_02213DF8: ; 0x02213DF8 push {r3, r4, r5, lr} ldr r1, _02213E20 ; =0x00002070 add r5, r0, #0 ldr r0, [r5, r1] add r1, r1, #4 ldrb r1, [r5, r1] bl WindowArray_dtor ldr r0, _02213E24 ; =0x00002050 mov r4, #0 add r5, r5, r0 _02213E0E: add r0, r5, #0 bl RemoveWindow add r4, r4, #1 add r5, #0x10 cmp r4, #2 blo _02213E0E pop {r3, r4, r5, pc} nop _02213E20: .word 0x00002070 _02213E24: .word 0x00002050 thumb_func_start MOD09_02213E28 MOD09_02213E28: ; 0x02213E28 push {r3, lr} cmp r1, #9 bhi _02213E82 add r1, r1, r1 add r1, pc ldrh r1, [r1, #6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _02213E3A: ; jump table .short _02213E4E - _02213E3A - 2 ; case 0 .short _02213E54 - _02213E3A - 2 ; case 1 .short _02213E5A - _02213E3A - 2 ; case 2 .short _02213E60 - _02213E3A - 2 ; case 3 .short _02213E66 - _02213E3A - 2 ; case 4 .short _02213E6C - _02213E3A - 2 ; case 5 .short _02213E72 - _02213E3A - 2 ; case 6 .short _02213E78 - _02213E3A - 2 ; case 7 .short _02213E72 - _02213E3A - 2 ; case 8 .short _02213E7E - _02213E3A - 2 ; case 9 _02213E4E: bl MOD09_022155D0 pop {r3, pc} _02213E54: bl MOD09_022156FC pop {r3, pc} _02213E5A: bl MOD09_02215A2C pop {r3, pc} _02213E60: bl MOD09_022158EC pop {r3, pc} _02213E66: bl MOD09_02215C44 pop {r3, pc} _02213E6C: bl MOD09_0221609C pop {r3, pc} _02213E72: bl MOD09_02215DA8 pop {r3, pc} _02213E78: bl MOD09_02215ED0 pop {r3, pc} _02213E7E: bl MOD09_022161B0 _02213E82: pop {r3, pc} thumb_func_start MOD09_02213E84 MOD09_02213E84: ; 0x02213E84 push {r3, r4, r5, r6, r7, lr} sub sp, #0x30 add r6, r0, #0 ldr r0, _02214014 ; =0x00002070 str r3, [sp, #0x14] ldr r5, [r6, r0] lsl r4, r1, #4 ldr r0, [sp, #0x14] mov r1, #0x50 mul r1, r0 add r7, r6, #4 add r0, r7, r1 str r1, [sp, #0x24] ldr r1, [r6] str r0, [sp, #0x20] ldr r1, [r1, #0xc] mov r0, #0xc str r2, [sp, #0x10] bl String_ctor ldr r1, [sp, #0x14] str r0, [sp, #0x1c] ldr r0, _02214018 ; =0x00001FA8 lsl r2, r1, #2 ldr r1, _0221401C ; =0x0221B090 ldr r0, [r6, r0] ldr r1, [r1, r2] bl NewString_ReadMsgData str r0, [sp, #0x18] ldr r0, [sp, #0x24] ldr r0, [r7, r0] bl FUN_020690E4 add r2, r0, #0 ldr r0, _02214020 ; =0x00001FAC mov r1, #0 ldr r0, [r6, r0] bl BufferBoxMonNickname ldr r0, _02214020 ; =0x00001FAC ldr r1, [sp, #0x1c] ldr r0, [r6, r0] ldr r2, [sp, #0x18] bl StringExpandPlaceholders ldr r0, [sp, #0x10] add r3, sp, #0x38 cmp r0, #0 bne _02213F06 ldrb r7, [r3, #0x14] mov r0, #0xff ldr r1, [sp, #0x10] str r7, [sp] str r0, [sp, #4] ldr r0, _02214024 ; =0x000F0E00 ldr r2, [sp, #0x1c] str r0, [sp, #8] mov r0, #0 str r0, [sp, #0xc] ldrb r3, [r3, #0x10] add r0, r5, r4 bl AddTextPrinterParameterized2 b _02213F22 _02213F06: ldrb r7, [r3, #0x14] mov r0, #0xff ldr r1, [sp, #0x10] str r7, [sp] str r0, [sp, #4] ldr r0, _02214028 ; =0x00070809 ldr r2, [sp, #0x1c] str r0, [sp, #8] mov r0, #0 str r0, [sp, #0xc] ldrb r3, [r3, #0x10] add r0, r5, r4 bl AddTextPrinterParameterized2 _02213F22: ldr r0, [sp, #0x18] bl String_dtor ldr r0, [sp, #0x1c] bl String_dtor ldr r0, [sp, #0x20] ldrb r0, [r0, #0x16] lsl r0, r0, #0x18 lsr r0, r0, #0x1f bne _02214008 ldr r0, [sp, #0x20] ldrb r0, [r0, #0x17] lsl r1, r0, #0x18 lsr r1, r1, #0x1f bne _02214008 lsl r0, r0, #0x1d lsr r0, r0, #0x1d bne _02213FA6 ldr r0, _02214018 ; =0x00001FA8 mov r1, #0x10 ldr r0, [r6, r0] bl NewString_ReadMsgData add r6, r0, #0 add r0, r5, r4 bl GetWindowWidth str r0, [sp, #0x28] mov r0, #0 add r1, r6, #0 add r2, r0, #0 bl FUN_02002E14 ldr r1, [sp, #0x28] str r7, [sp] lsl r1, r1, #3 sub r3, r1, r0 ldr r0, [sp, #0x10] cmp r0, #0 bne _02213F8A mov r0, #0xff str r0, [sp, #4] ldr r0, _0221402C ; =0x00070800 mov r1, #0 str r0, [sp, #8] add r0, r5, r4 add r2, r6, #0 str r1, [sp, #0xc] bl AddTextPrinterParameterized2 b _02213F9E _02213F8A: mov r0, #0xff str r0, [sp, #4] ldr r0, _02214030 ; =0x000A0B00 mov r1, #0 str r0, [sp, #8] add r0, r5, r4 add r2, r6, #0 str r1, [sp, #0xc] bl AddTextPrinterParameterized2 _02213F9E: add r0, r6, #0 bl String_dtor b _02214008 _02213FA6: cmp r0, #1 bne _02214008 ldr r0, _02214018 ; =0x00001FA8 mov r1, #0x11 ldr r0, [r6, r0] bl NewString_ReadMsgData add r6, r0, #0 add r0, r5, r4 bl GetWindowWidth str r0, [sp, #0x2c] mov r0, #0 add r1, r6, #0 add r2, r0, #0 bl FUN_02002E14 ldr r1, [sp, #0x2c] str r7, [sp] lsl r1, r1, #3 sub r3, r1, r0 ldr r0, [sp, #0x10] cmp r0, #0 bne _02213FEE mov r0, #0xff str r0, [sp, #4] mov r0, #0xc1 lsl r0, r0, #0xa str r0, [sp, #8] mov r1, #0 add r0, r5, r4 add r2, r6, #0 str r1, [sp, #0xc] bl AddTextPrinterParameterized2 b _02214002 _02213FEE: mov r0, #0xff str r0, [sp, #4] ldr r0, _02214034 ; =0x000C0D00 mov r1, #0 str r0, [sp, #8] add r0, r5, r4 add r2, r6, #0 str r1, [sp, #0xc] bl AddTextPrinterParameterized2 _02214002: add r0, r6, #0 bl String_dtor _02214008: add r0, r5, r4 bl ScheduleWindowCopyToVram add sp, #0x30 pop {r3, r4, r5, r6, r7, pc} nop _02214014: .word 0x00002070 _02214018: .word 0x00001FA8 _0221401C: .word MOD9_0221B090 _02214020: .word 0x00001FAC _02214024: .word 0x000F0E00 _02214028: .word 0x00070809 _0221402C: .word 0x00070800 _02214030: .word 0x000A0B00 _02214034: .word 0x000C0D00 thumb_func_start MOD09_02214038 MOD09_02214038: ; 0x02214038 push {r3, r4, r5, lr} sub sp, #0x10 add r5, r0, #0 mov r0, #0 str r0, [sp] ldr r0, _0221407C ; =0x00002070 lsl r4, r1, #4 ldr r1, [r5, r0] add r3, #8 add r1, r1, r4 str r1, [sp, #4] str r3, [sp, #8] add r1, sp, #0x10 ldrb r1, [r1, #0x10] mov r3, #0x50 mul r3, r2 str r1, [sp, #0xc] add r2, r5, r3 ldrb r2, [r2, #0x1a] sub r0, #0xcc ldr r0, [r5, r0] lsl r2, r2, #0x19 mov r1, #1 lsr r2, r2, #0x19 mov r3, #3 bl FUN_0200BA78 ldr r0, _0221407C ; =0x00002070 ldr r0, [r5, r0] add r0, r0, r4 bl ScheduleWindowCopyToVram add sp, #0x10 pop {r3, r4, r5, pc} .align 2, 0 _0221407C: .word 0x00002070 thumb_func_start MOD09_02214080 MOD09_02214080: ; 0x02214080 push {r3, r4, r5, r6, r7, lr} sub sp, #0x10 add r5, r0, #0 mov r0, #0x50 add r7, r3, #0 mul r0, r2 add r3, r5, #4 add r0, r3, r0 str r0, [sp, #0xc] add r0, sp, #0x18 ldrb r6, [r0, #0x10] ldr r0, _022140F8 ; =0x00002070 lsl r4, r1, #4 ldr r1, [r5, r0] sub r0, #0xcc add r1, r1, r4 str r1, [sp] str r7, [sp, #4] str r6, [sp, #8] ldr r1, [sp, #0xc] ldr r0, [r5, r0] ldrh r1, [r1, #0x10] mov r2, #3 mov r3, #1 bl FUN_0200B9EC add r3, r7, #0 ldr r2, _022140FC ; =0x00001FA4 str r6, [sp] ldr r0, [r5, r2] add r2, #0xcc ldr r2, [r5, r2] mov r1, #0 add r2, r2, r4 add r3, #0x18 bl FUN_0200B9A8 ldr r0, _022140F8 ; =0x00002070 add r7, #0x20 ldr r1, [r5, r0] sub r0, #0xcc add r1, r1, r4 str r1, [sp] str r7, [sp, #4] str r6, [sp, #8] ldr r1, [sp, #0xc] ldr r0, [r5, r0] ldrh r1, [r1, #0x12] mov r2, #3 mov r3, #0 bl FUN_0200B9EC ldr r0, _022140F8 ; =0x00002070 ldr r0, [r5, r0] add r0, r0, r4 bl ScheduleWindowCopyToVram add sp, #0x10 pop {r3, r4, r5, r6, r7, pc} nop _022140F8: .word 0x00002070 _022140FC: .word 0x00001FA4 thumb_func_start MOD09_02214100 MOD09_02214100: ; 0x02214100 push {r3, r4, r5, r6, r7, lr} sub sp, #0x18 add r4, r0, #0 mov r0, #0x50 str r1, [sp, #8] mul r0, r2 add r1, r4, #4 str r3, [sp, #0xc] add r5, r1, r0 ldrh r0, [r5, #0x10] ldrh r1, [r5, #0x12] mov r2, #0x30 mov r7, #1 bl FUN_02079A0C str r0, [sp, #0x14] ldrh r0, [r5, #0x10] ldrh r1, [r5, #0x12] mov r2, #0x30 bl FUN_02079A54 cmp r0, #4 bhi _0221415E add r0, r0, r0 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _0221413A: ; jump table .short _02214144 - _0221413A - 2 ; case 0 .short _0221415C - _0221413A - 2 ; case 1 .short _02214158 - _0221413A - 2 ; case 2 .short _02214156 - _0221413A - 2 ; case 3 .short _02214156 - _0221413A - 2 ; case 4 _02214144: ldr r0, _022141D4 ; =0x00002070 ldr r1, [r4, r0] ldr r0, [sp, #8] lsl r0, r0, #4 add r0, r1, r0 bl ScheduleWindowCopyToVram add sp, #0x18 pop {r3, r4, r5, r6, r7, pc} _02214156: b _0221415E _02214158: mov r7, #3 b _0221415E _0221415C: mov r7, #5 _0221415E: add r0, sp, #0x20 ldrb r6, [r0, #0x10] add r0, r7, #1 str r0, [sp, #0x10] ldr r0, [sp, #8] ldr r1, [sp, #0x10] lsl r5, r0, #4 ldr r0, [sp, #0x14] add r3, r6, #1 str r0, [sp] mov r0, #1 str r0, [sp, #4] ldr r0, _022141D4 ; =0x00002070 lsl r1, r1, #0x18 ldr r0, [r4, r0] lsl r3, r3, #0x10 ldr r2, [sp, #0xc] add r0, r0, r5 lsr r1, r1, #0x18 lsr r3, r3, #0x10 bl FillWindowPixelRect ldr r0, [sp, #0x14] add r3, r6, #2 str r0, [sp] mov r0, #2 str r0, [sp, #4] ldr r0, _022141D4 ; =0x00002070 lsl r3, r3, #0x10 ldr r0, [r4, r0] ldr r2, [sp, #0xc] add r0, r0, r5 add r1, r7, #0 lsr r3, r3, #0x10 bl FillWindowPixelRect ldr r0, [sp, #0x14] ldr r1, [sp, #0x10] str r0, [sp] mov r0, #1 str r0, [sp, #4] ldr r0, _022141D4 ; =0x00002070 add r3, r6, #4 ldr r0, [r4, r0] lsl r1, r1, #0x18 lsl r3, r3, #0x10 ldr r2, [sp, #0xc] add r0, r0, r5 lsr r1, r1, #0x18 lsr r3, r3, #0x10 bl FillWindowPixelRect ldr r0, _022141D4 ; =0x00002070 ldr r0, [r4, r0] add r0, r0, r5 bl ScheduleWindowCopyToVram add sp, #0x18 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _022141D4: .word 0x00002070 thumb_func_start MOD09_022141D8 MOD09_022141D8: ; 0x022141D8 push {r4, r5, r6, r7, lr} sub sp, #0x14 add r5, r0, #0 add r4, r1, #0 ldr r1, [r5] mov r0, #0x10 ldr r1, [r1, #0xc] add r7, r2, #0 bl String_ctor add r6, r0, #0 ldr r0, _02214250 ; =0x00001FA8 mov r1, #8 ldr r0, [r5, r0] bl NewString_ReadMsgData mov r2, #0x50 mul r2, r7 str r0, [sp, #0x10] ldr r0, _02214254 ; =0x00001FAC add r2, r5, r2 ldrh r2, [r2, #0x1c] ldr r0, [r5, r0] mov r1, #0 bl BufferAbilityName ldr r0, _02214254 ; =0x00001FAC ldr r2, [sp, #0x10] ldr r0, [r5, r0] add r1, r6, #0 bl StringExpandPlaceholders mov r1, #0 str r1, [sp] mov r0, #0xff str r0, [sp, #4] ldr r0, _02214258 ; =0x000F0E00 lsl r4, r4, #4 str r0, [sp, #8] ldr r0, _0221425C ; =0x00002070 str r1, [sp, #0xc] ldr r0, [r5, r0] add r2, r6, #0 add r0, r0, r4 add r3, r1, #0 bl AddTextPrinterParameterized2 ldr r0, [sp, #0x10] bl String_dtor add r0, r6, #0 bl String_dtor ldr r0, _0221425C ; =0x00002070 ldr r0, [r5, r0] add r0, r0, r4 bl ScheduleWindowCopyToVram add sp, #0x14 pop {r4, r5, r6, r7, pc} .align 2, 0 _02214250: .word 0x00001FA8 _02214254: .word 0x00001FAC _02214258: .word 0x000F0E00 _0221425C: .word 0x00002070 thumb_func_start MOD09_02214260 MOD09_02214260: ; 0x02214260 push {r4, r5, r6, r7, lr} sub sp, #0x14 add r4, r0, #0 mov r0, #0x50 add r7, r1, #0 add r1, r4, #4 mul r0, r2 add r5, r1, r0 ldrh r0, [r5, #0x1a] cmp r0, #0 bne _02214284 ldr r0, _022142EC ; =0x00001FA8 mov r1, #0x14 ldr r0, [r4, r0] bl NewString_ReadMsgData add r6, r0, #0 b _022142BA _02214284: ldr r1, [r4] mov r0, #0x12 ldr r1, [r1, #0xc] bl String_ctor add r6, r0, #0 ldr r0, _022142EC ; =0x00001FA8 mov r1, #9 ldr r0, [r4, r0] bl NewString_ReadMsgData str r0, [sp, #0x10] ldr r0, _022142F0 ; =0x00001FAC ldrh r2, [r5, #0x1a] ldr r0, [r4, r0] mov r1, #0 bl BufferItemName ldr r0, _022142F0 ; =0x00001FAC ldr r2, [sp, #0x10] ldr r0, [r4, r0] add r1, r6, #0 bl StringExpandPlaceholders ldr r0, [sp, #0x10] bl String_dtor _022142BA: mov r1, #0 str r1, [sp] mov r0, #0xff str r0, [sp, #4] ldr r0, _022142F4 ; =0x000F0E00 lsl r5, r7, #4 str r0, [sp, #8] ldr r0, _022142F8 ; =0x00002070 str r1, [sp, #0xc] ldr r0, [r4, r0] add r2, r6, #0 add r0, r0, r5 add r3, r1, #0 bl AddTextPrinterParameterized2 add r0, r6, #0 bl String_dtor ldr r0, _022142F8 ; =0x00002070 ldr r0, [r4, r0] add r0, r0, r5 bl ScheduleWindowCopyToVram add sp, #0x14 pop {r4, r5, r6, r7, pc} .align 2, 0 _022142EC: .word 0x00001FA8 _022142F0: .word 0x00001FAC _022142F4: .word 0x000F0E00 _022142F8: .word 0x00002070 thumb_func_start MOD09_022142FC MOD09_022142FC: ; 0x022142FC push {r4, r5, r6, r7, lr} sub sp, #0x1c add r5, r0, #0 str r1, [sp, #0x10] ldr r1, [r5] ldr r0, _02214394 ; =0x00002070 ldr r1, [r1, #0xc] ldr r4, [r5, r0] mov r0, #0x10 str r3, [sp, #0x14] lsl r6, r2, #4 bl String_ctor add r7, r0, #0 ldr r0, _02214398 ; =0x00001FA8 ldr r1, [sp, #0x14] ldr r0, [r5, r0] bl NewString_ReadMsgData str r0, [sp, #0x18] ldr r0, _0221439C ; =0x00001FAC ldr r2, [sp, #0x10] ldr r0, [r5, r0] mov r1, #0 bl BufferMoveName ldr r0, _0221439C ; =0x00001FAC ldr r2, [sp, #0x18] ldr r0, [r5, r0] add r1, r7, #0 bl StringExpandPlaceholders add r0, sp, #0x20 ldrh r0, [r0, #0x10] cmp r0, #2 bne _02214360 add r0, r4, r6 bl GetWindowWidth add r5, r0, #0 add r0, sp, #0x20 ldrh r0, [r0, #0x10] add r1, r7, #0 mov r2, #0 bl FUN_02002E14 lsl r1, r5, #3 sub r0, r1, r0 lsr r3, r0, #1 b _02214362 _02214360: mov r3, #0 _02214362: add r1, sp, #0x20 ldrh r0, [r1, #0x14] add r2, r7, #0 str r0, [sp] mov r0, #0xff str r0, [sp, #4] ldr r0, [sp, #0x38] str r0, [sp, #8] mov r0, #0 str r0, [sp, #0xc] ldrh r1, [r1, #0x10] add r0, r4, r6 bl AddTextPrinterParameterized2 ldr r0, [sp, #0x18] bl String_dtor add r0, r7, #0 bl String_dtor add r0, r4, r6 bl ScheduleWindowCopyToVram add sp, #0x1c pop {r4, r5, r6, r7, pc} .align 2, 0 _02214394: .word 0x00002070 _02214398: .word 0x00001FA8 _0221439C: .word 0x00001FAC thumb_func_start MOD09_022143A0 MOD09_022143A0: ; 0x022143A0 push {r4, r5, r6, r7, lr} sub sp, #0x14 add r4, r0, #0 ldr r0, _022143EC ; =0x00001FA8 str r2, [sp, #0x10] add r5, r1, #0 ldr r0, [r4, r0] add r6, r3, #0 mov r1, #0xe bl NewString_ReadMsgData add r7, r0, #0 str r6, [sp] mov r0, #0xff str r0, [sp, #4] ldr r0, _022143F0 ; =0x000F0E00 mov r1, #0 str r0, [sp, #8] str r1, [sp, #0xc] ldr r0, _022143F4 ; =0x00002070 lsl r5, r5, #4 ldr r0, [r4, r0] ldr r3, [sp, #0x10] add r0, r0, r5 add r2, r7, #0 bl AddTextPrinterParameterized2 add r0, r7, #0 bl String_dtor ldr r0, _022143F4 ; =0x00002070 ldr r0, [r4, r0] add r0, r0, r5 bl ScheduleWindowCopyToVram add sp, #0x14 pop {r4, r5, r6, r7, pc} nop _022143EC: .word 0x00001FA8 _022143F0: .word 0x000F0E00 _022143F4: .word 0x00002070 thumb_func_start MOD09_022143F8 MOD09_022143F8: ; 0x022143F8 push {r3, r4, r5, lr} sub sp, #0x10 add r4, r0, #0 ldr r0, _02214450 ; =0x00002050 add r5, r1, #0 mov r1, #1 add r0, r4, r0 add r2, r1, #0 mov r3, #0xe bl DrawFrameAndWindow2 ldr r0, _02214450 ; =0x00002050 mov r1, #0xf add r0, r4, r0 bl FillWindowPixelBuffer ldr r0, _02214454 ; =0x00001FA8 add r1, r5, #0 ldr r0, [r4, r0] bl NewString_ReadMsgData add r5, r0, #0 mov r3, #0 str r3, [sp] mov r0, #0xff str r0, [sp, #4] ldr r0, _02214458 ; =0x00010200 mov r1, #1 str r0, [sp, #8] ldr r0, _02214450 ; =0x00002050 add r2, r5, #0 add r0, r4, r0 str r3, [sp, #0xc] bl AddTextPrinterParameterized2 add r0, r5, #0 bl String_dtor ldr r0, _02214450 ; =0x00002050 add r0, r4, r0 bl ScheduleWindowCopyToVram add sp, #0x10 pop {r3, r4, r5, pc} .align 2, 0 _02214450: .word 0x00002050 _02214454: .word 0x00001FA8 _02214458: .word 0x00010200 thumb_func_start MOD09_0221445C MOD09_0221445C: ; 0x0221445C push {r3, r4, r5, r6, r7, lr} sub sp, #0x10 ldr r3, _022144B8 ; =0x00002070 lsl r4, r1, #4 ldr r5, [r0, r3] sub r3, #0xc8 ldr r0, [r0, r3] add r1, r2, #0 bl NewString_ReadMsgData add r7, r0, #0 mov r0, #2 add r1, r7, #0 mov r2, #0 bl FUN_02002E14 add r6, r0, #0 add r0, r5, r4 bl GetWindowWidth add r3, r0, #0 mov r0, #6 str r0, [sp] mov r0, #0xff str r0, [sp, #4] ldr r0, _022144BC ; =0x00070809 lsl r3, r3, #3 str r0, [sp, #8] mov r0, #0 sub r3, r3, r6 str r0, [sp, #0xc] add r0, r5, r4 mov r1, #2 add r2, r7, #0 lsr r3, r3, #1 bl AddTextPrinterParameterized2 add r0, r7, #0 bl String_dtor add r0, r5, r4 bl ScheduleWindowCopyToVram add sp, #0x10 pop {r3, r4, r5, r6, r7, pc} nop _022144B8: .word 0x00002070 _022144BC: .word 0x00070809 thumb_func_start MOD09_022144C0 MOD09_022144C0: ; 0x022144C0 push {r4, r5, r6, r7, lr} sub sp, #0x24 add r5, r0, #0 mov r0, #0x50 mul r0, r1 add r2, r5, #4 add r4, r2, r0 ldr r1, _0221467C ; =0x00002075 mov r0, #0x16 ldrb r2, [r5, r1] sub r1, #0xcd mul r0, r2 lsl r0, r0, #0x10 lsr r6, r0, #0x10 ldr r0, [r5, r1] mov r1, #0x17 bl NewString_ReadMsgData mov r1, #0 add r7, r0, #0 str r1, [sp] mov r0, #0xff str r0, [sp, #4] ldr r2, _02214680 ; =0x000F0E00 add r0, #0x31 str r2, [sp, #8] ldr r2, _02214684 ; =0x00002070 str r1, [sp, #0xc] ldr r2, [r5, r2] add r3, r1, #0 add r0, r2, r0 add r2, r7, #0 bl AddTextPrinterParameterized2 add r0, r7, #0 bl String_dtor ldr r0, _02214688 ; =0x00001FA8 mov r1, #0x18 ldr r0, [r5, r0] bl NewString_ReadMsgData ldr r1, [r5] str r0, [sp, #0x18] ldr r1, [r1, #0xc] mov r0, #8 bl String_ctor mov r1, #0 str r0, [sp, #0x1c] str r1, [sp] mov r0, #1 str r0, [sp, #4] ldrb r2, [r4, #0x16] ldr r0, _0221468C ; =0x00001FAC mov r3, #3 lsl r2, r2, #0x19 ldr r0, [r5, r0] lsr r2, r2, #0x19 bl BufferIntegerAsString ldr r0, _0221468C ; =0x00001FAC ldr r1, [sp, #0x1c] ldr r0, [r5, r0] ldr r2, [sp, #0x18] bl StringExpandPlaceholders mov r1, #0 add r0, r6, #0 add r0, #0xb lsl r7, r0, #4 str r1, [sp] mov r0, #0xff str r0, [sp, #4] ldr r0, _02214680 ; =0x000F0E00 ldr r2, [sp, #0x1c] str r0, [sp, #8] ldr r0, _02214684 ; =0x00002070 str r1, [sp, #0xc] ldr r0, [r5, r0] add r3, r1, #0 add r0, r0, r7 bl AddTextPrinterParameterized2 ldr r0, [sp, #0x18] bl String_dtor ldr r0, [sp, #0x1c] bl String_dtor ldr r0, _02214688 ; =0x00001FA8 mov r1, #0x19 ldr r0, [r5, r0] bl NewString_ReadMsgData mov r1, #0 str r0, [sp, #0x20] str r1, [sp] mov r0, #0xff str r0, [sp, #4] ldr r2, _02214680 ; =0x000F0E00 add r0, #0x41 str r2, [sp, #8] ldr r2, _02214684 ; =0x00002070 str r1, [sp, #0xc] ldr r2, [r5, r2] add r3, r1, #0 add r0, r2, r0 ldr r2, [sp, #0x20] bl AddTextPrinterParameterized2 ldr r0, [sp, #0x20] bl String_dtor ldr r0, _02214688 ; =0x00001FA8 mov r1, #0x1a ldr r0, [r5, r0] bl NewString_ReadMsgData ldr r1, [r5] str r0, [sp, #0x14] ldr r1, [r1, #0xc] mov r0, #0xe bl String_ctor str r0, [sp, #0x10] ldrb r0, [r4, #0x16] lsl r0, r0, #0x19 lsr r0, r0, #0x19 cmp r0, #0x64 bhs _022145E0 mov r0, #1 str r0, [sp] str r0, [sp, #4] ldr r0, _0221468C ; =0x00001FAC ldr r2, [r4, #0x24] ldr r3, [r4, #0x1c] ldr r0, [r5, r0] sub r2, r2, r3 mov r1, #0 mov r3, #6 bl BufferIntegerAsString b _022145F4 _022145E0: mov r0, #1 str r0, [sp] str r0, [sp, #4] ldr r0, _0221468C ; =0x00001FAC mov r1, #0 ldr r0, [r5, r0] add r2, r1, #0 mov r3, #6 bl BufferIntegerAsString _022145F4: ldr r0, _0221468C ; =0x00001FAC ldr r1, [sp, #0x10] ldr r0, [r5, r0] ldr r2, [sp, #0x14] bl StringExpandPlaceholders ldr r0, _02214684 ; =0x00002070 add r6, #0xc ldr r0, [r5, r0] lsl r4, r6, #4 add r0, r0, r4 bl GetWindowWidth add r6, r0, #0 mov r0, #0 ldr r1, [sp, #0x10] add r2, r0, #0 bl FUN_02002E14 lsl r1, r6, #3 sub r0, r1, r0 lsl r0, r0, #0x10 mov r1, #0 lsr r3, r0, #0x10 str r1, [sp] mov r0, #0xff str r0, [sp, #4] ldr r0, _02214690 ; =0x00010200 ldr r2, [sp, #0x10] str r0, [sp, #8] ldr r0, _02214684 ; =0x00002070 str r1, [sp, #0xc] ldr r0, [r5, r0] add r0, r0, r4 bl AddTextPrinterParameterized2 ldr r0, [sp, #0x14] bl String_dtor ldr r0, [sp, #0x10] bl String_dtor ldr r0, _02214684 ; =0x00002070 ldr r1, [r5, r0] mov r0, #0x13 lsl r0, r0, #4 add r0, r1, r0 bl ScheduleWindowCopyToVram ldr r0, _02214684 ; =0x00002070 ldr r0, [r5, r0] add r0, r0, r7 bl ScheduleWindowCopyToVram ldr r0, _02214684 ; =0x00002070 ldr r1, [r5, r0] mov r0, #5 lsl r0, r0, #6 add r0, r1, r0 bl ScheduleWindowCopyToVram ldr r0, _02214684 ; =0x00002070 ldr r0, [r5, r0] add r0, r0, r4 bl ScheduleWindowCopyToVram add sp, #0x24 pop {r4, r5, r6, r7, pc} .align 2, 0 _0221467C: .word 0x00002075 _02214680: .word 0x000F0E00 _02214684: .word 0x00002070 _02214688: .word 0x00001FA8 _0221468C: .word 0x00001FAC _02214690: .word 0x00010200 thumb_func_start MOD09_02214694 MOD09_02214694: ; 0x02214694 push {r4, r5, r6, r7, lr} sub sp, #0x14 add r7, r1, #0 add r5, r0, #0 ldr r1, _02214778 ; =0x00002075 mov r0, #0x16 ldrb r2, [r5, r1] sub r1, #0xcd mul r0, r2 lsl r0, r0, #0x10 lsr r4, r0, #0x10 ldr r0, [r5, r1] mov r1, #0x20 bl NewString_ReadMsgData mov r1, #0 add r6, r0, #0 str r1, [sp] mov r0, #0xff str r0, [sp, #4] ldr r0, _0221477C ; =0x000F0E00 add r2, r6, #0 str r0, [sp, #8] ldr r0, _02214780 ; =0x00002070 str r1, [sp, #0xc] ldr r0, [r5, r0] add r3, r1, #0 add r0, #0xe0 bl AddTextPrinterParameterized2 add r0, r6, #0 bl String_dtor ldr r0, _02214784 ; =0x00001FA8 mov r1, #0x21 ldr r0, [r5, r0] bl NewString_ReadMsgData ldr r1, [r5] str r0, [sp, #0x10] ldr r1, [r1, #0xc] mov r0, #8 bl String_ctor mov r1, #0 mov r2, #0x50 add r6, r0, #0 mul r2, r7 str r1, [sp] mov r0, #1 str r0, [sp, #4] ldr r0, _02214788 ; =0x00001FAC add r2, r5, r2 ldrh r2, [r2, #0xa] ldr r0, [r5, r0] mov r3, #3 bl BufferIntegerAsString ldr r0, _02214788 ; =0x00001FAC ldr r2, [sp, #0x10] ldr r0, [r5, r0] add r1, r6, #0 bl StringExpandPlaceholders mov r0, #0 add r1, r6, #0 add r2, r0, #0 bl FUN_02002E14 lsl r0, r0, #0x18 lsr r7, r0, #0x18 add r0, r4, #5 lsl r4, r0, #4 ldr r0, _02214780 ; =0x00002070 ldr r0, [r5, r0] add r0, r0, r4 bl GetWindowWidth lsl r0, r0, #3 sub r0, r0, r7 lsl r0, r0, #0x18 mov r1, #0 lsr r3, r0, #0x18 str r1, [sp] mov r0, #0xff str r0, [sp, #4] ldr r0, _0221478C ; =0x00010200 add r2, r6, #0 str r0, [sp, #8] ldr r0, _02214780 ; =0x00002070 str r1, [sp, #0xc] ldr r0, [r5, r0] add r0, r0, r4 bl AddTextPrinterParameterized2 ldr r0, [sp, #0x10] bl String_dtor add r0, r6, #0 bl String_dtor ldr r0, _02214780 ; =0x00002070 ldr r0, [r5, r0] add r0, #0xe0 bl ScheduleWindowCopyToVram ldr r0, _02214780 ; =0x00002070 ldr r0, [r5, r0] add r0, r0, r4 bl ScheduleWindowCopyToVram add sp, #0x14 pop {r4, r5, r6, r7, pc} nop _02214778: .word 0x00002075 _0221477C: .word 0x000F0E00 _02214780: .word 0x00002070 _02214784: .word 0x00001FA8 _02214788: .word 0x00001FAC _0221478C: .word 0x00010200 thumb_func_start MOD09_02214790 MOD09_02214790: ; 0x02214790 push {r4, r5, r6, r7, lr} sub sp, #0x14 add r7, r1, #0 add r5, r0, #0 ldr r1, _02214874 ; =0x00002075 mov r0, #0x16 ldrb r2, [r5, r1] sub r1, #0xcd mul r0, r2 lsl r0, r0, #0x10 lsr r4, r0, #0x10 ldr r0, [r5, r1] mov r1, #0x22 bl NewString_ReadMsgData mov r1, #0 add r6, r0, #0 str r1, [sp] mov r0, #0xff str r0, [sp, #4] ldr r0, _02214878 ; =0x000F0E00 add r2, r6, #0 str r0, [sp, #8] ldr r0, _0221487C ; =0x00002070 str r1, [sp, #0xc] ldr r0, [r5, r0] add r3, r1, #0 add r0, #0xf0 bl AddTextPrinterParameterized2 add r0, r6, #0 bl String_dtor ldr r0, _02214880 ; =0x00001FA8 mov r1, #0x23 ldr r0, [r5, r0] bl NewString_ReadMsgData ldr r1, [r5] str r0, [sp, #0x10] ldr r1, [r1, #0xc] mov r0, #8 bl String_ctor mov r1, #0 mov r2, #0x50 add r6, r0, #0 mul r2, r7 str r1, [sp] mov r0, #1 str r0, [sp, #4] ldr r0, _02214884 ; =0x00001FAC add r2, r5, r2 ldrh r2, [r2, #0xc] ldr r0, [r5, r0] mov r3, #3 bl BufferIntegerAsString ldr r0, _02214884 ; =0x00001FAC ldr r2, [sp, #0x10] ldr r0, [r5, r0] add r1, r6, #0 bl StringExpandPlaceholders mov r0, #0 add r1, r6, #0 add r2, r0, #0 bl FUN_02002E14 lsl r0, r0, #0x18 lsr r7, r0, #0x18 add r0, r4, #6 lsl r4, r0, #4 ldr r0, _0221487C ; =0x00002070 ldr r0, [r5, r0] add r0, r0, r4 bl GetWindowWidth lsl r0, r0, #3 sub r0, r0, r7 lsl r0, r0, #0x18 mov r1, #0 lsr r3, r0, #0x18 str r1, [sp] mov r0, #0xff str r0, [sp, #4] ldr r0, _02214888 ; =0x00010200 add r2, r6, #0 str r0, [sp, #8] ldr r0, _0221487C ; =0x00002070 str r1, [sp, #0xc] ldr r0, [r5, r0] add r0, r0, r4 bl AddTextPrinterParameterized2 ldr r0, [sp, #0x10] bl String_dtor add r0, r6, #0 bl String_dtor ldr r0, _0221487C ; =0x00002070 ldr r0, [r5, r0] add r0, #0xf0 bl ScheduleWindowCopyToVram ldr r0, _0221487C ; =0x00002070 ldr r0, [r5, r0] add r0, r0, r4 bl ScheduleWindowCopyToVram add sp, #0x14 pop {r4, r5, r6, r7, pc} nop _02214874: .word 0x00002075 _02214878: .word 0x000F0E00 _0221487C: .word 0x00002070 _02214880: .word 0x00001FA8 _02214884: .word 0x00001FAC _02214888: .word 0x00010200 thumb_func_start MOD09_0221488C MOD09_0221488C: ; 0x0221488C push {r4, r5, r6, r7, lr} sub sp, #0x14 add r7, r1, #0 add r5, r0, #0 ldr r1, _02214974 ; =0x00002075 mov r0, #0x16 ldrb r2, [r5, r1] sub r1, #0xcd mul r0, r2 lsl r0, r0, #0x10 lsr r4, r0, #0x10 ldr r0, [r5, r1] mov r1, #0x28 bl NewString_ReadMsgData mov r1, #0 add r6, r0, #0 str r1, [sp] mov r2, #0xff str r2, [sp, #4] ldr r0, _02214978 ; =0x000F0E00 add r2, r2, #1 str r0, [sp, #8] ldr r0, _0221497C ; =0x00002070 str r1, [sp, #0xc] ldr r0, [r5, r0] add r3, r1, #0 add r0, r0, r2 add r2, r6, #0 bl AddTextPrinterParameterized2 add r0, r6, #0 bl String_dtor ldr r0, _02214980 ; =0x00001FA8 mov r1, #0x29 ldr r0, [r5, r0] bl NewString_ReadMsgData ldr r1, [r5] str r0, [sp, #0x10] ldr r1, [r1, #0xc] mov r0, #8 bl String_ctor mov r1, #0 mov r2, #0x50 add r6, r0, #0 mul r2, r7 str r1, [sp] mov r0, #1 str r0, [sp, #4] ldr r0, _02214984 ; =0x00001FAC add r2, r5, r2 ldrh r2, [r2, #0xe] ldr r0, [r5, r0] mov r3, #3 bl BufferIntegerAsString ldr r0, _02214984 ; =0x00001FAC ldr r2, [sp, #0x10] ldr r0, [r5, r0] add r1, r6, #0 bl StringExpandPlaceholders mov r0, #0 add r1, r6, #0 add r2, r0, #0 bl FUN_02002E14 lsl r0, r0, #0x18 lsr r7, r0, #0x18 add r0, r4, #7 lsl r4, r0, #4 ldr r0, _0221497C ; =0x00002070 ldr r0, [r5, r0] add r0, r0, r4 bl GetWindowWidth lsl r0, r0, #3 sub r0, r0, r7 lsl r0, r0, #0x18 mov r1, #0 lsr r3, r0, #0x18 str r1, [sp] mov r0, #0xff str r0, [sp, #4] ldr r0, _02214988 ; =0x00010200 add r2, r6, #0 str r0, [sp, #8] ldr r0, _0221497C ; =0x00002070 str r1, [sp, #0xc] ldr r0, [r5, r0] add r0, r0, r4 bl AddTextPrinterParameterized2 ldr r0, [sp, #0x10] bl String_dtor add r0, r6, #0 bl String_dtor ldr r0, _0221497C ; =0x00002070 ldr r1, [r5, r0] mov r0, #1 lsl r0, r0, #8 add r0, r1, r0 bl ScheduleWindowCopyToVram ldr r0, _0221497C ; =0x00002070 ldr r0, [r5, r0] add r0, r0, r4 bl ScheduleWindowCopyToVram add sp, #0x14 pop {r4, r5, r6, r7, pc} .align 2, 0 _02214974: .word 0x00002075 _02214978: .word 0x000F0E00 _0221497C: .word 0x00002070 _02214980: .word 0x00001FA8 _02214984: .word 0x00001FAC _02214988: .word 0x00010200 thumb_func_start MOD09_0221498C MOD09_0221498C: ; 0x0221498C push {r4, r5, r6, r7, lr} sub sp, #0x14 add r7, r1, #0 add r4, r0, #0 ldr r1, _02214A74 ; =0x00002075 mov r0, #0x16 ldrb r2, [r4, r1] sub r1, #0xcd mul r0, r2 lsl r0, r0, #0x10 lsr r5, r0, #0x10 ldr r0, [r4, r1] mov r1, #0x24 bl NewString_ReadMsgData mov r1, #0 add r6, r0, #0 str r1, [sp] mov r0, #0xff str r0, [sp, #4] ldr r2, _02214A78 ; =0x000F0E00 add r0, #0x11 str r2, [sp, #8] ldr r2, _02214A7C ; =0x00002070 str r1, [sp, #0xc] ldr r2, [r4, r2] add r3, r1, #0 add r0, r2, r0 add r2, r6, #0 bl AddTextPrinterParameterized2 add r0, r6, #0 bl String_dtor ldr r0, _02214A80 ; =0x00001FA8 mov r1, #0x25 ldr r0, [r4, r0] bl NewString_ReadMsgData ldr r1, [r4] str r0, [sp, #0x10] ldr r1, [r1, #0xc] mov r0, #8 bl String_ctor mov r1, #0 mov r2, #0x50 add r6, r0, #0 mul r2, r7 str r1, [sp] mov r0, #1 str r0, [sp, #4] ldr r0, _02214A84 ; =0x00001FAC add r2, r4, r2 ldrh r2, [r2, #0x10] ldr r0, [r4, r0] mov r3, #3 bl BufferIntegerAsString ldr r0, _02214A84 ; =0x00001FAC ldr r2, [sp, #0x10] ldr r0, [r4, r0] add r1, r6, #0 bl StringExpandPlaceholders mov r0, #0 add r1, r6, #0 add r2, r0, #0 bl FUN_02002E14 lsl r0, r0, #0x18 lsr r7, r0, #0x18 ldr r0, _02214A7C ; =0x00002070 add r5, #8 ldr r0, [r4, r0] lsl r5, r5, #4 add r0, r0, r5 bl GetWindowWidth lsl r0, r0, #3 sub r0, r0, r7 lsl r0, r0, #0x18 mov r1, #0 lsr r3, r0, #0x18 str r1, [sp] mov r0, #0xff str r0, [sp, #4] ldr r0, _02214A88 ; =0x00010200 add r2, r6, #0 str r0, [sp, #8] ldr r0, _02214A7C ; =0x00002070 str r1, [sp, #0xc] ldr r0, [r4, r0] add r0, r0, r5 bl AddTextPrinterParameterized2 ldr r0, [sp, #0x10] bl String_dtor add r0, r6, #0 bl String_dtor ldr r0, _02214A7C ; =0x00002070 ldr r1, [r4, r0] mov r0, #0x11 lsl r0, r0, #4 add r0, r1, r0 bl ScheduleWindowCopyToVram ldr r0, _02214A7C ; =0x00002070 ldr r0, [r4, r0] add r0, r0, r5 bl ScheduleWindowCopyToVram add sp, #0x14 pop {r4, r5, r6, r7, pc} .align 2, 0 _02214A74: .word 0x00002075 _02214A78: .word 0x000F0E00 _02214A7C: .word 0x00002070 _02214A80: .word 0x00001FA8 _02214A84: .word 0x00001FAC _02214A88: .word 0x00010200 thumb_func_start MOD09_02214A8C MOD09_02214A8C: ; 0x02214A8C push {r4, r5, r6, r7, lr} sub sp, #0x14 add r7, r1, #0 add r4, r0, #0 ldr r1, _02214B74 ; =0x00002075 mov r0, #0x16 ldrb r2, [r4, r1] sub r1, #0xcd mul r0, r2 lsl r0, r0, #0x10 lsr r5, r0, #0x10 ldr r0, [r4, r1] mov r1, #0x26 bl NewString_ReadMsgData mov r1, #0 add r6, r0, #0 str r1, [sp] mov r0, #0xff str r0, [sp, #4] ldr r2, _02214B78 ; =0x000F0E00 add r0, #0x21 str r2, [sp, #8] ldr r2, _02214B7C ; =0x00002070 str r1, [sp, #0xc] ldr r2, [r4, r2] add r3, r1, #0 add r0, r2, r0 add r2, r6, #0 bl AddTextPrinterParameterized2 add r0, r6, #0 bl String_dtor ldr r0, _02214B80 ; =0x00001FA8 mov r1, #0x27 ldr r0, [r4, r0] bl NewString_ReadMsgData ldr r1, [r4] str r0, [sp, #0x10] ldr r1, [r1, #0xc] mov r0, #8 bl String_ctor mov r1, #0 mov r2, #0x50 add r6, r0, #0 mul r2, r7 str r1, [sp] mov r0, #1 str r0, [sp, #4] ldr r0, _02214B84 ; =0x00001FAC add r2, r4, r2 ldrh r2, [r2, #0x12] ldr r0, [r4, r0] mov r3, #3 bl BufferIntegerAsString ldr r0, _02214B84 ; =0x00001FAC ldr r2, [sp, #0x10] ldr r0, [r4, r0] add r1, r6, #0 bl StringExpandPlaceholders mov r0, #0 add r1, r6, #0 add r2, r0, #0 bl FUN_02002E14 lsl r0, r0, #0x18 lsr r7, r0, #0x18 ldr r0, _02214B7C ; =0x00002070 add r5, #9 ldr r0, [r4, r0] lsl r5, r5, #4 add r0, r0, r5 bl GetWindowWidth lsl r0, r0, #3 sub r0, r0, r7 lsl r0, r0, #0x18 mov r1, #0 lsr r3, r0, #0x18 str r1, [sp] mov r0, #0xff str r0, [sp, #4] ldr r0, _02214B88 ; =0x00010200 add r2, r6, #0 str r0, [sp, #8] ldr r0, _02214B7C ; =0x00002070 str r1, [sp, #0xc] ldr r0, [r4, r0] add r0, r0, r5 bl AddTextPrinterParameterized2 ldr r0, [sp, #0x10] bl String_dtor add r0, r6, #0 bl String_dtor ldr r0, _02214B7C ; =0x00002070 ldr r1, [r4, r0] mov r0, #0x12 lsl r0, r0, #4 add r0, r1, r0 bl ScheduleWindowCopyToVram ldr r0, _02214B7C ; =0x00002070 ldr r0, [r4, r0] add r0, r0, r5 bl ScheduleWindowCopyToVram add sp, #0x14 pop {r4, r5, r6, r7, pc} .align 2, 0 _02214B74: .word 0x00002075 _02214B78: .word 0x000F0E00 _02214B7C: .word 0x00002070 _02214B80: .word 0x00001FA8 _02214B84: .word 0x00001FAC _02214B88: .word 0x00010200 thumb_func_start MOD09_02214B8C MOD09_02214B8C: ; 0x02214B8C push {r3, r4, r5, r6, r7, lr} sub sp, #0x28 add r5, r0, #0 mov r0, #0x50 mul r0, r1 add r2, r5, #4 add r7, r2, r0 ldr r1, _02214D0C ; =0x00002075 mov r0, #0x16 ldrb r2, [r5, r1] sub r1, #0xcd mul r0, r2 lsl r0, r0, #0x10 lsr r4, r0, #0x10 ldr r0, [r5, r1] mov r1, #0x1c bl NewString_ReadMsgData mov r1, #0 add r6, r0, #0 str r1, [sp] mov r0, #0xff str r0, [sp, #4] ldr r0, _02214D10 ; =0x000F0E00 add r2, r6, #0 str r0, [sp, #8] ldr r0, _02214D14 ; =0x00002070 str r1, [sp, #0xc] ldr r0, [r5, r0] add r3, r1, #0 add r0, #0xd0 bl AddTextPrinterParameterized2 add r0, r6, #0 bl String_dtor ldr r0, _02214D18 ; =0x00001FA8 mov r1, #0x1f ldr r0, [r5, r0] bl NewString_ReadMsgData str r0, [sp, #0x10] mov r0, #0 ldr r1, [sp, #0x10] add r2, r0, #0 bl FUN_02002E14 str r0, [sp, #0x14] ldr r0, _02214D14 ; =0x00002070 ldr r0, [r5, r0] add r0, #0x40 bl GetWindowWidth lsl r1, r0, #3 ldr r0, [sp, #0x14] ldr r2, [sp, #0x10] sub r0, r1, r0 lsl r0, r0, #0xf lsr r6, r0, #0x10 add r0, r4, #4 mov r1, #0 lsl r4, r0, #4 str r1, [sp] mov r0, #0xff str r0, [sp, #4] ldr r0, _02214D1C ; =0x00010200 add r3, r6, #0 str r0, [sp, #8] ldr r0, _02214D14 ; =0x00002070 str r1, [sp, #0xc] ldr r0, [r5, r0] add r0, r0, r4 bl AddTextPrinterParameterized2 ldr r0, [sp, #0x10] bl String_dtor ldr r0, _02214D18 ; =0x00001FA8 mov r1, #0x1d ldr r0, [r5, r0] bl NewString_ReadMsgData ldr r1, [r5] str r0, [sp, #0x18] ldr r1, [r1, #0xc] mov r0, #8 bl String_ctor str r0, [sp, #0x1c] mov r1, #0 str r1, [sp] mov r0, #1 str r0, [sp, #4] ldr r0, _02214D20 ; =0x00001FAC ldrh r2, [r7, #0x10] ldr r0, [r5, r0] mov r3, #3 bl BufferIntegerAsString ldr r0, _02214D20 ; =0x00001FAC ldr r1, [sp, #0x1c] ldr r0, [r5, r0] ldr r2, [sp, #0x18] bl StringExpandPlaceholders mov r0, #0 ldr r1, [sp, #0x1c] add r2, r0, #0 bl FUN_02002E14 add r3, r0, #0 mov r1, #0 str r1, [sp] mov r0, #0xff str r0, [sp, #4] ldr r0, _02214D1C ; =0x00010200 ldr r2, [sp, #0x1c] str r0, [sp, #8] ldr r0, _02214D14 ; =0x00002070 str r1, [sp, #0xc] ldr r0, [r5, r0] sub r3, r6, r3 add r0, r0, r4 bl AddTextPrinterParameterized2 ldr r0, [sp, #0x18] bl String_dtor ldr r0, [sp, #0x1c] bl String_dtor ldr r0, _02214D18 ; =0x00001FA8 mov r1, #0x1e ldr r0, [r5, r0] bl NewString_ReadMsgData ldr r1, [r5] str r0, [sp, #0x20] ldr r1, [r1, #0xc] mov r0, #8 bl String_ctor mov r1, #0 str r0, [sp, #0x24] str r1, [sp] mov r0, #1 str r0, [sp, #4] ldr r0, _02214D20 ; =0x00001FAC ldrh r2, [r7, #0x12] ldr r0, [r5, r0] mov r3, #3 bl BufferIntegerAsString ldr r0, _02214D20 ; =0x00001FAC ldr r1, [sp, #0x24] ldr r0, [r5, r0] ldr r2, [sp, #0x20] bl StringExpandPlaceholders mov r1, #0 ldr r3, [sp, #0x14] str r1, [sp] mov r0, #0xff str r0, [sp, #4] ldr r0, _02214D1C ; =0x00010200 ldr r2, [sp, #0x24] str r0, [sp, #8] ldr r0, _02214D14 ; =0x00002070 str r1, [sp, #0xc] ldr r0, [r5, r0] add r3, r6, r3 add r0, r0, r4 bl AddTextPrinterParameterized2 ldr r0, [sp, #0x20] bl String_dtor ldr r0, [sp, #0x24] bl String_dtor ldr r0, _02214D14 ; =0x00002070 ldr r0, [r5, r0] add r0, #0xd0 bl ScheduleWindowCopyToVram ldr r0, _02214D14 ; =0x00002070 ldr r0, [r5, r0] add r0, r0, r4 bl ScheduleWindowCopyToVram add sp, #0x28 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _02214D0C: .word 0x00002075 _02214D10: .word 0x000F0E00 _02214D14: .word 0x00002070 _02214D18: .word 0x00001FA8 _02214D1C: .word 0x00010200 _02214D20: .word 0x00001FAC thumb_func_start MOD09_02214D24 MOD09_02214D24: ; 0x02214D24 push {r3, r4, r5, r6, r7, lr} sub sp, #0x10 add r5, r0, #0 ldr r0, _02214D90 ; =0x00002075 add r6, r1, #0 ldrb r1, [r5, r0] ldr r3, [r5] mov r0, #0x16 add r4, r1, #0 mul r4, r0 ldr r2, _02214D94 ; =0x0000022A ldr r3, [r3, #0xc] mov r0, #1 mov r1, #0x1a bl NewMsgDataFromNarc mov r1, #0x50 mul r1, r6 add r1, r5, r1 ldrh r1, [r1, #0x1c] add r7, r0, #0 bl NewString_ReadMsgData add r6, r0, #0 mov r1, #0 add r0, r4, #2 lsl r4, r0, #4 str r1, [sp] mov r0, #0xff str r0, [sp, #4] ldr r0, _02214D98 ; =0x00010200 add r2, r6, #0 str r0, [sp, #8] ldr r0, _02214D9C ; =0x00002070 str r1, [sp, #0xc] ldr r0, [r5, r0] add r3, r1, #0 add r0, r0, r4 bl AddTextPrinterParameterized2 add r0, r6, #0 bl String_dtor add r0, r7, #0 bl DestroyMsgData ldr r0, _02214D9C ; =0x00002070 ldr r0, [r5, r0] add r0, r0, r4 bl ScheduleWindowCopyToVram add sp, #0x10 pop {r3, r4, r5, r6, r7, pc} nop _02214D90: .word 0x00002075 _02214D94: .word 0x0000022A _02214D98: .word 0x00010200 _02214D9C: .word 0x00002070 thumb_func_start MOD09_02214DA0 MOD09_02214DA0: ; 0x02214DA0 push {r4, r5, r6, lr} sub sp, #0x10 ldr r2, _02214DE0 ; =0x00002070 lsl r4, r1, #4 ldr r5, [r0, r2] sub r2, #0xc8 ldr r0, [r0, r2] mov r1, #0x33 bl NewString_ReadMsgData mov r1, #0 add r6, r0, #0 str r1, [sp] mov r0, #0xff str r0, [sp, #4] ldr r0, _02214DE4 ; =0x000F0E00 add r2, r6, #0 str r0, [sp, #8] add r0, r5, r4 add r3, r1, #0 str r1, [sp, #0xc] bl AddTextPrinterParameterized2 add r0, r6, #0 bl String_dtor add r0, r5, r4 bl ScheduleWindowCopyToVram add sp, #0x10 pop {r4, r5, r6, pc} nop _02214DE0: .word 0x00002070 _02214DE4: .word 0x000F0E00 thumb_func_start MOD09_02214DE8 MOD09_02214DE8: ; 0x02214DE8 push {r3, r4, r5, r6, r7, lr} sub sp, #0x18 str r2, [sp, #0x10] add r5, r0, #0 ldr r2, _02214EC4 ; =0x00002070 ldr r0, [sp, #0x10] lsl r6, r1, #4 ldr r4, [r5, r2] cmp r0, #0 bne _02214E42 sub r2, #0xc8 ldr r0, [r5, r2] mov r1, #0x32 bl NewString_ReadMsgData add r7, r0, #0 mov r0, #0 add r1, r7, #0 add r2, r0, #0 bl FUN_02002E14 lsl r0, r0, #0x10 lsr r5, r0, #0x10 add r0, r4, r6 bl GetWindowWidth lsl r0, r0, #3 sub r0, r0, r5 lsl r0, r0, #0x10 mov r1, #0 lsr r3, r0, #0x10 str r1, [sp] mov r0, #0xff str r0, [sp, #4] ldr r0, _02214EC8 ; =0x00010200 add r2, r7, #0 str r0, [sp, #8] add r0, r4, r6 str r1, [sp, #0xc] bl AddTextPrinterParameterized2 add r0, r7, #0 bl String_dtor b _02214EB8 _02214E42: sub r2, #0xc8 ldr r0, [r5, r2] mov r1, #0x34 bl NewString_ReadMsgData ldr r1, [r5] str r0, [sp, #0x14] ldr r1, [r1, #0xc] mov r0, #8 bl String_ctor mov r1, #0 add r7, r0, #0 str r1, [sp] mov r0, #1 str r0, [sp, #4] ldr r0, _02214ECC ; =0x00001FAC ldr r2, [sp, #0x10] ldr r0, [r5, r0] mov r3, #3 bl BufferIntegerAsString ldr r0, _02214ECC ; =0x00001FAC ldr r2, [sp, #0x14] ldr r0, [r5, r0] add r1, r7, #0 bl StringExpandPlaceholders mov r0, #0 add r1, r7, #0 add r2, r0, #0 bl FUN_02002E14 lsl r0, r0, #0x10 lsr r5, r0, #0x10 add r0, r4, r6 bl GetWindowWidth lsl r0, r0, #3 sub r0, r0, r5 lsl r0, r0, #0x10 mov r1, #0 lsr r3, r0, #0x10 str r1, [sp] mov r0, #0xff str r0, [sp, #4] ldr r0, _02214EC8 ; =0x00010200 add r2, r7, #0 str r0, [sp, #8] add r0, r4, r6 str r1, [sp, #0xc] bl AddTextPrinterParameterized2 ldr r0, [sp, #0x14] bl String_dtor add r0, r7, #0 bl String_dtor _02214EB8: add r0, r4, r6 bl ScheduleWindowCopyToVram add sp, #0x18 pop {r3, r4, r5, r6, r7, pc} nop _02214EC4: .word 0x00002070 _02214EC8: .word 0x00010200 _02214ECC: .word 0x00001FAC thumb_func_start MOD09_02214ED0 MOD09_02214ED0: ; 0x02214ED0 push {r4, r5, r6, lr} sub sp, #0x10 ldr r2, _02214F10 ; =0x00002070 lsl r4, r1, #4 ldr r5, [r0, r2] sub r2, #0xc8 ldr r0, [r0, r2] mov r1, #0x30 bl NewString_ReadMsgData mov r1, #0 add r6, r0, #0 str r1, [sp] mov r0, #0xff str r0, [sp, #4] ldr r0, _02214F14 ; =0x000F0E00 add r2, r6, #0 str r0, [sp, #8] add r0, r5, r4 add r3, r1, #0 str r1, [sp, #0xc] bl AddTextPrinterParameterized2 add r0, r6, #0 bl String_dtor add r0, r5, r4 bl ScheduleWindowCopyToVram add sp, #0x10 pop {r4, r5, r6, pc} nop _02214F10: .word 0x00002070 _02214F14: .word 0x000F0E00 thumb_func_start MOD09_02214F18 MOD09_02214F18: ; 0x02214F18 push {r3, r4, r5, r6, r7, lr} sub sp, #0x18 str r2, [sp, #0x10] add r5, r0, #0 ldr r2, _02214FF4 ; =0x00002070 ldr r0, [sp, #0x10] lsl r6, r1, #4 ldr r4, [r5, r2] cmp r0, #1 bhi _02214F72 sub r2, #0xc8 ldr r0, [r5, r2] mov r1, #0x32 bl NewString_ReadMsgData add r7, r0, #0 mov r0, #0 add r1, r7, #0 add r2, r0, #0 bl FUN_02002E14 lsl r0, r0, #0x10 lsr r5, r0, #0x10 add r0, r4, r6 bl GetWindowWidth lsl r0, r0, #3 sub r0, r0, r5 lsl r0, r0, #0x10 mov r1, #0 lsr r3, r0, #0x10 str r1, [sp] mov r0, #0xff str r0, [sp, #4] ldr r0, _02214FF8 ; =0x00010200 add r2, r7, #0 str r0, [sp, #8] add r0, r4, r6 str r1, [sp, #0xc] bl AddTextPrinterParameterized2 add r0, r7, #0 bl String_dtor b _02214FE8 _02214F72: sub r2, #0xc8 ldr r0, [r5, r2] mov r1, #0x31 bl NewString_ReadMsgData ldr r1, [r5] str r0, [sp, #0x14] ldr r1, [r1, #0xc] mov r0, #8 bl String_ctor mov r1, #0 add r7, r0, #0 str r1, [sp] mov r0, #1 str r0, [sp, #4] ldr r0, _02214FFC ; =0x00001FAC ldr r2, [sp, #0x10] ldr r0, [r5, r0] mov r3, #3 bl BufferIntegerAsString ldr r0, _02214FFC ; =0x00001FAC ldr r2, [sp, #0x14] ldr r0, [r5, r0] add r1, r7, #0 bl StringExpandPlaceholders mov r0, #0 add r1, r7, #0 add r2, r0, #0 bl FUN_02002E14 lsl r0, r0, #0x10 lsr r5, r0, #0x10 add r0, r4, r6 bl GetWindowWidth lsl r0, r0, #3 sub r0, r0, r5 lsl r0, r0, #0x10 mov r1, #0 lsr r3, r0, #0x10 str r1, [sp] mov r0, #0xff str r0, [sp, #4] ldr r0, _02214FF8 ; =0x00010200 add r2, r7, #0 str r0, [sp, #8] add r0, r4, r6 str r1, [sp, #0xc] bl AddTextPrinterParameterized2 ldr r0, [sp, #0x14] bl String_dtor add r0, r7, #0 bl String_dtor _02214FE8: add r0, r4, r6 bl ScheduleWindowCopyToVram add sp, #0x18 pop {r3, r4, r5, r6, r7, pc} nop _02214FF4: .word 0x00002070 _02214FF8: .word 0x00010200 _02214FFC: .word 0x00001FAC thumb_func_start MOD09_02215000 MOD09_02215000: ; 0x02215000 push {r3, r4, r5, r6, r7, lr} sub sp, #0x10 add r3, r0, #0 ldr r0, _02215054 ; =0x00002070 add r6, r2, #0 ldr r5, [r3, r0] ldr r3, [r3] lsl r4, r1, #4 ldr r2, _02215058 ; =0x0000024B ldr r3, [r3, #0xc] mov r0, #1 mov r1, #0x1a bl NewMsgDataFromNarc add r1, r6, #0 add r7, r0, #0 bl NewString_ReadMsgData mov r1, #0 add r6, r0, #0 str r1, [sp] mov r0, #0xff str r0, [sp, #4] ldr r0, _0221505C ; =0x00010200 add r2, r6, #0 str r0, [sp, #8] add r0, r5, r4 add r3, r1, #0 str r1, [sp, #0xc] bl AddTextPrinterParameterized2 add r0, r6, #0 bl String_dtor add r0, r7, #0 bl DestroyMsgData add r0, r5, r4 bl ScheduleWindowCopyToVram add sp, #0x10 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _02215054: .word 0x00002070 _02215058: .word 0x0000024B _0221505C: .word 0x00010200 thumb_func_start MOD09_02215060 MOD09_02215060: ; 0x02215060 push {r4, r5, r6, r7, lr} sub sp, #0x14 add r6, r0, #0 ldr r0, _022150C0 ; =0x00002070 lsl r4, r1, #4 ldr r5, [r6, r0] add r0, r2, #0 mov r1, #0xa bl GetWazaAttr bl FUN_0208315C ldr r3, [r6] add r7, r0, #0 ldr r3, [r3, #0xc] mov r0, #0 mov r1, #0x1a mov r2, #0xc5 bl NewMsgDataFromNarc add r1, r7, #0 str r0, [sp, #0x10] bl NewString_ReadMsgData mov r1, #0 add r6, r0, #0 str r1, [sp] mov r0, #0xff str r0, [sp, #4] ldr r0, _022150C4 ; =0x00010200 add r2, r6, #0 str r0, [sp, #8] add r0, r5, r4 add r3, r1, #0 str r1, [sp, #0xc] bl AddTextPrinterParameterized2 add r0, r6, #0 bl String_dtor ldr r0, [sp, #0x10] bl DestroyMsgData add r0, r5, r4 bl ScheduleWindowCopyToVram add sp, #0x14 pop {r4, r5, r6, r7, pc} .align 2, 0 _022150C0: .word 0x00002070 _022150C4: .word 0x00010200 thumb_func_start MOD09_022150C8 MOD09_022150C8: ; 0x022150C8 push {r3, r4, r5, r6, r7, lr} sub sp, #0x10 ldr r2, _02215124 ; =0x00002070 lsl r4, r1, #4 ldr r5, [r0, r2] sub r2, #0xc8 ldr r0, [r0, r2] mov r1, #0x35 bl NewString_ReadMsgData add r7, r0, #0 mov r0, #0 add r1, r7, #0 add r2, r0, #0 bl FUN_02002E14 lsl r0, r0, #0x10 lsr r6, r0, #0x10 add r0, r5, r4 bl GetWindowWidth lsl r0, r0, #3 sub r1, r0, r6 lsr r0, r1, #0x1f add r0, r1, r0 lsl r0, r0, #0xf mov r1, #0 lsr r3, r0, #0x10 str r1, [sp] mov r0, #0xff str r0, [sp, #4] ldr r0, _02215128 ; =0x000F0E00 add r2, r7, #0 str r0, [sp, #8] add r0, r5, r4 str r1, [sp, #0xc] bl AddTextPrinterParameterized2 add r0, r7, #0 bl String_dtor add r0, r5, r4 bl ScheduleWindowCopyToVram add sp, #0x10 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _02215124: .word 0x00002070 _02215128: .word 0x000F0E00 thumb_func_start MOD09_0221512C MOD09_0221512C: ; 0x0221512C push {r4, r5, r6, lr} sub sp, #0x10 ldr r3, _022151A0 ; =0x00002070 lsl r4, r1, #4 ldr r5, [r0, r3] cmp r2, #0 beq _02215144 cmp r2, #1 beq _02215152 cmp r2, #2 beq _02215160 b _0221516C _02215144: sub r3, #0xc8 ldr r0, [r0, r3] mov r1, #0x36 bl NewString_ReadMsgData add r6, r0, #0 b _0221516C _02215152: sub r3, #0xc8 ldr r0, [r0, r3] mov r1, #0x38 bl NewString_ReadMsgData add r6, r0, #0 b _0221516C _02215160: sub r3, #0xc8 ldr r0, [r0, r3] mov r1, #0x37 bl NewString_ReadMsgData add r6, r0, #0 _0221516C: mov r0, #0 add r1, r6, #0 add r2, r0, #0 mov r3, #0x38 bl FUN_02002F40 mov r1, #0 add r3, r0, #0 str r1, [sp] mov r0, #0xff str r0, [sp, #4] ldr r0, _022151A4 ; =0x00010200 add r2, r6, #0 str r0, [sp, #8] add r0, r5, r4 str r1, [sp, #0xc] bl AddTextPrinterParameterized2 add r0, r6, #0 bl String_dtor add r0, r5, r4 bl ScheduleWindowCopyToVram add sp, #0x10 pop {r4, r5, r6, pc} .align 2, 0 _022151A0: .word 0x00002070 _022151A4: .word 0x00010200 thumb_func_start MOD09_022151A8 MOD09_022151A8: ; 0x022151A8 push {r3, r4, r5, r6, r7, lr} sub sp, #0x30 add r5, r0, #0 ldr r0, _022152CC ; =0x00002070 lsl r6, r1, #4 ldr r4, [r5, r0] sub r0, #0xc8 ldr r0, [r5, r0] mov r1, #0x2e str r2, [sp, #0x10] str r3, [sp, #0x14] bl NewString_ReadMsgData str r0, [sp, #0x18] mov r0, #0 ldr r1, [sp, #0x18] add r2, r0, #0 bl FUN_02002E14 str r0, [sp, #0x1c] add r0, r4, r6 bl GetWindowWidth lsl r1, r0, #3 ldr r0, [sp, #0x1c] ldr r2, [sp, #0x18] sub r0, r1, r0 lsr r7, r0, #1 mov r1, #0 str r1, [sp] mov r0, #0xff str r0, [sp, #4] ldr r0, _022152D0 ; =0x000F0E00 add r3, r7, #0 str r0, [sp, #8] add r0, r4, r6 str r1, [sp, #0xc] bl AddTextPrinterParameterized2 ldr r0, [sp, #0x18] bl String_dtor ldr r0, _022152D4 ; =0x00001FA8 mov r1, #0x2c ldr r0, [r5, r0] bl NewString_ReadMsgData ldr r1, [r5] str r0, [sp, #0x20] ldr r1, [r1, #0xc] mov r0, #6 bl String_ctor mov r1, #0 str r0, [sp, #0x24] str r1, [sp] mov r0, #1 str r0, [sp, #4] ldr r0, _022152D8 ; =0x00001FAC ldr r2, [sp, #0x10] ldr r0, [r5, r0] mov r3, #3 bl BufferIntegerAsString ldr r0, _022152D8 ; =0x00001FAC ldr r1, [sp, #0x24] ldr r0, [r5, r0] ldr r2, [sp, #0x20] bl StringExpandPlaceholders mov r0, #0 ldr r1, [sp, #0x24] add r2, r0, #0 bl FUN_02002E14 add r3, r0, #0 mov r1, #0 str r1, [sp] mov r0, #0xff str r0, [sp, #4] ldr r0, _022152D0 ; =0x000F0E00 ldr r2, [sp, #0x24] str r0, [sp, #8] add r0, r4, r6 sub r3, r7, r3 str r1, [sp, #0xc] bl AddTextPrinterParameterized2 ldr r0, [sp, #0x20] bl String_dtor ldr r0, [sp, #0x24] bl String_dtor ldr r0, _022152D4 ; =0x00001FA8 mov r1, #0x2d ldr r0, [r5, r0] bl NewString_ReadMsgData ldr r1, [r5] str r0, [sp, #0x28] ldr r1, [r1, #0xc] mov r0, #6 bl String_ctor mov r1, #0 str r0, [sp, #0x2c] str r1, [sp] mov r0, #1 str r0, [sp, #4] ldr r0, _022152D8 ; =0x00001FAC ldr r2, [sp, #0x14] ldr r0, [r5, r0] mov r3, #3 bl BufferIntegerAsString ldr r0, _022152D8 ; =0x00001FAC ldr r1, [sp, #0x2c] ldr r0, [r5, r0] ldr r2, [sp, #0x28] bl StringExpandPlaceholders mov r1, #0 ldr r3, [sp, #0x1c] str r1, [sp] mov r0, #0xff str r0, [sp, #4] ldr r0, _022152D0 ; =0x000F0E00 ldr r2, [sp, #0x2c] str r0, [sp, #8] add r0, r4, r6 add r3, r7, r3 str r1, [sp, #0xc] bl AddTextPrinterParameterized2 ldr r0, [sp, #0x28] bl String_dtor ldr r0, [sp, #0x2c] bl String_dtor add r0, r4, r6 bl ScheduleWindowCopyToVram add sp, #0x30 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _022152CC: .word 0x00002070 _022152D0: .word 0x000F0E00 _022152D4: .word 0x00001FA8 _022152D8: .word 0x00001FAC thumb_func_start MOD09_022152DC MOD09_022152DC: ; 0x022152DC push {r3, r4, r5, r6, r7, lr} sub sp, #0x10 lsl r4, r1, #4 ldr r1, [r0] ldr r2, _02215344 ; =0x00002070 add r1, #0x34 ldrb r1, [r1] ldr r5, [r0, r2] cmp r1, #4 bne _022152FC sub r2, #0xc8 ldr r0, [r0, r2] mov r1, #0x3b bl NewString_ReadMsgData b _02215306 _022152FC: sub r2, #0xc8 ldr r0, [r0, r2] mov r1, #0x3a bl NewString_ReadMsgData _02215306: add r6, r0, #0 mov r0, #2 add r1, r6, #0 mov r2, #0 bl FUN_02002E14 add r7, r0, #0 mov r0, #6 str r0, [sp] mov r0, #0xff str r0, [sp, #4] ldr r0, _02215348 ; =0x00070809 mov r3, #0x60 str r0, [sp, #8] mov r0, #0 sub r3, r3, r7 str r0, [sp, #0xc] add r0, r5, r4 mov r1, #2 add r2, r6, #0 lsr r3, r3, #1 bl AddTextPrinterParameterized2 add r0, r6, #0 bl String_dtor add r0, r5, r4 bl ScheduleWindowCopyToVram add sp, #0x10 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _02215344: .word 0x00002070 _02215348: .word 0x00070809 thumb_func_start MOD09_0221534C MOD09_0221534C: ; 0x0221534C push {r3, r4, r5, lr} sub sp, #0x10 add r4, r0, #0 ldr r0, _022153A4 ; =0x0000207A ldrb r1, [r4, r0] cmp r1, #7 bne _02215362 sub r0, #0xa ldr r5, [r4, r0] add r5, #0x80 b _02215368 _02215362: sub r0, #0xa ldr r5, [r4, r0] add r5, #0x50 _02215368: add r0, r5, #0 mov r1, #0 bl FillWindowPixelBuffer ldr r0, _022153A8 ; =0x00001FA8 mov r1, #0x3c ldr r0, [r4, r0] bl NewString_ReadMsgData mov r1, #0 add r4, r0, #0 str r1, [sp] mov r0, #0xff str r0, [sp, #4] ldr r0, _022153AC ; =0x00010200 add r2, r4, #0 str r0, [sp, #8] add r0, r5, #0 add r3, r1, #0 str r1, [sp, #0xc] bl AddTextPrinterParameterized2 add r0, r4, #0 bl String_dtor add r0, r5, #0 bl ScheduleWindowCopyToVram add sp, #0x10 pop {r3, r4, r5, pc} .align 2, 0 _022153A4: .word 0x0000207A _022153A8: .word 0x00001FA8 _022153AC: .word 0x00010200 thumb_func_start MOD09_022153B0 MOD09_022153B0: ; 0x022153B0 push {r3, r4, r5, r6, r7, lr} sub sp, #0x28 add r5, r0, #0 str r1, [sp, #0x10] ldr r1, [r5] ldr r0, _022154EC ; =0x00002070 ldr r1, [r1, #0xc] ldr r4, [r5, r0] mov r0, #6 lsl r6, r2, #4 bl String_ctor add r7, r0, #0 ldr r0, _022154F0 ; =0x00001FA8 mov r1, #0x2b ldr r0, [r5, r0] bl NewString_ReadMsgData str r0, [sp, #0x14] mov r0, #0x18 str r0, [sp] mov r0, #0xff str r0, [sp, #4] ldr r0, _022154F4 ; =0x000F0E00 ldr r2, [sp, #0x14] str r0, [sp, #8] mov r1, #0 add r0, r4, r6 mov r3, #0x28 str r1, [sp, #0xc] bl AddTextPrinterParameterized2 ldr r0, [sp, #0x14] bl String_dtor ldr r0, _022154F0 ; =0x00001FA8 mov r1, #0x2e ldr r0, [r5, r0] bl NewString_ReadMsgData str r0, [sp, #0x18] mov r0, #0 ldr r1, [sp, #0x18] add r2, r0, #0 bl FUN_02002E14 str r0, [sp, #0x1c] mov r0, #0x18 str r0, [sp] mov r0, #0xff str r0, [sp, #4] ldr r0, _022154F4 ; =0x000F0E00 ldr r2, [sp, #0x18] str r0, [sp, #8] mov r1, #0 add r0, r4, r6 mov r3, #0x50 str r1, [sp, #0xc] bl AddTextPrinterParameterized2 ldr r0, [sp, #0x18] bl String_dtor ldr r0, _022154F0 ; =0x00001FA8 mov r1, #0x2d ldr r0, [r5, r0] bl NewString_ReadMsgData mov r1, #0 str r0, [sp, #0x20] str r1, [sp] mov r0, #1 str r0, [sp, #4] ldr r2, [sp, #0x10] ldr r0, _022154F8 ; =0x00001FAC ldrb r2, [r2, #3] ldr r0, [r5, r0] mov r3, #2 bl BufferIntegerAsString ldr r0, _022154F8 ; =0x00001FAC ldr r2, [sp, #0x20] ldr r0, [r5, r0] add r1, r7, #0 bl StringExpandPlaceholders mov r0, #0x18 str r0, [sp] mov r0, #0xff str r0, [sp, #4] ldr r0, _022154F4 ; =0x000F0E00 ldr r3, [sp, #0x1c] str r0, [sp, #8] mov r1, #0 add r3, #0x50 add r0, r4, r6 add r2, r7, #0 str r1, [sp, #0xc] str r3, [sp, #0x1c] bl AddTextPrinterParameterized2 ldr r0, [sp, #0x20] bl String_dtor ldr r0, _022154F0 ; =0x00001FA8 mov r1, #0x2c ldr r0, [r5, r0] bl NewString_ReadMsgData mov r1, #0 str r0, [sp, #0x24] str r1, [sp] mov r0, #1 str r0, [sp, #4] ldr r2, [sp, #0x10] ldr r0, _022154F8 ; =0x00001FAC ldrb r2, [r2, #2] ldr r0, [r5, r0] mov r3, #2 bl BufferIntegerAsString ldr r0, _022154F8 ; =0x00001FAC ldr r2, [sp, #0x24] ldr r0, [r5, r0] add r1, r7, #0 bl StringExpandPlaceholders mov r0, #0 add r1, r7, #0 add r2, r0, #0 bl FUN_02002E14 add r5, r0, #0 mov r0, #0x18 str r0, [sp] mov r0, #0xff str r0, [sp, #4] ldr r0, _022154F4 ; =0x000F0E00 mov r3, #0x50 str r0, [sp, #8] mov r1, #0 add r0, r4, r6 add r2, r7, #0 sub r3, r3, r5 str r1, [sp, #0xc] bl AddTextPrinterParameterized2 ldr r0, [sp, #0x24] bl String_dtor add r0, r7, #0 bl String_dtor add r0, r4, r6 bl ScheduleWindowCopyToVram add sp, #0x28 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _022154EC: .word 0x00002070 _022154F0: .word 0x00001FA8 _022154F4: .word 0x000F0E00 _022154F8: .word 0x00001FAC thumb_func_start MOD09_022154FC MOD09_022154FC: ; 0x022154FC push {r4, r5, r6, r7, lr} sub sp, #0x1c add r5, r0, #0 str r1, [sp, #0x10] ldr r1, [r5] ldr r0, _022155C0 ; =0x00002070 ldr r1, [r1, #0xc] ldr r4, [r5, r0] mov r0, #6 lsl r6, r2, #4 bl String_ctor str r0, [sp, #0x14] ldr r0, _022155C4 ; =0x00001FA8 mov r1, #0x2b ldr r0, [r5, r0] bl NewString_ReadMsgData str r0, [sp, #0x18] mov r0, #0 ldr r1, [sp, #0x18] add r2, r0, #0 bl FUN_02002E14 add r7, r0, #0 ldr r0, [sp, #0x18] bl String_dtor add r7, #0x28 mov r0, #0x50 sub r0, r0, r7 lsl r0, r0, #0x10 lsr r0, r0, #0x10 str r0, [sp] mov r0, #0x10 lsl r2, r7, #0x10 str r0, [sp, #4] add r0, r4, r6 mov r1, #0 lsr r2, r2, #0x10 mov r3, #0x18 bl FillWindowPixelRect ldr r0, _022155C4 ; =0x00001FA8 mov r1, #0x2c ldr r0, [r5, r0] bl NewString_ReadMsgData mov r1, #0 add r7, r0, #0 str r1, [sp] mov r0, #1 str r0, [sp, #4] ldr r2, [sp, #0x10] ldr r0, _022155C8 ; =0x00001FAC ldrb r2, [r2, #2] ldr r0, [r5, r0] mov r3, #2 bl BufferIntegerAsString ldr r0, _022155C8 ; =0x00001FAC ldr r1, [sp, #0x14] ldr r0, [r5, r0] add r2, r7, #0 bl StringExpandPlaceholders mov r0, #0 ldr r1, [sp, #0x14] add r2, r0, #0 bl FUN_02002E14 add r5, r0, #0 mov r0, #0x18 str r0, [sp] mov r0, #0xff str r0, [sp, #4] ldr r0, _022155CC ; =0x000F0E00 mov r3, #0x50 str r0, [sp, #8] mov r1, #0 ldr r2, [sp, #0x14] add r0, r4, r6 sub r3, r3, r5 str r1, [sp, #0xc] bl AddTextPrinterParameterized2 add r0, r7, #0 bl String_dtor ldr r0, [sp, #0x14] bl String_dtor add r0, r4, r6 bl ScheduleWindowCopyToVram add sp, #0x1c pop {r4, r5, r6, r7, pc} nop _022155C0: .word 0x00002070 _022155C4: .word 0x00001FA8 _022155C8: .word 0x00001FAC _022155CC: .word 0x000F0E00 thumb_func_start MOD09_022155D0 MOD09_022155D0: ; 0x022155D0 push {r4, r5, r6, r7, lr} sub sp, #0xc add r5, r0, #0 ldr r0, [r5] mov r4, #0 ldr r0, [r0] bl GetPartyCount cmp r0, #0 ble _02215656 add r0, r4, #0 add r7, r5, #0 str r0, [sp, #8] add r6, r5, #0 add r7, #0x1b _022155EE: ldr r0, _02215678 ; =0x00002070 ldr r1, [r5, r0] ldr r0, [sp, #8] add r0, r1, r0 mov r1, #0 bl FillWindowPixelBuffer ldrh r0, [r6, #8] cmp r0, #0 beq _0221563E mov r0, #0x20 str r0, [sp] mov r0, #8 lsl r3, r4, #0x10 str r0, [sp, #4] add r0, r5, #0 add r1, r4, #0 mov r2, #2 lsr r3, r3, #0x10 bl MOD09_02213E84 ldrb r0, [r7] lsl r0, r0, #0x18 lsr r0, r0, #0x1f bne _0221562A lsl r1, r4, #0x18 add r0, r5, #0 lsr r1, r1, #0x18 bl MOD09_0221567C _0221562A: ldr r0, [r6, #4] bl FUN_0207C2D4 cmp r0, #7 bne _0221563E lsl r1, r4, #0x18 add r0, r5, #0 lsr r1, r1, #0x18 bl MOD09_022156DC _0221563E: ldr r0, [sp, #8] add r6, #0x50 add r0, #0x10 str r0, [sp, #8] ldr r0, [r5] add r7, #0x50 ldr r0, [r0] add r4, r4, #1 bl GetPartyCount cmp r4, r0 blt _022155EE _02215656: ldr r0, [r5] add r0, #0x35 ldrb r0, [r0] cmp r0, #2 bne _0221566C add r0, r5, #0 mov r1, #7 bl MOD09_022143F8 add sp, #0xc pop {r4, r5, r6, r7, pc} _0221566C: add r0, r5, #0 mov r1, #6 bl MOD09_022143F8 add sp, #0xc pop {r4, r5, r6, r7, pc} .align 2, 0 _02215678: .word 0x00002070 thumb_func_start MOD09_0221567C MOD09_0221567C: ; 0x0221567C push {r4, r5, r6, lr} sub sp, #8 add r5, r0, #0 mov r0, #0x18 str r0, [sp] mov r0, #8 add r6, r1, #0 str r0, [sp, #4] ldr r0, _022156D8 ; =0x00002070 lsl r4, r6, #4 ldr r0, [r5, r0] mov r1, #0 add r0, r0, r4 mov r2, #0x38 mov r3, #0x20 bl FillWindowPixelRect mov r2, #0x40 str r2, [sp] mov r0, #8 str r0, [sp, #4] ldr r0, _022156D8 ; =0x00002070 mov r1, #0 ldr r0, [r5, r0] mov r3, #0x18 add r0, r0, r4 bl FillWindowPixelRect mov r0, #0x20 str r0, [sp] add r0, r5, #0 add r1, r6, #0 add r2, r6, #0 mov r3, #0x38 bl MOD09_02214080 mov r0, #0x18 str r0, [sp] add r0, r5, #0 add r1, r6, #0 add r2, r6, #0 mov r3, #0x40 bl MOD09_02214100 add sp, #8 pop {r4, r5, r6, pc} .align 2, 0 _022156D8: .word 0x00002070 thumb_func_start MOD09_022156DC MOD09_022156DC: ; 0x022156DC push {r3, lr} mov r2, #0x50 mul r2, r1 add r2, r0, r2 ldrb r2, [r2, #0x1b] lsl r2, r2, #0x18 lsr r2, r2, #0x1f bne _022156F8 mov r2, #0x20 str r2, [sp] add r2, r1, #0 mov r3, #0 bl MOD09_02214038 _022156F8: pop {r3, pc} .align 2, 0 thumb_func_start MOD09_022156FC MOD09_022156FC: ; 0x022156FC push {r4, lr} add r4, r0, #0 ldr r0, _02215780 ; =0x00002070 mov r1, #0 ldr r0, [r4, r0] bl FillWindowPixelBuffer ldr r0, _02215780 ; =0x00002070 mov r1, #0 ldr r0, [r4, r0] add r0, #0x10 bl FillWindowPixelBuffer ldr r0, _02215780 ; =0x00002070 mov r1, #0 ldr r0, [r4, r0] add r0, #0x20 bl FillWindowPixelBuffer ldr r0, _02215780 ; =0x00002070 mov r1, #0 ldr r0, [r4, r0] add r0, #0x30 bl FillWindowPixelBuffer ldr r1, [r4] add r0, r4, #0 ldrb r1, [r1, #0x11] bl MOD09_02215784 add r0, r4, #0 mov r1, #1 mov r2, #0xf bl MOD09_0221445C ldr r0, [r4] ldrb r1, [r0, #0x11] mov r0, #0x50 mul r0, r1 add r0, r4, r0 ldrb r0, [r0, #0x1b] lsl r0, r0, #0x18 lsr r0, r0, #0x1f bne _0221576A add r0, r4, #0 mov r1, #2 mov r2, #0x12 bl MOD09_0221445C add r0, r4, #0 mov r1, #3 mov r2, #0x13 bl MOD09_0221445C pop {r4, pc} _0221576A: ldr r0, _02215780 ; =0x00002070 ldr r0, [r4, r0] add r0, #0x20 bl ScheduleWindowCopyToVram ldr r0, _02215780 ; =0x00002070 ldr r0, [r4, r0] add r0, #0x30 bl ScheduleWindowCopyToVram pop {r4, pc} .align 2, 0 _02215780: .word 0x00002070 thumb_func_start MOD09_02215784 MOD09_02215784: ; 0x02215784 push {r4, r5, r6, r7, lr} sub sp, #0x1c add r4, r0, #0 ldr r0, _022158D0 ; =0x00002070 add r6, r1, #0 ldr r0, [r4, r0] ldr r1, [r4] str r0, [sp, #0x18] mov r0, #0x50 add r7, r6, #0 add r5, r4, #4 mul r7, r0 add r0, r5, r7 str r0, [sp, #0x14] ldr r1, [r1, #0xc] mov r0, #0xc bl String_ctor str r0, [sp, #0x10] ldr r0, _022158D4 ; =0x00001FA8 ldr r1, _022158D8 ; =0x0221B090 lsl r2, r6, #2 ldr r0, [r4, r0] ldr r1, [r1, r2] bl NewString_ReadMsgData add r6, r0, #0 ldr r0, [r5, r7] bl FUN_020690E4 add r2, r0, #0 ldr r0, _022158DC ; =0x00001FAC mov r1, #0 ldr r0, [r4, r0] bl BufferBoxMonNickname ldr r0, _022158DC ; =0x00001FAC ldr r1, [sp, #0x10] ldr r0, [r4, r0] add r2, r6, #0 bl StringExpandPlaceholders add r0, r6, #0 bl String_dtor ldr r0, [sp, #0x14] mov r5, #0 ldrb r0, [r0, #0x16] lsl r0, r0, #0x18 lsr r0, r0, #0x1f bne _02215818 ldr r0, [sp, #0x14] ldrb r0, [r0, #0x17] lsl r1, r0, #0x18 lsr r1, r1, #0x1f bne _02215818 lsl r0, r0, #0x1d lsr r0, r0, #0x1d bne _02215808 ldr r0, _022158D4 ; =0x00001FA8 mov r1, #0x10 ldr r0, [r4, r0] bl NewString_ReadMsgData add r5, r0, #0 b _02215818 _02215808: cmp r0, #1 bne _02215818 ldr r0, _022158D4 ; =0x00001FA8 mov r1, #0x11 ldr r0, [r4, r0] bl NewString_ReadMsgData add r5, r0, #0 _02215818: ldr r1, [sp, #0x10] mov r0, #2 mov r2, #0 bl FUN_02002E14 lsl r0, r0, #0x18 lsr r6, r0, #0x18 cmp r5, #0 bne _02215830 mov r7, #0 add r4, r7, #0 b _02215840 _02215830: mov r0, #0 add r1, r5, #0 add r2, r0, #0 bl FUN_02002E14 lsl r0, r0, #0x18 lsr r7, r0, #0x18 mov r4, #8 _02215840: ldr r0, [sp, #0x18] bl GetWindowWidth lsl r0, r0, #3 sub r0, r0, r6 sub r0, r0, r7 sub r1, r0, r4 lsr r0, r1, #0x1f add r0, r1, r0 lsl r0, r0, #0x17 lsr r7, r0, #0x18 mov r0, #8 str r0, [sp] mov r0, #0xff str r0, [sp, #4] ldr r0, _022158E0 ; =0x00070809 ldr r2, [sp, #0x10] str r0, [sp, #8] mov r0, #0 str r0, [sp, #0xc] ldr r0, [sp, #0x18] mov r1, #2 add r3, r7, #0 bl AddTextPrinterParameterized2 ldr r0, [sp, #0x10] bl String_dtor cmp r5, #0 beq _022158C6 ldr r0, [sp, #0x14] ldrb r0, [r0, #0x17] lsl r0, r0, #0x1d lsr r0, r0, #0x1d bne _022158A4 mov r0, #8 str r0, [sp] mov r0, #0xff str r0, [sp, #4] ldr r0, _022158E4 ; =0x000A0B00 add r3, r7, r6 str r0, [sp, #8] mov r1, #0 ldr r0, [sp, #0x18] add r2, r5, #0 add r3, r4, r3 str r1, [sp, #0xc] bl AddTextPrinterParameterized2 b _022158C0 _022158A4: mov r0, #8 str r0, [sp] mov r0, #0xff str r0, [sp, #4] ldr r0, _022158E8 ; =0x000C0D00 add r3, r7, r6 str r0, [sp, #8] mov r1, #0 ldr r0, [sp, #0x18] add r2, r5, #0 add r3, r4, r3 str r1, [sp, #0xc] bl AddTextPrinterParameterized2 _022158C0: add r0, r5, #0 bl String_dtor _022158C6: ldr r0, [sp, #0x18] bl ScheduleWindowCopyToVram add sp, #0x1c pop {r4, r5, r6, r7, pc} .align 2, 0 _022158D0: .word 0x00002070 _022158D4: .word 0x00001FA8 _022158D8: .word MOD9_0221B090 _022158DC: .word 0x00001FAC _022158E0: .word 0x00070809 _022158E4: .word 0x000A0B00 _022158E8: .word 0x000C0D00 thumb_func_start MOD09_022158EC MOD09_022158EC: ; 0x022158EC push {r3, r4, r5, r6, r7, lr} sub sp, #0x28 add r5, r0, #0 ldr r0, _02215A1C ; =0x00002075 mov r1, #6 ldrb r2, [r5, r0] sub r0, r0, #5 mul r1, r2 lsl r1, r1, #0x10 lsr r6, r1, #0x10 ldr r1, [r5, r0] lsl r0, r6, #4 add r0, r1, r0 mov r1, #0 bl FillWindowPixelBuffer add r0, r6, #1 lsl r0, r0, #4 str r0, [sp, #0x18] ldr r0, _02215A20 ; =0x00002070 ldr r1, [r5, r0] ldr r0, [sp, #0x18] add r0, r1, r0 mov r1, #0 bl FillWindowPixelBuffer add r0, r6, #2 lsl r0, r0, #4 str r0, [sp, #0x14] ldr r0, _02215A20 ; =0x00002070 ldr r1, [r5, r0] ldr r0, [sp, #0x14] add r0, r1, r0 mov r1, #0 bl FillWindowPixelBuffer add r0, r6, #3 lsl r0, r0, #4 str r0, [sp, #0x10] ldr r0, _02215A20 ; =0x00002070 ldr r1, [r5, r0] ldr r0, [sp, #0x10] add r0, r1, r0 mov r1, #0 bl FillWindowPixelBuffer add r0, r6, #4 lsl r0, r0, #4 str r0, [sp, #0xc] ldr r0, _02215A20 ; =0x00002070 ldr r1, [r5, r0] ldr r0, [sp, #0xc] add r0, r1, r0 mov r1, #0 bl FillWindowPixelBuffer ldr r0, _02215A20 ; =0x00002070 mov r1, #0 ldr r0, [r5, r0] add r0, #0x50 bl FillWindowPixelBuffer mov r2, #0 str r2, [sp] str r2, [sp, #4] ldr r3, [r5] add r0, r5, #0 ldrb r3, [r3, #0x11] add r1, r6, #0 bl MOD09_02213E84 add r0, r5, #0 str r0, [sp, #0x1c] add r0, #0x34 mov r4, #0 add r7, r6, #1 str r0, [sp, #0x1c] _02215986: ldr r0, [r5] ldrb r1, [r0, #0x11] mov r0, #0x50 add r2, r1, #0 mul r2, r0 ldr r0, [sp, #0x1c] lsl r1, r4, #3 add r0, r0, r2 str r1, [sp, #0x20] ldrh r1, [r0, r1] str r0, [sp, #0x24] cmp r1, #0 beq _022159C8 mov r0, #2 str r0, [sp] mov r0, #8 str r0, [sp, #4] ldr r0, _02215A24 ; =0x00070809 ldr r3, _02215A28 ; =0x0221B07C lsl r6, r4, #2 str r0, [sp, #8] ldr r3, [r3, r6] add r0, r5, #0 add r2, r7, r4 bl MOD09_022142FC ldr r2, [sp, #0x20] ldr r1, [sp, #0x24] add r0, r5, #0 add r1, r1, r2 add r2, r7, r4 bl MOD09_022153B0 _022159C8: add r0, r4, #1 lsl r0, r0, #0x10 lsr r4, r0, #0x10 cmp r4, #4 blo _02215986 add r0, r5, #0 mov r1, #5 mov r2, #0x12 bl MOD09_0221445C ldr r0, _02215A20 ; =0x00002070 ldr r1, [r5, r0] ldr r0, [sp, #0x18] add r0, r1, r0 bl ScheduleWindowCopyToVram ldr r0, _02215A20 ; =0x00002070 ldr r1, [r5, r0] ldr r0, [sp, #0x14] add r0, r1, r0 bl ScheduleWindowCopyToVram ldr r0, _02215A20 ; =0x00002070 ldr r1, [r5, r0] ldr r0, [sp, #0x10] add r0, r1, r0 bl ScheduleWindowCopyToVram ldr r0, _02215A20 ; =0x00002070 ldr r1, [r5, r0] ldr r0, [sp, #0xc] add r0, r1, r0 bl ScheduleWindowCopyToVram ldr r1, _02215A1C ; =0x00002075 mov r0, #1 ldrb r2, [r5, r1] eor r0, r2 strb r0, [r5, r1] add sp, #0x28 pop {r3, r4, r5, r6, r7, pc} nop _02215A1C: .word 0x00002075 _02215A20: .word 0x00002070 _02215A24: .word 0x00070809 _02215A28: .word MOD9_0221B07C thumb_func_start MOD09_02215A2C MOD09_02215A2C: ; 0x02215A2C push {r3, r4, r5, lr} sub sp, #8 add r5, r0, #0 ldr r0, _02215C3C ; =0x00002075 mov r1, #0x16 ldrb r2, [r5, r0] sub r0, r0, #5 add r4, r2, #0 mul r4, r1 ldr r1, [r5, r0] mov r0, #0x13 lsl r0, r0, #4 add r0, r1, r0 mov r1, #0 bl FillWindowPixelBuffer ldr r0, _02215C40 ; =0x00002070 ldr r1, [r5, r0] mov r0, #5 lsl r0, r0, #6 add r0, r1, r0 mov r1, #0 bl FillWindowPixelBuffer ldr r0, _02215C40 ; =0x00002070 mov r1, #0 ldr r0, [r5, r0] add r0, #0xe0 bl FillWindowPixelBuffer ldr r0, _02215C40 ; =0x00002070 mov r1, #0 ldr r0, [r5, r0] add r0, #0xf0 bl FillWindowPixelBuffer ldr r0, _02215C40 ; =0x00002070 ldr r1, [r5, r0] mov r0, #1 lsl r0, r0, #8 add r0, r1, r0 mov r1, #0 bl FillWindowPixelBuffer ldr r0, _02215C40 ; =0x00002070 ldr r1, [r5, r0] mov r0, #0x11 lsl r0, r0, #4 add r0, r1, r0 mov r1, #0 bl FillWindowPixelBuffer ldr r0, _02215C40 ; =0x00002070 ldr r1, [r5, r0] mov r0, #0x12 lsl r0, r0, #4 add r0, r1, r0 mov r1, #0 bl FillWindowPixelBuffer ldr r0, _02215C40 ; =0x00002070 mov r1, #0 ldr r0, [r5, r0] add r0, #0xd0 bl FillWindowPixelBuffer ldr r0, _02215C40 ; =0x00002070 ldr r1, [r5, r0] mov r0, #0x15 lsl r0, r0, #4 add r0, r1, r0 mov r1, #0 bl FillWindowPixelBuffer ldr r0, _02215C40 ; =0x00002070 ldr r1, [r5, r0] lsl r0, r4, #4 add r0, r1, r0 mov r1, #0 bl FillWindowPixelBuffer ldr r0, _02215C40 ; =0x00002070 ldr r1, [r5, r0] add r0, r4, #0 add r0, #0xa lsl r0, r0, #4 add r0, r1, r0 mov r1, #0 bl FillWindowPixelBuffer ldr r0, _02215C40 ; =0x00002070 ldr r1, [r5, r0] add r0, r4, #0 add r0, #0xb lsl r0, r0, #4 add r0, r1, r0 mov r1, #0 bl FillWindowPixelBuffer ldr r0, _02215C40 ; =0x00002070 ldr r1, [r5, r0] add r0, r4, #0 add r0, #0xc lsl r0, r0, #4 add r0, r1, r0 mov r1, #0 bl FillWindowPixelBuffer ldr r0, _02215C40 ; =0x00002070 ldr r1, [r5, r0] add r0, r4, #5 lsl r0, r0, #4 add r0, r1, r0 mov r1, #0 bl FillWindowPixelBuffer ldr r0, _02215C40 ; =0x00002070 ldr r1, [r5, r0] add r0, r4, #6 lsl r0, r0, #4 add r0, r1, r0 mov r1, #0 bl FillWindowPixelBuffer ldr r0, _02215C40 ; =0x00002070 ldr r1, [r5, r0] add r0, r4, #7 lsl r0, r0, #4 add r0, r1, r0 mov r1, #0 bl FillWindowPixelBuffer ldr r0, _02215C40 ; =0x00002070 ldr r1, [r5, r0] add r0, r4, #0 add r0, #8 lsl r0, r0, #4 add r0, r1, r0 mov r1, #0 bl FillWindowPixelBuffer ldr r0, _02215C40 ; =0x00002070 ldr r1, [r5, r0] add r0, r4, #0 add r0, #9 lsl r0, r0, #4 add r0, r1, r0 mov r1, #0 bl FillWindowPixelBuffer ldr r0, _02215C40 ; =0x00002070 ldr r1, [r5, r0] add r0, r4, #4 lsl r0, r0, #4 add r0, r1, r0 mov r1, #0 bl FillWindowPixelBuffer ldr r0, _02215C40 ; =0x00002070 ldr r1, [r5, r0] add r0, r4, #1 lsl r0, r0, #4 add r0, r1, r0 mov r1, #0 bl FillWindowPixelBuffer ldr r0, _02215C40 ; =0x00002070 ldr r1, [r5, r0] add r0, r4, #2 lsl r0, r0, #4 add r0, r1, r0 mov r1, #0 bl FillWindowPixelBuffer ldr r0, _02215C40 ; =0x00002070 ldr r1, [r5, r0] add r0, r4, #3 lsl r0, r0, #4 add r0, r1, r0 mov r1, #0 bl FillWindowPixelBuffer mov r2, #0 str r2, [sp] str r2, [sp, #4] ldr r3, [r5] add r0, r5, #0 ldrb r3, [r3, #0x11] add r1, r4, #0 bl MOD09_02213E84 ldr r1, [r5] add r0, r5, #0 ldrb r1, [r1, #0x11] bl MOD09_02214B8C mov r3, #0 str r3, [sp] ldr r2, [r5] add r1, r4, #0 ldrb r2, [r2, #0x11] add r0, r5, #0 add r1, #0xa bl MOD09_02214100 ldr r1, [r5] add r0, r5, #0 ldrb r1, [r1, #0x11] bl MOD09_022144C0 ldr r1, [r5] add r0, r5, #0 ldrb r1, [r1, #0x11] bl MOD09_02214694 ldr r1, [r5] add r0, r5, #0 ldrb r1, [r1, #0x11] bl MOD09_02214790 ldr r1, [r5] add r0, r5, #0 ldrb r1, [r1, #0x11] bl MOD09_0221488C ldr r1, [r5] add r0, r5, #0 ldrb r1, [r1, #0x11] bl MOD09_0221498C ldr r1, [r5] add r0, r5, #0 ldrb r1, [r1, #0x11] bl MOD09_02214A8C ldr r2, [r5] add r0, r5, #0 ldrb r2, [r2, #0x11] add r1, r4, #1 bl MOD09_022141D8 ldr r2, [r5] add r0, r5, #0 ldrb r2, [r2, #0x11] add r1, r4, #3 bl MOD09_02214260 ldr r1, [r5] add r0, r5, #0 ldrb r1, [r1, #0x11] bl MOD09_02214D24 add r0, r5, #0 mov r1, #0x15 mov r2, #0x13 bl MOD09_0221445C ldr r1, _02215C3C ; =0x00002075 mov r0, #1 ldrb r2, [r5, r1] eor r0, r2 strb r0, [r5, r1] add sp, #8 pop {r3, r4, r5, pc} .align 2, 0 _02215C3C: .word 0x00002075 _02215C40: .word 0x00002070 thumb_func_start MOD09_02215C44 MOD09_02215C44: ; 0x02215C44 push {r4, r5, r6, r7, lr} sub sp, #0xc add r5, r0, #0 ldr r0, _02215D98 ; =0x00002075 mov r1, #0xb ldrb r2, [r5, r0] sub r0, r0, #5 ldr r0, [r5, r0] add r4, r2, #0 mul r4, r1 add r0, #0x60 mov r1, #0 bl FillWindowPixelBuffer ldr r0, _02215D9C ; =0x00002070 mov r1, #0 ldr r0, [r5, r0] add r0, #0x70 bl FillWindowPixelBuffer ldr r0, _02215D9C ; =0x00002070 mov r1, #0 ldr r0, [r5, r0] add r0, #0x80 bl FillWindowPixelBuffer ldr r0, _02215D9C ; =0x00002070 mov r1, #0 ldr r0, [r5, r0] add r0, #0x90 bl FillWindowPixelBuffer ldr r0, _02215D9C ; =0x00002070 mov r1, #0 ldr r0, [r5, r0] add r0, #0xa0 bl FillWindowPixelBuffer ldr r0, _02215D9C ; =0x00002070 ldr r1, [r5, r0] add r0, r4, #1 lsl r0, r0, #4 add r0, r1, r0 mov r1, #0 bl FillWindowPixelBuffer ldr r0, _02215D9C ; =0x00002070 ldr r1, [r5, r0] lsl r0, r4, #4 add r0, r1, r0 mov r1, #0 bl FillWindowPixelBuffer ldr r0, _02215D9C ; =0x00002070 ldr r1, [r5, r0] add r0, r4, #2 lsl r0, r0, #4 add r0, r1, r0 mov r1, #0 bl FillWindowPixelBuffer ldr r0, _02215D9C ; =0x00002070 ldr r1, [r5, r0] add r0, r4, #3 lsl r0, r0, #4 add r0, r1, r0 mov r1, #0 bl FillWindowPixelBuffer ldr r0, _02215D9C ; =0x00002070 ldr r1, [r5, r0] add r0, r4, #5 lsl r0, r0, #4 add r0, r1, r0 mov r1, #0 bl FillWindowPixelBuffer ldr r0, _02215D9C ; =0x00002070 ldr r1, [r5, r0] add r0, r4, #4 lsl r0, r0, #4 add r0, r1, r0 mov r1, #0 bl FillWindowPixelBuffer ldr r0, [r5] add r2, r5, #0 ldrb r3, [r0, #0x11] add r0, #0x34 ldrb r0, [r0] mov r1, #0x50 add r2, #0x34 mul r1, r3 add r1, r2, r1 lsl r0, r0, #3 add r7, r1, r0 mov r2, #0 str r2, [sp] add r0, r5, #0 mov r1, #6 str r2, [sp, #4] bl MOD09_02213E84 mov r2, #0 add r0, r5, #0 mov r1, #7 add r3, r2, #0 bl MOD09_022143A0 mov r0, #0 str r0, [sp] str r0, [sp, #4] ldr r0, _02215DA0 ; =0x000F0E00 add r2, r4, #0 str r0, [sp, #8] ldr r3, [r5] ldrh r1, [r7] add r3, #0x34 ldrb r3, [r3] add r0, r5, #0 lsl r6, r3, #2 ldr r3, _02215DA4 ; =0x0221B07C ldr r3, [r3, r6] bl MOD09_022142FC add r0, r5, #0 mov r1, #8 bl MOD09_02214DA0 ldrb r2, [r7, #6] add r0, r5, #0 add r1, r4, #2 bl MOD09_02214DE8 add r0, r5, #0 mov r1, #9 bl MOD09_02214ED0 ldrb r2, [r7, #7] add r0, r5, #0 add r1, r4, #3 bl MOD09_02214F18 ldrh r2, [r7] add r0, r5, #0 add r1, r4, #4 bl MOD09_02215000 add r0, r5, #0 mov r1, #0xa bl MOD09_022150C8 ldrb r2, [r7, #5] add r0, r5, #0 add r1, r4, #5 bl MOD09_0221512C ldrb r2, [r7, #2] ldrb r3, [r7, #3] add r0, r5, #0 add r1, r4, #1 bl MOD09_022151A8 ldr r1, _02215D98 ; =0x00002075 mov r0, #1 ldrb r2, [r5, r1] eor r0, r2 strb r0, [r5, r1] add sp, #0xc pop {r4, r5, r6, r7, pc} .align 2, 0 _02215D98: .word 0x00002075 _02215D9C: .word 0x00002070 _02215DA0: .word 0x000F0E00 _02215DA4: .word MOD9_0221B07C thumb_func_start MOD09_02215DA8 MOD09_02215DA8: ; 0x02215DA8 push {r4, r5, r6, r7, lr} sub sp, #0x1c add r5, r0, #0 ldr r0, _02215EC4 ; =0x00002070 mov r1, #0 ldr r0, [r5, r0] bl FillWindowPixelBuffer ldr r0, _02215EC4 ; =0x00002070 mov r1, #0 ldr r0, [r5, r0] add r0, #0x10 bl FillWindowPixelBuffer ldr r0, _02215EC4 ; =0x00002070 mov r1, #0 ldr r0, [r5, r0] add r0, #0x20 bl FillWindowPixelBuffer ldr r0, _02215EC4 ; =0x00002070 mov r1, #0 ldr r0, [r5, r0] add r0, #0x30 bl FillWindowPixelBuffer ldr r0, _02215EC4 ; =0x00002070 mov r1, #0 ldr r0, [r5, r0] add r0, #0x40 bl FillWindowPixelBuffer ldr r0, _02215EC4 ; =0x00002070 mov r1, #0 ldr r0, [r5, r0] add r0, #0x50 bl FillWindowPixelBuffer mov r1, #0 str r1, [sp] str r1, [sp, #4] ldr r3, [r5] add r0, r5, #0 ldrb r3, [r3, #0x11] add r2, r1, #0 bl MOD09_02213E84 add r0, r5, #0 mov r6, #0 str r0, [sp, #0x10] add r0, #0x34 ldr r7, _02215EC8 ; =0x0221B07C add r4, r6, #0 str r0, [sp, #0x10] _02215E14: ldr r0, [r5] ldrb r1, [r0, #0x11] mov r0, #0x50 add r2, r1, #0 mul r2, r0 ldr r0, [sp, #0x10] add r0, r0, r2 ldrh r1, [r0, r4] str r0, [sp, #0xc] cmp r1, #0 beq _02215E4C mov r0, #2 str r0, [sp] mov r0, #8 str r0, [sp, #4] ldr r0, _02215ECC ; =0x00070809 add r2, r6, #1 str r0, [sp, #8] ldr r3, [r7] add r0, r5, #0 bl MOD09_022142FC ldr r1, [sp, #0xc] add r0, r5, #0 add r1, r1, r4 add r2, r6, #1 bl MOD09_022153B0 _02215E4C: add r6, r6, #1 add r4, #8 add r7, r7, #4 cmp r6, #4 blo _02215E14 mov r0, #2 str r0, [sp] mov r0, #8 str r0, [sp, #4] ldr r0, _02215ECC ; =0x00070809 mov r2, #5 str r0, [sp, #8] ldr r1, [r5] add r0, r5, #0 ldrh r1, [r1, #0x24] mov r3, #0x49 bl MOD09_022142FC ldr r0, [r5] mov r1, #5 ldrh r0, [r0, #0x24] bl GetWazaAttr add r1, sp, #0x14 strb r0, [r1, #2] ldrb r0, [r1, #2] mov r2, #5 strb r0, [r1, #3] add r0, r5, #0 add r1, sp, #0x14 bl MOD09_022153B0 ldr r0, _02215EC4 ; =0x00002070 ldr r0, [r5, r0] add r0, #0x10 bl ScheduleWindowCopyToVram ldr r0, _02215EC4 ; =0x00002070 ldr r0, [r5, r0] add r0, #0x20 bl ScheduleWindowCopyToVram ldr r0, _02215EC4 ; =0x00002070 ldr r0, [r5, r0] add r0, #0x30 bl ScheduleWindowCopyToVram ldr r0, _02215EC4 ; =0x00002070 ldr r0, [r5, r0] add r0, #0x40 bl ScheduleWindowCopyToVram ldr r0, _02215EC4 ; =0x00002070 ldr r0, [r5, r0] add r0, #0x50 bl ScheduleWindowCopyToVram add sp, #0x1c pop {r4, r5, r6, r7, pc} nop _02215EC4: .word 0x00002070 _02215EC8: .word MOD9_0221B07C _02215ECC: .word 0x00070809 thumb_func_start MOD09_02215ED0 MOD09_02215ED0: ; 0x02215ED0 push {r3, r4, r5, r6, r7, lr} sub sp, #0x10 add r5, r0, #0 ldr r0, _02216090 ; =0x00002070 mov r1, #0 ldr r0, [r5, r0] bl FillWindowPixelBuffer ldr r0, _02216090 ; =0x00002070 mov r1, #0 ldr r0, [r5, r0] add r0, #0x20 bl FillWindowPixelBuffer ldr r0, _02216090 ; =0x00002070 mov r1, #0 ldr r0, [r5, r0] add r0, #0x30 bl FillWindowPixelBuffer ldr r0, _02216090 ; =0x00002070 mov r1, #0 ldr r0, [r5, r0] add r0, #0x10 bl FillWindowPixelBuffer ldr r0, _02216090 ; =0x00002070 mov r1, #0 ldr r0, [r5, r0] add r0, #0x40 bl FillWindowPixelBuffer ldr r0, _02216090 ; =0x00002070 mov r1, #0 ldr r0, [r5, r0] add r0, #0x60 bl FillWindowPixelBuffer ldr r0, _02216090 ; =0x00002070 mov r1, #0 ldr r0, [r5, r0] add r0, #0x50 bl FillWindowPixelBuffer ldr r0, _02216090 ; =0x00002070 mov r1, #0 ldr r0, [r5, r0] add r0, #0x70 bl FillWindowPixelBuffer ldr r0, _02216090 ; =0x00002070 mov r1, #0 ldr r0, [r5, r0] add r0, #0x90 bl FillWindowPixelBuffer ldr r0, _02216090 ; =0x00002070 mov r1, #0 ldr r0, [r5, r0] add r0, #0xa0 bl FillWindowPixelBuffer ldr r0, _02216090 ; =0x00002070 mov r1, #0 ldr r0, [r5, r0] add r0, #0x80 bl FillWindowPixelBuffer ldr r0, _02216090 ; =0x00002070 mov r1, #0 ldr r0, [r5, r0] add r0, #0xb0 bl FillWindowPixelBuffer mov r1, #0 str r1, [sp] str r1, [sp, #4] ldr r3, [r5] add r0, r5, #0 ldrb r3, [r3, #0x11] add r2, r1, #0 bl MOD09_02213E84 mov r2, #0 add r0, r5, #0 mov r1, #2 add r3, r2, #0 bl MOD09_022143A0 add r0, r5, #0 mov r1, #4 bl MOD09_02214DA0 add r0, r5, #0 mov r1, #5 bl MOD09_02214ED0 add r0, r5, #0 mov r1, #9 bl MOD09_022150C8 ldr r1, [r5] add r0, r1, #0 add r0, #0x34 ldrb r3, [r0] cmp r3, #4 bhs _0221600C ldrb r1, [r1, #0x11] add r2, r5, #0 mov r0, #0x50 add r2, #0x34 mul r0, r1 add r7, r2, r0 lsl r0, r3, #3 str r0, [sp, #0xc] add r4, r7, r0 mov r0, #0 str r0, [sp] str r0, [sp, #4] ldr r0, _02216094 ; =0x000F0E00 lsl r6, r3, #2 str r0, [sp, #8] ldr r1, [sp, #0xc] ldr r3, _02216098 ; =0x0221B07C ldrh r1, [r7, r1] ldr r3, [r3, r6] add r0, r5, #0 mov r2, #1 bl MOD09_022142FC ldrb r2, [r4, #6] add r0, r5, #0 mov r1, #6 bl MOD09_02214DE8 ldrb r2, [r4, #7] add r0, r5, #0 mov r1, #7 bl MOD09_02214F18 ldr r2, [sp, #0xc] add r0, r5, #0 ldrh r2, [r7, r2] mov r1, #8 bl MOD09_02215000 ldrb r2, [r4, #5] add r0, r5, #0 mov r1, #0xa bl MOD09_0221512C ldrb r2, [r4, #2] ldrb r3, [r4, #3] add r0, r5, #0 mov r1, #3 bl MOD09_022151A8 b _02216082 _0221600C: ldrh r0, [r1, #0x24] mov r1, #5 bl GetWazaAttr add r4, r0, #0 mov r0, #0 str r0, [sp] str r0, [sp, #4] ldr r0, _02216094 ; =0x000F0E00 mov r2, #1 str r0, [sp, #8] ldr r1, [r5] add r0, r5, #0 ldrh r1, [r1, #0x24] mov r3, #0x49 bl MOD09_022142FC ldr r2, [r5] add r0, r5, #0 ldrh r2, [r2, #0x24] mov r1, #8 bl MOD09_02215000 ldr r0, [r5] mov r1, #4 ldrh r0, [r0, #0x24] bl GetWazaAttr add r2, r0, #0 add r0, r5, #0 mov r1, #6 bl MOD09_02214DE8 ldr r0, [r5] mov r1, #2 ldrh r0, [r0, #0x24] bl GetWazaAttr add r2, r0, #0 add r0, r5, #0 mov r1, #7 bl MOD09_02214F18 ldr r0, [r5] mov r1, #1 ldrh r0, [r0, #0x24] bl GetWazaAttr add r2, r0, #0 add r0, r5, #0 mov r1, #0xa bl MOD09_0221512C add r0, r5, #0 mov r1, #3 add r2, r4, #0 add r3, r4, #0 bl MOD09_022151A8 _02216082: add r0, r5, #0 mov r1, #0xb bl MOD09_022152DC add sp, #0x10 pop {r3, r4, r5, r6, r7, pc} nop _02216090: .word 0x00002070 _02216094: .word 0x000F0E00 _02216098: .word MOD9_0221B07C thumb_func_start MOD09_0221609C MOD09_0221609C: ; 0x0221609C push {r4, r5, r6, r7, lr} sub sp, #0x14 add r5, r0, #0 ldr r0, _02216184 ; =0x00002070 mov r1, #0 ldr r0, [r5, r0] bl FillWindowPixelBuffer ldr r0, _02216184 ; =0x00002070 mov r1, #0 ldr r0, [r5, r0] add r0, #0x10 bl FillWindowPixelBuffer ldr r0, _02216184 ; =0x00002070 mov r1, #0 ldr r0, [r5, r0] add r0, #0x20 bl FillWindowPixelBuffer ldr r0, _02216184 ; =0x00002070 mov r1, #0 ldr r0, [r5, r0] add r0, #0x30 bl FillWindowPixelBuffer ldr r0, _02216184 ; =0x00002070 mov r1, #0 ldr r0, [r5, r0] add r0, #0x40 bl FillWindowPixelBuffer mov r1, #0 str r1, [sp] str r1, [sp, #4] ldr r3, [r5] add r0, r5, #0 ldrb r3, [r3, #0x11] add r2, r1, #0 bl MOD09_02213E84 add r0, r5, #0 mov r6, #0 str r0, [sp, #0x10] add r0, #0x34 ldr r7, _02216188 ; =0x0221B07C add r4, r6, #0 str r0, [sp, #0x10] _022160FC: ldr r0, [r5] ldrb r1, [r0, #0x11] mov r0, #0x50 add r2, r1, #0 mul r2, r0 ldr r0, [sp, #0x10] add r0, r0, r2 ldrh r1, [r0, r4] str r0, [sp, #0xc] cmp r1, #0 beq _02216134 mov r0, #2 str r0, [sp] mov r0, #8 str r0, [sp, #4] ldr r0, _0221618C ; =0x00070809 add r2, r6, #1 str r0, [sp, #8] ldr r3, [r7] add r0, r5, #0 bl MOD09_022142FC ldr r1, [sp, #0xc] add r0, r5, #0 add r1, r1, r4 add r2, r6, #1 bl MOD09_022153B0 _02216134: add r6, r6, #1 add r4, #8 add r7, r7, #4 cmp r6, #4 blo _022160FC ldr r2, [r5] mov r1, #0x25 ldrh r0, [r2, #0x22] ldr r2, [r2, #0xc] bl GetItemAttr cmp r0, #0 bne _02216156 add r0, r5, #0 mov r1, #0x5e bl MOD09_022143F8 _02216156: ldr r0, _02216184 ; =0x00002070 ldr r0, [r5, r0] add r0, #0x10 bl ScheduleWindowCopyToVram ldr r0, _02216184 ; =0x00002070 ldr r0, [r5, r0] add r0, #0x20 bl ScheduleWindowCopyToVram ldr r0, _02216184 ; =0x00002070 ldr r0, [r5, r0] add r0, #0x30 bl ScheduleWindowCopyToVram ldr r0, _02216184 ; =0x00002070 ldr r0, [r5, r0] add r0, #0x40 bl ScheduleWindowCopyToVram add sp, #0x14 pop {r4, r5, r6, r7, pc} nop _02216184: .word 0x00002070 _02216188: .word MOD9_0221B07C _0221618C: .word 0x00070809 thumb_func_start MOD09_02216190 MOD09_02216190: ; 0x02216190 push {r3, r4, r5, lr} ldr r4, [r0] add r3, r1, #0 ldrb r5, [r4, #0x11] add r1, r0, #0 mov r4, #0x50 add r1, #0x34 mul r4, r5 add r4, r1, r4 lsl r1, r2, #3 add r1, r4, r1 add r2, r3, #0 bl MOD09_022154FC pop {r3, r4, r5, pc} .align 2, 0 thumb_func_start MOD09_022161B0 MOD09_022161B0: ; 0x022161B0 push {r4, r5, r6, r7, lr} sub sp, #0x14 add r5, r0, #0 ldr r0, _02216304 ; =0x00002070 mov r1, #0 ldr r0, [r5, r0] bl FillWindowPixelBuffer ldr r0, _02216304 ; =0x00002070 mov r1, #0 ldr r0, [r5, r0] add r0, #0x20 bl FillWindowPixelBuffer ldr r0, _02216304 ; =0x00002070 mov r1, #0 ldr r0, [r5, r0] add r0, #0x30 bl FillWindowPixelBuffer ldr r0, _02216304 ; =0x00002070 mov r1, #0 ldr r0, [r5, r0] add r0, #0x10 bl FillWindowPixelBuffer ldr r0, _02216304 ; =0x00002070 mov r1, #0 ldr r0, [r5, r0] add r0, #0x40 bl FillWindowPixelBuffer ldr r0, _02216304 ; =0x00002070 mov r1, #0 ldr r0, [r5, r0] add r0, #0x50 bl FillWindowPixelBuffer ldr r0, _02216304 ; =0x00002070 mov r1, #0 ldr r0, [r5, r0] add r0, #0x60 bl FillWindowPixelBuffer mov r1, #0 str r1, [sp] str r1, [sp, #4] ldr r3, [r5] add r0, r5, #0 ldrb r3, [r3, #0x11] add r2, r1, #0 bl MOD09_02213E84 mov r2, #0 add r0, r5, #0 mov r1, #2 add r3, r2, #0 bl MOD09_022143A0 ldr r0, _02216308 ; =0x00001FA8 mov r1, #0x39 ldr r0, [r5, r0] bl NewString_ReadMsgData add r4, r0, #0 mov r0, #0 add r1, r4, #0 add r2, r0, #0 mov r3, #0x60 bl FUN_02002F40 mov r1, #0 add r3, r0, #0 str r1, [sp] mov r0, #0xff str r0, [sp, #4] ldr r0, _0221630C ; =0x000F0E00 add r2, r4, #0 str r0, [sp, #8] ldr r0, _02216304 ; =0x00002070 str r1, [sp, #0xc] ldr r0, [r5, r0] add r0, #0x40 bl AddTextPrinterParameterized2 add r0, r4, #0 bl String_dtor ldr r0, _02216304 ; =0x00002070 ldr r0, [r5, r0] add r0, #0x40 bl ScheduleWindowCopyToVram ldr r1, [r5] add r0, r1, #0 add r0, #0x34 ldrb r3, [r0] cmp r3, #4 bhs _022162BE ldrb r1, [r1, #0x11] add r2, r5, #0 mov r0, #0x50 add r2, #0x34 mul r0, r1 add r4, r2, r0 lsl r7, r3, #3 add r0, r4, r7 str r0, [sp, #0x10] mov r0, #0 str r0, [sp] str r0, [sp, #4] ldr r0, _0221630C ; =0x000F0E00 lsl r6, r3, #2 str r0, [sp, #8] ldr r3, _02216310 ; =0x0221B07C ldrh r1, [r4, r7] ldr r3, [r3, r6] add r0, r5, #0 mov r2, #1 bl MOD09_022142FC ldrh r2, [r4, r7] add r0, r5, #0 mov r1, #5 bl MOD09_02215060 ldr r2, [sp, #0x10] ldr r3, [sp, #0x10] ldrb r2, [r2, #2] ldrb r3, [r3, #3] add r0, r5, #0 mov r1, #3 bl MOD09_022151A8 b _022162F8 _022162BE: ldrh r0, [r1, #0x24] mov r1, #5 bl GetWazaAttr add r4, r0, #0 mov r0, #0 str r0, [sp] str r0, [sp, #4] ldr r0, _0221630C ; =0x000F0E00 mov r2, #1 str r0, [sp, #8] ldr r1, [r5] add r0, r5, #0 ldrh r1, [r1, #0x24] mov r3, #0x49 bl MOD09_022142FC ldr r2, [r5] add r0, r5, #0 ldrh r2, [r2, #0x24] mov r1, #5 bl MOD09_02215060 add r0, r5, #0 mov r1, #3 add r2, r4, #0 add r3, r4, #0 bl MOD09_022151A8 _022162F8: add r0, r5, #0 mov r1, #6 bl MOD09_022152DC add sp, #0x14 pop {r4, r5, r6, r7, pc} .align 2, 0 _02216304: .word 0x00002070 _02216308: .word 0x00001FA8 _0221630C: .word 0x000F0E00 _02216310: .word MOD9_0221B07C thumb_func_start MOD09_02216314 MOD09_02216314: ; 0x02216314 push {r4, lr} add r4, r0, #0 ldr r0, _02216338 ; =0x00002060 mov r1, #1 add r0, r4, r0 add r2, r1, #0 mov r3, #0xe bl DrawFrameAndWindow2 ldr r0, _02216338 ; =0x00002060 mov r1, #0xf add r0, r4, r0 bl FillWindowPixelBuffer add r0, r4, #0 bl MOD09_0221633C pop {r4, pc} .align 2, 0 _02216338: .word 0x00002060 thumb_func_start MOD09_0221633C MOD09_0221633C: ; 0x0221633C push {r3, r4, lr} sub sp, #0xc add r4, r0, #0 mov r0, #1 bl TextFlags_SetCanABSpeedUpPrint ldr r0, [r4] ldr r0, [r0, #8] bl MOD11_02230E54 mov r3, #0 str r3, [sp] str r0, [sp, #4] ldr r2, _02216370 ; =0x00002060 str r3, [sp, #8] add r0, r4, r2 sub r2, #0xb0 ldr r2, [r4, r2] mov r1, #1 bl AddTextPrinterParameterized ldr r1, _02216374 ; =0x0000207B strb r0, [r4, r1] add sp, #0xc pop {r3, r4, pc} nop _02216370: .word 0x00002060 _02216374: .word 0x0000207B thumb_func_start MOD09_02216378 MOD09_02216378: ; 0x02216378 push {r3, r4, r5, r6, r7, lr} sub sp, #0x10 add r5, r0, #0 ldr r0, [r5] mov r1, #0 str r0, [sp, #0xc] ldr r2, [sp, #0xc] ldrh r0, [r0, #0x22] ldr r2, [r2, #0xc] bl LoadItemDataOrGfx ldr r2, [sp, #0xc] add r6, r0, #0 ldrb r3, [r2, #0x11] ldr r0, [sp, #0xc] ldr r1, [sp, #0xc] add r2, r2, r3 add r2, #0x2c ldrb r2, [r2] ldr r0, [r0, #8] ldr r1, [r1, #0x28] bl MOD11_02230014 mov r1, #0xa2 mov r2, #0 add r7, r0, #0 bl GetMonData lsl r0, r0, #0x10 lsr r0, r0, #0x10 str r0, [sp, #8] add r0, r6, #0 mov r1, #0xf mov r4, #0 bl GetItemAttr_PreloadedItemData cmp r0, #0 beq _022163CC mov r0, #1 orr r0, r4 lsl r0, r0, #0x18 lsr r4, r0, #0x18 _022163CC: add r0, r6, #0 mov r1, #0x10 bl GetItemAttr_PreloadedItemData cmp r0, #0 beq _022163E0 mov r0, #2 orr r0, r4 lsl r0, r0, #0x18 lsr r4, r0, #0x18 _022163E0: add r0, r6, #0 mov r1, #0x11 bl GetItemAttr_PreloadedItemData cmp r0, #0 beq _022163F4 mov r0, #4 orr r0, r4 lsl r0, r0, #0x18 lsr r4, r0, #0x18 _022163F4: add r0, r6, #0 mov r1, #0x12 bl GetItemAttr_PreloadedItemData cmp r0, #0 beq _02216408 mov r0, #8 orr r0, r4 lsl r0, r0, #0x18 lsr r4, r0, #0x18 _02216408: add r0, r6, #0 mov r1, #0x13 bl GetItemAttr_PreloadedItemData cmp r0, #0 beq _0221641C mov r0, #0x10 orr r0, r4 lsl r0, r0, #0x18 lsr r4, r0, #0x18 _0221641C: add r0, r6, #0 mov r1, #0x14 bl GetItemAttr_PreloadedItemData cmp r0, #0 beq _02216430 mov r0, #0x20 orr r0, r4 lsl r0, r0, #0x18 lsr r4, r0, #0x18 _02216430: add r0, r6, #0 mov r1, #0x15 bl GetItemAttr_PreloadedItemData cmp r0, #0 beq _02216444 mov r0, #0x40 orr r0, r4 lsl r0, r0, #0x18 lsr r4, r0, #0x18 _02216444: ldr r0, [sp, #0xc] ldrb r1, [r0, #0x11] mov r0, #0x50 mul r0, r1 add r0, r5, r0 ldrh r1, [r0, #0x14] cmp r1, #0 bne _0221648E ldr r0, [sp, #8] cmp r0, #0 beq _0221648E ldr r0, _022166C8 ; =0x00001FA8 mov r1, #0x58 ldr r0, [r5, r0] bl NewString_ReadMsgData add r4, r0, #0 add r0, r7, #0 bl FUN_020690E4 add r2, r0, #0 ldr r0, _022166CC ; =0x00001FAC mov r1, #0 ldr r0, [r5, r0] bl BufferBoxMonNickname ldr r1, _022166CC ; =0x00001FAC add r2, r4, #0 ldr r0, [r5, r1] add r1, r1, #4 ldr r1, [r5, r1] bl StringExpandPlaceholders add r0, r4, #0 bl String_dtor b _022166BE _0221648E: ldr r0, [sp, #8] cmp r0, r1 beq _022164EA ldr r0, _022166C8 ; =0x00001FA8 mov r1, #0x52 ldr r0, [r5, r0] bl NewString_ReadMsgData add r4, r0, #0 add r0, r7, #0 bl FUN_020690E4 add r2, r0, #0 ldr r0, _022166CC ; =0x00001FAC mov r1, #0 ldr r0, [r5, r0] bl BufferBoxMonNickname mov r0, #0 str r0, [sp] mov r1, #1 ldr r2, [sp, #0xc] str r1, [sp, #4] ldrb r3, [r2, #0x11] mov r2, #0x50 ldr r0, _022166CC ; =0x00001FAC mul r2, r3 add r2, r5, r2 ldrh r3, [r2, #0x14] ldr r2, [sp, #8] ldr r0, [r5, r0] sub r2, r2, r3 mov r3, #3 bl BufferIntegerAsString ldr r1, _022166CC ; =0x00001FAC add r2, r4, #0 ldr r0, [r5, r1] add r1, r1, #4 ldr r1, [r5, r1] bl StringExpandPlaceholders add r0, r4, #0 bl String_dtor b _022166BE _022164EA: add r0, r6, #0 mov r1, #0x24 bl GetItemAttr_PreloadedItemData cmp r0, #0 bne _02216502 add r0, r6, #0 mov r1, #0x25 bl GetItemAttr_PreloadedItemData cmp r0, #0 beq _02216512 _02216502: ldr r2, _022166C8 ; =0x00001FA8 mov r1, #0x57 ldr r0, [r5, r2] add r2, #8 ldr r2, [r5, r2] bl ReadMsgDataIntoString b _022166BE _02216512: cmp r4, #1 ldr r0, _022166C8 ; =0x00001FA8 bne _0221654A ldr r0, [r5, r0] mov r1, #0x5c bl NewString_ReadMsgData add r4, r0, #0 add r0, r7, #0 bl FUN_020690E4 add r2, r0, #0 ldr r0, _022166CC ; =0x00001FAC mov r1, #0 ldr r0, [r5, r0] bl BufferBoxMonNickname ldr r1, _022166CC ; =0x00001FAC add r2, r4, #0 ldr r0, [r5, r1] add r1, r1, #4 ldr r1, [r5, r1] bl StringExpandPlaceholders add r0, r4, #0 bl String_dtor b _022166BE _0221654A: cmp r4, #2 bne _02216580 ldr r0, [r5, r0] mov r1, #0x53 bl NewString_ReadMsgData add r4, r0, #0 add r0, r7, #0 bl FUN_020690E4 add r2, r0, #0 ldr r0, _022166CC ; =0x00001FAC mov r1, #0 ldr r0, [r5, r0] bl BufferBoxMonNickname ldr r1, _022166CC ; =0x00001FAC add r2, r4, #0 ldr r0, [r5, r1] add r1, r1, #4 ldr r1, [r5, r1] bl StringExpandPlaceholders add r0, r4, #0 bl String_dtor b _022166BE _02216580: cmp r4, #4 bne _022165B6 ldr r0, [r5, r0] mov r1, #0x55 bl NewString_ReadMsgData add r4, r0, #0 add r0, r7, #0 bl FUN_020690E4 add r2, r0, #0 ldr r0, _022166CC ; =0x00001FAC mov r1, #0 ldr r0, [r5, r0] bl BufferBoxMonNickname ldr r1, _022166CC ; =0x00001FAC add r2, r4, #0 ldr r0, [r5, r1] add r1, r1, #4 ldr r1, [r5, r1] bl StringExpandPlaceholders add r0, r4, #0 bl String_dtor b _022166BE _022165B6: cmp r4, #8 bne _022165EC ldr r0, [r5, r0] mov r1, #0x56 bl NewString_ReadMsgData add r4, r0, #0 add r0, r7, #0 bl FUN_020690E4 add r2, r0, #0 ldr r0, _022166CC ; =0x00001FAC mov r1, #0 ldr r0, [r5, r0] bl BufferBoxMonNickname ldr r1, _022166CC ; =0x00001FAC add r2, r4, #0 ldr r0, [r5, r1] add r1, r1, #4 ldr r1, [r5, r1] bl StringExpandPlaceholders add r0, r4, #0 bl String_dtor b _022166BE _022165EC: cmp r4, #0x10 bne _02216622 ldr r0, [r5, r0] mov r1, #0x54 bl NewString_ReadMsgData add r4, r0, #0 add r0, r7, #0 bl FUN_020690E4 add r2, r0, #0 ldr r0, _022166CC ; =0x00001FAC mov r1, #0 ldr r0, [r5, r0] bl BufferBoxMonNickname ldr r1, _022166CC ; =0x00001FAC add r2, r4, #0 ldr r0, [r5, r1] add r1, r1, #4 ldr r1, [r5, r1] bl StringExpandPlaceholders add r0, r4, #0 bl String_dtor b _022166BE _02216622: cmp r4, #0x20 bne _02216658 ldr r0, [r5, r0] mov r1, #0x5a bl NewString_ReadMsgData add r4, r0, #0 add r0, r7, #0 bl FUN_020690E4 add r2, r0, #0 ldr r0, _022166CC ; =0x00001FAC mov r1, #0 ldr r0, [r5, r0] bl BufferBoxMonNickname ldr r1, _022166CC ; =0x00001FAC add r2, r4, #0 ldr r0, [r5, r1] add r1, r1, #4 ldr r1, [r5, r1] bl StringExpandPlaceholders add r0, r4, #0 bl String_dtor b _022166BE _02216658: cmp r4, #0x40 bne _0221668E ldr r0, [r5, r0] mov r1, #0x5b bl NewString_ReadMsgData add r4, r0, #0 add r0, r7, #0 bl FUN_020690E4 add r2, r0, #0 ldr r0, _022166CC ; =0x00001FAC mov r1, #0 ldr r0, [r5, r0] bl BufferBoxMonNickname ldr r1, _022166CC ; =0x00001FAC add r2, r4, #0 ldr r0, [r5, r1] add r1, r1, #4 ldr r1, [r5, r1] bl StringExpandPlaceholders add r0, r4, #0 bl String_dtor b _022166BE _0221668E: ldr r0, [r5, r0] mov r1, #0x59 bl NewString_ReadMsgData add r4, r0, #0 add r0, r7, #0 bl FUN_020690E4 add r2, r0, #0 ldr r0, _022166CC ; =0x00001FAC mov r1, #0 ldr r0, [r5, r0] bl BufferBoxMonNickname ldr r1, _022166CC ; =0x00001FAC add r2, r4, #0 ldr r0, [r5, r1] add r1, r1, #4 ldr r1, [r5, r1] bl StringExpandPlaceholders add r0, r4, #0 bl String_dtor _022166BE: add r0, r6, #0 bl FreeToHeap add sp, #0x10 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _022166C8: .word 0x00001FA8 _022166CC: .word 0x00001FAC thumb_func_start MOD09_022166D0 MOD09_022166D0: ; 0x022166D0 push {r4, r5, r6, lr} add r5, r0, #0 ldr r3, [r5] ldrb r2, [r3, #0x11] ldr r0, [r3, #8] ldr r1, [r3, #0x28] add r2, r3, r2 add r2, #0x2c ldrb r2, [r2] bl MOD11_02230014 add r6, r0, #0 ldr r0, _02216728 ; =0x00001FA8 mov r1, #0x5f ldr r0, [r5, r0] bl NewString_ReadMsgData add r4, r0, #0 add r0, r6, #0 bl FUN_020690E4 add r2, r0, #0 ldr r0, _0221672C ; =0x00001FAC mov r1, #0 ldr r0, [r5, r0] bl BufferBoxMonNickname ldr r0, _0221672C ; =0x00001FAC ldr r2, _02216730 ; =0x00000175 ldr r0, [r5, r0] mov r1, #1 bl BufferMoveName ldr r1, _0221672C ; =0x00001FAC add r2, r4, #0 ldr r0, [r5, r1] add r1, r1, #4 ldr r1, [r5, r1] bl StringExpandPlaceholders add r0, r4, #0 bl String_dtor pop {r4, r5, r6, pc} .align 2, 0 _02216728: .word 0x00001FA8 _0221672C: .word 0x00001FAC _02216730: .word 0x00000175 thumb_func_start MOD09_02216734 MOD09_02216734: ; 0x02216734 push {r4, lr} add r4, r0, #0 bl MOD09_02216770 add r0, r4, #0 bl MOD09_022167BC add r0, r4, #0 bl MOD09_02216894 add r0, r4, #0 bl MOD09_02216934 add r0, r4, #0 bl MOD09_022169AC add r0, r4, #0 bl MOD09_02216A4C add r0, r4, #0 bl MOD09_02216B4C add r0, r4, #0 bl MOD09_02217750 mov r0, #0x10 mov r1, #1 bl GX_EngineBToggleLayers pop {r4, pc} thumb_func_start MOD09_02216770 MOD09_02216770: ; 0x02216770 push {r3, r4, r5, lr} sub sp, #0x18 ldr r3, _022167B4 ; =0x0221B4B8 add r2, sp, #0 add r5, r0, #0 ldmia r3!, {r0, r1} stmia r2!, {r0, r1} ldmia r3!, {r0, r1} stmia r2!, {r0, r1} ldmia r3!, {r0, r1} stmia r2!, {r0, r1} ldr r0, [r5] ldr r0, [r0, #8] bl MOD11_02230078 add r4, r0, #0 bl FUN_0200BB34 ldr r1, _022167B8 ; =0x00001FB4 mov r2, #0x2b str r0, [r5, r1] ldr r1, [r5, r1] add r0, r4, #0 bl FUN_0200BBF0 ldr r1, _022167B8 ; =0x00001FB4 add r0, r4, #0 ldr r1, [r5, r1] add r2, sp, #0 bl FUN_0200BF60 add sp, #0x18 pop {r3, r4, r5, pc} nop _022167B4: .word MOD9_0221B4B8 _022167B8: .word 0x00001FB4 thumb_func_start MOD09_022167BC MOD09_022167BC: ; 0x022167BC push {r3, r4, r5, r6, r7, lr} sub sp, #0x18 add r6, r0, #0 ldr r0, [r6] ldr r0, [r0, #8] bl MOD11_02230078 add r7, r0, #0 bl FUN_0206B888 mov r1, #0x13 str r1, [sp] str r0, [sp, #4] mov r0, #0 str r0, [sp, #8] mov r1, #3 str r1, [sp, #0xc] mov r0, #2 str r0, [sp, #0x10] ldr r0, _0221688C ; =0x0000B007 ldr r3, _02216890 ; =0x00001FB4 str r0, [sp, #0x14] mov r0, #0x7a lsl r0, r0, #2 ldr r0, [r6, r0] ldr r3, [r6, r3] add r2, r7, #0 bl FUN_0200C0DC bl FUN_0206B890 add r3, r0, #0 mov r0, #0 str r0, [sp] ldr r0, _0221688C ; =0x0000B007 ldr r1, _02216890 ; =0x00001FB4 str r0, [sp, #4] ldr r1, [r6, r1] add r0, r7, #0 mov r2, #0x13 bl FUN_0200C124 bl FUN_0206B89C add r3, r0, #0 mov r0, #0 str r0, [sp] ldr r0, _0221688C ; =0x0000B007 ldr r1, _02216890 ; =0x00001FB4 str r0, [sp, #4] ldr r1, [r6, r1] add r0, r7, #0 mov r2, #0x13 bl FUN_0200C13C mov r4, #0 add r5, r6, #0 _0221682E: ldrh r0, [r5, #8] cmp r0, #0 beq _02216858 ldr r0, [r5, #4] bl FUN_0206B6C8 add r3, r0, #0 mov r0, #0 str r0, [sp] mov r0, #2 str r0, [sp, #4] ldr r0, _0221688C ; =0x0000B007 ldr r1, _02216890 ; =0x00001FB4 add r0, r4, r0 str r0, [sp, #8] ldr r1, [r6, r1] add r0, r7, #0 mov r2, #0x13 bl FUN_0200C00C b _0221687E _02216858: mov r0, #0 add r1, r0, #0 add r2, r0, #0 bl FUN_0206B6D4 add r3, r0, #0 mov r0, #0 str r0, [sp] mov r0, #2 str r0, [sp, #4] ldr r0, _0221688C ; =0x0000B007 ldr r1, _02216890 ; =0x00001FB4 add r0, r4, r0 str r0, [sp, #8] ldr r1, [r6, r1] add r0, r7, #0 mov r2, #0x13 bl FUN_0200C00C _0221687E: add r4, r4, #1 add r5, #0x50 cmp r4, #6 blo _0221682E add sp, #0x18 pop {r3, r4, r5, r6, r7, pc} nop _0221688C: .word 0x0000B007 _02216890: .word 0x00001FB4 thumb_func_start MOD09_02216894 MOD09_02216894: ; 0x02216894 push {r3, r4, r5, lr} sub sp, #0x18 add r5, r0, #0 ldr r0, [r5] ldr r0, [r0, #8] bl MOD11_02230078 add r4, r0, #0 bl FUN_0207C2C8 mov r1, #0x27 str r1, [sp] str r0, [sp, #4] mov r0, #0 str r0, [sp, #8] mov r0, #1 str r0, [sp, #0xc] mov r0, #2 str r0, [sp, #0x10] ldr r0, _02216928 ; =0x0000B008 ldr r3, _0221692C ; =0x00001FB4 str r0, [sp, #0x14] mov r0, #0x7a lsl r0, r0, #2 ldr r0, [r5, r0] ldr r3, [r5, r3] mov r1, #3 add r2, r4, #0 bl FUN_0200C0DC bl FUN_0207C2CC add r3, r0, #0 mov r0, #0 str r0, [sp] ldr r0, _02216928 ; =0x0000B008 ldr r1, _0221692C ; =0x00001FB4 str r0, [sp, #4] ldr r1, [r5, r1] add r0, r4, #0 mov r2, #0x27 bl FUN_0200C124 bl FUN_0207C2D0 add r3, r0, #0 mov r0, #0 str r0, [sp] ldr r0, _02216928 ; =0x0000B008 ldr r1, _0221692C ; =0x00001FB4 str r0, [sp, #4] ldr r1, [r5, r1] add r0, r4, #0 mov r2, #0x27 bl FUN_0200C13C bl FUN_0207C2C4 add r3, r0, #0 mov r0, #0 str r0, [sp] mov r0, #2 str r0, [sp, #4] ldr r0, _02216930 ; =0x0000B00D ldr r1, _0221692C ; =0x00001FB4 str r0, [sp, #8] ldr r1, [r5, r1] add r0, r4, #0 mov r2, #0x27 bl FUN_0200C00C add sp, #0x18 pop {r3, r4, r5, pc} nop _02216928: .word 0x0000B008 _0221692C: .word 0x00001FB4 _02216930: .word 0x0000B00D thumb_func_start MOD09_02216934 MOD09_02216934: ; 0x02216934 push {r3, r4, r5, r6, r7, lr} sub sp, #8 add r5, r0, #0 ldr r0, [r5] ldr r0, [r0, #8] bl MOD11_02230078 add r6, r0, #0 mov r0, #2 str r0, [sp] ldr r0, _0221699C ; =0x0000B009 ldr r3, _022169A0 ; =0x00001FB4 str r0, [sp, #4] mov r0, #0x7a lsl r0, r0, #2 ldr r0, [r5, r0] ldr r3, [r5, r3] mov r1, #3 add r2, r6, #0 bl FUN_0206E198 ldr r1, _022169A0 ; =0x00001FB4 ldr r2, _0221699C ; =0x0000B009 ldr r1, [r5, r1] add r0, r6, #0 add r3, r2, #0 bl FUN_0206E1D4 ldr r4, _022169A4 ; =0x0000B00E add r7, r4, #6 _02216970: ldr r1, _022169A0 ; =0x00001FB4 str r4, [sp] ldr r1, [r5, r1] add r0, r6, #0 mov r2, #2 mov r3, #0 bl FUN_0206E130 add r4, r4, #1 cmp r4, r7 bls _02216970 ldr r0, _022169A8 ; =0x0000B015 ldr r1, _022169A0 ; =0x00001FB4 str r0, [sp] ldr r1, [r5, r1] add r0, r6, #0 mov r2, #2 mov r3, #0 bl FUN_0206E2AC add sp, #8 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _0221699C: .word 0x0000B009 _022169A0: .word 0x00001FB4 _022169A4: .word 0x0000B00E _022169A8: .word 0x0000B015 thumb_func_start MOD09_022169AC MOD09_022169AC: ; 0x022169AC push {r3, r4, r5, lr} sub sp, #0x18 add r5, r0, #0 ldr r0, [r5] ldr r0, [r0, #8] bl MOD11_02230078 add r4, r0, #0 bl FUN_020724C8 mov r1, #0x14 str r1, [sp] str r0, [sp, #4] mov r0, #0 str r0, [sp, #8] mov r0, #1 str r0, [sp, #0xc] mov r0, #2 str r0, [sp, #0x10] ldr r0, _02216A40 ; =0x0000B00A ldr r3, _02216A44 ; =0x00001FB4 str r0, [sp, #0x14] mov r0, #0x7a lsl r0, r0, #2 ldr r0, [r5, r0] ldr r3, [r5, r3] mov r1, #3 add r2, r4, #0 bl FUN_0200C0DC bl FUN_020724CC add r3, r0, #0 mov r0, #0 str r0, [sp] ldr r0, _02216A40 ; =0x0000B00A ldr r1, _02216A44 ; =0x00001FB4 str r0, [sp, #4] ldr r1, [r5, r1] add r0, r4, #0 mov r2, #0x14 bl FUN_0200C124 bl FUN_020724D0 add r3, r0, #0 mov r0, #0 str r0, [sp] ldr r0, _02216A40 ; =0x0000B00A ldr r1, _02216A44 ; =0x00001FB4 str r0, [sp, #4] ldr r1, [r5, r1] add r0, r4, #0 mov r2, #0x14 bl FUN_0200C13C bl FUN_020724C4 add r3, r0, #0 mov r0, #0 str r0, [sp] mov r0, #2 str r0, [sp, #4] ldr r0, _02216A48 ; =0x0000B016 ldr r1, _02216A44 ; =0x00001FB4 str r0, [sp, #8] ldr r1, [r5, r1] add r0, r4, #0 mov r2, #0x14 bl FUN_0200C00C add sp, #0x18 pop {r3, r4, r5, pc} nop _02216A40: .word 0x0000B00A _02216A44: .word 0x00001FB4 _02216A48: .word 0x0000B016 thumb_func_start MOD09_02216A4C MOD09_02216A4C: ; 0x02216A4C push {r3, r4, r5, lr} sub sp, #0x18 add r5, r0, #0 ldr r0, [r5] ldr r0, [r0, #8] bl MOD11_02230078 add r4, r0, #0 mov r0, #0x48 str r0, [sp] mov r0, #0x1b str r0, [sp, #4] mov r0, #0 str r0, [sp, #8] mov r0, #1 str r0, [sp, #0xc] mov r0, #2 str r0, [sp, #0x10] ldr r0, _02216AD0 ; =0x0000B00B ldr r3, _02216AD4 ; =0x00001FB4 str r0, [sp, #0x14] mov r0, #0x7a lsl r0, r0, #2 ldr r0, [r5, r0] ldr r3, [r5, r3] mov r1, #3 add r2, r4, #0 bl FUN_0200C0DC mov r0, #0 str r0, [sp] ldr r0, _02216AD0 ; =0x0000B00B ldr r1, _02216AD4 ; =0x00001FB4 str r0, [sp, #4] ldr r1, [r5, r1] add r0, r4, #0 mov r2, #0x48 mov r3, #0x19 bl FUN_0200C124 mov r0, #0 str r0, [sp] ldr r0, _02216AD0 ; =0x0000B00B ldr r1, _02216AD4 ; =0x00001FB4 str r0, [sp, #4] ldr r1, [r5, r1] add r0, r4, #0 mov r2, #0x48 mov r3, #0x18 bl FUN_0200C13C mov r0, #0 str r0, [sp] mov r0, #2 str r0, [sp, #4] ldr r0, _02216AD8 ; =0x0000B017 ldr r1, _02216AD4 ; =0x00001FB4 str r0, [sp, #8] ldr r1, [r5, r1] add r0, r4, #0 mov r2, #0x48 mov r3, #0x1a bl FUN_0200C00C add sp, #0x18 pop {r3, r4, r5, pc} .align 2, 0 _02216AD0: .word 0x0000B00B _02216AD4: .word 0x00001FB4 _02216AD8: .word 0x0000B017 thumb_func_start MOD09_02216ADC MOD09_02216ADC: ; 0x02216ADC push {r4, r5, lr} sub sp, #0x34 add r5, r0, #0 ldr r0, [r5] add r4, r1, #0 ldr r0, [r0, #8] bl MOD11_02230078 mov r2, #0 add r1, sp, #0 strh r2, [r1] strh r2, [r1, #2] strh r2, [r1, #4] strh r2, [r1, #6] mov r1, #0x14 ldr r3, _02216B34 ; =0x0221B6F0 mul r1, r4 ldr r3, [r3, r1] str r2, [sp, #0xc] str r3, [sp, #8] mov r3, #2 str r3, [sp, #0x10] ldr r3, _02216B38 ; =0x0221B6E0 str r2, [sp, #0x30] ldr r3, [r3, r1] add r2, sp, #0 str r3, [sp, #0x14] ldr r3, _02216B3C ; =0x0221B6E4 ldr r3, [r3, r1] str r3, [sp, #0x18] ldr r3, _02216B40 ; =0x0221B6E8 ldr r3, [r3, r1] str r3, [sp, #0x1c] ldr r3, _02216B44 ; =0x0221B6EC ldr r1, [r3, r1] str r1, [sp, #0x20] mov r1, #1 str r1, [sp, #0x2c] ldr r1, _02216B48 ; =0x00001FB4 ldr r1, [r5, r1] bl FUN_0200C154 add sp, #0x34 pop {r4, r5, pc} .align 2, 0 _02216B34: .word MOD9_0221B6F0 _02216B38: .word MOD9_0221B6E0 _02216B3C: .word MOD9_0221B6E4 _02216B40: .word MOD9_0221B6E8 _02216B44: .word MOD9_0221B6EC _02216B48: .word 0x00001FB4 thumb_func_start MOD09_02216B4C MOD09_02216B4C: ; 0x02216B4C push {r3, r4, r5, r6, r7, lr} add r6, r0, #0 ldr r7, _02216B70 ; =0x00001FB8 mov r4, #0 add r5, r6, #0 _02216B56: add r0, r6, #0 add r1, r4, #0 bl MOD09_02216ADC str r0, [r5, r7] add r4, r4, #1 add r5, r5, #4 cmp r4, #0x26 blo _02216B56 add r0, r6, #0 bl MOD09_02216BD0 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _02216B70: .word 0x00001FB8 thumb_func_start MOD09_02216B74 MOD09_02216B74: ; 0x02216B74 push {r3, r4, r5, r6, r7, lr} add r7, r0, #0 ldr r0, [r7] ldr r0, [r0, #8] bl MOD11_02230078 ldr r6, _02216BA8 ; =0x00001FB8 str r0, [sp] mov r4, #0 add r5, r7, #0 _02216B88: ldr r0, [r5, r6] bl FUN_0200C3DC add r4, r4, #1 add r5, r5, #4 cmp r4, #0x26 blo _02216B88 add r0, r7, #0 bl MOD09_022177B4 ldr r1, _02216BAC ; =0x00001FB4 ldr r0, [sp] ldr r1, [r7, r1] bl FUN_0200C398 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _02216BA8: .word 0x00001FB8 _02216BAC: .word 0x00001FB4 thumb_func_start MOD09_02216BB0 MOD09_02216BB0: ; 0x02216BB0 push {r4, r5, r6, lr} add r5, r1, #0 add r4, r2, #0 mov r1, #1 add r6, r0, #0 bl FUN_0200C644 lsl r1, r5, #0x10 lsl r2, r4, #0x10 add r0, r6, #0 asr r1, r1, #0x10 asr r2, r2, #0x10 bl FUN_0200C714 pop {r4, r5, r6, pc} .align 2, 0 thumb_func_start MOD09_02216BD0 MOD09_02216BD0: ; 0x02216BD0 push {r3, r4, r5, r6, r7, lr} add r5, r0, #0 add r4, r5, #0 mov r7, #0 add r4, #0x1b add r6, r5, #0 _02216BDC: ldrh r0, [r5, #8] cmp r0, #0 beq _02216BFC add r1, r5, #0 ldrb r2, [r4] add r1, #0x32 ldrb r1, [r1] lsl r2, r2, #0x18 lsr r2, r2, #0x1f bl FUN_0206B7BC add r1, r0, #0 ldr r0, _02216C0C ; =0x00001FD4 ldr r0, [r6, r0] bl FUN_0200C66C _02216BFC: add r7, r7, #1 add r5, #0x50 add r4, #0x50 add r6, r6, #4 cmp r7, #6 blt _02216BDC pop {r3, r4, r5, r6, r7, pc} nop _02216C0C: .word 0x00001FD4 thumb_func_start MOD09_02216C10 MOD09_02216C10: ; 0x02216C10 push {r3, r4, r5, r6, r7, lr} sub sp, #0x10 add r5, r0, #0 ldr r0, [r5] add r6, r3, #0 ldr r0, [r0, #8] add r7, r1, #0 add r4, r2, #0 bl MOD11_02230078 str r0, [sp, #8] bl FUN_0206E12C str r0, [sp, #0xc] add r0, r6, #0 bl FUN_0206E0F0 add r3, r0, #0 mov r0, #1 str r0, [sp] ldr r1, _02216C5C ; =0x00001FB4 str r4, [sp, #4] ldr r0, [sp, #8] ldr r1, [r5, r1] ldr r2, [sp, #0xc] bl FUN_0200C9D8 add r0, r6, #0 bl FUN_0206E114 add r1, r0, #0 add r0, r7, #0 add r1, r1, #4 bl FUN_0200C66C add sp, #0x10 pop {r3, r4, r5, r6, r7, pc} nop _02216C5C: .word 0x00001FB4 thumb_func_start MOD09_02216C60 MOD09_02216C60: ; 0x02216C60 push {r4, r5, r6, r7, lr} sub sp, #0xc add r5, r0, #0 ldr r0, [r5] add r4, r2, #0 ldr r0, [r0, #8] add r6, r1, #0 bl MOD11_02230078 add r7, r0, #0 bl FUN_0206E2A8 str r0, [sp, #8] add r0, r4, #0 bl FUN_0206E278 add r3, r0, #0 mov r0, #1 str r0, [sp] ldr r0, _02216CAC ; =0x0000B015 ldr r1, _02216CB0 ; =0x00001FB4 str r0, [sp, #4] ldr r1, [r5, r1] ldr r2, [sp, #8] add r0, r7, #0 bl FUN_0200C9D8 add r0, r4, #0 bl FUN_0206E290 add r1, r0, #0 add r0, r6, #0 add r1, r1, #4 bl FUN_0200C66C add sp, #0xc pop {r4, r5, r6, r7, pc} nop _02216CAC: .word 0x0000B015 _02216CB0: .word 0x00001FB4 thumb_func_start MOD09_02216CB4 MOD09_02216CB4: ; 0x02216CB4 push {r3, r4, r5, r6, r7, lr} add r6, r0, #0 add r5, r1, #0 add r4, r2, #0 add r7, r3, #0 cmp r6, #7 beq _02216CD4 add r0, r5, #0 add r1, r6, #0 bl FUN_0200C5C0 add r0, r5, #0 add r1, r4, #0 add r2, r7, #0 bl MOD09_02216BB0 _02216CD4: pop {r3, r4, r5, r6, r7, pc} .align 2, 0 thumb_func_start MOD09_02216CD8 MOD09_02216CD8: ; 0x02216CD8 push {r4, r5, r6, lr} add r4, r1, #0 ldr r1, _02216D1C ; =0x00002004 add r5, r0, #0 add r6, r2, #0 ldrb r3, [r4, #0x14] ldr r1, [r5, r1] ldr r2, _02216D20 ; =0x0000B00E bl MOD09_02216C10 ldr r0, _02216D1C ; =0x00002004 ldr r1, [r6] ldr r0, [r5, r0] ldr r2, [r6, #4] bl MOD09_02216BB0 ldrb r3, [r4, #0x15] ldrb r0, [r4, #0x14] cmp r0, r3 beq _02216D18 ldr r1, _02216D24 ; =0x00002008 ldr r2, _02216D28 ; =0x0000B00F ldr r1, [r5, r1] add r0, r5, #0 bl MOD09_02216C10 ldr r0, _02216D24 ; =0x00002008 ldr r1, [r6, #8] ldr r0, [r5, r0] ldr r2, [r6, #0xc] bl MOD09_02216BB0 _02216D18: pop {r4, r5, r6, pc} nop _02216D1C: .word 0x00002004 _02216D20: .word 0x0000B00E _02216D24: .word 0x00002008 _02216D28: .word 0x0000B00F thumb_func_start MOD09_02216D2C MOD09_02216D2C: ; 0x02216D2C push {r4, r5, r6, lr} add r5, r1, #0 add r4, r2, #0 add r6, r3, #0 cmp r0, #0 beq _02216D5C bl ItemIdIsMail cmp r0, #1 bne _02216D4A add r0, r5, #0 mov r1, #1 bl FUN_0200C5C0 b _02216D52 _02216D4A: add r0, r5, #0 mov r1, #0 bl FUN_0200C5C0 _02216D52: add r0, r5, #0 add r1, r4, #0 add r2, r6, #0 bl MOD09_02216BB0 _02216D5C: pop {r4, r5, r6, pc} .align 2, 0 thumb_func_start MOD09_02216D60 MOD09_02216D60: ; 0x02216D60 push {r4, r5, r6, lr} add r5, r1, #0 add r4, r2, #0 add r6, r3, #0 cmp r0, #0 beq _02216D7E add r0, r5, #0 mov r1, #2 bl FUN_0200C5C0 add r0, r5, #0 add r1, r4, #0 add r2, r6, #0 bl MOD09_02216BB0 _02216D7E: pop {r4, r5, r6, pc} thumb_func_start MOD09_02216D80 MOD09_02216D80: ; 0x02216D80 push {r3, r4, r5, r6, r7, lr} add r6, r0, #0 ldr r7, _02216E14 ; =0x00001FB8 str r1, [sp] mov r5, #0 add r4, r6, #0 _02216D8C: ldr r0, [r4, r7] mov r1, #0 bl FUN_0200C644 add r5, r5, #1 add r4, r4, #4 cmp r5, #0x26 blo _02216D8C ldr r0, [sp] cmp r0, #9 bhi _02216E10 add r0, r0, r0 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _02216DAE: ; jump table .short _02216DC2 - _02216DAE - 2 ; case 0 .short _02216DCA - _02216DAE - 2 ; case 1 .short _02216DD2 - _02216DAE - 2 ; case 2 .short _02216DDA - _02216DAE - 2 ; case 3 .short _02216DE2 - _02216DAE - 2 ; case 4 .short _02216DEA - _02216DAE - 2 ; case 5 .short _02216DF2 - _02216DAE - 2 ; case 6 .short _02216DFA - _02216DAE - 2 ; case 7 .short _02216E02 - _02216DAE - 2 ; case 8 .short _02216E0A - _02216DAE - 2 ; case 9 _02216DC2: add r0, r6, #0 bl MOD09_02216E18 pop {r3, r4, r5, r6, r7, pc} _02216DCA: add r0, r6, #0 bl MOD09_02216EB4 pop {r3, r4, r5, r6, r7, pc} _02216DD2: add r0, r6, #0 bl MOD09_02216F0C pop {r3, r4, r5, r6, r7, pc} _02216DDA: add r0, r6, #0 bl MOD09_02216FA4 pop {r3, r4, r5, r6, r7, pc} _02216DE2: add r0, r6, #0 bl MOD09_0221707C pop {r3, r4, r5, r6, r7, pc} _02216DEA: add r0, r6, #0 bl MOD09_02217270 pop {r3, r4, r5, r6, r7, pc} _02216DF2: add r0, r6, #0 bl MOD09_02217140 pop {r3, r4, r5, r6, r7, pc} _02216DFA: add r0, r6, #0 bl MOD09_022171AC pop {r3, r4, r5, r6, r7, pc} _02216E02: add r0, r6, #0 bl MOD09_02217354 pop {r3, r4, r5, r6, r7, pc} _02216E0A: add r0, r6, #0 bl MOD09_022172DC _02216E10: pop {r3, r4, r5, r6, r7, pc} nop _02216E14: .word 0x00001FB8 thumb_func_start MOD09_02216E18 MOD09_02216E18: ; 0x02216E18 push {r3, r4, r5, r6, r7, lr} sub sp, #8 add r6, r0, #0 mov r0, #0 str r0, [sp, #4] add r0, r6, #0 str r0, [sp] add r0, #0x1b ldr r4, _02216E9C ; =0x0221B5D0 ldr r7, _02216EA0 ; =0x0221B600 add r5, r6, #0 str r0, [sp] _02216E30: ldrh r0, [r6, #8] cmp r0, #0 beq _02216E7E ldr r0, _02216EA4 ; =0x00001FD4 ldr r1, [r4] ldr r0, [r5, r0] ldr r2, [r4, #4] bl MOD09_02216BB0 ldr r0, [sp] ldr r1, _02216EA8 ; =0x00001FEC ldrb r0, [r0] ldr r1, [r5, r1] ldr r2, [r7] lsl r0, r0, #0x19 ldr r3, [r7, #4] lsr r0, r0, #0x1c bl MOD09_02216CB4 ldr r1, _02216EAC ; =0x00001FB8 ldr r2, [r4] ldr r3, [r4, #4] ldrh r0, [r6, #0x1e] ldr r1, [r5, r1] add r2, #8 add r3, #8 bl MOD09_02216D2C add r0, r6, #0 add r0, #0x31 ldr r1, _02216EB0 ; =0x00002038 ldr r2, [r4] ldr r3, [r4, #4] ldrb r0, [r0] ldr r1, [r5, r1] add r2, #0x10 add r3, #8 bl MOD09_02216D60 _02216E7E: ldr r0, [sp] add r6, #0x50 add r0, #0x50 str r0, [sp] ldr r0, [sp, #4] add r4, #8 add r0, r0, #1 add r5, r5, #4 add r7, #8 str r0, [sp, #4] cmp r0, #6 blt _02216E30 add sp, #8 pop {r3, r4, r5, r6, r7, pc} nop _02216E9C: .word MOD9_0221B5D0 _02216EA0: .word MOD9_0221B600 _02216EA4: .word 0x00001FD4 _02216EA8: .word 0x00001FEC _02216EAC: .word 0x00001FB8 _02216EB0: .word 0x00002038 thumb_func_start MOD09_02216EB4 MOD09_02216EB4: ; 0x02216EB4 push {r3, r4, r5, lr} add r5, r0, #0 ldr r0, [r5] add r1, r5, #4 ldrb r2, [r0, #0x11] mov r0, #0x50 mul r0, r2 add r4, r1, r0 add r0, r2, #7 lsl r0, r0, #2 add r1, r5, r0 ldr r0, _02216F08 ; =0x00001FB8 mov r2, #0x48 ldr r0, [r1, r0] mov r1, #0x80 bl MOD09_02216BB0 ldr r1, [r5] ldrh r0, [r4, #0x1a] ldrb r1, [r1, #0x11] mov r3, #0x50 lsl r1, r1, #2 add r2, r5, r1 ldr r1, _02216F08 ; =0x00001FB8 ldr r1, [r2, r1] mov r2, #0x88 bl MOD09_02216D2C ldr r1, [r5] add r4, #0x2d ldrb r1, [r1, #0x11] ldrb r0, [r4] mov r3, #0x50 add r1, #0x20 lsl r1, r1, #2 add r2, r5, r1 ldr r1, _02216F08 ; =0x00001FB8 ldr r1, [r2, r1] mov r2, #0x90 bl MOD09_02216D60 pop {r3, r4, r5, pc} .align 2, 0 _02216F08: .word 0x00001FB8 thumb_func_start MOD09_02216F0C MOD09_02216F0C: ; 0x02216F0C push {r3, r4, r5, lr} add r5, r0, #0 ldr r0, [r5] add r1, r5, #4 ldrb r2, [r0, #0x11] mov r0, #0x50 mul r0, r2 add r4, r1, r0 add r0, r2, #7 lsl r0, r0, #2 add r1, r5, r0 ldr r0, _02216F98 ; =0x00001FB8 mov r2, #0xc ldr r0, [r1, r0] mov r1, #0x18 bl MOD09_02216BB0 ldr r1, [r5] ldrb r0, [r4, #0x17] ldrb r1, [r1, #0x11] mov r3, #0x14 lsl r0, r0, #0x19 add r1, #0xd lsl r1, r1, #2 add r2, r5, r1 ldr r1, _02216F98 ; =0x00001FB8 lsr r0, r0, #0x1c ldr r1, [r2, r1] mov r2, #0xc6 bl MOD09_02216CB4 ldr r2, _02216F9C ; =0x0221B490 add r0, r5, #0 add r1, r4, #0 bl MOD09_02216CD8 ldr r1, [r5] ldrh r0, [r4, #0x1a] ldrb r1, [r1, #0x11] mov r3, #0x14 lsl r1, r1, #2 add r2, r5, r1 ldr r1, _02216F98 ; =0x00001FB8 ldr r1, [r2, r1] mov r2, #0x20 bl MOD09_02216D2C ldr r1, [r5] add r0, r4, #0 ldrb r1, [r1, #0x11] add r0, #0x2d ldrb r0, [r0] add r1, #0x20 lsl r1, r1, #2 add r2, r5, r1 ldr r1, _02216F98 ; =0x00001FB8 mov r3, #0x14 ldr r1, [r2, r1] mov r2, #0x28 bl MOD09_02216D60 ldr r1, _02216FA0 ; =0x00001FD0 ldrh r0, [r4, #0x1a] ldr r1, [r5, r1] mov r2, #0x14 mov r3, #0x84 bl MOD09_02216D2C pop {r3, r4, r5, pc} nop _02216F98: .word 0x00001FB8 _02216F9C: .word MOD9_0221B490 _02216FA0: .word 0x00001FD0 thumb_func_start MOD09_02216FA4 MOD09_02216FA4: ; 0x02216FA4 push {r3, r4, r5, r6, r7, lr} str r0, [sp] ldr r0, [r0] ldrb r2, [r0, #0x11] ldr r0, [sp] add r1, r0, #4 mov r0, #0x50 mul r0, r2 add r4, r1, r0 add r0, r2, #7 lsl r1, r0, #2 ldr r0, [sp] mov r2, #0xc add r1, r0, r1 ldr r0, _02217068 ; =0x00001FB8 ldr r0, [r1, r0] mov r1, #0x18 bl MOD09_02216BB0 ldr r1, [sp] ldrb r0, [r4, #0x17] ldr r1, [r1] mov r3, #0x14 ldrb r1, [r1, #0x11] lsl r0, r0, #0x19 lsr r0, r0, #0x1c add r1, #0xd lsl r2, r1, #2 ldr r1, [sp] add r2, r1, r2 ldr r1, _02217068 ; =0x00001FB8 ldr r1, [r2, r1] mov r2, #0xc6 bl MOD09_02216CB4 ldr r0, [sp] ldr r2, _0221706C ; =0x0221B470 add r1, r4, #0 bl MOD09_02216CD8 ldr r1, [sp] ldrh r0, [r4, #0x1a] ldr r1, [r1] mov r3, #0x14 ldrb r1, [r1, #0x11] lsl r2, r1, #2 ldr r1, [sp] add r2, r1, r2 ldr r1, _02217068 ; =0x00001FB8 ldr r1, [r2, r1] mov r2, #0x20 bl MOD09_02216D2C ldr r1, [sp] add r0, r4, #0 ldr r1, [r1] add r0, #0x2d ldrb r1, [r1, #0x11] ldrb r0, [r0] mov r3, #0x14 add r1, #0x20 lsl r2, r1, #2 ldr r1, [sp] add r2, r1, r2 ldr r1, _02217068 ; =0x00001FB8 ldr r1, [r2, r1] mov r2, #0x28 bl MOD09_02216D60 ldr r5, [sp] ldr r6, _02217070 ; =0x0221B4F0 mov r7, #0 _02217034: ldrh r0, [r4, #0x30] cmp r0, #0 beq _0221705A add r3, r4, #0 ldr r1, _02217074 ; =0x0000200C add r3, #0x34 ldr r2, _02217078 ; =0x0000B010 ldrb r3, [r3] ldr r0, [sp] ldr r1, [r5, r1] add r2, r7, r2 bl MOD09_02216C10 ldr r0, _02217074 ; =0x0000200C ldr r1, [r6] ldr r0, [r5, r0] ldr r2, [r6, #4] bl MOD09_02216BB0 _0221705A: add r7, r7, #1 add r4, #8 add r5, r5, #4 add r6, #8 cmp r7, #4 blo _02217034 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _02217068: .word 0x00001FB8 _0221706C: .word MOD9_0221B470 _02217070: .word MOD9_0221B4F0 _02217074: .word 0x0000200C _02217078: .word 0x0000B010 thumb_func_start MOD09_0221707C MOD09_0221707C: ; 0x0221707C push {r3, r4, r5, lr} add r5, r0, #0 ldr r0, [r5] add r1, r5, #4 ldrb r2, [r0, #0x11] mov r0, #0x50 mul r0, r2 add r4, r1, r0 add r0, r2, #7 lsl r0, r0, #2 add r1, r5, r0 ldr r0, _02217134 ; =0x00001FB8 mov r2, #0xc ldr r0, [r1, r0] mov r1, #0x18 bl MOD09_02216BB0 ldr r1, [r5] ldrb r0, [r4, #0x17] ldrb r1, [r1, #0x11] mov r3, #0x14 lsl r0, r0, #0x19 add r1, #0xd lsl r1, r1, #2 add r2, r5, r1 ldr r1, _02217134 ; =0x00001FB8 lsr r0, r0, #0x1c ldr r1, [r2, r1] mov r2, #0xc6 bl MOD09_02216CB4 ldr r2, _02217138 ; =0x0221B480 add r0, r5, #0 add r1, r4, #0 bl MOD09_02216CD8 ldr r0, [r5] mov r2, #0x30 add r0, #0x34 ldrb r0, [r0] add r0, #0x15 lsl r0, r0, #2 add r1, r5, r0 ldr r0, _02217134 ; =0x00001FB8 ldr r0, [r1, r0] mov r1, #0x88 bl MOD09_02216BB0 ldr r1, [r5] ldrh r0, [r4, #0x1a] ldrb r1, [r1, #0x11] mov r3, #0x14 lsl r1, r1, #2 add r2, r5, r1 ldr r1, _02217134 ; =0x00001FB8 ldr r1, [r2, r1] mov r2, #0x20 bl MOD09_02216D2C ldr r1, [r5] add r0, r4, #0 ldrb r1, [r1, #0x11] add r0, #0x2d ldrb r0, [r0] add r1, #0x20 lsl r1, r1, #2 add r2, r5, r1 ldr r1, _02217134 ; =0x00001FB8 mov r3, #0x14 ldr r1, [r2, r1] mov r2, #0x28 bl MOD09_02216D60 ldr r2, [r5] ldr r1, _0221713C ; =0x00002020 add r2, #0x34 ldrb r2, [r2] ldr r1, [r5, r1] add r0, r5, #0 lsl r2, r2, #3 add r2, r4, r2 add r2, #0x35 ldrb r2, [r2] bl MOD09_02216C60 ldr r0, _0221713C ; =0x00002020 mov r1, #0x18 ldr r0, [r5, r0] mov r2, #0x58 bl MOD09_02216BB0 pop {r3, r4, r5, pc} .align 2, 0 _02217134: .word 0x00001FB8 _02217138: .word MOD9_0221B480 _0221713C: .word 0x00002020 thumb_func_start MOD09_02217140 MOD09_02217140: ; 0x02217140 push {r3, r4, r5, lr} add r5, r0, #0 ldr r0, [r5] add r1, r5, #4 ldrb r2, [r0, #0x11] mov r0, #0x50 mul r0, r2 add r4, r1, r0 add r0, r2, #7 lsl r0, r0, #2 add r1, r5, r0 ldr r0, _022171A4 ; =0x00001FB8 mov r2, #0xc ldr r0, [r1, r0] mov r1, #0x18 bl MOD09_02216BB0 ldr r2, _022171A8 ; =0x0221B460 add r0, r5, #0 add r1, r4, #0 bl MOD09_02216CD8 ldr r1, [r5] ldrh r0, [r4, #0x1a] ldrb r1, [r1, #0x11] mov r3, #0x14 lsl r1, r1, #2 add r2, r5, r1 ldr r1, _022171A4 ; =0x00001FB8 ldr r1, [r2, r1] mov r2, #0x20 bl MOD09_02216D2C ldr r1, [r5] add r4, #0x2d ldrb r1, [r1, #0x11] ldrb r0, [r4] mov r3, #0x14 add r1, #0x20 lsl r1, r1, #2 add r2, r5, r1 ldr r1, _022171A4 ; =0x00001FB8 ldr r1, [r2, r1] mov r2, #0x28 bl MOD09_02216D60 add r0, r5, #0 bl MOD09_022174EC pop {r3, r4, r5, pc} .align 2, 0 _022171A4: .word 0x00001FB8 _022171A8: .word MOD9_0221B460 thumb_func_start MOD09_022171AC MOD09_022171AC: ; 0x022171AC push {r3, r4, r5, lr} add r5, r0, #0 ldr r0, [r5] add r1, r5, #4 ldrb r2, [r0, #0x11] mov r0, #0x50 mul r0, r2 add r4, r1, r0 add r0, r2, #7 lsl r0, r0, #2 add r1, r5, r0 ldr r0, _02217264 ; =0x00001FB8 mov r2, #0xc ldr r0, [r1, r0] mov r1, #0x18 bl MOD09_02216BB0 ldr r2, _02217268 ; =0x0221B450 add r0, r5, #0 add r1, r4, #0 bl MOD09_02216CD8 ldr r0, [r5] mov r2, #0x30 add r0, #0x34 ldrb r0, [r0] add r0, #0x15 lsl r0, r0, #2 add r1, r5, r0 ldr r0, _02217264 ; =0x00001FB8 ldr r0, [r1, r0] mov r1, #0x88 bl MOD09_02216BB0 ldr r1, [r5] ldrh r0, [r4, #0x1a] ldrb r1, [r1, #0x11] mov r3, #0x14 lsl r1, r1, #2 add r2, r5, r1 ldr r1, _02217264 ; =0x00001FB8 ldr r1, [r2, r1] mov r2, #0x20 bl MOD09_02216D2C ldr r1, [r5] add r0, r4, #0 ldrb r1, [r1, #0x11] add r0, #0x2d ldrb r0, [r0] add r1, #0x20 lsl r1, r1, #2 add r2, r5, r1 ldr r1, _02217264 ; =0x00001FB8 mov r3, #0x14 ldr r1, [r2, r1] mov r2, #0x28 bl MOD09_02216D60 ldr r1, [r5] add r0, r1, #0 add r0, #0x34 ldrb r2, [r0] cmp r2, #4 bhs _02217242 lsl r2, r2, #3 add r2, r4, r2 ldr r1, _0221726C ; =0x00002020 add r2, #0x35 ldrb r2, [r2] ldr r1, [r5, r1] add r0, r5, #0 bl MOD09_02216C60 b _02217256 _02217242: ldrh r0, [r1, #0x24] mov r1, #1 bl GetWazaAttr ldr r1, _0221726C ; =0x00002020 add r2, r0, #0 ldr r1, [r5, r1] add r0, r5, #0 bl MOD09_02216C60 _02217256: ldr r0, _0221726C ; =0x00002020 mov r1, #0x18 ldr r0, [r5, r0] mov r2, #0x58 bl MOD09_02216BB0 pop {r3, r4, r5, pc} .align 2, 0 _02217264: .word 0x00001FB8 _02217268: .word MOD9_0221B450 _0221726C: .word 0x00002020 thumb_func_start MOD09_02217270 MOD09_02217270: ; 0x02217270 push {r3, r4, r5, lr} add r5, r0, #0 ldr r0, [r5] add r1, r5, #4 ldrb r2, [r0, #0x11] mov r0, #0x50 mul r0, r2 add r4, r1, r0 add r0, r2, #7 lsl r0, r0, #2 add r1, r5, r0 ldr r0, _022172D4 ; =0x00001FB8 mov r2, #0xc ldr r0, [r1, r0] mov r1, #0x18 bl MOD09_02216BB0 ldr r2, _022172D8 ; =0x0221B460 add r0, r5, #0 add r1, r4, #0 bl MOD09_02216CD8 ldr r1, [r5] ldrh r0, [r4, #0x1a] ldrb r1, [r1, #0x11] mov r3, #0x14 lsl r1, r1, #2 add r2, r5, r1 ldr r1, _022172D4 ; =0x00001FB8 ldr r1, [r2, r1] mov r2, #0x20 bl MOD09_02216D2C ldr r1, [r5] add r4, #0x2d ldrb r1, [r1, #0x11] ldrb r0, [r4] mov r3, #0x14 add r1, #0x20 lsl r1, r1, #2 add r2, r5, r1 ldr r1, _022172D4 ; =0x00001FB8 ldr r1, [r2, r1] mov r2, #0x28 bl MOD09_02216D60 add r0, r5, #0 bl MOD09_022174EC pop {r3, r4, r5, pc} .align 2, 0 _022172D4: .word 0x00001FB8 _022172D8: .word MOD9_0221B460 thumb_func_start MOD09_022172DC MOD09_022172DC: ; 0x022172DC push {r3, r4, r5, lr} add r5, r0, #0 ldr r0, [r5] add r1, r5, #4 ldrb r2, [r0, #0x11] mov r0, #0x50 mul r0, r2 add r4, r1, r0 add r0, r2, #7 lsl r0, r0, #2 add r1, r5, r0 ldr r0, _02217350 ; =0x00001FB8 mov r2, #0xc ldr r0, [r1, r0] mov r1, #0x18 bl MOD09_02216BB0 ldr r0, [r5] mov r2, #0x48 add r0, #0x34 ldrb r0, [r0] add r0, #0x15 lsl r0, r0, #2 add r1, r5, r0 ldr r0, _02217350 ; =0x00001FB8 ldr r0, [r1, r0] mov r1, #0x88 bl MOD09_02216BB0 ldr r1, [r5] ldrh r0, [r4, #0x1a] ldrb r1, [r1, #0x11] mov r3, #0x14 lsl r1, r1, #2 add r2, r5, r1 ldr r1, _02217350 ; =0x00001FB8 ldr r1, [r2, r1] mov r2, #0x20 bl MOD09_02216D2C ldr r1, [r5] add r4, #0x2d ldrb r1, [r1, #0x11] ldrb r0, [r4] mov r3, #0x14 add r1, #0x20 lsl r1, r1, #2 add r2, r5, r1 ldr r1, _02217350 ; =0x00001FB8 ldr r1, [r2, r1] mov r2, #0x28 bl MOD09_02216D60 add r0, r5, #0 bl MOD09_02217624 pop {r3, r4, r5, pc} nop _02217350: .word 0x00001FB8 thumb_func_start MOD09_02217354 MOD09_02217354: ; 0x02217354 push {r3, r4, r5, lr} add r5, r0, #0 ldr r0, [r5] add r1, r5, #4 ldrb r2, [r0, #0x11] mov r0, #0x50 mul r0, r2 add r4, r1, r0 add r0, r2, #7 lsl r0, r0, #2 add r1, r5, r0 ldr r0, _022173B4 ; =0x00001FB8 mov r2, #0xc ldr r0, [r1, r0] mov r1, #0x18 bl MOD09_02216BB0 ldr r1, [r5] ldrh r0, [r4, #0x1a] ldrb r1, [r1, #0x11] mov r3, #0x14 lsl r1, r1, #2 add r2, r5, r1 ldr r1, _022173B4 ; =0x00001FB8 ldr r1, [r2, r1] mov r2, #0x20 bl MOD09_02216D2C ldr r1, [r5] add r4, #0x2d ldrb r1, [r1, #0x11] ldrb r0, [r4] mov r3, #0x14 add r1, #0x20 lsl r1, r1, #2 add r2, r5, r1 ldr r1, _022173B4 ; =0x00001FB8 ldr r1, [r2, r1] mov r2, #0x28 bl MOD09_02216D60 add r0, r5, #0 bl MOD09_022174EC add r0, r5, #0 bl MOD09_02217624 pop {r3, r4, r5, pc} .align 2, 0 _022173B4: .word 0x00001FB8 thumb_func_start MOD09_022173B8 MOD09_022173B8: ; 0x022173B8 push {r3, r4, r5, r6, r7, lr} add r6, r0, #0 ldr r0, [r6] add r2, r6, #4 ldrb r1, [r0, #0x11] mov r0, #0x50 mov r4, #0 mul r0, r1 add r0, r2, r0 str r0, [sp] _022173CC: ldr r0, [sp] lsl r5, r4, #3 add r3, r0, r5 ldrh r0, [r3, #0x30] cmp r0, #0 beq _02217400 lsl r0, r4, #2 add r3, #0x34 add r7, r6, r0 ldr r1, _02217438 ; =0x0000200C ldr r2, _0221743C ; =0x0000B010 ldrb r3, [r3] ldr r1, [r7, r1] add r0, r6, #0 add r2, r4, r2 bl MOD09_02216C10 ldr r0, _02217440 ; =0x0221B5A8 ldr r1, _02217440 ; =0x0221B5A8 add r2, r0, r5 ldr r0, _02217438 ; =0x0000200C ldr r1, [r1, r5] ldr r0, [r7, r0] ldr r2, [r2, #4] bl MOD09_02216BB0 _02217400: add r0, r4, #1 lsl r0, r0, #0x10 lsr r4, r0, #0x10 cmp r4, #4 blo _022173CC ldr r0, [r6] ldrh r0, [r0, #0x24] cmp r0, #0 beq _02217436 mov r1, #3 bl GetWazaAttr add r3, r0, #0 ldr r1, _02217444 ; =0x0000201C lsl r3, r3, #0x18 ldr r1, [r6, r1] ldr r2, _02217448 ; =0x0000B014 add r0, r6, #0 lsr r3, r3, #0x18 bl MOD09_02216C10 ldr r0, _02217444 ; =0x0000201C mov r1, #0x58 ldr r0, [r6, r0] mov r2, #0xb0 bl MOD09_02216BB0 _02217436: pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _02217438: .word 0x0000200C _0221743C: .word 0x0000B010 _02217440: .word MOD9_0221B5A8 _02217444: .word 0x0000201C _02217448: .word 0x0000B014 thumb_func_start MOD09_0221744C MOD09_0221744C: ; 0x0221744C push {r3, r4, r5, r6, r7, lr} add r7, r0, #0 ldr r0, [r7] add r2, r7, #4 ldrb r1, [r0, #0x11] mov r0, #0x50 mov r4, #0 mul r0, r1 add r0, r2, r0 str r0, [sp] _02217460: ldr r0, [sp] lsl r5, r4, #3 add r0, r0, r5 ldrh r0, [r0, #0x30] cmp r0, #0 beq _0221749E lsl r1, r4, #2 add r6, r7, r1 mov r1, #0xb bl GetWazaAttr add r3, r0, #0 ldr r1, _022174D8 ; =0x0000200C ldr r2, _022174DC ; =0x0000B010 add r3, #0x12 lsl r3, r3, #0x18 ldr r1, [r6, r1] add r0, r7, #0 add r2, r4, r2 lsr r3, r3, #0x18 bl MOD09_02216C10 ldr r0, _022174E0 ; =0x0221B5A8 ldr r1, _022174E0 ; =0x0221B5A8 add r2, r0, r5 ldr r0, _022174D8 ; =0x0000200C ldr r1, [r1, r5] ldr r0, [r6, r0] ldr r2, [r2, #4] bl MOD09_02216BB0 _0221749E: add r0, r4, #1 lsl r0, r0, #0x10 lsr r4, r0, #0x10 cmp r4, #4 blo _02217460 ldr r0, [r7] ldrh r0, [r0, #0x24] cmp r0, #0 beq _022174D6 mov r1, #0xb bl GetWazaAttr add r3, r0, #0 ldr r1, _022174E4 ; =0x0000201C add r3, #0x12 lsl r3, r3, #0x18 ldr r1, [r7, r1] ldr r2, _022174E8 ; =0x0000B014 add r0, r7, #0 lsr r3, r3, #0x18 bl MOD09_02216C10 ldr r0, _022174E4 ; =0x0000201C mov r1, #0x58 ldr r0, [r7, r0] mov r2, #0xb0 bl MOD09_02216BB0 _022174D6: pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _022174D8: .word 0x0000200C _022174DC: .word 0x0000B010 _022174E0: .word MOD9_0221B5A8 _022174E4: .word 0x0000201C _022174E8: .word 0x0000B014 thumb_func_start MOD09_022174EC MOD09_022174EC: ; 0x022174EC push {r3, lr} ldr r1, _02217504 ; =0x00002077 ldrb r1, [r0, r1] lsl r1, r1, #0x1c lsr r1, r1, #0x1c bne _022174FE bl MOD09_022173B8 pop {r3, pc} _022174FE: bl MOD09_0221744C pop {r3, pc} .align 2, 0 _02217504: .word 0x00002077 thumb_func_start MOD09_02217508 MOD09_02217508: ; 0x02217508 push {r3, r4, r5, lr} add r5, r0, #0 add r4, r1, #0 bl FUN_0200C5CC cmp r4, r0 beq _02217526 add r0, r5, #0 mov r1, #0 bl FUN_0200C61C add r0, r5, #0 add r1, r4, #0 bl FUN_0200C5C0 _02217526: pop {r3, r4, r5, pc} thumb_func_start MOD09_02217528 MOD09_02217528: ; 0x02217528 push {r3, lr} add r2, r0, #0 ldrh r0, [r2, #0x10] cmp r0, #0 bne _02217536 mov r0, #0 pop {r3, pc} _02217536: ldrb r1, [r2, #0x17] lsl r1, r1, #0x19 lsr r1, r1, #0x1c cmp r1, #7 beq _02217548 cmp r1, #6 beq _02217548 mov r0, #5 pop {r3, pc} _02217548: ldrh r1, [r2, #0x12] mov r2, #0x30 bl FUN_02079A54 cmp r0, #4 bhi _0221757A add r0, r0, r0 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _02217560: ; jump table .short _0221757A - _02217560 - 2 ; case 0 .short _02217576 - _02217560 - 2 ; case 1 .short _02217572 - _02217560 - 2 ; case 2 .short _0221756E - _02217560 - 2 ; case 3 .short _0221756A - _02217560 - 2 ; case 4 _0221756A: mov r0, #1 pop {r3, pc} _0221756E: mov r0, #2 pop {r3, pc} _02217572: mov r0, #3 pop {r3, pc} _02217576: mov r0, #4 pop {r3, pc} _0221757A: mov r0, #0 pop {r3, pc} .align 2, 0 thumb_func_start MOD09_02217580 MOD09_02217580: ; 0x02217580 push {r3, r4, r5, r6, r7, lr} add r5, r0, #0 ldr r0, [r5] mov r4, #0 ldr r0, [r0] bl GetPartyCount cmp r0, #0 ble _022175D8 add r7, r5, #4 _02217594: mov r0, #0x50 add r1, r4, #0 mul r1, r0 add r0, r5, r1 ldrh r0, [r0, #8] cmp r0, #0 beq _022175C6 add r0, r7, r1 bl MOD09_02217528 add r1, r0, #0 lsl r0, r4, #2 add r6, r5, r0 ldr r0, _022175DC ; =0x00001FD4 lsl r1, r1, #0x18 ldr r0, [r6, r0] lsr r1, r1, #0x18 bl MOD09_02217508 ldr r0, _022175DC ; =0x00001FD4 mov r1, #1 ldr r0, [r6, r0] lsl r1, r1, #0xc bl FUN_0200C5B4 _022175C6: add r0, r4, #1 lsl r0, r0, #0x10 lsr r4, r0, #0x10 ldr r0, [r5] ldr r0, [r0] bl GetPartyCount cmp r4, r0 blt _02217594 _022175D8: pop {r3, r4, r5, r6, r7, pc} nop _022175DC: .word 0x00001FD4 thumb_func_start MOD09_022175E0 MOD09_022175E0: ; 0x022175E0 push {r4, lr} add r4, r2, #0 cmp r4, r1 ble _02217606 add r0, #0x2c sub r1, r4, r1 mul r1, r0 lsl r0, r1, #0x10 mov r1, #0x4b lsl r1, r1, #2 bl _u32_div_f lsr r0, r0, #0x10 lsl r0, r0, #0x10 asr r0, r0, #0x10 sub r0, r4, r0 lsl r0, r0, #0x10 asr r0, r0, #0x10 pop {r4, pc} _02217606: add r0, #0x2c sub r1, r1, r4 mul r1, r0 lsl r0, r1, #0x10 mov r1, #0x4b lsl r1, r1, #2 bl _u32_div_f lsr r0, r0, #0x10 lsl r0, r0, #0x10 asr r0, r0, #0x10 add r0, r4, r0 lsl r0, r0, #0x10 asr r0, r0, #0x10 pop {r4, pc} thumb_func_start MOD09_02217624 MOD09_02217624: ; 0x02217624 push {r3, r4, r5, r6, r7, lr} add r6, r0, #0 ldr r0, [r6] add r5, r6, #4 ldrb r1, [r0, #0x11] mov r0, #0x50 add r4, r1, #0 mul r4, r0 ldr r0, _0221773C ; =0x00002024 mov r1, #0 ldr r0, [r6, r0] bl MOD09_02217508 ldr r0, _02217740 ; =0x00002028 mov r1, #1 ldr r0, [r6, r0] bl MOD09_02217508 ldr r0, _02217744 ; =0x0000202C mov r1, #3 ldr r0, [r6, r0] bl MOD09_02217508 ldr r0, _02217748 ; =0x00002030 mov r1, #4 ldr r0, [r6, r0] bl MOD09_02217508 ldr r0, _0221774C ; =0x00002034 mov r1, #2 ldr r0, [r6, r0] bl MOD09_02217508 add r0, r5, r4 add r0, #0x28 mov r1, #0x90 ldrb r0, [r0] add r2, r1, #0 bl MOD09_022175E0 add r7, r0, #0 add r0, r5, r4 add r0, #0x28 ldrb r0, [r0] mov r1, #2 mov r2, #0x18 bl MOD09_022175E0 add r2, r0, #0 ldr r0, _0221773C ; =0x00002024 add r1, r7, #0 ldr r0, [r6, r0] bl MOD09_02216BB0 add r0, r5, r4 add r0, #0x29 ldrb r0, [r0] mov r1, #0xa7 mov r2, #0x90 bl MOD09_022175E0 add r7, r0, #0 add r0, r5, r4 add r0, #0x29 ldrb r0, [r0] mov r1, #0x12 mov r2, #0x18 bl MOD09_022175E0 add r2, r0, #0 ldr r0, _02217740 ; =0x00002028 add r1, r7, #0 ldr r0, [r6, r0] bl MOD09_02216BB0 add r0, r5, r4 add r0, #0x2a ldrb r0, [r0] mov r1, #0x9f mov r2, #0x90 bl MOD09_022175E0 add r7, r0, #0 add r0, r5, r4 add r0, #0x2a ldrb r0, [r0] mov r1, #0x2f mov r2, #0x18 bl MOD09_022175E0 add r2, r0, #0 ldr r0, _02217744 ; =0x0000202C add r1, r7, #0 ldr r0, [r6, r0] bl MOD09_02216BB0 add r0, r5, r4 add r0, #0x2b ldrb r0, [r0] mov r1, #0x80 mov r2, #0x8f bl MOD09_022175E0 add r7, r0, #0 add r0, r5, r4 add r0, #0x2b ldrb r0, [r0] mov r1, #0x2f mov r2, #0x18 bl MOD09_022175E0 add r2, r0, #0 ldr r0, _02217748 ; =0x00002030 add r1, r7, #0 ldr r0, [r6, r0] bl MOD09_02216BB0 add r0, r5, r4 add r0, #0x2c ldrb r0, [r0] mov r1, #0x78 mov r2, #0x8f bl MOD09_022175E0 add r7, r0, #0 add r0, r5, r4 add r0, #0x2c ldrb r0, [r0] mov r1, #0x12 mov r2, #0x18 bl MOD09_022175E0 add r2, r0, #0 ldr r0, _0221774C ; =0x00002034 add r1, r7, #0 ldr r0, [r6, r0] bl MOD09_02216BB0 pop {r3, r4, r5, r6, r7, pc} nop _0221773C: .word 0x00002024 _02217740: .word 0x00002028 _02217744: .word 0x0000202C _02217748: .word 0x00002030 _0221774C: .word 0x00002034 thumb_func_start MOD09_02217750 MOD09_02217750: ; 0x02217750 push {r4, r5, lr} sub sp, #0x14 add r5, r0, #0 ldr r0, [r5] ldr r0, [r0, #8] bl MOD11_02230078 ldr r3, _022177A8 ; =0x0000B00C mov r2, #0x7a str r3, [sp] str r3, [sp, #4] str r3, [sp, #8] ldr r1, _022177AC ; =0x00001FB4 lsl r2, r2, #2 ldr r1, [r5, r1] ldr r2, [r5, r2] add r3, #0xc add r4, r0, #0 bl MOD11_0225D3EC ldr r3, _022177A8 ; =0x0000B00C mov r0, #0 str r3, [sp] str r3, [sp, #4] str r3, [sp, #8] str r0, [sp, #0xc] mov r0, #1 str r0, [sp, #0x10] ldr r1, _022177AC ; =0x00001FB4 ldr r2, [r5] ldr r1, [r5, r1] ldr r2, [r2, #0xc] add r0, r4, #0 add r3, #0xc bl MOD11_0225D484 add r1, r0, #0 ldr r0, _022177B0 ; =0x00002088 ldr r0, [r5, r0] bl MOD09_0221AC30 add sp, #0x14 pop {r4, r5, pc} nop _022177A8: .word 0x0000B00C _022177AC: .word 0x00001FB4 _022177B0: .word 0x00002088 thumb_func_start MOD09_022177B4 MOD09_022177B4: ; 0x022177B4 push {r3, r4, lr} sub sp, #4 add r4, r0, #0 ldr r0, _022177DC ; =0x00002088 ldr r0, [r4, r0] bl MOD09_0221AC24 bl MOD11_0225D508 ldr r2, _022177E0 ; =0x0000B00C ldr r0, _022177E4 ; =0x00001FB4 str r2, [sp] add r1, r2, #0 ldr r0, [r4, r0] add r1, #0xc add r3, r2, #0 bl MOD11_0225D45C add sp, #4 pop {r3, r4, pc} .align 2, 0 _022177DC: .word 0x00002088 _022177E0: .word 0x0000B00C _022177E4: .word 0x00001FB4 thumb_func_start MOD09_022177E8 MOD09_022177E8: ; 0x022177E8 push {r3, lr} ldr r1, _0221780C ; =0x00002077 ldrb r2, [r0, r1] lsl r2, r2, #0x18 lsr r2, r2, #0x1c bne _02217800 add r1, #0x11 ldr r0, [r0, r1] mov r1, #0x5f bl MOD09_0221AC94 pop {r3, pc} _02217800: add r1, #0x11 ldr r0, [r0, r1] mov r1, #0x7f bl MOD09_0221AC94 pop {r3, pc} .align 2, 0 _0221780C: .word 0x00002077 thumb_func_start MOD09_02217810 MOD09_02217810: ; 0x02217810 push {r3, lr} ldr r1, _02217834 ; =0x00002077 ldrb r2, [r0, r1] lsl r2, r2, #0x18 lsr r2, r2, #0x1c bne _02217828 add r1, #0x11 ldr r0, [r0, r1] mov r1, #5 bl MOD09_0221AC94 pop {r3, pc} _02217828: add r1, #0x11 ldr r0, [r0, r1] mov r1, #7 bl MOD09_0221AC94 pop {r3, pc} .align 2, 0 _02217834: .word 0x00002077 thumb_func_start MOD09_02217838 MOD09_02217838: ; 0x02217838 push {r3, r4, r5, lr} add r5, r1, #0 add r4, r0, #0 ldr r0, _022178D8 ; =0x00002088 ldr r1, _022178DC ; =0x0221B558 lsl r2, r5, #2 ldr r0, [r4, r0] ldr r1, [r1, r2] bl MOD09_0221AC68 cmp r5, #9 bhi _022178D6 add r0, r5, r5 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _0221785C: ; jump table .short _02217870 - _0221785C - 2 ; case 0 .short _0221788A - _0221785C - 2 ; case 1 .short _022178D6 - _0221785C - 2 ; case 2 .short _022178A0 - _0221785C - 2 ; case 3 .short _022178A0 - _0221785C - 2 ; case 4 .short _022178D6 - _0221785C - 2 ; case 5 .short _022178B0 - _0221785C - 2 ; case 6 .short _022178C4 - _0221785C - 2 ; case 7 .short _022178B0 - _0221785C - 2 ; case 8 .short _022178C4 - _0221785C - 2 ; case 9 _02217870: ldr r1, [r4] ldr r0, _022178D8 ; =0x00002088 ldrb r1, [r1, #0x11] ldr r0, [r4, r0] bl MOD09_0221AC34 ldr r0, _022178E0 ; =0x0000208C mov r1, #0 strb r1, [r4, r0] ldr r0, [r4] add r0, #0x34 strb r1, [r0] pop {r3, r4, r5, pc} _0221788A: ldr r1, _022178D8 ; =0x00002088 ldr r0, [r4, r1] add r1, r1, #4 ldrb r1, [r4, r1] bl MOD09_0221AC34 ldr r0, [r4] mov r1, #0 add r0, #0x34 strb r1, [r0] pop {r3, r4, r5, pc} _022178A0: ldr r1, [r4] ldr r0, _022178D8 ; =0x00002088 add r1, #0x34 ldrb r1, [r1] ldr r0, [r4, r0] bl MOD09_0221AC34 pop {r3, r4, r5, pc} _022178B0: add r0, r4, #0 bl MOD09_022177E8 ldr r1, _022178D8 ; =0x00002088 ldr r0, [r4, r1] add r1, r1, #5 ldrb r1, [r4, r1] bl MOD09_0221AC34 pop {r3, r4, r5, pc} _022178C4: add r0, r4, #0 bl MOD09_02217810 ldr r1, _022178D8 ; =0x00002088 ldr r0, [r4, r1] add r1, r1, #6 ldrb r1, [r4, r1] bl MOD09_0221AC34 _022178D6: pop {r3, r4, r5, pc} .align 2, 0 _022178D8: .word 0x00002088 _022178DC: .word MOD9_0221B558 _022178E0: .word 0x0000208C thumb_func_start MOD09_022178E4 MOD09_022178E4: ; 0x022178E4 push {r4, lr} add r4, r0, #0 ldr r0, _02217908 ; =0x00002088 mov r1, #0 ldr r0, [r4, r0] bl MOD09_0221AC2C ldr r0, _02217908 ; =0x00002088 ldr r0, [r4, r0] bl MOD09_0221AC5C ldr r0, _02217908 ; =0x00002088 ldr r0, [r4, r0] bl MOD09_0221AC24 bl MOD11_0225D648 pop {r4, pc} .align 2, 0 _02217908: .word 0x00002088 thumb_func_start MOD09_0221790C MOD09_0221790C: ; 0x0221790C push {r3, r4, r5, lr} sub sp, #8 add r5, r0, #0 mov r0, #0x10 str r0, [sp] mov r0, #6 str r0, [sp, #4] mov r0, #0x7b lsl r0, r0, #2 mov r2, #0 add r0, r5, r0 add r3, r2, #0 add r4, r1, #0 bl MOD09_02217CEC mov r0, #0x10 str r0, [sp] mov r0, #0xab lsl r0, r0, #2 mov r3, #6 add r0, r5, r0 add r1, r4, #0 mov r2, #0 str r3, [sp, #4] bl MOD09_02217CEC mov r0, #0x10 str r0, [sp] mov r0, #6 str r0, [sp, #4] mov r0, #0xdb lsl r0, r0, #2 add r0, r5, r0 add r1, r4, #0 mov r2, #0 mov r3, #0xc bl MOD09_02217CEC mov r0, #0x10 str r0, [sp] mov r0, #6 str r0, [sp, #4] ldr r0, _02217BCC ; =0x0000042C add r1, r4, #0 add r0, r5, r0 mov r2, #0 mov r3, #0x12 bl MOD09_02217CEC mov r2, #0x10 str r2, [sp] mov r0, #6 str r0, [sp, #4] ldr r0, _02217BD0 ; =0x000004EC add r1, r4, #0 add r0, r5, r0 mov r3, #0 bl MOD09_02217CEC ldr r0, _02217BD4 ; =0x000005AC mov r2, #0x10 str r2, [sp] mov r3, #6 add r0, r5, r0 add r1, r4, #0 str r3, [sp, #4] bl MOD09_02217CEC mov r2, #0x10 str r2, [sp] mov r0, #6 str r0, [sp, #4] ldr r0, _02217BD8 ; =0x0000066C add r1, r4, #0 add r0, r5, r0 mov r3, #0xc bl MOD09_02217CEC mov r2, #0x10 str r2, [sp] mov r0, #6 str r0, [sp, #4] ldr r0, _02217BDC ; =0x0000072C add r1, r4, #0 add r0, r5, r0 mov r3, #0x12 bl MOD09_02217CEC mov r0, #0xd str r0, [sp] mov r0, #5 str r0, [sp, #4] ldr r0, _02217BE0 ; =0x000007EC add r1, r4, #0 add r0, r5, r0 mov r2, #0 mov r3, #0x27 bl MOD09_02217CEC mov r0, #0xd str r0, [sp] mov r0, #5 str r0, [sp, #4] ldr r0, _02217BE4 ; =0x0000086E add r1, r4, #0 add r0, r5, r0 mov r2, #0 mov r3, #0x2c bl MOD09_02217CEC mov r2, #0xd str r2, [sp] mov r0, #5 str r0, [sp, #4] mov r0, #0x8f lsl r0, r0, #4 add r0, r5, r0 add r1, r4, #0 mov r3, #0x27 bl MOD09_02217CEC mov r2, #0xd str r2, [sp] mov r0, #5 str r0, [sp, #4] ldr r0, _02217BE8 ; =0x00000972 add r1, r4, #0 add r0, r5, r0 mov r3, #0x2c bl MOD09_02217CEC mov r0, #5 str r0, [sp] str r0, [sp, #4] ldr r0, _02217BEC ; =0x000009F4 add r1, r4, #0 add r0, r5, r0 mov r2, #0 mov r3, #0x31 bl MOD09_02217CEC ldr r0, _02217BF0 ; =0x00000A26 mov r2, #5 str r2, [sp] add r0, r5, r0 add r1, r4, #0 mov r3, #0x31 str r2, [sp, #4] bl MOD09_02217CEC mov r0, #5 str r0, [sp] str r0, [sp, #4] ldr r0, _02217BF4 ; =0x00000A58 add r1, r4, #0 add r0, r5, r0 mov r2, #0xa mov r3, #0x31 bl MOD09_02217CEC mov r0, #5 str r0, [sp] str r0, [sp, #4] ldr r0, _02217BF8 ; =0x00000A8A add r1, r4, #0 add r0, r5, r0 mov r2, #0xf mov r3, #0x31 bl MOD09_02217CEC mov r0, #5 str r0, [sp] str r0, [sp, #4] ldr r0, _02217BFC ; =0x00000ABC add r1, r4, #0 add r0, r5, r0 mov r2, #0 mov r3, #0x36 bl MOD09_02217CEC ldr r0, _02217C00 ; =0x00000AEE mov r2, #5 str r2, [sp] add r0, r5, r0 add r1, r4, #0 mov r3, #0x36 str r2, [sp, #4] bl MOD09_02217CEC mov r0, #5 str r0, [sp] str r0, [sp, #4] mov r0, #0xb2 lsl r0, r0, #4 add r0, r5, r0 add r1, r4, #0 mov r2, #0xa mov r3, #0x36 bl MOD09_02217CEC mov r0, #5 str r0, [sp] str r0, [sp, #4] ldr r0, _02217C04 ; =0x00000B52 add r1, r4, #0 add r0, r5, r0 mov r2, #0xf mov r3, #0x36 bl MOD09_02217CEC mov r0, #5 str r0, [sp] str r0, [sp, #4] ldr r0, _02217C08 ; =0x00000B84 add r1, r4, #0 add r0, r5, r0 mov r2, #0x1a mov r3, #0x18 bl MOD09_02217CEC mov r0, #5 str r0, [sp] str r0, [sp, #4] ldr r0, _02217C0C ; =0x00000BB6 add r1, r4, #0 add r0, r5, r0 mov r2, #0x1a mov r3, #0x1d bl MOD09_02217CEC mov r0, #5 str r0, [sp] str r0, [sp, #4] ldr r0, _02217C10 ; =0x00000BE8 add r1, r4, #0 add r0, r5, r0 mov r2, #0x1a mov r3, #0x22 bl MOD09_02217CEC mov r0, #5 str r0, [sp] str r0, [sp, #4] ldr r0, _02217C14 ; =0x00000C1A add r1, r4, #0 add r0, r5, r0 mov r2, #0x1a mov r3, #0x27 bl MOD09_02217CEC mov r0, #0x1a str r0, [sp] mov r0, #5 str r0, [sp, #4] mov r0, #0x6d lsl r0, r0, #6 add r0, r5, r0 add r1, r4, #0 mov r2, #0 mov r3, #0x18 bl MOD09_02217CEC mov r0, #0x1a str r0, [sp] mov r0, #5 str r0, [sp, #4] ldr r0, _02217C18 ; =0x00001C44 add r1, r4, #0 add r0, r5, r0 mov r2, #0 mov r3, #0x1d bl MOD09_02217CEC mov r0, #0x1a str r0, [sp] mov r0, #5 str r0, [sp, #4] ldr r0, _02217C1C ; =0x00001D48 add r1, r4, #0 add r0, r5, r0 mov r2, #0 mov r3, #0x22 bl MOD09_02217CEC mov r0, #9 str r0, [sp] mov r0, #4 str r0, [sp, #4] ldr r0, _02217C20 ; =0x00001E4C add r1, r4, #0 add r0, r5, r0 mov r2, #0x14 mov r3, #0x31 bl MOD09_02217CEC mov r0, #9 str r0, [sp] mov r0, #4 str r0, [sp, #4] ldr r0, _02217C24 ; =0x00001E94 add r1, r4, #0 add r0, r5, r0 mov r2, #0x14 mov r3, #0x35 bl MOD09_02217CEC mov r0, #9 str r0, [sp] mov r0, #4 str r0, [sp, #4] ldr r0, _02217C28 ; =0x00001EDC add r1, r4, #0 add r0, r5, r0 mov r2, #0x14 mov r3, #0x39 bl MOD09_02217CEC mov r0, #5 str r0, [sp] mov r0, #2 str r0, [sp, #4] ldr r0, _02217C2C ; =0x00001F24 add r1, r4, #0 add r0, r5, r0 mov r2, #0 mov r3, #0x3b bl MOD09_02217CEC mov r2, #5 str r2, [sp] mov r0, #2 str r0, [sp, #4] ldr r0, _02217C30 ; =0x00001F38 add r1, r4, #0 add r0, r5, r0 mov r3, #0x3b bl MOD09_02217CEC mov r0, #5 str r0, [sp] mov r0, #2 str r0, [sp, #4] ldr r0, _02217C34 ; =0x00001F4C add r1, r4, #0 add r0, r5, r0 mov r2, #0xa mov r3, #0x3b bl MOD09_02217CEC add sp, #8 pop {r3, r4, r5, pc} nop _02217BCC: .word 0x0000042C _02217BD0: .word 0x000004EC _02217BD4: .word 0x000005AC _02217BD8: .word 0x0000066C _02217BDC: .word 0x0000072C _02217BE0: .word 0x000007EC _02217BE4: .word 0x0000086E _02217BE8: .word 0x00000972 _02217BEC: .word 0x000009F4 _02217BF0: .word 0x00000A26 _02217BF4: .word 0x00000A58 _02217BF8: .word 0x00000A8A _02217BFC: .word 0x00000ABC _02217C00: .word 0x00000AEE _02217C04: .word 0x00000B52 _02217C08: .word 0x00000B84 _02217C0C: .word 0x00000BB6 _02217C10: .word 0x00000BE8 _02217C14: .word 0x00000C1A _02217C18: .word 0x00001C44 _02217C1C: .word 0x00001D48 _02217C20: .word 0x00001E4C _02217C24: .word 0x00001E94 _02217C28: .word 0x00001EDC _02217C2C: .word 0x00001F24 _02217C30: .word 0x00001F38 _02217C34: .word 0x00001F4C thumb_func_start MOD09_02217C38 MOD09_02217C38: ; 0x02217C38 push {r3, r4, r5, lr} sub sp, #8 add r5, r0, #0 mov r0, #0x1e str r0, [sp] mov r0, #0x11 str r0, [sp, #4] ldr r0, _02217CE0 ; =0x00000C4C mov r2, #0 add r0, r5, r0 add r3, r2, #0 add r4, r1, #0 bl MOD09_02217CEC mov r0, #0x1e str r0, [sp] ldr r0, _02217CE4 ; =0x00001048 mov r3, #0x11 add r0, r5, r0 add r1, r4, #0 mov r2, #0 str r3, [sp, #4] bl MOD09_02217CEC mov r0, #0x1e str r0, [sp] mov r0, #0x11 str r0, [sp, #4] ldr r0, _02217CE8 ; =0x00001444 add r1, r4, #0 add r0, r5, r0 mov r2, #0 mov r3, #0x22 bl MOD09_02217CEC mov r0, #0x10 str r0, [sp] mov r0, #6 str r0, [sp, #4] mov r0, #0x61 lsl r0, r0, #6 add r0, r5, r0 add r1, r4, #0 mov r2, #0 mov r3, #0x33 bl MOD09_02217CEC mov r2, #0x10 str r2, [sp] mov r0, #6 str r0, [sp, #4] mov r0, #0x19 lsl r0, r0, #8 add r0, r5, r0 add r1, r4, #0 mov r3, #0x33 bl MOD09_02217CEC mov r0, #0x10 str r0, [sp] mov r0, #6 str r0, [sp, #4] mov r0, #0x67 lsl r0, r0, #6 add r0, r5, r0 add r1, r4, #0 mov r2, #0 mov r3, #0x39 bl MOD09_02217CEC mov r2, #0x10 str r2, [sp] mov r0, #6 str r0, [sp, #4] mov r0, #0x6a lsl r0, r0, #6 add r0, r5, r0 add r1, r4, #0 mov r3, #0x39 bl MOD09_02217CEC add sp, #8 pop {r3, r4, r5, pc} nop _02217CE0: .word 0x00000C4C _02217CE4: .word 0x00001048 _02217CE8: .word 0x00001444 thumb_func_start MOD09_02217CEC MOD09_02217CEC: ; 0x02217CEC push {r3, r4, r5, r6, r7, lr} str r0, [sp] add r0, sp, #8 mov lr, r3 ldrb r3, [r0, #0x14] mov r6, #0 mov ip, r3 cmp r3, #0 ble _02217D38 ldrb r3, [r0, #0x10] lsl r2, r2, #1 add r7, r1, r2 _02217D04: mov r2, #0 cmp r3, #0 ble _02217D2C mov r0, lr add r0, r0, r6 lsl r0, r0, #6 add r5, r7, r0 add r0, r6, #0 mul r0, r3 lsl r1, r0, #1 ldr r0, [sp] add r4, r0, r1 _02217D1C: lsl r1, r2, #1 ldrh r0, [r5, r1] strh r0, [r4, r1] add r0, r2, #1 lsl r0, r0, #0x10 lsr r2, r0, #0x10 cmp r2, r3 blt _02217D1C _02217D2C: add r0, r6, #1 lsl r0, r0, #0x10 lsr r6, r0, #0x10 mov r0, ip cmp r6, r0 blt _02217D04 _02217D38: pop {r3, r4, r5, r6, r7, pc} .align 2, 0 thumb_func_start MOD09_02217D3C MOD09_02217D3C: ; 0x02217D3C cmp r1, #0x21 bhi _02217E22 add r1, r1, r1 add r1, pc ldrh r1, [r1, #6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _02217D4C: ; jump table .short _02217D90 - _02217D4C - 2 ; case 0 .short _02217D90 - _02217D4C - 2 ; case 1 .short _02217D90 - _02217D4C - 2 ; case 2 .short _02217D90 - _02217D4C - 2 ; case 3 .short _02217D90 - _02217D4C - 2 ; case 4 .short _02217D90 - _02217D4C - 2 ; case 5 .short _02217DAE - _02217D4C - 2 ; case 6 .short _02217DBA - _02217D4C - 2 ; case 7 .short _02217DC8 - _02217D4C - 2 ; case 8 .short _02217DC8 - _02217D4C - 2 ; case 9 .short _02217DC8 - _02217D4C - 2 ; case 10 .short _02217DC8 - _02217D4C - 2 ; case 11 .short _02217DD4 - _02217D4C - 2 ; case 12 .short _02217DE0 - _02217D4C - 2 ; case 13 .short _02217DEC - _02217D4C - 2 ; case 14 .short _02217DEC - _02217D4C - 2 ; case 15 .short _02217DEC - _02217D4C - 2 ; case 16 .short _02217DEC - _02217D4C - 2 ; case 17 .short _02217E0A - _02217D4C - 2 ; case 18 .short _02217DEC - _02217D4C - 2 ; case 19 .short _02217DEC - _02217D4C - 2 ; case 20 .short _02217DEC - _02217D4C - 2 ; case 21 .short _02217DEC - _02217D4C - 2 ; case 22 .short _02217DEC - _02217D4C - 2 ; case 23 .short _02217DEC - _02217D4C - 2 ; case 24 .short _02217DEC - _02217D4C - 2 ; case 25 .short _02217DEC - _02217D4C - 2 ; case 26 .short _02217DEC - _02217D4C - 2 ; case 27 .short _02217DFA - _02217D4C - 2 ; case 28 .short _02217DFA - _02217D4C - 2 ; case 29 .short _02217E16 - _02217D4C - 2 ; case 30 .short _02217E16 - _02217D4C - 2 ; case 31 .short _02217E16 - _02217D4C - 2 ; case 32 .short _02217E16 - _02217D4C - 2 ; case 33 _02217D90: cmp r3, #0 bne _02217DA2 mov r1, #0x7b lsl r1, r1, #2 add r1, r0, r1 mov r0, #0xc0 mul r0, r2 add r0, r1, r0 bx lr _02217DA2: ldr r1, _02217E28 ; =0x000004EC add r1, r0, r1 mov r0, #0xc0 mul r0, r2 add r0, r1, r0 bx lr _02217DAE: ldr r1, _02217E2C ; =0x00000B84 add r1, r0, r1 mov r0, #0x32 mul r0, r2 add r0, r1, r0 bx lr _02217DBA: ldr r1, _02217E30 ; =0x00000C4C add r1, r0, r1 mov r0, #0xff lsl r0, r0, #2 mul r0, r2 add r0, r1, r0 bx lr _02217DC8: ldr r1, _02217E34 ; =0x000007EC add r1, r0, r1 mov r0, #0x82 mul r0, r2 add r0, r1, r0 bx lr _02217DD4: ldr r1, _02217E38 ; =0x000009F4 add r1, r0, r1 mov r0, #0x32 mul r0, r2 add r0, r1, r0 bx lr _02217DE0: ldr r1, _02217E3C ; =0x00000ABC add r1, r0, r1 mov r0, #0x32 mul r0, r2 add r0, r1, r0 bx lr _02217DEC: mov r1, #0x61 lsl r1, r1, #6 add r1, r0, r1 mov r0, #0xc0 mul r0, r2 add r0, r1, r0 bx lr _02217DFA: mov r1, #0x6d lsl r1, r1, #6 add r1, r0, r1 lsl r0, r2, #6 add r0, r2, r0 lsl r0, r0, #2 add r0, r1, r0 bx lr _02217E0A: ldr r1, _02217E40 ; =0x00001E4C add r1, r0, r1 mov r0, #0x48 mul r0, r2 add r0, r1, r0 bx lr _02217E16: ldr r1, _02217E44 ; =0x00001F24 add r1, r0, r1 mov r0, #0x14 mul r0, r2 add r0, r1, r0 bx lr _02217E22: mov r0, #0 bx lr nop _02217E28: .word 0x000004EC _02217E2C: .word 0x00000B84 _02217E30: .word 0x00000C4C _02217E34: .word 0x000007EC _02217E38: .word 0x000009F4 _02217E3C: .word 0x00000ABC _02217E40: .word 0x00001E4C _02217E44: .word 0x00001F24 thumb_func_start MOD09_02217E48 MOD09_02217E48: ; 0x02217E48 push {r3, r4, r5, r6, r7, lr} sub sp, #8 add r7, r2, #0 add r2, r3, #0 add r3, sp, #0x10 add r4, r1, #0 ldrb r3, [r3, #0x10] add r1, r7, #0 str r0, [sp] bl MOD09_02217D3C add r1, r0, #0 ldr r2, _02217F7C ; =0x0221BAF2 lsl r0, r7, #2 ldrb r6, [r2, r0] ldr r2, _02217F80 ; =0x0221BAF3 ldrb r0, [r2, r0] add r5, r6, #0 mul r5, r0 add r0, r4, #0 lsl r2, r5, #1 bl memcpy cmp r7, #5 bgt _02217E96 cmp r7, #0 blt _02217F78 add r0, r7, r7 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _02217E8A: ; jump table .short _02217E9E - _02217E8A - 2 ; case 0 .short _02217E9E - _02217E8A - 2 ; case 1 .short _02217E9E - _02217E8A - 2 ; case 2 .short _02217E9E - _02217E8A - 2 ; case 3 .short _02217E9E - _02217E8A - 2 ; case 4 .short _02217E9E - _02217E8A - 2 ; case 5 _02217E96: cmp r7, #0x1b beq _02217F58 add sp, #8 pop {r3, r4, r5, r6, r7, pc} _02217E9E: mov r0, #0x50 add r1, r7, #0 mul r1, r0 ldr r0, [sp] add r0, r0, r1 ldrh r1, [r0, #8] cmp r1, #0 beq _02217F78 ldrb r1, [r0, #0x1b] lsl r1, r1, #0x18 lsr r1, r1, #0x1f beq _02217EFE lsl r2, r6, #1 add r0, r2, #5 lsl r0, r0, #1 ldrh r1, [r4, r0] add r0, sp, #4 strh r1, [r0] add r1, r6, r2 add r1, r1, #5 lsl r1, r1, #1 ldrh r1, [r4, r1] strh r1, [r0, #2] mov r1, #0 add r0, sp, #4 _02217ED0: add r5, r1, #2 lsl r3, r1, #1 add r7, r5, #0 mul r7, r6 lsl r5, r7, #1 ldrh r3, [r0, r3] mov r2, #0 add r5, r4, r5 _02217EE0: lsl r7, r2, #1 add r2, r2, #1 lsl r2, r2, #0x18 add r7, r5, r7 lsr r2, r2, #0x18 strh r3, [r7, #0xc] cmp r2, #9 blo _02217EE0 add r1, r1, #1 lsl r1, r1, #0x18 lsr r1, r1, #0x18 cmp r1, #2 blo _02217ED0 add sp, #8 pop {r3, r4, r5, r6, r7, pc} _02217EFE: ldrh r0, [r0, #0x14] cmp r0, #0 bne _02217F28 mov r1, #0 cmp r5, #0 ble _02217F78 mov r3, #2 ldr r2, _02217F84 ; =0x00000FFF lsl r3, r3, #0xc _02217F10: lsl r0, r1, #1 ldrh r6, [r4, r0] and r6, r2 orr r6, r3 strh r6, [r4, r0] add r0, r1, #1 lsl r0, r0, #0x18 lsr r1, r0, #0x18 cmp r1, r5 blt _02217F10 add sp, #8 pop {r3, r4, r5, r6, r7, pc} _02217F28: lsl r1, r7, #0x18 ldr r0, [sp] lsr r1, r1, #0x18 bl MOD09_02213BDC cmp r0, #1 bne _02217F78 mov r1, #0 cmp r5, #0 ble _02217F78 ldr r2, _02217F84 ; =0x00000FFF add r3, r2, #1 _02217F40: lsl r0, r1, #1 ldrh r6, [r4, r0] and r6, r2 orr r6, r3 strh r6, [r4, r0] add r0, r1, #1 lsl r0, r0, #0x18 lsr r1, r0, #0x18 cmp r1, r5 blt _02217F40 add sp, #8 pop {r3, r4, r5, r6, r7, pc} _02217F58: mov r1, #0 cmp r5, #0 ble _02217F78 mov r3, #0xa ldr r2, _02217F84 ; =0x00000FFF lsl r3, r3, #0xc _02217F64: lsl r0, r1, #1 ldrh r6, [r4, r0] and r6, r2 orr r6, r3 strh r6, [r4, r0] add r0, r1, #1 lsl r0, r0, #0x18 lsr r1, r0, #0x18 cmp r1, r5 blt _02217F64 _02217F78: add sp, #8 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _02217F7C: .word MOD9_0221BAF2 _02217F80: .word MOD9_0221BAF3 _02217F84: .word 0x00000FFF thumb_func_start MOD09_02217F88 MOD09_02217F88: ; 0x02217F88 push {r4, r5, r6, r7, lr} sub sp, #0x1c str r1, [sp, #0xc] str r2, [sp, #0x10] str r3, [sp, #0x14] add r5, r0, #0 ldr r0, [sp, #0xc] lsl r4, r0, #2 ldr r0, _02217FF4 ; =0x0221BAF3 ldrb r7, [r0, r4] ldr r0, _02217FF8 ; =0x0221BAF2 ldrb r6, [r0, r4] ldr r0, [r5] add r1, r6, #0 mul r1, r7 ldr r0, [r0, #0xc] lsl r1, r1, #1 bl AllocFromHeap str r0, [sp, #0x18] ldr r0, [sp, #0x14] ldr r1, [sp, #0x18] str r0, [sp] ldr r2, [sp, #0xc] ldr r3, [sp, #0x10] add r0, r5, #0 bl MOD09_02217E48 ldr r0, _02217FFC ; =0x0221BAF1 ldr r3, _02218000 ; =0x0221BAF0 ldrb r0, [r0, r4] ldrb r3, [r3, r4] ldr r2, [sp, #0x18] str r0, [sp] str r6, [sp, #4] mov r0, #0x79 str r7, [sp, #8] lsl r0, r0, #2 ldr r0, [r5, r0] mov r1, #6 bl LoadRectToBgTilemapRect mov r0, #0x79 lsl r0, r0, #2 ldr r0, [r5, r0] mov r1, #6 bl ScheduleBgTilemapBufferTransfer ldr r0, [sp, #0x18] bl FreeToHeap add sp, #0x1c pop {r4, r5, r6, r7, pc} nop _02217FF4: .word MOD9_0221BAF3 _02217FF8: .word MOD9_0221BAF2 _02217FFC: .word MOD9_0221BAF1 _02218000: .word MOD9_0221BAF0 thumb_func_start MOD09_02218004 MOD09_02218004: ; 0x02218004 push {r3, r4, r5, r6, r7, lr} add r5, r0, #0 ldr r0, _022180A4 ; =0x0221BA68 lsl r3, r1, #2 ldr r6, [r0, r3] cmp r6, #0 beq _022180A2 cmp r1, #5 bhi _0221801E ldr r0, _022180A8 ; =0x0221BA58 ldrb r0, [r0, r2] str r0, [sp] b _02218024 _0221801E: ldr r0, _022180AC ; =0x0221BA48 ldrb r0, [r0, r2] str r0, [sp] _02218024: cmp r2, #0 beq _02218032 cmp r2, #1 beq _02218036 cmp r2, #2 beq _0221803A b _0221803C _02218032: mov r7, #1 b _0221803C _02218036: mov r7, #0 b _0221803C _0221803A: mov r7, #1 _0221803C: cmp r1, #0xe blo _02218070 cmp r1, #0x11 bhi _02218070 ldr r1, _022180B0 ; =0x00002070 ldr r2, [sp] ldr r0, [r5, r1] add r1, r1, #5 ldrb r1, [r5, r1] mov r3, #0 ldrb r1, [r6, r1] lsl r1, r1, #4 add r0, r0, r1 add r1, r7, #0 bl ScrollWindow ldr r1, _022180B0 ; =0x00002070 ldr r0, [r5, r1] add r1, r1, #5 ldrb r1, [r5, r1] ldrb r1, [r6, r1] lsl r1, r1, #4 add r0, r0, r1 bl ScheduleWindowCopyToVram pop {r3, r4, r5, r6, r7, pc} _02218070: mov r4, #0 _02218072: ldrb r2, [r6, r4] cmp r2, #0xff beq _022180A2 ldr r0, _022180B0 ; =0x00002070 mov r3, #0 ldr r1, [r5, r0] lsl r0, r2, #4 add r0, r1, r0 ldr r2, [sp] add r1, r7, #0 bl ScrollWindow ldr r0, _022180B0 ; =0x00002070 ldr r1, [r5, r0] ldrb r0, [r6, r4] lsl r0, r0, #4 add r0, r1, r0 bl ScheduleWindowCopyToVram add r0, r4, #1 lsl r0, r0, #0x10 lsr r4, r0, #0x10 cmp r4, #8 blo _02218072 _022180A2: pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _022180A4: .word MOD9_0221BA68 _022180A8: .word MOD9_0221BA58 _022180AC: .word MOD9_0221BA48 _022180B0: .word 0x00002070 thumb_func_start MOD09_022180B4 MOD09_022180B4: ; 0x022180B4 push {r4, r5, r6, lr} add r5, r1, #0 add r4, r0, #0 cmp r5, #0x1b bhi _022181B8 add r0, r5, r5 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _022180CA: ; jump table .short _02218102 - _022180CA - 2 ; case 0 .short _02218102 - _022180CA - 2 ; case 1 .short _02218102 - _022180CA - 2 ; case 2 .short _02218102 - _022180CA - 2 ; case 3 .short _02218102 - _022180CA - 2 ; case 4 .short _02218102 - _022180CA - 2 ; case 5 .short _022181B8 - _022180CA - 2 ; case 6 .short _02218140 - _022180CA - 2 ; case 7 .short _022181B8 - _022180CA - 2 ; case 8 .short _022181B8 - _022180CA - 2 ; case 9 .short _022181B8 - _022180CA - 2 ; case 10 .short _022181B8 - _022180CA - 2 ; case 11 .short _022181B8 - _022180CA - 2 ; case 12 .short _022181B8 - _022180CA - 2 ; case 13 .short _02218172 - _022180CA - 2 ; case 14 .short _02218172 - _022180CA - 2 ; case 15 .short _02218172 - _022180CA - 2 ; case 16 .short _02218172 - _022180CA - 2 ; case 17 .short _022181B8 - _022180CA - 2 ; case 18 .short _0221818A - _022180CA - 2 ; case 19 .short _0221818A - _022180CA - 2 ; case 20 .short _0221818A - _022180CA - 2 ; case 21 .short _0221818A - _022180CA - 2 ; case 22 .short _022181A2 - _022180CA - 2 ; case 23 .short _022181A2 - _022180CA - 2 ; case 24 .short _022181A2 - _022180CA - 2 ; case 25 .short _022181A2 - _022180CA - 2 ; case 26 .short _022181A2 - _022180CA - 2 ; case 27 _02218102: ldr r0, _022181BC ; =0x0221BA62 lsl r1, r2, #1 ldrsh r6, [r0, r1] add r0, r5, #0 add r0, #0xd lsl r0, r0, #2 add r1, r4, r0 ldr r0, _022181C0 ; =0x00001FB8 add r2, r6, #0 ldr r0, [r1, r0] mov r1, #0 bl FUN_0200C82C lsl r0, r5, #2 add r1, r4, r0 ldr r0, _022181C0 ; =0x00001FB8 add r2, r6, #0 ldr r0, [r1, r0] mov r1, #0 bl FUN_0200C82C add r0, r5, #7 lsl r0, r0, #2 add r1, r4, r0 ldr r0, _022181C0 ; =0x00001FB8 add r2, r6, #0 ldr r0, [r1, r0] mov r1, #0 bl FUN_0200C82C pop {r4, r5, r6, pc} _02218140: ldr r0, _022181C4 ; =0x0221BA5C lsl r1, r2, #1 ldrsh r5, [r0, r1] ldr r0, [r4] ldrb r0, [r0, #0x11] add r2, r5, #0 lsl r0, r0, #2 add r1, r4, r0 ldr r0, _022181C0 ; =0x00001FB8 ldr r0, [r1, r0] mov r1, #0 bl FUN_0200C82C ldr r0, [r4] add r2, r5, #0 ldrb r0, [r0, #0x11] add r0, r0, #7 lsl r0, r0, #2 add r1, r4, r0 ldr r0, _022181C0 ; =0x00001FB8 ldr r0, [r1, r0] mov r1, #0 bl FUN_0200C82C pop {r4, r5, r6, pc} _02218172: add r0, r5, #7 lsl r0, r0, #2 lsl r3, r2, #1 ldr r2, _022181C4 ; =0x0221BA5C add r1, r4, r0 ldr r0, _022181C0 ; =0x00001FB8 ldrsh r2, [r2, r3] ldr r0, [r1, r0] mov r1, #0 bl FUN_0200C82C pop {r4, r5, r6, pc} _0221818A: add r0, r5, #2 lsl r0, r0, #2 lsl r3, r2, #1 ldr r2, _022181C4 ; =0x0221BA5C add r1, r4, r0 ldr r0, _022181C0 ; =0x00001FB8 ldrsh r2, [r2, r3] ldr r0, [r1, r0] mov r1, #0 bl FUN_0200C82C pop {r4, r5, r6, pc} _022181A2: sub r0, r5, #2 lsl r0, r0, #2 lsl r3, r2, #1 ldr r2, _022181C4 ; =0x0221BA5C add r1, r4, r0 ldr r0, _022181C0 ; =0x00001FB8 ldrsh r2, [r2, r3] ldr r0, [r1, r0] mov r1, #0 bl FUN_0200C82C _022181B8: pop {r4, r5, r6, pc} nop _022181BC: .word MOD9_0221BA62 _022181C0: .word 0x00001FB8 _022181C4: .word MOD9_0221BA5C thumb_func_start MOD09_022181C8 MOD09_022181C8: ; 0x022181C8 push {r4, r5, r6, lr} ldr r3, _02218210 ; =0x00001FA3 add r5, r0, #0 ldrb r6, [r5, r3] mov r2, #0x70 add r4, r1, #0 bic r6, r2 strb r6, [r5, r3] cmp r4, #5 bhi _022181F2 bl MOD09_02213620 cmp r0, #2 bne _022181F2 ldr r1, _02218210 ; =0x00001FA3 mov r0, #0x70 ldrb r2, [r5, r1] bic r2, r0 mov r0, #0x10 orr r0, r2 strb r0, [r5, r1] _022181F2: ldr r0, _02218214 ; =0x00001FA0 mov r2, #0 strb r2, [r5, r0] add r1, r0, #1 strb r2, [r5, r1] add r1, r0, #2 strb r4, [r5, r1] add r1, r0, #3 ldrb r2, [r5, r1] mov r1, #0x80 add r0, r0, #3 orr r1, r2 strb r1, [r5, r0] pop {r4, r5, r6, pc} nop _02218210: .word 0x00001FA3 _02218214: .word 0x00001FA0 thumb_func_start MOD09_02218218 MOD09_02218218: ; 0x02218218 push {r4, lr} ldr r2, _022182DC ; =0x00001FA3 add r4, r0, #0 ldrb r3, [r4, r2] lsl r1, r3, #0x18 lsr r1, r1, #0x1f beq _022182D8 sub r1, r2, #3 ldrb r1, [r4, r1] cmp r1, #0 beq _02218238 cmp r1, #1 beq _0221826C cmp r1, #2 beq _022182A0 pop {r4, pc} _02218238: sub r1, r2, #1 ldrb r1, [r4, r1] lsl r3, r3, #0x19 mov r2, #1 lsr r3, r3, #0x1d bl MOD09_02217F88 ldr r1, _022182E0 ; =0x00001FA2 add r0, r4, #0 ldrb r1, [r4, r1] mov r2, #1 bl MOD09_02218004 ldr r1, _022182E0 ; =0x00001FA2 add r0, r4, #0 ldrb r1, [r4, r1] mov r2, #1 bl MOD09_022180B4 ldr r0, _022182E4 ; =0x00001FA1 mov r1, #0 strb r1, [r4, r0] mov r1, #1 sub r0, r0, #1 strb r1, [r4, r0] pop {r4, pc} _0221826C: sub r1, r2, #1 ldrb r1, [r4, r1] lsl r3, r3, #0x19 mov r2, #2 lsr r3, r3, #0x1d bl MOD09_02217F88 ldr r1, _022182E0 ; =0x00001FA2 add r0, r4, #0 ldrb r1, [r4, r1] mov r2, #2 bl MOD09_02218004 ldr r1, _022182E0 ; =0x00001FA2 add r0, r4, #0 ldrb r1, [r4, r1] mov r2, #2 bl MOD09_022180B4 ldr r0, _022182E4 ; =0x00001FA1 mov r1, #0 strb r1, [r4, r0] mov r1, #2 sub r0, r0, #1 strb r1, [r4, r0] pop {r4, pc} _022182A0: sub r1, r2, #1 ldrb r1, [r4, r1] lsl r3, r3, #0x19 mov r2, #0 lsr r3, r3, #0x1d bl MOD09_02217F88 ldr r1, _022182E0 ; =0x00001FA2 add r0, r4, #0 ldrb r1, [r4, r1] mov r2, #0 bl MOD09_02218004 ldr r1, _022182E0 ; =0x00001FA2 add r0, r4, #0 ldrb r1, [r4, r1] mov r2, #0 bl MOD09_022180B4 ldr r0, _022182E4 ; =0x00001FA1 mov r1, #0 strb r1, [r4, r0] add r1, r0, #2 ldrb r2, [r4, r1] mov r1, #0x80 add r0, r0, #2 bic r2, r1 strb r2, [r4, r0] _022182D8: pop {r4, pc} nop _022182DC: .word 0x00001FA3 _022182E0: .word 0x00001FA2 _022182E4: .word 0x00001FA1 thumb_func_start MOD09_022182E8 MOD09_022182E8: ; 0x022182E8 push {r3, r4, r5, r6, r7, lr} add r4, r0, #0 cmp r1, #9 bls _022182F2 b _0221863A _022182F2: add r1, r1, r1 add r1, pc ldrh r1, [r1, #6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _022182FE: ; jump table .short _02218312 - _022182FE - 2 ; case 0 .short _0221838A - _022182FE - 2 ; case 1 .short _022183E6 - _022182FE - 2 ; case 2 .short _0221843A - _022182FE - 2 ; case 3 .short _022184D8 - _022182FE - 2 ; case 4 .short _02218524 - _022182FE - 2 ; case 5 .short _0221857C - _022182FE - 2 ; case 6 .short _022185DC - _022182FE - 2 ; case 7 .short _0221857C - _022182FE - 2 ; case 8 .short _0221860C - _022182FE - 2 ; case 9 _02218312: mov r5, #0 mov r6, #3 mov r7, #1 _02218318: add r0, r4, #0 add r1, r5, #0 bl MOD09_02213620 cmp r0, #0 bne _02218334 lsl r1, r5, #0x18 add r0, r4, #0 lsr r1, r1, #0x18 add r2, r6, #0 add r3, r7, #0 bl MOD09_02217F88 b _0221835A _02218334: cmp r0, #1 bne _02218348 lsl r1, r5, #0x18 mov r2, #0 add r0, r4, #0 lsr r1, r1, #0x18 add r3, r2, #0 bl MOD09_02217F88 b _0221835A _02218348: cmp r0, #2 bne _0221835A lsl r1, r5, #0x18 add r0, r4, #0 lsr r1, r1, #0x18 mov r2, #0 mov r3, #1 bl MOD09_02217F88 _0221835A: add r0, r5, #1 lsl r0, r0, #0x10 lsr r5, r0, #0x10 cmp r5, #6 blo _02218318 ldr r0, [r4] add r0, #0x35 ldrb r0, [r0] cmp r0, #1 bne _0221837C add r0, r4, #0 mov r1, #6 mov r2, #3 mov r3, #0 bl MOD09_02217F88 pop {r3, r4, r5, r6, r7, pc} _0221837C: mov r2, #0 add r0, r4, #0 mov r1, #6 add r3, r2, #0 bl MOD09_02217F88 pop {r3, r4, r5, r6, r7, pc} _0221838A: mov r2, #0 mov r1, #6 add r3, r2, #0 bl MOD09_02217F88 mov r2, #0 add r0, r4, #0 mov r1, #7 add r3, r2, #0 bl MOD09_02217F88 ldr r0, [r4] ldrb r1, [r0, #0x11] mov r0, #0x50 mul r0, r1 add r0, r4, r0 ldrb r0, [r0, #0x1b] lsl r0, r0, #0x18 lsr r0, r0, #0x1f beq _022183CC add r0, r4, #0 mov r1, #8 mov r2, #3 mov r3, #0 bl MOD09_02217F88 add r0, r4, #0 mov r1, #0xa mov r2, #3 mov r3, #0 bl MOD09_02217F88 pop {r3, r4, r5, r6, r7, pc} _022183CC: mov r2, #0 add r0, r4, #0 mov r1, #8 add r3, r2, #0 bl MOD09_02217F88 mov r2, #0 add r0, r4, #0 mov r1, #0xa add r3, r2, #0 bl MOD09_02217F88 pop {r3, r4, r5, r6, r7, pc} _022183E6: bl MOD09_02218680 cmp r0, #1 bne _02218408 mov r2, #0 add r0, r4, #0 mov r1, #0xc add r3, r2, #0 bl MOD09_02217F88 mov r2, #0 add r0, r4, #0 mov r1, #0xd add r3, r2, #0 bl MOD09_02217F88 b _02218420 _02218408: add r0, r4, #0 mov r1, #0xc mov r2, #3 mov r3, #0 bl MOD09_02217F88 add r0, r4, #0 mov r1, #0xd mov r2, #3 mov r3, #0 bl MOD09_02217F88 _02218420: mov r2, #0 add r0, r4, #0 mov r1, #0xb add r3, r2, #0 bl MOD09_02217F88 mov r2, #0 add r0, r4, #0 mov r1, #6 add r3, r2, #0 bl MOD09_02217F88 pop {r3, r4, r5, r6, r7, pc} _0221843A: bl MOD09_02218680 cmp r0, #1 bne _0221845C mov r2, #0 add r0, r4, #0 mov r1, #0xc add r3, r2, #0 bl MOD09_02217F88 mov r2, #0 add r0, r4, #0 mov r1, #0xd add r3, r2, #0 bl MOD09_02217F88 b _02218474 _0221845C: add r0, r4, #0 mov r1, #0xc mov r2, #3 mov r3, #0 bl MOD09_02217F88 add r0, r4, #0 mov r1, #0xd mov r2, #3 mov r3, #0 bl MOD09_02217F88 _02218474: mov r5, #0 mov r7, #3 mov r6, #0x50 _0221847A: ldr r0, [r4] lsl r1, r5, #3 ldrb r0, [r0, #0x11] add r2, r0, #0 mul r2, r6 add r0, r4, r2 add r0, r1, r0 ldrh r0, [r0, #0x34] cmp r0, #0 beq _022184A2 add r1, r5, #0 add r1, #0xe lsl r1, r1, #0x18 mov r2, #0 add r0, r4, #0 lsr r1, r1, #0x18 add r3, r2, #0 bl MOD09_02217F88 b _022184B4 _022184A2: add r1, r5, #0 add r1, #0xe lsl r1, r1, #0x18 add r0, r4, #0 lsr r1, r1, #0x18 add r2, r7, #0 mov r3, #0 bl MOD09_02217F88 _022184B4: add r0, r5, #1 lsl r0, r0, #0x10 lsr r5, r0, #0x10 cmp r5, #4 blo _0221847A mov r2, #0 add r0, r4, #0 mov r1, #9 add r3, r2, #0 bl MOD09_02217F88 mov r2, #0 add r0, r4, #0 mov r1, #6 add r3, r2, #0 bl MOD09_02217F88 pop {r3, r4, r5, r6, r7, pc} _022184D8: mov r2, #0 mov r1, #6 add r3, r2, #0 bl MOD09_02217F88 mov r5, #0 mov r6, #2 add r7, r5, #0 _022184E8: ldr r0, [r4] add r0, #0x34 ldrb r0, [r0] cmp r0, r5 bne _02218506 add r1, r5, #0 add r1, #0x1e lsl r1, r1, #0x18 add r0, r4, #0 lsr r1, r1, #0x18 add r2, r6, #0 add r3, r7, #0 bl MOD09_02217F88 b _02218518 _02218506: add r1, r5, #0 add r1, #0x1e lsl r1, r1, #0x18 mov r2, #0 add r0, r4, #0 lsr r1, r1, #0x18 add r3, r2, #0 bl MOD09_02217F88 _02218518: add r0, r5, #1 lsl r0, r0, #0x10 lsr r5, r0, #0x10 cmp r5, #4 blo _022184E8 pop {r3, r4, r5, r6, r7, pc} _02218524: mov r5, #0 mov r7, #3 mov r6, #0x50 _0221852A: ldr r0, [r4] lsl r1, r5, #3 ldrb r0, [r0, #0x11] add r2, r0, #0 mul r2, r6 add r0, r4, r2 add r0, r1, r0 ldrh r0, [r0, #0x34] cmp r0, #0 beq _02218552 add r1, r5, #0 add r1, #0x13 lsl r1, r1, #0x18 mov r2, #0 add r0, r4, #0 lsr r1, r1, #0x18 add r3, r2, #0 bl MOD09_02217F88 b _02218564 _02218552: add r1, r5, #0 add r1, #0x13 lsl r1, r1, #0x18 add r0, r4, #0 lsr r1, r1, #0x18 add r2, r7, #0 mov r3, #0 bl MOD09_02217F88 _02218564: add r0, r5, #1 lsl r0, r0, #0x10 lsr r5, r0, #0x10 cmp r5, #4 blo _0221852A mov r2, #0 add r0, r4, #0 mov r1, #6 add r3, r2, #0 bl MOD09_02217F88 pop {r3, r4, r5, r6, r7, pc} _0221857C: mov r2, #0 mov r1, #0x17 add r3, r2, #0 bl MOD09_02217F88 mov r2, #0 add r0, r4, #0 mov r1, #0x18 add r3, r2, #0 bl MOD09_02217F88 mov r2, #0 add r0, r4, #0 mov r1, #0x19 add r3, r2, #0 bl MOD09_02217F88 mov r2, #0 add r0, r4, #0 mov r1, #0x1a add r3, r2, #0 bl MOD09_02217F88 mov r2, #0 add r0, r4, #0 mov r1, #0x1b add r3, r2, #0 bl MOD09_02217F88 mov r2, #0 add r0, r4, #0 mov r1, #6 add r3, r2, #0 bl MOD09_02217F88 ldr r0, _0221863C ; =0x00002077 ldrb r0, [r4, r0] lsl r0, r0, #0x18 lsr r0, r0, #0x1c cmp r0, #1 bne _0221863A mov r2, #0 add r0, r4, #0 mov r1, #0x12 add r3, r2, #0 bl MOD09_02217F88 pop {r3, r4, r5, r6, r7, pc} _022185DC: mov r2, #0 mov r1, #0x1c add r3, r2, #0 bl MOD09_02217F88 mov r2, #0 add r0, r4, #0 mov r1, #6 add r3, r2, #0 bl MOD09_02217F88 ldr r0, _0221863C ; =0x00002077 ldrb r0, [r4, r0] lsl r0, r0, #0x18 lsr r0, r0, #0x1c cmp r0, #1 bne _0221863A mov r2, #0 add r0, r4, #0 mov r1, #0x12 add r3, r2, #0 bl MOD09_02217F88 pop {r3, r4, r5, r6, r7, pc} _0221860C: mov r2, #0 mov r1, #0x1d add r3, r2, #0 bl MOD09_02217F88 mov r2, #0 add r0, r4, #0 mov r1, #6 add r3, r2, #0 bl MOD09_02217F88 ldr r0, _0221863C ; =0x00002077 ldrb r0, [r4, r0] lsl r0, r0, #0x18 lsr r0, r0, #0x1c cmp r0, #1 bne _0221863A mov r2, #0 add r0, r4, #0 mov r1, #0x12 add r3, r2, #0 bl MOD09_02217F88 _0221863A: pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _0221863C: .word 0x00002077 thumb_func_start MOD09_02218640 MOD09_02218640: ; 0x02218640 push {r3, lr} add r2, r0, #0 cmp r1, #3 bne _02218662 mov r0, #0x20 str r0, [sp] mov r0, #0x7a lsl r0, r0, #2 mov r1, #0x7e lsl r1, r1, #6 ldr r0, [r2, r0] add r1, r2, r1 mov r2, #1 mov r3, #0xc0 bl PaletteData_LoadPalette pop {r3, pc} _02218662: mov r0, #0x20 str r0, [sp] mov r0, #0x7a lsl r0, r0, #2 ldr r1, _0221867C ; =0x00001F60 ldr r0, [r2, r0] add r1, r2, r1 mov r2, #1 mov r3, #0xc0 bl PaletteData_LoadPalette pop {r3, pc} nop _0221867C: .word 0x00001F60 thumb_func_start MOD09_02218680 MOD09_02218680: ; 0x02218680 push {r4, r5} mov r2, #0 add r1, r2, #0 mov r3, #0x50 _02218688: add r4, r1, #0 mul r4, r3 add r5, r0, r4 ldrh r4, [r5, #8] cmp r4, #0 beq _022186A2 ldrb r4, [r5, #0x1b] lsl r4, r4, #0x18 lsr r4, r4, #0x1f bne _022186A2 add r2, r2, #1 lsl r2, r2, #0x10 lsr r2, r2, #0x10 _022186A2: add r1, r1, #1 lsl r1, r1, #0x10 lsr r1, r1, #0x10 cmp r1, #6 blo _02218688 cmp r2, #2 blo _022186B4 mov r0, #1 b _022186B6 _022186B4: mov r0, #0 _022186B6: lsl r0, r0, #0x18 lsr r0, r0, #0x18 pop {r4, r5} bx lr .align 2, 0 thumb_func_start MOD09_022186C0 MOD09_022186C0: ; 0x022186C0 push {r4, lr} add r4, r0, #0 ldr r1, [r4] ldrb r1, [r1, #0x11] bl MOD09_02213620 cmp r0, #2 bne _022186E0 ldr r1, [r4] add r0, r4, #0 ldrb r1, [r1, #0x11] mov r2, #0 mov r3, #1 bl MOD09_02217F88 pop {r4, pc} _022186E0: ldr r1, [r4] mov r2, #0 ldrb r1, [r1, #0x11] add r0, r4, #0 add r3, r2, #0 bl MOD09_02217F88 pop {r4, pc} thumb_func_start MOD09_022186F0 MOD09_022186F0: ; 0x022186F0 push {r4, r5, r6, lr} add r5, r0, #0 ldr r0, _02218780 ; =MOD09_0221878C ldr r1, _02218784 ; =0x0000115C ldr r3, [r5, #0xc] mov r2, #0x64 bl FUN_020061E8 bl FUN_0201B6C8 ldr r2, _02218784 ; =0x0000115C add r4, r0, #0 mov r1, #0 bl memset str r5, [r4] ldr r0, [r5] bl MOD11_0222FF68 str r0, [r4, #4] ldr r0, [r5] bl MOD11_022300CC str r0, [r4, #8] ldr r0, _02218788 ; =0x0000114A mov r1, #0 strb r1, [r4, r0] ldr r0, [r5] bl MOD11_02230218 add r6, r0, #0 mov r5, #0 _02218730: ldr r3, [r4] add r0, r6, #0 add r2, r3, #0 add r2, #0x27 add r3, #0x2c add r1, r5, #0 add r2, r2, r5 add r3, r3, r5 bl FUN_0206F1A0 add r0, r5, #1 lsl r0, r0, #0x18 lsr r5, r0, #0x18 cmp r5, #5 blo _02218730 add r0, r6, #0 bl FUN_0206F1AC ldr r1, [r4] strh r0, [r1, #0x20] add r0, r6, #0 bl FUN_0206F1B0 ldr r1, [r4] strb r0, [r1, #0x1f] add r0, r4, #0 bl MOD09_02219C38 ldr r0, [r4] ldr r0, [r0] bl MOD11_0222FF74 mov r1, #1 lsl r1, r1, #0xa tst r0, r1 beq _0221877E ldr r0, [r4] mov r1, #1 str r1, [r0, #0x14] _0221877E: pop {r4, r5, r6, pc} .align 2, 0 _02218780: .word MOD09_0221878C _02218784: .word 0x0000115C _02218788: .word 0x0000114A thumb_func_start MOD09_0221878C MOD09_0221878C: ; 0x0221878C push {r4, lr} ldr r2, _02218884 ; =0x0000114A add r4, r1, #0 ldrb r2, [r4, r2] cmp r2, #0xe bhi _02218872 add r2, r2, r2 add r2, pc ldrh r2, [r2, #6] lsl r2, r2, #0x10 asr r2, r2, #0x10 add pc, r2 _022187A4: ; jump table .short _022187C2 - _022187A4 - 2 ; case 0 .short _022187CE - _022187A4 - 2 ; case 1 .short _022187DA - _022187A4 - 2 ; case 2 .short _022187E6 - _022187A4 - 2 ; case 3 .short _022187F2 - _022187A4 - 2 ; case 4 .short _022187FE - _022187A4 - 2 ; case 5 .short _0221880A - _022187A4 - 2 ; case 6 .short _02218816 - _022187A4 - 2 ; case 7 .short _02218822 - _022187A4 - 2 ; case 8 .short _0221882E - _022187A4 - 2 ; case 9 .short _0221883A - _022187A4 - 2 ; case 10 .short _02218846 - _022187A4 - 2 ; case 11 .short _02218852 - _022187A4 - 2 ; case 12 .short _0221885E - _022187A4 - 2 ; case 13 .short _0221886A - _022187A4 - 2 ; case 14 _022187C2: add r0, r4, #0 bl MOD09_02218888 ldr r1, _02218884 ; =0x0000114A strb r0, [r4, r1] b _02218872 _022187CE: add r0, r4, #0 bl MOD09_0221895C ldr r1, _02218884 ; =0x0000114A strb r0, [r4, r1] b _02218872 _022187DA: add r0, r4, #0 bl MOD09_02218A34 ldr r1, _02218884 ; =0x0000114A strb r0, [r4, r1] b _02218872 _022187E6: add r0, r4, #0 bl MOD09_02218BBC ldr r1, _02218884 ; =0x0000114A strb r0, [r4, r1] b _02218872 _022187F2: add r0, r4, #0 bl MOD09_02218E44 ldr r1, _02218884 ; =0x0000114A strb r0, [r4, r1] b _02218872 _022187FE: add r0, r4, #0 bl MOD09_02218E50 ldr r1, _02218884 ; =0x0000114A strb r0, [r4, r1] b _02218872 _0221880A: add r0, r4, #0 bl MOD09_02218E5C ldr r1, _02218884 ; =0x0000114A strb r0, [r4, r1] b _02218872 _02218816: add r0, r4, #0 bl MOD09_02218B44 ldr r1, _02218884 ; =0x0000114A strb r0, [r4, r1] b _02218872 _02218822: add r0, r4, #0 bl MOD09_02218E68 ldr r1, _02218884 ; =0x0000114A strb r0, [r4, r1] b _02218872 _0221882E: add r0, r4, #0 bl MOD09_02218E78 ldr r1, _02218884 ; =0x0000114A strb r0, [r4, r1] b _02218872 _0221883A: add r0, r4, #0 bl MOD09_02218E90 ldr r1, _02218884 ; =0x0000114A strb r0, [r4, r1] b _02218872 _02218846: add r0, r4, #0 bl MOD09_02218EB8 ldr r1, _02218884 ; =0x0000114A strb r0, [r4, r1] b _02218872 _02218852: add r0, r4, #0 bl MOD09_02218F90 ldr r1, _02218884 ; =0x0000114A strb r0, [r4, r1] b _02218872 _0221885E: add r0, r4, #0 bl MOD09_02218ED0 ldr r1, _02218884 ; =0x0000114A strb r0, [r4, r1] b _02218872 _0221886A: bl MOD09_02218EF8 cmp r0, #1 beq _02218882 _02218872: add r0, r4, #0 bl MOD09_0221AA14 mov r0, #0xc3 lsl r0, r0, #2 ldr r0, [r4, r0] bl FUN_0200BC1C _02218882: pop {r4, pc} .align 2, 0 _02218884: .word 0x0000114A thumb_func_start MOD09_02218888 MOD09_02218888: ; 0x02218888 push {r3, r4, lr} sub sp, #0xc add r4, r0, #0 ldr r0, _0221894C ; =0x04001050 mov r1, #0 strh r1, [r0] ldr r0, [r4] ldr r0, [r0, #0xc] bl MOD09_0221AC04 str r0, [r4, #0x34] add r0, r4, #0 bl MOD09_022190CC add r0, r4, #0 bl MOD09_022191C0 add r0, r4, #0 bl MOD09_022192A4 ldr r1, [r4] mov r0, #2 ldr r1, [r1, #0xc] bl FUN_02002C50 ldr r0, [r4] ldr r0, [r0] bl MOD11_02230218 bl FUN_0206F1B4 ldr r1, _02218950 ; =0x0000114D strb r0, [r4, r1] add r0, r4, #0 bl MOD09_02219CB4 ldr r1, _02218954 ; =0x0000114C add r0, r4, #0 ldrb r1, [r4, r1] bl MOD09_0221AAF0 add r0, r4, #0 bl MOD09_02219474 ldr r1, _02218954 ; =0x0000114C add r0, r4, #0 ldrb r1, [r4, r1] bl MOD09_0221953C add r0, r4, #0 bl MOD09_02219DC8 ldr r1, _02218954 ; =0x0000114C add r0, r4, #0 ldrb r1, [r4, r1] bl MOD09_0221A044 ldr r0, [r4] add r0, #0x25 ldrb r0, [r0] cmp r0, #0 beq _0221890C ldr r0, [r4, #0x34] mov r1, #1 bl MOD09_0221AC2C _0221890C: ldr r1, _02218954 ; =0x0000114C add r0, r4, #0 ldrb r1, [r4, r1] bl MOD09_0221A1DC ldr r1, _02218954 ; =0x0000114C add r0, r4, #0 ldrb r1, [r4, r1] bl MOD09_0221A2BC mov r0, #0x10 str r0, [sp] mov r0, #0 str r0, [sp, #4] mov r1, #0xa str r0, [sp, #8] add r3, r1, #0 ldr r0, [r4, #8] ldr r2, _02218958 ; =0x0000FFFF sub r3, #0x12 bl FUN_02003210 ldr r0, [r4] ldr r0, [r0, #0x14] cmp r0, #1 bne _02218946 add sp, #0xc mov r0, #0xc pop {r3, r4, pc} _02218946: mov r0, #1 add sp, #0xc pop {r3, r4, pc} .align 2, 0 _0221894C: .word 0x04001050 _02218950: .word 0x0000114D _02218954: .word 0x0000114C _02218958: .word 0x0000FFFF thumb_func_start MOD09_0221895C MOD09_0221895C: ; 0x0221895C push {r3, r4, r5, lr} add r4, r0, #0 ldr r0, [r4, #8] bl FUN_020038E4 cmp r0, #0 beq _0221896E mov r0, #1 pop {r3, r4, r5, pc} _0221896E: ldr r1, _02218A28 ; =0x0221BBE8 add r0, r4, #0 bl MOD09_02219424 add r5, r0, #0 mov r0, #0 mvn r0, r0 cmp r5, r0 bne _02218994 ldr r0, [r4, #0x34] bl MOD09_0221AD30 add r5, r0, #0 mov r0, #1 mvn r0, r0 cmp r5, r0 bne _0221899A mov r5, #5 b _0221899A _02218994: add r0, r4, #0 bl MOD09_0221A224 _0221899A: cmp r5, #5 bhi _02218A24 add r0, r5, r5 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _022189AA: ; jump table .short _022189B6 - _022189AA - 2 ; case 0 .short _022189B6 - _022189AA - 2 ; case 1 .short _022189B6 - _022189AA - 2 ; case 2 .short _022189B6 - _022189AA - 2 ; case 3 .short _022189D6 - _022189AA - 2 ; case 4 .short _02218A06 - _022189AA - 2 ; case 5 _022189B6: ldr r0, _02218A2C ; =0x000005DD bl PlaySE lsl r0, r5, #0x18 lsr r1, r0, #0x18 ldr r0, _02218A30 ; =0x0000114D mov r2, #5 strb r1, [r4, r0] sub r0, r0, #2 strb r2, [r4, r0] add r0, r4, #0 mov r2, #0 bl MOD09_0221A9D8 mov r0, #0xb pop {r3, r4, r5, pc} _022189D6: ldr r0, [r4] ldrh r0, [r0, #0x20] cmp r0, #0 beq _02218A24 ldr r0, _02218A2C ; =0x000005DD bl PlaySE ldr r0, [r4] ldrb r1, [r0, #0x1f] ldr r0, _02218A30 ; =0x0000114D strb r1, [r4, r0] mov r1, #6 sub r0, r0, #2 strb r1, [r4, r0] add r0, r4, #0 bl MOD09_02219C68 add r0, r4, #0 mov r1, #4 mov r2, #0 bl MOD09_0221A9D8 mov r0, #0xb pop {r3, r4, r5, pc} _02218A06: ldr r0, _02218A2C ; =0x000005DD bl PlaySE ldr r0, [r4] mov r2, #0 strh r2, [r0, #0x1c] ldr r0, [r4] mov r1, #4 strb r1, [r0, #0x1e] add r0, r4, #0 mov r1, #5 bl MOD09_0221A9D8 mov r0, #0xd pop {r3, r4, r5, pc} _02218A24: mov r0, #1 pop {r3, r4, r5, pc} .align 2, 0 _02218A28: .word MOD9_0221BBE8 _02218A2C: .word 0x000005DD _02218A30: .word 0x0000114D thumb_func_start MOD09_02218A34 MOD09_02218A34: ; 0x02218A34 push {r3, r4, r5, lr} ldr r1, _02218B34 ; =0x0221BC04 add r4, r0, #0 bl MOD09_02219424 add r5, r0, #0 mov r0, #0 mvn r0, r0 cmp r5, r0 bne _02218A5C ldr r0, [r4, #0x34] bl MOD09_0221AD30 add r5, r0, #0 mov r0, #1 mvn r0, r0 cmp r5, r0 bne _02218A62 mov r5, #8 b _02218A62 _02218A5C: add r0, r4, #0 bl MOD09_0221A224 _02218A62: cmp r5, #8 bhi _02218B30 add r0, r5, r5 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _02218A72: ; jump table .short _02218A84 - _02218A72 - 2 ; case 0 .short _02218A84 - _02218A72 - 2 ; case 1 .short _02218A84 - _02218A72 - 2 ; case 2 .short _02218A84 - _02218A72 - 2 ; case 3 .short _02218A84 - _02218A72 - 2 ; case 4 .short _02218A84 - _02218A72 - 2 ; case 5 .short _02218ABA - _02218A72 - 2 ; case 6 .short _02218AE8 - _02218A72 - 2 ; case 7 .short _02218B16 - _02218A72 - 2 ; case 8 _02218A84: add r0, r4, #0 add r1, r5, #0 bl MOD09_02219D94 cmp r0, #0 beq _02218B30 ldr r0, _02218B38 ; =0x000005DD bl PlaySE ldr r0, _02218B3C ; =0x0000114D ldr r2, [r4] ldrb r1, [r4, r0] sub r0, r0, #2 add r1, r2, r1 add r1, #0x27 strb r5, [r1] mov r1, #6 strb r1, [r4, r0] add r1, r5, #6 lsl r1, r1, #0x18 add r0, r4, #0 lsr r1, r1, #0x18 mov r2, #0 bl MOD09_0221A9D8 mov r0, #0xb pop {r3, r4, r5, pc} _02218ABA: ldr r0, _02218B3C ; =0x0000114D ldrb r1, [r4, r0] add r0, r0, #7 add r1, r4, r1 ldrb r0, [r1, r0] cmp r0, #0 beq _02218B30 ldr r0, _02218B38 ; =0x000005DD bl PlaySE ldr r0, _02218B40 ; =0x0000114B mov r1, #7 strb r1, [r4, r0] sub r1, #8 add r0, r0, #3 strb r1, [r4, r0] add r0, r4, #0 mov r1, #0xc mov r2, #0 bl MOD09_0221A9D8 mov r0, #0xb pop {r3, r4, r5, pc} _02218AE8: ldr r0, _02218B3C ; =0x0000114D ldrb r1, [r4, r0] add r0, r0, #7 add r1, r4, r1 ldrb r0, [r1, r0] cmp r0, #0 beq _02218B30 ldr r0, _02218B38 ; =0x000005DD bl PlaySE ldr r0, _02218B40 ; =0x0000114B mov r1, #7 strb r1, [r4, r0] mov r1, #1 add r0, r0, #3 strb r1, [r4, r0] add r0, r4, #0 mov r1, #0xd mov r2, #0 bl MOD09_0221A9D8 mov r0, #0xb pop {r3, r4, r5, pc} _02218B16: ldr r0, _02218B38 ; =0x000005DD bl PlaySE ldr r0, _02218B40 ; =0x0000114B mov r1, #4 strb r1, [r4, r0] add r0, r4, #0 mov r1, #0xe mov r2, #0 bl MOD09_0221A9D8 mov r0, #0xb pop {r3, r4, r5, pc} _02218B30: mov r0, #2 pop {r3, r4, r5, pc} .align 2, 0 _02218B34: .word MOD9_0221BC04 _02218B38: .word 0x000005DD _02218B3C: .word 0x0000114D _02218B40: .word 0x0000114B thumb_func_start MOD09_02218B44 MOD09_02218B44: ; 0x02218B44 push {r3, r4, r5, lr} add r4, r0, #0 ldr r0, _02218BB4 ; =0x0000114D ldr r1, [r4] ldrb r2, [r4, r0] mov r3, #0 add r5, r1, r2 mov r1, #0x2c ldrsb r2, [r5, r1] add r5, #0x27 add r1, r0, #1 strb r3, [r5] ldrsb r1, [r4, r1] add r1, r2, r1 lsl r1, r1, #0x18 asr r2, r1, #0x18 ldrb r1, [r4, r0] add r0, r0, #7 add r5, r4, r1 ldrb r5, [r5, r0] cmp r2, r5 ble _02218B7A ldr r0, [r4] add r0, r0, r1 add r0, #0x2c strb r3, [r0] b _02218B8E _02218B7A: cmp r2, #0 ldr r0, [r4] bge _02218B88 add r0, r0, r1 add r0, #0x2c strb r5, [r0] b _02218B8E _02218B88: add r0, r0, r1 add r0, #0x2c strb r2, [r0] _02218B8E: add r0, r4, #0 bl MOD09_0221983C add r0, r4, #0 bl MOD09_02219884 ldr r1, _02218BB8 ; =0x0000114C add r0, r4, #0 ldrb r1, [r4, r1] bl MOD09_0221A044 ldr r1, _02218BB8 ; =0x0000114C add r0, r4, #0 ldrb r1, [r4, r1] bl MOD09_0221AAF0 mov r0, #2 pop {r3, r4, r5, pc} nop _02218BB4: .word 0x0000114D _02218BB8: .word 0x0000114C thumb_func_start MOD09_02218BBC MOD09_02218BBC: ; 0x02218BBC push {r3, r4, r5, lr} ldr r1, _02218C48 ; =0x0221BB78 add r5, r0, #0 bl MOD09_02219424 add r4, r0, #0 mov r0, #0 mvn r0, r0 cmp r4, r0 bne _02218BE4 ldr r0, [r5, #0x34] bl MOD09_0221AD30 add r4, r0, #0 mov r0, #1 mvn r0, r0 cmp r4, r0 bne _02218BEA mov r4, #1 b _02218BEA _02218BE4: add r0, r5, #0 bl MOD09_0221A224 _02218BEA: cmp r4, #0 beq _02218BF4 cmp r4, #1 beq _02218C2A b _02218C44 _02218BF4: ldr r0, _02218C4C ; =0x000005DD bl PlaySE ldr r1, _02218C50 ; =0x0000114D ldr r2, [r5] ldrb r1, [r5, r1] add r0, r5, #0 add r1, r2, r1 add r1, #0x27 ldrb r1, [r1] bl MOD09_02219D94 ldr r1, [r5] mov r2, #0 strh r0, [r1, #0x1c] ldr r0, _02218C50 ; =0x0000114D ldrb r1, [r5, r0] ldr r0, [r5] strb r1, [r0, #0x1e] add r0, r5, #0 mov r1, #0xf bl MOD09_0221A9D8 add r0, r5, #0 bl MOD09_02218C58 pop {r3, r4, r5, pc} _02218C2A: ldr r0, _02218C4C ; =0x000005DD bl PlaySE ldr r0, _02218C54 ; =0x0000114B mov r1, #5 strb r1, [r5, r0] add r0, r5, #0 mov r1, #0x10 mov r2, #0 bl MOD09_0221A9D8 mov r0, #0xb pop {r3, r4, r5, pc} _02218C44: mov r0, #3 pop {r3, r4, r5, pc} .align 2, 0 _02218C48: .word MOD9_0221BB78 _02218C4C: .word 0x000005DD _02218C50: .word 0x0000114D _02218C54: .word 0x0000114B thumb_func_start MOD09_02218C58 MOD09_02218C58: ; 0x02218C58 push {r3, r4, r5, r6, r7, lr} ldr r1, _02218E38 ; =0x0000114D add r5, r0, #0 ldrb r1, [r5, r1] ldr r4, [r5] cmp r1, #3 beq _02218C68 b _02218D82 _02218C68: bl MOD09_02219430 add r7, r0, #0 ldrh r0, [r4, #0x1c] ldr r2, [r4, #0xc] mov r1, #7 bl GetItemAttr add r6, r0, #0 ldr r0, [r4, #0x18] cmp r0, #0 beq _02218CDA ldrh r0, [r4, #0x1c] cmp r0, #0x37 beq _02218CDA cmp r6, #3 beq _02218CDA ldr r0, [r4] ldr r1, [r4, #0x10] add r2, r7, #0 bl MOD11_02230014 add r6, r0, #0 ldr r0, [r5, #0x10] mov r1, #0x2e bl NewString_ReadMsgData add r4, r0, #0 add r0, r6, #0 bl FUN_020690E4 add r2, r0, #0 ldr r0, [r5, #0x14] mov r1, #0 bl BufferBoxMonNickname ldr r0, [r5, #0x14] ldr r2, _02218E3C ; =0x00000175 mov r1, #1 bl BufferMoveName ldr r0, [r5, #0x14] ldr r1, [r5, #0x18] add r2, r4, #0 bl StringExpandPlaceholders add r0, r4, #0 bl String_dtor add r0, r5, #0 bl MOD09_02219BE0 ldr r0, _02218E40 ; =0x0000114B mov r1, #8 strb r1, [r5, r0] mov r0, #9 pop {r3, r4, r5, r6, r7, pc} _02218CDA: ldrh r0, [r4, #0x1c] add r2, r7, #0 mov r3, #0 str r0, [sp] ldr r0, [r4] ldr r1, [r4, #0x10] bl MOD11_02230370 cmp r0, #1 bne _02218D00 ldr r2, _02218E38 ; =0x0000114D ldrh r1, [r4, #0x1c] ldrb r2, [r5, r2] ldr r0, [r4] ldr r3, [r4, #0xc] bl MOD09_0221944C mov r0, #0xd pop {r3, r4, r5, r6, r7, pc} _02218D00: cmp r6, #3 bne _02218D68 ldr r0, [r4] bl MOD11_0222FF74 mov r1, #1 tst r0, r1 bne _02218D22 ldr r2, _02218E38 ; =0x0000114D ldrh r1, [r4, #0x1c] ldrb r2, [r5, r2] ldr r0, [r4] ldr r3, [r4, #0xc] bl MOD09_0221944C mov r0, #0xd pop {r3, r4, r5, r6, r7, pc} _02218D22: ldr r3, [r4, #0xc] add r0, r1, #0 mov r1, #0x1a mov r2, #0xc7 bl NewMsgDataFromNarc mov r1, #0x24 add r7, r0, #0 bl NewString_ReadMsgData add r6, r0, #0 ldr r0, [r5, #0x14] ldr r2, [r4, #4] mov r1, #0 bl BufferPlayersName ldr r0, [r5, #0x14] ldr r1, [r5, #0x18] add r2, r6, #0 bl StringExpandPlaceholders add r0, r6, #0 bl String_dtor add r0, r7, #0 bl DestroyMsgData add r0, r5, #0 bl MOD09_02219BE0 ldr r0, _02218E40 ; =0x0000114B mov r1, #8 strb r1, [r5, r0] mov r0, #9 pop {r3, r4, r5, r6, r7, pc} _02218D68: ldr r0, [r5, #0x10] ldr r2, [r5, #0x18] mov r1, #0x22 bl ReadMsgDataIntoString add r0, r5, #0 bl MOD09_02219BE0 ldr r0, _02218E40 ; =0x0000114B mov r1, #8 strb r1, [r5, r0] mov r0, #9 pop {r3, r4, r5, r6, r7, pc} _02218D82: cmp r1, #2 bne _02218E32 add r0, r4, #0 add r0, #0x22 ldrb r0, [r0] cmp r0, #1 bne _02218DAA ldr r0, [r5, #0x10] ldr r2, [r5, #0x18] mov r1, #0x2c bl ReadMsgDataIntoString add r0, r5, #0 bl MOD09_02219BE0 ldr r0, _02218E40 ; =0x0000114B mov r1, #8 strb r1, [r5, r0] mov r0, #9 pop {r3, r4, r5, r6, r7, pc} _02218DAA: add r0, r4, #0 add r0, #0x23 ldrb r0, [r0] cmp r0, #1 bne _02218DCE ldr r0, [r5, #0x10] ldr r2, [r5, #0x18] mov r1, #0x2f bl ReadMsgDataIntoString add r0, r5, #0 bl MOD09_02219BE0 ldr r0, _02218E40 ; =0x0000114B mov r1, #8 strb r1, [r5, r0] mov r0, #9 pop {r3, r4, r5, r6, r7, pc} _02218DCE: add r0, r4, #0 add r0, #0x24 ldrb r0, [r0] cmp r0, #1 bne _02218DF2 ldr r0, [r5, #0x10] ldr r2, [r5, #0x18] mov r1, #0x30 bl ReadMsgDataIntoString add r0, r5, #0 bl MOD09_02219BE0 ldr r0, _02218E40 ; =0x0000114B mov r1, #8 strb r1, [r5, r0] mov r0, #9 pop {r3, r4, r5, r6, r7, pc} _02218DF2: ldr r0, [r4] ldr r1, [r4, #0x10] bl MOD11_0222FF88 add r6, r0, #0 ldr r0, [r4] bl MOD11_02230290 add r4, r0, #0 add r0, r6, #0 bl GetPartyCount cmp r0, #6 bne _02218E32 add r0, r4, #0 bl PCStorage_FindFirstBoxWithEmptySlot cmp r0, #0x12 bne _02218E32 ldr r0, [r5, #0x10] ldr r2, [r5, #0x18] mov r1, #0x2d bl ReadMsgDataIntoString add r0, r5, #0 bl MOD09_02219BE0 ldr r0, _02218E40 ; =0x0000114B mov r1, #8 strb r1, [r5, r0] mov r0, #9 pop {r3, r4, r5, r6, r7, pc} _02218E32: mov r0, #0xd pop {r3, r4, r5, r6, r7, pc} nop _02218E38: .word 0x0000114D _02218E3C: .word 0x00000175 _02218E40: .word 0x0000114B thumb_func_start MOD09_02218E44 MOD09_02218E44: ; 0x02218E44 push {r3, lr} mov r1, #0 bl MOD09_022193BC mov r0, #1 pop {r3, pc} thumb_func_start MOD09_02218E50 MOD09_02218E50: ; 0x02218E50 push {r3, lr} mov r1, #1 bl MOD09_022193BC mov r0, #2 pop {r3, pc} thumb_func_start MOD09_02218E5C MOD09_02218E5C: ; 0x02218E5C push {r3, lr} mov r1, #2 bl MOD09_022193BC mov r0, #3 pop {r3, pc} thumb_func_start MOD09_02218E68 MOD09_02218E68: ; 0x02218E68 push {r3, lr} add r0, #0x1c mov r1, #0 bl ClearFrameAndWindow2 mov r0, #3 pop {r3, pc} .align 2, 0 thumb_func_start MOD09_02218E78 MOD09_02218E78: ; 0x02218E78 push {r3, lr} add r0, #0x32 ldrb r0, [r0] bl FUN_0201BD70 cmp r0, #0 bne _02218E8A mov r0, #0xa pop {r3, pc} _02218E8A: mov r0, #9 pop {r3, pc} .align 2, 0 thumb_func_start MOD09_02218E90 MOD09_02218E90: ; 0x02218E90 push {r4, lr} add r4, r0, #0 ldr r0, _02218EB0 ; =gMain ldr r1, [r0, #0x48] mov r0, #3 tst r0, r1 bne _02218EA6 bl FUN_02020AA4 cmp r0, #1 bne _02218EAC _02218EA6: ldr r0, _02218EB4 ; =0x0000114B ldrb r0, [r4, r0] pop {r4, pc} _02218EAC: mov r0, #0xa pop {r4, pc} .align 2, 0 _02218EB0: .word gMain _02218EB4: .word 0x0000114B thumb_func_start MOD09_02218EB8 MOD09_02218EB8: ; 0x02218EB8 ldr r1, _02218ECC ; =0x0000113E ldrb r2, [r0, r1] cmp r2, #2 bne _02218EC6 add r1, #0xd ldrb r0, [r0, r1] bx lr _02218EC6: mov r0, #0xb bx lr nop _02218ECC: .word 0x0000113E thumb_func_start MOD09_02218ED0 MOD09_02218ED0: ; 0x02218ED0 push {lr} sub sp, #0xc mov r2, #0 str r2, [sp] mov r1, #0x10 str r1, [sp, #4] str r2, [sp, #8] mov r1, #0xa add r3, r1, #0 ldr r0, [r0, #8] ldr r2, _02218EF4 ; =0x0000FFFF sub r3, #0x12 bl FUN_02003210 mov r0, #0xe add sp, #0xc pop {pc} nop _02218EF4: .word 0x0000FFFF thumb_func_start MOD09_02218EF8 MOD09_02218EF8: ; 0x02218EF8 push {r3, r4, r5, r6, r7, lr} add r5, r1, #0 add r7, r0, #0 ldr r0, [r5, #8] bl FUN_020038E4 cmp r0, #0 beq _02218F0C mov r0, #0 pop {r3, r4, r5, r6, r7, pc} _02218F0C: add r0, r5, #0 bl MOD09_02219FE4 add r0, r5, #0 bl MOD09_02219520 add r0, r5, #0 bl MOD09_022192E4 ldr r0, [r5, #4] bl MOD09_02219198 ldr r0, [r5, #0x34] bl MOD09_0221AC28 ldr r1, [r5] add r1, #0x25 strb r0, [r1] ldr r0, [r5, #0x34] bl MOD09_0221AC1C mov r0, #2 bl FUN_02002CF8 ldr r1, [r5] ldrh r0, [r1, #0x1c] cmp r0, #0 beq _02218F78 ldr r0, [r1] bl MOD11_02230218 add r6, r0, #0 mov r4, #0 _02218F4E: ldr r3, [r5] add r0, r6, #0 add r2, r3, r4 add r3, r3, r4 add r2, #0x27 add r3, #0x2c ldrb r2, [r2] ldrb r3, [r3] add r1, r4, #0 bl FUN_0206F1B8 add r0, r4, #1 lsl r0, r0, #0x18 lsr r4, r0, #0x18 cmp r4, #5 blo _02218F4E ldr r1, _02218F8C ; =0x0000114D add r0, r6, #0 ldrb r1, [r5, r1] bl FUN_0206F1EC _02218F78: ldr r0, [r5] mov r1, #1 add r0, #0x26 strb r1, [r0] add r0, r7, #0 bl FUN_0200621C mov r0, #1 pop {r3, r4, r5, r6, r7, pc} nop _02218F8C: .word 0x0000114D thumb_func_start MOD09_02218F90 MOD09_02218F90: ; 0x02218F90 push {r4, lr} add r4, r0, #0 ldr r0, [r4, #8] bl FUN_020038E4 cmp r0, #0 beq _02218FA2 mov r0, #0xc pop {r4, pc} _02218FA2: ldr r0, _022190BC ; =0x00001159 ldrb r0, [r4, r0] cmp r0, #4 bls _02218FAC b _022190B6 _02218FAC: add r0, r0, r0 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _02218FB8: ; jump table .short _02218FC2 - _02218FB8 - 2 ; case 0 .short _02219004 - _02218FB8 - 2 ; case 1 .short _02219014 - _02218FB8 - 2 ; case 2 .short _0221905E - _02218FB8 - 2 ; case 3 .short _0221906E - _02218FB8 - 2 ; case 4 _02218FC2: ldr r0, [r4, #0x38] bl MOD11_0225D824 cmp r0, #1 bne _02218FFA ldr r0, _022190C0 ; =0x000005DD bl PlaySE ldr r0, _022190C4 ; =0x0000114D mov r1, #2 strb r1, [r4, r0] mov r2, #0xc sub r0, r0, #2 strb r2, [r4, r0] add r0, r4, #0 mov r2, #0 bl MOD09_0221A9D8 ldr r0, _022190C8 ; =0x0000115A mov r1, #0 strb r1, [r4, r0] sub r1, r0, #1 ldrb r1, [r4, r1] sub r0, r0, #1 add r1, r1, #1 strb r1, [r4, r0] mov r0, #0xb pop {r4, pc} _02218FFA: ldr r0, _022190C8 ; =0x0000115A ldrb r1, [r4, r0] add r1, r1, #1 strb r1, [r4, r0] b _022190B6 _02219004: add r0, r4, #0 bl MOD09_02218E50 ldr r0, _022190BC ; =0x00001159 ldrb r1, [r4, r0] add r1, r1, #1 strb r1, [r4, r0] b _022190B6 _02219014: ldr r0, [r4, #0x38] bl MOD11_0225D824 cmp r0, #1 bne _02219054 ldr r0, _022190C0 ; =0x000005DD bl PlaySE ldr r0, _022190C4 ; =0x0000114D ldr r3, [r4] ldrb r1, [r4, r0] mov r2, #0 sub r0, r0, #2 add r1, r3, r1 add r1, #0x27 strb r2, [r1] mov r1, #0xc strb r1, [r4, r0] add r0, r4, #0 mov r1, #6 bl MOD09_0221A9D8 ldr r0, _022190C8 ; =0x0000115A mov r1, #0 strb r1, [r4, r0] sub r1, r0, #1 ldrb r1, [r4, r1] sub r0, r0, #1 add r1, r1, #1 strb r1, [r4, r0] mov r0, #0xb pop {r4, pc} _02219054: ldr r0, _022190C8 ; =0x0000115A ldrb r1, [r4, r0] add r1, r1, #1 strb r1, [r4, r0] b _022190B6 _0221905E: add r0, r4, #0 bl MOD09_02218E5C ldr r0, _022190BC ; =0x00001159 ldrb r1, [r4, r0] add r1, r1, #1 strb r1, [r4, r0] b _022190B6 _0221906E: ldr r0, [r4, #0x38] bl MOD11_0225D824 cmp r0, #1 bne _022190AE ldr r0, _022190C0 ; =0x000005DD bl PlaySE ldr r1, _022190C4 ; =0x0000114D ldr r2, [r4] ldrb r1, [r4, r1] add r0, r4, #0 add r1, r2, r1 add r1, #0x27 ldrb r1, [r1] bl MOD09_02219D94 ldr r1, [r4] mov r2, #0 strh r0, [r1, #0x1c] ldr r0, _022190C4 ; =0x0000114D ldrb r1, [r4, r0] ldr r0, [r4] strb r1, [r0, #0x1e] add r0, r4, #0 mov r1, #0xf bl MOD09_0221A9D8 add r0, r4, #0 bl MOD09_02218C58 pop {r4, pc} _022190AE: ldr r0, _022190C8 ; =0x0000115A ldrb r1, [r4, r0] add r1, r1, #1 strb r1, [r4, r0] _022190B6: mov r0, #0xc pop {r4, pc} nop _022190BC: .word 0x00001159 _022190C0: .word 0x000005DD _022190C4: .word 0x0000114D _022190C8: .word 0x0000115A thumb_func_start MOD09_022190CC MOD09_022190CC: ; 0x022190CC push {r4, r5, lr} sub sp, #0x64 ldr r5, _02219188 ; =0x0221BB84 add r3, sp, #0x54 add r4, r0, #0 add r2, r3, #0 ldmia r5!, {r0, r1} stmia r3!, {r0, r1} ldmia r5!, {r0, r1} stmia r3!, {r0, r1} add r0, r2, #0 mov r1, #1 bl SetScreenModeAndDisable ldr r5, _0221918C ; =0x0221BBCC add r3, sp, #0x38 ldmia r5!, {r0, r1} add r2, r3, #0 stmia r3!, {r0, r1} ldmia r5!, {r0, r1} stmia r3!, {r0, r1} ldmia r5!, {r0, r1} stmia r3!, {r0, r1} ldr r0, [r5] mov r1, #6 str r0, [r3] ldr r0, [r4, #4] mov r3, #0 bl InitBgFromTemplate ldr r5, _02219190 ; =0x0221BBB0 add r3, sp, #0x1c ldmia r5!, {r0, r1} add r2, r3, #0 stmia r3!, {r0, r1} ldmia r5!, {r0, r1} stmia r3!, {r0, r1} ldmia r5!, {r0, r1} stmia r3!, {r0, r1} ldr r0, [r5] mov r1, #5 str r0, [r3] ldr r0, [r4, #4] mov r3, #0 bl InitBgFromTemplate ldr r0, [r4, #4] mov r1, #5 bl BgClearTilemapBufferAndCommit ldr r5, _02219194 ; =0x0221BB94 add r3, sp, #0 ldmia r5!, {r0, r1} add r2, r3, #0 stmia r3!, {r0, r1} ldmia r5!, {r0, r1} stmia r3!, {r0, r1} ldmia r5!, {r0, r1} stmia r3!, {r0, r1} ldr r0, [r5] mov r1, #4 str r0, [r3] ldr r0, [r4, #4] mov r3, #0 bl InitBgFromTemplate ldr r0, [r4, #4] mov r1, #4 bl BgClearTilemapBufferAndCommit ldr r3, [r4] mov r0, #5 ldr r3, [r3, #0xc] mov r1, #0x20 mov r2, #0 bl BG_ClearCharDataRange ldr r3, [r4] mov r0, #4 ldr r3, [r3, #0xc] mov r1, #0x20 mov r2, #0 bl BG_ClearCharDataRange ldr r0, [r4, #4] mov r1, #5 bl ScheduleBgTilemapBufferTransfer ldr r0, [r4, #4] mov r1, #4 bl ScheduleBgTilemapBufferTransfer add sp, #0x64 pop {r4, r5, pc} .align 2, 0 _02219188: .word MOD9_0221BB84 _0221918C: .word MOD9_0221BBCC _02219190: .word MOD9_0221BBB0 _02219194: .word MOD9_0221BB94 thumb_func_start MOD09_02219198 MOD09_02219198: ; 0x02219198 push {r4, lr} add r4, r0, #0 mov r0, #0x17 mov r1, #0 bl GX_EngineBToggleLayers add r0, r4, #0 mov r1, #4 bl FreeBgTilemapBuffer add r0, r4, #0 mov r1, #5 bl FreeBgTilemapBuffer add r0, r4, #0 mov r1, #6 bl FreeBgTilemapBuffer pop {r4, pc} .align 2, 0 thumb_func_start MOD09_022191C0 MOD09_022191C0: ; 0x022191C0 push {r4, r5, lr} sub sp, #0x14 add r5, r0, #0 mov r0, #0 str r0, [sp] str r0, [sp, #4] str r0, [sp, #8] ldr r0, [r5] mov r1, #2 ldr r0, [r0, #0xc] mov r3, #6 str r0, [sp, #0xc] ldr r2, [r5, #4] mov r0, #0x4d bl GfGfxLoader_LoadCharData mov r1, #0 str r1, [sp] str r1, [sp, #4] str r1, [sp, #8] ldr r0, [r5] mov r3, #6 ldr r0, [r0, #0xc] str r0, [sp, #0xc] ldr r2, [r5, #4] mov r0, #0x4d bl GfGfxLoader_LoadScrnData ldr r2, [r5] mov r0, #0x4d ldr r2, [r2, #0xc] mov r1, #1 bl AllocAndReadWholeNarcMemberByIdPair add r1, sp, #0x10 add r4, r0, #0 bl NNS_G2dGetUnpackedScreenData ldr r1, [sp, #0x10] add r0, r5, #0 add r1, #0xc bl MOD09_0221A2F4 add r0, r4, #0 bl FreeToHeap mov r0, #1 str r0, [sp] mov r0, #6 lsl r0, r0, #6 str r0, [sp, #4] mov r0, #0 str r0, [sp, #8] ldr r3, [r5] ldr r0, [r5, #8] ldr r3, [r3, #0xc] mov r1, #0x4d mov r2, #3 bl PaletteData_LoadNarc mov r0, #1 str r0, [sp] mov r0, #0x20 str r0, [sp, #4] mov r0, #0xf0 str r0, [sp, #8] ldr r3, [r5] ldr r0, [r5, #8] ldr r3, [r3, #0xc] mov r1, #0xe mov r2, #7 bl PaletteData_LoadNarc ldr r0, [r5] ldr r0, [r0] bl MOD11_02230E44 add r4, r0, #0 bl FUN_0200CD60 add r1, r0, #0 ldr r0, _022192A0 ; =0x000003E2 mov r3, #4 str r0, [sp] mov r0, #0 str r0, [sp, #4] str r0, [sp, #8] ldr r0, [r5] ldr r0, [r0, #0xc] str r0, [sp, #0xc] ldr r2, [r5, #4] mov r0, #0x26 bl GfGfxLoader_LoadCharData add r0, r4, #0 bl FUN_0200CD64 add r2, r0, #0 mov r0, #1 str r0, [sp] mov r0, #0x20 str r0, [sp, #4] mov r0, #0xe0 str r0, [sp, #8] ldr r3, [r5] ldr r0, [r5, #8] ldr r3, [r3, #0xc] mov r1, #0x26 bl PaletteData_LoadNarc add sp, #0x14 pop {r4, r5, pc} .align 2, 0 _022192A0: .word 0x000003E2 thumb_func_start MOD09_022192A4 MOD09_022192A4: ; 0x022192A4 push {r4, lr} add r4, r0, #0 ldr r3, [r4] mov r0, #0 ldr r3, [r3, #0xc] mov r1, #0x1a mov r2, #2 bl NewMsgDataFromNarc str r0, [r4, #0x10] ldr r3, [r4] mov r0, #0xf ldr r3, [r3, #0xc] mov r1, #0xe mov r2, #0 bl MessagePrinter_new str r0, [r4, #0xc] ldr r0, [r4] ldr r0, [r0, #0xc] bl ScrStrBufs_new str r0, [r4, #0x14] ldr r1, [r4] mov r0, #2 ldr r1, [r1, #0xc] lsl r0, r0, #8 bl String_ctor str r0, [r4, #0x18] pop {r4, pc} .align 2, 0 thumb_func_start MOD09_022192E4 MOD09_022192E4: ; 0x022192E4 push {r4, lr} add r4, r0, #0 ldr r0, [r4, #0x10] bl DestroyMsgData ldr r0, [r4, #0xc] bl MessagePrinter_delete ldr r0, [r4, #0x14] bl ScrStrBufs_delete ldr r0, [r4, #0x18] bl String_dtor pop {r4, pc} .align 2, 0 thumb_func_start MOD09_02219304 MOD09_02219304: ; 0x02219304 push {r4, lr} add r4, r0, #0 cmp r1, #0 beq _02219316 cmp r1, #1 beq _02219330 cmp r1, #2 beq _0221934C pop {r4, pc} _02219316: mov r2, #0 ldr r0, [r4, #4] mov r1, #6 add r3, r2, #0 bl ScheduleSetBgPosText ldr r0, [r4, #4] mov r1, #6 mov r2, #3 mov r3, #0 bl ScheduleSetBgPosText pop {r4, pc} _02219330: mov r1, #6 add r3, r1, #0 ldr r0, [r4, #4] mov r2, #0 add r3, #0xfa bl ScheduleSetBgPosText ldr r0, [r4, #4] mov r1, #6 mov r2, #3 mov r3, #0 bl ScheduleSetBgPosText pop {r4, pc} _0221934C: mov r2, #0 ldr r0, [r4, #4] mov r1, #6 add r3, r2, #0 bl ScheduleSetBgPosText mov r2, #3 add r3, r2, #0 ldr r0, [r4, #4] mov r1, #6 add r3, #0xfd bl ScheduleSetBgPosText pop {r4, pc} thumb_func_start MOD09_02219368 MOD09_02219368: ; 0x02219368 push {r3, r4, lr} sub sp, #0xc add r4, r0, #0 cmp r1, #2 bne _022193B2 mov r0, #0x1c str r0, [sp] mov r0, #4 str r0, [sp, #4] ldr r0, _022193B8 ; =0x0000114D mov r1, #6 ldrb r0, [r4, r0] mov r2, #2 mov r3, #0x23 add r0, #8 lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #8] ldr r0, [r4, #4] bl BgTilemapRectChangePalette mov r0, #0x1c str r0, [sp] mov r0, #8 str r0, [sp, #4] ldr r0, _022193B8 ; =0x0000114D mov r1, #6 ldrb r0, [r4, r0] mov r2, #2 mov r3, #0x28 add r0, #8 lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #8] ldr r0, [r4, #4] bl BgTilemapRectChangePalette _022193B2: add sp, #0xc pop {r3, r4, pc} nop _022193B8: .word 0x0000114D thumb_func_start MOD09_022193BC MOD09_022193BC: ; 0x022193BC push {r3, r4, r5, lr} add r5, r0, #0 add r4, r1, #0 bl MOD09_02219368 add r0, r5, #0 add r1, r4, #0 bl MOD09_02219304 ldr r0, [r5, #4] mov r1, #4 mov r2, #0 bl BgFillTilemapBufferAndSchedule ldr r0, [r5, #4] mov r1, #5 mov r2, #0 bl BgFillTilemapBufferAndSchedule add r0, r5, #0 bl MOD09_02219510 add r0, r5, #0 add r1, r4, #0 bl MOD09_02219498 add r0, r5, #0 add r1, r4, #0 bl MOD09_0221953C add r0, r5, #0 add r1, r4, #0 bl MOD09_0221AAF0 add r0, r5, #0 add r1, r4, #0 bl MOD09_0221A1DC add r0, r5, #0 add r1, r4, #0 bl MOD09_0221A2BC ldr r1, _02219420 ; =0x0000114C add r0, r5, #0 strb r4, [r5, r1] ldrb r1, [r5, r1] bl MOD09_0221A044 pop {r3, r4, r5, pc} nop _02219420: .word 0x0000114C thumb_func_start MOD09_02219424 MOD09_02219424: ; 0x02219424 ldr r3, _0221942C ; =FUN_02020988 add r0, r1, #0 bx r3 nop _0221942C: .word FUN_02020988 thumb_func_start MOD09_02219430 MOD09_02219430: ; 0x02219430 push {r3, r4, r5, lr} add r5, r0, #0 ldr r4, [r5] ldr r0, [r4] bl MOD11_0222FF78 add r1, r0, #0 ldr r0, [r5] ldr r3, [r4, #0x10] ldr r0, [r0] mov r2, #2 bl MOD11_0224C474 pop {r3, r4, r5, pc} thumb_func_start MOD09_0221944C MOD09_0221944C: ; 0x0221944C push {r3, r4, r5, r6, r7, lr} add r4, r1, #0 add r7, r3, #0 add r5, r0, #0 add r6, r2, #0 bl MOD11_02230214 add r1, r4, #0 mov r2, #1 add r3, r7, #0 bl Bag_TakeItem add r0, r5, #0 bl MOD11_02230218 add r1, r4, #0 add r2, r6, #0 bl FUN_0206F1E4 pop {r3, r4, r5, r6, r7, pc} thumb_func_start MOD09_02219474 MOD09_02219474: ; 0x02219474 push {r4, lr} add r4, r0, #0 add r1, r4, #0 ldr r0, [r4, #4] ldr r2, _02219490 ; =0x0221BC2C add r1, #0x1c bl AddWindow ldr r1, _02219494 ; =0x0000114C add r0, r4, #0 ldrb r1, [r4, r1] bl MOD09_02219498 pop {r4, pc} .align 2, 0 _02219490: .word MOD9_0221BC2C _02219494: .word 0x0000114C thumb_func_start MOD09_02219498 MOD09_02219498: ; 0x02219498 push {r4, r5, r6, lr} add r5, r0, #0 cmp r1, #0 beq _022194AA cmp r1, #1 beq _022194B4 cmp r1, #2 beq _022194BE b _022194C6 _022194AA: mov r1, #5 add r0, #0x30 ldr r6, _02219504 ; =0x0221BC54 strb r1, [r0] b _022194C6 _022194B4: mov r1, #0x1a add r0, #0x30 ldr r6, _02219508 ; =0x0221BCAC strb r1, [r0] b _022194C6 _022194BE: ldr r6, _0221950C ; =0x0221BC34 mov r1, #4 add r0, #0x30 strb r1, [r0] _022194C6: add r1, r5, #0 ldr r0, [r5] add r1, #0x30 ldrb r1, [r1] ldr r0, [r0, #0xc] bl AllocWindows str r0, [r5, #0x2c] add r0, r5, #0 add r0, #0x30 ldrb r0, [r0] mov r4, #0 cmp r0, #0 bls _02219502 _022194E2: ldr r2, [r5, #0x2c] lsl r1, r4, #4 add r1, r2, r1 lsl r2, r4, #3 ldr r0, [r5, #4] add r2, r6, r2 bl AddWindow add r0, r4, #1 lsl r0, r0, #0x18 lsr r4, r0, #0x18 add r0, r5, #0 add r0, #0x30 ldrb r0, [r0] cmp r4, r0 blo _022194E2 _02219502: pop {r4, r5, r6, pc} .align 2, 0 _02219504: .word MOD9_0221BC54 _02219508: .word MOD9_0221BCAC _0221950C: .word MOD9_0221BC34 thumb_func_start MOD09_02219510 MOD09_02219510: ; 0x02219510 add r1, r0, #0 ldr r0, [r1, #0x2c] add r1, #0x30 ldr r3, _0221951C ; =FUN_020191A4 ldrb r1, [r1] bx r3 .align 2, 0 _0221951C: .word WindowArray_dtor thumb_func_start MOD09_02219520 MOD09_02219520: ; 0x02219520 push {r4, lr} add r4, r0, #0 add r1, r4, #0 add r1, #0x30 ldrb r1, [r1] ldr r0, [r4, #0x2c] bl WindowArray_dtor add r4, #0x1c add r0, r4, #0 bl RemoveWindow pop {r4, pc} .align 2, 0 thumb_func_start MOD09_0221953C MOD09_0221953C: ; 0x0221953C push {r3, lr} cmp r1, #0 beq _0221954C cmp r1, #1 beq _02219552 cmp r1, #2 beq _02219558 pop {r3, pc} _0221954C: bl MOD09_022195B8 pop {r3, pc} _02219552: bl MOD09_02219A74 pop {r3, pc} _02219558: bl MOD09_02219B60 pop {r3, pc} .align 2, 0 thumb_func_start MOD09_02219560 MOD09_02219560: ; 0x02219560 push {r4, r5, r6, r7, lr} sub sp, #0x14 ldr r5, [r0, #0x2c] lsl r4, r1, #4 ldr r0, [r0, #0x10] add r1, r2, #0 add r6, r3, #0 bl NewString_ReadMsgData str r0, [sp, #0x10] ldr r1, [sp, #0x10] add r0, r6, #0 mov r2, #0 bl FUN_02002E14 add r7, r0, #0 add r0, r5, r4 bl GetWindowWidth lsl r0, r0, #3 sub r0, r0, r7 lsr r3, r0, #1 ldr r0, [sp, #0x28] ldr r2, [sp, #0x10] str r0, [sp] mov r0, #0xff str r0, [sp, #4] ldr r0, [sp, #0x2c] add r1, r6, #0 str r0, [sp, #8] mov r0, #0 str r0, [sp, #0xc] add r0, r5, r4 bl AddTextPrinterParameterized2 ldr r0, [sp, #0x10] bl String_dtor add r0, r5, r4 bl ScheduleWindowCopyToVram add sp, #0x14 pop {r4, r5, r6, r7, pc} .align 2, 0 thumb_func_start MOD09_022195B8 MOD09_022195B8: ; 0x022195B8 push {r3, r4, r5, r6, r7, lr} sub sp, #0x10 mov r6, #0 add r5, r0, #0 add r4, r6, #0 add r7, r6, #0 _022195C4: ldr r0, [r5, #0x2c] add r1, r7, #0 add r0, r0, r4 bl FillWindowPixelBuffer add r6, r6, #1 add r4, #0x10 cmp r6, #5 blo _022195C4 mov r0, #8 str r0, [sp] ldr r0, _02219690 ; =0x00030201 mov r1, #0 str r0, [sp, #4] add r0, r5, #0 add r2, r1, #0 mov r3, #2 bl MOD09_02219560 mov r0, #0x18 str r0, [sp] ldr r0, _02219690 ; =0x00030201 mov r1, #0 str r0, [sp, #4] add r0, r5, #0 mov r2, #1 mov r3, #2 bl MOD09_02219560 mov r0, #8 str r0, [sp] ldr r0, _02219690 ; =0x00030201 mov r2, #2 str r0, [sp, #4] add r0, r5, #0 mov r1, #1 add r3, r2, #0 bl MOD09_02219560 mov r0, #0x18 str r0, [sp] ldr r0, _02219690 ; =0x00030201 mov r1, #1 str r0, [sp, #4] add r0, r5, #0 mov r2, #3 mov r3, #2 bl MOD09_02219560 mov r0, #8 str r0, [sp] ldr r0, _02219690 ; =0x00030201 mov r1, #2 str r0, [sp, #4] add r0, r5, #0 mov r2, #7 add r3, r1, #0 bl MOD09_02219560 mov r0, #8 str r0, [sp] ldr r0, _02219690 ; =0x00030201 mov r1, #3 str r0, [sp, #4] add r0, r5, #0 mov r2, #6 mov r3, #2 bl MOD09_02219560 ldr r0, [r5] ldrh r0, [r0, #0x20] cmp r0, #0 beq _0221968A ldr r0, [r5, #0x10] mov r1, #8 bl NewString_ReadMsgData add r4, r0, #0 mov r0, #6 str r0, [sp] mov r0, #0xff str r0, [sp, #4] ldr r0, _02219690 ; =0x00030201 mov r3, #0 str r0, [sp, #8] str r3, [sp, #0xc] ldr r0, [r5, #0x2c] mov r1, #2 add r0, #0x40 add r2, r4, #0 bl AddTextPrinterParameterized2 add r0, r4, #0 bl String_dtor ldr r0, [r5, #0x2c] add r0, #0x40 bl ScheduleWindowCopyToVram _0221968A: add sp, #0x10 pop {r3, r4, r5, r6, r7, pc} nop _02219690: .word 0x00030201 thumb_func_start MOD09_02219694 MOD09_02219694: ; 0x02219694 push {r3, r4, r5, r6, r7, lr} sub sp, #0x18 add r5, r0, #0 ldr r4, [r5, #0x2c] lsl r6, r3, #4 add r7, r1, #0 add r0, r4, r6 mov r1, #0 str r2, [sp, #0x10] bl FillWindowPixelBuffer ldr r0, _02219730 ; =0x0000114D lsl r7, r7, #2 ldrb r1, [r5, r0] mov r0, #0x90 mul r0, r1 add r0, r5, r0 add r0, r0, r7 ldrh r0, [r0, #0x3c] cmp r0, #0 beq _02219726 ldr r1, [sp, #0x10] ldr r0, [r5, #0x10] lsl r2, r1, #3 ldr r1, _02219734 ; =0x0221BC7C ldr r1, [r1, r2] bl NewString_ReadMsgData ldr r2, _02219730 ; =0x0000114D str r0, [sp, #0x14] ldrb r3, [r5, r2] mov r2, #0x90 ldr r0, [r5, #0x14] mul r2, r3 add r2, r5, r2 add r2, r2, r7 ldrh r2, [r2, #0x3c] mov r1, #0 bl BufferItemName ldr r0, [r5, #0x14] ldr r1, [r5, #0x18] ldr r2, [sp, #0x14] bl StringExpandPlaceholders ldr r0, [sp, #0x30] ldr r1, [r5, #0x18] mov r2, #0 bl FUN_02002E14 add r7, r0, #0 add r0, r4, r6 bl GetWindowWidth lsl r0, r0, #3 sub r0, r0, r7 lsr r3, r0, #1 mov r0, #8 str r0, [sp] mov r0, #0xff str r0, [sp, #4] ldr r0, [sp, #0x34] ldr r1, [sp, #0x30] str r0, [sp, #8] mov r0, #0 str r0, [sp, #0xc] ldr r2, [r5, #0x18] add r0, r4, r6 bl AddTextPrinterParameterized2 ldr r0, [sp, #0x14] bl String_dtor _02219726: add r0, r4, r6 bl ScheduleWindowCopyToVram add sp, #0x18 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _02219730: .word 0x0000114D _02219734: .word MOD9_0221BC7C thumb_func_start MOD09_02219738 MOD09_02219738: ; 0x02219738 push {r3, r4, r5, r6, r7, lr} sub sp, #0x18 add r5, r0, #0 ldr r4, [r5, #0x2c] lsl r7, r3, #4 add r6, r1, #0 add r0, r4, r7 mov r1, #0 str r2, [sp, #0x10] bl FillWindowPixelBuffer ldr r0, _022197C4 ; =0x0000114D lsl r6, r6, #2 ldrb r1, [r5, r0] mov r0, #0x90 mul r0, r1 add r0, r5, r0 add r0, r0, r6 ldrh r0, [r0, #0x3e] cmp r0, #0 beq _022197BA ldr r1, [sp, #0x10] ldr r0, [r5, #0x10] lsl r2, r1, #3 ldr r1, _022197C8 ; =0x0221BC80 ldr r1, [r1, r2] bl NewString_ReadMsgData mov r1, #0 str r0, [sp, #0x14] str r1, [sp] mov r0, #1 str r0, [sp, #4] ldr r2, _022197C4 ; =0x0000114D ldr r0, [r5, #0x14] ldrb r3, [r5, r2] mov r2, #0x90 mul r2, r3 add r2, r5, r2 add r2, r2, r6 ldrh r2, [r2, #0x3e] mov r3, #3 bl BufferIntegerAsString ldr r0, [r5, #0x14] ldr r1, [r5, #0x18] ldr r2, [sp, #0x14] bl StringExpandPlaceholders ldr r0, [sp, #0x34] mov r3, #0 str r0, [sp] mov r0, #0xff str r0, [sp, #4] ldr r0, [sp, #0x38] ldr r1, [sp, #0x30] str r0, [sp, #8] str r3, [sp, #0xc] ldr r2, [r5, #0x18] add r0, r4, r7 bl AddTextPrinterParameterized2 ldr r0, [sp, #0x14] bl String_dtor _022197BA: add r0, r4, r7 bl ScheduleWindowCopyToVram add sp, #0x18 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _022197C4: .word 0x0000114D _022197C8: .word MOD9_0221BC80 thumb_func_start MOD09_022197CC MOD09_022197CC: ; 0x022197CC push {r3, r4, r5, r6, r7, lr} sub sp, #0x10 add r6, r0, #0 ldr r0, _02219830 ; =0x0000114D add r5, r1, #0 ldrb r0, [r6, r0] ldr r1, [r6] add r0, r1, r0 add r0, #0x2c ldrb r1, [r0] mov r0, #6 mul r0, r1 str r0, [sp, #0xc] add r0, r6, #0 add r0, #0x31 ldrb r0, [r0] cmp r0, #0 bne _022197F4 mov r4, #0 b _022197F6 _022197F4: mov r4, #0xc _022197F6: mov r0, #2 str r0, [sp] ldr r0, _02219834 ; =0x00030201 ldr r1, [sp, #0xc] lsl r7, r5, #1 str r0, [sp, #4] add r0, r6, #0 add r1, r5, r1 add r2, r5, #0 add r3, r4, r7 bl MOD09_02219694 mov r0, #0 str r0, [sp] mov r0, #4 str r0, [sp, #4] ldr r0, _02219838 ; =0x00010200 ldr r1, [sp, #0xc] add r3, r4, #1 str r0, [sp, #8] add r0, r6, #0 add r1, r5, r1 add r2, r5, #0 add r3, r3, r7 bl MOD09_02219738 add sp, #0x10 pop {r3, r4, r5, r6, r7, pc} nop _02219830: .word 0x0000114D _02219834: .word 0x00030201 _02219838: .word 0x00010200 thumb_func_start MOD09_0221983C MOD09_0221983C: ; 0x0221983C push {r3, r4, r5, lr} sub sp, #0x10 mov r2, #0 add r4, r0, #0 str r2, [sp] mov r0, #0x20 str r0, [sp, #4] mov r0, #0x13 str r0, [sp, #8] mov r0, #0x11 str r0, [sp, #0xc] ldr r0, [r4, #4] mov r1, #5 add r3, r2, #0 bl FillBgTilemapRect mov r5, #0 _0221985E: add r0, r4, #0 add r1, r5, #0 bl MOD09_022197CC add r0, r5, #1 lsl r0, r0, #0x10 lsr r5, r0, #0x10 cmp r5, #6 blo _0221985E add r0, r4, #0 add r0, #0x31 ldrb r1, [r0] mov r0, #1 add r4, #0x31 eor r0, r1 strb r0, [r4] add sp, #0x10 pop {r3, r4, r5, pc} .align 2, 0 thumb_func_start MOD09_02219884 MOD09_02219884: ; 0x02219884 push {r3, r4, r5, r6, r7, lr} sub sp, #0x18 add r5, r0, #0 mov r0, #0x19 ldr r1, [r5, #0x2c] lsl r0, r0, #4 add r0, r1, r0 mov r1, #0 bl FillWindowPixelBuffer ldr r0, [r5, #0x10] mov r1, #0x1c ldr r4, [r5, #0x2c] bl NewString_ReadMsgData str r0, [sp, #0x10] mov r0, #0 ldr r1, [sp, #0x10] add r2, r0, #0 bl FUN_02002E14 add r7, r0, #0 mov r0, #0x19 lsl r0, r0, #4 add r0, r4, r0 bl GetWindowWidth lsl r0, r0, #3 sub r0, r0, r7 lsr r6, r0, #1 mov r0, #4 str r0, [sp] mov r0, #0xff str r0, [sp, #4] ldr r0, _022199AC ; =0x00010200 ldr r2, [sp, #0x10] str r0, [sp, #8] mov r0, #0x19 lsl r0, r0, #4 mov r1, #0 add r0, r4, r0 add r3, r6, #0 str r1, [sp, #0xc] bl AddTextPrinterParameterized2 ldr r0, [sp, #0x10] bl String_dtor ldr r0, [r5, #0x10] mov r1, #0x1d bl NewString_ReadMsgData mov r1, #0 str r0, [sp, #0x14] ldr r3, _022199B0 ; =0x0000114D str r1, [sp] mov r0, #1 str r0, [sp, #4] ldr r2, _022199B0 ; =0x0000114D add r3, r3, #7 ldrb r2, [r5, r2] ldr r0, [r5, #0x14] add r2, r5, r2 ldrb r2, [r2, r3] mov r3, #2 add r2, r2, #1 bl BufferIntegerAsString ldr r0, [r5, #0x14] ldr r1, [r5, #0x18] ldr r2, [sp, #0x14] bl StringExpandPlaceholders mov r0, #4 str r0, [sp] mov r0, #0xff str r0, [sp, #4] ldr r0, _022199AC ; =0x00010200 mov r1, #0 str r0, [sp, #8] str r1, [sp, #0xc] mov r0, #0x19 lsl r0, r0, #4 ldr r2, [r5, #0x18] add r0, r4, r0 add r3, r6, r7 bl AddTextPrinterParameterized2 ldr r0, [sp, #0x14] bl String_dtor ldr r0, [r5, #0x10] mov r1, #0x1e bl NewString_ReadMsgData mov r1, #0 add r7, r0, #0 str r1, [sp] mov r0, #1 str r0, [sp, #4] ldr r3, _022199B0 ; =0x0000114D ldr r2, [r5] ldrb r3, [r5, r3] ldr r0, [r5, #0x14] add r2, r2, r3 add r2, #0x2c ldrb r2, [r2] mov r3, #2 add r2, r2, #1 bl BufferIntegerAsString ldr r0, [r5, #0x14] ldr r1, [r5, #0x18] add r2, r7, #0 bl StringExpandPlaceholders mov r0, #0 ldr r1, [r5, #0x18] add r2, r0, #0 bl FUN_02002E14 add r3, r0, #0 mov r0, #4 str r0, [sp] mov r0, #0xff str r0, [sp, #4] ldr r0, _022199AC ; =0x00010200 mov r1, #0 str r0, [sp, #8] str r1, [sp, #0xc] mov r0, #0x19 lsl r0, r0, #4 ldr r2, [r5, #0x18] add r0, r4, r0 sub r3, r6, r3 bl AddTextPrinterParameterized2 add r0, r7, #0 bl String_dtor mov r0, #0x19 lsl r0, r0, #4 add r0, r4, r0 bl ScheduleWindowCopyToVram add sp, #0x18 pop {r3, r4, r5, r6, r7, pc} nop _022199AC: .word 0x00010200 _022199B0: .word 0x0000114D thumb_func_start MOD09_022199B4 MOD09_022199B4: ; 0x022199B4 push {r4, lr} sub sp, #8 add r4, r0, #0 mov r0, #6 ldr r1, [r4, #0x2c] lsl r0, r0, #6 add r0, r1, r0 mov r1, #0 bl FillWindowPixelBuffer ldr r0, _02219A6C ; =0x0000114D ldrb r0, [r4, r0] cmp r0, #3 bhi _02219A68 add r0, r0, r0 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _022199DC: ; jump table .short _022199E4 - _022199DC - 2 ; case 0 .short _02219A10 - _022199DC - 2 ; case 1 .short _02219A3C - _022199DC - 2 ; case 2 .short _02219A54 - _022199DC - 2 ; case 3 _022199E4: mov r0, #4 str r0, [sp] ldr r0, _02219A70 ; =0x00010200 mov r1, #0x18 str r0, [sp, #4] add r0, r4, #0 mov r2, #0x16 mov r3, #0 bl MOD09_02219560 mov r0, #0x14 str r0, [sp] ldr r0, _02219A70 ; =0x00010200 mov r1, #0x18 str r0, [sp, #4] add r0, r4, #0 mov r2, #0x17 mov r3, #0 bl MOD09_02219560 add sp, #8 pop {r4, pc} _02219A10: mov r0, #4 str r0, [sp] ldr r0, _02219A70 ; =0x00010200 mov r1, #0x18 str r0, [sp, #4] add r0, r4, #0 add r2, r1, #0 mov r3, #0 bl MOD09_02219560 mov r0, #0x14 str r0, [sp] ldr r0, _02219A70 ; =0x00010200 mov r1, #0x18 str r0, [sp, #4] add r0, r4, #0 mov r2, #0x19 mov r3, #0 bl MOD09_02219560 add sp, #8 pop {r4, pc} _02219A3C: mov r0, #0xc str r0, [sp] ldr r0, _02219A70 ; =0x00010200 mov r1, #0x18 str r0, [sp, #4] add r0, r4, #0 mov r2, #0x1a mov r3, #0 bl MOD09_02219560 add sp, #8 pop {r4, pc} _02219A54: mov r0, #0xc str r0, [sp] ldr r0, _02219A70 ; =0x00010200 mov r1, #0x18 str r0, [sp, #4] add r0, r4, #0 mov r2, #0x1b mov r3, #0 bl MOD09_02219560 _02219A68: add sp, #8 pop {r4, pc} .align 2, 0 _02219A6C: .word 0x0000114D _02219A70: .word 0x00010200 thumb_func_start MOD09_02219A74 MOD09_02219A74: ; 0x02219A74 push {r4, lr} add r4, r0, #0 bl MOD09_0221983C add r0, r4, #0 bl MOD09_022199B4 add r0, r4, #0 bl MOD09_02219884 pop {r4, pc} .align 2, 0 thumb_func_start MOD09_02219A8C MOD09_02219A8C: ; 0x02219A8C push {r3, r4, r5, r6, r7, lr} sub sp, #0x10 add r5, r0, #0 ldr r0, [r5, #0x10] add r6, r1, #0 mov r1, #9 ldr r4, [r5, #0x2c] bl NewString_ReadMsgData ldr r2, _02219AF4 ; =0x0000114D add r7, r0, #0 ldrb r3, [r5, r2] mov r2, #0x90 ldr r0, [r5, #0x14] mul r2, r3 add r2, r5, r2 lsl r3, r6, #2 add r2, r2, r3 ldrh r2, [r2, #0x3c] mov r1, #0 bl BufferItemName ldr r0, [r5, #0x14] ldr r1, [r5, #0x18] add r2, r7, #0 bl StringExpandPlaceholders add r0, r4, #0 mov r1, #0 bl FillWindowPixelBuffer mov r1, #0 str r1, [sp] mov r0, #0xff str r0, [sp, #4] ldr r0, _02219AF8 ; =0x00010200 add r3, r1, #0 str r0, [sp, #8] str r1, [sp, #0xc] ldr r2, [r5, #0x18] add r0, r4, #0 bl AddTextPrinterParameterized2 add r0, r7, #0 bl String_dtor add r0, r4, #0 bl ScheduleWindowCopyToVram add sp, #0x10 pop {r3, r4, r5, r6, r7, pc} nop _02219AF4: .word 0x0000114D _02219AF8: .word 0x00010200 thumb_func_start MOD09_02219AFC MOD09_02219AFC: ; 0x02219AFC push {r3, r4, r5, r6, r7, lr} sub sp, #0x10 add r5, r0, #0 add r6, r1, #0 ldr r1, [r5] ldr r4, [r5, #0x2c] ldr r1, [r1, #0xc] mov r0, #0x82 add r4, #0x20 bl String_ctor ldr r1, _02219B58 ; =0x0000114D add r7, r0, #0 ldrb r2, [r5, r1] mov r1, #0x90 mul r1, r2 add r2, r5, r1 lsl r1, r6, #2 add r1, r2, r1 ldr r2, [r5] ldrh r1, [r1, #0x3c] ldr r2, [r2, #0xc] lsl r2, r2, #0x10 lsr r2, r2, #0x10 bl GetItemDescIntoString mov r1, #0 str r1, [sp] mov r0, #0xff str r0, [sp, #4] ldr r0, _02219B5C ; =0x00010200 add r2, r7, #0 str r0, [sp, #8] add r0, r4, #0 mov r3, #4 str r1, [sp, #0xc] bl AddTextPrinterParameterized2 add r0, r7, #0 bl String_dtor add r0, r4, #0 bl ScheduleWindowCopyToVram add sp, #0x10 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _02219B58: .word 0x0000114D _02219B5C: .word 0x00010200 thumb_func_start MOD09_02219B60 MOD09_02219B60: ; 0x02219B60 push {r4, r5, r6, r7, lr} sub sp, #0xc mov r6, #0 add r5, r0, #0 add r4, r6, #0 add r7, r6, #0 _02219B6C: ldr r0, [r5, #0x2c] add r1, r7, #0 add r0, r0, r4 bl FillWindowPixelBuffer add r6, r6, #1 add r4, #0x10 cmp r6, #4 blo _02219B6C ldr r0, _02219BD4 ; =0x0000114D ldr r1, [r5] ldrb r2, [r5, r0] add r0, r1, r2 add r0, #0x27 ldrb r4, [r0] add r0, r1, r2 add r0, #0x2c ldrb r1, [r0] mov r0, #6 add r6, r1, #0 mul r6, r0 add r0, r5, #0 add r1, r4, r6 bl MOD09_02219A8C mov r2, #0 str r2, [sp] ldr r0, _02219BD8 ; =0x00010200 str r2, [sp, #4] str r0, [sp, #8] add r0, r5, #0 add r1, r4, r6 mov r3, #1 bl MOD09_02219738 add r0, r5, #0 add r1, r4, r6 bl MOD09_02219AFC mov r0, #6 str r0, [sp] ldr r0, _02219BDC ; =0x00030201 mov r1, #3 str r0, [sp, #4] add r0, r5, #0 mov r2, #0x1f mov r3, #2 bl MOD09_02219560 add sp, #0xc pop {r4, r5, r6, r7, pc} nop _02219BD4: .word 0x0000114D _02219BD8: .word 0x00010200 _02219BDC: .word 0x00030201 thumb_func_start MOD09_02219BE0 MOD09_02219BE0: ; 0x02219BE0 push {r4, lr} ldr r2, _02219C04 ; =0x000003E2 add r4, r0, #0 add r0, #0x1c mov r1, #1 mov r3, #0xe bl DrawFrameAndWindow2 add r0, r4, #0 add r0, #0x1c mov r1, #0xf bl FillWindowPixelBuffer add r0, r4, #0 bl MOD09_02219C08 pop {r4, pc} nop _02219C04: .word 0x000003E2 thumb_func_start MOD09_02219C08 MOD09_02219C08: ; 0x02219C08 push {r3, r4, lr} sub sp, #0xc add r4, r0, #0 mov r0, #1 bl TextFlags_SetCanABSpeedUpPrint ldr r0, [r4] ldr r0, [r0] bl MOD11_02230E54 mov r3, #0 str r3, [sp] str r0, [sp, #4] str r3, [sp, #8] add r0, r4, #0 ldr r2, [r4, #0x18] add r0, #0x1c mov r1, #1 bl AddTextPrinterParameterized add r4, #0x32 strb r0, [r4] add sp, #0xc pop {r3, r4, pc} thumb_func_start MOD09_02219C38 MOD09_02219C38: ; 0x02219C38 push {r4, lr} add r4, r0, #0 ldr r3, [r4] ldrh r1, [r3, #0x20] cmp r1, #0 bne _02219C48 mov r0, #0 pop {r4, pc} _02219C48: ldr r0, [r3, #8] ldr r3, [r3, #0xc] mov r2, #1 bl Bag_HasItem cmp r0, #0 bne _02219C62 ldr r1, [r4] mov r0, #0 strh r0, [r1, #0x20] ldr r1, [r4] strb r0, [r1, #0x1f] pop {r4, pc} _02219C62: mov r0, #1 pop {r4, pc} .align 2, 0 thumb_func_start MOD09_02219C68 MOD09_02219C68: ; 0x02219C68 push {r3, r4, r5, r6, r7, lr} add r5, r0, #0 ldr r0, _02219CB0 ; =0x0000114D ldr r6, [r5] ldrb r7, [r5, r0] mov r0, #0x90 ldrh r2, [r6, #0x20] mul r0, r7 mov r4, #0 add r1, r5, r0 _02219C7C: ldrh r0, [r1, #0x3c] cmp r2, r0 bne _02219CA6 add r0, r4, #0 mov r1, #6 bl _u32_div_f add r0, r6, r7 add r0, #0x27 strb r1, [r0] add r0, r4, #0 mov r1, #6 bl _u32_div_f ldr r1, _02219CB0 ; =0x0000114D ldr r2, [r5] ldrb r1, [r5, r1] add r1, r2, r1 add r1, #0x2c strb r0, [r1] pop {r3, r4, r5, r6, r7, pc} _02219CA6: add r4, r4, #1 add r1, r1, #4 cmp r4, #0x24 blo _02219C7C pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _02219CB0: .word 0x0000114D thumb_func_start MOD09_02219CB4 MOD09_02219CB4: ; 0x02219CB4 push {r4, r5, r6, r7, lr} sub sp, #0xc add r4, r0, #0 mov r0, #0 str r0, [sp, #4] _02219CBE: mov r0, #0 str r0, [sp] ldr r0, [sp, #4] lsl r0, r0, #0x10 lsr r0, r0, #0x10 str r0, [sp, #8] _02219CCA: ldr r0, [r4] ldr r2, [sp] ldr r0, [r0, #8] lsl r2, r2, #0x10 ldr r1, [sp, #8] lsr r2, r2, #0x10 bl Bag_GetPocketSlotN add r5, r0, #0 beq _02219D3C ldrh r0, [r5] cmp r0, #0 beq _02219D34 ldrh r1, [r5, #2] cmp r1, #0 beq _02219D34 ldr r2, [r4] mov r1, #0xd ldr r2, [r2, #0xc] bl GetItemAttr add r7, r0, #0 ldr r1, _02219D88 ; =0x0221BD7C mov r0, #0 _02219CFA: mov r2, #1 lsl r2, r0 tst r2, r7 beq _02219D2C ldrb r2, [r1] mov r3, #0x90 add r6, r2, #0 mul r6, r3 add r3, r4, r2 ldr r2, _02219D8C ; =0x0000114F ldrb r2, [r3, r2] add r3, r4, r6 lsl r2, r2, #2 add r2, r2, r3 ldrh r3, [r5] strh r3, [r2, #0x3c] ldrh r3, [r5, #2] strh r3, [r2, #0x3e] ldrb r2, [r1] add r6, r4, r2 ldr r2, _02219D8C ; =0x0000114F ldrb r2, [r6, r2] add r3, r2, #1 ldr r2, _02219D8C ; =0x0000114F strb r3, [r6, r2] _02219D2C: add r0, r0, #1 add r1, r1, #1 cmp r0, #5 blo _02219CFA _02219D34: ldr r0, [sp] add r0, r0, #1 str r0, [sp] b _02219CCA _02219D3C: ldr r0, [sp, #4] add r0, r0, #1 str r0, [sp, #4] cmp r0, #8 blo _02219CBE mov r5, #0 add r7, r5, #0 _02219D4A: ldr r0, _02219D8C ; =0x0000114F add r6, r4, r5 ldrb r0, [r6, r0] cmp r0, #0 bne _02219D5A ldr r0, _02219D90 ; =0x00001154 strb r7, [r6, r0] b _02219D66 _02219D5A: sub r0, r0, #1 mov r1, #6 bl _s32_div_f ldr r1, _02219D90 ; =0x00001154 strb r0, [r6, r1] _02219D66: ldr r1, [r4] ldr r0, _02219D90 ; =0x00001154 add r2, r1, r5 add r2, #0x2c ldrb r0, [r6, r0] ldrb r2, [r2] cmp r0, r2 bhs _02219D7C add r1, r1, r5 add r1, #0x2c strb r0, [r1] _02219D7C: add r5, r5, #1 cmp r5, #5 blo _02219D4A add sp, #0xc pop {r4, r5, r6, r7, pc} nop _02219D88: .word MOD9_0221BD7C _02219D8C: .word 0x0000114F _02219D90: .word 0x00001154 thumb_func_start MOD09_02219D94 MOD09_02219D94: ; 0x02219D94 push {r3, r4} ldr r2, _02219DC4 ; =0x0000114D ldr r3, [r0] ldrb r2, [r0, r2] add r3, r3, r2 add r3, #0x2c ldrb r4, [r3] mov r3, #6 mul r3, r4 add r1, r1, r3 lsl r3, r1, #2 mov r1, #0x90 mul r1, r2 add r0, r0, r1 add r1, r0, r3 ldrh r0, [r1, #0x3c] cmp r0, #0 beq _02219DBE ldrh r1, [r1, #0x3e] cmp r1, #0 bne _02219DC0 _02219DBE: mov r0, #0 _02219DC0: pop {r3, r4} bx lr .align 2, 0 _02219DC4: .word 0x0000114D thumb_func_start MOD09_02219DC8 MOD09_02219DC8: ; 0x02219DC8 push {r4, lr} add r4, r0, #0 bl MOD09_02219DF4 add r0, r4, #0 bl MOD09_02219E40 add r0, r4, #0 bl MOD09_02219FC4 add r0, r4, #0 bl MOD09_0221A158 add r0, r4, #0 bl MOD09_0221A244 mov r0, #0x10 mov r1, #1 bl GX_EngineBToggleLayers pop {r4, pc} .align 2, 0 thumb_func_start MOD09_02219DF4 MOD09_02219DF4: ; 0x02219DF4 push {r3, r4, r5, lr} sub sp, #0x18 ldr r3, _02219E3C ; =0x0221BDB0 add r2, sp, #0 add r5, r0, #0 ldmia r3!, {r0, r1} stmia r2!, {r0, r1} ldmia r3!, {r0, r1} stmia r2!, {r0, r1} ldmia r3!, {r0, r1} stmia r2!, {r0, r1} ldr r0, [r5] ldr r0, [r0] bl MOD11_02230078 add r4, r0, #0 bl FUN_0200BB34 mov r1, #0xc3 lsl r1, r1, #2 str r0, [r5, r1] ldr r1, [r5, r1] add r0, r4, #0 mov r2, #0xc bl FUN_0200BBF0 mov r1, #0xc3 lsl r1, r1, #2 ldr r1, [r5, r1] add r0, r4, #0 add r2, sp, #0 bl FUN_0200BF60 add sp, #0x18 pop {r3, r4, r5, pc} nop _02219E3C: .word MOD9_0221BDB0 thumb_func_start MOD09_02219E40 MOD09_02219E40: ; 0x02219E40 push {r3, r4, r5, r6, r7, lr} sub sp, #0x18 add r6, r0, #0 ldr r0, [r6] ldr r0, [r0] bl MOD11_02230078 add r7, r0, #0 mov r4, #0 _02219E52: ldr r0, _02219EE8 ; =0x0000B4B7 add r5, r4, r0 mov r0, #1 add r1, r0, #0 bl GetItemIndexMapping add r3, r0, #0 mov r0, #0 str r0, [sp] mov r0, #2 str r0, [sp, #4] mov r1, #0xc3 str r5, [sp, #8] lsl r1, r1, #2 ldr r1, [r6, r1] add r0, r7, #0 mov r2, #0x10 bl FUN_0200C00C mov r0, #1 mov r1, #2 bl GetItemIndexMapping mov r1, #0x10 str r1, [sp] str r0, [sp, #4] mov r0, #0 str r0, [sp, #8] mov r0, #1 str r0, [sp, #0xc] mov r0, #2 str r0, [sp, #0x10] mov r3, #0xc3 str r5, [sp, #0x14] lsl r3, r3, #2 ldr r0, [r6, #8] ldr r3, [r6, r3] mov r1, #3 add r2, r7, #0 bl FUN_0200C0DC add r4, r4, #1 cmp r4, #6 blo _02219E52 bl FUN_0206E708 add r3, r0, #0 mov r0, #0 str r0, [sp] ldr r0, _02219EE8 ; =0x0000B4B7 mov r1, #0xc3 str r0, [sp, #4] lsl r1, r1, #2 ldr r1, [r6, r1] add r0, r7, #0 mov r2, #0x10 bl FUN_0200C124 bl FUN_0206E70C add r3, r0, #0 mov r0, #0 str r0, [sp] ldr r0, _02219EE8 ; =0x0000B4B7 mov r1, #0xc3 str r0, [sp, #4] lsl r1, r1, #2 ldr r1, [r6, r1] add r0, r7, #0 mov r2, #0x10 bl FUN_0200C13C add sp, #0x18 pop {r3, r4, r5, r6, r7, pc} nop _02219EE8: .word 0x0000B4B7 thumb_func_start MOD09_02219EEC MOD09_02219EEC: ; 0x02219EEC push {r3, r4, r5, r6, r7, lr} sub sp, #8 add r5, r0, #0 ldr r0, [r5] add r6, r1, #0 ldr r0, [r0] add r4, r2, #0 bl MOD11_02230078 add r7, r0, #0 add r0, r6, #0 mov r1, #1 bl GetItemIndexMapping add r3, r0, #0 mov r0, #0 str r0, [sp] mov r1, #0xc3 str r4, [sp, #4] lsl r1, r1, #2 ldr r1, [r5, r1] add r0, r7, #0 mov r2, #0x10 bl FUN_0200C9D8 add sp, #8 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 thumb_func_start MOD09_02219F24 MOD09_02219F24: ; 0x02219F24 push {r4, r5, lr} sub sp, #0xc add r5, r0, #0 add r0, r1, #0 mov r1, #2 add r4, r2, #0 bl GetItemIndexMapping add r2, r0, #0 mov r0, #3 str r0, [sp] mov r0, #0x20 str r0, [sp, #4] lsl r0, r4, #0x14 lsr r0, r0, #0x10 str r0, [sp, #8] ldr r3, [r5] ldr r0, [r5, #8] ldr r3, [r3, #0xc] mov r1, #0x10 bl PaletteData_LoadNarc add sp, #0xc pop {r4, r5, pc} thumb_func_start MOD09_02219F54 MOD09_02219F54: ; 0x02219F54 push {r4, r5, lr} sub sp, #0x34 add r5, r0, #0 ldr r0, [r5] add r4, r1, #0 ldr r0, [r0] bl MOD11_02230078 mov r2, #0 add r1, sp, #0 strh r2, [r1] strh r2, [r1, #2] strh r2, [r1, #4] strh r2, [r1, #6] mov r1, #0x14 ldr r3, _02219FB0 ; =0x0221BE98 mul r1, r4 ldr r3, [r3, r1] str r2, [sp, #0xc] str r3, [sp, #8] mov r3, #2 str r3, [sp, #0x10] ldr r3, _02219FB4 ; =0x0221BE88 str r2, [sp, #0x30] ldr r3, [r3, r1] add r2, sp, #0 str r3, [sp, #0x14] ldr r3, _02219FB8 ; =0x0221BE8C ldr r3, [r3, r1] str r3, [sp, #0x18] ldr r3, _02219FBC ; =0x0221BE90 ldr r3, [r3, r1] str r3, [sp, #0x1c] ldr r3, _02219FC0 ; =0x0221BE94 ldr r1, [r3, r1] str r1, [sp, #0x20] mov r1, #1 str r1, [sp, #0x2c] mov r1, #0xc3 lsl r1, r1, #2 ldr r1, [r5, r1] bl FUN_0200C154 add sp, #0x34 pop {r4, r5, pc} nop _02219FB0: .word MOD9_0221BE98 _02219FB4: .word MOD9_0221BE88 _02219FB8: .word MOD9_0221BE8C _02219FBC: .word MOD9_0221BE90 _02219FC0: .word MOD9_0221BE94 thumb_func_start MOD09_02219FC4 MOD09_02219FC4: ; 0x02219FC4 push {r3, r4, r5, r6, r7, lr} add r6, r0, #0 mov r7, #0x31 mov r4, #0 add r5, r6, #0 lsl r7, r7, #4 _02219FD0: add r0, r6, #0 add r1, r4, #0 bl MOD09_02219F54 str r0, [r5, r7] add r4, r4, #1 add r5, r5, #4 cmp r4, #6 blo _02219FD0 pop {r3, r4, r5, r6, r7, pc} thumb_func_start MOD09_02219FE4 MOD09_02219FE4: ; 0x02219FE4 push {r3, r4, r5, r6, r7, lr} add r7, r0, #0 ldr r0, [r7] ldr r0, [r0] bl MOD11_02230078 mov r6, #0x31 str r0, [sp] mov r4, #0 add r5, r7, #0 lsl r6, r6, #4 _02219FFA: ldr r0, [r5, r6] bl FUN_0200C3DC add r4, r4, #1 add r5, r5, #4 cmp r4, #6 blo _02219FFA add r0, r7, #0 bl MOD09_0221A1B0 add r0, r7, #0 bl MOD09_0221A294 mov r1, #0xc3 lsl r1, r1, #2 ldr r0, [sp] ldr r1, [r7, r1] bl FUN_0200C398 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 thumb_func_start MOD09_0221A024 MOD09_0221A024: ; 0x0221A024 push {r4, r5, r6, lr} add r5, r1, #0 add r4, r2, #0 mov r1, #1 add r6, r0, #0 bl FUN_0200C644 lsl r1, r5, #0x10 lsl r2, r4, #0x10 add r0, r6, #0 asr r1, r1, #0x10 asr r2, r2, #0x10 bl FUN_0200C714 pop {r4, r5, r6, pc} .align 2, 0 thumb_func_start MOD09_0221A044 MOD09_0221A044: ; 0x0221A044 push {r3, r4, r5, r6, r7, lr} mov r6, #0x31 str r0, [sp] add r7, r1, #0 mov r4, #0 add r5, r0, #0 lsl r6, r6, #4 _0221A052: ldr r0, [r5, r6] mov r1, #0 bl FUN_0200C644 add r4, r4, #1 add r5, r5, #4 cmp r4, #6 blo _0221A052 cmp r7, #0 beq _0221A070 cmp r7, #1 beq _0221A078 cmp r7, #2 beq _0221A080 pop {r3, r4, r5, r6, r7, pc} _0221A070: ldr r0, [sp] bl MOD09_0221A088 pop {r3, r4, r5, r6, r7, pc} _0221A078: ldr r0, [sp] bl MOD09_0221A0BC pop {r3, r4, r5, r6, r7, pc} _0221A080: ldr r0, [sp] bl MOD09_0221A114 pop {r3, r4, r5, r6, r7, pc} thumb_func_start MOD09_0221A088 MOD09_0221A088: ; 0x0221A088 push {r4, lr} add r4, r0, #0 ldr r1, [r4] ldrh r1, [r1, #0x20] cmp r1, #0 beq _0221A0B6 ldr r2, _0221A0B8 ; =0x0000B4B7 bl MOD09_02219EEC ldr r1, [r4] ldr r3, _0221A0B8 ; =0x0000B4B7 ldrh r1, [r1, #0x20] add r0, r4, #0 mov r2, #0 bl MOD09_02219F24 mov r0, #0x31 lsl r0, r0, #4 ldr r0, [r4, r0] mov r1, #0x18 mov r2, #0xb2 bl MOD09_0221A024 _0221A0B6: pop {r4, pc} .align 2, 0 _0221A0B8: .word 0x0000B4B7 thumb_func_start MOD09_0221A0BC MOD09_0221A0BC: ; 0x0221A0BC push {r3, r4, r5, r6, r7, lr} add r5, r0, #0 ldr r6, _0221A10C ; =0x0221BE10 mov r4, #0 add r7, r5, #0 _0221A0C6: add r0, r5, #0 add r1, r4, #0 bl MOD09_02219D94 str r0, [sp] cmp r0, #0 beq _0221A0FE ldr r2, _0221A110 ; =0x0000B4B7 ldr r1, [sp] add r0, r5, #0 add r2, r4, r2 bl MOD09_02219EEC ldr r3, _0221A110 ; =0x0000B4B7 lsl r2, r4, #0x10 ldr r1, [sp] add r0, r5, #0 lsr r2, r2, #0x10 add r3, r4, r3 bl MOD09_02219F24 mov r0, #0x31 lsl r0, r0, #4 ldr r0, [r7, r0] ldr r1, [r6] ldr r2, [r6, #4] bl MOD09_0221A024 _0221A0FE: add r4, r4, #1 add r6, #8 add r7, r7, #4 cmp r4, #6 blo _0221A0C6 pop {r3, r4, r5, r6, r7, pc} nop _0221A10C: .word MOD9_0221BE10 _0221A110: .word 0x0000B4B7 thumb_func_start MOD09_0221A114 MOD09_0221A114: ; 0x0221A114 push {r3, r4, r5, lr} ldr r1, _0221A150 ; =0x0000114D add r4, r0, #0 ldrb r1, [r4, r1] ldr r2, [r4] add r1, r2, r1 add r1, #0x27 ldrb r1, [r1] bl MOD09_02219D94 add r5, r0, #0 ldr r2, _0221A154 ; =0x0000B4B7 add r0, r4, #0 add r1, r5, #0 bl MOD09_02219EEC ldr r3, _0221A154 ; =0x0000B4B7 add r0, r4, #0 add r1, r5, #0 mov r2, #0 bl MOD09_02219F24 mov r0, #0x31 lsl r0, r0, #4 ldr r0, [r4, r0] mov r1, #0x28 mov r2, #0x2c bl MOD09_0221A024 pop {r3, r4, r5, pc} .align 2, 0 _0221A150: .word 0x0000114D _0221A154: .word 0x0000B4B7 thumb_func_start MOD09_0221A158 MOD09_0221A158: ; 0x0221A158 push {r4, r5, lr} sub sp, #0x14 add r5, r0, #0 ldr r0, [r5] ldr r0, [r0] bl MOD11_02230078 ldr r3, _0221A1AC ; =0x0000B4BE add r4, r0, #0 str r3, [sp] sub r1, r3, #5 str r1, [sp, #4] str r1, [sp, #8] mov r1, #0xc3 lsl r1, r1, #2 ldr r1, [r5, r1] ldr r2, [r5, #8] bl MOD11_0225D3EC ldr r3, _0221A1AC ; =0x0000B4BE mov r1, #0xc3 str r3, [sp] sub r0, r3, #5 str r0, [sp, #4] str r0, [sp, #8] mov r0, #0 str r0, [sp, #0xc] mov r0, #1 str r0, [sp, #0x10] ldr r2, [r5] lsl r1, r1, #2 ldr r1, [r5, r1] ldr r2, [r2, #0xc] add r0, r4, #0 bl MOD11_0225D484 add r1, r0, #0 ldr r0, [r5, #0x34] bl MOD09_0221AC30 add sp, #0x14 pop {r4, r5, pc} .align 2, 0 _0221A1AC: .word 0x0000B4BE thumb_func_start MOD09_0221A1B0 MOD09_0221A1B0: ; 0x0221A1B0 push {r3, r4, lr} sub sp, #4 add r4, r0, #0 ldr r0, [r4, #0x34] bl MOD09_0221AC24 bl MOD11_0225D508 ldr r3, _0221A1D8 ; =0x0000B4B9 mov r0, #0xc3 add r1, r3, #5 str r3, [sp] lsl r0, r0, #2 ldr r0, [r4, r0] add r2, r1, #0 bl MOD11_0225D45C add sp, #4 pop {r3, r4, pc} nop _0221A1D8: .word 0x0000B4B9 thumb_func_start MOD09_0221A1DC MOD09_0221A1DC: ; 0x0221A1DC push {r3, r4, r5, lr} add r4, r1, #0 add r5, r0, #0 ldr r1, _0221A21C ; =0x0221BD94 lsl r2, r4, #2 ldr r0, [r5, #0x34] ldr r1, [r1, r2] bl MOD09_0221AC68 cmp r4, #0 beq _0221A1FA cmp r4, #1 beq _0221A206 cmp r4, #2 pop {r3, r4, r5, pc} _0221A1FA: ldr r1, _0221A220 ; =0x0000114D ldr r0, [r5, #0x34] ldrb r1, [r5, r1] bl MOD09_0221AC34 pop {r3, r4, r5, pc} _0221A206: ldr r1, _0221A220 ; =0x0000114D ldr r2, [r5] ldrb r1, [r5, r1] ldr r0, [r5, #0x34] add r1, r2, r1 add r1, #0x27 ldrb r1, [r1] bl MOD09_0221AC34 pop {r3, r4, r5, pc} nop _0221A21C: .word MOD9_0221BD94 _0221A220: .word 0x0000114D thumb_func_start MOD09_0221A224 MOD09_0221A224: ; 0x0221A224 push {r4, lr} add r4, r0, #0 ldr r0, [r4, #0x34] mov r1, #0 bl MOD09_0221AC2C ldr r0, [r4, #0x34] bl MOD09_0221AC5C ldr r0, [r4, #0x34] bl MOD09_0221AC24 bl MOD11_0225D648 pop {r4, pc} .align 2, 0 thumb_func_start MOD09_0221A244 MOD09_0221A244: ; 0x0221A244 push {r4, r5, lr} sub sp, #0x14 add r5, r0, #0 ldr r0, [r5] ldr r0, [r0] bl MOD11_02230078 ldr r3, _0221A290 ; =0x0000B4BD add r4, r0, #0 str r3, [sp] sub r1, r3, #5 str r1, [sp, #4] str r1, [sp, #8] mov r1, #0xc3 lsl r1, r1, #2 ldr r1, [r5, r1] ldr r2, [r5, #8] bl MOD11_0225D6A4 ldr r3, _0221A290 ; =0x0000B4BD mov r1, #0xc3 str r3, [sp] sub r0, r3, #5 str r0, [sp, #4] str r0, [sp, #8] mov r0, #0 str r0, [sp, #0xc] str r0, [sp, #0x10] ldr r2, [r5] lsl r1, r1, #2 ldr r1, [r5, r1] ldr r2, [r2, #0xc] add r0, r4, #0 bl MOD11_0225D73C str r0, [r5, #0x38] add sp, #0x14 pop {r4, r5, pc} .align 2, 0 _0221A290: .word 0x0000B4BD thumb_func_start MOD09_0221A294 MOD09_0221A294: ; 0x0221A294 push {r3, r4, lr} sub sp, #4 add r4, r0, #0 ldr r0, [r4, #0x38] bl MOD11_0225D7B8 ldr r3, _0221A2B8 ; =0x0000B4B8 mov r0, #0xc3 add r1, r3, #5 str r3, [sp] lsl r0, r0, #2 ldr r0, [r4, r0] add r2, r1, #0 bl MOD11_0225D714 add sp, #4 pop {r3, r4, pc} nop _0221A2B8: .word 0x0000B4B8 thumb_func_start MOD09_0221A2BC MOD09_0221A2BC: ; 0x0221A2BC push {r4, lr} add r4, r0, #0 ldr r0, [r4] ldr r0, [r0, #0x14] cmp r0, #1 bne _0221A2E2 lsl r3, r1, #3 ldr r1, _0221A2EC ; =0x0221BDC8 ldr r2, _0221A2F0 ; =0x0221BDCC ldr r0, [r4, #0x38] ldr r1, [r1, r3] ldr r2, [r2, r3] bl MOD11_0225D800 ldr r0, [r4, #0x38] mov r1, #0x3c bl MOD11_0225D820 pop {r4, pc} _0221A2E2: ldr r0, [r4, #0x38] bl MOD11_0225D80C pop {r4, pc} nop _0221A2EC: .word MOD9_0221BDC8 _0221A2F0: .word MOD9_0221BDCC thumb_func_start MOD09_0221A2F4 MOD09_0221A2F4: ; 0x0221A2F4 push {r3, r4, r5, lr} sub sp, #8 add r5, r0, #0 mov r0, #0x10 str r0, [sp] mov r0, #9 str r0, [sp, #4] mov r0, #0xca lsl r0, r0, #2 mov r2, #0 add r0, r5, r0 add r3, r2, #0 add r4, r1, #0 bl MOD09_0221A62C mov r0, #0x10 str r0, [sp] ldr r0, _0221A5B0 ; =0x00000448 mov r3, #9 add r0, r5, r0 add r1, r4, #0 mov r2, #0 str r3, [sp, #4] bl MOD09_0221A62C mov r0, #0x10 str r0, [sp] mov r0, #9 str r0, [sp, #4] ldr r0, _0221A5B4 ; =0x00000568 add r1, r4, #0 add r0, r5, r0 mov r2, #0 mov r3, #0x12 bl MOD09_0221A62C mov r0, #0x1a str r0, [sp] mov r0, #5 str r0, [sp, #4] ldr r0, _0221A5B8 ; =0x00000688 add r1, r4, #0 add r0, r5, r0 mov r2, #0 mov r3, #0x1b bl MOD09_0221A62C mov r0, #0x1a str r0, [sp] mov r0, #5 str r0, [sp, #4] ldr r0, _0221A5BC ; =0x0000078C add r1, r4, #0 add r0, r5, r0 mov r2, #0 mov r3, #0x20 bl MOD09_0221A62C mov r0, #0x1a str r0, [sp] mov r0, #5 str r0, [sp, #4] mov r0, #0x89 lsl r0, r0, #4 add r0, r5, r0 add r1, r4, #0 mov r2, #0 mov r3, #0x25 bl MOD09_0221A62C mov r0, #0x1a str r0, [sp] mov r0, #5 str r0, [sp, #4] ldr r0, _0221A5C0 ; =0x00000994 add r1, r4, #0 add r0, r5, r0 mov r2, #0 mov r3, #0x25 bl MOD09_0221A62C mov r0, #5 str r0, [sp] str r0, [sp, #4] ldr r0, _0221A5C4 ; =0x00000A98 add r1, r4, #0 add r0, r5, r0 mov r2, #0 mov r3, #0x39 bl MOD09_0221A62C ldr r0, _0221A5C8 ; =0x00000ACA mov r2, #5 str r2, [sp] add r0, r5, r0 add r1, r4, #0 mov r3, #0x39 str r2, [sp, #4] bl MOD09_0221A62C mov r0, #5 str r0, [sp] str r0, [sp, #4] ldr r0, _0221A5CC ; =0x00000AFC add r1, r4, #0 add r0, r5, r0 mov r2, #0xa mov r3, #0x39 bl MOD09_0221A62C mov r2, #0x10 str r2, [sp] mov r0, #6 str r0, [sp, #4] ldr r0, _0221A5D0 ; =0x00000B2E add r1, r4, #0 add r0, r5, r0 mov r3, #0 bl MOD09_0221A62C ldr r0, _0221A5D4 ; =0x00000BEE mov r2, #0x10 str r2, [sp] mov r3, #6 add r0, r5, r0 add r1, r4, #0 str r3, [sp, #4] bl MOD09_0221A62C mov r2, #0x10 str r2, [sp] mov r0, #6 str r0, [sp, #4] ldr r0, _0221A5D8 ; =0x00000CAE add r1, r4, #0 add r0, r5, r0 mov r3, #0xc bl MOD09_0221A62C mov r2, #0x10 str r2, [sp] mov r0, #6 str r0, [sp, #4] ldr r0, _0221A5DC ; =0x00000D6E add r1, r4, #0 add r0, r5, r0 mov r3, #0x12 bl MOD09_0221A62C mov r0, #5 str r0, [sp] str r0, [sp, #4] ldr r0, _0221A5E0 ; =0x00000E2E add r1, r4, #0 add r0, r5, r0 mov r2, #0 mov r3, #0x2f bl MOD09_0221A62C mov r0, #0xe6 mov r2, #5 lsl r0, r0, #4 str r2, [sp] add r0, r5, r0 add r1, r4, #0 mov r3, #0x2f str r2, [sp, #4] bl MOD09_0221A62C mov r0, #5 str r0, [sp] str r0, [sp, #4] ldr r0, _0221A5E4 ; =0x00000E92 add r1, r4, #0 add r0, r5, r0 mov r2, #0xa mov r3, #0x2f bl MOD09_0221A62C mov r0, #5 str r0, [sp] str r0, [sp, #4] ldr r0, _0221A5E8 ; =0x00000EC4 add r1, r4, #0 add r0, r5, r0 mov r2, #0xf mov r3, #0x2f bl MOD09_0221A62C mov r0, #5 str r0, [sp] str r0, [sp, #4] ldr r0, _0221A5EC ; =0x00000EF6 add r1, r4, #0 add r0, r5, r0 mov r2, #0 mov r3, #0x34 bl MOD09_0221A62C ldr r0, _0221A5F0 ; =0x00000F28 mov r2, #5 str r2, [sp] add r0, r5, r0 add r1, r4, #0 mov r3, #0x34 str r2, [sp, #4] bl MOD09_0221A62C mov r0, #5 str r0, [sp] str r0, [sp, #4] ldr r0, _0221A5F4 ; =0x00000F5A add r1, r4, #0 add r0, r5, r0 mov r2, #0xa mov r3, #0x34 bl MOD09_0221A62C mov r0, #5 str r0, [sp] str r0, [sp, #4] ldr r0, _0221A5F8 ; =0x00000F8C add r1, r4, #0 add r0, r5, r0 mov r2, #0xf mov r3, #0x34 bl MOD09_0221A62C mov r0, #4 str r0, [sp] str r0, [sp, #4] ldr r0, _0221A5FC ; =0x00000FBE add r1, r4, #0 add r0, r5, r0 mov r2, #0x14 mov r3, #0x2f bl MOD09_0221A62C mov r0, #4 str r0, [sp] str r0, [sp, #4] ldr r0, _0221A600 ; =0x00000FDE add r1, r4, #0 add r0, r5, r0 mov r2, #0x18 mov r3, #0x2f bl MOD09_0221A62C mov r0, #4 str r0, [sp] str r0, [sp, #4] ldr r0, _0221A604 ; =0x00000FFE add r1, r4, #0 add r0, r5, r0 mov r2, #0x1c mov r3, #0x2f bl MOD09_0221A62C mov r0, #4 str r0, [sp] str r0, [sp, #4] ldr r0, _0221A608 ; =0x0000101E add r1, r4, #0 add r0, r5, r0 mov r2, #0x14 mov r3, #0x33 bl MOD09_0221A62C mov r0, #4 str r0, [sp] str r0, [sp, #4] ldr r0, _0221A60C ; =0x0000103E add r1, r4, #0 add r0, r5, r0 mov r2, #0x18 mov r3, #0x33 bl MOD09_0221A62C mov r0, #4 str r0, [sp] str r0, [sp, #4] ldr r0, _0221A610 ; =0x0000105E add r1, r4, #0 add r0, r5, r0 mov r2, #0x1c mov r3, #0x33 bl MOD09_0221A62C mov r0, #4 str r0, [sp] str r0, [sp, #4] ldr r0, _0221A614 ; =0x0000107E add r1, r4, #0 add r0, r5, r0 mov r2, #0x14 mov r3, #0x37 bl MOD09_0221A62C mov r0, #4 str r0, [sp] str r0, [sp, #4] ldr r0, _0221A618 ; =0x0000109E add r1, r4, #0 add r0, r5, r0 mov r2, #0x18 mov r3, #0x37 bl MOD09_0221A62C mov r0, #4 str r0, [sp] str r0, [sp, #4] ldr r0, _0221A61C ; =0x000010BE add r1, r4, #0 add r0, r5, r0 mov r2, #0x1c mov r3, #0x37 bl MOD09_0221A62C mov r0, #4 str r0, [sp] str r0, [sp, #4] ldr r0, _0221A620 ; =0x000010DE add r1, r4, #0 add r0, r5, r0 mov r2, #0x14 mov r3, #0x3b bl MOD09_0221A62C mov r0, #4 str r0, [sp] str r0, [sp, #4] ldr r0, _0221A624 ; =0x000010FE add r1, r4, #0 add r0, r5, r0 mov r2, #0x18 mov r3, #0x3b bl MOD09_0221A62C mov r0, #4 str r0, [sp] str r0, [sp, #4] ldr r0, _0221A628 ; =0x0000111E add r1, r4, #0 add r0, r5, r0 mov r2, #0x1c mov r3, #0x3b bl MOD09_0221A62C add sp, #8 pop {r3, r4, r5, pc} .align 2, 0 _0221A5B0: .word 0x00000448 _0221A5B4: .word 0x00000568 _0221A5B8: .word 0x00000688 _0221A5BC: .word 0x0000078C _0221A5C0: .word 0x00000994 _0221A5C4: .word 0x00000A98 _0221A5C8: .word 0x00000ACA _0221A5CC: .word 0x00000AFC _0221A5D0: .word 0x00000B2E _0221A5D4: .word 0x00000BEE _0221A5D8: .word 0x00000CAE _0221A5DC: .word 0x00000D6E _0221A5E0: .word 0x00000E2E _0221A5E4: .word 0x00000E92 _0221A5E8: .word 0x00000EC4 _0221A5EC: .word 0x00000EF6 _0221A5F0: .word 0x00000F28 _0221A5F4: .word 0x00000F5A _0221A5F8: .word 0x00000F8C _0221A5FC: .word 0x00000FBE _0221A600: .word 0x00000FDE _0221A604: .word 0x00000FFE _0221A608: .word 0x0000101E _0221A60C: .word 0x0000103E _0221A610: .word 0x0000105E _0221A614: .word 0x0000107E _0221A618: .word 0x0000109E _0221A61C: .word 0x000010BE _0221A620: .word 0x000010DE _0221A624: .word 0x000010FE _0221A628: .word 0x0000111E thumb_func_start MOD09_0221A62C MOD09_0221A62C: ; 0x0221A62C push {r3, r4, r5, r6, r7, lr} str r0, [sp] add r0, sp, #8 mov lr, r3 ldrb r3, [r0, #0x14] mov r6, #0 mov ip, r3 cmp r3, #0 ble _0221A678 ldrb r3, [r0, #0x10] lsl r2, r2, #1 add r7, r1, r2 _0221A644: mov r2, #0 cmp r3, #0 ble _0221A66C mov r0, lr add r0, r0, r6 lsl r0, r0, #6 add r5, r7, r0 add r0, r6, #0 mul r0, r3 lsl r1, r0, #1 ldr r0, [sp] add r4, r0, r1 _0221A65C: lsl r1, r2, #1 ldrh r0, [r5, r1] strh r0, [r4, r1] add r0, r2, #1 lsl r0, r0, #0x10 lsr r2, r0, #0x10 cmp r2, r3 blt _0221A65C _0221A66C: add r0, r6, #1 lsl r0, r0, #0x10 lsr r6, r0, #0x10 mov r0, ip cmp r6, r0 blt _0221A644 _0221A678: pop {r3, r4, r5, r6, r7, pc} .align 2, 0 thumb_func_start MOD09_0221A67C MOD09_0221A67C: ; 0x0221A67C cmp r1, #0x10 bhi _0221A70A add r1, r1, r1 add r1, pc ldrh r1, [r1, #6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _0221A68C: ; jump table .short _0221A6AE - _0221A68C - 2 ; case 0 .short _0221A6AE - _0221A68C - 2 ; case 1 .short _0221A6AE - _0221A68C - 2 ; case 2 .short _0221A6AE - _0221A68C - 2 ; case 3 .short _0221A6BE - _0221A68C - 2 ; case 4 .short _0221A6CC - _0221A68C - 2 ; case 5 .short _0221A6D8 - _0221A68C - 2 ; case 6 .short _0221A6D8 - _0221A68C - 2 ; case 7 .short _0221A6D8 - _0221A68C - 2 ; case 8 .short _0221A6D8 - _0221A68C - 2 ; case 9 .short _0221A6D8 - _0221A68C - 2 ; case 10 .short _0221A6D8 - _0221A68C - 2 ; case 11 .short _0221A6E4 - _0221A68C - 2 ; case 12 .short _0221A6F0 - _0221A68C - 2 ; case 13 .short _0221A6CC - _0221A68C - 2 ; case 14 .short _0221A6FC - _0221A68C - 2 ; case 15 .short _0221A6CC - _0221A68C - 2 ; case 16 _0221A6AE: mov r1, #0xca lsl r1, r1, #2 add r1, r0, r1 mov r0, #0x12 lsl r0, r0, #4 mul r0, r2 add r0, r1, r0 bx lr _0221A6BE: ldr r1, _0221A710 ; =0x00000688 add r1, r0, r1 lsl r0, r2, #6 add r0, r2, r0 lsl r0, r0, #2 add r0, r1, r0 bx lr _0221A6CC: ldr r1, _0221A714 ; =0x00000A98 add r1, r0, r1 mov r0, #0x32 mul r0, r2 add r0, r1, r0 bx lr _0221A6D8: ldr r1, _0221A718 ; =0x00000B2E add r1, r0, r1 mov r0, #0xc0 mul r0, r2 add r0, r1, r0 bx lr _0221A6E4: ldr r1, _0221A71C ; =0x00000E2E add r1, r0, r1 mov r0, #0x32 mul r0, r2 add r0, r1, r0 bx lr _0221A6F0: ldr r1, _0221A720 ; =0x00000EF6 add r1, r0, r1 mov r0, #0x32 mul r0, r2 add r0, r1, r0 bx lr _0221A6FC: ldr r1, _0221A710 ; =0x00000688 add r1, r0, r1 lsl r0, r2, #6 add r0, r2, r0 lsl r0, r0, #2 add r0, r1, r0 bx lr _0221A70A: mov r0, #0 bx lr nop _0221A710: .word 0x00000688 _0221A714: .word 0x00000A98 _0221A718: .word 0x00000B2E _0221A71C: .word 0x00000E2E _0221A720: .word 0x00000EF6 thumb_func_start MOD09_0221A724 MOD09_0221A724: ; 0x0221A724 cmp r2, #3 bne _0221A72C mov r0, #5 bx lr _0221A72C: cmp r1, #0x10 bhi _0221A78A add r1, r1, r1 add r1, pc ldrh r1, [r1, #6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _0221A73C: ; jump table .short _0221A75E - _0221A73C - 2 ; case 0 .short _0221A75E - _0221A73C - 2 ; case 1 .short _0221A75E - _0221A73C - 2 ; case 2 .short _0221A75E - _0221A73C - 2 ; case 3 .short _0221A762 - _0221A73C - 2 ; case 4 .short _0221A766 - _0221A73C - 2 ; case 5 .short _0221A76A - _0221A73C - 2 ; case 6 .short _0221A76A - _0221A73C - 2 ; case 7 .short _0221A76A - _0221A73C - 2 ; case 8 .short _0221A76A - _0221A73C - 2 ; case 9 .short _0221A76A - _0221A73C - 2 ; case 10 .short _0221A76A - _0221A73C - 2 ; case 11 .short _0221A766 - _0221A73C - 2 ; case 12 .short _0221A766 - _0221A73C - 2 ; case 13 .short _0221A766 - _0221A73C - 2 ; case 14 .short _0221A776 - _0221A73C - 2 ; case 15 .short _0221A766 - _0221A73C - 2 ; case 16 _0221A75E: mov r0, #0 bx lr _0221A762: mov r0, #3 bx lr _0221A766: mov r0, #2 bx lr _0221A76A: ldr r1, _0221A790 ; =0x0000114D ldrb r0, [r0, r1] add r0, #8 lsl r0, r0, #0x10 lsr r0, r0, #0x10 bx lr _0221A776: cmp r3, #2 bne _0221A786 ldr r1, _0221A790 ; =0x0000114D ldrb r0, [r0, r1] add r0, #8 lsl r0, r0, #0x10 lsr r0, r0, #0x10 bx lr _0221A786: mov r0, #1 bx lr _0221A78A: mov r0, #0 bx lr nop _0221A790: .word 0x0000114D thumb_func_start MOD09_0221A794 MOD09_0221A794: ; 0x0221A794 push {r4, r5, r6, r7} cmp r2, #0 bne _0221A7A4 ldr r2, _0221A7F8 ; =0x00000FBE add r2, r0, r2 lsl r0, r3, #5 add r0, r2, r0 b _0221A7CC _0221A7A4: cmp r2, #1 bne _0221A7B2 ldr r2, _0221A7FC ; =0x0000101E add r2, r0, r2 lsl r0, r3, #5 add r0, r2, r0 b _0221A7CC _0221A7B2: cmp r2, #2 bne _0221A7C0 ldr r2, _0221A800 ; =0x0000107E add r2, r0, r2 lsl r0, r3, #5 add r0, r2, r0 b _0221A7CC _0221A7C0: cmp r2, #3 bne _0221A7F4 ldr r2, _0221A804 ; =0x000010DE add r2, r0, r2 lsl r0, r3, #5 add r0, r2, r0 _0221A7CC: mov r2, #0 _0221A7CE: lsl r4, r2, #3 lsl r5, r2, #5 mov r3, #0 add r4, r0, r4 add r5, r1, r5 _0221A7D8: lsl r6, r3, #1 ldrh r7, [r4, r6] add r3, r3, #1 lsl r3, r3, #0x10 add r6, r5, r6 lsr r3, r3, #0x10 strh r7, [r6, #0xc] cmp r3, #4 blo _0221A7D8 add r2, r2, #1 lsl r2, r2, #0x10 lsr r2, r2, #0x10 cmp r2, #4 blo _0221A7CE _0221A7F4: pop {r4, r5, r6, r7} bx lr .align 2, 0 _0221A7F8: .word 0x00000FBE _0221A7FC: .word 0x0000101E _0221A800: .word 0x0000107E _0221A804: .word 0x000010DE thumb_func_start MOD09_0221A808 MOD09_0221A808: ; 0x0221A808 push {r4, r5, r6, r7, lr} sub sp, #0xc str r2, [sp, #4] str r3, [sp, #8] add r5, r1, #0 ldr r1, [sp, #4] ldr r2, [sp, #8] str r0, [sp] bl MOD09_0221A67C add r3, sp, #0x10 add r4, r0, #0 ldrb r3, [r3, #0x10] ldr r0, [sp] ldr r1, [sp, #4] ldr r2, [sp, #8] bl MOD09_0221A724 lsl r0, r0, #0x1c lsr r2, r0, #0x10 ldr r0, [sp, #4] ldr r6, _0221A874 ; =0x0221BF4B lsl r3, r0, #2 ldr r0, _0221A878 ; =0x0221BF4A ldrb r6, [r6, r3] ldrb r0, [r0, r3] mov r1, #0 mul r6, r0 cmp r6, #0 ble _0221A864 ldr r0, _0221A87C ; =0x0221BF48 ldr r7, _0221A880 ; =0x00000FFF add r3, r0, r3 _0221A84A: lsl r0, r1, #1 ldrh r6, [r4, r0] and r6, r7 orr r6, r2 strh r6, [r5, r0] add r0, r1, #1 lsl r0, r0, #0x10 lsr r1, r0, #0x10 ldrb r6, [r3, #2] ldrb r0, [r3, #3] mul r0, r6 cmp r1, r0 blt _0221A84A _0221A864: ldr r0, [sp] ldr r2, [sp, #4] ldr r3, [sp, #8] add r1, r5, #0 bl MOD09_0221A794 add sp, #0xc pop {r4, r5, r6, r7, pc} .align 2, 0 _0221A874: .word MOD9_0221BF4B _0221A878: .word MOD9_0221BF4A _0221A87C: .word MOD9_0221BF48 _0221A880: .word 0x00000FFF thumb_func_start MOD09_0221A884 MOD09_0221A884: ; 0x0221A884 push {r4, r5, r6, r7, lr} sub sp, #0x1c str r1, [sp, #0xc] str r2, [sp, #0x10] str r3, [sp, #0x14] add r5, r0, #0 ldr r0, [sp, #0xc] lsl r4, r0, #2 ldr r0, _0221A8E8 ; =0x0221BF4B ldrb r7, [r0, r4] ldr r0, _0221A8EC ; =0x0221BF4A ldrb r6, [r0, r4] ldr r0, [r5] add r1, r6, #0 mul r1, r7 ldr r0, [r0, #0xc] lsl r1, r1, #1 bl AllocFromHeap str r0, [sp, #0x18] ldr r0, [sp, #0x14] ldr r1, [sp, #0x18] str r0, [sp] ldr r2, [sp, #0xc] ldr r3, [sp, #0x10] add r0, r5, #0 bl MOD09_0221A808 ldr r0, _0221A8F0 ; =0x0221BF49 ldr r3, _0221A8F4 ; =0x0221BF48 ldrb r0, [r0, r4] ldrb r3, [r3, r4] ldr r2, [sp, #0x18] str r0, [sp] str r6, [sp, #4] str r7, [sp, #8] ldr r0, [r5, #4] mov r1, #6 bl LoadRectToBgTilemapRect ldr r0, [r5, #4] mov r1, #6 bl ScheduleBgTilemapBufferTransfer ldr r0, [sp, #0x18] bl FreeToHeap add sp, #0x1c pop {r4, r5, r6, r7, pc} nop _0221A8E8: .word MOD9_0221BF4B _0221A8EC: .word MOD9_0221BF4A _0221A8F0: .word MOD9_0221BF49 _0221A8F4: .word MOD9_0221BF48 thumb_func_start MOD09_0221A8F8 MOD09_0221A8F8: ; 0x0221A8F8 push {r3, r4, r5, r6, r7, lr} add r6, r0, #0 cmp r1, #6 blo _0221A916 cmp r1, #0xb bhi _0221A916 add r0, #0x31 ldrb r0, [r0] cmp r0, #0 bne _0221A916 add r1, #0xb ldr r0, _0221A96C ; =0x0221BF8C lsl r1, r1, #2 ldr r4, [r0, r1] b _0221A91C _0221A916: ldr r0, _0221A96C ; =0x0221BF8C lsl r1, r1, #2 ldr r4, [r0, r1] _0221A91C: cmp r4, #0 beq _0221A968 cmp r2, #0 beq _0221A92C cmp r2, #1 beq _0221A934 cmp r2, #2 bne _0221A93A _0221A92C: mov r0, #1 str r0, [sp] mov r7, #2 b _0221A93A _0221A934: mov r0, #0 str r0, [sp] mov r7, #4 _0221A93A: mov r5, #0 _0221A93C: ldrb r0, [r4, r5] cmp r0, #0xff beq _0221A968 ldr r1, [r6, #0x2c] lsl r0, r0, #4 add r0, r1, r0 ldr r1, [sp] add r2, r7, #0 mov r3, #0 bl ScrollWindow ldrb r0, [r4, r5] ldr r1, [r6, #0x2c] lsl r0, r0, #4 add r0, r1, r0 bl ScheduleWindowCopyToVram add r0, r5, #1 lsl r0, r0, #0x10 lsr r5, r0, #0x10 cmp r5, #8 blo _0221A93C _0221A968: pop {r3, r4, r5, r6, r7, pc} nop _0221A96C: .word MOD9_0221BF8C thumb_func_start MOD09_0221A970 MOD09_0221A970: ; 0x0221A970 push {r3, r4, r5, r6, r7, lr} add r5, r0, #0 str r2, [sp] cmp r1, #6 blo _0221A98C cmp r1, #0xb bhi _0221A98C sub r0, r1, #6 lsl r0, r0, #2 add r1, r5, r0 mov r0, #0x31 lsl r0, r0, #4 ldr r6, [r1, r0] b _0221A9B0 _0221A98C: cmp r1, #4 bne _0221A9D4 mov r7, #0x31 mov r4, #0 lsl r7, r7, #4 _0221A996: lsl r0, r4, #2 add r0, r5, r0 ldr r6, [r0, r7] add r0, r6, #0 bl FUN_0200C658 cmp r0, #0 bne _0221A9B0 add r0, r4, #1 lsl r0, r0, #0x18 lsr r4, r0, #0x18 cmp r4, #6 blo _0221A996 _0221A9B0: ldr r0, [sp] cmp r0, #0 beq _0221A9BE cmp r0, #1 beq _0221A9CA cmp r0, #2 bne _0221A9D4 _0221A9BE: add r0, r6, #0 mov r1, #0 mov r2, #2 bl FUN_0200C82C pop {r3, r4, r5, r6, r7, pc} _0221A9CA: mov r1, #0 add r0, r6, #0 sub r2, r1, #4 bl FUN_0200C82C _0221A9D4: pop {r3, r4, r5, r6, r7, pc} .align 2, 0 thumb_func_start MOD09_0221A9D8 MOD09_0221A9D8: ; 0x0221A9D8 push {r4, r5} ldr r3, _0221AA10 ; =0x0000113E mov r5, #0 strb r5, [r0, r3] add r4, r3, #1 strb r5, [r0, r4] add r4, r3, #2 strb r1, [r0, r4] add r1, r3, #3 ldrb r4, [r0, r1] mov r1, #0xf0 bic r4, r1 lsl r1, r2, #0x1c lsr r1, r1, #0x18 add r2, r4, #0 orr r2, r1 add r1, r3, #3 strb r2, [r0, r1] ldrb r2, [r0, r1] mov r1, #0xf bic r2, r1 mov r1, #1 orr r2, r1 add r1, r3, #3 strb r2, [r0, r1] pop {r4, r5} bx lr nop _0221AA10: .word 0x0000113E thumb_func_start MOD09_0221AA14 MOD09_0221AA14: ; 0x0221AA14 push {r4, lr} ldr r3, _0221AAE8 ; =0x00001141 add r4, r0, #0 ldrb r1, [r4, r3] lsl r1, r1, #0x1c lsr r1, r1, #0x1c beq _0221AAE4 sub r1, r3, #3 ldrb r1, [r4, r1] cmp r1, #0 beq _0221AA34 cmp r1, #1 beq _0221AA6C cmp r1, #2 beq _0221AAA4 pop {r4, pc} _0221AA34: sub r1, r3, #1 add r3, #0xb ldrb r1, [r4, r1] ldrb r3, [r4, r3] mov r2, #1 bl MOD09_0221A884 mov r1, #0x45 lsl r1, r1, #6 ldrb r1, [r4, r1] add r0, r4, #0 mov r2, #1 bl MOD09_0221A8F8 mov r1, #0x45 lsl r1, r1, #6 ldrb r1, [r4, r1] add r0, r4, #0 mov r2, #1 bl MOD09_0221A970 ldr r0, _0221AAEC ; =0x0000113F mov r1, #0 strb r1, [r4, r0] mov r1, #1 sub r0, r0, #1 strb r1, [r4, r0] pop {r4, pc} _0221AA6C: sub r1, r3, #1 add r3, #0xb ldrb r1, [r4, r1] ldrb r3, [r4, r3] mov r2, #2 bl MOD09_0221A884 mov r1, #0x45 lsl r1, r1, #6 ldrb r1, [r4, r1] add r0, r4, #0 mov r2, #2 bl MOD09_0221A8F8 mov r1, #0x45 lsl r1, r1, #6 ldrb r1, [r4, r1] add r0, r4, #0 mov r2, #2 bl MOD09_0221A970 ldr r0, _0221AAEC ; =0x0000113F mov r1, #0 strb r1, [r4, r0] mov r1, #2 sub r0, r0, #1 strb r1, [r4, r0] pop {r4, pc} _0221AAA4: sub r1, r3, #1 add r3, #0xb ldrb r1, [r4, r1] ldrb r3, [r4, r3] mov r2, #0 bl MOD09_0221A884 mov r1, #0x45 lsl r1, r1, #6 ldrb r1, [r4, r1] add r0, r4, #0 mov r2, #0 bl MOD09_0221A8F8 mov r1, #0x45 lsl r1, r1, #6 ldrb r1, [r4, r1] add r0, r4, #0 mov r2, #0 bl MOD09_0221A970 ldr r0, _0221AAEC ; =0x0000113F mov r2, #0 strb r2, [r4, r0] sub r1, r0, #1 strb r2, [r4, r1] add r1, r0, #2 ldrb r2, [r4, r1] mov r1, #0xf add r0, r0, #2 bic r2, r1 strb r2, [r4, r0] _0221AAE4: pop {r4, pc} nop _0221AAE8: .word 0x00001141 _0221AAEC: .word 0x0000113F thumb_func_start MOD09_0221AAF0 MOD09_0221AAF0: ; 0x0221AAF0 push {r3, r4, r5, r6, r7, lr} add r5, r0, #0 add r6, r1, #0 beq _0221AB02 cmp r6, #1 beq _0221AB60 cmp r6, #2 beq _0221ABE6 pop {r3, r4, r5, r6, r7, pc} _0221AB02: mov r1, #0 add r2, r1, #0 add r3, r6, #0 bl MOD09_0221A884 add r0, r5, #0 mov r1, #1 mov r2, #0 add r3, r6, #0 bl MOD09_0221A884 add r0, r5, #0 mov r1, #2 mov r2, #0 add r3, r6, #0 bl MOD09_0221A884 add r0, r5, #0 mov r1, #3 mov r2, #0 add r3, r6, #0 bl MOD09_0221A884 ldr r0, [r5] ldrh r0, [r0, #0x20] cmp r0, #0 bne _0221AB46 add r0, r5, #0 mov r1, #4 mov r2, #3 add r3, r6, #0 bl MOD09_0221A884 b _0221AB52 _0221AB46: add r0, r5, #0 mov r1, #4 mov r2, #0 add r3, r6, #0 bl MOD09_0221A884 _0221AB52: add r0, r5, #0 mov r1, #5 mov r2, #0 add r3, r6, #0 bl MOD09_0221A884 pop {r3, r4, r5, r6, r7, pc} _0221AB60: mov r4, #0 mov r7, #3 _0221AB64: add r0, r5, #0 add r1, r4, #0 bl MOD09_02219D94 cmp r0, #0 bne _0221AB82 add r1, r4, #6 lsl r1, r1, #0x18 add r0, r5, #0 lsr r1, r1, #0x18 add r2, r7, #0 add r3, r6, #0 bl MOD09_0221A884 b _0221AB92 _0221AB82: add r1, r4, #6 lsl r1, r1, #0x18 add r0, r5, #0 lsr r1, r1, #0x18 mov r2, #0 add r3, r6, #0 bl MOD09_0221A884 _0221AB92: add r4, r4, #1 cmp r4, #6 blo _0221AB64 ldr r0, _0221AC00 ; =0x0000114D ldrb r1, [r5, r0] add r0, r0, #7 add r1, r5, r1 ldrb r0, [r1, r0] cmp r0, #0 bne _0221ABC0 add r0, r5, #0 mov r1, #0xc mov r2, #3 add r3, r6, #0 bl MOD09_0221A884 add r0, r5, #0 mov r1, #0xd mov r2, #3 add r3, r6, #0 bl MOD09_0221A884 b _0221ABD8 _0221ABC0: add r0, r5, #0 mov r1, #0xc mov r2, #0 add r3, r6, #0 bl MOD09_0221A884 add r0, r5, #0 mov r1, #0xd mov r2, #0 add r3, r6, #0 bl MOD09_0221A884 _0221ABD8: add r0, r5, #0 mov r1, #0xe mov r2, #0 add r3, r6, #0 bl MOD09_0221A884 pop {r3, r4, r5, r6, r7, pc} _0221ABE6: mov r1, #0xf mov r2, #0 add r3, r6, #0 bl MOD09_0221A884 add r0, r5, #0 mov r1, #0x10 mov r2, #0 add r3, r6, #0 bl MOD09_0221A884 pop {r3, r4, r5, r6, r7, pc} nop _0221AC00: .word 0x0000114D thumb_func_start MOD09_0221AC04 MOD09_0221AC04: ; 0x0221AC04 push {r3, lr} mov r1, #0x10 bl AllocFromHeap add r3, r0, #0 mov r2, #0x10 mov r1, #0 _0221AC12: strb r1, [r3] add r3, r3, #1 sub r2, r2, #1 bne _0221AC12 pop {r3, pc} thumb_func_start MOD09_0221AC1C MOD09_0221AC1C: ; 0x0221AC1C ldr r3, _0221AC20 ; =FreeToHeap bx r3 .align 2, 0 _0221AC20: .word FreeToHeap thumb_func_start MOD09_0221AC24 MOD09_0221AC24: ; 0x0221AC24 ldr r0, [r0] bx lr thumb_func_start MOD09_0221AC28 MOD09_0221AC28: ; 0x0221AC28 ldrb r0, [r0, #8] bx lr thumb_func_start MOD09_0221AC2C MOD09_0221AC2C: ; 0x0221AC2C strb r1, [r0, #8] bx lr thumb_func_start MOD09_0221AC30 MOD09_0221AC30: ; 0x0221AC30 str r1, [r0] bx lr thumb_func_start MOD09_0221AC34 MOD09_0221AC34: ; 0x0221AC34 push {r3, r4, lr} sub sp, #4 strb r1, [r0, #9] ldrb r1, [r0, #8] cmp r1, #1 bne _0221AC58 ldrb r1, [r0, #9] ldr r2, [r0, #4] lsl r4, r1, #3 add r3, r2, r4 ldrb r1, [r3, #3] str r1, [sp] ldrb r1, [r2, r4] ldrb r2, [r3, #2] ldrb r3, [r3, #1] ldr r0, [r0] bl MOD11_0225D5DC _0221AC58: add sp, #4 pop {r3, r4, pc} thumb_func_start MOD09_0221AC5C MOD09_0221AC5C: ; 0x0221AC5C mov r1, #0 strb r1, [r0, #9] mov r1, #0xff strb r1, [r0, #0xa] bx lr .align 2, 0 thumb_func_start MOD09_0221AC68 MOD09_0221AC68: ; 0x0221AC68 push {r3, r4, r5, lr} add r4, r0, #0 add r5, r1, #0 bl MOD09_0221AC5C mov r0, #0 str r5, [r4, #4] mvn r0, r0 str r0, [r4, #0xc] ldrb r0, [r4, #8] cmp r0, #1 bne _0221AC92 ldr r3, [r4, #4] ldrb r0, [r3, #3] str r0, [sp] ldrb r1, [r3] ldrb r2, [r3, #2] ldrb r3, [r3, #1] ldr r0, [r4] bl MOD11_0225D5DC _0221AC92: pop {r3, r4, r5, pc} thumb_func_start MOD09_0221AC94 MOD09_0221AC94: ; 0x0221AC94 str r1, [r0, #0xc] bx lr thumb_func_start MOD09_0221AC98 MOD09_0221AC98: ; 0x0221AC98 push {r3, r4, lr} sub sp, #4 ldrb r1, [r0, #8] cmp r1, #1 bne _0221ACA8 add sp, #4 mov r0, #1 pop {r3, r4, pc} _0221ACA8: ldr r1, _0221ACDC ; =gMain ldr r2, [r1, #0x48] mov r1, #0xf3 tst r1, r2 beq _0221ACD4 mov r1, #1 strb r1, [r0, #8] ldrb r1, [r0, #9] ldr r2, [r0, #4] lsl r4, r1, #3 add r3, r2, r4 ldrb r1, [r3, #3] str r1, [sp] ldrb r1, [r2, r4] ldrb r2, [r3, #2] ldrb r3, [r3, #1] ldr r0, [r0] bl MOD11_0225D5DC ldr r0, _0221ACE0 ; =0x000005DC bl PlaySE _0221ACD4: mov r0, #0 add sp, #4 pop {r3, r4, pc} nop _0221ACDC: .word gMain _0221ACE0: .word 0x000005DC thumb_func_start MOD09_0221ACE4 MOD09_0221ACE4: ; 0x0221ACE4 cmp r1, #3 bhi _0221AD2C add r1, r1, r1 add r1, pc ldrh r1, [r1, #6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _0221ACF4: ; jump table .short _0221ACFC - _0221ACF4 - 2 ; case 0 .short _0221AD08 - _0221ACF4 - 2 ; case 1 .short _0221AD14 - _0221ACF4 - 2 ; case 2 .short _0221AD20 - _0221ACF4 - 2 ; case 3 _0221ACFC: ldrb r1, [r0, #5] mov r0, #0x80 tst r0, r1 beq _0221AD2C mov r0, #1 bx lr _0221AD08: ldrb r1, [r0, #4] mov r0, #0x80 tst r0, r1 beq _0221AD2C mov r0, #1 bx lr _0221AD14: ldrb r1, [r0, #7] mov r0, #0x80 tst r0, r1 beq _0221AD2C mov r0, #1 bx lr _0221AD20: ldrb r1, [r0, #6] mov r0, #0x80 tst r0, r1 beq _0221AD2C mov r0, #1 bx lr _0221AD2C: mov r0, #0 bx lr thumb_func_start MOD09_0221AD30 MOD09_0221AD30: ; 0x0221AD30 push {r4, r5, r6, r7, lr} sub sp, #0x14 add r5, r0, #0 bl MOD09_0221AC98 cmp r0, #0 bne _0221AD46 mov r0, #0 add sp, #0x14 mvn r0, r0 pop {r4, r5, r6, r7, pc} _0221AD46: ldr r0, _0221AEBC ; =gMain mov r1, #0x40 ldr r0, [r0, #0x48] tst r1, r0 beq _0221AD6A mov r1, #0 str r1, [sp] ldrb r0, [r5, #9] add r2, r1, #0 add r3, r1, #0 str r0, [sp, #4] str r1, [sp, #8] ldr r0, [r5, #4] bl FUN_0201C638 add r4, r0, #0 mov r6, #0 b _0221ADD2 _0221AD6A: mov r1, #0x80 tst r1, r0 beq _0221AD8C mov r1, #0 str r1, [sp] ldrb r0, [r5, #9] add r2, r1, #0 add r3, r1, #0 str r0, [sp, #4] mov r0, #1 str r0, [sp, #8] ldr r0, [r5, #4] bl FUN_0201C638 add r4, r0, #0 mov r6, #1 b _0221ADD2 _0221AD8C: mov r1, #0x20 tst r1, r0 beq _0221ADAE mov r1, #0 str r1, [sp] ldrb r0, [r5, #9] add r2, r1, #0 add r3, r1, #0 str r0, [sp, #4] mov r0, #2 str r0, [sp, #8] ldr r0, [r5, #4] bl FUN_0201C638 add r4, r0, #0 mov r6, #2 b _0221ADD2 _0221ADAE: mov r1, #0x10 tst r0, r1 beq _0221ADD0 mov r1, #0 str r1, [sp] ldrb r0, [r5, #9] add r2, r1, #0 add r3, r1, #0 str r0, [sp, #4] mov r0, #3 str r0, [sp, #8] ldr r0, [r5, #4] bl FUN_0201C638 add r4, r0, #0 mov r6, #3 b _0221ADD2 _0221ADD0: mov r4, #0xff _0221ADD2: cmp r4, #0xff beq _0221AE92 mov r0, #1 str r0, [sp, #0xc] mov r0, #0x80 add r1, r4, #0 tst r1, r0 beq _0221ADF2 ldrb r1, [r5, #0xa] cmp r1, #0xff beq _0221ADEC add r4, r1, #0 b _0221ADF2 _0221ADEC: eor r0, r4 lsl r0, r0, #0x18 lsr r4, r0, #0x18 _0221ADF2: mov r7, #0 _0221ADF4: mov r0, #1 ldr r1, [r5, #0xc] lsl r0, r4 tst r0, r1 bne _0221AE2C str r7, [sp, #0xc] str r7, [sp] str r4, [sp, #4] str r6, [sp, #8] ldr r0, [r5, #4] add r1, r7, #0 add r2, r7, #0 add r3, r7, #0 bl FUN_0201C638 mov r1, #0x7f and r0, r1 lsl r0, r0, #0x18 lsr r1, r0, #0x18 cmp r1, r4 beq _0221AE24 ldrb r0, [r5, #9] cmp r1, r0 bne _0221AE28 _0221AE24: ldrb r4, [r5, #9] b _0221AE2C _0221AE28: add r4, r1, #0 b _0221ADF4 _0221AE2C: ldrb r0, [r5, #9] cmp r0, r4 beq _0221AE8A ldr r0, [r5, #4] lsl r7, r4, #3 add r1, sp, #0x10 add r2, sp, #0x10 add r0, r0, r7 add r1, #3 add r2, #2 bl FUN_0201C620 ldr r0, [r5, #4] add r1, sp, #0x10 add r0, r0, r7 add r1, #1 add r2, sp, #0x10 bl FUN_0201C62C ldr r0, [r5, #4] add r1, r6, #0 add r0, r0, r7 bl MOD09_0221ACE4 cmp r0, #1 bne _0221AE6C ldr r0, [sp, #0xc] cmp r0, #0 beq _0221AE6C ldrb r0, [r5, #9] strb r0, [r5, #0xa] b _0221AE70 _0221AE6C: mov r0, #0xff strb r0, [r5, #0xa] _0221AE70: strb r4, [r5, #9] add r3, sp, #0x10 ldrb r0, [r3] str r0, [sp] ldrb r1, [r3, #3] ldrb r2, [r3, #1] ldrb r3, [r3, #2] ldr r0, [r5] bl MOD11_0225D5DC ldr r0, _0221AEC0 ; =0x000005DC bl PlaySE _0221AE8A: mov r0, #0 add sp, #0x14 mvn r0, r0 pop {r4, r5, r6, r7, pc} _0221AE92: ldr r0, _0221AEBC ; =gMain ldr r1, [r0, #0x48] mov r0, #1 tst r0, r1 beq _0221AEA2 add sp, #0x14 ldrb r0, [r5, #9] pop {r4, r5, r6, r7, pc} _0221AEA2: mov r0, #2 tst r1, r0 beq _0221AEB6 ldr r0, _0221AEC4 ; =0x000005DD bl PlaySE mov r0, #1 add sp, #0x14 mvn r0, r0 pop {r4, r5, r6, r7, pc} _0221AEB6: sub r0, r0, #3 add sp, #0x14 pop {r4, r5, r6, r7, pc} .align 2, 0 _0221AEBC: .word gMain _0221AEC0: .word 0x000005DC _0221AEC4: .word 0x000005DD .rodata .global MOD9_0221AEC8 MOD9_0221AEC8: ; 0x0221AEC8 .byte 0x00, 0x02, 0x04, 0x01, 0x03, 0x05, 0x00, 0x00 .global MOD9_0221AED0 MOD9_0221AED0: ; 0x0221AED0 .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .global MOD9_0221AEE0 MOD9_0221AEE0: ; 0x0221AEE0 .byte 0x98, 0xBF, 0x00, 0xCF, 0x00, 0x27, 0xB8, 0xFF, 0x98, 0xBF, 0xD8, 0xFF, 0xFF, 0x00, 0x00, 0x00 .global MOD9_0221AEF0 MOD9_0221AEF0: ; 0x0221AEF0 .byte 0x08, 0x8F, 0x08, 0xF7, 0x98, 0xBF, 0x00, 0x67, 0x98, 0xBF, 0x68, 0xCF, 0x98, 0xBF, 0xD8, 0xFF .byte 0xFF, 0x00, 0x00, 0x00 .global MOD9_0221AF04 MOD9_0221AF04: ; 0x0221AF04 .byte 0x98, 0xBF, 0x00, 0x27, 0x98, 0xBF, 0x28, 0x4F, 0x98, 0xBF, 0x60, 0xC7, 0x98, 0xBF, 0xD8, 0xFF .byte 0xFF, 0x00, 0x00, 0x00 .global MOD9_0221AF18 MOD9_0221AF18: ; 0x0221AF18 .byte 0x98, 0xA7, 0x58, 0x7F, 0x98, 0xA7, 0x80, 0xA7, 0xA8, 0xB7, 0x58, 0x7F, 0xA8, 0xB7, 0x80, 0xA7 .byte 0x98, 0xBF, 0xD8, 0xFF, 0xFF, 0x00, 0x00, 0x00 .global MOD9_0221AF30 MOD9_0221AF30: ; 0x0221AF30 .byte 0x30, 0x5F, 0x00, 0x7F, 0x30, 0x5F, 0x80, 0xFF, 0x60, 0x8F, 0x00, 0x7F, 0x60, 0x8F, 0x80, 0xFF .byte 0x98, 0xBF, 0xD8, 0xFF, 0xFF, 0x00, 0x00, 0x00 .global MOD9_0221AF48 MOD9_0221AF48: ; 0x0221AF48 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x02, 0x01, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global MOD9_0221AF64 MOD9_0221AF64: ; 0x0221AF64 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x03, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global MOD9_0221AF80 MOD9_0221AF80: ; 0x0221AF80 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x01, 0x02, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global MOD9_0221AF9C MOD9_0221AF9C: ; 0x0221AF9C .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x02, 0x04, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global MOD9_0221AFB8 MOD9_0221AFB8: ; 0x0221AFB8 .byte 0x00, 0x2F, 0x00, 0x7F, 0x08, 0x37, 0x80, 0xFF, 0x30, 0x5F, 0x00, 0x7F, 0x38, 0x67, 0x80, 0xFF .byte 0x60, 0x8F, 0x00, 0x7F, 0x68, 0x97, 0x80, 0xFF, 0x98, 0xBF, 0xD8, 0xFF, 0xFF, 0x00, 0x00, 0x00 .global MOD9_0221AFD8 MOD9_0221AFD8: ; 0x0221AFD8 .byte 0x30, 0x5F, 0x00, 0x7F, 0x30, 0x5F, 0x80, 0xFF, 0x60, 0x8F, 0x00, 0x7F, 0x60, 0x8F, 0x80, 0xFF .byte 0x90, 0xBF, 0x40, 0xBF, 0x00, 0x27, 0xB8, 0xFF, 0x98, 0xBF, 0xD8, 0xFF, 0xFF, 0x00, 0x00, 0x00 .global MOD9_0221AFF8 MOD9_0221AFF8: ; 0x0221AFF8 .byte 0x30, 0x5F, 0x00, 0x7F, 0x30, 0x5F, 0x80, 0xFF, 0x60, 0x8F, 0x00, 0x7F, 0x60, 0x8F, 0x80, 0xFF .byte 0x98, 0xBF, 0x00, 0x27, 0x98, 0xBF, 0x28, 0x4F, 0x98, 0xBF, 0x60, 0xC7, 0x98, 0xBF, 0xD8, 0xFF .byte 0xFF, 0x00, 0x00, 0x00 .global MOD9_0221B01C MOD9_0221B01C: ; 0x0221B01C .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00 .byte 0x05, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00 .byte 0x0B, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00 .byte 0x0D, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00 .global MOD9_0221B06C MOD9_0221B06C: ; 0x0221B06C .byte 0x04, 0x02, 0x15, 0x16, 0x02, 0x0F, 0x1F, 0x00, 0x04, 0x02, 0x13, 0x1B, 0x04, 0x0F, 0x1F, 0x00 .global MOD9_0221B07C MOD9_0221B07C: ; 0x0221B07C .byte 0x3D, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00 .byte 0x49, 0x00, 0x00, 0x00 .global MOD9_0221B090 MOD9_0221B090: ; 0x0221B090 .byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 .global MOD9_0221B0A8 MOD9_0221B0A8: ; 0x0221B0A8 .byte 0x05, 0x0A, 0x04, 0x0C, 0x03, 0x09, 0x01, 0x00, 0x05, 0x0B, 0x0C, 0x0A, 0x03, 0x09, 0x25, 0x00 .byte 0x05, 0x01, 0x14, 0x0B, 0x03, 0x09, 0x43, 0x00, 0x05, 0x0E, 0x14, 0x0B, 0x03, 0x09, 0x64, 0x00 .global MOD9_0221B0C8 MOD9_0221B0C8: ; 0x0221B0C8 .byte 0x04, 0x05, 0x01, 0x09, 0x02, 0x0D, 0x8B, 0x00, 0x04, 0x01, 0x06, 0x0E, 0x05, 0x09, 0x9D, 0x00 .byte 0x04, 0x11, 0x06, 0x0E, 0x05, 0x09, 0xE3, 0x00, 0x04, 0x01, 0x0C, 0x0E, 0x05, 0x09, 0x29, 0x01 .byte 0x04, 0x11, 0x0C, 0x0E, 0x05, 0x09, 0x6F, 0x01 .global MOD9_0221B0F0 MOD9_0221B0F0: ; 0x0221B0F0 .byte 0x04, 0x05, 0x01, 0x09, 0x02, 0x0D, 0x85, 0x00, 0x04, 0x01, 0x06, 0x0E, 0x05, 0x09, 0x97, 0x00 .byte 0x04, 0x11, 0x06, 0x0E, 0x05, 0x09, 0xDD, 0x00, 0x04, 0x01, 0x0C, 0x0E, 0x05, 0x09, 0x23, 0x01 .byte 0x04, 0x11, 0x0C, 0x0E, 0x05, 0x09, 0x69, 0x01, 0x04, 0x09, 0x12, 0x0E, 0x05, 0x09, 0xAF, 0x01 .global MOD9_0221B120 MOD9_0221B120: ; 0x0221B120 .byte 0x05, 0x00, 0x00, 0x0F, 0x05, 0x09, 0x85, 0x00, 0x05, 0x10, 0x01, 0x0F, 0x05, 0x09, 0xD0, 0x00 .byte 0x05, 0x00, 0x06, 0x0F, 0x05, 0x09, 0x1B, 0x01, 0x05, 0x10, 0x07, 0x0F, 0x05, 0x09, 0x66, 0x01 .byte 0x05, 0x00, 0x0C, 0x0F, 0x05, 0x09, 0xB1, 0x01, 0x05, 0x10, 0x0D, 0x0F, 0x05, 0x09, 0xFC, 0x01 .global MOD9_0221B150 MOD9_0221B150: ; 0x0221B150 .byte 0x05, 0x05, 0x01, 0x09, 0x02, 0x0D, 0x01, 0x00, 0x05, 0x04, 0x08, 0x0B, 0x02, 0x0D, 0x13, 0x00 .byte 0x05, 0x14, 0x08, 0x02, 0x02, 0x0D, 0x29, 0x00, 0x05, 0x17, 0x08, 0x05, 0x02, 0x0D, 0x2D, 0x00 .byte 0x05, 0x02, 0x0B, 0x0C, 0x02, 0x0D, 0x45, 0x01, 0x05, 0x10, 0x0B, 0x0F, 0x06, 0x0D, 0x5D, 0x01 .byte 0x05, 0x07, 0x14, 0x0C, 0x03, 0x09, 0x37, 0x00 .global MOD9_0221B188 MOD9_0221B188: ; 0x0221B188 .byte 0x05, 0x05, 0x01, 0x09, 0x02, 0x0D, 0x25, 0x01, 0x05, 0x01, 0x06, 0x0E, 0x05, 0x09, 0x49, 0x01 .byte 0x05, 0x11, 0x06, 0x0E, 0x05, 0x09, 0x8F, 0x01, 0x05, 0x01, 0x0C, 0x0E, 0x05, 0x09, 0xD5, 0x01 .byte 0x05, 0x11, 0x0C, 0x0E, 0x05, 0x09, 0x1B, 0x02, 0x05, 0x0D, 0x14, 0x0B, 0x03, 0x09, 0x04, 0x01 .byte 0x05, 0x05, 0x01, 0x09, 0x02, 0x0D, 0x37, 0x01, 0x05, 0x01, 0x06, 0x0E, 0x05, 0x09, 0x61, 0x02 .byte 0x05, 0x11, 0x06, 0x0E, 0x05, 0x09, 0xA7, 0x02, 0x05, 0x01, 0x0C, 0x0E, 0x05, 0x09, 0xED, 0x02 .byte 0x05, 0x11, 0x0C, 0x0E, 0x05, 0x09, 0x33, 0x03 .global MOD9_0221B1E0 MOD9_0221B1E0: ; 0x0221B1E0 .byte 0x05, 0x05, 0x01, 0x09, 0x02, 0x0D, 0x01, 0x00, 0x05, 0x04, 0x05, 0x0B, 0x02, 0x0D, 0x13, 0x00 .byte 0x05, 0x14, 0x05, 0x02, 0x02, 0x0D, 0x29, 0x00, 0x05, 0x17, 0x05, 0x05, 0x02, 0x0D, 0x2D, 0x00 .byte 0x05, 0x01, 0x10, 0x08, 0x02, 0x0D, 0x5B, 0x00, 0x05, 0x01, 0x0D, 0x08, 0x02, 0x0D, 0x6B, 0x00 .byte 0x05, 0x0A, 0x10, 0x03, 0x02, 0x0D, 0x7B, 0x00, 0x05, 0x0A, 0x0D, 0x03, 0x02, 0x0D, 0x81, 0x00 .byte 0x05, 0x10, 0x08, 0x0F, 0x0A, 0x0D, 0x87, 0x00, 0x05, 0x01, 0x08, 0x0C, 0x02, 0x0D, 0x1D, 0x01 .byte 0x05, 0x06, 0x0A, 0x08, 0x02, 0x0D, 0x35, 0x01, 0x05, 0x07, 0x14, 0x0C, 0x03, 0x09, 0x37, 0x00 .global MOD9_0221B240 MOD9_0221B240: ; 0x0221B240 .byte 0x04, 0x04, 0x05, 0x0B, 0x02, 0x0D, 0x9D, 0x00, 0x04, 0x17, 0x05, 0x05, 0x02, 0x0D, 0xB7, 0x00 .byte 0x04, 0x0A, 0x10, 0x03, 0x02, 0x0D, 0xE1, 0x00, 0x04, 0x0A, 0x0D, 0x03, 0x02, 0x0D, 0xE7, 0x00 .byte 0x04, 0x10, 0x08, 0x0F, 0x0A, 0x0D, 0xED, 0x00, 0x04, 0x06, 0x0A, 0x08, 0x02, 0x0D, 0x9B, 0x01 .byte 0x04, 0x05, 0x01, 0x09, 0x02, 0x0D, 0x8B, 0x00, 0x04, 0x14, 0x05, 0x02, 0x02, 0x0D, 0xB3, 0x00 .byte 0x04, 0x01, 0x10, 0x08, 0x02, 0x0D, 0xC1, 0x00, 0x04, 0x01, 0x0D, 0x08, 0x02, 0x0D, 0xD1, 0x00 .byte 0x04, 0x01, 0x08, 0x0C, 0x02, 0x0D, 0x83, 0x01, 0x04, 0x04, 0x05, 0x0B, 0x02, 0x0D, 0xAB, 0x01 .byte 0x04, 0x17, 0x05, 0x05, 0x02, 0x0D, 0xC1, 0x01, 0x04, 0x0A, 0x10, 0x03, 0x02, 0x0D, 0xCB, 0x01 .byte 0x04, 0x0A, 0x0D, 0x03, 0x02, 0x0D, 0xD1, 0x01, 0x04, 0x10, 0x08, 0x0F, 0x0A, 0x0D, 0xD7, 0x01 .byte 0x04, 0x06, 0x0A, 0x08, 0x02, 0x0D, 0x6D, 0x02 .global MOD9_0221B2C8 MOD9_0221B2C8: ; 0x0221B2C8 .byte 0x05, 0x05, 0x01, 0x09, 0x02, 0x0D, 0x25, 0x01, 0x05, 0x01, 0x09, 0x0B, 0x02, 0x0D, 0x49, 0x01 .byte 0x05, 0x01, 0x0B, 0x12, 0x04, 0x0D, 0x5F, 0x01, 0x05, 0x04, 0x10, 0x0C, 0x02, 0x0D, 0xA7, 0x01 .byte 0x05, 0x18, 0x04, 0x07, 0x02, 0x0D, 0xBF, 0x01, 0x05, 0x1C, 0x07, 0x03, 0x02, 0x0D, 0xCD, 0x01 .byte 0x05, 0x1C, 0x09, 0x03, 0x02, 0x0D, 0xD3, 0x01, 0x05, 0x1C, 0x0F, 0x03, 0x02, 0x0D, 0xD9, 0x01 .byte 0x05, 0x1C, 0x0B, 0x03, 0x02, 0x0D, 0xDF, 0x01, 0x05, 0x1C, 0x0D, 0x03, 0x02, 0x0D, 0xE5, 0x01 .byte 0x05, 0x19, 0x06, 0x06, 0x01, 0x09, 0xEB, 0x01, 0x05, 0x05, 0x04, 0x03, 0x02, 0x0D, 0xF1, 0x01 .byte 0x05, 0x0D, 0x06, 0x06, 0x02, 0x0D, 0xF7, 0x01, 0x05, 0x15, 0x04, 0x02, 0x02, 0x0D, 0x85, 0x00 .byte 0x05, 0x15, 0x07, 0x06, 0x02, 0x0D, 0x89, 0x00, 0x05, 0x15, 0x09, 0x06, 0x02, 0x0D, 0x95, 0x00 .byte 0x05, 0x15, 0x0F, 0x06, 0x02, 0x0D, 0xA1, 0x00, 0x05, 0x15, 0x0B, 0x06, 0x02, 0x0D, 0xAD, 0x00 .byte 0x05, 0x15, 0x0D, 0x06, 0x02, 0x0D, 0xB9, 0x00, 0x05, 0x01, 0x04, 0x04, 0x02, 0x0D, 0xC5, 0x00 .byte 0x05, 0x01, 0x06, 0x0B, 0x02, 0x0D, 0xCD, 0x00, 0x05, 0x0D, 0x14, 0x0B, 0x03, 0x09, 0xE3, 0x00 .byte 0x05, 0x05, 0x01, 0x09, 0x02, 0x0D, 0x37, 0x01, 0x05, 0x01, 0x09, 0x0B, 0x02, 0x0D, 0x61, 0x02 .byte 0x05, 0x01, 0x0B, 0x12, 0x04, 0x0D, 0x77, 0x02, 0x05, 0x04, 0x10, 0x0C, 0x02, 0x0D, 0xBF, 0x02 .byte 0x05, 0x18, 0x04, 0x07, 0x02, 0x0D, 0xD7, 0x02, 0x05, 0x1C, 0x07, 0x03, 0x02, 0x0D, 0xE5, 0x02 .byte 0x05, 0x1C, 0x09, 0x03, 0x02, 0x0D, 0xEB, 0x02, 0x05, 0x1C, 0x0F, 0x03, 0x02, 0x0D, 0xF1, 0x02 .byte 0x05, 0x1C, 0x0B, 0x03, 0x02, 0x0D, 0xF7, 0x02, 0x05, 0x1C, 0x0D, 0x03, 0x02, 0x0D, 0xFD, 0x02 .byte 0x05, 0x19, 0x06, 0x06, 0x01, 0x09, 0x03, 0x03, 0x05, 0x05, 0x04, 0x03, 0x02, 0x0D, 0x09, 0x03 .byte 0x05, 0x0D, 0x06, 0x06, 0x02, 0x0D, 0x0F, 0x03, 0x18, 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00 .byte 0x80, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0xC6, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00 .byte 0x88, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00 .byte 0x18, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00 .byte 0xC6, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0xC6, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00 .byte 0x88, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00 .byte 0x88, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00 .byte 0x18, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00 .global MOD9_0221B450 MOD9_0221B450: ; 0x0221B450 .byte 0x82, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0xA4, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00 .global MOD9_0221B460 MOD9_0221B460: ; 0x0221B460 .byte 0x82, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0xA4, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00 .global MOD9_0221B470 MOD9_0221B470: ; 0x0221B470 .byte 0x82, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0xA4, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00 .global MOD9_0221B480 MOD9_0221B480: ; 0x0221B480 .byte 0x82, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0xA4, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00 .global MOD9_0221B490 MOD9_0221B490: ; 0x0221B490 .byte 0x82, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0xA4, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00 .global MOD9_0221B4A0 MOD9_0221B4A0: ; 0x0221B4A0 .byte 0x08, 0xA0, 0xC8, 0xB8, 0x01, 0x00, 0x00, 0x02, 0xC0, 0x08, 0xF8, 0x18, 0x01, 0x82, 0x00, 0x01 .byte 0xE0, 0xA0, 0xF8, 0xB8, 0x01, 0x02, 0x00, 0x02 .global MOD9_0221B4B8 MOD9_0221B4B8: ; 0x0221B4B8 .byte 0x12, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global MOD9_0221B4D0 MOD9_0221B4D0: ; 0x0221B4D0 .byte 0x08, 0xA0, 0x20, 0xB8, 0x00, 0x00, 0x00, 0x01 .byte 0x30, 0xA0, 0x48, 0xB8, 0x01, 0x01, 0x00, 0x02, 0x68, 0xA0, 0xC0, 0xB8, 0x02, 0x02, 0x01, 0x03 .byte 0xE0, 0xA0, 0xF8, 0xB8, 0x03, 0x03, 0x02, 0x03 .global MOD9_0221B4F0 MOD9_0221B4F0: ; 0x0221B4F0 .byte 0x18, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x98, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00 .byte 0x18, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x98, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00 .global MOD9_0221B510 MOD9_0221B510: ; 0x0221B510 .byte 0x10, 0x10, 0xF0, 0x88, 0x00, 0x81, 0x00, 0x00, 0x08, 0xA0, 0x60, 0xB8, 0x00, 0x01, 0x01, 0x02 .byte 0x70, 0xA0, 0xC8, 0xB8, 0x00, 0x02, 0x01, 0x03, 0xE0, 0xA0, 0xF8, 0xB8, 0x00, 0x03, 0x02, 0x03 .global MOD9_0221B530 MOD9_0221B530: ; 0x0221B530 .byte 0x5C, 0x9D, 0x7C, 0xA5, 0x00, 0x02, 0x00, 0x01, 0x84, 0x9D, 0xA4, 0xA5, 0x01, 0x03, 0x00, 0x04 .byte 0x5C, 0xAD, 0x7C, 0xB5, 0x00, 0x02, 0x02, 0x03, 0x84, 0xAD, 0xA4, 0xB5, 0x01, 0x03, 0x02, 0x04 .byte 0xE0, 0xA0, 0xF8, 0xB8, 0x04, 0x04, 0x83, 0x04 .global MOD9_0221B558 MOD9_0221B558: ; 0x0221B558 .word MOD9_0221B630, MOD9_0221B510, MOD9_0221B4D0, MOD9_0221B6A0 .word MOD9_0221B530, MOD9_0221B580, MOD9_0221B668, MOD9_0221B4A0 .word MOD9_0221B668, MOD9_0221B4A0 .global MOD9_0221B580 MOD9_0221B580: ; 0x0221B580 .byte 0x08, 0x38, 0x78, 0x58, 0x00, 0x02, 0x00, 0x01 .byte 0x88, 0x38, 0xF8, 0x58, 0x01, 0x03, 0x00, 0x01, 0x08, 0x68, 0x78, 0x88, 0x00, 0x04, 0x02, 0x03 .byte 0x88, 0x68, 0xF8, 0x88, 0x01, 0x04, 0x02, 0x03, 0xE0, 0xA0, 0xF8, 0xB8, 0x83, 0x04, 0x04, 0x04 .global MOD9_0221B5A8 MOD9_0221B5A8: ; 0x0221B5A8 .byte 0x18, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x98, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00 .byte 0x18, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x98, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00 .byte 0x58, 0x00, 0x00, 0x00, 0xB0, 0x00, 0x00, 0x00 .global MOD9_0221B5D0 MOD9_0221B5D0: ; 0x0221B5D0 .byte 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00 .byte 0x10, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00 .byte 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00 .global MOD9_0221B600 MOD9_0221B600: ; 0x0221B600 .byte 0x1C, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x9C, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00 .byte 0x1C, 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x9C, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00 .byte 0x1C, 0x00, 0x00, 0x00, 0x88, 0x00, 0x00, 0x00, 0x9C, 0x00, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00 .global MOD9_0221B630 MOD9_0221B630: ; 0x0221B630 .byte 0x08, 0x08, 0x78, 0x28, 0x06, 0x02, 0x06, 0x01, 0x88, 0x10, 0xF8, 0x30, 0x04, 0x03, 0x00, 0x02 .byte 0x08, 0x38, 0x78, 0x58, 0x00, 0x04, 0x01, 0x03, 0x88, 0x40, 0xF8, 0x60, 0x01, 0x05, 0x02, 0x04 .byte 0x08, 0x68, 0x78, 0x88, 0x02, 0x01, 0x03, 0x05, 0x88, 0x70, 0xF8, 0x90, 0x03, 0x06, 0x04, 0x06 .byte 0xE0, 0xA0, 0xF8, 0xB8, 0x05, 0x00, 0x05, 0x00 .global MOD9_0221B668 MOD9_0221B668: ; 0x0221B668 .byte 0x08, 0x38, 0x78, 0x58, 0x05, 0x02, 0x00, 0x01 .byte 0x88, 0x38, 0xF8, 0x58, 0x05, 0x03, 0x00, 0x01, 0x08, 0x68, 0x78, 0x88, 0x00, 0x04, 0x02, 0x03 .byte 0x88, 0x68, 0xF8, 0x88, 0x01, 0x06, 0x02, 0x03, 0x48, 0x98, 0xB8, 0xB8, 0x02, 0x04, 0x04, 0x06 .byte 0xC0, 0x08, 0xF8, 0x18, 0x05, 0x81, 0x00, 0x05, 0xE0, 0xA0, 0xF8, 0xB8, 0x03, 0x06, 0x04, 0x06 .global MOD9_0221B6A0 MOD9_0221B6A0: ; 0x0221B6A0 .byte 0x08, 0x38, 0x78, 0x58, 0x00, 0x02, 0x00, 0x01, 0x88, 0x38, 0xF8, 0x58, 0x01, 0x03, 0x00, 0x01 .byte 0x08, 0x68, 0x78, 0x88, 0x00, 0x84, 0x02, 0x03, 0x88, 0x68, 0xF8, 0x88, 0x01, 0x87, 0x02, 0x03 .byte 0x08, 0xA0, 0x20, 0xB8, 0x02, 0x04, 0x04, 0x05, 0x30, 0xA0, 0x48, 0xB8, 0x02, 0x05, 0x04, 0x06 .byte 0x68, 0xA0, 0xC0, 0xB8, 0x03, 0x06, 0x05, 0x07, 0xE0, 0xA0, 0xF8, 0xB8, 0x03, 0x07, 0x06, 0x07 .global MOD9_0221B6E0 MOD9_0221B6E0: ; 0x0221B6E0 .byte 0x16, 0xB0, 0x00, 0x00 .global MOD9_0221B6E4 MOD9_0221B6E4: ; 0x0221B6E4 .byte 0x0A, 0xB0, 0x00, 0x00 .global MOD9_0221B6E8 MOD9_0221B6E8: ; 0x0221B6E8 .byte 0x0A, 0xB0, 0x00, 0x00 .global MOD9_0221B6EC MOD9_0221B6EC: ; 0x0221B6EC .byte 0x0A, 0xB0, 0x00, 0x00 .global MOD9_0221B6F0 MOD9_0221B6F0: ; 0x0221B6F0 .byte 0x00, 0x00, 0x00, 0x00, 0x16, 0xB0, 0x00, 0x00, 0x0A, 0xB0, 0x00, 0x00, 0x0A, 0xB0, 0x00, 0x00 .byte 0x0A, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, 0xB0, 0x00, 0x00, 0x0A, 0xB0, 0x00, 0x00 .byte 0x0A, 0xB0, 0x00, 0x00, 0x0A, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, 0xB0, 0x00, 0x00 .byte 0x0A, 0xB0, 0x00, 0x00, 0x0A, 0xB0, 0x00, 0x00, 0x0A, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x16, 0xB0, 0x00, 0x00, 0x0A, 0xB0, 0x00, 0x00, 0x0A, 0xB0, 0x00, 0x00, 0x0A, 0xB0, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x16, 0xB0, 0x00, 0x00, 0x0A, 0xB0, 0x00, 0x00, 0x0A, 0xB0, 0x00, 0x00 .byte 0x0A, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, 0xB0, 0x00, 0x00, 0x0A, 0xB0, 0x00, 0x00 .byte 0x0A, 0xB0, 0x00, 0x00, 0x0A, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xB0, 0x00, 0x00 .byte 0x07, 0xB0, 0x00, 0x00, 0x07, 0xB0, 0x00, 0x00, 0x07, 0xB0, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x08, 0xB0, 0x00, 0x00, 0x07, 0xB0, 0x00, 0x00, 0x07, 0xB0, 0x00, 0x00, 0x07, 0xB0, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x09, 0xB0, 0x00, 0x00, 0x07, 0xB0, 0x00, 0x00, 0x07, 0xB0, 0x00, 0x00 .byte 0x07, 0xB0, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0A, 0xB0, 0x00, 0x00, 0x07, 0xB0, 0x00, 0x00 .byte 0x07, 0xB0, 0x00, 0x00, 0x07, 0xB0, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0B, 0xB0, 0x00, 0x00 .byte 0x07, 0xB0, 0x00, 0x00, 0x07, 0xB0, 0x00, 0x00, 0x07, 0xB0, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x0C, 0xB0, 0x00, 0x00, 0x07, 0xB0, 0x00, 0x00, 0x07, 0xB0, 0x00, 0x00, 0x07, 0xB0, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x0D, 0xB0, 0x00, 0x00, 0x08, 0xB0, 0x00, 0x00, 0x08, 0xB0, 0x00, 0x00 .byte 0x08, 0xB0, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0D, 0xB0, 0x00, 0x00, 0x08, 0xB0, 0x00, 0x00 .byte 0x08, 0xB0, 0x00, 0x00, 0x08, 0xB0, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0D, 0xB0, 0x00, 0x00 .byte 0x08, 0xB0, 0x00, 0x00, 0x08, 0xB0, 0x00, 0x00, 0x08, 0xB0, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x0D, 0xB0, 0x00, 0x00, 0x08, 0xB0, 0x00, 0x00, 0x08, 0xB0, 0x00, 0x00, 0x08, 0xB0, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x0D, 0xB0, 0x00, 0x00, 0x08, 0xB0, 0x00, 0x00, 0x08, 0xB0, 0x00, 0x00 .byte 0x08, 0xB0, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0D, 0xB0, 0x00, 0x00, 0x08, 0xB0, 0x00, 0x00 .byte 0x08, 0xB0, 0x00, 0x00, 0x08, 0xB0, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0E, 0xB0, 0x00, 0x00 .byte 0x09, 0xB0, 0x00, 0x00, 0x09, 0xB0, 0x00, 0x00, 0x09, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x0F, 0xB0, 0x00, 0x00, 0x09, 0xB0, 0x00, 0x00, 0x09, 0xB0, 0x00, 0x00, 0x09, 0xB0, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x10, 0xB0, 0x00, 0x00, 0x09, 0xB0, 0x00, 0x00, 0x09, 0xB0, 0x00, 0x00 .byte 0x09, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0xB0, 0x00, 0x00, 0x09, 0xB0, 0x00, 0x00 .byte 0x09, 0xB0, 0x00, 0x00, 0x09, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0xB0, 0x00, 0x00 .byte 0x09, 0xB0, 0x00, 0x00, 0x09, 0xB0, 0x00, 0x00, 0x09, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x13, 0xB0, 0x00, 0x00, 0x09, 0xB0, 0x00, 0x00, 0x09, 0xB0, 0x00, 0x00, 0x09, 0xB0, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x14, 0xB0, 0x00, 0x00, 0x09, 0xB0, 0x00, 0x00, 0x09, 0xB0, 0x00, 0x00 .byte 0x09, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0xB0, 0x00, 0x00, 0x09, 0xB0, 0x00, 0x00 .byte 0x09, 0xB0, 0x00, 0x00, 0x09, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0xB0, 0x00, 0x00 .byte 0x0B, 0xB0, 0x00, 0x00, 0x0B, 0xB0, 0x00, 0x00, 0x0B, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x17, 0xB0, 0x00, 0x00, 0x0B, 0xB0, 0x00, 0x00, 0x0B, 0xB0, 0x00, 0x00, 0x0B, 0xB0, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x17, 0xB0, 0x00, 0x00, 0x0B, 0xB0, 0x00, 0x00, 0x0B, 0xB0, 0x00, 0x00 .byte 0x0B, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0xB0, 0x00, 0x00, 0x0B, 0xB0, 0x00, 0x00 .byte 0x0B, 0xB0, 0x00, 0x00, 0x0B, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0xB0, 0x00, 0x00 .byte 0x0B, 0xB0, 0x00, 0x00, 0x0B, 0xB0, 0x00, 0x00, 0x0B, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x16, 0xB0, 0x00, 0x00, 0x0A, 0xB0, 0x00, 0x00, 0x0A, 0xB0, 0x00, 0x00, 0x0A, 0xB0, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x16, 0xB0, 0x00, 0x00, 0x0A, 0xB0, 0x00, 0x00, 0x0A, 0xB0, 0x00, 0x00 .byte 0x0A, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, 0xB0, 0x00, 0x00, 0x0A, 0xB0, 0x00, 0x00 .byte 0x0A, 0xB0, 0x00, 0x00, 0x0A, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, 0xB0, 0x00, 0x00 .byte 0x0A, 0xB0, 0x00, 0x00, 0x0A, 0xB0, 0x00, 0x00, 0x0A, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x16, 0xB0, 0x00, 0x00, 0x0A, 0xB0, 0x00, 0x00, 0x0A, 0xB0, 0x00, 0x00, 0x0A, 0xB0, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x16, 0xB0, 0x00, 0x00, 0x0A, 0xB0, 0x00, 0x00, 0x0A, 0xB0, 0x00, 0x00 .byte 0x0A, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, 0xB0, 0x00, 0x00, 0x0A, 0xB0, 0x00, 0x00 .byte 0x0A, 0xB0, 0x00, 0x00, 0x0A, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global MOD9_0221B9EC MOD9_0221B9EC: ; 0x0221B9EC .byte 0x02, 0xFF, 0x00, 0x00 .global MOD9_0221B9F0 MOD9_0221B9F0: ; 0x0221B9F0 .byte 0x03, 0xFF, 0x00, 0x00 .global MOD9_0221B9F4 MOD9_0221B9F4: ; 0x0221B9F4 .byte 0x04, 0xFF, 0x00, 0x00 .global MOD9_0221B9F8 MOD9_0221B9F8: ; 0x0221B9F8 .byte 0x01, 0xFF, 0x00, 0x00 .global MOD9_0221B9FC MOD9_0221B9FC: ; 0x0221B9FC .byte 0x01, 0xFF, 0x00, 0x00 .global MOD9_0221BA00 MOD9_0221BA00: ; 0x0221BA00 .byte 0x0B, 0xFF, 0x00, 0x00 .global MOD9_0221BA04 MOD9_0221BA04: ; 0x0221BA04 .byte 0x00, 0xFF, 0x00, 0x00 .global MOD9_0221BA08 MOD9_0221BA08: ; 0x0221BA08 .byte 0x03, 0xFF, 0x00, 0x00 .global MOD9_0221BA0C MOD9_0221BA0C: ; 0x0221BA0C .byte 0x05, 0xFF, 0x00, 0x00 .global MOD9_0221BA10 MOD9_0221BA10: ; 0x0221BA10 .byte 0x02, 0xFF, 0x00, 0x00 .global MOD9_0221BA14 MOD9_0221BA14: ; 0x0221BA14 .byte 0x06, 0xFF, 0x00, 0x00 .global MOD9_0221BA18 MOD9_0221BA18: ; 0x0221BA18 .byte 0x04, 0xFF, 0x00, 0x00 .global MOD9_0221BA1C MOD9_0221BA1C: ; 0x0221BA1C .byte 0x03, 0xFF, 0x00, 0x00 .global MOD9_0221BA20 MOD9_0221BA20: ; 0x0221BA20 .byte 0x02, 0xFF, 0x00, 0x00 .global MOD9_0221BA24 MOD9_0221BA24: ; 0x0221BA24 .byte 0x05, 0xFF, 0x00, 0x00 .global MOD9_0221BA28 MOD9_0221BA28: ; 0x0221BA28 .byte 0x01, 0xFF, 0x00, 0x00 .global MOD9_0221BA2C MOD9_0221BA2C: ; 0x0221BA2C .byte 0x04, 0xFF, 0x00, 0x00 .global MOD9_0221BA30 MOD9_0221BA30: ; 0x0221BA30 .byte 0x02, 0xFF, 0x00, 0x00 .global MOD9_0221BA34 MOD9_0221BA34: ; 0x0221BA34 .byte 0x03, 0xFF, 0x00, 0x00 .global MOD9_0221BA38 MOD9_0221BA38: ; 0x0221BA38 .byte 0x05, 0xFF, 0x00, 0x00 .global MOD9_0221BA3C MOD9_0221BA3C: ; 0x0221BA3C .byte 0x15, 0xFF, 0x00, 0x00 .global MOD9_0221BA40 MOD9_0221BA40: ; 0x0221BA40 .byte 0x00, 0x01, 0xFF, 0x00 .global MOD9_0221BA44 MOD9_0221BA44: ; 0x0221BA44 .byte 0x07, 0x01, 0xFF, 0x00 .global MOD9_0221BA48 MOD9_0221BA48: ; 0x0221BA48 .byte 0x02, 0x04, 0x02, 0x00 .global MOD9_0221BA4C MOD9_0221BA4C: ; 0x0221BA4C .byte 0x08, 0x02, 0xFF, 0x00 .global MOD9_0221BA50 MOD9_0221BA50: ; 0x0221BA50 .byte 0x09, 0x03, 0xFF, 0x00 .global MOD9_0221BA54 MOD9_0221BA54: ; 0x0221BA54 .byte 0x0A, 0x04, 0xFF, 0x00 .global MOD9_0221BA58 MOD9_0221BA58: ; 0x0221BA58 .byte 0x02, 0x03, 0x01, 0x00 .global MOD9_0221BA5C MOD9_0221BA5C: ; 0x0221BA5C .byte 0x02, 0x00, 0xFC, 0xFF, 0x02, 0x00 .global MOD9_0221BA62 MOD9_0221BA62: ; 0x0221BA62 .byte 0x02, 0x00, 0xFD, 0xFF, 0x01, 0x00 .global MOD9_0221BA68 MOD9_0221BA68: ; 0x0221BA68 .word MOD9_0221BA04, MOD9_0221B9FC, MOD9_0221BA30, MOD9_0221BA08 .word MOD9_0221B9F4, MOD9_0221BA0C, 0x00000000, MOD9_0221BA40 .word MOD9_0221B9EC, MOD9_0221BA38, MOD9_0221B9F0, MOD9_0221BA3C .word 0x00000000, 0x00000000, MOD9_0221BA44, MOD9_0221BA4C .word MOD9_0221BA50, MOD9_0221BA54, 0x00000000, MOD9_0221BA28 .word MOD9_0221BA20, MOD9_0221BA1C, MOD9_0221BA18, MOD9_0221B9F8 .word MOD9_0221BA10, MOD9_0221BA34, MOD9_0221BA2C, MOD9_0221BA24 .word MOD9_0221BA00, MOD9_0221BA14, 0x00000000, 0x00000000 .word 0x00000000, 0x00000000 .global MOD9_0221BAF0 MOD9_0221BAF0: ; 0x0221BAF0 .byte 0x00 .global MOD9_0221BAF1 MOD9_0221BAF1: ; 0x0221BAF1 .byte 0x00 .global MOD9_0221BAF2 MOD9_0221BAF2: ; 0x0221BAF2 .byte 0x10 .global MOD9_0221BAF3 MOD9_0221BAF3: ; 0x0221BAF3 .byte 0x06, 0x10, 0x01, 0x10, 0x06, 0x00, 0x06, 0x10, 0x06, 0x10, 0x07, 0x10, 0x06, 0x00, 0x0C, 0x10 .byte 0x06, 0x10, 0x0D, 0x10, 0x06, 0x1B, 0x13, 0x05, 0x05, 0x01, 0x01, 0x1E, 0x11, 0x00, 0x13, 0x0D .byte 0x05, 0x0C, 0x13, 0x0D, 0x05, 0x0D, 0x13, 0x0D, 0x05, 0x0C, 0x13, 0x0D, 0x05, 0x00, 0x13, 0x05 .byte 0x05, 0x05, 0x13, 0x05, 0x05, 0x00, 0x06, 0x10, 0x06, 0x10, 0x06, 0x10, 0x06, 0x00, 0x0C, 0x10 .byte 0x06, 0x10, 0x0C, 0x10, 0x06, 0x17, 0x00, 0x09, 0x04, 0x00, 0x06, 0x10, 0x06, 0x10, 0x06, 0x10 .byte 0x06, 0x00, 0x0C, 0x10, 0x06, 0x10, 0x0C, 0x10, 0x06, 0x00, 0x06, 0x10, 0x06, 0x10, 0x06, 0x10 .byte 0x06, 0x00, 0x0C, 0x10, 0x06, 0x10, 0x0C, 0x10, 0x06, 0x08, 0x12, 0x10, 0x06, 0x00, 0x13, 0x1A .byte 0x05, 0x00, 0x13, 0x1A, 0x05, 0x0B, 0x13, 0x05, 0x02, 0x10, 0x13, 0x05, 0x02, 0x0B, 0x15, 0x05 .byte 0x02, 0x10, 0x15, 0x05, 0x02 .global MOD9_0221BB78 MOD9_0221BB78: ; 0x0221BB78 .byte 0x98, 0xBF, 0x00, 0xCF, 0x98, 0xBF, 0xD8, 0xFF, 0xFF, 0x00, 0x00, 0x00 .global MOD9_0221BB84 MOD9_0221BB84: ; 0x0221BB84 .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .global MOD9_0221BB94 MOD9_0221BB94: ; 0x0221BB94 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global MOD9_0221BBB0 MOD9_0221BBB0: ; 0x0221BBB0 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x1F, 0x04, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global MOD9_0221BBCC MOD9_0221BBCC: ; 0x0221BBCC .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x1A, 0x00, 0x01, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global MOD9_0221BBE8 MOD9_0221BBE8: ; 0x0221BBE8 .byte 0x08, 0x4F, 0x00, 0x7F, 0x50, 0x97, 0x00, 0x7F, 0x08, 0x4F, 0x80, 0xFF, 0x50, 0x97, 0x80, 0xFF .byte 0x98, 0xBF, 0x00, 0xCF, 0x98, 0xBF, 0xD8, 0xFF, 0xFF, 0x00, 0x00, 0x00 .global MOD9_0221BC04 MOD9_0221BC04: ; 0x0221BC04 .byte 0x08, 0x37, 0x00, 0x7F, 0x08, 0x37, 0x80, 0xFF, 0x38, 0x67, 0x00, 0x7F, 0x38, 0x67, 0x80, 0xFF .byte 0x68, 0x97, 0x00, 0x7F, 0x68, 0x97, 0x80, 0xFF, 0x98, 0xBF, 0x00, 0x27, 0x98, 0xBF, 0x28, 0x4F .byte 0x98, 0xBF, 0xD8, 0xFF, 0xFF, 0x00, 0x00, 0x00 .global MOD9_0221BC2C MOD9_0221BC2C: ; 0x0221BC2C .byte 0x04, 0x02, 0x13, 0x1B, 0x04, 0x0F, 0x76, 0x03 .global MOD9_0221BC34 MOD9_0221BC34: ; 0x0221BC34 .byte 0x05, 0x07, 0x04, 0x0C, 0x02, 0x04, 0xC7, 0x02, 0x05, 0x14, 0x04, 0x04, 0x02, 0x04, 0xDF, 0x02 .byte 0x05, 0x02, 0x09, 0x1C, 0x06, 0x04, 0xE7, 0x02, 0x05, 0x0A, 0x14, 0x06, 0x03, 0x00, 0x8F, 0x03 .global MOD9_0221BC54 MOD9_0221BC54: ; 0x0221BC54 .byte 0x04, 0x02, 0x04, 0x0C, 0x05, 0x00, 0xCE, 0x02, 0x04, 0x02, 0x0D, 0x0C, 0x05, 0x00, 0x0A, 0x03 .byte 0x04, 0x12, 0x05, 0x0C, 0x03, 0x00, 0x86, 0x02, 0x04, 0x12, 0x0E, 0x0C, 0x03, 0x00, 0xAA, 0x02 .byte 0x04, 0x05, 0x14, 0x14, 0x03, 0x00, 0x4A, 0x02 .global MOD9_0221BC7C MOD9_0221BC7C: ; 0x0221BC7C .byte 0x09, 0x00, 0x00, 0x00 .global MOD9_0221BC80 MOD9_0221BC80: ; 0x0221BC80 .byte 0x0A, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00 .byte 0x0E, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00 .byte 0x12, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00 .global MOD9_0221BCAC MOD9_0221BCAC: ; 0x0221BCAC .byte 0x05, 0x01, 0x01, 0x0E, 0x03, 0x00, 0x01, 0x00, 0x05, 0x08, 0x04, 0x04, 0x03, 0x04, 0x2B, 0x00 .byte 0x05, 0x11, 0x01, 0x0E, 0x03, 0x00, 0x37, 0x00, 0x05, 0x18, 0x04, 0x04, 0x03, 0x04, 0x61, 0x00 .byte 0x05, 0x01, 0x07, 0x0E, 0x03, 0x00, 0x6D, 0x00, 0x05, 0x08, 0x0A, 0x04, 0x03, 0x04, 0x97, 0x00 .byte 0x05, 0x11, 0x07, 0x0E, 0x03, 0x00, 0xA3, 0x00, 0x05, 0x18, 0x0A, 0x04, 0x03, 0x04, 0xCD, 0x00 .byte 0x05, 0x01, 0x0D, 0x0E, 0x03, 0x00, 0xD9, 0x00, 0x05, 0x08, 0x10, 0x04, 0x03, 0x04, 0x03, 0x01 .byte 0x05, 0x11, 0x0D, 0x0E, 0x03, 0x00, 0x0F, 0x01, 0x05, 0x18, 0x10, 0x04, 0x03, 0x04, 0x39, 0x01 .byte 0x05, 0x01, 0x01, 0x0E, 0x03, 0x00, 0x45, 0x01, 0x05, 0x08, 0x04, 0x04, 0x03, 0x04, 0x6F, 0x01 .byte 0x05, 0x11, 0x01, 0x0E, 0x03, 0x00, 0x7B, 0x01, 0x05, 0x18, 0x04, 0x04, 0x03, 0x04, 0xA5, 0x01 .byte 0x05, 0x01, 0x07, 0x0E, 0x03, 0x00, 0xB1, 0x01, 0x05, 0x08, 0x0A, 0x04, 0x03, 0x04, 0xDB, 0x01 .byte 0x05, 0x11, 0x07, 0x0E, 0x03, 0x00, 0xE7, 0x01, 0x05, 0x18, 0x0A, 0x04, 0x03, 0x04, 0x11, 0x02 .byte 0x05, 0x01, 0x0D, 0x0E, 0x03, 0x00, 0x1D, 0x02, 0x05, 0x08, 0x10, 0x04, 0x03, 0x04, 0x47, 0x02 .byte 0x05, 0x11, 0x0D, 0x0E, 0x03, 0x00, 0x53, 0x02, 0x05, 0x18, 0x10, 0x04, 0x03, 0x04, 0x7D, 0x02 .byte 0x05, 0x0B, 0x13, 0x0A, 0x05, 0x04, 0x89, 0x02, 0x05, 0x16, 0x14, 0x04, 0x03, 0x04, 0xBB, 0x02 .global MOD9_0221BD7C MOD9_0221BD7C: ; 0x0221BD7C .byte 0x02, 0x03, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x2C, 0x00, 0x00, 0x00 .byte 0x18, 0x00, 0x00, 0x00, 0xB2, 0x00, 0x00, 0x00 .global MOD9_0221BD94 MOD9_0221BD94: ; 0x0221BD94 .word MOD9_0221BDE0, MOD9_0221BE40, MOD9_0221BDA0 .global MOD9_0221BDA0 MOD9_0221BDA0: ; 0x0221BDA0 .byte 0x08, 0xA0, 0xC8, 0xB8 .byte 0x00, 0x00, 0x00, 0x01, 0xE0, 0xA0, 0xF8, 0xB8, 0x01, 0x01, 0x00, 0x01 .global MOD9_0221BDB0 MOD9_0221BDB0: ; 0x0221BDB0 .byte 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global MOD9_0221BDC8 MOD9_0221BDC8: ; 0x0221BDC8 .byte 0xC0, 0x00, 0x00, 0x00 .global MOD9_0221BDCC MOD9_0221BDCC: ; 0x0221BDCC .byte 0x18, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00 .byte 0x98, 0x00, 0x00, 0x00 .global MOD9_0221BDE0 MOD9_0221BDE0: ; 0x0221BDE0 .byte 0x08, 0x10, 0x78, 0x48, 0x00, 0x01, 0x00, 0x02, 0x08, 0x58, 0x78, 0x90 .byte 0x00, 0x04, 0x01, 0x03, 0x88, 0x10, 0xF8, 0x48, 0x02, 0x03, 0x00, 0x02, 0x88, 0x58, 0xF8, 0x90 .byte 0x02, 0x05, 0x01, 0x03, 0x08, 0xA0, 0xC8, 0xB8, 0x01, 0x04, 0x04, 0x05, 0xE0, 0xA0, 0xF8, 0xB8 .byte 0x83, 0x05, 0x04, 0x05 .global MOD9_0221BE10 MOD9_0221BE10: ; 0x0221BE10 .byte 0x2C, 0x00, 0x00, 0x00, 0x2D, 0x00, 0x00, 0x00, 0xAC, 0x00, 0x00, 0x00, 0x2D, 0x00, 0x00, 0x00 .byte 0x2C, 0x00, 0x00, 0x00, 0x5D, 0x00, 0x00, 0x00, 0xAC, 0x00, 0x00, 0x00, 0x5D, 0x00, 0x00, 0x00 .byte 0x2C, 0x00, 0x00, 0x00, 0x8D, 0x00, 0x00, 0x00, 0xAC, 0x00, 0x00, 0x00, 0x8D, 0x00, 0x00, 0x00 .global MOD9_0221BE40 MOD9_0221BE40: ; 0x0221BE40 .byte 0x08, 0x10, 0x78, 0x30, 0x00, 0x02, 0x00, 0x01, 0x88, 0x10, 0xF8, 0x30, 0x01, 0x03, 0x00, 0x01 .byte 0x08, 0x40, 0x78, 0x60, 0x00, 0x04, 0x02, 0x03, 0x88, 0x40, 0xF8, 0x60, 0x01, 0x05, 0x02, 0x03 .byte 0x08, 0x70, 0x78, 0x90, 0x02, 0x86, 0x04, 0x05, 0x88, 0x70, 0xF8, 0x90, 0x03, 0x08, 0x04, 0x05 .byte 0x08, 0xA0, 0x20, 0xB8, 0x04, 0x06, 0x06, 0x07, 0x30, 0xA0, 0x48, 0xB8, 0x04, 0x07, 0x06, 0x08 .byte 0xE0, 0xA0, 0xF8, 0xB8, 0x05, 0x08, 0x07, 0x08 .global MOD9_0221BE88 MOD9_0221BE88: ; 0x0221BE88 .byte 0xB7, 0xB4, 0x00, 0x00 .global MOD9_0221BE8C MOD9_0221BE8C: ; 0x0221BE8C .byte 0xB7, 0xB4, 0x00, 0x00 .global MOD9_0221BE90 MOD9_0221BE90: ; 0x0221BE90 .byte 0xB7, 0xB4, 0x00, 0x00 .global MOD9_0221BE94 MOD9_0221BE94: ; 0x0221BE94 .byte 0xB7, 0xB4, 0x00, 0x00 .global MOD9_0221BE98 MOD9_0221BE98: ; 0x0221BE98 .byte 0x01, 0x00, 0x00, 0x00, 0xB8, 0xB4, 0x00, 0x00, 0xB8, 0xB4, 0x00, 0x00, 0xB7, 0xB4, 0x00, 0x00 .byte 0xB7, 0xB4, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xB9, 0xB4, 0x00, 0x00, 0xB9, 0xB4, 0x00, 0x00 .byte 0xB7, 0xB4, 0x00, 0x00, 0xB7, 0xB4, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xBA, 0xB4, 0x00, 0x00 .byte 0xBA, 0xB4, 0x00, 0x00, 0xB7, 0xB4, 0x00, 0x00, 0xB7, 0xB4, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0xBB, 0xB4, 0x00, 0x00, 0xBB, 0xB4, 0x00, 0x00, 0xB7, 0xB4, 0x00, 0x00, 0xB7, 0xB4, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0xBC, 0xB4, 0x00, 0x00, 0xBC, 0xB4, 0x00, 0x00, 0xB7, 0xB4, 0x00, 0x00 .byte 0xB7, 0xB4, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .global MOD9_0221BF00 MOD9_0221BF00: ; 0x0221BF00 .byte 0x03, 0xFF, 0x00, 0x00 .global MOD9_0221BF04 MOD9_0221BF04: ; 0x0221BF04 .byte 0x03, 0xFF, 0x00, 0x00 .global MOD9_0221BF08 MOD9_0221BF08: ; 0x0221BF08 .byte 0x01, 0xFF, 0x00, 0x00 .global MOD9_0221BF0C MOD9_0221BF0C: ; 0x0221BF0C .byte 0x04, 0xFF, 0x00, 0x00 .global MOD9_0221BF10 MOD9_0221BF10: ; 0x0221BF10 .byte 0x02, 0xFF, 0x00, 0x00 .global MOD9_0221BF14 MOD9_0221BF14: ; 0x0221BF14 .byte 0x00, 0xFF, 0x00, 0x00 .global MOD9_0221BF18 MOD9_0221BF18: ; 0x0221BF18 .byte 0x0E, 0x0F, 0xFF, 0x00 .global MOD9_0221BF1C MOD9_0221BF1C: ; 0x0221BF1C .byte 0x10, 0x11, 0xFF, 0x00 .global MOD9_0221BF20 MOD9_0221BF20: ; 0x0221BF20 .byte 0x16, 0x17, 0xFF, 0x00 .global MOD9_0221BF24 MOD9_0221BF24: ; 0x0221BF24 .byte 0x06, 0x07, 0xFF, 0x00 .global MOD9_0221BF28 MOD9_0221BF28: ; 0x0221BF28 .byte 0x04, 0x05, 0xFF, 0x00 .global MOD9_0221BF2C MOD9_0221BF2C: ; 0x0221BF2C .byte 0x02, 0x03, 0xFF, 0x00 .global MOD9_0221BF30 MOD9_0221BF30: ; 0x0221BF30 .byte 0x00, 0x01, 0xFF, 0x00 .global MOD9_0221BF34 MOD9_0221BF34: ; 0x0221BF34 .byte 0x08, 0x09, 0xFF, 0x00 .global MOD9_0221BF38 MOD9_0221BF38: ; 0x0221BF38 .byte 0x12, 0x13, 0xFF, 0x00 .global MOD9_0221BF3C MOD9_0221BF3C: ; 0x0221BF3C .byte 0x0A, 0x0B, 0xFF, 0x00 .global MOD9_0221BF40 MOD9_0221BF40: ; 0x0221BF40 .byte 0x0C, 0x0D, 0xFF, 0x00 .global MOD9_0221BF44 MOD9_0221BF44: ; 0x0221BF44 .byte 0x14, 0x15, 0xFF, 0x00 .global MOD9_0221BF48 MOD9_0221BF48: ; 0x0221BF48 .byte 0x00 .global MOD9_0221BF49 MOD9_0221BF49: ; 0x0221BF49 .byte 0x01 .global MOD9_0221BF4A MOD9_0221BF4A: ; 0x0221BF4A .byte 0x10 .global MOD9_0221BF4B MOD9_0221BF4B: ; 0x0221BF4B .byte 0x09, 0x00, 0x0A, 0x10, 0x09, 0x10, 0x01, 0x10, 0x09, 0x10, 0x0A, 0x10, 0x09, 0x00, 0x13, 0x1A .byte 0x05, 0x1B, 0x13, 0x05, 0x05, 0x20, 0x01, 0x10, 0x06, 0x30, 0x01, 0x10, 0x06, 0x20, 0x07, 0x10 .byte 0x06, 0x30, 0x07, 0x10, 0x06, 0x20, 0x0D, 0x10, 0x06, 0x30, 0x0D, 0x10, 0x06, 0x20, 0x13, 0x05 .byte 0x05, 0x25, 0x13, 0x05, 0x05, 0x3B, 0x13, 0x05, 0x05, 0x00, 0x33, 0x1A, 0x05, 0x1B, 0x33, 0x05 .byte 0x05 .global MOD9_0221BF8C MOD9_0221BF8C: ; 0x0221BF8C .word MOD9_0221BF14, MOD9_0221BF08, MOD9_0221BF10, MOD9_0221BF00 .word MOD9_0221BF0C, 0x00000000, MOD9_0221BF30, MOD9_0221BF2C .word MOD9_0221BF28, MOD9_0221BF24, MOD9_0221BF34, MOD9_0221BF3C .word 0x00000000, 0x00000000, 0x00000000, MOD9_0221BF04 .word 0x00000000, MOD9_0221BF40, MOD9_0221BF18, MOD9_0221BF1C .word MOD9_0221BF38, MOD9_0221BF44, MOD9_0221BF20 .data .bss