donut-decomp/asm/bte/hidh_api.s
2022-10-17 09:41:13 +01:00

1135 lines
49 KiB
ArmAsm

.include "macros.inc"
.section .text, "ax" # 0x80006A00 - 0x80406260 ; 0x003FF860
.global HID_HostGetSDPRecord
HID_HostGetSDPRecord:
/* 8008D420 00089260 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8008D424 00089264 7C 08 02 A6 */ mflr r0
/* 8008D428 00089268 90 01 00 34 */ stw r0, 0x34(r1)
/* 8008D42C 0008926C 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 8008D430 00089270 3F E0 80 50 */ lis r31, hh_cb@ha
/* 8008D434 00089274 3B FF 8C 18 */ addi r31, r31, hh_cb@l
/* 8008D438 00089278 93 C1 00 28 */ stw r30, 0x28(r1)
/* 8008D43C 0008927C 7C DE 33 78 */ mr r30, r6
/* 8008D440 00089280 93 A1 00 24 */ stw r29, 0x24(r1)
/* 8008D444 00089284 7C 9D 23 78 */ mr r29, r4
/* 8008D448 00089288 93 81 00 20 */ stw r28, 0x20(r1)
/* 8008D44C 0008928C 7C 7C 1B 78 */ mr r28, r3
/* 8008D450 00089290 88 1F 03 80 */ lbz r0, 0x380(r31)
/* 8008D454 00089294 2C 00 00 00 */ cmpwi r0, 0x0
/* 8008D458 00089298 41 82 00 0C */ beq lbl_8008D464
/* 8008D45C 0008929C 38 60 00 10 */ li r3, 0x10
/* 8008D460 000892A0 48 00 00 68 */ b lbl_8008D4C8
.global lbl_8008D464
lbl_8008D464:
/* 8008D464 000892A4 38 E0 00 02 */ li r7, 0x2
/* 8008D468 000892A8 38 00 11 24 */ li r0, 0x1124
/* 8008D46C 000892AC 90 9F 03 88 */ stw r4, 0x388(r31)
/* 8008D470 000892B0 7C A4 2B 78 */ mr r4, r5
/* 8008D474 000892B4 7F A3 EB 78 */ mr r3, r29
/* 8008D478 000892B8 38 C1 00 08 */ addi r6, r1, 0x8
/* 8008D47C 000892BC B0 E1 00 08 */ sth r7, 0x8(r1)
/* 8008D480 000892C0 38 A0 00 01 */ li r5, 0x1
/* 8008D484 000892C4 38 E0 00 00 */ li r7, 0x0
/* 8008D488 000892C8 39 00 00 00 */ li r8, 0x0
/* 8008D48C 000892CC B0 01 00 0C */ sth r0, 0xc(r1)
/* 8008D490 000892D0 48 00 F3 01 */ bl SDP_InitDiscoveryDb
/* 8008D494 000892D4 3C A0 80 09 */ lis r5, hidh_search_callback@ha
/* 8008D498 000892D8 7F 83 E3 78 */ mr r3, r28
/* 8008D49C 000892DC 7F A4 EB 78 */ mr r4, r29
/* 8008D4A0 000892E0 38 A5 D4 E8 */ addi r5, r5, hidh_search_callback@l
/* 8008D4A4 000892E4 48 00 F6 65 */ bl SDP_ServiceSearchRequest
/* 8008D4A8 000892E8 54 60 06 3F */ clrlwi. r0, r3, 24
/* 8008D4AC 000892EC 41 82 00 18 */ beq lbl_8008D4C4
/* 8008D4B0 000892F0 38 00 00 01 */ li r0, 0x1
/* 8008D4B4 000892F4 93 DF 03 84 */ stw r30, 0x384(r31)
/* 8008D4B8 000892F8 38 60 00 00 */ li r3, 0x0
/* 8008D4BC 000892FC 98 1F 03 80 */ stb r0, 0x380(r31)
/* 8008D4C0 00089300 48 00 00 08 */ b lbl_8008D4C8
.global lbl_8008D4C4
lbl_8008D4C4:
/* 8008D4C4 00089304 38 60 00 03 */ li r3, 0x3
.global lbl_8008D4C8
lbl_8008D4C8:
/* 8008D4C8 00089308 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8008D4CC 0008930C 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 8008D4D0 00089310 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 8008D4D4 00089314 83 A1 00 24 */ lwz r29, 0x24(r1)
/* 8008D4D8 00089318 83 81 00 20 */ lwz r28, 0x20(r1)
/* 8008D4DC 0008931C 7C 08 03 A6 */ mtlr r0
/* 8008D4E0 00089320 38 21 00 30 */ addi r1, r1, 0x30
/* 8008D4E4 00089324 4E 80 00 20 */ blr
.global hidh_search_callback
hidh_search_callback:
/* 8008D4E8 00089328 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8008D4EC 0008932C 7C 08 02 A6 */ mflr r0
/* 8008D4F0 00089330 38 80 00 02 */ li r4, 0x2
/* 8008D4F4 00089334 2C 03 00 00 */ cmpwi r3, 0x0
/* 8008D4F8 00089338 90 01 00 34 */ stw r0, 0x34(r1)
/* 8008D4FC 0008933C 38 00 11 24 */ li r0, 0x1124
/* 8008D500 00089340 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 8008D504 00089344 93 C1 00 28 */ stw r30, 0x28(r1)
/* 8008D508 00089348 93 A1 00 24 */ stw r29, 0x24(r1)
/* 8008D50C 0008934C 3B A0 00 00 */ li r29, 0x0
/* 8008D510 00089350 93 81 00 20 */ stw r28, 0x20(r1)
/* 8008D514 00089354 3F 80 80 50 */ lis r28, hh_cb@ha
/* 8008D518 00089358 3B 9C 8C 18 */ addi r28, r28, hh_cb@l
/* 8008D51C 0008935C B0 81 00 08 */ sth r4, 0x8(r1)
/* 8008D520 00089360 3B DC 03 8C */ addi r30, r28, 0x38c
/* 8008D524 00089364 80 9C 03 88 */ lwz r4, 0x388(r28)
/* 8008D528 00089368 B0 01 00 0C */ sth r0, 0xc(r1)
/* 8008D52C 0008936C 9B BC 03 80 */ stb r29, 0x380(r28)
/* 8008D530 00089370 41 82 00 1C */ beq lbl_8008D54C
/* 8008D534 00089374 81 9C 03 84 */ lwz r12, 0x384(r28)
/* 8008D538 00089378 38 80 00 00 */ li r4, 0x0
/* 8008D53C 0008937C 38 A0 00 00 */ li r5, 0x0
/* 8008D540 00089380 7D 89 03 A6 */ mtctr r12
/* 8008D544 00089384 4E 80 04 21 */ bctrl
/* 8008D548 00089388 48 00 03 D0 */ b lbl_8008D918
.global lbl_8008D54C
lbl_8008D54C:
/* 8008D54C 0008938C 7C 83 23 78 */ mr r3, r4
/* 8008D550 00089390 38 81 00 08 */ addi r4, r1, 0x8
/* 8008D554 00089394 38 A0 00 00 */ li r5, 0x0
/* 8008D558 00089398 48 00 F7 65 */ bl SDP_FindServiceUUIDInDb
/* 8008D55C 0008939C 2C 03 00 00 */ cmpwi r3, 0x0
/* 8008D560 000893A0 7C 7F 1B 78 */ mr r31, r3
/* 8008D564 000893A4 40 82 00 20 */ bne lbl_8008D584
/* 8008D568 000893A8 81 9C 03 84 */ lwz r12, 0x384(r28)
/* 8008D56C 000893AC 38 60 00 0C */ li r3, 0xc
/* 8008D570 000893B0 38 80 00 00 */ li r4, 0x0
/* 8008D574 000893B4 38 A0 00 00 */ li r5, 0x0
/* 8008D578 000893B8 7D 89 03 A6 */ mtctr r12
/* 8008D57C 000893BC 4E 80 04 21 */ bctrl
/* 8008D580 000893C0 48 00 03 98 */ b lbl_8008D918
.global lbl_8008D584
lbl_8008D584:
/* 8008D584 000893C4 7F C3 F3 78 */ mr r3, r30
/* 8008D588 000893C8 38 80 00 00 */ li r4, 0x0
/* 8008D58C 000893CC 38 A0 00 74 */ li r5, 0x74
/* 8008D590 000893D0 4B F7 6D C1 */ bl memset
/* 8008D594 000893D4 7F E3 FB 78 */ mr r3, r31
/* 8008D598 000893D8 38 80 02 06 */ li r4, 0x206
/* 8008D59C 000893DC 48 00 F6 2D */ bl SDP_FindAttributeInRec
/* 8008D5A0 000893E0 2C 03 00 00 */ cmpwi r3, 0x0
/* 8008D5A4 000893E4 41 82 00 58 */ beq lbl_8008D5FC
/* 8008D5A8 000893E8 A0 03 00 06 */ lhz r0, 0x6(r3)
/* 8008D5AC 000893EC 7C 00 66 70 */ srawi r0, r0, 12
/* 8008D5B0 000893F0 2C 00 00 06 */ cmpwi r0, 0x6
/* 8008D5B4 000893F4 40 82 00 48 */ bne lbl_8008D5FC
/* 8008D5B8 000893F8 80 63 00 08 */ lwz r3, 0x8(r3)
/* 8008D5BC 000893FC 2C 03 00 00 */ cmpwi r3, 0x0
/* 8008D5C0 00089400 41 82 00 3C */ beq lbl_8008D5FC
/* 8008D5C4 00089404 A0 03 00 06 */ lhz r0, 0x6(r3)
/* 8008D5C8 00089408 7C 00 66 70 */ srawi r0, r0, 12
/* 8008D5CC 0008940C 2C 00 00 06 */ cmpwi r0, 0x6
/* 8008D5D0 00089410 40 82 00 2C */ bne lbl_8008D5FC
/* 8008D5D4 00089414 80 63 00 08 */ lwz r3, 0x8(r3)
/* 8008D5D8 00089418 2C 03 00 00 */ cmpwi r3, 0x0
/* 8008D5DC 0008941C 41 82 00 20 */ beq lbl_8008D5FC
/* 8008D5E0 00089420 80 83 00 00 */ lwz r4, 0x0(r3)
/* 8008D5E4 00089424 2C 04 00 00 */ cmpwi r4, 0x0
/* 8008D5E8 00089428 41 82 00 14 */ beq lbl_8008D5FC
/* 8008D5EC 0008942C A0 64 00 06 */ lhz r3, 0x6(r4)
/* 8008D5F0 00089430 7C 60 66 70 */ srawi r0, r3, 12
/* 8008D5F4 00089434 2C 00 00 04 */ cmpwi r0, 0x4
/* 8008D5F8 00089438 41 82 00 28 */ beq lbl_8008D620
.global lbl_8008D5FC
lbl_8008D5FC:
/* 8008D5FC 0008943C 3C A0 80 50 */ lis r5, hh_cb@ha
/* 8008D600 00089440 38 60 00 0D */ li r3, 0xd
/* 8008D604 00089444 38 A5 8C 18 */ addi r5, r5, hh_cb@l
/* 8008D608 00089448 38 80 00 00 */ li r4, 0x0
/* 8008D60C 0008944C 81 85 03 84 */ lwz r12, 0x384(r5)
/* 8008D610 00089450 38 A0 00 00 */ li r5, 0x0
/* 8008D614 00089454 7D 89 03 A6 */ mtctr r12
/* 8008D618 00089458 4E 80 04 21 */ bctrl
/* 8008D61C 0008945C 48 00 02 FC */ b lbl_8008D918
.global lbl_8008D620
lbl_8008D620:
/* 8008D620 00089460 54 60 05 3F */ clrlwi. r0, r3, 20
/* 8008D624 00089464 B0 1E 00 68 */ sth r0, 0x68(r30)
/* 8008D628 00089468 41 82 00 0C */ beq lbl_8008D634
/* 8008D62C 0008946C 38 04 00 08 */ addi r0, r4, 0x8
/* 8008D630 00089470 90 1E 00 6C */ stw r0, 0x6c(r30)
.global lbl_8008D634
lbl_8008D634:
/* 8008D634 00089474 7F E3 FB 78 */ mr r3, r31
/* 8008D638 00089478 38 80 02 04 */ li r4, 0x204
/* 8008D63C 0008947C 48 00 F5 8D */ bl SDP_FindAttributeInRec
/* 8008D640 00089480 2C 03 00 00 */ cmpwi r3, 0x0
/* 8008D644 00089484 41 82 00 14 */ beq lbl_8008D658
/* 8008D648 00089488 88 03 00 08 */ lbz r0, 0x8(r3)
/* 8008D64C 0008948C 2C 00 00 00 */ cmpwi r0, 0x0
/* 8008D650 00089490 41 82 00 08 */ beq lbl_8008D658
/* 8008D654 00089494 63 BD 00 01 */ ori r29, r29, 0x1
.global lbl_8008D658
lbl_8008D658:
/* 8008D658 00089498 7F E3 FB 78 */ mr r3, r31
/* 8008D65C 0008949C 38 80 02 05 */ li r4, 0x205
/* 8008D660 000894A0 48 00 F5 69 */ bl SDP_FindAttributeInRec
/* 8008D664 000894A4 2C 03 00 00 */ cmpwi r3, 0x0
/* 8008D668 000894A8 41 82 00 18 */ beq lbl_8008D680
/* 8008D66C 000894AC 88 03 00 08 */ lbz r0, 0x8(r3)
/* 8008D670 000894B0 2C 00 00 00 */ cmpwi r0, 0x0
/* 8008D674 000894B4 41 82 00 0C */ beq lbl_8008D680
/* 8008D678 000894B8 63 A0 00 04 */ ori r0, r29, 0x4
/* 8008D67C 000894BC 54 1D 04 3E */ clrlwi r29, r0, 16
.global lbl_8008D680
lbl_8008D680:
/* 8008D680 000894C0 7F E3 FB 78 */ mr r3, r31
/* 8008D684 000894C4 38 80 02 0D */ li r4, 0x20d
/* 8008D688 000894C8 48 00 F5 41 */ bl SDP_FindAttributeInRec
/* 8008D68C 000894CC 2C 03 00 00 */ cmpwi r3, 0x0
/* 8008D690 000894D0 41 82 00 18 */ beq lbl_8008D6A8
/* 8008D694 000894D4 88 03 00 08 */ lbz r0, 0x8(r3)
/* 8008D698 000894D8 2C 00 00 00 */ cmpwi r0, 0x0
/* 8008D69C 000894DC 41 82 00 0C */ beq lbl_8008D6A8
/* 8008D6A0 000894E0 63 A0 00 02 */ ori r0, r29, 0x2
/* 8008D6A4 000894E4 54 1D 04 3E */ clrlwi r29, r0, 16
.global lbl_8008D6A8
lbl_8008D6A8:
/* 8008D6A8 000894E8 7F E3 FB 78 */ mr r3, r31
/* 8008D6AC 000894EC 38 80 02 08 */ li r4, 0x208
/* 8008D6B0 000894F0 48 00 F5 19 */ bl SDP_FindAttributeInRec
/* 8008D6B4 000894F4 2C 03 00 00 */ cmpwi r3, 0x0
/* 8008D6B8 000894F8 41 82 00 18 */ beq lbl_8008D6D0
/* 8008D6BC 000894FC 88 03 00 08 */ lbz r0, 0x8(r3)
/* 8008D6C0 00089500 2C 00 00 00 */ cmpwi r0, 0x0
/* 8008D6C4 00089504 41 82 00 0C */ beq lbl_8008D6D0
/* 8008D6C8 00089508 63 A0 00 08 */ ori r0, r29, 0x8
/* 8008D6CC 0008950C 54 1D 04 3E */ clrlwi r29, r0, 16
.global lbl_8008D6D0
lbl_8008D6D0:
/* 8008D6D0 00089510 7F E3 FB 78 */ mr r3, r31
/* 8008D6D4 00089514 38 80 02 09 */ li r4, 0x209
/* 8008D6D8 00089518 48 00 F4 F1 */ bl SDP_FindAttributeInRec
/* 8008D6DC 0008951C 2C 03 00 00 */ cmpwi r3, 0x0
/* 8008D6E0 00089520 41 82 00 18 */ beq lbl_8008D6F8
/* 8008D6E4 00089524 88 03 00 08 */ lbz r0, 0x8(r3)
/* 8008D6E8 00089528 2C 00 00 00 */ cmpwi r0, 0x0
/* 8008D6EC 0008952C 41 82 00 0C */ beq lbl_8008D6F8
/* 8008D6F0 00089530 63 A0 00 10 */ ori r0, r29, 0x10
/* 8008D6F4 00089534 54 1D 04 3E */ clrlwi r29, r0, 16
.global lbl_8008D6F8
lbl_8008D6F8:
/* 8008D6F8 00089538 7F E3 FB 78 */ mr r3, r31
/* 8008D6FC 0008953C 38 80 02 0A */ li r4, 0x20a
/* 8008D700 00089540 48 00 F4 C9 */ bl SDP_FindAttributeInRec
/* 8008D704 00089544 2C 03 00 00 */ cmpwi r3, 0x0
/* 8008D708 00089548 41 82 00 18 */ beq lbl_8008D720
/* 8008D70C 0008954C 88 03 00 08 */ lbz r0, 0x8(r3)
/* 8008D710 00089550 2C 00 00 00 */ cmpwi r0, 0x0
/* 8008D714 00089554 41 82 00 0C */ beq lbl_8008D720
/* 8008D718 00089558 63 A0 00 20 */ ori r0, r29, 0x20
/* 8008D71C 0008955C 54 1D 04 3E */ clrlwi r29, r0, 16
.global lbl_8008D720
lbl_8008D720:
/* 8008D720 00089560 7F E3 FB 78 */ mr r3, r31
/* 8008D724 00089564 38 80 01 00 */ li r4, 0x100
/* 8008D728 00089568 48 00 F4 A1 */ bl SDP_FindAttributeInRec
/* 8008D72C 0008956C 2C 03 00 00 */ cmpwi r3, 0x0
/* 8008D730 00089570 7C 64 1B 78 */ mr r4, r3
/* 8008D734 00089574 41 82 00 4C */ beq lbl_8008D780
/* 8008D738 00089578 A0 03 00 06 */ lhz r0, 0x6(r3)
/* 8008D73C 0008957C 54 1C 05 3E */ clrlwi r28, r0, 20
/* 8008D740 00089580 28 1C 00 20 */ cmplwi r28, 0x20
/* 8008D744 00089584 40 80 00 20 */ bge lbl_8008D764
/* 8008D748 00089588 7F C3 F3 78 */ mr r3, r30
/* 8008D74C 0008958C 7F 85 E3 78 */ mr r5, r28
/* 8008D750 00089590 38 84 00 08 */ addi r4, r4, 0x8
/* 8008D754 00089594 4B F7 68 AD */ bl memcpy
/* 8008D758 00089598 38 00 00 00 */ li r0, 0x0
/* 8008D75C 0008959C 7C 1E E1 AE */ stbx r0, r30, r28
/* 8008D760 000895A0 48 00 00 28 */ b lbl_8008D788
.global lbl_8008D764
lbl_8008D764:
/* 8008D764 000895A4 7F C3 F3 78 */ mr r3, r30
/* 8008D768 000895A8 38 84 00 08 */ addi r4, r4, 0x8
/* 8008D76C 000895AC 38 A0 00 1F */ li r5, 0x1f
/* 8008D770 000895B0 4B F7 68 91 */ bl memcpy
/* 8008D774 000895B4 38 00 00 00 */ li r0, 0x0
/* 8008D778 000895B8 98 1E 00 20 */ stb r0, 0x20(r30)
/* 8008D77C 000895BC 48 00 00 0C */ b lbl_8008D788
.global lbl_8008D780
lbl_8008D780:
/* 8008D780 000895C0 38 00 00 00 */ li r0, 0x0
/* 8008D784 000895C4 98 1E 00 00 */ stb r0, 0x0(r30)
.global lbl_8008D788
lbl_8008D788:
/* 8008D788 000895C8 7F E3 FB 78 */ mr r3, r31
/* 8008D78C 000895CC 38 80 01 01 */ li r4, 0x101
/* 8008D790 000895D0 48 00 F4 39 */ bl SDP_FindAttributeInRec
/* 8008D794 000895D4 2C 03 00 00 */ cmpwi r3, 0x0
/* 8008D798 000895D8 7C 64 1B 78 */ mr r4, r3
/* 8008D79C 000895DC 41 82 00 50 */ beq lbl_8008D7EC
/* 8008D7A0 000895E0 A0 03 00 06 */ lhz r0, 0x6(r3)
/* 8008D7A4 000895E4 54 1C 05 3E */ clrlwi r28, r0, 20
/* 8008D7A8 000895E8 28 1C 00 20 */ cmplwi r28, 0x20
/* 8008D7AC 000895EC 40 80 00 24 */ bge lbl_8008D7D0
/* 8008D7B0 000895F0 7F 85 E3 78 */ mr r5, r28
/* 8008D7B4 000895F4 38 7E 00 20 */ addi r3, r30, 0x20
/* 8008D7B8 000895F8 38 84 00 08 */ addi r4, r4, 0x8
/* 8008D7BC 000895FC 4B F7 68 45 */ bl memcpy
/* 8008D7C0 00089600 7C 7E E2 14 */ add r3, r30, r28
/* 8008D7C4 00089604 38 00 00 00 */ li r0, 0x0
/* 8008D7C8 00089608 98 03 00 20 */ stb r0, 0x20(r3)
/* 8008D7CC 0008960C 48 00 00 28 */ b lbl_8008D7F4
.global lbl_8008D7D0
lbl_8008D7D0:
/* 8008D7D0 00089610 38 7E 00 20 */ addi r3, r30, 0x20
/* 8008D7D4 00089614 38 84 00 08 */ addi r4, r4, 0x8
/* 8008D7D8 00089618 38 A0 00 1F */ li r5, 0x1f
/* 8008D7DC 0008961C 4B F7 68 25 */ bl memcpy
/* 8008D7E0 00089620 38 00 00 00 */ li r0, 0x0
/* 8008D7E4 00089624 98 1E 00 40 */ stb r0, 0x40(r30)
/* 8008D7E8 00089628 48 00 00 0C */ b lbl_8008D7F4
.global lbl_8008D7EC
lbl_8008D7EC:
/* 8008D7EC 0008962C 38 00 00 00 */ li r0, 0x0
/* 8008D7F0 00089630 98 1E 00 20 */ stb r0, 0x20(r30)
.global lbl_8008D7F4
lbl_8008D7F4:
/* 8008D7F4 00089634 7F E3 FB 78 */ mr r3, r31
/* 8008D7F8 00089638 38 80 01 02 */ li r4, 0x102
/* 8008D7FC 0008963C 48 00 F3 CD */ bl SDP_FindAttributeInRec
/* 8008D800 00089640 2C 03 00 00 */ cmpwi r3, 0x0
/* 8008D804 00089644 7C 64 1B 78 */ mr r4, r3
/* 8008D808 00089648 41 82 00 50 */ beq lbl_8008D858
/* 8008D80C 0008964C A0 03 00 06 */ lhz r0, 0x6(r3)
/* 8008D810 00089650 54 1C 05 3E */ clrlwi r28, r0, 20
/* 8008D814 00089654 28 1C 00 20 */ cmplwi r28, 0x20
/* 8008D818 00089658 40 80 00 24 */ bge lbl_8008D83C
/* 8008D81C 0008965C 7F 85 E3 78 */ mr r5, r28
/* 8008D820 00089660 38 7E 00 40 */ addi r3, r30, 0x40
/* 8008D824 00089664 38 84 00 08 */ addi r4, r4, 0x8
/* 8008D828 00089668 4B F7 67 D9 */ bl memcpy
/* 8008D82C 0008966C 7C 7E E2 14 */ add r3, r30, r28
/* 8008D830 00089670 38 00 00 00 */ li r0, 0x0
/* 8008D834 00089674 98 03 00 40 */ stb r0, 0x40(r3)
/* 8008D838 00089678 48 00 00 28 */ b lbl_8008D860
.global lbl_8008D83C
lbl_8008D83C:
/* 8008D83C 0008967C 38 7E 00 40 */ addi r3, r30, 0x40
/* 8008D840 00089680 38 84 00 08 */ addi r4, r4, 0x8
/* 8008D844 00089684 38 A0 00 1F */ li r5, 0x1f
/* 8008D848 00089688 4B F7 67 B9 */ bl memcpy
/* 8008D84C 0008968C 38 00 00 00 */ li r0, 0x0
/* 8008D850 00089690 98 1E 00 60 */ stb r0, 0x60(r30)
/* 8008D854 00089694 48 00 00 0C */ b lbl_8008D860
.global lbl_8008D858
lbl_8008D858:
/* 8008D858 00089698 38 00 00 00 */ li r0, 0x0
/* 8008D85C 0008969C 98 1E 00 40 */ stb r0, 0x40(r30)
.global lbl_8008D860
lbl_8008D860:
/* 8008D860 000896A0 7F E3 FB 78 */ mr r3, r31
/* 8008D864 000896A4 38 80 02 00 */ li r4, 0x200
/* 8008D868 000896A8 48 00 F3 61 */ bl SDP_FindAttributeInRec
/* 8008D86C 000896AC 2C 03 00 00 */ cmpwi r3, 0x0
/* 8008D870 000896B0 41 82 00 0C */ beq lbl_8008D87C
/* 8008D874 000896B4 A0 03 00 08 */ lhz r0, 0x8(r3)
/* 8008D878 000896B8 B0 1E 00 60 */ sth r0, 0x60(r30)
.global lbl_8008D87C
lbl_8008D87C:
/* 8008D87C 000896BC 7F E3 FB 78 */ mr r3, r31
/* 8008D880 000896C0 38 80 02 03 */ li r4, 0x203
/* 8008D884 000896C4 48 00 F3 45 */ bl SDP_FindAttributeInRec
/* 8008D888 000896C8 2C 03 00 00 */ cmpwi r3, 0x0
/* 8008D88C 000896CC 41 82 00 0C */ beq lbl_8008D898
/* 8008D890 000896D0 88 03 00 08 */ lbz r0, 0x8(r3)
/* 8008D894 000896D4 98 1E 00 65 */ stb r0, 0x65(r30)
.global lbl_8008D898
lbl_8008D898:
/* 8008D898 000896D8 7F E3 FB 78 */ mr r3, r31
/* 8008D89C 000896DC 38 80 02 02 */ li r4, 0x202
/* 8008D8A0 000896E0 48 00 F3 29 */ bl SDP_FindAttributeInRec
/* 8008D8A4 000896E4 2C 03 00 00 */ cmpwi r3, 0x0
/* 8008D8A8 000896E8 41 82 00 0C */ beq lbl_8008D8B4
/* 8008D8AC 000896EC 88 03 00 08 */ lbz r0, 0x8(r3)
/* 8008D8B0 000896F0 98 1E 00 64 */ stb r0, 0x64(r30)
.global lbl_8008D8B4
lbl_8008D8B4:
/* 8008D8B4 000896F4 7F E3 FB 78 */ mr r3, r31
/* 8008D8B8 000896F8 38 80 02 01 */ li r4, 0x201
/* 8008D8BC 000896FC 48 00 F3 0D */ bl SDP_FindAttributeInRec
/* 8008D8C0 00089700 2C 03 00 00 */ cmpwi r3, 0x0
/* 8008D8C4 00089704 41 82 00 0C */ beq lbl_8008D8D0
/* 8008D8C8 00089708 A0 03 00 08 */ lhz r0, 0x8(r3)
/* 8008D8CC 0008970C B0 1E 00 62 */ sth r0, 0x62(r30)
.global lbl_8008D8D0
lbl_8008D8D0:
/* 8008D8D0 00089710 7F E3 FB 78 */ mr r3, r31
/* 8008D8D4 00089714 38 80 02 0C */ li r4, 0x20c
/* 8008D8D8 00089718 48 00 F2 F1 */ bl SDP_FindAttributeInRec
/* 8008D8DC 0008971C 2C 03 00 00 */ cmpwi r3, 0x0
/* 8008D8E0 00089720 41 82 00 14 */ beq lbl_8008D8F4
/* 8008D8E4 00089724 A0 03 00 08 */ lhz r0, 0x8(r3)
/* 8008D8E8 00089728 63 A3 00 40 */ ori r3, r29, 0x40
/* 8008D8EC 0008972C 54 7D 04 3E */ clrlwi r29, r3, 16
/* 8008D8F0 00089730 B0 1E 00 66 */ sth r0, 0x66(r30)
.global lbl_8008D8F4
lbl_8008D8F4:
/* 8008D8F4 00089734 3C C0 80 50 */ lis r6, hh_cb@ha
/* 8008D8F8 00089738 57 A4 04 3E */ clrlwi r4, r29, 16
/* 8008D8FC 0008973C 38 C6 8C 18 */ addi r6, r6, hh_cb@l
/* 8008D900 00089740 38 60 00 00 */ li r3, 0x0
/* 8008D904 00089744 81 86 03 84 */ lwz r12, 0x384(r6)
/* 8008D908 00089748 38 A6 03 8C */ addi r5, r6, 0x38c
/* 8008D90C 0008974C 93 E6 03 FC */ stw r31, 0x3fc(r6)
/* 8008D910 00089750 7D 89 03 A6 */ mtctr r12
/* 8008D914 00089754 4E 80 04 21 */ bctrl
.global lbl_8008D918
lbl_8008D918:
/* 8008D918 00089758 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8008D91C 0008975C 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 8008D920 00089760 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 8008D924 00089764 83 A1 00 24 */ lwz r29, 0x24(r1)
/* 8008D928 00089768 83 81 00 20 */ lwz r28, 0x20(r1)
/* 8008D92C 0008976C 7C 08 03 A6 */ mtlr r0
/* 8008D930 00089770 38 21 00 30 */ addi r1, r1, 0x30
/* 8008D934 00089774 4E 80 00 20 */ blr
.global HID_HostInit
HID_HostInit:
/* 8008D938 00089778 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8008D93C 0008977C 7C 08 02 A6 */ mflr r0
/* 8008D940 00089780 38 80 00 00 */ li r4, 0x0
/* 8008D944 00089784 38 A0 04 04 */ li r5, 0x404
/* 8008D948 00089788 90 01 00 14 */ stw r0, 0x14(r1)
/* 8008D94C 0008978C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8008D950 00089790 3F E0 80 50 */ lis r31, hh_cb@ha
/* 8008D954 00089794 38 7F 8C 18 */ addi r3, r31, hh_cb@l
/* 8008D958 00089798 4B F7 69 F9 */ bl memset
/* 8008D95C 0008979C 38 7F 8C 18 */ addi r3, r31, -0x73e8
/* 8008D960 000897A0 38 00 00 00 */ li r0, 0x0
/* 8008D964 000897A4 98 03 04 01 */ stb r0, 0x401(r3)
/* 8008D968 000897A8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8008D96C 000897AC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8008D970 000897B0 7C 08 03 A6 */ mtlr r0
/* 8008D974 000897B4 38 21 00 10 */ addi r1, r1, 0x10
/* 8008D978 000897B8 4E 80 00 20 */ blr
.global HID_HostRegister
HID_HostRegister:
/* 8008D97C 000897BC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8008D980 000897C0 7C 08 02 A6 */ mflr r0
/* 8008D984 000897C4 90 01 00 14 */ stw r0, 0x14(r1)
/* 8008D988 000897C8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8008D98C 000897CC 3F E0 80 50 */ lis r31, hh_cb@ha
/* 8008D990 000897D0 3B FF 8C 18 */ addi r31, r31, hh_cb@l
/* 8008D994 000897D4 93 C1 00 08 */ stw r30, 0x8(r1)
/* 8008D998 000897D8 7C 7E 1B 78 */ mr r30, r3
/* 8008D99C 000897DC 88 1F 04 00 */ lbz r0, 0x400(r31)
/* 8008D9A0 000897E0 2C 00 00 00 */ cmpwi r0, 0x0
/* 8008D9A4 000897E4 41 82 00 0C */ beq lbl_8008D9B0
/* 8008D9A8 000897E8 38 60 00 02 */ li r3, 0x2
/* 8008D9AC 000897EC 48 00 00 34 */ b lbl_8008D9E0
.global lbl_8008D9B0
lbl_8008D9B0:
/* 8008D9B0 000897F0 2C 03 00 00 */ cmpwi r3, 0x0
/* 8008D9B4 000897F4 40 82 00 0C */ bne lbl_8008D9C0
/* 8008D9B8 000897F8 38 60 00 05 */ li r3, 0x5
/* 8008D9BC 000897FC 48 00 00 24 */ b lbl_8008D9E0
.global lbl_8008D9C0
lbl_8008D9C0:
/* 8008D9C0 00089800 48 00 07 E1 */ bl hidh_conn_reg
/* 8008D9C4 00089804 54 60 06 3F */ clrlwi. r0, r3, 24
/* 8008D9C8 00089808 41 82 00 08 */ beq lbl_8008D9D0
/* 8008D9CC 0008980C 48 00 00 14 */ b lbl_8008D9E0
.global lbl_8008D9D0
lbl_8008D9D0:
/* 8008D9D0 00089810 38 00 00 01 */ li r0, 0x1
/* 8008D9D4 00089814 93 DF 03 40 */ stw r30, 0x340(r31)
/* 8008D9D8 00089818 38 60 00 00 */ li r3, 0x0
/* 8008D9DC 0008981C 98 1F 04 00 */ stb r0, 0x400(r31)
.global lbl_8008D9E0
lbl_8008D9E0:
/* 8008D9E0 00089820 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8008D9E4 00089824 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8008D9E8 00089828 83 C1 00 08 */ lwz r30, 0x8(r1)
/* 8008D9EC 0008982C 7C 08 03 A6 */ mtlr r0
/* 8008D9F0 00089830 38 21 00 10 */ addi r1, r1, 0x10
/* 8008D9F4 00089834 4E 80 00 20 */ blr
.global HID_HostDeregister
HID_HostDeregister:
/* 8008D9F8 00089838 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8008D9FC 0008983C 7C 08 02 A6 */ mflr r0
/* 8008DA00 00089840 90 01 00 24 */ stw r0, 0x24(r1)
/* 8008DA04 00089844 39 61 00 20 */ addi r11, r1, 0x20
/* 8008DA08 00089848 4B F7 99 35 */ bl lbl_8000733C
/* 8008DA0C 0008984C 3C 60 80 50 */ lis r3, hh_cb@ha
/* 8008DA10 00089850 3B A3 8C 18 */ addi r29, r3, hh_cb@l
/* 8008DA14 00089854 88 1D 04 00 */ lbz r0, 0x400(r29)
/* 8008DA18 00089858 2C 00 00 00 */ cmpwi r0, 0x0
/* 8008DA1C 0008985C 40 82 00 0C */ bne lbl_8008DA28
/* 8008DA20 00089860 38 60 00 01 */ li r3, 0x1
/* 8008DA24 00089864 48 00 00 A0 */ b lbl_8008DAC4
.global lbl_8008DA28
lbl_8008DA28:
/* 8008DA28 00089868 3B 60 00 00 */ li r27, 0x0
/* 8008DA2C 0008986C 3B C0 00 01 */ li r30, 0x1
/* 8008DA30 00089870 3B E0 00 00 */ li r31, 0x0
.global lbl_8008DA34
lbl_8008DA34:
/* 8008DA34 00089874 88 1D 04 00 */ lbz r0, 0x400(r29)
/* 8008DA38 00089878 2F 00 00 00 */ cmpwi cr6, r0, 0x0
/* 8008DA3C 0008987C 41 9A 00 64 */ beq cr6, lbl_8008DAA0
/* 8008DA40 00089880 57 60 06 3E */ clrlwi r0, r27, 24
/* 8008DA44 00089884 28 80 00 10 */ cmplwi cr1, r0, 0x10
/* 8008DA48 00089888 41 85 00 58 */ bgt cr1, lbl_8008DAA0
/* 8008DA4C 0008988C 1C 00 00 34 */ mulli r0, r0, 0x34
/* 8008DA50 00089890 7F 9D 02 14 */ add r28, r29, r0
/* 8008DA54 00089894 7C 1D 00 AE */ lbzx r0, r29, r0
/* 8008DA58 00089898 2C 00 00 00 */ cmpwi r0, 0x0
/* 8008DA5C 0008989C 41 82 00 44 */ beq lbl_8008DAA0
/* 8008DA60 000898A0 41 9A 00 30 */ beq cr6, lbl_8008DA90
/* 8008DA64 000898A4 41 85 00 2C */ bgt cr1, lbl_8008DA90
/* 8008DA68 000898A8 41 82 00 28 */ beq lbl_8008DA90
/* 8008DA6C 000898AC 9B DC 00 0C */ stb r30, 0xc(r28)
/* 8008DA70 000898B0 38 7C 00 1C */ addi r3, r28, 0x1c
/* 8008DA74 000898B4 4B FE A4 AD */ bl btu_stop_timer
/* 8008DA78 000898B8 88 1C 00 0A */ lbz r0, 0xa(r28)
/* 8008DA7C 000898BC 28 00 00 01 */ cmplwi r0, 0x1
/* 8008DA80 000898C0 40 82 00 10 */ bne lbl_8008DA90
/* 8008DA84 000898C4 9B DC 00 0C */ stb r30, 0xc(r28)
/* 8008DA88 000898C8 57 63 06 3E */ clrlwi r3, r27, 24
/* 8008DA8C 000898CC 48 00 08 6D */ bl hidh_conn_disconnect
.global lbl_8008DA90
lbl_8008DA90:
/* 8008DA90 000898D0 9B FC 00 00 */ stb r31, 0x0(r28)
/* 8008DA94 000898D4 9B FC 00 10 */ stb r31, 0x10(r28)
/* 8008DA98 000898D8 B3 FC 00 16 */ sth r31, 0x16(r28)
/* 8008DA9C 000898DC B3 FC 00 14 */ sth r31, 0x14(r28)
.global lbl_8008DAA0
lbl_8008DAA0:
/* 8008DAA0 000898E0 3B 7B 00 01 */ addi r27, r27, 0x1
/* 8008DAA4 000898E4 28 1B 00 10 */ cmplwi r27, 0x10
/* 8008DAA8 000898E8 41 80 FF 8C */ blt lbl_8008DA34
/* 8008DAAC 000898EC 48 00 27 09 */ bl hidh_conn_dereg
/* 8008DAB0 000898F0 3C 80 80 50 */ lis r4, hh_cb@ha
/* 8008DAB4 000898F4 38 00 00 00 */ li r0, 0x0
/* 8008DAB8 000898F8 38 84 8C 18 */ addi r4, r4, hh_cb@l
/* 8008DABC 000898FC 38 60 00 00 */ li r3, 0x0
/* 8008DAC0 00089900 98 04 04 00 */ stb r0, 0x400(r4)
.global lbl_8008DAC4
lbl_8008DAC4:
/* 8008DAC4 00089904 39 61 00 20 */ addi r11, r1, 0x20
/* 8008DAC8 00089908 4B F7 98 C1 */ bl lbl_80007388
/* 8008DACC 0008990C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8008DAD0 00089910 7C 08 03 A6 */ mtlr r0
/* 8008DAD4 00089914 38 21 00 20 */ addi r1, r1, 0x20
/* 8008DAD8 00089918 4E 80 00 20 */ blr
.global HID_HostAddDev
HID_HostAddDev:
/* 8008DADC 0008991C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8008DAE0 00089920 7C 08 02 A6 */ mflr r0
/* 8008DAE4 00089924 90 01 00 24 */ stw r0, 0x24(r1)
/* 8008DAE8 00089928 39 61 00 20 */ addi r11, r1, 0x20
/* 8008DAEC 0008992C 4B F7 98 4D */ bl lbl_80007338
/* 8008DAF0 00089930 3F E0 80 50 */ lis r31, hh_cb@ha
/* 8008DAF4 00089934 7C 7A 1B 78 */ mr r26, r3
/* 8008DAF8 00089938 3B FF 8C 18 */ addi r31, r31, hh_cb@l
/* 8008DAFC 0008993C 7C 9B 23 78 */ mr r27, r4
/* 8008DB00 00089940 88 1F 04 00 */ lbz r0, 0x400(r31)
/* 8008DB04 00089944 7C BC 2B 78 */ mr r28, r5
/* 8008DB08 00089948 2C 00 00 00 */ cmpwi r0, 0x0
/* 8008DB0C 0008994C 40 82 00 0C */ bne lbl_8008DB18
/* 8008DB10 00089950 38 60 00 01 */ li r3, 0x1
/* 8008DB14 00089954 48 00 01 40 */ b lbl_8008DC54
.global lbl_8008DB18
lbl_8008DB18:
/* 8008DB18 00089958 3B A0 00 00 */ li r29, 0x0
.global lbl_8008DB1C
lbl_8008DB1C:
/* 8008DB1C 0008995C 7F 43 D3 78 */ mr r3, r26
/* 8008DB20 00089960 38 9F 00 01 */ addi r4, r31, 0x1
/* 8008DB24 00089964 38 A0 00 06 */ li r5, 0x6
/* 8008DB28 00089968 4B F7 D3 49 */ bl memcmp
/* 8008DB2C 0008996C 2C 03 00 00 */ cmpwi r3, 0x0
/* 8008DB30 00089970 41 82 00 14 */ beq lbl_8008DB44
/* 8008DB34 00089974 3B BD 00 01 */ addi r29, r29, 0x1
/* 8008DB38 00089978 3B FF 00 34 */ addi r31, r31, 0x34
/* 8008DB3C 0008997C 2C 1D 00 10 */ cmpwi r29, 0x10
/* 8008DB40 00089980 41 80 FF DC */ blt lbl_8008DB1C
.global lbl_8008DB44
lbl_8008DB44:
/* 8008DB44 00089984 2C 1D 00 10 */ cmpwi r29, 0x10
/* 8008DB48 00089988 40 82 00 A0 */ bne lbl_8008DBE8
/* 8008DB4C 0008998C 3C 60 80 50 */ lis r3, hh_cb@ha
/* 8008DB50 00089990 38 00 00 02 */ li r0, 0x2
/* 8008DB54 00089994 38 63 8C 18 */ addi r3, r3, hh_cb@l
/* 8008DB58 00089998 3B A0 00 00 */ li r29, 0x0
/* 8008DB5C 0008999C 7C 09 03 A6 */ mtctr r0
.global lbl_8008DB60
lbl_8008DB60:
/* 8008DB60 000899A0 88 03 00 00 */ lbz r0, 0x0(r3)
/* 8008DB64 000899A4 2C 00 00 00 */ cmpwi r0, 0x0
/* 8008DB68 000899A8 41 82 00 80 */ beq lbl_8008DBE8
/* 8008DB6C 000899AC 88 03 00 34 */ lbz r0, 0x34(r3)
/* 8008DB70 000899B0 3B BD 00 01 */ addi r29, r29, 0x1
/* 8008DB74 000899B4 2C 00 00 00 */ cmpwi r0, 0x0
/* 8008DB78 000899B8 41 82 00 70 */ beq lbl_8008DBE8
/* 8008DB7C 000899BC 88 03 00 68 */ lbz r0, 0x68(r3)
/* 8008DB80 000899C0 3B BD 00 01 */ addi r29, r29, 0x1
/* 8008DB84 000899C4 2C 00 00 00 */ cmpwi r0, 0x0
/* 8008DB88 000899C8 41 82 00 60 */ beq lbl_8008DBE8
/* 8008DB8C 000899CC 88 03 00 9C */ lbz r0, 0x9c(r3)
/* 8008DB90 000899D0 3B BD 00 01 */ addi r29, r29, 0x1
/* 8008DB94 000899D4 2C 00 00 00 */ cmpwi r0, 0x0
/* 8008DB98 000899D8 41 82 00 50 */ beq lbl_8008DBE8
/* 8008DB9C 000899DC 88 03 00 D0 */ lbz r0, 0xd0(r3)
/* 8008DBA0 000899E0 3B BD 00 01 */ addi r29, r29, 0x1
/* 8008DBA4 000899E4 2C 00 00 00 */ cmpwi r0, 0x0
/* 8008DBA8 000899E8 41 82 00 40 */ beq lbl_8008DBE8
/* 8008DBAC 000899EC 88 03 01 04 */ lbz r0, 0x104(r3)
/* 8008DBB0 000899F0 3B BD 00 01 */ addi r29, r29, 0x1
/* 8008DBB4 000899F4 2C 00 00 00 */ cmpwi r0, 0x0
/* 8008DBB8 000899F8 41 82 00 30 */ beq lbl_8008DBE8
/* 8008DBBC 000899FC 88 03 01 38 */ lbz r0, 0x138(r3)
/* 8008DBC0 00089A00 3B BD 00 01 */ addi r29, r29, 0x1
/* 8008DBC4 00089A04 2C 00 00 00 */ cmpwi r0, 0x0
/* 8008DBC8 00089A08 41 82 00 20 */ beq lbl_8008DBE8
/* 8008DBCC 00089A0C 88 03 01 6C */ lbz r0, 0x16c(r3)
/* 8008DBD0 00089A10 3B BD 00 01 */ addi r29, r29, 0x1
/* 8008DBD4 00089A14 2C 00 00 00 */ cmpwi r0, 0x0
/* 8008DBD8 00089A18 41 82 00 10 */ beq lbl_8008DBE8
/* 8008DBDC 00089A1C 38 63 01 A0 */ addi r3, r3, 0x1a0
/* 8008DBE0 00089A20 3B BD 00 01 */ addi r29, r29, 0x1
/* 8008DBE4 00089A24 42 00 FF 7C */ bdnz lbl_8008DB60
.global lbl_8008DBE8
lbl_8008DBE8:
/* 8008DBE8 00089A28 2C 1D 00 10 */ cmpwi r29, 0x10
/* 8008DBEC 00089A2C 40 82 00 0C */ bne lbl_8008DBF8
/* 8008DBF0 00089A30 38 60 00 03 */ li r3, 0x3
/* 8008DBF4 00089A34 48 00 00 60 */ b lbl_8008DC54
.global lbl_8008DBF8
lbl_8008DBF8:
/* 8008DBF8 00089A38 1F DD 00 34 */ mulli r30, r29, 0x34
/* 8008DBFC 00089A3C 3F E0 80 50 */ lis r31, hh_cb@ha
/* 8008DC00 00089A40 3B FF 8C 18 */ addi r31, r31, hh_cb@l
/* 8008DC04 00089A44 7C 1F F0 AE */ lbzx r0, r31, r30
/* 8008DC08 00089A48 2C 00 00 00 */ cmpwi r0, 0x0
/* 8008DC0C 00089A4C 40 82 00 30 */ bne lbl_8008DC3C
/* 8008DC10 00089A50 38 00 00 01 */ li r0, 0x1
/* 8008DC14 00089A54 7C 7F F2 14 */ add r3, r31, r30
/* 8008DC18 00089A58 7C 1F F1 AE */ stbx r0, r31, r30
/* 8008DC1C 00089A5C 7F 44 D3 78 */ mr r4, r26
/* 8008DC20 00089A60 38 63 00 01 */ addi r3, r3, 0x1
/* 8008DC24 00089A64 38 A0 00 06 */ li r5, 0x6
/* 8008DC28 00089A68 4B F7 63 D9 */ bl memcpy
/* 8008DC2C 00089A6C 7C 7F F2 14 */ add r3, r31, r30
/* 8008DC30 00089A70 38 00 00 00 */ li r0, 0x0
/* 8008DC34 00089A74 98 03 00 0A */ stb r0, 0xa(r3)
/* 8008DC38 00089A78 98 03 00 0C */ stb r0, 0xc(r3)
.global lbl_8008DC3C
lbl_8008DC3C:
/* 8008DC3C 00089A7C 3C 80 80 50 */ lis r4, hh_cb@ha
/* 8008DC40 00089A80 38 60 00 00 */ li r3, 0x0
/* 8008DC44 00089A84 38 84 8C 18 */ addi r4, r4, hh_cb@l
/* 8008DC48 00089A88 7C 84 F2 14 */ add r4, r4, r30
/* 8008DC4C 00089A8C B3 64 00 08 */ sth r27, 0x8(r4)
/* 8008DC50 00089A90 9B BC 00 00 */ stb r29, 0x0(r28)
.global lbl_8008DC54
lbl_8008DC54:
/* 8008DC54 00089A94 39 61 00 20 */ addi r11, r1, 0x20
/* 8008DC58 00089A98 4B F7 97 2D */ bl lbl_80007384
/* 8008DC5C 00089A9C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8008DC60 00089AA0 7C 08 03 A6 */ mtlr r0
/* 8008DC64 00089AA4 38 21 00 20 */ addi r1, r1, 0x20
/* 8008DC68 00089AA8 4E 80 00 20 */ blr
.global HID_HostRemoveDev
HID_HostRemoveDev:
/* 8008DC6C 00089AAC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8008DC70 00089AB0 7C 08 02 A6 */ mflr r0
/* 8008DC74 00089AB4 90 01 00 24 */ stw r0, 0x24(r1)
/* 8008DC78 00089AB8 39 61 00 20 */ addi r11, r1, 0x20
/* 8008DC7C 00089ABC 4B F7 96 C1 */ bl lbl_8000733C
/* 8008DC80 00089AC0 3F C0 80 50 */ lis r30, hh_cb@ha
/* 8008DC84 00089AC4 7C 7B 1B 78 */ mr r27, r3
/* 8008DC88 00089AC8 3B DE 8C 18 */ addi r30, r30, hh_cb@l
/* 8008DC8C 00089ACC 88 1E 04 00 */ lbz r0, 0x400(r30)
/* 8008DC90 00089AD0 2F 00 00 00 */ cmpwi cr6, r0, 0x0
/* 8008DC94 00089AD4 40 9A 00 0C */ bne cr6, lbl_8008DCA0
/* 8008DC98 00089AD8 38 60 00 01 */ li r3, 0x1
/* 8008DC9C 00089ADC 48 00 00 80 */ b lbl_8008DD1C
.global lbl_8008DCA0
lbl_8008DCA0:
/* 8008DCA0 00089AE0 28 83 00 10 */ cmplwi cr1, r3, 0x10
/* 8008DCA4 00089AE4 41 85 00 18 */ bgt cr1, lbl_8008DCBC
/* 8008DCA8 00089AE8 1F 83 00 34 */ mulli r28, r3, 0x34
/* 8008DCAC 00089AEC 7C 1E E0 AE */ lbzx r0, r30, r28
/* 8008DCB0 00089AF0 7F BE E2 14 */ add r29, r30, r28
/* 8008DCB4 00089AF4 2C 00 00 00 */ cmpwi r0, 0x0
/* 8008DCB8 00089AF8 40 82 00 0C */ bne lbl_8008DCC4
.global lbl_8008DCBC
lbl_8008DCBC:
/* 8008DCBC 00089AFC 38 60 00 05 */ li r3, 0x5
/* 8008DCC0 00089B00 48 00 00 5C */ b lbl_8008DD1C
.global lbl_8008DCC4
lbl_8008DCC4:
/* 8008DCC4 00089B04 41 9A 00 34 */ beq cr6, lbl_8008DCF8
/* 8008DCC8 00089B08 41 85 00 30 */ bgt cr1, lbl_8008DCF8
/* 8008DCCC 00089B0C 41 82 00 2C */ beq lbl_8008DCF8
/* 8008DCD0 00089B10 3B E0 00 01 */ li r31, 0x1
/* 8008DCD4 00089B14 38 7D 00 1C */ addi r3, r29, 0x1c
/* 8008DCD8 00089B18 9B FD 00 0C */ stb r31, 0xc(r29)
/* 8008DCDC 00089B1C 4B FE A2 45 */ bl btu_stop_timer
/* 8008DCE0 00089B20 88 1D 00 0A */ lbz r0, 0xa(r29)
/* 8008DCE4 00089B24 28 00 00 01 */ cmplwi r0, 0x1
/* 8008DCE8 00089B28 40 82 00 10 */ bne lbl_8008DCF8
/* 8008DCEC 00089B2C 9B FD 00 0C */ stb r31, 0xc(r29)
/* 8008DCF0 00089B30 7F 63 DB 78 */ mr r3, r27
/* 8008DCF4 00089B34 48 00 06 05 */ bl hidh_conn_disconnect
.global lbl_8008DCF8
lbl_8008DCF8:
/* 8008DCF8 00089B38 38 00 00 00 */ li r0, 0x0
/* 8008DCFC 00089B3C 3C 60 80 50 */ lis r3, hh_cb@ha
/* 8008DD00 00089B40 38 63 8C 18 */ addi r3, r3, hh_cb@l
/* 8008DD04 00089B44 98 1D 00 00 */ stb r0, 0x0(r29)
/* 8008DD08 00089B48 7C 83 E2 14 */ add r4, r3, r28
/* 8008DD0C 00089B4C 98 04 00 10 */ stb r0, 0x10(r4)
/* 8008DD10 00089B50 38 60 00 00 */ li r3, 0x0
/* 8008DD14 00089B54 B0 04 00 16 */ sth r0, 0x16(r4)
/* 8008DD18 00089B58 B0 04 00 14 */ sth r0, 0x14(r4)
.global lbl_8008DD1C
lbl_8008DD1C:
/* 8008DD1C 00089B5C 39 61 00 20 */ addi r11, r1, 0x20
/* 8008DD20 00089B60 4B F7 96 69 */ bl lbl_80007388
/* 8008DD24 00089B64 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8008DD28 00089B68 7C 08 03 A6 */ mtlr r0
/* 8008DD2C 00089B6C 38 21 00 20 */ addi r1, r1, 0x20
/* 8008DD30 00089B70 4E 80 00 20 */ blr
.global HID_HostOpenDev
HID_HostOpenDev:
/* 8008DD34 00089B74 3C 80 80 50 */ lis r4, hh_cb@ha
/* 8008DD38 00089B78 38 84 8C 18 */ addi r4, r4, hh_cb@l
/* 8008DD3C 00089B7C 88 04 04 00 */ lbz r0, 0x400(r4)
/* 8008DD40 00089B80 2C 00 00 00 */ cmpwi r0, 0x0
/* 8008DD44 00089B84 40 82 00 0C */ bne lbl_8008DD50
/* 8008DD48 00089B88 38 60 00 01 */ li r3, 0x1
/* 8008DD4C 00089B8C 4E 80 00 20 */ blr
.global lbl_8008DD50
lbl_8008DD50:
/* 8008DD50 00089B90 28 03 00 10 */ cmplwi r3, 0x10
/* 8008DD54 00089B94 41 81 00 14 */ bgt lbl_8008DD68
/* 8008DD58 00089B98 1C A3 00 34 */ mulli r5, r3, 0x34
/* 8008DD5C 00089B9C 7C 04 28 AE */ lbzx r0, r4, r5
/* 8008DD60 00089BA0 2C 00 00 00 */ cmpwi r0, 0x0
/* 8008DD64 00089BA4 40 82 00 0C */ bne lbl_8008DD70
.global lbl_8008DD68
lbl_8008DD68:
/* 8008DD68 00089BA8 38 60 00 05 */ li r3, 0x5
/* 8008DD6C 00089BAC 4E 80 00 20 */ blr
.global lbl_8008DD70
lbl_8008DD70:
/* 8008DD70 00089BB0 7C 84 2A 14 */ add r4, r4, r5
/* 8008DD74 00089BB4 88 04 00 0A */ lbz r0, 0xa(r4)
/* 8008DD78 00089BB8 2C 00 00 00 */ cmpwi r0, 0x0
/* 8008DD7C 00089BBC 41 82 00 0C */ beq lbl_8008DD88
/* 8008DD80 00089BC0 38 60 00 0A */ li r3, 0xa
/* 8008DD84 00089BC4 4E 80 00 20 */ blr
.global lbl_8008DD88
lbl_8008DD88:
/* 8008DD88 00089BC8 38 00 00 01 */ li r0, 0x1
/* 8008DD8C 00089BCC 98 04 00 0C */ stb r0, 0xc(r4)
/* 8008DD90 00089BD0 48 00 23 28 */ b hidh_conn_initiate
/* 8008DD94 00089BD4 4E 80 00 20 */ blr
.global HID_HostWriteDev
HID_HostWriteDev:
/* 8008DD98 00089BD8 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8008DD9C 00089BDC 7C 08 02 A6 */ mflr r0
/* 8008DDA0 00089BE0 90 01 00 34 */ stw r0, 0x34(r1)
/* 8008DDA4 00089BE4 39 61 00 30 */ addi r11, r1, 0x30
/* 8008DDA8 00089BE8 4B F7 95 89 */ bl lbl_80007330
/* 8008DDAC 00089BEC 3D 20 80 50 */ lis r9, hh_cb@ha
/* 8008DDB0 00089BF0 3F E0 80 44 */ lis r31, "@1051_8043D130"@ha
/* 8008DDB4 00089BF4 39 29 8C 18 */ addi r9, r9, hh_cb@l
/* 8008DDB8 00089BF8 7C 79 1B 78 */ mr r25, r3
/* 8008DDBC 00089BFC 88 09 04 00 */ lbz r0, 0x400(r9)
/* 8008DDC0 00089C00 7C 9A 23 78 */ mr r26, r4
/* 8008DDC4 00089C04 7C BB 2B 78 */ mr r27, r5
/* 8008DDC8 00089C08 7C DC 33 78 */ mr r28, r6
/* 8008DDCC 00089C0C 2C 00 00 00 */ cmpwi r0, 0x0
/* 8008DDD0 00089C10 7C FD 3B 78 */ mr r29, r7
/* 8008DDD4 00089C14 7D 1E 43 78 */ mr r30, r8
/* 8008DDD8 00089C18 3B FF D1 30 */ addi r31, r31, "@1051_8043D130"@l
/* 8008DDDC 00089C1C 3B 00 00 00 */ li r24, 0x0
/* 8008DDE0 00089C20 40 82 00 20 */ bne lbl_8008DE00
/* 8008DDE4 00089C24 88 09 04 01 */ lbz r0, 0x401(r9)
/* 8008DDE8 00089C28 28 00 00 01 */ cmplwi r0, 0x1
/* 8008DDEC 00089C2C 41 80 00 10 */ blt lbl_8008DDFC
/* 8008DDF0 00089C30 38 9F 00 00 */ addi r4, r31, 0x0
/* 8008DDF4 00089C34 3C 60 00 1E */ lis r3, 0x1e
/* 8008DDF8 00089C38 4B FE 9B 69 */ bl LogMsg_0
.global lbl_8008DDFC
lbl_8008DDFC:
/* 8008DDFC 00089C3C 3B 00 00 01 */ li r24, 0x1
.global lbl_8008DE00
lbl_8008DE00:
/* 8008DE00 00089C40 28 19 00 10 */ cmplwi r25, 0x10
/* 8008DE04 00089C44 41 81 00 1C */ bgt lbl_8008DE20
/* 8008DE08 00089C48 1C 19 00 34 */ mulli r0, r25, 0x34
/* 8008DE0C 00089C4C 3C 60 80 50 */ lis r3, hh_cb@ha
/* 8008DE10 00089C50 38 63 8C 18 */ addi r3, r3, hh_cb@l
/* 8008DE14 00089C54 7C 03 00 AE */ lbzx r0, r3, r0
/* 8008DE18 00089C58 2C 00 00 00 */ cmpwi r0, 0x0
/* 8008DE1C 00089C5C 40 82 00 28 */ bne lbl_8008DE44
.global lbl_8008DE20
lbl_8008DE20:
/* 8008DE20 00089C60 3C 60 80 50 */ lis r3, hh_cb@ha
/* 8008DE24 00089C64 38 63 8C 18 */ addi r3, r3, hh_cb@l
/* 8008DE28 00089C68 88 03 04 01 */ lbz r0, 0x401(r3)
/* 8008DE2C 00089C6C 28 00 00 01 */ cmplwi r0, 0x1
/* 8008DE30 00089C70 41 80 00 10 */ blt lbl_8008DE40
/* 8008DE34 00089C74 38 9F 00 18 */ addi r4, r31, 0x18
/* 8008DE38 00089C78 3C 60 00 1E */ lis r3, 0x1e
/* 8008DE3C 00089C7C 4B FE 9B 25 */ bl LogMsg_0
.global lbl_8008DE40
lbl_8008DE40:
/* 8008DE40 00089C80 3B 00 00 05 */ li r24, 0x5
.global lbl_8008DE44
lbl_8008DE44:
/* 8008DE44 00089C84 1C 19 00 34 */ mulli r0, r25, 0x34
/* 8008DE48 00089C88 3C 80 80 50 */ lis r4, hh_cb@ha
/* 8008DE4C 00089C8C 38 84 8C 18 */ addi r4, r4, hh_cb@l
/* 8008DE50 00089C90 7C 64 02 14 */ add r3, r4, r0
/* 8008DE54 00089C94 88 03 00 0A */ lbz r0, 0xa(r3)
/* 8008DE58 00089C98 28 00 00 01 */ cmplwi r0, 0x1
/* 8008DE5C 00089C9C 41 82 00 24 */ beq lbl_8008DE80
/* 8008DE60 00089CA0 88 04 04 01 */ lbz r0, 0x401(r4)
/* 8008DE64 00089CA4 28 00 00 01 */ cmplwi r0, 0x1
/* 8008DE68 00089CA8 41 80 00 14 */ blt lbl_8008DE7C
/* 8008DE6C 00089CAC 7F 25 CB 78 */ mr r5, r25
/* 8008DE70 00089CB0 38 9F 00 30 */ addi r4, r31, 0x30
/* 8008DE74 00089CB4 3C 60 00 1E */ lis r3, 0x1e
/* 8008DE78 00089CB8 4B FE 9A E9 */ bl LogMsg_0
.global lbl_8008DE7C
lbl_8008DE7C:
/* 8008DE7C 00089CBC 3B 00 00 04 */ li r24, 0x4
.global lbl_8008DE80
lbl_8008DE80:
/* 8008DE80 00089CC0 2C 18 00 00 */ cmpwi r24, 0x0
/* 8008DE84 00089CC4 41 82 00 18 */ beq lbl_8008DE9C
/* 8008DE88 00089CC8 2C 1E 00 00 */ cmpwi r30, 0x0
/* 8008DE8C 00089CCC 41 82 00 30 */ beq lbl_8008DEBC
/* 8008DE90 00089CD0 7F C3 F3 78 */ mr r3, r30
/* 8008DE94 00089CD4 4B FE 70 7D */ bl GKI_freebuf
/* 8008DE98 00089CD8 48 00 00 24 */ b lbl_8008DEBC
.global lbl_8008DE9C
lbl_8008DE9C:
/* 8008DE9C 00089CDC 7F 23 CB 78 */ mr r3, r25
/* 8008DEA0 00089CE0 7F 44 D3 78 */ mr r4, r26
/* 8008DEA4 00089CE4 7F 65 DB 78 */ mr r5, r27
/* 8008DEA8 00089CE8 7F 86 E3 78 */ mr r6, r28
/* 8008DEAC 00089CEC 7F A7 EB 78 */ mr r7, r29
/* 8008DEB0 00089CF0 7F C8 F3 78 */ mr r8, r30
/* 8008DEB4 00089CF4 48 00 1F 69 */ bl hidh_conn_snd_data
/* 8008DEB8 00089CF8 7C 78 1B 78 */ mr r24, r3
.global lbl_8008DEBC
lbl_8008DEBC:
/* 8008DEBC 00089CFC 39 61 00 30 */ addi r11, r1, 0x30
/* 8008DEC0 00089D00 7F 03 C3 78 */ mr r3, r24
/* 8008DEC4 00089D04 4B F7 94 B9 */ bl lbl_8000737C
/* 8008DEC8 00089D08 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8008DECC 00089D0C 7C 08 03 A6 */ mtlr r0
/* 8008DED0 00089D10 38 21 00 30 */ addi r1, r1, 0x30
/* 8008DED4 00089D14 4E 80 00 20 */ blr
.global HID_HostCloseDev
HID_HostCloseDev:
/* 8008DED8 00089D18 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8008DEDC 00089D1C 7C 08 02 A6 */ mflr r0
/* 8008DEE0 00089D20 90 01 00 24 */ stw r0, 0x24(r1)
/* 8008DEE4 00089D24 39 61 00 20 */ addi r11, r1, 0x20
/* 8008DEE8 00089D28 4B F7 94 55 */ bl lbl_8000733C
/* 8008DEEC 00089D2C 3F C0 80 50 */ lis r30, hh_cb@ha
/* 8008DEF0 00089D30 7C 7B 1B 78 */ mr r27, r3
/* 8008DEF4 00089D34 3B DE 8C 18 */ addi r30, r30, hh_cb@l
/* 8008DEF8 00089D38 88 1E 04 00 */ lbz r0, 0x400(r30)
/* 8008DEFC 00089D3C 2C 00 00 00 */ cmpwi r0, 0x0
/* 8008DF00 00089D40 40 82 00 0C */ bne lbl_8008DF0C
/* 8008DF04 00089D44 38 60 00 01 */ li r3, 0x1
/* 8008DF08 00089D48 48 00 00 58 */ b lbl_8008DF60
.global lbl_8008DF0C
lbl_8008DF0C:
/* 8008DF0C 00089D4C 28 03 00 10 */ cmplwi r3, 0x10
/* 8008DF10 00089D50 41 81 00 18 */ bgt lbl_8008DF28
/* 8008DF14 00089D54 1F 83 00 34 */ mulli r28, r3, 0x34
/* 8008DF18 00089D58 7C 1E E0 AE */ lbzx r0, r30, r28
/* 8008DF1C 00089D5C 7F BE E2 14 */ add r29, r30, r28
/* 8008DF20 00089D60 2C 00 00 00 */ cmpwi r0, 0x0
/* 8008DF24 00089D64 40 82 00 0C */ bne lbl_8008DF30
.global lbl_8008DF28
lbl_8008DF28:
/* 8008DF28 00089D68 38 60 00 05 */ li r3, 0x5
/* 8008DF2C 00089D6C 48 00 00 34 */ b lbl_8008DF60
.global lbl_8008DF30
lbl_8008DF30:
/* 8008DF30 00089D70 3B E0 00 01 */ li r31, 0x1
/* 8008DF34 00089D74 38 7D 00 1C */ addi r3, r29, 0x1c
/* 8008DF38 00089D78 9B FD 00 0C */ stb r31, 0xc(r29)
/* 8008DF3C 00089D7C 4B FE 9F E5 */ bl btu_stop_timer
/* 8008DF40 00089D80 88 1D 00 0A */ lbz r0, 0xa(r29)
/* 8008DF44 00089D84 28 00 00 01 */ cmplwi r0, 0x1
/* 8008DF48 00089D88 41 82 00 0C */ beq lbl_8008DF54
/* 8008DF4C 00089D8C 38 60 00 04 */ li r3, 0x4
/* 8008DF50 00089D90 48 00 00 10 */ b lbl_8008DF60
.global lbl_8008DF54
lbl_8008DF54:
/* 8008DF54 00089D94 9B FD 00 0C */ stb r31, 0xc(r29)
/* 8008DF58 00089D98 7F 63 DB 78 */ mr r3, r27
/* 8008DF5C 00089D9C 48 00 03 9D */ bl hidh_conn_disconnect
.global lbl_8008DF60
lbl_8008DF60:
/* 8008DF60 00089DA0 39 61 00 20 */ addi r11, r1, 0x20
/* 8008DF64 00089DA4 4B F7 94 25 */ bl lbl_80007388
/* 8008DF68 00089DA8 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8008DF6C 00089DAC 7C 08 03 A6 */ mtlr r0
/* 8008DF70 00089DB0 38 21 00 20 */ addi r1, r1, 0x20
/* 8008DF74 00089DB4 4E 80 00 20 */ blr
.global HID_HostSetSecurityLevel
HID_HostSetSecurityLevel:
/* 8008DF78 00089DB8 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8008DF7C 00089DBC 7C 08 02 A6 */ mflr r0
/* 8008DF80 00089DC0 38 A0 00 20 */ li r5, 0x20
/* 8008DF84 00089DC4 38 E0 00 11 */ li r7, 0x11
/* 8008DF88 00089DC8 90 01 00 24 */ stw r0, 0x24(r1)
/* 8008DF8C 00089DCC 39 00 00 06 */ li r8, 0x6
/* 8008DF90 00089DD0 39 20 00 01 */ li r9, 0x1
/* 8008DF94 00089DD4 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8008DF98 00089DD8 3F E0 80 44 */ lis r31, "@1051_8043D130"@ha
/* 8008DF9C 00089DDC 3B FF D1 30 */ addi r31, r31, "@1051_8043D130"@l
/* 8008DFA0 00089DE0 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8008DFA4 00089DE4 7C 9E 23 78 */ mr r30, r4
/* 8008DFA8 00089DE8 7F C6 F3 78 */ mr r6, r30
/* 8008DFAC 00089DEC 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8008DFB0 00089DF0 7C 7D 1B 78 */ mr r29, r3
/* 8008DFB4 00089DF4 38 60 00 00 */ li r3, 0x0
/* 8008DFB8 00089DF8 7F A4 EB 78 */ mr r4, r29
/* 8008DFBC 00089DFC 4B FF 74 79 */ bl BTM_SetSecurityLevel
/* 8008DFC0 00089E00 54 60 06 3F */ clrlwi. r0, r3, 24
/* 8008DFC4 00089E04 40 82 00 2C */ bne lbl_8008DFF0
/* 8008DFC8 00089E08 3C 60 80 50 */ lis r3, hh_cb@ha
/* 8008DFCC 00089E0C 38 63 8C 18 */ addi r3, r3, hh_cb@l
/* 8008DFD0 00089E10 88 03 04 01 */ lbz r0, 0x401(r3)
/* 8008DFD4 00089E14 28 00 00 01 */ cmplwi r0, 0x1
/* 8008DFD8 00089E18 41 80 00 10 */ blt lbl_8008DFE8
/* 8008DFDC 00089E1C 38 9F 00 54 */ addi r4, r31, 0x54
/* 8008DFE0 00089E20 3C 60 00 1E */ lis r3, 0x1e
/* 8008DFE4 00089E24 4B FE 99 7D */ bl LogMsg_0
.global lbl_8008DFE8
lbl_8008DFE8:
/* 8008DFE8 00089E28 38 60 00 03 */ li r3, 0x3
/* 8008DFEC 00089E2C 48 00 01 98 */ b lbl_8008E184
.global lbl_8008DFF0
lbl_8008DFF0:
/* 8008DFF0 00089E30 7F A4 EB 78 */ mr r4, r29
/* 8008DFF4 00089E34 7F C6 F3 78 */ mr r6, r30
/* 8008DFF8 00089E38 38 60 00 01 */ li r3, 0x1
/* 8008DFFC 00089E3C 38 A0 00 20 */ li r5, 0x20
/* 8008E000 00089E40 38 E0 00 11 */ li r7, 0x11
/* 8008E004 00089E44 39 00 00 06 */ li r8, 0x6
/* 8008E008 00089E48 39 20 00 01 */ li r9, 0x1
/* 8008E00C 00089E4C 4B FF 74 29 */ bl BTM_SetSecurityLevel
/* 8008E010 00089E50 54 60 06 3F */ clrlwi. r0, r3, 24
/* 8008E014 00089E54 40 82 00 2C */ bne lbl_8008E040
/* 8008E018 00089E58 3C 60 80 50 */ lis r3, hh_cb@ha
/* 8008E01C 00089E5C 38 63 8C 18 */ addi r3, r3, hh_cb@l
/* 8008E020 00089E60 88 03 04 01 */ lbz r0, 0x401(r3)
/* 8008E024 00089E64 28 00 00 01 */ cmplwi r0, 0x1
/* 8008E028 00089E68 41 80 00 10 */ blt lbl_8008E038
/* 8008E02C 00089E6C 38 9F 00 74 */ addi r4, r31, 0x74
/* 8008E030 00089E70 3C 60 00 1E */ lis r3, 0x1e
/* 8008E034 00089E74 4B FE 99 2D */ bl LogMsg_0
.global lbl_8008E038
lbl_8008E038:
/* 8008E038 00089E78 38 60 00 03 */ li r3, 0x3
/* 8008E03C 00089E7C 48 00 01 48 */ b lbl_8008E184
.global lbl_8008E040
lbl_8008E040:
/* 8008E040 00089E80 7F A4 EB 78 */ mr r4, r29
/* 8008E044 00089E84 38 60 00 00 */ li r3, 0x0
/* 8008E048 00089E88 38 A0 00 21 */ li r5, 0x21
/* 8008E04C 00089E8C 38 C0 00 00 */ li r6, 0x0
/* 8008E050 00089E90 38 E0 00 11 */ li r7, 0x11
/* 8008E054 00089E94 39 00 00 06 */ li r8, 0x6
/* 8008E058 00089E98 39 20 00 02 */ li r9, 0x2
/* 8008E05C 00089E9C 4B FF 73 D9 */ bl BTM_SetSecurityLevel
/* 8008E060 00089EA0 54 60 06 3F */ clrlwi. r0, r3, 24
/* 8008E064 00089EA4 40 82 00 2C */ bne lbl_8008E090
/* 8008E068 00089EA8 3C 60 80 50 */ lis r3, hh_cb@ha
/* 8008E06C 00089EAC 38 63 8C 18 */ addi r3, r3, hh_cb@l
/* 8008E070 00089EB0 88 03 04 01 */ lbz r0, 0x401(r3)
/* 8008E074 00089EB4 28 00 00 01 */ cmplwi r0, 0x1
/* 8008E078 00089EB8 41 80 00 10 */ blt lbl_8008E088
/* 8008E07C 00089EBC 38 9F 00 94 */ addi r4, r31, 0x94
/* 8008E080 00089EC0 3C 60 00 1E */ lis r3, 0x1e
/* 8008E084 00089EC4 4B FE 98 DD */ bl LogMsg_0
.global lbl_8008E088
lbl_8008E088:
/* 8008E088 00089EC8 38 60 00 03 */ li r3, 0x3
/* 8008E08C 00089ECC 48 00 00 F8 */ b lbl_8008E184
.global lbl_8008E090
lbl_8008E090:
/* 8008E090 00089ED0 7F A4 EB 78 */ mr r4, r29
/* 8008E094 00089ED4 38 60 00 01 */ li r3, 0x1
/* 8008E098 00089ED8 38 A0 00 21 */ li r5, 0x21
/* 8008E09C 00089EDC 38 C0 00 00 */ li r6, 0x0
/* 8008E0A0 00089EE0 38 E0 00 11 */ li r7, 0x11
/* 8008E0A4 00089EE4 39 00 00 06 */ li r8, 0x6
/* 8008E0A8 00089EE8 39 20 00 02 */ li r9, 0x2
/* 8008E0AC 00089EEC 4B FF 73 89 */ bl BTM_SetSecurityLevel
/* 8008E0B0 00089EF0 54 60 06 3F */ clrlwi. r0, r3, 24
/* 8008E0B4 00089EF4 40 82 00 2C */ bne lbl_8008E0E0
/* 8008E0B8 00089EF8 3C 60 80 50 */ lis r3, hh_cb@ha
/* 8008E0BC 00089EFC 38 63 8C 18 */ addi r3, r3, hh_cb@l
/* 8008E0C0 00089F00 88 03 04 01 */ lbz r0, 0x401(r3)
/* 8008E0C4 00089F04 28 00 00 01 */ cmplwi r0, 0x1
/* 8008E0C8 00089F08 41 80 00 10 */ blt lbl_8008E0D8
/* 8008E0CC 00089F0C 38 9F 00 B4 */ addi r4, r31, 0xb4
/* 8008E0D0 00089F10 3C 60 00 1E */ lis r3, 0x1e
/* 8008E0D4 00089F14 4B FE 98 8D */ bl LogMsg_0
.global lbl_8008E0D8
lbl_8008E0D8:
/* 8008E0D8 00089F18 38 60 00 03 */ li r3, 0x3
/* 8008E0DC 00089F1C 48 00 00 A8 */ b lbl_8008E184
.global lbl_8008E0E0
lbl_8008E0E0:
/* 8008E0E0 00089F20 7F A4 EB 78 */ mr r4, r29
/* 8008E0E4 00089F24 38 60 00 01 */ li r3, 0x1
/* 8008E0E8 00089F28 38 A0 00 22 */ li r5, 0x22
/* 8008E0EC 00089F2C 38 C0 00 00 */ li r6, 0x0
/* 8008E0F0 00089F30 38 E0 00 13 */ li r7, 0x13
/* 8008E0F4 00089F34 39 00 00 06 */ li r8, 0x6
/* 8008E0F8 00089F38 39 20 00 00 */ li r9, 0x0
/* 8008E0FC 00089F3C 4B FF 73 39 */ bl BTM_SetSecurityLevel
/* 8008E100 00089F40 54 60 06 3F */ clrlwi. r0, r3, 24
/* 8008E104 00089F44 40 82 00 2C */ bne lbl_8008E130
/* 8008E108 00089F48 3C 60 80 50 */ lis r3, hh_cb@ha
/* 8008E10C 00089F4C 38 63 8C 18 */ addi r3, r3, hh_cb@l
/* 8008E110 00089F50 88 03 04 01 */ lbz r0, 0x401(r3)
/* 8008E114 00089F54 28 00 00 01 */ cmplwi r0, 0x1
/* 8008E118 00089F58 41 80 00 10 */ blt lbl_8008E128
/* 8008E11C 00089F5C 38 9F 00 D4 */ addi r4, r31, 0xd4
/* 8008E120 00089F60 3C 60 00 1E */ lis r3, 0x1e
/* 8008E124 00089F64 4B FE 98 3D */ bl LogMsg_0
.global lbl_8008E128
lbl_8008E128:
/* 8008E128 00089F68 38 60 00 03 */ li r3, 0x3
/* 8008E12C 00089F6C 48 00 00 58 */ b lbl_8008E184
.global lbl_8008E130
lbl_8008E130:
/* 8008E130 00089F70 7F A4 EB 78 */ mr r4, r29
/* 8008E134 00089F74 38 60 00 00 */ li r3, 0x0
/* 8008E138 00089F78 38 A0 00 22 */ li r5, 0x22
/* 8008E13C 00089F7C 38 C0 00 00 */ li r6, 0x0
/* 8008E140 00089F80 38 E0 00 13 */ li r7, 0x13
/* 8008E144 00089F84 39 00 00 06 */ li r8, 0x6
/* 8008E148 00089F88 39 20 00 00 */ li r9, 0x0
/* 8008E14C 00089F8C 4B FF 72 E9 */ bl BTM_SetSecurityLevel
/* 8008E150 00089F90 54 60 06 3F */ clrlwi. r0, r3, 24
/* 8008E154 00089F94 40 82 00 2C */ bne lbl_8008E180
/* 8008E158 00089F98 3C 60 80 50 */ lis r3, hh_cb@ha
/* 8008E15C 00089F9C 38 63 8C 18 */ addi r3, r3, hh_cb@l
/* 8008E160 00089FA0 88 03 04 01 */ lbz r0, 0x401(r3)
/* 8008E164 00089FA4 28 00 00 01 */ cmplwi r0, 0x1
/* 8008E168 00089FA8 41 80 00 10 */ blt lbl_8008E178
/* 8008E16C 00089FAC 38 9F 00 F4 */ addi r4, r31, 0xf4
/* 8008E170 00089FB0 3C 60 00 1E */ lis r3, 0x1e
/* 8008E174 00089FB4 4B FE 97 ED */ bl LogMsg_0
.global lbl_8008E178
lbl_8008E178:
/* 8008E178 00089FB8 38 60 00 03 */ li r3, 0x3
/* 8008E17C 00089FBC 48 00 00 08 */ b lbl_8008E184
.global lbl_8008E180
lbl_8008E180:
/* 8008E180 00089FC0 38 60 00 00 */ li r3, 0x0
.global lbl_8008E184
lbl_8008E184:
/* 8008E184 00089FC4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8008E188 00089FC8 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8008E18C 00089FCC 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8008E190 00089FD0 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8008E194 00089FD4 7C 08 03 A6 */ mtlr r0
/* 8008E198 00089FD8 38 21 00 20 */ addi r1, r1, 0x20
/* 8008E19C 00089FDC 4E 80 00 20 */ blr
.include "macros.inc"
.section .data, "wa" # 0x80421040 - 0x80496700 ; 0x000756C0
.global "@1051_8043D130"
"@1051_8043D130":
.4byte 0x4849445F
.4byte 0x4552525F
.4byte 0x4E4F545F
.4byte 0x52454749
.4byte 0x53544552
.4byte 0x45440000
.4byte 0x4849445F
.4byte 0x4552525F
.4byte 0x494E5641
.4byte 0x4C49445F
.4byte 0x50415241
.4byte 0x4D000000
.4byte 0x4849445F
.4byte 0x4552525F
.4byte 0x4E4F5F43
.4byte 0x4F4E4E45
.4byte 0x4354494F
.4byte 0x4E206465
.4byte 0x765F6861
.4byte 0x6E646C65
.4byte 0x20256400
.4byte 0x53656375
.4byte 0x72697479
.4byte 0x20526567
.4byte 0x69737472
.4byte 0x6174696F
.4byte 0x6E203120
.4byte 0x6661696C
.4byte 0x65640000
.4byte 0x53656375
.4byte 0x72697479
.4byte 0x20526567
.4byte 0x69737472
.4byte 0x6174696F
.4byte 0x6E203220
.4byte 0x6661696C
.4byte 0x65640000
.4byte 0x53656375
.4byte 0x72697479
.4byte 0x20526567
.4byte 0x69737472
.4byte 0x6174696F
.4byte 0x6E203320
.4byte 0x6661696C
.4byte 0x65640000
.4byte 0x53656375
.4byte 0x72697479
.4byte 0x20526567
.4byte 0x69737472
.4byte 0x6174696F
.4byte 0x6E203420
.4byte 0x6661696C
.4byte 0x65640000
.4byte 0x53656375
.4byte 0x72697479
.4byte 0x20526567
.4byte 0x69737472
.4byte 0x6174696F
.4byte 0x6E203520
.4byte 0x6661696C
.4byte 0x65640000
.4byte 0x53656375
.4byte 0x72697479
.4byte 0x20526567
.4byte 0x69737472
.4byte 0x6174696F
.4byte 0x6E203620
.4byte 0x6661696C
.4byte 0x65640000
.4byte 0
.include "macros.inc"
.section .bss, "", @nobits # 0x80496700 - 0x80556420 ; 0x000BFD20
.global hh_cb
hh_cb:
.skip 0x408