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
|
.include "asm/macros.inc"
.include "global.inc"
.section .rodata
.global UNK_020F7E48
UNK_020F7E48: ; 0x020F7E48
.byte 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01
.global UNK_020F7E54
UNK_020F7E54: ; 0x020F7E54
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00
.byte 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x00, 0x01
.text
thumb_func_start FUN_02064CA8
FUN_02064CA8: ; 0x02064CA8
push {r4, lr}
bl ScriptEnvironment_GetSav2Ptr
bl FUN_02024ED8
add r4, r0, #0x0
mov r1, #0x1
bl FUN_02025490
add r0, r4, #0x0
mov r1, #0x1
bl FUN_020254A0
mov r1, #0x1
strb r1, [r0, #0x0]
pop {r4, pc}
thumb_func_start FUN_02064CC8
FUN_02064CC8: ; 0x02064CC8
push {r3-r5, lr}
add r5, r0, #0x0
bl ScriptEnvironment_GetSav2Ptr
bl FUN_02024ED8
add r4, r0, #0x0
mov r1, #0x2
bl FUN_02025490
add r0, r4, #0x0
mov r1, #0x2
bl FUN_020254A0
add r4, r0, #0x0
ldr r0, [r5, #0x1c]
ldr r0, [r0, #0xc]
cmp r0, #0x16
bne _02064D08
ldr r0, [r5, #0xc]
bl SavArray_Flags_get
bl FUN_0205ECEC
cmp r0, #0x0
beq _02064D02
mov r0, #0x0
strb r0, [r4, #0x0]
pop {r3-r5, pc}
_02064D02:
mov r0, #0x1
strb r0, [r4, #0x0]
pop {r3-r5, pc}
_02064D08:
mov r0, #0x1
strb r0, [r4, #0x0]
pop {r3-r5, pc}
.balign 4
thumb_func_start FUN_02064D10
FUN_02064D10: ; 0x02064D10
push {r4-r6, lr}
bl ScriptEnvironment_GetSav2Ptr
bl FUN_02024ED8
add r4, r0, #0x0
mov r1, #0x3
bl FUN_02025490
add r0, r4, #0x0
mov r1, #0x3
bl FUN_020254A0
ldr r5, _02064D48 ; =UNK_020F7E54
add r6, r0, #0x0
mov r4, #0x0
_02064D30:
ldrb r1, [r5, #0x0]
lsl r0, r4, #0x18
lsr r0, r0, #0x18
add r2, r6, #0x0
bl FUN_02064DEC
add r4, r4, #0x1
add r5, r5, #0x1
cmp r4, #0x18
blt _02064D30
pop {r4-r6, pc}
nop
_02064D48: .word UNK_020F7E54
thumb_func_start FUN_02064D4C
FUN_02064D4C: ; 0x02064D4C
push {r4-r6, lr}
bl ScriptEnvironment_GetSav2Ptr
bl FUN_02024ED8
add r4, r0, #0x0
mov r1, #0x4
bl FUN_02025490
add r0, r4, #0x0
mov r1, #0x4
bl FUN_020254A0
ldr r5, _02064D84 ; =UNK_020F7E48
add r6, r0, #0x0
mov r4, #0x0
_02064D6C:
ldrb r1, [r5, #0x0]
lsl r0, r4, #0x18
lsr r0, r0, #0x18
add r2, r6, #0x0
bl FUN_02064DEC
add r4, r4, #0x1
add r5, r5, #0x1
cmp r4, #0xc
blt _02064D6C
pop {r4-r6, pc}
nop
_02064D84: .word UNK_020F7E48
thumb_func_start FUN_02064D88
FUN_02064D88: ; 0x02064D88
push {r3-r7, lr}
add r5, r1, #0x0
add r7, r0, #0x0
cmp r5, #0x3
blo _02064D96
bl GF_AssertFail
_02064D96:
add r0, r7, #0x0
bl ScriptEnvironment_GetSav2Ptr
bl FUN_02024ED8
add r4, r0, #0x0
mov r1, #0x5
bl FUN_02025490
add r0, r4, #0x0
mov r1, #0x5
bl FUN_020254A0
add r4, r0, #0x0
str r5, [r4, #0x4]
cmp r5, #0x0
beq _02064DC2
cmp r5, #0x1
beq _02064DCA
cmp r5, #0x2
beq _02064DD2
b _02064DDA
_02064DC2:
mov r0, #0x2
str r0, [r4, #0x0]
mov r6, #0xe
b _02064DDE
_02064DCA:
mov r0, #0x1
str r0, [r4, #0x0]
mov r6, #0x15
b _02064DDE
_02064DD2:
mov r0, #0x0
str r0, [r4, #0x0]
mov r6, #0x19
b _02064DDE
_02064DDA:
bl GF_AssertFail
_02064DDE:
ldr r0, [r7, #0x1c]
ldr r0, [r0, #0xc]
cmp r0, r6
bne _02064DEA
mov r0, #0x0
str r0, [r4, #0x0]
_02064DEA:
pop {r3-r7, pc}
thumb_func_start FUN_02064DEC
FUN_02064DEC: ; 0x02064DEC
push {r4-r6, lr}
add r4, r1, #0x0
add r5, r0, #0x0
add r6, r2, #0x0
cmp r4, #0x1
bls _02064DFC
bl GF_AssertFail
_02064DFC:
mov r0, #0x0
mvn r0, r0
mov r1, #0x20
ldr r2, [r6, #0x0]
sub r1, r1, r5
add r3, r0, #0x0
lsr r3, r1
add r1, r2, #0x0
and r1, r3
add r3, r5, #0x1
lsl r0, r3
and r2, r0
add r0, r4, #0x0
lsl r0, r5
orr r0, r2
orr r0, r1
str r0, [r6, #0x0]
pop {r4-r6, pc}
|