.include "macros.inc" .section .text, "ax" # 0x80006980 - 0x803E1E60 .global CXCompressLZ CXCompressLZ: /* 802A2244 0029DEA4 94 21 FF B0 */ stwu r1, -0x50(r1) /* 802A2248 0029DEA8 7C 08 02 A6 */ mflr r0 /* 802A224C 0029DEAC 90 01 00 54 */ stw r0, 0x54(r1) /* 802A2250 0029DEB0 39 61 00 50 */ addi r11, r1, 0x50 /* 802A2254 0029DEB4 4B F2 4E BD */ bl _savegpr_21 /* 802A2258 0029DEB8 3C 00 01 00 */ lis r0, 0x100 /* 802A225C 0029DEBC 7C 77 1B 78 */ mr r23, r3 /* 802A2260 0029DEC0 7C 04 00 40 */ cmplw r4, r0 /* 802A2264 0029DEC4 7C 98 23 78 */ mr r24, r4 /* 802A2268 0029DEC8 40 80 00 30 */ bge lbl_802A2298 /* 802A226C 0029DECC 54 80 40 2E */ slwi r0, r4, 8 /* 802A2270 0029DED0 3B 25 00 04 */ addi r25, r5, 4 /* 802A2274 0029DED4 60 04 00 10 */ ori r4, r0, 0x10 /* 802A2278 0029DED8 3B C0 00 04 */ li r30, 4 /* 802A227C 0029DEDC 54 83 42 1E */ rlwinm r3, r4, 8, 8, 0xf /* 802A2280 0029DEE0 54 80 C4 2E */ rlwinm r0, r4, 0x18, 0x10, 0x17 /* 802A2284 0029DEE4 50 83 C0 C6 */ rlwimi r3, r4, 0x18, 3, 3 /* 802A2288 0029DEE8 50 80 46 3E */ rlwimi r0, r4, 8, 0x18, 0x1f /* 802A228C 0029DEEC 7C 60 03 78 */ or r0, r3, r0 /* 802A2290 0029DEF0 90 05 00 00 */ stw r0, 0(r5) /* 802A2294 0029DEF4 48 00 00 2C */ b lbl_802A22C0 lbl_802A2298: /* 802A2298 0029DEF8 54 83 42 1E */ rlwinm r3, r4, 8, 8, 0xf /* 802A229C 0029DEFC 54 80 C4 2E */ rlwinm r0, r4, 0x18, 0x10, 0x17 /* 802A22A0 0029DF00 3C E0 10 00 */ lis r7, 0x1000 /* 802A22A4 0029DF04 3B 25 00 08 */ addi r25, r5, 8 /* 802A22A8 0029DF08 50 83 C0 0E */ rlwimi r3, r4, 0x18, 0, 7 /* 802A22AC 0029DF0C 50 80 46 3E */ rlwimi r0, r4, 8, 0x18, 0x1f /* 802A22B0 0029DF10 7C 60 03 78 */ or r0, r3, r0 /* 802A22B4 0029DF14 90 E5 00 00 */ stw r7, 0(r5) /* 802A22B8 0029DF18 3B C0 00 08 */ li r30, 8 /* 802A22BC 0029DF1C 90 05 00 04 */ stw r0, 4(r5) lbl_802A22C0: /* 802A22C0 0029DF20 38 E6 20 00 */ addi r7, r6, 0x2000 /* 802A22C4 0029DF24 38 A6 22 00 */ addi r5, r6, 0x2200 /* 802A22C8 0029DF28 38 80 00 20 */ li r4, 0x20 /* 802A22CC 0029DF2C 7F 1A C3 78 */ mr r26, r24 /* 802A22D0 0029DF30 90 C1 00 14 */ stw r6, 0x14(r1) /* 802A22D4 0029DF34 38 60 00 00 */ li r3, 0 /* 802A22D8 0029DF38 38 00 FF FF */ li r0, -1 /* 802A22DC 0029DF3C 90 E1 00 18 */ stw r7, 0x18(r1) /* 802A22E0 0029DF40 90 A1 00 1C */ stw r5, 0x1c(r1) /* 802A22E4 0029DF44 7C 89 03 A6 */ mtctr r4 lbl_802A22E8: /* 802A22E8 0029DF48 80 A1 00 18 */ lwz r5, 0x18(r1) /* 802A22EC 0029DF4C 54 64 0B FC */ rlwinm r4, r3, 1, 0xf, 0x1e /* 802A22F0 0029DF50 38 63 00 08 */ addi r3, r3, 8 /* 802A22F4 0029DF54 7C 05 23 2E */ sthx r0, r5, r4 /* 802A22F8 0029DF58 80 A1 00 1C */ lwz r5, 0x1c(r1) /* 802A22FC 0029DF5C 7C 05 23 2E */ sthx r0, r5, r4 /* 802A2300 0029DF60 80 A1 00 18 */ lwz r5, 0x18(r1) /* 802A2304 0029DF64 7C A5 22 14 */ add r5, r5, r4 /* 802A2308 0029DF68 B0 05 00 02 */ sth r0, 2(r5) /* 802A230C 0029DF6C 80 A1 00 1C */ lwz r5, 0x1c(r1) /* 802A2310 0029DF70 7C A5 22 14 */ add r5, r5, r4 /* 802A2314 0029DF74 B0 05 00 02 */ sth r0, 2(r5) /* 802A2318 0029DF78 80 A1 00 18 */ lwz r5, 0x18(r1) /* 802A231C 0029DF7C 7C A5 22 14 */ add r5, r5, r4 /* 802A2320 0029DF80 B0 05 00 04 */ sth r0, 4(r5) /* 802A2324 0029DF84 80 A1 00 1C */ lwz r5, 0x1c(r1) /* 802A2328 0029DF88 7C A5 22 14 */ add r5, r5, r4 /* 802A232C 0029DF8C B0 05 00 04 */ sth r0, 4(r5) /* 802A2330 0029DF90 80 A1 00 18 */ lwz r5, 0x18(r1) /* 802A2334 0029DF94 7C A5 22 14 */ add r5, r5, r4 /* 802A2338 0029DF98 B0 05 00 06 */ sth r0, 6(r5) /* 802A233C 0029DF9C 80 A1 00 1C */ lwz r5, 0x1c(r1) /* 802A2340 0029DFA0 7C A5 22 14 */ add r5, r5, r4 /* 802A2344 0029DFA4 B0 05 00 06 */ sth r0, 6(r5) /* 802A2348 0029DFA8 80 A1 00 18 */ lwz r5, 0x18(r1) /* 802A234C 0029DFAC 7C A5 22 14 */ add r5, r5, r4 /* 802A2350 0029DFB0 B0 05 00 08 */ sth r0, 8(r5) /* 802A2354 0029DFB4 80 A1 00 1C */ lwz r5, 0x1c(r1) /* 802A2358 0029DFB8 7C A5 22 14 */ add r5, r5, r4 /* 802A235C 0029DFBC B0 05 00 08 */ sth r0, 8(r5) /* 802A2360 0029DFC0 80 A1 00 18 */ lwz r5, 0x18(r1) /* 802A2364 0029DFC4 7C A5 22 14 */ add r5, r5, r4 /* 802A2368 0029DFC8 B0 05 00 0A */ sth r0, 0xa(r5) /* 802A236C 0029DFCC 80 A1 00 1C */ lwz r5, 0x1c(r1) /* 802A2370 0029DFD0 7C A5 22 14 */ add r5, r5, r4 /* 802A2374 0029DFD4 B0 05 00 0A */ sth r0, 0xa(r5) /* 802A2378 0029DFD8 80 A1 00 18 */ lwz r5, 0x18(r1) /* 802A237C 0029DFDC 7C A5 22 14 */ add r5, r5, r4 /* 802A2380 0029DFE0 B0 05 00 0C */ sth r0, 0xc(r5) /* 802A2384 0029DFE4 80 A1 00 1C */ lwz r5, 0x1c(r1) /* 802A2388 0029DFE8 7C A5 22 14 */ add r5, r5, r4 /* 802A238C 0029DFEC B0 05 00 0C */ sth r0, 0xc(r5) /* 802A2390 0029DFF0 80 A1 00 18 */ lwz r5, 0x18(r1) /* 802A2394 0029DFF4 7C A5 22 14 */ add r5, r5, r4 /* 802A2398 0029DFF8 B0 05 00 0E */ sth r0, 0xe(r5) /* 802A239C 0029DFFC 80 A1 00 1C */ lwz r5, 0x1c(r1) /* 802A23A0 0029E000 7C 85 22 14 */ add r4, r5, r4 /* 802A23A4 0029E004 B0 04 00 0E */ sth r0, 0xe(r4) /* 802A23A8 0029E008 42 00 FF 40 */ bdnz lbl_802A22E8 /* 802A23AC 0029E00C 38 00 00 00 */ li r0, 0 /* 802A23B0 0029E010 B0 01 00 10 */ sth r0, 0x10(r1) /* 802A23B4 0029E014 B0 01 00 12 */ sth r0, 0x12(r1) /* 802A23B8 0029E018 48 00 01 04 */ b lbl_802A24BC lbl_802A23BC: /* 802A23BC 0029E01C 7F 3C CB 78 */ mr r28, r25 /* 802A23C0 0029E020 3B A0 00 00 */ li r29, 0 /* 802A23C4 0029E024 3B 60 00 00 */ li r27, 0 /* 802A23C8 0029E028 3B 39 00 01 */ addi r25, r25, 1 /* 802A23CC 0029E02C 3B DE 00 01 */ addi r30, r30, 1 lbl_802A23D0: /* 802A23D0 0029E030 2C 18 00 00 */ cmpwi r24, 0 /* 802A23D4 0029E034 57 BD 0E 3C */ rlwinm r29, r29, 1, 0x18, 0x1e /* 802A23D8 0029E038 41 82 00 D4 */ beq lbl_802A24AC /* 802A23DC 0029E03C 7E E4 BB 78 */ mr r4, r23 /* 802A23E0 0029E040 7F 05 C3 78 */ mr r5, r24 /* 802A23E4 0029E044 38 61 00 10 */ addi r3, r1, 0x10 /* 802A23E8 0029E048 38 C1 00 08 */ addi r6, r1, 8 /* 802A23EC 0029E04C 48 00 01 1D */ bl SearchLZ /* 802A23F0 0029E050 54 7F 06 3F */ clrlwi. r31, r3, 0x18 /* 802A23F4 0029E054 41 82 00 80 */ beq lbl_802A2474 /* 802A23F8 0029E058 38 1E 00 02 */ addi r0, r30, 2 /* 802A23FC 0029E05C 63 BD 00 01 */ ori r29, r29, 1 /* 802A2400 0029E060 7C 00 D0 40 */ cmplw r0, r26 /* 802A2404 0029E064 41 80 00 0C */ blt lbl_802A2410 /* 802A2408 0029E068 38 60 00 00 */ li r3, 0 /* 802A240C 0029E06C 48 00 00 E4 */ b lbl_802A24F0 lbl_802A2410: /* 802A2410 0029E070 A0 61 00 08 */ lhz r3, 8(r1) /* 802A2414 0029E074 38 1F FF FD */ addi r0, r31, -3 /* 802A2418 0029E078 54 04 20 36 */ slwi r4, r0, 4 /* 802A241C 0029E07C 7E F6 BB 78 */ mr r22, r23 /* 802A2420 0029E080 38 03 FF FF */ addi r0, r3, -1 /* 802A2424 0029E084 3A A0 00 00 */ li r21, 0 /* 802A2428 0029E088 7C 00 46 70 */ srawi r0, r0, 8 /* 802A242C 0029E08C 3B DE 00 02 */ addi r30, r30, 2 /* 802A2430 0029E090 7C 80 03 78 */ or r0, r4, r0 /* 802A2434 0029E094 98 19 00 00 */ stb r0, 0(r25) /* 802A2438 0029E098 A0 61 00 08 */ lhz r3, 8(r1) /* 802A243C 0029E09C 38 03 FF FF */ addi r0, r3, -1 /* 802A2440 0029E0A0 98 19 00 01 */ stb r0, 1(r25) /* 802A2444 0029E0A4 3B 39 00 02 */ addi r25, r25, 2 /* 802A2448 0029E0A8 48 00 00 18 */ b lbl_802A2460 lbl_802A244C: /* 802A244C 0029E0AC 7E C4 B3 78 */ mr r4, r22 /* 802A2450 0029E0B0 38 61 00 10 */ addi r3, r1, 0x10 /* 802A2454 0029E0B4 3A D6 00 01 */ addi r22, r22, 1 /* 802A2458 0029E0B8 48 00 01 F9 */ bl SlideByte /* 802A245C 0029E0BC 3A B5 00 01 */ addi r21, r21, 1 lbl_802A2460: /* 802A2460 0029E0C0 7C 15 F8 40 */ cmplw r21, r31 /* 802A2464 0029E0C4 41 80 FF E8 */ blt lbl_802A244C /* 802A2468 0029E0C8 7E F7 FA 14 */ add r23, r23, r31 /* 802A246C 0029E0CC 7F 1F C0 50 */ subf r24, r31, r24 /* 802A2470 0029E0D0 48 00 00 3C */ b lbl_802A24AC lbl_802A2474: /* 802A2474 0029E0D4 38 1E 00 01 */ addi r0, r30, 1 /* 802A2478 0029E0D8 7C 00 D0 40 */ cmplw r0, r26 /* 802A247C 0029E0DC 41 80 00 0C */ blt lbl_802A2488 /* 802A2480 0029E0E0 38 60 00 00 */ li r3, 0 /* 802A2484 0029E0E4 48 00 00 6C */ b lbl_802A24F0 lbl_802A2488: /* 802A2488 0029E0E8 7E E4 BB 78 */ mr r4, r23 /* 802A248C 0029E0EC 38 61 00 10 */ addi r3, r1, 0x10 /* 802A2490 0029E0F0 48 00 01 C1 */ bl SlideByte /* 802A2494 0029E0F4 88 17 00 00 */ lbz r0, 0(r23) /* 802A2498 0029E0F8 3B 18 FF FF */ addi r24, r24, -1 /* 802A249C 0029E0FC 3B DE 00 01 */ addi r30, r30, 1 /* 802A24A0 0029E100 3A F7 00 01 */ addi r23, r23, 1 /* 802A24A4 0029E104 98 19 00 00 */ stb r0, 0(r25) /* 802A24A8 0029E108 3B 39 00 01 */ addi r25, r25, 1 lbl_802A24AC: /* 802A24AC 0029E10C 3B 7B 00 01 */ addi r27, r27, 1 /* 802A24B0 0029E110 28 1B 00 08 */ cmplwi r27, 8 /* 802A24B4 0029E114 41 80 FF 1C */ blt lbl_802A23D0 /* 802A24B8 0029E118 9B BC 00 00 */ stb r29, 0(r28) lbl_802A24BC: /* 802A24BC 0029E11C 2C 18 00 00 */ cmpwi r24, 0 /* 802A24C0 0029E120 40 82 FE FC */ bne lbl_802A23BC /* 802A24C4 0029E124 38 80 00 00 */ li r4, 0 /* 802A24C8 0029E128 38 60 00 00 */ li r3, 0 /* 802A24CC 0029E12C 48 00 00 10 */ b lbl_802A24DC lbl_802A24D0: /* 802A24D0 0029E130 98 79 00 00 */ stb r3, 0(r25) /* 802A24D4 0029E134 3B 39 00 01 */ addi r25, r25, 1 /* 802A24D8 0029E138 38 84 00 01 */ addi r4, r4, 1 lbl_802A24DC: /* 802A24DC 0029E13C 54 80 06 3E */ clrlwi r0, r4, 0x18 /* 802A24E0 0029E140 7C 1E 02 14 */ add r0, r30, r0 /* 802A24E4 0029E144 54 00 07 BF */ clrlwi. r0, r0, 0x1e /* 802A24E8 0029E148 40 82 FF E8 */ bne lbl_802A24D0 /* 802A24EC 0029E14C 7F C3 F3 78 */ mr r3, r30 lbl_802A24F0: /* 802A24F0 0029E150 39 61 00 50 */ addi r11, r1, 0x50 /* 802A24F4 0029E154 4B F2 4C 69 */ bl _restgpr_21 /* 802A24F8 0029E158 80 01 00 54 */ lwz r0, 0x54(r1) /* 802A24FC 0029E15C 7C 08 03 A6 */ mtlr r0 /* 802A2500 0029E160 38 21 00 50 */ addi r1, r1, 0x50 /* 802A2504 0029E164 4E 80 00 20 */ blr SearchLZ: /* 802A2508 0029E168 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802A250C 0029E16C 7C 08 02 A6 */ mflr r0 /* 802A2510 0029E170 90 01 00 24 */ stw r0, 0x24(r1) /* 802A2514 0029E174 39 61 00 20 */ addi r11, r1, 0x20 /* 802A2518 0029E178 4B F2 4C 11 */ bl _savegpr_27 /* 802A251C 0029E17C 28 05 00 03 */ cmplwi r5, 3 /* 802A2520 0029E180 80 E3 00 04 */ lwz r7, 4(r3) /* 802A2524 0029E184 A1 63 00 00 */ lhz r11, 0(r3) /* 802A2528 0029E188 38 00 00 02 */ li r0, 2 /* 802A252C 0029E18C A1 03 00 02 */ lhz r8, 2(r3) /* 802A2530 0029E190 40 80 00 0C */ bge lbl_802A253C /* 802A2534 0029E194 38 60 00 00 */ li r3, 0 /* 802A2538 0029E198 48 00 01 00 */ b lbl_802A2638 lbl_802A253C: /* 802A253C 0029E19C 89 24 00 00 */ lbz r9, 0(r4) /* 802A2540 0029E1A0 7D 08 20 50 */ subf r8, r8, r4 /* 802A2544 0029E1A4 81 43 00 08 */ lwz r10, 8(r3) /* 802A2548 0029E1A8 7D 8B 20 50 */ subf r12, r11, r4 /* 802A254C 0029E1AC 55 23 08 3C */ slwi r3, r9, 1 /* 802A2550 0029E1B0 7D 2B 40 50 */ subf r9, r11, r8 /* 802A2554 0029E1B4 7F 6A 1A AE */ lhax r27, r10, r3 /* 802A2558 0029E1B8 48 00 00 BC */ b lbl_802A2614 lbl_802A255C: /* 802A255C 0029E1BC 7C 1B 58 00 */ cmpw r27, r11 /* 802A2560 0029E1C0 40 80 00 0C */ bge lbl_802A256C /* 802A2564 0029E1C4 7F EC DA 14 */ add r31, r12, r27 /* 802A2568 0029E1C8 48 00 00 08 */ b lbl_802A2570 lbl_802A256C: /* 802A256C 0029E1CC 7F E9 DA 14 */ add r31, r9, r27 lbl_802A2570: /* 802A2570 0029E1D0 89 1F 00 01 */ lbz r8, 1(r31) /* 802A2574 0029E1D4 88 64 00 01 */ lbz r3, 1(r4) /* 802A2578 0029E1D8 7C 08 18 40 */ cmplw r8, r3 /* 802A257C 0029E1DC 40 82 00 14 */ bne lbl_802A2590 /* 802A2580 0029E1E0 89 1F 00 02 */ lbz r8, 2(r31) /* 802A2584 0029E1E4 88 64 00 02 */ lbz r3, 2(r4) /* 802A2588 0029E1E8 7C 08 18 40 */ cmplw r8, r3 /* 802A258C 0029E1EC 41 82 00 10 */ beq lbl_802A259C lbl_802A2590: /* 802A2590 0029E1F0 57 63 08 3C */ slwi r3, r27, 1 /* 802A2594 0029E1F4 7F 67 1A AE */ lhax r27, r7, r3 /* 802A2598 0029E1F8 48 00 00 7C */ b lbl_802A2614 lbl_802A259C: /* 802A259C 0029E1FC 7D 5F 20 50 */ subf r10, r31, r4 /* 802A25A0 0029E200 2C 0A 00 02 */ cmpwi r10, 2 /* 802A25A4 0029E204 41 80 00 78 */ blt lbl_802A261C /* 802A25A8 0029E208 3B DF 00 03 */ addi r30, r31, 3 /* 802A25AC 0029E20C 3B E4 00 03 */ addi r31, r4, 3 /* 802A25B0 0029E210 3B 80 00 03 */ li r28, 3 /* 802A25B4 0029E214 48 00 00 1C */ b lbl_802A25D0 lbl_802A25B8: /* 802A25B8 0029E218 3B 9C 00 01 */ addi r28, r28, 1 /* 802A25BC 0029E21C 3B FF 00 01 */ addi r31, r31, 1 /* 802A25C0 0029E220 57 83 06 3E */ clrlwi r3, r28, 0x18 /* 802A25C4 0029E224 3B DE 00 01 */ addi r30, r30, 1 /* 802A25C8 0029E228 28 03 00 12 */ cmplwi r3, 0x12 /* 802A25CC 0029E22C 41 82 00 20 */ beq lbl_802A25EC lbl_802A25D0: /* 802A25D0 0029E230 7C 64 F8 50 */ subf r3, r4, r31 /* 802A25D4 0029E234 7C 03 28 40 */ cmplw r3, r5 /* 802A25D8 0029E238 40 80 00 14 */ bge lbl_802A25EC /* 802A25DC 0029E23C 89 1F 00 00 */ lbz r8, 0(r31) /* 802A25E0 0029E240 88 7E 00 00 */ lbz r3, 0(r30) /* 802A25E4 0029E244 7C 08 18 40 */ cmplw r8, r3 /* 802A25E8 0029E248 41 82 FF D0 */ beq lbl_802A25B8 lbl_802A25EC: /* 802A25EC 0029E24C 57 88 06 3E */ clrlwi r8, r28, 0x18 /* 802A25F0 0029E250 54 03 06 3E */ clrlwi r3, r0, 0x18 /* 802A25F4 0029E254 7C 08 18 40 */ cmplw r8, r3 /* 802A25F8 0029E258 40 81 00 14 */ ble lbl_802A260C /* 802A25FC 0029E25C 28 08 00 12 */ cmplwi r8, 0x12 /* 802A2600 0029E260 7F 80 E3 78 */ mr r0, r28 /* 802A2604 0029E264 55 5D 04 3E */ clrlwi r29, r10, 0x10 /* 802A2608 0029E268 41 82 00 14 */ beq lbl_802A261C lbl_802A260C: /* 802A260C 0029E26C 57 63 08 3C */ slwi r3, r27, 1 /* 802A2610 0029E270 7F 67 1A AE */ lhax r27, r7, r3 lbl_802A2614: /* 802A2614 0029E274 2C 1B FF FF */ cmpwi r27, -1 /* 802A2618 0029E278 40 82 FF 44 */ bne lbl_802A255C lbl_802A261C: /* 802A261C 0029E27C 54 03 06 3E */ clrlwi r3, r0, 0x18 /* 802A2620 0029E280 28 03 00 03 */ cmplwi r3, 3 /* 802A2624 0029E284 40 80 00 0C */ bge lbl_802A2630 /* 802A2628 0029E288 38 60 00 00 */ li r3, 0 /* 802A262C 0029E28C 48 00 00 0C */ b lbl_802A2638 lbl_802A2630: /* 802A2630 0029E290 B3 A6 00 00 */ sth r29, 0(r6) /* 802A2634 0029E294 7C 03 03 78 */ mr r3, r0 lbl_802A2638: /* 802A2638 0029E298 39 61 00 20 */ addi r11, r1, 0x20 /* 802A263C 0029E29C 4B F2 4B 39 */ bl _restgpr_27 /* 802A2640 0029E2A0 80 01 00 24 */ lwz r0, 0x24(r1) /* 802A2644 0029E2A4 7C 08 03 A6 */ mtlr r0 /* 802A2648 0029E2A8 38 21 00 20 */ addi r1, r1, 0x20 /* 802A264C 0029E2AC 4E 80 00 20 */ blr SlideByte: /* 802A2650 0029E2B0 A0 A3 00 02 */ lhz r5, 2(r3) /* 802A2654 0029E2B4 88 E4 00 00 */ lbz r7, 0(r4) /* 802A2658 0029E2B8 28 05 10 00 */ cmplwi r5, 0x1000 /* 802A265C 0029E2BC 81 23 00 08 */ lwz r9, 8(r3) /* 802A2660 0029E2C0 81 43 00 04 */ lwz r10, 4(r3) /* 802A2664 0029E2C4 81 63 00 0C */ lwz r11, 0xc(r3) /* 802A2668 0029E2C8 A0 C3 00 00 */ lhz r6, 0(r3) /* 802A266C 0029E2CC 40 82 00 34 */ bne lbl_802A26A0 /* 802A2670 0029E2D0 88 04 F0 00 */ lbz r0, -0x1000(r4) /* 802A2674 0029E2D4 54 04 08 3C */ slwi r4, r0, 1 /* 802A2678 0029E2D8 7C 09 22 AE */ lhax r0, r9, r4 /* 802A267C 0029E2DC 54 00 08 3C */ slwi r0, r0, 1 /* 802A2680 0029E2E0 7C 0A 02 AE */ lhax r0, r10, r0 /* 802A2684 0029E2E4 2C 00 FF FF */ cmpwi r0, -1 /* 802A2688 0029E2E8 7C 09 23 2E */ sthx r0, r9, r4 /* 802A268C 0029E2EC 40 82 00 0C */ bne lbl_802A2698 /* 802A2690 0029E2F0 38 00 FF FF */ li r0, -1 /* 802A2694 0029E2F4 7C 0B 23 2E */ sthx r0, r11, r4 lbl_802A2698: /* 802A2698 0029E2F8 7C C8 33 78 */ mr r8, r6 /* 802A269C 0029E2FC 48 00 00 08 */ b lbl_802A26A4 lbl_802A26A0: /* 802A26A0 0029E300 7C A8 2B 78 */ mr r8, r5 lbl_802A26A4: /* 802A26A4 0029E304 54 E4 0D FC */ rlwinm r4, r7, 1, 0x17, 0x1e /* 802A26A8 0029E308 7C 0B 22 AE */ lhax r0, r11, r4 /* 802A26AC 0029E30C 2C 00 FF FF */ cmpwi r0, -1 /* 802A26B0 0029E310 40 82 00 0C */ bne lbl_802A26BC /* 802A26B4 0029E314 7D 09 23 2E */ sthx r8, r9, r4 /* 802A26B8 0029E318 48 00 00 0C */ b lbl_802A26C4 lbl_802A26BC: /* 802A26BC 0029E31C 54 00 08 3C */ slwi r0, r0, 1 /* 802A26C0 0029E320 7D 0A 03 2E */ sthx r8, r10, r0 lbl_802A26C4: /* 802A26C4 0029E324 7D 0B 23 2E */ sthx r8, r11, r4 /* 802A26C8 0029E328 28 05 10 00 */ cmplwi r5, 0x1000 /* 802A26CC 0029E32C 55 00 0B FC */ rlwinm r0, r8, 1, 0xf, 0x1e /* 802A26D0 0029E330 38 80 FF FF */ li r4, -1 /* 802A26D4 0029E334 7C 8A 03 2E */ sthx r4, r10, r0 /* 802A26D8 0029E338 40 82 00 24 */ bne lbl_802A26FC /* 802A26DC 0029E33C 38 86 00 01 */ addi r4, r6, 1 /* 802A26E0 0029E340 54 80 A0 16 */ slwi r0, r4, 0x14 /* 802A26E4 0029E344 54 84 0F FE */ srwi r4, r4, 0x1f /* 802A26E8 0029E348 7C 04 00 50 */ subf r0, r4, r0 /* 802A26EC 0029E34C 54 00 60 3E */ rotlwi r0, r0, 0xc /* 802A26F0 0029E350 7C 00 22 14 */ add r0, r0, r4 /* 802A26F4 0029E354 B0 03 00 00 */ sth r0, 0(r3) /* 802A26F8 0029E358 4E 80 00 20 */ blr lbl_802A26FC: /* 802A26FC 0029E35C A0 83 00 02 */ lhz r4, 2(r3) /* 802A2700 0029E360 38 04 00 01 */ addi r0, r4, 1 /* 802A2704 0029E364 B0 03 00 02 */ sth r0, 2(r3) /* 802A2708 0029E368 4E 80 00 20 */ blr