mirror of https://github.com/PrimeDecomp/prime.git
750 lines
34 KiB
ArmAsm
750 lines
34 KiB
ArmAsm
.include "macros.inc"
|
|
|
|
.section .data
|
|
.balign 8
|
|
|
|
.global lbl_803EE468
|
|
lbl_803EE468:
|
|
# ROM: 0x3EB468
|
|
.4byte lbl_80342480
|
|
.4byte lbl_80342548
|
|
.4byte lbl_803426BC
|
|
.4byte lbl_8034277C
|
|
.4byte lbl_803428C4
|
|
.4byte lbl_80342974
|
|
.4byte lbl_80342AE8
|
|
.4byte lbl_80342C00
|
|
.4byte lbl_80342C7C
|
|
.4byte lbl_80342CB8
|
|
|
|
.section .text, "ax"
|
|
|
|
.global inflate_codes_free
|
|
inflate_codes_free:
|
|
/* 803423D4 0033F334 94 21 FF F0 */ stwu r1, -0x10(r1)
|
|
/* 803423D8 0033F338 7C 08 02 A6 */ mflr r0
|
|
/* 803423DC 0033F33C 7C 85 23 78 */ mr r5, r4
|
|
/* 803423E0 0033F340 90 01 00 14 */ stw r0, 0x14(r1)
|
|
/* 803423E4 0033F344 81 84 00 24 */ lwz r12, 0x24(r4)
|
|
/* 803423E8 0033F348 7C 64 1B 78 */ mr r4, r3
|
|
/* 803423EC 0033F34C 80 65 00 28 */ lwz r3, 0x28(r5)
|
|
/* 803423F0 0033F350 7D 89 03 A6 */ mtctr r12
|
|
/* 803423F4 0033F354 4E 80 04 21 */ bctrl
|
|
/* 803423F8 0033F358 80 01 00 14 */ lwz r0, 0x14(r1)
|
|
/* 803423FC 0033F35C 7C 08 03 A6 */ mtlr r0
|
|
/* 80342400 0033F360 38 21 00 10 */ addi r1, r1, 0x10
|
|
/* 80342404 0033F364 4E 80 00 20 */ blr
|
|
|
|
.global inflate_codes
|
|
inflate_codes:
|
|
/* 80342408 0033F368 94 21 FF D0 */ stwu r1, -0x30(r1)
|
|
/* 8034240C 0033F36C 7C 08 02 A6 */ mflr r0
|
|
/* 80342410 0033F370 90 01 00 34 */ stw r0, 0x34(r1)
|
|
/* 80342414 0033F374 BE E1 00 0C */ stmw r23, 0xc(r1)
|
|
/* 80342418 0033F378 7C 77 1B 78 */ mr r23, r3
|
|
/* 8034241C 0033F37C 7C 98 23 78 */ mr r24, r4
|
|
/* 80342420 0033F380 80 C3 00 34 */ lwz r6, 0x34(r3)
|
|
/* 80342424 0033F384 80 03 00 30 */ lwz r0, 0x30(r3)
|
|
/* 80342428 0033F388 83 23 00 04 */ lwz r25, 4(r3)
|
|
/* 8034242C 0033F38C 7C 06 00 40 */ cmplw r6, r0
|
|
/* 80342430 0033F390 83 84 00 00 */ lwz r28, 0(r4)
|
|
/* 80342434 0033F394 83 64 00 04 */ lwz r27, 4(r4)
|
|
/* 80342438 0033F398 83 C3 00 20 */ lwz r30, 0x20(r3)
|
|
/* 8034243C 0033F39C 83 A3 00 1C */ lwz r29, 0x1c(r3)
|
|
/* 80342440 0033F3A0 40 80 00 10 */ bge lbl_80342450
|
|
/* 80342444 0033F3A4 7C 66 00 50 */ subf r3, r6, r0
|
|
/* 80342448 0033F3A8 38 03 FF FF */ addi r0, r3, -1
|
|
/* 8034244C 0033F3AC 48 00 00 0C */ b lbl_80342458
|
|
lbl_80342450:
|
|
/* 80342450 0033F3B0 80 17 00 2C */ lwz r0, 0x2c(r23)
|
|
/* 80342454 0033F3B4 7C 06 00 50 */ subf r0, r6, r0
|
|
lbl_80342458:
|
|
/* 80342458 0033F3B8 3C 80 80 3F */ lis r4, lbl_803EE468@ha
|
|
/* 8034245C 0033F3BC 7C 03 03 78 */ mr r3, r0
|
|
/* 80342460 0033F3C0 3B E4 E4 68 */ addi r31, r4, lbl_803EE468@l
|
|
lbl_80342464:
|
|
/* 80342464 0033F3C4 80 19 00 00 */ lwz r0, 0(r25)
|
|
/* 80342468 0033F3C8 28 00 00 09 */ cmplwi r0, 9
|
|
/* 8034246C 0033F3CC 41 81 08 88 */ bgt lbl_80342CF4
|
|
/* 80342470 0033F3D0 54 00 10 3A */ slwi r0, r0, 2
|
|
/* 80342474 0033F3D4 7C 1F 00 2E */ lwzx r0, r31, r0
|
|
/* 80342478 0033F3D8 7C 09 03 A6 */ mtctr r0
|
|
/* 8034247C 0033F3DC 4E 80 04 20 */ bctr
|
|
.global lbl_80342480
|
|
lbl_80342480:
|
|
/* 80342480 0033F3E0 28 03 01 02 */ cmplwi r3, 0x102
|
|
/* 80342484 0033F3E4 41 80 00 AC */ blt lbl_80342530
|
|
/* 80342488 0033F3E8 28 1B 00 0A */ cmplwi r27, 0xa
|
|
/* 8034248C 0033F3EC 41 80 00 A4 */ blt lbl_80342530
|
|
/* 80342490 0033F3F0 93 D7 00 20 */ stw r30, 0x20(r23)
|
|
/* 80342494 0033F3F4 7E E7 BB 78 */ mr r7, r23
|
|
/* 80342498 0033F3F8 7F 08 C3 78 */ mr r8, r24
|
|
/* 8034249C 0033F3FC 93 B7 00 1C */ stw r29, 0x1c(r23)
|
|
/* 803424A0 0033F400 93 78 00 04 */ stw r27, 4(r24)
|
|
/* 803424A4 0033F404 80 18 00 00 */ lwz r0, 0(r24)
|
|
/* 803424A8 0033F408 80 78 00 08 */ lwz r3, 8(r24)
|
|
/* 803424AC 0033F40C 7C 00 E0 50 */ subf r0, r0, r28
|
|
/* 803424B0 0033F410 7C 03 02 14 */ add r0, r3, r0
|
|
/* 803424B4 0033F414 90 18 00 08 */ stw r0, 8(r24)
|
|
/* 803424B8 0033F418 93 98 00 00 */ stw r28, 0(r24)
|
|
/* 803424BC 0033F41C 90 D7 00 34 */ stw r6, 0x34(r23)
|
|
/* 803424C0 0033F420 88 79 00 10 */ lbz r3, 0x10(r25)
|
|
/* 803424C4 0033F424 88 99 00 11 */ lbz r4, 0x11(r25)
|
|
/* 803424C8 0033F428 80 B9 00 14 */ lwz r5, 0x14(r25)
|
|
/* 803424CC 0033F42C 80 D9 00 18 */ lwz r6, 0x18(r25)
|
|
/* 803424D0 0033F430 48 00 08 F5 */ bl inflate_fast
|
|
/* 803424D4 0033F434 80 D7 00 34 */ lwz r6, 0x34(r23)
|
|
/* 803424D8 0033F438 7C 65 1B 78 */ mr r5, r3
|
|
/* 803424DC 0033F43C 80 17 00 30 */ lwz r0, 0x30(r23)
|
|
/* 803424E0 0033F440 83 98 00 00 */ lwz r28, 0(r24)
|
|
/* 803424E4 0033F444 7C 06 00 40 */ cmplw r6, r0
|
|
/* 803424E8 0033F448 83 78 00 04 */ lwz r27, 4(r24)
|
|
/* 803424EC 0033F44C 83 D7 00 20 */ lwz r30, 0x20(r23)
|
|
/* 803424F0 0033F450 83 B7 00 1C */ lwz r29, 0x1c(r23)
|
|
/* 803424F4 0033F454 40 80 00 10 */ bge lbl_80342504
|
|
/* 803424F8 0033F458 7C 66 00 50 */ subf r3, r6, r0
|
|
/* 803424FC 0033F45C 38 03 FF FF */ addi r0, r3, -1
|
|
/* 80342500 0033F460 48 00 00 0C */ b lbl_8034250C
|
|
lbl_80342504:
|
|
/* 80342504 0033F464 80 17 00 2C */ lwz r0, 0x2c(r23)
|
|
/* 80342508 0033F468 7C 06 00 50 */ subf r0, r6, r0
|
|
lbl_8034250C:
|
|
/* 8034250C 0033F46C 2C 05 00 00 */ cmpwi r5, 0
|
|
/* 80342510 0033F470 7C 03 03 78 */ mr r3, r0
|
|
/* 80342514 0033F474 41 82 00 1C */ beq lbl_80342530
|
|
/* 80342518 0033F478 2C 05 00 01 */ cmpwi r5, 1
|
|
/* 8034251C 0033F47C 38 00 00 09 */ li r0, 9
|
|
/* 80342520 0033F480 40 82 00 08 */ bne lbl_80342528
|
|
/* 80342524 0033F484 38 00 00 07 */ li r0, 7
|
|
lbl_80342528:
|
|
/* 80342528 0033F488 90 19 00 00 */ stw r0, 0(r25)
|
|
/* 8034252C 0033F48C 4B FF FF 38 */ b lbl_80342464
|
|
lbl_80342530:
|
|
/* 80342530 0033F490 88 99 00 10 */ lbz r4, 0x10(r25)
|
|
/* 80342534 0033F494 38 00 00 01 */ li r0, 1
|
|
/* 80342538 0033F498 90 99 00 0C */ stw r4, 0xc(r25)
|
|
/* 8034253C 0033F49C 80 99 00 14 */ lwz r4, 0x14(r25)
|
|
/* 80342540 0033F4A0 90 99 00 08 */ stw r4, 8(r25)
|
|
/* 80342544 0033F4A4 90 19 00 00 */ stw r0, 0(r25)
|
|
.global lbl_80342548
|
|
lbl_80342548:
|
|
/* 80342548 0033F4A8 80 F9 00 0C */ lwz r7, 0xc(r25)
|
|
/* 8034254C 0033F4AC 38 07 00 07 */ addi r0, r7, 7
|
|
/* 80342550 0033F4B0 7C 1D 00 50 */ subf r0, r29, r0
|
|
/* 80342554 0033F4B4 54 00 E8 FE */ srwi r0, r0, 3
|
|
/* 80342558 0033F4B8 7C 09 03 A6 */ mtctr r0
|
|
/* 8034255C 0033F4BC 7C 1D 38 40 */ cmplw r29, r7
|
|
/* 80342560 0033F4C0 40 80 00 68 */ bge lbl_803425C8
|
|
lbl_80342564:
|
|
/* 80342564 0033F4C4 28 1B 00 00 */ cmplwi r27, 0
|
|
/* 80342568 0033F4C8 41 82 00 0C */ beq lbl_80342574
|
|
/* 8034256C 0033F4CC 38 A0 00 00 */ li r5, 0
|
|
/* 80342570 0033F4D0 48 00 00 3C */ b lbl_803425AC
|
|
lbl_80342574:
|
|
/* 80342574 0033F4D4 93 D7 00 20 */ stw r30, 0x20(r23)
|
|
/* 80342578 0033F4D8 7E E3 BB 78 */ mr r3, r23
|
|
/* 8034257C 0033F4DC 7F 04 C3 78 */ mr r4, r24
|
|
/* 80342580 0033F4E0 93 B7 00 1C */ stw r29, 0x1c(r23)
|
|
/* 80342584 0033F4E4 93 78 00 04 */ stw r27, 4(r24)
|
|
/* 80342588 0033F4E8 80 18 00 00 */ lwz r0, 0(r24)
|
|
/* 8034258C 0033F4EC 80 F8 00 08 */ lwz r7, 8(r24)
|
|
/* 80342590 0033F4F0 7C 00 E0 50 */ subf r0, r0, r28
|
|
/* 80342594 0033F4F4 7C 07 02 14 */ add r0, r7, r0
|
|
/* 80342598 0033F4F8 90 18 00 08 */ stw r0, 8(r24)
|
|
/* 8034259C 0033F4FC 93 98 00 00 */ stw r28, 0(r24)
|
|
/* 803425A0 0033F500 90 D7 00 34 */ stw r6, 0x34(r23)
|
|
/* 803425A4 0033F504 48 00 1E 69 */ bl inflate_flush
|
|
/* 803425A8 0033F508 48 00 07 84 */ b lbl_80342D2C
|
|
lbl_803425AC:
|
|
/* 803425AC 0033F50C 88 1C 00 00 */ lbz r0, 0(r28)
|
|
/* 803425B0 0033F510 3B 7B FF FF */ addi r27, r27, -1
|
|
/* 803425B4 0033F514 3B 9C 00 01 */ addi r28, r28, 1
|
|
/* 803425B8 0033F518 7C 00 E8 30 */ slw r0, r0, r29
|
|
/* 803425BC 0033F51C 3B BD 00 08 */ addi r29, r29, 8
|
|
/* 803425C0 0033F520 7F DE 03 78 */ or r30, r30, r0
|
|
/* 803425C4 0033F524 42 00 FF A0 */ bdnz lbl_80342564
|
|
lbl_803425C8:
|
|
/* 803425C8 0033F528 3C 80 80 3F */ lis r4, inflate_mask@ha
|
|
/* 803425CC 0033F52C 54 E0 10 3A */ slwi r0, r7, 2
|
|
/* 803425D0 0033F530 38 84 F5 C8 */ addi r4, r4, inflate_mask@l
|
|
/* 803425D4 0033F534 80 F9 00 08 */ lwz r7, 8(r25)
|
|
/* 803425D8 0033F538 7C 04 00 2E */ lwzx r0, r4, r0
|
|
/* 803425DC 0033F53C 7F C0 00 38 */ and r0, r30, r0
|
|
/* 803425E0 0033F540 54 00 18 38 */ slwi r0, r0, 3
|
|
/* 803425E4 0033F544 7C E7 02 14 */ add r7, r7, r0
|
|
/* 803425E8 0033F548 88 87 00 00 */ lbz r4, 0(r7)
|
|
/* 803425EC 0033F54C 88 07 00 01 */ lbz r0, 1(r7)
|
|
/* 803425F0 0033F550 28 04 00 00 */ cmplwi r4, 0
|
|
/* 803425F4 0033F554 7F DE 04 30 */ srw r30, r30, r0
|
|
/* 803425F8 0033F558 7F A0 E8 50 */ subf r29, r0, r29
|
|
/* 803425FC 0033F55C 40 82 00 18 */ bne lbl_80342614
|
|
/* 80342600 0033F560 80 87 00 04 */ lwz r4, 4(r7)
|
|
/* 80342604 0033F564 38 00 00 06 */ li r0, 6
|
|
/* 80342608 0033F568 90 99 00 08 */ stw r4, 8(r25)
|
|
/* 8034260C 0033F56C 90 19 00 00 */ stw r0, 0(r25)
|
|
/* 80342610 0033F570 4B FF FE 54 */ b lbl_80342464
|
|
lbl_80342614:
|
|
/* 80342614 0033F574 54 80 06 F7 */ rlwinm. r0, r4, 0, 0x1b, 0x1b
|
|
/* 80342618 0033F578 41 82 00 20 */ beq lbl_80342638
|
|
/* 8034261C 0033F57C 54 84 07 3E */ clrlwi r4, r4, 0x1c
|
|
/* 80342620 0033F580 38 00 00 02 */ li r0, 2
|
|
/* 80342624 0033F584 90 99 00 08 */ stw r4, 8(r25)
|
|
/* 80342628 0033F588 80 87 00 04 */ lwz r4, 4(r7)
|
|
/* 8034262C 0033F58C 90 99 00 04 */ stw r4, 4(r25)
|
|
/* 80342630 0033F590 90 19 00 00 */ stw r0, 0(r25)
|
|
/* 80342634 0033F594 4B FF FE 30 */ b lbl_80342464
|
|
lbl_80342638:
|
|
/* 80342638 0033F598 54 80 06 73 */ rlwinm. r0, r4, 0, 0x19, 0x19
|
|
/* 8034263C 0033F59C 40 82 00 1C */ bne lbl_80342658
|
|
/* 80342640 0033F5A0 90 99 00 0C */ stw r4, 0xc(r25)
|
|
/* 80342644 0033F5A4 80 07 00 04 */ lwz r0, 4(r7)
|
|
/* 80342648 0033F5A8 54 00 18 38 */ slwi r0, r0, 3
|
|
/* 8034264C 0033F5AC 7C 07 02 14 */ add r0, r7, r0
|
|
/* 80342650 0033F5B0 90 19 00 08 */ stw r0, 8(r25)
|
|
/* 80342654 0033F5B4 4B FF FE 10 */ b lbl_80342464
|
|
lbl_80342658:
|
|
/* 80342658 0033F5B8 54 80 06 B5 */ rlwinm. r0, r4, 0, 0x1a, 0x1a
|
|
/* 8034265C 0033F5BC 41 82 00 10 */ beq lbl_8034266C
|
|
/* 80342660 0033F5C0 38 00 00 07 */ li r0, 7
|
|
/* 80342664 0033F5C4 90 19 00 00 */ stw r0, 0(r25)
|
|
/* 80342668 0033F5C8 4B FF FD FC */ b lbl_80342464
|
|
lbl_8034266C:
|
|
/* 8034266C 0033F5CC 38 00 00 09 */ li r0, 9
|
|
/* 80342670 0033F5D0 3C 60 80 3D */ lis r3, lbl_803D7B68@ha
|
|
/* 80342674 0033F5D4 90 19 00 00 */ stw r0, 0(r25)
|
|
/* 80342678 0033F5D8 38 03 7B 68 */ addi r0, r3, lbl_803D7B68@l
|
|
/* 8034267C 0033F5DC 7E E3 BB 78 */ mr r3, r23
|
|
/* 80342680 0033F5E0 7F 04 C3 78 */ mr r4, r24
|
|
/* 80342684 0033F5E4 90 18 00 18 */ stw r0, 0x18(r24)
|
|
/* 80342688 0033F5E8 38 A0 FF FD */ li r5, -3
|
|
/* 8034268C 0033F5EC 93 D7 00 20 */ stw r30, 0x20(r23)
|
|
/* 80342690 0033F5F0 93 B7 00 1C */ stw r29, 0x1c(r23)
|
|
/* 80342694 0033F5F4 93 78 00 04 */ stw r27, 4(r24)
|
|
/* 80342698 0033F5F8 80 18 00 00 */ lwz r0, 0(r24)
|
|
/* 8034269C 0033F5FC 80 F8 00 08 */ lwz r7, 8(r24)
|
|
/* 803426A0 0033F600 7C 00 E0 50 */ subf r0, r0, r28
|
|
/* 803426A4 0033F604 7C 07 02 14 */ add r0, r7, r0
|
|
/* 803426A8 0033F608 90 18 00 08 */ stw r0, 8(r24)
|
|
/* 803426AC 0033F60C 93 98 00 00 */ stw r28, 0(r24)
|
|
/* 803426B0 0033F610 90 D7 00 34 */ stw r6, 0x34(r23)
|
|
/* 803426B4 0033F614 48 00 1D 59 */ bl inflate_flush
|
|
/* 803426B8 0033F618 48 00 06 74 */ b lbl_80342D2C
|
|
.global lbl_803426BC
|
|
lbl_803426BC:
|
|
/* 803426BC 0033F61C 81 19 00 08 */ lwz r8, 8(r25)
|
|
/* 803426C0 0033F620 38 08 00 07 */ addi r0, r8, 7
|
|
/* 803426C4 0033F624 7C 1D 00 50 */ subf r0, r29, r0
|
|
/* 803426C8 0033F628 54 00 E8 FE */ srwi r0, r0, 3
|
|
/* 803426CC 0033F62C 7C 09 03 A6 */ mtctr r0
|
|
/* 803426D0 0033F630 7C 1D 40 40 */ cmplw r29, r8
|
|
/* 803426D4 0033F634 40 80 00 68 */ bge lbl_8034273C
|
|
lbl_803426D8:
|
|
/* 803426D8 0033F638 28 1B 00 00 */ cmplwi r27, 0
|
|
/* 803426DC 0033F63C 41 82 00 0C */ beq lbl_803426E8
|
|
/* 803426E0 0033F640 38 A0 00 00 */ li r5, 0
|
|
/* 803426E4 0033F644 48 00 00 3C */ b lbl_80342720
|
|
lbl_803426E8:
|
|
/* 803426E8 0033F648 93 D7 00 20 */ stw r30, 0x20(r23)
|
|
/* 803426EC 0033F64C 7E E3 BB 78 */ mr r3, r23
|
|
/* 803426F0 0033F650 7F 04 C3 78 */ mr r4, r24
|
|
/* 803426F4 0033F654 93 B7 00 1C */ stw r29, 0x1c(r23)
|
|
/* 803426F8 0033F658 93 78 00 04 */ stw r27, 4(r24)
|
|
/* 803426FC 0033F65C 80 18 00 00 */ lwz r0, 0(r24)
|
|
/* 80342700 0033F660 80 F8 00 08 */ lwz r7, 8(r24)
|
|
/* 80342704 0033F664 7C 00 E0 50 */ subf r0, r0, r28
|
|
/* 80342708 0033F668 7C 07 02 14 */ add r0, r7, r0
|
|
/* 8034270C 0033F66C 90 18 00 08 */ stw r0, 8(r24)
|
|
/* 80342710 0033F670 93 98 00 00 */ stw r28, 0(r24)
|
|
/* 80342714 0033F674 90 D7 00 34 */ stw r6, 0x34(r23)
|
|
/* 80342718 0033F678 48 00 1C F5 */ bl inflate_flush
|
|
/* 8034271C 0033F67C 48 00 06 10 */ b lbl_80342D2C
|
|
lbl_80342720:
|
|
/* 80342720 0033F680 88 1C 00 00 */ lbz r0, 0(r28)
|
|
/* 80342724 0033F684 3B 7B FF FF */ addi r27, r27, -1
|
|
/* 80342728 0033F688 3B 9C 00 01 */ addi r28, r28, 1
|
|
/* 8034272C 0033F68C 7C 00 E8 30 */ slw r0, r0, r29
|
|
/* 80342730 0033F690 3B BD 00 08 */ addi r29, r29, 8
|
|
/* 80342734 0033F694 7F DE 03 78 */ or r30, r30, r0
|
|
/* 80342738 0033F698 42 00 FF A0 */ bdnz lbl_803426D8
|
|
lbl_8034273C:
|
|
/* 8034273C 0033F69C 3C 80 80 3F */ lis r4, inflate_mask@ha
|
|
/* 80342740 0033F6A0 55 00 10 3A */ slwi r0, r8, 2
|
|
/* 80342744 0033F6A4 38 84 F5 C8 */ addi r4, r4, inflate_mask@l
|
|
/* 80342748 0033F6A8 80 F9 00 04 */ lwz r7, 4(r25)
|
|
/* 8034274C 0033F6AC 7C 84 00 2E */ lwzx r4, r4, r0
|
|
/* 80342750 0033F6B0 38 00 00 03 */ li r0, 3
|
|
/* 80342754 0033F6B4 7F A8 E8 50 */ subf r29, r8, r29
|
|
/* 80342758 0033F6B8 7F C4 20 38 */ and r4, r30, r4
|
|
/* 8034275C 0033F6BC 7F DE 44 30 */ srw r30, r30, r8
|
|
/* 80342760 0033F6C0 7C 87 22 14 */ add r4, r7, r4
|
|
/* 80342764 0033F6C4 90 99 00 04 */ stw r4, 4(r25)
|
|
/* 80342768 0033F6C8 88 99 00 11 */ lbz r4, 0x11(r25)
|
|
/* 8034276C 0033F6CC 90 99 00 0C */ stw r4, 0xc(r25)
|
|
/* 80342770 0033F6D0 80 99 00 18 */ lwz r4, 0x18(r25)
|
|
/* 80342774 0033F6D4 90 99 00 08 */ stw r4, 8(r25)
|
|
/* 80342778 0033F6D8 90 19 00 00 */ stw r0, 0(r25)
|
|
.global lbl_8034277C
|
|
lbl_8034277C:
|
|
/* 8034277C 0033F6DC 80 F9 00 0C */ lwz r7, 0xc(r25)
|
|
/* 80342780 0033F6E0 38 07 00 07 */ addi r0, r7, 7
|
|
/* 80342784 0033F6E4 7C 1D 00 50 */ subf r0, r29, r0
|
|
/* 80342788 0033F6E8 54 00 E8 FE */ srwi r0, r0, 3
|
|
/* 8034278C 0033F6EC 7C 09 03 A6 */ mtctr r0
|
|
/* 80342790 0033F6F0 7C 1D 38 40 */ cmplw r29, r7
|
|
/* 80342794 0033F6F4 40 80 00 68 */ bge lbl_803427FC
|
|
lbl_80342798:
|
|
/* 80342798 0033F6F8 28 1B 00 00 */ cmplwi r27, 0
|
|
/* 8034279C 0033F6FC 41 82 00 0C */ beq lbl_803427A8
|
|
/* 803427A0 0033F700 38 A0 00 00 */ li r5, 0
|
|
/* 803427A4 0033F704 48 00 00 3C */ b lbl_803427E0
|
|
lbl_803427A8:
|
|
/* 803427A8 0033F708 93 D7 00 20 */ stw r30, 0x20(r23)
|
|
/* 803427AC 0033F70C 7E E3 BB 78 */ mr r3, r23
|
|
/* 803427B0 0033F710 7F 04 C3 78 */ mr r4, r24
|
|
/* 803427B4 0033F714 93 B7 00 1C */ stw r29, 0x1c(r23)
|
|
/* 803427B8 0033F718 93 78 00 04 */ stw r27, 4(r24)
|
|
/* 803427BC 0033F71C 80 18 00 00 */ lwz r0, 0(r24)
|
|
/* 803427C0 0033F720 80 F8 00 08 */ lwz r7, 8(r24)
|
|
/* 803427C4 0033F724 7C 00 E0 50 */ subf r0, r0, r28
|
|
/* 803427C8 0033F728 7C 07 02 14 */ add r0, r7, r0
|
|
/* 803427CC 0033F72C 90 18 00 08 */ stw r0, 8(r24)
|
|
/* 803427D0 0033F730 93 98 00 00 */ stw r28, 0(r24)
|
|
/* 803427D4 0033F734 90 D7 00 34 */ stw r6, 0x34(r23)
|
|
/* 803427D8 0033F738 48 00 1C 35 */ bl inflate_flush
|
|
/* 803427DC 0033F73C 48 00 05 50 */ b lbl_80342D2C
|
|
lbl_803427E0:
|
|
/* 803427E0 0033F740 88 1C 00 00 */ lbz r0, 0(r28)
|
|
/* 803427E4 0033F744 3B 7B FF FF */ addi r27, r27, -1
|
|
/* 803427E8 0033F748 3B 9C 00 01 */ addi r28, r28, 1
|
|
/* 803427EC 0033F74C 7C 00 E8 30 */ slw r0, r0, r29
|
|
/* 803427F0 0033F750 3B BD 00 08 */ addi r29, r29, 8
|
|
/* 803427F4 0033F754 7F DE 03 78 */ or r30, r30, r0
|
|
/* 803427F8 0033F758 42 00 FF A0 */ bdnz lbl_80342798
|
|
lbl_803427FC:
|
|
/* 803427FC 0033F75C 3C 80 80 3F */ lis r4, inflate_mask@ha
|
|
/* 80342800 0033F760 54 E0 10 3A */ slwi r0, r7, 2
|
|
/* 80342804 0033F764 38 84 F5 C8 */ addi r4, r4, inflate_mask@l
|
|
/* 80342808 0033F768 80 F9 00 08 */ lwz r7, 8(r25)
|
|
/* 8034280C 0033F76C 7C 04 00 2E */ lwzx r0, r4, r0
|
|
/* 80342810 0033F770 7F C0 00 38 */ and r0, r30, r0
|
|
/* 80342814 0033F774 54 00 18 38 */ slwi r0, r0, 3
|
|
/* 80342818 0033F778 7C E7 02 14 */ add r7, r7, r0
|
|
/* 8034281C 0033F77C 89 07 00 00 */ lbz r8, 0(r7)
|
|
/* 80342820 0033F780 88 87 00 01 */ lbz r4, 1(r7)
|
|
/* 80342824 0033F784 55 00 06 F7 */ rlwinm. r0, r8, 0, 0x1b, 0x1b
|
|
/* 80342828 0033F788 7F DE 24 30 */ srw r30, r30, r4
|
|
/* 8034282C 0033F78C 7F A4 E8 50 */ subf r29, r4, r29
|
|
/* 80342830 0033F790 41 82 00 20 */ beq lbl_80342850
|
|
/* 80342834 0033F794 55 04 07 3E */ clrlwi r4, r8, 0x1c
|
|
/* 80342838 0033F798 38 00 00 04 */ li r0, 4
|
|
/* 8034283C 0033F79C 90 99 00 08 */ stw r4, 8(r25)
|
|
/* 80342840 0033F7A0 80 87 00 04 */ lwz r4, 4(r7)
|
|
/* 80342844 0033F7A4 90 99 00 0C */ stw r4, 0xc(r25)
|
|
/* 80342848 0033F7A8 90 19 00 00 */ stw r0, 0(r25)
|
|
/* 8034284C 0033F7AC 4B FF FC 18 */ b lbl_80342464
|
|
lbl_80342850:
|
|
/* 80342850 0033F7B0 55 00 06 73 */ rlwinm. r0, r8, 0, 0x19, 0x19
|
|
/* 80342854 0033F7B4 40 82 00 1C */ bne lbl_80342870
|
|
/* 80342858 0033F7B8 91 19 00 0C */ stw r8, 0xc(r25)
|
|
/* 8034285C 0033F7BC 80 07 00 04 */ lwz r0, 4(r7)
|
|
/* 80342860 0033F7C0 54 00 18 38 */ slwi r0, r0, 3
|
|
/* 80342864 0033F7C4 7C 07 02 14 */ add r0, r7, r0
|
|
/* 80342868 0033F7C8 90 19 00 08 */ stw r0, 8(r25)
|
|
/* 8034286C 0033F7CC 4B FF FB F8 */ b lbl_80342464
|
|
lbl_80342870:
|
|
/* 80342870 0033F7D0 38 00 00 09 */ li r0, 9
|
|
/* 80342874 0033F7D4 3C 60 80 3D */ lis r3, lbl_803D7B68@ha
|
|
/* 80342878 0033F7D8 38 63 7B 68 */ addi r3, r3, lbl_803D7B68@l
|
|
/* 8034287C 0033F7DC 90 19 00 00 */ stw r0, 0(r25)
|
|
/* 80342880 0033F7E0 38 03 00 1C */ addi r0, r3, 0x1c
|
|
/* 80342884 0033F7E4 7E E3 BB 78 */ mr r3, r23
|
|
/* 80342888 0033F7E8 90 18 00 18 */ stw r0, 0x18(r24)
|
|
/* 8034288C 0033F7EC 7F 04 C3 78 */ mr r4, r24
|
|
/* 80342890 0033F7F0 38 A0 FF FD */ li r5, -3
|
|
/* 80342894 0033F7F4 93 D7 00 20 */ stw r30, 0x20(r23)
|
|
/* 80342898 0033F7F8 93 B7 00 1C */ stw r29, 0x1c(r23)
|
|
/* 8034289C 0033F7FC 93 78 00 04 */ stw r27, 4(r24)
|
|
/* 803428A0 0033F800 80 18 00 00 */ lwz r0, 0(r24)
|
|
/* 803428A4 0033F804 80 F8 00 08 */ lwz r7, 8(r24)
|
|
/* 803428A8 0033F808 7C 00 E0 50 */ subf r0, r0, r28
|
|
/* 803428AC 0033F80C 7C 07 02 14 */ add r0, r7, r0
|
|
/* 803428B0 0033F810 90 18 00 08 */ stw r0, 8(r24)
|
|
/* 803428B4 0033F814 93 98 00 00 */ stw r28, 0(r24)
|
|
/* 803428B8 0033F818 90 D7 00 34 */ stw r6, 0x34(r23)
|
|
/* 803428BC 0033F81C 48 00 1B 51 */ bl inflate_flush
|
|
/* 803428C0 0033F820 48 00 04 6C */ b lbl_80342D2C
|
|
.global lbl_803428C4
|
|
lbl_803428C4:
|
|
/* 803428C4 0033F824 81 19 00 08 */ lwz r8, 8(r25)
|
|
/* 803428C8 0033F828 38 08 00 07 */ addi r0, r8, 7
|
|
/* 803428CC 0033F82C 7C 1D 00 50 */ subf r0, r29, r0
|
|
/* 803428D0 0033F830 54 00 E8 FE */ srwi r0, r0, 3
|
|
/* 803428D4 0033F834 7C 09 03 A6 */ mtctr r0
|
|
/* 803428D8 0033F838 7C 1D 40 40 */ cmplw r29, r8
|
|
/* 803428DC 0033F83C 40 80 00 68 */ bge lbl_80342944
|
|
lbl_803428E0:
|
|
/* 803428E0 0033F840 28 1B 00 00 */ cmplwi r27, 0
|
|
/* 803428E4 0033F844 41 82 00 0C */ beq lbl_803428F0
|
|
/* 803428E8 0033F848 38 A0 00 00 */ li r5, 0
|
|
/* 803428EC 0033F84C 48 00 00 3C */ b lbl_80342928
|
|
lbl_803428F0:
|
|
/* 803428F0 0033F850 93 D7 00 20 */ stw r30, 0x20(r23)
|
|
/* 803428F4 0033F854 7E E3 BB 78 */ mr r3, r23
|
|
/* 803428F8 0033F858 7F 04 C3 78 */ mr r4, r24
|
|
/* 803428FC 0033F85C 93 B7 00 1C */ stw r29, 0x1c(r23)
|
|
/* 80342900 0033F860 93 78 00 04 */ stw r27, 4(r24)
|
|
/* 80342904 0033F864 80 18 00 00 */ lwz r0, 0(r24)
|
|
/* 80342908 0033F868 80 F8 00 08 */ lwz r7, 8(r24)
|
|
/* 8034290C 0033F86C 7C 00 E0 50 */ subf r0, r0, r28
|
|
/* 80342910 0033F870 7C 07 02 14 */ add r0, r7, r0
|
|
/* 80342914 0033F874 90 18 00 08 */ stw r0, 8(r24)
|
|
/* 80342918 0033F878 93 98 00 00 */ stw r28, 0(r24)
|
|
/* 8034291C 0033F87C 90 D7 00 34 */ stw r6, 0x34(r23)
|
|
/* 80342920 0033F880 48 00 1A ED */ bl inflate_flush
|
|
/* 80342924 0033F884 48 00 04 08 */ b lbl_80342D2C
|
|
lbl_80342928:
|
|
/* 80342928 0033F888 88 1C 00 00 */ lbz r0, 0(r28)
|
|
/* 8034292C 0033F88C 3B 7B FF FF */ addi r27, r27, -1
|
|
/* 80342930 0033F890 3B 9C 00 01 */ addi r28, r28, 1
|
|
/* 80342934 0033F894 7C 00 E8 30 */ slw r0, r0, r29
|
|
/* 80342938 0033F898 3B BD 00 08 */ addi r29, r29, 8
|
|
/* 8034293C 0033F89C 7F DE 03 78 */ or r30, r30, r0
|
|
/* 80342940 0033F8A0 42 00 FF A0 */ bdnz lbl_803428E0
|
|
lbl_80342944:
|
|
/* 80342944 0033F8A4 3C 80 80 3F */ lis r4, inflate_mask@ha
|
|
/* 80342948 0033F8A8 55 00 10 3A */ slwi r0, r8, 2
|
|
/* 8034294C 0033F8AC 38 84 F5 C8 */ addi r4, r4, inflate_mask@l
|
|
/* 80342950 0033F8B0 80 F9 00 0C */ lwz r7, 0xc(r25)
|
|
/* 80342954 0033F8B4 7C 84 00 2E */ lwzx r4, r4, r0
|
|
/* 80342958 0033F8B8 38 00 00 05 */ li r0, 5
|
|
/* 8034295C 0033F8BC 7F A8 E8 50 */ subf r29, r8, r29
|
|
/* 80342960 0033F8C0 7F C4 20 38 */ and r4, r30, r4
|
|
/* 80342964 0033F8C4 7F DE 44 30 */ srw r30, r30, r8
|
|
/* 80342968 0033F8C8 7C 87 22 14 */ add r4, r7, r4
|
|
/* 8034296C 0033F8CC 90 99 00 0C */ stw r4, 0xc(r25)
|
|
/* 80342970 0033F8D0 90 19 00 00 */ stw r0, 0(r25)
|
|
.global lbl_80342974
|
|
lbl_80342974:
|
|
/* 80342974 0033F8D4 80 17 00 28 */ lwz r0, 0x28(r23)
|
|
/* 80342978 0033F8D8 80 F9 00 0C */ lwz r7, 0xc(r25)
|
|
/* 8034297C 0033F8DC 7C 80 30 50 */ subf r4, r0, r6
|
|
/* 80342980 0033F8E0 7C 04 38 40 */ cmplw r4, r7
|
|
/* 80342984 0033F8E4 40 80 00 14 */ bge lbl_80342998
|
|
/* 80342988 0033F8E8 80 17 00 2C */ lwz r0, 0x2c(r23)
|
|
/* 8034298C 0033F8EC 7C 84 38 50 */ subf r4, r4, r7
|
|
/* 80342990 0033F8F0 7C 04 00 50 */ subf r0, r4, r0
|
|
/* 80342994 0033F8F4 48 00 00 08 */ b lbl_8034299C
|
|
lbl_80342998:
|
|
/* 80342998 0033F8F8 7C 07 30 50 */ subf r0, r7, r6
|
|
lbl_8034299C:
|
|
/* 8034299C 0033F8FC 7C 1A 03 78 */ mr r26, r0
|
|
/* 803429A0 0033F900 48 00 01 30 */ b lbl_80342AD0
|
|
lbl_803429A4:
|
|
/* 803429A4 0033F904 28 03 00 00 */ cmplwi r3, 0
|
|
/* 803429A8 0033F908 40 82 00 F4 */ bne lbl_80342A9C
|
|
/* 803429AC 0033F90C 80 F7 00 2C */ lwz r7, 0x2c(r23)
|
|
/* 803429B0 0033F910 7C 06 38 40 */ cmplw r6, r7
|
|
/* 803429B4 0033F914 40 82 00 30 */ bne lbl_803429E4
|
|
/* 803429B8 0033F918 80 97 00 30 */ lwz r4, 0x30(r23)
|
|
/* 803429BC 0033F91C 80 17 00 28 */ lwz r0, 0x28(r23)
|
|
/* 803429C0 0033F920 7C 04 00 40 */ cmplw r4, r0
|
|
/* 803429C4 0033F924 41 82 00 20 */ beq lbl_803429E4
|
|
/* 803429C8 0033F928 7C 00 20 40 */ cmplw r0, r4
|
|
/* 803429CC 0033F92C 7C 06 03 78 */ mr r6, r0
|
|
/* 803429D0 0033F930 40 80 00 10 */ bge lbl_803429E0
|
|
/* 803429D4 0033F934 7C 60 20 50 */ subf r3, r0, r4
|
|
/* 803429D8 0033F938 38 63 FF FF */ addi r3, r3, -1
|
|
/* 803429DC 0033F93C 48 00 00 08 */ b lbl_803429E4
|
|
lbl_803429E0:
|
|
/* 803429E0 0033F940 7C 60 38 50 */ subf r3, r0, r7
|
|
lbl_803429E4:
|
|
/* 803429E4 0033F944 28 03 00 00 */ cmplwi r3, 0
|
|
/* 803429E8 0033F948 40 82 00 B4 */ bne lbl_80342A9C
|
|
/* 803429EC 0033F94C 90 D7 00 34 */ stw r6, 0x34(r23)
|
|
/* 803429F0 0033F950 7E E3 BB 78 */ mr r3, r23
|
|
/* 803429F4 0033F954 7F 04 C3 78 */ mr r4, r24
|
|
/* 803429F8 0033F958 48 00 1A 15 */ bl inflate_flush
|
|
/* 803429FC 0033F95C 80 D7 00 34 */ lwz r6, 0x34(r23)
|
|
/* 80342A00 0033F960 7C 65 1B 78 */ mr r5, r3
|
|
/* 80342A04 0033F964 80 97 00 30 */ lwz r4, 0x30(r23)
|
|
/* 80342A08 0033F968 7C 06 20 40 */ cmplw r6, r4
|
|
/* 80342A0C 0033F96C 40 80 00 10 */ bge lbl_80342A1C
|
|
/* 80342A10 0033F970 7C 66 20 50 */ subf r3, r6, r4
|
|
/* 80342A14 0033F974 38 03 FF FF */ addi r0, r3, -1
|
|
/* 80342A18 0033F978 48 00 00 0C */ b lbl_80342A24
|
|
lbl_80342A1C:
|
|
/* 80342A1C 0033F97C 80 17 00 2C */ lwz r0, 0x2c(r23)
|
|
/* 80342A20 0033F980 7C 06 00 50 */ subf r0, r6, r0
|
|
lbl_80342A24:
|
|
/* 80342A24 0033F984 80 F7 00 2C */ lwz r7, 0x2c(r23)
|
|
/* 80342A28 0033F988 7C 03 03 78 */ mr r3, r0
|
|
/* 80342A2C 0033F98C 7C 06 38 40 */ cmplw r6, r7
|
|
/* 80342A30 0033F990 40 82 00 2C */ bne lbl_80342A5C
|
|
/* 80342A34 0033F994 80 17 00 28 */ lwz r0, 0x28(r23)
|
|
/* 80342A38 0033F998 7C 04 00 40 */ cmplw r4, r0
|
|
/* 80342A3C 0033F99C 41 82 00 20 */ beq lbl_80342A5C
|
|
/* 80342A40 0033F9A0 7C 00 20 40 */ cmplw r0, r4
|
|
/* 80342A44 0033F9A4 7C 06 03 78 */ mr r6, r0
|
|
/* 80342A48 0033F9A8 40 80 00 10 */ bge lbl_80342A58
|
|
/* 80342A4C 0033F9AC 7C 60 20 50 */ subf r3, r0, r4
|
|
/* 80342A50 0033F9B0 38 63 FF FF */ addi r3, r3, -1
|
|
/* 80342A54 0033F9B4 48 00 00 08 */ b lbl_80342A5C
|
|
lbl_80342A58:
|
|
/* 80342A58 0033F9B8 7C 60 38 50 */ subf r3, r0, r7
|
|
lbl_80342A5C:
|
|
/* 80342A5C 0033F9BC 28 03 00 00 */ cmplwi r3, 0
|
|
/* 80342A60 0033F9C0 40 82 00 3C */ bne lbl_80342A9C
|
|
/* 80342A64 0033F9C4 93 D7 00 20 */ stw r30, 0x20(r23)
|
|
/* 80342A68 0033F9C8 7E E3 BB 78 */ mr r3, r23
|
|
/* 80342A6C 0033F9CC 7F 04 C3 78 */ mr r4, r24
|
|
/* 80342A70 0033F9D0 93 B7 00 1C */ stw r29, 0x1c(r23)
|
|
/* 80342A74 0033F9D4 93 78 00 04 */ stw r27, 4(r24)
|
|
/* 80342A78 0033F9D8 80 18 00 00 */ lwz r0, 0(r24)
|
|
/* 80342A7C 0033F9DC 80 F8 00 08 */ lwz r7, 8(r24)
|
|
/* 80342A80 0033F9E0 7C 00 E0 50 */ subf r0, r0, r28
|
|
/* 80342A84 0033F9E4 7C 07 02 14 */ add r0, r7, r0
|
|
/* 80342A88 0033F9E8 90 18 00 08 */ stw r0, 8(r24)
|
|
/* 80342A8C 0033F9EC 93 98 00 00 */ stw r28, 0(r24)
|
|
/* 80342A90 0033F9F0 90 D7 00 34 */ stw r6, 0x34(r23)
|
|
/* 80342A94 0033F9F4 48 00 19 79 */ bl inflate_flush
|
|
/* 80342A98 0033F9F8 48 00 02 94 */ b lbl_80342D2C
|
|
lbl_80342A9C:
|
|
/* 80342A9C 0033F9FC 88 1A 00 00 */ lbz r0, 0(r26)
|
|
/* 80342AA0 0033FA00 3B 5A 00 01 */ addi r26, r26, 1
|
|
/* 80342AA4 0033FA04 38 A0 00 00 */ li r5, 0
|
|
/* 80342AA8 0033FA08 38 63 FF FF */ addi r3, r3, -1
|
|
/* 80342AAC 0033FA0C 98 06 00 00 */ stb r0, 0(r6)
|
|
/* 80342AB0 0033FA10 38 C6 00 01 */ addi r6, r6, 1
|
|
/* 80342AB4 0033FA14 80 17 00 2C */ lwz r0, 0x2c(r23)
|
|
/* 80342AB8 0033FA18 7C 1A 00 40 */ cmplw r26, r0
|
|
/* 80342ABC 0033FA1C 40 82 00 08 */ bne lbl_80342AC4
|
|
/* 80342AC0 0033FA20 83 57 00 28 */ lwz r26, 0x28(r23)
|
|
lbl_80342AC4:
|
|
/* 80342AC4 0033FA24 80 99 00 04 */ lwz r4, 4(r25)
|
|
/* 80342AC8 0033FA28 38 04 FF FF */ addi r0, r4, -1
|
|
/* 80342ACC 0033FA2C 90 19 00 04 */ stw r0, 4(r25)
|
|
lbl_80342AD0:
|
|
/* 80342AD0 0033FA30 80 19 00 04 */ lwz r0, 4(r25)
|
|
/* 80342AD4 0033FA34 28 00 00 00 */ cmplwi r0, 0
|
|
/* 80342AD8 0033FA38 40 82 FE CC */ bne lbl_803429A4
|
|
/* 80342ADC 0033FA3C 38 00 00 00 */ li r0, 0
|
|
/* 80342AE0 0033FA40 90 19 00 00 */ stw r0, 0(r25)
|
|
/* 80342AE4 0033FA44 4B FF F9 80 */ b lbl_80342464
|
|
.global lbl_80342AE8
|
|
lbl_80342AE8:
|
|
/* 80342AE8 0033FA48 28 03 00 00 */ cmplwi r3, 0
|
|
/* 80342AEC 0033FA4C 40 82 00 F4 */ bne lbl_80342BE0
|
|
/* 80342AF0 0033FA50 80 F7 00 2C */ lwz r7, 0x2c(r23)
|
|
/* 80342AF4 0033FA54 7C 06 38 40 */ cmplw r6, r7
|
|
/* 80342AF8 0033FA58 40 82 00 30 */ bne lbl_80342B28
|
|
/* 80342AFC 0033FA5C 80 97 00 30 */ lwz r4, 0x30(r23)
|
|
/* 80342B00 0033FA60 80 17 00 28 */ lwz r0, 0x28(r23)
|
|
/* 80342B04 0033FA64 7C 04 00 40 */ cmplw r4, r0
|
|
/* 80342B08 0033FA68 41 82 00 20 */ beq lbl_80342B28
|
|
/* 80342B0C 0033FA6C 7C 00 20 40 */ cmplw r0, r4
|
|
/* 80342B10 0033FA70 7C 06 03 78 */ mr r6, r0
|
|
/* 80342B14 0033FA74 40 80 00 10 */ bge lbl_80342B24
|
|
/* 80342B18 0033FA78 7C 60 20 50 */ subf r3, r0, r4
|
|
/* 80342B1C 0033FA7C 38 63 FF FF */ addi r3, r3, -1
|
|
/* 80342B20 0033FA80 48 00 00 08 */ b lbl_80342B28
|
|
lbl_80342B24:
|
|
/* 80342B24 0033FA84 7C 60 38 50 */ subf r3, r0, r7
|
|
lbl_80342B28:
|
|
/* 80342B28 0033FA88 28 03 00 00 */ cmplwi r3, 0
|
|
/* 80342B2C 0033FA8C 40 82 00 B4 */ bne lbl_80342BE0
|
|
/* 80342B30 0033FA90 90 D7 00 34 */ stw r6, 0x34(r23)
|
|
/* 80342B34 0033FA94 7E E3 BB 78 */ mr r3, r23
|
|
/* 80342B38 0033FA98 7F 04 C3 78 */ mr r4, r24
|
|
/* 80342B3C 0033FA9C 48 00 18 D1 */ bl inflate_flush
|
|
/* 80342B40 0033FAA0 80 D7 00 34 */ lwz r6, 0x34(r23)
|
|
/* 80342B44 0033FAA4 7C 65 1B 78 */ mr r5, r3
|
|
/* 80342B48 0033FAA8 80 97 00 30 */ lwz r4, 0x30(r23)
|
|
/* 80342B4C 0033FAAC 7C 06 20 40 */ cmplw r6, r4
|
|
/* 80342B50 0033FAB0 40 80 00 10 */ bge lbl_80342B60
|
|
/* 80342B54 0033FAB4 7C 66 20 50 */ subf r3, r6, r4
|
|
/* 80342B58 0033FAB8 38 03 FF FF */ addi r0, r3, -1
|
|
/* 80342B5C 0033FABC 48 00 00 0C */ b lbl_80342B68
|
|
lbl_80342B60:
|
|
/* 80342B60 0033FAC0 80 17 00 2C */ lwz r0, 0x2c(r23)
|
|
/* 80342B64 0033FAC4 7C 06 00 50 */ subf r0, r6, r0
|
|
lbl_80342B68:
|
|
/* 80342B68 0033FAC8 80 F7 00 2C */ lwz r7, 0x2c(r23)
|
|
/* 80342B6C 0033FACC 7C 03 03 78 */ mr r3, r0
|
|
/* 80342B70 0033FAD0 7C 06 38 40 */ cmplw r6, r7
|
|
/* 80342B74 0033FAD4 40 82 00 2C */ bne lbl_80342BA0
|
|
/* 80342B78 0033FAD8 80 17 00 28 */ lwz r0, 0x28(r23)
|
|
/* 80342B7C 0033FADC 7C 04 00 40 */ cmplw r4, r0
|
|
/* 80342B80 0033FAE0 41 82 00 20 */ beq lbl_80342BA0
|
|
/* 80342B84 0033FAE4 7C 00 20 40 */ cmplw r0, r4
|
|
/* 80342B88 0033FAE8 7C 06 03 78 */ mr r6, r0
|
|
/* 80342B8C 0033FAEC 40 80 00 10 */ bge lbl_80342B9C
|
|
/* 80342B90 0033FAF0 7C 60 20 50 */ subf r3, r0, r4
|
|
/* 80342B94 0033FAF4 38 63 FF FF */ addi r3, r3, -1
|
|
/* 80342B98 0033FAF8 48 00 00 08 */ b lbl_80342BA0
|
|
lbl_80342B9C:
|
|
/* 80342B9C 0033FAFC 7C 60 38 50 */ subf r3, r0, r7
|
|
lbl_80342BA0:
|
|
/* 80342BA0 0033FB00 28 03 00 00 */ cmplwi r3, 0
|
|
/* 80342BA4 0033FB04 40 82 00 3C */ bne lbl_80342BE0
|
|
/* 80342BA8 0033FB08 93 D7 00 20 */ stw r30, 0x20(r23)
|
|
/* 80342BAC 0033FB0C 7E E3 BB 78 */ mr r3, r23
|
|
/* 80342BB0 0033FB10 7F 04 C3 78 */ mr r4, r24
|
|
/* 80342BB4 0033FB14 93 B7 00 1C */ stw r29, 0x1c(r23)
|
|
/* 80342BB8 0033FB18 93 78 00 04 */ stw r27, 4(r24)
|
|
/* 80342BBC 0033FB1C 80 18 00 00 */ lwz r0, 0(r24)
|
|
/* 80342BC0 0033FB20 80 F8 00 08 */ lwz r7, 8(r24)
|
|
/* 80342BC4 0033FB24 7C 00 E0 50 */ subf r0, r0, r28
|
|
/* 80342BC8 0033FB28 7C 07 02 14 */ add r0, r7, r0
|
|
/* 80342BCC 0033FB2C 90 18 00 08 */ stw r0, 8(r24)
|
|
/* 80342BD0 0033FB30 93 98 00 00 */ stw r28, 0(r24)
|
|
/* 80342BD4 0033FB34 90 D7 00 34 */ stw r6, 0x34(r23)
|
|
/* 80342BD8 0033FB38 48 00 18 35 */ bl inflate_flush
|
|
/* 80342BDC 0033FB3C 48 00 01 50 */ b lbl_80342D2C
|
|
lbl_80342BE0:
|
|
/* 80342BE0 0033FB40 80 99 00 08 */ lwz r4, 8(r25)
|
|
/* 80342BE4 0033FB44 38 00 00 00 */ li r0, 0
|
|
/* 80342BE8 0033FB48 38 A0 00 00 */ li r5, 0
|
|
/* 80342BEC 0033FB4C 38 63 FF FF */ addi r3, r3, -1
|
|
/* 80342BF0 0033FB50 98 86 00 00 */ stb r4, 0(r6)
|
|
/* 80342BF4 0033FB54 38 C6 00 01 */ addi r6, r6, 1
|
|
/* 80342BF8 0033FB58 90 19 00 00 */ stw r0, 0(r25)
|
|
/* 80342BFC 0033FB5C 4B FF F8 68 */ b lbl_80342464
|
|
.global lbl_80342C00
|
|
lbl_80342C00:
|
|
/* 80342C00 0033FB60 28 1D 00 07 */ cmplwi r29, 7
|
|
/* 80342C04 0033FB64 40 81 00 10 */ ble lbl_80342C14
|
|
/* 80342C08 0033FB68 3B BD FF F8 */ addi r29, r29, -8
|
|
/* 80342C0C 0033FB6C 3B 7B 00 01 */ addi r27, r27, 1
|
|
/* 80342C10 0033FB70 3B 9C FF FF */ addi r28, r28, -1
|
|
lbl_80342C14:
|
|
/* 80342C14 0033FB74 90 D7 00 34 */ stw r6, 0x34(r23)
|
|
/* 80342C18 0033FB78 7E E3 BB 78 */ mr r3, r23
|
|
/* 80342C1C 0033FB7C 7F 04 C3 78 */ mr r4, r24
|
|
/* 80342C20 0033FB80 48 00 17 ED */ bl inflate_flush
|
|
/* 80342C24 0033FB84 80 F7 00 34 */ lwz r7, 0x34(r23)
|
|
/* 80342C28 0033FB88 7C 65 1B 78 */ mr r5, r3
|
|
/* 80342C2C 0033FB8C 80 17 00 30 */ lwz r0, 0x30(r23)
|
|
/* 80342C30 0033FB90 7C E6 3B 78 */ mr r6, r7
|
|
/* 80342C34 0033FB94 7C 00 38 40 */ cmplw r0, r7
|
|
/* 80342C38 0033FB98 41 82 00 3C */ beq lbl_80342C74
|
|
/* 80342C3C 0033FB9C 93 D7 00 20 */ stw r30, 0x20(r23)
|
|
/* 80342C40 0033FBA0 7E E3 BB 78 */ mr r3, r23
|
|
/* 80342C44 0033FBA4 7F 04 C3 78 */ mr r4, r24
|
|
/* 80342C48 0033FBA8 93 B7 00 1C */ stw r29, 0x1c(r23)
|
|
/* 80342C4C 0033FBAC 93 78 00 04 */ stw r27, 4(r24)
|
|
/* 80342C50 0033FBB0 80 18 00 00 */ lwz r0, 0(r24)
|
|
/* 80342C54 0033FBB4 80 D8 00 08 */ lwz r6, 8(r24)
|
|
/* 80342C58 0033FBB8 7C 00 E0 50 */ subf r0, r0, r28
|
|
/* 80342C5C 0033FBBC 7C 06 02 14 */ add r0, r6, r0
|
|
/* 80342C60 0033FBC0 90 18 00 08 */ stw r0, 8(r24)
|
|
/* 80342C64 0033FBC4 93 98 00 00 */ stw r28, 0(r24)
|
|
/* 80342C68 0033FBC8 90 F7 00 34 */ stw r7, 0x34(r23)
|
|
/* 80342C6C 0033FBCC 48 00 17 A1 */ bl inflate_flush
|
|
/* 80342C70 0033FBD0 48 00 00 BC */ b lbl_80342D2C
|
|
lbl_80342C74:
|
|
/* 80342C74 0033FBD4 38 00 00 08 */ li r0, 8
|
|
/* 80342C78 0033FBD8 90 19 00 00 */ stw r0, 0(r25)
|
|
.global lbl_80342C7C
|
|
lbl_80342C7C:
|
|
/* 80342C7C 0033FBDC 93 D7 00 20 */ stw r30, 0x20(r23)
|
|
/* 80342C80 0033FBE0 7E E3 BB 78 */ mr r3, r23
|
|
/* 80342C84 0033FBE4 7F 04 C3 78 */ mr r4, r24
|
|
/* 80342C88 0033FBE8 38 A0 00 01 */ li r5, 1
|
|
/* 80342C8C 0033FBEC 93 B7 00 1C */ stw r29, 0x1c(r23)
|
|
/* 80342C90 0033FBF0 93 78 00 04 */ stw r27, 4(r24)
|
|
/* 80342C94 0033FBF4 80 18 00 00 */ lwz r0, 0(r24)
|
|
/* 80342C98 0033FBF8 80 F8 00 08 */ lwz r7, 8(r24)
|
|
/* 80342C9C 0033FBFC 7C 00 E0 50 */ subf r0, r0, r28
|
|
/* 80342CA0 0033FC00 7C 07 02 14 */ add r0, r7, r0
|
|
/* 80342CA4 0033FC04 90 18 00 08 */ stw r0, 8(r24)
|
|
/* 80342CA8 0033FC08 93 98 00 00 */ stw r28, 0(r24)
|
|
/* 80342CAC 0033FC0C 90 D7 00 34 */ stw r6, 0x34(r23)
|
|
/* 80342CB0 0033FC10 48 00 17 5D */ bl inflate_flush
|
|
/* 80342CB4 0033FC14 48 00 00 78 */ b lbl_80342D2C
|
|
.global lbl_80342CB8
|
|
lbl_80342CB8:
|
|
/* 80342CB8 0033FC18 93 D7 00 20 */ stw r30, 0x20(r23)
|
|
/* 80342CBC 0033FC1C 7E E3 BB 78 */ mr r3, r23
|
|
/* 80342CC0 0033FC20 7F 04 C3 78 */ mr r4, r24
|
|
/* 80342CC4 0033FC24 38 A0 FF FD */ li r5, -3
|
|
/* 80342CC8 0033FC28 93 B7 00 1C */ stw r29, 0x1c(r23)
|
|
/* 80342CCC 0033FC2C 93 78 00 04 */ stw r27, 4(r24)
|
|
/* 80342CD0 0033FC30 80 18 00 00 */ lwz r0, 0(r24)
|
|
/* 80342CD4 0033FC34 80 F8 00 08 */ lwz r7, 8(r24)
|
|
/* 80342CD8 0033FC38 7C 00 E0 50 */ subf r0, r0, r28
|
|
/* 80342CDC 0033FC3C 7C 07 02 14 */ add r0, r7, r0
|
|
/* 80342CE0 0033FC40 90 18 00 08 */ stw r0, 8(r24)
|
|
/* 80342CE4 0033FC44 93 98 00 00 */ stw r28, 0(r24)
|
|
/* 80342CE8 0033FC48 90 D7 00 34 */ stw r6, 0x34(r23)
|
|
/* 80342CEC 0033FC4C 48 00 17 21 */ bl inflate_flush
|
|
/* 80342CF0 0033FC50 48 00 00 3C */ b lbl_80342D2C
|
|
lbl_80342CF4:
|
|
/* 80342CF4 0033FC54 93 D7 00 20 */ stw r30, 0x20(r23)
|
|
/* 80342CF8 0033FC58 7E E3 BB 78 */ mr r3, r23
|
|
/* 80342CFC 0033FC5C 7F 04 C3 78 */ mr r4, r24
|
|
/* 80342D00 0033FC60 38 A0 FF FE */ li r5, -2
|
|
/* 80342D04 0033FC64 93 B7 00 1C */ stw r29, 0x1c(r23)
|
|
/* 80342D08 0033FC68 93 78 00 04 */ stw r27, 4(r24)
|
|
/* 80342D0C 0033FC6C 80 18 00 00 */ lwz r0, 0(r24)
|
|
/* 80342D10 0033FC70 80 F8 00 08 */ lwz r7, 8(r24)
|
|
/* 80342D14 0033FC74 7C 00 E0 50 */ subf r0, r0, r28
|
|
/* 80342D18 0033FC78 7C 07 02 14 */ add r0, r7, r0
|
|
/* 80342D1C 0033FC7C 90 18 00 08 */ stw r0, 8(r24)
|
|
/* 80342D20 0033FC80 93 98 00 00 */ stw r28, 0(r24)
|
|
/* 80342D24 0033FC84 90 D7 00 34 */ stw r6, 0x34(r23)
|
|
/* 80342D28 0033FC88 48 00 16 E5 */ bl inflate_flush
|
|
lbl_80342D2C:
|
|
/* 80342D2C 0033FC8C BA E1 00 0C */ lmw r23, 0xc(r1)
|
|
/* 80342D30 0033FC90 80 01 00 34 */ lwz r0, 0x34(r1)
|
|
/* 80342D34 0033FC94 7C 08 03 A6 */ mtlr r0
|
|
/* 80342D38 0033FC98 38 21 00 30 */ addi r1, r1, 0x30
|
|
/* 80342D3C 0033FC9C 4E 80 00 20 */ blr
|
|
|
|
.global inflate_codes_new
|
|
inflate_codes_new:
|
|
/* 80342D40 0033FCA0 94 21 FF E0 */ stwu r1, -0x20(r1)
|
|
/* 80342D44 0033FCA4 7C 08 02 A6 */ mflr r0
|
|
/* 80342D48 0033FCA8 90 01 00 24 */ stw r0, 0x24(r1)
|
|
/* 80342D4C 0033FCAC 93 E1 00 1C */ stw r31, 0x1c(r1)
|
|
/* 80342D50 0033FCB0 7C DF 33 78 */ mr r31, r6
|
|
/* 80342D54 0033FCB4 93 C1 00 18 */ stw r30, 0x18(r1)
|
|
/* 80342D58 0033FCB8 7C BE 2B 78 */ mr r30, r5
|
|
/* 80342D5C 0033FCBC 38 A0 00 1C */ li r5, 0x1c
|
|
/* 80342D60 0033FCC0 93 A1 00 14 */ stw r29, 0x14(r1)
|
|
/* 80342D64 0033FCC4 7C 9D 23 78 */ mr r29, r4
|
|
/* 80342D68 0033FCC8 38 80 00 01 */ li r4, 1
|
|
/* 80342D6C 0033FCCC 93 81 00 10 */ stw r28, 0x10(r1)
|
|
/* 80342D70 0033FCD0 7C 7C 1B 78 */ mr r28, r3
|
|
/* 80342D74 0033FCD4 81 87 00 20 */ lwz r12, 0x20(r7)
|
|
/* 80342D78 0033FCD8 80 67 00 28 */ lwz r3, 0x28(r7)
|
|
/* 80342D7C 0033FCDC 7D 89 03 A6 */ mtctr r12
|
|
/* 80342D80 0033FCE0 4E 80 04 21 */ bctrl
|
|
/* 80342D84 0033FCE4 28 03 00 00 */ cmplwi r3, 0
|
|
/* 80342D88 0033FCE8 41 82 00 1C */ beq lbl_80342DA4
|
|
/* 80342D8C 0033FCEC 38 00 00 00 */ li r0, 0
|
|
/* 80342D90 0033FCF0 90 03 00 00 */ stw r0, 0(r3)
|
|
/* 80342D94 0033FCF4 9B 83 00 10 */ stb r28, 0x10(r3)
|
|
/* 80342D98 0033FCF8 9B A3 00 11 */ stb r29, 0x11(r3)
|
|
/* 80342D9C 0033FCFC 93 C3 00 14 */ stw r30, 0x14(r3)
|
|
/* 80342DA0 0033FD00 93 E3 00 18 */ stw r31, 0x18(r3)
|
|
lbl_80342DA4:
|
|
/* 80342DA4 0033FD04 80 01 00 24 */ lwz r0, 0x24(r1)
|
|
/* 80342DA8 0033FD08 83 E1 00 1C */ lwz r31, 0x1c(r1)
|
|
/* 80342DAC 0033FD0C 83 C1 00 18 */ lwz r30, 0x18(r1)
|
|
/* 80342DB0 0033FD10 83 A1 00 14 */ lwz r29, 0x14(r1)
|
|
/* 80342DB4 0033FD14 83 81 00 10 */ lwz r28, 0x10(r1)
|
|
/* 80342DB8 0033FD18 7C 08 03 A6 */ mtlr r0
|
|
/* 80342DBC 0033FD1C 38 21 00 20 */ addi r1, r1, 0x20
|
|
/* 80342DC0 0033FD20 4E 80 00 20 */ blr
|
|
|
|
.section .rodata
|
|
.balign 8
|
|
.global lbl_803D7B68
|
|
lbl_803D7B68:
|
|
# ROM: 0x3D4B68
|
|
.asciz "invalid literal/length code"
|
|
.asciz "invalid distance code"
|
|
.balign 4
|
|
.4byte 0
|
|
|