summaryrefslogtreecommitdiff
path: root/arm9/modules/05/asm/module_05.s
diff options
context:
space:
mode:
authorRevo <projectrevotpp@hotmail.com>2020-05-02 21:06:59 -0400
committerGitHub <noreply@github.com>2020-05-02 21:06:59 -0400
commitb990e094b7f12d135f25b17ff81b92f954ac7397 (patch)
tree9236de475af519f13e91cd6db299058523723204 /arm9/modules/05/asm/module_05.s
parentbcb2fdcaff094ef3bdb951cdb87eff0739510ade (diff)
parent11d4940663e812244f7f7e6b337c1d39fc6e8258 (diff)
Merge pull request #56 from PikalaxALT/pikalax_work
Disasm remaining code in modules 05,06; disasm 07,08
Diffstat (limited to 'arm9/modules/05/asm/module_05.s')
-rw-r--r--arm9/modules/05/asm/module_05.s1084
1 files changed, 1082 insertions, 2 deletions
diff --git a/arm9/modules/05/asm/module_05.s b/arm9/modules/05/asm/module_05.s
index cc439346..c5cb3088 100644
--- a/arm9/modules/05/asm/module_05.s
+++ b/arm9/modules/05/asm/module_05.s
@@ -62868,9 +62868,1089 @@ _021F5C40:
add sp, #0x28
pop {r3, r4, r5, r6, r7, pc}
+
+ thumb_func_start MOD05_021F5C44
+MOD05_021F5C44: ; 0x021F5C44
+ push {r3, r4, r5, lr}
+ add r0, r1, #0
+ mov r1, #0x18
+ add r5, r2, #0
+ bl FUN_020169D8
+ add r4, r0, #0
+ add r2, r4, #0
+ mov r1, #0x18
+ mov r0, #0
+_021F5C58:
+ strb r0, [r2]
+ add r2, r2, #1
+ sub r1, r1, #1
+ bne _021F5C58
+ add r0, r5, #0
+ str r5, [r4, #0xc]
+ bl MOD05_021F61B0
+ str r0, [r4, #4]
+ add r0, r4, #0
+ pop {r3, r4, r5, pc}
+ .align 2, 0
+
+ thumb_func_start MOD05_021F5C70
+MOD05_021F5C70: ; 0x021F5C70
+ push {r3, r4, r5, r6, r7, lr}
+ add r6, r0, #0
+ bl FUN_02046528
+ add r4, r0, #0
+ add r0, r6, #0
+ bl FUN_0204652C
+ add r5, r0, #0
+ ldr r0, [r5]
+ cmp r0, #0
+ beq _021F5C8E
+ cmp r0, #1
+ beq _021F5CBA
+ b _021F5D28
+_021F5C8E:
+ ldr r0, [r4, #0x34]
+ bl FUN_02058780
+ mov r0, #0
+ str r0, [r5, #0x10]
+ add r2, r5, #0
+ ldr r1, [r5, #0xc]
+ add r0, r4, #0
+ add r2, #0x10
+ bl FUN_0223BD14
+ str r0, [r5, #8]
+ ldr r1, [r5, #0xc]
+ ldr r2, [r5, #8]
+ add r0, r4, #0
+ bl MOD05_021F5D2C
+ str r0, [r5, #0x14]
+ ldr r0, [r5]
+ add r0, r0, #1
+ str r0, [r5]
+ b _021F5D28
+_021F5CBA:
+ ldr r0, [r5, #0x14]
+ bl MOD05_021F5D50
+ cmp r0, #1
+ bne _021F5D28
+ ldr r0, [r5, #0x14]
+ bl MOD05_021F5D5C
+ add r7, r0, #0
+ ldr r0, [r5, #0x14]
+ bl MOD05_021F5D68
+ cmp r7, #1
+ ldr r0, [r5, #0x10]
+ bne _021F5D10
+ ldr r0, [r0, #8]
+ mov r1, #0
+ bl FUN_0206B9B0
+ ldr r2, [r5, #4]
+ add r3, r0, #0
+ lsl r2, r2, #0x10
+ add r0, r4, #0
+ mov r1, #1
+ lsr r2, r2, #0x10
+ bl FUN_02061208
+ ldr r0, [r4, #0xc]
+ bl FUN_02029FC8
+ mov r1, #0xa
+ bl FUN_0202A0E8
+ ldr r2, [r5, #0x10]
+ add r0, r4, #0
+ add r1, r6, #0
+ bl FUN_02046A20
+ add r0, r5, #0
+ bl FUN_02016A18
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+_021F5D10:
+ cmp r0, #0
+ beq _021F5D18
+ bl FUN_02047964
+_021F5D18:
+ ldr r0, [r4, #0x34]
+ bl FUN_020587B0
+ add r0, r5, #0
+ bl FUN_02016A18
+ mov r0, #1
+ pop {r3, r4, r5, r6, r7, pc}
+_021F5D28:
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+
+ thumb_func_start MOD05_021F5D2C
+MOD05_021F5D2C: ; 0x021F5D2C
+ push {r4, r5, r6, lr}
+ add r5, r0, #0
+ mov r0, #0x4c
+ add r4, r1, #0
+ add r6, r2, #0
+ bl MOD05_021F6074
+ add r1, r0, #0
+ str r5, [r1, #0x20]
+ str r4, [r1, #0x1c]
+ ldr r0, _021F5D4C ; =MOD05_021F5D7C
+ mov r2, #0x80
+ str r6, [r1]
+ bl FUN_0200CA44
+ pop {r4, r5, r6, pc}
+ .align 2, 0
+_021F5D4C: .word MOD05_021F5D7C
+
+ thumb_func_start MOD05_021F5D50
+MOD05_021F5D50: ; 0x021F5D50
+ push {r3, lr}
+ bl FUN_0201B6C8
+ ldr r0, [r0, #4]
+ pop {r3, pc}
+ .align 2, 0
+
+ thumb_func_start MOD05_021F5D5C
+MOD05_021F5D5C: ; 0x021F5D5C
+ push {r3, lr}
+ bl FUN_0201B6C8
+ ldr r0, [r0, #8]
+ pop {r3, pc}
+ .align 2, 0
+
+ thumb_func_start MOD05_021F5D68
+MOD05_021F5D68: ; 0x021F5D68
+ push {r4, lr}
+ add r4, r0, #0
+ bl FUN_0201B6C8
+ bl FUN_02016A18
+ add r0, r4, #0
+ bl FUN_0200CAB4
+ pop {r4, pc}
+
+ thumb_func_start MOD05_021F5D7C
+MOD05_021F5D7C: ; 0x021F5D7C
+ push {r3, r4, r5, r6, r7, lr}
+ add r5, r1, #0
+ ldr r0, [r5, #0x20]
+ ldr r6, [r0, #0x38]
+ add r0, r6, #0
+ bl FUN_020553A0
+ ldr r7, _021F5DA4 ; =0x021FC9B8
+ add r4, r0, #0
+_021F5D8E:
+ ldr r3, [r5, #0xc]
+ add r0, r5, #0
+ lsl r3, r3, #2
+ ldr r3, [r7, r3]
+ add r1, r6, #0
+ add r2, r4, #0
+ blx r3
+ cmp r0, #0
+ bne _021F5D8E
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_021F5DA4: .word 0x021FC9B8
+
+ thumb_func_start MOD05_021F5DA8
+MOD05_021F5DA8: ; 0x021F5DA8
+ push {r3, r4, r5, lr}
+ add r4, r2, #0
+ add r5, r0, #0
+ bl MOD05_021F60C4
+ add r0, r4, #0
+ bl FUN_02058914
+ mov r0, #1
+ str r0, [r5, #0xc]
+ pop {r3, r4, r5, pc}
+ .align 2, 0
+
+ thumb_func_start MOD05_021F5DC0
+MOD05_021F5DC0: ; 0x021F5DC0
+ push {r4, r5, r6, lr}
+ add r6, r2, #0
+ add r5, r0, #0
+ add r0, r6, #0
+ add r4, r1, #0
+ bl FUN_0205AD98
+ cmp r0, #1
+ bne _021F5DF2
+ add r0, r6, #0
+ bl FUN_0205AE50
+ add r0, r4, #0
+ mov r1, #0x20
+ bl MOD05_021E5FD8
+ add r0, r4, #0
+ bl MOD05_021E5FE0
+ add r0, r6, #0
+ mov r1, #1
+ bl FUN_02058544
+ mov r0, #2
+ str r0, [r5, #0xc]
+_021F5DF2:
+ mov r0, #0
+ pop {r4, r5, r6, pc}
+ .align 2, 0
+
+ thumb_func_start MOD05_021F5DF8
+MOD05_021F5DF8: ; 0x021F5DF8
+ push {r4, lr}
+ add r4, r0, #0
+ ldr r0, [r4, #0x10]
+ add r0, r0, #1
+ str r0, [r4, #0x10]
+ cmp r0, #0xa
+ bne _021F5E0E
+ mov r0, #0x65
+ lsl r0, r0, #4
+ bl FUN_020054C8
+_021F5E0E:
+ ldr r0, [r4, #0x10]
+ cmp r0, #0x22
+ bge _021F5E18
+ mov r0, #0
+ pop {r4, pc}
+_021F5E18:
+ ldr r0, [r4]
+ cmp r0, #1
+ bne _021F5E22
+ mov r0, #3
+ b _021F5E24
+_021F5E22:
+ mov r0, #0xc
+_021F5E24:
+ str r0, [r4, #0xc]
+ mov r0, #0
+ str r0, [r4, #0x10]
+ mov r0, #1
+ pop {r4, pc}
+ .align 2, 0
+
+ thumb_func_start MOD05_021F5E30
+MOD05_021F5E30: ; 0x021F5E30
+ push {r4, lr}
+ add r4, r0, #0
+ bl FUN_0201B9EC
+ lsr r1, r0, #0x1f
+ lsl r0, r0, #0x1e
+ sub r0, r0, r1
+ mov r2, #0x1e
+ ror r0, r2
+ add r0, r1, r0
+ add r0, r0, #1
+ add r1, r0, #0
+ mul r1, r2
+ str r1, [r4, #0x14]
+ ldr r0, [r4, #0x1c]
+ lsl r1, r0, #2
+ ldr r0, _021F5E60 ; =0x021FC9AC
+ ldr r0, [r0, r1]
+ str r0, [r4, #0x18]
+ mov r0, #4
+ str r0, [r4, #0xc]
+ mov r0, #1
+ pop {r4, pc}
+ nop
+_021F5E60: .word 0x021FC9AC
+
+ thumb_func_start MOD05_021F5E64
+MOD05_021F5E64: ; 0x021F5E64
+ push {r3, r4, r5, lr}
+ add r5, r0, #0
+ ldr r0, [r5, #0x14]
+ add r4, r2, #0
+ sub r0, r0, #1
+ str r0, [r5, #0x14]
+ bl MOD05_021F6098
+ cmp r0, #1
+ bne _021F5E80
+ mov r0, #0xa
+ str r0, [r5, #0xc]
+ mov r0, #1
+ pop {r3, r4, r5, pc}
+_021F5E80:
+ ldr r0, [r5, #0x14]
+ cmp r0, #0
+ ble _021F5E8A
+ mov r0, #0
+ pop {r3, r4, r5, pc}
+_021F5E8A:
+ add r0, r4, #0
+ mov r1, #2
+ bl FUN_02058544
+ add r0, r4, #0
+ mov r1, #0
+ mov r2, #1
+ bl MOD05_021E7AC0
+ str r0, [r5, #0x24]
+ mov r0, #5
+ str r0, [r5, #0xc]
+ mov r0, #1
+ pop {r3, r4, r5, pc}
+ .align 2, 0
+
+ thumb_func_start MOD05_021F5EA8
+MOD05_021F5EA8: ; 0x021F5EA8
+ push {r4, lr}
+ add r4, r0, #0
+ ldr r0, [r4, #0x18]
+ sub r0, r0, #1
+ str r0, [r4, #0x18]
+ bl MOD05_021F6098
+ cmp r0, #1
+ bne _021F5EC2
+ mov r0, #6
+ str r0, [r4, #0xc]
+ mov r0, #1
+ pop {r4, pc}
+_021F5EC2:
+ ldr r0, [r4, #0x18]
+ cmp r0, #0
+ ble _021F5ECC
+ mov r0, #0
+ pop {r4, pc}
+_021F5ECC:
+ mov r0, #0xb
+ str r0, [r4, #0xc]
+ mov r0, #0
+ pop {r4, pc}
+
+ thumb_func_start MOD05_021F5ED4
+MOD05_021F5ED4: ; 0x021F5ED4
+ push {r3, r4, r5, lr}
+ add r5, r0, #0
+ ldr r0, [r5, #0x24]
+ add r4, r2, #0
+ bl FUN_02064520
+ mov r0, #0
+ str r0, [r5, #0x24]
+ add r0, r4, #0
+ mov r1, #3
+ bl FUN_02058544
+ mov r0, #0
+ str r0, [r5, #0x10]
+ mov r1, #7
+ str r1, [r5, #0xc]
+ pop {r3, r4, r5, pc}
+ .align 2, 0
+
+ thumb_func_start MOD05_021F5EF8
+MOD05_021F5EF8: ; 0x021F5EF8
+ push {r3, lr}
+ ldr r1, [r0, #0x10]
+ add r1, r1, #1
+ str r1, [r0, #0x10]
+ cmp r1, #0xf
+ ble _021F5F12
+ mov r1, #0
+ str r1, [r0, #0x10]
+ mov r1, #8
+ str r1, [r0, #0xc]
+ mov r1, #0x39
+ bl MOD05_021F6140
+_021F5F12:
+ mov r0, #0
+ pop {r3, pc}
+ .align 2, 0
+
+ thumb_func_start MOD05_021F5F18
+MOD05_021F5F18: ; 0x021F5F18
+ push {r4, lr}
+ add r4, r0, #0
+ bl MOD05_021F617C
+ cmp r0, #0
+ bne _021F5F28
+ mov r0, #0
+ pop {r4, pc}
+_021F5F28:
+ mov r0, #9
+ str r0, [r4, #0xc]
+ mov r0, #1
+ pop {r4, pc}
+
+ thumb_func_start MOD05_021F5F30
+MOD05_021F5F30: ; 0x021F5F30
+ mov r2, #1
+ str r2, [r0, #8]
+ mov r1, #0xf
+ str r1, [r0, #0xc]
+ add r0, r2, #0
+ bx lr
+
+ thumb_func_start MOD05_021F5F3C
+MOD05_021F5F3C: ; 0x021F5F3C
+ push {r4, lr}
+ add r4, r0, #0
+ add r0, r2, #0
+ mov r1, #0
+ bl FUN_02058544
+ add r0, r4, #0
+ mov r1, #0x38
+ bl MOD05_021F6140
+ mov r0, #0x10
+ str r0, [r4, #0x10]
+ mov r0, #0xe
+ str r0, [r4, #0xc]
+ mov r0, #1
+ pop {r4, pc}
+
+ thumb_func_start MOD05_021F5F5C
+MOD05_021F5F5C: ; 0x021F5F5C
+ push {r4, lr}
+ add r4, r0, #0
+ add r0, r2, #0
+ mov r1, #0
+ bl FUN_02058544
+ add r0, r4, #0
+ mov r1, #0x37
+ bl MOD05_021F6140
+ mov r0, #0x10
+ str r0, [r4, #0x10]
+ mov r0, #0xe
+ str r0, [r4, #0xc]
+ ldr r0, [r4, #0x20]
+ ldr r0, [r0, #0xc]
+ bl FUN_02029FC8
+ mov r1, #0x49
+ bl FUN_0202A0E8
+ ldr r0, [r4, #0x1c]
+ bl MOD05_021F61B0
+ add r2, r0, #0
+ mov r1, #0
+ ldr r0, [r4, #0x20]
+ add r3, r1, #0
+ bl FUN_02061208
+ mov r0, #1
+ pop {r4, pc}
+
+ thumb_func_start MOD05_021F5F9C
+MOD05_021F5F9C: ; 0x021F5F9C
+ mov r1, #0x78
+ str r1, [r0, #0x10]
+ mov r1, #0xd
+ str r1, [r0, #0xc]
+ mov r0, #1
+ bx lr
+
+ thumb_func_start MOD05_021F5FA8
+MOD05_021F5FA8: ; 0x021F5FA8
+ push {r3, r4, r5, lr}
+ add r5, r0, #0
+ ldr r0, [r5, #0x10]
+ add r4, r2, #0
+ sub r0, r0, #1
+ str r0, [r5, #0x10]
+ bl MOD05_021F6098
+ cmp r0, #1
+ bne _021F5FC4
+ mov r0, #0xa
+ str r0, [r5, #0xc]
+ mov r0, #1
+ pop {r3, r4, r5, pc}
+_021F5FC4:
+ ldr r0, [r5, #0x10]
+ cmp r0, #0
+ beq _021F5FCE
+ mov r0, #0
+ pop {r3, r4, r5, pc}
+_021F5FCE:
+ add r0, r4, #0
+ mov r1, #0
+ bl FUN_02058544
+ add r0, r5, #0
+ mov r1, #0x36
+ bl MOD05_021F6140
+ mov r0, #0x10
+ str r0, [r5, #0x10]
+ mov r0, #0xe
+ str r0, [r5, #0xc]
+ mov r0, #0
+ pop {r3, r4, r5, pc}
+ .align 2, 0
+
+ thumb_func_start MOD05_021F5FEC
+MOD05_021F5FEC: ; 0x021F5FEC
+ push {r4, lr}
+ add r4, r0, #0
+ ldr r1, [r4, #0x10]
+ add r1, r1, #1
+ str r1, [r4, #0x10]
+ cmp r1, #0x10
+ bge _021F5FFE
+ mov r0, #0
+ pop {r4, pc}
+_021F5FFE:
+ mov r1, #0x10
+ str r1, [r4, #0x10]
+ bl MOD05_021F617C
+ cmp r0, #0
+ bne _021F600E
+ mov r0, #0
+ pop {r4, pc}
+_021F600E:
+ mov r0, #0xf
+ str r0, [r4, #0xc]
+ mov r0, #1
+ pop {r4, pc}
+ .align 2, 0
+
+ thumb_func_start MOD05_021F6018
+MOD05_021F6018: ; 0x021F6018
+ push {r3, r4, r5, lr}
+ add r5, r0, #0
+ ldr r0, [r5, #0x24]
+ add r4, r1, #0
+ cmp r0, #0
+ beq _021F602C
+ bl FUN_02064520
+ mov r0, #0
+ str r0, [r5, #0x24]
+_021F602C:
+ add r0, r5, #0
+ bl MOD05_021F60FC
+ add r0, r4, #0
+ bl FUN_020553C4
+ bl FUN_02055648
+ add r1, r0, #0
+ add r0, r4, #0
+ bl MOD05_021E5FD8
+ add r0, r4, #0
+ bl MOD05_021E5FE0
+ mov r0, #0
+ str r0, [r5, #0x10]
+ mov r0, #0x10
+ str r0, [r5, #0xc]
+ mov r0, #1
+ pop {r3, r4, r5, pc}
+ .align 2, 0
+
+ thumb_func_start MOD05_021F6058
+MOD05_021F6058: ; 0x021F6058
+ ldr r1, [r0, #0x10]
+ add r1, r1, #1
+ str r1, [r0, #0x10]
+ cmp r1, #2
+ ble _021F6066
+ mov r1, #0x11
+ str r1, [r0, #0xc]
+_021F6066:
+ mov r0, #0
+ bx lr
+ .align 2, 0
+
+ thumb_func_start MOD05_021F606C
+MOD05_021F606C: ; 0x021F606C
+ mov r1, #1
+ str r1, [r0, #4]
+ mov r0, #0
+ bx lr
+
+ thumb_func_start MOD05_021F6074
+MOD05_021F6074: ; 0x021F6074
+ push {r3, r4, r5, lr}
+ add r5, r0, #0
+ mov r0, #4
+ add r1, r5, #0
+ bl FUN_020169D8
+ add r4, r0, #0
+ bne _021F6088
+ bl ErrorHandling
+_021F6088:
+ add r0, r4, #0
+ mov r1, #0
+ add r2, r5, #0
+ bl Call_FillMemWithValue
+ add r0, r4, #0
+ pop {r3, r4, r5, pc}
+ .align 2, 0
+
+ thumb_func_start MOD05_021F6098
+MOD05_021F6098: ; 0x021F6098
+ ldr r0, _021F60A8 ; =0x021C48B8
+ ldr r1, [r0, #0x48]
+ mov r0, #1
+ tst r1, r0
+ bne _021F60A4
+ mov r0, #0
+_021F60A4:
+ bx lr
+ nop
+_021F60A8: .word 0x021C48B8
+
+ thumb_func_start MOD05_021F60AC
+MOD05_021F60AC: ; 0x021F60AC
+ ldr r0, _021F60C0 ; =0x021C48B8
+ ldr r1, [r0, #0x48]
+ mov r0, #3
+ tst r0, r1
+ beq _021F60BA
+ mov r0, #1
+ bx lr
+_021F60BA:
+ mov r0, #0
+ bx lr
+ nop
+_021F60C0: .word 0x021C48B8
+
+ thumb_func_start MOD05_021F60C4
+MOD05_021F60C4: ; 0x021F60C4
+ push {r4, lr}
+ add r4, r0, #0
+ mov r0, #1
+ mov r1, #0x1a
+ mov r2, #0xc7
+ mov r3, #4
+ bl FUN_0200A86C
+ str r0, [r4, #0x48]
+ mov r0, #1
+ lsl r0, r0, #0xa
+ mov r1, #4
+ bl FUN_020219F4
+ str r0, [r4, #0x2c]
+ mov r0, #1
+ lsl r0, r0, #0xa
+ mov r1, #4
+ bl FUN_020219F4
+ str r0, [r4, #0x30]
+ mov r0, #8
+ mov r1, #0x40
+ mov r2, #4
+ bl FUN_0200AA90
+ str r0, [r4, #0x34]
+ pop {r4, pc}
+
+ thumb_func_start MOD05_021F60FC
+MOD05_021F60FC: ; 0x021F60FC
+ push {r4, lr}
+ add r4, r0, #0
+ ldr r0, [r4, #0x34]
+ bl FUN_0200AB18
+ ldr r0, [r4, #0x2c]
+ bl FUN_02021A20
+ ldr r0, [r4, #0x30]
+ bl FUN_02021A20
+ ldr r0, [r4, #0x48]
+ bl FUN_0200A8B8
+ pop {r4, pc}
+ .align 2, 0
+
+ thumb_func_start MOD05_021F611C
+MOD05_021F611C: ; 0x021F611C
+ push {r3, r4, r5, lr}
+ add r5, r0, #0
+ ldr r4, [r5, #0x20]
+ add r1, r5, #0
+ ldr r0, [r4, #8]
+ add r1, #0x38
+ mov r2, #3
+ bl FUN_020545B8
+ ldr r0, [r4, #0xc]
+ bl LoadPlayerDataAddress
+ add r5, #0x38
+ add r1, r0, #0
+ add r0, r5, #0
+ bl FUN_02054608
+ pop {r3, r4, r5, pc}
+
+ thumb_func_start MOD05_021F6140
+MOD05_021F6140: ; 0x021F6140
+ push {r4, r5, r6, lr}
+ add r5, r0, #0
+ add r6, r1, #0
+ bl MOD05_021F611C
+ ldr r0, [r5, #0x48]
+ ldr r2, [r5, #0x30]
+ add r1, r6, #0
+ ldr r4, [r5, #0x20]
+ bl FUN_0200A8E0
+ ldr r0, [r5, #0x34]
+ ldr r1, [r5, #0x2c]
+ ldr r2, [r5, #0x30]
+ bl FUN_0200B7B8
+ ldr r0, [r4, #0xc]
+ bl LoadPlayerDataAddress
+ add r2, r0, #0
+ add r0, r5, #0
+ ldr r1, [r5, #0x2c]
+ add r0, #0x38
+ mov r3, #1
+ bl FUN_02054658
+ add r5, #0x28
+ strb r0, [r5]
+ pop {r4, r5, r6, pc}
+ .align 2, 0
+
+ thumb_func_start MOD05_021F617C
+MOD05_021F617C: ; 0x021F617C
+ push {r4, lr}
+ add r4, r0, #0
+ add r0, #0x28
+ ldrb r0, [r0]
+ bl FUN_020546C8
+ cmp r0, #1
+ bne _021F61AA
+ bl MOD05_021F60AC
+ cmp r0, #1
+ bne _021F61AA
+ add r0, r4, #0
+ add r0, #0x38
+ mov r1, #0
+ bl FUN_0200D0E0
+ add r4, #0x38
+ add r0, r4, #0
+ bl FUN_02019178
+ mov r0, #1
+ pop {r4, pc}
+_021F61AA:
+ mov r0, #0
+ pop {r4, pc}
+ .align 2, 0
+
+ thumb_func_start MOD05_021F61B0
+MOD05_021F61B0: ; 0x021F61B0
+ push {r3, lr}
+ cmp r0, #0
+ beq _021F61C2
+ cmp r0, #1
+ beq _021F61C6
+ cmp r0, #2
+ beq _021F61CA
+ bl ErrorHandling
+_021F61C2:
+ ldr r0, _021F61D0 ; =0x000001BD
+ pop {r3, pc}
+_021F61C6:
+ ldr r0, _021F61D4 ; =0x000001BE
+ pop {r3, pc}
+_021F61CA:
+ ldr r0, _021F61D8 ; =0x000001BF
+ pop {r3, pc}
+ nop
+_021F61D0: .word 0x000001BD
+_021F61D4: .word 0x000001BE
+_021F61D8: .word 0x000001BF
+
+ thumb_func_start MOD05_021F61DC
+MOD05_021F61DC: ; 0x021F61DC
+ lsl r1, r0, #2
+ ldr r0, _021F61E4 ; =0x021FCA00
+ ldrh r0, [r0, r1]
+ bx lr
+ .align 2, 0
+_021F61E4: .word 0x021FCA00
+
+ thumb_func_start MOD05_021F61E8
+MOD05_021F61E8: ; 0x021F61E8
+ lsl r1, r0, #2
+ ldr r0, _021F61F0 ; =0x021FCA02
+ ldrh r0, [r0, r1]
+ bx lr
+ .align 2, 0
+_021F61F0: .word 0x021FCA02
+
+ thumb_func_start MOD05_021F61F4
+MOD05_021F61F4: ; 0x021F61F4
+ push {r4, r5, r6, lr}
+ add r6, r1, #0
+ add r5, r0, #0
+ add r0, r6, #0
+ mov r1, #0x34
+ bl FUN_020169D8
+ add r4, r0, #0
+ mov r1, #0
+ mov r2, #0x34
+ bl Call_FillMemWithValue
+ str r6, [r4]
+ mov r0, #0
+ str r0, [r4, #0xc]
+ str r5, [r4, #0x2c]
+ ldr r0, [r5, #0x20]
+ str r0, [r4, #0x30]
+ bl FUN_0201F010
+ str r0, [r4, #0x10]
+ str r0, [r4, #0x20]
+ ldr r0, _021F622C ; =MOD05_021F6270
+ ldr r2, _021F6230 ; =0x0000FFFF
+ add r1, r4, #0
+ bl FUN_0200CA44
+ pop {r4, r5, r6, pc}
+ .align 2, 0
+_021F622C: .word MOD05_021F6270
+_021F6230: .word 0x0000FFFF
+
+ thumb_func_start MOD05_021F6234
+MOD05_021F6234: ; 0x021F6234
+ push {r3, lr}
+ bl FUN_0201B6C8
+ ldr r0, [r0, #8]
+ pop {r3, pc}
+ .align 2, 0
+
+ thumb_func_start MOD05_021F6240
+MOD05_021F6240: ; 0x021F6240
+ push {r4, lr}
+ add r4, r0, #0
+ bl FUN_0201B6C8
+ bl FUN_02016A18
+ add r0, r4, #0
+ bl FUN_0200CAB4
+ pop {r4, pc}
+
+ thumb_func_start MOD05_021F6254
+MOD05_021F6254: ; 0x021F6254
+ push {r4, r5, r6, lr}
+ add r5, r1, #0
+ add r4, r2, #0
+ add r6, r3, #0
+ bl FUN_0201B6C8
+ mov r1, #0
+ str r1, [r0, #4]
+ str r1, [r0, #8]
+ str r5, [r0, #0xc]
+ str r4, [r0, #0x14]
+ str r6, [r0, #0x1c]
+ str r1, [r0, #0x24]
+ pop {r4, r5, r6, pc}
+
+ thumb_func_start MOD05_021F6270
+MOD05_021F6270: ; 0x021F6270
+ push {r3, lr}
+ add r0, r1, #0
+ ldr r1, [r1, #0xc]
+ lsl r2, r1, #2
+ ldr r1, _021F6280 ; =0x021FD1B8
+ ldr r1, [r1, r2]
+ blx r1
+ pop {r3, pc}
+ .align 2, 0
+_021F6280: .word 0x021FD1B8
+
+ thumb_func_start MOD05_021F6284
+MOD05_021F6284: ; 0x021F6284
+ mov r1, #1
+ str r1, [r0, #8]
+ bx lr
+ .align 2, 0
+
+ thumb_func_start MOD05_021F628C
+MOD05_021F628C: ; 0x021F628C
+ push {r4, lr}
+ add r4, r0, #0
+ ldr r1, [r4, #4]
+ cmp r1, #0
+ beq _021F629C
+ cmp r1, #1
+ beq _021F62A6
+ pop {r4, pc}
+_021F629C:
+ bl MOD05_021F630C
+ ldr r0, [r4, #4]
+ add r0, r0, #1
+ str r0, [r4, #4]
+_021F62A6:
+ add r0, r4, #0
+ bl MOD05_021F633C
+ cmp r0, #1
+ bne _021F62BA
+ ldr r0, [r4, #4]
+ add r0, r0, #1
+ str r0, [r4, #4]
+ mov r0, #1
+ str r0, [r4, #8]
+_021F62BA:
+ add r0, r4, #0
+ bl MOD05_021F62FC
+ pop {r4, pc}
+ .align 2, 0
+
+ thumb_func_start MOD05_021F62C4
+MOD05_021F62C4: ; 0x021F62C4
+ push {r4, lr}
+ add r4, r0, #0
+ ldr r1, [r4, #4]
+ cmp r1, #0
+ beq _021F62D4
+ cmp r1, #1
+ beq _021F62DE
+ pop {r4, pc}
+_021F62D4:
+ bl MOD05_021F6324
+ ldr r0, [r4, #4]
+ add r0, r0, #1
+ str r0, [r4, #4]
+_021F62DE:
+ add r0, r4, #0
+ bl MOD05_021F633C
+ cmp r0, #1
+ bne _021F62F2
+ ldr r0, [r4, #4]
+ add r0, r0, #1
+ str r0, [r4, #4]
+ mov r0, #1
+ str r0, [r4, #8]
+_021F62F2:
+ add r0, r4, #0
+ bl MOD05_021F62FC
+ pop {r4, pc}
+ .align 2, 0
+
+ thumb_func_start MOD05_021F62FC
+MOD05_021F62FC: ; 0x021F62FC
+ ldr r3, _021F6308 ; =0x0201EFE1
+ add r1, r0, #0
+ ldr r0, [r1, #0x20]
+ ldr r1, [r1, #0x30]
+ bx r3
+ nop
+_021F6308: .word 0x0201EFE1
+
+ thumb_func_start MOD05_021F630C
+MOD05_021F630C: ; 0x021F630C
+ push {r4, lr}
+ add r4, r0, #0
+ ldr r0, [r4, #0x14]
+ ldr r1, [r4, #0x1c]
+ bl _s32_div_f
+ str r0, [r4, #0x28]
+ ldr r1, [r4, #0x20]
+ ldr r0, [r4, #0x14]
+ add r0, r1, r0
+ str r0, [r4, #0x18]
+ pop {r4, pc}
+
+ thumb_func_start MOD05_021F6324
+MOD05_021F6324: ; 0x021F6324
+ push {r4, lr}
+ add r4, r0, #0
+ ldr r1, [r4, #0x10]
+ ldr r0, [r4, #0x20]
+ sub r0, r1, r0
+ ldr r1, [r4, #0x1c]
+ bl _s32_div_f
+ str r0, [r4, #0x28]
+ ldr r0, [r4, #0x10]
+ str r0, [r4, #0x18]
+ pop {r4, pc}
+
+ thumb_func_start MOD05_021F633C
+MOD05_021F633C: ; 0x021F633C
+ ldr r2, [r0, #0x20]
+ ldr r1, [r0, #0x28]
+ add r1, r2, r1
+ str r1, [r0, #0x20]
+ ldr r1, [r0, #0x24]
+ add r2, r1, #1
+ str r2, [r0, #0x24]
+ ldr r1, [r0, #0x1c]
+ cmp r2, r1
+ blo _021F635A
+ str r1, [r0, #0x24]
+ ldr r1, [r0, #0x18]
+ str r1, [r0, #0x20]
+ mov r0, #1
+ bx lr
+_021F635A:
+ mov r0, #0
+ bx lr
+ .align 2, 0
+
+ thumb_func_start MOD05_021F6360
+MOD05_021F6360: ; 0x021F6360
+ push {r3, r4, r5, r6, r7, lr}
+ add r7, r0, #0
+ bl FUN_02046528
+ str r0, [sp]
+ add r0, r7, #0
+ bl FUN_0204652C
+ add r6, r0, #0
+ add r0, r7, #0
+ bl FUN_02046530
+ add r4, r0, #0
+ ldr r0, [r4]
+ ldr r5, [r6, #4]
+ cmp r0, #5
+ bhi _021F6424
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_021F638E: ; jump table
+ .short _021F639A - _021F638E - 2 ; case 0
+ .short _021F63AC - _021F638E - 2 ; case 1
+ .short _021F63CC - _021F638E - 2 ; case 2
+ .short _021F63EA - _021F638E - 2 ; case 3
+ .short _021F6402 - _021F638E - 2 ; case 4
+ .short _021F6414 - _021F638E - 2 ; case 5
+_021F639A:
+ mov r0, #0xb
+ mov r1, #8
+ bl FUN_020169D8
+ str r0, [r6, #4]
+ ldr r0, [r4]
+ add r0, r0, #1
+ str r0, [r4]
+ b _021F6424
+_021F63AC:
+ bl MOD05_021F57EC
+ add r6, r0, #0
+ mov r0, #0xb
+ add r1, r6, #0
+ bl FUN_020169D8
+ str r0, [r5, #4]
+ mov r1, #0
+ add r2, r6, #0
+ bl Call_FillMemWithValue
+ ldr r0, [r4]
+ add r0, r0, #1
+ str r0, [r4]
+ b _021F6424
+_021F63CC:
+ ldr r0, [sp]
+ ldr r0, [r0, #0x38]
+ bl FUN_020553E8
+ add r3, r0, #0
+ ldr r0, [sp]
+ ldr r2, [r6]
+ mov r1, #0
+ bl FUN_0224666C
+ str r0, [r5]
+ ldr r0, [r4]
+ add r0, r0, #1
+ str r0, [r4]
+ b _021F6424
+_021F63EA:
+ ldr r0, [r5]
+ bl FUN_022466A0
+ cmp r0, #0
+ beq _021F6424
+ ldr r0, [r5]
+ bl FUN_022466AC
+ ldr r0, [r4]
+ add r0, r0, #1
+ str r0, [r4]
+ b _021F6424
+_021F6402:
+ ldr r1, _021F6428 ; =MOD05_021F57F0
+ ldr r2, [r5, #4]
+ add r0, r7, #0
+ bl FUN_0204640C
+ ldr r0, [r4]
+ add r0, r0, #1
+ str r0, [r4]
+ b _021F6424
+_021F6414:
+ add r0, r5, #0
+ bl FUN_02016A18
+ add r0, r6, #0
+ bl FUN_02016A18
+ mov r0, #1
+ pop {r3, r4, r5, r6, r7, pc}
+_021F6424:
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_021F6428: .word MOD05_021F57F0
+
.section .data
- ; 0x021F5C44
- .incbin "baserom.nds", 0x163B64, 0x7A3C
+ ; 0x021F642C
+ .incbin "baserom.nds", 0x16434c, 0x7254
.section .bss
; 0x021FD680