summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--arm9/arm9.lsf1
-rw-r--r--arm9/global.inc8
-rw-r--r--arm9/modules/05/asm/mod05_021D9A48.s1632
-rw-r--r--arm9/modules/05/asm/module_05.s1628
4 files changed, 1641 insertions, 1628 deletions
diff --git a/arm9/arm9.lsf b/arm9/arm9.lsf
index 0a45ade3..52499bdd 100644
--- a/arm9/arm9.lsf
+++ b/arm9/arm9.lsf
@@ -520,6 +520,7 @@ Overlay MODULE_05
Object mod05_021D7F4C.o
Object mod05_021D80E8.o
Object mod05_021D9320.o
+ Object mod05_021D9A48.o
Object module_05.o
}
diff --git a/arm9/global.inc b/arm9/global.inc
index 1898976b..5f93b499 100644
--- a/arm9/global.inc
+++ b/arm9/global.inc
@@ -6231,7 +6231,11 @@
.extern MOD05_021D9820
.extern MOD05_021D99F8
.extern MOD05_021D9B54
+.extern MOD05_021D9CEC
+.extern MOD05_021D9DC0
+.extern MOD05_021D9E80
.extern MOD05_021D9F48
+.extern MOD05_021D9FB4
.extern MOD05_021DA018
.extern MOD05_021DA03C
.extern MOD05_021DA080
@@ -6245,13 +6249,17 @@
.extern MOD05_021DA1A8
.extern MOD05_021DA1AC
.extern MOD05_021DA20C
+.extern MOD05_021DA220
+.extern MOD05_021DA230
.extern MOD05_021DA430
.extern MOD05_021DA450
.extern MOD05_021DA464
.extern MOD05_021DA4BC
.extern MOD05_021DA4EC
+.extern MOD05_021DA514
.extern MOD05_021DA54C
.extern MOD05_021DA58C
+.extern MOD05_021DA5AC
.extern MOD05_021DA5B8
.extern MOD05_021DA5C8
.extern MOD05_021DA5D0
diff --git a/arm9/modules/05/asm/mod05_021D9A48.s b/arm9/modules/05/asm/mod05_021D9A48.s
new file mode 100644
index 00000000..2e5469f9
--- /dev/null
+++ b/arm9/modules/05/asm/mod05_021D9A48.s
@@ -0,0 +1,1632 @@
+ .include "asm/macros.inc"
+ .include "global.inc"
+ .section .text
+ .balign 4, 0
+
+ thumb_func_start MOD05_021D9A48
+MOD05_021D9A48: ; 0x021D9A48
+ push {r3, r4, r5, r6, r7, lr}
+ add r7, r2, #0
+ add r6, r0, #0
+ add r5, r1, #0
+ mov r0, #0
+ ldr r1, [r7, #0x18]
+ mvn r0, r0
+ add r4, r3, #0
+ cmp r1, r0
+ bne _021D9A60
+ bl ErrorHandling
+_021D9A60:
+ mov r0, #0
+ add r1, r6, #0
+_021D9A64:
+ ldr r2, [r1]
+ cmp r2, #0
+ beq _021D9A7A
+ ldr r2, [r1, #0xc]
+ cmp r4, r2
+ bne _021D9A7A
+ ldr r2, [r1, #4]
+ cmp r2, r5
+ bne _021D9A7A
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+_021D9A7A:
+ add r0, r0, #1
+ add r1, #0x10
+ cmp r0, #2
+ blt _021D9A64
+ mov r2, #0
+ add r1, r6, #0
+_021D9A86:
+ ldr r0, [r1]
+ cmp r0, #0
+ bne _021D9A9C
+ lsl r1, r2, #4
+ mov r0, #1
+ str r0, [r6, r1]
+ add r0, r6, r1
+ str r4, [r0, #0xc]
+ str r7, [r0, #8]
+ str r5, [r0, #4]
+ b _021D9AA4
+_021D9A9C:
+ add r2, r2, #1
+ add r1, #0x10
+ cmp r2, #2
+ blt _021D9A86
+_021D9AA4:
+ mov r0, #1
+ pop {r3, r4, r5, r6, r7, pc}
+
+ thumb_func_start MOD05_021D9AA8
+MOD05_021D9AA8: ; 0x021D9AA8
+ push {r3, r4, r5, r6, r7, lr}
+ add r6, r0, #0
+ mov r0, #0
+ add r4, r1, #0
+ mvn r0, r0
+ add r7, r2, #0
+ add r5, r3, #0
+ cmp r4, r0
+ bne _021D9ABE
+ bl ErrorHandling
+_021D9ABE:
+ add r0, r6, #0
+ add r1, r4, #0
+ mov r2, #4
+ bl NARC_AllocAndReadWholeMember
+ add r4, r0, #0
+ bne _021D9AD0
+ bl ErrorHandling
+_021D9AD0:
+ add r0, r4, #0
+ mov r1, #0
+ bl FUN_020BC4C8
+ add r6, r0, #0
+ bne _021D9AE0
+ bl ErrorHandling
+_021D9AE0:
+ ldr r0, [sp, #0x1c]
+ add r1, r6, #0
+ add r2, r7, #0
+ bl FUN_020BB8D0
+ str r0, [r5]
+ cmp r5, #0
+ bne _021D9AF4
+ bl ErrorHandling
+_021D9AF4:
+ ldr r0, [r5]
+ ldr r3, [sp, #0x18]
+ add r1, r6, #0
+ add r2, r7, #0
+ bl FUN_020B8110
+ add r0, r4, #0
+ pop {r3, r4, r5, r6, r7, pc}
+
+ thumb_func_start MOD05_021D9B04
+MOD05_021D9B04: ; 0x021D9B04
+ push {r3, lr}
+ cmp r1, #0
+ bne _021D9B0E
+ mov r0, #0
+ pop {r3, pc}
+_021D9B0E:
+ cmp r0, #0
+ bne _021D9B16
+ mov r0, #0
+ pop {r3, pc}
+_021D9B16:
+ bl FUN_020B7E28
+ mov r0, #1
+ pop {r3, pc}
+ .balign 4, 0
+
+ thumb_func_start MOD05_021D9B20
+MOD05_021D9B20: ; 0x021D9B20
+ push {r4, r5, r6, lr}
+ mov r4, #0
+ add r5, r0, #0
+ add r6, r4, #0
+_021D9B28:
+ ldr r0, [r5]
+ cmp r0, #0
+ beq _021D9B4A
+ ldr r0, [r5, #8]
+ bl MOD05_021DA20C
+ cmp r0, #0
+ beq _021D9B4A
+ ldr r1, [r5, #8]
+ ldr r0, [r5, #4]
+ ldr r1, [r1]
+ bl MOD05_021D9B04
+ str r6, [r5]
+ str r6, [r5, #0xc]
+ str r6, [r5, #8]
+ str r6, [r5, #4]
+_021D9B4A:
+ add r4, r4, #1
+ add r5, #0x10
+ cmp r4, #2
+ blt _021D9B28
+ pop {r4, r5, r6, pc}
+
+ thumb_func_start MOD05_021D9B54
+MOD05_021D9B54: ; 0x021D9B54
+ push {r3, r4, r5, r6, r7, lr}
+ mov r1, #0xae
+ mov r0, #4
+ lsl r1, r1, #2
+ bl AllocFromHeap
+ add r7, r0, #0
+ mov r1, #0
+ add r2, r7, #0
+ add r6, r1, #0
+ sub r0, r1, #1
+_021D9B6A:
+ str r6, [r2, #0x14]
+ str r6, [r2, #0x20]
+ str r6, [r2, #0x10]
+ str r6, [r2, #0x18]
+ str r6, [r2, #0x1c]
+ str r6, [r2, #0x24]
+ str r0, [r2, #0x28]
+ str r6, [r2, #0x2c]
+ str r6, [r2, #0x30]
+ str r6, [r2, #0x34]
+ add r1, r1, #1
+ add r2, #0x28
+ cmp r1, #0x10
+ blt _021D9B6A
+ mov r0, #0x29
+ lsl r0, r0, #4
+ add r2, r0, #0
+ add r3, r0, #0
+ add r5, r7, #0
+ mov r4, #0
+ add r1, r0, #4
+ add r2, #8
+ add r3, #0xc
+_021D9B98:
+ str r4, [r5, r0]
+ str r4, [r5, r1]
+ str r4, [r5, r2]
+ str r4, [r5, r3]
+ add r6, r6, #1
+ add r5, #0x10
+ cmp r6, #2
+ blt _021D9B98
+ mov r1, #4
+ add r0, r7, #0
+ add r2, r1, #0
+ bl FUN_02016B20
+ mov r0, #0x6e
+ mov r1, #4
+ bl NARC_ctor
+ mov r1, #0x2b
+ lsl r1, r1, #4
+ str r0, [r7, r1]
+ mov r0, #0x6f
+ mov r1, #4
+ bl NARC_ctor
+ mov r1, #0xad
+ lsl r1, r1, #2
+ str r0, [r7, r1]
+ add r0, r7, #0
+ pop {r3, r4, r5, r6, r7, pc}
+ .balign 4, 0
+
+ thumb_func_start MOD05_021D9BD4
+MOD05_021D9BD4: ; 0x021D9BD4
+ cmp r0, #0
+ bne _021D9BDC
+ mov r0, #0
+ bx lr
+_021D9BDC:
+ ldr r0, [r0]
+ bx lr
+
+ thumb_func_start MOD05_021D9BE0
+MOD05_021D9BE0: ; 0x021D9BE0
+ mov r1, #1
+ and r0, r1
+ cmp r0, #1
+ beq _021D9BEA
+ mov r1, #0
+_021D9BEA:
+ add r0, r1, #0
+ bx lr
+ .balign 4, 0
+
+ thumb_func_start MOD05_021D9BF0
+MOD05_021D9BF0: ; 0x021D9BF0
+ asr r1, r0, #1
+ mov r0, #1
+ and r1, r0
+ cmp r1, #1
+ beq _021D9BFC
+ mov r0, #0
+_021D9BFC:
+ bx lr
+ .balign 4, 0
+
+ thumb_func_start MOD05_021D9C00
+MOD05_021D9C00: ; 0x021D9C00
+ push {r4, lr}
+ add r4, r0, #0
+ ldr r0, [r4, #4]
+ cmp r0, #1
+ beq _021D9C0E
+ bl ErrorHandling
+_021D9C0E:
+ ldr r0, [r4, #0x1c]
+ pop {r4, pc}
+ .balign 4, 0
+
+ thumb_func_start MOD05_021D9C14
+MOD05_021D9C14: ; 0x021D9C14
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0x24
+ add r6, r0, #0
+ mov r0, #0xad
+ ldr r7, [sp, #0x4c]
+ lsl r0, r0, #2
+ add r4, r1, #0
+ str r2, [sp, #8]
+ ldr r0, [r7, r0]
+ add r1, r6, #0
+ add r2, sp, #0x10
+ add r5, r3, #0
+ bl NARC_ReadWholeMember
+ cmp r4, #4
+ blt _021D9C38
+ bl ErrorHandling
+_021D9C38:
+ lsl r1, r4, #2
+ add r0, sp, #0x14
+ ldr r0, [r0, r1]
+ mov r1, #0
+ mvn r1, r1
+ str r0, [sp, #0xc]
+ cmp r0, r1
+ bne _021D9C4E
+ add sp, #0x24
+ mov r0, #0
+ pop {r4, r5, r6, r7, pc}
+_021D9C4E:
+ add r0, sp, #0x10
+ ldrb r0, [r0, #1]
+ bl MOD05_021D9BE0
+ ldr r1, [sp, #0x40]
+ cmp r1, r0
+ beq _021D9C62
+ add sp, #0x24
+ mov r0, #0
+ pop {r4, r5, r6, r7, pc}
+_021D9C62:
+ mov r6, #0
+ add r4, r7, #0
+_021D9C66:
+ cmp r5, #0
+ beq _021D9C74
+ ldr r0, [r4, #0x34]
+ cmp r5, r0
+ bne _021D9C74
+ bl ErrorHandling
+_021D9C74:
+ add r6, r6, #1
+ add r4, #0x28
+ cmp r6, #0x10
+ blt _021D9C66
+ mov r2, #0
+ add r1, r7, #0
+_021D9C80:
+ ldr r0, [r1, #0x14]
+ cmp r0, #0
+ bne _021D9CD8
+ add r4, r2, #0
+ mov r0, #0x28
+ mul r4, r0
+ mov r1, #1
+ add r0, r7, r4
+ str r1, [r0, #0x14]
+ ldr r1, [sp, #0x3c]
+ add r6, r7, #0
+ str r1, [r0, #0x20]
+ add r6, #0x10
+ mov r1, #0
+ str r1, [r6, r4]
+ str r1, [r0, #0x18]
+ ldr r1, [sp, #0xc]
+ ldr r2, [sp, #0x44]
+ str r1, [r0, #0x1c]
+ ldr r1, [sp, #0x38]
+ add r3, r6, r4
+ str r1, [r0, #0x30]
+ str r5, [r0, #0x34]
+ ldr r0, [sp, #0x48]
+ ldr r1, [sp, #0xc]
+ str r0, [sp]
+ mov r0, #0x2b
+ str r7, [sp, #4]
+ lsl r0, r0, #4
+ ldr r0, [r7, r0]
+ bl MOD05_021D9AA8
+ add r1, r7, r4
+ str r0, [r1, #0x24]
+ ldr r0, [sp, #8]
+ str r0, [r1, #0x28]
+ mov r0, #1
+ str r0, [r1, #0x2c]
+ add r0, r6, r4
+ bl MOD05_021DA118
+ add sp, #0x24
+ add r0, r6, r4
+ pop {r4, r5, r6, r7, pc}
+_021D9CD8:
+ add r2, r2, #1
+ add r1, #0x28
+ cmp r2, #0x10
+ blt _021D9C80
+ bl ErrorHandling
+ mov r0, #0
+ add sp, #0x24
+ pop {r4, r5, r6, r7, pc}
+ .balign 4, 0
+
+ thumb_func_start MOD05_021D9CEC
+MOD05_021D9CEC: ; 0x021D9CEC
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0x34
+ add r4, r0, #0
+ mov r0, #0xad
+ add r6, r3, #0
+ lsl r0, r0, #2
+ str r1, [sp, #8]
+ str r2, [sp, #0xc]
+ ldr r0, [r6, r0]
+ add r1, r4, #0
+ add r2, sp, #0x20
+ bl NARC_ReadWholeMember
+ add r0, sp, #0x20
+ ldrb r0, [r0]
+ cmp r0, #0
+ beq _021D9DBC
+ mov r0, #0
+ str r0, [sp, #0x14]
+ add r0, sp, #0x20
+ str r0, [sp, #0x10]
+_021D9D16:
+ ldr r0, [sp, #0x10]
+ mov r1, #0
+ ldr r0, [r0, #4]
+ mvn r1, r1
+ str r0, [sp, #0x18]
+ cmp r0, r1
+ beq _021D9DBC
+ add r0, sp, #0x20
+ ldrb r0, [r0, #1]
+ bl MOD05_021D9BE0
+ cmp r0, #0
+ bne _021D9DBC
+ mov r4, #0
+ add r1, r6, #0
+_021D9D34:
+ ldr r0, [r1, #0x14]
+ cmp r0, #0
+ bne _021D9D9C
+ mov r0, #0x28
+ add r7, r4, #0
+ mul r7, r0
+ add r5, r6, r7
+ mov r0, #1
+ str r0, [r5, #0x14]
+ mov r1, #0
+ str r1, [r5, #0x20]
+ str r1, [r5, #0x10]
+ ldr r0, [sp, #0x18]
+ str r1, [r5, #0x18]
+ str r0, [r5, #0x1c]
+ add r0, r6, #0
+ str r0, [sp, #0x1c]
+ add r0, #0x10
+ str r0, [sp, #0x1c]
+ str r1, [r5, #0x30]
+ str r1, [r5, #0x34]
+ ldr r0, [sp, #0xc]
+ ldr r3, [sp, #0x1c]
+ str r0, [sp]
+ mov r0, #0x2b
+ str r6, [sp, #4]
+ lsl r0, r0, #4
+ ldr r0, [r6, r0]
+ ldr r1, [sp, #0x18]
+ ldr r2, [sp, #8]
+ add r3, r3, r7
+ bl MOD05_021D9AA8
+ str r0, [r5, #0x24]
+ mov r0, #0
+ mvn r0, r0
+ str r0, [r5, #0x28]
+ mov r0, #1
+ str r0, [r5, #0x2c]
+ ldr r0, [sp, #0x1c]
+ add r0, r0, r7
+ bl MOD05_021DA118
+ add r0, sp, #0x20
+ ldrb r0, [r0, #2]
+ cmp r0, #0
+ beq _021D9DA4
+ add r1, r5, #0
+ mov r0, #1
+ str r0, [r1, #0x20]
+ str r0, [r1, #0x28]
+ b _021D9DA4
+_021D9D9C:
+ add r4, r4, #1
+ add r1, #0x28
+ cmp r4, #0x10
+ blt _021D9D34
+_021D9DA4:
+ cmp r4, #0x10
+ bne _021D9DAC
+ bl ErrorHandling
+_021D9DAC:
+ ldr r0, [sp, #0x10]
+ add r0, r0, #4
+ str r0, [sp, #0x10]
+ ldr r0, [sp, #0x14]
+ add r0, r0, #1
+ str r0, [sp, #0x14]
+ cmp r0, #4
+ blt _021D9D16
+_021D9DBC:
+ add sp, #0x34
+ pop {r4, r5, r6, r7, pc}
+
+ thumb_func_start MOD05_021D9DC0
+MOD05_021D9DC0: ; 0x021D9DC0
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #0x18
+ ldr r6, [sp, #0x30]
+ add r5, r0, #0
+ add r4, r1, #0
+ add r7, r2, #0
+ str r3, [sp]
+ cmp r6, #0
+ bne _021D9DDC
+ bl ErrorHandling
+ add sp, #0x18
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+_021D9DDC:
+ add r0, r6, #0
+ bl MOD05_021DA220
+ cmp r5, r0
+ blt _021D9DEC
+ add sp, #0x18
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+_021D9DEC:
+ mov r0, #0xad
+ lsl r0, r0, #2
+ ldr r0, [r6, r0]
+ add r1, r5, #0
+ add r2, sp, #4
+ bl NARC_ReadWholeMember
+ cmp r4, #4
+ blt _021D9E02
+ bl ErrorHandling
+_021D9E02:
+ lsl r1, r4, #2
+ add r0, sp, #8
+ ldr r5, [r0, r1]
+ mov r0, #0
+ mvn r0, r0
+ cmp r5, r0
+ bne _021D9E16
+ add sp, #0x18
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+_021D9E16:
+ add r0, sp, #4
+ ldrb r0, [r0, #1]
+ bl MOD05_021D9BF0
+ cmp r7, r0
+ beq _021D9E28
+ add sp, #0x18
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+_021D9E28:
+ mov r4, #0
+ add r1, r6, #0
+_021D9E2C:
+ ldr r0, [r1, #0x1c]
+ cmp r5, r0
+ bne _021D9E70
+ add r0, sp, #4
+ ldrb r0, [r0, #2]
+ cmp r0, #0
+ beq _021D9E56
+ add r2, r6, #0
+ mov r3, #0x28
+ mov r0, #0x29
+ lsl r0, r0, #4
+ add r2, #0x10
+ mul r3, r4
+ add r2, r2, r3
+ lsl r3, r5, #0x18
+ ldr r1, [sp]
+ add r0, r6, r0
+ lsr r3, r3, #0x18
+ bl MOD05_021D9A48
+ b _021D9E58
+_021D9E56:
+ mov r0, #1
+_021D9E58:
+ cmp r0, #0
+ beq _021D9E6A
+ mov r1, #0x28
+ mul r1, r4
+ add r1, r6, r1
+ ldr r0, [sp]
+ ldr r1, [r1, #0x10]
+ bl FUN_020B7EFC
+_021D9E6A:
+ add sp, #0x18
+ mov r0, #1
+ pop {r3, r4, r5, r6, r7, pc}
+_021D9E70:
+ add r4, r4, #1
+ add r1, #0x28
+ cmp r4, #0x10
+ blt _021D9E2C
+ mov r0, #0
+ add sp, #0x18
+ pop {r3, r4, r5, r6, r7, pc}
+ .balign 4, 0
+
+ thumb_func_start MOD05_021D9E80
+MOD05_021D9E80: ; 0x021D9E80
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0x24
+ add r5, r0, #0
+ ldr r0, _021D9F44 ; =0x00000000
+ str r1, [sp, #0xc]
+ add r4, r2, #0
+ str r0, [sp]
+ bne _021D9E94
+ bl ErrorHandling
+_021D9E94:
+ add r0, r4, #0
+ bl MOD05_021DA220
+ cmp r5, r0
+ blt _021D9EA4
+ add sp, #0x24
+ mov r0, #0
+ pop {r4, r5, r6, r7, pc}
+_021D9EA4:
+ mov r0, #0xad
+ lsl r0, r0, #2
+ ldr r0, [r4, r0]
+ add r1, r5, #0
+ add r2, sp, #0x10
+ bl NARC_ReadWholeMember
+ add r0, sp, #0x10
+ ldrb r0, [r0, #1]
+ bl MOD05_021D9BF0
+ cmp r0, #0
+ beq _021D9EC4
+ add sp, #0x24
+ mov r0, #0
+ pop {r4, r5, r6, r7, pc}
+_021D9EC4:
+ mov r0, #0
+ str r0, [sp, #4]
+ add r0, r4, #0
+ str r0, [sp, #8]
+ add r0, #0x10
+ add r7, sp, #0x10
+ str r0, [sp, #8]
+_021D9ED2:
+ mov r0, #0
+ ldr r3, [r7, #4]
+ mvn r0, r0
+ cmp r3, r0
+ bne _021D9EE2
+ ldr r0, [sp]
+ add sp, #0x24
+ pop {r4, r5, r6, r7, pc}
+_021D9EE2:
+ mov r5, #0
+ add r1, r4, #0
+_021D9EE6:
+ ldr r0, [r1, #0x1c]
+ cmp r3, r0
+ bne _021D9F2A
+ add r0, sp, #0x10
+ ldrb r0, [r0, #2]
+ cmp r0, #0
+ beq _021D9F10
+ mov r2, #0x28
+ add r6, r5, #0
+ mov r0, #0x29
+ mul r6, r2
+ ldr r2, [sp, #8]
+ lsl r0, r0, #4
+ lsl r3, r3, #0x18
+ ldr r1, [sp, #0xc]
+ add r0, r4, r0
+ add r2, r2, r6
+ lsr r3, r3, #0x18
+ bl MOD05_021D9A48
+ b _021D9F12
+_021D9F10:
+ mov r0, #1
+_021D9F12:
+ cmp r0, #0
+ beq _021D9F32
+ mov r1, #0x28
+ mul r1, r5
+ add r1, r4, r1
+ ldr r0, [sp, #0xc]
+ ldr r1, [r1, #0x10]
+ bl FUN_020B7EFC
+ mov r0, #1
+ str r0, [sp]
+ b _021D9F32
+_021D9F2A:
+ add r5, r5, #1
+ add r1, #0x28
+ cmp r5, #0x10
+ blt _021D9EE6
+_021D9F32:
+ ldr r0, [sp, #4]
+ add r7, r7, #4
+ add r0, r0, #1
+ str r0, [sp, #4]
+ cmp r0, #4
+ blt _021D9ED2
+ ldr r0, [sp]
+ add sp, #0x24
+ pop {r4, r5, r6, r7, pc}
+ .balign 4, 0
+_021D9F44: .word 0x00000000
+
+ thumb_func_start MOD05_021D9F48
+MOD05_021D9F48: ; 0x021D9F48
+ push {r3, r4, r5, r6, r7, lr}
+ add r6, r0, #0
+ beq _021D9F7C
+ mov r4, #0
+ add r5, r6, #0
+ add r7, r4, #0
+_021D9F54:
+ ldr r0, [r5, #0x14]
+ cmp r0, #0
+ beq _021D9F74
+ cmp r0, #1
+ bne _021D9F6E
+ ldr r1, [r5, #0x10]
+ add r0, r6, #0
+ bl thunk_FUN_020ae84c
+ str r7, [r5, #0x10]
+ ldr r0, [r5, #0x24]
+ bl FreeToHeap
+_021D9F6E:
+ mov r0, #0
+ str r0, [r5, #0x14]
+ str r0, [r5, #0x34]
+_021D9F74:
+ add r4, r4, #1
+ add r5, #0x28
+ cmp r4, #0x10
+ blt _021D9F54
+_021D9F7C:
+ pop {r3, r4, r5, r6, r7, pc}
+ .balign 4, 0
+
+ thumb_func_start MOD05_021D9F80
+MOD05_021D9F80: ; 0x021D9F80
+ push {r3, r4, r5, lr}
+ add r5, r0, #0
+ add r4, r1, #0
+ beq _021D9FB2
+ cmp r5, #0
+ bne _021D9F90
+ bl ErrorHandling
+_021D9F90:
+ ldr r0, [r5, #4]
+ cmp r0, #0
+ beq _021D9FB2
+ cmp r0, #1
+ bne _021D9FAC
+ ldr r1, [r5]
+ add r0, r4, #0
+ bl thunk_FUN_020ae84c
+ mov r0, #0
+ str r0, [r5]
+ ldr r0, [r5, #0x14]
+ bl FreeToHeap
+_021D9FAC:
+ mov r0, #0
+ str r0, [r5, #4]
+ str r0, [r5, #0x24]
+_021D9FB2:
+ pop {r3, r4, r5, pc}
+
+ thumb_func_start MOD05_021D9FB4
+MOD05_021D9FB4: ; 0x021D9FB4
+ push {r3, r4, r5, r6, lr}
+ sub sp, #0x14
+ add r4, r0, #0
+ mov r0, #0xad
+ lsl r0, r0, #2
+ add r6, r1, #0
+ add r1, r2, #0
+ ldr r0, [r4, r0]
+ add r2, sp, #0
+ add r5, r3, #0
+ bl NARC_ReadWholeMember
+ cmp r5, #4
+ blt _021D9FD4
+ bl ErrorHandling
+_021D9FD4:
+ lsl r1, r5, #2
+ add r0, sp, #4
+ ldr r5, [r0, r1]
+ mov r0, #0
+ mvn r0, r0
+ cmp r5, r0
+ bne _021D9FE6
+ bl ErrorHandling
+_021D9FE6:
+ mov r0, #0
+ mov r2, #0x28
+_021D9FEA:
+ add r1, r0, #0
+ mul r1, r2
+ add r1, r4, r1
+ ldr r3, [r1, #0x14]
+ cmp r3, #1
+ bne _021DA008
+ ldr r3, [r1, #0x1c]
+ cmp r5, r3
+ bne _021DA008
+ ldr r1, [r1, #0x10]
+ add r0, r6, #0
+ bl MOD05_021D9B04
+ add sp, #0x14
+ pop {r3, r4, r5, r6, pc}
+_021DA008:
+ add r0, r0, #1
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ cmp r0, #0x10
+ blo _021D9FEA
+ add sp, #0x14
+ pop {r3, r4, r5, r6, pc}
+ .balign 4, 0
+
+ thumb_func_start MOD05_021DA018
+MOD05_021DA018: ; 0x021DA018
+ push {r4, lr}
+ add r4, r0, #0
+ beq _021DA038
+ mov r0, #0x2b
+ lsl r0, r0, #4
+ ldr r0, [r4, r0]
+ bl NARC_dtor
+ mov r0, #0xad
+ lsl r0, r0, #2
+ ldr r0, [r4, r0]
+ bl NARC_dtor
+ add r0, r4, #0
+ bl FreeToHeap
+_021DA038:
+ pop {r4, pc}
+ .balign 4, 0
+
+ thumb_func_start MOD05_021DA03C
+MOD05_021DA03C: ; 0x021DA03C
+ push {r4, r5, r6, lr}
+ add r5, r0, #0
+ add r4, r1, #0
+ cmp r5, #0
+ bne _021DA04A
+ bl ErrorHandling
+_021DA04A:
+ mov r6, #0
+ add r1, r6, #0
+ add r2, r4, #0
+_021DA050:
+ ldr r0, [r2, #0x34]
+ cmp r5, r0
+ bne _021DA06A
+ mov r0, #0x28
+ add r4, #0x10
+ mul r0, r1
+ add r6, r4, r0
+ ldr r0, [r6, #4]
+ cmp r0, #0
+ bne _021DA072
+ bl ErrorHandling
+ b _021DA072
+_021DA06A:
+ add r1, r1, #1
+ add r2, #0x28
+ cmp r1, #0x10
+ blt _021DA050
+_021DA072:
+ cmp r6, #0
+ bne _021DA07A
+ bl ErrorHandling
+_021DA07A:
+ add r0, r6, #0
+ pop {r4, r5, r6, pc}
+ .balign 4, 0
+
+ thumb_func_start MOD05_021DA080
+MOD05_021DA080: ; 0x021DA080
+ push {r4, r5, lr}
+ sub sp, #0x14
+ add r3, r0, #0
+ mov r0, #0xad
+ add r5, r2, #0
+ lsl r0, r0, #2
+ add r4, r1, #0
+ ldr r0, [r5, r0]
+ add r1, r3, #0
+ add r2, sp, #0
+ bl NARC_ReadWholeMember
+ cmp r4, #4
+ blt _021DA0A0
+ bl ErrorHandling
+_021DA0A0:
+ lsl r1, r4, #2
+ add r0, sp, #4
+ mov r4, #0
+ ldr r1, [r0, r1]
+ add r2, r4, #0
+ add r3, r5, #0
+_021DA0AC:
+ ldr r0, [r3, #0x1c]
+ cmp r1, r0
+ bne _021DA0C6
+ mov r0, #0x28
+ add r5, #0x10
+ mul r0, r2
+ add r4, r5, r0
+ ldr r0, [r4, #4]
+ cmp r0, #0
+ bne _021DA0CE
+ bl ErrorHandling
+ b _021DA0CE
+_021DA0C6:
+ add r2, r2, #1
+ add r3, #0x28
+ cmp r2, #0x10
+ blt _021DA0AC
+_021DA0CE:
+ cmp r4, #0
+ bne _021DA0D6
+ bl ErrorHandling
+_021DA0D6:
+ add r0, r4, #0
+ add sp, #0x14
+ pop {r4, r5, pc}
+
+ thumb_func_start MOD05_021DA0DC
+MOD05_021DA0DC: ; 0x021DA0DC
+ str r1, [r0, #0x10]
+ bx lr
+
+ thumb_func_start MOD05_021DA0E0
+MOD05_021DA0E0: ; 0x021DA0E0
+ mov r1, #1
+ str r1, [r0, #0x1c]
+ bx lr
+ .balign 4, 0
+
+ thumb_func_start MOD05_021DA0E8
+MOD05_021DA0E8: ; 0x021DA0E8
+ ldr r1, [r0, #0x20]
+ ldr r0, [r0]
+ cmp r1, #0
+ bne _021DA10A
+ ldr r2, [r0]
+ ldr r0, [r0, #8]
+ ldrh r0, [r0, #4]
+ lsl r1, r0, #0xc
+ mov r0, #1
+ lsl r0, r0, #0xc
+ sub r0, r1, r0
+ cmp r2, r0
+ blt _021DA106
+ mov r0, #1
+ bx lr
+_021DA106:
+ mov r0, #0
+ bx lr
+_021DA10A:
+ ldr r0, [r0]
+ cmp r0, #0
+ bne _021DA114
+ mov r0, #1
+ bx lr
+_021DA114:
+ mov r0, #0
+ bx lr
+
+ thumb_func_start MOD05_021DA118
+MOD05_021DA118: ; 0x021DA118
+ ldr r1, [r0, #0x20]
+ cmp r1, #0
+ bne _021DA126
+ ldr r0, [r0]
+ mov r1, #0
+ str r1, [r0]
+ bx lr
+_021DA126:
+ ldr r2, [r0]
+ ldr r0, [r2, #8]
+ ldrh r0, [r0, #4]
+ lsl r1, r0, #0xc
+ mov r0, #1
+ lsl r0, r0, #0xc
+ sub r0, r1, r0
+ str r0, [r2]
+ bx lr
+
+ thumb_func_start MOD05_021DA138
+MOD05_021DA138: ; 0x021DA138
+ ldr r1, [r0, #0x20]
+ cmp r1, #0
+ bne _021DA150
+ ldr r2, [r0]
+ ldr r0, [r2, #8]
+ ldrh r0, [r0, #4]
+ lsl r1, r0, #0xc
+ mov r0, #1
+ lsl r0, r0, #0xc
+ sub r0, r1, r0
+ str r0, [r2]
+ bx lr
+_021DA150:
+ ldr r0, [r0]
+ mov r1, #0
+ str r1, [r0]
+ bx lr
+
+ thumb_func_start MOD05_021DA158
+MOD05_021DA158: ; 0x021DA158
+ ldr r1, [r0, #0x20]
+ cmp r1, #0
+ bne _021DA17E
+ ldr r3, [r0]
+ mov r1, #1
+ ldr r2, [r3]
+ lsl r1, r1, #0xc
+ add r1, r2, r1
+ str r1, [r3]
+ ldr r2, [r0]
+ ldr r0, [r2, #8]
+ ldr r1, [r2]
+ ldrh r0, [r0, #4]
+ lsl r0, r0, #0xc
+ cmp r1, r0
+ bne _021DA19E
+ mov r0, #0
+ str r0, [r2]
+ bx lr
+_021DA17E:
+ ldr r0, [r0]
+ ldr r2, [r0]
+ cmp r2, #0
+ bgt _021DA196
+ ldr r1, [r0, #8]
+ ldrh r1, [r1, #4]
+ lsl r2, r1, #0xc
+ mov r1, #1
+ lsl r1, r1, #0xc
+ sub r1, r2, r1
+ str r1, [r0]
+ bx lr
+_021DA196:
+ mov r1, #1
+ lsl r1, r1, #0xc
+ sub r1, r2, r1
+ str r1, [r0]
+_021DA19E:
+ bx lr
+
+ thumb_func_start MOD05_021DA1A0
+MOD05_021DA1A0: ; 0x021DA1A0
+ str r1, [r0, #0x20]
+ bx lr
+
+ thumb_func_start MOD05_021DA1A4
+MOD05_021DA1A4: ; 0x021DA1A4
+ str r1, [r0, #0x18]
+ bx lr
+
+ thumb_func_start MOD05_021DA1A8
+MOD05_021DA1A8: ; 0x021DA1A8
+ str r1, [r0, #0x24]
+ bx lr
+
+ thumb_func_start MOD05_021DA1AC
+MOD05_021DA1AC: ; 0x021DA1AC
+ push {r3, r4, r5, r6, r7, lr}
+ str r0, [sp]
+ cmp r0, #0
+ beq _021DA20A
+ mov r4, #0
+ add r5, r0, #0
+ add r5, #0x10
+ add r6, r4, #0
+ sub r7, r4, #1
+_021DA1BE:
+ ldr r0, [r5, #4]
+ cmp r0, #1
+ bne _021DA1F6
+ ldr r0, [r5, #0x10]
+ cmp r0, #1
+ beq _021DA1F6
+ ldr r0, [r5, #0x1c]
+ cmp r0, #0
+ beq _021DA1F6
+ add r0, r5, #0
+ bl MOD05_021DA158
+ ldr r0, [r5, #0x18]
+ cmp r0, r7
+ beq _021DA1F6
+ add r0, r5, #0
+ bl MOD05_021DA0E8
+ cmp r0, #0
+ beq _021DA1F6
+ ldr r0, [r5, #8]
+ add r1, r0, #1
+ ldr r0, [r5, #0x18]
+ cmp r1, r0
+ blt _021DA1F4
+ str r6, [r5, #0x1c]
+ b _021DA1F6
+_021DA1F4:
+ str r1, [r5, #8]
+_021DA1F6:
+ add r4, r4, #1
+ add r5, #0x28
+ cmp r4, #0x10
+ blt _021DA1BE
+ mov r1, #0x29
+ ldr r0, [sp]
+ lsl r1, r1, #4
+ add r0, r0, r1
+ bl MOD05_021D9B20
+_021DA20A:
+ pop {r3, r4, r5, r6, r7, pc}
+
+ thumb_func_start MOD05_021DA20C
+MOD05_021DA20C: ; 0x021DA20C
+ push {r3, lr}
+ bl MOD05_021D9C00
+ cmp r0, #0
+ bne _021DA21A
+ mov r0, #1
+ pop {r3, pc}
+_021DA21A:
+ mov r0, #0
+ pop {r3, pc}
+ .balign 4, 0
+
+ thumb_func_start MOD05_021DA220
+MOD05_021DA220: ; 0x021DA220
+ mov r1, #0xad
+ lsl r1, r1, #2
+ ldr r3, _021DA22C ; =NARC_GetFileCount
+ ldr r0, [r0, r1]
+ bx r3
+ nop
+_021DA22C: .word NARC_GetFileCount
+
+ thumb_func_start MOD05_021DA230
+MOD05_021DA230: ; 0x021DA230
+ push {lr}
+ sub sp, #0x14
+ mov r2, #0xad
+ lsl r2, r2, #2
+ ldr r0, [r0, r2]
+ add r2, sp, #0
+ bl NARC_ReadWholeMember
+ add r0, sp, #0
+ ldrb r0, [r0]
+ cmp r0, #0
+ bne _021DA24E
+ add sp, #0x14
+ mov r0, #0
+ pop {pc}
+_021DA24E:
+ mov r0, #0
+ add r3, sp, #0
+ sub r1, r0, #1
+_021DA254:
+ lsl r2, r0, #2
+ add r2, r3, r2
+ ldr r2, [r2, #4]
+ cmp r2, r1
+ beq _021DA268
+ add r0, r0, #1
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ cmp r0, #4
+ blo _021DA254
+_021DA268:
+ add sp, #0x14
+ pop {pc}
+
+ thumb_func_start MOD05_021DA26C
+MOD05_021DA26C: ; 0x021DA26C
+ push {r3, r4, r5, lr}
+ add r5, r0, #0
+ add r4, r1, #0
+ bne _021DA278
+ bl ErrorHandling
+_021DA278:
+ mov r1, #0x10
+ mov r0, #0
+ mov r2, #0x38
+_021DA27E:
+ cmp r1, #0x10
+ bne _021DA292
+ add r3, r0, #0
+ mul r3, r2
+ add r3, r5, r3
+ add r3, #0x34
+ ldrb r3, [r3]
+ cmp r3, #0
+ bne _021DA292
+ add r1, r0, #0
+_021DA292:
+ add r0, r0, #1
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ cmp r0, #0x10
+ blo _021DA27E
+ cmp r1, #0x10
+ beq _021DA2AE
+ mov r0, #0x38
+ add r2, r1, #0
+ mul r2, r0
+ add r0, r5, r2
+ add r0, #0x34
+ strb r4, [r0]
+ b _021DA2B6
+_021DA2AE:
+ bl ErrorHandling
+ mov r0, #0
+ pop {r3, r4, r5, pc}
+_021DA2B6:
+ add r0, r5, r2
+ pop {r3, r4, r5, pc}
+ .balign 4, 0
+
+ thumb_func_start MOD05_021DA2BC
+MOD05_021DA2BC: ; 0x021DA2BC
+ add r1, r0, #0
+ mov r3, #0
+ add r1, #0x34
+ strb r3, [r1]
+ str r3, [r0, #0x30]
+ str r3, [r0, #0x2c]
+ add r2, r3, #0
+_021DA2CA:
+ lsl r1, r3, #2
+ add r1, r0, r1
+ str r2, [r1, #0x14]
+ add r1, r3, #1
+ lsl r1, r1, #0x18
+ lsr r3, r1, #0x18
+ cmp r3, #6
+ blo _021DA2CA
+ bx lr
+
+ thumb_func_start MOD05_021DA2DC
+MOD05_021DA2DC: ; 0x021DA2DC
+ push {r4, r5}
+ mov r4, #0
+ add r3, r4, #0
+ add r5, r0, #0
+_021DA2E4:
+ add r2, r5, #0
+ add r2, #0x34
+ ldrb r2, [r2]
+ cmp r1, r2
+ bne _021DA2F6
+ mov r1, #0x38
+ mul r1, r3
+ add r4, r0, r1
+ b _021DA2FE
+_021DA2F6:
+ add r3, r3, #1
+ add r5, #0x38
+ cmp r3, #0x10
+ blt _021DA2E4
+_021DA2FE:
+ add r0, r4, #0
+ pop {r4, r5}
+ bx lr
+
+ thumb_func_start MOD05_021DA304
+MOD05_021DA304: ; 0x021DA304
+ push {r4, r5, r6, lr}
+ add r4, r1, #0
+ add r5, r0, #0
+ add r6, r2, #0
+ cmp r4, #4
+ ble _021DA314
+ bl ErrorHandling
+_021DA314:
+ cmp r5, #0
+ beq _021DA31A
+ str r5, [r6, #0x14]
+_021DA31A:
+ str r4, [r6, #0x10]
+ pop {r4, r5, r6, pc}
+ .balign 4, 0
+
+ thumb_func_start MOD05_021DA320
+MOD05_021DA320: ; 0x021DA320
+ push {r4, r5, r6, lr}
+ add r5, r0, #0
+ ldr r0, [r5, #0x10]
+ add r4, r1, #0
+ add r6, r2, #0
+ cmp r4, r0
+ blt _021DA332
+ bl ErrorHandling
+_021DA332:
+ lsl r0, r4, #2
+ str r6, [r5, r0]
+ pop {r4, r5, r6, pc}
+
+ thumb_func_start MOD05_021DA338
+MOD05_021DA338: ; 0x021DA338
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #8
+ add r5, r0, #0
+ ldr r0, [r5, #0x10]
+ add r4, r1, #0
+ cmp r4, r0
+ blt _021DA34A
+ bl ErrorHandling
+_021DA34A:
+ lsl r0, r4, #2
+ ldr r0, [r5, r0]
+ str r0, [sp, #4]
+ bl MOD05_021D9BD4
+ str r0, [sp]
+ ldr r0, [r5, #0x2c]
+ bl MOD05_021D9BD4
+ add r7, r0, #0
+ mov r4, #0
+_021DA360:
+ lsl r0, r4, #2
+ add r6, r5, r0
+ ldr r0, [r6, #0x14]
+ cmp r0, #0
+ beq _021DA378
+ add r1, r7, #0
+ bl MOD05_021D9B04
+ ldr r0, [r6, #0x14]
+ ldr r1, [sp]
+ bl FUN_020B7EFC
+_021DA378:
+ add r0, r4, #1
+ lsl r0, r0, #0x18
+ lsr r4, r0, #0x18
+ cmp r4, #6
+ blo _021DA360
+ ldr r0, [sp, #4]
+ str r0, [r5, #0x2c]
+ add sp, #8
+ pop {r3, r4, r5, r6, r7, pc}
+ .balign 4, 0
+
+ thumb_func_start MOD05_021DA38C
+MOD05_021DA38C: ; 0x021DA38C
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #0x28
+ str r0, [sp, #0x18]
+ ldr r0, [sp, #0x40]
+ str r1, [sp, #0x1c]
+ str r0, [sp, #0x40]
+ ldr r0, [sp, #0x4c]
+ str r2, [sp, #0x20]
+ str r0, [sp, #0x4c]
+ add r0, r3, #0
+ mov r5, #0
+ str r3, [sp, #0x24]
+ ldr r6, [sp, #0x44]
+ ldr r7, [sp, #0x48]
+ cmp r0, #0
+ ble _021DA3E4
+_021DA3AC:
+ str r6, [sp]
+ mov r0, #1
+ str r0, [sp, #4]
+ str r0, [sp, #8]
+ ldr r0, [sp, #0x1c]
+ ldr r2, [sp, #0x40]
+ str r0, [sp, #0xc]
+ ldr r0, [sp, #0x20]
+ add r1, r5, #0
+ str r0, [sp, #0x10]
+ ldr r0, [sp, #0x18]
+ mov r3, #0
+ str r7, [sp, #0x14]
+ bl MOD05_021D9C14
+ add r4, r0, #0
+ bne _021DA3D2
+ bl ErrorHandling
+_021DA3D2:
+ ldr r0, [sp, #0x4c]
+ add r1, r5, #0
+ add r2, r4, #0
+ bl MOD05_021DA320
+ ldr r0, [sp, #0x24]
+ add r5, r5, #1
+ cmp r5, r0
+ blt _021DA3AC
+_021DA3E4:
+ add sp, #0x28
+ pop {r3, r4, r5, r6, r7, pc}
+
+ thumb_func_start MOD05_021DA3E8
+MOD05_021DA3E8: ; 0x021DA3E8
+ push {r3, r4, r5, r6, r7, lr}
+ add r6, r1, #0
+ str r0, [sp]
+ ldr r0, [r6, #0x2c]
+ bl MOD05_021D9BD4
+ add r7, r0, #0
+ mov r4, #0
+ add r5, r6, #0
+_021DA3FA:
+ ldr r0, [r5, #0x14]
+ cmp r0, #0
+ beq _021DA406
+ add r1, r7, #0
+ bl MOD05_021D9B04
+_021DA406:
+ add r4, r4, #1
+ add r5, r5, #4
+ cmp r4, #6
+ blt _021DA3FA
+ ldr r0, [r6, #0x10]
+ mov r5, #0
+ cmp r0, #0
+ ble _021DA42C
+ add r4, r6, #0
+ add r7, r5, #0
+_021DA41A:
+ ldr r0, [r4]
+ ldr r1, [sp]
+ bl MOD05_021D9F80
+ stmia r4!, {r7}
+ ldr r0, [r6, #0x10]
+ add r5, r5, #1
+ cmp r5, r0
+ blt _021DA41A
+_021DA42C:
+ pop {r3, r4, r5, r6, r7, pc}
+ .balign 4, 0
+
+ thumb_func_start MOD05_021DA430
+MOD05_021DA430: ; 0x021DA430
+ push {r4, lr}
+ mov r1, #0xe
+ mov r0, #4
+ lsl r1, r1, #6
+ bl AllocFromHeap
+ add r4, r0, #0
+ mov r2, #0xe
+ mov r0, #0
+ add r1, r4, #0
+ lsl r2, r2, #6
+ bl MIi_CpuClearFast
+ add r0, r4, #0
+ pop {r4, pc}
+ .balign 4, 0
+
+ thumb_func_start MOD05_021DA450
+MOD05_021DA450: ; 0x021DA450
+ push {r4, lr}
+ add r4, r0, #0
+ ldr r0, [r4]
+ cmp r0, #0
+ beq _021DA462
+ bl FreeToHeap
+ mov r0, #0
+ str r0, [r4]
+_021DA462:
+ pop {r4, pc}
+
+ thumb_func_start MOD05_021DA464
+MOD05_021DA464: ; 0x021DA464
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #0x10
+ add r7, r0, #0
+ add r0, r1, #0
+ lsl r1, r2, #0x18
+ lsr r1, r1, #0x18
+ add r6, r3, #0
+ bl MOD05_021DA26C
+ add r5, r0, #0
+ bne _021DA482
+ bl ErrorHandling
+ add sp, #0x10
+ pop {r3, r4, r5, r6, r7, pc}
+_021DA482:
+ ldr r0, [sp, #0x28]
+ ldr r1, [sp, #0x34]
+ add r2, r5, #0
+ bl MOD05_021DA304
+ add r0, sp, #0x38
+ ldrb r4, [r0]
+ cmp r4, #0
+ bne _021DA498
+ bl ErrorHandling
+_021DA498:
+ cmp r4, #0
+ bne _021DA49E
+ mov r4, #1
+_021DA49E:
+ ldr r0, [sp, #0x3c]
+ str r4, [sp]
+ str r0, [sp, #4]
+ str r7, [sp, #8]
+ ldr r1, [sp, #0x2c]
+ ldr r2, [sp, #0x30]
+ ldr r3, [sp, #0x34]
+ add r0, r6, #0
+ str r5, [sp, #0xc]
+ bl MOD05_021DA38C
+ str r6, [r5, #0x30]
+ add sp, #0x10
+ pop {r3, r4, r5, r6, r7, pc}
+ .balign 4, 0
+
+ thumb_func_start MOD05_021DA4BC
+MOD05_021DA4BC: ; 0x021DA4BC
+ push {r3, r4, r5, r6, r7, lr}
+ add r4, r2, #0
+ add r5, r0, #0
+ add r7, r1, #0
+ add r6, r3, #0
+ cmp r4, #6
+ blo _021DA4CE
+ bl ErrorHandling
+_021DA4CE:
+ add r0, r5, #0
+ add r1, r7, #0
+ bl MOD05_021DA2DC
+ add r5, r0, #0
+ add r5, #0x14
+ lsl r4, r4, #2
+ ldr r0, [r5, r4]
+ cmp r0, #0
+ beq _021DA4E6
+ bl ErrorHandling
+_021DA4E6:
+ str r6, [r5, r4]
+ pop {r3, r4, r5, r6, r7, pc}
+ .balign 4, 0
+
+ thumb_func_start MOD05_021DA4EC
+MOD05_021DA4EC: ; 0x021DA4EC
+ push {r4, r5, r6, lr}
+ add r4, r1, #0
+ add r5, r0, #0
+ add r6, r2, #0
+ cmp r4, #0
+ bne _021DA4FC
+ bl ErrorHandling
+_021DA4FC:
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD05_021DA2DC
+ add r1, r6, #0
+ bl MOD05_021DA338
+ mov r1, #0
+ bl MOD05_021DA0DC
+ pop {r4, r5, r6, pc}
+ .balign 4, 0
+
+ thumb_func_start MOD05_021DA514
+MOD05_021DA514: ; 0x021DA514
+ push {r3, r4, r5, r6, r7, lr}
+ add r5, r1, #0
+ add r6, r0, #0
+ add r7, r2, #0
+ add r4, r3, #0
+ cmp r5, #0
+ bne _021DA526
+ bl ErrorHandling
+_021DA526:
+ add r0, r6, #0
+ add r1, r5, #0
+ bl MOD05_021DA2DC
+ add r1, r7, #0
+ bl MOD05_021DA338
+ add r5, r0, #0
+ cmp r4, #0
+ beq _021DA542
+ lsl r0, r4, #0x10
+ lsr r0, r0, #0x10
+ bl FUN_020054C8
+_021DA542:
+ add r0, r5, #0
+ mov r1, #0
+ bl MOD05_021DA0DC
+ pop {r3, r4, r5, r6, r7, pc}
+
+ thumb_func_start MOD05_021DA54C
+MOD05_021DA54C: ; 0x021DA54C
+ push {r4, r5, r6, lr}
+ add r5, r0, #0
+ add r4, r1, #0
+ add r6, r2, #0
+ bne _021DA55A
+ bl ErrorHandling
+_021DA55A:
+ add r0, r4, #0
+ add r1, r6, #0
+ bl MOD05_021DA2DC
+ add r4, r0, #0
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD05_021DA3E8
+ add r0, r4, #0
+ bl MOD05_021DA2BC
+ pop {r4, r5, r6, pc}
+
+ thumb_func_start MOD05_021DA574
+MOD05_021DA574: ; 0x021DA574
+ push {r3, r4, r5, lr}
+ add r5, r0, #0
+ add r4, r1, #0
+ bne _021DA580
+ bl ErrorHandling
+_021DA580:
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD05_021DA2DC
+ ldr r0, [r0, #0x2c]
+ pop {r3, r4, r5, pc}
+
+ thumb_func_start MOD05_021DA58C
+MOD05_021DA58C: ; 0x021DA58C
+ push {r4, lr}
+ bl MOD05_021DA574
+ add r4, r0, #0
+ bne _021DA59A
+ bl ErrorHandling
+_021DA59A:
+ add r0, r4, #0
+ bl MOD05_021DA20C
+ cmp r0, #0
+ beq _021DA5A8
+ mov r0, #1
+ pop {r4, pc}
+_021DA5A8:
+ mov r0, #0
+ pop {r4, pc}
+
+ thumb_func_start MOD05_021DA5AC
+MOD05_021DA5AC: ; 0x021DA5AC
+ push {r3, lr}
+ bl MOD05_021DA2DC
+ ldr r0, [r0, #0x30]
+ pop {r3, pc}
+ .balign 4, 0
diff --git a/arm9/modules/05/asm/module_05.s b/arm9/modules/05/asm/module_05.s
index a86f794b..3eef4bfb 100644
--- a/arm9/modules/05/asm/module_05.s
+++ b/arm9/modules/05/asm/module_05.s
@@ -3,1634 +3,6 @@
.section .text
.balign 4, 0
- thumb_func_start MOD05_021D9A48
-MOD05_021D9A48: ; 0x021D9A48
- push {r3, r4, r5, r6, r7, lr}
- add r7, r2, #0
- add r6, r0, #0
- add r5, r1, #0
- mov r0, #0
- ldr r1, [r7, #0x18]
- mvn r0, r0
- add r4, r3, #0
- cmp r1, r0
- bne _021D9A60
- bl ErrorHandling
-_021D9A60:
- mov r0, #0
- add r1, r6, #0
-_021D9A64:
- ldr r2, [r1]
- cmp r2, #0
- beq _021D9A7A
- ldr r2, [r1, #0xc]
- cmp r4, r2
- bne _021D9A7A
- ldr r2, [r1, #4]
- cmp r2, r5
- bne _021D9A7A
- mov r0, #0
- pop {r3, r4, r5, r6, r7, pc}
-_021D9A7A:
- add r0, r0, #1
- add r1, #0x10
- cmp r0, #2
- blt _021D9A64
- mov r2, #0
- add r1, r6, #0
-_021D9A86:
- ldr r0, [r1]
- cmp r0, #0
- bne _021D9A9C
- lsl r1, r2, #4
- mov r0, #1
- str r0, [r6, r1]
- add r0, r6, r1
- str r4, [r0, #0xc]
- str r7, [r0, #8]
- str r5, [r0, #4]
- b _021D9AA4
-_021D9A9C:
- add r2, r2, #1
- add r1, #0x10
- cmp r2, #2
- blt _021D9A86
-_021D9AA4:
- mov r0, #1
- pop {r3, r4, r5, r6, r7, pc}
-
- thumb_func_start MOD05_021D9AA8
-MOD05_021D9AA8: ; 0x021D9AA8
- push {r3, r4, r5, r6, r7, lr}
- add r6, r0, #0
- mov r0, #0
- add r4, r1, #0
- mvn r0, r0
- add r7, r2, #0
- add r5, r3, #0
- cmp r4, r0
- bne _021D9ABE
- bl ErrorHandling
-_021D9ABE:
- add r0, r6, #0
- add r1, r4, #0
- mov r2, #4
- bl NARC_AllocAndReadWholeMember
- add r4, r0, #0
- bne _021D9AD0
- bl ErrorHandling
-_021D9AD0:
- add r0, r4, #0
- mov r1, #0
- bl FUN_020BC4C8
- add r6, r0, #0
- bne _021D9AE0
- bl ErrorHandling
-_021D9AE0:
- ldr r0, [sp, #0x1c]
- add r1, r6, #0
- add r2, r7, #0
- bl FUN_020BB8D0
- str r0, [r5]
- cmp r5, #0
- bne _021D9AF4
- bl ErrorHandling
-_021D9AF4:
- ldr r0, [r5]
- ldr r3, [sp, #0x18]
- add r1, r6, #0
- add r2, r7, #0
- bl FUN_020B8110
- add r0, r4, #0
- pop {r3, r4, r5, r6, r7, pc}
-
- thumb_func_start MOD05_021D9B04
-MOD05_021D9B04: ; 0x021D9B04
- push {r3, lr}
- cmp r1, #0
- bne _021D9B0E
- mov r0, #0
- pop {r3, pc}
-_021D9B0E:
- cmp r0, #0
- bne _021D9B16
- mov r0, #0
- pop {r3, pc}
-_021D9B16:
- bl FUN_020B7E28
- mov r0, #1
- pop {r3, pc}
- .balign 4, 0
-
- thumb_func_start MOD05_021D9B20
-MOD05_021D9B20: ; 0x021D9B20
- push {r4, r5, r6, lr}
- mov r4, #0
- add r5, r0, #0
- add r6, r4, #0
-_021D9B28:
- ldr r0, [r5]
- cmp r0, #0
- beq _021D9B4A
- ldr r0, [r5, #8]
- bl MOD05_021DA20C
- cmp r0, #0
- beq _021D9B4A
- ldr r1, [r5, #8]
- ldr r0, [r5, #4]
- ldr r1, [r1]
- bl MOD05_021D9B04
- str r6, [r5]
- str r6, [r5, #0xc]
- str r6, [r5, #8]
- str r6, [r5, #4]
-_021D9B4A:
- add r4, r4, #1
- add r5, #0x10
- cmp r4, #2
- blt _021D9B28
- pop {r4, r5, r6, pc}
-
- thumb_func_start MOD05_021D9B54
-MOD05_021D9B54: ; 0x021D9B54
- push {r3, r4, r5, r6, r7, lr}
- mov r1, #0xae
- mov r0, #4
- lsl r1, r1, #2
- bl AllocFromHeap
- add r7, r0, #0
- mov r1, #0
- add r2, r7, #0
- add r6, r1, #0
- sub r0, r1, #1
-_021D9B6A:
- str r6, [r2, #0x14]
- str r6, [r2, #0x20]
- str r6, [r2, #0x10]
- str r6, [r2, #0x18]
- str r6, [r2, #0x1c]
- str r6, [r2, #0x24]
- str r0, [r2, #0x28]
- str r6, [r2, #0x2c]
- str r6, [r2, #0x30]
- str r6, [r2, #0x34]
- add r1, r1, #1
- add r2, #0x28
- cmp r1, #0x10
- blt _021D9B6A
- mov r0, #0x29
- lsl r0, r0, #4
- add r2, r0, #0
- add r3, r0, #0
- add r5, r7, #0
- mov r4, #0
- add r1, r0, #4
- add r2, #8
- add r3, #0xc
-_021D9B98:
- str r4, [r5, r0]
- str r4, [r5, r1]
- str r4, [r5, r2]
- str r4, [r5, r3]
- add r6, r6, #1
- add r5, #0x10
- cmp r6, #2
- blt _021D9B98
- mov r1, #4
- add r0, r7, #0
- add r2, r1, #0
- bl FUN_02016B20
- mov r0, #0x6e
- mov r1, #4
- bl NARC_ctor
- mov r1, #0x2b
- lsl r1, r1, #4
- str r0, [r7, r1]
- mov r0, #0x6f
- mov r1, #4
- bl NARC_ctor
- mov r1, #0xad
- lsl r1, r1, #2
- str r0, [r7, r1]
- add r0, r7, #0
- pop {r3, r4, r5, r6, r7, pc}
- .balign 4, 0
-
- thumb_func_start MOD05_021D9BD4
-MOD05_021D9BD4: ; 0x021D9BD4
- cmp r0, #0
- bne _021D9BDC
- mov r0, #0
- bx lr
-_021D9BDC:
- ldr r0, [r0]
- bx lr
-
- thumb_func_start MOD05_021D9BE0
-MOD05_021D9BE0: ; 0x021D9BE0
- mov r1, #1
- and r0, r1
- cmp r0, #1
- beq _021D9BEA
- mov r1, #0
-_021D9BEA:
- add r0, r1, #0
- bx lr
- .balign 4, 0
-
- thumb_func_start MOD05_021D9BF0
-MOD05_021D9BF0: ; 0x021D9BF0
- asr r1, r0, #1
- mov r0, #1
- and r1, r0
- cmp r1, #1
- beq _021D9BFC
- mov r0, #0
-_021D9BFC:
- bx lr
- .balign 4, 0
-
- thumb_func_start MOD05_021D9C00
-MOD05_021D9C00: ; 0x021D9C00
- push {r4, lr}
- add r4, r0, #0
- ldr r0, [r4, #4]
- cmp r0, #1
- beq _021D9C0E
- bl ErrorHandling
-_021D9C0E:
- ldr r0, [r4, #0x1c]
- pop {r4, pc}
- .balign 4, 0
-
- thumb_func_start MOD05_021D9C14
-MOD05_021D9C14: ; 0x021D9C14
- push {r4, r5, r6, r7, lr}
- sub sp, #0x24
- add r6, r0, #0
- mov r0, #0xad
- ldr r7, [sp, #0x4c]
- lsl r0, r0, #2
- add r4, r1, #0
- str r2, [sp, #8]
- ldr r0, [r7, r0]
- add r1, r6, #0
- add r2, sp, #0x10
- add r5, r3, #0
- bl NARC_ReadWholeMember
- cmp r4, #4
- blt _021D9C38
- bl ErrorHandling
-_021D9C38:
- lsl r1, r4, #2
- add r0, sp, #0x14
- ldr r0, [r0, r1]
- mov r1, #0
- mvn r1, r1
- str r0, [sp, #0xc]
- cmp r0, r1
- bne _021D9C4E
- add sp, #0x24
- mov r0, #0
- pop {r4, r5, r6, r7, pc}
-_021D9C4E:
- add r0, sp, #0x10
- ldrb r0, [r0, #1]
- bl MOD05_021D9BE0
- ldr r1, [sp, #0x40]
- cmp r1, r0
- beq _021D9C62
- add sp, #0x24
- mov r0, #0
- pop {r4, r5, r6, r7, pc}
-_021D9C62:
- mov r6, #0
- add r4, r7, #0
-_021D9C66:
- cmp r5, #0
- beq _021D9C74
- ldr r0, [r4, #0x34]
- cmp r5, r0
- bne _021D9C74
- bl ErrorHandling
-_021D9C74:
- add r6, r6, #1
- add r4, #0x28
- cmp r6, #0x10
- blt _021D9C66
- mov r2, #0
- add r1, r7, #0
-_021D9C80:
- ldr r0, [r1, #0x14]
- cmp r0, #0
- bne _021D9CD8
- add r4, r2, #0
- mov r0, #0x28
- mul r4, r0
- mov r1, #1
- add r0, r7, r4
- str r1, [r0, #0x14]
- ldr r1, [sp, #0x3c]
- add r6, r7, #0
- str r1, [r0, #0x20]
- add r6, #0x10
- mov r1, #0
- str r1, [r6, r4]
- str r1, [r0, #0x18]
- ldr r1, [sp, #0xc]
- ldr r2, [sp, #0x44]
- str r1, [r0, #0x1c]
- ldr r1, [sp, #0x38]
- add r3, r6, r4
- str r1, [r0, #0x30]
- str r5, [r0, #0x34]
- ldr r0, [sp, #0x48]
- ldr r1, [sp, #0xc]
- str r0, [sp]
- mov r0, #0x2b
- str r7, [sp, #4]
- lsl r0, r0, #4
- ldr r0, [r7, r0]
- bl MOD05_021D9AA8
- add r1, r7, r4
- str r0, [r1, #0x24]
- ldr r0, [sp, #8]
- str r0, [r1, #0x28]
- mov r0, #1
- str r0, [r1, #0x2c]
- add r0, r6, r4
- bl MOD05_021DA118
- add sp, #0x24
- add r0, r6, r4
- pop {r4, r5, r6, r7, pc}
-_021D9CD8:
- add r2, r2, #1
- add r1, #0x28
- cmp r2, #0x10
- blt _021D9C80
- bl ErrorHandling
- mov r0, #0
- add sp, #0x24
- pop {r4, r5, r6, r7, pc}
- .balign 4, 0
-
- thumb_func_start MOD05_021D9CEC
-MOD05_021D9CEC: ; 0x021D9CEC
- push {r4, r5, r6, r7, lr}
- sub sp, #0x34
- add r4, r0, #0
- mov r0, #0xad
- add r6, r3, #0
- lsl r0, r0, #2
- str r1, [sp, #8]
- str r2, [sp, #0xc]
- ldr r0, [r6, r0]
- add r1, r4, #0
- add r2, sp, #0x20
- bl NARC_ReadWholeMember
- add r0, sp, #0x20
- ldrb r0, [r0]
- cmp r0, #0
- beq _021D9DBC
- mov r0, #0
- str r0, [sp, #0x14]
- add r0, sp, #0x20
- str r0, [sp, #0x10]
-_021D9D16:
- ldr r0, [sp, #0x10]
- mov r1, #0
- ldr r0, [r0, #4]
- mvn r1, r1
- str r0, [sp, #0x18]
- cmp r0, r1
- beq _021D9DBC
- add r0, sp, #0x20
- ldrb r0, [r0, #1]
- bl MOD05_021D9BE0
- cmp r0, #0
- bne _021D9DBC
- mov r4, #0
- add r1, r6, #0
-_021D9D34:
- ldr r0, [r1, #0x14]
- cmp r0, #0
- bne _021D9D9C
- mov r0, #0x28
- add r7, r4, #0
- mul r7, r0
- add r5, r6, r7
- mov r0, #1
- str r0, [r5, #0x14]
- mov r1, #0
- str r1, [r5, #0x20]
- str r1, [r5, #0x10]
- ldr r0, [sp, #0x18]
- str r1, [r5, #0x18]
- str r0, [r5, #0x1c]
- add r0, r6, #0
- str r0, [sp, #0x1c]
- add r0, #0x10
- str r0, [sp, #0x1c]
- str r1, [r5, #0x30]
- str r1, [r5, #0x34]
- ldr r0, [sp, #0xc]
- ldr r3, [sp, #0x1c]
- str r0, [sp]
- mov r0, #0x2b
- str r6, [sp, #4]
- lsl r0, r0, #4
- ldr r0, [r6, r0]
- ldr r1, [sp, #0x18]
- ldr r2, [sp, #8]
- add r3, r3, r7
- bl MOD05_021D9AA8
- str r0, [r5, #0x24]
- mov r0, #0
- mvn r0, r0
- str r0, [r5, #0x28]
- mov r0, #1
- str r0, [r5, #0x2c]
- ldr r0, [sp, #0x1c]
- add r0, r0, r7
- bl MOD05_021DA118
- add r0, sp, #0x20
- ldrb r0, [r0, #2]
- cmp r0, #0
- beq _021D9DA4
- add r1, r5, #0
- mov r0, #1
- str r0, [r1, #0x20]
- str r0, [r1, #0x28]
- b _021D9DA4
-_021D9D9C:
- add r4, r4, #1
- add r1, #0x28
- cmp r4, #0x10
- blt _021D9D34
-_021D9DA4:
- cmp r4, #0x10
- bne _021D9DAC
- bl ErrorHandling
-_021D9DAC:
- ldr r0, [sp, #0x10]
- add r0, r0, #4
- str r0, [sp, #0x10]
- ldr r0, [sp, #0x14]
- add r0, r0, #1
- str r0, [sp, #0x14]
- cmp r0, #4
- blt _021D9D16
-_021D9DBC:
- add sp, #0x34
- pop {r4, r5, r6, r7, pc}
-
- thumb_func_start MOD05_021D9DC0
-MOD05_021D9DC0: ; 0x021D9DC0
- push {r3, r4, r5, r6, r7, lr}
- sub sp, #0x18
- ldr r6, [sp, #0x30]
- add r5, r0, #0
- add r4, r1, #0
- add r7, r2, #0
- str r3, [sp]
- cmp r6, #0
- bne _021D9DDC
- bl ErrorHandling
- add sp, #0x18
- mov r0, #0
- pop {r3, r4, r5, r6, r7, pc}
-_021D9DDC:
- add r0, r6, #0
- bl MOD05_021DA220
- cmp r5, r0
- blt _021D9DEC
- add sp, #0x18
- mov r0, #0
- pop {r3, r4, r5, r6, r7, pc}
-_021D9DEC:
- mov r0, #0xad
- lsl r0, r0, #2
- ldr r0, [r6, r0]
- add r1, r5, #0
- add r2, sp, #4
- bl NARC_ReadWholeMember
- cmp r4, #4
- blt _021D9E02
- bl ErrorHandling
-_021D9E02:
- lsl r1, r4, #2
- add r0, sp, #8
- ldr r5, [r0, r1]
- mov r0, #0
- mvn r0, r0
- cmp r5, r0
- bne _021D9E16
- add sp, #0x18
- mov r0, #0
- pop {r3, r4, r5, r6, r7, pc}
-_021D9E16:
- add r0, sp, #4
- ldrb r0, [r0, #1]
- bl MOD05_021D9BF0
- cmp r7, r0
- beq _021D9E28
- add sp, #0x18
- mov r0, #0
- pop {r3, r4, r5, r6, r7, pc}
-_021D9E28:
- mov r4, #0
- add r1, r6, #0
-_021D9E2C:
- ldr r0, [r1, #0x1c]
- cmp r5, r0
- bne _021D9E70
- add r0, sp, #4
- ldrb r0, [r0, #2]
- cmp r0, #0
- beq _021D9E56
- add r2, r6, #0
- mov r3, #0x28
- mov r0, #0x29
- lsl r0, r0, #4
- add r2, #0x10
- mul r3, r4
- add r2, r2, r3
- lsl r3, r5, #0x18
- ldr r1, [sp]
- add r0, r6, r0
- lsr r3, r3, #0x18
- bl MOD05_021D9A48
- b _021D9E58
-_021D9E56:
- mov r0, #1
-_021D9E58:
- cmp r0, #0
- beq _021D9E6A
- mov r1, #0x28
- mul r1, r4
- add r1, r6, r1
- ldr r0, [sp]
- ldr r1, [r1, #0x10]
- bl FUN_020B7EFC
-_021D9E6A:
- add sp, #0x18
- mov r0, #1
- pop {r3, r4, r5, r6, r7, pc}
-_021D9E70:
- add r4, r4, #1
- add r1, #0x28
- cmp r4, #0x10
- blt _021D9E2C
- mov r0, #0
- add sp, #0x18
- pop {r3, r4, r5, r6, r7, pc}
- .balign 4, 0
-
- thumb_func_start MOD05_021D9E80
-MOD05_021D9E80: ; 0x021D9E80
- push {r4, r5, r6, r7, lr}
- sub sp, #0x24
- add r5, r0, #0
- ldr r0, _021D9F44 ; =0x00000000
- str r1, [sp, #0xc]
- add r4, r2, #0
- str r0, [sp]
- bne _021D9E94
- bl ErrorHandling
-_021D9E94:
- add r0, r4, #0
- bl MOD05_021DA220
- cmp r5, r0
- blt _021D9EA4
- add sp, #0x24
- mov r0, #0
- pop {r4, r5, r6, r7, pc}
-_021D9EA4:
- mov r0, #0xad
- lsl r0, r0, #2
- ldr r0, [r4, r0]
- add r1, r5, #0
- add r2, sp, #0x10
- bl NARC_ReadWholeMember
- add r0, sp, #0x10
- ldrb r0, [r0, #1]
- bl MOD05_021D9BF0
- cmp r0, #0
- beq _021D9EC4
- add sp, #0x24
- mov r0, #0
- pop {r4, r5, r6, r7, pc}
-_021D9EC4:
- mov r0, #0
- str r0, [sp, #4]
- add r0, r4, #0
- str r0, [sp, #8]
- add r0, #0x10
- add r7, sp, #0x10
- str r0, [sp, #8]
-_021D9ED2:
- mov r0, #0
- ldr r3, [r7, #4]
- mvn r0, r0
- cmp r3, r0
- bne _021D9EE2
- ldr r0, [sp]
- add sp, #0x24
- pop {r4, r5, r6, r7, pc}
-_021D9EE2:
- mov r5, #0
- add r1, r4, #0
-_021D9EE6:
- ldr r0, [r1, #0x1c]
- cmp r3, r0
- bne _021D9F2A
- add r0, sp, #0x10
- ldrb r0, [r0, #2]
- cmp r0, #0
- beq _021D9F10
- mov r2, #0x28
- add r6, r5, #0
- mov r0, #0x29
- mul r6, r2
- ldr r2, [sp, #8]
- lsl r0, r0, #4
- lsl r3, r3, #0x18
- ldr r1, [sp, #0xc]
- add r0, r4, r0
- add r2, r2, r6
- lsr r3, r3, #0x18
- bl MOD05_021D9A48
- b _021D9F12
-_021D9F10:
- mov r0, #1
-_021D9F12:
- cmp r0, #0
- beq _021D9F32
- mov r1, #0x28
- mul r1, r5
- add r1, r4, r1
- ldr r0, [sp, #0xc]
- ldr r1, [r1, #0x10]
- bl FUN_020B7EFC
- mov r0, #1
- str r0, [sp]
- b _021D9F32
-_021D9F2A:
- add r5, r5, #1
- add r1, #0x28
- cmp r5, #0x10
- blt _021D9EE6
-_021D9F32:
- ldr r0, [sp, #4]
- add r7, r7, #4
- add r0, r0, #1
- str r0, [sp, #4]
- cmp r0, #4
- blt _021D9ED2
- ldr r0, [sp]
- add sp, #0x24
- pop {r4, r5, r6, r7, pc}
- .balign 4, 0
-_021D9F44: .word 0x00000000
-
- thumb_func_start MOD05_021D9F48
-MOD05_021D9F48: ; 0x021D9F48
- push {r3, r4, r5, r6, r7, lr}
- add r6, r0, #0
- beq _021D9F7C
- mov r4, #0
- add r5, r6, #0
- add r7, r4, #0
-_021D9F54:
- ldr r0, [r5, #0x14]
- cmp r0, #0
- beq _021D9F74
- cmp r0, #1
- bne _021D9F6E
- ldr r1, [r5, #0x10]
- add r0, r6, #0
- bl thunk_FUN_020ae84c
- str r7, [r5, #0x10]
- ldr r0, [r5, #0x24]
- bl FreeToHeap
-_021D9F6E:
- mov r0, #0
- str r0, [r5, #0x14]
- str r0, [r5, #0x34]
-_021D9F74:
- add r4, r4, #1
- add r5, #0x28
- cmp r4, #0x10
- blt _021D9F54
-_021D9F7C:
- pop {r3, r4, r5, r6, r7, pc}
- .balign 4, 0
-
- thumb_func_start MOD05_021D9F80
-MOD05_021D9F80: ; 0x021D9F80
- push {r3, r4, r5, lr}
- add r5, r0, #0
- add r4, r1, #0
- beq _021D9FB2
- cmp r5, #0
- bne _021D9F90
- bl ErrorHandling
-_021D9F90:
- ldr r0, [r5, #4]
- cmp r0, #0
- beq _021D9FB2
- cmp r0, #1
- bne _021D9FAC
- ldr r1, [r5]
- add r0, r4, #0
- bl thunk_FUN_020ae84c
- mov r0, #0
- str r0, [r5]
- ldr r0, [r5, #0x14]
- bl FreeToHeap
-_021D9FAC:
- mov r0, #0
- str r0, [r5, #4]
- str r0, [r5, #0x24]
-_021D9FB2:
- pop {r3, r4, r5, pc}
-
- thumb_func_start MOD05_021D9FB4
-MOD05_021D9FB4: ; 0x021D9FB4
- push {r3, r4, r5, r6, lr}
- sub sp, #0x14
- add r4, r0, #0
- mov r0, #0xad
- lsl r0, r0, #2
- add r6, r1, #0
- add r1, r2, #0
- ldr r0, [r4, r0]
- add r2, sp, #0
- add r5, r3, #0
- bl NARC_ReadWholeMember
- cmp r5, #4
- blt _021D9FD4
- bl ErrorHandling
-_021D9FD4:
- lsl r1, r5, #2
- add r0, sp, #4
- ldr r5, [r0, r1]
- mov r0, #0
- mvn r0, r0
- cmp r5, r0
- bne _021D9FE6
- bl ErrorHandling
-_021D9FE6:
- mov r0, #0
- mov r2, #0x28
-_021D9FEA:
- add r1, r0, #0
- mul r1, r2
- add r1, r4, r1
- ldr r3, [r1, #0x14]
- cmp r3, #1
- bne _021DA008
- ldr r3, [r1, #0x1c]
- cmp r5, r3
- bne _021DA008
- ldr r1, [r1, #0x10]
- add r0, r6, #0
- bl MOD05_021D9B04
- add sp, #0x14
- pop {r3, r4, r5, r6, pc}
-_021DA008:
- add r0, r0, #1
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- cmp r0, #0x10
- blo _021D9FEA
- add sp, #0x14
- pop {r3, r4, r5, r6, pc}
- .balign 4, 0
-
- thumb_func_start MOD05_021DA018
-MOD05_021DA018: ; 0x021DA018
- push {r4, lr}
- add r4, r0, #0
- beq _021DA038
- mov r0, #0x2b
- lsl r0, r0, #4
- ldr r0, [r4, r0]
- bl NARC_dtor
- mov r0, #0xad
- lsl r0, r0, #2
- ldr r0, [r4, r0]
- bl NARC_dtor
- add r0, r4, #0
- bl FreeToHeap
-_021DA038:
- pop {r4, pc}
- .balign 4, 0
-
- thumb_func_start MOD05_021DA03C
-MOD05_021DA03C: ; 0x021DA03C
- push {r4, r5, r6, lr}
- add r5, r0, #0
- add r4, r1, #0
- cmp r5, #0
- bne _021DA04A
- bl ErrorHandling
-_021DA04A:
- mov r6, #0
- add r1, r6, #0
- add r2, r4, #0
-_021DA050:
- ldr r0, [r2, #0x34]
- cmp r5, r0
- bne _021DA06A
- mov r0, #0x28
- add r4, #0x10
- mul r0, r1
- add r6, r4, r0
- ldr r0, [r6, #4]
- cmp r0, #0
- bne _021DA072
- bl ErrorHandling
- b _021DA072
-_021DA06A:
- add r1, r1, #1
- add r2, #0x28
- cmp r1, #0x10
- blt _021DA050
-_021DA072:
- cmp r6, #0
- bne _021DA07A
- bl ErrorHandling
-_021DA07A:
- add r0, r6, #0
- pop {r4, r5, r6, pc}
- .balign 4, 0
-
- thumb_func_start MOD05_021DA080
-MOD05_021DA080: ; 0x021DA080
- push {r4, r5, lr}
- sub sp, #0x14
- add r3, r0, #0
- mov r0, #0xad
- add r5, r2, #0
- lsl r0, r0, #2
- add r4, r1, #0
- ldr r0, [r5, r0]
- add r1, r3, #0
- add r2, sp, #0
- bl NARC_ReadWholeMember
- cmp r4, #4
- blt _021DA0A0
- bl ErrorHandling
-_021DA0A0:
- lsl r1, r4, #2
- add r0, sp, #4
- mov r4, #0
- ldr r1, [r0, r1]
- add r2, r4, #0
- add r3, r5, #0
-_021DA0AC:
- ldr r0, [r3, #0x1c]
- cmp r1, r0
- bne _021DA0C6
- mov r0, #0x28
- add r5, #0x10
- mul r0, r2
- add r4, r5, r0
- ldr r0, [r4, #4]
- cmp r0, #0
- bne _021DA0CE
- bl ErrorHandling
- b _021DA0CE
-_021DA0C6:
- add r2, r2, #1
- add r3, #0x28
- cmp r2, #0x10
- blt _021DA0AC
-_021DA0CE:
- cmp r4, #0
- bne _021DA0D6
- bl ErrorHandling
-_021DA0D6:
- add r0, r4, #0
- add sp, #0x14
- pop {r4, r5, pc}
-
- thumb_func_start MOD05_021DA0DC
-MOD05_021DA0DC: ; 0x021DA0DC
- str r1, [r0, #0x10]
- bx lr
-
- thumb_func_start MOD05_021DA0E0
-MOD05_021DA0E0: ; 0x021DA0E0
- mov r1, #1
- str r1, [r0, #0x1c]
- bx lr
- .balign 4, 0
-
- thumb_func_start MOD05_021DA0E8
-MOD05_021DA0E8: ; 0x021DA0E8
- ldr r1, [r0, #0x20]
- ldr r0, [r0]
- cmp r1, #0
- bne _021DA10A
- ldr r2, [r0]
- ldr r0, [r0, #8]
- ldrh r0, [r0, #4]
- lsl r1, r0, #0xc
- mov r0, #1
- lsl r0, r0, #0xc
- sub r0, r1, r0
- cmp r2, r0
- blt _021DA106
- mov r0, #1
- bx lr
-_021DA106:
- mov r0, #0
- bx lr
-_021DA10A:
- ldr r0, [r0]
- cmp r0, #0
- bne _021DA114
- mov r0, #1
- bx lr
-_021DA114:
- mov r0, #0
- bx lr
-
- thumb_func_start MOD05_021DA118
-MOD05_021DA118: ; 0x021DA118
- ldr r1, [r0, #0x20]
- cmp r1, #0
- bne _021DA126
- ldr r0, [r0]
- mov r1, #0
- str r1, [r0]
- bx lr
-_021DA126:
- ldr r2, [r0]
- ldr r0, [r2, #8]
- ldrh r0, [r0, #4]
- lsl r1, r0, #0xc
- mov r0, #1
- lsl r0, r0, #0xc
- sub r0, r1, r0
- str r0, [r2]
- bx lr
-
- thumb_func_start MOD05_021DA138
-MOD05_021DA138: ; 0x021DA138
- ldr r1, [r0, #0x20]
- cmp r1, #0
- bne _021DA150
- ldr r2, [r0]
- ldr r0, [r2, #8]
- ldrh r0, [r0, #4]
- lsl r1, r0, #0xc
- mov r0, #1
- lsl r0, r0, #0xc
- sub r0, r1, r0
- str r0, [r2]
- bx lr
-_021DA150:
- ldr r0, [r0]
- mov r1, #0
- str r1, [r0]
- bx lr
-
- thumb_func_start MOD05_021DA158
-MOD05_021DA158: ; 0x021DA158
- ldr r1, [r0, #0x20]
- cmp r1, #0
- bne _021DA17E
- ldr r3, [r0]
- mov r1, #1
- ldr r2, [r3]
- lsl r1, r1, #0xc
- add r1, r2, r1
- str r1, [r3]
- ldr r2, [r0]
- ldr r0, [r2, #8]
- ldr r1, [r2]
- ldrh r0, [r0, #4]
- lsl r0, r0, #0xc
- cmp r1, r0
- bne _021DA19E
- mov r0, #0
- str r0, [r2]
- bx lr
-_021DA17E:
- ldr r0, [r0]
- ldr r2, [r0]
- cmp r2, #0
- bgt _021DA196
- ldr r1, [r0, #8]
- ldrh r1, [r1, #4]
- lsl r2, r1, #0xc
- mov r1, #1
- lsl r1, r1, #0xc
- sub r1, r2, r1
- str r1, [r0]
- bx lr
-_021DA196:
- mov r1, #1
- lsl r1, r1, #0xc
- sub r1, r2, r1
- str r1, [r0]
-_021DA19E:
- bx lr
-
- thumb_func_start MOD05_021DA1A0
-MOD05_021DA1A0: ; 0x021DA1A0
- str r1, [r0, #0x20]
- bx lr
-
- thumb_func_start MOD05_021DA1A4
-MOD05_021DA1A4: ; 0x021DA1A4
- str r1, [r0, #0x18]
- bx lr
-
- thumb_func_start MOD05_021DA1A8
-MOD05_021DA1A8: ; 0x021DA1A8
- str r1, [r0, #0x24]
- bx lr
-
- thumb_func_start MOD05_021DA1AC
-MOD05_021DA1AC: ; 0x021DA1AC
- push {r3, r4, r5, r6, r7, lr}
- str r0, [sp]
- cmp r0, #0
- beq _021DA20A
- mov r4, #0
- add r5, r0, #0
- add r5, #0x10
- add r6, r4, #0
- sub r7, r4, #1
-_021DA1BE:
- ldr r0, [r5, #4]
- cmp r0, #1
- bne _021DA1F6
- ldr r0, [r5, #0x10]
- cmp r0, #1
- beq _021DA1F6
- ldr r0, [r5, #0x1c]
- cmp r0, #0
- beq _021DA1F6
- add r0, r5, #0
- bl MOD05_021DA158
- ldr r0, [r5, #0x18]
- cmp r0, r7
- beq _021DA1F6
- add r0, r5, #0
- bl MOD05_021DA0E8
- cmp r0, #0
- beq _021DA1F6
- ldr r0, [r5, #8]
- add r1, r0, #1
- ldr r0, [r5, #0x18]
- cmp r1, r0
- blt _021DA1F4
- str r6, [r5, #0x1c]
- b _021DA1F6
-_021DA1F4:
- str r1, [r5, #8]
-_021DA1F6:
- add r4, r4, #1
- add r5, #0x28
- cmp r4, #0x10
- blt _021DA1BE
- mov r1, #0x29
- ldr r0, [sp]
- lsl r1, r1, #4
- add r0, r0, r1
- bl MOD05_021D9B20
-_021DA20A:
- pop {r3, r4, r5, r6, r7, pc}
-
- thumb_func_start MOD05_021DA20C
-MOD05_021DA20C: ; 0x021DA20C
- push {r3, lr}
- bl MOD05_021D9C00
- cmp r0, #0
- bne _021DA21A
- mov r0, #1
- pop {r3, pc}
-_021DA21A:
- mov r0, #0
- pop {r3, pc}
- .balign 4, 0
-
- thumb_func_start MOD05_021DA220
-MOD05_021DA220: ; 0x021DA220
- mov r1, #0xad
- lsl r1, r1, #2
- ldr r3, _021DA22C ; =NARC_GetFileCount
- ldr r0, [r0, r1]
- bx r3
- nop
-_021DA22C: .word NARC_GetFileCount
-
- thumb_func_start MOD05_021DA230
-MOD05_021DA230: ; 0x021DA230
- push {lr}
- sub sp, #0x14
- mov r2, #0xad
- lsl r2, r2, #2
- ldr r0, [r0, r2]
- add r2, sp, #0
- bl NARC_ReadWholeMember
- add r0, sp, #0
- ldrb r0, [r0]
- cmp r0, #0
- bne _021DA24E
- add sp, #0x14
- mov r0, #0
- pop {pc}
-_021DA24E:
- mov r0, #0
- add r3, sp, #0
- sub r1, r0, #1
-_021DA254:
- lsl r2, r0, #2
- add r2, r3, r2
- ldr r2, [r2, #4]
- cmp r2, r1
- beq _021DA268
- add r0, r0, #1
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- cmp r0, #4
- blo _021DA254
-_021DA268:
- add sp, #0x14
- pop {pc}
-
- thumb_func_start MOD05_021DA26C
-MOD05_021DA26C: ; 0x021DA26C
- push {r3, r4, r5, lr}
- add r5, r0, #0
- add r4, r1, #0
- bne _021DA278
- bl ErrorHandling
-_021DA278:
- mov r1, #0x10
- mov r0, #0
- mov r2, #0x38
-_021DA27E:
- cmp r1, #0x10
- bne _021DA292
- add r3, r0, #0
- mul r3, r2
- add r3, r5, r3
- add r3, #0x34
- ldrb r3, [r3]
- cmp r3, #0
- bne _021DA292
- add r1, r0, #0
-_021DA292:
- add r0, r0, #1
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- cmp r0, #0x10
- blo _021DA27E
- cmp r1, #0x10
- beq _021DA2AE
- mov r0, #0x38
- add r2, r1, #0
- mul r2, r0
- add r0, r5, r2
- add r0, #0x34
- strb r4, [r0]
- b _021DA2B6
-_021DA2AE:
- bl ErrorHandling
- mov r0, #0
- pop {r3, r4, r5, pc}
-_021DA2B6:
- add r0, r5, r2
- pop {r3, r4, r5, pc}
- .balign 4, 0
-
- thumb_func_start MOD05_021DA2BC
-MOD05_021DA2BC: ; 0x021DA2BC
- add r1, r0, #0
- mov r3, #0
- add r1, #0x34
- strb r3, [r1]
- str r3, [r0, #0x30]
- str r3, [r0, #0x2c]
- add r2, r3, #0
-_021DA2CA:
- lsl r1, r3, #2
- add r1, r0, r1
- str r2, [r1, #0x14]
- add r1, r3, #1
- lsl r1, r1, #0x18
- lsr r3, r1, #0x18
- cmp r3, #6
- blo _021DA2CA
- bx lr
-
- thumb_func_start MOD05_021DA2DC
-MOD05_021DA2DC: ; 0x021DA2DC
- push {r4, r5}
- mov r4, #0
- add r3, r4, #0
- add r5, r0, #0
-_021DA2E4:
- add r2, r5, #0
- add r2, #0x34
- ldrb r2, [r2]
- cmp r1, r2
- bne _021DA2F6
- mov r1, #0x38
- mul r1, r3
- add r4, r0, r1
- b _021DA2FE
-_021DA2F6:
- add r3, r3, #1
- add r5, #0x38
- cmp r3, #0x10
- blt _021DA2E4
-_021DA2FE:
- add r0, r4, #0
- pop {r4, r5}
- bx lr
-
- thumb_func_start MOD05_021DA304
-MOD05_021DA304: ; 0x021DA304
- push {r4, r5, r6, lr}
- add r4, r1, #0
- add r5, r0, #0
- add r6, r2, #0
- cmp r4, #4
- ble _021DA314
- bl ErrorHandling
-_021DA314:
- cmp r5, #0
- beq _021DA31A
- str r5, [r6, #0x14]
-_021DA31A:
- str r4, [r6, #0x10]
- pop {r4, r5, r6, pc}
- .balign 4, 0
-
- thumb_func_start MOD05_021DA320
-MOD05_021DA320: ; 0x021DA320
- push {r4, r5, r6, lr}
- add r5, r0, #0
- ldr r0, [r5, #0x10]
- add r4, r1, #0
- add r6, r2, #0
- cmp r4, r0
- blt _021DA332
- bl ErrorHandling
-_021DA332:
- lsl r0, r4, #2
- str r6, [r5, r0]
- pop {r4, r5, r6, pc}
-
- thumb_func_start MOD05_021DA338
-MOD05_021DA338: ; 0x021DA338
- push {r3, r4, r5, r6, r7, lr}
- sub sp, #8
- add r5, r0, #0
- ldr r0, [r5, #0x10]
- add r4, r1, #0
- cmp r4, r0
- blt _021DA34A
- bl ErrorHandling
-_021DA34A:
- lsl r0, r4, #2
- ldr r0, [r5, r0]
- str r0, [sp, #4]
- bl MOD05_021D9BD4
- str r0, [sp]
- ldr r0, [r5, #0x2c]
- bl MOD05_021D9BD4
- add r7, r0, #0
- mov r4, #0
-_021DA360:
- lsl r0, r4, #2
- add r6, r5, r0
- ldr r0, [r6, #0x14]
- cmp r0, #0
- beq _021DA378
- add r1, r7, #0
- bl MOD05_021D9B04
- ldr r0, [r6, #0x14]
- ldr r1, [sp]
- bl FUN_020B7EFC
-_021DA378:
- add r0, r4, #1
- lsl r0, r0, #0x18
- lsr r4, r0, #0x18
- cmp r4, #6
- blo _021DA360
- ldr r0, [sp, #4]
- str r0, [r5, #0x2c]
- add sp, #8
- pop {r3, r4, r5, r6, r7, pc}
- .balign 4, 0
-
- thumb_func_start MOD05_021DA38C
-MOD05_021DA38C: ; 0x021DA38C
- push {r3, r4, r5, r6, r7, lr}
- sub sp, #0x28
- str r0, [sp, #0x18]
- ldr r0, [sp, #0x40]
- str r1, [sp, #0x1c]
- str r0, [sp, #0x40]
- ldr r0, [sp, #0x4c]
- str r2, [sp, #0x20]
- str r0, [sp, #0x4c]
- add r0, r3, #0
- mov r5, #0
- str r3, [sp, #0x24]
- ldr r6, [sp, #0x44]
- ldr r7, [sp, #0x48]
- cmp r0, #0
- ble _021DA3E4
-_021DA3AC:
- str r6, [sp]
- mov r0, #1
- str r0, [sp, #4]
- str r0, [sp, #8]
- ldr r0, [sp, #0x1c]
- ldr r2, [sp, #0x40]
- str r0, [sp, #0xc]
- ldr r0, [sp, #0x20]
- add r1, r5, #0
- str r0, [sp, #0x10]
- ldr r0, [sp, #0x18]
- mov r3, #0
- str r7, [sp, #0x14]
- bl MOD05_021D9C14
- add r4, r0, #0
- bne _021DA3D2
- bl ErrorHandling
-_021DA3D2:
- ldr r0, [sp, #0x4c]
- add r1, r5, #0
- add r2, r4, #0
- bl MOD05_021DA320
- ldr r0, [sp, #0x24]
- add r5, r5, #1
- cmp r5, r0
- blt _021DA3AC
-_021DA3E4:
- add sp, #0x28
- pop {r3, r4, r5, r6, r7, pc}
-
- thumb_func_start MOD05_021DA3E8
-MOD05_021DA3E8: ; 0x021DA3E8
- push {r3, r4, r5, r6, r7, lr}
- add r6, r1, #0
- str r0, [sp]
- ldr r0, [r6, #0x2c]
- bl MOD05_021D9BD4
- add r7, r0, #0
- mov r4, #0
- add r5, r6, #0
-_021DA3FA:
- ldr r0, [r5, #0x14]
- cmp r0, #0
- beq _021DA406
- add r1, r7, #0
- bl MOD05_021D9B04
-_021DA406:
- add r4, r4, #1
- add r5, r5, #4
- cmp r4, #6
- blt _021DA3FA
- ldr r0, [r6, #0x10]
- mov r5, #0
- cmp r0, #0
- ble _021DA42C
- add r4, r6, #0
- add r7, r5, #0
-_021DA41A:
- ldr r0, [r4]
- ldr r1, [sp]
- bl MOD05_021D9F80
- stmia r4!, {r7}
- ldr r0, [r6, #0x10]
- add r5, r5, #1
- cmp r5, r0
- blt _021DA41A
-_021DA42C:
- pop {r3, r4, r5, r6, r7, pc}
- .balign 4, 0
-
- thumb_func_start MOD05_021DA430
-MOD05_021DA430: ; 0x021DA430
- push {r4, lr}
- mov r1, #0xe
- mov r0, #4
- lsl r1, r1, #6
- bl AllocFromHeap
- add r4, r0, #0
- mov r2, #0xe
- mov r0, #0
- add r1, r4, #0
- lsl r2, r2, #6
- bl MIi_CpuClearFast
- add r0, r4, #0
- pop {r4, pc}
- .balign 4, 0
-
- thumb_func_start MOD05_021DA450
-MOD05_021DA450: ; 0x021DA450
- push {r4, lr}
- add r4, r0, #0
- ldr r0, [r4]
- cmp r0, #0
- beq _021DA462
- bl FreeToHeap
- mov r0, #0
- str r0, [r4]
-_021DA462:
- pop {r4, pc}
-
- thumb_func_start MOD05_021DA464
-MOD05_021DA464: ; 0x021DA464
- push {r3, r4, r5, r6, r7, lr}
- sub sp, #0x10
- add r7, r0, #0
- add r0, r1, #0
- lsl r1, r2, #0x18
- lsr r1, r1, #0x18
- add r6, r3, #0
- bl MOD05_021DA26C
- add r5, r0, #0
- bne _021DA482
- bl ErrorHandling
- add sp, #0x10
- pop {r3, r4, r5, r6, r7, pc}
-_021DA482:
- ldr r0, [sp, #0x28]
- ldr r1, [sp, #0x34]
- add r2, r5, #0
- bl MOD05_021DA304
- add r0, sp, #0x38
- ldrb r4, [r0]
- cmp r4, #0
- bne _021DA498
- bl ErrorHandling
-_021DA498:
- cmp r4, #0
- bne _021DA49E
- mov r4, #1
-_021DA49E:
- ldr r0, [sp, #0x3c]
- str r4, [sp]
- str r0, [sp, #4]
- str r7, [sp, #8]
- ldr r1, [sp, #0x2c]
- ldr r2, [sp, #0x30]
- ldr r3, [sp, #0x34]
- add r0, r6, #0
- str r5, [sp, #0xc]
- bl MOD05_021DA38C
- str r6, [r5, #0x30]
- add sp, #0x10
- pop {r3, r4, r5, r6, r7, pc}
- .balign 4, 0
-
- thumb_func_start MOD05_021DA4BC
-MOD05_021DA4BC: ; 0x021DA4BC
- push {r3, r4, r5, r6, r7, lr}
- add r4, r2, #0
- add r5, r0, #0
- add r7, r1, #0
- add r6, r3, #0
- cmp r4, #6
- blo _021DA4CE
- bl ErrorHandling
-_021DA4CE:
- add r0, r5, #0
- add r1, r7, #0
- bl MOD05_021DA2DC
- add r5, r0, #0
- add r5, #0x14
- lsl r4, r4, #2
- ldr r0, [r5, r4]
- cmp r0, #0
- beq _021DA4E6
- bl ErrorHandling
-_021DA4E6:
- str r6, [r5, r4]
- pop {r3, r4, r5, r6, r7, pc}
- .balign 4, 0
-
- thumb_func_start MOD05_021DA4EC
-MOD05_021DA4EC: ; 0x021DA4EC
- push {r4, r5, r6, lr}
- add r4, r1, #0
- add r5, r0, #0
- add r6, r2, #0
- cmp r4, #0
- bne _021DA4FC
- bl ErrorHandling
-_021DA4FC:
- add r0, r5, #0
- add r1, r4, #0
- bl MOD05_021DA2DC
- add r1, r6, #0
- bl MOD05_021DA338
- mov r1, #0
- bl MOD05_021DA0DC
- pop {r4, r5, r6, pc}
- .balign 4, 0
-
- thumb_func_start MOD05_021DA514
-MOD05_021DA514: ; 0x021DA514
- push {r3, r4, r5, r6, r7, lr}
- add r5, r1, #0
- add r6, r0, #0
- add r7, r2, #0
- add r4, r3, #0
- cmp r5, #0
- bne _021DA526
- bl ErrorHandling
-_021DA526:
- add r0, r6, #0
- add r1, r5, #0
- bl MOD05_021DA2DC
- add r1, r7, #0
- bl MOD05_021DA338
- add r5, r0, #0
- cmp r4, #0
- beq _021DA542
- lsl r0, r4, #0x10
- lsr r0, r0, #0x10
- bl FUN_020054C8
-_021DA542:
- add r0, r5, #0
- mov r1, #0
- bl MOD05_021DA0DC
- pop {r3, r4, r5, r6, r7, pc}
-
- thumb_func_start MOD05_021DA54C
-MOD05_021DA54C: ; 0x021DA54C
- push {r4, r5, r6, lr}
- add r5, r0, #0
- add r4, r1, #0
- add r6, r2, #0
- bne _021DA55A
- bl ErrorHandling
-_021DA55A:
- add r0, r4, #0
- add r1, r6, #0
- bl MOD05_021DA2DC
- add r4, r0, #0
- add r0, r5, #0
- add r1, r4, #0
- bl MOD05_021DA3E8
- add r0, r4, #0
- bl MOD05_021DA2BC
- pop {r4, r5, r6, pc}
-
- thumb_func_start MOD05_021DA574
-MOD05_021DA574: ; 0x021DA574
- push {r3, r4, r5, lr}
- add r5, r0, #0
- add r4, r1, #0
- bne _021DA580
- bl ErrorHandling
-_021DA580:
- add r0, r5, #0
- add r1, r4, #0
- bl MOD05_021DA2DC
- ldr r0, [r0, #0x2c]
- pop {r3, r4, r5, pc}
-
- thumb_func_start MOD05_021DA58C
-MOD05_021DA58C: ; 0x021DA58C
- push {r4, lr}
- bl MOD05_021DA574
- add r4, r0, #0
- bne _021DA59A
- bl ErrorHandling
-_021DA59A:
- add r0, r4, #0
- bl MOD05_021DA20C
- cmp r0, #0
- beq _021DA5A8
- mov r0, #1
- pop {r4, pc}
-_021DA5A8:
- mov r0, #0
- pop {r4, pc}
-
- thumb_func_start MOD05_021DA5AC
-MOD05_021DA5AC: ; 0x021DA5AC
- push {r3, lr}
- bl MOD05_021DA2DC
- ldr r0, [r0, #0x30]
- pop {r3, pc}
- .balign 4, 0
-
thumb_func_start MOD05_021DA5B8
MOD05_021DA5B8: ; 0x021DA5B8
push {r3, lr}