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
|
.include "asm/macros.inc"
.include "global.inc"
.text
thumb_func_start FUN_02029CEC
FUN_02029CEC: ; 0x02029CEC
mov r1, #0x12
lsl r1, r1, #0x4
add r0, r0, r1
bx lr
thumb_func_start FUN_02029CF4
FUN_02029CF4: ; 0x02029CF4
ldrb r0, [r0, r1]
bx lr
thumb_func_start FUN_02029CF8
FUN_02029CF8: ; 0x02029CF8
mov r3, #0x0
add r2, r1, #0x1
_02029CFC:
ldrb r1, [r0, #0x0]
cmp r2, r1
bne _02029D06
mov r0, #0x1
bx lr
_02029D06:
add r3, r3, #0x1
add r0, r0, #0x3
cmp r3, #0x8
blt _02029CFC
mov r0, #0x0
bx lr
.balign 4
thumb_func_start FUN_02029D14
FUN_02029D14: ; 0x02029D14
push {r4-r7}
mov r6, #0x0
add r4, r6, #0x0
add r2, r1, #0x1
add r3, r6, #0x0
_02029D1E:
add r5, r3, #0x0
add r7, r0, #0x0
_02029D22:
ldrb r1, [r7, #0x0]
cmp r2, r1
bne _02029D2A
add r6, r6, #0x1
_02029D2A:
add r5, r5, #0x1
add r7, r7, #0x3
cmp r5, #0x8
blt _02029D22
add r4, r4, #0x1
add r0, #0x18
cmp r4, #0xc
blt _02029D1E
add r0, r6, #0x0
pop {r4-r7}
bx lr
thumb_func_start FUN_02029D40
FUN_02029D40: ; 0x02029D40
strb r2, [r0, r1]
bx lr
thumb_func_start FUN_02029D44
FUN_02029D44: ; 0x02029D44
push {r4-r6, lr}
add r5, r1, #0x0
sub r1, r5, #0x1
add r6, r0, #0x0
add r4, r2, #0x0
bl FUN_02029D14
mov r1, #0x12
lsl r1, r1, #0x4
add r2, r6, r1
sub r1, r5, #0x1
ldrb r3, [r2, r1]
add r0, r0, r3
cmp r4, #0x0
bge _02029D6E
add r0, r4, r3
bmi _02029D6A
strb r0, [r2, r1]
b _02029D7E
_02029D6A:
mov r0, #0x0
pop {r4-r6, pc}
_02029D6E:
add r0, r0, r4
cmp r0, #0x63
bgt _02029D7A
add r0, r3, r4
strb r0, [r2, r1]
b _02029D7E
_02029D7A:
mov r0, #0x0
pop {r4-r6, pc}
_02029D7E:
mov r0, #0x1
pop {r4-r6, pc}
.balign 4
thumb_func_start FUN_02029D84
FUN_02029D84: ; 0x02029D84
push {r4-r6, lr}
add r5, r1, #0x0
sub r1, r5, #0x1
add r6, r0, #0x0
add r4, r2, #0x0
bl FUN_02029D14
cmp r4, #0x0
bge _02029DAC
mov r0, #0x12
lsl r0, r0, #0x4
add r2, r6, r0
sub r1, r5, #0x1
ldrb r0, [r2, r1]
add r0, r4, r0
bmi _02029DA8
strb r0, [r2, r1]
b _02029DD0
_02029DA8:
mov r0, #0x0
pop {r4-r6, pc}
_02029DAC:
add r0, r0, r4
cmp r0, #0x63
bgt _02029DCC
mov r0, #0x12
lsl r0, r0, #0x4
add r2, r6, r0
sub r1, r5, #0x1
ldrb r0, [r2, r1]
add r0, r0, r4
strb r0, [r2, r1]
ldrb r0, [r2, r1]
cmp r0, #0x63
blo _02029DD0
mov r0, #0x63
strb r0, [r2, r1]
b _02029DD0
_02029DCC:
mov r0, #0x0
pop {r4-r6, pc}
_02029DD0:
mov r0, #0x1
pop {r4-r6, pc}
thumb_func_start FUN_02029DD4
FUN_02029DD4: ; 0x02029DD4
push {r4-r6, lr}
add r5, r1, #0x0
sub r1, r5, #0x1
add r6, r0, #0x0
add r4, r2, #0x0
bl FUN_02029D14
sub r1, r5, #0x1
add r2, r6, r1
mov r1, #0x12
lsl r1, r1, #0x4
ldrb r1, [r2, r1]
add r0, r0, r1
cmp r4, #0x0
bge _02029DFE
add r0, r4, r1
bmi _02029DFA
mov r0, #0x1
pop {r4-r6, pc}
_02029DFA:
mov r0, #0x0
pop {r4-r6, pc}
_02029DFE:
add r0, r0, r4
cmp r0, #0x63
bgt _02029E08
mov r0, #0x1
pop {r4-r6, pc}
_02029E08:
mov r0, #0x0
pop {r4-r6, pc}
thumb_func_start FUN_02029E0C
FUN_02029E0C: ; 0x02029E0C
push {r4-r6, lr}
add r6, r0, #0x0
mov r5, #0x0
mov r4, #0x1
_02029E14:
add r0, r6, #0x0
add r1, r4, #0x0
bl FUN_02029E2C
cmp r0, #0x0
beq _02029E22
add r5, r5, #0x1
_02029E22:
add r4, r4, #0x1
cmp r4, #0x51
blt _02029E14
add r0, r5, #0x0
pop {r4-r6, pc}
thumb_func_start FUN_02029E2C
FUN_02029E2C: ; 0x02029E2C
push {r3-r5, lr}
add r5, r1, #0x0
sub r1, r5, #0x1
add r4, r0, #0x0
bl FUN_02029D14
sub r1, r5, #0x1
add r2, r4, r1
mov r1, #0x12
lsl r1, r1, #0x4
ldrb r1, [r2, r1]
add r0, r0, r1
pop {r3-r5, pc}
.balign 4
|