.include "macros.inc" .section .text, "ax" # 0x80006980 - 0x803E1E60 .global BTM_SecAddDevice BTM_SecAddDevice: /* 802C5170 002C0DD0 94 21 FF D0 */ stwu r1, -0x30(r1) /* 802C5174 002C0DD4 7C 08 02 A6 */ mflr r0 /* 802C5178 002C0DD8 90 01 00 34 */ stw r0, 0x34(r1) /* 802C517C 002C0DDC 39 61 00 30 */ addi r11, r1, 0x30 /* 802C5180 002C0DE0 4B F0 1F 9D */ bl _savegpr_24 /* 802C5184 002C0DE4 3D 20 80 57 */ lis r9, lbl_80568B78@ha /* 802C5188 002C0DE8 7C 78 1B 78 */ mr r24, r3 /* 802C518C 002C0DEC 39 29 8B 78 */ addi r9, r9, lbl_80568B78@l /* 802C5190 002C0DF0 7C 99 23 78 */ mr r25, r4 /* 802C5194 002C0DF4 7C BA 2B 78 */ mr r26, r5 /* 802C5198 002C0DF8 7C DB 33 78 */ mr r27, r6 /* 802C519C 002C0DFC 7C FC 3B 78 */ mr r28, r7 /* 802C51A0 002C0E00 7D 1D 43 78 */ mr r29, r8 /* 802C51A4 002C0E04 3B C9 1F 30 */ addi r30, r9, 0x1f30 /* 802C51A8 002C0E08 3B E0 00 00 */ li r31, 0 lbl_802C51AC: /* 802C51AC 002C0E0C 88 1E 00 76 */ lbz r0, 0x76(r30) /* 802C51B0 002C0E10 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 /* 802C51B4 002C0E14 41 82 00 20 */ beq lbl_802C51D4 /* 802C51B8 002C0E18 7F 04 C3 78 */ mr r4, r24 /* 802C51BC 002C0E1C 38 7E 00 1C */ addi r3, r30, 0x1c /* 802C51C0 002C0E20 38 A0 00 06 */ li r5, 6 /* 802C51C4 002C0E24 4B F0 51 D5 */ bl memcmp /* 802C51C8 002C0E28 2C 03 00 00 */ cmpwi r3, 0 /* 802C51CC 002C0E2C 40 82 00 08 */ bne lbl_802C51D4 /* 802C51D0 002C0E30 48 00 00 18 */ b lbl_802C51E8 lbl_802C51D4: /* 802C51D4 002C0E34 3B FF 00 01 */ addi r31, r31, 1 /* 802C51D8 002C0E38 3B DE 00 88 */ addi r30, r30, 0x88 /* 802C51DC 002C0E3C 2C 1F 00 10 */ cmpwi r31, 0x10 /* 802C51E0 002C0E40 41 80 FF CC */ blt lbl_802C51AC /* 802C51E4 002C0E44 3B C0 00 00 */ li r30, 0 lbl_802C51E8: /* 802C51E8 002C0E48 2C 1E 00 00 */ cmpwi r30, 0 /* 802C51EC 002C0E4C 40 82 00 20 */ bne lbl_802C520C /* 802C51F0 002C0E50 7F 03 C3 78 */ mr r3, r24 /* 802C51F4 002C0E54 48 00 02 51 */ bl btm_sec_alloc_dev /* 802C51F8 002C0E58 2C 03 00 00 */ cmpwi r3, 0 /* 802C51FC 002C0E5C 7C 7E 1B 78 */ mr r30, r3 /* 802C5200 002C0E60 40 82 00 24 */ bne lbl_802C5224 /* 802C5204 002C0E64 38 60 00 00 */ li r3, 0 /* 802C5208 002C0E68 48 00 00 D8 */ b lbl_802C52E0 lbl_802C520C: /* 802C520C 002C0E6C 3C 80 80 57 */ lis r4, lbl_80568B78@ha /* 802C5210 002C0E70 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l /* 802C5214 002C0E74 80 64 19 74 */ lwz r3, 0x1974(r4) /* 802C5218 002C0E78 90 7E 00 0C */ stw r3, 0xc(r30) /* 802C521C 002C0E7C 38 03 00 01 */ addi r0, r3, 1 /* 802C5220 002C0E80 90 04 19 74 */ stw r0, 0x1974(r4) lbl_802C5224: /* 802C5224 002C0E84 2C 19 00 00 */ cmpwi r25, 0 /* 802C5228 002C0E88 41 82 00 14 */ beq lbl_802C523C /* 802C522C 002C0E8C 7F 24 CB 78 */ mr r4, r25 /* 802C5230 002C0E90 38 7E 00 22 */ addi r3, r30, 0x22 /* 802C5234 002C0E94 38 A0 00 03 */ li r5, 3 /* 802C5238 002C0E98 4B D3 ED C9 */ bl memcpy lbl_802C523C: /* 802C523C 002C0E9C 38 7E 00 35 */ addi r3, r30, 0x35 /* 802C5240 002C0EA0 38 80 00 00 */ li r4, 0 /* 802C5244 002C0EA4 38 A0 00 41 */ li r5, 0x41 /* 802C5248 002C0EA8 4B D3 EE BD */ bl memset /* 802C524C 002C0EAC 2C 1A 00 00 */ cmpwi r26, 0 /* 802C5250 002C0EB0 41 82 00 2C */ beq lbl_802C527C /* 802C5254 002C0EB4 88 1A 00 00 */ lbz r0, 0(r26) /* 802C5258 002C0EB8 2C 00 00 00 */ cmpwi r0, 0 /* 802C525C 002C0EBC 41 82 00 20 */ beq lbl_802C527C /* 802C5260 002C0EC0 88 1E 00 76 */ lbz r0, 0x76(r30) /* 802C5264 002C0EC4 7F 44 D3 78 */ mr r4, r26 /* 802C5268 002C0EC8 38 7E 00 35 */ addi r3, r30, 0x35 /* 802C526C 002C0ECC 38 A0 00 40 */ li r5, 0x40 /* 802C5270 002C0ED0 60 00 00 08 */ ori r0, r0, 8 /* 802C5274 002C0ED4 98 1E 00 76 */ stb r0, 0x76(r30) /* 802C5278 002C0ED8 4B F0 91 19 */ bl strncpy lbl_802C527C: /* 802C527C 002C0EDC 2C 1B 00 00 */ cmpwi r27, 0 /* 802C5280 002C0EE0 41 82 00 18 */ beq lbl_802C5298 /* 802C5284 002C0EE4 7F 64 DB 78 */ mr r4, r27 /* 802C5288 002C0EE8 38 7E 00 77 */ addi r3, r30, 0x77 /* 802C528C 002C0EEC 38 A0 00 08 */ li r5, 8 /* 802C5290 002C0EF0 4B D3 ED 71 */ bl memcpy /* 802C5294 002C0EF4 48 00 00 14 */ b lbl_802C52A8 lbl_802C5298: /* 802C5298 002C0EF8 38 7E 00 77 */ addi r3, r30, 0x77 /* 802C529C 002C0EFC 38 80 00 00 */ li r4, 0 /* 802C52A0 002C0F00 38 A0 00 08 */ li r5, 8 /* 802C52A4 002C0F04 4B D3 EE 61 */ bl memset lbl_802C52A8: /* 802C52A8 002C0F08 80 1C 00 00 */ lwz r0, 0(r28) /* 802C52AC 002C0F0C 2C 1D 00 00 */ cmpwi r29, 0 /* 802C52B0 002C0F10 90 1E 00 10 */ stw r0, 0x10(r30) /* 802C52B4 002C0F14 80 1C 00 04 */ lwz r0, 4(r28) /* 802C52B8 002C0F18 90 1E 00 14 */ stw r0, 0x14(r30) /* 802C52BC 002C0F1C 41 82 00 20 */ beq lbl_802C52DC /* 802C52C0 002C0F20 88 1E 00 76 */ lbz r0, 0x76(r30) /* 802C52C4 002C0F24 7F A4 EB 78 */ mr r4, r29 /* 802C52C8 002C0F28 38 7E 00 25 */ addi r3, r30, 0x25 /* 802C52CC 002C0F2C 38 A0 00 10 */ li r5, 0x10 /* 802C52D0 002C0F30 60 00 00 10 */ ori r0, r0, 0x10 /* 802C52D4 002C0F34 98 1E 00 76 */ stb r0, 0x76(r30) /* 802C52D8 002C0F38 4B D3 ED 29 */ bl memcpy lbl_802C52DC: /* 802C52DC 002C0F3C 38 60 00 01 */ li r3, 1 lbl_802C52E0: /* 802C52E0 002C0F40 39 61 00 30 */ addi r11, r1, 0x30 /* 802C52E4 002C0F44 4B F0 1E 85 */ bl _restgpr_24 /* 802C52E8 002C0F48 80 01 00 34 */ lwz r0, 0x34(r1) /* 802C52EC 002C0F4C 7C 08 03 A6 */ mtlr r0 /* 802C52F0 002C0F50 38 21 00 30 */ addi r1, r1, 0x30 /* 802C52F4 002C0F54 4E 80 00 20 */ blr .global BTM_SecDeleteDevice BTM_SecDeleteDevice: /* 802C52F8 002C0F58 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802C52FC 002C0F5C 7C 08 02 A6 */ mflr r0 /* 802C5300 002C0F60 3C 80 80 57 */ lis r4, lbl_80568B78@ha /* 802C5304 002C0F64 90 01 00 24 */ stw r0, 0x24(r1) /* 802C5308 002C0F68 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l /* 802C530C 002C0F6C 93 E1 00 1C */ stw r31, 0x1c(r1) /* 802C5310 002C0F70 3B E0 00 00 */ li r31, 0 /* 802C5314 002C0F74 93 C1 00 18 */ stw r30, 0x18(r1) /* 802C5318 002C0F78 3B C4 1F 30 */ addi r30, r4, 0x1f30 /* 802C531C 002C0F7C 93 A1 00 14 */ stw r29, 0x14(r1) /* 802C5320 002C0F80 7C 7D 1B 78 */ mr r29, r3 lbl_802C5324: /* 802C5324 002C0F84 88 1E 00 76 */ lbz r0, 0x76(r30) /* 802C5328 002C0F88 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 /* 802C532C 002C0F8C 41 82 00 20 */ beq lbl_802C534C /* 802C5330 002C0F90 7F A4 EB 78 */ mr r4, r29 /* 802C5334 002C0F94 38 7E 00 1C */ addi r3, r30, 0x1c /* 802C5338 002C0F98 38 A0 00 06 */ li r5, 6 /* 802C533C 002C0F9C 4B F0 50 5D */ bl memcmp /* 802C5340 002C0FA0 2C 03 00 00 */ cmpwi r3, 0 /* 802C5344 002C0FA4 40 82 00 08 */ bne lbl_802C534C /* 802C5348 002C0FA8 48 00 00 18 */ b lbl_802C5360 lbl_802C534C: /* 802C534C 002C0FAC 3B FF 00 01 */ addi r31, r31, 1 /* 802C5350 002C0FB0 3B DE 00 88 */ addi r30, r30, 0x88 /* 802C5354 002C0FB4 2C 1F 00 10 */ cmpwi r31, 0x10 /* 802C5358 002C0FB8 41 80 FF CC */ blt lbl_802C5324 /* 802C535C 002C0FBC 3B C0 00 00 */ li r30, 0 lbl_802C5360: /* 802C5360 002C0FC0 2C 1E 00 00 */ cmpwi r30, 0 /* 802C5364 002C0FC4 40 82 00 0C */ bne lbl_802C5370 /* 802C5368 002C0FC8 38 60 00 00 */ li r3, 0 /* 802C536C 002C0FCC 48 00 00 1C */ b lbl_802C5388 lbl_802C5370: /* 802C5370 002C0FD0 38 00 00 00 */ li r0, 0 /* 802C5374 002C0FD4 7F A3 EB 78 */ mr r3, r29 /* 802C5378 002C0FD8 98 1E 00 76 */ stb r0, 0x76(r30) /* 802C537C 002C0FDC 38 80 00 00 */ li r4, 0 /* 802C5380 002C0FE0 48 00 1A 89 */ bl BTM_DeleteStoredLinkKey /* 802C5384 002C0FE4 38 60 00 01 */ li r3, 1 lbl_802C5388: /* 802C5388 002C0FE8 80 01 00 24 */ lwz r0, 0x24(r1) /* 802C538C 002C0FEC 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 802C5390 002C0FF0 83 C1 00 18 */ lwz r30, 0x18(r1) /* 802C5394 002C0FF4 83 A1 00 14 */ lwz r29, 0x14(r1) /* 802C5398 002C0FF8 7C 08 03 A6 */ mtlr r0 /* 802C539C 002C0FFC 38 21 00 20 */ addi r1, r1, 0x20 /* 802C53A0 002C1000 4E 80 00 20 */ blr .global BTM_SecReadDevName BTM_SecReadDevName: /* 802C53A4 002C1004 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802C53A8 002C1008 7C 08 02 A6 */ mflr r0 /* 802C53AC 002C100C 3C 80 80 57 */ lis r4, lbl_80568B78@ha /* 802C53B0 002C1010 90 01 00 24 */ stw r0, 0x24(r1) /* 802C53B4 002C1014 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l /* 802C53B8 002C1018 93 E1 00 1C */ stw r31, 0x1c(r1) /* 802C53BC 002C101C 3B E0 00 00 */ li r31, 0 /* 802C53C0 002C1020 93 C1 00 18 */ stw r30, 0x18(r1) /* 802C53C4 002C1024 3B C4 1F 30 */ addi r30, r4, 0x1f30 /* 802C53C8 002C1028 93 A1 00 14 */ stw r29, 0x14(r1) /* 802C53CC 002C102C 3B A0 00 00 */ li r29, 0 /* 802C53D0 002C1030 93 81 00 10 */ stw r28, 0x10(r1) /* 802C53D4 002C1034 7C 7C 1B 78 */ mr r28, r3 lbl_802C53D8: /* 802C53D8 002C1038 88 1E 00 76 */ lbz r0, 0x76(r30) /* 802C53DC 002C103C 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 /* 802C53E0 002C1040 41 82 00 20 */ beq lbl_802C5400 /* 802C53E4 002C1044 7F 84 E3 78 */ mr r4, r28 /* 802C53E8 002C1048 38 7E 00 1C */ addi r3, r30, 0x1c /* 802C53EC 002C104C 38 A0 00 06 */ li r5, 6 /* 802C53F0 002C1050 4B F0 4F A9 */ bl memcmp /* 802C53F4 002C1054 2C 03 00 00 */ cmpwi r3, 0 /* 802C53F8 002C1058 40 82 00 08 */ bne lbl_802C5400 /* 802C53FC 002C105C 48 00 00 18 */ b lbl_802C5414 lbl_802C5400: /* 802C5400 002C1060 3B FF 00 01 */ addi r31, r31, 1 /* 802C5404 002C1064 3B DE 00 88 */ addi r30, r30, 0x88 /* 802C5408 002C1068 2C 1F 00 10 */ cmpwi r31, 0x10 /* 802C540C 002C106C 41 80 FF CC */ blt lbl_802C53D8 /* 802C5410 002C1070 3B C0 00 00 */ li r30, 0 lbl_802C5414: /* 802C5414 002C1074 2C 1E 00 00 */ cmpwi r30, 0 /* 802C5418 002C1078 41 82 00 08 */ beq lbl_802C5420 /* 802C541C 002C107C 3B BE 00 35 */ addi r29, r30, 0x35 lbl_802C5420: /* 802C5420 002C1080 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 802C5424 002C1084 7F A3 EB 78 */ mr r3, r29 /* 802C5428 002C1088 83 C1 00 18 */ lwz r30, 0x18(r1) /* 802C542C 002C108C 83 A1 00 14 */ lwz r29, 0x14(r1) /* 802C5430 002C1090 83 81 00 10 */ lwz r28, 0x10(r1) /* 802C5434 002C1094 80 01 00 24 */ lwz r0, 0x24(r1) /* 802C5438 002C1098 7C 08 03 A6 */ mtlr r0 /* 802C543C 002C109C 38 21 00 20 */ addi r1, r1, 0x20 /* 802C5440 002C10A0 4E 80 00 20 */ blr .global btm_sec_alloc_dev btm_sec_alloc_dev: /* 802C5444 002C10A4 94 21 FF F0 */ stwu r1, -0x10(r1) /* 802C5448 002C10A8 7C 08 02 A6 */ mflr r0 /* 802C544C 002C10AC 3C 80 80 57 */ lis r4, lbl_80568B78@ha /* 802C5450 002C10B0 90 01 00 14 */ stw r0, 0x14(r1) /* 802C5454 002C10B4 38 00 00 10 */ li r0, 0x10 /* 802C5458 002C10B8 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l /* 802C545C 002C10BC 93 E1 00 0C */ stw r31, 0xc(r1) /* 802C5460 002C10C0 3B E0 00 00 */ li r31, 0 /* 802C5464 002C10C4 93 C1 00 08 */ stw r30, 8(r1) /* 802C5468 002C10C8 7C 7E 1B 78 */ mr r30, r3 /* 802C546C 002C10CC 38 60 00 00 */ li r3, 0 /* 802C5470 002C10D0 7C 09 03 A6 */ mtctr r0 lbl_802C5474: /* 802C5474 002C10D4 88 04 1F A6 */ lbz r0, 0x1fa6(r4) /* 802C5478 002C10D8 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 /* 802C547C 002C10DC 40 82 00 1C */ bne lbl_802C5498 /* 802C5480 002C10E0 1C 03 00 88 */ mulli r0, r3, 0x88 /* 802C5484 002C10E4 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802C5488 002C10E8 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802C548C 002C10EC 7C 63 02 14 */ add r3, r3, r0 /* 802C5490 002C10F0 3B E3 1F 30 */ addi r31, r3, 0x1f30 /* 802C5494 002C10F4 48 00 00 10 */ b lbl_802C54A4 lbl_802C5498: /* 802C5498 002C10F8 38 84 00 88 */ addi r4, r4, 0x88 /* 802C549C 002C10FC 38 63 00 01 */ addi r3, r3, 1 /* 802C54A0 002C1100 42 00 FF D4 */ bdnz lbl_802C5474 lbl_802C54A4: /* 802C54A4 002C1104 2C 1F 00 00 */ cmpwi r31, 0 /* 802C54A8 002C1108 40 82 00 0C */ bne lbl_802C54B4 /* 802C54AC 002C110C 48 00 01 F9 */ bl btm_find_oldest_dev /* 802C54B0 002C1110 7C 7F 1B 78 */ mr r31, r3 lbl_802C54B4: /* 802C54B4 002C1114 7F E3 FB 78 */ mr r3, r31 /* 802C54B8 002C1118 38 80 00 00 */ li r4, 0 /* 802C54BC 002C111C 38 A0 00 88 */ li r5, 0x88 /* 802C54C0 002C1120 4B D3 EC 45 */ bl memset /* 802C54C4 002C1124 38 60 00 80 */ li r3, 0x80 /* 802C54C8 002C1128 38 00 00 00 */ li r0, 0 /* 802C54CC 002C112C 98 7F 00 76 */ stb r3, 0x76(r31) /* 802C54D0 002C1130 7F C3 F3 78 */ mr r3, r30 /* 802C54D4 002C1134 98 1F 00 85 */ stb r0, 0x85(r31) /* 802C54D8 002C1138 48 00 28 51 */ bl BTM_InqDbRead /* 802C54DC 002C113C 2C 03 00 00 */ cmpwi r3, 0 /* 802C54E0 002C1140 7C 64 1B 78 */ mr r4, r3 /* 802C54E4 002C1144 41 82 00 18 */ beq lbl_802C54FC /* 802C54E8 002C1148 38 7F 00 22 */ addi r3, r31, 0x22 /* 802C54EC 002C114C 38 84 00 08 */ addi r4, r4, 8 /* 802C54F0 002C1150 38 A0 00 03 */ li r5, 3 /* 802C54F4 002C1154 4B D3 EB 0D */ bl memcpy /* 802C54F8 002C1158 48 00 00 1C */ b lbl_802C5514 lbl_802C54FC: /* 802C54FC 002C115C 3C 80 80 57 */ lis r4, lbl_80568B78@ha /* 802C5500 002C1160 38 7F 00 22 */ addi r3, r31, 0x22 /* 802C5504 002C1164 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l /* 802C5508 002C1168 38 A0 00 03 */ li r5, 3 /* 802C550C 002C116C 38 84 27 BA */ addi r4, r4, 0x27ba /* 802C5510 002C1170 4B D3 EA F1 */ bl memcpy lbl_802C5514: /* 802C5514 002C1174 7F C4 F3 78 */ mr r4, r30 /* 802C5518 002C1178 38 7F 00 1C */ addi r3, r31, 0x1c /* 802C551C 002C117C 38 A0 00 06 */ li r5, 6 /* 802C5520 002C1180 4B D3 EA E1 */ bl memcpy /* 802C5524 002C1184 7F C3 F3 78 */ mr r3, r30 /* 802C5528 002C1188 4B FF EE 7D */ bl BTM_GetHCIConnHandle /* 802C552C 002C118C B0 7F 00 18 */ sth r3, 0x18(r31) /* 802C5530 002C1190 3C A0 80 57 */ lis r5, lbl_80568B78@ha /* 802C5534 002C1194 38 A5 8B 78 */ addi r5, r5, lbl_80568B78@l /* 802C5538 002C1198 7F E3 FB 78 */ mr r3, r31 /* 802C553C 002C119C 80 85 19 74 */ lwz r4, 0x1974(r5) /* 802C5540 002C11A0 90 9F 00 0C */ stw r4, 0xc(r31) /* 802C5544 002C11A4 38 04 00 01 */ addi r0, r4, 1 /* 802C5548 002C11A8 90 05 19 74 */ stw r0, 0x1974(r5) /* 802C554C 002C11AC 83 E1 00 0C */ lwz r31, 0xc(r1) /* 802C5550 002C11B0 83 C1 00 08 */ lwz r30, 8(r1) /* 802C5554 002C11B4 80 01 00 14 */ lwz r0, 0x14(r1) /* 802C5558 002C11B8 7C 08 03 A6 */ mtlr r0 /* 802C555C 002C11BC 38 21 00 10 */ addi r1, r1, 0x10 /* 802C5560 002C11C0 4E 80 00 20 */ blr .global btm_find_dev_by_handle btm_find_dev_by_handle: /* 802C5564 002C11C4 3C 80 80 57 */ lis r4, lbl_80568B78@ha /* 802C5568 002C11C8 38 00 00 04 */ li r0, 4 /* 802C556C 002C11CC 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l /* 802C5570 002C11D0 38 A0 00 00 */ li r5, 0 /* 802C5574 002C11D4 38 84 1F 30 */ addi r4, r4, 0x1f30 /* 802C5578 002C11D8 7C 09 03 A6 */ mtctr r0 lbl_802C557C: /* 802C557C 002C11DC 88 04 00 76 */ lbz r0, 0x76(r4) /* 802C5580 002C11E0 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 /* 802C5584 002C11E4 41 82 00 18 */ beq lbl_802C559C /* 802C5588 002C11E8 A0 04 00 18 */ lhz r0, 0x18(r4) /* 802C558C 002C11EC 7C 00 18 40 */ cmplw r0, r3 /* 802C5590 002C11F0 40 82 00 0C */ bne lbl_802C559C /* 802C5594 002C11F4 7C 83 23 78 */ mr r3, r4 /* 802C5598 002C11F8 4E 80 00 20 */ blr lbl_802C559C: /* 802C559C 002C11FC 88 04 00 FE */ lbz r0, 0xfe(r4) /* 802C55A0 002C1200 38 84 00 88 */ addi r4, r4, 0x88 /* 802C55A4 002C1204 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 /* 802C55A8 002C1208 41 82 00 18 */ beq lbl_802C55C0 /* 802C55AC 002C120C A0 04 00 18 */ lhz r0, 0x18(r4) /* 802C55B0 002C1210 7C 00 18 40 */ cmplw r0, r3 /* 802C55B4 002C1214 40 82 00 0C */ bne lbl_802C55C0 /* 802C55B8 002C1218 7C 83 23 78 */ mr r3, r4 /* 802C55BC 002C121C 4E 80 00 20 */ blr lbl_802C55C0: /* 802C55C0 002C1220 88 04 00 FE */ lbz r0, 0xfe(r4) /* 802C55C4 002C1224 38 84 00 88 */ addi r4, r4, 0x88 /* 802C55C8 002C1228 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 /* 802C55CC 002C122C 41 82 00 18 */ beq lbl_802C55E4 /* 802C55D0 002C1230 A0 04 00 18 */ lhz r0, 0x18(r4) /* 802C55D4 002C1234 7C 00 18 40 */ cmplw r0, r3 /* 802C55D8 002C1238 40 82 00 0C */ bne lbl_802C55E4 /* 802C55DC 002C123C 7C 83 23 78 */ mr r3, r4 /* 802C55E0 002C1240 4E 80 00 20 */ blr lbl_802C55E4: /* 802C55E4 002C1244 88 04 00 FE */ lbz r0, 0xfe(r4) /* 802C55E8 002C1248 38 84 00 88 */ addi r4, r4, 0x88 /* 802C55EC 002C124C 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 /* 802C55F0 002C1250 41 82 00 18 */ beq lbl_802C5608 /* 802C55F4 002C1254 A0 04 00 18 */ lhz r0, 0x18(r4) /* 802C55F8 002C1258 7C 00 18 40 */ cmplw r0, r3 /* 802C55FC 002C125C 40 82 00 0C */ bne lbl_802C5608 /* 802C5600 002C1260 7C 83 23 78 */ mr r3, r4 /* 802C5604 002C1264 4E 80 00 20 */ blr lbl_802C5608: /* 802C5608 002C1268 38 A5 00 03 */ addi r5, r5, 3 /* 802C560C 002C126C 38 84 00 88 */ addi r4, r4, 0x88 /* 802C5610 002C1270 42 00 FF 6C */ bdnz lbl_802C557C /* 802C5614 002C1274 38 60 00 00 */ li r3, 0 /* 802C5618 002C1278 4E 80 00 20 */ blr .global btm_find_dev btm_find_dev: /* 802C561C 002C127C 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802C5620 002C1280 7C 08 02 A6 */ mflr r0 /* 802C5624 002C1284 3C 80 80 57 */ lis r4, lbl_80568B78@ha /* 802C5628 002C1288 90 01 00 24 */ stw r0, 0x24(r1) /* 802C562C 002C128C 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l /* 802C5630 002C1290 93 E1 00 1C */ stw r31, 0x1c(r1) /* 802C5634 002C1294 3B E4 1F 30 */ addi r31, r4, 0x1f30 /* 802C5638 002C1298 93 C1 00 18 */ stw r30, 0x18(r1) /* 802C563C 002C129C 3B C0 00 00 */ li r30, 0 /* 802C5640 002C12A0 93 A1 00 14 */ stw r29, 0x14(r1) /* 802C5644 002C12A4 7C 7D 1B 78 */ mr r29, r3 lbl_802C5648: /* 802C5648 002C12A8 88 1F 00 76 */ lbz r0, 0x76(r31) /* 802C564C 002C12AC 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 /* 802C5650 002C12B0 41 82 00 24 */ beq lbl_802C5674 /* 802C5654 002C12B4 7F A4 EB 78 */ mr r4, r29 /* 802C5658 002C12B8 38 7F 00 1C */ addi r3, r31, 0x1c /* 802C565C 002C12BC 38 A0 00 06 */ li r5, 6 /* 802C5660 002C12C0 4B F0 4D 39 */ bl memcmp /* 802C5664 002C12C4 2C 03 00 00 */ cmpwi r3, 0 /* 802C5668 002C12C8 40 82 00 0C */ bne lbl_802C5674 /* 802C566C 002C12CC 7F E3 FB 78 */ mr r3, r31 /* 802C5670 002C12D0 48 00 00 18 */ b lbl_802C5688 lbl_802C5674: /* 802C5674 002C12D4 3B DE 00 01 */ addi r30, r30, 1 /* 802C5678 002C12D8 3B FF 00 88 */ addi r31, r31, 0x88 /* 802C567C 002C12DC 2C 1E 00 10 */ cmpwi r30, 0x10 /* 802C5680 002C12E0 41 80 FF C8 */ blt lbl_802C5648 /* 802C5684 002C12E4 38 60 00 00 */ li r3, 0 lbl_802C5688: /* 802C5688 002C12E8 80 01 00 24 */ lwz r0, 0x24(r1) /* 802C568C 002C12EC 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 802C5690 002C12F0 83 C1 00 18 */ lwz r30, 0x18(r1) /* 802C5694 002C12F4 83 A1 00 14 */ lwz r29, 0x14(r1) /* 802C5698 002C12F8 7C 08 03 A6 */ mtlr r0 /* 802C569C 002C12FC 38 21 00 20 */ addi r1, r1, 0x20 /* 802C56A0 002C1300 4E 80 00 20 */ blr .global btm_find_oldest_dev btm_find_oldest_dev: /* 802C56A4 002C1304 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802C56A8 002C1308 38 00 00 04 */ li r0, 4 /* 802C56AC 002C130C 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802C56B0 002C1310 38 C0 FF FF */ li r6, -1 /* 802C56B4 002C1314 38 A3 1F 30 */ addi r5, r3, 0x1f30 /* 802C56B8 002C1318 38 E0 00 00 */ li r7, 0 /* 802C56BC 002C131C 7C A3 2B 78 */ mr r3, r5 /* 802C56C0 002C1320 7C 09 03 A6 */ mtctr r0 lbl_802C56C4: /* 802C56C4 002C1324 88 85 00 76 */ lbz r4, 0x76(r5) /* 802C56C8 002C1328 54 80 06 31 */ rlwinm. r0, r4, 0, 0x18, 0x18 /* 802C56CC 002C132C 41 82 00 20 */ beq lbl_802C56EC /* 802C56D0 002C1330 54 80 06 F7 */ rlwinm. r0, r4, 0, 0x1b, 0x1b /* 802C56D4 002C1334 40 82 00 18 */ bne lbl_802C56EC /* 802C56D8 002C1338 80 05 00 0C */ lwz r0, 0xc(r5) /* 802C56DC 002C133C 7C 00 30 40 */ cmplw r0, r6 /* 802C56E0 002C1340 40 80 00 0C */ bge lbl_802C56EC /* 802C56E4 002C1344 7C A3 2B 78 */ mr r3, r5 /* 802C56E8 002C1348 7C 06 03 78 */ mr r6, r0 lbl_802C56EC: /* 802C56EC 002C134C 88 85 00 FE */ lbz r4, 0xfe(r5) /* 802C56F0 002C1350 38 A5 00 88 */ addi r5, r5, 0x88 /* 802C56F4 002C1354 54 80 06 31 */ rlwinm. r0, r4, 0, 0x18, 0x18 /* 802C56F8 002C1358 41 82 00 20 */ beq lbl_802C5718 /* 802C56FC 002C135C 54 80 06 F7 */ rlwinm. r0, r4, 0, 0x1b, 0x1b /* 802C5700 002C1360 40 82 00 18 */ bne lbl_802C5718 /* 802C5704 002C1364 80 05 00 0C */ lwz r0, 0xc(r5) /* 802C5708 002C1368 7C 00 30 40 */ cmplw r0, r6 /* 802C570C 002C136C 40 80 00 0C */ bge lbl_802C5718 /* 802C5710 002C1370 7C A3 2B 78 */ mr r3, r5 /* 802C5714 002C1374 7C 06 03 78 */ mr r6, r0 lbl_802C5718: /* 802C5718 002C1378 88 85 00 FE */ lbz r4, 0xfe(r5) /* 802C571C 002C137C 38 A5 00 88 */ addi r5, r5, 0x88 /* 802C5720 002C1380 54 80 06 31 */ rlwinm. r0, r4, 0, 0x18, 0x18 /* 802C5724 002C1384 41 82 00 20 */ beq lbl_802C5744 /* 802C5728 002C1388 54 80 06 F7 */ rlwinm. r0, r4, 0, 0x1b, 0x1b /* 802C572C 002C138C 40 82 00 18 */ bne lbl_802C5744 /* 802C5730 002C1390 80 05 00 0C */ lwz r0, 0xc(r5) /* 802C5734 002C1394 7C 00 30 40 */ cmplw r0, r6 /* 802C5738 002C1398 40 80 00 0C */ bge lbl_802C5744 /* 802C573C 002C139C 7C A3 2B 78 */ mr r3, r5 /* 802C5740 002C13A0 7C 06 03 78 */ mr r6, r0 lbl_802C5744: /* 802C5744 002C13A4 88 85 00 FE */ lbz r4, 0xfe(r5) /* 802C5748 002C13A8 38 A5 00 88 */ addi r5, r5, 0x88 /* 802C574C 002C13AC 54 80 06 31 */ rlwinm. r0, r4, 0, 0x18, 0x18 /* 802C5750 002C13B0 41 82 00 20 */ beq lbl_802C5770 /* 802C5754 002C13B4 54 80 06 F7 */ rlwinm. r0, r4, 0, 0x1b, 0x1b /* 802C5758 002C13B8 40 82 00 18 */ bne lbl_802C5770 /* 802C575C 002C13BC 80 05 00 0C */ lwz r0, 0xc(r5) /* 802C5760 002C13C0 7C 00 30 40 */ cmplw r0, r6 /* 802C5764 002C13C4 40 80 00 0C */ bge lbl_802C5770 /* 802C5768 002C13C8 7C A3 2B 78 */ mr r3, r5 /* 802C576C 002C13CC 7C 06 03 78 */ mr r6, r0 lbl_802C5770: /* 802C5770 002C13D0 38 E7 00 03 */ addi r7, r7, 3 /* 802C5774 002C13D4 38 A5 00 88 */ addi r5, r5, 0x88 /* 802C5778 002C13D8 42 00 FF 4C */ bdnz lbl_802C56C4 /* 802C577C 002C13DC 3C 06 00 01 */ addis r0, r6, 1 /* 802C5780 002C13E0 28 00 FF FF */ cmplwi r0, 0xffff /* 802C5784 002C13E4 4C 82 00 20 */ bnelr /* 802C5788 002C13E8 3C 80 80 57 */ lis r4, lbl_80568B78@ha /* 802C578C 002C13EC 38 00 00 04 */ li r0, 4 /* 802C5790 002C13F0 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l /* 802C5794 002C13F4 38 A0 00 00 */ li r5, 0 /* 802C5798 002C13F8 38 84 1F 30 */ addi r4, r4, 0x1f30 /* 802C579C 002C13FC 7C 09 03 A6 */ mtctr r0 lbl_802C57A0: /* 802C57A0 002C1400 88 04 00 76 */ lbz r0, 0x76(r4) /* 802C57A4 002C1404 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 /* 802C57A8 002C1408 41 82 00 18 */ beq lbl_802C57C0 /* 802C57AC 002C140C 80 04 00 0C */ lwz r0, 0xc(r4) /* 802C57B0 002C1410 7C 00 30 40 */ cmplw r0, r6 /* 802C57B4 002C1414 40 80 00 0C */ bge lbl_802C57C0 /* 802C57B8 002C1418 7C 83 23 78 */ mr r3, r4 /* 802C57BC 002C141C 7C 06 03 78 */ mr r6, r0 lbl_802C57C0: /* 802C57C0 002C1420 88 04 00 FE */ lbz r0, 0xfe(r4) /* 802C57C4 002C1424 38 84 00 88 */ addi r4, r4, 0x88 /* 802C57C8 002C1428 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 /* 802C57CC 002C142C 41 82 00 18 */ beq lbl_802C57E4 /* 802C57D0 002C1430 80 04 00 0C */ lwz r0, 0xc(r4) /* 802C57D4 002C1434 7C 00 30 40 */ cmplw r0, r6 /* 802C57D8 002C1438 40 80 00 0C */ bge lbl_802C57E4 /* 802C57DC 002C143C 7C 83 23 78 */ mr r3, r4 /* 802C57E0 002C1440 7C 06 03 78 */ mr r6, r0 lbl_802C57E4: /* 802C57E4 002C1444 88 04 00 FE */ lbz r0, 0xfe(r4) /* 802C57E8 002C1448 38 84 00 88 */ addi r4, r4, 0x88 /* 802C57EC 002C144C 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 /* 802C57F0 002C1450 41 82 00 18 */ beq lbl_802C5808 /* 802C57F4 002C1454 80 04 00 0C */ lwz r0, 0xc(r4) /* 802C57F8 002C1458 7C 00 30 40 */ cmplw r0, r6 /* 802C57FC 002C145C 40 80 00 0C */ bge lbl_802C5808 /* 802C5800 002C1460 7C 83 23 78 */ mr r3, r4 /* 802C5804 002C1464 7C 06 03 78 */ mr r6, r0 lbl_802C5808: /* 802C5808 002C1468 88 04 00 FE */ lbz r0, 0xfe(r4) /* 802C580C 002C146C 38 84 00 88 */ addi r4, r4, 0x88 /* 802C5810 002C1470 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 /* 802C5814 002C1474 41 82 00 18 */ beq lbl_802C582C /* 802C5818 002C1478 80 04 00 0C */ lwz r0, 0xc(r4) /* 802C581C 002C147C 7C 00 30 40 */ cmplw r0, r6 /* 802C5820 002C1480 40 80 00 0C */ bge lbl_802C582C /* 802C5824 002C1484 7C 83 23 78 */ mr r3, r4 /* 802C5828 002C1488 7C 06 03 78 */ mr r6, r0 lbl_802C582C: /* 802C582C 002C148C 38 A5 00 03 */ addi r5, r5, 3 /* 802C5830 002C1490 38 84 00 88 */ addi r4, r4, 0x88 /* 802C5834 002C1494 42 00 FF 6C */ bdnz lbl_802C57A0 /* 802C5838 002C1498 4E 80 00 20 */ blr