.include "macros.inc" .section .text, "ax" # 0x80006980 - 0x803E1E60 .global sdp_server_handle_client_req sdp_server_handle_client_req: /* 802E5700 002E1360 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802E5704 002E1364 7C 08 02 A6 */ mflr r0 /* 802E5708 002E1368 90 01 00 24 */ stw r0, 0x24(r1) /* 802E570C 002E136C 93 E1 00 1C */ stw r31, 0x1c(r1) /* 802E5710 002E1370 93 C1 00 18 */ stw r30, 0x18(r1) /* 802E5714 002E1374 93 A1 00 14 */ stw r29, 0x14(r1) /* 802E5718 002E1378 93 81 00 10 */ stw r28, 0x10(r1) /* 802E571C 002E137C 7C 7C 1B 78 */ mr r28, r3 /* 802E5720 002E1380 38 63 00 08 */ addi r3, r3, 8 /* 802E5724 002E1384 A0 A4 00 04 */ lhz r5, 4(r4) /* 802E5728 002E1388 A0 04 00 02 */ lhz r0, 2(r4) /* 802E572C 002E138C 7C A4 2A 14 */ add r5, r4, r5 /* 802E5730 002E1390 38 80 00 05 */ li r4, 5 /* 802E5734 002E1394 3B E5 00 08 */ addi r31, r5, 8 /* 802E5738 002E1398 38 A0 00 1E */ li r5, 0x1e /* 802E573C 002E139C 7F DF 02 14 */ add r30, r31, r0 /* 802E5740 002E13A0 4B FD 7D 9D */ bl btu_start_timer /* 802E5744 002E13A4 88 7F 00 03 */ lbz r3, 3(r31) /* 802E5748 002E13A8 88 1F 00 04 */ lbz r0, 4(r31) /* 802E574C 002E13AC 54 63 40 2E */ slwi r3, r3, 8 /* 802E5750 002E13B0 88 DF 00 01 */ lbz r6, 1(r31) /* 802E5754 002E13B4 7C 03 02 14 */ add r0, r3, r0 /* 802E5758 002E13B8 8B BF 00 00 */ lbz r29, 0(r31) /* 802E575C 002E13BC 88 9F 00 02 */ lbz r4, 2(r31) /* 802E5760 002E13C0 54 05 04 3E */ clrlwi r5, r0, 0x10 /* 802E5764 002E13C4 3B FF 00 01 */ addi r31, r31, 1 /* 802E5768 002E13C8 54 C6 40 2E */ slwi r6, r6, 8 /* 802E576C 002E13CC 7C 7F 2A 14 */ add r3, r31, r5 /* 802E5770 002E13D0 38 03 00 04 */ addi r0, r3, 4 /* 802E5774 002E13D4 7C 66 22 14 */ add r3, r6, r4 /* 802E5778 002E13D8 7C 00 F0 40 */ cmplw r0, r30 /* 802E577C 002E13DC 54 64 04 3E */ clrlwi r4, r3, 0x10 /* 802E5780 002E13E0 40 81 00 18 */ ble lbl_802E5798 /* 802E5784 002E13E4 7F 83 E3 78 */ mr r3, r28 /* 802E5788 002E13E8 38 A0 00 04 */ li r5, 4 /* 802E578C 002E13EC 38 C0 00 00 */ li r6, 0 /* 802E5790 002E13F0 48 00 10 E1 */ bl sdpu_build_n_send_error /* 802E5794 002E13F4 48 00 00 A0 */ b lbl_802E5834 lbl_802E5798: /* 802E5798 002E13F8 2C 1D 00 04 */ cmpwi r29, 4 /* 802E579C 002E13FC 41 82 00 34 */ beq lbl_802E57D0 /* 802E57A0 002E1400 40 80 00 10 */ bge lbl_802E57B0 /* 802E57A4 002E1404 2C 1D 00 02 */ cmpwi r29, 2 /* 802E57A8 002E1408 41 82 00 14 */ beq lbl_802E57BC /* 802E57AC 002E140C 48 00 00 4C */ b lbl_802E57F8 lbl_802E57B0: /* 802E57B0 002E1410 2C 1D 00 06 */ cmpwi r29, 6 /* 802E57B4 002E1414 41 82 00 30 */ beq lbl_802E57E4 /* 802E57B8 002E1418 48 00 00 40 */ b lbl_802E57F8 lbl_802E57BC: /* 802E57BC 002E141C 7F 83 E3 78 */ mr r3, r28 /* 802E57C0 002E1420 7F C7 F3 78 */ mr r7, r30 /* 802E57C4 002E1424 38 DF 00 04 */ addi r6, r31, 4 /* 802E57C8 002E1428 48 00 00 8D */ bl process_service_search /* 802E57CC 002E142C 48 00 00 68 */ b lbl_802E5834 lbl_802E57D0: /* 802E57D0 002E1430 7F 83 E3 78 */ mr r3, r28 /* 802E57D4 002E1434 7F C7 F3 78 */ mr r7, r30 /* 802E57D8 002E1438 38 DF 00 04 */ addi r6, r31, 4 /* 802E57DC 002E143C 48 00 04 89 */ bl process_service_attr_req /* 802E57E0 002E1440 48 00 00 54 */ b lbl_802E5834 lbl_802E57E4: /* 802E57E4 002E1444 7F 83 E3 78 */ mr r3, r28 /* 802E57E8 002E1448 7F C7 F3 78 */ mr r7, r30 /* 802E57EC 002E144C 38 DF 00 04 */ addi r6, r31, 4 /* 802E57F0 002E1450 48 00 08 05 */ bl process_service_search_attr_req /* 802E57F4 002E1454 48 00 00 40 */ b lbl_802E5834 lbl_802E57F8: /* 802E57F8 002E1458 7F 83 E3 78 */ mr r3, r28 /* 802E57FC 002E145C 38 A0 00 03 */ li r5, 3 /* 802E5800 002E1460 38 C0 00 00 */ li r6, 0 /* 802E5804 002E1464 48 00 10 6D */ bl sdpu_build_n_send_error /* 802E5808 002E1468 3C 60 80 57 */ lis r3, lbl_8056C840@ha /* 802E580C 002E146C 38 63 C8 40 */ addi r3, r3, lbl_8056C840@l /* 802E5810 002E1470 88 03 46 30 */ lbz r0, 0x4630(r3) /* 802E5814 002E1474 28 00 00 02 */ cmplwi r0, 2 /* 802E5818 002E1478 41 80 00 1C */ blt lbl_802E5834 /* 802E581C 002E147C 3C 60 00 0A */ lis r3, 0x000A0001@ha /* 802E5820 002E1480 3C 80 80 44 */ lis r4, lbl_80445508@ha /* 802E5824 002E1484 7F A5 EB 78 */ mr r5, r29 /* 802E5828 002E1488 38 63 00 01 */ addi r3, r3, 0x000A0001@l /* 802E582C 002E148C 38 84 55 08 */ addi r4, r4, lbl_80445508@l /* 802E5830 002E1490 4B FD 76 F9 */ bl LogMsg_1 lbl_802E5834: /* 802E5834 002E1494 80 01 00 24 */ lwz r0, 0x24(r1) /* 802E5838 002E1498 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 802E583C 002E149C 83 C1 00 18 */ lwz r30, 0x18(r1) /* 802E5840 002E14A0 83 A1 00 14 */ lwz r29, 0x14(r1) /* 802E5844 002E14A4 83 81 00 10 */ lwz r28, 0x10(r1) /* 802E5848 002E14A8 7C 08 03 A6 */ mtlr r0 /* 802E584C 002E14AC 38 21 00 20 */ addi r1, r1, 0x20 /* 802E5850 002E14B0 4E 80 00 20 */ blr .global process_service_search process_service_search: /* 802E5854 002E14B4 94 21 FE 30 */ stwu r1, -0x1d0(r1) /* 802E5858 002E14B8 7C 08 02 A6 */ mflr r0 /* 802E585C 002E14BC 90 01 01 D4 */ stw r0, 0x1d4(r1) /* 802E5860 002E14C0 39 61 01 D0 */ addi r11, r1, 0x1d0 /* 802E5864 002E14C4 4B EE 18 91 */ bl __save_gpr /* 802E5868 002E14C8 38 00 00 00 */ li r0, 0 /* 802E586C 002E14CC 7C 7E 1B 78 */ mr r30, r3 /* 802E5870 002E14D0 98 01 01 7C */ stb r0, 0x17c(r1) /* 802E5874 002E14D4 7C 91 23 78 */ mr r17, r4 /* 802E5878 002E14D8 7C A4 2B 78 */ mr r4, r5 /* 802E587C 002E14DC 7C C3 33 78 */ mr r3, r6 /* 802E5880 002E14E0 38 A1 00 58 */ addi r5, r1, 0x58 /* 802E5884 002E14E4 3A 60 00 00 */ li r19, 0 /* 802E5888 002E14E8 48 00 11 25 */ bl sdpu_extract_uid_seq /* 802E588C 002E14EC 2C 03 00 00 */ cmpwi r3, 0 /* 802E5890 002E14F0 7C 6F 1B 78 */ mr r15, r3 /* 802E5894 002E14F4 41 82 00 10 */ beq lbl_802E58A4 /* 802E5898 002E14F8 A0 01 00 58 */ lhz r0, 0x58(r1) /* 802E589C 002E14FC 2C 00 00 00 */ cmpwi r0, 0 /* 802E58A0 002E1500 40 82 00 1C */ bne lbl_802E58BC lbl_802E58A4: /* 802E58A4 002E1504 7F C3 F3 78 */ mr r3, r30 /* 802E58A8 002E1508 7E 24 8B 78 */ mr r4, r17 /* 802E58AC 002E150C 38 A0 00 03 */ li r5, 3 /* 802E58B0 002E1510 38 C0 00 00 */ li r6, 0 /* 802E58B4 002E1514 48 00 0F BD */ bl sdpu_build_n_send_error /* 802E58B8 002E1518 48 00 03 94 */ b lbl_802E5C4C lbl_802E58BC: /* 802E58BC 002E151C 88 83 00 00 */ lbz r4, 0(r3) /* 802E58C0 002E1520 88 03 00 01 */ lbz r0, 1(r3) /* 802E58C4 002E1524 54 83 40 2E */ slwi r3, r4, 8 /* 802E58C8 002E1528 7C 03 02 14 */ add r0, r3, r0 /* 802E58CC 002E152C 54 12 04 3E */ clrlwi r18, r0, 0x10 /* 802E58D0 002E1530 28 12 00 14 */ cmplwi r18, 0x14 /* 802E58D4 002E1534 40 81 00 08 */ ble lbl_802E58DC /* 802E58D8 002E1538 3A 40 00 14 */ li r18, 0x14 lbl_802E58DC: /* 802E58DC 002E153C 39 C1 00 08 */ addi r14, r1, 8 /* 802E58E0 002E1540 3A 00 00 00 */ li r16, 0 /* 802E58E4 002E1544 48 00 00 2C */ b lbl_802E5910 lbl_802E58E8: /* 802E58E8 002E1548 7E 63 9B 78 */ mr r3, r19 /* 802E58EC 002E154C 38 81 00 58 */ addi r4, r1, 0x58 /* 802E58F0 002E1550 4B FF D3 61 */ bl sdp_db_service_search /* 802E58F4 002E1554 2C 03 00 00 */ cmpwi r3, 0 /* 802E58F8 002E1558 7C 73 1B 78 */ mr r19, r3 /* 802E58FC 002E155C 41 82 00 20 */ beq lbl_802E591C /* 802E5900 002E1560 80 63 00 00 */ lwz r3, 0(r3) /* 802E5904 002E1564 56 00 13 BA */ rlwinm r0, r16, 2, 0xe, 0x1d /* 802E5908 002E1568 3A 10 00 01 */ addi r16, r16, 1 /* 802E590C 002E156C 7C 6E 01 2E */ stwx r3, r14, r0 lbl_802E5910: /* 802E5910 002E1570 56 00 04 3E */ clrlwi r0, r16, 0x10 /* 802E5914 002E1574 7C 00 90 40 */ cmplw r0, r18 /* 802E5918 002E1578 41 80 FF D0 */ blt lbl_802E58E8 lbl_802E591C: /* 802E591C 002E157C 88 0F 00 02 */ lbz r0, 2(r15) /* 802E5920 002E1580 2C 00 00 00 */ cmpwi r0, 0 /* 802E5924 002E1584 41 82 00 6C */ beq lbl_802E5990 /* 802E5928 002E1588 28 00 00 02 */ cmplwi r0, 2 /* 802E592C 002E158C 38 6F 00 03 */ addi r3, r15, 3 /* 802E5930 002E1590 41 82 00 1C */ beq lbl_802E594C /* 802E5934 002E1594 7F C3 F3 78 */ mr r3, r30 /* 802E5938 002E1598 7E 24 8B 78 */ mr r4, r17 /* 802E593C 002E159C 38 A0 00 05 */ li r5, 5 /* 802E5940 002E15A0 38 C0 00 00 */ li r6, 0 /* 802E5944 002E15A4 48 00 0F 2D */ bl sdpu_build_n_send_error /* 802E5948 002E15A8 48 00 03 04 */ b lbl_802E5C4C lbl_802E594C: /* 802E594C 002E15AC 88 03 00 00 */ lbz r0, 0(r3) /* 802E5950 002E15B0 88 63 00 01 */ lbz r3, 1(r3) /* 802E5954 002E15B4 54 04 40 2E */ slwi r4, r0, 8 /* 802E5958 002E15B8 A0 1E 04 76 */ lhz r0, 0x476(r30) /* 802E595C 002E15BC 7C 64 1A 14 */ add r3, r4, r3 /* 802E5960 002E15C0 54 7F 04 3E */ clrlwi r31, r3, 0x10 /* 802E5964 002E15C4 7C 1F 00 40 */ cmplw r31, r0 /* 802E5968 002E15C8 41 82 00 1C */ beq lbl_802E5984 /* 802E596C 002E15CC 7F C3 F3 78 */ mr r3, r30 /* 802E5970 002E15D0 7E 24 8B 78 */ mr r4, r17 /* 802E5974 002E15D4 38 A0 00 05 */ li r5, 5 /* 802E5978 002E15D8 38 C0 00 00 */ li r6, 0 /* 802E597C 002E15DC 48 00 0E F5 */ bl sdpu_build_n_send_error /* 802E5980 002E15E0 48 00 02 CC */ b lbl_802E5C4C lbl_802E5984: /* 802E5984 002E15E4 7C 1F 80 50 */ subf r0, r31, r16 /* 802E5988 002E15E8 54 04 04 3E */ clrlwi r4, r0, 0x10 /* 802E598C 002E15EC 48 00 00 0C */ b lbl_802E5998 lbl_802E5990: /* 802E5990 002E15F0 7E 04 83 78 */ mr r4, r16 /* 802E5994 002E15F4 3B E0 00 00 */ li r31, 0 lbl_802E5998: /* 802E5998 002E15F8 A0 7E 00 20 */ lhz r3, 0x20(r30) /* 802E599C 002E15FC 54 80 04 3E */ clrlwi r0, r4, 0x10 /* 802E59A0 002E1600 38 63 FF F4 */ addi r3, r3, -12 /* 802E59A4 002E1604 7C 63 16 70 */ srawi r3, r3, 2 /* 802E59A8 002E1608 7C 63 01 94 */ addze r3, r3 /* 802E59AC 002E160C 54 6F 04 3E */ clrlwi r15, r3, 0x10 /* 802E59B0 002E1610 7C 00 78 40 */ cmplw r0, r15 /* 802E59B4 002E1614 41 81 00 0C */ bgt lbl_802E59C0 /* 802E59B8 002E1618 7C 8F 23 78 */ mr r15, r4 /* 802E59BC 002E161C 48 00 00 18 */ b lbl_802E59D4 lbl_802E59C0: /* 802E59C0 002E1620 A0 7E 04 76 */ lhz r3, 0x476(r30) /* 802E59C4 002E1624 38 00 00 01 */ li r0, 1 /* 802E59C8 002E1628 98 01 01 7C */ stb r0, 0x17c(r1) /* 802E59CC 002E162C 7C 03 7A 14 */ add r0, r3, r15 /* 802E59D0 002E1630 B0 1E 04 76 */ sth r0, 0x476(r30) lbl_802E59D4: /* 802E59D4 002E1634 38 60 00 02 */ li r3, 2 /* 802E59D8 002E1638 4B FD 42 75 */ bl GKI_getpoolbuf /* 802E59DC 002E163C 2C 03 00 00 */ cmpwi r3, 0 /* 802E59E0 002E1640 40 82 00 2C */ bne lbl_802E5A0C /* 802E59E4 002E1644 3C 60 80 57 */ lis r3, lbl_8056C840@ha /* 802E59E8 002E1648 38 63 C8 40 */ addi r3, r3, lbl_8056C840@l /* 802E59EC 002E164C 88 03 46 30 */ lbz r0, 0x4630(r3) /* 802E59F0 002E1650 28 00 00 01 */ cmplwi r0, 1 /* 802E59F4 002E1654 41 80 02 58 */ blt lbl_802E5C4C /* 802E59F8 002E1658 3C 80 80 44 */ lis r4, lbl_8044552C@ha /* 802E59FC 002E165C 3C 60 00 0A */ lis r3, 0xa /* 802E5A00 002E1660 38 84 55 2C */ addi r4, r4, lbl_8044552C@l /* 802E5A04 002E1664 4B FD 75 0D */ bl LogMsg_0 /* 802E5A08 002E1668 48 00 02 44 */ b lbl_802E5C4C lbl_802E5A0C: /* 802E5A0C 002E166C 38 00 00 09 */ li r0, 9 /* 802E5A10 002E1670 39 C3 00 11 */ addi r14, r3, 0x11 /* 802E5A14 002E1674 B0 03 00 04 */ sth r0, 4(r3) /* 802E5A18 002E1678 38 80 00 03 */ li r4, 3 /* 802E5A1C 002E167C 55 E0 04 3E */ clrlwi r0, r15, 0x10 /* 802E5A20 002E1680 39 6E 00 03 */ addi r11, r14, 3 /* 802E5A24 002E1684 98 83 00 11 */ stb r4, 0x11(r3) /* 802E5A28 002E1688 7D 5F 02 14 */ add r10, r31, r0 /* 802E5A2C 002E168C 7E 25 46 70 */ srawi r5, r17, 8 /* 802E5A30 002E1690 56 04 C6 3E */ rlwinm r4, r16, 0x18, 0x18, 0x1f /* 802E5A34 002E1694 98 A3 00 12 */ stb r5, 0x12(r3) /* 802E5A38 002E1698 55 E0 C6 3E */ rlwinm r0, r15, 0x18, 0x18, 0x1f /* 802E5A3C 002E169C 7C 1F 50 00 */ cmpw r31, r10 /* 802E5A40 002E16A0 9A 23 00 13 */ stb r17, 0x13(r3) /* 802E5A44 002E16A4 98 83 00 16 */ stb r4, 0x16(r3) /* 802E5A48 002E16A8 9A 03 00 17 */ stb r16, 0x17(r3) /* 802E5A4C 002E16AC 98 03 00 18 */ stb r0, 0x18(r3) /* 802E5A50 002E16B0 91 61 01 80 */ stw r11, 0x180(r1) /* 802E5A54 002E16B4 39 6B 00 06 */ addi r11, r11, 6 /* 802E5A58 002E16B8 99 E3 00 19 */ stb r15, 0x19(r3) /* 802E5A5C 002E16BC 40 80 01 84 */ bge lbl_802E5BE0 /* 802E5A60 002E16C0 55 45 04 3E */ clrlwi r5, r10, 0x10 /* 802E5A64 002E16C4 38 0A FF F8 */ addi r0, r10, -8 /* 802E5A68 002E16C8 7C 9F 28 50 */ subf r4, r31, r5 /* 802E5A6C 002E16CC 54 84 04 3E */ clrlwi r4, r4, 0x10 /* 802E5A70 002E16D0 28 04 00 08 */ cmplwi r4, 8 /* 802E5A74 002E16D4 40 81 01 2C */ ble lbl_802E5BA0 /* 802E5A78 002E16D8 7C 1F 28 40 */ cmplw r31, r5 /* 802E5A7C 002E16DC 41 81 01 24 */ bgt lbl_802E5BA0 /* 802E5A80 002E16E0 48 00 01 14 */ b lbl_802E5B94 lbl_802E5A84: /* 802E5A84 002E16E4 57 E4 13 BA */ rlwinm r4, r31, 2, 0xe, 0x1d /* 802E5A88 002E16E8 3A 21 00 08 */ addi r17, r1, 8 /* 802E5A8C 002E16EC 7D 11 20 6E */ lwzux r8, r17, r4 /* 802E5A90 002E16F0 3B FF 00 08 */ addi r31, r31, 8 /* 802E5A94 002E16F4 55 05 46 3E */ srwi r5, r8, 0x18 /* 802E5A98 002E16F8 83 11 00 04 */ lwz r24, 4(r17) /* 802E5A9C 002E16FC 98 AB 00 00 */ stb r5, 0(r11) /* 802E5AA0 002E1700 55 06 86 3E */ rlwinm r6, r8, 0x10, 0x18, 0x1f /* 802E5AA4 002E1704 80 91 00 08 */ lwz r4, 8(r17) /* 802E5AA8 002E1708 55 07 C6 3E */ rlwinm r7, r8, 0x18, 0x18, 0x1f /* 802E5AAC 002E170C 98 CB 00 01 */ stb r6, 1(r11) /* 802E5AB0 002E1710 57 09 46 3E */ srwi r9, r24, 0x18 /* 802E5AB4 002E1714 80 D1 00 10 */ lwz r6, 0x10(r17) /* 802E5AB8 002E1718 57 12 86 3E */ rlwinm r18, r24, 0x10, 0x18, 0x1f /* 802E5ABC 002E171C 98 EB 00 02 */ stb r7, 2(r11) /* 802E5AC0 002E1720 57 15 C6 3E */ rlwinm r21, r24, 0x18, 0x18, 0x1f /* 802E5AC4 002E1724 80 F1 00 14 */ lwz r7, 0x14(r17) /* 802E5AC8 002E1728 54 9B 46 3E */ srwi r27, r4, 0x18 /* 802E5ACC 002E172C 99 0B 00 03 */ stb r8, 3(r11) /* 802E5AD0 002E1730 54 8C 86 3E */ rlwinm r12, r4, 0x10, 0x18, 0x1f /* 802E5AD4 002E1734 81 11 00 18 */ lwz r8, 0x18(r17) /* 802E5AD8 002E1738 54 8F C6 3E */ rlwinm r15, r4, 0x18, 0x18, 0x1f /* 802E5ADC 002E173C 99 2B 00 04 */ stb r9, 4(r11) /* 802E5AE0 002E1740 54 D3 46 3E */ srwi r19, r6, 0x18 /* 802E5AE4 002E1744 81 31 00 1C */ lwz r9, 0x1c(r17) /* 802E5AE8 002E1748 54 D4 86 3E */ rlwinm r20, r6, 0x10, 0x18, 0x1f /* 802E5AEC 002E174C 9A 4B 00 05 */ stb r18, 5(r11) /* 802E5AF0 002E1750 54 F6 46 3E */ srwi r22, r7, 0x18 /* 802E5AF4 002E1754 80 B1 00 0C */ lwz r5, 0xc(r17) /* 802E5AF8 002E1758 54 F7 86 3E */ rlwinm r23, r7, 0x10, 0x18, 0x1f /* 802E5AFC 002E175C 9A AB 00 06 */ stb r21, 6(r11) /* 802E5B00 002E1760 54 D5 C6 3E */ rlwinm r21, r6, 0x18, 0x18, 0x1f /* 802E5B04 002E1764 54 B0 46 3E */ srwi r16, r5, 0x18 /* 802E5B08 002E1768 54 B1 86 3E */ rlwinm r17, r5, 0x10, 0x18, 0x1f /* 802E5B0C 002E176C 9B 0B 00 07 */ stb r24, 7(r11) /* 802E5B10 002E1770 54 B2 C6 3E */ rlwinm r18, r5, 0x18, 0x18, 0x1f /* 802E5B14 002E1774 54 F8 C6 3E */ rlwinm r24, r7, 0x18, 0x18, 0x1f /* 802E5B18 002E1778 55 19 46 3E */ srwi r25, r8, 0x18 /* 802E5B1C 002E177C 9B 6B 00 08 */ stb r27, 8(r11) /* 802E5B20 002E1780 55 1A 86 3E */ rlwinm r26, r8, 0x10, 0x18, 0x1f /* 802E5B24 002E1784 55 1B C6 3E */ rlwinm r27, r8, 0x18, 0x18, 0x1f /* 802E5B28 002E1788 55 3C 46 3E */ srwi r28, r9, 0x18 /* 802E5B2C 002E178C 99 8B 00 09 */ stb r12, 9(r11) /* 802E5B30 002E1790 55 3D 86 3E */ rlwinm r29, r9, 0x10, 0x18, 0x1f /* 802E5B34 002E1794 55 2C C6 3E */ rlwinm r12, r9, 0x18, 0x18, 0x1f /* 802E5B38 002E1798 99 EB 00 0A */ stb r15, 0xa(r11) /* 802E5B3C 002E179C 98 8B 00 0B */ stb r4, 0xb(r11) /* 802E5B40 002E17A0 9A 0B 00 0C */ stb r16, 0xc(r11) /* 802E5B44 002E17A4 9A 2B 00 0D */ stb r17, 0xd(r11) /* 802E5B48 002E17A8 9A 4B 00 0E */ stb r18, 0xe(r11) /* 802E5B4C 002E17AC 98 AB 00 0F */ stb r5, 0xf(r11) /* 802E5B50 002E17B0 9A 6B 00 10 */ stb r19, 0x10(r11) /* 802E5B54 002E17B4 9A 8B 00 11 */ stb r20, 0x11(r11) /* 802E5B58 002E17B8 9A AB 00 12 */ stb r21, 0x12(r11) /* 802E5B5C 002E17BC 98 CB 00 13 */ stb r6, 0x13(r11) /* 802E5B60 002E17C0 9A CB 00 14 */ stb r22, 0x14(r11) /* 802E5B64 002E17C4 9A EB 00 15 */ stb r23, 0x15(r11) /* 802E5B68 002E17C8 9B 0B 00 16 */ stb r24, 0x16(r11) /* 802E5B6C 002E17CC 98 EB 00 17 */ stb r7, 0x17(r11) /* 802E5B70 002E17D0 9B 2B 00 18 */ stb r25, 0x18(r11) /* 802E5B74 002E17D4 9B 4B 00 19 */ stb r26, 0x19(r11) /* 802E5B78 002E17D8 9B 6B 00 1A */ stb r27, 0x1a(r11) /* 802E5B7C 002E17DC 99 0B 00 1B */ stb r8, 0x1b(r11) /* 802E5B80 002E17E0 9B 8B 00 1C */ stb r28, 0x1c(r11) /* 802E5B84 002E17E4 9B AB 00 1D */ stb r29, 0x1d(r11) /* 802E5B88 002E17E8 99 8B 00 1E */ stb r12, 0x1e(r11) /* 802E5B8C 002E17EC 99 2B 00 1F */ stb r9, 0x1f(r11) /* 802E5B90 002E17F0 39 6B 00 20 */ addi r11, r11, 0x20 lbl_802E5B94: /* 802E5B94 002E17F4 57 E4 04 3E */ clrlwi r4, r31, 0x10 /* 802E5B98 002E17F8 7C 04 00 00 */ cmpw r4, r0 /* 802E5B9C 002E17FC 41 80 FE E8 */ blt lbl_802E5A84 lbl_802E5BA0: /* 802E5BA0 002E1800 38 A1 00 08 */ addi r5, r1, 8 /* 802E5BA4 002E1804 48 00 00 30 */ b lbl_802E5BD4 lbl_802E5BA8: /* 802E5BA8 002E1808 57 E0 13 BA */ rlwinm r0, r31, 2, 0xe, 0x1d /* 802E5BAC 002E180C 3B FF 00 01 */ addi r31, r31, 1 /* 802E5BB0 002E1810 7C C5 00 2E */ lwzx r6, r5, r0 /* 802E5BB4 002E1814 54 C0 46 3E */ srwi r0, r6, 0x18 /* 802E5BB8 002E1818 54 C4 86 3E */ rlwinm r4, r6, 0x10, 0x18, 0x1f /* 802E5BBC 002E181C 98 0B 00 00 */ stb r0, 0(r11) /* 802E5BC0 002E1820 54 C0 C6 3E */ rlwinm r0, r6, 0x18, 0x18, 0x1f /* 802E5BC4 002E1824 98 8B 00 01 */ stb r4, 1(r11) /* 802E5BC8 002E1828 98 0B 00 02 */ stb r0, 2(r11) /* 802E5BCC 002E182C 98 CB 00 03 */ stb r6, 3(r11) /* 802E5BD0 002E1830 39 6B 00 04 */ addi r11, r11, 4 lbl_802E5BD4: /* 802E5BD4 002E1834 57 E0 04 3E */ clrlwi r0, r31, 0x10 /* 802E5BD8 002E1838 7C 00 50 00 */ cmpw r0, r10 /* 802E5BDC 002E183C 41 80 FF CC */ blt lbl_802E5BA8 lbl_802E5BE0: /* 802E5BE0 002E1840 88 01 01 7C */ lbz r0, 0x17c(r1) /* 802E5BE4 002E1844 2C 00 00 00 */ cmpwi r0, 0 /* 802E5BE8 002E1848 41 82 00 28 */ beq lbl_802E5C10 /* 802E5BEC 002E184C 38 00 00 02 */ li r0, 2 /* 802E5BF0 002E1850 98 0B 00 00 */ stb r0, 0(r11) /* 802E5BF4 002E1854 A0 1E 04 76 */ lhz r0, 0x476(r30) /* 802E5BF8 002E1858 7C 00 46 70 */ srawi r0, r0, 8 /* 802E5BFC 002E185C 98 0B 00 01 */ stb r0, 1(r11) /* 802E5C00 002E1860 A0 1E 04 76 */ lhz r0, 0x476(r30) /* 802E5C04 002E1864 98 0B 00 02 */ stb r0, 2(r11) /* 802E5C08 002E1868 39 6B 00 03 */ addi r11, r11, 3 /* 802E5C0C 002E186C 48 00 00 10 */ b lbl_802E5C1C lbl_802E5C10: /* 802E5C10 002E1870 38 00 00 00 */ li r0, 0 /* 802E5C14 002E1874 98 0B 00 00 */ stb r0, 0(r11) /* 802E5C18 002E1878 39 6B 00 01 */ addi r11, r11, 1 lbl_802E5C1C: /* 802E5C1C 002E187C 80 01 01 80 */ lwz r0, 0x180(r1) /* 802E5C20 002E1880 80 A1 01 80 */ lwz r5, 0x180(r1) /* 802E5C24 002E1884 7C 80 58 50 */ subf r4, r0, r11 /* 802E5C28 002E1888 7C 0E 58 50 */ subf r0, r14, r11 /* 802E5C2C 002E188C 38 E4 FF FE */ addi r7, r4, -2 /* 802E5C30 002E1890 54 E6 C6 3E */ rlwinm r6, r7, 0x18, 0x18, 0x1f /* 802E5C34 002E1894 7C 64 1B 78 */ mr r4, r3 /* 802E5C38 002E1898 98 C5 00 00 */ stb r6, 0(r5) /* 802E5C3C 002E189C 98 E5 00 01 */ stb r7, 1(r5) /* 802E5C40 002E18A0 B0 03 00 02 */ sth r0, 2(r3) /* 802E5C44 002E18A4 A0 7E 00 22 */ lhz r3, 0x22(r30) /* 802E5C48 002E18A8 4B FF 04 A9 */ bl L2CA_DataWrite lbl_802E5C4C: /* 802E5C4C 002E18AC 39 61 01 D0 */ addi r11, r1, 0x1d0 /* 802E5C50 002E18B0 4B EE 14 F1 */ bl __restore_gpr /* 802E5C54 002E18B4 80 01 01 D4 */ lwz r0, 0x1d4(r1) /* 802E5C58 002E18B8 7C 08 03 A6 */ mtlr r0 /* 802E5C5C 002E18BC 38 21 01 D0 */ addi r1, r1, 0x1d0 /* 802E5C60 002E18C0 4E 80 00 20 */ blr .global process_service_attr_req process_service_attr_req: /* 802E5C64 002E18C4 94 21 FF 90 */ stwu r1, -0x70(r1) /* 802E5C68 002E18C8 7C 08 02 A6 */ mflr r0 /* 802E5C6C 002E18CC 90 01 00 74 */ stw r0, 0x74(r1) /* 802E5C70 002E18D0 39 61 00 70 */ addi r11, r1, 0x70 /* 802E5C74 002E18D4 4B EE 14 A9 */ bl _savegpr_24 /* 802E5C78 002E18D8 89 26 00 00 */ lbz r9, 0(r6) /* 802E5C7C 002E18DC 38 06 00 04 */ addi r0, r6, 4 /* 802E5C80 002E18E0 89 06 00 01 */ lbz r8, 1(r6) /* 802E5C84 002E18E4 7C 00 38 40 */ cmplw r0, r7 /* 802E5C88 002E18E8 88 06 00 02 */ lbz r0, 2(r6) /* 802E5C8C 002E18EC 55 2A C0 0E */ slwi r10, r9, 0x18 /* 802E5C90 002E18F0 55 08 80 1E */ slwi r8, r8, 0x10 /* 802E5C94 002E18F4 89 26 00 03 */ lbz r9, 3(r6) /* 802E5C98 002E18F8 54 00 40 2E */ slwi r0, r0, 8 /* 802E5C9C 002E18FC 7C 79 1B 78 */ mr r25, r3 /* 802E5CA0 002E1900 7D 0A 42 14 */ add r8, r10, r8 /* 802E5CA4 002E1904 7C 9A 23 78 */ mr r26, r4 /* 802E5CA8 002E1908 7C 09 02 14 */ add r0, r9, r0 /* 802E5CAC 002E190C 7C F8 3B 78 */ mr r24, r7 /* 802E5CB0 002E1910 7F 68 02 14 */ add r27, r8, r0 /* 802E5CB4 002E1914 40 81 00 14 */ ble lbl_802E5CC8 /* 802E5CB8 002E1918 38 A0 00 02 */ li r5, 2 /* 802E5CBC 002E191C 38 C0 00 00 */ li r6, 0 /* 802E5CC0 002E1920 48 00 0B B1 */ bl sdpu_build_n_send_error /* 802E5CC4 002E1924 48 00 03 18 */ b lbl_802E5FDC lbl_802E5CC8: /* 802E5CC8 002E1928 88 86 00 04 */ lbz r4, 4(r6) /* 802E5CCC 002E192C 88 06 00 05 */ lbz r0, 5(r6) /* 802E5CD0 002E1930 54 84 40 2E */ slwi r4, r4, 8 /* 802E5CD4 002E1934 A0 63 00 20 */ lhz r3, 0x20(r3) /* 802E5CD8 002E1938 7C 04 02 14 */ add r0, r4, r0 /* 802E5CDC 002E193C 54 1E 04 3E */ clrlwi r30, r0, 0x10 /* 802E5CE0 002E1940 38 03 FF F6 */ addi r0, r3, -10 /* 802E5CE4 002E1944 7C 1E 00 00 */ cmpw r30, r0 /* 802E5CE8 002E1948 40 81 00 08 */ ble lbl_802E5CF0 /* 802E5CEC 002E194C 54 1E 04 3E */ clrlwi r30, r0, 0x10 lbl_802E5CF0: /* 802E5CF0 002E1950 7C A4 2B 78 */ mr r4, r5 /* 802E5CF4 002E1954 38 66 00 06 */ addi r3, r6, 6 /* 802E5CF8 002E1958 38 A1 00 08 */ addi r5, r1, 8 /* 802E5CFC 002E195C 48 00 10 01 */ bl sdpu_extract_attr_seq /* 802E5D00 002E1960 2C 03 00 00 */ cmpwi r3, 0 /* 802E5D04 002E1964 7C 7C 1B 78 */ mr r28, r3 /* 802E5D08 002E1968 41 82 00 18 */ beq lbl_802E5D20 /* 802E5D0C 002E196C A0 01 00 08 */ lhz r0, 8(r1) /* 802E5D10 002E1970 2C 00 00 00 */ cmpwi r0, 0 /* 802E5D14 002E1974 41 82 00 0C */ beq lbl_802E5D20 /* 802E5D18 002E1978 7C 03 C0 40 */ cmplw r3, r24 /* 802E5D1C 002E197C 40 81 00 1C */ ble lbl_802E5D38 lbl_802E5D20: /* 802E5D20 002E1980 7F 23 CB 78 */ mr r3, r25 /* 802E5D24 002E1984 7F 44 D3 78 */ mr r4, r26 /* 802E5D28 002E1988 38 A0 00 03 */ li r5, 3 /* 802E5D2C 002E198C 38 C0 00 00 */ li r6, 0 /* 802E5D30 002E1990 48 00 0B 41 */ bl sdpu_build_n_send_error /* 802E5D34 002E1994 48 00 02 A8 */ b lbl_802E5FDC lbl_802E5D38: /* 802E5D38 002E1998 7F 63 DB 78 */ mr r3, r27 /* 802E5D3C 002E199C 4B FF D1 29 */ bl sdp_db_find_record /* 802E5D40 002E19A0 2C 03 00 00 */ cmpwi r3, 0 /* 802E5D44 002E19A4 7C 7B 1B 78 */ mr r27, r3 /* 802E5D48 002E19A8 40 82 00 1C */ bne lbl_802E5D64 /* 802E5D4C 002E19AC 7F 23 CB 78 */ mr r3, r25 /* 802E5D50 002E19B0 7F 44 D3 78 */ mr r4, r26 /* 802E5D54 002E19B4 38 A0 00 02 */ li r5, 2 /* 802E5D58 002E19B8 38 C0 00 00 */ li r6, 0 /* 802E5D5C 002E19BC 48 00 0B 15 */ bl sdpu_build_n_send_error /* 802E5D60 002E19C0 48 00 02 7C */ b lbl_802E5FDC lbl_802E5D64: /* 802E5D64 002E19C4 88 1C 00 00 */ lbz r0, 0(r28) /* 802E5D68 002E19C8 2C 00 00 00 */ cmpwi r0, 0 /* 802E5D6C 002E19CC 41 82 00 5C */ beq lbl_802E5DC8 /* 802E5D70 002E19D0 28 00 00 02 */ cmplwi r0, 2 /* 802E5D74 002E19D4 41 82 00 1C */ beq lbl_802E5D90 /* 802E5D78 002E19D8 7F 23 CB 78 */ mr r3, r25 /* 802E5D7C 002E19DC 7F 44 D3 78 */ mr r4, r26 /* 802E5D80 002E19E0 38 A0 00 05 */ li r5, 5 /* 802E5D84 002E19E4 38 C0 00 00 */ li r6, 0 /* 802E5D88 002E19E8 48 00 0A E9 */ bl sdpu_build_n_send_error /* 802E5D8C 002E19EC 48 00 02 50 */ b lbl_802E5FDC lbl_802E5D90: /* 802E5D90 002E19F0 88 1C 00 01 */ lbz r0, 1(r28) /* 802E5D94 002E19F4 88 7C 00 02 */ lbz r3, 2(r28) /* 802E5D98 002E19F8 54 04 40 2E */ slwi r4, r0, 8 /* 802E5D9C 002E19FC A0 19 04 76 */ lhz r0, 0x476(r25) /* 802E5DA0 002E1A00 7C 64 1A 14 */ add r3, r4, r3 /* 802E5DA4 002E1A04 54 63 04 3E */ clrlwi r3, r3, 0x10 /* 802E5DA8 002E1A08 7C 03 00 40 */ cmplw r3, r0 /* 802E5DAC 002E1A0C 41 82 01 14 */ beq lbl_802E5EC0 /* 802E5DB0 002E1A10 7F 23 CB 78 */ mr r3, r25 /* 802E5DB4 002E1A14 7F 44 D3 78 */ mr r4, r26 /* 802E5DB8 002E1A18 38 A0 00 05 */ li r5, 5 /* 802E5DBC 002E1A1C 38 C0 00 00 */ li r6, 0 /* 802E5DC0 002E1A20 48 00 0A B1 */ bl sdpu_build_n_send_error /* 802E5DC4 002E1A24 48 00 02 18 */ b lbl_802E5FDC lbl_802E5DC8: /* 802E5DC8 002E1A28 38 00 00 00 */ li r0, 0 /* 802E5DCC 002E1A2C 3B B9 00 29 */ addi r29, r25, 0x29 /* 802E5DD0 002E1A30 B0 19 04 76 */ sth r0, 0x476(r25) /* 802E5DD4 002E1A34 3B 80 00 00 */ li r28, 0 /* 802E5DD8 002E1A38 48 00 00 84 */ b lbl_802E5E5C lbl_802E5DDC: /* 802E5DDC 002E1A3C 57 80 13 BA */ rlwinm r0, r28, 2, 0xe, 0x1d /* 802E5DE0 002E1A40 3B E1 00 08 */ addi r31, r1, 8 /* 802E5DE4 002E1A44 7F FF 02 14 */ add r31, r31, r0 /* 802E5DE8 002E1A48 7F 63 DB 78 */ mr r3, r27 /* 802E5DEC 002E1A4C A0 9F 00 02 */ lhz r4, 2(r31) /* 802E5DF0 002E1A50 A0 BF 00 04 */ lhz r5, 4(r31) /* 802E5DF4 002E1A54 4B FF D0 CD */ bl sdp_db_find_attr_in_rec /* 802E5DF8 002E1A58 2C 03 00 00 */ cmpwi r3, 0 /* 802E5DFC 002E1A5C 7C 78 1B 78 */ mr r24, r3 /* 802E5E00 002E1A60 41 82 00 58 */ beq lbl_802E5E58 /* 802E5E04 002E1A64 38 19 00 26 */ addi r0, r25, 0x26 /* 802E5E08 002E1A68 80 83 00 00 */ lwz r4, 0(r3) /* 802E5E0C 002E1A6C 7C 00 E8 50 */ subf r0, r0, r29 /* 802E5E10 002E1A70 54 00 04 3E */ clrlwi r0, r0, 0x10 /* 802E5E14 002E1A74 20 00 03 E8 */ subfic r0, r0, 0x3e8 /* 802E5E18 002E1A78 54 03 04 3E */ clrlwi r3, r0, 0x10 /* 802E5E1C 002E1A7C 38 03 FF FA */ addi r0, r3, -6 /* 802E5E20 002E1A80 7C 04 00 40 */ cmplw r4, r0 /* 802E5E24 002E1A84 41 81 00 48 */ bgt lbl_802E5E6C /* 802E5E28 002E1A88 7F A3 EB 78 */ mr r3, r29 /* 802E5E2C 002E1A8C 7F 04 C3 78 */ mr r4, r24 /* 802E5E30 002E1A90 48 00 08 ED */ bl sdpu_build_attrib_entry /* 802E5E34 002E1A94 A0 9F 00 02 */ lhz r4, 2(r31) /* 802E5E38 002E1A98 7C 7D 1B 78 */ mr r29, r3 /* 802E5E3C 002E1A9C A0 1F 00 04 */ lhz r0, 4(r31) /* 802E5E40 002E1AA0 7C 04 00 40 */ cmplw r4, r0 /* 802E5E44 002E1AA4 41 82 00 14 */ beq lbl_802E5E58 /* 802E5E48 002E1AA8 A0 78 00 08 */ lhz r3, 8(r24) /* 802E5E4C 002E1AAC 3B 9C FF FF */ addi r28, r28, -1 /* 802E5E50 002E1AB0 38 03 00 01 */ addi r0, r3, 1 /* 802E5E54 002E1AB4 B0 1F 00 02 */ sth r0, 2(r31) lbl_802E5E58: /* 802E5E58 002E1AB8 3B 9C 00 01 */ addi r28, r28, 1 lbl_802E5E5C: /* 802E5E5C 002E1ABC A0 01 00 08 */ lhz r0, 8(r1) /* 802E5E60 002E1AC0 57 83 04 3E */ clrlwi r3, r28, 0x10 /* 802E5E64 002E1AC4 7C 03 00 40 */ cmplw r3, r0 /* 802E5E68 002E1AC8 41 80 FF 74 */ blt lbl_802E5DDC lbl_802E5E6C: /* 802E5E6C 002E1ACC 38 19 00 26 */ addi r0, r25, 0x26 /* 802E5E70 002E1AD0 7C 00 E8 50 */ subf r0, r0, r29 /* 802E5E74 002E1AD4 54 04 04 3E */ clrlwi r4, r0, 0x10 /* 802E5E78 002E1AD8 B0 19 00 24 */ sth r0, 0x24(r25) /* 802E5E7C 002E1ADC 28 04 00 FF */ cmplwi r4, 0xff /* 802E5E80 002E1AE0 40 81 00 20 */ ble lbl_802E5EA0 /* 802E5E84 002E1AE4 38 64 FF FD */ addi r3, r4, -3 /* 802E5E88 002E1AE8 38 80 00 36 */ li r4, 0x36 /* 802E5E8C 002E1AEC 7C 60 46 70 */ srawi r0, r3, 8 /* 802E5E90 002E1AF0 98 99 00 26 */ stb r4, 0x26(r25) /* 802E5E94 002E1AF4 98 19 00 27 */ stb r0, 0x27(r25) /* 802E5E98 002E1AF8 98 79 00 28 */ stb r3, 0x28(r25) /* 802E5E9C 002E1AFC 48 00 00 24 */ b lbl_802E5EC0 lbl_802E5EA0: /* 802E5EA0 002E1B00 38 64 FF FD */ addi r3, r4, -3 /* 802E5EA4 002E1B04 38 04 FF FF */ addi r0, r4, -1 /* 802E5EA8 002E1B08 38 A0 00 01 */ li r5, 1 /* 802E5EAC 002E1B0C 38 80 00 35 */ li r4, 0x35 /* 802E5EB0 002E1B10 B0 B9 04 76 */ sth r5, 0x476(r25) /* 802E5EB4 002E1B14 98 99 00 27 */ stb r4, 0x27(r25) /* 802E5EB8 002E1B18 98 79 00 28 */ stb r3, 0x28(r25) /* 802E5EBC 002E1B1C B0 19 00 24 */ sth r0, 0x24(r25) lbl_802E5EC0: /* 802E5EC0 002E1B20 38 60 00 02 */ li r3, 2 /* 802E5EC4 002E1B24 4B FD 3D 89 */ bl GKI_getpoolbuf /* 802E5EC8 002E1B28 2C 03 00 00 */ cmpwi r3, 0 /* 802E5ECC 002E1B2C 7C 7B 1B 78 */ mr r27, r3 /* 802E5ED0 002E1B30 40 82 00 2C */ bne lbl_802E5EFC /* 802E5ED4 002E1B34 3C 60 80 57 */ lis r3, lbl_8056C840@ha /* 802E5ED8 002E1B38 38 63 C8 40 */ addi r3, r3, lbl_8056C840@l /* 802E5EDC 002E1B3C 88 03 46 30 */ lbz r0, 0x4630(r3) /* 802E5EE0 002E1B40 28 00 00 01 */ cmplwi r0, 1 /* 802E5EE4 002E1B44 41 80 00 F8 */ blt lbl_802E5FDC /* 802E5EE8 002E1B48 3C 80 80 44 */ lis r4, lbl_8044552C@ha /* 802E5EEC 002E1B4C 3C 60 00 0A */ lis r3, 0xa /* 802E5EF0 002E1B50 38 84 55 2C */ addi r4, r4, lbl_8044552C@l /* 802E5EF4 002E1B54 4B FD 70 1D */ bl LogMsg_0 /* 802E5EF8 002E1B58 48 00 00 E4 */ b lbl_802E5FDC lbl_802E5EFC: /* 802E5EFC 002E1B5C 38 00 00 09 */ li r0, 9 /* 802E5F00 002E1B60 3B A3 00 11 */ addi r29, r3, 0x11 /* 802E5F04 002E1B64 B0 03 00 04 */ sth r0, 4(r3) /* 802E5F08 002E1B68 38 60 00 05 */ li r3, 5 /* 802E5F0C 002E1B6C 3B FD 00 03 */ addi r31, r29, 3 /* 802E5F10 002E1B70 57 40 C6 3E */ rlwinm r0, r26, 0x18, 0x18, 0x1f /* 802E5F14 002E1B74 98 7D 00 00 */ stb r3, 0(r29) /* 802E5F18 002E1B78 7F FC FB 78 */ mr r28, r31 /* 802E5F1C 002E1B7C 98 1D 00 01 */ stb r0, 1(r29) /* 802E5F20 002E1B80 9B 5D 00 02 */ stb r26, 2(r29) /* 802E5F24 002E1B84 A0 19 00 24 */ lhz r0, 0x24(r25) /* 802E5F28 002E1B88 7C 00 F0 40 */ cmplw r0, r30 /* 802E5F2C 002E1B8C 41 81 00 08 */ bgt lbl_802E5F34 /* 802E5F30 002E1B90 7C 1E 03 78 */ mr r30, r0 lbl_802E5F34: /* 802E5F34 002E1B94 57 C0 C6 3E */ rlwinm r0, r30, 0x18, 0x18, 0x1f /* 802E5F38 002E1B98 57 C5 04 3E */ clrlwi r5, r30, 0x10 /* 802E5F3C 002E1B9C 98 1F 00 02 */ stb r0, 2(r31) /* 802E5F40 002E1BA0 9B DF 00 03 */ stb r30, 3(r31) /* 802E5F44 002E1BA4 3B FF 00 04 */ addi r31, r31, 4 /* 802E5F48 002E1BA8 7F E3 FB 78 */ mr r3, r31 /* 802E5F4C 002E1BAC A0 19 04 76 */ lhz r0, 0x476(r25) /* 802E5F50 002E1BB0 7C 99 02 14 */ add r4, r25, r0 /* 802E5F54 002E1BB4 38 84 00 26 */ addi r4, r4, 0x26 /* 802E5F58 002E1BB8 4B D1 E0 A9 */ bl memcpy /* 802E5F5C 002E1BBC A0 19 00 24 */ lhz r0, 0x24(r25) /* 802E5F60 002E1BC0 57 C3 04 3E */ clrlwi r3, r30, 0x10 /* 802E5F64 002E1BC4 7F FF 1A 14 */ add r31, r31, r3 /* 802E5F68 002E1BC8 A0 99 04 76 */ lhz r4, 0x476(r25) /* 802E5F6C 002E1BCC 7C 7E 00 50 */ subf r3, r30, r0 /* 802E5F70 002E1BD0 54 60 04 3F */ clrlwi. r0, r3, 0x10 /* 802E5F74 002E1BD4 B0 79 00 24 */ sth r3, 0x24(r25) /* 802E5F78 002E1BD8 7C 04 F2 14 */ add r0, r4, r30 /* 802E5F7C 002E1BDC B0 19 04 76 */ sth r0, 0x476(r25) /* 802E5F80 002E1BE0 41 82 00 28 */ beq lbl_802E5FA8 /* 802E5F84 002E1BE4 38 00 00 02 */ li r0, 2 /* 802E5F88 002E1BE8 98 1F 00 00 */ stb r0, 0(r31) /* 802E5F8C 002E1BEC A0 19 04 76 */ lhz r0, 0x476(r25) /* 802E5F90 002E1BF0 7C 00 46 70 */ srawi r0, r0, 8 /* 802E5F94 002E1BF4 98 1F 00 01 */ stb r0, 1(r31) /* 802E5F98 002E1BF8 A0 19 04 76 */ lhz r0, 0x476(r25) /* 802E5F9C 002E1BFC 98 1F 00 02 */ stb r0, 2(r31) /* 802E5FA0 002E1C00 3B FF 00 03 */ addi r31, r31, 3 /* 802E5FA4 002E1C04 48 00 00 10 */ b lbl_802E5FB4 lbl_802E5FA8: /* 802E5FA8 002E1C08 38 00 00 00 */ li r0, 0 /* 802E5FAC 002E1C0C 98 1F 00 00 */ stb r0, 0(r31) /* 802E5FB0 002E1C10 3B FF 00 01 */ addi r31, r31, 1 lbl_802E5FB4: /* 802E5FB4 002E1C14 7C 7C F8 50 */ subf r3, r28, r31 /* 802E5FB8 002E1C18 7C 1D F8 50 */ subf r0, r29, r31 /* 802E5FBC 002E1C1C 38 A3 FF FE */ addi r5, r3, -2 /* 802E5FC0 002E1C20 7F 64 DB 78 */ mr r4, r27 /* 802E5FC4 002E1C24 54 A3 C6 3E */ rlwinm r3, r5, 0x18, 0x18, 0x1f /* 802E5FC8 002E1C28 98 7C 00 00 */ stb r3, 0(r28) /* 802E5FCC 002E1C2C 98 BC 00 01 */ stb r5, 1(r28) /* 802E5FD0 002E1C30 B0 1B 00 02 */ sth r0, 2(r27) /* 802E5FD4 002E1C34 A0 79 00 22 */ lhz r3, 0x22(r25) /* 802E5FD8 002E1C38 4B FF 01 19 */ bl L2CA_DataWrite lbl_802E5FDC: /* 802E5FDC 002E1C3C 39 61 00 70 */ addi r11, r1, 0x70 /* 802E5FE0 002E1C40 4B EE 11 89 */ bl _restgpr_24 /* 802E5FE4 002E1C44 80 01 00 74 */ lwz r0, 0x74(r1) /* 802E5FE8 002E1C48 7C 08 03 A6 */ mtlr r0 /* 802E5FEC 002E1C4C 38 21 00 70 */ addi r1, r1, 0x70 /* 802E5FF0 002E1C50 4E 80 00 20 */ blr .global process_service_search_attr_req process_service_search_attr_req: /* 802E5FF4 002E1C54 94 21 FE 10 */ stwu r1, -0x1f0(r1) /* 802E5FF8 002E1C58 7C 08 02 A6 */ mflr r0 /* 802E5FFC 002E1C5C 90 01 01 F4 */ stw r0, 0x1f4(r1) /* 802E6000 002E1C60 39 61 01 F0 */ addi r11, r1, 0x1f0 /* 802E6004 002E1C64 4B EE 11 09 */ bl _savegpr_20 /* 802E6008 002E1C68 7C B4 2B 78 */ mr r20, r5 /* 802E600C 002E1C6C 7C 75 1B 78 */ mr r21, r3 /* 802E6010 002E1C70 7C 96 23 78 */ mr r22, r4 /* 802E6014 002E1C74 7C C3 33 78 */ mr r3, r6 /* 802E6018 002E1C78 7E 84 A3 78 */ mr r4, r20 /* 802E601C 002E1C7C 38 A1 00 90 */ addi r5, r1, 0x90 /* 802E6020 002E1C80 3B 00 00 00 */ li r24, 0 /* 802E6024 002E1C84 48 00 09 89 */ bl sdpu_extract_uid_seq /* 802E6028 002E1C88 2C 03 00 00 */ cmpwi r3, 0 /* 802E602C 002E1C8C 41 82 00 10 */ beq lbl_802E603C /* 802E6030 002E1C90 A0 01 00 90 */ lhz r0, 0x90(r1) /* 802E6034 002E1C94 2C 00 00 00 */ cmpwi r0, 0 /* 802E6038 002E1C98 40 82 00 1C */ bne lbl_802E6054 lbl_802E603C: /* 802E603C 002E1C9C 7E A3 AB 78 */ mr r3, r21 /* 802E6040 002E1CA0 7E C4 B3 78 */ mr r4, r22 /* 802E6044 002E1CA4 38 A0 00 03 */ li r5, 3 /* 802E6048 002E1CA8 38 C0 00 00 */ li r6, 0 /* 802E604C 002E1CAC 48 00 08 25 */ bl sdpu_build_n_send_error /* 802E6050 002E1CB0 48 00 03 A8 */ b lbl_802E63F8 lbl_802E6054: /* 802E6054 002E1CB4 88 83 00 00 */ lbz r4, 0(r3) /* 802E6058 002E1CB8 88 03 00 01 */ lbz r0, 1(r3) /* 802E605C 002E1CBC 54 85 40 2E */ slwi r5, r4, 8 /* 802E6060 002E1CC0 A0 95 00 20 */ lhz r4, 0x20(r21) /* 802E6064 002E1CC4 7C 05 02 14 */ add r0, r5, r0 /* 802E6068 002E1CC8 54 1D 04 3E */ clrlwi r29, r0, 0x10 /* 802E606C 002E1CCC 38 04 FF F6 */ addi r0, r4, -10 /* 802E6070 002E1CD0 7C 1D 00 00 */ cmpw r29, r0 /* 802E6074 002E1CD4 40 81 00 08 */ ble lbl_802E607C /* 802E6078 002E1CD8 54 1D 04 3E */ clrlwi r29, r0, 0x10 lbl_802E607C: /* 802E607C 002E1CDC 7E 84 A3 78 */ mr r4, r20 /* 802E6080 002E1CE0 38 A1 00 4C */ addi r5, r1, 0x4c /* 802E6084 002E1CE4 38 63 00 02 */ addi r3, r3, 2 /* 802E6088 002E1CE8 48 00 0C 75 */ bl sdpu_extract_attr_seq /* 802E608C 002E1CEC 2C 03 00 00 */ cmpwi r3, 0 /* 802E6090 002E1CF0 41 82 00 10 */ beq lbl_802E60A0 /* 802E6094 002E1CF4 A0 01 00 4C */ lhz r0, 0x4c(r1) /* 802E6098 002E1CF8 2C 00 00 00 */ cmpwi r0, 0 /* 802E609C 002E1CFC 40 82 00 1C */ bne lbl_802E60B8 lbl_802E60A0: /* 802E60A0 002E1D00 7E A3 AB 78 */ mr r3, r21 /* 802E60A4 002E1D04 7E C4 B3 78 */ mr r4, r22 /* 802E60A8 002E1D08 38 A0 00 03 */ li r5, 3 /* 802E60AC 002E1D0C 38 C0 00 00 */ li r6, 0 /* 802E60B0 002E1D10 48 00 07 C1 */ bl sdpu_build_n_send_error /* 802E60B4 002E1D14 48 00 03 44 */ b lbl_802E63F8 lbl_802E60B8: /* 802E60B8 002E1D18 38 00 00 08 */ li r0, 8 /* 802E60BC 002E1D1C 38 C1 00 04 */ addi r6, r1, 4 /* 802E60C0 002E1D20 38 A1 00 48 */ addi r5, r1, 0x48 /* 802E60C4 002E1D24 7C 09 03 A6 */ mtctr r0 lbl_802E60C8: /* 802E60C8 002E1D28 80 85 00 04 */ lwz r4, 4(r5) /* 802E60CC 002E1D2C 84 05 00 08 */ lwzu r0, 8(r5) /* 802E60D0 002E1D30 90 86 00 04 */ stw r4, 4(r6) /* 802E60D4 002E1D34 94 06 00 08 */ stwu r0, 8(r6) /* 802E60D8 002E1D38 42 00 FF F0 */ bdnz lbl_802E60C8 /* 802E60DC 002E1D3C A0 05 00 04 */ lhz r0, 4(r5) /* 802E60E0 002E1D40 B0 06 00 04 */ sth r0, 4(r6) /* 802E60E4 002E1D44 88 03 00 00 */ lbz r0, 0(r3) /* 802E60E8 002E1D48 2C 00 00 00 */ cmpwi r0, 0 /* 802E60EC 002E1D4C 41 82 00 5C */ beq lbl_802E6148 /* 802E60F0 002E1D50 28 00 00 02 */ cmplwi r0, 2 /* 802E60F4 002E1D54 41 82 00 1C */ beq lbl_802E6110 /* 802E60F8 002E1D58 7E A3 AB 78 */ mr r3, r21 /* 802E60FC 002E1D5C 7E C4 B3 78 */ mr r4, r22 /* 802E6100 002E1D60 38 A0 00 05 */ li r5, 5 /* 802E6104 002E1D64 38 C0 00 00 */ li r6, 0 /* 802E6108 002E1D68 48 00 07 69 */ bl sdpu_build_n_send_error /* 802E610C 002E1D6C 48 00 02 EC */ b lbl_802E63F8 lbl_802E6110: /* 802E6110 002E1D70 88 03 00 01 */ lbz r0, 1(r3) /* 802E6114 002E1D74 88 63 00 02 */ lbz r3, 2(r3) /* 802E6118 002E1D78 54 04 40 2E */ slwi r4, r0, 8 /* 802E611C 002E1D7C A0 15 04 76 */ lhz r0, 0x476(r21) /* 802E6120 002E1D80 7C 64 1A 14 */ add r3, r4, r3 /* 802E6124 002E1D84 54 63 04 3E */ clrlwi r3, r3, 0x10 /* 802E6128 002E1D88 7C 03 00 40 */ cmplw r3, r0 /* 802E612C 002E1D8C 41 82 01 B0 */ beq lbl_802E62DC /* 802E6130 002E1D90 7E A3 AB 78 */ mr r3, r21 /* 802E6134 002E1D94 7E C4 B3 78 */ mr r4, r22 /* 802E6138 002E1D98 38 A0 00 05 */ li r5, 5 /* 802E613C 002E1D9C 38 C0 00 00 */ li r6, 0 /* 802E6140 002E1DA0 48 00 07 31 */ bl sdpu_build_n_send_error /* 802E6144 002E1DA4 48 00 02 B4 */ b lbl_802E63F8 lbl_802E6148: /* 802E6148 002E1DA8 38 00 00 00 */ li r0, 0 /* 802E614C 002E1DAC 3B 95 00 29 */ addi r28, r21, 0x29 /* 802E6150 002E1DB0 B0 15 04 76 */ sth r0, 0x476(r21) /* 802E6154 002E1DB4 38 81 00 90 */ addi r4, r1, 0x90 /* 802E6158 002E1DB8 38 60 00 00 */ li r3, 0 /* 802E615C 002E1DBC 4B FF CA F5 */ bl sdp_db_service_search /* 802E6160 002E1DC0 7C 7A 1B 78 */ mr r26, r3 /* 802E6164 002E1DC4 3B E0 00 08 */ li r31, 8 /* 802E6168 002E1DC8 3A 80 00 36 */ li r20, 0x36 /* 802E616C 002E1DCC 48 00 01 14 */ b lbl_802E6280 lbl_802E6170: /* 802E6170 002E1DD0 38 A1 00 48 */ addi r5, r1, 0x48 /* 802E6174 002E1DD4 38 81 00 04 */ addi r4, r1, 4 /* 802E6178 002E1DD8 7F E9 03 A6 */ mtctr r31 lbl_802E617C: /* 802E617C 002E1DDC 80 64 00 04 */ lwz r3, 4(r4) /* 802E6180 002E1DE0 84 04 00 08 */ lwzu r0, 8(r4) /* 802E6184 002E1DE4 90 65 00 04 */ stw r3, 4(r5) /* 802E6188 002E1DE8 94 05 00 08 */ stwu r0, 8(r5) /* 802E618C 002E1DEC 42 00 FF F0 */ bdnz lbl_802E617C /* 802E6190 002E1DF0 A0 04 00 04 */ lhz r0, 4(r4) /* 802E6194 002E1DF4 7F 97 E3 78 */ mr r23, r28 /* 802E6198 002E1DF8 3B 60 00 00 */ li r27, 0 /* 802E619C 002E1DFC 3B 9C 00 03 */ addi r28, r28, 3 /* 802E61A0 002E1E00 B0 05 00 04 */ sth r0, 4(r5) /* 802E61A4 002E1E04 48 00 00 8C */ b lbl_802E6230 lbl_802E61A8: /* 802E61A8 002E1E08 57 60 13 BA */ rlwinm r0, r27, 2, 0xe, 0x1d /* 802E61AC 002E1E0C 3B C1 00 4C */ addi r30, r1, 0x4c /* 802E61B0 002E1E10 7F DE 02 14 */ add r30, r30, r0 /* 802E61B4 002E1E14 7F 43 D3 78 */ mr r3, r26 /* 802E61B8 002E1E18 A0 9E 00 02 */ lhz r4, 2(r30) /* 802E61BC 002E1E1C A0 BE 00 04 */ lhz r5, 4(r30) /* 802E61C0 002E1E20 4B FF CD 01 */ bl sdp_db_find_attr_in_rec /* 802E61C4 002E1E24 2C 03 00 00 */ cmpwi r3, 0 /* 802E61C8 002E1E28 7C 79 1B 78 */ mr r25, r3 /* 802E61CC 002E1E2C 41 82 00 60 */ beq lbl_802E622C /* 802E61D0 002E1E30 38 15 00 26 */ addi r0, r21, 0x26 /* 802E61D4 002E1E34 80 83 00 00 */ lwz r4, 0(r3) /* 802E61D8 002E1E38 7C 00 E0 50 */ subf r0, r0, r28 /* 802E61DC 002E1E3C 54 00 04 3E */ clrlwi r0, r0, 0x10 /* 802E61E0 002E1E40 20 00 03 E8 */ subfic r0, r0, 0x3e8 /* 802E61E4 002E1E44 54 03 04 3E */ clrlwi r3, r0, 0x10 /* 802E61E8 002E1E48 38 03 FF FA */ addi r0, r3, -6 /* 802E61EC 002E1E4C 7C 04 00 40 */ cmplw r4, r0 /* 802E61F0 002E1E50 40 81 00 0C */ ble lbl_802E61FC /* 802E61F4 002E1E54 3B 00 00 01 */ li r24, 1 /* 802E61F8 002E1E58 48 00 00 48 */ b lbl_802E6240 lbl_802E61FC: /* 802E61FC 002E1E5C 7F 83 E3 78 */ mr r3, r28 /* 802E6200 002E1E60 7F 24 CB 78 */ mr r4, r25 /* 802E6204 002E1E64 48 00 05 19 */ bl sdpu_build_attrib_entry /* 802E6208 002E1E68 A0 9E 00 02 */ lhz r4, 2(r30) /* 802E620C 002E1E6C 7C 7C 1B 78 */ mr r28, r3 /* 802E6210 002E1E70 A0 1E 00 04 */ lhz r0, 4(r30) /* 802E6214 002E1E74 7C 04 00 40 */ cmplw r4, r0 /* 802E6218 002E1E78 41 82 00 14 */ beq lbl_802E622C /* 802E621C 002E1E7C A0 79 00 08 */ lhz r3, 8(r25) /* 802E6220 002E1E80 3B 7B FF FF */ addi r27, r27, -1 /* 802E6224 002E1E84 38 03 00 01 */ addi r0, r3, 1 /* 802E6228 002E1E88 B0 1E 00 02 */ sth r0, 2(r30) lbl_802E622C: /* 802E622C 002E1E8C 3B 7B 00 01 */ addi r27, r27, 1 lbl_802E6230: /* 802E6230 002E1E90 A0 01 00 4C */ lhz r0, 0x4c(r1) /* 802E6234 002E1E94 57 63 04 3E */ clrlwi r3, r27, 0x10 /* 802E6238 002E1E98 7C 03 00 40 */ cmplw r3, r0 /* 802E623C 002E1E9C 41 80 FF 6C */ blt lbl_802E61A8 lbl_802E6240: /* 802E6240 002E1EA0 2C 18 00 00 */ cmpwi r24, 0 /* 802E6244 002E1EA4 40 82 00 44 */ bne lbl_802E6288 /* 802E6248 002E1EA8 7C 77 E0 50 */ subf r3, r23, r28 /* 802E624C 002E1EAC 38 03 FF FD */ addi r0, r3, -3 /* 802E6250 002E1EB0 54 03 04 3F */ clrlwi. r3, r0, 0x10 /* 802E6254 002E1EB4 41 82 00 18 */ beq lbl_802E626C /* 802E6258 002E1EB8 9A 97 00 00 */ stb r20, 0(r23) /* 802E625C 002E1EBC 54 60 C6 3E */ rlwinm r0, r3, 0x18, 0x18, 0x1f /* 802E6260 002E1EC0 98 17 00 01 */ stb r0, 1(r23) /* 802E6264 002E1EC4 98 77 00 02 */ stb r3, 2(r23) /* 802E6268 002E1EC8 48 00 00 08 */ b lbl_802E6270 lbl_802E626C: /* 802E626C 002E1ECC 7E FC BB 78 */ mr r28, r23 lbl_802E6270: /* 802E6270 002E1ED0 7F 43 D3 78 */ mr r3, r26 /* 802E6274 002E1ED4 38 81 00 90 */ addi r4, r1, 0x90 /* 802E6278 002E1ED8 4B FF C9 D9 */ bl sdp_db_service_search /* 802E627C 002E1EDC 7C 7A 1B 78 */ mr r26, r3 lbl_802E6280: /* 802E6280 002E1EE0 2C 1A 00 00 */ cmpwi r26, 0 /* 802E6284 002E1EE4 40 82 FE EC */ bne lbl_802E6170 lbl_802E6288: /* 802E6288 002E1EE8 38 15 00 26 */ addi r0, r21, 0x26 /* 802E628C 002E1EEC 7C 00 E0 50 */ subf r0, r0, r28 /* 802E6290 002E1EF0 54 04 04 3E */ clrlwi r4, r0, 0x10 /* 802E6294 002E1EF4 B0 15 00 24 */ sth r0, 0x24(r21) /* 802E6298 002E1EF8 28 04 00 FF */ cmplwi r4, 0xff /* 802E629C 002E1EFC 40 81 00 20 */ ble lbl_802E62BC /* 802E62A0 002E1F00 38 64 FF FD */ addi r3, r4, -3 /* 802E62A4 002E1F04 38 80 00 36 */ li r4, 0x36 /* 802E62A8 002E1F08 7C 60 46 70 */ srawi r0, r3, 8 /* 802E62AC 002E1F0C 98 95 00 26 */ stb r4, 0x26(r21) /* 802E62B0 002E1F10 98 15 00 27 */ stb r0, 0x27(r21) /* 802E62B4 002E1F14 98 75 00 28 */ stb r3, 0x28(r21) /* 802E62B8 002E1F18 48 00 00 24 */ b lbl_802E62DC lbl_802E62BC: /* 802E62BC 002E1F1C 38 64 FF FD */ addi r3, r4, -3 /* 802E62C0 002E1F20 38 04 FF FF */ addi r0, r4, -1 /* 802E62C4 002E1F24 38 A0 00 01 */ li r5, 1 /* 802E62C8 002E1F28 38 80 00 35 */ li r4, 0x35 /* 802E62CC 002E1F2C B0 B5 04 76 */ sth r5, 0x476(r21) /* 802E62D0 002E1F30 98 95 00 27 */ stb r4, 0x27(r21) /* 802E62D4 002E1F34 98 75 00 28 */ stb r3, 0x28(r21) /* 802E62D8 002E1F38 B0 15 00 24 */ sth r0, 0x24(r21) lbl_802E62DC: /* 802E62DC 002E1F3C 38 60 00 02 */ li r3, 2 /* 802E62E0 002E1F40 4B FD 39 6D */ bl GKI_getpoolbuf /* 802E62E4 002E1F44 2C 03 00 00 */ cmpwi r3, 0 /* 802E62E8 002E1F48 7C 79 1B 78 */ mr r25, r3 /* 802E62EC 002E1F4C 40 82 00 2C */ bne lbl_802E6318 /* 802E62F0 002E1F50 3C 60 80 57 */ lis r3, lbl_8056C840@ha /* 802E62F4 002E1F54 38 63 C8 40 */ addi r3, r3, lbl_8056C840@l /* 802E62F8 002E1F58 88 03 46 30 */ lbz r0, 0x4630(r3) /* 802E62FC 002E1F5C 28 00 00 01 */ cmplwi r0, 1 /* 802E6300 002E1F60 41 80 00 F8 */ blt lbl_802E63F8 /* 802E6304 002E1F64 3C 80 80 44 */ lis r4, lbl_8044552C@ha /* 802E6308 002E1F68 3C 60 00 0A */ lis r3, 0xa /* 802E630C 002E1F6C 38 84 55 2C */ addi r4, r4, lbl_8044552C@l /* 802E6310 002E1F70 4B FD 6C 01 */ bl LogMsg_0 /* 802E6314 002E1F74 48 00 00 E4 */ b lbl_802E63F8 lbl_802E6318: /* 802E6318 002E1F78 38 00 00 09 */ li r0, 9 /* 802E631C 002E1F7C 3B 83 00 11 */ addi r28, r3, 0x11 /* 802E6320 002E1F80 B0 03 00 04 */ sth r0, 4(r3) /* 802E6324 002E1F84 38 60 00 07 */ li r3, 7 /* 802E6328 002E1F88 3B DC 00 03 */ addi r30, r28, 3 /* 802E632C 002E1F8C 56 C0 C6 3E */ rlwinm r0, r22, 0x18, 0x18, 0x1f /* 802E6330 002E1F90 98 7C 00 00 */ stb r3, 0(r28) /* 802E6334 002E1F94 7F DF F3 78 */ mr r31, r30 /* 802E6338 002E1F98 98 1C 00 01 */ stb r0, 1(r28) /* 802E633C 002E1F9C 9A DC 00 02 */ stb r22, 2(r28) /* 802E6340 002E1FA0 A0 15 00 24 */ lhz r0, 0x24(r21) /* 802E6344 002E1FA4 7C 00 E8 40 */ cmplw r0, r29 /* 802E6348 002E1FA8 41 81 00 08 */ bgt lbl_802E6350 /* 802E634C 002E1FAC 7C 1D 03 78 */ mr r29, r0 lbl_802E6350: /* 802E6350 002E1FB0 57 A0 C6 3E */ rlwinm r0, r29, 0x18, 0x18, 0x1f /* 802E6354 002E1FB4 57 A5 04 3E */ clrlwi r5, r29, 0x10 /* 802E6358 002E1FB8 98 1E 00 02 */ stb r0, 2(r30) /* 802E635C 002E1FBC 9B BE 00 03 */ stb r29, 3(r30) /* 802E6360 002E1FC0 3B DE 00 04 */ addi r30, r30, 4 /* 802E6364 002E1FC4 7F C3 F3 78 */ mr r3, r30 /* 802E6368 002E1FC8 A0 15 04 76 */ lhz r0, 0x476(r21) /* 802E636C 002E1FCC 7C 95 02 14 */ add r4, r21, r0 /* 802E6370 002E1FD0 38 84 00 26 */ addi r4, r4, 0x26 /* 802E6374 002E1FD4 4B D1 DC 8D */ bl memcpy /* 802E6378 002E1FD8 A0 15 00 24 */ lhz r0, 0x24(r21) /* 802E637C 002E1FDC 57 A3 04 3E */ clrlwi r3, r29, 0x10 /* 802E6380 002E1FE0 7F DE 1A 14 */ add r30, r30, r3 /* 802E6384 002E1FE4 A0 95 04 76 */ lhz r4, 0x476(r21) /* 802E6388 002E1FE8 7C 7D 00 50 */ subf r3, r29, r0 /* 802E638C 002E1FEC 54 60 04 3F */ clrlwi. r0, r3, 0x10 /* 802E6390 002E1FF0 B0 75 00 24 */ sth r3, 0x24(r21) /* 802E6394 002E1FF4 7C 04 EA 14 */ add r0, r4, r29 /* 802E6398 002E1FF8 B0 15 04 76 */ sth r0, 0x476(r21) /* 802E639C 002E1FFC 41 82 00 28 */ beq lbl_802E63C4 /* 802E63A0 002E2000 38 00 00 02 */ li r0, 2 /* 802E63A4 002E2004 98 1E 00 00 */ stb r0, 0(r30) /* 802E63A8 002E2008 A0 15 04 76 */ lhz r0, 0x476(r21) /* 802E63AC 002E200C 7C 00 46 70 */ srawi r0, r0, 8 /* 802E63B0 002E2010 98 1E 00 01 */ stb r0, 1(r30) /* 802E63B4 002E2014 A0 15 04 76 */ lhz r0, 0x476(r21) /* 802E63B8 002E2018 98 1E 00 02 */ stb r0, 2(r30) /* 802E63BC 002E201C 3B DE 00 03 */ addi r30, r30, 3 /* 802E63C0 002E2020 48 00 00 10 */ b lbl_802E63D0 lbl_802E63C4: /* 802E63C4 002E2024 38 00 00 00 */ li r0, 0 /* 802E63C8 002E2028 98 1E 00 00 */ stb r0, 0(r30) /* 802E63CC 002E202C 3B DE 00 01 */ addi r30, r30, 1 lbl_802E63D0: /* 802E63D0 002E2030 7C 7F F0 50 */ subf r3, r31, r30 /* 802E63D4 002E2034 7C 1C F0 50 */ subf r0, r28, r30 /* 802E63D8 002E2038 38 A3 FF FE */ addi r5, r3, -2 /* 802E63DC 002E203C 7F 24 CB 78 */ mr r4, r25 /* 802E63E0 002E2040 54 A3 C6 3E */ rlwinm r3, r5, 0x18, 0x18, 0x1f /* 802E63E4 002E2044 98 7F 00 00 */ stb r3, 0(r31) /* 802E63E8 002E2048 98 BF 00 01 */ stb r5, 1(r31) /* 802E63EC 002E204C B0 19 00 02 */ sth r0, 2(r25) /* 802E63F0 002E2050 A0 75 00 22 */ lhz r3, 0x22(r21) /* 802E63F4 002E2054 4B FE FC FD */ bl L2CA_DataWrite lbl_802E63F8: /* 802E63F8 002E2058 39 61 01 F0 */ addi r11, r1, 0x1f0 /* 802E63FC 002E205C 4B EE 0D 5D */ bl _restgpr_20 /* 802E6400 002E2060 80 01 01 F4 */ lwz r0, 0x1f4(r1) /* 802E6404 002E2064 7C 08 03 A6 */ mtlr r0 /* 802E6408 002E2068 38 21 01 F0 */ addi r1, r1, 0x1f0 /* 802E640C 002E206C 4E 80 00 20 */ blr