summaryrefslogtreecommitdiff
path: root/arm9/modules/05/asm/mod05_021DBE04.s
diff options
context:
space:
mode:
Diffstat (limited to 'arm9/modules/05/asm/mod05_021DBE04.s')
-rw-r--r--arm9/modules/05/asm/mod05_021DBE04.s176
1 files changed, 176 insertions, 0 deletions
diff --git a/arm9/modules/05/asm/mod05_021DBE04.s b/arm9/modules/05/asm/mod05_021DBE04.s
new file mode 100644
index 00000000..4b4b5177
--- /dev/null
+++ b/arm9/modules/05/asm/mod05_021DBE04.s
@@ -0,0 +1,176 @@
+ .include "asm/macros.inc"
+ .include "global.inc"
+ .section .text
+ .balign 4, 0
+
+ thumb_func_start MOD05_021DBE04
+MOD05_021DBE04: ; 0x021DBE04
+ push {r4, lr}
+ ldr r4, [r0, #0x18]
+ cmp r4, #0
+ bne _021DBE10
+ bl ErrorHandling
+_021DBE10:
+ cmp r4, #5
+ blt _021DBE18
+ bl ErrorHandling
+_021DBE18:
+ sub r0, r4, #1
+ pop {r4, pc}
+
+ thumb_func_start MOD05_021DBE1C
+MOD05_021DBE1C: ; 0x021DBE1C
+ push {r4, lr}
+ add r4, r0, #0
+ bl MOD05_021DBE04
+ add r1, r0, #0
+ lsl r2, r1, #4
+ ldr r1, _021DBE34 ; =UNK05_021F6788
+ add r0, r4, #0
+ ldr r1, [r1, r2]
+ blx r1
+ pop {r4, pc}
+ nop
+_021DBE34: .word UNK05_021F6788
+
+ thumb_func_start MOD05_021DBE38
+MOD05_021DBE38: ; 0x021DBE38
+ push {r4, lr}
+ add r4, r0, #0
+ bl MOD05_021DBE04
+ lsl r1, r0, #4
+ ldr r0, _021DBE54 ; =UNK05_021F678C
+ ldr r1, [r0, r1]
+ cmp r1, #0
+ bne _021DBE4E
+ mov r0, #1
+ pop {r4, pc}
+_021DBE4E:
+ add r0, r4, #0
+ blx r1
+ pop {r4, pc}
+ .balign 4, 0
+_021DBE54: .word UNK05_021F678C
+
+ thumb_func_start MOD05_021DBE58
+MOD05_021DBE58: ; 0x021DBE58
+ push {r4, lr}
+ add r4, r0, #0
+ bl MOD05_021DBE04
+ add r1, r0, #0
+ lsl r2, r1, #4
+ ldr r1, _021DBE70 ; =UNK05_021F6790
+ add r0, r4, #0
+ ldr r1, [r1, r2]
+ blx r1
+ pop {r4, pc}
+ nop
+_021DBE70: .word UNK05_021F6790
+
+ thumb_func_start MOD05_021DBE74
+MOD05_021DBE74: ; 0x021DBE74
+ push {r4, lr}
+ add r4, r0, #0
+ bl MOD05_021DBE04
+ add r1, r0, #0
+ lsl r2, r1, #4
+ ldr r1, _021DBE8C ; =UNK05_021F6794
+ add r0, r4, #0
+ ldr r1, [r1, r2]
+ blx r1
+ pop {r4, pc}
+ nop
+_021DBE8C: .word UNK05_021F6794
+
+ thumb_func_start MOD05_021DBE90
+MOD05_021DBE90: ; 0x021DBE90
+ ldr r3, _021DBE94 ; =MOD05_021EFAAC
+ bx r3
+ .balign 4, 0
+_021DBE94: .word MOD05_021EFAAC
+
+ thumb_func_start MOD05_021DBE98
+MOD05_021DBE98: ; 0x021DBE98
+ ldr r3, _021DBE9C ; =FUN_02050E2C
+ bx r3
+ .balign 4, 0
+_021DBE9C: .word FUN_02050E2C
+
+ thumb_func_start MOD05_021DBEA0
+MOD05_021DBEA0: ; 0x021DBEA0
+ push {r4, lr}
+ add r4, r0, #0
+ ldr r0, _021DBEB8 ; =SDK_OVERLAY_MODULE_51_ID
+ mov r1, #2
+ bl HandleLoadOverlay
+ add r0, r4, #0
+ bl MOD51_02254A68
+ add r4, #0x80
+ str r0, [r4]
+ pop {r4, pc}
+ .balign 4, 0
+_021DBEB8: .word SDK_OVERLAY_MODULE_51_ID
+
+ thumb_func_start MOD05_021DBEBC
+MOD05_021DBEBC: ; 0x021DBEBC
+ ldr r3, _021DBEC0 ; =MOD05_021EFB14
+ bx r3
+ .balign 4, 0
+_021DBEC0: .word MOD05_021EFB14
+
+ thumb_func_start MOD05_021DBEC4
+MOD05_021DBEC4: ; 0x021DBEC4
+ ldr r3, _021DBEC8 ; =FUN_02050E10
+ bx r3
+ .balign 4, 0
+_021DBEC8: .word FUN_02050E10
+
+ thumb_func_start MOD05_021DBECC
+MOD05_021DBECC: ; 0x021DBECC
+ push {r3, lr}
+ add r0, #0x80
+ ldr r0, [r0]
+ bl MOD51_02254AB8
+ ldr r0, _021DBEE0 ; =SDK_OVERLAY_MODULE_51_ID
+ bl UnloadOverlayByID
+ pop {r3, pc}
+ nop
+_021DBEE0: .word SDK_OVERLAY_MODULE_51_ID
+
+ thumb_func_start MOD05_021DBEE4
+MOD05_021DBEE4: ; 0x021DBEE4
+ ldr r3, _021DBEE8 ; =MOD05_021EFB50
+ bx r3
+ .balign 4, 0
+_021DBEE8: .word MOD05_021EFB50
+
+ thumb_func_start MOD05_021DBEEC
+MOD05_021DBEEC: ; 0x021DBEEC
+ mov r0, #1
+ bx lr
+
+ thumb_func_start MOD05_021DBEF0
+MOD05_021DBEF0: ; 0x021DBEF0
+ mov r0, #1
+ bx lr
+
+ .section .rodata
+
+ .global UNK05_021F6788
+UNK05_021F6788: ; 0x021F6788
+ .word MOD05_021DBE90
+
+ .global UNK05_021F678C
+UNK05_021F678C: ; 0x021F678C
+ .word 0x00000000
+
+ .global UNK05_021F6790
+UNK05_021F6790: ; 0x021F6790
+ .word MOD05_021DBEBC
+
+ .global UNK05_021F6794
+UNK05_021F6794: ; 0x021F6794
+ .word MOD05_021DBEE4, MOD05_021DBE98, 0x00000000, MOD05_021DBEC4
+ .word MOD05_021DBEF0, MOD05_021DBEA0, 0x00000000, MOD05_021DBECC
+ .word MOD05_021DBEEC, MOD05_021EFBB4, 0x00000000, MOD05_021EFBCC
+ .word MOD05_021EFBD8