1019 lines
47 KiB
ArmAsm
1019 lines
47 KiB
ArmAsm
.include "macros.inc"
|
|
|
|
.section .text, "ax" # 0x80006A00 - 0x80406260 ; 0x003FF860
|
|
.global sdp_server_handle_client_req
|
|
sdp_server_handle_client_req:
|
|
/* 800A00A8 0009BEE8 94 21 FF E0 */ stwu r1, -0x20(r1)
|
|
/* 800A00AC 0009BEEC 7C 08 02 A6 */ mflr r0
|
|
/* 800A00B0 0009BEF0 90 01 00 24 */ stw r0, 0x24(r1)
|
|
/* 800A00B4 0009BEF4 93 E1 00 1C */ stw r31, 0x1c(r1)
|
|
/* 800A00B8 0009BEF8 93 C1 00 18 */ stw r30, 0x18(r1)
|
|
/* 800A00BC 0009BEFC 93 A1 00 14 */ stw r29, 0x14(r1)
|
|
/* 800A00C0 0009BF00 93 81 00 10 */ stw r28, 0x10(r1)
|
|
/* 800A00C4 0009BF04 7C 7C 1B 78 */ mr r28, r3
|
|
/* 800A00C8 0009BF08 38 63 00 08 */ addi r3, r3, 0x8
|
|
/* 800A00CC 0009BF0C A0 A4 00 04 */ lhz r5, 0x4(r4)
|
|
/* 800A00D0 0009BF10 A0 04 00 02 */ lhz r0, 0x2(r4)
|
|
/* 800A00D4 0009BF14 7C A4 2A 14 */ add r5, r4, r5
|
|
/* 800A00D8 0009BF18 38 80 00 05 */ li r4, 0x5
|
|
/* 800A00DC 0009BF1C 3B E5 00 08 */ addi r31, r5, 0x8
|
|
/* 800A00E0 0009BF20 38 A0 00 1E */ li r5, 0x1e
|
|
/* 800A00E4 0009BF24 7F DF 02 14 */ add r30, r31, r0
|
|
/* 800A00E8 0009BF28 4B FD 7D C9 */ bl btu_start_timer
|
|
/* 800A00EC 0009BF2C 88 7F 00 03 */ lbz r3, 0x3(r31)
|
|
/* 800A00F0 0009BF30 88 1F 00 04 */ lbz r0, 0x4(r31)
|
|
/* 800A00F4 0009BF34 54 63 40 2E */ slwi r3, r3, 8
|
|
/* 800A00F8 0009BF38 88 DF 00 01 */ lbz r6, 0x1(r31)
|
|
/* 800A00FC 0009BF3C 7C 03 02 14 */ add r0, r3, r0
|
|
/* 800A0100 0009BF40 8B BF 00 00 */ lbz r29, 0x0(r31)
|
|
/* 800A0104 0009BF44 88 9F 00 02 */ lbz r4, 0x2(r31)
|
|
/* 800A0108 0009BF48 54 05 04 3E */ clrlwi r5, r0, 16
|
|
/* 800A010C 0009BF4C 3B FF 00 01 */ addi r31, r31, 0x1
|
|
/* 800A0110 0009BF50 54 C6 40 2E */ slwi r6, r6, 8
|
|
/* 800A0114 0009BF54 7C 7F 2A 14 */ add r3, r31, r5
|
|
/* 800A0118 0009BF58 38 03 00 04 */ addi r0, r3, 0x4
|
|
/* 800A011C 0009BF5C 7C 66 22 14 */ add r3, r6, r4
|
|
/* 800A0120 0009BF60 7C 00 F0 40 */ cmplw r0, r30
|
|
/* 800A0124 0009BF64 54 64 04 3E */ clrlwi r4, r3, 16
|
|
/* 800A0128 0009BF68 40 81 00 18 */ ble lbl_800A0140
|
|
/* 800A012C 0009BF6C 7F 83 E3 78 */ mr r3, r28
|
|
/* 800A0130 0009BF70 38 A0 00 04 */ li r5, 0x4
|
|
/* 800A0134 0009BF74 38 C0 00 00 */ li r6, 0x0
|
|
/* 800A0138 0009BF78 48 00 10 E1 */ bl sdpu_build_n_send_error
|
|
/* 800A013C 0009BF7C 48 00 00 A0 */ b lbl_800A01DC
|
|
.global lbl_800A0140
|
|
lbl_800A0140:
|
|
/* 800A0140 0009BF80 2C 1D 00 04 */ cmpwi r29, 0x4
|
|
/* 800A0144 0009BF84 41 82 00 34 */ beq lbl_800A0178
|
|
/* 800A0148 0009BF88 40 80 00 10 */ bge lbl_800A0158
|
|
/* 800A014C 0009BF8C 2C 1D 00 02 */ cmpwi r29, 0x2
|
|
/* 800A0150 0009BF90 41 82 00 14 */ beq lbl_800A0164
|
|
/* 800A0154 0009BF94 48 00 00 4C */ b lbl_800A01A0
|
|
.global lbl_800A0158
|
|
lbl_800A0158:
|
|
/* 800A0158 0009BF98 2C 1D 00 06 */ cmpwi r29, 0x6
|
|
/* 800A015C 0009BF9C 41 82 00 30 */ beq lbl_800A018C
|
|
/* 800A0160 0009BFA0 48 00 00 40 */ b lbl_800A01A0
|
|
.global lbl_800A0164
|
|
lbl_800A0164:
|
|
/* 800A0164 0009BFA4 7F 83 E3 78 */ mr r3, r28
|
|
/* 800A0168 0009BFA8 7F C7 F3 78 */ mr r7, r30
|
|
/* 800A016C 0009BFAC 38 DF 00 04 */ addi r6, r31, 0x4
|
|
/* 800A0170 0009BFB0 48 00 00 8D */ bl process_service_search
|
|
/* 800A0174 0009BFB4 48 00 00 68 */ b lbl_800A01DC
|
|
.global lbl_800A0178
|
|
lbl_800A0178:
|
|
/* 800A0178 0009BFB8 7F 83 E3 78 */ mr r3, r28
|
|
/* 800A017C 0009BFBC 7F C7 F3 78 */ mr r7, r30
|
|
/* 800A0180 0009BFC0 38 DF 00 04 */ addi r6, r31, 0x4
|
|
/* 800A0184 0009BFC4 48 00 04 89 */ bl process_service_attr_req
|
|
/* 800A0188 0009BFC8 48 00 00 54 */ b lbl_800A01DC
|
|
.global lbl_800A018C
|
|
lbl_800A018C:
|
|
/* 800A018C 0009BFCC 7F 83 E3 78 */ mr r3, r28
|
|
/* 800A0190 0009BFD0 7F C7 F3 78 */ mr r7, r30
|
|
/* 800A0194 0009BFD4 38 DF 00 04 */ addi r6, r31, 0x4
|
|
/* 800A0198 0009BFD8 48 00 08 05 */ bl process_service_search_attr_req
|
|
/* 800A019C 0009BFDC 48 00 00 40 */ b lbl_800A01DC
|
|
.global lbl_800A01A0
|
|
lbl_800A01A0:
|
|
/* 800A01A0 0009BFE0 7F 83 E3 78 */ mr r3, r28
|
|
/* 800A01A4 0009BFE4 38 A0 00 03 */ li r5, 0x3
|
|
/* 800A01A8 0009BFE8 38 C0 00 00 */ li r6, 0x0
|
|
/* 800A01AC 0009BFEC 48 00 10 6D */ bl sdpu_build_n_send_error
|
|
/* 800A01B0 0009BFF0 3C 60 80 50 */ lis r3, sdp_cb@ha
|
|
/* 800A01B4 0009BFF4 38 63 9C 20 */ addi r3, r3, sdp_cb@l
|
|
/* 800A01B8 0009BFF8 88 03 46 30 */ lbz r0, 0x4630(r3)
|
|
/* 800A01BC 0009BFFC 28 00 00 02 */ cmplwi r0, 0x2
|
|
/* 800A01C0 0009C000 41 80 00 1C */ blt lbl_800A01DC
|
|
/* 800A01C4 0009C004 3C 60 00 0A */ lis r3, 0xa
|
|
/* 800A01C8 0009C008 3C 80 80 44 */ lis r4, "@1040_8043FEF8"@ha
|
|
/* 800A01CC 0009C00C 7F A5 EB 78 */ mr r5, r29
|
|
/* 800A01D0 0009C010 38 63 00 01 */ addi r3, r3, 0x1
|
|
/* 800A01D4 0009C014 38 84 FE F8 */ addi r4, r4, "@1040_8043FEF8"@l
|
|
/* 800A01D8 0009C018 4B FD 77 89 */ bl LogMsg_0
|
|
.global lbl_800A01DC
|
|
lbl_800A01DC:
|
|
/* 800A01DC 0009C01C 80 01 00 24 */ lwz r0, 0x24(r1)
|
|
/* 800A01E0 0009C020 83 E1 00 1C */ lwz r31, 0x1c(r1)
|
|
/* 800A01E4 0009C024 83 C1 00 18 */ lwz r30, 0x18(r1)
|
|
/* 800A01E8 0009C028 83 A1 00 14 */ lwz r29, 0x14(r1)
|
|
/* 800A01EC 0009C02C 83 81 00 10 */ lwz r28, 0x10(r1)
|
|
/* 800A01F0 0009C030 7C 08 03 A6 */ mtlr r0
|
|
/* 800A01F4 0009C034 38 21 00 20 */ addi r1, r1, 0x20
|
|
/* 800A01F8 0009C038 4E 80 00 20 */ blr
|
|
.global process_service_search
|
|
process_service_search:
|
|
/* 800A01FC 0009C03C 94 21 FE 30 */ stwu r1, -0x1d0(r1)
|
|
/* 800A0200 0009C040 7C 08 02 A6 */ mflr r0
|
|
/* 800A0204 0009C044 90 01 01 D4 */ stw r0, 0x1d4(r1)
|
|
/* 800A0208 0009C048 39 61 01 D0 */ addi r11, r1, 0x1d0
|
|
/* 800A020C 0009C04C 4B F6 70 FD */ bl __save_gpr
|
|
/* 800A0210 0009C050 38 00 00 00 */ li r0, 0x0
|
|
/* 800A0214 0009C054 7C 7E 1B 78 */ mr r30, r3
|
|
/* 800A0218 0009C058 98 01 01 7C */ stb r0, 0x17c(r1)
|
|
/* 800A021C 0009C05C 7C 91 23 78 */ mr r17, r4
|
|
/* 800A0220 0009C060 7C A4 2B 78 */ mr r4, r5
|
|
/* 800A0224 0009C064 7C C3 33 78 */ mr r3, r6
|
|
/* 800A0228 0009C068 38 A1 00 58 */ addi r5, r1, 0x58
|
|
/* 800A022C 0009C06C 3A 60 00 00 */ li r19, 0x0
|
|
/* 800A0230 0009C070 48 00 11 25 */ bl sdpu_extract_uid_seq
|
|
/* 800A0234 0009C074 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 800A0238 0009C078 7C 6F 1B 78 */ mr r15, r3
|
|
/* 800A023C 0009C07C 41 82 00 10 */ beq lbl_800A024C
|
|
/* 800A0240 0009C080 A0 01 00 58 */ lhz r0, 0x58(r1)
|
|
/* 800A0244 0009C084 2C 00 00 00 */ cmpwi r0, 0x0
|
|
/* 800A0248 0009C088 40 82 00 1C */ bne lbl_800A0264
|
|
.global lbl_800A024C
|
|
lbl_800A024C:
|
|
/* 800A024C 0009C08C 7F C3 F3 78 */ mr r3, r30
|
|
/* 800A0250 0009C090 7E 24 8B 78 */ mr r4, r17
|
|
/* 800A0254 0009C094 38 A0 00 03 */ li r5, 0x3
|
|
/* 800A0258 0009C098 38 C0 00 00 */ li r6, 0x0
|
|
/* 800A025C 0009C09C 48 00 0F BD */ bl sdpu_build_n_send_error
|
|
/* 800A0260 0009C0A0 48 00 03 94 */ b lbl_800A05F4
|
|
.global lbl_800A0264
|
|
lbl_800A0264:
|
|
/* 800A0264 0009C0A4 88 83 00 00 */ lbz r4, 0x0(r3)
|
|
/* 800A0268 0009C0A8 88 03 00 01 */ lbz r0, 0x1(r3)
|
|
/* 800A026C 0009C0AC 54 83 40 2E */ slwi r3, r4, 8
|
|
/* 800A0270 0009C0B0 7C 03 02 14 */ add r0, r3, r0
|
|
/* 800A0274 0009C0B4 54 12 04 3E */ clrlwi r18, r0, 16
|
|
/* 800A0278 0009C0B8 28 12 00 14 */ cmplwi r18, 0x14
|
|
/* 800A027C 0009C0BC 40 81 00 08 */ ble lbl_800A0284
|
|
/* 800A0280 0009C0C0 3A 40 00 14 */ li r18, 0x14
|
|
.global lbl_800A0284
|
|
lbl_800A0284:
|
|
/* 800A0284 0009C0C4 39 C1 00 08 */ addi r14, r1, 0x8
|
|
/* 800A0288 0009C0C8 3A 00 00 00 */ li r16, 0x0
|
|
/* 800A028C 0009C0CC 48 00 00 2C */ b lbl_800A02B8
|
|
.global lbl_800A0290
|
|
lbl_800A0290:
|
|
/* 800A0290 0009C0D0 7E 63 9B 78 */ mr r3, r19
|
|
/* 800A0294 0009C0D4 38 81 00 58 */ addi r4, r1, 0x58
|
|
/* 800A0298 0009C0D8 4B FF D3 61 */ bl sdp_db_service_search
|
|
/* 800A029C 0009C0DC 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 800A02A0 0009C0E0 7C 73 1B 78 */ mr r19, r3
|
|
/* 800A02A4 0009C0E4 41 82 00 20 */ beq lbl_800A02C4
|
|
/* 800A02A8 0009C0E8 80 63 00 00 */ lwz r3, 0x0(r3)
|
|
/* 800A02AC 0009C0EC 56 00 13 BA */ rlwinm r0, r16, 2, 14, 29
|
|
/* 800A02B0 0009C0F0 3A 10 00 01 */ addi r16, r16, 0x1
|
|
/* 800A02B4 0009C0F4 7C 6E 01 2E */ stwx r3, r14, r0
|
|
.global lbl_800A02B8
|
|
lbl_800A02B8:
|
|
/* 800A02B8 0009C0F8 56 00 04 3E */ clrlwi r0, r16, 16
|
|
/* 800A02BC 0009C0FC 7C 00 90 40 */ cmplw r0, r18
|
|
/* 800A02C0 0009C100 41 80 FF D0 */ blt lbl_800A0290
|
|
.global lbl_800A02C4
|
|
lbl_800A02C4:
|
|
/* 800A02C4 0009C104 88 0F 00 02 */ lbz r0, 0x2(r15)
|
|
/* 800A02C8 0009C108 2C 00 00 00 */ cmpwi r0, 0x0
|
|
/* 800A02CC 0009C10C 41 82 00 6C */ beq lbl_800A0338
|
|
/* 800A02D0 0009C110 28 00 00 02 */ cmplwi r0, 0x2
|
|
/* 800A02D4 0009C114 38 6F 00 03 */ addi r3, r15, 0x3
|
|
/* 800A02D8 0009C118 41 82 00 1C */ beq lbl_800A02F4
|
|
/* 800A02DC 0009C11C 7F C3 F3 78 */ mr r3, r30
|
|
/* 800A02E0 0009C120 7E 24 8B 78 */ mr r4, r17
|
|
/* 800A02E4 0009C124 38 A0 00 05 */ li r5, 0x5
|
|
/* 800A02E8 0009C128 38 C0 00 00 */ li r6, 0x0
|
|
/* 800A02EC 0009C12C 48 00 0F 2D */ bl sdpu_build_n_send_error
|
|
/* 800A02F0 0009C130 48 00 03 04 */ b lbl_800A05F4
|
|
.global lbl_800A02F4
|
|
lbl_800A02F4:
|
|
/* 800A02F4 0009C134 88 03 00 00 */ lbz r0, 0x0(r3)
|
|
/* 800A02F8 0009C138 88 63 00 01 */ lbz r3, 0x1(r3)
|
|
/* 800A02FC 0009C13C 54 04 40 2E */ slwi r4, r0, 8
|
|
/* 800A0300 0009C140 A0 1E 04 76 */ lhz r0, 0x476(r30)
|
|
/* 800A0304 0009C144 7C 64 1A 14 */ add r3, r4, r3
|
|
/* 800A0308 0009C148 54 7F 04 3E */ clrlwi r31, r3, 16
|
|
/* 800A030C 0009C14C 7C 1F 00 40 */ cmplw r31, r0
|
|
/* 800A0310 0009C150 41 82 00 1C */ beq lbl_800A032C
|
|
/* 800A0314 0009C154 7F C3 F3 78 */ mr r3, r30
|
|
/* 800A0318 0009C158 7E 24 8B 78 */ mr r4, r17
|
|
/* 800A031C 0009C15C 38 A0 00 05 */ li r5, 0x5
|
|
/* 800A0320 0009C160 38 C0 00 00 */ li r6, 0x0
|
|
/* 800A0324 0009C164 48 00 0E F5 */ bl sdpu_build_n_send_error
|
|
/* 800A0328 0009C168 48 00 02 CC */ b lbl_800A05F4
|
|
.global lbl_800A032C
|
|
lbl_800A032C:
|
|
/* 800A032C 0009C16C 7C 1F 80 50 */ subf r0, r31, r16
|
|
/* 800A0330 0009C170 54 04 04 3E */ clrlwi r4, r0, 16
|
|
/* 800A0334 0009C174 48 00 00 0C */ b lbl_800A0340
|
|
.global lbl_800A0338
|
|
lbl_800A0338:
|
|
/* 800A0338 0009C178 7E 04 83 78 */ mr r4, r16
|
|
/* 800A033C 0009C17C 3B E0 00 00 */ li r31, 0x0
|
|
.global lbl_800A0340
|
|
lbl_800A0340:
|
|
/* 800A0340 0009C180 A0 7E 00 20 */ lhz r3, 0x20(r30)
|
|
/* 800A0344 0009C184 54 80 04 3E */ clrlwi r0, r4, 16
|
|
/* 800A0348 0009C188 38 63 FF F4 */ addi r3, r3, -0xc
|
|
/* 800A034C 0009C18C 7C 63 16 70 */ srawi r3, r3, 2
|
|
/* 800A0350 0009C190 7C 63 01 94 */ addze r3, r3
|
|
/* 800A0354 0009C194 54 6F 04 3E */ clrlwi r15, r3, 16
|
|
/* 800A0358 0009C198 7C 00 78 40 */ cmplw r0, r15
|
|
/* 800A035C 0009C19C 41 81 00 0C */ bgt lbl_800A0368
|
|
/* 800A0360 0009C1A0 7C 8F 23 78 */ mr r15, r4
|
|
/* 800A0364 0009C1A4 48 00 00 18 */ b lbl_800A037C
|
|
.global lbl_800A0368
|
|
lbl_800A0368:
|
|
/* 800A0368 0009C1A8 A0 7E 04 76 */ lhz r3, 0x476(r30)
|
|
/* 800A036C 0009C1AC 38 00 00 01 */ li r0, 0x1
|
|
/* 800A0370 0009C1B0 98 01 01 7C */ stb r0, 0x17c(r1)
|
|
/* 800A0374 0009C1B4 7C 03 7A 14 */ add r0, r3, r15
|
|
/* 800A0378 0009C1B8 B0 1E 04 76 */ sth r0, 0x476(r30)
|
|
.global lbl_800A037C
|
|
lbl_800A037C:
|
|
/* 800A037C 0009C1BC 38 60 00 02 */ li r3, 0x2
|
|
/* 800A0380 0009C1C0 4B FD 4A A1 */ bl GKI_getpoolbuf
|
|
/* 800A0384 0009C1C4 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 800A0388 0009C1C8 40 82 00 2C */ bne lbl_800A03B4
|
|
/* 800A038C 0009C1CC 3C 60 80 50 */ lis r3, sdp_cb@ha
|
|
/* 800A0390 0009C1D0 38 63 9C 20 */ addi r3, r3, sdp_cb@l
|
|
/* 800A0394 0009C1D4 88 03 46 30 */ lbz r0, 0x4630(r3)
|
|
/* 800A0398 0009C1D8 28 00 00 01 */ cmplwi r0, 0x1
|
|
/* 800A039C 0009C1DC 41 80 02 58 */ blt lbl_800A05F4
|
|
/* 800A03A0 0009C1E0 3C 80 80 44 */ lis r4, "@1122_8043FF1C"@ha
|
|
/* 800A03A4 0009C1E4 3C 60 00 0A */ lis r3, 0xa
|
|
/* 800A03A8 0009C1E8 38 84 FF 1C */ addi r4, r4, "@1122_8043FF1C"@l
|
|
/* 800A03AC 0009C1EC 4B FD 75 B5 */ bl LogMsg_0
|
|
/* 800A03B0 0009C1F0 48 00 02 44 */ b lbl_800A05F4
|
|
.global lbl_800A03B4
|
|
lbl_800A03B4:
|
|
/* 800A03B4 0009C1F4 38 00 00 09 */ li r0, 0x9
|
|
/* 800A03B8 0009C1F8 39 C3 00 11 */ addi r14, r3, 0x11
|
|
/* 800A03BC 0009C1FC B0 03 00 04 */ sth r0, 0x4(r3)
|
|
/* 800A03C0 0009C200 38 80 00 03 */ li r4, 0x3
|
|
/* 800A03C4 0009C204 55 E0 04 3E */ clrlwi r0, r15, 16
|
|
/* 800A03C8 0009C208 39 6E 00 03 */ addi r11, r14, 0x3
|
|
/* 800A03CC 0009C20C 98 83 00 11 */ stb r4, 0x11(r3)
|
|
/* 800A03D0 0009C210 7D 5F 02 14 */ add r10, r31, r0
|
|
/* 800A03D4 0009C214 7E 25 46 70 */ srawi r5, r17, 8
|
|
/* 800A03D8 0009C218 56 04 C6 3E */ extrwi r4, r16, 8, 16
|
|
/* 800A03DC 0009C21C 98 A3 00 12 */ stb r5, 0x12(r3)
|
|
/* 800A03E0 0009C220 55 E0 C6 3E */ extrwi r0, r15, 8, 16
|
|
/* 800A03E4 0009C224 7C 1F 50 00 */ cmpw r31, r10
|
|
/* 800A03E8 0009C228 9A 23 00 13 */ stb r17, 0x13(r3)
|
|
/* 800A03EC 0009C22C 98 83 00 16 */ stb r4, 0x16(r3)
|
|
/* 800A03F0 0009C230 9A 03 00 17 */ stb r16, 0x17(r3)
|
|
/* 800A03F4 0009C234 98 03 00 18 */ stb r0, 0x18(r3)
|
|
/* 800A03F8 0009C238 91 61 01 80 */ stw r11, 0x180(r1)
|
|
/* 800A03FC 0009C23C 39 6B 00 06 */ addi r11, r11, 0x6
|
|
/* 800A0400 0009C240 99 E3 00 19 */ stb r15, 0x19(r3)
|
|
/* 800A0404 0009C244 40 80 01 84 */ bge lbl_800A0588
|
|
/* 800A0408 0009C248 55 45 04 3E */ clrlwi r5, r10, 16
|
|
/* 800A040C 0009C24C 38 0A FF F8 */ addi r0, r10, -0x8
|
|
/* 800A0410 0009C250 7C 9F 28 50 */ subf r4, r31, r5
|
|
/* 800A0414 0009C254 54 84 04 3E */ clrlwi r4, r4, 16
|
|
/* 800A0418 0009C258 28 04 00 08 */ cmplwi r4, 0x8
|
|
/* 800A041C 0009C25C 40 81 01 2C */ ble lbl_800A0548
|
|
/* 800A0420 0009C260 7C 1F 28 40 */ cmplw r31, r5
|
|
/* 800A0424 0009C264 41 81 01 24 */ bgt lbl_800A0548
|
|
/* 800A0428 0009C268 48 00 01 14 */ b lbl_800A053C
|
|
.global lbl_800A042C
|
|
lbl_800A042C:
|
|
/* 800A042C 0009C26C 57 E4 13 BA */ rlwinm r4, r31, 2, 14, 29
|
|
/* 800A0430 0009C270 3A 21 00 08 */ addi r17, r1, 0x8
|
|
/* 800A0434 0009C274 7D 11 20 6E */ lwzux r8, r17, r4
|
|
/* 800A0438 0009C278 3B FF 00 08 */ addi r31, r31, 0x8
|
|
/* 800A043C 0009C27C 55 05 46 3E */ srwi r5, r8, 24
|
|
/* 800A0440 0009C280 83 11 00 04 */ lwz r24, 0x4(r17)
|
|
/* 800A0444 0009C284 98 AB 00 00 */ stb r5, 0x0(r11)
|
|
/* 800A0448 0009C288 55 06 86 3E */ extrwi r6, r8, 8, 8
|
|
/* 800A044C 0009C28C 80 91 00 08 */ lwz r4, 0x8(r17)
|
|
/* 800A0450 0009C290 55 07 C6 3E */ extrwi r7, r8, 8, 16
|
|
/* 800A0454 0009C294 98 CB 00 01 */ stb r6, 0x1(r11)
|
|
/* 800A0458 0009C298 57 09 46 3E */ srwi r9, r24, 24
|
|
/* 800A045C 0009C29C 80 D1 00 10 */ lwz r6, 0x10(r17)
|
|
/* 800A0460 0009C2A0 57 12 86 3E */ extrwi r18, r24, 8, 8
|
|
/* 800A0464 0009C2A4 98 EB 00 02 */ stb r7, 0x2(r11)
|
|
/* 800A0468 0009C2A8 57 15 C6 3E */ extrwi r21, r24, 8, 16
|
|
/* 800A046C 0009C2AC 80 F1 00 14 */ lwz r7, 0x14(r17)
|
|
/* 800A0470 0009C2B0 54 9B 46 3E */ srwi r27, r4, 24
|
|
/* 800A0474 0009C2B4 99 0B 00 03 */ stb r8, 0x3(r11)
|
|
/* 800A0478 0009C2B8 54 8C 86 3E */ extrwi r12, r4, 8, 8
|
|
/* 800A047C 0009C2BC 81 11 00 18 */ lwz r8, 0x18(r17)
|
|
/* 800A0480 0009C2C0 54 8F C6 3E */ extrwi r15, r4, 8, 16
|
|
/* 800A0484 0009C2C4 99 2B 00 04 */ stb r9, 0x4(r11)
|
|
/* 800A0488 0009C2C8 54 D3 46 3E */ srwi r19, r6, 24
|
|
/* 800A048C 0009C2CC 81 31 00 1C */ lwz r9, 0x1c(r17)
|
|
/* 800A0490 0009C2D0 54 D4 86 3E */ extrwi r20, r6, 8, 8
|
|
/* 800A0494 0009C2D4 9A 4B 00 05 */ stb r18, 0x5(r11)
|
|
/* 800A0498 0009C2D8 54 F6 46 3E */ srwi r22, r7, 24
|
|
/* 800A049C 0009C2DC 80 B1 00 0C */ lwz r5, 0xc(r17)
|
|
/* 800A04A0 0009C2E0 54 F7 86 3E */ extrwi r23, r7, 8, 8
|
|
/* 800A04A4 0009C2E4 9A AB 00 06 */ stb r21, 0x6(r11)
|
|
/* 800A04A8 0009C2E8 54 D5 C6 3E */ extrwi r21, r6, 8, 16
|
|
/* 800A04AC 0009C2EC 54 B0 46 3E */ srwi r16, r5, 24
|
|
/* 800A04B0 0009C2F0 54 B1 86 3E */ extrwi r17, r5, 8, 8
|
|
/* 800A04B4 0009C2F4 9B 0B 00 07 */ stb r24, 0x7(r11)
|
|
/* 800A04B8 0009C2F8 54 B2 C6 3E */ extrwi r18, r5, 8, 16
|
|
/* 800A04BC 0009C2FC 54 F8 C6 3E */ extrwi r24, r7, 8, 16
|
|
/* 800A04C0 0009C300 55 19 46 3E */ srwi r25, r8, 24
|
|
/* 800A04C4 0009C304 9B 6B 00 08 */ stb r27, 0x8(r11)
|
|
/* 800A04C8 0009C308 55 1A 86 3E */ extrwi r26, r8, 8, 8
|
|
/* 800A04CC 0009C30C 55 1B C6 3E */ extrwi r27, r8, 8, 16
|
|
/* 800A04D0 0009C310 55 3C 46 3E */ srwi r28, r9, 24
|
|
/* 800A04D4 0009C314 99 8B 00 09 */ stb r12, 0x9(r11)
|
|
/* 800A04D8 0009C318 55 3D 86 3E */ extrwi r29, r9, 8, 8
|
|
/* 800A04DC 0009C31C 55 2C C6 3E */ extrwi r12, r9, 8, 16
|
|
/* 800A04E0 0009C320 99 EB 00 0A */ stb r15, 0xa(r11)
|
|
/* 800A04E4 0009C324 98 8B 00 0B */ stb r4, 0xb(r11)
|
|
/* 800A04E8 0009C328 9A 0B 00 0C */ stb r16, 0xc(r11)
|
|
/* 800A04EC 0009C32C 9A 2B 00 0D */ stb r17, 0xd(r11)
|
|
/* 800A04F0 0009C330 9A 4B 00 0E */ stb r18, 0xe(r11)
|
|
/* 800A04F4 0009C334 98 AB 00 0F */ stb r5, 0xf(r11)
|
|
/* 800A04F8 0009C338 9A 6B 00 10 */ stb r19, 0x10(r11)
|
|
/* 800A04FC 0009C33C 9A 8B 00 11 */ stb r20, 0x11(r11)
|
|
/* 800A0500 0009C340 9A AB 00 12 */ stb r21, 0x12(r11)
|
|
/* 800A0504 0009C344 98 CB 00 13 */ stb r6, 0x13(r11)
|
|
/* 800A0508 0009C348 9A CB 00 14 */ stb r22, 0x14(r11)
|
|
/* 800A050C 0009C34C 9A EB 00 15 */ stb r23, 0x15(r11)
|
|
/* 800A0510 0009C350 9B 0B 00 16 */ stb r24, 0x16(r11)
|
|
/* 800A0514 0009C354 98 EB 00 17 */ stb r7, 0x17(r11)
|
|
/* 800A0518 0009C358 9B 2B 00 18 */ stb r25, 0x18(r11)
|
|
/* 800A051C 0009C35C 9B 4B 00 19 */ stb r26, 0x19(r11)
|
|
/* 800A0520 0009C360 9B 6B 00 1A */ stb r27, 0x1a(r11)
|
|
/* 800A0524 0009C364 99 0B 00 1B */ stb r8, 0x1b(r11)
|
|
/* 800A0528 0009C368 9B 8B 00 1C */ stb r28, 0x1c(r11)
|
|
/* 800A052C 0009C36C 9B AB 00 1D */ stb r29, 0x1d(r11)
|
|
/* 800A0530 0009C370 99 8B 00 1E */ stb r12, 0x1e(r11)
|
|
/* 800A0534 0009C374 99 2B 00 1F */ stb r9, 0x1f(r11)
|
|
/* 800A0538 0009C378 39 6B 00 20 */ addi r11, r11, 0x20
|
|
.global lbl_800A053C
|
|
lbl_800A053C:
|
|
/* 800A053C 0009C37C 57 E4 04 3E */ clrlwi r4, r31, 16
|
|
/* 800A0540 0009C380 7C 04 00 00 */ cmpw r4, r0
|
|
/* 800A0544 0009C384 41 80 FE E8 */ blt lbl_800A042C
|
|
.global lbl_800A0548
|
|
lbl_800A0548:
|
|
/* 800A0548 0009C388 38 A1 00 08 */ addi r5, r1, 0x8
|
|
/* 800A054C 0009C38C 48 00 00 30 */ b lbl_800A057C
|
|
.global lbl_800A0550
|
|
lbl_800A0550:
|
|
/* 800A0550 0009C390 57 E0 13 BA */ rlwinm r0, r31, 2, 14, 29
|
|
/* 800A0554 0009C394 3B FF 00 01 */ addi r31, r31, 0x1
|
|
/* 800A0558 0009C398 7C C5 00 2E */ lwzx r6, r5, r0
|
|
/* 800A055C 0009C39C 54 C0 46 3E */ srwi r0, r6, 24
|
|
/* 800A0560 0009C3A0 54 C4 86 3E */ extrwi r4, r6, 8, 8
|
|
/* 800A0564 0009C3A4 98 0B 00 00 */ stb r0, 0x0(r11)
|
|
/* 800A0568 0009C3A8 54 C0 C6 3E */ extrwi r0, r6, 8, 16
|
|
/* 800A056C 0009C3AC 98 8B 00 01 */ stb r4, 0x1(r11)
|
|
/* 800A0570 0009C3B0 98 0B 00 02 */ stb r0, 0x2(r11)
|
|
/* 800A0574 0009C3B4 98 CB 00 03 */ stb r6, 0x3(r11)
|
|
/* 800A0578 0009C3B8 39 6B 00 04 */ addi r11, r11, 0x4
|
|
.global lbl_800A057C
|
|
lbl_800A057C:
|
|
/* 800A057C 0009C3BC 57 E0 04 3E */ clrlwi r0, r31, 16
|
|
/* 800A0580 0009C3C0 7C 00 50 00 */ cmpw r0, r10
|
|
/* 800A0584 0009C3C4 41 80 FF CC */ blt lbl_800A0550
|
|
.global lbl_800A0588
|
|
lbl_800A0588:
|
|
/* 800A0588 0009C3C8 88 01 01 7C */ lbz r0, 0x17c(r1)
|
|
/* 800A058C 0009C3CC 2C 00 00 00 */ cmpwi r0, 0x0
|
|
/* 800A0590 0009C3D0 41 82 00 28 */ beq lbl_800A05B8
|
|
/* 800A0594 0009C3D4 38 00 00 02 */ li r0, 0x2
|
|
/* 800A0598 0009C3D8 98 0B 00 00 */ stb r0, 0x0(r11)
|
|
/* 800A059C 0009C3DC A0 1E 04 76 */ lhz r0, 0x476(r30)
|
|
/* 800A05A0 0009C3E0 7C 00 46 70 */ srawi r0, r0, 8
|
|
/* 800A05A4 0009C3E4 98 0B 00 01 */ stb r0, 0x1(r11)
|
|
/* 800A05A8 0009C3E8 A0 1E 04 76 */ lhz r0, 0x476(r30)
|
|
/* 800A05AC 0009C3EC 98 0B 00 02 */ stb r0, 0x2(r11)
|
|
/* 800A05B0 0009C3F0 39 6B 00 03 */ addi r11, r11, 0x3
|
|
/* 800A05B4 0009C3F4 48 00 00 10 */ b lbl_800A05C4
|
|
.global lbl_800A05B8
|
|
lbl_800A05B8:
|
|
/* 800A05B8 0009C3F8 38 00 00 00 */ li r0, 0x0
|
|
/* 800A05BC 0009C3FC 98 0B 00 00 */ stb r0, 0x0(r11)
|
|
/* 800A05C0 0009C400 39 6B 00 01 */ addi r11, r11, 0x1
|
|
.global lbl_800A05C4
|
|
lbl_800A05C4:
|
|
/* 800A05C4 0009C404 80 01 01 80 */ lwz r0, 0x180(r1)
|
|
/* 800A05C8 0009C408 80 A1 01 80 */ lwz r5, 0x180(r1)
|
|
/* 800A05CC 0009C40C 7C 80 58 50 */ subf r4, r0, r11
|
|
/* 800A05D0 0009C410 7C 0E 58 50 */ subf r0, r14, r11
|
|
/* 800A05D4 0009C414 38 E4 FF FE */ addi r7, r4, -0x2
|
|
/* 800A05D8 0009C418 54 E6 C6 3E */ extrwi r6, r7, 8, 16
|
|
/* 800A05DC 0009C41C 7C 64 1B 78 */ mr r4, r3
|
|
/* 800A05E0 0009C420 98 C5 00 00 */ stb r6, 0x0(r5)
|
|
/* 800A05E4 0009C424 98 E5 00 01 */ stb r7, 0x1(r5)
|
|
/* 800A05E8 0009C428 B0 03 00 02 */ sth r0, 0x2(r3)
|
|
/* 800A05EC 0009C42C A0 7E 00 22 */ lhz r3, 0x22(r30)
|
|
/* 800A05F0 0009C430 4B FF 04 B1 */ bl L2CA_DataWrite
|
|
.global lbl_800A05F4
|
|
lbl_800A05F4:
|
|
/* 800A05F4 0009C434 39 61 01 D0 */ addi r11, r1, 0x1d0
|
|
/* 800A05F8 0009C438 4B F6 6D 5D */ bl __restore_gpr
|
|
/* 800A05FC 0009C43C 80 01 01 D4 */ lwz r0, 0x1d4(r1)
|
|
/* 800A0600 0009C440 7C 08 03 A6 */ mtlr r0
|
|
/* 800A0604 0009C444 38 21 01 D0 */ addi r1, r1, 0x1d0
|
|
/* 800A0608 0009C448 4E 80 00 20 */ blr
|
|
.global process_service_attr_req
|
|
process_service_attr_req:
|
|
/* 800A060C 0009C44C 94 21 FF 90 */ stwu r1, -0x70(r1)
|
|
/* 800A0610 0009C450 7C 08 02 A6 */ mflr r0
|
|
/* 800A0614 0009C454 90 01 00 74 */ stw r0, 0x74(r1)
|
|
/* 800A0618 0009C458 39 61 00 70 */ addi r11, r1, 0x70
|
|
/* 800A061C 0009C45C 4B F6 6D 15 */ bl lbl_80007330
|
|
/* 800A0620 0009C460 89 26 00 00 */ lbz r9, 0x0(r6)
|
|
/* 800A0624 0009C464 38 06 00 04 */ addi r0, r6, 0x4
|
|
/* 800A0628 0009C468 89 06 00 01 */ lbz r8, 0x1(r6)
|
|
/* 800A062C 0009C46C 7C 00 38 40 */ cmplw r0, r7
|
|
/* 800A0630 0009C470 88 06 00 02 */ lbz r0, 0x2(r6)
|
|
/* 800A0634 0009C474 55 2A C0 0E */ slwi r10, r9, 24
|
|
/* 800A0638 0009C478 55 08 80 1E */ slwi r8, r8, 16
|
|
/* 800A063C 0009C47C 89 26 00 03 */ lbz r9, 0x3(r6)
|
|
/* 800A0640 0009C480 54 00 40 2E */ slwi r0, r0, 8
|
|
/* 800A0644 0009C484 7C 79 1B 78 */ mr r25, r3
|
|
/* 800A0648 0009C488 7D 0A 42 14 */ add r8, r10, r8
|
|
/* 800A064C 0009C48C 7C 9A 23 78 */ mr r26, r4
|
|
/* 800A0650 0009C490 7C 09 02 14 */ add r0, r9, r0
|
|
/* 800A0654 0009C494 7C F8 3B 78 */ mr r24, r7
|
|
/* 800A0658 0009C498 7F 68 02 14 */ add r27, r8, r0
|
|
/* 800A065C 0009C49C 40 81 00 14 */ ble lbl_800A0670
|
|
/* 800A0660 0009C4A0 38 A0 00 02 */ li r5, 0x2
|
|
/* 800A0664 0009C4A4 38 C0 00 00 */ li r6, 0x0
|
|
/* 800A0668 0009C4A8 48 00 0B B1 */ bl sdpu_build_n_send_error
|
|
/* 800A066C 0009C4AC 48 00 03 18 */ b lbl_800A0984
|
|
.global lbl_800A0670
|
|
lbl_800A0670:
|
|
/* 800A0670 0009C4B0 88 86 00 04 */ lbz r4, 0x4(r6)
|
|
/* 800A0674 0009C4B4 88 06 00 05 */ lbz r0, 0x5(r6)
|
|
/* 800A0678 0009C4B8 54 84 40 2E */ slwi r4, r4, 8
|
|
/* 800A067C 0009C4BC A0 63 00 20 */ lhz r3, 0x20(r3)
|
|
/* 800A0680 0009C4C0 7C 04 02 14 */ add r0, r4, r0
|
|
/* 800A0684 0009C4C4 54 1E 04 3E */ clrlwi r30, r0, 16
|
|
/* 800A0688 0009C4C8 38 03 FF F6 */ addi r0, r3, -0xa
|
|
/* 800A068C 0009C4CC 7C 1E 00 00 */ cmpw r30, r0
|
|
/* 800A0690 0009C4D0 40 81 00 08 */ ble lbl_800A0698
|
|
/* 800A0694 0009C4D4 54 1E 04 3E */ clrlwi r30, r0, 16
|
|
.global lbl_800A0698
|
|
lbl_800A0698:
|
|
/* 800A0698 0009C4D8 7C A4 2B 78 */ mr r4, r5
|
|
/* 800A069C 0009C4DC 38 66 00 06 */ addi r3, r6, 0x6
|
|
/* 800A06A0 0009C4E0 38 A1 00 08 */ addi r5, r1, 0x8
|
|
/* 800A06A4 0009C4E4 48 00 10 01 */ bl sdpu_extract_attr_seq
|
|
/* 800A06A8 0009C4E8 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 800A06AC 0009C4EC 7C 7C 1B 78 */ mr r28, r3
|
|
/* 800A06B0 0009C4F0 41 82 00 18 */ beq lbl_800A06C8
|
|
/* 800A06B4 0009C4F4 A0 01 00 08 */ lhz r0, 0x8(r1)
|
|
/* 800A06B8 0009C4F8 2C 00 00 00 */ cmpwi r0, 0x0
|
|
/* 800A06BC 0009C4FC 41 82 00 0C */ beq lbl_800A06C8
|
|
/* 800A06C0 0009C500 7C 03 C0 40 */ cmplw r3, r24
|
|
/* 800A06C4 0009C504 40 81 00 1C */ ble lbl_800A06E0
|
|
.global lbl_800A06C8
|
|
lbl_800A06C8:
|
|
/* 800A06C8 0009C508 7F 23 CB 78 */ mr r3, r25
|
|
/* 800A06CC 0009C50C 7F 44 D3 78 */ mr r4, r26
|
|
/* 800A06D0 0009C510 38 A0 00 03 */ li r5, 0x3
|
|
/* 800A06D4 0009C514 38 C0 00 00 */ li r6, 0x0
|
|
/* 800A06D8 0009C518 48 00 0B 41 */ bl sdpu_build_n_send_error
|
|
/* 800A06DC 0009C51C 48 00 02 A8 */ b lbl_800A0984
|
|
.global lbl_800A06E0
|
|
lbl_800A06E0:
|
|
/* 800A06E0 0009C520 7F 63 DB 78 */ mr r3, r27
|
|
/* 800A06E4 0009C524 4B FF D1 29 */ bl sdp_db_find_record
|
|
/* 800A06E8 0009C528 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 800A06EC 0009C52C 7C 7B 1B 78 */ mr r27, r3
|
|
/* 800A06F0 0009C530 40 82 00 1C */ bne lbl_800A070C
|
|
/* 800A06F4 0009C534 7F 23 CB 78 */ mr r3, r25
|
|
/* 800A06F8 0009C538 7F 44 D3 78 */ mr r4, r26
|
|
/* 800A06FC 0009C53C 38 A0 00 02 */ li r5, 0x2
|
|
/* 800A0700 0009C540 38 C0 00 00 */ li r6, 0x0
|
|
/* 800A0704 0009C544 48 00 0B 15 */ bl sdpu_build_n_send_error
|
|
/* 800A0708 0009C548 48 00 02 7C */ b lbl_800A0984
|
|
.global lbl_800A070C
|
|
lbl_800A070C:
|
|
/* 800A070C 0009C54C 88 1C 00 00 */ lbz r0, 0x0(r28)
|
|
/* 800A0710 0009C550 2C 00 00 00 */ cmpwi r0, 0x0
|
|
/* 800A0714 0009C554 41 82 00 5C */ beq lbl_800A0770
|
|
/* 800A0718 0009C558 28 00 00 02 */ cmplwi r0, 0x2
|
|
/* 800A071C 0009C55C 41 82 00 1C */ beq lbl_800A0738
|
|
/* 800A0720 0009C560 7F 23 CB 78 */ mr r3, r25
|
|
/* 800A0724 0009C564 7F 44 D3 78 */ mr r4, r26
|
|
/* 800A0728 0009C568 38 A0 00 05 */ li r5, 0x5
|
|
/* 800A072C 0009C56C 38 C0 00 00 */ li r6, 0x0
|
|
/* 800A0730 0009C570 48 00 0A E9 */ bl sdpu_build_n_send_error
|
|
/* 800A0734 0009C574 48 00 02 50 */ b lbl_800A0984
|
|
.global lbl_800A0738
|
|
lbl_800A0738:
|
|
/* 800A0738 0009C578 88 1C 00 01 */ lbz r0, 0x1(r28)
|
|
/* 800A073C 0009C57C 88 7C 00 02 */ lbz r3, 0x2(r28)
|
|
/* 800A0740 0009C580 54 04 40 2E */ slwi r4, r0, 8
|
|
/* 800A0744 0009C584 A0 19 04 76 */ lhz r0, 0x476(r25)
|
|
/* 800A0748 0009C588 7C 64 1A 14 */ add r3, r4, r3
|
|
/* 800A074C 0009C58C 54 63 04 3E */ clrlwi r3, r3, 16
|
|
/* 800A0750 0009C590 7C 03 00 40 */ cmplw r3, r0
|
|
/* 800A0754 0009C594 41 82 01 14 */ beq lbl_800A0868
|
|
/* 800A0758 0009C598 7F 23 CB 78 */ mr r3, r25
|
|
/* 800A075C 0009C59C 7F 44 D3 78 */ mr r4, r26
|
|
/* 800A0760 0009C5A0 38 A0 00 05 */ li r5, 0x5
|
|
/* 800A0764 0009C5A4 38 C0 00 00 */ li r6, 0x0
|
|
/* 800A0768 0009C5A8 48 00 0A B1 */ bl sdpu_build_n_send_error
|
|
/* 800A076C 0009C5AC 48 00 02 18 */ b lbl_800A0984
|
|
.global lbl_800A0770
|
|
lbl_800A0770:
|
|
/* 800A0770 0009C5B0 38 00 00 00 */ li r0, 0x0
|
|
/* 800A0774 0009C5B4 3B B9 00 29 */ addi r29, r25, 0x29
|
|
/* 800A0778 0009C5B8 B0 19 04 76 */ sth r0, 0x476(r25)
|
|
/* 800A077C 0009C5BC 3B 80 00 00 */ li r28, 0x0
|
|
/* 800A0780 0009C5C0 48 00 00 84 */ b lbl_800A0804
|
|
.global lbl_800A0784
|
|
lbl_800A0784:
|
|
/* 800A0784 0009C5C4 57 80 13 BA */ rlwinm r0, r28, 2, 14, 29
|
|
/* 800A0788 0009C5C8 3B E1 00 08 */ addi r31, r1, 0x8
|
|
/* 800A078C 0009C5CC 7F FF 02 14 */ add r31, r31, r0
|
|
/* 800A0790 0009C5D0 7F 63 DB 78 */ mr r3, r27
|
|
/* 800A0794 0009C5D4 A0 9F 00 02 */ lhz r4, 0x2(r31)
|
|
/* 800A0798 0009C5D8 A0 BF 00 04 */ lhz r5, 0x4(r31)
|
|
/* 800A079C 0009C5DC 4B FF D0 CD */ bl sdp_db_find_attr_in_rec
|
|
/* 800A07A0 0009C5E0 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 800A07A4 0009C5E4 7C 78 1B 78 */ mr r24, r3
|
|
/* 800A07A8 0009C5E8 41 82 00 58 */ beq lbl_800A0800
|
|
/* 800A07AC 0009C5EC 38 19 00 26 */ addi r0, r25, 0x26
|
|
/* 800A07B0 0009C5F0 80 83 00 00 */ lwz r4, 0x0(r3)
|
|
/* 800A07B4 0009C5F4 7C 00 E8 50 */ subf r0, r0, r29
|
|
/* 800A07B8 0009C5F8 54 00 04 3E */ clrlwi r0, r0, 16
|
|
/* 800A07BC 0009C5FC 20 00 03 E8 */ subfic r0, r0, 0x3e8
|
|
/* 800A07C0 0009C600 54 03 04 3E */ clrlwi r3, r0, 16
|
|
/* 800A07C4 0009C604 38 03 FF FA */ addi r0, r3, -0x6
|
|
/* 800A07C8 0009C608 7C 04 00 40 */ cmplw r4, r0
|
|
/* 800A07CC 0009C60C 41 81 00 48 */ bgt lbl_800A0814
|
|
/* 800A07D0 0009C610 7F A3 EB 78 */ mr r3, r29
|
|
/* 800A07D4 0009C614 7F 04 C3 78 */ mr r4, r24
|
|
/* 800A07D8 0009C618 48 00 08 ED */ bl sdpu_build_attrib_entry
|
|
/* 800A07DC 0009C61C A0 9F 00 02 */ lhz r4, 0x2(r31)
|
|
/* 800A07E0 0009C620 7C 7D 1B 78 */ mr r29, r3
|
|
/* 800A07E4 0009C624 A0 1F 00 04 */ lhz r0, 0x4(r31)
|
|
/* 800A07E8 0009C628 7C 04 00 40 */ cmplw r4, r0
|
|
/* 800A07EC 0009C62C 41 82 00 14 */ beq lbl_800A0800
|
|
/* 800A07F0 0009C630 A0 78 00 08 */ lhz r3, 0x8(r24)
|
|
/* 800A07F4 0009C634 3B 9C FF FF */ addi r28, r28, -0x1
|
|
/* 800A07F8 0009C638 38 03 00 01 */ addi r0, r3, 0x1
|
|
/* 800A07FC 0009C63C B0 1F 00 02 */ sth r0, 0x2(r31)
|
|
.global lbl_800A0800
|
|
lbl_800A0800:
|
|
/* 800A0800 0009C640 3B 9C 00 01 */ addi r28, r28, 0x1
|
|
.global lbl_800A0804
|
|
lbl_800A0804:
|
|
/* 800A0804 0009C644 A0 01 00 08 */ lhz r0, 0x8(r1)
|
|
/* 800A0808 0009C648 57 83 04 3E */ clrlwi r3, r28, 16
|
|
/* 800A080C 0009C64C 7C 03 00 40 */ cmplw r3, r0
|
|
/* 800A0810 0009C650 41 80 FF 74 */ blt lbl_800A0784
|
|
.global lbl_800A0814
|
|
lbl_800A0814:
|
|
/* 800A0814 0009C654 38 19 00 26 */ addi r0, r25, 0x26
|
|
/* 800A0818 0009C658 7C 00 E8 50 */ subf r0, r0, r29
|
|
/* 800A081C 0009C65C 54 04 04 3E */ clrlwi r4, r0, 16
|
|
/* 800A0820 0009C660 B0 19 00 24 */ sth r0, 0x24(r25)
|
|
/* 800A0824 0009C664 28 04 00 FF */ cmplwi r4, 0xff
|
|
/* 800A0828 0009C668 40 81 00 20 */ ble lbl_800A0848
|
|
/* 800A082C 0009C66C 38 64 FF FD */ addi r3, r4, -0x3
|
|
/* 800A0830 0009C670 38 80 00 36 */ li r4, 0x36
|
|
/* 800A0834 0009C674 7C 60 46 70 */ srawi r0, r3, 8
|
|
/* 800A0838 0009C678 98 99 00 26 */ stb r4, 0x26(r25)
|
|
/* 800A083C 0009C67C 98 19 00 27 */ stb r0, 0x27(r25)
|
|
/* 800A0840 0009C680 98 79 00 28 */ stb r3, 0x28(r25)
|
|
/* 800A0844 0009C684 48 00 00 24 */ b lbl_800A0868
|
|
.global lbl_800A0848
|
|
lbl_800A0848:
|
|
/* 800A0848 0009C688 38 64 FF FD */ addi r3, r4, -0x3
|
|
/* 800A084C 0009C68C 38 04 FF FF */ addi r0, r4, -0x1
|
|
/* 800A0850 0009C690 38 A0 00 01 */ li r5, 0x1
|
|
/* 800A0854 0009C694 38 80 00 35 */ li r4, 0x35
|
|
/* 800A0858 0009C698 B0 B9 04 76 */ sth r5, 0x476(r25)
|
|
/* 800A085C 0009C69C 98 99 00 27 */ stb r4, 0x27(r25)
|
|
/* 800A0860 0009C6A0 98 79 00 28 */ stb r3, 0x28(r25)
|
|
/* 800A0864 0009C6A4 B0 19 00 24 */ sth r0, 0x24(r25)
|
|
.global lbl_800A0868
|
|
lbl_800A0868:
|
|
/* 800A0868 0009C6A8 38 60 00 02 */ li r3, 0x2
|
|
/* 800A086C 0009C6AC 4B FD 45 B5 */ bl GKI_getpoolbuf
|
|
/* 800A0870 0009C6B0 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 800A0874 0009C6B4 7C 7B 1B 78 */ mr r27, r3
|
|
/* 800A0878 0009C6B8 40 82 00 2C */ bne lbl_800A08A4
|
|
/* 800A087C 0009C6BC 3C 60 80 50 */ lis r3, sdp_cb@ha
|
|
/* 800A0880 0009C6C0 38 63 9C 20 */ addi r3, r3, sdp_cb@l
|
|
/* 800A0884 0009C6C4 88 03 46 30 */ lbz r0, 0x4630(r3)
|
|
/* 800A0888 0009C6C8 28 00 00 01 */ cmplwi r0, 0x1
|
|
/* 800A088C 0009C6CC 41 80 00 F8 */ blt lbl_800A0984
|
|
/* 800A0890 0009C6D0 3C 80 80 44 */ lis r4, "@1122_8043FF1C"@ha
|
|
/* 800A0894 0009C6D4 3C 60 00 0A */ lis r3, 0xa
|
|
/* 800A0898 0009C6D8 38 84 FF 1C */ addi r4, r4, "@1122_8043FF1C"@l
|
|
/* 800A089C 0009C6DC 4B FD 70 C5 */ bl LogMsg_0
|
|
/* 800A08A0 0009C6E0 48 00 00 E4 */ b lbl_800A0984
|
|
.global lbl_800A08A4
|
|
lbl_800A08A4:
|
|
/* 800A08A4 0009C6E4 38 00 00 09 */ li r0, 0x9
|
|
/* 800A08A8 0009C6E8 3B A3 00 11 */ addi r29, r3, 0x11
|
|
/* 800A08AC 0009C6EC B0 03 00 04 */ sth r0, 0x4(r3)
|
|
/* 800A08B0 0009C6F0 38 60 00 05 */ li r3, 0x5
|
|
/* 800A08B4 0009C6F4 3B FD 00 03 */ addi r31, r29, 0x3
|
|
/* 800A08B8 0009C6F8 57 40 C6 3E */ extrwi r0, r26, 8, 16
|
|
/* 800A08BC 0009C6FC 98 7D 00 00 */ stb r3, 0x0(r29)
|
|
/* 800A08C0 0009C700 7F FC FB 78 */ mr r28, r31
|
|
/* 800A08C4 0009C704 98 1D 00 01 */ stb r0, 0x1(r29)
|
|
/* 800A08C8 0009C708 9B 5D 00 02 */ stb r26, 0x2(r29)
|
|
/* 800A08CC 0009C70C A0 19 00 24 */ lhz r0, 0x24(r25)
|
|
/* 800A08D0 0009C710 7C 00 F0 40 */ cmplw r0, r30
|
|
/* 800A08D4 0009C714 41 81 00 08 */ bgt lbl_800A08DC
|
|
/* 800A08D8 0009C718 7C 1E 03 78 */ mr r30, r0
|
|
.global lbl_800A08DC
|
|
lbl_800A08DC:
|
|
/* 800A08DC 0009C71C 57 C0 C6 3E */ extrwi r0, r30, 8, 16
|
|
/* 800A08E0 0009C720 57 C5 04 3E */ clrlwi r5, r30, 16
|
|
/* 800A08E4 0009C724 98 1F 00 02 */ stb r0, 0x2(r31)
|
|
/* 800A08E8 0009C728 9B DF 00 03 */ stb r30, 0x3(r31)
|
|
/* 800A08EC 0009C72C 3B FF 00 04 */ addi r31, r31, 0x4
|
|
/* 800A08F0 0009C730 7F E3 FB 78 */ mr r3, r31
|
|
/* 800A08F4 0009C734 A0 19 04 76 */ lhz r0, 0x476(r25)
|
|
/* 800A08F8 0009C738 7C 99 02 14 */ add r4, r25, r0
|
|
/* 800A08FC 0009C73C 38 84 00 26 */ addi r4, r4, 0x26
|
|
/* 800A0900 0009C740 4B F6 37 01 */ bl memcpy
|
|
/* 800A0904 0009C744 A0 19 00 24 */ lhz r0, 0x24(r25)
|
|
/* 800A0908 0009C748 57 C3 04 3E */ clrlwi r3, r30, 16
|
|
/* 800A090C 0009C74C 7F FF 1A 14 */ add r31, r31, r3
|
|
/* 800A0910 0009C750 A0 99 04 76 */ lhz r4, 0x476(r25)
|
|
/* 800A0914 0009C754 7C 7E 00 50 */ subf r3, r30, r0
|
|
/* 800A0918 0009C758 54 60 04 3F */ clrlwi. r0, r3, 16
|
|
/* 800A091C 0009C75C B0 79 00 24 */ sth r3, 0x24(r25)
|
|
/* 800A0920 0009C760 7C 04 F2 14 */ add r0, r4, r30
|
|
/* 800A0924 0009C764 B0 19 04 76 */ sth r0, 0x476(r25)
|
|
/* 800A0928 0009C768 41 82 00 28 */ beq lbl_800A0950
|
|
/* 800A092C 0009C76C 38 00 00 02 */ li r0, 0x2
|
|
/* 800A0930 0009C770 98 1F 00 00 */ stb r0, 0x0(r31)
|
|
/* 800A0934 0009C774 A0 19 04 76 */ lhz r0, 0x476(r25)
|
|
/* 800A0938 0009C778 7C 00 46 70 */ srawi r0, r0, 8
|
|
/* 800A093C 0009C77C 98 1F 00 01 */ stb r0, 0x1(r31)
|
|
/* 800A0940 0009C780 A0 19 04 76 */ lhz r0, 0x476(r25)
|
|
/* 800A0944 0009C784 98 1F 00 02 */ stb r0, 0x2(r31)
|
|
/* 800A0948 0009C788 3B FF 00 03 */ addi r31, r31, 0x3
|
|
/* 800A094C 0009C78C 48 00 00 10 */ b lbl_800A095C
|
|
.global lbl_800A0950
|
|
lbl_800A0950:
|
|
/* 800A0950 0009C790 38 00 00 00 */ li r0, 0x0
|
|
/* 800A0954 0009C794 98 1F 00 00 */ stb r0, 0x0(r31)
|
|
/* 800A0958 0009C798 3B FF 00 01 */ addi r31, r31, 0x1
|
|
.global lbl_800A095C
|
|
lbl_800A095C:
|
|
/* 800A095C 0009C79C 7C 7C F8 50 */ subf r3, r28, r31
|
|
/* 800A0960 0009C7A0 7C 1D F8 50 */ subf r0, r29, r31
|
|
/* 800A0964 0009C7A4 38 A3 FF FE */ addi r5, r3, -0x2
|
|
/* 800A0968 0009C7A8 7F 64 DB 78 */ mr r4, r27
|
|
/* 800A096C 0009C7AC 54 A3 C6 3E */ extrwi r3, r5, 8, 16
|
|
/* 800A0970 0009C7B0 98 7C 00 00 */ stb r3, 0x0(r28)
|
|
/* 800A0974 0009C7B4 98 BC 00 01 */ stb r5, 0x1(r28)
|
|
/* 800A0978 0009C7B8 B0 1B 00 02 */ sth r0, 0x2(r27)
|
|
/* 800A097C 0009C7BC A0 79 00 22 */ lhz r3, 0x22(r25)
|
|
/* 800A0980 0009C7C0 4B FF 01 21 */ bl L2CA_DataWrite
|
|
.global lbl_800A0984
|
|
lbl_800A0984:
|
|
/* 800A0984 0009C7C4 39 61 00 70 */ addi r11, r1, 0x70
|
|
/* 800A0988 0009C7C8 4B F6 69 F5 */ bl lbl_8000737C
|
|
/* 800A098C 0009C7CC 80 01 00 74 */ lwz r0, 0x74(r1)
|
|
/* 800A0990 0009C7D0 7C 08 03 A6 */ mtlr r0
|
|
/* 800A0994 0009C7D4 38 21 00 70 */ addi r1, r1, 0x70
|
|
/* 800A0998 0009C7D8 4E 80 00 20 */ blr
|
|
.global process_service_search_attr_req
|
|
process_service_search_attr_req:
|
|
/* 800A099C 0009C7DC 94 21 FE 10 */ stwu r1, -0x1f0(r1)
|
|
/* 800A09A0 0009C7E0 7C 08 02 A6 */ mflr r0
|
|
/* 800A09A4 0009C7E4 90 01 01 F4 */ stw r0, 0x1f4(r1)
|
|
/* 800A09A8 0009C7E8 39 61 01 F0 */ addi r11, r1, 0x1f0
|
|
/* 800A09AC 0009C7EC 4B F6 69 75 */ bl lbl_80007320
|
|
/* 800A09B0 0009C7F0 7C B4 2B 78 */ mr r20, r5
|
|
/* 800A09B4 0009C7F4 7C 75 1B 78 */ mr r21, r3
|
|
/* 800A09B8 0009C7F8 7C 96 23 78 */ mr r22, r4
|
|
/* 800A09BC 0009C7FC 7C C3 33 78 */ mr r3, r6
|
|
/* 800A09C0 0009C800 7E 84 A3 78 */ mr r4, r20
|
|
/* 800A09C4 0009C804 38 A1 00 90 */ addi r5, r1, 0x90
|
|
/* 800A09C8 0009C808 3B 00 00 00 */ li r24, 0x0
|
|
/* 800A09CC 0009C80C 48 00 09 89 */ bl sdpu_extract_uid_seq
|
|
/* 800A09D0 0009C810 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 800A09D4 0009C814 41 82 00 10 */ beq lbl_800A09E4
|
|
/* 800A09D8 0009C818 A0 01 00 90 */ lhz r0, 0x90(r1)
|
|
/* 800A09DC 0009C81C 2C 00 00 00 */ cmpwi r0, 0x0
|
|
/* 800A09E0 0009C820 40 82 00 1C */ bne lbl_800A09FC
|
|
.global lbl_800A09E4
|
|
lbl_800A09E4:
|
|
/* 800A09E4 0009C824 7E A3 AB 78 */ mr r3, r21
|
|
/* 800A09E8 0009C828 7E C4 B3 78 */ mr r4, r22
|
|
/* 800A09EC 0009C82C 38 A0 00 03 */ li r5, 0x3
|
|
/* 800A09F0 0009C830 38 C0 00 00 */ li r6, 0x0
|
|
/* 800A09F4 0009C834 48 00 08 25 */ bl sdpu_build_n_send_error
|
|
/* 800A09F8 0009C838 48 00 03 A8 */ b lbl_800A0DA0
|
|
.global lbl_800A09FC
|
|
lbl_800A09FC:
|
|
/* 800A09FC 0009C83C 88 83 00 00 */ lbz r4, 0x0(r3)
|
|
/* 800A0A00 0009C840 88 03 00 01 */ lbz r0, 0x1(r3)
|
|
/* 800A0A04 0009C844 54 85 40 2E */ slwi r5, r4, 8
|
|
/* 800A0A08 0009C848 A0 95 00 20 */ lhz r4, 0x20(r21)
|
|
/* 800A0A0C 0009C84C 7C 05 02 14 */ add r0, r5, r0
|
|
/* 800A0A10 0009C850 54 1D 04 3E */ clrlwi r29, r0, 16
|
|
/* 800A0A14 0009C854 38 04 FF F6 */ addi r0, r4, -0xa
|
|
/* 800A0A18 0009C858 7C 1D 00 00 */ cmpw r29, r0
|
|
/* 800A0A1C 0009C85C 40 81 00 08 */ ble lbl_800A0A24
|
|
/* 800A0A20 0009C860 54 1D 04 3E */ clrlwi r29, r0, 16
|
|
.global lbl_800A0A24
|
|
lbl_800A0A24:
|
|
/* 800A0A24 0009C864 7E 84 A3 78 */ mr r4, r20
|
|
/* 800A0A28 0009C868 38 A1 00 4C */ addi r5, r1, 0x4c
|
|
/* 800A0A2C 0009C86C 38 63 00 02 */ addi r3, r3, 0x2
|
|
/* 800A0A30 0009C870 48 00 0C 75 */ bl sdpu_extract_attr_seq
|
|
/* 800A0A34 0009C874 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 800A0A38 0009C878 41 82 00 10 */ beq lbl_800A0A48
|
|
/* 800A0A3C 0009C87C A0 01 00 4C */ lhz r0, 0x4c(r1)
|
|
/* 800A0A40 0009C880 2C 00 00 00 */ cmpwi r0, 0x0
|
|
/* 800A0A44 0009C884 40 82 00 1C */ bne lbl_800A0A60
|
|
.global lbl_800A0A48
|
|
lbl_800A0A48:
|
|
/* 800A0A48 0009C888 7E A3 AB 78 */ mr r3, r21
|
|
/* 800A0A4C 0009C88C 7E C4 B3 78 */ mr r4, r22
|
|
/* 800A0A50 0009C890 38 A0 00 03 */ li r5, 0x3
|
|
/* 800A0A54 0009C894 38 C0 00 00 */ li r6, 0x0
|
|
/* 800A0A58 0009C898 48 00 07 C1 */ bl sdpu_build_n_send_error
|
|
/* 800A0A5C 0009C89C 48 00 03 44 */ b lbl_800A0DA0
|
|
.global lbl_800A0A60
|
|
lbl_800A0A60:
|
|
/* 800A0A60 0009C8A0 38 00 00 08 */ li r0, 0x8
|
|
/* 800A0A64 0009C8A4 38 C1 00 04 */ addi r6, r1, 0x4
|
|
/* 800A0A68 0009C8A8 38 A1 00 48 */ addi r5, r1, 0x48
|
|
/* 800A0A6C 0009C8AC 7C 09 03 A6 */ mtctr r0
|
|
.global lbl_800A0A70
|
|
lbl_800A0A70:
|
|
/* 800A0A70 0009C8B0 80 85 00 04 */ lwz r4, 0x4(r5)
|
|
/* 800A0A74 0009C8B4 84 05 00 08 */ lwzu r0, 0x8(r5)
|
|
/* 800A0A78 0009C8B8 90 86 00 04 */ stw r4, 0x4(r6)
|
|
/* 800A0A7C 0009C8BC 94 06 00 08 */ stwu r0, 0x8(r6)
|
|
/* 800A0A80 0009C8C0 42 00 FF F0 */ bdnz lbl_800A0A70
|
|
/* 800A0A84 0009C8C4 A0 05 00 04 */ lhz r0, 0x4(r5)
|
|
/* 800A0A88 0009C8C8 B0 06 00 04 */ sth r0, 0x4(r6)
|
|
/* 800A0A8C 0009C8CC 88 03 00 00 */ lbz r0, 0x0(r3)
|
|
/* 800A0A90 0009C8D0 2C 00 00 00 */ cmpwi r0, 0x0
|
|
/* 800A0A94 0009C8D4 41 82 00 5C */ beq lbl_800A0AF0
|
|
/* 800A0A98 0009C8D8 28 00 00 02 */ cmplwi r0, 0x2
|
|
/* 800A0A9C 0009C8DC 41 82 00 1C */ beq lbl_800A0AB8
|
|
/* 800A0AA0 0009C8E0 7E A3 AB 78 */ mr r3, r21
|
|
/* 800A0AA4 0009C8E4 7E C4 B3 78 */ mr r4, r22
|
|
/* 800A0AA8 0009C8E8 38 A0 00 05 */ li r5, 0x5
|
|
/* 800A0AAC 0009C8EC 38 C0 00 00 */ li r6, 0x0
|
|
/* 800A0AB0 0009C8F0 48 00 07 69 */ bl sdpu_build_n_send_error
|
|
/* 800A0AB4 0009C8F4 48 00 02 EC */ b lbl_800A0DA0
|
|
.global lbl_800A0AB8
|
|
lbl_800A0AB8:
|
|
/* 800A0AB8 0009C8F8 88 03 00 01 */ lbz r0, 0x1(r3)
|
|
/* 800A0ABC 0009C8FC 88 63 00 02 */ lbz r3, 0x2(r3)
|
|
/* 800A0AC0 0009C900 54 04 40 2E */ slwi r4, r0, 8
|
|
/* 800A0AC4 0009C904 A0 15 04 76 */ lhz r0, 0x476(r21)
|
|
/* 800A0AC8 0009C908 7C 64 1A 14 */ add r3, r4, r3
|
|
/* 800A0ACC 0009C90C 54 63 04 3E */ clrlwi r3, r3, 16
|
|
/* 800A0AD0 0009C910 7C 03 00 40 */ cmplw r3, r0
|
|
/* 800A0AD4 0009C914 41 82 01 B0 */ beq lbl_800A0C84
|
|
/* 800A0AD8 0009C918 7E A3 AB 78 */ mr r3, r21
|
|
/* 800A0ADC 0009C91C 7E C4 B3 78 */ mr r4, r22
|
|
/* 800A0AE0 0009C920 38 A0 00 05 */ li r5, 0x5
|
|
/* 800A0AE4 0009C924 38 C0 00 00 */ li r6, 0x0
|
|
/* 800A0AE8 0009C928 48 00 07 31 */ bl sdpu_build_n_send_error
|
|
/* 800A0AEC 0009C92C 48 00 02 B4 */ b lbl_800A0DA0
|
|
.global lbl_800A0AF0
|
|
lbl_800A0AF0:
|
|
/* 800A0AF0 0009C930 38 00 00 00 */ li r0, 0x0
|
|
/* 800A0AF4 0009C934 3B 95 00 29 */ addi r28, r21, 0x29
|
|
/* 800A0AF8 0009C938 B0 15 04 76 */ sth r0, 0x476(r21)
|
|
/* 800A0AFC 0009C93C 38 81 00 90 */ addi r4, r1, 0x90
|
|
/* 800A0B00 0009C940 38 60 00 00 */ li r3, 0x0
|
|
/* 800A0B04 0009C944 4B FF CA F5 */ bl sdp_db_service_search
|
|
/* 800A0B08 0009C948 7C 7A 1B 78 */ mr r26, r3
|
|
/* 800A0B0C 0009C94C 3B E0 00 08 */ li r31, 0x8
|
|
/* 800A0B10 0009C950 3A 80 00 36 */ li r20, 0x36
|
|
/* 800A0B14 0009C954 48 00 01 14 */ b lbl_800A0C28
|
|
.global lbl_800A0B18
|
|
lbl_800A0B18:
|
|
/* 800A0B18 0009C958 38 A1 00 48 */ addi r5, r1, 0x48
|
|
/* 800A0B1C 0009C95C 38 81 00 04 */ addi r4, r1, 0x4
|
|
/* 800A0B20 0009C960 7F E9 03 A6 */ mtctr r31
|
|
.global lbl_800A0B24
|
|
lbl_800A0B24:
|
|
/* 800A0B24 0009C964 80 64 00 04 */ lwz r3, 0x4(r4)
|
|
/* 800A0B28 0009C968 84 04 00 08 */ lwzu r0, 0x8(r4)
|
|
/* 800A0B2C 0009C96C 90 65 00 04 */ stw r3, 0x4(r5)
|
|
/* 800A0B30 0009C970 94 05 00 08 */ stwu r0, 0x8(r5)
|
|
/* 800A0B34 0009C974 42 00 FF F0 */ bdnz lbl_800A0B24
|
|
/* 800A0B38 0009C978 A0 04 00 04 */ lhz r0, 0x4(r4)
|
|
/* 800A0B3C 0009C97C 7F 97 E3 78 */ mr r23, r28
|
|
/* 800A0B40 0009C980 3B 60 00 00 */ li r27, 0x0
|
|
/* 800A0B44 0009C984 3B 9C 00 03 */ addi r28, r28, 0x3
|
|
/* 800A0B48 0009C988 B0 05 00 04 */ sth r0, 0x4(r5)
|
|
/* 800A0B4C 0009C98C 48 00 00 8C */ b lbl_800A0BD8
|
|
.global lbl_800A0B50
|
|
lbl_800A0B50:
|
|
/* 800A0B50 0009C990 57 60 13 BA */ rlwinm r0, r27, 2, 14, 29
|
|
/* 800A0B54 0009C994 3B C1 00 4C */ addi r30, r1, 0x4c
|
|
/* 800A0B58 0009C998 7F DE 02 14 */ add r30, r30, r0
|
|
/* 800A0B5C 0009C99C 7F 43 D3 78 */ mr r3, r26
|
|
/* 800A0B60 0009C9A0 A0 9E 00 02 */ lhz r4, 0x2(r30)
|
|
/* 800A0B64 0009C9A4 A0 BE 00 04 */ lhz r5, 0x4(r30)
|
|
/* 800A0B68 0009C9A8 4B FF CD 01 */ bl sdp_db_find_attr_in_rec
|
|
/* 800A0B6C 0009C9AC 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 800A0B70 0009C9B0 7C 79 1B 78 */ mr r25, r3
|
|
/* 800A0B74 0009C9B4 41 82 00 60 */ beq lbl_800A0BD4
|
|
/* 800A0B78 0009C9B8 38 15 00 26 */ addi r0, r21, 0x26
|
|
/* 800A0B7C 0009C9BC 80 83 00 00 */ lwz r4, 0x0(r3)
|
|
/* 800A0B80 0009C9C0 7C 00 E0 50 */ subf r0, r0, r28
|
|
/* 800A0B84 0009C9C4 54 00 04 3E */ clrlwi r0, r0, 16
|
|
/* 800A0B88 0009C9C8 20 00 03 E8 */ subfic r0, r0, 0x3e8
|
|
/* 800A0B8C 0009C9CC 54 03 04 3E */ clrlwi r3, r0, 16
|
|
/* 800A0B90 0009C9D0 38 03 FF FA */ addi r0, r3, -0x6
|
|
/* 800A0B94 0009C9D4 7C 04 00 40 */ cmplw r4, r0
|
|
/* 800A0B98 0009C9D8 40 81 00 0C */ ble lbl_800A0BA4
|
|
/* 800A0B9C 0009C9DC 3B 00 00 01 */ li r24, 0x1
|
|
/* 800A0BA0 0009C9E0 48 00 00 48 */ b lbl_800A0BE8
|
|
.global lbl_800A0BA4
|
|
lbl_800A0BA4:
|
|
/* 800A0BA4 0009C9E4 7F 83 E3 78 */ mr r3, r28
|
|
/* 800A0BA8 0009C9E8 7F 24 CB 78 */ mr r4, r25
|
|
/* 800A0BAC 0009C9EC 48 00 05 19 */ bl sdpu_build_attrib_entry
|
|
/* 800A0BB0 0009C9F0 A0 9E 00 02 */ lhz r4, 0x2(r30)
|
|
/* 800A0BB4 0009C9F4 7C 7C 1B 78 */ mr r28, r3
|
|
/* 800A0BB8 0009C9F8 A0 1E 00 04 */ lhz r0, 0x4(r30)
|
|
/* 800A0BBC 0009C9FC 7C 04 00 40 */ cmplw r4, r0
|
|
/* 800A0BC0 0009CA00 41 82 00 14 */ beq lbl_800A0BD4
|
|
/* 800A0BC4 0009CA04 A0 79 00 08 */ lhz r3, 0x8(r25)
|
|
/* 800A0BC8 0009CA08 3B 7B FF FF */ addi r27, r27, -0x1
|
|
/* 800A0BCC 0009CA0C 38 03 00 01 */ addi r0, r3, 0x1
|
|
/* 800A0BD0 0009CA10 B0 1E 00 02 */ sth r0, 0x2(r30)
|
|
.global lbl_800A0BD4
|
|
lbl_800A0BD4:
|
|
/* 800A0BD4 0009CA14 3B 7B 00 01 */ addi r27, r27, 0x1
|
|
.global lbl_800A0BD8
|
|
lbl_800A0BD8:
|
|
/* 800A0BD8 0009CA18 A0 01 00 4C */ lhz r0, 0x4c(r1)
|
|
/* 800A0BDC 0009CA1C 57 63 04 3E */ clrlwi r3, r27, 16
|
|
/* 800A0BE0 0009CA20 7C 03 00 40 */ cmplw r3, r0
|
|
/* 800A0BE4 0009CA24 41 80 FF 6C */ blt lbl_800A0B50
|
|
.global lbl_800A0BE8
|
|
lbl_800A0BE8:
|
|
/* 800A0BE8 0009CA28 2C 18 00 00 */ cmpwi r24, 0x0
|
|
/* 800A0BEC 0009CA2C 40 82 00 44 */ bne lbl_800A0C30
|
|
/* 800A0BF0 0009CA30 7C 77 E0 50 */ subf r3, r23, r28
|
|
/* 800A0BF4 0009CA34 38 03 FF FD */ addi r0, r3, -0x3
|
|
/* 800A0BF8 0009CA38 54 03 04 3F */ clrlwi. r3, r0, 16
|
|
/* 800A0BFC 0009CA3C 41 82 00 18 */ beq lbl_800A0C14
|
|
/* 800A0C00 0009CA40 9A 97 00 00 */ stb r20, 0x0(r23)
|
|
/* 800A0C04 0009CA44 54 60 C6 3E */ extrwi r0, r3, 8, 16
|
|
/* 800A0C08 0009CA48 98 17 00 01 */ stb r0, 0x1(r23)
|
|
/* 800A0C0C 0009CA4C 98 77 00 02 */ stb r3, 0x2(r23)
|
|
/* 800A0C10 0009CA50 48 00 00 08 */ b lbl_800A0C18
|
|
.global lbl_800A0C14
|
|
lbl_800A0C14:
|
|
/* 800A0C14 0009CA54 7E FC BB 78 */ mr r28, r23
|
|
.global lbl_800A0C18
|
|
lbl_800A0C18:
|
|
/* 800A0C18 0009CA58 7F 43 D3 78 */ mr r3, r26
|
|
/* 800A0C1C 0009CA5C 38 81 00 90 */ addi r4, r1, 0x90
|
|
/* 800A0C20 0009CA60 4B FF C9 D9 */ bl sdp_db_service_search
|
|
/* 800A0C24 0009CA64 7C 7A 1B 78 */ mr r26, r3
|
|
.global lbl_800A0C28
|
|
lbl_800A0C28:
|
|
/* 800A0C28 0009CA68 2C 1A 00 00 */ cmpwi r26, 0x0
|
|
/* 800A0C2C 0009CA6C 40 82 FE EC */ bne lbl_800A0B18
|
|
.global lbl_800A0C30
|
|
lbl_800A0C30:
|
|
/* 800A0C30 0009CA70 38 15 00 26 */ addi r0, r21, 0x26
|
|
/* 800A0C34 0009CA74 7C 00 E0 50 */ subf r0, r0, r28
|
|
/* 800A0C38 0009CA78 54 04 04 3E */ clrlwi r4, r0, 16
|
|
/* 800A0C3C 0009CA7C B0 15 00 24 */ sth r0, 0x24(r21)
|
|
/* 800A0C40 0009CA80 28 04 00 FF */ cmplwi r4, 0xff
|
|
/* 800A0C44 0009CA84 40 81 00 20 */ ble lbl_800A0C64
|
|
/* 800A0C48 0009CA88 38 64 FF FD */ addi r3, r4, -0x3
|
|
/* 800A0C4C 0009CA8C 38 80 00 36 */ li r4, 0x36
|
|
/* 800A0C50 0009CA90 7C 60 46 70 */ srawi r0, r3, 8
|
|
/* 800A0C54 0009CA94 98 95 00 26 */ stb r4, 0x26(r21)
|
|
/* 800A0C58 0009CA98 98 15 00 27 */ stb r0, 0x27(r21)
|
|
/* 800A0C5C 0009CA9C 98 75 00 28 */ stb r3, 0x28(r21)
|
|
/* 800A0C60 0009CAA0 48 00 00 24 */ b lbl_800A0C84
|
|
.global lbl_800A0C64
|
|
lbl_800A0C64:
|
|
/* 800A0C64 0009CAA4 38 64 FF FD */ addi r3, r4, -0x3
|
|
/* 800A0C68 0009CAA8 38 04 FF FF */ addi r0, r4, -0x1
|
|
/* 800A0C6C 0009CAAC 38 A0 00 01 */ li r5, 0x1
|
|
/* 800A0C70 0009CAB0 38 80 00 35 */ li r4, 0x35
|
|
/* 800A0C74 0009CAB4 B0 B5 04 76 */ sth r5, 0x476(r21)
|
|
/* 800A0C78 0009CAB8 98 95 00 27 */ stb r4, 0x27(r21)
|
|
/* 800A0C7C 0009CABC 98 75 00 28 */ stb r3, 0x28(r21)
|
|
/* 800A0C80 0009CAC0 B0 15 00 24 */ sth r0, 0x24(r21)
|
|
.global lbl_800A0C84
|
|
lbl_800A0C84:
|
|
/* 800A0C84 0009CAC4 38 60 00 02 */ li r3, 0x2
|
|
/* 800A0C88 0009CAC8 4B FD 41 99 */ bl GKI_getpoolbuf
|
|
/* 800A0C8C 0009CACC 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 800A0C90 0009CAD0 7C 79 1B 78 */ mr r25, r3
|
|
/* 800A0C94 0009CAD4 40 82 00 2C */ bne lbl_800A0CC0
|
|
/* 800A0C98 0009CAD8 3C 60 80 50 */ lis r3, sdp_cb@ha
|
|
/* 800A0C9C 0009CADC 38 63 9C 20 */ addi r3, r3, sdp_cb@l
|
|
/* 800A0CA0 0009CAE0 88 03 46 30 */ lbz r0, 0x4630(r3)
|
|
/* 800A0CA4 0009CAE4 28 00 00 01 */ cmplwi r0, 0x1
|
|
/* 800A0CA8 0009CAE8 41 80 00 F8 */ blt lbl_800A0DA0
|
|
/* 800A0CAC 0009CAEC 3C 80 80 44 */ lis r4, "@1122_8043FF1C"@ha
|
|
/* 800A0CB0 0009CAF0 3C 60 00 0A */ lis r3, 0xa
|
|
/* 800A0CB4 0009CAF4 38 84 FF 1C */ addi r4, r4, "@1122_8043FF1C"@l
|
|
/* 800A0CB8 0009CAF8 4B FD 6C A9 */ bl LogMsg_0
|
|
/* 800A0CBC 0009CAFC 48 00 00 E4 */ b lbl_800A0DA0
|
|
.global lbl_800A0CC0
|
|
lbl_800A0CC0:
|
|
/* 800A0CC0 0009CB00 38 00 00 09 */ li r0, 0x9
|
|
/* 800A0CC4 0009CB04 3B 83 00 11 */ addi r28, r3, 0x11
|
|
/* 800A0CC8 0009CB08 B0 03 00 04 */ sth r0, 0x4(r3)
|
|
/* 800A0CCC 0009CB0C 38 60 00 07 */ li r3, 0x7
|
|
/* 800A0CD0 0009CB10 3B DC 00 03 */ addi r30, r28, 0x3
|
|
/* 800A0CD4 0009CB14 56 C0 C6 3E */ extrwi r0, r22, 8, 16
|
|
/* 800A0CD8 0009CB18 98 7C 00 00 */ stb r3, 0x0(r28)
|
|
/* 800A0CDC 0009CB1C 7F DF F3 78 */ mr r31, r30
|
|
/* 800A0CE0 0009CB20 98 1C 00 01 */ stb r0, 0x1(r28)
|
|
/* 800A0CE4 0009CB24 9A DC 00 02 */ stb r22, 0x2(r28)
|
|
/* 800A0CE8 0009CB28 A0 15 00 24 */ lhz r0, 0x24(r21)
|
|
/* 800A0CEC 0009CB2C 7C 00 E8 40 */ cmplw r0, r29
|
|
/* 800A0CF0 0009CB30 41 81 00 08 */ bgt lbl_800A0CF8
|
|
/* 800A0CF4 0009CB34 7C 1D 03 78 */ mr r29, r0
|
|
.global lbl_800A0CF8
|
|
lbl_800A0CF8:
|
|
/* 800A0CF8 0009CB38 57 A0 C6 3E */ extrwi r0, r29, 8, 16
|
|
/* 800A0CFC 0009CB3C 57 A5 04 3E */ clrlwi r5, r29, 16
|
|
/* 800A0D00 0009CB40 98 1E 00 02 */ stb r0, 0x2(r30)
|
|
/* 800A0D04 0009CB44 9B BE 00 03 */ stb r29, 0x3(r30)
|
|
/* 800A0D08 0009CB48 3B DE 00 04 */ addi r30, r30, 0x4
|
|
/* 800A0D0C 0009CB4C 7F C3 F3 78 */ mr r3, r30
|
|
/* 800A0D10 0009CB50 A0 15 04 76 */ lhz r0, 0x476(r21)
|
|
/* 800A0D14 0009CB54 7C 95 02 14 */ add r4, r21, r0
|
|
/* 800A0D18 0009CB58 38 84 00 26 */ addi r4, r4, 0x26
|
|
/* 800A0D1C 0009CB5C 4B F6 32 E5 */ bl memcpy
|
|
/* 800A0D20 0009CB60 A0 15 00 24 */ lhz r0, 0x24(r21)
|
|
/* 800A0D24 0009CB64 57 A3 04 3E */ clrlwi r3, r29, 16
|
|
/* 800A0D28 0009CB68 7F DE 1A 14 */ add r30, r30, r3
|
|
/* 800A0D2C 0009CB6C A0 95 04 76 */ lhz r4, 0x476(r21)
|
|
/* 800A0D30 0009CB70 7C 7D 00 50 */ subf r3, r29, r0
|
|
/* 800A0D34 0009CB74 54 60 04 3F */ clrlwi. r0, r3, 16
|
|
/* 800A0D38 0009CB78 B0 75 00 24 */ sth r3, 0x24(r21)
|
|
/* 800A0D3C 0009CB7C 7C 04 EA 14 */ add r0, r4, r29
|
|
/* 800A0D40 0009CB80 B0 15 04 76 */ sth r0, 0x476(r21)
|
|
/* 800A0D44 0009CB84 41 82 00 28 */ beq lbl_800A0D6C
|
|
/* 800A0D48 0009CB88 38 00 00 02 */ li r0, 0x2
|
|
/* 800A0D4C 0009CB8C 98 1E 00 00 */ stb r0, 0x0(r30)
|
|
/* 800A0D50 0009CB90 A0 15 04 76 */ lhz r0, 0x476(r21)
|
|
/* 800A0D54 0009CB94 7C 00 46 70 */ srawi r0, r0, 8
|
|
/* 800A0D58 0009CB98 98 1E 00 01 */ stb r0, 0x1(r30)
|
|
/* 800A0D5C 0009CB9C A0 15 04 76 */ lhz r0, 0x476(r21)
|
|
/* 800A0D60 0009CBA0 98 1E 00 02 */ stb r0, 0x2(r30)
|
|
/* 800A0D64 0009CBA4 3B DE 00 03 */ addi r30, r30, 0x3
|
|
/* 800A0D68 0009CBA8 48 00 00 10 */ b lbl_800A0D78
|
|
.global lbl_800A0D6C
|
|
lbl_800A0D6C:
|
|
/* 800A0D6C 0009CBAC 38 00 00 00 */ li r0, 0x0
|
|
/* 800A0D70 0009CBB0 98 1E 00 00 */ stb r0, 0x0(r30)
|
|
/* 800A0D74 0009CBB4 3B DE 00 01 */ addi r30, r30, 0x1
|
|
.global lbl_800A0D78
|
|
lbl_800A0D78:
|
|
/* 800A0D78 0009CBB8 7C 7F F0 50 */ subf r3, r31, r30
|
|
/* 800A0D7C 0009CBBC 7C 1C F0 50 */ subf r0, r28, r30
|
|
/* 800A0D80 0009CBC0 38 A3 FF FE */ addi r5, r3, -0x2
|
|
/* 800A0D84 0009CBC4 7F 24 CB 78 */ mr r4, r25
|
|
/* 800A0D88 0009CBC8 54 A3 C6 3E */ extrwi r3, r5, 8, 16
|
|
/* 800A0D8C 0009CBCC 98 7F 00 00 */ stb r3, 0x0(r31)
|
|
/* 800A0D90 0009CBD0 98 BF 00 01 */ stb r5, 0x1(r31)
|
|
/* 800A0D94 0009CBD4 B0 19 00 02 */ sth r0, 0x2(r25)
|
|
/* 800A0D98 0009CBD8 A0 75 00 22 */ lhz r3, 0x22(r21)
|
|
/* 800A0D9C 0009CBDC 4B FE FD 05 */ bl L2CA_DataWrite
|
|
.global lbl_800A0DA0
|
|
lbl_800A0DA0:
|
|
/* 800A0DA0 0009CBE0 39 61 01 F0 */ addi r11, r1, 0x1f0
|
|
/* 800A0DA4 0009CBE4 4B F6 65 C9 */ bl lbl_8000736C
|
|
/* 800A0DA8 0009CBE8 80 01 01 F4 */ lwz r0, 0x1f4(r1)
|
|
/* 800A0DAC 0009CBEC 7C 08 03 A6 */ mtlr r0
|
|
/* 800A0DB0 0009CBF0 38 21 01 F0 */ addi r1, r1, 0x1f0
|
|
/* 800A0DB4 0009CBF4 4E 80 00 20 */ blr
|
|
.include "macros.inc"
|
|
|
|
.section .data, "wa" # 0x80421040 - 0x80496700 ; 0x000756C0
|
|
.global "@1040_8043FEF8"
|
|
"@1040_8043FEF8":
|
|
|
|
.4byte 0x53445020
|
|
.4byte 0x2D207365
|
|
.4byte 0x72766572
|
|
.4byte 0x20676F74
|
|
.4byte 0x20756E6B
|
|
.4byte 0x6E6F776E
|
|
.4byte 0x20504455
|
|
.4byte 0x3A203078
|
|
.4byte 0x25780000
|
|
|
|
.global "@1122_8043FF1C"
|
|
"@1122_8043FF1C":
|
|
|
|
.4byte 0x53445020
|
|
.4byte 0x2D206E6F
|
|
.4byte 0x20627566
|
|
.4byte 0x20666F72
|
|
.4byte 0x20736561
|
|
.4byte 0x72636820
|
|
.4byte 0x72737000
|