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