mk64/asm/code_80280650.s

1110 lines
54 KiB
ArmAsm

# Mario Kart 64 (U) disassembly and split file
# generated by n64split v0.4a - N64 ROM splitter
# assembler directives
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.set gp=64
.include "macros.inc"
.section .text, "ax"
glabel func_80280650
/* 123C90 80280650 03E00008 */ jr $ra
/* 123C94 80280654 00000000 */ nop
glabel func_80280658
/* 123C98 80280658 8C820028 */ lw $v0, 0x28($a0)
/* 123C9C 8028065C 844E0002 */ lh $t6, 2($v0)
/* 123CA0 80280660 448E2000 */ mtc1 $t6, $f4
/* 123CA4 80280664 00000000 */ nop
/* 123CA8 80280668 468021A0 */ cvt.s.w $f6, $f4
/* 123CAC 8028066C E4860010 */ swc1 $f6, 0x10($a0)
/* 123CB0 80280670 844F0004 */ lh $t7, 4($v0)
/* 123CB4 80280674 448F4000 */ mtc1 $t7, $f8
/* 123CB8 80280678 00000000 */ nop
/* 123CBC 8028067C 468042A0 */ cvt.s.w $f10, $f8
/* 123CC0 80280680 E48A0014 */ swc1 $f10, 0x14($a0)
/* 123CC4 80280684 84580006 */ lh $t8, 6($v0)
/* 123CC8 80280688 44988000 */ mtc1 $t8, $f16
/* 123CCC 8028068C 00000000 */ nop
/* 123CD0 80280690 468084A0 */ cvt.s.w $f18, $f16
/* 123CD4 80280694 E4920018 */ swc1 $f18, 0x18($a0)
/* 123CD8 80280698 80590008 */ lb $t9, 8($v0)
/* 123CDC 8028069C 00194200 */ sll $t0, $t9, 8
/* 123CE0 802806A0 A488000A */ sh $t0, 0xa($a0)
/* 123CE4 802806A4 80490009 */ lb $t1, 9($v0)
/* 123CE8 802806A8 00095200 */ sll $t2, $t1, 8
/* 123CEC 802806AC A48A000C */ sh $t2, 0xc($a0)
/* 123CF0 802806B0 804B000A */ lb $t3, 0xa($v0)
/* 123CF4 802806B4 000B6200 */ sll $t4, $t3, 8
/* 123CF8 802806B8 A48C000E */ sh $t4, 0xe($a0)
/* 123CFC 802806BC 844D0000 */ lh $t5, ($v0)
/* 123D00 802806C0 03E00008 */ jr $ra
/* 123D04 802806C4 A48D0004 */ sh $t5, 4($a0)
glabel func_802806C8
/* 123D08 802806C8 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 123D0C 802806CC 3C048028 */ lui $a0, %hi(D_802874F8) # $a0, 0x8028
/* 123D10 802806D0 AFBF0014 */ sw $ra, 0x14($sp)
/* 123D14 802806D4 8C8474F8 */ lw $a0, %lo(D_802874F8)($a0)
/* 123D18 802806D8 00001025 */ move $v0, $zero
/* 123D1C 802806DC 240300C8 */ li $v1, 200
.L802806E0:
/* 123D20 802806E0 8C8E0000 */ lw $t6, ($a0)
/* 123D24 802806E4 24420001 */ addiu $v0, $v0, 1
/* 123D28 802806E8 31CF0001 */ andi $t7, $t6, 1
/* 123D2C 802806EC 15E0000A */ bnez $t7, .L80280718
/* 123D30 802806F0 2405004C */ li $a1, 76
/* 123D34 802806F4 0C033698 */ jal bzero
/* 123D38 802806F8 AFA4001C */ sw $a0, 0x1c($sp)
/* 123D3C 802806FC 8FA2001C */ lw $v0, 0x1c($sp)
/* 123D40 80280700 3C013F80 */ li $at, 0x3F800000 # 1.000000
/* 123D44 80280704 44812000 */ mtc1 $at, $f4
/* 123D48 80280708 24180001 */ li $t8, 1
/* 123D4C 8028070C AC580000 */ sw $t8, ($v0)
/* 123D50 80280710 10000004 */ b .L80280724
/* 123D54 80280714 E4440024 */ swc1 $f4, 0x24($v0)
.L80280718:
/* 123D58 80280718 1443FFF1 */ bne $v0, $v1, .L802806E0
/* 123D5C 8028071C 2484004C */ addiu $a0, $a0, 0x4c
/* 123D60 80280720 00001025 */ move $v0, $zero
.L80280724:
/* 123D64 80280724 8FBF0014 */ lw $ra, 0x14($sp)
/* 123D68 80280728 27BD0028 */ addiu $sp, $sp, 0x28
/* 123D6C 8028072C 03E00008 */ jr $ra
/* 123D70 80280730 00000000 */ nop
glabel func_80280734
/* 123D74 80280734 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 123D78 80280738 AFBF0014 */ sw $ra, 0x14($sp)
/* 123D7C 8028073C 0C0A01B2 */ jal func_802806C8
/* 123D80 80280740 AFA40020 */ sw $a0, 0x20($sp)
/* 123D84 80280744 8FAE0020 */ lw $t6, 0x20($sp)
/* 123D88 80280748 AFA2001C */ sw $v0, 0x1c($sp)
/* 123D8C 8028074C 00402025 */ move $a0, $v0
/* 123D90 80280750 0C0A0196 */ jal func_80280658
/* 123D94 80280754 AC4E0028 */ sw $t6, 0x28($v0)
/* 123D98 80280758 8FBF0014 */ lw $ra, 0x14($sp)
/* 123D9C 8028075C 8FA2001C */ lw $v0, 0x1c($sp)
/* 123DA0 80280760 27BD0020 */ addiu $sp, $sp, 0x20
/* 123DA4 80280764 03E00008 */ jr $ra
/* 123DA8 80280768 00000000 */ nop
glabel func_8028076C
/* 123DAC 8028076C 3C068028 */ lui $a2, %hi(D_80284E60) # $a2, 0x8028
/* 123DB0 80280770 24C64E60 */ addiu $a2, %lo(D_80284E60) # addiu $a2, $a2, 0x4e60
/* 123DB4 80280774 94C20000 */ lhu $v0, ($a2)
/* 123DB8 80280778 2401560A */ li $at, 22026
/* 123DBC 8028077C 54410004 */ bnel $v0, $at, .L80280790
/* 123DC0 80280780 00027A00 */ sll $t7, $v0, 8
/* 123DC4 80280784 A4C00000 */ sh $zero, ($a2)
/* 123DC8 80280788 3002FFFF */ andi $v0, $zero, 0xffff
/* 123DCC 8028078C 00027A00 */ sll $t7, $v0, 8
.L80280790:
/* 123DD0 80280790 01E2C026 */ xor $t8, $t7, $v0
/* 123DD4 80280794 330500FF */ andi $a1, $t8, 0xff
/* 123DD8 80280798 3308FF00 */ andi $t0, $t8, 0xff00
/* 123DDC 8028079C 00084A03 */ sra $t1, $t0, 8
/* 123DE0 802807A0 0005CA00 */ sll $t9, $a1, 8
/* 123DE4 802807A4 03296021 */ addu $t4, $t9, $t1
/* 123DE8 802807A8 00055840 */ sll $t3, $a1, 1
/* 123DEC 802807AC 016C1826 */ xor $v1, $t3, $t4
/* 123DF0 802807B0 306DFFFF */ andi $t5, $v1, 0xffff
/* 123DF4 802807B4 31AE0001 */ andi $t6, $t5, 1
/* 123DF8 802807B8 A4CC0000 */ sh $t4, ($a2)
/* 123DFC 802807BC 15C0000C */ bnez $t6, .L802807F0
/* 123E00 802807C0 01A02025 */ move $a0, $t5
/* 123E04 802807C4 000D1043 */ sra $v0, $t5, 1
/* 123E08 802807C8 384FFF80 */ xori $t7, $v0, 0xff80
/* 123E0C 802807CC 31E2FFFF */ andi $v0, $t7, 0xffff
/* 123E10 802807D0 3401AA55 */ li $at, 43605
/* 123E14 802807D4 14410003 */ bne $v0, $at, .L802807E4
/* 123E18 802807D8 38481FF4 */ xori $t0, $v0, 0x1ff4
/* 123E1C 802807DC 10000009 */ b .L80280804
/* 123E20 802807E0 A4C00000 */ sh $zero, ($a2)
.L802807E4:
/* 123E24 802807E4 3C018028 */ lui $at, %hi(D_80284E60) # $at, 0x8028
/* 123E28 802807E8 10000006 */ b .L80280804
/* 123E2C 802807EC A4284E60 */ sh $t0, %lo(D_80284E60)($at)
.L802807F0:
/* 123E30 802807F0 0004C843 */ sra $t9, $a0, 1
/* 123E34 802807F4 3B2AFF80 */ xori $t2, $t9, 0xff80
/* 123E38 802807F8 394B8180 */ xori $t3, $t2, 0x8180
/* 123E3C 802807FC 3C018028 */ lui $at, %hi(D_80284E60) # $at, 0x8028
/* 123E40 80280800 A42B4E60 */ sh $t3, %lo(D_80284E60)($at)
.L80280804:
/* 123E44 80280804 03E00008 */ jr $ra
/* 123E48 80280808 94C20000 */ lhu $v0, ($a2)
glabel func_8028080C
/* 123E4C 8028080C 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 123E50 80280810 AFBF0014 */ sw $ra, 0x14($sp)
/* 123E54 80280814 0C0A01DB */ jal func_8028076C
/* 123E58 80280818 00000000 */ nop
/* 123E5C 8028081C 44822000 */ mtc1 $v0, $f4
/* 123E60 80280820 8FBF0014 */ lw $ra, 0x14($sp)
/* 123E64 80280824 04410005 */ bgez $v0, .L8028083C
/* 123E68 80280828 468021A0 */ cvt.s.w $f6, $f4
/* 123E6C 8028082C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000
/* 123E70 80280830 44814000 */ mtc1 $at, $f8
/* 123E74 80280834 00000000 */ nop
/* 123E78 80280838 46083180 */ add.s $f6, $f6, $f8
.L8028083C:
/* 123E7C 8028083C 3C014780 */ li $at, 0x47800000 # 65536.000000
/* 123E80 80280840 44815000 */ mtc1 $at, $f10
/* 123E84 80280844 27BD0018 */ addiu $sp, $sp, 0x18
/* 123E88 80280848 03E00008 */ jr $ra
/* 123E8C 8028084C 460A3003 */ div.s $f0, $f6, $f10
glabel func_80280850
/* 123E90 80280850 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 123E94 80280854 AFBF0014 */ sw $ra, 0x14($sp)
/* 123E98 80280858 0C0A0203 */ jal func_8028080C
/* 123E9C 8028085C E7AC0018 */ swc1 $f12, 0x18($sp)
/* 123EA0 80280860 C7A20018 */ lwc1 $f2, 0x18($sp)
/* 123EA4 80280864 3C013F00 */ li $at, 0x3F000000 # 0.500000
/* 123EA8 80280868 44813000 */ mtc1 $at, $f6
/* 123EAC 8028086C 46020102 */ mul.s $f4, $f0, $f2
/* 123EB0 80280870 8FBF0014 */ lw $ra, 0x14($sp)
/* 123EB4 80280874 27BD0018 */ addiu $sp, $sp, 0x18
/* 123EB8 80280878 46061202 */ mul.s $f8, $f2, $f6
/* 123EBC 8028087C 03E00008 */ jr $ra
/* 123EC0 80280880 46082001 */ sub.s $f0, $f4, $f8
glabel func_80280884
/* 123EC4 80280884 03E00008 */ jr $ra
/* 123EC8 80280888 00000000 */ nop
glabel func_8028088C
/* 123ECC 8028088C 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 123ED0 80280890 AFB00018 */ sw $s0, 0x18($sp)
/* 123ED4 80280894 00808025 */ move $s0, $a0
/* 123ED8 80280898 AFBF001C */ sw $ra, 0x1c($sp)
/* 123EDC 8028089C 8607002C */ lh $a3, 0x2c($s0)
/* 123EE0 802808A0 8606002E */ lh $a2, 0x2e($s0)
/* 123EE4 802808A4 24840010 */ addiu $a0, $a0, 0x10
/* 123EE8 802808A8 0C01AECD */ jal func_8006BB34
/* 123EEC 802808AC 3C053F80 */ lui $a1, 0x3f80
/* 123EF0 802808B0 3C018028 */ lui $at, %hi(D_80286B70) # $at, 0x8028
/* 123EF4 802808B4 C4266B70 */ lwc1 $f6, %lo(D_80286B70)($at)
/* 123EF8 802808B8 C6040014 */ lwc1 $f4, 0x14($s0)
/* 123EFC 802808BC 96040030 */ lhu $a0, 0x30($s0)
/* 123F00 802808C0 46062200 */ add.s $f8, $f4, $f6
/* 123F04 802808C4 0C0AE006 */ jal func_802B8018
/* 123F08 802808C8 E6080014 */ swc1 $f8, 0x14($s0)
/* 123F0C 802808CC 860E0034 */ lh $t6, 0x34($s0)
/* 123F10 802808D0 8E0A003C */ lw $t2, 0x3c($s0)
/* 123F14 802808D4 86190030 */ lh $t9, 0x30($s0)
/* 123F18 802808D8 448E5000 */ mtc1 $t6, $f10
/* 123F1C 802808DC 86080032 */ lh $t0, 0x32($s0)
/* 123F20 802808E0 254B0001 */ addiu $t3, $t2, 1
/* 123F24 802808E4 46805420 */ cvt.s.w $f16, $f10
/* 123F28 802808E8 29610321 */ slti $at, $t3, 0x321
/* 123F2C 802808EC 03284821 */ addu $t1, $t9, $t0
/* 123F30 802808F0 A6090030 */ sh $t1, 0x30($s0)
/* 123F34 802808F4 AE0B003C */ sw $t3, 0x3c($s0)
/* 123F38 802808F8 3C0D8028 */ lui $t5, %hi(D_802874CA) # $t5, 0x8028
/* 123F3C 802808FC 46100482 */ mul.s $f18, $f0, $f16
/* 123F40 80280900 4600910D */ trunc.w.s $f4, $f18
/* 123F44 80280904 44182000 */ mfc1 $t8, $f4
/* 123F48 80280908 14200002 */ bnez $at, .L80280914
/* 123F4C 8028090C A618002E */ sh $t8, 0x2e($s0)
/* 123F50 80280910 AE000000 */ sw $zero, ($s0)
.L80280914:
/* 123F54 80280914 85AD74CA */ lh $t5, %lo(D_802874CA)($t5)
/* 123F58 80280918 24010001 */ li $at, 1
/* 123F5C 8028091C 55A10003 */ bnel $t5, $at, .L8028092C
/* 123F60 80280920 8FBF001C */ lw $ra, 0x1c($sp)
/* 123F64 80280924 AE000000 */ sw $zero, ($s0)
/* 123F68 80280928 8FBF001C */ lw $ra, 0x1c($sp)
.L8028092C:
/* 123F6C 8028092C 8FB00018 */ lw $s0, 0x18($sp)
/* 123F70 80280930 27BD0020 */ addiu $sp, $sp, 0x20
/* 123F74 80280934 03E00008 */ jr $ra
/* 123F78 80280938 00000000 */ nop
glabel func_8028093C
/* 123F7C 8028093C 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 123F80 80280940 AFBF001C */ sw $ra, 0x1c($sp)
/* 123F84 80280944 AFB00018 */ sw $s0, 0x18($sp)
/* 123F88 80280948 8C8E0044 */ lw $t6, 0x44($a0)
/* 123F8C 8028094C 00808025 */ move $s0, $a0
/* 123F90 80280950 29C1001E */ slti $at, $t6, 0x1e
/* 123F94 80280954 10200012 */ beqz $at, .L802809A0
/* 123F98 80280958 3C014020 */ li $at, 0x40200000 # 2.500000
/* 123F9C 8028095C 44813000 */ mtc1 $at, $f6
/* 123FA0 80280960 C4840014 */ lwc1 $f4, 0x14($a0)
/* 123FA4 80280964 3C018028 */ lui $at, %hi(D_80286B74) # $at, 0x8028
/* 123FA8 80280968 46062200 */ add.s $f8, $f4, $f6
/* 123FAC 8028096C E4880014 */ swc1 $f8, 0x14($a0)
/* 123FB0 80280970 0C0A0214 */ jal func_80280850
/* 123FB4 80280974 C42C6B74 */ lwc1 $f12, %lo(D_80286B74)($at)
/* 123FB8 80280978 C60A0010 */ lwc1 $f10, 0x10($s0)
/* 123FBC 8028097C 3C018028 */ lui $at, %hi(D_80286B78) # $at, 0x8028
/* 123FC0 80280980 46005400 */ add.s $f16, $f10, $f0
/* 123FC4 80280984 E6100010 */ swc1 $f16, 0x10($s0)
/* 123FC8 80280988 0C0A0214 */ jal func_80280850
/* 123FCC 8028098C C42C6B78 */ lwc1 $f12, %lo(D_80286B78)($at)
/* 123FD0 80280990 C6120018 */ lwc1 $f18, 0x18($s0)
/* 123FD4 80280994 46009100 */ add.s $f4, $f18, $f0
/* 123FD8 80280998 1000001E */ b .L80280A14
/* 123FDC 8028099C E6040018 */ swc1 $f4, 0x18($s0)
.L802809A0:
/* 123FE0 802809A0 8E0F002C */ lw $t7, 0x2c($s0)
/* 123FE4 802809A4 24010004 */ li $at, 4
/* 123FE8 802809A8 3C048028 */ lui $a0, %hi(D_80284E7C) # $a0, 0x8028
/* 123FEC 802809AC 55E1001A */ bnel $t7, $at, .L80280A18
/* 123FF0 802809B0 8FBF001C */ lw $ra, 0x1c($sp)
/* 123FF4 802809B4 0C0A01CD */ jal func_80280734
/* 123FF8 802809B8 24844E7C */ addiu $a0, %lo(D_80284E7C) # addiu $a0, $a0, 0x4e7c
/* 123FFC 802809BC C6060010 */ lwc1 $f6, 0x10($s0)
/* 124000 802809C0 3C018028 */ lui $at, %hi(D_80286B7C) # $at, 0x8028
/* 124004 802809C4 C4206B7C */ lwc1 $f0, %lo(D_80286B7C)($at)
/* 124008 802809C8 E4460010 */ swc1 $f6, 0x10($v0)
/* 12400C 802809CC C6080014 */ lwc1 $f8, 0x14($s0)
/* 124010 802809D0 3C088028 */ lui $t0, 0x8028
/* 124014 802809D4 240900FF */ li $t1, 255
/* 124018 802809D8 E4480014 */ swc1 $f8, 0x14($v0)
/* 12401C 802809DC C60A0018 */ lwc1 $f10, 0x18($s0)
/* 124020 802809E0 240AFFEF */ li $t2, -17
/* 124024 802809E4 240B0064 */ li $t3, 100
/* 124028 802809E8 E44A0018 */ swc1 $f10, 0x18($v0)
/* 12402C 802809EC 8E180048 */ lw $t8, 0x48($s0)
/* 124030 802809F0 0018C880 */ sll $t9, $t8, 2
/* 124034 802809F4 01194021 */ addu $t0, $t0, $t9
/* 124038 802809F8 8D084E40 */ lw $t0, 0x4e40($t0)
/* 12403C 802809FC AC49003C */ sw $t1, 0x3c($v0)
/* 124040 80280A00 AC4A0040 */ sw $t2, 0x40($v0)
/* 124044 80280A04 AC4B0044 */ sw $t3, 0x44($v0)
/* 124048 80280A08 E4400034 */ swc1 $f0, 0x34($v0)
/* 12404C 80280A0C E4400038 */ swc1 $f0, 0x38($v0)
/* 124050 80280A10 AC480030 */ sw $t0, 0x30($v0)
.L80280A14:
/* 124054 80280A14 8FBF001C */ lw $ra, 0x1c($sp)
.L80280A18:
/* 124058 80280A18 8FB00018 */ lw $s0, 0x18($sp)
/* 12405C 80280A1C 27BD0020 */ addiu $sp, $sp, 0x20
/* 124060 80280A20 03E00008 */ jr $ra
/* 124064 80280A24 00000000 */ nop
glabel func_80280A28
/* 124068 80280A28 27BDFFA0 */ addiu $sp, $sp, -0x60
/* 12406C 80280A2C 44866000 */ mtc1 $a2, $f12
/* 124070 80280A30 AFA50064 */ sw $a1, 0x64($sp)
/* 124074 80280A34 00802825 */ move $a1, $a0
/* 124078 80280A38 AFBF0014 */ sw $ra, 0x14($sp)
/* 12407C 80280A3C AFA40060 */ sw $a0, 0x60($sp)
/* 124080 80280A40 8FA60064 */ lw $a2, 0x64($sp)
/* 124084 80280A44 27A40020 */ addiu $a0, $sp, 0x20
/* 124088 80280A48 0C008784 */ jal func_80021E10
/* 12408C 80280A4C E7AC0068 */ swc1 $f12, 0x68($sp)
/* 124090 80280A50 3C028028 */ lui $v0, %hi(D_80287500) # $v0, 0x8028
/* 124094 80280A54 24427500 */ addiu $v0, %lo(D_80287500) # addiu $v0, $v0, 0x7500
/* 124098 80280A58 C7AC0068 */ lwc1 $f12, 0x68($sp)
/* 12409C 80280A5C C4440000 */ lwc1 $f4, ($v0)
/* 1240A0 80280A60 C4480010 */ lwc1 $f8, 0x10($v0)
/* 1240A4 80280A64 C4500020 */ lwc1 $f16, 0x20($v0)
/* 1240A8 80280A68 460C2182 */ mul.s $f6, $f4, $f12
/* 1240AC 80280A6C C4440004 */ lwc1 $f4, 4($v0)
/* 1240B0 80280A70 3C0F8016 */ lui $t7, %hi(D_80164AF0) # $t7, 0x8016
/* 1240B4 80280A74 460C4282 */ mul.s $f10, $f8, $f12
/* 1240B8 80280A78 C4480014 */ lwc1 $f8, 0x14($v0)
/* 1240BC 80280A7C 85EF4AF0 */ lh $t7, %lo(D_80164AF0)($t7)
/* 1240C0 80280A80 460C8482 */ mul.s $f18, $f16, $f12
/* 1240C4 80280A84 E7A60020 */ swc1 $f6, 0x20($sp)
/* 1240C8 80280A88 C4500024 */ lwc1 $f16, 0x24($v0)
/* 1240CC 80280A8C 460C2182 */ mul.s $f6, $f4, $f12
/* 1240D0 80280A90 E7AA0024 */ swc1 $f10, 0x24($sp)
/* 1240D4 80280A94 C4440008 */ lwc1 $f4, 8($v0)
/* 1240D8 80280A98 460C4282 */ mul.s $f10, $f8, $f12
/* 1240DC 80280A9C E7B20028 */ swc1 $f18, 0x28($sp)
/* 1240E0 80280AA0 C4480018 */ lwc1 $f8, 0x18($v0)
/* 1240E4 80280AA4 460C8482 */ mul.s $f18, $f16, $f12
/* 1240E8 80280AA8 E7A60030 */ swc1 $f6, 0x30($sp)
/* 1240EC 80280AAC C4500028 */ lwc1 $f16, 0x28($v0)
/* 1240F0 80280AB0 460C2182 */ mul.s $f6, $f4, $f12
/* 1240F4 80280AB4 E7AA0034 */ swc1 $f10, 0x34($sp)
/* 1240F8 80280AB8 3C0E8015 */ lui $t6, %hi(gGfxPool) # $t6, 0x8015
/* 1240FC 80280ABC 460C4282 */ mul.s $f10, $f8, $f12
/* 124100 80280AC0 E7B20038 */ swc1 $f18, 0x38($sp)
/* 124104 80280AC4 8DCEEF40 */ lw $t6, %lo(gGfxPool)($t6)
/* 124108 80280AC8 460C8482 */ mul.s $f18, $f16, $f12
/* 12410C 80280ACC 000FC180 */ sll $t8, $t7, 6
/* 124110 80280AD0 3401FAC0 */ li $at, 64192
/* 124114 80280AD4 01D82021 */ addu $a0, $t6, $t8
/* 124118 80280AD8 E7A60040 */ swc1 $f6, 0x40($sp)
/* 12411C 80280ADC E7AA0044 */ swc1 $f10, 0x44($sp)
/* 124120 80280AE0 00812021 */ addu $a0, $a0, $at
/* 124124 80280AE4 E7B20048 */ swc1 $f18, 0x48($sp)
/* 124128 80280AE8 0C008860 */ jal func_80022180
/* 12412C 80280AEC 27A50020 */ addiu $a1, $sp, 0x20
/* 124130 80280AF0 3C048015 */ lui $a0, %hi(gDisplayListHead) # $a0, 0x8015
/* 124134 80280AF4 24840298 */ addiu $a0, %lo(gDisplayListHead) # addiu $a0, $a0, 0x298
/* 124138 80280AF8 8C830000 */ lw $v1, ($a0)
/* 12413C 80280AFC 3C080102 */ lui $t0, (0x01020040 >> 16) # lui $t0, 0x102
/* 124140 80280B00 35080040 */ ori $t0, (0x01020040 & 0xFFFF) # ori $t0, $t0, 0x40
/* 124144 80280B04 24790008 */ addiu $t9, $v1, 8
/* 124148 80280B08 AC990000 */ sw $t9, ($a0)
/* 12414C 80280B0C 3C0A8016 */ lui $t2, %hi(D_80164AF0) # $t2, 0x8016
/* 124150 80280B10 AC680000 */ sw $t0, ($v1)
/* 124154 80280B14 854A4AF0 */ lh $t2, %lo(D_80164AF0)($t2)
/* 124158 80280B18 3C098015 */ lui $t1, %hi(gGfxPool) # $t1, 0x8015
/* 12415C 80280B1C 8D29EF40 */ lw $t1, %lo(gGfxPool)($t1)
/* 124160 80280B20 000A5980 */ sll $t3, $t2, 6
/* 124164 80280B24 3401FAC0 */ li $at, 64192
/* 124168 80280B28 012B6021 */ addu $t4, $t1, $t3
/* 12416C 80280B2C 01816821 */ addu $t5, $t4, $at
/* 124170 80280B30 3C011FFF */ lui $at, (0x1FFFFFFF >> 16) # lui $at, 0x1fff
/* 124174 80280B34 3421FFFF */ ori $at, (0x1FFFFFFF & 0xFFFF) # ori $at, $at, 0xffff
/* 124178 80280B38 01A17824 */ and $t7, $t5, $at
/* 12417C 80280B3C AC6F0004 */ sw $t7, 4($v1)
/* 124180 80280B40 8FBF0014 */ lw $ra, 0x14($sp)
/* 124184 80280B44 27BD0060 */ addiu $sp, $sp, 0x60
/* 124188 80280B48 03E00008 */ jr $ra
/* 12418C 80280B4C 00000000 */ nop
glabel func_80280B50
/* 124190 80280B50 27BDFFA8 */ addiu $sp, $sp, -0x58
/* 124194 80280B54 AFBF0014 */ sw $ra, 0x14($sp)
/* 124198 80280B58 AFA40058 */ sw $a0, 0x58($sp)
/* 12419C 80280B5C AFA60060 */ sw $a2, 0x60($sp)
/* 1241A0 80280B60 AFA70064 */ sw $a3, 0x64($sp)
/* 1241A4 80280B64 C4840000 */ lwc1 $f4, ($a0)
/* 1241A8 80280B68 3C0F800E */ lui $t7, %hi(D_800DDB40) # $t7, 0x800e
/* 1241AC 80280B6C 8DEFDB40 */ lw $t7, %lo(D_800DDB40)($t7)
/* 1241B0 80280B70 E7A4004C */ swc1 $f4, 0x4c($sp)
/* 1241B4 80280B74 C4860004 */ lwc1 $f6, 4($a0)
/* 1241B8 80280B78 44856000 */ mtc1 $a1, $f12
/* 1241BC 80280B7C 27A50044 */ addiu $a1, $sp, 0x44
/* 1241C0 80280B80 E7A60050 */ swc1 $f6, 0x50($sp)
/* 1241C4 80280B84 C4880008 */ lwc1 $f8, 8($a0)
/* 1241C8 80280B88 A7A00044 */ sh $zero, 0x44($sp)
/* 1241CC 80280B8C 44066000 */ mfc1 $a2, $f12
/* 1241D0 80280B90 E7A80054 */ swc1 $f8, 0x54($sp)
/* 1241D4 80280B94 85F80026 */ lh $t8, 0x26($t7)
/* 1241D8 80280B98 A7A00048 */ sh $zero, 0x48($sp)
/* 1241DC 80280B9C 27A4004C */ addiu $a0, $sp, 0x4c
/* 1241E0 80280BA0 0C0A028A */ jal func_80280A28
/* 1241E4 80280BA4 A7B80046 */ sh $t8, 0x46($sp)
/* 1241E8 80280BA8 3C038015 */ lui $v1, %hi(gDisplayListHead) # $v1, 0x8015
/* 1241EC 80280BAC 24630298 */ addiu $v1, %lo(gDisplayListHead) # addiu $v1, $v1, 0x298
/* 1241F0 80280BB0 8C620000 */ lw $v0, ($v1)
/* 1241F4 80280BB4 3C0F0D01 */ lui $t7, %hi(D_0D008DB8) # $t7, 0xd01
/* 1241F8 80280BB8 25EF8DB8 */ addiu $t7, %lo(D_0D008DB8) # addiu $t7, $t7, -0x7248
/* 1241FC 80280BBC 24590008 */ addiu $t9, $v0, 8
/* 124200 80280BC0 AC790000 */ sw $t9, ($v1)
/* 124204 80280BC4 3C0E0600 */ lui $t6, 0x600
/* 124208 80280BC8 AC4E0000 */ sw $t6, ($v0)
/* 12420C 80280BCC AC4F0004 */ sw $t7, 4($v0)
/* 124210 80280BD0 8C620000 */ lw $v0, ($v1)
/* 124214 80280BD4 3C19FD70 */ lui $t9, 0xfd70
/* 124218 80280BD8 3C0E8019 */ lui $t6, %hi(D_8018D48C) # $t6, 0x8019
/* 12421C 80280BDC 24580008 */ addiu $t8, $v0, 8
/* 124220 80280BE0 AC780000 */ sw $t8, ($v1)
/* 124224 80280BE4 AC590000 */ sw $t9, ($v0)
/* 124228 80280BE8 8DCED48C */ lw $t6, %lo(D_8018D48C)($t6)
/* 12422C 80280BEC 3C190700 */ lui $t9, 0x700
/* 124230 80280BF0 3C18F570 */ lui $t8, 0xf570
/* 124234 80280BF4 AC4E0004 */ sw $t6, 4($v0)
/* 124238 80280BF8 8C620000 */ lw $v0, ($v1)
/* 12423C 80280BFC 244F0008 */ addiu $t7, $v0, 8
/* 124240 80280C00 AC6F0000 */ sw $t7, ($v1)
/* 124244 80280C04 AC590004 */ sw $t9, 4($v0)
/* 124248 80280C08 AC580000 */ sw $t8, ($v0)
/* 12424C 80280C0C 8C620000 */ lw $v0, ($v1)
/* 124250 80280C10 3C0FE600 */ lui $t7, 0xe600
/* 124254 80280C14 3C19F300 */ lui $t9, 0xf300
/* 124258 80280C18 244E0008 */ addiu $t6, $v0, 8
/* 12425C 80280C1C AC6E0000 */ sw $t6, ($v1)
/* 124260 80280C20 AC400004 */ sw $zero, 4($v0)
/* 124264 80280C24 AC4F0000 */ sw $t7, ($v0)
/* 124268 80280C28 8C620000 */ lw $v0, ($v1)
/* 12426C 80280C2C 3C0E071F */ lui $t6, (0x071FF200 >> 16) # lui $t6, 0x71f
/* 124270 80280C30 35CEF200 */ ori $t6, (0x071FF200 & 0xFFFF) # ori $t6, $t6, 0xf200
/* 124274 80280C34 24580008 */ addiu $t8, $v0, 8
/* 124278 80280C38 AC780000 */ sw $t8, ($v1)
/* 12427C 80280C3C AC4E0004 */ sw $t6, 4($v0)
/* 124280 80280C40 AC590000 */ sw $t9, ($v0)
/* 124284 80280C44 8C620000 */ lw $v0, ($v1)
/* 124288 80280C48 3C18E700 */ lui $t8, 0xe700
/* 12428C 80280C4C 3C0EF568 */ lui $t6, (0xF5680800 >> 16) # lui $t6, 0xf568
/* 124290 80280C50 244F0008 */ addiu $t7, $v0, 8
/* 124294 80280C54 AC6F0000 */ sw $t7, ($v1)
/* 124298 80280C58 AC400004 */ sw $zero, 4($v0)
/* 12429C 80280C5C AC580000 */ sw $t8, ($v0)
/* 1242A0 80280C60 8C620000 */ lw $v0, ($v1)
/* 1242A4 80280C64 35CE0800 */ ori $t6, (0xF5680800 & 0xFFFF) # ori $t6, $t6, 0x800
/* 1242A8 80280C68 3C18F200 */ lui $t8, 0xf200
/* 1242AC 80280C6C 24590008 */ addiu $t9, $v0, 8
/* 1242B0 80280C70 AC790000 */ sw $t9, ($v1)
/* 1242B4 80280C74 AC400004 */ sw $zero, 4($v0)
/* 1242B8 80280C78 AC4E0000 */ sw $t6, ($v0)
/* 1242BC 80280C7C 8C620000 */ lw $v0, ($v1)
/* 1242C0 80280C80 3C0E0007 */ lui $t6, (0x0007C07C >> 16) # lui $t6, 7
/* 1242C4 80280C84 35CEC07C */ ori $t6, (0x0007C07C & 0xFFFF) # ori $t6, $t6, 0xc07c
/* 1242C8 80280C88 244F0008 */ addiu $t7, $v0, 8
/* 1242CC 80280C8C AC6F0000 */ sw $t7, ($v1)
/* 1242D0 80280C90 AFA2001C */ sw $v0, 0x1c($sp)
/* 1242D4 80280C94 AC4E0004 */ sw $t6, 4($v0)
/* 1242D8 80280C98 AC580000 */ sw $t8, ($v0)
/* 1242DC 80280C9C 8FA60060 */ lw $a2, 0x60($sp)
/* 1242E0 80280CA0 87A70066 */ lh $a3, 0x66($sp)
/* 1242E4 80280CA4 0006C403 */ sra $t8, $a2, 0x10
/* 1242E8 80280CA8 330E00FF */ andi $t6, $t8, 0xff
/* 1242EC 80280CAC 000ECC00 */ sll $t9, $t6, 0x10
/* 1242F0 80280CB0 00192403 */ sra $a0, $t9, 0x10
/* 1242F4 80280CB4 00067203 */ sra $t6, $a2, 8
/* 1242F8 80280CB8 31D900FF */ andi $t9, $t6, 0xff
/* 1242FC 80280CBC 0019C400 */ sll $t8, $t9, 0x10
/* 124300 80280CC0 00182C03 */ sra $a1, $t8, 0x10
/* 124304 80280CC4 30D900FF */ andi $t9, $a2, 0xff
/* 124308 80280CC8 0019C400 */ sll $t8, $t9, 0x10
/* 12430C 80280CCC 0C012CD7 */ jal func_8004B35C
/* 124310 80280CD0 00183403 */ sra $a2, $t8, 0x10
/* 124314 80280CD4 3C038015 */ lui $v1, %hi(gDisplayListHead) # $v1, 0x8015
/* 124318 80280CD8 24630298 */ addiu $v1, %lo(gDisplayListHead) # addiu $v1, $v1, 0x298
/* 12431C 80280CDC 8C620000 */ lw $v0, ($v1)
/* 124320 80280CE0 3C180D01 */ lui $t8, %hi(D_0D008E48) # $t8, 0xd01
/* 124324 80280CE4 3C058016 */ lui $a1, %hi(D_80164AF0) # $a1, 0x8016
/* 124328 80280CE8 244F0008 */ addiu $t7, $v0, 8
/* 12432C 80280CEC AC6F0000 */ sw $t7, ($v1)
/* 124330 80280CF0 27188E48 */ addiu $t8, %lo(D_0D008E48) # addiu $t8, $t8, -0x71b8
/* 124334 80280CF4 3C190600 */ lui $t9, 0x600
/* 124338 80280CF8 24A54AF0 */ addiu $a1, %lo(D_80164AF0) # addiu $a1, $a1, 0x4af0
/* 12433C 80280CFC AC590000 */ sw $t9, ($v0)
/* 124340 80280D00 AC580004 */ sw $t8, 4($v0)
/* 124344 80280D04 84AE0000 */ lh $t6, ($a1)
/* 124348 80280D08 8FBF0014 */ lw $ra, 0x14($sp)
/* 12434C 80280D0C 27BD0058 */ addiu $sp, $sp, 0x58
/* 124350 80280D10 25CF0001 */ addiu $t7, $t6, 1
/* 124354 80280D14 03E00008 */ jr $ra
/* 124358 80280D18 A4AF0000 */ sh $t7, ($a1)
glabel func_80280D1C
/* 12435C 80280D1C 27BDFF98 */ addiu $sp, $sp, -0x68
/* 124360 80280D20 AFBF004C */ sw $ra, 0x4c($sp)
/* 124364 80280D24 AFB70048 */ sw $s7, 0x48($sp)
/* 124368 80280D28 AFB60044 */ sw $s6, 0x44($sp)
/* 12436C 80280D2C AFB50040 */ sw $s5, 0x40($sp)
/* 124370 80280D30 AFB4003C */ sw $s4, 0x3c($sp)
/* 124374 80280D34 AFB30038 */ sw $s3, 0x38($sp)
/* 124378 80280D38 AFB20034 */ sw $s2, 0x34($sp)
/* 12437C 80280D3C AFB10030 */ sw $s1, 0x30($sp)
/* 124380 80280D40 AFB0002C */ sw $s0, 0x2c($sp)
/* 124384 80280D44 F7B80020 */ sdc1 $f24, 0x20($sp)
/* 124388 80280D48 F7B60018 */ sdc1 $f22, 0x18($sp)
/* 12438C 80280D4C F7B40010 */ sdc1 $f20, 0x10($sp)
/* 124390 80280D50 8C8E0044 */ lw $t6, 0x44($a0)
/* 124394 80280D54 00809025 */ move $s2, $a0
/* 124398 80280D58 00008025 */ move $s0, $zero
/* 12439C 80280D5C 29C1001E */ slti $at, $t6, 0x1e
/* 1243A0 80280D60 10200034 */ beqz $at, .L80280E34
/* 1243A4 80280D64 00008825 */ move $s1, $zero
/* 1243A8 80280D68 3C0141F0 */ li $at, 0x41F00000 # 30.000000
/* 1243AC 80280D6C 4481C000 */ mtc1 $at, $f24
/* 1243B0 80280D70 3C014000 */ li $at, 0x40000000 # 2.000000
/* 1243B4 80280D74 4481B000 */ mtc1 $at, $f22
/* 1243B8 80280D78 3C014120 */ li $at, 0x41200000 # 10.000000
/* 1243BC 80280D7C 3C158028 */ lui $s5, %hi(D_80284E50) # $s5, 0x8028
/* 1243C0 80280D80 4481A000 */ mtc1 $at, $f20
/* 1243C4 80280D84 26B54E50 */ addiu $s5, %lo(D_80284E50) # addiu $s5, $s5, 0x4e50
/* 1243C8 80280D88 24170064 */ li $s7, 100
/* 1243CC 80280D8C 2416001E */ li $s6, 30
/* 1243D0 80280D90 27B40058 */ addiu $s4, $sp, 0x58
/* 1243D4 80280D94 2413000A */ li $s3, 10
.L80280D98:
/* 1243D8 80280D98 44914000 */ mtc1 $s1, $f8
/* 1243DC 80280D9C C6440010 */ lwc1 $f4, 0x10($s2)
/* 1243E0 80280DA0 02707823 */ subu $t7, $s3, $s0
/* 1243E4 80280DA4 468042A0 */ cvt.s.w $f10, $f8
/* 1243E8 80280DA8 E7A40058 */ swc1 $f4, 0x58($sp)
/* 1243EC 80280DAC C6460014 */ lwc1 $f6, 0x14($s2)
/* 1243F0 80280DB0 448F2000 */ mtc1 $t7, $f4
/* 1243F4 80280DB4 02802025 */ move $a0, $s4
/* 1243F8 80280DB8 460A3401 */ sub.s $f16, $f6, $f10
/* 1243FC 80280DBC 46802220 */ cvt.s.w $f8, $f4
/* 124400 80280DC0 E7B0005C */ swc1 $f16, 0x5c($sp)
/* 124404 80280DC4 C6520018 */ lwc1 $f18, 0x18($s2)
/* 124408 80280DC8 E7B20060 */ swc1 $f18, 0x60($sp)
/* 12440C 80280DCC 8E490044 */ lw $t1, 0x44($s2)
/* 124410 80280DD0 46144183 */ div.s $f6, $f8, $f20
/* 124414 80280DD4 8E580048 */ lw $t8, 0x48($s2)
/* 124418 80280DD8 02C95023 */ subu $t2, $s6, $t1
/* 12441C 80280DDC 01570019 */ multu $t2, $s7
/* 124420 80280DE0 0018C880 */ sll $t9, $t8, 2
/* 124424 80280DE4 02B94021 */ addu $t0, $s5, $t9
/* 124428 80280DE8 8D060000 */ lw $a2, ($t0)
/* 12442C 80280DEC 00005812 */ mflo $t3
/* 124430 80280DF0 448B8000 */ mtc1 $t3, $f16
/* 124434 80280DF4 00000000 */ nop
/* 124438 80280DF8 468084A0 */ cvt.s.w $f18, $f16
/* 12443C 80280DFC 46163282 */ mul.s $f10, $f6, $f22
/* 124440 80280E00 46189103 */ div.s $f4, $f18, $f24
/* 124444 80280E04 44055000 */ mfc1 $a1, $f10
/* 124448 80280E08 4600220D */ trunc.w.s $f8, $f4
/* 12444C 80280E0C 44074000 */ mfc1 $a3, $f8
/* 124450 80280E10 00000000 */ nop
/* 124454 80280E14 00076C00 */ sll $t5, $a3, 0x10
/* 124458 80280E18 0C0A02D4 */ jal func_80280B50
/* 12445C 80280E1C 000D3C03 */ sra $a3, $t5, 0x10
/* 124460 80280E20 26100001 */ addiu $s0, $s0, 1
/* 124464 80280E24 1613FFDC */ bne $s0, $s3, .L80280D98
/* 124468 80280E28 26310002 */ addiu $s1, $s1, 2
/* 12446C 80280E2C 1000004C */ b .L80280F60
/* 124470 80280E30 8E480044 */ lw $t0, 0x44($s2)
.L80280E34:
/* 124474 80280E34 8E42002C */ lw $v0, 0x2c($s2)
/* 124478 80280E38 26440010 */ addiu $a0, $s2, 0x10
/* 12447C 80280E3C 28410005 */ slti $at, $v0, 5
/* 124480 80280E40 1020000F */ beqz $at, .L80280E80
/* 124484 80280E44 000248C0 */ sll $t1, $v0, 3
/* 124488 80280E48 3C014000 */ li $at, 0x40000000 # 2.000000
/* 12448C 80280E4C 4481B000 */ mtc1 $at, $f22
/* 124490 80280E50 C64A0038 */ lwc1 $f10, 0x38($s2)
/* 124494 80280E54 C6460034 */ lwc1 $f6, 0x34($s2)
/* 124498 80280E58 8E580040 */ lw $t8, 0x40($s2)
/* 12449C 80280E5C 46165402 */ mul.s $f16, $f10, $f22
/* 1244A0 80280E60 8E4F003C */ lw $t7, 0x3c($s2)
/* 1244A4 80280E64 0018C840 */ sll $t9, $t8, 1
/* 1244A8 80280E68 8E42002C */ lw $v0, 0x2c($s2)
/* 1244AC 80280E6C 01F91821 */ addu $v1, $t7, $t9
/* 1244B0 80280E70 AE43003C */ sw $v1, 0x3c($s2)
/* 1244B4 80280E74 46103480 */ add.s $f18, $f6, $f16
/* 1244B8 80280E78 10000020 */ b .L80280EFC
/* 1244BC 80280E7C E6520034 */ swc1 $f18, 0x34($s2)
.L80280E80:
/* 1244C0 80280E80 01224823 */ subu $t1, $t1, $v0
/* 1244C4 80280E84 252AFFDD */ addiu $t2, $t1, -0x23
/* 1244C8 80280E88 448A4000 */ mtc1 $t2, $f8
/* 1244CC 80280E8C 3C014120 */ li $at, 0x41200000 # 10.000000
/* 1244D0 80280E90 4481A000 */ mtc1 $at, $f20
/* 1244D4 80280E94 468042A0 */ cvt.s.w $f10, $f8
/* 1244D8 80280E98 8E4C0040 */ lw $t4, 0x40($s2)
/* 1244DC 80280E9C 3C013F80 */ li $at, 0x3F800000 # 1.000000
/* 1244E0 80280EA0 44812000 */ mtc1 $at, $f4
/* 1244E4 80280EA4 448C4000 */ mtc1 $t4, $f8
/* 1244E8 80280EA8 8E4B003C */ lw $t3, 0x3c($s2)
/* 1244EC 80280EAC 46145183 */ div.s $f6, $f10, $f20
/* 1244F0 80280EB0 448B8000 */ mtc1 $t3, $f16
/* 1244F4 80280EB4 468042A0 */ cvt.s.w $f10, $f8
/* 1244F8 80280EB8 C6480034 */ lwc1 $f8, 0x34($s2)
/* 1244FC 80280EBC 468084A0 */ cvt.s.w $f18, $f16
/* 124500 80280EC0 46062000 */ add.s $f0, $f4, $f6
/* 124504 80280EC4 46005103 */ div.s $f4, $f10, $f0
/* 124508 80280EC8 C64A0038 */ lwc1 $f10, 0x38($s2)
/* 12450C 80280ECC 46049180 */ add.s $f6, $f18, $f4
/* 124510 80280ED0 46005483 */ div.s $f18, $f10, $f0
/* 124514 80280ED4 4600340D */ trunc.w.s $f16, $f6
/* 124518 80280ED8 44038000 */ mfc1 $v1, $f16
/* 12451C 80280EDC 00000000 */ nop
/* 124520 80280EE0 AE43003C */ sw $v1, 0x3c($s2)
/* 124524 80280EE4 46124100 */ add.s $f4, $f8, $f18
/* 124528 80280EE8 04610004 */ bgez $v1, .L80280EFC
/* 12452C 80280EEC E6440034 */ swc1 $f4, 0x34($s2)
/* 124530 80280EF0 AE40003C */ sw $zero, 0x3c($s2)
/* 124534 80280EF4 8E42002C */ lw $v0, 0x2c($s2)
/* 124538 80280EF8 00001825 */ move $v1, $zero
.L80280EFC:
/* 12453C 80280EFC 24580001 */ addiu $t8, $v0, 1
/* 124540 80280F00 18600008 */ blez $v1, .L80280F24
/* 124544 80280F04 AE58002C */ sw $t8, 0x2c($s2)
/* 124548 80280F08 C6400034 */ lwc1 $f0, 0x34($s2)
/* 12454C 80280F0C 44803000 */ mtc1 $zero, $f6
/* 124550 80280F10 00000000 */ nop
/* 124554 80280F14 4600303C */ c.lt.s $f6, $f0
/* 124558 80280F18 00000000 */ nop
/* 12455C 80280F1C 45030007 */ bc1tl .L80280F3C
/* 124560 80280F20 00033C00 */ sll $a3, $v1, 0x10
.L80280F24:
/* 124564 80280F24 8E4F002C */ lw $t7, 0x2c($s2)
/* 124568 80280F28 29E1001E */ slti $at, $t7, 0x1e
/* 12456C 80280F2C 5020000B */ beql $at, $zero, .L80280F5C
/* 124570 80280F30 AE400000 */ sw $zero, ($s2)
/* 124574 80280F34 C6400034 */ lwc1 $f0, 0x34($s2)
/* 124578 80280F38 00033C00 */ sll $a3, $v1, 0x10
.L80280F3C:
/* 12457C 80280F3C 0007CC03 */ sra $t9, $a3, 0x10
/* 124580 80280F40 44050000 */ mfc1 $a1, $f0
/* 124584 80280F44 03203825 */ move $a3, $t9
/* 124588 80280F48 0C0A02D4 */ jal func_80280B50
/* 12458C 80280F4C 8E460030 */ lw $a2, 0x30($s2)
/* 124590 80280F50 10000003 */ b .L80280F60
/* 124594 80280F54 8E480044 */ lw $t0, 0x44($s2)
/* 124598 80280F58 AE400000 */ sw $zero, ($s2)
.L80280F5C:
/* 12459C 80280F5C 8E480044 */ lw $t0, 0x44($s2)
.L80280F60:
/* 1245A0 80280F60 25090001 */ addiu $t1, $t0, 1
/* 1245A4 80280F64 AE490044 */ sw $t1, 0x44($s2)
/* 1245A8 80280F68 8FBF004C */ lw $ra, 0x4c($sp)
/* 1245AC 80280F6C 8FB70048 */ lw $s7, 0x48($sp)
/* 1245B0 80280F70 8FB60044 */ lw $s6, 0x44($sp)
/* 1245B4 80280F74 8FB50040 */ lw $s5, 0x40($sp)
/* 1245B8 80280F78 8FB4003C */ lw $s4, 0x3c($sp)
/* 1245BC 80280F7C 8FB30038 */ lw $s3, 0x38($sp)
/* 1245C0 80280F80 8FB20034 */ lw $s2, 0x34($sp)
/* 1245C4 80280F84 8FB10030 */ lw $s1, 0x30($sp)
/* 1245C8 80280F88 8FB0002C */ lw $s0, 0x2c($sp)
/* 1245CC 80280F8C D7B80020 */ ldc1 $f24, 0x20($sp)
/* 1245D0 80280F90 D7B60018 */ ldc1 $f22, 0x18($sp)
/* 1245D4 80280F94 D7B40010 */ ldc1 $f20, 0x10($sp)
/* 1245D8 80280F98 03E00008 */ jr $ra
/* 1245DC 80280F9C 27BD0068 */ addiu $sp, $sp, 0x68
glabel func_80280FA0
/* 1245E0 80280FA0 03E00008 */ jr $ra
/* 1245E4 80280FA4 AFA40000 */ sw $a0, ($sp)
glabel func_80280FA8
/* 1245E8 80280FA8 03E00008 */ jr $ra
/* 1245EC 80280FAC AFA40000 */ sw $a0, ($sp)
glabel func_80280FB0
/* 1245F0 80280FB0 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 1245F4 80280FB4 AFBF0014 */ sw $ra, 0x14($sp)
/* 1245F8 80280FB8 3C018028 */ lui $at, %hi(D_802874E0) # $at, 0x8028
/* 1245FC 80280FBC AC2074E0 */ sw $zero, %lo(D_802874E0)($at)
/* 124600 80280FC0 0C0A9EDC */ jal func_802A7B70
/* 124604 80280FC4 24043B60 */ li $a0, 15200
/* 124608 80280FC8 3C038028 */ lui $v1, %hi(D_802874F8) # $v1, 0x8028
/* 12460C 80280FCC 246374F8 */ addiu $v1, %lo(D_802874F8) # addiu $v1, $v1, 0x74f8
/* 124610 80280FD0 AC620000 */ sw $v0, ($v1)
/* 124614 80280FD4 00402025 */ move $a0, $v0
/* 124618 80280FD8 0C033698 */ jal bzero
/* 12461C 80280FDC 24053B60 */ li $a1, 15200
/* 124620 80280FE0 3C048028 */ lui $a0, %hi(D_80284E88) # $a0, 0x8028
/* 124624 80280FE4 0C0A01CD */ jal func_80280734
/* 124628 80280FE8 24844E88 */ addiu $a0, %lo(D_80284E88) # addiu $a0, $a0, 0x4e88
/* 12462C 80280FEC 8FBF0014 */ lw $ra, 0x14($sp)
/* 124630 80280FF0 27BD0018 */ addiu $sp, $sp, 0x18
/* 124634 80280FF4 03E00008 */ jr $ra
/* 124638 80280FF8 00000000 */ nop
glabel func_80280FFC
/* 12463C 80280FFC 240E0001 */ li $t6, 1
/* 124640 80281000 3C018028 */ lui $at, 0x8028
/* 124644 80281004 03E00008 */ jr $ra
/* 124648 80281008 A02E74F4 */ sb $t6, 0x74f4($at)
glabel func_8028100C
/* 12464C 8028100C AFA40000 */ sw $a0, ($sp)
/* 124650 80281010 AFA50004 */ sw $a1, 4($sp)
/* 124654 80281014 03E00008 */ jr $ra
/* 124658 80281018 AFA60008 */ sw $a2, 8($sp)
glabel func_8028101C
/* 12465C 8028101C 27BDFF90 */ addiu $sp, $sp, -0x70
/* 124660 80281020 F7BE0038 */ sdc1 $f30, 0x38($sp)
/* 124664 80281024 3C014461 */ li $at, 0x44610000 # 900.000000
/* 124668 80281028 4481F000 */ mtc1 $at, $f30
/* 12466C 8028102C F7BC0030 */ sdc1 $f28, 0x30($sp)
/* 124670 80281030 3C0143C8 */ li $at, 0x43C80000 # 400.000000
/* 124674 80281034 44842000 */ mtc1 $a0, $f4
/* 124678 80281038 44854000 */ mtc1 $a1, $f8
/* 12467C 8028103C 44868000 */ mtc1 $a2, $f16
/* 124680 80281040 4481E000 */ mtc1 $at, $f28
/* 124684 80281044 F7BA0028 */ sdc1 $f26, 0x28($sp)
/* 124688 80281048 3C0140E0 */ li $at, 0x40E00000 # 7.000000
/* 12468C 8028104C 4481D000 */ mtc1 $at, $f26
/* 124690 80281050 468021A0 */ cvt.s.w $f6, $f4
/* 124694 80281054 F7B80020 */ sdc1 $f24, 0x20($sp)
/* 124698 80281058 3C014416 */ li $at, 0x44160000 # 600.000000
/* 12469C 8028105C 4481C000 */ mtc1 $at, $f24
/* 1246A0 80281060 F7B60018 */ sdc1 $f22, 0x18($sp)
/* 1246A4 80281064 468042A0 */ cvt.s.w $f10, $f8
/* 1246A8 80281068 3C0143BE */ li $at, 0x43BE0000 # 380.000000
/* 1246AC 8028106C 4481B000 */ mtc1 $at, $f22
/* 1246B0 80281070 AFB2004C */ sw $s2, 0x4c($sp)
/* 1246B4 80281074 F7B40010 */ sdc1 $f20, 0x10($sp)
/* 1246B8 80281078 468084A0 */ cvt.s.w $f18, $f16
/* 1246BC 8028107C 3C014348 */ li $at, 0x43480000 # 200.000000
/* 1246C0 80281080 AFB30050 */ sw $s3, 0x50($sp)
/* 1246C4 80281084 AFB10048 */ sw $s1, 0x48($sp)
/* 1246C8 80281088 3C128028 */ lui $s2, %hi(D_80284E64) # $s2, 0x8028
/* 1246CC 8028108C 4481A000 */ mtc1 $at, $f20
/* 1246D0 80281090 AFBF0054 */ sw $ra, 0x54($sp)
/* 1246D4 80281094 AFB00044 */ sw $s0, 0x44($sp)
/* 1246D8 80281098 26524E64 */ addiu $s2, %lo(D_80284E64) # addiu $s2, $s2, 0x4e64
/* 1246DC 8028109C 00008825 */ move $s1, $zero
/* 1246E0 802810A0 24130064 */ li $s3, 100
/* 1246E4 802810A4 E7B2005C */ swc1 $f18, 0x5c($sp)
/* 1246E8 802810A8 E7AA0060 */ swc1 $f10, 0x60($sp)
/* 1246EC 802810AC E7A60064 */ swc1 $f6, 0x64($sp)
.L802810B0:
/* 1246F0 802810B0 0C0A01CD */ jal func_80280734
/* 1246F4 802810B4 02402025 */ move $a0, $s2
/* 1246F8 802810B8 00408025 */ move $s0, $v0
/* 1246FC 802810BC 0C0A0214 */ jal func_80280850
/* 124700 802810C0 4600A306 */ mov.s $f12, $f20
/* 124704 802810C4 C7A40064 */ lwc1 $f4, 0x64($sp)
/* 124708 802810C8 4600B306 */ mov.s $f12, $f22
/* 12470C 802810CC 46040180 */ add.s $f6, $f0, $f4
/* 124710 802810D0 0C0A0214 */ jal func_80280850
/* 124714 802810D4 E6060010 */ swc1 $f6, 0x10($s0)
/* 124718 802810D8 C7A80060 */ lwc1 $f8, 0x60($sp)
/* 12471C 802810DC 4600C306 */ mov.s $f12, $f24
/* 124720 802810E0 46080280 */ add.s $f10, $f0, $f8
/* 124724 802810E4 0C0A0214 */ jal func_80280850
/* 124728 802810E8 E60A0014 */ swc1 $f10, 0x14($s0)
/* 12472C 802810EC C7B0005C */ lwc1 $f16, 0x5c($sp)
/* 124730 802810F0 46100480 */ add.s $f18, $f0, $f16
/* 124734 802810F4 0C0A0203 */ jal func_8028080C
/* 124738 802810F8 E6120018 */ swc1 $f18, 0x18($s0)
/* 12473C 802810FC 461A0102 */ mul.s $f4, $f0, $f26
/* 124740 80281100 4600218D */ trunc.w.s $f6, $f4
/* 124744 80281104 440F3000 */ mfc1 $t7, $f6
/* 124748 80281108 0C0A01DB */ jal func_8028076C
/* 12474C 8028110C A60F002C */ sh $t7, 0x2c($s0)
/* 124750 80281110 A6020030 */ sh $v0, 0x30($s0)
/* 124754 80281114 0C0A0214 */ jal func_80280850
/* 124758 80281118 4600E306 */ mov.s $f12, $f28
/* 12475C 8028111C 461E0200 */ add.s $f8, $f0, $f30
/* 124760 80281120 3C0144FA */ li $at, 0x44FA0000 # 2000.000000
/* 124764 80281124 44816000 */ mtc1 $at, $f12
/* 124768 80281128 4600428D */ trunc.w.s $f10, $f8
/* 12476C 8028112C 44195000 */ mfc1 $t9, $f10
/* 124770 80281130 0C0A0214 */ jal func_80280850
/* 124774 80281134 A6190032 */ sh $t9, 0x32($s0)
/* 124778 80281138 3C018028 */ lui $at, %hi(D_80286B80) # $at, 0x8028
/* 12477C 8028113C C4306B80 */ lwc1 $f16, %lo(D_80286B80)($at)
/* 124780 80281140 26310001 */ addiu $s1, $s1, 1
/* 124784 80281144 46100480 */ add.s $f18, $f0, $f16
/* 124788 80281148 4600910D */ trunc.w.s $f4, $f18
/* 12478C 8028114C 44092000 */ mfc1 $t1, $f4
/* 124790 80281150 1633FFD7 */ bne $s1, $s3, .L802810B0
/* 124794 80281154 A6090034 */ sh $t1, 0x34($s0)
/* 124798 80281158 8FBF0054 */ lw $ra, 0x54($sp)
/* 12479C 8028115C D7B40010 */ ldc1 $f20, 0x10($sp)
/* 1247A0 80281160 D7B60018 */ ldc1 $f22, 0x18($sp)
/* 1247A4 80281164 D7B80020 */ ldc1 $f24, 0x20($sp)
/* 1247A8 80281168 D7BA0028 */ ldc1 $f26, 0x28($sp)
/* 1247AC 8028116C D7BC0030 */ ldc1 $f28, 0x30($sp)
/* 1247B0 80281170 D7BE0038 */ ldc1 $f30, 0x38($sp)
/* 1247B4 80281174 8FB00044 */ lw $s0, 0x44($sp)
/* 1247B8 80281178 8FB10048 */ lw $s1, 0x48($sp)
/* 1247BC 8028117C 8FB2004C */ lw $s2, 0x4c($sp)
/* 1247C0 80281180 8FB30050 */ lw $s3, 0x50($sp)
/* 1247C4 80281184 03E00008 */ jr $ra
/* 1247C8 80281188 27BD0070 */ addiu $sp, $sp, 0x70
glabel func_8028118C
/* 1247CC 8028118C 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 1247D0 80281190 AFBF001C */ sw $ra, 0x1c($sp)
/* 1247D4 80281194 AFB00018 */ sw $s0, 0x18($sp)
/* 1247D8 80281198 AFA40020 */ sw $a0, 0x20($sp)
/* 1247DC 8028119C AFA50024 */ sw $a1, 0x24($sp)
/* 1247E0 802811A0 0C0A0203 */ jal func_8028080C
/* 1247E4 802811A4 AFA60028 */ sw $a2, 0x28($sp)
/* 1247E8 802811A8 3C0E8028 */ lui $t6, %hi(D_802874BE) # $t6, 0x8028
/* 1247EC 802811AC 85CE74BE */ lh $t6, %lo(D_802874BE)($t6)
/* 1247F0 802811B0 3C013F80 */ li $at, 0x3F800000 # 1.000000
/* 1247F4 802811B4 44815000 */ mtc1 $at, $f10
/* 1247F8 802811B8 25CF000D */ addiu $t7, $t6, 0xd
/* 1247FC 802811BC 448F2000 */ mtc1 $t7, $f4
/* 124800 802811C0 3C048028 */ lui $a0, %hi(D_80284E70) # $a0, 0x8028
/* 124804 802811C4 468021A0 */ cvt.s.w $f6, $f4
/* 124808 802811C8 46003202 */ mul.s $f8, $f6, $f0
/* 12480C 802811CC 460A403C */ c.lt.s $f8, $f10
/* 124810 802811D0 00000000 */ nop
/* 124814 802811D4 45020038 */ bc1fl .L802812B8
/* 124818 802811D8 8FBF001C */ lw $ra, 0x1c($sp)
/* 12481C 802811DC 0C0A01CD */ jal func_80280734
/* 124820 802811E0 24844E70 */ addiu $a0, %lo(D_80284E70) # addiu $a0, $a0, 0x4e70
/* 124824 802811E4 44806000 */ mtc1 $zero, $f12
/* 124828 802811E8 0C0A0214 */ jal func_80280850
/* 12482C 802811EC 00408025 */ move $s0, $v0
/* 124830 802811F0 8FB80020 */ lw $t8, 0x20($sp)
/* 124834 802811F4 3C198028 */ lui $t9, %hi(D_802874C6) # $t9, 0x8028
/* 124838 802811F8 44988000 */ mtc1 $t8, $f16
/* 12483C 802811FC 00000000 */ nop
/* 124840 80281200 468084A0 */ cvt.s.w $f18, $f16
/* 124844 80281204 46120100 */ add.s $f4, $f0, $f18
/* 124848 80281208 E6040010 */ swc1 $f4, 0x10($s0)
/* 12484C 8028120C 873974C6 */ lh $t9, %lo(D_802874C6)($t9)
/* 124850 80281210 27280064 */ addiu $t0, $t9, 0x64
/* 124854 80281214 44883000 */ mtc1 $t0, $f6
/* 124858 80281218 0C0A0214 */ jal func_80280850
/* 12485C 8028121C 46803320 */ cvt.s.w $f12, $f6
/* 124860 80281220 8FA90024 */ lw $t1, 0x24($sp)
/* 124864 80281224 3C0A8028 */ lui $t2, %hi(D_802874C8) # $t2, 0x8028
/* 124868 80281228 44894000 */ mtc1 $t1, $f8
/* 12486C 8028122C 00000000 */ nop
/* 124870 80281230 468042A0 */ cvt.s.w $f10, $f8
/* 124874 80281234 460A0400 */ add.s $f16, $f0, $f10
/* 124878 80281238 E6100014 */ swc1 $f16, 0x14($s0)
/* 12487C 8028123C 854A74C8 */ lh $t2, %lo(D_802874C8)($t2)
/* 124880 80281240 254B02BC */ addiu $t3, $t2, 0x2bc
/* 124884 80281244 448B9000 */ mtc1 $t3, $f18
/* 124888 80281248 0C0A0214 */ jal func_80280850
/* 12488C 8028124C 46809320 */ cvt.s.w $f12, $f18
/* 124890 80281250 8FAC0028 */ lw $t4, 0x28($sp)
/* 124894 80281254 3C038028 */ lui $v1, %hi(D_80287540) # $v1, 0x8028
/* 124898 80281258 8C637540 */ lw $v1, %lo(D_80287540)($v1)
/* 12489C 8028125C 448C2000 */ mtc1 $t4, $f4
/* 1248A0 80281260 3C018028 */ lui $at, %hi(D_80286B84) # $at, 0x8028
/* 1248A4 80281264 C4226B84 */ lwc1 $f2, %lo(D_80286B84)($at)
/* 1248A8 80281268 468021A0 */ cvt.s.w $f6, $f4
/* 1248AC 8028126C 30620003 */ andi $v0, $v1, 3
/* 1248B0 80281270 00026880 */ sll $t5, $v0, 2
/* 1248B4 80281274 3C0E8028 */ lui $t6, 0x8028
/* 1248B8 80281278 AE020048 */ sw $v0, 0x48($s0)
/* 1248BC 8028127C 01CD7021 */ addu $t6, $t6, $t5
/* 1248C0 80281280 46060200 */ add.s $f8, $f0, $f6
/* 1248C4 80281284 240F00FF */ li $t7, 255
/* 1248C8 80281288 2418FFEF */ li $t8, -17
/* 1248CC 8028128C 3C018028 */ lui $at, %hi(D_80287540) # $at, 0x8028
/* 1248D0 80281290 E6080018 */ swc1 $f8, 0x18($s0)
/* 1248D4 80281294 8DCE4E50 */ lw $t6, 0x4e50($t6)
/* 1248D8 80281298 AE0F003C */ sw $t7, 0x3c($s0)
/* 1248DC 8028129C AE180040 */ sw $t8, 0x40($s0)
/* 1248E0 802812A0 24630001 */ addiu $v1, $v1, 1
/* 1248E4 802812A4 E6020034 */ swc1 $f2, 0x34($s0)
/* 1248E8 802812A8 E6020038 */ swc1 $f2, 0x38($s0)
/* 1248EC 802812AC AE0E0030 */ sw $t6, 0x30($s0)
/* 1248F0 802812B0 AC237540 */ sw $v1, %lo(D_80287540)($at)
/* 1248F4 802812B4 8FBF001C */ lw $ra, 0x1c($sp)
.L802812B8:
/* 1248F8 802812B8 8FB00018 */ lw $s0, 0x18($sp)
/* 1248FC 802812BC 27BD0020 */ addiu $sp, $sp, 0x20
/* 124900 802812C0 03E00008 */ jr $ra
/* 124904 802812C4 00000000 */ nop
glabel func_802812C8
/* 124908 802812C8 3C028016 */ lui $v0, %hi(D_801646F0) # $v0, 0x8016
/* 12490C 802812CC 244246F0 */ addiu $v0, %lo(D_801646F0) # addiu $v0, $v0, 0x46f0
/* 124910 802812D0 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 124914 802812D4 C444000C */ lwc1 $f4, 0xc($v0)
/* 124918 802812D8 C4460010 */ lwc1 $f6, 0x10($v0)
/* 12491C 802812DC C4480014 */ lwc1 $f8, 0x14($v0)
/* 124920 802812E0 C44A0018 */ lwc1 $f10, 0x18($v0)
/* 124924 802812E4 C450001C */ lwc1 $f16, 0x1c($v0)
/* 124928 802812E8 C4520020 */ lwc1 $f18, 0x20($v0)
/* 12492C 802812EC AFBF002C */ sw $ra, 0x2c($sp)
/* 124930 802812F0 3C048028 */ lui $a0, %hi(D_80287500) # $a0, 0x8028
/* 124934 802812F4 24847500 */ addiu $a0, %lo(D_80287500) # addiu $a0, $a0, 0x7500
/* 124938 802812F8 8C450000 */ lw $a1, ($v0)
/* 12493C 802812FC 8C460004 */ lw $a2, 4($v0)
/* 124940 80281300 8C470008 */ lw $a3, 8($v0)
/* 124944 80281304 E7A40010 */ swc1 $f4, 0x10($sp)
/* 124948 80281308 E7A60014 */ swc1 $f6, 0x14($sp)
/* 12494C 8028130C E7A80018 */ swc1 $f8, 0x18($sp)
/* 124950 80281310 E7AA001C */ swc1 $f10, 0x1c($sp)
/* 124954 80281314 E7B00020 */ swc1 $f16, 0x20($sp)
/* 124958 80281318 0C033CE4 */ jal guLookAtF
/* 12495C 8028131C E7B20024 */ swc1 $f18, 0x24($sp)
/* 124960 80281320 3C0E8028 */ lui $t6, %hi(D_802874F5) # $t6, 0x8028
/* 124964 80281324 81CE74F5 */ lb $t6, %lo(D_802874F5)($t6)
/* 124968 80281328 3C028028 */ lui $v0, 0x8028
/* 12496C 8028132C 29C10003 */ slti $at, $t6, 3
/* 124970 80281330 10200028 */ beqz $at, .L802813D4
/* 124974 80281334 00000000 */ nop
/* 124978 80281338 3C028028 */ lui $v0, %hi(D_802874E0) # $v0, 0x8028
/* 12497C 8028133C 8C4274E0 */ lw $v0, %lo(D_802874E0)($v0)
/* 124980 80281340 2841012C */ slti $at, $v0, 0x12c
/* 124984 80281344 10200011 */ beqz $at, .L8028138C
/* 124988 80281348 3C018016 */ lui $at, %hi(D_80164700) # $at, 0x8016
/* 12498C 8028134C C4204700 */ lwc1 $f0, %lo(D_80164700)($at)
/* 124990 80281350 3C018016 */ lui $at, %hi(D_801646F4) # $at, 0x8016
/* 124994 80281354 C42446F4 */ lwc1 $f4, %lo(D_801646F4)($at)
/* 124998 80281358 3C013FC0 */ li $at, 0x3FC00000 # 1.500000
/* 12499C 8028135C 44814000 */ mtc1 $at, $f8
/* 1249A0 80281360 46040181 */ sub.s $f6, $f0, $f4
/* 1249A4 80281364 2404F1F2 */ li $a0, -3598
/* 1249A8 80281368 2406FDA8 */ li $a2, -600
/* 1249AC 8028136C 46083282 */ mul.s $f10, $f6, $f8
/* 1249B0 80281370 46005400 */ add.s $f16, $f10, $f0
/* 1249B4 80281374 4600848D */ trunc.w.s $f18, $f16
/* 1249B8 80281378 44059000 */ mfc1 $a1, $f18
/* 1249BC 8028137C 0C0A0463 */ jal func_8028118C
/* 1249C0 80281380 00000000 */ nop
/* 1249C4 80281384 3C028028 */ lui $v0, %hi(D_802874E0) # $v0, 0x8028
/* 1249C8 80281388 8C4274E0 */ lw $v0, %lo(D_802874E0)($v0)
.L8028138C:
/* 1249CC 8028138C 24010078 */ li $at, 120
/* 1249D0 80281390 14410023 */ bne $v0, $at, .L80281420
/* 1249D4 80281394 3C188028 */ lui $t8, %hi(D_802874C4) # $t8, 0x8028
/* 1249D8 80281398 871874C4 */ lh $t8, %lo(D_802874C4)($t8)
/* 1249DC 8028139C 3C014352 */ li $at, 0x43520000 # 210.000000
/* 1249E0 802813A0 44814000 */ mtc1 $at, $f8
/* 1249E4 802813A4 44982000 */ mtc1 $t8, $f4
/* 1249E8 802813A8 2404F394 */ li $a0, -3180
/* 1249EC 802813AC 2406FE11 */ li $a2, -495
/* 1249F0 802813B0 468021A0 */ cvt.s.w $f6, $f4
/* 1249F4 802813B4 46083280 */ add.s $f10, $f6, $f8
/* 1249F8 802813B8 4600540D */ trunc.w.s $f16, $f10
/* 1249FC 802813BC 44058000 */ mfc1 $a1, $f16
/* 124A00 802813C0 0C0A0407 */ jal func_8028101C
/* 124A04 802813C4 00000000 */ nop
/* 124A08 802813C8 3C028028 */ lui $v0, %hi(D_802874E0) # $v0, 0x8028
/* 124A0C 802813CC 10000014 */ b .L80281420
/* 124A10 802813D0 8C4274E0 */ lw $v0, %lo(D_802874E0)($v0)
.L802813D4:
/* 124A14 802813D4 8C4274E0 */ lw $v0, 0x74e0($v0)
/* 124A18 802813D8 24010002 */ li $at, 2
/* 124A1C 802813DC 3C088028 */ lui $t0, %hi(D_802874C4) # $t0, 0x8028
/* 124A20 802813E0 54410010 */ bnel $v0, $at, .L80281424
/* 124A24 802813E4 8FBF002C */ lw $ra, 0x2c($sp)
/* 124A28 802813E8 850874C4 */ lh $t0, %lo(D_802874C4)($t0)
/* 124A2C 802813EC 3C014352 */ li $at, 0x43520000 # 210.000000
/* 124A30 802813F0 44813000 */ mtc1 $at, $f6
/* 124A34 802813F4 44889000 */ mtc1 $t0, $f18
/* 124A38 802813F8 2404F394 */ li $a0, -3180
/* 124A3C 802813FC 2406FE11 */ li $a2, -495
/* 124A40 80281400 46809120 */ cvt.s.w $f4, $f18
/* 124A44 80281404 46062200 */ add.s $f8, $f4, $f6
/* 124A48 80281408 4600428D */ trunc.w.s $f10, $f8
/* 124A4C 8028140C 44055000 */ mfc1 $a1, $f10
/* 124A50 80281410 0C0A0407 */ jal func_8028101C
/* 124A54 80281414 00000000 */ nop
/* 124A58 80281418 3C028028 */ lui $v0, %hi(D_802874E0) # $v0, 0x8028
/* 124A5C 8028141C 8C4274E0 */ lw $v0, %lo(D_802874E0)($v0)
.L80281420:
/* 124A60 80281420 8FBF002C */ lw $ra, 0x2c($sp)
.L80281424:
/* 124A64 80281424 244A0001 */ addiu $t2, $v0, 1
/* 124A68 80281428 3C018028 */ lui $at, %hi(D_802874E0) # $at, 0x8028
/* 124A6C 8028142C AC2A74E0 */ sw $t2, %lo(D_802874E0)($at)
/* 124A70 80281430 03E00008 */ jr $ra
/* 124A74 80281434 27BD0030 */ addiu $sp, $sp, 0x30
glabel func_80281438
/* 124A78 80281438 27BDFFC8 */ addiu $sp, $sp, -0x38
/* 124A7C 8028143C AFBF0034 */ sw $ra, 0x34($sp)
/* 124A80 80281440 AFB60030 */ sw $s6, 0x30($sp)
/* 124A84 80281444 AFB5002C */ sw $s5, 0x2c($sp)
/* 124A88 80281448 AFB40028 */ sw $s4, 0x28($sp)
/* 124A8C 8028144C AFB30024 */ sw $s3, 0x24($sp)
/* 124A90 80281450 AFB20020 */ sw $s2, 0x20($sp)
/* 124A94 80281454 AFB1001C */ sw $s1, 0x1c($sp)
/* 124A98 80281458 0C0A04B2 */ jal func_802812C8
/* 124A9C 8028145C AFB00018 */ sw $s0, 0x18($sp)
/* 124AA0 80281460 3C018028 */ lui $at, %hi(D_802874D0) # $at, 0x8028
/* 124AA4 80281464 3C158028 */ lui $s5, %hi(D_802874F8) # $s5, 0x8028
/* 124AA8 80281468 3C138028 */ lui $s3, %hi(D_80284E94) # $s3, 0x8028
/* 124AAC 8028146C A42074D0 */ sh $zero, %lo(D_802874D0)($at)
/* 124AB0 80281470 26734E94 */ addiu $s3, %lo(D_80284E94) # addiu $s3, $s3, 0x4e94
/* 124AB4 80281474 26B574F8 */ addiu $s5, %lo(D_802874F8) # addiu $s5, $s5, 0x74f8
/* 124AB8 80281478 00009025 */ move $s2, $zero
/* 124ABC 8028147C 24160003 */ li $s6, 3
/* 124AC0 80281480 241400C8 */ li $s4, 200
/* 124AC4 80281484 8EB00000 */ lw $s0, ($s5)
.L80281488:
/* 124AC8 80281488 00008825 */ move $s1, $zero
.L8028148C:
/* 124ACC 8028148C 8E0E0000 */ lw $t6, ($s0)
/* 124AD0 80281490 31CF0001 */ andi $t7, $t6, 1
/* 124AD4 80281494 51E0000E */ beql $t7, $zero, .L802814D0
/* 124AD8 80281498 26310001 */ addiu $s1, $s1, 1
/* 124ADC 8028149C 86180004 */ lh $t8, 4($s0)
/* 124AE0 802814A0 00124880 */ sll $t1, $s2, 2
/* 124AE4 802814A4 0018C880 */ sll $t9, $t8, 2
/* 124AE8 802814A8 0338C823 */ subu $t9, $t9, $t8
/* 124AEC 802814AC 0019C880 */ sll $t9, $t9, 2
/* 124AF0 802814B0 02794021 */ addu $t0, $s3, $t9
/* 124AF4 802814B4 01095021 */ addu $t2, $t0, $t1
/* 124AF8 802814B8 8D420000 */ lw $v0, ($t2)
/* 124AFC 802814BC 50400004 */ beql $v0, $zero, .L802814D0
/* 124B00 802814C0 26310001 */ addiu $s1, $s1, 1
/* 124B04 802814C4 0040F809 */ jalr $v0
/* 124B08 802814C8 02002025 */ move $a0, $s0
/* 124B0C 802814CC 26310001 */ addiu $s1, $s1, 1
.L802814D0:
/* 124B10 802814D0 1634FFEE */ bne $s1, $s4, .L8028148C
/* 124B14 802814D4 2610004C */ addiu $s0, $s0, 0x4c
/* 124B18 802814D8 26520001 */ addiu $s2, $s2, 1
/* 124B1C 802814DC 5656FFEA */ bnel $s2, $s6, .L80281488
/* 124B20 802814E0 8EB00000 */ lw $s0, ($s5)
/* 124B24 802814E4 8FBF0034 */ lw $ra, 0x34($sp)
/* 124B28 802814E8 8FB00018 */ lw $s0, 0x18($sp)
/* 124B2C 802814EC 8FB1001C */ lw $s1, 0x1c($sp)
/* 124B30 802814F0 8FB20020 */ lw $s2, 0x20($sp)
/* 124B34 802814F4 8FB30024 */ lw $s3, 0x24($sp)
/* 124B38 802814F8 8FB40028 */ lw $s4, 0x28($sp)
/* 124B3C 802814FC 8FB5002C */ lw $s5, 0x2c($sp)
/* 124B40 80281500 8FB60030 */ lw $s6, 0x30($sp)
/* 124B44 80281504 03E00008 */ jr $ra
/* 124B48 80281508 27BD0038 */ addiu $sp, $sp, 0x38
glabel func_8028150C
/* 124B4C 8028150C 3C0E8015 */ lui $t6, %hi(gDisplayListHead) # $t6, 0x8015
/* 124B50 80281510 8DCE0298 */ lw $t6, %lo(gDisplayListHead)($t6)
/* 124B54 80281514 3C018028 */ lui $at, 0x8028
/* 124B58 80281518 03E00008 */ jr $ra
/* 124B5C 8028151C AC2E74D4 */ sw $t6, 0x74d4($at)
glabel func_80281520
/* 124B60 80281520 03E00008 */ jr $ra
/* 124B64 80281524 00000000 */ nop
glabel func_80281528
/* 124B68 80281528 03E00008 */ jr $ra
/* 124B6C 8028152C 00000000 */ nop
glabel func_80281530
/* 124B70 80281530 03E00008 */ jr $ra
/* 124B74 80281534 00000000 */ nop
glabel func_80281538
/* 124B78 80281538 03E00008 */ jr $ra
/* 124B7C 8028153C 00000000 */ nop
glabel func_80281540
/* 124B80 80281540 03E00008 */ jr $ra
/* 124B84 80281544 00000000 */ nop
glabel func_80281548
/* 124B88 80281548 3C018015 */ lui $at, %hi(D_80150112) # $at, 0x8015
/* 124B8C 8028154C 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 124B90 80281550 A4200112 */ sh $zero, %lo(D_80150112)($at)
/* 124B94 80281554 AFBF0014 */ sw $ra, 0x14($sp)
/* 124B98 80281558 3C018028 */ lui $at, %hi(D_802874FC) # $at, 0x8028
/* 124B9C 8028155C 0C0A0584 */ jal func_80281610
/* 124BA0 80281560 AC2074FC */ sw $zero, %lo(D_802874FC)($at)
/* 124BA4 80281564 0C00A3DC */ jal func_80028F70
/* 124BA8 80281568 00000000 */ nop
/* 124BAC 8028156C 0C0089D1 */ jal func_80022744
/* 124BB0 80281570 00000000 */ nop
/* 124BB4 80281574 0C0166B2 */ jal func_80059AC8
/* 124BB8 80281578 00000000 */ nop
/* 124BBC 8028157C 0C0166B2 */ jal func_80059AC8
/* 124BC0 80281580 00000000 */ nop
/* 124BC4 80281584 0C01681C */ jal func_8005A070
/* 124BC8 80281588 00000000 */ nop
/* 124BCC 8028158C 3C0E8028 */ lui $t6, %hi(D_802874F4) # $t6, 0x8028
/* 124BD0 80281590 81CE74F4 */ lb $t6, %lo(D_802874F4)($t6)
/* 124BD4 80281594 11C00005 */ beqz $t6, .L802815AC
/* 124BD8 80281598 00000000 */ nop
/* 124BDC 8028159C 0C007053 */ jal func_8001C14C
/* 124BE0 802815A0 00000000 */ nop
/* 124BE4 802815A4 0C0025F8 */ jal func_800097E0
/* 124BE8 802815A8 00000000 */ nop
.L802815AC:
/* 124BEC 802815AC 0C0A0740 */ jal func_80281D00
/* 124BF0 802815B0 00000000 */ nop
/* 124BF4 802815B4 0C0A0550 */ jal func_80281540
/* 124BF8 802815B8 00000000 */ nop
/* 124BFC 802815BC 3C058015 */ lui $a1, %hi(gDisplayListHead) # $a1, 0x8015
/* 124C00 802815C0 24A50298 */ addiu $a1, %lo(gDisplayListHead) # addiu $a1, $a1, 0x298
/* 124C04 802815C4 8CA20000 */ lw $v0, ($a1)
/* 124C08 802815C8 3C18E900 */ lui $t8, 0xe900
/* 124C0C 802815CC 3C08B800 */ lui $t0, 0xb800
/* 124C10 802815D0 244F0008 */ addiu $t7, $v0, 8
/* 124C14 802815D4 ACAF0000 */ sw $t7, ($a1)
/* 124C18 802815D8 AC400004 */ sw $zero, 4($v0)
/* 124C1C 802815DC AC580000 */ sw $t8, ($v0)
/* 124C20 802815E0 8CA20000 */ lw $v0, ($a1)
/* 124C24 802815E4 24590008 */ addiu $t9, $v0, 8
/* 124C28 802815E8 ACB90000 */ sw $t9, ($a1)
/* 124C2C 802815EC AC400004 */ sw $zero, 4($v0)
/* 124C30 802815F0 AC480000 */ sw $t0, ($v0)
/* 124C34 802815F4 8FBF0014 */ lw $ra, 0x14($sp)
/* 124C38 802815F8 27BD0018 */ addiu $sp, $sp, 0x18
/* 124C3C 802815FC 03E00008 */ jr $ra
/* 124C40 80281600 00000000 */ nop
/* 124C44 80281604 00000000 */ nop
/* 124C48 80281608 00000000 */ nop
/* 124C4C 8028160C 00000000 */ nop