159 lines
7.3 KiB
ArmAsm
159 lines
7.3 KiB
ArmAsm
.include "macros.inc"
|
|
|
|
.section .text, "ax" # 0x80006A00 - 0x80406260 ; 0x003FF860
|
|
.global decode__5MoSdkFPUl
|
|
decode__5MoSdkFPUl:
|
|
/* 801521F0 0014E030 94 21 FF E0 */ stwu r1, -0x20(r1)
|
|
/* 801521F4 0014E034 7C 08 02 A6 */ mflr r0
|
|
/* 801521F8 0014E038 90 01 00 24 */ stw r0, 0x24(r1)
|
|
/* 801521FC 0014E03C 39 61 00 20 */ addi r11, r1, 0x20
|
|
/* 80152200 0014E040 4B EB 51 39 */ bl lbl_80007338
|
|
/* 80152204 0014E044 80 A3 00 58 */ lwz r5, 0x58(r3)
|
|
/* 80152208 0014E048 7C 7D 1B 78 */ mr r29, r3
|
|
/* 8015220C 0014E04C 80 03 00 3C */ lwz r0, 0x3c(r3)
|
|
/* 80152210 0014E050 7C 9E 23 78 */ mr r30, r4
|
|
/* 80152214 0014E054 7C 05 00 40 */ cmplw r5, r0
|
|
/* 80152218 0014E058 41 80 00 0C */ blt lbl_80152224
|
|
/* 8015221C 0014E05C 38 60 00 07 */ li r3, 0x7
|
|
/* 80152220 0014E060 48 00 01 AC */ b lbl_801523CC
|
|
.global lbl_80152224
|
|
lbl_80152224:
|
|
/* 80152224 0014E064 80 63 00 10 */ lwz r3, 0x10(r3)
|
|
/* 80152228 0014E068 80 9D 00 00 */ lwz r4, 0x0(r29)
|
|
/* 8015222C 0014E06C 48 00 13 B5 */ bl needBytes__10MoSdkInputFUl
|
|
/* 80152230 0014E070 80 7D 00 10 */ lwz r3, 0x10(r29)
|
|
/* 80152234 0014E074 48 00 13 1D */ bl availableBytes__10MoSdkInputFv
|
|
/* 80152238 0014E078 80 1D 00 00 */ lwz r0, 0x0(r29)
|
|
/* 8015223C 0014E07C 7C 03 00 40 */ cmplw r3, r0
|
|
/* 80152240 0014E080 40 80 00 0C */ bge lbl_8015224C
|
|
/* 80152244 0014E084 38 60 00 03 */ li r3, 0x3
|
|
/* 80152248 0014E088 48 00 01 84 */ b lbl_801523CC
|
|
.global lbl_8015224C
|
|
lbl_8015224C:
|
|
/* 8015224C 0014E08C 80 7D 00 10 */ lwz r3, 0x10(r29)
|
|
/* 80152250 0014E090 48 00 10 C1 */ bl read32__10MoSdkInputFv
|
|
/* 80152254 0014E094 80 FD 00 10 */ lwz r7, 0x10(r29)
|
|
/* 80152258 0014E098 7C 7C 1B 78 */ mr r28, r3
|
|
/* 8015225C 0014E09C 80 DD 00 00 */ lwz r6, 0x0(r29)
|
|
/* 80152260 0014E0A0 7F 85 E3 78 */ mr r5, r28
|
|
/* 80152264 0014E0A4 80 87 00 10 */ lwz r4, 0x10(r7)
|
|
/* 80152268 0014E0A8 38 C6 FF F8 */ addi r6, r6, -0x8
|
|
/* 8015226C 0014E0AC 80 07 00 04 */ lwz r0, 0x4(r7)
|
|
/* 80152270 0014E0B0 7F E3 30 50 */ subf r31, r3, r6
|
|
/* 80152274 0014E0B4 80 7D 00 5C */ lwz r3, 0x5c(r29)
|
|
/* 80152278 0014E0B8 80 DD 00 58 */ lwz r6, 0x58(r29)
|
|
/* 8015227C 0014E0BC 7C 84 02 14 */ add r4, r4, r0
|
|
/* 80152280 0014E0C0 48 00 1E 81 */ bl decodeImage__17MoSdkVideoDecoderFPUcUlUl
|
|
/* 80152284 0014E0C4 80 7D 00 10 */ lwz r3, 0x10(r29)
|
|
/* 80152288 0014E0C8 7F 84 E3 78 */ mr r4, r28
|
|
/* 8015228C 0014E0CC 48 00 11 A5 */ bl skipBytes__10MoSdkInputFUl
|
|
/* 80152290 0014E0D0 80 1D 00 F4 */ lwz r0, 0xf4(r29)
|
|
/* 80152294 0014E0D4 2C 00 00 00 */ cmpwi r0, 0x0
|
|
/* 80152298 0014E0D8 41 82 00 EC */ beq lbl_80152384
|
|
/* 8015229C 0014E0DC 88 1D 00 F8 */ lbz r0, 0xf8(r29)
|
|
/* 801522A0 0014E0E0 7F FB FB 78 */ mr r27, r31
|
|
/* 801522A4 0014E0E4 28 00 00 01 */ cmplwi r0, 0x1
|
|
/* 801522A8 0014E0E8 40 82 00 A8 */ bne lbl_80152350
|
|
/* 801522AC 0014E0EC 80 1D 00 FC */ lwz r0, 0xfc(r29)
|
|
/* 801522B0 0014E0F0 3B 60 00 00 */ li r27, 0x0
|
|
/* 801522B4 0014E0F4 54 00 10 3A */ slwi r0, r0, 2
|
|
/* 801522B8 0014E0F8 7F E0 F8 50 */ subf r31, r0, r31
|
|
/* 801522BC 0014E0FC 48 00 00 14 */ b lbl_801522D0
|
|
.global lbl_801522C0
|
|
lbl_801522C0:
|
|
/* 801522C0 0014E100 80 7D 00 10 */ lwz r3, 0x10(r29)
|
|
/* 801522C4 0014E104 38 80 00 04 */ li r4, 0x4
|
|
/* 801522C8 0014E108 48 00 11 69 */ bl skipBytes__10MoSdkInputFUl
|
|
/* 801522CC 0014E10C 3B 7B 00 01 */ addi r27, r27, 0x1
|
|
.global lbl_801522D0
|
|
lbl_801522D0:
|
|
/* 801522D0 0014E110 80 1D 01 00 */ lwz r0, 0x100(r29)
|
|
/* 801522D4 0014E114 7C 1B 00 40 */ cmplw r27, r0
|
|
/* 801522D8 0014E118 41 80 FF E8 */ blt lbl_801522C0
|
|
/* 801522DC 0014E11C 80 7D 00 10 */ lwz r3, 0x10(r29)
|
|
/* 801522E0 0014E120 48 00 10 31 */ bl read32__10MoSdkInputFv
|
|
/* 801522E4 0014E124 80 9D 00 FC */ lwz r4, 0xfc(r29)
|
|
/* 801522E8 0014E128 7C 7C 1B 78 */ mr r28, r3
|
|
/* 801522EC 0014E12C 80 BD 01 00 */ lwz r5, 0x100(r29)
|
|
/* 801522F0 0014E130 38 04 FF FF */ addi r0, r4, -0x1
|
|
/* 801522F4 0014E134 7C 05 00 40 */ cmplw r5, r0
|
|
/* 801522F8 0014E138 40 80 00 3C */ bge lbl_80152334
|
|
/* 801522FC 0014E13C 80 7D 00 10 */ lwz r3, 0x10(r29)
|
|
/* 80152300 0014E140 48 00 10 11 */ bl read32__10MoSdkInputFv
|
|
/* 80152304 0014E144 80 9D 01 00 */ lwz r4, 0x100(r29)
|
|
/* 80152308 0014E148 7F 7C 18 50 */ subf r27, r28, r3
|
|
/* 8015230C 0014E14C 3B 44 00 02 */ addi r26, r4, 0x2
|
|
/* 80152310 0014E150 48 00 00 14 */ b lbl_80152324
|
|
.global lbl_80152314
|
|
lbl_80152314:
|
|
/* 80152314 0014E154 80 7D 00 10 */ lwz r3, 0x10(r29)
|
|
/* 80152318 0014E158 38 80 00 04 */ li r4, 0x4
|
|
/* 8015231C 0014E15C 48 00 11 15 */ bl skipBytes__10MoSdkInputFUl
|
|
/* 80152320 0014E160 3B 5A 00 01 */ addi r26, r26, 0x1
|
|
.global lbl_80152324
|
|
lbl_80152324:
|
|
/* 80152324 0014E164 80 1D 00 FC */ lwz r0, 0xfc(r29)
|
|
/* 80152328 0014E168 7C 1A 00 40 */ cmplw r26, r0
|
|
/* 8015232C 0014E16C 41 80 FF E8 */ blt lbl_80152314
|
|
/* 80152330 0014E170 48 00 00 08 */ b lbl_80152338
|
|
.global lbl_80152334
|
|
lbl_80152334:
|
|
/* 80152334 0014E174 7F 63 F8 50 */ subf r27, r3, r31
|
|
.global lbl_80152338
|
|
lbl_80152338:
|
|
/* 80152338 0014E178 80 7D 00 10 */ lwz r3, 0x10(r29)
|
|
/* 8015233C 0014E17C 80 03 00 10 */ lwz r0, 0x10(r3)
|
|
/* 80152340 0014E180 80 63 00 04 */ lwz r3, 0x4(r3)
|
|
/* 80152344 0014E184 7C 1C 02 14 */ add r0, r28, r0
|
|
/* 80152348 0014E188 7C 83 02 14 */ add r4, r3, r0
|
|
/* 8015234C 0014E18C 48 00 00 14 */ b lbl_80152360
|
|
.global lbl_80152350
|
|
lbl_80152350:
|
|
/* 80152350 0014E190 80 9D 00 10 */ lwz r4, 0x10(r29)
|
|
/* 80152354 0014E194 80 64 00 10 */ lwz r3, 0x10(r4)
|
|
/* 80152358 0014E198 80 04 00 04 */ lwz r0, 0x4(r4)
|
|
/* 8015235C 0014E19C 7C 83 02 14 */ add r4, r3, r0
|
|
.global lbl_80152360
|
|
lbl_80152360:
|
|
/* 80152360 0014E1A0 80 1D 01 00 */ lwz r0, 0x100(r29)
|
|
/* 80152364 0014E1A4 7F 65 DB 78 */ mr r5, r27
|
|
/* 80152368 0014E1A8 80 7D 00 F4 */ lwz r3, 0xf4(r29)
|
|
/* 8015236C 0014E1AC 54 00 10 3A */ slwi r0, r0, 2
|
|
/* 80152370 0014E1B0 7C 63 00 2E */ lwzx r3, r3, r0
|
|
/* 80152374 0014E1B4 81 83 00 10 */ lwz r12, 0x10(r3)
|
|
/* 80152378 0014E1B8 81 8C 00 14 */ lwz r12, 0x14(r12)
|
|
/* 8015237C 0014E1BC 7D 89 03 A6 */ mtctr r12
|
|
/* 80152380 0014E1C0 4E 80 04 21 */ bctrl
|
|
.global lbl_80152384
|
|
lbl_80152384:
|
|
/* 80152384 0014E1C4 80 7D 00 10 */ lwz r3, 0x10(r29)
|
|
/* 80152388 0014E1C8 7F E4 FB 78 */ mr r4, r31
|
|
/* 8015238C 0014E1CC 48 00 10 A5 */ bl skipBytes__10MoSdkInputFUl
|
|
/* 80152390 0014E1D0 80 7D 00 10 */ lwz r3, 0x10(r29)
|
|
/* 80152394 0014E1D4 48 00 0F 7D */ bl read32__10MoSdkInputFv
|
|
/* 80152398 0014E1D8 54 64 00 3C */ clrrwi r4, r3, 1
|
|
/* 8015239C 0014E1DC 2C 1E 00 00 */ cmpwi r30, 0x0
|
|
/* 801523A0 0014E1E0 54 60 07 FE */ clrlwi r0, r3, 31
|
|
/* 801523A4 0014E1E4 90 1D 00 08 */ stw r0, 0x8(r29)
|
|
/* 801523A8 0014E1E8 38 04 00 04 */ addi r0, r4, 0x4
|
|
/* 801523AC 0014E1EC 90 1D 00 00 */ stw r0, 0x0(r29)
|
|
/* 801523B0 0014E1F0 41 82 00 0C */ beq lbl_801523BC
|
|
/* 801523B4 0014E1F4 80 1D 00 58 */ lwz r0, 0x58(r29)
|
|
/* 801523B8 0014E1F8 90 1E 00 00 */ stw r0, 0x0(r30)
|
|
.global lbl_801523BC
|
|
lbl_801523BC:
|
|
/* 801523BC 0014E1FC 80 9D 00 58 */ lwz r4, 0x58(r29)
|
|
/* 801523C0 0014E200 38 60 00 02 */ li r3, 0x2
|
|
/* 801523C4 0014E204 38 04 00 01 */ addi r0, r4, 0x1
|
|
/* 801523C8 0014E208 90 1D 00 58 */ stw r0, 0x58(r29)
|
|
.global lbl_801523CC
|
|
lbl_801523CC:
|
|
/* 801523CC 0014E20C 39 61 00 20 */ addi r11, r1, 0x20
|
|
/* 801523D0 0014E210 4B EB 4F B5 */ bl lbl_80007384
|
|
/* 801523D4 0014E214 80 01 00 24 */ lwz r0, 0x24(r1)
|
|
/* 801523D8 0014E218 7C 08 03 A6 */ mtlr r0
|
|
/* 801523DC 0014E21C 38 21 00 20 */ addi r1, r1, 0x20
|
|
/* 801523E0 0014E220 4E 80 00 20 */ blr
|
|
/* 801523E4 0014E224 00 00 00 00 */ .4byte 0x00000000
|
|
/* 801523E8 0014E228 00 00 00 00 */ .4byte 0x00000000
|
|
/* 801523EC 0014E22C 00 00 00 00 */ .4byte 0x00000000
|