papermario/asm/nonmatchings/code_13870_len_6980/func_80039DA4.s

710 lines
32 KiB
ArmAsm
Raw Normal View History

2020-08-04 08:49:11 +02:00
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80039DA4
/* 0151A4 80039DA4 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 0151A8 80039DA8 AFB10014 */ sw $s1, 0x14($sp)
/* 0151AC 80039DAC 0080882D */ daddu $s1, $a0, $zero
/* 0151B0 80039DB0 3C03800A */ lui $v1, 0x800a
/* 0151B4 80039DB4 8463A634 */ lh $v1, -0x59cc($v1)
/* 0151B8 80039DB8 3C04800B */ lui $a0, 0x800b
/* 0151BC 80039DBC 24841D80 */ addiu $a0, $a0, 0x1d80
/* 0151C0 80039DC0 AFBF0018 */ sw $ra, 0x18($sp)
/* 0151C4 80039DC4 AFB00010 */ sw $s0, 0x10($sp)
/* 0151C8 80039DC8 F7B60028 */ sdc1 $f22, 0x28($sp)
/* 0151CC 80039DCC F7B40020 */ sdc1 $f20, 0x20($sp)
/* 0151D0 80039DD0 00031080 */ sll $v0, $v1, 2
/* 0151D4 80039DD4 00431021 */ addu $v0, $v0, $v1
/* 0151D8 80039DD8 00021080 */ sll $v0, $v0, 2
/* 0151DC 80039DDC 00431023 */ subu $v0, $v0, $v1
/* 0151E0 80039DE0 000218C0 */ sll $v1, $v0, 3
/* 0151E4 80039DE4 00431021 */ addu $v0, $v0, $v1
/* 0151E8 80039DE8 000210C0 */ sll $v0, $v0, 3
/* 0151EC 80039DEC 3C03800A */ lui $v1, 0x800a
/* 0151F0 80039DF0 8C63A650 */ lw $v1, -0x59b0($v1)
/* 0151F4 80039DF4 3063C000 */ andi $v1, $v1, 0xc000
/* 0151F8 80039DF8 1460006C */ bnez $v1, .L80039FAC
/* 0151FC 80039DFC 00441021 */ addu $v0, $v0, $a0
/* 015200 80039E00 C456006C */ lwc1 $f22, 0x6c($v0)
/* 015204 80039E04 C62E000C */ lwc1 $f14, 0xc($s1)
/* 015208 80039E08 0C00A70A */ jal get_clamped_angle_diff
/* 01520C 80039E0C 4600B306 */ mov.s $f12, $f22
/* 015210 80039E10 3C01C0A0 */ lui $at, 0xc0a0
/* 015214 80039E14 44811000 */ mtc1 $at, $f2
/* 015218 80039E18 46000306 */ mov.s $f12, $f0
/* 01521C 80039E1C 4602603C */ c.lt.s $f12, $f2
/* 015220 80039E20 00000000 */ nop
/* 015224 80039E24 4500000B */ bc1f .L80039E54
/* 015228 80039E28 00000000 */ nop
/* 01522C 80039E2C 3C01C32F */ lui $at, 0xc32f
/* 015230 80039E30 44810000 */ mtc1 $at, $f0
/* 015234 80039E34 00000000 */ nop
/* 015238 80039E38 460C003C */ c.lt.s $f0, $f12
/* 01523C 80039E3C 00000000 */ nop
/* 015240 80039E40 45000004 */ bc1f .L80039E54
/* 015244 80039E44 0000802D */ daddu $s0, $zero, $zero
/* 015248 80039E48 44806000 */ mtc1 $zero, $f12
/* 01524C 80039E4C 0800E7AC */ j .L80039EB0
/* 015250 80039E50 00000000 */ nop
.L80039E54:
/* 015254 80039E54 3C0140A0 */ lui $at, 0x40a0
/* 015258 80039E58 44810000 */ mtc1 $at, $f0
/* 01525C 80039E5C 00000000 */ nop
/* 015260 80039E60 460C003C */ c.lt.s $f0, $f12
/* 015264 80039E64 00000000 */ nop
/* 015268 80039E68 4500000C */ bc1f .L80039E9C
/* 01526C 80039E6C 00000000 */ nop
/* 015270 80039E70 3C01432F */ lui $at, 0x432f
/* 015274 80039E74 44810000 */ mtc1 $at, $f0
/* 015278 80039E78 00000000 */ nop
/* 01527C 80039E7C 4600603C */ c.lt.s $f12, $f0
/* 015280 80039E80 00000000 */ nop
/* 015284 80039E84 45000005 */ bc1f .L80039E9C
/* 015288 80039E88 24100001 */ addiu $s0, $zero, 1
/* 01528C 80039E8C 3C014334 */ lui $at, 0x4334
/* 015290 80039E90 44816000 */ mtc1 $at, $f12
/* 015294 80039E94 0800E7AC */ j .L80039EB0
/* 015298 80039E98 00000000 */ nop
.L80039E9C:
/* 01529C 80039E9C 8622008A */ lh $v0, 0x8a($s1)
/* 0152A0 80039EA0 24100002 */ addiu $s0, $zero, 2
/* 0152A4 80039EA4 44826000 */ mtc1 $v0, $f12
/* 0152A8 80039EA8 00000000 */ nop
/* 0152AC 80039EAC 46806320 */ cvt.s.w $f12, $f12
.L80039EB0:
/* 0152B0 80039EB0 0C00A6C9 */ jal clamp_angle
/* 0152B4 80039EB4 00000000 */ nop
/* 0152B8 80039EB8 46000506 */ mov.s $f20, $f0
/* 0152BC 80039EBC 4600A10D */ trunc.w.s $f4, $f20
/* 0152C0 80039EC0 44022000 */ mfc1 $v0, $f4
/* 0152C4 80039EC4 00000000 */ nop
/* 0152C8 80039EC8 A622008A */ sh $v0, 0x8a($s1)
/* 0152CC 80039ECC 8E220000 */ lw $v0, ($s1)
/* 0152D0 80039ED0 3C030004 */ lui $v1, 4
/* 0152D4 80039ED4 00431024 */ and $v0, $v0, $v1
/* 0152D8 80039ED8 14400034 */ bnez $v0, .L80039FAC
/* 0152DC 80039EDC 00000000 */ nop
/* 0152E0 80039EE0 86220088 */ lh $v0, 0x88($s1)
/* 0152E4 80039EE4 10500016 */ beq $v0, $s0, .L80039F40
/* 0152E8 80039EE8 24020002 */ addiu $v0, $zero, 2
/* 0152EC 80039EEC 12020014 */ beq $s0, $v0, .L80039F40
/* 0152F0 80039EF0 00000000 */ nop
/* 0152F4 80039EF4 12000003 */ beqz $s0, .L80039F04
/* 0152F8 80039EF8 A6300088 */ sh $s0, 0x88($s1)
/* 0152FC 80039EFC 0800E7C2 */ j .L80039F08
/* 015300 80039F00 240200B4 */ addiu $v0, $zero, 0xb4
.L80039F04:
/* 015304 80039F04 2402FF4C */ addiu $v0, $zero, -0xb4
.L80039F08:
/* 015308 80039F08 A622008C */ sh $v0, 0x8c($s1)
/* 01530C 80039F0C C62E000C */ lwc1 $f14, 0xc($s1)
/* 015310 80039F10 0C00A70A */ jal get_clamped_angle_diff
/* 015314 80039F14 4600B306 */ mov.s $f12, $f22
/* 015318 80039F18 3C0142B4 */ lui $at, 0x42b4
/* 01531C 80039F1C 44811000 */ mtc1 $at, $f2
/* 015320 80039F20 46000005 */ abs.s $f0, $f0
/* 015324 80039F24 4600103E */ c.le.s $f2, $f0
/* 015328 80039F28 00000000 */ nop
/* 01532C 80039F2C 45000004 */ bc1f .L80039F40
/* 015330 80039F30 00000000 */ nop
/* 015334 80039F34 9622008C */ lhu $v0, 0x8c($s1)
/* 015338 80039F38 00021023 */ negu $v0, $v0
/* 01533C 80039F3C A622008C */ sh $v0, 0x8c($s1)
.L80039F40:
/* 015340 80039F40 8623008C */ lh $v1, 0x8c($s1)
/* 015344 80039F44 10600009 */ beqz $v1, .L80039F6C
/* 015348 80039F48 9622008C */ lhu $v0, 0x8c($s1)
/* 01534C 80039F4C 04610002 */ bgez $v1, .L80039F58
/* 015350 80039F50 24420014 */ addiu $v0, $v0, 0x14
/* 015354 80039F54 A622008C */ sh $v0, 0x8c($s1)
.L80039F58:
/* 015358 80039F58 8622008C */ lh $v0, 0x8c($s1)
/* 01535C 80039F5C 9623008C */ lhu $v1, 0x8c($s1)
/* 015360 80039F60 18400002 */ blez $v0, .L80039F6C
/* 015364 80039F64 2462FFEC */ addiu $v0, $v1, -0x14
/* 015368 80039F68 A622008C */ sh $v0, 0x8c($s1)
.L80039F6C:
/* 01536C 80039F6C 8E220000 */ lw $v0, ($s1)
/* 015370 80039F70 3C030020 */ lui $v1, 0x20
/* 015374 80039F74 00431024 */ and $v0, $v0, $v1
/* 015378 80039F78 54400001 */ bnel $v0, $zero, .L80039F80
/* 01537C 80039F7C A620008C */ sh $zero, 0x8c($s1)
.L80039F80:
/* 015380 80039F80 8622008C */ lh $v0, 0x8c($s1)
/* 015384 80039F84 44826000 */ mtc1 $v0, $f12
/* 015388 80039F88 00000000 */ nop
/* 01538C 80039F8C 46806320 */ cvt.s.w $f12, $f12
/* 015390 80039F90 0C00A6C9 */ jal clamp_angle
/* 015394 80039F94 46146300 */ add.s $f12, $f12, $f20
/* 015398 80039F98 0C00A6C9 */ jal clamp_angle
/* 01539C 80039F9C 46160301 */ sub.s $f12, $f0, $f22
/* 0153A0 80039FA0 46000506 */ mov.s $f20, $f0
/* 0153A4 80039FA4 0800E7EC */ j .L80039FB0
/* 0153A8 80039FA8 E6340034 */ swc1 $f20, 0x34($s1)
.L80039FAC:
/* 0153AC 80039FAC C6340034 */ lwc1 $f20, 0x34($s1)
.L80039FB0:
/* 0153B0 80039FB0 4600A006 */ mov.s $f0, $f20
/* 0153B4 80039FB4 8FBF0018 */ lw $ra, 0x18($sp)
/* 0153B8 80039FB8 8FB10014 */ lw $s1, 0x14($sp)
/* 0153BC 80039FBC 8FB00010 */ lw $s0, 0x10($sp)
/* 0153C0 80039FC0 D7B60028 */ ldc1 $f22, 0x28($sp)
/* 0153C4 80039FC4 D7B40020 */ ldc1 $f20, 0x20($sp)
/* 0153C8 80039FC8 03E00008 */ jr $ra
/* 0153CC 80039FCC 27BD0030 */ addiu $sp, $sp, 0x30
/* 0153D0 80039FD0 27BDFF48 */ addiu $sp, $sp, -0xb8
/* 0153D4 80039FD4 AFB1009C */ sw $s1, 0x9c($sp)
/* 0153D8 80039FD8 AFBF00A0 */ sw $ra, 0xa0($sp)
/* 0153DC 80039FDC AFB00098 */ sw $s0, 0x98($sp)
/* 0153E0 80039FE0 F7B600B0 */ sdc1 $f22, 0xb0($sp)
/* 0153E4 80039FE4 F7B400A8 */ sdc1 $f20, 0xa8($sp)
/* 0153E8 80039FE8 0C00E769 */ jal func_80039DA4
/* 0153EC 80039FEC 0080882D */ daddu $s1, $a0, $zero
/* 0153F0 80039FF0 27A40018 */ addiu $a0, $sp, 0x18
/* 0153F4 80039FF4 822200AB */ lb $v0, 0xab($s1)
/* 0153F8 80039FF8 C624003C */ lwc1 $f4, 0x3c($s1)
/* 0153FC 80039FFC 44821000 */ mtc1 $v0, $f2
/* 015400 8003A000 00000000 */ nop
/* 015404 8003A004 468010A0 */ cvt.s.w $f2, $f2
/* 015408 8003A008 46022100 */ add.s $f4, $f4, $f2
/* 01540C 8003A00C 8E250038 */ lw $a1, 0x38($s1)
/* 015410 8003A010 8E270040 */ lw $a3, 0x40($s1)
/* 015414 8003A014 44062000 */ mfc1 $a2, $f4
/* 015418 8003A018 0C019E40 */ jal guTranslateF
/* 01541C 8003A01C 46000586 */ mov.s $f22, $f0
/* 015420 8003A020 8E220000 */ lw $v0, ($s1)
/* 015424 8003A024 30420080 */ andi $v0, $v0, 0x80
/* 015428 8003A028 10400007 */ beqz $v0, .L8003A048
/* 01542C 8003A02C 27B00058 */ addiu $s0, $sp, 0x58
/* 015430 8003A030 0C00E11E */ jal mtx_ident_mirror_y
/* 015434 8003A034 0200202D */ daddu $a0, $s0, $zero
/* 015438 8003A038 0200202D */ daddu $a0, $s0, $zero
/* 01543C 8003A03C 27A50018 */ addiu $a1, $sp, 0x18
/* 015440 8003A040 0C019D80 */ jal guMtxCatF
/* 015444 8003A044 00A0302D */ daddu $a2, $a1, $zero
.L8003A048:
/* 015448 8003A048 C6200050 */ lwc1 $f0, 0x50($s1)
/* 01544C 8003A04C 4480A000 */ mtc1 $zero, $f20
/* 015450 8003A050 00000000 */ nop
/* 015454 8003A054 46140032 */ c.eq.s $f0, $f20
/* 015458 8003A058 00000000 */ nop
/* 01545C 8003A05C 4501000A */ bc1t .L8003A088
/* 015460 8003A060 27B00058 */ addiu $s0, $sp, 0x58
/* 015464 8003A064 4405A000 */ mfc1 $a1, $f20
/* 015468 8003A068 44060000 */ mfc1 $a2, $f0
/* 01546C 8003A06C 4407A000 */ mfc1 $a3, $f20
/* 015470 8003A070 0C019E40 */ jal guTranslateF
/* 015474 8003A074 0200202D */ daddu $a0, $s0, $zero
/* 015478 8003A078 0200202D */ daddu $a0, $s0, $zero
/* 01547C 8003A07C 27A50018 */ addiu $a1, $sp, 0x18
/* 015480 8003A080 0C019D80 */ jal guMtxCatF
/* 015484 8003A084 00A0302D */ daddu $a2, $a1, $zero
.L8003A088:
/* 015488 8003A088 C6200048 */ lwc1 $f0, 0x48($s1)
/* 01548C 8003A08C 46140032 */ c.eq.s $f0, $f20
/* 015490 8003A090 00000000 */ nop
/* 015494 8003A094 4501000B */ bc1t .L8003A0C4
/* 015498 8003A098 27B00058 */ addiu $s0, $sp, 0x58
/* 01549C 8003A09C E7B40010 */ swc1 $f20, 0x10($sp)
/* 0154A0 8003A0A0 8E250048 */ lw $a1, 0x48($s1)
/* 0154A4 8003A0A4 4406A000 */ mfc1 $a2, $f20
/* 0154A8 8003A0A8 3C073F80 */ lui $a3, 0x3f80
/* 0154AC 8003A0AC 0C019EC8 */ jal guRotateF
/* 0154B0 8003A0B0 0200202D */ daddu $a0, $s0, $zero
/* 0154B4 8003A0B4 0200202D */ daddu $a0, $s0, $zero
/* 0154B8 8003A0B8 27A50018 */ addiu $a1, $sp, 0x18
/* 0154BC 8003A0BC 0C019D80 */ jal guMtxCatF
/* 0154C0 8003A0C0 00A0302D */ daddu $a2, $a1, $zero
.L8003A0C4:
/* 0154C4 8003A0C4 C6200044 */ lwc1 $f0, 0x44($s1)
/* 0154C8 8003A0C8 46140032 */ c.eq.s $f0, $f20
/* 0154CC 8003A0CC 00000000 */ nop
/* 0154D0 8003A0D0 4501000B */ bc1t .L8003A100
/* 0154D4 8003A0D4 27B00058 */ addiu $s0, $sp, 0x58
/* 0154D8 8003A0D8 E7B40010 */ swc1 $f20, 0x10($sp)
/* 0154DC 8003A0DC 8E250044 */ lw $a1, 0x44($s1)
/* 0154E0 8003A0E0 3C063F80 */ lui $a2, 0x3f80
/* 0154E4 8003A0E4 4407A000 */ mfc1 $a3, $f20
/* 0154E8 8003A0E8 0C019EC8 */ jal guRotateF
/* 0154EC 8003A0EC 0200202D */ daddu $a0, $s0, $zero
/* 0154F0 8003A0F0 0200202D */ daddu $a0, $s0, $zero
/* 0154F4 8003A0F4 27A50018 */ addiu $a1, $sp, 0x18
/* 0154F8 8003A0F8 0C019D80 */ jal guMtxCatF
/* 0154FC 8003A0FC 00A0302D */ daddu $a2, $a1, $zero
.L8003A100:
/* 015500 8003A100 C620004C */ lwc1 $f0, 0x4c($s1)
/* 015504 8003A104 46140032 */ c.eq.s $f0, $f20
/* 015508 8003A108 00000000 */ nop
/* 01550C 8003A10C 4501000E */ bc1t .L8003A148
/* 015510 8003A110 27B00058 */ addiu $s0, $sp, 0x58
/* 015514 8003A114 4406A000 */ mfc1 $a2, $f20
/* 015518 8003A118 4407A000 */ mfc1 $a3, $f20
/* 01551C 8003A11C 3C013F80 */ lui $at, 0x3f80
/* 015520 8003A120 44810000 */ mtc1 $at, $f0
/* 015524 8003A124 00000000 */ nop
/* 015528 8003A128 E7A00010 */ swc1 $f0, 0x10($sp)
/* 01552C 8003A12C 8E25004C */ lw $a1, 0x4c($s1)
/* 015530 8003A130 0C019EC8 */ jal guRotateF
/* 015534 8003A134 0200202D */ daddu $a0, $s0, $zero
/* 015538 8003A138 0200202D */ daddu $a0, $s0, $zero
/* 01553C 8003A13C 27A50018 */ addiu $a1, $sp, 0x18
/* 015540 8003A140 0C019D80 */ jal guMtxCatF
/* 015544 8003A144 00A0302D */ daddu $a2, $a1, $zero
.L8003A148:
/* 015548 8003A148 C6200050 */ lwc1 $f0, 0x50($s1)
/* 01554C 8003A14C 46140032 */ c.eq.s $f0, $f20
/* 015550 8003A150 00000000 */ nop
/* 015554 8003A154 4501000B */ bc1t .L8003A184
/* 015558 8003A158 27B00058 */ addiu $s0, $sp, 0x58
/* 01555C 8003A15C 46000007 */ neg.s $f0, $f0
/* 015560 8003A160 4405A000 */ mfc1 $a1, $f20
/* 015564 8003A164 4407A000 */ mfc1 $a3, $f20
/* 015568 8003A168 44060000 */ mfc1 $a2, $f0
/* 01556C 8003A16C 0C019E40 */ jal guTranslateF
/* 015570 8003A170 0200202D */ daddu $a0, $s0, $zero
/* 015574 8003A174 0200202D */ daddu $a0, $s0, $zero
/* 015578 8003A178 27A50018 */ addiu $a1, $sp, 0x18
/* 01557C 8003A17C 0C019D80 */ jal guMtxCatF
/* 015580 8003A180 00A0302D */ daddu $a2, $a1, $zero
.L8003A184:
/* 015584 8003A184 C6220318 */ lwc1 $f2, 0x318($s1)
/* 015588 8003A188 46141032 */ c.eq.s $f2, $f20
/* 01558C 8003A18C 00000000 */ nop
/* 015590 8003A190 45000006 */ bc1f .L8003A1AC
/* 015594 8003A194 00000000 */ nop
/* 015598 8003A198 C620031C */ lwc1 $f0, 0x31c($s1)
/* 01559C 8003A19C 46140032 */ c.eq.s $f0, $f20
/* 0155A0 8003A1A0 00000000 */ nop
/* 0155A4 8003A1A4 4501000A */ bc1t .L8003A1D0
/* 0155A8 8003A1A8 00000000 */ nop
.L8003A1AC:
/* 0155AC 8003A1AC 44051000 */ mfc1 $a1, $f2
/* 0155B0 8003A1B0 8E26031C */ lw $a2, 0x31c($s1)
/* 0155B4 8003A1B4 4407A000 */ mfc1 $a3, $f20
/* 0155B8 8003A1B8 0C019E40 */ jal guTranslateF
/* 0155BC 8003A1BC 27A40018 */ addiu $a0, $sp, 0x18
/* 0155C0 8003A1C0 27A40058 */ addiu $a0, $sp, 0x58
/* 0155C4 8003A1C4 27A50018 */ addiu $a1, $sp, 0x18
/* 0155C8 8003A1C8 0C019D80 */ jal guMtxCatF
/* 0155CC 8003A1CC 00A0302D */ daddu $a2, $a1, $zero
.L8003A1D0:
/* 0155D0 8003A1D0 C6200054 */ lwc1 $f0, 0x54($s1)
/* 0155D4 8003A1D4 3C01800A */ lui $at, 0x800a
/* 0155D8 8003A1D8 D4268480 */ ldc1 $f6, -0x7b80($at)
/* 0155DC 8003A1DC 46000021 */ cvt.d.s $f0, $f0
/* 0155E0 8003A1E0 46260002 */ mul.d $f0, $f0, $f6
/* 0155E4 8003A1E4 00000000 */ nop
/* 0155E8 8003A1E8 3C013FF0 */ lui $at, 0x3ff0
/* 0155EC 8003A1EC 44812800 */ mtc1 $at, $f5
/* 0155F0 8003A1F0 44802000 */ mtc1 $zero, $f4
/* 0155F4 8003A1F4 00000000 */ nop
/* 0155F8 8003A1F8 46240032 */ c.eq.d $f0, $f4
/* 0155FC 8003A1FC 00000000 */ nop
/* 015600 8003A200 45000014 */ bc1f .L8003A254
/* 015604 8003A204 00000000 */ nop
/* 015608 8003A208 C6200058 */ lwc1 $f0, 0x58($s1)
/* 01560C 8003A20C C6220320 */ lwc1 $f2, 0x320($s1)
/* 015610 8003A210 46020002 */ mul.s $f0, $f0, $f2
/* 015614 8003A214 00000000 */ nop
/* 015618 8003A218 46000021 */ cvt.d.s $f0, $f0
/* 01561C 8003A21C 46260002 */ mul.d $f0, $f0, $f6
/* 015620 8003A220 00000000 */ nop
/* 015624 8003A224 46240032 */ c.eq.d $f0, $f4
/* 015628 8003A228 00000000 */ nop
/* 01562C 8003A22C 45000009 */ bc1f .L8003A254
/* 015630 8003A230 00000000 */ nop
/* 015634 8003A234 C620005C */ lwc1 $f0, 0x5c($s1)
/* 015638 8003A238 46000021 */ cvt.d.s $f0, $f0
/* 01563C 8003A23C 46260002 */ mul.d $f0, $f0, $f6
/* 015640 8003A240 00000000 */ nop
/* 015644 8003A244 46240032 */ c.eq.d $f0, $f4
/* 015648 8003A248 00000000 */ nop
/* 01564C 8003A24C 4501001F */ bc1t .L8003A2CC
/* 015650 8003A250 00000000 */ nop
.L8003A254:
/* 015654 8003A254 C6260054 */ lwc1 $f6, 0x54($s1)
/* 015658 8003A258 3C01800A */ lui $at, 0x800a
/* 01565C 8003A25C D4288488 */ ldc1 $f8, -0x7b78($at)
/* 015660 8003A260 460031A1 */ cvt.d.s $f6, $f6
/* 015664 8003A264 46283182 */ mul.d $f6, $f6, $f8
/* 015668 8003A268 00000000 */ nop
/* 01566C 8003A26C C622005C */ lwc1 $f2, 0x5c($s1)
/* 015670 8003A270 460010A1 */ cvt.d.s $f2, $f2
/* 015674 8003A274 46281082 */ mul.d $f2, $f2, $f8
/* 015678 8003A278 00000000 */ nop
/* 01567C 8003A27C C6200058 */ lwc1 $f0, 0x58($s1)
/* 015680 8003A280 C6240320 */ lwc1 $f4, 0x320($s1)
/* 015684 8003A284 46040002 */ mul.s $f0, $f0, $f4
/* 015688 8003A288 00000000 */ nop
/* 01568C 8003A28C 46000021 */ cvt.d.s $f0, $f0
/* 015690 8003A290 46280002 */ mul.d $f0, $f0, $f8
/* 015694 8003A294 00000000 */ nop
/* 015698 8003A298 27B00058 */ addiu $s0, $sp, 0x58
/* 01569C 8003A29C 462031A0 */ cvt.s.d $f6, $f6
/* 0156A0 8003A2A0 462010A0 */ cvt.s.d $f2, $f2
/* 0156A4 8003A2A4 44053000 */ mfc1 $a1, $f6
/* 0156A8 8003A2A8 44071000 */ mfc1 $a3, $f2
/* 0156AC 8003A2AC 46200020 */ cvt.s.d $f0, $f0
/* 0156B0 8003A2B0 44060000 */ mfc1 $a2, $f0
/* 0156B4 8003A2B4 0C019DF0 */ jal guScaleF
/* 0156B8 8003A2B8 0200202D */ daddu $a0, $s0, $zero
/* 0156BC 8003A2BC 0200202D */ daddu $a0, $s0, $zero
/* 0156C0 8003A2C0 27A50018 */ addiu $a1, $sp, 0x18
/* 0156C4 8003A2C4 0C019D80 */ jal guMtxCatF
/* 0156C8 8003A2C8 00A0302D */ daddu $a2, $a1, $zero
.L8003A2CC:
/* 0156CC 8003A2CC 8E230000 */ lw $v1, ($s1)
/* 0156D0 8003A2D0 3C024000 */ lui $v0, 0x4000
/* 0156D4 8003A2D4 00621024 */ and $v0, $v1, $v0
/* 0156D8 8003A2D8 14400014 */ bnez $v0, .L8003A32C
/* 0156DC 8003A2DC 0220202D */ daddu $a0, $s1, $zero
/* 0156E0 8003A2E0 3C020100 */ lui $v0, 0x100
/* 0156E4 8003A2E4 00621024 */ and $v0, $v1, $v0
/* 0156E8 8003A2E8 14400017 */ bnez $v0, .L8003A348
/* 0156EC 8003A2EC 00000000 */ nop
/* 0156F0 8003A2F0 8E220028 */ lw $v0, 0x28($s1)
/* 0156F4 8003A2F4 10400014 */ beqz $v0, .L8003A348
/* 0156F8 8003A2F8 00000000 */ nop
/* 0156FC 8003A2FC 8E220024 */ lw $v0, 0x24($s1)
/* 015700 8003A300 04400011 */ bltz $v0, .L8003A348
/* 015704 8003A304 00000000 */ nop
/* 015708 8003A308 4600B28D */ trunc.w.s $f10, $f22
/* 01570C 8003A30C 44055000 */ mfc1 $a1, $f10
/* 015710 8003A310 0C00ED1F */ jal func_8003B47C
/* 015714 8003A314 27A60018 */ addiu $a2, $sp, 0x18
/* 015718 8003A318 8E240024 */ lw $a0, 0x24($s1)
/* 01571C 8003A31C 0C0B7972 */ jal func_802DE5C8
/* 015720 8003A320 00000000 */ nop
/* 015724 8003A324 0800E8D2 */ j .L8003A348
/* 015728 8003A328 AE22002C */ sw $v0, 0x2c($s1)
.L8003A32C:
/* 01572C 8003A32C 4600B28D */ trunc.w.s $f10, $f22
/* 015730 8003A330 44055000 */ mfc1 $a1, $f10
/* 015734 8003A334 0C00ED1F */ jal func_8003B47C
/* 015738 8003A338 27A60018 */ addiu $a2, $sp, 0x18
/* 01573C 8003A33C 0C0B77B1 */ jal func_802DDEC4
/* 015740 8003A340 24040001 */ addiu $a0, $zero, 1
/* 015744 8003A344 AE22002C */ sw $v0, 0x2c($s1)
.L8003A348:
/* 015748 8003A348 8E220000 */ lw $v0, ($s1)
/* 01574C 8003A34C 3C030002 */ lui $v1, 2
/* 015750 8003A350 00431024 */ and $v0, $v0, $v1
/* 015754 8003A354 1040008E */ beqz $v0, .L8003A590
/* 015758 8003A358 00000000 */ nop
/* 01575C 8003A35C 822200AB */ lb $v0, 0xab($s1)
/* 015760 8003A360 C622003C */ lwc1 $f2, 0x3c($s1)
/* 015764 8003A364 44820000 */ mtc1 $v0, $f0
/* 015768 8003A368 00000000 */ nop
/* 01576C 8003A36C 46800020 */ cvt.s.w $f0, $f0
/* 015770 8003A370 46001080 */ add.s $f2, $f2, $f0
/* 015774 8003A374 C6200040 */ lwc1 $f0, 0x40($s1)
/* 015778 8003A378 8E250038 */ lw $a1, 0x38($s1)
/* 01577C 8003A37C 46000007 */ neg.s $f0, $f0
/* 015780 8003A380 44070000 */ mfc1 $a3, $f0
/* 015784 8003A384 44061000 */ mfc1 $a2, $f2
/* 015788 8003A388 0C019E40 */ jal guTranslateF
/* 01578C 8003A38C 27A40018 */ addiu $a0, $sp, 0x18
/* 015790 8003A390 8E220000 */ lw $v0, ($s1)
/* 015794 8003A394 30420080 */ andi $v0, $v0, 0x80
/* 015798 8003A398 10400007 */ beqz $v0, .L8003A3B8
/* 01579C 8003A39C 27B00058 */ addiu $s0, $sp, 0x58
/* 0157A0 8003A3A0 0C00E11E */ jal mtx_ident_mirror_y
/* 0157A4 8003A3A4 0200202D */ daddu $a0, $s0, $zero
/* 0157A8 8003A3A8 0200202D */ daddu $a0, $s0, $zero
/* 0157AC 8003A3AC 27A50018 */ addiu $a1, $sp, 0x18
/* 0157B0 8003A3B0 0C019D80 */ jal guMtxCatF
/* 0157B4 8003A3B4 00A0302D */ daddu $a2, $a1, $zero
.L8003A3B8:
/* 0157B8 8003A3B8 C6200048 */ lwc1 $f0, 0x48($s1)
/* 0157BC 8003A3BC 44801000 */ mtc1 $zero, $f2
/* 0157C0 8003A3C0 00000000 */ nop
/* 0157C4 8003A3C4 46020032 */ c.eq.s $f0, $f2
/* 0157C8 8003A3C8 00000000 */ nop
/* 0157CC 8003A3CC 4500000B */ bc1f .L8003A3FC
/* 0157D0 8003A3D0 27B00058 */ addiu $s0, $sp, 0x58
/* 0157D4 8003A3D4 C6200044 */ lwc1 $f0, 0x44($s1)
/* 0157D8 8003A3D8 46020032 */ c.eq.s $f0, $f2
/* 0157DC 8003A3DC 00000000 */ nop
/* 0157E0 8003A3E0 45000006 */ bc1f .L8003A3FC
/* 0157E4 8003A3E4 00000000 */ nop
/* 0157E8 8003A3E8 C620004C */ lwc1 $f0, 0x4c($s1)
/* 0157EC 8003A3EC 46020032 */ c.eq.s $f0, $f2
/* 0157F0 8003A3F0 00000000 */ nop
/* 0157F4 8003A3F4 4501000A */ bc1t .L8003A420
/* 0157F8 8003A3F8 00000000 */ nop
.L8003A3FC:
/* 0157FC 8003A3FC 8E250044 */ lw $a1, 0x44($s1)
/* 015800 8003A400 8E260048 */ lw $a2, 0x48($s1)
/* 015804 8003A404 8E27004C */ lw $a3, 0x4c($s1)
/* 015808 8003A408 0C0190B4 */ jal guRotateAnglesF
/* 01580C 8003A40C 0200202D */ daddu $a0, $s0, $zero
/* 015810 8003A410 0200202D */ daddu $a0, $s0, $zero
/* 015814 8003A414 27A50018 */ addiu $a1, $sp, 0x18
/* 015818 8003A418 0C019D80 */ jal guMtxCatF
/* 01581C 8003A41C 00A0302D */ daddu $a2, $a1, $zero
.L8003A420:
/* 015820 8003A420 C6200054 */ lwc1 $f0, 0x54($s1)
/* 015824 8003A424 3C01800A */ lui $at, 0x800a
/* 015828 8003A428 D4268490 */ ldc1 $f6, -0x7b70($at)
/* 01582C 8003A42C 46000021 */ cvt.d.s $f0, $f0
/* 015830 8003A430 46260002 */ mul.d $f0, $f0, $f6
/* 015834 8003A434 00000000 */ nop
/* 015838 8003A438 3C013FF0 */ lui $at, 0x3ff0
/* 01583C 8003A43C 44812800 */ mtc1 $at, $f5
/* 015840 8003A440 44802000 */ mtc1 $zero, $f4
/* 015844 8003A444 00000000 */ nop
/* 015848 8003A448 46240032 */ c.eq.d $f0, $f4
/* 01584C 8003A44C 00000000 */ nop
/* 015850 8003A450 45000014 */ bc1f .L8003A4A4
/* 015854 8003A454 00000000 */ nop
/* 015858 8003A458 C6200058 */ lwc1 $f0, 0x58($s1)
/* 01585C 8003A45C C6220320 */ lwc1 $f2, 0x320($s1)
/* 015860 8003A460 46020002 */ mul.s $f0, $f0, $f2
/* 015864 8003A464 00000000 */ nop
/* 015868 8003A468 46000021 */ cvt.d.s $f0, $f0
/* 01586C 8003A46C 46260002 */ mul.d $f0, $f0, $f6
/* 015870 8003A470 00000000 */ nop
/* 015874 8003A474 46240032 */ c.eq.d $f0, $f4
/* 015878 8003A478 00000000 */ nop
/* 01587C 8003A47C 45000009 */ bc1f .L8003A4A4
/* 015880 8003A480 00000000 */ nop
/* 015884 8003A484 C620005C */ lwc1 $f0, 0x5c($s1)
/* 015888 8003A488 46000021 */ cvt.d.s $f0, $f0
/* 01588C 8003A48C 46260002 */ mul.d $f0, $f0, $f6
/* 015890 8003A490 00000000 */ nop
/* 015894 8003A494 46240032 */ c.eq.d $f0, $f4
/* 015898 8003A498 00000000 */ nop
/* 01589C 8003A49C 4501001F */ bc1t .L8003A51C
/* 0158A0 8003A4A0 00000000 */ nop
.L8003A4A4:
/* 0158A4 8003A4A4 C6260054 */ lwc1 $f6, 0x54($s1)
/* 0158A8 8003A4A8 3C01800A */ lui $at, 0x800a
/* 0158AC 8003A4AC D4288498 */ ldc1 $f8, -0x7b68($at)
/* 0158B0 8003A4B0 460031A1 */ cvt.d.s $f6, $f6
/* 0158B4 8003A4B4 46283182 */ mul.d $f6, $f6, $f8
/* 0158B8 8003A4B8 00000000 */ nop
/* 0158BC 8003A4BC C624005C */ lwc1 $f4, 0x5c($s1)
/* 0158C0 8003A4C0 46002121 */ cvt.d.s $f4, $f4
/* 0158C4 8003A4C4 46282102 */ mul.d $f4, $f4, $f8
/* 0158C8 8003A4C8 00000000 */ nop
/* 0158CC 8003A4CC C6200058 */ lwc1 $f0, 0x58($s1)
/* 0158D0 8003A4D0 C6220320 */ lwc1 $f2, 0x320($s1)
/* 0158D4 8003A4D4 46020002 */ mul.s $f0, $f0, $f2
/* 0158D8 8003A4D8 00000000 */ nop
/* 0158DC 8003A4DC 46000021 */ cvt.d.s $f0, $f0
/* 0158E0 8003A4E0 46280002 */ mul.d $f0, $f0, $f8
/* 0158E4 8003A4E4 00000000 */ nop
/* 0158E8 8003A4E8 27B00058 */ addiu $s0, $sp, 0x58
/* 0158EC 8003A4EC 462031A0 */ cvt.s.d $f6, $f6
/* 0158F0 8003A4F0 46202120 */ cvt.s.d $f4, $f4
/* 0158F4 8003A4F4 44053000 */ mfc1 $a1, $f6
/* 0158F8 8003A4F8 44072000 */ mfc1 $a3, $f4
/* 0158FC 8003A4FC 46200020 */ cvt.s.d $f0, $f0
/* 015900 8003A500 44060000 */ mfc1 $a2, $f0
/* 015904 8003A504 0C019DF0 */ jal guScaleF
/* 015908 8003A508 0200202D */ daddu $a0, $s0, $zero
/* 01590C 8003A50C 0200202D */ daddu $a0, $s0, $zero
/* 015910 8003A510 27A50018 */ addiu $a1, $sp, 0x18
/* 015914 8003A514 0C019D80 */ jal guMtxCatF
/* 015918 8003A518 00A0302D */ daddu $a2, $a1, $zero
.L8003A51C:
/* 01591C 8003A51C 8E230000 */ lw $v1, ($s1)
/* 015920 8003A520 3C024000 */ lui $v0, 0x4000
/* 015924 8003A524 00621024 */ and $v0, $v1, $v0
/* 015928 8003A528 14400011 */ bnez $v0, .L8003A570
/* 01592C 8003A52C 27A20018 */ addiu $v0, $sp, 0x18
/* 015930 8003A530 3C020100 */ lui $v0, 0x100
/* 015934 8003A534 00621024 */ and $v0, $v1, $v0
/* 015938 8003A538 14400015 */ bnez $v0, .L8003A590
/* 01593C 8003A53C 00000000 */ nop
/* 015940 8003A540 8E220028 */ lw $v0, 0x28($s1)
/* 015944 8003A544 10400012 */ beqz $v0, .L8003A590
/* 015948 8003A548 0000302D */ daddu $a2, $zero, $zero
/* 01594C 8003A54C 4600B28D */ trunc.w.s $f10, $f22
/* 015950 8003A550 44055000 */ mfc1 $a1, $f10
/* 015954 8003A554 27A20018 */ addiu $v0, $sp, 0x18
/* 015958 8003A558 AFA20010 */ sw $v0, 0x10($sp)
/* 01595C 8003A55C 8E240024 */ lw $a0, 0x24($s1)
/* 015960 8003A560 0C0B78F6 */ jal func_802DE3D8
/* 015964 8003A564 00C0382D */ daddu $a3, $a2, $zero
/* 015968 8003A568 0800E964 */ j .L8003A590
/* 01596C 8003A56C 00000000 */ nop
.L8003A570:
/* 015970 8003A570 AFA20010 */ sw $v0, 0x10($sp)
/* 015974 8003A574 3C044000 */ lui $a0, 0x4000
/* 015978 8003A578 34840001 */ ori $a0, $a0, 1
/* 01597C 8003A57C 4600B28D */ trunc.w.s $f10, $f22
/* 015980 8003A580 44055000 */ mfc1 $a1, $f10
/* 015984 8003A584 0000302D */ daddu $a2, $zero, $zero
/* 015988 8003A588 0C0B7710 */ jal render_sprite
/* 01598C 8003A58C 00C0382D */ daddu $a3, $a2, $zero
.L8003A590:
/* 015990 8003A590 8E220000 */ lw $v0, ($s1)
/* 015994 8003A594 3C030008 */ lui $v1, 8
/* 015998 8003A598 00431024 */ and $v0, $v0, $v1
/* 01599C 8003A59C 1040008A */ beqz $v0, .L8003A7C8
/* 0159A0 8003A5A0 00000000 */ nop
/* 0159A4 8003A5A4 822200AB */ lb $v0, 0xab($s1)
/* 0159A8 8003A5A8 C622003C */ lwc1 $f2, 0x3c($s1)
/* 0159AC 8003A5AC 44820000 */ mtc1 $v0, $f0
/* 0159B0 8003A5B0 00000000 */ nop
/* 0159B4 8003A5B4 46800020 */ cvt.s.w $f0, $f0
/* 0159B8 8003A5B8 46001080 */ add.s $f2, $f2, $f0
/* 0159BC 8003A5BC 8E250038 */ lw $a1, 0x38($s1)
/* 0159C0 8003A5C0 8E270040 */ lw $a3, 0x40($s1)
/* 0159C4 8003A5C4 46001087 */ neg.s $f2, $f2
/* 0159C8 8003A5C8 44061000 */ mfc1 $a2, $f2
/* 0159CC 8003A5CC 0C019E40 */ jal guTranslateF
/* 0159D0 8003A5D0 27A40018 */ addiu $a0, $sp, 0x18
/* 0159D4 8003A5D4 27B00058 */ addiu $s0, $sp, 0x58
/* 0159D8 8003A5D8 0C00E11E */ jal mtx_ident_mirror_y
/* 0159DC 8003A5DC 0200202D */ daddu $a0, $s0, $zero
/* 0159E0 8003A5E0 0200202D */ daddu $a0, $s0, $zero
/* 0159E4 8003A5E4 27A50018 */ addiu $a1, $sp, 0x18
/* 0159E8 8003A5E8 0C019D80 */ jal guMtxCatF
/* 0159EC 8003A5EC 00A0302D */ daddu $a2, $a1, $zero
/* 0159F0 8003A5F0 C6200048 */ lwc1 $f0, 0x48($s1)
/* 0159F4 8003A5F4 44801000 */ mtc1 $zero, $f2
/* 0159F8 8003A5F8 00000000 */ nop
/* 0159FC 8003A5FC 46020032 */ c.eq.s $f0, $f2
/* 015A00 8003A600 00000000 */ nop
/* 015A04 8003A604 4500000B */ bc1f .L8003A634
/* 015A08 8003A608 27B00058 */ addiu $s0, $sp, 0x58
/* 015A0C 8003A60C C6200044 */ lwc1 $f0, 0x44($s1)
/* 015A10 8003A610 46020032 */ c.eq.s $f0, $f2
/* 015A14 8003A614 00000000 */ nop
/* 015A18 8003A618 45000006 */ bc1f .L8003A634
/* 015A1C 8003A61C 00000000 */ nop
/* 015A20 8003A620 C620004C */ lwc1 $f0, 0x4c($s1)
/* 015A24 8003A624 46020032 */ c.eq.s $f0, $f2
/* 015A28 8003A628 00000000 */ nop
/* 015A2C 8003A62C 4501000A */ bc1t .L8003A658
/* 015A30 8003A630 00000000 */ nop
.L8003A634:
/* 015A34 8003A634 8E250044 */ lw $a1, 0x44($s1)
/* 015A38 8003A638 8E260048 */ lw $a2, 0x48($s1)
/* 015A3C 8003A63C 8E27004C */ lw $a3, 0x4c($s1)
/* 015A40 8003A640 0C0190B4 */ jal guRotateAnglesF
/* 015A44 8003A644 0200202D */ daddu $a0, $s0, $zero
/* 015A48 8003A648 0200202D */ daddu $a0, $s0, $zero
/* 015A4C 8003A64C 27A50018 */ addiu $a1, $sp, 0x18
/* 015A50 8003A650 0C019D80 */ jal guMtxCatF
/* 015A54 8003A654 00A0302D */ daddu $a2, $a1, $zero
.L8003A658:
/* 015A58 8003A658 C6200054 */ lwc1 $f0, 0x54($s1)
/* 015A5C 8003A65C 3C01800A */ lui $at, 0x800a
/* 015A60 8003A660 D42684A0 */ ldc1 $f6, -0x7b60($at)
/* 015A64 8003A664 46000021 */ cvt.d.s $f0, $f0
/* 015A68 8003A668 46260002 */ mul.d $f0, $f0, $f6
/* 015A6C 8003A66C 00000000 */ nop
/* 015A70 8003A670 3C013FF0 */ lui $at, 0x3ff0
/* 015A74 8003A674 44812800 */ mtc1 $at, $f5
/* 015A78 8003A678 44802000 */ mtc1 $zero, $f4
/* 015A7C 8003A67C 00000000 */ nop
/* 015A80 8003A680 46240032 */ c.eq.d $f0, $f4
/* 015A84 8003A684 00000000 */ nop
/* 015A88 8003A688 45000014 */ bc1f .L8003A6DC
/* 015A8C 8003A68C 00000000 */ nop
/* 015A90 8003A690 C6200058 */ lwc1 $f0, 0x58($s1)
/* 015A94 8003A694 C6220320 */ lwc1 $f2, 0x320($s1)
/* 015A98 8003A698 46020002 */ mul.s $f0, $f0, $f2
/* 015A9C 8003A69C 00000000 */ nop
/* 015AA0 8003A6A0 46000021 */ cvt.d.s $f0, $f0
/* 015AA4 8003A6A4 46260002 */ mul.d $f0, $f0, $f6
/* 015AA8 8003A6A8 00000000 */ nop
/* 015AAC 8003A6AC 46240032 */ c.eq.d $f0, $f4
/* 015AB0 8003A6B0 00000000 */ nop
/* 015AB4 8003A6B4 45000009 */ bc1f .L8003A6DC
/* 015AB8 8003A6B8 00000000 */ nop
/* 015ABC 8003A6BC C620005C */ lwc1 $f0, 0x5c($s1)
/* 015AC0 8003A6C0 46000021 */ cvt.d.s $f0, $f0
/* 015AC4 8003A6C4 46260002 */ mul.d $f0, $f0, $f6
/* 015AC8 8003A6C8 00000000 */ nop
/* 015ACC 8003A6CC 46240032 */ c.eq.d $f0, $f4
/* 015AD0 8003A6D0 00000000 */ nop
/* 015AD4 8003A6D4 4501001F */ bc1t .L8003A754
/* 015AD8 8003A6D8 00000000 */ nop
.L8003A6DC:
/* 015ADC 8003A6DC C6260054 */ lwc1 $f6, 0x54($s1)
/* 015AE0 8003A6E0 3C01800A */ lui $at, 0x800a
/* 015AE4 8003A6E4 D42884A8 */ ldc1 $f8, -0x7b58($at)
/* 015AE8 8003A6E8 460031A1 */ cvt.d.s $f6, $f6
/* 015AEC 8003A6EC 46283182 */ mul.d $f6, $f6, $f8
/* 015AF0 8003A6F0 00000000 */ nop
/* 015AF4 8003A6F4 C624005C */ lwc1 $f4, 0x5c($s1)
/* 015AF8 8003A6F8 46002121 */ cvt.d.s $f4, $f4
/* 015AFC 8003A6FC 46282102 */ mul.d $f4, $f4, $f8
/* 015B00 8003A700 00000000 */ nop
/* 015B04 8003A704 C6200058 */ lwc1 $f0, 0x58($s1)
/* 015B08 8003A708 C6220320 */ lwc1 $f2, 0x320($s1)
/* 015B0C 8003A70C 46020002 */ mul.s $f0, $f0, $f2
/* 015B10 8003A710 00000000 */ nop
/* 015B14 8003A714 46000021 */ cvt.d.s $f0, $f0
/* 015B18 8003A718 46280002 */ mul.d $f0, $f0, $f8
/* 015B1C 8003A71C 00000000 */ nop
/* 015B20 8003A720 27B00058 */ addiu $s0, $sp, 0x58
/* 015B24 8003A724 462031A0 */ cvt.s.d $f6, $f6
/* 015B28 8003A728 46202120 */ cvt.s.d $f4, $f4
/* 015B2C 8003A72C 44053000 */ mfc1 $a1, $f6
/* 015B30 8003A730 44072000 */ mfc1 $a3, $f4
/* 015B34 8003A734 46200020 */ cvt.s.d $f0, $f0
/* 015B38 8003A738 44060000 */ mfc1 $a2, $f0
/* 015B3C 8003A73C 0C019DF0 */ jal guScaleF
/* 015B40 8003A740 0200202D */ daddu $a0, $s0, $zero
/* 015B44 8003A744 0200202D */ daddu $a0, $s0, $zero
/* 015B48 8003A748 27A50018 */ addiu $a1, $sp, 0x18
/* 015B4C 8003A74C 0C019D80 */ jal guMtxCatF
/* 015B50 8003A750 00A0302D */ daddu $a2, $a1, $zero
.L8003A754:
/* 015B54 8003A754 8E230000 */ lw $v1, ($s1)
/* 015B58 8003A758 3C024000 */ lui $v0, 0x4000
/* 015B5C 8003A75C 00621024 */ and $v0, $v1, $v0
/* 015B60 8003A760 14400011 */ bnez $v0, .L8003A7A8
/* 015B64 8003A764 27A20018 */ addiu $v0, $sp, 0x18
/* 015B68 8003A768 3C020100 */ lui $v0, 0x100
/* 015B6C 8003A76C 00621024 */ and $v0, $v1, $v0
/* 015B70 8003A770 14400015 */ bnez $v0, .L8003A7C8
/* 015B74 8003A774 00000000 */ nop
/* 015B78 8003A778 8E220028 */ lw $v0, 0x28($s1)
/* 015B7C 8003A77C 10400012 */ beqz $v0, .L8003A7C8
/* 015B80 8003A780 0000302D */ daddu $a2, $zero, $zero
/* 015B84 8003A784 4600B28D */ trunc.w.s $f10, $f22
/* 015B88 8003A788 44055000 */ mfc1 $a1, $f10
/* 015B8C 8003A78C 27A20018 */ addiu $v0, $sp, 0x18
/* 015B90 8003A790 AFA20010 */ sw $v0, 0x10($sp)
/* 015B94 8003A794 8E240024 */ lw $a0, 0x24($s1)
/* 015B98 8003A798 0C0B78F6 */ jal func_802DE3D8
/* 015B9C 8003A79C 00C0382D */ daddu $a3, $a2, $zero
/* 015BA0 8003A7A0 0800E9F2 */ j .L8003A7C8
/* 015BA4 8003A7A4 00000000 */ nop
.L8003A7A8:
/* 015BA8 8003A7A8 AFA20010 */ sw $v0, 0x10($sp)
/* 015BAC 8003A7AC 3C044000 */ lui $a0, 0x4000
/* 015BB0 8003A7B0 34840001 */ ori $a0, $a0, 1
/* 015BB4 8003A7B4 4600B28D */ trunc.w.s $f10, $f22
/* 015BB8 8003A7B8 44055000 */ mfc1 $a1, $f10
/* 015BBC 8003A7BC 0000302D */ daddu $a2, $zero, $zero
/* 015BC0 8003A7C0 0C0B7710 */ jal render_sprite
/* 015BC4 8003A7C4 00C0382D */ daddu $a3, $a2, $zero
.L8003A7C8:
/* 015BC8 8003A7C8 8E220008 */ lw $v0, 8($s1)
/* 015BCC 8003A7CC 0040F809 */ jalr $v0
/* 015BD0 8003A7D0 0220202D */ daddu $a0, $s1, $zero
/* 015BD4 8003A7D4 8FBF00A0 */ lw $ra, 0xa0($sp)
/* 015BD8 8003A7D8 8FB1009C */ lw $s1, 0x9c($sp)
/* 015BDC 8003A7DC 8FB00098 */ lw $s0, 0x98($sp)
/* 015BE0 8003A7E0 D7B600B0 */ ldc1 $f22, 0xb0($sp)
/* 015BE4 8003A7E4 D7B400A8 */ ldc1 $f20, 0xa8($sp)
/* 015BE8 8003A7E8 03E00008 */ jr $ra
/* 015BEC 8003A7EC 27BD00B8 */ addiu $sp, $sp, 0xb8