summaryrefslogtreecommitdiff
path: root/arm9/modules/04/asm/mod04_021DD82C.s
blob: 7c69769880bb25d8c0fb25c164943c306e9f8d14 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
	.include "asm/macros.inc"
	.include "global.inc"
	.section .text
	.balign 4, 0

	arm_func_start MOD04_021DD82C
MOD04_021DD82C: ; 0x021DD82C
	ldr ip, _021DD840 ; =MOD04_021DD904
	mov r1, r0
	mov r0, #5
	mov r2, #0
	bx ip
	.align 2, 0
_021DD840: .word MOD04_021DD904
	arm_func_end MOD04_021DD82C

	arm_func_start MOD04_021DD844
MOD04_021DD844: ; 0x021DD844
	ldr ip, _021DD85C ; =MOD04_021DD8E8
	mov r2, r1
	mov r1, r0
	mov r3, r2
	mov r0, #5
	bx ip
	.align 2, 0
_021DD85C: .word MOD04_021DD8E8
	arm_func_end MOD04_021DD844

	arm_func_start MOD04_021DD860
MOD04_021DD860: ; 0x021DD860
	ldr ip, _021DD870 ; =MOD04_021DD944
	mov r1, r0
	mov r0, #5
	bx ip
	.align 2, 0
_021DD870: .word MOD04_021DD944
	arm_func_end MOD04_021DD860

	arm_func_start MOD04_021DD874
MOD04_021DD874: ; 0x021DD874
	stmdb sp!, {r4, r5, r6, r7, r8, lr}
	ldr ip, _021DD8E0 ; =UNK04_02210514
	mov r4, r2
	mov r7, r3
	mov r5, r1
	ldr r2, [sp, #0x18]
	ldr r3, [ip]
	mov r1, r7
	mov r8, r0
	blx r3
	movs r6, r0
	moveq r0, #0
	ldmeqia sp!, {r4, r5, r6, r7, r8, pc}
	cmp r5, #0
	beq _021DD8D8
	mov r0, r5
	mov r1, r6
	mov r2, r7
	bl MI_CpuCopy8
	ldr r1, _021DD8E4 ; =UNK04_02210510
	mov r0, r8
	ldr r3, [r1]
	mov r1, r5
	mov r2, r4
	blx r3
_021DD8D8:
	mov r0, r6
	ldmia sp!, {r4, r5, r6, r7, r8, pc}
	.align 2, 0
_021DD8E0: .word UNK04_02210514
_021DD8E4: .word UNK04_02210510
	arm_func_end MOD04_021DD874

	arm_func_start MOD04_021DD8E8
MOD04_021DD8E8: ; 0x021DD8E8
	stmdb sp!, {lr}
	sub sp, sp, #4
	mov ip, #0x20
	str ip, [sp]
	bl MOD04_021DD874
	add sp, sp, #4
	ldmfd sp!, {pc}
	arm_func_end MOD04_021DD8E8

	arm_func_start MOD04_021DD904
MOD04_021DD904: ; 0x021DD904
	stmdb sp!, {lr}
	sub sp, sp, #4
	ldr r3, _021DD920 ; =UNK04_02210510
	ldr r3, [r3]
	blx r3
	add sp, sp, #4
	ldmfd sp!, {pc}
	.align 2, 0
_021DD920: .word UNK04_02210510
	arm_func_end MOD04_021DD904

	arm_func_start MOD04_021DD924
MOD04_021DD924: ; 0x021DD924
	stmdb sp!, {lr}
	sub sp, sp, #4
	ldr r3, _021DD940 ; =UNK04_02210514
	ldr r3, [r3]
	blx r3
	add sp, sp, #4
	ldmfd sp!, {pc}
	.align 2, 0
_021DD940: .word UNK04_02210514
	arm_func_end MOD04_021DD924

	arm_func_start MOD04_021DD944
MOD04_021DD944: ; 0x021DD944
	stmdb sp!, {lr}
	sub sp, sp, #4
	ldr r3, _021DD964 ; =UNK04_02210514
	mov r2, #0x20
	ldr r3, [r3]
	blx r3
	add sp, sp, #4
	ldmfd sp!, {pc}
	.align 2, 0
_021DD964: .word UNK04_02210514
	arm_func_end MOD04_021DD944

	arm_func_start MOD04_021DD968
MOD04_021DD968: ; 0x021DD968
	ldr r3, _021DD97C ; =UNK04_02210514
	ldr r2, _021DD980 ; =UNK04_02210510
	str r0, [r3]
	str r1, [r2]
	bx lr
	.align 2, 0
_021DD97C: .word UNK04_02210514
_021DD980: .word UNK04_02210510
	arm_func_end MOD04_021DD968

	.section .bss

	.global UNK04_02210510
UNK04_02210510: ; 0x02210510
	.space 0x4

	.global UNK04_02210514
UNK04_02210514: ; 0x02210514
	.space 0x4