diff options
author | red031000 <rubenru09@aol.com> | 2020-07-27 14:38:25 +0100 |
---|---|---|
committer | red031000 <rubenru09@aol.com> | 2020-07-27 14:38:25 +0100 |
commit | b0cf87ca3640d912d047de41343b4ff9e5f44c6e (patch) | |
tree | 9cc1d5eb50c2af0e6b7f3a04191f789b0bd755d4 | |
parent | 7c2a848ecccb95d010d8c0836c5d9c6a96b39da0 (diff) |
decomp module static init sections
36 files changed, 3739 insertions, 3722 deletions
diff --git a/arm9/arm9.lsf b/arm9/arm9.lsf index cfa44c60..0bfe989e 100644 --- a/arm9/arm9.lsf +++ b/arm9/arm9.lsf @@ -569,8 +569,9 @@ Overlay MODULE_11 { ##Battles## After MODULE_08 - Object module_11.o + Object module_11_thumb1.o Object module_11_sinit.o + Object module_11_thumb2.o } Overlay MODULE_12 @@ -638,8 +639,8 @@ Overlay MODULE_21 { ##Pokétch Clock## After MODULE_20 - Object module_21.o Object module_21_sinit.o + Object module_21.o } Overlay MODULE_22 @@ -652,8 +653,8 @@ Overlay MODULE_23 { ##Pokétch Calculator## After MODULE_20 - Object module_23.o Object module_23_sinit.o + Object module_23.o } Overlay MODULE_24 @@ -680,31 +681,31 @@ Overlay MODULE_27 { ##Pokétch Party## After MODULE_20 - Object module_27.o Object module_27_sinit.o + Object module_27.o } Overlay MODULE_28 { ##Friendship Checker## After MODULE_20 - Object module_28.o Object module_28_sinit.o + Object module_28.o } Overlay MODULE_29 { ##Dowsing Machine## After MODULE_20 - Object module_29.o Object module_29_sinit.o + Object module_29.o } Overlay MODULE_30 { After MODULE_20 - Object module_30.o Object module_30_sinit.o + Object module_30.o } Overlay MODULE_31 @@ -717,8 +718,8 @@ Overlay MODULE_31 Overlay MODULE_32 { After MODULE_20 - Object module_32.o Object module_32_sinit.o + Object module_32.o } Overlay MODULE_33 @@ -730,8 +731,8 @@ Overlay MODULE_33 Overlay MODULE_34 { After MODULE_20 - Object module_34.o Object module_34_sinit.o + Object module_34.o } Overlay MODULE_35 @@ -744,8 +745,8 @@ Overlay MODULE_35 Overlay MODULE_36 { After MODULE_20 - Object module_36.o Object module_36_sinit.o + Object module_36.o } Overlay MODULE_37 @@ -765,8 +766,8 @@ Overlay MODULE_38 Overlay MODULE_39 { After MODULE_20 - Object module_39.o Object module_39_sinit.o + Object module_39.o } Overlay MODULE_40 @@ -778,31 +779,31 @@ Overlay MODULE_40 Overlay MODULE_41 { After MODULE_20 - Object module_41.o Object module_41_sinit.o + Object module_41.o } Overlay MODULE_42 { ##Marking Map## After MODULE_20 - Object module_42.o Object module_42_sinit.o + Object module_42.o } Overlay MODULE_43 { ##Berry Searcher## After MODULE_20 - Object module_43.o Object module_43_sinit.o + Object module_43.o } Overlay MODULE_44 { After MODULE_20 - Object module_44.o Object module_44_sinit.o + Object module_44.o } Overlay MODULE_45 @@ -821,8 +822,8 @@ Overlay MODULE_47 { ##Link Searcher## After MODULE_20 - Object module_47.o Object module_47_sinit.o + Object module_47.o } Overlay MODULE_48 diff --git a/arm9/global.inc b/arm9/global.inc index c750a6c5..63a62566 100644 --- a/arm9/global.inc +++ b/arm9/global.inc @@ -6915,9 +6915,28 @@ .extern MOD8_0222D578 .extern MOD09_022186F0 .extern MOD11_0222D5C0 +.extern MOD11_0222D7F8 +.extern MOD11_0222D840 +.extern MOD11_0222D88C +.extern MOD11_0222D944 +.extern MOD11_0222D980 +.extern MOD11_0222E520 +.extern MOD11_0222F0D4 +.extern MOD11_0222F29C +.extern MOD11_0222F4E4 +.extern MOD11_0222F93C +.extern MOD11_0222F988 +.extern MOD11_0222FABC +.extern MOD11_0222FB04 +.extern MOD11_0222FC38 +.extern MOD11_0222FC80 +.extern MOD11_0222FE58 +.extern MOD11_0222FE94 +.extern MOD11_0222FEC0 .extern MOD11_0222FF68 .extern MOD11_0222FF74 .extern MOD11_0222FF78 +.extern MOD11_0222FF7C .extern MOD11_0222FF84 .extern MOD11_0222FF88 .extern MOD11_0222FFC8 @@ -6936,24 +6955,40 @@ .extern MOD11_02230188 .extern MOD11_02230214 .extern MOD11_02230218 +.extern MOD11_0223021C .extern MOD11_0223022C .extern MOD11_02230260 .extern MOD11_02230270 .extern MOD11_02230290 +.extern MOD11_02230294 .extern MOD11_022302BC .extern MOD11_02230370 +.extern MOD11_02230C68 +.extern MOD11_02230D38 .extern MOD11_02230E44 .extern MOD11_02230E54 +.extern MOD11_02230EC8 +.extern MOD11_02230FA8 .extern MOD11_02231238 .extern MOD11_022312D0 +.extern MOD11_02231338 .extern MOD11_02231344 .extern MOD11_02231350 .extern MOD11_0223135C .extern MOD11_02231368 .extern MOD11_02231374 +.extern MOD11_02231390 +.extern MOD11_02231410 +.extern MOD11_02231474 +.extern MOD11_02231484 +.extern MOD11_022314A0 +.extern MOD11_022314B0 .extern MOD11_02231504 .extern MOD11_02231534 .extern MOD11_02231678 +.extern MOD11_0223D1DC +.extern MOD11_0223D238 +.extern MOD11_0223D284 .extern MOD11_02243420 .extern MOD11_02244248 .extern MOD11_02245D38 @@ -6968,12 +7003,29 @@ .extern MOD11_02249D90 .extern MOD11_02249E04 .extern MOD11_02249E58 +.extern MOD11_0224B240 .extern MOD11_0224B310 .extern MOD11_0224C12C .extern MOD11_0224C474 +.extern MOD11_0224C54C +.extern MOD11_0224CA64 .extern MOD11_0224CA94 +.extern MOD11_0224CB38 +.extern MOD11_0224CB54 .extern MOD11_02252DB4 +.extern MOD11_0225377C +.extern MOD11_02253A58 +.extern MOD11_02253A70 +.extern MOD11_02254820 .extern MOD11_022567E0 +.extern MOD11_022583D8 +.extern MOD11_02258450 +.extern MOD11_022584AC +.extern MOD11_022584D4 +.extern MOD11_02258658 +.extern MOD11_022586BC +.extern MOD11_02258820 +.extern MOD11_02258958 .extern MOD11_0225D3EC .extern MOD11_0225D45C .extern MOD11_0225D484 @@ -6988,6 +7040,10 @@ .extern MOD11_0225D80C .extern MOD11_0225D820 .extern MOD11_0225D824 +.extern MOD11_0225D9B8 +.extern MOD11_0225DA04 +.extern MOD11_0225DA40 +.extern MOD11_0225DAB8 .extern MOD12_0222D5C0 .extern MOD12_0222D89C .extern MOD12_0222D9B0 diff --git a/arm9/modules/11/asm/module_11_thumb1.s b/arm9/modules/11/asm/module_11_thumb1.s new file mode 100644 index 00000000..4f33530a --- /dev/null +++ b/arm9/modules/11/asm/module_11_thumb1.s @@ -0,0 +1,3485 @@ + .include "asm/macros.inc" + .include "global.inc" + .section .text + .balign 4, 0 + + thumb_func_start MOD11_0222D5C0 +MOD11_0222D5C0: ; 0x0222D5C0 + push {r4, r5, r6, lr} + sub sp, #0x28 + add r4, r1, #0 + add r6, r0, #0 + bl FUN_0200628C + ldr r1, [r4] + add r5, r0, #0 + cmp r1, #0xf + bhi _0222D6D2 + add r1, r1, r1 + add r1, pc + ldrh r1, [r1, #6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 +_0222D5E0: ; jump table + .short _0222D600 - _0222D5E0 - 2 ; case 0 + .short _0222D620 - _0222D5E0 - 2 ; case 1 + .short _0222D65A - _0222D5E0 - 2 ; case 2 + .short _0222D670 - _0222D5E0 - 2 ; case 3 + .short _0222D686 - _0222D5E0 - 2 ; case 4 + .short _0222D696 - _0222D5E0 - 2 ; case 5 + .short _0222D6AC - _0222D5E0 - 2 ; case 6 + .short _0222D6C8 - _0222D5E0 - 2 ; case 7 + .short _0222D6DA - _0222D5E0 - 2 ; case 8 + .short _0222D6EE - _0222D5E0 - 2 ; case 9 + .short _0222D704 - _0222D5E0 - 2 ; case 10 + .short _0222D720 - _0222D5E0 - 2 ; case 11 + .short _0222D742 - _0222D5E0 - 2 ; case 12 + .short _0222D752 - _0222D5E0 - 2 ; case 13 + .short _0222D7C2 - _0222D5E0 - 2 ; case 14 + .short _0222D7E4 - _0222D5E0 - 2 ; case 15 +_0222D600: + mov r2, #0xb + mov r0, #3 + mov r1, #5 + lsl r2, r2, #0x10 + bl FUN_0201681C + ldr r1, [r5] + mov r0, #4 + tst r0, r1 + beq _0222D61A + mov r0, #1 + str r0, [r4] + b _0222D7EA +_0222D61A: + mov r0, #3 + str r0, [r4] + b _0222D7EA +_0222D620: + add r0, r6, #0 + add r1, r5, #0 + bl MOD11_0222F29C + mov r0, #0x4b + lsl r0, r0, #2 + ldr r0, [r5, r0] + bl FUN_02033778 + bl FUN_02033590 + cmp r0, #0 + bne _0222D648 + mov r0, #0x51 + lsl r0, r0, #2 + ldr r0, [r5, r0] + mov r1, #0x14 + bl FUN_0202A0E8 + b _0222D654 +_0222D648: + mov r0, #0x51 + lsl r0, r0, #2 + ldr r0, [r5, r0] + mov r1, #0x19 + bl FUN_0202A0E8 +_0222D654: + mov r0, #2 + str r0, [r4] + b _0222D7EA +_0222D65A: + add r0, r6, #0 + bl MOD11_0222F4E4 + cmp r0, #1 + bne _0222D6D2 + add r0, r6, #0 + bl MOD11_0222F93C + mov r0, #3 + str r0, [r4] + b _0222D7EA +_0222D670: + add r0, r6, #0 + bl MOD11_0222F988 + cmp r0, #1 + bne _0222D680 + mov r0, #4 + str r0, [r4] + b _0222D7EA +_0222D680: + mov r0, #5 + str r0, [r4] + b _0222D7EA +_0222D686: + add r0, r6, #0 + bl MOD11_0222FABC + cmp r0, #1 + bne _0222D6D2 + mov r0, #5 + str r0, [r4] + b _0222D7EA +_0222D696: + add r0, r6, #0 + bl MOD11_0222FB04 + cmp r0, #1 + bne _0222D6A6 + mov r0, #6 + str r0, [r4] + b _0222D7EA +_0222D6A6: + mov r0, #8 + str r0, [r4] + b _0222D7EA +_0222D6AC: + add r0, r6, #0 + bl MOD11_0222FC38 + cmp r0, #1 + bne _0222D6D2 + ldr r0, _0222D7F0 ; =SDK_OVERLAY_MODULE_07_ID + bl UnloadOverlayByID + mov r0, #7 + str r0, [r4] + mov r0, #0x3d + bl FUN_02031588 + b _0222D7EA +_0222D6C8: + mov r0, #0x3d + bl FUN_020315D8 + cmp r0, #0 + bne _0222D6D4 +_0222D6D2: + b _0222D7EA +_0222D6D4: + mov r0, #8 + str r0, [r4] + b _0222D7EA +_0222D6DA: + ldr r0, _0222D7F4 ; =SDK_OVERLAY_MODULE_08_ID + mov r1, #2 + bl HandleLoadOverlay + add r0, r6, #0 + bl MOD11_0222DB50 + mov r0, #9 + str r0, [r4] + b _0222D7EA +_0222D6EE: + add r0, r6, #0 + bl MOD11_0222DF4C + cmp r0, #1 + bne _0222D7EA + add r0, r6, #0 + bl MOD11_0222DFA4 + mov r0, #0xa + str r0, [r4] + b _0222D7EA +_0222D704: + add r0, r6, #0 + bl MOD11_0222FC80 + cmp r0, #1 + bne _0222D714 + mov r0, #0xb + str r0, [r4] + b _0222D7EA +_0222D714: + mov r0, #5 + bl FUN_020168D0 + mov r0, #0xd + str r0, [r4] + b _0222D7EA +_0222D720: + add r0, r6, #0 + bl MOD11_0222FE58 + cmp r0, #1 + bne _0222D7EA + ldr r0, _0222D7F0 ; =SDK_OVERLAY_MODULE_07_ID + bl UnloadOverlayByID + mov r0, #5 + bl FUN_020168D0 + mov r0, #0x3e + bl FUN_02031588 + mov r0, #0xc + str r0, [r4] + b _0222D7EA +_0222D742: + mov r0, #0x3e + bl FUN_020315D8 + cmp r0, #0 + beq _0222D7EA + mov r0, #0xf + str r0, [r4] + b _0222D7EA +_0222D752: + add r1, sp, #0x24 + add r2, sp, #0x20 + bl MOD11_02230D38 + add r6, r0, #0 + beq _0222D7BC + mov r0, #3 + mov r1, #0x49 + lsl r2, r0, #0x10 + bl FUN_0201681C + ldr r0, [r5, #4] + ldr r1, [sp, #0x24] + bl GetPartyMonByIndex + add r1, r0, #0 + mov r0, #0x5a + lsl r0, r0, #2 + ldr r2, [r5, r0] + mov r3, #0x49 + str r2, [sp] + add r2, r0, #0 + sub r2, #0x58 + ldr r2, [r5, r2] + str r2, [sp, #4] + add r2, r0, #0 + sub r2, #0x60 + ldr r2, [r5, r2] + str r2, [sp, #8] + add r2, r0, #0 + sub r2, #0x24 + ldr r2, [r5, r2] + sub r0, #0x40 + str r2, [sp, #0xc] + ldr r0, [r5, r0] + add r2, r6, #0 + str r0, [sp, #0x10] + ldr r0, [sp, #0x20] + str r0, [sp, #0x14] + mov r0, #3 + str r0, [sp, #0x18] + str r3, [sp, #0x1c] + add r3, #0xe7 + ldr r0, [r5, #4] + ldr r3, [r5, r3] + bl FUN_0206C700 + mov r1, #0x66 + lsl r1, r1, #2 + str r0, [r5, r1] + mov r0, #0xe + str r0, [r4] + b _0222D7EA +_0222D7BC: + mov r0, #0xf + str r0, [r4] + b _0222D7EA +_0222D7C2: + mov r0, #0x66 + lsl r0, r0, #2 + ldr r5, [r5, r0] + add r0, r5, #0 + bl FUN_0206C91C + cmp r0, #1 + bne _0222D7EA + add r0, r5, #0 + bl FUN_0206C92C + mov r0, #0x49 + bl FUN_020168D0 + mov r0, #0xd + str r0, [r4] + b _0222D7EA +_0222D7E4: + add sp, #0x28 + mov r0, #1 + pop {r4, r5, r6, pc} +_0222D7EA: + mov r0, #0 + add sp, #0x28 + pop {r4, r5, r6, pc} + .align 2, 0 +_0222D7F0: .word SDK_OVERLAY_MODULE_07_ID +_0222D7F4: .word SDK_OVERLAY_MODULE_08_ID + + thumb_func_start MOD11_0222D7F8 +MOD11_0222D7F8: ; 0x0222D7F8 + push {r4, lr} + add r4, r0, #0 + mov r0, #0x67 + lsl r0, r0, #2 + ldr r0, [r4, r0] + bl MOD11_02258658 + ldr r0, [r4, #4] + bl MOD11_022584AC + ldr r1, _0222D834 ; =0x000023FB + mov r0, #4 + ldrb r2, [r4, r1] + orr r0, r2 + strb r0, [r4, r1] + mov r0, #2 + bl FUN_02002CF8 + add r0, r4, #0 + mov r1, #3 + bl MOD11_02231338 + ldr r0, _0222D838 ; =SDK_OVERLAY_MODULE_08_ID + bl UnloadOverlayByID + ldr r0, _0222D83C ; =SDK_OVERLAY_MODULE_09_ID + mov r1, #2 + bl HandleLoadOverlay + pop {r4, pc} + .align 2, 0 +_0222D834: .word 0x000023FB +_0222D838: .word SDK_OVERLAY_MODULE_08_ID +_0222D83C: .word SDK_OVERLAY_MODULE_09_ID + + thumb_func_start MOD11_0222D840 +MOD11_0222D840: ; 0x0222D840 + push {r4, lr} + add r4, r0, #0 + mov r0, #0 + add r1, r0, #0 + bl FUN_02015F10 + mov r0, #0x67 + lsl r0, r0, #2 + ldr r0, [r4, r0] + bl MOD11_02258658 + ldr r0, [r4, #8] + bl FUN_02019178 + ldr r0, [r4, #4] + bl MOD11_0222E4E8 + add r0, r4, #0 + bl MOD11_0222E51C + add r0, r4, #0 + add r1, r4, #0 + add r0, #0x90 + add r1, #0x94 + ldr r0, [r0] + ldr r1, [r1] + bl FUN_0200C398 + add r4, #0x90 + ldr r0, [r4] + bl FUN_0200BD04 + bl FUN_0201C29C + mov r0, #2 + bl FUN_02002CF8 + pop {r4, pc} + + thumb_func_start MOD11_0222D88C +MOD11_0222D88C: ; 0x0222D88C + push {r3, r4, r5, lr} + add r4, r0, #0 + ldr r0, _0222D938 ; =SDK_OVERLAY_MODULE_09_ID + bl UnloadOverlayByID + ldr r0, _0222D93C ; =SDK_OVERLAY_MODULE_08_ID + mov r1, #2 + bl HandleLoadOverlay + add r0, r4, #0 + mov r1, #0 + bl MOD11_02231338 + bl FUN_02022300 + add r5, r0, #0 + bl FUN_020222F8 + add r1, r0, #0 + mov r0, #0 + add r2, r5, #0 + bl MIi_CpuClear16 + bl FUN_02031190 + add r1, r0, #0 + add r0, r4, #0 + bl MOD11_0223021C + add r1, r0, #0 + add r0, r4, #0 + bl MOD11_022584D4 + mov r1, #0x67 + lsl r1, r1, #2 + str r0, [r4, r1] + mov r0, #2 + mov r1, #5 + bl FUN_02002C50 + ldr r1, _0222D940 ; =0x000023FB + mov r0, #2 + ldrb r2, [r4, r1] + orr r0, r2 + strb r0, [r4, r1] + ldr r0, [r4, #4] + bl MOD11_02258450 + mov r0, #0x10 + mov r1, #1 + bl FUN_0201E74C + mov r0, #0x67 + lsl r0, r0, #2 + ldr r0, [r4, r0] + bl MOD11_022586BC + mov r0, #0x67 + lsl r0, r0, #2 + mov r1, #0 + ldr r0, [r4, r0] + mov r2, #1 + add r3, r1, #0 + bl MOD11_02258820 + mov r0, #0x67 + lsl r0, r0, #2 + ldr r0, [r4, r0] + bl MOD11_02258958 + mov r0, #1 + bl FUN_02002840 + add r0, r4, #0 + bl MOD11_0222FE94 + add r4, #0x90 + ldr r0, [r4] + bl FUN_0200BB68 + mov r2, #0x11 + mov r1, #0 + lsl r2, r2, #0x10 + bl FUN_02008D24 + pop {r3, r4, r5, pc} + .align 2, 0 +_0222D938: .word SDK_OVERLAY_MODULE_09_ID +_0222D93C: .word SDK_OVERLAY_MODULE_08_ID +_0222D940: .word 0x000023FB + + thumb_func_start MOD11_0222D944 +MOD11_0222D944: ; 0x0222D944 + push {r4, lr} + add r4, r0, #0 + ldr r0, [r4, #8] + bl FUN_02019178 + mov r0, #1 + mov r1, #0 + bl FUN_0201E6E4 + mov r0, #2 + mov r1, #0 + bl FUN_0201E6E4 + ldr r0, [r4, #4] + mov r1, #1 + bl FUN_020178A0 + ldr r0, [r4, #4] + mov r1, #2 + bl FUN_020178A0 + ldr r0, [r4, #4] + mov r1, #3 + bl FUN_020178A0 + add r0, r4, #0 + bl MOD11_02231410 + pop {r4, pc} + .align 2, 0 + + thumb_func_start MOD11_0222D980 +MOD11_0222D980: ; 0x0222D980 + push {r4, r5, r6, lr} + sub sp, #0x68 + ldr r1, _0222DB38 ; =0x000023FB + add r5, r0, #0 + ldrb r2, [r5, r1] + mov r0, #1 + ldr r4, _0222DB3C ; =MOD11_0225DAE0 + bic r2, r0 + mov r0, #1 + orr r0, r2 + strb r0, [r5, r1] + add r3, sp, #0x14 + mov r2, #0xa +_0222D99A: + ldmia r4!, {r0, r1} + stmia r3!, {r0, r1} + sub r2, r2, #1 + bne _0222D99A + ldr r0, [r4] + mov r1, #1 + str r0, [r3] + ldr r0, [r5, #4] + add r2, sp, #0x14 + mov r3, #0 + bl FUN_02016C18 + ldr r0, [r5, #4] + mov r1, #1 + bl FUN_02018744 + ldr r0, [r5, #4] + mov r1, #2 + add r2, sp, #0x30 + mov r3, #0 + bl FUN_02016C18 + ldr r0, [r5, #4] + mov r1, #2 + bl FUN_02018744 + ldr r0, [r5, #4] + mov r1, #3 + add r2, sp, #0x4c + mov r3, #0 + bl FUN_02016C18 + ldr r0, [r5, #4] + mov r1, #3 + bl FUN_02018744 + ldr r1, _0222DB40 ; =0x04000008 + mov r0, #3 + ldrh r2, [r1] + bic r2, r0 + mov r0, #1 + orr r2, r0 + strh r2, [r1] + add r1, r0, #0 + bl FUN_0201E6E4 + add r0, r5, #0 + bl MOD11_02230E44 + add r4, r0, #0 + lsl r0, r4, #0x18 + lsr r0, r0, #0x18 + str r0, [sp] + mov r0, #5 + str r0, [sp, #4] + mov r1, #1 + ldr r0, [r5, #4] + add r2, r1, #0 + mov r3, #0xa + bl FUN_0200D274 + mov r0, #0 + str r0, [sp] + str r0, [sp, #4] + mov r0, #1 + str r0, [sp, #8] + mov r0, #5 + str r0, [sp, #0xc] + mov r1, #9 + lsl r1, r1, #0xa + ldr r1, [r5, r1] + ldr r2, [r5, #4] + mov r0, #7 + add r1, r1, #3 + mov r3, #3 + bl FUN_0200687C + add r0, r5, #0 + bl MOD11_02230C68 + add r2, r0, #0 + mov r0, #0 + str r0, [sp] + str r0, [sp, #4] + mov r3, #9 + str r0, [sp, #8] + lsl r3, r3, #0xa + ldr r6, [r5, r3] + ldr r0, [r5, #0x28] + lsl r3, r6, #1 + add r3, r6, r3 + add r3, #0x9e + add r2, r3, r2 + mov r1, #7 + mov r3, #5 + bl FUN_020030E8 + add r0, r4, #0 + bl FUN_0200CD64 + add r2, r0, #0 + mov r0, #0 + str r0, [sp] + mov r0, #0x20 + str r0, [sp, #4] + mov r0, #0xa0 + str r0, [sp, #8] + ldr r0, [r5, #0x28] + mov r1, #0x26 + mov r3, #5 + bl FUN_020030E8 + mov r0, #0 + str r0, [sp] + mov r0, #0x20 + str r0, [sp, #4] + mov r0, #0xb0 + str r0, [sp, #8] + ldr r0, [r5, #0x28] + mov r1, #0xe + mov r2, #7 + mov r3, #5 + bl FUN_020030E8 + mov r0, #0 + str r0, [sp] + str r0, [sp, #4] + mov r0, #1 + str r0, [sp, #8] + mov r0, #5 + str r0, [sp, #0xc] + ldr r2, [r5, #4] + mov r0, #7 + mov r1, #2 + mov r3, #3 + bl FUN_020068C8 + mov r0, #1 + lsl r0, r0, #0x1a + ldr r2, [r0] + ldr r1, _0222DB44 ; =0xFFFF1FFF + ldr r3, _0222DB48 ; =0x04001000 + and r2, r1 + str r2, [r0] + ldr r2, [r3] + and r1, r2 + add r2, r0, #0 + str r1, [r3] + add r2, #0x48 + ldrh r3, [r2] + mov r1, #0x3f + add r0, #0x4a + bic r3, r1 + strh r3, [r2] + ldrh r2, [r0] + bic r2, r1 + strh r2, [r0] + bl FUN_0201E788 + mov r0, #0x10 + mov r1, #1 + bl FUN_0201E6E4 + mov r0, #0x10 + mov r1, #1 + bl FUN_0201E74C + ldr r0, _0222DB4C ; =MOD11_0222F01C + add r1, r5, #0 + bl FUN_02015F10 + ldr r0, _0222DB38 ; =0x000023FB + mov r3, #2 + ldrb r1, [r5, r0] + mov r2, #1 + orr r1, r3 + strb r1, [r5, r0] + mov r0, #0x13 + str r0, [sp] + mov r0, #0x1b + str r0, [sp, #4] + mov r0, #4 + str r0, [sp, #8] + mov r0, #0xb + str r0, [sp, #0xc] + mov r0, #0x1f + str r0, [sp, #0x10] + ldr r0, [r5, #4] + ldr r1, [r5, #8] + bl FUN_02019064 + ldr r0, [r5, #8] + mov r1, #0xff + bl FUN_02019620 + ldr r0, [r5, #8] + mov r1, #0 + mov r2, #1 + mov r3, #0xa + bl FUN_0200D0BC + add r0, r5, #0 + bl MOD11_0222FE94 + add sp, #0x68 + pop {r4, r5, r6, pc} + nop +_0222DB38: .word 0x000023FB +_0222DB3C: .word MOD11_0225DAE0 +_0222DB40: .word 0x04000008 +_0222DB44: .word 0xFFFF1FFF +_0222DB48: .word 0x04001000 +_0222DB4C: .word MOD11_0222F01C + + thumb_func_start MOD11_0222DB50 +MOD11_0222DB50: ; 0x0222DB50 + push {r3, r4, r5, r6, r7, lr} + sub sp, #0x30 + bl FUN_02006278 + add r4, r0, #0 + bl FUN_020222F0 + add r5, r0, #0 + bl FUN_020222E8 + add r1, r0, #0 + mov r0, #0 + add r2, r5, #0 + bl MIi_CpuClear16 + bl FUN_02022300 + add r5, r0, #0 + bl FUN_020222F8 + add r1, r0, #0 + mov r0, #0 + add r2, r5, #0 + bl MIi_CpuClear16 + bl GetLCRNGSeed + ldr r1, _0222DF0C ; =0x00002430 + str r0, [r4, r1] + add r0, sp, #0x20 + add r1, sp, #0x14 + bl FUN_0201265C + ldr r0, _0222DF10 ; =gUnknown21C48B8 + ldr r6, [sp, #0x24] + ldr r5, [r0, #0x2c] + ldr r1, [sp, #0x18] + ldr r0, [sp, #0x1c] + lsl r6, r6, #8 + add r0, r1, r0 + lsl r3, r0, #0x18 + ldr r0, [sp, #0x14] + ldr r1, [sp, #0x20] + lsl r2, r0, #0x10 + ldr r0, [sp, #0x28] + mul r6, r0 + lsl r0, r6, #0x10 + add r0, r1, r0 + add r0, r2, r0 + add r0, r3, r0 + add r0, r5, r0 + bl SetLCRNGSeed + bl MOD11_0222EF30 + str r0, [r4] + bl FUN_02015F1C + mov r0, #2 + mov r1, #5 + bl FUN_02002C50 + mov r0, #0xe + mov r1, #1 + mov r2, #0xf + mov r3, #5 + bl FUN_0200B870 + mov r1, #0x6a + lsl r1, r1, #2 + str r0, [r4, r1] + ldr r2, [r4, r1] + add r0, r1, #4 + str r2, [r4, r0] + mov r0, #5 + bl FUN_02002FD0 + str r0, [r4, #0x28] + mov r1, #1 + bl FUN_020038F0 + mov r2, #2 + ldr r0, [r4, #0x28] + mov r1, #0 + lsl r2, r2, #8 + mov r3, #5 + bl FUN_02003008 + mov r1, #1 + ldr r0, [r4, #0x28] + lsl r2, r1, #9 + mov r3, #5 + bl FUN_02003008 + mov r2, #7 + ldr r0, [r4, #0x28] + mov r1, #2 + lsl r2, r2, #6 + mov r3, #5 + bl FUN_02003008 + mov r2, #2 + ldr r0, [r4, #0x28] + mov r1, #3 + lsl r2, r2, #8 + mov r3, #5 + bl FUN_02003008 + mov r0, #5 + bl FUN_02016B94 + str r0, [r4, #4] + mov r0, #5 + mov r1, #3 + bl FUN_02018FF4 + mov r7, #0x73 + str r0, [r4, #8] + mov r6, #0 + add r5, r4, #0 + lsl r7, r7, #2 +_0222DC42: + mov r1, #0x32 + mov r0, #5 + lsl r1, r1, #6 + bl AllocFromHeap + str r0, [r5, r7] + add r6, r6, #1 + add r5, #0x10 + cmp r6, #4 + blt _0222DC42 + mov r0, #0x40 + mov r1, #5 + bl FUN_0201C24C + bl FUN_02031190 + add r1, r0, #0 + add r0, r4, #0 + bl MOD11_0223021C + add r1, r0, #0 + add r0, r4, #0 + bl MOD11_022584D4 + mov r1, #0x67 + lsl r1, r1, #2 + str r0, [r4, r1] + ldr r1, [r4, #4] + add r0, r4, #0 + bl MOD11_0222E264 + mov r0, #0x13 + str r0, [sp] + mov r0, #0x1b + str r0, [sp, #4] + mov r0, #4 + str r0, [sp, #8] + mov r0, #0xb + str r0, [sp, #0xc] + mov r0, #0x1f + str r0, [sp, #0x10] + ldr r0, [r4, #4] + ldr r1, [r4, #8] + mov r2, #1 + mov r3, #2 + bl FUN_02019064 + ldr r0, [r4, #8] + mov r1, #0xff + bl FUN_02019620 + ldr r0, [r4, #8] + mov r1, #0 + mov r2, #1 + mov r3, #0xa + bl FUN_0200D0BC + mov r0, #5 + bl FUN_0200BB14 + add r1, r4, #0 + add r1, #0x90 + str r0, [r1] + add r0, r4, #0 + add r0, #0x90 + ldr r0, [r0] + ldr r1, _0222DF14 ; =MOD11_0225DA20 + ldr r2, _0222DF18 ; =MOD11_0225D9D8 + mov r3, #0x20 + bl FUN_0200BB6C + ldr r1, _0222DF1C ; =0x00100010 + mov r0, #1 + bl FUN_02008D44 + mov r0, #1 + bl FUN_02008DDC + add r0, r4, #0 + add r0, #0x90 + ldr r0, [r0] + bl FUN_0200BB34 + add r1, r4, #0 + add r1, #0x94 + str r0, [r1] + add r0, r4, #0 + add r1, r4, #0 + add r0, #0x90 + add r1, #0x94 + ldr r0, [r0] + ldr r1, [r1] + mov r2, #0x80 + bl FUN_0200BBF0 + add r0, r4, #0 + add r1, r4, #0 + add r0, #0x90 + add r1, #0x94 + ldr r0, [r0] + ldr r1, [r1] + ldr r2, _0222DF20 ; =MOD11_0225D9EC + bl FUN_0200BF60 + add r0, r4, #0 + add r0, #0x90 + ldr r0, [r0] + bl FUN_0200BB68 + mov r2, #0x11 + mov r1, #0 + lsl r2, r2, #0x10 + bl FUN_02008D24 + mov r0, #0x67 + lsl r0, r0, #2 + ldr r0, [r4, r0] + bl MOD11_022586BC + mov r0, #0x67 + lsl r0, r0, #2 + mov r1, #0 + ldr r0, [r4, r0] + mov r2, #1 + add r3, r1, #0 + bl MOD11_02258820 + mov r0, #0x67 + lsl r0, r0, #2 + ldr r0, [r4, r0] + bl MOD11_02258958 + mov r0, #5 + bl FUN_02006D98 + add r1, r4, #0 + add r1, #0x88 + str r0, [r1] + add r0, r4, #0 + add r0, #0x88 + ldr r0, [r0] + mov r1, #0 + mov r2, #0xc0 + bl FUN_020081B4 + add r0, r4, #0 + bl MOD11_02231390 + bl MOD11_0222EFDC + mov r0, #5 + bl MOD08_02211F5C + add r1, r4, #0 + add r1, #0x8c + str r0, [r1] + add r0, r4, #0 + bl MOD11_0222E470 + bl FUN_0201CC08 + mov r0, #4 + bl FUN_0201CC24 + mov r2, #0x51 + mov r0, #1 + mov r1, #0x1a + lsl r2, r2, #2 + mov r3, #5 + bl NewMsgDataFromNarc + str r0, [r4, #0xc] + mov r0, #1 + mov r1, #0x1a + mov r2, #0 + mov r3, #5 + bl NewMsgDataFromNarc + str r0, [r4, #0x10] + mov r0, #5 + bl FUN_0200AA80 + str r0, [r4, #0x14] + mov r0, #5 + lsl r0, r0, #6 + mov r1, #5 + bl String_ctor + str r0, [r4, #0x18] + ldr r0, [r4, #0x28] + mov r1, #0 + bl FUN_020031FC + ldr r1, _0222DF24 ; =0x00002224 + mov r2, #0xe0 + add r1, r4, r1 + bl MIi_CpuCopy16 + ldr r0, [r4, #0x28] + mov r1, #2 + bl FUN_020031FC + ldr r1, _0222DF28 ; =0x00002304 + mov r2, #0xe0 + add r1, r4, r1 + bl MIi_CpuCopy16 + add r0, r4, #0 + bl MOD11_02230C68 + mov r1, #0 + lsl r5, r0, #2 + mov r3, #9 + str r1, [sp] + mov r0, #0x70 + str r0, [sp, #4] + lsl r3, r3, #0xa + ldr r3, [r4, r3] + mov r6, #0xc + mul r6, r3 + ldr r3, _0222DF2C ; =MOD11_0225DB88 + ldr r0, [r4, #0x28] + add r3, r3, r6 + ldr r3, [r5, r3] + mov r2, #2 + lsl r3, r3, #0x10 + lsr r3, r3, #0x10 + bl FUN_02003914 + mov r0, #0xc0 + str r0, [sp] + add r0, #0x40 + mov r3, #9 + str r0, [sp, #4] + lsl r3, r3, #0xa + ldr r3, [r4, r3] + mov r6, #0xc + mul r6, r3 + ldr r3, _0222DF2C ; =MOD11_0225DB88 + ldr r0, [r4, #0x28] + add r3, r3, r6 + ldr r3, [r5, r3] + mov r1, #0 + lsl r3, r3, #0x10 + mov r2, #2 + lsr r3, r3, #0x10 + bl FUN_02003914 + mov r0, #0 + str r0, [sp] + mov r0, #0xdf + mov r3, #9 + str r0, [sp, #4] + lsl r3, r3, #0xa + mov r1, #2 + ldr r3, [r4, r3] + mov r6, #0xc + mul r6, r3 + ldr r3, _0222DF2C ; =MOD11_0225DB88 + ldr r0, [r4, #0x28] + add r3, r3, r6 + ldr r3, [r5, r3] + add r2, r1, #0 + lsl r3, r3, #0x10 + lsr r3, r3, #0x10 + bl FUN_02003914 + mov r1, #0 + mov r0, #0xa0 + str r0, [sp] + mov r0, #0xc0 + str r0, [sp, #4] + ldr r0, [r4, #0x28] + add r2, r1, #0 + add r3, r1, #0 + bl FUN_02003914 + mov r2, #0 + str r2, [sp] + mov r0, #0xff + str r0, [sp, #4] + ldr r0, [r4, #0x28] + ldr r3, _0222DF30 ; =0x0000FFFF + mov r1, #1 + bl FUN_02003914 + mov r2, #0 + str r2, [sp] + mov r0, #0xff + str r0, [sp, #4] + ldr r0, [r4, #0x28] + ldr r3, _0222DF30 ; =0x0000FFFF + mov r1, #3 + bl FUN_02003914 + ldr r0, [r4, #0x28] + mov r1, #0 + mov r2, #0xb + mov r3, #5 + bl FUN_020142EC + mov r1, #0x1b + lsl r1, r1, #4 + str r0, [r4, r1] + ldr r0, [r4, r1] + mov r1, #1 + bl FUN_020143A8 + ldr r0, _0222DF34 ; =MOD11_0222F100 + ldr r2, _0222DF38 ; =0x0000EA60 + add r1, r4, #0 + bl FUN_0200CA44 + str r0, [r4, #0x1c] + ldr r0, _0222DF3C ; =MOD11_0222F144 + ldr r2, _0222DF40 ; =0x0000C350 + add r1, r4, #0 + bl FUN_0200CA44 + str r0, [r4, #0x20] + mov r2, #0x4b + ldr r0, _0222DF44 ; =MOD11_0222F254 + add r1, r4, #0 + lsl r2, r2, #4 + bl FUN_0200CA60 + str r0, [r4, #0x24] + mov r1, #0x32 + ldr r0, _0222DF48 ; =0x00002434 + mvn r1, r1 + str r1, [r4, r0] + add r0, r4, #0 + bl MOD11_0222FE94 + add r0, r4, #0 + bl MOD11_02230218 + bl FUN_0206F1C0 + mov r0, #5 + mov r1, #4 + mov r2, #0 + bl FUN_02014BF4 + mov r1, #0x71 + lsl r1, r1, #2 + str r0, [r4, r1] + mov r0, #2 + mov r1, #5 + bl FUN_0201C328 + mov r1, #0x72 + lsl r1, r1, #2 + str r0, [r4, r1] + add sp, #0x30 + pop {r3, r4, r5, r6, r7, pc} + nop +_0222DF0C: .word 0x00002430 +_0222DF10: .word gUnknown21C48B8 +_0222DF14: .word MOD11_0225DA20 +_0222DF18: .word MOD11_0225D9D8 +_0222DF1C: .word 0x00100010 +_0222DF20: .word MOD11_0225D9EC +_0222DF24: .word 0x00002224 +_0222DF28: .word 0x00002304 +_0222DF2C: .word MOD11_0225DB88 +_0222DF30: .word 0x0000FFFF +_0222DF34: .word MOD11_0222F100 +_0222DF38: .word 0x0000EA60 +_0222DF3C: .word MOD11_0222F144 +_0222DF40: .word 0x0000C350 +_0222DF44: .word MOD11_0222F254 +_0222DF48: .word 0x00002434 + + thumb_func_start MOD11_0222DF4C +MOD11_0222DF4C: ; 0x0222DF4C + push {r4, r5, r6, lr} + bl FUN_02006278 + ldr r1, _0222DF9C ; =0x000023F8 + add r4, r0, #0 + ldrb r1, [r4, r1] + cmp r1, #0 + beq _0222DF7A + ldr r2, [r4, #0x2c] + mov r1, #4 + tst r1, r2 + ldr r1, [r4, #0x30] + beq _0222DF6C + bl MOD11_0223D238 + b _0222DF7A +_0222DF6C: + bl MOD11_0223D238 + ldr r1, _0222DFA0 ; =0x000023FA + strb r0, [r4, r1] + add r0, r4, #0 + bl MOD11_02254820 +_0222DF7A: + ldr r0, [r4, #0x44] + mov r6, #0 + cmp r0, #0 + ble _0222DF96 + add r5, r4, #0 +_0222DF84: + ldr r1, [r5, #0x34] + add r0, r4, #0 + bl MOD11_0224CB38 + ldr r0, [r4, #0x44] + add r6, r6, #1 + add r5, r5, #4 + cmp r6, r0 + blt _0222DF84 +_0222DF96: + ldr r0, _0222DFA0 ; =0x000023FA + ldrb r0, [r4, r0] + pop {r4, r5, r6, pc} + .align 2, 0 +_0222DF9C: .word 0x000023F8 +_0222DFA0: .word 0x000023FA + + thumb_func_start MOD11_0222DFA4 +MOD11_0222DFA4: ; 0x0222DFA4 + push {r3, r4, r5, r6, r7, lr} + add r5, r0, #0 + bl FUN_02006278 + add r4, r0, #0 + add r0, r5, #0 + bl FUN_0200628C + add r7, r0, #0 + mov r0, #0 + add r1, r0, #0 + bl FUN_0200E3A0 + mov r0, #1 + mov r1, #0 + bl FUN_0200E3A0 + add r0, r4, #0 + bl MOD11_02230EC8 + ldr r0, _0222E248 ; =0x0000241C + ldrb r0, [r4, r0] + cmp r0, #4 + beq _0222DFE4 + ldr r0, [r4, #0x6c] + mov r1, #0 + bl GetPartyMonByIndex + add r1, r0, #0 + add r0, r4, #0 + bl MOD11_02230FA8 +_0222DFE4: + mov r0, #0 + str r0, [sp] + add r6, r7, #0 + add r5, r4, #0 +_0222DFEC: + ldr r0, [r5, #0x68] + ldr r1, [r6, #4] + bl FUN_0206BAD0 + ldr r0, [r5, #0x68] + bl FreeToHeap + add r1, r6, #0 + add r1, #0xf8 + ldr r0, [r5, #0x48] + ldr r1, [r1] + bl FUN_0202393C + ldr r0, [r5, #0x48] + bl FreeToHeap + ldr r0, [sp] + add r6, r6, #4 + add r0, r0, #1 + add r5, r5, #4 + str r0, [sp] + cmp r0, #4 + blt _0222DFEC + mov r0, #0x1b + lsl r0, r0, #4 + ldr r0, [r4, r0] + bl FUN_020143D0 + mov r1, #0x42 + lsl r1, r1, #2 + ldr r0, [r4, #0x58] + ldr r1, [r7, r1] + bl FUN_0206EBB4 + ldr r0, [r4, #0x58] + bl FreeToHeap + mov r1, #0x11 + lsl r1, r1, #4 + ldr r0, [r4, #0x60] + ldr r1, [r7, r1] + bl FUN_02023D80 + ldr r0, [r4, #0x60] + bl FreeToHeap + mov r0, #0x45 + ldr r1, [r4, #0x64] + lsl r0, r0, #2 + str r1, [r7, r0] + add r1, r0, #0 + ldr r2, [r4, #0x5c] + sub r1, #8 + str r2, [r7, r1] + add r1, r4, #0 + add r1, #0x98 + ldr r2, [r1] + add r1, r0, #0 + add r1, #0x14 + str r2, [r7, r1] + add r1, r4, #0 + add r1, #0x9c + ldr r2, [r1] + add r1, r0, #0 + add r1, #0x20 + str r2, [r7, r1] + add r1, r0, #0 + ldr r2, _0222E24C ; =0x00002410 + add r1, #0x7c + ldr r3, [r4, r2] + add r0, #0x5c + str r3, [r7, r1] + add r1, r2, #0 + add r1, #0xc + ldrb r3, [r4, r1] + mov r1, #0x3f + add r2, #0x28 + and r1, r3 + str r1, [r7, #0x14] + ldr r1, [r4, r2] + mov r2, #4 + str r1, [r7, r0] + ldr r1, [r4, #0x30] + add r0, r4, #0 + mov r3, #0 + bl MOD11_0224C474 + mov r1, #0x5e + lsl r1, r1, #2 + str r0, [r7, r1] + ldr r1, [r4, #0x30] + add r0, r4, #0 + mov r2, #3 + mov r3, #0 + bl MOD11_0224C474 + mov r1, #0x4e + lsl r1, r1, #2 + ldr r2, [r7, r1] + mov r3, #0 + add r0, r2, r0 + str r0, [r7, r1] + ldr r1, [r4, #0x30] + add r0, r4, #0 + mov r2, #6 + bl MOD11_0224C474 + add r5, r0, #0 + ldr r1, [r4, #0x30] + add r0, r4, #0 + mov r2, #6 + mov r3, #2 + bl MOD11_0224C474 + mov r1, #0x4f + lsl r1, r1, #2 + ldr r2, [r7, r1] + add r0, r5, r0 + add r0, r2, r0 + str r0, [r7, r1] + ldr r1, [r4, #0x30] + add r0, r4, #0 + mov r2, #7 + mov r3, #0 + bl MOD11_0224C474 + add r5, r0, #0 + ldr r1, [r4, #0x30] + add r0, r4, #0 + mov r2, #7 + mov r3, #2 + bl MOD11_0224C474 + mov r1, #5 + lsl r1, r1, #6 + ldr r2, [r7, r1] + add r0, r5, r0 + add r0, r2, r0 + str r0, [r7, r1] + add r7, r1, #0 + mov r6, #0 + add r5, r4, #0 + add r7, #0x8c +_0222E10A: + ldr r0, [r5, r7] + bl FreeToHeap + add r6, r6, #1 + add r5, #0x10 + cmp r6, #4 + blt _0222E10A + ldr r0, [r4, #0x18] + bl FreeToHeap + ldr r0, [r4, #0x28] + mov r1, #0 + bl FUN_02003038 + ldr r0, [r4, #0x28] + mov r1, #1 + bl FUN_02003038 + ldr r0, [r4, #0x28] + mov r1, #2 + bl FUN_02003038 + ldr r0, [r4, #0x28] + mov r1, #3 + bl FUN_02003038 + ldr r0, [r4, #0x28] + bl FUN_02002FEC + ldr r0, [r4, #0xc] + bl DestroyMsgData + ldr r0, [r4, #0x10] + bl DestroyMsgData + ldr r0, [r4, #0x14] + bl FUN_0200AB18 + mov r0, #0x71 + lsl r0, r0, #2 + ldr r0, [r4, r0] + bl FUN_02014C28 + bl FUN_02012EAC + add r0, r4, #0 + add r0, #0x8c + ldr r0, [r0] + bl MOD08_02212024 + ldr r0, [r4, #0x30] + bl MOD11_0223D284 + ldr r0, [r4, #0x44] + mov r6, #0 + cmp r0, #0 + ble _0222E194 + ldr r7, _0222E250 ; =0x000023F9 + add r5, r4, #0 +_0222E180: + ldrb r2, [r4, r7] + ldr r1, [r5, #0x34] + add r0, r4, #0 + bl MOD11_0224CB54 + ldr r0, [r4, #0x44] + add r6, r6, #1 + add r5, r5, #4 + cmp r6, r0 + blt _0222E180 +_0222E194: + add r0, r4, #0 + add r0, #0x88 + ldr r0, [r0] + bl FUN_020072E8 + ldr r0, _0222E250 ; =0x000023F9 + ldrb r0, [r4, r0] + cmp r0, #2 + beq _0222E1AC + add r0, r4, #0 + bl MOD11_0222D840 +_0222E1AC: + mov r0, #0 + bl FUN_02002B60 + mov r0, #0 + bl FUN_02002B7C + mov r0, #0 + bl FUN_02002BB8 + ldr r0, [r4, #8] + mov r1, #3 + bl FUN_020191A4 + ldr r0, [r4, #4] + bl FreeToHeap + mov r0, #0x87 + lsl r0, r0, #2 + ldr r0, [r4, r0] + bl FreeToHeap + mov r0, #0x22 + lsl r0, r0, #4 + ldr r0, [r4, r0] + bl FreeToHeap + mov r0, #0x6a + lsl r0, r0, #2 + ldr r0, [r4, r0] + bl FUN_0200B990 + mov r0, #2 + bl FUN_02002CF8 + ldr r0, [r4, #0x1c] + bl FUN_0200CAB4 + ldr r0, [r4, #0x20] + bl FUN_0200CAB4 + bl FUN_0201CD04 + ldr r0, [r4] + bl MOD11_0222EFD4 + ldr r0, _0222E254 ; =0x00002430 + ldr r0, [r4, r0] + bl SetLCRNGSeed + add r0, r4, #0 + bl MOD11_02231474 + cmp r0, #0 + beq _0222E220 + ldr r0, _0222E258 ; =0x00000704 + mov r1, #0 + bl FUN_020054F0 +_0222E220: + mov r0, #0x72 + lsl r0, r0, #2 + ldr r0, [r4, r0] + bl FUN_0201C350 + add r0, r4, #0 + bl FreeToHeap + ldr r0, _0222E25C ; =SDK_OVERLAY_MODULE_08_ID + bl UnloadOverlayByID + bl FUN_02033590 + cmp r0, #0 + bne _0222E244 + ldr r0, _0222E260 ; =SDK_OVERLAY_MODULE_16_ID + bl UnloadOverlayByID +_0222E244: + pop {r3, r4, r5, r6, r7, pc} + nop +_0222E248: .word 0x0000241C +_0222E24C: .word 0x00002410 +_0222E250: .word 0x000023F9 +_0222E254: .word 0x00002430 +_0222E258: .word 0x00000704 +_0222E25C: .word SDK_OVERLAY_MODULE_08_ID +_0222E260: .word SDK_OVERLAY_MODULE_16_ID + + thumb_func_start MOD11_0222E264 +MOD11_0222E264: ; 0x0222E264 + push {r4, r5, r6, r7, lr} + sub sp, #0x9c + add r5, r0, #0 + add r4, r1, #0 + bl FUN_0201E6D8 + mov r0, #0 + bl FUN_0200E394 + mov r0, #1 + bl FUN_0200E394 + ldr r6, _0222E450 ; =MOD11_0225DA68 + add r3, sp, #0x20 + mov r2, #5 +_0222E282: + ldmia r6!, {r0, r1} + stmia r3!, {r0, r1} + sub r2, r2, #1 + bne _0222E282 + add r0, sp, #0x20 + bl FUN_0201E66C + mov r1, #6 + mov r2, #2 + mov r0, #0 + lsl r1, r1, #0x18 + lsl r2, r2, #0x12 + bl MIi_CpuClear32 + mov r1, #0x62 + mov r2, #2 + mov r0, #0 + lsl r1, r1, #0x14 + lsl r2, r2, #0x10 + bl MIi_CpuClear32 + mov r1, #0x19 + mov r2, #1 + mov r0, #0 + lsl r1, r1, #0x16 + lsl r2, r2, #0x12 + bl MIi_CpuClear32 + mov r1, #0x66 + mov r2, #2 + mov r0, #0 + lsl r1, r1, #0x14 + lsl r2, r2, #0x10 + bl MIi_CpuClear32 + ldr r6, _0222E454 ; =MOD11_0225D9A8 + add r3, sp, #0x10 + add r2, r3, #0 + ldmia r6!, {r0, r1} + stmia r3!, {r0, r1} + ldmia r6!, {r0, r1} + stmia r3!, {r0, r1} + add r0, r2, #0 + bl FUN_02016BBC + ldr r1, _0222E458 ; =0x000023FB + mov r0, #1 + ldrb r2, [r5, r1] + ldr r6, _0222E45C ; =MOD11_0225DB34 + add r3, sp, #0x48 + bic r2, r0 + mov r0, #1 + orr r0, r2 + strb r0, [r5, r1] + mov r2, #0xa +_0222E2F0: + ldmia r6!, {r0, r1} + stmia r3!, {r0, r1} + sub r2, r2, #1 + bne _0222E2F0 + ldr r0, [r6] + mov r1, #1 + str r0, [r3] + add r0, r4, #0 + add r2, sp, #0x48 + mov r3, #0 + bl FUN_02016C18 + add r0, r4, #0 + mov r1, #1 + bl FUN_02018744 + add r0, r4, #0 + mov r1, #2 + add r2, sp, #0x64 + mov r3, #0 + bl FUN_02016C18 + add r0, r4, #0 + mov r1, #2 + bl FUN_02018744 + add r0, r4, #0 + mov r1, #3 + add r2, sp, #0x80 + mov r3, #0 + bl FUN_02016C18 + add r0, r4, #0 + mov r1, #3 + bl FUN_02018744 + ldr r1, _0222E460 ; =0x04000008 + mov r0, #3 + ldrh r2, [r1] + bic r2, r0 + mov r0, #1 + orr r2, r0 + strh r2, [r1] + add r1, r0, #0 + bl FUN_0201E6E4 + add r0, r4, #0 + bl MOD11_02258450 + add r0, r5, #0 + bl MOD11_02230E44 + add r7, r0, #0 + lsl r0, r7, #0x18 + lsr r0, r0, #0x18 + str r0, [sp] + mov r0, #5 + mov r1, #1 + str r0, [sp, #4] + add r0, r4, #0 + add r2, r1, #0 + mov r3, #0xa + bl FUN_0200D274 + mov r0, #0 + str r0, [sp] + str r0, [sp, #4] + mov r0, #1 + str r0, [sp, #8] + mov r0, #5 + mov r1, #9 + str r0, [sp, #0xc] + lsl r1, r1, #0xa + ldr r1, [r5, r1] + mov r0, #7 + add r1, r1, #3 + add r2, r4, #0 + mov r3, #3 + bl FUN_0200687C + add r0, r5, #0 + bl MOD11_02230C68 + add r6, r0, #0 + mov r0, #0 + str r0, [sp] + str r0, [sp, #4] + mov r2, #9 + str r0, [sp, #8] + lsl r2, r2, #0xa + ldr r3, [r5, r2] + ldr r0, [r5, #0x28] + lsl r2, r3, #1 + add r2, r3, r2 + add r2, #0x9e + mov r1, #7 + add r2, r2, r6 + mov r3, #5 + bl FUN_020030E8 + add r0, r7, #0 + bl FUN_0200CD64 + add r2, r0, #0 + mov r0, #0 + str r0, [sp] + mov r0, #0x20 + str r0, [sp, #4] + mov r0, #0xa0 + str r0, [sp, #8] + ldr r0, [r5, #0x28] + mov r1, #0x26 + mov r3, #5 + bl FUN_020030E8 + mov r0, #0 + str r0, [sp] + mov r0, #0x20 + str r0, [sp, #4] + mov r0, #0xb0 + str r0, [sp, #8] + ldr r0, [r5, #0x28] + mov r1, #0xe + mov r2, #7 + mov r3, #5 + bl FUN_020030E8 + mov r0, #0 + str r0, [sp] + str r0, [sp, #4] + mov r0, #1 + str r0, [sp, #8] + mov r0, #5 + str r0, [sp, #0xc] + mov r0, #7 + mov r1, #2 + add r2, r4, #0 + mov r3, #3 + bl FUN_020068C8 + mov r0, #1 + lsl r0, r0, #0x1a + ldr r2, [r0] + ldr r1, _0222E464 ; =0xFFFF1FFF + ldr r3, _0222E468 ; =0x04001000 + and r2, r1 + str r2, [r0] + ldr r2, [r3] + and r1, r2 + add r2, r0, #0 + str r1, [r3] + add r2, #0x48 + ldrh r3, [r2] + mov r1, #0x3f + add r0, #0x4a + bic r3, r1 + strh r3, [r2] + ldrh r2, [r0] + bic r2, r1 + strh r2, [r0] + bl FUN_0201E788 + mov r0, #0x10 + mov r1, #1 + bl FUN_0201E6E4 + mov r0, #0x10 + mov r1, #1 + bl FUN_0201E74C + ldr r0, _0222E46C ; =MOD11_0222F01C + add r1, r5, #0 + bl FUN_02015F10 + add sp, #0x9c + pop {r4, r5, r6, r7, pc} + .align 2, 0 +_0222E450: .word MOD11_0225DA68 +_0222E454: .word MOD11_0225D9A8 +_0222E458: .word 0x000023FB +_0222E45C: .word MOD11_0225DB34 +_0222E460: .word 0x04000008 +_0222E464: .word 0xFFFF1FFF +_0222E468: .word 0x04001000 +_0222E46C: .word MOD11_0222F01C + + thumb_func_start MOD11_0222E470 +MOD11_0222E470: ; 0x0222E470 + push {r3, r4, r5, r6, r7, lr} + add r5, r0, #0 + bl MOD11_02230294 + add r4, r0, #0 + mov r0, #0x5f + lsl r0, r0, #2 + add r0, r5, r0 + add r1, r5, #0 + mov r2, #0 + add r3, r4, #0 + bl MOD11_022583D8 + mov r0, #0x63 + lsl r0, r0, #2 + add r0, r5, r0 + add r1, r5, #0 + mov r2, #1 + add r3, r4, #0 + bl MOD11_022583D8 + add r0, r5, #0 + bl MOD11_0222FF78 + str r0, [sp] + ldr r0, [r5, #0x44] + mov r4, #0 + cmp r0, #0 + ble _0222E4E2 + add r6, r5, #0 +_0222E4AC: + ldr r1, [sp] + add r0, r5, #0 + mov r2, #2 + add r3, r4, #0 + bl MOD11_0224C474 + add r7, r0, #0 + add r0, r5, #0 + add r1, r4, #0 + add r2, r7, #0 + bl MOD11_02230014 + mov r1, #0x9a + mov r2, #0 + bl GetMonData + add r2, r0, #0 + ldr r1, [r6, #0x34] + add r0, r5, #0 + add r3, r7, #0 + bl MOD11_0224CA94 + ldr r0, [r5, #0x44] + add r4, r4, #1 + add r6, r6, #4 + cmp r4, r0 + blt _0222E4AC +_0222E4E2: + bl FUN_02033E74 + pop {r3, r4, r5, r6, r7, pc} + + thumb_func_start MOD11_0222E4E8 +MOD11_0222E4E8: ; 0x0222E4E8 + push {r4, lr} + add r4, r0, #0 + mov r0, #1 + mov r1, #0 + bl FUN_0201E6E4 + mov r0, #2 + mov r1, #0 + bl FUN_0201E6E4 + add r0, r4, #0 + mov r1, #1 + bl FUN_020178A0 + add r0, r4, #0 + mov r1, #2 + bl FUN_020178A0 + add r0, r4, #0 + mov r1, #3 + bl FUN_020178A0 + add r0, r4, #0 + bl MOD11_022584AC + pop {r4, pc} + + thumb_func_start MOD11_0222E51C +MOD11_0222E51C: ; 0x0222E51C + bx lr + .align 2, 0 + + thumb_func_start MOD11_0222E520 +MOD11_0222E520: ; 0x0222E520 + push {r3, r4, r5, r6, r7, lr} + sub sp, #0x40 + add r4, r0, #0 + ldr r0, [r1] + str r1, [sp, #4] + str r0, [r4, #0x2c] + mov r7, #0 + add r6, r4, #0 + add r5, r1, #0 +_0222E532: + mov r0, #5 + bl FUN_02023928 + add r1, r0, #0 + add r0, r5, #0 + str r1, [r6, #0x48] + add r0, #0xf8 + ldr r0, [r0] + bl FUN_0202393C + mov r0, #0x46 + lsl r0, r0, #2 + ldr r0, [r5, r0] + add r7, r7, #1 + str r0, [r6, #0x78] + add r6, r6, #4 + add r5, r5, #4 + cmp r7, #4 + blt _0222E532 + mov r0, #5 + bl FUN_0206EB88 + str r0, [r4, #0x58] + mov r1, #0x42 + ldr r0, [sp, #4] + lsl r1, r1, #2 + ldr r0, [r0, r1] + ldr r1, [r4, #0x58] + bl FUN_0206EBB4 + mov r0, #5 + bl FUN_02023D6C + str r0, [r4, #0x60] + mov r1, #0x11 + ldr r0, [sp, #4] + lsl r1, r1, #4 + ldr r0, [r0, r1] + ldr r1, [r4, #0x60] + bl FUN_02023D80 + mov r1, #0x45 + lsl r1, r1, #2 + ldr r0, [sp, #4] + add r2, r1, #0 + ldr r0, [r0, r1] + add r3, r1, #0 + str r0, [r4, #0x64] + ldr r0, [sp, #4] + add r2, #0x1c + ldr r2, [r0, r2] + add r0, r1, #0 + add r0, #0xa0 + str r2, [r4, r0] + add r2, r1, #0 + ldr r0, [sp, #4] + add r2, #0x38 + ldr r2, [r0, r2] + add r0, r1, #0 + add r0, #0xa4 + str r2, [r4, r0] + add r2, r1, #0 + ldr r0, [sp, #4] + sub r2, #8 + ldr r0, [r0, r2] + add r2, r1, #0 + str r0, [r4, #0x5c] + ldr r0, [sp, #4] + add r2, #0x14 + ldr r2, [r0, r2] + add r0, r4, #0 + add r0, #0x98 + str r2, [r0] + add r2, r1, #0 + ldr r0, [sp, #4] + add r2, #0x50 + ldr r2, [r0, r2] + ldr r0, _0222E8BC ; =0x00002420 + add r3, #0x20 + str r2, [r4, r0] + ldr r2, [sp, #4] + ldr r3, [r2, r3] + add r2, r4, #0 + add r2, #0x9c + str r3, [r2] + add r3, r1, #0 + ldr r2, [sp, #4] + add r3, #0x7c + ldr r3, [r2, r3] + add r2, r0, #0 + sub r2, #0x10 + str r3, [r4, r2] + add r3, r1, #0 + ldr r2, [sp, #4] + add r3, #0x40 + ldr r3, [r2, r3] + add r2, r0, #0 + sub r2, #0x24 + str r3, [r4, r2] + add r3, r1, #0 + ldr r2, [sp, #4] + add r3, #0x3c + ldr r3, [r2, r3] + add r2, r0, #0 + sub r2, #0x20 + str r3, [r4, r2] + add r3, r1, #0 + ldr r2, [sp, #4] + add r3, #0x44 + ldr r3, [r2, r3] + add r2, r0, #0 + sub r2, #0x1c + str r3, [r4, r2] + add r3, r1, #0 + ldr r2, [sp, #4] + add r3, #0x4c + ldr r3, [r2, r3] + add r2, r0, #0 + sub r2, #0x14 + str r3, [r4, r2] + add r3, r1, #0 + ldr r2, [sp, #4] + add r3, #0x78 + ldr r3, [r2, r3] + add r2, r0, #0 + sub r2, #0x18 + str r3, [r4, r2] + add r3, r1, #0 + ldr r2, [sp, #4] + add r3, #0x80 + ldr r3, [r2, r3] + add r2, r0, #0 + sub r2, #8 + str r3, [r4, r2] + add r3, r1, #0 + ldr r2, [sp, #4] + add r3, #0x54 + ldr r3, [r2, r3] + add r2, r0, #4 + str r3, [r4, r2] + add r3, r1, #0 + ldr r2, [sp, #4] + add r3, #0x58 + ldr r3, [r2, r3] + add r2, r0, #0 + add r2, #0xc + str r3, [r4, r2] + add r3, r1, #0 + ldr r2, [sp, #4] + add r3, #0x60 + ldr r2, [r2, r3] + add r0, #8 + str r2, [r4, r0] + ldr r0, [sp, #4] + add r1, #0x30 + ldr r0, [r0, r1] + mov r1, #0x86 + lsl r1, r1, #2 + str r0, [r4, r1] + ldr r0, [sp, #4] + sub r1, #0xd4 + ldr r0, [r0, r1] + cmp r0, #0 + bne _0222E67E + bl ErrorHandling +_0222E67E: + ldr r5, [sp, #4] + mov r0, #0 + str r0, [sp, #8] + str r4, [sp, #0x30] + add r6, r5, #0 + add r7, r4, #0 +_0222E68A: + ldr r0, [sp, #0x30] + ldr r1, [r5, #0x18] + add r0, #0xa0 + strh r1, [r0] + add r3, r6, #0 + add r2, r7, #0 + mov r0, #6 + add r3, #0x28 + add r2, #0xac + mov ip, r0 +_0222E69E: + ldmia r3!, {r0, r1} + stmia r2!, {r0, r1} + mov r0, ip + sub r0, r0, #1 + mov ip, r0 + bne _0222E69E + ldr r0, [r3] + add r5, r5, #4 + str r0, [r2] + ldr r0, [sp, #0x30] + add r6, #0x34 + add r0, r0, #2 + str r0, [sp, #0x30] + ldr r0, [sp, #8] + add r7, #0x34 + add r0, r0, #1 + str r0, [sp, #8] + cmp r0, #4 + blt _0222E68A + add r0, r4, #0 + bl MOD11_0223D1DC + str r0, [r4, #0x30] + mov r6, #0 + add r5, r4, #0 + mov r7, #5 +_0222E6D2: + add r0, r7, #0 + bl FUN_0206B8AC + str r0, [r5, #0x68] + add r6, r6, #1 + add r5, r5, #4 + cmp r6, #4 + blt _0222E6D2 + ldr r0, [r4, #0x2c] + mov r1, #4 + tst r1, r0 + bne _0222E6EC + b _0222EA8A +_0222E6EC: + add r0, r4, #0 + bl FUN_0206BF90 + bl FUN_02031190 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x34] + ldr r1, [sp, #4] + add r0, r4, #0 + bl MOD11_0222FEC0 + ldr r1, [r4, #0x2c] + mov r0, #0x80 + tst r0, r1 + beq _0222E7D0 + ldr r6, _0222E8C0 ; =MOD11_0225DC18 + mov r5, #0 + add r7, r4, #0 +_0222E712: + add r0, sp, #0x3c + strb r5, [r0] + ldrb r1, [r6] + strb r1, [r0, #1] + add r0, r4, #0 + add r1, sp, #0x3c + bl MOD11_0224CA64 + str r0, [r7, #0x34] + add r5, r5, #1 + add r6, r6, #1 + add r7, r7, #4 + cmp r5, #4 + blt _0222E712 + str r5, [r4, #0x44] + mov r6, #0 + add r5, r4, #0 +_0222E734: + ldr r1, [r5, #0x34] + add r0, r4, #0 + bl MOD11_0225377C + ldr r0, [sp, #4] + ldr r1, [r5, #0x68] + ldr r0, [r0, #4] + bl FUN_0206BAD0 + ldr r0, [sp, #4] + add r6, r6, #1 + add r0, r0, #4 + add r5, r5, #4 + str r0, [sp, #4] + cmp r6, #4 + blt _0222E734 + mov r0, #0 + str r0, [sp, #0xc] + ldr r0, [r4, #0x44] + cmp r0, #0 + ble _0222E7C6 + add r7, r4, #0 +_0222E760: + ldr r0, [r7, #0x68] + mov r5, #0 + bl GetPartyCount + cmp r0, #0 + ble _0222E7AA +_0222E76C: + ldr r0, [r7, #0x68] + add r1, r5, #0 + bl GetPartyMonByIndex + mov r1, #5 + mov r2, #0 + add r6, r0, #0 + bl GetMonData + cmp r0, #0 + beq _0222E79E + add r0, r6, #0 + mov r1, #0x4c + mov r2, #0 + bl GetMonData + cmp r0, #0 + bne _0222E79E + add r0, r6, #0 + mov r1, #0xa2 + mov r2, #0 + bl GetMonData + cmp r0, #0 + bne _0222E7AA +_0222E79E: + ldr r0, [r7, #0x68] + add r5, r5, #1 + bl GetPartyCount + cmp r5, r0 + blt _0222E76C +_0222E7AA: + str r5, [sp] + ldr r1, [r4, #0x30] + ldr r3, [sp, #0xc] + add r0, r4, #0 + mov r2, #2 + bl MOD11_0224C54C + ldr r0, [sp, #0xc] + ldr r1, [r4, #0x44] + add r0, r0, #1 + add r7, r7, #4 + str r0, [sp, #0xc] + cmp r0, r1 + blt _0222E760 +_0222E7C6: + ldr r1, [r4, #0x30] + add r0, r4, #0 + bl MOD11_0224B240 + b _0222EA80 +_0222E7D0: + mov r0, #8 + tst r0, r1 + beq _0222E8AC + mov r5, #0 + add r6, r4, #0 +_0222E7DA: + add r0, sp, #0x3c + strb r5, [r0] + ldr r0, [sp, #0x34] + bl FUN_020313CC + add r7, r0, #0 + add r0, r5, #0 + bl FUN_020313CC + ldr r1, _0222E8C4 ; =MOD11_0225D9C8 + lsl r2, r7, #2 + add r1, r1, r2 + ldrb r1, [r0, r1] + add r0, sp, #0x3c + strb r1, [r0, #1] + add r0, r4, #0 + add r1, sp, #0x3c + bl MOD11_0224CA64 + str r0, [r6, #0x34] + add r5, r5, #1 + add r6, r6, #4 + cmp r5, #4 + blt _0222E7DA + str r5, [r4, #0x44] + mov r6, #0 + add r5, r4, #0 +_0222E810: + ldr r1, [r5, #0x34] + add r0, r4, #0 + bl MOD11_0225377C + ldr r0, [sp, #4] + ldr r1, [r5, #0x68] + ldr r0, [r0, #4] + bl FUN_0206BAD0 + ldr r0, [sp, #4] + add r6, r6, #1 + add r0, r0, #4 + add r5, r5, #4 + str r0, [sp, #4] + cmp r6, #4 + blt _0222E810 + mov r0, #0 + str r0, [sp, #0x10] + ldr r0, [r4, #0x44] + cmp r0, #0 + ble _0222E8A2 + add r7, r4, #0 +_0222E83C: + ldr r0, [r7, #0x68] + mov r5, #0 + bl GetPartyCount + cmp r0, #0 + ble _0222E886 +_0222E848: + ldr r0, [r7, #0x68] + add r1, r5, #0 + bl GetPartyMonByIndex + mov r1, #5 + mov r2, #0 + add r6, r0, #0 + bl GetMonData + cmp r0, #0 + beq _0222E87A + add r0, r6, #0 + mov r1, #0x4c + mov r2, #0 + bl GetMonData + cmp r0, #0 + bne _0222E87A + add r0, r6, #0 + mov r1, #0xa2 + mov r2, #0 + bl GetMonData + cmp r0, #0 + bne _0222E886 +_0222E87A: + ldr r0, [r7, #0x68] + add r5, r5, #1 + bl GetPartyCount + cmp r5, r0 + blt _0222E848 +_0222E886: + str r5, [sp] + ldr r1, [r4, #0x30] + ldr r3, [sp, #0x10] + add r0, r4, #0 + mov r2, #2 + bl MOD11_0224C54C + ldr r0, [sp, #0x10] + ldr r1, [r4, #0x44] + add r0, r0, #1 + add r7, r7, #4 + str r0, [sp, #0x10] + cmp r0, r1 + blt _0222E83C +_0222E8A2: + ldr r1, [r4, #0x30] + add r0, r4, #0 + bl MOD11_0224B240 + b _0222EA80 +_0222E8AC: + mov r0, #2 + tst r0, r1 + bne _0222E8B4 + b _0222E9D4 +_0222E8B4: + ldr r0, [sp, #0x34] + ldr r1, _0222E8C8 ; =MOD11_0225D9A0 + b _0222E8CC + nop +_0222E8BC: .word 0x00002420 +_0222E8C0: .word MOD11_0225DC18 +_0222E8C4: .word MOD11_0225D9C8 +_0222E8C8: .word MOD11_0225D9A0 +_0222E8CC: + lsl r0, r0, #2 + mov r5, #0 + add r6, r1, r0 + add r7, r4, #0 +_0222E8D4: + add r0, sp, #0x3c + strb r5, [r0] + ldrb r1, [r6] + strb r1, [r0, #1] + add r0, r4, #0 + add r1, sp, #0x3c + bl MOD11_0224CA64 + add r1, r0, #0 + add r0, r4, #0 + str r1, [r7, #0x34] + bl MOD11_0225377C + add r5, r5, #1 + add r6, r6, #1 + add r7, r7, #4 + cmp r5, #4 + blt _0222E8D4 + str r5, [r4, #0x44] + mov r6, #0 + add r5, r4, #0 +_0222E8FE: + ldr r0, [sp, #4] + ldr r1, [r5, #0x68] + ldr r0, [r0, #4] + bl FUN_0206BAD0 + ldr r0, [sp, #4] + add r6, r6, #1 + add r0, r0, #4 + add r5, r5, #4 + str r0, [sp, #4] + cmp r6, #4 + blt _0222E8FE + mov r0, #0 + str r0, [sp, #0x14] + ldr r0, [r4, #0x44] + cmp r0, #0 + ble _0222E9D2 +_0222E920: + ldr r0, [sp, #0x14] + mov r1, #1 + and r0, r1 + str r0, [sp, #0x2c] + lsl r0, r0, #2 + add r7, r4, r0 + ldr r0, [r7, #0x68] + mov r6, #0 + bl GetPartyCount + cmp r0, #0 + ble _0222E9B8 +_0222E938: + ldr r0, [r7, #0x68] + add r1, r6, #0 + bl GetPartyMonByIndex + ldr r1, [sp, #0x14] + add r5, r0, #0 + cmp r1, #1 + ble _0222E984 + ldr r1, [r4, #0x30] + ldr r3, [sp, #0x2c] + add r0, r4, #0 + mov r2, #2 + bl MOD11_0224C474 + cmp r6, r0 + beq _0222E9AC + add r0, r5, #0 + mov r1, #5 + mov r2, #0 + bl GetMonData + cmp r0, #0 + beq _0222E9AC + add r0, r5, #0 + mov r1, #0x4c + mov r2, #0 + bl GetMonData + cmp r0, #0 + bne _0222E9AC + add r0, r5, #0 + mov r1, #0xa2 + mov r2, #0 + bl GetMonData + cmp r0, #0 + bne _0222E9B8 + b _0222E9AC +_0222E984: + mov r1, #5 + mov r2, #0 + bl GetMonData + cmp r0, #0 + beq _0222E9AC + add r0, r5, #0 + mov r1, #0x4c + mov r2, #0 + bl GetMonData + cmp r0, #0 + bne _0222E9AC + add r0, r5, #0 + mov r1, #0xa2 + mov r2, #0 + bl GetMonData + cmp r0, #0 + bne _0222E9B8 +_0222E9AC: + ldr r0, [r7, #0x68] + add r6, r6, #1 + bl GetPartyCount + cmp r6, r0 + blt _0222E938 +_0222E9B8: + str r6, [sp] + ldr r1, [r4, #0x30] + ldr r3, [sp, #0x14] + add r0, r4, #0 + mov r2, #2 + bl MOD11_0224C54C + ldr r0, [sp, #0x14] + ldr r1, [r4, #0x44] + add r0, r0, #1 + str r0, [sp, #0x14] + cmp r0, r1 + blt _0222E920 +_0222E9D2: + b _0222EA80 +_0222E9D4: + ldr r0, [sp, #0x34] + ldr r1, _0222EC6C ; =MOD11_0225D99C + lsl r0, r0, #1 + mov r5, #0 + add r6, r1, r0 + add r7, r4, #0 +_0222E9E0: + add r0, sp, #0x3c + strb r5, [r0] + ldrb r1, [r6] + strb r1, [r0, #1] + add r0, r4, #0 + add r1, sp, #0x3c + bl MOD11_0224CA64 + add r1, r0, #0 + add r0, r4, #0 + str r1, [r7, #0x34] + bl MOD11_0225377C + add r5, r5, #1 + add r6, r6, #1 + add r7, r7, #4 + cmp r5, #2 + blt _0222E9E0 + mov r0, #0 + str r5, [r4, #0x44] + str r0, [sp, #0x18] + add r7, r4, #0 +_0222EA0C: + ldr r0, [sp, #4] + ldr r1, [r7, #0x68] + ldr r0, [r0, #4] + bl FUN_0206BAD0 + ldr r0, [r7, #0x68] + mov r5, #0 + bl GetPartyCount + cmp r0, #0 + ble _0222EA60 +_0222EA22: + ldr r0, [r7, #0x68] + add r1, r5, #0 + bl GetPartyMonByIndex + mov r1, #5 + mov r2, #0 + add r6, r0, #0 + bl GetMonData + cmp r0, #0 + beq _0222EA54 + add r0, r6, #0 + mov r1, #0x4c + mov r2, #0 + bl GetMonData + cmp r0, #0 + bne _0222EA54 + add r0, r6, #0 + mov r1, #0xa2 + mov r2, #0 + bl GetMonData + cmp r0, #0 + bne _0222EA60 +_0222EA54: + ldr r0, [r7, #0x68] + add r5, r5, #1 + bl GetPartyCount + cmp r5, r0 + blt _0222EA22 +_0222EA60: + str r5, [sp] + ldr r1, [r4, #0x30] + ldr r3, [sp, #0x18] + add r0, r4, #0 + mov r2, #2 + bl MOD11_0224C54C + ldr r0, [sp, #4] + add r7, r7, #4 + add r0, r0, #4 + str r0, [sp, #4] + ldr r0, [sp, #0x18] + add r0, r0, #1 + str r0, [sp, #0x18] + cmp r0, #4 + blt _0222EA0C +_0222EA80: + ldr r1, [r4, #0x30] + add r0, r4, #0 + bl MOD11_0224B240 + b _0222EE3E +_0222EA8A: + mov r1, #0x10 + tst r1, r0 + beq _0222EB90 + ldr r6, _0222EC70 ; =MOD11_0225DC18 + mov r5, #0 + add r7, r4, #0 +_0222EA96: + add r0, sp, #0x3c + strb r5, [r0] + ldrb r1, [r6] + strb r1, [r0, #1] + add r0, r4, #0 + add r1, sp, #0x3c + bl MOD11_0224CA64 + add r1, r0, #0 + add r0, r4, #0 + str r1, [r7, #0x34] + bl MOD11_0225377C + add r5, r5, #1 + add r6, r6, #1 + add r7, r7, #4 + cmp r5, #4 + blt _0222EA96 + str r5, [r4, #0x44] + mov r6, #0 + add r5, r4, #0 +_0222EAC0: + ldr r0, [sp, #4] + ldr r1, [r5, #0x68] + ldr r0, [r0, #4] + bl FUN_0206BAD0 + ldr r0, [sp, #4] + add r6, r6, #1 + add r0, r0, #4 + add r5, r5, #4 + str r0, [sp, #4] + cmp r6, #4 + blt _0222EAC0 + ldr r0, [r4, #0x44] + mov r7, #0 + cmp r0, #0 + ble _0222EB80 +_0222EAE0: + add r0, r4, #0 + add r1, r7, #0 + mov r5, #0 + bl MOD11_0222FFC8 + cmp r0, #0 + ble _0222EB64 +_0222EAEE: + add r0, r4, #0 + add r1, r7, #0 + add r2, r5, #0 + bl MOD11_02230014 + add r6, r0, #0 + cmp r7, #2 + bne _0222EB2E + mov r1, #5 + mov r2, #0 + bl GetMonData + cmp r0, #0 + beq _0222EB56 + add r0, r6, #0 + mov r1, #0x4c + mov r2, #0 + bl GetMonData + cmp r0, #0 + bne _0222EB56 + add r0, r6, #0 + mov r1, #0xa2 + mov r2, #0 + bl GetMonData + cmp r0, #0 + beq _0222EB56 + ldr r0, [sp, #0x38] + cmp r0, r5 + bne _0222EB64 + b _0222EB56 +_0222EB2E: + mov r1, #5 + mov r2, #0 + bl GetMonData + cmp r0, #0 + beq _0222EB56 + add r0, r6, #0 + mov r1, #0x4c + mov r2, #0 + bl GetMonData + cmp r0, #0 + bne _0222EB56 + add r0, r6, #0 + mov r1, #0xa2 + mov r2, #0 + bl GetMonData + cmp r0, #0 + bne _0222EB64 +_0222EB56: + add r0, r4, #0 + add r1, r7, #0 + add r5, r5, #1 + bl MOD11_0222FFC8 + cmp r5, r0 + blt _0222EAEE +_0222EB64: + str r5, [sp] + ldr r1, [r4, #0x30] + add r0, r4, #0 + mov r2, #2 + add r3, r7, #0 + bl MOD11_0224C54C + cmp r7, #0 + bne _0222EB78 + str r5, [sp, #0x38] +_0222EB78: + ldr r0, [r4, #0x44] + add r7, r7, #1 + cmp r7, r0 + blt _0222EAE0 +_0222EB80: + ldr r1, [r4, #0x30] + add r0, r4, #0 + bl MOD11_0224B240 + ldr r0, _0222EC74 ; =0x000023F8 + mov r1, #1 + strb r1, [r4, r0] + b _0222EE3E +_0222EB90: + mov r1, #8 + tst r1, r0 + beq _0222EC60 + ldr r6, _0222EC70 ; =MOD11_0225DC18 + mov r5, #0 + add r7, r4, #0 +_0222EB9C: + add r0, sp, #0x3c + strb r5, [r0] + ldrb r1, [r6] + strb r1, [r0, #1] + add r0, r4, #0 + add r1, sp, #0x3c + bl MOD11_0224CA64 + add r1, r0, #0 + add r0, r4, #0 + str r1, [r7, #0x34] + bl MOD11_0225377C + add r5, r5, #1 + add r6, r6, #1 + add r7, r7, #4 + cmp r5, #4 + blt _0222EB9C + str r5, [r4, #0x44] + mov r6, #0 + add r5, r4, #0 +_0222EBC6: + ldr r0, [sp, #4] + ldr r1, [r5, #0x68] + ldr r0, [r0, #4] + bl FUN_0206BAD0 + ldr r0, [sp, #4] + add r6, r6, #1 + add r0, r0, #4 + add r5, r5, #4 + str r0, [sp, #4] + cmp r6, #4 + blt _0222EBC6 + mov r0, #0 + str r0, [sp, #0x1c] + ldr r0, [r4, #0x44] + cmp r0, #0 + ble _0222EC50 + add r7, r4, #0 +_0222EBEA: + ldr r0, [r7, #0x68] + mov r5, #0 + bl GetPartyCount + cmp r0, #0 + ble _0222EC34 +_0222EBF6: + ldr r0, [r7, #0x68] + add r1, r5, #0 + bl GetPartyMonByIndex + mov r1, #5 + mov r2, #0 + add r6, r0, #0 + bl GetMonData + cmp r0, #0 + beq _0222EC28 + add r0, r6, #0 + mov r1, #0x4c + mov r2, #0 + bl GetMonData + cmp r0, #0 + bne _0222EC28 + add r0, r6, #0 + mov r1, #0xa2 + mov r2, #0 + bl GetMonData + cmp r0, #0 + bne _0222EC34 +_0222EC28: + ldr r0, [r7, #0x68] + add r5, r5, #1 + bl GetPartyCount + cmp r5, r0 + blt _0222EBF6 +_0222EC34: + str r5, [sp] + ldr r1, [r4, #0x30] + ldr r3, [sp, #0x1c] + add r0, r4, #0 + mov r2, #2 + bl MOD11_0224C54C + ldr r0, [sp, #0x1c] + ldr r1, [r4, #0x44] + add r0, r0, #1 + add r7, r7, #4 + str r0, [sp, #0x1c] + cmp r0, r1 + blt _0222EBEA +_0222EC50: + ldr r1, [r4, #0x30] + add r0, r4, #0 + bl MOD11_0224B240 + ldr r0, _0222EC74 ; =0x000023F8 + mov r1, #1 + strb r1, [r4, r0] + b _0222EE3E +_0222EC60: + mov r1, #2 + tst r0, r1 + bne _0222EC68 + b _0222ED8A +_0222EC68: + ldr r6, _0222EC70 ; =MOD11_0225DC18 + b _0222EC78 + .align 2, 0 +_0222EC6C: .word MOD11_0225D99C +_0222EC70: .word MOD11_0225DC18 +_0222EC74: .word 0x000023F8 +_0222EC78: + mov r5, #0 + add r7, r4, #0 +_0222EC7C: + add r0, sp, #0x3c + strb r5, [r0] + ldrb r1, [r6] + strb r1, [r0, #1] + add r0, r4, #0 + add r1, sp, #0x3c + bl MOD11_0224CA64 + add r1, r0, #0 + add r0, r4, #0 + str r1, [r7, #0x34] + bl MOD11_0225377C + add r5, r5, #1 + add r6, r6, #1 + add r7, r7, #4 + cmp r5, #4 + blt _0222EC7C + str r5, [r4, #0x44] + mov r6, #0 + add r5, r4, #0 +_0222ECA6: + ldr r0, [sp, #4] + ldr r1, [r5, #0x68] + ldr r0, [r0, #4] + bl FUN_0206BAD0 + ldr r0, [sp, #4] + add r6, r6, #1 + add r0, r0, #4 + add r5, r5, #4 + str r0, [sp, #4] + cmp r6, #4 + blt _0222ECA6 + mov r0, #0 + str r0, [sp, #0x20] + ldr r0, [r4, #0x44] + cmp r0, #0 + ble _0222ED7A +_0222ECC8: + ldr r0, [sp, #0x20] + mov r1, #1 + and r0, r1 + str r0, [sp, #0x28] + lsl r0, r0, #2 + add r7, r4, r0 + ldr r0, [r7, #0x68] + mov r6, #0 + bl GetPartyCount + cmp r0, #0 + ble _0222ED60 +_0222ECE0: + ldr r0, [r7, #0x68] + add r1, r6, #0 + bl GetPartyMonByIndex + ldr r1, [sp, #0x20] + add r5, r0, #0 + cmp r1, #1 + ble _0222ED2C + ldr r1, [r4, #0x30] + ldr r3, [sp, #0x28] + add r0, r4, #0 + mov r2, #2 + bl MOD11_0224C474 + cmp r6, r0 + beq _0222ED54 + add r0, r5, #0 + mov r1, #5 + mov r2, #0 + bl GetMonData + cmp r0, #0 + beq _0222ED54 + add r0, r5, #0 + mov r1, #0x4c + mov r2, #0 + bl GetMonData + cmp r0, #0 + bne _0222ED54 + add r0, r5, #0 + mov r1, #0xa2 + mov r2, #0 + bl GetMonData + cmp r0, #0 + bne _0222ED60 + b _0222ED54 +_0222ED2C: + mov r1, #5 + mov r2, #0 + bl GetMonData + cmp r0, #0 + beq _0222ED54 + add r0, r5, #0 + mov r1, #0x4c + mov r2, #0 + bl GetMonData + cmp r0, #0 + bne _0222ED54 + add r0, r5, #0 + mov r1, #0xa2 + mov r2, #0 + bl GetMonData + cmp r0, #0 + bne _0222ED60 +_0222ED54: + ldr r0, [r7, #0x68] + add r6, r6, #1 + bl GetPartyCount + cmp r6, r0 + blt _0222ECE0 +_0222ED60: + str r6, [sp] + ldr r1, [r4, #0x30] + ldr r3, [sp, #0x20] + add r0, r4, #0 + mov r2, #2 + bl MOD11_0224C54C + ldr r0, [sp, #0x20] + ldr r1, [r4, #0x44] + add r0, r0, #1 + str r0, [sp, #0x20] + cmp r0, r1 + blt _0222ECC8 +_0222ED7A: + ldr r1, [r4, #0x30] + add r0, r4, #0 + bl MOD11_0224B240 + ldr r0, _0222EEE0 ; =0x000023F8 + mov r1, #1 + strb r1, [r4, r0] + b _0222EE3E +_0222ED8A: + ldr r6, _0222EEE4 ; =MOD11_0225D998 + mov r5, #0 + add r7, r4, #0 +_0222ED90: + add r0, sp, #0x3c + strb r5, [r0] + ldrb r1, [r6] + strb r1, [r0, #1] + add r0, r4, #0 + add r1, sp, #0x3c + bl MOD11_0224CA64 + add r1, r0, #0 + add r0, r4, #0 + str r1, [r7, #0x34] + bl MOD11_0225377C + add r5, r5, #1 + add r6, r6, #1 + add r7, r7, #4 + cmp r5, #2 + blt _0222ED90 + mov r0, #0 + str r5, [r4, #0x44] + str r0, [sp, #0x24] + add r7, r4, #0 +_0222EDBC: + ldr r0, [sp, #4] + ldr r1, [r7, #0x68] + ldr r0, [r0, #4] + bl FUN_0206BAD0 + ldr r0, [r7, #0x68] + mov r5, #0 + bl GetPartyCount + cmp r0, #0 + ble _0222EE10 +_0222EDD2: + ldr r0, [r7, #0x68] + add r1, r5, #0 + bl GetPartyMonByIndex + mov r1, #5 + mov r2, #0 + add r6, r0, #0 + bl GetMonData + cmp r0, #0 + beq _0222EE04 + add r0, r6, #0 + mov r1, #0x4c + mov r2, #0 + bl GetMonData + cmp r0, #0 + bne _0222EE04 + add r0, r6, #0 + mov r1, #0xa2 + mov r2, #0 + bl GetMonData + cmp r0, #0 + bne _0222EE10 +_0222EE04: + ldr r0, [r7, #0x68] + add r5, r5, #1 + bl GetPartyCount + cmp r5, r0 + blt _0222EDD2 +_0222EE10: + str r5, [sp] + ldr r1, [r4, #0x30] + ldr r3, [sp, #0x24] + add r0, r4, #0 + mov r2, #2 + bl MOD11_0224C54C + ldr r0, [sp, #4] + add r7, r7, #4 + add r0, r0, #4 + str r0, [sp, #4] + ldr r0, [sp, #0x24] + add r0, r0, #1 + str r0, [sp, #0x24] + cmp r0, #4 + blt _0222EDBC + ldr r1, [r4, #0x30] + add r0, r4, #0 + bl MOD11_0224B240 + ldr r0, _0222EEE0 ; =0x000023F8 + mov r1, #1 + strb r1, [r4, r0] +_0222EE3E: + mov r0, #2 + ldr r1, [r4, #0x2c] + lsl r0, r0, #8 + tst r0, r1 + beq _0222EE5A + ldr r0, [r4, #0x6c] + mov r1, #0 + bl GetPartyMonByIndex + add r2, r4, #0 + mov r1, #0x8f + add r2, #0xf4 + bl GetMonData +_0222EE5A: + ldr r1, [r4, #0x2c] + mov r0, #1 + tst r0, r1 + beq _0222EEDC + add r0, r4, #0 + add r0, #0xe1 + ldrb r0, [r0] + bl MOD11_0222EEF0 + cmp r0, #1 + beq _0222EE7C + ldr r0, _0222EEE8 ; =0x00000149 + ldrb r0, [r4, r0] + bl MOD11_0222EEF0 + cmp r0, #1 + bne _0222EEDC +_0222EE7C: + ldr r0, [r4, #0x68] + mov r5, #0 + bl GetPartyCount + cmp r0, #0 + ble _0222EEAC + ldr r6, _0222EEEC ; =0x00002404 + mov r7, #3 +_0222EE8C: + ldr r0, [r4, #0x68] + add r1, r5, #0 + bl GetPartyMonByIndex + ldr r2, [r4, r6] + add r1, r7, #0 + lsl r2, r2, #0x10 + lsr r2, r2, #0x10 + bl MonApplyFriendshipMod + ldr r0, [r4, #0x68] + add r5, r5, #1 + bl GetPartyCount + cmp r5, r0 + blt _0222EE8C +_0222EEAC: + ldr r0, [r4, #0x70] + mov r5, #0 + bl GetPartyCount + cmp r0, #0 + ble _0222EEDC + ldr r6, _0222EEEC ; =0x00002404 + mov r7, #3 +_0222EEBC: + ldr r0, [r4, #0x70] + add r1, r5, #0 + bl GetPartyMonByIndex + ldr r2, [r4, r6] + add r1, r7, #0 + lsl r2, r2, #0x10 + lsr r2, r2, #0x10 + bl MonApplyFriendshipMod + ldr r0, [r4, #0x70] + add r5, r5, #1 + bl GetPartyCount + cmp r5, r0 + blt _0222EEBC +_0222EEDC: + add sp, #0x40 + pop {r3, r4, r5, r6, r7, pc} + .align 2, 0 +_0222EEE0: .word 0x000023F8 +_0222EEE4: .word MOD11_0225D998 +_0222EEE8: .word 0x00000149 +_0222EEEC: .word 0x00002404 + + thumb_func_start MOD11_0222EEF0 +MOD11_0222EEF0: ; 0x0222EEF0 + sub r0, #0x3e + cmp r0, #0x11 + bhi _0222EF2A + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 +_0222EF02: ; jump table + .short _0222EF26 - _0222EF02 - 2 ; case 0 + .short _0222EF2A - _0222EF02 - 2 ; case 1 + .short _0222EF26 - _0222EF02 - 2 ; case 2 + .short _0222EF26 - _0222EF02 - 2 ; case 3 + .short _0222EF26 - _0222EF02 - 2 ; case 4 + .short _0222EF26 - _0222EF02 - 2 ; case 5 + .short _0222EF26 - _0222EF02 - 2 ; case 6 + .short _0222EF26 - _0222EF02 - 2 ; case 7 + .short _0222EF2A - _0222EF02 - 2 ; case 8 + .short _0222EF2A - _0222EF02 - 2 ; case 9 + .short _0222EF2A - _0222EF02 - 2 ; case 10 + .short _0222EF2A - _0222EF02 - 2 ; case 11 + .short _0222EF26 - _0222EF02 - 2 ; case 12 + .short _0222EF26 - _0222EF02 - 2 ; case 13 + .short _0222EF26 - _0222EF02 - 2 ; case 14 + .short _0222EF26 - _0222EF02 - 2 ; case 15 + .short _0222EF26 - _0222EF02 - 2 ; case 16 + .short _0222EF26 - _0222EF02 - 2 ; case 17 +_0222EF26: + mov r0, #1 + bx lr +_0222EF2A: + mov r0, #0 + bx lr + .align 2, 0 + + thumb_func_start MOD11_0222EF30 +MOD11_0222EF30: ; 0x0222EF30 + push {r3, lr} + sub sp, #8 + mov r2, #2 + mov r1, #0 + ldr r0, _0222EF4C ; =MOD11_0222EF50 + str r2, [sp] + str r0, [sp, #4] + mov r0, #5 + add r3, r1, #0 + bl FUN_02022318 + add sp, #8 + pop {r3, pc} + nop +_0222EF4C: .word MOD11_0222EF50 + + thumb_func_start MOD11_0222EF50 +MOD11_0222EF50: ; 0x0222EF50 + push {r3, lr} + mov r0, #1 + add r1, r0, #0 + bl FUN_0201E6E4 + ldr r0, _0222EFBC ; =0x04000008 + mov r1, #3 + ldrh r2, [r0] + bic r2, r1 + mov r1, #1 + orr r1, r2 + strh r1, [r0] + add r0, #0x58 + ldrh r2, [r0] + ldr r1, _0222EFC0 ; =0xFFFFCFFD + and r2, r1 + strh r2, [r0] + add r2, r1, #2 + ldrh r3, [r0] + add r1, r1, #2 + and r3, r2 + mov r2, #0x10 + orr r2, r3 + strh r2, [r0] + ldrh r3, [r0] + ldr r2, _0222EFC4 ; =0x0000CFFB + and r3, r2 + strh r3, [r0] + ldrh r3, [r0] + sub r2, #0x1c + and r3, r1 + mov r1, #8 + orr r1, r3 + strh r1, [r0] + ldrh r1, [r0] + and r1, r2 + strh r1, [r0] + mov r0, #0 + add r1, r0, #0 + add r2, r0, #0 + add r3, r0, #0 + bl G3X_SetFog + mov r0, #0 + ldr r2, _0222EFC8 ; =0x00007FFF + add r1, r0, #0 + mov r3, #0x3f + str r0, [sp] + bl G3X_SetClearColor + ldr r1, _0222EFCC ; =0xBFFF0000 + ldr r0, _0222EFD0 ; =0x04000580 + str r1, [r0] + pop {r3, pc} + .align 2, 0 +_0222EFBC: .word 0x04000008 +_0222EFC0: .word 0xFFFFCFFD +_0222EFC4: .word 0x0000CFFB +_0222EFC8: .word 0x00007FFF +_0222EFCC: .word 0xBFFF0000 +_0222EFD0: .word 0x04000580 + + thumb_func_start MOD11_0222EFD4 +MOD11_0222EFD4: ; 0x0222EFD4 + ldr r3, _0222EFD8 ; =FUN_020223BC + bx r3 + .align 2, 0 +_0222EFD8: .word FUN_020223BC + + thumb_func_start MOD11_0222EFDC +MOD11_0222EFDC: ; 0x0222EFDC + push {r3, r4, r5, lr} + ldr r3, _0222F014 ; =UNK_021064B8 + mov r0, #2 + mov r1, #0 + ldr r3, [r3] + lsl r0, r0, #0xe + add r2, r1, #0 + blx r3 + ldr r3, _0222F018 ; =UNK_021064C0 + mov r1, #0 + add r4, r0, #0 + ldr r3, [r3] + mov r0, #0xc0 + add r2, r1, #0 + blx r3 + add r5, r0, #0 + cmp r4, #0 + bne _0222F004 + bl ErrorHandling +_0222F004: + cmp r5, #0 + bne _0222F00C + bl ErrorHandling +_0222F00C: + bl FUN_02012CC8 + pop {r3, r4, r5, pc} + nop +_0222F014: .word UNK_021064B8 +_0222F018: .word UNK_021064C0 + + thumb_func_start MOD11_0222F01C +MOD11_0222F01C: ; 0x0222F01C + push {r3, r4, r5, lr} + sub sp, #0x50 + add r4, r0, #0 + bl LCRandom + ldr r1, _0222F0B8 ; =0x000023FB + ldrb r2, [r4, r1] + lsl r0, r2, #0x1f + lsr r0, r0, #0x1f + beq _0222F040 + mov r0, #1 + bic r2, r0 + strb r2, [r4, r1] + ldr r0, _0222F0BC ; =0x04000050 + mov r1, #0 + strh r1, [r0] + ldr r0, _0222F0C0 ; =0x04001050 + strh r1, [r0] +_0222F040: + ldr r1, _0222F0B8 ; =0x000023FB + ldrb r2, [r4, r1] + lsl r0, r2, #0x1e + lsr r0, r0, #0x1f + beq _0222F064 + mov r0, #2 + bic r2, r0 + strb r2, [r4, r1] + ldr r5, _0222F0C4 ; =MOD11_0225DA90 + add r3, sp, #0x28 + mov r2, #5 +_0222F056: + ldmia r5!, {r0, r1} + stmia r3!, {r0, r1} + sub r2, r2, #1 + bne _0222F056 + add r0, sp, #0x28 + bl FUN_0201E66C +_0222F064: + ldr r1, _0222F0B8 ; =0x000023FB + ldrb r2, [r4, r1] + lsl r0, r2, #0x1d + lsr r0, r0, #0x1f + beq _0222F088 + mov r0, #4 + bic r2, r0 + strb r2, [r4, r1] + ldr r5, _0222F0C8 ; =MOD11_0225DAB8 + add r3, sp, #0 + mov r2, #5 +_0222F07A: + ldmia r5!, {r0, r1} + stmia r3!, {r0, r1} + sub r2, r2, #1 + bne _0222F07A + add r0, sp, #0 + bl FUN_0201E66C +_0222F088: + add r0, r4, #0 + add r0, #0x88 + ldr r0, [r0] + bl FUN_020081C4 + bl FUN_0201C30C + bl FUN_0200BC30 + ldr r0, [r4, #0x28] + bl FUN_0200372C + ldr r0, [r4, #4] + bl FUN_0201AB60 + ldr r3, _0222F0CC ; =0x027E0000 + ldr r1, _0222F0D0 ; =0x00003FF8 + mov r0, #1 + ldr r2, [r3, r1] + orr r0, r2 + str r0, [r3, r1] + add sp, #0x50 + pop {r3, r4, r5, pc} + nop +_0222F0B8: .word 0x000023FB +_0222F0BC: .word 0x04000050 +_0222F0C0: .word 0x04001050 +_0222F0C4: .word MOD11_0225DA90 +_0222F0C8: .word MOD11_0225DAB8 +_0222F0CC: .word 0x027E0000 +_0222F0D0: .word 0x00003FF8 + + thumb_func_start MOD11_0222F0D4 +MOD11_0222F0D4: ; 0x0222F0D4 + push {r4, lr} + add r4, r0, #0 + ldr r0, [r4, #0xc] + bl FUN_0200372C + bl FUN_0201C30C + ldr r0, [r4, #4] + bl FUN_0201AB60 + ldr r3, _0222F0F8 ; =0x027E0000 + ldr r1, _0222F0FC ; =0x00003FF8 + mov r0, #1 + ldr r2, [r3, r1] + orr r0, r2 + str r0, [r3, r1] + pop {r4, pc} + nop +_0222F0F8: .word 0x027E0000 +_0222F0FC: .word 0x00003FF8 + + thumb_func_start MOD11_0222F100 +MOD11_0222F100: ; 0x0222F100 + push {r4, lr} + add r4, r1, #0 + ldr r1, [r4, #4] + mov r0, #5 + bl FUN_020335F0 + ldr r0, _0222F140 ; =0x000023F9 + ldrb r0, [r4, r0] + cmp r0, #0 + beq _0222F118 + cmp r0, #3 + bne _0222F13E +_0222F118: + cmp r0, #0 + bne _0222F120 + bl MOD08_02215A44 +_0222F120: + add r0, r4, #0 + add r0, #0x88 + ldr r0, [r0] + bl FUN_02006ED4 + add r4, #0x94 + ldr r0, [r4] + bl FUN_0200BC1C + bl FUN_0200BC38 + mov r0, #1 + mov r1, #0 + bl FUN_020222B4 +_0222F13E: + pop {r4, pc} + .align 2, 0 +_0222F140: .word 0x000023F9 + + thumb_func_start MOD11_0222F144 +MOD11_0222F144: ; 0x0222F144 + push {r3, r4, r5, r6, r7, lr} + add r6, r1, #0 + add r0, r6, #0 + bl MOD11_0222FF84 + str r0, [sp] + add r0, r6, #0 + mov r5, #0 + bl MOD11_02231474 + add r4, r0, #0 + add r0, r6, #0 + bl MOD11_0222FF74 + mov r1, #0x22 + lsl r1, r1, #4 + tst r0, r1 + bne _0222F24E + mov r0, #2 + tst r0, r4 + beq _0222F186 + mov r0, #1 + tst r0, r4 + beq _0222F24E + ldr r0, _0222F250 ; =0x00000704 + add r1, r5, #0 + bl FUN_020054F0 + add r0, r6, #0 + mov r1, #2 + bl MOD11_02231484 + pop {r3, r4, r5, r6, r7, pc} +_0222F186: + ldr r0, [sp] + add r4, r5, #0 + cmp r0, #0 + ble _0222F1D0 +_0222F18E: + add r0, r6, #0 + add r1, r4, #0 + bl MOD11_0222FF7C + add r7, r0, #0 + bl MOD11_02253A58 + cmp r0, #0 + bne _0222F1C8 + add r0, r7, #0 + bl MOD11_02253A70 + add r1, r0, #0 + beq _0222F1C8 + ldr r0, [r1, #0x28] + ldr r1, [r1, #0x2c] + lsl r0, r0, #0x10 + lsl r1, r1, #0x10 + lsr r0, r0, #0x10 + lsr r1, r1, #0x10 + mov r2, #0x30 + bl FUN_02079A54 + cmp r0, #1 + bne _0222F1C8 + add r0, r4, #0 + bl MaskOfFlagNo + orr r5, r0 +_0222F1C8: + ldr r0, [sp] + add r4, r4, #1 + cmp r4, r0 + blt _0222F18E +_0222F1D0: + cmp r5, #0 + beq _0222F1F6 + add r0, r6, #0 + bl MOD11_02231474 + cmp r0, #0 + bne _0222F1F6 + ldr r0, _0222F250 ; =0x00000704 + bl FUN_020054C8 + add r0, r6, #0 + mov r1, #1 + bl MOD11_02231484 + add r0, r6, #0 + mov r1, #4 + bl MOD11_022314B0 + b _0222F214 +_0222F1F6: + cmp r5, #0 + bne _0222F214 + add r0, r6, #0 + bl MOD11_02231474 + cmp r0, #0 + beq _0222F214 + ldr r0, _0222F250 ; =0x00000704 + mov r1, #0 + bl FUN_020054F0 + add r0, r6, #0 + mov r1, #0 + bl MOD11_02231484 +_0222F214: + add r0, r6, #0 + bl MOD11_02231474 + cmp r0, #0 + beq _0222F24E + add r0, r6, #0 + bl MOD11_022314A0 + add r4, r0, #0 + ldr r0, _0222F250 ; =0x00000704 + bl FUN_02005508 + cmp r0, #0 + bne _0222F24E + sub r1, r4, #1 + bne _0222F244 + ldr r0, _0222F250 ; =0x00000704 + bl FUN_020054C8 + add r0, r6, #0 + mov r1, #4 + bl MOD11_022314B0 + pop {r3, r4, r5, r6, r7, pc} +_0222F244: + lsl r1, r1, #0x18 + add r0, r6, #0 + lsr r1, r1, #0x18 + bl MOD11_022314B0 +_0222F24E: + pop {r3, r4, r5, r6, r7, pc} + .align 2, 0 +_0222F250: .word 0x00000704 + + thumb_func_start MOD11_0222F254 +MOD11_0222F254: ; 0x0222F254 + push {r3, r4, r5, lr} + ldr r3, _0222F280 ; =0x00002434 + add r4, r1, #0 + add r5, r0, #0 + ldr r0, [r4, r3] + mov r1, #1 + add r0, r0, #3 + str r0, [r4, r3] + ldr r0, [r4, #4] + ldr r3, [r4, r3] + mov r2, #3 + bl FUN_020179E0 + ldr r0, _0222F280 ; =0x00002434 + ldr r0, [r4, r0] + cmp r0, #0 + bne _0222F27C + add r0, r5, #0 + bl FUN_0200CAB4 +_0222F27C: + pop {r3, r4, r5, pc} + nop +_0222F280: .word 0x00002434 + + .section .rodata + + .global MOD11_0225D998 +MOD11_0225D998: ; 0x0225D998 + .byte 0x00, 0x01, 0x00, 0x00 + + .global MOD11_0225D99C +MOD11_0225D99C: ; 0x0225D99C + .byte 0x00, 0x01, 0x01, 0x00 + + .global MOD11_0225D9A0 +MOD11_0225D9A0: ; 0x0225D9A0 + .byte 0x02, 0x03, 0x04, 0x05, 0x03, 0x02, 0x05, 0x04 + + .global MOD11_0225D9A8 +MOD11_0225D9A8: ; 0x0225D9A8 + .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 + + .global MOD11_0225D9B8 +MOD11_0225D9B8: ; 0x0225D9B8 + .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 + + .global MOD11_0225D9C8 +MOD11_0225D9C8: ; 0x0225D9C8 + .byte 0x02, 0x05, 0x04, 0x03, 0x03, 0x04, 0x05, 0x02, 0x02, 0x05, 0x04, 0x03, 0x03, 0x04, 0x05, 0x02 + + .global MOD11_0225D9D8 +MOD11_0225D9D8: ; 0x0225D9D8 + .byte 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x40, 0x00, 0x00, 0x10, 0x00, 0x10, 0x00 + .byte 0x10, 0x00, 0x00, 0x00 + + .global MOD11_0225D9EC +MOD11_0225D9EC: ; 0x0225D9EC + .byte 0x60, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00 + .byte 0x40, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00 + + .global MOD11_0225DA04 +MOD11_0225DA04: ; 0x0225DA04 + .byte 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + + .global MOD11_0225DA20 +MOD11_0225DA20: ; 0x0225DA20 + .byte 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00 + + .global MOD11_0225DA40 +MOD11_0225DA40: ; 0x0225DA40 + .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00 + + .global MOD11_0225DA68 +MOD11_0225DA68: ; 0x0225DA68 + .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 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 0x06, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00 + + .global MOD11_0225DA90 +MOD11_0225DA90: ; 0x0225DA90 + .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00 + + .global MOD11_0225DAB8 +MOD11_0225DAB8: ; 0x0225DAB8 + .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 MOD11_0225DAE0 +MOD11_0225DAE0: ; 0x0225DAE0 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x02, 0x03, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x03, 0x01, 0x06, 0x04, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + + .global MOD11_0225DB34 +MOD11_0225DB34: ; 0x0225DB34 + .byte 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x02, 0x03, 0x00, 0x01, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x03, 0x01, 0x06, 0x04, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + + .global MOD11_0225DB88 +MOD11_0225DB88: ; 0x0225DB88 + .byte 0x51, 0x7B, 0x00, 0x00, 0x3E, 0x02, 0x00, 0x00, 0x00, 0x5E, 0x00, 0x00, 0x51, 0x7B, 0x00, 0x00 + .byte 0x3E, 0x02, 0x00, 0x00, 0x00, 0x5E, 0x00, 0x00, 0x51, 0x7B, 0x00, 0x00, 0x3E, 0x02, 0x00, 0x00 + .byte 0x00, 0x5E, 0x00, 0x00, 0xAB, 0x16, 0x00, 0x00, 0xAB, 0x16, 0x00, 0x00, 0xAB, 0x16, 0x00, 0x00 + .byte 0x51, 0x7B, 0x00, 0x00, 0x3E, 0x02, 0x00, 0x00, 0x00, 0x5E, 0x00, 0x00, 0x5F, 0x7F, 0x00, 0x00 + .byte 0x5F, 0x5B, 0x00, 0x00, 0xD8, 0x5A, 0x00, 0x00, 0xFF, 0x7F, 0x00, 0x00, 0xFF, 0x7F, 0x00, 0x00 + .byte 0xFF, 0x7F, 0x00, 0x00, 0xFF, 0x7F, 0x00, 0x00, 0xFF, 0x7F, 0x00, 0x00, 0xFF, 0x7F, 0x00, 0x00 + .byte 0xFF, 0x7F, 0x00, 0x00, 0xFF, 0x7F, 0x00, 0x00, 0xFF, 0x7F, 0x00, 0x00, 0xA5, 0x1C, 0x00, 0x00 + .byte 0xA5, 0x1C, 0x00, 0x00, 0xA5, 0x1C, 0x00, 0x00, 0xA5, 0x1C, 0x00, 0x00, 0xA5, 0x1C, 0x00, 0x00 + .byte 0xA5, 0x1C, 0x00, 0x00, 0xA5, 0x1C, 0x00, 0x00, 0xA5, 0x1C, 0x00, 0x00, 0xA5, 0x1C, 0x00, 0x00 + + .global MOD11_0225DC18 +MOD11_0225DC18: ; 0x0225DC18 + .byte 0x02, 0x03, 0x04, 0x05 diff --git a/arm9/modules/11/asm/module_11.s b/arm9/modules/11/asm/module_11_thumb2.s index 7a18d017..f66fef5e 100644 --- a/arm9/modules/11/asm/module_11.s +++ b/arm9/modules/11/asm/module_11_thumb2.s @@ -3,3395 +3,6 @@ .section .text .balign 4, 0 - thumb_func_start MOD11_0222D5C0 -MOD11_0222D5C0: ; 0x0222D5C0 - push {r4, r5, r6, lr} - sub sp, #0x28 - add r4, r1, #0 - add r6, r0, #0 - bl FUN_0200628C - ldr r1, [r4] - add r5, r0, #0 - cmp r1, #0xf - bhi _0222D6D2 - add r1, r1, r1 - add r1, pc - ldrh r1, [r1, #6] - lsl r1, r1, #0x10 - asr r1, r1, #0x10 - add pc, r1 -_0222D5E0: ; jump table - .short _0222D600 - _0222D5E0 - 2 ; case 0 - .short _0222D620 - _0222D5E0 - 2 ; case 1 - .short _0222D65A - _0222D5E0 - 2 ; case 2 - .short _0222D670 - _0222D5E0 - 2 ; case 3 - .short _0222D686 - _0222D5E0 - 2 ; case 4 - .short _0222D696 - _0222D5E0 - 2 ; case 5 - .short _0222D6AC - _0222D5E0 - 2 ; case 6 - .short _0222D6C8 - _0222D5E0 - 2 ; case 7 - .short _0222D6DA - _0222D5E0 - 2 ; case 8 - .short _0222D6EE - _0222D5E0 - 2 ; case 9 - .short _0222D704 - _0222D5E0 - 2 ; case 10 - .short _0222D720 - _0222D5E0 - 2 ; case 11 - .short _0222D742 - _0222D5E0 - 2 ; case 12 - .short _0222D752 - _0222D5E0 - 2 ; case 13 - .short _0222D7C2 - _0222D5E0 - 2 ; case 14 - .short _0222D7E4 - _0222D5E0 - 2 ; case 15 -_0222D600: - mov r2, #0xb - mov r0, #3 - mov r1, #5 - lsl r2, r2, #0x10 - bl FUN_0201681C - ldr r1, [r5] - mov r0, #4 - tst r0, r1 - beq _0222D61A - mov r0, #1 - str r0, [r4] - b _0222D7EA -_0222D61A: - mov r0, #3 - str r0, [r4] - b _0222D7EA -_0222D620: - add r0, r6, #0 - add r1, r5, #0 - bl MOD11_0222F29C - mov r0, #0x4b - lsl r0, r0, #2 - ldr r0, [r5, r0] - bl FUN_02033778 - bl FUN_02033590 - cmp r0, #0 - bne _0222D648 - mov r0, #0x51 - lsl r0, r0, #2 - ldr r0, [r5, r0] - mov r1, #0x14 - bl FUN_0202A0E8 - b _0222D654 -_0222D648: - mov r0, #0x51 - lsl r0, r0, #2 - ldr r0, [r5, r0] - mov r1, #0x19 - bl FUN_0202A0E8 -_0222D654: - mov r0, #2 - str r0, [r4] - b _0222D7EA -_0222D65A: - add r0, r6, #0 - bl MOD11_0222F4E4 - cmp r0, #1 - bne _0222D6D2 - add r0, r6, #0 - bl MOD11_0222F93C - mov r0, #3 - str r0, [r4] - b _0222D7EA -_0222D670: - add r0, r6, #0 - bl MOD11_0222F988 - cmp r0, #1 - bne _0222D680 - mov r0, #4 - str r0, [r4] - b _0222D7EA -_0222D680: - mov r0, #5 - str r0, [r4] - b _0222D7EA -_0222D686: - add r0, r6, #0 - bl MOD11_0222FABC - cmp r0, #1 - bne _0222D6D2 - mov r0, #5 - str r0, [r4] - b _0222D7EA -_0222D696: - add r0, r6, #0 - bl MOD11_0222FB04 - cmp r0, #1 - bne _0222D6A6 - mov r0, #6 - str r0, [r4] - b _0222D7EA -_0222D6A6: - mov r0, #8 - str r0, [r4] - b _0222D7EA -_0222D6AC: - add r0, r6, #0 - bl MOD11_0222FC38 - cmp r0, #1 - bne _0222D6D2 - ldr r0, _0222D7F0 ; =SDK_OVERLAY_MODULE_07_ID - bl UnloadOverlayByID - mov r0, #7 - str r0, [r4] - mov r0, #0x3d - bl FUN_02031588 - b _0222D7EA -_0222D6C8: - mov r0, #0x3d - bl FUN_020315D8 - cmp r0, #0 - bne _0222D6D4 -_0222D6D2: - b _0222D7EA -_0222D6D4: - mov r0, #8 - str r0, [r4] - b _0222D7EA -_0222D6DA: - ldr r0, _0222D7F4 ; =SDK_OVERLAY_MODULE_08_ID - mov r1, #2 - bl HandleLoadOverlay - add r0, r6, #0 - bl MOD11_0222DB50 - mov r0, #9 - str r0, [r4] - b _0222D7EA -_0222D6EE: - add r0, r6, #0 - bl MOD11_0222DF4C - cmp r0, #1 - bne _0222D7EA - add r0, r6, #0 - bl MOD11_0222DFA4 - mov r0, #0xa - str r0, [r4] - b _0222D7EA -_0222D704: - add r0, r6, #0 - bl MOD11_0222FC80 - cmp r0, #1 - bne _0222D714 - mov r0, #0xb - str r0, [r4] - b _0222D7EA -_0222D714: - mov r0, #5 - bl FUN_020168D0 - mov r0, #0xd - str r0, [r4] - b _0222D7EA -_0222D720: - add r0, r6, #0 - bl MOD11_0222FE58 - cmp r0, #1 - bne _0222D7EA - ldr r0, _0222D7F0 ; =SDK_OVERLAY_MODULE_07_ID - bl UnloadOverlayByID - mov r0, #5 - bl FUN_020168D0 - mov r0, #0x3e - bl FUN_02031588 - mov r0, #0xc - str r0, [r4] - b _0222D7EA -_0222D742: - mov r0, #0x3e - bl FUN_020315D8 - cmp r0, #0 - beq _0222D7EA - mov r0, #0xf - str r0, [r4] - b _0222D7EA -_0222D752: - add r1, sp, #0x24 - add r2, sp, #0x20 - bl MOD11_02230D38 - add r6, r0, #0 - beq _0222D7BC - mov r0, #3 - mov r1, #0x49 - lsl r2, r0, #0x10 - bl FUN_0201681C - ldr r0, [r5, #4] - ldr r1, [sp, #0x24] - bl GetPartyMonByIndex - add r1, r0, #0 - mov r0, #0x5a - lsl r0, r0, #2 - ldr r2, [r5, r0] - mov r3, #0x49 - str r2, [sp] - add r2, r0, #0 - sub r2, #0x58 - ldr r2, [r5, r2] - str r2, [sp, #4] - add r2, r0, #0 - sub r2, #0x60 - ldr r2, [r5, r2] - str r2, [sp, #8] - add r2, r0, #0 - sub r2, #0x24 - ldr r2, [r5, r2] - sub r0, #0x40 - str r2, [sp, #0xc] - ldr r0, [r5, r0] - add r2, r6, #0 - str r0, [sp, #0x10] - ldr r0, [sp, #0x20] - str r0, [sp, #0x14] - mov r0, #3 - str r0, [sp, #0x18] - str r3, [sp, #0x1c] - add r3, #0xe7 - ldr r0, [r5, #4] - ldr r3, [r5, r3] - bl FUN_0206C700 - mov r1, #0x66 - lsl r1, r1, #2 - str r0, [r5, r1] - mov r0, #0xe - str r0, [r4] - b _0222D7EA -_0222D7BC: - mov r0, #0xf - str r0, [r4] - b _0222D7EA -_0222D7C2: - mov r0, #0x66 - lsl r0, r0, #2 - ldr r5, [r5, r0] - add r0, r5, #0 - bl FUN_0206C91C - cmp r0, #1 - bne _0222D7EA - add r0, r5, #0 - bl FUN_0206C92C - mov r0, #0x49 - bl FUN_020168D0 - mov r0, #0xd - str r0, [r4] - b _0222D7EA -_0222D7E4: - add sp, #0x28 - mov r0, #1 - pop {r4, r5, r6, pc} -_0222D7EA: - mov r0, #0 - add sp, #0x28 - pop {r4, r5, r6, pc} - .align 2, 0 -_0222D7F0: .word SDK_OVERLAY_MODULE_07_ID -_0222D7F4: .word SDK_OVERLAY_MODULE_08_ID - - thumb_func_start MOD11_0222D7F8 -MOD11_0222D7F8: ; 0x0222D7F8 - push {r4, lr} - add r4, r0, #0 - mov r0, #0x67 - lsl r0, r0, #2 - ldr r0, [r4, r0] - bl MOD11_02258658 - ldr r0, [r4, #4] - bl MOD11_022584AC - ldr r1, _0222D834 ; =0x000023FB - mov r0, #4 - ldrb r2, [r4, r1] - orr r0, r2 - strb r0, [r4, r1] - mov r0, #2 - bl FUN_02002CF8 - add r0, r4, #0 - mov r1, #3 - bl MOD11_02231338 - ldr r0, _0222D838 ; =SDK_OVERLAY_MODULE_08_ID - bl UnloadOverlayByID - ldr r0, _0222D83C ; =SDK_OVERLAY_MODULE_09_ID - mov r1, #2 - bl HandleLoadOverlay - pop {r4, pc} - .align 2, 0 -_0222D834: .word 0x000023FB -_0222D838: .word SDK_OVERLAY_MODULE_08_ID -_0222D83C: .word SDK_OVERLAY_MODULE_09_ID - - thumb_func_start MOD11_0222D840 -MOD11_0222D840: ; 0x0222D840 - push {r4, lr} - add r4, r0, #0 - mov r0, #0 - add r1, r0, #0 - bl FUN_02015F10 - mov r0, #0x67 - lsl r0, r0, #2 - ldr r0, [r4, r0] - bl MOD11_02258658 - ldr r0, [r4, #8] - bl FUN_02019178 - ldr r0, [r4, #4] - bl MOD11_0222E4E8 - add r0, r4, #0 - bl MOD11_0222E51C - add r0, r4, #0 - add r1, r4, #0 - add r0, #0x90 - add r1, #0x94 - ldr r0, [r0] - ldr r1, [r1] - bl FUN_0200C398 - add r4, #0x90 - ldr r0, [r4] - bl FUN_0200BD04 - bl FUN_0201C29C - mov r0, #2 - bl FUN_02002CF8 - pop {r4, pc} - - thumb_func_start MOD11_0222D88C -MOD11_0222D88C: ; 0x0222D88C - push {r3, r4, r5, lr} - add r4, r0, #0 - ldr r0, _0222D938 ; =SDK_OVERLAY_MODULE_09_ID - bl UnloadOverlayByID - ldr r0, _0222D93C ; =SDK_OVERLAY_MODULE_08_ID - mov r1, #2 - bl HandleLoadOverlay - add r0, r4, #0 - mov r1, #0 - bl MOD11_02231338 - bl FUN_02022300 - add r5, r0, #0 - bl FUN_020222F8 - add r1, r0, #0 - mov r0, #0 - add r2, r5, #0 - bl MIi_CpuClear16 - bl FUN_02031190 - add r1, r0, #0 - add r0, r4, #0 - bl MOD11_0223021C - add r1, r0, #0 - add r0, r4, #0 - bl MOD11_022584D4 - mov r1, #0x67 - lsl r1, r1, #2 - str r0, [r4, r1] - mov r0, #2 - mov r1, #5 - bl FUN_02002C50 - ldr r1, _0222D940 ; =0x000023FB - mov r0, #2 - ldrb r2, [r4, r1] - orr r0, r2 - strb r0, [r4, r1] - ldr r0, [r4, #4] - bl MOD11_02258450 - mov r0, #0x10 - mov r1, #1 - bl FUN_0201E74C - mov r0, #0x67 - lsl r0, r0, #2 - ldr r0, [r4, r0] - bl MOD11_022586BC - mov r0, #0x67 - lsl r0, r0, #2 - mov r1, #0 - ldr r0, [r4, r0] - mov r2, #1 - add r3, r1, #0 - bl MOD11_02258820 - mov r0, #0x67 - lsl r0, r0, #2 - ldr r0, [r4, r0] - bl MOD11_02258958 - mov r0, #1 - bl FUN_02002840 - add r0, r4, #0 - bl MOD11_0222FE94 - add r4, #0x90 - ldr r0, [r4] - bl FUN_0200BB68 - mov r2, #0x11 - mov r1, #0 - lsl r2, r2, #0x10 - bl FUN_02008D24 - pop {r3, r4, r5, pc} - .align 2, 0 -_0222D938: .word SDK_OVERLAY_MODULE_09_ID -_0222D93C: .word SDK_OVERLAY_MODULE_08_ID -_0222D940: .word 0x000023FB - - thumb_func_start MOD11_0222D944 -MOD11_0222D944: ; 0x0222D944 - push {r4, lr} - add r4, r0, #0 - ldr r0, [r4, #8] - bl FUN_02019178 - mov r0, #1 - mov r1, #0 - bl FUN_0201E6E4 - mov r0, #2 - mov r1, #0 - bl FUN_0201E6E4 - ldr r0, [r4, #4] - mov r1, #1 - bl FUN_020178A0 - ldr r0, [r4, #4] - mov r1, #2 - bl FUN_020178A0 - ldr r0, [r4, #4] - mov r1, #3 - bl FUN_020178A0 - add r0, r4, #0 - bl MOD11_02231410 - pop {r4, pc} - .align 2, 0 - - thumb_func_start MOD11_0222D980 -MOD11_0222D980: ; 0x0222D980 - push {r4, r5, r6, lr} - sub sp, #0x68 - ldr r1, _0222DB38 ; =0x000023FB - add r5, r0, #0 - ldrb r2, [r5, r1] - mov r0, #1 - ldr r4, _0222DB3C ; =MOD11_0225DAE0 - bic r2, r0 - mov r0, #1 - orr r0, r2 - strb r0, [r5, r1] - add r3, sp, #0x14 - mov r2, #0xa -_0222D99A: - ldmia r4!, {r0, r1} - stmia r3!, {r0, r1} - sub r2, r2, #1 - bne _0222D99A - ldr r0, [r4] - mov r1, #1 - str r0, [r3] - ldr r0, [r5, #4] - add r2, sp, #0x14 - mov r3, #0 - bl FUN_02016C18 - ldr r0, [r5, #4] - mov r1, #1 - bl FUN_02018744 - ldr r0, [r5, #4] - mov r1, #2 - add r2, sp, #0x30 - mov r3, #0 - bl FUN_02016C18 - ldr r0, [r5, #4] - mov r1, #2 - bl FUN_02018744 - ldr r0, [r5, #4] - mov r1, #3 - add r2, sp, #0x4c - mov r3, #0 - bl FUN_02016C18 - ldr r0, [r5, #4] - mov r1, #3 - bl FUN_02018744 - ldr r1, _0222DB40 ; =0x04000008 - mov r0, #3 - ldrh r2, [r1] - bic r2, r0 - mov r0, #1 - orr r2, r0 - strh r2, [r1] - add r1, r0, #0 - bl FUN_0201E6E4 - add r0, r5, #0 - bl MOD11_02230E44 - add r4, r0, #0 - lsl r0, r4, #0x18 - lsr r0, r0, #0x18 - str r0, [sp] - mov r0, #5 - str r0, [sp, #4] - mov r1, #1 - ldr r0, [r5, #4] - add r2, r1, #0 - mov r3, #0xa - bl FUN_0200D274 - mov r0, #0 - str r0, [sp] - str r0, [sp, #4] - mov r0, #1 - str r0, [sp, #8] - mov r0, #5 - str r0, [sp, #0xc] - mov r1, #9 - lsl r1, r1, #0xa - ldr r1, [r5, r1] - ldr r2, [r5, #4] - mov r0, #7 - add r1, r1, #3 - mov r3, #3 - bl FUN_0200687C - add r0, r5, #0 - bl MOD11_02230C68 - add r2, r0, #0 - mov r0, #0 - str r0, [sp] - str r0, [sp, #4] - mov r3, #9 - str r0, [sp, #8] - lsl r3, r3, #0xa - ldr r6, [r5, r3] - ldr r0, [r5, #0x28] - lsl r3, r6, #1 - add r3, r6, r3 - add r3, #0x9e - add r2, r3, r2 - mov r1, #7 - mov r3, #5 - bl FUN_020030E8 - add r0, r4, #0 - bl FUN_0200CD64 - add r2, r0, #0 - mov r0, #0 - str r0, [sp] - mov r0, #0x20 - str r0, [sp, #4] - mov r0, #0xa0 - str r0, [sp, #8] - ldr r0, [r5, #0x28] - mov r1, #0x26 - mov r3, #5 - bl FUN_020030E8 - mov r0, #0 - str r0, [sp] - mov r0, #0x20 - str r0, [sp, #4] - mov r0, #0xb0 - str r0, [sp, #8] - ldr r0, [r5, #0x28] - mov r1, #0xe - mov r2, #7 - mov r3, #5 - bl FUN_020030E8 - mov r0, #0 - str r0, [sp] - str r0, [sp, #4] - mov r0, #1 - str r0, [sp, #8] - mov r0, #5 - str r0, [sp, #0xc] - ldr r2, [r5, #4] - mov r0, #7 - mov r1, #2 - mov r3, #3 - bl FUN_020068C8 - mov r0, #1 - lsl r0, r0, #0x1a - ldr r2, [r0] - ldr r1, _0222DB44 ; =0xFFFF1FFF - ldr r3, _0222DB48 ; =0x04001000 - and r2, r1 - str r2, [r0] - ldr r2, [r3] - and r1, r2 - add r2, r0, #0 - str r1, [r3] - add r2, #0x48 - ldrh r3, [r2] - mov r1, #0x3f - add r0, #0x4a - bic r3, r1 - strh r3, [r2] - ldrh r2, [r0] - bic r2, r1 - strh r2, [r0] - bl FUN_0201E788 - mov r0, #0x10 - mov r1, #1 - bl FUN_0201E6E4 - mov r0, #0x10 - mov r1, #1 - bl FUN_0201E74C - ldr r0, _0222DB4C ; =MOD11_0222F01C - add r1, r5, #0 - bl FUN_02015F10 - ldr r0, _0222DB38 ; =0x000023FB - mov r3, #2 - ldrb r1, [r5, r0] - mov r2, #1 - orr r1, r3 - strb r1, [r5, r0] - mov r0, #0x13 - str r0, [sp] - mov r0, #0x1b - str r0, [sp, #4] - mov r0, #4 - str r0, [sp, #8] - mov r0, #0xb - str r0, [sp, #0xc] - mov r0, #0x1f - str r0, [sp, #0x10] - ldr r0, [r5, #4] - ldr r1, [r5, #8] - bl FUN_02019064 - ldr r0, [r5, #8] - mov r1, #0xff - bl FUN_02019620 - ldr r0, [r5, #8] - mov r1, #0 - mov r2, #1 - mov r3, #0xa - bl FUN_0200D0BC - add r0, r5, #0 - bl MOD11_0222FE94 - add sp, #0x68 - pop {r4, r5, r6, pc} - nop -_0222DB38: .word 0x000023FB -_0222DB3C: .word MOD11_0225DAE0 -_0222DB40: .word 0x04000008 -_0222DB44: .word 0xFFFF1FFF -_0222DB48: .word 0x04001000 -_0222DB4C: .word MOD11_0222F01C - - thumb_func_start MOD11_0222DB50 -MOD11_0222DB50: ; 0x0222DB50 - push {r3, r4, r5, r6, r7, lr} - sub sp, #0x30 - bl FUN_02006278 - add r4, r0, #0 - bl FUN_020222F0 - add r5, r0, #0 - bl FUN_020222E8 - add r1, r0, #0 - mov r0, #0 - add r2, r5, #0 - bl MIi_CpuClear16 - bl FUN_02022300 - add r5, r0, #0 - bl FUN_020222F8 - add r1, r0, #0 - mov r0, #0 - add r2, r5, #0 - bl MIi_CpuClear16 - bl GetLCRNGSeed - ldr r1, _0222DF0C ; =0x00002430 - str r0, [r4, r1] - add r0, sp, #0x20 - add r1, sp, #0x14 - bl FUN_0201265C - ldr r0, _0222DF10 ; =gUnknown21C48B8 - ldr r6, [sp, #0x24] - ldr r5, [r0, #0x2c] - ldr r1, [sp, #0x18] - ldr r0, [sp, #0x1c] - lsl r6, r6, #8 - add r0, r1, r0 - lsl r3, r0, #0x18 - ldr r0, [sp, #0x14] - ldr r1, [sp, #0x20] - lsl r2, r0, #0x10 - ldr r0, [sp, #0x28] - mul r6, r0 - lsl r0, r6, #0x10 - add r0, r1, r0 - add r0, r2, r0 - add r0, r3, r0 - add r0, r5, r0 - bl SetLCRNGSeed - bl MOD11_0222EF30 - str r0, [r4] - bl FUN_02015F1C - mov r0, #2 - mov r1, #5 - bl FUN_02002C50 - mov r0, #0xe - mov r1, #1 - mov r2, #0xf - mov r3, #5 - bl FUN_0200B870 - mov r1, #0x6a - lsl r1, r1, #2 - str r0, [r4, r1] - ldr r2, [r4, r1] - add r0, r1, #4 - str r2, [r4, r0] - mov r0, #5 - bl FUN_02002FD0 - str r0, [r4, #0x28] - mov r1, #1 - bl FUN_020038F0 - mov r2, #2 - ldr r0, [r4, #0x28] - mov r1, #0 - lsl r2, r2, #8 - mov r3, #5 - bl FUN_02003008 - mov r1, #1 - ldr r0, [r4, #0x28] - lsl r2, r1, #9 - mov r3, #5 - bl FUN_02003008 - mov r2, #7 - ldr r0, [r4, #0x28] - mov r1, #2 - lsl r2, r2, #6 - mov r3, #5 - bl FUN_02003008 - mov r2, #2 - ldr r0, [r4, #0x28] - mov r1, #3 - lsl r2, r2, #8 - mov r3, #5 - bl FUN_02003008 - mov r0, #5 - bl FUN_02016B94 - str r0, [r4, #4] - mov r0, #5 - mov r1, #3 - bl FUN_02018FF4 - mov r7, #0x73 - str r0, [r4, #8] - mov r6, #0 - add r5, r4, #0 - lsl r7, r7, #2 -_0222DC42: - mov r1, #0x32 - mov r0, #5 - lsl r1, r1, #6 - bl AllocFromHeap - str r0, [r5, r7] - add r6, r6, #1 - add r5, #0x10 - cmp r6, #4 - blt _0222DC42 - mov r0, #0x40 - mov r1, #5 - bl FUN_0201C24C - bl FUN_02031190 - add r1, r0, #0 - add r0, r4, #0 - bl MOD11_0223021C - add r1, r0, #0 - add r0, r4, #0 - bl MOD11_022584D4 - mov r1, #0x67 - lsl r1, r1, #2 - str r0, [r4, r1] - ldr r1, [r4, #4] - add r0, r4, #0 - bl MOD11_0222E264 - mov r0, #0x13 - str r0, [sp] - mov r0, #0x1b - str r0, [sp, #4] - mov r0, #4 - str r0, [sp, #8] - mov r0, #0xb - str r0, [sp, #0xc] - mov r0, #0x1f - str r0, [sp, #0x10] - ldr r0, [r4, #4] - ldr r1, [r4, #8] - mov r2, #1 - mov r3, #2 - bl FUN_02019064 - ldr r0, [r4, #8] - mov r1, #0xff - bl FUN_02019620 - ldr r0, [r4, #8] - mov r1, #0 - mov r2, #1 - mov r3, #0xa - bl FUN_0200D0BC - mov r0, #5 - bl FUN_0200BB14 - add r1, r4, #0 - add r1, #0x90 - str r0, [r1] - add r0, r4, #0 - add r0, #0x90 - ldr r0, [r0] - ldr r1, _0222DF14 ; =MOD11_0225DA20 - ldr r2, _0222DF18 ; =MOD11_0225D9D8 - mov r3, #0x20 - bl FUN_0200BB6C - ldr r1, _0222DF1C ; =0x00100010 - mov r0, #1 - bl FUN_02008D44 - mov r0, #1 - bl FUN_02008DDC - add r0, r4, #0 - add r0, #0x90 - ldr r0, [r0] - bl FUN_0200BB34 - add r1, r4, #0 - add r1, #0x94 - str r0, [r1] - add r0, r4, #0 - add r1, r4, #0 - add r0, #0x90 - add r1, #0x94 - ldr r0, [r0] - ldr r1, [r1] - mov r2, #0x80 - bl FUN_0200BBF0 - add r0, r4, #0 - add r1, r4, #0 - add r0, #0x90 - add r1, #0x94 - ldr r0, [r0] - ldr r1, [r1] - ldr r2, _0222DF20 ; =MOD11_0225D9EC - bl FUN_0200BF60 - add r0, r4, #0 - add r0, #0x90 - ldr r0, [r0] - bl FUN_0200BB68 - mov r2, #0x11 - mov r1, #0 - lsl r2, r2, #0x10 - bl FUN_02008D24 - mov r0, #0x67 - lsl r0, r0, #2 - ldr r0, [r4, r0] - bl MOD11_022586BC - mov r0, #0x67 - lsl r0, r0, #2 - mov r1, #0 - ldr r0, [r4, r0] - mov r2, #1 - add r3, r1, #0 - bl MOD11_02258820 - mov r0, #0x67 - lsl r0, r0, #2 - ldr r0, [r4, r0] - bl MOD11_02258958 - mov r0, #5 - bl FUN_02006D98 - add r1, r4, #0 - add r1, #0x88 - str r0, [r1] - add r0, r4, #0 - add r0, #0x88 - ldr r0, [r0] - mov r1, #0 - mov r2, #0xc0 - bl FUN_020081B4 - add r0, r4, #0 - bl MOD11_02231390 - bl MOD11_0222EFDC - mov r0, #5 - bl MOD08_02211F5C - add r1, r4, #0 - add r1, #0x8c - str r0, [r1] - add r0, r4, #0 - bl MOD11_0222E470 - bl FUN_0201CC08 - mov r0, #4 - bl FUN_0201CC24 - mov r2, #0x51 - mov r0, #1 - mov r1, #0x1a - lsl r2, r2, #2 - mov r3, #5 - bl NewMsgDataFromNarc - str r0, [r4, #0xc] - mov r0, #1 - mov r1, #0x1a - mov r2, #0 - mov r3, #5 - bl NewMsgDataFromNarc - str r0, [r4, #0x10] - mov r0, #5 - bl FUN_0200AA80 - str r0, [r4, #0x14] - mov r0, #5 - lsl r0, r0, #6 - mov r1, #5 - bl String_ctor - str r0, [r4, #0x18] - ldr r0, [r4, #0x28] - mov r1, #0 - bl FUN_020031FC - ldr r1, _0222DF24 ; =0x00002224 - mov r2, #0xe0 - add r1, r4, r1 - bl MIi_CpuCopy16 - ldr r0, [r4, #0x28] - mov r1, #2 - bl FUN_020031FC - ldr r1, _0222DF28 ; =0x00002304 - mov r2, #0xe0 - add r1, r4, r1 - bl MIi_CpuCopy16 - add r0, r4, #0 - bl MOD11_02230C68 - mov r1, #0 - lsl r5, r0, #2 - mov r3, #9 - str r1, [sp] - mov r0, #0x70 - str r0, [sp, #4] - lsl r3, r3, #0xa - ldr r3, [r4, r3] - mov r6, #0xc - mul r6, r3 - ldr r3, _0222DF2C ; =MOD11_0225DB88 - ldr r0, [r4, #0x28] - add r3, r3, r6 - ldr r3, [r5, r3] - mov r2, #2 - lsl r3, r3, #0x10 - lsr r3, r3, #0x10 - bl FUN_02003914 - mov r0, #0xc0 - str r0, [sp] - add r0, #0x40 - mov r3, #9 - str r0, [sp, #4] - lsl r3, r3, #0xa - ldr r3, [r4, r3] - mov r6, #0xc - mul r6, r3 - ldr r3, _0222DF2C ; =MOD11_0225DB88 - ldr r0, [r4, #0x28] - add r3, r3, r6 - ldr r3, [r5, r3] - mov r1, #0 - lsl r3, r3, #0x10 - mov r2, #2 - lsr r3, r3, #0x10 - bl FUN_02003914 - mov r0, #0 - str r0, [sp] - mov r0, #0xdf - mov r3, #9 - str r0, [sp, #4] - lsl r3, r3, #0xa - mov r1, #2 - ldr r3, [r4, r3] - mov r6, #0xc - mul r6, r3 - ldr r3, _0222DF2C ; =MOD11_0225DB88 - ldr r0, [r4, #0x28] - add r3, r3, r6 - ldr r3, [r5, r3] - add r2, r1, #0 - lsl r3, r3, #0x10 - lsr r3, r3, #0x10 - bl FUN_02003914 - mov r1, #0 - mov r0, #0xa0 - str r0, [sp] - mov r0, #0xc0 - str r0, [sp, #4] - ldr r0, [r4, #0x28] - add r2, r1, #0 - add r3, r1, #0 - bl FUN_02003914 - mov r2, #0 - str r2, [sp] - mov r0, #0xff - str r0, [sp, #4] - ldr r0, [r4, #0x28] - ldr r3, _0222DF30 ; =0x0000FFFF - mov r1, #1 - bl FUN_02003914 - mov r2, #0 - str r2, [sp] - mov r0, #0xff - str r0, [sp, #4] - ldr r0, [r4, #0x28] - ldr r3, _0222DF30 ; =0x0000FFFF - mov r1, #3 - bl FUN_02003914 - ldr r0, [r4, #0x28] - mov r1, #0 - mov r2, #0xb - mov r3, #5 - bl FUN_020142EC - mov r1, #0x1b - lsl r1, r1, #4 - str r0, [r4, r1] - ldr r0, [r4, r1] - mov r1, #1 - bl FUN_020143A8 - ldr r0, _0222DF34 ; =MOD11_0222F100 - ldr r2, _0222DF38 ; =0x0000EA60 - add r1, r4, #0 - bl FUN_0200CA44 - str r0, [r4, #0x1c] - ldr r0, _0222DF3C ; =MOD11_0222F144 - ldr r2, _0222DF40 ; =0x0000C350 - add r1, r4, #0 - bl FUN_0200CA44 - str r0, [r4, #0x20] - mov r2, #0x4b - ldr r0, _0222DF44 ; =MOD11_0222F254 - add r1, r4, #0 - lsl r2, r2, #4 - bl FUN_0200CA60 - str r0, [r4, #0x24] - mov r1, #0x32 - ldr r0, _0222DF48 ; =0x00002434 - mvn r1, r1 - str r1, [r4, r0] - add r0, r4, #0 - bl MOD11_0222FE94 - add r0, r4, #0 - bl MOD11_02230218 - bl FUN_0206F1C0 - mov r0, #5 - mov r1, #4 - mov r2, #0 - bl FUN_02014BF4 - mov r1, #0x71 - lsl r1, r1, #2 - str r0, [r4, r1] - mov r0, #2 - mov r1, #5 - bl FUN_0201C328 - mov r1, #0x72 - lsl r1, r1, #2 - str r0, [r4, r1] - add sp, #0x30 - pop {r3, r4, r5, r6, r7, pc} - nop -_0222DF0C: .word 0x00002430 -_0222DF10: .word gUnknown21C48B8 -_0222DF14: .word MOD11_0225DA20 -_0222DF18: .word MOD11_0225D9D8 -_0222DF1C: .word 0x00100010 -_0222DF20: .word MOD11_0225D9EC -_0222DF24: .word 0x00002224 -_0222DF28: .word 0x00002304 -_0222DF2C: .word MOD11_0225DB88 -_0222DF30: .word 0x0000FFFF -_0222DF34: .word MOD11_0222F100 -_0222DF38: .word 0x0000EA60 -_0222DF3C: .word MOD11_0222F144 -_0222DF40: .word 0x0000C350 -_0222DF44: .word MOD11_0222F254 -_0222DF48: .word 0x00002434 - - thumb_func_start MOD11_0222DF4C -MOD11_0222DF4C: ; 0x0222DF4C - push {r4, r5, r6, lr} - bl FUN_02006278 - ldr r1, _0222DF9C ; =0x000023F8 - add r4, r0, #0 - ldrb r1, [r4, r1] - cmp r1, #0 - beq _0222DF7A - ldr r2, [r4, #0x2c] - mov r1, #4 - tst r1, r2 - ldr r1, [r4, #0x30] - beq _0222DF6C - bl MOD11_0223D238 - b _0222DF7A -_0222DF6C: - bl MOD11_0223D238 - ldr r1, _0222DFA0 ; =0x000023FA - strb r0, [r4, r1] - add r0, r4, #0 - bl MOD11_02254820 -_0222DF7A: - ldr r0, [r4, #0x44] - mov r6, #0 - cmp r0, #0 - ble _0222DF96 - add r5, r4, #0 -_0222DF84: - ldr r1, [r5, #0x34] - add r0, r4, #0 - bl MOD11_0224CB38 - ldr r0, [r4, #0x44] - add r6, r6, #1 - add r5, r5, #4 - cmp r6, r0 - blt _0222DF84 -_0222DF96: - ldr r0, _0222DFA0 ; =0x000023FA - ldrb r0, [r4, r0] - pop {r4, r5, r6, pc} - .align 2, 0 -_0222DF9C: .word 0x000023F8 -_0222DFA0: .word 0x000023FA - - thumb_func_start MOD11_0222DFA4 -MOD11_0222DFA4: ; 0x0222DFA4 - push {r3, r4, r5, r6, r7, lr} - add r5, r0, #0 - bl FUN_02006278 - add r4, r0, #0 - add r0, r5, #0 - bl FUN_0200628C - add r7, r0, #0 - mov r0, #0 - add r1, r0, #0 - bl FUN_0200E3A0 - mov r0, #1 - mov r1, #0 - bl FUN_0200E3A0 - add r0, r4, #0 - bl MOD11_02230EC8 - ldr r0, _0222E248 ; =0x0000241C - ldrb r0, [r4, r0] - cmp r0, #4 - beq _0222DFE4 - ldr r0, [r4, #0x6c] - mov r1, #0 - bl GetPartyMonByIndex - add r1, r0, #0 - add r0, r4, #0 - bl MOD11_02230FA8 -_0222DFE4: - mov r0, #0 - str r0, [sp] - add r6, r7, #0 - add r5, r4, #0 -_0222DFEC: - ldr r0, [r5, #0x68] - ldr r1, [r6, #4] - bl FUN_0206BAD0 - ldr r0, [r5, #0x68] - bl FreeToHeap - add r1, r6, #0 - add r1, #0xf8 - ldr r0, [r5, #0x48] - ldr r1, [r1] - bl FUN_0202393C - ldr r0, [r5, #0x48] - bl FreeToHeap - ldr r0, [sp] - add r6, r6, #4 - add r0, r0, #1 - add r5, r5, #4 - str r0, [sp] - cmp r0, #4 - blt _0222DFEC - mov r0, #0x1b - lsl r0, r0, #4 - ldr r0, [r4, r0] - bl FUN_020143D0 - mov r1, #0x42 - lsl r1, r1, #2 - ldr r0, [r4, #0x58] - ldr r1, [r7, r1] - bl FUN_0206EBB4 - ldr r0, [r4, #0x58] - bl FreeToHeap - mov r1, #0x11 - lsl r1, r1, #4 - ldr r0, [r4, #0x60] - ldr r1, [r7, r1] - bl FUN_02023D80 - ldr r0, [r4, #0x60] - bl FreeToHeap - mov r0, #0x45 - ldr r1, [r4, #0x64] - lsl r0, r0, #2 - str r1, [r7, r0] - add r1, r0, #0 - ldr r2, [r4, #0x5c] - sub r1, #8 - str r2, [r7, r1] - add r1, r4, #0 - add r1, #0x98 - ldr r2, [r1] - add r1, r0, #0 - add r1, #0x14 - str r2, [r7, r1] - add r1, r4, #0 - add r1, #0x9c - ldr r2, [r1] - add r1, r0, #0 - add r1, #0x20 - str r2, [r7, r1] - add r1, r0, #0 - ldr r2, _0222E24C ; =0x00002410 - add r1, #0x7c - ldr r3, [r4, r2] - add r0, #0x5c - str r3, [r7, r1] - add r1, r2, #0 - add r1, #0xc - ldrb r3, [r4, r1] - mov r1, #0x3f - add r2, #0x28 - and r1, r3 - str r1, [r7, #0x14] - ldr r1, [r4, r2] - mov r2, #4 - str r1, [r7, r0] - ldr r1, [r4, #0x30] - add r0, r4, #0 - mov r3, #0 - bl MOD11_0224C474 - mov r1, #0x5e - lsl r1, r1, #2 - str r0, [r7, r1] - ldr r1, [r4, #0x30] - add r0, r4, #0 - mov r2, #3 - mov r3, #0 - bl MOD11_0224C474 - mov r1, #0x4e - lsl r1, r1, #2 - ldr r2, [r7, r1] - mov r3, #0 - add r0, r2, r0 - str r0, [r7, r1] - ldr r1, [r4, #0x30] - add r0, r4, #0 - mov r2, #6 - bl MOD11_0224C474 - add r5, r0, #0 - ldr r1, [r4, #0x30] - add r0, r4, #0 - mov r2, #6 - mov r3, #2 - bl MOD11_0224C474 - mov r1, #0x4f - lsl r1, r1, #2 - ldr r2, [r7, r1] - add r0, r5, r0 - add r0, r2, r0 - str r0, [r7, r1] - ldr r1, [r4, #0x30] - add r0, r4, #0 - mov r2, #7 - mov r3, #0 - bl MOD11_0224C474 - add r5, r0, #0 - ldr r1, [r4, #0x30] - add r0, r4, #0 - mov r2, #7 - mov r3, #2 - bl MOD11_0224C474 - mov r1, #5 - lsl r1, r1, #6 - ldr r2, [r7, r1] - add r0, r5, r0 - add r0, r2, r0 - str r0, [r7, r1] - add r7, r1, #0 - mov r6, #0 - add r5, r4, #0 - add r7, #0x8c -_0222E10A: - ldr r0, [r5, r7] - bl FreeToHeap - add r6, r6, #1 - add r5, #0x10 - cmp r6, #4 - blt _0222E10A - ldr r0, [r4, #0x18] - bl FreeToHeap - ldr r0, [r4, #0x28] - mov r1, #0 - bl FUN_02003038 - ldr r0, [r4, #0x28] - mov r1, #1 - bl FUN_02003038 - ldr r0, [r4, #0x28] - mov r1, #2 - bl FUN_02003038 - ldr r0, [r4, #0x28] - mov r1, #3 - bl FUN_02003038 - ldr r0, [r4, #0x28] - bl FUN_02002FEC - ldr r0, [r4, #0xc] - bl DestroyMsgData - ldr r0, [r4, #0x10] - bl DestroyMsgData - ldr r0, [r4, #0x14] - bl FUN_0200AB18 - mov r0, #0x71 - lsl r0, r0, #2 - ldr r0, [r4, r0] - bl FUN_02014C28 - bl FUN_02012EAC - add r0, r4, #0 - add r0, #0x8c - ldr r0, [r0] - bl MOD08_02212024 - ldr r0, [r4, #0x30] - bl MOD11_0223D284 - ldr r0, [r4, #0x44] - mov r6, #0 - cmp r0, #0 - ble _0222E194 - ldr r7, _0222E250 ; =0x000023F9 - add r5, r4, #0 -_0222E180: - ldrb r2, [r4, r7] - ldr r1, [r5, #0x34] - add r0, r4, #0 - bl MOD11_0224CB54 - ldr r0, [r4, #0x44] - add r6, r6, #1 - add r5, r5, #4 - cmp r6, r0 - blt _0222E180 -_0222E194: - add r0, r4, #0 - add r0, #0x88 - ldr r0, [r0] - bl FUN_020072E8 - ldr r0, _0222E250 ; =0x000023F9 - ldrb r0, [r4, r0] - cmp r0, #2 - beq _0222E1AC - add r0, r4, #0 - bl MOD11_0222D840 -_0222E1AC: - mov r0, #0 - bl FUN_02002B60 - mov r0, #0 - bl FUN_02002B7C - mov r0, #0 - bl FUN_02002BB8 - ldr r0, [r4, #8] - mov r1, #3 - bl FUN_020191A4 - ldr r0, [r4, #4] - bl FreeToHeap - mov r0, #0x87 - lsl r0, r0, #2 - ldr r0, [r4, r0] - bl FreeToHeap - mov r0, #0x22 - lsl r0, r0, #4 - ldr r0, [r4, r0] - bl FreeToHeap - mov r0, #0x6a - lsl r0, r0, #2 - ldr r0, [r4, r0] - bl FUN_0200B990 - mov r0, #2 - bl FUN_02002CF8 - ldr r0, [r4, #0x1c] - bl FUN_0200CAB4 - ldr r0, [r4, #0x20] - bl FUN_0200CAB4 - bl FUN_0201CD04 - ldr r0, [r4] - bl MOD11_0222EFD4 - ldr r0, _0222E254 ; =0x00002430 - ldr r0, [r4, r0] - bl SetLCRNGSeed - add r0, r4, #0 - bl MOD11_02231474 - cmp r0, #0 - beq _0222E220 - ldr r0, _0222E258 ; =0x00000704 - mov r1, #0 - bl FUN_020054F0 -_0222E220: - mov r0, #0x72 - lsl r0, r0, #2 - ldr r0, [r4, r0] - bl FUN_0201C350 - add r0, r4, #0 - bl FreeToHeap - ldr r0, _0222E25C ; =SDK_OVERLAY_MODULE_08_ID - bl UnloadOverlayByID - bl FUN_02033590 - cmp r0, #0 - bne _0222E244 - ldr r0, _0222E260 ; =SDK_OVERLAY_MODULE_16_ID - bl UnloadOverlayByID -_0222E244: - pop {r3, r4, r5, r6, r7, pc} - nop -_0222E248: .word 0x0000241C -_0222E24C: .word 0x00002410 -_0222E250: .word 0x000023F9 -_0222E254: .word 0x00002430 -_0222E258: .word 0x00000704 -_0222E25C: .word SDK_OVERLAY_MODULE_08_ID -_0222E260: .word SDK_OVERLAY_MODULE_16_ID - - thumb_func_start MOD11_0222E264 -MOD11_0222E264: ; 0x0222E264 - push {r4, r5, r6, r7, lr} - sub sp, #0x9c - add r5, r0, #0 - add r4, r1, #0 - bl FUN_0201E6D8 - mov r0, #0 - bl FUN_0200E394 - mov r0, #1 - bl FUN_0200E394 - ldr r6, _0222E450 ; =MOD11_0225DA68 - add r3, sp, #0x20 - mov r2, #5 -_0222E282: - ldmia r6!, {r0, r1} - stmia r3!, {r0, r1} - sub r2, r2, #1 - bne _0222E282 - add r0, sp, #0x20 - bl FUN_0201E66C - mov r1, #6 - mov r2, #2 - mov r0, #0 - lsl r1, r1, #0x18 - lsl r2, r2, #0x12 - bl MIi_CpuClear32 - mov r1, #0x62 - mov r2, #2 - mov r0, #0 - lsl r1, r1, #0x14 - lsl r2, r2, #0x10 - bl MIi_CpuClear32 - mov r1, #0x19 - mov r2, #1 - mov r0, #0 - lsl r1, r1, #0x16 - lsl r2, r2, #0x12 - bl MIi_CpuClear32 - mov r1, #0x66 - mov r2, #2 - mov r0, #0 - lsl r1, r1, #0x14 - lsl r2, r2, #0x10 - bl MIi_CpuClear32 - ldr r6, _0222E454 ; =MOD11_0225D9A8 - add r3, sp, #0x10 - add r2, r3, #0 - ldmia r6!, {r0, r1} - stmia r3!, {r0, r1} - ldmia r6!, {r0, r1} - stmia r3!, {r0, r1} - add r0, r2, #0 - bl FUN_02016BBC - ldr r1, _0222E458 ; =0x000023FB - mov r0, #1 - ldrb r2, [r5, r1] - ldr r6, _0222E45C ; =MOD11_0225DB34 - add r3, sp, #0x48 - bic r2, r0 - mov r0, #1 - orr r0, r2 - strb r0, [r5, r1] - mov r2, #0xa -_0222E2F0: - ldmia r6!, {r0, r1} - stmia r3!, {r0, r1} - sub r2, r2, #1 - bne _0222E2F0 - ldr r0, [r6] - mov r1, #1 - str r0, [r3] - add r0, r4, #0 - add r2, sp, #0x48 - mov r3, #0 - bl FUN_02016C18 - add r0, r4, #0 - mov r1, #1 - bl FUN_02018744 - add r0, r4, #0 - mov r1, #2 - add r2, sp, #0x64 - mov r3, #0 - bl FUN_02016C18 - add r0, r4, #0 - mov r1, #2 - bl FUN_02018744 - add r0, r4, #0 - mov r1, #3 - add r2, sp, #0x80 - mov r3, #0 - bl FUN_02016C18 - add r0, r4, #0 - mov r1, #3 - bl FUN_02018744 - ldr r1, _0222E460 ; =0x04000008 - mov r0, #3 - ldrh r2, [r1] - bic r2, r0 - mov r0, #1 - orr r2, r0 - strh r2, [r1] - add r1, r0, #0 - bl FUN_0201E6E4 - add r0, r4, #0 - bl MOD11_02258450 - add r0, r5, #0 - bl MOD11_02230E44 - add r7, r0, #0 - lsl r0, r7, #0x18 - lsr r0, r0, #0x18 - str r0, [sp] - mov r0, #5 - mov r1, #1 - str r0, [sp, #4] - add r0, r4, #0 - add r2, r1, #0 - mov r3, #0xa - bl FUN_0200D274 - mov r0, #0 - str r0, [sp] - str r0, [sp, #4] - mov r0, #1 - str r0, [sp, #8] - mov r0, #5 - mov r1, #9 - str r0, [sp, #0xc] - lsl r1, r1, #0xa - ldr r1, [r5, r1] - mov r0, #7 - add r1, r1, #3 - add r2, r4, #0 - mov r3, #3 - bl FUN_0200687C - add r0, r5, #0 - bl MOD11_02230C68 - add r6, r0, #0 - mov r0, #0 - str r0, [sp] - str r0, [sp, #4] - mov r2, #9 - str r0, [sp, #8] - lsl r2, r2, #0xa - ldr r3, [r5, r2] - ldr r0, [r5, #0x28] - lsl r2, r3, #1 - add r2, r3, r2 - add r2, #0x9e - mov r1, #7 - add r2, r2, r6 - mov r3, #5 - bl FUN_020030E8 - add r0, r7, #0 - bl FUN_0200CD64 - add r2, r0, #0 - mov r0, #0 - str r0, [sp] - mov r0, #0x20 - str r0, [sp, #4] - mov r0, #0xa0 - str r0, [sp, #8] - ldr r0, [r5, #0x28] - mov r1, #0x26 - mov r3, #5 - bl FUN_020030E8 - mov r0, #0 - str r0, [sp] - mov r0, #0x20 - str r0, [sp, #4] - mov r0, #0xb0 - str r0, [sp, #8] - ldr r0, [r5, #0x28] - mov r1, #0xe - mov r2, #7 - mov r3, #5 - bl FUN_020030E8 - mov r0, #0 - str r0, [sp] - str r0, [sp, #4] - mov r0, #1 - str r0, [sp, #8] - mov r0, #5 - str r0, [sp, #0xc] - mov r0, #7 - mov r1, #2 - add r2, r4, #0 - mov r3, #3 - bl FUN_020068C8 - mov r0, #1 - lsl r0, r0, #0x1a - ldr r2, [r0] - ldr r1, _0222E464 ; =0xFFFF1FFF - ldr r3, _0222E468 ; =0x04001000 - and r2, r1 - str r2, [r0] - ldr r2, [r3] - and r1, r2 - add r2, r0, #0 - str r1, [r3] - add r2, #0x48 - ldrh r3, [r2] - mov r1, #0x3f - add r0, #0x4a - bic r3, r1 - strh r3, [r2] - ldrh r2, [r0] - bic r2, r1 - strh r2, [r0] - bl FUN_0201E788 - mov r0, #0x10 - mov r1, #1 - bl FUN_0201E6E4 - mov r0, #0x10 - mov r1, #1 - bl FUN_0201E74C - ldr r0, _0222E46C ; =MOD11_0222F01C - add r1, r5, #0 - bl FUN_02015F10 - add sp, #0x9c - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0222E450: .word MOD11_0225DA68 -_0222E454: .word MOD11_0225D9A8 -_0222E458: .word 0x000023FB -_0222E45C: .word MOD11_0225DB34 -_0222E460: .word 0x04000008 -_0222E464: .word 0xFFFF1FFF -_0222E468: .word 0x04001000 -_0222E46C: .word MOD11_0222F01C - - thumb_func_start MOD11_0222E470 -MOD11_0222E470: ; 0x0222E470 - push {r3, r4, r5, r6, r7, lr} - add r5, r0, #0 - bl MOD11_02230294 - add r4, r0, #0 - mov r0, #0x5f - lsl r0, r0, #2 - add r0, r5, r0 - add r1, r5, #0 - mov r2, #0 - add r3, r4, #0 - bl MOD11_022583D8 - mov r0, #0x63 - lsl r0, r0, #2 - add r0, r5, r0 - add r1, r5, #0 - mov r2, #1 - add r3, r4, #0 - bl MOD11_022583D8 - add r0, r5, #0 - bl MOD11_0222FF78 - str r0, [sp] - ldr r0, [r5, #0x44] - mov r4, #0 - cmp r0, #0 - ble _0222E4E2 - add r6, r5, #0 -_0222E4AC: - ldr r1, [sp] - add r0, r5, #0 - mov r2, #2 - add r3, r4, #0 - bl MOD11_0224C474 - add r7, r0, #0 - add r0, r5, #0 - add r1, r4, #0 - add r2, r7, #0 - bl MOD11_02230014 - mov r1, #0x9a - mov r2, #0 - bl GetMonData - add r2, r0, #0 - ldr r1, [r6, #0x34] - add r0, r5, #0 - add r3, r7, #0 - bl MOD11_0224CA94 - ldr r0, [r5, #0x44] - add r4, r4, #1 - add r6, r6, #4 - cmp r4, r0 - blt _0222E4AC -_0222E4E2: - bl FUN_02033E74 - pop {r3, r4, r5, r6, r7, pc} - - thumb_func_start MOD11_0222E4E8 -MOD11_0222E4E8: ; 0x0222E4E8 - push {r4, lr} - add r4, r0, #0 - mov r0, #1 - mov r1, #0 - bl FUN_0201E6E4 - mov r0, #2 - mov r1, #0 - bl FUN_0201E6E4 - add r0, r4, #0 - mov r1, #1 - bl FUN_020178A0 - add r0, r4, #0 - mov r1, #2 - bl FUN_020178A0 - add r0, r4, #0 - mov r1, #3 - bl FUN_020178A0 - add r0, r4, #0 - bl MOD11_022584AC - pop {r4, pc} - - thumb_func_start MOD11_0222E51C -MOD11_0222E51C: ; 0x0222E51C - bx lr - .align 2, 0 - - thumb_func_start MOD11_0222E520 -MOD11_0222E520: ; 0x0222E520 - push {r3, r4, r5, r6, r7, lr} - sub sp, #0x40 - add r4, r0, #0 - ldr r0, [r1] - str r1, [sp, #4] - str r0, [r4, #0x2c] - mov r7, #0 - add r6, r4, #0 - add r5, r1, #0 -_0222E532: - mov r0, #5 - bl FUN_02023928 - add r1, r0, #0 - add r0, r5, #0 - str r1, [r6, #0x48] - add r0, #0xf8 - ldr r0, [r0] - bl FUN_0202393C - mov r0, #0x46 - lsl r0, r0, #2 - ldr r0, [r5, r0] - add r7, r7, #1 - str r0, [r6, #0x78] - add r6, r6, #4 - add r5, r5, #4 - cmp r7, #4 - blt _0222E532 - mov r0, #5 - bl FUN_0206EB88 - str r0, [r4, #0x58] - mov r1, #0x42 - ldr r0, [sp, #4] - lsl r1, r1, #2 - ldr r0, [r0, r1] - ldr r1, [r4, #0x58] - bl FUN_0206EBB4 - mov r0, #5 - bl FUN_02023D6C - str r0, [r4, #0x60] - mov r1, #0x11 - ldr r0, [sp, #4] - lsl r1, r1, #4 - ldr r0, [r0, r1] - ldr r1, [r4, #0x60] - bl FUN_02023D80 - mov r1, #0x45 - lsl r1, r1, #2 - ldr r0, [sp, #4] - add r2, r1, #0 - ldr r0, [r0, r1] - add r3, r1, #0 - str r0, [r4, #0x64] - ldr r0, [sp, #4] - add r2, #0x1c - ldr r2, [r0, r2] - add r0, r1, #0 - add r0, #0xa0 - str r2, [r4, r0] - add r2, r1, #0 - ldr r0, [sp, #4] - add r2, #0x38 - ldr r2, [r0, r2] - add r0, r1, #0 - add r0, #0xa4 - str r2, [r4, r0] - add r2, r1, #0 - ldr r0, [sp, #4] - sub r2, #8 - ldr r0, [r0, r2] - add r2, r1, #0 - str r0, [r4, #0x5c] - ldr r0, [sp, #4] - add r2, #0x14 - ldr r2, [r0, r2] - add r0, r4, #0 - add r0, #0x98 - str r2, [r0] - add r2, r1, #0 - ldr r0, [sp, #4] - add r2, #0x50 - ldr r2, [r0, r2] - ldr r0, _0222E8BC ; =0x00002420 - add r3, #0x20 - str r2, [r4, r0] - ldr r2, [sp, #4] - ldr r3, [r2, r3] - add r2, r4, #0 - add r2, #0x9c - str r3, [r2] - add r3, r1, #0 - ldr r2, [sp, #4] - add r3, #0x7c - ldr r3, [r2, r3] - add r2, r0, #0 - sub r2, #0x10 - str r3, [r4, r2] - add r3, r1, #0 - ldr r2, [sp, #4] - add r3, #0x40 - ldr r3, [r2, r3] - add r2, r0, #0 - sub r2, #0x24 - str r3, [r4, r2] - add r3, r1, #0 - ldr r2, [sp, #4] - add r3, #0x3c - ldr r3, [r2, r3] - add r2, r0, #0 - sub r2, #0x20 - str r3, [r4, r2] - add r3, r1, #0 - ldr r2, [sp, #4] - add r3, #0x44 - ldr r3, [r2, r3] - add r2, r0, #0 - sub r2, #0x1c - str r3, [r4, r2] - add r3, r1, #0 - ldr r2, [sp, #4] - add r3, #0x4c - ldr r3, [r2, r3] - add r2, r0, #0 - sub r2, #0x14 - str r3, [r4, r2] - add r3, r1, #0 - ldr r2, [sp, #4] - add r3, #0x78 - ldr r3, [r2, r3] - add r2, r0, #0 - sub r2, #0x18 - str r3, [r4, r2] - add r3, r1, #0 - ldr r2, [sp, #4] - add r3, #0x80 - ldr r3, [r2, r3] - add r2, r0, #0 - sub r2, #8 - str r3, [r4, r2] - add r3, r1, #0 - ldr r2, [sp, #4] - add r3, #0x54 - ldr r3, [r2, r3] - add r2, r0, #4 - str r3, [r4, r2] - add r3, r1, #0 - ldr r2, [sp, #4] - add r3, #0x58 - ldr r3, [r2, r3] - add r2, r0, #0 - add r2, #0xc - str r3, [r4, r2] - add r3, r1, #0 - ldr r2, [sp, #4] - add r3, #0x60 - ldr r2, [r2, r3] - add r0, #8 - str r2, [r4, r0] - ldr r0, [sp, #4] - add r1, #0x30 - ldr r0, [r0, r1] - mov r1, #0x86 - lsl r1, r1, #2 - str r0, [r4, r1] - ldr r0, [sp, #4] - sub r1, #0xd4 - ldr r0, [r0, r1] - cmp r0, #0 - bne _0222E67E - bl ErrorHandling -_0222E67E: - ldr r5, [sp, #4] - mov r0, #0 - str r0, [sp, #8] - str r4, [sp, #0x30] - add r6, r5, #0 - add r7, r4, #0 -_0222E68A: - ldr r0, [sp, #0x30] - ldr r1, [r5, #0x18] - add r0, #0xa0 - strh r1, [r0] - add r3, r6, #0 - add r2, r7, #0 - mov r0, #6 - add r3, #0x28 - add r2, #0xac - mov ip, r0 -_0222E69E: - ldmia r3!, {r0, r1} - stmia r2!, {r0, r1} - mov r0, ip - sub r0, r0, #1 - mov ip, r0 - bne _0222E69E - ldr r0, [r3] - add r5, r5, #4 - str r0, [r2] - ldr r0, [sp, #0x30] - add r6, #0x34 - add r0, r0, #2 - str r0, [sp, #0x30] - ldr r0, [sp, #8] - add r7, #0x34 - add r0, r0, #1 - str r0, [sp, #8] - cmp r0, #4 - blt _0222E68A - add r0, r4, #0 - bl MOD11_0223D1DC - str r0, [r4, #0x30] - mov r6, #0 - add r5, r4, #0 - mov r7, #5 -_0222E6D2: - add r0, r7, #0 - bl FUN_0206B8AC - str r0, [r5, #0x68] - add r6, r6, #1 - add r5, r5, #4 - cmp r6, #4 - blt _0222E6D2 - ldr r0, [r4, #0x2c] - mov r1, #4 - tst r1, r0 - bne _0222E6EC - b _0222EA8A -_0222E6EC: - add r0, r4, #0 - bl FUN_0206BF90 - bl FUN_02031190 - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - str r0, [sp, #0x34] - ldr r1, [sp, #4] - add r0, r4, #0 - bl MOD11_0222FEC0 - ldr r1, [r4, #0x2c] - mov r0, #0x80 - tst r0, r1 - beq _0222E7D0 - ldr r6, _0222E8C0 ; =MOD11_0225DC18 - mov r5, #0 - add r7, r4, #0 -_0222E712: - add r0, sp, #0x3c - strb r5, [r0] - ldrb r1, [r6] - strb r1, [r0, #1] - add r0, r4, #0 - add r1, sp, #0x3c - bl MOD11_0224CA64 - str r0, [r7, #0x34] - add r5, r5, #1 - add r6, r6, #1 - add r7, r7, #4 - cmp r5, #4 - blt _0222E712 - str r5, [r4, #0x44] - mov r6, #0 - add r5, r4, #0 -_0222E734: - ldr r1, [r5, #0x34] - add r0, r4, #0 - bl MOD11_0225377C - ldr r0, [sp, #4] - ldr r1, [r5, #0x68] - ldr r0, [r0, #4] - bl FUN_0206BAD0 - ldr r0, [sp, #4] - add r6, r6, #1 - add r0, r0, #4 - add r5, r5, #4 - str r0, [sp, #4] - cmp r6, #4 - blt _0222E734 - mov r0, #0 - str r0, [sp, #0xc] - ldr r0, [r4, #0x44] - cmp r0, #0 - ble _0222E7C6 - add r7, r4, #0 -_0222E760: - ldr r0, [r7, #0x68] - mov r5, #0 - bl GetPartyCount - cmp r0, #0 - ble _0222E7AA -_0222E76C: - ldr r0, [r7, #0x68] - add r1, r5, #0 - bl GetPartyMonByIndex - mov r1, #5 - mov r2, #0 - add r6, r0, #0 - bl GetMonData - cmp r0, #0 - beq _0222E79E - add r0, r6, #0 - mov r1, #0x4c - mov r2, #0 - bl GetMonData - cmp r0, #0 - bne _0222E79E - add r0, r6, #0 - mov r1, #0xa2 - mov r2, #0 - bl GetMonData - cmp r0, #0 - bne _0222E7AA -_0222E79E: - ldr r0, [r7, #0x68] - add r5, r5, #1 - bl GetPartyCount - cmp r5, r0 - blt _0222E76C -_0222E7AA: - str r5, [sp] - ldr r1, [r4, #0x30] - ldr r3, [sp, #0xc] - add r0, r4, #0 - mov r2, #2 - bl MOD11_0224C54C - ldr r0, [sp, #0xc] - ldr r1, [r4, #0x44] - add r0, r0, #1 - add r7, r7, #4 - str r0, [sp, #0xc] - cmp r0, r1 - blt _0222E760 -_0222E7C6: - ldr r1, [r4, #0x30] - add r0, r4, #0 - bl MOD11_0224B240 - b _0222EA80 -_0222E7D0: - mov r0, #8 - tst r0, r1 - beq _0222E8AC - mov r5, #0 - add r6, r4, #0 -_0222E7DA: - add r0, sp, #0x3c - strb r5, [r0] - ldr r0, [sp, #0x34] - bl FUN_020313CC - add r7, r0, #0 - add r0, r5, #0 - bl FUN_020313CC - ldr r1, _0222E8C4 ; =MOD11_0225D9C8 - lsl r2, r7, #2 - add r1, r1, r2 - ldrb r1, [r0, r1] - add r0, sp, #0x3c - strb r1, [r0, #1] - add r0, r4, #0 - add r1, sp, #0x3c - bl MOD11_0224CA64 - str r0, [r6, #0x34] - add r5, r5, #1 - add r6, r6, #4 - cmp r5, #4 - blt _0222E7DA - str r5, [r4, #0x44] - mov r6, #0 - add r5, r4, #0 -_0222E810: - ldr r1, [r5, #0x34] - add r0, r4, #0 - bl MOD11_0225377C - ldr r0, [sp, #4] - ldr r1, [r5, #0x68] - ldr r0, [r0, #4] - bl FUN_0206BAD0 - ldr r0, [sp, #4] - add r6, r6, #1 - add r0, r0, #4 - add r5, r5, #4 - str r0, [sp, #4] - cmp r6, #4 - blt _0222E810 - mov r0, #0 - str r0, [sp, #0x10] - ldr r0, [r4, #0x44] - cmp r0, #0 - ble _0222E8A2 - add r7, r4, #0 -_0222E83C: - ldr r0, [r7, #0x68] - mov r5, #0 - bl GetPartyCount - cmp r0, #0 - ble _0222E886 -_0222E848: - ldr r0, [r7, #0x68] - add r1, r5, #0 - bl GetPartyMonByIndex - mov r1, #5 - mov r2, #0 - add r6, r0, #0 - bl GetMonData - cmp r0, #0 - beq _0222E87A - add r0, r6, #0 - mov r1, #0x4c - mov r2, #0 - bl GetMonData - cmp r0, #0 - bne _0222E87A - add r0, r6, #0 - mov r1, #0xa2 - mov r2, #0 - bl GetMonData - cmp r0, #0 - bne _0222E886 -_0222E87A: - ldr r0, [r7, #0x68] - add r5, r5, #1 - bl GetPartyCount - cmp r5, r0 - blt _0222E848 -_0222E886: - str r5, [sp] - ldr r1, [r4, #0x30] - ldr r3, [sp, #0x10] - add r0, r4, #0 - mov r2, #2 - bl MOD11_0224C54C - ldr r0, [sp, #0x10] - ldr r1, [r4, #0x44] - add r0, r0, #1 - add r7, r7, #4 - str r0, [sp, #0x10] - cmp r0, r1 - blt _0222E83C -_0222E8A2: - ldr r1, [r4, #0x30] - add r0, r4, #0 - bl MOD11_0224B240 - b _0222EA80 -_0222E8AC: - mov r0, #2 - tst r0, r1 - bne _0222E8B4 - b _0222E9D4 -_0222E8B4: - ldr r0, [sp, #0x34] - ldr r1, _0222E8C8 ; =MOD11_0225D9A0 - b _0222E8CC - nop -_0222E8BC: .word 0x00002420 -_0222E8C0: .word MOD11_0225DC18 -_0222E8C4: .word MOD11_0225D9C8 -_0222E8C8: .word MOD11_0225D9A0 -_0222E8CC: - lsl r0, r0, #2 - mov r5, #0 - add r6, r1, r0 - add r7, r4, #0 -_0222E8D4: - add r0, sp, #0x3c - strb r5, [r0] - ldrb r1, [r6] - strb r1, [r0, #1] - add r0, r4, #0 - add r1, sp, #0x3c - bl MOD11_0224CA64 - add r1, r0, #0 - add r0, r4, #0 - str r1, [r7, #0x34] - bl MOD11_0225377C - add r5, r5, #1 - add r6, r6, #1 - add r7, r7, #4 - cmp r5, #4 - blt _0222E8D4 - str r5, [r4, #0x44] - mov r6, #0 - add r5, r4, #0 -_0222E8FE: - ldr r0, [sp, #4] - ldr r1, [r5, #0x68] - ldr r0, [r0, #4] - bl FUN_0206BAD0 - ldr r0, [sp, #4] - add r6, r6, #1 - add r0, r0, #4 - add r5, r5, #4 - str r0, [sp, #4] - cmp r6, #4 - blt _0222E8FE - mov r0, #0 - str r0, [sp, #0x14] - ldr r0, [r4, #0x44] - cmp r0, #0 - ble _0222E9D2 -_0222E920: - ldr r0, [sp, #0x14] - mov r1, #1 - and r0, r1 - str r0, [sp, #0x2c] - lsl r0, r0, #2 - add r7, r4, r0 - ldr r0, [r7, #0x68] - mov r6, #0 - bl GetPartyCount - cmp r0, #0 - ble _0222E9B8 -_0222E938: - ldr r0, [r7, #0x68] - add r1, r6, #0 - bl GetPartyMonByIndex - ldr r1, [sp, #0x14] - add r5, r0, #0 - cmp r1, #1 - ble _0222E984 - ldr r1, [r4, #0x30] - ldr r3, [sp, #0x2c] - add r0, r4, #0 - mov r2, #2 - bl MOD11_0224C474 - cmp r6, r0 - beq _0222E9AC - add r0, r5, #0 - mov r1, #5 - mov r2, #0 - bl GetMonData - cmp r0, #0 - beq _0222E9AC - add r0, r5, #0 - mov r1, #0x4c - mov r2, #0 - bl GetMonData - cmp r0, #0 - bne _0222E9AC - add r0, r5, #0 - mov r1, #0xa2 - mov r2, #0 - bl GetMonData - cmp r0, #0 - bne _0222E9B8 - b _0222E9AC -_0222E984: - mov r1, #5 - mov r2, #0 - bl GetMonData - cmp r0, #0 - beq _0222E9AC - add r0, r5, #0 - mov r1, #0x4c - mov r2, #0 - bl GetMonData - cmp r0, #0 - bne _0222E9AC - add r0, r5, #0 - mov r1, #0xa2 - mov r2, #0 - bl GetMonData - cmp r0, #0 - bne _0222E9B8 -_0222E9AC: - ldr r0, [r7, #0x68] - add r6, r6, #1 - bl GetPartyCount - cmp r6, r0 - blt _0222E938 -_0222E9B8: - str r6, [sp] - ldr r1, [r4, #0x30] - ldr r3, [sp, #0x14] - add r0, r4, #0 - mov r2, #2 - bl MOD11_0224C54C - ldr r0, [sp, #0x14] - ldr r1, [r4, #0x44] - add r0, r0, #1 - str r0, [sp, #0x14] - cmp r0, r1 - blt _0222E920 -_0222E9D2: - b _0222EA80 -_0222E9D4: - ldr r0, [sp, #0x34] - ldr r1, _0222EC6C ; =MOD11_0225D99C - lsl r0, r0, #1 - mov r5, #0 - add r6, r1, r0 - add r7, r4, #0 -_0222E9E0: - add r0, sp, #0x3c - strb r5, [r0] - ldrb r1, [r6] - strb r1, [r0, #1] - add r0, r4, #0 - add r1, sp, #0x3c - bl MOD11_0224CA64 - add r1, r0, #0 - add r0, r4, #0 - str r1, [r7, #0x34] - bl MOD11_0225377C - add r5, r5, #1 - add r6, r6, #1 - add r7, r7, #4 - cmp r5, #2 - blt _0222E9E0 - mov r0, #0 - str r5, [r4, #0x44] - str r0, [sp, #0x18] - add r7, r4, #0 -_0222EA0C: - ldr r0, [sp, #4] - ldr r1, [r7, #0x68] - ldr r0, [r0, #4] - bl FUN_0206BAD0 - ldr r0, [r7, #0x68] - mov r5, #0 - bl GetPartyCount - cmp r0, #0 - ble _0222EA60 -_0222EA22: - ldr r0, [r7, #0x68] - add r1, r5, #0 - bl GetPartyMonByIndex - mov r1, #5 - mov r2, #0 - add r6, r0, #0 - bl GetMonData - cmp r0, #0 - beq _0222EA54 - add r0, r6, #0 - mov r1, #0x4c - mov r2, #0 - bl GetMonData - cmp r0, #0 - bne _0222EA54 - add r0, r6, #0 - mov r1, #0xa2 - mov r2, #0 - bl GetMonData - cmp r0, #0 - bne _0222EA60 -_0222EA54: - ldr r0, [r7, #0x68] - add r5, r5, #1 - bl GetPartyCount - cmp r5, r0 - blt _0222EA22 -_0222EA60: - str r5, [sp] - ldr r1, [r4, #0x30] - ldr r3, [sp, #0x18] - add r0, r4, #0 - mov r2, #2 - bl MOD11_0224C54C - ldr r0, [sp, #4] - add r7, r7, #4 - add r0, r0, #4 - str r0, [sp, #4] - ldr r0, [sp, #0x18] - add r0, r0, #1 - str r0, [sp, #0x18] - cmp r0, #4 - blt _0222EA0C -_0222EA80: - ldr r1, [r4, #0x30] - add r0, r4, #0 - bl MOD11_0224B240 - b _0222EE3E -_0222EA8A: - mov r1, #0x10 - tst r1, r0 - beq _0222EB90 - ldr r6, _0222EC70 ; =MOD11_0225DC18 - mov r5, #0 - add r7, r4, #0 -_0222EA96: - add r0, sp, #0x3c - strb r5, [r0] - ldrb r1, [r6] - strb r1, [r0, #1] - add r0, r4, #0 - add r1, sp, #0x3c - bl MOD11_0224CA64 - add r1, r0, #0 - add r0, r4, #0 - str r1, [r7, #0x34] - bl MOD11_0225377C - add r5, r5, #1 - add r6, r6, #1 - add r7, r7, #4 - cmp r5, #4 - blt _0222EA96 - str r5, [r4, #0x44] - mov r6, #0 - add r5, r4, #0 -_0222EAC0: - ldr r0, [sp, #4] - ldr r1, [r5, #0x68] - ldr r0, [r0, #4] - bl FUN_0206BAD0 - ldr r0, [sp, #4] - add r6, r6, #1 - add r0, r0, #4 - add r5, r5, #4 - str r0, [sp, #4] - cmp r6, #4 - blt _0222EAC0 - ldr r0, [r4, #0x44] - mov r7, #0 - cmp r0, #0 - ble _0222EB80 -_0222EAE0: - add r0, r4, #0 - add r1, r7, #0 - mov r5, #0 - bl MOD11_0222FFC8 - cmp r0, #0 - ble _0222EB64 -_0222EAEE: - add r0, r4, #0 - add r1, r7, #0 - add r2, r5, #0 - bl MOD11_02230014 - add r6, r0, #0 - cmp r7, #2 - bne _0222EB2E - mov r1, #5 - mov r2, #0 - bl GetMonData - cmp r0, #0 - beq _0222EB56 - add r0, r6, #0 - mov r1, #0x4c - mov r2, #0 - bl GetMonData - cmp r0, #0 - bne _0222EB56 - add r0, r6, #0 - mov r1, #0xa2 - mov r2, #0 - bl GetMonData - cmp r0, #0 - beq _0222EB56 - ldr r0, [sp, #0x38] - cmp r0, r5 - bne _0222EB64 - b _0222EB56 -_0222EB2E: - mov r1, #5 - mov r2, #0 - bl GetMonData - cmp r0, #0 - beq _0222EB56 - add r0, r6, #0 - mov r1, #0x4c - mov r2, #0 - bl GetMonData - cmp r0, #0 - bne _0222EB56 - add r0, r6, #0 - mov r1, #0xa2 - mov r2, #0 - bl GetMonData - cmp r0, #0 - bne _0222EB64 -_0222EB56: - add r0, r4, #0 - add r1, r7, #0 - add r5, r5, #1 - bl MOD11_0222FFC8 - cmp r5, r0 - blt _0222EAEE -_0222EB64: - str r5, [sp] - ldr r1, [r4, #0x30] - add r0, r4, #0 - mov r2, #2 - add r3, r7, #0 - bl MOD11_0224C54C - cmp r7, #0 - bne _0222EB78 - str r5, [sp, #0x38] -_0222EB78: - ldr r0, [r4, #0x44] - add r7, r7, #1 - cmp r7, r0 - blt _0222EAE0 -_0222EB80: - ldr r1, [r4, #0x30] - add r0, r4, #0 - bl MOD11_0224B240 - ldr r0, _0222EC74 ; =0x000023F8 - mov r1, #1 - strb r1, [r4, r0] - b _0222EE3E -_0222EB90: - mov r1, #8 - tst r1, r0 - beq _0222EC60 - ldr r6, _0222EC70 ; =MOD11_0225DC18 - mov r5, #0 - add r7, r4, #0 -_0222EB9C: - add r0, sp, #0x3c - strb r5, [r0] - ldrb r1, [r6] - strb r1, [r0, #1] - add r0, r4, #0 - add r1, sp, #0x3c - bl MOD11_0224CA64 - add r1, r0, #0 - add r0, r4, #0 - str r1, [r7, #0x34] - bl MOD11_0225377C - add r5, r5, #1 - add r6, r6, #1 - add r7, r7, #4 - cmp r5, #4 - blt _0222EB9C - str r5, [r4, #0x44] - mov r6, #0 - add r5, r4, #0 -_0222EBC6: - ldr r0, [sp, #4] - ldr r1, [r5, #0x68] - ldr r0, [r0, #4] - bl FUN_0206BAD0 - ldr r0, [sp, #4] - add r6, r6, #1 - add r0, r0, #4 - add r5, r5, #4 - str r0, [sp, #4] - cmp r6, #4 - blt _0222EBC6 - mov r0, #0 - str r0, [sp, #0x1c] - ldr r0, [r4, #0x44] - cmp r0, #0 - ble _0222EC50 - add r7, r4, #0 -_0222EBEA: - ldr r0, [r7, #0x68] - mov r5, #0 - bl GetPartyCount - cmp r0, #0 - ble _0222EC34 -_0222EBF6: - ldr r0, [r7, #0x68] - add r1, r5, #0 - bl GetPartyMonByIndex - mov r1, #5 - mov r2, #0 - add r6, r0, #0 - bl GetMonData - cmp r0, #0 - beq _0222EC28 - add r0, r6, #0 - mov r1, #0x4c - mov r2, #0 - bl GetMonData - cmp r0, #0 - bne _0222EC28 - add r0, r6, #0 - mov r1, #0xa2 - mov r2, #0 - bl GetMonData - cmp r0, #0 - bne _0222EC34 -_0222EC28: - ldr r0, [r7, #0x68] - add r5, r5, #1 - bl GetPartyCount - cmp r5, r0 - blt _0222EBF6 -_0222EC34: - str r5, [sp] - ldr r1, [r4, #0x30] - ldr r3, [sp, #0x1c] - add r0, r4, #0 - mov r2, #2 - bl MOD11_0224C54C - ldr r0, [sp, #0x1c] - ldr r1, [r4, #0x44] - add r0, r0, #1 - add r7, r7, #4 - str r0, [sp, #0x1c] - cmp r0, r1 - blt _0222EBEA -_0222EC50: - ldr r1, [r4, #0x30] - add r0, r4, #0 - bl MOD11_0224B240 - ldr r0, _0222EC74 ; =0x000023F8 - mov r1, #1 - strb r1, [r4, r0] - b _0222EE3E -_0222EC60: - mov r1, #2 - tst r0, r1 - bne _0222EC68 - b _0222ED8A -_0222EC68: - ldr r6, _0222EC70 ; =MOD11_0225DC18 - b _0222EC78 - .align 2, 0 -_0222EC6C: .word MOD11_0225D99C -_0222EC70: .word MOD11_0225DC18 -_0222EC74: .word 0x000023F8 -_0222EC78: - mov r5, #0 - add r7, r4, #0 -_0222EC7C: - add r0, sp, #0x3c - strb r5, [r0] - ldrb r1, [r6] - strb r1, [r0, #1] - add r0, r4, #0 - add r1, sp, #0x3c - bl MOD11_0224CA64 - add r1, r0, #0 - add r0, r4, #0 - str r1, [r7, #0x34] - bl MOD11_0225377C - add r5, r5, #1 - add r6, r6, #1 - add r7, r7, #4 - cmp r5, #4 - blt _0222EC7C - str r5, [r4, #0x44] - mov r6, #0 - add r5, r4, #0 -_0222ECA6: - ldr r0, [sp, #4] - ldr r1, [r5, #0x68] - ldr r0, [r0, #4] - bl FUN_0206BAD0 - ldr r0, [sp, #4] - add r6, r6, #1 - add r0, r0, #4 - add r5, r5, #4 - str r0, [sp, #4] - cmp r6, #4 - blt _0222ECA6 - mov r0, #0 - str r0, [sp, #0x20] - ldr r0, [r4, #0x44] - cmp r0, #0 - ble _0222ED7A -_0222ECC8: - ldr r0, [sp, #0x20] - mov r1, #1 - and r0, r1 - str r0, [sp, #0x28] - lsl r0, r0, #2 - add r7, r4, r0 - ldr r0, [r7, #0x68] - mov r6, #0 - bl GetPartyCount - cmp r0, #0 - ble _0222ED60 -_0222ECE0: - ldr r0, [r7, #0x68] - add r1, r6, #0 - bl GetPartyMonByIndex - ldr r1, [sp, #0x20] - add r5, r0, #0 - cmp r1, #1 - ble _0222ED2C - ldr r1, [r4, #0x30] - ldr r3, [sp, #0x28] - add r0, r4, #0 - mov r2, #2 - bl MOD11_0224C474 - cmp r6, r0 - beq _0222ED54 - add r0, r5, #0 - mov r1, #5 - mov r2, #0 - bl GetMonData - cmp r0, #0 - beq _0222ED54 - add r0, r5, #0 - mov r1, #0x4c - mov r2, #0 - bl GetMonData - cmp r0, #0 - bne _0222ED54 - add r0, r5, #0 - mov r1, #0xa2 - mov r2, #0 - bl GetMonData - cmp r0, #0 - bne _0222ED60 - b _0222ED54 -_0222ED2C: - mov r1, #5 - mov r2, #0 - bl GetMonData - cmp r0, #0 - beq _0222ED54 - add r0, r5, #0 - mov r1, #0x4c - mov r2, #0 - bl GetMonData - cmp r0, #0 - bne _0222ED54 - add r0, r5, #0 - mov r1, #0xa2 - mov r2, #0 - bl GetMonData - cmp r0, #0 - bne _0222ED60 -_0222ED54: - ldr r0, [r7, #0x68] - add r6, r6, #1 - bl GetPartyCount - cmp r6, r0 - blt _0222ECE0 -_0222ED60: - str r6, [sp] - ldr r1, [r4, #0x30] - ldr r3, [sp, #0x20] - add r0, r4, #0 - mov r2, #2 - bl MOD11_0224C54C - ldr r0, [sp, #0x20] - ldr r1, [r4, #0x44] - add r0, r0, #1 - str r0, [sp, #0x20] - cmp r0, r1 - blt _0222ECC8 -_0222ED7A: - ldr r1, [r4, #0x30] - add r0, r4, #0 - bl MOD11_0224B240 - ldr r0, _0222EEE0 ; =0x000023F8 - mov r1, #1 - strb r1, [r4, r0] - b _0222EE3E -_0222ED8A: - ldr r6, _0222EEE4 ; =MOD11_0225D998 - mov r5, #0 - add r7, r4, #0 -_0222ED90: - add r0, sp, #0x3c - strb r5, [r0] - ldrb r1, [r6] - strb r1, [r0, #1] - add r0, r4, #0 - add r1, sp, #0x3c - bl MOD11_0224CA64 - add r1, r0, #0 - add r0, r4, #0 - str r1, [r7, #0x34] - bl MOD11_0225377C - add r5, r5, #1 - add r6, r6, #1 - add r7, r7, #4 - cmp r5, #2 - blt _0222ED90 - mov r0, #0 - str r5, [r4, #0x44] - str r0, [sp, #0x24] - add r7, r4, #0 -_0222EDBC: - ldr r0, [sp, #4] - ldr r1, [r7, #0x68] - ldr r0, [r0, #4] - bl FUN_0206BAD0 - ldr r0, [r7, #0x68] - mov r5, #0 - bl GetPartyCount - cmp r0, #0 - ble _0222EE10 -_0222EDD2: - ldr r0, [r7, #0x68] - add r1, r5, #0 - bl GetPartyMonByIndex - mov r1, #5 - mov r2, #0 - add r6, r0, #0 - bl GetMonData - cmp r0, #0 - beq _0222EE04 - add r0, r6, #0 - mov r1, #0x4c - mov r2, #0 - bl GetMonData - cmp r0, #0 - bne _0222EE04 - add r0, r6, #0 - mov r1, #0xa2 - mov r2, #0 - bl GetMonData - cmp r0, #0 - bne _0222EE10 -_0222EE04: - ldr r0, [r7, #0x68] - add r5, r5, #1 - bl GetPartyCount - cmp r5, r0 - blt _0222EDD2 -_0222EE10: - str r5, [sp] - ldr r1, [r4, #0x30] - ldr r3, [sp, #0x24] - add r0, r4, #0 - mov r2, #2 - bl MOD11_0224C54C - ldr r0, [sp, #4] - add r7, r7, #4 - add r0, r0, #4 - str r0, [sp, #4] - ldr r0, [sp, #0x24] - add r0, r0, #1 - str r0, [sp, #0x24] - cmp r0, #4 - blt _0222EDBC - ldr r1, [r4, #0x30] - add r0, r4, #0 - bl MOD11_0224B240 - ldr r0, _0222EEE0 ; =0x000023F8 - mov r1, #1 - strb r1, [r4, r0] -_0222EE3E: - mov r0, #2 - ldr r1, [r4, #0x2c] - lsl r0, r0, #8 - tst r0, r1 - beq _0222EE5A - ldr r0, [r4, #0x6c] - mov r1, #0 - bl GetPartyMonByIndex - add r2, r4, #0 - mov r1, #0x8f - add r2, #0xf4 - bl GetMonData -_0222EE5A: - ldr r1, [r4, #0x2c] - mov r0, #1 - tst r0, r1 - beq _0222EEDC - add r0, r4, #0 - add r0, #0xe1 - ldrb r0, [r0] - bl MOD11_0222EEF0 - cmp r0, #1 - beq _0222EE7C - ldr r0, _0222EEE8 ; =0x00000149 - ldrb r0, [r4, r0] - bl MOD11_0222EEF0 - cmp r0, #1 - bne _0222EEDC -_0222EE7C: - ldr r0, [r4, #0x68] - mov r5, #0 - bl GetPartyCount - cmp r0, #0 - ble _0222EEAC - ldr r6, _0222EEEC ; =0x00002404 - mov r7, #3 -_0222EE8C: - ldr r0, [r4, #0x68] - add r1, r5, #0 - bl GetPartyMonByIndex - ldr r2, [r4, r6] - add r1, r7, #0 - lsl r2, r2, #0x10 - lsr r2, r2, #0x10 - bl MonApplyFriendshipMod - ldr r0, [r4, #0x68] - add r5, r5, #1 - bl GetPartyCount - cmp r5, r0 - blt _0222EE8C -_0222EEAC: - ldr r0, [r4, #0x70] - mov r5, #0 - bl GetPartyCount - cmp r0, #0 - ble _0222EEDC - ldr r6, _0222EEEC ; =0x00002404 - mov r7, #3 -_0222EEBC: - ldr r0, [r4, #0x70] - add r1, r5, #0 - bl GetPartyMonByIndex - ldr r2, [r4, r6] - add r1, r7, #0 - lsl r2, r2, #0x10 - lsr r2, r2, #0x10 - bl MonApplyFriendshipMod - ldr r0, [r4, #0x70] - add r5, r5, #1 - bl GetPartyCount - cmp r5, r0 - blt _0222EEBC -_0222EEDC: - add sp, #0x40 - pop {r3, r4, r5, r6, r7, pc} - .align 2, 0 -_0222EEE0: .word 0x000023F8 -_0222EEE4: .word MOD11_0225D998 -_0222EEE8: .word 0x00000149 -_0222EEEC: .word 0x00002404 - - thumb_func_start MOD11_0222EEF0 -MOD11_0222EEF0: ; 0x0222EEF0 - sub r0, #0x3e - cmp r0, #0x11 - bhi _0222EF2A - add r0, r0, r0 - add r0, pc - ldrh r0, [r0, #6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 -_0222EF02: ; jump table - .short _0222EF26 - _0222EF02 - 2 ; case 0 - .short _0222EF2A - _0222EF02 - 2 ; case 1 - .short _0222EF26 - _0222EF02 - 2 ; case 2 - .short _0222EF26 - _0222EF02 - 2 ; case 3 - .short _0222EF26 - _0222EF02 - 2 ; case 4 - .short _0222EF26 - _0222EF02 - 2 ; case 5 - .short _0222EF26 - _0222EF02 - 2 ; case 6 - .short _0222EF26 - _0222EF02 - 2 ; case 7 - .short _0222EF2A - _0222EF02 - 2 ; case 8 - .short _0222EF2A - _0222EF02 - 2 ; case 9 - .short _0222EF2A - _0222EF02 - 2 ; case 10 - .short _0222EF2A - _0222EF02 - 2 ; case 11 - .short _0222EF26 - _0222EF02 - 2 ; case 12 - .short _0222EF26 - _0222EF02 - 2 ; case 13 - .short _0222EF26 - _0222EF02 - 2 ; case 14 - .short _0222EF26 - _0222EF02 - 2 ; case 15 - .short _0222EF26 - _0222EF02 - 2 ; case 16 - .short _0222EF26 - _0222EF02 - 2 ; case 17 -_0222EF26: - mov r0, #1 - bx lr -_0222EF2A: - mov r0, #0 - bx lr - .align 2, 0 - - thumb_func_start MOD11_0222EF30 -MOD11_0222EF30: ; 0x0222EF30 - push {r3, lr} - sub sp, #8 - mov r2, #2 - mov r1, #0 - ldr r0, _0222EF4C ; =MOD11_0222EF50 - str r2, [sp] - str r0, [sp, #4] - mov r0, #5 - add r3, r1, #0 - bl FUN_02022318 - add sp, #8 - pop {r3, pc} - nop -_0222EF4C: .word MOD11_0222EF50 - - thumb_func_start MOD11_0222EF50 -MOD11_0222EF50: ; 0x0222EF50 - push {r3, lr} - mov r0, #1 - add r1, r0, #0 - bl FUN_0201E6E4 - ldr r0, _0222EFBC ; =0x04000008 - mov r1, #3 - ldrh r2, [r0] - bic r2, r1 - mov r1, #1 - orr r1, r2 - strh r1, [r0] - add r0, #0x58 - ldrh r2, [r0] - ldr r1, _0222EFC0 ; =0xFFFFCFFD - and r2, r1 - strh r2, [r0] - add r2, r1, #2 - ldrh r3, [r0] - add r1, r1, #2 - and r3, r2 - mov r2, #0x10 - orr r2, r3 - strh r2, [r0] - ldrh r3, [r0] - ldr r2, _0222EFC4 ; =0x0000CFFB - and r3, r2 - strh r3, [r0] - ldrh r3, [r0] - sub r2, #0x1c - and r3, r1 - mov r1, #8 - orr r1, r3 - strh r1, [r0] - ldrh r1, [r0] - and r1, r2 - strh r1, [r0] - mov r0, #0 - add r1, r0, #0 - add r2, r0, #0 - add r3, r0, #0 - bl G3X_SetFog - mov r0, #0 - ldr r2, _0222EFC8 ; =0x00007FFF - add r1, r0, #0 - mov r3, #0x3f - str r0, [sp] - bl G3X_SetClearColor - ldr r1, _0222EFCC ; =0xBFFF0000 - ldr r0, _0222EFD0 ; =0x04000580 - str r1, [r0] - pop {r3, pc} - .align 2, 0 -_0222EFBC: .word 0x04000008 -_0222EFC0: .word 0xFFFFCFFD -_0222EFC4: .word 0x0000CFFB -_0222EFC8: .word 0x00007FFF -_0222EFCC: .word 0xBFFF0000 -_0222EFD0: .word 0x04000580 - - thumb_func_start MOD11_0222EFD4 -MOD11_0222EFD4: ; 0x0222EFD4 - ldr r3, _0222EFD8 ; =FUN_020223BC - bx r3 - .align 2, 0 -_0222EFD8: .word FUN_020223BC - - thumb_func_start MOD11_0222EFDC -MOD11_0222EFDC: ; 0x0222EFDC - push {r3, r4, r5, lr} - ldr r3, _0222F014 ; =UNK_021064B8 - mov r0, #2 - mov r1, #0 - ldr r3, [r3] - lsl r0, r0, #0xe - add r2, r1, #0 - blx r3 - ldr r3, _0222F018 ; =UNK_021064C0 - mov r1, #0 - add r4, r0, #0 - ldr r3, [r3] - mov r0, #0xc0 - add r2, r1, #0 - blx r3 - add r5, r0, #0 - cmp r4, #0 - bne _0222F004 - bl ErrorHandling -_0222F004: - cmp r5, #0 - bne _0222F00C - bl ErrorHandling -_0222F00C: - bl FUN_02012CC8 - pop {r3, r4, r5, pc} - nop -_0222F014: .word UNK_021064B8 -_0222F018: .word UNK_021064C0 - - thumb_func_start MOD11_0222F01C -MOD11_0222F01C: ; 0x0222F01C - push {r3, r4, r5, lr} - sub sp, #0x50 - add r4, r0, #0 - bl LCRandom - ldr r1, _0222F0B8 ; =0x000023FB - ldrb r2, [r4, r1] - lsl r0, r2, #0x1f - lsr r0, r0, #0x1f - beq _0222F040 - mov r0, #1 - bic r2, r0 - strb r2, [r4, r1] - ldr r0, _0222F0BC ; =0x04000050 - mov r1, #0 - strh r1, [r0] - ldr r0, _0222F0C0 ; =0x04001050 - strh r1, [r0] -_0222F040: - ldr r1, _0222F0B8 ; =0x000023FB - ldrb r2, [r4, r1] - lsl r0, r2, #0x1e - lsr r0, r0, #0x1f - beq _0222F064 - mov r0, #2 - bic r2, r0 - strb r2, [r4, r1] - ldr r5, _0222F0C4 ; =MOD11_0225DA90 - add r3, sp, #0x28 - mov r2, #5 -_0222F056: - ldmia r5!, {r0, r1} - stmia r3!, {r0, r1} - sub r2, r2, #1 - bne _0222F056 - add r0, sp, #0x28 - bl FUN_0201E66C -_0222F064: - ldr r1, _0222F0B8 ; =0x000023FB - ldrb r2, [r4, r1] - lsl r0, r2, #0x1d - lsr r0, r0, #0x1f - beq _0222F088 - mov r0, #4 - bic r2, r0 - strb r2, [r4, r1] - ldr r5, _0222F0C8 ; =MOD11_0225DAB8 - add r3, sp, #0 - mov r2, #5 -_0222F07A: - ldmia r5!, {r0, r1} - stmia r3!, {r0, r1} - sub r2, r2, #1 - bne _0222F07A - add r0, sp, #0 - bl FUN_0201E66C -_0222F088: - add r0, r4, #0 - add r0, #0x88 - ldr r0, [r0] - bl FUN_020081C4 - bl FUN_0201C30C - bl FUN_0200BC30 - ldr r0, [r4, #0x28] - bl FUN_0200372C - ldr r0, [r4, #4] - bl FUN_0201AB60 - ldr r3, _0222F0CC ; =0x027E0000 - ldr r1, _0222F0D0 ; =0x00003FF8 - mov r0, #1 - ldr r2, [r3, r1] - orr r0, r2 - str r0, [r3, r1] - add sp, #0x50 - pop {r3, r4, r5, pc} - nop -_0222F0B8: .word 0x000023FB -_0222F0BC: .word 0x04000050 -_0222F0C0: .word 0x04001050 -_0222F0C4: .word MOD11_0225DA90 -_0222F0C8: .word MOD11_0225DAB8 -_0222F0CC: .word 0x027E0000 -_0222F0D0: .word 0x00003FF8 - - thumb_func_start MOD11_0222F0D4 -MOD11_0222F0D4: ; 0x0222F0D4 - push {r4, lr} - add r4, r0, #0 - ldr r0, [r4, #0xc] - bl FUN_0200372C - bl FUN_0201C30C - ldr r0, [r4, #4] - bl FUN_0201AB60 - ldr r3, _0222F0F8 ; =0x027E0000 - ldr r1, _0222F0FC ; =0x00003FF8 - mov r0, #1 - ldr r2, [r3, r1] - orr r0, r2 - str r0, [r3, r1] - pop {r4, pc} - nop -_0222F0F8: .word 0x027E0000 -_0222F0FC: .word 0x00003FF8 - - thumb_func_start MOD11_0222F100 -MOD11_0222F100: ; 0x0222F100 - push {r4, lr} - add r4, r1, #0 - ldr r1, [r4, #4] - mov r0, #5 - bl FUN_020335F0 - ldr r0, _0222F140 ; =0x000023F9 - ldrb r0, [r4, r0] - cmp r0, #0 - beq _0222F118 - cmp r0, #3 - bne _0222F13E -_0222F118: - cmp r0, #0 - bne _0222F120 - bl MOD08_02215A44 -_0222F120: - add r0, r4, #0 - add r0, #0x88 - ldr r0, [r0] - bl FUN_02006ED4 - add r4, #0x94 - ldr r0, [r4] - bl FUN_0200BC1C - bl FUN_0200BC38 - mov r0, #1 - mov r1, #0 - bl FUN_020222B4 -_0222F13E: - pop {r4, pc} - .align 2, 0 -_0222F140: .word 0x000023F9 - - thumb_func_start MOD11_0222F144 -MOD11_0222F144: ; 0x0222F144 - push {r3, r4, r5, r6, r7, lr} - add r6, r1, #0 - add r0, r6, #0 - bl MOD11_0222FF84 - str r0, [sp] - add r0, r6, #0 - mov r5, #0 - bl MOD11_02231474 - add r4, r0, #0 - add r0, r6, #0 - bl MOD11_0222FF74 - mov r1, #0x22 - lsl r1, r1, #4 - tst r0, r1 - bne _0222F24E - mov r0, #2 - tst r0, r4 - beq _0222F186 - mov r0, #1 - tst r0, r4 - beq _0222F24E - ldr r0, _0222F250 ; =0x00000704 - add r1, r5, #0 - bl FUN_020054F0 - add r0, r6, #0 - mov r1, #2 - bl MOD11_02231484 - pop {r3, r4, r5, r6, r7, pc} -_0222F186: - ldr r0, [sp] - add r4, r5, #0 - cmp r0, #0 - ble _0222F1D0 -_0222F18E: - add r0, r6, #0 - add r1, r4, #0 - bl MOD11_0222FF7C - add r7, r0, #0 - bl MOD11_02253A58 - cmp r0, #0 - bne _0222F1C8 - add r0, r7, #0 - bl MOD11_02253A70 - add r1, r0, #0 - beq _0222F1C8 - ldr r0, [r1, #0x28] - ldr r1, [r1, #0x2c] - lsl r0, r0, #0x10 - lsl r1, r1, #0x10 - lsr r0, r0, #0x10 - lsr r1, r1, #0x10 - mov r2, #0x30 - bl FUN_02079A54 - cmp r0, #1 - bne _0222F1C8 - add r0, r4, #0 - bl MaskOfFlagNo - orr r5, r0 -_0222F1C8: - ldr r0, [sp] - add r4, r4, #1 - cmp r4, r0 - blt _0222F18E -_0222F1D0: - cmp r5, #0 - beq _0222F1F6 - add r0, r6, #0 - bl MOD11_02231474 - cmp r0, #0 - bne _0222F1F6 - ldr r0, _0222F250 ; =0x00000704 - bl FUN_020054C8 - add r0, r6, #0 - mov r1, #1 - bl MOD11_02231484 - add r0, r6, #0 - mov r1, #4 - bl MOD11_022314B0 - b _0222F214 -_0222F1F6: - cmp r5, #0 - bne _0222F214 - add r0, r6, #0 - bl MOD11_02231474 - cmp r0, #0 - beq _0222F214 - ldr r0, _0222F250 ; =0x00000704 - mov r1, #0 - bl FUN_020054F0 - add r0, r6, #0 - mov r1, #0 - bl MOD11_02231484 -_0222F214: - add r0, r6, #0 - bl MOD11_02231474 - cmp r0, #0 - beq _0222F24E - add r0, r6, #0 - bl MOD11_022314A0 - add r4, r0, #0 - ldr r0, _0222F250 ; =0x00000704 - bl FUN_02005508 - cmp r0, #0 - bne _0222F24E - sub r1, r4, #1 - bne _0222F244 - ldr r0, _0222F250 ; =0x00000704 - bl FUN_020054C8 - add r0, r6, #0 - mov r1, #4 - bl MOD11_022314B0 - pop {r3, r4, r5, r6, r7, pc} -_0222F244: - lsl r1, r1, #0x18 - add r0, r6, #0 - lsr r1, r1, #0x18 - bl MOD11_022314B0 -_0222F24E: - pop {r3, r4, r5, r6, r7, pc} - .align 2, 0 -_0222F250: .word 0x00000704 - - thumb_func_start MOD11_0222F254 -MOD11_0222F254: ; 0x0222F254 - push {r3, r4, r5, lr} - ldr r3, _0222F280 ; =0x00002434 - add r4, r1, #0 - add r5, r0, #0 - ldr r0, [r4, r3] - mov r1, #1 - add r0, r0, #3 - str r0, [r4, r3] - ldr r0, [r4, #4] - ldr r3, [r4, r3] - mov r2, #3 - bl FUN_020179E0 - ldr r0, _0222F280 ; =0x00002434 - ldr r0, [r4, r0] - cmp r0, #0 - bne _0222F27C - add r0, r5, #0 - bl FUN_0200CAB4 -_0222F27C: - pop {r3, r4, r5, pc} - nop -_0222F280: .word 0x00002434 - - thumb_func_start MOD11_0222F284 -MOD11_0222F284: ; 0x0222F284 __sinit - push {r3, lr} - bl FUN_02033590 - cmp r0, #0 - bne _0222F296 - ldr r0, _0222F298 ; =SDK_OVERLAY_MODULE_16_ID - mov r1, #2 - bl HandleLoadOverlay -_0222F296: - pop {r3, pc} - .align 2, 0 -_0222F298: .word SDK_OVERLAY_MODULE_16_ID - thumb_func_start MOD11_0222F29C MOD11_0222F29C: ; 0x0222F29C push {r4, r5, r6, lr} @@ -98634,110 +95245,6 @@ MOD11_0225D98C: ; 0x0225D98C .section .rodata - .global MOD11_0225D998 -MOD11_0225D998: ; 0x0225D998 - .byte 0x00, 0x01, 0x00, 0x00 - - .global MOD11_0225D99C -MOD11_0225D99C: ; 0x0225D99C - .byte 0x00, 0x01, 0x01, 0x00 - - .global MOD11_0225D9A0 -MOD11_0225D9A0: ; 0x0225D9A0 - .byte 0x02, 0x03, 0x04, 0x05, 0x03, 0x02, 0x05, 0x04 - - .global MOD11_0225D9A8 -MOD11_0225D9A8: ; 0x0225D9A8 - .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 - - .global MOD11_0225D9B8 -MOD11_0225D9B8: ; 0x0225D9B8 - .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 - - .global MOD11_0225D9C8 -MOD11_0225D9C8: ; 0x0225D9C8 - .byte 0x02, 0x05, 0x04, 0x03, 0x03, 0x04, 0x05, 0x02, 0x02, 0x05, 0x04, 0x03, 0x03, 0x04, 0x05, 0x02 - - .global MOD11_0225D9D8 -MOD11_0225D9D8: ; 0x0225D9D8 - .byte 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x40, 0x00, 0x00, 0x10, 0x00, 0x10, 0x00 - .byte 0x10, 0x00, 0x00, 0x00 - - .global MOD11_0225D9EC -MOD11_0225D9EC: ; 0x0225D9EC - .byte 0x60, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00 - .byte 0x40, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00 - - .global MOD11_0225DA04 -MOD11_0225DA04: ; 0x0225DA04 - .byte 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - - .global MOD11_0225DA20 -MOD11_0225DA20: ; 0x0225DA20 - .byte 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00 - - .global MOD11_0225DA40 -MOD11_0225DA40: ; 0x0225DA40 - .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00 - - .global MOD11_0225DA68 -MOD11_0225DA68: ; 0x0225DA68 - .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 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 0x06, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00 - - .global MOD11_0225DA90 -MOD11_0225DA90: ; 0x0225DA90 - .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00 - - .global MOD11_0225DAB8 -MOD11_0225DAB8: ; 0x0225DAB8 - .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 MOD11_0225DAE0 -MOD11_0225DAE0: ; 0x0225DAE0 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x02, 0x03, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x03, 0x01, 0x06, 0x04, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - - .global MOD11_0225DB34 -MOD11_0225DB34: ; 0x0225DB34 - .byte 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x02, 0x03, 0x00, 0x01, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x03, 0x01, 0x06, 0x04, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - - .global MOD11_0225DB88 -MOD11_0225DB88: ; 0x0225DB88 - .byte 0x51, 0x7B, 0x00, 0x00, 0x3E, 0x02, 0x00, 0x00, 0x00, 0x5E, 0x00, 0x00, 0x51, 0x7B, 0x00, 0x00 - .byte 0x3E, 0x02, 0x00, 0x00, 0x00, 0x5E, 0x00, 0x00, 0x51, 0x7B, 0x00, 0x00, 0x3E, 0x02, 0x00, 0x00 - .byte 0x00, 0x5E, 0x00, 0x00, 0xAB, 0x16, 0x00, 0x00, 0xAB, 0x16, 0x00, 0x00, 0xAB, 0x16, 0x00, 0x00 - .byte 0x51, 0x7B, 0x00, 0x00, 0x3E, 0x02, 0x00, 0x00, 0x00, 0x5E, 0x00, 0x00, 0x5F, 0x7F, 0x00, 0x00 - .byte 0x5F, 0x5B, 0x00, 0x00, 0xD8, 0x5A, 0x00, 0x00, 0xFF, 0x7F, 0x00, 0x00, 0xFF, 0x7F, 0x00, 0x00 - .byte 0xFF, 0x7F, 0x00, 0x00, 0xFF, 0x7F, 0x00, 0x00, 0xFF, 0x7F, 0x00, 0x00, 0xFF, 0x7F, 0x00, 0x00 - .byte 0xFF, 0x7F, 0x00, 0x00, 0xFF, 0x7F, 0x00, 0x00, 0xFF, 0x7F, 0x00, 0x00, 0xA5, 0x1C, 0x00, 0x00 - .byte 0xA5, 0x1C, 0x00, 0x00, 0xA5, 0x1C, 0x00, 0x00, 0xA5, 0x1C, 0x00, 0x00, 0xA5, 0x1C, 0x00, 0x00 - .byte 0xA5, 0x1C, 0x00, 0x00, 0xA5, 0x1C, 0x00, 0x00, 0xA5, 0x1C, 0x00, 0x00, 0xA5, 0x1C, 0x00, 0x00 - - .global MOD11_0225DC18 -MOD11_0225DC18: ; 0x0225DC18 - .byte 0x02, 0x03, 0x04, 0x05 - .global MOD11_0225DC1C MOD11_0225DC1C: ; 0x0225DC1C .byte 0x02, 0x04, 0x06, 0x09, 0x0C, 0x10, 0x14, 0x19, 0x1E, 0x00, 0x00, 0x00 diff --git a/arm9/modules/11/src/module_11_sinit.c b/arm9/modules/11/src/module_11_sinit.c index b798941e..977c4fde 100644 --- a/arm9/modules/11/src/module_11_sinit.c +++ b/arm9/modules/11/src/module_11_sinit.c @@ -1,4 +1,17 @@ -#define NitroStaticInit MOD11_0222F284 #include "global.h" -extern void MOD11_0222F284(void); +#include "poke_overlay.h" +#include "FS_overlay.h" + +extern u32 FUN_02033590(void); +FS_EXTERN_OVERLAY(MODULE_16); + +THUMB_FUNC static void MOD11_0222F284(void) +{ + if (!FUN_02033590()) + { + HandleLoadOverlay(FS_OVERLAY_ID(MODULE_16), 2); + } +} + +#define NitroStaticInit MOD11_0222F284 #include "sinit.h" diff --git a/arm9/modules/21/asm/module_21.s b/arm9/modules/21/asm/module_21.s index 7ec2a1e6..787a729f 100644 --- a/arm9/modules/21/asm/module_21.s +++ b/arm9/modules/21/asm/module_21.s @@ -3,18 +3,6 @@ .section .text .balign 4, 0 - thumb_func_start MOD21_02254840 -MOD21_02254840: ; 0x02254840 - ldr r3, _02254848 ; =Poketch_InitApp - ldr r0, _0225484C ; =MOD21_02254854 - ldr r1, _02254850 ; =MOD21_0225496C - bx r3 - .align 2, 0 -_02254848: .word Poketch_InitApp -_0225484C: .word MOD21_02254854 -_02254850: .word MOD21_0225496C - thumb_func_end MOD21_02254840 - thumb_func_start MOD21_02254854 MOD21_02254854: ; 0x02254854 push {r3, r4, r5, r6, r7, lr} diff --git a/arm9/modules/21/src/module_21_sinit.c b/arm9/modules/21/src/module_21_sinit.c index e19c840f..2af569ec 100644 --- a/arm9/modules/21/src/module_21_sinit.c +++ b/arm9/modules/21/src/module_21_sinit.c @@ -1,4 +1,13 @@ -#define NitroStaticInit MOD21_02254840 #include "global.h" -extern void MOD21_02254840(void); + +extern void Poketch_InitApp(void *func1, void *func2); +extern void MOD21_02254854(); +extern void MOD21_0225496C(); + +THUMB_FUNC static void MOD21_02254840(void) +{ + Poketch_InitApp(MOD21_02254854, MOD21_0225496C); +} + +#define NitroStaticInit MOD21_02254840 #include "sinit.h" diff --git a/arm9/modules/23/asm/module_23.s b/arm9/modules/23/asm/module_23.s index 370847aa..56b78aaf 100644 --- a/arm9/modules/23/asm/module_23.s +++ b/arm9/modules/23/asm/module_23.s @@ -3,18 +3,6 @@ .section .text .balign 4, 0 - thumb_func_start MOD23_02254840 -MOD23_02254840: ; 0x02254840 - ldr r3, _02254848 ; =Poketch_InitApp - ldr r0, _0225484C ; =MOD23_02254854 - ldr r1, _02254850 ; =MOD23_022549A4 - bx r3 - .align 2, 0 -_02254848: .word Poketch_InitApp -_0225484C: .word MOD23_02254854 -_02254850: .word MOD23_022549A4 - thumb_func_end MOD23_02254840 - thumb_func_start MOD23_02254854 MOD23_02254854: ; 0x02254854 push {r3, r4, r5, r6, r7, lr} diff --git a/arm9/modules/23/src/module_23_sinit.c b/arm9/modules/23/src/module_23_sinit.c index 522e8ac4..97abb012 100644 --- a/arm9/modules/23/src/module_23_sinit.c +++ b/arm9/modules/23/src/module_23_sinit.c @@ -1,4 +1,13 @@ -#define NitroStaticInit MOD23_02254840 #include "global.h" -extern void MOD23_02254840(void); + +extern void Poketch_InitApp(void *func1, void *func2); +extern void MOD23_02254854(); +extern void MOD23_022549A4(); + +THUMB_FUNC static void MOD23_02254840(void) +{ + Poketch_InitApp(MOD23_02254854, MOD23_022549A4); +} + +#define NitroStaticInit MOD23_02254840 #include "sinit.h" diff --git a/arm9/modules/27/asm/module_27.s b/arm9/modules/27/asm/module_27.s index d11eeb44..3ac786b0 100644 --- a/arm9/modules/27/asm/module_27.s +++ b/arm9/modules/27/asm/module_27.s @@ -3,18 +3,6 @@ .section .text .balign 4, 0 - thumb_func_start MOD27_02254840 -MOD27_02254840: ; 0x02254840 - ldr r3, _02254848 ; =Poketch_InitApp - ldr r0, _0225484C ; =MOD27_02254854 - ldr r1, _02254850 ; =MOD27_0225492C - bx r3 - .align 2, 0 -_02254848: .word Poketch_InitApp -_0225484C: .word MOD27_02254854 -_02254850: .word MOD27_0225492C - thumb_func_end MOD27_02254840 - thumb_func_start MOD27_02254854 MOD27_02254854: ; 0x02254854 push {r3, r4, r5, r6, r7, lr} diff --git a/arm9/modules/27/src/module_27_sinit.c b/arm9/modules/27/src/module_27_sinit.c index 6b069297..cb942ec9 100644 --- a/arm9/modules/27/src/module_27_sinit.c +++ b/arm9/modules/27/src/module_27_sinit.c @@ -1,4 +1,13 @@ -#define NitroStaticInit MOD27_02254840 #include "global.h" -extern void MOD27_02254840(void); + +extern void Poketch_InitApp(void *func1, void *func2); +extern void MOD27_02254854(); +extern void MOD27_0225492C(); + +THUMB_FUNC static void MOD27_02254840(void) +{ + Poketch_InitApp(MOD27_02254854, MOD27_0225492C); +} + +#define NitroStaticInit MOD27_02254840 #include "sinit.h" diff --git a/arm9/modules/28/asm/module_28.s b/arm9/modules/28/asm/module_28.s index dba3ebba..16acbd62 100644 --- a/arm9/modules/28/asm/module_28.s +++ b/arm9/modules/28/asm/module_28.s @@ -3,18 +3,6 @@ .section .text .balign 4, 0 - thumb_func_start MOD28_02254840 -MOD28_02254840: ; 0x02254840 - ldr r3, _02254848 ; =Poketch_InitApp - ldr r0, _0225484C ; =MOD28_02254854 - ldr r1, _02254850 ; =MOD28_022549F4 - bx r3 - .align 2, 0 -_02254848: .word Poketch_InitApp -_0225484C: .word MOD28_02254854 -_02254850: .word MOD28_022549F4 - thumb_func_end MOD28_02254840 - thumb_func_start MOD28_02254854 MOD28_02254854: ; 0x02254854 push {r3, r4, r5, r6, r7, lr} diff --git a/arm9/modules/28/src/module_28_sinit.c b/arm9/modules/28/src/module_28_sinit.c index 3d2d7cf6..605cc4ec 100644 --- a/arm9/modules/28/src/module_28_sinit.c +++ b/arm9/modules/28/src/module_28_sinit.c @@ -1,4 +1,13 @@ -#define NitroStaticInit MOD28_02254840 #include "global.h" -extern void MOD28_02254840(void); + +extern void Poketch_InitApp(void *func1, void *func2); +extern void MOD28_02254854(); +extern void MOD28_022549F4(); + +THUMB_FUNC static void MOD28_02254840(void) +{ + Poketch_InitApp(MOD28_02254854, MOD28_022549F4); +} + +#define NitroStaticInit MOD28_02254840 #include "sinit.h" diff --git a/arm9/modules/29/asm/module_29.s b/arm9/modules/29/asm/module_29.s index 6473d5da..723e8449 100644 --- a/arm9/modules/29/asm/module_29.s +++ b/arm9/modules/29/asm/module_29.s @@ -3,18 +3,6 @@ .section .text .balign 4, 0 - thumb_func_start MOD29_02254840 -MOD29_02254840: ; 0x02254840 - ldr r3, _02254848 ; =Poketch_InitApp - ldr r0, _0225484C ; =MOD29_02254854 - ldr r1, _02254850 ; =MOD29_02254914 - bx r3 - .align 2, 0 -_02254848: .word Poketch_InitApp -_0225484C: .word MOD29_02254854 -_02254850: .word MOD29_02254914 - thumb_func_end MOD29_02254840 - thumb_func_start MOD29_02254854 MOD29_02254854: ; 0x02254854 push {r3, r4, r5, r6, r7, lr} diff --git a/arm9/modules/29/src/module_29_sinit.c b/arm9/modules/29/src/module_29_sinit.c index 77fee47c..34914f4b 100644 --- a/arm9/modules/29/src/module_29_sinit.c +++ b/arm9/modules/29/src/module_29_sinit.c @@ -1,4 +1,13 @@ -#define NitroStaticInit MOD29_02254840 #include "global.h" -extern void MOD29_02254840(void); + +extern void Poketch_InitApp(void *func1, void *func2); +extern void MOD29_02254854(); +extern void MOD29_02254914(); + +THUMB_FUNC static void MOD29_02254840(void) +{ + Poketch_InitApp(MOD29_02254854, MOD29_02254914); +} + +#define NitroStaticInit MOD29_02254840 #include "sinit.h" diff --git a/arm9/modules/30/asm/module_30.s b/arm9/modules/30/asm/module_30.s index 3be3474f..aa55cd5b 100644 --- a/arm9/modules/30/asm/module_30.s +++ b/arm9/modules/30/asm/module_30.s @@ -3,18 +3,6 @@ .section .text .balign 4, 0 - thumb_func_start MOD30_02254840 -MOD30_02254840: ; 0x02254840 - ldr r3, _02254848 ; =Poketch_InitApp - ldr r0, _0225484C ; =MOD30_02254854 - ldr r1, _02254850 ; =MOD30_0225496C - bx r3 - .align 2, 0 -_02254848: .word Poketch_InitApp -_0225484C: .word MOD30_02254854 -_02254850: .word MOD30_0225496C - thumb_func_end MOD30_02254840 - thumb_func_start MOD30_02254854 MOD30_02254854: ; 0x02254854 push {r3, r4, r5, r6, r7, lr} diff --git a/arm9/modules/30/src/module_30_sinit.c b/arm9/modules/30/src/module_30_sinit.c index 058b270d..cdf50ca2 100644 --- a/arm9/modules/30/src/module_30_sinit.c +++ b/arm9/modules/30/src/module_30_sinit.c @@ -1,4 +1,13 @@ -#define NitroStaticInit MOD30_02254840 #include "global.h" -extern void MOD30_02254840(void); + +extern void Poketch_InitApp(void *func1, void *func2); +extern void MOD30_02254854(); +extern void MOD30_0225496C(); + +THUMB_FUNC static void MOD30_02254840(void) +{ + Poketch_InitApp(MOD30_02254854, MOD30_0225496C); +} + +#define NitroStaticInit MOD30_02254840 #include "sinit.h" diff --git a/arm9/modules/32/asm/module_32.s b/arm9/modules/32/asm/module_32.s index 6b884f10..5b40a737 100644 --- a/arm9/modules/32/asm/module_32.s +++ b/arm9/modules/32/asm/module_32.s @@ -3,18 +3,6 @@ .section .text .balign 4, 0 - thumb_func_start MOD32_02254840 -MOD32_02254840: ; 0x02254840 - ldr r3, _02254848 ; =Poketch_InitApp - ldr r0, _0225484C ; =MOD32_02254854 - ldr r1, _02254850 ; =MOD32_0225495C - bx r3 - .align 2, 0 -_02254848: .word Poketch_InitApp -_0225484C: .word MOD32_02254854 -_02254850: .word MOD32_0225495C - thumb_func_end MOD32_02254840 - thumb_func_start MOD32_02254854 MOD32_02254854: ; 0x02254854 push {r3, r4, r5, r6, r7, lr} diff --git a/arm9/modules/32/src/module_32_sinit.c b/arm9/modules/32/src/module_32_sinit.c index cf500b6e..f62d14b6 100644 --- a/arm9/modules/32/src/module_32_sinit.c +++ b/arm9/modules/32/src/module_32_sinit.c @@ -1,4 +1,13 @@ -#define NitroStaticInit MOD32_02254840 #include "global.h" -extern void MOD32_02254840(void); + +extern void Poketch_InitApp(void *func1, void *func2); +extern void MOD32_02254854(); +extern void MOD32_0225495C(); + +THUMB_FUNC static void MOD32_02254840(void) +{ + Poketch_InitApp(MOD32_02254854, MOD32_0225495C); +} + +#define NitroStaticInit MOD32_02254840 #include "sinit.h" diff --git a/arm9/modules/34/asm/module_34.s b/arm9/modules/34/asm/module_34.s index 4a439bd8..84100418 100644 --- a/arm9/modules/34/asm/module_34.s +++ b/arm9/modules/34/asm/module_34.s @@ -3,18 +3,6 @@ .section .text .balign 4, 0 - thumb_func_start MOD34_02254840 -MOD34_02254840: ; 0x02254840 - ldr r3, _02254848 ; =Poketch_InitApp - ldr r0, _0225484C ; =MOD34_02254854 - ldr r1, _02254850 ; =MOD34_02254948 - bx r3 - .align 2, 0 -_02254848: .word Poketch_InitApp -_0225484C: .word MOD34_02254854 -_02254850: .word MOD34_02254948 - thumb_func_end MOD34_02254840 - thumb_func_start MOD34_02254854 MOD34_02254854: ; 0x02254854 push {r3, r4, r5, r6, r7, lr} diff --git a/arm9/modules/34/src/module_34_sinit.c b/arm9/modules/34/src/module_34_sinit.c index 80d96e0a..96789176 100644 --- a/arm9/modules/34/src/module_34_sinit.c +++ b/arm9/modules/34/src/module_34_sinit.c @@ -1,4 +1,13 @@ -#define NitroStaticInit MOD34_02254840 #include "global.h" -extern void MOD34_02254840(void); + +extern void Poketch_InitApp(void *func1, void *func2); +extern void MOD34_02254854(); +extern void MOD34_02254948(); + +THUMB_FUNC static void MOD34_02254840(void) +{ + Poketch_InitApp(MOD34_02254854, MOD34_02254948); +} + +#define NitroStaticInit MOD34_02254840 #include "sinit.h" diff --git a/arm9/modules/36/asm/module_36.s b/arm9/modules/36/asm/module_36.s index 528f376a..fcd3cbc9 100644 --- a/arm9/modules/36/asm/module_36.s +++ b/arm9/modules/36/asm/module_36.s @@ -3,18 +3,6 @@ .section .text .balign 4, 0 - thumb_func_start MOD36_02254840 -MOD36_02254840: ; 0x02254840 - ldr r3, _02254848 ; =Poketch_InitApp - ldr r0, _0225484C ; =MOD36_02254854 - ldr r1, _02254850 ; =MOD36_02254990 - bx r3 - .align 2, 0 -_02254848: .word Poketch_InitApp -_0225484C: .word MOD36_02254854 -_02254850: .word MOD36_02254990 - thumb_func_end MOD36_02254840 - thumb_func_start MOD36_02254854 MOD36_02254854: ; 0x02254854 push {r3, r4, r5, r6, r7, lr} diff --git a/arm9/modules/36/src/module_36_sinit.c b/arm9/modules/36/src/module_36_sinit.c index b365faa7..9db2e327 100644 --- a/arm9/modules/36/src/module_36_sinit.c +++ b/arm9/modules/36/src/module_36_sinit.c @@ -1,4 +1,13 @@ -#define NitroStaticInit MOD36_02254840 #include "global.h" -extern void MOD36_02254840(void); + +extern void Poketch_InitApp(void *func1, void *func2); +extern void MOD36_02254854(); +extern void MOD36_02254990(); + +THUMB_FUNC static void MOD36_02254840(void) +{ + Poketch_InitApp(MOD36_02254854, MOD36_02254990); +} + +#define NitroStaticInit MOD36_02254840 #include "sinit.h" diff --git a/arm9/modules/39/asm/module_39.s b/arm9/modules/39/asm/module_39.s index abd624df..6ee54fe8 100644 --- a/arm9/modules/39/asm/module_39.s +++ b/arm9/modules/39/asm/module_39.s @@ -3,18 +3,6 @@ .section .text .balign 4, 0 - thumb_func_start MOD39_02254840 -MOD39_02254840: ; 0x02254840 - ldr r3, _02254848 ; =Poketch_InitApp - ldr r0, _0225484C ; =MOD39_02254854 - ldr r1, _02254850 ; =MOD39_022549D4 - bx r3 - .align 2, 0 -_02254848: .word Poketch_InitApp -_0225484C: .word MOD39_02254854 -_02254850: .word MOD39_022549D4 - thumb_func_end MOD39_02254840 - thumb_func_start MOD39_02254854 MOD39_02254854: ; 0x02254854 push {r3, r4, r5, r6, r7, lr} diff --git a/arm9/modules/39/src/module_39_sinit.c b/arm9/modules/39/src/module_39_sinit.c index f59753f9..39e6447f 100644 --- a/arm9/modules/39/src/module_39_sinit.c +++ b/arm9/modules/39/src/module_39_sinit.c @@ -1,4 +1,13 @@ -#define NitroStaticInit MOD39_02254840 #include "global.h" -extern void MOD39_02254840(void); + +extern void Poketch_InitApp(void *func1, void *func2); +extern void MOD39_02254854(); +extern void MOD39_022549D4(); + +THUMB_FUNC static void MOD39_02254840(void) +{ + Poketch_InitApp(MOD39_02254854, MOD39_022549D4); +} + +#define NitroStaticInit MOD39_02254840 #include "sinit.h" diff --git a/arm9/modules/41/asm/module_41.s b/arm9/modules/41/asm/module_41.s index 13762a02..a60736df 100644 --- a/arm9/modules/41/asm/module_41.s +++ b/arm9/modules/41/asm/module_41.s @@ -3,18 +3,6 @@ .section .text .balign 4, 0 - thumb_func_start MOD41_02254840 -MOD41_02254840: ; 0x02254840 - ldr r3, _02254848 ; =Poketch_InitApp - ldr r0, _0225484C ; =MOD41_02254854 - ldr r1, _02254850 ; =MOD41_02254AD8 - bx r3 - .align 2, 0 -_02254848: .word Poketch_InitApp -_0225484C: .word MOD41_02254854 -_02254850: .word MOD41_02254AD8 - thumb_func_end MOD41_02254840 - thumb_func_start MOD41_02254854 MOD41_02254854: ; 0x02254854 push {r3, r4, r5, r6, r7, lr} diff --git a/arm9/modules/41/src/module_41_sinit.c b/arm9/modules/41/src/module_41_sinit.c index 9d0d5aa8..1e119d0f 100644 --- a/arm9/modules/41/src/module_41_sinit.c +++ b/arm9/modules/41/src/module_41_sinit.c @@ -1,4 +1,13 @@ -#define NitroStaticInit MOD41_02254840 #include "global.h" -extern void MOD41_02254840(void); + +extern void Poketch_InitApp(void *func1, void *func2); +extern void MOD41_02254854(); +extern void MOD41_02254AD8(); + +THUMB_FUNC static void MOD41_02254840(void) +{ + Poketch_InitApp(MOD41_02254854, MOD41_02254AD8); +} + +#define NitroStaticInit MOD41_02254840 #include "sinit.h" diff --git a/arm9/modules/42/asm/module_42.s b/arm9/modules/42/asm/module_42.s index b4e4e4d8..8bda4f17 100644 --- a/arm9/modules/42/asm/module_42.s +++ b/arm9/modules/42/asm/module_42.s @@ -3,18 +3,6 @@ .section .text .balign 4, 0 - thumb_func_start MOD42_02254840 -MOD42_02254840: ; 0x02254840 - ldr r3, _02254848 ; =Poketch_InitApp - ldr r0, _0225484C ; =MOD42_02254854 - ldr r1, _02254850 ; =MOD42_02254A38 - bx r3 - .align 2, 0 -_02254848: .word Poketch_InitApp -_0225484C: .word MOD42_02254854 -_02254850: .word MOD42_02254A38 - thumb_func_end MOD42_02254840 - thumb_func_start MOD42_02254854 MOD42_02254854: ; 0x02254854 push {r3, r4, r5, r6, r7, lr} diff --git a/arm9/modules/42/src/module_42_sinit.c b/arm9/modules/42/src/module_42_sinit.c index 3b42fc7d..73baf05b 100644 --- a/arm9/modules/42/src/module_42_sinit.c +++ b/arm9/modules/42/src/module_42_sinit.c @@ -1,4 +1,13 @@ -#define NitroStaticInit MOD42_02254840 #include "global.h" -extern void MOD42_02254840(void); + +extern void Poketch_InitApp(void *func1, void *func2); +extern void MOD42_02254854(); +extern void MOD42_02254A38(); + +THUMB_FUNC static void MOD42_02254840(void) +{ + Poketch_InitApp(MOD42_02254854, MOD42_02254A38); +} + +#define NitroStaticInit MOD42_02254840 #include "sinit.h" diff --git a/arm9/modules/43/asm/module_43.s b/arm9/modules/43/asm/module_43.s index c9bbedfd..da27d823 100644 --- a/arm9/modules/43/asm/module_43.s +++ b/arm9/modules/43/asm/module_43.s @@ -3,18 +3,6 @@ .section .text .balign 4, 0 - thumb_func_start MOD43_02254840 -MOD43_02254840: ; 0x02254840 - ldr r3, _02254848 ; =Poketch_InitApp - ldr r0, _0225484C ; =MOD43_02254854 - ldr r1, _02254850 ; =MOD43_02254970 - bx r3 - .align 2, 0 -_02254848: .word Poketch_InitApp -_0225484C: .word MOD43_02254854 -_02254850: .word MOD43_02254970 - thumb_func_end MOD43_02254840 - thumb_func_start MOD43_02254854 MOD43_02254854: ; 0x02254854 push {r3, r4, r5, r6, r7, lr} diff --git a/arm9/modules/43/src/module_43_sinit.c b/arm9/modules/43/src/module_43_sinit.c index 8143a29f..a3ac14b8 100644 --- a/arm9/modules/43/src/module_43_sinit.c +++ b/arm9/modules/43/src/module_43_sinit.c @@ -1,4 +1,13 @@ -#define NitroStaticInit MOD43_02254840 #include "global.h" -extern void MOD43_02254840(void); + +extern void Poketch_InitApp(void *func1, void *func2); +extern void MOD43_02254854(); +extern void MOD43_02254970(); + +THUMB_FUNC static void MOD43_02254840(void) +{ + Poketch_InitApp(MOD43_02254854, MOD43_02254970); +} + +#define NitroStaticInit MOD43_02254840 #include "sinit.h" diff --git a/arm9/modules/44/asm/module_44.s b/arm9/modules/44/asm/module_44.s index bcee6542..5c50d9f1 100644 --- a/arm9/modules/44/asm/module_44.s +++ b/arm9/modules/44/asm/module_44.s @@ -3,18 +3,6 @@ .section .text .balign 4, 0 - thumb_func_start MOD44_02254840 -MOD44_02254840: ; 0x02254840 - ldr r3, _02254848 ; =Poketch_InitApp - ldr r0, _0225484C ; =MOD44_02254854 - ldr r1, _02254850 ; =MOD44_02254920 - bx r3 - .align 2, 0 -_02254848: .word Poketch_InitApp -_0225484C: .word MOD44_02254854 -_02254850: .word MOD44_02254920 - thumb_func_end MOD44_02254840 - thumb_func_start MOD44_02254854 MOD44_02254854: ; 0x02254854 push {r3, r4, r5, r6, r7, lr} diff --git a/arm9/modules/44/src/module_44_sinit.c b/arm9/modules/44/src/module_44_sinit.c index 8bb54dd1..29625872 100644 --- a/arm9/modules/44/src/module_44_sinit.c +++ b/arm9/modules/44/src/module_44_sinit.c @@ -1,4 +1,13 @@ -#define NitroStaticInit MOD44_02254840 #include "global.h" -extern void MOD44_02254840(void); + +extern void Poketch_InitApp(void *func1, void *func2); +extern void MOD44_02254854(); +extern void MOD44_02254920(); + +THUMB_FUNC static void MOD44_02254840(void) +{ + Poketch_InitApp(MOD44_02254854, MOD44_02254920); +} + +#define NitroStaticInit MOD44_02254840 #include "sinit.h" diff --git a/arm9/modules/47/asm/module_47.s b/arm9/modules/47/asm/module_47.s index 549b6c3a..3c2ae879 100644 --- a/arm9/modules/47/asm/module_47.s +++ b/arm9/modules/47/asm/module_47.s @@ -3,18 +3,6 @@ .section .text .balign 4, 0 - thumb_func_start MOD47_02254840 -MOD47_02254840: ; 0x02254840 - ldr r3, _02254848 ; =Poketch_InitApp - ldr r0, _0225484C ; =MOD47_02254854 - ldr r1, _02254850 ; =MOD47_0225491C - bx r3 - .align 2, 0 -_02254848: .word Poketch_InitApp -_0225484C: .word MOD47_02254854 -_02254850: .word MOD47_0225491C - thumb_func_end MOD47_02254840 - thumb_func_start MOD47_02254854 MOD47_02254854: ; 0x02254854 push {r3, r4, r5, r6, r7, lr} diff --git a/arm9/modules/47/src/module_47_sinit.c b/arm9/modules/47/src/module_47_sinit.c index f8e3041a..f255cafa 100644 --- a/arm9/modules/47/src/module_47_sinit.c +++ b/arm9/modules/47/src/module_47_sinit.c @@ -1,4 +1,13 @@ -#define NitroStaticInit MOD47_02254840 #include "global.h" -extern void MOD47_02254840(void); + +extern void Poketch_InitApp(void *func1, void *func2); +extern void MOD47_02254854(); +extern void MOD47_0225491C(); + +THUMB_FUNC static void MOD47_02254840(void) +{ + Poketch_InitApp(MOD47_02254854, MOD47_0225491C); +} + +#define NitroStaticInit MOD47_02254840 #include "sinit.h" diff --git a/include-mw/function_target.h b/include-mw/function_target.h index f37095f9..3834419c 100644 --- a/include-mw/function_target.h +++ b/include-mw/function_target.h @@ -8,4 +8,4 @@ #define ENUMS_ALWAYS_INT_OFF _Pragma("enumsalwaysint off") #define ENUMS_ALWAYS_INT_RESET _Pragma("enumsalwaysint reset") -#endif //GUARD_FUNCTION_TARGET_H
\ No newline at end of file +#endif //GUARD_FUNCTION_TARGET_H |