1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2024-11-11 11:49:24 +00:00
oot/asm/code_800F9280.s
Roman971 53ceea717d
Properly align asm & data (+ minor fixes) (#165)
* Add .align 4 directives to all data/ files (+ minor alignment fixes)

* Use .balign for everything and fix typo
2020-05-26 18:09:00 -04:00

2038 lines
98 KiB
ArmAsm

.include "macro.inc"
# assembler directives
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.set gp=64 # allow use of 64-bit general purpose registers
.section .text
.balign 16
glabel func_800F9280
/* B70420 800F9280 27BDFFC8 */ addiu $sp, $sp, -0x38
/* B70424 800F9284 3C0E8013 */ lui $t6, %hi(D_80133408) # $t6, 0x8013
/* B70428 800F9288 91CE3408 */ lbu $t6, %lo(D_80133408)($t6)
/* B7042C 800F928C AFB00018 */ sw $s0, 0x18($sp)
/* B70430 800F9290 AFA60040 */ sw $a2, 0x40($sp)
/* B70434 800F9294 30C600FF */ andi $a2, $a2, 0xff
/* B70438 800F9298 309000FF */ andi $s0, $a0, 0xff
/* B7043C 800F929C AFBF001C */ sw $ra, 0x1c($sp)
/* B70440 800F92A0 AFA40038 */ sw $a0, 0x38($sp)
/* B70444 800F92A4 AFA5003C */ sw $a1, 0x3c($sp)
/* B70448 800F92A8 11C00003 */ beqz $t6, .L800F92B8
/* B7044C 800F92AC AFA70044 */ sw $a3, 0x44($sp)
/* B70450 800F92B0 24010002 */ li $at, 2
/* B70454 800F92B4 1601006A */ bne $s0, $at, .L800F9460
.L800F92B8:
/* B70458 800F92B8 30C6007F */ andi $a2, $a2, 0x7f
/* B7045C 800F92BC 30C600FF */ andi $a2, $a2, 0xff
/* B70460 800F92C0 2401007F */ li $at, 127
/* B70464 800F92C4 14C10019 */ bne $a2, $at, .L800F932C
/* B70468 800F92C8 00C03825 */ move $a3, $a2
/* B7046C 800F92CC 97AF0046 */ lhu $t7, 0x46($sp)
/* B70470 800F92D0 3C088017 */ lui $t0, %hi(D_801719D4) # $t0, 0x8017
/* B70474 800F92D4 850819D4 */ lh $t0, %lo(D_801719D4)($t0)
/* B70478 800F92D8 000FC0C3 */ sra $t8, $t7, 3
/* B7047C 800F92DC 0018C900 */ sll $t9, $t8, 4
/* B70480 800F92E0 0338C823 */ subu $t9, $t9, $t8
/* B70484 800F92E4 0019C880 */ sll $t9, $t9, 2
/* B70488 800F92E8 03280019 */ multu $t9, $t0
/* B7048C 800F92EC 93AB003F */ lbu $t3, 0x3f($sp)
/* B70490 800F92F0 320300FF */ andi $v1, $s0, 0xff
/* B70494 800F92F4 00031C00 */ sll $v1, $v1, 0x10
/* B70498 800F92F8 3C018500 */ lui $at, 0x8500
/* B7049C 800F92FC 00614825 */ or $t1, $v1, $at
/* B704A0 800F9300 000B6200 */ sll $t4, $t3, 8
/* B704A4 800F9304 012C2025 */ or $a0, $t1, $t4
/* B704A8 800F9308 AFA30028 */ sw $v1, 0x28($sp)
/* B704AC 800F930C AFA6002C */ sw $a2, 0x2c($sp)
/* B704B0 800F9310 00001012 */ mflo $v0
/* B704B4 800F9314 3045FFFF */ andi $a1, $v0, 0xffff
/* B704B8 800F9318 0C0396BF */ jal func_800E5AFC
/* B704BC 800F931C 00000000 */ nop
/* B704C0 800F9320 8FA30028 */ lw $v1, 0x28($sp)
/* B704C4 800F9324 10000018 */ b .L800F9388
/* B704C8 800F9328 8FA7002C */ lw $a3, 0x2c($sp)
.L800F932C:
/* B704CC 800F932C 3C088017 */ lui $t0, %hi(D_801719D4) # $t0, 0x8017
/* B704D0 800F9330 950819D4 */ lhu $t0, %lo(D_801719D4)($t0)
/* B704D4 800F9334 97B90046 */ lhu $t9, 0x46($sp)
/* B704D8 800F9338 320300FF */ andi $v1, $s0, 0xff
/* B704DC 800F933C 93AE003F */ lbu $t6, 0x3f($sp)
/* B704E0 800F9340 03280019 */ multu $t9, $t0
/* B704E4 800F9344 00031C00 */ sll $v1, $v1, 0x10
/* B704E8 800F9348 3C018200 */ lui $at, 0x8200
/* B704EC 800F934C 00616825 */ or $t5, $v1, $at
/* B704F0 800F9350 01C07825 */ move $t7, $t6
/* B704F4 800F9354 000FC200 */ sll $t8, $t7, 8
/* B704F8 800F9358 01B82025 */ or $a0, $t5, $t8
/* B704FC 800F935C AFA30028 */ sw $v1, 0x28($sp)
/* B70500 800F9360 AFA7002C */ sw $a3, 0x2c($sp)
/* B70504 800F9364 00002812 */ mflo $a1
/* B70508 800F9368 04A10002 */ bgez $a1, .L800F9374
/* B7050C 800F936C 00A00821 */ addu $at, $a1, $zero
/* B70510 800F9370 24A10003 */ addiu $at, $a1, 3
.L800F9374:
/* B70514 800F9374 00012883 */ sra $a1, $at, 2
/* B70518 800F9378 0C0396BF */ jal func_800E5AFC
/* B7051C 800F937C 00000000 */ nop
/* B70520 800F9380 8FA30028 */ lw $v1, 0x28($sp)
/* B70524 800F9384 8FA7002C */ lw $a3, 0x2c($sp)
.L800F9388:
/* B70528 800F9388 00105080 */ sll $t2, $s0, 2
/* B7052C 800F938C 01505021 */ addu $t2, $t2, $s0
/* B70530 800F9390 000A5080 */ sll $t2, $t2, 2
/* B70534 800F9394 01505023 */ subu $t2, $t2, $s0
/* B70538 800F9398 000A50C0 */ sll $t2, $t2, 3
/* B7053C 800F939C 01505021 */ addu $t2, $t2, $s0
/* B70540 800F93A0 3C0B8017 */ lui $t3, %hi(D_8016E750) # $t3, 0x8017
/* B70544 800F93A4 256BE750 */ addiu $t3, %lo(D_8016E750) # addiu $t3, $t3, -0x18b0
/* B70548 800F93A8 000A5080 */ sll $t2, $t2, 2
/* B7054C 800F93AC 3C013F80 */ li $at, 0x3F800000 # 0.000000
/* B70550 800F93B0 014B3021 */ addu $a2, $t2, $t3
/* B70554 800F93B4 44810000 */ mtc1 $at, $f0
/* B70558 800F93B8 C4C20000 */ lwc1 $f2, ($a2)
/* B7055C 800F93BC 93A9003F */ lbu $t1, 0x3f($sp)
/* B70560 800F93C0 00076200 */ sll $t4, $a3, 8
/* B70564 800F93C4 46020032 */ c.eq.s $f0, $f2
/* B70568 800F93C8 012C1025 */ or $v0, $t1, $t4
/* B7056C 800F93CC A4C20254 */ sh $v0, 0x254($a2)
/* B70570 800F93D0 A4C20256 */ sh $v0, 0x256($a2)
/* B70574 800F93D4 45010008 */ bc1t .L800F93F8
/* B70578 800F93D8 3C014100 */ lui $at, 0x4100
/* B7057C 800F93DC 44051000 */ mfc1 $a1, $f2
/* B70580 800F93E0 00612025 */ or $a0, $v1, $at
/* B70584 800F93E4 0C0396B6 */ jal func_800E5AD8
/* B70588 800F93E8 AFA60024 */ sw $a2, 0x24($sp)
/* B7058C 800F93EC 3C013F80 */ li $at, 0x3F800000 # 0.000000
/* B70590 800F93F0 44810000 */ mtc1 $at, $f0
/* B70594 800F93F4 8FA60024 */ lw $a2, 0x24($sp)
.L800F93F8:
/* B70598 800F93F8 00107080 */ sll $t6, $s0, 2
/* B7059C 800F93FC 01D07021 */ addu $t6, $t6, $s0
/* B705A0 800F9400 000E7080 */ sll $t6, $t6, 2
/* B705A4 800F9404 01D07023 */ subu $t6, $t6, $s0
/* B705A8 800F9408 000E70C0 */ sll $t6, $t6, 3
/* B705AC 800F940C 01D07021 */ addu $t6, $t6, $s0
/* B705B0 800F9410 3C0F8017 */ lui $t7, %hi(D_8016E750) # $t7, 0x8017
/* B705B4 800F9414 25EFE750 */ addiu $t7, %lo(D_8016E750) # addiu $t7, $t7, -0x18b0
/* B705B8 800F9418 000E7080 */ sll $t6, $t6, 2
/* B705BC 800F941C A4C00028 */ sh $zero, 0x28($a2)
/* B705C0 800F9420 A4C00018 */ sh $zero, 0x18($a2)
/* B705C4 800F9424 ACC00014 */ sw $zero, 0x14($a2)
/* B705C8 800F9428 01CF2021 */ addu $a0, $t6, $t7
/* B705CC 800F942C 00001825 */ move $v1, $zero
.L800F9430:
/* B705D0 800F9430 00036940 */ sll $t5, $v1, 5
/* B705D4 800F9434 24630001 */ addiu $v1, $v1, 1
/* B705D8 800F9438 008D1021 */ addu $v0, $a0, $t5
/* B705DC 800F943C 306300FF */ andi $v1, $v1, 0xff
/* B705E0 800F9440 28610010 */ slti $at, $v1, 0x10
/* B705E4 800F9444 E4400050 */ swc1 $f0, 0x50($v0)
/* B705E8 800F9448 A440005C */ sh $zero, 0x5c($v0)
/* B705EC 800F944C E4400060 */ swc1 $f0, 0x60($v0)
/* B705F0 800F9450 1420FFF7 */ bnez $at, .L800F9430
/* B705F4 800F9454 A440006C */ sh $zero, 0x6c($v0)
/* B705F8 800F9458 A4C00250 */ sh $zero, 0x250($a2)
/* B705FC 800F945C A4C00252 */ sh $zero, 0x252($a2)
.L800F9460:
/* B70600 800F9460 8FBF001C */ lw $ra, 0x1c($sp)
/* B70604 800F9464 8FB00018 */ lw $s0, 0x18($sp)
/* B70608 800F9468 27BD0038 */ addiu $sp, $sp, 0x38
/* B7060C 800F946C 03E00008 */ jr $ra
/* B70610 800F9470 00000000 */ nop
glabel func_800F9474
/* B70614 800F9474 3C0E8017 */ lui $t6, %hi(D_801719D4) # $t6, 0x8017
/* B70618 800F9478 95CE19D4 */ lhu $t6, %lo(D_801719D4)($t6)
/* B7061C 800F947C 30A6FFFF */ andi $a2, $a1, 0xffff
/* B70620 800F9480 27BDFFE8 */ addiu $sp, $sp, -0x18
/* B70624 800F9484 00CE0019 */ multu $a2, $t6
/* B70628 800F9488 AFA40018 */ sw $a0, 0x18($sp)
/* B7062C 800F948C 93A4001B */ lbu $a0, 0x1b($sp)
/* B70630 800F9490 AFA5001C */ sw $a1, 0x1c($sp)
/* B70634 800F9494 3C018300 */ lui $at, 0x8300
/* B70638 800F9498 00042400 */ sll $a0, $a0, 0x10
/* B7063C 800F949C 00812025 */ or $a0, $a0, $at
/* B70640 800F94A0 AFBF0014 */ sw $ra, 0x14($sp)
/* B70644 800F94A4 00002812 */ mflo $a1
/* B70648 800F94A8 04A10002 */ bgez $a1, .L800F94B4
/* B7064C 800F94AC 00A00821 */ addu $at, $a1, $zero
/* B70650 800F94B0 24A10003 */ addiu $at, $a1, 3
.L800F94B4:
/* B70654 800F94B4 00012883 */ sra $a1, $at, 2
/* B70658 800F94B8 0C0396BF */ jal func_800E5AFC
/* B7065C 800F94BC 00000000 */ nop
/* B70660 800F94C0 93B8001B */ lbu $t8, 0x1b($sp)
/* B70664 800F94C4 8FBF0014 */ lw $ra, 0x14($sp)
/* B70668 800F94C8 3C018017 */ lui $at, %hi(D_8016E9A4)
/* B7066C 800F94CC 0018C880 */ sll $t9, $t8, 2
/* B70670 800F94D0 0338C821 */ addu $t9, $t9, $t8
/* B70674 800F94D4 0019C880 */ sll $t9, $t9, 2
/* B70678 800F94D8 0338C823 */ subu $t9, $t9, $t8
/* B7067C 800F94DC 0019C8C0 */ sll $t9, $t9, 3
/* B70680 800F94E0 0338C821 */ addu $t9, $t9, $t8
/* B70684 800F94E4 0019C880 */ sll $t9, $t9, 2
/* B70688 800F94E8 00390821 */ addu $at, $at, $t9
/* B7068C 800F94EC 340FFFFF */ li $t7, 65535
/* B70690 800F94F0 A42FE9A4 */ sh $t7, %lo(D_8016E9A4)($at)
/* B70694 800F94F4 03E00008 */ jr $ra
/* B70698 800F94F8 27BD0018 */ addiu $sp, $sp, 0x18
glabel func_800F94FC
/* B7069C 800F94FC 3C0E8013 */ lui $t6, %hi(D_8013340C) # $t6, 0x8013
/* B706A0 800F9500 91CE340C */ lbu $t6, %lo(D_8013340C)($t6)
/* B706A4 800F9504 27BDFF98 */ addiu $sp, $sp, -0x68
/* B706A8 800F9508 AFB00018 */ sw $s0, 0x18($sp)
/* B706AC 800F950C 00808025 */ move $s0, $a0
/* B706B0 800F9510 11C0000F */ beqz $t6, .L800F9550
/* B706B4 800F9514 AFBF001C */ sw $ra, 0x1c($sp)
/* B706B8 800F9518 3C01F000 */ lui $at, 0xf000
/* B706BC 800F951C 00817824 */ and $t7, $a0, $at
/* B706C0 800F9520 3C017000 */ lui $at, 0x7000
/* B706C4 800F9524 11E1000A */ beq $t7, $at, .L800F9550
/* B706C8 800F9528 3C048013 */ lui $a0, %hi(D_80133390) # $a0, 0x8013
/* B706CC 800F952C 00102C02 */ srl $a1, $s0, 0x10
/* B706D0 800F9530 30A5FFFF */ andi $a1, $a1, 0xffff
/* B706D4 800F9534 0C03CB5B */ jal func_800F2D6C
/* B706D8 800F9538 24843390 */ addiu $a0, %lo(D_80133390) # addiu $a0, $a0, 0x3390
/* B706DC 800F953C 3C048013 */ lui $a0, %hi(D_80133398) # $a0, 0x8013
/* B706E0 800F9540 02002825 */ move $a1, $s0
/* B706E4 800F9544 30A5FFFF */ andi $a1, $a1, 0xffff
/* B706E8 800F9548 0C03CB5B */ jal func_800F2D6C
/* B706EC 800F954C 24843398 */ addiu $a0, %lo(D_80133398) # addiu $a0, $a0, 0x3398
.L800F9550:
/* B706F0 800F9550 3C010F00 */ lui $at, 0xf00
/* B706F4 800F9554 02013824 */ and $a3, $s0, $at
/* B706F8 800F9558 0010C702 */ srl $t8, $s0, 0x1c
/* B706FC 800F955C 331900FF */ andi $t9, $t8, 0xff
/* B70700 800F9560 00073E02 */ srl $a3, $a3, 0x18
/* B70704 800F9564 2F210010 */ sltiu $at, $t9, 0x10
/* B70708 800F9568 102002A3 */ beqz $at, .L800F9FF8
/* B7070C 800F956C 30E500FF */ andi $a1, $a3, 0xff
/* B70710 800F9570 0019C880 */ sll $t9, $t9, 2
/* B70714 800F9574 3C018015 */ lui $at, %hi(jtbl_8014A640)
/* B70718 800F9578 00390821 */ addu $at, $at, $t9
/* B7071C 800F957C 8C39A640 */ lw $t9, %lo(jtbl_8014A640)($at)
/* B70720 800F9580 03200008 */ jr $t9
/* B70724 800F9584 00000000 */ nop
glabel L800F9588
/* B70728 800F9588 30E400FF */ andi $a0, $a3, 0xff
/* B7072C 800F958C 00046880 */ sll $t5, $a0, 2
/* B70730 800F9590 01A46821 */ addu $t5, $t5, $a0
/* B70734 800F9594 000D6880 */ sll $t5, $t5, 2
/* B70738 800F9598 01A46823 */ subu $t5, $t5, $a0
/* B7073C 800F959C 000D68C0 */ sll $t5, $t5, 3
/* B70740 800F95A0 3C098017 */ lui $t1, %hi(D_8016E750) # $t1, 0x8017
/* B70744 800F95A4 01A46821 */ addu $t5, $t5, $a0
/* B70748 800F95A8 2529E750 */ addiu $t1, %lo(D_8016E750) # addiu $t1, $t1, -0x18b0
/* B7074C 800F95AC 000D6880 */ sll $t5, $t5, 2
/* B70750 800F95B0 012D7021 */ addu $t6, $t1, $t5
/* B70754 800F95B4 91CF0260 */ lbu $t7, 0x260($t6)
/* B70758 800F95B8 3206FF00 */ andi $a2, $s0, 0xff00
/* B7075C 800F95BC 00063202 */ srl $a2, $a2, 8
/* B70760 800F95C0 15E0028D */ bnez $t7, .L800F9FF8
/* B70764 800F95C4 30C600FF */ andi $a2, $a2, 0xff
/* B70768 800F95C8 28C10080 */ slti $at, $a2, 0x80
/* B7076C 800F95CC 1020028A */ beqz $at, .L800F9FF8
/* B70770 800F95D0 02002825 */ move $a1, $s0
/* B70774 800F95D4 3C0100FF */ lui $at, 0xff
/* B70778 800F95D8 02013824 */ and $a3, $s0, $at
/* B7077C 800F95DC 00073B42 */ srl $a3, $a3, 0xd
/* B70780 800F95E0 30E7FFFF */ andi $a3, $a3, 0xffff
/* B70784 800F95E4 0C03E4A0 */ jal func_800F9280
/* B70788 800F95E8 30A500FF */ andi $a1, $a1, 0xff
/* B7078C 800F95EC 10000283 */ b .L800F9FFC
/* B70790 800F95F0 8FBF001C */ lw $ra, 0x1c($sp)
glabel L800F95F4
/* B70794 800F95F4 3C0100FF */ lui $at, 0xff
/* B70798 800F95F8 02012824 */ and $a1, $s0, $at
/* B7079C 800F95FC 00052B42 */ srl $a1, $a1, 0xd
/* B707A0 800F9600 30A5FFFF */ andi $a1, $a1, 0xffff
/* B707A4 800F9604 0C03E51D */ jal func_800F9474
/* B707A8 800F9608 30E400FF */ andi $a0, $a3, 0xff
/* B707AC 800F960C 1000027B */ b .L800F9FFC
/* B707B0 800F9610 8FBF001C */ lw $ra, 0x1c($sp)
glabel L800F9614
/* B707B4 800F9614 3C028017 */ lui $v0, %hi(D_8016E348) # $v0, 0x8017
/* B707B8 800F9618 2442E348 */ addiu $v0, %lo(D_8016E348) # addiu $v0, $v0, -0x1cb8
/* B707BC 800F961C 30F800FF */ andi $t8, $a3, 0xff
/* B707C0 800F9620 00586021 */ addu $t4, $v0, $t8
/* B707C4 800F9624 918A0000 */ lbu $t2, ($t4)
/* B707C8 800F9628 AFB8002C */ sw $t8, 0x2c($sp)
/* B707CC 800F962C 00001825 */ move $v1, $zero
/* B707D0 800F9630 19400023 */ blez $t2, .L800F96C0
/* B707D4 800F9634 01405825 */ move $t3, $t2
/* B707D8 800F9638 00187880 */ sll $t7, $t8, 2
/* B707DC 800F963C 01F87821 */ addu $t7, $t7, $t8
/* B707E0 800F9640 3C188017 */ lui $t8, %hi(D_8016E320) # $t8, 0x8017
/* B707E4 800F9644 2718E320 */ addiu $t8, %lo(D_8016E320) # addiu $t8, $t8, -0x1ce0
/* B707E8 800F9648 000F7840 */ sll $t7, $t7, 1
/* B707EC 800F964C 320400FF */ andi $a0, $s0, 0xff
/* B707F0 800F9650 AFA40030 */ sw $a0, 0x30($sp)
/* B707F4 800F9654 01F83021 */ addu $a2, $t7, $t8
/* B707F8 800F9658 00036840 */ sll $t5, $v1, 1
.L800F965C:
/* B707FC 800F965C 00CD7021 */ addu $t6, $a2, $t5
/* B70800 800F9660 91D90000 */ lbu $t9, ($t6)
/* B70804 800F9664 00457821 */ addu $t7, $v0, $a1
/* B70808 800F9668 5499000F */ bnel $a0, $t9, .L800F96A8
/* B7080C 800F966C 91F80000 */ lbu $t8, ($t7)
/* B70810 800F9670 14600261 */ bnez $v1, .L800F9FF8
/* B70814 800F9674 93A4002F */ lbu $a0, 0x2f($sp)
/* B70818 800F9678 3C0100FF */ lui $at, 0xff
/* B7081C 800F967C 02013824 */ and $a3, $s0, $at
/* B70820 800F9680 3206FF00 */ andi $a2, $s0, 0xff00
/* B70824 800F9684 00063202 */ srl $a2, $a2, 8
/* B70828 800F9688 00073B42 */ srl $a3, $a3, 0xd
/* B7082C 800F968C 30E7FFFF */ andi $a3, $a3, 0xffff
/* B70830 800F9690 30C600FF */ andi $a2, $a2, 0xff
/* B70834 800F9694 0C03E4A0 */ jal func_800F9280
/* B70838 800F9698 93A50033 */ lbu $a1, 0x33($sp)
/* B7083C 800F969C 10000257 */ b .L800F9FFC
/* B70840 800F96A0 8FBF001C */ lw $ra, 0x1c($sp)
/* B70844 800F96A4 91F80000 */ lbu $t8, ($t7)
.L800F96A8:
/* B70848 800F96A8 24630001 */ addiu $v1, $v1, 1
/* B7084C 800F96AC 306300FF */ andi $v1, $v1, 0xff
/* B70850 800F96B0 0078082A */ slt $at, $v1, $t8
/* B70854 800F96B4 5420FFE9 */ bnezl $at, .L800F965C
/* B70858 800F96B8 00036840 */ sll $t5, $v1, 1
/* B7085C 800F96BC 00001825 */ move $v1, $zero
.L800F96C0:
/* B70860 800F96C0 8FB9002C */ lw $t9, 0x2c($sp)
/* B70864 800F96C4 3C188017 */ lui $t8, %hi(D_8016E320) # $t8, 0x8017
/* B70868 800F96C8 2718E320 */ addiu $t8, %lo(D_8016E320) # addiu $t8, $t8, -0x1ce0
/* B7086C 800F96CC 00197880 */ sll $t7, $t9, 2
/* B70870 800F96D0 01F97821 */ addu $t7, $t7, $t9
/* B70874 800F96D4 000F7840 */ sll $t7, $t7, 1
/* B70878 800F96D8 320E00FF */ andi $t6, $s0, 0xff
/* B7087C 800F96DC 314900FF */ andi $t1, $t2, 0xff
/* B70880 800F96E0 AFAE0030 */ sw $t6, 0x30($sp)
/* B70884 800F96E4 19600014 */ blez $t3, .L800F9738
/* B70888 800F96E8 01F83021 */ addu $a2, $t7, $t8
/* B7088C 800F96EC 3204FF00 */ andi $a0, $s0, 0xff00
/* B70890 800F96F0 3C028017 */ lui $v0, %hi(D_8016E348)
/* B70894 800F96F4 00451021 */ addu $v0, $v0, $a1
/* B70898 800F96F8 00042202 */ srl $a0, $a0, 8
/* B7089C 800F96FC 308400FF */ andi $a0, $a0, 0xff
/* B708A0 800F9700 9042E348 */ lbu $v0, %lo(D_8016E348)($v0)
/* B708A4 800F9704 00036840 */ sll $t5, $v1, 1
.L800F9708:
/* B708A8 800F9708 00CD7021 */ addu $t6, $a2, $t5
/* B708AC 800F970C 91D90001 */ lbu $t9, 1($t6)
/* B708B0 800F9710 0099082A */ slt $at, $a0, $t9
/* B708B4 800F9714 54200004 */ bnezl $at, .L800F9728
/* B708B8 800F9718 24630001 */ addiu $v1, $v1, 1
/* B708BC 800F971C 306900FF */ andi $t1, $v1, 0xff
/* B708C0 800F9720 314300FF */ andi $v1, $t2, 0xff
/* B708C4 800F9724 24630001 */ addiu $v1, $v1, 1
.L800F9728:
/* B708C8 800F9728 306300FF */ andi $v1, $v1, 0xff
/* B708CC 800F972C 0062082A */ slt $at, $v1, $v0
/* B708D0 800F9730 5420FFF5 */ bnezl $at, .L800F9708
/* B708D4 800F9734 00036840 */ sll $t5, $v1, 1
.L800F9738:
/* B708D8 800F9738 320FFF00 */ andi $t7, $s0, 0xff00
/* B708DC 800F973C 000FC202 */ srl $t8, $t7, 8
/* B708E0 800F9740 330D00FF */ andi $t5, $t8, 0xff
/* B708E4 800F9744 29610005 */ slti $at, $t3, 5
/* B708E8 800F9748 10200004 */ beqz $at, .L800F975C
/* B708EC 800F974C AFAD003C */ sw $t5, 0x3c($sp)
/* B708F0 800F9750 254E0001 */ addiu $t6, $t2, 1
/* B708F4 800F9754 A18E0000 */ sb $t6, ($t4)
/* B708F8 800F9758 31CB00FF */ andi $t3, $t6, 0xff
.L800F975C:
/* B708FC 800F975C 2563FFFF */ addiu $v1, $t3, -1
/* B70900 800F9760 306300FF */ andi $v1, $v1, 0xff
/* B70904 800F9764 00601025 */ move $v0, $v1
/* B70908 800F9768 1123000D */ beq $t1, $v1, .L800F97A0
/* B7090C 800F976C 01204025 */ move $t0, $t1
.L800F9770:
/* B70910 800F9770 00027840 */ sll $t7, $v0, 1
/* B70914 800F9774 00CF2821 */ addu $a1, $a2, $t7
/* B70918 800F9778 90B8FFFF */ lbu $t8, -1($a1)
/* B7091C 800F977C 0003C840 */ sll $t9, $v1, 1
/* B70920 800F9780 00D92021 */ addu $a0, $a2, $t9
/* B70924 800F9784 A0980001 */ sb $t8, 1($a0)
/* B70928 800F9788 90ADFFFE */ lbu $t5, -2($a1)
/* B7092C 800F978C 2463FFFF */ addiu $v1, $v1, -1
/* B70930 800F9790 306300FF */ andi $v1, $v1, 0xff
/* B70934 800F9794 00601025 */ move $v0, $v1
/* B70938 800F9798 1503FFF5 */ bne $t0, $v1, .L800F9770
/* B7093C 800F979C A08D0000 */ sb $t5, ($a0)
.L800F97A0:
/* B70940 800F97A0 8FB9003C */ lw $t9, 0x3c($sp)
/* B70944 800F97A4 8FAF0030 */ lw $t7, 0x30($sp)
/* B70948 800F97A8 00097040 */ sll $t6, $t1, 1
/* B7094C 800F97AC 00CE1021 */ addu $v0, $a2, $t6
/* B70950 800F97B0 A0590001 */ sb $t9, 1($v0)
/* B70954 800F97B4 15000210 */ bnez $t0, .L800F9FF8
/* B70958 800F97B8 A04F0000 */ sb $t7, ($v0)
/* B7095C 800F97BC 3C0100FF */ lui $at, 0xff
/* B70960 800F97C0 02013824 */ and $a3, $s0, $at
/* B70964 800F97C4 00073B42 */ srl $a3, $a3, 0xd
/* B70968 800F97C8 30E7FFFF */ andi $a3, $a3, 0xffff
/* B7096C 800F97CC 93A4002F */ lbu $a0, 0x2f($sp)
/* B70970 800F97D0 93A50033 */ lbu $a1, 0x33($sp)
/* B70974 800F97D4 0C03E4A0 */ jal func_800F9280
/* B70978 800F97D8 93A6003F */ lbu $a2, 0x3f($sp)
/* B7097C 800F97DC 10000207 */ b .L800F9FFC
/* B70980 800F97E0 8FBF001C */ lw $ra, 0x1c($sp)
glabel L800F97E4
/* B70984 800F97E4 3C188017 */ lui $t8, %hi(D_8016E348) # $t8, 0x8017
/* B70988 800F97E8 2718E348 */ addiu $t8, %lo(D_8016E348) # addiu $t8, $t8, -0x1cb8
/* B7098C 800F97EC 30ED00FF */ andi $t5, $a3, 0xff
/* B70990 800F97F0 030D6021 */ addu $t4, $t8, $t5
/* B70994 800F97F4 918A0000 */ lbu $t2, ($t4)
/* B70998 800F97F8 AFAD002C */ sw $t5, 0x2c($sp)
/* B7099C 800F97FC 00001825 */ move $v1, $zero
/* B709A0 800F9800 01404825 */ move $t1, $t2
/* B709A4 800F9804 19400017 */ blez $t2, .L800F9864
/* B709A8 800F9808 01405825 */ move $t3, $t2
/* B709AC 800F980C 000D7880 */ sll $t7, $t5, 2
/* B709B0 800F9810 01ED7821 */ addu $t7, $t7, $t5
/* B709B4 800F9814 3C0D8017 */ lui $t5, %hi(D_8016E320) # $t5, 0x8017
/* B709B8 800F9818 25ADE320 */ addiu $t5, %lo(D_8016E320) # addiu $t5, $t5, -0x1ce0
/* B709BC 800F981C 000F7840 */ sll $t7, $t7, 1
/* B709C0 800F9820 00B8C821 */ addu $t9, $a1, $t8
/* B709C4 800F9824 02002025 */ move $a0, $s0
/* B709C8 800F9828 308400FF */ andi $a0, $a0, 0xff
/* B709CC 800F982C 93220000 */ lbu $v0, ($t9)
/* B709D0 800F9830 01ED3021 */ addu $a2, $t7, $t5
/* B709D4 800F9834 0003C040 */ sll $t8, $v1, 1
.L800F9838:
/* B709D8 800F9838 00D8C821 */ addu $t9, $a2, $t8
/* B709DC 800F983C 932E0000 */ lbu $t6, ($t9)
/* B709E0 800F9840 548E0004 */ bnel $a0, $t6, .L800F9854
/* B709E4 800F9844 24630001 */ addiu $v1, $v1, 1
/* B709E8 800F9848 306900FF */ andi $t1, $v1, 0xff
/* B709EC 800F984C 314300FF */ andi $v1, $t2, 0xff
/* B709F0 800F9850 24630001 */ addiu $v1, $v1, 1
.L800F9854:
/* B709F4 800F9854 306300FF */ andi $v1, $v1, 0xff
/* B709F8 800F9858 0062082A */ slt $at, $v1, $v0
/* B709FC 800F985C 5420FFF6 */ bnezl $at, .L800F9838
/* B70A00 800F9860 0003C040 */ sll $t8, $v1, 1
.L800F9864:
/* B70A04 800F9864 112B001C */ beq $t1, $t3, .L800F98D8
/* B70A08 800F9868 01204025 */ move $t0, $t1
/* B70A0C 800F986C 2567FFFF */ addiu $a3, $t3, -1
/* B70A10 800F9870 0127082A */ slt $at, $t1, $a3
/* B70A14 800F9874 10200016 */ beqz $at, .L800F98D0
/* B70A18 800F9878 312300FF */ andi $v1, $t1, 0xff
/* B70A1C 800F987C 8FAF002C */ lw $t7, 0x2c($sp)
/* B70A20 800F9880 3C188017 */ lui $t8, %hi(D_8016E320) # $t8, 0x8017
/* B70A24 800F9884 2718E320 */ addiu $t8, %lo(D_8016E320) # addiu $t8, $t8, -0x1ce0
/* B70A28 800F9888 000F6880 */ sll $t5, $t7, 2
/* B70A2C 800F988C 01AF6821 */ addu $t5, $t5, $t7
/* B70A30 800F9890 000D6840 */ sll $t5, $t5, 1
/* B70A34 800F9894 01B83021 */ addu $a2, $t5, $t8
/* B70A38 800F9898 00601025 */ move $v0, $v1
.L800F989C:
/* B70A3C 800F989C 00027040 */ sll $t6, $v0, 1
/* B70A40 800F98A0 00CE2821 */ addu $a1, $a2, $t6
/* B70A44 800F98A4 90AF0003 */ lbu $t7, 3($a1)
/* B70A48 800F98A8 0003C840 */ sll $t9, $v1, 1
/* B70A4C 800F98AC 00D92021 */ addu $a0, $a2, $t9
/* B70A50 800F98B0 24630001 */ addiu $v1, $v1, 1
/* B70A54 800F98B4 A08F0001 */ sb $t7, 1($a0)
/* B70A58 800F98B8 90AD0002 */ lbu $t5, 2($a1)
/* B70A5C 800F98BC 306300FF */ andi $v1, $v1, 0xff
/* B70A60 800F98C0 0067082A */ slt $at, $v1, $a3
/* B70A64 800F98C4 00601025 */ move $v0, $v1
/* B70A68 800F98C8 1420FFF4 */ bnez $at, .L800F989C
/* B70A6C 800F98CC A08D0000 */ sb $t5, ($a0)
.L800F98D0:
/* B70A70 800F98D0 2558FFFF */ addiu $t8, $t2, -1
/* B70A74 800F98D4 A1980000 */ sb $t8, ($t4)
.L800F98D8:
/* B70A78 800F98D8 150001C7 */ bnez $t0, .L800F9FF8
/* B70A7C 800F98DC 93A4002F */ lbu $a0, 0x2f($sp)
/* B70A80 800F98E0 3C0100FF */ lui $at, 0xff
/* B70A84 800F98E4 02013824 */ and $a3, $s0, $at
/* B70A88 800F98E8 00073B42 */ srl $a3, $a3, 0xd
/* B70A8C 800F98EC 30E7FFFF */ andi $a3, $a3, 0xffff
/* B70A90 800F98F0 30E5FFFF */ andi $a1, $a3, 0xffff
/* B70A94 800F98F4 AFA7003C */ sw $a3, 0x3c($sp)
/* B70A98 800F98F8 0C03E51D */ jal func_800F9474
/* B70A9C 800F98FC AFAC0024 */ sw $t4, 0x24($sp)
/* B70AA0 800F9900 8FAC0024 */ lw $t4, 0x24($sp)
/* B70AA4 800F9904 8FA4002C */ lw $a0, 0x2c($sp)
/* B70AA8 800F9908 8FA7003C */ lw $a3, 0x3c($sp)
/* B70AAC 800F990C 91990000 */ lbu $t9, ($t4)
/* B70AB0 800F9910 00047080 */ sll $t6, $a0, 2
/* B70AB4 800F9914 01C47021 */ addu $t6, $t6, $a0
/* B70AB8 800F9918 132001B7 */ beqz $t9, .L800F9FF8
/* B70ABC 800F991C 000E7040 */ sll $t6, $t6, 1
/* B70AC0 800F9920 3C0F8017 */ lui $t7, %hi(D_8016E320) # $t7, 0x8017
/* B70AC4 800F9924 25EFE320 */ addiu $t7, %lo(D_8016E320) # addiu $t7, $t7, -0x1ce0
/* B70AC8 800F9928 01CF1021 */ addu $v0, $t6, $t7
/* B70ACC 800F992C 90450000 */ lbu $a1, ($v0)
/* B70AD0 800F9930 0C03E4A0 */ jal func_800F9280
/* B70AD4 800F9934 90460001 */ lbu $a2, 1($v0)
/* B70AD8 800F9938 100001B0 */ b .L800F9FFC
/* B70ADC 800F993C 8FBF001C */ lw $ra, 0x1c($sp)
glabel L800F9940
/* B70AE0 800F9940 3C0100FF */ li $at, 0x00FF0000 # 0.000000
/* B70AE4 800F9944 02011024 */ and $v0, $s0, $at
/* B70AE8 800F9948 000213C2 */ srl $v0, $v0, 0xf
/* B70AEC 800F994C 304300FF */ andi $v1, $v0, 0xff
/* B70AF0 800F9950 14600003 */ bnez $v1, .L800F9960
/* B70AF4 800F9954 304500FF */ andi $a1, $v0, 0xff
/* B70AF8 800F9958 24650001 */ addiu $a1, $v1, 1
/* B70AFC 800F995C 30A500FF */ andi $a1, $a1, 0xff
.L800F9960:
/* B70B00 800F9960 30ED00FF */ andi $t5, $a3, 0xff
/* B70B04 800F9964 000DC080 */ sll $t8, $t5, 2
/* B70B08 800F9968 030DC021 */ addu $t8, $t8, $t5
/* B70B0C 800F996C 0018C080 */ sll $t8, $t8, 2
/* B70B10 800F9970 030DC023 */ subu $t8, $t8, $t5
/* B70B14 800F9974 0018C0C0 */ sll $t8, $t8, 3
/* B70B18 800F9978 320E00FF */ andi $t6, $s0, 0xff
/* B70B1C 800F997C 448E2000 */ mtc1 $t6, $f4
/* B70B20 800F9980 3C098017 */ lui $t1, %hi(D_8016E750)
/* B70B24 800F9984 030DC021 */ addu $t8, $t8, $t5
/* B70B28 800F9988 2529E750 */ addiu $t1, %lo(D_8016E750) # addiu $t1, $t1, -0x18b0
/* B70B2C 800F998C 0018C080 */ sll $t8, $t8, 2
/* B70B30 800F9990 01381021 */ addu $v0, $t1, $t8
/* B70B34 800F9994 05C10005 */ bgez $t6, .L800F99AC
/* B70B38 800F9998 468021A0 */ cvt.s.w $f6, $f4
/* B70B3C 800F999C 3C014F80 */ li $at, 0x4F800000 # 0.000000
/* B70B40 800F99A0 44814000 */ mtc1 $at, $f8
/* B70B44 800F99A4 00000000 */ nop
/* B70B48 800F99A8 46083180 */ add.s $f6, $f6, $f8
.L800F99AC:
/* B70B4C 800F99AC 3C0142FE */ li $at, 0x42FE0000 # 0.000000
/* B70B50 800F99B0 44815000 */ mtc1 $at, $f10
/* B70B54 800F99B4 C4420000 */ lwc1 $f2, ($v0)
/* B70B58 800F99B8 460A3003 */ div.s $f0, $f6, $f10
/* B70B5C 800F99BC 46001032 */ c.eq.s $f2, $f0
/* B70B60 800F99C0 E4400004 */ swc1 $f0, 4($v0)
/* B70B64 800F99C4 4503018D */ bc1tl .L800F9FFC
/* B70B68 800F99C8 8FBF001C */ lw $ra, 0x1c($sp)
/* B70B6C 800F99CC C4500004 */ lwc1 $f16, 4($v0)
/* B70B70 800F99D0 44852000 */ mtc1 $a1, $f4
/* B70B74 800F99D4 3C014F80 */ li $at, 0x4F800000 # 0.000000
/* B70B78 800F99D8 46101481 */ sub.s $f18, $f2, $f16
/* B70B7C 800F99DC 04A10004 */ bgez $a1, .L800F99F0
/* B70B80 800F99E0 46802220 */ cvt.s.w $f8, $f4
/* B70B84 800F99E4 44813000 */ mtc1 $at, $f6
/* B70B88 800F99E8 00000000 */ nop
/* B70B8C 800F99EC 46064200 */ add.s $f8, $f8, $f6
.L800F99F0:
/* B70B90 800F99F0 46089283 */ div.s $f10, $f18, $f8
/* B70B94 800F99F4 A445000C */ sh $a1, 0xc($v0)
/* B70B98 800F99F8 1000017F */ b .L800F9FF8
/* B70B9C 800F99FC E44A0008 */ swc1 $f10, 8($v0)
glabel L800F9A00
/* B70BA0 800F9A00 3C0100FF */ li $at, 0x00FF0000 # 0.000000
/* B70BA4 800F9A04 02011024 */ and $v0, $s0, $at
/* B70BA8 800F9A08 000213C2 */ srl $v0, $v0, 0xf
/* B70BAC 800F9A0C 304300FF */ andi $v1, $v0, 0xff
/* B70BB0 800F9A10 02003025 */ move $a2, $s0
/* B70BB4 800F9A14 304500FF */ andi $a1, $v0, 0xff
/* B70BB8 800F9A18 14600003 */ bnez $v1, .L800F9A28
/* B70BBC 800F9A1C 30C6FFFF */ andi $a2, $a2, 0xffff
/* B70BC0 800F9A20 24650001 */ addiu $a1, $v1, 1
/* B70BC4 800F9A24 30A500FF */ andi $a1, $a1, 0xff
.L800F9A28:
/* B70BC8 800F9A28 44858000 */ mtc1 $a1, $f16
/* B70BCC 800F9A2C 00001825 */ move $v1, $zero
/* B70BD0 800F9A30 04A10005 */ bgez $a1, .L800F9A48
/* B70BD4 800F9A34 468080A0 */ cvt.s.w $f2, $f16
/* B70BD8 800F9A38 3C014F80 */ li $at, 0x4F800000 # 0.000000
/* B70BDC 800F9A3C 44812000 */ mtc1 $at, $f4
/* B70BE0 800F9A40 00000000 */ nop
/* B70BE4 800F9A44 46041080 */ add.s $f2, $f2, $f4
.L800F9A48:
/* B70BE8 800F9A48 30E800FF */ andi $t0, $a3, 0xff
/* B70BEC 800F9A4C 00087880 */ sll $t7, $t0, 2
/* B70BF0 800F9A50 01E87821 */ addu $t7, $t7, $t0
/* B70BF4 800F9A54 000F7880 */ sll $t7, $t7, 2
/* B70BF8 800F9A58 01E87823 */ subu $t7, $t7, $t0
/* B70BFC 800F9A5C 000F78C0 */ sll $t7, $t7, 3
/* B70C00 800F9A60 44863000 */ mtc1 $a2, $f6
/* B70C04 800F9A64 01E87821 */ addu $t7, $t7, $t0
/* B70C08 800F9A68 3C0D8017 */ lui $t5, %hi(D_8016E750) # $t5, 0x8017
/* B70C0C 800F9A6C 25ADE750 */ addiu $t5, %lo(D_8016E750) # addiu $t5, $t5, -0x18b0
/* B70C10 800F9A70 000F7880 */ sll $t7, $t7, 2
/* B70C14 800F9A74 01ED2021 */ addu $a0, $t7, $t5
/* B70C18 800F9A78 04C10005 */ bgez $a2, .L800F9A90
/* B70C1C 800F9A7C 468034A0 */ cvt.s.w $f18, $f6
/* B70C20 800F9A80 3C014F80 */ li $at, 0x4F800000 # 0.000000
/* B70C24 800F9A84 44814000 */ mtc1 $at, $f8
/* B70C28 800F9A88 00000000 */ nop
/* B70C2C 800F9A8C 46089480 */ add.s $f18, $f18, $f8
.L800F9A90:
/* B70C30 800F9A90 3C01447A */ li $at, 0x447A0000 # 0.000000
/* B70C34 800F9A94 44815000 */ mtc1 $at, $f10
/* B70C38 800F9A98 3C098017 */ lui $t1, %hi(D_8016E750) # $t1, 0x8017
/* B70C3C 800F9A9C 2529E750 */ addiu $t1, %lo(D_8016E750) # addiu $t1, $t1, -0x18b0
/* B70C40 800F9AA0 460A9003 */ div.s $f0, $f18, $f10
.L800F9AA4:
/* B70C44 800F9AA4 0003C140 */ sll $t8, $v1, 5
/* B70C48 800F9AA8 00981021 */ addu $v0, $a0, $t8
/* B70C4C 800F9AAC C4500060 */ lwc1 $f16, 0x60($v0)
/* B70C50 800F9AB0 24630001 */ addiu $v1, $v1, 1
/* B70C54 800F9AB4 306300FF */ andi $v1, $v1, 0xff
/* B70C58 800F9AB8 46008101 */ sub.s $f4, $f16, $f0
/* B70C5C 800F9ABC 28610010 */ slti $at, $v1, 0x10
/* B70C60 800F9AC0 E4400064 */ swc1 $f0, 0x64($v0)
/* B70C64 800F9AC4 A445006C */ sh $a1, 0x6c($v0)
/* B70C68 800F9AC8 46022183 */ div.s $f6, $f4, $f2
/* B70C6C 800F9ACC 1420FFF5 */ bnez $at, .L800F9AA4
/* B70C70 800F9AD0 E4460068 */ swc1 $f6, 0x68($v0)
/* B70C74 800F9AD4 00087080 */ sll $t6, $t0, 2
/* B70C78 800F9AD8 01C87021 */ addu $t6, $t6, $t0
/* B70C7C 800F9ADC 000E7080 */ sll $t6, $t6, 2
/* B70C80 800F9AE0 01C87023 */ subu $t6, $t6, $t0
/* B70C84 800F9AE4 000E70C0 */ sll $t6, $t6, 3
/* B70C88 800F9AE8 01C87021 */ addu $t6, $t6, $t0
/* B70C8C 800F9AEC 000E7080 */ sll $t6, $t6, 2
/* B70C90 800F9AF0 012E7821 */ addu $t7, $t1, $t6
/* B70C94 800F9AF4 3419FFFF */ li $t9, 65535
/* B70C98 800F9AF8 1000013F */ b .L800F9FF8
/* B70C9C 800F9AFC A5F90250 */ sh $t9, 0x250($t7)
glabel L800F9B00
/* B70CA0 800F9B00 3C0100FF */ lui $at, 0xff
/* B70CA4 800F9B04 02011024 */ and $v0, $s0, $at
/* B70CA8 800F9B08 000213C2 */ srl $v0, $v0, 0xf
/* B70CAC 800F9B0C 304300FF */ andi $v1, $v0, 0xff
/* B70CB0 800F9B10 14600003 */ bnez $v1, .L800F9B20
/* B70CB4 800F9B14 304500FF */ andi $a1, $v0, 0xff
/* B70CB8 800F9B18 24650001 */ addiu $a1, $v1, 1
/* B70CBC 800F9B1C 30A500FF */ andi $a1, $a1, 0xff
.L800F9B20:
/* B70CC0 800F9B20 30ED00FF */ andi $t5, $a3, 0xff
/* B70CC4 800F9B24 000DC080 */ sll $t8, $t5, 2
/* B70CC8 800F9B28 030DC021 */ addu $t8, $t8, $t5
/* B70CCC 800F9B2C 0018C080 */ sll $t8, $t8, 2
/* B70CD0 800F9B30 030DC023 */ subu $t8, $t8, $t5
/* B70CD4 800F9B34 0018C0C0 */ sll $t8, $t8, 3
/* B70CD8 800F9B38 3204F000 */ andi $a0, $s0, 0xf000
/* B70CDC 800F9B3C 3C098017 */ lui $t1, %hi(D_8016E750)
/* B70CE0 800F9B40 00042302 */ srl $a0, $a0, 0xc
/* B70CE4 800F9B44 030DC021 */ addu $t8, $t8, $t5
/* B70CE8 800F9B48 320F0FFF */ andi $t7, $s0, 0xfff
/* B70CEC 800F9B4C 448F4000 */ mtc1 $t7, $f8
/* B70CF0 800F9B50 2529E750 */ addiu $t1, %lo(D_8016E750)
/* B70CF4 800F9B54 0018C080 */ sll $t8, $t8, 2
/* B70CF8 800F9B58 308400FF */ andi $a0, $a0, 0xff
/* B70CFC 800F9B5C 00047140 */ sll $t6, $a0, 5
/* B70D00 800F9B60 01381021 */ addu $v0, $t1, $t8
/* B70D04 800F9B64 004E1821 */ addu $v1, $v0, $t6
/* B70D08 800F9B68 05E10005 */ bgez $t7, .L800F9B80
/* B70D0C 800F9B6C 468044A0 */ cvt.s.w $f18, $f8
/* B70D10 800F9B70 3C014F80 */ li $at, 0x4F800000 # 0.000000
/* B70D14 800F9B74 44815000 */ mtc1 $at, $f10
/* B70D18 800F9B78 00000000 */ nop
/* B70D1C 800F9B7C 460A9480 */ add.s $f18, $f18, $f10
.L800F9B80:
/* B70D20 800F9B80 3C01447A */ li $at, 0x447A0000 # 0.000000
/* B70D24 800F9B84 44818000 */ mtc1 $at, $f16
/* B70D28 800F9B88 C4640060 */ lwc1 $f4, 0x60($v1)
/* B70D2C 800F9B8C 44854000 */ mtc1 $a1, $f8
/* B70D30 800F9B90 46109003 */ div.s $f0, $f18, $f16
/* B70D34 800F9B94 468042A0 */ cvt.s.w $f10, $f8
/* B70D38 800F9B98 E4600064 */ swc1 $f0, 0x64($v1)
/* B70D3C 800F9B9C 04A10005 */ bgez $a1, .L800F9BB4
/* B70D40 800F9BA0 46002181 */ sub.s $f6, $f4, $f0
/* B70D44 800F9BA4 3C014F80 */ li $at, 0x4F800000 # 0.000000
/* B70D48 800F9BA8 44819000 */ mtc1 $at, $f18
/* B70D4C 800F9BAC 00000000 */ nop
/* B70D50 800F9BB0 46125280 */ add.s $f10, $f10, $f18
.L800F9BB4:
/* B70D54 800F9BB4 460A3403 */ div.s $f16, $f6, $f10
/* B70D58 800F9BB8 A465006C */ sh $a1, 0x6c($v1)
/* B70D5C 800F9BBC 24180001 */ li $t8, 1
/* B70D60 800F9BC0 00987004 */ sllv $t6, $t8, $a0
/* B70D64 800F9BC4 E4700068 */ swc1 $f16, 0x68($v1)
/* B70D68 800F9BC8 944D0250 */ lhu $t5, 0x250($v0)
/* B70D6C 800F9BCC 01AEC825 */ or $t9, $t5, $t6
/* B70D70 800F9BD0 10000109 */ b .L800F9FF8
/* B70D74 800F9BD4 A4590250 */ sh $t9, 0x250($v0)
glabel L800F9BD8
/* B70D78 800F9BD8 3C0100FF */ lui $at, 0xff
/* B70D7C 800F9BDC 02011024 */ and $v0, $s0, $at
/* B70D80 800F9BE0 000213C2 */ srl $v0, $v0, 0xf
/* B70D84 800F9BE4 304300FF */ andi $v1, $v0, 0xff
/* B70D88 800F9BE8 14600003 */ bnez $v1, .L800F9BF8
/* B70D8C 800F9BEC 304500FF */ andi $a1, $v0, 0xff
/* B70D90 800F9BF0 24650001 */ addiu $a1, $v1, 1
/* B70D94 800F9BF4 30A500FF */ andi $a1, $a1, 0xff
.L800F9BF8:
/* B70D98 800F9BF8 30E800FF */ andi $t0, $a3, 0xff
/* B70D9C 800F9BFC 00087880 */ sll $t7, $t0, 2
/* B70DA0 800F9C00 01E87821 */ addu $t7, $t7, $t0
/* B70DA4 800F9C04 000F7880 */ sll $t7, $t7, 2
/* B70DA8 800F9C08 01E87823 */ subu $t7, $t7, $t0
/* B70DAC 800F9C0C 000F78C0 */ sll $t7, $t7, 3
/* B70DB0 800F9C10 32060F00 */ andi $a2, $s0, 0xf00
/* B70DB4 800F9C14 3C098017 */ lui $t1, %hi(D_8016E750)
/* B70DB8 800F9C18 00063202 */ srl $a2, $a2, 8
/* B70DBC 800F9C1C 01E87821 */ addu $t7, $t7, $t0
/* B70DC0 800F9C20 320E00FF */ andi $t6, $s0, 0xff
/* B70DC4 800F9C24 448E2000 */ mtc1 $t6, $f4
/* B70DC8 800F9C28 2529E750 */ addiu $t1, %lo(D_8016E750)
/* B70DCC 800F9C2C 000F7880 */ sll $t7, $t7, 2
/* B70DD0 800F9C30 30C600FF */ andi $a2, $a2, 0xff
/* B70DD4 800F9C34 00062140 */ sll $a0, $a2, 5
/* B70DD8 800F9C38 012FC021 */ addu $t8, $t1, $t7
/* B70DDC 800F9C3C 03041021 */ addu $v0, $t8, $a0
/* B70DE0 800F9C40 05C10005 */ bgez $t6, .L800F9C58
/* B70DE4 800F9C44 46802220 */ cvt.s.w $f8, $f4
/* B70DE8 800F9C48 3C014F80 */ li $at, 0x4F800000 # 0.000000
/* B70DEC 800F9C4C 44819000 */ mtc1 $at, $f18
/* B70DF0 800F9C50 00000000 */ nop
/* B70DF4 800F9C54 46124200 */ add.s $f8, $f8, $f18
.L800F9C58:
/* B70DF8 800F9C58 3C0142FE */ li $at, 0x42FE0000 # 0.000000
/* B70DFC 800F9C5C 44813000 */ mtc1 $at, $f6
/* B70E00 800F9C60 C44A0050 */ lwc1 $f10, 0x50($v0)
/* B70E04 800F9C64 46064003 */ div.s $f0, $f8, $f6
/* B70E08 800F9C68 46005032 */ c.eq.s $f10, $f0
/* B70E0C 800F9C6C E4400054 */ swc1 $f0, 0x54($v0)
/* B70E10 800F9C70 450100E1 */ bc1t .L800F9FF8
/* B70E14 800F9C74 0008C880 */ sll $t9, $t0, 2
/* B70E18 800F9C78 0328C821 */ addu $t9, $t9, $t0
/* B70E1C 800F9C7C 0019C880 */ sll $t9, $t9, 2
/* B70E20 800F9C80 0328C823 */ subu $t9, $t9, $t0
/* B70E24 800F9C84 0019C8C0 */ sll $t9, $t9, 3
/* B70E28 800F9C88 0328C821 */ addu $t9, $t9, $t0
/* B70E2C 800F9C8C 0019C880 */ sll $t9, $t9, 2
/* B70E30 800F9C90 01391021 */ addu $v0, $t1, $t9
/* B70E34 800F9C94 00441821 */ addu $v1, $v0, $a0
/* B70E38 800F9C98 C4700050 */ lwc1 $f16, 0x50($v1)
/* B70E3C 800F9C9C C4640054 */ lwc1 $f4, 0x54($v1)
/* B70E40 800F9CA0 44854000 */ mtc1 $a1, $f8
/* B70E44 800F9CA4 3C014F80 */ li $at, 0x4F800000 # 0.000000
/* B70E48 800F9CA8 46048481 */ sub.s $f18, $f16, $f4
/* B70E4C 800F9CAC 04A10004 */ bgez $a1, .L800F9CC0
/* B70E50 800F9CB0 468041A0 */ cvt.s.w $f6, $f8
/* B70E54 800F9CB4 44815000 */ mtc1 $at, $f10
/* B70E58 800F9CB8 00000000 */ nop
/* B70E5C 800F9CBC 460A3180 */ add.s $f6, $f6, $f10
.L800F9CC0:
/* B70E60 800F9CC0 46069403 */ div.s $f16, $f18, $f6
/* B70E64 800F9CC4 A465005C */ sh $a1, 0x5c($v1)
/* B70E68 800F9CC8 24180001 */ li $t8, 1
/* B70E6C 800F9CCC 00D86804 */ sllv $t5, $t8, $a2
/* B70E70 800F9CD0 E4700058 */ swc1 $f16, 0x58($v1)
/* B70E74 800F9CD4 944F0252 */ lhu $t7, 0x252($v0)
/* B70E78 800F9CD8 01ED7025 */ or $t6, $t7, $t5
/* B70E7C 800F9CDC 100000C6 */ b .L800F9FF8
/* B70E80 800F9CE0 A44E0252 */ sh $t6, 0x252($v0)
glabel L800F9CE4
/* B70E84 800F9CE4 30F800FF */ andi $t8, $a3, 0xff
/* B70E88 800F9CE8 00187C00 */ sll $t7, $t8, 0x10
/* B70E8C 800F9CEC 3C014600 */ lui $at, 0x4600
/* B70E90 800F9CF0 01E16825 */ or $t5, $t7, $at
/* B70E94 800F9CF4 3C0100FF */ lui $at, 0xff
/* B70E98 800F9CF8 02017024 */ and $t6, $s0, $at
/* B70E9C 800F9CFC 000EC402 */ srl $t8, $t6, 0x10
/* B70EA0 800F9D00 02002825 */ move $a1, $s0
/* B70EA4 800F9D04 00052E00 */ sll $a1, $a1, 0x18
/* B70EA8 800F9D08 330F00FF */ andi $t7, $t8, 0xff
/* B70EAC 800F9D0C 01AF2025 */ or $a0, $t5, $t7
/* B70EB0 800F9D10 0C0396C8 */ jal func_800E5B20
/* B70EB4 800F9D14 00052E03 */ sra $a1, $a1, 0x18
/* B70EB8 800F9D18 100000B8 */ b .L800F9FFC
/* B70EBC 800F9D1C 8FBF001C */ lw $ra, 0x1c($sp)
glabel L800F9D20
/* B70EC0 800F9D20 30E200FF */ andi $v0, $a3, 0xff
/* B70EC4 800F9D24 00027080 */ sll $t6, $v0, 2
/* B70EC8 800F9D28 01C27021 */ addu $t6, $t6, $v0
/* B70ECC 800F9D2C 000E7080 */ sll $t6, $t6, 2
/* B70ED0 800F9D30 01C27023 */ subu $t6, $t6, $v0
/* B70ED4 800F9D34 000E70C0 */ sll $t6, $t6, 3
/* B70ED8 800F9D38 3C098017 */ lui $t1, %hi(D_8016E750) # $t1, 0x8017
/* B70EDC 800F9D3C 01C27021 */ addu $t6, $t6, $v0
/* B70EE0 800F9D40 2529E750 */ addiu $t1, %lo(D_8016E750) # addiu $t1, $t1, -0x18b0
/* B70EE4 800F9D44 000E7080 */ sll $t6, $t6, 2
/* B70EE8 800F9D48 012EC821 */ addu $t9, $t1, $t6
/* B70EEC 800F9D4C 32060F00 */ andi $a2, $s0, 0xf00
/* B70EF0 800F9D50 97380258 */ lhu $t8, 0x258($t9)
/* B70EF4 800F9D54 00063202 */ srl $a2, $a2, 8
/* B70EF8 800F9D58 30C600FF */ andi $a2, $a2, 0xff
/* B70EFC 800F9D5C 240D0001 */ li $t5, 1
/* B70F00 800F9D60 00CD7804 */ sllv $t7, $t5, $a2
/* B70F04 800F9D64 030F7024 */ and $t6, $t8, $t7
/* B70F08 800F9D68 15C000A3 */ bnez $t6, .L800F9FF8
/* B70F0C 800F9D6C 305900FF */ andi $t9, $v0, 0xff
/* B70F10 800F9D70 00196C00 */ sll $t5, $t9, 0x10
/* B70F14 800F9D74 3C010600 */ lui $at, 0x600
/* B70F18 800F9D78 01A1C025 */ or $t8, $t5, $at
/* B70F1C 800F9D7C 30CF00FF */ andi $t7, $a2, 0xff
/* B70F20 800F9D80 000F7200 */ sll $t6, $t7, 8
/* B70F24 800F9D84 3C0100FF */ lui $at, 0xff
/* B70F28 800F9D88 02016824 */ and $t5, $s0, $at
/* B70F2C 800F9D8C 030EC825 */ or $t9, $t8, $t6
/* B70F30 800F9D90 000DC402 */ srl $t8, $t5, 0x10
/* B70F34 800F9D94 02002825 */ move $a1, $s0
/* B70F38 800F9D98 00052E00 */ sll $a1, $a1, 0x18
/* B70F3C 800F9D9C 330E00FF */ andi $t6, $t8, 0xff
/* B70F40 800F9DA0 032E2025 */ or $a0, $t9, $t6
/* B70F44 800F9DA4 0C0396C8 */ jal func_800E5B20
/* B70F48 800F9DA8 00052E03 */ sra $a1, $a1, 0x18
/* B70F4C 800F9DAC 10000093 */ b .L800F9FFC
/* B70F50 800F9DB0 8FBF001C */ lw $ra, 0x1c($sp)
glabel L800F9DB4
/* B70F54 800F9DB4 30EF00FF */ andi $t7, $a3, 0xff
/* B70F58 800F9DB8 000FC080 */ sll $t8, $t7, 2
/* B70F5C 800F9DBC 030FC021 */ addu $t8, $t8, $t7
/* B70F60 800F9DC0 0018C080 */ sll $t8, $t8, 2
/* B70F64 800F9DC4 030FC023 */ subu $t8, $t8, $t7
/* B70F68 800F9DC8 0018C0C0 */ sll $t8, $t8, 3
/* B70F6C 800F9DCC 3C098017 */ lui $t1, %hi(D_8016E750) # $t1, 0x8017
/* B70F70 800F9DD0 030FC021 */ addu $t8, $t8, $t7
/* B70F74 800F9DD4 2529E750 */ addiu $t1, %lo(D_8016E750) # addiu $t1, $t1, -0x18b0
/* B70F78 800F9DD8 0018C080 */ sll $t8, $t8, 2
/* B70F7C 800F9DDC 0138C821 */ addu $t9, $t1, $t8
/* B70F80 800F9DE0 10000085 */ b .L800F9FF8
/* B70F84 800F9DE4 A7300258 */ sh $s0, 0x258($t9)
glabel L800F9DE8
/* B70F88 800F9DE8 02003025 */ move $a2, $s0
/* B70F8C 800F9DEC 30C6FFFF */ andi $a2, $a2, 0xffff
/* B70F90 800F9DF0 10C00013 */ beqz $a2, .L800F9E40
/* B70F94 800F9DF4 00C01825 */ move $v1, $a2
/* B70F98 800F9DF8 00E01025 */ move $v0, $a3
/* B70F9C 800F9DFC 304200FF */ andi $v0, $v0, 0xff
/* B70FA0 800F9E00 00021400 */ sll $v0, $v0, 0x10
/* B70FA4 800F9E04 3C019000 */ lui $at, 0x9000
/* B70FA8 800F9E08 00412025 */ or $a0, $v0, $at
/* B70FAC 800F9E0C AFA20030 */ sw $v0, 0x30($sp)
/* B70FB0 800F9E10 30C5FFFF */ andi $a1, $a2, 0xffff
/* B70FB4 800F9E14 AFA60034 */ sw $a2, 0x34($sp)
/* B70FB8 800F9E18 0C0396D4 */ jal func_800E5B50
/* B70FBC 800F9E1C AFA70038 */ sw $a3, 0x38($sp)
/* B70FC0 800F9E20 8FA20030 */ lw $v0, 0x30($sp)
/* B70FC4 800F9E24 3C010800 */ lui $at, 0x800
/* B70FC8 800F9E28 24050001 */ li $a1, 1
/* B70FCC 800F9E2C 00412025 */ or $a0, $v0, $at
/* B70FD0 800F9E30 0C0396C8 */ jal func_800E5B20
/* B70FD4 800F9E34 3484FF00 */ ori $a0, $a0, 0xff00
/* B70FD8 800F9E38 8FA30034 */ lw $v1, 0x34($sp)
/* B70FDC 800F9E3C 8FA70038 */ lw $a3, 0x38($sp)
.L800F9E40:
/* B70FE0 800F9E40 3866FFFF */ xori $a2, $v1, 0xffff
/* B70FE4 800F9E44 10C0006C */ beqz $a2, .L800F9FF8
/* B70FE8 800F9E48 00E01025 */ move $v0, $a3
/* B70FEC 800F9E4C 304200FF */ andi $v0, $v0, 0xff
/* B70FF0 800F9E50 00021400 */ sll $v0, $v0, 0x10
/* B70FF4 800F9E54 3C019000 */ lui $at, 0x9000
/* B70FF8 800F9E58 00412025 */ or $a0, $v0, $at
/* B70FFC 800F9E5C 3C010800 */ lui $at, 0x800
/* B71000 800F9E60 00418025 */ or $s0, $v0, $at
/* B71004 800F9E64 3610FF00 */ ori $s0, $s0, 0xff00
/* B71008 800F9E68 0C0396D4 */ jal func_800E5B50
/* B7100C 800F9E6C 30C5FFFF */ andi $a1, $a2, 0xffff
/* B71010 800F9E70 02002025 */ move $a0, $s0
/* B71014 800F9E74 0C0396C8 */ jal func_800E5B20
/* B71018 800F9E78 00002825 */ move $a1, $zero
/* B7101C 800F9E7C 1000005F */ b .L800F9FFC
/* B71020 800F9E80 8FBF001C */ lw $ra, 0x1c($sp)
glabel L800F9E84
/* B71024 800F9E84 30EE00FF */ andi $t6, $a3, 0xff
/* B71028 800F9E88 000E7880 */ sll $t7, $t6, 2
/* B7102C 800F9E8C 01EE7821 */ addu $t7, $t7, $t6
/* B71030 800F9E90 000F7880 */ sll $t7, $t7, 2
/* B71034 800F9E94 01EE7823 */ subu $t7, $t7, $t6
/* B71038 800F9E98 000F78C0 */ sll $t7, $t7, 3
/* B7103C 800F9E9C 3C098017 */ lui $t1, %hi(D_8016E750) # $t1, 0x8017
/* B71040 800F9EA0 01EE7821 */ addu $t7, $t7, $t6
/* B71044 800F9EA4 2529E750 */ addiu $t1, %lo(D_8016E750) # addiu $t1, $t1, -0x18b0
/* B71048 800F9EA8 000F7880 */ sll $t7, $t7, 2
/* B7104C 800F9EAC 012FC021 */ addu $t8, $t1, $t7
/* B71050 800F9EB0 10000051 */ b .L800F9FF8
/* B71054 800F9EB4 AF100014 */ sw $s0, 0x14($t8)
glabel L800F9EB8
/* B71058 800F9EB8 3C0100F0 */ lui $at, 0xf0
/* B7105C 800F9EBC 02016824 */ and $t5, $s0, $at
/* B71060 800F9EC0 000DCD02 */ srl $t9, $t5, 0x14
/* B71064 800F9EC4 332E00FF */ andi $t6, $t9, 0xff
/* B71068 800F9EC8 2401000F */ li $at, 15
/* B7106C 800F9ECC 11C10019 */ beq $t6, $at, .L800F9F34
/* B71070 800F9ED0 30EF00FF */ andi $t7, $a3, 0xff
/* B71074 800F9ED4 000FC080 */ sll $t8, $t7, 2
/* B71078 800F9ED8 030FC021 */ addu $t8, $t8, $t7
/* B7107C 800F9EDC 0018C080 */ sll $t8, $t8, 2
/* B71080 800F9EE0 030FC023 */ subu $t8, $t8, $t7
/* B71084 800F9EE4 0018C0C0 */ sll $t8, $t8, 3
/* B71088 800F9EE8 3C098017 */ lui $t1, %hi(D_8016E750) # $t1, 0x8017
/* B7108C 800F9EEC 030FC021 */ addu $t8, $t8, $t7
/* B71090 800F9EF0 2529E750 */ addiu $t1, %lo(D_8016E750) # addiu $t1, $t1, -0x18b0
/* B71094 800F9EF4 0018C080 */ sll $t8, $t8, 2
/* B71098 800F9EF8 01381021 */ addu $v0, $t1, $t8
/* B7109C 800F9EFC 9043004D */ lbu $v1, 0x4d($v0)
/* B710A0 800F9F00 28610007 */ slti $at, $v1, 7
/* B710A4 800F9F04 1020003C */ beqz $at, .L800F9FF8
/* B710A8 800F9F08 306900FF */ andi $t1, $v1, 0xff
/* B710AC 800F9F0C 246D0001 */ addiu $t5, $v1, 1
/* B710B0 800F9F10 29210008 */ slti $at, $t1, 8
/* B710B4 800F9F14 10200038 */ beqz $at, .L800F9FF8
/* B710B8 800F9F18 A04D004D */ sb $t5, 0x4d($v0)
/* B710BC 800F9F1C 0009C880 */ sll $t9, $t1, 2
/* B710C0 800F9F20 00597021 */ addu $t6, $v0, $t9
/* B710C4 800F9F24 ADD0002C */ sw $s0, 0x2c($t6)
/* B710C8 800F9F28 240F0002 */ li $t7, 2
/* B710CC 800F9F2C 10000032 */ b .L800F9FF8
/* B710D0 800F9F30 A04F004C */ sb $t7, 0x4c($v0)
.L800F9F34:
/* B710D4 800F9F34 30F800FF */ andi $t8, $a3, 0xff
/* B710D8 800F9F38 00186880 */ sll $t5, $t8, 2
/* B710DC 800F9F3C 01B86821 */ addu $t5, $t5, $t8
/* B710E0 800F9F40 000D6880 */ sll $t5, $t5, 2
/* B710E4 800F9F44 01B86823 */ subu $t5, $t5, $t8
/* B710E8 800F9F48 000D68C0 */ sll $t5, $t5, 3
/* B710EC 800F9F4C 3C098017 */ lui $t1, %hi(D_8016E750) # $t1, 0x8017
/* B710F0 800F9F50 01B86821 */ addu $t5, $t5, $t8
/* B710F4 800F9F54 2529E750 */ addiu $t1, %lo(D_8016E750) # addiu $t1, $t1, -0x18b0
/* B710F8 800F9F58 000D6880 */ sll $t5, $t5, 2
/* B710FC 800F9F5C 012DC821 */ addu $t9, $t1, $t5
/* B71100 800F9F60 10000025 */ b .L800F9FF8
/* B71104 800F9F64 A320004D */ sb $zero, 0x4d($t9)
glabel L800F9F68
/* B71108 800F9F68 32020F00 */ andi $v0, $s0, 0xf00
/* B7110C 800F9F6C 00021202 */ srl $v0, $v0, 8
/* B71110 800F9F70 304200FF */ andi $v0, $v0, 0xff
/* B71114 800F9F74 10400006 */ beqz $v0, .L800F9F90
/* B71118 800F9F78 3C04F000 */ lui $a0, 0xf000
/* B7111C 800F9F7C 24010001 */ li $at, 1
/* B71120 800F9F80 1041000A */ beq $v0, $at, .L800F9FAC
/* B71124 800F9F84 32190001 */ andi $t9, $s0, 1
/* B71128 800F9F88 1000001C */ b .L800F9FFC
/* B7112C 800F9F8C 8FBF001C */ lw $ra, 0x1c($sp)
.L800F9F90:
/* B71130 800F9F90 320F00FF */ andi $t7, $s0, 0xff
/* B71134 800F9F94 3C058013 */ lui $a1, %hi(D_80133410)
/* B71138 800F9F98 00AF2821 */ addu $a1, $a1, $t7
/* B7113C 800F9F9C 0C0396BF */ jal func_800E5AFC
/* B71140 800F9FA0 90A53410 */ lbu $a1, %lo(D_80133410)($a1)
/* B71144 800F9FA4 10000015 */ b .L800F9FFC
/* B71148 800F9FA8 8FBF001C */ lw $ra, 0x1c($sp)
.L800F9FAC:
/* B7114C 800F9FAC 3C018013 */ lui $at, %hi(D_80133408) # $at, 0x8013
/* B71150 800F9FB0 10000011 */ b .L800F9FF8
/* B71154 800F9FB4 A0393408 */ sb $t9, %lo(D_80133408)($at)
glabel L800F9FB8
/* B71158 800F9FB8 320EFF00 */ andi $t6, $s0, 0xff00
/* B7115C 800F9FBC 3C038013 */ lui $v1, %hi(D_80133414) # $v1, 0x8013
/* B71160 800F9FC0 000E7A02 */ srl $t7, $t6, 8
/* B71164 800F9FC4 3C018013 */ lui $at, %hi(D_801333CC) # $at, 0x8013
/* B71168 800F9FC8 24633414 */ addiu $v1, %lo(D_80133414) # addiu $v1, $v1, 0x3414
/* B7116C 800F9FCC A02F33CC */ sb $t7, %lo(D_801333CC)($at)
/* B71170 800F9FD0 90780000 */ lbu $t8, ($v1)
/* B71174 800F9FD4 A0700000 */ sb $s0, ($v1)
/* B71178 800F9FD8 320400FF */ andi $a0, $s0, 0xff
/* B7117C 800F9FDC 0C0397E2 */ jal func_800E5F88
/* B71180 800F9FE0 A3B80059 */ sb $t8, 0x59($sp)
/* B71184 800F9FE4 0C03DC6F */ jal func_800F71BC
/* B71188 800F9FE8 93A40059 */ lbu $a0, 0x59($sp)
/* B7118C 800F9FEC 3C04F800 */ lui $a0, 0xf800
/* B71190 800F9FF0 0C0396BF */ jal func_800E5AFC
/* B71194 800F9FF4 00002825 */ move $a1, $zero
.L800F9FF8:
/* B71198 800F9FF8 8FBF001C */ lw $ra, 0x1c($sp)
.L800F9FFC:
/* B7119C 800F9FFC 8FB00018 */ lw $s0, 0x18($sp)
/* B711A0 800FA000 27BD0068 */ addiu $sp, $sp, 0x68
/* B711A4 800FA004 03E00008 */ jr $ra
/* B711A8 800FA008 00000000 */ nop
glabel Audio_SetBGM
/* B711AC 800FA00C 3C038013 */ lui $v1, %hi(D_80133400) # $v1, 0x8013
/* B711B0 800FA010 24633400 */ addiu $v1, %lo(D_80133400) # addiu $v1, $v1, 0x3400
/* B711B4 800FA014 90620000 */ lbu $v0, ($v1)
/* B711B8 800FA018 3C018017 */ lui $at, %hi(D_8016E350)
/* B711BC 800FA01C 00027080 */ sll $t6, $v0, 2
/* B711C0 800FA020 002E0821 */ addu $at, $at, $t6
/* B711C4 800FA024 AC24E350 */ sw $a0, %lo(D_8016E350)($at)
/* B711C8 800FA028 244F0001 */ addiu $t7, $v0, 1
/* B711CC 800FA02C 03E00008 */ jr $ra
/* B711D0 800FA030 A06F0000 */ sb $t7, ($v1)
glabel func_800FA034
/* B711D4 800FA034 27BDFFD8 */ addiu $sp, $sp, -0x28
/* B711D8 800FA038 AFB2001C */ sw $s2, 0x1c($sp)
/* B711DC 800FA03C AFB10018 */ sw $s1, 0x18($sp)
/* B711E0 800FA040 3C118013 */ lui $s1, %hi(D_80133404) # $s1, 0x8013
/* B711E4 800FA044 3C128013 */ lui $s2, %hi(D_80133400) # $s2, 0x8013
/* B711E8 800FA048 26523400 */ addiu $s2, %lo(D_80133400) # addiu $s2, $s2, 0x3400
/* B711EC 800FA04C 26313404 */ addiu $s1, %lo(D_80133404) # addiu $s1, $s1, 0x3404
/* B711F0 800FA050 AFB00014 */ sw $s0, 0x14($sp)
/* B711F4 800FA054 92300000 */ lbu $s0, ($s1)
/* B711F8 800FA058 924E0000 */ lbu $t6, ($s2)
/* B711FC 800FA05C AFB30020 */ sw $s3, 0x20($sp)
/* B71200 800FA060 AFBF0024 */ sw $ra, 0x24($sp)
/* B71204 800FA064 120E000C */ beq $s0, $t6, .L800FA098
/* B71208 800FA068 3C138017 */ lui $s3, %hi(D_8016E350) # $s3, 0x8017
/* B7120C 800FA06C 2673E350 */ addiu $s3, %lo(D_8016E350) # addiu $s3, $s3, -0x1cb0
/* B71210 800FA070 00107880 */ sll $t7, $s0, 2
.L800FA074:
/* B71214 800FA074 026FC021 */ addu $t8, $s3, $t7
/* B71218 800FA078 8F040000 */ lw $a0, ($t8)
/* B7121C 800FA07C 26190001 */ addiu $t9, $s0, 1
/* B71220 800FA080 0C03E53F */ jal func_800F94FC
/* B71224 800FA084 A2390000 */ sb $t9, ($s1)
/* B71228 800FA088 92300000 */ lbu $s0, ($s1)
/* B7122C 800FA08C 92480000 */ lbu $t0, ($s2)
/* B71230 800FA090 5608FFF8 */ bnel $s0, $t0, .L800FA074
/* B71234 800FA094 00107880 */ sll $t7, $s0, 2
.L800FA098:
/* B71238 800FA098 8FBF0024 */ lw $ra, 0x24($sp)
/* B7123C 800FA09C 8FB00014 */ lw $s0, 0x14($sp)
/* B71240 800FA0A0 8FB10018 */ lw $s1, 0x18($sp)
/* B71244 800FA0A4 8FB2001C */ lw $s2, 0x1c($sp)
/* B71248 800FA0A8 8FB30020 */ lw $s3, 0x20($sp)
/* B7124C 800FA0AC 03E00008 */ jr $ra
/* B71250 800FA0B0 27BD0028 */ addiu $sp, $sp, 0x28
glabel func_800FA0B4
/* B71254 800FA0B4 AFA40000 */ sw $a0, ($sp)
/* B71258 800FA0B8 308400FF */ andi $a0, $a0, 0xff
/* B7125C 800FA0BC 00047080 */ sll $t6, $a0, 2
/* B71260 800FA0C0 01C47023 */ subu $t6, $t6, $a0
/* B71264 800FA0C4 000E7080 */ sll $t6, $t6, 2
/* B71268 800FA0C8 01C47023 */ subu $t6, $t6, $a0
/* B7126C 800FA0CC 000E7140 */ sll $t6, $t6, 5
/* B71270 800FA0D0 3C0F8017 */ lui $t7, %hi(D_801726B0)
/* B71274 800FA0D4 01EE7821 */ addu $t7, $t7, $t6
/* B71278 800FA0D8 8DEF26B0 */ lw $t7, %lo(D_801726B0)($t7)
/* B7127C 800FA0DC 0004C880 */ sll $t9, $a0, 2
/* B71280 800FA0E0 0324C821 */ addu $t9, $t9, $a0
/* B71284 800FA0E4 000FC7C2 */ srl $t8, $t7, 0x1f
/* B71288 800FA0E8 17000003 */ bnez $t8, .L800FA0F8
/* B7128C 800FA0EC 0019C880 */ sll $t9, $t9, 2
/* B71290 800FA0F0 03E00008 */ jr $ra
/* B71294 800FA0F4 3402FFFF */ li $v0, 65535
.L800FA0F8:
/* B71298 800FA0F8 0324C823 */ subu $t9, $t9, $a0
/* B7129C 800FA0FC 0019C8C0 */ sll $t9, $t9, 3
/* B712A0 800FA100 0324C821 */ addu $t9, $t9, $a0
/* B712A4 800FA104 0019C880 */ sll $t9, $t9, 2
/* B712A8 800FA108 3C028017 */ lui $v0, %hi(D_8016E9A4)
/* B712AC 800FA10C 00591021 */ addu $v0, $v0, $t9
/* B712B0 800FA110 9442E9A4 */ lhu $v0, %lo(D_8016E9A4)($v0)
/* B712B4 800FA114 03E00008 */ jr $ra
/* B712B8 800FA118 00000000 */ nop
glabel func_800FA11C
/* B712BC 800FA11C 3C028013 */ lui $v0, %hi(D_80133404) # $v0, 0x8013
/* B712C0 800FA120 3C038013 */ lui $v1, %hi(D_80133400) # $v1, 0x8013
/* B712C4 800FA124 90633400 */ lbu $v1, %lo(D_80133400)($v1)
/* B712C8 800FA128 90423404 */ lbu $v0, %lo(D_80133404)($v0)
/* B712CC 800FA12C 3C068017 */ lui $a2, %hi(D_8016E350) # $a2, 0x8017
/* B712D0 800FA130 24C6E350 */ addiu $a2, %lo(D_8016E350) # addiu $a2, $a2, -0x1cb0
/* B712D4 800FA134 1062000C */ beq $v1, $v0, .L800FA168
/* B712D8 800FA138 00027080 */ sll $t6, $v0, 2
.L800FA13C:
/* B712DC 800FA13C 00CE7821 */ addu $t7, $a2, $t6
/* B712E0 800FA140 8DF80000 */ lw $t8, ($t7)
/* B712E4 800FA144 24420001 */ addiu $v0, $v0, 1
/* B712E8 800FA148 304200FF */ andi $v0, $v0, 0xff
/* B712EC 800FA14C 0305C824 */ and $t9, $t8, $a1
/* B712F0 800FA150 14990003 */ bne $a0, $t9, .L800FA160
/* B712F4 800FA154 00000000 */ nop
/* B712F8 800FA158 03E00008 */ jr $ra
/* B712FC 800FA15C 00001025 */ move $v0, $zero
.L800FA160:
/* B71300 800FA160 5462FFF6 */ bnel $v1, $v0, .L800FA13C
/* B71304 800FA164 00027080 */ sll $t6, $v0, 2
.L800FA168:
/* B71308 800FA168 24020001 */ li $v0, 1
/* B7130C 800FA16C 03E00008 */ jr $ra
/* B71310 800FA170 00000000 */ nop
glabel func_800FA174
/* B71314 800FA174 AFA40000 */ sw $a0, ($sp)
/* B71318 800FA178 308400FF */ andi $a0, $a0, 0xff
/* B7131C 800FA17C 3C018017 */ lui $at, %hi(D_8016E348)
/* B71320 800FA180 00240821 */ addu $at, $at, $a0
/* B71324 800FA184 03E00008 */ jr $ra
/* B71328 800FA188 A020E348 */ sb $zero, %lo(D_8016E348)($at)
glabel func_800FA18C
/* B7132C 800FA18C AFA40000 */ sw $a0, ($sp)
/* B71330 800FA190 308400FF */ andi $a0, $a0, 0xff
/* B71334 800FA194 00047080 */ sll $t6, $a0, 2
/* B71338 800FA198 01C47021 */ addu $t6, $t6, $a0
/* B7133C 800FA19C 000E7080 */ sll $t6, $t6, 2
/* B71340 800FA1A0 01C47023 */ subu $t6, $t6, $a0
/* B71344 800FA1A4 000E70C0 */ sll $t6, $t6, 3
/* B71348 800FA1A8 01C47021 */ addu $t6, $t6, $a0
/* B7134C 800FA1AC 3C0F8017 */ lui $t7, %hi(D_8016E750) # $t7, 0x8017
/* B71350 800FA1B0 25EFE750 */ addiu $t7, %lo(D_8016E750) # addiu $t7, $t7, -0x18b0
/* B71354 800FA1B4 000E7080 */ sll $t6, $t6, 2
/* B71358 800FA1B8 01CF1821 */ addu $v1, $t6, $t7
/* B7135C 800FA1BC 9066004D */ lbu $a2, 0x4d($v1)
/* B71360 800FA1C0 AFA50004 */ sw $a1, 4($sp)
/* B71364 800FA1C4 30A700FF */ andi $a3, $a1, 0xff
/* B71368 800FA1C8 18C0001B */ blez $a2, .L800FA238
/* B7136C 800FA1CC 00001025 */ move $v0, $zero
/* B71370 800FA1D0 0004C080 */ sll $t8, $a0, 2
/* B71374 800FA1D4 0304C021 */ addu $t8, $t8, $a0
/* B71378 800FA1D8 0018C080 */ sll $t8, $t8, 2
/* B7137C 800FA1DC 0304C023 */ subu $t8, $t8, $a0
/* B71380 800FA1E0 0018C0C0 */ sll $t8, $t8, 3
/* B71384 800FA1E4 0304C021 */ addu $t8, $t8, $a0
/* B71388 800FA1E8 0018C080 */ sll $t8, $t8, 2
/* B7138C 800FA1EC 030F2821 */ addu $a1, $t8, $t7
/* B71390 800FA1F0 00E04025 */ move $t0, $a3
/* B71394 800FA1F4 3C0AFF00 */ lui $t2, 0xff00
/* B71398 800FA1F8 3C0900F0 */ lui $t1, 0xf0
/* B7139C 800FA1FC 0002C880 */ sll $t9, $v0, 2
.L800FA200:
/* B713A0 800FA200 00B93821 */ addu $a3, $a1, $t9
/* B713A4 800FA204 8CEB002C */ lw $t3, 0x2c($a3)
/* B713A8 800FA208 24420001 */ addiu $v0, $v0, 1
/* B713AC 800FA20C 304200FF */ andi $v0, $v0, 0xff
/* B713B0 800FA210 01692024 */ and $a0, $t3, $t1
/* B713B4 800FA214 00042502 */ srl $a0, $a0, 0x14
/* B713B8 800FA218 308400FF */ andi $a0, $a0, 0xff
/* B713BC 800FA21C 55040004 */ bnel $t0, $a0, .L800FA230
/* B713C0 800FA220 0046082A */ slt $at, $v0, $a2
/* B713C4 800FA224 ACEA002C */ sw $t2, 0x2c($a3)
/* B713C8 800FA228 9066004D */ lbu $a2, 0x4d($v1)
/* B713CC 800FA22C 0046082A */ slt $at, $v0, $a2
.L800FA230:
/* B713D0 800FA230 5420FFF3 */ bnezl $at, .L800FA200
/* B713D4 800FA234 0002C880 */ sll $t9, $v0, 2
.L800FA238:
/* B713D8 800FA238 03E00008 */ jr $ra
/* B713DC 800FA23C 00000000 */ nop
glabel func_800FA240
/* B713E0 800FA240 27BDFFE8 */ addiu $sp, $sp, -0x18
/* B713E4 800FA244 AFA40018 */ sw $a0, 0x18($sp)
/* B713E8 800FA248 93AE001B */ lbu $t6, 0x1b($sp)
/* B713EC 800FA24C 3C098017 */ lui $t1, %hi(D_8016E750)
/* B713F0 800FA250 2529E750 */ addiu $t1, %lo(D_8016E750) # addiu $t1, $t1, -0x18b0
/* B713F4 800FA254 000E7880 */ sll $t7, $t6, 2
/* B713F8 800FA258 01EE7821 */ addu $t7, $t7, $t6
/* B713FC 800FA25C 000F7880 */ sll $t7, $t7, 2
/* B71400 800FA260 01EE7823 */ subu $t7, $t7, $t6
/* B71404 800FA264 000F78C0 */ sll $t7, $t7, 3
/* B71408 800FA268 01EE7821 */ addu $t7, $t7, $t6
/* B7140C 800FA26C AFA5001C */ sw $a1, 0x1c($sp)
/* B71410 800FA270 000F7880 */ sll $t7, $t7, 2
/* B71414 800FA274 30A500FF */ andi $a1, $a1, 0xff
/* B71418 800FA278 AFA70024 */ sw $a3, 0x24($sp)
/* B7141C 800FA27C 012F1821 */ addu $v1, $t1, $t7
/* B71420 800FA280 30E700FF */ andi $a3, $a3, 0xff
/* B71424 800FA284 0065C821 */ addu $t9, $v1, $a1
/* B71428 800FA288 30D8007F */ andi $t8, $a2, 0x7f
/* B7142C 800FA28C AFBF0014 */ sw $ra, 0x14($sp)
/* B71430 800FA290 AFA60020 */ sw $a2, 0x20($sp)
/* B71434 800FA294 A338000E */ sb $t8, 0xe($t9)
/* B71438 800FA298 10E0000E */ beqz $a3, .L800FA2D4
/* B7143C 800FA29C 00E04025 */ move $t0, $a3
/* B71440 800FA2A0 93AA001B */ lbu $t2, 0x1b($sp)
/* B71444 800FA2A4 240C0001 */ li $t4, 1
/* B71448 800FA2A8 000A5880 */ sll $t3, $t2, 2
/* B7144C 800FA2AC 016A5821 */ addu $t3, $t3, $t2
/* B71450 800FA2B0 000B5880 */ sll $t3, $t3, 2
/* B71454 800FA2B4 016A5823 */ subu $t3, $t3, $t2
/* B71458 800FA2B8 000B58C0 */ sll $t3, $t3, 3
/* B7145C 800FA2BC 016A5821 */ addu $t3, $t3, $t2
/* B71460 800FA2C0 000B5880 */ sll $t3, $t3, 2
/* B71464 800FA2C4 012B1021 */ addu $v0, $t1, $t3
/* B71468 800FA2C8 A04C0013 */ sb $t4, 0x13($v0)
/* B7146C 800FA2CC 1000003F */ b .L800FA3CC
/* B71470 800FA2D0 A0470012 */ sb $a3, 0x12($v0)
.L800FA2D4:
/* B71474 800FA2D4 3C013F80 */ li $at, 0x3F800000 # 0.000000
/* B71478 800FA2D8 44810000 */ mtc1 $at, $f0
/* B7147C 800FA2DC 3C0142FE */ li $at, 0x42FE0000 # 0.000000
/* B71480 800FA2E0 44811000 */ mtc1 $at, $f2
/* B71484 800FA2E4 00001025 */ move $v0, $zero
/* B71488 800FA2E8 00626821 */ addu $t5, $v1, $v0
.L800FA2EC:
/* B7148C 800FA2EC 91AE000E */ lbu $t6, 0xe($t5)
/* B71490 800FA2F0 3C014F80 */ li $at, 0x4F800000 # 0.000000
/* B71494 800FA2F4 448E2000 */ mtc1 $t6, $f4
/* B71498 800FA2F8 05C10004 */ bgez $t6, .L800FA30C
/* B7149C 800FA2FC 468021A0 */ cvt.s.w $f6, $f4
/* B714A0 800FA300 44814000 */ mtc1 $at, $f8
/* B714A4 800FA304 00000000 */ nop
/* B714A8 800FA308 46083180 */ add.s $f6, $f6, $f8
.L800FA30C:
/* B714AC 800FA30C 46023283 */ div.s $f10, $f6, $f2
/* B714B0 800FA310 24420001 */ addiu $v0, $v0, 1
/* B714B4 800FA314 304200FF */ andi $v0, $v0, 0xff
/* B714B8 800FA318 28410004 */ slti $at, $v0, 4
/* B714BC 800FA31C 460A0002 */ mul.s $f0, $f0, $f10
/* B714C0 800FA320 5420FFF2 */ bnezl $at, .L800FA2EC
/* B714C4 800FA324 00626821 */ addu $t5, $v1, $v0
/* B714C8 800FA328 46020402 */ mul.s $f16, $f0, $f2
/* B714CC 800FA32C 240D0001 */ li $t5, 1
/* B714D0 800FA330 93AF001B */ lbu $t7, 0x1b($sp)
/* B714D4 800FA334 3C014000 */ lui $at, 0x4000
/* B714D8 800FA338 00085400 */ sll $t2, $t0, 0x10
/* B714DC 800FA33C 000FC600 */ sll $t8, $t7, 0x18
/* B714E0 800FA340 0301C825 */ or $t9, $t8, $at
/* B714E4 800FA344 444CF800 */ cfc1 $t4, $31
/* B714E8 800FA348 44CDF800 */ ctc1 $t5, $31
/* B714EC 800FA34C 032A5825 */ or $t3, $t9, $t2
/* B714F0 800FA350 460084A4 */ cvt.w.s $f18, $f16
/* B714F4 800FA354 444DF800 */ cfc1 $t5, $31
/* B714F8 800FA358 00000000 */ nop
/* B714FC 800FA35C 31AD0078 */ andi $t5, $t5, 0x78
/* B71500 800FA360 11A00012 */ beqz $t5, .L800FA3AC
/* B71504 800FA364 3C014F00 */ li $at, 0x4F000000 # 0.000000
/* B71508 800FA368 44819000 */ mtc1 $at, $f18
/* B7150C 800FA36C 240D0001 */ li $t5, 1
/* B71510 800FA370 46128481 */ sub.s $f18, $f16, $f18
/* B71514 800FA374 44CDF800 */ ctc1 $t5, $31
/* B71518 800FA378 00000000 */ nop
/* B7151C 800FA37C 460094A4 */ cvt.w.s $f18, $f18
/* B71520 800FA380 444DF800 */ cfc1 $t5, $31
/* B71524 800FA384 00000000 */ nop
/* B71528 800FA388 31AD0078 */ andi $t5, $t5, 0x78
/* B7152C 800FA38C 15A00005 */ bnez $t5, .L800FA3A4
/* B71530 800FA390 00000000 */ nop
/* B71534 800FA394 440D9000 */ mfc1 $t5, $f18
/* B71538 800FA398 3C018000 */ lui $at, 0x8000
/* B7153C 800FA39C 10000007 */ b .L800FA3BC
/* B71540 800FA3A0 01A16825 */ or $t5, $t5, $at
.L800FA3A4:
/* B71544 800FA3A4 10000005 */ b .L800FA3BC
/* B71548 800FA3A8 240DFFFF */ li $t5, -1
.L800FA3AC:
/* B7154C 800FA3AC 440D9000 */ mfc1 $t5, $f18
/* B71550 800FA3B0 00000000 */ nop
/* B71554 800FA3B4 05A0FFFB */ bltz $t5, .L800FA3A4
/* B71558 800FA3B8 00000000 */ nop
.L800FA3BC:
/* B7155C 800FA3BC 44CCF800 */ ctc1 $t4, $31
/* B71560 800FA3C0 31AE00FF */ andi $t6, $t5, 0xff
/* B71564 800FA3C4 0C03E53F */ jal func_800F94FC
/* B71568 800FA3C8 016E2025 */ or $a0, $t3, $t6
.L800FA3CC:
/* B7156C 800FA3CC 8FBF0014 */ lw $ra, 0x14($sp)
/* B71570 800FA3D0 27BD0018 */ addiu $sp, $sp, 0x18
/* B71574 800FA3D4 03E00008 */ jr $ra
/* B71578 800FA3D8 00000000 */ nop
glabel func_800FA3DC
/* B7157C 800FA3DC 27BDFF70 */ addiu $sp, $sp, -0x90
/* B71580 800FA3E0 AFB7003C */ sw $s7, 0x3c($sp)
/* B71584 800FA3E4 F7B40018 */ sdc1 $f20, 0x18($sp)
/* B71588 800FA3E8 3C0142FE */ lui $at, 0x42fe
/* B7158C 800FA3EC AFBE0040 */ sw $fp, 0x40($sp)
/* B71590 800FA3F0 AFB60038 */ sw $s6, 0x38($sp)
/* B71594 800FA3F4 AFB50034 */ sw $s5, 0x34($sp)
/* B71598 800FA3F8 3C178017 */ lui $s7, %hi(D_8016E750)
/* B7159C 800FA3FC 4481A000 */ mtc1 $at, $f20
/* B715A0 800FA400 AFBF0044 */ sw $ra, 0x44($sp)
/* B715A4 800FA404 AFB40030 */ sw $s4, 0x30($sp)
/* B715A8 800FA408 AFB3002C */ sw $s3, 0x2c($sp)
/* B715AC 800FA40C AFB20028 */ sw $s2, 0x28($sp)
/* B715B0 800FA410 AFB10024 */ sw $s1, 0x24($sp)
/* B715B4 800FA414 AFB00020 */ sw $s0, 0x20($sp)
/* B715B8 800FA418 26F7E750 */ addiu $s7, %lo(D_8016E750)
/* B715BC 800FA41C 0000A825 */ move $s5, $zero
/* B715C0 800FA420 3C16E300 */ li $s6, 0xE3000000 # 0.000000
/* B715C4 800FA424 241E0264 */ li $fp, 612
.L800FA428:
/* B715C8 800FA428 02BE0019 */ multu $s5, $fp
/* B715CC 800FA42C 00007012 */ mflo $t6
/* B715D0 800FA430 02EE9021 */ addu $s2, $s7, $t6
/* B715D4 800FA434 924F0260 */ lbu $t7, 0x260($s2)
/* B715D8 800FA438 51E00010 */ beql $t7, $zero, .L800FA47C
/* B715DC 800FA43C 92580013 */ lbu $t8, 0x13($s2)
/* B715E0 800FA440 0C039788 */ jal func_800E5E20
/* B715E4 800FA444 27A40070 */ addiu $a0, $sp, 0x70
/* B715E8 800FA448 24010001 */ li $at, 1
/* B715EC 800FA44C 10410007 */ beq $v0, $at, .L800FA46C
/* B715F0 800FA450 24010002 */ li $at, 2
/* B715F4 800FA454 10410005 */ beq $v0, $at, .L800FA46C
/* B715F8 800FA458 24010003 */ li $at, 3
/* B715FC 800FA45C 10410003 */ beq $v0, $at, .L800FA46C
/* B71600 800FA460 24010004 */ li $at, 4
/* B71604 800FA464 54410005 */ bnel $v0, $at, .L800FA47C
/* B71608 800FA468 92580013 */ lbu $t8, 0x13($s2)
.L800FA46C:
/* B7160C 800FA46C A2400260 */ sb $zero, 0x260($s2)
/* B71610 800FA470 0C03E53F */ jal func_800F94FC
/* B71614 800FA474 8E44025C */ lw $a0, 0x25c($s2)
/* B71618 800FA478 92580013 */ lbu $t8, 0x13($s2)
.L800FA47C:
/* B7161C 800FA47C 13000047 */ beqz $t8, .L800FA59C
/* B71620 800FA480 0015C880 */ sll $t9, $s5, 2
/* B71624 800FA484 0335C821 */ addu $t9, $t9, $s5
/* B71628 800FA488 0019C880 */ sll $t9, $t9, 2
/* B7162C 800FA48C 0335C823 */ subu $t9, $t9, $s5
/* B71630 800FA490 0019C8C0 */ sll $t9, $t9, 3
/* B71634 800FA494 3C013F80 */ li $at, 0x3F800000 # 0.000000
/* B71638 800FA498 0335C821 */ addu $t9, $t9, $s5
/* B7163C 800FA49C 0019C880 */ sll $t9, $t9, 2
/* B71640 800FA4A0 44810000 */ mtc1 $at, $f0
/* B71644 800FA4A4 02F9A021 */ addu $s4, $s7, $t9
/* B71648 800FA4A8 00009825 */ move $s3, $zero
/* B7164C 800FA4AC 02A01025 */ move $v0, $s5
/* B71650 800FA4B0 02935021 */ addu $t2, $s4, $s3
.L800FA4B4:
/* B71654 800FA4B4 914B000E */ lbu $t3, 0xe($t2)
/* B71658 800FA4B8 3C014F80 */ li $at, 0x4F800000 # 0.000000
/* B7165C 800FA4BC 448B2000 */ mtc1 $t3, $f4
/* B71660 800FA4C0 05610004 */ bgez $t3, .L800FA4D4
/* B71664 800FA4C4 468021A0 */ cvt.s.w $f6, $f4
/* B71668 800FA4C8 44814000 */ mtc1 $at, $f8
/* B7166C 800FA4CC 00000000 */ nop
/* B71670 800FA4D0 46083180 */ add.s $f6, $f6, $f8
.L800FA4D4:
/* B71674 800FA4D4 46143283 */ div.s $f10, $f6, $f20
/* B71678 800FA4D8 26730001 */ addiu $s3, $s3, 1
/* B7167C 800FA4DC 327300FF */ andi $s3, $s3, 0xff
/* B71680 800FA4E0 2A610004 */ slti $at, $s3, 4
/* B71684 800FA4E4 460A0002 */ mul.s $f0, $f0, $f10
/* B71688 800FA4E8 5420FFF2 */ bnezl $at, .L800FA4B4
/* B7168C 800FA4EC 02935021 */ addu $t2, $s4, $s3
/* B71690 800FA4F0 46140402 */ mul.s $f16, $f0, $f20
/* B71694 800FA4F4 240A0001 */ li $t2, 1
/* B71698 800FA4F8 924C0012 */ lbu $t4, 0x12($s2)
/* B7169C 800FA4FC 3C014000 */ lui $at, 0x4000
/* B716A0 800FA500 00027E00 */ sll $t7, $v0, 0x18
/* B716A4 800FA504 000C6C00 */ sll $t5, $t4, 0x10
/* B716A8 800FA508 01A17025 */ or $t6, $t5, $at
/* B716AC 800FA50C 4459F800 */ cfc1 $t9, $31
/* B716B0 800FA510 44CAF800 */ ctc1 $t2, $31
/* B716B4 800FA514 01CFC025 */ or $t8, $t6, $t7
/* B716B8 800FA518 3C014F00 */ li $at, 0x4F000000 # 0.000000
/* B716BC 800FA51C 460084A4 */ cvt.w.s $f18, $f16
/* B716C0 800FA520 444AF800 */ cfc1 $t2, $31
/* B716C4 800FA524 00000000 */ nop
/* B716C8 800FA528 314A0078 */ andi $t2, $t2, 0x78
/* B716CC 800FA52C 51400013 */ beql $t2, $zero, .L800FA57C
/* B716D0 800FA530 440A9000 */ mfc1 $t2, $f18
/* B716D4 800FA534 44819000 */ mtc1 $at, $f18
/* B716D8 800FA538 240A0001 */ li $t2, 1
/* B716DC 800FA53C 46128481 */ sub.s $f18, $f16, $f18
/* B716E0 800FA540 44CAF800 */ ctc1 $t2, $31
/* B716E4 800FA544 00000000 */ nop
/* B716E8 800FA548 460094A4 */ cvt.w.s $f18, $f18
/* B716EC 800FA54C 444AF800 */ cfc1 $t2, $31
/* B716F0 800FA550 00000000 */ nop
/* B716F4 800FA554 314A0078 */ andi $t2, $t2, 0x78
/* B716F8 800FA558 15400005 */ bnez $t2, .L800FA570
/* B716FC 800FA55C 00000000 */ nop
/* B71700 800FA560 440A9000 */ mfc1 $t2, $f18
/* B71704 800FA564 3C018000 */ lui $at, 0x8000
/* B71708 800FA568 10000007 */ b .L800FA588
/* B7170C 800FA56C 01415025 */ or $t2, $t2, $at
.L800FA570:
/* B71710 800FA570 10000005 */ b .L800FA588
/* B71714 800FA574 240AFFFF */ li $t2, -1
/* B71718 800FA578 440A9000 */ mfc1 $t2, $f18
.L800FA57C:
/* B7171C 800FA57C 00000000 */ nop
/* B71720 800FA580 0540FFFB */ bltz $t2, .L800FA570
/* B71724 800FA584 00000000 */ nop
.L800FA588:
/* B71728 800FA588 44D9F800 */ ctc1 $t9, $31
/* B7172C 800FA58C 314B00FF */ andi $t3, $t2, 0xff
/* B71730 800FA590 0C03E803 */ jal Audio_SetBGM
/* B71734 800FA594 030B2025 */ or $a0, $t8, $t3
/* B71738 800FA598 A2400013 */ sb $zero, 0x13($s2)
.L800FA59C:
/* B7173C 800FA59C 9642000C */ lhu $v0, 0xc($s2)
/* B71740 800FA5A0 10400011 */ beqz $v0, .L800FA5E8
/* B71744 800FA5A4 244CFFFF */ addiu $t4, $v0, -1
/* B71748 800FA5A8 318DFFFF */ andi $t5, $t4, 0xffff
/* B7174C 800FA5AC 11A00006 */ beqz $t5, .L800FA5C8
/* B71750 800FA5B0 A64C000C */ sh $t4, 0xc($s2)
/* B71754 800FA5B4 C6440000 */ lwc1 $f4, ($s2)
/* B71758 800FA5B8 C6480008 */ lwc1 $f8, 8($s2)
/* B7175C 800FA5BC 46082181 */ sub.s $f6, $f4, $f8
/* B71760 800FA5C0 10000003 */ b .L800FA5D0
/* B71764 800FA5C4 E6460000 */ swc1 $f6, ($s2)
.L800FA5C8:
/* B71768 800FA5C8 C64A0004 */ lwc1 $f10, 4($s2)
/* B7176C 800FA5CC E64A0000 */ swc1 $f10, ($s2)
.L800FA5D0:
/* B71770 800FA5D0 32A400FF */ andi $a0, $s5, 0xff
/* B71774 800FA5D4 00042400 */ sll $a0, $a0, 0x10
/* B71778 800FA5D8 3C014100 */ lui $at, 0x4100
/* B7177C 800FA5DC 00812025 */ or $a0, $a0, $at
/* B71780 800FA5E0 0C0396B6 */ jal func_800E5AD8
/* B71784 800FA5E4 8E450000 */ lw $a1, ($s2)
.L800FA5E8:
/* B71788 800FA5E8 8E450014 */ lw $a1, 0x14($s2)
/* B7178C 800FA5EC 10A0008F */ beqz $a1, .L800FA82C
/* B71790 800FA5F0 3C0100FF */ li $at, 0x00FF0000 # 0.000000
/* B71794 800FA5F4 00A11024 */ and $v0, $a1, $at
/* B71798 800FA5F8 000213C2 */ srl $v0, $v0, 0xf
/* B7179C 800FA5FC 30A40FFF */ andi $a0, $a1, 0xfff
/* B717A0 800FA600 304700FF */ andi $a3, $v0, 0xff
/* B717A4 800FA604 00A01825 */ move $v1, $a1
/* B717A8 800FA608 304800FF */ andi $t0, $v0, 0xff
/* B717AC 800FA60C 14E00003 */ bnez $a3, .L800FA61C
/* B717B0 800FA610 3086FFFF */ andi $a2, $a0, 0xffff
/* B717B4 800FA614 24E80001 */ addiu $t0, $a3, 1
/* B717B8 800FA618 310800FF */ andi $t0, $t0, 0xff
.L800FA61C:
/* B717BC 800FA61C 00157080 */ sll $t6, $s5, 2
/* B717C0 800FA620 01D57023 */ subu $t6, $t6, $s5
/* B717C4 800FA624 000E7080 */ sll $t6, $t6, 2
/* B717C8 800FA628 01D57023 */ subu $t6, $t6, $s5
/* B717CC 800FA62C 3C0F8017 */ lui $t7, %hi(gAudioContext)
/* B717D0 800FA630 25EFF180 */ addiu $t7, %lo(gAudioContext) # addiu $t7, $t7, -0xe80
/* B717D4 800FA634 000E7140 */ sll $t6, $t6, 5
/* B717D8 800FA638 01CF2821 */ addu $a1, $t6, $t7
/* B717DC 800FA63C 8CB93530 */ lw $t9, 0x3530($a1)
/* B717E0 800FA640 24010030 */ li $at, 48
/* B717E4 800FA644 3062F000 */ andi $v0, $v1, 0xf000
/* B717E8 800FA648 001957C2 */ srl $t2, $t9, 0x1f
/* B717EC 800FA64C 51400078 */ beql $t2, $zero, .L800FA830
/* B717F0 800FA650 96420028 */ lhu $v0, 0x28($s2)
/* B717F4 800FA654 94A93538 */ lhu $t1, 0x3538($a1)
/* B717F8 800FA658 00021302 */ srl $v0, $v0, 0xc
/* B717FC 800FA65C 304200FF */ andi $v0, $v0, 0xff
/* B71800 800FA660 0121001A */ div $zero, $t1, $at
/* B71804 800FA664 00004812 */ mflo $t1
/* B71808 800FA668 24010001 */ li $at, 1
/* B7180C 800FA66C 1041000C */ beq $v0, $at, .L800FA6A0
/* B71810 800FA670 3127FFFF */ andi $a3, $t1, 0xffff
/* B71814 800FA674 24010002 */ li $at, 2
/* B71818 800FA678 1041000D */ beq $v0, $at, .L800FA6B0
/* B7181C 800FA67C 3083FFFF */ andi $v1, $a0, 0xffff
/* B71820 800FA680 24010003 */ li $at, 3
/* B71824 800FA684 10410011 */ beq $v0, $at, .L800FA6CC
/* B71828 800FA688 308BFFFF */ andi $t3, $a0, 0xffff
/* B7182C 800FA68C 24010004 */ li $at, 4
/* B71830 800FA690 50410045 */ beql $v0, $at, .L800FA7A8
/* B71834 800FA694 96420018 */ lhu $v0, 0x18($s2)
/* B71838 800FA698 10000048 */ b .L800FA7BC
/* B7183C 800FA69C 96420018 */ lhu $v0, 0x18($s2)
.L800FA6A0:
/* B71840 800FA6A0 00873021 */ addu $a2, $a0, $a3
/* B71844 800FA6A4 30C6FFFF */ andi $a2, $a2, 0xffff
/* B71848 800FA6A8 10000044 */ b .L800FA7BC
/* B7184C 800FA6AC 96420018 */ lhu $v0, 0x18($s2)
.L800FA6B0:
/* B71850 800FA6B0 0067082A */ slt $at, $v1, $a3
/* B71854 800FA6B4 10200003 */ beqz $at, .L800FA6C4
/* B71858 800FA6B8 00E01025 */ move $v0, $a3
/* B7185C 800FA6BC 00433023 */ subu $a2, $v0, $v1
/* B71860 800FA6C0 30C6FFFF */ andi $a2, $a2, 0xffff
.L800FA6C4:
/* B71864 800FA6C4 1000003D */ b .L800FA7BC
/* B71868 800FA6C8 96420018 */ lhu $v0, 0x18($s2)
.L800FA6CC:
/* B7186C 800FA6CC 448B8000 */ mtc1 $t3, $f16
/* B71870 800FA6D0 44875000 */ mtc1 $a3, $f10
/* B71874 800FA6D4 05610005 */ bgez $t3, .L800FA6EC
/* B71878 800FA6D8 468084A0 */ cvt.s.w $f18, $f16
/* B7187C 800FA6DC 3C014F80 */ li $at, 0x4F800000 # 0.000000
/* B71880 800FA6E0 44812000 */ mtc1 $at, $f4
/* B71884 800FA6E4 00000000 */ nop
/* B71888 800FA6E8 46049480 */ add.s $f18, $f18, $f4
.L800FA6EC:
/* B7188C 800FA6EC 3C0142C8 */ li $at, 0x42C80000 # 0.000000
/* B71890 800FA6F0 44814000 */ mtc1 $at, $f8
/* B71894 800FA6F4 46805420 */ cvt.s.w $f16, $f10
/* B71898 800FA6F8 04E10005 */ bgez $a3, .L800FA710
/* B7189C 800FA6FC 46089183 */ div.s $f6, $f18, $f8
/* B718A0 800FA700 3C014F80 */ li $at, 0x4F800000 # 0.000000
/* B718A4 800FA704 44812000 */ mtc1 $at, $f4
/* B718A8 800FA708 00000000 */ nop
/* B718AC 800FA70C 46048400 */ add.s $f16, $f16, $f4
.L800FA710:
/* B718B0 800FA710 46068482 */ mul.s $f18, $f16, $f6
/* B718B4 800FA714 24060001 */ li $a2, 1
/* B718B8 800FA718 3C014F00 */ li $at, 0x4F000000 # 0.000000
/* B718BC 800FA71C 444CF800 */ cfc1 $t4, $31
/* B718C0 800FA720 44C6F800 */ ctc1 $a2, $31
/* B718C4 800FA724 00000000 */ nop
/* B718C8 800FA728 46009224 */ cvt.w.s $f8, $f18
/* B718CC 800FA72C 4446F800 */ cfc1 $a2, $31
/* B718D0 800FA730 00000000 */ nop
/* B718D4 800FA734 30C60078 */ andi $a2, $a2, 0x78
/* B718D8 800FA738 50C00013 */ beql $a2, $zero, .L800FA788
/* B718DC 800FA73C 44064000 */ mfc1 $a2, $f8
/* B718E0 800FA740 44814000 */ mtc1 $at, $f8
/* B718E4 800FA744 24060001 */ li $a2, 1
/* B718E8 800FA748 46089201 */ sub.s $f8, $f18, $f8
/* B718EC 800FA74C 44C6F800 */ ctc1 $a2, $31
/* B718F0 800FA750 00000000 */ nop
/* B718F4 800FA754 46004224 */ cvt.w.s $f8, $f8
/* B718F8 800FA758 4446F800 */ cfc1 $a2, $31
/* B718FC 800FA75C 00000000 */ nop
/* B71900 800FA760 30C60078 */ andi $a2, $a2, 0x78
/* B71904 800FA764 14C00005 */ bnez $a2, .L800FA77C
/* B71908 800FA768 00000000 */ nop
/* B7190C 800FA76C 44064000 */ mfc1 $a2, $f8
/* B71910 800FA770 3C018000 */ li $at, 0x80000000 # 0.000000
/* B71914 800FA774 10000007 */ b .L800FA794
/* B71918 800FA778 00C13025 */ or $a2, $a2, $at
.L800FA77C:
/* B7191C 800FA77C 10000005 */ b .L800FA794
/* B71920 800FA780 2406FFFF */ li $a2, -1
/* B71924 800FA784 44064000 */ mfc1 $a2, $f8
.L800FA788:
/* B71928 800FA788 00000000 */ nop
/* B7192C 800FA78C 04C0FFFB */ bltz $a2, .L800FA77C
/* B71930 800FA790 00000000 */ nop
.L800FA794:
/* B71934 800FA794 44CCF800 */ ctc1 $t4, $31
/* B71938 800FA798 30C6FFFF */ andi $a2, $a2, 0xffff
/* B7193C 800FA79C 10000007 */ b .L800FA7BC
/* B71940 800FA7A0 96420018 */ lhu $v0, 0x18($s2)
/* B71944 800FA7A4 96420018 */ lhu $v0, 0x18($s2)
.L800FA7A8:
/* B71948 800FA7A8 30E6FFFF */ andi $a2, $a3, 0xffff
/* B7194C 800FA7AC 10400003 */ beqz $v0, .L800FA7BC
/* B71950 800FA7B0 00000000 */ nop
/* B71954 800FA7B4 10000001 */ b .L800FA7BC
/* B71958 800FA7B8 3046FFFF */ andi $a2, $v0, 0xffff
.L800FA7BC:
/* B7195C 800FA7BC 44898000 */ mtc1 $t1, $f16
/* B71960 800FA7C0 28C1012D */ slti $at, $a2, 0x12d
/* B71964 800FA7C4 14200002 */ bnez $at, .L800FA7D0
/* B71968 800FA7C8 468080A0 */ cvt.s.w $f2, $f16
/* B7196C 800FA7CC 2406012C */ li $a2, 300
.L800FA7D0:
/* B71970 800FA7D0 44865000 */ mtc1 $a2, $f10
/* B71974 800FA7D4 14400002 */ bnez $v0, .L800FA7E0
/* B71978 800FA7D8 3C014F80 */ li $at, 0x4F800000 # 0.000000
/* B7197C 800FA7DC A6470018 */ sh $a3, 0x18($s2)
.L800FA7E0:
/* B71980 800FA7E0 04C10004 */ bgez $a2, .L800FA7F4
/* B71984 800FA7E4 46805020 */ cvt.s.w $f0, $f10
/* B71988 800FA7E8 44812000 */ mtc1 $at, $f4
/* B7198C 800FA7EC 00000000 */ nop
/* B71990 800FA7F0 46040000 */ add.s $f0, $f0, $f4
.L800FA7F4:
/* B71994 800FA7F4 44889000 */ mtc1 $t0, $f18
/* B71998 800FA7F8 E6400020 */ swc1 $f0, 0x20($s2)
/* B7199C 800FA7FC E642001C */ swc1 $f2, 0x1c($s2)
/* B719A0 800FA800 46001181 */ sub.s $f6, $f2, $f0
/* B719A4 800FA804 3C014F80 */ li $at, 0x4F800000 # 0.000000
/* B719A8 800FA808 05010004 */ bgez $t0, .L800FA81C
/* B719AC 800FA80C 46809220 */ cvt.s.w $f8, $f18
/* B719B0 800FA810 44815000 */ mtc1 $at, $f10
/* B719B4 800FA814 00000000 */ nop
/* B719B8 800FA818 460A4200 */ add.s $f8, $f8, $f10
.L800FA81C:
/* B719BC 800FA81C 46083103 */ div.s $f4, $f6, $f8
/* B719C0 800FA820 A6480028 */ sh $t0, 0x28($s2)
/* B719C4 800FA824 AE400014 */ sw $zero, 0x14($s2)
/* B719C8 800FA828 E6440024 */ swc1 $f4, 0x24($s2)
.L800FA82C:
/* B719CC 800FA82C 96420028 */ lhu $v0, 0x28($s2)
.L800FA830:
/* B719D0 800FA830 10400014 */ beqz $v0, .L800FA884
/* B719D4 800FA834 244DFFFF */ addiu $t5, $v0, -1
/* B719D8 800FA838 31AEFFFF */ andi $t6, $t5, 0xffff
/* B719DC 800FA83C 32A300FF */ andi $v1, $s5, 0xff
/* B719E0 800FA840 A64D0028 */ sh $t5, 0x28($s2)
/* B719E4 800FA844 11C00006 */ beqz $t6, .L800FA860
/* B719E8 800FA848 00031C00 */ sll $v1, $v1, 0x10
/* B719EC 800FA84C C650001C */ lwc1 $f16, 0x1c($s2)
/* B719F0 800FA850 C6520024 */ lwc1 $f18, 0x24($s2)
/* B719F4 800FA854 46128281 */ sub.s $f10, $f16, $f18
/* B719F8 800FA858 10000003 */ b .L800FA868
/* B719FC 800FA85C E64A001C */ swc1 $f10, 0x1c($s2)
.L800FA860:
/* B71A00 800FA860 C6460020 */ lwc1 $f6, 0x20($s2)
/* B71A04 800FA864 E646001C */ swc1 $f6, 0x1c($s2)
.L800FA868:
/* B71A08 800FA868 C648001C */ lwc1 $f8, 0x1c($s2)
/* B71A0C 800FA86C 3C014700 */ lui $at, 0x4700
/* B71A10 800FA870 00612025 */ or $a0, $v1, $at
/* B71A14 800FA874 4600410D */ trunc.w.s $f4, $f8
/* B71A18 800FA878 44052000 */ mfc1 $a1, $f4
/* B71A1C 800FA87C 0C0396BF */ jal func_800E5AFC
/* B71A20 800FA880 00000000 */ nop
.L800FA884:
/* B71A24 800FA884 96590252 */ lhu $t9, 0x252($s2)
/* B71A28 800FA888 1320002C */ beqz $t9, .L800FA93C
/* B71A2C 800FA88C 00155080 */ sll $t2, $s5, 2
/* B71A30 800FA890 01555021 */ addu $t2, $t2, $s5
/* B71A34 800FA894 000A5080 */ sll $t2, $t2, 2
/* B71A38 800FA898 01555023 */ subu $t2, $t2, $s5
/* B71A3C 800FA89C 000A50C0 */ sll $t2, $t2, 3
/* B71A40 800FA8A0 01555021 */ addu $t2, $t2, $s5
/* B71A44 800FA8A4 000A5080 */ sll $t2, $t2, 2
/* B71A48 800FA8A8 02EAA021 */ addu $s4, $s7, $t2
/* B71A4C 800FA8AC 00008025 */ move $s0, $zero
/* B71A50 800FA8B0 00102140 */ sll $a0, $s0, 5
.L800FA8B4:
/* B71A54 800FA8B4 02841021 */ addu $v0, $s4, $a0
/* B71A58 800FA8B8 9443005C */ lhu $v1, 0x5c($v0)
/* B71A5C 800FA8BC 32A600FF */ andi $a2, $s5, 0xff
/* B71A60 800FA8C0 00063400 */ sll $a2, $a2, 0x10
/* B71A64 800FA8C4 10600018 */ beqz $v1, .L800FA928
/* B71A68 800FA8C8 2478FFFF */ addiu $t8, $v1, -1
/* B71A6C 800FA8CC 3C010100 */ lui $at, 0x100
/* B71A70 800FA8D0 330BFFFF */ andi $t3, $t8, 0xffff
/* B71A74 800FA8D4 A458005C */ sh $t8, 0x5c($v0)
/* B71A78 800FA8D8 11600006 */ beqz $t3, .L800FA8F4
/* B71A7C 800FA8DC 00C13025 */ or $a2, $a2, $at
/* B71A80 800FA8E0 C4500050 */ lwc1 $f16, 0x50($v0)
/* B71A84 800FA8E4 C4520058 */ lwc1 $f18, 0x58($v0)
/* B71A88 800FA8E8 46128281 */ sub.s $f10, $f16, $f18
/* B71A8C 800FA8EC 10000009 */ b .L800FA914
/* B71A90 800FA8F0 E44A0050 */ swc1 $f10, 0x50($v0)
.L800FA8F4:
/* B71A94 800FA8F4 02441821 */ addu $v1, $s2, $a0
/* B71A98 800FA8F8 C4660054 */ lwc1 $f6, 0x54($v1)
/* B71A9C 800FA8FC 240D0001 */ li $t5, 1
/* B71AA0 800FA900 020D7004 */ sllv $t6, $t5, $s0
/* B71AA4 800FA904 E4660050 */ swc1 $f6, 0x50($v1)
/* B71AA8 800FA908 964C0252 */ lhu $t4, 0x252($s2)
/* B71AAC 800FA90C 018E7826 */ xor $t7, $t4, $t6
/* B71AB0 800FA910 A64F0252 */ sh $t7, 0x252($s2)
.L800FA914:
/* B71AB4 800FA914 321900FF */ andi $t9, $s0, 0xff
/* B71AB8 800FA918 00195200 */ sll $t2, $t9, 8
/* B71ABC 800FA91C 00CA2025 */ or $a0, $a2, $t2
/* B71AC0 800FA920 0C0396B6 */ jal func_800E5AD8
/* B71AC4 800FA924 8C450050 */ lw $a1, 0x50($v0)
.L800FA928:
/* B71AC8 800FA928 26100001 */ addiu $s0, $s0, 1
/* B71ACC 800FA92C 321000FF */ andi $s0, $s0, 0xff
/* B71AD0 800FA930 2A010010 */ slti $at, $s0, 0x10
/* B71AD4 800FA934 5420FFDF */ bnezl $at, .L800FA8B4
/* B71AD8 800FA938 00102140 */ sll $a0, $s0, 5
.L800FA93C:
/* B71ADC 800FA93C 96580250 */ lhu $t8, 0x250($s2)
/* B71AE0 800FA940 1300002C */ beqz $t8, .L800FA9F4
/* B71AE4 800FA944 00155880 */ sll $t3, $s5, 2
/* B71AE8 800FA948 01755821 */ addu $t3, $t3, $s5
/* B71AEC 800FA94C 000B5880 */ sll $t3, $t3, 2
/* B71AF0 800FA950 01755823 */ subu $t3, $t3, $s5
/* B71AF4 800FA954 000B58C0 */ sll $t3, $t3, 3
/* B71AF8 800FA958 01755821 */ addu $t3, $t3, $s5
/* B71AFC 800FA95C 000B5880 */ sll $t3, $t3, 2
/* B71B00 800FA960 02EBA021 */ addu $s4, $s7, $t3
/* B71B04 800FA964 00008025 */ move $s0, $zero
/* B71B08 800FA968 00102140 */ sll $a0, $s0, 5
.L800FA96C:
/* B71B0C 800FA96C 02841021 */ addu $v0, $s4, $a0
/* B71B10 800FA970 9443006C */ lhu $v1, 0x6c($v0)
/* B71B14 800FA974 32A600FF */ andi $a2, $s5, 0xff
/* B71B18 800FA978 00063400 */ sll $a2, $a2, 0x10
/* B71B1C 800FA97C 10600018 */ beqz $v1, .L800FA9E0
/* B71B20 800FA980 246DFFFF */ addiu $t5, $v1, -1
/* B71B24 800FA984 3C010400 */ lui $at, 0x400
/* B71B28 800FA988 31ACFFFF */ andi $t4, $t5, 0xffff
/* B71B2C 800FA98C A44D006C */ sh $t5, 0x6c($v0)
/* B71B30 800FA990 11800006 */ beqz $t4, .L800FA9AC
/* B71B34 800FA994 00C13025 */ or $a2, $a2, $at
/* B71B38 800FA998 C4480060 */ lwc1 $f8, 0x60($v0)
/* B71B3C 800FA99C C4440068 */ lwc1 $f4, 0x68($v0)
/* B71B40 800FA9A0 46044401 */ sub.s $f16, $f8, $f4
/* B71B44 800FA9A4 10000009 */ b .L800FA9CC
/* B71B48 800FA9A8 E4500060 */ swc1 $f16, 0x60($v0)
.L800FA9AC:
/* B71B4C 800FA9AC 02441821 */ addu $v1, $s2, $a0
/* B71B50 800FA9B0 C4720064 */ lwc1 $f18, 0x64($v1)
/* B71B54 800FA9B4 240F0001 */ li $t7, 1
/* B71B58 800FA9B8 020FC804 */ sllv $t9, $t7, $s0
/* B71B5C 800FA9BC E4720060 */ swc1 $f18, 0x60($v1)
/* B71B60 800FA9C0 964E0250 */ lhu $t6, 0x250($s2)
/* B71B64 800FA9C4 01D95026 */ xor $t2, $t6, $t9
/* B71B68 800FA9C8 A64A0250 */ sh $t2, 0x250($s2)
.L800FA9CC:
/* B71B6C 800FA9CC 321800FF */ andi $t8, $s0, 0xff
/* B71B70 800FA9D0 00185A00 */ sll $t3, $t8, 8
/* B71B74 800FA9D4 00CB2025 */ or $a0, $a2, $t3
/* B71B78 800FA9D8 0C0396B6 */ jal func_800E5AD8
/* B71B7C 800FA9DC 8C450060 */ lw $a1, 0x60($v0)
.L800FA9E0:
/* B71B80 800FA9E0 26100001 */ addiu $s0, $s0, 1
/* B71B84 800FA9E4 321000FF */ andi $s0, $s0, 0xff
/* B71B88 800FA9E8 2A010010 */ slti $at, $s0, 0x10
/* B71B8C 800FA9EC 5420FFDF */ bnezl $at, .L800FA96C
/* B71B90 800FA9F0 00102140 */ sll $a0, $s0, 5
.L800FA9F4:
/* B71B94 800FA9F4 924D004D */ lbu $t5, 0x4d($s2)
/* B71B98 800FA9F8 11A000BC */ beqz $t5, .L800FACEC
/* B71B9C 800FA9FC 3C04F000 */ lui $a0, 0xf000
/* B71BA0 800FAA00 0C03E847 */ jal func_800FA11C
/* B71BA4 800FAA04 00802825 */ move $a1, $a0
/* B71BA8 800FAA08 54400004 */ bnezl $v0, .L800FAA1C
/* B71BAC 800FAA0C 9242004C */ lbu $v0, 0x4c($s2)
/* B71BB0 800FAA10 100000BB */ b .L800FAD00
/* B71BB4 800FAA14 A240004D */ sb $zero, 0x4d($s2)
/* B71BB8 800FAA18 9242004C */ lbu $v0, 0x4c($s2)
.L800FAA1C:
/* B71BBC 800FAA1C 00157880 */ sll $t7, $s5, 2
/* B71BC0 800FAA20 01F57823 */ subu $t7, $t7, $s5
/* B71BC4 800FAA24 10400004 */ beqz $v0, .L800FAA38
/* B71BC8 800FAA28 000F7880 */ sll $t7, $t7, 2
/* B71BCC 800FAA2C 244CFFFF */ addiu $t4, $v0, -1
/* B71BD0 800FAA30 100000AE */ b .L800FACEC
/* B71BD4 800FAA34 A24C004C */ sb $t4, 0x4c($s2)
.L800FAA38:
/* B71BD8 800FAA38 01F57823 */ subu $t7, $t7, $s5
/* B71BDC 800FAA3C 000F7940 */ sll $t7, $t7, 5
/* B71BE0 800FAA40 3C0E8017 */ lui $t6, %hi(D_801726B0)
/* B71BE4 800FAA44 01CF7021 */ addu $t6, $t6, $t7
/* B71BE8 800FAA48 8DCE26B0 */ lw $t6, %lo(D_801726B0)($t6)
/* B71BEC 800FAA4C 000ECFC2 */ srl $t9, $t6, 0x1f
/* B71BF0 800FAA50 572000A7 */ bnezl $t9, .L800FACF0
/* B71BF4 800FAA54 26B50001 */ addiu $s5, $s5, 1
/* B71BF8 800FAA58 9243004D */ lbu $v1, 0x4d($s2)
/* B71BFC 800FAA5C 00155080 */ sll $t2, $s5, 2
/* B71C00 800FAA60 01555021 */ addu $t2, $t2, $s5
/* B71C04 800FAA64 186000A0 */ blez $v1, .L800FACE8
/* B71C08 800FAA68 00009825 */ move $s3, $zero
/* B71C0C 800FAA6C 000A5080 */ sll $t2, $t2, 2
/* B71C10 800FAA70 01555023 */ subu $t2, $t2, $s5
/* B71C14 800FAA74 000A50C0 */ sll $t2, $t2, 3
/* B71C18 800FAA78 01555021 */ addu $t2, $t2, $s5
/* B71C1C 800FAA7C 000A5080 */ sll $t2, $t2, 2
/* B71C20 800FAA80 02EAA021 */ addu $s4, $s7, $t2
/* B71C24 800FAA84 0013C080 */ sll $t8, $s3, 2
.L800FAA88:
/* B71C28 800FAA88 02985821 */ addu $t3, $s4, $t8
/* B71C2C 800FAA8C 8D62002C */ lw $v0, 0x2c($t3)
/* B71C30 800FAA90 3C0100F0 */ lui $at, 0xf0
/* B71C34 800FAA94 00412024 */ and $a0, $v0, $at
/* B71C38 800FAA98 3C01000F */ lui $at, 0xf
/* B71C3C 800FAA9C 00042502 */ srl $a0, $a0, 0x14
/* B71C40 800FAAA0 00418824 */ and $s1, $v0, $at
/* B71C44 800FAAA4 308400FF */ andi $a0, $a0, 0xff
/* B71C48 800FAAA8 3050FF00 */ andi $s0, $v0, 0xff00
/* B71C4C 800FAAAC 00118C02 */ srl $s1, $s1, 0x10
/* B71C50 800FAAB0 00108202 */ srl $s0, $s0, 8
/* B71C54 800FAAB4 2C81000F */ sltiu $at, $a0, 0xf
/* B71C58 800FAAB8 00403825 */ move $a3, $v0
/* B71C5C 800FAABC 323100FF */ andi $s1, $s1, 0xff
/* B71C60 800FAAC0 321000FF */ andi $s0, $s0, 0xff
/* B71C64 800FAAC4 10200083 */ beqz $at, .L800FACD4
/* B71C68 800FAAC8 30E700FF */ andi $a3, $a3, 0xff
/* B71C6C 800FAACC 00046880 */ sll $t5, $a0, 2
/* B71C70 800FAAD0 3C018015 */ lui $at, %hi(jtbl_8014A680)
/* B71C74 800FAAD4 002D0821 */ addu $at, $at, $t5
/* B71C78 800FAAD8 8C2DA680 */ lw $t5, %lo(jtbl_8014A680)($at)
/* B71C7C 800FAADC 01A00008 */ jr $t5
/* B71C80 800FAAE0 00000000 */ nop
glabel L800FAAE4
/* B71C84 800FAAE4 322400FF */ andi $a0, $s1, 0xff
/* B71C88 800FAAE8 24050001 */ li $a1, 1
/* B71C8C 800FAAEC 0C03E890 */ jal func_800FA240
/* B71C90 800FAAF0 2406007F */ li $a2, 127
/* B71C94 800FAAF4 10000077 */ b .L800FACD4
/* B71C98 800FAAF8 9243004D */ lbu $v1, 0x4d($s2)
glabel L800FAAFC
/* B71C9C 800FAAFC 3C0C8017 */ lui $t4, %hi(D_8016E348)
/* B71CA0 800FAB00 01956021 */ addu $t4, $t4, $s5
/* B71CA4 800FAB04 918CE348 */ lbu $t4, %lo(D_8016E348)($t4)
/* B71CA8 800FAB08 322400FF */ andi $a0, $s1, 0xff
/* B71CAC 800FAB0C 24050001 */ li $a1, 1
/* B71CB0 800FAB10 14EC0070 */ bne $a3, $t4, .L800FACD4
/* B71CB4 800FAB14 2406007F */ li $a2, 127
/* B71CB8 800FAB18 0C03E890 */ jal func_800FA240
/* B71CBC 800FAB1C 320700FF */ andi $a3, $s0, 0xff
/* B71CC0 800FAB20 1000006C */ b .L800FACD4
/* B71CC4 800FAB24 9243004D */ lbu $v1, 0x4d($s2)
glabel L800FAB28
/* B71CC8 800FAB28 964F0254 */ lhu $t7, 0x254($s2)
/* B71CCC 800FAB2C 3C013000 */ lui $at, 0x3000
/* B71CD0 800FAB30 0015CE00 */ sll $t9, $s5, 0x18
/* B71CD4 800FAB34 01E17025 */ or $t6, $t7, $at
/* B71CD8 800FAB38 0C03E803 */ jal Audio_SetBGM
/* B71CDC 800FAB3C 01D92025 */ or $a0, $t6, $t9
/* B71CE0 800FAB40 10000064 */ b .L800FACD4
/* B71CE4 800FAB44 9243004D */ lbu $v1, 0x4d($s2)
glabel L800FAB48
/* B71CE8 800FAB48 023E0019 */ multu $s1, $fp
/* B71CEC 800FAB4C 00115E00 */ sll $t3, $s1, 0x18
/* B71CF0 800FAB50 3C010001 */ lui $at, 1
/* B71CF4 800FAB54 00005012 */ mflo $t2
/* B71CF8 800FAB58 02EA8021 */ addu $s0, $s7, $t2
/* B71CFC 800FAB5C 96180254 */ lhu $t8, 0x254($s0)
/* B71D00 800FAB60 030B2025 */ or $a0, $t8, $t3
/* B71D04 800FAB64 0C03E803 */ jal Audio_SetBGM
/* B71D08 800FAB68 00812025 */ or $a0, $a0, $at
/* B71D0C 800FAB6C 240D0001 */ li $t5, 1
/* B71D10 800FAB70 240C007F */ li $t4, 127
/* B71D14 800FAB74 A20D0013 */ sb $t5, 0x13($s0)
/* B71D18 800FAB78 A20C000F */ sb $t4, 0xf($s0)
/* B71D1C 800FAB7C 10000055 */ b .L800FACD4
/* B71D20 800FAB80 9243004D */ lbu $v1, 0x4d($s2)
glabel L800FAB84
/* B71D24 800FAB84 3C01B000 */ lui $at, (0xB0003000 >> 16) # lui $at, 0xb000
/* B71D28 800FAB88 34213000 */ ori $at, (0xB0003000 & 0xFFFF) # ori $at, $at, 0x3000
/* B71D2C 800FAB8C 00117E00 */ sll $t7, $s1, 0x18
/* B71D30 800FAB90 01E17025 */ or $t6, $t7, $at
/* B71D34 800FAB94 0010CC00 */ sll $t9, $s0, 0x10
/* B71D38 800FAB98 01D95025 */ or $t2, $t6, $t9
/* B71D3C 800FAB9C 0C03E803 */ jal Audio_SetBGM
/* B71D40 800FABA0 01472025 */ or $a0, $t2, $a3
/* B71D44 800FABA4 1000004B */ b .L800FACD4
/* B71D48 800FABA8 9243004D */ lbu $v1, 0x4d($s2)
glabel L800FABAC
/* B71D4C 800FABAC 3C01B000 */ lui $at, (0xB0004000 >> 16) # lui $at, 0xb000
/* B71D50 800FABB0 34214000 */ ori $at, (0xB0004000 & 0xFFFF) # ori $at, $at, 0x4000
/* B71D54 800FABB4 0011C600 */ sll $t8, $s1, 0x18
/* B71D58 800FABB8 03015825 */ or $t3, $t8, $at
/* B71D5C 800FABBC 00076C00 */ sll $t5, $a3, 0x10
/* B71D60 800FABC0 0C03E803 */ jal Audio_SetBGM
/* B71D64 800FABC4 016D2025 */ or $a0, $t3, $t5
/* B71D68 800FABC8 10000042 */ b .L800FACD4
/* B71D6C 800FABCC 9243004D */ lbu $v1, 0x4d($s2)
glabel L800FABD0
/* B71D70 800FABD0 023E0019 */ multu $s1, $fp
/* B71D74 800FABD4 0011CE00 */ sll $t9, $s1, 0x18
/* B71D78 800FABD8 3043FFFF */ andi $v1, $v0, 0xffff
/* B71D7C 800FABDC 00006012 */ mflo $t4
/* B71D80 800FABE0 02EC8021 */ addu $s0, $s7, $t4
/* B71D84 800FABE4 920F004E */ lbu $t7, 0x4e($s0)
/* B71D88 800FABE8 000F7400 */ sll $t6, $t7, 0x10
/* B71D8C 800FABEC 01D95025 */ or $t2, $t6, $t9
/* B71D90 800FABF0 0C03E803 */ jal Audio_SetBGM
/* B71D94 800FABF4 01432025 */ or $a0, $t2, $v1
/* B71D98 800FABF8 322400FF */ andi $a0, $s1, 0xff
/* B71D9C 800FABFC 24050001 */ li $a1, 1
/* B71DA0 800FAC00 2406007F */ li $a2, 127
/* B71DA4 800FAC04 0C03E890 */ jal func_800FA240
/* B71DA8 800FAC08 00003825 */ move $a3, $zero
/* B71DAC 800FAC0C A200004E */ sb $zero, 0x4e($s0)
/* B71DB0 800FAC10 10000030 */ b .L800FACD4
/* B71DB4 800FAC14 9243004D */ lbu $v1, 0x4d($s2)
glabel L800FAC18
/* B71DB8 800FAC18 A250004E */ sb $s0, 0x4e($s2)
/* B71DBC 800FAC1C 1000002D */ b .L800FACD4
/* B71DC0 800FAC20 9243004D */ lbu $v1, 0x4d($s2)
glabel L800FAC24
/* B71DC4 800FAC24 322400FF */ andi $a0, $s1, 0xff
/* B71DC8 800FAC28 320500FF */ andi $a1, $s0, 0xff
/* B71DCC 800FAC2C 0C03E890 */ jal func_800FA240
/* B71DD0 800FAC30 2406007F */ li $a2, 127
/* B71DD4 800FAC34 10000027 */ b .L800FACD4
/* B71DD8 800FAC38 9243004D */ lbu $v1, 0x4d($s2)
glabel L800FAC3C
/* B71DDC 800FAC3C 30F80001 */ andi $t8, $a3, 1
/* B71DE0 800FAC40 13000004 */ beqz $t8, .L800FAC54
/* B71DE4 800FAC44 00E08025 */ move $s0, $a3
/* B71DE8 800FAC48 02C02025 */ move $a0, $s6
/* B71DEC 800FAC4C 0C0396BF */ jal func_800E5AFC
/* B71DF0 800FAC50 00002825 */ move $a1, $zero
.L800FAC54:
/* B71DF4 800FAC54 320B0002 */ andi $t3, $s0, 2
/* B71DF8 800FAC58 11600003 */ beqz $t3, .L800FAC68
/* B71DFC 800FAC5C 02C02025 */ move $a0, $s6
/* B71E00 800FAC60 0C0396BF */ jal func_800E5AFC
/* B71E04 800FAC64 24050001 */ li $a1, 1
.L800FAC68:
/* B71E08 800FAC68 320D0004 */ andi $t5, $s0, 4
/* B71E0C 800FAC6C 11A00003 */ beqz $t5, .L800FAC7C
/* B71E10 800FAC70 02C02025 */ move $a0, $s6
/* B71E14 800FAC74 0C0396BF */ jal func_800E5AFC
/* B71E18 800FAC78 24050002 */ li $a1, 2
.L800FAC7C:
/* B71E1C 800FAC7C 10000015 */ b .L800FACD4
/* B71E20 800FAC80 9243004D */ lbu $v1, 0x4d($s2)
glabel L800FAC84
/* B71E24 800FAC84 00116600 */ sll $t4, $s1, 0x18
/* B71E28 800FAC88 3C01A000 */ lui $at, 0xa000
/* B71E2C 800FAC8C 3043FFFF */ andi $v1, $v0, 0xffff
/* B71E30 800FAC90 01817825 */ or $t7, $t4, $at
/* B71E34 800FAC94 0C03E803 */ jal Audio_SetBGM
/* B71E38 800FAC98 01E32025 */ or $a0, $t7, $v1
/* B71E3C 800FAC9C 1000000D */ b .L800FACD4
/* B71E40 800FACA0 9243004D */ lbu $v1, 0x4d($s2)
glabel L800FACA4
/* B71E44 800FACA4 00075880 */ sll $t3, $a3, 2
/* B71E48 800FACA8 01675821 */ addu $t3, $t3, $a3
/* B71E4C 800FACAC 00117600 */ sll $t6, $s1, 0x18
/* B71E50 800FACB0 3C015000 */ lui $at, 0x5000
/* B71E54 800FACB4 01C1C825 */ or $t9, $t6, $at
/* B71E58 800FACB8 000B5840 */ sll $t3, $t3, 1
/* B71E5C 800FACBC 00105400 */ sll $t2, $s0, 0x10
/* B71E60 800FACC0 032AC025 */ or $t8, $t9, $t2
/* B71E64 800FACC4 316DFFFF */ andi $t5, $t3, 0xffff
/* B71E68 800FACC8 0C03E803 */ jal Audio_SetBGM
/* B71E6C 800FACCC 030D2025 */ or $a0, $t8, $t5
/* B71E70 800FACD0 9243004D */ lbu $v1, 0x4d($s2)
.L800FACD4:
glabel L800FACD4
/* B71E74 800FACD4 26730001 */ addiu $s3, $s3, 1
/* B71E78 800FACD8 327300FF */ andi $s3, $s3, 0xff
/* B71E7C 800FACDC 0263082A */ slt $at, $s3, $v1
/* B71E80 800FACE0 5420FF69 */ bnezl $at, .L800FAA88
/* B71E84 800FACE4 0013C080 */ sll $t8, $s3, 2
.L800FACE8:
/* B71E88 800FACE8 A240004D */ sb $zero, 0x4d($s2)
.L800FACEC:
/* B71E8C 800FACEC 26B50001 */ addiu $s5, $s5, 1
.L800FACF0:
/* B71E90 800FACF0 32B500FF */ andi $s5, $s5, 0xff
/* B71E94 800FACF4 2AA10004 */ slti $at, $s5, 4
/* B71E98 800FACF8 1420FDCB */ bnez $at, .L800FA428
/* B71E9C 800FACFC 00000000 */ nop
.L800FAD00:
/* B71EA0 800FAD00 8FBF0044 */ lw $ra, 0x44($sp)
/* B71EA4 800FAD04 D7B40018 */ ldc1 $f20, 0x18($sp)
/* B71EA8 800FAD08 8FB00020 */ lw $s0, 0x20($sp)
/* B71EAC 800FAD0C 8FB10024 */ lw $s1, 0x24($sp)
/* B71EB0 800FAD10 8FB20028 */ lw $s2, 0x28($sp)
/* B71EB4 800FAD14 8FB3002C */ lw $s3, 0x2c($sp)
/* B71EB8 800FAD18 8FB40030 */ lw $s4, 0x30($sp)
/* B71EBC 800FAD1C 8FB50034 */ lw $s5, 0x34($sp)
/* B71EC0 800FAD20 8FB60038 */ lw $s6, 0x38($sp)
/* B71EC4 800FAD24 8FB7003C */ lw $s7, 0x3c($sp)
/* B71EC8 800FAD28 8FBE0040 */ lw $fp, 0x40($sp)
/* B71ECC 800FAD2C 03E00008 */ jr $ra
/* B71ED0 800FAD30 27BD0090 */ addiu $sp, $sp, 0x90
glabel func_800FAD34
/* B71ED4 800FAD34 3C038013 */ lui $v1, %hi(D_80133418) # $v1, 0x8013
/* B71ED8 800FAD38 90633418 */ lbu $v1, %lo(D_80133418)($v1)
/* B71EDC 800FAD3C 27BDFFE0 */ addiu $sp, $sp, -0x20
/* B71EE0 800FAD40 AFBF001C */ sw $ra, 0x1c($sp)
/* B71EE4 800FAD44 AFB00018 */ sw $s0, 0x18($sp)
/* B71EE8 800FAD48 10600026 */ beqz $v1, .L800FADE4
/* B71EEC 800FAD4C 00601025 */ move $v0, $v1
/* B71EF0 800FAD50 24100001 */ li $s0, 1
/* B71EF4 800FAD54 1602000F */ bne $s0, $v0, .L800FAD94
/* B71EF8 800FAD58 24010002 */ li $at, 2
/* B71EFC 800FAD5C 0C0397B7 */ jal func_800E5EDC
/* B71F00 800FAD60 00000000 */ nop
/* B71F04 800FAD64 14500008 */ bne $v0, $s0, .L800FAD88
/* B71F08 800FAD68 3C018013 */ lui $at, %hi(D_80133418) # $at, 0x8013
/* B71F0C 800FAD6C 3C058013 */ lui $a1, %hi(D_801333CC) # $a1, 0x8013
/* B71F10 800FAD70 A0203418 */ sb $zero, %lo(D_80133418)($at)
/* B71F14 800FAD74 80A533CC */ lb $a1, %lo(D_801333CC)($a1)
/* B71F18 800FAD78 0C0396C8 */ jal func_800E5B20
/* B71F1C 800FAD7C 3C044602 */ lui $a0, 0x4602
/* B71F20 800FAD80 0C03DC5C */ jal func_800F7170
/* B71F24 800FAD84 00000000 */ nop
.L800FAD88:
/* B71F28 800FAD88 3C038013 */ lui $v1, %hi(D_80133418) # $v1, 0x8013
/* B71F2C 800FAD8C 10000015 */ b .L800FADE4
/* B71F30 800FAD90 90633418 */ lbu $v1, %lo(D_80133418)($v1)
.L800FAD94:
/* B71F34 800FAD94 54410014 */ bnel $v0, $at, .L800FADE8
/* B71F38 800FAD98 8FBF001C */ lw $ra, 0x1c($sp)
/* B71F3C 800FAD9C 0C0397B7 */ jal func_800E5EDC
/* B71F40 800FADA0 00000000 */ nop
/* B71F44 800FADA4 10500005 */ beq $v0, $s0, .L800FADBC
/* B71F48 800FADA8 00000000 */ nop
.L800FADAC:
/* B71F4C 800FADAC 0C0397B7 */ jal func_800E5EDC
/* B71F50 800FADB0 00000000 */ nop
/* B71F54 800FADB4 1450FFFD */ bne $v0, $s0, .L800FADAC
/* B71F58 800FADB8 00000000 */ nop
.L800FADBC:
/* B71F5C 800FADBC 3C018013 */ lui $at, %hi(D_80133418) # $at, 0x8013
/* B71F60 800FADC0 3C058013 */ lui $a1, %hi(D_801333CC) # $a1, 0x8013
/* B71F64 800FADC4 A0203418 */ sb $zero, %lo(D_80133418)($at)
/* B71F68 800FADC8 80A533CC */ lb $a1, %lo(D_801333CC)($a1)
/* B71F6C 800FADCC 0C0396C8 */ jal func_800E5B20
/* B71F70 800FADD0 3C044602 */ lui $a0, 0x4602
/* B71F74 800FADD4 0C03DC5C */ jal func_800F7170
/* B71F78 800FADD8 00000000 */ nop
/* B71F7C 800FADDC 3C038013 */ lui $v1, %hi(D_80133418) # $v1, 0x8013
/* B71F80 800FADE0 90633418 */ lbu $v1, %lo(D_80133418)($v1)
.L800FADE4:
/* B71F84 800FADE4 8FBF001C */ lw $ra, 0x1c($sp)
.L800FADE8:
/* B71F88 800FADE8 8FB00018 */ lw $s0, 0x18($sp)
/* B71F8C 800FADEC 27BD0020 */ addiu $sp, $sp, 0x20
/* B71F90 800FADF0 03E00008 */ jr $ra
/* B71F94 800FADF4 00601025 */ move $v0, $v1
glabel func_800FADF8
/* B71F98 800FADF8 3C078017 */ lui $a3, %hi(D_8016E750) # $a3, 0x8017
/* B71F9C 800FADFC 3C068017 */ lui $a2, %hi(D_8016E348) # $a2, 0x8017
/* B71FA0 800FAE00 24C6E348 */ addiu $a2, %lo(D_8016E348) # addiu $a2, $a2, -0x1cb8
/* B71FA4 800FAE04 24E7E750 */ addiu $a3, %lo(D_8016E750) # addiu $a3, $a3, -0x18b0
/* B71FA8 800FAE08 00001025 */ move $v0, $zero
/* B71FAC 800FAE0C 240B0001 */ li $t3, 1
/* B71FB0 800FAE10 240A007F */ li $t2, 127
/* B71FB4 800FAE14 3409FFFF */ li $t1, 65535
/* B71FB8 800FAE18 24080264 */ li $t0, 612
.L800FAE1C:
/* B71FBC 800FAE1C 00480019 */ multu $v0, $t0
/* B71FC0 800FAE20 00C27021 */ addu $t6, $a2, $v0
/* B71FC4 800FAE24 A1C00000 */ sb $zero, ($t6)
/* B71FC8 800FAE28 0002C080 */ sll $t8, $v0, 2
/* B71FCC 800FAE2C 0302C021 */ addu $t8, $t8, $v0
/* B71FD0 800FAE30 0018C080 */ sll $t8, $t8, 2
/* B71FD4 800FAE34 0302C023 */ subu $t8, $t8, $v0
/* B71FD8 800FAE38 0018C0C0 */ sll $t8, $t8, 3
/* B71FDC 800FAE3C 0302C021 */ addu $t8, $t8, $v0
/* B71FE0 800FAE40 0018C080 */ sll $t8, $t8, 2
/* B71FE4 800FAE44 00007812 */ mflo $t7
/* B71FE8 800FAE48 00EF1821 */ addu $v1, $a3, $t7
/* B71FEC 800FAE4C A4690254 */ sh $t1, 0x254($v1)
/* B71FF0 800FAE50 A4690256 */ sh $t1, 0x256($v1)
/* B71FF4 800FAE54 A4600028 */ sh $zero, 0x28($v1)
/* B71FF8 800FAE58 A4600018 */ sh $zero, 0x18($v1)
/* B71FFC 800FAE5C AC600014 */ sw $zero, 0x14($v1)
/* B72000 800FAE60 A4600258 */ sh $zero, 0x258($v1)
/* B72004 800FAE64 A060004D */ sb $zero, 0x4d($v1)
/* B72008 800FAE68 A060004E */ sb $zero, 0x4e($v1)
/* B7200C 800FAE6C A4600250 */ sh $zero, 0x250($v1)
/* B72010 800FAE70 A4600252 */ sh $zero, 0x252($v1)
/* B72014 800FAE74 00F82821 */ addu $a1, $a3, $t8
/* B72018 800FAE78 00002025 */ move $a0, $zero
.L800FAE7C:
/* B7201C 800FAE7C 00A4C821 */ addu $t9, $a1, $a0
/* B72020 800FAE80 24840001 */ addiu $a0, $a0, 1
/* B72024 800FAE84 308400FF */ andi $a0, $a0, 0xff
/* B72028 800FAE88 28810004 */ slti $at, $a0, 4
/* B7202C 800FAE8C 1420FFFB */ bnez $at, .L800FAE7C
/* B72030 800FAE90 A32A000E */ sb $t2, 0xe($t9)
/* B72034 800FAE94 24420001 */ addiu $v0, $v0, 1
/* B72038 800FAE98 304200FF */ andi $v0, $v0, 0xff
/* B7203C 800FAE9C 28410004 */ slti $at, $v0, 4
/* B72040 800FAEA0 A06B0012 */ sb $t3, 0x12($v1)
/* B72044 800FAEA4 1420FFDD */ bnez $at, .L800FAE1C
/* B72048 800FAEA8 A06B0013 */ sb $t3, 0x13($v1)
/* B7204C 800FAEAC 03E00008 */ jr $ra
/* B72050 800FAEB0 00000000 */ nop
glabel func_800FAEB4
/* B72054 800FAEB4 3C013F80 */ lui $at, 0x3f80
/* B72058 800FAEB8 27BDFFE8 */ addiu $sp, $sp, -0x18
/* B7205C 800FAEBC 3C078017 */ lui $a3, %hi(D_8016E750)
/* B72060 800FAEC0 44810000 */ mtc1 $at, $f0
/* B72064 800FAEC4 AFBF0014 */ sw $ra, 0x14($sp)
/* B72068 800FAEC8 24E7E750 */ addiu $a3, %lo(D_8016E750)
/* B7206C 800FAECC 00003025 */ move $a2, $zero
/* B72070 800FAED0 24080264 */ li $t0, 612
/* B72074 800FAED4 2404007F */ li $a0, 127
.L800FAED8:
/* B72078 800FAED8 00C80019 */ multu $a2, $t0
/* B7207C 800FAEDC 00067880 */ sll $t7, $a2, 2
/* B72080 800FAEE0 01E67821 */ addu $t7, $t7, $a2
/* B72084 800FAEE4 000F7880 */ sll $t7, $t7, 2
/* B72088 800FAEE8 01E67823 */ subu $t7, $t7, $a2
/* B7208C 800FAEEC 000F78C0 */ sll $t7, $t7, 3
/* B72090 800FAEF0 01E67821 */ addu $t7, $t7, $a2
/* B72094 800FAEF4 000F7880 */ sll $t7, $t7, 2
/* B72098 800FAEF8 00EF1821 */ addu $v1, $a3, $t7
/* B7209C 800FAEFC 00001025 */ move $v0, $zero
/* B720A0 800FAF00 00007012 */ mflo $t6
/* B720A4 800FAF04 00EE2821 */ addu $a1, $a3, $t6
/* B720A8 800FAF08 E4A00000 */ swc1 $f0, ($a1)
/* B720AC 800FAF0C A4A0000C */ sh $zero, 0xc($a1)
/* B720B0 800FAF10 A0A00013 */ sb $zero, 0x13($a1)
.L800FAF14:
/* B720B4 800FAF14 0062C021 */ addu $t8, $v1, $v0
/* B720B8 800FAF18 24420001 */ addiu $v0, $v0, 1
/* B720BC 800FAF1C 304200FF */ andi $v0, $v0, 0xff
/* B720C0 800FAF20 28410004 */ slti $at, $v0, 4
/* B720C4 800FAF24 1420FFFB */ bnez $at, .L800FAF14
/* B720C8 800FAF28 A304000E */ sb $a0, 0xe($t8)
/* B720CC 800FAF2C 24C60001 */ addiu $a2, $a2, 1
/* B720D0 800FAF30 30C600FF */ andi $a2, $a2, 0xff
/* B720D4 800FAF34 28C10004 */ slti $at, $a2, 4
/* B720D8 800FAF38 1420FFE7 */ bnez $at, .L800FAED8
/* B720DC 800FAF3C 00000000 */ nop
/* B720E0 800FAF40 0C03EB7E */ jal func_800FADF8
/* B720E4 800FAF44 00000000 */ nop
/* B720E8 800FAF48 8FBF0014 */ lw $ra, 0x14($sp)
/* B720EC 800FAF4C 27BD0018 */ addiu $sp, $sp, 0x18
/* B720F0 800FAF50 03E00008 */ jr $ra
/* B720F4 800FAF54 00000000 */ nop