papermario/asm/nonmatchings/code_364F10/func_E0064414.s

411 lines
22 KiB
ArmAsm
Raw Normal View History

2021-01-07 11:43:17 +01:00
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_E0064414
/* 365324 E0064414 27BDFEE8 */ addiu $sp, $sp, -0x118
/* 365328 E0064418 AFB300E4 */ sw $s3, 0xe4($sp)
2021-01-11 04:52:08 +01:00
/* 36532C E006441C 3C13800A */ lui $s3, %hi(gMasterGfxPos)
/* 365330 E0064420 2673A66C */ addiu $s3, $s3, %lo(gMasterGfxPos)
2021-01-07 11:43:17 +01:00
/* 365334 E0064424 AFBF00FC */ sw $ra, 0xfc($sp)
/* 365338 E0064428 AFBE00F8 */ sw $fp, 0xf8($sp)
/* 36533C E006442C AFB700F4 */ sw $s7, 0xf4($sp)
/* 365340 E0064430 AFB600F0 */ sw $s6, 0xf0($sp)
/* 365344 E0064434 AFB500EC */ sw $s5, 0xec($sp)
/* 365348 E0064438 AFB400E8 */ sw $s4, 0xe8($sp)
/* 36534C E006443C AFB200E0 */ sw $s2, 0xe0($sp)
/* 365350 E0064440 AFB100DC */ sw $s1, 0xdc($sp)
/* 365354 E0064444 AFB000D8 */ sw $s0, 0xd8($sp)
/* 365358 E0064448 F7B80110 */ sdc1 $f24, 0x110($sp)
/* 36535C E006444C F7B60108 */ sdc1 $f22, 0x108($sp)
/* 365360 E0064450 F7B40100 */ sdc1 $f20, 0x100($sp)
/* 365364 E0064454 AFA40118 */ sw $a0, 0x118($sp)
/* 365368 E0064458 8E680000 */ lw $t0, ($s3)
/* 36536C E006445C 8FAD0118 */ lw $t5, 0x118($sp)
/* 365370 E0064460 4480A000 */ mtc1 $zero, $f20
/* 365374 E0064464 3C013F80 */ lui $at, 0x3f80
/* 365378 E0064468 4481C000 */ mtc1 $at, $f24
/* 36537C E006446C 8DB1000C */ lw $s1, 0xc($t5)
/* 365380 E0064470 4405A000 */ mfc1 $a1, $f20
/* 365384 E0064474 96220000 */ lhu $v0, ($s1)
/* 365388 E0064478 922D0050 */ lbu $t5, 0x50($s1)
/* 36538C E006447C 00021080 */ sll $v0, $v0, 2
/* 365390 E0064480 3C09E006 */ lui $t1, %hi(D_E0064A60)
/* 365394 E0064484 01224821 */ addu $t1, $t1, $v0
/* 365398 E0064488 8D294A60 */ lw $t1, %lo(D_E0064A60)($t1)
/* 36539C E006448C 3C06DB06 */ lui $a2, 0xdb06
/* 3653A0 E0064490 AFAD00A4 */ sw $t5, 0xa4($sp)
/* 3653A4 E0064494 922D0051 */ lbu $t5, 0x51($s1)
/* 3653A8 E0064498 34C60024 */ ori $a2, $a2, 0x24
/* 3653AC E006449C AFAD00A8 */ sw $t5, 0xa8($sp)
/* 3653B0 E00644A0 922D0052 */ lbu $t5, 0x52($s1)
/* 3653B4 E00644A4 27A40020 */ addiu $a0, $sp, 0x20
/* 3653B8 E00644A8 AFAD00AC */ sw $t5, 0xac($sp)
/* 3653BC E00644AC 922D0053 */ lbu $t5, 0x53($s1)
/* 3653C0 E00644B0 0100182D */ daddu $v1, $t0, $zero
/* 3653C4 E00644B4 AFAD00B0 */ sw $t5, 0xb0($sp)
/* 3653C8 E00644B8 922D0054 */ lbu $t5, 0x54($s1)
/* 3653CC E00644BC 25080008 */ addiu $t0, $t0, 8
/* 3653D0 E00644C0 AFAD00B4 */ sw $t5, 0xb4($sp)
/* 3653D4 E00644C4 922D0055 */ lbu $t5, 0x55($s1)
/* 3653D8 E00644C8 3C02E700 */ lui $v0, 0xe700
/* 3653DC E00644CC AFAD00B8 */ sw $t5, 0xb8($sp)
/* 3653E0 E00644D0 AC620000 */ sw $v0, ($v1)
/* 3653E4 E00644D4 AC600004 */ sw $zero, 4($v1)
/* 3653E8 E00644D8 AD060000 */ sw $a2, ($t0)
/* 3653EC E00644DC 8FAD0118 */ lw $t5, 0x118($sp)
/* 3653F0 E00644E0 4407A000 */ mfc1 $a3, $f20
/* 3653F4 E00644E4 8DA20010 */ lw $v0, 0x10($t5)
/* 3653F8 E00644E8 3C038007 */ lui $v1, %hi(gCurrentCameraID)
/* 3653FC E00644EC 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1)
/* 365400 E00644F0 8C46001C */ lw $a2, 0x1c($v0)
/* 365404 E00644F4 3C02DE00 */ lui $v0, 0xde00
/* 365408 E00644F8 AD020008 */ sw $v0, 8($t0)
/* 36540C E00644FC 3C028000 */ lui $v0, 0x8000
/* 365410 E0064500 AD09000C */ sw $t1, 0xc($t0)
/* 365414 E0064504 00C23021 */ addu $a2, $a2, $v0
/* 365418 E0064508 00031080 */ sll $v0, $v1, 2
/* 36541C E006450C 00431021 */ addu $v0, $v0, $v1
/* 365420 E0064510 00021080 */ sll $v0, $v0, 2
/* 365424 E0064514 00431023 */ subu $v0, $v0, $v1
/* 365428 E0064518 000218C0 */ sll $v1, $v0, 3
/* 36542C E006451C 00431021 */ addu $v0, $v0, $v1
/* 365430 E0064520 000210C0 */ sll $v0, $v0, 3
/* 365434 E0064524 AD060004 */ sw $a2, 4($t0)
/* 365438 E0064528 3C01800B */ lui $at, %hi(D_800B1DEC)
/* 36543C E006452C 00220821 */ addu $at, $at, $v0
/* 365440 E0064530 C4221DEC */ lwc1 $f2, %lo(D_800B1DEC)($at)
/* 365444 E0064534 3C100001 */ lui $s0, 1
/* 365448 E0064538 AE680000 */ sw $t0, ($s3)
/* 36544C E006453C E7B80010 */ swc1 $f24, 0x10($sp)
/* 365450 E0064540 C6200004 */ lwc1 $f0, 4($s1)
/* 365454 E0064544 25020008 */ addiu $v0, $t0, 8
/* 365458 E0064548 AE620000 */ sw $v0, ($s3)
/* 36545C E006454C 46001087 */ neg.s $f2, $f2
/* 365460 E0064550 E7A00014 */ swc1 $f0, 0x14($sp)
/* 365464 E0064554 C6200008 */ lwc1 $f0, 8($s1)
/* 365468 E0064558 44061000 */ mfc1 $a2, $f2
/* 36546C E006455C 25080010 */ addiu $t0, $t0, 0x10
/* 365470 E0064560 AE680000 */ sw $t0, ($s3)
/* 365474 E0064564 E7A00018 */ swc1 $f0, 0x18($sp)
/* 365478 E0064568 C620000C */ lwc1 $f0, 0xc($s1)
/* 36547C E006456C 36101630 */ ori $s0, $s0, 0x1630
/* 365480 E0064570 0C080180 */ jal func_E0200600
/* 365484 E0064574 E7A0001C */ swc1 $f0, 0x1c($sp)
/* 365488 E0064578 27A40020 */ addiu $a0, $sp, 0x20
2021-01-11 04:52:08 +01:00
/* 36548C E006457C 3C158007 */ lui $s5, %hi(gMatrixListPos)
/* 365490 E0064580 26B541F0 */ addiu $s5, $s5, %lo(gMatrixListPos)
/* 365494 E0064584 3C16800A */ lui $s6, %hi(gDisplayContext)
/* 365498 E0064588 26D6A674 */ addiu $s6, $s6, %lo(gDisplayContext)
2021-01-07 11:43:17 +01:00
/* 36549C E006458C 96A50000 */ lhu $a1, ($s5)
/* 3654A0 E0064590 8EC20000 */ lw $v0, ($s6)
/* 3654A4 E0064594 00052980 */ sll $a1, $a1, 6
/* 3654A8 E0064598 00B02821 */ addu $a1, $a1, $s0
/* 3654AC E006459C 0C080118 */ jal func_E0200460
/* 3654B0 E00645A0 00452821 */ addu $a1, $v0, $a1
/* 3654B4 E00645A4 24140001 */ addiu $s4, $zero, 1
/* 3654B8 E00645A8 3C02DA38 */ lui $v0, 0xda38
/* 3654BC E00645AC 8E650000 */ lw $a1, ($s3)
/* 3654C0 E00645B0 96A40000 */ lhu $a0, ($s5)
/* 3654C4 E00645B4 00A0302D */ daddu $a2, $a1, $zero
/* 3654C8 E00645B8 24A50008 */ addiu $a1, $a1, 8
/* 3654CC E00645BC ACC20000 */ sw $v0, ($a2)
/* 3654D0 E00645C0 3082FFFF */ andi $v0, $a0, 0xffff
/* 3654D4 E00645C4 00021180 */ sll $v0, $v0, 6
/* 3654D8 E00645C8 00501021 */ addu $v0, $v0, $s0
/* 3654DC E00645CC 00942021 */ addu $a0, $a0, $s4
/* 3654E0 E00645D0 8EC30000 */ lw $v1, ($s6)
/* 3654E4 E00645D4 00A0B82D */ daddu $s7, $a1, $zero
/* 3654E8 E00645D8 00621821 */ addu $v1, $v1, $v0
/* 3654EC E00645DC ACC30004 */ sw $v1, 4($a2)
/* 3654F0 E00645E0 8E2D0038 */ lw $t5, 0x38($s1)
/* 3654F4 E00645E4 26E30008 */ addiu $v1, $s7, 8
/* 3654F8 E00645E8 AFAD00A0 */ sw $t5, 0xa0($sp)
/* 3654FC E00645EC AE650000 */ sw $a1, ($s3)
/* 365500 E00645F0 A6A40000 */ sh $a0, ($s5)
/* 365504 E00645F4 AE630000 */ sw $v1, ($s3)
/* 365508 E00645F8 8FAD00A4 */ lw $t5, 0xa4($sp)
/* 36550C E00645FC AFAD00BC */ sw $t5, 0xbc($sp)
/* 365510 E0064600 8FAD00A8 */ lw $t5, 0xa8($sp)
/* 365514 E0064604 AFAD00C0 */ sw $t5, 0xc0($sp)
/* 365518 E0064608 8FAD00AC */ lw $t5, 0xac($sp)
/* 36551C E006460C AFAD00C4 */ sw $t5, 0xc4($sp)
/* 365520 E0064610 8FAD00B0 */ lw $t5, 0xb0($sp)
/* 365524 E0064614 AFAD00C8 */ sw $t5, 0xc8($sp)
/* 365528 E0064618 8FAD00B4 */ lw $t5, 0xb4($sp)
/* 36552C E006461C AFAD00CC */ sw $t5, 0xcc($sp)
/* 365530 E0064620 8FAD00B8 */ lw $t5, 0xb8($sp)
/* 365534 E0064624 AFAD00D0 */ sw $t5, 0xd0($sp)
/* 365538 E0064628 8FAD0118 */ lw $t5, 0x118($sp)
/* 36553C E006462C 8DA20008 */ lw $v0, 8($t5)
/* 365540 E0064630 26310058 */ addiu $s1, $s1, 0x58
/* 365544 E0064634 0282102A */ slt $v0, $s4, $v0
/* 365548 E0064638 10400090 */ beqz $v0, .LE006487C
/* 36554C E006463C AFA300D4 */ sw $v1, 0xd4($sp)
/* 365550 E0064640 27B20060 */ addiu $s2, $sp, 0x60
/* 365554 E0064644 4600A586 */ mov.s $f22, $f20
/* 365558 E0064648 3C01E006 */ lui $at, %hi(D_E0064A90)
/* 36555C E006464C D4344A90 */ ldc1 $f20, %lo(D_E0064A90)($at)
/* 365560 E0064650 02A0B02D */ daddu $s6, $s5, $zero
/* 365564 E0064654 3C150001 */ lui $s5, 1
/* 365568 E0064658 36B51630 */ ori $s5, $s5, 0x1630
/* 36556C E006465C 3C1EF200 */ lui $fp, 0xf200
/* 365570 E0064660 26300044 */ addiu $s0, $s1, 0x44
.LE0064664:
/* 365574 E0064664 8E020008 */ lw $v0, 8($s0)
/* 365578 E0064668 0440007E */ bltz $v0, .LE0064864
2021-01-12 16:42:27 +01:00
/* 36557C E006466C 00000000 */ nop
2021-01-07 11:43:17 +01:00
/* 365580 E0064670 8E05FFC0 */ lw $a1, -0x40($s0)
/* 365584 E0064674 8E06FFC4 */ lw $a2, -0x3c($s0)
/* 365588 E0064678 8E07FFC8 */ lw $a3, -0x38($s0)
/* 36558C E006467C 0C080108 */ jal func_E0200420
/* 365590 E0064680 27A40020 */ addiu $a0, $sp, 0x20
/* 365594 E0064684 E7B80010 */ swc1 $f24, 0x10($sp)
/* 365598 E0064688 8E05FFF0 */ lw $a1, -0x10($s0)
/* 36559C E006468C 4406B000 */ mfc1 $a2, $f22
/* 3655A0 E0064690 4407B000 */ mfc1 $a3, $f22
/* 3655A4 E0064694 0C080104 */ jal func_E0200410
/* 3655A8 E0064698 0240202D */ daddu $a0, $s2, $zero
/* 3655AC E006469C 0240202D */ daddu $a0, $s2, $zero
/* 3655B0 E00646A0 27A50020 */ addiu $a1, $sp, 0x20
/* 3655B4 E00646A4 0C080114 */ jal func_E0200450
/* 3655B8 E00646A8 00A0302D */ daddu $a2, $a1, $zero
/* 3655BC E00646AC C604FFD8 */ lwc1 $f4, -0x28($s0)
/* 3655C0 E00646B0 46002121 */ cvt.d.s $f4, $f4
/* 3655C4 E00646B4 46342102 */ mul.d $f4, $f4, $f20
2021-01-12 16:42:27 +01:00
/* 3655C8 E00646B8 00000000 */ nop
2021-01-07 11:43:17 +01:00
/* 3655CC E00646BC C602FFDC */ lwc1 $f2, -0x24($s0)
/* 3655D0 E00646C0 460010A1 */ cvt.d.s $f2, $f2
/* 3655D4 E00646C4 46341082 */ mul.d $f2, $f2, $f20
2021-01-12 16:42:27 +01:00
/* 3655D8 E00646C8 00000000 */ nop
2021-01-07 11:43:17 +01:00
/* 3655DC E00646CC C600FFE0 */ lwc1 $f0, -0x20($s0)
/* 3655E0 E00646D0 46000021 */ cvt.d.s $f0, $f0
/* 3655E4 E00646D4 46340002 */ mul.d $f0, $f0, $f20
2021-01-12 16:42:27 +01:00
/* 3655E8 E00646D8 00000000 */ nop
2021-01-07 11:43:17 +01:00
/* 3655EC E00646DC 46202120 */ cvt.s.d $f4, $f4
/* 3655F0 E00646E0 462010A0 */ cvt.s.d $f2, $f2
/* 3655F4 E00646E4 46200020 */ cvt.s.d $f0, $f0
/* 3655F8 E00646E8 44052000 */ mfc1 $a1, $f4
/* 3655FC E00646EC 44061000 */ mfc1 $a2, $f2
/* 365600 E00646F0 44070000 */ mfc1 $a3, $f0
/* 365604 E00646F4 0C080110 */ jal func_E0200440
/* 365608 E00646F8 0240202D */ daddu $a0, $s2, $zero
/* 36560C E00646FC 0240202D */ daddu $a0, $s2, $zero
/* 365610 E0064700 27A50020 */ addiu $a1, $sp, 0x20
/* 365614 E0064704 0C080114 */ jal func_E0200450
/* 365618 E0064708 00A0302D */ daddu $a2, $a1, $zero
/* 36561C E006470C E7B60010 */ swc1 $f22, 0x10($sp)
/* 365620 E0064710 8E05FFEC */ lw $a1, -0x14($s0)
/* 365624 E0064714 4406B000 */ mfc1 $a2, $f22
/* 365628 E0064718 4407C000 */ mfc1 $a3, $f24
/* 36562C E006471C 0C080104 */ jal func_E0200410
/* 365630 E0064720 0240202D */ daddu $a0, $s2, $zero
/* 365634 E0064724 0240202D */ daddu $a0, $s2, $zero
/* 365638 E0064728 27A50020 */ addiu $a1, $sp, 0x20
/* 36563C E006472C 0C080114 */ jal func_E0200450
/* 365640 E0064730 00A0302D */ daddu $a2, $a1, $zero
/* 365644 E0064734 27A40020 */ addiu $a0, $sp, 0x20
/* 365648 E0064738 96C50000 */ lhu $a1, ($s6)
2021-01-11 04:52:08 +01:00
/* 36564C E006473C 3C02800A */ lui $v0, %hi(gDisplayContext)
/* 365650 E0064740 8C42A674 */ lw $v0, %lo(gDisplayContext)($v0)
2021-01-07 11:43:17 +01:00
/* 365654 E0064744 00052980 */ sll $a1, $a1, 6
/* 365658 E0064748 00B52821 */ addu $a1, $a1, $s5
/* 36565C E006474C 0C080118 */ jal func_E0200460
/* 365660 E0064750 00452821 */ addu $a1, $v0, $a1
/* 365664 E0064754 3C06000F */ lui $a2, 0xf
/* 365668 E0064758 34C6C000 */ ori $a2, $a2, 0xc000
/* 36566C E006475C 3C080107 */ lui $t0, 0x107
/* 365670 E0064760 3508C000 */ ori $t0, $t0, 0xc000
/* 365674 E0064764 3C07D838 */ lui $a3, 0xd838
/* 365678 E0064768 34E70002 */ ori $a3, $a3, 2
/* 36567C E006476C 8E630000 */ lw $v1, ($s3)
/* 365680 E0064770 C600FFF8 */ lwc1 $f0, -8($s0)
/* 365684 E0064774 0060282D */ daddu $a1, $v1, $zero
/* 365688 E0064778 24630008 */ addiu $v1, $v1, 8
/* 36568C E006477C 4600018D */ trunc.w.s $f6, $f0
/* 365690 E0064780 44023000 */ mfc1 $v0, $f6
2021-01-12 16:42:27 +01:00
/* 365694 E0064784 00000000 */ nop
2021-01-07 11:43:17 +01:00
/* 365698 E0064788 30420FFF */ andi $v0, $v0, 0xfff
/* 36569C E006478C 005E1025 */ or $v0, $v0, $fp
/* 3656A0 E0064790 AE630000 */ sw $v1, ($s3)
/* 3656A4 E0064794 ACA20000 */ sw $v0, ($a1)
/* 3656A8 E0064798 24620008 */ addiu $v0, $v1, 8
/* 3656AC E006479C AE620000 */ sw $v0, ($s3)
/* 3656B0 E00647A0 96C40000 */ lhu $a0, ($s6)
/* 3656B4 E00647A4 24620010 */ addiu $v0, $v1, 0x10
/* 3656B8 E00647A8 AE620000 */ sw $v0, ($s3)
/* 3656BC E00647AC 24820001 */ addiu $v0, $a0, 1
/* 3656C0 E00647B0 A6C20000 */ sh $v0, ($s6)
/* 3656C4 E00647B4 24620018 */ addiu $v0, $v1, 0x18
/* 3656C8 E00647B8 3084FFFF */ andi $a0, $a0, 0xffff
/* 3656CC E00647BC 00042180 */ sll $a0, $a0, 6
/* 3656D0 E00647C0 C600FFF8 */ lwc1 $f0, -8($s0)
/* 3656D4 E00647C4 00952021 */ addu $a0, $a0, $s5
/* 3656D8 E00647C8 AE620000 */ sw $v0, ($s3)
/* 3656DC E00647CC 4600018D */ trunc.w.s $f6, $f0
/* 3656E0 E00647D0 44023000 */ mfc1 $v0, $f6
2021-01-12 16:42:27 +01:00
/* 3656E4 E00647D4 00000000 */ nop
2021-01-07 11:43:17 +01:00
/* 3656E8 E00647D8 2442007C */ addiu $v0, $v0, 0x7c
/* 3656EC E00647DC 30420FFF */ andi $v0, $v0, 0xfff
/* 3656F0 E00647E0 00461025 */ or $v0, $v0, $a2
/* 3656F4 E00647E4 ACA20004 */ sw $v0, 4($a1)
/* 3656F8 E00647E8 C6000000 */ lwc1 $f0, ($s0)
/* 3656FC E00647EC 24620020 */ addiu $v0, $v1, 0x20
/* 365700 E00647F0 AE620000 */ sw $v0, ($s3)
/* 365704 E00647F4 4600018D */ trunc.w.s $f6, $f0
/* 365708 E00647F8 44023000 */ mfc1 $v0, $f6
2021-01-12 16:42:27 +01:00
/* 36570C E00647FC 00000000 */ nop
2021-01-07 11:43:17 +01:00
/* 365710 E0064800 30420FFF */ andi $v0, $v0, 0xfff
/* 365714 E0064804 005E1025 */ or $v0, $v0, $fp
/* 365718 E0064808 AC620000 */ sw $v0, ($v1)
/* 36571C E006480C C6000000 */ lwc1 $f0, ($s0)
/* 365720 E0064810 3C02DA38 */ lui $v0, 0xda38
/* 365724 E0064814 AC620008 */ sw $v0, 8($v1)
2021-01-11 04:52:08 +01:00
/* 365728 E0064818 3C02800A */ lui $v0, %hi(gDisplayContext)
/* 36572C E006481C 8C42A674 */ lw $v0, %lo(gDisplayContext)($v0)
2021-01-07 11:43:17 +01:00
/* 365730 E0064820 3C0D0900 */ lui $t5, 0x900
/* 365734 E0064824 25AD0540 */ addiu $t5, $t5, 0x540
/* 365738 E0064828 AC6D0014 */ sw $t5, 0x14($v1)
/* 36573C E006482C AC670018 */ sw $a3, 0x18($v1)
/* 365740 E0064830 00441021 */ addu $v0, $v0, $a0
/* 365744 E0064834 AC62000C */ sw $v0, 0xc($v1)
/* 365748 E0064838 3C02DE00 */ lui $v0, 0xde00
/* 36574C E006483C AC620010 */ sw $v0, 0x10($v1)
/* 365750 E0064840 24020040 */ addiu $v0, $zero, 0x40
/* 365754 E0064844 AC62001C */ sw $v0, 0x1c($v1)
/* 365758 E0064848 4600018D */ trunc.w.s $f6, $f0
/* 36575C E006484C 44023000 */ mfc1 $v0, $f6
2021-01-12 16:42:27 +01:00
/* 365760 E0064850 00000000 */ nop
2021-01-07 11:43:17 +01:00
/* 365764 E0064854 2442007C */ addiu $v0, $v0, 0x7c
/* 365768 E0064858 30420FFF */ andi $v0, $v0, 0xfff
/* 36576C E006485C 00481025 */ or $v0, $v0, $t0
/* 365770 E0064860 AC620004 */ sw $v0, 4($v1)
.LE0064864:
/* 365774 E0064864 8FAD0118 */ lw $t5, 0x118($sp)
/* 365778 E0064868 26940001 */ addiu $s4, $s4, 1
/* 36577C E006486C 8DA20008 */ lw $v0, 8($t5)
/* 365780 E0064870 0282102A */ slt $v0, $s4, $v0
/* 365784 E0064874 1440FF7B */ bnez $v0, .LE0064664
/* 365788 E0064878 26100058 */ addiu $s0, $s0, 0x58
.LE006487C:
/* 36578C E006487C 3C0AD9FF */ lui $t2, 0xd9ff
/* 365790 E0064880 354AF9FF */ ori $t2, $t2, 0xf9ff
2021-01-11 04:52:08 +01:00
/* 365794 E0064884 3C05800A */ lui $a1, %hi(gMasterGfxPos)
/* 365798 E0064888 24A5A66C */ addiu $a1, $a1, %lo(gMasterGfxPos)
2021-01-07 11:43:17 +01:00
/* 36579C E006488C 3C02DF00 */ lui $v0, 0xdf00
/* 3657A0 E0064890 8CA30000 */ lw $v1, ($a1)
/* 3657A4 E0064894 3C09FA00 */ lui $t1, 0xfa00
/* 3657A8 E0064898 0060202D */ daddu $a0, $v1, $zero
/* 3657AC E006489C 24630008 */ addiu $v1, $v1, 8
/* 3657B0 E00648A0 ACA30000 */ sw $v1, ($a1)
/* 3657B4 E00648A4 AC820000 */ sw $v0, ($a0)
/* 3657B8 E00648A8 3C02DE01 */ lui $v0, 0xde01
/* 3657BC E00648AC AC800004 */ sw $zero, 4($a0)
/* 3657C0 E00648B0 AEE20000 */ sw $v0, ($s7)
/* 3657C4 E00648B4 24620008 */ addiu $v0, $v1, 8
/* 3657C8 E00648B8 AEE30004 */ sw $v1, 4($s7)
/* 3657CC E00648BC ACA20000 */ sw $v0, ($a1)
/* 3657D0 E00648C0 AC690000 */ sw $t1, ($v1)
/* 3657D4 E00648C4 8FAD00BC */ lw $t5, 0xbc($sp)
/* 3657D8 E00648C8 3C0BD9FF */ lui $t3, 0xd9ff
/* 3657DC E00648CC 000D1600 */ sll $v0, $t5, 0x18
/* 3657E0 E00648D0 8FAD00C0 */ lw $t5, 0xc0($sp)
/* 3657E4 E00648D4 3C07FB00 */ lui $a3, 0xfb00
/* 3657E8 E00648D8 000D2400 */ sll $a0, $t5, 0x10
/* 3657EC E00648DC 8FAD00C4 */ lw $t5, 0xc4($sp)
/* 3657F0 E00648E0 00441025 */ or $v0, $v0, $a0
/* 3657F4 E00648E4 000D2200 */ sll $a0, $t5, 8
/* 3657F8 E00648E8 8FAD00A0 */ lw $t5, 0xa0($sp)
/* 3657FC E00648EC 00441025 */ or $v0, $v0, $a0
/* 365800 E00648F0 31A800FF */ andi $t0, $t5, 0xff
/* 365804 E00648F4 00481025 */ or $v0, $v0, $t0
/* 365808 E00648F8 AC620004 */ sw $v0, 4($v1)
/* 36580C E00648FC 24620010 */ addiu $v0, $v1, 0x10
/* 365810 E0064900 ACA20000 */ sw $v0, ($a1)
/* 365814 E0064904 AC670008 */ sw $a3, 8($v1)
/* 365818 E0064908 8FAD00C8 */ lw $t5, 0xc8($sp)
/* 36581C E006490C 356BFFFF */ ori $t3, $t3, 0xffff
/* 365820 E0064910 000D1600 */ sll $v0, $t5, 0x18
/* 365824 E0064914 8FAD00CC */ lw $t5, 0xcc($sp)
/* 365828 E0064918 3C06DE00 */ lui $a2, 0xde00
/* 36582C E006491C 000D2400 */ sll $a0, $t5, 0x10
/* 365830 E0064920 8FAD00D0 */ lw $t5, 0xd0($sp)
/* 365834 E0064924 00441025 */ or $v0, $v0, $a0
/* 365838 E0064928 000D2200 */ sll $a0, $t5, 8
/* 36583C E006492C 00441025 */ or $v0, $v0, $a0
/* 365840 E0064930 AC62000C */ sw $v0, 0xc($v1)
/* 365844 E0064934 24620018 */ addiu $v0, $v1, 0x18
/* 365848 E0064938 ACA20000 */ sw $v0, ($a1)
/* 36584C E006493C 24620020 */ addiu $v0, $v1, 0x20
/* 365850 E0064940 AC6A0010 */ sw $t2, 0x10($v1)
/* 365854 E0064944 AC600014 */ sw $zero, 0x14($v1)
/* 365858 E0064948 ACA20000 */ sw $v0, ($a1)
/* 36585C E006494C 24020200 */ addiu $v0, $zero, 0x200
/* 365860 E0064950 AC62001C */ sw $v0, 0x1c($v1)
/* 365864 E0064954 24620028 */ addiu $v0, $v1, 0x28
/* 365868 E0064958 AC6B0018 */ sw $t3, 0x18($v1)
/* 36586C E006495C ACA20000 */ sw $v0, ($a1)
/* 365870 E0064960 AC660020 */ sw $a2, 0x20($v1)
/* 365874 E0064964 8FAD00D4 */ lw $t5, 0xd4($sp)
/* 365878 E0064968 24620030 */ addiu $v0, $v1, 0x30
/* 36587C E006496C AC6D0024 */ sw $t5, 0x24($v1)
/* 365880 E0064970 ACA20000 */ sw $v0, ($a1)
/* 365884 E0064974 AC690028 */ sw $t1, 0x28($v1)
/* 365888 E0064978 8FAD00A4 */ lw $t5, 0xa4($sp)
/* 36588C E006497C 000D1600 */ sll $v0, $t5, 0x18
/* 365890 E0064980 8FAD00A8 */ lw $t5, 0xa8($sp)
/* 365894 E0064984 000D2400 */ sll $a0, $t5, 0x10
/* 365898 E0064988 8FAD00AC */ lw $t5, 0xac($sp)
/* 36589C E006498C 00441025 */ or $v0, $v0, $a0
/* 3658A0 E0064990 000D2200 */ sll $a0, $t5, 8
/* 3658A4 E0064994 00441025 */ or $v0, $v0, $a0
/* 3658A8 E0064998 00481025 */ or $v0, $v0, $t0
/* 3658AC E006499C AC62002C */ sw $v0, 0x2c($v1)
/* 3658B0 E00649A0 24620038 */ addiu $v0, $v1, 0x38
/* 3658B4 E00649A4 ACA20000 */ sw $v0, ($a1)
/* 3658B8 E00649A8 AC670030 */ sw $a3, 0x30($v1)
/* 3658BC E00649AC 8FAD00B0 */ lw $t5, 0xb0($sp)
/* 3658C0 E00649B0 3C0CD838 */ lui $t4, 0xd838
/* 3658C4 E00649B4 000D1600 */ sll $v0, $t5, 0x18
/* 3658C8 E00649B8 8FAD00B4 */ lw $t5, 0xb4($sp)
/* 3658CC E00649BC 358C0002 */ ori $t4, $t4, 2
/* 3658D0 E00649C0 000D2400 */ sll $a0, $t5, 0x10
/* 3658D4 E00649C4 8FAD00B8 */ lw $t5, 0xb8($sp)
/* 3658D8 E00649C8 00441025 */ or $v0, $v0, $a0
/* 3658DC E00649CC 000D2200 */ sll $a0, $t5, 8
/* 3658E0 E00649D0 00441025 */ or $v0, $v0, $a0
/* 3658E4 E00649D4 AC620034 */ sw $v0, 0x34($v1)
/* 3658E8 E00649D8 24620040 */ addiu $v0, $v1, 0x40
/* 3658EC E00649DC ACA20000 */ sw $v0, ($a1)
/* 3658F0 E00649E0 24620048 */ addiu $v0, $v1, 0x48
/* 3658F4 E00649E4 AC6A0038 */ sw $t2, 0x38($v1)
/* 3658F8 E00649E8 AC60003C */ sw $zero, 0x3c($v1)
/* 3658FC E00649EC ACA20000 */ sw $v0, ($a1)
/* 365900 E00649F0 24020400 */ addiu $v0, $zero, 0x400
/* 365904 E00649F4 AC620044 */ sw $v0, 0x44($v1)
/* 365908 E00649F8 24620050 */ addiu $v0, $v1, 0x50
/* 36590C E00649FC AC6B0040 */ sw $t3, 0x40($v1)
/* 365910 E0064A00 ACA20000 */ sw $v0, ($a1)
/* 365914 E0064A04 AC660048 */ sw $a2, 0x48($v1)
/* 365918 E0064A08 8FAD00D4 */ lw $t5, 0xd4($sp)
/* 36591C E0064A0C 24620058 */ addiu $v0, $v1, 0x58
/* 365920 E0064A10 AC6D004C */ sw $t5, 0x4c($v1)
/* 365924 E0064A14 ACA20000 */ sw $v0, ($a1)
/* 365928 E0064A18 24020040 */ addiu $v0, $zero, 0x40
/* 36592C E0064A1C AC6C0050 */ sw $t4, 0x50($v1)
/* 365930 E0064A20 AC620054 */ sw $v0, 0x54($v1)
/* 365934 E0064A24 8FBF00FC */ lw $ra, 0xfc($sp)
/* 365938 E0064A28 8FBE00F8 */ lw $fp, 0xf8($sp)
/* 36593C E0064A2C 8FB700F4 */ lw $s7, 0xf4($sp)
/* 365940 E0064A30 8FB600F0 */ lw $s6, 0xf0($sp)
/* 365944 E0064A34 8FB500EC */ lw $s5, 0xec($sp)
/* 365948 E0064A38 8FB400E8 */ lw $s4, 0xe8($sp)
/* 36594C E0064A3C 8FB300E4 */ lw $s3, 0xe4($sp)
/* 365950 E0064A40 8FB200E0 */ lw $s2, 0xe0($sp)
/* 365954 E0064A44 8FB100DC */ lw $s1, 0xdc($sp)
/* 365958 E0064A48 8FB000D8 */ lw $s0, 0xd8($sp)
/* 36595C E0064A4C D7B80110 */ ldc1 $f24, 0x110($sp)
/* 365960 E0064A50 D7B60108 */ ldc1 $f22, 0x108($sp)
/* 365964 E0064A54 D7B40100 */ ldc1 $f20, 0x100($sp)
/* 365968 E0064A58 03E00008 */ jr $ra
/* 36596C E0064A5C 27BD0118 */ addiu $sp, $sp, 0x118