diff options
author | red031000 <rubenru09@aol.com> | 2020-07-27 14:38:25 +0100 |
---|---|---|
committer | red031000 <rubenru09@aol.com> | 2020-07-27 14:38:25 +0100 |
commit | b0cf87ca3640d912d047de41343b4ff9e5f44c6e (patch) | |
tree | 9cc1d5eb50c2af0e6b7f3a04191f789b0bd755d4 /arm9/modules/11/asm/module_11_thumb1.s | |
parent | 7c2a848ecccb95d010d8c0836c5d9c6a96b39da0 (diff) |
decomp module static init sections
Diffstat (limited to 'arm9/modules/11/asm/module_11_thumb1.s')
-rw-r--r-- | arm9/modules/11/asm/module_11_thumb1.s | 3485 |
1 files changed, 3485 insertions, 0 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 |