.include "asm/macros.inc" .include "global.inc" .section .text .balign 4, 0 thumb_func_start MOD82_0222D5C0 MOD82_0222D5C0: ; 0x0222D5C0 push {r3, r4} ldr r3, _0222D5D8 ; =0x0222FB00 mov r4, #1 str r4, [r3] mov r4, #0 str r4, [r3, #4] str r0, [r3, #8] str r1, [r3, #0xc] str r2, [r3, #0x10] pop {r3, r4} bx lr nop _0222D5D8: .word MOD82_0222FB00 thumb_func_end MOD82_0222D5C0 thumb_func_start MOD82_0222D5DC MOD82_0222D5DC: ; 0x0222D5DC push {r3, lr} ldr r1, _0222D7B8 ; =0x0222FB00 ldr r0, [r1] cmp r0, #0xa bls _0222D5E8 b _0222D7B4 _0222D5E8: add r0, r0, r0 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _0222D5F4: ; jump table .short _0222D7B4 - _0222D5F4 - 2 ; case 0 .short _0222D7B4 - _0222D5F4 - 2 ; case 1 .short _0222D60A - _0222D5F4 - 2 ; case 2 .short _0222D7A8 - _0222D5F4 - 2 ; case 3 .short _0222D654 - _0222D5F4 - 2 ; case 4 .short _0222D7A8 - _0222D5F4 - 2 ; case 5 .short _0222D6C4 - _0222D5F4 - 2 ; case 6 .short _0222D7A8 - _0222D5F4 - 2 ; case 7 .short _0222D736 - _0222D5F4 - 2 ; case 8 .short _0222D7A8 - _0222D5F4 - 2 ; case 9 .short _0222D7B4 - _0222D5F4 - 2 ; case 10 _0222D60A: bl MOD79_022123A8 cmp r0, #1 beq _0222D618 cmp r0, #7 beq _0222D630 pop {r3, pc} _0222D618: ldr r0, _0222D7B8 ; =0x0222FB00 mov r1, #0xa str r1, [r0] bl MOD79_02212474 bl MOD82_0222D99C ldr r1, _0222D7B8 ; =0x0222FB00 str r0, [r1, #4] bl MOD56_0221244C pop {r3, pc} _0222D630: ldr r0, _0222D7B8 ; =0x0222FB00 mov r1, #0xa str r1, [r0] bl MOD79_02212480 cmp r0, #0 ble _0222D646 ldr r0, _0222D7BC ; =0x0222FC00 ldrb r1, [r0, #3] ldr r0, _0222D7B8 ; =0x0222FB00 b _0222D64C _0222D646: mov r1, #1 ldr r0, _0222D7B8 ; =0x0222FB00 mvn r1, r1 _0222D64C: str r1, [r0, #4] bl MOD56_0221244C pop {r3, pc} _0222D654: bl MOD79_022123A8 cmp r0, #1 beq _0222D662 cmp r0, #7 beq _0222D67A pop {r3, pc} _0222D662: ldr r0, _0222D7B8 ; =0x0222FB00 mov r1, #0xa str r1, [r0] bl MOD79_02212474 bl MOD82_0222D99C ldr r1, _0222D7B8 ; =0x0222FB00 str r0, [r1, #4] bl MOD56_0221244C pop {r3, pc} _0222D67A: ldr r0, _0222D7B8 ; =0x0222FB00 mov r1, #0xa str r1, [r0] bl MOD79_02212480 ldr r1, _0222D7C0 ; =0x00000A38 cmp r0, r1 bne _0222D692 ldr r0, _0222D7B8 ; =0x0222FB00 mov r1, #0 str r1, [r0, #4] b _0222D6BE _0222D692: ldr r0, _0222D7BC ; =0x0222FC00 ldr r0, [r0, #8] ldrb r0, [r0] cmp r0, #2 beq _0222D6A2 cmp r0, #5 beq _0222D6AC b _0222D6B6 _0222D6A2: mov r1, #2 ldr r0, _0222D7B8 ; =0x0222FB00 mvn r1, r1 str r1, [r0, #4] b _0222D6BE _0222D6AC: mov r1, #1 ldr r0, _0222D7B8 ; =0x0222FB00 mvn r1, r1 str r1, [r0, #4] b _0222D6BE _0222D6B6: mov r1, #4 ldr r0, _0222D7B8 ; =0x0222FB00 mvn r1, r1 str r1, [r0, #4] _0222D6BE: bl MOD56_0221244C pop {r3, pc} _0222D6C4: bl MOD79_022123A8 cmp r0, #1 beq _0222D6D2 cmp r0, #7 beq _0222D6EA pop {r3, pc} _0222D6D2: ldr r0, _0222D7B8 ; =0x0222FB00 mov r1, #0xa str r1, [r0] bl MOD79_02212474 bl MOD82_0222D99C ldr r1, _0222D7B8 ; =0x0222FB00 str r0, [r1, #4] bl MOD56_0221244C pop {r3, pc} _0222D6EA: ldr r0, _0222D7B8 ; =0x0222FB00 mov r1, #0xa ldr r2, _0222D7BC ; =0x0222FC00 str r1, [r0] ldrb r2, [r2, #3] cmp r2, #5 bhi _0222D728 add r2, r2, r2 add r2, pc ldrh r2, [r2, #6] lsl r2, r2, #0x10 asr r2, r2, #0x10 add pc, r2 _0222D704: ; jump table .short _0222D728 - _0222D704 - 2 ; case 0 .short _0222D710 - _0222D704 - 2 ; case 1 .short _0222D716 - _0222D704 - 2 ; case 2 .short _0222D728 - _0222D704 - 2 ; case 3 .short _0222D71C - _0222D704 - 2 ; case 4 .short _0222D722 - _0222D704 - 2 ; case 5 _0222D710: mov r1, #0 str r1, [r0, #4] b _0222D730 _0222D716: sub r1, #0xd str r1, [r0, #4] b _0222D730 _0222D71C: sub r1, #0xb str r1, [r0, #4] b _0222D730 _0222D722: sub r1, #0xc str r1, [r0, #4] b _0222D730 _0222D728: mov r1, #4 ldr r0, _0222D7B8 ; =0x0222FB00 mvn r1, r1 str r1, [r0, #4] _0222D730: bl MOD56_0221244C pop {r3, pc} _0222D736: bl MOD79_022123A8 cmp r0, #1 beq _0222D744 cmp r0, #7 beq _0222D75C pop {r3, pc} _0222D744: ldr r0, _0222D7B8 ; =0x0222FB00 mov r1, #0xa str r1, [r0] bl MOD79_02212474 bl MOD82_0222D99C ldr r1, _0222D7B8 ; =0x0222FB00 str r0, [r1, #4] bl MOD56_0221244C pop {r3, pc} _0222D75C: ldr r0, _0222D7B8 ; =0x0222FB00 mov r1, #0xa ldr r2, _0222D7BC ; =0x0222FC00 str r1, [r0] ldrb r2, [r2, #3] cmp r2, #5 bhi _0222D79A add r2, r2, r2 add r2, pc ldrh r2, [r2, #6] lsl r2, r2, #0x10 asr r2, r2, #0x10 add pc, r2 _0222D776: ; jump table .short _0222D79A - _0222D776 - 2 ; case 0 .short _0222D782 - _0222D776 - 2 ; case 1 .short _0222D79A - _0222D776 - 2 ; case 2 .short _0222D788 - _0222D776 - 2 ; case 3 .short _0222D78E - _0222D776 - 2 ; case 4 .short _0222D794 - _0222D776 - 2 ; case 5 _0222D782: mov r1, #0 str r1, [r0, #4] b _0222D7A2 _0222D788: mov r1, #1 str r1, [r0, #4] b _0222D7A2 _0222D78E: mov r1, #2 str r1, [r0, #4] b _0222D7A2 _0222D794: sub r1, #0xc str r1, [r0, #4] b _0222D7A2 _0222D79A: mov r1, #4 ldr r0, _0222D7B8 ; =0x0222FB00 mvn r1, r1 str r1, [r0, #4] _0222D7A2: bl MOD56_0221244C pop {r3, pc} _0222D7A8: mov r0, #0xa str r0, [r1] sub r0, #0xe str r0, [r1, #4] bl MOD56_0221244C _0222D7B4: pop {r3, pc} nop _0222D7B8: .word MOD82_0222FB00 _0222D7BC: .word MOD82_0222FC00 _0222D7C0: .word 0x00000A38 thumb_func_end MOD82_0222D5DC thumb_func_start MOD82_0222D7C4 MOD82_0222D7C4: ; 0x0222D7C4 ldr r1, _0222D7E0 ; =0x0222FB00 ldr r0, [r1] cmp r0, #1 beq _0222D7D2 cmp r0, #0xa beq _0222D7D6 b _0222D7DC _0222D7D2: mov r0, #1 bx lr _0222D7D6: mov r0, #1 str r0, [r1] bx lr _0222D7DC: mov r0, #0 bx lr .align 2, 0 _0222D7E0: .word MOD82_0222FB00 thumb_func_end MOD82_0222D7C4 thumb_func_start MOD82_0222D7E4 MOD82_0222D7E4: ; 0x0222D7E4 ldr r0, _0222D7EC ; =0x0222FB00 ldr r0, [r0, #4] bx lr nop _0222D7EC: .word MOD82_0222FB00 thumb_func_end MOD82_0222D7E4 thumb_func_start MOD82_0222D7F0 MOD82_0222D7F0: ; 0x0222D7F0 push {r3, r4, lr} sub sp, #4 add r4, r0, #0 bl MOD79_022122E4 ldr r0, _0222D830 ; =0x0222FB00 sub r1, r4, #1 strb r1, [r0, #0x14] mov r0, #2 str r0, [sp] ldr r0, _0222D834 ; =0x0222F8E0 ldr r1, _0222D838 ; =0x0222FB14 ldr r3, _0222D83C ; =0x0222FC03 mov r2, #1 bl MOD82_0222D964 cmp r0, #0 beq _0222D81E ldr r0, _0222D830 ; =0x0222FB00 mov r1, #2 str r1, [r0] add sp, #4 pop {r3, r4, pc} _0222D81E: ldr r0, _0222D830 ; =0x0222FB00 mov r1, #0xa str r1, [r0] sub r1, #0xf str r1, [r0, #4] bl MOD56_0221244C add sp, #4 pop {r3, r4, pc} .align 2, 0 _0222D830: .word MOD82_0222FB00 _0222D834: .word MOD82_0222F8E0 _0222D838: .word MOD82_0222FB14 _0222D83C: .word MOD82_0222FC03 thumb_func_end MOD82_0222D7F0 thumb_func_start MOD82_0222D840 MOD82_0222D840: ; 0x0222D840 push {r3, r4, r5, r6, lr} sub sp, #4 add r5, r0, #0 ldr r0, _0222D88C ; =0x0222FC00 add r6, r2, #0 add r4, r1, #0 str r6, [r0, #8] bl MOD79_022122E4 ldr r0, _0222D890 ; =0x0222FB00 sub r1, r5, #1 strb r1, [r0, #0x14] sub r1, r4, #1 strb r1, [r0, #0x15] ldr r0, _0222D894 ; =0x00000A38 ldr r1, _0222D898 ; =0x0222FB14 str r0, [sp] ldr r0, _0222D89C ; =0x0222F92C mov r2, #2 add r3, r6, #0 bl MOD82_0222D964 cmp r0, #0 beq _0222D87A ldr r0, _0222D890 ; =0x0222FB00 mov r1, #4 str r1, [r0] add sp, #4 pop {r3, r4, r5, r6, pc} _0222D87A: ldr r0, _0222D890 ; =0x0222FB00 mov r1, #0xa str r1, [r0] sub r1, #0xf str r1, [r0, #4] bl MOD56_0221244C add sp, #4 pop {r3, r4, r5, r6, pc} .align 2, 0 _0222D88C: .word MOD82_0222FC00 _0222D890: .word MOD82_0222FB00 _0222D894: .word 0x00000A38 _0222D898: .word MOD82_0222FB14 _0222D89C: .word MOD82_0222F92C thumb_func_end MOD82_0222D840 thumb_func_start MOD82_0222D8A0 MOD82_0222D8A0: ; 0x0222D8A0 push {r3, r4, r5, r6, r7, lr} add r5, r0, #0 add r4, r1, #0 add r6, r2, #0 add r7, r3, #0 bl MOD79_022122E4 ldr r0, _0222D904 ; =0x0222FB14 add r1, r7, #0 mov r2, #0xe4 bl memcpy ldr r0, _0222D908 ; =0x0222FBE0 sub r1, r5, #1 strb r1, [r0, #0x18] sub r1, r4, #1 strb r1, [r0, #0x19] ldr r3, _0222D90C ; =0x0222FBFB ldr r2, _0222D910 ; =0x0222FB0C strb r6, [r0, #0x1a] mov r1, #8 _0222D8CA: ldrb r0, [r2] add r2, r2, #1 strb r0, [r3] add r3, r3, #1 sub r1, r1, #1 bne _0222D8CA mov r0, #2 str r0, [sp] ldr r0, _0222D914 ; =0x0222F978 ldr r1, _0222D904 ; =0x0222FB14 ldr r3, _0222D918 ; =0x0222FC03 mov r2, #0xef bl MOD82_0222D964 cmp r0, #0 beq _0222D8F2 ldr r0, _0222D91C ; =0x0222FB00 mov r1, #6 str r1, [r0] pop {r3, r4, r5, r6, r7, pc} _0222D8F2: ldr r0, _0222D91C ; =0x0222FB00 mov r1, #0xa str r1, [r0] sub r1, #0xf str r1, [r0, #4] bl MOD56_0221244C pop {r3, r4, r5, r6, r7, pc} nop _0222D904: .word MOD82_0222FB14 _0222D908: .word MOD82_0222FBE0 _0222D90C: .word MOD82_0222FBFB _0222D910: .word MOD82_0222FB0C _0222D914: .word MOD82_0222F978 _0222D918: .word MOD82_0222FC03 _0222D91C: .word MOD82_0222FB00 thumb_func_end MOD82_0222D8A0 thumb_func_start MOD82_0222D920 MOD82_0222D920: ; 0x0222D920 push {r3, lr} bl MOD79_022122E4 mov r0, #2 str r0, [sp] ldr r0, _0222D954 ; =0x0222F9C4 ldr r1, _0222D958 ; =0x0222FB14 ldr r3, _0222D95C ; =0x0222FC03 mov r2, #0 bl MOD82_0222D964 cmp r0, #0 beq _0222D942 ldr r0, _0222D960 ; =0x0222FB00 mov r1, #8 str r1, [r0] pop {r3, pc} _0222D942: ldr r0, _0222D960 ; =0x0222FB00 mov r1, #0xa str r1, [r0] sub r1, #0xf str r1, [r0, #4] bl MOD56_0221244C pop {r3, pc} nop _0222D954: .word MOD82_0222F9C4 _0222D958: .word MOD82_0222FB14 _0222D95C: .word MOD82_0222FC03 _0222D960: .word MOD82_0222FB00 thumb_func_end MOD82_0222D920 thumb_func_start MOD82_0222D964 MOD82_0222D964: ; 0x0222D964 push {r3, r4, r5, lr} sub sp, #8 add r5, r1, #0 ldr r1, [sp, #0x18] str r3, [sp] str r1, [sp, #4] add r4, r2, #0 ldr r1, _0222D998 ; =0x0222FB00 add r2, r5, #0 ldr r1, [r1, #8] add r3, r4, #0 bl MOD79_02212308 cmp r0, #0 beq _0222D98A cmp r0, #1 beq _0222D990 cmp r0, #2 b _0222D990 _0222D98A: add sp, #8 mov r0, #1 pop {r3, r4, r5, pc} _0222D990: mov r0, #0 add sp, #8 pop {r3, r4, r5, pc} nop _0222D998: .word MOD82_0222FB00 thumb_func_end MOD82_0222D964 thumb_func_start MOD82_0222D99C MOD82_0222D99C: ; 0x0222D99C push {r4, lr} cmp r0, #0x20 bhi _0222DA14 add r0, r0, r0 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _0222D9AE: ; jump table .short _0222D9F0 - _0222D9AE - 2 ; case 0 .short _0222D9F0 - _0222D9AE - 2 ; case 1 .short _0222D9F6 - _0222D9AE - 2 ; case 2 .short _0222D9F0 - _0222D9AE - 2 ; case 3 .short _0222D9F0 - _0222D9AE - 2 ; case 4 .short _0222D9F0 - _0222D9AE - 2 ; case 5 .short _0222D9F0 - _0222D9AE - 2 ; case 6 .short _0222DA14 - _0222D9AE - 2 ; case 7 .short _0222D9F6 - _0222D9AE - 2 ; case 8 .short _0222D9F0 - _0222D9AE - 2 ; case 9 .short _0222D9F0 - _0222D9AE - 2 ; case 10 .short _0222D9FC - _0222D9AE - 2 ; case 11 .short _0222DA02 - _0222D9AE - 2 ; case 12 .short _0222DA02 - _0222D9AE - 2 ; case 13 .short _0222D9F0 - _0222D9AE - 2 ; case 14 .short _0222DA0E - _0222D9AE - 2 ; case 15 .short _0222DA08 - _0222D9AE - 2 ; case 16 .short _0222DA08 - _0222D9AE - 2 ; case 17 .short _0222DA08 - _0222D9AE - 2 ; case 18 .short _0222DA08 - _0222D9AE - 2 ; case 19 .short _0222D9F0 - _0222D9AE - 2 ; case 20 .short _0222D9F0 - _0222D9AE - 2 ; case 21 .short _0222D9F0 - _0222D9AE - 2 ; case 22 .short _0222D9F0 - _0222D9AE - 2 ; case 23 .short _0222DA14 - _0222D9AE - 2 ; case 24 .short _0222D9F6 - _0222D9AE - 2 ; case 25 .short _0222DA08 - _0222D9AE - 2 ; case 26 .short _0222DA08 - _0222D9AE - 2 ; case 27 .short _0222DA08 - _0222D9AE - 2 ; case 28 .short _0222DA08 - _0222D9AE - 2 ; case 29 .short _0222DA0E - _0222D9AE - 2 ; case 30 .short _0222DA08 - _0222D9AE - 2 ; case 31 .short _0222D9F0 - _0222D9AE - 2 ; case 32 _0222D9F0: mov r4, #4 mvn r4, r4 b _0222DA18 _0222D9F6: mov r4, #4 mvn r4, r4 b _0222DA18 _0222D9FC: mov r4, #6 mvn r4, r4 b _0222DA18 _0222DA02: mov r4, #6 mvn r4, r4 b _0222DA18 _0222DA08: mov r4, #1 mvn r4, r4 b _0222DA18 _0222DA0E: mov r4, #1 mvn r4, r4 b _0222DA18 _0222DA14: mov r4, #4 mvn r4, r4 _0222DA18: mov r0, #4 mvn r0, r0 cmp r4, r0 beq _0222DA30 bl WCM_GetPhase cmp r0, #9 beq _0222DA2C mov r4, #5 mvn r4, r4 _0222DA2C: bl MOD04_021DD6F0 _0222DA30: add r0, r4, #0 pop {r4, pc} thumb_func_end MOD82_0222D99C thumb_func_start MOD82_0222DA34 MOD82_0222DA34: ; 0x0222DA34 push {r3, r4, r5, r6, r7, lr} sub sp, #0x10 add r5, r1, #0 add r6, r0, #0 ldr r0, [r5] cmp r0, #0 beq _0222DA48 cmp r0, #1 beq _0222DB34 b _0222DB4A _0222DA48: mov r0, #0 add r1, r0, #0 bl Main_SetVBlankIntrCB bl FUN_02015F1C bl GX_DisableEngineALayers bl GX_DisableEngineBLayers mov r2, #1 lsl r2, r2, #0x1a ldr r1, [r2] ldr r0, _0222DB50 ; =0xFFFFE0FF and r1, r0 str r1, [r2] ldr r2, _0222DB54 ; =0x04001000 ldr r1, [r2] and r0, r1 str r0, [r2] mov r2, #5 mov r0, #3 mov r1, #0x44 lsl r2, r2, #0x10 bl CreateHeap ldr r1, _0222DB58 ; =0x00000EC8 add r0, r6, #0 mov r2, #0x44 bl OverlayManager_CreateAndGetData ldr r2, _0222DB58 ; =0x00000EC8 mov r1, #0 add r4, r0, #0 bl memset mov r0, #0x44 bl BgConfig_Alloc str r0, [r4, #4] ldr r0, _0222DB5C ; =0x0222FC0C add r2, sp, #0 ldr r3, _0222DB60 ; =0x0222F814 str r4, [r0] add r7, r2, #0 ldmia r3!, {r0, r1} stmia r2!, {r0, r1} ldmia r3!, {r0, r1} stmia r2!, {r0, r1} add r0, r7, #0 bl SetBothScreensModesAndDisable mov r0, #0xb mov r1, #0x20 mov r2, #0x44 bl ScrStrBufs_new_custom ldr r1, _0222DB64 ; =0x00000B78 ldr r2, _0222DB68 ; =0x0000024E str r0, [r4, r1] mov r0, #0 mov r1, #0x1a mov r3, #0x44 bl NewMsgDataFromNarc ldr r1, _0222DB6C ; =0x00000B7C mov r2, #0x25 str r0, [r4, r1] mov r0, #0 mov r1, #0x1a lsl r2, r2, #4 mov r3, #0x44 bl NewMsgDataFromNarc mov r1, #0x2e lsl r1, r1, #6 str r0, [r4, r1] ldr r2, _0222DB70 ; =0x00000265 mov r0, #0 mov r1, #0x1a mov r3, #0x44 bl NewMsgDataFromNarc ldr r1, _0222DB74 ; =0x00000B84 str r0, [r4, r1] mov r0, #4 mov r1, #8 bl SetKeyRepeatTimers add r0, r4, #0 add r1, r6, #0 bl MOD82_0222DD04 add r0, r4, #0 bl MOD82_0222DFD4 mov r1, #0 mov r0, #0x34 add r2, r1, #0 bl FUN_0200433C ldr r1, _0222DB78 ; =0x00020020 mov r0, #0x44 bl AllocFromHeap str r0, [r4, #0x24] add r0, #0x1f mov r1, #0x1f bic r0, r1 mov r1, #2 lsl r1, r1, #0x10 mov r2, #0 bl NNS_FndCreateExpHeapEx str r0, [r4, #0x28] mov r0, #1 str r0, [r5] b _0222DB4A _0222DB34: bl FUN_02088858 bl FUN_020888BC bl FUN_0202E49C mov r0, #0 str r0, [r5] add sp, #0x10 mov r0, #1 pop {r3, r4, r5, r6, r7, pc} _0222DB4A: mov r0, #0 add sp, #0x10 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _0222DB50: .word 0xFFFFE0FF _0222DB54: .word 0x04001000 _0222DB58: .word 0x00000EC8 _0222DB5C: .word MOD82_0222FC0C _0222DB60: .word MOD82_0222F814 _0222DB64: .word 0x00000B78 _0222DB68: .word 0x0000024E _0222DB6C: .word 0x00000B7C _0222DB70: .word 0x00000265 _0222DB74: .word 0x00000B84 _0222DB78: .word 0x00020020 thumb_func_end MOD82_0222DA34 thumb_func_start MOD82_0222DB7C MOD82_0222DB7C: ; 0x0222DB7C push {r4, r5, r6, lr} add r4, r1, #0 bl OverlayManager_GetData add r5, r0, #0 bl MOD04_021DD984 bl MOD82_0222D5DC bl MOD04_021DD984 ldr r1, [r4] cmp r1, #5 bhi _0222DC24 add r0, r1, r1 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _0222DBA4: ; jump table .short _0222DBB0 - _0222DBA4 - 2 ; case 0 .short _0222DBCC - _0222DBA4 - 2 ; case 1 .short _0222DBE0 - _0222DBA4 - 2 ; case 2 .short _0222DBEE - _0222DBA4 - 2 ; case 3 .short _0222DC02 - _0222DBA4 - 2 ; case 4 .short _0222DC20 - _0222DBA4 - 2 ; case 5 _0222DBB0: bl FUN_0202E4C8 cmp r0, #0 beq _0222DC24 ldr r1, [r5, #0x28] ldr r0, _0222DC38 ; =0x0222FC0C str r1, [r0, #4] ldr r0, _0222DC3C ; =MOD82_0222DF74 ldr r1, _0222DC40 ; =MOD82_0222DF9C bl MOD04_021DD968 mov r0, #1 str r0, [r4] b _0222DC24 _0222DBCC: ldr r3, [r5, #0x10] mov r2, #0xc add r6, r3, #0 mul r6, r2 ldr r2, _0222DC44 ; =0x0222FA0C add r0, r5, #0 ldr r2, [r2, r6] blx r2 str r0, [r4] b _0222DC24 _0222DBE0: bl FUN_0200E308 cmp r0, #0 beq _0222DC24 mov r0, #3 str r0, [r4] b _0222DC24 _0222DBEE: ldr r3, [r5, #0x10] mov r2, #0xc add r6, r3, #0 mul r6, r2 ldr r2, _0222DC48 ; =0x0222FA10 add r0, r5, #0 ldr r2, [r2, r6] blx r2 str r0, [r4] b _0222DC24 _0222DC02: bl FUN_0200E308 cmp r0, #0 beq _0222DC24 ldr r3, [r5, #0x10] mov r2, #0xc add r6, r3, #0 mul r6, r2 ldr r2, _0222DC4C ; =0x0222FA14 ldr r1, [r4] ldr r2, [r2, r6] add r0, r5, #0 blx r2 str r0, [r4] b _0222DC24 _0222DC20: mov r0, #1 pop {r4, r5, r6, pc} _0222DC24: mov r0, #0xba lsl r0, r0, #4 ldr r0, [r5, r0] cmp r0, #0 beq _0222DC32 bl FUN_0201FDEC _0222DC32: mov r0, #0 pop {r4, r5, r6, pc} nop _0222DC38: .word MOD82_0222FC0C _0222DC3C: .word MOD82_0222DF74 _0222DC40: .word MOD82_0222DF9C _0222DC44: .word MOD82_0222FA0C _0222DC48: .word MOD82_0222FA10 _0222DC4C: .word MOD82_0222FA14 thumb_func_end MOD82_0222DB7C thumb_func_start MOD82_0222DC50 MOD82_0222DC50: ; 0x0222DC50 push {r3, r4, r5, lr} add r5, r0, #0 bl OverlayManager_GetData add r4, r0, #0 ldr r0, [r4, #0x24] bl FreeToHeap bl FUN_020888CC bl FUN_02088868 add r0, r4, #0 bl MOD82_0222DFFC ldr r0, _0222DCB8 ; =0x00000B84 ldr r0, [r4, r0] bl DestroyMsgData mov r0, #0x2e lsl r0, r0, #6 ldr r0, [r4, r0] bl DestroyMsgData ldr r0, _0222DCBC ; =0x00000B7C ldr r0, [r4, r0] bl DestroyMsgData ldr r0, _0222DCC0 ; =0x00000B78 ldr r0, [r4, r0] bl ScrStrBufs_delete add r0, r4, #0 bl MOD82_0222DD20 bl FUN_0202E4F0 ldr r0, [r4, #4] bl FreeToHeap add r0, r5, #0 bl OverlayManager_FreeData mov r0, #0 add r1, r0, #0 bl Main_SetVBlankIntrCB mov r0, #0x44 bl DestroyHeap mov r0, #1 pop {r3, r4, r5, pc} .align 2, 0 _0222DCB8: .word 0x00000B84 _0222DCBC: .word 0x00000B7C _0222DCC0: .word 0x00000B78 thumb_func_end MOD82_0222DC50 thumb_func_start MOD82_0222DCC4 MOD82_0222DCC4: ; 0x0222DCC4 push {r3, lr} bl FUN_0201C30C bl ApplyAndResetOamManagerBuffer ldr r3, _0222DCDC ; =0x027E0000 ldr r1, _0222DCE0 ; =0x00003FF8 mov r0, #1 ldr r2, [r3, r1] orr r0, r2 str r0, [r3, r1] pop {r3, pc} .align 2, 0 _0222DCDC: .word 0x027E0000 _0222DCE0: .word 0x00003FF8 thumb_func_end MOD82_0222DCC4 thumb_func_start MOD82_0222DCE4 MOD82_0222DCE4: ; 0x0222DCE4 push {r4, lr} sub sp, #0x28 ldr r4, _0222DD00 ; =0x0222F834 add r3, sp, #0 mov r2, #5 _0222DCEE: ldmia r4!, {r0, r1} stmia r3!, {r0, r1} sub r2, r2, #1 bne _0222DCEE add r0, sp, #0 bl GX_SetBanks add sp, #0x28 pop {r4, pc} .align 2, 0 _0222DD00: .word MOD82_0222F834 thumb_func_end MOD82_0222DCE4 thumb_func_start MOD82_0222DD04 MOD82_0222DD04: ; 0x0222DD04 push {r4, lr} add r4, r0, #0 add r0, r1, #0 bl OverlayManager_GetField18 mov r1, #0 str r0, [r4] add r0, r4, #0 add r2, r1, #0 str r1, [r4, #0x10] bl MOD82_0222DFCC pop {r4, pc} .align 2, 0 thumb_func_end MOD82_0222DD04 thumb_func_start MOD82_0222DD20 MOD82_0222DD20: ; 0x0222DD20 bx lr .align 2, 0 thumb_func_end MOD82_0222DD20 thumb_func_start MOD82_0222DD24 MOD82_0222DD24: ; 0x0222DD24 push {r4, lr} sub sp, #0x10 ldr r4, _0222DD50 ; =0x0222F824 add r3, sp, #0 add r2, r3, #0 ldmia r4!, {r0, r1} stmia r3!, {r0, r1} ldmia r4!, {r0, r1} stmia r3!, {r0, r1} add r0, r2, #0 bl FUN_0201D040 mov r0, #0x14 mov r1, #0x44 bl FUN_0201E00C bl FUN_0201D168 bl FUN_0201E0BC add sp, #0x10 pop {r4, pc} .align 2, 0 _0222DD50: .word MOD82_0222F824 thumb_func_end MOD82_0222DD24 thumb_func_start MOD82_0222DD54 MOD82_0222DD54: ; 0x0222DD54 push {r4, r5, r6, r7, lr} sub sp, #0x14 add r6, r0, #0 bl NNS_G2dInitOamManagerModule mov r0, #0 str r0, [sp] mov r1, #0x7e str r1, [sp, #4] str r0, [sp, #8] mov r3, #0x20 str r3, [sp, #0xc] mov r2, #0x44 str r2, [sp, #0x10] add r2, r0, #0 bl FUN_02009EAC ldr r1, _0222DE40 ; =0x00000BA4 mov r0, #0xa add r1, r6, r1 mov r2, #0x44 bl FUN_02008C9C mov r1, #0xba lsl r1, r1, #4 str r0, [r6, r1] add r0, r1, #4 mov r2, #1 add r0, r6, r0 mov r1, #0 lsl r2, r2, #0x14 bl FUN_02008D24 ldr r7, _0222DE44 ; =0x00000CCC mov r4, #0 add r5, r6, #0 _0222DD9C: mov r0, #2 add r1, r4, #0 mov r2, #0x44 bl FUN_02008DEC str r0, [r5, r7] add r4, r4, #1 add r5, r5, #4 cmp r4, #4 blt _0222DD9C mov r0, #0 str r0, [sp] mov r3, #1 str r3, [sp, #4] mov r0, #0x44 str r0, [sp, #8] ldr r0, _0222DE44 ; =0x00000CCC mov r1, #0x68 ldr r0, [r6, r0] mov r2, #0x23 bl FUN_02008F34 ldr r1, _0222DE48 ; =0x00000CDC mov r3, #0 str r0, [r6, r1] str r3, [sp] mov r0, #1 str r0, [sp, #4] mov r0, #3 str r0, [sp, #8] mov r0, #0x44 sub r1, #0xc str r0, [sp, #0xc] ldr r0, [r6, r1] mov r1, #0x68 mov r2, #9 bl FUN_02008FEC mov r1, #0xce lsl r1, r1, #4 str r0, [r6, r1] mov r0, #0 str r0, [sp] mov r0, #2 str r0, [sp, #4] mov r0, #0x44 sub r1, #0xc str r0, [sp, #8] ldr r0, [r6, r1] mov r1, #0x68 mov r2, #0x24 mov r3, #1 bl FUN_020090AC ldr r1, _0222DE4C ; =0x00000CE4 mov r2, #0x25 str r0, [r6, r1] mov r0, #0 str r0, [sp] mov r0, #3 str r0, [sp, #4] mov r0, #0x44 sub r1, #0xc str r0, [sp, #8] ldr r0, [r6, r1] mov r1, #0x68 mov r3, #1 bl FUN_020090AC ldr r1, _0222DE50 ; =0x00000CE8 str r0, [r6, r1] sub r1, #0xc ldr r0, [r6, r1] bl FUN_02009A50 mov r0, #0xce lsl r0, r0, #4 ldr r0, [r6, r0] bl FUN_02009CF0 add sp, #0x14 pop {r4, r5, r6, r7, pc} .align 2, 0 _0222DE40: .word 0x00000BA4 _0222DE44: .word 0x00000CCC _0222DE48: .word 0x00000CDC _0222DE4C: .word 0x00000CE4 _0222DE50: .word 0x00000CE8 thumb_func_end MOD82_0222DD54 thumb_func_start MOD82_0222DE54 MOD82_0222DE54: ; 0x0222DE54 push {r3, r4} mov r4, #0xba lsl r4, r4, #4 ldr r1, [r1, r4] str r1, [r0] str r2, [r0, #4] mov r2, #0 mov r1, #1 str r2, [r0, #0x10] lsl r1, r1, #0xc str r1, [r0, #0x14] str r1, [r0, #0x18] str r1, [r0, #0x1c] strh r2, [r0, #0x20] mov r1, #1 str r1, [r0, #0x24] str r3, [r0, #0x28] mov r1, #0x44 str r1, [r0, #0x2c] pop {r3, r4} bx lr .align 2, 0 thumb_func_end MOD82_0222DE54 thumb_func_start MOD82_0222DE80 MOD82_0222DE80: ; 0x0222DE80 push {r4, r5, r6, r7, lr} sub sp, #0x5c mov r1, #0 add r5, r0, #0 str r1, [sp] sub r0, r1, #1 str r0, [sp, #4] str r0, [sp, #8] str r1, [sp, #0xc] ldr r2, _0222DF28 ; =0x00000CCC str r1, [sp, #0x10] ldr r0, [r5, r2] add r3, r1, #0 str r0, [sp, #0x14] add r0, r2, #4 ldr r0, [r5, r0] str r0, [sp, #0x18] add r0, r2, #0 add r0, #8 ldr r0, [r5, r0] str r0, [sp, #0x1c] add r0, r2, #0 add r0, #0xc ldr r0, [r5, r0] add r2, #0x40 str r0, [sp, #0x20] str r1, [sp, #0x24] add r0, r5, r2 add r2, r1, #0 str r1, [sp, #0x28] bl FUN_02008AA4 ldr r2, _0222DF2C ; =0x00000D0C add r0, sp, #0x2c add r1, r5, #0 add r2, r5, r2 mov r3, #1 bl MOD82_0222DE54 ldr r4, _0222DF30 ; =0x0222F80C ldr r7, _0222DF34 ; =0x00000D78 mov r6, #0 _0222DED4: ldrh r0, [r4] lsl r0, r0, #0xc str r0, [sp, #0x34] ldrh r0, [r4, #2] lsl r0, r0, #0xc str r0, [sp, #0x38] add r0, sp, #0x2c bl FUN_0201FE94 ldr r1, _0222DF34 ; =0x00000D78 str r0, [r5, r1] add r0, r1, #0 ldr r0, [r5, r0] mov r1, #1 bl FUN_020200BC ldr r0, _0222DF34 ; =0x00000D78 add r1, r6, #0 ldr r0, [r5, r0] bl FUN_02020130 ldr r0, [r5, r7] mov r1, #0 bl FUN_020200A0 add r6, r6, #1 add r4, r4, #4 add r5, r5, #4 cmp r6, #2 blt _0222DED4 mov r0, #0x10 mov r1, #1 bl GX_EngineAToggleLayers mov r0, #0x10 mov r1, #1 bl GX_EngineBToggleLayers bl FUN_02033E74 add sp, #0x5c pop {r4, r5, r6, r7, pc} .align 2, 0 _0222DF28: .word 0x00000CCC _0222DF2C: .word 0x00000D0C _0222DF30: .word MOD82_0222F80C _0222DF34: .word 0x00000D78 thumb_func_end MOD82_0222DE80 thumb_func_start MOD82_0222DF38 MOD82_0222DF38: ; 0x0222DF38 push {r3, r4, r5, r6, lr} sub sp, #0xc ldr r5, _0222DF68 ; =0x0222F804 add r4, sp, #4 ldrh r6, [r5] add r3, sp, #4 strh r6, [r4] ldrh r6, [r5, #2] strh r6, [r4, #2] ldrh r6, [r5, #4] ldrh r5, [r5, #6] strh r6, [r4, #4] strh r5, [r4, #6] strb r1, [r4, #2] strh r2, [r4, #6] mov r1, #0x44 str r1, [sp] add r1, r3, #0 mov r2, #0x1f mov r3, #0xb bl Std_CreateYesNoMenu add sp, #0xc pop {r3, r4, r5, r6, pc} .align 2, 0 _0222DF68: .word MOD82_0222F804 thumb_func_end MOD82_0222DF38 thumb_func_start MOD82_0222DF6C MOD82_0222DF6C: ; 0x0222DF6C str r1, [r0, #0x1c] str r2, [r0, #0x20] bx lr .align 2, 0 thumb_func_end MOD82_0222DF6C thumb_func_start MOD82_0222DF74 MOD82_0222DF74: ; 0x0222DF74 push {r4, r5, r6, lr} add r5, r1, #0 add r4, r2, #0 bl OS_DisableInterrupts add r6, r0, #0 ldr r0, _0222DF98 ; =0x0222FC0C add r1, r5, #0 ldr r0, [r0, #4] add r2, r4, #0 bl NNS_FndAllocFromExpHeapEx add r4, r0, #0 add r0, r6, #0 bl OS_RestoreInterrupts add r0, r4, #0 pop {r4, r5, r6, pc} .align 2, 0 _0222DF98: .word MOD82_0222FC0C thumb_func_end MOD82_0222DF74 thumb_func_start MOD82_0222DF9C MOD82_0222DF9C: ; 0x0222DF9C push {r3, r4, r5, lr} add r5, r1, #0 beq _0222DFB8 bl OS_DisableInterrupts add r4, r0, #0 ldr r0, _0222DFBC ; =0x0222FC0C add r1, r5, #0 ldr r0, [r0, #4] bl NNS_FndFreeToExpHeap add r0, r4, #0 bl OS_RestoreInterrupts _0222DFB8: pop {r3, r4, r5, pc} nop _0222DFBC: .word MOD82_0222FC0C thumb_func_end MOD82_0222DF9C thumb_func_start MOD82_0222DFC0 MOD82_0222DFC0: ; 0x0222DFC0 push {r3, lr} bl MOD04_021DDB08 mov r1, #3 sub r0, r1, r0 pop {r3, pc} thumb_func_end MOD82_0222DFC0 thumb_func_start MOD82_0222DFCC MOD82_0222DFCC: ; 0x0222DFCC str r1, [r0, #0x14] str r2, [r0, #0x18] bx lr .align 2, 0 thumb_func_end MOD82_0222DFCC thumb_func_start MOD82_0222DFD4 MOD82_0222DFD4: ; 0x0222DFD4 push {r4, lr} add r4, r0, #0 bl MOD82_0222DCE4 bl MOD82_0222DD24 add r0, r4, #0 bl MOD82_0222DD54 add r0, r4, #0 bl MOD82_0222DE80 ldr r0, _0222DFF8 ; =MOD82_0222DCC4 mov r1, #0 bl Main_SetVBlankIntrCB pop {r4, pc} nop _0222DFF8: .word MOD82_0222DCC4 thumb_func_end MOD82_0222DFD4 thumb_func_start MOD82_0222DFFC MOD82_0222DFFC: ; 0x0222DFFC push {r3, r4, r5, r6, r7, lr} add r6, r0, #0 ldr r0, _0222E048 ; =0x00000CDC ldr r0, [r6, r0] bl FUN_02009C0C mov r0, #0xce lsl r0, r0, #4 ldr r0, [r6, r0] bl FUN_02009E04 ldr r7, _0222E04C ; =0x00000CCC mov r4, #0 add r5, r6, #0 _0222E018: ldr r0, [r5, r7] bl FUN_02008E2C add r4, r4, #1 add r5, r5, #4 cmp r4, #4 blt _0222E018 mov r0, #0xba lsl r0, r0, #4 ldr r0, [r6, r0] bl FUN_0201FD58 mov r0, #0xba mov r1, #0 lsl r0, r0, #4 str r1, [r6, r0] bl DeinitOamData bl FUN_0201D12C bl FUN_0201E08C pop {r3, r4, r5, r6, r7, pc} nop _0222E048: .word 0x00000CDC _0222E04C: .word 0x00000CCC thumb_func_end MOD82_0222DFFC thumb_func_start MOD82_0222E050 MOD82_0222E050: ; 0x0222E050 push {r3, r4, lr} sub sp, #0xc add r4, r0, #0 bl MOD82_0222E4AC mov r0, #8 str r0, [sp] mov r1, #1 str r1, [sp, #4] mov r0, #0x44 str r0, [sp, #8] mov r0, #0 add r2, r1, #0 add r3, r0, #0 bl FUN_0200E1D0 ldr r0, [r4, #4] bl MOD82_0222E15C add r0, r4, #0 bl MOD82_0222E264 add r0, r4, #0 bl MOD82_0222E35C mov r0, #1 add r1, r0, #0 bl GX_EngineAToggleLayers mov r0, #2 mov r1, #1 bl GX_EngineAToggleLayers mov r0, #1 add r1, r0, #0 bl GX_EngineBToggleLayers mov r0, #2 mov r1, #1 bl GX_EngineBToggleLayers ldr r0, [r4] ldr r0, [r0, #0xc] bl FUN_02033288 add r0, r4, #0 bl MOD82_0222F6D0 ldr r0, [r4] mov r1, #0 ldr r0, [r0] bl SaveStruct23_Substruct2_SetField_0x3 str r0, [r4, #0x38] str r0, [r4, #0x3c] mov r0, #1 str r0, [r4, #0x44] ldr r0, _0222E110 ; =0x00000EB4 mov r1, #0 str r1, [r4, r0] bl MOD04_021DDD7C cmp r0, #0 bne _0222E104 ldr r0, [r4] ldr r0, [r0, #0x24] cmp r0, #0 beq _0222E0FE ldr r0, _0222E114 ; =0x00000F0F mov r1, #0x2e str r0, [sp] lsl r1, r1, #6 mov r2, #1 ldr r1, [r4, r1] add r0, r4, #0 add r3, r2, #0 bl MOD82_0222F59C add r0, r4, #0 mov r1, #0x2d mov r2, #2 bl MOD82_0222DF6C add r0, r4, #0 bl MOD82_0222F700 b _0222E108 _0222E0FE: mov r0, #0 str r0, [r4, #0x1c] b _0222E108 _0222E104: mov r0, #0x31 str r0, [r4, #0x1c] _0222E108: mov r0, #2 add sp, #0xc pop {r3, r4, pc} nop _0222E110: .word 0x00000EB4 _0222E114: .word 0x00000F0F thumb_func_end MOD82_0222E050 thumb_func_start MOD82_0222E118 MOD82_0222E118: ; 0x0222E118 push {r4, lr} add r4, r0, #0 bl MOD82_0222DFC0 bl FUN_02033EEC ldr r1, [r4, #0x1c] add r0, r4, #0 lsl r2, r1, #2 ldr r1, _0222E134 ; =0x0222FA18 ldr r1, [r1, r2] blx r1 pop {r4, pc} nop _0222E134: .word MOD82_0222FA18 thumb_func_end MOD82_0222E118 thumb_func_start MOD82_0222E138 MOD82_0222E138: ; 0x0222E138 push {r4, lr} add r4, r0, #0 bl MOD82_0222E504 add r0, r4, #0 bl MOD82_0222E474 ldr r0, [r4, #4] bl MOD82_0222E240 ldr r0, [r4, #0x14] str r0, [r4, #0x10] cmp r0, #0 bne _0222E158 mov r0, #5 pop {r4, pc} _0222E158: mov r0, #1 pop {r4, pc} thumb_func_end MOD82_0222E138 thumb_func_start MOD82_0222E15C MOD82_0222E15C: ; 0x0222E15C push {r3, r4, r5, lr} sub sp, #0x70 ldr r5, _0222E230 ; =0x0222F894 add r4, r0, #0 ldmia r5!, {r0, r1} add r3, sp, #0x54 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, #0 str r0, [r3] add r0, r4, #0 add r3, r1, #0 bl InitBgFromTemplate mov r0, #1 mov r1, #0 bl GX_EngineAToggleLayers add r0, r4, #0 mov r1, #0 bl BgClearTilemapBufferAndCommit ldr r5, _0222E234 ; =0x0222F878 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, #1 str r0, [r3] add r0, r4, #0 mov r3, #0 bl InitBgFromTemplate mov r0, #2 mov r1, #0 bl GX_EngineAToggleLayers ldr r5, _0222E238 ; =0x0222F8B0 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, #4 str r0, [r3] add r0, r4, #0 mov r3, #0 bl InitBgFromTemplate mov r0, #1 mov r1, #0 bl GX_EngineBToggleLayers add r0, r4, #0 mov r1, #4 bl BgClearTilemapBufferAndCommit ldr r5, _0222E23C ; =0x0222F85C 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, #5 str r0, [r3] add r0, r4, #0 mov r3, #0 bl InitBgFromTemplate mov r0, #2 mov r1, #0 bl GX_EngineBToggleLayers mov r0, #0 mov r1, #0x20 add r2, r0, #0 mov r3, #0x44 bl BG_ClearCharDataRange mov r0, #4 mov r1, #0x20 mov r2, #0 mov r3, #0x44 bl BG_ClearCharDataRange add sp, #0x70 pop {r3, r4, r5, pc} nop _0222E230: .word MOD82_0222F894 _0222E234: .word MOD82_0222F878 _0222E238: .word MOD82_0222F8B0 _0222E23C: .word MOD82_0222F85C thumb_func_end MOD82_0222E15C thumb_func_start MOD82_0222E240 MOD82_0222E240: ; 0x0222E240 push {r4, lr} add r4, r0, #0 mov r1, #5 bl FreeBgTilemapBuffer add r0, r4, #0 mov r1, #4 bl FreeBgTilemapBuffer add r0, r4, #0 mov r1, #1 bl FreeBgTilemapBuffer add r0, r4, #0 mov r1, #0 bl FreeBgTilemapBuffer pop {r4, pc} thumb_func_end MOD82_0222E240 thumb_func_start MOD82_0222E264 MOD82_0222E264: ; 0x0222E264 push {r3, r4, r5, lr} sub sp, #0x10 add r5, r0, #0 ldr r4, [r5, #4] mov r2, #0 str r2, [sp] mov r0, #0x44 str r0, [sp, #4] mov r0, #0x5c mov r1, #3 add r3, r2, #0 bl GfGfxLoader_GXLoadPal mov r3, #0 str r3, [sp] mov r0, #0x44 str r0, [sp, #4] mov r0, #0x5c mov r1, #3 mov r2, #4 bl GfGfxLoader_GXLoadPal mov r1, #0x1a mov r0, #0 lsl r1, r1, #4 mov r2, #0x44 bl FUN_02002EEC mov r1, #0x1a mov r0, #4 lsl r1, r1, #4 mov r2, #0x44 bl FUN_02002EEC ldr r0, [r5] ldr r0, [r0, #0x10] bl Options_GetFrame lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp] mov r0, #0x44 str r0, [sp, #4] add r0, r4, #0 mov r1, #0 mov r2, #1 mov r3, #0xa bl FUN_0200CD68 mov r1, #0 str r1, [sp] mov r0, #0x44 str r0, [sp, #4] add r0, r4, #0 mov r2, #0x1f mov r3, #0xb bl FUN_0200CB00 mov r1, #0 mov r0, #0x36 str r1, [sp] lsl r0, r0, #6 str r0, [sp, #4] str r1, [sp, #8] mov r0, #0x44 str r0, [sp, #0xc] mov r0, #0x5c mov r1, #2 add r2, r4, #0 mov r3, #1 bl GfGfxLoader_LoadCharData mov r1, #0 mov r0, #6 str r1, [sp] lsl r0, r0, #8 str r0, [sp, #4] str r1, [sp, #8] mov r0, #0x44 str r0, [sp, #0xc] mov r0, #0x5c mov r1, #4 add r2, r4, #0 mov r3, #1 bl GfGfxLoader_LoadScrnData mov r1, #0 mov r0, #0x36 str r1, [sp] lsl r0, r0, #6 str r0, [sp, #4] str r1, [sp, #8] mov r0, #0x44 str r0, [sp, #0xc] mov r0, #0x5c mov r1, #9 add r2, r4, #0 mov r3, #5 bl GfGfxLoader_LoadCharData mov r1, #0 mov r0, #6 str r1, [sp] lsl r0, r0, #8 str r0, [sp, #4] str r1, [sp, #8] mov r0, #0x44 str r0, [sp, #0xc] mov r0, #0x5c mov r1, #0xa add r2, r4, #0 mov r3, #5 bl GfGfxLoader_LoadScrnData mov r0, #0 add r1, r0, #0 bl BG_SetMaskColor mov r0, #4 mov r1, #0 bl BG_SetMaskColor add sp, #0x10 pop {r3, r4, r5, pc} thumb_func_end MOD82_0222E264 thumb_func_start MOD82_0222E35C MOD82_0222E35C: ; 0x0222E35C push {r3, r4, lr} sub sp, #0x14 mov r3, #4 add r4, r0, #0 str r3, [sp] mov r0, #0x17 str r0, [sp, #4] mov r0, #0x10 str r0, [sp, #8] mov r0, #0xd str r0, [sp, #0xc] mov r0, #0xa4 mov r1, #0x37 str r0, [sp, #0x10] lsl r1, r1, #6 ldr r0, [r4, #4] add r1, r4, r1 mov r2, #0 bl AddWindowParameterized mov r0, #0x37 lsl r0, r0, #6 add r0, r4, r0 mov r1, #0 bl FillWindowPixelBuffer mov r0, #0xe str r0, [sp] mov r0, #4 str r0, [sp, #4] mov r0, #2 str r0, [sp, #8] mov r0, #0xd str r0, [sp, #0xc] mov r0, #0x94 mov r1, #0xda str r0, [sp, #0x10] lsl r1, r1, #4 ldr r0, [r4, #4] add r1, r4, r1 mov r2, #0 mov r3, #0x1a bl AddWindowParameterized mov r0, #0xda lsl r0, r0, #4 add r0, r4, r0 mov r1, #0xf bl FillWindowPixelBuffer mov r0, #0xe str r0, [sp] mov r0, #4 str r0, [sp, #4] mov r0, #2 str r0, [sp, #8] mov r0, #0xd str r0, [sp, #0xc] mov r0, #0x9c mov r1, #0xd9 str r0, [sp, #0x10] lsl r1, r1, #4 ldr r0, [r4, #4] add r1, r4, r1 mov r2, #0 mov r3, #0x1a bl AddWindowParameterized mov r0, #0xd9 lsl r0, r0, #4 add r0, r4, r0 mov r1, #0xf bl FillWindowPixelBuffer mov r2, #1 mov r1, #0xdb lsl r1, r1, #4 str r2, [sp] mov r0, #0x18 str r0, [sp, #4] mov r0, #2 str r0, [sp, #8] mov r0, #0 str r0, [sp, #0xc] mov r0, #0x85 lsl r0, r0, #2 str r0, [sp, #0x10] ldr r0, [r4, #4] add r1, r4, r1 mov r3, #4 bl AddWindowParameterized mov r0, #0xdb lsl r0, r0, #4 add r0, r4, r0 mov r1, #6 bl FillWindowPixelBuffer mov r3, #1 ldr r0, _0222E46C ; =0x00010406 str r3, [sp] str r0, [sp, #4] ldr r1, _0222E470 ; =0x00000B8C mov r0, #0xdb lsl r0, r0, #4 ldr r1, [r4, r1] add r0, r4, r0 mov r2, #0 bl MOD82_0222F62C mov r0, #0x13 str r0, [sp] mov r1, #0x1b str r1, [sp, #4] mov r0, #4 str r0, [sp, #8] mov r0, #0xd str r0, [sp, #0xc] mov r0, #0x28 str r0, [sp, #0x10] lsl r1, r1, #7 ldr r0, [r4, #4] add r1, r4, r1 mov r2, #0 mov r3, #2 bl AddWindowParameterized mov r0, #0x36 lsl r0, r0, #6 add r0, r4, r0 mov r1, #0xf bl FillWindowPixelBuffer add sp, #0x14 pop {r3, r4, pc} nop _0222E46C: .word 0x00010406 _0222E470: .word 0x00000B8C thumb_func_end MOD82_0222E35C thumb_func_start MOD82_0222E474 MOD82_0222E474: ; 0x0222E474 push {r4, lr} add r4, r0, #0 mov r0, #0x36 lsl r0, r0, #6 add r0, r4, r0 bl RemoveWindow mov r0, #0xdb lsl r0, r0, #4 add r0, r4, r0 bl RemoveWindow mov r0, #0xd9 lsl r0, r0, #4 add r0, r4, r0 bl RemoveWindow mov r0, #0xda lsl r0, r0, #4 add r0, r4, r0 bl RemoveWindow mov r0, #0x37 lsl r0, r0, #6 add r0, r4, r0 bl RemoveWindow pop {r4, pc} thumb_func_end MOD82_0222E474 thumb_func_start MOD82_0222E4AC MOD82_0222E4AC: ; 0x0222E4AC push {r4, lr} add r4, r0, #0 mov r0, #0xb4 mov r1, #0x44 bl String_ctor ldr r1, _0222E4F4 ; =0x00000B88 str r0, [r4, r1] mov r0, #4 mov r1, #0x44 bl String_ctor mov r1, #0xb9 lsl r1, r1, #4 str r0, [r4, r1] mov r0, #3 mov r1, #0x44 bl String_ctor ldr r1, _0222E4F8 ; =0x00000B94 str r0, [r4, r1] sub r1, #0x18 ldr r0, [r4, r1] mov r1, #0xa bl NewString_ReadMsgData ldr r1, _0222E4FC ; =0x00000B8C str r0, [r4, r1] mov r0, #1 lsl r0, r0, #8 mov r1, #0x44 bl String_ctor ldr r1, _0222E500 ; =0x00000B98 str r0, [r4, r1] pop {r4, pc} .align 2, 0 _0222E4F4: .word 0x00000B88 _0222E4F8: .word 0x00000B94 _0222E4FC: .word 0x00000B8C _0222E500: .word 0x00000B98 thumb_func_end MOD82_0222E4AC thumb_func_start MOD82_0222E504 MOD82_0222E504: ; 0x0222E504 push {r4, lr} add r4, r0, #0 ldr r0, _0222E534 ; =0x00000B98 ldr r0, [r4, r0] bl String_dtor ldr r0, _0222E538 ; =0x00000B8C ldr r0, [r4, r0] bl String_dtor ldr r0, _0222E53C ; =0x00000B94 ldr r0, [r4, r0] bl String_dtor mov r0, #0xb9 lsl r0, r0, #4 ldr r0, [r4, r0] bl String_dtor ldr r0, _0222E540 ; =0x00000B88 ldr r0, [r4, r0] bl String_dtor pop {r4, pc} .align 2, 0 _0222E534: .word 0x00000B98 _0222E538: .word 0x00000B8C _0222E53C: .word 0x00000B94 _0222E540: .word 0x00000B88 thumb_func_end MOD82_0222E504 thumb_func_start MOD82_0222E544 MOD82_0222E544: ; 0x0222E544 push {r3, r4, lr} sub sp, #4 ldr r1, _0222E56C ; =0x00000F0F add r4, r0, #0 str r1, [sp] ldr r1, _0222E570 ; =0x00000B84 mov r2, #0x10 ldr r1, [r4, r1] mov r3, #1 bl MOD82_0222F59C add r0, r4, #0 mov r1, #0x2e mov r2, #1 bl MOD82_0222DF6C mov r0, #3 add sp, #4 pop {r3, r4, pc} nop _0222E56C: .word 0x00000F0F _0222E570: .word 0x00000B84 thumb_func_end MOD82_0222E544 thumb_func_start MOD82_0222E574 MOD82_0222E574: ; 0x0222E574 push {r3, r4, lr} sub sp, #4 add r4, r0, #0 mov r0, #0xeb lsl r0, r0, #4 ldr r0, [r4, r0] mov r1, #0x44 bl FUN_020021AC mov r1, #0 mvn r1, r1 cmp r0, r1 beq _0222E5CC sub r1, r1, #1 cmp r0, r1 bne _0222E5A8 bl FUN_020332DC mov r1, #0 add r0, r4, #0 add r2, r1, #0 bl MOD82_0222DFCC mov r0, #0x2c str r0, [r4, #0x1c] b _0222E5CC _0222E5A8: ldr r0, _0222E5D4 ; =0x00000F0F mov r1, #0x2e str r0, [sp] lsl r1, r1, #6 mov r2, #1 ldr r1, [r4, r1] add r0, r4, #0 add r3, r2, #0 bl MOD82_0222F59C add r0, r4, #0 mov r1, #0x2d mov r2, #2 bl MOD82_0222DF6C add r0, r4, #0 bl MOD82_0222F700 _0222E5CC: mov r0, #3 add sp, #4 pop {r3, r4, pc} nop _0222E5D4: .word 0x00000F0F thumb_func_end MOD82_0222E574 thumb_func_start MOD82_0222E5D8 MOD82_0222E5D8: ; 0x0222E5D8 push {r3, r4, lr} sub sp, #4 ldr r1, _0222E600 ; =0x00000F0F add r4, r0, #0 str r1, [sp] mov r1, #0x2e lsl r1, r1, #6 ldr r1, [r4, r1] mov r2, #8 mov r3, #1 bl MOD82_0222F59C add r0, r4, #0 mov r1, #0x2e mov r2, #0x32 bl MOD82_0222DF6C mov r0, #3 add sp, #4 pop {r3, r4, pc} .align 2, 0 _0222E600: .word 0x00000F0F thumb_func_end MOD82_0222E5D8 thumb_func_start MOD82_0222E604 MOD82_0222E604: ; 0x0222E604 push {r4, lr} add r4, r0, #0 mov r0, #0xeb lsl r0, r0, #4 ldr r0, [r4, r0] mov r1, #0x44 bl FUN_020021AC mov r1, #0 mvn r1, r1 cmp r0, r1 beq _0222E656 sub r1, r1, #1 cmp r0, r1 bne _0222E636 bl MOD04_021DDD7C cmp r0, #0 bne _0222E630 mov r0, #0 str r0, [r4, #0x1c] b _0222E656 _0222E630: mov r0, #0x27 str r0, [r4, #0x1c] b _0222E656 _0222E636: bl MOD04_021DDD7C cmp r0, #0 bne _0222E64C mov r1, #0 add r0, r4, #0 add r2, r1, #0 bl MOD82_0222DFCC mov r0, #0x2c b _0222E64E _0222E64C: mov r0, #0x27 _0222E64E: str r0, [r4, #0x1c] ldr r0, [r4] mov r1, #1 str r1, [r0, #0x20] _0222E656: mov r0, #3 pop {r4, pc} .align 2, 0 thumb_func_end MOD82_0222E604 thumb_func_start MOD82_0222E65C MOD82_0222E65C: ; 0x0222E65C push {r4, lr} add r4, r0, #0 add r0, #0x2c mov r1, #2 mov r2, #1 mov r3, #0x14 bl MOD04_021DDEE0 mov r0, #2 bl MOD04_021DDE7C bl MOD04_021DDDCC mov r0, #3 str r0, [r4, #0x1c] pop {r4, pc} thumb_func_end MOD82_0222E65C thumb_func_start MOD82_0222E67C MOD82_0222E67C: ; 0x0222E67C push {r3, r4, lr} sub sp, #0x44 add r4, r0, #0 bl MOD04_021DDCE8 bl MOD04_021DDD7C cmp r0, #0 beq _0222E6E8 bl MOD04_021DDC1C cmp r0, #4 beq _0222E6DE cmp r0, #7 beq _0222E6A0 cmp r0, #8 beq _0222E6C4 b _0222E6E8 _0222E6A0: add r0, sp, #4 bl MOD04_021DD808 ldr r1, _0222E6F0 ; =0x00000EB8 str r0, [r4, r1] ldr r2, [sp, #4] add r0, r1, #4 str r2, [r4, r0] bl MOD04_021DD6F0 bl MOD04_021DDBBC add r0, r4, #0 bl MOD82_0222F724 mov r0, #0x35 str r0, [r4, #0x1c] b _0222E6E8 _0222E6C4: add r0, sp, #0 bl MOD04_021DD808 add r0, r4, #0 bl MOD82_0222F724 mov r1, #0x33 mov r0, #0x3b str r1, [r4, #0x1c] sub r1, #0x35 lsl r0, r0, #6 str r1, [r4, r0] b _0222E6E8 _0222E6DE: add r0, sp, #8 bl MOD04_021DD9DC mov r0, #4 str r0, [r4, #0x1c] _0222E6E8: mov r0, #3 add sp, #0x44 pop {r3, r4, pc} nop _0222E6F0: .word 0x00000EB8 thumb_func_end MOD82_0222E67C thumb_func_start MOD82_0222E6F4 MOD82_0222E6F4: ; 0x0222E6F4 push {r4, lr} add r4, r0, #0 bl MOD04_021DE05C cmp r0, #0 beq _0222E704 mov r0, #5 str r0, [r4, #0x1c] _0222E704: mov r0, #3 pop {r4, pc} thumb_func_end MOD82_0222E6F4 thumb_func_start MOD82_0222E708 MOD82_0222E708: ; 0x0222E708 push {r4, lr} sub sp, #8 add r4, r0, #0 bl MOD04_021DDF4C cmp r0, #3 beq _0222E720 cmp r0, #4 beq _0222E726 cmp r0, #5 beq _0222E726 b _0222E794 _0222E720: mov r0, #6 str r0, [r4, #0x1c] b _0222E794 _0222E726: add r0, r4, #0 bl MOD82_0222F724 add r0, sp, #4 add r1, sp, #0 bl MOD04_021DD718 ldr r1, _0222E79C ; =0x00000EB8 str r0, [r4, r1] ldr r2, [sp, #4] add r0, r1, #4 str r2, [r4, r0] bl MOD04_021DD6F0 bl MOD04_021DDBBC ldr r0, [sp] cmp r0, #7 bhi _0222E782 add r0, r0, r0 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _0222E758: ; jump table .short _0222E782 - _0222E758 - 2 ; case 0 .short _0222E768 - _0222E758 - 2 ; case 1 .short _0222E768 - _0222E758 - 2 ; case 2 .short _0222E782 - _0222E758 - 2 ; case 3 .short _0222E76E - _0222E758 - 2 ; case 4 .short _0222E782 - _0222E758 - 2 ; case 5 .short _0222E778 - _0222E758 - 2 ; case 6 .short _0222E77E - _0222E758 - 2 ; case 7 _0222E768: mov r0, #0x35 str r0, [r4, #0x1c] b _0222E782 _0222E76E: bl MOD04_021EB550 mov r0, #0x35 str r0, [r4, #0x1c] b _0222E782 _0222E778: mov r0, #0x35 str r0, [r4, #0x1c] b _0222E782 _0222E77E: bl FUN_020335E0 _0222E782: ldr r1, [sp, #4] ldr r0, _0222E7A0 ; =0xFFFFB1E0 cmp r1, r0 bge _0222E794 ldr r0, _0222E7A4 ; =0xFFFF8AD1 cmp r1, r0 blt _0222E794 mov r0, #0x35 str r0, [r4, #0x1c] _0222E794: mov r0, #3 add sp, #8 pop {r4, pc} nop _0222E79C: .word 0x00000EB8 _0222E7A0: .word 0xFFFFB1E0 _0222E7A4: .word 0xFFFF8AD1 thumb_func_end MOD82_0222E708 thumb_func_start MOD82_0222E7A8 MOD82_0222E7A8: ; 0x0222E7A8 push {r3, r4, r5, lr} add r5, r0, #0 ldr r0, [r5] ldr r0, [r0, #8] bl FUN_02023830 cmp r0, #0 bne _0222E7C2 ldr r1, [r5] ldr r0, [r1, #8] ldr r1, [r1, #0x1c] bl FUN_02023834 _0222E7C2: ldr r0, [r5] ldr r0, [r0, #8] bl FUN_02023830 add r4, r0, #0 ldr r0, [r5] ldr r0, [r0, #0x14] bl DWC_CreateFriendKey add r3, r0, #0 add r2, r1, #0 add r0, r4, #0 add r1, r3, #0 bl MOD82_0222D5C0 mov r0, #7 str r0, [r5, #0x1c] mov r0, #3 pop {r3, r4, r5, pc} thumb_func_end MOD82_0222E7A8 thumb_func_start MOD82_0222E7E8 MOD82_0222E7E8: ; 0x0222E7E8 push {r4, lr} add r4, r0, #0 bl MOD82_0222D920 mov r0, #8 str r0, [r4, #0x1c] mov r0, #3 pop {r4, pc} thumb_func_end MOD82_0222E7E8 thumb_func_start MOD82_0222E7F8 MOD82_0222E7F8: ; 0x0222E7F8 push {r4, lr} add r4, r0, #0 bl MOD82_0222D7C4 cmp r0, #0 beq _0222E8AA bl MOD82_0222D7E4 add r1, r0, #7 cmp r1, #9 bhi _0222E8AA add r1, r1, r1 add r1, pc ldrh r1, [r1, #6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _0222E81A: ; jump table .short _0222E882 - _0222E81A - 2 ; case 0 .short _0222E894 - _0222E81A - 2 ; case 1 .short _0222E8A6 - _0222E81A - 2 ; case 2 .short _0222E882 - _0222E81A - 2 ; case 3 .short _0222E8AA - _0222E81A - 2 ; case 4 .short _0222E894 - _0222E81A - 2 ; case 5 .short _0222E870 - _0222E81A - 2 ; case 6 .short _0222E82E - _0222E81A - 2 ; case 7 .short _0222E85E - _0222E81A - 2 ; case 8 .short _0222E870 - _0222E81A - 2 ; case 9 _0222E82E: add r0, r4, #0 bl MOD82_0222F724 ldr r0, [r4] ldr r0, [r0, #0x18] cmp r0, #0 beq _0222E846 cmp r0, #1 beq _0222E852 cmp r0, #2 beq _0222E858 b _0222E8AA _0222E846: add r0, r4, #0 mov r1, #9 mov r2, #0xb bl MOD82_0222DF6C b _0222E8AA _0222E852: mov r0, #0x17 str r0, [r4, #0x1c] b _0222E8AA _0222E858: mov r0, #0x1b str r0, [r4, #0x1c] b _0222E8AA _0222E85E: mov r1, #0x3b lsl r1, r1, #6 str r0, [r4, r1] mov r0, #0x33 str r0, [r4, #0x1c] add r0, r4, #0 bl MOD82_0222F724 b _0222E8AA _0222E870: mov r1, #0x3b lsl r1, r1, #6 str r0, [r4, r1] mov r0, #0x33 str r0, [r4, #0x1c] add r0, r4, #0 bl MOD82_0222F724 b _0222E8AA _0222E882: mov r1, #0x3b lsl r1, r1, #6 str r0, [r4, r1] mov r0, #0x33 str r0, [r4, #0x1c] add r0, r4, #0 bl MOD82_0222F724 b _0222E8AA _0222E894: mov r1, #0x3b lsl r1, r1, #6 str r0, [r4, r1] mov r0, #0x33 str r0, [r4, #0x1c] add r0, r4, #0 bl MOD82_0222F724 b _0222E8AA _0222E8A6: bl FUN_020335E0 _0222E8AA: mov r0, #3 pop {r4, pc} .align 2, 0 thumb_func_end MOD82_0222E7F8 thumb_func_start MOD82_0222E8B0 MOD82_0222E8B0: ; 0x0222E8B0 push {r4, lr} add r4, r0, #0 ldr r0, [r4, #0x38] bl MOD82_0222D7F0 mov r0, #0xa str r0, [r4, #0x1c] add r0, r4, #0 bl MOD82_0222F700 mov r0, #3 pop {r4, pc} thumb_func_end MOD82_0222E8B0 thumb_func_start MOD82_0222E8C8 MOD82_0222E8C8: ; 0x0222E8C8 push {r4, lr} add r4, r0, #0 bl MOD82_0222D7C4 cmp r0, #0 beq _0222E954 bl MOD82_0222D7E4 add r1, r0, #7 cmp r1, #6 bhi _0222E944 add r1, r1, r1 add r1, pc ldrh r1, [r1, #6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _0222E8EA: ; jump table .short _0222E928 - _0222E8EA - 2 ; case 0 .short _0222E91C - _0222E8EA - 2 ; case 1 .short _0222E934 - _0222E8EA - 2 ; case 2 .short _0222E928 - _0222E8EA - 2 ; case 3 .short _0222E910 - _0222E8EA - 2 ; case 4 .short _0222E904 - _0222E8EA - 2 ; case 5 .short _0222E8F8 - _0222E8EA - 2 ; case 6 _0222E8F8: mov r1, #0x3b lsl r1, r1, #6 str r0, [r4, r1] mov r0, #0x33 str r0, [r4, #0x1c] b _0222E94E _0222E904: mov r1, #0x3b lsl r1, r1, #6 str r0, [r4, r1] mov r0, #0x33 str r0, [r4, #0x1c] b _0222E94E _0222E910: mov r1, #0x3b lsl r1, r1, #6 str r0, [r4, r1] mov r0, #0x33 str r0, [r4, #0x1c] b _0222E94E _0222E91C: mov r1, #0x3b lsl r1, r1, #6 str r0, [r4, r1] mov r0, #0x33 str r0, [r4, #0x1c] b _0222E94E _0222E928: mov r1, #0x3b lsl r1, r1, #6 str r0, [r4, r1] mov r0, #0x33 str r0, [r4, #0x1c] b _0222E94E _0222E934: mov r1, #0x3b lsl r1, r1, #6 str r0, [r4, r1] mov r0, #0x33 str r0, [r4, #0x1c] bl FUN_020335E0 b _0222E94E _0222E944: cmp r0, #0 ble _0222E94E str r0, [r4, #0x40] ldr r0, [r4, #0x20] str r0, [r4, #0x1c] _0222E94E: add r0, r4, #0 bl MOD82_0222F724 _0222E954: mov r0, #3 pop {r4, pc} thumb_func_end MOD82_0222E8C8 thumb_func_start MOD82_0222E958 MOD82_0222E958: ; 0x0222E958 push {r3, r4, lr} sub sp, #4 ldr r1, _0222E980 ; =0x00000F0F add r4, r0, #0 str r1, [sp] ldr r1, _0222E984 ; =0x00000B7C mov r2, #0 ldr r1, [r4, r1] mov r3, #1 bl MOD82_0222F59C add r0, r4, #0 mov r1, #0x2d mov r2, #0xc bl MOD82_0222DF6C mov r0, #3 add sp, #4 pop {r3, r4, pc} nop _0222E980: .word 0x00000F0F _0222E984: .word 0x00000B7C thumb_func_end MOD82_0222E958 thumb_func_start MOD82_0222E988 MOD82_0222E988: ; 0x0222E988 push {r4, lr} add r4, r0, #0 mov r0, #0xda lsl r0, r0, #4 add r0, r4, r0 mov r1, #0 mov r2, #0x1f mov r3, #0xa bl DrawFrameAndWindow1 mov r1, #0xb9 mov r0, #0xda lsl r1, r1, #4 lsl r0, r0, #4 ldr r1, [r4, r1] ldr r2, [r4, #0x44] add r0, r4, r0 mov r3, #3 bl MOD82_0222F694 add r0, r4, #0 mov r1, #0 mov r2, #1 bl MOD82_0222F6D8 mov r0, #0xda lsl r0, r0, #4 add r0, r4, r0 bl CopyWindowToVram mov r0, #0xd str r0, [r4, #0x1c] mov r0, #3 pop {r4, pc} thumb_func_end MOD82_0222E988 thumb_func_start MOD82_0222E9CC MOD82_0222E9CC: ; 0x0222E9CC push {r3, r4, lr} sub sp, #0x1c ldr r2, _0222EA9C ; =gMain mov r1, #0x40 ldr r3, [r2, #0x4c] add r4, r0, #0 tst r1, r3 beq _0222EA08 ldr r0, [r4, #0x44] add r1, r0, #1 str r1, [r4, #0x44] ldr r0, [r4, #0x40] cmp r1, r0 ble _0222E9EC mov r0, #1 str r0, [r4, #0x44] _0222E9EC: mov r1, #0xb9 mov r0, #0xda lsl r1, r1, #4 lsl r0, r0, #4 ldr r1, [r4, r1] ldr r2, [r4, #0x44] add r0, r4, r0 mov r3, #3 bl MOD82_0222F694 ldr r0, _0222EAA0 ; =0x000005DC bl PlaySE b _0222EA94 _0222EA08: mov r1, #0x80 tst r1, r3 beq _0222EA38 ldr r0, [r4, #0x44] sub r0, r0, #1 str r0, [r4, #0x44] cmp r0, #1 bge _0222EA1C ldr r0, [r4, #0x40] str r0, [r4, #0x44] _0222EA1C: mov r1, #0xb9 mov r0, #0xda lsl r1, r1, #4 lsl r0, r0, #4 ldr r1, [r4, r1] ldr r2, [r4, #0x44] add r0, r4, r0 mov r3, #3 bl MOD82_0222F694 ldr r0, _0222EAA0 ; =0x000005DC bl PlaySE b _0222EA94 _0222EA38: ldr r2, [r2, #0x48] mov r1, #1 tst r1, r2 beq _0222EA7C add r0, sp, #0 add r1, sp, #0x10 bl MOD04_021DE1F8 ldr r0, [r4] ldr r1, [r4, #0x3c] ldr r2, [r4, #0x44] lsl r1, r1, #0x18 lsl r2, r2, #0x18 ldr r0, [r0, #4] lsr r1, r1, #0x18 lsr r2, r2, #0x18 add r3, sp, #0 bl SaveStruct23_Substruct4_GetArrayFlag cmp r0, #0 beq _0222EA66 mov r0, #0x12 b _0222EA68 _0222EA66: mov r0, #0xe _0222EA68: mov r1, #0 str r0, [r4, #0x1c] add r0, r4, #0 add r2, r1, #0 bl MOD82_0222F6D8 ldr r0, _0222EAA0 ; =0x000005DC bl PlaySE b _0222EA94 _0222EA7C: mov r1, #2 tst r1, r2 beq _0222EA94 mov r1, #0 add r2, r1, #0 bl MOD82_0222F6D8 mov r0, #0x13 str r0, [r4, #0x1c] ldr r0, _0222EAA0 ; =0x000005DC bl PlaySE _0222EA94: mov r0, #3 add sp, #0x1c pop {r3, r4, pc} nop _0222EA9C: .word gMain _0222EAA0: .word 0x000005DC thumb_func_end MOD82_0222E9CC thumb_func_start MOD82_0222EAA4 MOD82_0222EAA4: ; 0x0222EAA4 push {r4, lr} sub sp, #8 add r4, r0, #0 mov r0, #2 str r0, [sp] mov r0, #1 str r0, [sp, #4] ldr r0, _0222EB00 ; =0x00000B78 ldr r2, [r4, #0x44] ldr r0, [r4, r0] mov r1, #0 mov r3, #3 bl BufferIntegerAsString mov r3, #2 str r3, [sp] mov r1, #1 str r1, [sp, #4] ldr r0, _0222EB00 ; =0x00000B78 ldr r2, [r4, #0x3c] ldr r0, [r4, r0] bl BufferIntegerAsString ldr r0, _0222EB04 ; =0x00000F0F mov r2, #1 str r0, [sp] ldr r1, _0222EB08 ; =0x00000B7C add r0, r4, #0 ldr r1, [r4, r1] add r3, r2, #0 bl MOD82_0222F4D8 add r0, r4, #0 mov r1, #0x2d mov r2, #0xf bl MOD82_0222DF6C add r4, #0x48 ldr r2, _0222EB0C ; =0x00000A38 mov r0, #0 add r1, r4, #0 bl MIi_CpuClearFast mov r0, #3 add sp, #8 pop {r4, pc} .align 2, 0 _0222EB00: .word 0x00000B78 _0222EB04: .word 0x00000F0F _0222EB08: .word 0x00000B7C _0222EB0C: .word 0x00000A38 thumb_func_end MOD82_0222EAA4 thumb_func_start MOD82_0222EB10 MOD82_0222EB10: ; 0x0222EB10 push {r3, r4, lr} sub sp, #4 ldr r1, _0222EB38 ; =0x00000F0F add r4, r0, #0 str r1, [sp] ldr r1, _0222EB3C ; =0x00000B7C mov r2, #2 ldr r1, [r4, r1] mov r3, #1 bl MOD82_0222F4D8 add r0, r4, #0 mov r1, #0x2d mov r2, #0xb bl MOD82_0222DF6C mov r0, #3 add sp, #4 pop {r3, r4, pc} nop _0222EB38: .word 0x00000F0F _0222EB3C: .word 0x00000B7C thumb_func_end MOD82_0222EB10 thumb_func_start MOD82_0222EB40 MOD82_0222EB40: ; 0x0222EB40 push {r4, lr} add r4, r0, #0 add r2, r4, #0 ldr r0, [r4, #0x38] ldr r1, [r4, #0x44] add r2, #0x48 bl MOD82_0222D840 add r0, r4, #0 bl MOD82_0222F700 mov r0, #0x10 str r0, [r4, #0x1c] mov r0, #3 pop {r4, pc} .align 2, 0 thumb_func_end MOD82_0222EB40 thumb_func_start MOD82_0222EB60 MOD82_0222EB60: ; 0x0222EB60 push {r3, r4, lr} sub sp, #0x1c add r4, r0, #0 bl MOD82_0222D7C4 cmp r0, #0 beq _0222EC44 bl MOD82_0222D7E4 add r1, r0, #7 cmp r1, #7 bhi _0222EC44 add r1, r1, r1 add r1, pc ldrh r1, [r1, #6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _0222EB84: ; jump table .short _0222EC1E - _0222EB84 - 2 ; case 0 .short _0222EC0C - _0222EB84 - 2 ; case 1 .short _0222EC30 - _0222EB84 - 2 ; case 2 .short _0222EBFA - _0222EB84 - 2 ; case 3 .short _0222EBFA - _0222EB84 - 2 ; case 4 .short _0222EBE8 - _0222EB84 - 2 ; case 5 .short _0222EBD6 - _0222EB84 - 2 ; case 6 .short _0222EB94 - _0222EB84 - 2 ; case 7 _0222EB94: ldr r0, [r4] ldr r2, [r4, #0x38] ldr r3, [r4, #0x44] add r1, r4, #0 lsl r2, r2, #0x18 lsl r3, r3, #0x18 ldr r0, [r0, #4] add r1, #0x48 lsr r2, r2, #0x18 lsr r3, r3, #0x18 bl SaveStruct23_Substruct4_SetSubstruct1 add r0, r4, #0 mov r1, #0x25 mov r2, #0x11 bl MOD82_0222DF6C add r0, sp, #0 add r1, sp, #0x10 bl MOD04_021DE1F8 ldr r0, [r4] ldr r1, [r4, #0x3c] ldr r2, [r4, #0x44] lsl r1, r1, #0x18 lsl r2, r2, #0x18 ldr r0, [r0, #4] lsr r1, r1, #0x18 lsr r2, r2, #0x18 add r3, sp, #0 bl SaveStruct23_Substruct4_SetArrayFlag b _0222EC44 _0222EBD6: mov r1, #0x3b lsl r1, r1, #6 str r0, [r4, r1] mov r0, #0x33 str r0, [r4, #0x1c] add r0, r4, #0 bl MOD82_0222F724 b _0222EC44 _0222EBE8: mov r1, #0x3b lsl r1, r1, #6 str r0, [r4, r1] mov r0, #0x33 str r0, [r4, #0x1c] add r0, r4, #0 bl MOD82_0222F724 b _0222EC44 _0222EBFA: mov r1, #0x3b lsl r1, r1, #6 str r0, [r4, r1] mov r0, #9 str r0, [r4, #0x1c] add r0, r4, #0 bl MOD82_0222F724 b _0222EC44 _0222EC0C: mov r1, #0x3b lsl r1, r1, #6 str r0, [r4, r1] mov r0, #0x33 str r0, [r4, #0x1c] add r0, r4, #0 bl MOD82_0222F724 b _0222EC44 _0222EC1E: mov r1, #0x3b lsl r1, r1, #6 str r0, [r4, r1] mov r0, #0x33 str r0, [r4, #0x1c] add r0, r4, #0 bl MOD82_0222F724 b _0222EC44 _0222EC30: mov r1, #0x3b lsl r1, r1, #6 str r0, [r4, r1] mov r0, #0x33 str r0, [r4, #0x1c] add r0, r4, #0 bl MOD82_0222F724 bl FUN_020335E0 _0222EC44: mov r0, #3 add sp, #0x1c pop {r3, r4, pc} .align 2, 0 thumb_func_end MOD82_0222EB60 thumb_func_start MOD82_0222EC4C MOD82_0222EC4C: ; 0x0222EC4C push {r3, r4, lr} sub sp, #4 ldr r1, _0222EC80 ; =0x00000F0F add r4, r0, #0 str r1, [sp] ldr r1, _0222EC84 ; =0x00000B7C mov r2, #3 ldr r1, [r4, r1] mov r3, #1 bl MOD82_0222F59C add r0, r4, #0 mov r1, #0x2d mov r2, #0x2b bl MOD82_0222DF6C add r0, r4, #0 bl MOD82_0222F724 ldr r0, [r4] mov r1, #0 str r1, [r0, #0x20] mov r0, #3 add sp, #4 pop {r3, r4, pc} nop _0222EC80: .word 0x00000F0F _0222EC84: .word 0x00000B7C thumb_func_end MOD82_0222EC4C thumb_func_start MOD82_0222EC88 MOD82_0222EC88: ; 0x0222EC88 push {r3, r4, lr} sub sp, #4 ldr r1, _0222ECB4 ; =0x00000F0F add r4, r0, #0 str r1, [sp] ldr r1, _0222ECB8 ; =0x00000B7C mov r2, #7 ldr r1, [r4, r1] mov r3, #1 bl MOD82_0222F59C add r0, r4, #0 mov r1, #0x2d mov r2, #0x18 bl MOD82_0222DF6C add r0, r4, #0 bl MOD82_0222F700 mov r0, #3 add sp, #4 pop {r3, r4, pc} .align 2, 0 _0222ECB4: .word 0x00000F0F _0222ECB8: .word 0x00000B7C thumb_func_end MOD82_0222EC88 thumb_func_start MOD82_0222ECBC MOD82_0222ECBC: ; 0x0222ECBC push {r3, r4, r5, lr} add r5, r0, #0 ldr r0, [r5] ldr r0, [r0] bl FUN_0202A524 add r4, r0, #0 ldr r0, [r5] add r1, sp, #0 ldr r0, [r0, #4] bl FUN_0202A784 ldr r0, [r5] mov r2, #0x2a lsl r2, r2, #6 ldr r0, [r0, #0xc] mov r1, #1 add r2, r5, r2 bl FUN_02066840 add r1, sp, #0 ldrb r0, [r1] mov r3, #0x2a lsl r3, r3, #6 ldrb r1, [r1, #1] add r2, r4, #0 add r3, r5, r3 bl MOD82_0222D8A0 mov r0, #0x19 str r0, [r5, #0x1c] mov r0, #3 pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD82_0222ECBC thumb_func_start MOD82_0222ED00 MOD82_0222ED00: ; 0x0222ED00 push {r4, lr} add r4, r0, #0 bl MOD82_0222D7C4 cmp r0, #0 beq _0222EDB8 bl MOD82_0222D7E4 add r1, r0, #7 cmp r1, #7 bhi _0222EDB8 add r1, r1, r1 add r1, pc ldrh r1, [r1, #6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _0222ED22: ; jump table .short _0222ED92 - _0222ED22 - 2 ; case 0 .short _0222ED80 - _0222ED22 - 2 ; case 1 .short _0222EDA4 - _0222ED22 - 2 ; case 2 .short _0222ED92 - _0222ED22 - 2 ; case 3 .short _0222ED6E - _0222ED22 - 2 ; case 4 .short _0222ED5C - _0222ED22 - 2 ; case 5 .short _0222ED4A - _0222ED22 - 2 ; case 6 .short _0222ED32 - _0222ED22 - 2 ; case 7 _0222ED32: ldr r0, [r4] mov r1, #5 ldr r0, [r0] mov r2, #2 bl SaveStruct23_Substruct2_SetFlag add r0, r4, #0 mov r1, #0x25 mov r2, #0x1a bl MOD82_0222DF6C b _0222EDB8 _0222ED4A: mov r1, #0x3b lsl r1, r1, #6 str r0, [r4, r1] mov r0, #0x33 str r0, [r4, #0x1c] add r0, r4, #0 bl MOD82_0222F724 b _0222EDB8 _0222ED5C: mov r1, #0x3b lsl r1, r1, #6 str r0, [r4, r1] mov r0, #0x33 str r0, [r4, #0x1c] add r0, r4, #0 bl MOD82_0222F724 b _0222EDB8 _0222ED6E: mov r1, #0x3b lsl r1, r1, #6 str r0, [r4, r1] mov r0, #0x33 str r0, [r4, #0x1c] add r0, r4, #0 bl MOD82_0222F724 b _0222EDB8 _0222ED80: mov r1, #0x3b lsl r1, r1, #6 str r0, [r4, r1] mov r0, #0x33 str r0, [r4, #0x1c] add r0, r4, #0 bl MOD82_0222F724 b _0222EDB8 _0222ED92: mov r1, #0x3b lsl r1, r1, #6 str r0, [r4, r1] mov r0, #0x33 str r0, [r4, #0x1c] add r0, r4, #0 bl MOD82_0222F724 b _0222EDB8 _0222EDA4: mov r1, #0x3b lsl r1, r1, #6 str r0, [r4, r1] mov r0, #0x33 str r0, [r4, #0x1c] add r0, r4, #0 bl MOD82_0222F724 bl FUN_020335E0 _0222EDB8: mov r0, #3 pop {r4, pc} thumb_func_end MOD82_0222ED00 thumb_func_start MOD82_0222EDBC MOD82_0222EDBC: ; 0x0222EDBC push {r3, r4, lr} sub sp, #4 ldr r1, _0222EDF0 ; =0x00000F0F add r4, r0, #0 str r1, [sp] ldr r1, _0222EDF4 ; =0x00000B7C mov r2, #8 ldr r1, [r4, r1] mov r3, #1 bl MOD82_0222F59C add r0, r4, #0 mov r1, #0x2d mov r2, #0x2b bl MOD82_0222DF6C add r0, r4, #0 bl MOD82_0222F724 ldr r0, [r4] mov r1, #0 str r1, [r0, #0x20] mov r0, #3 add sp, #4 pop {r3, r4, pc} nop _0222EDF0: .word 0x00000F0F _0222EDF4: .word 0x00000B7C thumb_func_end MOD82_0222EDBC thumb_func_start MOD82_0222EDF8 MOD82_0222EDF8: ; 0x0222EDF8 push {r3, r4, lr} sub sp, #4 ldr r1, _0222EE20 ; =0x00000F0F add r4, r0, #0 str r1, [sp] ldr r1, _0222EE24 ; =0x00000B7C mov r2, #5 ldr r1, [r4, r1] mov r3, #1 bl MOD82_0222F59C add r0, r4, #0 mov r1, #0x2d mov r2, #0x1c bl MOD82_0222DF6C mov r0, #3 add sp, #4 pop {r3, r4, pc} nop _0222EE20: .word 0x00000F0F _0222EE24: .word 0x00000B7C thumb_func_end MOD82_0222EDF8 thumb_func_start MOD82_0222EE28 MOD82_0222EE28: ; 0x0222EE28 push {r4, lr} add r4, r0, #0 mov r0, #1 str r0, [r4, #0x3c] mov r0, #0xd9 lsl r0, r0, #4 add r0, r4, r0 mov r1, #0 mov r2, #0x1f mov r3, #0xa bl DrawFrameAndWindow1 ldr r1, _0222EE70 ; =0x00000B94 mov r0, #0xd9 lsl r0, r0, #4 ldr r1, [r4, r1] ldr r2, [r4, #0x3c] add r0, r4, r0 mov r3, #2 bl MOD82_0222F694 mov r1, #1 add r0, r4, #0 add r2, r1, #0 bl MOD82_0222F6D8 mov r0, #0xd9 lsl r0, r0, #4 add r0, r4, r0 bl CopyWindowToVram mov r0, #0x1d str r0, [r4, #0x1c] mov r0, #3 pop {r4, pc} nop _0222EE70: .word 0x00000B94 thumb_func_end MOD82_0222EE28 thumb_func_start MOD82_0222EE74 MOD82_0222EE74: ; 0x0222EE74 push {r4, lr} ldr r2, _0222EF18 ; =gMain mov r1, #0x40 ldr r3, [r2, #0x4c] add r4, r0, #0 tst r1, r3 beq _0222EEAA ldr r0, [r4, #0x3c] add r0, r0, #1 str r0, [r4, #0x3c] cmp r0, #0xa ble _0222EE90 mov r0, #1 str r0, [r4, #0x3c] _0222EE90: ldr r1, _0222EF1C ; =0x00000B94 mov r0, #0xd9 lsl r0, r0, #4 ldr r1, [r4, r1] ldr r2, [r4, #0x3c] add r0, r4, r0 mov r3, #2 bl MOD82_0222F694 ldr r0, _0222EF20 ; =0x000005DC bl PlaySE b _0222EF12 _0222EEAA: mov r1, #0x80 tst r1, r3 beq _0222EED8 ldr r0, [r4, #0x3c] sub r0, r0, #1 str r0, [r4, #0x3c] cmp r0, #1 bge _0222EEBE mov r0, #0xa str r0, [r4, #0x3c] _0222EEBE: ldr r1, _0222EF1C ; =0x00000B94 mov r0, #0xd9 lsl r0, r0, #4 ldr r1, [r4, r1] ldr r2, [r4, #0x3c] add r0, r4, r0 mov r3, #2 bl MOD82_0222F694 ldr r0, _0222EF20 ; =0x000005DC bl PlaySE b _0222EF12 _0222EED8: ldr r2, [r2, #0x48] mov r1, #1 tst r1, r2 beq _0222EEFA mov r1, #0 add r2, r1, #0 bl MOD82_0222F6D8 add r0, r4, #0 mov r1, #9 mov r2, #0x1e bl MOD82_0222DF6C ldr r0, _0222EF20 ; =0x000005DC bl PlaySE b _0222EF12 _0222EEFA: mov r1, #2 tst r1, r2 beq _0222EF12 mov r1, #0 add r2, r1, #0 bl MOD82_0222F6D8 mov r0, #0x15 str r0, [r4, #0x1c] ldr r0, _0222EF20 ; =0x000005DC bl PlaySE _0222EF12: mov r0, #3 pop {r4, pc} nop _0222EF18: .word gMain _0222EF1C: .word 0x00000B94 _0222EF20: .word 0x000005DC thumb_func_end MOD82_0222EE74 thumb_func_start MOD82_0222EF24 MOD82_0222EF24: ; 0x0222EF24 push {r3, r4, lr} sub sp, #4 ldr r1, _0222EF4C ; =0x00000F0F add r4, r0, #0 str r1, [sp] ldr r1, _0222EF50 ; =0x00000B7C mov r2, #6 ldr r1, [r4, r1] mov r3, #1 bl MOD82_0222F59C add r0, r4, #0 mov r1, #0x2d mov r2, #0x1f bl MOD82_0222DF6C mov r0, #3 add sp, #4 pop {r3, r4, pc} nop _0222EF4C: .word 0x00000F0F _0222EF50: .word 0x00000B7C thumb_func_end MOD82_0222EF24 thumb_func_start MOD82_0222EF54 MOD82_0222EF54: ; 0x0222EF54 push {r4, lr} add r4, r0, #0 mov r0, #1 str r0, [r4, #0x44] mov r0, #0xda lsl r0, r0, #4 add r0, r4, r0 mov r1, #0 mov r2, #0x1f mov r3, #0xa bl DrawFrameAndWindow1 mov r1, #0xb9 mov r0, #0xda lsl r1, r1, #4 lsl r0, r0, #4 ldr r1, [r4, r1] ldr r2, [r4, #0x44] add r0, r4, r0 mov r3, #3 bl MOD82_0222F694 add r0, r4, #0 mov r1, #0 mov r2, #1 bl MOD82_0222F6D8 mov r0, #0xda lsl r0, r0, #4 add r0, r4, r0 bl CopyWindowToVram mov r0, #0x20 str r0, [r4, #0x1c] mov r0, #3 pop {r4, pc} thumb_func_end MOD82_0222EF54 thumb_func_start MOD82_0222EF9C MOD82_0222EF9C: ; 0x0222EF9C push {r4, lr} ldr r2, _0222F040 ; =gMain mov r1, #0x40 ldr r3, [r2, #0x4c] add r4, r0, #0 tst r1, r3 beq _0222EFD8 ldr r0, [r4, #0x44] add r1, r0, #1 str r1, [r4, #0x44] ldr r0, [r4, #0x40] add r0, r0, #1 cmp r1, r0 bne _0222EFBC mov r0, #1 str r0, [r4, #0x44] _0222EFBC: mov r1, #0xb9 mov r0, #0xda lsl r1, r1, #4 lsl r0, r0, #4 ldr r1, [r4, r1] ldr r2, [r4, #0x44] add r0, r4, r0 mov r3, #3 bl MOD82_0222F694 ldr r0, _0222F044 ; =0x000005DC bl PlaySE b _0222F03C _0222EFD8: mov r1, #0x80 tst r1, r3 beq _0222F008 ldr r0, [r4, #0x44] sub r0, r0, #1 str r0, [r4, #0x44] cmp r0, #1 bge _0222EFEC ldr r0, [r4, #0x40] str r0, [r4, #0x44] _0222EFEC: mov r1, #0xb9 mov r0, #0xda lsl r1, r1, #4 lsl r0, r0, #4 ldr r1, [r4, r1] ldr r2, [r4, #0x44] add r0, r4, r0 mov r3, #3 bl MOD82_0222F694 ldr r0, _0222F044 ; =0x000005DC bl PlaySE b _0222F03C _0222F008: ldr r2, [r2, #0x48] mov r1, #1 tst r1, r2 beq _0222F024 mov r1, #0 add r2, r1, #0 bl MOD82_0222F6D8 mov r0, #0x21 str r0, [r4, #0x1c] ldr r0, _0222F044 ; =0x000005DC bl PlaySE b _0222F03C _0222F024: mov r1, #2 tst r1, r2 beq _0222F03C mov r1, #0 add r2, r1, #0 bl MOD82_0222F6D8 mov r0, #0x1b str r0, [r4, #0x1c] ldr r0, _0222F044 ; =0x000005DC bl PlaySE _0222F03C: mov r0, #3 pop {r4, pc} .align 2, 0 _0222F040: .word gMain _0222F044: .word 0x000005DC thumb_func_end MOD82_0222EF9C thumb_func_start MOD82_0222F048 MOD82_0222F048: ; 0x0222F048 push {r4, lr} sub sp, #8 add r4, r0, #0 mov r0, #2 str r0, [sp] mov r0, #1 str r0, [sp, #4] ldr r0, _0222F09C ; =0x00000B78 ldr r2, [r4, #0x44] ldr r0, [r4, r0] mov r1, #0 mov r3, #3 bl BufferIntegerAsString mov r3, #2 str r3, [sp] mov r1, #1 str r1, [sp, #4] ldr r0, _0222F09C ; =0x00000B78 ldr r2, [r4, #0x3c] ldr r0, [r4, r0] bl BufferIntegerAsString ldr r0, _0222F0A0 ; =0x00000F0F mov r2, #1 str r0, [sp] ldr r1, _0222F0A4 ; =0x00000B7C add r0, r4, #0 ldr r1, [r4, r1] add r3, r2, #0 bl MOD82_0222F4D8 add r0, r4, #0 mov r1, #0x2d mov r2, #0x22 bl MOD82_0222DF6C mov r0, #0x22 str r0, [r4, #0x1c] mov r0, #3 add sp, #8 pop {r4, pc} .align 2, 0 _0222F09C: .word 0x00000B78 _0222F0A0: .word 0x00000F0F _0222F0A4: .word 0x00000B7C thumb_func_end MOD82_0222F048 thumb_func_start MOD82_0222F0A8 MOD82_0222F0A8: ; 0x0222F0A8 push {r4, lr} add r4, r0, #0 add r2, r4, #0 ldr r0, [r4, #0x3c] ldr r1, [r4, #0x44] add r2, #0x48 bl MOD82_0222D840 mov r0, #0x23 str r0, [r4, #0x1c] add r0, r4, #0 bl MOD82_0222F700 mov r0, #3 pop {r4, pc} .align 2, 0 thumb_func_end MOD82_0222F0A8 thumb_func_start MOD82_0222F0C8 MOD82_0222F0C8: ; 0x0222F0C8 push {r4, lr} add r4, r0, #0 bl MOD82_0222D7C4 cmp r0, #0 beq _0222F18C bl MOD82_0222D7E4 add r1, r0, #7 cmp r1, #7 bhi _0222F18C add r1, r1, r1 add r1, pc ldrh r1, [r1, #6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _0222F0EA: ; jump table .short _0222F166 - _0222F0EA - 2 ; case 0 .short _0222F154 - _0222F0EA - 2 ; case 1 .short _0222F178 - _0222F0EA - 2 ; case 2 .short _0222F166 - _0222F0EA - 2 ; case 3 .short _0222F142 - _0222F0EA - 2 ; case 4 .short _0222F130 - _0222F0EA - 2 ; case 5 .short _0222F11E - _0222F0EA - 2 ; case 6 .short _0222F0FA - _0222F0EA - 2 ; case 7 _0222F0FA: ldr r0, [r4] ldr r2, [r4, #0x3c] ldr r3, [r4, #0x44] ldr r1, _0222F190 ; =0x00000684 lsl r2, r2, #0x18 lsl r3, r3, #0x18 ldr r0, [r0, #4] add r1, r4, r1 lsr r2, r2, #0x18 lsr r3, r3, #0x18 bl FUN_0202A838 add r0, r4, #0 mov r1, #0x25 mov r2, #0x24 bl MOD82_0222DF6C b _0222F18C _0222F11E: mov r1, #0x3b lsl r1, r1, #6 str r0, [r4, r1] mov r0, #0x33 str r0, [r4, #0x1c] add r0, r4, #0 bl MOD82_0222F724 b _0222F18C _0222F130: mov r1, #0x3b lsl r1, r1, #6 str r0, [r4, r1] mov r0, #0x33 str r0, [r4, #0x1c] add r0, r4, #0 bl MOD82_0222F724 b _0222F18C _0222F142: mov r1, #0x3b lsl r1, r1, #6 str r0, [r4, r1] mov r0, #9 str r0, [r4, #0x1c] add r0, r4, #0 bl MOD82_0222F724 b _0222F18C _0222F154: mov r1, #0x3b lsl r1, r1, #6 str r0, [r4, r1] mov r0, #0x33 str r0, [r4, #0x1c] add r0, r4, #0 bl MOD82_0222F724 b _0222F18C _0222F166: mov r1, #9 str r1, [r4, #0x1c] mov r1, #0x3b lsl r1, r1, #6 str r0, [r4, r1] add r0, r4, #0 bl MOD82_0222F724 b _0222F18C _0222F178: mov r1, #0x3b lsl r1, r1, #6 str r0, [r4, r1] mov r0, #0x33 str r0, [r4, #0x1c] add r0, r4, #0 bl MOD82_0222F724 bl FUN_020335E0 _0222F18C: mov r0, #3 pop {r4, pc} .align 2, 0 _0222F190: .word 0x00000684 thumb_func_end MOD82_0222F0C8 thumb_func_start MOD82_0222F194 MOD82_0222F194: ; 0x0222F194 push {r3, r4, lr} sub sp, #4 ldr r1, _0222F1C8 ; =0x00000F0F add r4, r0, #0 str r1, [sp] ldr r1, _0222F1CC ; =0x00000B7C mov r2, #3 ldr r1, [r4, r1] mov r3, #1 bl MOD82_0222F59C add r0, r4, #0 mov r1, #0x2d mov r2, #0x2b bl MOD82_0222DF6C add r0, r4, #0 bl MOD82_0222F724 ldr r0, [r4] mov r1, #0 str r1, [r0, #0x20] mov r0, #3 add sp, #4 pop {r3, r4, pc} nop _0222F1C8: .word 0x00000F0F _0222F1CC: .word 0x00000B7C thumb_func_end MOD82_0222F194 thumb_func_start MOD82_0222F1D0 MOD82_0222F1D0: ; 0x0222F1D0 mov r1, #0x27 str r1, [r0, #0x1c] mov r0, #3 bx lr thumb_func_end MOD82_0222F1D0 thumb_func_start MOD82_0222F1D8 MOD82_0222F1D8: ; 0x0222F1D8 push {r4, lr} add r4, r0, #0 ldr r0, [r4] mov r1, #2 ldr r0, [r0, #0xc] bl FUN_02022840 mov r0, #0x26 str r0, [r4, #0x1c] mov r0, #3 pop {r4, pc} .align 2, 0 thumb_func_end MOD82_0222F1D8 thumb_func_start MOD82_0222F1F0 MOD82_0222F1F0: ; 0x0222F1F0 push {r4, lr} add r4, r0, #0 ldr r0, [r4] ldr r0, [r0, #0xc] bl FUN_02022854 cmp r0, #2 bne _0222F20A ldr r0, [r4, #0x20] str r0, [r4, #0x1c] add r0, r4, #0 bl MOD82_0222F724 _0222F20A: mov r0, #3 pop {r4, pc} .align 2, 0 thumb_func_end MOD82_0222F1F0 thumb_func_start MOD82_0222F210 MOD82_0222F210: ; 0x0222F210 push {r3, r4, lr} sub sp, #4 ldr r1, _0222F238 ; =0x00000F0F add r4, r0, #0 str r1, [sp] ldr r1, _0222F23C ; =0x00000B7C mov r2, #4 ldr r1, [r4, r1] mov r3, #1 bl MOD82_0222F59C add r0, r4, #0 mov r1, #0x2e mov r2, #0x14 bl MOD82_0222DF6C mov r0, #3 add sp, #4 pop {r3, r4, pc} nop _0222F238: .word 0x00000F0F _0222F23C: .word 0x00000B7C thumb_func_end MOD82_0222F210 thumb_func_start MOD82_0222F240 MOD82_0222F240: ; 0x0222F240 push {r4, lr} add r4, r0, #0 mov r0, #0xeb lsl r0, r0, #4 ldr r0, [r4, r0] mov r1, #0x44 bl FUN_020021AC mov r1, #0 mvn r1, r1 cmp r0, r1 beq _0222F26E sub r1, r1, #1 cmp r0, r1 bne _0222F264 mov r0, #0xb str r0, [r4, #0x1c] b _0222F26E _0222F264: mov r0, #0x27 str r0, [r4, #0x1c] ldr r0, [r4] mov r1, #1 str r1, [r0, #0x20] _0222F26E: mov r0, #3 pop {r4, pc} .align 2, 0 thumb_func_end MOD82_0222F240 thumb_func_start MOD82_0222F274 MOD82_0222F274: ; 0x0222F274 push {r3, r4, lr} sub sp, #4 ldr r1, _0222F29C ; =0x00000F0F add r4, r0, #0 str r1, [sp] ldr r1, _0222F2A0 ; =0x00000B7C mov r2, #9 ldr r1, [r4, r1] mov r3, #1 bl MOD82_0222F59C add r0, r4, #0 mov r1, #0x2e mov r2, #0x16 bl MOD82_0222DF6C mov r0, #3 add sp, #4 pop {r3, r4, pc} nop _0222F29C: .word 0x00000F0F _0222F2A0: .word 0x00000B7C thumb_func_end MOD82_0222F274 thumb_func_start MOD82_0222F2A4 MOD82_0222F2A4: ; 0x0222F2A4 push {r4, lr} add r4, r0, #0 mov r0, #0xeb lsl r0, r0, #4 ldr r0, [r4, r0] mov r1, #0x44 bl FUN_020021AC mov r1, #0 mvn r1, r1 cmp r0, r1 beq _0222F2D2 sub r1, r1, #1 cmp r0, r1 bne _0222F2C8 mov r0, #0x1b str r0, [r4, #0x1c] b _0222F2D2 _0222F2C8: mov r0, #0x27 str r0, [r4, #0x1c] ldr r0, [r4] mov r1, #1 str r1, [r0, #0x20] _0222F2D2: mov r0, #3 pop {r4, pc} .align 2, 0 thumb_func_end MOD82_0222F2A4 thumb_func_start MOD82_0222F2D8 MOD82_0222F2D8: ; 0x0222F2D8 push {r3, r4, lr} sub sp, #4 ldr r1, _0222F300 ; =0x00000F0F add r4, r0, #0 str r1, [sp] ldr r1, _0222F304 ; =0x00000B84 mov r2, #0x19 ldr r1, [r4, r1] mov r3, #1 bl MOD82_0222F59C add r0, r4, #0 mov r1, #0x2d mov r2, #0x28 bl MOD82_0222DF6C mov r0, #3 add sp, #4 pop {r3, r4, pc} nop _0222F300: .word 0x00000F0F _0222F304: .word 0x00000B84 thumb_func_end MOD82_0222F2D8 thumb_func_start MOD82_0222F308 MOD82_0222F308: ; 0x0222F308 push {r4, lr} add r4, r0, #0 bl MOD04_021DDBBC mov r1, #0 add r0, r4, #0 add r2, r1, #0 bl MOD82_0222DFCC mov r0, #0x29 str r0, [r4, #0x1c] mov r0, #3 pop {r4, pc} .align 2, 0 thumb_func_end MOD82_0222F308 thumb_func_start MOD82_0222F324 MOD82_0222F324: ; 0x0222F324 push {r3, r4, lr} sub sp, #4 ldr r1, _0222F350 ; =0x00000F0F add r4, r0, #0 str r1, [sp] ldr r1, _0222F354 ; =0x00000B84 mov r2, #0x1a ldr r1, [r4, r1] mov r3, #1 bl MOD82_0222F59C add r0, r4, #0 mov r1, #0x2f mov r2, #0x2c bl MOD82_0222DF6C ldr r0, _0222F358 ; =0x00000EC4 mov r1, #0 str r1, [r4, r0] mov r0, #3 add sp, #4 pop {r3, r4, pc} .align 2, 0 _0222F350: .word 0x00000F0F _0222F354: .word 0x00000B84 _0222F358: .word 0x00000EC4 thumb_func_end MOD82_0222F324 thumb_func_start MOD82_0222F35C MOD82_0222F35C: ; 0x0222F35C mov r0, #3 bx lr thumb_func_end MOD82_0222F35C thumb_func_start MOD82_0222F360 MOD82_0222F360: ; 0x0222F360 push {r3, r4, lr} sub sp, #0xc add r4, r0, #0 bl FUN_02033ED0 bl FUN_020332DC mov r0, #8 str r0, [sp] mov r0, #1 str r0, [sp, #4] mov r0, #0x44 str r0, [sp, #8] mov r0, #0 add r1, r0, #0 add r2, r0, #0 add r3, r0, #0 bl FUN_0200E1D0 mov r0, #0 str r0, [r4, #0x1c] mov r0, #4 add sp, #0xc pop {r3, r4, pc} thumb_func_end MOD82_0222F360 thumb_func_start MOD82_0222F390 MOD82_0222F390: ; 0x0222F390 push {r4, lr} add r4, r0, #0 mov r0, #0xeb lsl r0, r0, #4 ldr r0, [r4, r0] mov r1, #0x44 bl FUN_020021AC mov r1, #0 mvn r1, r1 cmp r0, r1 beq _0222F3B8 sub r1, r1, #1 cmp r0, r1 bne _0222F3B4 mov r0, #0 str r0, [r4, #0x1c] b _0222F3B8 _0222F3B4: mov r0, #0x27 str r0, [r4, #0x1c] _0222F3B8: mov r0, #3 pop {r4, pc} thumb_func_end MOD82_0222F390 thumb_func_start MOD82_0222F3BC MOD82_0222F3BC: ; 0x0222F3BC push {r3, r4, r5, lr} add r5, r0, #0 mov r0, #0x3b lsl r0, r0, #6 ldr r0, [r5, r0] mov r4, #0 add r0, r0, #7 cmp r0, #9 bhi _0222F400 add r0, r0, r0 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _0222F3DA: ; jump table .short _0222F3FA - _0222F3DA - 2 ; case 0 .short _0222F3EE - _0222F3DA - 2 ; case 1 .short _0222F400 - _0222F3DA - 2 ; case 2 .short _0222F3FA - _0222F3DA - 2 ; case 3 .short _0222F3FE - _0222F3DA - 2 ; case 4 .short _0222F3EE - _0222F3DA - 2 ; case 5 .short _0222F3F6 - _0222F3DA - 2 ; case 6 .short _0222F400 - _0222F3DA - 2 ; case 7 .short _0222F3F2 - _0222F3DA - 2 ; case 8 .short _0222F3F6 - _0222F3DA - 2 ; case 9 _0222F3EE: mov r4, #0xd b _0222F400 _0222F3F2: mov r4, #0xb b _0222F400 _0222F3F6: mov r4, #0xc b _0222F400 _0222F3FA: mov r4, #0xe b _0222F400 _0222F3FE: mov r4, #0xf _0222F400: add r0, r5, #0 bl MOD82_0222F724 ldr r0, _0222F428 ; =0x00000F0F ldr r1, _0222F42C ; =0x00000B7C str r0, [sp] ldr r1, [r5, r1] add r0, r5, #0 add r2, r4, #0 mov r3, #1 bl MOD82_0222F59C add r0, r5, #0 mov r1, #0x2d mov r2, #0x34 bl MOD82_0222DF6C mov r0, #3 pop {r3, r4, r5, pc} nop _0222F428: .word 0x00000F0F _0222F42C: .word 0x00000B7C thumb_func_end MOD82_0222F3BC thumb_func_start MOD82_0222F430 MOD82_0222F430: ; 0x0222F430 push {r4, lr} add r4, r0, #0 bl FUN_020332DC bl MOD04_021DDBBC mov r1, #0 add r0, r4, #0 add r2, r1, #0 bl MOD82_0222DFCC mov r0, #0x2c str r0, [r4, #0x1c] mov r0, #3 pop {r4, pc} .align 2, 0 thumb_func_end MOD82_0222F430 thumb_func_start MOD82_0222F450 MOD82_0222F450: ; 0x0222F450 push {r4, lr} add r4, r0, #0 ldr r0, _0222F46C ; =0x00000B9C ldr r0, [r4, r0] lsl r0, r0, #0x18 lsr r0, r0, #0x18 bl FUN_0201BD70 cmp r0, #0 bne _0222F468 ldr r0, [r4, #0x20] str r0, [r4, #0x1c] _0222F468: mov r0, #3 pop {r4, pc} .align 2, 0 _0222F46C: .word 0x00000B9C thumb_func_end MOD82_0222F450 thumb_func_start MOD82_0222F470 MOD82_0222F470: ; 0x0222F470 push {r4, lr} add r4, r0, #0 ldr r0, _0222F49C ; =0x00000B9C ldr r0, [r4, r0] lsl r0, r0, #0x18 lsr r0, r0, #0x18 bl FUN_0201BD70 cmp r0, #0 bne _0222F498 ldr r0, _0222F4A0 ; =0x00000EC4 ldr r0, [r4, r0] cmp r0, #0x1e ble _0222F490 ldr r0, [r4, #0x20] str r0, [r4, #0x1c] _0222F490: ldr r0, _0222F4A0 ; =0x00000EC4 ldr r1, [r4, r0] add r1, r1, #1 str r1, [r4, r0] _0222F498: mov r0, #3 pop {r4, pc} .align 2, 0 _0222F49C: .word 0x00000B9C _0222F4A0: .word 0x00000EC4 thumb_func_end MOD82_0222F470 thumb_func_start MOD82_0222F4A4 MOD82_0222F4A4: ; 0x0222F4A4 push {r4, lr} add r4, r0, #0 ldr r0, _0222F4D4 ; =0x00000B9C ldr r0, [r4, r0] lsl r0, r0, #0x18 lsr r0, r0, #0x18 bl FUN_0201BD70 cmp r0, #0 bne _0222F4CE mov r2, #0x91 ldr r0, [r4, #4] mov r1, #0xd lsl r2, r2, #2 bl MOD82_0222DF38 mov r1, #0xeb lsl r1, r1, #4 str r0, [r4, r1] ldr r0, [r4, #0x20] str r0, [r4, #0x1c] _0222F4CE: mov r0, #3 pop {r4, pc} nop _0222F4D4: .word 0x00000B9C thumb_func_end MOD82_0222F4A4 thumb_func_start MOD82_0222F4D8 MOD82_0222F4D8: ; 0x0222F4D8 push {r3, r4, r5, r6, lr} sub sp, #0xc add r5, r0, #0 add r0, r1, #0 add r1, r2, #0 add r4, r3, #0 bl NewString_ReadMsgData add r6, r0, #0 ldr r1, _0222F53C ; =0x00000B78 add r2, r6, #0 ldr r0, [r5, r1] add r1, #0x10 ldr r1, [r5, r1] bl StringExpandPlaceholders mov r0, #0x36 lsl r0, r0, #6 add r0, r5, r0 mov r1, #0xf bl FillWindowPixelBuffer mov r0, #0x36 lsl r0, r0, #6 add r0, r5, r0 mov r1, #0 mov r2, #1 mov r3, #0xa bl DrawFrameAndWindow2 mov r3, #0 str r3, [sp] str r4, [sp, #4] mov r0, #0x36 lsl r0, r0, #6 ldr r2, _0222F540 ; =0x00000B88 str r3, [sp, #8] ldr r2, [r5, r2] add r0, r5, r0 mov r1, #1 bl AddTextPrinterParameterized ldr r1, _0222F544 ; =0x00000B9C str r0, [r5, r1] add r0, r6, #0 bl String_dtor add sp, #0xc pop {r3, r4, r5, r6, pc} nop _0222F53C: .word 0x00000B78 _0222F540: .word 0x00000B88 _0222F544: .word 0x00000B9C thumb_func_end MOD82_0222F4D8 thumb_func_start MOD82_0222F548 MOD82_0222F548: ; 0x0222F548 push {r4, lr} add r4, r0, #0 ldr r0, _0222F56C ; =0x00000EBC ldr r0, [r4, r0] neg r0, r0 bl MOD04_021D80E0 ldr r2, _0222F56C ; =0x00000EBC add r1, r0, #0 ldr r2, [r4, r2] add r0, r4, #0 neg r2, r2 bl MOD82_0222F7C0 mov r0, #0x36 str r0, [r4, #0x1c] mov r0, #3 pop {r4, pc} .align 2, 0 _0222F56C: .word 0x00000EBC thumb_func_end MOD82_0222F548 thumb_func_start MOD82_0222F570 MOD82_0222F570: ; 0x0222F570 push {r4, lr} add r4, r0, #0 ldr r0, _0222F598 ; =gMain ldr r1, [r0, #0x48] mov r0, #1 tst r0, r1 bne _0222F584 mov r0, #2 tst r0, r1 beq _0222F594 _0222F584: mov r0, #0x37 lsl r0, r0, #6 add r0, r4, r0 mov r1, #0 bl ClearFrameAndWindow1 mov r0, #0 str r0, [r4, #0x1c] _0222F594: mov r0, #3 pop {r4, pc} .align 2, 0 _0222F598: .word gMain thumb_func_end MOD82_0222F570 thumb_func_start MOD82_0222F59C MOD82_0222F59C: ; 0x0222F59C push {r4, r5, lr} sub sp, #0xc add r5, r0, #0 add r0, r1, #0 add r1, r2, #0 ldr r2, _0222F5EC ; =0x00000B88 add r4, r3, #0 ldr r2, [r5, r2] bl ReadMsgDataIntoString mov r0, #0x36 lsl r0, r0, #6 add r0, r5, r0 mov r1, #0xf bl FillWindowPixelBuffer mov r0, #0x36 lsl r0, r0, #6 add r0, r5, r0 mov r1, #0 mov r2, #1 mov r3, #0xa bl DrawFrameAndWindow2 mov r3, #0 str r3, [sp] str r4, [sp, #4] mov r0, #0x36 lsl r0, r0, #6 ldr r2, _0222F5EC ; =0x00000B88 str r3, [sp, #8] ldr r2, [r5, r2] add r0, r5, r0 mov r1, #1 bl AddTextPrinterParameterized ldr r1, _0222F5F0 ; =0x00000B9C str r0, [r5, r1] add sp, #0xc pop {r4, r5, pc} .align 2, 0 _0222F5EC: .word 0x00000B88 _0222F5F0: .word 0x00000B9C thumb_func_end MOD82_0222F59C thumb_func_start MOD82_0222F5F4 MOD82_0222F5F4: ; 0x0222F5F4 push {r4, lr} add r4, r0, #0 cmp r3, #1 beq _0222F602 cmp r3, #2 beq _0222F618 b _0222F626 _0222F602: ldr r0, [sp, #0xc] mov r2, #0 bl FUN_02002E14 ldrb r1, [r4, #7] lsl r1, r1, #3 sub r1, r1, r0 lsr r0, r1, #0x1f add r0, r1, r0 asr r2, r0, #1 b _0222F626 _0222F618: ldr r0, [sp, #0xc] mov r2, #0 bl FUN_02002E14 ldrb r1, [r4, #7] lsl r1, r1, #3 sub r2, r1, r0 _0222F626: add r0, r2, #0 pop {r4, pc} .align 2, 0 thumb_func_end MOD82_0222F5F4 thumb_func_start MOD82_0222F62C MOD82_0222F62C: ; 0x0222F62C push {r4, r5, r6, lr} sub sp, #0x10 add r4, r3, #0 ldr r3, [sp, #0x24] add r5, r0, #0 str r3, [sp] mov r3, #1 str r3, [sp, #4] ldr r3, [sp, #0x20] add r6, r1, #0 bl MOD82_0222F5F4 add r3, r0, #0 str r4, [sp] mov r1, #0 ldr r0, [sp, #0x24] str r1, [sp, #4] str r0, [sp, #8] str r1, [sp, #0xc] add r0, r5, #0 mov r1, #1 add r2, r6, #0 bl AddTextPrinterParameterized2 add sp, #0x10 pop {r4, r5, r6, pc} thumb_func_end MOD82_0222F62C thumb_func_start MOD82_0222F660 MOD82_0222F660: ; 0x0222F660 push {r4, r5, r6, lr} sub sp, #0x10 add r4, r3, #0 ldr r3, [sp, #0x24] add r5, r0, #0 str r3, [sp] mov r3, #0 str r3, [sp, #4] ldr r3, [sp, #0x20] add r6, r1, #0 bl MOD82_0222F5F4 add r3, r0, #0 str r4, [sp] mov r1, #0 ldr r0, [sp, #0x24] str r1, [sp, #4] str r0, [sp, #8] add r0, r5, #0 add r2, r6, #0 str r1, [sp, #0xc] bl AddTextPrinterParameterized2 add sp, #0x10 pop {r4, r5, r6, pc} .align 2, 0 thumb_func_end MOD82_0222F660 thumb_func_start MOD82_0222F694 MOD82_0222F694: ; 0x0222F694 push {r3, r4, r5, r6, r7, lr} sub sp, #8 add r4, r1, #0 mov r1, #0xf add r5, r0, #0 add r6, r2, #0 add r7, r3, #0 bl FillWindowPixelBuffer mov r0, #1 str r0, [sp] add r0, r4, #0 add r1, r6, #0 add r2, r7, #0 mov r3, #2 bl String16_FormatInteger mov r3, #1 ldr r0, _0222F6CC ; =0x00010200 str r3, [sp] str r0, [sp, #4] add r0, r5, #0 add r1, r4, #0 mov r2, #0 bl MOD82_0222F660 add sp, #8 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _0222F6CC: .word 0x00010200 thumb_func_end MOD82_0222F694 thumb_func_start MOD82_0222F6D0 MOD82_0222F6D0: ; 0x0222F6D0 ldr r3, _0222F6D4 ; =FUN_02033E74 bx r3 .align 2, 0 _0222F6D4: .word FUN_02033E74 thumb_func_end MOD82_0222F6D0 thumb_func_start MOD82_0222F6D8 MOD82_0222F6D8: ; 0x0222F6D8 push {r3, r4, r5, lr} add r5, r0, #0 add r4, r2, #0 cmp r1, #1 bhi _0222F6F6 ldr r0, _0222F6F8 ; =0x00000D78 add r1, r4, #0 ldr r0, [r5, r0] bl FUN_020200A0 ldr r0, _0222F6FC ; =0x00000D7C add r1, r4, #0 ldr r0, [r5, r0] bl FUN_020200A0 _0222F6F6: pop {r3, r4, r5, pc} .align 2, 0 _0222F6F8: .word 0x00000D78 _0222F6FC: .word 0x00000D7C thumb_func_end MOD82_0222F6D8 thumb_func_start MOD82_0222F700 MOD82_0222F700: ; 0x0222F700 push {r4, lr} add r4, r0, #0 ldr r0, _0222F720 ; =0x00000EB4 ldr r0, [r4, r0] cmp r0, #0 bne _0222F71C mov r0, #0x36 lsl r0, r0, #6 add r0, r4, r0 mov r1, #1 bl FUN_0200D858 ldr r1, _0222F720 ; =0x00000EB4 str r0, [r4, r1] _0222F71C: pop {r4, pc} nop _0222F720: .word 0x00000EB4 thumb_func_end MOD82_0222F700 thumb_func_start MOD82_0222F724 MOD82_0222F724: ; 0x0222F724 push {r4, lr} add r4, r0, #0 ldr r0, _0222F73C ; =0x00000EB4 ldr r0, [r4, r0] cmp r0, #0 beq _0222F73A bl FUN_0200DBFC ldr r0, _0222F73C ; =0x00000EB4 mov r1, #0 str r1, [r4, r0] _0222F73A: pop {r4, pc} .align 2, 0 _0222F73C: .word 0x00000EB4 thumb_func_end MOD82_0222F724 thumb_func_start MOD82_0222F740 MOD82_0222F740: ; 0x0222F740 push {r3, r4, r5, r6, lr} sub sp, #0xc add r5, r0, #0 mov r0, #1 add r6, r1, #0 lsl r0, r0, #8 mov r1, #0x44 bl String_ctor add r4, r0, #0 ldr r0, _0222F7B0 ; =0x00000B84 add r1, r6, #0 ldr r0, [r5, r0] add r2, r4, #0 bl ReadMsgDataIntoString ldr r1, _0222F7B4 ; =0x00000B78 add r2, r4, #0 ldr r0, [r5, r1] add r1, #0x20 ldr r1, [r5, r1] bl StringExpandPlaceholders mov r0, #0x37 lsl r0, r0, #6 add r0, r5, r0 mov r1, #0xf bl FillWindowPixelBuffer mov r0, #0x37 lsl r0, r0, #6 add r0, r5, r0 mov r1, #1 mov r2, #0x1f mov r3, #0xb bl DrawFrameAndWindow1 mov r3, #0 str r3, [sp] str r3, [sp, #4] mov r0, #0x37 lsl r0, r0, #6 ldr r2, _0222F7B8 ; =0x00000B98 str r3, [sp, #8] ldr r2, [r5, r2] add r0, r5, r0 mov r1, #1 bl AddTextPrinterParameterized ldr r1, _0222F7BC ; =0x00000B9C str r0, [r5, r1] add r0, r4, #0 bl String_dtor add sp, #0xc pop {r3, r4, r5, r6, pc} .align 2, 0 _0222F7B0: .word 0x00000B84 _0222F7B4: .word 0x00000B78 _0222F7B8: .word 0x00000B98 _0222F7BC: .word 0x00000B9C thumb_func_end MOD82_0222F740 thumb_func_start MOD82_0222F7C0 MOD82_0222F7C0: ; 0x0222F7C0 push {r3, r4, r5, lr} sub sp, #8 add r5, r0, #0 mov r0, #0 add r4, r1, #0 mvn r0, r0 cmp r4, r0 bne _0222F7D2 mov r4, #0xb _0222F7D2: mov r0, #2 str r0, [sp] mov r0, #1 str r0, [sp, #4] ldr r0, _0222F800 ; =0x00000B78 mov r1, #0 ldr r0, [r5, r0] mov r3, #5 bl BufferIntegerAsString mov r0, #0x36 lsl r0, r0, #6 add r0, r5, r0 mov r1, #1 bl ClearFrameAndWindow2 add r0, r5, #0 add r1, r4, #0 bl MOD82_0222F740 add sp, #8 pop {r3, r4, r5, pc} nop _0222F800: .word 0x00000B78 thumb_func_end MOD82_0222F7C0 .rodata .global MOD82_0222F804 MOD82_0222F804: ; 0x0222F804 .byte 0x00, 0x17, 0x0D, 0x07, 0x04, 0x0D, 0x00, 0x00 .global MOD82_0222F80C MOD82_0222F80C: ; 0x0222F80C .byte 0xE0, 0x00, 0x6F, 0x00, 0xE0, 0x00, 0x81, 0x00 .global MOD82_0222F814 MOD82_0222F814: ; 0x0222F814 .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global MOD82_0222F824 MOD82_0222F824: ; 0x0222F824 .byte 0x14, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00 .global MOD82_0222F834 MOD82_0222F834: ; 0x0222F834 .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00 .global MOD82_0222F85C MOD82_0222F85C: ; 0x0222F85C .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x1B, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global MOD82_0222F878 MOD82_0222F878: ; 0x0222F878 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x1E, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global MOD82_0222F894 MOD82_0222F894: ; 0x0222F894 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global MOD82_0222F8B0 MOD82_0222F8B0: ; 0x0222F8B0 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x1E, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .data .global MOD82_0222F8E0 MOD82_0222F8E0: ; 0x0222F8E0 .byte 0x68, 0x74, 0x74, 0x70, 0x3A, 0x2F, 0x2F, 0x67, 0x61, 0x6D, 0x65, 0x73, 0x74, 0x61, 0x74, 0x73 .byte 0x32, 0x2E, 0x67, 0x73, 0x2E, 0x6E, 0x69, 0x6E, 0x74, 0x65, 0x6E, 0x64, 0x6F, 0x77, 0x69, 0x66 .byte 0x69, 0x2E, 0x6E, 0x65, 0x74, 0x2F, 0x70, 0x6F, 0x6B, 0x65, 0x6D, 0x6F, 0x6E, 0x64, 0x70, 0x64 .byte 0x73, 0x2F, 0x62, 0x61, 0x74, 0x74, 0x6C, 0x65, 0x74, 0x6F, 0x77, 0x65, 0x72, 0x2F, 0x72, 0x6F .byte 0x6F, 0x6D, 0x6E, 0x75, 0x6D, 0x2E, 0x61, 0x73, 0x70, 0x00, 0x00, 0x00 .global MOD82_0222F92C MOD82_0222F92C: ; 0x0222F92C .byte 0x68, 0x74, 0x74, 0x70, 0x3A, 0x2F, 0x2F, 0x67, 0x61, 0x6D, 0x65, 0x73, 0x74, 0x61, 0x74, 0x73 .byte 0x32, 0x2E, 0x67, 0x73, 0x2E, 0x6E, 0x69, 0x6E, 0x74, 0x65, 0x6E, 0x64, 0x6F, 0x77, 0x69, 0x66 .byte 0x69, 0x2E, 0x6E, 0x65, 0x74, 0x2F, 0x70, 0x6F, 0x6B, 0x65, 0x6D, 0x6F, 0x6E, 0x64, 0x70, 0x64 .byte 0x73, 0x2F, 0x62, 0x61, 0x74, 0x74, 0x6C, 0x65, 0x74, 0x6F, 0x77, 0x65, 0x72, 0x2F, 0x64, 0x6F .byte 0x77, 0x6E, 0x6C, 0x6F, 0x61, 0x64, 0x2E, 0x61, 0x73, 0x70, 0x00, 0x00 .global MOD82_0222F978 MOD82_0222F978: ; 0x0222F978 .byte 0x68, 0x74, 0x74, 0x70, 0x3A, 0x2F, 0x2F, 0x67, 0x61, 0x6D, 0x65, 0x73, 0x74, 0x61, 0x74, 0x73 .byte 0x32, 0x2E, 0x67, 0x73, 0x2E, 0x6E, 0x69, 0x6E, 0x74, 0x65, 0x6E, 0x64, 0x6F, 0x77, 0x69, 0x66 .byte 0x69, 0x2E, 0x6E, 0x65, 0x74, 0x2F, 0x70, 0x6F, 0x6B, 0x65, 0x6D, 0x6F, 0x6E, 0x64, 0x70, 0x64 .byte 0x73, 0x2F, 0x62, 0x61, 0x74, 0x74, 0x6C, 0x65, 0x74, 0x6F, 0x77, 0x65, 0x72, 0x2F, 0x75, 0x70 .byte 0x6C, 0x6F, 0x61, 0x64, 0x2E, 0x61, 0x73, 0x70, 0x00, 0x00, 0x00, 0x00 .global MOD82_0222F9C4 MOD82_0222F9C4: ; 0x0222F9C4 .byte 0x68, 0x74, 0x74, 0x70, 0x3A, 0x2F, 0x2F, 0x67, 0x61, 0x6D, 0x65, 0x73, 0x74, 0x61, 0x74, 0x73 .byte 0x32, 0x2E, 0x67, 0x73, 0x2E, 0x6E, 0x69, 0x6E, 0x74, 0x65, 0x6E, 0x64, 0x6F, 0x77, 0x69, 0x66 .byte 0x69, 0x2E, 0x6E, 0x65, 0x74, 0x2F, 0x70, 0x6F, 0x6B, 0x65, 0x6D, 0x6F, 0x6E, 0x64, 0x70, 0x64 .byte 0x73, 0x2F, 0x62, 0x61, 0x74, 0x74, 0x6C, 0x65, 0x74, 0x6F, 0x77, 0x65, 0x72, 0x2F, 0x69, 0x6E .byte 0x66, 0x6F, 0x2E, 0x61, 0x73, 0x70, 0x00, 0x00 .global MOD82_0222FA0C MOD82_0222FA0C: ; 0x0222FA0C .word MOD82_0222E050 .global MOD82_0222FA10 MOD82_0222FA10: ; 0x0222FA10 .word MOD82_0222E118 .global MOD82_0222FA14 MOD82_0222FA14: ; 0x0222FA14 .word MOD82_0222E138 .global MOD82_0222FA18 MOD82_0222FA18: ; 0x0222FA18 .word MOD82_0222E544, MOD82_0222E574, MOD82_0222E65C, MOD82_0222E67C .word MOD82_0222E6F4, MOD82_0222E708, MOD82_0222E7A8, MOD82_0222E7E8 .word MOD82_0222E7F8, MOD82_0222E8B0, MOD82_0222E8C8, MOD82_0222E958 .word MOD82_0222E988, MOD82_0222E9CC, MOD82_0222EAA4, MOD82_0222EB40 .word MOD82_0222EB60, MOD82_0222EC4C, MOD82_0222EB10, MOD82_0222F210 .word MOD82_0222F240, MOD82_0222F274, MOD82_0222F2A4, MOD82_0222EC88 .word MOD82_0222ECBC, MOD82_0222ED00, MOD82_0222EDBC, MOD82_0222EDF8 .word MOD82_0222EE28, MOD82_0222EE74, MOD82_0222EF24, MOD82_0222EF54 .word MOD82_0222EF9C, MOD82_0222F048, MOD82_0222F0A8, MOD82_0222F0C8 .word MOD82_0222F194, MOD82_0222F1D8, MOD82_0222F1F0, MOD82_0222F2D8 .word MOD82_0222F308, MOD82_0222F324, MOD82_0222F35C, MOD82_0222F1D0 .word MOD82_0222F360, MOD82_0222F450, MOD82_0222F4A4, MOD82_0222F470 .word MOD82_0222F390, MOD82_0222E5D8, MOD82_0222E604, MOD82_0222F3BC .word MOD82_0222F430, MOD82_0222F548, MOD82_0222F570, 0x00000000 .word 0x00000000, 0x00000000 .bss .global MOD82_0222FB00 MOD82_0222FB00: ; 0x0222FB00 .space 0xC .global MOD82_0222FB0C MOD82_0222FB0C: ; 0x0222FB0C .space 0x8 .global MOD82_0222FB14 MOD82_0222FB14: ; 0x0222FB14 .space 0xCC .global MOD82_0222FBE0 MOD82_0222FBE0: ; 0x0222FBE0 .space 0x1B .global MOD82_0222FBFB MOD82_0222FBFB: ; 0x0222FBFB .space 0x5 .global MOD82_0222FC00 MOD82_0222FC00: ; 0x0222FC00 .space 0x3 .global MOD82_0222FC03 MOD82_0222FC03: ; 0x0222FC03 .space 0x9 .global MOD82_0222FC0C MOD82_0222FC0C: ; 0x0222FC0C .space 0x14