mk64/asm/code_8001F980.s

7941 lines
415 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_8001F980
/* 020580 8001F980 3C0E800E */ lui $t6, %hi(D_800DC51C) # $t6, 0x800e
/* 020584 8001F984 95CEC51C */ lhu $t6, %lo(D_800DC51C)($t6)
/* 020588 8001F988 24010001 */ li $at, 1
/* 02058C 8001F98C 3C0F8016 */ lui $t7, %hi(D_80164A28) # $t7, 0x8016
/* 020590 8001F990 11C10007 */ beq $t6, $at, .L8001F9B0
/* 020594 8001F994 3C088016 */ lui $t0, %hi(D_80164A28) # $t0, 0x8016
/* 020598 8001F998 8DEF4A28 */ lw $t7, %lo(D_80164A28)($t7)
/* 02059C 8001F99C 3C188016 */ lui $t8, %hi(D_8015F894) # $t8, 0x8016
/* 0205A0 8001F9A0 55E00004 */ bnel $t7, $zero, .L8001F9B4
/* 0205A4 8001F9A4 241900AA */ li $t9, 170
/* 0205A8 8001F9A8 9718F894 */ lhu $t8, %lo(D_8015F894)($t8)
/* 0205AC 8001F9AC 13000003 */ beqz $t8, .L8001F9BC
.L8001F9B0:
/* 0205B0 8001F9B0 241900AA */ li $t9, 170
.L8001F9B4:
/* 0205B4 8001F9B4 10000002 */ b .L8001F9C0
/* 0205B8 8001F9B8 AC990000 */ sw $t9, ($a0)
.L8001F9BC:
/* 0205BC 8001F9BC AC800000 */ sw $zero, ($a0)
.L8001F9C0:
/* 0205C0 8001F9C0 8D084A28 */ lw $t0, %lo(D_80164A28)($t0)
/* 0205C4 8001F9C4 240900AA */ li $t1, 170
/* 0205C8 8001F9C8 51000004 */ beql $t0, $zero, .L8001F9DC
/* 0205CC 8001F9CC ACA00000 */ sw $zero, ($a1)
/* 0205D0 8001F9D0 03E00008 */ jr $ra
/* 0205D4 8001F9D4 ACA90000 */ sw $t1, ($a1)
/* 0205D8 8001F9D8 ACA00000 */ sw $zero, ($a1)
.L8001F9DC:
/* 0205DC 8001F9DC 03E00008 */ jr $ra
/* 0205E0 8001F9E0 00000000 */ nop
glabel func_8001F9E4
/* 0205E4 8001F9E4 27BDFFC8 */ addiu $sp, $sp, -0x38
/* 0205E8 8001F9E8 AFBF001C */ sw $ra, 0x1c($sp)
/* 0205EC 8001F9EC AFB00018 */ sw $s0, 0x18($sp)
/* 0205F0 8001F9F0 00808025 */ move $s0, $a0
/* 0205F4 8001F9F4 AFA5003C */ sw $a1, 0x3c($sp)
/* 0205F8 8001F9F8 0C009F40 */ jal func_80027D00
/* 0205FC 8001F9FC AFA60040 */ sw $a2, 0x40($sp)
/* 020600 8001FA00 27A40030 */ addiu $a0, $sp, 0x30
/* 020604 8001FA04 0C007E60 */ jal func_8001F980
/* 020608 8001FA08 27A5002C */ addiu $a1, $sp, 0x2c
/* 02060C 8001FA0C 83A20043 */ lb $v0, 0x43($sp)
/* 020610 8001FA10 96180002 */ lhu $t8, 2($s0)
/* 020614 8001FA14 240F0002 */ li $t7, 2
/* 020618 8001FA18 00027080 */ sll $t6, $v0, 2
/* 02061C 8001FA1C 01CF1804 */ sllv $v1, $t7, $t6
/* 020620 8001FA20 0060C827 */ not $t9, $v1
/* 020624 8001FA24 240A0008 */ li $t2, 8
/* 020628 8001FA28 01CA4004 */ sllv $t0, $t2, $t6
/* 02062C 8001FA2C 03195824 */ and $t3, $t8, $t9
/* 020630 8001FA30 01006027 */ not $t4, $t0
/* 020634 8001FA34 A60B0002 */ sh $t3, 2($s0)
/* 020638 8001FA38 016C6824 */ and $t5, $t3, $t4
/* 02063C 8001FA3C A60D0002 */ sh $t5, 2($s0)
/* 020640 8001FA40 3C198016 */ lui $t9, %hi(D_8016557A) # $t9, 0x8016
/* 020644 8001FA44 3C0E8016 */ lui $t6, %hi(D_80165578) # $t6, 0x8016
/* 020648 8001FA48 85CE5578 */ lh $t6, %lo(D_80165578)($t6)
/* 02064C 8001FA4C 8739557A */ lh $t9, %lo(D_8016557A)($t9)
/* 020650 8001FA50 8FA9002C */ lw $t1, 0x2c($sp)
/* 020654 8001FA54 8FAF0030 */ lw $t7, 0x30($sp)
/* 020658 8001FA58 AFA80020 */ sw $t0, 0x20($sp)
/* 02065C 8001FA5C 03295021 */ addu $t2, $t9, $t1
/* 020660 8001FA60 01CFC021 */ addu $t8, $t6, $t7
/* 020664 8001FA64 44982000 */ mtc1 $t8, $f4
/* 020668 8001FA68 448A3000 */ mtc1 $t2, $f6
/* 02066C 8001FA6C AFA30024 */ sw $v1, 0x24($sp)
/* 020670 8001FA70 46802120 */ cvt.s.w $f4, $f4
/* 020674 8001FA74 8FA5003C */ lw $a1, 0x3c($sp)
/* 020678 8001FA78 02002025 */ move $a0, $s0
/* 02067C 8001FA7C 468031A0 */ cvt.s.w $f6, $f6
/* 020680 8001FA80 44062000 */ mfc1 $a2, $f4
/* 020684 8001FA84 44073000 */ mfc1 $a3, $f6
/* 020688 8001FA88 0C007EC3 */ jal func_8001FB0C
/* 02068C 8001FA8C 00000000 */ nop
/* 020690 8001FA90 24010001 */ li $at, 1
/* 020694 8001FA94 14410004 */ bne $v0, $at, .L8001FAA8
/* 020698 8001FA98 8FA30024 */ lw $v1, 0x24($sp)
/* 02069C 8001FA9C 960B0002 */ lhu $t3, 2($s0)
/* 0206A0 8001FAA0 01636025 */ or $t4, $t3, $v1
/* 0206A4 8001FAA4 A60C0002 */ sh $t4, 2($s0)
.L8001FAA8:
/* 0206A8 8001FAA8 3C0D8016 */ lui $t5, %hi(D_80165580) # $t5, 0x8016
/* 0206AC 8001FAAC 3C0E8016 */ lui $t6, %hi(D_80165582) # $t6, 0x8016
/* 0206B0 8001FAB0 85CE5582 */ lh $t6, %lo(D_80165582)($t6)
/* 0206B4 8001FAB4 85AD5580 */ lh $t5, %lo(D_80165580)($t5)
/* 0206B8 8001FAB8 02002025 */ move $a0, $s0
/* 0206BC 8001FABC 448E5000 */ mtc1 $t6, $f10
/* 0206C0 8001FAC0 448D4000 */ mtc1 $t5, $f8
/* 0206C4 8001FAC4 8FA5003C */ lw $a1, 0x3c($sp)
/* 0206C8 8001FAC8 468052A0 */ cvt.s.w $f10, $f10
/* 0206CC 8001FACC 46804220 */ cvt.s.w $f8, $f8
/* 0206D0 8001FAD0 44075000 */ mfc1 $a3, $f10
/* 0206D4 8001FAD4 44064000 */ mfc1 $a2, $f8
/* 0206D8 8001FAD8 0C007EC3 */ jal func_8001FB0C
/* 0206DC 8001FADC 00000000 */ nop
/* 0206E0 8001FAE0 24010001 */ li $at, 1
/* 0206E4 8001FAE4 14410004 */ bne $v0, $at, .L8001FAF8
/* 0206E8 8001FAE8 8FB80020 */ lw $t8, 0x20($sp)
/* 0206EC 8001FAEC 960F0002 */ lhu $t7, 2($s0)
/* 0206F0 8001FAF0 01F8C825 */ or $t9, $t7, $t8
/* 0206F4 8001FAF4 A6190002 */ sh $t9, 2($s0)
.L8001FAF8:
/* 0206F8 8001FAF8 8FBF001C */ lw $ra, 0x1c($sp)
/* 0206FC 8001FAFC 8FB00018 */ lw $s0, 0x18($sp)
/* 020700 8001FB00 27BD0038 */ addiu $sp, $sp, 0x38
/* 020704 8001FB04 03E00008 */ jr $ra
/* 020708 8001FB08 00000000 */ nop
glabel func_8001FB0C
/* 02070C 8001FB0C 27BDFF80 */ addiu $sp, $sp, -0x80
/* 020710 8001FB10 3C02800E */ lui $v0, %hi(D_800DC52C) # $v0, 0x800e
/* 020714 8001FB14 8C42C52C */ lw $v0, %lo(D_800DC52C)($v0)
/* 020718 8001FB18 AFB00018 */ sw $s0, 0x18($sp)
/* 02071C 8001FB1C 00A08025 */ move $s0, $a1
/* 020720 8001FB20 AFBF001C */ sw $ra, 0x1c($sp)
/* 020724 8001FB24 AFA40080 */ sw $a0, 0x80($sp)
/* 020728 8001FB28 AFA60088 */ sw $a2, 0x88($sp)
/* 02072C 8001FB2C AFA7008C */ sw $a3, 0x8c($sp)
/* 020730 8001FB30 1040000A */ beqz $v0, .L8001FB5C
/* 020734 8001FB34 A7A00040 */ sh $zero, 0x40($sp)
/* 020738 8001FB38 24010001 */ li $at, 1
/* 02073C 8001FB3C 10410009 */ beq $v0, $at, .L8001FB64
/* 020740 8001FB40 24010002 */ li $at, 2
/* 020744 8001FB44 10410007 */ beq $v0, $at, .L8001FB64
/* 020748 8001FB48 24010003 */ li $at, 3
/* 02074C 8001FB4C 10410007 */ beq $v0, $at, .L8001FB6C
/* 020750 8001FB50 00000000 */ nop
/* 020754 8001FB54 10000007 */ b .L8001FB74
/* 020758 8001FB58 24021FFE */ li $v0, 8190
.L8001FB5C:
/* 02075C 8001FB5C 10000005 */ b .L8001FB74
/* 020760 8001FB60 2402293C */ li $v0, 10556
.L8001FB64:
/* 020764 8001FB64 10000003 */ b .L8001FB74
/* 020768 8001FB68 24023058 */ li $v0, 12376
.L8001FB6C:
/* 02076C 8001FB6C 10000001 */ b .L8001FB74
/* 020770 8001FB70 24021FFE */ li $v0, 8190
.L8001FB74:
/* 020774 8001FB74 860E0026 */ lh $t6, 0x26($s0)
/* 020778 8001FB78 A7A20042 */ sh $v0, 0x42($sp)
/* 02077C 8001FB7C 01C22023 */ subu $a0, $t6, $v0
/* 020780 8001FB80 308FFFFF */ andi $t7, $a0, 0xffff
/* 020784 8001FB84 0C0AE00E */ jal func_802B8038
/* 020788 8001FB88 01E02025 */ move $a0, $t7
/* 02078C 8001FB8C C7A60088 */ lwc1 $f6, 0x88($sp)
/* 020790 8001FB90 C6040008 */ lwc1 $f4, 8($s0)
/* 020794 8001FB94 87A20042 */ lh $v0, 0x42($sp)
/* 020798 8001FB98 46003202 */ mul.s $f8, $f6, $f0
/* 02079C 8001FB9C 46082280 */ add.s $f10, $f4, $f8
/* 0207A0 8001FBA0 E7AA004C */ swc1 $f10, 0x4c($sp)
/* 0207A4 8001FBA4 86180026 */ lh $t8, 0x26($s0)
/* 0207A8 8001FBA8 03022023 */ subu $a0, $t8, $v0
/* 0207AC 8001FBAC 3099FFFF */ andi $t9, $a0, 0xffff
/* 0207B0 8001FBB0 0C0AE006 */ jal func_802B8018
/* 0207B4 8001FBB4 03202025 */ move $a0, $t9
/* 0207B8 8001FBB8 C7A40088 */ lwc1 $f4, 0x88($sp)
/* 0207BC 8001FBBC C6060000 */ lwc1 $f6, ($s0)
/* 0207C0 8001FBC0 87A20042 */ lh $v0, 0x42($sp)
/* 0207C4 8001FBC4 46002202 */ mul.s $f8, $f4, $f0
/* 0207C8 8001FBC8 46083280 */ add.s $f10, $f6, $f8
/* 0207CC 8001FBCC E7AA0058 */ swc1 $f10, 0x58($sp)
/* 0207D0 8001FBD0 86080026 */ lh $t0, 0x26($s0)
/* 0207D4 8001FBD4 01022021 */ addu $a0, $t0, $v0
/* 0207D8 8001FBD8 3089FFFF */ andi $t1, $a0, 0xffff
/* 0207DC 8001FBDC 0C0AE00E */ jal func_802B8038
/* 0207E0 8001FBE0 01202025 */ move $a0, $t1
/* 0207E4 8001FBE4 C7A60088 */ lwc1 $f6, 0x88($sp)
/* 0207E8 8001FBE8 C6040008 */ lwc1 $f4, 8($s0)
/* 0207EC 8001FBEC 87A20042 */ lh $v0, 0x42($sp)
/* 0207F0 8001FBF0 46003202 */ mul.s $f8, $f6, $f0
/* 0207F4 8001FBF4 46082280 */ add.s $f10, $f4, $f8
/* 0207F8 8001FBF8 E7AA0048 */ swc1 $f10, 0x48($sp)
/* 0207FC 8001FBFC 860A0026 */ lh $t2, 0x26($s0)
/* 020800 8001FC00 01422021 */ addu $a0, $t2, $v0
/* 020804 8001FC04 308BFFFF */ andi $t3, $a0, 0xffff
/* 020808 8001FC08 0C0AE006 */ jal func_802B8018
/* 02080C 8001FC0C 01602025 */ move $a0, $t3
/* 020810 8001FC10 C7A40088 */ lwc1 $f4, 0x88($sp)
/* 020814 8001FC14 C6060000 */ lwc1 $f6, ($s0)
/* 020818 8001FC18 46002202 */ mul.s $f8, $f4, $f0
/* 02081C 8001FC1C 46083280 */ add.s $f10, $f6, $f8
/* 020820 8001FC20 E7AA0054 */ swc1 $f10, 0x54($sp)
/* 020824 8001FC24 86040026 */ lh $a0, 0x26($s0)
/* 020828 8001FC28 24845FFA */ addiu $a0, $a0, 0x5ffa
/* 02082C 8001FC2C 308CFFFF */ andi $t4, $a0, 0xffff
/* 020830 8001FC30 0C0AE00E */ jal func_802B8038
/* 020834 8001FC34 01802025 */ move $a0, $t4
/* 020838 8001FC38 C7A6008C */ lwc1 $f6, 0x8c($sp)
/* 02083C 8001FC3C C6040008 */ lwc1 $f4, 8($s0)
/* 020840 8001FC40 46003202 */ mul.s $f8, $f6, $f0
/* 020844 8001FC44 46082280 */ add.s $f10, $f4, $f8
/* 020848 8001FC48 E7AA0044 */ swc1 $f10, 0x44($sp)
/* 02084C 8001FC4C 86040026 */ lh $a0, 0x26($s0)
/* 020850 8001FC50 24845FFA */ addiu $a0, $a0, 0x5ffa
/* 020854 8001FC54 308DFFFF */ andi $t5, $a0, 0xffff
/* 020858 8001FC58 0C0AE006 */ jal func_802B8018
/* 02085C 8001FC5C 01A02025 */ move $a0, $t5
/* 020860 8001FC60 C7A4008C */ lwc1 $f4, 0x8c($sp)
/* 020864 8001FC64 C6060000 */ lwc1 $f6, ($s0)
/* 020868 8001FC68 8FA20080 */ lw $v0, 0x80($sp)
/* 02086C 8001FC6C 46002202 */ mul.s $f8, $f4, $f0
/* 020870 8001FC70 C7A4004C */ lwc1 $f4, 0x4c($sp)
/* 020874 8001FC74 44800000 */ mtc1 $zero, $f0
/* 020878 8001FC78 46083280 */ add.s $f10, $f6, $f8
/* 02087C 8001FC7C C7A60054 */ lwc1 $f6, 0x54($sp)
/* 020880 8001FC80 C7A80058 */ lwc1 $f8, 0x58($sp)
/* 020884 8001FC84 E7AA0050 */ swc1 $f10, 0x50($sp)
/* 020888 8001FC88 C44C0014 */ lwc1 $f12, 0x14($v0)
/* 02088C 8001FC8C C442001C */ lwc1 $f2, 0x1c($v0)
/* 020890 8001FC90 C7AA0048 */ lwc1 $f10, 0x48($sp)
/* 020894 8001FC94 460C3401 */ sub.s $f16, $f6, $f12
/* 020898 8001FC98 46022381 */ sub.s $f14, $f4, $f2
/* 02089C 8001FC9C 460C4481 */ sub.s $f18, $f8, $f12
/* 0208A0 8001FCA0 46107182 */ mul.s $f6, $f14, $f16
/* 0208A4 8001FCA4 46025101 */ sub.s $f4, $f10, $f2
/* 0208A8 8001FCA8 46049202 */ mul.s $f8, $f18, $f4
/* 0208AC 8001FCAC E7A40020 */ swc1 $f4, 0x20($sp)
/* 0208B0 8001FCB0 46083281 */ sub.s $f10, $f6, $f8
/* 0208B4 8001FCB4 C7A60050 */ lwc1 $f6, 0x50($sp)
/* 0208B8 8001FCB8 460C3201 */ sub.s $f8, $f6, $f12
/* 0208BC 8001FCBC C7A60044 */ lwc1 $f6, 0x44($sp)
/* 0208C0 8001FCC0 E7AA0064 */ swc1 $f10, 0x64($sp)
/* 0208C4 8001FCC4 460A003E */ c.le.s $f0, $f10
/* 0208C8 8001FCC8 E7A8002C */ swc1 $f8, 0x2c($sp)
/* 0208CC 8001FCCC 46023181 */ sub.s $f6, $f6, $f2
/* 0208D0 8001FCD0 E7A60034 */ swc1 $f6, 0x34($sp)
/* 0208D4 8001FCD4 46082182 */ mul.s $f6, $f4, $f8
/* 0208D8 8001FCD8 C7A40034 */ lwc1 $f4, 0x34($sp)
/* 0208DC 8001FCDC 46048102 */ mul.s $f4, $f16, $f4
/* 0208E0 8001FCE0 46043181 */ sub.s $f6, $f6, $f4
/* 0208E4 8001FCE4 C7A40034 */ lwc1 $f4, 0x34($sp)
/* 0208E8 8001FCE8 E7A60060 */ swc1 $f6, 0x60($sp)
/* 0208EC 8001FCEC 46122182 */ mul.s $f6, $f4, $f18
/* 0208F0 8001FCF0 00000000 */ nop
/* 0208F4 8001FCF4 460E4102 */ mul.s $f4, $f8, $f14
/* 0208F8 8001FCF8 46043201 */ sub.s $f8, $f6, $f4
/* 0208FC 8001FCFC C7A60060 */ lwc1 $f6, 0x60($sp)
/* 020900 8001FD00 45000009 */ bc1f .L8001FD28
/* 020904 8001FD04 E7A8005C */ swc1 $f8, 0x5c($sp)
/* 020908 8001FD08 4606003E */ c.le.s $f0, $f6
/* 02090C 8001FD0C C7A4005C */ lwc1 $f4, 0x5c($sp)
/* 020910 8001FD10 45020006 */ bc1fl .L8001FD2C
/* 020914 8001FD14 C7A80064 */ lwc1 $f8, 0x64($sp)
/* 020918 8001FD18 4604003E */ c.le.s $f0, $f4
/* 02091C 8001FD1C 00000000 */ nop
/* 020920 8001FD20 4503000F */ bc1tl .L8001FD60
/* 020924 8001FD24 240E0001 */ li $t6, 1
.L8001FD28:
/* 020928 8001FD28 C7A80064 */ lwc1 $f8, 0x64($sp)
.L8001FD2C:
/* 02092C 8001FD2C C7AA0060 */ lwc1 $f10, 0x60($sp)
/* 020930 8001FD30 4600403E */ c.le.s $f8, $f0
/* 020934 8001FD34 00000000 */ nop
/* 020938 8001FD38 4502000B */ bc1fl .L8001FD68
/* 02093C 8001FD3C 8FBF001C */ lw $ra, 0x1c($sp)
/* 020940 8001FD40 4600503E */ c.le.s $f10, $f0
/* 020944 8001FD44 C7A6005C */ lwc1 $f6, 0x5c($sp)
/* 020948 8001FD48 45020007 */ bc1fl .L8001FD68
/* 02094C 8001FD4C 8FBF001C */ lw $ra, 0x1c($sp)
/* 020950 8001FD50 4600303E */ c.le.s $f6, $f0
/* 020954 8001FD54 00000000 */ nop
/* 020958 8001FD58 45000002 */ bc1f .L8001FD64
/* 02095C 8001FD5C 240E0001 */ li $t6, 1
.L8001FD60:
/* 020960 8001FD60 A7AE0040 */ sh $t6, 0x40($sp)
.L8001FD64:
/* 020964 8001FD64 8FBF001C */ lw $ra, 0x1c($sp)
.L8001FD68:
/* 020968 8001FD68 97A20040 */ lhu $v0, 0x40($sp)
/* 02096C 8001FD6C 8FB00018 */ lw $s0, 0x18($sp)
/* 020970 8001FD70 03E00008 */ jr $ra
/* 020974 8001FD74 27BD0080 */ addiu $sp, $sp, 0x80
glabel func_8001FD78
/* 020978 8001FD78 27BDFF98 */ addiu $sp, $sp, -0x68
/* 02097C 8001FD7C AFBF001C */ sw $ra, 0x1c($sp)
/* 020980 8001FD80 AFB00018 */ sw $s0, 0x18($sp)
/* 020984 8001FD84 AFA5006C */ sw $a1, 0x6c($sp)
/* 020988 8001FD88 AFA60070 */ sw $a2, 0x70($sp)
/* 02098C 8001FD8C AFA70074 */ sw $a3, 0x74($sp)
/* 020990 8001FD90 A7A00042 */ sh $zero, 0x42($sp)
/* 020994 8001FD94 848E002E */ lh $t6, 0x2e($a0)
/* 020998 8001FD98 848D00C0 */ lh $t5, 0xc0($a0)
/* 02099C 8001FD9C 00808025 */ move $s0, $a0
/* 0209A0 8001FDA0 01AE2023 */ subu $a0, $t5, $t6
/* 0209A4 8001FDA4 2484F8E4 */ addiu $a0, $a0, -0x71c
/* 0209A8 8001FDA8 308FFFFF */ andi $t7, $a0, 0xffff
/* 0209AC 8001FDAC 0C0AE00E */ jal func_802B8038
/* 0209B0 8001FDB0 01E02025 */ move $a0, $t7
/* 0209B4 8001FDB4 3C01428C */ li $at, 0x428C0000 # 70.000000
/* 0209B8 8001FDB8 44815000 */ mtc1 $at, $f10
/* 0209BC 8001FDBC C604001C */ lwc1 $f4, 0x1c($s0)
/* 0209C0 8001FDC0 46005182 */ mul.s $f6, $f10, $f0
/* 0209C4 8001FDC4 46062200 */ add.s $f8, $f4, $f6
/* 0209C8 8001FDC8 E7A80058 */ swc1 $f8, 0x58($sp)
/* 0209CC 8001FDCC 8619002E */ lh $t9, 0x2e($s0)
/* 0209D0 8001FDD0 861800C0 */ lh $t8, 0xc0($s0)
/* 0209D4 8001FDD4 03192023 */ subu $a0, $t8, $t9
/* 0209D8 8001FDD8 2484F8E4 */ addiu $a0, $a0, -0x71c
/* 0209DC 8001FDDC 3088FFFF */ andi $t0, $a0, 0xffff
/* 0209E0 8001FDE0 0C0AE006 */ jal func_802B8018
/* 0209E4 8001FDE4 01002025 */ move $a0, $t0
/* 0209E8 8001FDE8 3C01428C */ li $at, 0x428C0000 # 70.000000
/* 0209EC 8001FDEC 44812000 */ mtc1 $at, $f4
/* 0209F0 8001FDF0 C60A0014 */ lwc1 $f10, 0x14($s0)
/* 0209F4 8001FDF4 46002182 */ mul.s $f6, $f4, $f0
/* 0209F8 8001FDF8 46065200 */ add.s $f8, $f10, $f6
/* 0209FC 8001FDFC E7A80064 */ swc1 $f8, 0x64($sp)
/* 020A00 8001FE00 860A002E */ lh $t2, 0x2e($s0)
/* 020A04 8001FE04 860900C0 */ lh $t1, 0xc0($s0)
/* 020A08 8001FE08 012A2023 */ subu $a0, $t1, $t2
/* 020A0C 8001FE0C 2484071C */ addiu $a0, $a0, 0x71c
/* 020A10 8001FE10 308BFFFF */ andi $t3, $a0, 0xffff
/* 020A14 8001FE14 0C0AE00E */ jal func_802B8038
/* 020A18 8001FE18 01602025 */ move $a0, $t3
/* 020A1C 8001FE1C 3C01428C */ li $at, 0x428C0000 # 70.000000
/* 020A20 8001FE20 44815000 */ mtc1 $at, $f10
/* 020A24 8001FE24 C604001C */ lwc1 $f4, 0x1c($s0)
/* 020A28 8001FE28 46005182 */ mul.s $f6, $f10, $f0
/* 020A2C 8001FE2C 46062200 */ add.s $f8, $f4, $f6
/* 020A30 8001FE30 E7A80054 */ swc1 $f8, 0x54($sp)
/* 020A34 8001FE34 860D002E */ lh $t5, 0x2e($s0)
/* 020A38 8001FE38 860C00C0 */ lh $t4, 0xc0($s0)
/* 020A3C 8001FE3C 018D2023 */ subu $a0, $t4, $t5
/* 020A40 8001FE40 2484071C */ addiu $a0, $a0, 0x71c
/* 020A44 8001FE44 308EFFFF */ andi $t6, $a0, 0xffff
/* 020A48 8001FE48 0C0AE006 */ jal func_802B8018
/* 020A4C 8001FE4C 01C02025 */ move $a0, $t6
/* 020A50 8001FE50 3C01428C */ li $at, 0x428C0000 # 70.000000
/* 020A54 8001FE54 44812000 */ mtc1 $at, $f4
/* 020A58 8001FE58 C60A0014 */ lwc1 $f10, 0x14($s0)
/* 020A5C 8001FE5C 46002182 */ mul.s $f6, $f4, $f0
/* 020A60 8001FE60 46065200 */ add.s $f8, $f10, $f6
/* 020A64 8001FE64 E7A80060 */ swc1 $f8, 0x60($sp)
/* 020A68 8001FE68 8618002E */ lh $t8, 0x2e($s0)
/* 020A6C 8001FE6C 860F00C0 */ lh $t7, 0xc0($s0)
/* 020A70 8001FE70 01F82023 */ subu $a0, $t7, $t8
/* 020A74 8001FE74 24841C70 */ addiu $a0, $a0, 0x1c70
/* 020A78 8001FE78 3099FFFF */ andi $t9, $a0, 0xffff
/* 020A7C 8001FE7C 0C0AE00E */ jal func_802B8038
/* 020A80 8001FE80 03202025 */ move $a0, $t9
/* 020A84 8001FE84 3C014120 */ li $at, 0x41200000 # 10.000000
/* 020A88 8001FE88 44815000 */ mtc1 $at, $f10
/* 020A8C 8001FE8C C604001C */ lwc1 $f4, 0x1c($s0)
/* 020A90 8001FE90 46005182 */ mul.s $f6, $f10, $f0
/* 020A94 8001FE94 46062200 */ add.s $f8, $f4, $f6
/* 020A98 8001FE98 E7A80050 */ swc1 $f8, 0x50($sp)
/* 020A9C 8001FE9C 8609002E */ lh $t1, 0x2e($s0)
/* 020AA0 8001FEA0 860800C0 */ lh $t0, 0xc0($s0)
/* 020AA4 8001FEA4 01092023 */ subu $a0, $t0, $t1
/* 020AA8 8001FEA8 24841C70 */ addiu $a0, $a0, 0x1c70
/* 020AAC 8001FEAC 308AFFFF */ andi $t2, $a0, 0xffff
/* 020AB0 8001FEB0 0C0AE006 */ jal func_802B8018
/* 020AB4 8001FEB4 01402025 */ move $a0, $t2
/* 020AB8 8001FEB8 3C014120 */ li $at, 0x41200000 # 10.000000
/* 020ABC 8001FEBC 44812000 */ mtc1 $at, $f4
/* 020AC0 8001FEC0 C60A0014 */ lwc1 $f10, 0x14($s0)
/* 020AC4 8001FEC4 44806000 */ mtc1 $zero, $f12
/* 020AC8 8001FEC8 46002182 */ mul.s $f6, $f4, $f0
/* 020ACC 8001FECC C7A40058 */ lwc1 $f4, 0x58($sp)
/* 020AD0 8001FED0 46065200 */ add.s $f8, $f10, $f6
/* 020AD4 8001FED4 C7AA0074 */ lwc1 $f10, 0x74($sp)
/* 020AD8 8001FED8 C7A60060 */ lwc1 $f6, 0x60($sp)
/* 020ADC 8001FEDC E7A8005C */ swc1 $f8, 0x5c($sp)
/* 020AE0 8001FEE0 460A2401 */ sub.s $f16, $f4, $f10
/* 020AE4 8001FEE4 C7A8006C */ lwc1 $f8, 0x6c($sp)
/* 020AE8 8001FEE8 C7A40054 */ lwc1 $f4, 0x54($sp)
/* 020AEC 8001FEEC E7AA0020 */ swc1 $f10, 0x20($sp)
/* 020AF0 8001FEF0 46083481 */ sub.s $f18, $f6, $f8
/* 020AF4 8001FEF4 E7A80024 */ swc1 $f8, 0x24($sp)
/* 020AF8 8001FEF8 460A2181 */ sub.s $f6, $f4, $f10
/* 020AFC 8001FEFC C7A40064 */ lwc1 $f4, 0x64($sp)
/* 020B00 8001FF00 46082101 */ sub.s $f4, $f4, $f8
/* 020B04 8001FF04 E7A60030 */ swc1 $f6, 0x30($sp)
/* 020B08 8001FF08 46043282 */ mul.s $f10, $f6, $f4
/* 020B0C 8001FF0C E7A4002C */ swc1 $f4, 0x2c($sp)
/* 020B10 8001FF10 46128202 */ mul.s $f8, $f16, $f18
/* 020B14 8001FF14 460A4381 */ sub.s $f14, $f8, $f10
/* 020B18 8001FF18 C7AA0024 */ lwc1 $f10, 0x24($sp)
/* 020B1C 8001FF1C C7A8005C */ lwc1 $f8, 0x5c($sp)
/* 020B20 8001FF20 460E603E */ c.le.s $f12, $f14
/* 020B24 8001FF24 00000000 */ nop
/* 020B28 8001FF28 45020016 */ bc1fl .L8001FF84
/* 020B2C 8001FF2C 460C703E */ c.le.s $f14, $f12
/* 020B30 8001FF30 460A4001 */ sub.s $f0, $f8, $f10
/* 020B34 8001FF34 C7AA0020 */ lwc1 $f10, 0x20($sp)
/* 020B38 8001FF38 C7A80050 */ lwc1 $f8, 0x50($sp)
/* 020B3C 8001FF3C 460A4081 */ sub.s $f2, $f8, $f10
/* 020B40 8001FF40 46003202 */ mul.s $f8, $f6, $f0
/* 020B44 8001FF44 00000000 */ nop
/* 020B48 8001FF48 46121282 */ mul.s $f10, $f2, $f18
/* 020B4C 8001FF4C 460A4181 */ sub.s $f6, $f8, $f10
/* 020B50 8001FF50 4606603E */ c.le.s $f12, $f6
/* 020B54 8001FF54 00000000 */ nop
/* 020B58 8001FF58 45000009 */ bc1f .L8001FF80
/* 020B5C 8001FF5C 00000000 */ nop
/* 020B60 8001FF60 46041202 */ mul.s $f8, $f2, $f4
/* 020B64 8001FF64 00000000 */ nop
/* 020B68 8001FF68 46008282 */ mul.s $f10, $f16, $f0
/* 020B6C 8001FF6C 460A4181 */ sub.s $f6, $f8, $f10
/* 020B70 8001FF70 4606603E */ c.le.s $f12, $f6
/* 020B74 8001FF74 00000000 */ nop
/* 020B78 8001FF78 4501001A */ bc1t .L8001FFE4
/* 020B7C 8001FF7C 00000000 */ nop
.L8001FF80:
/* 020B80 8001FF80 460C703E */ c.le.s $f14, $f12
.L8001FF84:
/* 020B84 8001FF84 C7A4005C */ lwc1 $f4, 0x5c($sp)
/* 020B88 8001FF88 C7A8006C */ lwc1 $f8, 0x6c($sp)
/* 020B8C 8001FF8C C7AA0050 */ lwc1 $f10, 0x50($sp)
/* 020B90 8001FF90 45000016 */ bc1f .L8001FFEC
/* 020B94 8001FF94 C7A60074 */ lwc1 $f6, 0x74($sp)
/* 020B98 8001FF98 46082001 */ sub.s $f0, $f4, $f8
/* 020B9C 8001FF9C C7A40030 */ lwc1 $f4, 0x30($sp)
/* 020BA0 8001FFA0 46065081 */ sub.s $f2, $f10, $f6
/* 020BA4 8001FFA4 46002202 */ mul.s $f8, $f4, $f0
/* 020BA8 8001FFA8 C7A4002C */ lwc1 $f4, 0x2c($sp)
/* 020BAC 8001FFAC 46121282 */ mul.s $f10, $f2, $f18
/* 020BB0 8001FFB0 460A4181 */ sub.s $f6, $f8, $f10
/* 020BB4 8001FFB4 460C303E */ c.le.s $f6, $f12
/* 020BB8 8001FFB8 00000000 */ nop
/* 020BBC 8001FFBC 4502000C */ bc1fl .L8001FFF0
/* 020BC0 8001FFC0 8FBF001C */ lw $ra, 0x1c($sp)
/* 020BC4 8001FFC4 46041202 */ mul.s $f8, $f2, $f4
/* 020BC8 8001FFC8 00000000 */ nop
/* 020BCC 8001FFCC 46008282 */ mul.s $f10, $f16, $f0
/* 020BD0 8001FFD0 460A4181 */ sub.s $f6, $f8, $f10
/* 020BD4 8001FFD4 460C303E */ c.le.s $f6, $f12
/* 020BD8 8001FFD8 00000000 */ nop
/* 020BDC 8001FFDC 45000003 */ bc1f .L8001FFEC
/* 020BE0 8001FFE0 00000000 */ nop
.L8001FFE4:
/* 020BE4 8001FFE4 240B0001 */ li $t3, 1
/* 020BE8 8001FFE8 A7AB0042 */ sh $t3, 0x42($sp)
.L8001FFEC:
/* 020BEC 8001FFEC 8FBF001C */ lw $ra, 0x1c($sp)
.L8001FFF0:
/* 020BF0 8001FFF0 97A20042 */ lhu $v0, 0x42($sp)
/* 020BF4 8001FFF4 8FB00018 */ lw $s0, 0x18($sp)
/* 020BF8 8001FFF8 03E00008 */ jr $ra
/* 020BFC 8001FFFC 27BD0068 */ addiu $sp, $sp, 0x68
glabel func_80020000
/* 020C00 80020000 27BDFFA0 */ addiu $sp, $sp, -0x60
/* 020C04 80020004 AFBF0024 */ sw $ra, 0x24($sp)
/* 020C08 80020008 AFB20020 */ sw $s2, 0x20($sp)
/* 020C0C 8002000C AFB1001C */ sw $s1, 0x1c($sp)
/* 020C10 80020010 AFB00018 */ sw $s0, 0x18($sp)
/* 020C14 80020014 AFA50064 */ sw $a1, 0x64($sp)
/* 020C18 80020018 AFA60068 */ sw $a2, 0x68($sp)
/* 020C1C 8002001C AFA7006C */ sw $a3, 0x6c($sp)
/* 020C20 80020020 94980000 */ lhu $t8, ($a0)
/* 020C24 80020024 00078600 */ sll $s0, $a3, 0x18
/* 020C28 80020028 00069600 */ sll $s2, $a2, 0x18
/* 020C2C 8002002C 00127603 */ sra $t6, $s2, 0x18
/* 020C30 80020030 00107E03 */ sra $t7, $s0, 0x18
/* 020C34 80020034 34018000 */ li $at, 32768
/* 020C38 80020038 33198000 */ andi $t9, $t8, 0x8000
/* 020C3C 8002003C 01E08025 */ move $s0, $t7
/* 020C40 80020040 01C09025 */ move $s2, $t6
/* 020C44 80020044 17210131 */ bne $t9, $at, .L8002050C
/* 020C48 80020048 00808825 */ move $s1, $a0
/* 020C4C 8002004C 000F3600 */ sll $a2, $t7, 0x18
/* 020C50 80020050 00065603 */ sra $t2, $a2, 0x18
/* 020C54 80020054 0C007E79 */ jal func_8001F9E4
/* 020C58 80020058 01403025 */ move $a2, $t2
/* 020C5C 8002005C 00105880 */ sll $t3, $s0, 2
/* 020C60 80020060 AFAB0038 */ sw $t3, 0x38($sp)
/* 020C64 80020064 962E0002 */ lhu $t6, 2($s1)
/* 020C68 80020068 240D0002 */ li $t5, 2
/* 020C6C 8002006C 016D1004 */ sllv $v0, $t5, $t3
/* 020C70 80020070 01C27824 */ and $t7, $t6, $v0
/* 020C74 80020074 544F0021 */ bnel $v0, $t7, .L800200FC
/* 020C78 80020078 27A4004C */ addiu $a0, $sp, 0x4c
/* 020C7C 8002007C 96380000 */ lhu $t8, ($s1)
/* 020C80 80020080 02202025 */ move $a0, $s1
/* 020C84 80020084 8FA50064 */ lw $a1, 0x64($sp)
/* 020C88 80020088 33192000 */ andi $t9, $t8, 0x2000
/* 020C8C 8002008C 1720000D */ bnez $t9, .L800200C4
/* 020C90 80020090 00103600 */ sll $a2, $s0, 0x18
/* 020C94 80020094 00103600 */ sll $a2, $s0, 0x18
/* 020C98 80020098 00123E00 */ sll $a3, $s2, 0x18
/* 020C9C 8002009C 00075E03 */ sra $t3, $a3, 0x18
/* 020CA0 800200A0 00065603 */ sra $t2, $a2, 0x18
/* 020CA4 800200A4 01403025 */ move $a2, $t2
/* 020CA8 800200A8 01603825 */ move $a3, $t3
/* 020CAC 800200AC 02202025 */ move $a0, $s1
/* 020CB0 800200B0 8FA50064 */ lw $a1, 0x64($sp)
/* 020CB4 800200B4 0C00A4D3 */ jal func_8002934C
/* 020CB8 800200B8 AFA20034 */ sw $v0, 0x34($sp)
/* 020CBC 800200BC 1000000E */ b .L800200F8
/* 020CC0 800200C0 8FA20034 */ lw $v0, 0x34($sp)
.L800200C4:
/* 020CC4 800200C4 00123E00 */ sll $a3, $s2, 0x18
/* 020CC8 800200C8 00076603 */ sra $t4, $a3, 0x18
/* 020CCC 800200CC 00066E03 */ sra $t5, $a2, 0x18
/* 020CD0 800200D0 01A03025 */ move $a2, $t5
/* 020CD4 800200D4 01803825 */ move $a3, $t4
/* 020CD8 800200D8 0C00A4D3 */ jal func_8002934C
/* 020CDC 800200DC AFA20034 */ sw $v0, 0x34($sp)
/* 020CE0 800200E0 8FA20034 */ lw $v0, 0x34($sp)
/* 020CE4 800200E4 00107040 */ sll $t6, $s0, 1
/* 020CE8 800200E8 A62000C4 */ sh $zero, 0xc4($s1)
/* 020CEC 800200EC A6200206 */ sh $zero, 0x206($s1)
/* 020CF0 800200F0 022E7821 */ addu $t7, $s1, $t6
/* 020CF4 800200F4 A5E00050 */ sh $zero, 0x50($t7)
.L800200F8:
/* 020CF8 800200F8 27A4004C */ addiu $a0, $sp, 0x4c
.L800200FC:
/* 020CFC 800200FC 27A50048 */ addiu $a1, $sp, 0x48
/* 020D00 80020100 0C007E60 */ jal func_8001F980
/* 020D04 80020104 AFA20034 */ sw $v0, 0x34($sp)
/* 020D08 80020108 8FA20034 */ lw $v0, 0x34($sp)
/* 020D0C 8002010C 96230002 */ lhu $v1, 2($s1)
/* 020D10 80020110 8FB90038 */ lw $t9, 0x38($sp)
/* 020D14 80020114 240A0001 */ li $t2, 1
/* 020D18 80020118 0062C024 */ and $t8, $v1, $v0
/* 020D1C 8002011C 145800FB */ bne $v0, $t8, .L8002050C
/* 020D20 80020120 032A1004 */ sllv $v0, $t2, $t9
/* 020D24 80020124 00625824 */ and $t3, $v1, $v0
/* 020D28 80020128 144B00F8 */ bne $v0, $t3, .L8002050C
/* 020D2C 8002012C 3C0D8016 */ lui $t5, %hi(D_80165570) # $t5, 0x8016
/* 020D30 80020130 3C0F8016 */ lui $t7, %hi(D_80165572) # $t7, 0x8016
/* 020D34 80020134 85EF5572 */ lh $t7, %lo(D_80165572)($t7)
/* 020D38 80020138 85AD5570 */ lh $t5, %lo(D_80165570)($t5)
/* 020D3C 8002013C 8FAC004C */ lw $t4, 0x4c($sp)
/* 020D40 80020140 8FB80048 */ lw $t8, 0x48($sp)
/* 020D44 80020144 0010C840 */ sll $t9, $s0, 1
/* 020D48 80020148 01AC7021 */ addu $t6, $t5, $t4
/* 020D4C 8002014C 01F85021 */ addu $t2, $t7, $t8
/* 020D50 80020150 448A3000 */ mtc1 $t2, $f6
/* 020D54 80020154 448E2000 */ mtc1 $t6, $f4
/* 020D58 80020158 02394021 */ addu $t0, $s1, $t9
/* 020D5C 8002015C 468031A0 */ cvt.s.w $f6, $f6
/* 020D60 80020160 AFA80038 */ sw $t0, 0x38($sp)
/* 020D64 80020164 02202025 */ move $a0, $s1
/* 020D68 80020168 8FA50064 */ lw $a1, 0x64($sp)
/* 020D6C 8002016C 46802120 */ cvt.s.w $f4, $f4
/* 020D70 80020170 44073000 */ mfc1 $a3, $f6
/* 020D74 80020174 44062000 */ mfc1 $a2, $f4
/* 020D78 80020178 0C007EC3 */ jal func_8001FB0C
/* 020D7C 8002017C 00000000 */ nop
/* 020D80 80020180 24090001 */ li $t1, 1
/* 020D84 80020184 01225826 */ xor $t3, $t1, $v0
/* 020D88 80020188 2D6B0001 */ sltiu $t3, $t3, 1
/* 020D8C 8002018C 316DFFFF */ andi $t5, $t3, 0xffff
/* 020D90 80020190 11A00037 */ beqz $t5, .L80020270
/* 020D94 80020194 8FA80038 */ lw $t0, 0x38($sp)
/* 020D98 80020198 3C07800E */ lui $a3, %hi(D_800DDB58) # $a3, 0x800e
/* 020D9C 8002019C 24E7DB58 */ addiu $a3, %lo(D_800DDB58) # addiu $a3, $a3, -0x24a8
/* 020DA0 800201A0 8CE20000 */ lw $v0, ($a3)
/* 020DA4 800201A4 3C018016 */ lui $at, %hi(D_80164AB0) # 0x8016
/* 020DA8 800201A8 00121840 */ sll $v1, $s2, 1
/* 020DAC 800201AC 00022840 */ sll $a1, $v0, 1
/* 020DB0 800201B0 00250821 */ addu $at, $at, $a1
/* 020DB4 800201B4 A4324AB0 */ sh $s2, %lo(D_80164AB0)($at) # 0x4ab0
/* 020DB8 800201B8 3C018016 */ lui $at, %hi(D_80164AC0) # 0x8016
/* 020DBC 800201BC 00250821 */ addu $at, $at, $a1
/* 020DC0 800201C0 A4304AC0 */ sh $s0, %lo(D_80164AC0)($at) # 0x4ac0
/* 020DC4 800201C4 3C018016 */ lui $at, %hi(D_80164AD0) # 0x8016
/* 020DC8 800201C8 00026080 */ sll $t4, $v0, 2
/* 020DCC 800201CC 002C0821 */ addu $at, $at, $t4
/* 020DD0 800201D0 AC314AD0 */ sw $s1, %lo(D_80164AD0)($at) # 0x4ad0
/* 020DD4 800201D4 00107900 */ sll $t7, $s0, 4
/* 020DD8 800201D8 01E3C021 */ addu $t8, $t7, $v1
/* 020DDC 800201DC 3C018016 */ lui $at, %hi(D_80165190) # 0x8016
/* 020DE0 800201E0 244E0001 */ addiu $t6, $v0, 1
/* 020DE4 800201E4 ACEE0000 */ sw $t6, ($a3)
/* 020DE8 800201E8 00380821 */ addu $at, $at, $t8
/* 020DEC 800201EC A4205190 */ sh $zero, %lo(D_80165190)($at) # 0x5190
/* 020DF0 800201F0 950A0244 */ lhu $t2, 0x244($t0)
/* 020DF4 800201F4 0010C900 */ sll $t9, $s0, 4
/* 020DF8 800201F8 03235821 */ addu $t3, $t9, $v1
/* 020DFC 800201FC 3C018016 */ lui $at, %hi(D_801650D0) # 0x8016
/* 020E00 80020200 002B0821 */ addu $at, $at, $t3
/* 020E04 80020204 A42A50D0 */ sh $t2, %lo(D_801650D0)($at) # 0x50d0
/* 020E08 80020208 950D024C */ lhu $t5, 0x24c($t0)
/* 020E0C 8002020C 00106100 */ sll $t4, $s0, 4
/* 020E10 80020210 01837021 */ addu $t6, $t4, $v1
/* 020E14 80020214 3C018016 */ lui $at, %hi(D_80165110) # 0x8016
/* 020E18 80020218 002E0821 */ addu $at, $at, $t6
/* 020E1C 8002021C A42D5110 */ sh $t5, %lo(D_80165110)($at) # 0x5110
/* 020E20 80020220 862F00A8 */ lh $t7, 0xa8($s1)
/* 020E24 80020224 0010C100 */ sll $t8, $s0, 4
/* 020E28 80020228 0303C821 */ addu $t9, $t8, $v1
/* 020E2C 8002022C 3C018016 */ lui $at, %hi(D_80165150) # 0x8016
/* 020E30 80020230 3C0C8016 */ lui $t4, %hi(D_801651D0) # $t4, 0x8016
/* 020E34 80020234 00105100 */ sll $t2, $s0, 4
/* 020E38 80020238 00390821 */ addu $at, $at, $t9
/* 020E3C 8002023C 01435821 */ addu $t3, $t2, $v1
/* 020E40 80020240 258C51D0 */ addiu $t4, %lo(D_801651D0) # addiu $t4, $t4, 0x51d0
/* 020E44 80020244 016C2021 */ addu $a0, $t3, $t4
/* 020E48 80020248 A42F5150 */ sh $t7, %lo(D_80165150)($at) # 0x5150
/* 020E4C 8002024C 848D0000 */ lh $t5, ($a0)
/* 020E50 80020250 24010002 */ li $at, 2
/* 020E54 80020254 25AE0001 */ addiu $t6, $t5, 1
/* 020E58 80020258 A48E0000 */ sh $t6, ($a0)
/* 020E5C 8002025C 84980000 */ lh $t8, ($a0)
/* 020E60 80020260 570100AB */ bnel $t8, $at, .L80020510
/* 020E64 80020264 8FBF0024 */ lw $ra, 0x24($sp)
/* 020E68 80020268 100000A8 */ b .L8002050C
/* 020E6C 8002026C A4800000 */ sh $zero, ($a0)
.L80020270:
/* 020E70 80020270 3C0F8016 */ lui $t7, %hi(D_80165574) # $t7, 0x8016
/* 020E74 80020274 85EF5574 */ lh $t7, %lo(D_80165574)($t7)
/* 020E78 80020278 8FB9004C */ lw $t9, 0x4c($sp)
/* 020E7C 8002027C 3C0B8016 */ lui $t3, %hi(D_80165576) # $t3, 0x8016
/* 020E80 80020280 856B5576 */ lh $t3, %lo(D_80165576)($t3)
/* 020E84 80020284 01F95021 */ addu $t2, $t7, $t9
/* 020E88 80020288 448A4000 */ mtc1 $t2, $f8
/* 020E8C 8002028C 448B5000 */ mtc1 $t3, $f10
/* 020E90 80020290 02202025 */ move $a0, $s1
/* 020E94 80020294 46804220 */ cvt.s.w $f8, $f8
/* 020E98 80020298 8FA50064 */ lw $a1, 0x64($sp)
/* 020E9C 8002029C AFA80038 */ sw $t0, 0x38($sp)
/* 020EA0 800202A0 468052A0 */ cvt.s.w $f10, $f10
/* 020EA4 800202A4 44064000 */ mfc1 $a2, $f8
/* 020EA8 800202A8 44075000 */ mfc1 $a3, $f10
/* 020EAC 800202AC 0C007EC3 */ jal func_8001FB0C
/* 020EB0 800202B0 00000000 */ nop
/* 020EB4 800202B4 24090001 */ li $t1, 1
/* 020EB8 800202B8 01226026 */ xor $t4, $t1, $v0
/* 020EBC 800202BC 2D8C0001 */ sltiu $t4, $t4, 1
/* 020EC0 800202C0 318DFFFF */ andi $t5, $t4, 0xffff
/* 020EC4 800202C4 11A0004E */ beqz $t5, .L80020400
/* 020EC8 800202C8 8FA80038 */ lw $t0, 0x38($sp)
/* 020ECC 800202CC 3C18800E */ lui $t8, %hi(D_800DDB50)
/* 020ED0 800202D0 0312C021 */ addu $t8, $t8, $s2
/* 020ED4 800202D4 3C0E800E */ lui $t6, %hi(sRenderingFramebuffer) # $t6, 0x800e
/* 020ED8 800202D8 95CEC560 */ lhu $t6, %lo(sRenderingFramebuffer)($t6)
/* 020EDC 800202DC 8318DB50 */ lb $t8, %lo(D_800DDB50)($t8)
/* 020EE0 800202E0 00121840 */ sll $v1, $s2, 1
/* 020EE4 800202E4 00107900 */ sll $t7, $s0, 4
/* 020EE8 800202E8 11D80010 */ beq $t6, $t8, .L8002032C
/* 020EEC 800202EC 01E3C821 */ addu $t9, $t7, $v1
/* 020EF0 800202F0 3C0A8016 */ lui $t2, %hi(D_801650D0) # 0x8016
/* 020EF4 800202F4 01595021 */ addu $t2, $t2, $t9
/* 020EF8 800202F8 854A50D0 */ lh $t2, %lo(D_801650D0)($t2) # 0x50d0
/* 020EFC 800202FC 950B0244 */ lhu $t3, 0x244($t0)
/* 020F00 80020300 014B1023 */ subu $v0, $t2, $t3
/* 020F04 80020304 28410014 */ slti $at, $v0, 0x14
/* 020F08 80020308 10200008 */ beqz $at, .L8002032C
/* 020F0C 8002030C 2841FFED */ slti $at, $v0, -0x13
/* 020F10 80020310 14200006 */ bnez $at, .L8002032C
/* 020F14 80020314 00106100 */ sll $t4, $s0, 4
/* 020F18 80020318 01836821 */ addu $t5, $t4, $v1
/* 020F1C 8002031C 3C0E8016 */ lui $t6, %hi(D_80165190) # 0x8016
/* 020F20 80020320 01CD7021 */ addu $t6, $t6, $t5
/* 020F24 80020324 85CE5190 */ lh $t6, %lo(D_80165190)($t6) # 0x5190($t6)
/* 020F28 80020328 152E0078 */ bne $t1, $t6, .L8002050C
.L8002032C:
/* 020F2C 8002032C 3C07800E */ lui $a3, %hi(D_800DDB58) # $a3, 0x800e
/* 020F30 80020330 24E7DB58 */ addiu $a3, %lo(D_800DDB58) # addiu $a3, $a3, -0x24a8
/* 020F34 80020334 8CE20000 */ lw $v0, ($a3)
/* 020F38 80020338 3C018016 */ lui $at, %hi(D_80164AB0) # 0x8016
/* 020F3C 8002033C 00121840 */ sll $v1, $s2, 1
/* 020F40 80020340 00022840 */ sll $a1, $v0, 1
/* 020F44 80020344 00250821 */ addu $at, $at, $a1
/* 020F48 80020348 A4324AB0 */ sh $s2, %lo(D_80164AB0)($at) # 0x4ab0($at)
/* 020F4C 8002034C 3C018016 */ lui $at, %hi(D_80164AC0) # 0x8016
/* 020F50 80020350 00250821 */ addu $at, $at, $a1
/* 020F54 80020354 A4304AC0 */ sh $s0, %lo(D_80164AC0)($at) # 0x4ac0($at)
/* 020F58 80020358 3C018016 */ lui $at, %hi(D_80164AD0) # 0x8016
/* 020F5C 8002035C 0002C080 */ sll $t8, $v0, 2
/* 020F60 80020360 00380821 */ addu $at, $at, $t8
/* 020F64 80020364 AC314AD0 */ sw $s1, %lo(D_80164AD0)($at) # 0x4ad0($at)
/* 020F68 80020368 244F0001 */ addiu $t7, $v0, 1
/* 020F6C 8002036C ACEF0000 */ sw $t7, ($a3)
/* 020F70 80020370 95190244 */ lhu $t9, 0x244($t0)
/* 020F74 80020374 00105100 */ sll $t2, $s0, 4
/* 020F78 80020378 01435821 */ addu $t3, $t2, $v1
/* 020F7C 8002037C 3C018016 */ lui $at, %hi(D_801650D0) # 0x8016
/* 020F80 80020380 002B0821 */ addu $at, $at, $t3
/* 020F84 80020384 A43950D0 */ sh $t9, %lo(D_801650D0)($at) # 0x50d0($at)
/* 020F88 80020388 950C024C */ lhu $t4, 0x24c($t0)
/* 020F8C 8002038C 00106900 */ sll $t5, $s0, 4
/* 020F90 80020390 01A37021 */ addu $t6, $t5, $v1
/* 020F94 80020394 3C018016 */ lui $at, %hi(D_80165110) # 0x8016
/* 020F98 80020398 002E0821 */ addu $at, $at, $t6
/* 020F9C 8002039C A42C5110 */ sh $t4, %lo(D_80165110)($at) # 0x5110($at)
/* 020FA0 800203A0 863800A8 */ lh $t8, 0xa8($s1)
/* 020FA4 800203A4 00107900 */ sll $t7, $s0, 4
/* 020FA8 800203A8 01E35021 */ addu $t2, $t7, $v1
/* 020FAC 800203AC 3C018016 */ lui $at, %hi(D_80165150) # 0x8016
/* 020FB0 800203B0 002A0821 */ addu $at, $at, $t2
/* 020FB4 800203B4 0010C900 */ sll $t9, $s0, 4
/* 020FB8 800203B8 A4385150 */ sh $t8, %lo(D_80165150)($at) # 0x5150($at)
/* 020FBC 800203BC 3C018016 */ lui $at, %hi(D_80165190) # 0x8016
/* 020FC0 800203C0 03235821 */ addu $t3, $t9, $v1
/* 020FC4 800203C4 3C0E8016 */ lui $t6, %hi(D_801651D0) # $t6, 0x8016
/* 020FC8 800203C8 002B0821 */ addu $at, $at, $t3
/* 020FCC 800203CC 25CE51D0 */ addiu $t6, %lo(D_801651D0) # addiu $t6, $t6, 0x51d0
/* 020FD0 800203D0 01A36021 */ addu $t4, $t5, $v1
/* 020FD4 800203D4 A4205190 */ sh $zero, %lo(D_80165190)($at) # 0x5190($at)
/* 020FD8 800203D8 018E2021 */ addu $a0, $t4, $t6
/* 020FDC 800203DC 848F0000 */ lh $t7, ($a0)
/* 020FE0 800203E0 24010002 */ li $at, 2
/* 020FE4 800203E4 25F80001 */ addiu $t8, $t7, 1
/* 020FE8 800203E8 A4980000 */ sh $t8, ($a0)
/* 020FEC 800203EC 848A0000 */ lh $t2, ($a0)
/* 020FF0 800203F0 55410047 */ bnel $t2, $at, .L80020510
/* 020FF4 800203F4 8FBF0024 */ lw $ra, 0x24($sp)
/* 020FF8 800203F8 10000044 */ b .L8002050C
/* 020FFC 800203FC A4800000 */ sh $zero, ($a0)
.L80020400:
/* 021000 80020400 00121840 */ sll $v1, $s2, 1
/* 021004 80020404 0010C900 */ sll $t9, $s0, 4
/* 021008 80020408 3C0D8016 */ lui $t5, %hi(D_801650D0) # $t5, 0x8016
/* 02100C 8002040C 25AD50D0 */ addiu $t5, %lo(D_801650D0) # addiu $t5, $t5, 0x50d0
/* 021010 80020410 03235821 */ addu $t3, $t9, $v1
/* 021014 80020414 016D3021 */ addu $a2, $t3, $t5
/* 021018 80020418 84CC0000 */ lh $t4, ($a2)
/* 02101C 8002041C 950E0244 */ lhu $t6, 0x244($t0)
/* 021020 80020420 3C07800E */ lui $a3, %hi(D_800DDB58) # $a3, 0x800e
/* 021024 80020424 24E7DB58 */ addiu $a3, %lo(D_800DDB58) # addiu $a3, $a3, -0x24a8
/* 021028 80020428 018E1023 */ subu $v0, $t4, $t6
/* 02102C 8002042C 28410014 */ slti $at, $v0, 0x14
/* 021030 80020430 1020000A */ beqz $at, .L8002045C
/* 021034 80020434 00107100 */ sll $t6, $s0, 4
/* 021038 80020438 2841FFED */ slti $at, $v0, -0x13
/* 02103C 8002043C 14200007 */ bnez $at, .L8002045C
/* 021040 80020440 00107900 */ sll $t7, $s0, 4
/* 021044 80020444 01E3C021 */ addu $t8, $t7, $v1
/* 021048 80020448 3C0A8016 */ lui $t2, %hi(D_80165190) # 0x8016
/* 02104C 8002044C 01585021 */ addu $t2, $t2, $t8
/* 021050 80020450 854A5190 */ lh $t2, %lo(D_80165190)($t2) # 0x5190
/* 021054 80020454 552A002E */ bnel $t1, $t2, .L80020510
/* 021058 80020458 8FBF0024 */ lw $ra, 0x24($sp)
.L8002045C:
/* 02105C 8002045C 8CE20000 */ lw $v0, ($a3)
/* 021060 80020460 3C018016 */ lui $at, %hi(D_80164AB0) # 0x8016
/* 021064 80020464 01C37821 */ addu $t7, $t6, $v1
/* 021068 80020468 00022840 */ sll $a1, $v0, 1
/* 02106C 8002046C 00250821 */ addu $at, $at, $a1
/* 021070 80020470 A4324AB0 */ sh $s2, %lo(D_80164AB0)($at) # 0x4ab0
/* 021074 80020474 3C018016 */ lui $at, %hi(D_80164AC0) # 0x8016
/* 021078 80020478 00250821 */ addu $at, $at, $a1
/* 02107C 8002047C A4304AC0 */ sh $s0, %lo(D_80164AC0)($at) # 0x4ac0
/* 021080 80020480 3C018016 */ lui $at, %hi(D_80164AD0) # 0x8016
/* 021084 80020484 0002C880 */ sll $t9, $v0, 2
/* 021088 80020488 00390821 */ addu $at, $at, $t9
/* 02108C 8002048C AC314AD0 */ sw $s1, %lo(D_80164AD0)($at) # 0x4ad0
/* 021090 80020490 244B0001 */ addiu $t3, $v0, 1
/* 021094 80020494 ACEB0000 */ sw $t3, ($a3)
/* 021098 80020498 950D0244 */ lhu $t5, 0x244($t0)
/* 02109C 8002049C 3C018016 */ lui $at, %hi(D_80165110) # 0x8016
/* 0210A0 800204A0 002F0821 */ addu $at, $at, $t7
/* 0210A4 800204A4 A4CD0000 */ sh $t5, ($a2)
/* 0210A8 800204A8 950C024C */ lhu $t4, 0x24c($t0)
/* 0210AC 800204AC 00105100 */ sll $t2, $s0, 4
/* 0210B0 800204B0 0143C821 */ addu $t9, $t2, $v1
/* 0210B4 800204B4 A42C5110 */ sh $t4, %lo(D_80165110)($at) # 0x5110
/* 0210B8 800204B8 863800A8 */ lh $t8, 0xa8($s1)
/* 0210BC 800204BC 3C018016 */ lui $at, %hi(D_80165150) # 0x8016
/* 0210C0 800204C0 00390821 */ addu $at, $at, $t9
/* 0210C4 800204C4 00105900 */ sll $t3, $s0, 4
/* 0210C8 800204C8 A4385150 */ sh $t8, %lo(D_80165150)($at) # 0x5150
/* 0210CC 800204CC 3C018016 */ lui $at, %hi(D_80165190) # 0x8016
/* 0210D0 800204D0 01636821 */ addu $t5, $t3, $v1
/* 0210D4 800204D4 3C0F8016 */ lui $t7, %hi(D_801651D0) # $t7, 0x8016
/* 0210D8 800204D8 002D0821 */ addu $at, $at, $t5
/* 0210DC 800204DC 25EF51D0 */ addiu $t7, %lo(D_801651D0) # addiu $t7, $t7, 0x51d0
/* 0210E0 800204E0 01C36021 */ addu $t4, $t6, $v1
/* 0210E4 800204E4 A4205190 */ sh $zero, %lo(D_80165190)($at) # 0x5190
/* 0210E8 800204E8 018F2021 */ addu $a0, $t4, $t7
/* 0210EC 800204EC 848A0000 */ lh $t2, ($a0)
/* 0210F0 800204F0 24010002 */ li $at, 2
/* 0210F4 800204F4 25580001 */ addiu $t8, $t2, 1
/* 0210F8 800204F8 A4980000 */ sh $t8, ($a0)
/* 0210FC 800204FC 84990000 */ lh $t9, ($a0)
/* 021100 80020500 57210003 */ bnel $t9, $at, .L80020510
/* 021104 80020504 8FBF0024 */ lw $ra, 0x24($sp)
/* 021108 80020508 A4800000 */ sh $zero, ($a0)
.L8002050C:
/* 02110C 8002050C 8FBF0024 */ lw $ra, 0x24($sp)
.L80020510:
/* 021110 80020510 8FB00018 */ lw $s0, 0x18($sp)
/* 021114 80020514 8FB1001C */ lw $s1, 0x1c($sp)
/* 021118 80020518 8FB20020 */ lw $s2, 0x20($sp)
/* 02111C 8002051C 03E00008 */ jr $ra
/* 021120 80020520 27BD0060 */ addiu $sp, $sp, 0x60
glabel func_80020524
/* 021124 80020524 27BDFFB8 */ addiu $sp, $sp, -0x48
/* 021128 80020528 3C038016 */ lui $v1, %hi(D_80164AC0) # $v1, 0x8016
/* 02112C 8002052C 84634AC0 */ lh $v1, %lo(D_80164AC0)($v1)
/* 021130 80020530 3C028016 */ lui $v0, %hi(D_80164AB0) # $v0, 0x8016
/* 021134 80020534 84424AB0 */ lh $v0, %lo(D_80164AB0)($v0)
/* 021138 80020538 AFB3002C */ sw $s3, 0x2c($sp)
/* 02113C 8002053C 3C138016 */ lui $s3, %hi(D_801651D0) # $s3, 0x8016
/* 021140 80020540 267351D0 */ addiu $s3, %lo(D_801651D0) # addiu $s3, $s3, 0x51d0
/* 021144 80020544 0003C900 */ sll $t9, $v1, 4
/* 021148 80020548 02794821 */ addu $t1, $s3, $t9
/* 02114C 8002054C 00033600 */ sll $a2, $v1, 0x18
/* 021150 80020550 00025040 */ sll $t2, $v0, 1
/* 021154 80020554 AFBF0044 */ sw $ra, 0x44($sp)
/* 021158 80020558 AFBE0040 */ sw $fp, 0x40($sp)
/* 02115C 8002055C AFB7003C */ sw $s7, 0x3c($sp)
/* 021160 80020560 AFB60038 */ sw $s6, 0x38($sp)
/* 021164 80020564 AFB50034 */ sw $s5, 0x34($sp)
/* 021168 80020568 AFB40030 */ sw $s4, 0x30($sp)
/* 02116C 8002056C AFB20028 */ sw $s2, 0x28($sp)
/* 021170 80020570 AFB10024 */ sw $s1, 0x24($sp)
/* 021174 80020574 AFB00020 */ sw $s0, 0x20($sp)
/* 021178 80020578 012A5821 */ addu $t3, $t1, $t2
/* 02117C 8002057C 00067E03 */ sra $t7, $a2, 0x18
/* 021180 80020580 856C0000 */ lh $t4, ($t3)
/* 021184 80020584 000F3E00 */ sll $a3, $t7, 0x18
/* 021188 80020588 00022E00 */ sll $a1, $v0, 0x18
/* 02118C 8002058C 00057603 */ sra $t6, $a1, 0x18
/* 021190 80020590 0007C603 */ sra $t8, $a3, 0x18
/* 021194 80020594 3C048016 */ lui $a0, %hi(D_80164AD0) # $a0, 0x8016
/* 021198 80020598 8C844AD0 */ lw $a0, %lo(D_80164AD0)($a0)
/* 02119C 8002059C 03003825 */ move $a3, $t8
/* 0211A0 800205A0 01C02825 */ move $a1, $t6
/* 0211A4 800205A4 01E03025 */ move $a2, $t7
/* 0211A8 800205A8 0C009D58 */ jal func_80027560
/* 0211AC 800205AC AFAC0010 */ sw $t4, 0x10($sp)
/* 0211B0 800205B0 3C04800E */ lui $a0, %hi(D_800DC4FC) # $a0, 0x800e
/* 0211B4 800205B4 8C84C4FC */ lw $a0, %lo(D_800DC4FC)($a0)
/* 0211B8 800205B8 00002825 */ move $a1, $zero
/* 0211BC 800205BC 0C01B96B */ jal func_8006E5AC
/* 0211C0 800205C0 00003025 */ move $a2, $zero
/* 0211C4 800205C4 3C04800E */ lui $a0, %hi(D_800DC4E0) # $a0, 0x800e
/* 0211C8 800205C8 8C84C4E0 */ lw $a0, %lo(D_800DC4E0)($a0)
/* 0211CC 800205CC 24050001 */ li $a1, 1
/* 0211D0 800205D0 0C01B96B */ jal func_8006E5AC
/* 0211D4 800205D4 00003025 */ move $a2, $zero
/* 0211D8 800205D8 3C04800E */ lui $a0, %hi(D_800DC4E4) # $a0, 0x800e
/* 0211DC 800205DC 8C84C4E4 */ lw $a0, %lo(D_800DC4E4)($a0)
/* 0211E0 800205E0 24050002 */ li $a1, 2
/* 0211E4 800205E4 0C01B96B */ jal func_8006E5AC
/* 0211E8 800205E8 00003025 */ move $a2, $zero
/* 0211EC 800205EC 3C04800E */ lui $a0, %hi(D_800DC4E8) # $a0, 0x800e
/* 0211F0 800205F0 8C84C4E8 */ lw $a0, %lo(D_800DC4E8)($a0)
/* 0211F4 800205F4 24050003 */ li $a1, 3
/* 0211F8 800205F8 0C01B96B */ jal func_8006E5AC
/* 0211FC 800205FC 00003025 */ move $a2, $zero
/* 021200 80020600 3C0D800E */ lui $t5, %hi(D_800DC52C) # $t5, 0x800e
/* 021204 80020604 8DADC52C */ lw $t5, %lo(D_800DC52C)($t5)
/* 021208 80020608 24010003 */ li $at, 3
/* 02120C 8002060C 3C04800E */ lui $a0, %hi(D_800DC4EC) # $a0, 0x800e
/* 021210 80020610 11A10013 */ beq $t5, $at, .L80020660
/* 021214 80020614 24050004 */ li $a1, 4
/* 021218 80020618 8C84C4EC */ lw $a0, %lo(D_800DC4EC)($a0)
/* 02121C 8002061C 0C01B96B */ jal func_8006E5AC
/* 021220 80020620 00003025 */ move $a2, $zero
/* 021224 80020624 3C04800E */ lui $a0, %hi(D_800DC4F0) # $a0, 0x800e
/* 021228 80020628 8C84C4F0 */ lw $a0, %lo(D_800DC4F0)($a0)
/* 02122C 8002062C 24050005 */ li $a1, 5
/* 021230 80020630 0C01B96B */ jal func_8006E5AC
/* 021234 80020634 00003025 */ move $a2, $zero
/* 021238 80020638 3C04800E */ lui $a0, %hi(D_800DC4F4) # $a0, 0x800e
/* 02123C 8002063C 8C84C4F4 */ lw $a0, %lo(D_800DC4F4)($a0)
/* 021240 80020640 24050006 */ li $a1, 6
/* 021244 80020644 0C01B96B */ jal func_8006E5AC
/* 021248 80020648 00003025 */ move $a2, $zero
/* 02124C 8002064C 3C04800E */ lui $a0, %hi(D_800DC4F8) # $a0, 0x800e
/* 021250 80020650 8C84C4F8 */ lw $a0, %lo(D_800DC4F8)($a0)
/* 021254 80020654 24050007 */ li $a1, 7
/* 021258 80020658 0C01B96B */ jal func_8006E5AC
/* 02125C 8002065C 00003025 */ move $a2, $zero
.L80020660:
/* 021260 80020660 3C148015 */ lui $s4, %hi(D_8014EF58) # $s4, 0x8015
/* 021264 80020664 3C158015 */ lui $s5, %hi(D_8014F098) # $s5, 0x8015
/* 021268 80020668 26B5F098 */ addiu $s5, %lo(D_8014F098) # addiu $s5, $s5, -0xf68
/* 02126C 8002066C 2694EF58 */ addiu $s4, %lo(D_8014EF58) # addiu $s4, $s4, -0x10a8
/* 021270 80020670 02802025 */ move $a0, $s4
/* 021274 80020674 02A02825 */ move $a1, $s5
/* 021278 80020678 0C0335D4 */ jal osRecvMesg
/* 02127C 8002067C 24060001 */ li $a2, 1
/* 021280 80020680 3C16800E */ lui $s6, %hi(D_800DDB58) # $s6, 0x800e
/* 021284 80020684 26D6DB58 */ addiu $s6, %lo(D_800DDB58) # addiu $s6, $s6, -0x24a8
/* 021288 80020688 8EC20000 */ lw $v0, ($s6)
/* 02128C 8002068C 24100001 */ li $s0, 1
/* 021290 80020690 241E0920 */ li $fp, 2336
/* 021294 80020694 28410002 */ slti $at, $v0, 2
/* 021298 80020698 14200049 */ bnez $at, .L800207C0
/* 02129C 8002069C 3C17802E */ lui $s7, %hi(D_802DFB80) # $s7, 0x802e
/* 0212A0 800206A0 26F7FB80 */ addiu $s7, %lo(D_802DFB80) # addiu $s7, $s7, -0x480
.L800206A4:
/* 0212A4 800206A4 3C198016 */ lui $t9, %hi(D_80164AC0) # $t9, 0x8016
/* 0212A8 800206A8 27394AC0 */ addiu $t9, %lo(D_80164AC0) # addiu $t9, $t9, 0x4ac0
/* 0212AC 800206AC 00101040 */ sll $v0, $s0, 1
/* 0212B0 800206B0 3C0F8016 */ lui $t7, %hi(D_80164AB0) # $t7, 0x8016
/* 0212B4 800206B4 25EF4AB0 */ addiu $t7, %lo(D_80164AB0) # addiu $t7, $t7, 0x4ab0
/* 0212B8 800206B8 00599021 */ addu $s2, $v0, $t9
/* 0212BC 800206BC 86480000 */ lh $t0, ($s2)
/* 0212C0 800206C0 004F8821 */ addu $s1, $v0, $t7
/* 0212C4 800206C4 86230000 */ lh $v1, ($s1)
/* 0212C8 800206C8 00107080 */ sll $t6, $s0, 2
/* 0212CC 800206CC 3C048016 */ lui $a0, %hi(D_80164AD0) # 0x8016
/* 0212D0 800206D0 00085900 */ sll $t3, $t0, 4
/* 0212D4 800206D4 026B6021 */ addu $t4, $s3, $t3
/* 0212D8 800206D8 008E2021 */ addu $a0, $a0, $t6
/* 0212DC 800206DC 00083600 */ sll $a2, $t0, 0x18
/* 0212E0 800206E0 00036840 */ sll $t5, $v1, 1
/* 0212E4 800206E4 018D7021 */ addu $t6, $t4, $t5
/* 0212E8 800206E8 00064E03 */ sra $t1, $a2, 0x18
/* 0212EC 800206EC 85CF0000 */ lh $t7, ($t6)
/* 0212F0 800206F0 00093E00 */ sll $a3, $t1, 0x18
/* 0212F4 800206F4 00032E00 */ sll $a1, $v1, 0x18
/* 0212F8 800206F8 0005C603 */ sra $t8, $a1, 0x18
/* 0212FC 800206FC 00075603 */ sra $t2, $a3, 0x18
/* 021300 80020700 01403825 */ move $a3, $t2
/* 021304 80020704 03002825 */ move $a1, $t8
/* 021308 80020708 01203025 */ move $a2, $t1
/* 02130C 8002070C 8C844AD0 */ lw $a0, %lo(D_80164AD0)($a0) # 0x4ad0
/* 021310 80020710 0C009D58 */ jal func_80027560
/* 021314 80020714 AFAF0010 */ sw $t7, 0x10($sp)
/* 021318 80020718 8642FFFE */ lh $v0, -2($s2)
/* 02131C 8002071C 8623FFFE */ lh $v1, -2($s1)
/* 021320 80020720 0002C100 */ sll $t8, $v0, 4
/* 021324 80020724 0278C821 */ addu $t9, $s3, $t8
/* 021328 80020728 00034840 */ sll $t1, $v1, 1
/* 02132C 8002072C 03295021 */ addu $t2, $t9, $t1
/* 021330 80020730 85460000 */ lh $a2, ($t2)
/* 021334 80020734 007E0019 */ multu $v1, $fp
/* 021338 80020738 000268C0 */ sll $t5, $v0, 3
/* 02133C 8002073C 000658C0 */ sll $t3, $a2, 3
/* 021340 80020740 01665821 */ addu $t3, $t3, $a2
/* 021344 80020744 000B58C0 */ sll $t3, $t3, 3
/* 021348 80020748 01A26821 */ addu $t5, $t5, $v0
/* 02134C 8002074C 000D68C0 */ sll $t5, $t5, 3
/* 021350 80020750 01665821 */ addu $t3, $t3, $a2
/* 021354 80020754 000B5A40 */ sll $t3, $t3, 9
/* 021358 80020758 01A26821 */ addu $t5, $t5, $v0
/* 02135C 8002075C 000D6A00 */ sll $t5, $t5, 8
/* 021360 80020760 02EB6021 */ addu $t4, $s7, $t3
/* 021364 80020764 018D7021 */ addu $t6, $t4, $t5
/* 021368 80020768 0002CBC0 */ sll $t9, $v0, 0xf
/* 02136C 8002076C 0006C400 */ sll $t8, $a2, 0x10
/* 021370 80020770 03194821 */ addu $t1, $t8, $t9
/* 021374 80020774 3C0C802C */ lui $t4, %hi(D_802BFB80) # $t4, 0x802c
/* 021378 80020778 00035300 */ sll $t2, $v1, 0xc
/* 02137C 8002077C 012A5821 */ addu $t3, $t1, $t2
/* 021380 80020780 258CFB80 */ addiu $t4, %lo(D_802BFB80) # addiu $t4, $t4, -0x480
/* 021384 80020784 00007812 */ mflo $t7
/* 021388 80020788 01CF2021 */ addu $a0, $t6, $t7
/* 02138C 8002078C 0C010034 */ jal mio0decode
/* 021390 80020790 016C2821 */ addu $a1, $t3, $t4
/* 021394 80020794 02802025 */ move $a0, $s4
/* 021398 80020798 02A02825 */ move $a1, $s5
/* 02139C 8002079C 0C0335D4 */ jal osRecvMesg
/* 0213A0 800207A0 24060001 */ li $a2, 1
/* 0213A4 800207A4 8EC20000 */ lw $v0, ($s6)
/* 0213A8 800207A8 26100001 */ addiu $s0, $s0, 1
/* 0213AC 800207AC 00106C00 */ sll $t5, $s0, 0x10
/* 0213B0 800207B0 000D8403 */ sra $s0, $t5, 0x10
/* 0213B4 800207B4 0202082A */ slt $at, $s0, $v0
/* 0213B8 800207B8 1420FFBA */ bnez $at, .L800206A4
/* 0213BC 800207BC 00000000 */ nop
.L800207C0:
/* 0213C0 800207C0 00023840 */ sll $a3, $v0, 1
/* 0213C4 800207C4 3C038016 */ lui $v1, %hi(D_80164ABE) # 0x8016
/* 0213C8 800207C8 00671821 */ addu $v1, $v1, $a3
/* 0213CC 800207CC 3C068016 */ lui $a2, %hi(D_80164AAE) # 0x8016
/* 0213D0 800207D0 84634ABE */ lh $v1, %lo(D_80164ABE)($v1) # 0x4abe
/* 0213D4 800207D4 00C73021 */ addu $a2, $a2, $a3
/* 0213D8 800207D8 84C64AAE */ lh $a2, %lo(D_80164AAE)($a2) # 0x4aae($a2)
/* 0213DC 800207DC 00037900 */ sll $t7, $v1, 4
/* 0213E0 800207E0 026FC021 */ addu $t8, $s3, $t7
/* 0213E4 800207E4 0006C840 */ sll $t9, $a2, 1
/* 0213E8 800207E8 03194821 */ addu $t1, $t8, $t9
/* 0213EC 800207EC 85280000 */ lh $t0, ($t1)
/* 0213F0 800207F0 241E0920 */ li $fp, 2336
/* 0213F4 800207F4 00DE0019 */ multu $a2, $fp
/* 0213F8 800207F8 000850C0 */ sll $t2, $t0, 3
/* 0213FC 800207FC 000360C0 */ sll $t4, $v1, 3
/* 021400 80020800 01485021 */ addu $t2, $t2, $t0
/* 021404 80020804 000A50C0 */ sll $t2, $t2, 3
/* 021408 80020808 01836021 */ addu $t4, $t4, $v1
/* 02140C 8002080C 3C17802E */ lui $s7, %hi(D_802DFB80) # $s7, 0x802e
/* 021410 80020810 000C60C0 */ sll $t4, $t4, 3
/* 021414 80020814 01485021 */ addu $t2, $t2, $t0
/* 021418 80020818 26F7FB80 */ addiu $s7, %lo(D_802DFB80) # addiu $s7, $s7, -0x480
/* 02141C 8002081C 000A5240 */ sll $t2, $t2, 9
/* 021420 80020820 01836021 */ addu $t4, $t4, $v1
/* 021424 80020824 000C6200 */ sll $t4, $t4, 8
/* 021428 80020828 02EA5821 */ addu $t3, $s7, $t2
/* 02142C 8002082C 016C6821 */ addu $t5, $t3, $t4
/* 021430 80020830 0003C3C0 */ sll $t8, $v1, 0xf
/* 021434 80020834 00087C00 */ sll $t7, $t0, 0x10
/* 021438 80020838 01F8C821 */ addu $t9, $t7, $t8
/* 02143C 8002083C 3C0B802C */ lui $t3, %hi(D_802BFB80) # $t3, 0x802c
/* 021440 80020840 00064B00 */ sll $t1, $a2, 0xc
/* 021444 80020844 03295021 */ addu $t2, $t9, $t1
/* 021448 80020848 256BFB80 */ addiu $t3, %lo(D_802BFB80) # addiu $t3, $t3, -0x480
/* 02144C 8002084C 00007012 */ mflo $t6
/* 021450 80020850 01AE2021 */ addu $a0, $t5, $t6
/* 021454 80020854 0C010034 */ jal mio0decode
/* 021458 80020858 014B2821 */ addu $a1, $t2, $t3
/* 02145C 8002085C 8FBF0044 */ lw $ra, 0x44($sp)
/* 021460 80020860 8FB00020 */ lw $s0, 0x20($sp)
/* 021464 80020864 8FB10024 */ lw $s1, 0x24($sp)
/* 021468 80020868 8FB20028 */ lw $s2, 0x28($sp)
/* 02146C 8002086C 8FB3002C */ lw $s3, 0x2c($sp)
/* 021470 80020870 8FB40030 */ lw $s4, 0x30($sp)
/* 021474 80020874 8FB50034 */ lw $s5, 0x34($sp)
/* 021478 80020878 8FB60038 */ lw $s6, 0x38($sp)
/* 02147C 8002087C 8FB7003C */ lw $s7, 0x3c($sp)
/* 021480 80020880 8FBE0040 */ lw $fp, 0x40($sp)
/* 021484 80020884 03E00008 */ jr $ra
/* 021488 80020888 27BD0048 */ addiu $sp, $sp, 0x48
glabel func_8002088C
/* 02148C 8002088C 27BDFFB8 */ addiu $sp, $sp, -0x48
/* 021490 80020890 3C038016 */ lui $v1, %hi(D_80164AC0) # $v1, 0x8016
/* 021494 80020894 84634AC0 */ lh $v1, %lo(D_80164AC0)($v1)
/* 021498 80020898 3C028016 */ lui $v0, %hi(D_80164AB0) # $v0, 0x8016
/* 02149C 8002089C 84424AB0 */ lh $v0, %lo(D_80164AB0)($v0)
/* 0214A0 800208A0 AFB3002C */ sw $s3, 0x2c($sp)
/* 0214A4 800208A4 3C138016 */ lui $s3, %hi(D_801651D0) # $s3, 0x8016
/* 0214A8 800208A8 267351D0 */ addiu $s3, %lo(D_801651D0) # addiu $s3, $s3, 0x51d0
/* 0214AC 800208AC 0003C900 */ sll $t9, $v1, 4
/* 0214B0 800208B0 02794821 */ addu $t1, $s3, $t9
/* 0214B4 800208B4 00033600 */ sll $a2, $v1, 0x18
/* 0214B8 800208B8 00025040 */ sll $t2, $v0, 1
/* 0214BC 800208BC AFBF0044 */ sw $ra, 0x44($sp)
/* 0214C0 800208C0 AFBE0040 */ sw $fp, 0x40($sp)
/* 0214C4 800208C4 AFB7003C */ sw $s7, 0x3c($sp)
/* 0214C8 800208C8 AFB60038 */ sw $s6, 0x38($sp)
/* 0214CC 800208CC AFB50034 */ sw $s5, 0x34($sp)
/* 0214D0 800208D0 AFB40030 */ sw $s4, 0x30($sp)
/* 0214D4 800208D4 AFB20028 */ sw $s2, 0x28($sp)
/* 0214D8 800208D8 AFB10024 */ sw $s1, 0x24($sp)
/* 0214DC 800208DC AFB00020 */ sw $s0, 0x20($sp)
/* 0214E0 800208E0 012A5821 */ addu $t3, $t1, $t2
/* 0214E4 800208E4 00067E03 */ sra $t7, $a2, 0x18
/* 0214E8 800208E8 856C0000 */ lh $t4, ($t3)
/* 0214EC 800208EC 000F3E00 */ sll $a3, $t7, 0x18
/* 0214F0 800208F0 00022E00 */ sll $a1, $v0, 0x18
/* 0214F4 800208F4 00057603 */ sra $t6, $a1, 0x18
/* 0214F8 800208F8 0007C603 */ sra $t8, $a3, 0x18
/* 0214FC 800208FC 3C048016 */ lui $a0, %hi(D_80164AD0) # $a0, 0x8016
/* 021500 80020900 8C844AD0 */ lw $a0, %lo(D_80164AD0)($a0)
/* 021504 80020904 03003825 */ move $a3, $t8
/* 021508 80020908 01C02825 */ move $a1, $t6
/* 02150C 8002090C 01E03025 */ move $a2, $t7
/* 021510 80020910 0C009D58 */ jal func_80027560
/* 021514 80020914 AFAC0010 */ sw $t4, 0x10($sp)
/* 021518 80020918 3C04800E */ lui $a0, %hi(D_800DC4FC) # $a0, 0x800e
/* 02151C 8002091C 8C84C4FC */ lw $a0, %lo(D_800DC4FC)($a0)
/* 021520 80020920 00002825 */ move $a1, $zero
/* 021524 80020924 0C01B98D */ jal func_8006E634
/* 021528 80020928 24060001 */ li $a2, 1
/* 02152C 8002092C 3C04800E */ lui $a0, %hi(D_800DC4E0) # $a0, 0x800e
/* 021530 80020930 8C84C4E0 */ lw $a0, %lo(D_800DC4E0)($a0)
/* 021534 80020934 24050001 */ li $a1, 1
/* 021538 80020938 0C01B98D */ jal func_8006E634
/* 02153C 8002093C 24060001 */ li $a2, 1
/* 021540 80020940 3C04800E */ lui $a0, %hi(D_800DC4E4) # $a0, 0x800e
/* 021544 80020944 8C84C4E4 */ lw $a0, %lo(D_800DC4E4)($a0)
/* 021548 80020948 24050002 */ li $a1, 2
/* 02154C 8002094C 0C01B98D */ jal func_8006E634
/* 021550 80020950 24060001 */ li $a2, 1
/* 021554 80020954 3C04800E */ lui $a0, %hi(D_800DC4E8) # $a0, 0x800e
/* 021558 80020958 8C84C4E8 */ lw $a0, %lo(D_800DC4E8)($a0)
/* 02155C 8002095C 24050003 */ li $a1, 3
/* 021560 80020960 0C01B98D */ jal func_8006E634
/* 021564 80020964 24060001 */ li $a2, 1
/* 021568 80020968 3C0D800E */ lui $t5, %hi(D_800DC52C) # $t5, 0x800e
/* 02156C 8002096C 8DADC52C */ lw $t5, %lo(D_800DC52C)($t5)
/* 021570 80020970 24010003 */ li $at, 3
/* 021574 80020974 3C04800E */ lui $a0, %hi(D_800DC4EC) # $a0, 0x800e
/* 021578 80020978 11A10013 */ beq $t5, $at, .L800209C8
/* 02157C 8002097C 24050004 */ li $a1, 4
/* 021580 80020980 8C84C4EC */ lw $a0, %lo(D_800DC4EC)($a0)
/* 021584 80020984 0C01B98D */ jal func_8006E634
/* 021588 80020988 24060001 */ li $a2, 1
/* 02158C 8002098C 3C04800E */ lui $a0, %hi(D_800DC4F0) # $a0, 0x800e
/* 021590 80020990 8C84C4F0 */ lw $a0, %lo(D_800DC4F0)($a0)
/* 021594 80020994 24050005 */ li $a1, 5
/* 021598 80020998 0C01B98D */ jal func_8006E634
/* 02159C 8002099C 24060001 */ li $a2, 1
/* 0215A0 800209A0 3C04800E */ lui $a0, %hi(D_800DC4F4) # $a0, 0x800e
/* 0215A4 800209A4 8C84C4F4 */ lw $a0, %lo(D_800DC4F4)($a0)
/* 0215A8 800209A8 24050006 */ li $a1, 6
/* 0215AC 800209AC 0C01B98D */ jal func_8006E634
/* 0215B0 800209B0 24060001 */ li $a2, 1
/* 0215B4 800209B4 3C04800E */ lui $a0, %hi(D_800DC4F8) # $a0, 0x800e
/* 0215B8 800209B8 8C84C4F8 */ lw $a0, %lo(D_800DC4F8)($a0)
/* 0215BC 800209BC 24050007 */ li $a1, 7
/* 0215C0 800209C0 0C01B98D */ jal func_8006E634
/* 0215C4 800209C4 24060001 */ li $a2, 1
.L800209C8:
/* 0215C8 800209C8 3C148015 */ lui $s4, %hi(D_8014EF58) # $s4, 0x8015
/* 0215CC 800209CC 3C158015 */ lui $s5, %hi(D_8014F098) # $s5, 0x8015
/* 0215D0 800209D0 26B5F098 */ addiu $s5, %lo(D_8014F098) # addiu $s5, $s5, -0xf68
/* 0215D4 800209D4 2694EF58 */ addiu $s4, %lo(D_8014EF58) # addiu $s4, $s4, -0x10a8
/* 0215D8 800209D8 02802025 */ move $a0, $s4
/* 0215DC 800209DC 02A02825 */ move $a1, $s5
/* 0215E0 800209E0 0C0335D4 */ jal osRecvMesg
/* 0215E4 800209E4 24060001 */ li $a2, 1
/* 0215E8 800209E8 3C16800E */ lui $s6, %hi(D_800DDB58) # $s6, 0x800e
/* 0215EC 800209EC 26D6DB58 */ addiu $s6, %lo(D_800DDB58) # addiu $s6, $s6, -0x24a8
/* 0215F0 800209F0 8EC20000 */ lw $v0, ($s6)
/* 0215F4 800209F4 24100001 */ li $s0, 1
/* 0215F8 800209F8 241E0920 */ li $fp, 2336
/* 0215FC 800209FC 28410002 */ slti $at, $v0, 2
/* 021600 80020A00 14200049 */ bnez $at, .L80020B28
/* 021604 80020A04 3C17802E */ lui $s7, %hi(D_802DFB80) # $s7, 0x802e
/* 021608 80020A08 26F7FB80 */ addiu $s7, %lo(D_802DFB80) # addiu $s7, $s7, -0x480
.L80020A0C:
/* 02160C 80020A0C 3C198016 */ lui $t9, %hi(D_80164AC0) # $t9, 0x8016
/* 021610 80020A10 27394AC0 */ addiu $t9, %lo(D_80164AC0) # addiu $t9, $t9, 0x4ac0
/* 021614 80020A14 00101040 */ sll $v0, $s0, 1
/* 021618 80020A18 3C0F8016 */ lui $t7, %hi(D_80164AB0) # $t7, 0x8016
/* 02161C 80020A1C 25EF4AB0 */ addiu $t7, %lo(D_80164AB0) # addiu $t7, $t7, 0x4ab0
/* 021620 80020A20 00599021 */ addu $s2, $v0, $t9
/* 021624 80020A24 86480000 */ lh $t0, ($s2)
/* 021628 80020A28 004F8821 */ addu $s1, $v0, $t7
/* 02162C 80020A2C 86230000 */ lh $v1, ($s1)
/* 021630 80020A30 00107080 */ sll $t6, $s0, 2
/* 021634 80020A34 3C048016 */ lui $a0, %hi(D_80164AD0) # 0x8016
/* 021638 80020A38 00085900 */ sll $t3, $t0, 4
/* 02163C 80020A3C 026B6021 */ addu $t4, $s3, $t3
/* 021640 80020A40 008E2021 */ addu $a0, $a0, $t6
/* 021644 80020A44 00083600 */ sll $a2, $t0, 0x18
/* 021648 80020A48 00036840 */ sll $t5, $v1, 1
/* 02164C 80020A4C 018D7021 */ addu $t6, $t4, $t5
/* 021650 80020A50 00064E03 */ sra $t1, $a2, 0x18
/* 021654 80020A54 85CF0000 */ lh $t7, ($t6)
/* 021658 80020A58 00093E00 */ sll $a3, $t1, 0x18
/* 02165C 80020A5C 00032E00 */ sll $a1, $v1, 0x18
/* 021660 80020A60 0005C603 */ sra $t8, $a1, 0x18
/* 021664 80020A64 00075603 */ sra $t2, $a3, 0x18
/* 021668 80020A68 01403825 */ move $a3, $t2
/* 02166C 80020A6C 03002825 */ move $a1, $t8
/* 021670 80020A70 01203025 */ move $a2, $t1
/* 021674 80020A74 8C844AD0 */ lw $a0, %lo(D_80164AD0)($a0) # 0x4ad0
/* 021678 80020A78 0C009D58 */ jal func_80027560
/* 02167C 80020A7C AFAF0010 */ sw $t7, 0x10($sp)
/* 021680 80020A80 8642FFFE */ lh $v0, -2($s2)
/* 021684 80020A84 8623FFFE */ lh $v1, -2($s1)
/* 021688 80020A88 0002C100 */ sll $t8, $v0, 4
/* 02168C 80020A8C 0278C821 */ addu $t9, $s3, $t8
/* 021690 80020A90 00034840 */ sll $t1, $v1, 1
/* 021694 80020A94 03295021 */ addu $t2, $t9, $t1
/* 021698 80020A98 85460000 */ lh $a2, ($t2)
/* 02169C 80020A9C 007E0019 */ multu $v1, $fp
/* 0216A0 80020AA0 000268C0 */ sll $t5, $v0, 3
/* 0216A4 80020AA4 000658C0 */ sll $t3, $a2, 3
/* 0216A8 80020AA8 01665821 */ addu $t3, $t3, $a2
/* 0216AC 80020AAC 000B58C0 */ sll $t3, $t3, 3
/* 0216B0 80020AB0 01A26821 */ addu $t5, $t5, $v0
/* 0216B4 80020AB4 000D68C0 */ sll $t5, $t5, 3
/* 0216B8 80020AB8 01665821 */ addu $t3, $t3, $a2
/* 0216BC 80020ABC 000B5A40 */ sll $t3, $t3, 9
/* 0216C0 80020AC0 01A26821 */ addu $t5, $t5, $v0
/* 0216C4 80020AC4 000D6A00 */ sll $t5, $t5, 8
/* 0216C8 80020AC8 02EB6021 */ addu $t4, $s7, $t3
/* 0216CC 80020ACC 018D7021 */ addu $t6, $t4, $t5
/* 0216D0 80020AD0 0002CBC0 */ sll $t9, $v0, 0xf
/* 0216D4 80020AD4 0006C400 */ sll $t8, $a2, 0x10
/* 0216D8 80020AD8 03194821 */ addu $t1, $t8, $t9
/* 0216DC 80020ADC 3C0C802C */ lui $t4, %hi(D_802BFB80) # $t4, 0x802c
/* 0216E0 80020AE0 00035300 */ sll $t2, $v1, 0xc
/* 0216E4 80020AE4 012A5821 */ addu $t3, $t1, $t2
/* 0216E8 80020AE8 258CFB80 */ addiu $t4, %lo(D_802BFB80) # addiu $t4, $t4, -0x480
/* 0216EC 80020AEC 00007812 */ mflo $t7
/* 0216F0 80020AF0 01CF2021 */ addu $a0, $t6, $t7
/* 0216F4 80020AF4 0C010034 */ jal mio0decode
/* 0216F8 80020AF8 016C2821 */ addu $a1, $t3, $t4
/* 0216FC 80020AFC 02802025 */ move $a0, $s4
/* 021700 80020B00 02A02825 */ move $a1, $s5
/* 021704 80020B04 0C0335D4 */ jal osRecvMesg
/* 021708 80020B08 24060001 */ li $a2, 1
/* 02170C 80020B0C 8EC20000 */ lw $v0, ($s6)
/* 021710 80020B10 26100001 */ addiu $s0, $s0, 1
/* 021714 80020B14 00106C00 */ sll $t5, $s0, 0x10
/* 021718 80020B18 000D8403 */ sra $s0, $t5, 0x10
/* 02171C 80020B1C 0202082A */ slt $at, $s0, $v0
/* 021720 80020B20 1420FFBA */ bnez $at, .L80020A0C
/* 021724 80020B24 00000000 */ nop
.L80020B28:
/* 021728 80020B28 00023840 */ sll $a3, $v0, 1
/* 02172C 80020B2C 3C038016 */ lui $v1, %hi(D_80164ABE) # 0x8016
/* 021730 80020B30 00671821 */ addu $v1, $v1, $a3
/* 021734 80020B34 3C068016 */ lui $a2, %hi(D_80164AAE) # 0x8016
/* 021738 80020B38 84634ABE */ lh $v1, %lo(D_80164ABE)($v1) # 0x4abe
/* 02173C 80020B3C 00C73021 */ addu $a2, $a2, $a3
/* 021740 80020B40 84C64AAE */ lh $a2, %lo(D_80164AAE)($a2) # 0x4aae
/* 021744 80020B44 00037900 */ sll $t7, $v1, 4
/* 021748 80020B48 026FC021 */ addu $t8, $s3, $t7
/* 02174C 80020B4C 0006C840 */ sll $t9, $a2, 1
/* 021750 80020B50 03194821 */ addu $t1, $t8, $t9
/* 021754 80020B54 85280000 */ lh $t0, ($t1)
/* 021758 80020B58 241E0920 */ li $fp, 2336
/* 02175C 80020B5C 00DE0019 */ multu $a2, $fp
/* 021760 80020B60 000850C0 */ sll $t2, $t0, 3
/* 021764 80020B64 000360C0 */ sll $t4, $v1, 3
/* 021768 80020B68 01485021 */ addu $t2, $t2, $t0
/* 02176C 80020B6C 000A50C0 */ sll $t2, $t2, 3
/* 021770 80020B70 01836021 */ addu $t4, $t4, $v1
/* 021774 80020B74 3C17802E */ lui $s7, %hi(D_802DFB80) # $s7, 0x802e
/* 021778 80020B78 000C60C0 */ sll $t4, $t4, 3
/* 02177C 80020B7C 01485021 */ addu $t2, $t2, $t0
/* 021780 80020B80 26F7FB80 */ addiu $s7, %lo(D_802DFB80) # addiu $s7, $s7, -0x480
/* 021784 80020B84 000A5240 */ sll $t2, $t2, 9
/* 021788 80020B88 01836021 */ addu $t4, $t4, $v1
/* 02178C 80020B8C 000C6200 */ sll $t4, $t4, 8
/* 021790 80020B90 02EA5821 */ addu $t3, $s7, $t2
/* 021794 80020B94 016C6821 */ addu $t5, $t3, $t4
/* 021798 80020B98 0003C3C0 */ sll $t8, $v1, 0xf
/* 02179C 80020B9C 00087C00 */ sll $t7, $t0, 0x10
/* 0217A0 80020BA0 01F8C821 */ addu $t9, $t7, $t8
/* 0217A4 80020BA4 3C0B802C */ lui $t3, %hi(D_802BFB80) # $t3, 0x802c
/* 0217A8 80020BA8 00064B00 */ sll $t1, $a2, 0xc
/* 0217AC 80020BAC 03295021 */ addu $t2, $t9, $t1
/* 0217B0 80020BB0 256BFB80 */ addiu $t3, %lo(D_802BFB80) # addiu $t3, $t3, -0x480
/* 0217B4 80020BB4 00007012 */ mflo $t6
/* 0217B8 80020BB8 01AE2021 */ addu $a0, $t5, $t6
/* 0217BC 80020BBC 0C010034 */ jal mio0decode
/* 0217C0 80020BC0 014B2821 */ addu $a1, $t2, $t3
/* 0217C4 80020BC4 8FBF0044 */ lw $ra, 0x44($sp)
/* 0217C8 80020BC8 8FB00020 */ lw $s0, 0x20($sp)
/* 0217CC 80020BCC 8FB10024 */ lw $s1, 0x24($sp)
/* 0217D0 80020BD0 8FB20028 */ lw $s2, 0x28($sp)
/* 0217D4 80020BD4 8FB3002C */ lw $s3, 0x2c($sp)
/* 0217D8 80020BD8 8FB40030 */ lw $s4, 0x30($sp)
/* 0217DC 80020BDC 8FB50034 */ lw $s5, 0x34($sp)
/* 0217E0 80020BE0 8FB60038 */ lw $s6, 0x38($sp)
/* 0217E4 80020BE4 8FB7003C */ lw $s7, 0x3c($sp)
/* 0217E8 80020BE8 8FBE0040 */ lw $fp, 0x40($sp)
/* 0217EC 80020BEC 03E00008 */ jr $ra
/* 0217F0 80020BF0 27BD0048 */ addiu $sp, $sp, 0x48
glabel func_80020BF4
/* 0217F4 80020BF4 27BDFFB8 */ addiu $sp, $sp, -0x48
/* 0217F8 80020BF8 3C038016 */ lui $v1, %hi(D_80164AB0) # $v1, 0x8016
/* 0217FC 80020BFC 3C028016 */ lui $v0, %hi(D_80164AC0) # $v0, 0x8016
/* 021800 80020C00 84424AC0 */ lh $v0, %lo(D_80164AC0)($v0)
/* 021804 80020C04 84634AB0 */ lh $v1, %lo(D_80164AB0)($v1)
/* 021808 80020C08 AFB3002C */ sw $s3, 0x2c($sp)
/* 02180C 80020C0C 3C138016 */ lui $s3, %hi(D_801651D0) # $s3, 0x8016
/* 021810 80020C10 267351D0 */ addiu $s3, %lo(D_801651D0) # addiu $s3, $s3, 0x51d0
/* 021814 80020C14 00025100 */ sll $t2, $v0, 4
/* 021818 80020C18 24650004 */ addiu $a1, $v1, 4
/* 02181C 80020C1C 00057600 */ sll $t6, $a1, 0x18
/* 021820 80020C20 026A5821 */ addu $t3, $s3, $t2
/* 021824 80020C24 00036040 */ sll $t4, $v1, 1
/* 021828 80020C28 AFBF0044 */ sw $ra, 0x44($sp)
/* 02182C 80020C2C AFBE0040 */ sw $fp, 0x40($sp)
/* 021830 80020C30 AFB7003C */ sw $s7, 0x3c($sp)
/* 021834 80020C34 AFB60038 */ sw $s6, 0x38($sp)
/* 021838 80020C38 AFB50034 */ sw $s5, 0x34($sp)
/* 02183C 80020C3C AFB40030 */ sw $s4, 0x30($sp)
/* 021840 80020C40 AFB20028 */ sw $s2, 0x28($sp)
/* 021844 80020C44 AFB10024 */ sw $s1, 0x24($sp)
/* 021848 80020C48 AFB00020 */ sw $s0, 0x20($sp)
/* 02184C 80020C4C 016C6821 */ addu $t5, $t3, $t4
/* 021850 80020C50 000E2E03 */ sra $a1, $t6, 0x18
/* 021854 80020C54 85AE0000 */ lh $t6, ($t5)
/* 021858 80020C58 00023600 */ sll $a2, $v0, 0x18
/* 02185C 80020C5C 2447FFFE */ addiu $a3, $v0, -2
/* 021860 80020C60 0007CE00 */ sll $t9, $a3, 0x18
/* 021864 80020C64 0006C603 */ sra $t8, $a2, 0x18
/* 021868 80020C68 3C048016 */ lui $a0, %hi(D_80164AD0) # $a0, 0x8016
/* 02186C 80020C6C 8C844AD0 */ lw $a0, %lo(D_80164AD0)($a0)
/* 021870 80020C70 03003025 */ move $a2, $t8
/* 021874 80020C74 00193E03 */ sra $a3, $t9, 0x18
/* 021878 80020C78 0C009D58 */ jal func_80027560
/* 02187C 80020C7C AFAE0010 */ sw $t6, 0x10($sp)
/* 021880 80020C80 3C04800E */ lui $a0, %hi(D_800DC4FC) # $a0, 0x800e
/* 021884 80020C84 8C84C4FC */ lw $a0, %lo(D_800DC4FC)($a0)
/* 021888 80020C88 00002825 */ move $a1, $zero
/* 02188C 80020C8C 0C01B9AF */ jal func_8006E6BC
/* 021890 80020C90 24060002 */ li $a2, 2
/* 021894 80020C94 3C04800E */ lui $a0, %hi(D_800DC4E0) # $a0, 0x800e
/* 021898 80020C98 8C84C4E0 */ lw $a0, %lo(D_800DC4E0)($a0)
/* 02189C 80020C9C 24050001 */ li $a1, 1
/* 0218A0 80020CA0 0C01B9AF */ jal func_8006E6BC
/* 0218A4 80020CA4 24060002 */ li $a2, 2
/* 0218A8 80020CA8 3C04800E */ lui $a0, %hi(D_800DC4E4) # $a0, 0x800e
/* 0218AC 80020CAC 8C84C4E4 */ lw $a0, %lo(D_800DC4E4)($a0)
/* 0218B0 80020CB0 24050002 */ li $a1, 2
/* 0218B4 80020CB4 0C01B9AF */ jal func_8006E6BC
/* 0218B8 80020CB8 24060002 */ li $a2, 2
/* 0218BC 80020CBC 3C04800E */ lui $a0, %hi(D_800DC4E8) # $a0, 0x800e
/* 0218C0 80020CC0 8C84C4E8 */ lw $a0, %lo(D_800DC4E8)($a0)
/* 0218C4 80020CC4 24050003 */ li $a1, 3
/* 0218C8 80020CC8 0C01B9AF */ jal func_8006E6BC
/* 0218CC 80020CCC 24060002 */ li $a2, 2
/* 0218D0 80020CD0 3C148015 */ lui $s4, %hi(D_8014EF58) # $s4, 0x8015
/* 0218D4 80020CD4 3C158015 */ lui $s5, %hi(D_8014F098) # $s5, 0x8015
/* 0218D8 80020CD8 26B5F098 */ addiu $s5, %lo(D_8014F098) # addiu $s5, $s5, -0xf68
/* 0218DC 80020CDC 2694EF58 */ addiu $s4, %lo(D_8014EF58) # addiu $s4, $s4, -0x10a8
/* 0218E0 80020CE0 02802025 */ move $a0, $s4
/* 0218E4 80020CE4 02A02825 */ move $a1, $s5
/* 0218E8 80020CE8 0C0335D4 */ jal osRecvMesg
/* 0218EC 80020CEC 24060001 */ li $a2, 1
/* 0218F0 80020CF0 3C16800E */ lui $s6, %hi(D_800DDB58) # $s6, 0x800e
/* 0218F4 80020CF4 26D6DB58 */ addiu $s6, %lo(D_800DDB58) # addiu $s6, $s6, -0x24a8
/* 0218F8 80020CF8 8EC20000 */ lw $v0, ($s6)
/* 0218FC 80020CFC 24100001 */ li $s0, 1
/* 021900 80020D00 241E0920 */ li $fp, 2336
/* 021904 80020D04 28410002 */ slti $at, $v0, 2
/* 021908 80020D08 1420004D */ bnez $at, .L80020E40
/* 02190C 80020D0C 3C17802E */ lui $s7, %hi(D_802DFB80) # $s7, 0x802e
/* 021910 80020D10 26F7FB80 */ addiu $s7, %lo(D_802DFB80) # addiu $s7, $s7, -0x480
.L80020D14:
/* 021914 80020D14 3C188016 */ lui $t8, %hi(D_80164AB0) # $t8, 0x8016
/* 021918 80020D18 27184AB0 */ addiu $t8, %lo(D_80164AB0) # addiu $t8, $t8, 0x4ab0
/* 02191C 80020D1C 00101840 */ sll $v1, $s0, 1
/* 021920 80020D20 3C0A8016 */ lui $t2, %hi(D_80164AC0) # $t2, 0x8016
/* 021924 80020D24 254A4AC0 */ addiu $t2, %lo(D_80164AC0) # addiu $t2, $t2, 0x4ac0
/* 021928 80020D28 00788821 */ addu $s1, $v1, $t8
/* 02192C 80020D2C 86280000 */ lh $t0, ($s1)
/* 021930 80020D30 006A9021 */ addu $s2, $v1, $t2
/* 021934 80020D34 86420000 */ lh $v0, ($s2)
/* 021938 80020D38 00107880 */ sll $t7, $s0, 2
/* 02193C 80020D3C 3C048016 */ lui $a0, %hi(D_80164AD0) # 0x8016
/* 021940 80020D40 25050004 */ addiu $a1, $t0, 4
/* 021944 80020D44 0005CE00 */ sll $t9, $a1, 0x18
/* 021948 80020D48 008F2021 */ addu $a0, $a0, $t7
/* 02194C 80020D4C 00027100 */ sll $t6, $v0, 4
/* 021950 80020D50 026E7821 */ addu $t7, $s3, $t6
/* 021954 80020D54 00192E03 */ sra $a1, $t9, 0x18
/* 021958 80020D58 0008C040 */ sll $t8, $t0, 1
/* 02195C 80020D5C 01F8C821 */ addu $t9, $t7, $t8
/* 021960 80020D60 87290000 */ lh $t1, ($t9)
/* 021964 80020D64 00023600 */ sll $a2, $v0, 0x18
/* 021968 80020D68 2447FFFE */ addiu $a3, $v0, -2
/* 02196C 80020D6C 00076600 */ sll $t4, $a3, 0x18
/* 021970 80020D70 00065E03 */ sra $t3, $a2, 0x18
/* 021974 80020D74 01603025 */ move $a2, $t3
/* 021978 80020D78 000C3E03 */ sra $a3, $t4, 0x18
/* 02197C 80020D7C 8C844AD0 */ lw $a0, %lo(D_80164AD0)($a0) # 0x4ad0
/* 021980 80020D80 0C009D58 */ jal func_80027560
/* 021984 80020D84 AFA90010 */ sw $t1, 0x10($sp)
/* 021988 80020D88 8642FFFE */ lh $v0, -2($s2)
/* 02198C 80020D8C 8623FFFE */ lh $v1, -2($s1)
/* 021990 80020D90 3C01FFFF */ lui $at, (0xFFFF4000 >> 16) # lui $at, 0xffff
/* 021994 80020D94 00025100 */ sll $t2, $v0, 4
/* 021998 80020D98 026A5821 */ addu $t3, $s3, $t2
/* 02199C 80020D9C 00036040 */ sll $t4, $v1, 1
/* 0219A0 80020DA0 016C6821 */ addu $t5, $t3, $t4
/* 0219A4 80020DA4 85A60000 */ lh $a2, ($t5)
/* 0219A8 80020DA8 007E0019 */ multu $v1, $fp
/* 0219AC 80020DAC 0002C0C0 */ sll $t8, $v0, 3
/* 0219B0 80020DB0 000670C0 */ sll $t6, $a2, 3
/* 0219B4 80020DB4 01C67021 */ addu $t6, $t6, $a2
/* 0219B8 80020DB8 000E70C0 */ sll $t6, $t6, 3
/* 0219BC 80020DBC 0302C021 */ addu $t8, $t8, $v0
/* 0219C0 80020DC0 0018C0C0 */ sll $t8, $t8, 3
/* 0219C4 80020DC4 01C67021 */ addu $t6, $t6, $a2
/* 0219C8 80020DC8 000E7240 */ sll $t6, $t6, 9
/* 0219CC 80020DCC 0302C021 */ addu $t8, $t8, $v0
/* 0219D0 80020DD0 0018C200 */ sll $t8, $t8, 8
/* 0219D4 80020DD4 02EE7821 */ addu $t7, $s7, $t6
/* 0219D8 80020DD8 01F8C821 */ addu $t9, $t7, $t8
/* 0219DC 80020DDC 00025BC0 */ sll $t3, $v0, 0xf
/* 0219E0 80020DE0 00065400 */ sll $t2, $a2, 0x10
/* 0219E4 80020DE4 014B6021 */ addu $t4, $t2, $t3
/* 0219E8 80020DE8 00036B00 */ sll $t5, $v1, 0xc
/* 0219EC 80020DEC 018D7021 */ addu $t6, $t4, $t5
/* 0219F0 80020DF0 3C18802C */ lui $t8, %hi(D_802BFB80) # $t8, 0x802c
/* 0219F4 80020DF4 00004812 */ mflo $t1
/* 0219F8 80020DF8 34214000 */ ori $at, (0xFFFF4000 & 0xFFFF) # ori $at, $at, 0x4000
/* 0219FC 80020DFC 01C17821 */ addu $t7, $t6, $at
/* 021A00 80020E00 03292021 */ addu $a0, $t9, $t1
/* 021A04 80020E04 2718FB80 */ addiu $t8, %lo(D_802BFB80) # addiu $t8, $t8, -0x480
/* 021A08 80020E08 01F82821 */ addu $a1, $t7, $t8
/* 021A0C 80020E0C 0C010034 */ jal mio0decode
/* 021A10 80020E10 24849280 */ addiu $a0, $a0, -0x6d80
/* 021A14 80020E14 02802025 */ move $a0, $s4
/* 021A18 80020E18 02A02825 */ move $a1, $s5
/* 021A1C 80020E1C 0C0335D4 */ jal osRecvMesg
/* 021A20 80020E20 24060001 */ li $a2, 1
/* 021A24 80020E24 8EC20000 */ lw $v0, ($s6)
/* 021A28 80020E28 26100001 */ addiu $s0, $s0, 1
/* 021A2C 80020E2C 0010CC00 */ sll $t9, $s0, 0x10
/* 021A30 80020E30 00198403 */ sra $s0, $t9, 0x10
/* 021A34 80020E34 0202082A */ slt $at, $s0, $v0
/* 021A38 80020E38 1420FFB6 */ bnez $at, .L80020D14
/* 021A3C 80020E3C 00000000 */ nop
.L80020E40:
/* 021A40 80020E40 00023840 */ sll $a3, $v0, 1
/* 021A44 80020E44 3C038016 */ lui $v1, %hi(D_80164ABE) # 0x8016
/* 021A48 80020E48 00671821 */ addu $v1, $v1, $a3
/* 021A4C 80020E4C 3C068016 */ lui $a2, %hi(D_80164AAE) # 0x8016
/* 021A50 80020E50 84634ABE */ lh $v1, %lo(D_80164ABE)($v1) # 0x4abe
/* 021A54 80020E54 00C73021 */ addu $a2, $a2, $a3
/* 021A58 80020E58 84C64AAE */ lh $a2, %lo(D_80164AAE)($a2) # 0x4aae
/* 021A5C 80020E5C 00035100 */ sll $t2, $v1, 4
/* 021A60 80020E60 026A5821 */ addu $t3, $s3, $t2
/* 021A64 80020E64 00066040 */ sll $t4, $a2, 1
/* 021A68 80020E68 016C6821 */ addu $t5, $t3, $t4
/* 021A6C 80020E6C 85A80000 */ lh $t0, ($t5)
/* 021A70 80020E70 241E0920 */ li $fp, 2336
/* 021A74 80020E74 00DE0019 */ multu $a2, $fp
/* 021A78 80020E78 000870C0 */ sll $t6, $t0, 3
/* 021A7C 80020E7C 0003C0C0 */ sll $t8, $v1, 3
/* 021A80 80020E80 01C87021 */ addu $t6, $t6, $t0
/* 021A84 80020E84 000E70C0 */ sll $t6, $t6, 3
/* 021A88 80020E88 0303C021 */ addu $t8, $t8, $v1
/* 021A8C 80020E8C 3C17802E */ lui $s7, %hi(D_802DFB80) # $s7, 0x802e
/* 021A90 80020E90 0018C0C0 */ sll $t8, $t8, 3
/* 021A94 80020E94 01C87021 */ addu $t6, $t6, $t0
/* 021A98 80020E98 26F7FB80 */ addiu $s7, %lo(D_802DFB80) # addiu $s7, $s7, -0x480
/* 021A9C 80020E9C 000E7240 */ sll $t6, $t6, 9
/* 021AA0 80020EA0 0303C021 */ addu $t8, $t8, $v1
/* 021AA4 80020EA4 0018C200 */ sll $t8, $t8, 8
/* 021AA8 80020EA8 02EE7821 */ addu $t7, $s7, $t6
/* 021AAC 80020EAC 01F8C821 */ addu $t9, $t7, $t8
/* 021AB0 80020EB0 00035BC0 */ sll $t3, $v1, 0xf
/* 021AB4 80020EB4 00085400 */ sll $t2, $t0, 0x10
/* 021AB8 80020EB8 014B6021 */ addu $t4, $t2, $t3
/* 021ABC 80020EBC 3C01FFFF */ lui $at, (0xFFFF4000 >> 16) # lui $at, 0xffff
/* 021AC0 80020EC0 00066B00 */ sll $t5, $a2, 0xc
/* 021AC4 80020EC4 018D7021 */ addu $t6, $t4, $t5
/* 021AC8 80020EC8 34214000 */ ori $at, (0xFFFF4000 & 0xFFFF) # ori $at, $at, 0x4000
/* 021ACC 80020ECC 3C18802C */ lui $t8, %hi(D_802BFB80) # $t8, 0x802c
/* 021AD0 80020ED0 00004812 */ mflo $t1
/* 021AD4 80020ED4 03292021 */ addu $a0, $t9, $t1
/* 021AD8 80020ED8 2718FB80 */ addiu $t8, %lo(D_802BFB80) # addiu $t8, $t8, -0x480
/* 021ADC 80020EDC 01C17821 */ addu $t7, $t6, $at
/* 021AE0 80020EE0 01F82821 */ addu $a1, $t7, $t8
/* 021AE4 80020EE4 0C010034 */ jal mio0decode
/* 021AE8 80020EE8 24849280 */ addiu $a0, $a0, -0x6d80
/* 021AEC 80020EEC 8FBF0044 */ lw $ra, 0x44($sp)
/* 021AF0 80020EF0 8FB00020 */ lw $s0, 0x20($sp)
/* 021AF4 80020EF4 8FB10024 */ lw $s1, 0x24($sp)
/* 021AF8 80020EF8 8FB20028 */ lw $s2, 0x28($sp)
/* 021AFC 80020EFC 8FB3002C */ lw $s3, 0x2c($sp)
/* 021B00 80020F00 8FB40030 */ lw $s4, 0x30($sp)
/* 021B04 80020F04 8FB50034 */ lw $s5, 0x34($sp)
/* 021B08 80020F08 8FB60038 */ lw $s6, 0x38($sp)
/* 021B0C 80020F0C 8FB7003C */ lw $s7, 0x3c($sp)
/* 021B10 80020F10 8FBE0040 */ lw $fp, 0x40($sp)
/* 021B14 80020F14 03E00008 */ jr $ra
/* 021B18 80020F18 27BD0048 */ addiu $sp, $sp, 0x48
glabel func_80020F1C
/* 021B1C 80020F1C 27BDFFB8 */ addiu $sp, $sp, -0x48
/* 021B20 80020F20 3C038016 */ lui $v1, %hi(D_80164AB0) # $v1, 0x8016
/* 021B24 80020F24 3C028016 */ lui $v0, %hi(D_80164AC0) # $v0, 0x8016
/* 021B28 80020F28 84424AC0 */ lh $v0, %lo(D_80164AC0)($v0)
/* 021B2C 80020F2C 84634AB0 */ lh $v1, %lo(D_80164AB0)($v1)
/* 021B30 80020F30 AFB3002C */ sw $s3, 0x2c($sp)
/* 021B34 80020F34 3C138016 */ lui $s3, %hi(D_801651D0) # $s3, 0x8016
/* 021B38 80020F38 267351D0 */ addiu $s3, %lo(D_801651D0) # addiu $s3, $s3, 0x51d0
/* 021B3C 80020F3C 00025100 */ sll $t2, $v0, 4
/* 021B40 80020F40 24650004 */ addiu $a1, $v1, 4
/* 021B44 80020F44 00057600 */ sll $t6, $a1, 0x18
/* 021B48 80020F48 026A5821 */ addu $t3, $s3, $t2
/* 021B4C 80020F4C 00036040 */ sll $t4, $v1, 1
/* 021B50 80020F50 AFBF0044 */ sw $ra, 0x44($sp)
/* 021B54 80020F54 AFBE0040 */ sw $fp, 0x40($sp)
/* 021B58 80020F58 AFB7003C */ sw $s7, 0x3c($sp)
/* 021B5C 80020F5C AFB60038 */ sw $s6, 0x38($sp)
/* 021B60 80020F60 AFB50034 */ sw $s5, 0x34($sp)
/* 021B64 80020F64 AFB40030 */ sw $s4, 0x30($sp)
/* 021B68 80020F68 AFB20028 */ sw $s2, 0x28($sp)
/* 021B6C 80020F6C AFB10024 */ sw $s1, 0x24($sp)
/* 021B70 80020F70 AFB00020 */ sw $s0, 0x20($sp)
/* 021B74 80020F74 016C6821 */ addu $t5, $t3, $t4
/* 021B78 80020F78 000E2E03 */ sra $a1, $t6, 0x18
/* 021B7C 80020F7C 85AE0000 */ lh $t6, ($t5)
/* 021B80 80020F80 00023600 */ sll $a2, $v0, 0x18
/* 021B84 80020F84 2447FFFE */ addiu $a3, $v0, -2
/* 021B88 80020F88 0007CE00 */ sll $t9, $a3, 0x18
/* 021B8C 80020F8C 0006C603 */ sra $t8, $a2, 0x18
/* 021B90 80020F90 3C048016 */ lui $a0, %hi(D_80164AD0) # $a0, 0x8016
/* 021B94 80020F94 8C844AD0 */ lw $a0, %lo(D_80164AD0)($a0)
/* 021B98 80020F98 03003025 */ move $a2, $t8
/* 021B9C 80020F9C 00193E03 */ sra $a3, $t9, 0x18
/* 021BA0 80020FA0 0C009D58 */ jal func_80027560
/* 021BA4 80020FA4 AFAE0010 */ sw $t6, 0x10($sp)
/* 021BA8 80020FA8 3C04800E */ lui $a0, %hi(D_800DC4FC) # $a0, 0x800e
/* 021BAC 80020FAC 8C84C4FC */ lw $a0, %lo(D_800DC4FC)($a0)
/* 021BB0 80020FB0 00002825 */ move $a1, $zero
/* 021BB4 80020FB4 0C01B9D1 */ jal func_8006E744
/* 021BB8 80020FB8 24060003 */ li $a2, 3
/* 021BBC 80020FBC 3C04800E */ lui $a0, %hi(D_800DC4E0) # $a0, 0x800e
/* 021BC0 80020FC0 8C84C4E0 */ lw $a0, %lo(D_800DC4E0)($a0)
/* 021BC4 80020FC4 24050001 */ li $a1, 1
/* 021BC8 80020FC8 0C01B9D1 */ jal func_8006E744
/* 021BCC 80020FCC 24060003 */ li $a2, 3
/* 021BD0 80020FD0 3C04800E */ lui $a0, %hi(D_800DC4E4) # $a0, 0x800e
/* 021BD4 80020FD4 8C84C4E4 */ lw $a0, %lo(D_800DC4E4)($a0)
/* 021BD8 80020FD8 24050002 */ li $a1, 2
/* 021BDC 80020FDC 0C01B9D1 */ jal func_8006E744
/* 021BE0 80020FE0 24060003 */ li $a2, 3
/* 021BE4 80020FE4 3C04800E */ lui $a0, %hi(D_800DC4E8) # $a0, 0x800e
/* 021BE8 80020FE8 8C84C4E8 */ lw $a0, %lo(D_800DC4E8)($a0)
/* 021BEC 80020FEC 24050003 */ li $a1, 3
/* 021BF0 80020FF0 0C01B9D1 */ jal func_8006E744
/* 021BF4 80020FF4 24060003 */ li $a2, 3
/* 021BF8 80020FF8 3C148015 */ lui $s4, %hi(D_8014EF58) # $s4, 0x8015
/* 021BFC 80020FFC 3C158015 */ lui $s5, %hi(D_8014F098) # $s5, 0x8015
/* 021C00 80021000 26B5F098 */ addiu $s5, %lo(D_8014F098) # addiu $s5, $s5, -0xf68
/* 021C04 80021004 2694EF58 */ addiu $s4, %lo(D_8014EF58) # addiu $s4, $s4, -0x10a8
/* 021C08 80021008 02802025 */ move $a0, $s4
/* 021C0C 8002100C 02A02825 */ move $a1, $s5
/* 021C10 80021010 0C0335D4 */ jal osRecvMesg
/* 021C14 80021014 24060001 */ li $a2, 1
/* 021C18 80021018 3C16800E */ lui $s6, %hi(D_800DDB58) # $s6, 0x800e
/* 021C1C 8002101C 26D6DB58 */ addiu $s6, %lo(D_800DDB58) # addiu $s6, $s6, -0x24a8
/* 021C20 80021020 8EC20000 */ lw $v0, ($s6)
/* 021C24 80021024 24100001 */ li $s0, 1
/* 021C28 80021028 241E0920 */ li $fp, 2336
/* 021C2C 8002102C 28410002 */ slti $at, $v0, 2
/* 021C30 80021030 1420004D */ bnez $at, .L80021168
/* 021C34 80021034 3C17802E */ lui $s7, %hi(D_802DFB80) # $s7, 0x802e
/* 021C38 80021038 26F7FB80 */ addiu $s7, %lo(D_802DFB80) # addiu $s7, $s7, -0x480
.L8002103C:
/* 021C3C 8002103C 3C188016 */ lui $t8, %hi(D_80164AB0) # $t8, 0x8016
/* 021C40 80021040 27184AB0 */ addiu $t8, %lo(D_80164AB0) # addiu $t8, $t8, 0x4ab0
/* 021C44 80021044 00101840 */ sll $v1, $s0, 1
/* 021C48 80021048 3C0A8016 */ lui $t2, %hi(D_80164AC0) # $t2, 0x8016
/* 021C4C 8002104C 254A4AC0 */ addiu $t2, %lo(D_80164AC0) # addiu $t2, $t2, 0x4ac0
/* 021C50 80021050 00788821 */ addu $s1, $v1, $t8
/* 021C54 80021054 86280000 */ lh $t0, ($s1)
/* 021C58 80021058 006A9021 */ addu $s2, $v1, $t2
/* 021C5C 8002105C 86420000 */ lh $v0, ($s2)
/* 021C60 80021060 00107880 */ sll $t7, $s0, 2
/* 021C64 80021064 3C048016 */ lui $a0, %hi(D_80164AD0) # 0x8016
/* 021C68 80021068 25050004 */ addiu $a1, $t0, 4
/* 021C6C 8002106C 0005CE00 */ sll $t9, $a1, 0x18
/* 021C70 80021070 008F2021 */ addu $a0, $a0, $t7
/* 021C74 80021074 00027100 */ sll $t6, $v0, 4
/* 021C78 80021078 026E7821 */ addu $t7, $s3, $t6
/* 021C7C 8002107C 00192E03 */ sra $a1, $t9, 0x18
/* 021C80 80021080 0008C040 */ sll $t8, $t0, 1
/* 021C84 80021084 01F8C821 */ addu $t9, $t7, $t8
/* 021C88 80021088 87290000 */ lh $t1, ($t9)
/* 021C8C 8002108C 00023600 */ sll $a2, $v0, 0x18
/* 021C90 80021090 2447FFFE */ addiu $a3, $v0, -2
/* 021C94 80021094 00076600 */ sll $t4, $a3, 0x18
/* 021C98 80021098 00065E03 */ sra $t3, $a2, 0x18
/* 021C9C 8002109C 01603025 */ move $a2, $t3
/* 021CA0 800210A0 000C3E03 */ sra $a3, $t4, 0x18
/* 021CA4 800210A4 8C844AD0 */ lw $a0, %lo(D_80164AD0)($a0) # 0x4ad0
/* 021CA8 800210A8 0C009D58 */ jal func_80027560
/* 021CAC 800210AC AFA90010 */ sw $t1, 0x10($sp)
/* 021CB0 800210B0 8642FFFE */ lh $v0, -2($s2)
/* 021CB4 800210B4 8623FFFE */ lh $v1, -2($s1)
/* 021CB8 800210B8 3C01FFFF */ lui $at, (0xFFFF4000 >> 16) # lui $at, 0xffff
/* 021CBC 800210BC 00025100 */ sll $t2, $v0, 4
/* 021CC0 800210C0 026A5821 */ addu $t3, $s3, $t2
/* 021CC4 800210C4 00036040 */ sll $t4, $v1, 1
/* 021CC8 800210C8 016C6821 */ addu $t5, $t3, $t4
/* 021CCC 800210CC 85A60000 */ lh $a2, ($t5)
/* 021CD0 800210D0 007E0019 */ multu $v1, $fp
/* 021CD4 800210D4 0002C0C0 */ sll $t8, $v0, 3
/* 021CD8 800210D8 000670C0 */ sll $t6, $a2, 3
/* 021CDC 800210DC 01C67021 */ addu $t6, $t6, $a2
/* 021CE0 800210E0 000E70C0 */ sll $t6, $t6, 3
/* 021CE4 800210E4 0302C021 */ addu $t8, $t8, $v0
/* 021CE8 800210E8 0018C0C0 */ sll $t8, $t8, 3
/* 021CEC 800210EC 01C67021 */ addu $t6, $t6, $a2
/* 021CF0 800210F0 000E7240 */ sll $t6, $t6, 9
/* 021CF4 800210F4 0302C021 */ addu $t8, $t8, $v0
/* 021CF8 800210F8 0018C200 */ sll $t8, $t8, 8
/* 021CFC 800210FC 02EE7821 */ addu $t7, $s7, $t6
/* 021D00 80021100 01F8C821 */ addu $t9, $t7, $t8
/* 021D04 80021104 00025BC0 */ sll $t3, $v0, 0xf
/* 021D08 80021108 00065400 */ sll $t2, $a2, 0x10
/* 021D0C 8002110C 014B6021 */ addu $t4, $t2, $t3
/* 021D10 80021110 00036B00 */ sll $t5, $v1, 0xc
/* 021D14 80021114 018D7021 */ addu $t6, $t4, $t5
/* 021D18 80021118 3C18802C */ lui $t8, %hi(D_802BFB80) # $t8, 0x802c
/* 021D1C 8002111C 00004812 */ mflo $t1
/* 021D20 80021120 34214000 */ ori $at, (0xFFFF4000 & 0xFFFF) # ori $at, $at, 0x4000
/* 021D24 80021124 01C17821 */ addu $t7, $t6, $at
/* 021D28 80021128 03292021 */ addu $a0, $t9, $t1
/* 021D2C 8002112C 2718FB80 */ addiu $t8, %lo(D_802BFB80) # addiu $t8, $t8, -0x480
/* 021D30 80021130 01F82821 */ addu $a1, $t7, $t8
/* 021D34 80021134 0C010034 */ jal mio0decode
/* 021D38 80021138 24849280 */ addiu $a0, $a0, -0x6d80
/* 021D3C 8002113C 02802025 */ move $a0, $s4
/* 021D40 80021140 02A02825 */ move $a1, $s5
/* 021D44 80021144 0C0335D4 */ jal osRecvMesg
/* 021D48 80021148 24060001 */ li $a2, 1
/* 021D4C 8002114C 8EC20000 */ lw $v0, ($s6)
/* 021D50 80021150 26100001 */ addiu $s0, $s0, 1
/* 021D54 80021154 0010CC00 */ sll $t9, $s0, 0x10
/* 021D58 80021158 00198403 */ sra $s0, $t9, 0x10
/* 021D5C 8002115C 0202082A */ slt $at, $s0, $v0
/* 021D60 80021160 1420FFB6 */ bnez $at, .L8002103C
/* 021D64 80021164 00000000 */ nop
.L80021168:
/* 021D68 80021168 00023840 */ sll $a3, $v0, 1
/* 021D6C 8002116C 3C038016 */ lui $v1, %hi(D_80164ABE) # 0x8016
/* 021D70 80021170 00671821 */ addu $v1, $v1, $a3
/* 021D74 80021174 3C068016 */ lui $a2, %hi(D_80164AAE) # 0x8016
/* 021D78 80021178 84634ABE */ lh $v1, %lo(D_80164ABE)($v1) # 0x4abe
/* 021D7C 8002117C 00C73021 */ addu $a2, $a2, $a3
/* 021D80 80021180 84C64AAE */ lh $a2, %lo(D_80164AAE)($a2) # 0x4aae
/* 021D84 80021184 00035100 */ sll $t2, $v1, 4
/* 021D88 80021188 026A5821 */ addu $t3, $s3, $t2
/* 021D8C 8002118C 00066040 */ sll $t4, $a2, 1
/* 021D90 80021190 016C6821 */ addu $t5, $t3, $t4
/* 021D94 80021194 85A80000 */ lh $t0, ($t5)
/* 021D98 80021198 241E0920 */ li $fp, 2336
/* 021D9C 8002119C 00DE0019 */ multu $a2, $fp
/* 021DA0 800211A0 000870C0 */ sll $t6, $t0, 3
/* 021DA4 800211A4 0003C0C0 */ sll $t8, $v1, 3
/* 021DA8 800211A8 01C87021 */ addu $t6, $t6, $t0
/* 021DAC 800211AC 000E70C0 */ sll $t6, $t6, 3
/* 021DB0 800211B0 0303C021 */ addu $t8, $t8, $v1
/* 021DB4 800211B4 3C17802E */ lui $s7, %hi(D_802DFB80) # $s7, 0x802e
/* 021DB8 800211B8 0018C0C0 */ sll $t8, $t8, 3
/* 021DBC 800211BC 01C87021 */ addu $t6, $t6, $t0
/* 021DC0 800211C0 26F7FB80 */ addiu $s7, %lo(D_802DFB80) # addiu $s7, $s7, -0x480
/* 021DC4 800211C4 000E7240 */ sll $t6, $t6, 9
/* 021DC8 800211C8 0303C021 */ addu $t8, $t8, $v1
/* 021DCC 800211CC 0018C200 */ sll $t8, $t8, 8
/* 021DD0 800211D0 02EE7821 */ addu $t7, $s7, $t6
/* 021DD4 800211D4 01F8C821 */ addu $t9, $t7, $t8
/* 021DD8 800211D8 00035BC0 */ sll $t3, $v1, 0xf
/* 021DDC 800211DC 00085400 */ sll $t2, $t0, 0x10
/* 021DE0 800211E0 014B6021 */ addu $t4, $t2, $t3
/* 021DE4 800211E4 3C01FFFF */ lui $at, (0xFFFF4000 >> 16) # lui $at, 0xffff
/* 021DE8 800211E8 00066B00 */ sll $t5, $a2, 0xc
/* 021DEC 800211EC 018D7021 */ addu $t6, $t4, $t5
/* 021DF0 800211F0 34214000 */ ori $at, (0xFFFF4000 & 0xFFFF) # ori $at, $at, 0x4000
/* 021DF4 800211F4 3C18802C */ lui $t8, %hi(D_802BFB80) # $t8, 0x802c
/* 021DF8 800211F8 00004812 */ mflo $t1
/* 021DFC 800211FC 03292021 */ addu $a0, $t9, $t1
/* 021E00 80021200 2718FB80 */ addiu $t8, %lo(D_802BFB80) # addiu $t8, $t8, -0x480
/* 021E04 80021204 01C17821 */ addu $t7, $t6, $at
/* 021E08 80021208 01F82821 */ addu $a1, $t7, $t8
/* 021E0C 8002120C 0C010034 */ jal mio0decode
/* 021E10 80021210 24849280 */ addiu $a0, $a0, -0x6d80
/* 021E14 80021214 8FBF0044 */ lw $ra, 0x44($sp)
/* 021E18 80021218 8FB00020 */ lw $s0, 0x20($sp)
/* 021E1C 8002121C 8FB10024 */ lw $s1, 0x24($sp)
/* 021E20 80021220 8FB20028 */ lw $s2, 0x28($sp)
/* 021E24 80021224 8FB3002C */ lw $s3, 0x2c($sp)
/* 021E28 80021228 8FB40030 */ lw $s4, 0x30($sp)
/* 021E2C 8002122C 8FB50034 */ lw $s5, 0x34($sp)
/* 021E30 80021230 8FB60038 */ lw $s6, 0x38($sp)
/* 021E34 80021234 8FB7003C */ lw $s7, 0x3c($sp)
/* 021E38 80021238 8FBE0040 */ lw $fp, 0x40($sp)
/* 021E3C 8002123C 03E00008 */ jr $ra
/* 021E40 80021240 27BD0048 */ addiu $sp, $sp, 0x48
glabel func_80021244
/* 021E44 80021244 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 021E48 80021248 AFBF0014 */ sw $ra, 0x14($sp)
/* 021E4C 8002124C AFA5001C */ sw $a1, 0x1c($sp)
/* 021E50 80021250 AFA60020 */ sw $a2, 0x20($sp)
/* 021E54 80021254 94820000 */ lhu $v0, ($a0)
/* 021E58 80021258 0006C600 */ sll $t8, $a2, 0x18
/* 021E5C 8002125C 0018CE03 */ sra $t9, $t8, 0x18
/* 021E60 80021260 00057600 */ sll $t6, $a1, 0x18
/* 021E64 80021264 34018000 */ li $at, 32768
/* 021E68 80021268 30488000 */ andi $t0, $v0, 0x8000
/* 021E6C 8002126C 000E2E03 */ sra $a1, $t6, 0x18
/* 021E70 80021270 1501000C */ bne $t0, $at, .L800212A4
/* 021E74 80021274 03203025 */ move $a2, $t9
/* 021E78 80021278 30490040 */ andi $t1, $v0, 0x40
/* 021E7C 8002127C 15200009 */ bnez $t1, .L800212A4
/* 021E80 80021280 00195080 */ sll $t2, $t9, 2
/* 021E84 80021284 948C0002 */ lhu $t4, 2($a0)
/* 021E88 80021288 240B0002 */ li $t3, 2
/* 021E8C 8002128C 014B1004 */ sllv $v0, $t3, $t2
/* 021E90 80021290 01826824 */ and $t5, $t4, $v0
/* 021E94 80021294 544D0004 */ bnel $v0, $t5, .L800212A8
/* 021E98 80021298 8FBF0014 */ lw $ra, 0x14($sp)
/* 021E9C 8002129C 0C0099EB */ jal func_800267AC
/* 021EA0 800212A0 00000000 */ nop
.L800212A4:
/* 021EA4 800212A4 8FBF0014 */ lw $ra, 0x14($sp)
.L800212A8:
/* 021EA8 800212A8 27BD0018 */ addiu $sp, $sp, 0x18
/* 021EAC 800212AC 03E00008 */ jr $ra
/* 021EB0 800212B0 00000000 */ nop
glabel func_800212B4
/* 021EB4 800212B4 27BDFFA0 */ addiu $sp, $sp, -0x60
/* 021EB8 800212B8 3C0F800E */ lui $t7, %hi(D_800DDB68) # $t7, 0x800e
/* 021EBC 800212BC AFBF0014 */ sw $ra, 0x14($sp)
/* 021EC0 800212C0 25EFDB68 */ addiu $t7, %lo(D_800DDB68) # addiu $t7, $t7, -0x2498
/* 021EC4 800212C4 8DE10000 */ lw $at, ($t7)
/* 021EC8 800212C8 8DE80004 */ lw $t0, 4($t7)
/* 021ECC 800212CC 27AE003C */ addiu $t6, $sp, 0x3c
/* 021ED0 800212D0 ADC10000 */ sw $at, ($t6)
/* 021ED4 800212D4 ADC80004 */ sw $t0, 4($t6)
/* 021ED8 800212D8 8DE8000C */ lw $t0, 0xc($t7)
/* 021EDC 800212DC 8DE10008 */ lw $at, 8($t7)
/* 021EE0 800212E0 3C0A800E */ lui $t2, %hi(D_800DDB88) # $t2, 0x800e
/* 021EE4 800212E4 ADC8000C */ sw $t0, 0xc($t6)
/* 021EE8 800212E8 ADC10008 */ sw $at, 8($t6)
/* 021EEC 800212EC 8DE10010 */ lw $at, 0x10($t7)
/* 021EF0 800212F0 8DE80014 */ lw $t0, 0x14($t7)
/* 021EF4 800212F4 254ADB88 */ addiu $t2, %lo(D_800DDB88) # addiu $t2, $t2, -0x2478
/* 021EF8 800212F8 ADC10010 */ sw $at, 0x10($t6)
/* 021EFC 800212FC ADC80014 */ sw $t0, 0x14($t6)
/* 021F00 80021300 8DE8001C */ lw $t0, 0x1c($t7)
/* 021F04 80021304 8DE10018 */ lw $at, 0x18($t7)
/* 021F08 80021308 27A9001C */ addiu $t1, $sp, 0x1c
/* 021F0C 8002130C ADC8001C */ sw $t0, 0x1c($t6)
/* 021F10 80021310 ADC10018 */ sw $at, 0x18($t6)
/* 021F14 80021314 8D410000 */ lw $at, ($t2)
/* 021F18 80021318 8D4D0004 */ lw $t5, 4($t2)
/* 021F1C 8002131C 3C04800E */ lui $a0, %hi(D_800DC4FC) # $a0, 0x800e
/* 021F20 80021320 AD210000 */ sw $at, ($t1)
/* 021F24 80021324 8D410008 */ lw $at, 8($t2)
/* 021F28 80021328 AD2D0004 */ sw $t5, 4($t1)
/* 021F2C 8002132C 8D4D000C */ lw $t5, 0xc($t2)
/* 021F30 80021330 AD210008 */ sw $at, 8($t1)
/* 021F34 80021334 8D410010 */ lw $at, 0x10($t2)
/* 021F38 80021338 AD2D000C */ sw $t5, 0xc($t1)
/* 021F3C 8002133C 8D4D0014 */ lw $t5, 0x14($t2)
/* 021F40 80021340 AD210010 */ sw $at, 0x10($t1)
/* 021F44 80021344 8D410018 */ lw $at, 0x18($t2)
/* 021F48 80021348 AD2D0014 */ sw $t5, 0x14($t1)
/* 021F4C 8002134C 8D4D001C */ lw $t5, 0x1c($t2)
/* 021F50 80021350 AD210018 */ sw $at, 0x18($t1)
/* 021F54 80021354 3C01800E */ lui $at, %hi(D_800DDB58) # $at, 0x800e
/* 021F58 80021358 AD2D001C */ sw $t5, 0x1c($t1)
/* 021F5C 8002135C 3C05800E */ lui $a1, %hi(D_800DDB40) # $a1, 0x800e
/* 021F60 80021360 AC20DB58 */ sw $zero, %lo(D_800DDB58)($at)
/* 021F64 80021364 8CA5DB40 */ lw $a1, %lo(D_800DDB40)($a1)
/* 021F68 80021368 8C84C4FC */ lw $a0, %lo(D_800DC4FC)($a0)
/* 021F6C 8002136C 00003025 */ move $a2, $zero
/* 021F70 80021370 0C008000 */ jal func_80020000
/* 021F74 80021374 00003825 */ move $a3, $zero
/* 021F78 80021378 3C04800E */ lui $a0, %hi(D_800DC4E0) # $a0, 0x800e
/* 021F7C 8002137C 3C05800E */ lui $a1, %hi(D_800DDB40) # $a1, 0x800e
/* 021F80 80021380 8CA5DB40 */ lw $a1, %lo(D_800DDB40)($a1)
/* 021F84 80021384 8C84C4E0 */ lw $a0, %lo(D_800DC4E0)($a0)
/* 021F88 80021388 24060001 */ li $a2, 1
/* 021F8C 8002138C 0C008000 */ jal func_80020000
/* 021F90 80021390 00003825 */ move $a3, $zero
/* 021F94 80021394 3C04800E */ lui $a0, %hi(D_800DC4E4) # $a0, 0x800e
/* 021F98 80021398 3C05800E */ lui $a1, %hi(D_800DDB40) # $a1, 0x800e
/* 021F9C 8002139C 8CA5DB40 */ lw $a1, %lo(D_800DDB40)($a1)
/* 021FA0 800213A0 8C84C4E4 */ lw $a0, %lo(D_800DC4E4)($a0)
/* 021FA4 800213A4 24060002 */ li $a2, 2
/* 021FA8 800213A8 0C008000 */ jal func_80020000
/* 021FAC 800213AC 00003825 */ move $a3, $zero
/* 021FB0 800213B0 3C04800E */ lui $a0, %hi(D_800DC4E8) # $a0, 0x800e
/* 021FB4 800213B4 3C05800E */ lui $a1, %hi(D_800DDB40) # $a1, 0x800e
/* 021FB8 800213B8 8CA5DB40 */ lw $a1, %lo(D_800DDB40)($a1)
/* 021FBC 800213BC 8C84C4E8 */ lw $a0, %lo(D_800DC4E8)($a0)
/* 021FC0 800213C0 24060003 */ li $a2, 3
/* 021FC4 800213C4 0C008000 */ jal func_80020000
/* 021FC8 800213C8 00003825 */ move $a3, $zero
/* 021FCC 800213CC 3C19800E */ lui $t9, %hi(D_800DC52C) # $t9, 0x800e
/* 021FD0 800213D0 8F39C52C */ lw $t9, %lo(D_800DC52C)($t9)
/* 021FD4 800213D4 24010003 */ li $at, 3
/* 021FD8 800213D8 3C04800E */ lui $a0, %hi(D_800DC4EC) # $a0, 0x800e
/* 021FDC 800213DC 1321001B */ beq $t9, $at, .L8002144C
/* 021FE0 800213E0 3C05800E */ lui $a1, %hi(D_800DDB40) # $a1, 0x800e
/* 021FE4 800213E4 8C84C4EC */ lw $a0, %lo(D_800DC4EC)($a0)
/* 021FE8 800213E8 8CA5DB40 */ lw $a1, %lo(D_800DDB40)($a1)
/* 021FEC 800213EC 24060004 */ li $a2, 4
/* 021FF0 800213F0 0C008000 */ jal func_80020000
/* 021FF4 800213F4 00003825 */ move $a3, $zero
/* 021FF8 800213F8 3C04800E */ lui $a0, %hi(D_800DC4F0) # $a0, 0x800e
/* 021FFC 800213FC 3C05800E */ lui $a1, %hi(D_800DDB40) # $a1, 0x800e
/* 022000 80021400 8CA5DB40 */ lw $a1, %lo(D_800DDB40)($a1)
/* 022004 80021404 8C84C4F0 */ lw $a0, %lo(D_800DC4F0)($a0)
/* 022008 80021408 24060005 */ li $a2, 5
/* 02200C 8002140C 0C008000 */ jal func_80020000
/* 022010 80021410 00003825 */ move $a3, $zero
/* 022014 80021414 3C04800E */ lui $a0, %hi(D_800DC4F4) # $a0, 0x800e
/* 022018 80021418 3C05800E */ lui $a1, %hi(D_800DDB40) # $a1, 0x800e
/* 02201C 8002141C 8CA5DB40 */ lw $a1, %lo(D_800DDB40)($a1)
/* 022020 80021420 8C84C4F4 */ lw $a0, %lo(D_800DC4F4)($a0)
/* 022024 80021424 24060006 */ li $a2, 6
/* 022028 80021428 0C008000 */ jal func_80020000
/* 02202C 8002142C 00003825 */ move $a3, $zero
/* 022030 80021430 3C04800E */ lui $a0, %hi(D_800DC4F8) # $a0, 0x800e
/* 022034 80021434 3C05800E */ lui $a1, %hi(D_800DDB40) # $a1, 0x800e
/* 022038 80021438 8CA5DB40 */ lw $a1, %lo(D_800DDB40)($a1)
/* 02203C 8002143C 8C84C4F8 */ lw $a0, %lo(D_800DC4F8)($a0)
/* 022040 80021440 24060007 */ li $a2, 7
/* 022044 80021444 0C008000 */ jal func_80020000
/* 022048 80021448 00003825 */ move $a3, $zero
.L8002144C:
/* 02204C 8002144C 3C04800E */ lui $a0, %hi(D_800DC4DC) # $a0, 0x800e
/* 022050 80021450 8C84C4DC */ lw $a0, %lo(D_800DC4DC)($a0)
/* 022054 80021454 00002825 */ move $a1, $zero
/* 022058 80021458 0C008491 */ jal func_80021244
/* 02205C 8002145C 00003025 */ move $a2, $zero
/* 022060 80021460 3C04800E */ lui $a0, %hi(D_800DC4E0) # $a0, 0x800e
/* 022064 80021464 8C84C4E0 */ lw $a0, %lo(D_800DC4E0)($a0)
/* 022068 80021468 24050001 */ li $a1, 1
/* 02206C 8002146C 0C008491 */ jal func_80021244
/* 022070 80021470 00003025 */ move $a2, $zero
/* 022074 80021474 3C04800E */ lui $a0, %hi(D_800DC4E4) # $a0, 0x800e
/* 022078 80021478 8C84C4E4 */ lw $a0, %lo(D_800DC4E4)($a0)
/* 02207C 8002147C 24050002 */ li $a1, 2
/* 022080 80021480 0C008491 */ jal func_80021244
/* 022084 80021484 00003025 */ move $a2, $zero
/* 022088 80021488 3C04800E */ lui $a0, %hi(D_800DC4E8) # $a0, 0x800e
/* 02208C 8002148C 8C84C4E8 */ lw $a0, %lo(D_800DC4E8)($a0)
/* 022090 80021490 24050003 */ li $a1, 3
/* 022094 80021494 0C008491 */ jal func_80021244
/* 022098 80021498 00003025 */ move $a2, $zero
/* 02209C 8002149C 3C18800E */ lui $t8, %hi(D_800DC52C) # $t8, 0x800e
/* 0220A0 800214A0 8F18C52C */ lw $t8, %lo(D_800DC52C)($t8)
/* 0220A4 800214A4 24010003 */ li $at, 3
/* 0220A8 800214A8 3C04800E */ lui $a0, %hi(D_800DC4EC) # $a0, 0x800e
/* 0220AC 800214AC 13010013 */ beq $t8, $at, .L800214FC
/* 0220B0 800214B0 24050004 */ li $a1, 4
/* 0220B4 800214B4 8C84C4EC */ lw $a0, %lo(D_800DC4EC)($a0)
/* 0220B8 800214B8 0C008491 */ jal func_80021244
/* 0220BC 800214BC 00003025 */ move $a2, $zero
/* 0220C0 800214C0 3C04800E */ lui $a0, %hi(D_800DC4F0) # $a0, 0x800e
/* 0220C4 800214C4 8C84C4F0 */ lw $a0, %lo(D_800DC4F0)($a0)
/* 0220C8 800214C8 24050005 */ li $a1, 5
/* 0220CC 800214CC 0C008491 */ jal func_80021244
/* 0220D0 800214D0 00003025 */ move $a2, $zero
/* 0220D4 800214D4 3C04800E */ lui $a0, %hi(D_800DC4F4) # $a0, 0x800e
/* 0220D8 800214D8 8C84C4F4 */ lw $a0, %lo(D_800DC4F4)($a0)
/* 0220DC 800214DC 24050006 */ li $a1, 6
/* 0220E0 800214E0 0C008491 */ jal func_80021244
/* 0220E4 800214E4 00003025 */ move $a2, $zero
/* 0220E8 800214E8 3C04800E */ lui $a0, %hi(D_800DC4F8) # $a0, 0x800e
/* 0220EC 800214EC 8C84C4F8 */ lw $a0, %lo(D_800DC4F8)($a0)
/* 0220F0 800214F0 24050007 */ li $a1, 7
/* 0220F4 800214F4 0C008491 */ jal func_80021244
/* 0220F8 800214F8 00003025 */ move $a2, $zero
.L800214FC:
/* 0220FC 800214FC 3C0E800E */ lui $t6, %hi(D_800DDB58) # $t6, 0x800e
/* 022100 80021500 8DCEDB58 */ lw $t6, %lo(D_800DDB58)($t6)
/* 022104 80021504 3C04800E */ lui $a0, %hi(D_800DC4FC) # $a0, 0x800e
/* 022108 80021508 00002825 */ move $a1, $zero
/* 02210C 8002150C 11C00005 */ beqz $t6, .L80021524
/* 022110 80021510 00003025 */ move $a2, $zero
/* 022114 80021514 0C008149 */ jal func_80020524
/* 022118 80021518 00000000 */ nop
/* 02211C 8002151C 1000002B */ b .L800215CC
/* 022120 80021520 8FBF0014 */ lw $ra, 0x14($sp)
.L80021524:
/* 022124 80021524 0C01B96B */ jal func_8006E5AC
/* 022128 80021528 8C84C4FC */ lw $a0, %lo(D_800DC4FC)($a0)
/* 02212C 8002152C 3C04800E */ lui $a0, %hi(D_800DC4E0) # $a0, 0x800e
/* 022130 80021530 8C84C4E0 */ lw $a0, %lo(D_800DC4E0)($a0)
/* 022134 80021534 24050001 */ li $a1, 1
/* 022138 80021538 0C01B96B */ jal func_8006E5AC
/* 02213C 8002153C 00003025 */ move $a2, $zero
/* 022140 80021540 3C04800E */ lui $a0, %hi(D_800DC4E4) # $a0, 0x800e
/* 022144 80021544 8C84C4E4 */ lw $a0, %lo(D_800DC4E4)($a0)
/* 022148 80021548 24050002 */ li $a1, 2
/* 02214C 8002154C 0C01B96B */ jal func_8006E5AC
/* 022150 80021550 00003025 */ move $a2, $zero
/* 022154 80021554 3C04800E */ lui $a0, %hi(D_800DC4E8) # $a0, 0x800e
/* 022158 80021558 8C84C4E8 */ lw $a0, %lo(D_800DC4E8)($a0)
/* 02215C 8002155C 24050003 */ li $a1, 3
/* 022160 80021560 0C01B96B */ jal func_8006E5AC
/* 022164 80021564 00003025 */ move $a2, $zero
/* 022168 80021568 3C0F800E */ lui $t7, %hi(D_800DC52C) # $t7, 0x800e
/* 02216C 8002156C 8DEFC52C */ lw $t7, %lo(D_800DC52C)($t7)
/* 022170 80021570 24010003 */ li $at, 3
/* 022174 80021574 3C04800E */ lui $a0, %hi(D_800DC4EC) # $a0, 0x800e
/* 022178 80021578 11E10013 */ beq $t7, $at, .L800215C8
/* 02217C 8002157C 24050004 */ li $a1, 4
/* 022180 80021580 8C84C4EC */ lw $a0, %lo(D_800DC4EC)($a0)
/* 022184 80021584 0C01B96B */ jal func_8006E5AC
/* 022188 80021588 00003025 */ move $a2, $zero
/* 02218C 8002158C 3C04800E */ lui $a0, %hi(D_800DC4F0) # $a0, 0x800e
/* 022190 80021590 8C84C4F0 */ lw $a0, %lo(D_800DC4F0)($a0)
/* 022194 80021594 24050005 */ li $a1, 5
/* 022198 80021598 0C01B96B */ jal func_8006E5AC
/* 02219C 8002159C 00003025 */ move $a2, $zero
/* 0221A0 800215A0 3C04800E */ lui $a0, %hi(D_800DC4F4) # $a0, 0x800e
/* 0221A4 800215A4 8C84C4F4 */ lw $a0, %lo(D_800DC4F4)($a0)
/* 0221A8 800215A8 24050006 */ li $a1, 6
/* 0221AC 800215AC 0C01B96B */ jal func_8006E5AC
/* 0221B0 800215B0 00003025 */ move $a2, $zero
/* 0221B4 800215B4 3C04800E */ lui $a0, %hi(D_800DC4F8) # $a0, 0x800e
/* 0221B8 800215B8 8C84C4F8 */ lw $a0, %lo(D_800DC4F8)($a0)
/* 0221BC 800215BC 24050007 */ li $a1, 7
/* 0221C0 800215C0 0C01B96B */ jal func_8006E5AC
/* 0221C4 800215C4 00003025 */ move $a2, $zero
.L800215C8:
/* 0221C8 800215C8 8FBF0014 */ lw $ra, 0x14($sp)
.L800215CC:
/* 0221CC 800215CC 3C01800E */ lui $at, %hi(D_800DDB58) # $at, 0x800e
/* 0221D0 800215D0 AC20DB58 */ sw $zero, %lo(D_800DDB58)($at)
/* 0221D4 800215D4 03E00008 */ jr $ra
/* 0221D8 800215D8 27BD0060 */ addiu $sp, $sp, 0x60
glabel func_800215DC
/* 0221DC 800215DC 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 0221E0 800215E0 AFBF0014 */ sw $ra, 0x14($sp)
/* 0221E4 800215E4 3C01800E */ lui $at, %hi(D_800DDB58) # $at, 0x800e
/* 0221E8 800215E8 3C04800E */ lui $a0, %hi(D_800DC4FC) # $a0, 0x800e
/* 0221EC 800215EC 3C05800E */ lui $a1, %hi(D_800DDB44) # $a1, 0x800e
/* 0221F0 800215F0 AC20DB58 */ sw $zero, %lo(D_800DDB58)($at)
/* 0221F4 800215F4 8CA5DB44 */ lw $a1, %lo(D_800DDB44)($a1)
/* 0221F8 800215F8 8C84C4FC */ lw $a0, %lo(D_800DC4FC)($a0)
/* 0221FC 800215FC 00003025 */ move $a2, $zero
/* 022200 80021600 0C008000 */ jal func_80020000
/* 022204 80021604 24070001 */ li $a3, 1
/* 022208 80021608 3C04800E */ lui $a0, %hi(D_800DC4E0) # $a0, 0x800e
/* 02220C 8002160C 3C05800E */ lui $a1, %hi(D_800DDB44) # $a1, 0x800e
/* 022210 80021610 8CA5DB44 */ lw $a1, %lo(D_800DDB44)($a1)
/* 022214 80021614 8C84C4E0 */ lw $a0, %lo(D_800DC4E0)($a0)
/* 022218 80021618 24060001 */ li $a2, 1
/* 02221C 8002161C 0C008000 */ jal func_80020000
/* 022220 80021620 24070001 */ li $a3, 1
/* 022224 80021624 3C04800E */ lui $a0, %hi(D_800DC4E4) # $a0, 0x800e
/* 022228 80021628 3C05800E */ lui $a1, %hi(D_800DDB44) # $a1, 0x800e
/* 02222C 8002162C 8CA5DB44 */ lw $a1, %lo(D_800DDB44)($a1)
/* 022230 80021630 8C84C4E4 */ lw $a0, %lo(D_800DC4E4)($a0)
/* 022234 80021634 24060002 */ li $a2, 2
/* 022238 80021638 0C008000 */ jal func_80020000
/* 02223C 8002163C 24070001 */ li $a3, 1
/* 022240 80021640 3C04800E */ lui $a0, %hi(D_800DC4E8) # $a0, 0x800e
/* 022244 80021644 3C05800E */ lui $a1, %hi(D_800DDB44) # $a1, 0x800e
/* 022248 80021648 8CA5DB44 */ lw $a1, %lo(D_800DDB44)($a1)
/* 02224C 8002164C 8C84C4E8 */ lw $a0, %lo(D_800DC4E8)($a0)
/* 022250 80021650 24060003 */ li $a2, 3
/* 022254 80021654 0C008000 */ jal func_80020000
/* 022258 80021658 24070001 */ li $a3, 1
/* 02225C 8002165C 3C0E800E */ lui $t6, %hi(D_800DC52C) # $t6, 0x800e
/* 022260 80021660 8DCEC52C */ lw $t6, %lo(D_800DC52C)($t6)
/* 022264 80021664 24010003 */ li $at, 3
/* 022268 80021668 3C04800E */ lui $a0, %hi(D_800DC4EC) # $a0, 0x800e
/* 02226C 8002166C 11C1001B */ beq $t6, $at, .L800216DC
/* 022270 80021670 3C05800E */ lui $a1, %hi(D_800DDB44) # $a1, 0x800e
/* 022274 80021674 8C84C4EC */ lw $a0, %lo(D_800DC4EC)($a0)
/* 022278 80021678 8CA5DB44 */ lw $a1, %lo(D_800DDB44)($a1)
/* 02227C 8002167C 24060004 */ li $a2, 4
/* 022280 80021680 0C008000 */ jal func_80020000
/* 022284 80021684 24070001 */ li $a3, 1
/* 022288 80021688 3C04800E */ lui $a0, %hi(D_800DC4F0) # $a0, 0x800e
/* 02228C 8002168C 3C05800E */ lui $a1, %hi(D_800DDB44) # $a1, 0x800e
/* 022290 80021690 8CA5DB44 */ lw $a1, %lo(D_800DDB44)($a1)
/* 022294 80021694 8C84C4F0 */ lw $a0, %lo(D_800DC4F0)($a0)
/* 022298 80021698 24060005 */ li $a2, 5
/* 02229C 8002169C 0C008000 */ jal func_80020000
/* 0222A0 800216A0 24070001 */ li $a3, 1
/* 0222A4 800216A4 3C04800E */ lui $a0, %hi(D_800DC4F4) # $a0, 0x800e
/* 0222A8 800216A8 3C05800E */ lui $a1, %hi(D_800DDB44) # $a1, 0x800e
/* 0222AC 800216AC 8CA5DB44 */ lw $a1, %lo(D_800DDB44)($a1)
/* 0222B0 800216B0 8C84C4F4 */ lw $a0, %lo(D_800DC4F4)($a0)
/* 0222B4 800216B4 24060006 */ li $a2, 6
/* 0222B8 800216B8 0C008000 */ jal func_80020000
/* 0222BC 800216BC 24070001 */ li $a3, 1
/* 0222C0 800216C0 3C04800E */ lui $a0, %hi(D_800DC4F8) # $a0, 0x800e
/* 0222C4 800216C4 3C05800E */ lui $a1, %hi(D_800DDB44) # $a1, 0x800e
/* 0222C8 800216C8 8CA5DB44 */ lw $a1, %lo(D_800DDB44)($a1)
/* 0222CC 800216CC 8C84C4F8 */ lw $a0, %lo(D_800DC4F8)($a0)
/* 0222D0 800216D0 24060007 */ li $a2, 7
/* 0222D4 800216D4 0C008000 */ jal func_80020000
/* 0222D8 800216D8 24070001 */ li $a3, 1
.L800216DC:
/* 0222DC 800216DC 3C04800E */ lui $a0, %hi(D_800DC4DC) # $a0, 0x800e
/* 0222E0 800216E0 8C84C4DC */ lw $a0, %lo(D_800DC4DC)($a0)
/* 0222E4 800216E4 00002825 */ move $a1, $zero
/* 0222E8 800216E8 0C008491 */ jal func_80021244
/* 0222EC 800216EC 24060001 */ li $a2, 1
/* 0222F0 800216F0 3C04800E */ lui $a0, %hi(D_800DC4E0) # $a0, 0x800e
/* 0222F4 800216F4 8C84C4E0 */ lw $a0, %lo(D_800DC4E0)($a0)
/* 0222F8 800216F8 24050001 */ li $a1, 1
/* 0222FC 800216FC 0C008491 */ jal func_80021244
/* 022300 80021700 24060001 */ li $a2, 1
/* 022304 80021704 3C04800E */ lui $a0, %hi(D_800DC4E4) # $a0, 0x800e
/* 022308 80021708 8C84C4E4 */ lw $a0, %lo(D_800DC4E4)($a0)
/* 02230C 8002170C 24050002 */ li $a1, 2
/* 022310 80021710 0C008491 */ jal func_80021244
/* 022314 80021714 24060001 */ li $a2, 1
/* 022318 80021718 3C04800E */ lui $a0, %hi(D_800DC4E8) # $a0, 0x800e
/* 02231C 8002171C 8C84C4E8 */ lw $a0, %lo(D_800DC4E8)($a0)
/* 022320 80021720 24050003 */ li $a1, 3
/* 022324 80021724 0C008491 */ jal func_80021244
/* 022328 80021728 24060001 */ li $a2, 1
/* 02232C 8002172C 3C0F800E */ lui $t7, %hi(D_800DC52C) # $t7, 0x800e
/* 022330 80021730 8DEFC52C */ lw $t7, %lo(D_800DC52C)($t7)
/* 022334 80021734 24010003 */ li $at, 3
/* 022338 80021738 3C04800E */ lui $a0, %hi(D_800DC4EC) # $a0, 0x800e
/* 02233C 8002173C 11E10013 */ beq $t7, $at, .L8002178C
/* 022340 80021740 24050004 */ li $a1, 4
/* 022344 80021744 8C84C4EC */ lw $a0, %lo(D_800DC4EC)($a0)
/* 022348 80021748 0C008491 */ jal func_80021244
/* 02234C 8002174C 24060001 */ li $a2, 1
/* 022350 80021750 3C04800E */ lui $a0, %hi(D_800DC4F0) # $a0, 0x800e
/* 022354 80021754 8C84C4F0 */ lw $a0, %lo(D_800DC4F0)($a0)
/* 022358 80021758 24050005 */ li $a1, 5
/* 02235C 8002175C 0C008491 */ jal func_80021244
/* 022360 80021760 24060001 */ li $a2, 1
/* 022364 80021764 3C04800E */ lui $a0, %hi(D_800DC4F4) # $a0, 0x800e
/* 022368 80021768 8C84C4F4 */ lw $a0, %lo(D_800DC4F4)($a0)
/* 02236C 8002176C 24050006 */ li $a1, 6
/* 022370 80021770 0C008491 */ jal func_80021244
/* 022374 80021774 24060001 */ li $a2, 1
/* 022378 80021778 3C04800E */ lui $a0, %hi(D_800DC4F8) # $a0, 0x800e
/* 02237C 8002177C 8C84C4F8 */ lw $a0, %lo(D_800DC4F8)($a0)
/* 022380 80021780 24050007 */ li $a1, 7
/* 022384 80021784 0C008491 */ jal func_80021244
/* 022388 80021788 24060001 */ li $a2, 1
.L8002178C:
/* 02238C 8002178C 3C18800E */ lui $t8, %hi(D_800DDB58) # $t8, 0x800e
/* 022390 80021790 8F18DB58 */ lw $t8, %lo(D_800DDB58)($t8)
/* 022394 80021794 3C04800E */ lui $a0, %hi(D_800DC4FC) # $a0, 0x800e
/* 022398 80021798 00002825 */ move $a1, $zero
/* 02239C 8002179C 13000005 */ beqz $t8, .L800217B4
/* 0223A0 800217A0 24060001 */ li $a2, 1
/* 0223A4 800217A4 0C008223 */ jal func_8002088C
/* 0223A8 800217A8 00000000 */ nop
/* 0223AC 800217AC 1000002B */ b .L8002185C
/* 0223B0 800217B0 8FBF0014 */ lw $ra, 0x14($sp)
.L800217B4:
/* 0223B4 800217B4 0C01B98D */ jal func_8006E634
/* 0223B8 800217B8 8C84C4FC */ lw $a0, %lo(D_800DC4FC)($a0)
/* 0223BC 800217BC 3C04800E */ lui $a0, %hi(D_800DC4E0) # $a0, 0x800e
/* 0223C0 800217C0 8C84C4E0 */ lw $a0, %lo(D_800DC4E0)($a0)
/* 0223C4 800217C4 24050001 */ li $a1, 1
/* 0223C8 800217C8 0C01B98D */ jal func_8006E634
/* 0223CC 800217CC 24060001 */ li $a2, 1
/* 0223D0 800217D0 3C04800E */ lui $a0, %hi(D_800DC4E4) # $a0, 0x800e
/* 0223D4 800217D4 8C84C4E4 */ lw $a0, %lo(D_800DC4E4)($a0)
/* 0223D8 800217D8 24050002 */ li $a1, 2
/* 0223DC 800217DC 0C01B98D */ jal func_8006E634
/* 0223E0 800217E0 24060001 */ li $a2, 1
/* 0223E4 800217E4 3C04800E */ lui $a0, %hi(D_800DC4E8) # $a0, 0x800e
/* 0223E8 800217E8 8C84C4E8 */ lw $a0, %lo(D_800DC4E8)($a0)
/* 0223EC 800217EC 24050003 */ li $a1, 3
/* 0223F0 800217F0 0C01B98D */ jal func_8006E634
/* 0223F4 800217F4 24060001 */ li $a2, 1
/* 0223F8 800217F8 3C19800E */ lui $t9, %hi(D_800DC52C) # $t9, 0x800e
/* 0223FC 800217FC 8F39C52C */ lw $t9, %lo(D_800DC52C)($t9)
/* 022400 80021800 24010003 */ li $at, 3
/* 022404 80021804 3C04800E */ lui $a0, %hi(D_800DC4EC) # $a0, 0x800e
/* 022408 80021808 13210013 */ beq $t9, $at, .L80021858
/* 02240C 8002180C 24050004 */ li $a1, 4
/* 022410 80021810 8C84C4EC */ lw $a0, %lo(D_800DC4EC)($a0)
/* 022414 80021814 0C01B98D */ jal func_8006E634
/* 022418 80021818 24060001 */ li $a2, 1
/* 02241C 8002181C 3C04800E */ lui $a0, %hi(D_800DC4F0) # $a0, 0x800e
/* 022420 80021820 8C84C4F0 */ lw $a0, %lo(D_800DC4F0)($a0)
/* 022424 80021824 24050005 */ li $a1, 5
/* 022428 80021828 0C01B98D */ jal func_8006E634
/* 02242C 8002182C 24060001 */ li $a2, 1
/* 022430 80021830 3C04800E */ lui $a0, %hi(D_800DC4F4) # $a0, 0x800e
/* 022434 80021834 8C84C4F4 */ lw $a0, %lo(D_800DC4F4)($a0)
/* 022438 80021838 24050006 */ li $a1, 6
/* 02243C 8002183C 0C01B98D */ jal func_8006E634
/* 022440 80021840 24060001 */ li $a2, 1
/* 022444 80021844 3C04800E */ lui $a0, %hi(D_800DC4F8) # $a0, 0x800e
/* 022448 80021848 8C84C4F8 */ lw $a0, %lo(D_800DC4F8)($a0)
/* 02244C 8002184C 24050007 */ li $a1, 7
/* 022450 80021850 0C01B98D */ jal func_8006E634
/* 022454 80021854 24060001 */ li $a2, 1
.L80021858:
/* 022458 80021858 8FBF0014 */ lw $ra, 0x14($sp)
.L8002185C:
/* 02245C 8002185C 3C01800E */ lui $at, %hi(D_800DDB58) # $at, 0x800e
/* 022460 80021860 AC20DB58 */ sw $zero, %lo(D_800DDB58)($at)
/* 022464 80021864 03E00008 */ jr $ra
/* 022468 80021868 27BD0018 */ addiu $sp, $sp, 0x18
glabel func_8002186C
/* 02246C 8002186C 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 022470 80021870 AFBF0014 */ sw $ra, 0x14($sp)
/* 022474 80021874 3C01800E */ lui $at, %hi(D_800DDB58) # $at, 0x800e
/* 022478 80021878 3C04800E */ lui $a0, %hi(D_800DC4FC) # $a0, 0x800e
/* 02247C 8002187C 3C05800E */ lui $a1, %hi(D_800DDB48) # $a1, 0x800e
/* 022480 80021880 AC20DB58 */ sw $zero, %lo(D_800DDB58)($at)
/* 022484 80021884 8CA5DB48 */ lw $a1, %lo(D_800DDB48)($a1)
/* 022488 80021888 8C84C4FC */ lw $a0, %lo(D_800DC4FC)($a0)
/* 02248C 8002188C 00003025 */ move $a2, $zero
/* 022490 80021890 0C008000 */ jal func_80020000
/* 022494 80021894 24070002 */ li $a3, 2
/* 022498 80021898 3C04800E */ lui $a0, %hi(D_800DC4E0) # $a0, 0x800e
/* 02249C 8002189C 3C05800E */ lui $a1, %hi(D_800DDB48) # $a1, 0x800e
/* 0224A0 800218A0 8CA5DB48 */ lw $a1, %lo(D_800DDB48)($a1)
/* 0224A4 800218A4 8C84C4E0 */ lw $a0, %lo(D_800DC4E0)($a0)
/* 0224A8 800218A8 24060001 */ li $a2, 1
/* 0224AC 800218AC 0C008000 */ jal func_80020000
/* 0224B0 800218B0 24070002 */ li $a3, 2
/* 0224B4 800218B4 3C04800E */ lui $a0, %hi(D_800DC4E4) # $a0, 0x800e
/* 0224B8 800218B8 3C05800E */ lui $a1, %hi(D_800DDB48) # $a1, 0x800e
/* 0224BC 800218BC 8CA5DB48 */ lw $a1, %lo(D_800DDB48)($a1)
/* 0224C0 800218C0 8C84C4E4 */ lw $a0, %lo(D_800DC4E4)($a0)
/* 0224C4 800218C4 24060002 */ li $a2, 2
/* 0224C8 800218C8 0C008000 */ jal func_80020000
/* 0224CC 800218CC 24070002 */ li $a3, 2
/* 0224D0 800218D0 3C04800E */ lui $a0, %hi(D_800DC4E8) # $a0, 0x800e
/* 0224D4 800218D4 3C05800E */ lui $a1, %hi(D_800DDB48) # $a1, 0x800e
/* 0224D8 800218D8 8CA5DB48 */ lw $a1, %lo(D_800DDB48)($a1)
/* 0224DC 800218DC 8C84C4E8 */ lw $a0, %lo(D_800DC4E8)($a0)
/* 0224E0 800218E0 24060003 */ li $a2, 3
/* 0224E4 800218E4 0C008000 */ jal func_80020000
/* 0224E8 800218E8 24070002 */ li $a3, 2
/* 0224EC 800218EC 3C04800E */ lui $a0, %hi(D_800DC4DC) # $a0, 0x800e
/* 0224F0 800218F0 8C84C4DC */ lw $a0, %lo(D_800DC4DC)($a0)
/* 0224F4 800218F4 00002825 */ move $a1, $zero
/* 0224F8 800218F8 0C008491 */ jal func_80021244
/* 0224FC 800218FC 24060002 */ li $a2, 2
/* 022500 80021900 3C04800E */ lui $a0, %hi(D_800DC4E0) # $a0, 0x800e
/* 022504 80021904 8C84C4E0 */ lw $a0, %lo(D_800DC4E0)($a0)
/* 022508 80021908 24050001 */ li $a1, 1
/* 02250C 8002190C 0C008491 */ jal func_80021244
/* 022510 80021910 24060002 */ li $a2, 2
/* 022514 80021914 3C04800E */ lui $a0, %hi(D_800DC4E4) # $a0, 0x800e
/* 022518 80021918 8C84C4E4 */ lw $a0, %lo(D_800DC4E4)($a0)
/* 02251C 8002191C 24050002 */ li $a1, 2
/* 022520 80021920 0C008491 */ jal func_80021244
/* 022524 80021924 24060002 */ li $a2, 2
/* 022528 80021928 3C04800E */ lui $a0, %hi(D_800DC4E8) # $a0, 0x800e
/* 02252C 8002192C 8C84C4E8 */ lw $a0, %lo(D_800DC4E8)($a0)
/* 022530 80021930 24050003 */ li $a1, 3
/* 022534 80021934 0C008491 */ jal func_80021244
/* 022538 80021938 24060002 */ li $a2, 2
/* 02253C 8002193C 3C0E800E */ lui $t6, %hi(D_800DDB58) # $t6, 0x800e
/* 022540 80021940 8DCEDB58 */ lw $t6, %lo(D_800DDB58)($t6)
/* 022544 80021944 3C04800E */ lui $a0, %hi(D_800DC4FC) # $a0, 0x800e
/* 022548 80021948 00002825 */ move $a1, $zero
/* 02254C 8002194C 11C00005 */ beqz $t6, .L80021964
/* 022550 80021950 24060002 */ li $a2, 2
/* 022554 80021954 0C0082FD */ jal func_80020BF4
/* 022558 80021958 00000000 */ nop
/* 02255C 8002195C 10000013 */ b .L800219AC
/* 022560 80021960 8FBF0014 */ lw $ra, 0x14($sp)
.L80021964:
/* 022564 80021964 0C01B9AF */ jal func_8006E6BC
/* 022568 80021968 8C84C4FC */ lw $a0, %lo(D_800DC4FC)($a0)
/* 02256C 8002196C 3C04800E */ lui $a0, %hi(D_800DC4E0) # $a0, 0x800e
/* 022570 80021970 8C84C4E0 */ lw $a0, %lo(D_800DC4E0)($a0)
/* 022574 80021974 24050001 */ li $a1, 1
/* 022578 80021978 0C01B9AF */ jal func_8006E6BC
/* 02257C 8002197C 24060002 */ li $a2, 2
/* 022580 80021980 3C04800E */ lui $a0, %hi(D_800DC4E4) # $a0, 0x800e
/* 022584 80021984 8C84C4E4 */ lw $a0, %lo(D_800DC4E4)($a0)
/* 022588 80021988 24050002 */ li $a1, 2
/* 02258C 8002198C 0C01B9AF */ jal func_8006E6BC
/* 022590 80021990 24060002 */ li $a2, 2
/* 022594 80021994 3C04800E */ lui $a0, %hi(D_800DC4E8) # $a0, 0x800e
/* 022598 80021998 8C84C4E8 */ lw $a0, %lo(D_800DC4E8)($a0)
/* 02259C 8002199C 24050003 */ li $a1, 3
/* 0225A0 800219A0 0C01B9AF */ jal func_8006E6BC
/* 0225A4 800219A4 24060002 */ li $a2, 2
/* 0225A8 800219A8 8FBF0014 */ lw $ra, 0x14($sp)
.L800219AC:
/* 0225AC 800219AC 3C01800E */ lui $at, %hi(D_800DDB58) # $at, 0x800e
/* 0225B0 800219B0 AC20DB58 */ sw $zero, %lo(D_800DDB58)($at)
/* 0225B4 800219B4 03E00008 */ jr $ra
/* 0225B8 800219B8 27BD0018 */ addiu $sp, $sp, 0x18
glabel func_800219BC
/* 0225BC 800219BC 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 0225C0 800219C0 AFBF0014 */ sw $ra, 0x14($sp)
/* 0225C4 800219C4 3C01800E */ lui $at, %hi(D_800DDB58) # $at, 0x800e
/* 0225C8 800219C8 3C04800E */ lui $a0, %hi(D_800DC4FC) # $a0, 0x800e
/* 0225CC 800219CC 3C05800E */ lui $a1, %hi(D_800DDB4C) # $a1, 0x800e
/* 0225D0 800219D0 AC20DB58 */ sw $zero, %lo(D_800DDB58)($at)
/* 0225D4 800219D4 8CA5DB4C */ lw $a1, %lo(D_800DDB4C)($a1)
/* 0225D8 800219D8 8C84C4FC */ lw $a0, %lo(D_800DC4FC)($a0)
/* 0225DC 800219DC 00003025 */ move $a2, $zero
/* 0225E0 800219E0 0C008000 */ jal func_80020000
/* 0225E4 800219E4 24070003 */ li $a3, 3
/* 0225E8 800219E8 3C04800E */ lui $a0, %hi(D_800DC4E0) # $a0, 0x800e
/* 0225EC 800219EC 3C05800E */ lui $a1, %hi(D_800DDB4C) # $a1, 0x800e
/* 0225F0 800219F0 8CA5DB4C */ lw $a1, %lo(D_800DDB4C)($a1)
/* 0225F4 800219F4 8C84C4E0 */ lw $a0, %lo(D_800DC4E0)($a0)
/* 0225F8 800219F8 24060001 */ li $a2, 1
/* 0225FC 800219FC 0C008000 */ jal func_80020000
/* 022600 80021A00 24070003 */ li $a3, 3
/* 022604 80021A04 3C04800E */ lui $a0, %hi(D_800DC4E4) # $a0, 0x800e
/* 022608 80021A08 3C05800E */ lui $a1, %hi(D_800DDB4C) # $a1, 0x800e
/* 02260C 80021A0C 8CA5DB4C */ lw $a1, %lo(D_800DDB4C)($a1)
/* 022610 80021A10 8C84C4E4 */ lw $a0, %lo(D_800DC4E4)($a0)
/* 022614 80021A14 24060002 */ li $a2, 2
/* 022618 80021A18 0C008000 */ jal func_80020000
/* 02261C 80021A1C 24070003 */ li $a3, 3
/* 022620 80021A20 3C04800E */ lui $a0, %hi(D_800DC4E8) # $a0, 0x800e
/* 022624 80021A24 3C05800E */ lui $a1, %hi(D_800DDB4C) # $a1, 0x800e
/* 022628 80021A28 8CA5DB4C */ lw $a1, %lo(D_800DDB4C)($a1)
/* 02262C 80021A2C 8C84C4E8 */ lw $a0, %lo(D_800DC4E8)($a0)
/* 022630 80021A30 24060003 */ li $a2, 3
/* 022634 80021A34 0C008000 */ jal func_80020000
/* 022638 80021A38 24070003 */ li $a3, 3
/* 02263C 80021A3C 3C04800E */ lui $a0, %hi(D_800DC4DC) # $a0, 0x800e
/* 022640 80021A40 8C84C4DC */ lw $a0, %lo(D_800DC4DC)($a0)
/* 022644 80021A44 00002825 */ move $a1, $zero
/* 022648 80021A48 0C008491 */ jal func_80021244
/* 02264C 80021A4C 24060003 */ li $a2, 3
/* 022650 80021A50 3C04800E */ lui $a0, %hi(D_800DC4E0) # $a0, 0x800e
/* 022654 80021A54 8C84C4E0 */ lw $a0, %lo(D_800DC4E0)($a0)
/* 022658 80021A58 24050001 */ li $a1, 1
/* 02265C 80021A5C 0C008491 */ jal func_80021244
/* 022660 80021A60 24060003 */ li $a2, 3
/* 022664 80021A64 3C04800E */ lui $a0, %hi(D_800DC4E4) # $a0, 0x800e
/* 022668 80021A68 8C84C4E4 */ lw $a0, %lo(D_800DC4E4)($a0)
/* 02266C 80021A6C 24050002 */ li $a1, 2
/* 022670 80021A70 0C008491 */ jal func_80021244
/* 022674 80021A74 24060003 */ li $a2, 3
/* 022678 80021A78 3C04800E */ lui $a0, %hi(D_800DC4E8) # $a0, 0x800e
/* 02267C 80021A7C 8C84C4E8 */ lw $a0, %lo(D_800DC4E8)($a0)
/* 022680 80021A80 24050003 */ li $a1, 3
/* 022684 80021A84 0C008491 */ jal func_80021244
/* 022688 80021A88 24060003 */ li $a2, 3
/* 02268C 80021A8C 3C0E800E */ lui $t6, %hi(D_800DDB58) # $t6, 0x800e
/* 022690 80021A90 8DCEDB58 */ lw $t6, %lo(D_800DDB58)($t6)
/* 022694 80021A94 3C04800E */ lui $a0, %hi(D_800DC4FC) # $a0, 0x800e
/* 022698 80021A98 00002825 */ move $a1, $zero
/* 02269C 80021A9C 11C00005 */ beqz $t6, .L80021AB4
/* 0226A0 80021AA0 24060003 */ li $a2, 3
/* 0226A4 80021AA4 0C0083C7 */ jal func_80020F1C
/* 0226A8 80021AA8 00000000 */ nop
/* 0226AC 80021AAC 10000013 */ b .L80021AFC
/* 0226B0 80021AB0 8FBF0014 */ lw $ra, 0x14($sp)
.L80021AB4:
/* 0226B4 80021AB4 0C01B9D1 */ jal func_8006E744
/* 0226B8 80021AB8 8C84C4FC */ lw $a0, %lo(D_800DC4FC)($a0)
/* 0226BC 80021ABC 3C04800E */ lui $a0, %hi(D_800DC4E0) # $a0, 0x800e
/* 0226C0 80021AC0 8C84C4E0 */ lw $a0, %lo(D_800DC4E0)($a0)
/* 0226C4 80021AC4 24050001 */ li $a1, 1
/* 0226C8 80021AC8 0C01B9D1 */ jal func_8006E744
/* 0226CC 80021ACC 24060003 */ li $a2, 3
/* 0226D0 80021AD0 3C04800E */ lui $a0, %hi(D_800DC4E4) # $a0, 0x800e
/* 0226D4 80021AD4 8C84C4E4 */ lw $a0, %lo(D_800DC4E4)($a0)
/* 0226D8 80021AD8 24050002 */ li $a1, 2
/* 0226DC 80021ADC 0C01B9D1 */ jal func_8006E744
/* 0226E0 80021AE0 24060003 */ li $a2, 3
/* 0226E4 80021AE4 3C04800E */ lui $a0, %hi(D_800DC4E8) # $a0, 0x800e
/* 0226E8 80021AE8 8C84C4E8 */ lw $a0, %lo(D_800DC4E8)($a0)
/* 0226EC 80021AEC 24050003 */ li $a1, 3
/* 0226F0 80021AF0 0C01B9D1 */ jal func_8006E744
/* 0226F4 80021AF4 24060003 */ li $a2, 3
/* 0226F8 80021AF8 8FBF0014 */ lw $ra, 0x14($sp)
.L80021AFC:
/* 0226FC 80021AFC 3C01800E */ lui $at, %hi(D_800DDB58) # $at, 0x800e
/* 022700 80021B00 AC20DB58 */ sw $zero, %lo(D_800DDB58)($at)
/* 022704 80021B04 03E00008 */ jr $ra
/* 022708 80021B08 27BD0018 */ addiu $sp, $sp, 0x18
glabel func_80021B0C
/* 02270C 80021B0C 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 022710 80021B10 AFBF0014 */ sw $ra, 0x14($sp)
/* 022714 80021B14 3C04800E */ lui $a0, %hi(D_800DC4FC) # $a0, 0x800e
/* 022718 80021B18 8C84C4FC */ lw $a0, %lo(D_800DC4FC)($a0)
/* 02271C 80021B1C 00002825 */ move $a1, $zero
/* 022720 80021B20 0C01B9F3 */ jal func_8006E7CC
/* 022724 80021B24 00003025 */ move $a2, $zero
/* 022728 80021B28 3C04800E */ lui $a0, %hi(D_800DC4E0) # $a0, 0x800e
/* 02272C 80021B2C 8C84C4E0 */ lw $a0, %lo(D_800DC4E0)($a0)
/* 022730 80021B30 24050001 */ li $a1, 1
/* 022734 80021B34 0C01B9F3 */ jal func_8006E7CC
/* 022738 80021B38 00003025 */ move $a2, $zero
/* 02273C 80021B3C 3C04800E */ lui $a0, %hi(D_800DC4E4) # $a0, 0x800e
/* 022740 80021B40 8C84C4E4 */ lw $a0, %lo(D_800DC4E4)($a0)
/* 022744 80021B44 24050002 */ li $a1, 2
/* 022748 80021B48 0C01B9F3 */ jal func_8006E7CC
/* 02274C 80021B4C 00003025 */ move $a2, $zero
/* 022750 80021B50 3C04800E */ lui $a0, %hi(D_800DC4E8) # $a0, 0x800e
/* 022754 80021B54 8C84C4E8 */ lw $a0, %lo(D_800DC4E8)($a0)
/* 022758 80021B58 24050003 */ li $a1, 3
/* 02275C 80021B5C 0C01B9F3 */ jal func_8006E7CC
/* 022760 80021B60 00003025 */ move $a2, $zero
/* 022764 80021B64 3C0E800E */ lui $t6, %hi(D_800DC52C) # $t6, 0x800e
/* 022768 80021B68 8DCEC52C */ lw $t6, %lo(D_800DC52C)($t6)
/* 02276C 80021B6C 24010003 */ li $at, 3
/* 022770 80021B70 3C04800E */ lui $a0, %hi(D_800DC4EC) # $a0, 0x800e
/* 022774 80021B74 11C10013 */ beq $t6, $at, .L80021BC4
/* 022778 80021B78 24050004 */ li $a1, 4
/* 02277C 80021B7C 8C84C4EC */ lw $a0, %lo(D_800DC4EC)($a0)
/* 022780 80021B80 0C01B9F3 */ jal func_8006E7CC
/* 022784 80021B84 00003025 */ move $a2, $zero
/* 022788 80021B88 3C04800E */ lui $a0, %hi(D_800DC4F0) # $a0, 0x800e
/* 02278C 80021B8C 8C84C4F0 */ lw $a0, %lo(D_800DC4F0)($a0)
/* 022790 80021B90 24050005 */ li $a1, 5
/* 022794 80021B94 0C01B9F3 */ jal func_8006E7CC
/* 022798 80021B98 00003025 */ move $a2, $zero
/* 02279C 80021B9C 3C04800E */ lui $a0, %hi(D_800DC4F4) # $a0, 0x800e
/* 0227A0 80021BA0 8C84C4F4 */ lw $a0, %lo(D_800DC4F4)($a0)
/* 0227A4 80021BA4 24050006 */ li $a1, 6
/* 0227A8 80021BA8 0C01B9F3 */ jal func_8006E7CC
/* 0227AC 80021BAC 00003025 */ move $a2, $zero
/* 0227B0 80021BB0 3C04800E */ lui $a0, %hi(D_800DC4F8) # $a0, 0x800e
/* 0227B4 80021BB4 8C84C4F8 */ lw $a0, %lo(D_800DC4F8)($a0)
/* 0227B8 80021BB8 24050007 */ li $a1, 7
/* 0227BC 80021BBC 0C01B9F3 */ jal func_8006E7CC
/* 0227C0 80021BC0 00003025 */ move $a2, $zero
.L80021BC4:
/* 0227C4 80021BC4 3C0F800E */ lui $t7, %hi(D_800DC50C) # $t7, 0x800e
/* 0227C8 80021BC8 8DEFC50C */ lw $t7, %lo(D_800DC50C)($t7)
/* 0227CC 80021BCC 24010005 */ li $at, 5
/* 0227D0 80021BD0 3C04800E */ lui $a0, %hi(D_800DC4DC) # $a0, 0x800e
/* 0227D4 80021BD4 55E10025 */ bnel $t7, $at, .L80021C6C
/* 0227D8 80021BD8 8FBF0014 */ lw $ra, 0x14($sp)
/* 0227DC 80021BDC 8C84C4DC */ lw $a0, %lo(D_800DC4DC)($a0)
/* 0227E0 80021BE0 00002825 */ move $a1, $zero
/* 0227E4 80021BE4 84980044 */ lh $t8, 0x44($a0)
/* 0227E8 80021BE8 33192000 */ andi $t9, $t8, 0x2000
/* 0227EC 80021BEC 13200003 */ beqz $t9, .L80021BFC
/* 0227F0 80021BF0 00000000 */ nop
/* 0227F4 80021BF4 0C0090DD */ jal func_80024374
/* 0227F8 80021BF8 00003025 */ move $a2, $zero
.L80021BFC:
/* 0227FC 80021BFC 3C04800E */ lui $a0, %hi(D_800DC4E0) # $a0, 0x800e
/* 022800 80021C00 8C84C4E0 */ lw $a0, %lo(D_800DC4E0)($a0)
/* 022804 80021C04 24050001 */ li $a1, 1
/* 022808 80021C08 84880044 */ lh $t0, 0x44($a0)
/* 02280C 80021C0C 31092000 */ andi $t1, $t0, 0x2000
/* 022810 80021C10 11200003 */ beqz $t1, .L80021C20
/* 022814 80021C14 00000000 */ nop
/* 022818 80021C18 0C0090DD */ jal func_80024374
/* 02281C 80021C1C 00003025 */ move $a2, $zero
.L80021C20:
/* 022820 80021C20 3C04800E */ lui $a0, %hi(D_800DC4E4) # $a0, 0x800e
/* 022824 80021C24 8C84C4E4 */ lw $a0, %lo(D_800DC4E4)($a0)
/* 022828 80021C28 24050002 */ li $a1, 2
/* 02282C 80021C2C 848A0044 */ lh $t2, 0x44($a0)
/* 022830 80021C30 314B2000 */ andi $t3, $t2, 0x2000
/* 022834 80021C34 11600003 */ beqz $t3, .L80021C44
/* 022838 80021C38 00000000 */ nop
/* 02283C 80021C3C 0C0090DD */ jal func_80024374
/* 022840 80021C40 00003025 */ move $a2, $zero
.L80021C44:
/* 022844 80021C44 3C04800E */ lui $a0, %hi(D_800DC4E8) # $a0, 0x800e
/* 022848 80021C48 8C84C4E8 */ lw $a0, %lo(D_800DC4E8)($a0)
/* 02284C 80021C4C 24050003 */ li $a1, 3
/* 022850 80021C50 848C0044 */ lh $t4, 0x44($a0)
/* 022854 80021C54 318D2000 */ andi $t5, $t4, 0x2000
/* 022858 80021C58 51A00004 */ beql $t5, $zero, .L80021C6C
/* 02285C 80021C5C 8FBF0014 */ lw $ra, 0x14($sp)
/* 022860 80021C60 0C0090DD */ jal func_80024374
/* 022864 80021C64 00003025 */ move $a2, $zero
/* 022868 80021C68 8FBF0014 */ lw $ra, 0x14($sp)
.L80021C6C:
/* 02286C 80021C6C 27BD0018 */ addiu $sp, $sp, 0x18
/* 022870 80021C70 03E00008 */ jr $ra
/* 022874 80021C74 00000000 */ nop
glabel func_80021C78
/* 022878 80021C78 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 02287C 80021C7C AFBF0014 */ sw $ra, 0x14($sp)
/* 022880 80021C80 3C04800E */ lui $a0, %hi(D_800DC4FC) # $a0, 0x800e
/* 022884 80021C84 8C84C4FC */ lw $a0, %lo(D_800DC4FC)($a0)
/* 022888 80021C88 00002825 */ move $a1, $zero
/* 02288C 80021C8C 0C01BA12 */ jal func_8006E848
/* 022890 80021C90 24060001 */ li $a2, 1
/* 022894 80021C94 3C04800E */ lui $a0, %hi(D_800DC4E0) # $a0, 0x800e
/* 022898 80021C98 8C84C4E0 */ lw $a0, %lo(D_800DC4E0)($a0)
/* 02289C 80021C9C 24050001 */ li $a1, 1
/* 0228A0 80021CA0 0C01BA12 */ jal func_8006E848
/* 0228A4 80021CA4 24060001 */ li $a2, 1
/* 0228A8 80021CA8 3C04800E */ lui $a0, %hi(D_800DC4E4) # $a0, 0x800e
/* 0228AC 80021CAC 8C84C4E4 */ lw $a0, %lo(D_800DC4E4)($a0)
/* 0228B0 80021CB0 24050002 */ li $a1, 2
/* 0228B4 80021CB4 0C01BA12 */ jal func_8006E848
/* 0228B8 80021CB8 24060001 */ li $a2, 1
/* 0228BC 80021CBC 3C04800E */ lui $a0, %hi(D_800DC4E8) # $a0, 0x800e
/* 0228C0 80021CC0 8C84C4E8 */ lw $a0, %lo(D_800DC4E8)($a0)
/* 0228C4 80021CC4 24050003 */ li $a1, 3
/* 0228C8 80021CC8 0C01BA12 */ jal func_8006E848
/* 0228CC 80021CCC 24060001 */ li $a2, 1
/* 0228D0 80021CD0 3C0E800E */ lui $t6, %hi(D_800DC52C) # $t6, 0x800e
/* 0228D4 80021CD4 8DCEC52C */ lw $t6, %lo(D_800DC52C)($t6)
/* 0228D8 80021CD8 24010003 */ li $at, 3
/* 0228DC 80021CDC 3C04800E */ lui $a0, %hi(D_800DC4EC) # $a0, 0x800e
/* 0228E0 80021CE0 11C10013 */ beq $t6, $at, .L80021D30
/* 0228E4 80021CE4 24050004 */ li $a1, 4
/* 0228E8 80021CE8 8C84C4EC */ lw $a0, %lo(D_800DC4EC)($a0)
/* 0228EC 80021CEC 0C01BA12 */ jal func_8006E848
/* 0228F0 80021CF0 24060001 */ li $a2, 1
/* 0228F4 80021CF4 3C04800E */ lui $a0, %hi(D_800DC4F0) # $a0, 0x800e
/* 0228F8 80021CF8 8C84C4F0 */ lw $a0, %lo(D_800DC4F0)($a0)
/* 0228FC 80021CFC 24050005 */ li $a1, 5
/* 022900 80021D00 0C01BA12 */ jal func_8006E848
/* 022904 80021D04 24060001 */ li $a2, 1
/* 022908 80021D08 3C04800E */ lui $a0, %hi(D_800DC4F4) # $a0, 0x800e
/* 02290C 80021D0C 8C84C4F4 */ lw $a0, %lo(D_800DC4F4)($a0)
/* 022910 80021D10 24050006 */ li $a1, 6
/* 022914 80021D14 0C01BA12 */ jal func_8006E848
/* 022918 80021D18 24060001 */ li $a2, 1
/* 02291C 80021D1C 3C04800E */ lui $a0, %hi(D_800DC4F8) # $a0, 0x800e
/* 022920 80021D20 8C84C4F8 */ lw $a0, %lo(D_800DC4F8)($a0)
/* 022924 80021D24 24050007 */ li $a1, 7
/* 022928 80021D28 0C01BA12 */ jal func_8006E848
/* 02292C 80021D2C 24060001 */ li $a2, 1
.L80021D30:
/* 022930 80021D30 8FBF0014 */ lw $ra, 0x14($sp)
/* 022934 80021D34 27BD0018 */ addiu $sp, $sp, 0x18
/* 022938 80021D38 03E00008 */ jr $ra
/* 02293C 80021D3C 00000000 */ nop
glabel func_80021D40
/* 022940 80021D40 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 022944 80021D44 AFBF0014 */ sw $ra, 0x14($sp)
/* 022948 80021D48 3C04800E */ lui $a0, %hi(D_800DC4FC) # $a0, 0x800e
/* 02294C 80021D4C 8C84C4FC */ lw $a0, %lo(D_800DC4FC)($a0)
/* 022950 80021D50 00002825 */ move $a1, $zero
/* 022954 80021D54 0C01BA31 */ jal func_8006E8C4
/* 022958 80021D58 24060002 */ li $a2, 2
/* 02295C 80021D5C 3C04800E */ lui $a0, %hi(D_800DC4E0) # $a0, 0x800e
/* 022960 80021D60 8C84C4E0 */ lw $a0, %lo(D_800DC4E0)($a0)
/* 022964 80021D64 24050001 */ li $a1, 1
/* 022968 80021D68 0C01BA31 */ jal func_8006E8C4
/* 02296C 80021D6C 24060002 */ li $a2, 2
/* 022970 80021D70 3C04800E */ lui $a0, %hi(D_800DC4E4) # $a0, 0x800e
/* 022974 80021D74 8C84C4E4 */ lw $a0, %lo(D_800DC4E4)($a0)
/* 022978 80021D78 24050002 */ li $a1, 2
/* 02297C 80021D7C 0C01BA31 */ jal func_8006E8C4
/* 022980 80021D80 24060002 */ li $a2, 2
/* 022984 80021D84 3C04800E */ lui $a0, %hi(D_800DC4E8) # $a0, 0x800e
/* 022988 80021D88 8C84C4E8 */ lw $a0, %lo(D_800DC4E8)($a0)
/* 02298C 80021D8C 24050003 */ li $a1, 3
/* 022990 80021D90 0C01BA31 */ jal func_8006E8C4
/* 022994 80021D94 24060002 */ li $a2, 2
/* 022998 80021D98 8FBF0014 */ lw $ra, 0x14($sp)
/* 02299C 80021D9C 27BD0018 */ addiu $sp, $sp, 0x18
/* 0229A0 80021DA0 03E00008 */ jr $ra
/* 0229A4 80021DA4 00000000 */ nop
glabel func_80021DA8
/* 0229A8 80021DA8 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 0229AC 80021DAC AFBF0014 */ sw $ra, 0x14($sp)
/* 0229B0 80021DB0 3C04800E */ lui $a0, %hi(D_800DC4FC) # $a0, 0x800e
/* 0229B4 80021DB4 8C84C4FC */ lw $a0, %lo(D_800DC4FC)($a0)
/* 0229B8 80021DB8 00002825 */ move $a1, $zero
/* 0229BC 80021DBC 0C01BA50 */ jal func_8006E940
/* 0229C0 80021DC0 24060003 */ li $a2, 3
/* 0229C4 80021DC4 3C04800E */ lui $a0, %hi(D_800DC4E0) # $a0, 0x800e
/* 0229C8 80021DC8 8C84C4E0 */ lw $a0, %lo(D_800DC4E0)($a0)
/* 0229CC 80021DCC 24050001 */ li $a1, 1
/* 0229D0 80021DD0 0C01BA50 */ jal func_8006E940
/* 0229D4 80021DD4 24060003 */ li $a2, 3
/* 0229D8 80021DD8 3C04800E */ lui $a0, %hi(D_800DC4E4) # $a0, 0x800e
/* 0229DC 80021DDC 8C84C4E4 */ lw $a0, %lo(D_800DC4E4)($a0)
/* 0229E0 80021DE0 24050002 */ li $a1, 2
/* 0229E4 80021DE4 0C01BA50 */ jal func_8006E940
/* 0229E8 80021DE8 24060003 */ li $a2, 3
/* 0229EC 80021DEC 3C04800E */ lui $a0, %hi(D_800DC4E8) # $a0, 0x800e
/* 0229F0 80021DF0 8C84C4E8 */ lw $a0, %lo(D_800DC4E8)($a0)
/* 0229F4 80021DF4 24050003 */ li $a1, 3
/* 0229F8 80021DF8 0C01BA50 */ jal func_8006E940
/* 0229FC 80021DFC 24060003 */ li $a2, 3
/* 022A00 80021E00 8FBF0014 */ lw $ra, 0x14($sp)
/* 022A04 80021E04 27BD0018 */ addiu $sp, $sp, 0x18
/* 022A08 80021E08 03E00008 */ jr $ra
/* 022A0C 80021E0C 00000000 */ nop
glabel func_80021E10
/* 022A10 80021E10 27BDFFB8 */ addiu $sp, $sp, -0x48
/* 022A14 80021E14 AFB0001C */ sw $s0, 0x1c($sp)
/* 022A18 80021E18 00808025 */ move $s0, $a0
/* 022A1C 80021E1C AFBF0024 */ sw $ra, 0x24($sp)
/* 022A20 80021E20 AFB10020 */ sw $s1, 0x20($sp)
/* 022A24 80021E24 F7B40010 */ sdc1 $f20, 0x10($sp)
/* 022A28 80021E28 AFA5004C */ sw $a1, 0x4c($sp)
/* 022A2C 80021E2C 00C08825 */ move $s1, $a2
/* 022A30 80021E30 0C0AE006 */ jal func_802B8018
/* 022A34 80021E34 94C40000 */ lhu $a0, ($a2)
/* 022A38 80021E38 E7A00038 */ swc1 $f0, 0x38($sp)
/* 022A3C 80021E3C 0C0AE00E */ jal func_802B8038
/* 022A40 80021E40 96240000 */ lhu $a0, ($s1)
/* 022A44 80021E44 46000506 */ mov.s $f20, $f0
/* 022A48 80021E48 0C0AE006 */ jal func_802B8018
/* 022A4C 80021E4C 96240002 */ lhu $a0, 2($s1)
/* 022A50 80021E50 96240002 */ lhu $a0, 2($s1)
/* 022A54 80021E54 0C0AE00E */ jal func_802B8038
/* 022A58 80021E58 E7A00030 */ swc1 $f0, 0x30($sp)
/* 022A5C 80021E5C 96240004 */ lhu $a0, 4($s1)
/* 022A60 80021E60 0C0AE006 */ jal func_802B8018
/* 022A64 80021E64 E7A0002C */ swc1 $f0, 0x2c($sp)
/* 022A68 80021E68 96240004 */ lhu $a0, 4($s1)
/* 022A6C 80021E6C 0C0AE00E */ jal func_802B8038
/* 022A70 80021E70 E7A00028 */ swc1 $f0, 0x28($sp)
/* 022A74 80021E74 C7AE0030 */ lwc1 $f14, 0x30($sp)
/* 022A78 80021E78 C7B20038 */ lwc1 $f18, 0x38($sp)
/* 022A7C 80021E7C C7B0002C */ lwc1 $f16, 0x2c($sp)
/* 022A80 80021E80 C7A20028 */ lwc1 $f2, 0x28($sp)
/* 022A84 80021E84 460E9302 */ mul.s $f12, $f18, $f14
/* 022A88 80021E88 46008287 */ neg.s $f10, $f16
/* 022A8C 80021E8C 8FA2004C */ lw $v0, 0x4c($sp)
/* 022A90 80021E90 46008102 */ mul.s $f4, $f16, $f0
/* 022A94 80021E94 3C013F80 */ li $at, 0x3F800000 # 1.000000
/* 022A98 80021E98 46026182 */ mul.s $f6, $f12, $f2
/* 022A9C 80021E9C 46062200 */ add.s $f8, $f4, $f6
/* 022AA0 80021EA0 46025102 */ mul.s $f4, $f10, $f2
/* 022AA4 80021EA4 00000000 */ nop
/* 022AA8 80021EA8 46006182 */ mul.s $f6, $f12, $f0
/* 022AAC 80021EAC E6080000 */ swc1 $f8, ($s0)
/* 022AB0 80021EB0 460EA282 */ mul.s $f10, $f20, $f14
/* 022AB4 80021EB4 46062200 */ add.s $f8, $f4, $f6
/* 022AB8 80021EB8 4602A182 */ mul.s $f6, $f20, $f2
/* 022ABC 80021EBC E60A0020 */ swc1 $f10, 0x20($s0)
/* 022AC0 80021EC0 46009287 */ neg.s $f10, $f18
/* 022AC4 80021EC4 E6080010 */ swc1 $f8, 0x10($s0)
/* 022AC8 80021EC8 4600A202 */ mul.s $f8, $f20, $f0
/* 022ACC 80021ECC C4440000 */ lwc1 $f4, ($v0)
/* 022AD0 80021ED0 E60A0024 */ swc1 $f10, 0x24($s0)
/* 022AD4 80021ED4 46109302 */ mul.s $f12, $f18, $f16
/* 022AD8 80021ED8 E6060004 */ swc1 $f6, 4($s0)
/* 022ADC 80021EDC E6040030 */ swc1 $f4, 0x30($s0)
/* 022AE0 80021EE0 46007187 */ neg.s $f6, $f14
/* 022AE4 80021EE4 E6080014 */ swc1 $f8, 0x14($s0)
/* 022AE8 80021EE8 46003202 */ mul.s $f8, $f6, $f0
/* 022AEC 80021EEC C4440004 */ lwc1 $f4, 4($v0)
/* 022AF0 80021EF0 46026282 */ mul.s $f10, $f12, $f2
/* 022AF4 80021EF4 E6040034 */ swc1 $f4, 0x34($s0)
/* 022AF8 80021EF8 46027182 */ mul.s $f6, $f14, $f2
/* 022AFC 80021EFC 460A4100 */ add.s $f4, $f8, $f10
/* 022B00 80021F00 46006202 */ mul.s $f8, $f12, $f0
/* 022B04 80021F04 44800000 */ mtc1 $zero, $f0
/* 022B08 80021F08 E6040008 */ swc1 $f4, 8($s0)
/* 022B0C 80021F0C 4610A102 */ mul.s $f4, $f20, $f16
/* 022B10 80021F10 46083280 */ add.s $f10, $f6, $f8
/* 022B14 80021F14 44814000 */ mtc1 $at, $f8
/* 022B18 80021F18 E6040028 */ swc1 $f4, 0x28($s0)
/* 022B1C 80021F1C E60A0018 */ swc1 $f10, 0x18($s0)
/* 022B20 80021F20 C4460008 */ lwc1 $f6, 8($v0)
/* 022B24 80021F24 E600000C */ swc1 $f0, 0xc($s0)
/* 022B28 80021F28 E600001C */ swc1 $f0, 0x1c($s0)
/* 022B2C 80021F2C E600002C */ swc1 $f0, 0x2c($s0)
/* 022B30 80021F30 E608003C */ swc1 $f8, 0x3c($s0)
/* 022B34 80021F34 E6060038 */ swc1 $f6, 0x38($s0)
/* 022B38 80021F38 8FBF0024 */ lw $ra, 0x24($sp)
/* 022B3C 80021F3C 8FB10020 */ lw $s1, 0x20($sp)
/* 022B40 80021F40 8FB0001C */ lw $s0, 0x1c($sp)
/* 022B44 80021F44 D7B40010 */ ldc1 $f20, 0x10($sp)
/* 022B48 80021F48 03E00008 */ jr $ra
/* 022B4C 80021F4C 27BD0048 */ addiu $sp, $sp, 0x48
/* 022B50 80021F50 C4840030 */ lwc1 $f4, 0x30($a0)
/* 022B54 80021F54 C4A60000 */ lwc1 $f6, ($a1)
/* 022B58 80021F58 C48A0034 */ lwc1 $f10, 0x34($a0)
/* 022B5C 80021F5C 46062200 */ add.s $f8, $f4, $f6
/* 022B60 80021F60 C4840038 */ lwc1 $f4, 0x38($a0)
/* 022B64 80021F64 E4880030 */ swc1 $f8, 0x30($a0)
/* 022B68 80021F68 C4B00004 */ lwc1 $f16, 4($a1)
/* 022B6C 80021F6C 46105480 */ add.s $f18, $f10, $f16
/* 022B70 80021F70 E4920034 */ swc1 $f18, 0x34($a0)
/* 022B74 80021F74 C4A60008 */ lwc1 $f6, 8($a1)
/* 022B78 80021F78 46062200 */ add.s $f8, $f4, $f6
/* 022B7C 80021F7C 03E00008 */ jr $ra
/* 022B80 80021F80 E4880038 */ swc1 $f8, 0x38($a0)
glabel func_80021F84
/* 022B84 80021F84 44856000 */ mtc1 $a1, $f12
/* 022B88 80021F88 C4840000 */ lwc1 $f4, ($a0)
/* 022B8C 80021F8C C4880010 */ lwc1 $f8, 0x10($a0)
/* 022B90 80021F90 C4900020 */ lwc1 $f16, 0x20($a0)
/* 022B94 80021F94 460C2182 */ mul.s $f6, $f4, $f12
/* 022B98 80021F98 C4840004 */ lwc1 $f4, 4($a0)
/* 022B9C 80021F9C 460C4282 */ mul.s $f10, $f8, $f12
/* 022BA0 80021FA0 C4880014 */ lwc1 $f8, 0x14($a0)
/* 022BA4 80021FA4 460C8482 */ mul.s $f18, $f16, $f12
/* 022BA8 80021FA8 E4860000 */ swc1 $f6, ($a0)
/* 022BAC 80021FAC C4900024 */ lwc1 $f16, 0x24($a0)
/* 022BB0 80021FB0 460C2182 */ mul.s $f6, $f4, $f12
/* 022BB4 80021FB4 E48A0010 */ swc1 $f10, 0x10($a0)
/* 022BB8 80021FB8 C4840008 */ lwc1 $f4, 8($a0)
/* 022BBC 80021FBC 460C4282 */ mul.s $f10, $f8, $f12
/* 022BC0 80021FC0 E4920020 */ swc1 $f18, 0x20($a0)
/* 022BC4 80021FC4 C4880018 */ lwc1 $f8, 0x18($a0)
/* 022BC8 80021FC8 460C8482 */ mul.s $f18, $f16, $f12
/* 022BCC 80021FCC E4860004 */ swc1 $f6, 4($a0)
/* 022BD0 80021FD0 C4900028 */ lwc1 $f16, 0x28($a0)
/* 022BD4 80021FD4 460C2182 */ mul.s $f6, $f4, $f12
/* 022BD8 80021FD8 E48A0014 */ swc1 $f10, 0x14($a0)
/* 022BDC 80021FDC 460C4282 */ mul.s $f10, $f8, $f12
/* 022BE0 80021FE0 E4920024 */ swc1 $f18, 0x24($a0)
/* 022BE4 80021FE4 460C8482 */ mul.s $f18, $f16, $f12
/* 022BE8 80021FE8 E4860008 */ swc1 $f6, 8($a0)
/* 022BEC 80021FEC E48A0018 */ swc1 $f10, 0x18($a0)
/* 022BF0 80021FF0 03E00008 */ jr $ra
/* 022BF4 80021FF4 E4920028 */ swc1 $f18, 0x28($a0)
/* 022BF8 80021FF8 3C014780 */ li $at, 0x47800000 # 65536.000000
/* 022BFC 80021FFC 44810000 */ mtc1 $at, $f0
/* 022C00 80022000 C4A40000 */ lwc1 $f4, ($a1)
/* 022C04 80022004 46002182 */ mul.s $f6, $f4, $f0
/* 022C08 80022008 4600320D */ trunc.w.s $f8, $f6
/* 022C0C 8002200C 440F4000 */ mfc1 $t7, $f8
/* 022C10 80022010 00000000 */ nop
/* 022C14 80022014 AC8F0000 */ sw $t7, ($a0)
/* 022C18 80022018 C4AA0004 */ lwc1 $f10, 4($a1)
/* 022C1C 8002201C 46005402 */ mul.s $f16, $f10, $f0
/* 022C20 80022020 4600848D */ trunc.w.s $f18, $f16
/* 022C24 80022024 44199000 */ mfc1 $t9, $f18
/* 022C28 80022028 00000000 */ nop
/* 022C2C 8002202C AC990004 */ sw $t9, 4($a0)
/* 022C30 80022030 C4A40008 */ lwc1 $f4, 8($a1)
/* 022C34 80022034 46002182 */ mul.s $f6, $f4, $f0
/* 022C38 80022038 4600320D */ trunc.w.s $f8, $f6
/* 022C3C 8002203C 44094000 */ mfc1 $t1, $f8
/* 022C40 80022040 00000000 */ nop
/* 022C44 80022044 AC890008 */ sw $t1, 8($a0)
/* 022C48 80022048 C4AA000C */ lwc1 $f10, 0xc($a1)
/* 022C4C 8002204C 46005402 */ mul.s $f16, $f10, $f0
/* 022C50 80022050 4600848D */ trunc.w.s $f18, $f16
/* 022C54 80022054 440B9000 */ mfc1 $t3, $f18
/* 022C58 80022058 00000000 */ nop
/* 022C5C 8002205C AC8B000C */ sw $t3, 0xc($a0)
/* 022C60 80022060 C4A40010 */ lwc1 $f4, 0x10($a1)
/* 022C64 80022064 46002182 */ mul.s $f6, $f4, $f0
/* 022C68 80022068 4600320D */ trunc.w.s $f8, $f6
/* 022C6C 8002206C 440D4000 */ mfc1 $t5, $f8
/* 022C70 80022070 00000000 */ nop
/* 022C74 80022074 AC8D0010 */ sw $t5, 0x10($a0)
/* 022C78 80022078 C4AA0014 */ lwc1 $f10, 0x14($a1)
/* 022C7C 8002207C 46005402 */ mul.s $f16, $f10, $f0
/* 022C80 80022080 4600848D */ trunc.w.s $f18, $f16
/* 022C84 80022084 440F9000 */ mfc1 $t7, $f18
/* 022C88 80022088 00000000 */ nop
/* 022C8C 8002208C AC8F0014 */ sw $t7, 0x14($a0)
/* 022C90 80022090 C4A40018 */ lwc1 $f4, 0x18($a1)
/* 022C94 80022094 46002182 */ mul.s $f6, $f4, $f0
/* 022C98 80022098 4600320D */ trunc.w.s $f8, $f6
/* 022C9C 8002209C 44194000 */ mfc1 $t9, $f8
/* 022CA0 800220A0 00000000 */ nop
/* 022CA4 800220A4 AC990018 */ sw $t9, 0x18($a0)
/* 022CA8 800220A8 C4AA001C */ lwc1 $f10, 0x1c($a1)
/* 022CAC 800220AC 46005402 */ mul.s $f16, $f10, $f0
/* 022CB0 800220B0 4600848D */ trunc.w.s $f18, $f16
/* 022CB4 800220B4 44099000 */ mfc1 $t1, $f18
/* 022CB8 800220B8 00000000 */ nop
/* 022CBC 800220BC AC89001C */ sw $t1, 0x1c($a0)
/* 022CC0 800220C0 C4A40020 */ lwc1 $f4, 0x20($a1)
/* 022CC4 800220C4 46002182 */ mul.s $f6, $f4, $f0
/* 022CC8 800220C8 4600320D */ trunc.w.s $f8, $f6
/* 022CCC 800220CC 440B4000 */ mfc1 $t3, $f8
/* 022CD0 800220D0 00000000 */ nop
/* 022CD4 800220D4 AC8B0020 */ sw $t3, 0x20($a0)
/* 022CD8 800220D8 C4AA0024 */ lwc1 $f10, 0x24($a1)
/* 022CDC 800220DC 46005402 */ mul.s $f16, $f10, $f0
/* 022CE0 800220E0 4600848D */ trunc.w.s $f18, $f16
/* 022CE4 800220E4 440D9000 */ mfc1 $t5, $f18
/* 022CE8 800220E8 00000000 */ nop
/* 022CEC 800220EC AC8D0024 */ sw $t5, 0x24($a0)
/* 022CF0 800220F0 C4A40028 */ lwc1 $f4, 0x28($a1)
/* 022CF4 800220F4 46002182 */ mul.s $f6, $f4, $f0
/* 022CF8 800220F8 4600320D */ trunc.w.s $f8, $f6
/* 022CFC 800220FC 440F4000 */ mfc1 $t7, $f8
/* 022D00 80022100 00000000 */ nop
/* 022D04 80022104 AC8F0028 */ sw $t7, 0x28($a0)
/* 022D08 80022108 C4AA002C */ lwc1 $f10, 0x2c($a1)
/* 022D0C 8002210C 46005402 */ mul.s $f16, $f10, $f0
/* 022D10 80022110 4600848D */ trunc.w.s $f18, $f16
/* 022D14 80022114 44199000 */ mfc1 $t9, $f18
/* 022D18 80022118 00000000 */ nop
/* 022D1C 8002211C AC99002C */ sw $t9, 0x2c($a0)
/* 022D20 80022120 C4A40030 */ lwc1 $f4, 0x30($a1)
/* 022D24 80022124 46002182 */ mul.s $f6, $f4, $f0
/* 022D28 80022128 4600320D */ trunc.w.s $f8, $f6
/* 022D2C 8002212C 44094000 */ mfc1 $t1, $f8
/* 022D30 80022130 00000000 */ nop
/* 022D34 80022134 AC890030 */ sw $t1, 0x30($a0)
/* 022D38 80022138 C4AA0034 */ lwc1 $f10, 0x34($a1)
/* 022D3C 8002213C 46005402 */ mul.s $f16, $f10, $f0
/* 022D40 80022140 4600848D */ trunc.w.s $f18, $f16
/* 022D44 80022144 440B9000 */ mfc1 $t3, $f18
/* 022D48 80022148 00000000 */ nop
/* 022D4C 8002214C AC8B0034 */ sw $t3, 0x34($a0)
/* 022D50 80022150 C4A40038 */ lwc1 $f4, 0x38($a1)
/* 022D54 80022154 46002182 */ mul.s $f6, $f4, $f0
/* 022D58 80022158 4600320D */ trunc.w.s $f8, $f6
/* 022D5C 8002215C 440D4000 */ mfc1 $t5, $f8
/* 022D60 80022160 00000000 */ nop
/* 022D64 80022164 AC8D0038 */ sw $t5, 0x38($a0)
/* 022D68 80022168 C4AA003C */ lwc1 $f10, 0x3c($a1)
/* 022D6C 8002216C 46005402 */ mul.s $f16, $f10, $f0
/* 022D70 80022170 4600848D */ trunc.w.s $f18, $f16
/* 022D74 80022174 440F9000 */ mfc1 $t7, $f18
/* 022D78 80022178 03E00008 */ jr $ra
/* 022D7C 8002217C AC8F003C */ sw $t7, 0x3c($a0)
glabel func_80022180
/* 022D80 80022180 3C014780 */ li $at, 0x47800000 # 65536.000000
/* 022D84 80022184 44810000 */ mtc1 $at, $f0
/* 022D88 80022188 C4A40004 */ lwc1 $f4, 4($a1)
/* 022D8C 8002218C C4AA0000 */ lwc1 $f10, ($a1)
/* 022D90 80022190 3C02FFFF */ lui $v0, 0xffff
/* 022D94 80022194 46002182 */ mul.s $f6, $f4, $f0
/* 022D98 80022198 00000000 */ nop
/* 022D9C 8002219C 46005402 */ mul.s $f16, $f10, $f0
/* 022DA0 800221A0 4600320D */ trunc.w.s $f8, $f6
/* 022DA4 800221A4 4600848D */ trunc.w.s $f18, $f16
/* 022DA8 800221A8 440F4000 */ mfc1 $t7, $f8
/* 022DAC 800221AC 44099000 */ mfc1 $t1, $f18
/* 022DB0 800221B0 000FC403 */ sra $t8, $t7, 0x10
/* 022DB4 800221B4 3319FFFF */ andi $t9, $t8, 0xffff
/* 022DB8 800221B8 01225024 */ and $t2, $t1, $v0
/* 022DBC 800221BC 032A5825 */ or $t3, $t9, $t2
/* 022DC0 800221C0 AC8B0000 */ sw $t3, ($a0)
/* 022DC4 800221C4 C4A4000C */ lwc1 $f4, 0xc($a1)
/* 022DC8 800221C8 C4AA0008 */ lwc1 $f10, 8($a1)
/* 022DCC 800221CC 46002182 */ mul.s $f6, $f4, $f0
/* 022DD0 800221D0 00000000 */ nop
/* 022DD4 800221D4 46005402 */ mul.s $f16, $f10, $f0
/* 022DD8 800221D8 4600320D */ trunc.w.s $f8, $f6
/* 022DDC 800221DC 4600848D */ trunc.w.s $f18, $f16
/* 022DE0 800221E0 440D4000 */ mfc1 $t5, $f8
/* 022DE4 800221E4 44089000 */ mfc1 $t0, $f18
/* 022DE8 800221E8 000D7403 */ sra $t6, $t5, 0x10
/* 022DEC 800221EC 31CFFFFF */ andi $t7, $t6, 0xffff
/* 022DF0 800221F0 01024824 */ and $t1, $t0, $v0
/* 022DF4 800221F4 01E9C825 */ or $t9, $t7, $t1
/* 022DF8 800221F8 AC990004 */ sw $t9, 4($a0)
/* 022DFC 800221FC C4A40014 */ lwc1 $f4, 0x14($a1)
/* 022E00 80022200 C4AA0010 */ lwc1 $f10, 0x10($a1)
/* 022E04 80022204 46002182 */ mul.s $f6, $f4, $f0
/* 022E08 80022208 00000000 */ nop
/* 022E0C 8002220C 46005402 */ mul.s $f16, $f10, $f0
/* 022E10 80022210 4600320D */ trunc.w.s $f8, $f6
/* 022E14 80022214 4600848D */ trunc.w.s $f18, $f16
/* 022E18 80022218 440B4000 */ mfc1 $t3, $f8
/* 022E1C 8002221C 44189000 */ mfc1 $t8, $f18
/* 022E20 80022220 000B6403 */ sra $t4, $t3, 0x10
/* 022E24 80022224 318DFFFF */ andi $t5, $t4, 0xffff
/* 022E28 80022228 03024024 */ and $t0, $t8, $v0
/* 022E2C 8002222C 01A87825 */ or $t7, $t5, $t0
/* 022E30 80022230 AC8F0008 */ sw $t7, 8($a0)
/* 022E34 80022234 C4A4001C */ lwc1 $f4, 0x1c($a1)
/* 022E38 80022238 C4AA0018 */ lwc1 $f10, 0x18($a1)
/* 022E3C 8002223C 46002182 */ mul.s $f6, $f4, $f0
/* 022E40 80022240 00000000 */ nop
/* 022E44 80022244 46005402 */ mul.s $f16, $f10, $f0
/* 022E48 80022248 4600320D */ trunc.w.s $f8, $f6
/* 022E4C 8002224C 4600848D */ trunc.w.s $f18, $f16
/* 022E50 80022250 44194000 */ mfc1 $t9, $f8
/* 022E54 80022254 440E9000 */ mfc1 $t6, $f18
/* 022E58 80022258 00195403 */ sra $t2, $t9, 0x10
/* 022E5C 8002225C 314BFFFF */ andi $t3, $t2, 0xffff
/* 022E60 80022260 01C2C024 */ and $t8, $t6, $v0
/* 022E64 80022264 01786825 */ or $t5, $t3, $t8
/* 022E68 80022268 AC8D000C */ sw $t5, 0xc($a0)
/* 022E6C 8002226C C4A40024 */ lwc1 $f4, 0x24($a1)
/* 022E70 80022270 C4AA0020 */ lwc1 $f10, 0x20($a1)
/* 022E74 80022274 46002182 */ mul.s $f6, $f4, $f0
/* 022E78 80022278 00000000 */ nop
/* 022E7C 8002227C 46005402 */ mul.s $f16, $f10, $f0
/* 022E80 80022280 4600320D */ trunc.w.s $f8, $f6
/* 022E84 80022284 4600848D */ trunc.w.s $f18, $f16
/* 022E88 80022288 440F4000 */ mfc1 $t7, $f8
/* 022E8C 8002228C 440C9000 */ mfc1 $t4, $f18
/* 022E90 80022290 000F4C03 */ sra $t1, $t7, 0x10
/* 022E94 80022294 3139FFFF */ andi $t9, $t1, 0xffff
/* 022E98 80022298 01827024 */ and $t6, $t4, $v0
/* 022E9C 8002229C 032E5825 */ or $t3, $t9, $t6
/* 022EA0 800222A0 AC8B0010 */ sw $t3, 0x10($a0)
/* 022EA4 800222A4 C4A4002C */ lwc1 $f4, 0x2c($a1)
/* 022EA8 800222A8 C4AA0028 */ lwc1 $f10, 0x28($a1)
/* 022EAC 800222AC 46002182 */ mul.s $f6, $f4, $f0
/* 022EB0 800222B0 00000000 */ nop
/* 022EB4 800222B4 46005402 */ mul.s $f16, $f10, $f0
/* 022EB8 800222B8 4600320D */ trunc.w.s $f8, $f6
/* 022EBC 800222BC 4600848D */ trunc.w.s $f18, $f16
/* 022EC0 800222C0 440D4000 */ mfc1 $t5, $f8
/* 022EC4 800222C4 440A9000 */ mfc1 $t2, $f18
/* 022EC8 800222C8 000D4403 */ sra $t0, $t5, 0x10
/* 022ECC 800222CC 310FFFFF */ andi $t7, $t0, 0xffff
/* 022ED0 800222D0 01426024 */ and $t4, $t2, $v0
/* 022ED4 800222D4 01ECC825 */ or $t9, $t7, $t4
/* 022ED8 800222D8 AC990014 */ sw $t9, 0x14($a0)
/* 022EDC 800222DC C4A40034 */ lwc1 $f4, 0x34($a1)
/* 022EE0 800222E0 C4AA0030 */ lwc1 $f10, 0x30($a1)
/* 022EE4 800222E4 46002182 */ mul.s $f6, $f4, $f0
/* 022EE8 800222E8 00000000 */ nop
/* 022EEC 800222EC 46005402 */ mul.s $f16, $f10, $f0
/* 022EF0 800222F0 4600320D */ trunc.w.s $f8, $f6
/* 022EF4 800222F4 4600848D */ trunc.w.s $f18, $f16
/* 022EF8 800222F8 440B4000 */ mfc1 $t3, $f8
/* 022EFC 800222FC 44099000 */ mfc1 $t1, $f18
/* 022F00 80022300 000BC403 */ sra $t8, $t3, 0x10
/* 022F04 80022304 330DFFFF */ andi $t5, $t8, 0xffff
/* 022F08 80022308 01225024 */ and $t2, $t1, $v0
/* 022F0C 8002230C 01AA7825 */ or $t7, $t5, $t2
/* 022F10 80022310 AC8F0018 */ sw $t7, 0x18($a0)
/* 022F14 80022314 C4A4003C */ lwc1 $f4, 0x3c($a1)
/* 022F18 80022318 C4AA0038 */ lwc1 $f10, 0x38($a1)
/* 022F1C 8002231C 46002182 */ mul.s $f6, $f4, $f0
/* 022F20 80022320 00000000 */ nop
/* 022F24 80022324 46005402 */ mul.s $f16, $f10, $f0
/* 022F28 80022328 4600320D */ trunc.w.s $f8, $f6
/* 022F2C 8002232C 4600848D */ trunc.w.s $f18, $f16
/* 022F30 80022330 44194000 */ mfc1 $t9, $f8
/* 022F34 80022334 44089000 */ mfc1 $t0, $f18
/* 022F38 80022338 00197403 */ sra $t6, $t9, 0x10
/* 022F3C 8002233C 31CBFFFF */ andi $t3, $t6, 0xffff
/* 022F40 80022340 01024824 */ and $t1, $t0, $v0
/* 022F44 80022344 01696825 */ or $t5, $t3, $t1
/* 022F48 80022348 AC8D001C */ sw $t5, 0x1c($a0)
/* 022F4C 8002234C C4A40004 */ lwc1 $f4, 4($a1)
/* 022F50 80022350 C4AA0000 */ lwc1 $f10, ($a1)
/* 022F54 80022354 46002182 */ mul.s $f6, $f4, $f0
/* 022F58 80022358 00000000 */ nop
/* 022F5C 8002235C 46005402 */ mul.s $f16, $f10, $f0
/* 022F60 80022360 4600320D */ trunc.w.s $f8, $f6
/* 022F64 80022364 4600848D */ trunc.w.s $f18, $f16
/* 022F68 80022368 440F4000 */ mfc1 $t7, $f8
/* 022F6C 8002236C 440E9000 */ mfc1 $t6, $f18
/* 022F70 80022370 31ECFFFF */ andi $t4, $t7, 0xffff
/* 022F74 80022374 000EC400 */ sll $t8, $t6, 0x10
/* 022F78 80022378 01984025 */ or $t0, $t4, $t8
/* 022F7C 8002237C AC880020 */ sw $t0, 0x20($a0)
/* 022F80 80022380 C4A4000C */ lwc1 $f4, 0xc($a1)
/* 022F84 80022384 C4AA0008 */ lwc1 $f10, 8($a1)
/* 022F88 80022388 46002182 */ mul.s $f6, $f4, $f0
/* 022F8C 8002238C 00000000 */ nop
/* 022F90 80022390 46005402 */ mul.s $f16, $f10, $f0
/* 022F94 80022394 4600320D */ trunc.w.s $f8, $f6
/* 022F98 80022398 4600848D */ trunc.w.s $f18, $f16
/* 022F9C 8002239C 44094000 */ mfc1 $t1, $f8
/* 022FA0 800223A0 440F9000 */ mfc1 $t7, $f18
/* 022FA4 800223A4 312DFFFF */ andi $t5, $t1, 0xffff
/* 022FA8 800223A8 000FCC00 */ sll $t9, $t7, 0x10
/* 022FAC 800223AC 01B97025 */ or $t6, $t5, $t9
/* 022FB0 800223B0 AC8E0024 */ sw $t6, 0x24($a0)
/* 022FB4 800223B4 C4A40014 */ lwc1 $f4, 0x14($a1)
/* 022FB8 800223B8 C4AA0010 */ lwc1 $f10, 0x10($a1)
/* 022FBC 800223BC 46002182 */ mul.s $f6, $f4, $f0
/* 022FC0 800223C0 00000000 */ nop
/* 022FC4 800223C4 46005402 */ mul.s $f16, $f10, $f0
/* 022FC8 800223C8 4600320D */ trunc.w.s $f8, $f6
/* 022FCC 800223CC 4600848D */ trunc.w.s $f18, $f16
/* 022FD0 800223D0 44184000 */ mfc1 $t8, $f8
/* 022FD4 800223D4 44099000 */ mfc1 $t1, $f18
/* 022FD8 800223D8 3308FFFF */ andi $t0, $t8, 0xffff
/* 022FDC 800223DC 00095400 */ sll $t2, $t1, 0x10
/* 022FE0 800223E0 010A7825 */ or $t7, $t0, $t2
/* 022FE4 800223E4 AC8F0028 */ sw $t7, 0x28($a0)
/* 022FE8 800223E8 C4A4001C */ lwc1 $f4, 0x1c($a1)
/* 022FEC 800223EC C4AA0018 */ lwc1 $f10, 0x18($a1)
/* 022FF0 800223F0 46002182 */ mul.s $f6, $f4, $f0
/* 022FF4 800223F4 00000000 */ nop
/* 022FF8 800223F8 46005402 */ mul.s $f16, $f10, $f0
/* 022FFC 800223FC 4600320D */ trunc.w.s $f8, $f6
/* 023000 80022400 4600848D */ trunc.w.s $f18, $f16
/* 023004 80022404 44194000 */ mfc1 $t9, $f8
/* 023008 80022408 44189000 */ mfc1 $t8, $f18
/* 02300C 8002240C 332EFFFF */ andi $t6, $t9, 0xffff
/* 023010 80022410 00185C00 */ sll $t3, $t8, 0x10
/* 023014 80022414 01CB4825 */ or $t1, $t6, $t3
/* 023018 80022418 AC89002C */ sw $t1, 0x2c($a0)
/* 02301C 8002241C C4A40024 */ lwc1 $f4, 0x24($a1)
/* 023020 80022420 C4AA0020 */ lwc1 $f10, 0x20($a1)
/* 023024 80022424 46002182 */ mul.s $f6, $f4, $f0
/* 023028 80022428 00000000 */ nop
/* 02302C 8002242C 46005402 */ mul.s $f16, $f10, $f0
/* 023030 80022430 4600320D */ trunc.w.s $f8, $f6
/* 023034 80022434 4600848D */ trunc.w.s $f18, $f16
/* 023038 80022438 440A4000 */ mfc1 $t2, $f8
/* 02303C 8002243C 44199000 */ mfc1 $t9, $f18
/* 023040 80022440 314FFFFF */ andi $t7, $t2, 0xffff
/* 023044 80022444 00196400 */ sll $t4, $t9, 0x10
/* 023048 80022448 01ECC025 */ or $t8, $t7, $t4
/* 02304C 8002244C AC980030 */ sw $t8, 0x30($a0)
/* 023050 80022450 C4A4002C */ lwc1 $f4, 0x2c($a1)
/* 023054 80022454 C4AA0028 */ lwc1 $f10, 0x28($a1)
/* 023058 80022458 46002182 */ mul.s $f6, $f4, $f0
/* 02305C 8002245C 00000000 */ nop
/* 023060 80022460 46005402 */ mul.s $f16, $f10, $f0
/* 023064 80022464 4600320D */ trunc.w.s $f8, $f6
/* 023068 80022468 4600848D */ trunc.w.s $f18, $f16
/* 02306C 8002246C 440B4000 */ mfc1 $t3, $f8
/* 023070 80022470 440A9000 */ mfc1 $t2, $f18
/* 023074 80022474 3169FFFF */ andi $t1, $t3, 0xffff
/* 023078 80022478 000A6C00 */ sll $t5, $t2, 0x10
/* 02307C 8002247C 012DC825 */ or $t9, $t1, $t5
/* 023080 80022480 AC990034 */ sw $t9, 0x34($a0)
/* 023084 80022484 C4A40034 */ lwc1 $f4, 0x34($a1)
/* 023088 80022488 C4AA0030 */ lwc1 $f10, 0x30($a1)
/* 02308C 8002248C 46002182 */ mul.s $f6, $f4, $f0
/* 023090 80022490 00000000 */ nop
/* 023094 80022494 46005402 */ mul.s $f16, $f10, $f0
/* 023098 80022498 4600320D */ trunc.w.s $f8, $f6
/* 02309C 8002249C 4600848D */ trunc.w.s $f18, $f16
/* 0230A0 800224A0 440C4000 */ mfc1 $t4, $f8
/* 0230A4 800224A4 440B9000 */ mfc1 $t3, $f18
/* 0230A8 800224A8 3198FFFF */ andi $t8, $t4, 0xffff
/* 0230AC 800224AC 000B4400 */ sll $t0, $t3, 0x10
/* 0230B0 800224B0 03085025 */ or $t2, $t8, $t0
/* 0230B4 800224B4 AC8A0038 */ sw $t2, 0x38($a0)
/* 0230B8 800224B8 C4A4003C */ lwc1 $f4, 0x3c($a1)
/* 0230BC 800224BC C4AA0038 */ lwc1 $f10, 0x38($a1)
/* 0230C0 800224C0 46002182 */ mul.s $f6, $f4, $f0
/* 0230C4 800224C4 00000000 */ nop
/* 0230C8 800224C8 46005402 */ mul.s $f16, $f10, $f0
/* 0230CC 800224CC 4600320D */ trunc.w.s $f8, $f6
/* 0230D0 800224D0 4600848D */ trunc.w.s $f18, $f16
/* 0230D4 800224D4 440D4000 */ mfc1 $t5, $f8
/* 0230D8 800224D8 440C9000 */ mfc1 $t4, $f18
/* 0230DC 800224DC 31B9FFFF */ andi $t9, $t5, 0xffff
/* 0230E0 800224E0 000C7400 */ sll $t6, $t4, 0x10
/* 0230E4 800224E4 032E5825 */ or $t3, $t9, $t6
/* 0230E8 800224E8 03E00008 */ jr $ra
/* 0230EC 800224EC AC8B003C */ sw $t3, 0x3c($a0)
glabel func_800224F0
/* 0230F0 800224F0 AFA50004 */ sw $a1, 4($sp)
/* 0230F4 800224F4 AFA60008 */ sw $a2, 8($sp)
/* 0230F8 800224F8 84880000 */ lh $t0, ($a0)
/* 0230FC 800224FC 00057400 */ sll $t6, $a1, 0x10
/* 023100 80022500 000E2C03 */ sra $a1, $t6, 0x10
/* 023104 80022504 0006C400 */ sll $t8, $a2, 0x10
/* 023108 80022508 00A81023 */ subu $v0, $a1, $t0
/* 02310C 8002250C 0018CC03 */ sra $t9, $t8, 0x10
/* 023110 80022510 00024C00 */ sll $t1, $v0, 0x10
/* 023114 80022514 03203025 */ move $a2, $t9
/* 023118 80022518 07210004 */ bgez $t9, .L8002252C
/* 02311C 8002251C 00091403 */ sra $v0, $t1, 0x10
/* 023120 80022520 00195823 */ negu $t3, $t9
/* 023124 80022524 000B6400 */ sll $t4, $t3, 0x10
/* 023128 80022528 000C3403 */ sra $a2, $t4, 0x10
.L8002252C:
/* 02312C 8002252C 5840000B */ blezl $v0, .L8002255C
/* 023130 80022530 00461021 */ addu $v0, $v0, $a2
/* 023134 80022534 00461023 */ subu $v0, $v0, $a2
/* 023138 80022538 00027400 */ sll $t6, $v0, 0x10
/* 02313C 8002253C 000E7C03 */ sra $t7, $t6, 0x10
/* 023140 80022540 05E00003 */ bltz $t7, .L80022550
/* 023144 80022544 00AFC023 */ subu $t8, $a1, $t7
/* 023148 80022548 1000000B */ b .L80022578
/* 02314C 8002254C A4980000 */ sh $t8, ($a0)
.L80022550:
/* 023150 80022550 10000009 */ b .L80022578
/* 023154 80022554 A4850000 */ sh $a1, ($a0)
/* 023158 80022558 00461021 */ addu $v0, $v0, $a2
.L8002255C:
/* 02315C 8002255C 0002CC00 */ sll $t9, $v0, 0x10
/* 023160 80022560 00194403 */ sra $t0, $t9, 0x10
/* 023164 80022564 1D000003 */ bgtz $t0, .L80022574
/* 023168 80022568 00A84823 */ subu $t1, $a1, $t0
/* 02316C 8002256C 10000002 */ b .L80022578
/* 023170 80022570 A4890000 */ sh $t1, ($a0)
.L80022574:
/* 023174 80022574 A4850000 */ sh $a1, ($a0)
.L80022578:
/* 023178 80022578 848A0000 */ lh $t2, ($a0)
/* 02317C 8002257C 24020001 */ li $v0, 1
/* 023180 80022580 14AA0003 */ bne $a1, $t2, .L80022590
/* 023184 80022584 00000000 */ nop
/* 023188 80022588 03E00008 */ jr $ra
/* 02318C 8002258C 00001025 */ move $v0, $zero
.L80022590:
/* 023190 80022590 03E00008 */ jr $ra
/* 023194 80022594 00000000 */ nop
glabel func_80022598
/* 023198 80022598 8C820000 */ lw $v0, ($a0)
/* 02319C 8002259C 44866000 */ mtc1 $a2, $f12
/* 0231A0 800225A0 00457023 */ subu $t6, $v0, $a1
/* 0231A4 800225A4 448E4000 */ mtc1 $t6, $f8
/* 0231A8 800225A8 44822000 */ mtc1 $v0, $f4
/* 0231AC 800225AC 468042A0 */ cvt.s.w $f10, $f8
/* 0231B0 800225B0 468021A0 */ cvt.s.w $f6, $f4
/* 0231B4 800225B4 460C5402 */ mul.s $f16, $f10, $f12
/* 0231B8 800225B8 46103481 */ sub.s $f18, $f6, $f16
/* 0231BC 800225BC 4600910D */ trunc.w.s $f4, $f18
/* 0231C0 800225C0 44182000 */ mfc1 $t8, $f4
/* 0231C4 800225C4 03E00008 */ jr $ra
/* 0231C8 800225C8 AC980000 */ sw $t8, ($a0)
glabel func_800225CC
/* 0231CC 800225CC 44856000 */ mtc1 $a1, $f12
/* 0231D0 800225D0 C4800000 */ lwc1 $f0, ($a0)
/* 0231D4 800225D4 44867000 */ mtc1 $a2, $f14
/* 0231D8 800225D8 3C01800F */ lui $at, %hi(D_800ED680)
/* 0231DC 800225DC 460C0101 */ sub.s $f4, $f0, $f12
/* 0231E0 800225E0 460E2182 */ mul.s $f6, $f4, $f14
/* 0231E4 800225E4 46060201 */ sub.s $f8, $f0, $f6
/* 0231E8 800225E8 E4880000 */ swc1 $f8, ($a0)
/* 0231EC 800225EC C48A0000 */ lwc1 $f10, ($a0)
/* 0231F0 800225F0 D430D680 */ ldc1 $f16, %lo(D_800ED680)($at)
/* 0231F4 800225F4 3C01800F */ lui $at, %hi(D_800ED688)
/* 0231F8 800225F8 460050A1 */ cvt.d.s $f2, $f10
/* 0231FC 800225FC 4630103C */ c.lt.d $f2, $f16
/* 023200 80022600 00000000 */ nop
/* 023204 80022604 45000009 */ bc1f .L8002262C
/* 023208 80022608 00000000 */ nop
/* 02320C 8002260C D432D688 */ ldc1 $f18, %lo(D_800ED688)($at)
/* 023210 80022610 4622903C */ c.lt.d $f18, $f2
/* 023214 80022614 00000000 */ nop
/* 023218 80022618 45000004 */ bc1f .L8002262C
/* 02321C 8002261C 00000000 */ nop
/* 023220 80022620 44802000 */ mtc1 $zero, $f4
/* 023224 80022624 00000000 */ nop
/* 023228 80022628 E4840000 */ swc1 $f4, ($a0)
.L8002262C:
/* 02322C 8002262C 03E00008 */ jr $ra
/* 023230 80022630 00000000 */ nop
glabel func_80022634
/* 023234 80022634 AFA50004 */ sw $a1, 4($sp)
/* 023238 80022638 84820000 */ lh $v0, ($a0)
/* 02323C 8002263C 00057400 */ sll $t6, $a1, 0x10
/* 023240 80022640 000E7C03 */ sra $t7, $t6, 0x10
/* 023244 80022644 004FC023 */ subu $t8, $v0, $t7
/* 023248 80022648 44984000 */ mtc1 $t8, $f8
/* 02324C 8002264C 44866000 */ mtc1 $a2, $f12
/* 023250 80022650 44822000 */ mtc1 $v0, $f4
/* 023254 80022654 468042A0 */ cvt.s.w $f10, $f8
/* 023258 80022658 468021A0 */ cvt.s.w $f6, $f4
/* 02325C 8002265C 460C5402 */ mul.s $f16, $f10, $f12
/* 023260 80022660 46103481 */ sub.s $f18, $f6, $f16
/* 023264 80022664 4600910D */ trunc.w.s $f4, $f18
/* 023268 80022668 44082000 */ mfc1 $t0, $f4
/* 02326C 8002266C 03E00008 */ jr $ra
/* 023270 80022670 A4880000 */ sh $t0, ($a0)
glabel func_80022674
/* 023274 80022674 AFA50004 */ sw $a1, 4($sp)
/* 023278 80022678 94820000 */ lhu $v0, ($a0)
/* 02327C 8002267C 00057400 */ sll $t6, $a1, 0x10
/* 023280 80022680 44866000 */ mtc1 $a2, $f12
/* 023284 80022684 44822000 */ mtc1 $v0, $f4
/* 023288 80022688 000E2C03 */ sra $a1, $t6, 0x10
/* 02328C 8002268C 04410005 */ bgez $v0, .L800226A4
/* 023290 80022690 468021A0 */ cvt.s.w $f6, $f4
/* 023294 80022694 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000
/* 023298 80022698 44814000 */ mtc1 $at, $f8
/* 02329C 8002269C 00000000 */ nop
/* 0232A0 800226A0 46083180 */ add.s $f6, $f6, $f8
.L800226A4:
/* 0232A4 800226A4 0045C023 */ subu $t8, $v0, $a1
/* 0232A8 800226A8 44985000 */ mtc1 $t8, $f10
/* 0232AC 800226AC 24080001 */ li $t0, 1
/* 0232B0 800226B0 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000
/* 0232B4 800226B4 46805420 */ cvt.s.w $f16, $f10
/* 0232B8 800226B8 460C8482 */ mul.s $f18, $f16, $f12
/* 0232BC 800226BC 46123101 */ sub.s $f4, $f6, $f18
/* 0232C0 800226C0 4459F800 */ cfc1 $t9, $31
/* 0232C4 800226C4 44C8F800 */ ctc1 $t0, $31
/* 0232C8 800226C8 00000000 */ nop
/* 0232CC 800226CC 46002224 */ cvt.w.s $f8, $f4
/* 0232D0 800226D0 4448F800 */ cfc1 $t0, $31
/* 0232D4 800226D4 00000000 */ nop
/* 0232D8 800226D8 31080078 */ andi $t0, $t0, 0x78
/* 0232DC 800226DC 51000013 */ beql $t0, $zero, .L8002272C
/* 0232E0 800226E0 44084000 */ mfc1 $t0, $f8
/* 0232E4 800226E4 44814000 */ mtc1 $at, $f8
/* 0232E8 800226E8 24080001 */ li $t0, 1
/* 0232EC 800226EC 46082201 */ sub.s $f8, $f4, $f8
/* 0232F0 800226F0 44C8F800 */ ctc1 $t0, $31
/* 0232F4 800226F4 00000000 */ nop
/* 0232F8 800226F8 46004224 */ cvt.w.s $f8, $f8
/* 0232FC 800226FC 4448F800 */ cfc1 $t0, $31
/* 023300 80022700 00000000 */ nop
/* 023304 80022704 31080078 */ andi $t0, $t0, 0x78
/* 023308 80022708 15000005 */ bnez $t0, .L80022720
/* 02330C 8002270C 00000000 */ nop
/* 023310 80022710 44084000 */ mfc1 $t0, $f8
/* 023314 80022714 3C018000 */ lui $at, 0x8000
/* 023318 80022718 10000007 */ b .L80022738
/* 02331C 8002271C 01014025 */ or $t0, $t0, $at
.L80022720:
/* 023320 80022720 10000005 */ b .L80022738
/* 023324 80022724 2408FFFF */ li $t0, -1
/* 023328 80022728 44084000 */ mfc1 $t0, $f8
.L8002272C:
/* 02332C 8002272C 00000000 */ nop
/* 023330 80022730 0500FFFB */ bltz $t0, .L80022720
/* 023334 80022734 00000000 */ nop
.L80022738:
/* 023338 80022738 44D9F800 */ ctc1 $t9, $31
/* 02333C 8002273C 03E00008 */ jr $ra
/* 023340 80022740 A4880000 */ sh $t0, ($a0)
glabel func_80022744
/* 023344 80022744 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 023348 80022748 AFBF0014 */ sw $ra, 0x14($sp)
/* 02334C 8002274C 0C01B816 */ jal func_8006E058
/* 023350 80022750 00000000 */ nop
/* 023354 80022754 0C0089DB */ jal func_8002276C
/* 023358 80022758 00000000 */ nop
/* 02335C 8002275C 8FBF0014 */ lw $ra, 0x14($sp)
/* 023360 80022760 27BD0018 */ addiu $sp, $sp, 0x18
/* 023364 80022764 03E00008 */ jr $ra
/* 023368 80022768 00000000 */ nop
glabel func_8002276C
/* 02336C 8002276C 3C02800E */ lui $v0, %hi(D_800DC52C) # $v0, 0x800e
/* 023370 80022770 8C42C52C */ lw $v0, %lo(D_800DC52C)($v0)
/* 023374 80022774 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 023378 80022778 AFBF0014 */ sw $ra, 0x14($sp)
/* 02337C 8002277C 1040000B */ beqz $v0, .L800227AC
/* 023380 80022780 24030001 */ li $v1, 1
/* 023384 80022784 1043006A */ beq $v0, $v1, .L80022930
/* 023388 80022788 24040002 */ li $a0, 2
/* 02338C 8002278C 24040002 */ li $a0, 2
/* 023390 80022790 10440067 */ beq $v0, $a0, .L80022930
/* 023394 80022794 00000000 */ nop
/* 023398 80022798 24030003 */ li $v1, 3
/* 02339C 8002279C 104300A1 */ beq $v0, $v1, .L80022A24
/* 0233A0 800227A0 00000000 */ nop
/* 0233A4 800227A4 100000B9 */ b .L80022A8C
/* 0233A8 800227A8 8FBF0014 */ lw $ra, 0x14($sp)
.L800227AC:
/* 0233AC 800227AC 3C02800E */ lui $v0, %hi(gModeSelection) # $v0, 0x800e
/* 0233B0 800227B0 8C42C53C */ lw $v0, %lo(gModeSelection)($v0)
/* 0233B4 800227B4 24030001 */ li $v1, 1
/* 0233B8 800227B8 3C04800E */ lui $a0, %hi(D_800DC4DC) # 0x800e
/* 0233BC 800227BC 1040000A */ beqz $v0, .L800227E8
/* 0233C0 800227C0 00002825 */ move $a1, $zero
/* 0233C4 800227C4 10430028 */ beq $v0, $v1, .L80022868
/* 0233C8 800227C8 3C04800E */ lui $a0, %hi(D_800DC4DC) # $a0, 0x800e
/* 0233CC 800227CC 24040002 */ li $a0, 2
/* 0233D0 800227D0 1044003C */ beq $v0, $a0, .L800228C4
/* 0233D4 800227D4 24030003 */ li $v1, 3
/* 0233D8 800227D8 1043003A */ beq $v0, $v1, .L800228C4
/* 0233DC 800227DC 00000000 */ nop
/* 0233E0 800227E0 100000AA */ b .L80022A8C
/* 0233E4 800227E4 8FBF0014 */ lw $ra, 0x14($sp)
.L800227E8:
/* 0233E8 800227E8 0C008AA6 */ jal func_80022A98
/* 0233EC 800227EC 8C84C4DC */ lw $a0, %lo(D_800DC4DC)($a0)
/* 0233F0 800227F0 3C04800E */ lui $a0, %hi(D_800DC4E0) # $a0, 0x800e
/* 0233F4 800227F4 8C84C4E0 */ lw $a0, %lo(D_800DC4E0)($a0)
/* 0233F8 800227F8 0C008AA6 */ jal func_80022A98
/* 0233FC 800227FC 24050001 */ li $a1, 1
/* 023400 80022800 3C04800E */ lui $a0, %hi(D_800DC4E4) # $a0, 0x800e
/* 023404 80022804 8C84C4E4 */ lw $a0, %lo(D_800DC4E4)($a0)
/* 023408 80022808 0C008AA6 */ jal func_80022A98
/* 02340C 8002280C 24050002 */ li $a1, 2
/* 023410 80022810 3C04800E */ lui $a0, %hi(D_800DC4E8) # $a0, 0x800e
/* 023414 80022814 8C84C4E8 */ lw $a0, %lo(D_800DC4E8)($a0)
/* 023418 80022818 0C008AA6 */ jal func_80022A98
/* 02341C 8002281C 24050003 */ li $a1, 3
/* 023420 80022820 3C04800E */ lui $a0, %hi(D_800DC4EC) # $a0, 0x800e
/* 023424 80022824 8C84C4EC */ lw $a0, %lo(D_800DC4EC)($a0)
/* 023428 80022828 0C008AA6 */ jal func_80022A98
/* 02342C 8002282C 24050004 */ li $a1, 4
/* 023430 80022830 3C04800E */ lui $a0, %hi(D_800DC4F0) # $a0, 0x800e
/* 023434 80022834 8C84C4F0 */ lw $a0, %lo(D_800DC4F0)($a0)
/* 023438 80022838 0C008AA6 */ jal func_80022A98
/* 02343C 8002283C 24050005 */ li $a1, 5
/* 023440 80022840 3C04800E */ lui $a0, %hi(D_800DC4F4) # $a0, 0x800e
/* 023444 80022844 8C84C4F4 */ lw $a0, %lo(D_800DC4F4)($a0)
/* 023448 80022848 0C008AA6 */ jal func_80022A98
/* 02344C 8002284C 24050006 */ li $a1, 6
/* 023450 80022850 3C04800E */ lui $a0, %hi(D_800DC4F8) # $a0, 0x800e
/* 023454 80022854 8C84C4F8 */ lw $a0, %lo(D_800DC4F8)($a0)
/* 023458 80022858 0C008AA6 */ jal func_80022A98
/* 02345C 8002285C 24050007 */ li $a1, 7
/* 023460 80022860 1000008A */ b .L80022A8C
/* 023464 80022864 8FBF0014 */ lw $ra, 0x14($sp)
.L80022868:
/* 023468 80022868 8C84C4DC */ lw $a0, %lo(D_800DC4DC)($a0) # -0x3b24($a0)
/* 02346C 8002286C 0C008AA6 */ jal func_80022A98
/* 023470 80022870 00002825 */ move $a1, $zero
/* 023474 80022874 3C04800E */ lui $a0, %hi(D_800DC4E0) # $a0, 0x800e
/* 023478 80022878 8C84C4E0 */ lw $a0, %lo(D_800DC4E0)($a0)
/* 02347C 8002287C 24010100 */ li $at, 256
/* 023480 80022880 948E0000 */ lhu $t6, ($a0)
/* 023484 80022884 31CF0100 */ andi $t7, $t6, 0x100
/* 023488 80022888 15E10003 */ bne $t7, $at, .L80022898
/* 02348C 8002288C 00000000 */ nop
/* 023490 80022890 0C008AA6 */ jal func_80022A98
/* 023494 80022894 24050001 */ li $a1, 1
.L80022898:
/* 023498 80022898 3C04800E */ lui $a0, %hi(D_800DC4E4) # $a0, 0x800e
/* 02349C 8002289C 8C84C4E4 */ lw $a0, %lo(D_800DC4E4)($a0)
/* 0234A0 800228A0 24010100 */ li $at, 256
/* 0234A4 800228A4 94980000 */ lhu $t8, ($a0)
/* 0234A8 800228A8 33190100 */ andi $t9, $t8, 0x100
/* 0234AC 800228AC 57210077 */ bnel $t9, $at, .L80022A8C
/* 0234B0 800228B0 8FBF0014 */ lw $ra, 0x14($sp)
/* 0234B4 800228B4 0C008AA6 */ jal func_80022A98
/* 0234B8 800228B8 24050002 */ li $a1, 2
/* 0234BC 800228BC 10000073 */ b .L80022A8C
/* 0234C0 800228C0 8FBF0014 */ lw $ra, 0x14($sp)
.L800228C4:
/* 0234C4 800228C4 3C04800E */ lui $a0, %hi(D_800DC4DC) # $a0, 0x800e
/* 0234C8 800228C8 8C84C4DC */ lw $a0, %lo(D_800DC4DC)($a0)
/* 0234CC 800228CC 0C008AA6 */ jal func_80022A98
/* 0234D0 800228D0 00002825 */ move $a1, $zero
/* 0234D4 800228D4 3C04800E */ lui $a0, %hi(D_800DC4E0) # $a0, 0x800e
/* 0234D8 800228D8 8C84C4E0 */ lw $a0, %lo(D_800DC4E0)($a0)
/* 0234DC 800228DC 0C008AA6 */ jal func_80022A98
/* 0234E0 800228E0 24050001 */ li $a1, 1
/* 0234E4 800228E4 3C02800E */ lui $v0, %hi(gPlayerCountSelection1) # $v0, 0x800e
/* 0234E8 800228E8 8C42C538 */ lw $v0, %lo(gPlayerCountSelection1)($v0)
/* 0234EC 800228EC 3C04800E */ lui $a0, %hi(D_800DC4E4) # $a0, 0x800e
/* 0234F0 800228F0 24050002 */ li $a1, 2
/* 0234F4 800228F4 28410003 */ slti $at, $v0, 3
/* 0234F8 800228F8 54200006 */ bnel $at, $zero, .L80022914
/* 0234FC 800228FC 24010004 */ li $at, 4
/* 023500 80022900 0C008AA6 */ jal func_80022A98
/* 023504 80022904 8C84C4E4 */ lw $a0, %lo(D_800DC4E4)($a0)
/* 023508 80022908 3C02800E */ lui $v0, %hi(gPlayerCountSelection1) # $v0, 0x800e
/* 02350C 8002290C 8C42C538 */ lw $v0, %lo(gPlayerCountSelection1)($v0)
/* 023510 80022910 24010004 */ li $at, 4
.L80022914:
/* 023514 80022914 1441005C */ bne $v0, $at, .L80022A88
/* 023518 80022918 3C04800E */ lui $a0, %hi(D_800DC4E8) # $a0, 0x800e
/* 02351C 8002291C 8C84C4E8 */ lw $a0, %lo(D_800DC4E8)($a0)
/* 023520 80022920 0C008AA6 */ jal func_80022A98
/* 023524 80022924 24050003 */ li $a1, 3
/* 023528 80022928 10000058 */ b .L80022A8C
/* 02352C 8002292C 8FBF0014 */ lw $ra, 0x14($sp)
.L80022930:
/* 023530 80022930 3C02800E */ lui $v0, %hi(gModeSelection) # $v0, 0x800e
/* 023534 80022934 8C42C53C */ lw $v0, %lo(gModeSelection)($v0)
/* 023538 80022938 00002825 */ move $a1, $zero
/* 02353C 8002293C 10400009 */ beqz $v0, .L80022964
/* 023540 80022940 00000000 */ nop
/* 023544 80022944 10430032 */ beq $v0, $v1, .L80022A10
/* 023548 80022948 00002825 */ move $a1, $zero
/* 02354C 8002294C 10440026 */ beq $v0, $a0, .L800229E8
/* 023550 80022950 24030003 */ li $v1, 3
/* 023554 80022954 10430024 */ beq $v0, $v1, .L800229E8
/* 023558 80022958 00000000 */ nop
/* 02355C 8002295C 1000004B */ b .L80022A8C
/* 023560 80022960 8FBF0014 */ lw $ra, 0x14($sp)
.L80022964:
/* 023564 80022964 3C04800E */ lui $a0, %hi(D_800DC4DC) # $a0, 0x800e
/* 023568 80022968 0C008AA6 */ jal func_80022A98
/* 02356C 8002296C 8C84C4DC */ lw $a0, %lo(D_800DC4DC)($a0)
/* 023570 80022970 3C04800E */ lui $a0, %hi(D_800DC4E0) # $a0, 0x800e
/* 023574 80022974 8C84C4E0 */ lw $a0, %lo(D_800DC4E0)($a0)
/* 023578 80022978 0C008AA6 */ jal func_80022A98
/* 02357C 8002297C 24050001 */ li $a1, 1
/* 023580 80022980 3C04800E */ lui $a0, %hi(D_800DC4E4) # $a0, 0x800e
/* 023584 80022984 8C84C4E4 */ lw $a0, %lo(D_800DC4E4)($a0)
/* 023588 80022988 0C008AA6 */ jal func_80022A98
/* 02358C 8002298C 24050002 */ li $a1, 2
/* 023590 80022990 3C04800E */ lui $a0, %hi(D_800DC4E8) # $a0, 0x800e
/* 023594 80022994 8C84C4E8 */ lw $a0, %lo(D_800DC4E8)($a0)
/* 023598 80022998 0C008AA6 */ jal func_80022A98
/* 02359C 8002299C 24050003 */ li $a1, 3
/* 0235A0 800229A0 3C04800E */ lui $a0, %hi(D_800DC4EC) # $a0, 0x800e
/* 0235A4 800229A4 8C84C4EC */ lw $a0, %lo(D_800DC4EC)($a0)
/* 0235A8 800229A8 0C008AA6 */ jal func_80022A98
/* 0235AC 800229AC 24050004 */ li $a1, 4
/* 0235B0 800229B0 3C04800E */ lui $a0, %hi(D_800DC4F0) # $a0, 0x800e
/* 0235B4 800229B4 8C84C4F0 */ lw $a0, %lo(D_800DC4F0)($a0)
/* 0235B8 800229B8 0C008AA6 */ jal func_80022A98
/* 0235BC 800229BC 24050005 */ li $a1, 5
/* 0235C0 800229C0 3C04800E */ lui $a0, %hi(D_800DC4F4) # $a0, 0x800e
/* 0235C4 800229C4 8C84C4F4 */ lw $a0, %lo(D_800DC4F4)($a0)
/* 0235C8 800229C8 0C008AA6 */ jal func_80022A98
/* 0235CC 800229CC 24050006 */ li $a1, 6
/* 0235D0 800229D0 3C04800E */ lui $a0, %hi(D_800DC4F8) # $a0, 0x800e
/* 0235D4 800229D4 8C84C4F8 */ lw $a0, %lo(D_800DC4F8)($a0)
/* 0235D8 800229D8 0C008AA6 */ jal func_80022A98
/* 0235DC 800229DC 24050007 */ li $a1, 7
/* 0235E0 800229E0 1000002A */ b .L80022A8C
/* 0235E4 800229E4 8FBF0014 */ lw $ra, 0x14($sp)
.L800229E8:
/* 0235E8 800229E8 3C04800E */ lui $a0, %hi(D_800DC4DC) # $a0, 0x800e
/* 0235EC 800229EC 8C84C4DC */ lw $a0, %lo(D_800DC4DC)($a0)
/* 0235F0 800229F0 0C008AA6 */ jal func_80022A98
/* 0235F4 800229F4 00002825 */ move $a1, $zero
/* 0235F8 800229F8 3C04800E */ lui $a0, %hi(D_800DC4E0) # $a0, 0x800e
/* 0235FC 800229FC 8C84C4E0 */ lw $a0, %lo(D_800DC4E0)($a0)
/* 023600 80022A00 0C008AA6 */ jal func_80022A98
/* 023604 80022A04 24050001 */ li $a1, 1
/* 023608 80022A08 10000020 */ b .L80022A8C
/* 02360C 80022A0C 8FBF0014 */ lw $ra, 0x14($sp)
.L80022A10:
/* 023610 80022A10 3C04800E */ lui $a0, %hi(D_800DC4DC) # $a0, 0x800e
/* 023614 80022A14 0C008AA6 */ jal func_80022A98
/* 023618 80022A18 8C84C4DC */ lw $a0, %lo(D_800DC4DC)($a0)
/* 02361C 80022A1C 1000001B */ b .L80022A8C
/* 023620 80022A20 8FBF0014 */ lw $ra, 0x14($sp)
.L80022A24:
/* 023624 80022A24 3C02800E */ lui $v0, %hi(gModeSelection) # $v0, 0x800e
/* 023628 80022A28 8C42C53C */ lw $v0, %lo(gModeSelection)($v0)
/* 02362C 80022A2C 00002825 */ move $a1, $zero
/* 023630 80022A30 10440002 */ beq $v0, $a0, .L80022A3C
/* 023634 80022A34 00000000 */ nop
/* 023638 80022A38 14430013 */ bne $v0, $v1, .L80022A88
.L80022A3C:
/* 02363C 80022A3C 3C04800E */ lui $a0, %hi(D_800DC4DC) # $a0, 0x800e
/* 023640 80022A40 0C008AA6 */ jal func_80022A98
/* 023644 80022A44 8C84C4DC */ lw $a0, %lo(D_800DC4DC)($a0)
/* 023648 80022A48 3C04800E */ lui $a0, %hi(D_800DC4E0) # $a0, 0x800e
/* 02364C 80022A4C 8C84C4E0 */ lw $a0, %lo(D_800DC4E0)($a0)
/* 023650 80022A50 0C008AA6 */ jal func_80022A98
/* 023654 80022A54 24050001 */ li $a1, 1
/* 023658 80022A58 3C04800E */ lui $a0, %hi(D_800DC4E4) # $a0, 0x800e
/* 02365C 80022A5C 8C84C4E4 */ lw $a0, %lo(D_800DC4E4)($a0)
/* 023660 80022A60 0C008AA6 */ jal func_80022A98
/* 023664 80022A64 24050002 */ li $a1, 2
/* 023668 80022A68 3C08800E */ lui $t0, %hi(gPlayerCountSelection1) # $t0, 0x800e
/* 02366C 80022A6C 8D08C538 */ lw $t0, %lo(gPlayerCountSelection1)($t0)
/* 023670 80022A70 24010004 */ li $at, 4
/* 023674 80022A74 3C04800E */ lui $a0, %hi(D_800DC4E8) # $a0, 0x800e
/* 023678 80022A78 15010003 */ bne $t0, $at, .L80022A88
/* 02367C 80022A7C 24050003 */ li $a1, 3
/* 023680 80022A80 0C008AA6 */ jal func_80022A98
/* 023684 80022A84 8C84C4E8 */ lw $a0, %lo(D_800DC4E8)($a0)
.L80022A88:
/* 023688 80022A88 8FBF0014 */ lw $ra, 0x14($sp)
.L80022A8C:
/* 02368C 80022A8C 27BD0018 */ addiu $sp, $sp, 0x18
/* 023690 80022A90 03E00008 */ jr $ra
/* 023694 80022A94 00000000 */ nop
glabel func_80022A98
/* 023698 80022A98 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 02369C 80022A9C AFBF001C */ sw $ra, 0x1c($sp)
/* 0236A0 80022AA0 AFB00018 */ sw $s0, 0x18($sp)
/* 0236A4 80022AA4 AFA50024 */ sw $a1, 0x24($sp)
/* 0236A8 80022AA8 948E0000 */ lhu $t6, ($a0)
/* 0236AC 80022AAC 34018000 */ li $at, 32768
/* 0236B0 80022AB0 00808025 */ move $s0, $a0
/* 0236B4 80022AB4 31CF8000 */ andi $t7, $t6, 0x8000
/* 0236B8 80022AB8 55E10021 */ bnel $t7, $at, .L80022B40
/* 0236BC 80022ABC 8FBF001C */ lw $ra, 0x1c($sp)
/* 0236C0 80022AC0 0C009A92 */ jal func_80026A48
/* 0236C4 80022AC4 83A50027 */ lb $a1, 0x27($sp)
/* 0236C8 80022AC8 02002025 */ move $a0, $s0
/* 0236CC 80022ACC 0C008D6B */ jal func_800235AC
/* 0236D0 80022AD0 83A50027 */ lb $a1, 0x27($sp)
/* 0236D4 80022AD4 8E0200BC */ lw $v0, 0xbc($s0)
/* 0236D8 80022AD8 3C040400 */ lui $a0, 0x400
/* 0236DC 80022ADC 3C060800 */ lui $a2, 0x800
/* 0236E0 80022AE0 00441824 */ and $v1, $v0, $a0
/* 0236E4 80022AE4 10830003 */ beq $a0, $v1, .L80022AF4
/* 0236E8 80022AE8 0046C024 */ and $t8, $v0, $a2
/* 0236EC 80022AEC 14D8000F */ bne $a2, $t8, .L80022B2C
/* 0236F0 80022AF0 83A50027 */ lb $a1, 0x27($sp)
.L80022AF4:
/* 0236F4 80022AF4 14830006 */ bne $a0, $v1, .L80022B10
/* 0236F8 80022AF8 3C060800 */ lui $a2, 0x800
/* 0236FC 80022AFC 02002025 */ move $a0, $s0
/* 023700 80022B00 0C008AD4 */ jal func_80022B50
/* 023704 80022B04 83A50027 */ lb $a1, 0x27($sp)
/* 023708 80022B08 3C060800 */ lui $a2, 0x800
/* 02370C 80022B0C 8E0200BC */ lw $v0, 0xbc($s0)
.L80022B10:
/* 023710 80022B10 0046C824 */ and $t9, $v0, $a2
/* 023714 80022B14 14D90007 */ bne $a2, $t9, .L80022B34
/* 023718 80022B18 02002025 */ move $a0, $s0
/* 02371C 80022B1C 0C008AF1 */ jal func_80022BC4
/* 023720 80022B20 83A50027 */ lb $a1, 0x27($sp)
/* 023724 80022B24 10000003 */ b .L80022B34
/* 023728 80022B28 00000000 */ nop
.L80022B2C:
/* 02372C 80022B2C 0C008B6D */ jal func_80022DB4
/* 023730 80022B30 02002025 */ move $a0, $s0
.L80022B34:
/* 023734 80022B34 0C00C28D */ jal func_80030A34
/* 023738 80022B38 02002025 */ move $a0, $s0
/* 02373C 80022B3C 8FBF001C */ lw $ra, 0x1c($sp)
.L80022B40:
/* 023740 80022B40 8FB00018 */ lw $s0, 0x18($sp)
/* 023744 80022B44 27BD0020 */ addiu $sp, $sp, 0x20
/* 023748 80022B48 03E00008 */ jr $ra
/* 02374C 80022B4C 00000000 */ nop
glabel func_80022B50
/* 023750 80022B50 AFA50004 */ sw $a1, 4($sp)
/* 023754 80022B54 84820DB6 */ lh $v0, 0xdb6($a0)
/* 023758 80022B58 C4800DC4 */ lwc1 $f0, 0xdc4($a0)
/* 02375C 80022B5C 28410005 */ slti $at, $v0, 5
/* 023760 80022B60 10200004 */ beqz $at, .L80022B74
/* 023764 80022B64 00000000 */ nop
/* 023768 80022B68 24420001 */ addiu $v0, $v0, 1
/* 02376C 80022B6C 00027400 */ sll $t6, $v0, 0x10
/* 023770 80022B70 000E1403 */ sra $v0, $t6, 0x10
.L80022B74:
/* 023774 80022B74 00420019 */ multu $v0, $v0
/* 023778 80022B78 44828000 */ mtc1 $v0, $f16
/* 02377C 80022B7C 3C01800F */ lui $at, %hi(D_800ED690)
/* 023780 80022B80 D424D690 */ ldc1 $f4, %lo(D_800ED690)($at)
/* 023784 80022B84 468084A0 */ cvt.s.w $f18, $f16
/* 023788 80022B88 E4800DC4 */ swc1 $f0, 0xdc4($a0)
/* 02378C 80022B8C A4820DB6 */ sh $v0, 0xdb6($a0)
/* 023790 80022B90 0000C012 */ mflo $t8
/* 023794 80022B94 44983000 */ mtc1 $t8, $f6
/* 023798 80022B98 00000000 */ nop
/* 02379C 80022B9C 46803221 */ cvt.d.w $f8, $f6
/* 0237A0 80022BA0 46282282 */ mul.d $f10, $f4, $f8
/* 0237A4 80022BA4 00000000 */ nop
/* 0237A8 80022BA8 46009182 */ mul.s $f6, $f18, $f0
/* 0237AC 80022BAC 46003121 */ cvt.d.s $f4, $f6
/* 0237B0 80022BB0 462A2201 */ sub.d $f8, $f4, $f10
/* 0237B4 80022BB4 4620440D */ trunc.w.d $f16, $f8
/* 0237B8 80022BB8 44088000 */ mfc1 $t0, $f16
/* 0237BC 80022BBC 03E00008 */ jr $ra
/* 0237C0 80022BC0 A4880DA4 */ sh $t0, 0xda4($a0)
glabel func_80022BC4
/* 0237C4 80022BC4 AFA50004 */ sw $a1, 4($sp)
/* 0237C8 80022BC8 84820DB6 */ lh $v0, 0xdb6($a0)
/* 0237CC 80022BCC 3C013FE0 */ li $at, 0x3FE00000 # 1.750000
/* 0237D0 80022BD0 44812800 */ mtc1 $at, $f5
/* 0237D4 80022BD4 24420001 */ addiu $v0, $v0, 1
/* 0237D8 80022BD8 00027400 */ sll $t6, $v0, 0x10
/* 0237DC 80022BDC 000E1403 */ sra $v0, $t6, 0x10
/* 0237E0 80022BE0 00420019 */ multu $v0, $v0
/* 0237E4 80022BE4 44828000 */ mtc1 $v0, $f16
/* 0237E8 80022BE8 44802000 */ mtc1 $zero, $f4
/* 0237EC 80022BEC C4800DC4 */ lwc1 $f0, 0xdc4($a0)
/* 0237F0 80022BF0 468084A0 */ cvt.s.w $f18, $f16
/* 0237F4 80022BF4 0000C012 */ mflo $t8
/* 0237F8 80022BF8 44983000 */ mtc1 $t8, $f6
/* 0237FC 80022BFC 00000000 */ nop
/* 023800 80022C00 46803221 */ cvt.d.w $f8, $f6
/* 023804 80022C04 46282282 */ mul.d $f10, $f4, $f8
/* 023808 80022C08 00000000 */ nop
/* 02380C 80022C0C 46009182 */ mul.s $f6, $f18, $f0
/* 023810 80022C10 46003121 */ cvt.d.s $f4, $f6
/* 023814 80022C14 462A2201 */ sub.d $f8, $f4, $f10
/* 023818 80022C18 4620440D */ trunc.w.d $f16, $f8
/* 02381C 80022C1C 44058000 */ mfc1 $a1, $f16
/* 023820 80022C20 00000000 */ nop
/* 023824 80022C24 00051C00 */ sll $v1, $a1, 0x10
/* 023828 80022C28 00034403 */ sra $t0, $v1, 0x10
/* 02382C 80022C2C 10400017 */ beqz $v0, .L80022C8C
/* 023830 80022C30 01001825 */ move $v1, $t0
/* 023834 80022C34 00054C00 */ sll $t1, $a1, 0x10
/* 023838 80022C38 00095403 */ sra $t2, $t1, 0x10
/* 02383C 80022C3C 05410013 */ bgez $t2, .L80022C8C
/* 023840 80022C40 3C01800F */ lui $at, %hi(D_800ED698)
/* 023844 80022C44 D426D698 */ ldc1 $f6, %lo(D_800ED698)($at)
/* 023848 80022C48 460004A1 */ cvt.d.s $f18, $f0
/* 02384C 80022C4C 3C01800F */ lui $at, %hi(D_800ED6A0)
/* 023850 80022C50 46269102 */ mul.d $f4, $f18, $f6
/* 023854 80022C54 D42AD6A0 */ ldc1 $f10, %lo(D_800ED6A0)($at)
/* 023858 80022C58 00001025 */ move $v0, $zero
/* 02385C 80022C5C 3C01F7FF */ lui $at, (0xF7FFFFFF >> 16) # lui $at, 0xf7ff
/* 023860 80022C60 46202020 */ cvt.s.d $f0, $f4
/* 023864 80022C64 46000221 */ cvt.d.s $f8, $f0
/* 023868 80022C68 462A403E */ c.le.d $f8, $f10
/* 02386C 80022C6C 00000000 */ nop
/* 023870 80022C70 45000006 */ bc1f .L80022C8C
/* 023874 80022C74 00000000 */ nop
/* 023878 80022C78 8C8B00BC */ lw $t3, 0xbc($a0)
/* 02387C 80022C7C 3421FFFF */ ori $at, (0xF7FFFFFF & 0xFFFF) # ori $at, $at, 0xffff
/* 023880 80022C80 44800000 */ mtc1 $zero, $f0
/* 023884 80022C84 01616024 */ and $t4, $t3, $at
/* 023888 80022C88 AC8C00BC */ sw $t4, 0xbc($a0)
.L80022C8C:
/* 02388C 80022C8C 5C600003 */ bgtzl $v1, .L80022C9C
/* 023890 80022C90 A4830DA4 */ sh $v1, 0xda4($a0)
/* 023894 80022C94 00001825 */ move $v1, $zero
/* 023898 80022C98 A4830DA4 */ sh $v1, 0xda4($a0)
.L80022C9C:
/* 02389C 80022C9C E4800DC4 */ swc1 $f0, 0xdc4($a0)
/* 0238A0 80022CA0 03E00008 */ jr $ra
/* 0238A4 80022CA4 A4820DB6 */ sh $v0, 0xdb6($a0)
glabel func_80022CA8
/* 0238A8 80022CA8 AFA50004 */ sw $a1, 4($sp)
/* 0238AC 80022CAC AFA60008 */ sw $a2, 8($sp)
/* 0238B0 80022CB0 AFA7000C */ sw $a3, 0xc($sp)
/* 0238B4 80022CB4 84820DA4 */ lh $v0, 0xda4($a0)
/* 0238B8 80022CB8 3C01800F */ lui $at, %hi(D_800ED6A8)
/* 0238BC 80022CBC D428D6A8 */ ldc1 $f8, %lo(D_800ED6A8)($at)
/* 0238C0 80022CC0 44822000 */ mtc1 $v0, $f4
/* 0238C4 80022CC4 3C014032 */ li $at, 0x40320000 # 2.781250
/* 0238C8 80022CC8 44818800 */ mtc1 $at, $f17
/* 0238CC 80022CCC 468021A1 */ cvt.d.w $f6, $f4
/* 0238D0 80022CD0 44808000 */ mtc1 $zero, $f16
/* 0238D4 80022CD4 00057600 */ sll $t6, $a1, 0x18
/* 0238D8 80022CD8 000E7E03 */ sra $t7, $t6, 0x18
/* 0238DC 80022CDC 3C0B800E */ lui $t3, %hi(D_800DDBB4) # $t3, 0x800e
/* 0238E0 80022CE0 46283282 */ mul.d $f10, $f6, $f8
/* 0238E4 80022CE4 256BDBB4 */ addiu $t3, %lo(D_800DDBB4) # addiu $t3, $t3, -0x244c
/* 0238E8 80022CE8 000F5080 */ sll $t2, $t7, 2
/* 0238EC 80022CEC 014B1821 */ addu $v1, $t2, $t3
/* 0238F0 80022CF0 8C6D0000 */ lw $t5, ($v1)
/* 0238F4 80022CF4 0007C600 */ sll $t8, $a3, 0x18
/* 0238F8 80022CF8 0018CE03 */ sra $t9, $t8, 0x18
/* 0238FC 80022CFC 00193100 */ sll $a2, $t9, 4
/* 023900 80022D00 462A8481 */ sub.d $f18, $f16, $f10
/* 023904 80022D04 01A67021 */ addu $t6, $t5, $a2
/* 023908 80022D08 240F0009 */ li $t7, 9
/* 02390C 80022D0C 01E24823 */ subu $t1, $t7, $v0
/* 023910 80022D10 4620910D */ trunc.w.d $f4, $f18
/* 023914 80022D14 44082000 */ mfc1 $t0, $f4
/* 023918 80022D18 00000000 */ nop
/* 02391C 80022D1C A5C80002 */ sh $t0, 2($t6)
/* 023920 80022D20 8C780000 */ lw $t8, ($v1)
/* 023924 80022D24 0306C821 */ addu $t9, $t8, $a2
/* 023928 80022D28 A7290012 */ sh $t1, 0x12($t9)
/* 02392C 80022D2C 8C6A0000 */ lw $t2, ($v1)
/* 023930 80022D30 01465821 */ addu $t3, $t2, $a2
/* 023934 80022D34 A5690022 */ sh $t1, 0x22($t3)
/* 023938 80022D38 8C6C0000 */ lw $t4, ($v1)
/* 02393C 80022D3C 01866821 */ addu $t5, $t4, $a2
/* 023940 80022D40 A5A80032 */ sh $t0, 0x32($t5)
/* 023944 80022D44 8C6E0000 */ lw $t6, ($v1)
/* 023948 80022D48 01C67821 */ addu $t7, $t6, $a2
/* 02394C 80022D4C A5E90042 */ sh $t1, 0x42($t7)
/* 023950 80022D50 8C780000 */ lw $t8, ($v1)
/* 023954 80022D54 0306C821 */ addu $t9, $t8, $a2
/* 023958 80022D58 03E00008 */ jr $ra
/* 02395C 80022D5C A7290072 */ sh $t1, 0x72($t9)
glabel func_80022D60
/* 023960 80022D60 00057600 */ sll $t6, $a1, 0x18
/* 023964 80022D64 000E7E03 */ sra $t7, $t6, 0x18
/* 023968 80022D68 3C09800E */ lui $t1, %hi(D_800DDBB4) # $t1, 0x800e
/* 02396C 80022D6C 2529DBB4 */ addiu $t1, %lo(D_800DDBB4) # addiu $t1, $t1, -0x244c
/* 023970 80022D70 000F4080 */ sll $t0, $t7, 2
/* 023974 80022D74 01091021 */ addu $v0, $t0, $t1
/* 023978 80022D78 8C4A0000 */ lw $t2, ($v0)
/* 02397C 80022D7C 0007C600 */ sll $t8, $a3, 0x18
/* 023980 80022D80 0018CE03 */ sra $t9, $t8, 0x18
/* 023984 80022D84 AFA40000 */ sw $a0, ($sp)
/* 023988 80022D88 00191900 */ sll $v1, $t9, 4
/* 02398C 80022D8C 24040015 */ li $a0, 21
/* 023990 80022D90 AFA50004 */ sw $a1, 4($sp)
/* 023994 80022D94 AFA60008 */ sw $a2, 8($sp)
/* 023998 80022D98 AFA7000C */ sw $a3, 0xc($sp)
/* 02399C 80022D9C 01435821 */ addu $t3, $t2, $v1
/* 0239A0 80022DA0 A5640002 */ sh $a0, 2($t3)
/* 0239A4 80022DA4 8C4C0000 */ lw $t4, ($v0)
/* 0239A8 80022DA8 01836821 */ addu $t5, $t4, $v1
/* 0239AC 80022DAC 03E00008 */ jr $ra
/* 0239B0 80022DB0 A5A40032 */ sh $a0, 0x32($t5)
glabel func_80022DB4
/* 0239B4 80022DB4 AFA50004 */ sw $a1, 4($sp)
/* 0239B8 80022DB8 84820DCC */ lh $v0, 0xdcc($a0)
/* 0239BC 80022DBC 3C01800F */ lui $at, %hi(D_800ED6B0)
/* 0239C0 80022DC0 D424D6B0 */ ldc1 $f4, %lo(D_800ED6B0)($at)
/* 0239C4 80022DC4 24420001 */ addiu $v0, $v0, 1
/* 0239C8 80022DC8 00027400 */ sll $t6, $v0, 0x10
/* 0239CC 80022DCC 000E1403 */ sra $v0, $t6, 0x10
/* 0239D0 80022DD0 00420019 */ multu $v0, $v0
/* 0239D4 80022DD4 44828000 */ mtc1 $v0, $f16
/* 0239D8 80022DD8 C4800DC0 */ lwc1 $f0, 0xdc0($a0)
/* 0239DC 80022DDC 468084A0 */ cvt.s.w $f18, $f16
/* 0239E0 80022DE0 0000C012 */ mflo $t8
/* 0239E4 80022DE4 44983000 */ mtc1 $t8, $f6
/* 0239E8 80022DE8 00000000 */ nop
/* 0239EC 80022DEC 46803221 */ cvt.d.w $f8, $f6
/* 0239F0 80022DF0 46282282 */ mul.d $f10, $f4, $f8
/* 0239F4 80022DF4 00000000 */ nop
/* 0239F8 80022DF8 46009182 */ mul.s $f6, $f18, $f0
/* 0239FC 80022DFC 46003121 */ cvt.d.s $f4, $f6
/* 023A00 80022E00 462A2201 */ sub.d $f8, $f4, $f10
/* 023A04 80022E04 4620440D */ trunc.w.d $f16, $f8
/* 023A08 80022E08 44058000 */ mfc1 $a1, $f16
/* 023A0C 80022E0C 00000000 */ nop
/* 023A10 80022E10 00051C00 */ sll $v1, $a1, 0x10
/* 023A14 80022E14 00034403 */ sra $t0, $v1, 0x10
/* 023A18 80022E18 10400013 */ beqz $v0, .L80022E68
/* 023A1C 80022E1C 01001825 */ move $v1, $t0
/* 023A20 80022E20 00054C00 */ sll $t1, $a1, 0x10
/* 023A24 80022E24 00095403 */ sra $t2, $t1, 0x10
/* 023A28 80022E28 0541000F */ bgez $t2, .L80022E68
/* 023A2C 80022E2C 3C01800F */ lui $at, %hi(D_800ED6B8)
/* 023A30 80022E30 D426D6B8 */ ldc1 $f6, %lo(D_800ED6B8)($at)
/* 023A34 80022E34 460004A1 */ cvt.d.s $f18, $f0
/* 023A38 80022E38 3C01800F */ lui $at, %hi(D_800ED6C0)
/* 023A3C 80022E3C 46269102 */ mul.d $f4, $f18, $f6
/* 023A40 80022E40 D42AD6C0 */ ldc1 $f10, %lo(D_800ED6C0)($at)
/* 023A44 80022E44 00001025 */ move $v0, $zero
/* 023A48 80022E48 46202020 */ cvt.s.d $f0, $f4
/* 023A4C 80022E4C 46000221 */ cvt.d.s $f8, $f0
/* 023A50 80022E50 462A403E */ c.le.d $f8, $f10
/* 023A54 80022E54 00000000 */ nop
/* 023A58 80022E58 45000003 */ bc1f .L80022E68
/* 023A5C 80022E5C 00000000 */ nop
/* 023A60 80022E60 44800000 */ mtc1 $zero, $f0
/* 023A64 80022E64 00000000 */ nop
.L80022E68:
/* 023A68 80022E68 5C600003 */ bgtzl $v1, .L80022E78
/* 023A6C 80022E6C A4830DD2 */ sh $v1, 0xdd2($a0)
/* 023A70 80022E70 00001825 */ move $v1, $zero
/* 023A74 80022E74 A4830DD2 */ sh $v1, 0xdd2($a0)
.L80022E78:
/* 023A78 80022E78 E4800DC0 */ swc1 $f0, 0xdc0($a0)
/* 023A7C 80022E7C 03E00008 */ jr $ra
/* 023A80 80022E80 A4820DCC */ sh $v0, 0xdcc($a0)
glabel func_80022E84
/* 023A84 80022E84 00057600 */ sll $t6, $a1, 0x18
/* 023A88 80022E88 000E7E03 */ sra $t7, $t6, 0x18
/* 023A8C 80022E8C 3C0B800E */ lui $t3, %hi(D_800DDBB4) # $t3, 0x800e
/* 023A90 80022E90 256BDBB4 */ addiu $t3, %lo(D_800DDBB4) # addiu $t3, $t3, -0x244c
/* 023A94 80022E94 000F5080 */ sll $t2, $t7, 2
/* 023A98 80022E98 AFA50004 */ sw $a1, 4($sp)
/* 023A9C 80022E9C AFA60008 */ sw $a2, 8($sp)
/* 023AA0 80022EA0 AFA7000C */ sw $a3, 0xc($sp)
/* 023AA4 80022EA4 014B1821 */ addu $v1, $t2, $t3
/* 023AA8 80022EA8 84820DD2 */ lh $v0, 0xdd2($a0)
/* 023AAC 80022EAC 8C6D0000 */ lw $t5, ($v1)
/* 023AB0 80022EB0 0007C600 */ sll $t8, $a3, 0x18
/* 023AB4 80022EB4 0018CE03 */ sra $t9, $t8, 0x18
/* 023AB8 80022EB8 00193100 */ sll $a2, $t9, 4
/* 023ABC 80022EBC 240C0012 */ li $t4, 18
/* 023AC0 80022EC0 01824023 */ subu $t0, $t4, $v0
/* 023AC4 80022EC4 01A67021 */ addu $t6, $t5, $a2
/* 023AC8 80022EC8 A5C80002 */ sh $t0, 2($t6)
/* 023ACC 80022ECC 8C780000 */ lw $t8, ($v1)
/* 023AD0 80022ED0 240F0009 */ li $t7, 9
/* 023AD4 80022ED4 01E24823 */ subu $t1, $t7, $v0
/* 023AD8 80022ED8 0306C821 */ addu $t9, $t8, $a2
/* 023ADC 80022EDC A7290012 */ sh $t1, 0x12($t9)
/* 023AE0 80022EE0 8C6A0000 */ lw $t2, ($v1)
/* 023AE4 80022EE4 01465821 */ addu $t3, $t2, $a2
/* 023AE8 80022EE8 A5690022 */ sh $t1, 0x22($t3)
/* 023AEC 80022EEC 8C6C0000 */ lw $t4, ($v1)
/* 023AF0 80022EF0 01866821 */ addu $t5, $t4, $a2
/* 023AF4 80022EF4 A5A80032 */ sh $t0, 0x32($t5)
/* 023AF8 80022EF8 8C6E0000 */ lw $t6, ($v1)
/* 023AFC 80022EFC 01C67821 */ addu $t7, $t6, $a2
/* 023B00 80022F00 A5E90042 */ sh $t1, 0x42($t7)
/* 023B04 80022F04 8C780000 */ lw $t8, ($v1)
/* 023B08 80022F08 0306C821 */ addu $t9, $t8, $a2
/* 023B0C 80022F0C 03E00008 */ jr $ra
/* 023B10 80022F10 A7290072 */ sh $t1, 0x72($t9)
glabel func_80022F14
/* 023B14 80022F14 00057600 */ sll $t6, $a1, 0x18
/* 023B18 80022F18 000E7E03 */ sra $t7, $t6, 0x18
/* 023B1C 80022F1C 3C188016 */ lui $t8, %hi(D_80164B10) # $t8, 0x8016
/* 023B20 80022F20 27184B10 */ addiu $t8, %lo(D_80164B10) # addiu $t8, $t8, 0x4b10
/* 023B24 80022F24 000F1040 */ sll $v0, $t7, 1
/* 023B28 80022F28 AFA40000 */ sw $a0, ($sp)
/* 023B2C 80022F2C 00581821 */ addu $v1, $v0, $t8
/* 023B30 80022F30 94640000 */ lhu $a0, ($v1)
/* 023B34 80022F34 44876000 */ mtc1 $a3, $f12
/* 023B38 80022F38 AFA50004 */ sw $a1, 4($sp)
/* 023B3C 80022F3C 44842000 */ mtc1 $a0, $f4
/* 023B40 80022F40 0006CC03 */ sra $t9, $a2, 0x10
/* 023B44 80022F44 04810005 */ bgez $a0, .L80022F5C
/* 023B48 80022F48 468021A0 */ cvt.s.w $f6, $f4
/* 023B4C 80022F4C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000
/* 023B50 80022F50 44814000 */ mtc1 $at, $f8
/* 023B54 80022F54 00000000 */ nop
/* 023B58 80022F58 46083180 */ add.s $f6, $f6, $f8
.L80022F5C:
/* 023B5C 80022F5C 332B00FF */ andi $t3, $t9, 0xff
/* 023B60 80022F60 008B6023 */ subu $t4, $a0, $t3
/* 023B64 80022F64 448C5000 */ mtc1 $t4, $f10
/* 023B68 80022F68 3C0F8016 */ lui $t7, %hi(D_80164B20) # $t7, 0x8016
/* 023B6C 80022F6C 25EF4B20 */ addiu $t7, %lo(D_80164B20) # addiu $t7, $t7, 0x4b20
/* 023B70 80022F70 46805420 */ cvt.s.w $f16, $f10
/* 023B74 80022F74 004F3821 */ addu $a3, $v0, $t7
/* 023B78 80022F78 94E80000 */ lhu $t0, ($a3)
/* 023B7C 80022F7C 0006C203 */ sra $t8, $a2, 8
/* 023B80 80022F80 331900FF */ andi $t9, $t8, 0xff
/* 023B84 80022F84 01195823 */ subu $t3, $t0, $t9
/* 023B88 80022F88 460C8482 */ mul.s $f18, $f16, $f12
/* 023B8C 80022F8C 44885000 */ mtc1 $t0, $f10
/* 023B90 80022F90 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000
/* 023B94 80022F94 30CF00FF */ andi $t7, $a2, 0xff
/* 023B98 80022F98 46805420 */ cvt.s.w $f16, $f10
/* 023B9C 80022F9C 46123101 */ sub.s $f4, $f6, $f18
/* 023BA0 80022FA0 448B9000 */ mtc1 $t3, $f18
/* 023BA4 80022FA4 4600220D */ trunc.w.s $f8, $f4
/* 023BA8 80022FA8 46809120 */ cvt.s.w $f4, $f18
/* 023BAC 80022FAC 440E4000 */ mfc1 $t6, $f8
/* 023BB0 80022FB0 00000000 */ nop
/* 023BB4 80022FB4 A46E0000 */ sh $t6, ($v1)
/* 023BB8 80022FB8 3C0E8016 */ lui $t6, %hi(D_80164B30) # $t6, 0x8016
/* 023BBC 80022FBC 460C2202 */ mul.s $f8, $f4, $f12
/* 023BC0 80022FC0 05010004 */ bgez $t0, .L80022FD4
/* 023BC4 80022FC4 00000000 */ nop
/* 023BC8 80022FC8 44813000 */ mtc1 $at, $f6
/* 023BCC 80022FCC 00000000 */ nop
/* 023BD0 80022FD0 46068400 */ add.s $f16, $f16, $f6
.L80022FD4:
/* 023BD4 80022FD4 25CE4B30 */ addiu $t6, %lo(D_80164B30) # addiu $t6, $t6, 0x4b30
/* 023BD8 80022FD8 004E4821 */ addu $t1, $v0, $t6
/* 023BDC 80022FDC 952A0000 */ lhu $t2, ($t1)
/* 023BE0 80022FE0 46088281 */ sub.s $f10, $f16, $f8
/* 023BE4 80022FE4 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000
/* 023BE8 80022FE8 014FC023 */ subu $t8, $t2, $t7
/* 023BEC 80022FEC 44984000 */ mtc1 $t8, $f8
/* 023BF0 80022FF0 4600518D */ trunc.w.s $f6, $f10
/* 023BF4 80022FF4 448A9000 */ mtc1 $t2, $f18
/* 023BF8 80022FF8 468042A0 */ cvt.s.w $f10, $f8
/* 023BFC 80022FFC 440D3000 */ mfc1 $t5, $f6
/* 023C00 80023000 00000000 */ nop
/* 023C04 80023004 A4ED0000 */ sh $t5, ($a3)
/* 023C08 80023008 46809120 */ cvt.s.w $f4, $f18
/* 023C0C 8002300C 460C5182 */ mul.s $f6, $f10, $f12
/* 023C10 80023010 05430005 */ bgezl $t2, .L80023028
/* 023C14 80023014 46062481 */ sub.s $f18, $f4, $f6
/* 023C18 80023018 44818000 */ mtc1 $at, $f16
/* 023C1C 8002301C 00000000 */ nop
/* 023C20 80023020 46102100 */ add.s $f4, $f4, $f16
/* 023C24 80023024 46062481 */ sub.s $f18, $f4, $f6
.L80023028:
/* 023C28 80023028 4600940D */ trunc.w.s $f16, $f18
/* 023C2C 8002302C 440B8000 */ mfc1 $t3, $f16
/* 023C30 80023030 03E00008 */ jr $ra
/* 023C34 80023034 A52B0000 */ sh $t3, ($t1)
glabel func_80023038
/* 023C38 80023038 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 023C3C 8002303C AFA50024 */ sw $a1, 0x24($sp)
/* 023C40 80023040 AFA7002C */ sw $a3, 0x2c($sp)
/* 023C44 80023044 83A70027 */ lb $a3, 0x27($sp)
/* 023C48 80023048 00067C03 */ sra $t7, $a2, 0x10
/* 023C4C 8002304C 31F800FF */ andi $t8, $t7, 0xff
/* 023C50 80023050 3C0E8016 */ lui $t6, %hi(D_80164B40) # $t6, 0x8016
/* 023C54 80023054 AFBF0014 */ sw $ra, 0x14($sp)
/* 023C58 80023058 AFA40020 */ sw $a0, 0x20($sp)
/* 023C5C 8002305C AFA60028 */ sw $a2, 0x28($sp)
/* 023C60 80023060 25CE4B40 */ addiu $t6, %lo(D_80164B40) # addiu $t6, $t6, 0x4b40
/* 023C64 80023064 0018CC00 */ sll $t9, $t8, 0x10
/* 023C68 80023068 00071040 */ sll $v0, $a3, 1
/* 023C6C 8002306C 004E2021 */ addu $a0, $v0, $t6
/* 023C70 80023070 AFA2001C */ sw $v0, 0x1c($sp)
/* 023C74 80023074 00192C03 */ sra $a1, $t9, 0x10
/* 023C78 80023078 0C00899D */ jal func_80022674
/* 023C7C 8002307C 8FA6002C */ lw $a2, 0x2c($sp)
/* 023C80 80023080 8FA50028 */ lw $a1, 0x28($sp)
/* 023C84 80023084 8FA9001C */ lw $t1, 0x1c($sp)
/* 023C88 80023088 3C0A8016 */ lui $t2, %hi(D_80164B50) # $t2, 0x8016
/* 023C8C 8002308C 00055A03 */ sra $t3, $a1, 8
/* 023C90 80023090 316C00FF */ andi $t4, $t3, 0xff
/* 023C94 80023094 000C6C00 */ sll $t5, $t4, 0x10
/* 023C98 80023098 254A4B50 */ addiu $t2, %lo(D_80164B50) # addiu $t2, $t2, 0x4b50
/* 023C9C 8002309C 000D2C03 */ sra $a1, $t5, 0x10
/* 023CA0 800230A0 8FA6002C */ lw $a2, 0x2c($sp)
/* 023CA4 800230A4 0C00899D */ jal func_80022674
/* 023CA8 800230A8 012A2021 */ addu $a0, $t1, $t2
/* 023CAC 800230AC 8FA50028 */ lw $a1, 0x28($sp)
/* 023CB0 800230B0 8FAF001C */ lw $t7, 0x1c($sp)
/* 023CB4 800230B4 3C188016 */ lui $t8, %hi(D_80164B60) # $t8, 0x8016
/* 023CB8 800230B8 30B900FF */ andi $t9, $a1, 0xff
/* 023CBC 800230BC 00194400 */ sll $t0, $t9, 0x10
/* 023CC0 800230C0 27184B60 */ addiu $t8, %lo(D_80164B60) # addiu $t8, $t8, 0x4b60
/* 023CC4 800230C4 00082C03 */ sra $a1, $t0, 0x10
/* 023CC8 800230C8 8FA6002C */ lw $a2, 0x2c($sp)
/* 023CCC 800230CC 0C00899D */ jal func_80022674
/* 023CD0 800230D0 01F82021 */ addu $a0, $t7, $t8
/* 023CD4 800230D4 8FBF0014 */ lw $ra, 0x14($sp)
/* 023CD8 800230D8 27BD0020 */ addiu $sp, $sp, 0x20
/* 023CDC 800230DC 03E00008 */ jr $ra
/* 023CE0 800230E0 00000000 */ nop
glabel func_800230E4
/* 023CE4 800230E4 3C18800E */ lui $t8, %hi(gCurrentCourseId) # $t8, 0x800e
/* 023CE8 800230E8 8718C5A0 */ lh $t8, %lo(gCurrentCourseId)($t8)
/* 023CEC 800230EC 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 023CF0 800230F0 00057600 */ sll $t6, $a1, 0x18
/* 023CF4 800230F4 000E7E03 */ sra $t7, $t6, 0x18
/* 023CF8 800230F8 AFA5001C */ sw $a1, 0x1c($sp)
/* 023CFC 800230FC 24010008 */ li $at, 8
/* 023D00 80023100 01E02825 */ move $a1, $t7
/* 023D04 80023104 AFBF0014 */ sw $ra, 0x14($sp)
/* 023D08 80023108 1701002E */ bne $t8, $at, .L800231C4
/* 023D0C 8002310C AFA40018 */ sw $a0, 0x18($sp)
/* 023D10 80023110 000FC840 */ sll $t9, $t7, 1
/* 023D14 80023114 3C028016 */ lui $v0, %hi(D_80164438) # 0x8016
/* 023D18 80023118 00591021 */ addu $v0, $v0, $t9
/* 023D1C 8002311C 94424438 */ lhu $v0, %lo(D_80164438)($v0) # 0x4438
/* 023D20 80023120 2841014F */ slti $at, $v0, 0x14f
/* 023D24 80023124 14200002 */ bnez $at, .L80023130
/* 023D28 80023128 28410158 */ slti $at, $v0, 0x158
/* 023D2C 8002312C 14200010 */ bnez $at, .L80023170
.L80023130:
/* 023D30 80023130 2841015E */ slti $at, $v0, 0x15e
/* 023D34 80023134 14200002 */ bnez $at, .L80023140
/* 023D38 80023138 28410164 */ slti $at, $v0, 0x164
/* 023D3C 8002313C 1420000C */ bnez $at, .L80023170
.L80023140:
/* 023D40 80023140 28410169 */ slti $at, $v0, 0x169
/* 023D44 80023144 14200002 */ bnez $at, .L80023150
/* 023D48 80023148 28410170 */ slti $at, $v0, 0x170
/* 023D4C 8002314C 14200008 */ bnez $at, .L80023170
.L80023150:
/* 023D50 80023150 28410174 */ slti $at, $v0, 0x174
/* 023D54 80023154 14200002 */ bnez $at, .L80023160
/* 023D58 80023158 2841017A */ slti $at, $v0, 0x17a
/* 023D5C 8002315C 14200004 */ bnez $at, .L80023170
.L80023160:
/* 023D60 80023160 2841017E */ slti $at, $v0, 0x17e
/* 023D64 80023164 14200015 */ bnez $at, .L800231BC
/* 023D68 80023168 28410184 */ slti $at, $v0, 0x184
/* 023D6C 8002316C 10200013 */ beqz $at, .L800231BC
.L80023170:
/* 023D70 80023170 3C073E99 */ lui $a3, (0x3E99999A >> 16) # lui $a3, 0x3e99
/* 023D74 80023174 34E7999A */ ori $a3, (0x3E99999A & 0xFFFF) # ori $a3, $a3, 0x999a
/* 023D78 80023178 8FA40018 */ lw $a0, 0x18($sp)
/* 023D7C 8002317C 3C06001C */ lui $a2, 0x1c
/* 023D80 80023180 0C008BC5 */ jal func_80022F14
/* 023D84 80023184 A3A5001F */ sb $a1, 0x1f($sp)
/* 023D88 80023188 3C073E99 */ lui $a3, (0x3E99999A >> 16) # lui $a3, 0x3e99
/* 023D8C 8002318C 34E7999A */ ori $a3, (0x3E99999A & 0xFFFF) # ori $a3, $a3, 0x999a
/* 023D90 80023190 8FA40018 */ lw $a0, 0x18($sp)
/* 023D94 80023194 83A5001F */ lb $a1, 0x1f($sp)
/* 023D98 80023198 0C008C0E */ jal func_80023038
/* 023D9C 8002319C 240600E0 */ li $a2, 224
/* 023DA0 800231A0 83A8001F */ lb $t0, 0x1f($sp)
/* 023DA4 800231A4 3C018016 */ lui $at, %hi(D_80164B80) # 0x8016
/* 023DA8 800231A8 24020001 */ li $v0, 1
/* 023DAC 800231AC 00084880 */ sll $t1, $t0, 2
/* 023DB0 800231B0 00290821 */ addu $at, $at, $t1
/* 023DB4 800231B4 10000004 */ b .L800231C8
/* 023DB8 800231B8 AC204B80 */ sw $zero, %lo(D_80164B80)($at) # 0x4b80
.L800231BC:
/* 023DBC 800231BC 10000002 */ b .L800231C8
/* 023DC0 800231C0 00001025 */ move $v0, $zero
.L800231C4:
/* 023DC4 800231C4 00001025 */ move $v0, $zero
.L800231C8:
/* 023DC8 800231C8 8FBF0014 */ lw $ra, 0x14($sp)
/* 023DCC 800231CC 27BD0018 */ addiu $sp, $sp, 0x18
/* 023DD0 800231D0 03E00008 */ jr $ra
/* 023DD4 800231D4 00000000 */ nop
glabel func_800231D8
/* 023DD8 800231D8 3C02800E */ lui $v0, %hi(gCurrentCourseId) # $v0, 0x800e
/* 023DDC 800231DC 8442C5A0 */ lh $v0, %lo(gCurrentCourseId)($v0)
/* 023DE0 800231E0 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 023DE4 800231E4 AFA5001C */ sw $a1, 0x1c($sp)
/* 023DE8 800231E8 00057600 */ sll $t6, $a1, 0x18
/* 023DEC 800231EC 24010002 */ li $at, 2
/* 023DF0 800231F0 000E2E03 */ sra $a1, $t6, 0x18
/* 023DF4 800231F4 10410006 */ beq $v0, $at, .L80023210
/* 023DF8 800231F8 AFBF0014 */ sw $ra, 0x14($sp)
/* 023DFC 800231FC 24010003 */ li $at, 3
/* 023E00 80023200 10410067 */ beq $v0, $at, .L800233A0
/* 023E04 80023204 00056840 */ sll $t5, $a1, 1
/* 023E08 80023208 100000D4 */ b .L8002355C
/* 023E0C 8002320C 00003025 */ move $a2, $zero
.L80023210:
/* 023E10 80023210 0005C040 */ sll $t8, $a1, 1
/* 023E14 80023214 3C028016 */ lui $v0, %hi(D_80164438) # 0x8016
/* 023E18 80023218 00581021 */ addu $v0, $v0, $t8
/* 023E1C 8002321C 94424438 */ lhu $v0, %lo(D_80164438)($v0) # 0x4438
/* 023E20 80023220 28410015 */ slti $at, $v0, 0x15
/* 023E24 80023224 14200002 */ bnez $at, .L80023230
/* 023E28 80023228 2841002A */ slti $at, $v0, 0x2a
/* 023E2C 8002322C 1420000F */ bnez $at, .L8002326C
.L80023230:
/* 023E30 80023230 2841014D */ slti $at, $v0, 0x14d
/* 023E34 80023234 14200002 */ bnez $at, .L80023240
/* 023E38 80023238 2841015C */ slti $at, $v0, 0x15c
/* 023E3C 8002323C 1420000B */ bnez $at, .L8002326C
.L80023240:
/* 023E40 80023240 284101D1 */ slti $at, $v0, 0x1d1
/* 023E44 80023244 14200002 */ bnez $at, .L80023250
/* 023E48 80023248 284101E4 */ slti $at, $v0, 0x1e4
/* 023E4C 8002324C 14200007 */ bnez $at, .L8002326C
.L80023250:
/* 023E50 80023250 3C0143FA */ li $at, 0x43FA0000 # 500.000000
/* 023E54 80023254 44813000 */ mtc1 $at, $f6
/* 023E58 80023258 C4840124 */ lwc1 $f4, 0x124($a0)
/* 023E5C 8002325C 284100F1 */ slti $at, $v0, 0xf1
/* 023E60 80023260 4604303E */ c.le.s $f6, $f4
/* 023E64 80023264 00000000 */ nop
/* 023E68 80023268 45000012 */ bc1f .L800232B4
.L8002326C:
/* 023E6C 8002326C 3C073E99 */ lui $a3, (0x3E99999A >> 16) # lui $a3, 0x3e99
/* 023E70 80023270 34E7999A */ ori $a3, (0x3E99999A & 0xFFFF) # ori $a3, $a3, 0x999a
/* 023E74 80023274 3C060034 */ lui $a2, 0x34
/* 023E78 80023278 AFA40018 */ sw $a0, 0x18($sp)
/* 023E7C 8002327C 0C008BC5 */ jal func_80022F14
/* 023E80 80023280 A3A5001F */ sb $a1, 0x1f($sp)
/* 023E84 80023284 3C073E99 */ lui $a3, (0x3E99999A >> 16) # lui $a3, 0x3e99
/* 023E88 80023288 8FA40018 */ lw $a0, 0x18($sp)
/* 023E8C 8002328C 34E7999A */ ori $a3, (0x3E99999A & 0xFFFF) # ori $a3, $a3, 0x999a
/* 023E90 80023290 83A5001F */ lb $a1, 0x1f($sp)
/* 023E94 80023294 0C008C0E */ jal func_80023038
/* 023E98 80023298 24064040 */ li $a2, 16448
/* 023E9C 8002329C 83B9001F */ lb $t9, 0x1f($sp)
/* 023EA0 800232A0 3C018016 */ lui $at, %hi(D_80164B80) # 0x8016
/* 023EA4 800232A4 00194080 */ sll $t0, $t9, 2
/* 023EA8 800232A8 00280821 */ addu $at, $at, $t0
/* 023EAC 800232AC 100000BB */ b .L8002359C
/* 023EB0 800232B0 AC204B80 */ sw $zero, %lo(D_80164B80)($at) # 0x4b80
.L800232B4:
/* 023EB4 800232B4 14200002 */ bnez $at, .L800232C0
/* 023EB8 800232B8 284100F5 */ slti $at, $v0, 0xf5
/* 023EBC 800232BC 14200015 */ bnez $at, .L80023314
.L800232C0:
/* 023EC0 800232C0 284100FB */ slti $at, $v0, 0xfb
/* 023EC4 800232C4 14200002 */ bnez $at, .L800232D0
/* 023EC8 800232C8 284100FF */ slti $at, $v0, 0xff
/* 023ECC 800232CC 14200011 */ bnez $at, .L80023314
.L800232D0:
/* 023ED0 800232D0 28410105 */ slti $at, $v0, 0x105
/* 023ED4 800232D4 14200002 */ bnez $at, .L800232E0
/* 023ED8 800232D8 28410109 */ slti $at, $v0, 0x109
/* 023EDC 800232DC 1420000D */ bnez $at, .L80023314
.L800232E0:
/* 023EE0 800232E0 2841010F */ slti $at, $v0, 0x10f
/* 023EE4 800232E4 14200002 */ bnez $at, .L800232F0
/* 023EE8 800232E8 28410113 */ slti $at, $v0, 0x113
/* 023EEC 800232EC 14200009 */ bnez $at, .L80023314
.L800232F0:
/* 023EF0 800232F0 28410145 */ slti $at, $v0, 0x145
/* 023EF4 800232F4 14200002 */ bnez $at, .L80023300
/* 023EF8 800232F8 2841014A */ slti $at, $v0, 0x14a
/* 023EFC 800232FC 14200005 */ bnez $at, .L80023314
.L80023300:
/* 023F00 80023300 2841015E */ slti $at, $v0, 0x15e
/* 023F04 80023304 14200015 */ bnez $at, .L8002335C
/* 023F08 80023308 00003025 */ move $a2, $zero
/* 023F0C 8002330C 28410163 */ slti $at, $v0, 0x163
/* 023F10 80023310 10200012 */ beqz $at, .L8002335C
.L80023314:
/* 023F14 80023314 3C073E99 */ lui $a3, (0x3E99999A >> 16) # lui $a3, 0x3e99
/* 023F18 80023318 34E7999A */ ori $a3, (0x3E99999A & 0xFFFF) # ori $a3, $a3, 0x999a
/* 023F1C 8002331C 3C06001C */ lui $a2, 0x1c
/* 023F20 80023320 AFA40018 */ sw $a0, 0x18($sp)
/* 023F24 80023324 0C008BC5 */ jal func_80022F14
/* 023F28 80023328 A3A5001F */ sb $a1, 0x1f($sp)
/* 023F2C 8002332C 3C073E99 */ lui $a3, (0x3E99999A >> 16) # lui $a3, 0x3e99
/* 023F30 80023330 8FA40018 */ lw $a0, 0x18($sp)
/* 023F34 80023334 34E7999A */ ori $a3, (0x3E99999A & 0xFFFF) # ori $a3, $a3, 0x999a
/* 023F38 80023338 83A5001F */ lb $a1, 0x1f($sp)
/* 023F3C 8002333C 0C008C0E */ jal func_80023038
/* 023F40 80023340 240600E0 */ li $a2, 224
/* 023F44 80023344 83A9001F */ lb $t1, 0x1f($sp)
/* 023F48 80023348 3C018016 */ lui $at, %hi(D_80164B80) # 0x8016
/* 023F4C 8002334C 00095080 */ sll $t2, $t1, 2
/* 023F50 80023350 002A0821 */ addu $at, $at, $t2
/* 023F54 80023354 10000091 */ b .L8002359C
/* 023F58 80023358 AC204B80 */ sw $zero, %lo(D_80164B80)($at) # 0x4b80($at)
.L8002335C:
/* 023F5C 8002335C 3C073E99 */ lui $a3, (0x3E99999A >> 16) # lui $a3, 0x3e99
/* 023F60 80023360 34E7999A */ ori $a3, (0x3E99999A & 0xFFFF) # ori $a3, $a3, 0x999a
/* 023F64 80023364 AFA40018 */ sw $a0, 0x18($sp)
/* 023F68 80023368 0C008BC5 */ jal func_80022F14
/* 023F6C 8002336C A3A5001F */ sb $a1, 0x1f($sp)
/* 023F70 80023370 3C073E99 */ lui $a3, (0x3E99999A >> 16) # lui $a3, 0x3e99
/* 023F74 80023374 8FA40018 */ lw $a0, 0x18($sp)
/* 023F78 80023378 34E7999A */ ori $a3, (0x3E99999A & 0xFFFF) # ori $a3, $a3, 0x999a
/* 023F7C 8002337C 83A5001F */ lb $a1, 0x1f($sp)
/* 023F80 80023380 0C008C0E */ jal func_80023038
/* 023F84 80023384 00003025 */ move $a2, $zero
/* 023F88 80023388 83AB001F */ lb $t3, 0x1f($sp)
/* 023F8C 8002338C 3C018016 */ lui $at, %hi(D_80164B80) # 0x8016
/* 023F90 80023390 000B6080 */ sll $t4, $t3, 2
/* 023F94 80023394 002C0821 */ addu $at, $at, $t4
/* 023F98 80023398 10000080 */ b .L8002359C
/* 023F9C 8002339C AC204B80 */ sw $zero, %lo(D_80164B80)($at) # 0x4b80
.L800233A0:
/* 023FA0 800233A0 3C028016 */ lui $v0, %hi(D_80164438) # 0x8016
/* 023FA4 800233A4 004D1021 */ addu $v0, $v0, $t5
/* 023FA8 800233A8 94424438 */ lhu $v0, %lo(D_80164438)($v0) # 0x4438
/* 023FAC 800233AC 2841000D */ slti $at, $v0, 0xd
/* 023FB0 800233B0 14200002 */ bnez $at, .L800233BC
/* 023FB4 800233B4 28410015 */ slti $at, $v0, 0x15
/* 023FB8 800233B8 14200045 */ bnez $at, .L800234D0
.L800233BC:
/* 023FBC 800233BC 28410029 */ slti $at, $v0, 0x29
/* 023FC0 800233C0 14200002 */ bnez $at, .L800233CC
/* 023FC4 800233C4 28410039 */ slti $at, $v0, 0x39
/* 023FC8 800233C8 14200041 */ bnez $at, .L800234D0
.L800233CC:
/* 023FCC 800233CC 28410046 */ slti $at, $v0, 0x46
/* 023FD0 800233D0 14200002 */ bnez $at, .L800233DC
/* 023FD4 800233D4 2841004E */ slti $at, $v0, 0x4e
/* 023FD8 800233D8 1420003D */ bnez $at, .L800234D0
.L800233DC:
/* 023FDC 800233DC 2841005F */ slti $at, $v0, 0x5f
/* 023FE0 800233E0 14200002 */ bnez $at, .L800233EC
/* 023FE4 800233E4 28410067 */ slti $at, $v0, 0x67
/* 023FE8 800233E8 14200039 */ bnez $at, .L800234D0
.L800233EC:
/* 023FEC 800233EC 2841007B */ slti $at, $v0, 0x7b
/* 023FF0 800233F0 14200002 */ bnez $at, .L800233FC
/* 023FF4 800233F4 28410086 */ slti $at, $v0, 0x86
/* 023FF8 800233F8 14200035 */ bnez $at, .L800234D0
.L800233FC:
/* 023FFC 800233FC 2841009D */ slti $at, $v0, 0x9d
/* 024000 80023400 14200002 */ bnez $at, .L8002340C
/* 024004 80023404 284100A6 */ slti $at, $v0, 0xa6
/* 024008 80023408 14200031 */ bnez $at, .L800234D0
.L8002340C:
/* 02400C 8002340C 284100B9 */ slti $at, $v0, 0xb9
/* 024010 80023410 14200002 */ bnez $at, .L8002341C
/* 024014 80023414 284100C3 */ slti $at, $v0, 0xc3
/* 024018 80023418 1420002D */ bnez $at, .L800234D0
.L8002341C:
/* 02401C 8002341C 284100B9 */ slti $at, $v0, 0xb9
/* 024020 80023420 14200002 */ bnez $at, .L8002342C
/* 024024 80023424 284100C3 */ slti $at, $v0, 0xc3
/* 024028 80023428 14200029 */ bnez $at, .L800234D0
.L8002342C:
/* 02402C 8002342C 284100D7 */ slti $at, $v0, 0xd7
/* 024030 80023430 14200002 */ bnez $at, .L8002343C
/* 024034 80023434 284100E1 */ slti $at, $v0, 0xe1
/* 024038 80023438 14200025 */ bnez $at, .L800234D0
.L8002343C:
/* 02403C 8002343C 2841010E */ slti $at, $v0, 0x10e
/* 024040 80023440 14200002 */ bnez $at, .L8002344C
/* 024044 80023444 28410119 */ slti $at, $v0, 0x119
/* 024048 80023448 14200021 */ bnez $at, .L800234D0
.L8002344C:
/* 02404C 8002344C 28410154 */ slti $at, $v0, 0x154
/* 024050 80023450 14200002 */ bnez $at, .L8002345C
/* 024054 80023454 2841015F */ slti $at, $v0, 0x15f
/* 024058 80023458 1420001D */ bnez $at, .L800234D0
.L8002345C:
/* 02405C 8002345C 284101EF */ slti $at, $v0, 0x1ef
/* 024060 80023460 14200002 */ bnez $at, .L8002346C
/* 024064 80023464 284101F7 */ slti $at, $v0, 0x1f7
/* 024068 80023468 14200019 */ bnez $at, .L800234D0
.L8002346C:
/* 02406C 8002346C 28410202 */ slti $at, $v0, 0x202
/* 024070 80023470 14200002 */ bnez $at, .L8002347C
/* 024074 80023474 28410209 */ slti $at, $v0, 0x209
/* 024078 80023478 14200015 */ bnez $at, .L800234D0
.L8002347C:
/* 02407C 8002347C 28410216 */ slti $at, $v0, 0x216
/* 024080 80023480 14200002 */ bnez $at, .L8002348C
/* 024084 80023484 2841021D */ slti $at, $v0, 0x21d
/* 024088 80023488 14200011 */ bnez $at, .L800234D0
.L8002348C:
/* 02408C 8002348C 28410230 */ slti $at, $v0, 0x230
/* 024090 80023490 14200002 */ bnez $at, .L8002349C
/* 024094 80023494 2841023A */ slti $at, $v0, 0x23a
/* 024098 80023498 1420000D */ bnez $at, .L800234D0
.L8002349C:
/* 02409C 8002349C 2841024C */ slti $at, $v0, 0x24c
/* 0240A0 800234A0 14200002 */ bnez $at, .L800234AC
/* 0240A4 800234A4 28410256 */ slti $at, $v0, 0x256
/* 0240A8 800234A8 14200009 */ bnez $at, .L800234D0
.L800234AC:
/* 0240AC 800234AC 28410288 */ slti $at, $v0, 0x288
/* 0240B0 800234B0 14200002 */ bnez $at, .L800234BC
/* 0240B4 800234B4 28410269 */ slti $at, $v0, 0x269
/* 0240B8 800234B8 14200005 */ bnez $at, .L800234D0
.L800234BC:
/* 0240BC 800234BC 28410274 */ slti $at, $v0, 0x274
/* 0240C0 800234C0 14200015 */ bnez $at, .L80023518
/* 0240C4 800234C4 00003025 */ move $a2, $zero
/* 0240C8 800234C8 2841027E */ slti $at, $v0, 0x27e
/* 0240CC 800234CC 10200012 */ beqz $at, .L80023518
.L800234D0:
/* 0240D0 800234D0 3C073E99 */ lui $a3, (0x3E99999A >> 16) # lui $a3, 0x3e99
/* 0240D4 800234D4 34E7999A */ ori $a3, (0x3E99999A & 0xFFFF) # ori $a3, $a3, 0x999a
/* 0240D8 800234D8 3C06001C */ lui $a2, 0x1c
/* 0240DC 800234DC AFA40018 */ sw $a0, 0x18($sp)
/* 0240E0 800234E0 0C008BC5 */ jal func_80022F14
/* 0240E4 800234E4 A3A5001F */ sb $a1, 0x1f($sp)
/* 0240E8 800234E8 3C073E99 */ lui $a3, (0x3E99999A >> 16) # lui $a3, 0x3e99
/* 0240EC 800234EC 8FA40018 */ lw $a0, 0x18($sp)
/* 0240F0 800234F0 34E7999A */ ori $a3, (0x3E99999A & 0xFFFF) # ori $a3, $a3, 0x999a
/* 0240F4 800234F4 83A5001F */ lb $a1, 0x1f($sp)
/* 0240F8 800234F8 0C008C0E */ jal func_80023038
/* 0240FC 800234FC 240600E0 */ li $a2, 224
/* 024100 80023500 83AE001F */ lb $t6, 0x1f($sp)
/* 024104 80023504 3C018016 */ lui $at, %hi(D_80164B80) # 0x8016
/* 024108 80023508 000E7880 */ sll $t7, $t6, 2
/* 02410C 8002350C 002F0821 */ addu $at, $at, $t7
/* 024110 80023510 10000022 */ b .L8002359C
/* 024114 80023514 AC204B80 */ sw $zero, %lo(D_80164B80)($at) # 0x4b80
.L80023518:
/* 024118 80023518 3C073E99 */ lui $a3, (0x3E99999A >> 16) # lui $a3, 0x3e99
/* 02411C 8002351C 34E7999A */ ori $a3, (0x3E99999A & 0xFFFF) # ori $a3, $a3, 0x999a
/* 024120 80023520 AFA40018 */ sw $a0, 0x18($sp)
/* 024124 80023524 0C008BC5 */ jal func_80022F14
/* 024128 80023528 A3A5001F */ sb $a1, 0x1f($sp)
/* 02412C 8002352C 3C073E99 */ lui $a3, (0x3E99999A >> 16) # lui $a3, 0x3e99
/* 024130 80023530 8FA40018 */ lw $a0, 0x18($sp)
/* 024134 80023534 34E7999A */ ori $a3, (0x3E99999A & 0xFFFF) # ori $a3, $a3, 0x999a
/* 024138 80023538 83A5001F */ lb $a1, 0x1f($sp)
/* 02413C 8002353C 0C008C0E */ jal func_80023038
/* 024140 80023540 00003025 */ move $a2, $zero
/* 024144 80023544 83B8001F */ lb $t8, 0x1f($sp)
/* 024148 80023548 3C018016 */ lui $at, %hi(D_80164B80) # 0x8016
/* 02414C 8002354C 0018C880 */ sll $t9, $t8, 2
/* 024150 80023550 00390821 */ addu $at, $at, $t9
/* 024154 80023554 10000011 */ b .L8002359C
/* 024158 80023558 AC204B80 */ sw $zero, %lo(D_80164B80)($at) # 0x4b80
.L8002355C:
/* 02415C 8002355C 3C073E99 */ lui $a3, (0x3E99999A >> 16) # lui $a3, 0x3e99
/* 024160 80023560 34E7999A */ ori $a3, (0x3E99999A & 0xFFFF) # ori $a3, $a3, 0x999a
/* 024164 80023564 AFA40018 */ sw $a0, 0x18($sp)
/* 024168 80023568 0C008BC5 */ jal func_80022F14
/* 02416C 8002356C A3A5001F */ sb $a1, 0x1f($sp)
/* 024170 80023570 3C073E99 */ lui $a3, (0x3E99999A >> 16) # lui $a3, 0x3e99
/* 024174 80023574 8FA40018 */ lw $a0, 0x18($sp)
/* 024178 80023578 34E7999A */ ori $a3, (0x3E99999A & 0xFFFF) # ori $a3, $a3, 0x999a
/* 02417C 8002357C 83A5001F */ lb $a1, 0x1f($sp)
/* 024180 80023580 0C008C0E */ jal func_80023038
/* 024184 80023584 00003025 */ move $a2, $zero
/* 024188 80023588 83A8001F */ lb $t0, 0x1f($sp)
/* 02418C 8002358C 3C018016 */ lui $at, %hi(D_80164B80) # 0x8016
/* 024190 80023590 00084880 */ sll $t1, $t0, 2
/* 024194 80023594 00290821 */ addu $at, $at, $t1
/* 024198 80023598 AC204B80 */ sw $zero, %lo(D_80164B80)($at) # 0x4b80
.L8002359C:
/* 02419C 8002359C 8FBF0014 */ lw $ra, 0x14($sp)
/* 0241A0 800235A0 27BD0018 */ addiu $sp, $sp, 0x18
/* 0241A4 800235A4 03E00008 */ jr $ra
/* 0241A8 800235A8 00000000 */ nop
glabel func_800235AC
/* 0241AC 800235AC 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 0241B0 800235B0 AFBF001C */ sw $ra, 0x1c($sp)
/* 0241B4 800235B4 AFB10018 */ sw $s1, 0x18($sp)
/* 0241B8 800235B8 AFB00014 */ sw $s0, 0x14($sp)
/* 0241BC 800235BC AFA50034 */ sw $a1, 0x34($sp)
/* 0241C0 800235C0 948F0000 */ lhu $t7, ($a0)
/* 0241C4 800235C4 00058E00 */ sll $s1, $a1, 0x18
/* 0241C8 800235C8 00117603 */ sra $t6, $s1, 0x18
/* 0241CC 800235CC 24010100 */ li $at, 256
/* 0241D0 800235D0 31F80100 */ andi $t8, $t7, 0x100
/* 0241D4 800235D4 01C08825 */ move $s1, $t6
/* 0241D8 800235D8 17010018 */ bne $t8, $at, .L8002363C
/* 0241DC 800235DC 00808025 */ move $s0, $a0
/* 0241E0 800235E0 3C19800E */ lui $t9, %hi(D_800DC4E4) # $t9, 0x800e
/* 0241E4 800235E4 8F39C4E4 */ lw $t9, %lo(D_800DC4E4)($t9)
/* 0241E8 800235E8 000E2E00 */ sll $a1, $t6, 0x18
/* 0241EC 800235EC 00054603 */ sra $t0, $a1, 0x18
/* 0241F0 800235F0 14990012 */ bne $a0, $t9, .L8002363C
/* 0241F4 800235F4 01002825 */ move $a1, $t0
/* 0241F8 800235F8 3C073E99 */ lui $a3, (0x3E99999A >> 16) # lui $a3, 0x3e99
/* 0241FC 800235FC 34E7999A */ ori $a3, (0x3E99999A & 0xFFFF) # ori $a3, $a3, 0x999a
/* 024200 80023600 0C008BC5 */ jal func_80022F14
/* 024204 80023604 3C06001C */ lui $a2, 0x1c
/* 024208 80023608 00112E00 */ sll $a1, $s1, 0x18
/* 02420C 8002360C 00054E03 */ sra $t1, $a1, 0x18
/* 024210 80023610 3C073E99 */ lui $a3, (0x3E99999A >> 16) # lui $a3, 0x3e99
/* 024214 80023614 34E7999A */ ori $a3, (0x3E99999A & 0xFFFF) # ori $a3, $a3, 0x999a
/* 024218 80023618 01202825 */ move $a1, $t1
/* 02421C 8002361C 02002025 */ move $a0, $s0
/* 024220 80023620 0C008C0E */ jal func_80023038
/* 024224 80023624 240600E0 */ li $a2, 224
/* 024228 80023628 00115080 */ sll $t2, $s1, 2
/* 02422C 8002362C 3C018016 */ lui $at, %hi(D_80164B80) # 0x8016
/* 024230 80023630 002A0821 */ addu $at, $at, $t2
/* 024234 80023634 10000169 */ b .L80023BDC
/* 024238 80023638 AC204B80 */ sw $zero, %lo(D_80164B80)($at) # 0x4b80
.L8002363C:
/* 02423C 8002363C 860200CA */ lh $v0, 0xca($s0)
/* 024240 80023640 24040010 */ li $a0, 16
/* 024244 80023644 24010004 */ li $at, 4
/* 024248 80023648 30430010 */ andi $v1, $v0, 0x10
/* 02424C 8002364C 14830014 */ bne $a0, $v1, .L800236A0
/* 024250 80023650 304B0004 */ andi $t3, $v0, 4
/* 024254 80023654 15610012 */ bne $t3, $at, .L800236A0
/* 024258 80023658 00112E00 */ sll $a1, $s1, 0x18
/* 02425C 8002365C 00056603 */ sra $t4, $a1, 0x18
/* 024260 80023660 3C060064 */ lui $a2, (0x00646464 >> 16) # lui $a2, 0x64
/* 024264 80023664 34C66464 */ ori $a2, (0x00646464 & 0xFFFF) # ori $a2, $a2, 0x6464
/* 024268 80023668 01802825 */ move $a1, $t4
/* 02426C 8002366C 02002025 */ move $a0, $s0
/* 024270 80023670 0C008BC5 */ jal func_80022F14
/* 024274 80023674 3C073F00 */ lui $a3, 0x3f00
/* 024278 80023678 00112E00 */ sll $a1, $s1, 0x18
/* 02427C 8002367C 00056E03 */ sra $t5, $a1, 0x18
/* 024280 80023680 3C073DCC */ lui $a3, (0x3DCCCCCD >> 16) # lui $a3, 0x3dcc
/* 024284 80023684 34E7CCCD */ ori $a3, (0x3DCCCCCD & 0xFFFF) # ori $a3, $a3, 0xcccd
/* 024288 80023688 01A02825 */ move $a1, $t5
/* 02428C 8002368C 02002025 */ move $a0, $s0
/* 024290 80023690 0C008C0E */ jal func_80023038
/* 024294 80023694 3C0600FF */ lui $a2, 0xff
/* 024298 80023698 10000151 */ b .L80023BE0
/* 02429C 8002369C 8FBF001C */ lw $ra, 0x1c($sp)
.L800236A0:
/* 0242A0 800236A0 304E0004 */ andi $t6, $v0, 4
/* 0242A4 800236A4 24010004 */ li $at, 4
/* 0242A8 800236A8 15C10010 */ bne $t6, $at, .L800236EC
/* 0242AC 800236AC 00112E00 */ sll $a1, $s1, 0x18
/* 0242B0 800236B0 00057E03 */ sra $t7, $a1, 0x18
/* 0242B4 800236B4 01E02825 */ move $a1, $t7
/* 0242B8 800236B8 02002025 */ move $a0, $s0
/* 0242BC 800236BC 00003025 */ move $a2, $zero
/* 0242C0 800236C0 0C008BC5 */ jal func_80022F14
/* 0242C4 800236C4 3C073F80 */ lui $a3, 0x3f80
/* 0242C8 800236C8 00112E00 */ sll $a1, $s1, 0x18
/* 0242CC 800236CC 0005C603 */ sra $t8, $a1, 0x18
/* 0242D0 800236D0 03002825 */ move $a1, $t8
/* 0242D4 800236D4 02002025 */ move $a0, $s0
/* 0242D8 800236D8 00003025 */ move $a2, $zero
/* 0242DC 800236DC 0C008C0E */ jal func_80023038
/* 0242E0 800236E0 3C073F80 */ lui $a3, 0x3f80
/* 0242E4 800236E4 1000013E */ b .L80023BE0
/* 0242E8 800236E8 8FBF001C */ lw $ra, 0x1c($sp)
.L800236EC:
/* 0242EC 800236EC 14830013 */ bne $a0, $v1, .L8002373C
/* 0242F0 800236F0 30490020 */ andi $t1, $v0, 0x20
/* 0242F4 800236F4 00112E00 */ sll $a1, $s1, 0x18
/* 0242F8 800236F8 0005CE03 */ sra $t9, $a1, 0x18
/* 0242FC 800236FC 3C060064 */ lui $a2, (0x00646464 >> 16) # lui $a2, 0x64
/* 024300 80023700 34C66464 */ ori $a2, (0x00646464 & 0xFFFF) # ori $a2, $a2, 0x6464
/* 024304 80023704 03202825 */ move $a1, $t9
/* 024308 80023708 02002025 */ move $a0, $s0
/* 02430C 8002370C 0C008BC5 */ jal func_80022F14
/* 024310 80023710 3C073F00 */ lui $a3, 0x3f00
/* 024314 80023714 00112E00 */ sll $a1, $s1, 0x18
/* 024318 80023718 00054603 */ sra $t0, $a1, 0x18
/* 02431C 8002371C 3C073DCC */ lui $a3, (0x3DCCCCCD >> 16) # lui $a3, 0x3dcc
/* 024320 80023720 34E7CCCD */ ori $a3, (0x3DCCCCCD & 0xFFFF) # ori $a3, $a3, 0xcccd
/* 024324 80023724 01002825 */ move $a1, $t0
/* 024328 80023728 02002025 */ move $a0, $s0
/* 02432C 8002372C 0C008C0E */ jal func_80023038
/* 024330 80023730 3C0600FF */ lui $a2, 0xff
/* 024334 80023734 1000012A */ b .L80023BE0
/* 024338 80023738 8FBF001C */ lw $ra, 0x1c($sp)
.L8002373C:
/* 02433C 8002373C 24010020 */ li $at, 32
/* 024340 80023740 15210012 */ bne $t1, $at, .L8002378C
/* 024344 80023744 02002025 */ move $a0, $s0
/* 024348 80023748 00112E00 */ sll $a1, $s1, 0x18
/* 02434C 8002374C 00055603 */ sra $t2, $a1, 0x18
/* 024350 80023750 3C073DCC */ lui $a3, (0x3DCCCCCD >> 16) # lui $a3, 0x3dcc
/* 024354 80023754 34E7CCCD */ ori $a3, (0x3DCCCCCD & 0xFFFF) # ori $a3, $a3, 0xcccd
/* 024358 80023758 01402825 */ move $a1, $t2
/* 02435C 8002375C 0C008BC5 */ jal func_80022F14
/* 024360 80023760 00003025 */ move $a2, $zero
/* 024364 80023764 00112E00 */ sll $a1, $s1, 0x18
/* 024368 80023768 00055E03 */ sra $t3, $a1, 0x18
/* 02436C 8002376C 3C073DCC */ lui $a3, (0x3DCCCCCD >> 16) # lui $a3, 0x3dcc
/* 024370 80023770 34E7CCCD */ ori $a3, (0x3DCCCCCD & 0xFFFF) # ori $a3, $a3, 0xcccd
/* 024374 80023774 01602825 */ move $a1, $t3
/* 024378 80023778 02002025 */ move $a0, $s0
/* 02437C 8002377C 0C008C0E */ jal func_80023038
/* 024380 80023780 00003025 */ move $a2, $zero
/* 024384 80023784 10000116 */ b .L80023BE0
/* 024388 80023788 8FBF001C */ lw $ra, 0x1c($sp)
.L8002378C:
/* 02438C 8002378C 8E0200BC */ lw $v0, 0xbc($s0)
/* 024390 80023790 3C034000 */ lui $v1, 0x4000
/* 024394 80023794 00436024 */ and $t4, $v0, $v1
/* 024398 80023798 146C0055 */ bne $v1, $t4, .L800238F0
/* 02439C 8002379C 304E0200 */ andi $t6, $v0, 0x200
/* 0243A0 800237A0 860D00B0 */ lh $t5, 0xb0($s0)
/* 0243A4 800237A4 3C0F8016 */ lui $t7, %hi(D_80164B80) # $t7, 0x8016
/* 0243A8 800237A8 25EF4B80 */ addiu $t7, %lo(D_80164B80) # addiu $t7, $t7, 0x4b80
/* 0243AC 800237AC 29A10078 */ slti $at, $t5, 0x78
/* 0243B0 800237B0 1020004F */ beqz $at, .L800238F0
/* 0243B4 800237B4 00000000 */ nop
/* 0243B8 800237B8 00117080 */ sll $t6, $s1, 2
/* 0243BC 800237BC 01CF1821 */ addu $v1, $t6, $t7
/* 0243C0 800237C0 8C780000 */ lw $t8, ($v1)
/* 0243C4 800237C4 27020005 */ addiu $v0, $t8, 5
/* 0243C8 800237C8 2841001E */ slti $at, $v0, 0x1e
/* 0243CC 800237CC 14200003 */ bnez $at, .L800237DC
/* 0243D0 800237D0 AC620000 */ sw $v0, ($v1)
/* 0243D4 800237D4 AC600000 */ sw $zero, ($v1)
/* 0243D8 800237D8 00001025 */ move $v0, $zero
.L800237DC:
/* 0243DC 800237DC 04400016 */ bltz $v0, .L80023838
/* 0243E0 800237E0 2841000B */ slti $at, $v0, 0xb
/* 0243E4 800237E4 10200014 */ beqz $at, .L80023838
/* 0243E8 800237E8 02002025 */ move $a0, $s0
/* 0243EC 800237EC 00112E00 */ sll $a1, $s1, 0x18
/* 0243F0 800237F0 00054603 */ sra $t0, $a1, 0x18
/* 0243F4 800237F4 3C060080 */ lui $a2, (0x00808080 >> 16) # lui $a2, 0x80
/* 0243F8 800237F8 3C073F4C */ lui $a3, (0x3F4CCCCD >> 16) # lui $a3, 0x3f4c
/* 0243FC 800237FC 34E7CCCD */ ori $a3, (0x3F4CCCCD & 0xFFFF) # ori $a3, $a3, 0xcccd
/* 024400 80023800 34C68080 */ ori $a2, (0x00808080 & 0xFFFF) # ori $a2, $a2, 0x8080
/* 024404 80023804 01002825 */ move $a1, $t0
/* 024408 80023808 0C008BC5 */ jal func_80022F14
/* 02440C 8002380C AFA30024 */ sw $v1, 0x24($sp)
/* 024410 80023810 00112E00 */ sll $a1, $s1, 0x18
/* 024414 80023814 00054E03 */ sra $t1, $a1, 0x18
/* 024418 80023818 3C073F4C */ lui $a3, (0x3F4CCCCD >> 16) # lui $a3, 0x3f4c
/* 02441C 8002381C 34E7CCCD */ ori $a3, (0x3F4CCCCD & 0xFFFF) # ori $a3, $a3, 0xcccd
/* 024420 80023820 01202825 */ move $a1, $t1
/* 024424 80023824 02002025 */ move $a0, $s0
/* 024428 80023828 0C008C0E */ jal func_80023038
/* 02442C 8002382C 00003025 */ move $a2, $zero
/* 024430 80023830 8FA30024 */ lw $v1, 0x24($sp)
/* 024434 80023834 8C620000 */ lw $v0, ($v1)
.L80023838:
/* 024438 80023838 2841000B */ slti $at, $v0, 0xb
/* 02443C 8002383C 14200015 */ bnez $at, .L80023894
/* 024440 80023840 28410015 */ slti $at, $v0, 0x15
/* 024444 80023844 10200013 */ beqz $at, .L80023894
/* 024448 80023848 02002025 */ move $a0, $s0
/* 02444C 8002384C 00112E00 */ sll $a1, $s1, 0x18
/* 024450 80023850 00055603 */ sra $t2, $a1, 0x18
/* 024454 80023854 3C073F4C */ lui $a3, (0x3F4CCCCD >> 16) # lui $a3, 0x3f4c
/* 024458 80023858 34E7CCCD */ ori $a3, (0x3F4CCCCD & 0xFFFF) # ori $a3, $a3, 0xcccd
/* 02445C 8002385C 01402825 */ move $a1, $t2
/* 024460 80023860 24060070 */ li $a2, 112
/* 024464 80023864 0C008BC5 */ jal func_80022F14
/* 024468 80023868 AFA30024 */ sw $v1, 0x24($sp)
/* 02446C 8002386C 00112E00 */ sll $a1, $s1, 0x18
/* 024470 80023870 00055E03 */ sra $t3, $a1, 0x18
/* 024474 80023874 3C073F4C */ lui $a3, (0x3F4CCCCD >> 16) # lui $a3, 0x3f4c
/* 024478 80023878 34E7CCCD */ ori $a3, (0x3F4CCCCD & 0xFFFF) # ori $a3, $a3, 0xcccd
/* 02447C 8002387C 01602825 */ move $a1, $t3
/* 024480 80023880 02002025 */ move $a0, $s0
/* 024484 80023884 0C008C0E */ jal func_80023038
/* 024488 80023888 00003025 */ move $a2, $zero
/* 02448C 8002388C 8FA30024 */ lw $v1, 0x24($sp)
/* 024490 80023890 8C620000 */ lw $v0, ($v1)
.L80023894:
/* 024494 80023894 28410015 */ slti $at, $v0, 0x15
/* 024498 80023898 142000D0 */ bnez $at, .L80023BDC
/* 02449C 8002389C 2841001F */ slti $at, $v0, 0x1f
/* 0244A0 800238A0 102000CE */ beqz $at, .L80023BDC
/* 0244A4 800238A4 02002025 */ move $a0, $s0
/* 0244A8 800238A8 00112E00 */ sll $a1, $s1, 0x18
/* 0244AC 800238AC 00056603 */ sra $t4, $a1, 0x18
/* 0244B0 800238B0 3C06008F */ lui $a2, (0x008F8F00 >> 16) # lui $a2, 0x8f
/* 0244B4 800238B4 3C073F4C */ lui $a3, (0x3F4CCCCD >> 16) # lui $a3, 0x3f4c
/* 0244B8 800238B8 34E7CCCD */ ori $a3, (0x3F4CCCCD & 0xFFFF) # ori $a3, $a3, 0xcccd
/* 0244BC 800238BC 34C68F00 */ ori $a2, (0x008F8F00 & 0xFFFF) # ori $a2, $a2, 0x8f00
/* 0244C0 800238C0 0C008BC5 */ jal func_80022F14
/* 0244C4 800238C4 01802825 */ move $a1, $t4
/* 0244C8 800238C8 00112E00 */ sll $a1, $s1, 0x18
/* 0244CC 800238CC 00056E03 */ sra $t5, $a1, 0x18
/* 0244D0 800238D0 3C073F4C */ lui $a3, (0x3F4CCCCD >> 16) # lui $a3, 0x3f4c
/* 0244D4 800238D4 34E7CCCD */ ori $a3, (0x3F4CCCCD & 0xFFFF) # ori $a3, $a3, 0xcccd
/* 0244D8 800238D8 01A02825 */ move $a1, $t5
/* 0244DC 800238DC 02002025 */ move $a0, $s0
/* 0244E0 800238E0 0C008C0E */ jal func_80023038
/* 0244E4 800238E4 00003025 */ move $a2, $zero
/* 0244E8 800238E8 100000BD */ b .L80023BE0
/* 0244EC 800238EC 8FBF001C */ lw $ra, 0x1c($sp)
.L800238F0:
/* 0244F0 800238F0 11C0007A */ beqz $t6, .L80023ADC
/* 0244F4 800238F4 3C01800E */ lui $at, %hi(gCourseTimer) # $at, 0x800e
/* 0244F8 800238F8 C424C598 */ lwc1 $f4, %lo(gCourseTimer)($at)
/* 0244FC 800238FC 00111080 */ sll $v0, $s1, 2
/* 024500 80023900 3C198019 */ lui $t9, %hi(D_8018D930) # 0x8019
/* 024504 80023904 4600218D */ trunc.w.s $f6, $f4
/* 024508 80023908 0322C821 */ addu $t9, $t9, $v0
/* 02450C 8002390C 8F39D930 */ lw $t9, %lo(D_8018D930)($t9) # -0x26d0
/* 024510 80023910 44183000 */ mfc1 $t8, $f6
/* 024514 80023914 00000000 */ nop
/* 024518 80023918 03191823 */ subu $v1, $t8, $t9
/* 02451C 8002391C 28610009 */ slti $at, $v1, 9
/* 024520 80023920 1020006E */ beqz $at, .L80023ADC
/* 024524 80023924 28610007 */ slti $at, $v1, 7
/* 024528 80023928 14200008 */ bnez $at, .L8002394C
/* 02452C 8002392C 3C0B8016 */ lui $t3, %hi(D_80164B80) # $t3, 0x8016
/* 024530 80023930 3C088016 */ lui $t0, %hi(D_80164B80) # $t0, 0x8016
/* 024534 80023934 25084B80 */ addiu $t0, %lo(D_80164B80) # addiu $t0, $t0, 0x4b80
/* 024538 80023938 00481821 */ addu $v1, $v0, $t0
/* 02453C 8002393C 8C690000 */ lw $t1, ($v1)
/* 024540 80023940 252A000A */ addiu $t2, $t1, 0xa
/* 024544 80023944 10000006 */ b .L80023960
/* 024548 80023948 AC6A0000 */ sw $t2, ($v1)
.L8002394C:
/* 02454C 8002394C 256B4B80 */ addiu $t3, %lo(D_80164B80) # addiu $t3, $t3, 0x4b80
/* 024550 80023950 004B1821 */ addu $v1, $v0, $t3
/* 024554 80023954 8C6C0000 */ lw $t4, ($v1)
/* 024558 80023958 258D0005 */ addiu $t5, $t4, 5
/* 02455C 8002395C AC6D0000 */ sw $t5, ($v1)
.L80023960:
/* 024560 80023960 8C620000 */ lw $v0, ($v1)
/* 024564 80023964 28410028 */ slti $at, $v0, 0x28
/* 024568 80023968 14200003 */ bnez $at, .L80023978
/* 02456C 8002396C 00000000 */ nop
/* 024570 80023970 AC600000 */ sw $zero, ($v1)
/* 024574 80023974 00001025 */ move $v0, $zero
.L80023978:
/* 024578 80023978 04400015 */ bltz $v0, .L800239D0
/* 02457C 8002397C 2841000B */ slti $at, $v0, 0xb
/* 024580 80023980 10200013 */ beqz $at, .L800239D0
/* 024584 80023984 02002025 */ move $a0, $s0
/* 024588 80023988 00112E00 */ sll $a1, $s1, 0x18
/* 02458C 8002398C 00057603 */ sra $t6, $a1, 0x18
/* 024590 80023990 3C073F4C */ lui $a3, (0x3F4CCCCD >> 16) # lui $a3, 0x3f4c
/* 024594 80023994 34E7CCCD */ ori $a3, (0x3F4CCCCD & 0xFFFF) # ori $a3, $a3, 0xcccd
/* 024598 80023998 01C02825 */ move $a1, $t6
/* 02459C 8002399C 24060070 */ li $a2, 112
/* 0245A0 800239A0 0C008BC5 */ jal func_80022F14
/* 0245A4 800239A4 AFA30024 */ sw $v1, 0x24($sp)
/* 0245A8 800239A8 00112E00 */ sll $a1, $s1, 0x18
/* 0245AC 800239AC 00057E03 */ sra $t7, $a1, 0x18
/* 0245B0 800239B0 3C073F4C */ lui $a3, (0x3F4CCCCD >> 16) # lui $a3, 0x3f4c
/* 0245B4 800239B4 34E7CCCD */ ori $a3, (0x3F4CCCCD & 0xFFFF) # ori $a3, $a3, 0xcccd
/* 0245B8 800239B8 01E02825 */ move $a1, $t7
/* 0245BC 800239BC 02002025 */ move $a0, $s0
/* 0245C0 800239C0 0C008C0E */ jal func_80023038
/* 0245C4 800239C4 00003025 */ move $a2, $zero
/* 0245C8 800239C8 8FA30024 */ lw $v1, 0x24($sp)
/* 0245CC 800239CC 8C620000 */ lw $v0, ($v1)
.L800239D0:
/* 0245D0 800239D0 2841000B */ slti $at, $v0, 0xb
/* 0245D4 800239D4 14200016 */ bnez $at, .L80023A30
/* 0245D8 800239D8 28410015 */ slti $at, $v0, 0x15
/* 0245DC 800239DC 10200014 */ beqz $at, .L80023A30
/* 0245E0 800239E0 02002025 */ move $a0, $s0
/* 0245E4 800239E4 00112E00 */ sll $a1, $s1, 0x18
/* 0245E8 800239E8 0005C603 */ sra $t8, $a1, 0x18
/* 0245EC 800239EC 3C060070 */ lui $a2, (0x00707000 >> 16) # lui $a2, 0x70
/* 0245F0 800239F0 3C073F4C */ lui $a3, (0x3F4CCCCD >> 16) # lui $a3, 0x3f4c
/* 0245F4 800239F4 34E7CCCD */ ori $a3, (0x3F4CCCCD & 0xFFFF) # ori $a3, $a3, 0xcccd
/* 0245F8 800239F8 34C67000 */ ori $a2, (0x00707000 & 0xFFFF) # ori $a2, $a2, 0x7000
/* 0245FC 800239FC 03002825 */ move $a1, $t8
/* 024600 80023A00 0C008BC5 */ jal func_80022F14
/* 024604 80023A04 AFA30024 */ sw $v1, 0x24($sp)
/* 024608 80023A08 00112E00 */ sll $a1, $s1, 0x18
/* 02460C 80023A0C 0005CE03 */ sra $t9, $a1, 0x18
/* 024610 80023A10 3C073F4C */ lui $a3, (0x3F4CCCCD >> 16) # lui $a3, 0x3f4c
/* 024614 80023A14 34E7CCCD */ ori $a3, (0x3F4CCCCD & 0xFFFF) # ori $a3, $a3, 0xcccd
/* 024618 80023A18 03202825 */ move $a1, $t9
/* 02461C 80023A1C 02002025 */ move $a0, $s0
/* 024620 80023A20 0C008C0E */ jal func_80023038
/* 024624 80023A24 00003025 */ move $a2, $zero
/* 024628 80023A28 8FA30024 */ lw $v1, 0x24($sp)
/* 02462C 80023A2C 8C620000 */ lw $v0, ($v1)
.L80023A30:
/* 024630 80023A30 28410015 */ slti $at, $v0, 0x15
/* 024634 80023A34 14200015 */ bnez $at, .L80023A8C
/* 024638 80023A38 2841001F */ slti $at, $v0, 0x1f
/* 02463C 80023A3C 10200013 */ beqz $at, .L80023A8C
/* 024640 80023A40 02002025 */ move $a0, $s0
/* 024644 80023A44 00112E00 */ sll $a1, $s1, 0x18
/* 024648 80023A48 00054603 */ sra $t0, $a1, 0x18
/* 02464C 80023A4C 3C073F4C */ lui $a3, (0x3F4CCCCD >> 16) # lui $a3, 0x3f4c
/* 024650 80023A50 34E7CCCD */ ori $a3, (0x3F4CCCCD & 0xFFFF) # ori $a3, $a3, 0xcccd
/* 024654 80023A54 01002825 */ move $a1, $t0
/* 024658 80023A58 3C060070 */ lui $a2, 0x70
/* 02465C 80023A5C 0C008BC5 */ jal func_80022F14
/* 024660 80023A60 AFA30024 */ sw $v1, 0x24($sp)
/* 024664 80023A64 00112E00 */ sll $a1, $s1, 0x18
/* 024668 80023A68 00054E03 */ sra $t1, $a1, 0x18
/* 02466C 80023A6C 3C073F4C */ lui $a3, (0x3F4CCCCD >> 16) # lui $a3, 0x3f4c
/* 024670 80023A70 34E7CCCD */ ori $a3, (0x3F4CCCCD & 0xFFFF) # ori $a3, $a3, 0xcccd
/* 024674 80023A74 01202825 */ move $a1, $t1
/* 024678 80023A78 02002025 */ move $a0, $s0
/* 02467C 80023A7C 0C008C0E */ jal func_80023038
/* 024680 80023A80 00003025 */ move $a2, $zero
/* 024684 80023A84 8FA30024 */ lw $v1, 0x24($sp)
/* 024688 80023A88 8C620000 */ lw $v0, ($v1)
.L80023A8C:
/* 02468C 80023A8C 2841001F */ slti $at, $v0, 0x1f
/* 024690 80023A90 14200052 */ bnez $at, .L80023BDC
/* 024694 80023A94 02002025 */ move $a0, $s0
/* 024698 80023A98 00112E00 */ sll $a1, $s1, 0x18
/* 02469C 80023A9C 00055603 */ sra $t2, $a1, 0x18
/* 0246A0 80023AA0 3C073F4C */ lui $a3, (0x3F4CCCCD >> 16) # lui $a3, 0x3f4c
/* 0246A4 80023AA4 34E7CCCD */ ori $a3, (0x3F4CCCCD & 0xFFFF) # ori $a3, $a3, 0xcccd
/* 0246A8 80023AA8 01402825 */ move $a1, $t2
/* 0246AC 80023AAC 0C008BC5 */ jal func_80022F14
/* 0246B0 80023AB0 24067000 */ li $a2, 28672
/* 0246B4 80023AB4 00112E00 */ sll $a1, $s1, 0x18
/* 0246B8 80023AB8 00055E03 */ sra $t3, $a1, 0x18
/* 0246BC 80023ABC 3C073F4C */ lui $a3, (0x3F4CCCCD >> 16) # lui $a3, 0x3f4c
/* 0246C0 80023AC0 34E7CCCD */ ori $a3, (0x3F4CCCCD & 0xFFFF) # ori $a3, $a3, 0xcccd
/* 0246C4 80023AC4 01602825 */ move $a1, $t3
/* 0246C8 80023AC8 02002025 */ move $a0, $s0
/* 0246CC 80023ACC 0C008C0E */ jal func_80023038
/* 0246D0 80023AD0 00003025 */ move $a2, $zero
/* 0246D4 80023AD4 10000042 */ b .L80023BE0
/* 0246D8 80023AD8 8FBF001C */ lw $ra, 0x1c($sp)
.L80023ADC:
/* 0246DC 80023ADC 00112E00 */ sll $a1, $s1, 0x18
/* 0246E0 80023AE0 00056603 */ sra $t4, $a1, 0x18
/* 0246E4 80023AE4 01802825 */ move $a1, $t4
/* 0246E8 80023AE8 0C008C39 */ jal func_800230E4
/* 0246EC 80023AEC 02002025 */ move $a0, $s0
/* 0246F0 80023AF0 24030001 */ li $v1, 1
/* 0246F4 80023AF4 5043003A */ beql $v0, $v1, .L80023BE0
/* 0246F8 80023AF8 8FBF001C */ lw $ra, 0x1c($sp)
/* 0246FC 80023AFC 8E0201F4 */ lw $v0, 0x1f4($s0)
/* 024700 80023B00 24010002 */ li $at, 2
/* 024704 80023B04 02002025 */ move $a0, $s0
/* 024708 80023B08 304D0001 */ andi $t5, $v0, 1
/* 02470C 80023B0C 106D0009 */ beq $v1, $t5, .L80023B34
/* 024710 80023B10 304E0002 */ andi $t6, $v0, 2
/* 024714 80023B14 51C10008 */ beql $t6, $at, .L80023B38
/* 024718 80023B18 00112E00 */ sll $a1, $s1, 0x18
/* 02471C 80023B1C 8E0F01AC */ lw $t7, 0x1ac($s0)
/* 024720 80023B20 24010003 */ li $at, 3
/* 024724 80023B24 00112E00 */ sll $a1, $s1, 0x18
/* 024728 80023B28 31F80003 */ andi $t8, $t7, 3
/* 02472C 80023B2C 17010013 */ bne $t8, $at, .L80023B7C
/* 024730 80023B30 00054E03 */ sra $t1, $a1, 0x18
.L80023B34:
/* 024734 80023B34 00112E00 */ sll $a1, $s1, 0x18
.L80023B38:
/* 024738 80023B38 0005CE03 */ sra $t9, $a1, 0x18
/* 02473C 80023B3C 3C073E99 */ lui $a3, (0x3E99999A >> 16) # lui $a3, 0x3e99
/* 024740 80023B40 34E7999A */ ori $a3, (0x3E99999A & 0xFFFF) # ori $a3, $a3, 0x999a
/* 024744 80023B44 03202825 */ move $a1, $t9
/* 024748 80023B48 0C008BC5 */ jal func_80022F14
/* 02474C 80023B4C 00003025 */ move $a2, $zero
/* 024750 80023B50 00112E00 */ sll $a1, $s1, 0x18
/* 024754 80023B54 00054603 */ sra $t0, $a1, 0x18
/* 024758 80023B58 3C06006F */ lui $a2, (0x006F6F6F >> 16) # lui $a2, 0x6f
/* 02475C 80023B5C 3C073E99 */ lui $a3, (0x3E99999A >> 16) # lui $a3, 0x3e99
/* 024760 80023B60 34E7999A */ ori $a3, (0x3E99999A & 0xFFFF) # ori $a3, $a3, 0x999a
/* 024764 80023B64 34C66F6F */ ori $a2, (0x006F6F6F & 0xFFFF) # ori $a2, $a2, 0x6f6f
/* 024768 80023B68 01002825 */ move $a1, $t0
/* 02476C 80023B6C 0C008C0E */ jal func_80023038
/* 024770 80023B70 02002025 */ move $a0, $s0
/* 024774 80023B74 1000001A */ b .L80023BE0
/* 024778 80023B78 8FBF001C */ lw $ra, 0x1c($sp)
.L80023B7C:
/* 02477C 80023B7C 02002025 */ move $a0, $s0
/* 024780 80023B80 0C008C76 */ jal func_800231D8
/* 024784 80023B84 01202825 */ move $a1, $t1
/* 024788 80023B88 860A00CA */ lh $t2, 0xca($s0)
/* 02478C 80023B8C 24011000 */ li $at, 4096
/* 024790 80023B90 02002025 */ move $a0, $s0
/* 024794 80023B94 314B1000 */ andi $t3, $t2, 0x1000
/* 024798 80023B98 15610010 */ bne $t3, $at, .L80023BDC
/* 02479C 80023B9C 00112E00 */ sll $a1, $s1, 0x18
/* 0247A0 80023BA0 00056603 */ sra $t4, $a1, 0x18
/* 0247A4 80023BA4 3C073E99 */ lui $a3, (0x3E99999A >> 16) # lui $a3, 0x3e99
/* 0247A8 80023BA8 34E7999A */ ori $a3, (0x3E99999A & 0xFFFF) # ori $a3, $a3, 0x999a
/* 0247AC 80023BAC 01802825 */ move $a1, $t4
/* 0247B0 80023BB0 0C008BC5 */ jal func_80022F14
/* 0247B4 80023BB4 00003025 */ move $a2, $zero
/* 0247B8 80023BB8 00112E00 */ sll $a1, $s1, 0x18
/* 0247BC 80023BBC 00056E03 */ sra $t5, $a1, 0x18
/* 0247C0 80023BC0 3C0600F0 */ lui $a2, (0x00F0F0F0 >> 16) # lui $a2, 0xf0
/* 0247C4 80023BC4 3C073E99 */ lui $a3, (0x3E99999A >> 16) # lui $a3, 0x3e99
/* 0247C8 80023BC8 34E7999A */ ori $a3, (0x3E99999A & 0xFFFF) # ori $a3, $a3, 0x999a
/* 0247CC 80023BCC 34C6F0F0 */ ori $a2, (0x00F0F0F0 & 0xFFFF) # ori $a2, $a2, 0xf0f0
/* 0247D0 80023BD0 01A02825 */ move $a1, $t5
/* 0247D4 80023BD4 0C008C0E */ jal func_80023038
/* 0247D8 80023BD8 02002025 */ move $a0, $s0
.L80023BDC:
/* 0247DC 80023BDC 8FBF001C */ lw $ra, 0x1c($sp)
.L80023BE0:
/* 0247E0 80023BE0 8FB00014 */ lw $s0, 0x14($sp)
/* 0247E4 80023BE4 8FB10018 */ lw $s1, 0x18($sp)
/* 0247E8 80023BE8 03E00008 */ jr $ra
/* 0247EC 80023BEC 27BD0030 */ addiu $sp, $sp, 0x30
glabel func_80023BF0
/* 0247F0 80023BF0 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 0247F4 80023BF4 AFBF0014 */ sw $ra, 0x14($sp)
/* 0247F8 80023BF8 AFA5001C */ sw $a1, 0x1c($sp)
/* 0247FC 80023BFC AFA60020 */ sw $a2, 0x20($sp)
/* 024800 80023C00 AFA70024 */ sw $a3, 0x24($sp)
/* 024804 80023C04 8C8200BC */ lw $v0, 0xbc($a0)
/* 024808 80023C08 3C030400 */ lui $v1, 0x400
/* 02480C 80023C0C 83A60023 */ lb $a2, 0x23($sp)
/* 024810 80023C10 00437024 */ and $t6, $v0, $v1
/* 024814 80023C14 106E0005 */ beq $v1, $t6, .L80023C2C
/* 024818 80023C18 83A5001F */ lb $a1, 0x1f($sp)
/* 02481C 80023C1C 3C030800 */ lui $v1, 0x800
/* 024820 80023C20 00437824 */ and $t7, $v0, $v1
/* 024824 80023C24 146F0006 */ bne $v1, $t7, .L80023C40
/* 024828 80023C28 83A70027 */ lb $a3, 0x27($sp)
.L80023C2C:
/* 02482C 80023C2C 83A70027 */ lb $a3, 0x27($sp)
/* 024830 80023C30 0C008B2A */ jal func_80022CA8
/* 024834 80023C34 AFA40018 */ sw $a0, 0x18($sp)
/* 024838 80023C38 10000006 */ b .L80023C54
/* 02483C 80023C3C 8FA40018 */ lw $a0, 0x18($sp)
.L80023C40:
/* 024840 80023C40 83A5001F */ lb $a1, 0x1f($sp)
/* 024844 80023C44 83A60023 */ lb $a2, 0x23($sp)
/* 024848 80023C48 0C008BA1 */ jal func_80022E84
/* 02484C 80023C4C AFA40018 */ sw $a0, 0x18($sp)
/* 024850 80023C50 8FA40018 */ lw $a0, 0x18($sp)
.L80023C54:
/* 024854 80023C54 849800CA */ lh $t8, 0xca($a0)
/* 024858 80023C58 24010002 */ li $at, 2
/* 02485C 80023C5C 83A5001F */ lb $a1, 0x1f($sp)
/* 024860 80023C60 33190002 */ andi $t9, $t8, 2
/* 024864 80023C64 17210003 */ bne $t9, $at, .L80023C74
/* 024868 80023C68 83A60023 */ lb $a2, 0x23($sp)
/* 02486C 80023C6C 0C008B58 */ jal func_80022D60
/* 024870 80023C70 83A70027 */ lb $a3, 0x27($sp)
.L80023C74:
/* 024874 80023C74 8FBF0014 */ lw $ra, 0x14($sp)
/* 024878 80023C78 27BD0018 */ addiu $sp, $sp, 0x18
/* 02487C 80023C7C 03E00008 */ jr $ra
/* 024880 80023C80 00000000 */ nop
glabel func_80023C84
/* 024884 80023C84 27BDFEA8 */ addiu $sp, $sp, -0x158
/* 024888 80023C88 AFA60160 */ sw $a2, 0x160($sp)
/* 02488C 80023C8C 83AE0163 */ lb $t6, 0x163($sp)
/* 024890 80023C90 AFBF0024 */ sw $ra, 0x24($sp)
/* 024894 80023C94 AFB10020 */ sw $s1, 0x20($sp)
/* 024898 80023C98 AFB0001C */ sw $s0, 0x1c($sp)
/* 02489C 80023C9C AFA5015C */ sw $a1, 0x15c($sp)
/* 0248A0 80023CA0 000E7840 */ sll $t7, $t6, 1
/* 0248A4 80023CA4 008FC021 */ addu $t8, $a0, $t7
/* 0248A8 80023CA8 87190048 */ lh $t9, 0x48($t8)
/* 0248AC 80023CAC 8482002E */ lh $v0, 0x2e($a0)
/* 0248B0 80023CB0 848300C0 */ lh $v1, 0xc0($a0)
/* 0248B4 80023CB4 00808825 */ move $s1, $a0
/* 0248B8 80023CB8 00597021 */ addu $t6, $v0, $t9
/* 0248BC 80023CBC 01C33821 */ addu $a3, $t6, $v1
/* 0248C0 80023CC0 30EFFFFF */ andi $t7, $a3, 0xffff
/* 0248C4 80023CC4 01E03825 */ move $a3, $t7
/* 0248C8 80023CC8 04E10003 */ bgez $a3, .L80023CD8
/* 0248CC 80023CCC 0007C1C3 */ sra $t8, $a3, 7
/* 0248D0 80023CD0 24E1007F */ addiu $at, $a3, 0x7f
/* 0248D4 80023CD4 0001C1C3 */ sra $t8, $at, 7
.L80023CD8:
/* 0248D8 80023CD8 03007025 */ move $t6, $t8
/* 0248DC 80023CDC 000E81C0 */ sll $s0, $t6, 7
/* 0248E0 80023CE0 00027823 */ negu $t7, $v0
/* 0248E4 80023CE4 3219FFFF */ andi $t9, $s0, 0xffff
/* 0248E8 80023CE8 01E3C023 */ subu $t8, $t7, $v1
/* 0248EC 80023CEC A7B800C0 */ sh $t8, 0xc0($sp)
/* 0248F0 80023CF0 03208025 */ move $s0, $t9
/* 0248F4 80023CF4 0C0AE00E */ jal func_802B8038
/* 0248F8 80023CF8 3324FFFF */ andi $a0, $t9, 0xffff
/* 0248FC 80023CFC 3C014000 */ li $at, 0x40000000 # 2.000000
/* 024900 80023D00 44813000 */ mtc1 $at, $f6
/* 024904 80023D04 46000107 */ neg.s $f4, $f0
/* 024908 80023D08 3204FFFF */ andi $a0, $s0, 0xffff
/* 02490C 80023D0C 46062202 */ mul.s $f8, $f4, $f6
/* 024910 80023D10 0C0AE006 */ jal func_802B8018
/* 024914 80023D14 E7A800B0 */ swc1 $f8, 0xb0($sp)
/* 024918 80023D18 3C014000 */ li $at, 0x40000000 # 2.000000
/* 02491C 80023D1C 44818000 */ mtc1 $at, $f16
/* 024920 80023D20 46000287 */ neg.s $f10, $f0
/* 024924 80023D24 3C030100 */ lui $v1, 0x100
/* 024928 80023D28 46105482 */ mul.s $f18, $f10, $f16
/* 02492C 80023D2C 24050400 */ li $a1, 1024
/* 024930 80023D30 E7B200AC */ swc1 $f18, 0xac($sp)
/* 024934 80023D34 8E2200BC */ lw $v0, 0xbc($s1)
/* 024938 80023D38 00437024 */ and $t6, $v0, $v1
/* 02493C 80023D3C 106E0019 */ beq $v1, $t6, .L80023DA4
/* 024940 80023D40 30430400 */ andi $v1, $v0, 0x400
/* 024944 80023D44 10A30017 */ beq $a1, $v1, .L80023DA4
/* 024948 80023D48 3C040008 */ lui $a0, 8
/* 02494C 80023D4C 00447824 */ and $t7, $v0, $a0
/* 024950 80023D50 108F0014 */ beq $a0, $t7, .L80023DA4
/* 024954 80023D54 3C040080 */ lui $a0, 0x80
/* 024958 80023D58 0044C024 */ and $t8, $v0, $a0
/* 02495C 80023D5C 50980012 */ beql $a0, $t8, .L80023DA8
/* 024960 80023D60 C6240124 */ lwc1 $f4, 0x124($s1)
/* 024964 80023D64 50A30010 */ beql $a1, $v1, .L80023DA8
/* 024968 80023D68 C6240124 */ lwc1 $f4, 0x124($s1)
/* 02496C 80023D6C 863900CA */ lh $t9, 0xca($s1)
/* 024970 80023D70 24010002 */ li $at, 2
/* 024974 80023D74 3C030200 */ lui $v1, 0x200
/* 024978 80023D78 332E0002 */ andi $t6, $t9, 2
/* 02497C 80023D7C 11C10009 */ beq $t6, $at, .L80023DA4
/* 024980 80023D80 00437824 */ and $t7, $v0, $v1
/* 024984 80023D84 106F0007 */ beq $v1, $t7, .L80023DA4
/* 024988 80023D88 3C030001 */ lui $v1, 1
/* 02498C 80023D8C 0043C024 */ and $t8, $v0, $v1
/* 024990 80023D90 10780004 */ beq $v1, $t8, .L80023DA4
/* 024994 80023D94 30590008 */ andi $t9, $v0, 8
/* 024998 80023D98 24010008 */ li $at, 8
/* 02499C 80023D9C 57210059 */ bnel $t9, $at, .L80023F04
/* 0249A0 80023DA0 862F00C4 */ lh $t7, 0xc4($s1)
.L80023DA4:
/* 0249A4 80023DA4 C6240124 */ lwc1 $f4, 0x124($s1)
.L80023DA8:
/* 0249A8 80023DA8 3C01800F */ lui $at, %hi(D_800ED6C8)
/* 0249AC 80023DAC D428D6C8 */ ldc1 $f8, %lo(D_800ED6C8)($at)
/* 0249B0 80023DB0 460021A1 */ cvt.d.s $f6, $f4
/* 0249B4 80023DB4 3C013FF0 */ li $at, 0x3FF00000 # 1.875000
/* 0249B8 80023DB8 46283282 */ mul.d $f10, $f6, $f8
/* 0249BC 80023DBC 44818800 */ mtc1 $at, $f17
/* 0249C0 80023DC0 44808000 */ mtc1 $zero, $f16
/* 0249C4 80023DC4 44800000 */ mtc1 $zero, $f0
/* 0249C8 80023DC8 3C013F80 */ li $at, 0x3F800000 # 1.000000
/* 0249CC 80023DCC 462A8481 */ sub.d $f18, $f16, $f10
/* 0249D0 80023DD0 462090A0 */ cvt.s.d $f2, $f18
/* 0249D4 80023DD4 4600103C */ c.lt.s $f2, $f0
/* 0249D8 80023DD8 00000000 */ nop
/* 0249DC 80023DDC 45020003 */ bc1fl .L80023DEC
/* 0249E0 80023DE0 44810000 */ mtc1 $at, $f0
/* 0249E4 80023DE4 46000086 */ mov.s $f2, $f0
/* 0249E8 80023DE8 44810000 */ mtc1 $at, $f0
.L80023DEC:
/* 0249EC 80023DEC 00000000 */ nop
/* 0249F0 80023DF0 4602003C */ c.lt.s $f0, $f2
/* 0249F4 80023DF4 00000000 */ nop
/* 0249F8 80023DF8 45020003 */ bc1fl .L80023E08
/* 0249FC 80023DFC C6240140 */ lwc1 $f4, 0x140($s1)
/* 024A00 80023E00 46000086 */ mov.s $f2, $f0
/* 024A04 80023E04 C6240140 */ lwc1 $f4, 0x140($s1)
.L80023E08:
/* 024A08 80023E08 97B000C0 */ lhu $s0, 0xc0($sp)
/* 024A0C 80023E0C E7A400B4 */ swc1 $f4, 0xb4($sp)
/* 024A10 80023E10 C6260148 */ lwc1 $f6, 0x148($s1)
/* 024A14 80023E14 02002025 */ move $a0, $s0
/* 024A18 80023E18 E7A600BC */ swc1 $f6, 0xbc($sp)
/* 024A1C 80023E1C C6280144 */ lwc1 $f8, 0x144($s1)
/* 024A20 80023E20 E7A2009C */ swc1 $f2, 0x9c($sp)
/* 024A24 80023E24 0C0AE006 */ jal func_802B8018
/* 024A28 80023E28 E7A800B8 */ swc1 $f8, 0xb8($sp)
/* 024A2C 80023E2C E7A00038 */ swc1 $f0, 0x38($sp)
/* 024A30 80023E30 0C0AE00E */ jal func_802B8038
/* 024A34 80023E34 3204FFFF */ andi $a0, $s0, 0xffff
/* 024A38 80023E38 C7B000B0 */ lwc1 $f16, 0xb0($sp)
/* 024A3C 80023E3C C7AA0038 */ lwc1 $f10, 0x38($sp)
/* 024A40 80023E40 C7A400AC */ lwc1 $f4, 0xac($sp)
/* 024A44 80023E44 3C013F80 */ li $at, 0x3F800000 # 1.000000
/* 024A48 80023E48 460A8482 */ mul.s $f18, $f16, $f10
/* 024A4C 80023E4C C6300014 */ lwc1 $f16, 0x14($s1)
/* 024A50 80023E50 3204FFFF */ andi $a0, $s0, 0xffff
/* 024A54 80023E54 46040182 */ mul.s $f6, $f0, $f4
/* 024A58 80023E58 46123200 */ add.s $f8, $f6, $f18
/* 024A5C 80023E5C 44813000 */ mtc1 $at, $f6
/* 024A60 80023E60 46104280 */ add.s $f10, $f8, $f16
/* 024A64 80023E64 E7AA00CC */ swc1 $f10, 0xcc($sp)
/* 024A68 80023E68 C6240074 */ lwc1 $f4, 0x74($s1)
/* 024A6C 80023E6C 46062480 */ add.s $f18, $f4, $f6
/* 024A70 80023E70 0C0AE00E */ jal func_802B8038
/* 024A74 80023E74 E7B200D0 */ swc1 $f18, 0xd0($sp)
/* 024A78 80023E78 E7A00038 */ swc1 $f0, 0x38($sp)
/* 024A7C 80023E7C 0C0AE006 */ jal func_802B8018
/* 024A80 80023E80 3204FFFF */ andi $a0, $s0, 0xffff
/* 024A84 80023E84 C7A800B0 */ lwc1 $f8, 0xb0($sp)
/* 024A88 80023E88 C7B00038 */ lwc1 $f16, 0x38($sp)
/* 024A8C 80023E8C C7A400AC */ lwc1 $f4, 0xac($sp)
/* 024A90 80023E90 87AE00C0 */ lh $t6, 0xc0($sp)
/* 024A94 80023E94 46104282 */ mul.s $f10, $f8, $f16
/* 024A98 80023E98 C628001C */ lwc1 $f8, 0x1c($s1)
/* 024A9C 80023E9C 3C01800E */ lui $at, %hi(D_800DDBD4)
/* 024AA0 80023EA0 46040182 */ mul.s $f6, $f0, $f4
/* 024AA4 80023EA4 C7A2009C */ lwc1 $f2, 0x9c($sp)
/* 024AA8 80023EA8 27A40118 */ addiu $a0, $sp, 0x118
/* 024AAC 80023EAC 27A500B4 */ addiu $a1, $sp, 0xb4
/* 024AB0 80023EB0 27A600CC */ addiu $a2, $sp, 0xcc
/* 024AB4 80023EB4 46065481 */ sub.s $f18, $f10, $f6
/* 024AB8 80023EB8 46089400 */ add.s $f16, $f18, $f8
/* 024ABC 80023EBC E7B000D4 */ swc1 $f16, 0xd4($sp)
/* 024AC0 80023EC0 862F0042 */ lh $t7, 0x42($s1)
/* 024AC4 80023EC4 96390254 */ lhu $t9, 0x254($s1)
/* 024AC8 80023EC8 C62A0224 */ lwc1 $f10, 0x224($s1)
/* 024ACC 80023ECC 01CF3821 */ addu $a3, $t6, $t7
/* 024AD0 80023ED0 00197080 */ sll $t6, $t9, 2
/* 024AD4 80023ED4 002E0821 */ addu $at, $at, $t6
/* 024AD8 80023ED8 C424DBD4 */ lwc1 $f4, %lo(D_800DDBD4)($at)
/* 024ADC 80023EDC 30F8FFFF */ andi $t8, $a3, 0xffff
/* 024AE0 80023EE0 03003825 */ move $a3, $t8
/* 024AE4 80023EE4 460A2182 */ mul.s $f6, $f4, $f10
/* 024AE8 80023EE8 00000000 */ nop
/* 024AEC 80023EEC 46023482 */ mul.s $f18, $f6, $f2
/* 024AF0 80023EF0 0C010A88 */ jal func_80042A20
/* 024AF4 80023EF4 E7B20010 */ swc1 $f18, 0x10($sp)
/* 024AF8 80023EF8 1000003A */ b .L80023FE4
/* 024AFC 80023EFC 83B90163 */ lb $t9, 0x163($sp)
/* 024B00 80023F00 862F00C4 */ lh $t7, 0xc4($s1)
.L80023F04:
/* 024B04 80023F04 87B800C0 */ lh $t8, 0xc0($sp)
/* 024B08 80023F08 97B000C0 */ lhu $s0, 0xc0($sp)
/* 024B0C 80023F0C A7AF00C4 */ sh $t7, 0xc4($sp)
/* 024B10 80023F10 A7B800C6 */ sh $t8, 0xc6($sp)
/* 024B14 80023F14 86390206 */ lh $t9, 0x206($s1)
/* 024B18 80023F18 02002025 */ move $a0, $s0
/* 024B1C 80023F1C 00197040 */ sll $t6, $t9, 1
/* 024B20 80023F20 0C0AE006 */ jal func_802B8018
/* 024B24 80023F24 A7AE00C8 */ sh $t6, 0xc8($sp)
/* 024B28 80023F28 E7A00038 */ swc1 $f0, 0x38($sp)
/* 024B2C 80023F2C 0C0AE00E */ jal func_802B8038
/* 024B30 80023F30 3204FFFF */ andi $a0, $s0, 0xffff
/* 024B34 80023F34 C7A800B0 */ lwc1 $f8, 0xb0($sp)
/* 024B38 80023F38 C7B00038 */ lwc1 $f16, 0x38($sp)
/* 024B3C 80023F3C C7AA00AC */ lwc1 $f10, 0xac($sp)
/* 024B40 80023F40 3C013F80 */ li $at, 0x3F800000 # 1.000000
/* 024B44 80023F44 46104102 */ mul.s $f4, $f8, $f16
/* 024B48 80023F48 C6280014 */ lwc1 $f8, 0x14($s1)
/* 024B4C 80023F4C 3204FFFF */ andi $a0, $s0, 0xffff
/* 024B50 80023F50 460A0182 */ mul.s $f6, $f0, $f10
/* 024B54 80023F54 46043480 */ add.s $f18, $f6, $f4
/* 024B58 80023F58 44813000 */ mtc1 $at, $f6
/* 024B5C 80023F5C 46089400 */ add.s $f16, $f18, $f8
/* 024B60 80023F60 E7B000CC */ swc1 $f16, 0xcc($sp)
/* 024B64 80023F64 C62A0074 */ lwc1 $f10, 0x74($s1)
/* 024B68 80023F68 46065100 */ add.s $f4, $f10, $f6
/* 024B6C 80023F6C 0C0AE00E */ jal func_802B8038
/* 024B70 80023F70 E7A400D0 */ swc1 $f4, 0xd0($sp)
/* 024B74 80023F74 E7A00038 */ swc1 $f0, 0x38($sp)
/* 024B78 80023F78 0C0AE006 */ jal func_802B8018
/* 024B7C 80023F7C 3204FFFF */ andi $a0, $s0, 0xffff
/* 024B80 80023F80 C7B200B0 */ lwc1 $f18, 0xb0($sp)
/* 024B84 80023F84 C7A80038 */ lwc1 $f8, 0x38($sp)
/* 024B88 80023F88 C7AA00AC */ lwc1 $f10, 0xac($sp)
/* 024B8C 80023F8C 27A40118 */ addiu $a0, $sp, 0x118
/* 024B90 80023F90 46089402 */ mul.s $f16, $f18, $f8
/* 024B94 80023F94 C632001C */ lwc1 $f18, 0x1c($s1)
/* 024B98 80023F98 27A500CC */ addiu $a1, $sp, 0xcc
/* 024B9C 80023F9C 460A0182 */ mul.s $f6, $f0, $f10
/* 024BA0 80023FA0 27A600C4 */ addiu $a2, $sp, 0xc4
/* 024BA4 80023FA4 46068101 */ sub.s $f4, $f16, $f6
/* 024BA8 80023FA8 46122200 */ add.s $f8, $f4, $f18
/* 024BAC 80023FAC 0C008784 */ jal func_80021E10
/* 024BB0 80023FB0 E7A800D4 */ swc1 $f8, 0xd4($sp)
/* 024BB4 80023FB4 962F0254 */ lhu $t7, 0x254($s1)
/* 024BB8 80023FB8 3C01800E */ lui $at, %hi(D_800DDBD4)
/* 024BBC 80023FBC C6300224 */ lwc1 $f16, 0x224($s1)
/* 024BC0 80023FC0 000FC080 */ sll $t8, $t7, 2
/* 024BC4 80023FC4 00380821 */ addu $at, $at, $t8
/* 024BC8 80023FC8 C42ADBD4 */ lwc1 $f10, %lo(D_800DDBD4)($at)
/* 024BCC 80023FCC 27A40118 */ addiu $a0, $sp, 0x118
/* 024BD0 80023FD0 46105182 */ mul.s $f6, $f10, $f16
/* 024BD4 80023FD4 44053000 */ mfc1 $a1, $f6
/* 024BD8 80023FD8 0C0087E1 */ jal func_80021F84
/* 024BDC 80023FDC 00000000 */ nop
/* 024BE0 80023FE0 83B90163 */ lb $t9, 0x163($sp)
.L80023FE4:
/* 024BE4 80023FE4 83B8015F */ lb $t8, 0x15f($sp)
/* 024BE8 80023FE8 3C0F8015 */ lui $t7, %hi(gGfxPool) # $t7, 0x8015
/* 024BEC 80023FEC 8DEFEF40 */ lw $t7, %lo(gGfxPool)($t7)
/* 024BF0 80023FF0 00198240 */ sll $s0, $t9, 9
/* 024BF4 80023FF4 0018C980 */ sll $t9, $t8, 6
/* 024BF8 80023FF8 01F97021 */ addu $t6, $t7, $t9
/* 024BFC 80023FFC 01D02021 */ addu $a0, $t6, $s0
/* 024C00 80024000 3401EAC0 */ li $at, 60096
/* 024C04 80024004 00812021 */ addu $a0, $a0, $at
/* 024C08 80024008 0C008860 */ jal func_80022180
/* 024C0C 8002400C 27A50118 */ addiu $a1, $sp, 0x118
/* 024C10 80024010 3C038015 */ lui $v1, %hi(gDisplayListHead) # $v1, 0x8015
/* 024C14 80024014 24630298 */ addiu $v1, %lo(gDisplayListHead) # addiu $v1, $v1, 0x298
/* 024C18 80024018 8C620000 */ lw $v0, ($v1)
/* 024C1C 8002401C 3C0F0102 */ lui $t7, (0x01020040 >> 16) # lui $t7, 0x102
/* 024C20 80024020 35EF0040 */ ori $t7, (0x01020040 & 0xFFFF) # ori $t7, $t7, 0x40
/* 024C24 80024024 24580008 */ addiu $t8, $v0, 8
/* 024C28 80024028 AC780000 */ sw $t8, ($v1)
/* 024C2C 8002402C AC4F0000 */ sw $t7, ($v0)
/* 024C30 80024030 83AE015F */ lb $t6, 0x15f($sp)
/* 024C34 80024034 3C198015 */ lui $t9, %hi(gGfxPool) # $t9, 0x8015
/* 024C38 80024038 8F39EF40 */ lw $t9, %lo(gGfxPool)($t9)
/* 024C3C 8002403C 000EC180 */ sll $t8, $t6, 6
/* 024C40 80024040 3401EAC0 */ li $at, 60096
/* 024C44 80024044 03387821 */ addu $t7, $t9, $t8
/* 024C48 80024048 01F07021 */ addu $t6, $t7, $s0
/* 024C4C 8002404C 01C1C821 */ addu $t9, $t6, $at
/* 024C50 80024050 3C011FFF */ lui $at, (0x1FFFFFFF >> 16) # lui $at, 0x1fff
/* 024C54 80024054 3421FFFF */ ori $at, (0x1FFFFFFF & 0xFFFF) # ori $at, $at, 0xffff
/* 024C58 80024058 0321C024 */ and $t8, $t9, $at
/* 024C5C 8002405C AC580004 */ sw $t8, 4($v0)
/* 024C60 80024060 8C620000 */ lw $v0, ($v1)
/* 024C64 80024064 3C0E0D01 */ lui $t6, %hi(D_0D008D58) # $t6, 0xd01
/* 024C68 80024068 3C110600 */ lui $s1, 0x600
/* 024C6C 8002406C 244F0008 */ addiu $t7, $v0, 8
/* 024C70 80024070 AC6F0000 */ sw $t7, ($v1)
/* 024C74 80024074 25CE8D58 */ addiu $t6, %lo(D_0D008D58) # addiu $t6, $t6, -0x72a8
/* 024C78 80024078 AC4E0004 */ sw $t6, 4($v0)
/* 024C7C 8002407C AC510000 */ sw $s1, ($v0)
/* 024C80 80024080 8C620000 */ lw $v0, ($v1)
/* 024C84 80024084 3C18BA00 */ lui $t8, (0xBA000E02 >> 16) # lui $t8, 0xba00
/* 024C88 80024088 37180E02 */ ori $t8, (0xBA000E02 & 0xFFFF) # ori $t8, $t8, 0xe02
/* 024C8C 8002408C 24590008 */ addiu $t9, $v0, 8
/* 024C90 80024090 AC790000 */ sw $t9, ($v1)
/* 024C94 80024094 AC400004 */ sw $zero, 4($v0)
/* 024C98 80024098 AC580000 */ sw $t8, ($v0)
/* 024C9C 8002409C 8C620000 */ lw $v0, ($v1)
/* 024CA0 800240A0 3C0EFD90 */ lui $t6, 0xfd90
/* 024CA4 800240A4 3C198019 */ lui $t9, %hi(D_8018D474) # $t9, 0x8019
/* 024CA8 800240A8 244F0008 */ addiu $t7, $v0, 8
/* 024CAC 800240AC AC6F0000 */ sw $t7, ($v1)
/* 024CB0 800240B0 AC4E0000 */ sw $t6, ($v0)
/* 024CB4 800240B4 8F39D474 */ lw $t9, %lo(D_8018D474)($t9)
/* 024CB8 800240B8 3C0E0708 */ lui $t6, (0x07080200 >> 16) # lui $t6, 0x708
/* 024CBC 800240BC 35CE0200 */ ori $t6, (0x07080200 & 0xFFFF) # ori $t6, $t6, 0x200
/* 024CC0 800240C0 AC590004 */ sw $t9, 4($v0)
/* 024CC4 800240C4 8C620000 */ lw $v0, ($v1)
/* 024CC8 800240C8 3C0FF590 */ lui $t7, 0xf590
/* 024CCC 800240CC 00002025 */ move $a0, $zero
/* 024CD0 800240D0 24580008 */ addiu $t8, $v0, 8
/* 024CD4 800240D4 AC780000 */ sw $t8, ($v1)
/* 024CD8 800240D8 AC4E0004 */ sw $t6, 4($v0)
/* 024CDC 800240DC AC4F0000 */ sw $t7, ($v0)
/* 024CE0 800240E0 8C620000 */ lw $v0, ($v1)
/* 024CE4 800240E4 3C18E600 */ lui $t8, 0xe600
/* 024CE8 800240E8 3C0EF300 */ lui $t6, 0xf300
/* 024CEC 800240EC 24590008 */ addiu $t9, $v0, 8
/* 024CF0 800240F0 AC790000 */ sw $t9, ($v1)
/* 024CF4 800240F4 AC400004 */ sw $zero, 4($v0)
/* 024CF8 800240F8 AC580000 */ sw $t8, ($v0)
/* 024CFC 800240FC 8C620000 */ lw $v0, ($v1)
/* 024D00 80024100 3C19073F */ lui $t9, (0x073FF100 >> 16) # lui $t9, 0x73f
/* 024D04 80024104 3739F100 */ ori $t9, (0x073FF100 & 0xFFFF) # ori $t9, $t9, 0xf100
/* 024D08 80024108 244F0008 */ addiu $t7, $v0, 8
/* 024D0C 8002410C AC6F0000 */ sw $t7, ($v1)
/* 024D10 80024110 AC590004 */ sw $t9, 4($v0)
/* 024D14 80024114 AC4E0000 */ sw $t6, ($v0)
/* 024D18 80024118 8C620000 */ lw $v0, ($v1)
/* 024D1C 8002411C 3C0FE700 */ lui $t7, 0xe700
/* 024D20 80024120 3C19F588 */ lui $t9, (0xF5881000 >> 16) # lui $t9, 0xf588
/* 024D24 80024124 24580008 */ addiu $t8, $v0, 8
/* 024D28 80024128 AC780000 */ sw $t8, ($v1)
/* 024D2C 8002412C AC400004 */ sw $zero, 4($v0)
/* 024D30 80024130 AC4F0000 */ sw $t7, ($v0)
/* 024D34 80024134 8C620000 */ lw $v0, ($v1)
/* 024D38 80024138 3C180008 */ lui $t8, (0x00080200 >> 16) # lui $t8, 8
/* 024D3C 8002413C 37180200 */ ori $t8, (0x00080200 & 0xFFFF) # ori $t8, $t8, 0x200
/* 024D40 80024140 244E0008 */ addiu $t6, $v0, 8
/* 024D44 80024144 AC6E0000 */ sw $t6, ($v1)
/* 024D48 80024148 37391000 */ ori $t9, (0xF5881000 & 0xFFFF) # ori $t9, $t9, 0x1000
/* 024D4C 8002414C AC590000 */ sw $t9, ($v0)
/* 024D50 80024150 AC580004 */ sw $t8, 4($v0)
/* 024D54 80024154 8C620000 */ lw $v0, ($v1)
/* 024D58 80024158 3C19000F */ lui $t9, (0x000FC07C >> 16) # lui $t9, 0xf
/* 024D5C 8002415C 3739C07C */ ori $t9, (0x000FC07C & 0xFFFF) # ori $t9, $t9, 0xc07c
/* 024D60 80024160 244F0008 */ addiu $t7, $v0, 8
/* 024D64 80024164 AC6F0000 */ sw $t7, ($v1)
/* 024D68 80024168 3C0EF200 */ lui $t6, 0xf200
/* 024D6C 8002416C 00002825 */ move $a1, $zero
/* 024D70 80024170 00003025 */ move $a2, $zero
/* 024D74 80024174 240700FF */ li $a3, 255
/* 024D78 80024178 AC4E0000 */ sw $t6, ($v0)
/* 024D7C 8002417C 0C012D05 */ jal func_8004B414
/* 024D80 80024180 AC590004 */ sw $t9, 4($v0)
/* 024D84 80024184 3C038015 */ lui $v1, %hi(gDisplayListHead) # $v1, 0x8015
/* 024D88 80024188 24630298 */ addiu $v1, %lo(gDisplayListHead) # addiu $v1, $v1, 0x298
/* 024D8C 8002418C 8C620000 */ lw $v0, ($v1)
/* 024D90 80024190 3C0FB900 */ lui $t7, (0xB900031D >> 16) # lui $t7, 0xb900
/* 024D94 80024194 3C0E0050 */ lui $t6, (0x00504B50 >> 16) # lui $t6, 0x50
/* 024D98 80024198 24580008 */ addiu $t8, $v0, 8
/* 024D9C 8002419C AC780000 */ sw $t8, ($v1)
/* 024DA0 800241A0 35CE4B50 */ ori $t6, (0x00504B50 & 0xFFFF) # ori $t6, $t6, 0x4b50
/* 024DA4 800241A4 35EF031D */ ori $t7, (0xB900031D & 0xFFFF) # ori $t7, $t7, 0x31d
/* 024DA8 800241A8 AC4F0000 */ sw $t7, ($v0)
/* 024DAC 800241AC AC4E0004 */ sw $t6, 4($v0)
/* 024DB0 800241B0 8C620000 */ lw $v0, ($v1)
/* 024DB4 800241B4 3C0F800E */ lui $t7, %hi(D_800E51D0) # $t7, 0x800e
/* 024DB8 800241B8 3C180400 */ lui $t8, (0x0400103F >> 16) # lui $t8, 0x400
/* 024DBC 800241BC 24590008 */ addiu $t9, $v0, 8
/* 024DC0 800241C0 AC790000 */ sw $t9, ($v1)
/* 024DC4 800241C4 3718103F */ ori $t8, (0x0400103F & 0xFFFF) # ori $t8, $t8, 0x103f
/* 024DC8 800241C8 25EF51D0 */ addiu $t7, %lo(D_800E51D0) # addiu $t7, $t7, 0x51d0
/* 024DCC 800241CC AC4F0004 */ sw $t7, 4($v0)
/* 024DD0 800241D0 AC580000 */ sw $t8, ($v0)
/* 024DD4 800241D4 8C620000 */ lw $v0, ($v1)
/* 024DD8 800241D8 3C100D01 */ lui $s0, %hi(D_0D008C78) # $s0, 0xd01
/* 024DDC 800241DC 26108C78 */ addiu $s0, %lo(D_0D008C78) # addiu $s0, $s0, -0x7388
/* 024DE0 800241E0 244E0008 */ addiu $t6, $v0, 8
/* 024DE4 800241E4 AC6E0000 */ sw $t6, ($v1)
/* 024DE8 800241E8 AC500004 */ sw $s0, 4($v0)
/* 024DEC 800241EC AC510000 */ sw $s1, ($v0)
/* 024DF0 800241F0 8C620000 */ lw $v0, ($v1)
/* 024DF4 800241F4 3C18FD90 */ lui $t8, 0xfd90
/* 024DF8 800241F8 3C0F8019 */ lui $t7, %hi(D_8018D474) # $t7, 0x8019
/* 024DFC 800241FC 24590008 */ addiu $t9, $v0, 8
/* 024E00 80024200 AC790000 */ sw $t9, ($v1)
/* 024E04 80024204 AC580000 */ sw $t8, ($v0)
/* 024E08 80024208 8DEFD474 */ lw $t7, %lo(D_8018D474)($t7)
/* 024E0C 8002420C 3C18F590 */ lui $t8, 0xf590
/* 024E10 80024210 00002025 */ move $a0, $zero
/* 024E14 80024214 25EE0800 */ addiu $t6, $t7, 0x800
/* 024E18 80024218 AC4E0004 */ sw $t6, 4($v0)
/* 024E1C 8002421C 8C620000 */ lw $v0, ($v1)
/* 024E20 80024220 3C0F0708 */ lui $t7, (0x07080200 >> 16) # lui $t7, 0x708
/* 024E24 80024224 35EF0200 */ ori $t7, (0x07080200 & 0xFFFF) # ori $t7, $t7, 0x200
/* 024E28 80024228 24590008 */ addiu $t9, $v0, 8
/* 024E2C 8002422C AC790000 */ sw $t9, ($v1)
/* 024E30 80024230 AC4F0004 */ sw $t7, 4($v0)
/* 024E34 80024234 AC580000 */ sw $t8, ($v0)
/* 024E38 80024238 8C620000 */ lw $v0, ($v1)
/* 024E3C 8002423C 3C19E600 */ lui $t9, 0xe600
/* 024E40 80024240 3C0FF300 */ lui $t7, 0xf300
/* 024E44 80024244 244E0008 */ addiu $t6, $v0, 8
/* 024E48 80024248 AC6E0000 */ sw $t6, ($v1)
/* 024E4C 8002424C AC400004 */ sw $zero, 4($v0)
/* 024E50 80024250 AC590000 */ sw $t9, ($v0)
/* 024E54 80024254 8C620000 */ lw $v0, ($v1)
/* 024E58 80024258 3C0E073F */ lui $t6, (0x073FF100 >> 16) # lui $t6, 0x73f
/* 024E5C 8002425C 35CEF100 */ ori $t6, (0x073FF100 & 0xFFFF) # ori $t6, $t6, 0xf100
/* 024E60 80024260 24580008 */ addiu $t8, $v0, 8
/* 024E64 80024264 AC780000 */ sw $t8, ($v1)
/* 024E68 80024268 AC4E0004 */ sw $t6, 4($v0)
/* 024E6C 8002426C AC4F0000 */ sw $t7, ($v0)
/* 024E70 80024270 8C620000 */ lw $v0, ($v1)
/* 024E74 80024274 3C18E700 */ lui $t8, 0xe700
/* 024E78 80024278 3C0EF588 */ lui $t6, (0xF5881000 >> 16) # lui $t6, 0xf588
/* 024E7C 8002427C 24590008 */ addiu $t9, $v0, 8
/* 024E80 80024280 AC790000 */ sw $t9, ($v1)
/* 024E84 80024284 AC400004 */ sw $zero, 4($v0)
/* 024E88 80024288 AC580000 */ sw $t8, ($v0)
/* 024E8C 8002428C 8C620000 */ lw $v0, ($v1)
/* 024E90 80024290 3C190008 */ lui $t9, (0x00080200 >> 16) # lui $t9, 8
/* 024E94 80024294 37390200 */ ori $t9, (0x00080200 & 0xFFFF) # ori $t9, $t9, 0x200
/* 024E98 80024298 244F0008 */ addiu $t7, $v0, 8
/* 024E9C 8002429C AC6F0000 */ sw $t7, ($v1)
/* 024EA0 800242A0 35CE1000 */ ori $t6, (0xF5881000 & 0xFFFF) # ori $t6, $t6, 0x1000
/* 024EA4 800242A4 AC4E0000 */ sw $t6, ($v0)
/* 024EA8 800242A8 AC590004 */ sw $t9, 4($v0)
/* 024EAC 800242AC 8C620000 */ lw $v0, ($v1)
/* 024EB0 800242B0 3C0E000F */ lui $t6, (0x000FC07C >> 16) # lui $t6, 0xf
/* 024EB4 800242B4 35CEC07C */ ori $t6, (0x000FC07C & 0xFFFF) # ori $t6, $t6, 0xc07c
/* 024EB8 800242B8 24580008 */ addiu $t8, $v0, 8
/* 024EBC 800242BC AC780000 */ sw $t8, ($v1)
/* 024EC0 800242C0 3C0FF200 */ lui $t7, 0xf200
/* 024EC4 800242C4 00002825 */ move $a1, $zero
/* 024EC8 800242C8 00003025 */ move $a2, $zero
/* 024ECC 800242CC 240700FF */ li $a3, 255
/* 024ED0 800242D0 AC4F0000 */ sw $t7, ($v0)
/* 024ED4 800242D4 0C012D05 */ jal func_8004B414
/* 024ED8 800242D8 AC4E0004 */ sw $t6, 4($v0)
/* 024EDC 800242DC 3C038015 */ lui $v1, %hi(gDisplayListHead) # $v1, 0x8015
/* 024EE0 800242E0 24630298 */ addiu $v1, %lo(gDisplayListHead) # addiu $v1, $v1, 0x298
/* 024EE4 800242E4 8C620000 */ lw $v0, ($v1)
/* 024EE8 800242E8 3C18B900 */ lui $t8, (0xB900031D >> 16) # lui $t8, 0xb900
/* 024EEC 800242EC 3C0F0050 */ lui $t7, (0x00504B50 >> 16) # lui $t7, 0x50
/* 024EF0 800242F0 24590008 */ addiu $t9, $v0, 8
/* 024EF4 800242F4 AC790000 */ sw $t9, ($v1)
/* 024EF8 800242F8 35EF4B50 */ ori $t7, (0x00504B50 & 0xFFFF) # ori $t7, $t7, 0x4b50
/* 024EFC 800242FC 3718031D */ ori $t8, (0xB900031D & 0xFFFF) # ori $t8, $t8, 0x31d
/* 024F00 80024300 AC580000 */ sw $t8, ($v0)
/* 024F04 80024304 AC4F0004 */ sw $t7, 4($v0)
/* 024F08 80024308 8C620000 */ lw $v0, ($v1)
/* 024F0C 8002430C 3C18800E */ lui $t8, %hi(D_800E5210) # $t8, 0x800e
/* 024F10 80024310 3C190400 */ lui $t9, (0x0400103F >> 16) # lui $t9, 0x400
/* 024F14 80024314 244E0008 */ addiu $t6, $v0, 8
/* 024F18 80024318 AC6E0000 */ sw $t6, ($v1)
/* 024F1C 8002431C 3739103F */ ori $t9, (0x0400103F & 0xFFFF) # ori $t9, $t9, 0x103f
/* 024F20 80024320 27185210 */ addiu $t8, %lo(D_800E5210) # addiu $t8, $t8, 0x5210
/* 024F24 80024324 AC580004 */ sw $t8, 4($v0)
/* 024F28 80024328 AC590000 */ sw $t9, ($v0)
/* 024F2C 8002432C 8C620000 */ lw $v0, ($v1)
/* 024F30 80024330 3C180001 */ lui $t8, (0x00010001 >> 16) # lui $t8, 1
/* 024F34 80024334 37180001 */ ori $t8, (0x00010001 & 0xFFFF) # ori $t8, $t8, 1
/* 024F38 80024338 244F0008 */ addiu $t7, $v0, 8
/* 024F3C 8002433C AC6F0000 */ sw $t7, ($v1)
/* 024F40 80024340 AC500004 */ sw $s0, 4($v0)
/* 024F44 80024344 AC510000 */ sw $s1, ($v0)
/* 024F48 80024348 8C620000 */ lw $v0, ($v1)
/* 024F4C 8002434C 3C19BB00 */ lui $t9, 0xbb00
/* 024F50 80024350 244E0008 */ addiu $t6, $v0, 8
/* 024F54 80024354 AC6E0000 */ sw $t6, ($v1)
/* 024F58 80024358 AC580004 */ sw $t8, 4($v0)
/* 024F5C 8002435C AC590000 */ sw $t9, ($v0)
/* 024F60 80024360 8FBF0024 */ lw $ra, 0x24($sp)
/* 024F64 80024364 8FB10020 */ lw $s1, 0x20($sp)
/* 024F68 80024368 8FB0001C */ lw $s0, 0x1c($sp)
/* 024F6C 8002436C 03E00008 */ jr $ra
/* 024F70 80024370 27BD0158 */ addiu $sp, $sp, 0x158
glabel func_80024374
/* 024F74 80024374 27BDFEA8 */ addiu $sp, $sp, -0x158
/* 024F78 80024378 3C0F800E */ lui $t7, %hi(D_800DDE9C) # $t7, 0x800e
/* 024F7C 8002437C AFBF001C */ sw $ra, 0x1c($sp)
/* 024F80 80024380 AFB10018 */ sw $s1, 0x18($sp)
/* 024F84 80024384 AFB00014 */ sw $s0, 0x14($sp)
/* 024F88 80024388 AFA5015C */ sw $a1, 0x15c($sp)
/* 024F8C 8002438C AFA60160 */ sw $a2, 0x160($sp)
/* 024F90 80024390 25EFDE9C */ addiu $t7, %lo(D_800DDE9C) # addiu $t7, $t7, -0x2164
/* 024F94 80024394 8DE10000 */ lw $at, ($t7)
/* 024F98 80024398 27AE0094 */ addiu $t6, $sp, 0x94
/* 024F9C 8002439C 8DF90004 */ lw $t9, 4($t7)
/* 024FA0 800243A0 ADC10000 */ sw $at, ($t6)
/* 024FA4 800243A4 8DE10008 */ lw $at, 8($t7)
/* 024FA8 800243A8 ADD90004 */ sw $t9, 4($t6)
/* 024FAC 800243AC 00808825 */ move $s1, $a0
/* 024FB0 800243B0 ADC10008 */ sw $at, 8($t6)
/* 024FB4 800243B4 83B80163 */ lb $t8, 0x163($sp)
/* 024FB8 800243B8 8482002E */ lh $v0, 0x2e($a0)
/* 024FBC 800243BC 848300C0 */ lh $v1, 0xc0($a0)
/* 024FC0 800243C0 00187040 */ sll $t6, $t8, 1
/* 024FC4 800243C4 008E7821 */ addu $t7, $a0, $t6
/* 024FC8 800243C8 85F90048 */ lh $t9, 0x48($t7)
/* 024FCC 800243CC 0059C021 */ addu $t8, $v0, $t9
/* 024FD0 800243D0 03033821 */ addu $a3, $t8, $v1
/* 024FD4 800243D4 30EEFFFF */ andi $t6, $a3, 0xffff
/* 024FD8 800243D8 01C03825 */ move $a3, $t6
/* 024FDC 800243DC 04E10003 */ bgez $a3, .L800243EC
/* 024FE0 800243E0 000779C3 */ sra $t7, $a3, 7
/* 024FE4 800243E4 24E1007F */ addiu $at, $a3, 0x7f
/* 024FE8 800243E8 000179C3 */ sra $t7, $at, 7
.L800243EC:
/* 024FEC 800243EC 01E0C025 */ move $t8, $t7
/* 024FF0 800243F0 001881C0 */ sll $s0, $t8, 7
/* 024FF4 800243F4 00027023 */ negu $t6, $v0
/* 024FF8 800243F8 3219FFFF */ andi $t9, $s0, 0xffff
/* 024FFC 800243FC 01C37823 */ subu $t7, $t6, $v1
/* 025000 80024400 A7AF00C0 */ sh $t7, 0xc0($sp)
/* 025004 80024404 03208025 */ move $s0, $t9
/* 025008 80024408 0C0AE00E */ jal func_802B8038
/* 02500C 8002440C 3324FFFF */ andi $a0, $t9, 0xffff
/* 025010 80024410 3C014040 */ li $at, 0x40400000 # 3.000000
/* 025014 80024414 44813000 */ mtc1 $at, $f6
/* 025018 80024418 46000107 */ neg.s $f4, $f0
/* 02501C 8002441C 3204FFFF */ andi $a0, $s0, 0xffff
/* 025020 80024420 46062202 */ mul.s $f8, $f4, $f6
/* 025024 80024424 0C0AE006 */ jal func_802B8018
/* 025028 80024428 E7A800B0 */ swc1 $f8, 0xb0($sp)
/* 02502C 8002442C 3C014040 */ li $at, 0x40400000 # 3.000000
/* 025030 80024430 44818000 */ mtc1 $at, $f16
/* 025034 80024434 46000287 */ neg.s $f10, $f0
/* 025038 80024438 87A200C0 */ lh $v0, 0xc0($sp)
/* 02503C 8002443C 46105482 */ mul.s $f18, $f10, $f16
/* 025040 80024440 A7A000C4 */ sh $zero, 0xc4($sp)
/* 025044 80024444 3050FFFF */ andi $s0, $v0, 0xffff
/* 025048 80024448 A7A000C8 */ sh $zero, 0xc8($sp)
/* 02504C 8002444C 3204FFFF */ andi $a0, $s0, 0xffff
/* 025050 80024450 A7A200C6 */ sh $v0, 0xc6($sp)
/* 025054 80024454 0C0AE006 */ jal func_802B8018
/* 025058 80024458 E7B200AC */ swc1 $f18, 0xac($sp)
/* 02505C 8002445C E7A00030 */ swc1 $f0, 0x30($sp)
/* 025060 80024460 0C0AE00E */ jal func_802B8038
/* 025064 80024464 3204FFFF */ andi $a0, $s0, 0xffff
/* 025068 80024468 C7A400B0 */ lwc1 $f4, 0xb0($sp)
/* 02506C 8002446C C7A60030 */ lwc1 $f6, 0x30($sp)
/* 025070 80024470 C7AA00AC */ lwc1 $f10, 0xac($sp)
/* 025074 80024474 3204FFFF */ andi $a0, $s0, 0xffff
/* 025078 80024478 46062202 */ mul.s $f8, $f4, $f6
/* 02507C 8002447C C6240014 */ lwc1 $f4, 0x14($s1)
/* 025080 80024480 460A0402 */ mul.s $f16, $f0, $f10
/* 025084 80024484 46088480 */ add.s $f18, $f16, $f8
/* 025088 80024488 46049180 */ add.s $f6, $f18, $f4
/* 02508C 8002448C 0C0AE00E */ jal func_802B8038
/* 025090 80024490 E7A600CC */ swc1 $f6, 0xcc($sp)
/* 025094 80024494 E7A00030 */ swc1 $f0, 0x30($sp)
/* 025098 80024498 0C0AE006 */ jal func_802B8018
/* 02509C 8002449C 3204FFFF */ andi $a0, $s0, 0xffff
/* 0250A0 800244A0 C7AA00B0 */ lwc1 $f10, 0xb0($sp)
/* 0250A4 800244A4 C7B00030 */ lwc1 $f16, 0x30($sp)
/* 0250A8 800244A8 C7B200AC */ lwc1 $f18, 0xac($sp)
/* 0250AC 800244AC 83A2015F */ lb $v0, 0x15f($sp)
/* 0250B0 800244B0 46105202 */ mul.s $f8, $f10, $f16
/* 0250B4 800244B4 3C0F8018 */ lui $t7, %hi(D_80183EA0) # 0x8018
/* 0250B8 800244B8 0002C080 */ sll $t8, $v0, 2
/* 0250BC 800244BC 46120102 */ mul.s $f4, $f0, $f18
/* 0250C0 800244C0 C62A001C */ lwc1 $f10, 0x1c($s1)
/* 0250C4 800244C4 01F87821 */ addu $t7, $t7, $t8
/* 0250C8 800244C8 8DEF3EA0 */ lw $t7, %lo(D_80183EA0)($t7) # 0x3ea0
/* 0250CC 800244CC 3C018016 */ lui $at, %hi(D_80165C20)
/* 0250D0 800244D0 03B87021 */ addu $t6, $sp, $t8
/* 0250D4 800244D4 000FC8C0 */ sll $t9, $t7, 3
/* 0250D8 800244D8 46044181 */ sub.s $f6, $f8, $f4
/* 0250DC 800244DC 032FC823 */ subu $t9, $t9, $t7
/* 0250E0 800244E0 0019C940 */ sll $t9, $t9, 5
/* 0250E4 800244E4 00390821 */ addu $at, $at, $t9
/* 0250E8 800244E8 460A3400 */ add.s $f16, $f6, $f10
/* 0250EC 800244EC C4285C20 */ lwc1 $f8, %lo(D_80165C20)($at)
/* 0250F0 800244F0 27A40118 */ addiu $a0, $sp, 0x118
/* 0250F4 800244F4 27A500CC */ addiu $a1, $sp, 0xcc
/* 0250F8 800244F8 E7B000D4 */ swc1 $f16, 0xd4($sp)
/* 0250FC 800244FC C5D20094 */ lwc1 $f18, 0x94($t6)
/* 025100 80024500 27A600C4 */ addiu $a2, $sp, 0xc4
/* 025104 80024504 46089100 */ add.s $f4, $f18, $f8
/* 025108 80024508 0C008784 */ jal func_80021E10
/* 02510C 8002450C E7A400D0 */ swc1 $f4, 0xd0($sp)
/* 025110 80024510 96380254 */ lhu $t8, 0x254($s1)
/* 025114 80024514 3C01800E */ lui $at, %hi(D_800DDBD4)
/* 025118 80024518 C62A0224 */ lwc1 $f10, 0x224($s1)
/* 02511C 8002451C 00187080 */ sll $t6, $t8, 2
/* 025120 80024520 002E0821 */ addu $at, $at, $t6
/* 025124 80024524 C426DBD4 */ lwc1 $f6, %lo(D_800DDBD4)($at)
/* 025128 80024528 27A40118 */ addiu $a0, $sp, 0x118
/* 02512C 8002452C 460A3402 */ mul.s $f16, $f6, $f10
/* 025130 80024530 44058000 */ mfc1 $a1, $f16
/* 025134 80024534 0C0087E1 */ jal func_80021F84
/* 025138 80024538 00000000 */ nop
/* 02513C 8002453C 83AF0163 */ lb $t7, 0x163($sp)
/* 025140 80024540 83AE015F */ lb $t6, 0x15f($sp)
/* 025144 80024544 3C188015 */ lui $t8, %hi(gGfxPool) # $t8, 0x8015
/* 025148 80024548 8F18EF40 */ lw $t8, %lo(gGfxPool)($t8)
/* 02514C 8002454C 000F8240 */ sll $s0, $t7, 9
/* 025150 80024550 000E7980 */ sll $t7, $t6, 6
/* 025154 80024554 030FC821 */ addu $t9, $t8, $t7
/* 025158 80024558 03302021 */ addu $a0, $t9, $s0
/* 02515C 8002455C 3401EAC0 */ li $at, 60096
/* 025160 80024560 00812021 */ addu $a0, $a0, $at
/* 025164 80024564 0C008860 */ jal func_80022180
/* 025168 80024568 27A50118 */ addiu $a1, $sp, 0x118
/* 02516C 8002456C 3C038015 */ lui $v1, %hi(gDisplayListHead) # $v1, 0x8015
/* 025170 80024570 24630298 */ addiu $v1, %lo(gDisplayListHead) # addiu $v1, $v1, 0x298
/* 025174 80024574 8C620000 */ lw $v0, ($v1)
/* 025178 80024578 3C180102 */ lui $t8, (0x01020040 >> 16) # lui $t8, 0x102
/* 02517C 8002457C 37180040 */ ori $t8, (0x01020040 & 0xFFFF) # ori $t8, $t8, 0x40
/* 025180 80024580 244E0008 */ addiu $t6, $v0, 8
/* 025184 80024584 AC6E0000 */ sw $t6, ($v1)
/* 025188 80024588 AC580000 */ sw $t8, ($v0)
/* 02518C 8002458C 83B9015F */ lb $t9, 0x15f($sp)
/* 025190 80024590 3C0F8015 */ lui $t7, %hi(gGfxPool) # $t7, 0x8015
/* 025194 80024594 8DEFEF40 */ lw $t7, %lo(gGfxPool)($t7)
/* 025198 80024598 00197180 */ sll $t6, $t9, 6
/* 02519C 8002459C 3401EAC0 */ li $at, 60096
/* 0251A0 800245A0 01EEC021 */ addu $t8, $t7, $t6
/* 0251A4 800245A4 0310C821 */ addu $t9, $t8, $s0
/* 0251A8 800245A8 03217821 */ addu $t7, $t9, $at
/* 0251AC 800245AC 3C011FFF */ lui $at, (0x1FFFFFFF >> 16) # lui $at, 0x1fff
/* 0251B0 800245B0 3421FFFF */ ori $at, (0x1FFFFFFF & 0xFFFF) # ori $at, $at, 0xffff
/* 0251B4 800245B4 01E17024 */ and $t6, $t7, $at
/* 0251B8 800245B8 AC4E0004 */ sw $t6, 4($v0)
/* 0251BC 800245BC 8C620000 */ lw $v0, ($v1)
/* 0251C0 800245C0 3C190D01 */ lui $t9, %hi(D_0D008D58) # $t9, 0xd01
/* 0251C4 800245C4 3C110600 */ lui $s1, 0x600
/* 0251C8 800245C8 24580008 */ addiu $t8, $v0, 8
/* 0251CC 800245CC AC780000 */ sw $t8, ($v1)
/* 0251D0 800245D0 27398D58 */ addiu $t9, %lo(D_0D008D58) # addiu $t9, $t9, -0x72a8
/* 0251D4 800245D4 AC590004 */ sw $t9, 4($v0)
/* 0251D8 800245D8 AC510000 */ sw $s1, ($v0)
/* 0251DC 800245DC 8C620000 */ lw $v0, ($v1)
/* 0251E0 800245E0 3C0EBA00 */ lui $t6, (0xBA000E02 >> 16) # lui $t6, 0xba00
/* 0251E4 800245E4 35CE0E02 */ ori $t6, (0xBA000E02 & 0xFFFF) # ori $t6, $t6, 0xe02
/* 0251E8 800245E8 244F0008 */ addiu $t7, $v0, 8
/* 0251EC 800245EC AC6F0000 */ sw $t7, ($v1)
/* 0251F0 800245F0 AC400004 */ sw $zero, 4($v0)
/* 0251F4 800245F4 AC4E0000 */ sw $t6, ($v0)
/* 0251F8 800245F8 8C620000 */ lw $v0, ($v1)
/* 0251FC 800245FC 3C19FD90 */ lui $t9, 0xfd90
/* 025200 80024600 3C0F8019 */ lui $t7, %hi(D_8018D474) # $t7, 0x8019
/* 025204 80024604 24580008 */ addiu $t8, $v0, 8
/* 025208 80024608 AC780000 */ sw $t8, ($v1)
/* 02520C 8002460C AC590000 */ sw $t9, ($v0)
/* 025210 80024610 8DEFD474 */ lw $t7, %lo(D_8018D474)($t7)
/* 025214 80024614 3C190708 */ lui $t9, (0x07080200 >> 16) # lui $t9, 0x708
/* 025218 80024618 37390200 */ ori $t9, (0x07080200 & 0xFFFF) # ori $t9, $t9, 0x200
/* 02521C 8002461C AC4F0004 */ sw $t7, 4($v0)
/* 025220 80024620 8C620000 */ lw $v0, ($v1)
/* 025224 80024624 3C18F590 */ lui $t8, 0xf590
/* 025228 80024628 00002025 */ move $a0, $zero
/* 02522C 8002462C 244E0008 */ addiu $t6, $v0, 8
/* 025230 80024630 AC6E0000 */ sw $t6, ($v1)
/* 025234 80024634 AC590004 */ sw $t9, 4($v0)
/* 025238 80024638 AC580000 */ sw $t8, ($v0)
/* 02523C 8002463C 8C620000 */ lw $v0, ($v1)
/* 025240 80024640 3C0EE600 */ lui $t6, 0xe600
/* 025244 80024644 3C19F300 */ lui $t9, 0xf300
/* 025248 80024648 244F0008 */ addiu $t7, $v0, 8
/* 02524C 8002464C AC6F0000 */ sw $t7, ($v1)
/* 025250 80024650 AC400004 */ sw $zero, 4($v0)
/* 025254 80024654 AC4E0000 */ sw $t6, ($v0)
/* 025258 80024658 8C620000 */ lw $v0, ($v1)
/* 02525C 8002465C 3C0F073F */ lui $t7, (0x073FF100 >> 16) # lui $t7, 0x73f
/* 025260 80024660 35EFF100 */ ori $t7, (0x073FF100 & 0xFFFF) # ori $t7, $t7, 0xf100
/* 025264 80024664 24580008 */ addiu $t8, $v0, 8
/* 025268 80024668 AC780000 */ sw $t8, ($v1)
/* 02526C 8002466C AC4F0004 */ sw $t7, 4($v0)
/* 025270 80024670 AC590000 */ sw $t9, ($v0)
/* 025274 80024674 8C620000 */ lw $v0, ($v1)
/* 025278 80024678 3C18E700 */ lui $t8, 0xe700
/* 02527C 8002467C 3C0FF588 */ lui $t7, (0xF5881000 >> 16) # lui $t7, 0xf588
/* 025280 80024680 244E0008 */ addiu $t6, $v0, 8
/* 025284 80024684 AC6E0000 */ sw $t6, ($v1)
/* 025288 80024688 AC400004 */ sw $zero, 4($v0)
/* 02528C 8002468C AC580000 */ sw $t8, ($v0)
/* 025290 80024690 8C620000 */ lw $v0, ($v1)
/* 025294 80024694 3C0E0008 */ lui $t6, (0x00080200 >> 16) # lui $t6, 8
/* 025298 80024698 35CE0200 */ ori $t6, (0x00080200 & 0xFFFF) # ori $t6, $t6, 0x200
/* 02529C 8002469C 24590008 */ addiu $t9, $v0, 8
/* 0252A0 800246A0 AC790000 */ sw $t9, ($v1)
/* 0252A4 800246A4 35EF1000 */ ori $t7, (0xF5881000 & 0xFFFF) # ori $t7, $t7, 0x1000
/* 0252A8 800246A8 AC4F0000 */ sw $t7, ($v0)
/* 0252AC 800246AC AC4E0004 */ sw $t6, 4($v0)
/* 0252B0 800246B0 8C620000 */ lw $v0, ($v1)
/* 0252B4 800246B4 3C0F000F */ lui $t7, (0x000FC07C >> 16) # lui $t7, 0xf
/* 0252B8 800246B8 35EFC07C */ ori $t7, (0x000FC07C & 0xFFFF) # ori $t7, $t7, 0xc07c
/* 0252BC 800246BC 24580008 */ addiu $t8, $v0, 8
/* 0252C0 800246C0 AC780000 */ sw $t8, ($v1)
/* 0252C4 800246C4 3C19F200 */ lui $t9, 0xf200
/* 0252C8 800246C8 00002825 */ move $a1, $zero
/* 0252CC 800246CC 00003025 */ move $a2, $zero
/* 0252D0 800246D0 240700D0 */ li $a3, 208
/* 0252D4 800246D4 AC590000 */ sw $t9, ($v0)
/* 0252D8 800246D8 0C012D05 */ jal func_8004B414
/* 0252DC 800246DC AC4F0004 */ sw $t7, 4($v0)
/* 0252E0 800246E0 3C038015 */ lui $v1, %hi(gDisplayListHead) # $v1, 0x8015
/* 0252E4 800246E4 24630298 */ addiu $v1, %lo(gDisplayListHead) # addiu $v1, $v1, 0x298
/* 0252E8 800246E8 8C620000 */ lw $v0, ($v1)
/* 0252EC 800246EC 3C18B900 */ lui $t8, (0xB900031D >> 16) # lui $t8, 0xb900
/* 0252F0 800246F0 3C190050 */ lui $t9, (0x00504B50 >> 16) # lui $t9, 0x50
/* 0252F4 800246F4 244E0008 */ addiu $t6, $v0, 8
/* 0252F8 800246F8 AC6E0000 */ sw $t6, ($v1)
/* 0252FC 800246FC 37394B50 */ ori $t9, (0x00504B50 & 0xFFFF) # ori $t9, $t9, 0x4b50
/* 025300 80024700 3718031D */ ori $t8, (0xB900031D & 0xFFFF) # ori $t8, $t8, 0x31d
/* 025304 80024704 AC580000 */ sw $t8, ($v0)
/* 025308 80024708 AC590004 */ sw $t9, 4($v0)
/* 02530C 8002470C 8C620000 */ lw $v0, ($v1)
/* 025310 80024710 3C18800E */ lui $t8, %hi(D_800E51D0) # $t8, 0x800e
/* 025314 80024714 3C0E0400 */ lui $t6, (0x0400103F >> 16) # lui $t6, 0x400
/* 025318 80024718 244F0008 */ addiu $t7, $v0, 8
/* 02531C 8002471C AC6F0000 */ sw $t7, ($v1)
/* 025320 80024720 35CE103F */ ori $t6, (0x0400103F & 0xFFFF) # ori $t6, $t6, 0x103f
/* 025324 80024724 271851D0 */ addiu $t8, %lo(D_800E51D0) # addiu $t8, $t8, 0x51d0
/* 025328 80024728 AC580004 */ sw $t8, 4($v0)
/* 02532C 8002472C AC4E0000 */ sw $t6, ($v0)
/* 025330 80024730 8C620000 */ lw $v0, ($v1)
/* 025334 80024734 3C100D01 */ lui $s0, %hi(D_0D008C78) # $s0, 0xd01
/* 025338 80024738 26108C78 */ addiu $s0, %lo(D_0D008C78) # addiu $s0, $s0, -0x7388
/* 02533C 8002473C 24590008 */ addiu $t9, $v0, 8
/* 025340 80024740 AC790000 */ sw $t9, ($v1)
/* 025344 80024744 AC500004 */ sw $s0, 4($v0)
/* 025348 80024748 AC510000 */ sw $s1, ($v0)
/* 02534C 8002474C 8C620000 */ lw $v0, ($v1)
/* 025350 80024750 3C0EFD90 */ lui $t6, 0xfd90
/* 025354 80024754 3C188019 */ lui $t8, %hi(D_8018D474) # $t8, 0x8019
/* 025358 80024758 244F0008 */ addiu $t7, $v0, 8
/* 02535C 8002475C AC6F0000 */ sw $t7, ($v1)
/* 025360 80024760 AC4E0000 */ sw $t6, ($v0)
/* 025364 80024764 8F18D474 */ lw $t8, %lo(D_8018D474)($t8)
/* 025368 80024768 3C0EF590 */ lui $t6, 0xf590
/* 02536C 8002476C 00002025 */ move $a0, $zero
/* 025370 80024770 27190800 */ addiu $t9, $t8, 0x800
/* 025374 80024774 AC590004 */ sw $t9, 4($v0)
/* 025378 80024778 8C620000 */ lw $v0, ($v1)
/* 02537C 8002477C 3C180708 */ lui $t8, (0x07080200 >> 16) # lui $t8, 0x708
/* 025380 80024780 37180200 */ ori $t8, (0x07080200 & 0xFFFF) # ori $t8, $t8, 0x200
/* 025384 80024784 244F0008 */ addiu $t7, $v0, 8
/* 025388 80024788 AC6F0000 */ sw $t7, ($v1)
/* 02538C 8002478C AC580004 */ sw $t8, 4($v0)
/* 025390 80024790 AC4E0000 */ sw $t6, ($v0)
/* 025394 80024794 8C620000 */ lw $v0, ($v1)
/* 025398 80024798 3C0FE600 */ lui $t7, 0xe600
/* 02539C 8002479C 3C18F300 */ lui $t8, 0xf300
/* 0253A0 800247A0 24590008 */ addiu $t9, $v0, 8
/* 0253A4 800247A4 AC790000 */ sw $t9, ($v1)
/* 0253A8 800247A8 AC400004 */ sw $zero, 4($v0)
/* 0253AC 800247AC AC4F0000 */ sw $t7, ($v0)
/* 0253B0 800247B0 8C620000 */ lw $v0, ($v1)
/* 0253B4 800247B4 3C19073F */ lui $t9, (0x073FF100 >> 16) # lui $t9, 0x73f
/* 0253B8 800247B8 3739F100 */ ori $t9, (0x073FF100 & 0xFFFF) # ori $t9, $t9, 0xf100
/* 0253BC 800247BC 244E0008 */ addiu $t6, $v0, 8
/* 0253C0 800247C0 AC6E0000 */ sw $t6, ($v1)
/* 0253C4 800247C4 AC590004 */ sw $t9, 4($v0)
/* 0253C8 800247C8 AC580000 */ sw $t8, ($v0)
/* 0253CC 800247CC 8C620000 */ lw $v0, ($v1)
/* 0253D0 800247D0 3C0EE700 */ lui $t6, 0xe700
/* 0253D4 800247D4 3C19F588 */ lui $t9, (0xF5881000 >> 16) # lui $t9, 0xf588
/* 0253D8 800247D8 244F0008 */ addiu $t7, $v0, 8
/* 0253DC 800247DC AC6F0000 */ sw $t7, ($v1)
/* 0253E0 800247E0 AC400004 */ sw $zero, 4($v0)
/* 0253E4 800247E4 AC4E0000 */ sw $t6, ($v0)
/* 0253E8 800247E8 8C620000 */ lw $v0, ($v1)
/* 0253EC 800247EC 3C0F0008 */ lui $t7, (0x00080200 >> 16) # lui $t7, 8
/* 0253F0 800247F0 35EF0200 */ ori $t7, (0x00080200 & 0xFFFF) # ori $t7, $t7, 0x200
/* 0253F4 800247F4 24580008 */ addiu $t8, $v0, 8
/* 0253F8 800247F8 AC780000 */ sw $t8, ($v1)
/* 0253FC 800247FC 37391000 */ ori $t9, (0xF5881000 & 0xFFFF) # ori $t9, $t9, 0x1000
/* 025400 80024800 AC590000 */ sw $t9, ($v0)
/* 025404 80024804 AC4F0004 */ sw $t7, 4($v0)
/* 025408 80024808 8C620000 */ lw $v0, ($v1)
/* 02540C 8002480C 3C19000F */ lui $t9, (0x000FC07C >> 16) # lui $t9, 0xf
/* 025410 80024810 3739C07C */ ori $t9, (0x000FC07C & 0xFFFF) # ori $t9, $t9, 0xc07c
/* 025414 80024814 244E0008 */ addiu $t6, $v0, 8
/* 025418 80024818 AC6E0000 */ sw $t6, ($v1)
/* 02541C 8002481C 3C18F200 */ lui $t8, 0xf200
/* 025420 80024820 00002825 */ move $a1, $zero
/* 025424 80024824 00003025 */ move $a2, $zero
/* 025428 80024828 240700D0 */ li $a3, 208
/* 02542C 8002482C AC580000 */ sw $t8, ($v0)
/* 025430 80024830 0C012D05 */ jal func_8004B414
/* 025434 80024834 AC590004 */ sw $t9, 4($v0)
/* 025438 80024838 3C038015 */ lui $v1, %hi(gDisplayListHead) # $v1, 0x8015
/* 02543C 8002483C 24630298 */ addiu $v1, %lo(gDisplayListHead) # addiu $v1, $v1, 0x298
/* 025440 80024840 8C620000 */ lw $v0, ($v1)
/* 025444 80024844 3C0EB900 */ lui $t6, (0xB900031D >> 16) # lui $t6, 0xb900
/* 025448 80024848 3C180050 */ lui $t8, (0x00504B50 >> 16) # lui $t8, 0x50
/* 02544C 8002484C 244F0008 */ addiu $t7, $v0, 8
/* 025450 80024850 AC6F0000 */ sw $t7, ($v1)
/* 025454 80024854 37184B50 */ ori $t8, (0x00504B50 & 0xFFFF) # ori $t8, $t8, 0x4b50
/* 025458 80024858 35CE031D */ ori $t6, (0xB900031D & 0xFFFF) # ori $t6, $t6, 0x31d
/* 02545C 8002485C AC4E0000 */ sw $t6, ($v0)
/* 025460 80024860 AC580004 */ sw $t8, 4($v0)
/* 025464 80024864 8C620000 */ lw $v0, ($v1)
/* 025468 80024868 3C0E800E */ lui $t6, %hi(D_800E5210) # $t6, 0x800e
/* 02546C 8002486C 3C0F0400 */ lui $t7, (0x0400103F >> 16) # lui $t7, 0x400
/* 025470 80024870 24590008 */ addiu $t9, $v0, 8
/* 025474 80024874 AC790000 */ sw $t9, ($v1)
/* 025478 80024878 35EF103F */ ori $t7, (0x0400103F & 0xFFFF) # ori $t7, $t7, 0x103f
/* 02547C 8002487C 25CE5210 */ addiu $t6, %lo(D_800E5210) # addiu $t6, $t6, 0x5210
/* 025480 80024880 AC4E0004 */ sw $t6, 4($v0)
/* 025484 80024884 AC4F0000 */ sw $t7, ($v0)
/* 025488 80024888 8C620000 */ lw $v0, ($v1)
/* 02548C 8002488C 3C0E0001 */ lui $t6, (0x00010001 >> 16) # lui $t6, 1
/* 025490 80024890 35CE0001 */ ori $t6, (0x00010001 & 0xFFFF) # ori $t6, $t6, 1
/* 025494 80024894 24580008 */ addiu $t8, $v0, 8
/* 025498 80024898 AC780000 */ sw $t8, ($v1)
/* 02549C 8002489C AC500004 */ sw $s0, 4($v0)
/* 0254A0 800248A0 AC510000 */ sw $s1, ($v0)
/* 0254A4 800248A4 8C620000 */ lw $v0, ($v1)
/* 0254A8 800248A8 3C0FBB00 */ lui $t7, 0xbb00
/* 0254AC 800248AC 24590008 */ addiu $t9, $v0, 8
/* 0254B0 800248B0 AC790000 */ sw $t9, ($v1)
/* 0254B4 800248B4 AC4E0004 */ sw $t6, 4($v0)
/* 0254B8 800248B8 AC4F0000 */ sw $t7, ($v0)
/* 0254BC 800248BC 8FBF001C */ lw $ra, 0x1c($sp)
/* 0254C0 800248C0 8FB10018 */ lw $s1, 0x18($sp)
/* 0254C4 800248C4 8FB00014 */ lw $s0, 0x14($sp)
/* 0254C8 800248C8 03E00008 */ jr $ra
/* 0254CC 800248CC 27BD0158 */ addiu $sp, $sp, 0x158
glabel func_800248D0
/* 0254D0 800248D0 27BDFE18 */ addiu $sp, $sp, -0x1e8
/* 0254D4 800248D4 AFBF0034 */ sw $ra, 0x34($sp)
/* 0254D8 800248D8 AFB20030 */ sw $s2, 0x30($sp)
/* 0254DC 800248DC AFB1002C */ sw $s1, 0x2c($sp)
/* 0254E0 800248E0 AFB00028 */ sw $s0, 0x28($sp)
/* 0254E4 800248E4 AFA501EC */ sw $a1, 0x1ec($sp)
/* 0254E8 800248E8 AFA601F0 */ sw $a2, 0x1f0($sp)
/* 0254EC 800248EC AFA701F4 */ sw $a3, 0x1f4($sp)
/* 0254F0 800248F0 84980044 */ lh $t8, 0x44($a0)
/* 0254F4 800248F4 00068E00 */ sll $s1, $a2, 0x18
/* 0254F8 800248F8 00059600 */ sll $s2, $a1, 0x18
/* 0254FC 800248FC 00127603 */ sra $t6, $s2, 0x18
/* 025500 80024900 00117E03 */ sra $t7, $s1, 0x18
/* 025504 80024904 33192000 */ andi $t9, $t8, 0x2000
/* 025508 80024908 01E08825 */ move $s1, $t7
/* 02550C 8002490C 01C09025 */ move $s2, $t6
/* 025510 80024910 1320002C */ beqz $t9, .L800249C4
/* 025514 80024914 00808025 */ move $s0, $a0
/* 025518 80024918 000F7040 */ sll $t6, $t7, 1
/* 02551C 8002491C A7A0014C */ sh $zero, 0x14c($sp)
/* 025520 80024920 008E1021 */ addu $v0, $a0, $t6
/* 025524 80024924 844F0048 */ lh $t7, 0x48($v0)
/* 025528 80024928 3C013FC0 */ li $at, 0x3FC00000 # 1.500000
/* 02552C 8002492C 44800000 */ mtc1 $zero, $f0
/* 025530 80024930 44812000 */ mtc1 $at, $f4
/* 025534 80024934 A7A00150 */ sh $zero, 0x150($sp)
/* 025538 80024938 A7AF014E */ sh $t7, 0x14e($sp)
/* 02553C 8002493C E7A00014 */ swc1 $f0, 0x14($sp)
/* 025540 80024940 E7A40010 */ swc1 $f4, 0x10($sp)
/* 025544 80024944 84580048 */ lh $t8, 0x48($v0)
/* 025548 80024948 44070000 */ mfc1 $a3, $f0
/* 02554C 8002494C 27A40148 */ addiu $a0, $sp, 0x148
/* 025550 80024950 0018C823 */ negu $t9, $t8
/* 025554 80024954 AFB90018 */ sw $t9, 0x18($sp)
/* 025558 80024958 844E0050 */ lh $t6, 0x50($v0)
/* 02555C 8002495C 27A50144 */ addiu $a1, $sp, 0x144
/* 025560 80024960 27A60140 */ addiu $a2, $sp, 0x140
/* 025564 80024964 0C018AC6 */ jal func_80062B18
/* 025568 80024968 AFAE001C */ sw $t6, 0x1c($sp)
/* 02556C 8002496C C6060018 */ lwc1 $f6, 0x18($s0)
/* 025570 80024970 C6080070 */ lwc1 $f8, 0x70($s0)
/* 025574 80024974 C7B20144 */ lwc1 $f18, 0x144($sp)
/* 025578 80024978 3C014000 */ li $at, 0x40000000 # 2.000000
/* 02557C 8002497C 46083281 */ sub.s $f10, $f6, $f8
/* 025580 80024980 44803000 */ mtc1 $zero, $f6
/* 025584 80024984 44813800 */ mtc1 $at, $f7
/* 025588 80024988 46009121 */ cvt.d.s $f4, $f18
/* 02558C 8002498C 46005421 */ cvt.d.s $f16, $f10
/* 025590 80024990 46262201 */ sub.d $f8, $f4, $f6
/* 025594 80024994 C7A60148 */ lwc1 $f6, 0x148($sp)
/* 025598 80024998 46288280 */ add.d $f10, $f16, $f8
/* 02559C 8002499C 462054A0 */ cvt.s.d $f18, $f10
/* 0255A0 800249A0 C7AA0140 */ lwc1 $f10, 0x140($sp)
/* 0255A4 800249A4 E7B20158 */ swc1 $f18, 0x158($sp)
/* 0255A8 800249A8 C6040014 */ lwc1 $f4, 0x14($s0)
/* 0255AC 800249AC 46062400 */ add.s $f16, $f4, $f6
/* 0255B0 800249B0 E7B00154 */ swc1 $f16, 0x154($sp)
/* 0255B4 800249B4 C608001C */ lwc1 $f8, 0x1c($s0)
/* 0255B8 800249B8 460A4480 */ add.s $f18, $f8, $f10
/* 0255BC 800249BC 1000007A */ b .L80024BA8
/* 0255C0 800249C0 E7B2015C */ swc1 $f18, 0x15c($sp)
.L800249C4:
/* 0255C4 800249C4 00117840 */ sll $t7, $s1, 1
/* 0255C8 800249C8 020F1021 */ addu $v0, $s0, $t7
/* 0255CC 800249CC 84590048 */ lh $t9, 0x48($v0)
/* 0255D0 800249D0 8618002E */ lh $t8, 0x2e($s0)
/* 0255D4 800249D4 860F00C0 */ lh $t7, 0xc0($s0)
/* 0255D8 800249D8 AFA20044 */ sw $v0, 0x44($sp)
/* 0255DC 800249DC 03197021 */ addu $t6, $t8, $t9
/* 0255E0 800249E0 01CFC821 */ addu $t9, $t6, $t7
/* 0255E4 800249E4 0C0AE006 */ jal func_802B8018
/* 0255E8 800249E8 3324FFFF */ andi $a0, $t9, 0xffff
/* 0255EC 800249EC 8FA20044 */ lw $v0, 0x44($sp)
/* 0255F0 800249F0 24010008 */ li $at, 8
/* 0255F4 800249F4 3C198016 */ lui $t9, %hi(D_80164714) # 0x8016
/* 0255F8 800249F8 844E00CC */ lh $t6, 0xcc($v0)
/* 0255FC 800249FC 448E2000 */ mtc1 $t6, $f4
/* 025600 80024A00 8E0E00BC */ lw $t6, 0xbc($s0)
/* 025604 80024A04 468021A0 */ cvt.s.w $f6, $f4
/* 025608 80024A08 31CF0008 */ andi $t7, $t6, 8
/* 02560C 80024A0C 46060402 */ mul.s $f16, $f0, $f6
/* 025610 80024A10 4600820D */ trunc.w.s $f8, $f16
/* 025614 80024A14 44034000 */ mfc1 $v1, $f8
/* 025618 80024A18 00000000 */ nop
/* 02561C 80024A1C 0003C400 */ sll $t8, $v1, 0x10
/* 025620 80024A20 15E1000B */ bne $t7, $at, .L80024A50
/* 025624 80024A24 00181C03 */ sra $v1, $t8, 0x10
/* 025628 80024A28 0011C080 */ sll $t8, $s1, 2
/* 02562C 80024A2C 0311C023 */ subu $t8, $t8, $s1
/* 025630 80024A30 0018C0C0 */ sll $t8, $t8, 3
/* 025634 80024A34 0311C023 */ subu $t8, $t8, $s1
/* 025638 80024A38 0018C0C0 */ sll $t8, $t8, 3
/* 02563C 80024A3C 0338C821 */ addu $t9, $t9, $t8
/* 025640 80024A40 87394714 */ lh $t9, %lo(D_80164714)($t9) # 0x4714
/* 025644 80024A44 272EC000 */ addiu $t6, $t9, -0x4000
/* 025648 80024A48 1000000B */ b .L80024A78
/* 02564C 80024A4C A7AE014C */ sh $t6, 0x14c($sp)
.L80024A50:
/* 025650 80024A50 00037823 */ negu $t7, $v1
/* 025654 80024A54 448F5000 */ mtc1 $t7, $f10
/* 025658 80024A58 3C01800F */ lui $at, %hi(D_800ED6D0)
/* 02565C 80024A5C D424D6D0 */ ldc1 $f4, %lo(D_800ED6D0)($at)
/* 025660 80024A60 468054A1 */ cvt.d.w $f18, $f10
/* 025664 80024A64 46249182 */ mul.d $f6, $f18, $f4
/* 025668 80024A68 4620340D */ trunc.w.d $f16, $f6
/* 02566C 80024A6C 44198000 */ mfc1 $t9, $f16
/* 025670 80024A70 00000000 */ nop
/* 025674 80024A74 A7B9014C */ sh $t9, 0x14c($sp)
.L80024A78:
/* 025678 80024A78 844E0048 */ lh $t6, 0x48($v0)
/* 02567C 80024A7C 3C010400 */ lui $at, 0x400
/* 025680 80024A80 A7AE014E */ sh $t6, 0x14e($sp)
/* 025684 80024A84 844F0050 */ lh $t7, 0x50($v0)
/* 025688 80024A88 A7AF0150 */ sh $t7, 0x150($sp)
/* 02568C 80024A8C 8E1800BC */ lw $t8, 0xbc($s0)
/* 025690 80024A90 0301C824 */ and $t9, $t8, $at
/* 025694 80024A94 1721001E */ bne $t9, $at, .L80024B10
/* 025698 80024A98 3C014100 */ li $at, 0x41000000 # 8.000000
/* 02569C 80024A9C 44800000 */ mtc1 $zero, $f0
/* 0256A0 80024AA0 44814000 */ mtc1 $at, $f8
/* 0256A4 80024AA4 27A40148 */ addiu $a0, $sp, 0x148
/* 0256A8 80024AA8 E7A00014 */ swc1 $f0, 0x14($sp)
/* 0256AC 80024AAC E7A80010 */ swc1 $f8, 0x10($sp)
/* 0256B0 80024AB0 844E0048 */ lh $t6, 0x48($v0)
/* 0256B4 80024AB4 44070000 */ mfc1 $a3, $f0
/* 0256B8 80024AB8 27A50144 */ addiu $a1, $sp, 0x144
/* 0256BC 80024ABC 000E7823 */ negu $t7, $t6
/* 0256C0 80024AC0 AFAF0018 */ sw $t7, 0x18($sp)
/* 0256C4 80024AC4 84580050 */ lh $t8, 0x50($v0)
/* 0256C8 80024AC8 27A60140 */ addiu $a2, $sp, 0x140
/* 0256CC 80024ACC 0C018AC6 */ jal func_80062B18
/* 0256D0 80024AD0 AFB8001C */ sw $t8, 0x1c($sp)
/* 0256D4 80024AD4 C60A0018 */ lwc1 $f10, 0x18($s0)
/* 0256D8 80024AD8 C6120070 */ lwc1 $f18, 0x70($s0)
/* 0256DC 80024ADC C6060108 */ lwc1 $f6, 0x108($s0)
/* 0256E0 80024AE0 46125101 */ sub.s $f4, $f10, $f18
/* 0256E4 80024AE4 C7AA0148 */ lwc1 $f10, 0x148($sp)
/* 0256E8 80024AE8 46062400 */ add.s $f16, $f4, $f6
/* 0256EC 80024AEC C7A60140 */ lwc1 $f6, 0x140($sp)
/* 0256F0 80024AF0 E7B00158 */ swc1 $f16, 0x158($sp)
/* 0256F4 80024AF4 C6080014 */ lwc1 $f8, 0x14($s0)
/* 0256F8 80024AF8 460A4480 */ add.s $f18, $f8, $f10
/* 0256FC 80024AFC E7B20154 */ swc1 $f18, 0x154($sp)
/* 025700 80024B00 C604001C */ lwc1 $f4, 0x1c($s0)
/* 025704 80024B04 46062400 */ add.s $f16, $f4, $f6
/* 025708 80024B08 10000027 */ b .L80024BA8
/* 02570C 80024B0C E7B0015C */ swc1 $f16, 0x15c($sp)
.L80024B10:
/* 025710 80024B10 3C013FC0 */ li $at, 0x3FC00000 # 1.500000
/* 025714 80024B14 44800000 */ mtc1 $zero, $f0
/* 025718 80024B18 44814000 */ mtc1 $at, $f8
/* 02571C 80024B1C 27A40148 */ addiu $a0, $sp, 0x148
/* 025720 80024B20 E7A00014 */ swc1 $f0, 0x14($sp)
/* 025724 80024B24 E7A80010 */ swc1 $f8, 0x10($sp)
/* 025728 80024B28 84590048 */ lh $t9, 0x48($v0)
/* 02572C 80024B2C 44070000 */ mfc1 $a3, $f0
/* 025730 80024B30 27A50144 */ addiu $a1, $sp, 0x144
/* 025734 80024B34 00197023 */ negu $t6, $t9
/* 025738 80024B38 AFAE0018 */ sw $t6, 0x18($sp)
/* 02573C 80024B3C 844F0050 */ lh $t7, 0x50($v0)
/* 025740 80024B40 27A60140 */ addiu $a2, $sp, 0x140
/* 025744 80024B44 0C018AC6 */ jal func_80062B18
/* 025748 80024B48 AFAF001C */ sw $t7, 0x1c($sp)
/* 02574C 80024B4C C60A0018 */ lwc1 $f10, 0x18($s0)
/* 025750 80024B50 C6120070 */ lwc1 $f18, 0x70($s0)
/* 025754 80024B54 C6060108 */ lwc1 $f6, 0x108($s0)
/* 025758 80024B58 3C014000 */ li $at, 0x40000000 # 2.000000
/* 02575C 80024B5C 46125101 */ sub.s $f4, $f10, $f18
/* 025760 80024B60 C7AA0144 */ lwc1 $f10, 0x144($sp)
/* 025764 80024B64 44812800 */ mtc1 $at, $f5
/* 025768 80024B68 46062400 */ add.s $f16, $f4, $f6
/* 02576C 80024B6C 44802000 */ mtc1 $zero, $f4
/* 025770 80024B70 460054A1 */ cvt.d.s $f18, $f10
/* 025774 80024B74 46008221 */ cvt.d.s $f8, $f16
/* 025778 80024B78 46249181 */ sub.d $f6, $f18, $f4
/* 02577C 80024B7C C7A40148 */ lwc1 $f4, 0x148($sp)
/* 025780 80024B80 46264400 */ add.d $f16, $f8, $f6
/* 025784 80024B84 462082A0 */ cvt.s.d $f10, $f16
/* 025788 80024B88 C7B00140 */ lwc1 $f16, 0x140($sp)
/* 02578C 80024B8C E7AA0158 */ swc1 $f10, 0x158($sp)
/* 025790 80024B90 C6120014 */ lwc1 $f18, 0x14($s0)
/* 025794 80024B94 46049200 */ add.s $f8, $f18, $f4
/* 025798 80024B98 E7A80154 */ swc1 $f8, 0x154($sp)
/* 02579C 80024B9C C606001C */ lwc1 $f6, 0x1c($s0)
/* 0257A0 80024BA0 46103280 */ add.s $f10, $f6, $f16
/* 0257A4 80024BA4 E7AA015C */ swc1 $f10, 0x15c($sp)
.L80024BA8:
/* 0257A8 80024BA8 00124040 */ sll $t0, $s2, 1
/* 0257AC 80024BAC 0011C100 */ sll $t8, $s1, 4
/* 0257B0 80024BB0 0308C821 */ addu $t9, $t8, $t0
/* 0257B4 80024BB4 3C038016 */ lui $v1, %hi(D_801651D0) # 0x8016
/* 0257B8 80024BB8 00791821 */ addu $v1, $v1, $t9
/* 0257BC 80024BBC 846351D0 */ lh $v1, %lo(D_801651D0)($v1) # 0x51d0
/* 0257C0 80024BC0 00117B00 */ sll $t7, $s1, 0xc
/* 0257C4 80024BC4 3C19802F */ lui $t9, %hi(D_802F1F80) # $t9, 0x802f
/* 0257C8 80024BC8 00037380 */ sll $t6, $v1, 0xe
/* 0257CC 80024BCC 01CFC021 */ addu $t8, $t6, $t7
/* 0257D0 80024BD0 00127240 */ sll $t6, $s2, 9
/* 0257D4 80024BD4 030E7821 */ addu $t7, $t8, $t6
/* 0257D8 80024BD8 27391F80 */ addiu $t9, %lo(D_802F1F80) # addiu $t9, $t9, 0x1f80
/* 0257DC 80024BDC 01F9C021 */ addu $t8, $t7, $t9
/* 0257E0 80024BE0 3C018016 */ lui $at, %hi(D_80164B04) # $at, 0x8016
/* 0257E4 80024BE4 12200004 */ beqz $s1, .L80024BF8
/* 0257E8 80024BE8 AC384B04 */ sw $t8, %lo(D_80164B04)($at)
/* 0257EC 80024BEC 24010001 */ li $at, 1
/* 0257F0 80024BF0 1621000F */ bne $s1, $at, .L80024C30
/* 0257F4 80024BF4 0003C400 */ sll $t8, $v1, 0x10
.L80024BF8:
/* 0257F8 80024BF8 00037400 */ sll $t6, $v1, 0x10
/* 0257FC 80024BFC 00117BC0 */ sll $t7, $s1, 0xf
/* 025800 80024C00 01CFC821 */ addu $t9, $t6, $t7
/* 025804 80024C04 3C0F802C */ lui $t7, %hi(D_802BFB80) # $t7, 0x802c
/* 025808 80024C08 0012C300 */ sll $t8, $s2, 0xc
/* 02580C 80024C0C 03387021 */ addu $t6, $t9, $t8
/* 025810 80024C10 25EFFB80 */ addiu $t7, %lo(D_802BFB80) # addiu $t7, $t7, -0x480
/* 025814 80024C14 01CF1021 */ addu $v0, $t6, $t7
/* 025818 80024C18 3C018016 */ lui $at, %hi(D_80164B08) # $at, 0x8016
/* 02581C 80024C1C AC224B08 */ sw $v0, %lo(D_80164B08)($at)
/* 025820 80024C20 3C018016 */ lui $at, %hi(D_80164B0C) # $at, 0x8016
/* 025824 80024C24 245907C0 */ addiu $t9, $v0, 0x7c0
/* 025828 80024C28 10000012 */ b .L80024C74
/* 02582C 80024C2C AC394B0C */ sw $t9, %lo(D_80164B0C)($at)
.L80024C30:
/* 025830 80024C30 001173C0 */ sll $t6, $s1, 0xf
/* 025834 80024C34 030E7821 */ addu $t7, $t8, $t6
/* 025838 80024C38 3C0E802C */ lui $t6, %hi(D_802BFB80) # $t6, 0x802c
/* 02583C 80024C3C 0012CB00 */ sll $t9, $s2, 0xc
/* 025840 80024C40 01F9C021 */ addu $t8, $t7, $t9
/* 025844 80024C44 25CEFB80 */ addiu $t6, %lo(D_802BFB80) # addiu $t6, $t6, -0x480
/* 025848 80024C48 3C01FFFF */ lui $at, (0xFFFF4000 >> 16) # lui $at, 0xffff
/* 02584C 80024C4C 34214000 */ ori $at, (0xFFFF4000 & 0xFFFF) # ori $at, $at, 0x4000
/* 025850 80024C50 030E1021 */ addu $v0, $t8, $t6
/* 025854 80024C54 00417821 */ addu $t7, $v0, $at
/* 025858 80024C58 3C018016 */ lui $at, %hi(D_80164B08) # $at, 0x8016
/* 02585C 80024C5C AC2F4B08 */ sw $t7, %lo(D_80164B08)($at)
/* 025860 80024C60 3C01FFFF */ lui $at, (0xFFFF47C0 >> 16) # lui $at, 0xffff
/* 025864 80024C64 342147C0 */ ori $at, (0xFFFF47C0 & 0xFFFF) # ori $at, $at, 0x47c0
/* 025868 80024C68 0041C821 */ addu $t9, $v0, $at
/* 02586C 80024C6C 3C018016 */ lui $at, %hi(D_80164B0C) # $at, 0x8016
/* 025870 80024C70 AC394B0C */ sw $t9, %lo(D_80164B0C)($at)
.L80024C74:
/* 025874 80024C74 27A401A4 */ addiu $a0, $sp, 0x1a4
/* 025878 80024C78 27A50154 */ addiu $a1, $sp, 0x154
/* 02587C 80024C7C 27A6014C */ addiu $a2, $sp, 0x14c
/* 025880 80024C80 0C008784 */ jal func_80021E10
/* 025884 80024C84 AFA80044 */ sw $t0, 0x44($sp)
/* 025888 80024C88 96180254 */ lhu $t8, 0x254($s0)
/* 02588C 80024C8C 3C01800E */ lui $at, %hi(D_800DDBD4)
/* 025890 80024C90 C6040224 */ lwc1 $f4, 0x224($s0)
/* 025894 80024C94 00187080 */ sll $t6, $t8, 2
/* 025898 80024C98 002E0821 */ addu $at, $at, $t6
/* 02589C 80024C9C C432DBD4 */ lwc1 $f18, %lo(D_800DDBD4)($at)
/* 0258A0 80024CA0 27A401A4 */ addiu $a0, $sp, 0x1a4
/* 0258A4 80024CA4 46049202 */ mul.s $f8, $f18, $f4
/* 0258A8 80024CA8 44054000 */ mfc1 $a1, $f8
/* 0258AC 80024CAC 0C0087E1 */ jal func_80021F84
/* 0258B0 80024CB0 00000000 */ nop
/* 0258B4 80024CB4 3C198015 */ lui $t9, %hi(gGfxPool) # $t9, 0x8015
/* 0258B8 80024CB8 8F39EF40 */ lw $t9, %lo(gGfxPool)($t9)
/* 0258BC 80024CBC 0220F825 */ move $ra, $s1
/* 0258C0 80024CC0 001F7A40 */ sll $t7, $ra, 9
/* 0258C4 80024CC4 0012C180 */ sll $t8, $s2, 6
/* 0258C8 80024CC8 03387021 */ addu $t6, $t9, $t8
/* 0258CC 80024CCC 01CF2021 */ addu $a0, $t6, $t7
/* 0258D0 80024CD0 01E0F825 */ move $ra, $t7
/* 0258D4 80024CD4 3401F2C0 */ li $at, 62144
/* 0258D8 80024CD8 00812021 */ addu $a0, $a0, $at
/* 0258DC 80024CDC AFAF0040 */ sw $t7, 0x40($sp)
/* 0258E0 80024CE0 0C008860 */ jal func_80022180
/* 0258E4 80024CE4 27A501A4 */ addiu $a1, $sp, 0x1a4
/* 0258E8 80024CE8 8E0F00BC */ lw $t7, 0xbc($s0)
/* 0258EC 80024CEC 3C028000 */ lui $v0, 0x8000
/* 0258F0 80024CF0 8FA80044 */ lw $t0, 0x44($sp)
/* 0258F4 80024CF4 01E2C824 */ and $t9, $t7, $v0
/* 0258F8 80024CF8 145900E6 */ bne $v0, $t9, .L80025094
/* 0258FC 80024CFC 8FBF0040 */ lw $ra, 0x40($sp)
/* 025900 80024D00 16320072 */ bne $s1, $s2, .L80024ECC
/* 025904 80024D04 3C038015 */ lui $v1, %hi(gDisplayListHead) # 0x8015
/* 025908 80024D08 3C038015 */ lui $v1, %hi(gDisplayListHead) # $v1, 0x8015
/* 02590C 80024D0C 24630298 */ addiu $v1, %lo(gDisplayListHead) # addiu $v1, $v1, 0x298
/* 025910 80024D10 8C620000 */ lw $v0, ($v1)
/* 025914 80024D14 3C0E0102 */ lui $t6, (0x01020040 >> 16) # lui $t6, 0x102
/* 025918 80024D18 35CE0040 */ ori $t6, (0x01020040 & 0xFFFF) # ori $t6, $t6, 0x40
/* 02591C 80024D1C 24580008 */ addiu $t8, $v0, 8
/* 025920 80024D20 AC780000 */ sw $t8, ($v1)
/* 025924 80024D24 3C0F8015 */ lui $t7, %hi(gGfxPool) # $t7, 0x8015
/* 025928 80024D28 AC4E0000 */ sw $t6, ($v0)
/* 02592C 80024D2C 8DEFEF40 */ lw $t7, %lo(gGfxPool)($t7)
/* 025930 80024D30 0012C980 */ sll $t9, $s2, 6
/* 025934 80024D34 3401F2C0 */ li $at, 62144
/* 025938 80024D38 01F9C021 */ addu $t8, $t7, $t9
/* 02593C 80024D3C 031F7021 */ addu $t6, $t8, $ra
/* 025940 80024D40 01C17821 */ addu $t7, $t6, $at
/* 025944 80024D44 3C011FFF */ lui $at, (0x1FFFFFFF >> 16) # lui $at, 0x1fff
/* 025948 80024D48 3421FFFF */ ori $at, (0x1FFFFFFF & 0xFFFF) # ori $at, $at, 0xffff
/* 02594C 80024D4C 01E1C824 */ and $t9, $t7, $at
/* 025950 80024D50 AC590004 */ sw $t9, 4($v0)
/* 025954 80024D54 8C620000 */ lw $v0, ($v1)
/* 025958 80024D58 3C0F0D01 */ lui $t7, %hi(D_0D008CD8) # $t7, 0xd01
/* 02595C 80024D5C 25EF8CD8 */ addiu $t7, %lo(D_0D008CD8) # addiu $t7, $t7, -0x7328
/* 025960 80024D60 24580008 */ addiu $t8, $v0, 8
/* 025964 80024D64 AC780000 */ sw $t8, ($v1)
/* 025968 80024D68 3C0E0600 */ lui $t6, 0x600
/* 02596C 80024D6C AC4E0000 */ sw $t6, ($v0)
/* 025970 80024D70 AC4F0004 */ sw $t7, 4($v0)
/* 025974 80024D74 8C620000 */ lw $v0, ($v1)
/* 025978 80024D78 3C18FD10 */ lui $t8, 0xfd10
/* 02597C 80024D7C 3C0E8016 */ lui $t6, %hi(D_80164B04) # $t6, 0x8016
/* 025980 80024D80 24590008 */ addiu $t9, $v0, 8
/* 025984 80024D84 AC790000 */ sw $t9, ($v1)
/* 025988 80024D88 AC580000 */ sw $t8, ($v0)
/* 02598C 80024D8C 8DCE4B04 */ lw $t6, %lo(D_80164B04)($t6)
/* 025990 80024D90 3C19E800 */ lui $t9, 0xe800
/* 025994 80024D94 3C048016 */ lui $a0, %hi(D_80164B10) # 0x8016
/* 025998 80024D98 AC4E0004 */ sw $t6, 4($v0)
/* 02599C 80024D9C 8C620000 */ lw $v0, ($v1)
/* 0259A0 80024DA0 3C0EF500 */ lui $t6, (0xF5000100 >> 16) # lui $t6, 0xf500
/* 0259A4 80024DA4 35CE0100 */ ori $t6, (0xF5000100 & 0xFFFF) # ori $t6, $t6, 0x100
/* 0259A8 80024DA8 244F0008 */ addiu $t7, $v0, 8
/* 0259AC 80024DAC AC6F0000 */ sw $t7, ($v1)
/* 0259B0 80024DB0 AC400004 */ sw $zero, 4($v0)
/* 0259B4 80024DB4 AC590000 */ sw $t9, ($v0)
/* 0259B8 80024DB8 8C620000 */ lw $v0, ($v1)
/* 0259BC 80024DBC 3C0F0700 */ lui $t7, 0x700
/* 0259C0 80024DC0 3C058016 */ lui $a1, %hi(D_80164B20) # 0x8016
/* 0259C4 80024DC4 24580008 */ addiu $t8, $v0, 8
/* 0259C8 80024DC8 AC780000 */ sw $t8, ($v1)
/* 0259CC 80024DCC AC4F0004 */ sw $t7, 4($v0)
/* 0259D0 80024DD0 AC4E0000 */ sw $t6, ($v0)
/* 0259D4 80024DD4 8C620000 */ lw $v0, ($v1)
/* 0259D8 80024DD8 3C18E600 */ lui $t8, 0xe600
/* 0259DC 80024DDC 3C0FF000 */ lui $t7, 0xf000
/* 0259E0 80024DE0 24590008 */ addiu $t9, $v0, 8
/* 0259E4 80024DE4 AC790000 */ sw $t9, ($v1)
/* 0259E8 80024DE8 AC400004 */ sw $zero, 4($v0)
/* 0259EC 80024DEC AC580000 */ sw $t8, ($v0)
/* 0259F0 80024DF0 8C620000 */ lw $v0, ($v1)
/* 0259F4 80024DF4 3C19073F */ lui $t9, (0x073FC000 >> 16) # lui $t9, 0x73f
/* 0259F8 80024DF8 3739C000 */ ori $t9, (0x073FC000 & 0xFFFF) # ori $t9, $t9, 0xc000
/* 0259FC 80024DFC 244E0008 */ addiu $t6, $v0, 8
/* 025A00 80024E00 AC6E0000 */ sw $t6, ($v1)
/* 025A04 80024E04 AC590004 */ sw $t9, 4($v0)
/* 025A08 80024E08 AC4F0000 */ sw $t7, ($v0)
/* 025A0C 80024E0C 8C620000 */ lw $v0, ($v1)
/* 025A10 80024E10 3C0EE700 */ lui $t6, 0xe700
/* 025A14 80024E14 3C19BA00 */ lui $t9, (0xBA000E02 >> 16) # lui $t9, 0xba00
/* 025A18 80024E18 24580008 */ addiu $t8, $v0, 8
/* 025A1C 80024E1C AC780000 */ sw $t8, ($v1)
/* 025A20 80024E20 AC400004 */ sw $zero, 4($v0)
/* 025A24 80024E24 AC4E0000 */ sw $t6, ($v0)
/* 025A28 80024E28 8C620000 */ lw $v0, ($v1)
/* 025A2C 80024E2C 34188000 */ li $t8, 32768
/* 025A30 80024E30 37390E02 */ ori $t9, (0xBA000E02 & 0xFFFF) # ori $t9, $t9, 0xe02
/* 025A34 80024E34 244F0008 */ addiu $t7, $v0, 8
/* 025A38 80024E38 AC6F0000 */ sw $t7, ($v1)
/* 025A3C 80024E3C AC580004 */ sw $t8, 4($v0)
/* 025A40 80024E40 AC590000 */ sw $t9, ($v0)
/* 025A44 80024E44 3C0F8016 */ lui $t7, %hi(D_80164B60) # 0x8016
/* 025A48 80024E48 3C0E8016 */ lui $t6, %hi(D_80164B50) # 0x8016
/* 025A4C 80024E4C 01C87021 */ addu $t6, $t6, $t0
/* 025A50 80024E50 01E87821 */ addu $t7, $t7, $t0
/* 025A54 80024E54 95EF4B60 */ lhu $t7, %lo(D_80164B60)($t7) # 0x4b60($t7)
/* 025A58 80024E58 95CE4B50 */ lhu $t6, %lo(D_80164B50)($t6) # 0x4b50($t6)
/* 025A5C 80024E5C 3C068016 */ lui $a2, %hi(D_80164B30) # 0x8016
/* 025A60 80024E60 AFAF0014 */ sw $t7, 0x14($sp)
/* 025A64 80024E64 AFAE0010 */ sw $t6, 0x10($sp)
/* 025A68 80024E68 861900C6 */ lh $t9, 0xc6($s0)
/* 025A6C 80024E6C 3C078016 */ lui $a3, %hi(D_80164B40) # 0x8016
/* 025A70 80024E70 00E83821 */ addu $a3, $a3, $t0
/* 025A74 80024E74 00C83021 */ addu $a2, $a2, $t0
/* 025A78 80024E78 00A82821 */ addu $a1, $a1, $t0
/* 025A7C 80024E7C 00882021 */ addu $a0, $a0, $t0
/* 025A80 80024E80 94844B10 */ lhu $a0, %lo(D_80164B10)($a0) # 0x4b10
/* 025A84 80024E84 94A54B20 */ lhu $a1, %lo(D_80164B20)($a1) # 0x4b20
/* 025A88 80024E88 94C64B30 */ lhu $a2, %lo(D_80164B30)($a2) # 0x4b30
/* 025A8C 80024E8C 94E74B40 */ lhu $a3, %lo(D_80164B40)($a3) # 0x4b40
/* 025A90 80024E90 0C012D85 */ jal func_8004B614
/* 025A94 80024E94 AFB90018 */ sw $t9, 0x18($sp)
/* 025A98 80024E98 3C038015 */ lui $v1, %hi(gDisplayListHead) # $v1, 0x8015
/* 025A9C 80024E9C 24630298 */ addiu $v1, %lo(gDisplayListHead) # addiu $v1, $v1, 0x298
/* 025AA0 80024EA0 8C620000 */ lw $v0, ($v1)
/* 025AA4 80024EA4 3C0EB900 */ lui $t6, (0xB900031D >> 16) # lui $t6, 0xb900
/* 025AA8 80024EA8 3C0F0050 */ lui $t7, (0x00505978 >> 16) # lui $t7, 0x50
/* 025AAC 80024EAC 24580008 */ addiu $t8, $v0, 8
/* 025AB0 80024EB0 AC780000 */ sw $t8, ($v1)
/* 025AB4 80024EB4 35EF5978 */ ori $t7, (0x00505978 & 0xFFFF) # ori $t7, $t7, 0x5978
/* 025AB8 80024EB8 35CE031D */ ori $t6, (0xB900031D & 0xFFFF) # ori $t6, $t6, 0x31d
/* 025ABC 80024EBC 00128080 */ sll $s0, $s2, 2
/* 025AC0 80024EC0 AC4E0000 */ sw $t6, ($v0)
/* 025AC4 80024EC4 10000166 */ b .L80025460
/* 025AC8 80024EC8 AC4F0004 */ sw $t7, 4($v0)
.L80024ECC:
/* 025ACC 80024ECC 24630298 */ addiu $v1, $v1, %lo(gDisplayListHead) # 0x298
/* 025AD0 80024ED0 8C620000 */ lw $v0, ($v1)
/* 025AD4 80024ED4 3C180102 */ lui $t8, (0x01020040 >> 16) # lui $t8, 0x102
/* 025AD8 80024ED8 37180040 */ ori $t8, (0x01020040 & 0xFFFF) # ori $t8, $t8, 0x40
/* 025ADC 80024EDC 24590008 */ addiu $t9, $v0, 8
/* 025AE0 80024EE0 AC790000 */ sw $t9, ($v1)
/* 025AE4 80024EE4 3C0E8015 */ lui $t6, %hi(gGfxPool) # $t6, 0x8015
/* 025AE8 80024EE8 AC580000 */ sw $t8, ($v0)
/* 025AEC 80024EEC 8DCEEF40 */ lw $t6, %lo(gGfxPool)($t6)
/* 025AF0 80024EF0 00127980 */ sll $t7, $s2, 6
/* 025AF4 80024EF4 3401F2C0 */ li $at, 62144
/* 025AF8 80024EF8 01CFC821 */ addu $t9, $t6, $t7
/* 025AFC 80024EFC 033FC021 */ addu $t8, $t9, $ra
/* 025B00 80024F00 03017021 */ addu $t6, $t8, $at
/* 025B04 80024F04 3C011FFF */ lui $at, (0x1FFFFFFF >> 16) # lui $at, 0x1fff
/* 025B08 80024F08 3421FFFF */ ori $at, (0x1FFFFFFF & 0xFFFF) # ori $at, $at, 0xffff
/* 025B0C 80024F0C 01C17824 */ and $t7, $t6, $at
/* 025B10 80024F10 AC4F0004 */ sw $t7, 4($v0)
/* 025B14 80024F14 8C620000 */ lw $v0, ($v1)
/* 025B18 80024F18 3C0E0D01 */ lui $t6, %hi(D_0D008CD8) # $t6, 0xd01
/* 025B1C 80024F1C 25CE8CD8 */ addiu $t6, %lo(D_0D008CD8) # addiu $t6, $t6, -0x7328
/* 025B20 80024F20 24590008 */ addiu $t9, $v0, 8
/* 025B24 80024F24 AC790000 */ sw $t9, ($v1)
/* 025B28 80024F28 3C180600 */ lui $t8, 0x600
/* 025B2C 80024F2C AC580000 */ sw $t8, ($v0)
/* 025B30 80024F30 AC4E0004 */ sw $t6, 4($v0)
/* 025B34 80024F34 8C620000 */ lw $v0, ($v1)
/* 025B38 80024F38 3C19FD10 */ lui $t9, 0xfd10
/* 025B3C 80024F3C 3C188016 */ lui $t8, %hi(D_80164B04) # $t8, 0x8016
/* 025B40 80024F40 244F0008 */ addiu $t7, $v0, 8
/* 025B44 80024F44 AC6F0000 */ sw $t7, ($v1)
/* 025B48 80024F48 AC590000 */ sw $t9, ($v0)
/* 025B4C 80024F4C 8F184B04 */ lw $t8, %lo(D_80164B04)($t8)
/* 025B50 80024F50 3C0FE800 */ lui $t7, 0xe800
/* 025B54 80024F54 00128080 */ sll $s0, $s2, 2
/* 025B58 80024F58 AC580004 */ sw $t8, 4($v0)
/* 025B5C 80024F5C 8C620000 */ lw $v0, ($v1)
/* 025B60 80024F60 3C18F500 */ lui $t8, (0xF5000100 >> 16) # lui $t8, 0xf500
/* 025B64 80024F64 37180100 */ ori $t8, (0xF5000100 & 0xFFFF) # ori $t8, $t8, 0x100
/* 025B68 80024F68 244E0008 */ addiu $t6, $v0, 8
/* 025B6C 80024F6C AC6E0000 */ sw $t6, ($v1)
/* 025B70 80024F70 AC400004 */ sw $zero, 4($v0)
/* 025B74 80024F74 AC4F0000 */ sw $t7, ($v0)
/* 025B78 80024F78 8C620000 */ lw $v0, ($v1)
/* 025B7C 80024F7C 3C0E0700 */ lui $t6, 0x700
/* 025B80 80024F80 3C048016 */ lui $a0, %hi(D_80164B10) # 0x8016 # fake pointer?
/* 025B84 80024F84 24590008 */ addiu $t9, $v0, 8
/* 025B88 80024F88 AC790000 */ sw $t9, ($v1)
/* 025B8C 80024F8C AC4E0004 */ sw $t6, 4($v0)
/* 025B90 80024F90 AC580000 */ sw $t8, ($v0)
/* 025B94 80024F94 8C620000 */ lw $v0, ($v1)
/* 025B98 80024F98 3C19E600 */ lui $t9, 0xe600
/* 025B9C 80024F9C 3C0EF000 */ lui $t6, 0xf000
/* 025BA0 80024FA0 244F0008 */ addiu $t7, $v0, 8
/* 025BA4 80024FA4 AC6F0000 */ sw $t7, ($v1)
/* 025BA8 80024FA8 AC400004 */ sw $zero, 4($v0)
/* 025BAC 80024FAC AC590000 */ sw $t9, ($v0)
/* 025BB0 80024FB0 8C620000 */ lw $v0, ($v1)
/* 025BB4 80024FB4 3C0F073F */ lui $t7, (0x073FC000 >> 16) # lui $t7, 0x73f
/* 025BB8 80024FB8 35EFC000 */ ori $t7, (0x073FC000 & 0xFFFF) # ori $t7, $t7, 0xc000
/* 025BBC 80024FBC 24580008 */ addiu $t8, $v0, 8
/* 025BC0 80024FC0 AC780000 */ sw $t8, ($v1)
/* 025BC4 80024FC4 AC4F0004 */ sw $t7, 4($v0)
/* 025BC8 80024FC8 AC4E0000 */ sw $t6, ($v0)
/* 025BCC 80024FCC 8C620000 */ lw $v0, ($v1)
/* 025BD0 80024FD0 3C18E700 */ lui $t8, 0xe700
/* 025BD4 80024FD4 3C0FBA00 */ lui $t7, (0xBA000E02 >> 16) # lui $t7, 0xba00
/* 025BD8 80024FD8 24590008 */ addiu $t9, $v0, 8
/* 025BDC 80024FDC AC790000 */ sw $t9, ($v1)
/* 025BE0 80024FE0 AC400004 */ sw $zero, 4($v0)
/* 025BE4 80024FE4 AC580000 */ sw $t8, ($v0)
/* 025BE8 80024FE8 8C620000 */ lw $v0, ($v1)
/* 025BEC 80024FEC 35EF0E02 */ ori $t7, (0xBA000E02 & 0xFFFF) # ori $t7, $t7, 0xe02
/* 025BF0 80024FF0 34198000 */ li $t9, 32768
/* 025BF4 80024FF4 244E0008 */ addiu $t6, $v0, 8
/* 025BF8 80024FF8 AC6E0000 */ sw $t6, ($v1)
/* 025BFC 80024FFC AC4F0000 */ sw $t7, ($v0)
/* 025C00 80025000 AC590004 */ sw $t9, 4($v0)
/* 025C04 80025004 3C0F8019 */ lui $t7, %hi(D_8018D970) # 0x8019
/* 025C08 80025008 3C0E8016 */ lui $t6, %hi(D_80164B60) # 0x8016
/* 025C0C 8002500C 3C188016 */ lui $t8, %hi(D_80164B50) # 0x8016
/* 025C10 80025010 0308C021 */ addu $t8, $t8, $t0
/* 025C14 80025014 01C87021 */ addu $t6, $t6, $t0
/* 025C18 80025018 01F07821 */ addu $t7, $t7, $s0
/* 025C1C 8002501C 8DEFD970 */ lw $t7, %lo(D_8018D970)($t7) # -0x2690
/* 025C20 80025020 95CE4B60 */ lhu $t6, %lo(D_80164B60)($t6) # 0x4b60
/* 025C24 80025024 97184B50 */ lhu $t8, %lo(D_80164B50)($t8) # 0x4b50
/* 025C28 80025028 3C058016 */ lui $a1, %hi(D_80164B20) # 0x8016
/* 025C2C 8002502C 3C068016 */ lui $a2, %hi(D_80164B30) # 0x8016
/* 025C30 80025030 3C078016 */ lui $a3, %hi(D_80164B40) # 0x8016
/* 025C34 80025034 00E83821 */ addu $a3, $a3, $t0
/* 025C38 80025038 00C83021 */ addu $a2, $a2, $t0
/* 025C3C 8002503C 00A82821 */ addu $a1, $a1, $t0
/* 025C40 80025040 00882021 */ addu $a0, $a0, $t0
/* 025C44 80025044 94844B10 */ lhu $a0, %lo(D_80164B10)($a0) # 0x4b10
/* 025C48 80025048 94A54B20 */ lhu $a1, %lo(D_80164B20)($a1) # 0x4b20
/* 025C4C 8002504C 94C64B30 */ lhu $a2, %lo(D_80164B30)($a2) # 0x4b30
/* 025C50 80025050 94E74B40 */ lhu $a3, %lo(D_80164B40)($a3) # 0x4b40
/* 025C54 80025054 AFAF0018 */ sw $t7, 0x18($sp)
/* 025C58 80025058 AFAE0014 */ sw $t6, 0x14($sp)
/* 025C5C 8002505C 0C012D85 */ jal func_8004B614
/* 025C60 80025060 AFB80010 */ sw $t8, 0x10($sp)
/* 025C64 80025064 3C038015 */ lui $v1, %hi(gDisplayListHead) # $v1, 0x8015
/* 025C68 80025068 24630298 */ addiu $v1, %lo(gDisplayListHead) # addiu $v1, $v1, 0x298
/* 025C6C 8002506C 8C620000 */ lw $v0, ($v1)
/* 025C70 80025070 3C18B900 */ lui $t8, (0xB900031D >> 16) # lui $t8, 0xb900
/* 025C74 80025074 3C0E0050 */ lui $t6, (0x00505978 >> 16) # lui $t6, 0x50
/* 025C78 80025078 24590008 */ addiu $t9, $v0, 8
/* 025C7C 8002507C AC790000 */ sw $t9, ($v1)
/* 025C80 80025080 35CE5978 */ ori $t6, (0x00505978 & 0xFFFF) # ori $t6, $t6, 0x5978
/* 025C84 80025084 3718031D */ ori $t8, (0xB900031D & 0xFFFF) # ori $t8, $t8, 0x31d
/* 025C88 80025088 AC580000 */ sw $t8, ($v0)
/* 025C8C 8002508C 100000F4 */ b .L80025460
/* 025C90 80025090 AC4E0004 */ sw $t6, 4($v0)
.L80025094:
/* 025C94 80025094 860F00CA */ lh $t7, 0xca($s0)
/* 025C98 80025098 24010004 */ li $at, 4
/* 025C9C 8002509C 31F90004 */ andi $t9, $t7, 4
/* 025CA0 800250A0 13210007 */ beq $t9, $at, .L800250C0
/* 025CA4 800250A4 00000000 */ nop
/* 025CA8 800250A8 8E02000C */ lw $v0, 0xc($s0)
/* 025CAC 800250AC 0002C100 */ sll $t8, $v0, 4
/* 025CB0 800250B0 07000003 */ bltz $t8, .L800250C0
/* 025CB4 800250B4 00027140 */ sll $t6, $v0, 5
/* 025CB8 800250B8 05C1007A */ bgez $t6, .L800252A4
/* 025CBC 800250BC 3C038015 */ lui $v1, %hi(gDisplayListHead) # 0x8015
.L800250C0:
/* 025CC0 800250C0 3C038015 */ lui $v1, %hi(gDisplayListHead) # $v1, 0x8015
/* 025CC4 800250C4 24630298 */ addiu $v1, %lo(gDisplayListHead) # addiu $v1, $v1, 0x298
/* 025CC8 800250C8 8C620000 */ lw $v0, ($v1)
/* 025CCC 800250CC 3C190102 */ lui $t9, (0x01020040 >> 16) # lui $t9, 0x102
/* 025CD0 800250D0 37390040 */ ori $t9, (0x01020040 & 0xFFFF) # ori $t9, $t9, 0x40
/* 025CD4 800250D4 244F0008 */ addiu $t7, $v0, 8
/* 025CD8 800250D8 AC6F0000 */ sw $t7, ($v1)
/* 025CDC 800250DC 3C188015 */ lui $t8, %hi(gGfxPool) # $t8, 0x8015
/* 025CE0 800250E0 AC590000 */ sw $t9, ($v0)
/* 025CE4 800250E4 8F18EF40 */ lw $t8, %lo(gGfxPool)($t8)
/* 025CE8 800250E8 00127180 */ sll $t6, $s2, 6
/* 025CEC 800250EC 3401F2C0 */ li $at, 62144
/* 025CF0 800250F0 030E7821 */ addu $t7, $t8, $t6
/* 025CF4 800250F4 01FFC821 */ addu $t9, $t7, $ra
/* 025CF8 800250F8 0321C021 */ addu $t8, $t9, $at
/* 025CFC 800250FC 3C011FFF */ lui $at, (0x1FFFFFFF >> 16) # lui $at, 0x1fff
/* 025D00 80025100 3421FFFF */ ori $at, (0x1FFFFFFF & 0xFFFF) # ori $at, $at, 0xffff
/* 025D04 80025104 03017024 */ and $t6, $t8, $at
/* 025D08 80025108 AC4E0004 */ sw $t6, 4($v0)
/* 025D0C 8002510C 8C620000 */ lw $v0, ($v1)
/* 025D10 80025110 3C180D01 */ lui $t8, %hi(D_0D008CD8) # $t8, 0xd01
/* 025D14 80025114 27188CD8 */ addiu $t8, %lo(D_0D008CD8) # addiu $t8, $t8, -0x7328
/* 025D18 80025118 244F0008 */ addiu $t7, $v0, 8
/* 025D1C 8002511C AC6F0000 */ sw $t7, ($v1)
/* 025D20 80025120 3C190600 */ lui $t9, 0x600
/* 025D24 80025124 AC590000 */ sw $t9, ($v0)
/* 025D28 80025128 AC580004 */ sw $t8, 4($v0)
/* 025D2C 8002512C 8C620000 */ lw $v0, ($v1)
/* 025D30 80025130 3C0FFD10 */ lui $t7, 0xfd10
/* 025D34 80025134 3C198016 */ lui $t9, %hi(D_80164B04) # $t9, 0x8016
/* 025D38 80025138 244E0008 */ addiu $t6, $v0, 8
/* 025D3C 8002513C AC6E0000 */ sw $t6, ($v1)
/* 025D40 80025140 AC4F0000 */ sw $t7, ($v0)
/* 025D44 80025144 8F394B04 */ lw $t9, %lo(D_80164B04)($t9)
/* 025D48 80025148 3C0EE800 */ lui $t6, 0xe800
/* 025D4C 8002514C 3C048016 */ lui $a0, %hi(D_80164B10) # 0x8016
/* 025D50 80025150 AC590004 */ sw $t9, 4($v0)
/* 025D54 80025154 8C620000 */ lw $v0, ($v1)
/* 025D58 80025158 3C19F500 */ lui $t9, (0xF5000100 >> 16) # lui $t9, 0xf500
/* 025D5C 8002515C 37390100 */ ori $t9, (0xF5000100 & 0xFFFF) # ori $t9, $t9, 0x100
/* 025D60 80025160 24580008 */ addiu $t8, $v0, 8
/* 025D64 80025164 AC780000 */ sw $t8, ($v1)
/* 025D68 80025168 AC400004 */ sw $zero, 4($v0)
/* 025D6C 8002516C AC4E0000 */ sw $t6, ($v0)
/* 025D70 80025170 8C620000 */ lw $v0, ($v1)
/* 025D74 80025174 3C180700 */ lui $t8, 0x700
/* 025D78 80025178 3C058016 */ lui $a1, %hi(D_80164B20) # 0x8016
/* 025D7C 8002517C 244F0008 */ addiu $t7, $v0, 8
/* 025D80 80025180 AC6F0000 */ sw $t7, ($v1)
/* 025D84 80025184 AC580004 */ sw $t8, 4($v0)
/* 025D88 80025188 AC590000 */ sw $t9, ($v0)
/* 025D8C 8002518C 8C620000 */ lw $v0, ($v1)
/* 025D90 80025190 3C0FE600 */ lui $t7, 0xe600
/* 025D94 80025194 3C18F000 */ lui $t8, 0xf000
/* 025D98 80025198 244E0008 */ addiu $t6, $v0, 8
/* 025D9C 8002519C AC6E0000 */ sw $t6, ($v1)
/* 025DA0 800251A0 AC400004 */ sw $zero, 4($v0)
/* 025DA4 800251A4 AC4F0000 */ sw $t7, ($v0)
/* 025DA8 800251A8 8C620000 */ lw $v0, ($v1)
/* 025DAC 800251AC 3C0E073F */ lui $t6, (0x073FC000 >> 16) # lui $t6, 0x73f
/* 025DB0 800251B0 35CEC000 */ ori $t6, (0x073FC000 & 0xFFFF) # ori $t6, $t6, 0xc000
/* 025DB4 800251B4 24590008 */ addiu $t9, $v0, 8
/* 025DB8 800251B8 AC790000 */ sw $t9, ($v1)
/* 025DBC 800251BC AC4E0004 */ sw $t6, 4($v0)
/* 025DC0 800251C0 AC580000 */ sw $t8, ($v0)
/* 025DC4 800251C4 8C620000 */ lw $v0, ($v1)
/* 025DC8 800251C8 3C19E700 */ lui $t9, 0xe700
/* 025DCC 800251CC 3C0EBA00 */ lui $t6, (0xBA000E02 >> 16) # lui $t6, 0xba00
/* 025DD0 800251D0 244F0008 */ addiu $t7, $v0, 8
/* 025DD4 800251D4 AC6F0000 */ sw $t7, ($v1)
/* 025DD8 800251D8 AC400004 */ sw $zero, 4($v0)
/* 025DDC 800251DC AC590000 */ sw $t9, ($v0)
/* 025DE0 800251E0 8C620000 */ lw $v0, ($v1)
/* 025DE4 800251E4 340F8000 */ li $t7, 32768
/* 025DE8 800251E8 35CE0E02 */ ori $t6, (0xBA000E02 & 0xFFFF) # ori $t6, $t6, 0xe02
/* 025DEC 800251EC 24580008 */ addiu $t8, $v0, 8
/* 025DF0 800251F0 AC780000 */ sw $t8, ($v1)
/* 025DF4 800251F4 AC4F0004 */ sw $t7, 4($v0)
/* 025DF8 800251F8 AC4E0000 */ sw $t6, ($v0)
/* 025DFC 800251FC 3C188016 */ lui $t8, %hi(D_80164B60) # 0x8016
/* 025E00 80025200 3C198016 */ lui $t9, %hi(D_80164B50) # 0x8016
/* 025E04 80025204 0328C821 */ addu $t9, $t9, $t0
/* 025E08 80025208 0308C021 */ addu $t8, $t8, $t0
/* 025E0C 8002520C 97184B60 */ lhu $t8, %lo(D_80164B60)($t8) # 0x4b60
/* 025E10 80025210 97394B50 */ lhu $t9, %lo(D_80164B50)($t9) # 0x4b50
/* 025E14 80025214 3C068016 */ lui $a2, %hi(D_80164B30) # 0x8016
/* 025E18 80025218 AFB80014 */ sw $t8, 0x14($sp)
/* 025E1C 8002521C AFB90010 */ sw $t9, 0x10($sp)
/* 025E20 80025220 860E00C6 */ lh $t6, 0xc6($s0)
/* 025E24 80025224 3C078016 */ lui $a3, %hi(D_80164B40) # 0x8016
/* 025E28 80025228 00E83821 */ addu $a3, $a3, $t0
/* 025E2C 8002522C 00C83021 */ addu $a2, $a2, $t0
/* 025E30 80025230 00A82821 */ addu $a1, $a1, $t0
/* 025E34 80025234 00882021 */ addu $a0, $a0, $t0
/* 025E38 80025238 94844B10 */ lhu $a0, %lo(D_80164B10)($a0) # 0x4b10
/* 025E3C 8002523C 94A54B20 */ lhu $a1, %lo(D_80164B20)($a1) # 0x4b20
/* 025E40 80025240 94C64B30 */ lhu $a2, %lo(D_80164B30)($a2) # 0x4b30
/* 025E44 80025244 94E74B40 */ lhu $a3, %lo(D_80164B40)($a3) # 0x4b40
/* 025E48 80025248 0C012D85 */ jal func_8004B614
/* 025E4C 8002524C AFAE0018 */ sw $t6, 0x18($sp)
/* 025E50 80025250 3C038015 */ lui $v1, %hi(gDisplayListHead) # $v1, 0x8015
/* 025E54 80025254 24630298 */ addiu $v1, %lo(gDisplayListHead) # addiu $v1, $v1, 0x298
/* 025E58 80025258 8C620000 */ lw $v0, ($v1)
/* 025E5C 8002525C 3C19B900 */ lui $t9, (0xB9000002 >> 16) # lui $t9, 0xb900
/* 025E60 80025260 37390002 */ ori $t9, (0xB9000002 & 0xFFFF) # ori $t9, $t9, 2
/* 025E64 80025264 244F0008 */ addiu $t7, $v0, 8
/* 025E68 80025268 AC6F0000 */ sw $t7, ($v1)
/* 025E6C 8002526C 24180003 */ li $t8, 3
/* 025E70 80025270 AC580004 */ sw $t8, 4($v0)
/* 025E74 80025274 AC590000 */ sw $t9, ($v0)
/* 025E78 80025278 8C620000 */ lw $v0, ($v1)
/* 025E7C 8002527C 3C190050 */ lui $t9, (0x00504A50 >> 16) # lui $t9, 0x50
/* 025E80 80025280 3C0FB900 */ lui $t7, (0xB900031D >> 16) # lui $t7, 0xb900
/* 025E84 80025284 244E0008 */ addiu $t6, $v0, 8
/* 025E88 80025288 AC6E0000 */ sw $t6, ($v1)
/* 025E8C 8002528C 35EF031D */ ori $t7, (0xB900031D & 0xFFFF) # ori $t7, $t7, 0x31d
/* 025E90 80025290 37394A50 */ ori $t9, (0x00504A50 & 0xFFFF) # ori $t9, $t9, 0x4a50
/* 025E94 80025294 00128080 */ sll $s0, $s2, 2
/* 025E98 80025298 AC590004 */ sw $t9, 4($v0)
/* 025E9C 8002529C 10000070 */ b .L80025460
/* 025EA0 800252A0 AC4F0000 */ sw $t7, ($v0)
.L800252A4:
/* 025EA4 800252A4 24630298 */ addiu $v1, $v1, %lo(gDisplayListHead) # 0x298
/* 025EA8 800252A8 8C620000 */ lw $v0, ($v1)
/* 025EAC 800252AC 3C0E0102 */ lui $t6, (0x01020040 >> 16) # lui $t6, 0x102
/* 025EB0 800252B0 35CE0040 */ ori $t6, (0x01020040 & 0xFFFF) # ori $t6, $t6, 0x40
/* 025EB4 800252B4 24580008 */ addiu $t8, $v0, 8
/* 025EB8 800252B8 AC780000 */ sw $t8, ($v1)
/* 025EBC 800252BC 3C0F8015 */ lui $t7, %hi(gGfxPool) # $t7, 0x8015
/* 025EC0 800252C0 AC4E0000 */ sw $t6, ($v0)
/* 025EC4 800252C4 8DEFEF40 */ lw $t7, %lo(gGfxPool)($t7)
/* 025EC8 800252C8 0012C980 */ sll $t9, $s2, 6
/* 025ECC 800252CC 3401F2C0 */ li $at, 62144
/* 025ED0 800252D0 01F9C021 */ addu $t8, $t7, $t9
/* 025ED4 800252D4 031F7021 */ addu $t6, $t8, $ra
/* 025ED8 800252D8 01C17821 */ addu $t7, $t6, $at
/* 025EDC 800252DC 3C011FFF */ lui $at, (0x1FFFFFFF >> 16) # lui $at, 0x1fff
/* 025EE0 800252E0 3421FFFF */ ori $at, (0x1FFFFFFF & 0xFFFF) # ori $at, $at, 0xffff
/* 025EE4 800252E4 01E1C824 */ and $t9, $t7, $at
/* 025EE8 800252E8 AC590004 */ sw $t9, 4($v0)
/* 025EEC 800252EC 8C620000 */ lw $v0, ($v1)
/* 025EF0 800252F0 3C0F0D01 */ lui $t7, %hi(D_0D008CD8) # $t7, 0xd01
/* 025EF4 800252F4 25EF8CD8 */ addiu $t7, %lo(D_0D008CD8) # addiu $t7, $t7, -0x7328
/* 025EF8 800252F8 24580008 */ addiu $t8, $v0, 8
/* 025EFC 800252FC AC780000 */ sw $t8, ($v1)
/* 025F00 80025300 3C0E0600 */ lui $t6, 0x600
/* 025F04 80025304 AC4E0000 */ sw $t6, ($v0)
/* 025F08 80025308 AC4F0004 */ sw $t7, 4($v0)
/* 025F0C 8002530C 8C620000 */ lw $v0, ($v1)
/* 025F10 80025310 3C18FD10 */ lui $t8, 0xfd10
/* 025F14 80025314 3C0E8016 */ lui $t6, %hi(D_80164B04) # $t6, 0x8016
/* 025F18 80025318 24590008 */ addiu $t9, $v0, 8
/* 025F1C 8002531C AC790000 */ sw $t9, ($v1)
/* 025F20 80025320 AC580000 */ sw $t8, ($v0)
/* 025F24 80025324 8DCE4B04 */ lw $t6, %lo(D_80164B04)($t6)
/* 025F28 80025328 3C19E800 */ lui $t9, 0xe800
/* 025F2C 8002532C 3C048016 */ lui $a0, %hi(D_80164B10) # 0x8016
/* 025F30 80025330 AC4E0004 */ sw $t6, 4($v0)
/* 025F34 80025334 8C620000 */ lw $v0, ($v1)
/* 025F38 80025338 3C0EF500 */ lui $t6, (0xF5000100 >> 16) # lui $t6, 0xf500
/* 025F3C 8002533C 35CE0100 */ ori $t6, (0xF5000100 & 0xFFFF) # ori $t6, $t6, 0x100
/* 025F40 80025340 244F0008 */ addiu $t7, $v0, 8
/* 025F44 80025344 AC6F0000 */ sw $t7, ($v1)
/* 025F48 80025348 AC400004 */ sw $zero, 4($v0)
/* 025F4C 8002534C AC590000 */ sw $t9, ($v0)
/* 025F50 80025350 8C620000 */ lw $v0, ($v1)
/* 025F54 80025354 3C0F0700 */ lui $t7, 0x700
/* 025F58 80025358 3C058016 */ lui $a1, %hi(D_80164B20) # 0x8016
/* 025F5C 8002535C 24580008 */ addiu $t8, $v0, 8
/* 025F60 80025360 AC780000 */ sw $t8, ($v1)
/* 025F64 80025364 AC4F0004 */ sw $t7, 4($v0)
/* 025F68 80025368 AC4E0000 */ sw $t6, ($v0)
/* 025F6C 8002536C 8C620000 */ lw $v0, ($v1)
/* 025F70 80025370 3C18E600 */ lui $t8, 0xe600
/* 025F74 80025374 3C0FF000 */ lui $t7, 0xf000
/* 025F78 80025378 24590008 */ addiu $t9, $v0, 8
/* 025F7C 8002537C AC790000 */ sw $t9, ($v1)
/* 025F80 80025380 AC400004 */ sw $zero, 4($v0)
/* 025F84 80025384 AC580000 */ sw $t8, ($v0)
/* 025F88 80025388 8C620000 */ lw $v0, ($v1)
/* 025F8C 8002538C 3C19073F */ lui $t9, (0x073FC000 >> 16) # lui $t9, 0x73f
/* 025F90 80025390 3739C000 */ ori $t9, (0x073FC000 & 0xFFFF) # ori $t9, $t9, 0xc000
/* 025F94 80025394 244E0008 */ addiu $t6, $v0, 8
/* 025F98 80025398 AC6E0000 */ sw $t6, ($v1)
/* 025F9C 8002539C AC590004 */ sw $t9, 4($v0)
/* 025FA0 800253A0 AC4F0000 */ sw $t7, ($v0)
/* 025FA4 800253A4 8C620000 */ lw $v0, ($v1)
/* 025FA8 800253A8 3C0EE700 */ lui $t6, 0xe700
/* 025FAC 800253AC 3C19BA00 */ lui $t9, (0xBA000E02 >> 16) # lui $t9, 0xba00
/* 025FB0 800253B0 24580008 */ addiu $t8, $v0, 8
/* 025FB4 800253B4 AC780000 */ sw $t8, ($v1)
/* 025FB8 800253B8 AC400004 */ sw $zero, 4($v0)
/* 025FBC 800253BC AC4E0000 */ sw $t6, ($v0)
/* 025FC0 800253C0 8C620000 */ lw $v0, ($v1)
/* 025FC4 800253C4 34188000 */ li $t8, 32768
/* 025FC8 800253C8 37390E02 */ ori $t9, (0xBA000E02 & 0xFFFF) # ori $t9, $t9, 0xe02
/* 025FCC 800253CC 244F0008 */ addiu $t7, $v0, 8
/* 025FD0 800253D0 AC6F0000 */ sw $t7, ($v1)
/* 025FD4 800253D4 AC580004 */ sw $t8, 4($v0)
/* 025FD8 800253D8 AC590000 */ sw $t9, ($v0)
/* 025FDC 800253DC 3C0F8016 */ lui $t7, %hi(D_80164B60) # 0x8016
/* 025FE0 800253E0 3C0E8016 */ lui $t6, %hi(D_80164B50) # 0x8016
/* 025FE4 800253E4 01C87021 */ addu $t6, $t6, $t0
/* 025FE8 800253E8 01E87821 */ addu $t7, $t7, $t0
/* 025FEC 800253EC 95EF4B60 */ lhu $t7, %lo(D_80164B60)($t7) # 0x4b60
/* 025FF0 800253F0 95CE4B50 */ lhu $t6, %lo(D_80164B50)($t6) # 0x4b50
/* 025FF4 800253F4 3C068016 */ lui $a2, %hi(D_80164B30) # 0x8016
/* 025FF8 800253F8 AFAF0014 */ sw $t7, 0x14($sp)
/* 025FFC 800253FC AFAE0010 */ sw $t6, 0x10($sp)
/* 026000 80025400 861900C6 */ lh $t9, 0xc6($s0)
/* 026004 80025404 3C078016 */ lui $a3, %hi(D_80164B40) # 0x8016
/* 026008 80025408 00E83821 */ addu $a3, $a3, $t0
/* 02600C 8002540C 00C83021 */ addu $a2, $a2, $t0
/* 026010 80025410 00A82821 */ addu $a1, $a1, $t0
/* 026014 80025414 00882021 */ addu $a0, $a0, $t0
/* 026018 80025418 94844B10 */ lhu $a0, %lo(D_80164B10)($a0) # 0x4b10
/* 02601C 8002541C 94A54B20 */ lhu $a1, %lo(D_80164B20)($a1) # 0x4b20
/* 026020 80025420 94C64B30 */ lhu $a2, %lo(D_80164B30)($a2) # 0x4b30
/* 026024 80025424 94E74B40 */ lhu $a3, %lo(D_80164B40)($a3) # 0x4b40
/* 026028 80025428 0C012D85 */ jal func_8004B614
/* 02602C 8002542C AFB90018 */ sw $t9, 0x18($sp)
/* 026030 80025430 3C038015 */ lui $v1, %hi(gDisplayListHead) # $v1, 0x8015
/* 026034 80025434 24630298 */ addiu $v1, %lo(gDisplayListHead) # addiu $v1, $v1, 0x298
/* 026038 80025438 8C620000 */ lw $v0, ($v1)
/* 02603C 8002543C 3C0EB900 */ lui $t6, (0xB900031D >> 16) # lui $t6, 0xb900
/* 026040 80025440 3C0F0055 */ lui $t7, (0x00553078 >> 16) # lui $t7, 0x55
/* 026044 80025444 24580008 */ addiu $t8, $v0, 8
/* 026048 80025448 AC780000 */ sw $t8, ($v1)
/* 02604C 8002544C 35EF3078 */ ori $t7, (0x00553078 & 0xFFFF) # ori $t7, $t7, 0x3078
/* 026050 80025450 35CE031D */ ori $t6, (0xB900031D & 0xFFFF) # ori $t6, $t6, 0x31d
/* 026054 80025454 00128080 */ sll $s0, $s2, 2
/* 026058 80025458 AC4E0000 */ sw $t6, ($v0)
/* 02605C 8002545C AC4F0004 */ sw $t7, 4($v0)
.L80025460:
/* 026060 80025460 8C620000 */ lw $v0, ($v1)
/* 026064 80025464 3C11FD50 */ lui $s1, 0xfd50
/* 026068 80025468 3C188016 */ lui $t8, %hi(D_80164B08) # $t8, 0x8016
/* 02606C 8002546C 24590008 */ addiu $t9, $v0, 8
/* 026070 80025470 AC790000 */ sw $t9, ($v1)
/* 026074 80025474 AC510000 */ sw $s1, ($v0)
/* 026078 80025478 8F184B08 */ lw $t8, %lo(D_80164B08)($t8)
/* 02607C 8002547C 3C0F0708 */ lui $t7, (0x07080200 >> 16) # lui $t7, 0x708
/* 026080 80025480 3C12F550 */ lui $s2, 0xf550
/* 026084 80025484 AC580004 */ sw $t8, 4($v0)
/* 026088 80025488 8C620000 */ lw $v0, ($v1)
/* 02608C 8002548C 35EF0200 */ ori $t7, (0x07080200 & 0xFFFF) # ori $t7, $t7, 0x200
/* 026090 80025490 3C18E600 */ lui $t8, 0xe600
/* 026094 80025494 244E0008 */ addiu $t6, $v0, 8
/* 026098 80025498 AC6E0000 */ sw $t6, ($v1)
/* 02609C 8002549C AC4F0004 */ sw $t7, 4($v0)
/* 0260A0 800254A0 AC520000 */ sw $s2, ($v0)
/* 0260A4 800254A4 8C620000 */ lw $v0, ($v1)
/* 0260A8 800254A8 3C0FF300 */ lui $t7, 0xf300
/* 0260AC 800254AC 3C1F0D01 */ lui $ra, %hi(D_0D008C78) # $ra, 0xd01
/* 0260B0 800254B0 24590008 */ addiu $t9, $v0, 8
/* 0260B4 800254B4 AC790000 */ sw $t9, ($v1)
/* 0260B8 800254B8 AC400004 */ sw $zero, 4($v0)
/* 0260BC 800254BC AC580000 */ sw $t8, ($v0)
/* 0260C0 800254C0 8C620000 */ lw $v0, ($v1)
/* 0260C4 800254C4 3C19073F */ lui $t9, (0x073FF100 >> 16) # lui $t9, 0x73f
/* 0260C8 800254C8 3739F100 */ ori $t9, (0x073FF100 & 0xFFFF) # ori $t9, $t9, 0xf100
/* 0260CC 800254CC 244E0008 */ addiu $t6, $v0, 8
/* 0260D0 800254D0 AC6E0000 */ sw $t6, ($v1)
/* 0260D4 800254D4 AC590004 */ sw $t9, 4($v0)
/* 0260D8 800254D8 AC4F0000 */ sw $t7, ($v0)
/* 0260DC 800254DC 8C620000 */ lw $v0, ($v1)
/* 0260E0 800254E0 3C0EE700 */ lui $t6, 0xe700
/* 0260E4 800254E4 3C19F548 */ lui $t9, (0xF5481000 >> 16) # lui $t9, 0xf548
/* 0260E8 800254E8 24580008 */ addiu $t8, $v0, 8
/* 0260EC 800254EC AC780000 */ sw $t8, ($v1)
/* 0260F0 800254F0 AC400004 */ sw $zero, 4($v0)
/* 0260F4 800254F4 AC4E0000 */ sw $t6, ($v0)
/* 0260F8 800254F8 8C620000 */ lw $v0, ($v1)
/* 0260FC 800254FC 3C180008 */ lui $t8, (0x00080200 >> 16) # lui $t8, 8
/* 026100 80025500 37180200 */ ori $t8, (0x00080200 & 0xFFFF) # ori $t8, $t8, 0x200
/* 026104 80025504 244F0008 */ addiu $t7, $v0, 8
/* 026108 80025508 AC6F0000 */ sw $t7, ($v1)
/* 02610C 8002550C 37391000 */ ori $t9, (0xF5481000 & 0xFFFF) # ori $t9, $t9, 0x1000
/* 026110 80025510 AC590000 */ sw $t9, ($v0)
/* 026114 80025514 AC580004 */ sw $t8, 4($v0)
/* 026118 80025518 8C620000 */ lw $v0, ($v1)
/* 02611C 8002551C 3C19000F */ lui $t9, (0x000FC07C >> 16) # lui $t9, 0xf
/* 026120 80025520 3739C07C */ ori $t9, (0x000FC07C & 0xFFFF) # ori $t9, $t9, 0xc07c
/* 026124 80025524 244E0008 */ addiu $t6, $v0, 8
/* 026128 80025528 AC6E0000 */ sw $t6, ($v1)
/* 02612C 8002552C 3C0FF200 */ lui $t7, 0xf200
/* 026130 80025530 AC4F0000 */ sw $t7, ($v0)
/* 026134 80025534 AC590004 */ sw $t9, 4($v0)
/* 026138 80025538 8C620000 */ lw $v0, ($v1)
/* 02613C 8002553C 3C0E0400 */ lui $t6, (0x0400103F >> 16) # lui $t6, 0x400
/* 026140 80025540 35CE103F */ ori $t6, (0x0400103F & 0xFFFF) # ori $t6, $t6, 0x103f
/* 026144 80025544 24580008 */ addiu $t8, $v0, 8
/* 026148 80025548 AC780000 */ sw $t8, ($v1)
/* 02614C 8002554C 3C0F800E */ lui $t7, %hi(D_800DDBB4) # $t7, 0x800e
/* 026150 80025550 25EFDBB4 */ addiu $t7, %lo(D_800DDBB4) # addiu $t7, $t7, -0x244c
/* 026154 80025554 AC4E0000 */ sw $t6, ($v0)
/* 026158 80025558 83B801F7 */ lb $t8, 0x1f7($sp)
/* 02615C 8002555C 020F6821 */ addu $t5, $s0, $t7
/* 026160 80025560 8DB90000 */ lw $t9, ($t5)
/* 026164 80025564 00187100 */ sll $t6, $t8, 4
/* 026168 80025568 27FF8C78 */ addiu $ra, %lo(D_0D008C78) # addiu $ra, $ra, -0x7388
/* 02616C 8002556C 032E7821 */ addu $t7, $t9, $t6
/* 026170 80025570 AC4F0004 */ sw $t7, 4($v0)
/* 026174 80025574 8C620000 */ lw $v0, ($v1)
/* 026178 80025578 3C190600 */ lui $t9, 0x600
/* 02617C 8002557C 3C0F8016 */ lui $t7, %hi(D_80164B0C) # $t7, 0x8016
/* 026180 80025580 24580008 */ addiu $t8, $v0, 8
/* 026184 80025584 AC780000 */ sw $t8, ($v1)
/* 026188 80025588 AC5F0004 */ sw $ra, 4($v0)
/* 02618C 8002558C AC590000 */ sw $t9, ($v0)
/* 026190 80025590 8C620000 */ lw $v0, ($v1)
/* 026194 80025594 3C190708 */ lui $t9, (0x07080200 >> 16) # lui $t9, 0x708
/* 026198 80025598 37390200 */ ori $t9, (0x07080200 & 0xFFFF) # ori $t9, $t9, 0x200
/* 02619C 8002559C 244E0008 */ addiu $t6, $v0, 8
/* 0261A0 800255A0 AC6E0000 */ sw $t6, ($v1)
/* 0261A4 800255A4 AC510000 */ sw $s1, ($v0)
/* 0261A8 800255A8 8DEF4B0C */ lw $t7, %lo(D_80164B0C)($t7)
/* 0261AC 800255AC AC4F0004 */ sw $t7, 4($v0)
/* 0261B0 800255B0 8C620000 */ lw $v0, ($v1)
/* 0261B4 800255B4 3C0FE600 */ lui $t7, 0xe600
/* 0261B8 800255B8 24580008 */ addiu $t8, $v0, 8
/* 0261BC 800255BC AC780000 */ sw $t8, ($v1)
/* 0261C0 800255C0 AC590004 */ sw $t9, 4($v0)
/* 0261C4 800255C4 AC520000 */ sw $s2, ($v0)
/* 0261C8 800255C8 8C620000 */ lw $v0, ($v1)
/* 0261CC 800255CC 3C19F300 */ lui $t9, 0xf300
/* 0261D0 800255D0 244E0008 */ addiu $t6, $v0, 8
/* 0261D4 800255D4 AC6E0000 */ sw $t6, ($v1)
/* 0261D8 800255D8 AC400004 */ sw $zero, 4($v0)
/* 0261DC 800255DC AC4F0000 */ sw $t7, ($v0)
/* 0261E0 800255E0 8C620000 */ lw $v0, ($v1)
/* 0261E4 800255E4 3C0E073F */ lui $t6, (0x073FF100 >> 16) # lui $t6, 0x73f
/* 0261E8 800255E8 35CEF100 */ ori $t6, (0x073FF100 & 0xFFFF) # ori $t6, $t6, 0xf100
/* 0261EC 800255EC 24580008 */ addiu $t8, $v0, 8
/* 0261F0 800255F0 AC780000 */ sw $t8, ($v1)
/* 0261F4 800255F4 AC4E0004 */ sw $t6, 4($v0)
/* 0261F8 800255F8 AC590000 */ sw $t9, ($v0)
/* 0261FC 800255FC 8C620000 */ lw $v0, ($v1)
/* 026200 80025600 3C18E700 */ lui $t8, 0xe700
/* 026204 80025604 3C0EF548 */ lui $t6, (0xF5481000 >> 16) # lui $t6, 0xf548
/* 026208 80025608 244F0008 */ addiu $t7, $v0, 8
/* 02620C 8002560C AC6F0000 */ sw $t7, ($v1)
/* 026210 80025610 AC400004 */ sw $zero, 4($v0)
/* 026214 80025614 AC580000 */ sw $t8, ($v0)
/* 026218 80025618 8C620000 */ lw $v0, ($v1)
/* 02621C 8002561C 3C0F0008 */ lui $t7, (0x00080200 >> 16) # lui $t7, 8
/* 026220 80025620 35EF0200 */ ori $t7, (0x00080200 & 0xFFFF) # ori $t7, $t7, 0x200
/* 026224 80025624 24590008 */ addiu $t9, $v0, 8
/* 026228 80025628 AC790000 */ sw $t9, ($v1)
/* 02622C 8002562C 35CE1000 */ ori $t6, (0xF5481000 & 0xFFFF) # ori $t6, $t6, 0x1000
/* 026230 80025630 AC4E0000 */ sw $t6, ($v0)
/* 026234 80025634 AC4F0004 */ sw $t7, 4($v0)
/* 026238 80025638 8C620000 */ lw $v0, ($v1)
/* 02623C 8002563C 3C0E000F */ lui $t6, (0x000FC07C >> 16) # lui $t6, 0xf
/* 026240 80025640 35CEC07C */ ori $t6, (0x000FC07C & 0xFFFF) # ori $t6, $t6, 0xc07c
/* 026244 80025644 24580008 */ addiu $t8, $v0, 8
/* 026248 80025648 AC780000 */ sw $t8, ($v1)
/* 02624C 8002564C 3C19F200 */ lui $t9, 0xf200
/* 026250 80025650 AC590000 */ sw $t9, ($v0)
/* 026254 80025654 AC4E0004 */ sw $t6, 4($v0)
/* 026258 80025658 8C620000 */ lw $v0, ($v1)
/* 02625C 8002565C 3C180400 */ lui $t8, (0x0400103F >> 16) # lui $t8, 0x400
/* 026260 80025660 3718103F */ ori $t8, (0x0400103F & 0xFFFF) # ori $t8, $t8, 0x103f
/* 026264 80025664 244F0008 */ addiu $t7, $v0, 8
/* 026268 80025668 AC6F0000 */ sw $t7, ($v1)
/* 02626C 8002566C AC580000 */ sw $t8, ($v0)
/* 026270 80025670 83AE01F7 */ lb $t6, 0x1f7($sp)
/* 026274 80025674 8DB90000 */ lw $t9, ($t5)
/* 026278 80025678 25CF0004 */ addiu $t7, $t6, 4
/* 02627C 8002567C 000FC100 */ sll $t8, $t7, 4
/* 026280 80025680 03387021 */ addu $t6, $t9, $t8
/* 026284 80025684 AC4E0004 */ sw $t6, 4($v0)
/* 026288 80025688 8C620000 */ lw $v0, ($v1)
/* 02628C 8002568C 3C190600 */ lui $t9, 0x600
/* 026290 80025690 3C0EBB00 */ lui $t6, 0xbb00
/* 026294 80025694 244F0008 */ addiu $t7, $v0, 8
/* 026298 80025698 AC6F0000 */ sw $t7, ($v1)
/* 02629C 8002569C AC5F0004 */ sw $ra, 4($v0)
/* 0262A0 800256A0 AC590000 */ sw $t9, ($v0)
/* 0262A4 800256A4 8C620000 */ lw $v0, ($v1)
/* 0262A8 800256A8 3C0F0001 */ lui $t7, (0x00010001 >> 16) # lui $t7, 1
/* 0262AC 800256AC 35EF0001 */ ori $t7, (0x00010001 & 0xFFFF) # ori $t7, $t7, 1
/* 0262B0 800256B0 24580008 */ addiu $t8, $v0, 8
/* 0262B4 800256B4 AC780000 */ sw $t8, ($v1)
/* 0262B8 800256B8 AC4F0004 */ sw $t7, 4($v0)
/* 0262BC 800256BC AC4E0000 */ sw $t6, ($v0)
/* 0262C0 800256C0 8C620000 */ lw $v0, ($v1)
/* 0262C4 800256C4 3C18B900 */ lui $t8, (0xB9000002 >> 16) # lui $t8, 0xb900
/* 0262C8 800256C8 37180002 */ ori $t8, (0xB9000002 & 0xFFFF) # ori $t8, $t8, 2
/* 0262CC 800256CC 24590008 */ addiu $t9, $v0, 8
/* 0262D0 800256D0 AC790000 */ sw $t9, ($v1)
/* 0262D4 800256D4 AC400004 */ sw $zero, 4($v0)
/* 0262D8 800256D8 AC580000 */ sw $t8, ($v0)
/* 0262DC 800256DC 8FBF0034 */ lw $ra, 0x34($sp)
/* 0262E0 800256E0 8FB20030 */ lw $s2, 0x30($sp)
/* 0262E4 800256E4 8FB1002C */ lw $s1, 0x2c($sp)
/* 0262E8 800256E8 8FB00028 */ lw $s0, 0x28($sp)
/* 0262EC 800256EC 03E00008 */ jr $ra
/* 0262F0 800256F0 27BD01E8 */ addiu $sp, $sp, 0x1e8
glabel func_800256F4
/* 0262F4 800256F4 27BDFE90 */ addiu $sp, $sp, -0x170
/* 0262F8 800256F8 3C188016 */ lui $t8, %hi(D_8015F890) # $t8, 0x8016
/* 0262FC 800256FC 9718F890 */ lhu $t8, %lo(D_8015F890)($t8)
/* 026300 80025700 AFB20030 */ sw $s2, 0x30($sp)
/* 026304 80025704 AFB00028 */ sw $s0, 0x28($sp)
/* 026308 80025708 00068600 */ sll $s0, $a2, 0x18
/* 02630C 8002570C 00059600 */ sll $s2, $a1, 0x18
/* 026310 80025710 00127603 */ sra $t6, $s2, 0x18
/* 026314 80025714 00107E03 */ sra $t7, $s0, 0x18
/* 026318 80025718 AFB1002C */ sw $s1, 0x2c($sp)
/* 02631C 8002571C 24010001 */ li $at, 1
/* 026320 80025720 00808825 */ move $s1, $a0
/* 026324 80025724 01E08025 */ move $s0, $t7
/* 026328 80025728 01C09025 */ move $s2, $t6
/* 02632C 8002572C AFBF0034 */ sw $ra, 0x34($sp)
/* 026330 80025730 AFA50174 */ sw $a1, 0x174($sp)
/* 026334 80025734 AFA60178 */ sw $a2, 0x178($sp)
/* 026338 80025738 17010004 */ bne $t8, $at, .L8002574C
/* 02633C 8002573C AFA7017C */ sw $a3, 0x17c($sp)
/* 026340 80025740 241900FF */ li $t9, 255
/* 026344 80025744 10000003 */ b .L80025754
/* 026348 80025748 A7B900C2 */ sh $t9, 0xc2($sp)
.L8002574C:
/* 02634C 8002574C 240E0070 */ li $t6, 112
/* 026350 80025750 A7AE00C2 */ sh $t6, 0xc2($sp)
.L80025754:
/* 026354 80025754 00107840 */ sll $t7, $s0, 1
/* 026358 80025758 022F1021 */ addu $v0, $s1, $t7
/* 02635C 8002575C 84580048 */ lh $t8, 0x48($v0)
/* 026360 80025760 8639002E */ lh $t9, 0x2e($s1)
/* 026364 80025764 AFA20044 */ sw $v0, 0x44($sp)
/* 026368 80025768 03197823 */ subu $t7, $t8, $t9
/* 02636C 8002576C 0C0AE006 */ jal func_802B8018
/* 026370 80025770 31E4FFFF */ andi $a0, $t7, 0xffff
/* 026374 80025774 44801000 */ mtc1 $zero, $f2
/* 026378 80025778 3C01800F */ lui $at, %hi(D_800ED6D8)
/* 02637C 8002577C D430D6D8 */ ldc1 $f16, %lo(D_800ED6D8)($at)
/* 026380 80025780 46020102 */ mul.s $f4, $f0, $f2
/* 026384 80025784 8FA20044 */ lw $v0, 0x44($sp)
/* 026388 80025788 3C013FC0 */ li $at, 0x3FC00000 # 1.500000
/* 02638C 8002578C 44071000 */ mfc1 $a3, $f2
/* 026390 80025790 27A400D0 */ addiu $a0, $sp, 0xd0
/* 026394 80025794 27A500CC */ addiu $a1, $sp, 0xcc
/* 026398 80025798 27A600C8 */ addiu $a2, $sp, 0xc8
/* 02639C 8002579C 4600218D */ trunc.w.s $f6, $f4
/* 0263A0 800257A0 44193000 */ mfc1 $t9, $f6
/* 0263A4 800257A4 44813000 */ mtc1 $at, $f6
/* 0263A8 800257A8 00197400 */ sll $t6, $t9, 0x10
/* 0263AC 800257AC 000E7C03 */ sra $t7, $t6, 0x10
/* 0263B0 800257B0 000FC023 */ negu $t8, $t7
/* 0263B4 800257B4 44984000 */ mtc1 $t8, $f8
/* 0263B8 800257B8 00000000 */ nop
/* 0263BC 800257BC 468042A1 */ cvt.d.w $f10, $f8
/* 0263C0 800257C0 46305482 */ mul.d $f18, $f10, $f16
/* 0263C4 800257C4 4620910D */ trunc.w.d $f4, $f18
/* 0263C8 800257C8 440E2000 */ mfc1 $t6, $f4
/* 0263CC 800257CC 00000000 */ nop
/* 0263D0 800257D0 A7AE00D4 */ sh $t6, 0xd4($sp)
/* 0263D4 800257D4 844F0048 */ lh $t7, 0x48($v0)
/* 0263D8 800257D8 A7AF00D6 */ sh $t7, 0xd6($sp)
/* 0263DC 800257DC 84580050 */ lh $t8, 0x50($v0)
/* 0263E0 800257E0 E7A20014 */ swc1 $f2, 0x14($sp)
/* 0263E4 800257E4 E7A60010 */ swc1 $f6, 0x10($sp)
/* 0263E8 800257E8 A7B800D8 */ sh $t8, 0xd8($sp)
/* 0263EC 800257EC 84590048 */ lh $t9, 0x48($v0)
/* 0263F0 800257F0 00197023 */ negu $t6, $t9
/* 0263F4 800257F4 AFAE0018 */ sw $t6, 0x18($sp)
/* 0263F8 800257F8 844F0050 */ lh $t7, 0x50($v0)
/* 0263FC 800257FC 0C018AC6 */ jal func_80062B18
/* 026400 80025800 AFAF001C */ sw $t7, 0x1c($sp)
/* 026404 80025804 C6280018 */ lwc1 $f8, 0x18($s1)
/* 026408 80025808 C62A0070 */ lwc1 $f10, 0x70($s1)
/* 02640C 8002580C C7A400CC */ lwc1 $f4, 0xcc($sp)
/* 026410 80025810 3C014000 */ li $at, 0x40000000 # 2.000000
/* 026414 80025814 460A4401 */ sub.s $f16, $f8, $f10
/* 026418 80025818 44804000 */ mtc1 $zero, $f8
/* 02641C 8002581C 44814800 */ mtc1 $at, $f9
/* 026420 80025820 460021A1 */ cvt.d.s $f6, $f4
/* 026424 80025824 460084A1 */ cvt.d.s $f18, $f16
/* 026428 80025828 46283281 */ sub.d $f10, $f6, $f8
/* 02642C 8002582C C7A800D0 */ lwc1 $f8, 0xd0($sp)
/* 026430 80025830 00126840 */ sll $t5, $s2, 1
/* 026434 80025834 0010C100 */ sll $t8, $s0, 4
/* 026438 80025838 462A9400 */ add.d $f16, $f18, $f10
/* 02643C 8002583C 030DC821 */ addu $t9, $t8, $t5
/* 026440 80025840 3C038016 */ lui $v1, %hi(D_801651D0) # 0x8016
/* 026444 80025844 00791821 */ addu $v1, $v1, $t9
/* 026448 80025848 46208120 */ cvt.s.d $f4, $f16
/* 02644C 8002584C 846351D0 */ lh $v1, %lo(D_801651D0)($v1) # 0x51d0
/* 026450 80025850 C7B000C8 */ lwc1 $f16, 0xc8($sp)
/* 026454 80025854 00107B00 */ sll $t7, $s0, 0xc
/* 026458 80025858 E7A400E0 */ swc1 $f4, 0xe0($sp)
/* 02645C 8002585C C6260014 */ lwc1 $f6, 0x14($s1)
/* 026460 80025860 00037380 */ sll $t6, $v1, 0xe
/* 026464 80025864 01CFC021 */ addu $t8, $t6, $t7
/* 026468 80025868 46083480 */ add.s $f18, $f6, $f8
/* 02646C 8002586C 00127240 */ sll $t6, $s2, 9
/* 026470 80025870 3C19802F */ lui $t9, %hi(D_802F1F80) # $t9, 0x802f
/* 026474 80025874 27391F80 */ addiu $t9, %lo(D_802F1F80) # addiu $t9, $t9, 0x1f80
/* 026478 80025878 E7B200DC */ swc1 $f18, 0xdc($sp)
/* 02647C 8002587C C62A001C */ lwc1 $f10, 0x1c($s1)
/* 026480 80025880 030E7821 */ addu $t7, $t8, $t6
/* 026484 80025884 01F9C021 */ addu $t8, $t7, $t9
/* 026488 80025888 46105100 */ add.s $f4, $f10, $f16
/* 02648C 8002588C 3C018016 */ lui $at, %hi(D_80164B04) # $at, 0x8016
/* 026490 80025890 AC384B04 */ sw $t8, %lo(D_80164B04)($at)
/* 026494 80025894 12000004 */ beqz $s0, .L800258A8
/* 026498 80025898 E7A400E4 */ swc1 $f4, 0xe4($sp)
/* 02649C 8002589C 24010001 */ li $at, 1
/* 0264A0 800258A0 1601000F */ bne $s0, $at, .L800258E0
/* 0264A4 800258A4 0003C400 */ sll $t8, $v1, 0x10
.L800258A8:
/* 0264A8 800258A8 00037400 */ sll $t6, $v1, 0x10
/* 0264AC 800258AC 00107BC0 */ sll $t7, $s0, 0xf
/* 0264B0 800258B0 01CFC821 */ addu $t9, $t6, $t7
/* 0264B4 800258B4 3C0F802C */ lui $t7, %hi(D_802BFB80) # $t7, 0x802c
/* 0264B8 800258B8 0012C300 */ sll $t8, $s2, 0xc
/* 0264BC 800258BC 03387021 */ addu $t6, $t9, $t8
/* 0264C0 800258C0 25EFFB80 */ addiu $t7, %lo(D_802BFB80) # addiu $t7, $t7, -0x480
/* 0264C4 800258C4 01CF1021 */ addu $v0, $t6, $t7
/* 0264C8 800258C8 3C018016 */ lui $at, %hi(D_80164B08) # $at, 0x8016
/* 0264CC 800258CC AC224B08 */ sw $v0, %lo(D_80164B08)($at)
/* 0264D0 800258D0 3C018016 */ lui $at, %hi(D_80164B0C) # $at, 0x8016
/* 0264D4 800258D4 245907C0 */ addiu $t9, $v0, 0x7c0
/* 0264D8 800258D8 10000012 */ b .L80025924
/* 0264DC 800258DC AC394B0C */ sw $t9, %lo(D_80164B0C)($at)
.L800258E0:
/* 0264E0 800258E0 001073C0 */ sll $t6, $s0, 0xf
/* 0264E4 800258E4 030E7821 */ addu $t7, $t8, $t6
/* 0264E8 800258E8 3C0E802C */ lui $t6, %hi(D_802BFB80) # $t6, 0x802c
/* 0264EC 800258EC 0012CB00 */ sll $t9, $s2, 0xc
/* 0264F0 800258F0 01F9C021 */ addu $t8, $t7, $t9
/* 0264F4 800258F4 25CEFB80 */ addiu $t6, %lo(D_802BFB80) # addiu $t6, $t6, -0x480
/* 0264F8 800258F8 3C01FFFF */ lui $at, (0xFFFF4000 >> 16) # lui $at, 0xffff
/* 0264FC 800258FC 34214000 */ ori $at, (0xFFFF4000 & 0xFFFF) # ori $at, $at, 0x4000
/* 026500 80025900 030E1021 */ addu $v0, $t8, $t6
/* 026504 80025904 00417821 */ addu $t7, $v0, $at
/* 026508 80025908 3C018016 */ lui $at, %hi(D_80164B08) # $at, 0x8016
/* 02650C 8002590C AC2F4B08 */ sw $t7, %lo(D_80164B08)($at)
/* 026510 80025910 3C01FFFF */ lui $at, (0xFFFF47C0 >> 16) # lui $at, 0xffff
/* 026514 80025914 342147C0 */ ori $at, (0xFFFF47C0 & 0xFFFF) # ori $at, $at, 0x47c0
/* 026518 80025918 0041C821 */ addu $t9, $v0, $at
/* 02651C 8002591C 3C018016 */ lui $at, %hi(D_80164B0C) # $at, 0x8016
/* 026520 80025920 AC394B0C */ sw $t9, %lo(D_80164B0C)($at)
.L80025924:
/* 026524 80025924 27A4012C */ addiu $a0, $sp, 0x12c
/* 026528 80025928 27A500DC */ addiu $a1, $sp, 0xdc
/* 02652C 8002592C 27A600D4 */ addiu $a2, $sp, 0xd4
/* 026530 80025930 0C008784 */ jal func_80021E10
/* 026534 80025934 AFAD0044 */ sw $t5, 0x44($sp)
/* 026538 80025938 96380254 */ lhu $t8, 0x254($s1)
/* 02653C 8002593C 3C01800E */ lui $at, %hi(D_800DDBD4)
/* 026540 80025940 C6280224 */ lwc1 $f8, 0x224($s1)
/* 026544 80025944 00187080 */ sll $t6, $t8, 2
/* 026548 80025948 002E0821 */ addu $at, $at, $t6
/* 02654C 8002594C C426DBD4 */ lwc1 $f6, %lo(D_800DDBD4)($at)
/* 026550 80025950 27A4012C */ addiu $a0, $sp, 0x12c
/* 026554 80025954 46083482 */ mul.s $f18, $f6, $f8
/* 026558 80025958 44059000 */ mfc1 $a1, $f18
/* 02655C 8002595C 0C0087E1 */ jal func_80021F84
/* 026560 80025960 00000000 */ nop
/* 026564 80025964 3C198015 */ lui $t9, %hi(gGfxPool) # $t9, 0x8015
/* 026568 80025968 8F39EF40 */ lw $t9, %lo(gGfxPool)($t9)
/* 02656C 8002596C 02008825 */ move $s1, $s0
/* 026570 80025970 0012C180 */ sll $t8, $s2, 6
/* 026574 80025974 00117A40 */ sll $t7, $s1, 9
/* 026578 80025978 03387021 */ addu $t6, $t9, $t8
/* 02657C 8002597C 01CF2021 */ addu $a0, $t6, $t7
/* 026580 80025980 3401F2C0 */ li $at, 62144
/* 026584 80025984 00812021 */ addu $a0, $a0, $at
/* 026588 80025988 01E08825 */ move $s1, $t7
/* 02658C 8002598C 0C008860 */ jal func_80022180
/* 026590 80025990 27A5012C */ addiu $a1, $sp, 0x12c
/* 026594 80025994 3C038015 */ lui $v1, %hi(gDisplayListHead) # $v1, 0x8015
/* 026598 80025998 24630298 */ addiu $v1, %lo(gDisplayListHead) # addiu $v1, $v1, 0x298
/* 02659C 8002599C 8C620000 */ lw $v0, ($v1)
/* 0265A0 800259A0 3C190102 */ lui $t9, (0x01020040 >> 16) # lui $t9, 0x102
/* 0265A4 800259A4 8FAD0044 */ lw $t5, 0x44($sp)
/* 0265A8 800259A8 244F0008 */ addiu $t7, $v0, 8
/* 0265AC 800259AC AC6F0000 */ sw $t7, ($v1)
/* 0265B0 800259B0 37390040 */ ori $t9, (0x01020040 & 0xFFFF) # ori $t9, $t9, 0x40
/* 0265B4 800259B4 3C188015 */ lui $t8, %hi(gGfxPool) # $t8, 0x8015
/* 0265B8 800259B8 AC590000 */ sw $t9, ($v0)
/* 0265BC 800259BC 8F18EF40 */ lw $t8, %lo(gGfxPool)($t8)
/* 0265C0 800259C0 00127180 */ sll $t6, $s2, 6
/* 0265C4 800259C4 3401F2C0 */ li $at, 62144
/* 0265C8 800259C8 030E7821 */ addu $t7, $t8, $t6
/* 0265CC 800259CC 01F1C821 */ addu $t9, $t7, $s1
/* 0265D0 800259D0 0321C021 */ addu $t8, $t9, $at
/* 0265D4 800259D4 3C011FFF */ lui $at, (0x1FFFFFFF >> 16) # lui $at, 0x1fff
/* 0265D8 800259D8 3421FFFF */ ori $at, (0x1FFFFFFF & 0xFFFF) # ori $at, $at, 0xffff
/* 0265DC 800259DC 03017024 */ and $t6, $t8, $at
/* 0265E0 800259E0 AC4E0004 */ sw $t6, 4($v0)
/* 0265E4 800259E4 8C620000 */ lw $v0, ($v1)
/* 0265E8 800259E8 3C190D01 */ lui $t9, %hi(D_0D008CD8) # $t9, 0xd01
/* 0265EC 800259EC 3C100600 */ lui $s0, 0x600
/* 0265F0 800259F0 244F0008 */ addiu $t7, $v0, 8
/* 0265F4 800259F4 AC6F0000 */ sw $t7, ($v1)
/* 0265F8 800259F8 27398CD8 */ addiu $t9, %lo(D_0D008CD8) # addiu $t9, $t9, -0x7328
/* 0265FC 800259FC AC590004 */ sw $t9, 4($v0)
/* 026600 80025A00 AC500000 */ sw $s0, ($v0)
/* 026604 80025A04 8C620000 */ lw $v0, ($v1)
/* 026608 80025A08 3C0EFD10 */ lui $t6, 0xfd10
/* 02660C 80025A0C 3C0F8016 */ lui $t7, %hi(D_80164B04) # $t7, 0x8016
/* 026610 80025A10 24580008 */ addiu $t8, $v0, 8
/* 026614 80025A14 AC780000 */ sw $t8, ($v1)
/* 026618 80025A18 AC4E0000 */ sw $t6, ($v0)
/* 02661C 80025A1C 8DEF4B04 */ lw $t7, %lo(D_80164B04)($t7)
/* 026620 80025A20 3C18E800 */ lui $t8, 0xe800
/* 026624 80025A24 3C048016 */ lui $a0, %hi(D_80164B10) # 0x8016
/* 026628 80025A28 AC4F0004 */ sw $t7, 4($v0)
/* 02662C 80025A2C 8C620000 */ lw $v0, ($v1)
/* 026630 80025A30 3C0FF500 */ lui $t7, (0xF5000100 >> 16) # lui $t7, 0xf500
/* 026634 80025A34 35EF0100 */ ori $t7, (0xF5000100 & 0xFFFF) # ori $t7, $t7, 0x100
/* 026638 80025A38 24590008 */ addiu $t9, $v0, 8
/* 02663C 80025A3C AC790000 */ sw $t9, ($v1)
/* 026640 80025A40 AC400004 */ sw $zero, 4($v0)
/* 026644 80025A44 AC580000 */ sw $t8, ($v0)
/* 026648 80025A48 8C620000 */ lw $v0, ($v1)
/* 02664C 80025A4C 3C190700 */ lui $t9, 0x700
/* 026650 80025A50 3C058016 */ lui $a1, %hi(D_80164B20) # 0x8016
/* 026654 80025A54 244E0008 */ addiu $t6, $v0, 8
/* 026658 80025A58 AC6E0000 */ sw $t6, ($v1)
/* 02665C 80025A5C AC590004 */ sw $t9, 4($v0)
/* 026660 80025A60 AC4F0000 */ sw $t7, ($v0)
/* 026664 80025A64 8C620000 */ lw $v0, ($v1)
/* 026668 80025A68 3C0EE600 */ lui $t6, 0xe600
/* 02666C 80025A6C 3C19F000 */ lui $t9, 0xf000
/* 026670 80025A70 24580008 */ addiu $t8, $v0, 8
/* 026674 80025A74 AC780000 */ sw $t8, ($v1)
/* 026678 80025A78 AC400004 */ sw $zero, 4($v0)
/* 02667C 80025A7C AC4E0000 */ sw $t6, ($v0)
/* 026680 80025A80 8C620000 */ lw $v0, ($v1)
/* 026684 80025A84 3C18073F */ lui $t8, (0x073FC000 >> 16) # lui $t8, 0x73f
/* 026688 80025A88 3718C000 */ ori $t8, (0x073FC000 & 0xFFFF) # ori $t8, $t8, 0xc000
/* 02668C 80025A8C 244F0008 */ addiu $t7, $v0, 8
/* 026690 80025A90 AC6F0000 */ sw $t7, ($v1)
/* 026694 80025A94 AC580004 */ sw $t8, 4($v0)
/* 026698 80025A98 AC590000 */ sw $t9, ($v0)
/* 02669C 80025A9C 8C620000 */ lw $v0, ($v1)
/* 0266A0 80025AA0 3C0FE700 */ lui $t7, 0xe700
/* 0266A4 80025AA4 3C18BA00 */ lui $t8, (0xBA000E02 >> 16) # lui $t8, 0xba00
/* 0266A8 80025AA8 244E0008 */ addiu $t6, $v0, 8
/* 0266AC 80025AAC AC6E0000 */ sw $t6, ($v1)
/* 0266B0 80025AB0 AC400004 */ sw $zero, 4($v0)
/* 0266B4 80025AB4 AC4F0000 */ sw $t7, ($v0)
/* 0266B8 80025AB8 8C620000 */ lw $v0, ($v1)
/* 0266BC 80025ABC 340E8000 */ li $t6, 32768
/* 0266C0 80025AC0 37180E02 */ ori $t8, (0xBA000E02 & 0xFFFF) # ori $t8, $t8, 0xe02
/* 0266C4 80025AC4 24590008 */ addiu $t9, $v0, 8
/* 0266C8 80025AC8 AC790000 */ sw $t9, ($v1)
/* 0266CC 80025ACC AC4E0004 */ sw $t6, 4($v0)
/* 0266D0 80025AD0 AC580000 */ sw $t8, ($v0)
/* 0266D4 80025AD4 3C198016 */ lui $t9, %hi(D_80164B60) # 0x8016
/* 0266D8 80025AD8 3C0F8016 */ lui $t7, %hi(D_80164B50) # 0x8016
/* 0266DC 80025ADC 01ED7821 */ addu $t7, $t7, $t5
/* 0266E0 80025AE0 032DC821 */ addu $t9, $t9, $t5
/* 0266E4 80025AE4 97394B60 */ lhu $t9, %lo(D_80164B60)($t9) # 0x4b60
/* 0266E8 80025AE8 95EF4B50 */ lhu $t7, %lo(D_80164B50)($t7) # 0x4b50
/* 0266EC 80025AEC 87B800C2 */ lh $t8, 0xc2($sp)
/* 0266F0 80025AF0 3C068016 */ lui $a2, %hi(D_80164B30) # 0x8016
/* 0266F4 80025AF4 3C078016 */ lui $a3, %hi(D_80164B40) # 0x8016
/* 0266F8 80025AF8 00ED3821 */ addu $a3, $a3, $t5
/* 0266FC 80025AFC 00CD3021 */ addu $a2, $a2, $t5
/* 026700 80025B00 00AD2821 */ addu $a1, $a1, $t5
/* 026704 80025B04 008D2021 */ addu $a0, $a0, $t5
/* 026708 80025B08 94844B10 */ lhu $a0, %lo(D_80164B10)($a0) # 0x4b10
/* 02670C 80025B0C 94A54B20 */ lhu $a1, %lo(D_80164B20)($a1) # 0x4b20
/* 026710 80025B10 94C64B30 */ lhu $a2, %lo(D_80164B30)($a2) # 0x4b30
/* 026714 80025B14 94E74B40 */ lhu $a3, %lo(D_80164B40)($a3) # 0x4b40
/* 026718 80025B18 AFB90014 */ sw $t9, 0x14($sp)
/* 02671C 80025B1C AFAF0010 */ sw $t7, 0x10($sp)
/* 026720 80025B20 0C012D85 */ jal func_8004B614
/* 026724 80025B24 AFB80018 */ sw $t8, 0x18($sp)
/* 026728 80025B28 3C038015 */ lui $v1, %hi(gDisplayListHead) # $v1, 0x8015
/* 02672C 80025B2C 24630298 */ addiu $v1, %lo(gDisplayListHead) # addiu $v1, $v1, 0x298
/* 026730 80025B30 8C620000 */ lw $v0, ($v1)
/* 026734 80025B34 3C0FB900 */ lui $t7, (0xB900031D >> 16) # lui $t7, 0xb900
/* 026738 80025B38 3C190050 */ lui $t9, (0x00505978 >> 16) # lui $t9, 0x50
/* 02673C 80025B3C 244E0008 */ addiu $t6, $v0, 8
/* 026740 80025B40 AC6E0000 */ sw $t6, ($v1)
/* 026744 80025B44 37395978 */ ori $t9, (0x00505978 & 0xFFFF) # ori $t9, $t9, 0x5978
/* 026748 80025B48 35EF031D */ ori $t7, (0xB900031D & 0xFFFF) # ori $t7, $t7, 0x31d
/* 02674C 80025B4C AC4F0000 */ sw $t7, ($v0)
/* 026750 80025B50 AC590004 */ sw $t9, 4($v0)
/* 026754 80025B54 8C620000 */ lw $v0, ($v1)
/* 026758 80025B58 3C11FD50 */ lui $s1, 0xfd50
/* 02675C 80025B5C 3C0E8016 */ lui $t6, %hi(D_80164B08) # $t6, 0x8016
/* 026760 80025B60 24580008 */ addiu $t8, $v0, 8
/* 026764 80025B64 AC780000 */ sw $t8, ($v1)
/* 026768 80025B68 AC510000 */ sw $s1, ($v0)
/* 02676C 80025B6C 8DCE4B08 */ lw $t6, %lo(D_80164B08)($t6)
/* 026770 80025B70 3C180708 */ lui $t8, (0x07080200 >> 16) # lui $t8, 0x708
/* 026774 80025B74 37180200 */ ori $t8, (0x07080200 & 0xFFFF) # ori $t8, $t8, 0x200
/* 026778 80025B78 AC4E0004 */ sw $t6, 4($v0)
/* 02677C 80025B7C 8C620000 */ lw $v0, ($v1)
/* 026780 80025B80 3C19F550 */ lui $t9, 0xf550
/* 026784 80025B84 3C1F0D01 */ lui $ra, %hi(D_0D008C78) # $ra, 0xd01
/* 026788 80025B88 244F0008 */ addiu $t7, $v0, 8
/* 02678C 80025B8C AC6F0000 */ sw $t7, ($v1)
/* 026790 80025B90 AC580004 */ sw $t8, 4($v0)
/* 026794 80025B94 AC590000 */ sw $t9, ($v0)
/* 026798 80025B98 8C620000 */ lw $v0, ($v1)
/* 02679C 80025B9C 3C0FE600 */ lui $t7, 0xe600
/* 0267A0 80025BA0 3C18F300 */ lui $t8, 0xf300
/* 0267A4 80025BA4 244E0008 */ addiu $t6, $v0, 8
/* 0267A8 80025BA8 AC6E0000 */ sw $t6, ($v1)
/* 0267AC 80025BAC AC400004 */ sw $zero, 4($v0)
/* 0267B0 80025BB0 AC4F0000 */ sw $t7, ($v0)
/* 0267B4 80025BB4 8C620000 */ lw $v0, ($v1)
/* 0267B8 80025BB8 3C0E073F */ lui $t6, (0x073FF100 >> 16) # lui $t6, 0x73f
/* 0267BC 80025BBC 35CEF100 */ ori $t6, (0x073FF100 & 0xFFFF) # ori $t6, $t6, 0xf100
/* 0267C0 80025BC0 24590008 */ addiu $t9, $v0, 8
/* 0267C4 80025BC4 AC790000 */ sw $t9, ($v1)
/* 0267C8 80025BC8 AC4E0004 */ sw $t6, 4($v0)
/* 0267CC 80025BCC AC580000 */ sw $t8, ($v0)
/* 0267D0 80025BD0 8C620000 */ lw $v0, ($v1)
/* 0267D4 80025BD4 3C19E700 */ lui $t9, 0xe700
/* 0267D8 80025BD8 3C0EF548 */ lui $t6, (0xF5481000 >> 16) # lui $t6, 0xf548
/* 0267DC 80025BDC 244F0008 */ addiu $t7, $v0, 8
/* 0267E0 80025BE0 AC6F0000 */ sw $t7, ($v1)
/* 0267E4 80025BE4 AC400004 */ sw $zero, 4($v0)
/* 0267E8 80025BE8 AC590000 */ sw $t9, ($v0)
/* 0267EC 80025BEC 8C620000 */ lw $v0, ($v1)
/* 0267F0 80025BF0 3C0F0008 */ lui $t7, (0x00080200 >> 16) # lui $t7, 8
/* 0267F4 80025BF4 35EF0200 */ ori $t7, (0x00080200 & 0xFFFF) # ori $t7, $t7, 0x200
/* 0267F8 80025BF8 24580008 */ addiu $t8, $v0, 8
/* 0267FC 80025BFC AC780000 */ sw $t8, ($v1)
/* 026800 80025C00 35CE1000 */ ori $t6, (0xF5481000 & 0xFFFF) # ori $t6, $t6, 0x1000
/* 026804 80025C04 AC4E0000 */ sw $t6, ($v0)
/* 026808 80025C08 AC4F0004 */ sw $t7, 4($v0)
/* 02680C 80025C0C 8C620000 */ lw $v0, ($v1)
/* 026810 80025C10 3C0E000F */ lui $t6, (0x000FC07C >> 16) # lui $t6, 0xf
/* 026814 80025C14 35CEC07C */ ori $t6, (0x000FC07C & 0xFFFF) # ori $t6, $t6, 0xc07c
/* 026818 80025C18 24590008 */ addiu $t9, $v0, 8
/* 02681C 80025C1C AC790000 */ sw $t9, ($v1)
/* 026820 80025C20 3C18F200 */ lui $t8, 0xf200
/* 026824 80025C24 AC580000 */ sw $t8, ($v0)
/* 026828 80025C28 AC4E0004 */ sw $t6, 4($v0)
/* 02682C 80025C2C 8C620000 */ lw $v0, ($v1)
/* 026830 80025C30 3C190400 */ lui $t9, (0x0400103F >> 16) # lui $t9, 0x400
/* 026834 80025C34 3739103F */ ori $t9, (0x0400103F & 0xFFFF) # ori $t9, $t9, 0x103f
/* 026838 80025C38 244F0008 */ addiu $t7, $v0, 8
/* 02683C 80025C3C AC6F0000 */ sw $t7, ($v1)
/* 026840 80025C40 3C0E800E */ lui $t6, %hi(D_800DDBB4) # $t6, 0x800e
/* 026844 80025C44 25CEDBB4 */ addiu $t6, %lo(D_800DDBB4) # addiu $t6, $t6, -0x244c
/* 026848 80025C48 0012C080 */ sll $t8, $s2, 2
/* 02684C 80025C4C AC590000 */ sw $t9, ($v0)
/* 026850 80025C50 83B9017F */ lb $t9, 0x17f($sp)
/* 026854 80025C54 030E6821 */ addu $t5, $t8, $t6
/* 026858 80025C58 8DAF0000 */ lw $t7, ($t5)
/* 02685C 80025C5C 0019C100 */ sll $t8, $t9, 4
/* 026860 80025C60 27FF8C78 */ addiu $ra, %lo(D_0D008C78) # addiu $ra, $ra, -0x7388
/* 026864 80025C64 01F87021 */ addu $t6, $t7, $t8
/* 026868 80025C68 AC4E0004 */ sw $t6, 4($v0)
/* 02686C 80025C6C 8C620000 */ lw $v0, ($v1)
/* 026870 80025C70 3C188016 */ lui $t8, %hi(D_80164B0C) # $t8, 0x8016
/* 026874 80025C74 24590008 */ addiu $t9, $v0, 8
/* 026878 80025C78 AC790000 */ sw $t9, ($v1)
/* 02687C 80025C7C AC5F0004 */ sw $ra, 4($v0)
/* 026880 80025C80 AC500000 */ sw $s0, ($v0)
/* 026884 80025C84 8C620000 */ lw $v0, ($v1)
/* 026888 80025C88 3C19F550 */ lui $t9, 0xf550
/* 02688C 80025C8C 244F0008 */ addiu $t7, $v0, 8
/* 026890 80025C90 AC6F0000 */ sw $t7, ($v1)
/* 026894 80025C94 AC510000 */ sw $s1, ($v0)
/* 026898 80025C98 8F184B0C */ lw $t8, %lo(D_80164B0C)($t8)
/* 02689C 80025C9C 3C0F0708 */ lui $t7, (0x07080200 >> 16) # lui $t7, 0x708
/* 0268A0 80025CA0 35EF0200 */ ori $t7, (0x07080200 & 0xFFFF) # ori $t7, $t7, 0x200
/* 0268A4 80025CA4 AC580004 */ sw $t8, 4($v0)
/* 0268A8 80025CA8 8C620000 */ lw $v0, ($v1)
/* 0268AC 80025CAC 244E0008 */ addiu $t6, $v0, 8
/* 0268B0 80025CB0 AC6E0000 */ sw $t6, ($v1)
/* 0268B4 80025CB4 AC4F0004 */ sw $t7, 4($v0)
/* 0268B8 80025CB8 AC590000 */ sw $t9, ($v0)
/* 0268BC 80025CBC 8C620000 */ lw $v0, ($v1)
/* 0268C0 80025CC0 3C0EE600 */ lui $t6, 0xe600
/* 0268C4 80025CC4 3C0FF300 */ lui $t7, 0xf300
/* 0268C8 80025CC8 24580008 */ addiu $t8, $v0, 8
/* 0268CC 80025CCC AC780000 */ sw $t8, ($v1)
/* 0268D0 80025CD0 AC400004 */ sw $zero, 4($v0)
/* 0268D4 80025CD4 AC4E0000 */ sw $t6, ($v0)
/* 0268D8 80025CD8 8C620000 */ lw $v0, ($v1)
/* 0268DC 80025CDC 3C18073F */ lui $t8, (0x073FF100 >> 16) # lui $t8, 0x73f
/* 0268E0 80025CE0 3718F100 */ ori $t8, (0x073FF100 & 0xFFFF) # ori $t8, $t8, 0xf100
/* 0268E4 80025CE4 24590008 */ addiu $t9, $v0, 8
/* 0268E8 80025CE8 AC790000 */ sw $t9, ($v1)
/* 0268EC 80025CEC AC580004 */ sw $t8, 4($v0)
/* 0268F0 80025CF0 AC4F0000 */ sw $t7, ($v0)
/* 0268F4 80025CF4 8C620000 */ lw $v0, ($v1)
/* 0268F8 80025CF8 3C19E700 */ lui $t9, 0xe700
/* 0268FC 80025CFC 3C18F548 */ lui $t8, (0xF5481000 >> 16) # lui $t8, 0xf548
/* 026900 80025D00 244E0008 */ addiu $t6, $v0, 8
/* 026904 80025D04 AC6E0000 */ sw $t6, ($v1)
/* 026908 80025D08 AC400004 */ sw $zero, 4($v0)
/* 02690C 80025D0C AC590000 */ sw $t9, ($v0)
/* 026910 80025D10 8C620000 */ lw $v0, ($v1)
/* 026914 80025D14 3C0E0008 */ lui $t6, (0x00080200 >> 16) # lui $t6, 8
/* 026918 80025D18 35CE0200 */ ori $t6, (0x00080200 & 0xFFFF) # ori $t6, $t6, 0x200
/* 02691C 80025D1C 244F0008 */ addiu $t7, $v0, 8
/* 026920 80025D20 AC6F0000 */ sw $t7, ($v1)
/* 026924 80025D24 37181000 */ ori $t8, (0xF5481000 & 0xFFFF) # ori $t8, $t8, 0x1000
/* 026928 80025D28 AC580000 */ sw $t8, ($v0)
/* 02692C 80025D2C AC4E0004 */ sw $t6, 4($v0)
/* 026930 80025D30 8C620000 */ lw $v0, ($v1)
/* 026934 80025D34 3C18000F */ lui $t8, (0x000FC07C >> 16) # lui $t8, 0xf
/* 026938 80025D38 3718C07C */ ori $t8, (0x000FC07C & 0xFFFF) # ori $t8, $t8, 0xc07c
/* 02693C 80025D3C 24590008 */ addiu $t9, $v0, 8
/* 026940 80025D40 AC790000 */ sw $t9, ($v1)
/* 026944 80025D44 3C0FF200 */ lui $t7, 0xf200
/* 026948 80025D48 AC4F0000 */ sw $t7, ($v0)
/* 02694C 80025D4C AC580004 */ sw $t8, 4($v0)
/* 026950 80025D50 8C620000 */ lw $v0, ($v1)
/* 026954 80025D54 3C190400 */ lui $t9, (0x0400103F >> 16) # lui $t9, 0x400
/* 026958 80025D58 3739103F */ ori $t9, (0x0400103F & 0xFFFF) # ori $t9, $t9, 0x103f
/* 02695C 80025D5C 244E0008 */ addiu $t6, $v0, 8
/* 026960 80025D60 AC6E0000 */ sw $t6, ($v1)
/* 026964 80025D64 AC590000 */ sw $t9, ($v0)
/* 026968 80025D68 83B8017F */ lb $t8, 0x17f($sp)
/* 02696C 80025D6C 8DAF0000 */ lw $t7, ($t5)
/* 026970 80025D70 270E0004 */ addiu $t6, $t8, 4
/* 026974 80025D74 000EC900 */ sll $t9, $t6, 4
/* 026978 80025D78 01F9C021 */ addu $t8, $t7, $t9
/* 02697C 80025D7C AC580004 */ sw $t8, 4($v0)
/* 026980 80025D80 8C620000 */ lw $v0, ($v1)
/* 026984 80025D84 3C180001 */ lui $t8, (0x00010001 >> 16) # lui $t8, 1
/* 026988 80025D88 37180001 */ ori $t8, (0x00010001 & 0xFFFF) # ori $t8, $t8, 1
/* 02698C 80025D8C 244E0008 */ addiu $t6, $v0, 8
/* 026990 80025D90 AC6E0000 */ sw $t6, ($v1)
/* 026994 80025D94 AC5F0004 */ sw $ra, 4($v0)
/* 026998 80025D98 AC500000 */ sw $s0, ($v0)
/* 02699C 80025D9C 8C620000 */ lw $v0, ($v1)
/* 0269A0 80025DA0 3C19BB00 */ lui $t9, 0xbb00
/* 0269A4 80025DA4 244F0008 */ addiu $t7, $v0, 8
/* 0269A8 80025DA8 AC6F0000 */ sw $t7, ($v1)
/* 0269AC 80025DAC AC580004 */ sw $t8, 4($v0)
/* 0269B0 80025DB0 AC590000 */ sw $t9, ($v0)
/* 0269B4 80025DB4 8C620000 */ lw $v0, ($v1)
/* 0269B8 80025DB8 3C0FB900 */ lui $t7, (0xB9000002 >> 16) # lui $t7, 0xb900
/* 0269BC 80025DBC 35EF0002 */ ori $t7, (0xB9000002 & 0xFFFF) # ori $t7, $t7, 2
/* 0269C0 80025DC0 244E0008 */ addiu $t6, $v0, 8
/* 0269C4 80025DC4 AC6E0000 */ sw $t6, ($v1)
/* 0269C8 80025DC8 AC400004 */ sw $zero, 4($v0)
/* 0269CC 80025DCC AC4F0000 */ sw $t7, ($v0)
/* 0269D0 80025DD0 8FBF0034 */ lw $ra, 0x34($sp)
/* 0269D4 80025DD4 8FB20030 */ lw $s2, 0x30($sp)
/* 0269D8 80025DD8 8FB1002C */ lw $s1, 0x2c($sp)
/* 0269DC 80025DDC 8FB00028 */ lw $s0, 0x28($sp)
/* 0269E0 80025DE0 03E00008 */ jr $ra
/* 0269E4 80025DE4 27BD0170 */ addiu $sp, $sp, 0x170
glabel func_80025DE8
/* 0269E8 80025DE8 27BDFF18 */ addiu $sp, $sp, -0xe8
/* 0269EC 80025DEC AFB00028 */ sw $s0, 0x28($sp)
/* 0269F0 80025DF0 00808025 */ move $s0, $a0
/* 0269F4 80025DF4 AFBF002C */ sw $ra, 0x2c($sp)
/* 0269F8 80025DF8 AFA500EC */ sw $a1, 0xec($sp)
/* 0269FC 80025DFC AFA600F0 */ sw $a2, 0xf0($sp)
/* 026A00 80025E00 AFA700F4 */ sw $a3, 0xf4($sp)
/* 026A04 80025E04 8484002E */ lh $a0, 0x2e($a0)
/* 026A08 80025E08 00042023 */ negu $a0, $a0
/* 026A0C 80025E0C 308EFFFF */ andi $t6, $a0, 0xffff
/* 026A10 80025E10 0C0AE006 */ jal func_802B8018
/* 026A14 80025E14 01C02025 */ move $a0, $t6
/* 026A18 80025E18 3C01BFF8 */ li $at, 0xBFF80000 # -1.937500
/* 026A1C 80025E1C 44813800 */ mtc1 $at, $f7
/* 026A20 80025E20 44803000 */ mtc1 $zero, $f6
/* 026A24 80025E24 46000121 */ cvt.d.s $f4, $f0
/* 026A28 80025E28 C60A0014 */ lwc1 $f10, 0x14($s0)
/* 026A2C 80025E2C 46262202 */ mul.d $f8, $f4, $f6
/* 026A30 80025E30 3C01800F */ lui $at, %hi(D_800ED6E0)
/* 026A34 80025E34 46005421 */ cvt.d.s $f16, $f10
/* 026A38 80025E38 46304480 */ add.d $f18, $f8, $f16
/* 026A3C 80025E3C 46209120 */ cvt.s.d $f4, $f18
/* 026A40 80025E40 E7A4009C */ swc1 $f4, 0x9c($sp)
/* 026A44 80025E44 C60A0070 */ lwc1 $f10, 0x70($s0)
/* 026A48 80025E48 C6060018 */ lwc1 $f6, 0x18($s0)
/* 026A4C 80025E4C C6100108 */ lwc1 $f16, 0x108($s0)
/* 026A50 80025E50 460A3201 */ sub.s $f8, $f6, $f10
/* 026A54 80025E54 D426D6E0 */ ldc1 $f6, %lo(D_800ED6E0)($at)
/* 026A58 80025E58 46104480 */ add.s $f18, $f8, $f16
/* 026A5C 80025E5C 46009121 */ cvt.d.s $f4, $f18
/* 026A60 80025E60 46262280 */ add.d $f10, $f4, $f6
/* 026A64 80025E64 46205220 */ cvt.s.d $f8, $f10
/* 026A68 80025E68 E7A800A0 */ swc1 $f8, 0xa0($sp)
/* 026A6C 80025E6C 8604002E */ lh $a0, 0x2e($s0)
/* 026A70 80025E70 00042023 */ negu $a0, $a0
/* 026A74 80025E74 308FFFFF */ andi $t7, $a0, 0xffff
/* 026A78 80025E78 0C0AE00E */ jal func_802B8038
/* 026A7C 80025E7C 01E02025 */ move $a0, $t7
/* 026A80 80025E80 3C01BFF8 */ li $at, 0xBFF80000 # -1.937500
/* 026A84 80025E84 44819800 */ mtc1 $at, $f19
/* 026A88 80025E88 44809000 */ mtc1 $zero, $f18
/* 026A8C 80025E8C 46000421 */ cvt.d.s $f16, $f0
/* 026A90 80025E90 C606001C */ lwc1 $f6, 0x1c($s0)
/* 026A94 80025E94 46328102 */ mul.d $f4, $f16, $f18
/* 026A98 80025E98 83B900F3 */ lb $t9, 0xf3($sp)
/* 026A9C 80025E9C 460032A1 */ cvt.d.s $f10, $f6
/* 026AA0 80025EA0 2418FF4A */ li $t8, -182
/* 026AA4 80025EA4 00197040 */ sll $t6, $t9, 1
/* 026AA8 80025EA8 A7B80094 */ sh $t8, 0x94($sp)
/* 026AAC 80025EAC 020E1021 */ addu $v0, $s0, $t6
/* 026AB0 80025EB0 27A400A8 */ addiu $a0, $sp, 0xa8
/* 026AB4 80025EB4 462A2200 */ add.d $f8, $f4, $f10
/* 026AB8 80025EB8 27A5009C */ addiu $a1, $sp, 0x9c
/* 026ABC 80025EBC 27A60094 */ addiu $a2, $sp, 0x94
/* 026AC0 80025EC0 46204420 */ cvt.s.d $f16, $f8
/* 026AC4 80025EC4 E7B000A4 */ swc1 $f16, 0xa4($sp)
/* 026AC8 80025EC8 844F0048 */ lh $t7, 0x48($v0)
/* 026ACC 80025ECC A7AF0096 */ sh $t7, 0x96($sp)
/* 026AD0 80025ED0 84580050 */ lh $t8, 0x50($v0)
/* 026AD4 80025ED4 0C008784 */ jal func_80021E10
/* 026AD8 80025ED8 A7B80098 */ sh $t8, 0x98($sp)
/* 026ADC 80025EDC 96190254 */ lhu $t9, 0x254($s0)
/* 026AE0 80025EE0 3C01800E */ lui $at, %hi(D_800DDBD4)
/* 026AE4 80025EE4 C6060224 */ lwc1 $f6, 0x224($s0)
/* 026AE8 80025EE8 00197080 */ sll $t6, $t9, 2
/* 026AEC 80025EEC 002E0821 */ addu $at, $at, $t6
/* 026AF0 80025EF0 C432DBD4 */ lwc1 $f18, %lo(D_800DDBD4)($at)
/* 026AF4 80025EF4 27A400A8 */ addiu $a0, $sp, 0xa8
/* 026AF8 80025EF8 46069102 */ mul.s $f4, $f18, $f6
/* 026AFC 80025EFC 44052000 */ mfc1 $a1, $f4
/* 026B00 80025F00 0C0087E1 */ jal func_80021F84
/* 026B04 80025F04 00000000 */ nop
/* 026B08 80025F08 3C108016 */ lui $s0, %hi(D_80164AF0) # $s0, 0x8016
/* 026B0C 80025F0C 26104AF0 */ addiu $s0, %lo(D_80164AF0) # addiu $s0, $s0, 0x4af0
/* 026B10 80025F10 86180000 */ lh $t8, ($s0)
/* 026B14 80025F14 3C0F8015 */ lui $t7, %hi(gGfxPool) # $t7, 0x8015
/* 026B18 80025F18 8DEFEF40 */ lw $t7, %lo(gGfxPool)($t7)
/* 026B1C 80025F1C 0018C980 */ sll $t9, $t8, 6
/* 026B20 80025F20 3401FAC0 */ li $at, 64192
/* 026B24 80025F24 01F92021 */ addu $a0, $t7, $t9
/* 026B28 80025F28 00812021 */ addu $a0, $a0, $at
/* 026B2C 80025F2C 0C008860 */ jal func_80022180
/* 026B30 80025F30 27A500A8 */ addiu $a1, $sp, 0xa8
/* 026B34 80025F34 3C038015 */ lui $v1, %hi(gDisplayListHead) # $v1, 0x8015
/* 026B38 80025F38 24630298 */ addiu $v1, %lo(gDisplayListHead) # addiu $v1, $v1, 0x298
/* 026B3C 80025F3C 8C620000 */ lw $v0, ($v1)
/* 026B40 80025F40 3C180102 */ lui $t8, (0x01020040 >> 16) # lui $t8, 0x102
/* 026B44 80025F44 37180040 */ ori $t8, (0x01020040 & 0xFFFF) # ori $t8, $t8, 0x40
/* 026B48 80025F48 244E0008 */ addiu $t6, $v0, 8
/* 026B4C 80025F4C AC6E0000 */ sw $t6, ($v1)
/* 026B50 80025F50 AC580000 */ sw $t8, ($v0)
/* 026B54 80025F54 86190000 */ lh $t9, ($s0)
/* 026B58 80025F58 3C0F8015 */ lui $t7, %hi(gGfxPool) # $t7, 0x8015
/* 026B5C 80025F5C 8DEFEF40 */ lw $t7, %lo(gGfxPool)($t7)
/* 026B60 80025F60 00197180 */ sll $t6, $t9, 6
/* 026B64 80025F64 3401FAC0 */ li $at, 64192
/* 026B68 80025F68 01EEC021 */ addu $t8, $t7, $t6
/* 026B6C 80025F6C 0301C821 */ addu $t9, $t8, $at
/* 026B70 80025F70 3C011FFF */ lui $at, (0x1FFFFFFF >> 16) # lui $at, 0x1fff
/* 026B74 80025F74 3421FFFF */ ori $at, (0x1FFFFFFF & 0xFFFF) # ori $at, $at, 0xffff
/* 026B78 80025F78 03217824 */ and $t7, $t9, $at
/* 026B7C 80025F7C AC4F0004 */ sw $t7, 4($v0)
/* 026B80 80025F80 8C620000 */ lw $v0, ($v1)
/* 026B84 80025F84 3C190D01 */ lui $t9, %hi(D_0D008D10) # $t9, 0xd01
/* 026B88 80025F88 27398D10 */ addiu $t9, %lo(D_0D008D10) # addiu $t9, $t9, -0x72f0
/* 026B8C 80025F8C 244E0008 */ addiu $t6, $v0, 8
/* 026B90 80025F90 AC6E0000 */ sw $t6, ($v1)
/* 026B94 80025F94 3C180600 */ lui $t8, 0x600
/* 026B98 80025F98 AC580000 */ sw $t8, ($v0)
/* 026B9C 80025F9C AC590004 */ sw $t9, 4($v0)
/* 026BA0 80025FA0 8C620000 */ lw $v0, ($v1)
/* 026BA4 80025FA4 3C0EBA00 */ lui $t6, (0xBA000E02 >> 16) # lui $t6, 0xba00
/* 026BA8 80025FA8 35CE0E02 */ ori $t6, (0xBA000E02 & 0xFFFF) # ori $t6, $t6, 0xe02
/* 026BAC 80025FAC 244F0008 */ addiu $t7, $v0, 8
/* 026BB0 80025FB0 AC6F0000 */ sw $t7, ($v1)
/* 026BB4 80025FB4 34188000 */ li $t8, 32768
/* 026BB8 80025FB8 AC580004 */ sw $t8, 4($v0)
/* 026BBC 80025FBC AC4E0000 */ sw $t6, ($v0)
/* 026BC0 80025FC0 83A800EF */ lb $t0, 0xef($sp)
/* 026BC4 80025FC4 3C0E8016 */ lui $t6, %hi(D_80164B60) # 0x8016
/* 026BC8 80025FC8 3C0F8016 */ lui $t7, %hi(D_80164B50) # 0x8016
/* 026BCC 80025FCC 0008C840 */ sll $t9, $t0, 1
/* 026BD0 80025FD0 01F97821 */ addu $t7, $t7, $t9
/* 026BD4 80025FD4 01D97021 */ addu $t6, $t6, $t9
/* 026BD8 80025FD8 95CE4B60 */ lhu $t6, %lo(D_80164B60)($t6) # 0x4b60
/* 026BDC 80025FDC 95EF4B50 */ lhu $t7, %lo(D_80164B50)($t7) # 0x4b50
/* 026BE0 80025FE0 3C048016 */ lui $a0, %hi(D_80164B10) # 0x8016
/* 026BE4 80025FE4 3C058016 */ lui $a1, %hi(D_80164B20) # 0x8016
/* 026BE8 80025FE8 3C068016 */ lui $a2, %hi(D_80164B30) # 0x8016
/* 026BEC 80025FEC 3C078016 */ lui $a3, %hi(D_80164B40) # 0x8016
/* 026BF0 80025FF0 00F93821 */ addu $a3, $a3, $t9
/* 026BF4 80025FF4 00D93021 */ addu $a2, $a2, $t9
/* 026BF8 80025FF8 00B92821 */ addu $a1, $a1, $t9
/* 026BFC 80025FFC 00992021 */ addu $a0, $a0, $t9
/* 026C00 80026000 24180040 */ li $t8, 64
/* 026C04 80026004 AFB80018 */ sw $t8, 0x18($sp)
/* 026C08 80026008 94844B10 */ lhu $a0, %lo(D_80164B10)($a0) # 0x4b10
/* 026C0C 8002600C 94A54B20 */ lhu $a1, %lo(D_80164B20)($a1) # 0x4b20
/* 026C10 80026010 94C64B30 */ lhu $a2, %lo(D_80164B30)($a2) # 0x4b30
/* 026C14 80026014 94E74B40 */ lhu $a3, %lo(D_80164B40)($a3) # 0x4b40
/* 026C18 80026018 03204025 */ move $t0, $t9
/* 026C1C 8002601C AFAE0014 */ sw $t6, 0x14($sp)
/* 026C20 80026020 0C012D85 */ jal func_8004B614
/* 026C24 80026024 AFAF0010 */ sw $t7, 0x10($sp)
/* 026C28 80026028 3C038015 */ lui $v1, %hi(gDisplayListHead) # $v1, 0x8015
/* 026C2C 8002602C 24630298 */ addiu $v1, %lo(gDisplayListHead) # addiu $v1, $v1, 0x298
/* 026C30 80026030 8C620000 */ lw $v0, ($v1)
/* 026C34 80026034 3C0FB900 */ lui $t7, (0xB900031D >> 16) # lui $t7, 0xb900
/* 026C38 80026038 3C0E0050 */ lui $t6, (0x00505978 >> 16) # lui $t6, 0x50
/* 026C3C 8002603C 24590008 */ addiu $t9, $v0, 8
/* 026C40 80026040 AC790000 */ sw $t9, ($v1)
/* 026C44 80026044 35CE5978 */ ori $t6, (0x00505978 & 0xFFFF) # ori $t6, $t6, 0x5978
/* 026C48 80026048 35EF031D */ ori $t7, (0xB900031D & 0xFFFF) # ori $t7, $t7, 0x31d
/* 026C4C 8002604C AC4F0000 */ sw $t7, ($v0)
/* 026C50 80026050 AC4E0004 */ sw $t6, 4($v0)
/* 026C54 80026054 8C620000 */ lw $v0, ($v1)
/* 026C58 80026058 3C19FD50 */ lui $t9, 0xfd50
/* 026C5C 8002605C 3C0F8016 */ lui $t7, %hi(D_80164B08) # $t7, 0x8016
/* 026C60 80026060 24580008 */ addiu $t8, $v0, 8
/* 026C64 80026064 AC780000 */ sw $t8, ($v1)
/* 026C68 80026068 AC590000 */ sw $t9, ($v0)
/* 026C6C 8002606C 8DEF4B08 */ lw $t7, %lo(D_80164B08)($t7)
/* 026C70 80026070 3C190708 */ lui $t9, (0x07080200 >> 16) # lui $t9, 0x708
/* 026C74 80026074 37390200 */ ori $t9, (0x07080200 & 0xFFFF) # ori $t9, $t9, 0x200
/* 026C78 80026078 AC4F0004 */ sw $t7, 4($v0)
/* 026C7C 8002607C 8C620000 */ lw $v0, ($v1)
/* 026C80 80026080 3C18F550 */ lui $t8, 0xf550
/* 026C84 80026084 3C1F0D01 */ lui $ra, %hi(D_0D008C78) # $ra, 0xd01
/* 026C88 80026088 244E0008 */ addiu $t6, $v0, 8
/* 026C8C 8002608C AC6E0000 */ sw $t6, ($v1)
/* 026C90 80026090 AC590004 */ sw $t9, 4($v0)
/* 026C94 80026094 AC580000 */ sw $t8, ($v0)
/* 026C98 80026098 8C620000 */ lw $v0, ($v1)
/* 026C9C 8002609C 3C0EE600 */ lui $t6, 0xe600
/* 026CA0 800260A0 3C19F300 */ lui $t9, 0xf300
/* 026CA4 800260A4 244F0008 */ addiu $t7, $v0, 8
/* 026CA8 800260A8 AC6F0000 */ sw $t7, ($v1)
/* 026CAC 800260AC AC400004 */ sw $zero, 4($v0)
/* 026CB0 800260B0 AC4E0000 */ sw $t6, ($v0)
/* 026CB4 800260B4 8C620000 */ lw $v0, ($v1)
/* 026CB8 800260B8 3C0F073F */ lui $t7, (0x073FF100 >> 16) # lui $t7, 0x73f
/* 026CBC 800260BC 35EFF100 */ ori $t7, (0x073FF100 & 0xFFFF) # ori $t7, $t7, 0xf100
/* 026CC0 800260C0 24580008 */ addiu $t8, $v0, 8
/* 026CC4 800260C4 AC780000 */ sw $t8, ($v1)
/* 026CC8 800260C8 AC4F0004 */ sw $t7, 4($v0)
/* 026CCC 800260CC AC590000 */ sw $t9, ($v0)
/* 026CD0 800260D0 8C620000 */ lw $v0, ($v1)
/* 026CD4 800260D4 3C18E700 */ lui $t8, 0xe700
/* 026CD8 800260D8 3C0FF548 */ lui $t7, (0xF5481000 >> 16) # lui $t7, 0xf548
/* 026CDC 800260DC 244E0008 */ addiu $t6, $v0, 8
/* 026CE0 800260E0 AC6E0000 */ sw $t6, ($v1)
/* 026CE4 800260E4 AC400004 */ sw $zero, 4($v0)
/* 026CE8 800260E8 AC580000 */ sw $t8, ($v0)
/* 026CEC 800260EC 8C620000 */ lw $v0, ($v1)
/* 026CF0 800260F0 3C0E0008 */ lui $t6, (0x00080200 >> 16) # lui $t6, 8
/* 026CF4 800260F4 35CE0200 */ ori $t6, (0x00080200 & 0xFFFF) # ori $t6, $t6, 0x200
/* 026CF8 800260F8 24590008 */ addiu $t9, $v0, 8
/* 026CFC 800260FC AC790000 */ sw $t9, ($v1)
/* 026D00 80026100 35EF1000 */ ori $t7, (0xF5481000 & 0xFFFF) # ori $t7, $t7, 0x1000
/* 026D04 80026104 AC4F0000 */ sw $t7, ($v0)
/* 026D08 80026108 AC4E0004 */ sw $t6, 4($v0)
/* 026D0C 8002610C 8C620000 */ lw $v0, ($v1)
/* 026D10 80026110 3C0F000F */ lui $t7, (0x000FC07C >> 16) # lui $t7, 0xf
/* 026D14 80026114 35EFC07C */ ori $t7, (0x000FC07C & 0xFFFF) # ori $t7, $t7, 0xc07c
/* 026D18 80026118 24580008 */ addiu $t8, $v0, 8
/* 026D1C 8002611C AC780000 */ sw $t8, ($v1)
/* 026D20 80026120 3C19F200 */ lui $t9, 0xf200
/* 026D24 80026124 AC590000 */ sw $t9, ($v0)
/* 026D28 80026128 AC4F0004 */ sw $t7, 4($v0)
/* 026D2C 8002612C 8C620000 */ lw $v0, ($v1)
/* 026D30 80026130 3C180400 */ lui $t8, (0x0400103F >> 16) # lui $t8, 0x400
/* 026D34 80026134 3718103F */ ori $t8, (0x0400103F & 0xFFFF) # ori $t8, $t8, 0x103f
/* 026D38 80026138 244E0008 */ addiu $t6, $v0, 8
/* 026D3C 8002613C AC6E0000 */ sw $t6, ($v1)
/* 026D40 80026140 AC580000 */ sw $t8, ($v0)
/* 026D44 80026144 83B900EF */ lb $t9, 0xef($sp)
/* 026D48 80026148 3C0E800E */ lui $t6, %hi(D_800DDBB4) # $t6, 0x800e
/* 026D4C 8002614C 25CEDBB4 */ addiu $t6, %lo(D_800DDBB4) # addiu $t6, $t6, -0x244c
/* 026D50 80026150 00197880 */ sll $t7, $t9, 2
/* 026D54 80026154 83B900F7 */ lb $t9, 0xf7($sp)
/* 026D58 80026158 01EE6821 */ addu $t5, $t7, $t6
/* 026D5C 8002615C 8DB80000 */ lw $t8, ($t5)
/* 026D60 80026160 00197900 */ sll $t7, $t9, 4
/* 026D64 80026164 27FF8C78 */ addiu $ra, %lo(D_0D008C78) # addiu $ra, $ra, -0x7388
/* 026D68 80026168 030F7021 */ addu $t6, $t8, $t7
/* 026D6C 8002616C AC4E0004 */ sw $t6, 4($v0)
/* 026D70 80026170 8C620000 */ lw $v0, ($v1)
/* 026D74 80026174 3C180600 */ lui $t8, 0x600
/* 026D78 80026178 3C0EFD50 */ lui $t6, 0xfd50
/* 026D7C 8002617C 24590008 */ addiu $t9, $v0, 8
/* 026D80 80026180 AC790000 */ sw $t9, ($v1)
/* 026D84 80026184 AC5F0004 */ sw $ra, 4($v0)
/* 026D88 80026188 AC580000 */ sw $t8, ($v0)
/* 026D8C 8002618C 8C620000 */ lw $v0, ($v1)
/* 026D90 80026190 3C198016 */ lui $t9, %hi(D_80164B0C) # $t9, 0x8016
/* 026D94 80026194 244F0008 */ addiu $t7, $v0, 8
/* 026D98 80026198 AC6F0000 */ sw $t7, ($v1)
/* 026D9C 8002619C AC4E0000 */ sw $t6, ($v0)
/* 026DA0 800261A0 8F394B0C */ lw $t9, %lo(D_80164B0C)($t9)
/* 026DA4 800261A4 3C0E0708 */ lui $t6, (0x07080200 >> 16) # lui $t6, 0x708
/* 026DA8 800261A8 35CE0200 */ ori $t6, (0x07080200 & 0xFFFF) # ori $t6, $t6, 0x200
/* 026DAC 800261AC AC590004 */ sw $t9, 4($v0)
/* 026DB0 800261B0 8C620000 */ lw $v0, ($v1)
/* 026DB4 800261B4 3C0FF550 */ lui $t7, 0xf550
/* 026DB8 800261B8 24580008 */ addiu $t8, $v0, 8
/* 026DBC 800261BC AC780000 */ sw $t8, ($v1)
/* 026DC0 800261C0 AC4E0004 */ sw $t6, 4($v0)
/* 026DC4 800261C4 AC4F0000 */ sw $t7, ($v0)
/* 026DC8 800261C8 8C620000 */ lw $v0, ($v1)
/* 026DCC 800261CC 3C18E600 */ lui $t8, 0xe600
/* 026DD0 800261D0 3C0EF300 */ lui $t6, 0xf300
/* 026DD4 800261D4 24590008 */ addiu $t9, $v0, 8
/* 026DD8 800261D8 AC790000 */ sw $t9, ($v1)
/* 026DDC 800261DC AC400004 */ sw $zero, 4($v0)
/* 026DE0 800261E0 AC580000 */ sw $t8, ($v0)
/* 026DE4 800261E4 8C620000 */ lw $v0, ($v1)
/* 026DE8 800261E8 3C19073F */ lui $t9, (0x073FF100 >> 16) # lui $t9, 0x73f
/* 026DEC 800261EC 3739F100 */ ori $t9, (0x073FF100 & 0xFFFF) # ori $t9, $t9, 0xf100
/* 026DF0 800261F0 244F0008 */ addiu $t7, $v0, 8
/* 026DF4 800261F4 AC6F0000 */ sw $t7, ($v1)
/* 026DF8 800261F8 AC590004 */ sw $t9, 4($v0)
/* 026DFC 800261FC AC4E0000 */ sw $t6, ($v0)
/* 026E00 80026200 8C620000 */ lw $v0, ($v1)
/* 026E04 80026204 3C0FE700 */ lui $t7, 0xe700
/* 026E08 80026208 3C19F548 */ lui $t9, (0xF5481000 >> 16) # lui $t9, 0xf548
/* 026E0C 8002620C 24580008 */ addiu $t8, $v0, 8
/* 026E10 80026210 AC780000 */ sw $t8, ($v1)
/* 026E14 80026214 AC400004 */ sw $zero, 4($v0)
/* 026E18 80026218 AC4F0000 */ sw $t7, ($v0)
/* 026E1C 8002621C 8C620000 */ lw $v0, ($v1)
/* 026E20 80026220 3C180008 */ lui $t8, (0x00080200 >> 16) # lui $t8, 8
/* 026E24 80026224 37180200 */ ori $t8, (0x00080200 & 0xFFFF) # ori $t8, $t8, 0x200
/* 026E28 80026228 244E0008 */ addiu $t6, $v0, 8
/* 026E2C 8002622C AC6E0000 */ sw $t6, ($v1)
/* 026E30 80026230 37391000 */ ori $t9, (0xF5481000 & 0xFFFF) # ori $t9, $t9, 0x1000
/* 026E34 80026234 AC590000 */ sw $t9, ($v0)
/* 026E38 80026238 AC580004 */ sw $t8, 4($v0)
/* 026E3C 8002623C 8C620000 */ lw $v0, ($v1)
/* 026E40 80026240 3C19000F */ lui $t9, (0x000FC07C >> 16) # lui $t9, 0xf
/* 026E44 80026244 3739C07C */ ori $t9, (0x000FC07C & 0xFFFF) # ori $t9, $t9, 0xc07c
/* 026E48 80026248 244F0008 */ addiu $t7, $v0, 8
/* 026E4C 8002624C AC6F0000 */ sw $t7, ($v1)
/* 026E50 80026250 3C0EF200 */ lui $t6, 0xf200
/* 026E54 80026254 AC4E0000 */ sw $t6, ($v0)
/* 026E58 80026258 AC590004 */ sw $t9, 4($v0)
/* 026E5C 8002625C 8C620000 */ lw $v0, ($v1)
/* 026E60 80026260 3C0F0400 */ lui $t7, (0x0400103F >> 16) # lui $t7, 0x400
/* 026E64 80026264 35EF103F */ ori $t7, (0x0400103F & 0xFFFF) # ori $t7, $t7, 0x103f
/* 026E68 80026268 24580008 */ addiu $t8, $v0, 8
/* 026E6C 8002626C AC780000 */ sw $t8, ($v1)
/* 026E70 80026270 AC4F0000 */ sw $t7, ($v0)
/* 026E74 80026274 83B900F7 */ lb $t9, 0xf7($sp)
/* 026E78 80026278 8DAE0000 */ lw $t6, ($t5)
/* 026E7C 8002627C 27380004 */ addiu $t8, $t9, 4
/* 026E80 80026280 00187900 */ sll $t7, $t8, 4
/* 026E84 80026284 01CFC821 */ addu $t9, $t6, $t7
/* 026E88 80026288 AC590004 */ sw $t9, 4($v0)
/* 026E8C 8002628C 8C620000 */ lw $v0, ($v1)
/* 026E90 80026290 3C0E0600 */ lui $t6, 0x600
/* 026E94 80026294 3C19BB00 */ lui $t9, 0xbb00
/* 026E98 80026298 24580008 */ addiu $t8, $v0, 8
/* 026E9C 8002629C AC780000 */ sw $t8, ($v1)
/* 026EA0 800262A0 AC5F0004 */ sw $ra, 4($v0)
/* 026EA4 800262A4 AC4E0000 */ sw $t6, ($v0)
/* 026EA8 800262A8 8C620000 */ lw $v0, ($v1)
/* 026EAC 800262AC 3C180001 */ lui $t8, (0x00010001 >> 16) # lui $t8, 1
/* 026EB0 800262B0 37180001 */ ori $t8, (0x00010001 & 0xFFFF) # ori $t8, $t8, 1
/* 026EB4 800262B4 244F0008 */ addiu $t7, $v0, 8
/* 026EB8 800262B8 AC6F0000 */ sw $t7, ($v1)
/* 026EBC 800262BC AC580004 */ sw $t8, 4($v0)
/* 026EC0 800262C0 AC590000 */ sw $t9, ($v0)
/* 026EC4 800262C4 860E0000 */ lh $t6, ($s0)
/* 026EC8 800262C8 8FBF002C */ lw $ra, 0x2c($sp)
/* 026ECC 800262CC 25CF0001 */ addiu $t7, $t6, 1
/* 026ED0 800262D0 A60F0000 */ sh $t7, ($s0)
/* 026ED4 800262D4 8FB00028 */ lw $s0, 0x28($sp)
/* 026ED8 800262D8 03E00008 */ jr $ra
/* 026EDC 800262DC 27BD00E8 */ addiu $sp, $sp, 0xe8
glabel func_800262E0
/* 026EE0 800262E0 27BDFF18 */ addiu $sp, $sp, -0xe8
/* 026EE4 800262E4 AFA600F0 */ sw $a2, 0xf0($sp)
/* 026EE8 800262E8 00067600 */ sll $t6, $a2, 0x18
/* 026EEC 800262EC 000E3603 */ sra $a2, $t6, 0x18
/* 026EF0 800262F0 0006C040 */ sll $t8, $a2, 1
/* 026EF4 800262F4 AFBF002C */ sw $ra, 0x2c($sp)
/* 026EF8 800262F8 AFB00028 */ sw $s0, 0x28($sp)
/* 026EFC 800262FC AFA500EC */ sw $a1, 0xec($sp)
/* 026F00 80026300 AFA700F4 */ sw $a3, 0xf4($sp)
/* 026F04 80026304 A7A00094 */ sh $zero, 0x94($sp)
/* 026F08 80026308 00981021 */ addu $v0, $a0, $t8
/* 026F0C 8002630C 84590048 */ lh $t9, 0x48($v0)
/* 026F10 80026310 34018000 */ li $at, 32768
/* 026F14 80026314 00808025 */ move $s0, $a0
/* 026F18 80026318 A7B90096 */ sh $t9, 0x96($sp)
/* 026F1C 8002631C 844E0050 */ lh $t6, 0x50($v0)
/* 026F20 80026320 0006C880 */ sll $t9, $a2, 2
/* 026F24 80026324 27A5009C */ addiu $a1, $sp, 0x9c
/* 026F28 80026328 01C17821 */ addu $t7, $t6, $at
/* 026F2C 8002632C A7AF0098 */ sh $t7, 0x98($sp)
/* 026F30 80026330 C4840014 */ lwc1 $f4, 0x14($a0)
/* 026F34 80026334 3C014080 */ li $at, 0x40800000 # 4.000000
/* 026F38 80026338 44813000 */ mtc1 $at, $f6
/* 026F3C 8002633C E7A4009C */ swc1 $f4, 0x9c($sp)
/* 026F40 80026340 C4880224 */ lwc1 $f8, 0x224($a0)
/* 026F44 80026344 C4900074 */ lwc1 $f16, 0x74($a0)
/* 026F48 80026348 240E0004 */ li $t6, 4
/* 026F4C 8002634C 46083282 */ mul.s $f10, $f6, $f8
/* 026F50 80026350 032E7804 */ sllv $t7, $t6, $t9
/* 026F54 80026354 24190008 */ li $t9, 8
/* 026F58 80026358 460A8480 */ add.s $f18, $f16, $f10
/* 026F5C 8002635C E7B200A0 */ swc1 $f18, 0xa0($sp)
/* 026F60 80026360 C484001C */ lwc1 $f4, 0x1c($a0)
/* 026F64 80026364 E7A400A4 */ swc1 $f4, 0xa4($sp)
/* 026F68 80026368 94980002 */ lhu $t8, 2($a0)
/* 026F6C 8002636C 27A400A8 */ addiu $a0, $sp, 0xa8
/* 026F70 80026370 030F7024 */ and $t6, $t8, $t7
/* 026F74 80026374 55C00004 */ bnel $t6, $zero, .L80026388
/* 026F78 80026378 A3A000F7 */ sb $zero, 0xf7($sp)
/* 026F7C 8002637C 10000002 */ b .L80026388
/* 026F80 80026380 A3B900F7 */ sb $t9, 0xf7($sp)
/* 026F84 80026384 A3A000F7 */ sb $zero, 0xf7($sp)
.L80026388:
/* 026F88 80026388 0C008784 */ jal func_80021E10
/* 026F8C 8002638C 27A60094 */ addiu $a2, $sp, 0x94
/* 026F90 80026390 96180254 */ lhu $t8, 0x254($s0)
/* 026F94 80026394 3C01800E */ lui $at, %hi(D_800DDBD4)
/* 026F98 80026398 C6080224 */ lwc1 $f8, 0x224($s0)
/* 026F9C 8002639C 00187880 */ sll $t7, $t8, 2
/* 026FA0 800263A0 002F0821 */ addu $at, $at, $t7
/* 026FA4 800263A4 C426DBD4 */ lwc1 $f6, %lo(D_800DDBD4)($at)
/* 026FA8 800263A8 27A400A8 */ addiu $a0, $sp, 0xa8
/* 026FAC 800263AC 46083402 */ mul.s $f16, $f6, $f8
/* 026FB0 800263B0 44058000 */ mfc1 $a1, $f16
/* 026FB4 800263B4 0C0087E1 */ jal func_80021F84
/* 026FB8 800263B8 00000000 */ nop
/* 026FBC 800263BC 3C198016 */ lui $t9, %hi(D_80164AF0) # $t9, 0x8016
/* 026FC0 800263C0 87394AF0 */ lh $t9, %lo(D_80164AF0)($t9)
/* 026FC4 800263C4 3C0E8015 */ lui $t6, %hi(gGfxPool) # $t6, 0x8015
/* 026FC8 800263C8 8DCEEF40 */ lw $t6, %lo(gGfxPool)($t6)
/* 026FCC 800263CC 0019C180 */ sll $t8, $t9, 6
/* 026FD0 800263D0 3401FAC0 */ li $at, 64192
/* 026FD4 800263D4 01D82021 */ addu $a0, $t6, $t8
/* 026FD8 800263D8 00812021 */ addu $a0, $a0, $at
/* 026FDC 800263DC 0C008860 */ jal func_80022180
/* 026FE0 800263E0 27A500A8 */ addiu $a1, $sp, 0xa8
/* 026FE4 800263E4 3C038015 */ lui $v1, %hi(gDisplayListHead) # $v1, 0x8015
/* 026FE8 800263E8 24630298 */ addiu $v1, %lo(gDisplayListHead) # addiu $v1, $v1, 0x298
/* 026FEC 800263EC 8C690000 */ lw $t1, ($v1)
/* 026FF0 800263F0 3C190102 */ lui $t9, (0x01020040 >> 16) # lui $t9, 0x102
/* 026FF4 800263F4 37390040 */ ori $t9, (0x01020040 & 0xFFFF) # ori $t9, $t9, 0x40
/* 026FF8 800263F8 252F0008 */ addiu $t7, $t1, 8
/* 026FFC 800263FC AC6F0000 */ sw $t7, ($v1)
/* 027000 80026400 3C188016 */ lui $t8, %hi(D_80164AF0) # $t8, 0x8016
/* 027004 80026404 AD390000 */ sw $t9, ($t1)
/* 027008 80026408 87184AF0 */ lh $t8, %lo(D_80164AF0)($t8)
/* 02700C 8002640C 3C0E8015 */ lui $t6, %hi(gGfxPool) # $t6, 0x8015
/* 027010 80026410 8DCEEF40 */ lw $t6, %lo(gGfxPool)($t6)
/* 027014 80026414 00187980 */ sll $t7, $t8, 6
/* 027018 80026418 3401FAC0 */ li $at, 64192
/* 02701C 8002641C 01CFC821 */ addu $t9, $t6, $t7
/* 027020 80026420 0321C021 */ addu $t8, $t9, $at
/* 027024 80026424 3C011FFF */ lui $at, (0x1FFFFFFF >> 16) # lui $at, 0x1fff
/* 027028 80026428 3421FFFF */ ori $at, (0x1FFFFFFF & 0xFFFF) # ori $at, $at, 0xffff
/* 02702C 8002642C 03017024 */ and $t6, $t8, $at
/* 027030 80026430 AD2E0004 */ sw $t6, 4($t1)
/* 027034 80026434 8C6A0000 */ lw $t2, ($v1)
/* 027038 80026438 3C180D01 */ lui $t8, %hi(D_0D008CD8) # $t8, 0xd01
/* 02703C 8002643C 27188CD8 */ addiu $t8, %lo(D_0D008CD8) # addiu $t8, $t8, -0x7328
/* 027040 80026440 254F0008 */ addiu $t7, $t2, 8
/* 027044 80026444 AC6F0000 */ sw $t7, ($v1)
/* 027048 80026448 3C190600 */ lui $t9, 0x600
/* 02704C 8002644C AD590000 */ sw $t9, ($t2)
/* 027050 80026450 AD580004 */ sw $t8, 4($t2)
/* 027054 80026454 8C620000 */ lw $v0, ($v1)
/* 027058 80026458 3C0FBA00 */ lui $t7, (0xBA000E02 >> 16) # lui $t7, 0xba00
/* 02705C 8002645C 35EF0E02 */ ori $t7, (0xBA000E02 & 0xFFFF) # ori $t7, $t7, 0xe02
/* 027060 80026460 244E0008 */ addiu $t6, $v0, 8
/* 027064 80026464 AC6E0000 */ sw $t6, ($v1)
/* 027068 80026468 34198000 */ li $t9, 32768
/* 02706C 8002646C AC590004 */ sw $t9, 4($v0)
/* 027070 80026470 AC4F0000 */ sw $t7, ($v0)
/* 027074 80026474 83A800EF */ lb $t0, 0xef($sp)
/* 027078 80026478 3C0F8016 */ lui $t7, %hi(D_80164B60) # 0x8016
/* 02707C 8002647C 3C0E8016 */ lui $t6, %hi(D_80164B50) # 0x8016
/* 027080 80026480 0008C040 */ sll $t8, $t0, 1
/* 027084 80026484 01D87021 */ addu $t6, $t6, $t8
/* 027088 80026488 01F87821 */ addu $t7, $t7, $t8
/* 02708C 8002648C 95EF4B60 */ lhu $t7, %lo(D_80164B60)($t7) # 0x4b60
/* 027090 80026490 95CE4B50 */ lhu $t6, %lo(D_80164B50)($t6) # 0x4b50
/* 027094 80026494 3C048016 */ lui $a0, %hi(D_80164B10) # 0x8016
/* 027098 80026498 3C058016 */ lui $a1, %hi(D_80164B20) # 0x8016
/* 02709C 8002649C 3C068016 */ lui $a2, %hi(D_80164B30) # 0x8016
/* 0270A0 800264A0 3C078016 */ lui $a3, %hi(D_80164B40) # 0x8016
/* 0270A4 800264A4 AFAF0014 */ sw $t7, 0x14($sp)
/* 0270A8 800264A8 AFAE0010 */ sw $t6, 0x10($sp)
/* 0270AC 800264AC 861900C6 */ lh $t9, 0xc6($s0)
/* 0270B0 800264B0 00F83821 */ addu $a3, $a3, $t8
/* 0270B4 800264B4 00D83021 */ addu $a2, $a2, $t8
/* 0270B8 800264B8 00B82821 */ addu $a1, $a1, $t8
/* 0270BC 800264BC 00982021 */ addu $a0, $a0, $t8
/* 0270C0 800264C0 03004025 */ move $t0, $t8
/* 0270C4 800264C4 94844B10 */ lhu $a0, %lo(D_80164B10)($a0) # 0x4b10
/* 0270C8 800264C8 94A54B20 */ lhu $a1, %lo(D_80164B20)($a1) # 0x4b20
/* 0270CC 800264CC 94C64B30 */ lhu $a2, %lo(D_80164B30)($a2) # 0x4b30
/* 0270D0 800264D0 94E74B40 */ lhu $a3, %lo(D_80164B40)($a3) # 0x4b40
/* 0270D4 800264D4 00405825 */ move $t3, $v0
/* 0270D8 800264D8 07210003 */ bgez $t9, .L800264E8
/* 0270DC 800264DC 0019C043 */ sra $t8, $t9, 1
/* 0270E0 800264E0 27210001 */ addiu $at, $t9, 1
/* 0270E4 800264E4 0001C043 */ sra $t8, $at, 1
.L800264E8:
/* 0270E8 800264E8 0C012D85 */ jal func_8004B614
/* 0270EC 800264EC AFB80018 */ sw $t8, 0x18($sp)
/* 0270F0 800264F0 3C038015 */ lui $v1, %hi(gDisplayListHead) # $v1, 0x8015
/* 0270F4 800264F4 24630298 */ addiu $v1, %lo(gDisplayListHead) # addiu $v1, $v1, 0x298
/* 0270F8 800264F8 8C620000 */ lw $v0, ($v1)
/* 0270FC 800264FC 3C0FB900 */ lui $t7, (0xB900031D >> 16) # lui $t7, 0xb900
/* 027100 80026500 3C190050 */ lui $t9, (0x00504A50 >> 16) # lui $t9, 0x50
/* 027104 80026504 244E0008 */ addiu $t6, $v0, 8
/* 027108 80026508 AC6E0000 */ sw $t6, ($v1)
/* 02710C 8002650C 37394A50 */ ori $t9, (0x00504A50 & 0xFFFF) # ori $t9, $t9, 0x4a50
/* 027110 80026510 35EF031D */ ori $t7, (0xB900031D & 0xFFFF) # ori $t7, $t7, 0x31d
/* 027114 80026514 AC4F0000 */ sw $t7, ($v0)
/* 027118 80026518 AC590004 */ sw $t9, 4($v0)
/* 02711C 8002651C 8C620000 */ lw $v0, ($v1)
/* 027120 80026520 3C10FD50 */ lui $s0, 0xfd50
/* 027124 80026524 3C0E8016 */ lui $t6, %hi(D_80164B08) # $t6, 0x8016
/* 027128 80026528 24580008 */ addiu $t8, $v0, 8
/* 02712C 8002652C AC780000 */ sw $t8, ($v1)
/* 027130 80026530 AC500000 */ sw $s0, ($v0)
/* 027134 80026534 8DCE4B08 */ lw $t6, %lo(D_80164B08)($t6)
/* 027138 80026538 3C180708 */ lui $t8, (0x07080200 >> 16) # lui $t8, 0x708
/* 02713C 8002653C 37180200 */ ori $t8, (0x07080200 & 0xFFFF) # ori $t8, $t8, 0x200
/* 027140 80026540 AC4E0004 */ sw $t6, 4($v0)
/* 027144 80026544 8C620000 */ lw $v0, ($v1)
/* 027148 80026548 3C19F550 */ lui $t9, 0xf550
/* 02714C 8002654C 3C1F0D01 */ lui $ra, %hi(D_0D008C78) # $ra, 0xd01
/* 027150 80026550 244F0008 */ addiu $t7, $v0, 8
/* 027154 80026554 AC6F0000 */ sw $t7, ($v1)
/* 027158 80026558 AC580004 */ sw $t8, 4($v0)
/* 02715C 8002655C AC590000 */ sw $t9, ($v0)
/* 027160 80026560 8C620000 */ lw $v0, ($v1)
/* 027164 80026564 3C0FE600 */ lui $t7, 0xe600
/* 027168 80026568 3C18F300 */ lui $t8, 0xf300
/* 02716C 8002656C 244E0008 */ addiu $t6, $v0, 8
/* 027170 80026570 AC6E0000 */ sw $t6, ($v1)
/* 027174 80026574 AC400004 */ sw $zero, 4($v0)
/* 027178 80026578 AC4F0000 */ sw $t7, ($v0)
/* 02717C 8002657C 8C620000 */ lw $v0, ($v1)
/* 027180 80026580 3C0E073F */ lui $t6, (0x073FF100 >> 16) # lui $t6, 0x73f
/* 027184 80026584 35CEF100 */ ori $t6, (0x073FF100 & 0xFFFF) # ori $t6, $t6, 0xf100
/* 027188 80026588 24590008 */ addiu $t9, $v0, 8
/* 02718C 8002658C AC790000 */ sw $t9, ($v1)
/* 027190 80026590 AC4E0004 */ sw $t6, 4($v0)
/* 027194 80026594 AC580000 */ sw $t8, ($v0)
/* 027198 80026598 8C620000 */ lw $v0, ($v1)
/* 02719C 8002659C 3C19E700 */ lui $t9, 0xe700
/* 0271A0 800265A0 3C0EF548 */ lui $t6, (0xF5481000 >> 16) # lui $t6, 0xf548
/* 0271A4 800265A4 244F0008 */ addiu $t7, $v0, 8
/* 0271A8 800265A8 AC6F0000 */ sw $t7, ($v1)
/* 0271AC 800265AC AC400004 */ sw $zero, 4($v0)
/* 0271B0 800265B0 AC590000 */ sw $t9, ($v0)
/* 0271B4 800265B4 8C620000 */ lw $v0, ($v1)
/* 0271B8 800265B8 3C0F0008 */ lui $t7, (0x00080200 >> 16) # lui $t7, 8
/* 0271BC 800265BC 35EF0200 */ ori $t7, (0x00080200 & 0xFFFF) # ori $t7, $t7, 0x200
/* 0271C0 800265C0 24580008 */ addiu $t8, $v0, 8
/* 0271C4 800265C4 AC780000 */ sw $t8, ($v1)
/* 0271C8 800265C8 35CE1000 */ ori $t6, (0xF5481000 & 0xFFFF) # ori $t6, $t6, 0x1000
/* 0271CC 800265CC AC4E0000 */ sw $t6, ($v0)
/* 0271D0 800265D0 AC4F0004 */ sw $t7, 4($v0)
/* 0271D4 800265D4 8C620000 */ lw $v0, ($v1)
/* 0271D8 800265D8 3C0E000F */ lui $t6, (0x000FC07C >> 16) # lui $t6, 0xf
/* 0271DC 800265DC 35CEC07C */ ori $t6, (0x000FC07C & 0xFFFF) # ori $t6, $t6, 0xc07c
/* 0271E0 800265E0 24590008 */ addiu $t9, $v0, 8
/* 0271E4 800265E4 AC790000 */ sw $t9, ($v1)
/* 0271E8 800265E8 3C18F200 */ lui $t8, 0xf200
/* 0271EC 800265EC AC580000 */ sw $t8, ($v0)
/* 0271F0 800265F0 AC4E0004 */ sw $t6, 4($v0)
/* 0271F4 800265F4 8C620000 */ lw $v0, ($v1)
/* 0271F8 800265F8 3C190400 */ lui $t9, (0x0400103F >> 16) # lui $t9, 0x400
/* 0271FC 800265FC 3739103F */ ori $t9, (0x0400103F & 0xFFFF) # ori $t9, $t9, 0x103f
/* 027200 80026600 244F0008 */ addiu $t7, $v0, 8
/* 027204 80026604 AC6F0000 */ sw $t7, ($v1)
/* 027208 80026608 AC590000 */ sw $t9, ($v0)
/* 02720C 8002660C 83B800EF */ lb $t8, 0xef($sp)
/* 027210 80026610 3C0F800E */ lui $t7, %hi(D_800DDBB4) # $t7, 0x800e
/* 027214 80026614 25EFDBB4 */ addiu $t7, %lo(D_800DDBB4) # addiu $t7, $t7, -0x244c
/* 027218 80026618 00187080 */ sll $t6, $t8, 2
/* 02721C 8002661C 83B800F7 */ lb $t8, 0xf7($sp)
/* 027220 80026620 01CF6821 */ addu $t5, $t6, $t7
/* 027224 80026624 8DB90000 */ lw $t9, ($t5)
/* 027228 80026628 00187100 */ sll $t6, $t8, 4
/* 02722C 8002662C 27FF8C78 */ addiu $ra, %lo(D_0D008C78) # addiu $ra, $ra, -0x7388
/* 027230 80026630 032E7821 */ addu $t7, $t9, $t6
/* 027234 80026634 AC4F0004 */ sw $t7, 4($v0)
/* 027238 80026638 8C620000 */ lw $v0, ($v1)
/* 02723C 8002663C 3C190600 */ lui $t9, 0x600
/* 027240 80026640 3C0F8016 */ lui $t7, %hi(D_80164B0C) # $t7, 0x8016
/* 027244 80026644 24580008 */ addiu $t8, $v0, 8
/* 027248 80026648 AC780000 */ sw $t8, ($v1)
/* 02724C 8002664C AC5F0004 */ sw $ra, 4($v0)
/* 027250 80026650 AC590000 */ sw $t9, ($v0)
/* 027254 80026654 8C620000 */ lw $v0, ($v1)
/* 027258 80026658 3C19F550 */ lui $t9, 0xf550
/* 02725C 8002665C 3C068016 */ lui $a2, %hi(D_80164AF0) # $a2, 0x8016
/* 027260 80026660 244E0008 */ addiu $t6, $v0, 8
/* 027264 80026664 AC6E0000 */ sw $t6, ($v1)
/* 027268 80026668 AC500000 */ sw $s0, ($v0)
/* 02726C 8002666C 8DEF4B0C */ lw $t7, %lo(D_80164B0C)($t7)
/* 027270 80026670 3C0E0708 */ lui $t6, (0x07080200 >> 16) # lui $t6, 0x708
/* 027274 80026674 35CE0200 */ ori $t6, (0x07080200 & 0xFFFF) # ori $t6, $t6, 0x200
/* 027278 80026678 AC4F0004 */ sw $t7, 4($v0)
/* 02727C 8002667C 8C620000 */ lw $v0, ($v1)
/* 027280 80026680 24C64AF0 */ addiu $a2, %lo(D_80164AF0) # addiu $a2, $a2, 0x4af0
/* 027284 80026684 24580008 */ addiu $t8, $v0, 8
/* 027288 80026688 AC780000 */ sw $t8, ($v1)
/* 02728C 8002668C AC4E0004 */ sw $t6, 4($v0)
/* 027290 80026690 AC590000 */ sw $t9, ($v0)
/* 027294 80026694 8C620000 */ lw $v0, ($v1)
/* 027298 80026698 3C18E600 */ lui $t8, 0xe600
/* 02729C 8002669C 3C0EF300 */ lui $t6, 0xf300
/* 0272A0 800266A0 244F0008 */ addiu $t7, $v0, 8
/* 0272A4 800266A4 AC6F0000 */ sw $t7, ($v1)
/* 0272A8 800266A8 AC400004 */ sw $zero, 4($v0)
/* 0272AC 800266AC AC580000 */ sw $t8, ($v0)
/* 0272B0 800266B0 8C620000 */ lw $v0, ($v1)
/* 0272B4 800266B4 3C0F073F */ lui $t7, (0x073FF100 >> 16) # lui $t7, 0x73f
/* 0272B8 800266B8 35EFF100 */ ori $t7, (0x073FF100 & 0xFFFF) # ori $t7, $t7, 0xf100
/* 0272BC 800266BC 24590008 */ addiu $t9, $v0, 8
/* 0272C0 800266C0 AC790000 */ sw $t9, ($v1)
/* 0272C4 800266C4 AC4F0004 */ sw $t7, 4($v0)
/* 0272C8 800266C8 AC4E0000 */ sw $t6, ($v0)
/* 0272CC 800266CC 8C620000 */ lw $v0, ($v1)
/* 0272D0 800266D0 3C19E700 */ lui $t9, 0xe700
/* 0272D4 800266D4 3C0FF548 */ lui $t7, (0xF5481000 >> 16) # lui $t7, 0xf548
/* 0272D8 800266D8 24580008 */ addiu $t8, $v0, 8
/* 0272DC 800266DC AC780000 */ sw $t8, ($v1)
/* 0272E0 800266E0 AC400004 */ sw $zero, 4($v0)
/* 0272E4 800266E4 AC590000 */ sw $t9, ($v0)
/* 0272E8 800266E8 8C620000 */ lw $v0, ($v1)
/* 0272EC 800266EC 3C180008 */ lui $t8, (0x00080200 >> 16) # lui $t8, 8
/* 0272F0 800266F0 37180200 */ ori $t8, (0x00080200 & 0xFFFF) # ori $t8, $t8, 0x200
/* 0272F4 800266F4 244E0008 */ addiu $t6, $v0, 8
/* 0272F8 800266F8 AC6E0000 */ sw $t6, ($v1)
/* 0272FC 800266FC 35EF1000 */ ori $t7, (0xF5481000 & 0xFFFF) # ori $t7, $t7, 0x1000
/* 027300 80026700 AC4F0000 */ sw $t7, ($v0)
/* 027304 80026704 AC580004 */ sw $t8, 4($v0)
/* 027308 80026708 8C620000 */ lw $v0, ($v1)
/* 02730C 8002670C 3C0F000F */ lui $t7, (0x000FC07C >> 16) # lui $t7, 0xf
/* 027310 80026710 35EFC07C */ ori $t7, (0x000FC07C & 0xFFFF) # ori $t7, $t7, 0xc07c
/* 027314 80026714 24590008 */ addiu $t9, $v0, 8
/* 027318 80026718 AC790000 */ sw $t9, ($v1)
/* 02731C 8002671C 3C0EF200 */ lui $t6, 0xf200
/* 027320 80026720 AC4E0000 */ sw $t6, ($v0)
/* 027324 80026724 AC4F0004 */ sw $t7, 4($v0)
/* 027328 80026728 8C620000 */ lw $v0, ($v1)
/* 02732C 8002672C 3C190400 */ lui $t9, (0x0400103F >> 16) # lui $t9, 0x400
/* 027330 80026730 3739103F */ ori $t9, (0x0400103F & 0xFFFF) # ori $t9, $t9, 0x103f
/* 027334 80026734 24580008 */ addiu $t8, $v0, 8
/* 027338 80026738 AC780000 */ sw $t8, ($v1)
/* 02733C 8002673C AC590000 */ sw $t9, ($v0)
/* 027340 80026740 83AF00F7 */ lb $t7, 0xf7($sp)
/* 027344 80026744 8DAE0000 */ lw $t6, ($t5)
/* 027348 80026748 25F80004 */ addiu $t8, $t7, 4
/* 02734C 8002674C 0018C900 */ sll $t9, $t8, 4
/* 027350 80026750 01D97821 */ addu $t7, $t6, $t9
/* 027354 80026754 AC4F0004 */ sw $t7, 4($v0)
/* 027358 80026758 8C620000 */ lw $v0, ($v1)
/* 02735C 8002675C 3C0E0600 */ lui $t6, 0x600
/* 027360 80026760 3C0FBB00 */ lui $t7, 0xbb00
/* 027364 80026764 24580008 */ addiu $t8, $v0, 8
/* 027368 80026768 AC780000 */ sw $t8, ($v1)
/* 02736C 8002676C AC5F0004 */ sw $ra, 4($v0)
/* 027370 80026770 AC4E0000 */ sw $t6, ($v0)
/* 027374 80026774 8C620000 */ lw $v0, ($v1)
/* 027378 80026778 3C180001 */ lui $t8, (0x00010001 >> 16) # lui $t8, 1
/* 02737C 8002677C 37180001 */ ori $t8, (0x00010001 & 0xFFFF) # ori $t8, $t8, 1
/* 027380 80026780 24590008 */ addiu $t9, $v0, 8
/* 027384 80026784 AC790000 */ sw $t9, ($v1)
/* 027388 80026788 AC580004 */ sw $t8, 4($v0)
/* 02738C 8002678C AC4F0000 */ sw $t7, ($v0)
/* 027390 80026790 84CE0000 */ lh $t6, ($a2)
/* 027394 80026794 8FBF002C */ lw $ra, 0x2c($sp)
/* 027398 80026798 8FB00028 */ lw $s0, 0x28($sp)
/* 02739C 8002679C 25D90001 */ addiu $t9, $t6, 1
/* 0273A0 800267A0 A4D90000 */ sh $t9, ($a2)
/* 0273A4 800267A4 03E00008 */ jr $ra
/* 0273A8 800267A8 27BD00E8 */ addiu $sp, $sp, 0xe8
glabel func_800267AC
/* 0273AC 800267AC 27BDFFB8 */ addiu $sp, $sp, -0x48
/* 0273B0 800267B0 AFB20020 */ sw $s2, 0x20($sp)
/* 0273B4 800267B4 AFB1001C */ sw $s1, 0x1c($sp)
/* 0273B8 800267B8 00068E00 */ sll $s1, $a2, 0x18
/* 0273BC 800267BC 00059600 */ sll $s2, $a1, 0x18
/* 0273C0 800267C0 00127603 */ sra $t6, $s2, 0x18
/* 0273C4 800267C4 00117E03 */ sra $t7, $s1, 0x18
/* 0273C8 800267C8 AFA5004C */ sw $a1, 0x4c($sp)
/* 0273CC 800267CC AFA60050 */ sw $a2, 0x50($sp)
/* 0273D0 800267D0 000F4100 */ sll $t0, $t7, 4
/* 0273D4 800267D4 000E4840 */ sll $t1, $t6, 1
/* 0273D8 800267D8 01095021 */ addu $t2, $t0, $t1
/* 0273DC 800267DC 000F3600 */ sll $a2, $t7, 0x18
/* 0273E0 800267E0 000E2E00 */ sll $a1, $t6, 0x18
/* 0273E4 800267E4 3C078016 */ lui $a3, %hi(D_801651D1) # 0x8016
/* 0273E8 800267E8 AFBF0024 */ sw $ra, 0x24($sp)
/* 0273EC 800267EC AFB00018 */ sw $s0, 0x18($sp)
/* 0273F0 800267F0 00EA3821 */ addu $a3, $a3, $t2
/* 0273F4 800267F4 0005C603 */ sra $t8, $a1, 0x18
/* 0273F8 800267F8 0006CE03 */ sra $t9, $a2, 0x18
/* 0273FC 800267FC 00808025 */ move $s0, $a0
/* 027400 80026800 01E08825 */ move $s1, $t7
/* 027404 80026804 01C09025 */ move $s2, $t6
/* 027408 80026808 03203025 */ move $a2, $t9
/* 02740C 8002680C 03002825 */ move $a1, $t8
/* 027410 80026810 0C009AD3 */ jal func_80026B4C
/* 027414 80026814 80E751D1 */ lb $a3, %lo(D_801651D1)($a3) # 0x51d1
/* 027418 80026818 960B0002 */ lhu $t3, 2($s0)
/* 02741C 8002681C 00111080 */ sll $v0, $s1, 2
/* 027420 80026820 240C0004 */ li $t4, 4
/* 027424 80026824 004C6804 */ sllv $t5, $t4, $v0
/* 027428 80026828 016D7024 */ and $t6, $t3, $t5
/* 02742C 8002682C 15C00003 */ bnez $t6, .L8002683C
/* 027430 80026830 02002025 */ move $a0, $s0
/* 027434 80026834 10000002 */ b .L80026840
/* 027438 80026838 00001825 */ move $v1, $zero
.L8002683C:
/* 02743C 8002683C 24030008 */ li $v1, 8
.L80026840:
/* 027440 80026840 00122E00 */ sll $a1, $s2, 0x18
/* 027444 80026844 00113600 */ sll $a2, $s1, 0x18
/* 027448 80026848 00033E00 */ sll $a3, $v1, 0x18
/* 02744C 8002684C 0007CE03 */ sra $t9, $a3, 0x18
/* 027450 80026850 0006C603 */ sra $t8, $a2, 0x18
/* 027454 80026854 00057E03 */ sra $t7, $a1, 0x18
/* 027458 80026858 01E02825 */ move $a1, $t7
/* 02745C 8002685C 03003025 */ move $a2, $t8
/* 027460 80026860 03203825 */ move $a3, $t9
/* 027464 80026864 AFB9002C */ sw $t9, 0x2c($sp)
/* 027468 80026868 0C008EFC */ jal func_80023BF0
/* 02746C 8002686C AFA20030 */ sw $v0, 0x30($sp)
/* 027470 80026870 8FA20030 */ lw $v0, 0x30($sp)
/* 027474 80026874 24080008 */ li $t0, 8
/* 027478 80026878 3C014248 */ li $at, 0x42480000 # 50.000000
/* 02747C 8002687C 00484804 */ sllv $t1, $t0, $v0
/* 027480 80026880 AFA90028 */ sw $t1, 0x28($sp)
/* 027484 80026884 960A0002 */ lhu $t2, 2($s0)
/* 027488 80026888 01496024 */ and $t4, $t2, $t1
/* 02748C 8002688C 552C0023 */ bnel $t1, $t4, .L8002691C
/* 027490 80026890 960A0000 */ lhu $t2, ($s0)
/* 027494 80026894 44812000 */ mtc1 $at, $f4
/* 027498 80026898 C6060124 */ lwc1 $f6, 0x124($s0)
/* 02749C 8002689C 4604303E */ c.le.s $f6, $f4
/* 0274A0 800268A0 00000000 */ nop
/* 0274A4 800268A4 4502001D */ bc1fl .L8002691C
/* 0274A8 800268A8 960A0000 */ lhu $t2, ($s0)
/* 0274AC 800268AC 960B00F8 */ lhu $t3, 0xf8($s0)
/* 0274B0 800268B0 24010009 */ li $at, 9
/* 0274B4 800268B4 51610019 */ beql $t3, $at, .L8002691C
/* 0274B8 800268B8 960A0000 */ lhu $t2, ($s0)
/* 0274BC 800268BC 8E0D00BC */ lw $t5, 0xbc($s0)
/* 0274C0 800268C0 3C028000 */ lui $v0, 0x8000
/* 0274C4 800268C4 02002025 */ move $a0, $s0
/* 0274C8 800268C8 01A27024 */ and $t6, $t5, $v0
/* 0274CC 800268CC 144E000C */ bne $v0, $t6, .L80026900
/* 0274D0 800268D0 00122E00 */ sll $a1, $s2, 0x18
/* 0274D4 800268D4 16510010 */ bne $s2, $s1, .L80026918
/* 0274D8 800268D8 02002025 */ move $a0, $s0
/* 0274DC 800268DC 00122E00 */ sll $a1, $s2, 0x18
/* 0274E0 800268E0 00113600 */ sll $a2, $s1, 0x18
/* 0274E4 800268E4 0006C603 */ sra $t8, $a2, 0x18
/* 0274E8 800268E8 00057E03 */ sra $t7, $a1, 0x18
/* 0274EC 800268EC 01E02825 */ move $a1, $t7
/* 0274F0 800268F0 0C008F21 */ jal func_80023C84
/* 0274F4 800268F4 03003025 */ move $a2, $t8
/* 0274F8 800268F8 10000008 */ b .L8002691C
/* 0274FC 800268FC 960A0000 */ lhu $t2, ($s0)
.L80026900:
/* 027500 80026900 00113600 */ sll $a2, $s1, 0x18
/* 027504 80026904 00064603 */ sra $t0, $a2, 0x18
/* 027508 80026908 0005CE03 */ sra $t9, $a1, 0x18
/* 02750C 8002690C 03202825 */ move $a1, $t9
/* 027510 80026910 0C008F21 */ jal func_80023C84
/* 027514 80026914 01003025 */ move $a2, $t0
.L80026918:
/* 027518 80026918 960A0000 */ lhu $t2, ($s0)
.L8002691C:
/* 02751C 8002691C 24010100 */ li $at, 256
/* 027520 80026920 02002025 */ move $a0, $s0
/* 027524 80026924 31490100 */ andi $t1, $t2, 0x100
/* 027528 80026928 1121000C */ beq $t1, $at, .L8002695C
/* 02752C 8002692C 00122E00 */ sll $a1, $s2, 0x18
/* 027530 80026930 00122E00 */ sll $a1, $s2, 0x18
/* 027534 80026934 00113600 */ sll $a2, $s1, 0x18
/* 027538 80026938 00065E03 */ sra $t3, $a2, 0x18
/* 02753C 8002693C 00056603 */ sra $t4, $a1, 0x18
/* 027540 80026940 01802825 */ move $a1, $t4
/* 027544 80026944 01603025 */ move $a2, $t3
/* 027548 80026948 02002025 */ move $a0, $s0
/* 02754C 8002694C 0C009234 */ jal func_800248D0
/* 027550 80026950 83A7002F */ lb $a3, 0x2f($sp)
/* 027554 80026954 10000008 */ b .L80026978
/* 027558 80026958 00000000 */ nop
.L8002695C:
/* 02755C 8002695C 00113600 */ sll $a2, $s1, 0x18
/* 027560 80026960 00067603 */ sra $t6, $a2, 0x18
/* 027564 80026964 00056E03 */ sra $t5, $a1, 0x18
/* 027568 80026968 01A02825 */ move $a1, $t5
/* 02756C 8002696C 01C03025 */ move $a2, $t6
/* 027570 80026970 0C0095BD */ jal func_800256F4
/* 027574 80026974 83A7002F */ lb $a3, 0x2f($sp)
.L80026978:
/* 027578 80026978 3C048015 */ lui $a0, %hi(D_8014EF58) # $a0, 0x8015
/* 02757C 8002697C 2484EF58 */ addiu $a0, %lo(D_8014EF58) # addiu $a0, $a0, -0x10a8
/* 027580 80026980 27A50034 */ addiu $a1, $sp, 0x34
/* 027584 80026984 0C0335D4 */ jal osRecvMesg
/* 027588 80026988 24060001 */ li $a2, 1
/* 02758C 8002698C 8FAF0028 */ lw $t7, 0x28($sp)
/* 027590 80026990 96180002 */ lhu $t8, 2($s0)
/* 027594 80026994 030FC824 */ and $t9, $t8, $t7
/* 027598 80026998 55F90018 */ bnel $t7, $t9, .L800269FC
/* 02759C 8002699C 3C014000 */ lui $at, 0x4000
/* 0275A0 800269A0 960800F8 */ lhu $t0, 0xf8($s0)
/* 0275A4 800269A4 24010009 */ li $at, 9
/* 0275A8 800269A8 55010014 */ bnel $t0, $at, .L800269FC
/* 0275AC 800269AC 3C014000 */ lui $at, 0x4000
/* 0275B0 800269B0 860A00CA */ lh $t2, 0xca($s0)
/* 0275B4 800269B4 24010001 */ li $at, 1
/* 0275B8 800269B8 31490001 */ andi $t1, $t2, 1
/* 0275BC 800269BC 1121000E */ beq $t1, $at, .L800269F8
/* 0275C0 800269C0 3C0141F0 */ li $at, 0x41F00000 # 30.000000
/* 0275C4 800269C4 44814000 */ mtc1 $at, $f8
/* 0275C8 800269C8 C60A0124 */ lwc1 $f10, 0x124($s0)
/* 0275CC 800269CC 00122E00 */ sll $a1, $s2, 0x18
/* 0275D0 800269D0 00056603 */ sra $t4, $a1, 0x18
/* 0275D4 800269D4 4608503E */ c.le.s $f10, $f8
/* 0275D8 800269D8 00113600 */ sll $a2, $s1, 0x18
/* 0275DC 800269DC 00065E03 */ sra $t3, $a2, 0x18
/* 0275E0 800269E0 01802825 */ move $a1, $t4
/* 0275E4 800269E4 45000004 */ bc1f .L800269F8
/* 0275E8 800269E8 02002025 */ move $a0, $s0
/* 0275EC 800269EC 01603025 */ move $a2, $t3
/* 0275F0 800269F0 0C0098B8 */ jal func_800262E0
/* 0275F4 800269F4 83A7002F */ lb $a3, 0x2f($sp)
.L800269F8:
/* 0275F8 800269F8 3C014000 */ li $at, 0x40000000 # 2.000000
.L800269FC:
/* 0275FC 800269FC 44819000 */ mtc1 $at, $f18
/* 027600 80026A00 C6100080 */ lwc1 $f16, 0x80($s0)
/* 027604 80026A04 00122E00 */ sll $a1, $s2, 0x18
/* 027608 80026A08 00056E03 */ sra $t5, $a1, 0x18
/* 02760C 80026A0C 4610903E */ c.le.s $f18, $f16
/* 027610 80026A10 00113600 */ sll $a2, $s1, 0x18
/* 027614 80026A14 00067603 */ sra $t6, $a2, 0x18
/* 027618 80026A18 01A02825 */ move $a1, $t5
/* 02761C 80026A1C 45000004 */ bc1f .L80026A30
/* 027620 80026A20 02002025 */ move $a0, $s0
/* 027624 80026A24 01C03025 */ move $a2, $t6
/* 027628 80026A28 0C00977A */ jal func_80025DE8
/* 02762C 80026A2C 83A7002F */ lb $a3, 0x2f($sp)
.L80026A30:
/* 027630 80026A30 8FBF0024 */ lw $ra, 0x24($sp)
/* 027634 80026A34 8FB00018 */ lw $s0, 0x18($sp)
/* 027638 80026A38 8FB1001C */ lw $s1, 0x1c($sp)
/* 02763C 80026A3C 8FB20020 */ lw $s2, 0x20($sp)
/* 027640 80026A40 03E00008 */ jr $ra
/* 027644 80026A44 27BD0048 */ addiu $sp, $sp, 0x48
glabel func_80026A48
/* 027648 80026A48 AFA50004 */ sw $a1, 4($sp)
/* 02764C 80026A4C 8C9800BC */ lw $t8, 0xbc($a0)
/* 027650 80026A50 00057600 */ sll $t6, $a1, 0x18
/* 027654 80026A54 24014000 */ li $at, 16384
/* 027658 80026A58 33194000 */ andi $t9, $t8, 0x4000
/* 02765C 80026A5C 1721000E */ bne $t9, $at, .L80026A98
/* 027660 80026A60 000E2E03 */ sra $a1, $t6, 0x18
/* 027664 80026A64 94880000 */ lhu $t0, ($a0)
/* 027668 80026A68 3C0B800E */ lui $t3, %hi(D_800DDE94) # $t3, 0x800e
/* 02766C 80026A6C 31092000 */ andi $t1, $t0, 0x2000
/* 027670 80026A70 5520000A */ bnel $t1, $zero, .L80026A9C
/* 027674 80026A74 3C013F80 */ lui $at, 0x3f80
/* 027678 80026A78 8C8A0240 */ lw $t2, 0x240($a0)
/* 02767C 80026A7C 8D6BDE94 */ lw $t3, %lo(D_800DDE94)($t3)
/* 027680 80026A80 014B6021 */ addu $t4, $t2, $t3
/* 027684 80026A84 29810400 */ slti $at, $t4, 0x400
/* 027688 80026A88 1420002E */ bnez $at, .L80026B44
/* 02768C 80026A8C AC8C0240 */ sw $t4, 0x240($a0)
/* 027690 80026A90 03E00008 */ jr $ra
/* 027694 80026A94 AC800240 */ sw $zero, 0x240($a0)
.L80026A98:
/* 027698 80026A98 3C013F80 */ li $at, 0x3F800000 # 1.000000
.L80026A9C:
/* 02769C 80026A9C 44811000 */ mtc1 $at, $f2
/* 0276A0 80026AA0 C4860104 */ lwc1 $f6, 0x104($a0)
/* 0276A4 80026AA4 C4840094 */ lwc1 $f4, 0x94($a0)
/* 0276A8 80026AA8 3C014190 */ li $at, 0x41900000 # 18.000000
/* 0276AC 80026AAC 46061200 */ add.s $f8, $f2, $f6
/* 0276B0 80026AB0 44818000 */ mtc1 $at, $f16
/* 0276B4 80026AB4 3C014358 */ li $at, 0x43580000 # 216.000000
/* 0276B8 80026AB8 44813000 */ mtc1 $at, $f6
/* 0276BC 80026ABC 46082282 */ mul.s $f10, $f4, $f8
/* 0276C0 80026AC0 00057080 */ sll $t6, $a1, 2
/* 0276C4 80026AC4 3C0F8016 */ lui $t7, %hi(D_80165520) # 0x8016
/* 0276C8 80026AC8 01EE7821 */ addu $t7, $t7, $t6
/* 0276CC 80026ACC 46105483 */ div.s $f18, $f10, $f16
/* 0276D0 80026AD0 46069002 */ mul.s $f0, $f18, $f6
/* 0276D4 80026AD4 4602003E */ c.le.s $f0, $f2
/* 0276D8 80026AD8 00000000 */ nop
/* 0276DC 80026ADC 45010005 */ bc1t .L80026AF4
/* 0276E0 80026AE0 00000000 */ nop
/* 0276E4 80026AE4 8DEF5520 */ lw $t7, %lo(D_80165520)($t7) # 0x5520($t7)
/* 0276E8 80026AE8 24010001 */ li $at, 1
/* 0276EC 80026AEC 55E10004 */ bnel $t7, $at, .L80026B00
/* 0276F0 80026AF0 3C014140 */ lui $at, 0x4140
.L80026AF4:
/* 0276F4 80026AF4 1000000E */ b .L80026B30
/* 0276F8 80026AF8 AC800240 */ sw $zero, 0x240($a0)
/* 0276FC 80026AFC 3C014140 */ li $at, 0x41400000 # 12.000000
.L80026B00:
/* 027700 80026B00 44812000 */ mtc1 $at, $f4
/* 027704 80026B04 3C0A800E */ lui $t2, %hi(D_800DDE74)
/* 027708 80026B08 8C980240 */ lw $t8, 0x240($a0)
/* 02770C 80026B0C 46040203 */ div.s $f8, $f0, $f4
/* 027710 80026B10 4600428D */ trunc.w.s $f10, $f8
/* 027714 80026B14 44085000 */ mfc1 $t0, $f10
/* 027718 80026B18 00000000 */ nop
/* 02771C 80026B1C 00084880 */ sll $t1, $t0, 2
/* 027720 80026B20 01495021 */ addu $t2, $t2, $t1
/* 027724 80026B24 8D4ADE74 */ lw $t2, %lo(D_800DDE74)($t2)
/* 027728 80026B28 030A5821 */ addu $t3, $t8, $t2
/* 02772C 80026B2C AC8B0240 */ sw $t3, 0x240($a0)
.L80026B30:
/* 027730 80026B30 8C8C0240 */ lw $t4, 0x240($a0)
/* 027734 80026B34 29810400 */ slti $at, $t4, 0x400
/* 027738 80026B38 14200002 */ bnez $at, .L80026B44
/* 02773C 80026B3C 00000000 */ nop
/* 027740 80026B40 AC800240 */ sw $zero, 0x240($a0)
.L80026B44:
/* 027744 80026B44 03E00008 */ jr $ra
/* 027748 80026B48 00000000 */ nop
glabel func_80026B4C
/* 02774C 80026B4C 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 027750 80026B50 AFA50024 */ sw $a1, 0x24($sp)
/* 027754 80026B54 83AF0027 */ lb $t7, 0x27($sp)
/* 027758 80026B58 AFB00018 */ sw $s0, 0x18($sp)
/* 02775C 80026B5C 00068600 */ sll $s0, $a2, 0x18
/* 027760 80026B60 00107603 */ sra $t6, $s0, 0x18
/* 027764 80026B64 AFBF001C */ sw $ra, 0x1c($sp)
/* 027768 80026B68 AFA60028 */ sw $a2, 0x28($sp)
/* 02776C 80026B6C AFA7002C */ sw $a3, 0x2c($sp)
/* 027770 80026B70 8C8300BC */ lw $v1, 0xbc($a0)
/* 027774 80026B74 000F1040 */ sll $v0, $t7, 1
/* 027778 80026B78 000EC100 */ sll $t8, $t6, 4
/* 02777C 80026B7C 000E5900 */ sll $t3, $t6, 4
/* 027780 80026B80 0302C821 */ addu $t9, $t8, $v0
/* 027784 80026B84 3C088016 */ lui $t0, %hi(D_801650D0) # 0x8016
/* 027788 80026B88 01626021 */ addu $t4, $t3, $v0
/* 02778C 80026B8C 3C098016 */ lui $t1, %hi(D_80165110) # 0x8016
/* 027790 80026B90 01194021 */ addu $t0, $t0, $t9
/* 027794 80026B94 012C4821 */ addu $t1, $t1, $t4
/* 027798 80026B98 24014000 */ li $at, 16384
/* 02779C 80026B9C 306D4000 */ andi $t5, $v1, 0x4000
/* 0277A0 80026BA0 01C08025 */ move $s0, $t6
/* 0277A4 80026BA4 850850D0 */ lh $t0, %lo(D_801650D0)($t0) # 0x50d0
/* 0277A8 80026BA8 85295110 */ lh $t1, %lo(D_80165110)($t1) # 0x5110
/* 0277AC 80026BAC 15A1008E */ bne $t5, $at, .L80026DE8
/* 0277B0 80026BB0 848A0242 */ lh $t2, 0x242($a0)
/* 0277B4 80026BB4 948E0000 */ lhu $t6, ($a0)
/* 0277B8 80026BB8 30790080 */ andi $t9, $v1, 0x80
/* 0277BC 80026BBC 24010080 */ li $at, 128
/* 0277C0 80026BC0 31D82000 */ andi $t8, $t6, 0x2000
/* 0277C4 80026BC4 57000089 */ bnel $t8, $zero, .L80026DEC
/* 0277C8 80026BC8 30780080 */ andi $t8, $v1, 0x80
/* 0277CC 80026BCC 1321004D */ beq $t9, $at, .L80026D04
/* 0277D0 80026BD0 306B0040 */ andi $t3, $v1, 0x40
/* 0277D4 80026BD4 24010040 */ li $at, 64
/* 0277D8 80026BD8 1161004A */ beq $t3, $at, .L80026D04
/* 0277DC 80026BDC 3C020002 */ lui $v0, 2
/* 0277E0 80026BE0 00626024 */ and $t4, $v1, $v0
/* 0277E4 80026BE4 104C0047 */ beq $v0, $t4, .L80026D04
/* 0277E8 80026BE8 3C020008 */ lui $v0, 8
/* 0277EC 80026BEC 00626824 */ and $t5, $v1, $v0
/* 0277F0 80026BF0 104D0044 */ beq $v0, $t5, .L80026D04
/* 0277F4 80026BF4 3C020080 */ lui $v0, 0x80
/* 0277F8 80026BF8 00627024 */ and $t6, $v1, $v0
/* 0277FC 80026BFC 104E0041 */ beq $v0, $t6, .L80026D04
/* 027800 80026C00 00000000 */ nop
/* 027804 80026C04 84980044 */ lh $t8, 0x44($a0)
/* 027808 80026C08 29010015 */ slti $at, $t0, 0x15
/* 02780C 80026C0C 33190800 */ andi $t9, $t8, 0x800
/* 027810 80026C10 1720003C */ bnez $t9, .L80026D04
/* 027814 80026C14 00000000 */ nop
/* 027818 80026C18 1020001C */ beqz $at, .L80026C8C
/* 02781C 80026C1C 3C0B800E */ lui $t3, %hi(D_800DDE54)
/* 027820 80026C20 948B0254 */ lhu $t3, 0x254($a0)
/* 027824 80026C24 3C0D800E */ lui $t5, %hi(D_800DDE34)
/* 027828 80026C28 00097080 */ sll $t6, $t1, 2
/* 02782C 80026C2C 000B6080 */ sll $t4, $t3, 2
/* 027830 80026C30 01AC6821 */ addu $t5, $t5, $t4
/* 027834 80026C34 8DADDE34 */ lw $t5, %lo(D_800DDE34)($t5)
/* 027838 80026C38 000A5A03 */ sra $t3, $t2, 8
/* 02783C 80026C3C 000B61C0 */ sll $t4, $t3, 7
/* 027840 80026C40 01AEC021 */ addu $t8, $t5, $t6
/* 027844 80026C44 8F190000 */ lw $t9, ($t8)
/* 027848 80026C48 00086A40 */ sll $t5, $t0, 9
/* 02784C 80026C4C 0010C300 */ sll $t8, $s0, 0xc
/* 027850 80026C50 032D7021 */ addu $t6, $t9, $t5
/* 027854 80026C54 83B9002F */ lb $t9, 0x2f($sp)
/* 027858 80026C58 01CC2821 */ addu $a1, $t6, $t4
/* 02785C 80026C5C 000F6240 */ sll $t4, $t7, 9
/* 027860 80026C60 00196B80 */ sll $t5, $t9, 0xe
/* 027864 80026C64 01B85821 */ addu $t3, $t5, $t8
/* 027868 80026C68 016CC821 */ addu $t9, $t3, $t4
/* 02786C 80026C6C 3C18802F */ lui $t8, %hi(D_802F1F80) # $t8, 0x802f
/* 027870 80026C70 27181F80 */ addiu $t8, %lo(D_802F1F80) # addiu $t8, $t8, 0x1f80
/* 027874 80026C74 272D0180 */ addiu $t5, $t9, 0x180
/* 027878 80026C78 01B83021 */ addu $a2, $t5, $t8
/* 02787C 80026C7C 0C009F1D */ jal func_80027C74
/* 027880 80026C80 24070080 */ li $a3, 128
/* 027884 80026C84 100000E1 */ b .L8002700C
/* 027888 80026C88 8FBF001C */ lw $ra, 0x1c($sp)
.L80026C8C:
/* 02788C 80026C8C 948F0254 */ lhu $t7, 0x254($a0)
/* 027890 80026C90 00096080 */ sll $t4, $t1, 2
/* 027894 80026C94 000AC203 */ sra $t8, $t2, 8
/* 027898 80026C98 000F7080 */ sll $t6, $t7, 2
/* 02789C 80026C9C 016E5821 */ addu $t3, $t3, $t6
/* 0278A0 80026CA0 8D6BDE54 */ lw $t3, %lo(D_800DDE54)($t3)
/* 0278A4 80026CA4 00087A00 */ sll $t7, $t0, 8
/* 0278A8 80026CA8 25EEEB00 */ addiu $t6, $t7, -0x1500
/* 0278AC 80026CAC 016CC821 */ addu $t9, $t3, $t4
/* 0278B0 80026CB0 8F2D0000 */ lw $t5, ($t9)
/* 0278B4 80026CB4 000E5840 */ sll $t3, $t6, 1
/* 0278B8 80026CB8 83AE002F */ lb $t6, 0x2f($sp)
/* 0278BC 80026CBC 01AB6021 */ addu $t4, $t5, $t3
/* 0278C0 80026CC0 001879C0 */ sll $t7, $t8, 7
/* 0278C4 80026CC4 018F2821 */ addu $a1, $t4, $t7
/* 0278C8 80026CC8 83AC0027 */ lb $t4, 0x27($sp)
/* 0278CC 80026CCC 00105B00 */ sll $t3, $s0, 0xc
/* 0278D0 80026CD0 000E6B80 */ sll $t5, $t6, 0xe
/* 0278D4 80026CD4 01ABC821 */ addu $t9, $t5, $t3
/* 0278D8 80026CD8 000C7A40 */ sll $t7, $t4, 9
/* 0278DC 80026CDC 032F7021 */ addu $t6, $t9, $t7
/* 0278E0 80026CE0 3C0B802F */ lui $t3, %hi(D_802F1F80) # $t3, 0x802f
/* 0278E4 80026CE4 256B1F80 */ addiu $t3, %lo(D_802F1F80) # addiu $t3, $t3, 0x1f80
/* 0278E8 80026CE8 25CD0180 */ addiu $t5, $t6, 0x180
/* 0278EC 80026CEC 01AB3021 */ addu $a2, $t5, $t3
/* 0278F0 80026CF0 24A50C00 */ addiu $a1, $a1, 0xc00
/* 0278F4 80026CF4 0C009F1D */ jal func_80027C74
/* 0278F8 80026CF8 24070080 */ li $a3, 128
/* 0278FC 80026CFC 100000C3 */ b .L8002700C
/* 027900 80026D00 8FBF001C */ lw $ra, 0x1c($sp)
.L80026D04:
/* 027904 80026D04 1500001D */ bnez $t0, .L80026D7C
/* 027908 80026D08 3C0F800E */ lui $t7, %hi(D_800DDE54)
/* 02790C 80026D0C 94980254 */ lhu $t8, 0x254($a0)
/* 027910 80026D10 3C19800E */ lui $t9, %hi(D_800DDE34)
/* 027914 80026D14 00097880 */ sll $t7, $t1, 2
/* 027918 80026D18 00186080 */ sll $t4, $t8, 2
/* 02791C 80026D1C 032CC821 */ addu $t9, $t9, $t4
/* 027920 80026D20 8F39DE34 */ lw $t9, %lo(D_800DDE34)($t9)
/* 027924 80026D24 00086240 */ sll $t4, $t0, 9
/* 027928 80026D28 83B8002F */ lb $t8, 0x2f($sp)
/* 02792C 80026D2C 032F7021 */ addu $t6, $t9, $t7
/* 027930 80026D30 8DCD0000 */ lw $t5, ($t6)
/* 027934 80026D34 000A7203 */ sra $t6, $t2, 8
/* 027938 80026D38 000E59C0 */ sll $t3, $t6, 7
/* 02793C 80026D3C 01ACC821 */ addu $t9, $t5, $t4
/* 027940 80026D40 032B2821 */ addu $a1, $t9, $t3
/* 027944 80026D44 83B90027 */ lb $t9, 0x27($sp)
/* 027948 80026D48 00106300 */ sll $t4, $s0, 0xc
/* 02794C 80026D4C 00186B80 */ sll $t5, $t8, 0xe
/* 027950 80026D50 01AC7821 */ addu $t7, $t5, $t4
/* 027954 80026D54 00195A40 */ sll $t3, $t9, 9
/* 027958 80026D58 01EBC021 */ addu $t8, $t7, $t3
/* 02795C 80026D5C 3C0C802F */ lui $t4, %hi(D_802F1F80) # $t4, 0x802f
/* 027960 80026D60 258C1F80 */ addiu $t4, %lo(D_802F1F80) # addiu $t4, $t4, 0x1f80
/* 027964 80026D64 270D0180 */ addiu $t5, $t8, 0x180
/* 027968 80026D68 01AC3021 */ addu $a2, $t5, $t4
/* 02796C 80026D6C 0C009F1D */ jal func_80027C74
/* 027970 80026D70 24070080 */ li $a3, 128
/* 027974 80026D74 100000A5 */ b .L8002700C
/* 027978 80026D78 8FBF001C */ lw $ra, 0x1c($sp)
.L80026D7C:
/* 02797C 80026D7C 948E0254 */ lhu $t6, 0x254($a0)
/* 027980 80026D80 00095880 */ sll $t3, $t1, 2
/* 027984 80026D84 24070080 */ li $a3, 128
/* 027988 80026D88 000EC880 */ sll $t9, $t6, 2
/* 02798C 80026D8C 01F97821 */ addu $t7, $t7, $t9
/* 027990 80026D90 8DEFDE54 */ lw $t7, %lo(D_800DDE54)($t7)
/* 027994 80026D94 0008CA40 */ sll $t9, $t0, 9
/* 027998 80026D98 83AE002F */ lb $t6, 0x2f($sp)
/* 02799C 80026D9C 01EBC021 */ addu $t8, $t7, $t3
/* 0279A0 80026DA0 8F0D0000 */ lw $t5, ($t8)
/* 0279A4 80026DA4 000AC203 */ sra $t8, $t2, 8
/* 0279A8 80026DA8 001861C0 */ sll $t4, $t8, 7
/* 0279AC 80026DAC 01B97821 */ addu $t7, $t5, $t9
/* 0279B0 80026DB0 01EC2821 */ addu $a1, $t7, $t4
/* 0279B4 80026DB4 83AF0027 */ lb $t7, 0x27($sp)
/* 0279B8 80026DB8 0010CB00 */ sll $t9, $s0, 0xc
/* 0279BC 80026DBC 000E6B80 */ sll $t5, $t6, 0xe
/* 0279C0 80026DC0 01B95821 */ addu $t3, $t5, $t9
/* 0279C4 80026DC4 000F6240 */ sll $t4, $t7, 9
/* 0279C8 80026DC8 016C7021 */ addu $t6, $t3, $t4
/* 0279CC 80026DCC 3C19802F */ lui $t9, %hi(D_802F1F80) # $t9, 0x802f
/* 0279D0 80026DD0 27391F80 */ addiu $t9, %lo(D_802F1F80) # addiu $t9, $t9, 0x1f80
/* 0279D4 80026DD4 25CD0180 */ addiu $t5, $t6, 0x180
/* 0279D8 80026DD8 0C009F1D */ jal func_80027C74
/* 0279DC 80026DDC 01B93021 */ addu $a2, $t5, $t9
/* 0279E0 80026DE0 1000008A */ b .L8002700C
/* 0279E4 80026DE4 8FBF001C */ lw $ra, 0x1c($sp)
.L80026DE8:
/* 0279E8 80026DE8 30780080 */ andi $t8, $v1, 0x80
.L80026DEC:
/* 0279EC 80026DEC 24010080 */ li $at, 128
/* 0279F0 80026DF0 1301004E */ beq $t8, $at, .L80026F2C
/* 0279F4 80026DF4 306F0040 */ andi $t7, $v1, 0x40
/* 0279F8 80026DF8 24010040 */ li $at, 64
/* 0279FC 80026DFC 11E1004B */ beq $t7, $at, .L80026F2C
/* 027A00 80026E00 3C020008 */ lui $v0, 8
/* 027A04 80026E04 00625824 */ and $t3, $v1, $v0
/* 027A08 80026E08 104B0048 */ beq $v0, $t3, .L80026F2C
/* 027A0C 80026E0C 3C020080 */ lui $v0, 0x80
/* 027A10 80026E10 00626024 */ and $t4, $v1, $v0
/* 027A14 80026E14 104C0045 */ beq $v0, $t4, .L80026F2C
/* 027A18 80026E18 3C020002 */ lui $v0, 2
/* 027A1C 80026E1C 00627024 */ and $t6, $v1, $v0
/* 027A20 80026E20 104E0042 */ beq $v0, $t6, .L80026F2C
/* 027A24 80026E24 00000000 */ nop
/* 027A28 80026E28 848D0044 */ lh $t5, 0x44($a0)
/* 027A2C 80026E2C 29010015 */ slti $at, $t0, 0x15
/* 027A30 80026E30 31B90800 */ andi $t9, $t5, 0x800
/* 027A34 80026E34 1720003D */ bnez $t9, .L80026F2C
/* 027A38 80026E38 00000000 */ nop
/* 027A3C 80026E3C 1020001D */ beqz $at, .L80026EB4
/* 027A40 80026E40 3C0C800E */ lui $t4, %hi(D_800DDE54)
/* 027A44 80026E44 94980254 */ lhu $t8, 0x254($a0)
/* 027A48 80026E48 3C0B800E */ lui $t3, %hi(D_800DDE34)
/* 027A4C 80026E4C 00096080 */ sll $t4, $t1, 2
/* 027A50 80026E50 00187880 */ sll $t7, $t8, 2
/* 027A54 80026E54 016F5821 */ addu $t3, $t3, $t7
/* 027A58 80026E58 8D6BDE34 */ lw $t3, %lo(D_800DDE34)($t3)
/* 027A5C 80026E5C 00087A40 */ sll $t7, $t0, 9
/* 027A60 80026E60 83B8002F */ lb $t8, 0x2f($sp)
/* 027A64 80026E64 016C7021 */ addu $t6, $t3, $t4
/* 027A68 80026E68 8DCD0000 */ lw $t5, ($t6)
/* 027A6C 80026E6C 000A7203 */ sra $t6, $t2, 8
/* 027A70 80026E70 000EC9C0 */ sll $t9, $t6, 7
/* 027A74 80026E74 01AF5821 */ addu $t3, $t5, $t7
/* 027A78 80026E78 01792821 */ addu $a1, $t3, $t9
/* 027A7C 80026E7C 83AB0027 */ lb $t3, 0x27($sp)
/* 027A80 80026E80 00107B00 */ sll $t7, $s0, 0xc
/* 027A84 80026E84 00186B80 */ sll $t5, $t8, 0xe
/* 027A88 80026E88 01AF6021 */ addu $t4, $t5, $t7
/* 027A8C 80026E8C 000BCA40 */ sll $t9, $t3, 9
/* 027A90 80026E90 0199C021 */ addu $t8, $t4, $t9
/* 027A94 80026E94 3C0F802F */ lui $t7, %hi(D_802F1F80) # $t7, 0x802f
/* 027A98 80026E98 25EF1F80 */ addiu $t7, %lo(D_802F1F80) # addiu $t7, $t7, 0x1f80
/* 027A9C 80026E9C 270D0180 */ addiu $t5, $t8, 0x180
/* 027AA0 80026EA0 01AF3021 */ addu $a2, $t5, $t7
/* 027AA4 80026EA4 0C009F1D */ jal func_80027C74
/* 027AA8 80026EA8 24070080 */ li $a3, 128
/* 027AAC 80026EAC 10000057 */ b .L8002700C
/* 027AB0 80026EB0 8FBF001C */ lw $ra, 0x1c($sp)
.L80026EB4:
/* 027AB4 80026EB4 948E0254 */ lhu $t6, 0x254($a0)
/* 027AB8 80026EB8 0009C880 */ sll $t9, $t1, 2
/* 027ABC 80026EBC 000A7A03 */ sra $t7, $t2, 8
/* 027AC0 80026EC0 000E5880 */ sll $t3, $t6, 2
/* 027AC4 80026EC4 018B6021 */ addu $t4, $t4, $t3
/* 027AC8 80026EC8 8D8CDE54 */ lw $t4, %lo(D_800DDE54)($t4)
/* 027ACC 80026ECC 00087200 */ sll $t6, $t0, 8
/* 027AD0 80026ED0 25CBEB00 */ addiu $t3, $t6, -0x1500
/* 027AD4 80026ED4 0199C021 */ addu $t8, $t4, $t9
/* 027AD8 80026ED8 8F0D0000 */ lw $t5, ($t8)
/* 027ADC 80026EDC 000B6040 */ sll $t4, $t3, 1
/* 027AE0 80026EE0 83AB002F */ lb $t3, 0x2f($sp)
/* 027AE4 80026EE4 01ACC821 */ addu $t9, $t5, $t4
/* 027AE8 80026EE8 000F71C0 */ sll $t6, $t7, 7
/* 027AEC 80026EEC 032E2821 */ addu $a1, $t9, $t6
/* 027AF0 80026EF0 83B90027 */ lb $t9, 0x27($sp)
/* 027AF4 80026EF4 00106300 */ sll $t4, $s0, 0xc
/* 027AF8 80026EF8 000B6B80 */ sll $t5, $t3, 0xe
/* 027AFC 80026EFC 01ACC021 */ addu $t8, $t5, $t4
/* 027B00 80026F00 00197240 */ sll $t6, $t9, 9
/* 027B04 80026F04 030E5821 */ addu $t3, $t8, $t6
/* 027B08 80026F08 3C0C802F */ lui $t4, %hi(D_802F1F80) # $t4, 0x802f
/* 027B0C 80026F0C 258C1F80 */ addiu $t4, %lo(D_802F1F80) # addiu $t4, $t4, 0x1f80
/* 027B10 80026F10 256D0180 */ addiu $t5, $t3, 0x180
/* 027B14 80026F14 01AC3021 */ addu $a2, $t5, $t4
/* 027B18 80026F18 24A50C00 */ addiu $a1, $a1, 0xc00
/* 027B1C 80026F1C 0C009F1D */ jal func_80027C74
/* 027B20 80026F20 24070080 */ li $a3, 128
/* 027B24 80026F24 10000039 */ b .L8002700C
/* 027B28 80026F28 8FBF001C */ lw $ra, 0x1c($sp)
.L80026F2C:
/* 027B2C 80026F2C 1500001D */ bnez $t0, .L80026FA4
/* 027B30 80026F30 3C0E800E */ lui $t6, %hi(D_800DDE54)
/* 027B34 80026F34 948F0254 */ lhu $t7, 0x254($a0)
/* 027B38 80026F38 3C18800E */ lui $t8, %hi(D_800DDE34)
/* 027B3C 80026F3C 00097080 */ sll $t6, $t1, 2
/* 027B40 80026F40 000FC880 */ sll $t9, $t7, 2
/* 027B44 80026F44 0319C021 */ addu $t8, $t8, $t9
/* 027B48 80026F48 8F18DE34 */ lw $t8, %lo(D_800DDE34)($t8)
/* 027B4C 80026F4C 0008CA40 */ sll $t9, $t0, 9
/* 027B50 80026F50 83AF002F */ lb $t7, 0x2f($sp)
/* 027B54 80026F54 030E5821 */ addu $t3, $t8, $t6
/* 027B58 80026F58 8D6D0000 */ lw $t5, ($t3)
/* 027B5C 80026F5C 000A5A03 */ sra $t3, $t2, 8
/* 027B60 80026F60 000B61C0 */ sll $t4, $t3, 7
/* 027B64 80026F64 01B9C021 */ addu $t8, $t5, $t9
/* 027B68 80026F68 030C2821 */ addu $a1, $t8, $t4
/* 027B6C 80026F6C 83B80027 */ lb $t8, 0x27($sp)
/* 027B70 80026F70 0010CB00 */ sll $t9, $s0, 0xc
/* 027B74 80026F74 000F6B80 */ sll $t5, $t7, 0xe
/* 027B78 80026F78 01B97021 */ addu $t6, $t5, $t9
/* 027B7C 80026F7C 00186240 */ sll $t4, $t8, 9
/* 027B80 80026F80 01CC7821 */ addu $t7, $t6, $t4
/* 027B84 80026F84 3C19802F */ lui $t9, %hi(D_802F1F80) # $t9, 0x802f
/* 027B88 80026F88 27391F80 */ addiu $t9, %lo(D_802F1F80) # addiu $t9, $t9, 0x1f80
/* 027B8C 80026F8C 25ED0180 */ addiu $t5, $t7, 0x180
/* 027B90 80026F90 01B93021 */ addu $a2, $t5, $t9
/* 027B94 80026F94 0C009F1D */ jal func_80027C74
/* 027B98 80026F98 24070080 */ li $a3, 128
/* 027B9C 80026F9C 1000001B */ b .L8002700C
/* 027BA0 80026FA0 8FBF001C */ lw $ra, 0x1c($sp)
.L80026FA4:
/* 027BA4 80026FA4 948B0254 */ lhu $t3, 0x254($a0)
/* 027BA8 80026FA8 00096080 */ sll $t4, $t1, 2
/* 027BAC 80026FAC 24070080 */ li $a3, 128
/* 027BB0 80026FB0 000BC080 */ sll $t8, $t3, 2
/* 027BB4 80026FB4 01D87021 */ addu $t6, $t6, $t8
/* 027BB8 80026FB8 8DCEDE54 */ lw $t6, %lo(D_800DDE54)($t6)
/* 027BBC 80026FBC 0008C240 */ sll $t8, $t0, 9
/* 027BC0 80026FC0 83AB002F */ lb $t3, 0x2f($sp)
/* 027BC4 80026FC4 01CC7821 */ addu $t7, $t6, $t4
/* 027BC8 80026FC8 8DED0000 */ lw $t5, ($t7)
/* 027BCC 80026FCC 000A7A03 */ sra $t7, $t2, 8
/* 027BD0 80026FD0 000FC9C0 */ sll $t9, $t7, 7
/* 027BD4 80026FD4 01B87021 */ addu $t6, $t5, $t8
/* 027BD8 80026FD8 01D92821 */ addu $a1, $t6, $t9
/* 027BDC 80026FDC 83AE0027 */ lb $t6, 0x27($sp)
/* 027BE0 80026FE0 0010C300 */ sll $t8, $s0, 0xc
/* 027BE4 80026FE4 000B6B80 */ sll $t5, $t3, 0xe
/* 027BE8 80026FE8 01B86021 */ addu $t4, $t5, $t8
/* 027BEC 80026FEC 000ECA40 */ sll $t9, $t6, 9
/* 027BF0 80026FF0 01995821 */ addu $t3, $t4, $t9
/* 027BF4 80026FF4 3C18802F */ lui $t8, %hi(D_802F1F80) # $t8, 0x802f
/* 027BF8 80026FF8 27181F80 */ addiu $t8, %lo(D_802F1F80) # addiu $t8, $t8, 0x1f80
/* 027BFC 80026FFC 256D0180 */ addiu $t5, $t3, 0x180
/* 027C00 80027000 0C009F1D */ jal func_80027C74
/* 027C04 80027004 01B83021 */ addu $a2, $t5, $t8
/* 027C08 80027008 8FBF001C */ lw $ra, 0x1c($sp)
.L8002700C:
/* 027C0C 8002700C 8FB00018 */ lw $s0, 0x18($sp)
/* 027C10 80027010 27BD0020 */ addiu $sp, $sp, 0x20
/* 027C14 80027014 03E00008 */ jr $ra
/* 027C18 80027018 00000000 */ nop
/* 027C1C 8002701C 03E00008 */ jr $ra
/* 027C20 80027020 00000000 */ nop
/* 027C24 80027024 AFA40000 */ sw $a0, ($sp)
/* 027C28 80027028 AFA50004 */ sw $a1, 4($sp)
/* 027C2C 8002702C 03E00008 */ jr $ra
/* 027C30 80027030 AFA60008 */ sw $a2, 8($sp)
/* 027C34 80027034 00000000 */ nop
/* 027C38 80027038 00000000 */ nop
/* 027C3C 8002703C 00000000 */ nop