diff options
Diffstat (limited to 'arm9/modules')
41 files changed, 3717 insertions, 3765 deletions
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/22/asm/module_22.s b/arm9/modules/22/asm/module_22.s index 15332cb9..ef079cdb 100644 --- a/arm9/modules/22/asm/module_22.s +++ b/arm9/modules/22/asm/module_22.s @@ -3,18 +3,6 @@ .section .text .balign 4, 0 - thumb_func_start MOD22_02254840 -MOD22_02254840: ; 0x02254840 - ldr r3, _02254848 ; =Poketch_InitApp - ldr r0, _0225484C ; =MOD22_02254854 - ldr r1, _02254850 ; =MOD22_022549D8 - bx r3 - .align 2, 0 -_02254848: .word Poketch_InitApp -_0225484C: .word MOD22_02254854 -_02254850: .word MOD22_022549D8 - thumb_func_end MOD22_02254840 - thumb_func_start MOD22_02254854 MOD22_02254854: ; 0x02254854 push {r3, r4, r5, r6, r7, lr} @@ -1885,6 +1873,3 @@ MOD22_022556A0: ; 0x022556A0 .byte 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x80, 0x02, 0x00 .byte 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x06, 0x00 .byte 0x0A, 0x00, 0x00, 0x02, 0x02, 0x00, 0x00, 0x00 - - .section .sinit - .word MOD22_02254840 diff --git a/arm9/modules/22/src/module_22_sinit.c b/arm9/modules/22/src/module_22_sinit.c new file mode 100644 index 00000000..0095f0c1 --- /dev/null +++ b/arm9/modules/22/src/module_22_sinit.c @@ -0,0 +1,13 @@ +#include "global.h" + +extern void Poketch_InitApp(void *func1, void *func2); +extern void MOD22_02254854(); +extern void MOD22_022549D8(); + +THUMB_FUNC static void MOD22_02254840(void) +{ + Poketch_InitApp(MOD22_02254854, MOD22_022549D8); +} + +#define NitroStaticInit MOD22_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/24/asm/module_24.s b/arm9/modules/24/asm/module_24.s index ccf6c969..e7eb3899 100644 --- a/arm9/modules/24/asm/module_24.s +++ b/arm9/modules/24/asm/module_24.s @@ -3,18 +3,6 @@ .section .text .balign 4, 0 - thumb_func_start MOD24_02254840 -MOD24_02254840: ; 0x02254840 - ldr r3, _02254848 ; =Poketch_InitApp - ldr r0, _0225484C ; =MOD24_02254854 - ldr r1, _02254850 ; =MOD24_02254990 - bx r3 - .align 2, 0 -_02254848: .word Poketch_InitApp -_0225484C: .word MOD24_02254854 -_02254850: .word MOD24_02254990 - thumb_func_end MOD24_02254840 - thumb_func_start MOD24_02254854 MOD24_02254854: ; 0x02254854 push {r3, r4, r5, r6, r7, lr} @@ -1219,6 +1207,3 @@ MOD24_0225516C: ; 0x0225516C .word 0x04, MOD24_02255038, 0x00 .word 0x05, MOD24_02255050, 0x00 .word 0x00, 0x00000000, 0x00 - - .section .sinit - .word MOD24_02254840 diff --git a/arm9/modules/24/src/module_24_sinit.c b/arm9/modules/24/src/module_24_sinit.c new file mode 100644 index 00000000..de535e77 --- /dev/null +++ b/arm9/modules/24/src/module_24_sinit.c @@ -0,0 +1,13 @@ +#include "global.h" + +extern void Poketch_InitApp(void *func1, void *func2); +extern void MOD24_02254854(); +extern void MOD24_02254990(); + +THUMB_FUNC static void MOD24_02254840(void) +{ + Poketch_InitApp(MOD24_02254854, MOD24_02254990); +} + +#define NitroStaticInit MOD24_02254840 +#include "sinit.h" diff --git a/arm9/modules/25/asm/module_25.s b/arm9/modules/25/asm/module_25.s index ba331a34..84129725 100644 --- a/arm9/modules/25/asm/module_25.s +++ b/arm9/modules/25/asm/module_25.s @@ -3,18 +3,6 @@ .section .text .balign 4, 0 - thumb_func_start MOD25_02254840 -MOD25_02254840: ; 0x02254840 - ldr r3, _02254848 ; =Poketch_InitApp - ldr r0, _0225484C ; =MOD25_02254854 - ldr r1, _02254850 ; =MOD25_0225496C - bx r3 - .align 2, 0 -_02254848: .word Poketch_InitApp -_0225484C: .word MOD25_02254854 -_02254850: .word MOD25_0225496C - thumb_func_end MOD25_02254840 - thumb_func_start MOD25_02254854 MOD25_02254854: ; 0x02254854 push {r3, r4, r5, r6, r7, lr} @@ -686,6 +674,3 @@ MOD25_02254D44: ; 0x02254D44 .word 0x02, MOD25_02254BE8, 0x00 .word 0x03, MOD25_02254C14, 0x00 .word 0x00, 0x00000000, 0x00 - - .section .sinit - .word MOD25_02254840 diff --git a/arm9/modules/25/src/module_25_sinit.c b/arm9/modules/25/src/module_25_sinit.c new file mode 100644 index 00000000..e86493c7 --- /dev/null +++ b/arm9/modules/25/src/module_25_sinit.c @@ -0,0 +1,13 @@ +#include "global.h" + +extern void Poketch_InitApp(void *func1, void *func2); +extern void MOD25_02254854(); +extern void MOD25_0225496C(); + +THUMB_FUNC static void MOD25_02254840(void) +{ + Poketch_InitApp(MOD25_02254854, MOD25_0225496C); +} + +#define NitroStaticInit MOD25_02254840 +#include "sinit.h" diff --git a/arm9/modules/26/asm/module_26.s b/arm9/modules/26/asm/module_26.s index 12d880aa..45536bcf 100644 --- a/arm9/modules/26/asm/module_26.s +++ b/arm9/modules/26/asm/module_26.s @@ -3,18 +3,6 @@ .section .text .balign 4, 0 - thumb_func_start MOD26_02254840 -MOD26_02254840: ; 0x02254840 - ldr r3, _02254848 ; =Poketch_InitApp - ldr r0, _0225484C ; =MOD26_02254854 - ldr r1, _02254850 ; =MOD26_02254A84 - bx r3 - .align 2, 0 -_02254848: .word Poketch_InitApp -_0225484C: .word MOD26_02254854 -_02254850: .word MOD26_02254A84 - thumb_func_end MOD26_02254840 - thumb_func_start MOD26_02254854 MOD26_02254854: ; 0x02254854 push {r3, r4, r5, r6, r7, lr} @@ -843,6 +831,3 @@ MOD26_02254FF0: ; 0x02254FF0 .word 0x01, MOD26_02254D6C, 0x00 .word 0x02, MOD26_02254D90, 0x00 .word 0x00, 0x00000000, 0x00 - - .section .sinit - .word MOD26_02254840 diff --git a/arm9/modules/26/src/module_26_sinit.c b/arm9/modules/26/src/module_26_sinit.c new file mode 100644 index 00000000..a84f88bb --- /dev/null +++ b/arm9/modules/26/src/module_26_sinit.c @@ -0,0 +1,13 @@ +#include "global.h" + +extern void Poketch_InitApp(void *func1, void *func2); +extern void MOD26_02254854(); +extern void MOD26_02254A84(); + +THUMB_FUNC static void MOD26_02254840(void) +{ + Poketch_InitApp(MOD26_02254854, MOD26_02254A84); +} + +#define NitroStaticInit MOD26_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" |