From 7873b05520600173bae2efc73d286f67026a6841 Mon Sep 17 00:00:00 2001 From: Ethan Roseman Date: Thu, 13 Apr 2023 02:54:50 +0900 Subject: [PATCH] draw_image_with_clipping (#1016) * draw_image_with_clipping Co-authored-by: Unnunu * tiny fix --------- Co-authored-by: Unnunu --- src/C50A0.c | 70 ++- .../C50A0/draw_image_with_clipping.s | 567 ------------------ .../C50A0/draw_image_with_clipping.s | 565 ----------------- 3 files changed, 34 insertions(+), 1168 deletions(-) delete mode 100644 ver/ique/asm/nonmatchings/C50A0/draw_image_with_clipping.s delete mode 100644 ver/us/asm/nonmatchings/C50A0/draw_image_with_clipping.s diff --git a/src/C50A0.c b/src/C50A0.c index daf1d9e6f6..fa25ff4163 100644 --- a/src/C50A0.c +++ b/src/C50A0.c @@ -63,8 +63,9 @@ void func_801356CC(ItemEntity*); void func_801356D4(ItemEntity*); void func_801363A0(ItemEntity*); void update_item_entity_temp(ItemEntity*); -s32 draw_image_with_clipping(IMG_PTR raster, s32 width, s32 height, s32 fmt, s32 bitDepth, s16 posX, s16 posY, u16 clipULx, - u16 clipULy, u16 clipLRx, u16 clipRLy); +s32 draw_image_with_clipping(IMG_PTR raster, u32 width, u32 height, s32 fmt, s32 bitDepth, s16 posX, s16 posY, + u16 clipX, u16 clipY, u16 clipWidth, u16 clipHeight); + void func_8013673C(ItemEntity* itemEntity, s32 posX, s32 posY); void func_801369D0(ItemEntity* itemEntity, s32 posX, s32 posY); void func_80136A08(ItemEntity* itemEntity, s32 posX, s32 posY); @@ -153,7 +154,6 @@ s32 draw_ci_image_with_clipping(IMG_PTR raster, s32 width, s32 height, s32 fmt, return ret; } -#ifdef NON_EQUIVALENT typedef struct Rect2b { /* 0x00 */ s16 ulx; /* 0x02 */ s16 uly; @@ -161,32 +161,32 @@ typedef struct Rect2b { /* 0x06 */ s16 lry; } Rect2b; // size = 0x08 -s32 draw_image_with_clipping(u8* img, u32 width, u32 height, s32 fmt, s32 bitDepth, +s32 draw_image_with_clipping(IMG_PTR raster, u32 width, u32 height, s32 fmt, s32 bitDepth, s16 posX, s16 posY, - u16 clipX, u16 clipY, u16 clipWidth, u16 clipHeight) { + u16 clipX, u16 clipY, + u16 clipWidth, u16 clipHeight) { Rect2b texRect; Rect2b drawRect; - Rect ry; - Rect rx; - u16 texOffsetX, texOffsetY; u8 stopDrawing; u8 stopDrawingLine; + s8 zero = 0; // required to match - if (posX >= clipX + clipWidth || posY >= clipY + clipHeight) { - return 0; + u16 texOffsetX, texOffsetY; + + if (posX >= clipX + clipWidth || posY >= clipY + clipHeight) { + return FALSE; } - if (clipX >= (s16)(posX + width)) { - return 0; + return FALSE; } - if (clipY >= (s16)(posY + height)) { - return 0; + return FALSE; } - stopDrawing = 0; texRect.uly = 0; drawRect.uly = posY; + stopDrawing = FALSE; + while (TRUE) { texRect.lry = texRect.uly + 31; drawRect.lry = drawRect.uly + 32; @@ -201,25 +201,26 @@ s32 draw_image_with_clipping(u8* img, u32 width, u32 height, s32 fmt, s32 bitDep } if (drawRect.uly < clipY) { - drawRect.uly = clipY; texOffsetY = abs(posY - clipY); + drawRect.uly = clipY; } if (drawRect.lry >= clipY + clipHeight) { + texRect.lry = clipY + clipHeight - posY - 1; stopDrawing = TRUE; drawRect.lry = clipY + clipHeight; - texRect.lry = clipY + clipHeight - posY - 1; } - if ((u32)(texRect.lry + 1) >= height) { - stopDrawing = TRUE; + if (texRect.lry + 1 >= height) { texRect.lry = height - 1; - drawRect.lry = height + posY; + drawRect.lry = texRect.lry + posY + 1; + stopDrawing = TRUE; } - stopDrawingLine = 0; - texRect.ulx = 0; + texRect.ulx = zero; drawRect.ulx = posX; + stopDrawingLine = FALSE; + while (TRUE) { texRect.lrx = texRect.ulx + 63; drawRect.lrx = drawRect.ulx + 64; @@ -235,32 +236,32 @@ s32 draw_image_with_clipping(u8* img, u32 width, u32 height, s32 fmt, s32 bitDep } if (drawRect.ulx < clipX) { - drawRect.ulx = clipX; texOffsetX = abs(posX - clipX); + drawRect.ulx = clipX; } if (drawRect.lrx >= clipX + clipWidth) { + texRect.lrx = clipX + clipWidth - posX - 1; stopDrawingLine = TRUE; drawRect.lrx = clipX + clipWidth; - texRect.lrx = clipX + clipWidth - posX - 1; } - if ((u32)(texRect.lrx + 1) >= width) { - stopDrawingLine = TRUE; + if (texRect.lrx + 1 >= width) { texRect.lrx = width - 1; - drawRect.lrx = width + posX; + drawRect.lrx = texRect.lrx + posX + 1; + stopDrawingLine = TRUE; } if (bitDepth == G_IM_SIZ_4b) { - gDPLoadTextureTile_4b(gMainGfxPos++, img, fmt, width, height, + gDPLoadTextureTile_4b(gMainGfxPos++, raster, fmt, width, height, texRect.ulx, texRect.uly, texRect.lrx, texRect.lry, 0, G_TX_WRAP, G_TX_WRAP, 6, 5, G_TX_NOLOD, G_TX_NOLOD); } else if (bitDepth == G_IM_SIZ_16b) { - gDPLoadTextureTile(gMainGfxPos++, img, fmt, G_IM_SIZ_16b, width, height, + gDPLoadTextureTile(gMainGfxPos++, raster, fmt, G_IM_SIZ_16b, width, height, texRect.ulx, texRect.uly, texRect.lrx, texRect.lry, 0, G_TX_WRAP, G_TX_WRAP, 6, 5, G_TX_NOLOD, G_TX_NOLOD); } else if (bitDepth == G_IM_SIZ_8b) { - gDPLoadTextureTile(gMainGfxPos++, img, fmt, G_IM_SIZ_8b, width, height, + gDPLoadTextureTile(gMainGfxPos++, raster, fmt, G_IM_SIZ_8b, width, height, texRect.ulx, texRect.uly, texRect.lrx, texRect.lry, 0, G_TX_WRAP, G_TX_WRAP, 6, 5, G_TX_NOLOD, G_TX_NOLOD); } @@ -282,11 +283,8 @@ s32 draw_image_with_clipping(u8* img, u32 width, u32 height, s32 fmt, s32 bitDep drawRect.uly = drawRect.lry; } - return 1; + return TRUE; } -#else -INCLUDE_ASM(s32, "C50A0", draw_image_with_clipping); -#endif s32 draw_tiled_image(IMG_PTR raster, u32 width, u32 height, u8 fmt, u8 bitDepth, s16 posX, s16 posY, @@ -1238,8 +1236,8 @@ void item_entity_update(ItemEntity* entity) { *args++; *args++; if (!gGameStatusPtr->isBattle) { - entity->lookupRasterIndex = *args++ & 0xFFFF; - entity->lookupPaletteIndex = *args++ & 0xFFFF; + entity->lookupRasterIndex = *args++; + entity->lookupPaletteIndex = *args++; } else { entity->lookupRasterIndex = *args++ >> 16; entity->lookupPaletteIndex = *args++ >> 16; diff --git a/ver/ique/asm/nonmatchings/C50A0/draw_image_with_clipping.s b/ver/ique/asm/nonmatchings/C50A0/draw_image_with_clipping.s deleted file mode 100644 index 3fc1944a5a..0000000000 --- a/ver/ique/asm/nonmatchings/C50A0/draw_image_with_clipping.s +++ /dev/null @@ -1,567 +0,0 @@ -.set noat /* allow manual use of $at */ -.set noreorder /* don't insert nops after branches */ - -/* Generated by spimdisasm 1.11.1 */ - -glabel draw_image_with_clipping -/* C4304 8012D424 27BDFF80 */ addiu $sp, $sp, -0x80 -/* C4308 8012D428 AFA7008C */ sw $a3, 0x8C($sp) -/* C430C 8012D42C 8FA70094 */ lw $a3, 0x94($sp) -/* C4310 8012D430 AFA60088 */ sw $a2, 0x88($sp) -/* C4314 8012D434 8FA60098 */ lw $a2, 0x98($sp) -/* C4318 8012D438 8FAC009C */ lw $t4, 0x9C($sp) -/* C431C 8012D43C 8FA900A0 */ lw $t1, 0xA0($sp) -/* C4320 8012D440 8FAB00A4 */ lw $t3, 0xA4($sp) -/* C4324 8012D444 8FA800A8 */ lw $t0, 0xA8($sp) -/* C4328 8012D448 AFBE0078 */ sw $fp, 0x78($sp) -/* C432C 8012D44C 8FBE0090 */ lw $fp, 0x90($sp) -/* C4330 8012D450 AFB70074 */ sw $s7, 0x74($sp) -/* C4334 8012D454 AFB60070 */ sw $s6, 0x70($sp) -/* C4338 8012D458 AFB5006C */ sw $s5, 0x6C($sp) -/* C433C 8012D45C AFB40068 */ sw $s4, 0x68($sp) -/* C4340 8012D460 AFB30064 */ sw $s3, 0x64($sp) -/* C4344 8012D464 AFB20060 */ sw $s2, 0x60($sp) -/* C4348 8012D468 AFB1005C */ sw $s1, 0x5C($sp) -/* C434C 8012D46C AFB00058 */ sw $s0, 0x58($sp) -/* C4350 8012D470 AFA40080 */ sw $a0, 0x80($sp) -/* C4354 8012D474 AFA50084 */ sw $a1, 0x84($sp) -/* C4358 8012D478 00E0C02D */ daddu $t8, $a3, $zero -/* C435C 8012D47C 00071C00 */ sll $v1, $a3, 16 -/* C4360 8012D480 00031C03 */ sra $v1, $v1, 16 -/* C4364 8012D484 A7AC0018 */ sh $t4, 0x18($sp) -/* C4368 8012D488 3185FFFF */ andi $a1, $t4, 0xFFFF -/* C436C 8012D48C A7AB001C */ sh $t3, 0x1C($sp) -/* C4370 8012D490 3162FFFF */ andi $v0, $t3, 0xFFFF -/* C4374 8012D494 00A21021 */ addu $v0, $a1, $v0 -/* C4378 8012D498 0062182A */ slt $v1, $v1, $v0 -/* C437C 8012D49C A7A60016 */ sh $a2, 0x16($sp) -/* C4380 8012D4A0 A7A9001A */ sh $t1, 0x1A($sp) -/* C4384 8012D4A4 10600017 */ beqz $v1, .LIQUE_8012D504 -/* C4388 8012D4A8 A7A8001E */ sh $t0, 0x1E($sp) -/* C438C 8012D4AC 00061C00 */ sll $v1, $a2, 16 -/* C4390 8012D4B0 00031C03 */ sra $v1, $v1, 16 -/* C4394 8012D4B4 3124FFFF */ andi $a0, $t1, 0xFFFF -/* C4398 8012D4B8 3102FFFF */ andi $v0, $t0, 0xFFFF -/* C439C 8012D4BC 00821021 */ addu $v0, $a0, $v0 -/* C43A0 8012D4C0 0062182A */ slt $v1, $v1, $v0 -/* C43A4 8012D4C4 106001E7 */ beqz $v1, .LIQUE_8012DC64 -/* C43A8 8012D4C8 0000102D */ daddu $v0, $zero, $zero -/* C43AC 8012D4CC 8FB50084 */ lw $s5, 0x84($sp) -/* C43B0 8012D4D0 00F51021 */ addu $v0, $a3, $s5 -/* C43B4 8012D4D4 00021400 */ sll $v0, $v0, 16 -/* C43B8 8012D4D8 00021403 */ sra $v0, $v0, 16 -/* C43BC 8012D4DC 00A2102A */ slt $v0, $a1, $v0 -/* C43C0 8012D4E0 104001E0 */ beqz $v0, .LIQUE_8012DC64 -/* C43C4 8012D4E4 0000102D */ daddu $v0, $zero, $zero -/* C43C8 8012D4E8 8FB60088 */ lw $s6, 0x88($sp) -/* C43CC 8012D4EC 00D61021 */ addu $v0, $a2, $s6 -/* C43D0 8012D4F0 00021400 */ sll $v0, $v0, 16 -/* C43D4 8012D4F4 00021403 */ sra $v0, $v0, 16 -/* C43D8 8012D4F8 0082102A */ slt $v0, $a0, $v0 -/* C43DC 8012D4FC 14400003 */ bnez $v0, .LIQUE_8012D50C -/* C43E0 8012D500 0080702D */ daddu $t6, $a0, $zero -.LIQUE_8012D504: -/* C43E4 8012D504 0804B719 */ j .LIQUE_8012DC64 -/* C43E8 8012D508 0000102D */ daddu $v0, $zero, $zero -.LIQUE_8012D50C: -/* C43EC 8012D50C 01284821 */ addu $t1, $t1, $t0 -/* C43F0 8012D510 00A0502D */ daddu $t2, $a1, $zero -/* C43F4 8012D514 018B6021 */ addu $t4, $t4, $t3 -/* C43F8 8012D518 8FB50088 */ lw $s5, 0x88($sp) -/* C43FC 8012D51C 8FB60088 */ lw $s6, 0x88($sp) -/* C4400 8012D520 3C08800A */ lui $t0, %hi(gMainGfxPos) -/* C4404 8012D524 25089244 */ addiu $t0, $t0, %lo(gMainGfxPos) -/* C4408 8012D528 A3A00020 */ sb $zero, 0x20($sp) -/* C440C 8012D52C AFA90024 */ sw $t1, 0x24($sp) -/* C4410 8012D530 AFAC0034 */ sw $t4, 0x34($sp) -/* C4414 8012D534 A7A00002 */ sh $zero, 0x2($sp) -/* C4418 8012D538 A7A6000A */ sh $a2, 0xA($sp) -/* C441C 8012D53C 26B5FFFF */ addiu $s5, $s5, -0x1 -/* C4420 8012D540 AFB50028 */ sw $s5, 0x28($sp) -/* C4424 8012D544 8FB50084 */ lw $s5, 0x84($sp) -/* C4428 8012D548 02C6B021 */ addu $s6, $s6, $a2 -/* C442C 8012D54C AFB6002C */ sw $s6, 0x2C($sp) -/* C4430 8012D550 8FB60084 */ lw $s6, 0x84($sp) -/* C4434 8012D554 26B5FFFF */ addiu $s5, $s5, -0x1 -/* C4438 8012D558 02C73821 */ addu $a3, $s6, $a3 -/* C443C 8012D55C AFB50038 */ sw $s5, 0x38($sp) -/* C4440 8012D560 AFA7003C */ sw $a3, 0x3C($sp) -.LIQUE_8012D564: -/* C4444 8012D564 97A30002 */ lhu $v1, 0x2($sp) -/* C4448 8012D568 97A2000A */ lhu $v0, 0xA($sp) -/* C444C 8012D56C A7A00056 */ sh $zero, 0x56($sp) -/* C4450 8012D570 2463001F */ addiu $v1, $v1, 0x1F -/* C4454 8012D574 24420020 */ addiu $v0, $v0, 0x20 -/* C4458 8012D578 A7A2000E */ sh $v0, 0xE($sp) -/* C445C 8012D57C 00021400 */ sll $v0, $v0, 16 -/* C4460 8012D580 00021403 */ sra $v0, $v0, 16 -/* C4464 8012D584 01C2102A */ slt $v0, $t6, $v0 -/* C4468 8012D588 1440000E */ bnez $v0, .LIQUE_8012D5C4 -/* C446C 8012D58C A7A30006 */ sh $v1, 0x6($sp) -.LIQUE_8012D590: -/* C4470 8012D590 97A40002 */ lhu $a0, 0x2($sp) -/* C4474 8012D594 97A2000E */ lhu $v0, 0xE($sp) -/* C4478 8012D598 24830020 */ addiu $v1, $a0, 0x20 -/* C447C 8012D59C A7A2000A */ sh $v0, 0xA($sp) -/* C4480 8012D5A0 24420020 */ addiu $v0, $v0, 0x20 -/* C4484 8012D5A4 A7A2000E */ sh $v0, 0xE($sp) -/* C4488 8012D5A8 00021400 */ sll $v0, $v0, 16 -/* C448C 8012D5AC 00021403 */ sra $v0, $v0, 16 -/* C4490 8012D5B0 004E102A */ slt $v0, $v0, $t6 -/* C4494 8012D5B4 1440FFF6 */ bnez $v0, .LIQUE_8012D590 -/* C4498 8012D5B8 A7A30002 */ sh $v1, 0x2($sp) -/* C449C 8012D5BC 2482003F */ addiu $v0, $a0, 0x3F -/* C44A0 8012D5C0 A7A20006 */ sh $v0, 0x6($sp) -.LIQUE_8012D5C4: -/* C44A4 8012D5C4 87A2000A */ lh $v0, 0xA($sp) -/* C44A8 8012D5C8 004E102A */ slt $v0, $v0, $t6 -/* C44AC 8012D5CC 1040000A */ beqz $v0, .LIQUE_8012D5F8 -/* C44B0 8012D5D0 00000000 */ nop -/* C44B4 8012D5D4 97B50016 */ lhu $s5, 0x16($sp) -/* C44B8 8012D5D8 97B6001A */ lhu $s6, 0x1A($sp) -/* C44BC 8012D5DC 00151400 */ sll $v0, $s5, 16 -/* C44C0 8012D5E0 00021403 */ sra $v0, $v0, 16 -/* C44C4 8012D5E4 004E1023 */ subu $v0, $v0, $t6 -/* C44C8 8012D5E8 04420001 */ bltzl $v0, .LIQUE_8012D5F0 -/* C44CC 8012D5EC 00021023 */ negu $v0, $v0 -.LIQUE_8012D5F0: -/* C44D0 8012D5F0 A7A20056 */ sh $v0, 0x56($sp) -/* C44D4 8012D5F4 A7B6000A */ sh $s6, 0xA($sp) -.LIQUE_8012D5F8: -/* C44D8 8012D5F8 97A2001E */ lhu $v0, 0x1E($sp) -/* C44DC 8012D5FC 87A3000E */ lh $v1, 0xE($sp) -/* C44E0 8012D600 01C21021 */ addu $v0, $t6, $v0 -/* C44E4 8012D604 0062182A */ slt $v1, $v1, $v0 -/* C44E8 8012D608 14600009 */ bnez $v1, .LIQUE_8012D630 -/* C44EC 8012D60C 24150001 */ addiu $s5, $zero, 0x1 -/* C44F0 8012D610 8FB60024 */ lw $s6, 0x24($sp) -/* C44F4 8012D614 A3B50020 */ sb $s5, 0x20($sp) -/* C44F8 8012D618 97B50016 */ lhu $s5, 0x16($sp) -/* C44FC 8012D61C 02D51023 */ subu $v0, $s6, $s5 -/* C4500 8012D620 97B60026 */ lhu $s6, 0x26($sp) -/* C4504 8012D624 2442FFFF */ addiu $v0, $v0, -0x1 -/* C4508 8012D628 A7A20006 */ sh $v0, 0x6($sp) -/* C450C 8012D62C A7B6000E */ sh $s6, 0xE($sp) -.LIQUE_8012D630: -/* C4510 8012D630 97A20006 */ lhu $v0, 0x6($sp) -/* C4514 8012D634 8FB50088 */ lw $s5, 0x88($sp) -/* C4518 8012D638 00021400 */ sll $v0, $v0, 16 -/* C451C 8012D63C 00021403 */ sra $v0, $v0, 16 -/* C4520 8012D640 24420001 */ addiu $v0, $v0, 0x1 -/* C4524 8012D644 0055102B */ sltu $v0, $v0, $s5 -/* C4528 8012D648 14400007 */ bnez $v0, .LIQUE_8012D668 -/* C452C 8012D64C 0000682D */ daddu $t5, $zero, $zero -/* C4530 8012D650 24160001 */ addiu $s6, $zero, 0x1 -/* C4534 8012D654 97B5002A */ lhu $s5, 0x2A($sp) -/* C4538 8012D658 A3B60020 */ sb $s6, 0x20($sp) -/* C453C 8012D65C 97B6002E */ lhu $s6, 0x2E($sp) -/* C4540 8012D660 A7B50006 */ sh $s5, 0x6($sp) -/* C4544 8012D664 A7B6000E */ sh $s6, 0xE($sp) -.LIQUE_8012D668: -/* C4548 8012D668 3C14F508 */ lui $s4, (0xF5080000 >> 16) -/* C454C 8012D66C 3C0C0701 */ lui $t4, (0x7014060 >> 16) -/* C4550 8012D670 358C4060 */ ori $t4, $t4, (0x7014060 & 0xFFFF) -/* C4554 8012D674 3C13E600 */ lui $s3, (0xE6000000 >> 16) -/* C4558 8012D678 3C12F400 */ lui $s2, (0xF4000000 >> 16) -/* C455C 8012D67C 3C110700 */ lui $s1, (0x7000000 >> 16) -/* C4560 8012D680 3C10E700 */ lui $s0, (0xE7000000 >> 16) -/* C4564 8012D684 3C0B0001 */ lui $t3, (0x14060 >> 16) -/* C4568 8012D688 356B4060 */ ori $t3, $t3, (0x14060 & 0xFFFF) -/* C456C 8012D68C 3C19F200 */ lui $t9, (0xF2000000 >> 16) -/* C4570 8012D690 8FB5008C */ lw $s5, 0x8C($sp) -/* C4574 8012D694 8FB60038 */ lw $s6, 0x38($sp) -/* C4578 8012D698 3C17F510 */ lui $s7, (0xF5100000 >> 16) -/* C457C 8012D69C A7A00000 */ sh $zero, 0x0($sp) -/* C4580 8012D6A0 A7B80008 */ sh $t8, 0x8($sp) -/* C4584 8012D6A4 32A20007 */ andi $v0, $s5, 0x7 -/* C4588 8012D6A8 00024D40 */ sll $t1, $v0, 21 -/* C458C 8012D6AC 32D60FFF */ andi $s6, $s6, 0xFFF -/* C4590 8012D6B0 3C15FD08 */ lui $s5, (0xFD080000 >> 16) -/* C4594 8012D6B4 02D51025 */ or $v0, $s6, $s5 -/* C4598 8012D6B8 01221025 */ or $v0, $t1, $v0 -/* C459C 8012D6BC AFB60048 */ sw $s6, 0x48($sp) -/* C45A0 8012D6C0 AFA20040 */ sw $v0, 0x40($sp) -.LIQUE_8012D6C4: -/* C45A4 8012D6C4 0000782D */ daddu $t7, $zero, $zero -/* C45A8 8012D6C8 97A30000 */ lhu $v1, 0x0($sp) -/* C45AC 8012D6CC 97A20008 */ lhu $v0, 0x8($sp) -/* C45B0 8012D6D0 2463003F */ addiu $v1, $v1, 0x3F -/* C45B4 8012D6D4 24420040 */ addiu $v0, $v0, 0x40 -/* C45B8 8012D6D8 A7A2000C */ sh $v0, 0xC($sp) -/* C45BC 8012D6DC 00021400 */ sll $v0, $v0, 16 -/* C45C0 8012D6E0 00021403 */ sra $v0, $v0, 16 -/* C45C4 8012D6E4 0142102A */ slt $v0, $t2, $v0 -/* C45C8 8012D6E8 1440000E */ bnez $v0, .LIQUE_8012D724 -/* C45CC 8012D6EC A7A30004 */ sh $v1, 0x4($sp) -.LIQUE_8012D6F0: -/* C45D0 8012D6F0 97A40000 */ lhu $a0, 0x0($sp) -/* C45D4 8012D6F4 97A2000C */ lhu $v0, 0xC($sp) -/* C45D8 8012D6F8 24830040 */ addiu $v1, $a0, 0x40 -/* C45DC 8012D6FC A7A20008 */ sh $v0, 0x8($sp) -/* C45E0 8012D700 24420040 */ addiu $v0, $v0, 0x40 -/* C45E4 8012D704 A7A2000C */ sh $v0, 0xC($sp) -/* C45E8 8012D708 00021400 */ sll $v0, $v0, 16 -/* C45EC 8012D70C 00021403 */ sra $v0, $v0, 16 -/* C45F0 8012D710 004A102A */ slt $v0, $v0, $t2 -/* C45F4 8012D714 1440FFF6 */ bnez $v0, .LIQUE_8012D6F0 -/* C45F8 8012D718 A7A30000 */ sh $v1, 0x0($sp) -/* C45FC 8012D71C 2482007F */ addiu $v0, $a0, 0x7F -/* C4600 8012D720 A7A20004 */ sh $v0, 0x4($sp) -.LIQUE_8012D724: -/* C4604 8012D724 87A20008 */ lh $v0, 0x8($sp) -/* C4608 8012D728 004A102A */ slt $v0, $v0, $t2 -/* C460C 8012D72C 10400008 */ beqz $v0, .LIQUE_8012D750 -/* C4610 8012D730 00181400 */ sll $v0, $t8, 16 -/* C4614 8012D734 00021403 */ sra $v0, $v0, 16 -/* C4618 8012D738 004A1023 */ subu $v0, $v0, $t2 -/* C461C 8012D73C 97B60018 */ lhu $s6, 0x18($sp) -/* C4620 8012D740 04410002 */ bgez $v0, .LIQUE_8012D74C -/* C4624 8012D744 0040782D */ daddu $t7, $v0, $zero -/* C4628 8012D748 000F7823 */ negu $t7, $t7 -.LIQUE_8012D74C: -/* C462C 8012D74C A7B60008 */ sh $s6, 0x8($sp) -.LIQUE_8012D750: -/* C4630 8012D750 97A2001C */ lhu $v0, 0x1C($sp) -/* C4634 8012D754 87A3000C */ lh $v1, 0xC($sp) -/* C4638 8012D758 01421021 */ addu $v0, $t2, $v0 -/* C463C 8012D75C 0062182A */ slt $v1, $v1, $v0 -/* C4640 8012D760 14600008 */ bnez $v1, .LIQUE_8012D784 -/* C4644 8012D764 00000000 */ nop -/* C4648 8012D768 240D0001 */ addiu $t5, $zero, 0x1 -/* C464C 8012D76C 8FB50034 */ lw $s5, 0x34($sp) -/* C4650 8012D770 97B60036 */ lhu $s6, 0x36($sp) -/* C4654 8012D774 02B81023 */ subu $v0, $s5, $t8 -/* C4658 8012D778 2442FFFF */ addiu $v0, $v0, -0x1 -/* C465C 8012D77C A7A20004 */ sh $v0, 0x4($sp) -/* C4660 8012D780 A7B6000C */ sh $s6, 0xC($sp) -.LIQUE_8012D784: -/* C4664 8012D784 97A20004 */ lhu $v0, 0x4($sp) -/* C4668 8012D788 8FB50084 */ lw $s5, 0x84($sp) -/* C466C 8012D78C 00021400 */ sll $v0, $v0, 16 -/* C4670 8012D790 00021403 */ sra $v0, $v0, 16 -/* C4674 8012D794 24420001 */ addiu $v0, $v0, 0x1 -/* C4678 8012D798 0055102B */ sltu $v0, $v0, $s5 -/* C467C 8012D79C 14400006 */ bnez $v0, .LIQUE_8012D7B8 -/* C4680 8012D7A0 00000000 */ nop -/* C4684 8012D7A4 240D0001 */ addiu $t5, $zero, 0x1 -/* C4688 8012D7A8 97B6003A */ lhu $s6, 0x3A($sp) -/* C468C 8012D7AC 97B5003E */ lhu $s5, 0x3E($sp) -/* C4690 8012D7B0 A7B60004 */ sh $s6, 0x4($sp) -/* C4694 8012D7B4 A7B5000C */ sh $s5, 0xC($sp) -.LIQUE_8012D7B8: -/* C4698 8012D7B8 57C0004D */ bnel $fp, $zero, .LIQUE_8012D8F0 -/* C469C 8012D7BC 24020002 */ addiu $v0, $zero, 0x2 -/* C46A0 8012D7C0 8D050000 */ lw $a1, 0x0($t0) -/* C46A4 8012D7C4 00A0182D */ daddu $v1, $a1, $zero -/* C46A8 8012D7C8 24A50008 */ addiu $a1, $a1, 0x8 -/* C46AC 8012D7CC AD050000 */ sw $a1, 0x0($t0) -/* C46B0 8012D7D0 8FB60084 */ lw $s6, 0x84($sp) -/* C46B4 8012D7D4 3C15FD08 */ lui $s5, (0xFD080000 >> 16) -/* C46B8 8012D7D8 00161042 */ srl $v0, $s6, 1 -/* C46BC 8012D7DC 2442FFFF */ addiu $v0, $v0, -0x1 -/* C46C0 8012D7E0 30420FFF */ andi $v0, $v0, 0xFFF -/* C46C4 8012D7E4 00551025 */ or $v0, $v0, $s5 -/* C46C8 8012D7E8 01221025 */ or $v0, $t1, $v0 -/* C46CC 8012D7EC AC620000 */ sw $v0, 0x0($v1) -/* C46D0 8012D7F0 8FB60080 */ lw $s6, 0x80($sp) -/* C46D4 8012D7F4 AC760004 */ sw $s6, 0x4($v1) -/* C46D8 8012D7F8 97A20004 */ lhu $v0, 0x4($sp) -/* C46DC 8012D7FC 87A40000 */ lh $a0, 0x0($sp) -/* C46E0 8012D800 24A30008 */ addiu $v1, $a1, 0x8 -/* C46E4 8012D804 AD030000 */ sw $v1, 0x0($t0) -/* C46E8 8012D808 ACAC0004 */ sw $t4, 0x4($a1) -/* C46EC 8012D80C ACB30008 */ sw $s3, 0x8($a1) -/* C46F0 8012D810 ACA0000C */ sw $zero, 0xC($a1) -/* C46F4 8012D814 00021400 */ sll $v0, $v0, 16 -/* C46F8 8012D818 00021403 */ sra $v0, $v0, 16 -/* C46FC 8012D81C 00441023 */ subu $v0, $v0, $a0 -/* C4700 8012D820 24420001 */ addiu $v0, $v0, 0x1 -/* C4704 8012D824 00021043 */ sra $v0, $v0, 1 -/* C4708 8012D828 24420007 */ addiu $v0, $v0, 0x7 -/* C470C 8012D82C 000210C3 */ sra $v0, $v0, 3 -/* C4710 8012D830 304201FF */ andi $v0, $v0, 0x1FF -/* C4714 8012D834 00021240 */ sll $v0, $v0, 9 -/* C4718 8012D838 00541025 */ or $v0, $v0, $s4 -/* C471C 8012D83C 01221025 */ or $v0, $t1, $v0 -/* C4720 8012D840 ACA20000 */ sw $v0, 0x0($a1) -/* C4724 8012D844 87A30000 */ lh $v1, 0x0($sp) -/* C4728 8012D848 24A20010 */ addiu $v0, $a1, 0x10 -/* C472C 8012D84C AD020000 */ sw $v0, 0x0($t0) -/* C4730 8012D850 97A20002 */ lhu $v0, 0x2($sp) -/* C4734 8012D854 00031840 */ sll $v1, $v1, 1 -/* C4738 8012D858 30630FFF */ andi $v1, $v1, 0xFFF -/* C473C 8012D85C 00031B00 */ sll $v1, $v1, 12 -/* C4740 8012D860 00021080 */ sll $v0, $v0, 2 -/* C4744 8012D864 30420FFC */ andi $v0, $v0, 0xFFC -/* C4748 8012D868 00521025 */ or $v0, $v0, $s2 -/* C474C 8012D86C 00621825 */ or $v1, $v1, $v0 -/* C4750 8012D870 ACA30010 */ sw $v1, 0x10($a1) -/* C4754 8012D874 97A30004 */ lhu $v1, 0x4($sp) -/* C4758 8012D878 97A40006 */ lhu $a0, 0x6($sp) -/* C475C 8012D87C 24A20018 */ addiu $v0, $a1, 0x18 -/* C4760 8012D880 AD020000 */ sw $v0, 0x0($t0) -/* C4764 8012D884 ACB00018 */ sw $s0, 0x18($a1) -/* C4768 8012D888 ACA0001C */ sw $zero, 0x1C($a1) -/* C476C 8012D88C 00031840 */ sll $v1, $v1, 1 -/* C4770 8012D890 30630FFE */ andi $v1, $v1, 0xFFE -/* C4774 8012D894 00031B00 */ sll $v1, $v1, 12 -/* C4778 8012D898 00042080 */ sll $a0, $a0, 2 -/* C477C 8012D89C 30840FFC */ andi $a0, $a0, 0xFFC -/* C4780 8012D8A0 00912025 */ or $a0, $a0, $s1 -/* C4784 8012D8A4 00641825 */ or $v1, $v1, $a0 -/* C4788 8012D8A8 ACA30014 */ sw $v1, 0x14($a1) -/* C478C 8012D8AC 97A20004 */ lhu $v0, 0x4($sp) -/* C4790 8012D8B0 87A40000 */ lh $a0, 0x0($sp) -/* C4794 8012D8B4 24A30020 */ addiu $v1, $a1, 0x20 -/* C4798 8012D8B8 AD030000 */ sw $v1, 0x0($t0) -/* C479C 8012D8BC 3C03F500 */ lui $v1, (0xF5000000 >> 16) -/* C47A0 8012D8C0 ACAB0024 */ sw $t3, 0x24($a1) -/* C47A4 8012D8C4 00021400 */ sll $v0, $v0, 16 -/* C47A8 8012D8C8 00021403 */ sra $v0, $v0, 16 -/* C47AC 8012D8CC 00441023 */ subu $v0, $v0, $a0 -/* C47B0 8012D8D0 24420001 */ addiu $v0, $v0, 0x1 -/* C47B4 8012D8D4 00021043 */ sra $v0, $v0, 1 -/* C47B8 8012D8D8 24420007 */ addiu $v0, $v0, 0x7 -/* C47BC 8012D8DC 000210C3 */ sra $v0, $v0, 3 -/* C47C0 8012D8E0 304201FF */ andi $v0, $v0, 0x1FF -/* C47C4 8012D8E4 00021240 */ sll $v0, $v0, 9 -/* C47C8 8012D8E8 0804B6C6 */ j .LIQUE_8012DB18 -/* C47CC 8012D8EC 00431025 */ or $v0, $v0, $v1 -.LIQUE_8012D8F0: -/* C47D0 8012D8F0 57C20047 */ bnel $fp, $v0, .LIQUE_8012DA10 -/* C47D4 8012D8F4 24020001 */ addiu $v0, $zero, 0x1 -/* C47D8 8012D8F8 8D050000 */ lw $a1, 0x0($t0) -/* C47DC 8012D8FC 00A0182D */ daddu $v1, $a1, $zero -/* C47E0 8012D900 24A50008 */ addiu $a1, $a1, 0x8 -/* C47E4 8012D904 AD050000 */ sw $a1, 0x0($t0) -/* C47E8 8012D908 8FB50048 */ lw $s5, 0x48($sp) -/* C47EC 8012D90C 3C02FD10 */ lui $v0, (0xFD100000 >> 16) -/* C47F0 8012D910 02A21025 */ or $v0, $s5, $v0 -/* C47F4 8012D914 01221025 */ or $v0, $t1, $v0 -/* C47F8 8012D918 AC620000 */ sw $v0, 0x0($v1) -/* C47FC 8012D91C 8FB60080 */ lw $s6, 0x80($sp) -/* C4800 8012D920 AC760004 */ sw $s6, 0x4($v1) -/* C4804 8012D924 97A20004 */ lhu $v0, 0x4($sp) -/* C4808 8012D928 87A40000 */ lh $a0, 0x0($sp) -/* C480C 8012D92C 24A30008 */ addiu $v1, $a1, 0x8 -/* C4810 8012D930 AD030000 */ sw $v1, 0x0($t0) -/* C4814 8012D934 ACAC0004 */ sw $t4, 0x4($a1) -/* C4818 8012D938 ACB30008 */ sw $s3, 0x8($a1) -/* C481C 8012D93C ACA0000C */ sw $zero, 0xC($a1) -/* C4820 8012D940 00021400 */ sll $v0, $v0, 16 -/* C4824 8012D944 00021403 */ sra $v0, $v0, 16 -/* C4828 8012D948 00441023 */ subu $v0, $v0, $a0 -/* C482C 8012D94C 00021040 */ sll $v0, $v0, 1 -/* C4830 8012D950 24420009 */ addiu $v0, $v0, 0x9 -/* C4834 8012D954 000210C3 */ sra $v0, $v0, 3 -/* C4838 8012D958 304201FF */ andi $v0, $v0, 0x1FF -/* C483C 8012D95C 00021240 */ sll $v0, $v0, 9 -/* C4840 8012D960 00571025 */ or $v0, $v0, $s7 -/* C4844 8012D964 01221025 */ or $v0, $t1, $v0 -/* C4848 8012D968 ACA20000 */ sw $v0, 0x0($a1) -/* C484C 8012D96C 87A30000 */ lh $v1, 0x0($sp) -/* C4850 8012D970 24A20010 */ addiu $v0, $a1, 0x10 -/* C4854 8012D974 AD020000 */ sw $v0, 0x0($t0) -/* C4858 8012D978 97A20002 */ lhu $v0, 0x2($sp) -/* C485C 8012D97C 00031880 */ sll $v1, $v1, 2 -/* C4860 8012D980 30630FFF */ andi $v1, $v1, 0xFFF -/* C4864 8012D984 00031B00 */ sll $v1, $v1, 12 -/* C4868 8012D988 00021080 */ sll $v0, $v0, 2 -/* C486C 8012D98C 30420FFC */ andi $v0, $v0, 0xFFC -/* C4870 8012D990 00521025 */ or $v0, $v0, $s2 -/* C4874 8012D994 00621825 */ or $v1, $v1, $v0 -/* C4878 8012D998 ACA30010 */ sw $v1, 0x10($a1) -/* C487C 8012D99C 97A30004 */ lhu $v1, 0x4($sp) -/* C4880 8012D9A0 97A40006 */ lhu $a0, 0x6($sp) -/* C4884 8012D9A4 24A20018 */ addiu $v0, $a1, 0x18 -/* C4888 8012D9A8 AD020000 */ sw $v0, 0x0($t0) -/* C488C 8012D9AC ACB00018 */ sw $s0, 0x18($a1) -/* C4890 8012D9B0 ACA0001C */ sw $zero, 0x1C($a1) -/* C4894 8012D9B4 00031880 */ sll $v1, $v1, 2 -/* C4898 8012D9B8 30630FFC */ andi $v1, $v1, 0xFFC -/* C489C 8012D9BC 00031B00 */ sll $v1, $v1, 12 -/* C48A0 8012D9C0 00042080 */ sll $a0, $a0, 2 -/* C48A4 8012D9C4 30840FFC */ andi $a0, $a0, 0xFFC -/* C48A8 8012D9C8 00912025 */ or $a0, $a0, $s1 -/* C48AC 8012D9CC 00641825 */ or $v1, $v1, $a0 -/* C48B0 8012D9D0 ACA30014 */ sw $v1, 0x14($a1) -/* C48B4 8012D9D4 97A20004 */ lhu $v0, 0x4($sp) -/* C48B8 8012D9D8 87A40000 */ lh $a0, 0x0($sp) -/* C48BC 8012D9DC 24A30020 */ addiu $v1, $a1, 0x20 -/* C48C0 8012D9E0 AD030000 */ sw $v1, 0x0($t0) -/* C48C4 8012D9E4 ACAB0024 */ sw $t3, 0x24($a1) -/* C48C8 8012D9E8 00021400 */ sll $v0, $v0, 16 -/* C48CC 8012D9EC 00021403 */ sra $v0, $v0, 16 -/* C48D0 8012D9F0 00441023 */ subu $v0, $v0, $a0 -/* C48D4 8012D9F4 00021040 */ sll $v0, $v0, 1 -/* C48D8 8012D9F8 24420009 */ addiu $v0, $v0, 0x9 -/* C48DC 8012D9FC 000210C3 */ sra $v0, $v0, 3 -/* C48E0 8012DA00 304201FF */ andi $v0, $v0, 0x1FF -/* C48E4 8012DA04 00021240 */ sll $v0, $v0, 9 -/* C48E8 8012DA08 0804B6C6 */ j .LIQUE_8012DB18 -/* C48EC 8012DA0C 00571025 */ or $v0, $v0, $s7 -.LIQUE_8012DA10: -/* C48F0 8012DA10 17C2005B */ bne $fp, $v0, .LIQUE_8012DB80 -/* C48F4 8012DA14 3C070400 */ lui $a3, (0x4000400 >> 16) -/* C48F8 8012DA18 8D050000 */ lw $a1, 0x0($t0) -/* C48FC 8012DA1C 00A0102D */ daddu $v0, $a1, $zero -/* C4900 8012DA20 24A50008 */ addiu $a1, $a1, 0x8 -/* C4904 8012DA24 AD050000 */ sw $a1, 0x0($t0) -/* C4908 8012DA28 8FB50040 */ lw $s5, 0x40($sp) -/* C490C 8012DA2C AC550000 */ sw $s5, 0x0($v0) -/* C4910 8012DA30 8FB60080 */ lw $s6, 0x80($sp) -/* C4914 8012DA34 AC560004 */ sw $s6, 0x4($v0) -/* C4918 8012DA38 97A20004 */ lhu $v0, 0x4($sp) -/* C491C 8012DA3C 87A40000 */ lh $a0, 0x0($sp) -/* C4920 8012DA40 24A30008 */ addiu $v1, $a1, 0x8 -/* C4924 8012DA44 AD030000 */ sw $v1, 0x0($t0) -/* C4928 8012DA48 ACAC0004 */ sw $t4, 0x4($a1) -/* C492C 8012DA4C ACB30008 */ sw $s3, 0x8($a1) -/* C4930 8012DA50 ACA0000C */ sw $zero, 0xC($a1) -/* C4934 8012DA54 00021400 */ sll $v0, $v0, 16 -/* C4938 8012DA58 00021403 */ sra $v0, $v0, 16 -/* C493C 8012DA5C 00441023 */ subu $v0, $v0, $a0 -/* C4940 8012DA60 24420008 */ addiu $v0, $v0, 0x8 -/* C4944 8012DA64 000210C3 */ sra $v0, $v0, 3 -/* C4948 8012DA68 304201FF */ andi $v0, $v0, 0x1FF -/* C494C 8012DA6C 00021240 */ sll $v0, $v0, 9 -/* C4950 8012DA70 00541025 */ or $v0, $v0, $s4 -/* C4954 8012DA74 01221025 */ or $v0, $t1, $v0 -/* C4958 8012DA78 ACA20000 */ sw $v0, 0x0($a1) -/* C495C 8012DA7C 87A30000 */ lh $v1, 0x0($sp) -/* C4960 8012DA80 24A20010 */ addiu $v0, $a1, 0x10 -/* C4964 8012DA84 AD020000 */ sw $v0, 0x0($t0) -/* C4968 8012DA88 97A20002 */ lhu $v0, 0x2($sp) -/* C496C 8012DA8C 00031880 */ sll $v1, $v1, 2 -/* C4970 8012DA90 30630FFF */ andi $v1, $v1, 0xFFF -/* C4974 8012DA94 00031B00 */ sll $v1, $v1, 12 -/* C4978 8012DA98 00021080 */ sll $v0, $v0, 2 -/* C497C 8012DA9C 30420FFC */ andi $v0, $v0, 0xFFC -/* C4980 8012DAA0 00521025 */ or $v0, $v0, $s2 -/* C4984 8012DAA4 00621825 */ or $v1, $v1, $v0 -/* C4988 8012DAA8 ACA30010 */ sw $v1, 0x10($a1) -/* C498C 8012DAAC 97A30004 */ lhu $v1, 0x4($sp) -/* C4990 8012DAB0 97A40006 */ lhu $a0, 0x6($sp) -/* C4994 8012DAB4 24A20018 */ addiu $v0, $a1, 0x18 -/* C4998 8012DAB8 AD020000 */ sw $v0, 0x0($t0) -/* C499C 8012DABC ACB00018 */ sw $s0, 0x18($a1) -/* C49A0 8012DAC0 ACA0001C */ sw $zero, 0x1C($a1) -/* C49A4 8012DAC4 00031880 */ sll $v1, $v1, 2 -/* C49A8 8012DAC8 30630FFC */ andi $v1, $v1, 0xFFC -/* C49AC 8012DACC 00031B00 */ sll $v1, $v1, 12 -/* C49B0 8012DAD0 00042080 */ sll $a0, $a0, 2 -/* C49B4 8012DAD4 30840FFC */ andi $a0, $a0, 0xFFC -/* C49B8 8012DAD8 00912025 */ or $a0, $a0, $s1 -/* C49BC 8012DADC 00641825 */ or $v1, $v1, $a0 -/* C49C0 8012DAE0 ACA30014 */ sw $v1, 0x14($a1) -/* C49C4 8012DAE4 97A20004 */ lhu $v0, 0x4($sp) -/* C49C8 8012DAE8 87A40000 */ lh $a0, 0x0($sp) -/* C49CC 8012DAEC 24A30020 */ addiu $v1, $a1, 0x20 -/* C49D0 8012DAF0 AD030000 */ sw $v1, 0x0($t0) -/* C49D4 8012DAF4 ACAB0024 */ sw $t3, 0x24($a1) -/* C49D8 8012DAF8 00021400 */ sll $v0, $v0, 16 -/* C49DC 8012DAFC 00021403 */ sra $v0, $v0, 16 -/* C49E0 8012DB00 00441023 */ subu $v0, $v0, $a0 -/* C49E4 8012DB04 24420008 */ addiu $v0, $v0, 0x8 -/* C49E8 8012DB08 000210C3 */ sra $v0, $v0, 3 -/* C49EC 8012DB0C 304201FF */ andi $v0, $v0, 0x1FF -/* C49F0 8012DB10 00021240 */ sll $v0, $v0, 9 -/* C49F4 8012DB14 00541025 */ or $v0, $v0, $s4 -.LIQUE_8012DB18: -/* C49F8 8012DB18 01221025 */ or $v0, $t1, $v0 -/* C49FC 8012DB1C ACA20020 */ sw $v0, 0x20($a1) -/* C4A00 8012DB20 87A30000 */ lh $v1, 0x0($sp) -/* C4A04 8012DB24 24A20028 */ addiu $v0, $a1, 0x28 -/* C4A08 8012DB28 AD020000 */ sw $v0, 0x0($t0) -/* C4A0C 8012DB2C 97A20002 */ lhu $v0, 0x2($sp) -/* C4A10 8012DB30 00031880 */ sll $v1, $v1, 2 -/* C4A14 8012DB34 30630FFF */ andi $v1, $v1, 0xFFF -/* C4A18 8012DB38 00031B00 */ sll $v1, $v1, 12 -/* C4A1C 8012DB3C 00021080 */ sll $v0, $v0, 2 -/* C4A20 8012DB40 30420FFC */ andi $v0, $v0, 0xFFC -/* C4A24 8012DB44 00591025 */ or $v0, $v0, $t9 -/* C4A28 8012DB48 00621825 */ or $v1, $v1, $v0 -/* C4A2C 8012DB4C ACA30028 */ sw $v1, 0x28($a1) -/* C4A30 8012DB50 97A30004 */ lhu $v1, 0x4($sp) -/* C4A34 8012DB54 24A20030 */ addiu $v0, $a1, 0x30 -/* C4A38 8012DB58 AD020000 */ sw $v0, 0x0($t0) -/* C4A3C 8012DB5C 97A20006 */ lhu $v0, 0x6($sp) -/* C4A40 8012DB60 00031880 */ sll $v1, $v1, 2 -/* C4A44 8012DB64 30630FFC */ andi $v1, $v1, 0xFFC -/* C4A48 8012DB68 00031B00 */ sll $v1, $v1, 12 -/* C4A4C 8012DB6C 00021080 */ sll $v0, $v0, 2 -/* C4A50 8012DB70 30420FFC */ andi $v0, $v0, 0xFFC -/* C4A54 8012DB74 00621825 */ or $v1, $v1, $v0 -/* C4A58 8012DB78 ACA3002C */ sw $v1, 0x2C($a1) -/* C4A5C 8012DB7C 3C070400 */ lui $a3, (0x4000400 >> 16) -.LIQUE_8012DB80: -/* C4A60 8012DB80 34E70400 */ ori $a3, $a3, (0x4000400 & 0xFFFF) -/* C4A64 8012DB84 3C03E400 */ lui $v1, (0xE4000000 >> 16) -/* C4A68 8012DB88 8D050000 */ lw $a1, 0x0($t0) -/* C4A6C 8012DB8C 87A4000C */ lh $a0, 0xC($sp) -/* C4A70 8012DB90 00A0302D */ daddu $a2, $a1, $zero -/* C4A74 8012DB94 24A50008 */ addiu $a1, $a1, 0x8 -/* C4A78 8012DB98 00042080 */ sll $a0, $a0, 2 -/* C4A7C 8012DB9C 30840FFF */ andi $a0, $a0, 0xFFF -/* C4A80 8012DBA0 AD050000 */ sw $a1, 0x0($t0) -/* C4A84 8012DBA4 87A2000E */ lh $v0, 0xE($sp) -/* C4A88 8012DBA8 00042300 */ sll $a0, $a0, 12 -/* C4A8C 8012DBAC 00021080 */ sll $v0, $v0, 2 -/* C4A90 8012DBB0 30420FFF */ andi $v0, $v0, 0xFFF -/* C4A94 8012DBB4 00431025 */ or $v0, $v0, $v1 -/* C4A98 8012DBB8 00822025 */ or $a0, $a0, $v0 -/* C4A9C 8012DBBC 24A20008 */ addiu $v0, $a1, 0x8 -/* C4AA0 8012DBC0 ACC40000 */ sw $a0, 0x0($a2) -/* C4AA4 8012DBC4 AD020000 */ sw $v0, 0x0($t0) -/* C4AA8 8012DBC8 87A30008 */ lh $v1, 0x8($sp) -/* C4AAC 8012DBCC 24A20010 */ addiu $v0, $a1, 0x10 -/* C4AB0 8012DBD0 AD020000 */ sw $v0, 0x0($t0) -/* C4AB4 8012DBD4 87A2000A */ lh $v0, 0xA($sp) -/* C4AB8 8012DBD8 00031880 */ sll $v1, $v1, 2 -/* C4ABC 8012DBDC 30630FFF */ andi $v1, $v1, 0xFFF -/* C4AC0 8012DBE0 00031B00 */ sll $v1, $v1, 12 -/* C4AC4 8012DBE4 00021080 */ sll $v0, $v0, 2 -/* C4AC8 8012DBE8 30420FFF */ andi $v0, $v0, 0xFFF -/* C4ACC 8012DBEC 00621825 */ or $v1, $v1, $v0 -/* C4AD0 8012DBF0 3C02E100 */ lui $v0, (0xE1000000 >> 16) -/* C4AD4 8012DBF4 ACC30004 */ sw $v1, 0x4($a2) -/* C4AD8 8012DBF8 ACA20000 */ sw $v0, 0x0($a1) -/* C4ADC 8012DBFC 97B50056 */ lhu $s5, 0x56($sp) -/* C4AE0 8012DC00 000F1D40 */ sll $v1, $t7, 21 -/* C4AE4 8012DC04 ACA7000C */ sw $a3, 0xC($a1) -/* C4AE8 8012DC08 00151140 */ sll $v0, $s5, 5 -/* C4AEC 8012DC0C 3042FFE0 */ andi $v0, $v0, 0xFFE0 -/* C4AF0 8012DC10 00621825 */ or $v1, $v1, $v0 -/* C4AF4 8012DC14 3C02F100 */ lui $v0, (0xF1000000 >> 16) -/* C4AF8 8012DC18 ACA20008 */ sw $v0, 0x8($a1) -/* C4AFC 8012DC1C 31A200FF */ andi $v0, $t5, 0xFF -/* C4B00 8012DC20 14400007 */ bnez $v0, .LIQUE_8012DC40 -/* C4B04 8012DC24 ACA30004 */ sw $v1, 0x4($a1) -/* C4B08 8012DC28 97A20000 */ lhu $v0, 0x0($sp) -/* C4B0C 8012DC2C 97A3000C */ lhu $v1, 0xC($sp) -/* C4B10 8012DC30 24420040 */ addiu $v0, $v0, 0x40 -/* C4B14 8012DC34 A7A20000 */ sh $v0, 0x0($sp) -/* C4B18 8012DC38 0804B5B1 */ j .LIQUE_8012D6C4 -/* C4B1C 8012DC3C A7A30008 */ sh $v1, 0x8($sp) -.LIQUE_8012DC40: -/* C4B20 8012DC40 93A20020 */ lbu $v0, 0x20($sp) -/* C4B24 8012DC44 14400007 */ bnez $v0, .LIQUE_8012DC64 -/* C4B28 8012DC48 24020001 */ addiu $v0, $zero, 0x1 -/* C4B2C 8012DC4C 97A20002 */ lhu $v0, 0x2($sp) -/* C4B30 8012DC50 97A3000E */ lhu $v1, 0xE($sp) -/* C4B34 8012DC54 24420020 */ addiu $v0, $v0, 0x20 -/* C4B38 8012DC58 A7A20002 */ sh $v0, 0x2($sp) -/* C4B3C 8012DC5C 0804B559 */ j .LIQUE_8012D564 -/* C4B40 8012DC60 A7A3000A */ sh $v1, 0xA($sp) -.LIQUE_8012DC64: -/* C4B44 8012DC64 8FBE0078 */ lw $fp, 0x78($sp) -/* C4B48 8012DC68 8FB70074 */ lw $s7, 0x74($sp) -/* C4B4C 8012DC6C 8FB60070 */ lw $s6, 0x70($sp) -/* C4B50 8012DC70 8FB5006C */ lw $s5, 0x6C($sp) -/* C4B54 8012DC74 8FB40068 */ lw $s4, 0x68($sp) -/* C4B58 8012DC78 8FB30064 */ lw $s3, 0x64($sp) -/* C4B5C 8012DC7C 8FB20060 */ lw $s2, 0x60($sp) -/* C4B60 8012DC80 8FB1005C */ lw $s1, 0x5C($sp) -/* C4B64 8012DC84 8FB00058 */ lw $s0, 0x58($sp) -/* C4B68 8012DC88 03E00008 */ jr $ra -/* C4B6C 8012DC8C 27BD0080 */ addiu $sp, $sp, 0x80 diff --git a/ver/us/asm/nonmatchings/C50A0/draw_image_with_clipping.s b/ver/us/asm/nonmatchings/C50A0/draw_image_with_clipping.s deleted file mode 100644 index 002618d138..0000000000 --- a/ver/us/asm/nonmatchings/C50A0/draw_image_with_clipping.s +++ /dev/null @@ -1,565 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel draw_image_with_clipping -/* C5394 8012EC94 27BDFF80 */ addiu $sp, $sp, -0x80 -/* C5398 8012EC98 AFA7008C */ sw $a3, 0x8c($sp) -/* C539C 8012EC9C 8FA70094 */ lw $a3, 0x94($sp) -/* C53A0 8012ECA0 AFA60088 */ sw $a2, 0x88($sp) -/* C53A4 8012ECA4 8FA60098 */ lw $a2, 0x98($sp) -/* C53A8 8012ECA8 8FAC009C */ lw $t4, 0x9c($sp) -/* C53AC 8012ECAC 8FA900A0 */ lw $t1, 0xa0($sp) -/* C53B0 8012ECB0 8FAB00A4 */ lw $t3, 0xa4($sp) -/* C53B4 8012ECB4 8FA800A8 */ lw $t0, 0xa8($sp) -/* C53B8 8012ECB8 AFBE0078 */ sw $fp, 0x78($sp) -/* C53BC 8012ECBC 8FBE0090 */ lw $fp, 0x90($sp) -/* C53C0 8012ECC0 AFB70074 */ sw $s7, 0x74($sp) -/* C53C4 8012ECC4 AFB60070 */ sw $s6, 0x70($sp) -/* C53C8 8012ECC8 AFB5006C */ sw $s5, 0x6c($sp) -/* C53CC 8012ECCC AFB40068 */ sw $s4, 0x68($sp) -/* C53D0 8012ECD0 AFB30064 */ sw $s3, 0x64($sp) -/* C53D4 8012ECD4 AFB20060 */ sw $s2, 0x60($sp) -/* C53D8 8012ECD8 AFB1005C */ sw $s1, 0x5c($sp) -/* C53DC 8012ECDC AFB00058 */ sw $s0, 0x58($sp) -/* C53E0 8012ECE0 AFA40080 */ sw $a0, 0x80($sp) -/* C53E4 8012ECE4 AFA50084 */ sw $a1, 0x84($sp) -/* C53E8 8012ECE8 00E0C02D */ daddu $t8, $a3, $zero -/* C53EC 8012ECEC 00071C00 */ sll $v1, $a3, 0x10 -/* C53F0 8012ECF0 00031C03 */ sra $v1, $v1, 0x10 -/* C53F4 8012ECF4 A7AC0018 */ sh $t4, 0x18($sp) -/* C53F8 8012ECF8 3185FFFF */ andi $a1, $t4, 0xffff -/* C53FC 8012ECFC A7AB001C */ sh $t3, 0x1c($sp) -/* C5400 8012ED00 3162FFFF */ andi $v0, $t3, 0xffff -/* C5404 8012ED04 00A21021 */ addu $v0, $a1, $v0 -/* C5408 8012ED08 0062182A */ slt $v1, $v1, $v0 -/* C540C 8012ED0C A7A60016 */ sh $a2, 0x16($sp) -/* C5410 8012ED10 A7A9001A */ sh $t1, 0x1a($sp) -/* C5414 8012ED14 10600017 */ beqz $v1, .L8012ED74 -/* C5418 8012ED18 A7A8001E */ sh $t0, 0x1e($sp) -/* C541C 8012ED1C 00061C00 */ sll $v1, $a2, 0x10 -/* C5420 8012ED20 00031C03 */ sra $v1, $v1, 0x10 -/* C5424 8012ED24 3124FFFF */ andi $a0, $t1, 0xffff -/* C5428 8012ED28 3102FFFF */ andi $v0, $t0, 0xffff -/* C542C 8012ED2C 00821021 */ addu $v0, $a0, $v0 -/* C5430 8012ED30 0062182A */ slt $v1, $v1, $v0 -/* C5434 8012ED34 106001E7 */ beqz $v1, .L8012F4D4 -/* C5438 8012ED38 0000102D */ daddu $v0, $zero, $zero -/* C543C 8012ED3C 8FB50084 */ lw $s5, 0x84($sp) -/* C5440 8012ED40 00F51021 */ addu $v0, $a3, $s5 -/* C5444 8012ED44 00021400 */ sll $v0, $v0, 0x10 -/* C5448 8012ED48 00021403 */ sra $v0, $v0, 0x10 -/* C544C 8012ED4C 00A2102A */ slt $v0, $a1, $v0 -/* C5450 8012ED50 104001E0 */ beqz $v0, .L8012F4D4 -/* C5454 8012ED54 0000102D */ daddu $v0, $zero, $zero -/* C5458 8012ED58 8FB60088 */ lw $s6, 0x88($sp) -/* C545C 8012ED5C 00D61021 */ addu $v0, $a2, $s6 -/* C5460 8012ED60 00021400 */ sll $v0, $v0, 0x10 -/* C5464 8012ED64 00021403 */ sra $v0, $v0, 0x10 -/* C5468 8012ED68 0082102A */ slt $v0, $a0, $v0 -/* C546C 8012ED6C 14400003 */ bnez $v0, .L8012ED7C -/* C5470 8012ED70 0080702D */ daddu $t6, $a0, $zero -.L8012ED74: -/* C5474 8012ED74 0804BD35 */ j .L8012F4D4 -/* C5478 8012ED78 0000102D */ daddu $v0, $zero, $zero -.L8012ED7C: -/* C547C 8012ED7C 01284821 */ addu $t1, $t1, $t0 -/* C5480 8012ED80 00A0502D */ daddu $t2, $a1, $zero -/* C5484 8012ED84 018B6021 */ addu $t4, $t4, $t3 -/* C5488 8012ED88 8FB50088 */ lw $s5, 0x88($sp) -/* C548C 8012ED8C 8FB60088 */ lw $s6, 0x88($sp) -/* C5490 8012ED90 3C08800A */ lui $t0, %hi(gMainGfxPos) -/* C5494 8012ED94 2508A66C */ addiu $t0, $t0, %lo(gMainGfxPos) -/* C5498 8012ED98 A3A00020 */ sb $zero, 0x20($sp) -/* C549C 8012ED9C AFA90024 */ sw $t1, 0x24($sp) -/* C54A0 8012EDA0 AFAC0034 */ sw $t4, 0x34($sp) -/* C54A4 8012EDA4 A7A00002 */ sh $zero, 2($sp) -/* C54A8 8012EDA8 A7A6000A */ sh $a2, 0xa($sp) -/* C54AC 8012EDAC 26B5FFFF */ addiu $s5, $s5, -1 -/* C54B0 8012EDB0 AFB50028 */ sw $s5, 0x28($sp) -/* C54B4 8012EDB4 8FB50084 */ lw $s5, 0x84($sp) -/* C54B8 8012EDB8 02C6B021 */ addu $s6, $s6, $a2 -/* C54BC 8012EDBC AFB6002C */ sw $s6, 0x2c($sp) -/* C54C0 8012EDC0 8FB60084 */ lw $s6, 0x84($sp) -/* C54C4 8012EDC4 26B5FFFF */ addiu $s5, $s5, -1 -/* C54C8 8012EDC8 02C73821 */ addu $a3, $s6, $a3 -/* C54CC 8012EDCC AFB50038 */ sw $s5, 0x38($sp) -/* C54D0 8012EDD0 AFA7003C */ sw $a3, 0x3c($sp) -.L8012EDD4: -/* C54D4 8012EDD4 97A30002 */ lhu $v1, 2($sp) -/* C54D8 8012EDD8 97A2000A */ lhu $v0, 0xa($sp) -/* C54DC 8012EDDC A7A00056 */ sh $zero, 0x56($sp) -/* C54E0 8012EDE0 2463001F */ addiu $v1, $v1, 0x1f -/* C54E4 8012EDE4 24420020 */ addiu $v0, $v0, 0x20 -/* C54E8 8012EDE8 A7A2000E */ sh $v0, 0xe($sp) -/* C54EC 8012EDEC 00021400 */ sll $v0, $v0, 0x10 -/* C54F0 8012EDF0 00021403 */ sra $v0, $v0, 0x10 -/* C54F4 8012EDF4 01C2102A */ slt $v0, $t6, $v0 -/* C54F8 8012EDF8 1440000E */ bnez $v0, .L8012EE34 -/* C54FC 8012EDFC A7A30006 */ sh $v1, 6($sp) -.L8012EE00: -/* C5500 8012EE00 97A40002 */ lhu $a0, 2($sp) -/* C5504 8012EE04 97A2000E */ lhu $v0, 0xe($sp) -/* C5508 8012EE08 24830020 */ addiu $v1, $a0, 0x20 -/* C550C 8012EE0C A7A2000A */ sh $v0, 0xa($sp) -/* C5510 8012EE10 24420020 */ addiu $v0, $v0, 0x20 -/* C5514 8012EE14 A7A2000E */ sh $v0, 0xe($sp) -/* C5518 8012EE18 00021400 */ sll $v0, $v0, 0x10 -/* C551C 8012EE1C 00021403 */ sra $v0, $v0, 0x10 -/* C5520 8012EE20 004E102A */ slt $v0, $v0, $t6 -/* C5524 8012EE24 1440FFF6 */ bnez $v0, .L8012EE00 -/* C5528 8012EE28 A7A30002 */ sh $v1, 2($sp) -/* C552C 8012EE2C 2482003F */ addiu $v0, $a0, 0x3f -/* C5530 8012EE30 A7A20006 */ sh $v0, 6($sp) -.L8012EE34: -/* C5534 8012EE34 87A2000A */ lh $v0, 0xa($sp) -/* C5538 8012EE38 004E102A */ slt $v0, $v0, $t6 -/* C553C 8012EE3C 1040000A */ beqz $v0, .L8012EE68 -/* C5540 8012EE40 00000000 */ nop -/* C5544 8012EE44 97B50016 */ lhu $s5, 0x16($sp) -/* C5548 8012EE48 97B6001A */ lhu $s6, 0x1a($sp) -/* C554C 8012EE4C 00151400 */ sll $v0, $s5, 0x10 -/* C5550 8012EE50 00021403 */ sra $v0, $v0, 0x10 -/* C5554 8012EE54 004E1023 */ subu $v0, $v0, $t6 -/* C5558 8012EE58 04420001 */ bltzl $v0, .L8012EE60 -/* C555C 8012EE5C 00021023 */ negu $v0, $v0 -.L8012EE60: -/* C5560 8012EE60 A7A20056 */ sh $v0, 0x56($sp) -/* C5564 8012EE64 A7B6000A */ sh $s6, 0xa($sp) -.L8012EE68: -/* C5568 8012EE68 97A2001E */ lhu $v0, 0x1e($sp) -/* C556C 8012EE6C 87A3000E */ lh $v1, 0xe($sp) -/* C5570 8012EE70 01C21021 */ addu $v0, $t6, $v0 -/* C5574 8012EE74 0062182A */ slt $v1, $v1, $v0 -/* C5578 8012EE78 14600009 */ bnez $v1, .L8012EEA0 -/* C557C 8012EE7C 24150001 */ addiu $s5, $zero, 1 -/* C5580 8012EE80 8FB60024 */ lw $s6, 0x24($sp) -/* C5584 8012EE84 A3B50020 */ sb $s5, 0x20($sp) -/* C5588 8012EE88 97B50016 */ lhu $s5, 0x16($sp) -/* C558C 8012EE8C 02D51023 */ subu $v0, $s6, $s5 -/* C5590 8012EE90 97B60026 */ lhu $s6, 0x26($sp) -/* C5594 8012EE94 2442FFFF */ addiu $v0, $v0, -1 -/* C5598 8012EE98 A7A20006 */ sh $v0, 6($sp) -/* C559C 8012EE9C A7B6000E */ sh $s6, 0xe($sp) -.L8012EEA0: -/* C55A0 8012EEA0 97A20006 */ lhu $v0, 6($sp) -/* C55A4 8012EEA4 8FB50088 */ lw $s5, 0x88($sp) -/* C55A8 8012EEA8 00021400 */ sll $v0, $v0, 0x10 -/* C55AC 8012EEAC 00021403 */ sra $v0, $v0, 0x10 -/* C55B0 8012EEB0 24420001 */ addiu $v0, $v0, 1 -/* C55B4 8012EEB4 0055102B */ sltu $v0, $v0, $s5 -/* C55B8 8012EEB8 14400007 */ bnez $v0, .L8012EED8 -/* C55BC 8012EEBC 0000682D */ daddu $t5, $zero, $zero -/* C55C0 8012EEC0 24160001 */ addiu $s6, $zero, 1 -/* C55C4 8012EEC4 97B5002A */ lhu $s5, 0x2a($sp) -/* C55C8 8012EEC8 A3B60020 */ sb $s6, 0x20($sp) -/* C55CC 8012EECC 97B6002E */ lhu $s6, 0x2e($sp) -/* C55D0 8012EED0 A7B50006 */ sh $s5, 6($sp) -/* C55D4 8012EED4 A7B6000E */ sh $s6, 0xe($sp) -.L8012EED8: -/* C55D8 8012EED8 3C14F508 */ lui $s4, 0xf508 -/* C55DC 8012EEDC 3C0C0701 */ lui $t4, 0x701 -/* C55E0 8012EEE0 358C4060 */ ori $t4, $t4, 0x4060 -/* C55E4 8012EEE4 3C13E600 */ lui $s3, 0xe600 -/* C55E8 8012EEE8 3C12F400 */ lui $s2, 0xf400 -/* C55EC 8012EEEC 3C110700 */ lui $s1, 0x700 -/* C55F0 8012EEF0 3C10E700 */ lui $s0, 0xe700 -/* C55F4 8012EEF4 3C0B0001 */ lui $t3, 1 -/* C55F8 8012EEF8 356B4060 */ ori $t3, $t3, 0x4060 -/* C55FC 8012EEFC 3C19F200 */ lui $t9, 0xf200 -/* C5600 8012EF00 8FB5008C */ lw $s5, 0x8c($sp) -/* C5604 8012EF04 8FB60038 */ lw $s6, 0x38($sp) -/* C5608 8012EF08 3C17F510 */ lui $s7, 0xf510 -/* C560C 8012EF0C A7A00000 */ sh $zero, ($sp) -/* C5610 8012EF10 A7B80008 */ sh $t8, 8($sp) -/* C5614 8012EF14 32A20007 */ andi $v0, $s5, 7 -/* C5618 8012EF18 00024D40 */ sll $t1, $v0, 0x15 -/* C561C 8012EF1C 32D60FFF */ andi $s6, $s6, 0xfff -/* C5620 8012EF20 3C15FD08 */ lui $s5, 0xfd08 -/* C5624 8012EF24 02D51025 */ or $v0, $s6, $s5 -/* C5628 8012EF28 01221025 */ or $v0, $t1, $v0 -/* C562C 8012EF2C AFB60048 */ sw $s6, 0x48($sp) -/* C5630 8012EF30 AFA20040 */ sw $v0, 0x40($sp) -.L8012EF34: -/* C5634 8012EF34 0000782D */ daddu $t7, $zero, $zero -/* C5638 8012EF38 97A30000 */ lhu $v1, ($sp) -/* C563C 8012EF3C 97A20008 */ lhu $v0, 8($sp) -/* C5640 8012EF40 2463003F */ addiu $v1, $v1, 0x3f -/* C5644 8012EF44 24420040 */ addiu $v0, $v0, 0x40 -/* C5648 8012EF48 A7A2000C */ sh $v0, 0xc($sp) -/* C564C 8012EF4C 00021400 */ sll $v0, $v0, 0x10 -/* C5650 8012EF50 00021403 */ sra $v0, $v0, 0x10 -/* C5654 8012EF54 0142102A */ slt $v0, $t2, $v0 -/* C5658 8012EF58 1440000E */ bnez $v0, .L8012EF94 -/* C565C 8012EF5C A7A30004 */ sh $v1, 4($sp) -.L8012EF60: -/* C5660 8012EF60 97A40000 */ lhu $a0, ($sp) -/* C5664 8012EF64 97A2000C */ lhu $v0, 0xc($sp) -/* C5668 8012EF68 24830040 */ addiu $v1, $a0, 0x40 -/* C566C 8012EF6C A7A20008 */ sh $v0, 8($sp) -/* C5670 8012EF70 24420040 */ addiu $v0, $v0, 0x40 -/* C5674 8012EF74 A7A2000C */ sh $v0, 0xc($sp) -/* C5678 8012EF78 00021400 */ sll $v0, $v0, 0x10 -/* C567C 8012EF7C 00021403 */ sra $v0, $v0, 0x10 -/* C5680 8012EF80 004A102A */ slt $v0, $v0, $t2 -/* C5684 8012EF84 1440FFF6 */ bnez $v0, .L8012EF60 -/* C5688 8012EF88 A7A30000 */ sh $v1, ($sp) -/* C568C 8012EF8C 2482007F */ addiu $v0, $a0, 0x7f -/* C5690 8012EF90 A7A20004 */ sh $v0, 4($sp) -.L8012EF94: -/* C5694 8012EF94 87A20008 */ lh $v0, 8($sp) -/* C5698 8012EF98 004A102A */ slt $v0, $v0, $t2 -/* C569C 8012EF9C 10400008 */ beqz $v0, .L8012EFC0 -/* C56A0 8012EFA0 00181400 */ sll $v0, $t8, 0x10 -/* C56A4 8012EFA4 00021403 */ sra $v0, $v0, 0x10 -/* C56A8 8012EFA8 004A1023 */ subu $v0, $v0, $t2 -/* C56AC 8012EFAC 97B60018 */ lhu $s6, 0x18($sp) -/* C56B0 8012EFB0 04410002 */ bgez $v0, .L8012EFBC -/* C56B4 8012EFB4 0040782D */ daddu $t7, $v0, $zero -/* C56B8 8012EFB8 000F7823 */ negu $t7, $t7 -.L8012EFBC: -/* C56BC 8012EFBC A7B60008 */ sh $s6, 8($sp) -.L8012EFC0: -/* C56C0 8012EFC0 97A2001C */ lhu $v0, 0x1c($sp) -/* C56C4 8012EFC4 87A3000C */ lh $v1, 0xc($sp) -/* C56C8 8012EFC8 01421021 */ addu $v0, $t2, $v0 -/* C56CC 8012EFCC 0062182A */ slt $v1, $v1, $v0 -/* C56D0 8012EFD0 14600008 */ bnez $v1, .L8012EFF4 -/* C56D4 8012EFD4 00000000 */ nop -/* C56D8 8012EFD8 240D0001 */ addiu $t5, $zero, 1 -/* C56DC 8012EFDC 8FB50034 */ lw $s5, 0x34($sp) -/* C56E0 8012EFE0 97B60036 */ lhu $s6, 0x36($sp) -/* C56E4 8012EFE4 02B81023 */ subu $v0, $s5, $t8 -/* C56E8 8012EFE8 2442FFFF */ addiu $v0, $v0, -1 -/* C56EC 8012EFEC A7A20004 */ sh $v0, 4($sp) -/* C56F0 8012EFF0 A7B6000C */ sh $s6, 0xc($sp) -.L8012EFF4: -/* C56F4 8012EFF4 97A20004 */ lhu $v0, 4($sp) -/* C56F8 8012EFF8 8FB50084 */ lw $s5, 0x84($sp) -/* C56FC 8012EFFC 00021400 */ sll $v0, $v0, 0x10 -/* C5700 8012F000 00021403 */ sra $v0, $v0, 0x10 -/* C5704 8012F004 24420001 */ addiu $v0, $v0, 1 -/* C5708 8012F008 0055102B */ sltu $v0, $v0, $s5 -/* C570C 8012F00C 14400006 */ bnez $v0, .L8012F028 -/* C5710 8012F010 00000000 */ nop -/* C5714 8012F014 240D0001 */ addiu $t5, $zero, 1 -/* C5718 8012F018 97B6003A */ lhu $s6, 0x3a($sp) -/* C571C 8012F01C 97B5003E */ lhu $s5, 0x3e($sp) -/* C5720 8012F020 A7B60004 */ sh $s6, 4($sp) -/* C5724 8012F024 A7B5000C */ sh $s5, 0xc($sp) -.L8012F028: -/* C5728 8012F028 57C0004D */ bnel $fp, $zero, .L8012F160 -/* C572C 8012F02C 24020002 */ addiu $v0, $zero, 2 -/* C5730 8012F030 8D050000 */ lw $a1, ($t0) -/* C5734 8012F034 00A0182D */ daddu $v1, $a1, $zero -/* C5738 8012F038 24A50008 */ addiu $a1, $a1, 8 -/* C573C 8012F03C AD050000 */ sw $a1, ($t0) -/* C5740 8012F040 8FB60084 */ lw $s6, 0x84($sp) -/* C5744 8012F044 3C15FD08 */ lui $s5, 0xfd08 -/* C5748 8012F048 00161042 */ srl $v0, $s6, 1 -/* C574C 8012F04C 2442FFFF */ addiu $v0, $v0, -1 -/* C5750 8012F050 30420FFF */ andi $v0, $v0, 0xfff -/* C5754 8012F054 00551025 */ or $v0, $v0, $s5 -/* C5758 8012F058 01221025 */ or $v0, $t1, $v0 -/* C575C 8012F05C AC620000 */ sw $v0, ($v1) -/* C5760 8012F060 8FB60080 */ lw $s6, 0x80($sp) -/* C5764 8012F064 AC760004 */ sw $s6, 4($v1) -/* C5768 8012F068 97A20004 */ lhu $v0, 4($sp) -/* C576C 8012F06C 87A40000 */ lh $a0, ($sp) -/* C5770 8012F070 24A30008 */ addiu $v1, $a1, 8 -/* C5774 8012F074 AD030000 */ sw $v1, ($t0) -/* C5778 8012F078 ACAC0004 */ sw $t4, 4($a1) -/* C577C 8012F07C ACB30008 */ sw $s3, 8($a1) -/* C5780 8012F080 ACA0000C */ sw $zero, 0xc($a1) -/* C5784 8012F084 00021400 */ sll $v0, $v0, 0x10 -/* C5788 8012F088 00021403 */ sra $v0, $v0, 0x10 -/* C578C 8012F08C 00441023 */ subu $v0, $v0, $a0 -/* C5790 8012F090 24420001 */ addiu $v0, $v0, 1 -/* C5794 8012F094 00021043 */ sra $v0, $v0, 1 -/* C5798 8012F098 24420007 */ addiu $v0, $v0, 7 -/* C579C 8012F09C 000210C3 */ sra $v0, $v0, 3 -/* C57A0 8012F0A0 304201FF */ andi $v0, $v0, 0x1ff -/* C57A4 8012F0A4 00021240 */ sll $v0, $v0, 9 -/* C57A8 8012F0A8 00541025 */ or $v0, $v0, $s4 -/* C57AC 8012F0AC 01221025 */ or $v0, $t1, $v0 -/* C57B0 8012F0B0 ACA20000 */ sw $v0, ($a1) -/* C57B4 8012F0B4 87A30000 */ lh $v1, ($sp) -/* C57B8 8012F0B8 24A20010 */ addiu $v0, $a1, 0x10 -/* C57BC 8012F0BC AD020000 */ sw $v0, ($t0) -/* C57C0 8012F0C0 97A20002 */ lhu $v0, 2($sp) -/* C57C4 8012F0C4 00031840 */ sll $v1, $v1, 1 -/* C57C8 8012F0C8 30630FFF */ andi $v1, $v1, 0xfff -/* C57CC 8012F0CC 00031B00 */ sll $v1, $v1, 0xc -/* C57D0 8012F0D0 00021080 */ sll $v0, $v0, 2 -/* C57D4 8012F0D4 30420FFC */ andi $v0, $v0, 0xffc -/* C57D8 8012F0D8 00521025 */ or $v0, $v0, $s2 -/* C57DC 8012F0DC 00621825 */ or $v1, $v1, $v0 -/* C57E0 8012F0E0 ACA30010 */ sw $v1, 0x10($a1) -/* C57E4 8012F0E4 97A30004 */ lhu $v1, 4($sp) -/* C57E8 8012F0E8 97A40006 */ lhu $a0, 6($sp) -/* C57EC 8012F0EC 24A20018 */ addiu $v0, $a1, 0x18 -/* C57F0 8012F0F0 AD020000 */ sw $v0, ($t0) -/* C57F4 8012F0F4 ACB00018 */ sw $s0, 0x18($a1) -/* C57F8 8012F0F8 ACA0001C */ sw $zero, 0x1c($a1) -/* C57FC 8012F0FC 00031840 */ sll $v1, $v1, 1 -/* C5800 8012F100 30630FFE */ andi $v1, $v1, 0xffe -/* C5804 8012F104 00031B00 */ sll $v1, $v1, 0xc -/* C5808 8012F108 00042080 */ sll $a0, $a0, 2 -/* C580C 8012F10C 30840FFC */ andi $a0, $a0, 0xffc -/* C5810 8012F110 00912025 */ or $a0, $a0, $s1 -/* C5814 8012F114 00641825 */ or $v1, $v1, $a0 -/* C5818 8012F118 ACA30014 */ sw $v1, 0x14($a1) -/* C581C 8012F11C 97A20004 */ lhu $v0, 4($sp) -/* C5820 8012F120 87A40000 */ lh $a0, ($sp) -/* C5824 8012F124 24A30020 */ addiu $v1, $a1, 0x20 -/* C5828 8012F128 AD030000 */ sw $v1, ($t0) -/* C582C 8012F12C 3C03F500 */ lui $v1, 0xf500 -/* C5830 8012F130 ACAB0024 */ sw $t3, 0x24($a1) -/* C5834 8012F134 00021400 */ sll $v0, $v0, 0x10 -/* C5838 8012F138 00021403 */ sra $v0, $v0, 0x10 -/* C583C 8012F13C 00441023 */ subu $v0, $v0, $a0 -/* C5840 8012F140 24420001 */ addiu $v0, $v0, 1 -/* C5844 8012F144 00021043 */ sra $v0, $v0, 1 -/* C5848 8012F148 24420007 */ addiu $v0, $v0, 7 -/* C584C 8012F14C 000210C3 */ sra $v0, $v0, 3 -/* C5850 8012F150 304201FF */ andi $v0, $v0, 0x1ff -/* C5854 8012F154 00021240 */ sll $v0, $v0, 9 -/* C5858 8012F158 0804BCE2 */ j .L8012F388 -/* C585C 8012F15C 00431025 */ or $v0, $v0, $v1 -.L8012F160: -/* C5860 8012F160 57C20047 */ bnel $fp, $v0, .L8012F280 -/* C5864 8012F164 24020001 */ addiu $v0, $zero, 1 -/* C5868 8012F168 8D050000 */ lw $a1, ($t0) -/* C586C 8012F16C 00A0182D */ daddu $v1, $a1, $zero -/* C5870 8012F170 24A50008 */ addiu $a1, $a1, 8 -/* C5874 8012F174 AD050000 */ sw $a1, ($t0) -/* C5878 8012F178 8FB50048 */ lw $s5, 0x48($sp) -/* C587C 8012F17C 3C02FD10 */ lui $v0, 0xfd10 -/* C5880 8012F180 02A21025 */ or $v0, $s5, $v0 -/* C5884 8012F184 01221025 */ or $v0, $t1, $v0 -/* C5888 8012F188 AC620000 */ sw $v0, ($v1) -/* C588C 8012F18C 8FB60080 */ lw $s6, 0x80($sp) -/* C5890 8012F190 AC760004 */ sw $s6, 4($v1) -/* C5894 8012F194 97A20004 */ lhu $v0, 4($sp) -/* C5898 8012F198 87A40000 */ lh $a0, ($sp) -/* C589C 8012F19C 24A30008 */ addiu $v1, $a1, 8 -/* C58A0 8012F1A0 AD030000 */ sw $v1, ($t0) -/* C58A4 8012F1A4 ACAC0004 */ sw $t4, 4($a1) -/* C58A8 8012F1A8 ACB30008 */ sw $s3, 8($a1) -/* C58AC 8012F1AC ACA0000C */ sw $zero, 0xc($a1) -/* C58B0 8012F1B0 00021400 */ sll $v0, $v0, 0x10 -/* C58B4 8012F1B4 00021403 */ sra $v0, $v0, 0x10 -/* C58B8 8012F1B8 00441023 */ subu $v0, $v0, $a0 -/* C58BC 8012F1BC 00021040 */ sll $v0, $v0, 1 -/* C58C0 8012F1C0 24420009 */ addiu $v0, $v0, 9 -/* C58C4 8012F1C4 000210C3 */ sra $v0, $v0, 3 -/* C58C8 8012F1C8 304201FF */ andi $v0, $v0, 0x1ff -/* C58CC 8012F1CC 00021240 */ sll $v0, $v0, 9 -/* C58D0 8012F1D0 00571025 */ or $v0, $v0, $s7 -/* C58D4 8012F1D4 01221025 */ or $v0, $t1, $v0 -/* C58D8 8012F1D8 ACA20000 */ sw $v0, ($a1) -/* C58DC 8012F1DC 87A30000 */ lh $v1, ($sp) -/* C58E0 8012F1E0 24A20010 */ addiu $v0, $a1, 0x10 -/* C58E4 8012F1E4 AD020000 */ sw $v0, ($t0) -/* C58E8 8012F1E8 97A20002 */ lhu $v0, 2($sp) -/* C58EC 8012F1EC 00031880 */ sll $v1, $v1, 2 -/* C58F0 8012F1F0 30630FFF */ andi $v1, $v1, 0xfff -/* C58F4 8012F1F4 00031B00 */ sll $v1, $v1, 0xc -/* C58F8 8012F1F8 00021080 */ sll $v0, $v0, 2 -/* C58FC 8012F1FC 30420FFC */ andi $v0, $v0, 0xffc -/* C5900 8012F200 00521025 */ or $v0, $v0, $s2 -/* C5904 8012F204 00621825 */ or $v1, $v1, $v0 -/* C5908 8012F208 ACA30010 */ sw $v1, 0x10($a1) -/* C590C 8012F20C 97A30004 */ lhu $v1, 4($sp) -/* C5910 8012F210 97A40006 */ lhu $a0, 6($sp) -/* C5914 8012F214 24A20018 */ addiu $v0, $a1, 0x18 -/* C5918 8012F218 AD020000 */ sw $v0, ($t0) -/* C591C 8012F21C ACB00018 */ sw $s0, 0x18($a1) -/* C5920 8012F220 ACA0001C */ sw $zero, 0x1c($a1) -/* C5924 8012F224 00031880 */ sll $v1, $v1, 2 -/* C5928 8012F228 30630FFC */ andi $v1, $v1, 0xffc -/* C592C 8012F22C 00031B00 */ sll $v1, $v1, 0xc -/* C5930 8012F230 00042080 */ sll $a0, $a0, 2 -/* C5934 8012F234 30840FFC */ andi $a0, $a0, 0xffc -/* C5938 8012F238 00912025 */ or $a0, $a0, $s1 -/* C593C 8012F23C 00641825 */ or $v1, $v1, $a0 -/* C5940 8012F240 ACA30014 */ sw $v1, 0x14($a1) -/* C5944 8012F244 97A20004 */ lhu $v0, 4($sp) -/* C5948 8012F248 87A40000 */ lh $a0, ($sp) -/* C594C 8012F24C 24A30020 */ addiu $v1, $a1, 0x20 -/* C5950 8012F250 AD030000 */ sw $v1, ($t0) -/* C5954 8012F254 ACAB0024 */ sw $t3, 0x24($a1) -/* C5958 8012F258 00021400 */ sll $v0, $v0, 0x10 -/* C595C 8012F25C 00021403 */ sra $v0, $v0, 0x10 -/* C5960 8012F260 00441023 */ subu $v0, $v0, $a0 -/* C5964 8012F264 00021040 */ sll $v0, $v0, 1 -/* C5968 8012F268 24420009 */ addiu $v0, $v0, 9 -/* C596C 8012F26C 000210C3 */ sra $v0, $v0, 3 -/* C5970 8012F270 304201FF */ andi $v0, $v0, 0x1ff -/* C5974 8012F274 00021240 */ sll $v0, $v0, 9 -/* C5978 8012F278 0804BCE2 */ j .L8012F388 -/* C597C 8012F27C 00571025 */ or $v0, $v0, $s7 -.L8012F280: -/* C5980 8012F280 17C2005B */ bne $fp, $v0, .L8012F3F0 -/* C5984 8012F284 3C070400 */ lui $a3, 0x400 -/* C5988 8012F288 8D050000 */ lw $a1, ($t0) -/* C598C 8012F28C 00A0102D */ daddu $v0, $a1, $zero -/* C5990 8012F290 24A50008 */ addiu $a1, $a1, 8 -/* C5994 8012F294 AD050000 */ sw $a1, ($t0) -/* C5998 8012F298 8FB50040 */ lw $s5, 0x40($sp) -/* C599C 8012F29C AC550000 */ sw $s5, ($v0) -/* C59A0 8012F2A0 8FB60080 */ lw $s6, 0x80($sp) -/* C59A4 8012F2A4 AC560004 */ sw $s6, 4($v0) -/* C59A8 8012F2A8 97A20004 */ lhu $v0, 4($sp) -/* C59AC 8012F2AC 87A40000 */ lh $a0, ($sp) -/* C59B0 8012F2B0 24A30008 */ addiu $v1, $a1, 8 -/* C59B4 8012F2B4 AD030000 */ sw $v1, ($t0) -/* C59B8 8012F2B8 ACAC0004 */ sw $t4, 4($a1) -/* C59BC 8012F2BC ACB30008 */ sw $s3, 8($a1) -/* C59C0 8012F2C0 ACA0000C */ sw $zero, 0xc($a1) -/* C59C4 8012F2C4 00021400 */ sll $v0, $v0, 0x10 -/* C59C8 8012F2C8 00021403 */ sra $v0, $v0, 0x10 -/* C59CC 8012F2CC 00441023 */ subu $v0, $v0, $a0 -/* C59D0 8012F2D0 24420008 */ addiu $v0, $v0, 8 -/* C59D4 8012F2D4 000210C3 */ sra $v0, $v0, 3 -/* C59D8 8012F2D8 304201FF */ andi $v0, $v0, 0x1ff -/* C59DC 8012F2DC 00021240 */ sll $v0, $v0, 9 -/* C59E0 8012F2E0 00541025 */ or $v0, $v0, $s4 -/* C59E4 8012F2E4 01221025 */ or $v0, $t1, $v0 -/* C59E8 8012F2E8 ACA20000 */ sw $v0, ($a1) -/* C59EC 8012F2EC 87A30000 */ lh $v1, ($sp) -/* C59F0 8012F2F0 24A20010 */ addiu $v0, $a1, 0x10 -/* C59F4 8012F2F4 AD020000 */ sw $v0, ($t0) -/* C59F8 8012F2F8 97A20002 */ lhu $v0, 2($sp) -/* C59FC 8012F2FC 00031880 */ sll $v1, $v1, 2 -/* C5A00 8012F300 30630FFF */ andi $v1, $v1, 0xfff -/* C5A04 8012F304 00031B00 */ sll $v1, $v1, 0xc -/* C5A08 8012F308 00021080 */ sll $v0, $v0, 2 -/* C5A0C 8012F30C 30420FFC */ andi $v0, $v0, 0xffc -/* C5A10 8012F310 00521025 */ or $v0, $v0, $s2 -/* C5A14 8012F314 00621825 */ or $v1, $v1, $v0 -/* C5A18 8012F318 ACA30010 */ sw $v1, 0x10($a1) -/* C5A1C 8012F31C 97A30004 */ lhu $v1, 4($sp) -/* C5A20 8012F320 97A40006 */ lhu $a0, 6($sp) -/* C5A24 8012F324 24A20018 */ addiu $v0, $a1, 0x18 -/* C5A28 8012F328 AD020000 */ sw $v0, ($t0) -/* C5A2C 8012F32C ACB00018 */ sw $s0, 0x18($a1) -/* C5A30 8012F330 ACA0001C */ sw $zero, 0x1c($a1) -/* C5A34 8012F334 00031880 */ sll $v1, $v1, 2 -/* C5A38 8012F338 30630FFC */ andi $v1, $v1, 0xffc -/* C5A3C 8012F33C 00031B00 */ sll $v1, $v1, 0xc -/* C5A40 8012F340 00042080 */ sll $a0, $a0, 2 -/* C5A44 8012F344 30840FFC */ andi $a0, $a0, 0xffc -/* C5A48 8012F348 00912025 */ or $a0, $a0, $s1 -/* C5A4C 8012F34C 00641825 */ or $v1, $v1, $a0 -/* C5A50 8012F350 ACA30014 */ sw $v1, 0x14($a1) -/* C5A54 8012F354 97A20004 */ lhu $v0, 4($sp) -/* C5A58 8012F358 87A40000 */ lh $a0, ($sp) -/* C5A5C 8012F35C 24A30020 */ addiu $v1, $a1, 0x20 -/* C5A60 8012F360 AD030000 */ sw $v1, ($t0) -/* C5A64 8012F364 ACAB0024 */ sw $t3, 0x24($a1) -/* C5A68 8012F368 00021400 */ sll $v0, $v0, 0x10 -/* C5A6C 8012F36C 00021403 */ sra $v0, $v0, 0x10 -/* C5A70 8012F370 00441023 */ subu $v0, $v0, $a0 -/* C5A74 8012F374 24420008 */ addiu $v0, $v0, 8 -/* C5A78 8012F378 000210C3 */ sra $v0, $v0, 3 -/* C5A7C 8012F37C 304201FF */ andi $v0, $v0, 0x1ff -/* C5A80 8012F380 00021240 */ sll $v0, $v0, 9 -/* C5A84 8012F384 00541025 */ or $v0, $v0, $s4 -.L8012F388: -/* C5A88 8012F388 01221025 */ or $v0, $t1, $v0 -/* C5A8C 8012F38C ACA20020 */ sw $v0, 0x20($a1) -/* C5A90 8012F390 87A30000 */ lh $v1, ($sp) -/* C5A94 8012F394 24A20028 */ addiu $v0, $a1, 0x28 -/* C5A98 8012F398 AD020000 */ sw $v0, ($t0) -/* C5A9C 8012F39C 97A20002 */ lhu $v0, 2($sp) -/* C5AA0 8012F3A0 00031880 */ sll $v1, $v1, 2 -/* C5AA4 8012F3A4 30630FFF */ andi $v1, $v1, 0xfff -/* C5AA8 8012F3A8 00031B00 */ sll $v1, $v1, 0xc -/* C5AAC 8012F3AC 00021080 */ sll $v0, $v0, 2 -/* C5AB0 8012F3B0 30420FFC */ andi $v0, $v0, 0xffc -/* C5AB4 8012F3B4 00591025 */ or $v0, $v0, $t9 -/* C5AB8 8012F3B8 00621825 */ or $v1, $v1, $v0 -/* C5ABC 8012F3BC ACA30028 */ sw $v1, 0x28($a1) -/* C5AC0 8012F3C0 97A30004 */ lhu $v1, 4($sp) -/* C5AC4 8012F3C4 24A20030 */ addiu $v0, $a1, 0x30 -/* C5AC8 8012F3C8 AD020000 */ sw $v0, ($t0) -/* C5ACC 8012F3CC 97A20006 */ lhu $v0, 6($sp) -/* C5AD0 8012F3D0 00031880 */ sll $v1, $v1, 2 -/* C5AD4 8012F3D4 30630FFC */ andi $v1, $v1, 0xffc -/* C5AD8 8012F3D8 00031B00 */ sll $v1, $v1, 0xc -/* C5ADC 8012F3DC 00021080 */ sll $v0, $v0, 2 -/* C5AE0 8012F3E0 30420FFC */ andi $v0, $v0, 0xffc -/* C5AE4 8012F3E4 00621825 */ or $v1, $v1, $v0 -/* C5AE8 8012F3E8 ACA3002C */ sw $v1, 0x2c($a1) -/* C5AEC 8012F3EC 3C070400 */ lui $a3, 0x400 -.L8012F3F0: -/* C5AF0 8012F3F0 34E70400 */ ori $a3, $a3, 0x400 -/* C5AF4 8012F3F4 3C03E400 */ lui $v1, 0xe400 -/* C5AF8 8012F3F8 8D050000 */ lw $a1, ($t0) -/* C5AFC 8012F3FC 87A4000C */ lh $a0, 0xc($sp) -/* C5B00 8012F400 00A0302D */ daddu $a2, $a1, $zero -/* C5B04 8012F404 24A50008 */ addiu $a1, $a1, 8 -/* C5B08 8012F408 00042080 */ sll $a0, $a0, 2 -/* C5B0C 8012F40C 30840FFF */ andi $a0, $a0, 0xfff -/* C5B10 8012F410 AD050000 */ sw $a1, ($t0) -/* C5B14 8012F414 87A2000E */ lh $v0, 0xe($sp) -/* C5B18 8012F418 00042300 */ sll $a0, $a0, 0xc -/* C5B1C 8012F41C 00021080 */ sll $v0, $v0, 2 -/* C5B20 8012F420 30420FFF */ andi $v0, $v0, 0xfff -/* C5B24 8012F424 00431025 */ or $v0, $v0, $v1 -/* C5B28 8012F428 00822025 */ or $a0, $a0, $v0 -/* C5B2C 8012F42C 24A20008 */ addiu $v0, $a1, 8 -/* C5B30 8012F430 ACC40000 */ sw $a0, ($a2) -/* C5B34 8012F434 AD020000 */ sw $v0, ($t0) -/* C5B38 8012F438 87A30008 */ lh $v1, 8($sp) -/* C5B3C 8012F43C 24A20010 */ addiu $v0, $a1, 0x10 -/* C5B40 8012F440 AD020000 */ sw $v0, ($t0) -/* C5B44 8012F444 87A2000A */ lh $v0, 0xa($sp) -/* C5B48 8012F448 00031880 */ sll $v1, $v1, 2 -/* C5B4C 8012F44C 30630FFF */ andi $v1, $v1, 0xfff -/* C5B50 8012F450 00031B00 */ sll $v1, $v1, 0xc -/* C5B54 8012F454 00021080 */ sll $v0, $v0, 2 -/* C5B58 8012F458 30420FFF */ andi $v0, $v0, 0xfff -/* C5B5C 8012F45C 00621825 */ or $v1, $v1, $v0 -/* C5B60 8012F460 3C02E100 */ lui $v0, 0xe100 -/* C5B64 8012F464 ACC30004 */ sw $v1, 4($a2) -/* C5B68 8012F468 ACA20000 */ sw $v0, ($a1) -/* C5B6C 8012F46C 97B50056 */ lhu $s5, 0x56($sp) -/* C5B70 8012F470 000F1D40 */ sll $v1, $t7, 0x15 -/* C5B74 8012F474 ACA7000C */ sw $a3, 0xc($a1) -/* C5B78 8012F478 00151140 */ sll $v0, $s5, 5 -/* C5B7C 8012F47C 3042FFE0 */ andi $v0, $v0, 0xffe0 -/* C5B80 8012F480 00621825 */ or $v1, $v1, $v0 -/* C5B84 8012F484 3C02F100 */ lui $v0, 0xf100 -/* C5B88 8012F488 ACA20008 */ sw $v0, 8($a1) -/* C5B8C 8012F48C 31A200FF */ andi $v0, $t5, 0xff -/* C5B90 8012F490 14400007 */ bnez $v0, .L8012F4B0 -/* C5B94 8012F494 ACA30004 */ sw $v1, 4($a1) -/* C5B98 8012F498 97A20000 */ lhu $v0, ($sp) -/* C5B9C 8012F49C 97A3000C */ lhu $v1, 0xc($sp) -/* C5BA0 8012F4A0 24420040 */ addiu $v0, $v0, 0x40 -/* C5BA4 8012F4A4 A7A20000 */ sh $v0, ($sp) -/* C5BA8 8012F4A8 0804BBCD */ j .L8012EF34 -/* C5BAC 8012F4AC A7A30008 */ sh $v1, 8($sp) -.L8012F4B0: -/* C5BB0 8012F4B0 93A20020 */ lbu $v0, 0x20($sp) -/* C5BB4 8012F4B4 14400007 */ bnez $v0, .L8012F4D4 -/* C5BB8 8012F4B8 24020001 */ addiu $v0, $zero, 1 -/* C5BBC 8012F4BC 97A20002 */ lhu $v0, 2($sp) -/* C5BC0 8012F4C0 97A3000E */ lhu $v1, 0xe($sp) -/* C5BC4 8012F4C4 24420020 */ addiu $v0, $v0, 0x20 -/* C5BC8 8012F4C8 A7A20002 */ sh $v0, 2($sp) -/* C5BCC 8012F4CC 0804BB75 */ j .L8012EDD4 -/* C5BD0 8012F4D0 A7A3000A */ sh $v1, 0xa($sp) -.L8012F4D4: -/* C5BD4 8012F4D4 8FBE0078 */ lw $fp, 0x78($sp) -/* C5BD8 8012F4D8 8FB70074 */ lw $s7, 0x74($sp) -/* C5BDC 8012F4DC 8FB60070 */ lw $s6, 0x70($sp) -/* C5BE0 8012F4E0 8FB5006C */ lw $s5, 0x6c($sp) -/* C5BE4 8012F4E4 8FB40068 */ lw $s4, 0x68($sp) -/* C5BE8 8012F4E8 8FB30064 */ lw $s3, 0x64($sp) -/* C5BEC 8012F4EC 8FB20060 */ lw $s2, 0x60($sp) -/* C5BF0 8012F4F0 8FB1005C */ lw $s1, 0x5c($sp) -/* C5BF4 8012F4F4 8FB00058 */ lw $s0, 0x58($sp) -/* C5BF8 8012F4F8 03E00008 */ jr $ra -/* C5BFC 8012F4FC 27BD0080 */ addiu $sp, $sp, 0x80