.set noat # allow manual use of $at .set noreorder # don't insert nops after branches glabel func_E00961BC /* 39443C E00961BC 27BDFF40 */ addiu $sp, $sp, -0xc0 /* 394440 E00961C0 0080182D */ daddu $v1, $a0, $zero /* 394444 E00961C4 3C05DB06 */ lui $a1, 0xdb06 /* 394448 E00961C8 34A50024 */ ori $a1, $a1, 0x24 /* 39444C E00961CC 27A40018 */ addiu $a0, $sp, 0x18 /* 394450 E00961D0 AFB1009C */ sw $s1, 0x9c($sp) /* 394454 E00961D4 3C11800A */ lui $s1, %hi(gMasterGfxPos) /* 394458 E00961D8 2631A66C */ addiu $s1, $s1, %lo(gMasterGfxPos) /* 39445C E00961DC AFB400A8 */ sw $s4, 0xa8($sp) /* 394460 E00961E0 3C140001 */ lui $s4, 1 /* 394464 E00961E4 AFB500AC */ sw $s5, 0xac($sp) /* 394468 E00961E8 3C15E700 */ lui $s5, 0xe700 /* 39446C E00961EC AFBF00B0 */ sw $ra, 0xb0($sp) /* 394470 E00961F0 AFB300A4 */ sw $s3, 0xa4($sp) /* 394474 E00961F4 AFB200A0 */ sw $s2, 0xa0($sp) /* 394478 E00961F8 AFB00098 */ sw $s0, 0x98($sp) /* 39447C E00961FC F7B400B8 */ sdc1 $f20, 0xb8($sp) /* 394480 E0096200 8E280000 */ lw $t0, ($s1) /* 394484 E0096204 8C72000C */ lw $s2, 0xc($v1) /* 394488 E0096208 0100102D */ daddu $v0, $t0, $zero /* 39448C E009620C 8E530000 */ lw $s3, ($s2) /* 394490 E0096210 25080008 */ addiu $t0, $t0, 8 /* 394494 E0096214 AC550000 */ sw $s5, ($v0) /* 394498 E0096218 AC400004 */ sw $zero, 4($v0) /* 39449C E009621C AD050000 */ sw $a1, ($t0) /* 3944A0 E0096220 8C620010 */ lw $v0, 0x10($v1) /* 3944A4 E0096224 36941630 */ ori $s4, $s4, 0x1630 /* 3944A8 E0096228 AE280000 */ sw $t0, ($s1) /* 3944AC E009622C 8C42001C */ lw $v0, 0x1c($v0) /* 3944B0 E0096230 3C038000 */ lui $v1, 0x8000 /* 3944B4 E0096234 00431021 */ addu $v0, $v0, $v1 /* 3944B8 E0096238 AD020004 */ sw $v0, 4($t0) /* 3944BC E009623C 8E450004 */ lw $a1, 4($s2) /* 3944C0 E0096240 8E460008 */ lw $a2, 8($s2) /* 3944C4 E0096244 8E47000C */ lw $a3, 0xc($s2) /* 3944C8 E0096248 25080008 */ addiu $t0, $t0, 8 /* 3944CC E009624C 0C080108 */ jal shim_guTranslateF /* 3944D0 E0096250 AE280000 */ sw $t0, ($s1) /* 3944D4 E0096254 27B00058 */ addiu $s0, $sp, 0x58 /* 3944D8 E0096258 3C013F80 */ lui $at, 0x3f80 /* 3944DC E009625C 4481A000 */ mtc1 $at, $f20 /* 3944E0 E0096260 3C038007 */ lui $v1, %hi(gCurrentCameraID) /* 3944E4 E0096264 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) /* 3944E8 E0096268 44800000 */ mtc1 $zero, $f0 /* 3944EC E009626C 00031080 */ sll $v0, $v1, 2 /* 3944F0 E0096270 00431021 */ addu $v0, $v0, $v1 /* 3944F4 E0096274 00021080 */ sll $v0, $v0, 2 /* 3944F8 E0096278 00431023 */ subu $v0, $v0, $v1 /* 3944FC E009627C 000218C0 */ sll $v1, $v0, 3 /* 394500 E0096280 00431021 */ addu $v0, $v0, $v1 /* 394504 E0096284 000210C0 */ sll $v0, $v0, 3 /* 394508 E0096288 44060000 */ mfc1 $a2, $f0 /* 39450C E009628C 3C01800B */ lui $at, %hi(gCameras+0x6C) /* 394510 E0096290 00220821 */ addu $at, $at, $v0 /* 394514 E0096294 C4201DEC */ lwc1 $f0, %lo(gCameras+0x6C)($at) /* 394518 E0096298 4407A000 */ mfc1 $a3, $f20 /* 39451C E009629C 46000007 */ neg.s $f0, $f0 /* 394520 E00962A0 44050000 */ mfc1 $a1, $f0 /* 394524 E00962A4 0200202D */ daddu $a0, $s0, $zero /* 394528 E00962A8 0C080104 */ jal shim_guRotateF /* 39452C E00962AC AFA60010 */ sw $a2, 0x10($sp) /* 394530 E00962B0 0200202D */ daddu $a0, $s0, $zero /* 394534 E00962B4 27A50018 */ addiu $a1, $sp, 0x18 /* 394538 E00962B8 0C080114 */ jal shim_guMtxCatF /* 39453C E00962BC 00A0302D */ daddu $a2, $a1, $zero /* 394540 E00962C0 0200202D */ daddu $a0, $s0, $zero /* 394544 E00962C4 8E450018 */ lw $a1, 0x18($s2) /* 394548 E00962C8 4407A000 */ mfc1 $a3, $f20 /* 39454C E00962CC 0C080110 */ jal shim_guScaleF /* 394550 E00962D0 00A0302D */ daddu $a2, $a1, $zero /* 394554 E00962D4 0200202D */ daddu $a0, $s0, $zero /* 394558 E00962D8 27A50018 */ addiu $a1, $sp, 0x18 /* 39455C E00962DC 0C080114 */ jal shim_guMtxCatF /* 394560 E00962E0 00A0302D */ daddu $a2, $a1, $zero /* 394564 E00962E4 27A40018 */ addiu $a0, $sp, 0x18 /* 394568 E00962E8 3C108007 */ lui $s0, %hi(gMatrixListPos) /* 39456C E00962EC 261041F0 */ addiu $s0, $s0, %lo(gMatrixListPos) /* 394570 E00962F0 3C12800A */ lui $s2, %hi(gDisplayContext) /* 394574 E00962F4 2652A674 */ addiu $s2, $s2, %lo(gDisplayContext) /* 394578 E00962F8 96050000 */ lhu $a1, ($s0) /* 39457C E00962FC 8E420000 */ lw $v0, ($s2) /* 394580 E0096300 00052980 */ sll $a1, $a1, 6 /* 394584 E0096304 00B42821 */ addu $a1, $a1, $s4 /* 394588 E0096308 0C080118 */ jal shim_guMtxF2L /* 39458C E009630C 00452821 */ addu $a1, $v0, $a1 /* 394590 E0096310 3C06D838 */ lui $a2, 0xd838 /* 394594 E0096314 34C60002 */ ori $a2, $a2, 2 /* 394598 E0096318 8E240000 */ lw $a0, ($s1) /* 39459C E009631C 3C03DA38 */ lui $v1, 0xda38 /* 3945A0 E0096320 0080282D */ daddu $a1, $a0, $zero /* 3945A4 E0096324 24840008 */ addiu $a0, $a0, 8 /* 3945A8 E0096328 AE240000 */ sw $a0, ($s1) /* 3945AC E009632C 96020000 */ lhu $v0, ($s0) /* 3945B0 E0096330 00139880 */ sll $s3, $s3, 2 /* 3945B4 E0096334 ACA30000 */ sw $v1, ($a1) /* 3945B8 E0096338 24430001 */ addiu $v1, $v0, 1 /* 3945BC E009633C 3042FFFF */ andi $v0, $v0, 0xffff /* 3945C0 E0096340 00021180 */ sll $v0, $v0, 6 /* 3945C4 E0096344 A6030000 */ sh $v1, ($s0) /* 3945C8 E0096348 8E430000 */ lw $v1, ($s2) /* 3945CC E009634C 00541021 */ addu $v0, $v0, $s4 /* 3945D0 E0096350 00621821 */ addu $v1, $v1, $v0 /* 3945D4 E0096354 24820008 */ addiu $v0, $a0, 8 /* 3945D8 E0096358 ACA30004 */ sw $v1, 4($a1) /* 3945DC E009635C 3C03DE00 */ lui $v1, 0xde00 /* 3945E0 E0096360 AE220000 */ sw $v0, ($s1) /* 3945E4 E0096364 AC830000 */ sw $v1, ($a0) /* 3945E8 E0096368 3C05E009 */ lui $a1, %hi(D_E00963E0) /* 3945EC E009636C 00B32821 */ addu $a1, $a1, $s3 /* 3945F0 E0096370 8CA563E0 */ lw $a1, %lo(D_E00963E0)($a1) /* 3945F4 E0096374 24820010 */ addiu $v0, $a0, 0x10 /* 3945F8 E0096378 AE220000 */ sw $v0, ($s1) /* 3945FC E009637C 3C020900 */ lui $v0, 0x900 /* 394600 E0096380 24421508 */ addiu $v0, $v0, 0x1508 /* 394604 E0096384 AC82000C */ sw $v0, 0xc($a0) /* 394608 E0096388 24820018 */ addiu $v0, $a0, 0x18 /* 39460C E009638C AC830008 */ sw $v1, 8($a0) /* 394610 E0096390 AE220000 */ sw $v0, ($s1) /* 394614 E0096394 24020040 */ addiu $v0, $zero, 0x40 /* 394618 E0096398 AC820014 */ sw $v0, 0x14($a0) /* 39461C E009639C 24820020 */ addiu $v0, $a0, 0x20 /* 394620 E00963A0 AC860010 */ sw $a2, 0x10($a0) /* 394624 E00963A4 AE220000 */ sw $v0, ($s1) /* 394628 E00963A8 AC950018 */ sw $s5, 0x18($a0) /* 39462C E00963AC AC80001C */ sw $zero, 0x1c($a0) /* 394630 E00963B0 AC850004 */ sw $a1, 4($a0) /* 394634 E00963B4 8FBF00B0 */ lw $ra, 0xb0($sp) /* 394638 E00963B8 8FB500AC */ lw $s5, 0xac($sp) /* 39463C E00963BC 8FB400A8 */ lw $s4, 0xa8($sp) /* 394640 E00963C0 8FB300A4 */ lw $s3, 0xa4($sp) /* 394644 E00963C4 8FB200A0 */ lw $s2, 0xa0($sp) /* 394648 E00963C8 8FB1009C */ lw $s1, 0x9c($sp) /* 39464C E00963CC 8FB00098 */ lw $s0, 0x98($sp) /* 394650 E00963D0 D7B400B8 */ ldc1 $f20, 0xb8($sp) /* 394654 E00963D4 03E00008 */ jr $ra /* 394658 E00963D8 27BD00C0 */ addiu $sp, $sp, 0xc0 /* 39465C E00963DC 00000000 */ nop