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
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
|
.include "asm/macros.inc"
.include "global.inc"
.extern gMain
.text
thumb_func_start FUN_02024F30
FUN_02024F30: ; 0x02024F30
push {r4, lr}
mov r1, #0x2
bl AllocFromHeap
add r4, r0, #0x0
bl Options_init
add r0, r4, #0x0
pop {r4, pc}
.balign 4
thumb_func_start FUN_02024F44
FUN_02024F44: ; 0x02024F44
ldr r3, _02024F4C ; =MI_CpuCopy8
mov r2, #0x2
bx r3
nop
_02024F4C: .word MI_CpuCopy8
thumb_func_start Options_init
Options_init: ; 0x02024F50
push {r4, lr}
add r4, r0, #0x0
mov r1, #0x0
mov r2, #0x2
bl MI_CpuFill8
ldrh r1, [r4, #0x0]
mov r0, #0xf
bic r1, r0
mov r0, #0x1
orr r0, r1
strh r0, [r4, #0x0]
ldrh r1, [r4, #0x0]
mov r0, #0x30
bic r1, r0
strh r1, [r4, #0x0]
ldrh r1, [r4, #0x0]
mov r0, #0x40
bic r1, r0
strh r1, [r4, #0x0]
ldrh r1, [r4, #0x0]
mov r0, #0x80
bic r1, r0
strh r1, [r4, #0x0]
ldrh r1, [r4, #0x0]
ldr r0, _02024F94 ; =0xFFFFFCFF
and r0, r1
strh r0, [r4, #0x0]
ldrh r1, [r4, #0x0]
ldr r0, _02024F98 ; =0xFFFF83FF
and r0, r1
strh r0, [r4, #0x0]
pop {r4, pc}
nop
_02024F94: .word 0xFFFFFCFF
_02024F98: .word 0xFFFF83FF
thumb_func_start FUN_02024F9C
FUN_02024F9C: ; 0x02024F9C
push {r3, lr}
cmp r0, #0x0
beq _02024FAC
bl Sav2_PlayerData_GetOptionsAddr
bl FUN_02025064
add r1, r0, #0x0
_02024FAC:
cmp r1, #0x0
beq _02024FCA
cmp r1, #0x1
beq _02024FBA
cmp r1, #0x2
beq _02024FC2
b _02024FCA
_02024FBA:
ldr r0, _02024FD4 ; =gMain
mov r1, #0x1
str r1, [r0, #0x34]
pop {r3, pc}
_02024FC2:
ldr r0, _02024FD4 ; =gMain
mov r1, #0x3
str r1, [r0, #0x34]
pop {r3, pc}
_02024FCA:
ldr r0, _02024FD4 ; =gMain
mov r1, #0x0
str r1, [r0, #0x34]
pop {r3, pc}
nop
_02024FD4: .word gMain
thumb_func_start FUN_02024FD8
FUN_02024FD8: ; 0x02024FD8
ldrh r0, [r0, #0x0]
lsl r0, r0, #0x1c
lsr r0, r0, #0x1c
bx lr
thumb_func_start FUN_02024FE0
FUN_02024FE0: ; 0x02024FE0
ldrh r3, [r0, #0x0]
mov r2, #0xf
lsl r1, r1, #0x10
bic r3, r2
lsr r2, r1, #0x10
mov r1, #0xf
and r1, r2
orr r1, r3
strh r1, [r0, #0x0]
bx lr
thumb_func_start FUN_02024FF4
FUN_02024FF4: ; 0x02024FF4
push {r3, lr}
bl FUN_02024FD8
cmp r0, #0x0
bne _02025002
mov r0, #0x8
pop {r3, pc}
_02025002:
cmp r0, #0x1
bne _0202500A
mov r0, #0x4
pop {r3, pc}
_0202500A:
mov r0, #0x1
pop {r3, pc}
.balign 4
thumb_func_start FUN_02025010
FUN_02025010: ; 0x02025010
ldrh r0, [r0, #0x0]
lsl r0, r0, #0x1a
lsr r0, r0, #0x1e
bx lr
thumb_func_start FUN_02025018
FUN_02025018: ; 0x02025018
lsl r1, r1, #0x10
lsr r1, r1, #0x10
lsl r1, r1, #0x1e
ldrh r3, [r0, #0x0]
mov r2, #0x30
lsr r1, r1, #0x1a
bic r3, r2
orr r1, r3
strh r1, [r0, #0x0]
bx lr
thumb_func_start FUN_0202502C
FUN_0202502C: ; 0x0202502C
ldrh r0, [r0, #0x0]
lsl r0, r0, #0x18
lsr r0, r0, #0x1f
bx lr
thumb_func_start FUN_02025034
FUN_02025034: ; 0x02025034
lsl r1, r1, #0x10
lsr r1, r1, #0x10
lsl r1, r1, #0x1f
ldrh r3, [r0, #0x0]
mov r2, #0x80
lsr r1, r1, #0x18
bic r3, r2
orr r1, r3
strh r1, [r0, #0x0]
bx lr
thumb_func_start FUN_02025048
FUN_02025048: ; 0x02025048
ldrh r0, [r0, #0x0]
lsl r0, r0, #0x19
lsr r0, r0, #0x1f
bx lr
thumb_func_start FUN_02025050
FUN_02025050: ; 0x02025050
lsl r1, r1, #0x10
lsr r1, r1, #0x10
lsl r1, r1, #0x1f
ldrh r3, [r0, #0x0]
mov r2, #0x40
lsr r1, r1, #0x19
bic r3, r2
orr r1, r3
strh r1, [r0, #0x0]
bx lr
thumb_func_start FUN_02025064
FUN_02025064: ; 0x02025064
ldrh r0, [r0, #0x0]
lsl r0, r0, #0x16
lsr r0, r0, #0x1e
bx lr
thumb_func_start FUN_0202506C
FUN_0202506C: ; 0x0202506C
lsl r1, r1, #0x10
lsr r1, r1, #0x10
lsl r1, r1, #0x1e
ldrh r3, [r0, #0x0]
ldr r2, _02025080 ; =0xFFFFFCFF
lsr r1, r1, #0x16
and r2, r3
orr r1, r2
strh r1, [r0, #0x0]
bx lr
.balign 4
_02025080: .word 0xFFFFFCFF
thumb_func_start FUN_02025084
FUN_02025084: ; 0x02025084
ldrh r0, [r0, #0x0]
lsl r0, r0, #0x11
lsr r0, r0, #0x1b
bx lr
thumb_func_start FUN_0202508C
FUN_0202508C: ; 0x0202508C
lsl r1, r1, #0x10
lsr r1, r1, #0x10
lsl r1, r1, #0x1b
ldrh r3, [r0, #0x0]
ldr r2, _020250A0 ; =0xFFFF83FF
lsr r1, r1, #0x11
and r2, r3
orr r1, r2
strh r1, [r0, #0x0]
bx lr
.balign 4
_020250A0: .word 0xFFFF83FF
|