summaryrefslogtreecommitdiff
path: root/asm/SDK/VF/d_hash.s
blob: 73fbe8744d1053af8d06e471d11dd73a49f954f4 (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
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
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
.include "macros.inc"

.section .text, "ax"  # 0x80006980 - 0x803E1E60

.global _MakeWStr
_MakeWStr:
/* 8031B730 00317390  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 8031B734 00317394  7C 08 02 A6 */	mflr r0
/* 8031B738 00317398  90 01 00 34 */	stw r0, 0x34(r1)
/* 8031B73C 0031739C  39 61 00 30 */	addi r11, r1, 0x30
/* 8031B740 003173A0  4B EA B9 E1 */	bl _savegpr_25
/* 8031B744 003173A4  7C 7E 1B 78 */	mr r30, r3
/* 8031B748 003173A8  38 80 00 00 */	li r4, 0
/* 8031B74C 003173AC  48 00 00 0C */	b lbl_8031B758
lbl_8031B750:
/* 8031B750 003173B0  38 63 00 01 */	addi r3, r3, 1
/* 8031B754 003173B4  38 84 00 01 */	addi r4, r4, 1
lbl_8031B758:
/* 8031B758 003173B8  88 03 00 00 */	lbz r0, 0(r3)
/* 8031B75C 003173BC  7C 00 07 75 */	extsb. r0, r0
/* 8031B760 003173C0  40 82 FF F0 */	bne lbl_8031B750
/* 8031B764 003173C4  28 04 00 08 */	cmplwi r4, 8
/* 8031B768 003173C8  40 80 00 D8 */	bge lbl_8031B840
/* 8031B76C 003173CC  7F C3 F3 78 */	mr r3, r30
/* 8031B770 003173D0  3B 80 00 00 */	li r28, 0
/* 8031B774 003173D4  48 00 00 0C */	b lbl_8031B780
lbl_8031B778:
/* 8031B778 003173D8  38 63 00 01 */	addi r3, r3, 1
/* 8031B77C 003173DC  3B 9C 00 01 */	addi r28, r28, 1
lbl_8031B780:
/* 8031B780 003173E0  88 03 00 00 */	lbz r0, 0(r3)
/* 8031B784 003173E4  7C 00 07 75 */	extsb. r0, r0
/* 8031B788 003173E8  40 82 FF F0 */	bne lbl_8031B778
/* 8031B78C 003173EC  3F 60 80 61 */	lis r27, lbl_8060F608@ha
/* 8031B790 003173F0  3F A0 80 58 */	lis r29, lbl_8057F5C8@ha
/* 8031B794 003173F4  3B 7B F6 08 */	addi r27, r27, lbl_8060F608@l
/* 8031B798 003173F8  3B E0 00 00 */	li r31, 0
/* 8031B79C 003173FC  3B BD F5 C8 */	addi r29, r29, lbl_8057F5C8@l
/* 8031B7A0 00317400  3B 20 00 00 */	li r25, 0
/* 8031B7A4 00317404  48 00 00 74 */	b lbl_8031B818
lbl_8031B7A8:
/* 8031B7A8 00317408  2C 19 00 00 */	cmpwi r25, 0
/* 8031B7AC 0031740C  41 82 00 0C */	beq lbl_8031B7B8
/* 8031B7B0 00317410  3B 20 00 00 */	li r25, 0
/* 8031B7B4 00317414  48 00 00 5C */	b lbl_8031B810
lbl_8031B7B8:
/* 8031B7B8 00317418  7C 1E F8 AE */	lbzx r0, r30, r31
/* 8031B7BC 0031741C  7F 5E FA 14 */	add r26, r30, r31
/* 8031B7C0 00317420  81 9D 00 30 */	lwz r12, 0x30(r29)
/* 8031B7C4 00317424  38 80 00 01 */	li r4, 1
/* 8031B7C8 00317428  7C 03 07 74 */	extsb r3, r0
/* 8031B7CC 0031742C  7D 89 03 A6 */	mtctr r12
/* 8031B7D0 00317430  4E 80 04 21 */	bctrl
/* 8031B7D4 00317434  2C 03 00 00 */	cmpwi r3, 0
/* 8031B7D8 00317438  41 82 00 2C */	beq lbl_8031B804
/* 8031B7DC 0031743C  88 7A 00 01 */	lbz r3, 1(r26)
/* 8031B7E0 00317440  3B 20 00 01 */	li r25, 1
/* 8031B7E4 00317444  88 1A 00 00 */	lbz r0, 0(r26)
/* 8031B7E8 00317448  7C 63 07 74 */	extsb r3, r3
/* 8031B7EC 0031744C  7C 00 07 74 */	extsb r0, r0
/* 8031B7F0 00317450  54 63 04 3E */	clrlwi r3, r3, 0x10
/* 8031B7F4 00317454  54 00 40 2E */	slwi r0, r0, 8
/* 8031B7F8 00317458  7C 60 03 78 */	or r0, r3, r0
/* 8031B7FC 0031745C  B0 1B 00 00 */	sth r0, 0(r27)
/* 8031B800 00317460  48 00 00 10 */	b lbl_8031B810
lbl_8031B804:
/* 8031B804 00317464  88 1A 00 00 */	lbz r0, 0(r26)
/* 8031B808 00317468  7C 00 07 74 */	extsb r0, r0
/* 8031B80C 0031746C  B0 1B 00 00 */	sth r0, 0(r27)
lbl_8031B810:
/* 8031B810 00317470  3B 7B 00 02 */	addi r27, r27, 2
/* 8031B814 00317474  3B FF 00 01 */	addi r31, r31, 1
lbl_8031B818:
/* 8031B818 00317478  7C 1F E0 40 */	cmplw r31, r28
/* 8031B81C 0031747C  41 80 FF 8C */	blt lbl_8031B7A8
/* 8031B820 00317480  3C 80 80 61 */	lis r4, lbl_8060F608@ha
/* 8031B824 00317484  38 A0 00 00 */	li r5, 0
/* 8031B828 00317488  38 84 F6 08 */	addi r4, r4, lbl_8060F608@l
/* 8031B82C 0031748C  57 E0 08 3C */	slwi r0, r31, 1
/* 8031B830 00317490  B0 A4 00 0E */	sth r5, 0xe(r4)
/* 8031B834 00317494  38 60 00 01 */	li r3, 1
/* 8031B838 00317498  7C A4 03 2E */	sthx r5, r4, r0
/* 8031B83C 0031749C  48 00 00 08 */	b lbl_8031B844
lbl_8031B840:
/* 8031B840 003174A0  38 60 00 00 */	li r3, 0
lbl_8031B844:
/* 8031B844 003174A4  39 61 00 30 */	addi r11, r1, 0x30
/* 8031B848 003174A8  4B EA B9 25 */	bl _restgpr_25
/* 8031B84C 003174AC  80 01 00 34 */	lwz r0, 0x34(r1)
/* 8031B850 003174B0  7C 08 03 A6 */	mtlr r0
/* 8031B854 003174B4  38 21 00 30 */	addi r1, r1, 0x30
/* 8031B858 003174B8  4E 80 00 20 */	blr

.global dHash_InitHashTable
dHash_InitHashTable:
/* 8031B85C 003174BC  38 00 00 00 */	li r0, 0
/* 8031B860 003174C0  3C 60 80 61 */	lis r3, lbl_8060F618@ha
/* 8031B864 003174C4  B4 03 F6 18 */	sthu r0, lbl_8060F618@l(r3)
/* 8031B868 003174C8  98 03 00 10 */	stb r0, 0x10(r3)
/* 8031B86C 003174CC  B0 03 00 12 */	sth r0, 0x12(r3)
/* 8031B870 003174D0  98 03 00 22 */	stb r0, 0x22(r3)
/* 8031B874 003174D4  B0 03 00 24 */	sth r0, 0x24(r3)
/* 8031B878 003174D8  98 03 00 34 */	stb r0, 0x34(r3)
/* 8031B87C 003174DC  B0 03 00 36 */	sth r0, 0x36(r3)
/* 8031B880 003174E0  98 03 00 46 */	stb r0, 0x46(r3)
/* 8031B884 003174E4  B0 03 00 48 */	sth r0, 0x48(r3)
/* 8031B888 003174E8  98 03 00 58 */	stb r0, 0x58(r3)
/* 8031B88C 003174EC  B0 03 00 5A */	sth r0, 0x5a(r3)
/* 8031B890 003174F0  98 03 00 6A */	stb r0, 0x6a(r3)
/* 8031B894 003174F4  B0 03 00 6C */	sth r0, 0x6c(r3)
/* 8031B898 003174F8  98 03 00 7C */	stb r0, 0x7c(r3)
/* 8031B89C 003174FC  B0 03 00 7E */	sth r0, 0x7e(r3)
/* 8031B8A0 00317500  98 03 00 8E */	stb r0, 0x8e(r3)
/* 8031B8A4 00317504  B0 03 00 90 */	sth r0, 0x90(r3)
/* 8031B8A8 00317508  98 03 00 A0 */	stb r0, 0xa0(r3)
/* 8031B8AC 0031750C  B0 03 00 A2 */	sth r0, 0xa2(r3)
/* 8031B8B0 00317510  98 03 00 B2 */	stb r0, 0xb2(r3)
/* 8031B8B4 00317514  B0 03 00 B4 */	sth r0, 0xb4(r3)
/* 8031B8B8 00317518  98 03 00 C4 */	stb r0, 0xc4(r3)
/* 8031B8BC 0031751C  B0 03 00 C6 */	sth r0, 0xc6(r3)
/* 8031B8C0 00317520  98 03 00 D6 */	stb r0, 0xd6(r3)
/* 8031B8C4 00317524  B0 03 00 D8 */	sth r0, 0xd8(r3)
/* 8031B8C8 00317528  98 03 00 E8 */	stb r0, 0xe8(r3)
/* 8031B8CC 0031752C  B0 03 00 EA */	sth r0, 0xea(r3)
/* 8031B8D0 00317530  98 03 00 FA */	stb r0, 0xfa(r3)
/* 8031B8D4 00317534  B0 03 00 FC */	sth r0, 0xfc(r3)
/* 8031B8D8 00317538  98 03 01 0C */	stb r0, 0x10c(r3)
/* 8031B8DC 0031753C  B0 03 01 0E */	sth r0, 0x10e(r3)
/* 8031B8E0 00317540  98 03 01 1E */	stb r0, 0x11e(r3)
/* 8031B8E4 00317544  B0 03 01 20 */	sth r0, 0x120(r3)
/* 8031B8E8 00317548  98 03 01 30 */	stb r0, 0x130(r3)
/* 8031B8EC 0031754C  B0 03 01 32 */	sth r0, 0x132(r3)
/* 8031B8F0 00317550  98 03 01 42 */	stb r0, 0x142(r3)
/* 8031B8F4 00317554  B0 03 01 44 */	sth r0, 0x144(r3)
/* 8031B8F8 00317558  98 03 01 54 */	stb r0, 0x154(r3)
/* 8031B8FC 0031755C  B0 03 01 56 */	sth r0, 0x156(r3)
/* 8031B900 00317560  98 03 01 66 */	stb r0, 0x166(r3)
/* 8031B904 00317564  B0 03 01 68 */	sth r0, 0x168(r3)
/* 8031B908 00317568  98 03 01 78 */	stb r0, 0x178(r3)
/* 8031B90C 0031756C  B0 03 01 7A */	sth r0, 0x17a(r3)
/* 8031B910 00317570  98 03 01 8A */	stb r0, 0x18a(r3)
/* 8031B914 00317574  B0 03 01 8C */	sth r0, 0x18c(r3)
/* 8031B918 00317578  98 03 01 9C */	stb r0, 0x19c(r3)
/* 8031B91C 0031757C  B0 03 01 9E */	sth r0, 0x19e(r3)
/* 8031B920 00317580  98 03 01 AE */	stb r0, 0x1ae(r3)
/* 8031B924 00317584  B0 03 01 B0 */	sth r0, 0x1b0(r3)
/* 8031B928 00317588  98 03 01 C0 */	stb r0, 0x1c0(r3)
/* 8031B92C 0031758C  B0 03 01 C2 */	sth r0, 0x1c2(r3)
/* 8031B930 00317590  98 03 01 D2 */	stb r0, 0x1d2(r3)
/* 8031B934 00317594  B0 03 01 D4 */	sth r0, 0x1d4(r3)
/* 8031B938 00317598  98 03 01 E4 */	stb r0, 0x1e4(r3)
/* 8031B93C 0031759C  B0 03 01 E6 */	sth r0, 0x1e6(r3)
/* 8031B940 003175A0  98 03 01 F6 */	stb r0, 0x1f6(r3)
/* 8031B944 003175A4  B0 03 01 F8 */	sth r0, 0x1f8(r3)
/* 8031B948 003175A8  98 03 02 08 */	stb r0, 0x208(r3)
/* 8031B94C 003175AC  B0 03 02 0A */	sth r0, 0x20a(r3)
/* 8031B950 003175B0  98 03 02 1A */	stb r0, 0x21a(r3)
/* 8031B954 003175B4  B0 03 02 1C */	sth r0, 0x21c(r3)
/* 8031B958 003175B8  98 03 02 2C */	stb r0, 0x22c(r3)
/* 8031B95C 003175BC  4E 80 00 20 */	blr

.global dHash_SearchHashW
dHash_SearchHashW:
/* 8031B960 003175C0  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 8031B964 003175C4  38 80 00 00 */	li r4, 0
/* 8031B968 003175C8  7C 65 1B 78 */	mr r5, r3
/* 8031B96C 003175CC  93 E1 00 0C */	stw r31, 0xc(r1)
/* 8031B970 003175D0  48 00 00 0C */	b lbl_8031B97C
lbl_8031B974:
/* 8031B974 003175D4  38 A5 00 02 */	addi r5, r5, 2
/* 8031B978 003175D8  38 84 00 01 */	addi r4, r4, 1
lbl_8031B97C:
/* 8031B97C 003175DC  A0 05 00 00 */	lhz r0, 0(r5)
/* 8031B980 003175E0  2C 00 00 00 */	cmpwi r0, 0
/* 8031B984 003175E4  40 82 FF F0 */	bne lbl_8031B974
/* 8031B988 003175E8  2C 04 00 08 */	cmpwi r4, 8
/* 8031B98C 003175EC  40 80 00 6C */	bge lbl_8031B9F8
/* 8031B990 003175F0  7C 67 1B 78 */	mr r7, r3
/* 8031B994 003175F4  38 C0 00 00 */	li r6, 0
/* 8031B998 003175F8  38 A0 00 00 */	li r5, 0
/* 8031B99C 003175FC  7C 89 03 A6 */	mtctr r4
/* 8031B9A0 00317600  28 04 00 00 */	cmplwi r4, 0
/* 8031B9A4 00317604  40 81 00 2C */	ble lbl_8031B9D0
lbl_8031B9A8:
/* 8031B9A8 00317608  28 05 00 07 */	cmplwi r5, 7
/* 8031B9AC 0031760C  40 81 00 08 */	ble lbl_8031B9B4
/* 8031B9B0 00317610  38 A0 00 00 */	li r5, 0
lbl_8031B9B4:
/* 8031B9B4 00317614  A0 87 00 00 */	lhz r4, 0(r7)
/* 8031B9B8 00317618  54 A0 10 3A */	slwi r0, r5, 2
/* 8031B9BC 0031761C  38 E7 00 02 */	addi r7, r7, 2
/* 8031B9C0 00317620  38 A5 00 01 */	addi r5, r5, 1
/* 8031B9C4 00317624  7C 80 00 30 */	slw r0, r4, r0
/* 8031B9C8 00317628  7C C6 02 14 */	add r6, r6, r0
/* 8031B9CC 0031762C  42 00 FF DC */	bdnz lbl_8031B9A8
lbl_8031B9D0:
/* 8031B9D0 00317630  3C 80 08 42 */	lis r4, 0x08421085@ha
/* 8031B9D4 00317634  38 04 10 85 */	addi r0, r4, 0x08421085@l
/* 8031B9D8 00317638  7C 80 30 16 */	mulhwu r4, r0, r6
/* 8031B9DC 0031763C  7C 04 30 50 */	subf r0, r4, r6
/* 8031B9E0 00317640  54 00 F8 7E */	srwi r0, r0, 1
/* 8031B9E4 00317644  7C 00 22 14 */	add r0, r0, r4
/* 8031B9E8 00317648  54 00 E1 3E */	srwi r0, r0, 4
/* 8031B9EC 0031764C  1C 00 00 1F */	mulli r0, r0, 0x1f
/* 8031B9F0 00317650  7D 00 30 50 */	subf r8, r0, r6
/* 8031B9F4 00317654  48 00 00 08 */	b lbl_8031B9FC
lbl_8031B9F8:
/* 8031B9F8 00317658  39 00 FF FF */	li r8, -1
lbl_8031B9FC:
/* 8031B9FC 0031765C  2C 08 FF FF */	cmpwi r8, -1
/* 8031BA00 00317660  41 82 00 E0 */	beq lbl_8031BAE0
/* 8031BA04 00317664  7C 64 1B 78 */	mr r4, r3
/* 8031BA08 00317668  39 20 00 00 */	li r9, 0
/* 8031BA0C 0031766C  48 00 00 0C */	b lbl_8031BA18
lbl_8031BA10:
/* 8031BA10 00317670  38 84 00 02 */	addi r4, r4, 2
/* 8031BA14 00317674  39 29 00 01 */	addi r9, r9, 1
lbl_8031BA18:
/* 8031BA18 00317678  A0 04 00 00 */	lhz r0, 0(r4)
/* 8031BA1C 0031767C  2C 00 00 00 */	cmpwi r0, 0
/* 8031BA20 00317680  40 82 FF F0 */	bne lbl_8031BA10
/* 8031BA24 00317684  3C 80 84 21 */	lis r4, 0x84210843@ha
/* 8031BA28 00317688  3C A0 80 61 */	lis r5, lbl_8060F618@ha
/* 8031BA2C 0031768C  38 C4 08 43 */	addi r6, r4, 0x84210843@l
/* 8031BA30 00317690  39 60 00 00 */	li r11, 0
/* 8031BA34 00317694  38 A5 F6 18 */	addi r5, r5, lbl_8060F618@l
lbl_8031BA38:
/* 8031BA38 00317698  7C 0B 59 D6 */	mullw r0, r11, r11
/* 8031BA3C 0031769C  39 40 00 00 */	li r10, 0
/* 8031BA40 003176A0  7C E8 02 14 */	add r7, r8, r0
/* 8031BA44 003176A4  7C 06 38 96 */	mulhw r0, r6, r7
/* 8031BA48 003176A8  7C 00 3A 14 */	add r0, r0, r7
/* 8031BA4C 003176AC  7C 00 26 70 */	srawi r0, r0, 4
/* 8031BA50 003176B0  54 04 0F FE */	srwi r4, r0, 0x1f
/* 8031BA54 003176B4  7C 00 22 14 */	add r0, r0, r4
/* 8031BA58 003176B8  1C 00 00 1F */	mulli r0, r0, 0x1f
/* 8031BA5C 003176BC  7C E0 38 50 */	subf r7, r0, r7
/* 8031BA60 003176C0  1C 07 00 12 */	mulli r0, r7, 0x12
/* 8031BA64 003176C4  7D 85 02 14 */	add r12, r5, r0
/* 8031BA68 003176C8  7D 84 63 78 */	mr r4, r12
/* 8031BA6C 003176CC  48 00 00 0C */	b lbl_8031BA78
lbl_8031BA70:
/* 8031BA70 003176D0  38 84 00 02 */	addi r4, r4, 2
/* 8031BA74 003176D4  39 4A 00 01 */	addi r10, r10, 1
lbl_8031BA78:
/* 8031BA78 003176D8  A0 04 00 00 */	lhz r0, 0(r4)
/* 8031BA7C 003176DC  2C 00 00 00 */	cmpwi r0, 0
/* 8031BA80 003176E0  40 82 FF F0 */	bne lbl_8031BA70
/* 8031BA84 003176E4  7C 09 50 00 */	cmpw r9, r10
/* 8031BA88 003176E8  40 82 00 4C */	bne lbl_8031BAD4
/* 8031BA8C 003176EC  7C 6A 1B 78 */	mr r10, r3
/* 8031BA90 003176F0  3B E0 00 01 */	li r31, 1
/* 8031BA94 003176F4  7D 29 03 A6 */	mtctr r9
/* 8031BA98 003176F8  2C 09 00 00 */	cmpwi r9, 0
/* 8031BA9C 003176FC  40 81 00 28 */	ble lbl_8031BAC4
lbl_8031BAA0:
/* 8031BAA0 00317700  A0 8A 00 00 */	lhz r4, 0(r10)
/* 8031BAA4 00317704  A0 0C 00 00 */	lhz r0, 0(r12)
/* 8031BAA8 00317708  7C 04 00 40 */	cmplw r4, r0
/* 8031BAAC 0031770C  41 82 00 0C */	beq lbl_8031BAB8
/* 8031BAB0 00317710  3B E0 00 00 */	li r31, 0
/* 8031BAB4 00317714  48 00 00 10 */	b lbl_8031BAC4
lbl_8031BAB8:
/* 8031BAB8 00317718  39 4A 00 02 */	addi r10, r10, 2
/* 8031BABC 0031771C  39 8C 00 02 */	addi r12, r12, 2
/* 8031BAC0 00317720  42 00 FF E0 */	bdnz lbl_8031BAA0
lbl_8031BAC4:
/* 8031BAC4 00317724  2C 1F 00 00 */	cmpwi r31, 0
/* 8031BAC8 00317728  41 82 00 0C */	beq lbl_8031BAD4
/* 8031BACC 0031772C  7C E3 3B 78 */	mr r3, r7
/* 8031BAD0 00317730  48 00 00 14 */	b lbl_8031BAE4
lbl_8031BAD4:
/* 8031BAD4 00317734  39 6B 00 01 */	addi r11, r11, 1
/* 8031BAD8 00317738  2C 0B 00 0F */	cmpwi r11, 0xf
/* 8031BADC 0031773C  41 80 FF 5C */	blt lbl_8031BA38
lbl_8031BAE0:
/* 8031BAE0 00317740  38 60 FF FF */	li r3, -1
lbl_8031BAE4:
/* 8031BAE4 00317744  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 8031BAE8 00317748  38 21 00 10 */	addi r1, r1, 0x10
/* 8031BAEC 0031774C  4E 80 00 20 */	blr

.global dHash_GetArg
dHash_GetArg:
/* 8031BAF0 00317750  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 8031BAF4 00317754  7C 08 02 A6 */	mflr r0
/* 8031BAF8 00317758  90 01 00 14 */	stw r0, 0x14(r1)
/* 8031BAFC 0031775C  4B FF FC 35 */	bl _MakeWStr
/* 8031BB00 00317760  2C 03 00 00 */	cmpwi r3, 0
/* 8031BB04 00317764  41 82 00 38 */	beq lbl_8031BB3C
/* 8031BB08 00317768  3C 60 80 61 */	lis r3, lbl_8060F608@ha
/* 8031BB0C 0031776C  38 63 F6 08 */	addi r3, r3, lbl_8060F608@l
/* 8031BB10 00317770  4B FF FE 51 */	bl dHash_SearchHashW
/* 8031BB14 00317774  2C 03 FF FF */	cmpwi r3, -1
/* 8031BB18 00317778  40 82 00 0C */	bne lbl_8031BB24
/* 8031BB1C 0031777C  38 60 FF FF */	li r3, -1
/* 8031BB20 00317780  48 00 00 20 */	b lbl_8031BB40
lbl_8031BB24:
/* 8031BB24 00317784  1C 03 00 12 */	mulli r0, r3, 0x12
/* 8031BB28 00317788  3C 60 80 61 */	lis r3, lbl_8060F618@ha
/* 8031BB2C 0031778C  38 63 F6 18 */	addi r3, r3, lbl_8060F618@l
/* 8031BB30 00317790  7C 63 02 14 */	add r3, r3, r0
/* 8031BB34 00317794  88 63 00 10 */	lbz r3, 0x10(r3)
/* 8031BB38 00317798  48 00 00 08 */	b lbl_8031BB40
lbl_8031BB3C:
/* 8031BB3C 0031779C  38 60 FF FF */	li r3, -1
lbl_8031BB40:
/* 8031BB40 003177A0  80 01 00 14 */	lwz r0, 0x14(r1)
/* 8031BB44 003177A4  7C 08 03 A6 */	mtlr r0
/* 8031BB48 003177A8  38 21 00 10 */	addi r1, r1, 0x10
/* 8031BB4C 003177AC  4E 80 00 20 */	blr