summaryrefslogtreecommitdiff
path: root/asm/SDK/BTE/bta_hh_main.s
blob: 0ca60019d76242a098f41d94f4fe5bde500fe7c7 (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
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
.include "macros.inc"

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

.global bta_hh_sm_execute
bta_hh_sm_execute:
/* 802C2B2C 002BE78C  94 21 FF C0 */	stwu r1, -0x40(r1)
/* 802C2B30 002BE790  7C 08 02 A6 */	mflr r0
/* 802C2B34 002BE794  90 01 00 44 */	stw r0, 0x44(r1)
/* 802C2B38 002BE798  39 61 00 40 */	addi r11, r1, 0x40
/* 802C2B3C 002BE79C  4B F0 45 E9 */	bl _savegpr_26
/* 802C2B40 002BE7A0  3F E0 80 44 */	lis r31, lbl_80440720@ha
/* 802C2B44 002BE7A4  7C 7B 1B 78 */	mr r27, r3
/* 802C2B48 002BE7A8  7C 9C 23 78 */	mr r28, r4
/* 802C2B4C 002BE7AC  7C BD 2B 78 */	mr r29, r5
/* 802C2B50 002BE7B0  3B FF 07 20 */	addi r31, r31, lbl_80440720@l
/* 802C2B54 002BE7B4  38 61 00 08 */	addi r3, r1, 8
/* 802C2B58 002BE7B8  3B C0 00 00 */	li r30, 0
/* 802C2B5C 002BE7BC  38 80 00 00 */	li r4, 0
/* 802C2B60 002BE7C0  38 A0 00 20 */	li r5, 0x20
/* 802C2B64 002BE7C4  4B D4 15 A1 */	bl memset
/* 802C2B68 002BE7C8  2C 1B 00 00 */	cmpwi r27, 0
/* 802C2B6C 002BE7CC  40 82 01 58 */	bne lbl_802C2CC4
/* 802C2B70 002BE7D0  3C 60 80 57 */	lis r3, lbl_80568948@ha
/* 802C2B74 002BE7D4  38 63 89 48 */	addi r3, r3, lbl_80568948@l
/* 802C2B78 002BE7D8  80 03 02 24 */	lwz r0, 0x224(r3)
/* 802C2B7C 002BE7DC  2C 00 00 00 */	cmpwi r0, 0
/* 802C2B80 002BE7E0  41 82 02 E8 */	beq lbl_802C2E68
/* 802C2B84 002BE7E4  2C 1C 17 08 */	cmpwi r28, 0x1708
/* 802C2B88 002BE7E8  41 82 00 90 */	beq lbl_802C2C18
/* 802C2B8C 002BE7EC  40 80 00 1C */	bge lbl_802C2BA8
/* 802C2B90 002BE7F0  2C 1C 17 01 */	cmpwi r28, 0x1701
/* 802C2B94 002BE7F4  41 82 00 D8 */	beq lbl_802C2C6C
/* 802C2B98 002BE7F8  40 80 00 EC */	bge lbl_802C2C84
/* 802C2B9C 002BE7FC  2C 1C 17 00 */	cmpwi r28, 0x1700
/* 802C2BA0 002BE800  40 80 00 14 */	bge lbl_802C2BB4
/* 802C2BA4 002BE804  48 00 00 E0 */	b lbl_802C2C84
lbl_802C2BA8:
/* 802C2BA8 002BE808  2C 1C 17 0A */	cmpwi r28, 0x170a
/* 802C2BAC 002BE80C  41 82 00 2C */	beq lbl_802C2BD8
/* 802C2BB0 002BE810  48 00 00 D4 */	b lbl_802C2C84
lbl_802C2BB4:
/* 802C2BB4 002BE814  38 61 00 08 */	addi r3, r1, 8
/* 802C2BB8 002BE818  38 9D 00 08 */	addi r4, r29, 8
/* 802C2BBC 002BE81C  3B C0 00 02 */	li r30, 2
/* 802C2BC0 002BE820  4B FF A9 A1 */	bl bdcpy
/* 802C2BC4 002BE824  38 60 00 09 */	li r3, 9
/* 802C2BC8 002BE828  38 00 00 FF */	li r0, 0xff
/* 802C2BCC 002BE82C  98 61 00 0E */	stb r3, 0xe(r1)
/* 802C2BD0 002BE830  98 01 00 0F */	stb r0, 0xf(r1)
/* 802C2BD4 002BE834  48 00 00 CC */	b lbl_802C2CA0
lbl_802C2BD8:
/* 802C2BD8 002BE838  A3 DD 00 10 */	lhz r30, 0x10(r29)
/* 802C2BDC 002BE83C  28 1E 00 0B */	cmplwi r30, 0xb
/* 802C2BE0 002BE840  40 82 00 24 */	bne lbl_802C2C04
/* 802C2BE4 002BE844  38 61 00 08 */	addi r3, r1, 8
/* 802C2BE8 002BE848  38 9D 00 08 */	addi r4, r29, 8
/* 802C2BEC 002BE84C  4B FF A9 75 */	bl bdcpy
/* 802C2BF0 002BE850  38 60 00 09 */	li r3, 9
/* 802C2BF4 002BE854  38 00 00 FF */	li r0, 0xff
/* 802C2BF8 002BE858  98 61 00 0E */	stb r3, 0xe(r1)
/* 802C2BFC 002BE85C  98 01 00 0F */	stb r0, 0xf(r1)
/* 802C2C00 002BE860  48 00 00 A0 */	b lbl_802C2CA0
lbl_802C2C04:
/* 802C2C04 002BE864  38 00 00 0D */	li r0, 0xd
/* 802C2C08 002BE868  98 01 00 0E */	stb r0, 0xe(r1)
/* 802C2C0C 002BE86C  A0 1D 00 06 */	lhz r0, 6(r29)
/* 802C2C10 002BE870  98 01 00 0F */	stb r0, 0xf(r1)
/* 802C2C14 002BE874  48 00 00 8C */	b lbl_802C2CA0
lbl_802C2C18:
/* 802C2C18 002BE878  8B DD 00 08 */	lbz r30, 8(r29)
/* 802C2C1C 002BE87C  28 1E 00 07 */	cmplwi r30, 7
/* 802C2C20 002BE880  41 82 00 14 */	beq lbl_802C2C34
/* 802C2C24 002BE884  28 1E 00 05 */	cmplwi r30, 5
/* 802C2C28 002BE888  41 82 00 0C */	beq lbl_802C2C34
/* 802C2C2C 002BE88C  28 1E 00 09 */	cmplwi r30, 9
/* 802C2C30 002BE890  40 82 00 18 */	bne lbl_802C2C48
lbl_802C2C34:
/* 802C2C34 002BE894  38 00 00 0D */	li r0, 0xd
/* 802C2C38 002BE898  98 01 00 08 */	stb r0, 8(r1)
/* 802C2C3C 002BE89C  A0 1D 00 06 */	lhz r0, 6(r29)
/* 802C2C40 002BE8A0  98 01 00 09 */	stb r0, 9(r1)
/* 802C2C44 002BE8A4  48 00 00 5C */	b lbl_802C2CA0
lbl_802C2C48:
/* 802C2C48 002BE8A8  28 1E 00 0A */	cmplwi r30, 0xa
/* 802C2C4C 002BE8AC  41 82 00 54 */	beq lbl_802C2CA0
/* 802C2C50 002BE8B0  28 1E 00 01 */	cmplwi r30, 1
/* 802C2C54 002BE8B4  41 82 00 4C */	beq lbl_802C2CA0
/* 802C2C58 002BE8B8  A0 7D 00 06 */	lhz r3, 6(r29)
/* 802C2C5C 002BE8BC  38 00 00 0D */	li r0, 0xd
/* 802C2C60 002BE8C0  98 61 00 09 */	stb r3, 9(r1)
/* 802C2C64 002BE8C4  98 01 00 08 */	stb r0, 8(r1)
/* 802C2C68 002BE8C8  48 00 00 38 */	b lbl_802C2CA0
lbl_802C2C6C:
/* 802C2C6C 002BE8CC  38 00 00 0D */	li r0, 0xd
/* 802C2C70 002BE8D0  3B C0 00 03 */	li r30, 3
/* 802C2C74 002BE8D4  98 01 00 08 */	stb r0, 8(r1)
/* 802C2C78 002BE8D8  A0 1D 00 06 */	lhz r0, 6(r29)
/* 802C2C7C 002BE8DC  98 01 00 09 */	stb r0, 9(r1)
/* 802C2C80 002BE8E0  48 00 00 20 */	b lbl_802C2CA0
lbl_802C2C84:
/* 802C2C84 002BE8E4  88 0D AE F8 */	lbz r0, lbl_806401B8-_SDA_BASE_(r13)
/* 802C2C88 002BE8E8  28 00 00 01 */	cmplwi r0, 1
/* 802C2C8C 002BE8EC  41 80 00 14 */	blt lbl_802C2CA0
/* 802C2C90 002BE8F0  A0 BD 00 06 */	lhz r5, 6(r29)
/* 802C2C94 002BE8F4  38 9F 00 00 */	addi r4, r31, 0
/* 802C2C98 002BE8F8  38 60 05 00 */	li r3, 0x500
/* 802C2C9C 002BE8FC  4B FF A2 8D */	bl LogMsg_1
lbl_802C2CA0:
/* 802C2CA0 002BE900  57 C3 04 3F */	clrlwi. r3, r30, 0x10
/* 802C2CA4 002BE904  41 82 01 C4 */	beq lbl_802C2E68
/* 802C2CA8 002BE908  3C A0 80 57 */	lis r5, lbl_80568948@ha
/* 802C2CAC 002BE90C  38 81 00 08 */	addi r4, r1, 8
/* 802C2CB0 002BE910  38 A5 89 48 */	addi r5, r5, lbl_80568948@l
/* 802C2CB4 002BE914  81 85 02 24 */	lwz r12, 0x224(r5)
/* 802C2CB8 002BE918  7D 89 03 A6 */	mtctr r12
/* 802C2CBC 002BE91C  4E 80 04 21 */	bctrl
/* 802C2CC0 002BE920  48 00 01 A8 */	b lbl_802C2E68
lbl_802C2CC4:
/* 802C2CC4 002BE924  88 0D AE F8 */	lbz r0, lbl_806401B8-_SDA_BASE_(r13)
/* 802C2CC8 002BE928  8B DB 00 1C */	lbz r30, 0x1c(r27)
/* 802C2CCC 002BE92C  28 00 00 04 */	cmplwi r0, 4
/* 802C2CD0 002BE930  41 80 00 70 */	blt lbl_802C2D40
/* 802C2CD4 002BE934  2C 1E 00 02 */	cmpwi r30, 2
/* 802C2CD8 002BE938  41 82 00 34 */	beq lbl_802C2D0C
/* 802C2CDC 002BE93C  40 80 00 14 */	bge lbl_802C2CF0
/* 802C2CE0 002BE940  2C 1E 00 00 */	cmpwi r30, 0
/* 802C2CE4 002BE944  41 82 00 18 */	beq lbl_802C2CFC
/* 802C2CE8 002BE948  40 80 00 1C */	bge lbl_802C2D04
/* 802C2CEC 002BE94C  48 00 00 30 */	b lbl_802C2D1C
lbl_802C2CF0:
/* 802C2CF0 002BE950  2C 1E 00 04 */	cmpwi r30, 4
/* 802C2CF4 002BE954  40 80 00 28 */	bge lbl_802C2D1C
/* 802C2CF8 002BE958  48 00 00 1C */	b lbl_802C2D14
lbl_802C2CFC:
/* 802C2CFC 002BE95C  3B 5F 00 1C */	addi r26, r31, 0x1c
/* 802C2D00 002BE960  48 00 00 20 */	b lbl_802C2D20
lbl_802C2D04:
/* 802C2D04 002BE964  3B 5F 00 2C */	addi r26, r31, 0x2c
/* 802C2D08 002BE968  48 00 00 18 */	b lbl_802C2D20
lbl_802C2D0C:
/* 802C2D0C 002BE96C  3B 5F 00 3C */	addi r26, r31, 0x3c
/* 802C2D10 002BE970  48 00 00 10 */	b lbl_802C2D20
lbl_802C2D14:
/* 802C2D14 002BE974  3B 5F 00 50 */	addi r26, r31, 0x50
/* 802C2D18 002BE978  48 00 00 08 */	b lbl_802C2D20
lbl_802C2D1C:
/* 802C2D1C 002BE97C  3B 5F 00 60 */	addi r26, r31, 0x60
lbl_802C2D20:
/* 802C2D20 002BE980  7F 83 E3 78 */	mr r3, r28
/* 802C2D24 002BE984  48 00 02 A9 */	bl bta_hh_evt_code
/* 802C2D28 002BE988  7C 67 1B 78 */	mr r7, r3
/* 802C2D2C 002BE98C  7F C5 F3 78 */	mr r5, r30
/* 802C2D30 002BE990  7F 46 D3 78 */	mr r6, r26
/* 802C2D34 002BE994  38 9F 00 78 */	addi r4, r31, 0x78
/* 802C2D38 002BE998  38 60 05 03 */	li r3, 0x503
/* 802C2D3C 002BE99C  4B FF A2 1D */	bl LogMsg_3
lbl_802C2D40:
/* 802C2D40 002BE9A0  88 9B 00 1C */	lbz r4, 0x1c(r27)
/* 802C2D44 002BE9A4  3C 60 80 40 */	lis r3, lbl_803FDDA8@ha
/* 802C2D48 002BE9A8  38 63 DD A8 */	addi r3, r3, lbl_803FDDA8@l
/* 802C2D4C 002BE9AC  57 9C 06 3E */	clrlwi r28, r28, 0x18
/* 802C2D50 002BE9B0  38 04 FF FF */	addi r0, r4, -1
/* 802C2D54 002BE9B4  54 00 10 3A */	slwi r0, r0, 2
/* 802C2D58 002BE9B8  57 84 08 3C */	slwi r4, r28, 1
/* 802C2D5C 002BE9BC  7C A3 00 2E */	lwzx r5, r3, r0
/* 802C2D60 002BE9C0  7C 65 22 14 */	add r3, r5, r4
/* 802C2D64 002BE9C4  88 03 00 01 */	lbz r0, 1(r3)
/* 802C2D68 002BE9C8  98 1B 00 1C */	stb r0, 0x1c(r27)
/* 802C2D6C 002BE9CC  7C 05 20 AE */	lbzx r0, r5, r4
/* 802C2D70 002BE9D0  28 00 00 0C */	cmplwi r0, 0xc
/* 802C2D74 002BE9D4  41 82 00 24 */	beq lbl_802C2D98
/* 802C2D78 002BE9D8  3C 80 80 40 */	lis r4, lbl_803FDD30@ha
/* 802C2D7C 002BE9DC  54 00 15 BA */	rlwinm r0, r0, 2, 0x16, 0x1d
/* 802C2D80 002BE9E0  38 84 DD 30 */	addi r4, r4, lbl_803FDD30@l
/* 802C2D84 002BE9E4  7F 63 DB 78 */	mr r3, r27
/* 802C2D88 002BE9E8  7D 84 00 2E */	lwzx r12, r4, r0
/* 802C2D8C 002BE9EC  7F A4 EB 78 */	mr r4, r29
/* 802C2D90 002BE9F0  7D 89 03 A6 */	mtctr r12
/* 802C2D94 002BE9F4  4E 80 04 21 */	bctrl
lbl_802C2D98:
/* 802C2D98 002BE9F8  88 7B 00 1C */	lbz r3, 0x1c(r27)
/* 802C2D9C 002BE9FC  7C 1E 18 40 */	cmplw r30, r3
/* 802C2DA0 002BEA00  41 82 00 C8 */	beq lbl_802C2E68
/* 802C2DA4 002BEA04  88 0D AE F8 */	lbz r0, lbl_806401B8-_SDA_BASE_(r13)
/* 802C2DA8 002BEA08  28 00 00 05 */	cmplwi r0, 5
/* 802C2DAC 002BEA0C  41 80 00 BC */	blt lbl_802C2E68
/* 802C2DB0 002BEA10  2C 1E 00 02 */	cmpwi r30, 2
/* 802C2DB4 002BEA14  41 82 00 34 */	beq lbl_802C2DE8
/* 802C2DB8 002BEA18  40 80 00 14 */	bge lbl_802C2DCC
/* 802C2DBC 002BEA1C  2C 1E 00 00 */	cmpwi r30, 0
/* 802C2DC0 002BEA20  41 82 00 18 */	beq lbl_802C2DD8
/* 802C2DC4 002BEA24  40 80 00 1C */	bge lbl_802C2DE0
/* 802C2DC8 002BEA28  48 00 00 30 */	b lbl_802C2DF8
lbl_802C2DCC:
/* 802C2DCC 002BEA2C  2C 1E 00 04 */	cmpwi r30, 4
/* 802C2DD0 002BEA30  40 80 00 28 */	bge lbl_802C2DF8
/* 802C2DD4 002BEA34  48 00 00 1C */	b lbl_802C2DF0
lbl_802C2DD8:
/* 802C2DD8 002BEA38  3B 5F 00 1C */	addi r26, r31, 0x1c
/* 802C2DDC 002BEA3C  48 00 00 20 */	b lbl_802C2DFC
lbl_802C2DE0:
/* 802C2DE0 002BEA40  3B 5F 00 2C */	addi r26, r31, 0x2c
/* 802C2DE4 002BEA44  48 00 00 18 */	b lbl_802C2DFC
lbl_802C2DE8:
/* 802C2DE8 002BEA48  3B 5F 00 3C */	addi r26, r31, 0x3c
/* 802C2DEC 002BEA4C  48 00 00 10 */	b lbl_802C2DFC
lbl_802C2DF0:
/* 802C2DF0 002BEA50  3B 5F 00 50 */	addi r26, r31, 0x50
/* 802C2DF4 002BEA54  48 00 00 08 */	b lbl_802C2DFC
lbl_802C2DF8:
/* 802C2DF8 002BEA58  3B 5F 00 60 */	addi r26, r31, 0x60
lbl_802C2DFC:
/* 802C2DFC 002BEA5C  2C 03 00 02 */	cmpwi r3, 2
/* 802C2E00 002BEA60  41 82 00 34 */	beq lbl_802C2E34
/* 802C2E04 002BEA64  40 80 00 14 */	bge lbl_802C2E18
/* 802C2E08 002BEA68  2C 03 00 00 */	cmpwi r3, 0
/* 802C2E0C 002BEA6C  41 82 00 18 */	beq lbl_802C2E24
/* 802C2E10 002BEA70  40 80 00 1C */	bge lbl_802C2E2C
/* 802C2E14 002BEA74  48 00 00 30 */	b lbl_802C2E44
lbl_802C2E18:
/* 802C2E18 002BEA78  2C 03 00 04 */	cmpwi r3, 4
/* 802C2E1C 002BEA7C  40 80 00 28 */	bge lbl_802C2E44
/* 802C2E20 002BEA80  48 00 00 1C */	b lbl_802C2E3C
lbl_802C2E24:
/* 802C2E24 002BEA84  3B 7F 00 1C */	addi r27, r31, 0x1c
/* 802C2E28 002BEA88  48 00 00 20 */	b lbl_802C2E48
lbl_802C2E2C:
/* 802C2E2C 002BEA8C  3B 7F 00 2C */	addi r27, r31, 0x2c
/* 802C2E30 002BEA90  48 00 00 18 */	b lbl_802C2E48
lbl_802C2E34:
/* 802C2E34 002BEA94  3B 7F 00 3C */	addi r27, r31, 0x3c
/* 802C2E38 002BEA98  48 00 00 10 */	b lbl_802C2E48
lbl_802C2E3C:
/* 802C2E3C 002BEA9C  3B 7F 00 50 */	addi r27, r31, 0x50
/* 802C2E40 002BEAA0  48 00 00 08 */	b lbl_802C2E48
lbl_802C2E44:
/* 802C2E44 002BEAA4  3B 7F 00 60 */	addi r27, r31, 0x60
lbl_802C2E48:
/* 802C2E48 002BEAA8  7F 83 E3 78 */	mr r3, r28
/* 802C2E4C 002BEAAC  48 00 01 81 */	bl bta_hh_evt_code
/* 802C2E50 002BEAB0  7C 67 1B 78 */	mr r7, r3
/* 802C2E54 002BEAB4  7F 45 D3 78 */	mr r5, r26
/* 802C2E58 002BEAB8  7F 66 DB 78 */	mr r6, r27
/* 802C2E5C 002BEABC  38 9F 00 AC */	addi r4, r31, 0xac
/* 802C2E60 002BEAC0  38 60 05 04 */	li r3, 0x504
/* 802C2E64 002BEAC4  4B FF A0 F5 */	bl LogMsg_3
lbl_802C2E68:
/* 802C2E68 002BEAC8  39 61 00 40 */	addi r11, r1, 0x40
/* 802C2E6C 002BEACC  4B F0 43 05 */	bl _restgpr_26
/* 802C2E70 002BEAD0  80 01 00 44 */	lwz r0, 0x44(r1)
/* 802C2E74 002BEAD4  7C 08 03 A6 */	mtlr r0
/* 802C2E78 002BEAD8  38 21 00 40 */	addi r1, r1, 0x40
/* 802C2E7C 002BEADC  4E 80 00 20 */	blr

bta_hh_hdl_event:
/* 802C2E80 002BEAE0  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 802C2E84 002BEAE4  7C 08 02 A6 */	mflr r0
/* 802C2E88 002BEAE8  38 C0 00 10 */	li r6, 0x10
/* 802C2E8C 002BEAEC  90 01 00 14 */	stw r0, 0x14(r1)
/* 802C2E90 002BEAF0  93 E1 00 0C */	stw r31, 0xc(r1)
/* 802C2E94 002BEAF4  3B E0 00 00 */	li r31, 0
/* 802C2E98 002BEAF8  93 C1 00 08 */	stw r30, 8(r1)
/* 802C2E9C 002BEAFC  7C 7E 1B 78 */	mr r30, r3
/* 802C2EA0 002BEB00  A0 03 00 00 */	lhz r0, 0(r3)
/* 802C2EA4 002BEB04  2C 00 17 0E */	cmpwi r0, 0x170e
/* 802C2EA8 002BEB08  41 82 00 3C */	beq lbl_802C2EE4
/* 802C2EAC 002BEB0C  40 80 00 14 */	bge lbl_802C2EC0
/* 802C2EB0 002BEB10  2C 00 17 0C */	cmpwi r0, 0x170c
/* 802C2EB4 002BEB14  41 82 00 18 */	beq lbl_802C2ECC
/* 802C2EB8 002BEB18  40 80 00 1C */	bge lbl_802C2ED4
/* 802C2EBC 002BEB1C  48 00 00 30 */	b lbl_802C2EEC
lbl_802C2EC0:
/* 802C2EC0 002BEB20  2C 00 17 10 */	cmpwi r0, 0x1710
/* 802C2EC4 002BEB24  40 80 00 28 */	bge lbl_802C2EEC
/* 802C2EC8 002BEB28  48 00 00 14 */	b lbl_802C2EDC
lbl_802C2ECC:
/* 802C2ECC 002BEB2C  4B FF E1 49 */	bl bta_hh_api_enable
/* 802C2ED0 002BEB30  48 00 00 E0 */	b lbl_802C2FB0
lbl_802C2ED4:
/* 802C2ED4 002BEB34  4B FF E2 B5 */	bl bta_hh_api_disable
/* 802C2ED8 002BEB38  48 00 00 D8 */	b lbl_802C2FB0
lbl_802C2EDC:
/* 802C2EDC 002BEB3C  4B FF E3 B1 */	bl bta_hh_disc_cmpl
/* 802C2EE0 002BEB40  48 00 00 D0 */	b lbl_802C2FB0
lbl_802C2EE4:
/* 802C2EE4 002BEB44  4B FF F2 FD */	bl bta_hh_get_acl_q_info
/* 802C2EE8 002BEB48  48 00 00 C8 */	b lbl_802C2FB0
lbl_802C2EEC:
/* 802C2EEC 002BEB4C  28 00 17 00 */	cmplwi r0, 0x1700
/* 802C2EF0 002BEB50  40 82 00 14 */	bne lbl_802C2F04
/* 802C2EF4 002BEB54  38 63 00 08 */	addi r3, r3, 8
/* 802C2EF8 002BEB58  48 00 01 89 */	bl bta_hh_find_cb
/* 802C2EFC 002BEB5C  7C 66 1B 78 */	mr r6, r3
/* 802C2F00 002BEB60  48 00 00 5C */	b lbl_802C2F5C
lbl_802C2F04:
/* 802C2F04 002BEB64  28 00 17 0A */	cmplwi r0, 0x170a
/* 802C2F08 002BEB68  40 82 00 38 */	bne lbl_802C2F40
/* 802C2F0C 002BEB6C  A0 03 00 10 */	lhz r0, 0x10(r3)
/* 802C2F10 002BEB70  28 00 00 0B */	cmplwi r0, 0xb
/* 802C2F14 002BEB74  40 82 00 14 */	bne lbl_802C2F28
/* 802C2F18 002BEB78  38 63 00 08 */	addi r3, r3, 8
/* 802C2F1C 002BEB7C  48 00 01 65 */	bl bta_hh_find_cb
/* 802C2F20 002BEB80  7C 66 1B 78 */	mr r6, r3
/* 802C2F24 002BEB84  48 00 00 38 */	b lbl_802C2F5C
lbl_802C2F28:
/* 802C2F28 002BEB88  3C 80 80 57 */	lis r4, lbl_80568948@ha
/* 802C2F2C 002BEB8C  A0 03 00 06 */	lhz r0, 6(r3)
/* 802C2F30 002BEB90  38 84 89 48 */	addi r4, r4, lbl_80568948@l
/* 802C2F34 002BEB94  7C 64 02 14 */	add r3, r4, r0
/* 802C2F38 002BEB98  88 C3 02 14 */	lbz r6, 0x214(r3)
/* 802C2F3C 002BEB9C  48 00 00 20 */	b lbl_802C2F5C
lbl_802C2F40:
/* 802C2F40 002BEBA0  A0 03 00 06 */	lhz r0, 6(r3)
/* 802C2F44 002BEBA4  28 00 00 10 */	cmplwi r0, 0x10
/* 802C2F48 002BEBA8  40 80 00 14 */	bge lbl_802C2F5C
/* 802C2F4C 002BEBAC  3C 60 80 57 */	lis r3, lbl_80568948@ha
/* 802C2F50 002BEBB0  38 63 89 48 */	addi r3, r3, lbl_80568948@l
/* 802C2F54 002BEBB4  7C 63 02 14 */	add r3, r3, r0
/* 802C2F58 002BEBB8  88 C3 02 14 */	lbz r6, 0x214(r3)
lbl_802C2F5C:
/* 802C2F5C 002BEBBC  54 C0 06 3E */	clrlwi r0, r6, 0x18
/* 802C2F60 002BEBC0  28 00 00 10 */	cmplwi r0, 0x10
/* 802C2F64 002BEBC4  41 82 00 18 */	beq lbl_802C2F7C
/* 802C2F68 002BEBC8  3C 60 80 57 */	lis r3, lbl_80568948@ha
/* 802C2F6C 002BEBCC  54 C0 2C F4 */	rlwinm r0, r6, 5, 0x13, 0x1a
/* 802C2F70 002BEBD0  38 63 89 48 */	addi r3, r3, lbl_80568948@l
/* 802C2F74 002BEBD4  7C 63 02 14 */	add r3, r3, r0
/* 802C2F78 002BEBD8  3B E3 00 10 */	addi r31, r3, 0x10
lbl_802C2F7C:
/* 802C2F7C 002BEBDC  88 0D AE F8 */	lbz r0, lbl_806401B8-_SDA_BASE_(r13)
/* 802C2F80 002BEBE0  28 00 00 05 */	cmplwi r0, 5
/* 802C2F84 002BEBE4  41 80 00 1C */	blt lbl_802C2FA0
/* 802C2F88 002BEBE8  3C 80 80 44 */	lis r4, lbl_804407FC@ha
/* 802C2F8C 002BEBEC  A0 BE 00 06 */	lhz r5, 6(r30)
/* 802C2F90 002BEBF0  38 84 07 FC */	addi r4, r4, lbl_804407FC@l
/* 802C2F94 002BEBF4  54 C6 06 3E */	clrlwi r6, r6, 0x18
/* 802C2F98 002BEBF8  38 60 05 04 */	li r3, 0x504
/* 802C2F9C 002BEBFC  4B FF 9F A5 */	bl LogMsg_2
lbl_802C2FA0:
/* 802C2FA0 002BEC00  A0 9E 00 00 */	lhz r4, 0(r30)
/* 802C2FA4 002BEC04  7F E3 FB 78 */	mr r3, r31
/* 802C2FA8 002BEC08  7F C5 F3 78 */	mr r5, r30
/* 802C2FAC 002BEC0C  4B FF FB 81 */	bl bta_hh_sm_execute
lbl_802C2FB0:
/* 802C2FB0 002BEC10  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 802C2FB4 002BEC14  38 60 00 01 */	li r3, 1
/* 802C2FB8 002BEC18  83 C1 00 08 */	lwz r30, 8(r1)
/* 802C2FBC 002BEC1C  80 01 00 14 */	lwz r0, 0x14(r1)
/* 802C2FC0 002BEC20  7C 08 03 A6 */	mtlr r0
/* 802C2FC4 002BEC24  38 21 00 10 */	addi r1, r1, 0x10
/* 802C2FC8 002BEC28  4E 80 00 20 */	blr

.global bta_hh_evt_code
bta_hh_evt_code:
/* 802C2FCC 002BEC2C  38 03 E9 00 */	addi r0, r3, -5888
/* 802C2FD0 002BEC30  3C 80 80 44 */	lis r4, lbl_80440720@ha
/* 802C2FD4 002BEC34  28 00 00 0F */	cmplwi r0, 0xf
/* 802C2FD8 002BEC38  38 84 07 20 */	addi r4, r4, lbl_80440720@l
/* 802C2FDC 002BEC3C  41 81 00 9C */	bgt lbl_802C3078
/* 802C2FE0 002BEC40  3C 60 80 44 */	lis r3, lbl_804409C0@ha
/* 802C2FE4 002BEC44  54 00 10 3A */	slwi r0, r0, 2
/* 802C2FE8 002BEC48  38 63 09 C0 */	addi r3, r3, lbl_804409C0@l
/* 802C2FEC 002BEC4C  7C 63 00 2E */	lwzx r3, r3, r0
/* 802C2FF0 002BEC50  7C 69 03 A6 */	mtctr r3
/* 802C2FF4 002BEC54  4E 80 04 20 */	bctr
/* 802C2FF8 002BEC58  38 64 01 08 */	addi r3, r4, 0x108
/* 802C2FFC 002BEC5C  4E 80 00 20 */	blr
/* 802C3000 002BEC60  38 64 01 20 */	addi r3, r4, 0x120
/* 802C3004 002BEC64  4E 80 00 20 */	blr
/* 802C3008 002BEC68  38 64 01 38 */	addi r3, r4, 0x138
/* 802C300C 002BEC6C  4E 80 00 20 */	blr
/* 802C3010 002BEC70  38 64 01 4C */	addi r3, r4, 0x14c
/* 802C3014 002BEC74  4E 80 00 20 */	blr
/* 802C3018 002BEC78  38 64 01 64 */	addi r3, r4, 0x164
/* 802C301C 002BEC7C  4E 80 00 20 */	blr
/* 802C3020 002BEC80  38 64 01 78 */	addi r3, r4, 0x178
/* 802C3024 002BEC84  4E 80 00 20 */	blr
/* 802C3028 002BEC88  38 64 01 90 */	addi r3, r4, 0x190
/* 802C302C 002BEC8C  4E 80 00 20 */	blr
/* 802C3030 002BEC90  38 64 01 A8 */	addi r3, r4, 0x1a8
/* 802C3034 002BEC94  4E 80 00 20 */	blr
/* 802C3038 002BEC98  38 64 01 BC */	addi r3, r4, 0x1bc
/* 802C303C 002BEC9C  4E 80 00 20 */	blr
/* 802C3040 002BECA0  38 64 01 D4 */	addi r3, r4, 0x1d4
/* 802C3044 002BECA4  4E 80 00 20 */	blr
/* 802C3048 002BECA8  38 64 01 F0 */	addi r3, r4, 0x1f0
/* 802C304C 002BECAC  4E 80 00 20 */	blr
/* 802C3050 002BECB0  38 64 02 04 */	addi r3, r4, 0x204
/* 802C3054 002BECB4  4E 80 00 20 */	blr
/* 802C3058 002BECB8  38 64 02 1C */	addi r3, r4, 0x21c
/* 802C305C 002BECBC  4E 80 00 20 */	blr
/* 802C3060 002BECC0  38 64 02 38 */	addi r3, r4, 0x238
/* 802C3064 002BECC4  4E 80 00 20 */	blr
/* 802C3068 002BECC8  38 64 02 50 */	addi r3, r4, 0x250
/* 802C306C 002BECCC  4E 80 00 20 */	blr
/* 802C3070 002BECD0  38 64 02 68 */	addi r3, r4, 0x268
/* 802C3074 002BECD4  4E 80 00 20 */	blr
lbl_802C3078:
/* 802C3078 002BECD8  38 64 02 84 */	addi r3, r4, 0x284
/* 802C307C 002BECDC  4E 80 00 20 */	blr