# Mario Kart 64 (U) disassembly and split file # generated by n64split v0.4a - N64 ROM splitter # assembler directives .set noat # allow manual use of $at .set noreorder # don't insert nops after branches .set gp=64 .include "macros.inc" .section .text, "ax" glabel find_unused_obj_index /* 072B00 80071F00 3C068018 */ lui $a2, %hi(D_80183D5C) # $a2, 0x8018 /* 072B04 80071F04 24C63D5C */ addiu $a2, %lo(D_80183D5C) # addiu $a2, $a2, 0x3d5c /* 072B08 80071F08 3C088016 */ lui $t0, %hi(D_80165C18) # $t0, 0x8016 /* 072B0C 80071F0C 00802825 */ move $a1, $a0 /* 072B10 80071F10 8CC30000 */ lw $v1, ($a2) /* 072B14 80071F14 25085C18 */ addiu $t0, %lo(D_80165C18) # addiu $t0, $t0, 0x5c18 /* 072B18 80071F18 00001025 */ move $v0, $zero /* 072B1C 80071F1C 240900E0 */ li $t1, 224 /* 072B20 80071F20 24070226 */ li $a3, 550 /* 072B24 80071F24 24630001 */ addiu $v1, $v1, 1 .L80071F28: /* 072B28 80071F28 14670002 */ bne $v1, $a3, .L80071F34 /* 072B2C 80071F2C 24420001 */ addiu $v0, $v0, 1 /* 072B30 80071F30 00001825 */ move $v1, $zero .L80071F34: /* 072B34 80071F34 00690019 */ multu $v1, $t1 /* 072B38 80071F38 00007012 */ mflo $t6 /* 072B3C 80071F3C 010E2021 */ addu $a0, $t0, $t6 /* 072B40 80071F40 808F00CA */ lb $t7, 0xca($a0) /* 072B44 80071F44 51E00004 */ beql $t7, $zero, .L80071F58 /* 072B48 80071F48 24180001 */ li $t8, 1 /* 072B4C 80071F4C 5447FFF6 */ bnel $v0, $a3, .L80071F28 /* 072B50 80071F50 24630001 */ addiu $v1, $v1, 1 /* 072B54 80071F54 24180001 */ li $t8, 1 .L80071F58: /* 072B58 80071F58 A09800CA */ sb $t8, 0xca($a0) /* 072B5C 80071F5C ACA30000 */ sw $v1, ($a1) /* 072B60 80071F60 ACC30000 */ sw $v1, ($a2) /* 072B64 80071F64 03E00008 */ jr $ra /* 072B68 80071F68 00601025 */ move $v0, $v1 glabel func_80071F6C /* 072B6C 80071F6C 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 072B70 80071F70 AFBF0014 */ sw $ra, 0x14($sp) /* 072B74 80071F74 00802825 */ move $a1, $a0 /* 072B78 80071F78 8C840000 */ lw $a0, ($a0) /* 072B7C 80071F7C 0C01C90A */ jal func_80072428 /* 072B80 80071F80 AFA50018 */ sw $a1, 0x18($sp) /* 072B84 80071F84 8FA50018 */ lw $a1, 0x18($sp) /* 072B88 80071F88 3C018016 */ lui $at, %hi(D_80165CE2) # 0x8016 /* 072B8C 80071F8C 2418FFFF */ li $t8, -1 /* 072B90 80071F90 8CAE0000 */ lw $t6, ($a1) /* 072B94 80071F94 000E78C0 */ sll $t7, $t6, 3 /* 072B98 80071F98 01EE7823 */ subu $t7, $t7, $t6 /* 072B9C 80071F9C 000F7940 */ sll $t7, $t7, 5 /* 072BA0 80071FA0 002F0821 */ addu $at, $at, $t7 /* 072BA4 80071FA4 A0205CE2 */ sb $zero, %lo(D_80165CE2)($at) # 0x5ce2($at) /* 072BA8 80071FA8 ACB80000 */ sw $t8, ($a1) /* 072BAC 80071FAC 8FBF0014 */ lw $ra, 0x14($sp) /* 072BB0 80071FB0 27BD0018 */ addiu $sp, $sp, 0x18 /* 072BB4 80071FB4 03E00008 */ jr $ra /* 072BB8 80071FB8 00000000 */ nop /* 072BBC 80071FBC 3C0E8016 */ lui $t6, %hi(D_80165CE2) # $t6, 0x8016 /* 072BC0 80071FC0 81CE5CE2 */ lb $t6, %lo(D_80165CE2)($t6) /* 072BC4 80071FC4 00001825 */ move $v1, $zero /* 072BC8 80071FC8 3C0F8016 */ lui $t7, %hi(D_80165DC2) # $t7, 0x8016 /* 072BCC 80071FCC 11C00002 */ beqz $t6, .L80071FD8 /* 072BD0 80071FD0 3C048016 */ lui $a0, %hi(D_80165DD8) # $a0, 0x8016 /* 072BD4 80071FD4 24030001 */ li $v1, 1 .L80071FD8: /* 072BD8 80071FD8 81EF5DC2 */ lb $t7, %lo(D_80165DC2)($t7) /* 072BDC 80071FDC 3C028018 */ lui $v0, %hi(D_80183D58) # $v0, 0x8018 /* 072BE0 80071FE0 24423D58 */ addiu $v0, %lo(D_80183D58) # addiu $v0, $v0, 0x3d58 /* 072BE4 80071FE4 11E00002 */ beqz $t7, .L80071FF0 /* 072BE8 80071FE8 24845DD8 */ addiu $a0, %lo(D_80165DD8) # addiu $a0, $a0, 0x5dd8 /* 072BEC 80071FEC 24630001 */ addiu $v1, $v1, 1 .L80071FF0: /* 072BF0 80071FF0 809800CA */ lb $t8, 0xca($a0) .L80071FF4: /* 072BF4 80071FF4 53000003 */ beql $t8, $zero, .L80072004 /* 072BF8 80071FF8 809901AA */ lb $t9, 0x1aa($a0) /* 072BFC 80071FFC 24630001 */ addiu $v1, $v1, 1 /* 072C00 80072000 809901AA */ lb $t9, 0x1aa($a0) .L80072004: /* 072C04 80072004 53200003 */ beql $t9, $zero, .L80072014 /* 072C08 80072008 8088028A */ lb $t0, 0x28a($a0) /* 072C0C 8007200C 24630001 */ addiu $v1, $v1, 1 /* 072C10 80072010 8088028A */ lb $t0, 0x28a($a0) .L80072014: /* 072C14 80072014 51000003 */ beql $t0, $zero, .L80072024 /* 072C18 80072018 8089036A */ lb $t1, 0x36a($a0) /* 072C1C 8007201C 24630001 */ addiu $v1, $v1, 1 /* 072C20 80072020 8089036A */ lb $t1, 0x36a($a0) .L80072024: /* 072C24 80072024 24840380 */ addiu $a0, $a0, 0x380 /* 072C28 80072028 11200002 */ beqz $t1, .L80072034 /* 072C2C 8007202C 00000000 */ nop /* 072C30 80072030 24630001 */ addiu $v1, $v1, 1 .L80072034: /* 072C34 80072034 5482FFEF */ bnel $a0, $v0, .L80071FF4 /* 072C38 80072038 809800CA */ lb $t8, 0xca($a0) /* 072C3C 8007203C 03E00008 */ jr $ra /* 072C40 80072040 00601025 */ move $v0, $v1 glabel func_80072044 /* 072C44 80072044 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 072C48 80072048 AFBF001C */ sw $ra, 0x1c($sp) /* 072C4C 8007204C AFB00018 */ sw $s0, 0x18($sp) /* 072C50 80072050 8CA20000 */ lw $v0, ($a1) /* 072C54 80072054 00808025 */ move $s0, $a0 /* 072C58 80072058 00001825 */ move $v1, $zero /* 072C5C 8007205C 0046082A */ slt $at, $v0, $a2 /* 072C60 80072060 14200003 */ bnez $at, .L80072070 /* 072C64 80072064 2407FFFF */ li $a3, -1 /* 072C68 80072068 ACA00000 */ sw $zero, ($a1) /* 072C6C 8007206C 00001025 */ move $v0, $zero .L80072070: /* 072C70 80072070 00027080 */ sll $t6, $v0, 2 /* 072C74 80072074 18C0001A */ blez $a2, .L800720E0 /* 072C78 80072078 01D02021 */ addu $a0, $t6, $s0 .L8007207C: /* 072C7C 8007207C 8C8F0000 */ lw $t7, ($a0) /* 072C80 80072080 24480001 */ addiu $t0, $v0, 1 /* 072C84 80072084 01001025 */ move $v0, $t0 /* 072C88 80072088 14EF000D */ bne $a3, $t7, .L800720C0 /* 072C8C 8007208C 0106082A */ slt $at, $t0, $a2 /* 072C90 80072090 AFA30024 */ sw $v1, 0x24($sp) /* 072C94 80072094 AFA5002C */ sw $a1, 0x2c($sp) /* 072C98 80072098 0C01C7C0 */ jal find_unused_obj_index /* 072C9C 8007209C AFA60030 */ sw $a2, 0x30($sp) /* 072CA0 800720A0 8FA5002C */ lw $a1, 0x2c($sp) /* 072CA4 800720A4 8FA30024 */ lw $v1, 0x24($sp) /* 072CA8 800720A8 8FA60030 */ lw $a2, 0x30($sp) /* 072CAC 800720AC 8CB80000 */ lw $t8, ($a1) /* 072CB0 800720B0 27190001 */ addiu $t9, $t8, 1 /* 072CB4 800720B4 ACB90000 */ sw $t9, ($a1) /* 072CB8 800720B8 10000009 */ b .L800720E0 /* 072CBC 800720BC AFA20020 */ sw $v0, 0x20($sp) .L800720C0: /* 072CC0 800720C0 14200003 */ bnez $at, .L800720D0 /* 072CC4 800720C4 ACA80000 */ sw $t0, ($a1) /* 072CC8 800720C8 ACA00000 */ sw $zero, ($a1) /* 072CCC 800720CC 00001025 */ move $v0, $zero .L800720D0: /* 072CD0 800720D0 24630001 */ addiu $v1, $v1, 1 /* 072CD4 800720D4 00024880 */ sll $t1, $v0, 2 /* 072CD8 800720D8 1466FFE8 */ bne $v1, $a2, .L8007207C /* 072CDC 800720DC 01302021 */ addu $a0, $t1, $s0 .L800720E0: /* 072CE0 800720E0 14660002 */ bne $v1, $a2, .L800720EC /* 072CE4 800720E4 8FA40020 */ lw $a0, 0x20($sp) /* 072CE8 800720E8 2404FFFF */ li $a0, -1 .L800720EC: /* 072CEC 800720EC 8FBF001C */ lw $ra, 0x1c($sp) /* 072CF0 800720F0 8FB00018 */ lw $s0, 0x18($sp) /* 072CF4 800720F4 27BD0028 */ addiu $sp, $sp, 0x28 /* 072CF8 800720F8 03E00008 */ jr $ra /* 072CFC 800720FC 00801025 */ move $v0, $a0 glabel func_80072100 /* 072D00 80072100 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 072D04 80072104 AFBF0014 */ sw $ra, 0x14($sp) /* 072D08 80072108 0C01C7DB */ jal func_80071F6C /* 072D0C 8007210C 00000000 */ nop /* 072D10 80072110 8FBF0014 */ lw $ra, 0x14($sp) /* 072D14 80072114 27BD0018 */ addiu $sp, $sp, 0x18 /* 072D18 80072118 03E00008 */ jr $ra /* 072D1C 8007211C 00000000 */ nop glabel func_80072120 /* 072D20 80072120 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 072D24 80072124 AFB2001C */ sw $s2, 0x1c($sp) /* 072D28 80072128 AFB10018 */ sw $s1, 0x18($sp) /* 072D2C 8007212C AFB00014 */ sw $s0, 0x14($sp) /* 072D30 80072130 00808825 */ move $s1, $a0 /* 072D34 80072134 00A09025 */ move $s2, $a1 /* 072D38 80072138 AFBF0024 */ sw $ra, 0x24($sp) /* 072D3C 8007213C AFB30020 */ sw $s3, 0x20($sp) /* 072D40 80072140 18A00008 */ blez $a1, .L80072164 /* 072D44 80072144 00008025 */ move $s0, $zero /* 072D48 80072148 3C130060 */ lui $s3, 0x60 .L8007214C: /* 072D4C 8007214C 8E240000 */ lw $a0, ($s1) /* 072D50 80072150 0C01C87A */ jal func_800721E8 /* 072D54 80072154 02602825 */ move $a1, $s3 /* 072D58 80072158 26100001 */ addiu $s0, $s0, 1 /* 072D5C 8007215C 1612FFFB */ bne $s0, $s2, .L8007214C /* 072D60 80072160 26310004 */ addiu $s1, $s1, 4 .L80072164: /* 072D64 80072164 8FBF0024 */ lw $ra, 0x24($sp) /* 072D68 80072168 8FB00014 */ lw $s0, 0x14($sp) /* 072D6C 8007216C 8FB10018 */ lw $s1, 0x18($sp) /* 072D70 80072170 8FB2001C */ lw $s2, 0x1c($sp) /* 072D74 80072174 8FB30020 */ lw $s3, 0x20($sp) /* 072D78 80072178 03E00008 */ jr $ra /* 072D7C 8007217C 27BD0028 */ addiu $sp, $sp, 0x28 glabel func_80072180 /* 072D80 80072180 3C0E800E */ lui $t6, %hi(gModeSelection) # $t6, 0x800e /* 072D84 80072184 8DCEC53C */ lw $t6, %lo(gModeSelection)($t6) /* 072D88 80072188 24030001 */ li $v1, 1 /* 072D8C 8007218C 3C0F800E */ lui $t7, %hi(D_800DC4DC) # $t7, 0x800e /* 072D90 80072190 146E0009 */ bne $v1, $t6, .L800721B8 /* 072D94 80072194 00000000 */ nop /* 072D98 80072198 8DEFC4DC */ lw $t7, %lo(D_800DC4DC)($t7) /* 072D9C 8007219C 95E20000 */ lhu $v0, ($t7) /* 072DA0 800721A0 30588000 */ andi $t8, $v0, 0x8000 /* 072DA4 800721A4 13000004 */ beqz $t8, .L800721B8 /* 072DA8 800721A8 30591100 */ andi $t9, $v0, 0x1100 /* 072DAC 800721AC 17200002 */ bnez $t9, .L800721B8 /* 072DB0 800721B0 3C018016 */ lui $at, %hi(D_80162DF8) # $at, 0x8016 /* 072DB4 800721B4 AC232DF8 */ sw $v1, %lo(D_80162DF8)($at) .L800721B8: /* 072DB8 800721B8 03E00008 */ jr $ra /* 072DBC 800721BC 00000000 */ nop glabel func_800721C0 /* 072DC0 800721C0 000470C0 */ sll $t6, $a0, 3 /* 072DC4 800721C4 01C47023 */ subu $t6, $t6, $a0 /* 072DC8 800721C8 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 072DCC 800721CC 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 072DD0 800721D0 000E7140 */ sll $t6, $t6, 5 /* 072DD4 800721D4 01CF1021 */ addu $v0, $t6, $t7 /* 072DD8 800721D8 8C580054 */ lw $t8, 0x54($v0) /* 072DDC 800721DC 0305C825 */ or $t9, $t8, $a1 /* 072DE0 800721E0 03E00008 */ jr $ra /* 072DE4 800721E4 AC590054 */ sw $t9, 0x54($v0) glabel func_800721E8 /* 072DE8 800721E8 000470C0 */ sll $t6, $a0, 3 /* 072DEC 800721EC 01C47023 */ subu $t6, $t6, $a0 /* 072DF0 800721F0 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 072DF4 800721F4 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 072DF8 800721F8 000E7140 */ sll $t6, $t6, 5 /* 072DFC 800721FC 01CF1021 */ addu $v0, $t6, $t7 /* 072E00 80072200 8C580054 */ lw $t8, 0x54($v0) /* 072E04 80072204 00A0C827 */ not $t9, $a1 /* 072E08 80072208 03194024 */ and $t0, $t8, $t9 /* 072E0C 8007220C 03E00008 */ jr $ra /* 072E10 80072210 AC480054 */ sw $t0, 0x54($v0) /* 072E14 80072214 000470C0 */ sll $t6, $a0, 3 /* 072E18 80072218 01C47023 */ subu $t6, $t6, $a0 /* 072E1C 8007221C 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 072E20 80072220 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 072E24 80072224 000E7140 */ sll $t6, $t6, 5 /* 072E28 80072228 01CF1021 */ addu $v0, $t6, $t7 /* 072E2C 8007222C 8C580054 */ lw $t8, 0x54($v0) /* 072E30 80072230 0305C826 */ xor $t9, $t8, $a1 /* 072E34 80072234 03E00008 */ jr $ra /* 072E38 80072238 AC590054 */ sw $t9, 0x54($v0) glabel func_8007223C /* 072E3C 8007223C 000470C0 */ sll $t6, $a0, 3 /* 072E40 80072240 01C47023 */ subu $t6, $t6, $a0 /* 072E44 80072244 000E7140 */ sll $t6, $t6, 5 /* 072E48 80072248 3C0F8016 */ lui $t7, %hi(D_80165C6C) # 0x8016 /* 072E4C 8007224C 01EE7821 */ addu $t7, $t7, $t6 /* 072E50 80072250 8DEF5C6C */ lw $t7, %lo(D_80165C6C)($t7) # 0x5c6c($t7) /* 072E54 80072254 00001825 */ move $v1, $zero /* 072E58 80072258 01E5C024 */ and $t8, $t7, $a1 /* 072E5C 8007225C 13000002 */ beqz $t8, .L80072268 /* 072E60 80072260 00000000 */ nop /* 072E64 80072264 24030001 */ li $v1, 1 .L80072268: /* 072E68 80072268 03E00008 */ jr $ra /* 072E6C 8007226C 00601025 */ move $v0, $v1 glabel func_80072270 /* 072E70 80072270 000470C0 */ sll $t6, $a0, 3 /* 072E74 80072274 01C47023 */ subu $t6, $t6, $a0 /* 072E78 80072278 000E7140 */ sll $t6, $t6, 5 /* 072E7C 8007227C 3C0F8016 */ lui $t7, %hi(D_80165C6C) # 0x8016 /* 072E80 80072280 01EE7821 */ addu $t7, $t7, $t6 /* 072E84 80072284 8DEF5C6C */ lw $t7, %lo(D_80165C6C)($t7) # 0x5c6c($t7) /* 072E88 80072288 00001825 */ move $v1, $zero /* 072E8C 8007228C 01E5C024 */ and $t8, $t7, $a1 /* 072E90 80072290 17000002 */ bnez $t8, .L8007229C /* 072E94 80072294 00000000 */ nop /* 072E98 80072298 24030001 */ li $v1, 1 .L8007229C: /* 072E9C 8007229C 03E00008 */ jr $ra /* 072EA0 800722A0 00601025 */ move $v0, $v1 glabel func_800722A4 /* 072EA4 800722A4 000470C0 */ sll $t6, $a0, 3 /* 072EA8 800722A8 01C47023 */ subu $t6, $t6, $a0 /* 072EAC 800722AC 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 072EB0 800722B0 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 072EB4 800722B4 000E7140 */ sll $t6, $t6, 5 /* 072EB8 800722B8 01CF1021 */ addu $v0, $t6, $t7 /* 072EBC 800722BC 8C580058 */ lw $t8, 0x58($v0) /* 072EC0 800722C0 0305C825 */ or $t9, $t8, $a1 /* 072EC4 800722C4 03E00008 */ jr $ra /* 072EC8 800722C8 AC590058 */ sw $t9, 0x58($v0) glabel func_800722CC /* 072ECC 800722CC 000470C0 */ sll $t6, $a0, 3 /* 072ED0 800722D0 01C47023 */ subu $t6, $t6, $a0 /* 072ED4 800722D4 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 072ED8 800722D8 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 072EDC 800722DC 000E7140 */ sll $t6, $t6, 5 /* 072EE0 800722E0 01CF1021 */ addu $v0, $t6, $t7 /* 072EE4 800722E4 8C580058 */ lw $t8, 0x58($v0) /* 072EE8 800722E8 00A0C827 */ not $t9, $a1 /* 072EEC 800722EC 03194024 */ and $t0, $t8, $t9 /* 072EF0 800722F0 03E00008 */ jr $ra /* 072EF4 800722F4 AC480058 */ sw $t0, 0x58($v0) /* 072EF8 800722F8 000470C0 */ sll $t6, $a0, 3 /* 072EFC 800722FC 01C47023 */ subu $t6, $t6, $a0 /* 072F00 80072300 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 072F04 80072304 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 072F08 80072308 000E7140 */ sll $t6, $t6, 5 /* 072F0C 8007230C 01CF1021 */ addu $v0, $t6, $t7 /* 072F10 80072310 8C580058 */ lw $t8, 0x58($v0) /* 072F14 80072314 0305C826 */ xor $t9, $t8, $a1 /* 072F18 80072318 03E00008 */ jr $ra /* 072F1C 8007231C AC590058 */ sw $t9, 0x58($v0) glabel func_80072320 /* 072F20 80072320 000470C0 */ sll $t6, $a0, 3 /* 072F24 80072324 01C47023 */ subu $t6, $t6, $a0 /* 072F28 80072328 000E7140 */ sll $t6, $t6, 5 /* 072F2C 8007232C 3C0F8016 */ lui $t7, %hi(D_80165C70) # 0x8016 /* 072F30 80072330 01EE7821 */ addu $t7, $t7, $t6 /* 072F34 80072334 8DEF5C70 */ lw $t7, %lo(D_80165C70)($t7) # 0x5c70($t7) /* 072F38 80072338 00001825 */ move $v1, $zero /* 072F3C 8007233C 01E5C024 */ and $t8, $t7, $a1 /* 072F40 80072340 13000002 */ beqz $t8, .L8007234C /* 072F44 80072344 00000000 */ nop /* 072F48 80072348 24030001 */ li $v1, 1 .L8007234C: /* 072F4C 8007234C 03E00008 */ jr $ra /* 072F50 80072350 00601025 */ move $v0, $v1 glabel func_80072354 /* 072F54 80072354 000470C0 */ sll $t6, $a0, 3 /* 072F58 80072358 01C47023 */ subu $t6, $t6, $a0 /* 072F5C 8007235C 000E7140 */ sll $t6, $t6, 5 /* 072F60 80072360 3C0F8016 */ lui $t7, %hi(D_80165C70) # 0x8016 /* 072F64 80072364 01EE7821 */ addu $t7, $t7, $t6 /* 072F68 80072368 8DEF5C70 */ lw $t7, %lo(D_80165C70)($t7) # 0x5c70($t7) /* 072F6C 8007236C 00001825 */ move $v1, $zero /* 072F70 80072370 01E5C024 */ and $t8, $t7, $a1 /* 072F74 80072374 17000002 */ bnez $t8, .L80072380 /* 072F78 80072378 00000000 */ nop /* 072F7C 8007237C 24030001 */ li $v1, 1 .L80072380: /* 072F80 80072380 03E00008 */ jr $ra /* 072F84 80072384 00601025 */ move $v0, $v1 glabel func_80072388 /* 072F88 80072388 000470C0 */ sll $t6, $a0, 3 /* 072F8C 8007238C 01C47023 */ subu $t6, $t6, $a0 /* 072F90 80072390 000E7140 */ sll $t6, $t6, 5 /* 072F94 80072394 3C018016 */ lui $at, %hi(D_80165CE3) # 0x8016 /* 072F98 80072398 002E0821 */ addu $at, $at, $t6 /* 072F9C 8007239C 03E00008 */ jr $ra /* 072FA0 800723A0 A0255CE3 */ sb $a1, %lo(D_80165CE3)($at) # 0x5ce3($at) glabel func_800723A4 /* 072FA4 800723A4 000470C0 */ sll $t6, $a0, 3 /* 072FA8 800723A8 01C47023 */ subu $t6, $t6, $a0 /* 072FAC 800723AC 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 072FB0 800723B0 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 072FB4 800723B4 000E7140 */ sll $t6, $t6, 5 /* 072FB8 800723B8 01CF1021 */ addu $v0, $t6, $t7 /* 072FBC 800723BC 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 072FC0 800723C0 AFBF0014 */ sw $ra, 0x14($sp) /* 072FC4 800723C4 AFA50024 */ sw $a1, 0x24($sp) /* 072FC8 800723C8 AC400054 */ sw $zero, 0x54($v0) /* 072FCC 800723CC AC400058 */ sw $zero, 0x58($v0) /* 072FD0 800723D0 AC40005C */ sw $zero, 0x5c($v0) /* 072FD4 800723D4 A04000CD */ sb $zero, 0xcd($v0) /* 072FD8 800723D8 A04000CF */ sb $zero, 0xcf($v0) /* 072FDC 800723DC 00002825 */ move $a1, $zero /* 072FE0 800723E0 0C01C8E2 */ jal func_80072388 /* 072FE4 800723E4 AFA2001C */ sw $v0, 0x1c($sp) /* 072FE8 800723E8 8FA2001C */ lw $v0, 0x1c($sp) /* 072FEC 800723EC 8FBF0014 */ lw $ra, 0x14($sp) /* 072FF0 800723F0 8FB80024 */ lw $t8, 0x24($sp) /* 072FF4 800723F4 24190001 */ li $t9, 1 /* 072FF8 800723F8 27BD0020 */ addiu $sp, $sp, 0x20 /* 072FFC 800723FC A45900A6 */ sh $t9, 0xa6($v0) /* 073000 80072400 03E00008 */ jr $ra /* 073004 80072404 A05800D8 */ sb $t8, 0xd8($v0) /* 073008 80072408 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 07300C 8007240C AFBF0014 */ sw $ra, 0x14($sp) /* 073010 80072410 0C01C8E2 */ jal func_80072388 /* 073014 80072414 00002825 */ move $a1, $zero /* 073018 80072418 8FBF0014 */ lw $ra, 0x14($sp) /* 07301C 8007241C 27BD0018 */ addiu $sp, $sp, 0x18 /* 073020 80072420 03E00008 */ jr $ra /* 073024 80072424 00000000 */ nop glabel func_80072428 /* 073028 80072428 000470C0 */ sll $t6, $a0, 3 /* 07302C 8007242C 01C47023 */ subu $t6, $t6, $a0 /* 073030 80072430 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 073034 80072434 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 073038 80072438 000E7140 */ sll $t6, $t6, 5 /* 07303C 8007243C 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 073040 80072440 01CF1021 */ addu $v0, $t6, $t7 /* 073044 80072444 AFBF0014 */ sw $ra, 0x14($sp) /* 073048 80072448 A44000A6 */ sh $zero, 0xa6($v0) /* 07304C 8007244C A04000D8 */ sb $zero, 0xd8($v0) /* 073050 80072450 AFA2001C */ sw $v0, 0x1c($sp) /* 073054 80072454 AFA40020 */ sw $a0, 0x20($sp) /* 073058 80072458 0C01C8E2 */ jal func_80072388 /* 07305C 8007245C 00002825 */ move $a1, $zero /* 073060 80072460 8FA2001C */ lw $v0, 0x1c($sp) /* 073064 80072464 8FA40020 */ lw $a0, 0x20($sp) /* 073068 80072468 AC400054 */ sw $zero, 0x54($v0) /* 07306C 8007246C AC400058 */ sw $zero, 0x58($v0) /* 073070 80072470 0C021BD8 */ jal func_80086F60 /* 073074 80072474 AC40005C */ sw $zero, 0x5c($v0) /* 073078 80072478 8FBF0014 */ lw $ra, 0x14($sp) /* 07307C 8007247C 27BD0020 */ addiu $sp, $sp, 0x20 /* 073080 80072480 03E00008 */ jr $ra /* 073084 80072484 00000000 */ nop glabel func_80072488 /* 073088 80072488 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 07308C 8007248C AFBF0014 */ sw $ra, 0x14($sp) /* 073090 80072490 AFA40018 */ sw $a0, 0x18($sp) /* 073094 80072494 0C01C8E2 */ jal func_80072388 /* 073098 80072498 00002825 */ move $a1, $zero /* 07309C 8007249C 8FA40018 */ lw $a0, 0x18($sp) /* 0730A0 800724A0 0C01C87A */ jal func_800721E8 /* 0730A4 800724A4 24052000 */ li $a1, 8192 /* 0730A8 800724A8 8FAE0018 */ lw $t6, 0x18($sp) /* 0730AC 800724AC 3C188016 */ lui $t8, %hi(D_80165C18) # $t8, 0x8016 /* 0730B0 800724B0 27185C18 */ addiu $t8, %lo(D_80165C18) # addiu $t8, $t8, 0x5c18 /* 0730B4 800724B4 000E78C0 */ sll $t7, $t6, 3 /* 0730B8 800724B8 01EE7823 */ subu $t7, $t7, $t6 /* 0730BC 800724BC 000F7940 */ sll $t7, $t7, 5 /* 0730C0 800724C0 01F81021 */ addu $v0, $t7, $t8 /* 0730C4 800724C4 845900A6 */ lh $t9, 0xa6($v0) /* 0730C8 800724C8 8FBF0014 */ lw $ra, 0x14($sp) /* 0730CC 800724CC 27BD0018 */ addiu $sp, $sp, 0x18 /* 0730D0 800724D0 27280001 */ addiu $t0, $t9, 1 /* 0730D4 800724D4 03E00008 */ jr $ra /* 0730D8 800724D8 A44800A6 */ sh $t0, 0xa6($v0) glabel func_800724DC /* 0730DC 800724DC 000470C0 */ sll $t6, $a0, 3 /* 0730E0 800724E0 01C47023 */ subu $t6, $t6, $a0 /* 0730E4 800724E4 000E7140 */ sll $t6, $t6, 5 /* 0730E8 800724E8 3C018016 */ lui $at, %hi(D_80165CEF) # 0x8016 /* 0730EC 800724EC 002E0821 */ addu $at, $at, $t6 /* 0730F0 800724F0 03E00008 */ jr $ra /* 0730F4 800724F4 A0205CEF */ sb $zero, %lo(D_80165CEF)($at) # 0x5cef($at) glabel func_800724F8 /* 0730F8 800724F8 000470C0 */ sll $t6, $a0, 3 /* 0730FC 800724FC 01C47023 */ subu $t6, $t6, $a0 /* 073100 80072500 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 073104 80072504 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 073108 80072508 000E7140 */ sll $t6, $t6, 5 /* 07310C 8007250C 01CF1021 */ addu $v0, $t6, $t7 /* 073110 80072510 905800D7 */ lbu $t8, 0xd7($v0) /* 073114 80072514 0018C840 */ sll $t9, $t8, 1 /* 073118 80072518 00594021 */ addu $t0, $v0, $t9 /* 07311C 8007251C A5050084 */ sh $a1, 0x84($t0) /* 073120 80072520 904900D7 */ lbu $t1, 0xd7($v0) /* 073124 80072524 252A0001 */ addiu $t2, $t1, 1 /* 073128 80072528 03E00008 */ jr $ra /* 07312C 8007252C A04A00D7 */ sb $t2, 0xd7($v0) glabel func_80072530 /* 073130 80072530 000470C0 */ sll $t6, $a0, 3 /* 073134 80072534 01C47023 */ subu $t6, $t6, $a0 /* 073138 80072538 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 07313C 8007253C 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 073140 80072540 000E7140 */ sll $t6, $t6, 5 /* 073144 80072544 01CF1821 */ addu $v1, $t6, $t7 /* 073148 80072548 907800D7 */ lbu $t8, 0xd7($v1) /* 07314C 8007254C 2719FFFF */ addiu $t9, $t8, -1 /* 073150 80072550 332800FF */ andi $t0, $t9, 0xff /* 073154 80072554 00084840 */ sll $t1, $t0, 1 /* 073158 80072558 A07900D7 */ sb $t9, 0xd7($v1) /* 07315C 8007255C 00695021 */ addu $t2, $v1, $t1 /* 073160 80072560 03E00008 */ jr $ra /* 073164 80072564 85420084 */ lh $v0, 0x84($t2) glabel func_80072568 /* 073168 80072568 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 07316C 8007256C AFBF001C */ sw $ra, 0x1c($sp) /* 073170 80072570 AFB00018 */ sw $s0, 0x18($sp) /* 073174 80072574 AFA5002C */ sw $a1, 0x2c($sp) /* 073178 80072578 00808025 */ move $s0, $a0 /* 07317C 8007257C 0C01C8E2 */ jal func_80072388 /* 073180 80072580 00002825 */ move $a1, $zero /* 073184 80072584 02002025 */ move $a0, $s0 /* 073188 80072588 0C01C87A */ jal func_800721E8 /* 07318C 8007258C 24052000 */ li $a1, 8192 /* 073190 80072590 02002025 */ move $a0, $s0 /* 073194 80072594 0C01C87A */ jal func_800721E8 /* 073198 80072598 24050008 */ li $a1, 8 /* 07319C 8007259C 0C01C922 */ jal func_80072488 /* 0731A0 800725A0 02002025 */ move $a0, $s0 /* 0731A4 800725A4 001070C0 */ sll $t6, $s0, 3 /* 0731A8 800725A8 01D07023 */ subu $t6, $t6, $s0 /* 0731AC 800725AC 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 0731B0 800725B0 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 0731B4 800725B4 000E7140 */ sll $t6, $t6, 5 /* 0731B8 800725B8 01CF1021 */ addu $v0, $t6, $t7 /* 0731BC 800725BC 844500A6 */ lh $a1, 0xa6($v0) /* 0731C0 800725C0 AFA20024 */ sw $v0, 0x24($sp) /* 0731C4 800725C4 0C01C93E */ jal func_800724F8 /* 0731C8 800725C8 02002025 */ move $a0, $s0 /* 0731CC 800725CC 8FBF001C */ lw $ra, 0x1c($sp) /* 0731D0 800725D0 8FA20024 */ lw $v0, 0x24($sp) /* 0731D4 800725D4 8FB8002C */ lw $t8, 0x2c($sp) /* 0731D8 800725D8 8FB00018 */ lw $s0, 0x18($sp) /* 0731DC 800725DC 27BD0028 */ addiu $sp, $sp, 0x28 /* 0731E0 800725E0 03E00008 */ jr $ra /* 0731E4 800725E4 A45800A6 */ sh $t8, 0xa6($v0) glabel func_800725E8 /* 0731E8 800725E8 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 0731EC 800725EC AFBF001C */ sw $ra, 0x1c($sp) /* 0731F0 800725F0 AFB00018 */ sw $s0, 0x18($sp) /* 0731F4 800725F4 AFA5002C */ sw $a1, 0x2c($sp) /* 0731F8 800725F8 00808025 */ move $s0, $a0 /* 0731FC 800725FC AFA60030 */ sw $a2, 0x30($sp) /* 073200 80072600 0C01C8E2 */ jal func_80072388 /* 073204 80072604 00002825 */ move $a1, $zero /* 073208 80072608 02002025 */ move $a0, $s0 /* 07320C 8007260C 0C01C87A */ jal func_800721E8 /* 073210 80072610 24052000 */ li $a1, 8192 /* 073214 80072614 02002025 */ move $a0, $s0 /* 073218 80072618 0C01C87A */ jal func_800721E8 /* 07321C 8007261C 24050008 */ li $a1, 8 /* 073220 80072620 001070C0 */ sll $t6, $s0, 3 /* 073224 80072624 8FB80030 */ lw $t8, 0x30($sp) /* 073228 80072628 01D07023 */ subu $t6, $t6, $s0 /* 07322C 8007262C 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 073230 80072630 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 073234 80072634 000E7140 */ sll $t6, $t6, 5 /* 073238 80072638 01CF1021 */ addu $v0, $t6, $t7 /* 07323C 8007263C A45800A6 */ sh $t8, 0xa6($v0) /* 073240 80072640 844500A6 */ lh $a1, 0xa6($v0) /* 073244 80072644 AFA20024 */ sw $v0, 0x24($sp) /* 073248 80072648 0C01C93E */ jal func_800724F8 /* 07324C 8007264C 02002025 */ move $a0, $s0 /* 073250 80072650 8FBF001C */ lw $ra, 0x1c($sp) /* 073254 80072654 8FA20024 */ lw $v0, 0x24($sp) /* 073258 80072658 8FB9002C */ lw $t9, 0x2c($sp) /* 07325C 8007265C 8FB00018 */ lw $s0, 0x18($sp) /* 073260 80072660 27BD0028 */ addiu $sp, $sp, 0x28 /* 073264 80072664 03E00008 */ jr $ra /* 073268 80072668 A45900A6 */ sh $t9, 0xa6($v0) glabel func_8007266C /* 07326C 8007266C 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 073270 80072670 AFBF001C */ sw $ra, 0x1c($sp) /* 073274 80072674 AFB00018 */ sw $s0, 0x18($sp) /* 073278 80072678 00808025 */ move $s0, $a0 /* 07327C 8007267C 0C01C8E2 */ jal func_80072388 /* 073280 80072680 00002825 */ move $a1, $zero /* 073284 80072684 02002025 */ move $a0, $s0 /* 073288 80072688 0C01C87A */ jal func_800721E8 /* 07328C 8007268C 24052000 */ li $a1, 8192 /* 073290 80072690 02002025 */ move $a0, $s0 /* 073294 80072694 0C01C87A */ jal func_800721E8 /* 073298 80072698 24050008 */ li $a1, 8 /* 07329C 8007269C 0C01C94C */ jal func_80072530 /* 0732A0 800726A0 02002025 */ move $a0, $s0 /* 0732A4 800726A4 001070C0 */ sll $t6, $s0, 3 /* 0732A8 800726A8 8FBF001C */ lw $ra, 0x1c($sp) /* 0732AC 800726AC 01D07023 */ subu $t6, $t6, $s0 /* 0732B0 800726B0 000E7140 */ sll $t6, $t6, 5 /* 0732B4 800726B4 3C018016 */ lui $at, %hi(D_80165CBE) # 0x8016 /* 0732B8 800726B8 002E0821 */ addu $at, $at, $t6 /* 0732BC 800726BC 8FB00018 */ lw $s0, 0x18($sp) /* 0732C0 800726C0 A4225CBE */ sh $v0, %lo(D_80165CBE)($at) # 0x5cbe($at) /* 0732C4 800726C4 03E00008 */ jr $ra /* 0732C8 800726C8 27BD0020 */ addiu $sp, $sp, 0x20 glabel func_800726CC /* 0732CC 800726CC 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0732D0 800726D0 AFBF0014 */ sw $ra, 0x14($sp) /* 0732D4 800726D4 AFA5001C */ sw $a1, 0x1c($sp) /* 0732D8 800726D8 AFA40018 */ sw $a0, 0x18($sp) /* 0732DC 800726DC 0C01C8E2 */ jal func_80072388 /* 0732E0 800726E0 00002825 */ move $a1, $zero /* 0732E4 800726E4 8FA40018 */ lw $a0, 0x18($sp) /* 0732E8 800726E8 0C01C87A */ jal func_800721E8 /* 0732EC 800726EC 24052000 */ li $a1, 8192 /* 0732F0 800726F0 8FAF0018 */ lw $t7, 0x18($sp) /* 0732F4 800726F4 8FBF0014 */ lw $ra, 0x14($sp) /* 0732F8 800726F8 8FAE001C */ lw $t6, 0x1c($sp) /* 0732FC 800726FC 000FC0C0 */ sll $t8, $t7, 3 /* 073300 80072700 030FC023 */ subu $t8, $t8, $t7 /* 073304 80072704 0018C140 */ sll $t8, $t8, 5 /* 073308 80072708 3C018016 */ lui $at, %hi(D_80165CBE) # 0x8016 /* 07330C 8007270C 00380821 */ addu $at, $at, $t8 /* 073310 80072710 27BD0018 */ addiu $sp, $sp, 0x18 /* 073314 80072714 03E00008 */ jr $ra /* 073318 80072718 A42E5CBE */ sh $t6, %lo(D_80165CBE)($at) # 0x5cbe($at) /* 07331C 8007271C 000470C0 */ sll $t6, $a0, 3 /* 073320 80072720 01C47023 */ subu $t6, $t6, $a0 /* 073324 80072724 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 073328 80072728 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 07332C 8007272C 000E7140 */ sll $t6, $t6, 5 /* 073330 80072730 01CF1021 */ addu $v0, $t6, $t7 /* 073334 80072734 805800CB */ lb $t8, 0xcb($v0) /* 073338 80072738 17000002 */ bnez $t8, .L80072744 /* 07333C 8007273C 00000000 */ nop /* 073340 80072740 A44500A6 */ sh $a1, 0xa6($v0) .L80072744: /* 073344 80072744 03E00008 */ jr $ra /* 073348 80072748 00000000 */ nop /* 07334C 8007274C 000470C0 */ sll $t6, $a0, 3 /* 073350 80072750 01C47023 */ subu $t6, $t6, $a0 /* 073354 80072754 000E7140 */ sll $t6, $t6, 5 /* 073358 80072758 3C0F8016 */ lui $t7, %hi(D_80165CE3) # 0x8016 /* 07335C 8007275C 01EE7821 */ addu $t7, $t7, $t6 /* 073360 80072760 81EF5CE3 */ lb $t7, %lo(D_80165CE3)($t7) # 0x5ce3($t7) /* 073364 80072764 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 073368 80072768 AFBF0014 */ sw $ra, 0x14($sp) /* 07336C 8007276C 55E00004 */ bnel $t7, $zero, .L80072780 /* 073370 80072770 8FBF0014 */ lw $ra, 0x14($sp) /* 073374 80072774 0C01C922 */ jal func_80072488 /* 073378 80072778 00000000 */ nop /* 07337C 8007277C 8FBF0014 */ lw $ra, 0x14($sp) .L80072780: /* 073380 80072780 27BD0018 */ addiu $sp, $sp, 0x18 /* 073384 80072784 03E00008 */ jr $ra /* 073388 80072788 00000000 */ nop glabel func_8007278C /* 07338C 8007278C 000478C0 */ sll $t7, $a0, 3 /* 073390 80072790 01E47823 */ subu $t7, $t7, $a0 /* 073394 80072794 3C188016 */ lui $t8, %hi(D_80165C18) # $t8, 0x8016 /* 073398 80072798 27185C18 */ addiu $t8, %lo(D_80165C18) # addiu $t8, $t8, 0x5c18 /* 07339C 8007279C 000F7940 */ sll $t7, $t7, 5 /* 0733A0 800727A0 01F81021 */ addu $v0, $t7, $t8 /* 0733A4 800727A4 805900CB */ lb $t9, 0xcb($v0) /* 0733A8 800727A8 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0733AC 800727AC AFBF0014 */ sw $ra, 0x14($sp) /* 0733B0 800727B0 AFA40020 */ sw $a0, 0x20($sp) /* 0733B4 800727B4 AFA50024 */ sw $a1, 0x24($sp) /* 0733B8 800727B8 17200009 */ bnez $t9, .L800727E0 /* 0733BC 800727BC 00001825 */ move $v1, $zero /* 0733C0 800727C0 24050001 */ li $a1, 1 /* 0733C4 800727C4 AFA20018 */ sw $v0, 0x18($sp) /* 0733C8 800727C8 0C01C8E2 */ jal func_80072388 /* 0733CC 800727CC AFA0001C */ sw $zero, 0x1c($sp) /* 0733D0 800727D0 8FA20018 */ lw $v0, 0x18($sp) /* 0733D4 800727D4 8FA80024 */ lw $t0, 0x24($sp) /* 0733D8 800727D8 8FA3001C */ lw $v1, 0x1c($sp) /* 0733DC 800727DC AC480050 */ sw $t0, 0x50($v0) .L800727E0: /* 0733E0 800727E0 8C490050 */ lw $t1, 0x50($v0) /* 0733E4 800727E4 00002825 */ move $a1, $zero /* 0733E8 800727E8 252AFFFF */ addiu $t2, $t1, -1 /* 0733EC 800727EC 05410006 */ bgez $t2, .L80072808 /* 0733F0 800727F0 AC4A0050 */ sw $t2, 0x50($v0) /* 0733F4 800727F4 0C01C8E2 */ jal func_80072388 /* 0733F8 800727F8 8FA40020 */ lw $a0, 0x20($sp) /* 0733FC 800727FC 0C01C922 */ jal func_80072488 /* 073400 80072800 8FA40020 */ lw $a0, 0x20($sp) /* 073404 80072804 24030001 */ li $v1, 1 .L80072808: /* 073408 80072808 8FBF0014 */ lw $ra, 0x14($sp) /* 07340C 8007280C 27BD0020 */ addiu $sp, $sp, 0x20 /* 073410 80072810 00601025 */ move $v0, $v1 /* 073414 80072814 03E00008 */ jr $ra /* 073418 80072818 00000000 */ nop /* 07341C 8007281C 000478C0 */ sll $t7, $a0, 3 /* 073420 80072820 01E47823 */ subu $t7, $t7, $a0 /* 073424 80072824 3C188016 */ lui $t8, %hi(D_80165C18) # $t8, 0x8016 /* 073428 80072828 27185C18 */ addiu $t8, %lo(D_80165C18) # addiu $t8, $t8, 0x5c18 /* 07342C 8007282C 000F7940 */ sll $t7, $t7, 5 /* 073430 80072830 01F81821 */ addu $v1, $t7, $t8 /* 073434 80072834 807900CB */ lb $t9, 0xcb($v1) /* 073438 80072838 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 07343C 8007283C AFBF0014 */ sw $ra, 0x14($sp) /* 073440 80072840 AFA40020 */ sw $a0, 0x20($sp) /* 073444 80072844 AFA50024 */ sw $a1, 0x24($sp) /* 073448 80072848 1720000A */ bnez $t9, .L80072874 /* 07344C 8007284C 00003025 */ move $a2, $zero /* 073450 80072850 24050001 */ li $a1, 1 /* 073454 80072854 AFA30018 */ sw $v1, 0x18($sp) /* 073458 80072858 0C01C8E2 */ jal func_80072388 /* 07345C 8007285C AFA0001C */ sw $zero, 0x1c($sp) /* 073460 80072860 0C0ADF8D */ jal random_int /* 073464 80072864 97A40026 */ lhu $a0, 0x26($sp) /* 073468 80072868 8FA30018 */ lw $v1, 0x18($sp) /* 07346C 8007286C 8FA6001C */ lw $a2, 0x1c($sp) /* 073470 80072870 AC620050 */ sw $v0, 0x50($v1) .L80072874: /* 073474 80072874 8C680050 */ lw $t0, 0x50($v1) /* 073478 80072878 00002825 */ move $a1, $zero /* 07347C 8007287C 2509FFFF */ addiu $t1, $t0, -1 /* 073480 80072880 05210006 */ bgez $t1, .L8007289C /* 073484 80072884 AC690050 */ sw $t1, 0x50($v1) /* 073488 80072888 0C01C8E2 */ jal func_80072388 /* 07348C 8007288C 8FA40020 */ lw $a0, 0x20($sp) /* 073490 80072890 0C01C922 */ jal func_80072488 /* 073494 80072894 8FA40020 */ lw $a0, 0x20($sp) /* 073498 80072898 24060001 */ li $a2, 1 .L8007289C: /* 07349C 8007289C 8FBF0014 */ lw $ra, 0x14($sp) /* 0734A0 800728A0 27BD0020 */ addiu $sp, $sp, 0x20 /* 0734A4 800728A4 00C01025 */ move $v0, $a2 /* 0734A8 800728A8 03E00008 */ jr $ra /* 0734AC 800728AC 00000000 */ nop /* 0734B0 800728B0 000478C0 */ sll $t7, $a0, 3 /* 0734B4 800728B4 01E47823 */ subu $t7, $t7, $a0 /* 0734B8 800728B8 3C188016 */ lui $t8, %hi(D_80165C18) # $t8, 0x8016 /* 0734BC 800728BC 27185C18 */ addiu $t8, %lo(D_80165C18) # addiu $t8, $t8, 0x5c18 /* 0734C0 800728C0 000F7940 */ sll $t7, $t7, 5 /* 0734C4 800728C4 01F81821 */ addu $v1, $t7, $t8 /* 0734C8 800728C8 807900CB */ lb $t9, 0xcb($v1) /* 0734CC 800728CC 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0734D0 800728D0 AFBF0014 */ sw $ra, 0x14($sp) /* 0734D4 800728D4 AFA40020 */ sw $a0, 0x20($sp) /* 0734D8 800728D8 AFA50024 */ sw $a1, 0x24($sp) /* 0734DC 800728DC AFA60028 */ sw $a2, 0x28($sp) /* 0734E0 800728E0 1720000C */ bnez $t9, .L80072914 /* 0734E4 800728E4 00003825 */ move $a3, $zero /* 0734E8 800728E8 24050001 */ li $a1, 1 /* 0734EC 800728EC AFA30018 */ sw $v1, 0x18($sp) /* 0734F0 800728F0 0C01C8E2 */ jal func_80072388 /* 0734F4 800728F4 AFA0001C */ sw $zero, 0x1c($sp) /* 0734F8 800728F8 0C0ADF8D */ jal random_int /* 0734FC 800728FC 97A4002A */ lhu $a0, 0x2a($sp) /* 073500 80072900 8FA80024 */ lw $t0, 0x24($sp) /* 073504 80072904 8FA30018 */ lw $v1, 0x18($sp) /* 073508 80072908 8FA7001C */ lw $a3, 0x1c($sp) /* 07350C 8007290C 00484821 */ addu $t1, $v0, $t0 /* 073510 80072910 AC690050 */ sw $t1, 0x50($v1) .L80072914: /* 073514 80072914 8C6A0050 */ lw $t2, 0x50($v1) /* 073518 80072918 00002825 */ move $a1, $zero /* 07351C 8007291C 254BFFFF */ addiu $t3, $t2, -1 /* 073520 80072920 05610006 */ bgez $t3, .L8007293C /* 073524 80072924 AC6B0050 */ sw $t3, 0x50($v1) /* 073528 80072928 0C01C8E2 */ jal func_80072388 /* 07352C 8007292C 8FA40020 */ lw $a0, 0x20($sp) /* 073530 80072930 0C01C922 */ jal func_80072488 /* 073534 80072934 8FA40020 */ lw $a0, 0x20($sp) /* 073538 80072938 24070001 */ li $a3, 1 .L8007293C: /* 07353C 8007293C 8FBF0014 */ lw $ra, 0x14($sp) /* 073540 80072940 27BD0020 */ addiu $sp, $sp, 0x20 /* 073544 80072944 00E01025 */ move $v0, $a3 /* 073548 80072948 03E00008 */ jr $ra /* 07354C 8007294C 00000000 */ nop glabel func_80072950 /* 073550 80072950 14A60006 */ bne $a1, $a2, .L8007296C /* 073554 80072954 000470C0 */ sll $t6, $a0, 3 /* 073558 80072958 01C47023 */ subu $t6, $t6, $a0 /* 07355C 8007295C 000E7140 */ sll $t6, $t6, 5 /* 073560 80072960 3C018016 */ lui $at, %hi(D_80165CBE) # 0x8016 /* 073564 80072964 002E0821 */ addu $at, $at, $t6 /* 073568 80072968 A4275CBE */ sh $a3, %lo(D_80165CBE)($at) # 0x5cbe($at) .L8007296C: /* 07356C 8007296C 03E00008 */ jr $ra /* 073570 80072970 00000000 */ nop /* 073574 80072974 10A60006 */ beq $a1, $a2, .L80072990 /* 073578 80072978 000470C0 */ sll $t6, $a0, 3 /* 07357C 8007297C 01C47023 */ subu $t6, $t6, $a0 /* 073580 80072980 000E7140 */ sll $t6, $t6, 5 /* 073584 80072984 3C018016 */ lui $at, %hi(D_80165CBE) # 0x8016 /* 073588 80072988 002E0821 */ addu $at, $at, $t6 /* 07358C 8007298C A4275CBE */ sh $a3, %lo(D_80165CBE)($at) # 0x5cbe($at) .L80072990: /* 073590 80072990 03E00008 */ jr $ra /* 073594 80072994 00000000 */ nop /* 073598 80072998 000470C0 */ sll $t6, $a0, 3 /* 07359C 8007299C 01C47023 */ subu $t6, $t6, $a0 /* 0735A0 800729A0 000E7140 */ sll $t6, $t6, 5 /* 0735A4 800729A4 3C018016 */ lui $at, %hi(D_80165CE4) # 0x8016 /* 0735A8 800729A8 002E0821 */ addu $at, $at, $t6 /* 0735AC 800729AC 03E00008 */ jr $ra /* 0735B0 800729B0 A0205CE4 */ sb $zero, %lo(D_80165CE4)($at) # 0x5ce4($at) glabel func_800729B4 /* 0735B4 800729B4 000470C0 */ sll $t6, $a0, 3 /* 0735B8 800729B8 01C47023 */ subu $t6, $t6, $a0 /* 0735BC 800729BC 000E7140 */ sll $t6, $t6, 5 /* 0735C0 800729C0 3C018016 */ lui $at, %hi(D_80165CBA) # 0x8016 /* 0735C4 800729C4 002E0821 */ addu $at, $at, $t6 /* 0735C8 800729C8 03E00008 */ jr $ra /* 0735CC 800729CC A4255CBA */ sh $a1, %lo(D_80165CBA)($at) # 0x5cba($at) glabel func_800729D0 /* 0735D0 800729D0 000470C0 */ sll $t6, $a0, 3 /* 0735D4 800729D4 01C47023 */ subu $t6, $t6, $a0 /* 0735D8 800729D8 000E7140 */ sll $t6, $t6, 5 /* 0735DC 800729DC 3C018016 */ lui $at, %hi(D_80165CBC) # 0x8016 /* 0735E0 800729E0 002E0821 */ addu $at, $at, $t6 /* 0735E4 800729E4 03E00008 */ jr $ra /* 0735E8 800729E8 A4255CBC */ sh $a1, %lo(D_80165CBC)($at) # 0x5cbc($at) glabel func_800729EC /* 0735EC 800729EC 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0735F0 800729F0 AFBF0014 */ sw $ra, 0x14($sp) /* 0735F4 800729F4 0C0A3B6A */ jal func_8028EDA8 /* 0735F8 800729F8 AFA40018 */ sw $a0, 0x18($sp) /* 0735FC 800729FC 0C01C922 */ jal func_80072488 /* 073600 80072A00 8FA40018 */ lw $a0, 0x18($sp) /* 073604 80072A04 24020001 */ li $v0, 1 /* 073608 80072A08 3C018019 */ lui $at, %hi(D_8018D2BC) # $at, 0x8019 /* 07360C 80072A0C AC22D2BC */ sw $v0, %lo(D_8018D2BC)($at) /* 073610 80072A10 3C0E800E */ lui $t6, %hi(gCurrentCourseId) # $t6, 0x800e /* 073614 80072A14 85CEC5A0 */ lh $t6, %lo(gCurrentCourseId)($t6) /* 073618 80072A18 3C018019 */ lui $at, %hi(D_8018D2A4) # $at, 0x8019 /* 07361C 80072A1C AC22D2A4 */ sw $v0, %lo(D_8018D2A4)($at) /* 073620 80072A20 24010004 */ li $at, 4 /* 073624 80072A24 11C1000E */ beq $t6, $at, .L80072A60 /* 073628 80072A28 3C038019 */ lui $v1, %hi(D_8018EDF3) # $v1, 0x8019 /* 07362C 80072A2C 8063EDF3 */ lb $v1, %lo(D_8018EDF3)($v1) /* 073630 80072A30 3C0F8019 */ lui $t7, %hi(D_8018CA70) # x8019 /* 073634 80072A34 25E2CA70 */ addiu $v0, $t7, %lo(D_8018CA70) # -0x3590 /* 073638 80072A38 18600009 */ blez $v1, .L80072A60 /* 07363C 80072A3C 0003C140 */ sll $t8, $v1, 5 /* 073640 80072A40 0303C021 */ addu $t8, $t8, $v1 /* 073644 80072A44 0018C080 */ sll $t8, $t8, 2 /* 073648 80072A48 03022021 */ addu $a0, $t8, $v0 /* 07364C 80072A4C 24030001 */ li $v1, 1 .L80072A50: /* 073650 80072A50 24420084 */ addiu $v0, $v0, 0x84 /* 073654 80072A54 0044082B */ sltu $at, $v0, $a0 /* 073658 80072A58 1420FFFD */ bnez $at, .L80072A50 /* 07365C 80072A5C A043FFFD */ sb $v1, -3($v0) .L80072A60: /* 073660 80072A60 0C016AC8 */ jal func_8005AB20 /* 073664 80072A64 00000000 */ nop /* 073668 80072A68 8FBF0014 */ lw $ra, 0x14($sp) /* 07366C 80072A6C 27BD0018 */ addiu $sp, $sp, 0x18 /* 073670 80072A70 03E00008 */ jr $ra /* 073674 80072A74 00000000 */ nop /* 073678 80072A78 000470C0 */ sll $t6, $a0, 3 /* 07367C 80072A7C 01C47023 */ subu $t6, $t6, $a0 /* 073680 80072A80 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 073684 80072A84 000E7140 */ sll $t6, $t6, 5 /* 073688 80072A88 3C018016 */ lui $at, %hi(D_80165CEA) # 0x8016 /* 07368C 80072A8C AFBF0014 */ sw $ra, 0x14($sp) /* 073690 80072A90 002E0821 */ addu $at, $at, $t6 /* 073694 80072A94 0C01C922 */ jal func_80072488 /* 073698 80072A98 A0255CEA */ sb $a1, %lo(D_80165CEA)($at) # 0x5cea($at) /* 07369C 80072A9C 8FBF0014 */ lw $ra, 0x14($sp) /* 0736A0 80072AA0 27BD0018 */ addiu $sp, $sp, 0x18 /* 0736A4 80072AA4 03E00008 */ jr $ra /* 0736A8 80072AA8 00000000 */ nop glabel func_80072AAC /* 0736AC 80072AAC 000478C0 */ sll $t7, $a0, 3 /* 0736B0 80072AB0 01E47823 */ subu $t7, $t7, $a0 /* 0736B4 80072AB4 3C188016 */ lui $t8, %hi(D_80165C18) # $t8, 0x8016 /* 0736B8 80072AB8 27185C18 */ addiu $t8, %lo(D_80165C18) # addiu $t8, $t8, 0x5c18 /* 0736BC 80072ABC 000F7940 */ sll $t7, $t7, 5 /* 0736C0 80072AC0 01F81021 */ addu $v0, $t7, $t8 /* 0736C4 80072AC4 805900CB */ lb $t9, 0xcb($v0) /* 0736C8 80072AC8 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0736CC 80072ACC AFBF0014 */ sw $ra, 0x14($sp) /* 0736D0 80072AD0 AFA40020 */ sw $a0, 0x20($sp) /* 0736D4 80072AD4 AFA50024 */ sw $a1, 0x24($sp) /* 0736D8 80072AD8 AFA60028 */ sw $a2, 0x28($sp) /* 0736DC 80072ADC 1720000B */ bnez $t9, .L80072B0C /* 0736E0 80072AE0 00001825 */ move $v1, $zero /* 0736E4 80072AE4 24050001 */ li $a1, 1 /* 0736E8 80072AE8 AFA20018 */ sw $v0, 0x18($sp) /* 0736EC 80072AEC 0C01C8E2 */ jal func_80072388 /* 0736F0 80072AF0 AFA0001C */ sw $zero, 0x1c($sp) /* 0736F4 80072AF4 8FA20018 */ lw $v0, 0x18($sp) /* 0736F8 80072AF8 8FA80024 */ lw $t0, 0x24($sp) /* 0736FC 80072AFC 8FA90028 */ lw $t1, 0x28($sp) /* 073700 80072B00 8FA3001C */ lw $v1, 0x1c($sp) /* 073704 80072B04 A04800D2 */ sb $t0, 0xd2($v0) /* 073708 80072B08 AC490050 */ sw $t1, 0x50($v0) .L80072B0C: /* 07370C 80072B0C 8C4A0050 */ lw $t2, 0x50($v0) /* 073710 80072B10 00002825 */ move $a1, $zero /* 073714 80072B14 254BFFFF */ addiu $t3, $t2, -1 /* 073718 80072B18 05610006 */ bgez $t3, .L80072B34 /* 07371C 80072B1C AC4B0050 */ sw $t3, 0x50($v0) /* 073720 80072B20 0C01C8E2 */ jal func_80072388 /* 073724 80072B24 8FA40020 */ lw $a0, 0x20($sp) /* 073728 80072B28 0C01C922 */ jal func_80072488 /* 07372C 80072B2C 8FA40020 */ lw $a0, 0x20($sp) /* 073730 80072B30 24030001 */ li $v1, 1 .L80072B34: /* 073734 80072B34 8FBF0014 */ lw $ra, 0x14($sp) /* 073738 80072B38 27BD0020 */ addiu $sp, $sp, 0x20 /* 07373C 80072B3C 00601025 */ move $v0, $v1 /* 073740 80072B40 03E00008 */ jr $ra /* 073744 80072B44 00000000 */ nop glabel func_80072B48 /* 073748 80072B48 000470C0 */ sll $t6, $a0, 3 /* 07374C 80072B4C 01C47023 */ subu $t6, $t6, $a0 /* 073750 80072B50 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 073754 80072B54 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 073758 80072B58 000E7140 */ sll $t6, $t6, 5 /* 07375C 80072B5C 01CF1021 */ addu $v0, $t6, $t7 /* 073760 80072B60 805800CB */ lb $t8, 0xcb($v0) /* 073764 80072B64 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 073768 80072B68 AFB00018 */ sw $s0, 0x18($sp) /* 07376C 80072B6C 00808025 */ move $s0, $a0 /* 073770 80072B70 AFBF001C */ sw $ra, 0x1c($sp) /* 073774 80072B74 AFA5002C */ sw $a1, 0x2c($sp) /* 073778 80072B78 1700000F */ bnez $t8, .L80072BB8 /* 07377C 80072B7C 00001825 */ move $v1, $zero /* 073780 80072B80 24050001 */ li $a1, 1 /* 073784 80072B84 AFA20020 */ sw $v0, 0x20($sp) /* 073788 80072B88 0C01C8E2 */ jal func_80072388 /* 07378C 80072B8C AFA00024 */ sw $zero, 0x24($sp) /* 073790 80072B90 02002025 */ move $a0, $s0 /* 073794 80072B94 0C01C870 */ jal func_800721C0 /* 073798 80072B98 3C050008 */ lui $a1, 8 /* 07379C 80072B9C 8FA20020 */ lw $v0, 0x20($sp) /* 0737A0 80072BA0 3C198019 */ lui $t9, %hi(D_8018D140) # $t9, 0x8019 /* 0737A4 80072BA4 8F39D140 */ lw $t9, %lo(D_8018D140)($t9) /* 0737A8 80072BA8 8FA8002C */ lw $t0, 0x2c($sp) /* 0737AC 80072BAC 8FA30024 */ lw $v1, 0x24($sp) /* 0737B0 80072BB0 A05900D2 */ sb $t9, 0xd2($v0) /* 0737B4 80072BB4 AC480050 */ sw $t0, 0x50($v0) .L80072BB8: /* 0737B8 80072BB8 8C490050 */ lw $t1, 0x50($v0) /* 0737BC 80072BBC 02002025 */ move $a0, $s0 /* 0737C0 80072BC0 252AFFFF */ addiu $t2, $t1, -1 /* 0737C4 80072BC4 05410009 */ bgez $t2, .L80072BEC /* 0737C8 80072BC8 AC4A0050 */ sw $t2, 0x50($v0) /* 0737CC 80072BCC 0C01C87A */ jal func_800721E8 /* 0737D0 80072BD0 3C050008 */ lui $a1, 8 /* 0737D4 80072BD4 02002025 */ move $a0, $s0 /* 0737D8 80072BD8 0C01C8E2 */ jal func_80072388 /* 0737DC 80072BDC 00002825 */ move $a1, $zero /* 0737E0 80072BE0 0C01C922 */ jal func_80072488 /* 0737E4 80072BE4 02002025 */ move $a0, $s0 /* 0737E8 80072BE8 24030001 */ li $v1, 1 .L80072BEC: /* 0737EC 80072BEC 8FBF001C */ lw $ra, 0x1c($sp) /* 0737F0 80072BF0 8FB00018 */ lw $s0, 0x18($sp) /* 0737F4 80072BF4 27BD0028 */ addiu $sp, $sp, 0x28 /* 0737F8 80072BF8 03E00008 */ jr $ra /* 0737FC 80072BFC 00601025 */ move $v0, $v1 glabel func_80072C00 /* 073800 80072C00 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 073804 80072C04 AFBF001C */ sw $ra, 0x1c($sp) /* 073808 80072C08 AFB00018 */ sw $s0, 0x18($sp) /* 07380C 80072C0C AFA5002C */ sw $a1, 0x2c($sp) /* 073810 80072C10 00808025 */ move $s0, $a0 /* 073814 80072C14 AFA60030 */ sw $a2, 0x30($sp) /* 073818 80072C18 AFA70034 */ sw $a3, 0x34($sp) /* 07381C 80072C1C 0C01C89C */ jal func_80072270 /* 073820 80072C20 24052000 */ li $a1, 8192 /* 073824 80072C24 10400013 */ beqz $v0, .L80072C74 /* 073828 80072C28 8FA30030 */ lw $v1, 0x30($sp) /* 07382C 80072C2C 001070C0 */ sll $t6, $s0, 3 /* 073830 80072C30 01D07023 */ subu $t6, $t6, $s0 /* 073834 80072C34 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 073838 80072C38 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 07383C 80072C3C 000E7140 */ sll $t6, $t6, 5 /* 073840 80072C40 01CF1021 */ addu $v0, $t6, $t7 /* 073844 80072C44 8FB8002C */ lw $t8, 0x2c($sp) /* 073848 80072C48 8FA80034 */ lw $t0, 0x34($sp) /* 07384C 80072C4C 24190001 */ li $t9, 1 /* 073850 80072C50 AC430050 */ sw $v1, 0x50($v0) /* 073854 80072C54 A05900D4 */ sb $t9, 0xd4($v0) /* 073858 80072C58 02002025 */ move $a0, $s0 /* 07385C 80072C5C 24052000 */ li $a1, 8192 /* 073860 80072C60 A05800D2 */ sb $t8, 0xd2($v0) /* 073864 80072C64 0C01C870 */ jal func_800721C0 /* 073868 80072C68 A04800CC */ sb $t0, 0xcc($v0) /* 07386C 80072C6C 1000002F */ b .L80072D2C /* 073870 80072C70 8FBF001C */ lw $ra, 0x1c($sp) .L80072C74: /* 073874 80072C74 001048C0 */ sll $t1, $s0, 3 /* 073878 80072C78 01304823 */ subu $t1, $t1, $s0 /* 07387C 80072C7C 3C0A8016 */ lui $t2, %hi(D_80165C18) # $t2, 0x8016 /* 073880 80072C80 254A5C18 */ addiu $t2, %lo(D_80165C18) # addiu $t2, $t2, 0x5c18 /* 073884 80072C84 00094940 */ sll $t1, $t1, 5 /* 073888 80072C88 012A1021 */ addu $v0, $t1, $t2 /* 07388C 80072C8C 8C4B0050 */ lw $t3, 0x50($v0) /* 073890 80072C90 256CFFFF */ addiu $t4, $t3, -1 /* 073894 80072C94 05810024 */ bgez $t4, .L80072D28 /* 073898 80072C98 AC4C0050 */ sw $t4, 0x50($v0) /* 07389C 80072C9C 804E00D4 */ lb $t6, 0xd4($v0) /* 0738A0 80072CA0 AC430050 */ sw $v1, 0x50($v0) /* 0738A4 80072CA4 02002025 */ move $a0, $s0 /* 0738A8 80072CA8 25CFFFFF */ addiu $t7, $t6, -1 /* 0738AC 80072CAC A04F00D4 */ sb $t7, 0xd4($v0) /* 0738B0 80072CB0 805800D4 */ lb $t8, 0xd4($v0) /* 0738B4 80072CB4 3C050008 */ lui $a1, 8 /* 0738B8 80072CB8 33190001 */ andi $t9, $t8, 1 /* 0738BC 80072CBC 13200007 */ beqz $t9, .L80072CDC /* 0738C0 80072CC0 00000000 */ nop /* 0738C4 80072CC4 02002025 */ move $a0, $s0 /* 0738C8 80072CC8 3C050008 */ lui $a1, 8 /* 0738CC 80072CCC 0C01C87A */ jal func_800721E8 /* 0738D0 80072CD0 AFA20024 */ sw $v0, 0x24($sp) /* 0738D4 80072CD4 10000004 */ b .L80072CE8 /* 0738D8 80072CD8 8FA20024 */ lw $v0, 0x24($sp) .L80072CDC: /* 0738DC 80072CDC 0C01C870 */ jal func_800721C0 /* 0738E0 80072CE0 AFA20024 */ sw $v0, 0x24($sp) /* 0738E4 80072CE4 8FA20024 */ lw $v0, 0x24($sp) .L80072CE8: /* 0738E8 80072CE8 804800D4 */ lb $t0, 0xd4($v0) /* 0738EC 80072CEC 0503000F */ bgezl $t0, .L80072D2C /* 0738F0 80072CF0 8FBF001C */ lw $ra, 0x1c($sp) /* 0738F4 80072CF4 804300CC */ lb $v1, 0xcc($v0) /* 0738F8 80072CF8 24090001 */ li $t1, 1 /* 0738FC 80072CFC A04900D4 */ sb $t1, 0xd4($v0) /* 073900 80072D00 18600003 */ blez $v1, .L80072D10 /* 073904 80072D04 246AFFFF */ addiu $t2, $v1, -1 /* 073908 80072D08 A04A00CC */ sb $t2, 0xcc($v0) /* 07390C 80072D0C 804300CC */ lb $v1, 0xcc($v0) .L80072D10: /* 073910 80072D10 14600005 */ bnez $v1, .L80072D28 /* 073914 80072D14 02002025 */ move $a0, $s0 /* 073918 80072D18 0C01C87A */ jal func_800721E8 /* 07391C 80072D1C 24052000 */ li $a1, 8192 /* 073920 80072D20 0C01C922 */ jal func_80072488 /* 073924 80072D24 02002025 */ move $a0, $s0 .L80072D28: /* 073928 80072D28 8FBF001C */ lw $ra, 0x1c($sp) .L80072D2C: /* 07392C 80072D2C 8FB00018 */ lw $s0, 0x18($sp) /* 073930 80072D30 27BD0028 */ addiu $sp, $sp, 0x28 /* 073934 80072D34 03E00008 */ jr $ra /* 073938 80072D38 00000000 */ nop glabel func_80072D3C /* 07393C 80072D3C 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 073940 80072D40 AFBF0014 */ sw $ra, 0x14($sp) /* 073944 80072D44 AFA5001C */ sw $a1, 0x1c($sp) /* 073948 80072D48 AFA60020 */ sw $a2, 0x20($sp) /* 07394C 80072D4C AFA70024 */ sw $a3, 0x24($sp) /* 073950 80072D50 24052000 */ li $a1, 8192 /* 073954 80072D54 0C01C89C */ jal func_80072270 /* 073958 80072D58 AFA40018 */ sw $a0, 0x18($sp) /* 07395C 80072D5C 8FA30024 */ lw $v1, 0x24($sp) /* 073960 80072D60 8FA40018 */ lw $a0, 0x18($sp) /* 073964 80072D64 10400011 */ beqz $v0, .L80072DAC /* 073968 80072D68 8FA6001C */ lw $a2, 0x1c($sp) /* 07396C 80072D6C 000470C0 */ sll $t6, $a0, 3 /* 073970 80072D70 01C47023 */ subu $t6, $t6, $a0 /* 073974 80072D74 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 073978 80072D78 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 07397C 80072D7C 000E7140 */ sll $t6, $t6, 5 /* 073980 80072D80 01CF1021 */ addu $v0, $t6, $t7 /* 073984 80072D84 8FB90028 */ lw $t9, 0x28($sp) /* 073988 80072D88 24180001 */ li $t8, 1 /* 07398C 80072D8C AC430050 */ sw $v1, 0x50($v0) /* 073990 80072D90 A04600D2 */ sb $a2, 0xd2($v0) /* 073994 80072D94 A05800D4 */ sb $t8, 0xd4($v0) /* 073998 80072D98 24052000 */ li $a1, 8192 /* 07399C 80072D9C 0C01C870 */ jal func_800721C0 /* 0739A0 80072DA0 A05900CC */ sb $t9, 0xcc($v0) /* 0739A4 80072DA4 10000028 */ b .L80072E48 /* 0739A8 80072DA8 8FBF0014 */ lw $ra, 0x14($sp) .L80072DAC: /* 0739AC 80072DAC 000440C0 */ sll $t0, $a0, 3 /* 0739B0 80072DB0 01044023 */ subu $t0, $t0, $a0 /* 0739B4 80072DB4 3C098016 */ lui $t1, %hi(D_80165C18) # $t1, 0x8016 /* 0739B8 80072DB8 25295C18 */ addiu $t1, %lo(D_80165C18) # addiu $t1, $t1, 0x5c18 /* 0739BC 80072DBC 00084140 */ sll $t0, $t0, 5 /* 0739C0 80072DC0 01091021 */ addu $v0, $t0, $t1 /* 0739C4 80072DC4 8C4A0050 */ lw $t2, 0x50($v0) /* 0739C8 80072DC8 254BFFFF */ addiu $t3, $t2, -1 /* 0739CC 80072DCC 0561001D */ bgez $t3, .L80072E44 /* 0739D0 80072DD0 AC4B0050 */ sw $t3, 0x50($v0) /* 0739D4 80072DD4 804D00D4 */ lb $t5, 0xd4($v0) /* 0739D8 80072DD8 AC430050 */ sw $v1, 0x50($v0) /* 0739DC 80072DDC 25AEFFFF */ addiu $t6, $t5, -1 /* 0739E0 80072DE0 A04E00D4 */ sb $t6, 0xd4($v0) /* 0739E4 80072DE4 804F00D4 */ lb $t7, 0xd4($v0) /* 0739E8 80072DE8 8FB90020 */ lw $t9, 0x20($sp) /* 0739EC 80072DEC 31F80001 */ andi $t8, $t7, 1 /* 0739F0 80072DF0 53000004 */ beql $t8, $zero, .L80072E04 /* 0739F4 80072DF4 A05900D2 */ sb $t9, 0xd2($v0) /* 0739F8 80072DF8 10000002 */ b .L80072E04 /* 0739FC 80072DFC A04600D2 */ sb $a2, 0xd2($v0) /* 073A00 80072E00 A05900D2 */ sb $t9, 0xd2($v0) .L80072E04: /* 073A04 80072E04 804800D4 */ lb $t0, 0xd4($v0) /* 073A08 80072E08 0503000F */ bgezl $t0, .L80072E48 /* 073A0C 80072E0C 8FBF0014 */ lw $ra, 0x14($sp) /* 073A10 80072E10 804300CC */ lb $v1, 0xcc($v0) /* 073A14 80072E14 24090001 */ li $t1, 1 /* 073A18 80072E18 A04900D4 */ sb $t1, 0xd4($v0) /* 073A1C 80072E1C 18600003 */ blez $v1, .L80072E2C /* 073A20 80072E20 246AFFFF */ addiu $t2, $v1, -1 /* 073A24 80072E24 A04A00CC */ sb $t2, 0xcc($v0) /* 073A28 80072E28 804300CC */ lb $v1, 0xcc($v0) .L80072E2C: /* 073A2C 80072E2C 14600005 */ bnez $v1, .L80072E44 /* 073A30 80072E30 24052000 */ li $a1, 8192 /* 073A34 80072E34 0C01C87A */ jal func_800721E8 /* 073A38 80072E38 AFA40018 */ sw $a0, 0x18($sp) /* 073A3C 80072E3C 0C01C922 */ jal func_80072488 /* 073A40 80072E40 8FA40018 */ lw $a0, 0x18($sp) .L80072E44: /* 073A44 80072E44 8FBF0014 */ lw $ra, 0x14($sp) .L80072E48: /* 073A48 80072E48 27BD0018 */ addiu $sp, $sp, 0x18 /* 073A4C 80072E4C 03E00008 */ jr $ra /* 073A50 80072E50 00000000 */ nop glabel func_80072E54 /* 073A54 80072E54 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 073A58 80072E58 AFBF001C */ sw $ra, 0x1c($sp) /* 073A5C 80072E5C AFB00018 */ sw $s0, 0x18($sp) /* 073A60 80072E60 AFA5002C */ sw $a1, 0x2c($sp) /* 073A64 80072E64 00808025 */ move $s0, $a0 /* 073A68 80072E68 AFA60030 */ sw $a2, 0x30($sp) /* 073A6C 80072E6C AFA70034 */ sw $a3, 0x34($sp) /* 073A70 80072E70 AFA00024 */ sw $zero, 0x24($sp) /* 073A74 80072E74 0C01C89C */ jal func_80072270 /* 073A78 80072E78 24052000 */ li $a1, 8192 /* 073A7C 80072E7C 8FA6002C */ lw $a2, 0x2c($sp) /* 073A80 80072E80 10400014 */ beqz $v0, .L80072ED4 /* 073A84 80072E84 8FA70030 */ lw $a3, 0x30($sp) /* 073A88 80072E88 001070C0 */ sll $t6, $s0, 3 /* 073A8C 80072E8C 01D07023 */ subu $t6, $t6, $s0 /* 073A90 80072E90 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 073A94 80072E94 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 073A98 80072E98 000E7140 */ sll $t6, $t6, 5 /* 073A9C 80072E9C 8FB80038 */ lw $t8, 0x38($sp) /* 073AA0 80072EA0 8FB9003C */ lw $t9, 0x3c($sp) /* 073AA4 80072EA4 01CF1021 */ addu $v0, $t6, $t7 /* 073AA8 80072EA8 A04600D2 */ sb $a2, 0xd2($v0) /* 073AAC 80072EAC 02002025 */ move $a0, $s0 /* 073AB0 80072EB0 24050001 */ li $a1, 1 /* 073AB4 80072EB4 AC580050 */ sw $t8, 0x50($v0) /* 073AB8 80072EB8 0C01C8E2 */ jal func_80072388 /* 073ABC 80072EBC A05900CC */ sb $t9, 0xcc($v0) /* 073AC0 80072EC0 02002025 */ move $a0, $s0 /* 073AC4 80072EC4 0C01C870 */ jal func_800721C0 /* 073AC8 80072EC8 24052000 */ li $a1, 8192 /* 073ACC 80072ECC 1000002A */ b .L80072F78 /* 073AD0 80072ED0 8FBF001C */ lw $ra, 0x1c($sp) .L80072ED4: /* 073AD4 80072ED4 001040C0 */ sll $t0, $s0, 3 /* 073AD8 80072ED8 01104023 */ subu $t0, $t0, $s0 /* 073ADC 80072EDC 3C098016 */ lui $t1, %hi(D_80165C18) # $t1, 0x8016 /* 073AE0 80072EE0 25295C18 */ addiu $t1, %lo(D_80165C18) # addiu $t1, $t1, 0x5c18 /* 073AE4 80072EE4 00084140 */ sll $t0, $t0, 5 /* 073AE8 80072EE8 01091021 */ addu $v0, $t0, $t1 /* 073AEC 80072EEC 8C4A0050 */ lw $t2, 0x50($v0) /* 073AF0 80072EF0 254BFFFF */ addiu $t3, $t2, -1 /* 073AF4 80072EF4 1D60001F */ bgtz $t3, .L80072F74 /* 073AF8 80072EF8 AC4B0050 */ sw $t3, 0x50($v0) /* 073AFC 80072EFC 804E00D2 */ lb $t6, 0xd2($v0) /* 073B00 80072F00 8FAF0034 */ lw $t7, 0x34($sp) /* 073B04 80072F04 8FAD0038 */ lw $t5, 0x38($sp) /* 073B08 80072F08 01CFC021 */ addu $t8, $t6, $t7 /* 073B0C 80072F0C A05800D2 */ sb $t8, 0xd2($v0) /* 073B10 80072F10 805900D2 */ lb $t9, 0xd2($v0) /* 073B14 80072F14 AC4D0050 */ sw $t5, 0x50($v0) /* 073B18 80072F18 00F9082A */ slt $at, $a3, $t9 /* 073B1C 80072F1C 50200016 */ beql $at, $zero, .L80072F78 /* 073B20 80072F20 8FBF001C */ lw $ra, 0x1c($sp) /* 073B24 80072F24 804300CC */ lb $v1, 0xcc($v0) /* 073B28 80072F28 02002025 */ move $a0, $s0 /* 073B2C 80072F2C 24052000 */ li $a1, 8192 /* 073B30 80072F30 18600003 */ blez $v1, .L80072F40 /* 073B34 80072F34 2468FFFF */ addiu $t0, $v1, -1 /* 073B38 80072F38 A04800CC */ sb $t0, 0xcc($v0) /* 073B3C 80072F3C 804300CC */ lb $v1, 0xcc($v0) .L80072F40: /* 073B40 80072F40 5460000C */ bnel $v1, $zero, .L80072F74 /* 073B44 80072F44 A04600D2 */ sb $a2, 0xd2($v0) /* 073B48 80072F48 0C01C87A */ jal func_800721E8 /* 073B4C 80072F4C A04700D2 */ sb $a3, 0xd2($v0) /* 073B50 80072F50 02002025 */ move $a0, $s0 /* 073B54 80072F54 0C01C8E2 */ jal func_80072388 /* 073B58 80072F58 00002825 */ move $a1, $zero /* 073B5C 80072F5C 0C01C922 */ jal func_80072488 /* 073B60 80072F60 02002025 */ move $a0, $s0 /* 073B64 80072F64 24090001 */ li $t1, 1 /* 073B68 80072F68 10000002 */ b .L80072F74 /* 073B6C 80072F6C AFA90024 */ sw $t1, 0x24($sp) /* 073B70 80072F70 A04600D2 */ sb $a2, 0xd2($v0) .L80072F74: /* 073B74 80072F74 8FBF001C */ lw $ra, 0x1c($sp) .L80072F78: /* 073B78 80072F78 8FA20024 */ lw $v0, 0x24($sp) /* 073B7C 80072F7C 8FB00018 */ lw $s0, 0x18($sp) /* 073B80 80072F80 03E00008 */ jr $ra /* 073B84 80072F84 27BD0028 */ addiu $sp, $sp, 0x28 glabel func_80072F88 /* 073B88 80072F88 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 073B8C 80072F8C AFBF001C */ sw $ra, 0x1c($sp) /* 073B90 80072F90 AFB00018 */ sw $s0, 0x18($sp) /* 073B94 80072F94 AFA5002C */ sw $a1, 0x2c($sp) /* 073B98 80072F98 00808025 */ move $s0, $a0 /* 073B9C 80072F9C AFA60030 */ sw $a2, 0x30($sp) /* 073BA0 80072FA0 AFA70034 */ sw $a3, 0x34($sp) /* 073BA4 80072FA4 AFA00024 */ sw $zero, 0x24($sp) /* 073BA8 80072FA8 0C01C89C */ jal func_80072270 /* 073BAC 80072FAC 24052000 */ li $a1, 8192 /* 073BB0 80072FB0 8FA6002C */ lw $a2, 0x2c($sp) /* 073BB4 80072FB4 10400014 */ beqz $v0, .L80073008 /* 073BB8 80072FB8 8FA70030 */ lw $a3, 0x30($sp) /* 073BBC 80072FBC 001070C0 */ sll $t6, $s0, 3 /* 073BC0 80072FC0 01D07023 */ subu $t6, $t6, $s0 /* 073BC4 80072FC4 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 073BC8 80072FC8 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 073BCC 80072FCC 000E7140 */ sll $t6, $t6, 5 /* 073BD0 80072FD0 8FB80038 */ lw $t8, 0x38($sp) /* 073BD4 80072FD4 8FB9003C */ lw $t9, 0x3c($sp) /* 073BD8 80072FD8 01CF1021 */ addu $v0, $t6, $t7 /* 073BDC 80072FDC A04600D2 */ sb $a2, 0xd2($v0) /* 073BE0 80072FE0 02002025 */ move $a0, $s0 /* 073BE4 80072FE4 24050001 */ li $a1, 1 /* 073BE8 80072FE8 AC580050 */ sw $t8, 0x50($v0) /* 073BEC 80072FEC 0C01C8E2 */ jal func_80072388 /* 073BF0 80072FF0 A05900CC */ sb $t9, 0xcc($v0) /* 073BF4 80072FF4 02002025 */ move $a0, $s0 /* 073BF8 80072FF8 0C01C870 */ jal func_800721C0 /* 073BFC 80072FFC 24052000 */ li $a1, 8192 /* 073C00 80073000 1000002A */ b .L800730AC /* 073C04 80073004 8FBF001C */ lw $ra, 0x1c($sp) .L80073008: /* 073C08 80073008 001040C0 */ sll $t0, $s0, 3 /* 073C0C 8007300C 01104023 */ subu $t0, $t0, $s0 /* 073C10 80073010 3C098016 */ lui $t1, %hi(D_80165C18) # $t1, 0x8016 /* 073C14 80073014 25295C18 */ addiu $t1, %lo(D_80165C18) # addiu $t1, $t1, 0x5c18 /* 073C18 80073018 00084140 */ sll $t0, $t0, 5 /* 073C1C 8007301C 01091021 */ addu $v0, $t0, $t1 /* 073C20 80073020 8C4A0050 */ lw $t2, 0x50($v0) /* 073C24 80073024 254BFFFF */ addiu $t3, $t2, -1 /* 073C28 80073028 1D60001F */ bgtz $t3, .L800730A8 /* 073C2C 8007302C AC4B0050 */ sw $t3, 0x50($v0) /* 073C30 80073030 804E00D2 */ lb $t6, 0xd2($v0) /* 073C34 80073034 8FAF0034 */ lw $t7, 0x34($sp) /* 073C38 80073038 8FAD0038 */ lw $t5, 0x38($sp) /* 073C3C 8007303C 01CFC023 */ subu $t8, $t6, $t7 /* 073C40 80073040 A05800D2 */ sb $t8, 0xd2($v0) /* 073C44 80073044 805900D2 */ lb $t9, 0xd2($v0) /* 073C48 80073048 AC4D0050 */ sw $t5, 0x50($v0) /* 073C4C 8007304C 0327082A */ slt $at, $t9, $a3 /* 073C50 80073050 50200016 */ beql $at, $zero, .L800730AC /* 073C54 80073054 8FBF001C */ lw $ra, 0x1c($sp) /* 073C58 80073058 804300CC */ lb $v1, 0xcc($v0) /* 073C5C 8007305C 02002025 */ move $a0, $s0 /* 073C60 80073060 24052000 */ li $a1, 8192 /* 073C64 80073064 18600003 */ blez $v1, .L80073074 /* 073C68 80073068 2468FFFF */ addiu $t0, $v1, -1 /* 073C6C 8007306C A04800CC */ sb $t0, 0xcc($v0) /* 073C70 80073070 804300CC */ lb $v1, 0xcc($v0) .L80073074: /* 073C74 80073074 5460000C */ bnel $v1, $zero, .L800730A8 /* 073C78 80073078 A04600D2 */ sb $a2, 0xd2($v0) /* 073C7C 8007307C 0C01C87A */ jal func_800721E8 /* 073C80 80073080 A04700D2 */ sb $a3, 0xd2($v0) /* 073C84 80073084 02002025 */ move $a0, $s0 /* 073C88 80073088 0C01C8E2 */ jal func_80072388 /* 073C8C 8007308C 00002825 */ move $a1, $zero /* 073C90 80073090 0C01C922 */ jal func_80072488 /* 073C94 80073094 02002025 */ move $a0, $s0 /* 073C98 80073098 24090001 */ li $t1, 1 /* 073C9C 8007309C 10000002 */ b .L800730A8 /* 073CA0 800730A0 AFA90024 */ sw $t1, 0x24($sp) /* 073CA4 800730A4 A04600D2 */ sb $a2, 0xd2($v0) .L800730A8: /* 073CA8 800730A8 8FBF001C */ lw $ra, 0x1c($sp) .L800730AC: /* 073CAC 800730AC 8FA20024 */ lw $v0, 0x24($sp) /* 073CB0 800730B0 8FB00018 */ lw $s0, 0x18($sp) /* 073CB4 800730B4 03E00008 */ jr $ra /* 073CB8 800730B8 27BD0028 */ addiu $sp, $sp, 0x28 glabel func_800730BC /* 073CBC 800730BC 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 073CC0 800730C0 AFBF001C */ sw $ra, 0x1c($sp) /* 073CC4 800730C4 AFB00018 */ sw $s0, 0x18($sp) /* 073CC8 800730C8 AFA5002C */ sw $a1, 0x2c($sp) /* 073CCC 800730CC 00808025 */ move $s0, $a0 /* 073CD0 800730D0 AFA60030 */ sw $a2, 0x30($sp) /* 073CD4 800730D4 AFA70034 */ sw $a3, 0x34($sp) /* 073CD8 800730D8 AFA00024 */ sw $zero, 0x24($sp) /* 073CDC 800730DC 0C01C89C */ jal func_80072270 /* 073CE0 800730E0 24052000 */ li $a1, 8192 /* 073CE4 800730E4 10400017 */ beqz $v0, .L80073144 /* 073CE8 800730E8 8FA6002C */ lw $a2, 0x2c($sp) /* 073CEC 800730EC 001070C0 */ sll $t6, $s0, 3 /* 073CF0 800730F0 01D07023 */ subu $t6, $t6, $s0 /* 073CF4 800730F4 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 073CF8 800730F8 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 073CFC 800730FC 000E7140 */ sll $t6, $t6, 5 /* 073D00 80073100 8FB80038 */ lw $t8, 0x38($sp) /* 073D04 80073104 8FB9003C */ lw $t9, 0x3c($sp) /* 073D08 80073108 01CF1821 */ addu $v1, $t6, $t7 /* 073D0C 8007310C A06600D2 */ sb $a2, 0xd2($v1) /* 073D10 80073110 02002025 */ move $a0, $s0 /* 073D14 80073114 24050001 */ li $a1, 1 /* 073D18 80073118 AC780050 */ sw $t8, 0x50($v1) /* 073D1C 8007311C 0C01C8E2 */ jal func_80072388 /* 073D20 80073120 A07900CC */ sb $t9, 0xcc($v1) /* 073D24 80073124 02002025 */ move $a0, $s0 /* 073D28 80073128 0C01C870 */ jal func_800721C0 /* 073D2C 8007312C 24052000 */ li $a1, 8192 /* 073D30 80073130 02002025 */ move $a0, $s0 /* 073D34 80073134 0C01C87A */ jal func_800721E8 /* 073D38 80073138 24054000 */ li $a1, 16384 /* 073D3C 8007313C 10000047 */ b .L8007325C /* 073D40 80073140 8FBF001C */ lw $ra, 0x1c($sp) .L80073144: /* 073D44 80073144 001040C0 */ sll $t0, $s0, 3 /* 073D48 80073148 01104023 */ subu $t0, $t0, $s0 /* 073D4C 8007314C 3C098016 */ lui $t1, %hi(D_80165C18) # $t1, 0x8016 /* 073D50 80073150 25295C18 */ addiu $t1, %lo(D_80165C18) # addiu $t1, $t1, 0x5c18 /* 073D54 80073154 00084140 */ sll $t0, $t0, 5 /* 073D58 80073158 01091821 */ addu $v1, $t0, $t1 /* 073D5C 8007315C 8C6A0050 */ lw $t2, 0x50($v1) /* 073D60 80073160 02002025 */ move $a0, $s0 /* 073D64 80073164 24054000 */ li $a1, 16384 /* 073D68 80073168 254BFFFF */ addiu $t3, $t2, -1 /* 073D6C 8007316C 1D60003A */ bgtz $t3, .L80073258 /* 073D70 80073170 AC6B0050 */ sw $t3, 0x50($v1) /* 073D74 80073174 8FAD0038 */ lw $t5, 0x38($sp) /* 073D78 80073178 AFA30020 */ sw $v1, 0x20($sp) /* 073D7C 8007317C 0C01C89C */ jal func_80072270 /* 073D80 80073180 AC6D0050 */ sw $t5, 0x50($v1) /* 073D84 80073184 8FA30020 */ lw $v1, 0x20($sp) /* 073D88 80073188 10400010 */ beqz $v0, .L800731CC /* 073D8C 8007318C 8FA6002C */ lw $a2, 0x2c($sp) /* 073D90 80073190 806E00D2 */ lb $t6, 0xd2($v1) /* 073D94 80073194 8FAF0034 */ lw $t7, 0x34($sp) /* 073D98 80073198 8FA20030 */ lw $v0, 0x30($sp) /* 073D9C 8007319C 02002025 */ move $a0, $s0 /* 073DA0 800731A0 01CFC021 */ addu $t8, $t6, $t7 /* 073DA4 800731A4 A07800D2 */ sb $t8, 0xd2($v1) /* 073DA8 800731A8 807900D2 */ lb $t9, 0xd2($v1) /* 073DAC 800731AC 24054000 */ li $a1, 16384 /* 073DB0 800731B0 0322082A */ slt $at, $t9, $v0 /* 073DB4 800731B4 54200029 */ bnel $at, $zero, .L8007325C /* 073DB8 800731B8 8FBF001C */ lw $ra, 0x1c($sp) /* 073DBC 800731BC 0C01C870 */ jal func_800721C0 /* 073DC0 800731C0 A06200D2 */ sb $v0, 0xd2($v1) /* 073DC4 800731C4 10000025 */ b .L8007325C /* 073DC8 800731C8 8FBF001C */ lw $ra, 0x1c($sp) .L800731CC: /* 073DCC 800731CC 806800D2 */ lb $t0, 0xd2($v1) /* 073DD0 800731D0 8FA90034 */ lw $t1, 0x34($sp) /* 073DD4 800731D4 01095023 */ subu $t2, $t0, $t1 /* 073DD8 800731D8 A06A00D2 */ sb $t2, 0xd2($v1) /* 073DDC 800731DC 806B00D2 */ lb $t3, 0xd2($v1) /* 073DE0 800731E0 00CB082A */ slt $at, $a2, $t3 /* 073DE4 800731E4 5420001D */ bnel $at, $zero, .L8007325C /* 073DE8 800731E8 8FBF001C */ lw $ra, 0x1c($sp) /* 073DEC 800731EC 806200CC */ lb $v0, 0xcc($v1) /* 073DF0 800731F0 A06600D2 */ sb $a2, 0xd2($v1) /* 073DF4 800731F4 02002025 */ move $a0, $s0 /* 073DF8 800731F8 18400003 */ blez $v0, .L80073208 /* 073DFC 800731FC 244CFFFF */ addiu $t4, $v0, -1 /* 073E00 80073200 A06C00CC */ sb $t4, 0xcc($v1) /* 073E04 80073204 806200CC */ lb $v0, 0xcc($v1) .L80073208: /* 073E08 80073208 1440000E */ bnez $v0, .L80073244 /* 073E0C 8007320C 24050080 */ li $a1, 128 /* 073E10 80073210 0C01C87A */ jal func_800721E8 /* 073E14 80073214 02002025 */ move $a0, $s0 /* 073E18 80073218 02002025 */ move $a0, $s0 /* 073E1C 8007321C 0C01C87A */ jal func_800721E8 /* 073E20 80073220 24052000 */ li $a1, 8192 /* 073E24 80073224 02002025 */ move $a0, $s0 /* 073E28 80073228 0C01C8E2 */ jal func_80072388 /* 073E2C 8007322C 00002825 */ move $a1, $zero /* 073E30 80073230 0C01C922 */ jal func_80072488 /* 073E34 80073234 02002025 */ move $a0, $s0 /* 073E38 80073238 240D0001 */ li $t5, 1 /* 073E3C 8007323C 10000006 */ b .L80073258 /* 073E40 80073240 AFAD0024 */ sw $t5, 0x24($sp) .L80073244: /* 073E44 80073244 0C01C87A */ jal func_800721E8 /* 073E48 80073248 24054000 */ li $a1, 16384 /* 073E4C 8007324C 02002025 */ move $a0, $s0 /* 073E50 80073250 0C01C870 */ jal func_800721C0 /* 073E54 80073254 24050080 */ li $a1, 128 .L80073258: /* 073E58 80073258 8FBF001C */ lw $ra, 0x1c($sp) .L8007325C: /* 073E5C 8007325C 8FA20024 */ lw $v0, 0x24($sp) /* 073E60 80073260 8FB00018 */ lw $s0, 0x18($sp) /* 073E64 80073264 03E00008 */ jr $ra /* 073E68 80073268 27BD0028 */ addiu $sp, $sp, 0x28 glabel func_8007326C /* 073E6C 8007326C 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 073E70 80073270 AFBF001C */ sw $ra, 0x1c($sp) /* 073E74 80073274 AFB00018 */ sw $s0, 0x18($sp) /* 073E78 80073278 AFA5002C */ sw $a1, 0x2c($sp) /* 073E7C 8007327C 00808025 */ move $s0, $a0 /* 073E80 80073280 AFA60030 */ sw $a2, 0x30($sp) /* 073E84 80073284 AFA70034 */ sw $a3, 0x34($sp) /* 073E88 80073288 AFA00024 */ sw $zero, 0x24($sp) /* 073E8C 8007328C 0C01C89C */ jal func_80072270 /* 073E90 80073290 24052000 */ li $a1, 8192 /* 073E94 80073294 10400017 */ beqz $v0, .L800732F4 /* 073E98 80073298 8FA6002C */ lw $a2, 0x2c($sp) /* 073E9C 8007329C 001070C0 */ sll $t6, $s0, 3 /* 073EA0 800732A0 01D07023 */ subu $t6, $t6, $s0 /* 073EA4 800732A4 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 073EA8 800732A8 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 073EAC 800732AC 000E7140 */ sll $t6, $t6, 5 /* 073EB0 800732B0 8FB80038 */ lw $t8, 0x38($sp) /* 073EB4 800732B4 8FB9003C */ lw $t9, 0x3c($sp) /* 073EB8 800732B8 01CF1821 */ addu $v1, $t6, $t7 /* 073EBC 800732BC A06600D2 */ sb $a2, 0xd2($v1) /* 073EC0 800732C0 02002025 */ move $a0, $s0 /* 073EC4 800732C4 24050001 */ li $a1, 1 /* 073EC8 800732C8 AC780050 */ sw $t8, 0x50($v1) /* 073ECC 800732CC 0C01C8E2 */ jal func_80072388 /* 073ED0 800732D0 A07900CC */ sb $t9, 0xcc($v1) /* 073ED4 800732D4 02002025 */ move $a0, $s0 /* 073ED8 800732D8 0C01C870 */ jal func_800721C0 /* 073EDC 800732DC 24052000 */ li $a1, 8192 /* 073EE0 800732E0 02002025 */ move $a0, $s0 /* 073EE4 800732E4 0C01C87A */ jal func_800721E8 /* 073EE8 800732E8 24054000 */ li $a1, 16384 /* 073EEC 800732EC 10000041 */ b .L800733F4 /* 073EF0 800732F0 8FBF001C */ lw $ra, 0x1c($sp) .L800732F4: /* 073EF4 800732F4 001040C0 */ sll $t0, $s0, 3 /* 073EF8 800732F8 01104023 */ subu $t0, $t0, $s0 /* 073EFC 800732FC 3C098016 */ lui $t1, %hi(D_80165C18) # $t1, 0x8016 /* 073F00 80073300 25295C18 */ addiu $t1, %lo(D_80165C18) # addiu $t1, $t1, 0x5c18 /* 073F04 80073304 00084140 */ sll $t0, $t0, 5 /* 073F08 80073308 01091821 */ addu $v1, $t0, $t1 /* 073F0C 8007330C 8C6A0050 */ lw $t2, 0x50($v1) /* 073F10 80073310 02002025 */ move $a0, $s0 /* 073F14 80073314 24054000 */ li $a1, 16384 /* 073F18 80073318 254BFFFF */ addiu $t3, $t2, -1 /* 073F1C 8007331C 1D600034 */ bgtz $t3, .L800733F0 /* 073F20 80073320 AC6B0050 */ sw $t3, 0x50($v1) /* 073F24 80073324 8FAD0038 */ lw $t5, 0x38($sp) /* 073F28 80073328 AFA30020 */ sw $v1, 0x20($sp) /* 073F2C 8007332C 0C01C89C */ jal func_80072270 /* 073F30 80073330 AC6D0050 */ sw $t5, 0x50($v1) /* 073F34 80073334 8FA30020 */ lw $v1, 0x20($sp) /* 073F38 80073338 10400010 */ beqz $v0, .L8007337C /* 073F3C 8007333C 8FA6002C */ lw $a2, 0x2c($sp) /* 073F40 80073340 806E00D2 */ lb $t6, 0xd2($v1) /* 073F44 80073344 8FAF0034 */ lw $t7, 0x34($sp) /* 073F48 80073348 8FA20030 */ lw $v0, 0x30($sp) /* 073F4C 8007334C 02002025 */ move $a0, $s0 /* 073F50 80073350 01CFC023 */ subu $t8, $t6, $t7 /* 073F54 80073354 A07800D2 */ sb $t8, 0xd2($v1) /* 073F58 80073358 807900D2 */ lb $t9, 0xd2($v1) /* 073F5C 8007335C 24054000 */ li $a1, 16384 /* 073F60 80073360 0059082A */ slt $at, $v0, $t9 /* 073F64 80073364 54200023 */ bnel $at, $zero, .L800733F4 /* 073F68 80073368 8FBF001C */ lw $ra, 0x1c($sp) /* 073F6C 8007336C 0C01C870 */ jal func_800721C0 /* 073F70 80073370 A06200D2 */ sb $v0, 0xd2($v1) /* 073F74 80073374 1000001F */ b .L800733F4 /* 073F78 80073378 8FBF001C */ lw $ra, 0x1c($sp) .L8007337C: /* 073F7C 8007337C 806800D2 */ lb $t0, 0xd2($v1) /* 073F80 80073380 8FA90034 */ lw $t1, 0x34($sp) /* 073F84 80073384 01095021 */ addu $t2, $t0, $t1 /* 073F88 80073388 A06A00D2 */ sb $t2, 0xd2($v1) /* 073F8C 8007338C 806B00D2 */ lb $t3, 0xd2($v1) /* 073F90 80073390 0166082A */ slt $at, $t3, $a2 /* 073F94 80073394 54200017 */ bnel $at, $zero, .L800733F4 /* 073F98 80073398 8FBF001C */ lw $ra, 0x1c($sp) /* 073F9C 8007339C 806200CC */ lb $v0, 0xcc($v1) /* 073FA0 800733A0 A06600D2 */ sb $a2, 0xd2($v1) /* 073FA4 800733A4 02002025 */ move $a0, $s0 /* 073FA8 800733A8 18400003 */ blez $v0, .L800733B8 /* 073FAC 800733AC 244CFFFF */ addiu $t4, $v0, -1 /* 073FB0 800733B0 A06C00CC */ sb $t4, 0xcc($v1) /* 073FB4 800733B4 806200CC */ lb $v0, 0xcc($v1) .L800733B8: /* 073FB8 800733B8 1440000B */ bnez $v0, .L800733E8 /* 073FBC 800733BC 24052000 */ li $a1, 8192 /* 073FC0 800733C0 0C01C87A */ jal func_800721E8 /* 073FC4 800733C4 02002025 */ move $a0, $s0 /* 073FC8 800733C8 02002025 */ move $a0, $s0 /* 073FCC 800733CC 0C01C8E2 */ jal func_80072388 /* 073FD0 800733D0 00002825 */ move $a1, $zero /* 073FD4 800733D4 0C01C922 */ jal func_80072488 /* 073FD8 800733D8 02002025 */ move $a0, $s0 /* 073FDC 800733DC 240D0001 */ li $t5, 1 /* 073FE0 800733E0 10000003 */ b .L800733F0 /* 073FE4 800733E4 AFAD0024 */ sw $t5, 0x24($sp) .L800733E8: /* 073FE8 800733E8 0C01C87A */ jal func_800721E8 /* 073FEC 800733EC 24054000 */ li $a1, 16384 .L800733F0: /* 073FF0 800733F0 8FBF001C */ lw $ra, 0x1c($sp) .L800733F4: /* 073FF4 800733F4 8FA20024 */ lw $v0, 0x24($sp) /* 073FF8 800733F8 8FB00018 */ lw $s0, 0x18($sp) /* 073FFC 800733FC 03E00008 */ jr $ra /* 074000 80073400 27BD0028 */ addiu $sp, $sp, 0x28 glabel func_80073404 /* 074004 80073404 0004C0C0 */ sll $t8, $a0, 3 /* 074008 80073408 0304C023 */ subu $t8, $t8, $a0 /* 07400C 8007340C 3C198016 */ lui $t9, %hi(D_80165C18) # $t9, 0x8016 /* 074010 80073410 27395C18 */ addiu $t9, %lo(D_80165C18) # addiu $t9, $t9, 0x5c18 /* 074014 80073414 0018C140 */ sll $t8, $t8, 5 /* 074018 80073418 03191021 */ addu $v0, $t8, $t9 /* 07401C 8007341C 2408FFFF */ li $t0, -1 /* 074020 80073420 AFA50004 */ sw $a1, 4($sp) /* 074024 80073424 AFA60008 */ sw $a2, 8($sp) /* 074028 80073428 AC470074 */ sw $a3, 0x74($v0) /* 07402C 8007342C A04500D9 */ sb $a1, 0xd9($v0) /* 074030 80073430 A04600DA */ sb $a2, 0xda($v0) /* 074034 80073434 A04000D2 */ sb $zero, 0xd2($v0) /* 074038 80073438 A04800D3 */ sb $t0, 0xd3($v0) /* 07403C 8007343C 03E00008 */ jr $ra /* 074040 80073440 AC400054 */ sw $zero, 0x54($v0) glabel func_80073444 /* 074044 80073444 000478C0 */ sll $t7, $a0, 3 /* 074048 80073448 01E47823 */ subu $t7, $t7, $a0 /* 07404C 8007344C 3C188016 */ lui $t8, %hi(D_80165C18) # $t8, 0x8016 /* 074050 80073450 27185C18 */ addiu $t8, %lo(D_80165C18) # addiu $t8, $t8, 0x5c18 /* 074054 80073454 000F7940 */ sll $t7, $t7, 5 /* 074058 80073458 01F81021 */ addu $v0, $t7, $t8 /* 07405C 8007345C 97B90012 */ lhu $t9, 0x12($sp) /* 074060 80073460 2408FFFF */ li $t0, -1 /* 074064 80073464 AFA7000C */ sw $a3, 0xc($sp) /* 074068 80073468 AC450068 */ sw $a1, 0x68($v0) /* 07406C 8007346C AC46006C */ sw $a2, 0x6c($v0) /* 074070 80073470 A04700D9 */ sb $a3, 0xd9($v0) /* 074074 80073474 A04000D2 */ sb $zero, 0xd2($v0) /* 074078 80073478 A04800D3 */ sb $t0, 0xd3($v0) /* 07407C 8007347C AC400054 */ sw $zero, 0x54($v0) /* 074080 80073480 03E00008 */ jr $ra /* 074084 80073484 A05900DA */ sb $t9, 0xda($v0) /* 074088 80073488 0004C0C0 */ sll $t8, $a0, 3 /* 07408C 8007348C 0304C023 */ subu $t8, $t8, $a0 /* 074090 80073490 3C198016 */ lui $t9, %hi(D_80165C18) # $t9, 0x8016 /* 074094 80073494 27395C18 */ addiu $t9, %lo(D_80165C18) # addiu $t9, $t9, 0x5c18 /* 074098 80073498 0018C140 */ sll $t8, $t8, 5 /* 07409C 8007349C 03191021 */ addu $v0, $t8, $t9 /* 0740A0 800734A0 8FA80010 */ lw $t0, 0x10($sp) /* 0740A4 800734A4 2409FFFF */ li $t1, -1 /* 0740A8 800734A8 AFA60008 */ sw $a2, 8($sp) /* 0740AC 800734AC AFA7000C */ sw $a3, 0xc($sp) /* 0740B0 800734B0 AC450060 */ sw $a1, 0x60($v0) /* 0740B4 800734B4 AC450068 */ sw $a1, 0x68($v0) /* 0740B8 800734B8 A04600D9 */ sb $a2, 0xd9($v0) /* 0740BC 800734BC A04700DA */ sb $a3, 0xda($v0) /* 0740C0 800734C0 A04000D2 */ sb $zero, 0xd2($v0) /* 0740C4 800734C4 A04900D3 */ sb $t1, 0xd3($v0) /* 0740C8 800734C8 AC400054 */ sw $zero, 0x54($v0) /* 0740CC 800734CC 03E00008 */ jr $ra /* 0740D0 800734D0 AC480074 */ sw $t0, 0x74($v0) /* 0740D4 800734D4 03E00008 */ jr $ra /* 0740D8 800734D8 00000000 */ nop glabel func_800734DC /* 0740DC 800734DC 000470C0 */ sll $t6, $a0, 3 /* 0740E0 800734E0 01C47023 */ subu $t6, $t6, $a0 /* 0740E4 800734E4 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 0740E8 800734E8 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 0740EC 800734EC 000E7140 */ sll $t6, $t6, 5 /* 0740F0 800734F0 01CF1021 */ addu $v0, $t6, $t7 /* 0740F4 800734F4 805900D2 */ lb $t9, 0xd2($v0) /* 0740F8 800734F8 8C490068 */ lw $t1, 0x68($v0) /* 0740FC 800734FC 8C4B006C */ lw $t3, 0x6c($v0) /* 074100 80073500 00194240 */ sll $t0, $t9, 9 /* 074104 80073504 01095021 */ addu $t2, $t0, $t1 /* 074108 80073508 AC4A0060 */ sw $t2, 0x60($v0) /* 07410C 8007350C 03E00008 */ jr $ra /* 074110 80073510 AC4B0064 */ sw $t3, 0x64($v0) glabel func_80073514 /* 074114 80073514 000470C0 */ sll $t6, $a0, 3 /* 074118 80073518 01C47023 */ subu $t6, $t6, $a0 /* 07411C 8007351C 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 074120 80073520 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 074124 80073524 000E7140 */ sll $t6, $t6, 5 /* 074128 80073528 01CF1021 */ addu $v0, $t6, $t7 /* 07412C 8007352C 805900D2 */ lb $t9, 0xd2($v0) /* 074130 80073530 904800D9 */ lbu $t0, 0xd9($v0) /* 074134 80073534 904A00DA */ lbu $t2, 0xda($v0) /* 074138 80073538 8C4C006C */ lw $t4, 0x6c($v0) /* 07413C 8007353C 03280019 */ multu $t9, $t0 /* 074140 80073540 8C580068 */ lw $t8, 0x68($v0) /* 074144 80073544 AC580060 */ sw $t8, 0x60($v0) /* 074148 80073548 00004812 */ mflo $t1 /* 07414C 8007354C 00000000 */ nop /* 074150 80073550 00000000 */ nop /* 074154 80073554 012A0019 */ multu $t1, $t2 /* 074158 80073558 00005812 */ mflo $t3 /* 07415C 8007355C 016C6821 */ addu $t5, $t3, $t4 /* 074160 80073560 03E00008 */ jr $ra /* 074164 80073564 AC4D0064 */ sw $t5, 0x64($v0) /* 074168 80073568 03E00008 */ jr $ra /* 07416C 8007356C 00000000 */ nop /* 074170 80073570 3C028019 */ lui $v0, %hi(D_8018D1EC) # $v0, 0x8019 /* 074174 80073574 2442D1EC */ addiu $v0, %lo(D_8018D1EC) # addiu $v0, $v0, -0x2e14 /* 074178 80073578 8C4E0000 */ lw $t6, ($v0) /* 07417C 8007357C 24010005 */ li $at, 5 /* 074180 80073580 0004C8C0 */ sll $t9, $a0, 3 /* 074184 80073584 25CF0001 */ addiu $t7, $t6, 1 /* 074188 80073588 15E10002 */ bne $t7, $at, .L80073594 /* 07418C 8007358C AC4F0000 */ sw $t7, ($v0) /* 074190 80073590 AC400000 */ sw $zero, ($v0) .L80073594: /* 074194 80073594 0324C823 */ subu $t9, $t9, $a0 /* 074198 80073598 0019C940 */ sll $t9, $t9, 5 /* 07419C 8007359C 3C098016 */ lui $t1, %hi(D_80165C18) # $t1, 0x8016 /* 0741A0 800735A0 25295C18 */ addiu $t1, %lo(D_80165C18) # addiu $t1, $t1, 0x5c18 /* 0741A4 800735A4 272800A6 */ addiu $t0, $t9, 0xa6 /* 0741A8 800735A8 01091021 */ addu $v0, $t0, $t1 /* 0741AC 800735AC 844A0000 */ lh $t2, ($v0) /* 0741B0 800735B0 254B0001 */ addiu $t3, $t2, 1 /* 0741B4 800735B4 03E00008 */ jr $ra /* 0741B8 800735B8 A44B0000 */ sh $t3, ($v0) glabel func_800735BC /* 0741BC 800735BC 000470C0 */ sll $t6, $a0, 3 /* 0741C0 800735C0 01C47023 */ subu $t6, $t6, $a0 /* 0741C4 800735C4 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 0741C8 800735C8 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 0741CC 800735CC 000E7140 */ sll $t6, $t6, 5 /* 0741D0 800735D0 44866000 */ mtc1 $a2, $f12 /* 0741D4 800735D4 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0741D8 800735D8 01CF1021 */ addu $v0, $t6, $t7 /* 0741DC 800735DC AFBF0014 */ sw $ra, 0x14($sp) /* 0741E0 800735E0 AC400054 */ sw $zero, 0x54($v0) /* 0741E4 800735E4 AC450070 */ sw $a1, 0x70($v0) /* 0741E8 800735E8 0C01C922 */ jal func_80072488 /* 0741EC 800735EC E44C0000 */ swc1 $f12, ($v0) /* 0741F0 800735F0 8FBF0014 */ lw $ra, 0x14($sp) /* 0741F4 800735F4 27BD0018 */ addiu $sp, $sp, 0x18 /* 0741F8 800735F8 03E00008 */ jr $ra /* 0741FC 800735FC 00000000 */ nop glabel func_80073600 /* 074200 80073600 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 074204 80073604 AFBF0014 */ sw $ra, 0x14($sp) /* 074208 80073608 AFA40018 */ sw $a0, 0x18($sp) /* 07420C 8007360C 0C01C8E2 */ jal func_80072388 /* 074210 80073610 00002825 */ move $a1, $zero /* 074214 80073614 8FA40018 */ lw $a0, 0x18($sp) /* 074218 80073618 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 07421C 8007361C 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 074220 80073620 000470C0 */ sll $t6, $a0, 3 /* 074224 80073624 01C47023 */ subu $t6, $t6, $a0 /* 074228 80073628 000E7140 */ sll $t6, $t6, 5 /* 07422C 8007362C 01CF1021 */ addu $v0, $t6, $t7 /* 074230 80073630 2418FFFF */ li $t8, -1 /* 074234 80073634 A04000D6 */ sb $zero, 0xd6($v0) /* 074238 80073638 AC58004C */ sw $t8, 0x4c($v0) /* 07423C 8007363C 0C01C87A */ jal func_800721E8 /* 074240 80073640 34058000 */ li $a1, 32768 /* 074244 80073644 8FBF0014 */ lw $ra, 0x14($sp) /* 074248 80073648 27BD0018 */ addiu $sp, $sp, 0x18 /* 07424C 8007364C 03E00008 */ jr $ra /* 074250 80073650 00000000 */ nop glabel func_80073654 /* 074254 80073654 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 074258 80073658 AFBF0014 */ sw $ra, 0x14($sp) /* 07425C 8007365C AFA40018 */ sw $a0, 0x18($sp) /* 074260 80073660 0C01C87A */ jal func_800721E8 /* 074264 80073664 34058000 */ li $a1, 32768 /* 074268 80073668 8FAE0018 */ lw $t6, 0x18($sp) /* 07426C 8007366C 3C188016 */ lui $t8, %hi(D_80165C18) # $t8, 0x8016 /* 074270 80073670 27185C18 */ addiu $t8, %lo(D_80165C18) # addiu $t8, $t8, 0x5c18 /* 074274 80073674 000E78C0 */ sll $t7, $t6, 3 /* 074278 80073678 01EE7823 */ subu $t7, $t7, $t6 /* 07427C 8007367C 000F7940 */ sll $t7, $t7, 5 /* 074280 80073680 01F81021 */ addu $v0, $t7, $t8 /* 074284 80073684 905900D6 */ lbu $t9, 0xd6($v0) /* 074288 80073688 8FBF0014 */ lw $ra, 0x14($sp) /* 07428C 8007368C 27BD0018 */ addiu $sp, $sp, 0x18 /* 074290 80073690 27280001 */ addiu $t0, $t9, 1 /* 074294 80073694 03E00008 */ jr $ra /* 074298 80073698 A04800D6 */ sb $t0, 0xd6($v0) /* 07429C 8007369C 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0742A0 800736A0 AFBF0014 */ sw $ra, 0x14($sp) /* 0742A4 800736A4 AFA5001C */ sw $a1, 0x1c($sp) /* 0742A8 800736A8 AFA40018 */ sw $a0, 0x18($sp) /* 0742AC 800736AC 0C01C87A */ jal func_800721E8 /* 0742B0 800736B0 34058000 */ li $a1, 32768 /* 0742B4 800736B4 8FAF0018 */ lw $t7, 0x18($sp) /* 0742B8 800736B8 8FBF0014 */ lw $ra, 0x14($sp) /* 0742BC 800736BC 8FAE001C */ lw $t6, 0x1c($sp) /* 0742C0 800736C0 000FC0C0 */ sll $t8, $t7, 3 /* 0742C4 800736C4 030FC023 */ subu $t8, $t8, $t7 /* 0742C8 800736C8 0018C140 */ sll $t8, $t8, 5 /* 0742CC 800736CC 3C018016 */ lui $at, %hi(D_80165CEE) # 0x8016 /* 0742D0 800736D0 00380821 */ addu $at, $at, $t8 /* 0742D4 800736D4 27BD0018 */ addiu $sp, $sp, 0x18 /* 0742D8 800736D8 03E00008 */ jr $ra /* 0742DC 800736DC A02E5CEE */ sb $t6, %lo(D_80165CEE)($at) # 0x5cee($at) glabel func_800736E0 /* 0742E0 800736E0 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0742E4 800736E4 AFBF0014 */ sw $ra, 0x14($sp) /* 0742E8 800736E8 AFA40018 */ sw $a0, 0x18($sp) /* 0742EC 800736EC 0C01C87A */ jal func_800721E8 /* 0742F0 800736F0 34058000 */ li $a1, 32768 /* 0742F4 800736F4 8FAF0018 */ lw $t7, 0x18($sp) /* 0742F8 800736F8 8FBF0014 */ lw $ra, 0x14($sp) /* 0742FC 800736FC 3C018016 */ lui $at, %hi(D_80165CEE) # 0x8016 /* 074300 80073700 000FC0C0 */ sll $t8, $t7, 3 /* 074304 80073704 030FC023 */ subu $t8, $t8, $t7 /* 074308 80073708 0018C140 */ sll $t8, $t8, 5 /* 07430C 8007370C 00380821 */ addu $at, $at, $t8 /* 074310 80073710 240E0001 */ li $t6, 1 /* 074314 80073714 A02E5CEE */ sb $t6, %lo(D_80165CEE)($at) # 0x5cee($at) /* 074318 80073718 03E00008 */ jr $ra /* 07431C 8007371C 27BD0018 */ addiu $sp, $sp, 0x18 glabel func_80073720 /* 074320 80073720 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 074324 80073724 AFBF0014 */ sw $ra, 0x14($sp) /* 074328 80073728 AFA40018 */ sw $a0, 0x18($sp) /* 07432C 8007372C 0C01C87A */ jal func_800721E8 /* 074330 80073730 34058000 */ li $a1, 32768 /* 074334 80073734 8FAE0018 */ lw $t6, 0x18($sp) /* 074338 80073738 8FBF0014 */ lw $ra, 0x14($sp) /* 07433C 8007373C 3C018016 */ lui $at, %hi(D_80165CEE) # 0x8016 /* 074340 80073740 000E78C0 */ sll $t7, $t6, 3 /* 074344 80073744 01EE7823 */ subu $t7, $t7, $t6 /* 074348 80073748 000F7940 */ sll $t7, $t7, 5 /* 07434C 8007374C 002F0821 */ addu $at, $at, $t7 /* 074350 80073750 A0205CEE */ sb $zero, %lo(D_80165CEE)($at) # 0x5cee($at) /* 074354 80073754 03E00008 */ jr $ra /* 074358 80073758 27BD0018 */ addiu $sp, $sp, 0x18 glabel func_8007375C /* 07435C 8007375C 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 074360 80073760 AFBF001C */ sw $ra, 0x1c($sp) /* 074364 80073764 AFB00018 */ sw $s0, 0x18($sp) /* 074368 80073768 AFA5002C */ sw $a1, 0x2c($sp) /* 07436C 8007376C 00808025 */ move $s0, $a0 /* 074370 80073770 AFA00024 */ sw $zero, 0x24($sp) /* 074374 80073774 0C01C89C */ jal func_80072270 /* 074378 80073778 34058000 */ li $a1, 32768 /* 07437C 8007377C 1040000A */ beqz $v0, .L800737A8 /* 074380 80073780 8FAE002C */ lw $t6, 0x2c($sp) /* 074384 80073784 001078C0 */ sll $t7, $s0, 3 /* 074388 80073788 01F07823 */ subu $t7, $t7, $s0 /* 07438C 8007378C 000F7940 */ sll $t7, $t7, 5 /* 074390 80073790 3C018016 */ lui $at, %hi(D_80165C64) # 0x8016 /* 074394 80073794 002F0821 */ addu $at, $at, $t7 /* 074398 80073798 AC2E5C64 */ sw $t6, %lo(D_80165C64)($at) # 0x5c64($at) /* 07439C 8007379C 02002025 */ move $a0, $s0 /* 0743A0 800737A0 0C01C870 */ jal func_800721C0 /* 0743A4 800737A4 34058000 */ li $a1, 32768 .L800737A8: /* 0743A8 800737A8 0010C0C0 */ sll $t8, $s0, 3 /* 0743AC 800737AC 0310C023 */ subu $t8, $t8, $s0 /* 0743B0 800737B0 3C198016 */ lui $t9, %hi(D_80165C18) # $t9, 0x8016 /* 0743B4 800737B4 27395C18 */ addiu $t9, %lo(D_80165C18) # addiu $t9, $t9, 0x5c18 /* 0743B8 800737B8 0018C140 */ sll $t8, $t8, 5 /* 0743BC 800737BC 03191021 */ addu $v0, $t8, $t9 /* 0743C0 800737C0 8C48004C */ lw $t0, 0x4c($v0) /* 0743C4 800737C4 02002025 */ move $a0, $s0 /* 0743C8 800737C8 2509FFFF */ addiu $t1, $t0, -1 /* 0743CC 800737CC 05210007 */ bgez $t1, .L800737EC /* 0743D0 800737D0 AC49004C */ sw $t1, 0x4c($v0) /* 0743D4 800737D4 0C01C87A */ jal func_800721E8 /* 0743D8 800737D8 34058000 */ li $a1, 32768 /* 0743DC 800737DC 0C01CD95 */ jal func_80073654 /* 0743E0 800737E0 02002025 */ move $a0, $s0 /* 0743E4 800737E4 240B0001 */ li $t3, 1 /* 0743E8 800737E8 AFAB0024 */ sw $t3, 0x24($sp) .L800737EC: /* 0743EC 800737EC 8FBF001C */ lw $ra, 0x1c($sp) /* 0743F0 800737F0 8FA20024 */ lw $v0, 0x24($sp) /* 0743F4 800737F4 8FB00018 */ lw $s0, 0x18($sp) /* 0743F8 800737F8 03E00008 */ jr $ra /* 0743FC 800737FC 27BD0028 */ addiu $sp, $sp, 0x28 glabel func_80073800 /* 074400 80073800 000470C0 */ sll $t6, $a0, 3 /* 074404 80073804 01C47023 */ subu $t6, $t6, $a0 /* 074408 80073808 000E7140 */ sll $t6, $t6, 5 /* 07440C 8007380C 3C018016 */ lui $at, %hi(D_80165CE7) # 0x8016 /* 074410 80073810 002E0821 */ addu $at, $at, $t6 /* 074414 80073814 03E00008 */ jr $ra /* 074418 80073818 A0255CE7 */ sb $a1, %lo(D_80165CE7)($at) # 0x5ce7($at) glabel func_8007381C /* 07441C 8007381C 000470C0 */ sll $t6, $a0, 3 /* 074420 80073820 01C47023 */ subu $t6, $t6, $a0 /* 074424 80073824 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 074428 80073828 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 07442C 8007382C 000E7140 */ sll $t6, $t6, 5 /* 074430 80073830 01CF1021 */ addu $v0, $t6, $t7 /* 074434 80073834 905800DC */ lbu $t8, 0xdc($v0) /* 074438 80073838 27190001 */ addiu $t9, $t8, 1 /* 07443C 8007383C 03E00008 */ jr $ra /* 074440 80073840 A05900DC */ sb $t9, 0xdc($v0) glabel func_80073844 /* 074444 80073844 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 074448 80073848 AFBF0014 */ sw $ra, 0x14($sp) /* 07444C 8007384C AFA40018 */ sw $a0, 0x18($sp) /* 074450 80073850 0C01CE00 */ jal func_80073800 /* 074454 80073854 00002825 */ move $a1, $zero /* 074458 80073858 8FAF0018 */ lw $t7, 0x18($sp) /* 07445C 8007385C 8FBF0014 */ lw $ra, 0x14($sp) /* 074460 80073860 3C018016 */ lui $at, %hi(D_80165CF4) # 0x8016 /* 074464 80073864 000FC0C0 */ sll $t8, $t7, 3 /* 074468 80073868 030FC023 */ subu $t8, $t8, $t7 /* 07446C 8007386C 0018C140 */ sll $t8, $t8, 5 /* 074470 80073870 00380821 */ addu $at, $at, $t8 /* 074474 80073874 240E0001 */ li $t6, 1 /* 074478 80073878 A02E5CF4 */ sb $t6, %lo(D_80165CF4)($at) # 0x5cf4($at) /* 07447C 8007387C 03E00008 */ jr $ra /* 074480 80073880 27BD0018 */ addiu $sp, $sp, 0x18 glabel func_80073884 /* 074484 80073884 000470C0 */ sll $t6, $a0, 3 /* 074488 80073888 01C47023 */ subu $t6, $t6, $a0 /* 07448C 8007388C 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 074490 80073890 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 074494 80073894 000E7140 */ sll $t6, $t6, 5 /* 074498 80073898 01CF1021 */ addu $v0, $t6, $t7 /* 07449C 8007389C A04000DC */ sb $zero, 0xdc($v0) /* 0744A0 800738A0 03E00008 */ jr $ra /* 0744A4 800738A4 A04000CF */ sb $zero, 0xcf($v0) glabel func_800738A8 /* 0744A8 800738A8 000470C0 */ sll $t6, $a0, 3 /* 0744AC 800738AC 01C47023 */ subu $t6, $t6, $a0 /* 0744B0 800738B0 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 0744B4 800738B4 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 0744B8 800738B8 000E7140 */ sll $t6, $t6, 5 /* 0744BC 800738BC 01CF1021 */ addu $v0, $t6, $t7 /* 0744C0 800738C0 805800CF */ lb $t8, 0xcf($v0) /* 0744C4 800738C4 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 0744C8 800738C8 AFB00018 */ sw $s0, 0x18($sp) /* 0744CC 800738CC 00A08025 */ move $s0, $a1 /* 0744D0 800738D0 AFBF001C */ sw $ra, 0x1c($sp) /* 0744D4 800738D4 1700000B */ bnez $t8, .L80073904 /* 0744D8 800738D8 00004025 */ move $t0, $zero /* 0744DC 800738DC A4A60000 */ sh $a2, ($a1) /* 0744E0 800738E0 8FB9003C */ lw $t9, 0x3c($sp) /* 0744E4 800738E4 8FA90040 */ lw $t1, 0x40($sp) /* 0744E8 800738E8 AFA00024 */ sw $zero, 0x24($sp) /* 0744EC 800738EC 24050001 */ li $a1, 1 /* 0744F0 800738F0 A45900AC */ sh $t9, 0xac($v0) /* 0744F4 800738F4 0C01CE00 */ jal func_80073800 /* 0744F8 800738F8 A04900D0 */ sb $t1, 0xd0($v0) /* 0744FC 800738FC 10000021 */ b .L80073984 /* 074500 80073900 8FA80024 */ lw $t0, 0x24($sp) .L80073904: /* 074504 80073904 844A00AC */ lh $t2, 0xac($v0) /* 074508 80073908 254BFFFF */ addiu $t3, $t2, -1 /* 07450C 8007390C A44B00AC */ sh $t3, 0xac($v0) /* 074510 80073910 844C00AC */ lh $t4, 0xac($v0) /* 074514 80073914 8FAD003C */ lw $t5, 0x3c($sp) /* 074518 80073918 0583001B */ bgezl $t4, .L80073988 /* 07451C 8007391C 8FBF001C */ lw $ra, 0x1c($sp) /* 074520 80073920 A44D00AC */ sh $t5, 0xac($v0) /* 074524 80073924 860E0000 */ lh $t6, ($s0) /* 074528 80073928 8FAF0038 */ lw $t7, 0x38($sp) /* 07452C 8007392C 01CFC021 */ addu $t8, $t6, $t7 /* 074530 80073930 A6180000 */ sh $t8, ($s0) /* 074534 80073934 86190000 */ lh $t9, ($s0) /* 074538 80073938 00F9082A */ slt $at, $a3, $t9 /* 07453C 8007393C 50200012 */ beql $at, $zero, .L80073988 /* 074540 80073940 8FBF001C */ lw $ra, 0x1c($sp) /* 074544 80073944 804300D0 */ lb $v1, 0xd0($v0) /* 074548 80073948 00002825 */ move $a1, $zero /* 07454C 8007394C 18600003 */ blez $v1, .L8007395C /* 074550 80073950 2469FFFF */ addiu $t1, $v1, -1 /* 074554 80073954 A04900D0 */ sb $t1, 0xd0($v0) /* 074558 80073958 804300D0 */ lb $v1, 0xd0($v0) .L8007395C: /* 07455C 8007395C 54600009 */ bnel $v1, $zero, .L80073984 /* 074560 80073960 A6060000 */ sh $a2, ($s0) /* 074564 80073964 A6070000 */ sh $a3, ($s0) /* 074568 80073968 0C01CE00 */ jal func_80073800 /* 07456C 8007396C AFA40028 */ sw $a0, 0x28($sp) /* 074570 80073970 0C01CE07 */ jal func_8007381C /* 074574 80073974 8FA40028 */ lw $a0, 0x28($sp) /* 074578 80073978 10000002 */ b .L80073984 /* 07457C 8007397C 24080001 */ li $t0, 1 /* 074580 80073980 A6060000 */ sh $a2, ($s0) .L80073984: /* 074584 80073984 8FBF001C */ lw $ra, 0x1c($sp) .L80073988: /* 074588 80073988 8FB00018 */ lw $s0, 0x18($sp) /* 07458C 8007398C 27BD0028 */ addiu $sp, $sp, 0x28 /* 074590 80073990 03E00008 */ jr $ra /* 074594 80073994 01001025 */ move $v0, $t0 glabel func_80073998 /* 074598 80073998 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 07459C 8007399C 8FAE0038 */ lw $t6, 0x38($sp) /* 0745A0 800739A0 8FAF003C */ lw $t7, 0x3c($sp) /* 0745A4 800739A4 8FB80040 */ lw $t8, 0x40($sp) /* 0745A8 800739A8 AFBF0024 */ sw $ra, 0x24($sp) /* 0745AC 800739AC AFAE0010 */ sw $t6, 0x10($sp) /* 0745B0 800739B0 AFAF0014 */ sw $t7, 0x14($sp) /* 0745B4 800739B4 0C01CE2A */ jal func_800738A8 /* 0745B8 800739B8 AFB80018 */ sw $t8, 0x18($sp) /* 0745BC 800739BC 8FBF0024 */ lw $ra, 0x24($sp) /* 0745C0 800739C0 27BD0028 */ addiu $sp, $sp, 0x28 /* 0745C4 800739C4 03E00008 */ jr $ra /* 0745C8 800739C8 00000000 */ nop /* 0745CC 800739CC 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 0745D0 800739D0 AFBF0024 */ sw $ra, 0x24($sp) /* 0745D4 800739D4 84AE0000 */ lh $t6, ($a1) /* 0745D8 800739D8 8FAF0038 */ lw $t7, 0x38($sp) /* 0745DC 800739DC 01C7082A */ slt $at, $t6, $a3 /* 0745E0 800739E0 50200008 */ beql $at, $zero, .L80073A04 /* 0745E4 800739E4 8FBF0024 */ lw $ra, 0x24($sp) /* 0745E8 800739E8 8FB8003C */ lw $t8, 0x3c($sp) /* 0745EC 800739EC 8FB90040 */ lw $t9, 0x40($sp) /* 0745F0 800739F0 AFAF0010 */ sw $t7, 0x10($sp) /* 0745F4 800739F4 AFB80014 */ sw $t8, 0x14($sp) /* 0745F8 800739F8 0C01CE2A */ jal func_800738A8 /* 0745FC 800739FC AFB90018 */ sw $t9, 0x18($sp) /* 074600 80073A00 8FBF0024 */ lw $ra, 0x24($sp) .L80073A04: /* 074604 80073A04 27BD0028 */ addiu $sp, $sp, 0x28 /* 074608 80073A08 03E00008 */ jr $ra /* 07460C 80073A0C 00000000 */ nop glabel func_80073A10 /* 074610 80073A10 000470C0 */ sll $t6, $a0, 3 /* 074614 80073A14 01C47023 */ subu $t6, $t6, $a0 /* 074618 80073A18 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 07461C 80073A1C 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 074620 80073A20 000E7140 */ sll $t6, $t6, 5 /* 074624 80073A24 01CF1021 */ addu $v0, $t6, $t7 /* 074628 80073A28 805800CF */ lb $t8, 0xcf($v0) /* 07462C 80073A2C 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 074630 80073A30 AFB00018 */ sw $s0, 0x18($sp) /* 074634 80073A34 00A08025 */ move $s0, $a1 /* 074638 80073A38 AFBF001C */ sw $ra, 0x1c($sp) /* 07463C 80073A3C 1700000B */ bnez $t8, .L80073A6C /* 074640 80073A40 00004025 */ move $t0, $zero /* 074644 80073A44 A4A60000 */ sh $a2, ($a1) /* 074648 80073A48 8FB9003C */ lw $t9, 0x3c($sp) /* 07464C 80073A4C 8FA90040 */ lw $t1, 0x40($sp) /* 074650 80073A50 AFA00024 */ sw $zero, 0x24($sp) /* 074654 80073A54 24050001 */ li $a1, 1 /* 074658 80073A58 A45900AC */ sh $t9, 0xac($v0) /* 07465C 80073A5C 0C01CE00 */ jal func_80073800 /* 074660 80073A60 A04900D0 */ sb $t1, 0xd0($v0) /* 074664 80073A64 10000021 */ b .L80073AEC /* 074668 80073A68 8FA80024 */ lw $t0, 0x24($sp) .L80073A6C: /* 07466C 80073A6C 844A00AC */ lh $t2, 0xac($v0) /* 074670 80073A70 254BFFFF */ addiu $t3, $t2, -1 /* 074674 80073A74 A44B00AC */ sh $t3, 0xac($v0) /* 074678 80073A78 844C00AC */ lh $t4, 0xac($v0) /* 07467C 80073A7C 8FAD003C */ lw $t5, 0x3c($sp) /* 074680 80073A80 0583001B */ bgezl $t4, .L80073AF0 /* 074684 80073A84 8FBF001C */ lw $ra, 0x1c($sp) /* 074688 80073A88 A44D00AC */ sh $t5, 0xac($v0) /* 07468C 80073A8C 860E0000 */ lh $t6, ($s0) /* 074690 80073A90 8FAF0038 */ lw $t7, 0x38($sp) /* 074694 80073A94 01CFC023 */ subu $t8, $t6, $t7 /* 074698 80073A98 A6180000 */ sh $t8, ($s0) /* 07469C 80073A9C 86190000 */ lh $t9, ($s0) /* 0746A0 80073AA0 0327082A */ slt $at, $t9, $a3 /* 0746A4 80073AA4 50200012 */ beql $at, $zero, .L80073AF0 /* 0746A8 80073AA8 8FBF001C */ lw $ra, 0x1c($sp) /* 0746AC 80073AAC 804300D0 */ lb $v1, 0xd0($v0) /* 0746B0 80073AB0 00002825 */ move $a1, $zero /* 0746B4 80073AB4 18600003 */ blez $v1, .L80073AC4 /* 0746B8 80073AB8 2469FFFF */ addiu $t1, $v1, -1 /* 0746BC 80073ABC A04900D0 */ sb $t1, 0xd0($v0) /* 0746C0 80073AC0 804300D0 */ lb $v1, 0xd0($v0) .L80073AC4: /* 0746C4 80073AC4 54600009 */ bnel $v1, $zero, .L80073AEC /* 0746C8 80073AC8 A6060000 */ sh $a2, ($s0) /* 0746CC 80073ACC A6070000 */ sh $a3, ($s0) /* 0746D0 80073AD0 0C01CE00 */ jal func_80073800 /* 0746D4 80073AD4 AFA40028 */ sw $a0, 0x28($sp) /* 0746D8 80073AD8 0C01CE07 */ jal func_8007381C /* 0746DC 80073ADC 8FA40028 */ lw $a0, 0x28($sp) /* 0746E0 80073AE0 10000002 */ b .L80073AEC /* 0746E4 80073AE4 24080001 */ li $t0, 1 /* 0746E8 80073AE8 A6060000 */ sh $a2, ($s0) .L80073AEC: /* 0746EC 80073AEC 8FBF001C */ lw $ra, 0x1c($sp) .L80073AF0: /* 0746F0 80073AF0 8FB00018 */ lw $s0, 0x18($sp) /* 0746F4 80073AF4 27BD0028 */ addiu $sp, $sp, 0x28 /* 0746F8 80073AF8 03E00008 */ jr $ra /* 0746FC 80073AFC 01001025 */ move $v0, $t0 glabel func_80073B00 /* 074700 80073B00 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 074704 80073B04 8FAE0038 */ lw $t6, 0x38($sp) /* 074708 80073B08 8FAF003C */ lw $t7, 0x3c($sp) /* 07470C 80073B0C 8FB80040 */ lw $t8, 0x40($sp) /* 074710 80073B10 AFBF0024 */ sw $ra, 0x24($sp) /* 074714 80073B14 AFAE0010 */ sw $t6, 0x10($sp) /* 074718 80073B18 AFAF0014 */ sw $t7, 0x14($sp) /* 07471C 80073B1C 0C01CE84 */ jal func_80073A10 /* 074720 80073B20 AFB80018 */ sw $t8, 0x18($sp) /* 074724 80073B24 8FBF0024 */ lw $ra, 0x24($sp) /* 074728 80073B28 27BD0028 */ addiu $sp, $sp, 0x28 /* 07472C 80073B2C 03E00008 */ jr $ra /* 074730 80073B30 00000000 */ nop /* 074734 80073B34 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 074738 80073B38 AFBF0024 */ sw $ra, 0x24($sp) /* 07473C 80073B3C 84AE0000 */ lh $t6, ($a1) /* 074740 80073B40 8FAF0038 */ lw $t7, 0x38($sp) /* 074744 80073B44 00EE082A */ slt $at, $a3, $t6 /* 074748 80073B48 50200008 */ beql $at, $zero, .L80073B6C /* 07474C 80073B4C 8FBF0024 */ lw $ra, 0x24($sp) /* 074750 80073B50 8FB8003C */ lw $t8, 0x3c($sp) /* 074754 80073B54 8FB90040 */ lw $t9, 0x40($sp) /* 074758 80073B58 AFAF0010 */ sw $t7, 0x10($sp) /* 07475C 80073B5C AFB80014 */ sw $t8, 0x14($sp) /* 074760 80073B60 0C01CE84 */ jal func_80073A10 /* 074764 80073B64 AFB90018 */ sw $t9, 0x18($sp) /* 074768 80073B68 8FBF0024 */ lw $ra, 0x24($sp) .L80073B6C: /* 07476C 80073B6C 27BD0028 */ addiu $sp, $sp, 0x28 /* 074770 80073B70 03E00008 */ jr $ra /* 074774 80073B74 00000000 */ nop glabel func_80073B78 /* 074778 80073B78 000578C0 */ sll $t7, $a1, 3 /* 07477C 80073B7C 01E57823 */ subu $t7, $t7, $a1 /* 074780 80073B80 3C188016 */ lui $t8, %hi(D_80165C18) # $t8, 0x8016 /* 074784 80073B84 27185C18 */ addiu $t8, %lo(D_80165C18) # addiu $t8, $t8, 0x5c18 /* 074788 80073B88 000F7940 */ sll $t7, $t7, 5 /* 07478C 80073B8C 01F81021 */ addu $v0, $t7, $t8 /* 074790 80073B90 805900CF */ lb $t9, 0xcf($v0) /* 074794 80073B94 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 074798 80073B98 AFBF0014 */ sw $ra, 0x14($sp) /* 07479C 80073B9C AFA50024 */ sw $a1, 0x24($sp) /* 0747A0 80073BA0 1720000D */ bnez $t9, .L80073BD8 /* 0747A4 80073BA4 00004025 */ move $t0, $zero /* 0747A8 80073BA8 8FA90038 */ lw $t1, 0x38($sp) /* 0747AC 80073BAC 24050001 */ li $a1, 1 /* 0747B0 80073BB0 10800002 */ beqz $a0, .L80073BBC /* 0747B4 80073BB4 A44900AC */ sh $t1, 0xac($v0) /* 0747B8 80073BB8 A4C70000 */ sh $a3, ($a2) .L80073BBC: /* 0747BC 80073BBC 8FAA003C */ lw $t2, 0x3c($sp) /* 0747C0 80073BC0 8FA40024 */ lw $a0, 0x24($sp) /* 0747C4 80073BC4 AFA8001C */ sw $t0, 0x1c($sp) /* 0747C8 80073BC8 0C01CE00 */ jal func_80073800 /* 0747CC 80073BCC A04A00D0 */ sb $t2, 0xd0($v0) /* 0747D0 80073BD0 10000032 */ b .L80073C9C /* 0747D4 80073BD4 8FA8001C */ lw $t0, 0x1c($sp) .L80073BD8: /* 0747D8 80073BD8 844B00AC */ lh $t3, 0xac($v0) /* 0747DC 80073BDC 256CFFFF */ addiu $t4, $t3, -1 /* 0747E0 80073BE0 A44C00AC */ sh $t4, 0xac($v0) /* 0747E4 80073BE4 844D00AC */ lh $t5, 0xac($v0) /* 0747E8 80073BE8 05A3002D */ bgezl $t5, .L80073CA0 /* 0747EC 80073BEC 8FBF0014 */ lw $ra, 0x14($sp) /* 0747F0 80073BF0 804F00CF */ lb $t7, 0xcf($v0) /* 0747F4 80073BF4 8FAE0038 */ lw $t6, 0x38($sp) /* 0747F8 80073BF8 24040001 */ li $a0, 1 /* 0747FC 80073BFC 148F000F */ bne $a0, $t7, .L80073C3C /* 074800 80073C00 A44E00AC */ sh $t6, 0xac($v0) /* 074804 80073C04 84D80000 */ lh $t8, ($a2) /* 074808 80073C08 8FB90034 */ lw $t9, 0x34($sp) /* 07480C 80073C0C 8FA30030 */ lw $v1, 0x30($sp) /* 074810 80073C10 03194821 */ addu $t1, $t8, $t9 /* 074814 80073C14 A4C90000 */ sh $t1, ($a2) /* 074818 80073C18 84CA0000 */ lh $t2, ($a2) /* 07481C 80073C1C 0143082A */ slt $at, $t2, $v1 /* 074820 80073C20 5420001F */ bnel $at, $zero, .L80073CA0 /* 074824 80073C24 8FBF0014 */ lw $ra, 0x14($sp) /* 074828 80073C28 A4C30000 */ sh $v1, ($a2) /* 07482C 80073C2C 804B00CF */ lb $t3, 0xcf($v0) /* 074830 80073C30 256C0001 */ addiu $t4, $t3, 1 /* 074834 80073C34 10000019 */ b .L80073C9C /* 074838 80073C38 A04C00CF */ sb $t4, 0xcf($v0) .L80073C3C: /* 07483C 80073C3C 84CD0000 */ lh $t5, ($a2) /* 074840 80073C40 8FAE0034 */ lw $t6, 0x34($sp) /* 074844 80073C44 01AE7823 */ subu $t7, $t5, $t6 /* 074848 80073C48 A4CF0000 */ sh $t7, ($a2) /* 07484C 80073C4C 84D80000 */ lh $t8, ($a2) /* 074850 80073C50 00F8082A */ slt $at, $a3, $t8 /* 074854 80073C54 54200012 */ bnel $at, $zero, .L80073CA0 /* 074858 80073C58 8FBF0014 */ lw $ra, 0x14($sp) /* 07485C 80073C5C A4C70000 */ sh $a3, ($a2) /* 074860 80073C60 804300D0 */ lb $v1, 0xd0($v0) /* 074864 80073C64 00002825 */ move $a1, $zero /* 074868 80073C68 18600003 */ blez $v1, .L80073C78 /* 07486C 80073C6C 2479FFFF */ addiu $t9, $v1, -1 /* 074870 80073C70 A05900D0 */ sb $t9, 0xd0($v0) /* 074874 80073C74 804300D0 */ lb $v1, 0xd0($v0) .L80073C78: /* 074878 80073C78 54600008 */ bnel $v1, $zero, .L80073C9C /* 07487C 80073C7C A04400CF */ sb $a0, 0xcf($v0) /* 074880 80073C80 0C01CE00 */ jal func_80073800 /* 074884 80073C84 8FA40024 */ lw $a0, 0x24($sp) /* 074888 80073C88 0C01CE07 */ jal func_8007381C /* 07488C 80073C8C 8FA40024 */ lw $a0, 0x24($sp) /* 074890 80073C90 10000002 */ b .L80073C9C /* 074894 80073C94 24080001 */ li $t0, 1 /* 074898 80073C98 A04400CF */ sb $a0, 0xcf($v0) .L80073C9C: /* 07489C 80073C9C 8FBF0014 */ lw $ra, 0x14($sp) .L80073CA0: /* 0748A0 80073CA0 27BD0020 */ addiu $sp, $sp, 0x20 /* 0748A4 80073CA4 01001025 */ move $v0, $t0 /* 0748A8 80073CA8 03E00008 */ jr $ra /* 0748AC 80073CAC 00000000 */ nop glabel func_80073CB0 /* 0748B0 80073CB0 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 0748B4 80073CB4 AFA70034 */ sw $a3, 0x34($sp) /* 0748B8 80073CB8 8FAE0034 */ lw $t6, 0x34($sp) /* 0748BC 80073CBC 8FAF0038 */ lw $t7, 0x38($sp) /* 0748C0 80073CC0 8FB8003C */ lw $t8, 0x3c($sp) /* 0748C4 80073CC4 8FB90040 */ lw $t9, 0x40($sp) /* 0748C8 80073CC8 AFA5002C */ sw $a1, 0x2c($sp) /* 0748CC 80073CCC 00802825 */ move $a1, $a0 /* 0748D0 80073CD0 AFBF0024 */ sw $ra, 0x24($sp) /* 0748D4 80073CD4 AFA40028 */ sw $a0, 0x28($sp) /* 0748D8 80073CD8 AFA60030 */ sw $a2, 0x30($sp) /* 0748DC 80073CDC 8FA70030 */ lw $a3, 0x30($sp) /* 0748E0 80073CE0 8FA6002C */ lw $a2, 0x2c($sp) /* 0748E4 80073CE4 24040001 */ li $a0, 1 /* 0748E8 80073CE8 AFAE0010 */ sw $t6, 0x10($sp) /* 0748EC 80073CEC AFAF0014 */ sw $t7, 0x14($sp) /* 0748F0 80073CF0 AFB80018 */ sw $t8, 0x18($sp) /* 0748F4 80073CF4 0C01CEDE */ jal func_80073B78 /* 0748F8 80073CF8 AFB9001C */ sw $t9, 0x1c($sp) /* 0748FC 80073CFC 8FBF0024 */ lw $ra, 0x24($sp) /* 074900 80073D00 27BD0028 */ addiu $sp, $sp, 0x28 /* 074904 80073D04 03E00008 */ jr $ra /* 074908 80073D08 00000000 */ nop glabel func_80073D0C /* 07490C 80073D0C 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 074910 80073D10 AFA70034 */ sw $a3, 0x34($sp) /* 074914 80073D14 8FAE0034 */ lw $t6, 0x34($sp) /* 074918 80073D18 8FAF0038 */ lw $t7, 0x38($sp) /* 07491C 80073D1C 8FB8003C */ lw $t8, 0x3c($sp) /* 074920 80073D20 8FB90040 */ lw $t9, 0x40($sp) /* 074924 80073D24 AFA5002C */ sw $a1, 0x2c($sp) /* 074928 80073D28 00802825 */ move $a1, $a0 /* 07492C 80073D2C AFBF0024 */ sw $ra, 0x24($sp) /* 074930 80073D30 AFA40028 */ sw $a0, 0x28($sp) /* 074934 80073D34 AFA60030 */ sw $a2, 0x30($sp) /* 074938 80073D38 8FA70030 */ lw $a3, 0x30($sp) /* 07493C 80073D3C 8FA6002C */ lw $a2, 0x2c($sp) /* 074940 80073D40 00002025 */ move $a0, $zero /* 074944 80073D44 AFAE0010 */ sw $t6, 0x10($sp) /* 074948 80073D48 AFAF0014 */ sw $t7, 0x14($sp) /* 07494C 80073D4C AFB80018 */ sw $t8, 0x18($sp) /* 074950 80073D50 0C01CEDE */ jal func_80073B78 /* 074954 80073D54 AFB9001C */ sw $t9, 0x1c($sp) /* 074958 80073D58 8FBF0024 */ lw $ra, 0x24($sp) /* 07495C 80073D5C 27BD0028 */ addiu $sp, $sp, 0x28 /* 074960 80073D60 03E00008 */ jr $ra /* 074964 80073D64 00000000 */ nop /* 074968 80073D68 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 07496C 80073D6C AFBF0014 */ sw $ra, 0x14($sp) /* 074970 80073D70 AFA40018 */ sw $a0, 0x18($sp) /* 074974 80073D74 AFA5001C */ sw $a1, 0x1c($sp) /* 074978 80073D78 AFA60020 */ sw $a2, 0x20($sp) /* 07497C 80073D7C 84B90000 */ lh $t9, ($a1) /* 074980 80073D80 00067400 */ sll $t6, $a2, 0x10 /* 074984 80073D84 000E7C03 */ sra $t7, $t6, 0x10 /* 074988 80073D88 03274021 */ addu $t0, $t9, $a3 /* 07498C 80073D8C 010F082A */ slt $at, $t0, $t7 /* 074990 80073D90 14200007 */ bnez $at, .L80073DB0 /* 074994 80073D94 A4A80000 */ sh $t0, ($a1) /* 074998 80073D98 A4AF0000 */ sh $t7, ($a1) /* 07499C 80073D9C 8FA40018 */ lw $a0, 0x18($sp) /* 0749A0 80073DA0 0C01CE00 */ jal func_80073800 /* 0749A4 80073DA4 00002825 */ move $a1, $zero /* 0749A8 80073DA8 0C01CE07 */ jal func_8007381C /* 0749AC 80073DAC 8FA40018 */ lw $a0, 0x18($sp) .L80073DB0: /* 0749B0 80073DB0 8FBF0014 */ lw $ra, 0x14($sp) /* 0749B4 80073DB4 27BD0018 */ addiu $sp, $sp, 0x18 /* 0749B8 80073DB8 03E00008 */ jr $ra /* 0749BC 80073DBC 00000000 */ nop glabel func_80073DC0 /* 0749C0 80073DC0 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0749C4 80073DC4 AFBF0014 */ sw $ra, 0x14($sp) /* 0749C8 80073DC8 AFA40018 */ sw $a0, 0x18($sp) /* 0749CC 80073DCC AFA5001C */ sw $a1, 0x1c($sp) /* 0749D0 80073DD0 AFA60020 */ sw $a2, 0x20($sp) /* 0749D4 80073DD4 84B90000 */ lh $t9, ($a1) /* 0749D8 80073DD8 00067400 */ sll $t6, $a2, 0x10 /* 0749DC 80073DDC 000E7C03 */ sra $t7, $t6, 0x10 /* 0749E0 80073DE0 03274023 */ subu $t0, $t9, $a3 /* 0749E4 80073DE4 01E8082A */ slt $at, $t7, $t0 /* 0749E8 80073DE8 14200007 */ bnez $at, .L80073E08 /* 0749EC 80073DEC A4A80000 */ sh $t0, ($a1) /* 0749F0 80073DF0 A4AF0000 */ sh $t7, ($a1) /* 0749F4 80073DF4 8FA40018 */ lw $a0, 0x18($sp) /* 0749F8 80073DF8 0C01CE00 */ jal func_80073800 /* 0749FC 80073DFC 00002825 */ move $a1, $zero /* 074A00 80073E00 0C01CE07 */ jal func_8007381C /* 074A04 80073E04 8FA40018 */ lw $a0, 0x18($sp) .L80073E08: /* 074A08 80073E08 8FBF0014 */ lw $ra, 0x14($sp) /* 074A0C 80073E0C 27BD0018 */ addiu $sp, $sp, 0x18 /* 074A10 80073E10 03E00008 */ jr $ra /* 074A14 80073E14 00000000 */ nop glabel func_80073E18 /* 074A18 80073E18 000470C0 */ sll $t6, $a0, 3 /* 074A1C 80073E1C 01C47023 */ subu $t6, $t6, $a0 /* 074A20 80073E20 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 074A24 80073E24 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 074A28 80073E28 000E7140 */ sll $t6, $t6, 5 /* 074A2C 80073E2C 01CF1021 */ addu $v0, $t6, $t7 /* 074A30 80073E30 805800CF */ lb $t8, 0xcf($v0) /* 074A34 80073E34 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 074A38 80073E38 AFBF0014 */ sw $ra, 0x14($sp) /* 074A3C 80073E3C AFA5002C */ sw $a1, 0x2c($sp) /* 074A40 80073E40 AFA60030 */ sw $a2, 0x30($sp) /* 074A44 80073E44 AFA70034 */ sw $a3, 0x34($sp) /* 074A48 80073E48 1700000B */ bnez $t8, .L80073E78 /* 074A4C 80073E4C 00004025 */ move $t0, $zero /* 074A50 80073E50 24050001 */ li $a1, 1 /* 074A54 80073E54 AFA2001C */ sw $v0, 0x1c($sp) /* 074A58 80073E58 AFA40028 */ sw $a0, 0x28($sp) /* 074A5C 80073E5C 0C01CE00 */ jal func_80073800 /* 074A60 80073E60 AFA00024 */ sw $zero, 0x24($sp) /* 074A64 80073E64 8FA2001C */ lw $v0, 0x1c($sp) /* 074A68 80073E68 8FB90034 */ lw $t9, 0x34($sp) /* 074A6C 80073E6C 8FA40028 */ lw $a0, 0x28($sp) /* 074A70 80073E70 8FA80024 */ lw $t0, 0x24($sp) /* 074A74 80073E74 AC590048 */ sw $t9, 0x48($v0) .L80073E78: /* 074A78 80073E78 8C460048 */ lw $a2, 0x48($v0) /* 074A7C 80073E7C 97A50032 */ lhu $a1, 0x32($sp) /* 074A80 80073E80 8FA9002C */ lw $t1, 0x2c($sp) /* 074A84 80073E84 8FAC002C */ lw $t4, 0x2c($sp) /* 074A88 80073E88 00C51823 */ subu $v1, $a2, $a1 /* 074A8C 80073E8C 5C600009 */ bgtzl $v1, .L80073EB4 /* 074A90 80073E90 958D0000 */ lhu $t5, ($t4) /* 074A94 80073E94 952A0000 */ lhu $t2, ($t1) /* 074A98 80073E98 00002825 */ move $a1, $zero /* 074A9C 80073E9C 01465821 */ addu $t3, $t2, $a2 /* 074AA0 80073EA0 0C01CE00 */ jal func_80073800 /* 074AA4 80073EA4 A52B0000 */ sh $t3, ($t1) /* 074AA8 80073EA8 10000005 */ b .L80073EC0 /* 074AAC 80073EAC 24080001 */ li $t0, 1 /* 074AB0 80073EB0 958D0000 */ lhu $t5, ($t4) .L80073EB4: /* 074AB4 80073EB4 01A57021 */ addu $t6, $t5, $a1 /* 074AB8 80073EB8 A58E0000 */ sh $t6, ($t4) /* 074ABC 80073EBC AC430048 */ sw $v1, 0x48($v0) .L80073EC0: /* 074AC0 80073EC0 8FBF0014 */ lw $ra, 0x14($sp) /* 074AC4 80073EC4 27BD0028 */ addiu $sp, $sp, 0x28 /* 074AC8 80073EC8 01001025 */ move $v0, $t0 /* 074ACC 80073ECC 03E00008 */ jr $ra /* 074AD0 80073ED0 00000000 */ nop /* 074AD4 80073ED4 000470C0 */ sll $t6, $a0, 3 /* 074AD8 80073ED8 01C47023 */ subu $t6, $t6, $a0 /* 074ADC 80073EDC 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 074AE0 80073EE0 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 074AE4 80073EE4 000E7140 */ sll $t6, $t6, 5 /* 074AE8 80073EE8 01CF1021 */ addu $v0, $t6, $t7 /* 074AEC 80073EEC 805800CF */ lb $t8, 0xcf($v0) /* 074AF0 80073EF0 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 074AF4 80073EF4 AFBF0014 */ sw $ra, 0x14($sp) /* 074AF8 80073EF8 AFA5002C */ sw $a1, 0x2c($sp) /* 074AFC 80073EFC AFA60030 */ sw $a2, 0x30($sp) /* 074B00 80073F00 AFA70034 */ sw $a3, 0x34($sp) /* 074B04 80073F04 1700000B */ bnez $t8, .L80073F34 /* 074B08 80073F08 00004025 */ move $t0, $zero /* 074B0C 80073F0C 24050001 */ li $a1, 1 /* 074B10 80073F10 AFA2001C */ sw $v0, 0x1c($sp) /* 074B14 80073F14 AFA40028 */ sw $a0, 0x28($sp) /* 074B18 80073F18 0C01CE00 */ jal func_80073800 /* 074B1C 80073F1C AFA00024 */ sw $zero, 0x24($sp) /* 074B20 80073F20 8FA2001C */ lw $v0, 0x1c($sp) /* 074B24 80073F24 8FB90034 */ lw $t9, 0x34($sp) /* 074B28 80073F28 8FA40028 */ lw $a0, 0x28($sp) /* 074B2C 80073F2C 8FA80024 */ lw $t0, 0x24($sp) /* 074B30 80073F30 AC590048 */ sw $t9, 0x48($v0) .L80073F34: /* 074B34 80073F34 8C460048 */ lw $a2, 0x48($v0) /* 074B38 80073F38 97A50032 */ lhu $a1, 0x32($sp) /* 074B3C 80073F3C 8FA9002C */ lw $t1, 0x2c($sp) /* 074B40 80073F40 8FAC002C */ lw $t4, 0x2c($sp) /* 074B44 80073F44 00C51823 */ subu $v1, $a2, $a1 /* 074B48 80073F48 5C600009 */ bgtzl $v1, .L80073F70 /* 074B4C 80073F4C 958D0000 */ lhu $t5, ($t4) /* 074B50 80073F50 952A0000 */ lhu $t2, ($t1) /* 074B54 80073F54 00002825 */ move $a1, $zero /* 074B58 80073F58 01465821 */ addu $t3, $t2, $a2 /* 074B5C 80073F5C 0C01CE00 */ jal func_80073800 /* 074B60 80073F60 A52B0000 */ sh $t3, ($t1) /* 074B64 80073F64 10000005 */ b .L80073F7C /* 074B68 80073F68 24080001 */ li $t0, 1 /* 074B6C 80073F6C 958D0000 */ lhu $t5, ($t4) .L80073F70: /* 074B70 80073F70 01A57023 */ subu $t6, $t5, $a1 /* 074B74 80073F74 A58E0000 */ sh $t6, ($t4) /* 074B78 80073F78 AC430048 */ sw $v1, 0x48($v0) .L80073F7C: /* 074B7C 80073F7C 8FBF0014 */ lw $ra, 0x14($sp) /* 074B80 80073F80 27BD0028 */ addiu $sp, $sp, 0x28 /* 074B84 80073F84 01001025 */ move $v0, $t0 /* 074B88 80073F88 03E00008 */ jr $ra /* 074B8C 80073F8C 00000000 */ nop glabel func_80073F90 /* 074B90 80073F90 000470C0 */ sll $t6, $a0, 3 /* 074B94 80073F94 01C47023 */ subu $t6, $t6, $a0 /* 074B98 80073F98 000E7140 */ sll $t6, $t6, 5 /* 074B9C 80073F9C 3C018016 */ lui $at, %hi(D_80165CE5) # 0x8016 /* 074BA0 80073FA0 002E0821 */ addu $at, $at, $t6 /* 074BA4 80073FA4 03E00008 */ jr $ra /* 074BA8 80073FA8 A0255CE5 */ sb $a1, %lo(D_80165CE5)($at) # 0x5ce5($at) glabel func_80073FAC /* 074BAC 80073FAC 000470C0 */ sll $t6, $a0, 3 /* 074BB0 80073FB0 01C47023 */ subu $t6, $t6, $a0 /* 074BB4 80073FB4 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 074BB8 80073FB8 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 074BBC 80073FBC 000E7140 */ sll $t6, $t6, 5 /* 074BC0 80073FC0 01CF1021 */ addu $v0, $t6, $t7 /* 074BC4 80073FC4 905800DB */ lbu $t8, 0xdb($v0) /* 074BC8 80073FC8 27190001 */ addiu $t9, $t8, 1 /* 074BCC 80073FCC 03E00008 */ jr $ra /* 074BD0 80073FD0 A05900DB */ sb $t9, 0xdb($v0) glabel func_80073FD4 /* 074BD4 80073FD4 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 074BD8 80073FD8 AFBF0014 */ sw $ra, 0x14($sp) /* 074BDC 80073FDC AFA40018 */ sw $a0, 0x18($sp) /* 074BE0 80073FE0 0C01CFE4 */ jal func_80073F90 /* 074BE4 80073FE4 00002825 */ move $a1, $zero /* 074BE8 80073FE8 8FAF0018 */ lw $t7, 0x18($sp) /* 074BEC 80073FEC 8FBF0014 */ lw $ra, 0x14($sp) /* 074BF0 80073FF0 3C018016 */ lui $at, %hi(D_80165CF3) # 0x8016 /* 074BF4 80073FF4 000FC0C0 */ sll $t8, $t7, 3 /* 074BF8 80073FF8 030FC023 */ subu $t8, $t8, $t7 /* 074BFC 80073FFC 0018C140 */ sll $t8, $t8, 5 /* 074C00 80074000 00380821 */ addu $at, $at, $t8 /* 074C04 80074004 240E0001 */ li $t6, 1 /* 074C08 80074008 A02E5CF3 */ sb $t6, %lo(D_80165CF3)($at) # 0x5cf3($at) /* 074C0C 8007400C 03E00008 */ jr $ra /* 074C10 80074010 27BD0018 */ addiu $sp, $sp, 0x18 /* 074C14 80074014 03E00008 */ jr $ra /* 074C18 80074018 00000000 */ nop glabel func_8007401C /* 074C1C 8007401C 000470C0 */ sll $t6, $a0, 3 /* 074C20 80074020 01C47023 */ subu $t6, $t6, $a0 /* 074C24 80074024 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 074C28 80074028 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 074C2C 8007402C 000E7140 */ sll $t6, $t6, 5 /* 074C30 80074030 01CF1021 */ addu $v0, $t6, $t7 /* 074C34 80074034 805800CD */ lb $t8, 0xcd($v0) /* 074C38 80074038 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 074C3C 8007403C 44866000 */ mtc1 $a2, $f12 /* 074C40 80074040 44877000 */ mtc1 $a3, $f14 /* 074C44 80074044 00A03025 */ move $a2, $a1 /* 074C48 80074048 AFBF0014 */ sw $ra, 0x14($sp) /* 074C4C 8007404C AFA50024 */ sw $a1, 0x24($sp) /* 074C50 80074050 1700000B */ bnez $t8, .L80074080 /* 074C54 80074054 00003825 */ move $a3, $zero /* 074C58 80074058 E4AC0000 */ swc1 $f12, ($a1) /* 074C5C 8007405C 8FB90034 */ lw $t9, 0x34($sp) /* 074C60 80074060 8FA80038 */ lw $t0, 0x38($sp) /* 074C64 80074064 AFA0001C */ sw $zero, 0x1c($sp) /* 074C68 80074068 24050001 */ li $a1, 1 /* 074C6C 8007406C A45900AA */ sh $t9, 0xaa($v0) /* 074C70 80074070 0C01CFE4 */ jal func_80073F90 /* 074C74 80074074 A04800CE */ sb $t0, 0xce($v0) /* 074C78 80074078 10000022 */ b .L80074104 /* 074C7C 8007407C 8FA7001C */ lw $a3, 0x1c($sp) .L80074080: /* 074C80 80074080 844900AA */ lh $t1, 0xaa($v0) /* 074C84 80074084 252AFFFF */ addiu $t2, $t1, -1 /* 074C88 80074088 A44A00AA */ sh $t2, 0xaa($v0) /* 074C8C 8007408C 844B00AA */ lh $t3, 0xaa($v0) /* 074C90 80074090 8FAC0034 */ lw $t4, 0x34($sp) /* 074C94 80074094 0563001C */ bgezl $t3, .L80074108 /* 074C98 80074098 8FBF0014 */ lw $ra, 0x14($sp) /* 074C9C 8007409C A44C00AA */ sh $t4, 0xaa($v0) /* 074CA0 800740A0 C4C40000 */ lwc1 $f4, ($a2) /* 074CA4 800740A4 C7A60030 */ lwc1 $f6, 0x30($sp) /* 074CA8 800740A8 46062200 */ add.s $f8, $f4, $f6 /* 074CAC 800740AC E4C80000 */ swc1 $f8, ($a2) /* 074CB0 800740B0 C4CA0000 */ lwc1 $f10, ($a2) /* 074CB4 800740B4 460A703C */ c.lt.s $f14, $f10 /* 074CB8 800740B8 00000000 */ nop /* 074CBC 800740BC 45020012 */ bc1fl .L80074108 /* 074CC0 800740C0 8FBF0014 */ lw $ra, 0x14($sp) /* 074CC4 800740C4 804300CE */ lb $v1, 0xce($v0) /* 074CC8 800740C8 00002825 */ move $a1, $zero /* 074CCC 800740CC 18600003 */ blez $v1, .L800740DC /* 074CD0 800740D0 246DFFFF */ addiu $t5, $v1, -1 /* 074CD4 800740D4 A04D00CE */ sb $t5, 0xce($v0) /* 074CD8 800740D8 804300CE */ lb $v1, 0xce($v0) .L800740DC: /* 074CDC 800740DC 54600009 */ bnel $v1, $zero, .L80074104 /* 074CE0 800740E0 E4CC0000 */ swc1 $f12, ($a2) /* 074CE4 800740E4 E4CE0000 */ swc1 $f14, ($a2) /* 074CE8 800740E8 0C01CFE4 */ jal func_80073F90 /* 074CEC 800740EC AFA40020 */ sw $a0, 0x20($sp) /* 074CF0 800740F0 0C01CFEB */ jal func_80073FAC /* 074CF4 800740F4 8FA40020 */ lw $a0, 0x20($sp) /* 074CF8 800740F8 10000002 */ b .L80074104 /* 074CFC 800740FC 24070001 */ li $a3, 1 /* 074D00 80074100 E4CC0000 */ swc1 $f12, ($a2) .L80074104: /* 074D04 80074104 8FBF0014 */ lw $ra, 0x14($sp) .L80074108: /* 074D08 80074108 27BD0020 */ addiu $sp, $sp, 0x20 /* 074D0C 8007410C 00E01025 */ move $v0, $a3 /* 074D10 80074110 03E00008 */ jr $ra /* 074D14 80074114 00000000 */ nop glabel func_80074118 /* 074D18 80074118 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 074D1C 8007411C 44866000 */ mtc1 $a2, $f12 /* 074D20 80074120 44877000 */ mtc1 $a3, $f14 /* 074D24 80074124 C7A40038 */ lwc1 $f4, 0x38($sp) /* 074D28 80074128 8FAE003C */ lw $t6, 0x3c($sp) /* 074D2C 8007412C 8FAF0040 */ lw $t7, 0x40($sp) /* 074D30 80074130 AFBF0024 */ sw $ra, 0x24($sp) /* 074D34 80074134 44066000 */ mfc1 $a2, $f12 /* 074D38 80074138 44077000 */ mfc1 $a3, $f14 /* 074D3C 8007413C E7A40010 */ swc1 $f4, 0x10($sp) /* 074D40 80074140 AFAE0014 */ sw $t6, 0x14($sp) /* 074D44 80074144 0C01D007 */ jal func_8007401C /* 074D48 80074148 AFAF0018 */ sw $t7, 0x18($sp) /* 074D4C 8007414C 8FBF0024 */ lw $ra, 0x24($sp) /* 074D50 80074150 27BD0028 */ addiu $sp, $sp, 0x28 /* 074D54 80074154 03E00008 */ jr $ra /* 074D58 80074158 00000000 */ nop glabel func_8007415C /* 074D5C 8007415C 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 074D60 80074160 AFBF0024 */ sw $ra, 0x24($sp) /* 074D64 80074164 44876000 */ mtc1 $a3, $f12 /* 074D68 80074168 C4A40000 */ lwc1 $f4, ($a1) /* 074D6C 8007416C 44867000 */ mtc1 $a2, $f14 /* 074D70 80074170 C7A60038 */ lwc1 $f6, 0x38($sp) /* 074D74 80074174 460C203C */ c.lt.s $f4, $f12 /* 074D78 80074178 00000000 */ nop /* 074D7C 8007417C 4502000A */ bc1fl .L800741A8 /* 074D80 80074180 8FBF0024 */ lw $ra, 0x24($sp) /* 074D84 80074184 8FAE003C */ lw $t6, 0x3c($sp) /* 074D88 80074188 8FAF0040 */ lw $t7, 0x40($sp) /* 074D8C 8007418C 44067000 */ mfc1 $a2, $f14 /* 074D90 80074190 44076000 */ mfc1 $a3, $f12 /* 074D94 80074194 E7A60010 */ swc1 $f6, 0x10($sp) /* 074D98 80074198 AFAE0014 */ sw $t6, 0x14($sp) /* 074D9C 8007419C 0C01D007 */ jal func_8007401C /* 074DA0 800741A0 AFAF0018 */ sw $t7, 0x18($sp) /* 074DA4 800741A4 8FBF0024 */ lw $ra, 0x24($sp) .L800741A8: /* 074DA8 800741A8 27BD0028 */ addiu $sp, $sp, 0x28 /* 074DAC 800741AC 03E00008 */ jr $ra /* 074DB0 800741B0 00000000 */ nop glabel func_800741B4 /* 074DB4 800741B4 000470C0 */ sll $t6, $a0, 3 /* 074DB8 800741B8 01C47023 */ subu $t6, $t6, $a0 /* 074DBC 800741BC 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 074DC0 800741C0 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 074DC4 800741C4 000E7140 */ sll $t6, $t6, 5 /* 074DC8 800741C8 01CF1021 */ addu $v0, $t6, $t7 /* 074DCC 800741CC 805800CD */ lb $t8, 0xcd($v0) /* 074DD0 800741D0 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 074DD4 800741D4 44866000 */ mtc1 $a2, $f12 /* 074DD8 800741D8 44877000 */ mtc1 $a3, $f14 /* 074DDC 800741DC 00A03025 */ move $a2, $a1 /* 074DE0 800741E0 AFBF0014 */ sw $ra, 0x14($sp) /* 074DE4 800741E4 1700000A */ bnez $t8, .L80074210 /* 074DE8 800741E8 AFA5001C */ sw $a1, 0x1c($sp) /* 074DEC 800741EC E4AC0000 */ swc1 $f12, ($a1) /* 074DF0 800741F0 8FB9002C */ lw $t9, 0x2c($sp) /* 074DF4 800741F4 8FA80030 */ lw $t0, 0x30($sp) /* 074DF8 800741F8 24050001 */ li $a1, 1 /* 074DFC 800741FC A45900AA */ sh $t9, 0xaa($v0) /* 074E00 80074200 0C01CFE4 */ jal func_80073F90 /* 074E04 80074204 A04800CE */ sb $t0, 0xce($v0) /* 074E08 80074208 10000023 */ b .L80074298 /* 074E0C 8007420C 8FBF0014 */ lw $ra, 0x14($sp) .L80074210: /* 074E10 80074210 844900AA */ lh $t1, 0xaa($v0) /* 074E14 80074214 252AFFFF */ addiu $t2, $t1, -1 /* 074E18 80074218 A44A00AA */ sh $t2, 0xaa($v0) /* 074E1C 8007421C 844B00AA */ lh $t3, 0xaa($v0) /* 074E20 80074220 8FAC002C */ lw $t4, 0x2c($sp) /* 074E24 80074224 0563001C */ bgezl $t3, .L80074298 /* 074E28 80074228 8FBF0014 */ lw $ra, 0x14($sp) /* 074E2C 8007422C A44C00AA */ sh $t4, 0xaa($v0) /* 074E30 80074230 C4C40000 */ lwc1 $f4, ($a2) /* 074E34 80074234 C7A60028 */ lwc1 $f6, 0x28($sp) /* 074E38 80074238 46062201 */ sub.s $f8, $f4, $f6 /* 074E3C 8007423C E4C80000 */ swc1 $f8, ($a2) /* 074E40 80074240 C4CA0000 */ lwc1 $f10, ($a2) /* 074E44 80074244 460E503C */ c.lt.s $f10, $f14 /* 074E48 80074248 00000000 */ nop /* 074E4C 8007424C 45020012 */ bc1fl .L80074298 /* 074E50 80074250 8FBF0014 */ lw $ra, 0x14($sp) /* 074E54 80074254 804300CE */ lb $v1, 0xce($v0) /* 074E58 80074258 00002825 */ move $a1, $zero /* 074E5C 8007425C 18600003 */ blez $v1, .L8007426C /* 074E60 80074260 246DFFFF */ addiu $t5, $v1, -1 /* 074E64 80074264 A04D00CE */ sb $t5, 0xce($v0) /* 074E68 80074268 804300CE */ lb $v1, 0xce($v0) .L8007426C: /* 074E6C 8007426C 54600009 */ bnel $v1, $zero, .L80074294 /* 074E70 80074270 E4CC0000 */ swc1 $f12, ($a2) /* 074E74 80074274 E4CE0000 */ swc1 $f14, ($a2) /* 074E78 80074278 0C01CFE4 */ jal func_80073F90 /* 074E7C 8007427C AFA40018 */ sw $a0, 0x18($sp) /* 074E80 80074280 0C01CFEB */ jal func_80073FAC /* 074E84 80074284 8FA40018 */ lw $a0, 0x18($sp) /* 074E88 80074288 10000003 */ b .L80074298 /* 074E8C 8007428C 8FBF0014 */ lw $ra, 0x14($sp) /* 074E90 80074290 E4CC0000 */ swc1 $f12, ($a2) .L80074294: /* 074E94 80074294 8FBF0014 */ lw $ra, 0x14($sp) .L80074298: /* 074E98 80074298 27BD0018 */ addiu $sp, $sp, 0x18 /* 074E9C 8007429C 00001025 */ move $v0, $zero /* 074EA0 800742A0 03E00008 */ jr $ra /* 074EA4 800742A4 00000000 */ nop /* 074EA8 800742A8 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 074EAC 800742AC 44866000 */ mtc1 $a2, $f12 /* 074EB0 800742B0 44877000 */ mtc1 $a3, $f14 /* 074EB4 800742B4 C7A40038 */ lwc1 $f4, 0x38($sp) /* 074EB8 800742B8 8FAE003C */ lw $t6, 0x3c($sp) /* 074EBC 800742BC 8FAF0040 */ lw $t7, 0x40($sp) /* 074EC0 800742C0 AFBF0024 */ sw $ra, 0x24($sp) /* 074EC4 800742C4 44066000 */ mfc1 $a2, $f12 /* 074EC8 800742C8 44077000 */ mfc1 $a3, $f14 /* 074ECC 800742CC E7A40010 */ swc1 $f4, 0x10($sp) /* 074ED0 800742D0 AFAE0014 */ sw $t6, 0x14($sp) /* 074ED4 800742D4 0C01D06D */ jal func_800741B4 /* 074ED8 800742D8 AFAF0018 */ sw $t7, 0x18($sp) /* 074EDC 800742DC 8FBF0024 */ lw $ra, 0x24($sp) /* 074EE0 800742E0 27BD0028 */ addiu $sp, $sp, 0x28 /* 074EE4 800742E4 03E00008 */ jr $ra /* 074EE8 800742E8 00000000 */ nop /* 074EEC 800742EC 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 074EF0 800742F0 AFBF0024 */ sw $ra, 0x24($sp) /* 074EF4 800742F4 44876000 */ mtc1 $a3, $f12 /* 074EF8 800742F8 C4A40000 */ lwc1 $f4, ($a1) /* 074EFC 800742FC 44867000 */ mtc1 $a2, $f14 /* 074F00 80074300 C7A60038 */ lwc1 $f6, 0x38($sp) /* 074F04 80074304 4604603C */ c.lt.s $f12, $f4 /* 074F08 80074308 00000000 */ nop /* 074F0C 8007430C 4502000A */ bc1fl .L80074338 /* 074F10 80074310 8FBF0024 */ lw $ra, 0x24($sp) /* 074F14 80074314 8FAE003C */ lw $t6, 0x3c($sp) /* 074F18 80074318 8FAF0040 */ lw $t7, 0x40($sp) /* 074F1C 8007431C 44067000 */ mfc1 $a2, $f14 /* 074F20 80074320 44076000 */ mfc1 $a3, $f12 /* 074F24 80074324 E7A60010 */ swc1 $f6, 0x10($sp) /* 074F28 80074328 AFAE0014 */ sw $t6, 0x14($sp) /* 074F2C 8007432C 0C01D06D */ jal func_800741B4 /* 074F30 80074330 AFAF0018 */ sw $t7, 0x18($sp) /* 074F34 80074334 8FBF0024 */ lw $ra, 0x24($sp) .L80074338: /* 074F38 80074338 27BD0028 */ addiu $sp, $sp, 0x28 /* 074F3C 8007433C 03E00008 */ jr $ra /* 074F40 80074340 00000000 */ nop glabel func_80074344 /* 074F44 80074344 000470C0 */ sll $t6, $a0, 3 /* 074F48 80074348 01C47023 */ subu $t6, $t6, $a0 /* 074F4C 8007434C 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 074F50 80074350 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 074F54 80074354 000E7140 */ sll $t6, $t6, 5 /* 074F58 80074358 01CF1021 */ addu $v0, $t6, $t7 /* 074F5C 8007435C 805800CD */ lb $t8, 0xcd($v0) /* 074F60 80074360 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 074F64 80074364 44866000 */ mtc1 $a2, $f12 /* 074F68 80074368 44877000 */ mtc1 $a3, $f14 /* 074F6C 8007436C 00A03025 */ move $a2, $a1 /* 074F70 80074370 AFBF0014 */ sw $ra, 0x14($sp) /* 074F74 80074374 1700000A */ bnez $t8, .L800743A0 /* 074F78 80074378 AFA5001C */ sw $a1, 0x1c($sp) /* 074F7C 8007437C E4AC0000 */ swc1 $f12, ($a1) /* 074F80 80074380 8FB9002C */ lw $t9, 0x2c($sp) /* 074F84 80074384 8FA80030 */ lw $t0, 0x30($sp) /* 074F88 80074388 24050001 */ li $a1, 1 /* 074F8C 8007438C A45900AA */ sh $t9, 0xaa($v0) /* 074F90 80074390 0C01CFE4 */ jal func_80073F90 /* 074F94 80074394 A04800CE */ sb $t0, 0xce($v0) /* 074F98 80074398 10000034 */ b .L8007446C /* 074F9C 8007439C 8FBF0014 */ lw $ra, 0x14($sp) .L800743A0: /* 074FA0 800743A0 844900AA */ lh $t1, 0xaa($v0) /* 074FA4 800743A4 252AFFFF */ addiu $t2, $t1, -1 /* 074FA8 800743A8 A44A00AA */ sh $t2, 0xaa($v0) /* 074FAC 800743AC 844B00AA */ lh $t3, 0xaa($v0) /* 074FB0 800743B0 0563002E */ bgezl $t3, .L8007446C /* 074FB4 800743B4 8FBF0014 */ lw $ra, 0x14($sp) /* 074FB8 800743B8 804D00CD */ lb $t5, 0xcd($v0) /* 074FBC 800743BC 8FAC002C */ lw $t4, 0x2c($sp) /* 074FC0 800743C0 24050001 */ li $a1, 1 /* 074FC4 800743C4 14AD000F */ bne $a1, $t5, .L80074404 /* 074FC8 800743C8 A44C00AA */ sh $t4, 0xaa($v0) /* 074FCC 800743CC C4C40000 */ lwc1 $f4, ($a2) /* 074FD0 800743D0 C7A60028 */ lwc1 $f6, 0x28($sp) /* 074FD4 800743D4 46062200 */ add.s $f8, $f4, $f6 /* 074FD8 800743D8 E4C80000 */ swc1 $f8, ($a2) /* 074FDC 800743DC C4CA0000 */ lwc1 $f10, ($a2) /* 074FE0 800743E0 460A703E */ c.le.s $f14, $f10 /* 074FE4 800743E4 00000000 */ nop /* 074FE8 800743E8 45020020 */ bc1fl .L8007446C /* 074FEC 800743EC 8FBF0014 */ lw $ra, 0x14($sp) /* 074FF0 800743F0 E4CE0000 */ swc1 $f14, ($a2) /* 074FF4 800743F4 804E00CD */ lb $t6, 0xcd($v0) /* 074FF8 800743F8 25CF0001 */ addiu $t7, $t6, 1 /* 074FFC 800743FC 1000001A */ b .L80074468 /* 075000 80074400 A04F00CD */ sb $t7, 0xcd($v0) .L80074404: /* 075004 80074404 C4D00000 */ lwc1 $f16, ($a2) /* 075008 80074408 C7B20028 */ lwc1 $f18, 0x28($sp) /* 07500C 8007440C 46128101 */ sub.s $f4, $f16, $f18 /* 075010 80074410 E4C40000 */ swc1 $f4, ($a2) /* 075014 80074414 C4C60000 */ lwc1 $f6, ($a2) /* 075018 80074418 460C303E */ c.le.s $f6, $f12 /* 07501C 8007441C 00000000 */ nop /* 075020 80074420 45020012 */ bc1fl .L8007446C /* 075024 80074424 8FBF0014 */ lw $ra, 0x14($sp) /* 075028 80074428 E4CC0000 */ swc1 $f12, ($a2) /* 07502C 8007442C 804300CE */ lb $v1, 0xce($v0) /* 075030 80074430 18600003 */ blez $v1, .L80074440 /* 075034 80074434 2478FFFF */ addiu $t8, $v1, -1 /* 075038 80074438 A05800CE */ sb $t8, 0xce($v0) /* 07503C 8007443C 804300CE */ lb $v1, 0xce($v0) .L80074440: /* 075040 80074440 54600009 */ bnel $v1, $zero, .L80074468 /* 075044 80074444 A04500CD */ sb $a1, 0xcd($v0) /* 075048 80074448 00002825 */ move $a1, $zero /* 07504C 8007444C 0C01CFE4 */ jal func_80073F90 /* 075050 80074450 AFA40018 */ sw $a0, 0x18($sp) /* 075054 80074454 0C01CFEB */ jal func_80073FAC /* 075058 80074458 8FA40018 */ lw $a0, 0x18($sp) /* 07505C 8007445C 10000003 */ b .L8007446C /* 075060 80074460 8FBF0014 */ lw $ra, 0x14($sp) /* 075064 80074464 A04500CD */ sb $a1, 0xcd($v0) .L80074468: /* 075068 80074468 8FBF0014 */ lw $ra, 0x14($sp) .L8007446C: /* 07506C 8007446C 27BD0018 */ addiu $sp, $sp, 0x18 /* 075070 80074470 03E00008 */ jr $ra /* 075074 80074474 00000000 */ nop glabel func_80074478 /* 075078 80074478 000470C0 */ sll $t6, $a0, 3 /* 07507C 8007447C 01C47023 */ subu $t6, $t6, $a0 /* 075080 80074480 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 075084 80074484 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 075088 80074488 000E7140 */ sll $t6, $t6, 5 /* 07508C 8007448C 01CF1021 */ addu $v0, $t6, $t7 /* 075090 80074490 8C580054 */ lw $t8, 0x54($v0) /* 075094 80074494 37190001 */ ori $t9, $t8, 1 /* 075098 80074498 03E00008 */ jr $ra /* 07509C 8007449C AC590054 */ sw $t9, 0x54($v0) glabel func_800744A0 /* 0750A0 800744A0 000470C0 */ sll $t6, $a0, 3 /* 0750A4 800744A4 01C47023 */ subu $t6, $t6, $a0 /* 0750A8 800744A8 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 0750AC 800744AC 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 0750B0 800744B0 000E7140 */ sll $t6, $t6, 5 /* 0750B4 800744B4 01CF1021 */ addu $v0, $t6, $t7 /* 0750B8 800744B8 8C580054 */ lw $t8, 0x54($v0) /* 0750BC 800744BC 2401FFFE */ li $at, -2 /* 0750C0 800744C0 0301C824 */ and $t9, $t8, $at /* 0750C4 800744C4 03E00008 */ jr $ra /* 0750C8 800744C8 AC590054 */ sw $t9, 0x54($v0) glabel func_800744CC /* 0750CC 800744CC 3C0E8019 */ lui $t6, %hi(D_8018D224) # $t6, 0x8019 /* 0750D0 800744D0 8DCED224 */ lw $t6, %lo(D_8018D224)($t6) /* 0750D4 800744D4 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0750D8 800744D8 AFBF0014 */ sw $ra, 0x14($sp) /* 0750DC 800744DC 11C00008 */ beqz $t6, .L80074500 /* 0750E0 800744E0 3C048015 */ lui $a0, %hi(D_8014EF58) # $a0, 0x8015 /* 0750E4 800744E4 3C058015 */ lui $a1, %hi(D_8014F098) # $a1, 0x8015 /* 0750E8 800744E8 24A5F098 */ addiu $a1, %lo(D_8014F098) # addiu $a1, $a1, -0xf68 /* 0750EC 800744EC 2484EF58 */ addiu $a0, %lo(D_8014EF58) # addiu $a0, $a0, -0x10a8 /* 0750F0 800744F0 0C0335D4 */ jal osRecvMesg /* 0750F4 800744F4 24060001 */ li $a2, 1 /* 0750F8 800744F8 3C018019 */ lui $at, %hi(D_8018D224) # $at, 0x8019 /* 0750FC 800744FC AC20D224 */ sw $zero, %lo(D_8018D224)($at) .L80074500: /* 075100 80074500 8FBF0014 */ lw $ra, 0x14($sp) /* 075104 80074504 27BD0018 */ addiu $sp, $sp, 0x18 /* 075108 80074508 03E00008 */ jr $ra /* 07510C 8007450C 00000000 */ nop glabel func_80074510 /* 075110 80074510 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 075114 80074514 AFBF0024 */ sw $ra, 0x24($sp) /* 075118 80074518 AFA40028 */ sw $a0, 0x28($sp) /* 07511C 8007451C AFA5002C */ sw $a1, 0x2c($sp) /* 075120 80074520 0C01D133 */ jal func_800744CC /* 075124 80074524 AFA60030 */ sw $a2, 0x30($sp) /* 075128 80074528 8FAE002C */ lw $t6, 0x2c($sp) /* 07512C 8007452C 8FAF0030 */ lw $t7, 0x30($sp) /* 075130 80074530 3C188015 */ lui $t8, %hi(D_8014EF58) # $t8, 0x8015 /* 075134 80074534 2718EF58 */ addiu $t8, %lo(D_8014EF58) # addiu $t8, $t8, -0x10a8 /* 075138 80074538 3C048015 */ lui $a0, %hi(D_8014F0A0) # $a0, 0x8015 /* 07513C 8007453C 2484F0A0 */ addiu $a0, %lo(D_8014F0A0) # addiu $a0, $a0, -0xf60 /* 075140 80074540 AFB80018 */ sw $t8, 0x18($sp) /* 075144 80074544 00002825 */ move $a1, $zero /* 075148 80074548 00003025 */ move $a2, $zero /* 07514C 8007454C 8FA70028 */ lw $a3, 0x28($sp) /* 075150 80074550 AFAE0010 */ sw $t6, 0x10($sp) /* 075154 80074554 0C03370C */ jal osPiStartDma /* 075158 80074558 AFAF0014 */ sw $t7, 0x14($sp) /* 07515C 8007455C 8FBF0024 */ lw $ra, 0x24($sp) /* 075160 80074560 24190001 */ li $t9, 1 /* 075164 80074564 3C018019 */ lui $at, %hi(D_8018D224) # $at, 0x8019 /* 075168 80074568 AC39D224 */ sw $t9, %lo(D_8018D224)($at) /* 07516C 8007456C 03E00008 */ jr $ra /* 075170 80074570 27BD0028 */ addiu $sp, $sp, 0x28 glabel func_80074574 /* 075174 80074574 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 075178 80074578 AFA60020 */ sw $a2, 0x20($sp) /* 07517C 8007457C 97A80022 */ lhu $t0, 0x22($sp) /* 075180 80074580 30EEFFFF */ andi $t6, $a3, 0xffff /* 075184 80074584 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff /* 075188 80074588 010E0019 */ multu $t0, $t6 /* 07518C 8007458C 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff /* 075190 80074590 3C190064 */ lui $t9, %hi(_other_texturesSegmentRomStart) # $t9, 0x64 /* 075194 80074594 AFBF0014 */ sw $ra, 0x14($sp) /* 075198 80074598 AFA40018 */ sw $a0, 0x18($sp) /* 07519C 8007459C 27391F70 */ addiu $t9, %lo(_other_texturesSegmentRomStart) # addiu $t9, $t9, 0x1f70 /* 0751A0 800745A0 0081C024 */ and $t8, $a0, $at /* 0751A4 800745A4 AFA70024 */ sw $a3, 0x24($sp) /* 0751A8 800745A8 03192021 */ addu $a0, $t8, $t9 /* 0751AC 800745AC 00003012 */ mflo $a2 /* 0751B0 800745B0 0C01D144 */ jal func_80074510 /* 0751B4 800745B4 00000000 */ nop /* 0751B8 800745B8 8FBF0014 */ lw $ra, 0x14($sp) /* 0751BC 800745BC 27BD0018 */ addiu $sp, $sp, 0x18 /* 0751C0 800745C0 03E00008 */ jr $ra /* 0751C4 800745C4 00000000 */ nop glabel func_800745C8 /* 0751C8 800745C8 000470C0 */ sll $t6, $a0, 3 /* 0751CC 800745CC 01C47023 */ subu $t6, $t6, $a0 /* 0751D0 800745D0 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 0751D4 800745D4 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 0751D8 800745D8 000E7140 */ sll $t6, $t6, 5 /* 0751DC 800745DC 01CF1021 */ addu $v0, $t6, $t7 /* 0751E0 800745E0 8C430054 */ lw $v1, 0x54($v0) /* 0751E4 800745E4 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0751E8 800745E8 AFBF0014 */ sw $ra, 0x14($sp) /* 0751EC 800745EC 30780001 */ andi $t8, $v1, 1 /* 0751F0 800745F0 00803025 */ move $a2, $a0 /* 0751F4 800745F4 13000019 */ beqz $t8, .L8007465C /* 0751F8 800745F8 00A03825 */ move $a3, $a1 /* 0751FC 800745FC 8C440068 */ lw $a0, 0x68($v0) /* 075200 80074600 8C590060 */ lw $t9, 0x60($v0) /* 075204 80074604 00002825 */ move $a1, $zero /* 075208 80074608 50990004 */ beql $a0, $t9, .L8007461C /* 07520C 8007460C 38680002 */ xori $t0, $v1, 2 /* 075210 80074610 AC440060 */ sw $a0, 0x60($v0) /* 075214 80074614 8C430054 */ lw $v1, 0x54($v0) /* 075218 80074618 38680002 */ xori $t0, $v1, 2 .L8007461C: /* 07521C 8007461C 310A0002 */ andi $t2, $t0, 2 /* 075220 80074620 11400002 */ beqz $t2, .L8007462C /* 075224 80074624 AC480054 */ sw $t0, 0x54($v0) /* 075228 80074628 24050001 */ li $a1, 1 .L8007462C: /* 07522C 8007462C 904B00DA */ lbu $t3, 0xda($v0) /* 075230 80074630 904C00D9 */ lbu $t4, 0xd9($v0) /* 075234 80074634 00C02025 */ move $a0, $a2 /* 075238 80074638 016C0019 */ multu $t3, $t4 /* 07523C 8007463C 00006812 */ mflo $t5 /* 075240 80074640 00000000 */ nop /* 075244 80074644 00000000 */ nop /* 075248 80074648 01A50019 */ multu $t5, $a1 /* 07524C 8007464C 00007012 */ mflo $t6 /* 075250 80074650 01C77821 */ addu $t7, $t6, $a3 /* 075254 80074654 0C01D128 */ jal func_800744A0 /* 075258 80074658 AC4F0064 */ sw $t7, 0x64($v0) .L8007465C: /* 07525C 8007465C 8FBF0014 */ lw $ra, 0x14($sp) /* 075260 80074660 27BD0018 */ addiu $sp, $sp, 0x18 /* 075264 80074664 03E00008 */ jr $ra /* 075268 80074668 00000000 */ nop glabel func_8007466C /* 07526C 8007466C 000470C0 */ sll $t6, $a0, 3 /* 075270 80074670 01C47023 */ subu $t6, $t6, $a0 /* 075274 80074674 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 075278 80074678 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 07527C 8007467C 000E7140 */ sll $t6, $t6, 5 /* 075280 80074680 01CF1021 */ addu $v0, $t6, $t7 /* 075284 80074684 8C430054 */ lw $v1, 0x54($v0) /* 075288 80074688 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 07528C 8007468C AFBF0014 */ sw $ra, 0x14($sp) /* 075290 80074690 30780001 */ andi $t8, $v1, 1 /* 075294 80074694 13000017 */ beqz $t8, .L800746F4 /* 075298 80074698 00A03025 */ move $a2, $a1 /* 07529C 8007469C 804800D3 */ lb $t0, 0xd3($v0) /* 0752A0 800746A0 8C4A0068 */ lw $t2, 0x68($v0) /* 0752A4 800746A4 386C0002 */ xori $t4, $v1, 2 /* 0752A8 800746A8 00084A40 */ sll $t1, $t0, 9 /* 0752AC 800746AC 318E0002 */ andi $t6, $t4, 2 /* 0752B0 800746B0 012A5821 */ addu $t3, $t1, $t2 /* 0752B4 800746B4 AC4B0060 */ sw $t3, 0x60($v0) /* 0752B8 800746B8 AC4C0054 */ sw $t4, 0x54($v0) /* 0752BC 800746BC 11C00002 */ beqz $t6, .L800746C8 /* 0752C0 800746C0 00002825 */ move $a1, $zero /* 0752C4 800746C4 24050001 */ li $a1, 1 .L800746C8: /* 0752C8 800746C8 904F00DA */ lbu $t7, 0xda($v0) /* 0752CC 800746CC 905800D9 */ lbu $t8, 0xd9($v0) /* 0752D0 800746D0 01F80019 */ multu $t7, $t8 /* 0752D4 800746D4 0000C812 */ mflo $t9 /* 0752D8 800746D8 00000000 */ nop /* 0752DC 800746DC 00000000 */ nop /* 0752E0 800746E0 03250019 */ multu $t9, $a1 /* 0752E4 800746E4 00004012 */ mflo $t0 /* 0752E8 800746E8 01064821 */ addu $t1, $t0, $a2 /* 0752EC 800746EC 0C01D128 */ jal func_800744A0 /* 0752F0 800746F0 AC490064 */ sw $t1, 0x64($v0) .L800746F4: /* 0752F4 800746F4 8FBF0014 */ lw $ra, 0x14($sp) /* 0752F8 800746F8 27BD0018 */ addiu $sp, $sp, 0x18 /* 0752FC 800746FC 03E00008 */ jr $ra /* 075300 80074700 00000000 */ nop glabel func_80074704 /* 075304 80074704 000470C0 */ sll $t6, $a0, 3 /* 075308 80074708 01C47023 */ subu $t6, $t6, $a0 /* 07530C 8007470C 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 075310 80074710 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 075314 80074714 000E7140 */ sll $t6, $t6, 5 /* 075318 80074718 01CF1021 */ addu $v0, $t6, $t7 /* 07531C 8007471C 8C430054 */ lw $v1, 0x54($v0) /* 075320 80074720 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 075324 80074724 AFBF0014 */ sw $ra, 0x14($sp) /* 075328 80074728 30780001 */ andi $t8, $v1, 1 /* 07532C 8007472C 13000014 */ beqz $t8, .L80074780 /* 075330 80074730 00A03025 */ move $a2, $a1 /* 075334 80074734 8C590068 */ lw $t9, 0x68($v0) /* 075338 80074738 38680002 */ xori $t0, $v1, 2 /* 07533C 8007473C 310A0002 */ andi $t2, $t0, 2 /* 075340 80074740 AC480054 */ sw $t0, 0x54($v0) /* 075344 80074744 00002825 */ move $a1, $zero /* 075348 80074748 11400002 */ beqz $t2, .L80074754 /* 07534C 8007474C AC590060 */ sw $t9, 0x60($v0) /* 075350 80074750 24050001 */ li $a1, 1 .L80074754: /* 075354 80074754 904B00DA */ lbu $t3, 0xda($v0) /* 075358 80074758 904C00D9 */ lbu $t4, 0xd9($v0) /* 07535C 8007475C 016C0019 */ multu $t3, $t4 /* 075360 80074760 00006812 */ mflo $t5 /* 075364 80074764 00000000 */ nop /* 075368 80074768 00000000 */ nop /* 07536C 8007476C 01A50019 */ multu $t5, $a1 /* 075370 80074770 00007012 */ mflo $t6 /* 075374 80074774 01C67821 */ addu $t7, $t6, $a2 /* 075378 80074778 0C01D128 */ jal func_800744A0 /* 07537C 8007477C AC4F0064 */ sw $t7, 0x64($v0) .L80074780: /* 075380 80074780 8FBF0014 */ lw $ra, 0x14($sp) /* 075384 80074784 27BD0018 */ addiu $sp, $sp, 0x18 /* 075388 80074788 03E00008 */ jr $ra /* 07538C 8007478C 00000000 */ nop glabel func_80074790 /* 075390 80074790 000470C0 */ sll $t6, $a0, 3 /* 075394 80074794 01C47023 */ subu $t6, $t6, $a0 /* 075398 80074798 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 07539C 8007479C 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 0753A0 800747A0 000E7140 */ sll $t6, $t6, 5 /* 0753A4 800747A4 01CF1821 */ addu $v1, $t6, $t7 /* 0753A8 800747A8 8C780054 */ lw $t8, 0x54($v1) /* 0753AC 800747AC 00003025 */ move $a2, $zero /* 0753B0 800747B0 3B190004 */ xori $t9, $t8, 4 /* 0753B4 800747B4 33290004 */ andi $t1, $t9, 4 /* 0753B8 800747B8 11200002 */ beqz $t1, .L800747C4 /* 0753BC 800747BC AC790054 */ sw $t9, 0x54($v1) /* 0753C0 800747C0 24060001 */ li $a2, 1 .L800747C4: /* 0753C4 800747C4 906A00DA */ lbu $t2, 0xda($v1) /* 0753C8 800747C8 906B00D9 */ lbu $t3, 0xd9($v1) /* 0753CC 800747CC 014B0019 */ multu $t2, $t3 /* 0753D0 800747D0 00006012 */ mflo $t4 /* 0753D4 800747D4 00000000 */ nop /* 0753D8 800747D8 00000000 */ nop /* 0753DC 800747DC 01860019 */ multu $t4, $a2 /* 0753E0 800747E0 00006812 */ mflo $t5 /* 0753E4 800747E4 01A51021 */ addu $v0, $t5, $a1 /* 0753E8 800747E8 03E00008 */ jr $ra /* 0753EC 800747EC 00000000 */ nop glabel func_800747F0 /* 0753F0 800747F0 000470C0 */ sll $t6, $a0, 3 /* 0753F4 800747F4 01C47023 */ subu $t6, $t6, $a0 /* 0753F8 800747F8 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 0753FC 800747FC 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 075400 80074800 000E7140 */ sll $t6, $t6, 5 /* 075404 80074804 01CF1821 */ addu $v1, $t6, $t7 /* 075408 80074808 806200D2 */ lb $v0, 0xd2($v1) /* 07540C 8007480C 807800D3 */ lb $t8, 0xd3($v1) /* 075410 80074810 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 075414 80074814 AFBF0014 */ sw $ra, 0x14($sp) /* 075418 80074818 5058001B */ beql $v0, $t8, .L80074888 /* 07541C 8007481C 8FBF0014 */ lw $ra, 0x14($sp) /* 075420 80074820 907900D9 */ lbu $t9, 0xd9($v1) /* 075424 80074824 906900DA */ lbu $t1, 0xda($v1) /* 075428 80074828 8C6B006C */ lw $t3, 0x6c($v1) /* 07542C 8007482C 00590019 */ multu $v0, $t9 /* 075430 80074830 AFA3001C */ sw $v1, 0x1c($sp) /* 075434 80074834 AFA40028 */ sw $a0, 0x28($sp) /* 075438 80074838 00004012 */ mflo $t0 /* 07543C 8007483C 00000000 */ nop /* 075440 80074840 00000000 */ nop /* 075444 80074844 01090019 */ multu $t0, $t1 /* 075448 80074848 00005012 */ mflo $t2 /* 07544C 8007484C 014B6021 */ addu $t4, $t2, $t3 /* 075450 80074850 0C01D1E4 */ jal func_80074790 /* 075454 80074854 AFAC0024 */ sw $t4, 0x24($sp) /* 075458 80074858 8FA3001C */ lw $v1, 0x1c($sp) /* 07545C 8007485C 8FA40024 */ lw $a0, 0x24($sp) /* 075460 80074860 00402825 */ move $a1, $v0 /* 075464 80074864 906600D9 */ lbu $a2, 0xd9($v1) /* 075468 80074868 0C01D15D */ jal func_80074574 /* 07546C 8007486C 906700DA */ lbu $a3, 0xda($v1) /* 075470 80074870 8FA3001C */ lw $v1, 0x1c($sp) /* 075474 80074874 8FA40028 */ lw $a0, 0x28($sp) /* 075478 80074878 806D00D2 */ lb $t5, 0xd2($v1) /* 07547C 8007487C 0C01D11E */ jal func_80074478 /* 075480 80074880 A06D00D3 */ sb $t5, 0xd3($v1) /* 075484 80074884 8FBF0014 */ lw $ra, 0x14($sp) .L80074888: /* 075488 80074888 27BD0028 */ addiu $sp, $sp, 0x28 /* 07548C 8007488C 03E00008 */ jr $ra /* 075490 80074890 00000000 */ nop glabel func_80074894 /* 075494 80074894 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 075498 80074898 AFBF0014 */ sw $ra, 0x14($sp) /* 07549C 8007489C AFA40018 */ sw $a0, 0x18($sp) /* 0754A0 800748A0 0C01D1FC */ jal func_800747F0 /* 0754A4 800748A4 AFA5001C */ sw $a1, 0x1c($sp) /* 0754A8 800748A8 8FA40018 */ lw $a0, 0x18($sp) /* 0754AC 800748AC 0C01D172 */ jal func_800745C8 /* 0754B0 800748B0 8FA5001C */ lw $a1, 0x1c($sp) /* 0754B4 800748B4 8FBF0014 */ lw $ra, 0x14($sp) /* 0754B8 800748B8 27BD0018 */ addiu $sp, $sp, 0x18 /* 0754BC 800748BC 03E00008 */ jr $ra /* 0754C0 800748C0 00000000 */ nop glabel func_800748C4 /* 0754C4 800748C4 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0754C8 800748C8 AFBF0014 */ sw $ra, 0x14($sp) /* 0754CC 800748CC AFA40018 */ sw $a0, 0x18($sp) /* 0754D0 800748D0 0C01D1FC */ jal func_800747F0 /* 0754D4 800748D4 AFA5001C */ sw $a1, 0x1c($sp) /* 0754D8 800748D8 8FA40018 */ lw $a0, 0x18($sp) /* 0754DC 800748DC 0C01D19B */ jal func_8007466C /* 0754E0 800748E0 8FA5001C */ lw $a1, 0x1c($sp) /* 0754E4 800748E4 8FBF0014 */ lw $ra, 0x14($sp) /* 0754E8 800748E8 27BD0018 */ addiu $sp, $sp, 0x18 /* 0754EC 800748EC 03E00008 */ jr $ra /* 0754F0 800748F0 00000000 */ nop glabel func_800748F4 /* 0754F4 800748F4 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0754F8 800748F8 AFBF0014 */ sw $ra, 0x14($sp) /* 0754FC 800748FC AFA40018 */ sw $a0, 0x18($sp) /* 075500 80074900 0C01D1FC */ jal func_800747F0 /* 075504 80074904 AFA5001C */ sw $a1, 0x1c($sp) /* 075508 80074908 8FA40018 */ lw $a0, 0x18($sp) /* 07550C 8007490C 0C01D1C1 */ jal func_80074704 /* 075510 80074910 8FA5001C */ lw $a1, 0x1c($sp) /* 075514 80074914 8FBF0014 */ lw $ra, 0x14($sp) /* 075518 80074918 27BD0018 */ addiu $sp, $sp, 0x18 /* 07551C 8007491C 03E00008 */ jr $ra /* 075520 80074920 00000000 */ nop glabel func_80074924 /* 075524 80074924 000478C0 */ sll $t7, $a0, 3 /* 075528 80074928 3C01800F */ lui $at, %hi(D_800EEA80) # $at, 0x800f /* 07552C 8007492C C424EA80 */ lwc1 $f4, %lo(D_800EEA80)($at) /* 075530 80074930 27BDFFD0 */ addiu $sp, $sp, -0x30 /* 075534 80074934 01E47823 */ subu $t7, $t7, $a0 /* 075538 80074938 3C188016 */ lui $t8, %hi(D_80165C18) # $t8, 0x8016 /* 07553C 8007493C AFB00018 */ sw $s0, 0x18($sp) /* 075540 80074940 27185C18 */ addiu $t8, %lo(D_80165C18) # addiu $t8, $t8, 0x5c18 /* 075544 80074944 000F7940 */ sll $t7, $t7, 5 /* 075548 80074948 01F88021 */ addu $s0, $t7, $t8 /* 07554C 8007494C 3C02800E */ lui $v0, %hi(gCurrentCourseId) # $v0, 0x800e /* 075550 80074950 E6040000 */ swc1 $f4, ($s0) /* 075554 80074954 8442C5A0 */ lh $v0, %lo(gCurrentCourseId)($v0) /* 075558 80074958 AFBF001C */ sw $ra, 0x1c($sp) /* 07555C 8007495C AFA40030 */ sw $a0, 0x30($sp) /* 075560 80074960 10400007 */ beqz $v0, .L80074980 /* 075564 80074964 24010007 */ li $at, 7 /* 075568 80074968 1041003C */ beq $v0, $at, .L80074A5C /* 07556C 8007496C 24010008 */ li $at, 8 /* 075570 80074970 10410070 */ beq $v0, $at, .L80074B34 /* 075574 80074974 00000000 */ nop /* 075578 80074978 100000A4 */ b .L80074C0C /* 07557C 8007497C 44800000 */ mtc1 $zero, $f0 .L80074980: /* 075580 80074980 0C0ADF8D */ jal random_int /* 075584 80074984 240400C8 */ li $a0, 200 /* 075588 80074988 3C048016 */ lui $a0, %hi(D_80165748) # $a0, 0x8016 /* 07558C 8007498C AFA2002C */ sw $v0, 0x2c($sp) /* 075590 80074990 0C0ADF8D */ jal random_int /* 075594 80074994 94845748 */ lhu $a0, %lo(D_80165748)($a0) /* 075598 80074998 AFA20028 */ sw $v0, 0x28($sp) /* 07559C 8007499C 0C0ADF8D */ jal random_int /* 0755A0 800749A0 24040096 */ li $a0, 150 /* 0755A4 800749A4 AFA20024 */ sw $v0, 0x24($sp) /* 0755A8 800749A8 0C0ADF8D */ jal random_int /* 0755AC 800749AC 24042000 */ li $a0, 8192 /* 0755B0 800749B0 3C198016 */ lui $t9, %hi(D_80165718) # $t9, 0x8016 /* 0755B4 800749B4 87395718 */ lh $t9, %lo(D_80165718)($t9) /* 0755B8 800749B8 8FA8002C */ lw $t0, 0x2c($sp) /* 0755BC 800749BC 3C014059 */ li $at, 0x40590000 # 3.390625 /* 0755C0 800749C0 44993000 */ mtc1 $t9, $f6 /* 0755C4 800749C4 44889000 */ mtc1 $t0, $f18 /* 0755C8 800749C8 44815800 */ mtc1 $at, $f11 /* 0755CC 800749CC 46803221 */ cvt.d.w $f8, $f6 /* 0755D0 800749D0 44805000 */ mtc1 $zero, $f10 /* 0755D4 800749D4 3C018019 */ lui $at, %hi(D_8018D01C) # $at, 0x8019 /* 0755D8 800749D8 3C098016 */ lui $t1, %hi(D_80165720) # $t1, 0x8016 /* 0755DC 800749DC 46809121 */ cvt.d.w $f4, $f18 /* 0755E0 800749E0 8FAA0028 */ lw $t2, 0x28($sp) /* 0755E4 800749E4 3C0C8016 */ lui $t4, %hi(D_80165728) # $t4, 0x8016 /* 0755E8 800749E8 8FAD0024 */ lw $t5, 0x24($sp) /* 0755EC 800749EC 462A4400 */ add.d $f16, $f8, $f10 /* 0755F0 800749F0 C428D01C */ lwc1 $f8, %lo(D_8018D01C)($at) /* 0755F4 800749F4 3C014069 */ li $at, 0x40690000 # 3.640625 /* 0755F8 800749F8 AFA20020 */ sw $v0, 0x20($sp) /* 0755FC 800749FC 46248181 */ sub.d $f6, $f16, $f4 /* 075600 80074A00 460042A1 */ cvt.d.s $f10, $f8 /* 075604 80074A04 462A3482 */ mul.d $f18, $f6, $f10 /* 075608 80074A08 46209420 */ cvt.s.d $f16, $f18 /* 07560C 80074A0C 44809000 */ mtc1 $zero, $f18 /* 075610 80074A10 44819800 */ mtc1 $at, $f19 /* 075614 80074A14 E6100010 */ swc1 $f16, 0x10($s0) /* 075618 80074A18 85295720 */ lh $t1, %lo(D_80165720)($t1) /* 07561C 80074A1C 012A5821 */ addu $t3, $t1, $t2 /* 075620 80074A20 448B2000 */ mtc1 $t3, $f4 /* 075624 80074A24 00000000 */ nop /* 075628 80074A28 46802220 */ cvt.s.w $f8, $f4 /* 07562C 80074A2C 448D2000 */ mtc1 $t5, $f4 /* 075630 80074A30 E6080014 */ swc1 $f8, 0x14($s0) /* 075634 80074A34 858C5728 */ lh $t4, %lo(D_80165728)($t4) /* 075638 80074A38 46802221 */ cvt.d.w $f8, $f4 /* 07563C 80074A3C 448C3000 */ mtc1 $t4, $f6 /* 075640 80074A40 00000000 */ nop /* 075644 80074A44 468032A1 */ cvt.d.w $f10, $f6 /* 075648 80074A48 46325400 */ add.d $f16, $f10, $f18 /* 07564C 80074A4C 46288181 */ sub.d $f6, $f16, $f8 /* 075650 80074A50 462032A0 */ cvt.s.d $f10, $f6 /* 075654 80074A54 1000006C */ b .L80074C08 /* 075658 80074A58 E60A0018 */ swc1 $f10, 0x18($s0) .L80074A5C: /* 07565C 80074A5C 0C0ADF8D */ jal random_int /* 075660 80074A60 24040168 */ li $a0, 360 /* 075664 80074A64 3C048016 */ lui $a0, %hi(D_80165748) # $a0, 0x8016 /* 075668 80074A68 AFA2002C */ sw $v0, 0x2c($sp) /* 07566C 80074A6C 0C0ADF8D */ jal random_int /* 075670 80074A70 94845748 */ lhu $a0, %lo(D_80165748)($a0) /* 075674 80074A74 AFA20028 */ sw $v0, 0x28($sp) /* 075678 80074A78 0C0ADF8D */ jal random_int /* 07567C 80074A7C 240400B4 */ li $a0, 180 /* 075680 80074A80 AFA20024 */ sw $v0, 0x24($sp) /* 075684 80074A84 0C0ADF8D */ jal random_int /* 075688 80074A88 24042000 */ li $a0, 8192 /* 07568C 80074A8C 3C0E8016 */ lui $t6, %hi(D_80165718) # $t6, 0x8016 /* 075690 80074A90 85CE5718 */ lh $t6, %lo(D_80165718)($t6) /* 075694 80074A94 8FAF002C */ lw $t7, 0x2c($sp) /* 075698 80074A98 3C01800F */ lui $at, %hi(D_800EEA88) /* 07569C 80074A9C 448E9000 */ mtc1 $t6, $f18 /* 0756A0 80074AA0 448F3000 */ mtc1 $t7, $f6 /* 0756A4 80074AA4 D430EA88 */ ldc1 $f16, %lo(D_800EEA88)($at) /* 0756A8 80074AA8 46809121 */ cvt.d.w $f4, $f18 /* 0756AC 80074AAC 3C018019 */ lui $at, %hi(D_8018D01C) # $at, 0x8019 /* 0756B0 80074AB0 3C188016 */ lui $t8, %hi(D_80165720) # $t8, 0x8016 /* 0756B4 80074AB4 8FB90028 */ lw $t9, 0x28($sp) /* 0756B8 80074AB8 468032A1 */ cvt.d.w $f10, $f6 /* 0756BC 80074ABC 3C098016 */ lui $t1, %hi(D_80165728) # $t1, 0x8016 /* 0756C0 80074AC0 8FAA0024 */ lw $t2, 0x24($sp) /* 0756C4 80074AC4 AFA20020 */ sw $v0, 0x20($sp) /* 0756C8 80074AC8 46302200 */ add.d $f8, $f4, $f16 /* 0756CC 80074ACC C424D01C */ lwc1 $f4, %lo(D_8018D01C)($at) /* 0756D0 80074AD0 3C014069 */ li $at, 0x40690000 # 3.640625 /* 0756D4 80074AD4 462A4481 */ sub.d $f18, $f8, $f10 /* 0756D8 80074AD8 46002421 */ cvt.d.s $f16, $f4 /* 0756DC 80074ADC 46309182 */ mul.d $f6, $f18, $f16 /* 0756E0 80074AE0 46203220 */ cvt.s.d $f8, $f6 /* 0756E4 80074AE4 44803000 */ mtc1 $zero, $f6 /* 0756E8 80074AE8 44813800 */ mtc1 $at, $f7 /* 0756EC 80074AEC E6080010 */ swc1 $f8, 0x10($s0) /* 0756F0 80074AF0 87185720 */ lh $t8, %lo(D_80165720)($t8) /* 0756F4 80074AF4 03194021 */ addu $t0, $t8, $t9 /* 0756F8 80074AF8 44885000 */ mtc1 $t0, $f10 /* 0756FC 80074AFC 00000000 */ nop /* 075700 80074B00 46805120 */ cvt.s.w $f4, $f10 /* 075704 80074B04 448A5000 */ mtc1 $t2, $f10 /* 075708 80074B08 E6040014 */ swc1 $f4, 0x14($s0) /* 07570C 80074B0C 85295728 */ lh $t1, %lo(D_80165728)($t1) /* 075710 80074B10 46805121 */ cvt.d.w $f4, $f10 /* 075714 80074B14 44899000 */ mtc1 $t1, $f18 /* 075718 80074B18 00000000 */ nop /* 07571C 80074B1C 46809421 */ cvt.d.w $f16, $f18 /* 075720 80074B20 46268200 */ add.d $f8, $f16, $f6 /* 075724 80074B24 46244481 */ sub.d $f18, $f8, $f4 /* 075728 80074B28 46209420 */ cvt.s.d $f16, $f18 /* 07572C 80074B2C 10000036 */ b .L80074C08 /* 075730 80074B30 E6100018 */ swc1 $f16, 0x18($s0) .L80074B34: /* 075734 80074B34 0C0ADF8D */ jal random_int /* 075738 80074B38 2404012C */ li $a0, 300 /* 07573C 80074B3C 3C048016 */ lui $a0, %hi(D_80165748) # $a0, 0x8016 /* 075740 80074B40 AFA2002C */ sw $v0, 0x2c($sp) /* 075744 80074B44 0C0ADF8D */ jal random_int /* 075748 80074B48 94845748 */ lhu $a0, %lo(D_80165748)($a0) /* 07574C 80074B4C AFA20028 */ sw $v0, 0x28($sp) /* 075750 80074B50 0C0ADF8D */ jal random_int /* 075754 80074B54 24040096 */ li $a0, 150 /* 075758 80074B58 AFA20024 */ sw $v0, 0x24($sp) /* 07575C 80074B5C 0C0ADF8D */ jal random_int /* 075760 80074B60 24042000 */ li $a0, 8192 /* 075764 80074B64 3C0B8016 */ lui $t3, %hi(D_80165718) # $t3, 0x8016 /* 075768 80074B68 856B5718 */ lh $t3, %lo(D_80165718)($t3) /* 07576C 80074B6C 8FAC002C */ lw $t4, 0x2c($sp) /* 075770 80074B70 3C01800F */ lui $at, %hi(D_800EEA90) /* 075774 80074B74 448B3000 */ mtc1 $t3, $f6 /* 075778 80074B78 448C9000 */ mtc1 $t4, $f18 /* 07577C 80074B7C D428EA90 */ ldc1 $f8, %lo(D_800EEA90)($at) /* 075780 80074B80 468032A1 */ cvt.d.w $f10, $f6 /* 075784 80074B84 3C018019 */ lui $at, %hi(D_8018D01C) # $at, 0x8019 /* 075788 80074B88 3C0D8016 */ lui $t5, %hi(D_80165720) # $t5, 0x8016 /* 07578C 80074B8C 8FAE0028 */ lw $t6, 0x28($sp) /* 075790 80074B90 46809421 */ cvt.d.w $f16, $f18 /* 075794 80074B94 3C188016 */ lui $t8, %hi(D_80165728) # $t8, 0x8016 /* 075798 80074B98 8FB90024 */ lw $t9, 0x24($sp) /* 07579C 80074B9C AFA20020 */ sw $v0, 0x20($sp) /* 0757A0 80074BA0 46285100 */ add.d $f4, $f10, $f8 /* 0757A4 80074BA4 C42AD01C */ lwc1 $f10, %lo(D_8018D01C)($at) /* 0757A8 80074BA8 3C014069 */ li $at, 0x40690000 # 3.640625 /* 0757AC 80074BAC 46302181 */ sub.d $f6, $f4, $f16 /* 0757B0 80074BB0 46005221 */ cvt.d.s $f8, $f10 /* 0757B4 80074BB4 46283482 */ mul.d $f18, $f6, $f8 /* 0757B8 80074BB8 46209120 */ cvt.s.d $f4, $f18 /* 0757BC 80074BBC 44809000 */ mtc1 $zero, $f18 /* 0757C0 80074BC0 44819800 */ mtc1 $at, $f19 /* 0757C4 80074BC4 E6040010 */ swc1 $f4, 0x10($s0) /* 0757C8 80074BC8 85AD5720 */ lh $t5, %lo(D_80165720)($t5) /* 0757CC 80074BCC 01AE7821 */ addu $t7, $t5, $t6 /* 0757D0 80074BD0 448F8000 */ mtc1 $t7, $f16 /* 0757D4 80074BD4 00000000 */ nop /* 0757D8 80074BD8 468082A0 */ cvt.s.w $f10, $f16 /* 0757DC 80074BDC 44998000 */ mtc1 $t9, $f16 /* 0757E0 80074BE0 E60A0014 */ swc1 $f10, 0x14($s0) /* 0757E4 80074BE4 87185728 */ lh $t8, %lo(D_80165728)($t8) /* 0757E8 80074BE8 468082A1 */ cvt.d.w $f10, $f16 /* 0757EC 80074BEC 44983000 */ mtc1 $t8, $f6 /* 0757F0 80074BF0 00000000 */ nop /* 0757F4 80074BF4 46803221 */ cvt.d.w $f8, $f6 /* 0757F8 80074BF8 46324100 */ add.d $f4, $f8, $f18 /* 0757FC 80074BFC 462A2181 */ sub.d $f6, $f4, $f10 /* 075800 80074C00 46203220 */ cvt.s.d $f8, $f6 /* 075804 80074C04 E6080018 */ swc1 $f8, 0x18($s0) .L80074C08: /* 075808 80074C08 44800000 */ mtc1 $zero, $f0 .L80074C0C: /* 07580C 80074C0C 8FA40030 */ lw $a0, 0x30($sp) /* 075810 80074C10 44050000 */ mfc1 $a1, $f0 /* 075814 80074C14 44060000 */ mfc1 $a2, $f0 /* 075818 80074C18 44070000 */ mfc1 $a3, $f0 /* 07581C 80074C1C 0C022E03 */ jal func_8008B80C /* 075820 80074C20 00000000 */ nop /* 075824 80074C24 3C088019 */ lui $t0, %hi(D_8018EDF3) # $t0, 0x8019 /* 075828 80074C28 8108EDF3 */ lb $t0, %lo(D_8018EDF3)($t0) /* 07582C 80074C2C 24010001 */ li $at, 1 /* 075830 80074C30 8FA50020 */ lw $a1, 0x20($sp) /* 075834 80074C34 15010014 */ bne $t0, $at, .L80074C88 /* 075838 80074C38 3C0D800E */ lui $t5, %hi(D_800E6F30) # $t5, 0x800e /* 07583C 80074C3C 8FA6002C */ lw $a2, 0x2c($sp) /* 075840 80074C40 3C013FD0 */ li $at, 0x3FD00000 # 1.625000 /* 075844 80074C44 44815800 */ mtc1 $at, $f11 /* 075848 80074C48 04C10004 */ bgez $a2, .L80074C5C /* 07584C 80074C4C 30C90003 */ andi $t1, $a2, 3 /* 075850 80074C50 11200002 */ beqz $t1, .L80074C5C /* 075854 80074C54 00000000 */ nop /* 075858 80074C58 2529FFFC */ addiu $t1, $t1, -4 .L80074C5C: /* 07585C 80074C5C 44899000 */ mtc1 $t1, $f18 /* 075860 80074C60 44805000 */ mtc1 $zero, $f10 /* 075864 80074C64 3C01800F */ lui $at, %hi(D_800EEA98) /* 075868 80074C68 46809420 */ cvt.s.w $f16, $f18 /* 07586C 80074C6C D428EA98 */ ldc1 $f8, %lo(D_800EEA98)($at) /* 075870 80074C70 46008121 */ cvt.d.s $f4, $f16 /* 075874 80074C74 462A2182 */ mul.d $f6, $f4, $f10 /* 075878 80074C78 46283480 */ add.d $f18, $f6, $f8 /* 07587C 80074C7C 46209420 */ cvt.s.d $f16, $f18 /* 075880 80074C80 10000011 */ b .L80074CC8 /* 075884 80074C84 E610003C */ swc1 $f16, 0x3c($s0) .L80074C88: /* 075888 80074C88 8FAA002C */ lw $t2, 0x2c($sp) /* 07588C 80074C8C 24010003 */ li $at, 3 /* 075890 80074C90 8FA6002C */ lw $a2, 0x2c($sp) /* 075894 80074C94 0141001A */ div $zero, $t2, $at /* 075898 80074C98 00005810 */ mfhi $t3 /* 07589C 80074C9C 448B2000 */ mtc1 $t3, $f4 /* 0758A0 80074CA0 3C01800F */ lui $at, %hi(D_800EEAA0) /* 0758A4 80074CA4 D428EAA0 */ ldc1 $f8, %lo(D_800EEAA0)($at) /* 0758A8 80074CA8 468022A0 */ cvt.s.w $f10, $f4 /* 0758AC 80074CAC 3C01800F */ lui $at, %hi(D_800EEAA8) /* 0758B0 80074CB0 D430EAA8 */ ldc1 $f16, %lo(D_800EEAA8)($at) /* 0758B4 80074CB4 460051A1 */ cvt.d.s $f6, $f10 /* 0758B8 80074CB8 46283482 */ mul.d $f18, $f6, $f8 /* 0758BC 80074CBC 46309100 */ add.d $f4, $f18, $f16 /* 0758C0 80074CC0 462022A0 */ cvt.s.d $f10, $f4 /* 0758C4 80074CC4 E60A003C */ swc1 $f10, 0x3c($s0) .L80074CC8: /* 0758C8 80074CC8 04C10004 */ bgez $a2, .L80074CDC /* 0758CC 80074CCC 30C40007 */ andi $a0, $a2, 7 /* 0758D0 80074CD0 10800002 */ beqz $a0, .L80074CDC /* 0758D4 80074CD4 00000000 */ nop /* 0758D8 80074CD8 2484FFF8 */ addiu $a0, $a0, -8 .L80074CDC: /* 0758DC 80074CDC 00046080 */ sll $t4, $a0, 2 /* 0758E0 80074CE0 01846023 */ subu $t4, $t4, $a0 /* 0758E4 80074CE4 3C19800E */ lui $t9, %hi(D_800E6F48) # $t9, 0x800e /* 0758E8 80074CE8 25AD6F30 */ addiu $t5, %lo(D_800E6F30) # addiu $t5, $t5, 0x6f30 /* 0758EC 80074CEC 27396F48 */ addiu $t9, %lo(D_800E6F48) # addiu $t9, $t9, 0x6f48 /* 0758F0 80074CF0 018D1021 */ addu $v0, $t4, $t5 /* 0758F4 80074CF4 01991821 */ addu $v1, $t4, $t9 /* 0758F8 80074CF8 904E0000 */ lbu $t6, ($v0) /* 0758FC 80074CFC 904F0001 */ lbu $t7, 1($v0) /* 075900 80074D00 90580002 */ lbu $t8, 2($v0) /* 075904 80074D04 90680000 */ lbu $t0, ($v1) /* 075908 80074D08 90690001 */ lbu $t1, 1($v1) /* 07590C 80074D0C 906A0002 */ lbu $t2, 2($v1) /* 075910 80074D10 24ABF000 */ addiu $t3, $a1, -0x1000 /* 075914 80074D14 30CC0001 */ andi $t4, $a2, 1 /* 075918 80074D18 A60B0090 */ sh $t3, 0x90($s0) /* 07591C 80074D1C A60E0084 */ sh $t6, 0x84($s0) /* 075920 80074D20 A60F0086 */ sh $t7, 0x86($s0) /* 075924 80074D24 A6180088 */ sh $t8, 0x88($s0) /* 075928 80074D28 A608008A */ sh $t0, 0x8a($s0) /* 07592C 80074D2C A609008C */ sh $t1, 0x8c($s0) /* 075930 80074D30 11800008 */ beqz $t4, .L80074D54 /* 075934 80074D34 A60A008E */ sh $t2, 0x8e($s0) /* 075938 80074D38 04A10003 */ bgez $a1, .L80074D48 /* 07593C 80074D3C 00056943 */ sra $t5, $a1, 5 /* 075940 80074D40 24A1001F */ addiu $at, $a1, 0x1f /* 075944 80074D44 00016943 */ sra $t5, $at, 5 .L80074D48: /* 075948 80074D48 25AE0100 */ addiu $t6, $t5, 0x100 /* 07594C 80074D4C 10000008 */ b .L80074D70 /* 075950 80074D50 A60E0092 */ sh $t6, 0x92($s0) .L80074D54: /* 075954 80074D54 04A10003 */ bgez $a1, .L80074D64 /* 075958 80074D58 00057943 */ sra $t7, $a1, 5 /* 07595C 80074D5C 24A1001F */ addiu $at, $a1, 0x1f /* 075960 80074D60 00017943 */ sra $t7, $at, 5 .L80074D64: /* 075964 80074D64 2418FF00 */ li $t8, -256 /* 075968 80074D68 030FC823 */ subu $t9, $t8, $t7 /* 07596C 80074D6C A6190092 */ sh $t9, 0x92($s0) .L80074D70: /* 075970 80074D70 240800E6 */ li $t0, 230 /* 075974 80074D74 A60800A0 */ sh $t0, 0xa0($s0) /* 075978 80074D78 0C01C922 */ jal func_80072488 /* 07597C 80074D7C 8FA40030 */ lw $a0, 0x30($sp) /* 075980 80074D80 8FBF001C */ lw $ra, 0x1c($sp) /* 075984 80074D84 8FB00018 */ lw $s0, 0x18($sp) /* 075988 80074D88 27BD0030 */ addiu $sp, $sp, 0x30 /* 07598C 80074D8C 03E00008 */ jr $ra /* 075990 80074D90 00000000 */ nop glabel func_80074D94 /* 075994 80074D94 000478C0 */ sll $t7, $a0, 3 /* 075998 80074D98 01E47823 */ subu $t7, $t7, $a0 /* 07599C 80074D9C 3C188016 */ lui $t8, %hi(D_80165C18) # $t8, 0x8016 /* 0759A0 80074DA0 27185C18 */ addiu $t8, %lo(D_80165C18) # addiu $t8, $t8, 0x5c18 /* 0759A4 80074DA4 000F7940 */ sll $t7, $t7, 5 /* 0759A8 80074DA8 01F81021 */ addu $v0, $t7, $t8 /* 0759AC 80074DAC 845900AE */ lh $t9, 0xae($v0) /* 0759B0 80074DB0 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0759B4 80074DB4 24010001 */ li $at, 1 /* 0759B8 80074DB8 AFBF0014 */ sw $ra, 0x14($sp) /* 0759BC 80074DBC 17210014 */ bne $t9, $at, .L80074E10 /* 0759C0 80074DC0 AFA40018 */ sw $a0, 0x18($sp) /* 0759C4 80074DC4 3C088016 */ lui $t0, %hi(D_80165740) # $t0, 0x8016 /* 0759C8 80074DC8 85085740 */ lh $t0, %lo(D_80165740)($t0) /* 0759CC 80074DCC C444002C */ lwc1 $f4, 0x2c($v0) /* 0759D0 80074DD0 244400A0 */ addiu $a0, $v0, 0xa0 /* 0759D4 80074DD4 44883000 */ mtc1 $t0, $f6 /* 0759D8 80074DD8 00002825 */ move $a1, $zero /* 0759DC 80074DDC 46803220 */ cvt.s.w $f8, $f6 /* 0759E0 80074DE0 4604403E */ c.le.s $f8, $f4 /* 0759E4 80074DE4 00000000 */ nop /* 0759E8 80074DE8 45000007 */ bc1f .L80074E08 /* 0759EC 80074DEC 00000000 */ nop /* 0759F0 80074DF0 0C01041B */ jal func_8004106C /* 0759F4 80074DF4 24060008 */ li $a2, 8 /* 0759F8 80074DF8 10400003 */ beqz $v0, .L80074E08 /* 0759FC 80074DFC 00000000 */ nop /* 075A00 80074E00 0C021BD8 */ jal func_80086F60 /* 075A04 80074E04 8FA40018 */ lw $a0, 0x18($sp) .L80074E08: /* 075A08 80074E08 0C021DF1 */ jal func_800877C4 /* 075A0C 80074E0C 8FA40018 */ lw $a0, 0x18($sp) .L80074E10: /* 075A10 80074E10 0C022FC6 */ jal func_8008BF18 /* 075A14 80074E14 8FA40018 */ lw $a0, 0x18($sp) /* 075A18 80074E18 8FBF0014 */ lw $ra, 0x14($sp) /* 075A1C 80074E1C 27BD0018 */ addiu $sp, $sp, 0x18 /* 075A20 80074E20 03E00008 */ jr $ra /* 075A24 80074E24 00000000 */ nop glabel func_80074E28 /* 075A28 80074E28 000478C0 */ sll $t7, $a0, 3 /* 075A2C 80074E2C 01E47823 */ subu $t7, $t7, $a0 /* 075A30 80074E30 3C188016 */ lui $t8, %hi(D_80165C18) # $t8, 0x8016 /* 075A34 80074E34 27185C18 */ addiu $t8, %lo(D_80165C18) # addiu $t8, $t8, 0x5c18 /* 075A38 80074E38 000F7940 */ sll $t7, $t7, 5 /* 075A3C 80074E3C 01F81821 */ addu $v1, $t7, $t8 /* 075A40 80074E40 846200A6 */ lh $v0, 0xa6($v1) /* 075A44 80074E44 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 075A48 80074E48 AFBF0014 */ sw $ra, 0x14($sp) /* 075A4C 80074E4C 10400022 */ beqz $v0, .L80074ED8 /* 075A50 80074E50 AFA40020 */ sw $a0, 0x20($sp) /* 075A54 80074E54 24010001 */ li $at, 1 /* 075A58 80074E58 10410008 */ beq $v0, $at, .L80074E7C /* 075A5C 80074E5C 24010002 */ li $at, 2 /* 075A60 80074E60 1041000A */ beq $v0, $at, .L80074E8C /* 075A64 80074E64 8FA40020 */ lw $a0, 0x20($sp) /* 075A68 80074E68 24010003 */ li $at, 3 /* 075A6C 80074E6C 1041000F */ beq $v0, $at, .L80074EAC /* 075A70 80074E70 24640090 */ addiu $a0, $v1, 0x90 /* 075A74 80074E74 10000019 */ b .L80074EDC /* 075A78 80074E78 8FBF0014 */ lw $ra, 0x14($sp) .L80074E7C: /* 075A7C 80074E7C 0C01D249 */ jal func_80074924 /* 075A80 80074E80 8FA40020 */ lw $a0, 0x20($sp) /* 075A84 80074E84 10000015 */ b .L80074EDC /* 075A88 80074E88 8FBF0014 */ lw $ra, 0x14($sp) .L80074E8C: /* 075A8C 80074E8C 0C01C9E3 */ jal func_8007278C /* 075A90 80074E90 24050001 */ li $a1, 1 /* 075A94 80074E94 50400011 */ beql $v0, $zero, .L80074EDC /* 075A98 80074E98 8FBF0014 */ lw $ra, 0x14($sp) /* 075A9C 80074E9C 0C021B9C */ jal func_80086E70 /* 075AA0 80074EA0 8FA40020 */ lw $a0, 0x20($sp) /* 075AA4 80074EA4 1000000D */ b .L80074EDC /* 075AA8 80074EA8 8FBF0014 */ lw $ra, 0x14($sp) .L80074EAC: /* 075AAC 80074EAC 2405F000 */ li $a1, -4096 /* 075AB0 80074EB0 24061000 */ li $a2, 4096 /* 075AB4 80074EB4 24670092 */ addiu $a3, $v1, 0x92 /* 075AB8 80074EB8 0C010520 */ jal func_80041480 /* 075ABC 80074EBC AFA30018 */ sw $v1, 0x18($sp) /* 075AC0 80074EC0 8FA30018 */ lw $v1, 0x18($sp) /* 075AC4 80074EC4 847900AE */ lh $t9, 0xae($v1) /* 075AC8 80074EC8 57200004 */ bnel $t9, $zero, .L80074EDC /* 075ACC 80074ECC 8FBF0014 */ lw $ra, 0x14($sp) /* 075AD0 80074ED0 0C01C90A */ jal func_80072428 /* 075AD4 80074ED4 8FA40020 */ lw $a0, 0x20($sp) .L80074ED8: /* 075AD8 80074ED8 8FBF0014 */ lw $ra, 0x14($sp) .L80074EDC: /* 075ADC 80074EDC 27BD0020 */ addiu $sp, $sp, 0x20 /* 075AE0 80074EE0 03E00008 */ jr $ra /* 075AE4 80074EE4 00000000 */ nop glabel func_80074EE8 /* 075AE8 80074EE8 27BDFFC8 */ addiu $sp, $sp, -0x38 /* 075AEC 80074EEC 3C028016 */ lui $v0, %hi(D_80165738) # $v0, 0x8016 /* 075AF0 80074EF0 84425738 */ lh $v0, %lo(D_80165738)($v0) /* 075AF4 80074EF4 AFB40024 */ sw $s4, 0x24($sp) /* 075AF8 80074EF8 AFB30020 */ sw $s3, 0x20($sp) /* 075AFC 80074EFC AFBF0034 */ sw $ra, 0x34($sp) /* 075B00 80074F00 AFB70030 */ sw $s7, 0x30($sp) /* 075B04 80074F04 AFB6002C */ sw $s6, 0x2c($sp) /* 075B08 80074F08 AFB50028 */ sw $s5, 0x28($sp) /* 075B0C 80074F0C AFB2001C */ sw $s2, 0x1c($sp) /* 075B10 80074F10 AFB10018 */ sw $s1, 0x18($sp) /* 075B14 80074F14 AFB00014 */ sw $s0, 0x14($sp) /* 075B18 80074F18 0000A025 */ move $s4, $zero /* 075B1C 80074F1C 18400020 */ blez $v0, .L80074FA0 /* 075B20 80074F20 00009825 */ move $s3, $zero /* 075B24 80074F24 3C128019 */ lui $s2, %hi(D_8018C630) # $s2, 0x8019 /* 075B28 80074F28 3C168016 */ lui $s6, %hi(D_80165C18) # $s6, 0x8016 /* 075B2C 80074F2C 26D65C18 */ addiu $s6, %lo(D_80165C18) # addiu $s6, $s6, 0x5c18 /* 075B30 80074F30 2652C630 */ addiu $s2, %lo(D_8018C630) # addiu $s2, $s2, -0x39d0 /* 075B34 80074F34 241700E0 */ li $s7, 224 /* 075B38 80074F38 2415FFFF */ li $s5, -1 .L80074F3C: /* 075B3C 80074F3C 8E500000 */ lw $s0, ($s2) /* 075B40 80074F40 52150014 */ beql $s0, $s5, .L80074F94 /* 075B44 80074F44 26730001 */ addiu $s3, $s3, 1 /* 075B48 80074F48 02170019 */ multu $s0, $s7 /* 075B4C 80074F4C 00007012 */ mflo $t6 /* 075B50 80074F50 02CE8821 */ addu $s1, $s6, $t6 /* 075B54 80074F54 862F00A6 */ lh $t7, 0xa6($s1) /* 075B58 80074F58 51E0000E */ beql $t7, $zero, .L80074F94 /* 075B5C 80074F5C 26730001 */ addiu $s3, $s3, 1 /* 075B60 80074F60 0C01D38A */ jal func_80074E28 /* 075B64 80074F64 02002025 */ move $a0, $s0 /* 075B68 80074F68 0C01D365 */ jal func_80074D94 /* 075B6C 80074F6C 02002025 */ move $a0, $s0 /* 075B70 80074F70 863800A6 */ lh $t8, 0xa6($s1) /* 075B74 80074F74 17000003 */ bnez $t8, .L80074F84 /* 075B78 80074F78 00000000 */ nop /* 075B7C 80074F7C 0C01C840 */ jal func_80072100 /* 075B80 80074F80 02402025 */ move $a0, $s2 .L80074F84: /* 075B84 80074F84 3C028016 */ lui $v0, %hi(D_80165738) # $v0, 0x8016 /* 075B88 80074F88 84425738 */ lh $v0, %lo(D_80165738)($v0) /* 075B8C 80074F8C 26940001 */ addiu $s4, $s4, 1 /* 075B90 80074F90 26730001 */ addiu $s3, $s3, 1 .L80074F94: /* 075B94 80074F94 0262082A */ slt $at, $s3, $v0 /* 075B98 80074F98 1420FFE8 */ bnez $at, .L80074F3C /* 075B9C 80074F9C 26520004 */ addiu $s2, $s2, 4 .L80074FA0: /* 075BA0 80074FA0 16800002 */ bnez $s4, .L80074FAC /* 075BA4 80074FA4 3C018016 */ lui $at, %hi(D_80165730) # $at, 0x8016 /* 075BA8 80074FA8 A4205730 */ sh $zero, %lo(D_80165730)($at) .L80074FAC: /* 075BAC 80074FAC 8FBF0034 */ lw $ra, 0x34($sp) /* 075BB0 80074FB0 8FB00014 */ lw $s0, 0x14($sp) /* 075BB4 80074FB4 8FB10018 */ lw $s1, 0x18($sp) /* 075BB8 80074FB8 8FB2001C */ lw $s2, 0x1c($sp) /* 075BBC 80074FBC 8FB30020 */ lw $s3, 0x20($sp) /* 075BC0 80074FC0 8FB40024 */ lw $s4, 0x24($sp) /* 075BC4 80074FC4 8FB50028 */ lw $s5, 0x28($sp) /* 075BC8 80074FC8 8FB6002C */ lw $s6, 0x2c($sp) /* 075BCC 80074FCC 8FB70030 */ lw $s7, 0x30($sp) /* 075BD0 80074FD0 03E00008 */ jr $ra /* 075BD4 80074FD4 27BD0038 */ addiu $sp, $sp, 0x38 glabel func_80074FD8 /* 075BD8 80074FD8 000470C0 */ sll $t6, $a0, 3 /* 075BDC 80074FDC 01C47023 */ subu $t6, $t6, $a0 /* 075BE0 80074FE0 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 075BE4 80074FE4 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 075BE8 80074FE8 000E7140 */ sll $t6, $t6, 5 /* 075BEC 80074FEC 01CF1821 */ addu $v1, $t6, $t7 /* 075BF0 80074FF0 846200A6 */ lh $v0, 0xa6($v1) /* 075BF4 80074FF4 27BDFFD0 */ addiu $sp, $sp, -0x30 /* 075BF8 80074FF8 AFB00020 */ sw $s0, 0x20($sp) /* 075BFC 80074FFC 00808025 */ move $s0, $a0 /* 075C00 80075000 10400030 */ beqz $v0, .L800750C4 /* 075C04 80075004 AFBF0024 */ sw $ra, 0x24($sp) /* 075C08 80075008 24010001 */ li $at, 1 /* 075C0C 8007500C 10410006 */ beq $v0, $at, .L80075028 /* 075C10 80075010 02002025 */ move $a0, $s0 /* 075C14 80075014 24010002 */ li $at, 2 /* 075C18 80075018 10410026 */ beq $v0, $at, .L800750B4 /* 075C1C 8007501C 00000000 */ nop /* 075C20 80075020 10000029 */ b .L800750C8 /* 075C24 80075024 8FBF0024 */ lw $ra, 0x24($sp) .L80075028: /* 075C28 80075028 947800C0 */ lhu $t8, 0xc0($v1) /* 075C2C 8007502C 3C063DF5 */ lui $a2, (0x3DF5C28F >> 16) # lui $a2, 0x3df5 /* 075C30 80075030 24190064 */ li $t9, 100 /* 075C34 80075034 AFB90014 */ sw $t9, 0x14($sp) /* 075C38 80075038 34C6C28F */ ori $a2, (0x3DF5C28F & 0xFFFF) # ori $a2, $a2, 0xc28f /* 075C3C 8007503C 8C65003C */ lw $a1, 0x3c($v1) /* 075C40 80075040 8C670034 */ lw $a3, 0x34($v1) /* 075C44 80075044 AFA30028 */ sw $v1, 0x28($sp) /* 075C48 80075048 0C021F82 */ jal func_80087E08 /* 075C4C 8007504C AFB80010 */ sw $t8, 0x10($sp) /* 075C50 80075050 10400005 */ beqz $v0, .L80075068 /* 075C54 80075054 8FA30028 */ lw $v1, 0x28($sp) /* 075C58 80075058 02002025 */ move $a0, $s0 /* 075C5C 8007505C 0C01C922 */ jal func_80072488 /* 075C60 80075060 AFA30028 */ sw $v1, 0x28($sp) /* 075C64 80075064 8FA30028 */ lw $v1, 0x28($sp) .L80075068: /* 075C68 80075068 02002025 */ move $a0, $s0 /* 075C6C 8007506C 0C022FC6 */ jal func_8008BF18 /* 075C70 80075070 AFA30028 */ sw $v1, 0x28($sp) /* 075C74 80075074 8FA30028 */ lw $v1, 0x28($sp) /* 075C78 80075078 3C028016 */ lui $v0, %hi(D_8016582C) # $v0, 0x8016 /* 075C7C 8007507C 2442582C */ addiu $v0, %lo(D_8016582C) # addiu $v0, $v0, 0x582c /* 075C80 80075080 94490000 */ lhu $t1, ($v0) /* 075C84 80075084 944C0002 */ lhu $t4, 2($v0) /* 075C88 80075088 944F0004 */ lhu $t7, 4($v0) /* 075C8C 8007508C 946800B2 */ lhu $t0, 0xb2($v1) /* 075C90 80075090 946B00B4 */ lhu $t3, 0xb4($v1) /* 075C94 80075094 946E00B6 */ lhu $t6, 0xb6($v1) /* 075C98 80075098 01095021 */ addu $t2, $t0, $t1 /* 075C9C 8007509C 016C6821 */ addu $t5, $t3, $t4 /* 075CA0 800750A0 01CFC021 */ addu $t8, $t6, $t7 /* 075CA4 800750A4 A46A00B2 */ sh $t2, 0xb2($v1) /* 075CA8 800750A8 A46D00B4 */ sh $t5, 0xb4($v1) /* 075CAC 800750AC 10000005 */ b .L800750C4 /* 075CB0 800750B0 A47800B6 */ sh $t8, 0xb6($v1) .L800750B4: /* 075CB4 800750B4 0C021BD8 */ jal func_80086F60 /* 075CB8 800750B8 02002025 */ move $a0, $s0 /* 075CBC 800750BC 0C01C90A */ jal func_80072428 /* 075CC0 800750C0 02002025 */ move $a0, $s0 .L800750C4: /* 075CC4 800750C4 8FBF0024 */ lw $ra, 0x24($sp) .L800750C8: /* 075CC8 800750C8 8FB00020 */ lw $s0, 0x20($sp) /* 075CCC 800750CC 27BD0030 */ addiu $sp, $sp, 0x30 /* 075CD0 800750D0 03E00008 */ jr $ra /* 075CD4 800750D4 00000000 */ nop glabel func_800750D8 /* 075CD8 800750D8 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 075CDC 800750DC AFBF0014 */ sw $ra, 0x14($sp) /* 075CE0 800750E0 AFA5002C */ sw $a1, 0x2c($sp) /* 075CE4 800750E4 AFA40028 */ sw $a0, 0x28($sp) /* 075CE8 800750E8 AFA60030 */ sw $a2, 0x30($sp) /* 075CEC 800750EC AFA70034 */ sw $a3, 0x34($sp) /* 075CF0 800750F0 0C01C8E9 */ jal func_800723A4 /* 075CF4 800750F4 00002825 */ move $a1, $zero /* 075CF8 800750F8 0C0ADF8D */ jal random_int /* 075CFC 800750FC 240401F4 */ li $a0, 500 /* 075D00 80075100 AFA20024 */ sw $v0, 0x24($sp) /* 075D04 80075104 0C0ADF8D */ jal random_int /* 075D08 80075108 24040032 */ li $a0, 50 /* 075D0C 8007510C 8FA80024 */ lw $t0, 0x24($sp) /* 075D10 80075110 8FAE0028 */ lw $t6, 0x28($sp) /* 075D14 80075114 8FB90034 */ lw $t9, 0x34($sp) /* 075D18 80075118 44882000 */ mtc1 $t0, $f4 /* 075D1C 8007511C 000E78C0 */ sll $t7, $t6, 3 /* 075D20 80075120 3C188016 */ lui $t8, %hi(D_80165C18) # $t8, 0x8016 /* 075D24 80075124 468021A0 */ cvt.s.w $f6, $f4 /* 075D28 80075128 01EE7823 */ subu $t7, $t7, $t6 /* 075D2C 8007512C 000F7940 */ sll $t7, $t7, 5 /* 075D30 80075130 27185C18 */ addiu $t8, %lo(D_80165C18) # addiu $t8, $t8, 0x5c18 /* 075D34 80075134 01F81821 */ addu $v1, $t7, $t8 /* 075D38 80075138 3C01800F */ lui $at, %hi(D_800EEAB0) /* 075D3C 8007513C A07900D5 */ sb $t9, 0xd5($v1) /* 075D40 80075140 D42AEAB0 */ ldc1 $f10, %lo(D_800EEAB0)($at) /* 075D44 80075144 46003221 */ cvt.d.s $f8, $f6 /* 075D48 80075148 3C01800F */ lui $at, %hi(D_800EEAB8) /* 075D4C 8007514C 462A4402 */ mul.d $f16, $f8, $f10 /* 075D50 80075150 D432EAB8 */ ldc1 $f18, %lo(D_800EEAB8)($at) /* 075D54 80075154 3C01800F */ lui $at, %hi(D_800EEAC0) /* 075D58 80075158 8FAA002C */ lw $t2, 0x2c($sp) /* 075D5C 8007515C 8FAC0038 */ lw $t4, 0x38($sp) /* 075D60 80075160 00402825 */ move $a1, $v0 /* 075D64 80075164 000A5C00 */ sll $t3, $t2, 0x10 /* 075D68 80075168 44854000 */ mtc1 $a1, $f8 /* 075D6C 8007516C 46328100 */ add.d $f4, $f16, $f18 /* 075D70 80075170 8FAE0030 */ lw $t6, 0x30($sp) /* 075D74 80075174 00403025 */ move $a2, $v0 /* 075D78 80075178 468042A0 */ cvt.s.w $f10, $f8 /* 075D7C 8007517C 2404000A */ li $a0, 10 /* 075D80 80075180 462021A0 */ cvt.s.d $f6, $f4 /* 075D84 80075184 46005421 */ cvt.d.s $f16, $f10 /* 075D88 80075188 E4660000 */ swc1 $f6, ($v1) /* 075D8C 8007518C D432EAC0 */ ldc1 $f18, %lo(D_800EEAC0)($at) /* 075D90 80075190 3C014000 */ li $at, 0x40000000 # 2.000000 /* 075D94 80075194 44813800 */ mtc1 $at, $f7 /* 075D98 80075198 24010005 */ li $at, 5 /* 075D9C 8007519C 0041001A */ div $zero, $v0, $at /* 075DA0 800751A0 00004810 */ mfhi $t1 /* 075DA4 800751A4 46328102 */ mul.d $f4, $f16, $f18 /* 075DA8 800751A8 44803000 */ mtc1 $zero, $f6 /* 075DAC 800751AC 016C001A */ div $zero, $t3, $t4 /* 075DB0 800751B0 46262200 */ add.d $f8, $f4, $f6 /* 075DB4 800751B4 44898000 */ mtc1 $t1, $f16 /* 075DB8 800751B8 3C01800F */ lui $at, %hi(D_800EEAC8) /* 075DBC 800751BC 00006812 */ mflo $t5 /* 075DC0 800751C0 468084A0 */ cvt.s.w $f18, $f16 /* 075DC4 800751C4 462042A0 */ cvt.s.d $f10, $f8 /* 075DC8 800751C8 46009121 */ cvt.d.s $f4, $f18 /* 075DCC 800751CC E46A003C */ swc1 $f10, 0x3c($v1) /* 075DD0 800751D0 D426EAC8 */ ldc1 $f6, %lo(D_800EEAC8)($at) /* 075DD4 800751D4 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 /* 075DD8 800751D8 44815800 */ mtc1 $at, $f11 /* 075DDC 800751DC 46262202 */ mul.d $f8, $f4, $f6 /* 075DE0 800751E0 44805000 */ mtc1 $zero, $f10 /* 075DE4 800751E4 A46D00C0 */ sh $t5, 0xc0($v1) /* 075DE8 800751E8 462A4400 */ add.d $f16, $f8, $f10 /* 075DEC 800751EC 462084A0 */ cvt.s.d $f18, $f16 /* 075DF0 800751F0 E4720034 */ swc1 $f18, 0x34($v1) /* 075DF4 800751F4 15800002 */ bnez $t4, .L80075200 /* 075DF8 800751F8 00000000 */ nop /* 075DFC 800751FC 0007000D */ break 7 .L80075200: /* 075E00 80075200 2401FFFF */ li $at, -1 /* 075E04 80075204 15810004 */ bne $t4, $at, .L80075218 /* 075E08 80075208 3C018000 */ lui $at, 0x8000 /* 075E0C 8007520C 15610002 */ bne $t3, $at, .L80075218 /* 075E10 80075210 00000000 */ nop /* 075E14 80075214 0006000D */ break 6 .L80075218: /* 075E18 80075218 C5C40000 */ lwc1 $f4, ($t6) /* 075E1C 8007521C 04A10003 */ bgez $a1, .L8007522C /* 075E20 80075220 00057843 */ sra $t7, $a1, 1 /* 075E24 80075224 24A10001 */ addiu $at, $a1, 1 /* 075E28 80075228 00017843 */ sra $t7, $at, 1 .L8007522C: /* 075E2C 8007522C 448F3000 */ mtc1 $t7, $f6 /* 075E30 80075230 3C014140 */ li $at, 0x41400000 # 12.000000 /* 075E34 80075234 44818000 */ mtc1 $at, $f16 /* 075E38 80075238 46803220 */ cvt.s.w $f8, $f6 /* 075E3C 8007523C AFA60020 */ sw $a2, 0x20($sp) /* 075E40 80075240 AFA30018 */ sw $v1, 0x18($sp) /* 075E44 80075244 46082280 */ add.s $f10, $f4, $f8 /* 075E48 80075248 46105481 */ sub.s $f18, $f10, $f16 /* 075E4C 8007524C 0C0ADF8D */ jal random_int /* 075E50 80075250 E4720010 */ swc1 $f18, 0x10($v1) /* 075E54 80075254 8FB80030 */ lw $t8, 0x30($sp) /* 075E58 80075258 44808000 */ mtc1 $zero, $f16 /* 075E5C 8007525C 44827000 */ mtc1 $v0, $f14 /* 075E60 80075260 C70C0004 */ lwc1 $f12, 4($t8) /* 075E64 80075264 3C014024 */ li $at, 0x40240000 # 2.562500 /* 075E68 80075268 468074A1 */ cvt.d.w $f18, $f14 /* 075E6C 8007526C 44818800 */ mtc1 $at, $f17 /* 075E70 80075270 8FA30018 */ lw $v1, 0x18($sp) /* 075E74 80075274 8FA60020 */ lw $a2, 0x20($sp) /* 075E78 80075278 46006321 */ cvt.d.s $f12, $f12 /* 075E7C 8007527C 04410006 */ bgez $v0, .L80075298 /* 075E80 80075280 46306281 */ sub.d $f10, $f12, $f16 /* 075E84 80075284 3C0141F0 */ li $at, 0x41F00000 # 30.000000 /* 075E88 80075288 44813800 */ mtc1 $at, $f7 /* 075E8C 8007528C 44803000 */ mtc1 $zero, $f6 /* 075E90 80075290 00000000 */ nop /* 075E94 80075294 46269480 */ add.d $f18, $f18, $f6 .L80075298: /* 075E98 80075298 462A9100 */ add.d $f4, $f18, $f10 /* 075E9C 8007529C 8FB90030 */ lw $t9, 0x30($sp) /* 075EA0 800752A0 8FA90024 */ lw $t1, 0x24($sp) /* 075EA4 800752A4 8FBF0014 */ lw $ra, 0x14($sp) /* 075EA8 800752A8 46202220 */ cvt.s.d $f8, $f4 /* 075EAC 800752AC 00062080 */ sll $a0, $a2, 2 /* 075EB0 800752B0 00862021 */ addu $a0, $a0, $a2 /* 075EB4 800752B4 00042100 */ sll $a0, $a0, 4 /* 075EB8 800752B8 E4680014 */ swc1 $f8, 0x14($v1) /* 075EBC 800752BC C7300008 */ lwc1 $f16, 8($t9) /* 075EC0 800752C0 04C10003 */ bgez $a2, .L800752D0 /* 075EC4 800752C4 00064043 */ sra $t0, $a2, 1 /* 075EC8 800752C8 24C10001 */ addiu $at, $a2, 1 /* 075ECC 800752CC 00014043 */ sra $t0, $at, 1 .L800752D0: /* 075ED0 800752D0 44883000 */ mtc1 $t0, $f6 /* 075ED4 800752D4 3C014140 */ li $at, 0x41400000 # 12.000000 /* 075ED8 800752D8 44812000 */ mtc1 $at, $f4 /* 075EDC 800752DC 468034A0 */ cvt.s.w $f18, $f6 /* 075EE0 800752E0 000951C0 */ sll $t2, $t1, 7 /* 075EE4 800752E4 A46A00B2 */ sh $t2, 0xb2($v1) /* 075EE8 800752E8 A46400B4 */ sh $a0, 0xb4($v1) /* 075EEC 800752EC A46400B6 */ sh $a0, 0xb6($v1) /* 075EF0 800752F0 27BD0028 */ addiu $sp, $sp, 0x28 /* 075EF4 800752F4 46128280 */ add.s $f10, $f16, $f18 /* 075EF8 800752F8 46045201 */ sub.s $f8, $f10, $f4 /* 075EFC 800752FC 03E00008 */ jr $ra /* 075F00 80075300 E4680018 */ swc1 $f8, 0x18($v1) glabel func_80075304 /* 075F04 80075304 27BDFFB0 */ addiu $sp, $sp, -0x50 /* 075F08 80075308 AFB3002C */ sw $s3, 0x2c($sp) /* 075F0C 8007530C AFB20028 */ sw $s2, 0x28($sp) /* 075F10 80075310 AFB10024 */ sw $s1, 0x24($sp) /* 075F14 80075314 00A09025 */ move $s2, $a1 /* 075F18 80075318 00E09825 */ move $s3, $a3 /* 075F1C 8007531C AFBF0044 */ sw $ra, 0x44($sp) /* 075F20 80075320 AFBE0040 */ sw $fp, 0x40($sp) /* 075F24 80075324 AFB7003C */ sw $s7, 0x3c($sp) /* 075F28 80075328 AFB60038 */ sw $s6, 0x38($sp) /* 075F2C 8007532C AFB50034 */ sw $s5, 0x34($sp) /* 075F30 80075330 AFB40030 */ sw $s4, 0x30($sp) /* 075F34 80075334 AFB00020 */ sw $s0, 0x20($sp) /* 075F38 80075338 AFA40050 */ sw $a0, 0x50($sp) /* 075F3C 8007533C AFA60058 */ sw $a2, 0x58($sp) /* 075F40 80075340 18E0002E */ blez $a3, .L800753FC /* 075F44 80075344 00008825 */ move $s1, $zero /* 075F48 80075348 3C1E8019 */ lui $fp, %hi(D_8018C630) # $fp, 0x8019 /* 075F4C 8007534C 27DEC630 */ addiu $fp, %lo(D_8018C630) # addiu $fp, $fp, -0x39d0 /* 075F50 80075350 2417FFFF */ li $s7, -1 /* 075F54 80075354 24160003 */ li $s6, 3 /* 075F58 80075358 24150002 */ li $s5, 2 /* 075F5C 8007535C 24140001 */ li $s4, 1 /* 075F60 80075360 8FB00048 */ lw $s0, 0x48($sp) .L80075364: /* 075F64 80075364 12540007 */ beq $s2, $s4, .L80075384 /* 075F68 80075368 3C048019 */ lui $a0, %hi(D_8018C1B0) # 0x8019 /* 075F6C 8007536C 1255000C */ beq $s2, $s5, .L800753A0 /* 075F70 80075370 3C048019 */ lui $a0, %hi(D_8018C3F0) # $a0, 0x8019 /* 075F74 80075374 12560011 */ beq $s2, $s6, .L800753BC /* 075F78 80075378 03C02025 */ move $a0, $fp /* 075F7C 8007537C 10000014 */ b .L800753D0 /* 075F80 80075380 00000000 */ nop .L80075384: /* 075F84 80075384 3C058018 */ lui $a1, %hi(D_80183E38) # $a1, 0x8018 /* 075F88 80075388 24A53E38 */ addiu $a1, %lo(D_80183E38) # addiu $a1, $a1, 0x3e38 /* 075F8C 8007538C 2484C1B0 */ addiu $a0, %lo(D_8018C1B0) # addiu $a0, $a0, -0x3e50 /* 075F90 80075390 0C01C811 */ jal func_80072044 /* 075F94 80075394 24060080 */ li $a2, 128 /* 075F98 80075398 1000000D */ b .L800753D0 /* 075F9C 8007539C 00408025 */ move $s0, $v0 .L800753A0: /* 075FA0 800753A0 3C058018 */ lui $a1, %hi(D_80183E4C) # $a1, 0x8018 /* 075FA4 800753A4 24A53E4C */ addiu $a1, %lo(D_80183E4C) # addiu $a1, $a1, 0x3e4c /* 075FA8 800753A8 2484C3F0 */ addiu $a0, $a0, %lo(D_8018C3F0) # -0x3c10 /* 075FAC 800753AC 0C01C811 */ jal func_80072044 /* 075FB0 800753B0 24060080 */ li $a2, 128 /* 075FB4 800753B4 10000006 */ b .L800753D0 /* 075FB8 800753B8 00408025 */ move $s0, $v0 .L800753BC: /* 075FBC 800753BC 3C058018 */ lui $a1, %hi(D_80183E5C) # $a1, 0x8018 /* 075FC0 800753C0 24A53E5C */ addiu $a1, %lo(D_80183E5C) # addiu $a1, $a1, 0x3e5c /* 075FC4 800753C4 0C01C811 */ jal func_80072044 /* 075FC8 800753C8 24060080 */ li $a2, 128 /* 075FCC 800753CC 00408025 */ move $s0, $v0 .L800753D0: /* 075FD0 800753D0 1217000A */ beq $s0, $s7, .L800753FC /* 075FD4 800753D4 02002025 */ move $a0, $s0 /* 075FD8 800753D8 02202825 */ move $a1, $s1 /* 075FDC 800753DC 8FA60050 */ lw $a2, 0x50($sp) /* 075FE0 800753E0 8FA70058 */ lw $a3, 0x58($sp) /* 075FE4 800753E4 0C01D436 */ jal func_800750D8 /* 075FE8 800753E8 AFB30010 */ sw $s3, 0x10($sp) /* 075FEC 800753EC 26310001 */ addiu $s1, $s1, 1 /* 075FF0 800753F0 1633FFDC */ bne $s1, $s3, .L80075364 /* 075FF4 800753F4 00000000 */ nop /* 075FF8 800753F8 AFB00048 */ sw $s0, 0x48($sp) .L800753FC: /* 075FFC 800753FC 8FBF0044 */ lw $ra, 0x44($sp) /* 076000 80075400 8FB00020 */ lw $s0, 0x20($sp) /* 076004 80075404 8FB10024 */ lw $s1, 0x24($sp) /* 076008 80075408 8FB20028 */ lw $s2, 0x28($sp) /* 07600C 8007540C 8FB3002C */ lw $s3, 0x2c($sp) /* 076010 80075410 8FB40030 */ lw $s4, 0x30($sp) /* 076014 80075414 8FB50034 */ lw $s5, 0x34($sp) /* 076018 80075418 8FB60038 */ lw $s6, 0x38($sp) /* 07601C 8007541C 8FB7003C */ lw $s7, 0x3c($sp) /* 076020 80075420 8FBE0040 */ lw $fp, 0x40($sp) /* 076024 80075424 03E00008 */ jr $ra /* 076028 80075428 27BD0050 */ addiu $sp, $sp, 0x50 glabel func_8007542C /* 07602C 8007542C 27BDFFB0 */ addiu $sp, $sp, -0x50 /* 076030 80075430 3C028016 */ lui $v0, %hi(D_8016582C) # $v0, 0x8016 /* 076034 80075434 2442582C */ addiu $v0, %lo(D_8016582C) # addiu $v0, $v0, 0x582c /* 076038 80075438 944E0000 */ lhu $t6, ($v0) /* 07603C 8007543C 94580002 */ lhu $t8, 2($v0) /* 076040 80075440 94480004 */ lhu $t0, 4($v0) /* 076044 80075444 AFBE0038 */ sw $fp, 0x38($sp) /* 076048 80075448 AFB70034 */ sw $s7, 0x34($sp) /* 07604C 8007544C AFB60030 */ sw $s6, 0x30($sp) /* 076050 80075450 AFB5002C */ sw $s5, 0x2c($sp) /* 076054 80075454 AFB40028 */ sw $s4, 0x28($sp) /* 076058 80075458 AFB30024 */ sw $s3, 0x24($sp) /* 07605C 8007545C AFB20020 */ sw $s2, 0x20($sp) /* 076060 80075460 AFB1001C */ sw $s1, 0x1c($sp) /* 076064 80075464 25CF2000 */ addiu $t7, $t6, 0x2000 /* 076068 80075468 27191000 */ addiu $t9, $t8, 0x1000 /* 07606C 8007546C 25091800 */ addiu $t1, $t0, 0x1800 /* 076070 80075470 0080A025 */ move $s4, $a0 /* 076074 80075474 AFBF003C */ sw $ra, 0x3c($sp) /* 076078 80075478 AFB00018 */ sw $s0, 0x18($sp) /* 07607C 8007547C A44F0000 */ sh $t7, ($v0) /* 076080 80075480 A4590002 */ sh $t9, 2($v0) /* 076084 80075484 A4490004 */ sh $t1, 4($v0) /* 076088 80075488 00008825 */ move $s1, $zero /* 07608C 8007548C 00009025 */ move $s2, $zero /* 076090 80075490 8FB30044 */ lw $s3, 0x44($sp) /* 076094 80075494 24150001 */ li $s5, 1 /* 076098 80075498 24160002 */ li $s6, 2 /* 07609C 8007549C 24170003 */ li $s7, 3 /* 0760A0 800754A0 241EFFFF */ li $fp, -1 .L800754A4: /* 0760A4 800754A4 12950007 */ beq $s4, $s5, .L800754C4 /* 0760A8 800754A8 3C0A8019 */ lui $t2, %hi(D_8018C1B0) # 0x8019 /* 0760AC 800754AC 12960008 */ beq $s4, $s6, .L800754D0 /* 0760B0 800754B0 3C0B8019 */ lui $t3, %hi(D_8018C3F0) # 0x8019 /* 0760B4 800754B4 12970009 */ beq $s4, $s7, .L800754DC /* 0760B8 800754B8 3C0C8019 */ lui $t4, %hi(D_8018C630) # 0x8019 /* 0760BC 800754BC 10000009 */ b .L800754E4 /* 0760C0 800754C0 02711021 */ addu $v0, $s3, $s1 .L800754C4: /* 0760C4 800754C4 2553C1B0 */ addiu $s3, $t2, %lo(D_8018C1B0) # -0x3e50 /* 0760C8 800754C8 10000006 */ b .L800754E4 /* 0760CC 800754CC 02331021 */ addu $v0, $s1, $s3 .L800754D0: /* 0760D0 800754D0 2573C3F0 */ addiu $s3, $t3, %lo(D_8018C3F0) # -0x3c10 /* 0760D4 800754D4 10000003 */ b .L800754E4 /* 0760D8 800754D8 02331021 */ addu $v0, $s1, $s3 .L800754DC: /* 0760DC 800754DC 2593C630 */ addiu $s3, $t4, %lo(D_8018C630) # -0x39d0 /* 0760E0 800754E0 02331021 */ addu $v0, $s1, $s3 .L800754E4: /* 0760E4 800754E4 8C440000 */ lw $a0, ($v0) /* 0760E8 800754E8 3C0E8016 */ lui $t6, %hi(D_80165C18) # $t6, 0x8016 /* 0760EC 800754EC 25CE5C18 */ addiu $t6, %lo(D_80165C18) # addiu $t6, $t6, 0x5c18 /* 0760F0 800754F0 109E000F */ beq $a0, $fp, .L80075530 /* 0760F4 800754F4 000468C0 */ sll $t5, $a0, 3 /* 0760F8 800754F8 01A46823 */ subu $t5, $t5, $a0 /* 0760FC 800754FC 000D6940 */ sll $t5, $t5, 5 /* 076100 80075500 01AE8021 */ addu $s0, $t5, $t6 /* 076104 80075504 860F00A6 */ lh $t7, 0xa6($s0) /* 076108 80075508 51E0000A */ beql $t7, $zero, .L80075534 /* 07610C 8007550C 26520001 */ addiu $s2, $s2, 1 /* 076110 80075510 0C01D3F6 */ jal func_80074FD8 /* 076114 80075514 00000000 */ nop /* 076118 80075518 861800A6 */ lh $t8, 0xa6($s0) /* 07611C 8007551C 0012C880 */ sll $t9, $s2, 2 /* 076120 80075520 57000004 */ bnel $t8, $zero, .L80075534 /* 076124 80075524 26520001 */ addiu $s2, $s2, 1 /* 076128 80075528 0C01C840 */ jal func_80072100 /* 07612C 8007552C 03332021 */ addu $a0, $t9, $s3 .L80075530: /* 076130 80075530 26520001 */ addiu $s2, $s2, 1 .L80075534: /* 076134 80075534 24010080 */ li $at, 128 /* 076138 80075538 1641FFDA */ bne $s2, $at, .L800754A4 /* 07613C 8007553C 26310004 */ addiu $s1, $s1, 4 /* 076140 80075540 8FBF003C */ lw $ra, 0x3c($sp) /* 076144 80075544 AFB30044 */ sw $s3, 0x44($sp) /* 076148 80075548 8FB30024 */ lw $s3, 0x24($sp) /* 07614C 8007554C 8FB00018 */ lw $s0, 0x18($sp) /* 076150 80075550 8FB1001C */ lw $s1, 0x1c($sp) /* 076154 80075554 8FB20020 */ lw $s2, 0x20($sp) /* 076158 80075558 8FB40028 */ lw $s4, 0x28($sp) /* 07615C 8007555C 8FB5002C */ lw $s5, 0x2c($sp) /* 076160 80075560 8FB60030 */ lw $s6, 0x30($sp) /* 076164 80075564 8FB70034 */ lw $s7, 0x34($sp) /* 076168 80075568 8FBE0038 */ lw $fp, 0x38($sp) /* 07616C 8007556C 03E00008 */ jr $ra /* 076170 80075570 27BD0050 */ addiu $sp, $sp, 0x50 glabel func_80075574 /* 076174 80075574 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 076178 80075578 AFA60030 */ sw $a2, 0x30($sp) /* 07617C 8007557C 00A03025 */ move $a2, $a1 /* 076180 80075580 AFBF0014 */ sw $ra, 0x14($sp) /* 076184 80075584 AFA5002C */ sw $a1, 0x2c($sp) /* 076188 80075588 AFA40028 */ sw $a0, 0x28($sp) /* 07618C 8007558C AFA6002C */ sw $a2, 0x2c($sp) /* 076190 80075590 0C01C8E9 */ jal func_800723A4 /* 076194 80075594 00002825 */ move $a1, $zero /* 076198 80075598 8FAE0028 */ lw $t6, 0x28($sp) /* 07619C 8007559C 8FA6002C */ lw $a2, 0x2c($sp) /* 0761A0 800755A0 3C188016 */ lui $t8, %hi(D_80165C18) # $t8, 0x8016 /* 0761A4 800755A4 000E78C0 */ sll $t7, $t6, 3 /* 0761A8 800755A8 C4C40000 */ lwc1 $f4, ($a2) /* 0761AC 800755AC 01EE7823 */ subu $t7, $t7, $t6 /* 0761B0 800755B0 000F7940 */ sll $t7, $t7, 5 /* 0761B4 800755B4 27185C18 */ addiu $t8, %lo(D_80165C18) # addiu $t8, $t8, 0x5c18 /* 0761B8 800755B8 01F81821 */ addu $v1, $t7, $t8 /* 0761BC 800755BC E4640010 */ swc1 $f4, 0x10($v1) /* 0761C0 800755C0 C4C60004 */ lwc1 $f6, 4($a2) /* 0761C4 800755C4 C7AA0030 */ lwc1 $f10, 0x30($sp) /* 0761C8 800755C8 24040064 */ li $a0, 100 /* 0761CC 800755CC E4660014 */ swc1 $f6, 0x14($v1) /* 0761D0 800755D0 C4C80008 */ lwc1 $f8, 8($a2) /* 0761D4 800755D4 AFA30018 */ sw $v1, 0x18($sp) /* 0761D8 800755D8 E46A003C */ swc1 $f10, 0x3c($v1) /* 0761DC 800755DC 0C0ADF8D */ jal random_int /* 0761E0 800755E0 E4680018 */ swc1 $f8, 0x18($v1) /* 0761E4 800755E4 8FBF0014 */ lw $ra, 0x14($sp) /* 0761E8 800755E8 8FA30018 */ lw $v1, 0x18($sp) /* 0761EC 800755EC 2459001E */ addiu $t9, $v0, 0x1e /* 0761F0 800755F0 27BD0028 */ addiu $sp, $sp, 0x28 /* 0761F4 800755F4 03E00008 */ jr $ra /* 0761F8 800755F8 A47900A4 */ sh $t9, 0xa4($v1) glabel func_800755FC /* 0761FC 800755FC 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 076200 80075600 AFBF0014 */ sw $ra, 0x14($sp) /* 076204 80075604 AFA50024 */ sw $a1, 0x24($sp) /* 076208 80075608 14800010 */ bnez $a0, .L8007564C /* 07620C 8007560C AFA60028 */ sw $a2, 0x28($sp) /* 076210 80075610 3C048019 */ lui $a0, %hi(D_8018C3F0) # $a0, 0x8019 /* 076214 80075614 3C058018 */ lui $a1, %hi(D_80183E4C) # $a1, 0x8018 /* 076218 80075618 24A53E4C */ addiu $a1, %lo(D_80183E4C) # addiu $a1, $a1, 0x3e4c /* 07621C 8007561C 2484C3F0 */ addiu $a0, %lo(D_8018C3F0) # addiu $a0, $a0, -0x3c10 /* 076220 80075620 0C01C811 */ jal func_80072044 /* 076224 80075624 24060080 */ li $a2, 128 /* 076228 80075628 2401FFFF */ li $at, -1 /* 07622C 8007562C 10410015 */ beq $v0, $at, .L80075684 /* 076230 80075630 00402025 */ move $a0, $v0 /* 076234 80075634 8FA50024 */ lw $a1, 0x24($sp) /* 076238 80075638 8FA60028 */ lw $a2, 0x28($sp) /* 07623C 8007563C 0C01D55D */ jal func_80075574 /* 076240 80075640 AFA2001C */ sw $v0, 0x1c($sp) /* 076244 80075644 1000000F */ b .L80075684 /* 076248 80075648 8FA4001C */ lw $a0, 0x1c($sp) .L8007564C: /* 07624C 8007564C 3C048019 */ lui $a0, %hi(D_8018C630) # $a0, 0x8019 /* 076250 80075650 3C058018 */ lui $a1, %hi(D_80183E5C) # $a1, 0x8018 /* 076254 80075654 24A53E5C */ addiu $a1, %lo(D_80183E5C) # addiu $a1, $a1, 0x3e5c /* 076258 80075658 2484C630 */ addiu $a0, %lo(D_8018C630) # addiu $a0, $a0, -0x39d0 /* 07625C 8007565C 0C01C811 */ jal func_80072044 /* 076260 80075660 24060080 */ li $a2, 128 /* 076264 80075664 2401FFFF */ li $at, -1 /* 076268 80075668 10410006 */ beq $v0, $at, .L80075684 /* 07626C 8007566C 00402025 */ move $a0, $v0 /* 076270 80075670 8FA50024 */ lw $a1, 0x24($sp) /* 076274 80075674 8FA60028 */ lw $a2, 0x28($sp) /* 076278 80075678 0C01D55D */ jal func_80075574 /* 07627C 8007567C AFA2001C */ sw $v0, 0x1c($sp) /* 076280 80075680 8FA4001C */ lw $a0, 0x1c($sp) .L80075684: /* 076284 80075684 8FBF0014 */ lw $ra, 0x14($sp) /* 076288 80075688 27BD0020 */ addiu $sp, $sp, 0x20 /* 07628C 8007568C 00801025 */ move $v0, $a0 /* 076290 80075690 03E00008 */ jr $ra /* 076294 80075694 00000000 */ nop glabel func_80075698 /* 076298 80075698 000470C0 */ sll $t6, $a0, 3 /* 07629C 8007569C 01C47023 */ subu $t6, $t6, $a0 /* 0762A0 800756A0 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 0762A4 800756A4 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 0762A8 800756A8 000E7140 */ sll $t6, $t6, 5 /* 0762AC 800756AC 01CF1021 */ addu $v0, $t6, $t7 /* 0762B0 800756B0 24180001 */ li $t8, 1 /* 0762B4 800756B4 A05800D5 */ sb $t8, 0xd5($v0) /* 0762B8 800756B8 3C038019 */ lui $v1, %hi(D_8018D490) # $v1, 0x8019 /* 0762BC 800756BC 8C63D490 */ lw $v1, %lo(D_8018D490)($v1) /* 0762C0 800756C0 44800000 */ mtc1 $zero, $f0 /* 0762C4 800756C4 3C013F00 */ li $at, 0x3F000000 # 0.500000 /* 0762C8 800756C8 44812000 */ mtc1 $at, $f4 /* 0762CC 800756CC 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0762D0 800756D0 AFBF0014 */ sw $ra, 0x14($sp) /* 0762D4 800756D4 241900FF */ li $t9, 255 /* 0762D8 800756D8 A45900A0 */ sh $t9, 0xa0($v0) /* 0762DC 800756DC A44000C0 */ sh $zero, 0xc0($v0) /* 0762E0 800756E0 A44000B2 */ sh $zero, 0xb2($v0) /* 0762E4 800756E4 A44000B6 */ sh $zero, 0xb6($v0) /* 0762E8 800756E8 AC430064 */ sw $v1, 0x64($v0) /* 0762EC 800756EC AC43006C */ sw $v1, 0x6c($v0) /* 0762F0 800756F0 E4400028 */ swc1 $f0, 0x28($v0) /* 0762F4 800756F4 E440002C */ swc1 $f0, 0x2c($v0) /* 0762F8 800756F8 E4400030 */ swc1 $f0, 0x30($v0) /* 0762FC 800756FC 0C01C922 */ jal func_80072488 /* 076300 80075700 E4440000 */ swc1 $f4, ($v0) /* 076304 80075704 8FBF0014 */ lw $ra, 0x14($sp) /* 076308 80075708 27BD0018 */ addiu $sp, $sp, 0x18 /* 07630C 8007570C 03E00008 */ jr $ra /* 076310 80075710 00000000 */ nop glabel func_80075714 /* 076314 80075714 000470C0 */ sll $t6, $a0, 3 /* 076318 80075718 27BDFFD0 */ addiu $sp, $sp, -0x30 /* 07631C 8007571C 01C47023 */ subu $t6, $t6, $a0 /* 076320 80075720 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 076324 80075724 AFB00024 */ sw $s0, 0x24($sp) /* 076328 80075728 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 07632C 8007572C 000E7140 */ sll $t6, $t6, 5 /* 076330 80075730 01CF8021 */ addu $s0, $t6, $t7 /* 076334 80075734 860200A6 */ lh $v0, 0xa6($s0) /* 076338 80075738 AFB10028 */ sw $s1, 0x28($sp) /* 07633C 8007573C 00808825 */ move $s1, $a0 /* 076340 80075740 10400036 */ beqz $v0, .L8007581C /* 076344 80075744 AFBF002C */ sw $ra, 0x2c($sp) /* 076348 80075748 24010001 */ li $at, 1 /* 07634C 8007574C 10410007 */ beq $v0, $at, .L8007576C /* 076350 80075750 24010002 */ li $at, 2 /* 076354 80075754 10410009 */ beq $v0, $at, .L8007577C /* 076358 80075758 24010003 */ li $at, 3 /* 07635C 8007575C 1041002D */ beq $v0, $at, .L80075814 /* 076360 80075760 00000000 */ nop /* 076364 80075764 1000002D */ b .L8007581C /* 076368 80075768 00000000 */ nop .L8007576C: /* 07636C 8007576C 0C01D5A6 */ jal func_80075698 /* 076370 80075770 02202025 */ move $a0, $s1 /* 076374 80075774 10000029 */ b .L8007581C /* 076378 80075778 00000000 */ nop .L8007577C: /* 07637C 8007577C C604003C */ lwc1 $f4, 0x3c($s0) /* 076380 80075780 3C01800F */ lui $at, %hi(D_800EEAD0) /* 076384 80075784 D428EAD0 */ ldc1 $f8, %lo(D_800EEAD0)($at) /* 076388 80075788 460021A1 */ cvt.d.s $f6, $f4 /* 07638C 8007578C 2604002C */ addiu $a0, $s0, 0x2c /* 076390 80075790 46283281 */ sub.d $f10, $f6, $f8 /* 076394 80075794 3C0542C8 */ lui $a1, 0x42c8 /* 076398 80075798 46205420 */ cvt.s.d $f16, $f10 /* 07639C 8007579C E610003C */ swc1 $f16, 0x3c($s0) /* 0763A0 800757A0 0C0103B8 */ jal func_80040EE0 /* 0763A4 800757A4 8E06003C */ lw $a2, 0x3c($s0) /* 0763A8 800757A8 3C01800F */ lui $at, %hi(D_800EEAD8) # $at, 0x800f /* 0763AC 800757AC C432EAD8 */ lwc1 $f18, %lo(D_800EEAD8)($at) /* 0763B0 800757B0 3C063F0C */ lui $a2, (0x3F0CCCCD >> 16) # lui $a2, 0x3f0c /* 0763B4 800757B4 24180001 */ li $t8, 1 /* 0763B8 800757B8 AFB80014 */ sw $t8, 0x14($sp) /* 0763BC 800757BC 34C6CCCD */ ori $a2, (0x3F0CCCCD & 0xFFFF) # ori $a2, $a2, 0xcccd /* 0763C0 800757C0 02202025 */ move $a0, $s1 /* 0763C4 800757C4 02002825 */ move $a1, $s0 /* 0763C8 800757C8 3C073F80 */ lui $a3, 0x3f80 /* 0763CC 800757CC AFA00018 */ sw $zero, 0x18($sp) /* 0763D0 800757D0 0C01D057 */ jal func_8007415C /* 0763D4 800757D4 E7B20010 */ swc1 $f18, 0x10($sp) /* 0763D8 800757D8 24190007 */ li $t9, 7 /* 0763DC 800757DC AFB90010 */ sw $t9, 0x10($sp) /* 0763E0 800757E0 02202025 */ move $a0, $s1 /* 0763E4 800757E4 260500A0 */ addiu $a1, $s0, 0xa0 /* 0763E8 800757E8 240600FF */ li $a2, 255 /* 0763EC 800757EC 2407001E */ li $a3, 30 /* 0763F0 800757F0 AFA00014 */ sw $zero, 0x14($sp) /* 0763F4 800757F4 0C01CEC0 */ jal func_80073B00 /* 0763F8 800757F8 AFA00018 */ sw $zero, 0x18($sp) /* 0763FC 800757FC 10400007 */ beqz $v0, .L8007581C /* 076400 80075800 00000000 */ nop /* 076404 80075804 0C01C922 */ jal func_80072488 /* 076408 80075808 02202025 */ move $a0, $s1 /* 07640C 8007580C 10000003 */ b .L8007581C /* 076410 80075810 00000000 */ nop .L80075814: /* 076414 80075814 0C01C90A */ jal func_80072428 /* 076418 80075818 02202025 */ move $a0, $s1 .L8007581C: /* 07641C 8007581C 0C022FC6 */ jal func_8008BF18 /* 076420 80075820 02202025 */ move $a0, $s1 /* 076424 80075824 8FBF002C */ lw $ra, 0x2c($sp) /* 076428 80075828 8FB00024 */ lw $s0, 0x24($sp) /* 07642C 8007582C 8FB10028 */ lw $s1, 0x28($sp) /* 076430 80075830 03E00008 */ jr $ra /* 076434 80075834 27BD0030 */ addiu $sp, $sp, 0x30 glabel func_80075838 /* 076438 80075838 27BDFFC8 */ addiu $sp, $sp, -0x38 /* 07643C 8007583C 3C028016 */ lui $v0, %hi(D_8016578C) # $v0, 0x8016 /* 076440 80075840 8442578C */ lh $v0, %lo(D_8016578C)($v0) /* 076444 80075844 AFBF0034 */ sw $ra, 0x34($sp) /* 076448 80075848 AFB60030 */ sw $s6, 0x30($sp) /* 07644C 8007584C AFB5002C */ sw $s5, 0x2c($sp) /* 076450 80075850 AFB40028 */ sw $s4, 0x28($sp) /* 076454 80075854 AFB30024 */ sw $s3, 0x24($sp) /* 076458 80075858 AFB20020 */ sw $s2, 0x20($sp) /* 07645C 8007585C AFB1001C */ sw $s1, 0x1c($sp) /* 076460 80075860 10400004 */ beqz $v0, .L80075874 /* 076464 80075864 AFB00018 */ sw $s0, 0x18($sp) /* 076468 80075868 244EFFFF */ addiu $t6, $v0, -1 /* 07646C 8007586C 3C018016 */ lui $at, %hi(D_8016578C) # $at, 0x8016 /* 076470 80075870 A42E578C */ sh $t6, %lo(D_8016578C)($at) .L80075874: /* 076474 80075874 3C028016 */ lui $v0, %hi(D_80165790) # $v0, 0x8016 /* 076478 80075878 84425790 */ lh $v0, %lo(D_80165790)($v0) /* 07647C 8007587C 3C018016 */ lui $at, %hi(D_80165790) # $at, 0x8016 /* 076480 80075880 3C188016 */ lui $t8, %hi(D_801636A0) # $t8, 0x8016 /* 076484 80075884 10400002 */ beqz $v0, .L80075890 /* 076488 80075888 244FFFFF */ addiu $t7, $v0, -1 /* 07648C 8007588C A42F5790 */ sh $t7, %lo(D_80165790)($at) .L80075890: /* 076490 80075890 8F1836A0 */ lw $t8, %lo(D_801636A0)($t8) /* 076494 80075894 3C198016 */ lui $t9, %hi(D_8016578C) # $t9, 0x8016 /* 076498 80075898 00009025 */ move $s2, $zero /* 07649C 8007589C 17000003 */ bnez $t8, .L800758AC /* 0764A0 800758A0 3C118019 */ lui $s1, %hi(D_8018C3F0) # $s1, 0x8019 /* 0764A4 800758A4 8739578C */ lh $t9, %lo(D_8016578C)($t9) /* 0764A8 800758A8 1320001F */ beqz $t9, .L80075928 .L800758AC: /* 0764AC 800758AC 3C158016 */ lui $s5, %hi(D_80165C18) # $s5, 0x8016 /* 0764B0 800758B0 3C138019 */ lui $s3, %hi(D_8018C5F0) # $s3, 0x8019 /* 0764B4 800758B4 2673C5F0 */ addiu $s3, %lo(D_8018C5F0) # addiu $s3, $s3, -0x3a10 /* 0764B8 800758B8 26B55C18 */ addiu $s5, %lo(D_80165C18) # addiu $s5, $s5, 0x5c18 /* 0764BC 800758BC 2631C3F0 */ addiu $s1, %lo(D_8018C3F0) # addiu $s1, $s1, -0x3c10 /* 0764C0 800758C0 241600E0 */ li $s6, 224 /* 0764C4 800758C4 2414FFFF */ li $s4, -1 /* 0764C8 800758C8 8E240000 */ lw $a0, ($s1) .L800758CC: /* 0764CC 800758CC 50940010 */ beql $a0, $s4, .L80075910 /* 0764D0 800758D0 26310004 */ addiu $s1, $s1, 4 /* 0764D4 800758D4 00960019 */ multu $a0, $s6 /* 0764D8 800758D8 00004012 */ mflo $t0 /* 0764DC 800758DC 02A88021 */ addu $s0, $s5, $t0 /* 0764E0 800758E0 860900A6 */ lh $t1, 0xa6($s0) /* 0764E4 800758E4 5120000A */ beql $t1, $zero, .L80075910 /* 0764E8 800758E8 26310004 */ addiu $s1, $s1, 4 /* 0764EC 800758EC 0C01D5C5 */ jal func_80075714 /* 0764F0 800758F0 00000000 */ nop /* 0764F4 800758F4 860A00A6 */ lh $t2, 0xa6($s0) /* 0764F8 800758F8 55400004 */ bnel $t2, $zero, .L8007590C /* 0764FC 800758FC 26520001 */ addiu $s2, $s2, 1 /* 076500 80075900 0C01C840 */ jal func_80072100 /* 076504 80075904 02202025 */ move $a0, $s1 /* 076508 80075908 26520001 */ addiu $s2, $s2, 1 .L8007590C: /* 07650C 8007590C 26310004 */ addiu $s1, $s1, 4 .L80075910: /* 076510 80075910 5633FFEE */ bnel $s1, $s3, .L800758CC /* 076514 80075914 8E240000 */ lw $a0, ($s1) /* 076518 80075918 12400003 */ beqz $s2, .L80075928 /* 07651C 8007591C 240B0064 */ li $t3, 100 /* 076520 80075920 3C018016 */ lui $at, %hi(D_8016578C) # $at, 0x8016 /* 076524 80075924 A42B578C */ sh $t3, %lo(D_8016578C)($at) .L80075928: /* 076528 80075928 3C0C8016 */ lui $t4, %hi(D_801637AC) # $t4, 0x8016 /* 07652C 8007592C 8D8C37AC */ lw $t4, %lo(D_801637AC)($t4) /* 076530 80075930 3C158016 */ lui $s5, %hi(D_80165C18) # $s5, 0x8016 /* 076534 80075934 26B55C18 */ addiu $s5, %lo(D_80165C18) # addiu $s5, $s5, 0x5c18 /* 076538 80075938 2414FFFF */ li $s4, -1 /* 07653C 8007593C 15800004 */ bnez $t4, .L80075950 /* 076540 80075940 241600E0 */ li $s6, 224 /* 076544 80075944 3C0D8016 */ lui $t5, %hi(D_80165790) # $t5, 0x8016 /* 076548 80075948 85AD5790 */ lh $t5, %lo(D_80165790)($t5) /* 07654C 8007594C 11A0001D */ beqz $t5, .L800759C4 .L80075950: /* 076550 80075950 3C118019 */ lui $s1, %hi(D_8018C630) # $s1, 0x8019 /* 076554 80075954 3C138019 */ lui $s3, %hi(D_8018C830) # $s3, 0x8019 /* 076558 80075958 00009025 */ move $s2, $zero /* 07655C 8007595C 2673C830 */ addiu $s3, %lo(D_8018C830) # addiu $s3, $s3, -0x37d0 /* 076560 80075960 2631C630 */ addiu $s1, %lo(D_8018C630) # addiu $s1, $s1, -0x39d0 /* 076564 80075964 8E240000 */ lw $a0, ($s1) .L80075968: /* 076568 80075968 50940010 */ beql $a0, $s4, .L800759AC /* 07656C 8007596C 26310004 */ addiu $s1, $s1, 4 /* 076570 80075970 00960019 */ multu $a0, $s6 /* 076574 80075974 00007012 */ mflo $t6 /* 076578 80075978 02AE8021 */ addu $s0, $s5, $t6 /* 07657C 8007597C 860F00A6 */ lh $t7, 0xa6($s0) /* 076580 80075980 51E0000A */ beql $t7, $zero, .L800759AC /* 076584 80075984 26310004 */ addiu $s1, $s1, 4 /* 076588 80075988 0C01D5C5 */ jal func_80075714 /* 07658C 8007598C 00000000 */ nop /* 076590 80075990 861800A6 */ lh $t8, 0xa6($s0) /* 076594 80075994 57000004 */ bnel $t8, $zero, .L800759A8 /* 076598 80075998 26520001 */ addiu $s2, $s2, 1 /* 07659C 8007599C 0C01C840 */ jal func_80072100 /* 0765A0 800759A0 02202025 */ move $a0, $s1 /* 0765A4 800759A4 26520001 */ addiu $s2, $s2, 1 .L800759A8: /* 0765A8 800759A8 26310004 */ addiu $s1, $s1, 4 .L800759AC: /* 0765AC 800759AC 5633FFEE */ bnel $s1, $s3, .L80075968 /* 0765B0 800759B0 8E240000 */ lw $a0, ($s1) /* 0765B4 800759B4 12400003 */ beqz $s2, .L800759C4 /* 0765B8 800759B8 24190064 */ li $t9, 100 /* 0765BC 800759BC 3C018016 */ lui $at, %hi(D_80165790) # $at, 0x8016 /* 0765C0 800759C0 A4395790 */ sh $t9, %lo(D_80165790)($at) .L800759C4: /* 0765C4 800759C4 8FBF0034 */ lw $ra, 0x34($sp) /* 0765C8 800759C8 8FB00018 */ lw $s0, 0x18($sp) /* 0765CC 800759CC 8FB1001C */ lw $s1, 0x1c($sp) /* 0765D0 800759D0 8FB20020 */ lw $s2, 0x20($sp) /* 0765D4 800759D4 8FB30024 */ lw $s3, 0x24($sp) /* 0765D8 800759D8 8FB40028 */ lw $s4, 0x28($sp) /* 0765DC 800759DC 8FB5002C */ lw $s5, 0x2c($sp) /* 0765E0 800759E0 8FB60030 */ lw $s6, 0x30($sp) /* 0765E4 800759E4 03E00008 */ jr $ra /* 0765E8 800759E8 27BD0038 */ addiu $sp, $sp, 0x38 glabel func_800759EC /* 0765EC 800759EC 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0765F0 800759F0 AFA60020 */ sw $a2, 0x20($sp) /* 0765F4 800759F4 00A03025 */ move $a2, $a1 /* 0765F8 800759F8 AFBF0014 */ sw $ra, 0x14($sp) /* 0765FC 800759FC AFA5001C */ sw $a1, 0x1c($sp) /* 076600 80075A00 AFA40018 */ sw $a0, 0x18($sp) /* 076604 80075A04 AFA6001C */ sw $a2, 0x1c($sp) /* 076608 80075A08 0C01C8E9 */ jal func_800723A4 /* 07660C 80075A0C 00002825 */ move $a1, $zero /* 076610 80075A10 8FAE0018 */ lw $t6, 0x18($sp) /* 076614 80075A14 8FA6001C */ lw $a2, 0x1c($sp) /* 076618 80075A18 3C188016 */ lui $t8, %hi(D_80165C18) # $t8, 0x8016 /* 07661C 80075A1C 000E78C0 */ sll $t7, $t6, 3 /* 076620 80075A20 C4C40000 */ lwc1 $f4, ($a2) /* 076624 80075A24 01EE7823 */ subu $t7, $t7, $t6 /* 076628 80075A28 000F7940 */ sll $t7, $t7, 5 /* 07662C 80075A2C 27185C18 */ addiu $t8, %lo(D_80165C18) # addiu $t8, $t8, 0x5c18 /* 076630 80075A30 01F81021 */ addu $v0, $t7, $t8 /* 076634 80075A34 E4440010 */ swc1 $f4, 0x10($v0) /* 076638 80075A38 C4C60004 */ lwc1 $f6, 4($a2) /* 07663C 80075A3C 8FBF0014 */ lw $ra, 0x14($sp) /* 076640 80075A40 C7AA0020 */ lwc1 $f10, 0x20($sp) /* 076644 80075A44 E4460014 */ swc1 $f6, 0x14($v0) /* 076648 80075A48 C4C80008 */ lwc1 $f8, 8($a2) /* 07664C 80075A4C 241900FF */ li $t9, 255 /* 076650 80075A50 24080096 */ li $t0, 150 /* 076654 80075A54 A45900A4 */ sh $t9, 0xa4($v0) /* 076658 80075A58 A44800A2 */ sh $t0, 0xa2($v0) /* 07665C 80075A5C 27BD0018 */ addiu $sp, $sp, 0x18 /* 076660 80075A60 E44A003C */ swc1 $f10, 0x3c($v0) /* 076664 80075A64 03E00008 */ jr $ra /* 076668 80075A68 E4480018 */ swc1 $f8, 0x18($v0) glabel func_80075A6C /* 07666C 80075A6C 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 076670 80075A70 AFBF0014 */ sw $ra, 0x14($sp) /* 076674 80075A74 AFA50024 */ sw $a1, 0x24($sp) /* 076678 80075A78 14800010 */ bnez $a0, .L80075ABC /* 07667C 80075A7C AFA60028 */ sw $a2, 0x28($sp) /* 076680 80075A80 3C048019 */ lui $a0, %hi(D_8018C3F0) # $a0, 0x8019 /* 076684 80075A84 3C058018 */ lui $a1, %hi(D_80183E4C) # $a1, 0x8018 /* 076688 80075A88 24A53E4C */ addiu $a1, %lo(D_80183E4C) # addiu $a1, $a1, 0x3e4c /* 07668C 80075A8C 2484C3F0 */ addiu $a0, %lo(D_8018C3F0) # addiu $a0, $a0, -0x3c10 /* 076690 80075A90 0C01C811 */ jal func_80072044 /* 076694 80075A94 24060080 */ li $a2, 128 /* 076698 80075A98 2401FFFF */ li $at, -1 /* 07669C 80075A9C 10410015 */ beq $v0, $at, .L80075AF4 /* 0766A0 80075AA0 00402025 */ move $a0, $v0 /* 0766A4 80075AA4 8FA50024 */ lw $a1, 0x24($sp) /* 0766A8 80075AA8 8FA60028 */ lw $a2, 0x28($sp) /* 0766AC 80075AAC 0C01D67B */ jal func_800759EC /* 0766B0 80075AB0 AFA2001C */ sw $v0, 0x1c($sp) /* 0766B4 80075AB4 1000000F */ b .L80075AF4 /* 0766B8 80075AB8 8FA4001C */ lw $a0, 0x1c($sp) .L80075ABC: /* 0766BC 80075ABC 3C048019 */ lui $a0, %hi(D_8018C630) # $a0, 0x8019 /* 0766C0 80075AC0 3C058018 */ lui $a1, %hi(D_80183E5C) # $a1, 0x8018 /* 0766C4 80075AC4 24A53E5C */ addiu $a1, %lo(D_80183E5C) # addiu $a1, $a1, 0x3e5c /* 0766C8 80075AC8 2484C630 */ addiu $a0, %lo(D_8018C630) # addiu $a0, $a0, -0x39d0 /* 0766CC 80075ACC 0C01C811 */ jal func_80072044 /* 0766D0 80075AD0 24060080 */ li $a2, 128 /* 0766D4 80075AD4 2401FFFF */ li $at, -1 /* 0766D8 80075AD8 10410006 */ beq $v0, $at, .L80075AF4 /* 0766DC 80075ADC 00402025 */ move $a0, $v0 /* 0766E0 80075AE0 8FA50024 */ lw $a1, 0x24($sp) /* 0766E4 80075AE4 8FA60028 */ lw $a2, 0x28($sp) /* 0766E8 80075AE8 0C01D67B */ jal func_800759EC /* 0766EC 80075AEC AFA2001C */ sw $v0, 0x1c($sp) /* 0766F0 80075AF0 8FA4001C */ lw $a0, 0x1c($sp) .L80075AF4: /* 0766F4 80075AF4 8FBF0014 */ lw $ra, 0x14($sp) /* 0766F8 80075AF8 27BD0020 */ addiu $sp, $sp, 0x20 /* 0766FC 80075AFC 00801025 */ move $v0, $a0 /* 076700 80075B00 03E00008 */ jr $ra /* 076704 80075B04 00000000 */ nop glabel func_80075B08 /* 076708 80075B08 000470C0 */ sll $t6, $a0, 3 /* 07670C 80075B0C 01C47023 */ subu $t6, $t6, $a0 /* 076710 80075B10 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 076714 80075B14 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 076718 80075B18 000E7140 */ sll $t6, $t6, 5 /* 07671C 80075B1C 01CF1021 */ addu $v0, $t6, $t7 /* 076720 80075B20 24180006 */ li $t8, 6 /* 076724 80075B24 A05800D5 */ sb $t8, 0xd5($v0) /* 076728 80075B28 3C038019 */ lui $v1, %hi(D_8018D490) # $v1, 0x8019 /* 07672C 80075B2C 8C63D490 */ lw $v1, %lo(D_8018D490)($v1) /* 076730 80075B30 44800000 */ mtc1 $zero, $f0 /* 076734 80075B34 3C013F00 */ li $at, 0x3F000000 # 0.500000 /* 076738 80075B38 44812000 */ mtc1 $at, $f4 /* 07673C 80075B3C 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 076740 80075B40 AFBF0014 */ sw $ra, 0x14($sp) /* 076744 80075B44 241900FF */ li $t9, 255 /* 076748 80075B48 A45900A0 */ sh $t9, 0xa0($v0) /* 07674C 80075B4C A44000C0 */ sh $zero, 0xc0($v0) /* 076750 80075B50 A44000B2 */ sh $zero, 0xb2($v0) /* 076754 80075B54 A44000B6 */ sh $zero, 0xb6($v0) /* 076758 80075B58 AC430064 */ sw $v1, 0x64($v0) /* 07675C 80075B5C AC43006C */ sw $v1, 0x6c($v0) /* 076760 80075B60 E4400028 */ swc1 $f0, 0x28($v0) /* 076764 80075B64 E440002C */ swc1 $f0, 0x2c($v0) /* 076768 80075B68 E4400030 */ swc1 $f0, 0x30($v0) /* 07676C 80075B6C 0C01C922 */ jal func_80072488 /* 076770 80075B70 E4440000 */ swc1 $f4, ($v0) /* 076774 80075B74 8FBF0014 */ lw $ra, 0x14($sp) /* 076778 80075B78 27BD0018 */ addiu $sp, $sp, 0x18 /* 07677C 80075B7C 03E00008 */ jr $ra /* 076780 80075B80 00000000 */ nop glabel func_80075B84 /* 076784 80075B84 000470C0 */ sll $t6, $a0, 3 /* 076788 80075B88 27BDFFD0 */ addiu $sp, $sp, -0x30 /* 07678C 80075B8C 01C47023 */ subu $t6, $t6, $a0 /* 076790 80075B90 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 076794 80075B94 AFB00024 */ sw $s0, 0x24($sp) /* 076798 80075B98 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 07679C 80075B9C 000E7140 */ sll $t6, $t6, 5 /* 0767A0 80075BA0 01CF8021 */ addu $s0, $t6, $t7 /* 0767A4 80075BA4 860200A6 */ lh $v0, 0xa6($s0) /* 0767A8 80075BA8 AFB10028 */ sw $s1, 0x28($sp) /* 0767AC 80075BAC 00808825 */ move $s1, $a0 /* 0767B0 80075BB0 10400036 */ beqz $v0, .L80075C8C /* 0767B4 80075BB4 AFBF002C */ sw $ra, 0x2c($sp) /* 0767B8 80075BB8 24010001 */ li $at, 1 /* 0767BC 80075BBC 10410007 */ beq $v0, $at, .L80075BDC /* 0767C0 80075BC0 24010002 */ li $at, 2 /* 0767C4 80075BC4 10410009 */ beq $v0, $at, .L80075BEC /* 0767C8 80075BC8 24010003 */ li $at, 3 /* 0767CC 80075BCC 1041002D */ beq $v0, $at, .L80075C84 /* 0767D0 80075BD0 00000000 */ nop /* 0767D4 80075BD4 1000002D */ b .L80075C8C /* 0767D8 80075BD8 00000000 */ nop .L80075BDC: /* 0767DC 80075BDC 0C01D6C2 */ jal func_80075B08 /* 0767E0 80075BE0 02202025 */ move $a0, $s1 /* 0767E4 80075BE4 10000029 */ b .L80075C8C /* 0767E8 80075BE8 00000000 */ nop .L80075BEC: /* 0767EC 80075BEC C604003C */ lwc1 $f4, 0x3c($s0) /* 0767F0 80075BF0 3C01800F */ lui $at, %hi(D_800EEAE0) /* 0767F4 80075BF4 D428EAE0 */ ldc1 $f8, %lo(D_800EEAE0)($at) /* 0767F8 80075BF8 460021A1 */ cvt.d.s $f6, $f4 /* 0767FC 80075BFC 2604002C */ addiu $a0, $s0, 0x2c /* 076800 80075C00 46283281 */ sub.d $f10, $f6, $f8 /* 076804 80075C04 3C0542C8 */ lui $a1, 0x42c8 /* 076808 80075C08 46205420 */ cvt.s.d $f16, $f10 /* 07680C 80075C0C E610003C */ swc1 $f16, 0x3c($s0) /* 076810 80075C10 0C0103B8 */ jal func_80040EE0 /* 076814 80075C14 8E06003C */ lw $a2, 0x3c($s0) /* 076818 80075C18 3C01800F */ lui $at, %hi(D_800EEAE8) # $at, 0x800f /* 07681C 80075C1C C432EAE8 */ lwc1 $f18, %lo(D_800EEAE8)($at) /* 076820 80075C20 3C063F0C */ lui $a2, (0x3F0CCCCD >> 16) # lui $a2, 0x3f0c /* 076824 80075C24 24180001 */ li $t8, 1 /* 076828 80075C28 AFB80014 */ sw $t8, 0x14($sp) /* 07682C 80075C2C 34C6CCCD */ ori $a2, (0x3F0CCCCD & 0xFFFF) # ori $a2, $a2, 0xcccd /* 076830 80075C30 02202025 */ move $a0, $s1 /* 076834 80075C34 02002825 */ move $a1, $s0 /* 076838 80075C38 3C073F80 */ lui $a3, 0x3f80 /* 07683C 80075C3C AFA00018 */ sw $zero, 0x18($sp) /* 076840 80075C40 0C01D057 */ jal func_8007415C /* 076844 80075C44 E7B20010 */ swc1 $f18, 0x10($sp) /* 076848 80075C48 24190007 */ li $t9, 7 /* 07684C 80075C4C AFB90010 */ sw $t9, 0x10($sp) /* 076850 80075C50 02202025 */ move $a0, $s1 /* 076854 80075C54 260500A0 */ addiu $a1, $s0, 0xa0 /* 076858 80075C58 240600FF */ li $a2, 255 /* 07685C 80075C5C 2407001E */ li $a3, 30 /* 076860 80075C60 AFA00014 */ sw $zero, 0x14($sp) /* 076864 80075C64 0C01CEC0 */ jal func_80073B00 /* 076868 80075C68 AFA00018 */ sw $zero, 0x18($sp) /* 07686C 80075C6C 10400007 */ beqz $v0, .L80075C8C /* 076870 80075C70 00000000 */ nop /* 076874 80075C74 0C01C922 */ jal func_80072488 /* 076878 80075C78 02202025 */ move $a0, $s1 /* 07687C 80075C7C 10000003 */ b .L80075C8C /* 076880 80075C80 00000000 */ nop .L80075C84: /* 076884 80075C84 0C01C90A */ jal func_80072428 /* 076888 80075C88 02202025 */ move $a0, $s1 .L80075C8C: /* 07688C 80075C8C 0C022FC6 */ jal func_8008BF18 /* 076890 80075C90 02202025 */ move $a0, $s1 /* 076894 80075C94 8FBF002C */ lw $ra, 0x2c($sp) /* 076898 80075C98 8FB00024 */ lw $s0, 0x24($sp) /* 07689C 80075C9C 8FB10028 */ lw $s1, 0x28($sp) /* 0768A0 80075CA0 03E00008 */ jr $ra /* 0768A4 80075CA4 27BD0030 */ addiu $sp, $sp, 0x30 glabel func_80075CA8 /* 0768A8 80075CA8 27BDFFC8 */ addiu $sp, $sp, -0x38 /* 0768AC 80075CAC 3C028016 */ lui $v0, %hi(D_8016578C) # $v0, 0x8016 /* 0768B0 80075CB0 8442578C */ lh $v0, %lo(D_8016578C)($v0) /* 0768B4 80075CB4 AFBF0034 */ sw $ra, 0x34($sp) /* 0768B8 80075CB8 AFB60030 */ sw $s6, 0x30($sp) /* 0768BC 80075CBC AFB5002C */ sw $s5, 0x2c($sp) /* 0768C0 80075CC0 AFB40028 */ sw $s4, 0x28($sp) /* 0768C4 80075CC4 AFB30024 */ sw $s3, 0x24($sp) /* 0768C8 80075CC8 AFB20020 */ sw $s2, 0x20($sp) /* 0768CC 80075CCC AFB1001C */ sw $s1, 0x1c($sp) /* 0768D0 80075CD0 10400004 */ beqz $v0, .L80075CE4 /* 0768D4 80075CD4 AFB00018 */ sw $s0, 0x18($sp) /* 0768D8 80075CD8 244EFFFF */ addiu $t6, $v0, -1 /* 0768DC 80075CDC 3C018016 */ lui $at, %hi(D_8016578C) # $at, 0x8016 /* 0768E0 80075CE0 A42E578C */ sh $t6, %lo(D_8016578C)($at) .L80075CE4: /* 0768E4 80075CE4 3C028016 */ lui $v0, %hi(D_80165790) # $v0, 0x8016 /* 0768E8 80075CE8 84425790 */ lh $v0, %lo(D_80165790)($v0) /* 0768EC 80075CEC 3C018016 */ lui $at, %hi(D_80165790) # $at, 0x8016 /* 0768F0 80075CF0 3C188016 */ lui $t8, %hi(D_801637E8) # $t8, 0x8016 /* 0768F4 80075CF4 10400002 */ beqz $v0, .L80075D00 /* 0768F8 80075CF8 244FFFFF */ addiu $t7, $v0, -1 /* 0768FC 80075CFC A42F5790 */ sh $t7, %lo(D_80165790)($at) .L80075D00: /* 076900 80075D00 8F1837E8 */ lw $t8, %lo(D_801637E8)($t8) /* 076904 80075D04 3C198016 */ lui $t9, %hi(D_8016578C) # $t9, 0x8016 /* 076908 80075D08 00009025 */ move $s2, $zero /* 07690C 80075D0C 17000003 */ bnez $t8, .L80075D1C /* 076910 80075D10 3C118019 */ lui $s1, %hi(D_8018C3F0) # $s1, 0x8019 /* 076914 80075D14 8739578C */ lh $t9, %lo(D_8016578C)($t9) /* 076918 80075D18 1320001F */ beqz $t9, .L80075D98 .L80075D1C: /* 07691C 80075D1C 3C158016 */ lui $s5, %hi(D_80165C18) # $s5, 0x8016 /* 076920 80075D20 3C138019 */ lui $s3, %hi(D_8018C5F0) # $s3, 0x8019 /* 076924 80075D24 2673C5F0 */ addiu $s3, %lo(D_8018C5F0) # addiu $s3, $s3, -0x3a10 /* 076928 80075D28 26B55C18 */ addiu $s5, %lo(D_80165C18) # addiu $s5, $s5, 0x5c18 /* 07692C 80075D2C 2631C3F0 */ addiu $s1, %lo(D_8018C3F0) # addiu $s1, $s1, -0x3c10 /* 076930 80075D30 241600E0 */ li $s6, 224 /* 076934 80075D34 2414FFFF */ li $s4, -1 /* 076938 80075D38 8E240000 */ lw $a0, ($s1) .L80075D3C: /* 07693C 80075D3C 50940010 */ beql $a0, $s4, .L80075D80 /* 076940 80075D40 26310004 */ addiu $s1, $s1, 4 /* 076944 80075D44 00960019 */ multu $a0, $s6 /* 076948 80075D48 00004012 */ mflo $t0 /* 07694C 80075D4C 02A88021 */ addu $s0, $s5, $t0 /* 076950 80075D50 860900A6 */ lh $t1, 0xa6($s0) /* 076954 80075D54 5120000A */ beql $t1, $zero, .L80075D80 /* 076958 80075D58 26310004 */ addiu $s1, $s1, 4 /* 07695C 80075D5C 0C01D6E1 */ jal func_80075B84 /* 076960 80075D60 00000000 */ nop /* 076964 80075D64 860A00A6 */ lh $t2, 0xa6($s0) /* 076968 80075D68 55400004 */ bnel $t2, $zero, .L80075D7C /* 07696C 80075D6C 26520001 */ addiu $s2, $s2, 1 /* 076970 80075D70 0C01C840 */ jal func_80072100 /* 076974 80075D74 02202025 */ move $a0, $s1 /* 076978 80075D78 26520001 */ addiu $s2, $s2, 1 .L80075D7C: /* 07697C 80075D7C 26310004 */ addiu $s1, $s1, 4 .L80075D80: /* 076980 80075D80 5633FFEE */ bnel $s1, $s3, .L80075D3C /* 076984 80075D84 8E240000 */ lw $a0, ($s1) /* 076988 80075D88 12400003 */ beqz $s2, .L80075D98 /* 07698C 80075D8C 240B0064 */ li $t3, 100 /* 076990 80075D90 3C018016 */ lui $at, %hi(D_8016578C) # $at, 0x8016 /* 076994 80075D94 A42B578C */ sh $t3, %lo(D_8016578C)($at) .L80075D98: /* 076998 80075D98 3C0C8016 */ lui $t4, %hi(D_80163814) # $t4, 0x8016 /* 07699C 80075D9C 8D8C3814 */ lw $t4, %lo(D_80163814)($t4) /* 0769A0 80075DA0 3C158016 */ lui $s5, %hi(D_80165C18) # $s5, 0x8016 /* 0769A4 80075DA4 26B55C18 */ addiu $s5, %lo(D_80165C18) # addiu $s5, $s5, 0x5c18 /* 0769A8 80075DA8 2414FFFF */ li $s4, -1 /* 0769AC 80075DAC 15800004 */ bnez $t4, .L80075DC0 /* 0769B0 80075DB0 241600E0 */ li $s6, 224 /* 0769B4 80075DB4 3C0D8016 */ lui $t5, %hi(D_80165790) # $t5, 0x8016 /* 0769B8 80075DB8 85AD5790 */ lh $t5, %lo(D_80165790)($t5) /* 0769BC 80075DBC 11A0001D */ beqz $t5, .L80075E34 .L80075DC0: /* 0769C0 80075DC0 3C118019 */ lui $s1, %hi(D_8018C630) # $s1, 0x8019 /* 0769C4 80075DC4 3C138019 */ lui $s3, %hi(D_8018C830) # $s3, 0x8019 /* 0769C8 80075DC8 00009025 */ move $s2, $zero /* 0769CC 80075DCC 2673C830 */ addiu $s3, %lo(D_8018C830) # addiu $s3, $s3, -0x37d0 /* 0769D0 80075DD0 2631C630 */ addiu $s1, %lo(D_8018C630) # addiu $s1, $s1, -0x39d0 /* 0769D4 80075DD4 8E240000 */ lw $a0, ($s1) .L80075DD8: /* 0769D8 80075DD8 50940010 */ beql $a0, $s4, .L80075E1C /* 0769DC 80075DDC 26310004 */ addiu $s1, $s1, 4 /* 0769E0 80075DE0 00960019 */ multu $a0, $s6 /* 0769E4 80075DE4 00007012 */ mflo $t6 /* 0769E8 80075DE8 02AE8021 */ addu $s0, $s5, $t6 /* 0769EC 80075DEC 860F00A6 */ lh $t7, 0xa6($s0) /* 0769F0 80075DF0 51E0000A */ beql $t7, $zero, .L80075E1C /* 0769F4 80075DF4 26310004 */ addiu $s1, $s1, 4 /* 0769F8 80075DF8 0C01D6E1 */ jal func_80075B84 /* 0769FC 80075DFC 00000000 */ nop /* 076A00 80075E00 861800A6 */ lh $t8, 0xa6($s0) /* 076A04 80075E04 57000004 */ bnel $t8, $zero, .L80075E18 /* 076A08 80075E08 26520001 */ addiu $s2, $s2, 1 /* 076A0C 80075E0C 0C01C840 */ jal func_80072100 /* 076A10 80075E10 02202025 */ move $a0, $s1 /* 076A14 80075E14 26520001 */ addiu $s2, $s2, 1 .L80075E18: /* 076A18 80075E18 26310004 */ addiu $s1, $s1, 4 .L80075E1C: /* 076A1C 80075E1C 5633FFEE */ bnel $s1, $s3, .L80075DD8 /* 076A20 80075E20 8E240000 */ lw $a0, ($s1) /* 076A24 80075E24 12400003 */ beqz $s2, .L80075E34 /* 076A28 80075E28 24190064 */ li $t9, 100 /* 076A2C 80075E2C 3C018016 */ lui $at, %hi(D_80165790) # $at, 0x8016 /* 076A30 80075E30 A4395790 */ sh $t9, %lo(D_80165790)($at) .L80075E34: /* 076A34 80075E34 8FBF0034 */ lw $ra, 0x34($sp) /* 076A38 80075E38 8FB00018 */ lw $s0, 0x18($sp) /* 076A3C 80075E3C 8FB1001C */ lw $s1, 0x1c($sp) /* 076A40 80075E40 8FB20020 */ lw $s2, 0x20($sp) /* 076A44 80075E44 8FB30024 */ lw $s3, 0x24($sp) /* 076A48 80075E48 8FB40028 */ lw $s4, 0x28($sp) /* 076A4C 80075E4C 8FB5002C */ lw $s5, 0x2c($sp) /* 076A50 80075E50 8FB60030 */ lw $s6, 0x30($sp) /* 076A54 80075E54 03E00008 */ jr $ra /* 076A58 80075E58 27BD0038 */ addiu $sp, $sp, 0x38 glabel func_80075E5C /* 076A5C 80075E5C 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 076A60 80075E60 AFA70024 */ sw $a3, 0x24($sp) /* 076A64 80075E64 00A03825 */ move $a3, $a1 /* 076A68 80075E68 AFBF0014 */ sw $ra, 0x14($sp) /* 076A6C 80075E6C AFA5001C */ sw $a1, 0x1c($sp) /* 076A70 80075E70 AFA40018 */ sw $a0, 0x18($sp) /* 076A74 80075E74 AFA60020 */ sw $a2, 0x20($sp) /* 076A78 80075E78 AFA7001C */ sw $a3, 0x1c($sp) /* 076A7C 80075E7C 0C01C8E9 */ jal func_800723A4 /* 076A80 80075E80 00002825 */ move $a1, $zero /* 076A84 80075E84 8FAE0018 */ lw $t6, 0x18($sp) /* 076A88 80075E88 3C188016 */ lui $t8, %hi(D_80165C18) # $t8, 0x8016 /* 076A8C 80075E8C 3C013F00 */ li $at, 0x3F000000 # 0.500000 /* 076A90 80075E90 000E78C0 */ sll $t7, $t6, 3 /* 076A94 80075E94 01EE7823 */ subu $t7, $t7, $t6 /* 076A98 80075E98 44812000 */ mtc1 $at, $f4 /* 076A9C 80075E9C 000F7940 */ sll $t7, $t7, 5 /* 076AA0 80075EA0 27185C18 */ addiu $t8, %lo(D_80165C18) # addiu $t8, $t8, 0x5c18 /* 076AA4 80075EA4 8FA7001C */ lw $a3, 0x1c($sp) /* 076AA8 80075EA8 01F81021 */ addu $v0, $t7, $t8 /* 076AAC 80075EAC 24190005 */ li $t9, 5 /* 076AB0 80075EB0 A05900D5 */ sb $t9, 0xd5($v0) /* 076AB4 80075EB4 E4440000 */ swc1 $f4, ($v0) /* 076AB8 80075EB8 C7B00024 */ lwc1 $f16, 0x24($sp) /* 076ABC 80075EBC C4E60000 */ lwc1 $f6, ($a3) /* 076AC0 80075EC0 3C014010 */ li $at, 0x40100000 # 2.250000 /* 076AC4 80075EC4 44812800 */ mtc1 $at, $f5 /* 076AC8 80075EC8 44802000 */ mtc1 $zero, $f4 /* 076ACC 80075ECC 460084A1 */ cvt.d.s $f18, $f16 /* 076AD0 80075ED0 E4460010 */ swc1 $f6, 0x10($v0) /* 076AD4 80075ED4 C4E80004 */ lwc1 $f8, 4($a3) /* 076AD8 80075ED8 46249182 */ mul.d $f6, $f18, $f4 /* 076ADC 80075EDC 8FAA0028 */ lw $t2, 0x28($sp) /* 076AE0 80075EE0 E4480014 */ swc1 $f8, 0x14($v0) /* 076AE4 80075EE4 C4EA0008 */ lwc1 $f10, 8($a3) /* 076AE8 80075EE8 8FBF0014 */ lw $ra, 0x14($sp) /* 076AEC 80075EEC 97A90022 */ lhu $t1, 0x22($sp) /* 076AF0 80075EF0 240300FF */ li $v1, 255 /* 076AF4 80075EF4 24080C00 */ li $t0, 3072 /* 076AF8 80075EF8 46203220 */ cvt.s.d $f8, $f6 /* 076AFC 80075EFC 000A5840 */ sll $t3, $t2, 1 /* 076B00 80075F00 A44800BE */ sh $t0, 0xbe($v0) /* 076B04 80075F04 A44000C2 */ sh $zero, 0xc2($v0) /* 076B08 80075F08 E4480034 */ swc1 $f8, 0x34($v0) /* 076B0C 80075F0C A44300A4 */ sh $v1, 0xa4($v0) /* 076B10 80075F10 A44300A2 */ sh $v1, 0xa2($v0) /* 076B14 80075F14 AC4B0048 */ sw $t3, 0x48($v0) /* 076B18 80075F18 27BD0018 */ addiu $sp, $sp, 0x18 /* 076B1C 80075F1C E44A0018 */ swc1 $f10, 0x18($v0) /* 076B20 80075F20 03E00008 */ jr $ra /* 076B24 80075F24 A44900C0 */ sh $t1, 0xc0($v0) glabel func_80075F28 /* 076B28 80075F28 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 076B2C 80075F2C AFA40028 */ sw $a0, 0x28($sp) /* 076B30 80075F30 AFA5002C */ sw $a1, 0x2c($sp) /* 076B34 80075F34 AFBF001C */ sw $ra, 0x1c($sp) /* 076B38 80075F38 AFA60030 */ sw $a2, 0x30($sp) /* 076B3C 80075F3C 3C058018 */ lui $a1, %hi(D_80183E38) # $a1, 0x8018 /* 076B40 80075F40 3C048019 */ lui $a0, %hi(D_8018C1B0) # $a0, 0x8019 /* 076B44 80075F44 AFA70034 */ sw $a3, 0x34($sp) /* 076B48 80075F48 2484C1B0 */ addiu $a0, %lo(D_8018C1B0) # addiu $a0, $a0, -0x3e50 /* 076B4C 80075F4C 24A53E38 */ addiu $a1, %lo(D_80183E38) # addiu $a1, $a1, 0x3e38 /* 076B50 80075F50 0C01C811 */ jal func_80072044 /* 076B54 80075F54 24060080 */ li $a2, 128 /* 076B58 80075F58 2401FFFF */ li $at, -1 /* 076B5C 80075F5C 10410009 */ beq $v0, $at, .L80075F84 /* 076B60 80075F60 00402025 */ move $a0, $v0 /* 076B64 80075F64 8FAE0034 */ lw $t6, 0x34($sp) /* 076B68 80075F68 8FA50028 */ lw $a1, 0x28($sp) /* 076B6C 80075F6C 97A6002E */ lhu $a2, 0x2e($sp) /* 076B70 80075F70 8FA70030 */ lw $a3, 0x30($sp) /* 076B74 80075F74 AFA20024 */ sw $v0, 0x24($sp) /* 076B78 80075F78 0C01D797 */ jal func_80075E5C /* 076B7C 80075F7C AFAE0010 */ sw $t6, 0x10($sp) /* 076B80 80075F80 8FA40024 */ lw $a0, 0x24($sp) .L80075F84: /* 076B84 80075F84 8FBF001C */ lw $ra, 0x1c($sp) /* 076B88 80075F88 27BD0028 */ addiu $sp, $sp, 0x28 /* 076B8C 80075F8C 00801025 */ move $v0, $a0 /* 076B90 80075F90 03E00008 */ jr $ra /* 076B94 80075F94 00000000 */ nop glabel func_80075F98 /* 076B98 80075F98 27BDFFC8 */ addiu $sp, $sp, -0x38 /* 076B9C 80075F9C F7B40018 */ sdc1 $f20, 0x18($sp) /* 076BA0 80075FA0 AFB40030 */ sw $s4, 0x30($sp) /* 076BA4 80075FA4 AFB3002C */ sw $s3, 0x2c($sp) /* 076BA8 80075FA8 AFB20028 */ sw $s2, 0x28($sp) /* 076BAC 80075FAC AFB10024 */ sw $s1, 0x24($sp) /* 076BB0 80075FB0 AFB00020 */ sw $s0, 0x20($sp) /* 076BB4 80075FB4 4486A000 */ mtc1 $a2, $f20 /* 076BB8 80075FB8 00808825 */ move $s1, $a0 /* 076BBC 80075FBC 30B2FFFF */ andi $s2, $a1, 0xffff /* 076BC0 80075FC0 AFBF0034 */ sw $ra, 0x34($sp) /* 076BC4 80075FC4 AFA5003C */ sw $a1, 0x3c($sp) /* 076BC8 80075FC8 00008025 */ move $s0, $zero /* 076BCC 80075FCC 2413FFFF */ li $s3, -1 /* 076BD0 80075FD0 2414000A */ li $s4, 10 /* 076BD4 80075FD4 4406A000 */ mfc1 $a2, $f20 .L80075FD8: /* 076BD8 80075FD8 02202025 */ move $a0, $s1 /* 076BDC 80075FDC 3245FFFF */ andi $a1, $s2, 0xffff /* 076BE0 80075FE0 0C01D7CA */ jal func_80075F28 /* 076BE4 80075FE4 02003825 */ move $a3, $s0 /* 076BE8 80075FE8 10530003 */ beq $v0, $s3, .L80075FF8 /* 076BEC 80075FEC 26100001 */ addiu $s0, $s0, 1 /* 076BF0 80075FF0 5614FFF9 */ bnel $s0, $s4, .L80075FD8 /* 076BF4 80075FF4 4406A000 */ mfc1 $a2, $f20 .L80075FF8: /* 076BF8 80075FF8 8FBF0034 */ lw $ra, 0x34($sp) /* 076BFC 80075FFC D7B40018 */ ldc1 $f20, 0x18($sp) /* 076C00 80076000 8FB00020 */ lw $s0, 0x20($sp) /* 076C04 80076004 8FB10024 */ lw $s1, 0x24($sp) /* 076C08 80076008 8FB20028 */ lw $s2, 0x28($sp) /* 076C0C 8007600C 8FB3002C */ lw $s3, 0x2c($sp) /* 076C10 80076010 8FB40030 */ lw $s4, 0x30($sp) /* 076C14 80076014 03E00008 */ jr $ra /* 076C18 80076018 27BD0038 */ addiu $sp, $sp, 0x38 glabel func_8007601C /* 076C1C 8007601C 000478C0 */ sll $t7, $a0, 3 /* 076C20 80076020 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 076C24 80076024 01E47823 */ subu $t7, $t7, $a0 /* 076C28 80076028 3C188016 */ lui $t8, %hi(D_80165C18) # $t8, 0x8016 /* 076C2C 8007602C AFB00018 */ sw $s0, 0x18($sp) /* 076C30 80076030 27185C18 */ addiu $t8, %lo(D_80165C18) # addiu $t8, $t8, 0x5c18 /* 076C34 80076034 000F7940 */ sll $t7, $t7, 5 /* 076C38 80076038 01F88021 */ addu $s0, $t7, $t8 /* 076C3C 8007603C 8E02004C */ lw $v0, 0x4c($s0) /* 076C40 80076040 AFBF001C */ sw $ra, 0x1c($sp) /* 076C44 80076044 AFA40028 */ sw $a0, 0x28($sp) /* 076C48 80076048 18400005 */ blez $v0, .L80076060 /* 076C4C 8007604C 2459FFFF */ addiu $t9, $v0, -1 /* 076C50 80076050 17200003 */ bnez $t9, .L80076060 /* 076C54 80076054 AE19004C */ sw $t9, 0x4c($s0) /* 076C58 80076058 0C01C8B3 */ jal func_800722CC /* 076C5C 8007605C 24050001 */ li $a1, 1 .L80076060: /* 076C60 80076060 8E020048 */ lw $v0, 0x48($s0) /* 076C64 80076064 18400007 */ blez $v0, .L80076084 /* 076C68 80076068 2449FFFF */ addiu $t1, $v0, -1 /* 076C6C 8007606C 15200005 */ bnez $t1, .L80076084 /* 076C70 80076070 AE090048 */ sw $t1, 0x48($s0) /* 076C74 80076074 3C055102 */ lui $a1, (0x5102800A >> 16) # lui $a1, 0x5102 /* 076C78 80076078 34A5800A */ ori $a1, (0x5102800A & 0xFFFF) # ori $a1, $a1, 0x800a /* 076C7C 8007607C 0C0327BD */ jal func_800C9EF4 /* 076C80 80076080 26040004 */ addiu $a0, $s0, 4 .L80076084: /* 076C84 80076084 8E0B004C */ lw $t3, 0x4c($s0) /* 076C88 80076088 8FA40028 */ lw $a0, 0x28($sp) /* 076C8C 8007608C 55600025 */ bnel $t3, $zero, .L80076124 /* 076C90 80076090 24040009 */ li $a0, 9 /* 076C94 80076094 0C0229B7 */ jal func_8008A6DC /* 076C98 80076098 3C054396 */ lui $a1, 0x4396 /* 076C9C 8007609C 8FA40028 */ lw $a0, 0x28($sp) /* 076CA0 800760A0 0C01C88F */ jal func_8007223C /* 076CA4 800760A4 3C050004 */ lui $a1, 4 /* 076CA8 800760A8 1040001D */ beqz $v0, .L80076120 /* 076CAC 800760AC 8FA40028 */ lw $a0, 0x28($sp) /* 076CB0 800760B0 0C01C8D5 */ jal func_80072354 /* 076CB4 800760B4 24050001 */ li $a1, 1 /* 076CB8 800760B8 10400019 */ beqz $v0, .L80076120 /* 076CBC 800760BC 8FA40028 */ lw $a0, 0x28($sp) /* 076CC0 800760C0 260C0004 */ addiu $t4, $s0, 4 /* 076CC4 800760C4 AFAC0020 */ sw $t4, 0x20($sp) /* 076CC8 800760C8 0C01C8A9 */ jal func_800722A4 /* 076CCC 800760CC 24050001 */ li $a1, 1 /* 076CD0 800760D0 8FA40020 */ lw $a0, 0x20($sp) /* 076CD4 800760D4 960500C0 */ lhu $a1, 0xc0($s0) /* 076CD8 800760D8 0C01D7E6 */ jal func_80075F98 /* 076CDC 800760DC 3C063F80 */ lui $a2, 0x3f80 /* 076CE0 800760E0 3C065102 */ lui $a2, (0x5102800A >> 16) # lui $a2, 0x5102 /* 076CE4 800760E4 34C6800A */ ori $a2, (0x5102800A & 0xFFFF) # ori $a2, $a2, 0x800a /* 076CE8 800760E8 8FA40020 */ lw $a0, 0x20($sp) /* 076CEC 800760EC 0C032760 */ jal func_800C9D80 /* 076CF0 800760F0 26050038 */ addiu $a1, $s0, 0x38 /* 076CF4 800760F4 860200A4 */ lh $v0, 0xa4($s0) /* 076CF8 800760F8 240F012C */ li $t7, 300 /* 076CFC 800760FC 2418003C */ li $t8, 60 /* 076D00 80076100 18400005 */ blez $v0, .L80076118 /* 076D04 80076104 244DFFFF */ addiu $t5, $v0, -1 /* 076D08 80076108 240E005A */ li $t6, 90 /* 076D0C 8007610C A60D00A4 */ sh $t5, 0xa4($s0) /* 076D10 80076110 10000002 */ b .L8007611C /* 076D14 80076114 AE0E004C */ sw $t6, 0x4c($s0) .L80076118: /* 076D18 80076118 AE0F004C */ sw $t7, 0x4c($s0) .L8007611C: /* 076D1C 8007611C AE180048 */ sw $t8, 0x48($s0) .L80076120: /* 076D20 80076120 24040009 */ li $a0, 9 .L80076124: /* 076D24 80076124 0C022A2C */ jal func_8008A8B0 /* 076D28 80076128 2405000B */ li $a1, 11 /* 076D2C 8007612C 14400002 */ bnez $v0, .L80076138 /* 076D30 80076130 24190002 */ li $t9, 2 /* 076D34 80076134 A61900A4 */ sh $t9, 0xa4($s0) .L80076138: /* 076D38 80076138 8FBF001C */ lw $ra, 0x1c($sp) /* 076D3C 8007613C 8FB00018 */ lw $s0, 0x18($sp) /* 076D40 80076140 27BD0028 */ addiu $sp, $sp, 0x28 /* 076D44 80076144 03E00008 */ jr $ra /* 076D48 80076148 00000000 */ nop glabel func_8007614C /* 076D4C 8007614C 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 076D50 80076150 AFB10018 */ sw $s1, 0x18($sp) /* 076D54 80076154 AFB00014 */ sw $s0, 0x14($sp) /* 076D58 80076158 3C108019 */ lui $s0, %hi(D_8018BFA8) # $s0, 0x8019 /* 076D5C 8007615C 3C118019 */ lui $s1, %hi(D_8018BFB8) # $s1, 0x8019 /* 076D60 80076160 AFBF001C */ sw $ra, 0x1c($sp) /* 076D64 80076164 2631BFB8 */ addiu $s1, %lo(D_8018BFB8) # addiu $s1, $s1, -0x4048 /* 076D68 80076168 2610BFA8 */ addiu $s0, %lo(D_8018BFA8) # addiu $s0, $s0, -0x4058 .L8007616C: /* 076D6C 8007616C 0C01D807 */ jal func_8007601C /* 076D70 80076170 8E040000 */ lw $a0, ($s0) /* 076D74 80076174 26100004 */ addiu $s0, $s0, 4 /* 076D78 80076178 1611FFFC */ bne $s0, $s1, .L8007616C /* 076D7C 8007617C 00000000 */ nop /* 076D80 80076180 8FBF001C */ lw $ra, 0x1c($sp) /* 076D84 80076184 8FB00014 */ lw $s0, 0x14($sp) /* 076D88 80076188 8FB10018 */ lw $s1, 0x18($sp) /* 076D8C 8007618C 03E00008 */ jr $ra /* 076D90 80076190 27BD0020 */ addiu $sp, $sp, 0x20 glabel func_80076194 /* 076D94 80076194 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 076D98 80076198 AFA60020 */ sw $a2, 0x20($sp) /* 076D9C 8007619C 00A03025 */ move $a2, $a1 /* 076DA0 800761A0 AFBF0014 */ sw $ra, 0x14($sp) /* 076DA4 800761A4 AFA5001C */ sw $a1, 0x1c($sp) /* 076DA8 800761A8 AFA40018 */ sw $a0, 0x18($sp) /* 076DAC 800761AC AFA70024 */ sw $a3, 0x24($sp) /* 076DB0 800761B0 AFA6001C */ sw $a2, 0x1c($sp) /* 076DB4 800761B4 0C01C8E9 */ jal func_800723A4 /* 076DB8 800761B8 00002825 */ move $a1, $zero /* 076DBC 800761BC 8FAE0018 */ lw $t6, 0x18($sp) /* 076DC0 800761C0 3C188016 */ lui $t8, %hi(D_80165C18) # $t8, 0x8016 /* 076DC4 800761C4 3C013F80 */ li $at, 0x3F800000 # 1.000000 /* 076DC8 800761C8 000E78C0 */ sll $t7, $t6, 3 /* 076DCC 800761CC 01EE7823 */ subu $t7, $t7, $t6 /* 076DD0 800761D0 44812000 */ mtc1 $at, $f4 /* 076DD4 800761D4 000F7940 */ sll $t7, $t7, 5 /* 076DD8 800761D8 27185C18 */ addiu $t8, %lo(D_80165C18) # addiu $t8, $t8, 0x5c18 /* 076DDC 800761DC 8FA6001C */ lw $a2, 0x1c($sp) /* 076DE0 800761E0 01F81021 */ addu $v0, $t7, $t8 /* 076DE4 800761E4 24190004 */ li $t9, 4 /* 076DE8 800761E8 A05900D5 */ sb $t9, 0xd5($v0) /* 076DEC 800761EC E4440000 */ swc1 $f4, ($v0) /* 076DF0 800761F0 C4C60000 */ lwc1 $f6, ($a2) /* 076DF4 800761F4 24080C00 */ li $t0, 3072 /* 076DF8 800761F8 24092100 */ li $t1, 8448 /* 076DFC 800761FC E4460010 */ swc1 $f6, 0x10($v0) /* 076E00 80076200 C4C80004 */ lwc1 $f8, 4($a2) /* 076E04 80076204 3C0A800E */ lui $t2, %hi(gIsMirrorMode) # $t2, 0x800e /* 076E08 80076208 252CC000 */ addiu $t4, $t1, -0x4000 /* 076E0C 8007620C E4480014 */ swc1 $f8, 0x14($v0) /* 076E10 80076210 C4CA0008 */ lwc1 $f10, 8($a2) /* 076E14 80076214 A44800BE */ sh $t0, 0xbe($v0) /* 076E18 80076218 A44000C2 */ sh $zero, 0xc2($v0) /* 076E1C 8007621C A44900C0 */ sh $t1, 0xc0($v0) /* 076E20 80076220 E44A0018 */ swc1 $f10, 0x18($v0) /* 076E24 80076224 8D4AC604 */ lw $t2, %lo(gIsMirrorMode)($t2) /* 076E28 80076228 3C014020 */ li $at, 0x40200000 # 2.500000 /* 076E2C 8007622C 51400003 */ beql $t2, $zero, .L8007623C /* 076E30 80076230 C7B00020 */ lwc1 $f16, 0x20($sp) /* 076E34 80076234 A44C00C0 */ sh $t4, 0xc0($v0) /* 076E38 80076238 C7B00020 */ lwc1 $f16, 0x20($sp) .L8007623C: /* 076E3C 8007623C 44812800 */ mtc1 $at, $f5 /* 076E40 80076240 44802000 */ mtc1 $zero, $f4 /* 076E44 80076244 460084A1 */ cvt.d.s $f18, $f16 /* 076E48 80076248 8FAD0024 */ lw $t5, 0x24($sp) /* 076E4C 8007624C 46249182 */ mul.d $f6, $f18, $f4 /* 076E50 80076250 8FBF0014 */ lw $ra, 0x14($sp) /* 076E54 80076254 240300FF */ li $v1, 255 /* 076E58 80076258 000D7040 */ sll $t6, $t5, 1 /* 076E5C 8007625C A44300A4 */ sh $v1, 0xa4($v0) /* 076E60 80076260 A44300A2 */ sh $v1, 0xa2($v0) /* 076E64 80076264 AC4E0048 */ sw $t6, 0x48($v0) /* 076E68 80076268 27BD0018 */ addiu $sp, $sp, 0x18 /* 076E6C 8007626C 46203220 */ cvt.s.d $f8, $f6 /* 076E70 80076270 03E00008 */ jr $ra /* 076E74 80076274 E4480034 */ swc1 $f8, 0x34($v0) glabel func_80076278 /* 076E78 80076278 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 076E7C 8007627C AFA40020 */ sw $a0, 0x20($sp) /* 076E80 80076280 AFA50024 */ sw $a1, 0x24($sp) /* 076E84 80076284 AFBF0014 */ sw $ra, 0x14($sp) /* 076E88 80076288 AFA60028 */ sw $a2, 0x28($sp) /* 076E8C 8007628C 3C058018 */ lui $a1, %hi(D_80183E38) # $a1, 0x8018 /* 076E90 80076290 3C048019 */ lui $a0, %hi(D_8018C1B0) # $a0, 0x8019 /* 076E94 80076294 2484C1B0 */ addiu $a0, %lo(D_8018C1B0) # addiu $a0, $a0, -0x3e50 /* 076E98 80076298 24A53E38 */ addiu $a1, %lo(D_80183E38) # addiu $a1, $a1, 0x3e38 /* 076E9C 8007629C 0C01C811 */ jal func_80072044 /* 076EA0 800762A0 24060080 */ li $a2, 128 /* 076EA4 800762A4 2401FFFF */ li $at, -1 /* 076EA8 800762A8 10410007 */ beq $v0, $at, .L800762C8 /* 076EAC 800762AC 00402025 */ move $a0, $v0 /* 076EB0 800762B0 8FA50020 */ lw $a1, 0x20($sp) /* 076EB4 800762B4 8FA60024 */ lw $a2, 0x24($sp) /* 076EB8 800762B8 8FA70028 */ lw $a3, 0x28($sp) /* 076EBC 800762BC 0C01D865 */ jal func_80076194 /* 076EC0 800762C0 AFA2001C */ sw $v0, 0x1c($sp) /* 076EC4 800762C4 8FA4001C */ lw $a0, 0x1c($sp) .L800762C8: /* 076EC8 800762C8 8FBF0014 */ lw $ra, 0x14($sp) /* 076ECC 800762CC 27BD0020 */ addiu $sp, $sp, 0x20 /* 076ED0 800762D0 00801025 */ move $v0, $a0 /* 076ED4 800762D4 03E00008 */ jr $ra /* 076ED8 800762D8 00000000 */ nop glabel func_800762DC /* 076EDC 800762DC 27BDFFD0 */ addiu $sp, $sp, -0x30 /* 076EE0 800762E0 F7B40010 */ sdc1 $f20, 0x10($sp) /* 076EE4 800762E4 AFB30028 */ sw $s3, 0x28($sp) /* 076EE8 800762E8 AFB20024 */ sw $s2, 0x24($sp) /* 076EEC 800762EC AFB10020 */ sw $s1, 0x20($sp) /* 076EF0 800762F0 AFB0001C */ sw $s0, 0x1c($sp) /* 076EF4 800762F4 4485A000 */ mtc1 $a1, $f20 /* 076EF8 800762F8 00808825 */ move $s1, $a0 /* 076EFC 800762FC AFBF002C */ sw $ra, 0x2c($sp) /* 076F00 80076300 00008025 */ move $s0, $zero /* 076F04 80076304 2412FFFF */ li $s2, -1 /* 076F08 80076308 24130014 */ li $s3, 20 /* 076F0C 8007630C 4405A000 */ mfc1 $a1, $f20 .L80076310: /* 076F10 80076310 02202025 */ move $a0, $s1 /* 076F14 80076314 0C01D89E */ jal func_80076278 /* 076F18 80076318 02003025 */ move $a2, $s0 /* 076F1C 8007631C 10520003 */ beq $v0, $s2, .L8007632C /* 076F20 80076320 26100001 */ addiu $s0, $s0, 1 /* 076F24 80076324 5613FFFA */ bnel $s0, $s3, .L80076310 /* 076F28 80076328 4405A000 */ mfc1 $a1, $f20 .L8007632C: /* 076F2C 8007632C 8FBF002C */ lw $ra, 0x2c($sp) /* 076F30 80076330 D7B40010 */ ldc1 $f20, 0x10($sp) /* 076F34 80076334 8FB0001C */ lw $s0, 0x1c($sp) /* 076F38 80076338 8FB10020 */ lw $s1, 0x20($sp) /* 076F3C 8007633C 8FB20024 */ lw $s2, 0x24($sp) /* 076F40 80076340 8FB30028 */ lw $s3, 0x28($sp) /* 076F44 80076344 03E00008 */ jr $ra /* 076F48 80076348 27BD0030 */ addiu $sp, $sp, 0x30 glabel func_8007634C /* 076F4C 8007634C 000470C0 */ sll $t6, $a0, 3 /* 076F50 80076350 01C47023 */ subu $t6, $t6, $a0 /* 076F54 80076354 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 076F58 80076358 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 076F5C 8007635C 000E7140 */ sll $t6, $t6, 5 /* 076F60 80076360 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 076F64 80076364 3C030D03 */ lui $v1, %hi(D_0D02BC58) # $v1, 0xd03 /* 076F68 80076368 01CF1021 */ addu $v0, $t6, $t7 /* 076F6C 8007636C 2463BC58 */ addiu $v1, %lo(D_0D02BC58) # addiu $v1, $v1, -0x43a8 /* 076F70 80076370 AFBF0014 */ sw $ra, 0x14($sp) /* 076F74 80076374 241800FF */ li $t8, 255 /* 076F78 80076378 AC430064 */ sw $v1, 0x64($v0) /* 076F7C 8007637C AC43006C */ sw $v1, 0x6c($v0) /* 076F80 80076380 A45800A0 */ sh $t8, 0xa0($v0) /* 076F84 80076384 AFA40018 */ sw $a0, 0x18($sp) /* 076F88 80076388 00002825 */ move $a1, $zero /* 076F8C 8007638C 00003025 */ move $a2, $zero /* 076F90 80076390 0C022E2F */ jal func_8008B8BC /* 076F94 80076394 00003825 */ move $a3, $zero /* 076F98 80076398 44800000 */ mtc1 $zero, $f0 /* 076F9C 8007639C 8FA40018 */ lw $a0, 0x18($sp) /* 076FA0 800763A0 44050000 */ mfc1 $a1, $f0 /* 076FA4 800763A4 44060000 */ mfc1 $a2, $f0 /* 076FA8 800763A8 44070000 */ mfc1 $a3, $f0 /* 076FAC 800763AC 0C022E03 */ jal func_8008B80C /* 076FB0 800763B0 00000000 */ nop /* 076FB4 800763B4 0C01C922 */ jal func_80072488 /* 076FB8 800763B8 8FA40018 */ lw $a0, 0x18($sp) /* 076FBC 800763BC 8FBF0014 */ lw $ra, 0x14($sp) /* 076FC0 800763C0 27BD0018 */ addiu $sp, $sp, 0x18 /* 076FC4 800763C4 03E00008 */ jr $ra /* 076FC8 800763C8 00000000 */ nop glabel func_800763CC /* 076FCC 800763CC 000470C0 */ sll $t6, $a0, 3 /* 076FD0 800763D0 27BDFFD0 */ addiu $sp, $sp, -0x30 /* 076FD4 800763D4 01C47023 */ subu $t6, $t6, $a0 /* 076FD8 800763D8 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 076FDC 800763DC AFB00024 */ sw $s0, 0x24($sp) /* 076FE0 800763E0 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 076FE4 800763E4 000E7140 */ sll $t6, $t6, 5 /* 076FE8 800763E8 01CF8021 */ addu $s0, $t6, $t7 /* 076FEC 800763EC 961800A6 */ lhu $t8, 0xa6($s0) /* 076FF0 800763F0 AFB10028 */ sw $s1, 0x28($sp) /* 076FF4 800763F4 00808825 */ move $s1, $a0 /* 076FF8 800763F8 2F010005 */ sltiu $at, $t8, 5 /* 076FFC 800763FC 10200049 */ beqz $at, .L80076524 /* 077000 80076400 AFBF002C */ sw $ra, 0x2c($sp) /* 077004 80076404 0018C080 */ sll $t8, $t8, 2 /* 077008 80076408 3C01800F */ lui $at, %hi(D_800EEAEC) /* 07700C 8007640C 00380821 */ addu $at, $at, $t8 /* 077010 80076410 8C38EAEC */ lw $t8, %lo(D_800EEAEC)($at) /* 077014 80076414 03000008 */ jr $t8 /* 077018 80076418 00000000 */ nop glabel L8007641C /* 07701C 8007641C 0C01D8D3 */ jal func_8007634C /* 077020 80076420 02202025 */ move $a0, $s1 /* 077024 80076424 10000040 */ b .L80076528 /* 077028 80076428 8FBF002C */ lw $ra, 0x2c($sp) glabel L8007642C /* 07702C 8007642C 02202025 */ move $a0, $s1 /* 077030 80076430 0C01C9E3 */ jal func_8007278C /* 077034 80076434 8E050048 */ lw $a1, 0x48($s0) /* 077038 80076438 5040003B */ beql $v0, $zero, .L80076528 /* 07703C 8007643C 8FBF002C */ lw $ra, 0x2c($sp) /* 077040 80076440 0C021B9C */ jal func_80086E70 /* 077044 80076444 02202025 */ move $a0, $s1 /* 077048 80076448 10000037 */ b .L80076528 /* 07704C 8007644C 8FBF002C */ lw $ra, 0x2c($sp) glabel L80076450 /* 077050 80076450 921900D5 */ lbu $t9, 0xd5($s0) /* 077054 80076454 24010004 */ li $at, 4 /* 077058 80076458 02002025 */ move $a0, $s0 /* 07705C 8007645C 17210010 */ bne $t9, $at, .L800764A0 /* 077060 80076460 3C053F80 */ lui $a1, 0x3f80 /* 077064 80076464 3C063DCC */ lui $a2, (0x3DCCCCCD >> 16) # lui $a2, 0x3dcc /* 077068 80076468 34C6CCCD */ ori $a2, (0x3DCCCCCD & 0xFFFF) # ori $a2, $a2, 0xcccd /* 07706C 8007646C 02002025 */ move $a0, $s0 /* 077070 80076470 0C0104EE */ jal func_800413B8 /* 077074 80076474 3C054080 */ lui $a1, 0x4080 /* 077078 80076478 260400A4 */ addiu $a0, $s0, 0xa4 /* 07707C 8007647C 00002825 */ move $a1, $zero /* 077080 80076480 0C0104A2 */ jal func_80041288 /* 077084 80076484 24060018 */ li $a2, 24 /* 077088 80076488 260400A2 */ addiu $a0, $s0, 0xa2 /* 07708C 8007648C 24050080 */ li $a1, 128 /* 077090 80076490 0C0104A2 */ jal func_80041288 /* 077094 80076494 2406000C */ li $a2, 12 /* 077098 80076498 1000000D */ b .L800764D0 /* 07709C 8007649C 860800AE */ lh $t0, 0xae($s0) .L800764A0: /* 0770A0 800764A0 3C063DCC */ lui $a2, (0x3DCCCCCD >> 16) # lui $a2, 0x3dcc /* 0770A4 800764A4 0C0104EE */ jal func_800413B8 /* 0770A8 800764A8 34C6CCCD */ ori $a2, (0x3DCCCCCD & 0xFFFF) # ori $a2, $a2, 0xcccd /* 0770AC 800764AC 260400A4 */ addiu $a0, $s0, 0xa4 /* 0770B0 800764B0 00002825 */ move $a1, $zero /* 0770B4 800764B4 0C0104A2 */ jal func_80041288 /* 0770B8 800764B8 24060018 */ li $a2, 24 /* 0770BC 800764BC 260400A2 */ addiu $a0, $s0, 0xa2 /* 0770C0 800764C0 24050080 */ li $a1, 128 /* 0770C4 800764C4 0C0104A2 */ jal func_80041288 /* 0770C8 800764C8 2406000C */ li $a2, 12 /* 0770CC 800764CC 860800AE */ lh $t0, 0xae($s0) .L800764D0: /* 0770D0 800764D0 02202025 */ move $a0, $s1 /* 0770D4 800764D4 260500A0 */ addiu $a1, $s0, 0xa0 /* 0770D8 800764D8 29010002 */ slti $at, $t0, 2 /* 0770DC 800764DC 14200011 */ bnez $at, .L80076524 /* 0770E0 800764E0 240600FF */ li $a2, 255 /* 0770E4 800764E4 24090020 */ li $t1, 32 /* 0770E8 800764E8 AFA90010 */ sw $t1, 0x10($sp) /* 0770EC 800764EC 24070050 */ li $a3, 80 /* 0770F0 800764F0 AFA00014 */ sw $zero, 0x14($sp) /* 0770F4 800764F4 0C01CEC0 */ jal func_80073B00 /* 0770F8 800764F8 AFA00018 */ sw $zero, 0x18($sp) /* 0770FC 800764FC 5040000A */ beql $v0, $zero, .L80076528 /* 077100 80076500 8FBF002C */ lw $ra, 0x2c($sp) /* 077104 80076504 0C01C922 */ jal func_80072488 /* 077108 80076508 02202025 */ move $a0, $s1 /* 07710C 8007650C 10000006 */ b .L80076528 /* 077110 80076510 8FBF002C */ lw $ra, 0x2c($sp) glabel L80076514 /* 077114 80076514 0C01C90A */ jal func_80072428 /* 077118 80076518 02202025 */ move $a0, $s1 /* 07711C 8007651C 0C021BD8 */ jal func_80086F60 /* 077120 80076520 02202025 */ move $a0, $s1 .L80076524: glabel L80076524 /* 077124 80076524 8FBF002C */ lw $ra, 0x2c($sp) .L80076528: /* 077128 80076528 8FB00024 */ lw $s0, 0x24($sp) /* 07712C 8007652C 8FB10028 */ lw $s1, 0x28($sp) /* 077130 80076530 03E00008 */ jr $ra /* 077134 80076534 27BD0030 */ addiu $sp, $sp, 0x30 glabel func_80076538 /* 077138 80076538 000470C0 */ sll $t6, $a0, 3 /* 07713C 8007653C 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 077140 80076540 01C47023 */ subu $t6, $t6, $a0 /* 077144 80076544 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 077148 80076548 AFB00014 */ sw $s0, 0x14($sp) /* 07714C 8007654C 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 077150 80076550 000E7140 */ sll $t6, $t6, 5 /* 077154 80076554 01CF8021 */ addu $s0, $t6, $t7 /* 077158 80076558 860300AE */ lh $v1, 0xae($s0) /* 07715C 8007655C AFB10018 */ sw $s1, 0x18($sp) /* 077160 80076560 00808825 */ move $s1, $a0 /* 077164 80076564 AFBF001C */ sw $ra, 0x1c($sp) /* 077168 80076568 10600021 */ beqz $v1, .L800765F0 /* 07716C 8007656C 00601025 */ move $v0, $v1 /* 077170 80076570 24010001 */ li $at, 1 /* 077174 80076574 10410005 */ beq $v0, $at, .L8007658C /* 077178 80076578 24010002 */ li $at, 2 /* 07717C 8007657C 10410018 */ beq $v0, $at, .L800765E0 /* 077180 80076580 260400BE */ addiu $a0, $s0, 0xbe /* 077184 80076584 1000001A */ b .L800765F0 /* 077188 80076588 00000000 */ nop .L8007658C: /* 07718C 8007658C 921800D5 */ lbu $t8, 0xd5($s0) /* 077190 80076590 24010004 */ li $at, 4 /* 077194 80076594 2405000E */ li $a1, 14 /* 077198 80076598 17010009 */ bne $t8, $at, .L800765C0 /* 07719C 8007659C 02202025 */ move $a0, $s1 /* 0771A0 800765A0 0C021C18 */ jal func_80087060 /* 0771A4 800765A4 02202025 */ move $a0, $s1 /* 0771A8 800765A8 1040000B */ beqz $v0, .L800765D8 /* 0771AC 800765AC 00000000 */ nop /* 0771B0 800765B0 0C021BF5 */ jal func_80086FD4 /* 0771B4 800765B4 02202025 */ move $a0, $s1 /* 0771B8 800765B8 10000007 */ b .L800765D8 /* 0771BC 800765BC 00000000 */ nop .L800765C0: /* 0771C0 800765C0 0C021C18 */ jal func_80087060 /* 0771C4 800765C4 24050002 */ li $a1, 2 /* 0771C8 800765C8 10400003 */ beqz $v0, .L800765D8 /* 0771CC 800765CC 00000000 */ nop /* 0771D0 800765D0 0C021BF5 */ jal func_80086FD4 /* 0771D4 800765D4 02202025 */ move $a0, $s1 .L800765D8: /* 0771D8 800765D8 10000005 */ b .L800765F0 /* 0771DC 800765DC 860300AE */ lh $v1, 0xae($s0) .L800765E0: /* 0771E0 800765E0 00002825 */ move $a1, $zero /* 0771E4 800765E4 0C01042F */ jal func_800410BC /* 0771E8 800765E8 24060400 */ li $a2, 1024 /* 0771EC 800765EC 860300AE */ lh $v1, 0xae($s0) .L800765F0: /* 0771F0 800765F0 58600006 */ blezl $v1, .L8007660C /* 0771F4 800765F4 8FBF001C */ lw $ra, 0x1c($sp) /* 0771F8 800765F8 0C021E11 */ jal func_80087844 /* 0771FC 800765FC 02202025 */ move $a0, $s1 /* 077200 80076600 0C022FC6 */ jal func_8008BF18 /* 077204 80076604 02202025 */ move $a0, $s1 /* 077208 80076608 8FBF001C */ lw $ra, 0x1c($sp) .L8007660C: /* 07720C 8007660C 8FB00014 */ lw $s0, 0x14($sp) /* 077210 80076610 8FB10018 */ lw $s1, 0x18($sp) /* 077214 80076614 03E00008 */ jr $ra /* 077218 80076618 27BD0020 */ addiu $sp, $sp, 0x20 glabel func_8007661C /* 07721C 8007661C 27BDFFD0 */ addiu $sp, $sp, -0x30 /* 077220 80076620 AFB10018 */ sw $s1, 0x18($sp) /* 077224 80076624 3C118018 */ lui $s1, %hi(D_80183F28) # $s1, 0x8018 /* 077228 80076628 8E313F28 */ lw $s1, %lo(D_80183F28)($s1) /* 07722C 8007662C 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 077230 80076630 AFB00014 */ sw $s0, 0x14($sp) /* 077234 80076634 001170C0 */ sll $t6, $s1, 3 /* 077238 80076638 01D17023 */ subu $t6, $t6, $s1 /* 07723C 8007663C 000E7140 */ sll $t6, $t6, 5 /* 077240 80076640 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 077244 80076644 01CF8021 */ addu $s0, $t6, $t7 /* 077248 80076648 8E02004C */ lw $v0, 0x4c($s0) /* 07724C 8007664C AFBF001C */ sw $ra, 0x1c($sp) /* 077250 80076650 18400006 */ blez $v0, .L8007666C /* 077254 80076654 2458FFFF */ addiu $t8, $v0, -1 /* 077258 80076658 17000004 */ bnez $t8, .L8007666C /* 07725C 8007665C AE18004C */ sw $t8, 0x4c($s0) /* 077260 80076660 02202025 */ move $a0, $s1 /* 077264 80076664 0C01C8B3 */ jal func_800722CC /* 077268 80076668 24050001 */ li $a1, 1 .L8007666C: /* 07726C 8007666C 8E020048 */ lw $v0, 0x48($s0) /* 077270 80076670 18400007 */ blez $v0, .L80076690 /* 077274 80076674 2448FFFF */ addiu $t0, $v0, -1 /* 077278 80076678 15000005 */ bnez $t0, .L80076690 /* 07727C 8007667C AE080048 */ sw $t0, 0x48($s0) /* 077280 80076680 3C055103 */ lui $a1, (0x51038009 >> 16) # lui $a1, 0x5103 /* 077284 80076684 34A58009 */ ori $a1, (0x51038009 & 0xFFFF) # ori $a1, $a1, 0x8009 /* 077288 80076688 0C0327BD */ jal func_800C9EF4 /* 07728C 8007668C 26040004 */ addiu $a0, $s0, 4 .L80076690: /* 077290 80076690 8E0A004C */ lw $t2, 0x4c($s0) /* 077294 80076694 02202025 */ move $a0, $s1 /* 077298 80076698 3C05443B */ lui $a1, (0x443B8000 >> 16) # lui $a1, 0x443b /* 07729C 8007669C 55400025 */ bnel $t2, $zero, .L80076734 /* 0772A0 800766A0 24040004 */ li $a0, 4 /* 0772A4 800766A4 0C0229B7 */ jal func_8008A6DC /* 0772A8 800766A8 34A58000 */ ori $a1, (0x443B8000 & 0xFFFF) # ori $a1, $a1, 0x8000 /* 0772AC 800766AC 02202025 */ move $a0, $s1 /* 0772B0 800766B0 0C01C88F */ jal func_8007223C /* 0772B4 800766B4 3C050004 */ lui $a1, 4 /* 0772B8 800766B8 1040001D */ beqz $v0, .L80076730 /* 0772BC 800766BC 02202025 */ move $a0, $s1 /* 0772C0 800766C0 0C01C8D5 */ jal func_80072354 /* 0772C4 800766C4 24050001 */ li $a1, 1 /* 0772C8 800766C8 10400019 */ beqz $v0, .L80076730 /* 0772CC 800766CC 02202025 */ move $a0, $s1 /* 0772D0 800766D0 260B0004 */ addiu $t3, $s0, 4 /* 0772D4 800766D4 AFAB0024 */ sw $t3, 0x24($sp) /* 0772D8 800766D8 0C01C8A9 */ jal func_800722A4 /* 0772DC 800766DC 24050001 */ li $a1, 1 /* 0772E0 800766E0 8FB10024 */ lw $s1, 0x24($sp) /* 0772E4 800766E4 3C053F80 */ lui $a1, 0x3f80 /* 0772E8 800766E8 0C01D8B7 */ jal func_800762DC /* 0772EC 800766EC 02202025 */ move $a0, $s1 /* 0772F0 800766F0 3C065103 */ lui $a2, (0x51038009 >> 16) # lui $a2, 0x5103 /* 0772F4 800766F4 34C68009 */ ori $a2, (0x51038009 & 0xFFFF) # ori $a2, $a2, 0x8009 /* 0772F8 800766F8 02202025 */ move $a0, $s1 /* 0772FC 800766FC 0C032760 */ jal func_800C9D80 /* 077300 80076700 26050038 */ addiu $a1, $s0, 0x38 /* 077304 80076704 860200A4 */ lh $v0, 0xa4($s0) /* 077308 80076708 240E012C */ li $t6, 300 /* 07730C 8007670C 240F003C */ li $t7, 60 /* 077310 80076710 18400005 */ blez $v0, .L80076728 /* 077314 80076714 244CFFFF */ addiu $t4, $v0, -1 /* 077318 80076718 240D005A */ li $t5, 90 /* 07731C 8007671C A60C00A4 */ sh $t4, 0xa4($s0) /* 077320 80076720 10000002 */ b .L8007672C /* 077324 80076724 AE0D004C */ sw $t5, 0x4c($s0) .L80076728: /* 077328 80076728 AE0E004C */ sw $t6, 0x4c($s0) .L8007672C: /* 07732C 8007672C AE0F0048 */ sw $t7, 0x48($s0) .L80076730: /* 077330 80076730 24040004 */ li $a0, 4 .L80076734: /* 077334 80076734 0C022A2C */ jal func_8008A8B0 /* 077338 80076738 24050005 */ li $a1, 5 /* 07733C 8007673C 14400002 */ bnez $v0, .L80076748 /* 077340 80076740 24180002 */ li $t8, 2 /* 077344 80076744 A61800A4 */ sh $t8, 0xa4($s0) .L80076748: /* 077348 80076748 8FBF001C */ lw $ra, 0x1c($sp) /* 07734C 8007674C 8FB00014 */ lw $s0, 0x14($sp) /* 077350 80076750 8FB10018 */ lw $s1, 0x18($sp) /* 077354 80076754 03E00008 */ jr $ra /* 077358 80076758 27BD0030 */ addiu $sp, $sp, 0x30 glabel func_8007675C /* 07735C 8007675C 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 077360 80076760 AFBF0014 */ sw $ra, 0x14($sp) /* 077364 80076764 00A03825 */ move $a3, $a1 /* 077368 80076768 AFA40018 */ sw $a0, 0x18($sp) /* 07736C 8007676C AFA60020 */ sw $a2, 0x20($sp) /* 077370 80076770 AFA7001C */ sw $a3, 0x1c($sp) /* 077374 80076774 0C01C8E9 */ jal func_800723A4 /* 077378 80076778 00002825 */ move $a1, $zero /* 07737C 8007677C 8FAE0018 */ lw $t6, 0x18($sp) /* 077380 80076780 3C014100 */ li $at, 0x41000000 # 8.000000 /* 077384 80076784 44810000 */ mtc1 $at, $f0 /* 077388 80076788 000E78C0 */ sll $t7, $t6, 3 /* 07738C 8007678C 3C188016 */ lui $t8, %hi(D_80165C18) # $t8, 0x8016 /* 077390 80076790 3C013F80 */ li $at, 0x3F800000 # 1.000000 /* 077394 80076794 01EE7823 */ subu $t7, $t7, $t6 /* 077398 80076798 44812000 */ mtc1 $at, $f4 /* 07739C 8007679C 000F7940 */ sll $t7, $t7, 5 /* 0773A0 800767A0 27185C18 */ addiu $t8, %lo(D_80165C18) # addiu $t8, $t8, 0x5c18 /* 0773A4 800767A4 8FA7001C */ lw $a3, 0x1c($sp) /* 0773A8 800767A8 01F81021 */ addu $v0, $t7, $t8 /* 0773AC 800767AC 24190009 */ li $t9, 9 /* 0773B0 800767B0 A05900D5 */ sb $t9, 0xd5($v0) /* 0773B4 800767B4 E4440000 */ swc1 $f4, ($v0) /* 0773B8 800767B8 84E80000 */ lh $t0, ($a3) /* 0773BC 800767BC 8FBF0014 */ lw $ra, 0x14($sp) /* 0773C0 800767C0 8FAD0020 */ lw $t5, 0x20($sp) /* 0773C4 800767C4 44883000 */ mtc1 $t0, $f6 /* 0773C8 800767C8 240300FF */ li $v1, 255 /* 0773CC 800767CC 240B0C00 */ li $t3, 3072 /* 0773D0 800767D0 46803220 */ cvt.s.w $f8, $f6 /* 0773D4 800767D4 240C2100 */ li $t4, 8448 /* 0773D8 800767D8 E4480010 */ swc1 $f8, 0x10($v0) /* 0773DC 800767DC 84E90002 */ lh $t1, 2($a3) /* 0773E0 800767E0 44895000 */ mtc1 $t1, $f10 /* 0773E4 800767E4 00000000 */ nop /* 0773E8 800767E8 46805420 */ cvt.s.w $f16, $f10 /* 0773EC 800767EC E4500014 */ swc1 $f16, 0x14($v0) /* 0773F0 800767F0 84EA0004 */ lh $t2, 4($a3) /* 0773F4 800767F4 A44B00BE */ sh $t3, 0xbe($v0) /* 0773F8 800767F8 A44C00C0 */ sh $t4, 0xc0($v0) /* 0773FC 800767FC 448A9000 */ mtc1 $t2, $f18 /* 077400 80076800 A44000C2 */ sh $zero, 0xc2($v0) /* 077404 80076804 A44300A4 */ sh $v1, 0xa4($v0) /* 077408 80076808 46809120 */ cvt.s.w $f4, $f18 /* 07740C 8007680C A44300A2 */ sh $v1, 0xa2($v0) /* 077410 80076810 27BD0018 */ addiu $sp, $sp, 0x18 /* 077414 80076814 E4400034 */ swc1 $f0, 0x34($v0) /* 077418 80076818 E440003C */ swc1 $f0, 0x3c($v0) /* 07741C 8007681C AC4D0048 */ sw $t5, 0x48($v0) /* 077420 80076820 03E00008 */ jr $ra /* 077424 80076824 E4440018 */ swc1 $f4, 0x18($v0) glabel func_80076828 /* 077428 80076828 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 07742C 8007682C AFA40020 */ sw $a0, 0x20($sp) /* 077430 80076830 AFA50024 */ sw $a1, 0x24($sp) /* 077434 80076834 AFBF0014 */ sw $ra, 0x14($sp) /* 077438 80076838 3C058018 */ lui $a1, %hi(D_80183E38) # $a1, 0x8018 /* 07743C 8007683C 3C048019 */ lui $a0, %hi(D_8018C1B0) # $a0, 0x8019 /* 077440 80076840 2484C1B0 */ addiu $a0, %lo(D_8018C1B0) # addiu $a0, $a0, -0x3e50 /* 077444 80076844 24A53E38 */ addiu $a1, %lo(D_80183E38) # addiu $a1, $a1, 0x3e38 /* 077448 80076848 0C01C811 */ jal func_80072044 /* 07744C 8007684C 24060080 */ li $a2, 128 /* 077450 80076850 2401FFFF */ li $at, -1 /* 077454 80076854 10410006 */ beq $v0, $at, .L80076870 /* 077458 80076858 00402025 */ move $a0, $v0 /* 07745C 8007685C 8FA50020 */ lw $a1, 0x20($sp) /* 077460 80076860 8FA60024 */ lw $a2, 0x24($sp) /* 077464 80076864 0C01D9D7 */ jal func_8007675C /* 077468 80076868 AFA2001C */ sw $v0, 0x1c($sp) /* 07746C 8007686C 8FA4001C */ lw $a0, 0x1c($sp) .L80076870: /* 077470 80076870 8FBF0014 */ lw $ra, 0x14($sp) /* 077474 80076874 27BD0020 */ addiu $sp, $sp, 0x20 /* 077478 80076878 00801025 */ move $v0, $a0 /* 07747C 8007687C 03E00008 */ jr $ra /* 077480 80076880 00000000 */ nop /* 077484 80076884 27BDFFC8 */ addiu $sp, $sp, -0x38 /* 077488 80076888 AFB00014 */ sw $s0, 0x14($sp) /* 07748C 8007688C 00808025 */ move $s0, $a0 /* 077490 80076890 AFBF0024 */ sw $ra, 0x24($sp) /* 077494 80076894 AFB30020 */ sw $s3, 0x20($sp) /* 077498 80076898 AFB2001C */ sw $s2, 0x1c($sp) /* 07749C 8007689C AFB10018 */ sw $s1, 0x18($sp) /* 0774A0 800768A0 0C0ADF8D */ jal random_int /* 0774A4 800768A4 2404000F */ li $a0, 15 /* 0774A8 800768A8 12000009 */ beqz $s0, .L800768D0 /* 0774AC 800768AC 2411FFFF */ li $s1, -1 /* 0774B0 800768B0 24130001 */ li $s3, 1 /* 0774B4 800768B4 1213000E */ beq $s0, $s3, .L800768F0 /* 0774B8 800768B8 0002C880 */ sll $t9, $v0, 2 /* 0774BC 800768BC 24010002 */ li $at, 2 /* 0774C0 800768C0 12010011 */ beq $s0, $at, .L80076908 /* 0774C4 800768C4 00025080 */ sll $t2, $v0, 2 /* 0774C8 800768C8 10000014 */ b .L8007691C /* 0774CC 800768CC 8FB20028 */ lw $s2, 0x28($sp) .L800768D0: /* 0774D0 800768D0 00027080 */ sll $t6, $v0, 2 /* 0774D4 800768D4 01C27023 */ subu $t6, $t6, $v0 /* 0774D8 800768D8 3C18800E */ lui $t8, %hi(D_800E5740) # $t8, 0x800e /* 0774DC 800768DC 27185740 */ addiu $t8, %lo(D_800E5740) # addiu $t8, $t8, 0x5740 /* 0774E0 800768E0 000E7840 */ sll $t7, $t6, 1 /* 0774E4 800768E4 01F89021 */ addu $s2, $t7, $t8 /* 0774E8 800768E8 1000000C */ b .L8007691C /* 0774EC 800768EC 24130001 */ li $s3, 1 .L800768F0: /* 0774F0 800768F0 0322C823 */ subu $t9, $t9, $v0 /* 0774F4 800768F4 3C09800E */ lui $t1, %hi(D_800E579C) # $t1, 0x800e /* 0774F8 800768F8 2529579C */ addiu $t1, %lo(D_800E579C) # addiu $t1, $t1, 0x579c /* 0774FC 800768FC 00194040 */ sll $t0, $t9, 1 /* 077500 80076900 10000006 */ b .L8007691C /* 077504 80076904 01099021 */ addu $s2, $t0, $t1 .L80076908: /* 077508 80076908 01425023 */ subu $t2, $t2, $v0 /* 07750C 8007690C 3C0C800E */ lui $t4, %hi(D_800E57F8) # $t4, 0x800e /* 077510 80076910 258C57F8 */ addiu $t4, %lo(D_800E57F8) # addiu $t4, $t4, 0x57f8 /* 077514 80076914 000A5840 */ sll $t3, $t2, 1 /* 077518 80076918 016C9021 */ addu $s2, $t3, $t4 .L8007691C: /* 07751C 8007691C 00008025 */ move $s0, $zero /* 077520 80076920 02402025 */ move $a0, $s2 .L80076924: /* 077524 80076924 0C01DA0A */ jal func_80076828 /* 077528 80076928 02002825 */ move $a1, $s0 /* 07752C 8007692C 10510003 */ beq $v0, $s1, .L8007693C /* 077530 80076930 26100001 */ addiu $s0, $s0, 1 /* 077534 80076934 5613FFFB */ bnel $s0, $s3, .L80076924 /* 077538 80076938 02402025 */ move $a0, $s2 .L8007693C: /* 07753C 8007693C 8FBF0024 */ lw $ra, 0x24($sp) /* 077540 80076940 8FB00014 */ lw $s0, 0x14($sp) /* 077544 80076944 8FB10018 */ lw $s1, 0x18($sp) /* 077548 80076948 8FB2001C */ lw $s2, 0x1c($sp) /* 07754C 8007694C 8FB30020 */ lw $s3, 0x20($sp) /* 077550 80076950 03E00008 */ jr $ra /* 077554 80076954 27BD0038 */ addiu $sp, $sp, 0x38 glabel func_80076958 /* 077558 80076958 000470C0 */ sll $t6, $a0, 3 /* 07755C 8007695C 01C47023 */ subu $t6, $t6, $a0 /* 077560 80076960 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 077564 80076964 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 077568 80076968 000E7140 */ sll $t6, $t6, 5 /* 07756C 8007696C 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 077570 80076970 3C030D03 */ lui $v1, %hi(D_0D02BC58) # $v1, 0xd03 /* 077574 80076974 01CF1021 */ addu $v0, $t6, $t7 /* 077578 80076978 2463BC58 */ addiu $v1, %lo(D_0D02BC58) # addiu $v1, $v1, -0x43a8 /* 07757C 8007697C AFBF0014 */ sw $ra, 0x14($sp) /* 077580 80076980 241800FF */ li $t8, 255 /* 077584 80076984 AC430064 */ sw $v1, 0x64($v0) /* 077588 80076988 AC43006C */ sw $v1, 0x6c($v0) /* 07758C 8007698C A45800A0 */ sh $t8, 0xa0($v0) /* 077590 80076990 AFA40018 */ sw $a0, 0x18($sp) /* 077594 80076994 00002825 */ move $a1, $zero /* 077598 80076998 00003025 */ move $a2, $zero /* 07759C 8007699C 0C022E2F */ jal func_8008B8BC /* 0775A0 800769A0 00003825 */ move $a3, $zero /* 0775A4 800769A4 44800000 */ mtc1 $zero, $f0 /* 0775A8 800769A8 8FA40018 */ lw $a0, 0x18($sp) /* 0775AC 800769AC 44050000 */ mfc1 $a1, $f0 /* 0775B0 800769B0 44060000 */ mfc1 $a2, $f0 /* 0775B4 800769B4 44070000 */ mfc1 $a3, $f0 /* 0775B8 800769B8 0C022E03 */ jal func_8008B80C /* 0775BC 800769BC 00000000 */ nop /* 0775C0 800769C0 0C01C922 */ jal func_80072488 /* 0775C4 800769C4 8FA40018 */ lw $a0, 0x18($sp) /* 0775C8 800769C8 8FBF0014 */ lw $ra, 0x14($sp) /* 0775CC 800769CC 27BD0018 */ addiu $sp, $sp, 0x18 /* 0775D0 800769D0 03E00008 */ jr $ra /* 0775D4 800769D4 00000000 */ nop glabel func_800769D8 /* 0775D8 800769D8 000470C0 */ sll $t6, $a0, 3 /* 0775DC 800769DC 27BDFFD0 */ addiu $sp, $sp, -0x30 /* 0775E0 800769E0 01C47023 */ subu $t6, $t6, $a0 /* 0775E4 800769E4 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 0775E8 800769E8 AFB00024 */ sw $s0, 0x24($sp) /* 0775EC 800769EC 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 0775F0 800769F0 000E7140 */ sll $t6, $t6, 5 /* 0775F4 800769F4 01CF8021 */ addu $s0, $t6, $t7 /* 0775F8 800769F8 961800A6 */ lhu $t8, 0xa6($s0) /* 0775FC 800769FC AFB10028 */ sw $s1, 0x28($sp) /* 077600 80076A00 00808825 */ move $s1, $a0 /* 077604 80076A04 2F010005 */ sltiu $at, $t8, 5 /* 077608 80076A08 10200033 */ beqz $at, .L80076AD8 /* 07760C 80076A0C AFBF002C */ sw $ra, 0x2c($sp) /* 077610 80076A10 0018C080 */ sll $t8, $t8, 2 /* 077614 80076A14 3C01800F */ lui $at, %hi(D_800EEB00) # 0x800f /* 077618 80076A18 00380821 */ addu $at, $at, $t8 /* 07761C 80076A1C 8C38EB00 */ lw $t8, %lo(D_800EEB00)($at) # -0x1500($at) /* 077620 80076A20 03000008 */ jr $t8 /* 077624 80076A24 00000000 */ nop glabel L80076A28 /* 077628 80076A28 0C01DA56 */ jal func_80076958 /* 07762C 80076A2C 02202025 */ move $a0, $s1 /* 077630 80076A30 1000002A */ b .L80076ADC /* 077634 80076A34 8FBF002C */ lw $ra, 0x2c($sp) glabel L80076A38 /* 077638 80076A38 02202025 */ move $a0, $s1 /* 07763C 80076A3C 0C01C9E3 */ jal func_8007278C /* 077640 80076A40 8E050048 */ lw $a1, 0x48($s0) /* 077644 80076A44 50400025 */ beql $v0, $zero, .L80076ADC /* 077648 80076A48 8FBF002C */ lw $ra, 0x2c($sp) /* 07764C 80076A4C 0C021B9C */ jal func_80086E70 /* 077650 80076A50 02202025 */ move $a0, $s1 /* 077654 80076A54 10000021 */ b .L80076ADC /* 077658 80076A58 8FBF002C */ lw $ra, 0x2c($sp) glabel L80076A5C /* 07765C 80076A5C 3C063D4C */ lui $a2, (0x3D4CCCCD >> 16) # lui $a2, 0x3d4c /* 077660 80076A60 34C6CCCD */ ori $a2, (0x3D4CCCCD & 0xFFFF) # ori $a2, $a2, 0xcccd /* 077664 80076A64 02002025 */ move $a0, $s0 /* 077668 80076A68 0C0104EE */ jal func_800413B8 /* 07766C 80076A6C 3C054000 */ lui $a1, 0x4000 /* 077670 80076A70 260400A4 */ addiu $a0, $s0, 0xa4 /* 077674 80076A74 00002825 */ move $a1, $zero /* 077678 80076A78 0C0104A2 */ jal func_80041288 /* 07767C 80076A7C 24060018 */ li $a2, 24 /* 077680 80076A80 861900AE */ lh $t9, 0xae($s0) /* 077684 80076A84 02202025 */ move $a0, $s1 /* 077688 80076A88 260500A0 */ addiu $a1, $s0, 0xa0 /* 07768C 80076A8C 2B210002 */ slti $at, $t9, 2 /* 077690 80076A90 14200011 */ bnez $at, .L80076AD8 /* 077694 80076A94 240600FF */ li $a2, 255 /* 077698 80076A98 24080020 */ li $t0, 32 /* 07769C 80076A9C AFA80010 */ sw $t0, 0x10($sp) /* 0776A0 80076AA0 24070050 */ li $a3, 80 /* 0776A4 80076AA4 AFA00014 */ sw $zero, 0x14($sp) /* 0776A8 80076AA8 0C01CEC0 */ jal func_80073B00 /* 0776AC 80076AAC AFA00018 */ sw $zero, 0x18($sp) /* 0776B0 80076AB0 5040000A */ beql $v0, $zero, .L80076ADC /* 0776B4 80076AB4 8FBF002C */ lw $ra, 0x2c($sp) /* 0776B8 80076AB8 0C01C922 */ jal func_80072488 /* 0776BC 80076ABC 02202025 */ move $a0, $s1 /* 0776C0 80076AC0 10000006 */ b .L80076ADC /* 0776C4 80076AC4 8FBF002C */ lw $ra, 0x2c($sp) glabel L80076AC8 /* 0776C8 80076AC8 0C01C90A */ jal func_80072428 /* 0776CC 80076ACC 02202025 */ move $a0, $s1 /* 0776D0 80076AD0 0C021BD8 */ jal func_80086F60 /* 0776D4 80076AD4 02202025 */ move $a0, $s1 .L80076AD8: glabel L80076AD8 /* 0776D8 80076AD8 8FBF002C */ lw $ra, 0x2c($sp) .L80076ADC: /* 0776DC 80076ADC 8FB00024 */ lw $s0, 0x24($sp) /* 0776E0 80076AE0 8FB10028 */ lw $s1, 0x28($sp) /* 0776E4 80076AE4 03E00008 */ jr $ra /* 0776E8 80076AE8 27BD0030 */ addiu $sp, $sp, 0x30 glabel func_80076AEC /* 0776EC 80076AEC 000470C0 */ sll $t6, $a0, 3 /* 0776F0 80076AF0 01C47023 */ subu $t6, $t6, $a0 /* 0776F4 80076AF4 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 0776F8 80076AF8 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 0776FC 80076AFC 000E7140 */ sll $t6, $t6, 5 /* 077700 80076B00 01CF3021 */ addu $a2, $t6, $t7 /* 077704 80076B04 84C300AE */ lh $v1, 0xae($a2) /* 077708 80076B08 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 07770C 80076B0C AFB00018 */ sw $s0, 0x18($sp) /* 077710 80076B10 00808025 */ move $s0, $a0 /* 077714 80076B14 AFBF001C */ sw $ra, 0x1c($sp) /* 077718 80076B18 1060000D */ beqz $v1, .L80076B50 /* 07771C 80076B1C 00601025 */ move $v0, $v1 /* 077720 80076B20 24010001 */ li $at, 1 /* 077724 80076B24 1441000A */ bne $v0, $at, .L80076B50 /* 077728 80076B28 2405000A */ li $a1, 10 /* 07772C 80076B2C 0C021C18 */ jal func_80087060 /* 077730 80076B30 AFA60020 */ sw $a2, 0x20($sp) /* 077734 80076B34 10400005 */ beqz $v0, .L80076B4C /* 077738 80076B38 8FA60020 */ lw $a2, 0x20($sp) /* 07773C 80076B3C 02002025 */ move $a0, $s0 /* 077740 80076B40 0C021BF5 */ jal func_80086FD4 /* 077744 80076B44 AFA60020 */ sw $a2, 0x20($sp) /* 077748 80076B48 8FA60020 */ lw $a2, 0x20($sp) .L80076B4C: /* 07774C 80076B4C 84C300AE */ lh $v1, 0xae($a2) .L80076B50: /* 077750 80076B50 58600006 */ blezl $v1, .L80076B6C /* 077754 80076B54 8FBF001C */ lw $ra, 0x1c($sp) /* 077758 80076B58 0C021DF1 */ jal func_800877C4 /* 07775C 80076B5C 02002025 */ move $a0, $s0 /* 077760 80076B60 0C022FC6 */ jal func_8008BF18 /* 077764 80076B64 02002025 */ move $a0, $s0 /* 077768 80076B68 8FBF001C */ lw $ra, 0x1c($sp) .L80076B6C: /* 07776C 80076B6C 8FB00018 */ lw $s0, 0x18($sp) /* 077770 80076B70 27BD0028 */ addiu $sp, $sp, 0x28 /* 077774 80076B74 03E00008 */ jr $ra /* 077778 80076B78 00000000 */ nop /* 07777C 80076B7C 03E00008 */ jr $ra /* 077780 80076B80 00000000 */ nop glabel func_80076B84 /* 077784 80076B84 27BDFFC0 */ addiu $sp, $sp, -0x40 /* 077788 80076B88 AFBF003C */ sw $ra, 0x3c($sp) /* 07778C 80076B8C AFBE0038 */ sw $fp, 0x38($sp) /* 077790 80076B90 AFB70034 */ sw $s7, 0x34($sp) /* 077794 80076B94 AFB60030 */ sw $s6, 0x30($sp) /* 077798 80076B98 AFB5002C */ sw $s5, 0x2c($sp) /* 07779C 80076B9C AFB40028 */ sw $s4, 0x28($sp) /* 0777A0 80076BA0 AFB30024 */ sw $s3, 0x24($sp) /* 0777A4 80076BA4 AFB20020 */ sw $s2, 0x20($sp) /* 0777A8 80076BA8 AFB1001C */ sw $s1, 0x1c($sp) /* 0777AC 80076BAC 0C01D987 */ jal func_8007661C /* 0777B0 80076BB0 AFB00018 */ sw $s0, 0x18($sp) /* 0777B4 80076BB4 0C01D853 */ jal func_8007614C /* 0777B8 80076BB8 00000000 */ nop /* 0777BC 80076BBC 3C128019 */ lui $s2, %hi(D_8018C1B0) # $s2, 0x8019 /* 0777C0 80076BC0 3C1E8019 */ lui $fp, %hi(D_8018C3B0) # $fp, 0x8019 /* 0777C4 80076BC4 3C148016 */ lui $s4, %hi(D_80165C18) # $s4, 0x8016 /* 0777C8 80076BC8 26945C18 */ addiu $s4, %lo(D_80165C18) # addiu $s4, $s4, 0x5c18 /* 0777CC 80076BCC 27DEC3B0 */ addiu $fp, %lo(D_8018C3B0) # addiu $fp, $fp, -0x3c50 /* 0777D0 80076BD0 2652C1B0 */ addiu $s2, %lo(D_8018C1B0) # addiu $s2, $s2, -0x3e50 /* 0777D4 80076BD4 24170005 */ li $s7, 5 /* 0777D8 80076BD8 24160004 */ li $s6, 4 /* 0777DC 80076BDC 241500E0 */ li $s5, 224 /* 0777E0 80076BE0 2413FFFF */ li $s3, -1 /* 0777E4 80076BE4 8E500000 */ lw $s0, ($s2) .L80076BE8: /* 0777E8 80076BE8 5213001E */ beql $s0, $s3, .L80076C64 /* 0777EC 80076BEC 26520004 */ addiu $s2, $s2, 4 /* 0777F0 80076BF0 02150019 */ multu $s0, $s5 /* 0777F4 80076BF4 00007012 */ mflo $t6 /* 0777F8 80076BF8 028E8821 */ addu $s1, $s4, $t6 /* 0777FC 80076BFC 862300A6 */ lh $v1, 0xa6($s1) /* 077800 80076C00 50600018 */ beql $v1, $zero, .L80076C64 /* 077804 80076C04 26520004 */ addiu $s2, $s2, 4 /* 077808 80076C08 922200D5 */ lbu $v0, 0xd5($s1) /* 07780C 80076C0C 12C20003 */ beq $s6, $v0, .L80076C1C /* 077810 80076C10 00000000 */ nop /* 077814 80076C14 16E20007 */ bne $s7, $v0, .L80076C34 /* 077818 80076C18 24010009 */ li $at, 9 .L80076C1C: /* 07781C 80076C1C 0C01D8F3 */ jal func_800763CC /* 077820 80076C20 02002025 */ move $a0, $s0 /* 077824 80076C24 0C01D94E */ jal func_80076538 /* 077828 80076C28 02002025 */ move $a0, $s0 /* 07782C 80076C2C 10000008 */ b .L80076C50 /* 077830 80076C30 862300A6 */ lh $v1, 0xa6($s1) .L80076C34: /* 077834 80076C34 14410006 */ bne $v0, $at, .L80076C50 /* 077838 80076C38 00000000 */ nop /* 07783C 80076C3C 0C01DA76 */ jal func_800769D8 /* 077840 80076C40 02002025 */ move $a0, $s0 /* 077844 80076C44 0C01DABB */ jal func_80076AEC /* 077848 80076C48 02002025 */ move $a0, $s0 /* 07784C 80076C4C 862300A6 */ lh $v1, 0xa6($s1) .L80076C50: /* 077850 80076C50 54600004 */ bnel $v1, $zero, .L80076C64 /* 077854 80076C54 26520004 */ addiu $s2, $s2, 4 /* 077858 80076C58 0C01C840 */ jal func_80072100 /* 07785C 80076C5C 02402025 */ move $a0, $s2 /* 077860 80076C60 26520004 */ addiu $s2, $s2, 4 .L80076C64: /* 077864 80076C64 565EFFE0 */ bnel $s2, $fp, .L80076BE8 /* 077868 80076C68 8E500000 */ lw $s0, ($s2) /* 07786C 80076C6C 8FBF003C */ lw $ra, 0x3c($sp) /* 077870 80076C70 8FB00018 */ lw $s0, 0x18($sp) /* 077874 80076C74 8FB1001C */ lw $s1, 0x1c($sp) /* 077878 80076C78 8FB20020 */ lw $s2, 0x20($sp) /* 07787C 80076C7C 8FB30024 */ lw $s3, 0x24($sp) /* 077880 80076C80 8FB40028 */ lw $s4, 0x28($sp) /* 077884 80076C84 8FB5002C */ lw $s5, 0x2c($sp) /* 077888 80076C88 8FB60030 */ lw $s6, 0x30($sp) /* 07788C 80076C8C 8FB70034 */ lw $s7, 0x34($sp) /* 077890 80076C90 8FBE0038 */ lw $fp, 0x38($sp) /* 077894 80076C94 03E00008 */ jr $ra /* 077898 80076C98 27BD0040 */ addiu $sp, $sp, 0x40 glabel func_80076C9C /* 07789C 80076C9C 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 0778A0 80076CA0 AFBF001C */ sw $ra, 0x1c($sp) /* 0778A4 80076CA4 AFB00018 */ sw $s0, 0x18($sp) /* 0778A8 80076CA8 AFA5002C */ sw $a1, 0x2c($sp) /* 0778AC 80076CAC 00067400 */ sll $t6, $a2, 0x10 /* 0778B0 80076CB0 000E2C03 */ sra $a1, $t6, 0x10 /* 0778B4 80076CB4 00808025 */ move $s0, $a0 /* 0778B8 80076CB8 0C01C8E9 */ jal func_800723A4 /* 0778BC 80076CBC AFA60030 */ sw $a2, 0x30($sp) /* 0778C0 80076CC0 0010C0C0 */ sll $t8, $s0, 3 /* 0778C4 80076CC4 0310C023 */ subu $t8, $t8, $s0 /* 0778C8 80076CC8 3C198016 */ lui $t9, %hi(D_80165C18) # $t9, 0x8016 /* 0778CC 80076CCC 27395C18 */ addiu $t9, %lo(D_80165C18) # addiu $t9, $t9, 0x5c18 /* 0778D0 80076CD0 0018C140 */ sll $t8, $t8, 5 /* 0778D4 80076CD4 3C080D03 */ lui $t0, %hi(D_0D02BC58) # $t0, 0xd03 /* 0778D8 80076CD8 03191021 */ addu $v0, $t8, $t9 /* 0778DC 80076CDC 2508BC58 */ addiu $t0, %lo(D_0D02BC58) # addiu $t0, $t0, -0x43a8 /* 0778E0 80076CE0 2409000A */ li $t1, 10 /* 0778E4 80076CE4 A04900D5 */ sb $t1, 0xd5($v0) /* 0778E8 80076CE8 AC480064 */ sw $t0, 0x64($v0) /* 0778EC 80076CEC AC48006C */ sw $t0, 0x6c($v0) /* 0778F0 80076CF0 3C01800F */ lui $at, %hi(D_800EEB14) # $at, 0x800f /* 0778F4 80076CF4 C424EB14 */ lwc1 $f4, %lo(D_800EEB14)($at) /* 0778F8 80076CF8 8FA3002C */ lw $v1, 0x2c($sp) /* 0778FC 80076CFC 02002025 */ move $a0, $s0 /* 077900 80076D00 E4440000 */ swc1 $f4, ($v0) /* 077904 80076D04 8C670008 */ lw $a3, 8($v1) /* 077908 80076D08 8C660004 */ lw $a2, 4($v1) /* 07790C 80076D0C 8C650000 */ lw $a1, ($v1) /* 077910 80076D10 0C022DF5 */ jal func_8008B7D4 /* 077914 80076D14 AFA20020 */ sw $v0, 0x20($sp) /* 077918 80076D18 8FA20020 */ lw $v0, 0x20($sp) /* 07791C 80076D1C 44800000 */ mtc1 $zero, $f0 /* 077920 80076D20 240A00FF */ li $t2, 255 /* 077924 80076D24 02002025 */ move $a0, $s0 /* 077928 80076D28 00002825 */ move $a1, $zero /* 07792C 80076D2C 00003025 */ move $a2, $zero /* 077930 80076D30 00003825 */ move $a3, $zero /* 077934 80076D34 A44A00A4 */ sh $t2, 0xa4($v0) /* 077938 80076D38 0C022E2F */ jal func_8008B8BC /* 07793C 80076D3C E4400034 */ swc1 $f0, 0x34($v0) /* 077940 80076D40 44800000 */ mtc1 $zero, $f0 /* 077944 80076D44 02002025 */ move $a0, $s0 /* 077948 80076D48 44050000 */ mfc1 $a1, $f0 /* 07794C 80076D4C 44060000 */ mfc1 $a2, $f0 /* 077950 80076D50 44070000 */ mfc1 $a3, $f0 /* 077954 80076D54 0C022E03 */ jal func_8008B80C /* 077958 80076D58 00000000 */ nop /* 07795C 80076D5C 8FBF001C */ lw $ra, 0x1c($sp) /* 077960 80076D60 8FB00018 */ lw $s0, 0x18($sp) /* 077964 80076D64 27BD0028 */ addiu $sp, $sp, 0x28 /* 077968 80076D68 03E00008 */ jr $ra /* 07796C 80076D6C 00000000 */ nop glabel func_80076D70 /* 077970 80076D70 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 077974 80076D74 AFA40018 */ sw $a0, 0x18($sp) /* 077978 80076D78 AFA5001C */ sw $a1, 0x1c($sp) /* 07797C 80076D7C AFBF0014 */ sw $ra, 0x14($sp) /* 077980 80076D80 AFA60020 */ sw $a2, 0x20($sp) /* 077984 80076D84 3C058018 */ lui $a1, %hi(D_80183E6C) # $a1, 0x8018 /* 077988 80076D88 3C048019 */ lui $a0, %hi(D_8018C870) # $a0, 0x8019 /* 07798C 80076D8C 2484C870 */ addiu $a0, %lo(D_8018C870) # addiu $a0, $a0, -0x3790 /* 077990 80076D90 24A53E6C */ addiu $a1, %lo(D_80183E6C) # addiu $a1, $a1, 0x3e6c /* 077994 80076D94 0C01C811 */ jal func_80072044 /* 077998 80076D98 24060040 */ li $a2, 64 /* 07799C 80076D9C 2401FFFF */ li $at, -1 /* 0779A0 80076DA0 10410004 */ beq $v0, $at, .L80076DB4 /* 0779A4 80076DA4 00402025 */ move $a0, $v0 /* 0779A8 80076DA8 8FA50018 */ lw $a1, 0x18($sp) /* 0779AC 80076DAC 0C01DB27 */ jal func_80076C9C /* 0779B0 80076DB0 87A60022 */ lh $a2, 0x22($sp) .L80076DB4: /* 0779B4 80076DB4 8FBF0014 */ lw $ra, 0x14($sp) /* 0779B8 80076DB8 27BD0018 */ addiu $sp, $sp, 0x18 /* 0779BC 80076DBC 03E00008 */ jr $ra /* 0779C0 80076DC0 00000000 */ nop glabel func_80076DC4 /* 0779C4 80076DC4 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0779C8 80076DC8 AFBF0014 */ sw $ra, 0x14($sp) /* 0779CC 80076DCC 0C01C922 */ jal func_80072488 /* 0779D0 80076DD0 AFA40018 */ sw $a0, 0x18($sp) /* 0779D4 80076DD4 8FA40018 */ lw $a0, 0x18($sp) /* 0779D8 80076DD8 3C0F8016 */ lui $t7, %hi(D_80165CED) # 0x8016 /* 0779DC 80076DDC 2401000B */ li $at, 11 /* 0779E0 80076DE0 000470C0 */ sll $t6, $a0, 3 /* 0779E4 80076DE4 01C47023 */ subu $t6, $t6, $a0 /* 0779E8 80076DE8 000E7140 */ sll $t6, $t6, 5 /* 0779EC 80076DEC 01EE7821 */ addu $t7, $t7, $t6 /* 0779F0 80076DF0 91EF5CED */ lbu $t7, %lo(D_80165CED)($t7) # 0x5ced($t7) /* 0779F4 80076DF4 51E10004 */ beql $t7, $at, .L80076E08 /* 0779F8 80076DF8 8FBF0014 */ lw $ra, 0x14($sp) /* 0779FC 80076DFC 0C021B9C */ jal func_80086E70 /* 077A00 80076E00 00000000 */ nop /* 077A04 80076E04 8FBF0014 */ lw $ra, 0x14($sp) .L80076E08: /* 077A08 80076E08 27BD0018 */ addiu $sp, $sp, 0x18 /* 077A0C 80076E0C 03E00008 */ jr $ra /* 077A10 80076E10 00000000 */ nop glabel func_80076E14 /* 077A14 80076E14 000470C0 */ sll $t6, $a0, 3 /* 077A18 80076E18 01C47023 */ subu $t6, $t6, $a0 /* 077A1C 80076E1C 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 077A20 80076E20 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 077A24 80076E24 000E7140 */ sll $t6, $t6, 5 /* 077A28 80076E28 01CF1821 */ addu $v1, $t6, $t7 /* 077A2C 80076E2C 846200A6 */ lh $v0, 0xa6($v1) /* 077A30 80076E30 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 077A34 80076E34 AFBF0024 */ sw $ra, 0x24($sp) /* 077A38 80076E38 10400023 */ beqz $v0, .L80076EC8 /* 077A3C 80076E3C 24010001 */ li $at, 1 /* 077A40 80076E40 10410007 */ beq $v0, $at, .L80076E60 /* 077A44 80076E44 24010002 */ li $at, 2 /* 077A48 80076E48 10410009 */ beq $v0, $at, .L80076E70 /* 077A4C 80076E4C 24010003 */ li $at, 3 /* 077A50 80076E50 10410019 */ beq $v0, $at, .L80076EB8 /* 077A54 80076E54 00000000 */ nop /* 077A58 80076E58 1000001C */ b .L80076ECC /* 077A5C 80076E5C 8FBF0024 */ lw $ra, 0x24($sp) .L80076E60: /* 077A60 80076E60 0C01DB71 */ jal func_80076DC4 /* 077A64 80076E64 00000000 */ nop /* 077A68 80076E68 10000018 */ b .L80076ECC /* 077A6C 80076E6C 8FBF0024 */ lw $ra, 0x24($sp) .L80076E70: /* 077A70 80076E70 847800AE */ lh $t8, 0xae($v1) /* 077A74 80076E74 246500A0 */ addiu $a1, $v1, 0xa0 /* 077A78 80076E78 240600FF */ li $a2, 255 /* 077A7C 80076E7C 2B010002 */ slti $at, $t8, 2 /* 077A80 80076E80 14200011 */ bnez $at, .L80076EC8 /* 077A84 80076E84 24070050 */ li $a3, 80 /* 077A88 80076E88 24190020 */ li $t9, 32 /* 077A8C 80076E8C AFB90010 */ sw $t9, 0x10($sp) /* 077A90 80076E90 AFA00014 */ sw $zero, 0x14($sp) /* 077A94 80076E94 AFA00018 */ sw $zero, 0x18($sp) /* 077A98 80076E98 0C01CEC0 */ jal func_80073B00 /* 077A9C 80076E9C AFA40028 */ sw $a0, 0x28($sp) /* 077AA0 80076EA0 10400009 */ beqz $v0, .L80076EC8 /* 077AA4 80076EA4 8FA40028 */ lw $a0, 0x28($sp) /* 077AA8 80076EA8 0C01C922 */ jal func_80072488 /* 077AAC 80076EAC 00000000 */ nop /* 077AB0 80076EB0 10000006 */ b .L80076ECC /* 077AB4 80076EB4 8FBF0024 */ lw $ra, 0x24($sp) .L80076EB8: /* 077AB8 80076EB8 0C01C90A */ jal func_80072428 /* 077ABC 80076EBC AFA40028 */ sw $a0, 0x28($sp) /* 077AC0 80076EC0 0C021BD8 */ jal func_80086F60 /* 077AC4 80076EC4 8FA40028 */ lw $a0, 0x28($sp) .L80076EC8: /* 077AC8 80076EC8 8FBF0024 */ lw $ra, 0x24($sp) .L80076ECC: /* 077ACC 80076ECC 27BD0028 */ addiu $sp, $sp, 0x28 /* 077AD0 80076ED0 03E00008 */ jr $ra /* 077AD4 80076ED4 00000000 */ nop glabel func_80076ED8 /* 077AD8 80076ED8 000470C0 */ sll $t6, $a0, 3 /* 077ADC 80076EDC 01C47023 */ subu $t6, $t6, $a0 /* 077AE0 80076EE0 000E7140 */ sll $t6, $t6, 5 /* 077AE4 80076EE4 3C028016 */ lui $v0, %hi(D_80165CC6) # x8016 /* 077AE8 80076EE8 004E1021 */ addu $v0, $v0, $t6 /* 077AEC 80076EEC 84425CC6 */ lh $v0, %lo(D_80165CC6)($v0) # 0x5cc6($v0) /* 077AF0 80076EF0 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 077AF4 80076EF4 AFBF0014 */ sw $ra, 0x14($sp) /* 077AF8 80076EF8 10400006 */ beqz $v0, .L80076F14 /* 077AFC 80076EFC 24010001 */ li $at, 1 /* 077B00 80076F00 14410004 */ bne $v0, $at, .L80076F14 /* 077B04 80076F04 00000000 */ nop /* 077B08 80076F08 0C021BF5 */ jal func_80086FD4 /* 077B0C 80076F0C AFA40018 */ sw $a0, 0x18($sp) /* 077B10 80076F10 8FA40018 */ lw $a0, 0x18($sp) .L80076F14: /* 077B14 80076F14 0C022FC6 */ jal func_8008BF18 /* 077B18 80076F18 00000000 */ nop /* 077B1C 80076F1C 8FBF0014 */ lw $ra, 0x14($sp) /* 077B20 80076F20 27BD0018 */ addiu $sp, $sp, 0x18 /* 077B24 80076F24 03E00008 */ jr $ra /* 077B28 80076F28 00000000 */ nop glabel func_80076F2C /* 077B2C 80076F2C 27BDFFC8 */ addiu $sp, $sp, -0x38 /* 077B30 80076F30 AFB60030 */ sw $s6, 0x30($sp) /* 077B34 80076F34 AFB40028 */ sw $s4, 0x28($sp) /* 077B38 80076F38 AFB1001C */ sw $s1, 0x1c($sp) /* 077B3C 80076F3C AFB5002C */ sw $s5, 0x2c($sp) /* 077B40 80076F40 AFB30024 */ sw $s3, 0x24($sp) /* 077B44 80076F44 3C118019 */ lui $s1, %hi(D_8018C870) # $s1, 0x8019 /* 077B48 80076F48 3C148016 */ lui $s4, %hi(D_80165C18) # $s4, 0x8016 /* 077B4C 80076F4C 3C168019 */ lui $s6, %hi(D_8018C970) # $s6, 0x8019 /* 077B50 80076F50 AFBF0034 */ sw $ra, 0x34($sp) /* 077B54 80076F54 AFB20020 */ sw $s2, 0x20($sp) /* 077B58 80076F58 AFB00018 */ sw $s0, 0x18($sp) /* 077B5C 80076F5C 26D6C970 */ addiu $s6, %lo(D_8018C970) # addiu $s6, $s6, -0x3690 /* 077B60 80076F60 26945C18 */ addiu $s4, %lo(D_80165C18) # addiu $s4, $s4, 0x5c18 /* 077B64 80076F64 2631C870 */ addiu $s1, %lo(D_8018C870) # addiu $s1, $s1, -0x3790 /* 077B68 80076F68 2413FFFF */ li $s3, -1 /* 077B6C 80076F6C 241500E0 */ li $s5, 224 /* 077B70 80076F70 8E300000 */ lw $s0, ($s1) .L80076F74: /* 077B74 80076F74 52130011 */ beql $s0, $s3, .L80076FBC /* 077B78 80076F78 26310004 */ addiu $s1, $s1, 4 /* 077B7C 80076F7C 02150019 */ multu $s0, $s5 /* 077B80 80076F80 00007012 */ mflo $t6 /* 077B84 80076F84 028E9021 */ addu $s2, $s4, $t6 /* 077B88 80076F88 864F00A6 */ lh $t7, 0xa6($s2) /* 077B8C 80076F8C 51E0000B */ beql $t7, $zero, .L80076FBC /* 077B90 80076F90 26310004 */ addiu $s1, $s1, 4 /* 077B94 80076F94 0C01DB85 */ jal func_80076E14 /* 077B98 80076F98 02002025 */ move $a0, $s0 /* 077B9C 80076F9C 0C01DBB6 */ jal func_80076ED8 /* 077BA0 80076FA0 02002025 */ move $a0, $s0 /* 077BA4 80076FA4 865800A6 */ lh $t8, 0xa6($s2) /* 077BA8 80076FA8 57000004 */ bnel $t8, $zero, .L80076FBC /* 077BAC 80076FAC 26310004 */ addiu $s1, $s1, 4 /* 077BB0 80076FB0 0C01C840 */ jal func_80072100 /* 077BB4 80076FB4 02202025 */ move $a0, $s1 /* 077BB8 80076FB8 26310004 */ addiu $s1, $s1, 4 .L80076FBC: /* 077BBC 80076FBC 5636FFED */ bnel $s1, $s6, .L80076F74 /* 077BC0 80076FC0 8E300000 */ lw $s0, ($s1) /* 077BC4 80076FC4 8FBF0034 */ lw $ra, 0x34($sp) /* 077BC8 80076FC8 8FB00018 */ lw $s0, 0x18($sp) /* 077BCC 80076FCC 8FB1001C */ lw $s1, 0x1c($sp) /* 077BD0 80076FD0 8FB20020 */ lw $s2, 0x20($sp) /* 077BD4 80076FD4 8FB30024 */ lw $s3, 0x24($sp) /* 077BD8 80076FD8 8FB40028 */ lw $s4, 0x28($sp) /* 077BDC 80076FDC 8FB5002C */ lw $s5, 0x2c($sp) /* 077BE0 80076FE0 8FB60030 */ lw $s6, 0x30($sp) /* 077BE4 80076FE4 03E00008 */ jr $ra /* 077BE8 80076FE8 27BD0038 */ addiu $sp, $sp, 0x38 glabel func_80076FEC /* 077BEC 80076FEC 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 077BF0 80076FF0 AFBF0014 */ sw $ra, 0x14($sp) /* 077BF4 80076FF4 AFA5001C */ sw $a1, 0x1c($sp) /* 077BF8 80076FF8 AFA40018 */ sw $a0, 0x18($sp) /* 077BFC 80076FFC 0C01C8E9 */ jal func_800723A4 /* 077C00 80077000 24050003 */ li $a1, 3 /* 077C04 80077004 8FB9001C */ lw $t9, 0x1c($sp) /* 077C08 80077008 8FA40018 */ lw $a0, 0x18($sp) /* 077C0C 8007700C 3C0C800E */ lui $t4, %hi(D_800E6788) # $t4, 0x800e /* 077C10 80077010 00195080 */ sll $t2, $t9, 2 /* 077C14 80077014 01595023 */ subu $t2, $t2, $t9 /* 077C18 80077018 000A5840 */ sll $t3, $t2, 1 /* 077C1C 8007701C 258C6788 */ addiu $t4, %lo(D_800E6788) # addiu $t4, $t4, 0x6788 /* 077C20 80077020 000470C0 */ sll $t6, $a0, 3 /* 077C24 80077024 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 077C28 80077028 016C1821 */ addu $v1, $t3, $t4 /* 077C2C 8007702C 01C47023 */ subu $t6, $t6, $a0 /* 077C30 80077030 846D0000 */ lh $t5, ($v1) /* 077C34 80077034 000E7140 */ sll $t6, $t6, 5 /* 077C38 80077038 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 077C3C 8007703C 3C090D03 */ lui $t1, %hi(D_0D02BC58) # $t1, 0xd03 /* 077C40 80077040 01CF1021 */ addu $v0, $t6, $t7 /* 077C44 80077044 2529BC58 */ addiu $t1, %lo(D_0D02BC58) # addiu $t1, $t1, -0x43a8 /* 077C48 80077048 448D3000 */ mtc1 $t5, $f6 /* 077C4C 8007704C 2418000B */ li $t8, 11 /* 077C50 80077050 A05800D5 */ sb $t8, 0xd5($v0) /* 077C54 80077054 AC490064 */ sw $t1, 0x64($v0) /* 077C58 80077058 AC49006C */ sw $t1, 0x6c($v0) /* 077C5C 8007705C 3C01800F */ lui $at, %hi(D_800EEB18) # $at, 0x800f /* 077C60 80077060 C424EB18 */ lwc1 $f4, %lo(D_800EEB18)($at) /* 077C64 80077064 46803220 */ cvt.s.w $f8, $f6 /* 077C68 80077068 846E0002 */ lh $t6, 2($v1) /* 077C6C 8007706C 846F0004 */ lh $t7, 4($v1) /* 077C70 80077070 3C018019 */ lui $at, %hi(D_8018D01C) # $at, 0x8019 /* 077C74 80077074 E4440000 */ swc1 $f4, ($v0) /* 077C78 80077078 C42AD01C */ lwc1 $f10, %lo(D_8018D01C)($at) /* 077C7C 8007707C 448E9000 */ mtc1 $t6, $f18 /* 077C80 80077080 448F3000 */ mtc1 $t7, $f6 /* 077C84 80077084 460A4402 */ mul.s $f16, $f8, $f10 /* 077C88 80077088 44800000 */ mtc1 $zero, $f0 /* 077C8C 8007708C 240800FF */ li $t0, 255 /* 077C90 80077090 A44800A4 */ sh $t0, 0xa4($v0) /* 077C94 80077094 A44800A2 */ sh $t0, 0xa2($v0) /* 077C98 80077098 A44800A0 */ sh $t0, 0xa0($v0) /* 077C9C 8007709C 46809120 */ cvt.s.w $f4, $f18 /* 077CA0 800770A0 E4500010 */ swc1 $f16, 0x10($v0) /* 077CA4 800770A4 00002825 */ move $a1, $zero /* 077CA8 800770A8 00003025 */ move $a2, $zero /* 077CAC 800770AC 00003825 */ move $a3, $zero /* 077CB0 800770B0 46803220 */ cvt.s.w $f8, $f6 /* 077CB4 800770B4 E4440014 */ swc1 $f4, 0x14($v0) /* 077CB8 800770B8 E4400034 */ swc1 $f0, 0x34($v0) /* 077CBC 800770BC 0C022E2F */ jal func_8008B8BC /* 077CC0 800770C0 E4480018 */ swc1 $f8, 0x18($v0) /* 077CC4 800770C4 44800000 */ mtc1 $zero, $f0 /* 077CC8 800770C8 8FA40018 */ lw $a0, 0x18($sp) /* 077CCC 800770CC 44050000 */ mfc1 $a1, $f0 /* 077CD0 800770D0 44060000 */ mfc1 $a2, $f0 /* 077CD4 800770D4 44070000 */ mfc1 $a3, $f0 /* 077CD8 800770D8 0C022E03 */ jal func_8008B80C /* 077CDC 800770DC 00000000 */ nop /* 077CE0 800770E0 8FBF0014 */ lw $ra, 0x14($sp) /* 077CE4 800770E4 27BD0018 */ addiu $sp, $sp, 0x18 /* 077CE8 800770E8 03E00008 */ jr $ra /* 077CEC 800770EC 00000000 */ nop glabel func_800770F0 /* 077CF0 800770F0 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 077CF4 800770F4 AFA40018 */ sw $a0, 0x18($sp) /* 077CF8 800770F8 AFBF0014 */ sw $ra, 0x14($sp) /* 077CFC 800770FC 3C048019 */ lui $a0, %hi(D_8018C870) # $a0, 0x8019 /* 077D00 80077100 3C058018 */ lui $a1, %hi(D_80183E6C) # $a1, 0x8018 /* 077D04 80077104 24A53E6C */ addiu $a1, %lo(D_80183E6C) # addiu $a1, $a1, 0x3e6c /* 077D08 80077108 2484C870 */ addiu $a0, %lo(D_8018C870) # addiu $a0, $a0, -0x3790 /* 077D0C 8007710C 0C01C811 */ jal func_80072044 /* 077D10 80077110 24060040 */ li $a2, 64 /* 077D14 80077114 2401FFFF */ li $at, -1 /* 077D18 80077118 10410003 */ beq $v0, $at, .L80077128 /* 077D1C 8007711C 00402025 */ move $a0, $v0 /* 077D20 80077120 0C01DBFB */ jal func_80076FEC /* 077D24 80077124 8FA50018 */ lw $a1, 0x18($sp) .L80077128: /* 077D28 80077128 8FBF0014 */ lw $ra, 0x14($sp) /* 077D2C 8007712C 27BD0018 */ addiu $sp, $sp, 0x18 /* 077D30 80077130 03E00008 */ jr $ra /* 077D34 80077134 00000000 */ nop glabel func_80077138 /* 077D38 80077138 27BDFFC8 */ addiu $sp, $sp, -0x38 /* 077D3C 8007713C AFBF001C */ sw $ra, 0x1c($sp) /* 077D40 80077140 AFA5003C */ sw $a1, 0x3c($sp) /* 077D44 80077144 AFB00018 */ sw $s0, 0x18($sp) /* 077D48 80077148 AFA40038 */ sw $a0, 0x38($sp) /* 077D4C 8007714C AFA60040 */ sw $a2, 0x40($sp) /* 077D50 80077150 0C01C8E9 */ jal func_800723A4 /* 077D54 80077154 00C02825 */ move $a1, $a2 /* 077D58 80077158 8FA40038 */ lw $a0, 0x38($sp) /* 077D5C 8007715C 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 077D60 80077160 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 077D64 80077164 000470C0 */ sll $t6, $a0, 3 /* 077D68 80077168 01C47023 */ subu $t6, $t6, $a0 /* 077D6C 8007716C 000E7140 */ sll $t6, $t6, 5 /* 077D70 80077170 01CF8021 */ addu $s0, $t6, $t7 /* 077D74 80077174 2418000C */ li $t8, 12 /* 077D78 80077178 A21800D5 */ sb $t8, 0xd5($s0) /* 077D7C 8007717C 3C01800F */ lui $at, %hi(D_800EEB1C) # $at, 0x800f /* 077D80 80077180 C424EB1C */ lwc1 $f4, %lo(D_800EEB1C)($at) /* 077D84 80077184 8FA2003C */ lw $v0, 0x3c($sp) /* 077D88 80077188 E6040000 */ swc1 $f4, ($s0) /* 077D8C 8007718C 8C470008 */ lw $a3, 8($v0) /* 077D90 80077190 8C460004 */ lw $a2, 4($v0) /* 077D94 80077194 0C022DF5 */ jal func_8008B7D4 /* 077D98 80077198 8C450000 */ lw $a1, ($v0) /* 077D9C 8007719C 8FA40038 */ lw $a0, 0x38($sp) /* 077DA0 800771A0 00002825 */ move $a1, $zero /* 077DA4 800771A4 00003025 */ move $a2, $zero /* 077DA8 800771A8 0C022E2F */ jal func_8008B8BC /* 077DAC 800771AC 00003825 */ move $a3, $zero /* 077DB0 800771B0 44800000 */ mtc1 $zero, $f0 /* 077DB4 800771B4 8FA40038 */ lw $a0, 0x38($sp) /* 077DB8 800771B8 44050000 */ mfc1 $a1, $f0 /* 077DBC 800771BC 44060000 */ mfc1 $a2, $f0 /* 077DC0 800771C0 44070000 */ mfc1 $a3, $f0 /* 077DC4 800771C4 0C022E03 */ jal func_8008B80C /* 077DC8 800771C8 00000000 */ nop /* 077DCC 800771CC 8FA20040 */ lw $v0, 0x40($sp) /* 077DD0 800771D0 3C01BF80 */ li $at, 0xBF800000 # -1.000000 /* 077DD4 800771D4 50400007 */ beql $v0, $zero, .L800771F4 /* 077DD8 800771D8 44813000 */ mtc1 $at, $f6 /* 077DDC 800771DC 24010001 */ li $at, 1 /* 077DE0 800771E0 50410022 */ beql $v0, $at, .L8007726C /* 077DE4 800771E4 3C013FC0 */ li $at, 0x3FC00000 # 1.500000 /* 077DE8 800771E8 1000003D */ b .L800772E0 /* 077DEC 800771EC 00000000 */ nop /* 077DF0 800771F0 44813000 */ mtc1 $at, $f6 .L800771F4: /* 077DF4 800771F4 2404004B */ li $a0, 75 /* 077DF8 800771F8 0C0ADF8D */ jal random_int /* 077DFC 800771FC E606003C */ swc1 $f6, 0x3c($s0) /* 077E00 80077200 44824000 */ mtc1 $v0, $f8 /* 077E04 80077204 3C0141F0 */ li $at, 0x41F00000 # 30.000000 /* 077E08 80077208 04410005 */ bgez $v0, .L80077220 /* 077E0C 8007720C 468042A1 */ cvt.d.w $f10, $f8 /* 077E10 80077210 44818800 */ mtc1 $at, $f17 /* 077E14 80077214 44808000 */ mtc1 $zero, $f16 /* 077E18 80077218 00000000 */ nop /* 077E1C 8007721C 46305280 */ add.d $f10, $f10, $f16 .L80077220: /* 077E20 80077220 3C01800F */ lui $at, %hi(D_800EEB20) /* 077E24 80077224 D432EB20 */ ldc1 $f18, %lo(D_800EEB20)($at) /* 077E28 80077228 3C013FD0 */ li $at, 0x3FD00000 # 1.625000 /* 077E2C 8007722C 44813800 */ mtc1 $at, $f7 /* 077E30 80077230 46325102 */ mul.d $f4, $f10, $f18 /* 077E34 80077234 44803000 */ mtc1 $zero, $f6 /* 077E38 80077238 24040040 */ li $a0, 64 /* 077E3C 8007723C 46262200 */ add.d $f8, $f4, $f6 /* 077E40 80077240 46204420 */ cvt.s.d $f16, $f8 /* 077E44 80077244 0C0ADF8D */ jal random_int /* 077E48 80077248 E6100034 */ swc1 $f16, 0x34($s0) /* 077E4C 8007724C 0002CA80 */ sll $t9, $v0, 0xa /* 077E50 80077250 A61900C0 */ sh $t9, 0xc0($s0) /* 077E54 80077254 0C021D47 */ jal func_8008751C /* 077E58 80077258 8FA40038 */ lw $a0, 0x38($sp) /* 077E5C 8007725C 2408001E */ li $t0, 30 /* 077E60 80077260 1000001F */ b .L800772E0 /* 077E64 80077264 A608008E */ sh $t0, 0x8e($s0) /* 077E68 80077268 3C013FC0 */ li $at, 0x3FC00000 # 1.500000 .L8007726C: /* 077E6C 8007726C 44815000 */ mtc1 $at, $f10 /* 077E70 80077270 24040064 */ li $a0, 100 /* 077E74 80077274 0C0ADF8D */ jal random_int /* 077E78 80077278 E60A003C */ swc1 $f10, 0x3c($s0) /* 077E7C 8007727C 44829000 */ mtc1 $v0, $f18 /* 077E80 80077280 3C0141F0 */ li $at, 0x41F00000 # 30.000000 /* 077E84 80077284 04410005 */ bgez $v0, .L8007729C /* 077E88 80077288 46809121 */ cvt.d.w $f4, $f18 /* 077E8C 8007728C 44813800 */ mtc1 $at, $f7 /* 077E90 80077290 44803000 */ mtc1 $zero, $f6 /* 077E94 80077294 00000000 */ nop /* 077E98 80077298 46262100 */ add.d $f4, $f4, $f6 .L8007729C: /* 077E9C 8007729C 3C01800F */ lui $at, %hi(D_800EEB28) /* 077EA0 800772A0 D428EB28 */ ldc1 $f8, %lo(D_800EEB28)($at) /* 077EA4 800772A4 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 /* 077EA8 800772A8 44815800 */ mtc1 $at, $f11 /* 077EAC 800772AC 46282402 */ mul.d $f16, $f4, $f8 /* 077EB0 800772B0 44805000 */ mtc1 $zero, $f10 /* 077EB4 800772B4 24040040 */ li $a0, 64 /* 077EB8 800772B8 462A8480 */ add.d $f18, $f16, $f10 /* 077EBC 800772BC 462091A0 */ cvt.s.d $f6, $f18 /* 077EC0 800772C0 0C0ADF8D */ jal random_int /* 077EC4 800772C4 E6060034 */ swc1 $f6, 0x34($s0) /* 077EC8 800772C8 00024A80 */ sll $t1, $v0, 0xa /* 077ECC 800772CC A60900C0 */ sh $t1, 0xc0($s0) /* 077ED0 800772D0 0C021D47 */ jal func_8008751C /* 077ED4 800772D4 8FA40038 */ lw $a0, 0x38($sp) /* 077ED8 800772D8 240A0032 */ li $t2, 50 /* 077EDC 800772DC A60A008E */ sh $t2, 0x8e($s0) .L800772E0: /* 077EE0 800772E0 0C0ADF8D */ jal random_int /* 077EE4 800772E4 2404000C */ li $a0, 12 /* 077EE8 800772E8 00026600 */ sll $t4, $v0, 0x18 /* 077EEC 800772EC 00022600 */ sll $a0, $v0, 0x18 /* 077EF0 800772F0 000C6E03 */ sra $t5, $t4, 0x18 /* 077EF4 800772F4 00045E03 */ sra $t3, $a0, 0x18 /* 077EF8 800772F8 29A10009 */ slti $at, $t5, 9 /* 077EFC 800772FC 1020000D */ beqz $at, .L80077334 /* 077F00 80077300 01602025 */ move $a0, $t3 /* 077F04 80077304 27A50034 */ addiu $a1, $sp, 0x34 /* 077F08 80077308 27A60032 */ addiu $a2, $sp, 0x32 /* 077F0C 8007730C 0C01719D */ jal func_8005C674 /* 077F10 80077310 27A70030 */ addiu $a3, $sp, 0x30 /* 077F14 80077314 87AE0034 */ lh $t6, 0x34($sp) /* 077F18 80077318 87AF0032 */ lh $t7, 0x32($sp) /* 077F1C 8007731C 87B80030 */ lh $t8, 0x30($sp) /* 077F20 80077320 AE000048 */ sw $zero, 0x48($s0) /* 077F24 80077324 A60E0084 */ sh $t6, 0x84($s0) /* 077F28 80077328 A60F0086 */ sh $t7, 0x86($s0) /* 077F2C 8007732C 10000015 */ b .L80077384 /* 077F30 80077330 A6180088 */ sh $t8, 0x88($s0) .L80077334: /* 077F34 80077334 0C0ADF8D */ jal random_int /* 077F38 80077338 24040003 */ li $a0, 3 /* 077F3C 8007733C 00022600 */ sll $a0, $v0, 0x18 /* 077F40 80077340 0004CE03 */ sra $t9, $a0, 0x18 /* 077F44 80077344 A3A20037 */ sb $v0, 0x37($sp) /* 077F48 80077348 03202025 */ move $a0, $t9 /* 077F4C 8007734C 27A50034 */ addiu $a1, $sp, 0x34 /* 077F50 80077350 27A60032 */ addiu $a2, $sp, 0x32 /* 077F54 80077354 0C0171AD */ jal func_8005C6B4 /* 077F58 80077358 27A70030 */ addiu $a3, $sp, 0x30 /* 077F5C 8007735C 87A80034 */ lh $t0, 0x34($sp) /* 077F60 80077360 87A90032 */ lh $t1, 0x32($sp) /* 077F64 80077364 87AA0030 */ lh $t2, 0x30($sp) /* 077F68 80077368 83AB0037 */ lb $t3, 0x37($sp) /* 077F6C 8007736C 240C0001 */ li $t4, 1 /* 077F70 80077370 AE0C0048 */ sw $t4, 0x48($s0) /* 077F74 80077374 A6080084 */ sh $t0, 0x84($s0) /* 077F78 80077378 A6090086 */ sh $t1, 0x86($s0) /* 077F7C 8007737C A60A0088 */ sh $t2, 0x88($s0) /* 077F80 80077380 A60B008C */ sh $t3, 0x8c($s0) .L80077384: /* 077F84 80077384 240D00FF */ li $t5, 255 /* 077F88 80077388 A60D00A0 */ sh $t5, 0xa0($s0) /* 077F8C 8007738C 0C0ADF8D */ jal random_int /* 077F90 80077390 24040800 */ li $a0, 2048 /* 077F94 80077394 960300C0 */ lhu $v1, 0xc0($s0) /* 077F98 80077398 244E0400 */ addiu $t6, $v0, 0x400 /* 077F9C 8007739C A60E008A */ sh $t6, 0x8a($s0) /* 077FA0 800773A0 28613000 */ slti $at, $v1, 0x3000 /* 077FA4 800773A4 14200004 */ bnez $at, .L800773B8 /* 077FA8 800773A8 3401B001 */ li $at, 45057 /* 077FAC 800773AC 0061082A */ slt $at, $v1, $at /* 077FB0 800773B0 54200005 */ bnel $at, $zero, .L800773C8 /* 077FB4 800773B4 8FBF001C */ lw $ra, 0x1c($sp) .L800773B8: /* 077FB8 800773B8 860F008A */ lh $t7, 0x8a($s0) /* 077FBC 800773BC 000FC023 */ negu $t8, $t7 /* 077FC0 800773C0 A618008A */ sh $t8, 0x8a($s0) /* 077FC4 800773C4 8FBF001C */ lw $ra, 0x1c($sp) .L800773C8: /* 077FC8 800773C8 8FB00018 */ lw $s0, 0x18($sp) /* 077FCC 800773CC 27BD0038 */ addiu $sp, $sp, 0x38 /* 077FD0 800773D0 03E00008 */ jr $ra /* 077FD4 800773D4 00000000 */ nop glabel func_800773D8 /* 077FD8 800773D8 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 077FDC 800773DC AFA40018 */ sw $a0, 0x18($sp) /* 077FE0 800773E0 AFA5001C */ sw $a1, 0x1c($sp) /* 077FE4 800773E4 AFBF0014 */ sw $ra, 0x14($sp) /* 077FE8 800773E8 3C058018 */ lui $a1, %hi(D_80183E5C) # $a1, 0x8018 /* 077FEC 800773EC 3C048019 */ lui $a0, %hi(D_8018C630) # $a0, 0x8019 /* 077FF0 800773F0 2484C630 */ addiu $a0, %lo(D_8018C630) # addiu $a0, $a0, -0x39d0 /* 077FF4 800773F4 24A53E5C */ addiu $a1, %lo(D_80183E5C) # addiu $a1, $a1, 0x3e5c /* 077FF8 800773F8 0C01C811 */ jal func_80072044 /* 077FFC 800773FC 24060080 */ li $a2, 128 /* 078000 80077400 2401FFFF */ li $at, -1 /* 078004 80077404 10410004 */ beq $v0, $at, .L80077418 /* 078008 80077408 00402025 */ move $a0, $v0 /* 07800C 8007740C 8FA50018 */ lw $a1, 0x18($sp) /* 078010 80077410 0C01DC4E */ jal func_80077138 /* 078014 80077414 8FA6001C */ lw $a2, 0x1c($sp) .L80077418: /* 078018 80077418 8FBF0014 */ lw $ra, 0x14($sp) /* 07801C 8007741C 27BD0018 */ addiu $sp, $sp, 0x18 /* 078020 80077420 03E00008 */ jr $ra /* 078024 80077424 00000000 */ nop glabel func_80077428 /* 078028 80077428 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 07802C 8007742C AFBF0014 */ sw $ra, 0x14($sp) /* 078030 80077430 0C01C922 */ jal func_80072488 /* 078034 80077434 AFA40018 */ sw $a0, 0x18($sp) /* 078038 80077438 0C021B9C */ jal func_80086E70 /* 07803C 8007743C 8FA40018 */ lw $a0, 0x18($sp) /* 078040 80077440 8FBF0014 */ lw $ra, 0x14($sp) /* 078044 80077444 27BD0018 */ addiu $sp, $sp, 0x18 /* 078048 80077448 03E00008 */ jr $ra /* 07804C 8007744C 00000000 */ nop glabel func_80077450 /* 078050 80077450 000470C0 */ sll $t6, $a0, 3 /* 078054 80077454 27BDFFC0 */ addiu $sp, $sp, -0x40 /* 078058 80077458 01C47023 */ subu $t6, $t6, $a0 /* 07805C 8007745C 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 078060 80077460 AFB00028 */ sw $s0, 0x28($sp) /* 078064 80077464 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 078068 80077468 000E7140 */ sll $t6, $t6, 5 /* 07806C 8007746C 01CF8021 */ addu $s0, $t6, $t7 /* 078070 80077470 860200A6 */ lh $v0, 0xa6($s0) /* 078074 80077474 AFBF002C */ sw $ra, 0x2c($sp) /* 078078 80077478 00803825 */ move $a3, $a0 /* 07807C 8007747C 10400028 */ beqz $v0, .L80077520 /* 078080 80077480 24010001 */ li $at, 1 /* 078084 80077484 10410005 */ beq $v0, $at, .L8007749C /* 078088 80077488 24010002 */ li $at, 2 /* 07808C 8007748C 10410007 */ beq $v0, $at, .L800774AC /* 078090 80077490 02002025 */ move $a0, $s0 /* 078094 80077494 10000023 */ b .L80077524 /* 078098 80077498 8E080048 */ lw $t0, 0x48($s0) .L8007749C: /* 07809C 8007749C 0C01DD0A */ jal func_80077428 /* 0780A0 800774A0 00E02025 */ move $a0, $a3 /* 0780A4 800774A4 1000001F */ b .L80077524 /* 0780A8 800774A8 8E080048 */ lw $t0, 0x48($s0) .L800774AC: /* 0780AC 800774AC 3C053DCC */ lui $a1, (0x3DCCCCCD >> 16) # lui $a1, 0x3dcc /* 0780B0 800774B0 3C063C23 */ lui $a2, (0x3C23D70A >> 16) # lui $a2, 0x3c23 /* 0780B4 800774B4 34C6D70A */ ori $a2, (0x3C23D70A & 0xFFFF) # ori $a2, $a2, 0xd70a /* 0780B8 800774B8 34A5CCCD */ ori $a1, (0x3DCCCCCD & 0xFFFF) # ori $a1, $a1, 0xcccd /* 0780BC 800774BC 0C0103B8 */ jal func_80040EE0 /* 0780C0 800774C0 AFA70040 */ sw $a3, 0x40($sp) /* 0780C4 800774C4 8618008E */ lh $t8, 0x8e($s0) /* 0780C8 800774C8 C6080008 */ lwc1 $f8, 8($s0) /* 0780CC 800774CC 8FA40040 */ lw $a0, 0x40($sp) /* 0780D0 800774D0 44982000 */ mtc1 $t8, $f4 /* 0780D4 800774D4 260500A0 */ addiu $a1, $s0, 0xa0 /* 0780D8 800774D8 240600FF */ li $a2, 255 /* 0780DC 800774DC 468021A0 */ cvt.s.w $f6, $f4 /* 0780E0 800774E0 00003825 */ move $a3, $zero /* 0780E4 800774E4 24190010 */ li $t9, 16 /* 0780E8 800774E8 4606403E */ c.le.s $f8, $f6 /* 0780EC 800774EC 00000000 */ nop /* 0780F0 800774F0 4502000C */ bc1fl .L80077524 /* 0780F4 800774F4 8E080048 */ lw $t0, 0x48($s0) /* 0780F8 800774F8 AFB90010 */ sw $t9, 0x10($sp) /* 0780FC 800774FC AFA00014 */ sw $zero, 0x14($sp) /* 078100 80077500 0C01CEC0 */ jal func_80073B00 /* 078104 80077504 AFA00018 */ sw $zero, 0x18($sp) /* 078108 80077508 50400006 */ beql $v0, $zero, .L80077524 /* 07810C 8007750C 8E080048 */ lw $t0, 0x48($s0) /* 078110 80077510 0C021BD8 */ jal func_80086F60 /* 078114 80077514 8FA40040 */ lw $a0, 0x40($sp) /* 078118 80077518 0C01C90A */ jal func_80072428 /* 07811C 8007751C 8FA40040 */ lw $a0, 0x40($sp) .L80077520: /* 078120 80077520 8E080048 */ lw $t0, 0x48($s0) .L80077524: /* 078124 80077524 24010003 */ li $at, 3 /* 078128 80077528 27A5003C */ addiu $a1, $sp, 0x3c /* 07812C 8007752C 51000011 */ beql $t0, $zero, .L80077574 /* 078130 80077530 8FBF002C */ lw $ra, 0x2c($sp) /* 078134 80077534 8609008C */ lh $t1, 0x8c($s0) /* 078138 80077538 27A6003A */ addiu $a2, $sp, 0x3a /* 07813C 8007753C 27A70038 */ addiu $a3, $sp, 0x38 /* 078140 80077540 252A0001 */ addiu $t2, $t1, 1 /* 078144 80077544 0141001A */ div $zero, $t2, $at /* 078148 80077548 00005810 */ mfhi $t3 /* 07814C 8007754C A60B008C */ sh $t3, 0x8c($s0) /* 078150 80077550 0C0171AD */ jal func_8005C6B4 /* 078154 80077554 8204008D */ lb $a0, 0x8d($s0) /* 078158 80077558 87AC003C */ lh $t4, 0x3c($sp) /* 07815C 8007755C 87AD003A */ lh $t5, 0x3a($sp) /* 078160 80077560 87AE0038 */ lh $t6, 0x38($sp) /* 078164 80077564 A60C0084 */ sh $t4, 0x84($s0) /* 078168 80077568 A60D0086 */ sh $t5, 0x86($s0) /* 07816C 8007756C A60E0088 */ sh $t6, 0x88($s0) /* 078170 80077570 8FBF002C */ lw $ra, 0x2c($sp) .L80077574: /* 078174 80077574 8FB00028 */ lw $s0, 0x28($sp) /* 078178 80077578 27BD0040 */ addiu $sp, $sp, 0x40 /* 07817C 8007757C 03E00008 */ jr $ra /* 078180 80077580 00000000 */ nop glabel func_80077584 /* 078184 80077584 000470C0 */ sll $t6, $a0, 3 /* 078188 80077588 01C47023 */ subu $t6, $t6, $a0 /* 07818C 8007758C 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 078190 80077590 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 078194 80077594 000E7140 */ sll $t6, $t6, 5 /* 078198 80077598 01CF1021 */ addu $v0, $t6, $t7 /* 07819C 8007759C 844300AE */ lh $v1, 0xae($v0) /* 0781A0 800775A0 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0781A4 800775A4 AFBF0014 */ sw $ra, 0x14($sp) /* 0781A8 800775A8 10600019 */ beqz $v1, .L80077610 /* 0781AC 800775AC 24010001 */ li $at, 1 /* 0781B0 800775B0 54610018 */ bnel $v1, $at, .L80077614 /* 0781B4 800775B4 945900B6 */ lhu $t9, 0xb6($v0) /* 0781B8 800775B8 905800D8 */ lbu $t8, 0xd8($v0) /* 0781BC 800775BC 3C01BFE0 */ li $at, 0xBFE00000 # -1.750000 /* 0781C0 800775C0 53000014 */ beql $t8, $zero, .L80077614 /* 0781C4 800775C4 945900B6 */ lhu $t9, 0xb6($v0) /* 0781C8 800775C8 C444003C */ lwc1 $f4, 0x3c($v0) /* 0781CC 800775CC 44813800 */ mtc1 $at, $f7 /* 0781D0 800775D0 44803000 */ mtc1 $zero, $f6 /* 0781D4 800775D4 46002021 */ cvt.d.s $f0, $f4 /* 0781D8 800775D8 3C01800F */ lui $at, %hi(D_800EEB30) /* 0781DC 800775DC 4620303E */ c.le.d $f6, $f0 /* 0781E0 800775E0 00000000 */ nop /* 0781E4 800775E4 45020007 */ bc1fl .L80077604 /* 0781E8 800775E8 44800000 */ mtc1 $zero, $f0 /* 0781EC 800775EC D428EB30 */ ldc1 $f8, %lo(D_800EEB30)($at) /* 0781F0 800775F0 46280281 */ sub.d $f10, $f0, $f8 /* 0781F4 800775F4 46205420 */ cvt.s.d $f16, $f10 /* 0781F8 800775F8 10000005 */ b .L80077610 /* 0781FC 800775FC E450003C */ swc1 $f16, 0x3c($v0) /* 078200 80077600 44800000 */ mtc1 $zero, $f0 .L80077604: /* 078204 80077604 00000000 */ nop /* 078208 80077608 E4400040 */ swc1 $f0, 0x40($v0) /* 07820C 8007760C E4400038 */ swc1 $f0, 0x38($v0) .L80077610: /* 078210 80077610 945900B6 */ lhu $t9, 0xb6($v0) .L80077614: /* 078214 80077614 8448008A */ lh $t0, 0x8a($v0) /* 078218 80077618 AFA40018 */ sw $a0, 0x18($sp) /* 07821C 8007761C 03284821 */ addu $t1, $t9, $t0 /* 078220 80077620 0C021DC4 */ jal func_80087710 /* 078224 80077624 A44900B6 */ sh $t1, 0xb6($v0) /* 078228 80077628 0C022FC6 */ jal func_8008BF18 /* 07822C 8007762C 8FA40018 */ lw $a0, 0x18($sp) /* 078230 80077630 8FBF0014 */ lw $ra, 0x14($sp) /* 078234 80077634 27BD0018 */ addiu $sp, $sp, 0x18 /* 078238 80077638 03E00008 */ jr $ra /* 07823C 8007763C 00000000 */ nop glabel func_80077640 /* 078240 80077640 27BDFFC8 */ addiu $sp, $sp, -0x38 /* 078244 80077644 AFB60030 */ sw $s6, 0x30($sp) /* 078248 80077648 AFB40028 */ sw $s4, 0x28($sp) /* 07824C 8007764C AFB1001C */ sw $s1, 0x1c($sp) /* 078250 80077650 AFB5002C */ sw $s5, 0x2c($sp) /* 078254 80077654 AFB30024 */ sw $s3, 0x24($sp) /* 078258 80077658 3C118019 */ lui $s1, %hi(D_8018C630) # $s1, 0x8019 /* 07825C 8007765C 3C148016 */ lui $s4, %hi(D_80165C18) # $s4, 0x8016 /* 078260 80077660 3C168019 */ lui $s6, %hi(D_8018C830) # $s6, 0x8019 /* 078264 80077664 AFBF0034 */ sw $ra, 0x34($sp) /* 078268 80077668 AFB20020 */ sw $s2, 0x20($sp) /* 07826C 8007766C AFB00018 */ sw $s0, 0x18($sp) /* 078270 80077670 26D6C830 */ addiu $s6, %lo(D_8018C830) # addiu $s6, $s6, -0x37d0 /* 078274 80077674 26945C18 */ addiu $s4, %lo(D_80165C18) # addiu $s4, $s4, 0x5c18 /* 078278 80077678 2631C630 */ addiu $s1, %lo(D_8018C630) # addiu $s1, $s1, -0x39d0 /* 07827C 8007767C 2413FFFF */ li $s3, -1 /* 078280 80077680 241500E0 */ li $s5, 224 /* 078284 80077684 8E300000 */ lw $s0, ($s1) .L80077688: /* 078288 80077688 52130011 */ beql $s0, $s3, .L800776D0 /* 07828C 8007768C 26310004 */ addiu $s1, $s1, 4 /* 078290 80077690 02150019 */ multu $s0, $s5 /* 078294 80077694 00007012 */ mflo $t6 /* 078298 80077698 028E9021 */ addu $s2, $s4, $t6 /* 07829C 8007769C 864F00A6 */ lh $t7, 0xa6($s2) /* 0782A0 800776A0 51E0000B */ beql $t7, $zero, .L800776D0 /* 0782A4 800776A4 26310004 */ addiu $s1, $s1, 4 /* 0782A8 800776A8 0C01DD14 */ jal func_80077450 /* 0782AC 800776AC 02002025 */ move $a0, $s0 /* 0782B0 800776B0 0C01DD61 */ jal func_80077584 /* 0782B4 800776B4 02002025 */ move $a0, $s0 /* 0782B8 800776B8 865800A6 */ lh $t8, 0xa6($s2) /* 0782BC 800776BC 57000004 */ bnel $t8, $zero, .L800776D0 /* 0782C0 800776C0 26310004 */ addiu $s1, $s1, 4 /* 0782C4 800776C4 0C01C840 */ jal func_80072100 /* 0782C8 800776C8 02202025 */ move $a0, $s1 /* 0782CC 800776CC 26310004 */ addiu $s1, $s1, 4 .L800776D0: /* 0782D0 800776D0 5636FFED */ bnel $s1, $s6, .L80077688 /* 0782D4 800776D4 8E300000 */ lw $s0, ($s1) /* 0782D8 800776D8 8FBF0034 */ lw $ra, 0x34($sp) /* 0782DC 800776DC 8FB00018 */ lw $s0, 0x18($sp) /* 0782E0 800776E0 8FB1001C */ lw $s1, 0x1c($sp) /* 0782E4 800776E4 8FB20020 */ lw $s2, 0x20($sp) /* 0782E8 800776E8 8FB30024 */ lw $s3, 0x24($sp) /* 0782EC 800776EC 8FB40028 */ lw $s4, 0x28($sp) /* 0782F0 800776F0 8FB5002C */ lw $s5, 0x2c($sp) /* 0782F4 800776F4 8FB60030 */ lw $s6, 0x30($sp) /* 0782F8 800776F8 03E00008 */ jr $ra /* 0782FC 800776FC 27BD0038 */ addiu $sp, $sp, 0x38 glabel func_80077700 /* 078300 80077700 27BDFFB8 */ addiu $sp, $sp, -0x48 /* 078304 80077704 AFB00024 */ sw $s0, 0x24($sp) /* 078308 80077708 00A08025 */ move $s0, $a1 /* 07830C 8007770C AFBF002C */ sw $ra, 0x2c($sp) /* 078310 80077710 AFB10028 */ sw $s1, 0x28($sp) /* 078314 80077714 00808825 */ move $s1, $a0 /* 078318 80077718 AFA60050 */ sw $a2, 0x50($sp) /* 07831C 8007771C 0C01C8E9 */ jal func_800723A4 /* 078320 80077720 00002825 */ move $a1, $zero /* 078324 80077724 001170C0 */ sll $t6, $s1, 3 /* 078328 80077728 01D17023 */ subu $t6, $t6, $s1 /* 07832C 8007772C 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 078330 80077730 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 078334 80077734 000E7140 */ sll $t6, $t6, 5 /* 078338 80077738 3C040D03 */ lui $a0, %hi(D_0D028DD8) # $a0, 0xd03 /* 07833C 8007773C 01CF1021 */ addu $v0, $t6, $t7 /* 078340 80077740 24848DD8 */ addiu $a0, %lo(D_0D028DD8) # addiu $a0, $a0, -0x7228 /* 078344 80077744 24180007 */ li $t8, 7 /* 078348 80077748 A05800D5 */ sb $t8, 0xd5($v0) /* 07834C 8007774C AC440060 */ sw $a0, 0x60($v0) /* 078350 80077750 AC440068 */ sw $a0, 0x68($v0) /* 078354 80077754 3C01800F */ lui $at, %hi(D_800EEB38) # $at, 0x800f /* 078358 80077758 C424EB38 */ lwc1 $f4, %lo(D_800EEB38)($at) /* 07835C 8007775C 3C03800E */ lui $v1, %hi(gCurrentCourseId) # $v1, 0x800e /* 078360 80077760 3C014039 */ li $at, 0x40390000 # 2.890625 /* 078364 80077764 E4440000 */ swc1 $f4, ($v0) /* 078368 80077768 C6060004 */ lwc1 $f6, 4($s0) /* 07836C 8007776C 02202025 */ move $a0, $s1 /* 078370 80077770 24180014 */ li $t8, 20 /* 078374 80077774 E4460044 */ swc1 $f6, 0x44($v0) /* 078378 80077778 8463C5A0 */ lh $v1, %lo(gCurrentCourseId)($v1) /* 07837C 8007777C 5060000D */ beql $v1, $zero, .L800777B4 /* 078380 80077780 C6080000 */ lwc1 $f8, ($s0) /* 078384 80077784 24010004 */ li $at, 4 /* 078388 80077788 10610029 */ beq $v1, $at, .L80077830 /* 07838C 8007778C 02202025 */ move $a0, $s1 /* 078390 80077790 24010007 */ li $at, 7 /* 078394 80077794 10610048 */ beq $v1, $at, .L800778B8 /* 078398 80077798 02202025 */ move $a0, $s1 /* 07839C 8007779C 24010008 */ li $at, 8 /* 0783A0 800777A0 10610067 */ beq $v1, $at, .L80077940 /* 0783A4 800777A4 02202025 */ move $a0, $s1 /* 0783A8 800777A8 10000088 */ b .L800779CC /* 0783AC 800777AC 00000000 */ nop /* 0783B0 800777B0 C6080000 */ lwc1 $f8, ($s0) .L800777B4: /* 0783B4 800777B4 C6100004 */ lwc1 $f16, 4($s0) /* 0783B8 800777B8 44812800 */ mtc1 $at, $f5 /* 0783BC 800777BC 4600428D */ trunc.w.s $f10, $f8 /* 0783C0 800777C0 44802000 */ mtc1 $zero, $f4 /* 0783C4 800777C4 2419001E */ li $t9, 30 /* 0783C8 800777C8 460084A1 */ cvt.d.s $f18, $f16 /* 0783CC 800777CC 44055000 */ mfc1 $a1, $f10 /* 0783D0 800777D0 46249180 */ add.d $f6, $f18, $f4 /* 0783D4 800777D4 C60A0008 */ lwc1 $f10, 8($s0) /* 0783D8 800777D8 00054400 */ sll $t0, $a1, 0x10 /* 0783DC 800777DC 00082C03 */ sra $a1, $t0, 0x10 /* 0783E0 800777E0 4620320D */ trunc.w.d $f8, $f6 /* 0783E4 800777E4 24080014 */ li $t0, 20 /* 0783E8 800777E8 AFA80018 */ sw $t0, 0x18($sp) /* 0783EC 800777EC 4600540D */ trunc.w.s $f16, $f10 /* 0783F0 800777F0 44064000 */ mfc1 $a2, $f8 /* 0783F4 800777F4 AFA20034 */ sw $v0, 0x34($sp) /* 0783F8 800777F8 AFB90014 */ sw $t9, 0x14($sp) /* 0783FC 800777FC 44078000 */ mfc1 $a3, $f16 /* 078400 80077800 00065C00 */ sll $t3, $a2, 0x10 /* 078404 80077804 000B3403 */ sra $a2, $t3, 0x10 /* 078408 80077808 00077400 */ sll $t6, $a3, 0x10 /* 07840C 8007780C 000E3C03 */ sra $a3, $t6, 0x10 /* 078410 80077810 0C022F45 */ jal func_8008BD14 /* 078414 80077814 AFB80010 */ sw $t8, 0x10($sp) /* 078418 80077818 3C013FC0 */ li $at, 0x3FC00000 # 1.500000 /* 07841C 8007781C 44810000 */ mtc1 $at, $f0 /* 078420 80077820 8FA20034 */ lw $v0, 0x34($sp) /* 078424 80077824 E4400034 */ swc1 $f0, 0x34($v0) /* 078428 80077828 10000068 */ b .L800779CC /* 07842C 8007782C E440003C */ swc1 $f0, 0x3c($v0) .L80077830: /* 078430 80077830 C6120000 */ lwc1 $f18, ($s0) /* 078434 80077834 C6060004 */ lwc1 $f6, 4($s0) /* 078438 80077838 3C014039 */ li $at, 0x40390000 # 2.890625 /* 07843C 8007783C 4600910D */ trunc.w.s $f4, $f18 /* 078440 80077840 44815800 */ mtc1 $at, $f11 /* 078444 80077844 44805000 */ mtc1 $zero, $f10 /* 078448 80077848 46003221 */ cvt.d.s $f8, $f6 /* 07844C 8007784C 44052000 */ mfc1 $a1, $f4 /* 078450 80077850 462A4400 */ add.d $f16, $f8, $f10 /* 078454 80077854 C6040008 */ lwc1 $f4, 8($s0) /* 078458 80077858 00055400 */ sll $t2, $a1, 0x10 /* 07845C 8007785C 000A2C03 */ sra $a1, $t2, 0x10 /* 078460 80077860 4620848D */ trunc.w.d $f18, $f16 /* 078464 80077864 240A0014 */ li $t2, 20 /* 078468 80077868 24080014 */ li $t0, 20 /* 07846C 8007786C 4600218D */ trunc.w.s $f6, $f4 /* 078470 80077870 44069000 */ mfc1 $a2, $f18 /* 078474 80077874 2409001E */ li $t1, 30 /* 078478 80077878 AFA90014 */ sw $t1, 0x14($sp) /* 07847C 8007787C 44073000 */ mfc1 $a3, $f6 /* 078480 80077880 00066C00 */ sll $t5, $a2, 0x10 /* 078484 80077884 000D3403 */ sra $a2, $t5, 0x10 /* 078488 80077888 0007C400 */ sll $t8, $a3, 0x10 /* 07848C 8007788C 00183C03 */ sra $a3, $t8, 0x10 /* 078490 80077890 AFA80010 */ sw $t0, 0x10($sp) /* 078494 80077894 AFAA0018 */ sw $t2, 0x18($sp) /* 078498 80077898 0C022F45 */ jal func_8008BD14 /* 07849C 8007789C AFA20034 */ sw $v0, 0x34($sp) /* 0784A0 800778A0 3C014000 */ li $at, 0x40000000 # 2.000000 /* 0784A4 800778A4 44810000 */ mtc1 $at, $f0 /* 0784A8 800778A8 8FA20034 */ lw $v0, 0x34($sp) /* 0784AC 800778AC E4400034 */ swc1 $f0, 0x34($v0) /* 0784B0 800778B0 10000046 */ b .L800779CC /* 0784B4 800778B4 E440003C */ swc1 $f0, 0x3c($v0) .L800778B8: /* 0784B8 800778B8 C6080000 */ lwc1 $f8, ($s0) /* 0784BC 800778BC C6100004 */ lwc1 $f16, 4($s0) /* 0784C0 800778C0 3C01403E */ li $at, 0x403E0000 # 2.968750 /* 0784C4 800778C4 4600428D */ trunc.w.s $f10, $f8 /* 0784C8 800778C8 44812800 */ mtc1 $at, $f5 /* 0784CC 800778CC 44802000 */ mtc1 $zero, $f4 /* 0784D0 800778D0 460084A1 */ cvt.d.s $f18, $f16 /* 0784D4 800778D4 44055000 */ mfc1 $a1, $f10 /* 0784D8 800778D8 46249180 */ add.d $f6, $f18, $f4 /* 0784DC 800778DC C60A0008 */ lwc1 $f10, 8($s0) /* 0784E0 800778E0 00056400 */ sll $t4, $a1, 0x10 /* 0784E4 800778E4 000C2C03 */ sra $a1, $t4, 0x10 /* 0784E8 800778E8 4620320D */ trunc.w.d $f8, $f6 /* 0784EC 800778EC 240C0010 */ li $t4, 16 /* 0784F0 800778F0 240A0010 */ li $t2, 16 /* 0784F4 800778F4 4600540D */ trunc.w.s $f16, $f10 /* 0784F8 800778F8 44064000 */ mfc1 $a2, $f8 /* 0784FC 800778FC 240B0028 */ li $t3, 40 /* 078500 80077900 AFAB0014 */ sw $t3, 0x14($sp) /* 078504 80077904 44078000 */ mfc1 $a3, $f16 /* 078508 80077908 00067C00 */ sll $t7, $a2, 0x10 /* 07850C 8007790C 000F3403 */ sra $a2, $t7, 0x10 /* 078510 80077910 00074400 */ sll $t0, $a3, 0x10 /* 078514 80077914 00083C03 */ sra $a3, $t0, 0x10 /* 078518 80077918 AFAA0010 */ sw $t2, 0x10($sp) /* 07851C 8007791C AFAC0018 */ sw $t4, 0x18($sp) /* 078520 80077920 0C022F45 */ jal func_8008BD14 /* 078524 80077924 AFA20034 */ sw $v0, 0x34($sp) /* 078528 80077928 3C014000 */ li $at, 0x40000000 # 2.000000 /* 07852C 8007792C 44810000 */ mtc1 $at, $f0 /* 078530 80077930 8FA20034 */ lw $v0, 0x34($sp) /* 078534 80077934 E4400034 */ swc1 $f0, 0x34($v0) /* 078538 80077938 10000024 */ b .L800779CC /* 07853C 8007793C E440003C */ swc1 $f0, 0x3c($v0) .L80077940: /* 078540 80077940 C6120000 */ lwc1 $f18, ($s0) /* 078544 80077944 C6060004 */ lwc1 $f6, 4($s0) /* 078548 80077948 3C014039 */ li $at, 0x40390000 # 2.890625 /* 07854C 8007794C 4600910D */ trunc.w.s $f4, $f18 /* 078550 80077950 44815800 */ mtc1 $at, $f11 /* 078554 80077954 44805000 */ mtc1 $zero, $f10 /* 078558 80077958 46003221 */ cvt.d.s $f8, $f6 /* 07855C 8007795C 44052000 */ mfc1 $a1, $f4 /* 078560 80077960 462A4400 */ add.d $f16, $f8, $f10 /* 078564 80077964 C6040008 */ lwc1 $f4, 8($s0) /* 078568 80077968 00057400 */ sll $t6, $a1, 0x10 /* 07856C 8007796C 000E2C03 */ sra $a1, $t6, 0x10 /* 078570 80077970 4620848D */ trunc.w.d $f18, $f16 /* 078574 80077974 240E0014 */ li $t6, 20 /* 078578 80077978 240C0014 */ li $t4, 20 /* 07857C 8007797C 4600218D */ trunc.w.s $f6, $f4 /* 078580 80077980 44069000 */ mfc1 $a2, $f18 /* 078584 80077984 240D001E */ li $t5, 30 /* 078588 80077988 AFAD0014 */ sw $t5, 0x14($sp) /* 07858C 8007798C 44073000 */ mfc1 $a3, $f6 /* 078590 80077990 0006CC00 */ sll $t9, $a2, 0x10 /* 078594 80077994 00193403 */ sra $a2, $t9, 0x10 /* 078598 80077998 00075400 */ sll $t2, $a3, 0x10 /* 07859C 8007799C 000A3C03 */ sra $a3, $t2, 0x10 /* 0785A0 800779A0 AFAC0010 */ sw $t4, 0x10($sp) /* 0785A4 800779A4 AFAE0018 */ sw $t6, 0x18($sp) /* 0785A8 800779A8 0C022F45 */ jal func_8008BD14 /* 0785AC 800779AC AFA20034 */ sw $v0, 0x34($sp) /* 0785B0 800779B0 3C013FC0 */ li $at, 0x3FC00000 # 1.500000 /* 0785B4 800779B4 44810000 */ mtc1 $at, $f0 /* 0785B8 800779B8 8FA20034 */ lw $v0, 0x34($sp) /* 0785BC 800779BC 3C013F80 */ li $at, 0x3F800000 # 1.000000 /* 0785C0 800779C0 44814000 */ mtc1 $at, $f8 /* 0785C4 800779C4 E4400034 */ swc1 $f0, 0x34($v0) /* 0785C8 800779C8 E448003C */ swc1 $f8, 0x3c($v0) .L800779CC: /* 0785CC 800779CC 0C0ADF8D */ jal random_int /* 0785D0 800779D0 24040010 */ li $a0, 16 /* 0785D4 800779D4 00028300 */ sll $s0, $v0, 0xc /* 0785D8 800779D8 320FFFFF */ andi $t7, $s0, 0xffff /* 0785DC 800779DC 01E08025 */ move $s0, $t7 /* 0785E0 800779E0 0C0ADF8D */ jal random_int /* 0785E4 800779E4 24040010 */ li $a0, 16 /* 0785E8 800779E8 0002C300 */ sll $t8, $v0, 0xc /* 0785EC 800779EC A7B8003E */ sh $t8, 0x3e($sp) /* 0785F0 800779F0 0C0ADF8D */ jal random_int /* 0785F4 800779F4 24040010 */ li $a0, 16 /* 0785F8 800779F8 8FA60050 */ lw $a2, 0x50($sp) /* 0785FC 800779FC 24010014 */ li $at, 20 /* 078600 80077A00 0002CB00 */ sll $t9, $v0, 0xc /* 078604 80077A04 00064400 */ sll $t0, $a2, 0x10 /* 078608 80077A08 01064023 */ subu $t0, $t0, $a2 /* 07860C 80077A0C 0101001A */ div $zero, $t0, $at /* 078610 80077A10 00004812 */ mflo $t1 /* 078614 80077A14 A7B9003C */ sh $t9, 0x3c($sp) /* 078618 80077A18 3126FFFF */ andi $a2, $t1, 0xffff /* 07861C 80077A1C 02202025 */ move $a0, $s1 /* 078620 80077A20 00002825 */ move $a1, $zero /* 078624 80077A24 0C022E22 */ jal func_8008B888 /* 078628 80077A28 00003825 */ move $a3, $zero /* 07862C 80077A2C 02202025 */ move $a0, $s1 /* 078630 80077A30 3205FFFF */ andi $a1, $s0, 0xffff /* 078634 80077A34 97A6003E */ lhu $a2, 0x3e($sp) /* 078638 80077A38 0C022E2F */ jal func_8008B8BC /* 07863C 80077A3C 97A7003C */ lhu $a3, 0x3c($sp) /* 078640 80077A40 8FBF002C */ lw $ra, 0x2c($sp) /* 078644 80077A44 8FB00024 */ lw $s0, 0x24($sp) /* 078648 80077A48 8FB10028 */ lw $s1, 0x28($sp) /* 07864C 80077A4C 03E00008 */ jr $ra /* 078650 80077A50 27BD0048 */ addiu $sp, $sp, 0x48 glabel func_80077A54 /* 078654 80077A54 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 078658 80077A58 AFA40020 */ sw $a0, 0x20($sp) /* 07865C 80077A5C AFA50024 */ sw $a1, 0x24($sp) /* 078660 80077A60 AFBF0014 */ sw $ra, 0x14($sp) /* 078664 80077A64 3C058018 */ lui $a1, %hi(D_80183E7C) # $a1, 0x8018 /* 078668 80077A68 3C048019 */ lui $a0, %hi(D_8018C970) # $a0, 0x8019 /* 07866C 80077A6C 2484C970 */ addiu $a0, %lo(D_8018C970) # addiu $a0, $a0, -0x3690 /* 078670 80077A70 24A53E7C */ addiu $a1, %lo(D_80183E7C) # addiu $a1, $a1, 0x3e7c /* 078674 80077A74 0C01C811 */ jal func_80072044 /* 078678 80077A78 24060040 */ li $a2, 64 /* 07867C 80077A7C 2401FFFF */ li $at, -1 /* 078680 80077A80 10410006 */ beq $v0, $at, .L80077A9C /* 078684 80077A84 00402025 */ move $a0, $v0 /* 078688 80077A88 8FA50020 */ lw $a1, 0x20($sp) /* 07868C 80077A8C 8FA60024 */ lw $a2, 0x24($sp) /* 078690 80077A90 0C01DDC0 */ jal func_80077700 /* 078694 80077A94 AFA2001C */ sw $v0, 0x1c($sp) /* 078698 80077A98 8FA4001C */ lw $a0, 0x1c($sp) .L80077A9C: /* 07869C 80077A9C 8FBF0014 */ lw $ra, 0x14($sp) /* 0786A0 80077AA0 27BD0020 */ addiu $sp, $sp, 0x20 /* 0786A4 80077AA4 00801025 */ move $v0, $a0 /* 0786A8 80077AA8 03E00008 */ jr $ra /* 0786AC 80077AAC 00000000 */ nop glabel func_80077AB0 /* 0786B0 80077AB0 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 0786B4 80077AB4 AFB30020 */ sw $s3, 0x20($sp) /* 0786B8 80077AB8 AFB2001C */ sw $s2, 0x1c($sp) /* 0786BC 80077ABC AFB10018 */ sw $s1, 0x18($sp) /* 0786C0 80077AC0 AFB00014 */ sw $s0, 0x14($sp) /* 0786C4 80077AC4 00808825 */ move $s1, $a0 /* 0786C8 80077AC8 AFBF0024 */ sw $ra, 0x24($sp) /* 0786CC 80077ACC AFA5002C */ sw $a1, 0x2c($sp) /* 0786D0 80077AD0 00008025 */ move $s0, $zero /* 0786D4 80077AD4 2412FFFF */ li $s2, -1 /* 0786D8 80077AD8 24130014 */ li $s3, 20 /* 0786DC 80077ADC 02202025 */ move $a0, $s1 .L80077AE0: /* 0786E0 80077AE0 0C01DE95 */ jal func_80077A54 /* 0786E4 80077AE4 02002825 */ move $a1, $s0 /* 0786E8 80077AE8 10520003 */ beq $v0, $s2, .L80077AF8 /* 0786EC 80077AEC 26100001 */ addiu $s0, $s0, 1 /* 0786F0 80077AF0 5613FFFB */ bnel $s0, $s3, .L80077AE0 /* 0786F4 80077AF4 02202025 */ move $a0, $s1 .L80077AF8: /* 0786F8 80077AF8 8FBF0024 */ lw $ra, 0x24($sp) /* 0786FC 80077AFC 8FB00014 */ lw $s0, 0x14($sp) /* 078700 80077B00 8FB10018 */ lw $s1, 0x18($sp) /* 078704 80077B04 8FB2001C */ lw $s2, 0x1c($sp) /* 078708 80077B08 8FB30020 */ lw $s3, 0x20($sp) /* 07870C 80077B0C 03E00008 */ jr $ra /* 078710 80077B10 27BD0028 */ addiu $sp, $sp, 0x28 glabel func_80077B14 /* 078714 80077B14 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 078718 80077B18 AFBF0014 */ sw $ra, 0x14($sp) /* 07871C 80077B1C 0C01C922 */ jal func_80072488 /* 078720 80077B20 AFA40018 */ sw $a0, 0x18($sp) /* 078724 80077B24 0C021B9C */ jal func_80086E70 /* 078728 80077B28 8FA40018 */ lw $a0, 0x18($sp) /* 07872C 80077B2C 8FBF0014 */ lw $ra, 0x14($sp) /* 078730 80077B30 27BD0018 */ addiu $sp, $sp, 0x18 /* 078734 80077B34 03E00008 */ jr $ra /* 078738 80077B38 00000000 */ nop glabel func_80077B3C /* 07873C 80077B3C 000470C0 */ sll $t6, $a0, 3 /* 078740 80077B40 01C47023 */ subu $t6, $t6, $a0 /* 078744 80077B44 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 078748 80077B48 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 07874C 80077B4C 000E7140 */ sll $t6, $t6, 5 /* 078750 80077B50 01CF1821 */ addu $v1, $t6, $t7 /* 078754 80077B54 846200A6 */ lh $v0, 0xa6($v1) /* 078758 80077B58 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 07875C 80077B5C AFBF0014 */ sw $ra, 0x14($sp) /* 078760 80077B60 10400016 */ beqz $v0, .L80077BBC /* 078764 80077B64 24010001 */ li $at, 1 /* 078768 80077B68 10410007 */ beq $v0, $at, .L80077B88 /* 07876C 80077B6C 24010002 */ li $at, 2 /* 078770 80077B70 10410009 */ beq $v0, $at, .L80077B98 /* 078774 80077B74 24010003 */ li $at, 3 /* 078778 80077B78 1041000E */ beq $v0, $at, .L80077BB4 /* 07877C 80077B7C 00000000 */ nop /* 078780 80077B80 1000000F */ b .L80077BC0 /* 078784 80077B84 8FBF0014 */ lw $ra, 0x14($sp) .L80077B88: /* 078788 80077B88 0C01DEC5 */ jal func_80077B14 /* 07878C 80077B8C 00000000 */ nop /* 078790 80077B90 1000000B */ b .L80077BC0 /* 078794 80077B94 8FBF0014 */ lw $ra, 0x14($sp) .L80077B98: /* 078798 80077B98 847800AE */ lh $t8, 0xae($v1) /* 07879C 80077B9C 57000008 */ bnel $t8, $zero, .L80077BC0 /* 0787A0 80077BA0 8FBF0014 */ lw $ra, 0x14($sp) /* 0787A4 80077BA4 0C01C922 */ jal func_80072488 /* 0787A8 80077BA8 00000000 */ nop /* 0787AC 80077BAC 10000004 */ b .L80077BC0 /* 0787B0 80077BB0 8FBF0014 */ lw $ra, 0x14($sp) .L80077BB4: /* 0787B4 80077BB4 0C01C90A */ jal func_80072428 /* 0787B8 80077BB8 00000000 */ nop .L80077BBC: /* 0787BC 80077BBC 8FBF0014 */ lw $ra, 0x14($sp) .L80077BC0: /* 0787C0 80077BC0 27BD0018 */ addiu $sp, $sp, 0x18 /* 0787C4 80077BC4 03E00008 */ jr $ra /* 0787C8 80077BC8 00000000 */ nop glabel func_80077BCC /* 0787CC 80077BCC 000470C0 */ sll $t6, $a0, 3 /* 0787D0 80077BD0 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 0787D4 80077BD4 01C47023 */ subu $t6, $t6, $a0 /* 0787D8 80077BD8 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 0787DC 80077BDC AFB0001C */ sw $s0, 0x1c($sp) /* 0787E0 80077BE0 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 0787E4 80077BE4 000E7140 */ sll $t6, $t6, 5 /* 0787E8 80077BE8 01CF8021 */ addu $s0, $t6, $t7 /* 0787EC 80077BEC 860200AE */ lh $v0, 0xae($s0) /* 0787F0 80077BF0 AFB10020 */ sw $s1, 0x20($sp) /* 0787F4 80077BF4 24010001 */ li $at, 1 /* 0787F8 80077BF8 00808825 */ move $s1, $a0 /* 0787FC 80077BFC 10410006 */ beq $v0, $at, .L80077C18 /* 078800 80077C00 AFBF0024 */ sw $ra, 0x24($sp) /* 078804 80077C04 24010002 */ li $at, 2 /* 078808 80077C08 1041000F */ beq $v0, $at, .L80077C48 /* 07880C 80077C0C 02202025 */ move $a0, $s1 /* 078810 80077C10 10000015 */ b .L80077C68 /* 078814 80077C14 00000000 */ nop .L80077C18: /* 078818 80077C18 961800C0 */ lhu $t8, 0xc0($s0) /* 07881C 80077C1C 3C063E4C */ lui $a2, (0x3E4CCCCD >> 16) # lui $a2, 0x3e4c /* 078820 80077C20 2419000A */ li $t9, 10 /* 078824 80077C24 AFB90014 */ sw $t9, 0x14($sp) /* 078828 80077C28 34C6CCCD */ ori $a2, (0x3E4CCCCD & 0xFFFF) # ori $a2, $a2, 0xcccd /* 07882C 80077C2C 02202025 */ move $a0, $s1 /* 078830 80077C30 8E05003C */ lw $a1, 0x3c($s0) /* 078834 80077C34 8E070034 */ lw $a3, 0x34($s0) /* 078838 80077C38 0C021F82 */ jal func_80087E08 /* 07883C 80077C3C AFB80010 */ sw $t8, 0x10($sp) /* 078840 80077C40 10000009 */ b .L80077C68 /* 078844 80077C44 00000000 */ nop .L80077C48: /* 078848 80077C48 3C053ECC */ lui $a1, (0x3ECCCCCD >> 16) # lui $a1, 0x3ecc /* 07884C 80077C4C 34A5CCCD */ ori $a1, (0x3ECCCCCD & 0xFFFF) # ori $a1, $a1, 0xcccd /* 078850 80077C50 0C021EE1 */ jal func_80087B84 /* 078854 80077C54 8E060044 */ lw $a2, 0x44($s0) /* 078858 80077C58 10400003 */ beqz $v0, .L80077C68 /* 07885C 80077C5C 00000000 */ nop /* 078860 80077C60 0C021BD8 */ jal func_80086F60 /* 078864 80077C64 02202025 */ move $a0, $s1 .L80077C68: /* 078868 80077C68 0C022FC6 */ jal func_8008BF18 /* 07886C 80077C6C 02202025 */ move $a0, $s1 /* 078870 80077C70 960800B2 */ lhu $t0, 0xb2($s0) /* 078874 80077C74 960A00B4 */ lhu $t2, 0xb4($s0) /* 078878 80077C78 8FBF0024 */ lw $ra, 0x24($sp) /* 07887C 80077C7C 25091000 */ addiu $t1, $t0, 0x1000 /* 078880 80077C80 254B1000 */ addiu $t3, $t2, 0x1000 /* 078884 80077C84 A60900B2 */ sh $t1, 0xb2($s0) /* 078888 80077C88 A60B00B4 */ sh $t3, 0xb4($s0) /* 07888C 80077C8C 8FB0001C */ lw $s0, 0x1c($sp) /* 078890 80077C90 8FB10020 */ lw $s1, 0x20($sp) /* 078894 80077C94 03E00008 */ jr $ra /* 078898 80077C98 27BD0028 */ addiu $sp, $sp, 0x28 glabel func_80077C9C /* 07889C 80077C9C 27BDFFC8 */ addiu $sp, $sp, -0x38 /* 0788A0 80077CA0 AFB60030 */ sw $s6, 0x30($sp) /* 0788A4 80077CA4 AFB40028 */ sw $s4, 0x28($sp) /* 0788A8 80077CA8 AFB1001C */ sw $s1, 0x1c($sp) /* 0788AC 80077CAC AFB5002C */ sw $s5, 0x2c($sp) /* 0788B0 80077CB0 AFB30024 */ sw $s3, 0x24($sp) /* 0788B4 80077CB4 3C118019 */ lui $s1, %hi(D_8018C970) # $s1, 0x8019 /* 0788B8 80077CB8 3C148016 */ lui $s4, %hi(D_80165C18) # $s4, 0x8016 /* 0788BC 80077CBC 3C168019 */ lui $s6, %hi(D_8018CA70) # $s6, 0x8019 /* 0788C0 80077CC0 AFBF0034 */ sw $ra, 0x34($sp) /* 0788C4 80077CC4 AFB20020 */ sw $s2, 0x20($sp) /* 0788C8 80077CC8 AFB00018 */ sw $s0, 0x18($sp) /* 0788CC 80077CCC 26D6CA70 */ addiu $s6, %lo(D_8018CA70) # addiu $s6, $s6, -0x3590 /* 0788D0 80077CD0 26945C18 */ addiu $s4, %lo(D_80165C18) # addiu $s4, $s4, 0x5c18 /* 0788D4 80077CD4 2631C970 */ addiu $s1, %lo(D_8018C970) # addiu $s1, $s1, -0x3690 /* 0788D8 80077CD8 2413FFFF */ li $s3, -1 /* 0788DC 80077CDC 241500E0 */ li $s5, 224 /* 0788E0 80077CE0 8E300000 */ lw $s0, ($s1) .L80077CE4: /* 0788E4 80077CE4 52130011 */ beql $s0, $s3, .L80077D2C /* 0788E8 80077CE8 26310004 */ addiu $s1, $s1, 4 /* 0788EC 80077CEC 02150019 */ multu $s0, $s5 /* 0788F0 80077CF0 00007012 */ mflo $t6 /* 0788F4 80077CF4 028E9021 */ addu $s2, $s4, $t6 /* 0788F8 80077CF8 864F00A6 */ lh $t7, 0xa6($s2) /* 0788FC 80077CFC 51E0000B */ beql $t7, $zero, .L80077D2C /* 078900 80077D00 26310004 */ addiu $s1, $s1, 4 /* 078904 80077D04 0C01DECF */ jal func_80077B3C /* 078908 80077D08 02002025 */ move $a0, $s0 /* 07890C 80077D0C 0C01DEF3 */ jal func_80077BCC /* 078910 80077D10 02002025 */ move $a0, $s0 /* 078914 80077D14 865800A6 */ lh $t8, 0xa6($s2) /* 078918 80077D18 57000004 */ bnel $t8, $zero, .L80077D2C /* 07891C 80077D1C 26310004 */ addiu $s1, $s1, 4 /* 078920 80077D20 0C01C840 */ jal func_80072100 /* 078924 80077D24 02202025 */ move $a0, $s1 /* 078928 80077D28 26310004 */ addiu $s1, $s1, 4 .L80077D2C: /* 07892C 80077D2C 5636FFED */ bnel $s1, $s6, .L80077CE4 /* 078930 80077D30 8E300000 */ lw $s0, ($s1) /* 078934 80077D34 8FBF0034 */ lw $ra, 0x34($sp) /* 078938 80077D38 8FB00018 */ lw $s0, 0x18($sp) /* 07893C 80077D3C 8FB1001C */ lw $s1, 0x1c($sp) /* 078940 80077D40 8FB20020 */ lw $s2, 0x20($sp) /* 078944 80077D44 8FB30024 */ lw $s3, 0x24($sp) /* 078948 80077D48 8FB40028 */ lw $s4, 0x28($sp) /* 07894C 80077D4C 8FB5002C */ lw $s5, 0x2c($sp) /* 078950 80077D50 8FB60030 */ lw $s6, 0x30($sp) /* 078954 80077D54 03E00008 */ jr $ra /* 078958 80077D58 27BD0038 */ addiu $sp, $sp, 0x38 glabel func_80077D5C /* 07895C 80077D5C 3C0E8016 */ lui $t6, %hi(D_8016559C) # $t6, 0x8016 /* 078960 80077D60 8DCE559C */ lw $t6, %lo(D_8016559C)($t6) /* 078964 80077D64 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 078968 80077D68 AFBF0014 */ sw $ra, 0x14($sp) /* 07896C 80077D6C 15C00028 */ bnez $t6, .L80077E10 /* 078970 80077D70 3C068019 */ lui $a2, %hi(D_8018D1F0) # $a2, 0x8019 /* 078974 80077D74 8CC6D1F0 */ lw $a2, %lo(D_8018D1F0)($a2) /* 078978 80077D78 00002825 */ move $a1, $zero /* 07897C 80077D7C 3C028019 */ lui $v0, %hi(D_8018D17C) # $v0, 0x8019 /* 078980 80077D80 18C00023 */ blez $a2, .L80077E10 /* 078984 80077D84 00047880 */ sll $t7, $a0, 2 /* 078988 80077D88 3C188019 */ lui $t8, %hi(D_8018CC80) # $t8, 0x8019 /* 07898C 80077D8C 2718CC80 */ addiu $t8, %lo(D_8018CC80) # addiu $t8, $t8, -0x3380 /* 078990 80077D90 3C088016 */ lui $t0, %hi(D_80165C18) # $t0, 0x8016 /* 078994 80077D94 3C038019 */ lui $v1, %hi(D_8018D17C) # $v1, 0x8019 /* 078998 80077D98 2463D17C */ addiu $v1, %lo(D_8018D17C) # addiu $v1, $v1, -0x2e84 /* 07899C 80077D9C 25085C18 */ addiu $t0, %lo(D_80165C18) # addiu $t0, $t0, 0x5c18 /* 0789A0 80077DA0 01F83821 */ addu $a3, $t7, $t8 /* 0789A4 80077DA4 8442D17C */ lh $v0, %lo(D_8018D17C)($v0) /* 0789A8 80077DA8 240900E0 */ li $t1, 224 /* 0789AC 80077DAC 24590001 */ addiu $t9, $v0, 1 .L80077DB0: /* 0789B0 80077DB0 A4790000 */ sh $t9, ($v1) /* 0789B4 80077DB4 84620000 */ lh $v0, ($v1) /* 0789B8 80077DB8 24A50001 */ addiu $a1, $a1, 1 /* 0789BC 80077DBC 0046082A */ slt $at, $v0, $a2 /* 0789C0 80077DC0 54200004 */ bnel $at, $zero, .L80077DD4 /* 0789C4 80077DC4 00025080 */ sll $t2, $v0, 2 /* 0789C8 80077DC8 A4600000 */ sh $zero, ($v1) /* 0789CC 80077DCC 84620000 */ lh $v0, ($v1) /* 0789D0 80077DD0 00025080 */ sll $t2, $v0, 2 .L80077DD4: /* 0789D4 80077DD4 00EA5821 */ addu $t3, $a3, $t2 /* 0789D8 80077DD8 8D640000 */ lw $a0, ($t3) /* 0789DC 80077DDC 00A6082A */ slt $at, $a1, $a2 /* 0789E0 80077DE0 00890019 */ multu $a0, $t1 /* 0789E4 80077DE4 00006012 */ mflo $t4 /* 0789E8 80077DE8 010C6821 */ addu $t5, $t0, $t4 /* 0789EC 80077DEC 85AE00A6 */ lh $t6, 0xa6($t5) /* 0789F0 80077DF0 15C00005 */ bnez $t6, .L80077E08 /* 0789F4 80077DF4 00000000 */ nop /* 0789F8 80077DF8 0C01C8E9 */ jal func_800723A4 /* 0789FC 80077DFC 24050001 */ li $a1, 1 /* 078A00 80077E00 10000004 */ b .L80077E14 /* 078A04 80077E04 8FBF0014 */ lw $ra, 0x14($sp) .L80077E08: /* 078A08 80077E08 5420FFE9 */ bnel $at, $zero, .L80077DB0 /* 078A0C 80077E0C 24590001 */ addiu $t9, $v0, 1 .L80077E10: /* 078A10 80077E10 8FBF0014 */ lw $ra, 0x14($sp) .L80077E14: /* 078A14 80077E14 27BD0018 */ addiu $sp, $sp, 0x18 /* 078A18 80077E18 03E00008 */ jr $ra /* 078A1C 80077E1C 00000000 */ nop glabel func_80077E20 /* 078A20 80077E20 000470C0 */ sll $t6, $a0, 3 /* 078A24 80077E24 01C47023 */ subu $t6, $t6, $a0 /* 078A28 80077E28 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 078A2C 80077E2C 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 078A30 80077E30 000E7140 */ sll $t6, $t6, 5 /* 078A34 80077E34 01CF1021 */ addu $v0, $t6, $t7 /* 078A38 80077E38 3C030D03 */ lui $v1, %hi(D_0D0293D8) # $v1, 0xd03 /* 078A3C 80077E3C 246393D8 */ addiu $v1, %lo(D_0D0293D8) # addiu $v1, $v1, -0x6c28 /* 078A40 80077E40 3C180D00 */ lui $t8, %hi(D_0D005770) # $t8, 0xd00 /* 078A44 80077E44 24080010 */ li $t0, 16 /* 078A48 80077E48 27185770 */ addiu $t8, %lo(D_0D005770) # addiu $t8, $t8, 0x5770 /* 078A4C 80077E4C AC430064 */ sw $v1, 0x64($v0) /* 078A50 80077E50 AC43006C */ sw $v1, 0x6c($v0) /* 078A54 80077E54 AC580074 */ sw $t8, 0x74($v0) /* 078A58 80077E58 A04800DA */ sb $t0, 0xda($v0) /* 078A5C 80077E5C A04800D9 */ sb $t0, 0xd9($v0) /* 078A60 80077E60 3C01800F */ lui $at, %hi(D_800EEB3C) # $at, 0x800f /* 078A64 80077E64 C424EB3C */ lwc1 $f4, %lo(D_800EEB3C)($at) /* 078A68 80077E68 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 078A6C 80077E6C AFBF0014 */ sw $ra, 0x14($sp) /* 078A70 80077E70 AFA20018 */ sw $v0, 0x18($sp) /* 078A74 80077E74 AFA40020 */ sw $a0, 0x20($sp) /* 078A78 80077E78 24050010 */ li $a1, 16 /* 078A7C 80077E7C 0C01C870 */ jal func_800721C0 /* 078A80 80077E80 E4440000 */ swc1 $f4, ($v0) /* 078A84 80077E84 0C021BBC */ jal func_80086EF0 /* 078A88 80077E88 8FA40020 */ lw $a0, 0x20($sp) /* 078A8C 80077E8C 8FA20018 */ lw $v0, 0x18($sp) /* 078A90 80077E90 240900FF */ li $t1, 255 /* 078A94 80077E94 8FA40020 */ lw $a0, 0x20($sp) /* 078A98 80077E98 A44900A0 */ sh $t1, 0xa0($v0) /* 078A9C 80077E9C A04000D5 */ sb $zero, 0xd5($v0) /* 078AA0 80077EA0 0C01C922 */ jal func_80072488 /* 078AA4 80077EA4 A44000A4 */ sh $zero, 0xa4($v0) /* 078AA8 80077EA8 8FBF0014 */ lw $ra, 0x14($sp) /* 078AAC 80077EAC 27BD0020 */ addiu $sp, $sp, 0x20 /* 078AB0 80077EB0 03E00008 */ jr $ra /* 078AB4 80077EB4 00000000 */ nop glabel func_80077EB8 /* 078AB8 80077EB8 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 078ABC 80077EBC AFBF0014 */ sw $ra, 0x14($sp) /* 078AC0 80077EC0 AFA5001C */ sw $a1, 0x1c($sp) /* 078AC4 80077EC4 84CF0026 */ lh $t7, 0x26($a2) /* 078AC8 80077EC8 3C088019 */ lui $t0, %hi(D_8018D210) # $t0, 0x8019 /* 078ACC 80077ECC 8508D210 */ lh $t0, %lo(D_8018D210)($t0) /* 078AD0 80077ED0 01E51023 */ subu $v0, $t7, $a1 /* 078AD4 80077ED4 0002C400 */ sll $t8, $v0, 0x10 /* 078AD8 80077ED8 0018CC03 */ sra $t9, $t8, 0x10 /* 078ADC 80077EDC 0328082A */ slt $at, $t9, $t0 /* 078AE0 80077EE0 10200006 */ beqz $at, .L80077EFC /* 078AE4 80077EE4 03201025 */ move $v0, $t9 /* 078AE8 80077EE8 3C098019 */ lui $t1, %hi(D_8018D208) # $t1, 0x8019 /* 078AEC 80077EEC 8529D208 */ lh $t1, %lo(D_8018D208)($t1) /* 078AF0 80077EF0 0139082A */ slt $at, $t1, $t9 /* 078AF4 80077EF4 14200015 */ bnez $at, .L80077F4C /* 078AF8 80077EF8 00000000 */ nop .L80077EFC: /* 078AFC 80077EFC 44823000 */ mtc1 $v0, $f6 /* 078B00 80077F00 3C0A8019 */ lui $t2, %hi(D_8018D218) # $t2, 0x8019 /* 078B04 80077F04 854AD218 */ lh $t2, %lo(D_8018D218)($t2) /* 078B08 80077F08 46803220 */ cvt.s.w $f8, $f6 /* 078B0C 80077F0C 3C018019 */ lui $at, %hi(D_8018D1E8) # $at, 0x8019 /* 078B10 80077F10 C424D1E8 */ lwc1 $f4, %lo(D_8018D1E8)($at) /* 078B14 80077F14 448A8000 */ mtc1 $t2, $f16 /* 078B18 80077F18 000458C0 */ sll $t3, $a0, 3 /* 078B1C 80077F1C 01645823 */ subu $t3, $t3, $a0 /* 078B20 80077F20 46082282 */ mul.s $f10, $f4, $f8 /* 078B24 80077F24 000B5940 */ sll $t3, $t3, 5 /* 078B28 80077F28 3C018016 */ lui $at, %hi(D_80165C40) /* 078B2C 80077F2C 002B0821 */ addu $at, $at, $t3 /* 078B30 80077F30 24050010 */ li $a1, 16 /* 078B34 80077F34 468084A0 */ cvt.s.w $f18, $f16 /* 078B38 80077F38 460A9180 */ add.s $f6, $f18, $f10 /* 078B3C 80077F3C 0C01C870 */ jal func_800721C0 /* 078B40 80077F40 E4265C40 */ swc1 $f6, %lo(D_80165C40)($at) /* 078B44 80077F44 10000004 */ b .L80077F58 /* 078B48 80077F48 8FBF0014 */ lw $ra, 0x14($sp) .L80077F4C: /* 078B4C 80077F4C 0C01C87A */ jal func_800721E8 /* 078B50 80077F50 24050010 */ li $a1, 16 /* 078B54 80077F54 8FBF0014 */ lw $ra, 0x14($sp) .L80077F58: /* 078B58 80077F58 27BD0018 */ addiu $sp, $sp, 0x18 /* 078B5C 80077F5C 03E00008 */ jr $ra /* 078B60 80077F60 00000000 */ nop glabel func_80077F64 /* 078B64 80077F64 000470C0 */ sll $t6, $a0, 3 /* 078B68 80077F68 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 078B6C 80077F6C 01C47023 */ subu $t6, $t6, $a0 /* 078B70 80077F70 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 078B74 80077F74 AFB00014 */ sw $s0, 0x14($sp) /* 078B78 80077F78 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 078B7C 80077F7C 000E7140 */ sll $t6, $t6, 5 /* 078B80 80077F80 01CF8021 */ addu $s0, $t6, $t7 /* 078B84 80077F84 860200AE */ lh $v0, 0xae($s0) /* 078B88 80077F88 AFB10018 */ sw $s1, 0x18($sp) /* 078B8C 80077F8C 00808825 */ move $s1, $a0 /* 078B90 80077F90 AFBF001C */ sw $ra, 0x1c($sp) /* 078B94 80077F94 10400048 */ beqz $v0, .L800780B8 /* 078B98 80077F98 00A03825 */ move $a3, $a1 /* 078B9C 80077F9C 24010001 */ li $at, 1 /* 078BA0 80077FA0 10410009 */ beq $v0, $at, .L80077FC8 /* 078BA4 80077FA4 24044000 */ li $a0, 16384 /* 078BA8 80077FA8 24010002 */ li $at, 2 /* 078BAC 80077FAC 1041002D */ beq $v0, $at, .L80078064 /* 078BB0 80077FB0 02202025 */ move $a0, $s1 /* 078BB4 80077FB4 24010003 */ li $at, 3 /* 078BB8 80077FB8 1041003D */ beq $v0, $at, .L800780B0 /* 078BBC 80077FBC 00000000 */ nop /* 078BC0 80077FC0 1000003E */ b .L800780BC /* 078BC4 80077FC4 8FBF001C */ lw $ra, 0x1c($sp) .L80077FC8: /* 078BC8 80077FC8 0C0ADF8D */ jal random_int /* 078BCC 80077FCC AFA70024 */ sw $a3, 0x24($sp) /* 078BD0 80077FD0 8FA70024 */ lw $a3, 0x24($sp) /* 078BD4 80077FD4 02202025 */ move $a0, $s1 /* 078BD8 80077FD8 240500B4 */ li $a1, 180 /* 078BDC 80077FDC 84F80026 */ lh $t8, 0x26($a3) /* 078BE0 80077FE0 24060014 */ li $a2, 20 /* 078BE4 80077FE4 0058C821 */ addu $t9, $v0, $t8 /* 078BE8 80077FE8 2728E000 */ addiu $t0, $t9, -0x2000 /* 078BEC 80077FEC 0C022EAD */ jal func_8008BAB4 /* 078BF0 80077FF0 A60800C0 */ sh $t0, 0xc0($s0) /* 078BF4 80077FF4 0C0ADF8D */ jal random_int /* 078BF8 80077FF8 24040064 */ li $a0, 100 /* 078BFC 80077FFC 44822000 */ mtc1 $v0, $f4 /* 078C00 80078000 44800000 */ mtc1 $zero, $f0 /* 078C04 80078004 04410006 */ bgez $v0, .L80078020 /* 078C08 80078008 468021A1 */ cvt.d.w $f6, $f4 /* 078C0C 8007800C 3C0141F0 */ li $at, 0x41F00000 # 30.000000 /* 078C10 80078010 44814800 */ mtc1 $at, $f9 /* 078C14 80078014 44804000 */ mtc1 $zero, $f8 /* 078C18 80078018 00000000 */ nop /* 078C1C 8007801C 46283180 */ add.d $f6, $f6, $f8 .L80078020: /* 078C20 80078020 3C01800F */ lui $at, %hi(D_800EEB40) /* 078C24 80078024 D42AEB40 */ ldc1 $f10, %lo(D_800EEB40)($at) /* 078C28 80078028 3C01BFE8 */ li $at, 0xBFE80000 # -1.812500 /* 078C2C 8007802C 44814800 */ mtc1 $at, $f9 /* 078C30 80078030 462A3402 */ mul.d $f16, $f6, $f10 /* 078C34 80078034 44804000 */ mtc1 $zero, $f8 /* 078C38 80078038 E6000028 */ swc1 $f0, 0x28($s0) /* 078C3C 8007803C E600002C */ swc1 $f0, 0x2c($s0) /* 078C40 80078040 02202025 */ move $a0, $s1 /* 078C44 80078044 462084A0 */ cvt.s.d $f18, $f16 /* 078C48 80078048 46009121 */ cvt.d.s $f4, $f18 /* 078C4C 8007804C 46244181 */ sub.d $f6, $f8, $f4 /* 078C50 80078050 462032A0 */ cvt.s.d $f10, $f6 /* 078C54 80078054 0C021BF5 */ jal func_80086FD4 /* 078C58 80078058 E60A003C */ swc1 $f10, 0x3c($s0) /* 078C5C 8007805C 10000017 */ b .L800780BC /* 078C60 80078060 8FBF001C */ lw $ra, 0x1c($sp) .L80078064: /* 078C64 80078064 960500C0 */ lhu $a1, 0xc0($s0) /* 078C68 80078068 0C01DFAE */ jal func_80077EB8 /* 078C6C 8007806C 00E03025 */ move $a2, $a3 /* 078C70 80078070 0C021DF1 */ jal func_800877C4 /* 078C74 80078074 02202025 */ move $a0, $s1 /* 078C78 80078078 0C022FC6 */ jal func_8008BF18 /* 078C7C 8007807C 02202025 */ move $a0, $s1 /* 078C80 80078080 0C022FF0 */ jal func_8008BFC0 /* 078C84 80078084 02202025 */ move $a0, $s1 /* 078C88 80078088 44800000 */ mtc1 $zero, $f0 /* 078C8C 8007808C C6100008 */ lwc1 $f16, 8($s0) /* 078C90 80078090 4600803E */ c.le.s $f16, $f0 /* 078C94 80078094 00000000 */ nop /* 078C98 80078098 45020008 */ bc1fl .L800780BC /* 078C9C 8007809C 8FBF001C */ lw $ra, 0x1c($sp) /* 078CA0 800780A0 0C021BF5 */ jal func_80086FD4 /* 078CA4 800780A4 02202025 */ move $a0, $s1 /* 078CA8 800780A8 10000004 */ b .L800780BC /* 078CAC 800780AC 8FBF001C */ lw $ra, 0x1c($sp) .L800780B0: /* 078CB0 800780B0 0C021BD8 */ jal func_80086F60 /* 078CB4 800780B4 02202025 */ move $a0, $s1 .L800780B8: /* 078CB8 800780B8 8FBF001C */ lw $ra, 0x1c($sp) .L800780BC: /* 078CBC 800780BC 8FB00014 */ lw $s0, 0x14($sp) /* 078CC0 800780C0 8FB10018 */ lw $s1, 0x18($sp) /* 078CC4 800780C4 03E00008 */ jr $ra /* 078CC8 800780C8 27BD0020 */ addiu $sp, $sp, 0x20 glabel func_800780CC /* 078CCC 800780CC 000470C0 */ sll $t6, $a0, 3 /* 078CD0 800780D0 01C47023 */ subu $t6, $t6, $a0 /* 078CD4 800780D4 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 078CD8 800780D8 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 078CDC 800780DC 000E7140 */ sll $t6, $t6, 5 /* 078CE0 800780E0 01CF1821 */ addu $v1, $t6, $t7 /* 078CE4 800780E4 846200A6 */ lh $v0, 0xa6($v1) /* 078CE8 800780E8 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 078CEC 800780EC AFBF0014 */ sw $ra, 0x14($sp) /* 078CF0 800780F0 1040001B */ beqz $v0, .L80078160 /* 078CF4 800780F4 24010001 */ li $at, 1 /* 078CF8 800780F8 10410007 */ beq $v0, $at, .L80078118 /* 078CFC 800780FC 24010002 */ li $at, 2 /* 078D00 80078100 10410009 */ beq $v0, $at, .L80078128 /* 078D04 80078104 24010003 */ li $at, 3 /* 078D08 80078108 10410013 */ beq $v0, $at, .L80078158 /* 078D0C 8007810C 00000000 */ nop /* 078D10 80078110 10000014 */ b .L80078164 /* 078D14 80078114 8FBF0014 */ lw $ra, 0x14($sp) .L80078118: /* 078D18 80078118 0C01DF88 */ jal func_80077E20 /* 078D1C 8007811C 00000000 */ nop /* 078D20 80078120 10000010 */ b .L80078164 /* 078D24 80078124 8FBF0014 */ lw $ra, 0x14($sp) .L80078128: /* 078D28 80078128 AFA30018 */ sw $v1, 0x18($sp) /* 078D2C 8007812C 0C01DFD9 */ jal func_80077F64 /* 078D30 80078130 AFA40020 */ sw $a0, 0x20($sp) /* 078D34 80078134 8FA30018 */ lw $v1, 0x18($sp) /* 078D38 80078138 8FA40020 */ lw $a0, 0x20($sp) /* 078D3C 8007813C 847800AE */ lh $t8, 0xae($v1) /* 078D40 80078140 57000008 */ bnel $t8, $zero, .L80078164 /* 078D44 80078144 8FBF0014 */ lw $ra, 0x14($sp) /* 078D48 80078148 0C01C922 */ jal func_80072488 /* 078D4C 8007814C 00000000 */ nop /* 078D50 80078150 10000004 */ b .L80078164 /* 078D54 80078154 8FBF0014 */ lw $ra, 0x14($sp) .L80078158: /* 078D58 80078158 0C01C90A */ jal func_80072428 /* 078D5C 8007815C 00000000 */ nop .L80078160: /* 078D60 80078160 8FBF0014 */ lw $ra, 0x14($sp) .L80078164: /* 078D64 80078164 27BD0020 */ addiu $sp, $sp, 0x20 /* 078D68 80078168 03E00008 */ jr $ra /* 078D6C 8007816C 00000000 */ nop glabel func_80078170 /* 078D70 80078170 27BDFFD0 */ addiu $sp, $sp, -0x30 /* 078D74 80078174 AFBF002C */ sw $ra, 0x2c($sp) /* 078D78 80078178 AFB40028 */ sw $s4, 0x28($sp) /* 078D7C 8007817C AFB20020 */ sw $s2, 0x20($sp) /* 078D80 80078180 00809025 */ move $s2, $a0 /* 078D84 80078184 00A0A025 */ move $s4, $a1 /* 078D88 80078188 AFB30024 */ sw $s3, 0x24($sp) /* 078D8C 8007818C AFB1001C */ sw $s1, 0x1c($sp) /* 078D90 80078190 0C01DF57 */ jal func_80077D5C /* 078D94 80078194 AFB00018 */ sw $s0, 0x18($sp) /* 078D98 80078198 3C028019 */ lui $v0, %hi(D_8018D1F0) # $v0, 0x8019 /* 078D9C 8007819C 8C42D1F0 */ lw $v0, %lo(D_8018D1F0)($v0) /* 078DA0 800781A0 00008825 */ move $s1, $zero /* 078DA4 800781A4 00127080 */ sll $t6, $s2, 2 /* 078DA8 800781A8 18400015 */ blez $v0, .L80078200 /* 078DAC 800781AC 3C0F8019 */ lui $t7, %hi(D_8018CC80) # $t7, 0x8019 /* 078DB0 800781B0 25EFCC80 */ addiu $t7, %lo(D_8018CC80) # addiu $t7, $t7, -0x3380 /* 078DB4 800781B4 3C128016 */ lui $s2, %hi(D_80165C18) # $s2, 0x8016 /* 078DB8 800781B8 26525C18 */ addiu $s2, %lo(D_80165C18) # addiu $s2, $s2, 0x5c18 /* 078DBC 800781BC 01CF8021 */ addu $s0, $t6, $t7 /* 078DC0 800781C0 241300E0 */ li $s3, 224 .L800781C4: /* 078DC4 800781C4 8E040000 */ lw $a0, ($s0) /* 078DC8 800781C8 00930019 */ multu $a0, $s3 /* 078DCC 800781CC 0000C012 */ mflo $t8 /* 078DD0 800781D0 0258C821 */ addu $t9, $s2, $t8 /* 078DD4 800781D4 872800A6 */ lh $t0, 0xa6($t9) /* 078DD8 800781D8 51000006 */ beql $t0, $zero, .L800781F4 /* 078DDC 800781DC 26310001 */ addiu $s1, $s1, 1 /* 078DE0 800781E0 0C01E033 */ jal func_800780CC /* 078DE4 800781E4 02802825 */ move $a1, $s4 /* 078DE8 800781E8 3C028019 */ lui $v0, %hi(D_8018D1F0) # $v0, 0x8019 /* 078DEC 800781EC 8C42D1F0 */ lw $v0, %lo(D_8018D1F0)($v0) /* 078DF0 800781F0 26310001 */ addiu $s1, $s1, 1 .L800781F4: /* 078DF4 800781F4 0222082A */ slt $at, $s1, $v0 /* 078DF8 800781F8 1420FFF2 */ bnez $at, .L800781C4 /* 078DFC 800781FC 26100004 */ addiu $s0, $s0, 4 .L80078200: /* 078E00 80078200 8FBF002C */ lw $ra, 0x2c($sp) /* 078E04 80078204 8FB00018 */ lw $s0, 0x18($sp) /* 078E08 80078208 8FB1001C */ lw $s1, 0x1c($sp) /* 078E0C 8007820C 8FB20020 */ lw $s2, 0x20($sp) /* 078E10 80078210 8FB30024 */ lw $s3, 0x24($sp) /* 078E14 80078214 8FB40028 */ lw $s4, 0x28($sp) /* 078E18 80078218 03E00008 */ jr $ra /* 078E1C 8007821C 27BD0030 */ addiu $sp, $sp, 0x30 glabel func_80078220 /* 078E20 80078220 000470C0 */ sll $t6, $a0, 3 /* 078E24 80078224 01C47023 */ subu $t6, $t6, $a0 /* 078E28 80078228 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 078E2C 8007822C 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 078E30 80078230 000E7140 */ sll $t6, $t6, 5 /* 078E34 80078234 3C030D03 */ lui $v1, %hi(D_0D0293D8) # $v1, 0xd03 /* 078E38 80078238 01CF1021 */ addu $v0, $t6, $t7 /* 078E3C 8007823C 246393D8 */ addiu $v1, %lo(D_0D0293D8) # addiu $v1, $v1, -0x6c28 /* 078E40 80078240 3C180D00 */ lui $t8, %hi(D_0D005770) # $t8, 0xd00 /* 078E44 80078244 27185770 */ addiu $t8, %lo(D_0D005770) # addiu $t8, $t8, 0x5770 /* 078E48 80078248 AC430064 */ sw $v1, 0x64($v0) /* 078E4C 8007824C AC43006C */ sw $v1, 0x6c($v0) /* 078E50 80078250 AC580074 */ sw $t8, 0x74($v0) /* 078E54 80078254 3C01800F */ lui $at, %hi(D_800EEB48) # $at, 0x800f /* 078E58 80078258 C424EB48 */ lwc1 $f4, %lo(D_800EEB48)($at) /* 078E5C 8007825C 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 078E60 80078260 AFBF0014 */ sw $ra, 0x14($sp) /* 078E64 80078264 AFA40018 */ sw $a0, 0x18($sp) /* 078E68 80078268 0C021BBC */ jal func_80086EF0 /* 078E6C 8007826C E4440000 */ swc1 $f4, ($v0) /* 078E70 80078270 0C01C922 */ jal func_80072488 /* 078E74 80078274 8FA40018 */ lw $a0, 0x18($sp) /* 078E78 80078278 8FBF0014 */ lw $ra, 0x14($sp) /* 078E7C 8007827C 27BD0018 */ addiu $sp, $sp, 0x18 /* 078E80 80078280 03E00008 */ jr $ra /* 078E84 80078284 00000000 */ nop glabel func_80078288 /* 078E88 80078288 000478C0 */ sll $t7, $a0, 3 /* 078E8C 8007828C 27BDFFC0 */ addiu $sp, $sp, -0x40 /* 078E90 80078290 01E47823 */ subu $t7, $t7, $a0 /* 078E94 80078294 3C188016 */ lui $t8, %hi(D_80165C18) # $t8, 0x8016 /* 078E98 80078298 AFB00018 */ sw $s0, 0x18($sp) /* 078E9C 8007829C 27185C18 */ addiu $t8, %lo(D_80165C18) # addiu $t8, $t8, 0x5c18 /* 078EA0 800782A0 000F7940 */ sll $t7, $t7, 5 /* 078EA4 800782A4 01F88021 */ addu $s0, $t7, $t8 /* 078EA8 800782A8 860200AE */ lh $v0, 0xae($s0) /* 078EAC 800782AC AFBF001C */ sw $ra, 0x1c($sp) /* 078EB0 800782B0 AFA40040 */ sw $a0, 0x40($sp) /* 078EB4 800782B4 10400108 */ beqz $v0, .L800786D8 /* 078EB8 800782B8 24010001 */ li $at, 1 /* 078EBC 800782BC 10410008 */ beq $v0, $at, .L800782E0 /* 078EC0 800782C0 3C19800E */ lui $t9, %hi(D_800DC50C) # $t9, 0x800e /* 078EC4 800782C4 24010002 */ li $at, 2 /* 078EC8 800782C8 104100E4 */ beq $v0, $at, .L8007865C /* 078ECC 800782CC 24010003 */ li $at, 3 /* 078ED0 800782D0 104100FF */ beq $v0, $at, .L800786D0 /* 078ED4 800782D4 00000000 */ nop /* 078ED8 800782D8 10000100 */ b .L800786DC /* 078EDC 800782DC 8FBF001C */ lw $ra, 0x1c($sp) .L800782E0: /* 078EE0 800782E0 8F39C50C */ lw $t9, %lo(D_800DC50C)($t9) /* 078EE4 800782E4 24010009 */ li $at, 9 /* 078EE8 800782E8 13210081 */ beq $t9, $at, .L800784F0 /* 078EEC 800782EC 3C08800E */ lui $t0, %hi(D_800DC4FC) # $t0, 0x800e /* 078EF0 800782F0 8D08C4FC */ lw $t0, %lo(D_800DC4FC)($t0) /* 078EF4 800782F4 3C014190 */ li $at, 0x41900000 # 18.000000 /* 078EF8 800782F8 44813000 */ mtc1 $at, $f6 /* 078EFC 800782FC C5040094 */ lwc1 $f4, 0x94($t0) /* 078F00 80078300 3C014358 */ li $at, 0x43580000 # 216.000000 /* 078F04 80078304 44815000 */ mtc1 $at, $f10 /* 078F08 80078308 46062203 */ div.s $f8, $f4, $f6 /* 078F0C 8007830C 3C014000 */ li $at, 0x40000000 # 2.000000 /* 078F10 80078310 44819000 */ mtc1 $at, $f18 /* 078F14 80078314 2404000F */ li $a0, 15 /* 078F18 80078318 460A4402 */ mul.s $f16, $f8, $f10 /* 078F1C 8007831C 46128103 */ div.s $f4, $f16, $f18 /* 078F20 80078320 4600218D */ trunc.w.s $f6, $f4 /* 078F24 80078324 440A3000 */ mfc1 $t2, $f6 /* 078F28 80078328 0C0ADF8D */ jal random_int /* 078F2C 8007832C A7AA003A */ sh $t2, 0x3a($sp) /* 078F30 80078330 87AB003A */ lh $t3, 0x3a($sp) /* 078F34 80078334 2404012C */ li $a0, 300 /* 078F38 80078338 004B6023 */ subu $t4, $v0, $t3 /* 078F3C 8007833C 258D002D */ addiu $t5, $t4, 0x2d /* 078F40 80078340 0C0ADF8D */ jal random_int /* 078F44 80078344 A7AD003E */ sh $t5, 0x3e($sp) /* 078F48 80078348 244E001E */ addiu $t6, $v0, 0x1e /* 078F4C 8007834C A7AE003C */ sh $t6, 0x3c($sp) /* 078F50 80078350 0C0ADF8D */ jal random_int /* 078F54 80078354 24043000 */ li $a0, 12288 /* 078F58 80078358 87B8003A */ lh $t8, 0x3a($sp) /* 078F5C 8007835C 2401000F */ li $at, 15 /* 078F60 80078360 244FE800 */ addiu $t7, $v0, -0x1800 /* 078F64 80078364 0301001A */ div $zero, $t8, $at /* 078F68 80078368 0000C812 */ mflo $t9 /* 078F6C 8007836C 27280001 */ addiu $t0, $t9, 1 /* 078F70 80078370 00084C00 */ sll $t1, $t0, 0x10 /* 078F74 80078374 00095403 */ sra $t2, $t1, 0x10 /* 078F78 80078378 01EA001A */ div $zero, $t7, $t2 /* 078F7C 8007837C 3C0C800E */ lui $t4, %hi(D_800DDB40) # $t4, 0x800e /* 078F80 80078380 8D8CDB40 */ lw $t4, %lo(D_800DDB40)($t4) /* 078F84 80078384 00005812 */ mflo $t3 /* 078F88 80078388 858D0026 */ lh $t5, 0x26($t4) /* 078F8C 8007838C 15400002 */ bnez $t2, .L80078398 /* 078F90 80078390 00000000 */ nop /* 078F94 80078394 0007000D */ break 7 .L80078398: /* 078F98 80078398 2401FFFF */ li $at, -1 /* 078F9C 8007839C 15410004 */ bne $t2, $at, .L800783B0 /* 078FA0 800783A0 3C018000 */ lui $at, 0x8000 /* 078FA4 800783A4 15E10002 */ bne $t7, $at, .L800783B0 /* 078FA8 800783A8 00000000 */ nop /* 078FAC 800783AC 0006000D */ break 6 .L800783B0: /* 078FB0 800783B0 016D2021 */ addu $a0, $t3, $t5 /* 078FB4 800783B4 308EFFFF */ andi $t6, $a0, 0xffff /* 078FB8 800783B8 01C02025 */ move $a0, $t6 /* 078FBC 800783BC 0C0AE006 */ jal func_802B8018 /* 078FC0 800783C0 A7AE0036 */ sh $t6, 0x36($sp) /* 078FC4 800783C4 87B8003C */ lh $t8, 0x3c($sp) /* 078FC8 800783C8 3C02800E */ lui $v0, %hi(D_800DC4FC) # $v0, 0x800e /* 078FCC 800783CC 8C42C4FC */ lw $v0, %lo(D_800DC4FC)($v0) /* 078FD0 800783D0 44984000 */ mtc1 $t8, $f8 /* 078FD4 800783D4 87B9003E */ lh $t9, 0x3e($sp) /* 078FD8 800783D8 C4500014 */ lwc1 $f16, 0x14($v0) /* 078FDC 800783DC 468040A0 */ cvt.s.w $f2, $f8 /* 078FE0 800783E0 44992000 */ mtc1 $t9, $f4 /* 078FE4 800783E4 97A40036 */ lhu $a0, 0x36($sp) /* 078FE8 800783E8 468021A0 */ cvt.s.w $f6, $f4 /* 078FEC 800783EC 46020282 */ mul.s $f10, $f0, $f2 /* 078FF0 800783F0 46105480 */ add.s $f18, $f10, $f16 /* 078FF4 800783F4 E6120010 */ swc1 $f18, 0x10($s0) /* 078FF8 800783F8 C4480074 */ lwc1 $f8, 0x74($v0) /* 078FFC 800783FC E7A20024 */ swc1 $f2, 0x24($sp) /* 079000 80078400 46083280 */ add.s $f10, $f6, $f8 /* 079004 80078404 0C0AE00E */ jal func_802B8038 /* 079008 80078408 E60A0014 */ swc1 $f10, 0x14($s0) /* 07900C 8007840C C7A20024 */ lwc1 $f2, 0x24($sp) /* 079010 80078410 3C08800E */ lui $t0, %hi(D_800DC4FC) # $t0, 0x800e /* 079014 80078414 8D08C4FC */ lw $t0, %lo(D_800DC4FC)($t0) /* 079018 80078418 46020402 */ mul.s $f16, $f0, $f2 /* 07901C 8007841C 24040400 */ li $a0, 1024 /* 079020 80078420 C512001C */ lwc1 $f18, 0x1c($t0) /* 079024 80078424 46128100 */ add.s $f4, $f16, $f18 /* 079028 80078428 0C0ADF8D */ jal random_int /* 07902C 8007842C E6040018 */ swc1 $f4, 0x18($s0) /* 079030 80078430 24490100 */ addiu $t1, $v0, 0x100 /* 079034 80078434 A60900C4 */ sh $t1, 0xc4($s0) /* 079038 80078438 0C0ADF8D */ jal random_int /* 07903C 8007843C 24040064 */ li $a0, 100 /* 079040 80078440 44823000 */ mtc1 $v0, $f6 /* 079044 80078444 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 /* 079048 80078448 04410004 */ bgez $v0, .L8007845C /* 07904C 8007844C 46803220 */ cvt.s.w $f8, $f6 /* 079050 80078450 44815000 */ mtc1 $at, $f10 /* 079054 80078454 00000000 */ nop /* 079058 80078458 460A4200 */ add.s $f8, $f8, $f10 .L8007845C: /* 07905C 8007845C 3C01800F */ lui $at, %hi(D_800EEB50) /* 079060 80078460 D432EB50 */ ldc1 $f18, %lo(D_800EEB50)($at) /* 079064 80078464 46004421 */ cvt.d.s $f16, $f8 /* 079068 80078468 3C014000 */ li $at, 0x40000000 # 2.000000 /* 07906C 8007846C 46328102 */ mul.d $f4, $f16, $f18 /* 079070 80078470 44813800 */ mtc1 $at, $f7 /* 079074 80078474 44803000 */ mtc1 $zero, $f6 /* 079078 80078478 24040032 */ li $a0, 50 /* 07907C 8007847C 46262280 */ add.d $f10, $f4, $f6 /* 079080 80078480 46205220 */ cvt.s.d $f8, $f10 /* 079084 80078484 0C0ADF8D */ jal random_int /* 079088 80078488 E608001C */ swc1 $f8, 0x1c($s0) /* 07908C 8007848C 44828000 */ mtc1 $v0, $f16 /* 079090 80078490 44800000 */ mtc1 $zero, $f0 /* 079094 80078494 04410006 */ bgez $v0, .L800784B0 /* 079098 80078498 468084A1 */ cvt.d.w $f18, $f16 /* 07909C 8007849C 3C0141F0 */ li $at, 0x41F00000 # 30.000000 /* 0790A0 800784A0 44812800 */ mtc1 $at, $f5 /* 0790A4 800784A4 44802000 */ mtc1 $zero, $f4 /* 0790A8 800784A8 00000000 */ nop /* 0790AC 800784AC 46249480 */ add.d $f18, $f18, $f4 .L800784B0: /* 0790B0 800784B0 3C01800F */ lui $at, %hi(D_800EEB58) /* 0790B4 800784B4 D426EB58 */ ldc1 $f6, %lo(D_800EEB58)($at) /* 0790B8 800784B8 3C01800F */ lui $at, %hi(D_800EEB60) /* 0790BC 800784BC D424EB60 */ ldc1 $f4, %lo(D_800EEB60)($at) /* 0790C0 800784C0 46269282 */ mul.d $f10, $f18, $f6 /* 0790C4 800784C4 E6000028 */ swc1 $f0, 0x28($s0) /* 0790C8 800784C8 E600002C */ swc1 $f0, 0x2c($s0) /* 0790CC 800784CC 8FA40040 */ lw $a0, 0x40($sp) /* 0790D0 800784D0 46205220 */ cvt.s.d $f8, $f10 /* 0790D4 800784D4 46004421 */ cvt.d.s $f16, $f8 /* 0790D8 800784D8 46302481 */ sub.d $f18, $f4, $f16 /* 0790DC 800784DC 462091A0 */ cvt.s.d $f6, $f18 /* 0790E0 800784E0 0C021BF5 */ jal func_80086FD4 /* 0790E4 800784E4 E606003C */ swc1 $f6, 0x3c($s0) /* 0790E8 800784E8 1000007C */ b .L800786DC /* 0790EC 800784EC 8FBF001C */ lw $ra, 0x1c($sp) .L800784F0: /* 0790F0 800784F0 0C0ADF8D */ jal random_int /* 0790F4 800784F4 24040064 */ li $a0, 100 /* 0790F8 800784F8 244F0028 */ addiu $t7, $v0, 0x28 /* 0790FC 800784FC A7AF003C */ sh $t7, 0x3c($sp) /* 079100 80078500 0C0ADF8D */ jal random_int /* 079104 80078504 24043000 */ li $a0, 12288 /* 079108 80078508 3C0A800E */ lui $t2, %hi(D_800DDB40) # $t2, 0x800e /* 07910C 8007850C 8D4ADB40 */ lw $t2, %lo(D_800DDB40)($t2) /* 079110 80078510 854C0026 */ lh $t4, 0x26($t2) /* 079114 80078514 004C2021 */ addu $a0, $v0, $t4 /* 079118 80078518 2484E800 */ addiu $a0, $a0, -0x1800 /* 07911C 8007851C 308BFFFF */ andi $t3, $a0, 0xffff /* 079120 80078520 01602025 */ move $a0, $t3 /* 079124 80078524 0C0AE006 */ jal func_802B8018 /* 079128 80078528 A7AB0036 */ sh $t3, 0x36($sp) /* 07912C 8007852C 87AD003C */ lh $t5, 0x3c($sp) /* 079130 80078530 3C02800E */ lui $v0, %hi(D_800DDB40) # $v0, 0x800e /* 079134 80078534 8C42DB40 */ lw $v0, %lo(D_800DDB40)($v0) /* 079138 80078538 448D5000 */ mtc1 $t5, $f10 /* 07913C 8007853C 3C01800F */ lui $at, %hi(D_800EEB68) /* 079140 80078540 C4440000 */ lwc1 $f4, ($v0) /* 079144 80078544 468050A0 */ cvt.s.w $f2, $f10 /* 079148 80078548 97A40036 */ lhu $a0, 0x36($sp) /* 07914C 8007854C 46020202 */ mul.s $f8, $f0, $f2 /* 079150 80078550 46044400 */ add.s $f16, $f8, $f4 /* 079154 80078554 E6100010 */ swc1 $f16, 0x10($s0) /* 079158 80078558 C4520004 */ lwc1 $f18, 4($v0) /* 07915C 8007855C D42AEB68 */ ldc1 $f10, %lo(D_800EEB68)($at) /* 079160 80078560 E7A20024 */ swc1 $f2, 0x24($sp) /* 079164 80078564 460091A1 */ cvt.d.s $f6, $f18 /* 079168 80078568 462A3200 */ add.d $f8, $f6, $f10 /* 07916C 8007856C 46204120 */ cvt.s.d $f4, $f8 /* 079170 80078570 0C0AE00E */ jal func_802B8038 /* 079174 80078574 E6040014 */ swc1 $f4, 0x14($s0) /* 079178 80078578 C7A20024 */ lwc1 $f2, 0x24($sp) /* 07917C 8007857C 3C0E800E */ lui $t6, %hi(D_800DDB40) # $t6, 0x800e /* 079180 80078580 8DCEDB40 */ lw $t6, %lo(D_800DDB40)($t6) /* 079184 80078584 46020402 */ mul.s $f16, $f0, $f2 /* 079188 80078588 24040400 */ li $a0, 1024 /* 07918C 8007858C C5D20008 */ lwc1 $f18, 8($t6) /* 079190 80078590 46128180 */ add.s $f6, $f16, $f18 /* 079194 80078594 0C0ADF8D */ jal random_int /* 079198 80078598 E6060018 */ swc1 $f6, 0x18($s0) /* 07919C 8007859C 24580100 */ addiu $t8, $v0, 0x100 /* 0791A0 800785A0 A61800C4 */ sh $t8, 0xc4($s0) /* 0791A4 800785A4 0C0ADF8D */ jal random_int /* 0791A8 800785A8 24040064 */ li $a0, 100 /* 0791AC 800785AC 44825000 */ mtc1 $v0, $f10 /* 0791B0 800785B0 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 /* 0791B4 800785B4 04410004 */ bgez $v0, .L800785C8 /* 0791B8 800785B8 46805220 */ cvt.s.w $f8, $f10 /* 0791BC 800785BC 44812000 */ mtc1 $at, $f4 /* 0791C0 800785C0 00000000 */ nop /* 0791C4 800785C4 46044200 */ add.s $f8, $f8, $f4 .L800785C8: /* 0791C8 800785C8 3C01800F */ lui $at, %hi(D_800EEB70) /* 0791CC 800785CC D432EB70 */ ldc1 $f18, %lo(D_800EEB70)($at) /* 0791D0 800785D0 46004421 */ cvt.d.s $f16, $f8 /* 0791D4 800785D4 3C014000 */ li $at, 0x40000000 # 2.000000 /* 0791D8 800785D8 46328182 */ mul.d $f6, $f16, $f18 /* 0791DC 800785DC 44815800 */ mtc1 $at, $f11 /* 0791E0 800785E0 44805000 */ mtc1 $zero, $f10 /* 0791E4 800785E4 24040032 */ li $a0, 50 /* 0791E8 800785E8 462A3100 */ add.d $f4, $f6, $f10 /* 0791EC 800785EC 46202220 */ cvt.s.d $f8, $f4 /* 0791F0 800785F0 0C0ADF8D */ jal random_int /* 0791F4 800785F4 E608001C */ swc1 $f8, 0x1c($s0) /* 0791F8 800785F8 44828000 */ mtc1 $v0, $f16 /* 0791FC 800785FC 44800000 */ mtc1 $zero, $f0 /* 079200 80078600 04410006 */ bgez $v0, .L8007861C /* 079204 80078604 468084A1 */ cvt.d.w $f18, $f16 /* 079208 80078608 3C0141F0 */ li $at, 0x41F00000 # 30.000000 /* 07920C 8007860C 44813800 */ mtc1 $at, $f7 /* 079210 80078610 44803000 */ mtc1 $zero, $f6 /* 079214 80078614 00000000 */ nop /* 079218 80078618 46269480 */ add.d $f18, $f18, $f6 .L8007861C: /* 07921C 8007861C 3C01800F */ lui $at, %hi(D_800EEB78) /* 079220 80078620 D42AEB78 */ ldc1 $f10, %lo(D_800EEB78)($at) /* 079224 80078624 3C01800F */ lui $at, %hi(D_800EEB80) /* 079228 80078628 D426EB80 */ ldc1 $f6, %lo(D_800EEB80)($at) /* 07922C 8007862C 462A9102 */ mul.d $f4, $f18, $f10 /* 079230 80078630 E6000028 */ swc1 $f0, 0x28($s0) /* 079234 80078634 E600002C */ swc1 $f0, 0x2c($s0) /* 079238 80078638 8FA40040 */ lw $a0, 0x40($sp) /* 07923C 8007863C 46202220 */ cvt.s.d $f8, $f4 /* 079240 80078640 46004421 */ cvt.d.s $f16, $f8 /* 079244 80078644 46303481 */ sub.d $f18, $f6, $f16 /* 079248 80078648 462092A0 */ cvt.s.d $f10, $f18 /* 07924C 8007864C 0C021BF5 */ jal func_80086FD4 /* 079250 80078650 E60A003C */ swc1 $f10, 0x3c($s0) /* 079254 80078654 10000021 */ b .L800786DC /* 079258 80078658 8FBF001C */ lw $ra, 0x1c($sp) .L8007865C: /* 07925C 8007865C 0C021DF1 */ jal func_800877C4 /* 079260 80078660 8FA40040 */ lw $a0, 0x40($sp) /* 079264 80078664 961900BE */ lhu $t9, 0xbe($s0) /* 079268 80078668 960800C4 */ lhu $t0, 0xc4($s0) /* 07926C 8007866C 03284821 */ addu $t1, $t9, $t0 /* 079270 80078670 A60900BE */ sh $t1, 0xbe($s0) /* 079274 80078674 0C0AE006 */ jal func_802B8018 /* 079278 80078678 3124FFFF */ andi $a0, $t1, 0xffff /* 07927C 8007867C C604001C */ lwc1 $f4, 0x1c($s0) /* 079280 80078680 8FA40040 */ lw $a0, 0x40($sp) /* 079284 80078684 46002202 */ mul.s $f8, $f4, $f0 /* 079288 80078688 0C022FC6 */ jal func_8008BF18 /* 07928C 8007868C E6080028 */ swc1 $f8, 0x28($s0) /* 079290 80078690 C6100008 */ lwc1 $f16, 8($s0) /* 079294 80078694 44803800 */ mtc1 $zero, $f7 /* 079298 80078698 44803000 */ mtc1 $zero, $f6 /* 07929C 8007869C 460084A1 */ cvt.d.s $f18, $f16 /* 0792A0 800786A0 4626903E */ c.le.d $f18, $f6 /* 0792A4 800786A4 00000000 */ nop /* 0792A8 800786A8 45000003 */ bc1f .L800786B8 /* 0792AC 800786AC 00000000 */ nop /* 0792B0 800786B0 0C021BF5 */ jal func_80086FD4 /* 0792B4 800786B4 8FA40040 */ lw $a0, 0x40($sp) .L800786B8: /* 0792B8 800786B8 3C05800E */ lui $a1, %hi(D_800DDB40) # $a1, 0x800e /* 0792BC 800786BC 8CA5DB40 */ lw $a1, %lo(D_800DDB40)($a1) /* 0792C0 800786C0 0C021CB6 */ jal func_800872D8 /* 0792C4 800786C4 8FA40040 */ lw $a0, 0x40($sp) /* 0792C8 800786C8 10000003 */ b .L800786D8 /* 0792CC 800786CC A60200B4 */ sh $v0, 0xb4($s0) .L800786D0: /* 0792D0 800786D0 0C021BD8 */ jal func_80086F60 /* 0792D4 800786D4 8FA40040 */ lw $a0, 0x40($sp) .L800786D8: /* 0792D8 800786D8 8FBF001C */ lw $ra, 0x1c($sp) .L800786DC: /* 0792DC 800786DC 8FB00018 */ lw $s0, 0x18($sp) /* 0792E0 800786E0 27BD0040 */ addiu $sp, $sp, 0x40 /* 0792E4 800786E4 03E00008 */ jr $ra /* 0792E8 800786E8 00000000 */ nop glabel func_800786EC /* 0792EC 800786EC 000470C0 */ sll $t6, $a0, 3 /* 0792F0 800786F0 01C47023 */ subu $t6, $t6, $a0 /* 0792F4 800786F4 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 0792F8 800786F8 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 0792FC 800786FC 000E7140 */ sll $t6, $t6, 5 /* 079300 80078700 01CF1821 */ addu $v1, $t6, $t7 /* 079304 80078704 846200A6 */ lh $v0, 0xa6($v1) /* 079308 80078708 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 07930C 8007870C AFBF0014 */ sw $ra, 0x14($sp) /* 079310 80078710 1040001B */ beqz $v0, .L80078780 /* 079314 80078714 24010001 */ li $at, 1 /* 079318 80078718 10410007 */ beq $v0, $at, .L80078738 /* 07931C 8007871C 24010002 */ li $at, 2 /* 079320 80078720 10410009 */ beq $v0, $at, .L80078748 /* 079324 80078724 24010003 */ li $at, 3 /* 079328 80078728 10410013 */ beq $v0, $at, .L80078778 /* 07932C 8007872C 00000000 */ nop /* 079330 80078730 10000014 */ b .L80078784 /* 079334 80078734 8FBF0014 */ lw $ra, 0x14($sp) .L80078738: /* 079338 80078738 0C01E088 */ jal func_80078220 /* 07933C 8007873C 00000000 */ nop /* 079340 80078740 10000010 */ b .L80078784 /* 079344 80078744 8FBF0014 */ lw $ra, 0x14($sp) .L80078748: /* 079348 80078748 AFA30018 */ sw $v1, 0x18($sp) /* 07934C 8007874C 0C01E0A2 */ jal func_80078288 /* 079350 80078750 AFA40020 */ sw $a0, 0x20($sp) /* 079354 80078754 8FA30018 */ lw $v1, 0x18($sp) /* 079358 80078758 8FA40020 */ lw $a0, 0x20($sp) /* 07935C 8007875C 847800AE */ lh $t8, 0xae($v1) /* 079360 80078760 57000008 */ bnel $t8, $zero, .L80078784 /* 079364 80078764 8FBF0014 */ lw $ra, 0x14($sp) /* 079368 80078768 0C01C922 */ jal func_80072488 /* 07936C 8007876C 00000000 */ nop /* 079370 80078770 10000004 */ b .L80078784 /* 079374 80078774 8FBF0014 */ lw $ra, 0x14($sp) .L80078778: /* 079378 80078778 0C01C90A */ jal func_80072428 /* 07937C 8007877C 00000000 */ nop .L80078780: /* 079380 80078780 8FBF0014 */ lw $ra, 0x14($sp) .L80078784: /* 079384 80078784 27BD0020 */ addiu $sp, $sp, 0x20 /* 079388 80078788 03E00008 */ jr $ra /* 07938C 8007878C 00000000 */ nop glabel func_80078790 /* 079390 80078790 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 079394 80078794 3C028019 */ lui $v0, %hi(D_8018D174) # $v0, 0x8019 /* 079398 80078798 3C078019 */ lui $a3, %hi(D_8018C1B0) # $a3, 0x8019 /* 07939C 8007879C 3C058016 */ lui $a1, %hi(D_80165C18) # $a1, 0x8016 /* 0793A0 800787A0 3C048019 */ lui $a0, %hi(D_8018D174) # $a0, 0x8019 /* 0793A4 800787A4 AFBF0014 */ sw $ra, 0x14($sp) /* 0793A8 800787A8 2484D174 */ addiu $a0, %lo(D_8018D174) # addiu $a0, $a0, -0x2e8c /* 0793AC 800787AC 24A55C18 */ addiu $a1, %lo(D_80165C18) # addiu $a1, $a1, 0x5c18 /* 0793B0 800787B0 24E7C1B0 */ addiu $a3, %lo(D_8018C1B0) # addiu $a3, $a3, -0x3e50 /* 0793B4 800787B4 8442D174 */ lh $v0, %lo(D_8018D174)($v0) /* 0793B8 800787B8 00001825 */ move $v1, $zero /* 0793BC 800787BC 24090032 */ li $t1, 50 /* 0793C0 800787C0 240800E0 */ li $t0, 224 /* 0793C4 800787C4 244E0001 */ addiu $t6, $v0, 1 .L800787C8: /* 0793C8 800787C8 A48E0000 */ sh $t6, ($a0) /* 0793CC 800787CC 84820000 */ lh $v0, ($a0) /* 0793D0 800787D0 24630001 */ addiu $v1, $v1, 1 /* 0793D4 800787D4 28410032 */ slti $at, $v0, 0x32 /* 0793D8 800787D8 54200004 */ bnel $at, $zero, .L800787EC /* 0793DC 800787DC 00027880 */ sll $t7, $v0, 2 /* 0793E0 800787E0 A4800000 */ sh $zero, ($a0) /* 0793E4 800787E4 84820000 */ lh $v0, ($a0) /* 0793E8 800787E8 00027880 */ sll $t7, $v0, 2 .L800787EC: /* 0793EC 800787EC 00EFC021 */ addu $t8, $a3, $t7 /* 0793F0 800787F0 8F060000 */ lw $a2, ($t8) /* 0793F4 800787F4 00C80019 */ multu $a2, $t0 /* 0793F8 800787F8 0000C812 */ mflo $t9 /* 0793FC 800787FC 00B95021 */ addu $t2, $a1, $t9 /* 079400 80078800 854B00A6 */ lh $t3, 0xa6($t2) /* 079404 80078804 15600006 */ bnez $t3, .L80078820 /* 079408 80078808 00000000 */ nop /* 07940C 8007880C 00C02025 */ move $a0, $a2 /* 079410 80078810 0C01C8E9 */ jal func_800723A4 /* 079414 80078814 24050001 */ li $a1, 1 /* 079418 80078818 10000004 */ b .L8007882C /* 07941C 8007881C 8FBF0014 */ lw $ra, 0x14($sp) .L80078820: /* 079420 80078820 5469FFE9 */ bnel $v1, $t1, .L800787C8 /* 079424 80078824 244E0001 */ addiu $t6, $v0, 1 /* 079428 80078828 8FBF0014 */ lw $ra, 0x14($sp) .L8007882C: /* 07942C 8007882C 27BD0018 */ addiu $sp, $sp, 0x18 /* 079430 80078830 03E00008 */ jr $ra /* 079434 80078834 00000000 */ nop glabel func_80078838 /* 079438 80078838 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 07943C 8007883C 3C0E800E */ lui $t6, %hi(D_800DC50C) # $t6, 0x800e /* 079440 80078840 8DCEC50C */ lw $t6, %lo(D_800DC50C)($t6) /* 079444 80078844 24010009 */ li $at, 9 /* 079448 80078848 AFBF0024 */ sw $ra, 0x24($sp) /* 07944C 8007884C AFB30020 */ sw $s3, 0x20($sp) /* 079450 80078850 AFB2001C */ sw $s2, 0x1c($sp) /* 079454 80078854 AFB10018 */ sw $s1, 0x18($sp) /* 079458 80078858 11C10005 */ beq $t6, $at, .L80078870 /* 07945C 8007885C AFB00014 */ sw $s0, 0x14($sp) /* 079460 80078860 0C01E1E4 */ jal func_80078790 /* 079464 80078864 00000000 */ nop /* 079468 80078868 10000009 */ b .L80078890 /* 07946C 8007886C 00000000 */ nop .L80078870: /* 079470 80078870 0C01E1E4 */ jal func_80078790 /* 079474 80078874 00000000 */ nop /* 079478 80078878 0C01E1E4 */ jal func_80078790 /* 07947C 8007887C 00000000 */ nop /* 079480 80078880 0C01E1E4 */ jal func_80078790 /* 079484 80078884 00000000 */ nop /* 079488 80078888 0C01E1E4 */ jal func_80078790 /* 07948C 8007888C 00000000 */ nop .L80078890: /* 079490 80078890 3C108019 */ lui $s0, %hi(D_8018C1B0) # $s0, 0x8019 /* 079494 80078894 3C138019 */ lui $s3, %hi(D_8018C278) # $s3, 0x8019 /* 079498 80078898 3C118016 */ lui $s1, %hi(D_80165C18) # $s1, 0x8016 /* 07949C 8007889C 26315C18 */ addiu $s1, %lo(D_80165C18) # addiu $s1, $s1, 0x5c18 /* 0794A0 800788A0 2673C278 */ addiu $s3, %lo(D_8018C278) # addiu $s3, $s3, -0x3d88 /* 0794A4 800788A4 2610C1B0 */ addiu $s0, %lo(D_8018C1B0) # addiu $s0, $s0, -0x3e50 /* 0794A8 800788A8 241200E0 */ li $s2, 224 /* 0794AC 800788AC 8E040000 */ lw $a0, ($s0) .L800788B0: /* 0794B0 800788B0 00920019 */ multu $a0, $s2 /* 0794B4 800788B4 00007812 */ mflo $t7 /* 0794B8 800788B8 022FC021 */ addu $t8, $s1, $t7 /* 0794BC 800788BC 871900A6 */ lh $t9, 0xa6($t8) /* 0794C0 800788C0 53200004 */ beql $t9, $zero, .L800788D4 /* 0794C4 800788C4 26100004 */ addiu $s0, $s0, 4 /* 0794C8 800788C8 0C01E1BB */ jal func_800786EC /* 0794CC 800788CC 00000000 */ nop /* 0794D0 800788D0 26100004 */ addiu $s0, $s0, 4 .L800788D4: /* 0794D4 800788D4 5613FFF6 */ bnel $s0, $s3, .L800788B0 /* 0794D8 800788D8 8E040000 */ lw $a0, ($s0) /* 0794DC 800788DC 8FBF0024 */ lw $ra, 0x24($sp) /* 0794E0 800788E0 8FB00014 */ lw $s0, 0x14($sp) /* 0794E4 800788E4 8FB10018 */ lw $s1, 0x18($sp) /* 0794E8 800788E8 8FB2001C */ lw $s2, 0x1c($sp) /* 0794EC 800788EC 8FB30020 */ lw $s3, 0x20($sp) /* 0794F0 800788F0 03E00008 */ jr $ra /* 0794F4 800788F4 27BD0028 */ addiu $sp, $sp, 0x28 glabel func_800788F8 /* 0794F8 800788F8 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0794FC 800788FC AFBF0014 */ sw $ra, 0x14($sp) /* 079500 80078900 AFA5001C */ sw $a1, 0x1c($sp) /* 079504 80078904 84CF0026 */ lh $t7, 0x26($a2) /* 079508 80078908 3C088019 */ lui $t0, %hi(D_8018D210) # $t0, 0x8019 /* 07950C 8007890C 8508D210 */ lh $t0, %lo(D_8018D210)($t0) /* 079510 80078910 01E51021 */ addu $v0, $t7, $a1 /* 079514 80078914 0002C400 */ sll $t8, $v0, 0x10 /* 079518 80078918 0018CC03 */ sra $t9, $t8, 0x10 /* 07951C 8007891C 0328082A */ slt $at, $t9, $t0 /* 079520 80078920 1420001C */ bnez $at, .L80078994 /* 079524 80078924 03201025 */ move $v0, $t9 /* 079528 80078928 3C098019 */ lui $t1, %hi(D_8018D208) # $t1, 0x8019 /* 07952C 8007892C 8529D208 */ lh $t1, %lo(D_8018D208)($t1) /* 079530 80078930 3C0A8019 */ lui $t2, %hi(D_8018D218) # $t2, 0x8019 /* 079534 80078934 0139082A */ slt $at, $t1, $t9 /* 079538 80078938 14200016 */ bnez $at, .L80078994 /* 07953C 8007893C 00000000 */ nop /* 079540 80078940 44823000 */ mtc1 $v0, $f6 /* 079544 80078944 854AD218 */ lh $t2, %lo(D_8018D218)($t2) /* 079548 80078948 3C018019 */ lui $at, %hi(D_8018D1E8) # $at, 0x8019 /* 07954C 8007894C 46803220 */ cvt.s.w $f8, $f6 /* 079550 80078950 C424D1E8 */ lwc1 $f4, %lo(D_8018D1E8)($at) /* 079554 80078954 448A8000 */ mtc1 $t2, $f16 /* 079558 80078958 000468C0 */ sll $t5, $a0, 3 /* 07955C 8007895C 01A46823 */ subu $t5, $t5, $a0 /* 079560 80078960 468084A0 */ cvt.s.w $f18, $f16 /* 079564 80078964 46082282 */ mul.s $f10, $f4, $f8 /* 079568 80078968 000D6940 */ sll $t5, $t5, 5 /* 07956C 8007896C 3C018016 */ lui $at, %hi(D_80165CB4) # 0x8016 /* 079570 80078970 002D0821 */ addu $at, $at, $t5 /* 079574 80078974 24050010 */ li $a1, 16 /* 079578 80078978 460A9180 */ add.s $f6, $f18, $f10 /* 07957C 8007897C 4600310D */ trunc.w.s $f4, $f6 /* 079580 80078980 440C2000 */ mfc1 $t4, $f4 /* 079584 80078984 0C01C870 */ jal func_800721C0 /* 079588 80078988 A42C5CB4 */ sh $t4, %lo(D_80165CB4)($at) # 0x5cb4($at) /* 07958C 8007898C 10000004 */ b .L800789A0 /* 079590 80078990 8FBF0014 */ lw $ra, 0x14($sp) .L80078994: /* 079594 80078994 0C01C87A */ jal func_800721E8 /* 079598 80078998 24050010 */ li $a1, 16 /* 07959C 8007899C 8FBF0014 */ lw $ra, 0x14($sp) .L800789A0: /* 0795A0 800789A0 27BD0018 */ addiu $sp, $sp, 0x18 /* 0795A4 800789A4 03E00008 */ jr $ra /* 0795A8 800789A8 00000000 */ nop glabel func_800789AC /* 0795AC 800789AC 27BDFFD0 */ addiu $sp, $sp, -0x30 /* 0795B0 800789B0 AFB40028 */ sw $s4, 0x28($sp) /* 0795B4 800789B4 3C148019 */ lui $s4, %hi(D_8018D1F0) # $s4, 0x8019 /* 0795B8 800789B8 2694D1F0 */ addiu $s4, %lo(D_8018D1F0) # addiu $s4, $s4, -0x2e10 /* 0795BC 800789BC 8E8E0000 */ lw $t6, ($s4) /* 0795C0 800789C0 AFB30024 */ sw $s3, 0x24($sp) /* 0795C4 800789C4 AFB20020 */ sw $s2, 0x20($sp) /* 0795C8 800789C8 AFB00018 */ sw $s0, 0x18($sp) /* 0795CC 800789CC 00C09025 */ move $s2, $a2 /* 0795D0 800789D0 00A09825 */ move $s3, $a1 /* 0795D4 800789D4 AFBF002C */ sw $ra, 0x2c($sp) /* 0795D8 800789D8 AFB1001C */ sw $s1, 0x1c($sp) /* 0795DC 800789DC 19C00011 */ blez $t6, .L80078A24 /* 0795E0 800789E0 00008025 */ move $s0, $zero /* 0795E4 800789E4 3C188019 */ lui $t8, %hi(D_8018CC80) # $t8, 0x8019 /* 0795E8 800789E8 2718CC80 */ addiu $t8, %lo(D_8018CC80) # addiu $t8, $t8, -0x3380 /* 0795EC 800789EC 00047880 */ sll $t7, $a0, 2 /* 0795F0 800789F0 01F88821 */ addu $s1, $t7, $t8 /* 0795F4 800789F4 0010C8C0 */ sll $t9, $s0, 3 .L800789F8: /* 0795F8 800789F8 03324021 */ addu $t0, $t9, $s2 /* 0795FC 800789FC 8E240000 */ lw $a0, ($s1) /* 079600 80078A00 95050000 */ lhu $a1, ($t0) /* 079604 80078A04 0C01E23E */ jal func_800788F8 /* 079608 80078A08 02603025 */ move $a2, $s3 /* 07960C 80078A0C 8E890000 */ lw $t1, ($s4) /* 079610 80078A10 26100001 */ addiu $s0, $s0, 1 /* 079614 80078A14 26310004 */ addiu $s1, $s1, 4 /* 079618 80078A18 0209082A */ slt $at, $s0, $t1 /* 07961C 80078A1C 5420FFF6 */ bnel $at, $zero, .L800789F8 /* 079620 80078A20 0010C8C0 */ sll $t9, $s0, 3 .L80078A24: /* 079624 80078A24 8FBF002C */ lw $ra, 0x2c($sp) /* 079628 80078A28 8FB00018 */ lw $s0, 0x18($sp) /* 07962C 80078A2C 8FB1001C */ lw $s1, 0x1c($sp) /* 079630 80078A30 8FB20020 */ lw $s2, 0x20($sp) /* 079634 80078A34 8FB30024 */ lw $s3, 0x24($sp) /* 079638 80078A38 8FB40028 */ lw $s4, 0x28($sp) /* 07963C 80078A3C 03E00008 */ jr $ra /* 079640 80078A40 27BD0030 */ addiu $sp, $sp, 0x30 glabel func_80078A44 /* 079644 80078A44 27BDFFB0 */ addiu $sp, $sp, -0x50 /* 079648 80078A48 AFBE0048 */ sw $fp, 0x48($sp) /* 07964C 80078A4C 3C1E8019 */ lui $fp, %hi(D_8018D1F0) # $fp, 0x8019 /* 079650 80078A50 27DED1F0 */ addiu $fp, %lo(D_8018D1F0) # addiu $fp, $fp, -0x2e10 /* 079654 80078A54 8FCE0000 */ lw $t6, ($fp) /* 079658 80078A58 AFB70044 */ sw $s7, 0x44($sp) /* 07965C 80078A5C AFB60040 */ sw $s6, 0x40($sp) /* 079660 80078A60 AFB30034 */ sw $s3, 0x34($sp) /* 079664 80078A64 00C0B025 */ move $s6, $a2 /* 079668 80078A68 00A0B825 */ move $s7, $a1 /* 07966C 80078A6C AFBF004C */ sw $ra, 0x4c($sp) /* 079670 80078A70 AFB5003C */ sw $s5, 0x3c($sp) /* 079674 80078A74 AFB40038 */ sw $s4, 0x38($sp) /* 079678 80078A78 AFB20030 */ sw $s2, 0x30($sp) /* 07967C 80078A7C AFB1002C */ sw $s1, 0x2c($sp) /* 079680 80078A80 AFB00028 */ sw $s0, 0x28($sp) /* 079684 80078A84 19C0006C */ blez $t6, .L80078C38 /* 079688 80078A88 00009825 */ move $s3, $zero /* 07968C 80078A8C 3C188019 */ lui $t8, %hi(D_8018CC80) # $t8, 0x8019 /* 079690 80078A90 2718CC80 */ addiu $t8, %lo(D_8018CC80) # addiu $t8, $t8, -0x3380 /* 079694 80078A94 00047880 */ sll $t7, $a0, 2 /* 079698 80078A98 3C118016 */ lui $s1, %hi(D_80165C18) # $s1, 0x8016 /* 07969C 80078A9C 26315C18 */ addiu $s1, %lo(D_80165C18) # addiu $s1, $s1, 0x5c18 /* 0796A0 80078AA0 01F8A021 */ addu $s4, $t7, $t8 /* 0796A4 80078AA4 24150005 */ li $s5, 5 /* 0796A8 80078AA8 241200E0 */ li $s2, 224 /* 0796AC 80078AAC 8E900000 */ lw $s0, ($s4) .L80078AB0: /* 0796B0 80078AB0 0013C8C0 */ sll $t9, $s3, 3 /* 0796B4 80078AB4 03364021 */ addu $t0, $t9, $s6 /* 0796B8 80078AB8 95050000 */ lhu $a1, ($t0) /* 0796BC 80078ABC 02E03025 */ move $a2, $s7 /* 0796C0 80078AC0 0C01E23E */ jal func_800788F8 /* 0796C4 80078AC4 02002025 */ move $a0, $s0 /* 0796C8 80078AC8 0275001B */ divu $zero, $s3, $s5 /* 0796CC 80078ACC 00004810 */ mfhi $t1 /* 0796D0 80078AD0 2D210005 */ sltiu $at, $t1, 5 /* 0796D4 80078AD4 16A00002 */ bnez $s5, .L80078AE0 /* 0796D8 80078AD8 00000000 */ nop /* 0796DC 80078ADC 0007000D */ break 7 .L80078AE0: /* 0796E0 80078AE0 00094880 */ sll $t1, $t1, 2 /* 0796E4 80078AE4 1020004E */ beqz $at, .L80078C20 /* 0796E8 80078AE8 3C01800F */ lui $at, %hi(D_800EEB88) /* 0796EC 80078AEC 00290821 */ addu $at, $at, $t1 /* 0796F0 80078AF0 8C29EB88 */ lw $t1, %lo(D_800EEB88)($at) /* 0796F4 80078AF4 01200008 */ jr $t1 /* 0796F8 80078AF8 00000000 */ nop glabel L80078AFC /* 0796FC 80078AFC 02120019 */ multu $s0, $s2 /* 079700 80078B00 240B00FF */ li $t3, 255 /* 079704 80078B04 240CFFFF */ li $t4, -1 /* 079708 80078B08 AFAC0018 */ sw $t4, 0x18($sp) /* 07970C 80078B0C AFAB0010 */ sw $t3, 0x10($sp) /* 079710 80078B10 02002025 */ move $a0, $s0 /* 079714 80078B14 24060028 */ li $a2, 40 /* 079718 80078B18 240700B4 */ li $a3, 180 /* 07971C 80078B1C AFA00014 */ sw $zero, 0x14($sp) /* 079720 80078B20 00005012 */ mflo $t2 /* 079724 80078B24 022A2821 */ addu $a1, $s1, $t2 /* 079728 80078B28 0C01CF2C */ jal func_80073CB0 /* 07972C 80078B2C 24A500A0 */ addiu $a1, $a1, 0xa0 /* 079730 80078B30 1000003C */ b .L80078C24 /* 079734 80078B34 8FCF0000 */ lw $t7, ($fp) glabel L80078B38 /* 079738 80078B38 02120019 */ multu $s0, $s2 /* 07973C 80078B3C 240E00FF */ li $t6, 255 /* 079740 80078B40 240FFFFF */ li $t7, -1 /* 079744 80078B44 AFAF0018 */ sw $t7, 0x18($sp) /* 079748 80078B48 AFAE0010 */ sw $t6, 0x10($sp) /* 07974C 80078B4C 02002025 */ move $a0, $s0 /* 079750 80078B50 24060080 */ li $a2, 128 /* 079754 80078B54 240700FF */ li $a3, 255 /* 079758 80078B58 AFA00014 */ sw $zero, 0x14($sp) /* 07975C 80078B5C 00006812 */ mflo $t5 /* 079760 80078B60 022D2821 */ addu $a1, $s1, $t5 /* 079764 80078B64 0C01CF2C */ jal func_80073CB0 /* 079768 80078B68 24A500A0 */ addiu $a1, $a1, 0xa0 /* 07976C 80078B6C 1000002D */ b .L80078C24 /* 079770 80078B70 8FCF0000 */ lw $t7, ($fp) glabel L80078B74 /* 079774 80078B74 02120019 */ multu $s0, $s2 /* 079778 80078B78 241900FF */ li $t9, 255 /* 07977C 80078B7C 2408FFFF */ li $t0, -1 /* 079780 80078B80 AFA80018 */ sw $t0, 0x18($sp) /* 079784 80078B84 AFB90010 */ sw $t9, 0x10($sp) /* 079788 80078B88 02002025 */ move $a0, $s0 /* 07978C 80078B8C 24060050 */ li $a2, 80 /* 079790 80078B90 240700C8 */ li $a3, 200 /* 079794 80078B94 AFA00014 */ sw $zero, 0x14($sp) /* 079798 80078B98 0000C012 */ mflo $t8 /* 07979C 80078B9C 02382821 */ addu $a1, $s1, $t8 /* 0797A0 80078BA0 0C01CF2C */ jal func_80073CB0 /* 0797A4 80078BA4 24A500A0 */ addiu $a1, $a1, 0xa0 /* 0797A8 80078BA8 1000001E */ b .L80078C24 /* 0797AC 80078BAC 8FCF0000 */ lw $t7, ($fp) glabel L80078BB0 /* 0797B0 80078BB0 02120019 */ multu $s0, $s2 /* 0797B4 80078BB4 240A00FF */ li $t2, 255 /* 0797B8 80078BB8 240BFFFF */ li $t3, -1 /* 0797BC 80078BBC AFAB0018 */ sw $t3, 0x18($sp) /* 0797C0 80078BC0 AFAA0010 */ sw $t2, 0x10($sp) /* 0797C4 80078BC4 02002025 */ move $a0, $s0 /* 0797C8 80078BC8 00003025 */ move $a2, $zero /* 0797CC 80078BCC 2407009B */ li $a3, 155 /* 0797D0 80078BD0 AFA00014 */ sw $zero, 0x14($sp) /* 0797D4 80078BD4 00004812 */ mflo $t1 /* 0797D8 80078BD8 02292821 */ addu $a1, $s1, $t1 /* 0797DC 80078BDC 0C01CF2C */ jal func_80073CB0 /* 0797E0 80078BE0 24A500A0 */ addiu $a1, $a1, 0xa0 /* 0797E4 80078BE4 1000000F */ b .L80078C24 /* 0797E8 80078BE8 8FCF0000 */ lw $t7, ($fp) glabel L80078BEC /* 0797EC 80078BEC 02120019 */ multu $s0, $s2 /* 0797F0 80078BF0 240D00FF */ li $t5, 255 /* 0797F4 80078BF4 240EFFFF */ li $t6, -1 /* 0797F8 80078BF8 AFAE0018 */ sw $t6, 0x18($sp) /* 0797FC 80078BFC AFAD0010 */ sw $t5, 0x10($sp) /* 079800 80078C00 02002025 */ move $a0, $s0 /* 079804 80078C04 2406005A */ li $a2, 90 /* 079808 80078C08 24070080 */ li $a3, 128 /* 07980C 80078C0C AFA00014 */ sw $zero, 0x14($sp) /* 079810 80078C10 00006012 */ mflo $t4 /* 079814 80078C14 022C2821 */ addu $a1, $s1, $t4 /* 079818 80078C18 0C01CF2C */ jal func_80073CB0 /* 07981C 80078C1C 24A500A0 */ addiu $a1, $a1, 0xa0 .L80078C20: /* 079820 80078C20 8FCF0000 */ lw $t7, ($fp) .L80078C24: /* 079824 80078C24 26730001 */ addiu $s3, $s3, 1 /* 079828 80078C28 26940004 */ addiu $s4, $s4, 4 /* 07982C 80078C2C 026F082A */ slt $at, $s3, $t7 /* 079830 80078C30 5420FF9F */ bnel $at, $zero, .L80078AB0 /* 079834 80078C34 8E900000 */ lw $s0, ($s4) .L80078C38: /* 079838 80078C38 8FBF004C */ lw $ra, 0x4c($sp) /* 07983C 80078C3C 8FB00028 */ lw $s0, 0x28($sp) /* 079840 80078C40 8FB1002C */ lw $s1, 0x2c($sp) /* 079844 80078C44 8FB20030 */ lw $s2, 0x30($sp) /* 079848 80078C48 8FB30034 */ lw $s3, 0x34($sp) /* 07984C 80078C4C 8FB40038 */ lw $s4, 0x38($sp) /* 079850 80078C50 8FB5003C */ lw $s5, 0x3c($sp) /* 079854 80078C54 8FB60040 */ lw $s6, 0x40($sp) /* 079858 80078C58 8FB70044 */ lw $s7, 0x44($sp) /* 07985C 80078C5C 8FBE0048 */ lw $fp, 0x48($sp) /* 079860 80078C60 03E00008 */ jr $ra /* 079864 80078C64 27BD0050 */ addiu $sp, $sp, 0x50 /* 079868 80078C68 03E00008 */ jr $ra /* 07986C 80078C6C 00000000 */ nop glabel func_80078C70 /* 079870 80078C70 3C0E8016 */ lui $t6, %hi(D_801657C8) # $t6, 0x8016 /* 079874 80078C74 81CE57C8 */ lb $t6, %lo(D_801657C8)($t6) /* 079878 80078C78 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 07987C 80078C7C AFBF0014 */ sw $ra, 0x14($sp) /* 079880 80078C80 15C000B4 */ bnez $t6, .L80078F54 /* 079884 80078C84 2C810005 */ sltiu $at, $a0, 5 /* 079888 80078C88 10200050 */ beqz $at, .L80078DCC /* 07988C 80078C8C 00047880 */ sll $t7, $a0, 2 /* 079890 80078C90 3C01800F */ lui $at, %hi(D_800EEB9C) # 0x800f /* 079894 80078C94 002F0821 */ addu $at, $at, $t7 /* 079898 80078C98 8C2FEB9C */ lw $t7, %lo(D_800EEB9C)($at) # -0x1464($at) /* 07989C 80078C9C 01E00008 */ jr $t7 /* 0798A0 80078CA0 00000000 */ nop glabel L80078CA4 /* 0798A4 80078CA4 3C018015 */ lui $at, %hi(D_80150130) # $at, 0x8015 /* 0798A8 80078CA8 C4240130 */ lwc1 $f4, %lo(D_80150130)($at) /* 0798AC 80078CAC 3C014220 */ li $at, 0x42200000 # 40.000000 /* 0798B0 80078CB0 44813000 */ mtc1 $at, $f6 /* 0798B4 80078CB4 3C05800E */ lui $a1, %hi(D_800DDB40) # $a1, 0x800e /* 0798B8 80078CB8 8CA5DB40 */ lw $a1, %lo(D_800DDB40)($a1) /* 0798BC 80078CBC 46062200 */ add.s $f8, $f4, $f6 /* 0798C0 80078CC0 3C018019 */ lui $at, %hi(D_8018D200) # $at, 0x8019 /* 0798C4 80078CC4 AFA0001C */ sw $zero, 0x1c($sp) /* 0798C8 80078CC8 AFA50018 */ sw $a1, 0x18($sp) /* 0798CC 80078CCC 4600428D */ trunc.w.s $f10, $f8 /* 0798D0 80078CD0 44195000 */ mfc1 $t9, $f10 /* 0798D4 80078CD4 1000003D */ b .L80078DCC /* 0798D8 80078CD8 A439D200 */ sh $t9, %lo(D_8018D200)($at) glabel L80078CDC /* 0798DC 80078CDC 3C018015 */ lui $at, %hi(D_80150130) # $at, 0x8015 /* 0798E0 80078CE0 C4300130 */ lwc1 $f16, %lo(D_80150130)($at) /* 0798E4 80078CE4 3C014220 */ li $at, 0x42200000 # 40.000000 /* 0798E8 80078CE8 44819000 */ mtc1 $at, $f18 /* 0798EC 80078CEC 3C05800E */ lui $a1, %hi(D_800DDB40) # $a1, 0x800e /* 0798F0 80078CF0 8CA5DB40 */ lw $a1, %lo(D_800DDB40)($a1) /* 0798F4 80078CF4 46128100 */ add.s $f4, $f16, $f18 /* 0798F8 80078CF8 3C018019 */ lui $at, %hi(D_8018D200) # $at, 0x8019 /* 0798FC 80078CFC AFA0001C */ sw $zero, 0x1c($sp) /* 079900 80078D00 AFA50018 */ sw $a1, 0x18($sp) /* 079904 80078D04 4600218D */ trunc.w.s $f6, $f4 /* 079908 80078D08 44093000 */ mfc1 $t1, $f6 /* 07990C 80078D0C 1000002F */ b .L80078DCC /* 079910 80078D10 A429D200 */ sh $t1, %lo(D_8018D200)($at) glabel L80078D14 /* 079914 80078D14 3C018015 */ lui $at, %hi(D_80150134) # $at, 0x8015 /* 079918 80078D18 C4280134 */ lwc1 $f8, %lo(D_80150134)($at) /* 07991C 80078D1C 3C014220 */ li $at, 0x42200000 # 40.000000 /* 079920 80078D20 44815000 */ mtc1 $at, $f10 /* 079924 80078D24 3C05800E */ lui $a1, %hi(D_800DDB44) # $a1, 0x800e /* 079928 80078D28 3C048019 */ lui $a0, %hi(D_8018D1F0) # $a0, 0x8019 /* 07992C 80078D2C 460A4400 */ add.s $f16, $f8, $f10 /* 079930 80078D30 8CA5DB44 */ lw $a1, %lo(D_800DDB44)($a1) /* 079934 80078D34 8C84D1F0 */ lw $a0, %lo(D_8018D1F0)($a0) /* 079938 80078D38 3C018019 */ lui $at, %hi(D_8018D200) # $at, 0x8019 /* 07993C 80078D3C 4600848D */ trunc.w.s $f18, $f16 /* 079940 80078D40 AFA50018 */ sw $a1, 0x18($sp) /* 079944 80078D44 AFA4001C */ sw $a0, 0x1c($sp) /* 079948 80078D48 440B9000 */ mfc1 $t3, $f18 /* 07994C 80078D4C 1000001F */ b .L80078DCC /* 079950 80078D50 A42BD200 */ sh $t3, %lo(D_8018D200)($at) glabel L80078D54 /* 079954 80078D54 3C018015 */ lui $at, %hi(D_80150130) # $at, 0x8015 /* 079958 80078D58 C4240130 */ lwc1 $f4, %lo(D_80150130)($at) /* 07995C 80078D5C 3C014220 */ li $at, 0x42200000 # 40.000000 /* 079960 80078D60 44813000 */ mtc1 $at, $f6 /* 079964 80078D64 3C05800E */ lui $a1, %hi(D_800DDB40) # $a1, 0x800e /* 079968 80078D68 8CA5DB40 */ lw $a1, %lo(D_800DDB40)($a1) /* 07996C 80078D6C 46062200 */ add.s $f8, $f4, $f6 /* 079970 80078D70 3C018019 */ lui $at, %hi(D_8018D200) # $at, 0x8019 /* 079974 80078D74 AFA0001C */ sw $zero, 0x1c($sp) /* 079978 80078D78 AFA50018 */ sw $a1, 0x18($sp) /* 07997C 80078D7C 4600428D */ trunc.w.s $f10, $f8 /* 079980 80078D80 440D5000 */ mfc1 $t5, $f10 /* 079984 80078D84 10000011 */ b .L80078DCC /* 079988 80078D88 A42DD200 */ sh $t5, %lo(D_8018D200)($at) glabel L80078D8C /* 07998C 80078D8C 3C018015 */ lui $at, %hi(D_80150134) # $at, 0x8015 /* 079990 80078D90 C4300134 */ lwc1 $f16, %lo(D_80150134)($at) /* 079994 80078D94 3C014220 */ li $at, 0x42200000 # 40.000000 /* 079998 80078D98 44819000 */ mtc1 $at, $f18 /* 07999C 80078D9C 3C05800E */ lui $a1, %hi(D_800DDB44) # $a1, 0x800e /* 0799A0 80078DA0 3C048019 */ lui $a0, %hi(D_8018D1F0) # $a0, 0x8019 /* 0799A4 80078DA4 46128100 */ add.s $f4, $f16, $f18 /* 0799A8 80078DA8 8CA5DB44 */ lw $a1, %lo(D_800DDB44)($a1) /* 0799AC 80078DAC 8C84D1F0 */ lw $a0, %lo(D_8018D1F0)($a0) /* 0799B0 80078DB0 3C018019 */ lui $at, %hi(D_8018D200) # $at, 0x8019 /* 0799B4 80078DB4 4600218D */ trunc.w.s $f6, $f4 /* 0799B8 80078DB8 AFA50018 */ sw $a1, 0x18($sp) /* 0799BC 80078DBC AFA4001C */ sw $a0, 0x1c($sp) /* 0799C0 80078DC0 440F3000 */ mfc1 $t7, $f6 /* 0799C4 80078DC4 00000000 */ nop /* 0799C8 80078DC8 A42FD200 */ sh $t7, %lo(D_8018D200)($at) .L80078DCC: /* 0799CC 80078DCC 3C028019 */ lui $v0, %hi(D_8018D200) # $v0, 0x8019 /* 0799D0 80078DD0 8442D200 */ lh $v0, %lo(D_8018D200)($v0) /* 0799D4 80078DD4 240600B6 */ li $a2, 182 /* 0799D8 80078DD8 3C0C800E */ lui $t4, %hi(gCurrentCourseId) # $t4, 0x800e /* 0799DC 80078DDC 44825000 */ mtc1 $v0, $f10 /* 0799E0 80078DE0 958CC5A0 */ lhu $t4, %lo(gCurrentCourseId)($t4) /* 0799E4 80078DE4 240B00A0 */ li $t3, 160 /* 0799E8 80078DE8 46805421 */ cvt.d.w $f16, $f10 /* 0799EC 80078DEC 8FA4001C */ lw $a0, 0x1c($sp) /* 0799F0 80078DF0 8FA50018 */ lw $a1, 0x18($sp) /* 0799F4 80078DF4 04410003 */ bgez $v0, .L80078E04 /* 0799F8 80078DF8 00021843 */ sra $v1, $v0, 1 /* 0799FC 80078DFC 24410001 */ addiu $at, $v0, 1 /* 079A00 80078E00 00011843 */ sra $v1, $at, 1 .L80078E04: /* 079A04 80078E04 00660019 */ multu $v1, $a2 /* 079A08 80078E08 00034023 */ negu $t0, $v1 /* 079A0C 80078E0C 3C018019 */ lui $at, %hi(D_8018D208) # $at, 0x8019 /* 079A10 80078E10 0000C012 */ mflo $t8 /* 079A14 80078E14 2719071C */ addiu $t9, $t8, 0x71c /* 079A18 80078E18 A439D208 */ sh $t9, %lo(D_8018D208)($at) /* 079A1C 80078E1C 01060019 */ multu $t0, $a2 /* 079A20 80078E20 3C018019 */ lui $at, %hi(D_8018D210) # $at, 0x8019 /* 079A24 80078E24 00004812 */ mflo $t1 /* 079A28 80078E28 252AF8E4 */ addiu $t2, $t1, -0x71c /* 079A2C 80078E2C A42AD210 */ sh $t2, %lo(D_8018D210)($at) /* 079A30 80078E30 3C01800F */ lui $at, %hi(D_800EEBB0) /* 079A34 80078E34 D428EBB0 */ ldc1 $f8, %lo(D_800EEBB0)($at) /* 079A38 80078E38 3C018019 */ lui $at, %hi(D_8018D1E8) # $at, 0x8019 /* 079A3C 80078E3C 46304483 */ div.d $f18, $f8, $f16 /* 079A40 80078E40 46209120 */ cvt.s.d $f4, $f18 /* 079A44 80078E44 E424D1E8 */ swc1 $f4, %lo(D_8018D1E8)($at) /* 079A48 80078E48 3C018019 */ lui $at, %hi(D_8018D218) # $at, 0x8019 /* 079A4C 80078E4C A42BD218 */ sh $t3, %lo(D_8018D218)($at) /* 079A50 80078E50 2D81000F */ sltiu $at, $t4, 0xf /* 079A54 80078E54 1020003F */ beqz $at, .L80078F54 /* 079A58 80078E58 000C6080 */ sll $t4, $t4, 2 /* 079A5C 80078E5C 3C01800F */ lui $at, %hi(D_800EEBB8) /* 079A60 80078E60 002C0821 */ addu $at, $at, $t4 /* 079A64 80078E64 8C2CEBB8 */ lw $t4, %lo(D_800EEBB8)($at) /* 079A68 80078E68 01800008 */ jr $t4 /* 079A6C 80078E6C 00000000 */ nop glabel L80078E70 /* 079A70 80078E70 3C06800E */ lui $a2, %hi(D_800E6A38) # $a2, 0x800e /* 079A74 80078E74 0C01E26B */ jal func_800789AC /* 079A78 80078E78 24C66A38 */ addiu $a2, %lo(D_800E6A38) # addiu $a2, $a2, 0x6a38 /* 079A7C 80078E7C 10000036 */ b .L80078F58 /* 079A80 80078E80 8FBF0014 */ lw $ra, 0x14($sp) glabel L80078E84 /* 079A84 80078E84 3C06800E */ lui $a2, %hi(D_800E6AA8) # $a2, 0x800e /* 079A88 80078E88 0C01E26B */ jal func_800789AC /* 079A8C 80078E8C 24C66AA8 */ addiu $a2, %lo(D_800E6AA8) # addiu $a2, $a2, 0x6aa8 /* 079A90 80078E90 10000031 */ b .L80078F58 /* 079A94 80078E94 8FBF0014 */ lw $ra, 0x14($sp) glabel L80078E98 /* 079A98 80078E98 0C01E05C */ jal func_80078170 /* 079A9C 80078E9C 00000000 */ nop /* 079AA0 80078EA0 1000002D */ b .L80078F58 /* 079AA4 80078EA4 8FBF0014 */ lw $ra, 0x14($sp) glabel L80078EA8 /* 079AA8 80078EA8 3C06800E */ lui $a2, %hi(D_800E6B00) # $a2, 0x800e /* 079AAC 80078EAC 0C01E26B */ jal func_800789AC /* 079AB0 80078EB0 24C66B00 */ addiu $a2, %lo(D_800E6B00) # addiu $a2, $a2, 0x6b00 /* 079AB4 80078EB4 10000028 */ b .L80078F58 /* 079AB8 80078EB8 8FBF0014 */ lw $ra, 0x14($sp) glabel L80078EBC /* 079ABC 80078EBC 3C06800E */ lui $a2, %hi(D_800E6B38) # $a2, 0x800e /* 079AC0 80078EC0 0C01E26B */ jal func_800789AC /* 079AC4 80078EC4 24C66B38 */ addiu $a2, %lo(D_800E6B38) # addiu $a2, $a2, 0x6b38 /* 079AC8 80078EC8 10000023 */ b .L80078F58 /* 079ACC 80078ECC 8FBF0014 */ lw $ra, 0x14($sp) glabel L80078ED0 /* 079AD0 80078ED0 3C06800E */ lui $a2, %hi(D_800E6A38) # $a2, 0x800e /* 079AD4 80078ED4 0C01E26B */ jal func_800789AC /* 079AD8 80078ED8 24C66A38 */ addiu $a2, %lo(D_800E6A38) # addiu $a2, $a2, 0x6a38 /* 079ADC 80078EDC 1000001E */ b .L80078F58 /* 079AE0 80078EE0 8FBF0014 */ lw $ra, 0x14($sp) glabel L80078EE4 /* 079AE4 80078EE4 3C06800E */ lui $a2, %hi(D_800E6AA8) # $a2, 0x800e /* 079AE8 80078EE8 0C01E26B */ jal func_800789AC /* 079AEC 80078EEC 24C66AA8 */ addiu $a2, %lo(D_800E6AA8) # addiu $a2, $a2, 0x6aa8 /* 079AF0 80078EF0 10000019 */ b .L80078F58 /* 079AF4 80078EF4 8FBF0014 */ lw $ra, 0x14($sp) glabel L80078EF8 /* 079AF8 80078EF8 3C06800E */ lui $a2, %hi(D_800E6C80) # $a2, 0x800e /* 079AFC 80078EFC 0C01E291 */ jal func_80078A44 /* 079B00 80078F00 24C66C80 */ addiu $a2, %lo(D_800E6C80) # addiu $a2, $a2, 0x6c80 /* 079B04 80078F04 10000014 */ b .L80078F58 /* 079B08 80078F08 8FBF0014 */ lw $ra, 0x14($sp) glabel L80078F0C /* 079B0C 80078F0C 3C06800E */ lui $a2, %hi(D_800E6C10) # $a2, 0x800e /* 079B10 80078F10 0C01E26B */ jal func_800789AC /* 079B14 80078F14 24C66C10 */ addiu $a2, %lo(D_800E6C10) # addiu $a2, $a2, 0x6c10 /* 079B18 80078F18 1000000F */ b .L80078F58 /* 079B1C 80078F1C 8FBF0014 */ lw $ra, 0x14($sp) glabel L80078F20 /* 079B20 80078F20 3C06800E */ lui $a2, %hi(D_800E6BA8) # $a2, 0x800e /* 079B24 80078F24 0C01E26B */ jal func_800789AC /* 079B28 80078F28 24C66BA8 */ addiu $a2, %lo(D_800E6BA8) # addiu $a2, $a2, 0x6ba8 /* 079B2C 80078F2C 1000000A */ b .L80078F58 /* 079B30 80078F30 8FBF0014 */ lw $ra, 0x14($sp) glabel L80078F34 /* 079B34 80078F34 3C06800E */ lui $a2, %hi(D_800E6C80) # $a2, 0x800e /* 079B38 80078F38 0C01E291 */ jal func_80078A44 /* 079B3C 80078F3C 24C66C80 */ addiu $a2, %lo(D_800E6C80) # addiu $a2, $a2, 0x6c80 /* 079B40 80078F40 10000005 */ b .L80078F58 /* 079B44 80078F44 8FBF0014 */ lw $ra, 0x14($sp) glabel L80078F48 /* 079B48 80078F48 3C06800E */ lui $a2, %hi(D_800E6DE0) # $a2, 0x800e /* 079B4C 80078F4C 0C01E291 */ jal func_80078A44 /* 079B50 80078F50 24C66DE0 */ addiu $a2, %lo(D_800E6DE0) # addiu $a2, $a2, 0x6de0 .L80078F54: glabel L80078F54 /* 079B54 80078F54 8FBF0014 */ lw $ra, 0x14($sp) .L80078F58: /* 079B58 80078F58 27BD0020 */ addiu $sp, $sp, 0x20 /* 079B5C 80078F5C 03E00008 */ jr $ra /* 079B60 80078F60 00000000 */ nop glabel func_80078F64 /* 079B64 80078F64 3C02800E */ lui $v0, %hi(D_800DC530) # $v0, 0x800e /* 079B68 80078F68 8C42C530 */ lw $v0, %lo(D_800DC530)($v0) /* 079B6C 80078F6C 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 079B70 80078F70 AFBF001C */ sw $ra, 0x1c($sp) /* 079B74 80078F74 1040000C */ beqz $v0, .L80078FA8 /* 079B78 80078F78 AFB00018 */ sw $s0, 0x18($sp) /* 079B7C 80078F7C 24010001 */ li $at, 1 /* 079B80 80078F80 10410019 */ beq $v0, $at, .L80078FE8 /* 079B84 80078F84 3C108018 */ lui $s0, %hi(D_80183DB8) # 0x8018 /* 079B88 80078F88 24010002 */ li $at, 2 /* 079B8C 80078F8C 1041000D */ beq $v0, $at, .L80078FC4 /* 079B90 80078F90 3C108018 */ lui $s0, %hi(D_80183DB8) # 0x8018 /* 079B94 80078F94 24010003 */ li $at, 3 /* 079B98 80078F98 1041001C */ beq $v0, $at, .L8007900C /* 079B9C 80078F9C 3C108018 */ lui $s0, %hi(D_80183DB8) # 0x8018 /* 079BA0 80078FA0 10000028 */ b .L80079044 /* 079BA4 80078FA4 8FBF001C */ lw $ra, 0x1c($sp) .L80078FA8: /* 079BA8 80078FA8 3C108018 */ lui $s0, %hi(D_80183DB8) # $s0, 0x8018 /* 079BAC 80078FAC 26103DB8 */ addiu $s0, %lo(D_80183DB8) # addiu $s0, $s0, 0x3db8 /* 079BB0 80078FB0 8E040000 */ lw $a0, ($s0) /* 079BB4 80078FB4 0C01C8E9 */ jal func_800723A4 /* 079BB8 80078FB8 24050001 */ li $a1, 1 /* 079BBC 80078FBC 10000021 */ b .L80079044 /* 079BC0 80078FC0 8FBF001C */ lw $ra, 0x1c($sp) .L80078FC4: /* 079BC4 80078FC4 26103DB8 */ addiu $s0, $s0, %lo(D_80183DB8) # 0x3db8 /* 079BC8 80078FC8 8E040000 */ lw $a0, ($s0) /* 079BCC 80078FCC 0C01C8E9 */ jal func_800723A4 /* 079BD0 80078FD0 24050001 */ li $a1, 1 /* 079BD4 80078FD4 8E040004 */ lw $a0, 4($s0) /* 079BD8 80078FD8 0C01C8E9 */ jal func_800723A4 /* 079BDC 80078FDC 24050001 */ li $a1, 1 /* 079BE0 80078FE0 10000018 */ b .L80079044 /* 079BE4 80078FE4 8FBF001C */ lw $ra, 0x1c($sp) .L80078FE8: /* 079BE8 80078FE8 26103DB8 */ addiu $s0, $s0, %lo(D_80183DB8) # 0x3db8 /* 079BEC 80078FEC 8E040000 */ lw $a0, ($s0) /* 079BF0 80078FF0 0C01C8E9 */ jal func_800723A4 /* 079BF4 80078FF4 24050001 */ li $a1, 1 /* 079BF8 80078FF8 8E040004 */ lw $a0, 4($s0) /* 079BFC 80078FFC 0C01C8E9 */ jal func_800723A4 /* 079C00 80079000 24050001 */ li $a1, 1 /* 079C04 80079004 1000000F */ b .L80079044 /* 079C08 80079008 8FBF001C */ lw $ra, 0x1c($sp) .L8007900C: /* 079C0C 8007900C 26103DB8 */ addiu $s0, $s0, %lo(D_80183DB8) # 0x3db8 /* 079C10 80079010 8E040000 */ lw $a0, ($s0) /* 079C14 80079014 0C01C8E9 */ jal func_800723A4 /* 079C18 80079018 24050001 */ li $a1, 1 /* 079C1C 8007901C 8E040004 */ lw $a0, 4($s0) /* 079C20 80079020 0C01C8E9 */ jal func_800723A4 /* 079C24 80079024 24050001 */ li $a1, 1 /* 079C28 80079028 8E040008 */ lw $a0, 8($s0) /* 079C2C 8007902C 0C01C8E9 */ jal func_800723A4 /* 079C30 80079030 24050001 */ li $a1, 1 /* 079C34 80079034 8E04000C */ lw $a0, 0xc($s0) /* 079C38 80079038 0C01C8E9 */ jal func_800723A4 /* 079C3C 8007903C 24050001 */ li $a1, 1 /* 079C40 80079040 8FBF001C */ lw $ra, 0x1c($sp) .L80079044: /* 079C44 80079044 8FB00018 */ lw $s0, 0x18($sp) /* 079C48 80079048 27BD0020 */ addiu $sp, $sp, 0x20 /* 079C4C 8007904C 03E00008 */ jr $ra /* 079C50 80079050 00000000 */ nop glabel func_80079054 /* 079C54 80079054 00047080 */ sll $t6, $a0, 2 /* 079C58 80079058 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 079C5C 8007905C 3C048018 */ lui $a0, %hi(D_80183DB8) # 0x8018 /* 079C60 80079060 AFBF0014 */ sw $ra, 0x14($sp) /* 079C64 80079064 008E2021 */ addu $a0, $a0, $t6 /* 079C68 80079068 8C843DB8 */ lw $a0, %lo(D_80183DB8)($a0) # 0x3db8($a0) /* 079C6C 8007906C 0C01C8E9 */ jal func_800723A4 /* 079C70 80079070 24050002 */ li $a1, 2 /* 079C74 80079074 8FBF0014 */ lw $ra, 0x14($sp) /* 079C78 80079078 27BD0018 */ addiu $sp, $sp, 0x18 /* 079C7C 8007907C 03E00008 */ jr $ra /* 079C80 80079080 00000000 */ nop glabel func_80079084 /* 079C84 80079084 00047080 */ sll $t6, $a0, 2 /* 079C88 80079088 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 079C8C 8007908C 3C048018 */ lui $a0, %hi(D_80183DB8) # 0x8018 /* 079C90 80079090 AFBF0014 */ sw $ra, 0x14($sp) /* 079C94 80079094 008E2021 */ addu $a0, $a0, $t6 /* 079C98 80079098 8C843DB8 */ lw $a0, %lo(D_80183DB8)($a0) # 0x3db8($a0) /* 079C9C 8007909C 0C01C8E9 */ jal func_800723A4 /* 079CA0 800790A0 24050004 */ li $a1, 4 /* 079CA4 800790A4 8FBF0014 */ lw $ra, 0x14($sp) /* 079CA8 800790A8 27BD0018 */ addiu $sp, $sp, 0x18 /* 079CAC 800790AC 03E00008 */ jr $ra /* 079CB0 800790B0 00000000 */ nop glabel func_800790B4 /* 079CB4 800790B4 00047080 */ sll $t6, $a0, 2 /* 079CB8 800790B8 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 079CBC 800790BC 3C048018 */ lui $a0, %hi(D_80183DB8) # 0x8018 /* 079CC0 800790C0 AFBF0014 */ sw $ra, 0x14($sp) /* 079CC4 800790C4 008E2021 */ addu $a0, $a0, $t6 /* 079CC8 800790C8 8C843DB8 */ lw $a0, %lo(D_80183DB8)($a0) # 0x3db8($a0) /* 079CCC 800790CC 0C01C8E9 */ jal func_800723A4 /* 079CD0 800790D0 24050005 */ li $a1, 5 /* 079CD4 800790D4 8FBF0014 */ lw $ra, 0x14($sp) /* 079CD8 800790D8 27BD0018 */ addiu $sp, $sp, 0x18 /* 079CDC 800790DC 03E00008 */ jr $ra /* 079CE0 800790E0 00000000 */ nop glabel func_800790E4 /* 079CE4 800790E4 00047080 */ sll $t6, $a0, 2 /* 079CE8 800790E8 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 079CEC 800790EC 3C048018 */ lui $a0, %hi(D_80183DB8) # 0x8018 /* 079CF0 800790F0 AFBF0014 */ sw $ra, 0x14($sp) /* 079CF4 800790F4 008E2021 */ addu $a0, $a0, $t6 /* 079CF8 800790F8 8C843DB8 */ lw $a0, %lo(D_80183DB8)($a0) # 0x3db8($a0) /* 079CFC 800790FC 0C01C8E9 */ jal func_800723A4 /* 079D00 80079100 24050006 */ li $a1, 6 /* 079D04 80079104 8FBF0014 */ lw $ra, 0x14($sp) /* 079D08 80079108 27BD0018 */ addiu $sp, $sp, 0x18 /* 079D0C 8007910C 03E00008 */ jr $ra /* 079D10 80079110 00000000 */ nop glabel func_80079114 /* 079D14 80079114 240800E0 */ li $t0, 224 /* 079D18 80079118 00880019 */ multu $a0, $t0 /* 079D1C 8007911C 3C078016 */ lui $a3, %hi(D_80165C18) # $a3, 0x8016 /* 079D20 80079120 24E75C18 */ addiu $a3, %lo(D_80165C18) # addiu $a3, $a3, 0x5c18 /* 079D24 80079124 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 079D28 80079128 AFBF0014 */ sw $ra, 0x14($sp) /* 079D2C 8007912C 00007012 */ mflo $t6 /* 079D30 80079130 00EE1821 */ addu $v1, $a3, $t6 /* 079D34 80079134 846F00A6 */ lh $t7, 0xa6($v1) /* 079D38 80079138 29E10002 */ slti $at, $t7, 2 /* 079D3C 8007913C 54200029 */ bnel $at, $zero, .L800791E4 /* 079D40 80079140 8FBF0014 */ lw $ra, 0x14($sp) /* 079D44 80079144 907800D8 */ lbu $t8, 0xd8($v1) /* 079D48 80079148 24020001 */ li $v0, 1 /* 079D4C 8007914C 14580011 */ bne $v0, $t8, .L80079194 /* 079D50 80079150 00000000 */ nop /* 079D54 80079154 14A00005 */ bnez $a1, .L8007916C /* 079D58 80079158 3C058019 */ lui $a1, %hi(D_8018C028) # $a1, 0x8019 /* 079D5C 8007915C 0C01D225 */ jal func_80074894 /* 079D60 80079160 8CA5C028 */ lw $a1, %lo(D_8018C028)($a1) /* 079D64 80079164 1000001F */ b .L800791E4 /* 079D68 80079168 8FBF0014 */ lw $ra, 0x14($sp) .L8007916C: /* 079D6C 8007916C 3C048018 */ lui $a0, %hi(D_80183DB8) # $a0, 0x8018 /* 079D70 80079170 8C843DB8 */ lw $a0, %lo(D_80183DB8)($a0) /* 079D74 80079174 00880019 */ multu $a0, $t0 /* 079D78 80079178 0000C812 */ mflo $t9 /* 079D7C 8007917C 00F91021 */ addu $v0, $a3, $t9 /* 079D80 80079180 8C490060 */ lw $t1, 0x60($v0) /* 079D84 80079184 AC690060 */ sw $t1, 0x60($v1) /* 079D88 80079188 8C4A0064 */ lw $t2, 0x64($v0) /* 079D8C 8007918C 10000014 */ b .L800791E0 /* 079D90 80079190 AC6A0064 */ sw $t2, 0x64($v1) .L80079194: /* 079D94 80079194 10C00008 */ beqz $a2, .L800791B8 /* 079D98 80079198 3C058019 */ lui $a1, %hi(D_8018C028) # 0x8019 /* 079D9C 8007919C 10C2000A */ beq $a2, $v0, .L800791C8 /* 079DA0 800791A0 3C058019 */ lui $a1, %hi(D_8018C028) # 0x8019 /* 079DA4 800791A4 24010002 */ li $at, 2 /* 079DA8 800791A8 10C1000B */ beq $a2, $at, .L800791D8 /* 079DAC 800791AC 3C058019 */ lui $a1, %hi(D_8018C028) # $a1, 0x8019 /* 079DB0 800791B0 1000000C */ b .L800791E4 /* 079DB4 800791B4 8FBF0014 */ lw $ra, 0x14($sp) .L800791B8: /* 079DB8 800791B8 0C01D23D */ jal func_800748F4 /* 079DBC 800791BC 8CA5C028 */ lw $a1, %lo(D_8018C028)($a1) /* 079DC0 800791C0 10000008 */ b .L800791E4 /* 079DC4 800791C4 8FBF0014 */ lw $ra, 0x14($sp) .L800791C8: /* 079DC8 800791C8 0C01D231 */ jal func_800748C4 /* 079DCC 800791CC 8CA5C028 */ lw $a1, %lo(D_8018C028)($a1) # -0x3fd8($a1) /* 079DD0 800791D0 10000004 */ b .L800791E4 /* 079DD4 800791D4 8FBF0014 */ lw $ra, 0x14($sp) .L800791D8: /* 079DD8 800791D8 0C01D225 */ jal func_80074894 /* 079DDC 800791DC 8CA5C028 */ lw $a1, %lo(D_8018C028)($a1) # -0x3fd8($a1) .L800791E0: /* 079DE0 800791E0 8FBF0014 */ lw $ra, 0x14($sp) .L800791E4: /* 079DE4 800791E4 27BD0018 */ addiu $sp, $sp, 0x18 /* 079DE8 800791E8 03E00008 */ jr $ra /* 079DEC 800791EC 00000000 */ nop glabel func_800791F0 /* 079DF0 800791F0 000578C0 */ sll $t7, $a1, 3 /* 079DF4 800791F4 0004C8C0 */ sll $t9, $a0, 3 /* 079DF8 800791F8 01E57823 */ subu $t7, $t7, $a1 /* 079DFC 800791FC 0324C823 */ subu $t9, $t9, $a0 /* 079E00 80079200 000F7900 */ sll $t7, $t7, 4 /* 079E04 80079204 0019C940 */ sll $t9, $t9, 5 /* 079E08 80079208 3C028016 */ lui $v0, %hi(D_80165CF0) # 0x8016 /* 079E0C 8007920C 01E57823 */ subu $t7, $t7, $a1 /* 079E10 80079210 00591021 */ addu $v0, $v0, $t9 /* 079E14 80079214 90425CF0 */ lbu $v0, %lo(D_80165CF0)($v0) # 0x5cf0($v0) /* 079E18 80079218 000F7880 */ sll $t7, $t7, 2 /* 079E1C 8007921C 3C18800E */ lui $t8, %hi(D_800DC4DC) # $t8, 0x800e /* 079E20 80079220 8F18C4DC */ lw $t8, %lo(D_800DC4DC)($t8) /* 079E24 80079224 01E57823 */ subu $t7, $t7, $a1 /* 079E28 80079228 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 079E2C 8007922C 000F78C0 */ sll $t7, $t7, 3 /* 079E30 80079230 24010003 */ li $at, 3 /* 079E34 80079234 AFBF0014 */ sw $ra, 0x14($sp) /* 079E38 80079238 AFA50024 */ sw $a1, 0x24($sp) /* 079E3C 8007923C 10410013 */ beq $v0, $at, .L8007928C /* 079E40 80079240 01F81821 */ addu $v1, $t7, $t8 /* 079E44 80079244 24010007 */ li $at, 7 /* 079E48 80079248 10410010 */ beq $v0, $at, .L8007928C /* 079E4C 8007924C 24050001 */ li $a1, 1 /* 079E50 80079250 AFA3001C */ sw $v1, 0x1c($sp) /* 079E54 80079254 0C01C8B3 */ jal func_800722CC /* 079E58 80079258 AFA40020 */ sw $a0, 0x20($sp) /* 079E5C 8007925C 3C02800E */ lui $v0, %hi(gCurrentCourseId) # $v0, 0x800e /* 079E60 80079260 8442C5A0 */ lh $v0, %lo(gCurrentCourseId)($v0) /* 079E64 80079264 2401000C */ li $at, 12 /* 079E68 80079268 8FA3001C */ lw $v1, 0x1c($sp) /* 079E6C 8007926C 14410009 */ bne $v0, $at, .L80079294 /* 079E70 80079270 8FA40020 */ lw $a0, 0x20($sp) /* 079E74 80079274 846800CA */ lh $t0, 0xca($v1) /* 079E78 80079278 3C02800E */ lui $v0, %hi(gCurrentCourseId) # $v0, 0x800e /* 079E7C 8007927C 3109FFEF */ andi $t1, $t0, 0xffef /* 079E80 80079280 A46900CA */ sh $t1, 0xca($v1) /* 079E84 80079284 10000003 */ b .L80079294 /* 079E88 80079288 8442C5A0 */ lh $v0, %lo(gCurrentCourseId)($v0) .L8007928C: /* 079E8C 8007928C 3C02800E */ lui $v0, %hi(gCurrentCourseId) # $v0, 0x800e /* 079E90 80079290 8442C5A0 */ lh $v0, %lo(gCurrentCourseId)($v0) .L80079294: /* 079E94 80079294 2401000C */ li $at, 12 /* 079E98 80079298 14410007 */ bne $v0, $at, .L800792B8 /* 079E9C 8007929C 24050010 */ li $a1, 16 /* 079EA0 800792A0 0C01C8B3 */ jal func_800722CC /* 079EA4 800792A4 AFA3001C */ sw $v1, 0x1c($sp) /* 079EA8 800792A8 8FA3001C */ lw $v1, 0x1c($sp) /* 079EAC 800792AC 846A00CA */ lh $t2, 0xca($v1) /* 079EB0 800792B0 314BFFDF */ andi $t3, $t2, 0xffdf /* 079EB4 800792B4 A46B00CA */ sh $t3, 0xca($v1) .L800792B8: /* 079EB8 800792B8 3C050100 */ lui $a1, (0x0100FA28 >> 16) # lui $a1, 0x100 /* 079EBC 800792BC 34A5FA28 */ ori $a1, (0x0100FA28 & 0xFFFF) # ori $a1, $a1, 0xfa28 /* 079EC0 800792C0 0C032406 */ jal func_800C9018 /* 079EC4 800792C4 93A40027 */ lbu $a0, 0x27($sp) /* 079EC8 800792C8 8FBF0014 */ lw $ra, 0x14($sp) /* 079ECC 800792CC 27BD0020 */ addiu $sp, $sp, 0x20 /* 079ED0 800792D0 03E00008 */ jr $ra /* 079ED4 800792D4 00000000 */ nop glabel func_800792D8 /* 079ED8 800792D8 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 079EDC 800792DC AFBF001C */ sw $ra, 0x1c($sp) /* 079EE0 800792E0 14A00005 */ bnez $a1, .L800792F8 /* 079EE4 800792E4 AFA40028 */ sw $a0, 0x28($sp) /* 079EE8 800792E8 3C018016 */ lui $at, %hi(D_801656F0) # $at, 0x8016 /* 079EEC 800792EC A42056F0 */ sh $zero, %lo(D_801656F0)($at) /* 079EF0 800792F0 3C018019 */ lui $at, %hi(D_8018D168) # $at, 0x8019 /* 079EF4 800792F4 AC20D168 */ sw $zero, %lo(D_8018D168)($at) .L800792F8: /* 079EF8 800792F8 3C050D02 */ lui $a1, %hi(D_0D024ED8) # $a1, 0xd02 /* 079EFC 800792FC 3C060F06 */ lui $a2, %hi(D_0F05EB50) # $a2, 0xf06 /* 079F00 80079300 240E0048 */ li $t6, 72 /* 079F04 80079304 AFAE0010 */ sw $t6, 0x10($sp) /* 079F08 80079308 24C6EB50 */ addiu $a2, %lo(D_0F05EB50) # addiu $a2, $a2, -0x14b0 /* 079F0C 8007930C 24A54ED8 */ addiu $a1, %lo(D_0D024ED8) # addiu $a1, $a1, 0x4ed8 /* 079F10 80079310 8FA40028 */ lw $a0, 0x28($sp) /* 079F14 80079314 0C01CD11 */ jal func_80073444 /* 079F18 80079318 24070038 */ li $a3, 56 /* 079F1C 8007931C 8FA40028 */ lw $a0, 0x28($sp) /* 079F20 80079320 3C188016 */ lui $t8, %hi(D_80165C18) # $t8, 0x8016 /* 079F24 80079324 27185C18 */ addiu $t8, %lo(D_80165C18) # addiu $t8, $t8, 0x5c18 /* 079F28 80079328 000478C0 */ sll $t7, $a0, 3 /* 079F2C 8007932C 01E47823 */ subu $t7, $t7, $a0 /* 079F30 80079330 000F7940 */ sll $t7, $t7, 5 /* 079F34 80079334 3C190D00 */ lui $t9, %hi(D_0D005EB0) # $t9, 0xd00 /* 079F38 80079338 27395EB0 */ addiu $t9, %lo(D_0D005EB0) # addiu $t9, $t9, 0x5eb0 /* 079F3C 8007933C 01F81021 */ addu $v0, $t7, $t8 /* 079F40 80079340 AC590074 */ sw $t9, 0x74($v0) /* 079F44 80079344 3C01800F */ lui $at, %hi(D_800EEBF4) # $at, 0x800f /* 079F48 80079348 C424EBF4 */ lwc1 $f4, %lo(D_800EEBF4)($at) /* 079F4C 8007934C AFA20024 */ sw $v0, 0x24($sp) /* 079F50 80079350 24050010 */ li $a1, 16 /* 079F54 80079354 0C01C87A */ jal func_800721E8 /* 079F58 80079358 E4440000 */ swc1 $f4, ($v0) /* 079F5C 8007935C 0C01C922 */ jal func_80072488 /* 079F60 80079360 8FA40028 */ lw $a0, 0x28($sp) /* 079F64 80079364 8FBF001C */ lw $ra, 0x1c($sp) /* 079F68 80079368 3C088019 */ lui $t0, %hi(D_8018D180) # $t0, 0x8019 /* 079F6C 8007936C 8FA20024 */ lw $v0, 0x24($sp) /* 079F70 80079370 8D08D180 */ lw $t0, %lo(D_8018D180)($t0) /* 079F74 80079374 27BD0028 */ addiu $sp, $sp, 0x28 /* 079F78 80079378 03E00008 */ jr $ra /* 079F7C 8007937C AC480048 */ sw $t0, 0x48($v0) glabel func_80079380 /* 079F80 80079380 000470C0 */ sll $t6, $a0, 3 /* 079F84 80079384 01C47023 */ subu $t6, $t6, $a0 /* 079F88 80079388 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 079F8C 8007938C 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 079F90 80079390 000E7140 */ sll $t6, $t6, 5 /* 079F94 80079394 01CF1821 */ addu $v1, $t6, $t7 /* 079F98 80079398 947800A6 */ lhu $t8, 0xa6($v1) /* 079F9C 8007939C 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 079FA0 800793A0 AFBF001C */ sw $ra, 0x1c($sp) /* 079FA4 800793A4 2F010010 */ sltiu $at, $t8, 0x10 /* 079FA8 800793A8 102000A0 */ beqz $at, .L8007962C /* 079FAC 800793AC AFA5002C */ sw $a1, 0x2c($sp) /* 079FB0 800793B0 0018C080 */ sll $t8, $t8, 2 /* 079FB4 800793B4 3C01800F */ lui $at, %hi(D_800EEBF8) /* 079FB8 800793B8 00380821 */ addu $at, $at, $t8 /* 079FBC 800793BC 8C38EBF8 */ lw $t8, %lo(D_800EEBF8)($at) /* 079FC0 800793C0 03000008 */ jr $t8 /* 079FC4 800793C4 00000000 */ nop glabel L800793C8 /* 079FC8 800793C8 0C01E4B6 */ jal func_800792D8 /* 079FCC 800793CC 8FA5002C */ lw $a1, 0x2c($sp) /* 079FD0 800793D0 10000097 */ b .L80079630 /* 079FD4 800793D4 8FBF001C */ lw $ra, 0x1c($sp) glabel L800793D8 /* 079FD8 800793D8 8C650048 */ lw $a1, 0x48($v1) /* 079FDC 800793DC 0C01C9E3 */ jal func_8007278C /* 079FE0 800793E0 AFA30020 */ sw $v1, 0x20($sp) /* 079FE4 800793E4 8FA30020 */ lw $v1, 0x20($sp) /* 079FE8 800793E8 24010055 */ li $at, 85 /* 079FEC 800793EC 3C088019 */ lui $t0, %hi(D_8018EDF3) # $t0, 0x8019 /* 079FF0 800793F0 8C790050 */ lw $t9, 0x50($v1) /* 079FF4 800793F4 5721008E */ bnel $t9, $at, .L80079630 /* 079FF8 800793F8 8FBF001C */ lw $ra, 0x1c($sp) /* 079FFC 800793FC 8108EDF3 */ lb $t0, %lo(D_8018EDF3)($t0) /* 07A000 80079400 24010003 */ li $at, 3 /* 07A004 80079404 8FA9002C */ lw $t1, 0x2c($sp) /* 07A008 80079408 55010089 */ bnel $t0, $at, .L80079630 /* 07A00C 8007940C 8FBF001C */ lw $ra, 0x1c($sp) /* 07A010 80079410 15200086 */ bnez $t1, .L8007962C /* 07A014 80079414 240A0001 */ li $t2, 1 /* 07A018 80079418 3C018019 */ lui $at, %hi(D_8018D168) # $at, 0x8019 /* 07A01C 8007941C 10000083 */ b .L8007962C /* 07A020 80079420 AC2AD168 */ sw $t2, %lo(D_8018D168)($at) glabel L80079424 /* 07A024 80079424 24050010 */ li $a1, 16 /* 07A028 80079428 0C01C870 */ jal func_800721C0 /* 07A02C 8007942C AFA40028 */ sw $a0, 0x28($sp) /* 07A030 80079430 3C06800E */ lui $a2, %hi(D_800E67B8) # $a2, 0x800e /* 07A034 80079434 8FA40028 */ lw $a0, 0x28($sp) /* 07A038 80079438 24C667B8 */ addiu $a2, %lo(D_800E67B8) # addiu $a2, $a2, 0x67b8 /* 07A03C 8007943C 0C021BC4 */ jal func_80086F10 /* 07A040 80079440 24050001 */ li $a1, 1 /* 07A044 80079444 0C01C922 */ jal func_80072488 /* 07A048 80079448 8FA40028 */ lw $a0, 0x28($sp) /* 07A04C 8007944C 10000078 */ b .L80079630 /* 07A050 80079450 8FBF001C */ lw $ra, 0x1c($sp) glabel L80079454 /* 07A054 80079454 0C01C9E3 */ jal func_8007278C /* 07A058 80079458 2405001E */ li $a1, 30 /* 07A05C 8007945C 10400073 */ beqz $v0, .L8007962C /* 07A060 80079460 3C0B8019 */ lui $t3, %hi(D_8018EDF3) # $t3, 0x8019 /* 07A064 80079464 816BEDF3 */ lb $t3, %lo(D_8018EDF3)($t3) /* 07A068 80079468 24010003 */ li $at, 3 /* 07A06C 8007946C 8FAC002C */ lw $t4, 0x2c($sp) /* 07A070 80079470 5161006F */ beql $t3, $at, .L80079630 /* 07A074 80079474 8FBF001C */ lw $ra, 0x1c($sp) /* 07A078 80079478 1580006C */ bnez $t4, .L8007962C /* 07A07C 8007947C 240D0001 */ li $t5, 1 /* 07A080 80079480 3C018019 */ lui $at, %hi(D_8018D168) # $at, 0x8019 /* 07A084 80079484 10000069 */ b .L8007962C /* 07A088 80079488 AC2DD168 */ sw $t5, %lo(D_8018D168)($at) glabel L8007948C /* 07A08C 8007948C 0C01C9E3 */ jal func_8007278C /* 07A090 80079490 2405001E */ li $a1, 30 /* 07A094 80079494 10000066 */ b .L80079630 /* 07A098 80079498 8FBF001C */ lw $ra, 0x1c($sp) glabel L8007949C /* 07A09C 8007949C 240E0002 */ li $t6, 2 /* 07A0A0 800794A0 AFAE0010 */ sw $t6, 0x10($sp) /* 07A0A4 800794A4 24050001 */ li $a1, 1 /* 07A0A8 800794A8 24060007 */ li $a2, 7 /* 07A0AC 800794AC 24070001 */ li $a3, 1 /* 07A0B0 800794B0 0C01CB95 */ jal func_80072E54 /* 07A0B4 800794B4 AFA00014 */ sw $zero, 0x14($sp) /* 07A0B8 800794B8 1000005D */ b .L80079630 /* 07A0BC 800794BC 8FBF001C */ lw $ra, 0x1c($sp) glabel L800794C0 /* 07A0C0 800794C0 24050014 */ li $a1, 20 /* 07A0C4 800794C4 0C01C9E3 */ jal func_8007278C /* 07A0C8 800794C8 AFA30020 */ sw $v1, 0x20($sp) /* 07A0CC 800794CC 10400057 */ beqz $v0, .L8007962C /* 07A0D0 800794D0 8FA30020 */ lw $v1, 0x20($sp) /* 07A0D4 800794D4 8C6F0068 */ lw $t7, 0x68($v1) /* 07A0D8 800794D8 8FB9002C */ lw $t9, 0x2c($sp) /* 07A0DC 800794DC 3C044900 */ lui $a0, (0x49008003 >> 16) # lui $a0, 0x4900 /* 07A0E0 800794E0 25F80200 */ addiu $t8, $t7, 0x200 /* 07A0E4 800794E4 17200051 */ bnez $t9, .L8007962C /* 07A0E8 800794E8 AC780068 */ sw $t8, 0x68($v1) /* 07A0EC 800794EC 0C032384 */ jal play_sound2 /* 07A0F0 800794F0 34848003 */ ori $a0, (0x49008003 & 0xFFFF) # ori $a0, $a0, 0x8003 /* 07A0F4 800794F4 1000004E */ b .L80079630 /* 07A0F8 800794F8 8FBF001C */ lw $ra, 0x1c($sp) glabel L800794FC /* 07A0FC 800794FC 24080006 */ li $t0, 6 /* 07A100 80079500 AFA80010 */ sw $t0, 0x10($sp) /* 07A104 80079504 24050008 */ li $a1, 8 /* 07A108 80079508 2406000F */ li $a2, 15 /* 07A10C 8007950C 24070001 */ li $a3, 1 /* 07A110 80079510 0C01CB95 */ jal func_80072E54 /* 07A114 80079514 AFA00014 */ sw $zero, 0x14($sp) /* 07A118 80079518 10000045 */ b .L80079630 /* 07A11C 8007951C 8FBF001C */ lw $ra, 0x1c($sp) glabel L80079520 /* 07A120 80079520 0C01C9E3 */ jal func_8007278C /* 07A124 80079524 24050008 */ li $a1, 8 /* 07A128 80079528 10400040 */ beqz $v0, .L8007962C /* 07A12C 8007952C 8FA9002C */ lw $t1, 0x2c($sp) /* 07A130 80079530 1520003E */ bnez $t1, .L8007962C /* 07A134 80079534 3C044900 */ lui $a0, (0x49008003 >> 16) # lui $a0, 0x4900 /* 07A138 80079538 0C032384 */ jal play_sound2 /* 07A13C 8007953C 34848003 */ ori $a0, (0x49008003 & 0xFFFF) # ori $a0, $a0, 0x8003 /* 07A140 80079540 1000003B */ b .L80079630 /* 07A144 80079544 8FBF001C */ lw $ra, 0x1c($sp) glabel L80079548 /* 07A148 80079548 240A0006 */ li $t2, 6 /* 07A14C 8007954C AFAA0010 */ sw $t2, 0x10($sp) /* 07A150 80079550 24050010 */ li $a1, 16 /* 07A154 80079554 24060017 */ li $a2, 23 /* 07A158 80079558 24070001 */ li $a3, 1 /* 07A15C 8007955C 0C01CB95 */ jal func_80072E54 /* 07A160 80079560 AFA00014 */ sw $zero, 0x14($sp) /* 07A164 80079564 10400031 */ beqz $v0, .L8007962C /* 07A168 80079568 8FAB002C */ lw $t3, 0x2c($sp) /* 07A16C 8007956C 1560002F */ bnez $t3, .L8007962C /* 07A170 80079570 240C0001 */ li $t4, 1 /* 07A174 80079574 3C018016 */ lui $at, %hi(D_801656F0) # $at, 0x8016 /* 07A178 80079578 1000002C */ b .L8007962C /* 07A17C 8007957C A42C56F0 */ sh $t4, %lo(D_801656F0)($at) glabel L80079580 /* 07A180 80079580 24050008 */ li $a1, 8 /* 07A184 80079584 0C01C9E3 */ jal func_8007278C /* 07A188 80079588 AFA30020 */ sw $v1, 0x20($sp) /* 07A18C 8007958C 10400027 */ beqz $v0, .L8007962C /* 07A190 80079590 8FA30020 */ lw $v1, 0x20($sp) /* 07A194 80079594 8C6D0068 */ lw $t5, 0x68($v1) /* 07A198 80079598 8FAF002C */ lw $t7, 0x2c($sp) /* 07A19C 8007959C 3C044900 */ lui $a0, (0x49008004 >> 16) # lui $a0, 0x4900 /* 07A1A0 800795A0 25AE0200 */ addiu $t6, $t5, 0x200 /* 07A1A4 800795A4 15E00021 */ bnez $t7, .L8007962C /* 07A1A8 800795A8 AC6E0068 */ sw $t6, 0x68($v1) /* 07A1AC 800795AC 0C032384 */ jal play_sound2 /* 07A1B0 800795B0 34848004 */ ori $a0, (0x49008004 & 0xFFFF) # ori $a0, $a0, 0x8004 /* 07A1B4 800795B4 1000001E */ b .L80079630 /* 07A1B8 800795B8 8FBF001C */ lw $ra, 0x1c($sp) glabel L800795BC /* 07A1BC 800795BC 24180006 */ li $t8, 6 /* 07A1C0 800795C0 AFB80010 */ sw $t8, 0x10($sp) /* 07A1C4 800795C4 24050018 */ li $a1, 24 /* 07A1C8 800795C8 2406001B */ li $a2, 27 /* 07A1CC 800795CC 24070001 */ li $a3, 1 /* 07A1D0 800795D0 0C01CB95 */ jal func_80072E54 /* 07A1D4 800795D4 AFA00014 */ sw $zero, 0x14($sp) /* 07A1D8 800795D8 10000015 */ b .L80079630 /* 07A1DC 800795DC 8FBF001C */ lw $ra, 0x1c($sp) glabel L800795E0 /* 07A1E0 800795E0 8FB9002C */ lw $t9, 0x2c($sp) /* 07A1E4 800795E4 17200007 */ bnez $t9, .L80079604 /* 07A1E8 800795E8 00000000 */ nop /* 07A1EC 800795EC 0C01CA7B */ jal func_800729EC /* 07A1F0 800795F0 00000000 */ nop /* 07A1F4 800795F4 24080001 */ li $t0, 1 /* 07A1F8 800795F8 3C018019 */ lui $at, %hi(D_8018D160) # $at, 0x8019 /* 07A1FC 800795FC 1000000B */ b .L8007962C /* 07A200 80079600 AC28D160 */ sw $t0, %lo(D_8018D160)($at) .L80079604: /* 07A204 80079604 0C01C922 */ jal func_80072488 /* 07A208 80079608 00000000 */ nop /* 07A20C 8007960C 10000008 */ b .L80079630 /* 07A210 80079610 8FBF001C */ lw $ra, 0x1c($sp) glabel L80079614 /* 07A214 80079614 0C01C9E3 */ jal func_8007278C /* 07A218 80079618 24050078 */ li $a1, 120 /* 07A21C 8007961C 10000004 */ b .L80079630 /* 07A220 80079620 8FBF001C */ lw $ra, 0x1c($sp) glabel L80079624 /* 07A224 80079624 0C01C90A */ jal func_80072428 /* 07A228 80079628 00000000 */ nop .L8007962C: glabel L8007962C /* 07A22C 8007962C 8FBF001C */ lw $ra, 0x1c($sp) .L80079630: /* 07A230 80079630 27BD0028 */ addiu $sp, $sp, 0x28 /* 07A234 80079634 03E00008 */ jr $ra /* 07A238 80079638 00000000 */ nop glabel func_8007963C /* 07A23C 8007963C 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 07A240 80079640 AFBF0024 */ sw $ra, 0x24($sp) /* 07A244 80079644 AFB00020 */ sw $s0, 0x20($sp) /* 07A248 80079648 0C01E47C */ jal func_800791F0 /* 07A24C 8007964C 00808025 */ move $s0, $a0 /* 07A250 80079650 3C050D02 */ lui $a1, %hi(D_0D0254D8) # $a1, 0xd02 /* 07A254 80079654 3C060F08 */ lui $a2, %hi(D_0F07E350) # $a2, 0xf08 /* 07A258 80079658 240E0038 */ li $t6, 56 /* 07A25C 8007965C AFAE0010 */ sw $t6, 0x10($sp) /* 07A260 80079660 24C6E350 */ addiu $a2, %lo(D_0F07E350) # addiu $a2, $a2, -0x1cb0 /* 07A264 80079664 24A554D8 */ addiu $a1, %lo(D_0D0254D8) # addiu $a1, $a1, 0x54d8 /* 07A268 80079668 02002025 */ move $a0, $s0 /* 07A26C 8007966C 0C01CD11 */ jal func_80073444 /* 07A270 80079670 24070048 */ li $a3, 72 /* 07A274 80079674 001078C0 */ sll $t7, $s0, 3 /* 07A278 80079678 3C01800F */ lui $at, %hi(D_800EEC38) # $at, 0x800f /* 07A27C 8007967C 01F07823 */ subu $t7, $t7, $s0 /* 07A280 80079680 3C188016 */ lui $t8, %hi(D_80165C18) # $t8, 0x8016 /* 07A284 80079684 C420EC38 */ lwc1 $f0, %lo(D_800EEC38)($at) /* 07A288 80079688 27185C18 */ addiu $t8, %lo(D_80165C18) # addiu $t8, $t8, 0x5c18 /* 07A28C 8007968C 000F7940 */ sll $t7, $t7, 5 /* 07A290 80079690 3C198019 */ lui $t9, %hi(D_8018C028) # $t9, 0x8019 /* 07A294 80079694 8F39C028 */ lw $t9, %lo(D_8018C028)($t9) /* 07A298 80079698 01F81021 */ addu $v0, $t7, $t8 /* 07A29C 8007969C 3C080D00 */ lui $t0, %hi(D_0D006730) # $t0, 0xd00 /* 07A2A0 800796A0 25086730 */ addiu $t0, %lo(D_0D006730) # addiu $t0, $t0, 0x6730 /* 07A2A4 800796A4 AC480074 */ sw $t0, 0x74($v0) /* 07A2A8 800796A8 3C01800F */ lui $at, %hi(D_800EEC3C) # $at, 0x800f /* 07A2AC 800796AC E440000C */ swc1 $f0, 0xc($v0) /* 07A2B0 800796B0 E4400008 */ swc1 $f0, 8($v0) /* 07A2B4 800796B4 E4400004 */ swc1 $f0, 4($v0) /* 07A2B8 800796B8 AC590064 */ sw $t9, 0x64($v0) /* 07A2BC 800796BC C424EC3C */ lwc1 $f4, %lo(D_800EEC3C)($at) /* 07A2C0 800796C0 3C06800E */ lui $a2, %hi(D_800E6834) # $a2, 0x800e /* 07A2C4 800796C4 24C66834 */ addiu $a2, %lo(D_800E6834) # addiu $a2, $a2, 0x6834 /* 07A2C8 800796C8 02002025 */ move $a0, $s0 /* 07A2CC 800796CC 24050002 */ li $a1, 2 /* 07A2D0 800796D0 0C021BC4 */ jal func_80086F10 /* 07A2D4 800796D4 E4440000 */ swc1 $f4, ($v0) /* 07A2D8 800796D8 02002025 */ move $a0, $s0 /* 07A2DC 800796DC 0C01C87A */ jal func_800721E8 /* 07A2E0 800796E0 24050010 */ li $a1, 16 /* 07A2E4 800796E4 0C01C922 */ jal func_80072488 /* 07A2E8 800796E8 02002025 */ move $a0, $s0 /* 07A2EC 800796EC 8FBF0024 */ lw $ra, 0x24($sp) /* 07A2F0 800796F0 8FB00020 */ lw $s0, 0x20($sp) /* 07A2F4 800796F4 27BD0028 */ addiu $sp, $sp, 0x28 /* 07A2F8 800796F8 03E00008 */ jr $ra /* 07A2FC 800796FC 00000000 */ nop glabel func_80079700 /* 07A300 80079700 000470C0 */ sll $t6, $a0, 3 /* 07A304 80079704 01C47023 */ subu $t6, $t6, $a0 /* 07A308 80079708 000E7140 */ sll $t6, $t6, 5 /* 07A30C 8007970C 3C0F8016 */ lui $t7, %hi(D_80165CBE) # 0x8016 /* 07A310 80079710 01EE7821 */ addu $t7, $t7, $t6 /* 07A314 80079714 95EF5CBE */ lhu $t7, %lo(D_80165CBE)($t7) # 0x5cbe($t7) /* 07A318 80079718 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 07A31C 8007971C AFBF001C */ sw $ra, 0x1c($sp) /* 07A320 80079720 2DE10005 */ sltiu $at, $t7, 5 /* 07A324 80079724 1020001D */ beqz $at, .L8007979C /* 07A328 80079728 000F7880 */ sll $t7, $t7, 2 /* 07A32C 8007972C 3C01800F */ lui $at, %hi(D_800EEC40) /* 07A330 80079730 002F0821 */ addu $at, $at, $t7 /* 07A334 80079734 8C2FEC40 */ lw $t7, %lo(D_800EEC40)($at) /* 07A338 80079738 01E00008 */ jr $t7 /* 07A33C 8007973C 00000000 */ nop glabel L80079740 /* 07A340 80079740 0C01E58F */ jal func_8007963C /* 07A344 80079744 00000000 */ nop /* 07A348 80079748 10000015 */ b .L800797A0 /* 07A34C 8007974C 8FBF001C */ lw $ra, 0x1c($sp) glabel L80079750 /* 07A350 80079750 24050010 */ li $a1, 16 /* 07A354 80079754 0C01C870 */ jal func_800721C0 /* 07A358 80079758 AFA40020 */ sw $a0, 0x20($sp) /* 07A35C 8007975C 0C01C922 */ jal func_80072488 /* 07A360 80079760 8FA40020 */ lw $a0, 0x20($sp) /* 07A364 80079764 1000000E */ b .L800797A0 /* 07A368 80079768 8FBF001C */ lw $ra, 0x1c($sp) glabel L8007976C /* 07A36C 8007976C 24180002 */ li $t8, 2 /* 07A370 80079770 2419FFFF */ li $t9, -1 /* 07A374 80079774 AFB90014 */ sw $t9, 0x14($sp) /* 07A378 80079778 AFB80010 */ sw $t8, 0x10($sp) /* 07A37C 8007977C 00002825 */ move $a1, $zero /* 07A380 80079780 2406001F */ li $a2, 31 /* 07A384 80079784 0C01CB95 */ jal func_80072E54 /* 07A388 80079788 24070001 */ li $a3, 1 /* 07A38C 8007978C 10000004 */ b .L800797A0 /* 07A390 80079790 8FBF001C */ lw $ra, 0x1c($sp) glabel L80079794 /* 07A394 80079794 0C01C90A */ jal func_80072428 /* 07A398 80079798 00000000 */ nop .L8007979C: glabel L8007979C /* 07A39C 8007979C 8FBF001C */ lw $ra, 0x1c($sp) .L800797A0: /* 07A3A0 800797A0 27BD0020 */ addiu $sp, $sp, 0x20 /* 07A3A4 800797A4 03E00008 */ jr $ra /* 07A3A8 800797A8 00000000 */ nop glabel func_800797AC /* 07A3AC 800797AC 000478C0 */ sll $t7, $a0, 3 /* 07A3B0 800797B0 01E47823 */ subu $t7, $t7, $a0 /* 07A3B4 800797B4 000F7900 */ sll $t7, $t7, 4 /* 07A3B8 800797B8 01E47823 */ subu $t7, $t7, $a0 /* 07A3BC 800797BC 3C19800E */ lui $t9, %hi(gCurrentCourseId) # $t9, 0x800e /* 07A3C0 800797C0 8739C5A0 */ lh $t9, %lo(gCurrentCourseId)($t9) /* 07A3C4 800797C4 000F7880 */ sll $t7, $t7, 2 /* 07A3C8 800797C8 3C18800E */ lui $t8, %hi(D_800DC4DC) # $t8, 0x800e /* 07A3CC 800797CC 8F18C4DC */ lw $t8, %lo(D_800DC4DC)($t8) /* 07A3D0 800797D0 00047080 */ sll $t6, $a0, 2 /* 07A3D4 800797D4 3C068018 */ lui $a2, %hi(D_80183DB8) # 0x8018 /* 07A3D8 800797D8 01E47823 */ subu $t7, $t7, $a0 /* 07A3DC 800797DC 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 07A3E0 800797E0 00CE3021 */ addu $a2, $a2, $t6 /* 07A3E4 800797E4 000F78C0 */ sll $t7, $t7, 3 /* 07A3E8 800797E8 2401000C */ li $at, 12 /* 07A3EC 800797EC AFBF0014 */ sw $ra, 0x14($sp) /* 07A3F0 800797F0 8CC63DB8 */ lw $a2, %lo(D_80183DB8)($a2) # 0x3db8($a2) /* 07A3F4 800797F4 1721000F */ bne $t9, $at, .L80079834 /* 07A3F8 800797F8 01F81021 */ addu $v0, $t7, $t8 /* 07A3FC 800797FC 844800CA */ lh $t0, 0xca($v0) /* 07A400 80079800 00C02025 */ move $a0, $a2 /* 07A404 80079804 24050007 */ li $a1, 7 /* 07A408 80079808 31090001 */ andi $t1, $t0, 1 /* 07A40C 8007980C 5120000A */ beql $t1, $zero, .L80079838 /* 07A410 80079810 00C02025 */ move $a0, $a2 /* 07A414 80079814 AFA20018 */ sw $v0, 0x18($sp) /* 07A418 80079818 0C01C8E9 */ jal func_800723A4 /* 07A41C 8007981C AFA6001C */ sw $a2, 0x1c($sp) /* 07A420 80079820 8FA20018 */ lw $v0, 0x18($sp) /* 07A424 80079824 844A00CA */ lh $t2, 0xca($v0) /* 07A428 80079828 354B0010 */ ori $t3, $t2, 0x10 /* 07A42C 8007982C 10000005 */ b .L80079844 /* 07A430 80079830 A44B00CA */ sh $t3, 0xca($v0) .L80079834: /* 07A434 80079834 00C02025 */ move $a0, $a2 .L80079838: /* 07A438 80079838 24050003 */ li $a1, 3 /* 07A43C 8007983C 0C01C8E9 */ jal func_800723A4 /* 07A440 80079840 AFA6001C */ sw $a2, 0x1c($sp) .L80079844: /* 07A444 80079844 8FA4001C */ lw $a0, 0x1c($sp) /* 07A448 80079848 0C01C8A9 */ jal func_800722A4 /* 07A44C 8007984C 24050001 */ li $a1, 1 /* 07A450 80079850 8FBF0014 */ lw $ra, 0x14($sp) /* 07A454 80079854 27BD0020 */ addiu $sp, $sp, 0x20 /* 07A458 80079858 03E00008 */ jr $ra /* 07A45C 8007985C 00000000 */ nop glabel func_80079860 /* 07A460 80079860 00803825 */ move $a3, $a0 /* 07A464 80079864 000778C0 */ sll $t7, $a3, 3 /* 07A468 80079868 01E77823 */ subu $t7, $t7, $a3 /* 07A46C 8007986C 000F7900 */ sll $t7, $t7, 4 /* 07A470 80079870 01E77823 */ subu $t7, $t7, $a3 /* 07A474 80079874 3C18800E */ lui $t8, %hi(D_800DC4DC) # $t8, 0x800e /* 07A478 80079878 8F18C4DC */ lw $t8, %lo(D_800DC4DC)($t8) /* 07A47C 8007987C 000F7880 */ sll $t7, $t7, 2 /* 07A480 80079880 00047080 */ sll $t6, $a0, 2 /* 07A484 80079884 01E77823 */ subu $t7, $t7, $a3 /* 07A488 80079888 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 07A48C 8007988C 3C048018 */ lui $a0, %hi(D_80183DB8) # 0x8018 /* 07A490 80079890 000F78C0 */ sll $t7, $t7, 3 /* 07A494 80079894 AFBF0014 */ sw $ra, 0x14($sp) /* 07A498 80079898 008E2021 */ addu $a0, $a0, $t6 /* 07A49C 8007989C 01F83021 */ addu $a2, $t7, $t8 /* 07A4A0 800798A0 8C843DB8 */ lw $a0, %lo(D_80183DB8)($a0) # 0x3db8($a0) /* 07A4A4 800798A4 AFA60018 */ sw $a2, 0x18($sp) /* 07A4A8 800798A8 AFA70020 */ sw $a3, 0x20($sp) /* 07A4AC 800798AC 0C01C8D5 */ jal func_80072354 /* 07A4B0 800798B0 24050001 */ li $a1, 1 /* 07A4B4 800798B4 1040001D */ beqz $v0, .L8007992C /* 07A4B8 800798B8 8FA60018 */ lw $a2, 0x18($sp) /* 07A4BC 800798BC 94C4011A */ lhu $a0, 0x11a($a2) /* 07A4C0 800798C0 0C0AAF7D */ jal func_802ABDF4 /* 07A4C4 800798C4 AFA60018 */ sw $a2, 0x18($sp) /* 07A4C8 800798C8 10400008 */ beqz $v0, .L800798EC /* 07A4CC 800798CC 8FA60018 */ lw $a2, 0x18($sp) /* 07A4D0 800798D0 3C014040 */ li $at, 0x40400000 # 3.000000 /* 07A4D4 800798D4 44812000 */ mtc1 $at, $f4 /* 07A4D8 800798D8 C4C60124 */ lwc1 $f6, 0x124($a2) /* 07A4DC 800798DC 4604303E */ c.le.s $f6, $f4 /* 07A4E0 800798E0 00000000 */ nop /* 07A4E4 800798E4 4501000D */ bc1t .L8007991C /* 07A4E8 800798E8 00000000 */ nop .L800798EC: /* 07A4EC 800798EC 84D900CA */ lh $t9, 0xca($a2) /* 07A4F0 800798F0 33280001 */ andi $t0, $t9, 1 /* 07A4F4 800798F4 15000009 */ bnez $t0, .L8007991C /* 07A4F8 800798F8 00000000 */ nop /* 07A4FC 800798FC 94C900F8 */ lhu $t1, 0xf8($a2) /* 07A500 80079900 240100FD */ li $at, 253 /* 07A504 80079904 5521000A */ bnel $t1, $at, .L80079930 /* 07A508 80079908 8FBF0014 */ lw $ra, 0x14($sp) /* 07A50C 8007990C 8CCA00BC */ lw $t2, 0xbc($a2) /* 07A510 80079910 314B0008 */ andi $t3, $t2, 8 /* 07A514 80079914 55600006 */ bnel $t3, $zero, .L80079930 /* 07A518 80079918 8FBF0014 */ lw $ra, 0x14($sp) .L8007991C: /* 07A51C 8007991C 0C0241DE */ jal func_80090778 /* 07A520 80079920 00C02025 */ move $a0, $a2 /* 07A524 80079924 0C01E5EB */ jal func_800797AC /* 07A528 80079928 8FA40020 */ lw $a0, 0x20($sp) .L8007992C: /* 07A52C 8007992C 8FBF0014 */ lw $ra, 0x14($sp) .L80079930: /* 07A530 80079930 27BD0020 */ addiu $sp, $sp, 0x20 /* 07A534 80079934 03E00008 */ jr $ra /* 07A538 80079938 00000000 */ nop glabel func_8007993C /* 07A53C 8007993C 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 07A540 80079940 AFBF0014 */ sw $ra, 0x14($sp) /* 07A544 80079944 84AE00CA */ lh $t6, 0xca($a1) /* 07A548 80079948 00A03025 */ move $a2, $a1 /* 07A54C 8007994C 24050002 */ li $a1, 2 /* 07A550 80079950 31CF0004 */ andi $t7, $t6, 4 /* 07A554 80079954 11E0000E */ beqz $t7, .L80079990 /* 07A558 80079958 00000000 */ nop /* 07A55C 8007995C AFA40018 */ sw $a0, 0x18($sp) /* 07A560 80079960 0C01C8A9 */ jal func_800722A4 /* 07A564 80079964 AFA6001C */ sw $a2, 0x1c($sp) /* 07A568 80079968 8FA40018 */ lw $a0, 0x18($sp) /* 07A56C 8007996C 8FA6001C */ lw $a2, 0x1c($sp) /* 07A570 80079970 3C018016 */ lui $at, %hi(D_80165CB8) # 0x8016 /* 07A574 80079974 0004C8C0 */ sll $t9, $a0, 3 /* 07A578 80079978 0324C823 */ subu $t9, $t9, $a0 /* 07A57C 8007997C 84D800C6 */ lh $t8, 0xc6($a2) /* 07A580 80079980 0019C940 */ sll $t9, $t9, 5 /* 07A584 80079984 00390821 */ addu $at, $at, $t9 /* 07A588 80079988 10000003 */ b .L80079998 /* 07A58C 8007998C A4385CB8 */ sh $t8, %lo(D_80165CB8)($at) # 0x5cb8($at) .L80079990: /* 07A590 80079990 0C01C8B3 */ jal func_800722CC /* 07A594 80079994 24050002 */ li $a1, 2 .L80079998: /* 07A598 80079998 8FBF0014 */ lw $ra, 0x14($sp) /* 07A59C 8007999C 27BD0018 */ addiu $sp, $sp, 0x18 /* 07A5A0 800799A0 03E00008 */ jr $ra /* 07A5A4 800799A4 00000000 */ nop glabel func_800799A8 /* 07A5A8 800799A8 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 07A5AC 800799AC AFBF0024 */ sw $ra, 0x24($sp) /* 07A5B0 800799B0 AFB00020 */ sw $s0, 0x20($sp) /* 07A5B4 800799B4 00808025 */ move $s0, $a0 /* 07A5B8 800799B8 0C01E47C */ jal func_800791F0 /* 07A5BC 800799BC AFA5002C */ sw $a1, 0x2c($sp) /* 07A5C0 800799C0 3C050D02 */ lui $a1, %hi(D_0D025CD8) # $a1, 0xd02 /* 07A5C4 800799C4 3C060F0D */ lui $a2, %hi(D_0F0CCF50) # $a2, 0xf0d /* 07A5C8 800799C8 240E0048 */ li $t6, 72 /* 07A5CC 800799CC AFAE0010 */ sw $t6, 0x10($sp) /* 07A5D0 800799D0 24C6CF50 */ addiu $a2, %lo(D_0F0CCF50) # addiu $a2, $a2, -0x30b0 /* 07A5D4 800799D4 24A55CD8 */ addiu $a1, %lo(D_0D025CD8) # addiu $a1, $a1, 0x5cd8 /* 07A5D8 800799D8 02002025 */ move $a0, $s0 /* 07A5DC 800799DC 0C01CD11 */ jal func_80073444 /* 07A5E0 800799E0 24070038 */ li $a3, 56 /* 07A5E4 800799E4 001078C0 */ sll $t7, $s0, 3 /* 07A5E8 800799E8 01F07823 */ subu $t7, $t7, $s0 /* 07A5EC 800799EC 3C188016 */ lui $t8, %hi(D_80165C18) # $t8, 0x8016 /* 07A5F0 800799F0 27185C18 */ addiu $t8, %lo(D_80165C18) # addiu $t8, $t8, 0x5c18 /* 07A5F4 800799F4 000F7940 */ sll $t7, $t7, 5 /* 07A5F8 800799F8 3C190D00 */ lui $t9, %hi(D_0D005F30) # $t9, 0xd00 /* 07A5FC 800799FC 27395F30 */ addiu $t9, %lo(D_0D005F30) # addiu $t9, $t9, 0x5f30 /* 07A600 80079A00 01F81021 */ addu $v0, $t7, $t8 /* 07A604 80079A04 AC590074 */ sw $t9, 0x74($v0) /* 07A608 80079A08 3C01800F */ lui $at, %hi(D_800EEC54) # $at, 0x800f /* 07A60C 80079A0C C424EC54 */ lwc1 $f4, %lo(D_800EEC54)($at) /* 07A610 80079A10 02002025 */ move $a0, $s0 /* 07A614 80079A14 0C021B9C */ jal func_80086E70 /* 07A618 80079A18 E4440000 */ swc1 $f4, ($v0) /* 07A61C 80079A1C 02002025 */ move $a0, $s0 /* 07A620 80079A20 0C01C87A */ jal func_800721E8 /* 07A624 80079A24 24050010 */ li $a1, 16 /* 07A628 80079A28 0C01CDC8 */ jal func_80073720 /* 07A62C 80079A2C 02002025 */ move $a0, $s0 /* 07A630 80079A30 0C01C922 */ jal func_80072488 /* 07A634 80079A34 02002025 */ move $a0, $s0 /* 07A638 80079A38 3C050100 */ lui $a1, (0x0100FA28 >> 16) # lui $a1, 0x100 /* 07A63C 80079A3C 34A5FA28 */ ori $a1, (0x0100FA28 & 0xFFFF) # ori $a1, $a1, 0xfa28 /* 07A640 80079A40 0C0323E0 */ jal func_800C8F80 /* 07A644 80079A44 93A4002F */ lbu $a0, 0x2f($sp) /* 07A648 80079A48 8FBF0024 */ lw $ra, 0x24($sp) /* 07A64C 80079A4C 8FB00020 */ lw $s0, 0x20($sp) /* 07A650 80079A50 27BD0028 */ addiu $sp, $sp, 0x28 /* 07A654 80079A54 03E00008 */ jr $ra /* 07A658 80079A58 00000000 */ nop glabel func_80079A5C /* 07A65C 80079A5C 000470C0 */ sll $t6, $a0, 3 /* 07A660 80079A60 01C47023 */ subu $t6, $t6, $a0 /* 07A664 80079A64 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 07A668 80079A68 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 07A66C 80079A6C 000E7140 */ sll $t6, $t6, 5 /* 07A670 80079A70 01CF1021 */ addu $v0, $t6, $t7 /* 07A674 80079A74 844300AE */ lh $v1, 0xae($v0) /* 07A678 80079A78 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 07A67C 80079A7C AFBF0014 */ sw $ra, 0x14($sp) /* 07A680 80079A80 AFA5001C */ sw $a1, 0x1c($sp) /* 07A684 80079A84 1060002A */ beqz $v1, .L80079B30 /* 07A688 80079A88 00803825 */ move $a3, $a0 /* 07A68C 80079A8C 24010001 */ li $at, 1 /* 07A690 80079A90 10610009 */ beq $v1, $at, .L80079AB8 /* 07A694 80079A94 00E02025 */ move $a0, $a3 /* 07A698 80079A98 24010002 */ li $at, 2 /* 07A69C 80079A9C 10610012 */ beq $v1, $at, .L80079AE8 /* 07A6A0 80079AA0 2444002C */ addiu $a0, $v0, 0x2c /* 07A6A4 80079AA4 24010003 */ li $at, 3 /* 07A6A8 80079AA8 10610019 */ beq $v1, $at, .L80079B10 /* 07A6AC 80079AAC 2444002C */ addiu $a0, $v0, 0x2c /* 07A6B0 80079AB0 10000020 */ b .L80079B34 /* 07A6B4 80079AB4 8FBF0014 */ lw $ra, 0x14($sp) .L80079AB8: /* 07A6B8 80079AB8 44800000 */ mtc1 $zero, $f0 /* 07A6BC 80079ABC 3C0142A0 */ li $at, 0x42A00000 # 80.000000 /* 07A6C0 80079AC0 44812000 */ mtc1 $at, $f4 /* 07A6C4 80079AC4 E4400018 */ swc1 $f0, 0x18($v0) /* 07A6C8 80079AC8 E4400014 */ swc1 $f0, 0x14($v0) /* 07A6CC 80079ACC E4400010 */ swc1 $f0, 0x10($v0) /* 07A6D0 80079AD0 E4400030 */ swc1 $f0, 0x30($v0) /* 07A6D4 80079AD4 E4400028 */ swc1 $f0, 0x28($v0) /* 07A6D8 80079AD8 0C021BF5 */ jal func_80086FD4 /* 07A6DC 80079ADC E444002C */ swc1 $f4, 0x2c($v0) /* 07A6E0 80079AE0 10000014 */ b .L80079B34 /* 07A6E4 80079AE4 8FBF0014 */ lw $ra, 0x14($sp) .L80079AE8: /* 07A6E8 80079AE8 3C0540A0 */ lui $a1, 0x40a0 /* 07A6EC 80079AEC 3C063F80 */ lui $a2, 0x3f80 /* 07A6F0 80079AF0 0C0103CB */ jal func_80040F2C /* 07A6F4 80079AF4 AFA70018 */ sw $a3, 0x18($sp) /* 07A6F8 80079AF8 1040000D */ beqz $v0, .L80079B30 /* 07A6FC 80079AFC 8FA70018 */ lw $a3, 0x18($sp) /* 07A700 80079B00 0C021BD8 */ jal func_80086F60 /* 07A704 80079B04 00E02025 */ move $a0, $a3 /* 07A708 80079B08 1000000A */ b .L80079B34 /* 07A70C 80079B0C 8FBF0014 */ lw $ra, 0x14($sp) .L80079B10: /* 07A710 80079B10 3C0542C8 */ lui $a1, 0x42c8 /* 07A714 80079B14 3C063F80 */ lui $a2, 0x3f80 /* 07A718 80079B18 0C0103B8 */ jal func_80040EE0 /* 07A71C 80079B1C AFA70018 */ sw $a3, 0x18($sp) /* 07A720 80079B20 10400003 */ beqz $v0, .L80079B30 /* 07A724 80079B24 8FA70018 */ lw $a3, 0x18($sp) /* 07A728 80079B28 0C021BD8 */ jal func_80086F60 /* 07A72C 80079B2C 00E02025 */ move $a0, $a3 .L80079B30: /* 07A730 80079B30 8FBF0014 */ lw $ra, 0x14($sp) .L80079B34: /* 07A734 80079B34 27BD0018 */ addiu $sp, $sp, 0x18 /* 07A738 80079B38 03E00008 */ jr $ra /* 07A73C 80079B3C 00000000 */ nop glabel func_80079B40 /* 07A740 80079B40 000578C0 */ sll $t7, $a1, 3 /* 07A744 80079B44 01E57823 */ subu $t7, $t7, $a1 /* 07A748 80079B48 000F7900 */ sll $t7, $t7, 4 /* 07A74C 80079B4C 27BDFFC8 */ addiu $sp, $sp, -0x38 /* 07A750 80079B50 01E57823 */ subu $t7, $t7, $a1 /* 07A754 80079B54 3C18800E */ lui $t8, %hi(D_800DC4DC) # $t8, 0x800e /* 07A758 80079B58 8F18C4DC */ lw $t8, %lo(D_800DC4DC)($t8) /* 07A75C 80079B5C 000F7880 */ sll $t7, $t7, 2 /* 07A760 80079B60 000440C0 */ sll $t0, $a0, 3 /* 07A764 80079B64 01E57823 */ subu $t7, $t7, $a1 /* 07A768 80079B68 01044023 */ subu $t0, $t0, $a0 /* 07A76C 80079B6C 3C098016 */ lui $t1, %hi(D_80165C18) # $t1, 0x8016 /* 07A770 80079B70 000F78C0 */ sll $t7, $t7, 3 /* 07A774 80079B74 25295C18 */ addiu $t1, %lo(D_80165C18) # addiu $t1, $t1, 0x5c18 /* 07A778 80079B78 00084140 */ sll $t0, $t0, 5 /* 07A77C 80079B7C 01095021 */ addu $t2, $t0, $t1 /* 07A780 80079B80 01F8C821 */ addu $t9, $t7, $t8 /* 07A784 80079B84 AFBF0024 */ sw $ra, 0x24($sp) /* 07A788 80079B88 AFB00020 */ sw $s0, 0x20($sp) /* 07A78C 80079B8C AFA5003C */ sw $a1, 0x3c($sp) /* 07A790 80079B90 AFB90034 */ sw $t9, 0x34($sp) /* 07A794 80079B94 AFAA002C */ sw $t2, 0x2c($sp) /* 07A798 80079B98 854200A6 */ lh $v0, 0xa6($t2) /* 07A79C 80079B9C 00808025 */ move $s0, $a0 /* 07A7A0 80079BA0 24010001 */ li $at, 1 /* 07A7A4 80079BA4 50400020 */ beql $v0, $zero, .L80079C28 /* 07A7A8 80079BA8 8FAD002C */ lw $t5, 0x2c($sp) /* 07A7AC 80079BAC 10410009 */ beq $v0, $at, .L80079BD4 /* 07A7B0 80079BB0 02002025 */ move $a0, $s0 /* 07A7B4 80079BB4 24010002 */ li $at, 2 /* 07A7B8 80079BB8 1041000A */ beq $v0, $at, .L80079BE4 /* 07A7BC 80079BBC 02002025 */ move $a0, $s0 /* 07A7C0 80079BC0 24010003 */ li $at, 3 /* 07A7C4 80079BC4 1041000F */ beq $v0, $at, .L80079C04 /* 07A7C8 80079BC8 02002025 */ move $a0, $s0 /* 07A7CC 80079BCC 10000016 */ b .L80079C28 /* 07A7D0 80079BD0 8FAD002C */ lw $t5, 0x2c($sp) .L80079BD4: /* 07A7D4 80079BD4 0C01E66A */ jal func_800799A8 /* 07A7D8 80079BD8 8FA5003C */ lw $a1, 0x3c($sp) /* 07A7DC 80079BDC 10000012 */ b .L80079C28 /* 07A7E0 80079BE0 8FAD002C */ lw $t5, 0x2c($sp) .L80079BE4: /* 07A7E4 80079BE4 0C01C870 */ jal func_800721C0 /* 07A7E8 80079BE8 24050010 */ li $a1, 16 /* 07A7EC 80079BEC 0C01CDB8 */ jal func_800736E0 /* 07A7F0 80079BF0 02002025 */ move $a0, $s0 /* 07A7F4 80079BF4 0C01C922 */ jal func_80072488 /* 07A7F8 80079BF8 02002025 */ move $a0, $s0 /* 07A7FC 80079BFC 1000000A */ b .L80079C28 /* 07A800 80079C00 8FAD002C */ lw $t5, 0x2c($sp) .L80079C04: /* 07A804 80079C04 240B0002 */ li $t3, 2 /* 07A808 80079C08 240CFFFF */ li $t4, -1 /* 07A80C 80079C0C AFAC0014 */ sw $t4, 0x14($sp) /* 07A810 80079C10 AFAB0010 */ sw $t3, 0x10($sp) /* 07A814 80079C14 00002825 */ move $a1, $zero /* 07A818 80079C18 24060003 */ li $a2, 3 /* 07A81C 80079C1C 0C01CC2F */ jal func_800730BC /* 07A820 80079C20 24070001 */ li $a3, 1 /* 07A824 80079C24 8FAD002C */ lw $t5, 0x2c($sp) .L80079C28: /* 07A828 80079C28 91AE00D6 */ lbu $t6, 0xd6($t5) /* 07A82C 80079C2C 2DC10006 */ sltiu $at, $t6, 6 /* 07A830 80079C30 10200034 */ beqz $at, .L80079D04 /* 07A834 80079C34 000E7080 */ sll $t6, $t6, 2 /* 07A838 80079C38 3C01800F */ lui $at, %hi(D_800EEC58) /* 07A83C 80079C3C 002E0821 */ addu $at, $at, $t6 /* 07A840 80079C40 8C2EEC58 */ lw $t6, %lo(D_800EEC58)($at) /* 07A844 80079C44 01C00008 */ jr $t6 /* 07A848 80079C48 00000000 */ nop glabel L80079C4C /* 07A84C 80079C4C 0C021BE9 */ jal func_80086FA4 /* 07A850 80079C50 02002025 */ move $a0, $s0 /* 07A854 80079C54 5040002C */ beql $v0, $zero, .L80079D08 /* 07A858 80079C58 8FA8002C */ lw $t0, 0x2c($sp) /* 07A85C 80079C5C 0C01CD95 */ jal func_80073654 /* 07A860 80079C60 02002025 */ move $a0, $s0 /* 07A864 80079C64 10000028 */ b .L80079D08 /* 07A868 80079C68 8FA8002C */ lw $t0, 0x2c($sp) glabel L80079C6C /* 07A86C 80079C6C 0C02421A */ jal func_80090868 /* 07A870 80079C70 8FA40034 */ lw $a0, 0x34($sp) /* 07A874 80079C74 0C01CD95 */ jal func_80073654 /* 07A878 80079C78 02002025 */ move $a0, $s0 /* 07A87C 80079C7C 10000022 */ b .L80079D08 /* 07A880 80079C80 8FA8002C */ lw $t0, 0x2c($sp) glabel L80079C84 /* 07A884 80079C84 8FAF0034 */ lw $t7, 0x34($sp) /* 07A888 80079C88 02002025 */ move $a0, $s0 /* 07A88C 80079C8C 00002825 */ move $a1, $zero /* 07A890 80079C90 85F800CA */ lh $t8, 0xca($t7) /* 07A894 80079C94 33190002 */ andi $t9, $t8, 2 /* 07A898 80079C98 5720001B */ bnel $t9, $zero, .L80079D08 /* 07A89C 80079C9C 8FA8002C */ lw $t0, 0x2c($sp) /* 07A8A0 80079CA0 0C021BAB */ jal func_80086EAC /* 07A8A4 80079CA4 24060003 */ li $a2, 3 /* 07A8A8 80079CA8 0C01CD95 */ jal func_80073654 /* 07A8AC 80079CAC 02002025 */ move $a0, $s0 /* 07A8B0 80079CB0 10000015 */ b .L80079D08 /* 07A8B4 80079CB4 8FA8002C */ lw $t0, 0x2c($sp) glabel L80079CB8 /* 07A8B8 80079CB8 0C021BE9 */ jal func_80086FA4 /* 07A8BC 80079CBC 02002025 */ move $a0, $s0 /* 07A8C0 80079CC0 50400011 */ beql $v0, $zero, .L80079D08 /* 07A8C4 80079CC4 8FA8002C */ lw $t0, 0x2c($sp) /* 07A8C8 80079CC8 0C01CD95 */ jal func_80073654 /* 07A8CC 80079CCC 02002025 */ move $a0, $s0 /* 07A8D0 80079CD0 1000000D */ b .L80079D08 /* 07A8D4 80079CD4 8FA8002C */ lw $t0, 0x2c($sp) glabel L80079CD8 /* 07A8D8 80079CD8 02002025 */ move $a0, $s0 /* 07A8DC 80079CDC 0C01C8B3 */ jal func_800722CC /* 07A8E0 80079CE0 24050001 */ li $a1, 1 /* 07A8E4 80079CE4 3C050100 */ lui $a1, (0x0100FA28 >> 16) # lui $a1, 0x100 /* 07A8E8 80079CE8 34A5FA28 */ ori $a1, (0x0100FA28 & 0xFFFF) # ori $a1, $a1, 0xfa28 /* 07A8EC 80079CEC 0C032406 */ jal func_800C9018 /* 07A8F0 80079CF0 93A4003F */ lbu $a0, 0x3f($sp) /* 07A8F4 80079CF4 0C01C90A */ jal func_80072428 /* 07A8F8 80079CF8 02002025 */ move $a0, $s0 /* 07A8FC 80079CFC 0C01CDC8 */ jal func_80073720 /* 07A900 80079D00 02002025 */ move $a0, $s0 .L80079D04: glabel L80079D04 /* 07A904 80079D04 8FA8002C */ lw $t0, 0x2c($sp) .L80079D08: /* 07A908 80079D08 02002025 */ move $a0, $s0 /* 07A90C 80079D0C 850900A6 */ lh $t1, 0xa6($t0) /* 07A910 80079D10 29210002 */ slti $at, $t1, 2 /* 07A914 80079D14 54200004 */ bnel $at, $zero, .L80079D28 /* 07A918 80079D18 02002025 */ move $a0, $s0 /* 07A91C 80079D1C 0C01E64F */ jal func_8007993C /* 07A920 80079D20 8FA50034 */ lw $a1, 0x34($sp) /* 07A924 80079D24 02002025 */ move $a0, $s0 .L80079D28: /* 07A928 80079D28 0C01E697 */ jal func_80079A5C /* 07A92C 80079D2C 8FA50034 */ lw $a1, 0x34($sp) /* 07A930 80079D30 8FBF0024 */ lw $ra, 0x24($sp) /* 07A934 80079D34 8FB00020 */ lw $s0, 0x20($sp) /* 07A938 80079D38 27BD0038 */ addiu $sp, $sp, 0x38 /* 07A93C 80079D3C 03E00008 */ jr $ra /* 07A940 80079D40 00000000 */ nop glabel func_80079D44 /* 07A944 80079D44 27BDFFC8 */ addiu $sp, $sp, -0x38 /* 07A948 80079D48 0004C8C0 */ sll $t9, $a0, 3 /* 07A94C 80079D4C 000578C0 */ sll $t7, $a1, 3 /* 07A950 80079D50 0324C823 */ subu $t9, $t9, $a0 /* 07A954 80079D54 3C088016 */ lui $t0, %hi(D_80165C18) # $t0, 0x8016 /* 07A958 80079D58 01E57823 */ subu $t7, $t7, $a1 /* 07A95C 80079D5C 25085C18 */ addiu $t0, %lo(D_80165C18) # addiu $t0, $t0, 0x5c18 /* 07A960 80079D60 0019C940 */ sll $t9, $t9, 5 /* 07A964 80079D64 000F7900 */ sll $t7, $t7, 4 /* 07A968 80079D68 03284821 */ addu $t1, $t9, $t0 /* 07A96C 80079D6C AFBF0024 */ sw $ra, 0x24($sp) /* 07A970 80079D70 AFB10020 */ sw $s1, 0x20($sp) /* 07A974 80079D74 AFB0001C */ sw $s0, 0x1c($sp) /* 07A978 80079D78 AFA5003C */ sw $a1, 0x3c($sp) /* 07A97C 80079D7C 01E57823 */ subu $t7, $t7, $a1 /* 07A980 80079D80 AFA9002C */ sw $t1, 0x2c($sp) /* 07A984 80079D84 852200A6 */ lh $v0, 0xa6($t1) /* 07A988 80079D88 000F7880 */ sll $t7, $t7, 2 /* 07A98C 80079D8C 3C18800E */ lui $t8, %hi(D_800DC4DC) # $t8, 0x800e /* 07A990 80079D90 8F18C4DC */ lw $t8, %lo(D_800DC4DC)($t8) /* 07A994 80079D94 01E57823 */ subu $t7, $t7, $a1 /* 07A998 80079D98 000F78C0 */ sll $t7, $t7, 3 /* 07A99C 80079D9C 00808025 */ move $s0, $a0 /* 07A9A0 80079DA0 10400023 */ beqz $v0, .L80079E30 /* 07A9A4 80079DA4 01F88821 */ addu $s1, $t7, $t8 /* 07A9A8 80079DA8 24010001 */ li $at, 1 /* 07A9AC 80079DAC 10410009 */ beq $v0, $at, .L80079DD4 /* 07A9B0 80079DB0 02002025 */ move $a0, $s0 /* 07A9B4 80079DB4 24010002 */ li $at, 2 /* 07A9B8 80079DB8 1041000A */ beq $v0, $at, .L80079DE4 /* 07A9BC 80079DBC 02002025 */ move $a0, $s0 /* 07A9C0 80079DC0 24010003 */ li $at, 3 /* 07A9C4 80079DC4 10410012 */ beq $v0, $at, .L80079E10 /* 07A9C8 80079DC8 02002025 */ move $a0, $s0 /* 07A9CC 80079DCC 10000019 */ b .L80079E34 /* 07A9D0 80079DD0 8FAE002C */ lw $t6, 0x2c($sp) .L80079DD4: /* 07A9D4 80079DD4 0C01E66A */ jal func_800799A8 /* 07A9D8 80079DD8 8FA5003C */ lw $a1, 0x3c($sp) /* 07A9DC 80079DDC 10000015 */ b .L80079E34 /* 07A9E0 80079DE0 8FAE002C */ lw $t6, 0x2c($sp) .L80079DE4: /* 07A9E4 80079DE4 0C01C870 */ jal func_800721C0 /* 07A9E8 80079DE8 24050010 */ li $a1, 16 /* 07A9EC 80079DEC 0C01CDB8 */ jal func_800736E0 /* 07A9F0 80079DF0 02002025 */ move $a0, $s0 /* 07A9F4 80079DF4 862A00CA */ lh $t2, 0xca($s1) /* 07A9F8 80079DF8 02002025 */ move $a0, $s0 /* 07A9FC 80079DFC 354B0080 */ ori $t3, $t2, 0x80 /* 07AA00 80079E00 0C01C922 */ jal func_80072488 /* 07AA04 80079E04 A62B00CA */ sh $t3, 0xca($s1) /* 07AA08 80079E08 1000000A */ b .L80079E34 /* 07AA0C 80079E0C 8FAE002C */ lw $t6, 0x2c($sp) .L80079E10: /* 07AA10 80079E10 240C0002 */ li $t4, 2 /* 07AA14 80079E14 240DFFFF */ li $t5, -1 /* 07AA18 80079E18 AFAD0014 */ sw $t5, 0x14($sp) /* 07AA1C 80079E1C AFAC0010 */ sw $t4, 0x10($sp) /* 07AA20 80079E20 00002825 */ move $a1, $zero /* 07AA24 80079E24 24060003 */ li $a2, 3 /* 07AA28 80079E28 0C01CC2F */ jal func_800730BC /* 07AA2C 80079E2C 24070001 */ li $a3, 1 .L80079E30: /* 07AA30 80079E30 8FAE002C */ lw $t6, 0x2c($sp) .L80079E34: /* 07AA34 80079E34 91CF00D6 */ lbu $t7, 0xd6($t6) /* 07AA38 80079E38 25F8FFFF */ addiu $t8, $t7, -1 /* 07AA3C 80079E3C 2F010008 */ sltiu $at, $t8, 8 /* 07AA40 80079E40 10200077 */ beqz $at, .L8007A020 /* 07AA44 80079E44 0018C080 */ sll $t8, $t8, 2 /* 07AA48 80079E48 3C01800F */ lui $at, %hi(D_800EEC70) # 0x800f /* 07AA4C 80079E4C 00380821 */ addu $at, $at, $t8 /* 07AA50 80079E50 8C38EC70 */ lw $t8, %lo(D_800EEC70)($at) # -0x1390($at) /* 07AA54 80079E54 03000008 */ jr $t8 /* 07AA58 80079E58 00000000 */ nop glabel L80079E5C /* 07AA5C 80079E5C 0C021BE9 */ jal func_80086FA4 /* 07AA60 80079E60 02002025 */ move $a0, $s0 /* 07AA64 80079E64 1040006E */ beqz $v0, .L8007A020 /* 07AA68 80079E68 93A4003F */ lbu $a0, 0x3f($sp) /* 07AA6C 80079E6C 3C051900 */ lui $a1, (0x1900A055 >> 16) # lui $a1, 0x1900 /* 07AA70 80079E70 0C032418 */ jal func_800C9060 /* 07AA74 80079E74 34A5A055 */ ori $a1, (0x1900A055 & 0xFFFF) # ori $a1, $a1, 0xa055 /* 07AA78 80079E78 0C01CD95 */ jal func_80073654 /* 07AA7C 80079E7C 02002025 */ move $a0, $s0 /* 07AA80 80079E80 10000068 */ b .L8007A024 /* 07AA84 80079E84 8FAA002C */ lw $t2, 0x2c($sp) glabel L80079E88 /* 07AA88 80079E88 0C02421A */ jal func_80090868 /* 07AA8C 80079E8C 02202025 */ move $a0, $s1 /* 07AA90 80079E90 02002025 */ move $a0, $s0 /* 07AA94 80079E94 0C01C8A9 */ jal func_800722A4 /* 07AA98 80079E98 24050004 */ li $a1, 4 /* 07AA9C 80079E9C 0C01CD95 */ jal func_80073654 /* 07AAA0 80079EA0 02002025 */ move $a0, $s0 /* 07AAA4 80079EA4 1000005F */ b .L8007A024 /* 07AAA8 80079EA8 8FAA002C */ lw $t2, 0x2c($sp) glabel L80079EAC /* 07AAAC 80079EAC 963900F8 */ lhu $t9, 0xf8($s1) /* 07AAB0 80079EB0 24010009 */ li $at, 9 /* 07AAB4 80079EB4 57210012 */ bnel $t9, $at, .L80079F00 /* 07AAB8 80079EB8 862A00CA */ lh $t2, 0xca($s1) /* 07AABC 80079EBC 862800CA */ lh $t0, 0xca($s1) /* 07AAC0 80079EC0 3C01403E */ li $at, 0x403E0000 # 2.968750 /* 07AAC4 80079EC4 31090001 */ andi $t1, $t0, 1 /* 07AAC8 80079EC8 5520000D */ bnel $t1, $zero, .L80079F00 /* 07AACC 80079ECC 862A00CA */ lh $t2, 0xca($s1) /* 07AAD0 80079ED0 C6260124 */ lwc1 $f6, 0x124($s1) /* 07AAD4 80079ED4 44812800 */ mtc1 $at, $f5 /* 07AAD8 80079ED8 44802000 */ mtc1 $zero, $f4 /* 07AADC 80079EDC 46003221 */ cvt.d.s $f8, $f6 /* 07AAE0 80079EE0 02002025 */ move $a0, $s0 /* 07AAE4 80079EE4 4624403E */ c.le.d $f8, $f4 /* 07AAE8 80079EE8 00000000 */ nop /* 07AAEC 80079EEC 45020004 */ bc1fl .L80079F00 /* 07AAF0 80079EF0 862A00CA */ lh $t2, 0xca($s1) /* 07AAF4 80079EF4 0C01C8A9 */ jal func_800722A4 /* 07AAF8 80079EF8 24050008 */ li $a1, 8 /* 07AAFC 80079EFC 862A00CA */ lh $t2, 0xca($s1) .L80079F00: /* 07AB00 80079F00 02002025 */ move $a0, $s0 /* 07AB04 80079F04 00002825 */ move $a1, $zero /* 07AB08 80079F08 314B0002 */ andi $t3, $t2, 2 /* 07AB0C 80079F0C 55600045 */ bnel $t3, $zero, .L8007A024 /* 07AB10 80079F10 8FAA002C */ lw $t2, 0x2c($sp) /* 07AB14 80079F14 0C021BAB */ jal func_80086EAC /* 07AB18 80079F18 24060003 */ li $a2, 3 /* 07AB1C 80079F1C 0C01CD95 */ jal func_80073654 /* 07AB20 80079F20 02002025 */ move $a0, $s0 /* 07AB24 80079F24 1000003F */ b .L8007A024 /* 07AB28 80079F28 8FAA002C */ lw $t2, 0x2c($sp) glabel L80079F2C /* 07AB2C 80079F2C 02002025 */ move $a0, $s0 /* 07AB30 80079F30 0C01CDD7 */ jal func_8007375C /* 07AB34 80079F34 2405001E */ li $a1, 30 /* 07AB38 80079F38 1000003A */ b .L8007A024 /* 07AB3C 80079F3C 8FAA002C */ lw $t2, 0x2c($sp) glabel L80079F40 /* 07AB40 80079F40 862C00CA */ lh $t4, 0xca($s1) /* 07AB44 80079F44 02002025 */ move $a0, $s0 /* 07AB48 80079F48 24050010 */ li $a1, 16 /* 07AB4C 80079F4C 318DFF7F */ andi $t5, $t4, 0xff7f /* 07AB50 80079F50 0C01C8A9 */ jal func_800722A4 /* 07AB54 80079F54 A62D00CA */ sh $t5, 0xca($s1) /* 07AB58 80079F58 02002025 */ move $a0, $s0 /* 07AB5C 80079F5C 0C01C8A9 */ jal func_800722A4 /* 07AB60 80079F60 24050020 */ li $a1, 32 /* 07AB64 80079F64 02002025 */ move $a0, $s0 /* 07AB68 80079F68 0C01C8B3 */ jal func_800722CC /* 07AB6C 80079F6C 24050004 */ li $a1, 4 /* 07AB70 80079F70 02002025 */ move $a0, $s0 /* 07AB74 80079F74 0C01C8B3 */ jal func_800722CC /* 07AB78 80079F78 24050008 */ li $a1, 8 /* 07AB7C 80079F7C 0C01CD95 */ jal func_80073654 /* 07AB80 80079F80 02002025 */ move $a0, $s0 /* 07AB84 80079F84 3C051900 */ lui $a1, (0x1900A056 >> 16) # lui $a1, 0x1900 /* 07AB88 80079F88 34A5A056 */ ori $a1, (0x1900A056 & 0xFFFF) # ori $a1, $a1, 0xa056 /* 07AB8C 80079F8C 0C032418 */ jal func_800C9060 /* 07AB90 80079F90 93A4003F */ lbu $a0, 0x3f($sp) /* 07AB94 80079F94 10000023 */ b .L8007A024 /* 07AB98 80079F98 8FAA002C */ lw $t2, 0x2c($sp) glabel L80079F9C /* 07AB9C 80079F9C 02002025 */ move $a0, $s0 /* 07ABA0 80079FA0 0C01CDD7 */ jal func_8007375C /* 07ABA4 80079FA4 240500A0 */ li $a1, 160 /* 07ABA8 80079FA8 1040001D */ beqz $v0, .L8007A020 /* 07ABAC 80079FAC 02002025 */ move $a0, $s0 /* 07ABB0 80079FB0 0C01C8B3 */ jal func_800722CC /* 07ABB4 80079FB4 24050010 */ li $a1, 16 /* 07ABB8 80079FB8 862E00CA */ lh $t6, 0xca($s1) /* 07ABBC 80079FBC 31CFFFEF */ andi $t7, $t6, 0xffef /* 07ABC0 80079FC0 A62F00CA */ sh $t7, 0xca($s1) /* 07ABC4 80079FC4 863800CA */ lh $t8, 0xca($s1) /* 07ABC8 80079FC8 37190020 */ ori $t9, $t8, 0x20 /* 07ABCC 80079FCC 10000014 */ b .L8007A020 /* 07ABD0 80079FD0 A63900CA */ sh $t9, 0xca($s1) glabel L80079FD4 /* 07ABD4 80079FD4 02002025 */ move $a0, $s0 /* 07ABD8 80079FD8 0C01CDD7 */ jal func_8007375C /* 07ABDC 80079FDC 2405003C */ li $a1, 60 /* 07ABE0 80079FE0 10000010 */ b .L8007A024 /* 07ABE4 80079FE4 8FAA002C */ lw $t2, 0x2c($sp) glabel L80079FE8 /* 07ABE8 80079FE8 0C01CDC8 */ jal func_80073720 /* 07ABEC 80079FEC 02002025 */ move $a0, $s0 /* 07ABF0 80079FF0 0C01C90A */ jal func_80072428 /* 07ABF4 80079FF4 02002025 */ move $a0, $s0 /* 07ABF8 80079FF8 862800CA */ lh $t0, 0xca($s1) /* 07ABFC 80079FFC 02002025 */ move $a0, $s0 /* 07AC00 8007A000 24050001 */ li $a1, 1 /* 07AC04 8007A004 3109FFDF */ andi $t1, $t0, 0xffdf /* 07AC08 8007A008 0C01C8B3 */ jal func_800722CC /* 07AC0C 8007A00C A62900CA */ sh $t1, 0xca($s1) /* 07AC10 8007A010 3C050100 */ lui $a1, (0x0100FA28 >> 16) # lui $a1, 0x100 /* 07AC14 8007A014 34A5FA28 */ ori $a1, (0x0100FA28 & 0xFFFF) # ori $a1, $a1, 0xfa28 /* 07AC18 8007A018 0C032406 */ jal func_800C9018 /* 07AC1C 8007A01C 93A4003F */ lbu $a0, 0x3f($sp) .L8007A020: /* 07AC20 8007A020 8FAA002C */ lw $t2, 0x2c($sp) .L8007A024: /* 07AC24 8007A024 02002025 */ move $a0, $s0 /* 07AC28 8007A028 854B00A6 */ lh $t3, 0xa6($t2) /* 07AC2C 8007A02C 29610002 */ slti $at, $t3, 2 /* 07AC30 8007A030 54200004 */ bnel $at, $zero, .L8007A044 /* 07AC34 8007A034 02002025 */ move $a0, $s0 /* 07AC38 8007A038 0C01E64F */ jal func_8007993C /* 07AC3C 8007A03C 02202825 */ move $a1, $s1 /* 07AC40 8007A040 02002025 */ move $a0, $s0 .L8007A044: /* 07AC44 8007A044 0C01E697 */ jal func_80079A5C /* 07AC48 8007A048 02202825 */ move $a1, $s1 /* 07AC4C 8007A04C 8FBF0024 */ lw $ra, 0x24($sp) /* 07AC50 8007A050 8FB0001C */ lw $s0, 0x1c($sp) /* 07AC54 8007A054 8FB10020 */ lw $s1, 0x20($sp) /* 07AC58 8007A058 03E00008 */ jr $ra /* 07AC5C 8007A05C 27BD0038 */ addiu $sp, $sp, 0x38 glabel func_8007A060 /* 07AC60 8007A060 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 07AC64 8007A064 AFBF0024 */ sw $ra, 0x24($sp) /* 07AC68 8007A068 AFB00020 */ sw $s0, 0x20($sp) /* 07AC6C 8007A06C 0C01E47C */ jal func_800791F0 /* 07AC70 8007A070 00808025 */ move $s0, $a0 /* 07AC74 8007A074 3C050D02 */ lui $a1, %hi(D_0D0256D8) # $a1, 0xd02 /* 07AC78 8007A078 3C060F0A */ lui $a2, %hi(D_0F09DB50) # $a2, 0xf0a /* 07AC7C 8007A07C 240E0038 */ li $t6, 56 /* 07AC80 8007A080 AFAE0010 */ sw $t6, 0x10($sp) /* 07AC84 8007A084 24C6DB50 */ addiu $a2, %lo(D_0F09DB50) # addiu $a2, $a2, -0x24b0 /* 07AC88 8007A088 24A556D8 */ addiu $a1, %lo(D_0D0256D8) # addiu $a1, $a1, 0x56d8 /* 07AC8C 8007A08C 02002025 */ move $a0, $s0 /* 07AC90 8007A090 0C01CD11 */ jal func_80073444 /* 07AC94 8007A094 24070048 */ li $a3, 72 /* 07AC98 8007A098 001078C0 */ sll $t7, $s0, 3 /* 07AC9C 8007A09C 3C01800F */ lui $at, %hi(D_800EEC90) # $at, 0x800f /* 07ACA0 8007A0A0 01F07823 */ subu $t7, $t7, $s0 /* 07ACA4 8007A0A4 3C188016 */ lui $t8, %hi(D_80165C18) # $t8, 0x8016 /* 07ACA8 8007A0A8 C420EC90 */ lwc1 $f0, %lo(D_800EEC90)($at) /* 07ACAC 8007A0AC 27185C18 */ addiu $t8, %lo(D_80165C18) # addiu $t8, $t8, 0x5c18 /* 07ACB0 8007A0B0 000F7940 */ sll $t7, $t7, 5 /* 07ACB4 8007A0B4 3C198019 */ lui $t9, %hi(D_8018C028) # $t9, 0x8019 /* 07ACB8 8007A0B8 8F39C028 */ lw $t9, %lo(D_8018C028)($t9) /* 07ACBC 8007A0BC 01F81021 */ addu $v0, $t7, $t8 /* 07ACC0 8007A0C0 3C080D00 */ lui $t0, %hi(D_0D006730) # $t0, 0xd00 /* 07ACC4 8007A0C4 25086730 */ addiu $t0, %lo(D_0D006730) # addiu $t0, $t0, 0x6730 /* 07ACC8 8007A0C8 AC480074 */ sw $t0, 0x74($v0) /* 07ACCC 8007A0CC 3C01800F */ lui $at, %hi(D_800EEC94) # $at, 0x800f /* 07ACD0 8007A0D0 E440000C */ swc1 $f0, 0xc($v0) /* 07ACD4 8007A0D4 E4400008 */ swc1 $f0, 8($v0) /* 07ACD8 8007A0D8 E4400004 */ swc1 $f0, 4($v0) /* 07ACDC 8007A0DC AC590064 */ sw $t9, 0x64($v0) /* 07ACE0 8007A0E0 C424EC94 */ lwc1 $f4, %lo(D_800EEC94)($at) /* 07ACE4 8007A0E4 02002025 */ move $a0, $s0 /* 07ACE8 8007A0E8 24050010 */ li $a1, 16 /* 07ACEC 8007A0EC 0C01C87A */ jal func_800721E8 /* 07ACF0 8007A0F0 E4440000 */ swc1 $f4, ($v0) /* 07ACF4 8007A0F4 3C06800E */ lui $a2, %hi(D_800E694C) # $a2, 0x800e /* 07ACF8 8007A0F8 24C6694C */ addiu $a2, %lo(D_800E694C) # addiu $a2, $a2, 0x694c /* 07ACFC 8007A0FC 02002025 */ move $a0, $s0 /* 07AD00 8007A100 0C021BC4 */ jal func_80086F10 /* 07AD04 8007A104 24050005 */ li $a1, 5 /* 07AD08 8007A108 0C01C922 */ jal func_80072488 /* 07AD0C 8007A10C 02002025 */ move $a0, $s0 /* 07AD10 8007A110 8FBF0024 */ lw $ra, 0x24($sp) /* 07AD14 8007A114 8FB00020 */ lw $s0, 0x20($sp) /* 07AD18 8007A118 27BD0028 */ addiu $sp, $sp, 0x28 /* 07AD1C 8007A11C 03E00008 */ jr $ra /* 07AD20 8007A120 00000000 */ nop glabel func_8007A124 /* 07AD24 8007A124 000470C0 */ sll $t6, $a0, 3 /* 07AD28 8007A128 01C47023 */ subu $t6, $t6, $a0 /* 07AD2C 8007A12C 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 07AD30 8007A130 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 07AD34 8007A134 000E7140 */ sll $t6, $t6, 5 /* 07AD38 8007A138 01CF1021 */ addu $v0, $t6, $t7 /* 07AD3C 8007A13C 945800A6 */ lhu $t8, 0xa6($v0) /* 07AD40 8007A140 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 07AD44 8007A144 AFBF001C */ sw $ra, 0x1c($sp) /* 07AD48 8007A148 2F010008 */ sltiu $at, $t8, 8 /* 07AD4C 8007A14C 10200032 */ beqz $at, .L8007A218 /* 07AD50 8007A150 0018C080 */ sll $t8, $t8, 2 /* 07AD54 8007A154 3C01800F */ lui $at, %hi(D_800EEC98) /* 07AD58 8007A158 00380821 */ addu $at, $at, $t8 /* 07AD5C 8007A15C 8C38EC98 */ lw $t8, %lo(D_800EEC98)($at) /* 07AD60 8007A160 03000008 */ jr $t8 /* 07AD64 8007A164 00000000 */ nop glabel L8007A168 /* 07AD68 8007A168 0C01E818 */ jal func_8007A060 /* 07AD6C 8007A16C 00000000 */ nop /* 07AD70 8007A170 1000002A */ b .L8007A21C /* 07AD74 8007A174 8FBF001C */ lw $ra, 0x1c($sp) glabel L8007A178 /* 07AD78 8007A178 24050010 */ li $a1, 16 /* 07AD7C 8007A17C 0C01C870 */ jal func_800721C0 /* 07AD80 8007A180 AFA40020 */ sw $a0, 0x20($sp) /* 07AD84 8007A184 0C01C922 */ jal func_80072488 /* 07AD88 8007A188 8FA40020 */ lw $a0, 0x20($sp) /* 07AD8C 8007A18C 10000023 */ b .L8007A21C /* 07AD90 8007A190 8FBF001C */ lw $ra, 0x1c($sp) glabel L8007A194 /* 07AD94 8007A194 0C01C9E3 */ jal func_8007278C /* 07AD98 8007A198 24050014 */ li $a1, 20 /* 07AD9C 8007A19C 1000001F */ b .L8007A21C /* 07ADA0 8007A1A0 8FBF001C */ lw $ra, 0x1c($sp) glabel L8007A1A4 /* 07ADA4 8007A1A4 24190002 */ li $t9, 2 /* 07ADA8 8007A1A8 24080001 */ li $t0, 1 /* 07ADAC 8007A1AC AFA80014 */ sw $t0, 0x14($sp) /* 07ADB0 8007A1B0 AFB90010 */ sw $t9, 0x10($sp) /* 07ADB4 8007A1B4 00002825 */ move $a1, $zero /* 07ADB8 8007A1B8 2406000F */ li $a2, 15 /* 07ADBC 8007A1BC 0C01CB95 */ jal func_80072E54 /* 07ADC0 8007A1C0 24070001 */ li $a3, 1 /* 07ADC4 8007A1C4 10000015 */ b .L8007A21C /* 07ADC8 8007A1C8 8FBF001C */ lw $ra, 0x1c($sp) glabel L8007A1CC /* 07ADCC 8007A1CC 0C01C9E3 */ jal func_8007278C /* 07ADD0 8007A1D0 2405003C */ li $a1, 60 /* 07ADD4 8007A1D4 10000011 */ b .L8007A21C /* 07ADD8 8007A1D8 8FBF001C */ lw $ra, 0x1c($sp) glabel L8007A1DC /* 07ADDC 8007A1DC 24090002 */ li $t1, 2 /* 07ADE0 8007A1E0 240A0001 */ li $t2, 1 /* 07ADE4 8007A1E4 AFAA0014 */ sw $t2, 0x14($sp) /* 07ADE8 8007A1E8 AFA90010 */ sw $t1, 0x10($sp) /* 07ADEC 8007A1EC 2405000F */ li $a1, 15 /* 07ADF0 8007A1F0 00003025 */ move $a2, $zero /* 07ADF4 8007A1F4 0C01CBE2 */ jal func_80072F88 /* 07ADF8 8007A1F8 24070001 */ li $a3, 1 /* 07ADFC 8007A1FC 10000007 */ b .L8007A21C /* 07AE00 8007A200 8FBF001C */ lw $ra, 0x1c($sp) glabel L8007A204 /* 07AE04 8007A204 844B00AE */ lh $t3, 0xae($v0) /* 07AE08 8007A208 55600004 */ bnel $t3, $zero, .L8007A21C /* 07AE0C 8007A20C 8FBF001C */ lw $ra, 0x1c($sp) /* 07AE10 8007A210 0C01C90A */ jal func_80072428 /* 07AE14 8007A214 00000000 */ nop .L8007A218: glabel L8007A218 /* 07AE18 8007A218 8FBF001C */ lw $ra, 0x1c($sp) .L8007A21C: /* 07AE1C 8007A21C 27BD0020 */ addiu $sp, $sp, 0x20 /* 07AE20 8007A220 03E00008 */ jr $ra /* 07AE24 8007A224 00000000 */ nop glabel func_8007A228 /* 07AE28 8007A228 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 07AE2C 8007A22C AFBF0024 */ sw $ra, 0x24($sp) /* 07AE30 8007A230 AFB00020 */ sw $s0, 0x20($sp) /* 07AE34 8007A234 0C01E47C */ jal func_800791F0 /* 07AE38 8007A238 00808025 */ move $s0, $a0 /* 07AE3C 8007A23C 3C050D02 */ lui $a1, %hi(D_0D0258D8) # $a1, 0xd02 /* 07AE40 8007A240 3C060F0B */ lui $a2, %hi(D_0F0AD750) # $a2, 0xf0b /* 07AE44 8007A244 240E0038 */ li $t6, 56 /* 07AE48 8007A248 AFAE0010 */ sw $t6, 0x10($sp) /* 07AE4C 8007A24C 24C6D750 */ addiu $a2, %lo(D_0F0AD750) # addiu $a2, $a2, -0x28b0 /* 07AE50 8007A250 24A558D8 */ addiu $a1, %lo(D_0D0258D8) # addiu $a1, $a1, 0x58d8 /* 07AE54 8007A254 02002025 */ move $a0, $s0 /* 07AE58 8007A258 0C01CD11 */ jal func_80073444 /* 07AE5C 8007A25C 24070048 */ li $a3, 72 /* 07AE60 8007A260 001078C0 */ sll $t7, $s0, 3 /* 07AE64 8007A264 3C01800F */ lui $at, %hi(D_800EECB8) # $at, 0x800f /* 07AE68 8007A268 01F07823 */ subu $t7, $t7, $s0 /* 07AE6C 8007A26C 3C188016 */ lui $t8, %hi(D_80165C18) # $t8, 0x8016 /* 07AE70 8007A270 C420ECB8 */ lwc1 $f0, %lo(D_800EECB8)($at) /* 07AE74 8007A274 27185C18 */ addiu $t8, %lo(D_80165C18) # addiu $t8, $t8, 0x5c18 /* 07AE78 8007A278 000F7940 */ sll $t7, $t7, 5 /* 07AE7C 8007A27C 3C198019 */ lui $t9, %hi(D_8018C028) # $t9, 0x8019 /* 07AE80 8007A280 8F39C028 */ lw $t9, %lo(D_8018C028)($t9) /* 07AE84 8007A284 01F81021 */ addu $v0, $t7, $t8 /* 07AE88 8007A288 3C080D00 */ lui $t0, %hi(D_0D006730) # $t0, 0xd00 /* 07AE8C 8007A28C 25086730 */ addiu $t0, %lo(D_0D006730) # addiu $t0, $t0, 0x6730 /* 07AE90 8007A290 AC480074 */ sw $t0, 0x74($v0) /* 07AE94 8007A294 3C01800F */ lui $at, %hi(D_800EECBC) # $at, 0x800f /* 07AE98 8007A298 E440000C */ swc1 $f0, 0xc($v0) /* 07AE9C 8007A29C E4400008 */ swc1 $f0, 8($v0) /* 07AEA0 8007A2A0 E4400004 */ swc1 $f0, 4($v0) /* 07AEA4 8007A2A4 AC590064 */ sw $t9, 0x64($v0) /* 07AEA8 8007A2A8 C424ECBC */ lwc1 $f4, %lo(D_800EECBC)($at) /* 07AEAC 8007A2AC 02002025 */ move $a0, $s0 /* 07AEB0 8007A2B0 24050010 */ li $a1, 16 /* 07AEB4 8007A2B4 0C01C87A */ jal func_800721E8 /* 07AEB8 8007A2B8 E4440000 */ swc1 $f4, ($v0) /* 07AEBC 8007A2BC 3C06800E */ lui $a2, %hi(D_800E694C) # $a2, 0x800e /* 07AEC0 8007A2C0 24C6694C */ addiu $a2, %lo(D_800E694C) # addiu $a2, $a2, 0x694c /* 07AEC4 8007A2C4 02002025 */ move $a0, $s0 /* 07AEC8 8007A2C8 0C021BC4 */ jal func_80086F10 /* 07AECC 8007A2CC 24050005 */ li $a1, 5 /* 07AED0 8007A2D0 0C01C922 */ jal func_80072488 /* 07AED4 8007A2D4 02002025 */ move $a0, $s0 /* 07AED8 8007A2D8 8FBF0024 */ lw $ra, 0x24($sp) /* 07AEDC 8007A2DC 8FB00020 */ lw $s0, 0x20($sp) /* 07AEE0 8007A2E0 27BD0028 */ addiu $sp, $sp, 0x28 /* 07AEE4 8007A2E4 03E00008 */ jr $ra /* 07AEE8 8007A2E8 00000000 */ nop glabel func_8007A2EC /* 07AEEC 8007A2EC 000470C0 */ sll $t6, $a0, 3 /* 07AEF0 8007A2F0 01C47023 */ subu $t6, $t6, $a0 /* 07AEF4 8007A2F4 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 07AEF8 8007A2F8 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 07AEFC 8007A2FC 000E7140 */ sll $t6, $t6, 5 /* 07AF00 8007A300 01CF1021 */ addu $v0, $t6, $t7 /* 07AF04 8007A304 945800A6 */ lhu $t8, 0xa6($v0) /* 07AF08 8007A308 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 07AF0C 8007A30C AFBF001C */ sw $ra, 0x1c($sp) /* 07AF10 8007A310 2F010008 */ sltiu $at, $t8, 8 /* 07AF14 8007A314 10200032 */ beqz $at, .L8007A3E0 /* 07AF18 8007A318 0018C080 */ sll $t8, $t8, 2 /* 07AF1C 8007A31C 3C01800F */ lui $at, %hi(D_800EECC0) /* 07AF20 8007A320 00380821 */ addu $at, $at, $t8 /* 07AF24 8007A324 8C38ECC0 */ lw $t8, %lo(D_800EECC0)($at) /* 07AF28 8007A328 03000008 */ jr $t8 /* 07AF2C 8007A32C 00000000 */ nop glabel L8007A330 /* 07AF30 8007A330 0C01E88A */ jal func_8007A228 /* 07AF34 8007A334 00000000 */ nop /* 07AF38 8007A338 1000002A */ b .L8007A3E4 /* 07AF3C 8007A33C 8FBF001C */ lw $ra, 0x1c($sp) glabel L8007A340 /* 07AF40 8007A340 24050010 */ li $a1, 16 /* 07AF44 8007A344 0C01C870 */ jal func_800721C0 /* 07AF48 8007A348 AFA40020 */ sw $a0, 0x20($sp) /* 07AF4C 8007A34C 0C01C922 */ jal func_80072488 /* 07AF50 8007A350 8FA40020 */ lw $a0, 0x20($sp) /* 07AF54 8007A354 10000023 */ b .L8007A3E4 /* 07AF58 8007A358 8FBF001C */ lw $ra, 0x1c($sp) glabel L8007A35C /* 07AF5C 8007A35C 0C01C9E3 */ jal func_8007278C /* 07AF60 8007A360 24050014 */ li $a1, 20 /* 07AF64 8007A364 1000001F */ b .L8007A3E4 /* 07AF68 8007A368 8FBF001C */ lw $ra, 0x1c($sp) glabel L8007A36C /* 07AF6C 8007A36C 24190002 */ li $t9, 2 /* 07AF70 8007A370 24080001 */ li $t0, 1 /* 07AF74 8007A374 AFA80014 */ sw $t0, 0x14($sp) /* 07AF78 8007A378 AFB90010 */ sw $t9, 0x10($sp) /* 07AF7C 8007A37C 00002825 */ move $a1, $zero /* 07AF80 8007A380 2406000F */ li $a2, 15 /* 07AF84 8007A384 0C01CB95 */ jal func_80072E54 /* 07AF88 8007A388 24070001 */ li $a3, 1 /* 07AF8C 8007A38C 10000015 */ b .L8007A3E4 /* 07AF90 8007A390 8FBF001C */ lw $ra, 0x1c($sp) glabel L8007A394 /* 07AF94 8007A394 0C01C9E3 */ jal func_8007278C /* 07AF98 8007A398 2405003C */ li $a1, 60 /* 07AF9C 8007A39C 10000011 */ b .L8007A3E4 /* 07AFA0 8007A3A0 8FBF001C */ lw $ra, 0x1c($sp) glabel L8007A3A4 /* 07AFA4 8007A3A4 24090002 */ li $t1, 2 /* 07AFA8 8007A3A8 240A0001 */ li $t2, 1 /* 07AFAC 8007A3AC AFAA0014 */ sw $t2, 0x14($sp) /* 07AFB0 8007A3B0 AFA90010 */ sw $t1, 0x10($sp) /* 07AFB4 8007A3B4 2405000F */ li $a1, 15 /* 07AFB8 8007A3B8 00003025 */ move $a2, $zero /* 07AFBC 8007A3BC 0C01CBE2 */ jal func_80072F88 /* 07AFC0 8007A3C0 24070001 */ li $a3, 1 /* 07AFC4 8007A3C4 10000007 */ b .L8007A3E4 /* 07AFC8 8007A3C8 8FBF001C */ lw $ra, 0x1c($sp) glabel L8007A3CC /* 07AFCC 8007A3CC 844B00AE */ lh $t3, 0xae($v0) /* 07AFD0 8007A3D0 55600004 */ bnel $t3, $zero, .L8007A3E4 /* 07AFD4 8007A3D4 8FBF001C */ lw $ra, 0x1c($sp) /* 07AFD8 8007A3D8 0C01C90A */ jal func_80072428 /* 07AFDC 8007A3DC 00000000 */ nop .L8007A3E0: glabel L8007A3E0 /* 07AFE0 8007A3E0 8FBF001C */ lw $ra, 0x1c($sp) .L8007A3E4: /* 07AFE4 8007A3E4 27BD0020 */ addiu $sp, $sp, 0x20 /* 07AFE8 8007A3E8 03E00008 */ jr $ra /* 07AFEC 8007A3EC 00000000 */ nop glabel func_8007A3F0 /* 07AFF0 8007A3F0 27BDFFD0 */ addiu $sp, $sp, -0x30 /* 07AFF4 8007A3F4 AFBF0024 */ sw $ra, 0x24($sp) /* 07AFF8 8007A3F8 AFB00020 */ sw $s0, 0x20($sp) /* 07AFFC 8007A3FC 00808025 */ move $s0, $a0 /* 07B000 8007A400 0C01E47C */ jal func_800791F0 /* 07B004 8007A404 AFA50034 */ sw $a1, 0x34($sp) /* 07B008 8007A408 3C050D02 */ lui $a1, %hi(D_0D025AD8) # $a1, 0xd02 /* 07B00C 8007A40C 3C060F0C */ lui $a2, %hi(D_0F0BD350) # $a2, 0xf0c /* 07B010 8007A410 240E0038 */ li $t6, 56 /* 07B014 8007A414 AFAE0010 */ sw $t6, 0x10($sp) /* 07B018 8007A418 24C6D350 */ addiu $a2, %lo(D_0F0BD350) # addiu $a2, $a2, -0x2cb0 /* 07B01C 8007A41C 24A55AD8 */ addiu $a1, %lo(D_0D025AD8) # addiu $a1, $a1, 0x5ad8 /* 07B020 8007A420 02002025 */ move $a0, $s0 /* 07B024 8007A424 0C01CD11 */ jal func_80073444 /* 07B028 8007A428 24070048 */ li $a3, 72 /* 07B02C 8007A42C 001078C0 */ sll $t7, $s0, 3 /* 07B030 8007A430 3C01800F */ lui $at, %hi(D_800EECE0) # $at, 0x800f /* 07B034 8007A434 01F07823 */ subu $t7, $t7, $s0 /* 07B038 8007A438 3C188016 */ lui $t8, %hi(D_80165C18) # $t8, 0x8016 /* 07B03C 8007A43C C420ECE0 */ lwc1 $f0, %lo(D_800EECE0)($at) /* 07B040 8007A440 27185C18 */ addiu $t8, %lo(D_80165C18) # addiu $t8, $t8, 0x5c18 /* 07B044 8007A444 000F7940 */ sll $t7, $t7, 5 /* 07B048 8007A448 3C198019 */ lui $t9, %hi(D_8018C028) # $t9, 0x8019 /* 07B04C 8007A44C 8F39C028 */ lw $t9, %lo(D_8018C028)($t9) /* 07B050 8007A450 01F81021 */ addu $v0, $t7, $t8 /* 07B054 8007A454 3C080D00 */ lui $t0, %hi(D_0D006730) # $t0, 0xd00 /* 07B058 8007A458 25086730 */ addiu $t0, %lo(D_0D006730) # addiu $t0, $t0, 0x6730 /* 07B05C 8007A45C AC480074 */ sw $t0, 0x74($v0) /* 07B060 8007A460 3C01800F */ lui $at, %hi(D_800EECE4) # $at, 0x800f /* 07B064 8007A464 E440000C */ swc1 $f0, 0xc($v0) /* 07B068 8007A468 E4400008 */ swc1 $f0, 8($v0) /* 07B06C 8007A46C E4400004 */ swc1 $f0, 4($v0) /* 07B070 8007A470 AC590064 */ sw $t9, 0x64($v0) /* 07B074 8007A474 C424ECE4 */ lwc1 $f4, %lo(D_800EECE4)($at) /* 07B078 8007A478 AFA20028 */ sw $v0, 0x28($sp) /* 07B07C 8007A47C 02002025 */ move $a0, $s0 /* 07B080 8007A480 24050010 */ li $a1, 16 /* 07B084 8007A484 0C01C87A */ jal func_800721E8 /* 07B088 8007A488 E4440000 */ swc1 $f4, ($v0) /* 07B08C 8007A48C 3C06800E */ lui $a2, %hi(D_800E69B0) # $a2, 0x800e /* 07B090 8007A490 24C669B0 */ addiu $a2, %lo(D_800E69B0) # addiu $a2, $a2, 0x69b0 /* 07B094 8007A494 02002025 */ move $a0, $s0 /* 07B098 8007A498 0C021BC4 */ jal func_80086F10 /* 07B09C 8007A49C 24050006 */ li $a1, 6 /* 07B0A0 8007A4A0 8FA20028 */ lw $v0, 0x28($sp) /* 07B0A4 8007A4A4 02002025 */ move $a0, $s0 /* 07B0A8 8007A4A8 0C01C922 */ jal func_80072488 /* 07B0AC 8007A4AC A04000D6 */ sb $zero, 0xd6($v0) /* 07B0B0 8007A4B0 3C050100 */ lui $a1, (0x0100FA28 >> 16) # lui $a1, 0x100 /* 07B0B4 8007A4B4 34A5FA28 */ ori $a1, (0x0100FA28 & 0xFFFF) # ori $a1, $a1, 0xfa28 /* 07B0B8 8007A4B8 0C0323E0 */ jal func_800C8F80 /* 07B0BC 8007A4BC 93A40037 */ lbu $a0, 0x37($sp) /* 07B0C0 8007A4C0 8FBF0024 */ lw $ra, 0x24($sp) /* 07B0C4 8007A4C4 8FB00020 */ lw $s0, 0x20($sp) /* 07B0C8 8007A4C8 27BD0030 */ addiu $sp, $sp, 0x30 /* 07B0CC 8007A4CC 03E00008 */ jr $ra /* 07B0D0 8007A4D0 00000000 */ nop glabel func_8007A4D4 /* 07B0D4 8007A4D4 000578C0 */ sll $t7, $a1, 3 /* 07B0D8 8007A4D8 000440C0 */ sll $t0, $a0, 3 /* 07B0DC 8007A4DC 27BDFFD0 */ addiu $sp, $sp, -0x30 /* 07B0E0 8007A4E0 01E57823 */ subu $t7, $t7, $a1 /* 07B0E4 8007A4E4 01044023 */ subu $t0, $t0, $a0 /* 07B0E8 8007A4E8 3C098016 */ lui $t1, %hi(D_80165C18) # $t1, 0x8016 /* 07B0EC 8007A4EC AFB0001C */ sw $s0, 0x1c($sp) /* 07B0F0 8007A4F0 000F7900 */ sll $t7, $t7, 4 /* 07B0F4 8007A4F4 25295C18 */ addiu $t1, %lo(D_80165C18) # addiu $t1, $t1, 0x5c18 /* 07B0F8 8007A4F8 00084140 */ sll $t0, $t0, 5 /* 07B0FC 8007A4FC 01E57823 */ subu $t7, $t7, $a1 /* 07B100 8007A500 3C18800E */ lui $t8, %hi(D_800DC4DC) # $t8, 0x800e /* 07B104 8007A504 01098021 */ addu $s0, $t0, $t1 /* 07B108 8007A508 8F18C4DC */ lw $t8, %lo(D_800DC4DC)($t8) /* 07B10C 8007A50C 960A00A6 */ lhu $t2, 0xa6($s0) /* 07B110 8007A510 000F7880 */ sll $t7, $t7, 2 /* 07B114 8007A514 01E57823 */ subu $t7, $t7, $a1 /* 07B118 8007A518 000F78C0 */ sll $t7, $t7, 3 /* 07B11C 8007A51C AFB10020 */ sw $s1, 0x20($sp) /* 07B120 8007A520 01F8C821 */ addu $t9, $t7, $t8 /* 07B124 8007A524 2D410005 */ sltiu $at, $t2, 5 /* 07B128 8007A528 00808825 */ move $s1, $a0 /* 07B12C 8007A52C AFBF0024 */ sw $ra, 0x24($sp) /* 07B130 8007A530 AFA50034 */ sw $a1, 0x34($sp) /* 07B134 8007A534 10200022 */ beqz $at, .L8007A5C0 /* 07B138 8007A538 AFB9002C */ sw $t9, 0x2c($sp) /* 07B13C 8007A53C 000A5080 */ sll $t2, $t2, 2 /* 07B140 8007A540 3C01800F */ lui $at, %hi(D_800EECE8) /* 07B144 8007A544 002A0821 */ addu $at, $at, $t2 /* 07B148 8007A548 8C2AECE8 */ lw $t2, %lo(D_800EECE8)($at) /* 07B14C 8007A54C 01400008 */ jr $t2 /* 07B150 8007A550 00000000 */ nop glabel L8007A554 /* 07B154 8007A554 02202025 */ move $a0, $s1 /* 07B158 8007A558 0C01E8FC */ jal func_8007A3F0 /* 07B15C 8007A55C 8FA50034 */ lw $a1, 0x34($sp) /* 07B160 8007A560 10000018 */ b .L8007A5C4 /* 07B164 8007A564 920200D6 */ lbu $v0, 0xd6($s0) glabel L8007A568 /* 07B168 8007A568 02202025 */ move $a0, $s1 /* 07B16C 8007A56C 0C01C870 */ jal func_800721C0 /* 07B170 8007A570 24050010 */ li $a1, 16 /* 07B174 8007A574 240B0001 */ li $t3, 1 /* 07B178 8007A578 A20B00D6 */ sb $t3, 0xd6($s0) /* 07B17C 8007A57C 0C01C922 */ jal func_80072488 /* 07B180 8007A580 02202025 */ move $a0, $s1 /* 07B184 8007A584 1000000F */ b .L8007A5C4 /* 07B188 8007A588 920200D6 */ lbu $v0, 0xd6($s0) glabel L8007A58C /* 07B18C 8007A58C 240C0002 */ li $t4, 2 /* 07B190 8007A590 240DFFFF */ li $t5, -1 /* 07B194 8007A594 AFAD0014 */ sw $t5, 0x14($sp) /* 07B198 8007A598 AFAC0010 */ sw $t4, 0x10($sp) /* 07B19C 8007A59C 02202025 */ move $a0, $s1 /* 07B1A0 8007A5A0 00002825 */ move $a1, $zero /* 07B1A4 8007A5A4 2406000F */ li $a2, 15 /* 07B1A8 8007A5A8 0C01CC2F */ jal func_800730BC /* 07B1AC 8007A5AC 24070001 */ li $a3, 1 /* 07B1B0 8007A5B0 10000004 */ b .L8007A5C4 /* 07B1B4 8007A5B4 920200D6 */ lbu $v0, 0xd6($s0) glabel L8007A5B8 /* 07B1B8 8007A5B8 0C01C90A */ jal func_80072428 /* 07B1BC 8007A5BC 02202025 */ move $a0, $s1 .L8007A5C0: glabel L8007A5C0 /* 07B1C0 8007A5C0 920200D6 */ lbu $v0, 0xd6($s0) .L8007A5C4: /* 07B1C4 8007A5C4 24010001 */ li $at, 1 /* 07B1C8 8007A5C8 10410005 */ beq $v0, $at, .L8007A5E0 /* 07B1CC 8007A5CC 24010002 */ li $at, 2 /* 07B1D0 8007A5D0 5041001B */ beql $v0, $at, .L8007A640 /* 07B1D4 8007A5D4 8E0A004C */ lw $t2, 0x4c($s0) /* 07B1D8 8007A5D8 10000020 */ b .L8007A65C /* 07B1DC 8007A5DC 8FBF0024 */ lw $ra, 0x24($sp) .L8007A5E0: /* 07B1E0 8007A5E0 860E00A6 */ lh $t6, 0xa6($s0) /* 07B1E4 8007A5E4 8FAF002C */ lw $t7, 0x2c($sp) /* 07B1E8 8007A5E8 29C10003 */ slti $at, $t6, 3 /* 07B1EC 8007A5EC 5420001B */ bnel $at, $zero, .L8007A65C /* 07B1F0 8007A5F0 8FBF0024 */ lw $ra, 0x24($sp) /* 07B1F4 8007A5F4 8DF800BC */ lw $t8, 0xbc($t7) /* 07B1F8 8007A5F8 02202025 */ move $a0, $s1 /* 07B1FC 8007A5FC 24050006 */ li $a1, 6 /* 07B200 8007A600 0018CA40 */ sll $t9, $t8, 9 /* 07B204 8007A604 07200014 */ bltz $t9, .L8007A658 /* 07B208 8007A608 3C06800E */ lui $a2, %hi(D_800E69F4) # $a2, 0x800e /* 07B20C 8007A60C 0C021BC4 */ jal func_80086F10 /* 07B210 8007A610 24C669F4 */ addiu $a2, %lo(D_800E69F4) # addiu $a2, $a2, 0x69f4 /* 07B214 8007A614 24080002 */ li $t0, 2 /* 07B218 8007A618 24090050 */ li $t1, 80 /* 07B21C 8007A61C 3C050100 */ lui $a1, (0x0100FA28 >> 16) # lui $a1, 0x100 /* 07B220 8007A620 A20800D6 */ sb $t0, 0xd6($s0) /* 07B224 8007A624 AE09004C */ sw $t1, 0x4c($s0) /* 07B228 8007A628 34A5FA28 */ ori $a1, (0x0100FA28 & 0xFFFF) # ori $a1, $a1, 0xfa28 /* 07B22C 8007A62C 0C032406 */ jal func_800C9018 /* 07B230 8007A630 93A40037 */ lbu $a0, 0x37($sp) /* 07B234 8007A634 10000009 */ b .L8007A65C /* 07B238 8007A638 8FBF0024 */ lw $ra, 0x24($sp) /* 07B23C 8007A63C 8E0A004C */ lw $t2, 0x4c($s0) .L8007A640: /* 07B240 8007A640 254BFFFF */ addiu $t3, $t2, -1 /* 07B244 8007A644 15600004 */ bnez $t3, .L8007A658 /* 07B248 8007A648 AE0B004C */ sw $t3, 0x4c($s0) /* 07B24C 8007A64C 0C01C922 */ jal func_80072488 /* 07B250 8007A650 02202025 */ move $a0, $s1 /* 07B254 8007A654 A20000D6 */ sb $zero, 0xd6($s0) .L8007A658: /* 07B258 8007A658 8FBF0024 */ lw $ra, 0x24($sp) .L8007A65C: /* 07B25C 8007A65C 8FB0001C */ lw $s0, 0x1c($sp) /* 07B260 8007A660 8FB10020 */ lw $s1, 0x20($sp) /* 07B264 8007A664 03E00008 */ jr $ra /* 07B268 8007A668 27BD0030 */ addiu $sp, $sp, 0x30 glabel func_8007A66C /* 07B26C 8007A66C 27BDFFD0 */ addiu $sp, $sp, -0x30 /* 07B270 8007A670 AFBF001C */ sw $ra, 0x1c($sp) /* 07B274 8007A674 AFB00018 */ sw $s0, 0x18($sp) /* 07B278 8007A678 AFA40030 */ sw $a0, 0x30($sp) /* 07B27C 8007A67C AFA50034 */ sw $a1, 0x34($sp) /* 07B280 8007A680 84CE0026 */ lh $t6, 0x26($a2) /* 07B284 8007A684 340F8000 */ li $t7, 32768 /* 07B288 8007A688 01EE8023 */ subu $s0, $t7, $t6 /* 07B28C 8007A68C 3218FFFF */ andi $t8, $s0, 0xffff /* 07B290 8007A690 03008025 */ move $s0, $t8 /* 07B294 8007A694 0C0AE00E */ jal func_802B8038 /* 07B298 8007A698 3304FFFF */ andi $a0, $t8, 0xffff /* 07B29C 8007A69C E7A00024 */ swc1 $f0, 0x24($sp) /* 07B2A0 8007A6A0 0C0AE006 */ jal func_802B8018 /* 07B2A4 8007A6A4 3204FFFF */ andi $a0, $s0, 0xffff /* 07B2A8 8007A6A8 8FB90030 */ lw $t9, 0x30($sp) /* 07B2AC 8007A6AC 3C098016 */ lui $t1, %hi(D_80165C18) # $t1, 0x8016 /* 07B2B0 8007A6B0 25295C18 */ addiu $t1, %lo(D_80165C18) # addiu $t1, $t1, 0x5c18 /* 07B2B4 8007A6B4 001940C0 */ sll $t0, $t9, 3 /* 07B2B8 8007A6B8 01194023 */ subu $t0, $t0, $t9 /* 07B2BC 8007A6BC 00084140 */ sll $t0, $t0, 5 /* 07B2C0 8007A6C0 01091021 */ addu $v0, $t0, $t1 /* 07B2C4 8007A6C4 C4440010 */ lwc1 $f4, 0x10($v0) /* 07B2C8 8007A6C8 C4460028 */ lwc1 $f6, 0x28($v0) /* 07B2CC 8007A6CC C7AA0024 */ lwc1 $f10, 0x24($sp) /* 07B2D0 8007A6D0 8FA30034 */ lw $v1, 0x34($sp) /* 07B2D4 8007A6D4 46062200 */ add.s $f8, $f4, $f6 /* 07B2D8 8007A6D8 C4460030 */ lwc1 $f6, 0x30($v0) /* 07B2DC 8007A6DC C4720014 */ lwc1 $f18, 0x14($v1) /* 07B2E0 8007A6E0 3204FFFF */ andi $a0, $s0, 0xffff /* 07B2E4 8007A6E4 46085402 */ mul.s $f16, $f10, $f8 /* 07B2E8 8007A6E8 C44A0018 */ lwc1 $f10, 0x18($v0) /* 07B2EC 8007A6EC 460A3200 */ add.s $f8, $f6, $f10 /* 07B2F0 8007A6F0 C44A0014 */ lwc1 $f10, 0x14($v0) /* 07B2F4 8007A6F4 46109100 */ add.s $f4, $f18, $f16 /* 07B2F8 8007A6F8 46004482 */ mul.s $f18, $f8, $f0 /* 07B2FC 8007A6FC 46122401 */ sub.s $f16, $f4, $f18 /* 07B300 8007A700 C444002C */ lwc1 $f4, 0x2c($v0) /* 07B304 8007A704 E4500004 */ swc1 $f16, 4($v0) /* 07B308 8007A708 C4660074 */ lwc1 $f6, 0x74($v1) /* 07B30C 8007A70C AFA20020 */ sw $v0, 0x20($sp) /* 07B310 8007A710 460A3200 */ add.s $f8, $f6, $f10 /* 07B314 8007A714 46082480 */ add.s $f18, $f4, $f8 /* 07B318 8007A718 0C0AE006 */ jal func_802B8018 /* 07B31C 8007A71C E4520008 */ swc1 $f18, 8($v0) /* 07B320 8007A720 E7A00024 */ swc1 $f0, 0x24($sp) /* 07B324 8007A724 0C0AE00E */ jal func_802B8038 /* 07B328 8007A728 3204FFFF */ andi $a0, $s0, 0xffff /* 07B32C 8007A72C 8FA20020 */ lw $v0, 0x20($sp) /* 07B330 8007A730 8FAA0034 */ lw $t2, 0x34($sp) /* 07B334 8007A734 8FBF001C */ lw $ra, 0x1c($sp) /* 07B338 8007A738 C4500030 */ lwc1 $f16, 0x30($v0) /* 07B33C 8007A73C C4460018 */ lwc1 $f6, 0x18($v0) /* 07B340 8007A740 C4480010 */ lwc1 $f8, 0x10($v0) /* 07B344 8007A744 C4520028 */ lwc1 $f18, 0x28($v0) /* 07B348 8007A748 46068280 */ add.s $f10, $f16, $f6 /* 07B34C 8007A74C C7A60024 */ lwc1 $f6, 0x24($sp) /* 07B350 8007A750 8FB00018 */ lw $s0, 0x18($sp) /* 07B354 8007A754 46124400 */ add.s $f16, $f8, $f18 /* 07B358 8007A758 46005102 */ mul.s $f4, $f10, $f0 /* 07B35C 8007A75C C548001C */ lwc1 $f8, 0x1c($t2) /* 07B360 8007A760 27BD0030 */ addiu $sp, $sp, 0x30 /* 07B364 8007A764 46103282 */ mul.s $f10, $f6, $f16 /* 07B368 8007A768 460A4480 */ add.s $f18, $f8, $f10 /* 07B36C 8007A76C 46122180 */ add.s $f6, $f4, $f18 /* 07B370 8007A770 03E00008 */ jr $ra /* 07B374 8007A774 E446000C */ swc1 $f6, 0xc($v0) glabel func_8007A778 /* 07B378 8007A778 27BDFFD0 */ addiu $sp, $sp, -0x30 /* 07B37C 8007A77C AFBF001C */ sw $ra, 0x1c($sp) /* 07B380 8007A780 AFB00018 */ sw $s0, 0x18($sp) /* 07B384 8007A784 AFA40030 */ sw $a0, 0x30($sp) /* 07B388 8007A788 AFA50034 */ sw $a1, 0x34($sp) /* 07B38C 8007A78C 84CE0026 */ lh $t6, 0x26($a2) /* 07B390 8007A790 340F8000 */ li $t7, 32768 /* 07B394 8007A794 01EE8023 */ subu $s0, $t7, $t6 /* 07B398 8007A798 3218FFFF */ andi $t8, $s0, 0xffff /* 07B39C 8007A79C 03008025 */ move $s0, $t8 /* 07B3A0 8007A7A0 0C0AE00E */ jal func_802B8038 /* 07B3A4 8007A7A4 3304FFFF */ andi $a0, $t8, 0xffff /* 07B3A8 8007A7A8 E7A00024 */ swc1 $f0, 0x24($sp) /* 07B3AC 8007A7AC 0C0AE006 */ jal func_802B8018 /* 07B3B0 8007A7B0 3204FFFF */ andi $a0, $s0, 0xffff /* 07B3B4 8007A7B4 8FB90030 */ lw $t9, 0x30($sp) /* 07B3B8 8007A7B8 3C098016 */ lui $t1, %hi(D_80165C18) # $t1, 0x8016 /* 07B3BC 8007A7BC 25295C18 */ addiu $t1, %lo(D_80165C18) # addiu $t1, $t1, 0x5c18 /* 07B3C0 8007A7C0 001940C0 */ sll $t0, $t9, 3 /* 07B3C4 8007A7C4 01194023 */ subu $t0, $t0, $t9 /* 07B3C8 8007A7C8 00084140 */ sll $t0, $t0, 5 /* 07B3CC 8007A7CC 01091021 */ addu $v0, $t0, $t1 /* 07B3D0 8007A7D0 C4440010 */ lwc1 $f4, 0x10($v0) /* 07B3D4 8007A7D4 C4460028 */ lwc1 $f6, 0x28($v0) /* 07B3D8 8007A7D8 C7AA0024 */ lwc1 $f10, 0x24($sp) /* 07B3DC 8007A7DC 8FA30034 */ lw $v1, 0x34($sp) /* 07B3E0 8007A7E0 46062200 */ add.s $f8, $f4, $f6 /* 07B3E4 8007A7E4 C4460030 */ lwc1 $f6, 0x30($v0) /* 07B3E8 8007A7E8 C4720014 */ lwc1 $f18, 0x14($v1) /* 07B3EC 8007A7EC 3204FFFF */ andi $a0, $s0, 0xffff /* 07B3F0 8007A7F0 46085402 */ mul.s $f16, $f10, $f8 /* 07B3F4 8007A7F4 C44A0018 */ lwc1 $f10, 0x18($v0) /* 07B3F8 8007A7F8 460A3200 */ add.s $f8, $f6, $f10 /* 07B3FC 8007A7FC C44A0014 */ lwc1 $f10, 0x14($v0) /* 07B400 8007A800 46109100 */ add.s $f4, $f18, $f16 /* 07B404 8007A804 46004482 */ mul.s $f18, $f8, $f0 /* 07B408 8007A808 46122401 */ sub.s $f16, $f4, $f18 /* 07B40C 8007A80C C444002C */ lwc1 $f4, 0x2c($v0) /* 07B410 8007A810 E4500004 */ swc1 $f16, 4($v0) /* 07B414 8007A814 C4660018 */ lwc1 $f6, 0x18($v1) /* 07B418 8007A818 AFA20020 */ sw $v0, 0x20($sp) /* 07B41C 8007A81C 460A3200 */ add.s $f8, $f6, $f10 /* 07B420 8007A820 46082480 */ add.s $f18, $f4, $f8 /* 07B424 8007A824 0C0AE006 */ jal func_802B8018 /* 07B428 8007A828 E4520008 */ swc1 $f18, 8($v0) /* 07B42C 8007A82C E7A00024 */ swc1 $f0, 0x24($sp) /* 07B430 8007A830 0C0AE00E */ jal func_802B8038 /* 07B434 8007A834 3204FFFF */ andi $a0, $s0, 0xffff /* 07B438 8007A838 8FA20020 */ lw $v0, 0x20($sp) /* 07B43C 8007A83C 8FAA0034 */ lw $t2, 0x34($sp) /* 07B440 8007A840 8FBF001C */ lw $ra, 0x1c($sp) /* 07B444 8007A844 C4500030 */ lwc1 $f16, 0x30($v0) /* 07B448 8007A848 C4460018 */ lwc1 $f6, 0x18($v0) /* 07B44C 8007A84C C4480010 */ lwc1 $f8, 0x10($v0) /* 07B450 8007A850 C4520028 */ lwc1 $f18, 0x28($v0) /* 07B454 8007A854 46068280 */ add.s $f10, $f16, $f6 /* 07B458 8007A858 C7A60024 */ lwc1 $f6, 0x24($sp) /* 07B45C 8007A85C 8FB00018 */ lw $s0, 0x18($sp) /* 07B460 8007A860 46124400 */ add.s $f16, $f8, $f18 /* 07B464 8007A864 46005102 */ mul.s $f4, $f10, $f0 /* 07B468 8007A868 C548001C */ lwc1 $f8, 0x1c($t2) /* 07B46C 8007A86C 27BD0030 */ addiu $sp, $sp, 0x30 /* 07B470 8007A870 46103282 */ mul.s $f10, $f6, $f16 /* 07B474 8007A874 460A4480 */ add.s $f18, $f8, $f10 /* 07B478 8007A878 46122180 */ add.s $f6, $f4, $f18 /* 07B47C 8007A87C 03E00008 */ jr $ra /* 07B480 8007A880 E446000C */ swc1 $f6, 0xc($v0) /* 07B484 8007A884 03E00008 */ jr $ra /* 07B488 8007A888 00000000 */ nop glabel func_8007A88C /* 07B48C 8007A88C 00047080 */ sll $t6, $a0, 2 /* 07B490 8007A890 3C028018 */ lui $v0, %hi(D_80183DB8) # 0x8018 /* 07B494 8007A894 004E1021 */ addu $v0, $v0, $t6 /* 07B498 8007A898 8C423DB8 */ lw $v0, %lo(D_80183DB8)($v0) # 0x3db8($v0) /* 07B49C 8007A89C 000478C0 */ sll $t7, $a0, 3 /* 07B4A0 8007A8A0 01E47823 */ subu $t7, $t7, $a0 /* 07B4A4 8007A8A4 0002C8C0 */ sll $t9, $v0, 3 /* 07B4A8 8007A8A8 0322C823 */ subu $t9, $t9, $v0 /* 07B4AC 8007A8AC 000F7900 */ sll $t7, $t7, 4 /* 07B4B0 8007A8B0 0019C940 */ sll $t9, $t9, 5 /* 07B4B4 8007A8B4 3C088016 */ lui $t0, %hi(D_80165CBE) # 0x8016 /* 07B4B8 8007A8B8 01E47823 */ subu $t7, $t7, $a0 /* 07B4BC 8007A8BC 01194021 */ addu $t0, $t0, $t9 /* 07B4C0 8007A8C0 85085CBE */ lh $t0, %lo(D_80165CBE)($t0) # 0x5cbe($t0) /* 07B4C4 8007A8C4 000F7880 */ sll $t7, $t7, 2 /* 07B4C8 8007A8C8 3C18800E */ lui $t8, %hi(D_800DC4DC) # $t8, 0x800e /* 07B4CC 8007A8CC 8F18C4DC */ lw $t8, %lo(D_800DC4DC)($t8) /* 07B4D0 8007A8D0 01E47823 */ subu $t7, $t7, $a0 /* 07B4D4 8007A8D4 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 07B4D8 8007A8D8 000F78C0 */ sll $t7, $t7, 3 /* 07B4DC 8007A8DC AFBF0014 */ sw $ra, 0x14($sp) /* 07B4E0 8007A8E0 15000007 */ bnez $t0, .L8007A900 /* 07B4E4 8007A8E4 01F81821 */ addu $v1, $t7, $t8 /* 07B4E8 8007A8E8 8C6900BC */ lw $t1, 0xbc($v1) /* 07B4EC 8007A8EC 00095240 */ sll $t2, $t1, 9 /* 07B4F0 8007A8F0 05430004 */ bgezl $t2, .L8007A904 /* 07B4F4 8007A8F4 8FBF0014 */ lw $ra, 0x14($sp) /* 07B4F8 8007A8F8 0C01E439 */ jal func_800790E4 /* 07B4FC 8007A8FC 00000000 */ nop .L8007A900: /* 07B500 8007A900 8FBF0014 */ lw $ra, 0x14($sp) .L8007A904: /* 07B504 8007A904 27BD0018 */ addiu $sp, $sp, 0x18 /* 07B508 8007A908 03E00008 */ jr $ra /* 07B50C 8007A90C 00000000 */ nop glabel func_8007A910 /* 07B510 8007A910 3C0E8016 */ lui $t6, %hi(D_801657B4) # $t6, 0x8016 /* 07B514 8007A914 81CE57B4 */ lb $t6, %lo(D_801657B4)($t6) /* 07B518 8007A918 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 07B51C 8007A91C AFBF0014 */ sw $ra, 0x14($sp) /* 07B520 8007A920 15C00003 */ bnez $t6, .L8007A930 /* 07B524 8007A924 AFA40018 */ sw $a0, 0x18($sp) /* 07B528 8007A928 0C01EA23 */ jal func_8007A88C /* 07B52C 8007A92C 00000000 */ nop .L8007A930: /* 07B530 8007A930 0C01E618 */ jal func_80079860 /* 07B534 8007A934 8FA40018 */ lw $a0, 0x18($sp) /* 07B538 8007A938 8FBF0014 */ lw $ra, 0x14($sp) /* 07B53C 8007A93C 27BD0018 */ addiu $sp, $sp, 0x18 /* 07B540 8007A940 03E00008 */ jr $ra /* 07B544 8007A944 00000000 */ nop glabel func_8007A948 /* 07B548 8007A948 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 07B54C 8007A94C AFB00018 */ sw $s0, 0x18($sp) /* 07B550 8007A950 3C108018 */ lui $s0, %hi(D_80183DB8) # 0x8018 /* 07B554 8007A954 00047080 */ sll $t6, $a0, 2 /* 07B558 8007A958 020E8021 */ addu $s0, $s0, $t6 /* 07B55C 8007A95C 8E103DB8 */ lw $s0, %lo(D_80183DB8)($s0) # 0x3db8($s0) /* 07B560 8007A960 3C188016 */ lui $t8, %hi(D_80165CF0) # 0x8016 /* 07B564 8007A964 AFBF001C */ sw $ra, 0x1c($sp) /* 07B568 8007A968 001078C0 */ sll $t7, $s0, 3 /* 07B56C 8007A96C 01F07823 */ subu $t7, $t7, $s0 /* 07B570 8007A970 000F7940 */ sll $t7, $t7, 5 /* 07B574 8007A974 030FC021 */ addu $t8, $t8, $t7 /* 07B578 8007A978 93185CF0 */ lbu $t8, %lo(D_80165CF0)($t8) # 0x5cf0($t8) /* 07B57C 8007A97C 00802825 */ move $a1, $a0 /* 07B580 8007A980 2F010008 */ sltiu $at, $t8, 8 /* 07B584 8007A984 1020002A */ beqz $at, .L8007AA30 /* 07B588 8007A988 0018C080 */ sll $t8, $t8, 2 /* 07B58C 8007A98C 3C01800F */ lui $at, %hi(D_800EECFC) # 0x800f /* 07B590 8007A990 00380821 */ addu $at, $at, $t8 /* 07B594 8007A994 8C38ECFC */ lw $t8, %lo(D_800EECFC)($at) # -0x1304($at) /* 07B598 8007A998 03000008 */ jr $t8 /* 07B59C 8007A99C 00000000 */ nop glabel L8007A9A0 /* 07B5A0 8007A9A0 0C01E4E0 */ jal func_80079380 /* 07B5A4 8007A9A4 02002025 */ move $a0, $s0 /* 07B5A8 8007A9A8 0C022FFF */ jal func_8008BFFC /* 07B5AC 8007A9AC 02002025 */ move $a0, $s0 /* 07B5B0 8007A9B0 10000020 */ b .L8007AA34 /* 07B5B4 8007A9B4 8FBF001C */ lw $ra, 0x1c($sp) glabel L8007A9B8 /* 07B5B8 8007A9B8 0C01E5C0 */ jal func_80079700 /* 07B5BC 8007A9BC 02002025 */ move $a0, $s0 /* 07B5C0 8007A9C0 0C022FFF */ jal func_8008BFFC /* 07B5C4 8007A9C4 02002025 */ move $a0, $s0 /* 07B5C8 8007A9C8 1000001A */ b .L8007AA34 /* 07B5CC 8007A9CC 8FBF001C */ lw $ra, 0x1c($sp) glabel L8007A9D0 /* 07B5D0 8007A9D0 0C01E6D0 */ jal func_80079B40 /* 07B5D4 8007A9D4 02002025 */ move $a0, $s0 /* 07B5D8 8007A9D8 10000016 */ b .L8007AA34 /* 07B5DC 8007A9DC 8FBF001C */ lw $ra, 0x1c($sp) glabel L8007A9E0 /* 07B5E0 8007A9E0 0C01E849 */ jal func_8007A124 /* 07B5E4 8007A9E4 02002025 */ move $a0, $s0 /* 07B5E8 8007A9E8 0C022FFF */ jal func_8008BFFC /* 07B5EC 8007A9EC 02002025 */ move $a0, $s0 /* 07B5F0 8007A9F0 10000010 */ b .L8007AA34 /* 07B5F4 8007A9F4 8FBF001C */ lw $ra, 0x1c($sp) glabel L8007A9F8 /* 07B5F8 8007A9F8 0C01E8BB */ jal func_8007A2EC /* 07B5FC 8007A9FC 02002025 */ move $a0, $s0 /* 07B600 8007AA00 0C022FFF */ jal func_8008BFFC /* 07B604 8007AA04 02002025 */ move $a0, $s0 /* 07B608 8007AA08 1000000A */ b .L8007AA34 /* 07B60C 8007AA0C 8FBF001C */ lw $ra, 0x1c($sp) glabel L8007AA10 /* 07B610 8007AA10 0C01E935 */ jal func_8007A4D4 /* 07B614 8007AA14 02002025 */ move $a0, $s0 /* 07B618 8007AA18 0C022FFF */ jal func_8008BFFC /* 07B61C 8007AA1C 02002025 */ move $a0, $s0 /* 07B620 8007AA20 10000004 */ b .L8007AA34 /* 07B624 8007AA24 8FBF001C */ lw $ra, 0x1c($sp) glabel L8007AA28 /* 07B628 8007AA28 0C01E751 */ jal func_80079D44 /* 07B62C 8007AA2C 02002025 */ move $a0, $s0 .L8007AA30: glabel L8007AA30 /* 07B630 8007AA30 8FBF001C */ lw $ra, 0x1c($sp) .L8007AA34: /* 07B634 8007AA34 8FB00018 */ lw $s0, 0x18($sp) /* 07B638 8007AA38 27BD0020 */ addiu $sp, $sp, 0x20 /* 07B63C 8007AA3C 03E00008 */ jr $ra /* 07B640 8007AA40 00000000 */ nop glabel func_8007AA44 /* 07B644 8007AA44 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 07B648 8007AA48 AFBF001C */ sw $ra, 0x1c($sp) /* 07B64C 8007AA4C AFB00018 */ sw $s0, 0x18($sp) /* 07B650 8007AA50 0C01EA44 */ jal func_8007A910 /* 07B654 8007AA54 AFA40020 */ sw $a0, 0x20($sp) /* 07B658 8007AA58 8FA50020 */ lw $a1, 0x20($sp) /* 07B65C 8007AA5C 3C108018 */ lui $s0, %hi(D_80183DB8) # 0x8018 /* 07B660 8007AA60 3C098016 */ lui $t1, %hi(D_80165CF0) # 0x8016 /* 07B664 8007AA64 00057080 */ sll $t6, $a1, 2 /* 07B668 8007AA68 020E8021 */ addu $s0, $s0, $t6 /* 07B66C 8007AA6C 8E103DB8 */ lw $s0, %lo(D_80183DB8)($s0) # 0x3db8($s0) /* 07B670 8007AA70 3C188018 */ lui $t8, %hi(D_80183FA8) # $t8, 0x8018 /* 07B674 8007AA74 27183FA8 */ addiu $t8, %lo(D_80183FA8) # addiu $t8, $t8, 0x3fa8 /* 07B678 8007AA78 001040C0 */ sll $t0, $s0, 3 /* 07B67C 8007AA7C 01104023 */ subu $t0, $t0, $s0 /* 07B680 8007AA80 00084140 */ sll $t0, $t0, 5 /* 07B684 8007AA84 01284821 */ addu $t1, $t1, $t0 /* 07B688 8007AA88 91295CF0 */ lbu $t1, %lo(D_80165CF0)($t1) # 0x5cf0($t1) /* 07B68C 8007AA8C 00057B40 */ sll $t7, $a1, 0xd /* 07B690 8007AA90 01F8C821 */ addu $t9, $t7, $t8 /* 07B694 8007AA94 3C018019 */ lui $at, %hi(D_8018C028) # $at, 0x8019 /* 07B698 8007AA98 AC39C028 */ sw $t9, %lo(D_8018C028)($at) /* 07B69C 8007AA9C 2D210008 */ sltiu $at, $t1, 8 /* 07B6A0 8007AAA0 10200051 */ beqz $at, .L8007ABE8 /* 07B6A4 8007AAA4 00094880 */ sll $t1, $t1, 2 /* 07B6A8 8007AAA8 3C01800F */ lui $at, %hi(D_800EED1C) # 0x800f /* 07B6AC 8007AAAC 00290821 */ addu $at, $at, $t1 /* 07B6B0 8007AAB0 8C29ED1C */ lw $t1, %lo(D_800EED1C)($at) # -0x12e4($at) /* 07B6B4 8007AAB4 01200008 */ jr $t1 /* 07B6B8 8007AAB8 00000000 */ nop glabel L8007AABC /* 07B6BC 8007AABC 02002025 */ move $a0, $s0 /* 07B6C0 8007AAC0 0C01E445 */ jal func_80079114 /* 07B6C4 8007AAC4 24060002 */ li $a2, 2 /* 07B6C8 8007AAC8 3C058019 */ lui $a1, %hi(D_8018CF1C) # $a1, 0x8019 /* 07B6CC 8007AACC 3C068019 */ lui $a2, %hi(D_8018CF14) # $a2, 0x8019 /* 07B6D0 8007AAD0 8CC6CF14 */ lw $a2, %lo(D_8018CF14)($a2) /* 07B6D4 8007AAD4 8CA5CF1C */ lw $a1, %lo(D_8018CF1C)($a1) /* 07B6D8 8007AAD8 0C01E99B */ jal func_8007A66C /* 07B6DC 8007AADC 02002025 */ move $a0, $s0 /* 07B6E0 8007AAE0 10000042 */ b .L8007ABEC /* 07B6E4 8007AAE4 8FBF001C */ lw $ra, 0x1c($sp) glabel L8007AAE8 /* 07B6E8 8007AAE8 02002025 */ move $a0, $s0 /* 07B6EC 8007AAEC 0C01E445 */ jal func_80079114 /* 07B6F0 8007AAF0 00003025 */ move $a2, $zero /* 07B6F4 8007AAF4 3C058019 */ lui $a1, %hi(D_8018CF1C) # $a1, 0x8019 /* 07B6F8 8007AAF8 3C068019 */ lui $a2, %hi(D_8018CF14) # $a2, 0x8019 /* 07B6FC 8007AAFC 8CC6CF14 */ lw $a2, %lo(D_8018CF14)($a2) /* 07B700 8007AB00 8CA5CF1C */ lw $a1, %lo(D_8018CF1C)($a1) /* 07B704 8007AB04 0C01E99B */ jal func_8007A66C /* 07B708 8007AB08 02002025 */ move $a0, $s0 /* 07B70C 8007AB0C 10000037 */ b .L8007ABEC /* 07B710 8007AB10 8FBF001C */ lw $ra, 0x1c($sp) glabel L8007AB14 /* 07B714 8007AB14 02002025 */ move $a0, $s0 /* 07B718 8007AB18 0C01E445 */ jal func_80079114 /* 07B71C 8007AB1C 00003025 */ move $a2, $zero /* 07B720 8007AB20 3C058019 */ lui $a1, %hi(D_8018CF1C) # $a1, 0x8019 /* 07B724 8007AB24 3C068019 */ lui $a2, %hi(D_8018CF14) # $a2, 0x8019 /* 07B728 8007AB28 8CC6CF14 */ lw $a2, %lo(D_8018CF14)($a2) /* 07B72C 8007AB2C 8CA5CF1C */ lw $a1, %lo(D_8018CF1C)($a1) /* 07B730 8007AB30 0C01E9DE */ jal func_8007A778 /* 07B734 8007AB34 02002025 */ move $a0, $s0 /* 07B738 8007AB38 1000002C */ b .L8007ABEC /* 07B73C 8007AB3C 8FBF001C */ lw $ra, 0x1c($sp) glabel L8007AB40 /* 07B740 8007AB40 02002025 */ move $a0, $s0 /* 07B744 8007AB44 0C01E445 */ jal func_80079114 /* 07B748 8007AB48 00003025 */ move $a2, $zero /* 07B74C 8007AB4C 3C058019 */ lui $a1, %hi(D_8018CF1C) # $a1, 0x8019 /* 07B750 8007AB50 3C068019 */ lui $a2, %hi(D_8018CF14) # $a2, 0x8019 /* 07B754 8007AB54 8CC6CF14 */ lw $a2, %lo(D_8018CF14)($a2) /* 07B758 8007AB58 8CA5CF1C */ lw $a1, %lo(D_8018CF1C)($a1) /* 07B75C 8007AB5C 0C01E99B */ jal func_8007A66C /* 07B760 8007AB60 02002025 */ move $a0, $s0 /* 07B764 8007AB64 10000021 */ b .L8007ABEC /* 07B768 8007AB68 8FBF001C */ lw $ra, 0x1c($sp) glabel L8007AB6C /* 07B76C 8007AB6C 02002025 */ move $a0, $s0 /* 07B770 8007AB70 0C01E445 */ jal func_80079114 /* 07B774 8007AB74 00003025 */ move $a2, $zero /* 07B778 8007AB78 3C058019 */ lui $a1, %hi(D_8018CF1C) # $a1, 0x8019 /* 07B77C 8007AB7C 3C068019 */ lui $a2, %hi(D_8018CF14) # $a2, 0x8019 /* 07B780 8007AB80 8CC6CF14 */ lw $a2, %lo(D_8018CF14)($a2) /* 07B784 8007AB84 8CA5CF1C */ lw $a1, %lo(D_8018CF1C)($a1) /* 07B788 8007AB88 0C01E99B */ jal func_8007A66C /* 07B78C 8007AB8C 02002025 */ move $a0, $s0 /* 07B790 8007AB90 10000016 */ b .L8007ABEC /* 07B794 8007AB94 8FBF001C */ lw $ra, 0x1c($sp) glabel L8007AB98 /* 07B798 8007AB98 02002025 */ move $a0, $s0 /* 07B79C 8007AB9C 0C01E445 */ jal func_80079114 /* 07B7A0 8007ABA0 00003025 */ move $a2, $zero /* 07B7A4 8007ABA4 3C058019 */ lui $a1, %hi(D_8018CF1C) # $a1, 0x8019 /* 07B7A8 8007ABA8 3C068019 */ lui $a2, %hi(D_8018CF14) # $a2, 0x8019 /* 07B7AC 8007ABAC 8CC6CF14 */ lw $a2, %lo(D_8018CF14)($a2) /* 07B7B0 8007ABB0 8CA5CF1C */ lw $a1, %lo(D_8018CF1C)($a1) /* 07B7B4 8007ABB4 0C01E99B */ jal func_8007A66C /* 07B7B8 8007ABB8 02002025 */ move $a0, $s0 /* 07B7BC 8007ABBC 1000000B */ b .L8007ABEC /* 07B7C0 8007ABC0 8FBF001C */ lw $ra, 0x1c($sp) glabel L8007ABC4 /* 07B7C4 8007ABC4 02002025 */ move $a0, $s0 /* 07B7C8 8007ABC8 0C01E445 */ jal func_80079114 /* 07B7CC 8007ABCC 00003025 */ move $a2, $zero /* 07B7D0 8007ABD0 3C058019 */ lui $a1, %hi(D_8018CF1C) # $a1, 0x8019 /* 07B7D4 8007ABD4 3C068019 */ lui $a2, %hi(D_8018CF14) # $a2, 0x8019 /* 07B7D8 8007ABD8 8CC6CF14 */ lw $a2, %lo(D_8018CF14)($a2) /* 07B7DC 8007ABDC 8CA5CF1C */ lw $a1, %lo(D_8018CF1C)($a1) /* 07B7E0 8007ABE0 0C01E9DE */ jal func_8007A778 /* 07B7E4 8007ABE4 02002025 */ move $a0, $s0 .L8007ABE8: glabel L8007ABE8 /* 07B7E8 8007ABE8 8FBF001C */ lw $ra, 0x1c($sp) .L8007ABEC: /* 07B7EC 8007ABEC 8FB00018 */ lw $s0, 0x18($sp) /* 07B7F0 8007ABF0 27BD0020 */ addiu $sp, $sp, 0x20 /* 07B7F4 8007ABF4 03E00008 */ jr $ra /* 07B7F8 8007ABF8 00000000 */ nop glabel func_8007ABFC /* 07B7FC 8007ABFC 00047140 */ sll $t6, $a0, 5 /* 07B800 8007AC00 01C47021 */ addu $t6, $t6, $a0 /* 07B804 8007AC04 3C0F8019 */ lui $t7, %hi(D_8018CA70) # $t7, 0x8019 /* 07B808 8007AC08 25EFCA70 */ addiu $t7, %lo(D_8018CA70) # addiu $t7, $t7, -0x3590 /* 07B80C 8007AC0C 000E7080 */ sll $t6, $t6, 2 /* 07B810 8007AC10 01CF1821 */ addu $v1, $t6, $t7 /* 07B814 8007AC14 80780070 */ lb $t8, 0x70($v1) /* 07B818 8007AC18 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 07B81C 8007AC1C AFBF0014 */ sw $ra, 0x14($sp) /* 07B820 8007AC20 AFA50024 */ sw $a1, 0x24($sp) /* 07B824 8007AC24 17000019 */ bnez $t8, .L8007AC8C /* 07B828 8007AC28 00803025 */ move $a2, $a0 /* 07B82C 8007AC2C 0004C880 */ sll $t9, $a0, 2 /* 07B830 8007AC30 3C048018 */ lui $a0, %hi(D_80183E88) # 0x8018 /* 07B834 8007AC34 00992021 */ addu $a0, $a0, $t9 /* 07B838 8007AC38 8C843E88 */ lw $a0, %lo(D_80183E88)($a0) # 0x3e88($a0) /* 07B83C 8007AC3C 24050004 */ li $a1, 4 /* 07B840 8007AC40 AFA30018 */ sw $v1, 0x18($sp) /* 07B844 8007AC44 AFA60020 */ sw $a2, 0x20($sp) /* 07B848 8007AC48 0C01C8D5 */ jal func_80072354 /* 07B84C 8007AC4C AFA4001C */ sw $a0, 0x1c($sp) /* 07B850 8007AC50 8FA30018 */ lw $v1, 0x18($sp) /* 07B854 8007AC54 10400009 */ beqz $v0, .L8007AC7C /* 07B858 8007AC58 8FA4001C */ lw $a0, 0x1c($sp) /* 07B85C 8007AC5C 00002825 */ move $a1, $zero /* 07B860 8007AC60 0C01C8E9 */ jal func_800723A4 /* 07B864 8007AC64 AFA30018 */ sw $v1, 0x18($sp) /* 07B868 8007AC68 8FA20024 */ lw $v0, 0x24($sp) /* 07B86C 8007AC6C 8FA30018 */ lw $v1, 0x18($sp) /* 07B870 8007AC70 50400003 */ beql $v0, $zero, .L8007AC80 /* 07B874 8007AC74 3C051900 */ lui $a1, 0x1900 /* 07B878 8007AC78 A0620076 */ sb $v0, 0x76($v1) .L8007AC7C: /* 07B87C 8007AC7C 3C051900 */ lui $a1, (0x19008406 >> 16) # lui $a1, 0x1900 .L8007AC80: /* 07B880 8007AC80 34A58406 */ ori $a1, (0x19008406 & 0xFFFF) # ori $a1, $a1, 0x8406 /* 07B884 8007AC84 0C032418 */ jal func_800C9060 /* 07B888 8007AC88 93A40023 */ lbu $a0, 0x23($sp) .L8007AC8C: /* 07B88C 8007AC8C 8FBF0014 */ lw $ra, 0x14($sp) /* 07B890 8007AC90 27BD0020 */ addiu $sp, $sp, 0x20 /* 07B894 8007AC94 03E00008 */ jr $ra /* 07B898 8007AC98 00000000 */ nop glabel func_8007AC9C /* 07B89C 8007AC9C 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 07B8A0 8007ACA0 AFB00014 */ sw $s0, 0x14($sp) /* 07B8A4 8007ACA4 3C108018 */ lui $s0, %hi(D_80183E88) # 0x8018 /* 07B8A8 8007ACA8 0004C080 */ sll $t8, $a0, 2 /* 07B8AC 8007ACAC 02188021 */ addu $s0, $s0, $t8 /* 07B8B0 8007ACB0 8E103E88 */ lw $s0, %lo(D_80183E88)($s0) # 0x3e88($s0) /* 07B8B4 8007ACB4 000470C0 */ sll $t6, $a0, 3 /* 07B8B8 8007ACB8 01C47023 */ subu $t6, $t6, $a0 /* 07B8BC 8007ACBC 0010C8C0 */ sll $t9, $s0, 3 /* 07B8C0 8007ACC0 3C088016 */ lui $t0, %hi(D_80165C18) # $t0, 0x8016 /* 07B8C4 8007ACC4 0330C823 */ subu $t9, $t9, $s0 /* 07B8C8 8007ACC8 AFB10018 */ sw $s1, 0x18($sp) /* 07B8CC 8007ACCC 000E7100 */ sll $t6, $t6, 4 /* 07B8D0 8007ACD0 0019C940 */ sll $t9, $t9, 5 /* 07B8D4 8007ACD4 25085C18 */ addiu $t0, %lo(D_80165C18) # addiu $t0, $t0, 0x5c18 /* 07B8D8 8007ACD8 01C47023 */ subu $t6, $t6, $a0 /* 07B8DC 8007ACDC 03288821 */ addu $s1, $t9, $t0 /* 07B8E0 8007ACE0 862900A4 */ lh $t1, 0xa4($s1) /* 07B8E4 8007ACE4 000E7080 */ sll $t6, $t6, 2 /* 07B8E8 8007ACE8 3C0F800E */ lui $t7, %hi(D_800DC4DC) # $t7, 0x800e /* 07B8EC 8007ACEC 8DEFC4DC */ lw $t7, %lo(D_800DC4DC)($t7) /* 07B8F0 8007ACF0 01C47023 */ subu $t6, $t6, $a0 /* 07B8F4 8007ACF4 000E70C0 */ sll $t6, $t6, 3 /* 07B8F8 8007ACF8 2401000F */ li $at, 15 /* 07B8FC 8007ACFC AFBF001C */ sw $ra, 0x1c($sp) /* 07B900 8007AD00 1521001F */ bne $t1, $at, .L8007AD80 /* 07B904 8007AD04 01CF1021 */ addu $v0, $t6, $t7 /* 07B908 8007AD08 02002025 */ move $a0, $s0 /* 07B90C 8007AD0C 24050002 */ li $a1, 2 /* 07B910 8007AD10 0C01C8D5 */ jal func_80072354 /* 07B914 8007AD14 AFA20020 */ sw $v0, 0x20($sp) /* 07B918 8007AD18 10400008 */ beqz $v0, .L8007AD3C /* 07B91C 8007AD1C 02002025 */ move $a0, $s0 /* 07B920 8007AD20 0C01C8A9 */ jal func_800722A4 /* 07B924 8007AD24 24050002 */ li $a1, 2 /* 07B928 8007AD28 240A0258 */ li $t2, 600 /* 07B92C 8007AD2C A62A0098 */ sh $t2, 0x98($s1) /* 07B930 8007AD30 02002025 */ move $a0, $s0 /* 07B934 8007AD34 0C01C9B3 */ jal func_800726CC /* 07B938 8007AD38 24050032 */ li $a1, 50 .L8007AD3C: /* 07B93C 8007AD3C 962B0098 */ lhu $t3, 0x98($s1) /* 07B940 8007AD40 02002025 */ move $a0, $s0 /* 07B944 8007AD44 55600014 */ bnel $t3, $zero, .L8007AD98 /* 07B948 8007AD48 8FBF001C */ lw $ra, 0x1c($sp) /* 07B94C 8007AD4C 0C01C8B3 */ jal func_800722CC /* 07B950 8007AD50 24050002 */ li $a1, 2 /* 07B954 8007AD54 8FAC0020 */ lw $t4, 0x20($sp) /* 07B958 8007AD58 02002025 */ move $a0, $s0 /* 07B95C 8007AD5C 00002825 */ move $a1, $zero /* 07B960 8007AD60 A5800010 */ sh $zero, 0x10($t4) /* 07B964 8007AD64 0C01C8E2 */ jal func_80072388 /* 07B968 8007AD68 A62000A4 */ sh $zero, 0xa4($s1) /* 07B96C 8007AD6C 02002025 */ move $a0, $s0 /* 07B970 8007AD70 0C01C9B3 */ jal func_800726CC /* 07B974 8007AD74 24050009 */ li $a1, 9 /* 07B978 8007AD78 10000007 */ b .L8007AD98 /* 07B97C 8007AD7C 8FBF001C */ lw $ra, 0x1c($sp) .L8007AD80: /* 07B980 8007AD80 A4400010 */ sh $zero, 0x10($v0) /* 07B984 8007AD84 A62000A4 */ sh $zero, 0xa4($s1) /* 07B988 8007AD88 02002025 */ move $a0, $s0 /* 07B98C 8007AD8C 0C01C8E2 */ jal func_80072388 /* 07B990 8007AD90 00002825 */ move $a1, $zero /* 07B994 8007AD94 8FBF001C */ lw $ra, 0x1c($sp) .L8007AD98: /* 07B998 8007AD98 8FB00014 */ lw $s0, 0x14($sp) /* 07B99C 8007AD9C 8FB10018 */ lw $s1, 0x18($sp) /* 07B9A0 8007ADA0 03E00008 */ jr $ra /* 07B9A4 8007ADA4 27BD0028 */ addiu $sp, $sp, 0x28 glabel gen_random_item /* 07B9A8 8007ADA8 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 07B9AC 8007ADAC AFBF0014 */ sw $ra, 0x14($sp) /* 07B9B0 8007ADB0 AFA40020 */ sw $a0, 0x20($sp) /* 07B9B4 8007ADB4 AFA50024 */ sw $a1, 0x24($sp) /* 07B9B8 8007ADB8 0C0ADF8D */ jal random_int /* 07B9BC 8007ADBC 24040064 */ li $a0, 100 /* 07B9C0 8007ADC0 3C058016 */ lui $a1, %hi(D_801658FD) # $a1, 0x8016 /* 07B9C4 8007ADC4 24A558FD */ addiu $a1, %lo(D_801658FD) # addiu $a1, $a1, 0x58fd /* 07B9C8 8007ADC8 3C0F8016 */ lui $t7, %hi(D_801658FF) # $t7, 0x8016 /* 07B9CC 8007ADCC 91EF58FF */ lbu $t7, %lo(D_801658FF)($t7) /* 07B9D0 8007ADD0 90AE0000 */ lbu $t6, ($a1) /* 07B9D4 8007ADD4 3C088019 */ lui $t0, %hi(gRaceFrameCounter) # $t0, 0x8019 /* 07B9D8 8007ADD8 8D08D3FC */ lw $t0, %lo(gRaceFrameCounter)($t0) /* 07B9DC 8007ADDC 01CFC021 */ addu $t8, $t6, $t7 /* 07B9E0 8007ADE0 0058C821 */ addu $t9, $v0, $t8 /* 07B9E4 8007ADE4 24010064 */ li $at, 100 /* 07B9E8 8007ADE8 03284821 */ addu $t1, $t9, $t0 /* 07B9EC 8007ADEC 0121001B */ divu $zero, $t1, $at /* 07B9F0 8007ADF0 00005010 */ mfhi $t2 /* 07B9F4 8007ADF4 A0AA0000 */ sb $t2, ($a1) /* 07B9F8 8007ADF8 3C03800E */ lui $v1, %hi(gModeSelection) # $v1, 0x800e /* 07B9FC 8007ADFC 8C63C53C */ lw $v1, %lo(gModeSelection)($v1) /* 07BA00 8007AE00 24040002 */ li $a0, 2 /* 07BA04 8007AE04 3C02800E */ lui $v0, %hi(gPlayerCountSelection1) # $v0, 0x800e /* 07BA08 8007AE08 1483002A */ bne $a0, $v1, .L8007AEB4 /* 07BA0C 8007AE0C 24010003 */ li $at, 3 /* 07BA10 8007AE10 8C42C538 */ lw $v0, %lo(gPlayerCountSelection1)($v0) /* 07BA14 8007AE14 24010003 */ li $at, 3 /* 07BA18 8007AE18 10440008 */ beq $v0, $a0, .L8007AE3C /* 07BA1C 8007AE1C 00000000 */ nop /* 07BA20 8007AE20 1041000D */ beq $v0, $at, .L8007AE58 /* 07BA24 8007AE24 3C040D01 */ lui $a0, 0xd01 /* 07BA28 8007AE28 24010004 */ li $at, 4 /* 07BA2C 8007AE2C 10410010 */ beq $v0, $at, .L8007AE70 /* 07BA30 8007AE30 3C040D01 */ lui $a0, 0xd01 /* 07BA34 8007AE34 10000014 */ b .L8007AE88 /* 07BA38 8007AE38 87AB0022 */ lh $t3, 0x22($sp) .L8007AE3C: /* 07BA3C 8007AE3C 3C040D01 */ lui $a0, %hi(D_0D008790) # $a0, 0xd01 /* 07BA40 8007AE40 0C0A9EF5 */ jal lookup_item /* 07BA44 8007AE44 24848790 */ addiu $a0, %lo(D_0D008790) # addiu $a0, $a0, -0x7870 /* 07BA48 8007AE48 3C058016 */ lui $a1, %hi(D_801658FD) # $a1, 0x8016 /* 07BA4C 8007AE4C AFA20018 */ sw $v0, 0x18($sp) /* 07BA50 8007AE50 1000000C */ b .L8007AE84 /* 07BA54 8007AE54 24A558FD */ addiu $a1, %lo(D_801658FD) # addiu $a1, $a1, 0x58fd .L8007AE58: /* 07BA58 8007AE58 0C0A9EF5 */ jal lookup_item /* 07BA5C 8007AE5C 24848858 */ addiu $a0, $a0, -0x77a8 /* 07BA60 8007AE60 3C058016 */ lui $a1, %hi(D_801658FD) # $a1, 0x8016 /* 07BA64 8007AE64 AFA20018 */ sw $v0, 0x18($sp) /* 07BA68 8007AE68 10000006 */ b .L8007AE84 /* 07BA6C 8007AE6C 24A558FD */ addiu $a1, %lo(D_801658FD) # addiu $a1, $a1, 0x58fd .L8007AE70: /* 07BA70 8007AE70 0C0A9EF5 */ jal lookup_item /* 07BA74 8007AE74 24848984 */ addiu $a0, $a0, -0x767c /* 07BA78 8007AE78 3C058016 */ lui $a1, %hi(D_801658FD) # $a1, 0x8016 /* 07BA7C 8007AE7C AFA20018 */ sw $v0, 0x18($sp) /* 07BA80 8007AE80 24A558FD */ addiu $a1, %lo(D_801658FD) # addiu $a1, $a1, 0x58fd .L8007AE84: /* 07BA84 8007AE84 87AB0022 */ lh $t3, 0x22($sp) .L8007AE88: /* 07BA88 8007AE88 8FAD0018 */ lw $t5, 0x18($sp) /* 07BA8C 8007AE8C 90AF0000 */ lbu $t7, ($a1) /* 07BA90 8007AE90 000B6080 */ sll $t4, $t3, 2 /* 07BA94 8007AE94 018B6023 */ subu $t4, $t4, $t3 /* 07BA98 8007AE98 000C60C0 */ sll $t4, $t4, 3 /* 07BA9C 8007AE9C 018B6021 */ addu $t4, $t4, $t3 /* 07BAA0 8007AEA0 000C6080 */ sll $t4, $t4, 2 /* 07BAA4 8007AEA4 018D7021 */ addu $t6, $t4, $t5 /* 07BAA8 8007AEA8 01CFC021 */ addu $t8, $t6, $t7 /* 07BAAC 8007AEAC 1000001F */ b .L8007AF2C /* 07BAB0 8007AEB0 93030000 */ lbu $v1, ($t8) .L8007AEB4: /* 07BAB4 8007AEB4 14610009 */ bne $v1, $at, .L8007AEDC /* 07BAB8 8007AEB8 87A90026 */ lh $t1, 0x26($sp) /* 07BABC 8007AEBC 3C040D01 */ lui $a0, %hi(D_0D008B14) # $a0, 0xd01 /* 07BAC0 8007AEC0 0C0A9EF5 */ jal lookup_item /* 07BAC4 8007AEC4 24848B14 */ addiu $a0, %lo(D_0D008B14) # addiu $a0, $a0, -0x74ec /* 07BAC8 8007AEC8 3C198016 */ lui $t9, %hi(D_801658FD) # $t9, 0x8016 /* 07BACC 8007AECC 933958FD */ lbu $t9, %lo(D_801658FD)($t9) /* 07BAD0 8007AED0 03224021 */ addu $t0, $t9, $v0 /* 07BAD4 8007AED4 10000015 */ b .L8007AF2C /* 07BAD8 8007AED8 91030000 */ lbu $v1, ($t0) .L8007AEDC: /* 07BADC 8007AEDC 15200006 */ bnez $t1, .L8007AEF8 /* 07BAE0 8007AEE0 3C040D01 */ lui $a0, 0xd01 /* 07BAE4 8007AEE4 3C040D01 */ lui $a0, %hi(D_0D008150) # $a0, 0xd01 /* 07BAE8 8007AEE8 0C0A9EF5 */ jal lookup_item /* 07BAEC 8007AEEC 24848150 */ addiu $a0, %lo(D_0D008150) # addiu $a0, $a0, -0x7eb0 /* 07BAF0 8007AEF0 10000004 */ b .L8007AF04 /* 07BAF4 8007AEF4 87AA0022 */ lh $t2, 0x22($sp) .L8007AEF8: /* 07BAF8 8007AEF8 0C0A9EF5 */ jal lookup_item /* 07BAFC 8007AEFC 24848470 */ addiu $a0, $a0, -0x7b90 /* 07BB00 8007AF00 87AA0022 */ lh $t2, 0x22($sp) .L8007AF04: /* 07BB04 8007AF04 3C0D8016 */ lui $t5, %hi(D_801658FD) # $t5, 0x8016 /* 07BB08 8007AF08 91AD58FD */ lbu $t5, %lo(D_801658FD)($t5) /* 07BB0C 8007AF0C 000A5880 */ sll $t3, $t2, 2 /* 07BB10 8007AF10 016A5823 */ subu $t3, $t3, $t2 /* 07BB14 8007AF14 000B58C0 */ sll $t3, $t3, 3 /* 07BB18 8007AF18 016A5821 */ addu $t3, $t3, $t2 /* 07BB1C 8007AF1C 000B5880 */ sll $t3, $t3, 2 /* 07BB20 8007AF20 01626021 */ addu $t4, $t3, $v0 /* 07BB24 8007AF24 018D7021 */ addu $t6, $t4, $t5 /* 07BB28 8007AF28 91C30000 */ lbu $v1, ($t6) .L8007AF2C: /* 07BB2C 8007AF2C 8FBF0014 */ lw $ra, 0x14($sp) /* 07BB30 8007AF30 27BD0020 */ addiu $sp, $sp, 0x20 /* 07BB34 8007AF34 00601025 */ move $v0, $v1 /* 07BB38 8007AF38 03E00008 */ jr $ra /* 07BB3C 8007AF3C 00000000 */ nop glabel func_8007AF40 /* 07BB40 8007AF40 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 07BB44 8007AF44 AFA40018 */ sw $a0, 0x18($sp) /* 07BB48 8007AF48 00A07025 */ move $t6, $a1 /* 07BB4C 8007AF4C 000E2400 */ sll $a0, $t6, 0x10 /* 07BB50 8007AF50 AFBF0014 */ sw $ra, 0x14($sp) /* 07BB54 8007AF54 AFA5001C */ sw $a1, 0x1c($sp) /* 07BB58 8007AF58 00047C03 */ sra $t7, $a0, 0x10 /* 07BB5C 8007AF5C 01E02025 */ move $a0, $t7 /* 07BB60 8007AF60 0C01EB6A */ jal gen_random_item /* 07BB64 8007AF64 00002825 */ move $a1, $zero /* 07BB68 8007AF68 8FBF0014 */ lw $ra, 0x14($sp) /* 07BB6C 8007AF6C 27BD0018 */ addiu $sp, $sp, 0x18 /* 07BB70 8007AF70 03E00008 */ jr $ra /* 07BB74 8007AF74 00000000 */ nop glabel func_8007AF78 /* 07BB78 8007AF78 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 07BB7C 8007AF7C AFA40018 */ sw $a0, 0x18($sp) /* 07BB80 8007AF80 00A07025 */ move $t6, $a1 /* 07BB84 8007AF84 000E2400 */ sll $a0, $t6, 0x10 /* 07BB88 8007AF88 AFBF0014 */ sw $ra, 0x14($sp) /* 07BB8C 8007AF8C AFA5001C */ sw $a1, 0x1c($sp) /* 07BB90 8007AF90 00047C03 */ sra $t7, $a0, 0x10 /* 07BB94 8007AF94 01E02025 */ move $a0, $t7 /* 07BB98 8007AF98 0C01EB6A */ jal gen_random_item /* 07BB9C 8007AF9C 24050001 */ li $a1, 1 /* 07BBA0 8007AFA0 8FBF0014 */ lw $ra, 0x14($sp) /* 07BBA4 8007AFA4 27BD0018 */ addiu $sp, $sp, 0x18 /* 07BBA8 8007AFA8 03E00008 */ jr $ra /* 07BBAC 8007AFAC 00000000 */ nop glabel func_8007AFB0 /* 07BBB0 8007AFB0 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 07BBB4 8007AFB4 00051080 */ sll $v0, $a1, 2 /* 07BBB8 8007AFB8 AFA40028 */ sw $a0, 0x28($sp) /* 07BBBC 8007AFBC AFA5002C */ sw $a1, 0x2c($sp) /* 07BBC0 8007AFC0 3C058016 */ lui $a1, %hi(D_801643BA) # 0x8016 /* 07BBC4 8007AFC4 3C048016 */ lui $a0, %hi(D_80164392) # 0x8016 /* 07BBC8 8007AFC8 AFBF0014 */ sw $ra, 0x14($sp) /* 07BBCC 8007AFCC 00822021 */ addu $a0, $a0, $v0 /* 07BBD0 8007AFD0 00A22821 */ addu $a1, $a1, $v0 /* 07BBD4 8007AFD4 84A543BA */ lh $a1, %lo(D_801643BA)($a1) # 0x43ba($a1) /* 07BBD8 8007AFD8 0C01EBD0 */ jal func_8007AF40 /* 07BBDC 8007AFDC 84844392 */ lh $a0, %lo(D_80164392)($a0) # 0x4392($a0) /* 07BBE0 8007AFE0 8FB8002C */ lw $t8, 0x2c($sp) /* 07BBE4 8007AFE4 3C088019 */ lui $t0, %hi(D_8018CA70) # $t0, 0x8019 /* 07BBE8 8007AFE8 2508CA70 */ addiu $t0, %lo(D_8018CA70) # addiu $t0, $t0, -0x3590 /* 07BBEC 8007AFEC 0018C940 */ sll $t9, $t8, 5 /* 07BBF0 8007AFF0 0338C821 */ addu $t9, $t9, $t8 /* 07BBF4 8007AFF4 0019C880 */ sll $t9, $t9, 2 /* 07BBF8 8007AFF8 03281821 */ addu $v1, $t9, $t0 /* 07BBFC 8007AFFC 90640076 */ lbu $a0, 0x76($v1) /* 07BC00 8007B000 00022C00 */ sll $a1, $v0, 0x10 /* 07BC04 8007B004 00057C03 */ sra $t7, $a1, 0x10 /* 07BC08 8007B008 10800005 */ beqz $a0, .L8007B020 /* 07BC0C 8007B00C 01E02825 */ move $a1, $t7 /* 07BC10 8007B010 00042C00 */ sll $a1, $a0, 0x10 /* 07BC14 8007B014 00054C03 */ sra $t1, $a1, 0x10 /* 07BC18 8007B018 01202825 */ move $a1, $t1 /* 07BC1C 8007B01C A0600076 */ sb $zero, 0x76($v1) .L8007B020: /* 07BC20 8007B020 8FA40028 */ lw $a0, 0x28($sp) /* 07BC24 8007B024 0C01CA6D */ jal func_800729B4 /* 07BC28 8007B028 A7A5001A */ sh $a1, 0x1a($sp) /* 07BC2C 8007B02C 8FBF0014 */ lw $ra, 0x14($sp) /* 07BC30 8007B030 87A2001A */ lh $v0, 0x1a($sp) /* 07BC34 8007B034 27BD0028 */ addiu $sp, $sp, 0x28 /* 07BC38 8007B038 03E00008 */ jr $ra /* 07BC3C 8007B03C 00000000 */ nop glabel func_8007B040 /* 07BC40 8007B040 3C0E800E */ lui $t6, %hi(gModeSelection) # $t6, 0x800e /* 07BC44 8007B044 8DCEC53C */ lw $t6, %lo(gModeSelection)($t6) /* 07BC48 8007B048 27BDFF88 */ addiu $sp, $sp, -0x78 /* 07BC4C 8007B04C AFB00018 */ sw $s0, 0x18($sp) /* 07BC50 8007B050 00A08025 */ move $s0, $a1 /* 07BC54 8007B054 AFBF001C */ sw $ra, 0x1c($sp) /* 07BC58 8007B058 AFA40078 */ sw $a0, 0x78($sp) /* 07BC5C 8007B05C 00003825 */ move $a3, $zero /* 07BC60 8007B060 15C00020 */ bnez $t6, .L8007B0E4 /* 07BC64 8007B064 00005825 */ move $t3, $zero /* 07BC68 8007B068 0C0ADF8D */ jal random_int /* 07BC6C 8007B06C 24040064 */ li $a0, 100 /* 07BC70 8007B070 28410051 */ slti $at, $v0, 0x51 /* 07BC74 8007B074 1020000B */ beqz $at, .L8007B0A4 /* 07BC78 8007B078 320400FF */ andi $a0, $s0, 0xff /* 07BC7C 8007B07C 00101080 */ sll $v0, $s0, 2 /* 07BC80 8007B080 3C048016 */ lui $a0, %hi(D_80164392) # 0x8016 /* 07BC84 8007B084 3C058016 */ lui $a1, %hi(D_801643BA) # 0x8016 /* 07BC88 8007B088 00A22821 */ addu $a1, $a1, $v0 /* 07BC8C 8007B08C 00822021 */ addu $a0, $a0, $v0 /* 07BC90 8007B090 84844392 */ lh $a0, %lo(D_80164392)($a0) # 0x4392($a0) /* 07BC94 8007B094 0C01EBD0 */ jal func_8007AF40 /* 07BC98 8007B098 84A543BA */ lh $a1, %lo(D_801643BA)($a1) # 0x43ba($a1) /* 07BC9C 8007B09C 10000006 */ b .L8007B0B8 /* 07BCA0 8007B0A0 00401825 */ move $v1, $v0 .L8007B0A4: /* 07BCA4 8007B0A4 3C051900 */ lui $a1, (0x1900A058 >> 16) # lui $a1, 0x1900 /* 07BCA8 8007B0A8 34A5A058 */ ori $a1, (0x1900A058 & 0xFFFF) # ori $a1, $a1, 0xa058 /* 07BCAC 8007B0AC 0C032418 */ jal func_800C9060 /* 07BCB0 8007B0B0 AFA00060 */ sw $zero, 0x60($sp) /* 07BCB4 8007B0B4 8FA30060 */ lw $v1, 0x60($sp) .L8007B0B8: /* 07BCB8 8007B0B8 8FAF0078 */ lw $t7, 0x78($sp) /* 07BCBC 8007B0BC 240D00E0 */ li $t5, 224 /* 07BCC0 8007B0C0 3C0C8016 */ lui $t4, %hi(D_80165C18) # $t4, 0x8016 /* 07BCC4 8007B0C4 01ED0019 */ multu $t7, $t5 /* 07BCC8 8007B0C8 258C5C18 */ addiu $t4, %lo(D_80165C18) # addiu $t4, $t4, 0x5c18 /* 07BCCC 8007B0CC 240B0001 */ li $t3, 1 /* 07BCD0 8007B0D0 0000C012 */ mflo $t8 /* 07BCD4 8007B0D4 01983821 */ addu $a3, $t4, $t8 /* 07BCD8 8007B0D8 A4E300A2 */ sh $v1, 0xa2($a3) /* 07BCDC 8007B0DC 10000058 */ b .L8007B240 /* 07BCE0 8007B0E0 A0E300D2 */ sb $v1, 0xd2($a3) .L8007B0E4: /* 07BCE4 8007B0E4 3C08800E */ lui $t0, %hi(gPlayerCountSelection1) # $t0, 0x800e /* 07BCE8 8007B0E8 8D08C538 */ lw $t0, %lo(gPlayerCountSelection1)($t0) /* 07BCEC 8007B0EC 00001825 */ move $v1, $zero /* 07BCF0 8007B0F0 19000019 */ blez $t0, .L8007B158 /* 07BCF4 8007B0F4 3C048018 */ lui $a0, %hi(D_80183E88) # $a0, 0x8018 /* 07BCF8 8007B0F8 3C0C8016 */ lui $t4, %hi(D_80165C18) # $t4, 0x8016 /* 07BCFC 8007B0FC 258C5C18 */ addiu $t4, %lo(D_80165C18) # addiu $t4, $t4, 0x5c18 /* 07BD00 8007B100 24843E88 */ addiu $a0, %lo(D_80183E88) # addiu $a0, $a0, 0x3e88 /* 07BD04 8007B104 240D00E0 */ li $t5, 224 /* 07BD08 8007B108 27AA0040 */ addiu $t2, $sp, 0x40 /* 07BD0C 8007B10C 27A90050 */ addiu $t1, $sp, 0x50 .L8007B110: /* 07BD10 8007B110 1070000D */ beq $v1, $s0, .L8007B148 /* 07BD14 8007B114 8C860000 */ lw $a2, ($a0) /* 07BD18 8007B118 00CD0019 */ multu $a2, $t5 /* 07BD1C 8007B11C 00071080 */ sll $v0, $a3, 2 /* 07BD20 8007B120 0122C821 */ addu $t9, $t1, $v0 /* 07BD24 8007B124 01427021 */ addu $t6, $t2, $v0 /* 07BD28 8007B128 00007812 */ mflo $t7 /* 07BD2C 8007B12C 018FC021 */ addu $t8, $t4, $t7 /* 07BD30 8007B130 870500A4 */ lh $a1, 0xa4($t8) /* 07BD34 8007B134 50A00005 */ beql $a1, $zero, .L8007B14C /* 07BD38 8007B138 24630001 */ addiu $v1, $v1, 1 /* 07BD3C 8007B13C AF230000 */ sw $v1, ($t9) /* 07BD40 8007B140 ADC50000 */ sw $a1, ($t6) /* 07BD44 8007B144 24E70001 */ addiu $a3, $a3, 1 .L8007B148: /* 07BD48 8007B148 24630001 */ addiu $v1, $v1, 1 .L8007B14C: /* 07BD4C 8007B14C 0068082A */ slt $at, $v1, $t0 /* 07BD50 8007B150 1420FFEF */ bnez $at, .L8007B110 /* 07BD54 8007B154 24840004 */ addiu $a0, $a0, 4 .L8007B158: /* 07BD58 8007B158 50E0003A */ beql $a3, $zero, .L8007B244 /* 07BD5C 8007B15C 8FBF001C */ lw $ra, 0x1c($sp) /* 07BD60 8007B160 0C0ADF8D */ jal random_int /* 07BD64 8007B164 30E4FFFF */ andi $a0, $a3, 0xffff /* 07BD68 8007B168 8FB80078 */ lw $t8, 0x78($sp) /* 07BD6C 8007B16C 240D00E0 */ li $t5, 224 /* 07BD70 8007B170 27A90050 */ addiu $t1, $sp, 0x50 /* 07BD74 8007B174 030D0019 */ multu $t8, $t5 /* 07BD78 8007B178 00025880 */ sll $t3, $v0, 2 /* 07BD7C 8007B17C 012B7021 */ addu $t6, $t1, $t3 /* 07BD80 8007B180 8DC30000 */ lw $v1, ($t6) /* 07BD84 8007B184 27AA0040 */ addiu $t2, $sp, 0x40 /* 07BD88 8007B188 3C0C8016 */ lui $t4, %hi(D_80165C18) # $t4, 0x8016 /* 07BD8C 8007B18C 258C5C18 */ addiu $t4, %lo(D_80165C18) # addiu $t4, $t4, 0x5c18 /* 07BD90 8007B190 014B7821 */ addu $t7, $t2, $t3 /* 07BD94 8007B194 85E80002 */ lh $t0, 2($t7) /* 07BD98 8007B198 0003C0C0 */ sll $t8, $v1, 3 /* 07BD9C 8007B19C 0000C812 */ mflo $t9 /* 07BDA0 8007B1A0 01993821 */ addu $a3, $t4, $t9 /* 07BDA4 8007B1A4 0303C023 */ subu $t8, $t8, $v1 /* 07BDA8 8007B1A8 0018C100 */ sll $t8, $t8, 4 /* 07BDAC 8007B1AC 3C19800E */ lui $t9, %hi(D_800DC4DC) # $t9, 0x800e /* 07BDB0 8007B1B0 A0E300D1 */ sb $v1, 0xd1($a3) /* 07BDB4 8007B1B4 0303C023 */ subu $t8, $t8, $v1 /* 07BDB8 8007B1B8 A4E800A2 */ sh $t0, 0xa2($a3) /* 07BDBC 8007B1BC A0E800D2 */ sb $t0, 0xd2($a3) /* 07BDC0 8007B1C0 8F39C4DC */ lw $t9, %lo(D_800DC4DC)($t9) /* 07BDC4 8007B1C4 3C068018 */ lui $a2, %hi(D_80183E88) # 0x8018 /* 07BDC8 8007B1C8 0018C080 */ sll $t8, $t8, 2 /* 07BDCC 8007B1CC 00037880 */ sll $t7, $v1, 2 /* 07BDD0 8007B1D0 00CF3021 */ addu $a2, $a2, $t7 /* 07BDD4 8007B1D4 0303C023 */ subu $t8, $t8, $v1 /* 07BDD8 8007B1D8 8CC43E88 */ lw $a0, %lo(D_80183E88)($a2) # 0x3e88($a2) /* 07BDDC 8007B1DC 0018C0C0 */ sll $t8, $t8, 3 /* 07BDE0 8007B1E0 03197021 */ addu $t6, $t8, $t9 /* 07BDE4 8007B1E4 AFAE0038 */ sw $t6, 0x38($sp) /* 07BDE8 8007B1E8 24050001 */ li $a1, 1 /* 07BDEC 8007B1EC 0C01C8A9 */ jal func_800722A4 /* 07BDF0 8007B1F0 AFA40064 */ sw $a0, 0x64($sp) /* 07BDF4 8007B1F4 8FA40064 */ lw $a0, 0x64($sp) /* 07BDF8 8007B1F8 240D00E0 */ li $t5, 224 /* 07BDFC 8007B1FC 3C0C8016 */ lui $t4, %hi(D_80165C18) # $t4, 0x8016 /* 07BE00 8007B200 008D0019 */ multu $a0, $t5 /* 07BE04 8007B204 258C5C18 */ addiu $t4, %lo(D_80165C18) # addiu $t4, $t4, 0x5c18 /* 07BE08 8007B208 8FB80038 */ lw $t8, 0x38($sp) /* 07BE0C 8007B20C 24050002 */ li $a1, 2 /* 07BE10 8007B210 00007812 */ mflo $t7 /* 07BE14 8007B214 018F8021 */ addu $s0, $t4, $t7 /* 07BE18 8007B218 A60000A4 */ sh $zero, 0xa4($s0) /* 07BE1C 8007B21C 0C01C8C8 */ jal func_80072320 /* 07BE20 8007B220 A7000010 */ sh $zero, 0x10($t8) /* 07BE24 8007B224 10400005 */ beqz $v0, .L8007B23C /* 07BE28 8007B228 8FA60064 */ lw $a2, 0x64($sp) /* 07BE2C 8007B22C 00C02025 */ move $a0, $a2 /* 07BE30 8007B230 0C01C8B3 */ jal func_800722CC /* 07BE34 8007B234 24050002 */ li $a1, 2 /* 07BE38 8007B238 A6000098 */ sh $zero, 0x98($s0) .L8007B23C: /* 07BE3C 8007B23C 240B0001 */ li $t3, 1 .L8007B240: /* 07BE40 8007B240 8FBF001C */ lw $ra, 0x1c($sp) .L8007B244: /* 07BE44 8007B244 8FB00018 */ lw $s0, 0x18($sp) /* 07BE48 8007B248 27BD0078 */ addiu $sp, $sp, 0x78 /* 07BE4C 8007B24C 03E00008 */ jr $ra /* 07BE50 8007B250 01601025 */ move $v0, $t3 glabel func_8007B254 /* 07BE54 8007B254 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 07BE58 8007B258 AFBF0014 */ sw $ra, 0x14($sp) /* 07BE5C 8007B25C AFA40020 */ sw $a0, 0x20($sp) /* 07BE60 8007B260 0C01C90A */ jal func_80072428 /* 07BE64 8007B264 AFA50024 */ sw $a1, 0x24($sp) /* 07BE68 8007B268 8FA40020 */ lw $a0, 0x20($sp) /* 07BE6C 8007B26C 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 07BE70 8007B270 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 07BE74 8007B274 000470C0 */ sll $t6, $a0, 3 /* 07BE78 8007B278 01C47023 */ subu $t6, $t6, $a0 /* 07BE7C 8007B27C 000E7140 */ sll $t6, $t6, 5 /* 07BE80 8007B280 01CF1021 */ addu $v0, $t6, $t7 /* 07BE84 8007B284 3C190D02 */ lui $t9, %hi(D_0D01DED8) # $t9, 0xd02 /* 07BE88 8007B288 3C080D02 */ lui $t0, %hi(D_0D01FED8) # $t0, 0xd02 /* 07BE8C 8007B28C 24180002 */ li $t8, 2 /* 07BE90 8007B290 2739DED8 */ addiu $t9, %lo(D_0D01DED8) # addiu $t9, $t9, -0x2128 /* 07BE94 8007B294 2508FED8 */ addiu $t0, %lo(D_0D01FED8) # addiu $t0, $t0, -0x128 /* 07BE98 8007B298 24090028 */ li $t1, 40 /* 07BE9C 8007B29C 240A0020 */ li $t2, 32 /* 07BEA0 8007B2A0 240B0032 */ li $t3, 50 /* 07BEA4 8007B2A4 240C0001 */ li $t4, 1 /* 07BEA8 8007B2A8 A45800A6 */ sh $t8, 0xa6($v0) /* 07BEAC 8007B2AC A44000A4 */ sh $zero, 0xa4($v0) /* 07BEB0 8007B2B0 AC590068 */ sw $t9, 0x68($v0) /* 07BEB4 8007B2B4 AC48006C */ sw $t0, 0x6c($v0) /* 07BEB8 8007B2B8 A04900D9 */ sb $t1, 0xd9($v0) /* 07BEBC 8007B2BC A04A00DA */ sb $t2, 0xda($v0) /* 07BEC0 8007B2C0 AC4B004C */ sw $t3, 0x4c($v0) /* 07BEC4 8007B2C4 A04C00D6 */ sb $t4, 0xd6($v0) /* 07BEC8 8007B2C8 A4400098 */ sh $zero, 0x98($v0) /* 07BECC 8007B2CC AFA20018 */ sw $v0, 0x18($sp) /* 07BED0 8007B2D0 0C01C8A9 */ jal func_800722A4 /* 07BED4 8007B2D4 24050004 */ li $a1, 4 /* 07BED8 8007B2D8 3C0D8016 */ lui $t5, %hi(D_80165888) # $t5, 0x8016 /* 07BEDC 8007B2DC 81AD5888 */ lb $t5, %lo(D_80165888)($t5) /* 07BEE0 8007B2E0 8FA20018 */ lw $v0, 0x18($sp) /* 07BEE4 8007B2E4 8FA40020 */ lw $a0, 0x20($sp) /* 07BEE8 8007B2E8 11A00010 */ beqz $t5, .L8007B32C /* 07BEEC 8007B2EC 24050008 */ li $a1, 8 /* 07BEF0 8007B2F0 0C01C9B3 */ jal func_800726CC /* 07BEF4 8007B2F4 AFA20018 */ sw $v0, 0x18($sp) /* 07BEF8 8007B2F8 8FA20018 */ lw $v0, 0x18($sp) /* 07BEFC 8007B2FC 240F000E */ li $t7, 14 /* 07BF00 8007B300 240E0002 */ li $t6, 2 /* 07BF04 8007B304 A44F00A4 */ sh $t7, 0xa4($v0) /* 07BF08 8007B308 804300A5 */ lb $v1, 0xa5($v0) /* 07BF0C 8007B30C 3C018019 */ lui $at, %hi(D_8018CAB8) # $at, 0x8019 /* 07BF10 8007B310 A04E00D6 */ sb $t6, 0xd6($v0) /* 07BF14 8007B314 A04300D2 */ sb $v1, 0xd2($v0) /* 07BF18 8007B318 A44300A2 */ sh $v1, 0xa2($v0) /* 07BF1C 8007B31C A420CAB8 */ sh $zero, %lo(D_8018CAB8)($at) /* 07BF20 8007B320 3C018016 */ lui $at, %hi(D_80165888) # $at, 0x8016 /* 07BF24 8007B324 10000005 */ b .L8007B33C /* 07BF28 8007B328 A0205888 */ sb $zero, %lo(D_80165888)($at) .L8007B32C: /* 07BF2C 8007B32C 3C050100 */ lui $a1, (0x0100FE1C >> 16) # lui $a1, 0x100 /* 07BF30 8007B330 34A5FE1C */ ori $a1, (0x0100FE1C & 0xFFFF) # ori $a1, $a1, 0xfe1c /* 07BF34 8007B334 0C0323E0 */ jal func_800C8F80 /* 07BF38 8007B338 93A40027 */ lbu $a0, 0x27($sp) .L8007B33C: /* 07BF3C 8007B33C 8FBF0014 */ lw $ra, 0x14($sp) /* 07BF40 8007B340 27BD0020 */ addiu $sp, $sp, 0x20 /* 07BF44 8007B344 03E00008 */ jr $ra /* 07BF48 8007B348 00000000 */ nop glabel func_8007B34C /* 07BF4C 8007B34C 0004C0C0 */ sll $t8, $a0, 3 /* 07BF50 8007B350 0304C023 */ subu $t8, $t8, $a0 /* 07BF54 8007B354 0018C100 */ sll $t8, $t8, 4 /* 07BF58 8007B358 27BDFFB8 */ addiu $sp, $sp, -0x48 /* 07BF5C 8007B35C 0304C023 */ subu $t8, $t8, $a0 /* 07BF60 8007B360 3C19800E */ lui $t9, %hi(D_800DC4DC) # $t9, 0x800e /* 07BF64 8007B364 8F39C4DC */ lw $t9, %lo(D_800DC4DC)($t9) /* 07BF68 8007B368 0018C080 */ sll $t8, $t8, 2 /* 07BF6C 8007B36C 3C0A800E */ lui $t2, %hi(D_800DC4BC) # $t2, 0x800e /* 07BF70 8007B370 8D4AC4BC */ lw $t2, %lo(D_800DC4BC)($t2) /* 07BF74 8007B374 0304C023 */ subu $t8, $t8, $a0 /* 07BF78 8007B378 0018C0C0 */ sll $t8, $t8, 3 /* 07BF7C 8007B37C 00044900 */ sll $t1, $a0, 4 /* 07BF80 8007B380 03194021 */ addu $t0, $t8, $t9 /* 07BF84 8007B384 AFBF0024 */ sw $ra, 0x24($sp) /* 07BF88 8007B388 AFB00020 */ sw $s0, 0x20($sp) /* 07BF8C 8007B38C AFA40048 */ sw $a0, 0x48($sp) /* 07BF90 8007B390 AFA80038 */ sw $t0, 0x38($sp) /* 07BF94 8007B394 AFA00040 */ sw $zero, 0x40($sp) /* 07BF98 8007B398 012A1021 */ addu $v0, $t1, $t2 /* 07BF9C 8007B39C 944B0006 */ lhu $t3, 6($v0) /* 07BFA0 8007B3A0 3C108018 */ lui $s0, %hi(D_80183E88) # 0x8018 /* 07BFA4 8007B3A4 00047880 */ sll $t7, $a0, 2 /* 07BFA8 8007B3A8 020F8021 */ addu $s0, $s0, $t7 /* 07BFAC 8007B3AC 316C2000 */ andi $t4, $t3, 0x2000 /* 07BFB0 8007B3B0 11800003 */ beqz $t4, .L8007B3C0 /* 07BFB4 8007B3B4 8E103E88 */ lw $s0, %lo(D_80183E88)($s0) # 0x3e88($s0) /* 07BFB8 8007B3B8 240D0001 */ li $t5, 1 /* 07BFBC 8007B3BC AFAD0040 */ sw $t5, 0x40($sp) .L8007B3C0: /* 07BFC0 8007B3C0 3C0F8016 */ lui $t7, %hi(D_80165888) # $t7, 0x8016 /* 07BFC4 8007B3C4 81EF5888 */ lb $t7, %lo(D_80165888)($t7) /* 07BFC8 8007B3C8 02002025 */ move $a0, $s0 /* 07BFCC 8007B3CC 51E00004 */ beql $t7, $zero, .L8007B3E0 /* 07BFD0 8007B3D0 0010C0C0 */ sll $t8, $s0, 3 /* 07BFD4 8007B3D4 0C01C8E9 */ jal func_800723A4 /* 07BFD8 8007B3D8 00002825 */ move $a1, $zero /* 07BFDC 8007B3DC 0010C0C0 */ sll $t8, $s0, 3 .L8007B3E0: /* 07BFE0 8007B3E0 0310C023 */ subu $t8, $t8, $s0 /* 07BFE4 8007B3E4 3C198016 */ lui $t9, %hi(D_80165C18) # $t9, 0x8016 /* 07BFE8 8007B3E8 27395C18 */ addiu $t9, %lo(D_80165C18) # addiu $t9, $t9, 0x5c18 /* 07BFEC 8007B3EC 0018C140 */ sll $t8, $t8, 5 /* 07BFF0 8007B3F0 03194021 */ addu $t0, $t8, $t9 /* 07BFF4 8007B3F4 AFA8002C */ sw $t0, 0x2c($sp) /* 07BFF8 8007B3F8 950E00A6 */ lhu $t6, 0xa6($t0) /* 07BFFC 8007B3FC 2DC10033 */ sltiu $at, $t6, 0x33 /* 07C000 8007B400 10200165 */ beqz $at, .L8007B998 /* 07C004 8007B404 000E7080 */ sll $t6, $t6, 2 /* 07C008 8007B408 3C01800F */ lui $at, %hi(D_800EED3C) # 0x800f /* 07C00C 8007B40C 002E0821 */ addu $at, $at, $t6 /* 07C010 8007B410 8C2EED3C */ lw $t6, %lo(D_800EED3C)($at) # -0x12c4($at) /* 07C014 8007B414 01C00008 */ jr $t6 /* 07C018 8007B418 00000000 */ nop glabel L8007B41C /* 07C01C 8007B41C 02002025 */ move $a0, $s0 /* 07C020 8007B420 0C01EC95 */ jal func_8007B254 /* 07C024 8007B424 8FA50048 */ lw $a1, 0x48($sp) /* 07C028 8007B428 1000015C */ b .L8007B99C /* 07C02C 8007B42C 02002025 */ move $a0, $s0 glabel L8007B430 /* 07C030 8007B430 3C02800E */ lui $v0, %hi(D_800DC52C) # $v0, 0x800e /* 07C034 8007B434 8C42C52C */ lw $v0, %lo(D_800DC52C)($v0) /* 07C038 8007B438 8FA90048 */ lw $t1, 0x48($sp) /* 07C03C 8007B43C 24010003 */ li $at, 3 /* 07C040 8007B440 14400014 */ bnez $v0, .L8007B494 /* 07C044 8007B444 00095140 */ sll $t2, $t1, 5 /* 07C048 8007B448 01495021 */ addu $t2, $t2, $t1 /* 07C04C 8007B44C 3C0B8019 */ lui $t3, %hi(D_8018CA70) # $t3, 0x8019 /* 07C050 8007B450 256BCA70 */ addiu $t3, %lo(D_8018CA70) # addiu $t3, $t3, -0x3590 /* 07C054 8007B454 000A5080 */ sll $t2, $t2, 2 /* 07C058 8007B458 014B1821 */ addu $v1, $t2, $t3 /* 07C05C 8007B45C 24640048 */ addiu $a0, $v1, 0x48 /* 07C060 8007B460 AFA30028 */ sw $v1, 0x28($sp) /* 07C064 8007B464 24050040 */ li $a1, 64 /* 07C068 8007B468 0C0103F6 */ jal func_80040FD8 /* 07C06C 8007B46C 24060004 */ li $a2, 4 /* 07C070 8007B470 8FA30028 */ lw $v1, 0x28($sp) /* 07C074 8007B474 24010040 */ li $at, 64 /* 07C078 8007B478 846C0048 */ lh $t4, 0x48($v1) /* 07C07C 8007B47C 55810147 */ bnel $t4, $at, .L8007B99C /* 07C080 8007B480 02002025 */ move $a0, $s0 /* 07C084 8007B484 0C01C922 */ jal func_80072488 /* 07C088 8007B488 02002025 */ move $a0, $s0 /* 07C08C 8007B48C 10000143 */ b .L8007B99C /* 07C090 8007B490 02002025 */ move $a0, $s0 .L8007B494: /* 07C094 8007B494 1441002F */ bne $v0, $at, .L8007B554 /* 07C098 8007B498 8FAC0048 */ lw $t4, 0x48($sp) /* 07C09C 8007B49C 8FAD0048 */ lw $t5, 0x48($sp) /* 07C0A0 8007B4A0 8FAF0048 */ lw $t7, 0x48($sp) /* 07C0A4 8007B4A4 24010002 */ li $at, 2 /* 07C0A8 8007B4A8 11A00003 */ beqz $t5, .L8007B4B8 /* 07C0AC 8007B4AC 000FC140 */ sll $t8, $t7, 5 /* 07C0B0 8007B4B0 15A10014 */ bne $t5, $at, .L8007B504 /* 07C0B4 8007B4B4 8FAE0048 */ lw $t6, 0x48($sp) .L8007B4B8: /* 07C0B8 8007B4B8 030FC021 */ addu $t8, $t8, $t7 /* 07C0BC 8007B4BC 3C198019 */ lui $t9, %hi(D_8018CA70) # $t9, 0x8019 /* 07C0C0 8007B4C0 2739CA70 */ addiu $t9, %lo(D_8018CA70) # addiu $t9, $t9, -0x3590 /* 07C0C4 8007B4C4 0018C080 */ sll $t8, $t8, 2 /* 07C0C8 8007B4C8 03191821 */ addu $v1, $t8, $t9 /* 07C0CC 8007B4CC 24640046 */ addiu $a0, $v1, 0x46 /* 07C0D0 8007B4D0 AFA30028 */ sw $v1, 0x28($sp) /* 07C0D4 8007B4D4 24050080 */ li $a1, 128 /* 07C0D8 8007B4D8 0C0103F6 */ jal func_80040FD8 /* 07C0DC 8007B4DC 24060008 */ li $a2, 8 /* 07C0E0 8007B4E0 8FA30028 */ lw $v1, 0x28($sp) /* 07C0E4 8007B4E4 24010080 */ li $at, 128 /* 07C0E8 8007B4E8 84680046 */ lh $t0, 0x46($v1) /* 07C0EC 8007B4EC 5501012B */ bnel $t0, $at, .L8007B99C /* 07C0F0 8007B4F0 02002025 */ move $a0, $s0 /* 07C0F4 8007B4F4 0C01C922 */ jal func_80072488 /* 07C0F8 8007B4F8 02002025 */ move $a0, $s0 /* 07C0FC 8007B4FC 10000127 */ b .L8007B99C /* 07C100 8007B500 02002025 */ move $a0, $s0 .L8007B504: /* 07C104 8007B504 000E4940 */ sll $t1, $t6, 5 /* 07C108 8007B508 012E4821 */ addu $t1, $t1, $t6 /* 07C10C 8007B50C 3C0A8019 */ lui $t2, %hi(D_8018CA70) # $t2, 0x8019 /* 07C110 8007B510 254ACA70 */ addiu $t2, %lo(D_8018CA70) # addiu $t2, $t2, -0x3590 /* 07C114 8007B514 00094880 */ sll $t1, $t1, 2 /* 07C118 8007B518 012A1821 */ addu $v1, $t1, $t2 /* 07C11C 8007B51C 24640046 */ addiu $a0, $v1, 0x46 /* 07C120 8007B520 AFA30028 */ sw $v1, 0x28($sp) /* 07C124 8007B524 2405FF80 */ li $a1, -128 /* 07C128 8007B528 0C01041B */ jal func_8004106C /* 07C12C 8007B52C 24060008 */ li $a2, 8 /* 07C130 8007B530 8FA30028 */ lw $v1, 0x28($sp) /* 07C134 8007B534 2401FF80 */ li $at, -128 /* 07C138 8007B538 846B0046 */ lh $t3, 0x46($v1) /* 07C13C 8007B53C 55610117 */ bnel $t3, $at, .L8007B99C /* 07C140 8007B540 02002025 */ move $a0, $s0 /* 07C144 8007B544 0C01C922 */ jal func_80072488 /* 07C148 8007B548 02002025 */ move $a0, $s0 /* 07C14C 8007B54C 10000113 */ b .L8007B99C /* 07C150 8007B550 02002025 */ move $a0, $s0 .L8007B554: /* 07C154 8007B554 000C6940 */ sll $t5, $t4, 5 /* 07C158 8007B558 01AC6821 */ addu $t5, $t5, $t4 /* 07C15C 8007B55C 3C0F8019 */ lui $t7, %hi(D_8018CA70) # $t7, 0x8019 /* 07C160 8007B560 25EFCA70 */ addiu $t7, %lo(D_8018CA70) # addiu $t7, $t7, -0x3590 /* 07C164 8007B564 000D6880 */ sll $t5, $t5, 2 /* 07C168 8007B568 01AF1821 */ addu $v1, $t5, $t7 /* 07C16C 8007B56C 24640046 */ addiu $a0, $v1, 0x46 /* 07C170 8007B570 AFA30028 */ sw $v1, 0x28($sp) /* 07C174 8007B574 24050080 */ li $a1, 128 /* 07C178 8007B578 0C0103F6 */ jal func_80040FD8 /* 07C17C 8007B57C 24060008 */ li $a2, 8 /* 07C180 8007B580 8FA30028 */ lw $v1, 0x28($sp) /* 07C184 8007B584 24010080 */ li $at, 128 /* 07C188 8007B588 84780046 */ lh $t8, 0x46($v1) /* 07C18C 8007B58C 57010103 */ bnel $t8, $at, .L8007B99C /* 07C190 8007B590 02002025 */ move $a0, $s0 /* 07C194 8007B594 0C01C922 */ jal func_80072488 /* 07C198 8007B598 02002025 */ move $a0, $s0 /* 07C19C 8007B59C 100000FF */ b .L8007B99C /* 07C1A0 8007B5A0 02002025 */ move $a0, $s0 glabel L8007B5A4 /* 07C1A4 8007B5A4 24190002 */ li $t9, 2 /* 07C1A8 8007B5A8 24080002 */ li $t0, 2 /* 07C1AC 8007B5AC AFA80014 */ sw $t0, 0x14($sp) /* 07C1B0 8007B5B0 AFB90010 */ sw $t9, 0x10($sp) /* 07C1B4 8007B5B4 02002025 */ move $a0, $s0 /* 07C1B8 8007B5B8 24050001 */ li $a1, 1 /* 07C1BC 8007B5BC 2406000F */ li $a2, 15 /* 07C1C0 8007B5C0 0C01CB95 */ jal func_80072E54 /* 07C1C4 8007B5C4 24070001 */ li $a3, 1 /* 07C1C8 8007B5C8 100000F4 */ b .L8007B99C /* 07C1CC 8007B5CC 02002025 */ move $a0, $s0 glabel L8007B5D0 /* 07C1D0 8007B5D0 240E0008 */ li $t6, 8 /* 07C1D4 8007B5D4 24090001 */ li $t1, 1 /* 07C1D8 8007B5D8 AFA90014 */ sw $t1, 0x14($sp) /* 07C1DC 8007B5DC AFAE0010 */ sw $t6, 0x10($sp) /* 07C1E0 8007B5E0 02002025 */ move $a0, $s0 /* 07C1E4 8007B5E4 24050001 */ li $a1, 1 /* 07C1E8 8007B5E8 24060006 */ li $a2, 6 /* 07C1EC 8007B5EC 0C01CB95 */ jal func_80072E54 /* 07C1F0 8007B5F0 24070001 */ li $a3, 1 /* 07C1F4 8007B5F4 100000E9 */ b .L8007B99C /* 07C1F8 8007B5F8 02002025 */ move $a0, $s0 glabel L8007B5FC /* 07C1FC 8007B5FC 240A0010 */ li $t2, 16 /* 07C200 8007B600 240B0001 */ li $t3, 1 /* 07C204 8007B604 AFAB0014 */ sw $t3, 0x14($sp) /* 07C208 8007B608 AFAA0010 */ sw $t2, 0x10($sp) /* 07C20C 8007B60C 02002025 */ move $a0, $s0 /* 07C210 8007B610 24050001 */ li $a1, 1 /* 07C214 8007B614 24060004 */ li $a2, 4 /* 07C218 8007B618 0C01CB95 */ jal func_80072E54 /* 07C21C 8007B61C 24070001 */ li $a3, 1 /* 07C220 8007B620 100000DE */ b .L8007B99C /* 07C224 8007B624 02002025 */ move $a0, $s0 glabel L8007B628 /* 07C228 8007B628 02002025 */ move $a0, $s0 /* 07C22C 8007B62C 0C01EBEC */ jal func_8007AFB0 /* 07C230 8007B630 8FA50048 */ lw $a1, 0x48($sp) /* 07C234 8007B634 8FAC002C */ lw $t4, 0x2c($sp) /* 07C238 8007B638 240D0008 */ li $t5, 8 /* 07C23C 8007B63C 240F0002 */ li $t7, 2 /* 07C240 8007B640 02002025 */ move $a0, $s0 /* 07C244 8007B644 A18200D2 */ sb $v0, 0xd2($t4) /* 07C248 8007B648 AD8D004C */ sw $t5, 0x4c($t4) /* 07C24C 8007B64C 0C01C922 */ jal func_80072488 /* 07C250 8007B650 A18F00D6 */ sb $t7, 0xd6($t4) /* 07C254 8007B654 93A4004B */ lbu $a0, 0x4b($sp) /* 07C258 8007B658 3C050100 */ lui $a1, (0x0100FE1C >> 16) # lui $a1, 0x100 /* 07C25C 8007B65C 34A5FE1C */ ori $a1, (0x0100FE1C & 0xFFFF) # ori $a1, $a1, 0xfe1c /* 07C260 8007B660 0C032406 */ jal func_800C9018 /* 07C264 8007B664 AFA40028 */ sw $a0, 0x28($sp) /* 07C268 8007B668 3C050100 */ lui $a1, (0x0100FE47 >> 16) # lui $a1, 0x100 /* 07C26C 8007B66C 8FA40028 */ lw $a0, 0x28($sp) /* 07C270 8007B670 0C0323E0 */ jal func_800C8F80 /* 07C274 8007B674 34A5FE47 */ ori $a1, (0x0100FE47 & 0xFFFF) # ori $a1, $a1, 0xfe47 /* 07C278 8007B678 100000C8 */ b .L8007B99C /* 07C27C 8007B67C 02002025 */ move $a0, $s0 glabel L8007B680 /* 07C280 8007B680 8FB8002C */ lw $t8, 0x2c($sp) /* 07C284 8007B684 2419000A */ li $t9, 10 /* 07C288 8007B688 02002025 */ move $a0, $s0 /* 07C28C 8007B68C 870500A2 */ lh $a1, 0xa2($t8) /* 07C290 8007B690 AFB90010 */ sw $t9, 0x10($sp) /* 07C294 8007B694 00003025 */ move $a2, $zero /* 07C298 8007B698 0C01CB4F */ jal func_80072D3C /* 07C29C 8007B69C 24070008 */ li $a3, 8 /* 07C2A0 8007B6A0 100000BE */ b .L8007B99C /* 07C2A4 8007B6A4 02002025 */ move $a0, $s0 glabel L8007B6A8 /* 07C2A8 8007B6A8 02002025 */ move $a0, $s0 /* 07C2AC 8007B6AC 0C01C8B3 */ jal func_800722CC /* 07C2B0 8007B6B0 24050004 */ li $a1, 4 /* 07C2B4 8007B6B4 0C01CD80 */ jal func_80073600 /* 07C2B8 8007B6B8 02002025 */ move $a0, $s0 /* 07C2BC 8007B6BC 8FA8002C */ lw $t0, 0x2c($sp) /* 07C2C0 8007B6C0 02002025 */ move $a0, $s0 /* 07C2C4 8007B6C4 0C01C922 */ jal func_80072488 /* 07C2C8 8007B6C8 A10000D2 */ sb $zero, 0xd2($t0) /* 07C2CC 8007B6CC 100000B3 */ b .L8007B99C /* 07C2D0 8007B6D0 02002025 */ move $a0, $s0 glabel L8007B6D4 /* 07C2D4 8007B6D4 02002025 */ move $a0, $s0 /* 07C2D8 8007B6D8 0C01C9E3 */ jal func_8007278C /* 07C2DC 8007B6DC 24050014 */ li $a1, 20 /* 07C2E0 8007B6E0 100000AE */ b .L8007B99C /* 07C2E4 8007B6E4 02002025 */ move $a0, $s0 glabel L8007B6E8 /* 07C2E8 8007B6E8 3C02800E */ lui $v0, %hi(D_800DC52C) # $v0, 0x800e /* 07C2EC 8007B6EC 8C42C52C */ lw $v0, %lo(D_800DC52C)($v0) /* 07C2F0 8007B6F0 8FAE0048 */ lw $t6, 0x48($sp) /* 07C2F4 8007B6F4 24010003 */ li $at, 3 /* 07C2F8 8007B6F8 14400010 */ bnez $v0, .L8007B73C /* 07C2FC 8007B6FC 000E4940 */ sll $t1, $t6, 5 /* 07C300 8007B700 012E4821 */ addu $t1, $t1, $t6 /* 07C304 8007B704 00094880 */ sll $t1, $t1, 2 /* 07C308 8007B708 3C0B8019 */ lui $t3, %hi(D_8018CA70) # $t3, 0x8019 /* 07C30C 8007B70C 256BCA70 */ addiu $t3, %lo(D_8018CA70) # addiu $t3, $t3, -0x3590 /* 07C310 8007B710 252A0048 */ addiu $t2, $t1, 0x48 /* 07C314 8007B714 014B2021 */ addu $a0, $t2, $t3 /* 07C318 8007B718 00002825 */ move $a1, $zero /* 07C31C 8007B71C 0C01041B */ jal func_8004106C /* 07C320 8007B720 24060004 */ li $a2, 4 /* 07C324 8007B724 5040009D */ beql $v0, $zero, .L8007B99C /* 07C328 8007B728 02002025 */ move $a0, $s0 /* 07C32C 8007B72C 0C01C922 */ jal func_80072488 /* 07C330 8007B730 02002025 */ move $a0, $s0 /* 07C334 8007B734 10000099 */ b .L8007B99C /* 07C338 8007B738 02002025 */ move $a0, $s0 .L8007B73C: /* 07C33C 8007B73C 1441002D */ bne $v0, $at, .L8007B7F4 /* 07C340 8007B740 8FAB0048 */ lw $t3, 0x48($sp) /* 07C344 8007B744 8FAD0048 */ lw $t5, 0x48($sp) /* 07C348 8007B748 8FAF0048 */ lw $t7, 0x48($sp) /* 07C34C 8007B74C 24010002 */ li $at, 2 /* 07C350 8007B750 11A00003 */ beqz $t5, .L8007B760 /* 07C354 8007B754 000F6140 */ sll $t4, $t7, 5 /* 07C358 8007B758 15A10013 */ bne $t5, $at, .L8007B7A8 /* 07C35C 8007B75C 8FA80048 */ lw $t0, 0x48($sp) .L8007B760: /* 07C360 8007B760 018F6021 */ addu $t4, $t4, $t7 /* 07C364 8007B764 3C188019 */ lui $t8, %hi(D_8018CA70) # $t8, 0x8019 /* 07C368 8007B768 2718CA70 */ addiu $t8, %lo(D_8018CA70) # addiu $t8, $t8, -0x3590 /* 07C36C 8007B76C 000C6080 */ sll $t4, $t4, 2 /* 07C370 8007B770 01981821 */ addu $v1, $t4, $t8 /* 07C374 8007B774 24640046 */ addiu $a0, $v1, 0x46 /* 07C378 8007B778 AFA30028 */ sw $v1, 0x28($sp) /* 07C37C 8007B77C 00002825 */ move $a1, $zero /* 07C380 8007B780 0C01041B */ jal func_8004106C /* 07C384 8007B784 24060008 */ li $a2, 8 /* 07C388 8007B788 8FA30028 */ lw $v1, 0x28($sp) /* 07C38C 8007B78C 84790046 */ lh $t9, 0x46($v1) /* 07C390 8007B790 57200082 */ bnel $t9, $zero, .L8007B99C /* 07C394 8007B794 02002025 */ move $a0, $s0 /* 07C398 8007B798 0C01C922 */ jal func_80072488 /* 07C39C 8007B79C 02002025 */ move $a0, $s0 /* 07C3A0 8007B7A0 1000007E */ b .L8007B99C /* 07C3A4 8007B7A4 02002025 */ move $a0, $s0 .L8007B7A8: /* 07C3A8 8007B7A8 00087140 */ sll $t6, $t0, 5 /* 07C3AC 8007B7AC 01C87021 */ addu $t6, $t6, $t0 /* 07C3B0 8007B7B0 3C098019 */ lui $t1, %hi(D_8018CA70) # $t1, 0x8019 /* 07C3B4 8007B7B4 2529CA70 */ addiu $t1, %lo(D_8018CA70) # addiu $t1, $t1, -0x3590 /* 07C3B8 8007B7B8 000E7080 */ sll $t6, $t6, 2 /* 07C3BC 8007B7BC 01C91821 */ addu $v1, $t6, $t1 /* 07C3C0 8007B7C0 24640046 */ addiu $a0, $v1, 0x46 /* 07C3C4 8007B7C4 AFA30028 */ sw $v1, 0x28($sp) /* 07C3C8 8007B7C8 00002825 */ move $a1, $zero /* 07C3CC 8007B7CC 0C0103F6 */ jal func_80040FD8 /* 07C3D0 8007B7D0 24060008 */ li $a2, 8 /* 07C3D4 8007B7D4 8FA30028 */ lw $v1, 0x28($sp) /* 07C3D8 8007B7D8 846A0046 */ lh $t2, 0x46($v1) /* 07C3DC 8007B7DC 5540006F */ bnel $t2, $zero, .L8007B99C /* 07C3E0 8007B7E0 02002025 */ move $a0, $s0 /* 07C3E4 8007B7E4 0C01C922 */ jal func_80072488 /* 07C3E8 8007B7E8 02002025 */ move $a0, $s0 /* 07C3EC 8007B7EC 1000006B */ b .L8007B99C /* 07C3F0 8007B7F0 02002025 */ move $a0, $s0 .L8007B7F4: /* 07C3F4 8007B7F4 000B6940 */ sll $t5, $t3, 5 /* 07C3F8 8007B7F8 01AB6821 */ addu $t5, $t5, $t3 /* 07C3FC 8007B7FC 000D6880 */ sll $t5, $t5, 2 /* 07C400 8007B800 3C0C8019 */ lui $t4, %hi(D_8018CA70) # $t4, 0x8019 /* 07C404 8007B804 258CCA70 */ addiu $t4, %lo(D_8018CA70) # addiu $t4, $t4, -0x3590 /* 07C408 8007B808 25AF0046 */ addiu $t7, $t5, 0x46 /* 07C40C 8007B80C 01EC2021 */ addu $a0, $t7, $t4 /* 07C410 8007B810 00002825 */ move $a1, $zero /* 07C414 8007B814 0C01041B */ jal func_8004106C /* 07C418 8007B818 24060008 */ li $a2, 8 /* 07C41C 8007B81C 5040005F */ beql $v0, $zero, .L8007B99C /* 07C420 8007B820 02002025 */ move $a0, $s0 /* 07C424 8007B824 0C01C922 */ jal func_80072488 /* 07C428 8007B828 02002025 */ move $a0, $s0 /* 07C42C 8007B82C 1000005B */ b .L8007B99C /* 07C430 8007B830 02002025 */ move $a0, $s0 glabel L8007B834 /* 07C434 8007B834 0C01C90A */ jal func_80072428 /* 07C438 8007B838 02002025 */ move $a0, $s0 /* 07C43C 8007B83C 10000057 */ b .L8007B99C /* 07C440 8007B840 02002025 */ move $a0, $s0 glabel L8007B844 /* 07C444 8007B844 8FB8002C */ lw $t8, 0x2c($sp) /* 07C448 8007B848 2401000B */ li $at, 11 /* 07C44C 8007B84C 02002025 */ move $a0, $s0 /* 07C450 8007B850 870500A2 */ lh $a1, 0xa2($t8) /* 07C454 8007B854 2406000B */ li $a2, 11 /* 07C458 8007B858 24070008 */ li $a3, 8 /* 07C45C 8007B85C 14A10009 */ bne $a1, $at, .L8007B884 /* 07C460 8007B860 2408000A */ li $t0, 10 /* 07C464 8007B864 2419000A */ li $t9, 10 /* 07C468 8007B868 AFB90010 */ sw $t9, 0x10($sp) /* 07C46C 8007B86C 02002025 */ move $a0, $s0 /* 07C470 8007B870 00003025 */ move $a2, $zero /* 07C474 8007B874 0C01CB4F */ jal func_80072D3C /* 07C478 8007B878 24070008 */ li $a3, 8 /* 07C47C 8007B87C 10000047 */ b .L8007B99C /* 07C480 8007B880 02002025 */ move $a0, $s0 .L8007B884: /* 07C484 8007B884 0C01CB4F */ jal func_80072D3C /* 07C488 8007B888 AFA80010 */ sw $t0, 0x10($sp) /* 07C48C 8007B88C 10000043 */ b .L8007B99C /* 07C490 8007B890 02002025 */ move $a0, $s0 glabel L8007B894 /* 07C494 8007B894 02002025 */ move $a0, $s0 /* 07C498 8007B898 0C01C9B3 */ jal func_800726CC /* 07C49C 8007B89C 24050008 */ li $a1, 8 /* 07C4A0 8007B8A0 8FA9002C */ lw $t1, 0x2c($sp) /* 07C4A4 8007B8A4 240E0002 */ li $t6, 2 /* 07C4A8 8007B8A8 1000003B */ b .L8007B998 /* 07C4AC 8007B8AC A12E00D6 */ sb $t6, 0xd6($t1) glabel L8007B8B0 /* 07C4B0 8007B8B0 8FAA002C */ lw $t2, 0x2c($sp) /* 07C4B4 8007B8B4 2401000B */ li $at, 11 /* 07C4B8 8007B8B8 02002025 */ move $a0, $s0 /* 07C4BC 8007B8BC 854500A2 */ lh $a1, 0xa2($t2) /* 07C4C0 8007B8C0 2406000B */ li $a2, 11 /* 07C4C4 8007B8C4 24070008 */ li $a3, 8 /* 07C4C8 8007B8C8 14A10009 */ bne $a1, $at, .L8007B8F0 /* 07C4CC 8007B8CC 240D000A */ li $t5, 10 /* 07C4D0 8007B8D0 240B000A */ li $t3, 10 /* 07C4D4 8007B8D4 AFAB0010 */ sw $t3, 0x10($sp) /* 07C4D8 8007B8D8 02002025 */ move $a0, $s0 /* 07C4DC 8007B8DC 00003025 */ move $a2, $zero /* 07C4E0 8007B8E0 0C01CB4F */ jal func_80072D3C /* 07C4E4 8007B8E4 24070008 */ li $a3, 8 /* 07C4E8 8007B8E8 1000002C */ b .L8007B99C /* 07C4EC 8007B8EC 02002025 */ move $a0, $s0 .L8007B8F0: /* 07C4F0 8007B8F0 0C01CB4F */ jal func_80072D3C /* 07C4F4 8007B8F4 AFAD0010 */ sw $t5, 0x10($sp) /* 07C4F8 8007B8F8 10000028 */ b .L8007B99C /* 07C4FC 8007B8FC 02002025 */ move $a0, $s0 glabel L8007B900 /* 07C500 8007B900 02002025 */ move $a0, $s0 /* 07C504 8007B904 0C01C9B3 */ jal func_800726CC /* 07C508 8007B908 24050009 */ li $a1, 9 /* 07C50C 8007B90C 10000023 */ b .L8007B99C /* 07C510 8007B910 02002025 */ move $a0, $s0 glabel L8007B914 /* 07C514 8007B914 8FAF002C */ lw $t7, 0x2c($sp) /* 07C518 8007B918 2401000D */ li $at, 13 /* 07C51C 8007B91C 02002025 */ move $a0, $s0 /* 07C520 8007B920 85E500A2 */ lh $a1, 0xa2($t7) /* 07C524 8007B924 2406000D */ li $a2, 13 /* 07C528 8007B928 24070008 */ li $a3, 8 /* 07C52C 8007B92C 14A10009 */ bne $a1, $at, .L8007B954 /* 07C530 8007B930 2418000A */ li $t8, 10 /* 07C534 8007B934 240C000A */ li $t4, 10 /* 07C538 8007B938 AFAC0010 */ sw $t4, 0x10($sp) /* 07C53C 8007B93C 02002025 */ move $a0, $s0 /* 07C540 8007B940 2406000E */ li $a2, 14 /* 07C544 8007B944 0C01CB4F */ jal func_80072D3C /* 07C548 8007B948 24070008 */ li $a3, 8 /* 07C54C 8007B94C 10000013 */ b .L8007B99C /* 07C550 8007B950 02002025 */ move $a0, $s0 .L8007B954: /* 07C554 8007B954 0C01CB4F */ jal func_80072D3C /* 07C558 8007B958 AFB80010 */ sw $t8, 0x10($sp) /* 07C55C 8007B95C 1000000F */ b .L8007B99C /* 07C560 8007B960 02002025 */ move $a0, $s0 glabel L8007B964 /* 07C564 8007B964 02002025 */ move $a0, $s0 /* 07C568 8007B968 0C01C9B3 */ jal func_800726CC /* 07C56C 8007B96C 24050008 */ li $a1, 8 /* 07C570 8007B970 1000000A */ b .L8007B99C /* 07C574 8007B974 02002025 */ move $a0, $s0 glabel L8007B978 /* 07C578 8007B978 8FB9002C */ lw $t9, 0x2c($sp) /* 07C57C 8007B97C 24080064 */ li $t0, 100 /* 07C580 8007B980 02002025 */ move $a0, $s0 /* 07C584 8007B984 872500A2 */ lh $a1, 0xa2($t9) /* 07C588 8007B988 AFA80010 */ sw $t0, 0x10($sp) /* 07C58C 8007B98C 00003025 */ move $a2, $zero /* 07C590 8007B990 0C01CB4F */ jal func_80072D3C /* 07C594 8007B994 24070008 */ li $a3, 8 .L8007B998: glabel L8007B998 /* 07C598 8007B998 02002025 */ move $a0, $s0 .L8007B99C: /* 07C59C 8007B99C 0C01C8C8 */ jal func_80072320 /* 07C5A0 8007B9A0 24050002 */ li $a1, 2 /* 07C5A4 8007B9A4 1040000B */ beqz $v0, .L8007B9D4 /* 07C5A8 8007B9A8 8FAE002C */ lw $t6, 0x2c($sp) /* 07C5AC 8007B9AC 95C20098 */ lhu $v0, 0x98($t6) /* 07C5B0 8007B9B0 8FAA002C */ lw $t2, 0x2c($sp) /* 07C5B4 8007B9B4 54400006 */ bnel $v0, $zero, .L8007B9D0 /* 07C5B8 8007B9B8 2449FFFF */ addiu $t1, $v0, -1 /* 07C5BC 8007B9BC 0C01EB27 */ jal func_8007AC9C /* 07C5C0 8007B9C0 8FA40048 */ lw $a0, 0x48($sp) /* 07C5C4 8007B9C4 10000004 */ b .L8007B9D8 /* 07C5C8 8007B9C8 8FAB002C */ lw $t3, 0x2c($sp) /* 07C5CC 8007B9CC 2449FFFF */ addiu $t1, $v0, -1 .L8007B9D0: /* 07C5D0 8007B9D0 A5490098 */ sh $t1, 0x98($t2) .L8007B9D4: /* 07C5D4 8007B9D4 8FAB002C */ lw $t3, 0x2c($sp) .L8007B9D8: /* 07C5D8 8007B9D8 8D62004C */ lw $v0, 0x4c($t3) /* 07C5DC 8007B9DC 0442005D */ bltzl $v0, .L8007BB54 /* 07C5E0 8007B9E0 8FA8002C */ lw $t0, 0x2c($sp) /* 07C5E4 8007B9E4 18400004 */ blez $v0, .L8007B9F8 /* 07C5E8 8007B9E8 8FAF002C */ lw $t7, 0x2c($sp) /* 07C5EC 8007B9EC 244DFFFF */ addiu $t5, $v0, -1 /* 07C5F0 8007B9F0 10000057 */ b .L8007BB50 /* 07C5F4 8007B9F4 AD6D004C */ sw $t5, 0x4c($t3) .L8007B9F8: /* 07C5F8 8007B9F8 91E200D6 */ lbu $v0, 0xd6($t7) /* 07C5FC 8007B9FC 24010001 */ li $at, 1 /* 07C600 8007BA00 8FAC0040 */ lw $t4, 0x40($sp) /* 07C604 8007BA04 10410008 */ beq $v0, $at, .L8007BA28 /* 07C608 8007BA08 24010002 */ li $at, 2 /* 07C60C 8007BA0C 1041000F */ beq $v0, $at, .L8007BA4C /* 07C610 8007BA10 8FB8002C */ lw $t8, 0x2c($sp) /* 07C614 8007BA14 24010003 */ li $at, 3 /* 07C618 8007BA18 10410013 */ beq $v0, $at, .L8007BA68 /* 07C61C 8007BA1C 8FAE002C */ lw $t6, 0x2c($sp) /* 07C620 8007BA20 1000004C */ b .L8007BB54 /* 07C624 8007BA24 8FA8002C */ lw $t0, 0x2c($sp) .L8007BA28: /* 07C628 8007BA28 5180004A */ beql $t4, $zero, .L8007BB54 /* 07C62C 8007BA2C 8FA8002C */ lw $t0, 0x2c($sp) /* 07C630 8007BA30 0C01CD80 */ jal func_80073600 /* 07C634 8007BA34 02002025 */ move $a0, $s0 /* 07C638 8007BA38 02002025 */ move $a0, $s0 /* 07C63C 8007BA3C 0C01C9B3 */ jal func_800726CC /* 07C640 8007BA40 24050006 */ li $a1, 6 /* 07C644 8007BA44 10000043 */ b .L8007BB54 /* 07C648 8007BA48 8FA8002C */ lw $t0, 0x2c($sp) .L8007BA4C: /* 07C64C 8007BA4C 02002025 */ move $a0, $s0 /* 07C650 8007BA50 0C01CA74 */ jal func_800729D0 /* 07C654 8007BA54 870500A2 */ lh $a1, 0xa2($t8) /* 07C658 8007BA58 8FA8002C */ lw $t0, 0x2c($sp) /* 07C65C 8007BA5C 24190003 */ li $t9, 3 /* 07C660 8007BA60 1000003B */ b .L8007BB50 /* 07C664 8007BA64 A11900D6 */ sb $t9, 0xd6($t0) .L8007BA68: /* 07C668 8007BA68 85C900A4 */ lh $t1, 0xa4($t6) /* 07C66C 8007BA6C 02002025 */ move $a0, $s0 /* 07C670 8007BA70 55200038 */ bnel $t1, $zero, .L8007BB54 /* 07C674 8007BA74 8FA8002C */ lw $t0, 0x2c($sp) /* 07C678 8007BA78 0C01C8D5 */ jal func_80072354 /* 07C67C 8007BA7C 24050001 */ li $a1, 1 /* 07C680 8007BA80 1040002C */ beqz $v0, .L8007BB34 /* 07C684 8007BA84 02002025 */ move $a0, $s0 /* 07C688 8007BA88 8FAA002C */ lw $t2, 0x2c($sp) /* 07C68C 8007BA8C 2401000B */ li $at, 11 /* 07C690 8007BA90 02002025 */ move $a0, $s0 /* 07C694 8007BA94 854200A2 */ lh $v0, 0xa2($t2) /* 07C698 8007BA98 54410010 */ bnel $v0, $at, .L8007BADC /* 07C69C 8007BA9C 2401000D */ li $at, 13 /* 07C6A0 8007BAA0 0C01EC10 */ jal func_8007B040 /* 07C6A4 8007BAA4 8FA50048 */ lw $a1, 0x48($sp) /* 07C6A8 8007BAA8 10400007 */ beqz $v0, .L8007BAC8 /* 07C6AC 8007BAAC 02002025 */ move $a0, $s0 /* 07C6B0 8007BAB0 02002025 */ move $a0, $s0 /* 07C6B4 8007BAB4 0C01C9B3 */ jal func_800726CC /* 07C6B8 8007BAB8 24050014 */ li $a1, 20 /* 07C6BC 8007BABC 8FAD002C */ lw $t5, 0x2c($sp) /* 07C6C0 8007BAC0 10000023 */ b .L8007BB50 /* 07C6C4 8007BAC4 A1A000D6 */ sb $zero, 0xd6($t5) .L8007BAC8: /* 07C6C8 8007BAC8 0C01C9B3 */ jal func_800726CC /* 07C6CC 8007BACC 24050009 */ li $a1, 9 /* 07C6D0 8007BAD0 10000020 */ b .L8007BB54 /* 07C6D4 8007BAD4 8FA8002C */ lw $t0, 0x2c($sp) /* 07C6D8 8007BAD8 2401000D */ li $at, 13 .L8007BADC: /* 07C6DC 8007BADC 10410004 */ beq $v0, $at, .L8007BAF0 /* 07C6E0 8007BAE0 8FAF002C */ lw $t7, 0x2c($sp) /* 07C6E4 8007BAE4 2401000E */ li $at, 14 /* 07C6E8 8007BAE8 1441000E */ bne $v0, $at, .L8007BB24 /* 07C6EC 8007BAEC 02002025 */ move $a0, $s0 .L8007BAF0: /* 07C6F0 8007BAF0 244BFFFF */ addiu $t3, $v0, -1 /* 07C6F4 8007BAF4 A5EB00A2 */ sh $t3, 0xa2($t7) /* 07C6F8 8007BAF8 85E500A2 */ lh $a1, 0xa2($t7) /* 07C6FC 8007BAFC 0C01CA74 */ jal func_800729D0 /* 07C700 8007BB00 02002025 */ move $a0, $s0 /* 07C704 8007BB04 8FB8002C */ lw $t8, 0x2c($sp) /* 07C708 8007BB08 240C0003 */ li $t4, 3 /* 07C70C 8007BB0C 02002025 */ move $a0, $s0 /* 07C710 8007BB10 24050028 */ li $a1, 40 /* 07C714 8007BB14 0C01C9B3 */ jal func_800726CC /* 07C718 8007BB18 A30C00D6 */ sb $t4, 0xd6($t8) /* 07C71C 8007BB1C 1000000D */ b .L8007BB54 /* 07C720 8007BB20 8FA8002C */ lw $t0, 0x2c($sp) .L8007BB24: /* 07C724 8007BB24 0C01C9B3 */ jal func_800726CC /* 07C728 8007BB28 24050009 */ li $a1, 9 /* 07C72C 8007BB2C 10000009 */ b .L8007BB54 /* 07C730 8007BB30 8FA8002C */ lw $t0, 0x2c($sp) .L8007BB34: /* 07C734 8007BB34 0C01C8B3 */ jal func_800722CC /* 07C738 8007BB38 24050001 */ li $a1, 1 /* 07C73C 8007BB3C 02002025 */ move $a0, $s0 /* 07C740 8007BB40 0C01C9B3 */ jal func_800726CC /* 07C744 8007BB44 2405001E */ li $a1, 30 /* 07C748 8007BB48 8FB9002C */ lw $t9, 0x2c($sp) /* 07C74C 8007BB4C A32000D6 */ sb $zero, 0xd6($t9) .L8007BB50: /* 07C750 8007BB50 8FA8002C */ lw $t0, 0x2c($sp) .L8007BB54: /* 07C754 8007BB54 3C09800E */ lui $t1, %hi(D_800E44F0) /* 07C758 8007BB58 3C0A800E */ lui $t2, %hi(D_800E4530) /* 07C75C 8007BB5C 810200D2 */ lb $v0, 0xd2($t0) /* 07C760 8007BB60 850D00A4 */ lh $t5, 0xa4($t0) /* 07C764 8007BB64 00027080 */ sll $t6, $v0, 2 /* 07C768 8007BB68 012E4821 */ addu $t1, $t1, $t6 /* 07C76C 8007BB6C 8D2944F0 */ lw $t1, %lo(D_800E44F0)($t1) /* 07C770 8007BB70 014E5021 */ addu $t2, $t2, $t6 /* 07C774 8007BB74 AD090060 */ sw $t1, 0x60($t0) /* 07C778 8007BB78 8D4A4530 */ lw $t2, %lo(D_800E4530)($t2) /* 07C77C 8007BB7C AD0A0064 */ sw $t2, 0x64($t0) /* 07C780 8007BB80 8FAB0038 */ lw $t3, 0x38($sp) /* 07C784 8007BB84 A56D0010 */ sh $t5, 0x10($t3) /* 07C788 8007BB88 8FBF0024 */ lw $ra, 0x24($sp) /* 07C78C 8007BB8C 8FB00020 */ lw $s0, 0x20($sp) /* 07C790 8007BB90 27BD0048 */ addiu $sp, $sp, 0x48 /* 07C794 8007BB94 03E00008 */ jr $ra /* 07C798 8007BB98 00000000 */ nop glabel func_8007BB9C /* 07C79C 8007BB9C 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 07C7A0 8007BBA0 AFBF0014 */ sw $ra, 0x14($sp) /* 07C7A4 8007BBA4 0C01ECD3 */ jal func_8007B34C /* 07C7A8 8007BBA8 00000000 */ nop /* 07C7AC 8007BBAC 8FBF0014 */ lw $ra, 0x14($sp) /* 07C7B0 8007BBB0 27BD0018 */ addiu $sp, $sp, 0x18 /* 07C7B4 8007BBB4 03E00008 */ jr $ra /* 07C7B8 8007BBB8 00000000 */ nop glabel func_8007BBBC /* 07C7BC 8007BBBC 000470C0 */ sll $t6, $a0, 3 /* 07C7C0 8007BBC0 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 07C7C4 8007BBC4 01C47023 */ subu $t6, $t6, $a0 /* 07C7C8 8007BBC8 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 07C7CC 8007BBCC AFB10020 */ sw $s1, 0x20($sp) /* 07C7D0 8007BBD0 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 07C7D4 8007BBD4 000E7140 */ sll $t6, $t6, 5 /* 07C7D8 8007BBD8 01CF8821 */ addu $s1, $t6, $t7 /* 07C7DC 8007BBDC 862200A6 */ lh $v0, 0xa6($s1) /* 07C7E0 8007BBE0 AFB0001C */ sw $s0, 0x1c($sp) /* 07C7E4 8007BBE4 00808025 */ move $s0, $a0 /* 07C7E8 8007BBE8 10400041 */ beqz $v0, .L8007BCF0 /* 07C7EC 8007BBEC AFBF0024 */ sw $ra, 0x24($sp) /* 07C7F0 8007BBF0 24010001 */ li $at, 1 /* 07C7F4 8007BBF4 10410009 */ beq $v0, $at, .L8007BC1C /* 07C7F8 8007BBF8 02002025 */ move $a0, $s0 /* 07C7FC 8007BBFC 24010002 */ li $at, 2 /* 07C800 8007BC00 1041000F */ beq $v0, $at, .L8007BC40 /* 07C804 8007BC04 3C18800E */ lui $t8, %hi(gIsMirrorMode) # $t8, 0x800e /* 07C808 8007BC08 24010003 */ li $at, 3 /* 07C80C 8007BC0C 10410036 */ beq $v0, $at, .L8007BCE8 /* 07C810 8007BC10 00000000 */ nop /* 07C814 8007BC14 10000037 */ b .L8007BCF4 /* 07C818 8007BC18 8FBF0024 */ lw $ra, 0x24($sp) .L8007BC1C: /* 07C81C 8007BC1C 3C050600 */ lui $a1, %hi(D_06007BA8) # $a1, 0x600 /* 07C820 8007BC20 24A57BA8 */ addiu $a1, %lo(D_06007BA8) # addiu $a1, $a1, 0x7ba8 /* 07C824 8007BC24 0C01CD6F */ jal func_800735BC /* 07C828 8007BC28 3C064000 */ lui $a2, 0x4000 /* 07C82C 8007BC2C 02002025 */ move $a0, $s0 /* 07C830 8007BC30 0C01C870 */ jal func_800721C0 /* 07C834 8007BC34 24050010 */ li $a1, 16 /* 07C838 8007BC38 1000002D */ b .L8007BCF0 /* 07C83C 8007BC3C A22000D5 */ sb $zero, 0xd5($s1) .L8007BC40: /* 07C840 8007BC40 8F18C604 */ lw $t8, %lo(gIsMirrorMode)($t8) /* 07C844 8007BC44 02002025 */ move $a0, $s0 /* 07C848 8007BC48 3C054190 */ lui $a1, 0x4190 /* 07C84C 8007BC4C 1300000D */ beqz $t8, .L8007BC84 /* 07C850 8007BC50 3C063F33 */ lui $a2, 0x3f33 /* 07C854 8007BC54 3C063F33 */ lui $a2, (0x3F333333 >> 16) # lui $a2, 0x3f33 /* 07C858 8007BC58 2419A800 */ li $t9, -22528 /* 07C85C 8007BC5C 2408012C */ li $t0, 300 /* 07C860 8007BC60 AFA80014 */ sw $t0, 0x14($sp) /* 07C864 8007BC64 AFB90010 */ sw $t9, 0x10($sp) /* 07C868 8007BC68 34C63333 */ ori $a2, (0x3F333333 & 0xFFFF) # ori $a2, $a2, 0x3333 /* 07C86C 8007BC6C 02002025 */ move $a0, $s0 /* 07C870 8007BC70 3C054190 */ lui $a1, 0x4190 /* 07C874 8007BC74 0C021F82 */ jal func_80087E08 /* 07C878 8007BC78 3C0741C8 */ lui $a3, 0x41c8 /* 07C87C 8007BC7C 10000009 */ b .L8007BCA4 /* 07C880 8007BC80 C6200040 */ lwc1 $f0, 0x40($s1) .L8007BC84: /* 07C884 8007BC84 24095800 */ li $t1, 22528 /* 07C888 8007BC88 240A012C */ li $t2, 300 /* 07C88C 8007BC8C AFAA0014 */ sw $t2, 0x14($sp) /* 07C890 8007BC90 AFA90010 */ sw $t1, 0x10($sp) /* 07C894 8007BC94 34C63333 */ ori $a2, (0x3F333333 & 0xFFFF) # ori $a2, $a2, 0x3333 /* 07C898 8007BC98 0C021F82 */ jal func_80087E08 /* 07C89C 8007BC9C 3C0741C8 */ lui $a3, 0x41c8 /* 07C8A0 8007BCA0 C6200040 */ lwc1 $f0, 0x40($s1) .L8007BCA4: /* 07C8A4 8007BCA4 44802000 */ mtc1 $zero, $f4 /* 07C8A8 8007BCA8 00000000 */ nop /* 07C8AC 8007BCAC 4604003C */ c.lt.s $f0, $f4 /* 07C8B0 8007BCB0 00000000 */ nop /* 07C8B4 8007BCB4 45020004 */ bc1fl .L8007BCC8 /* 07C8B8 8007BCB8 46000386 */ mov.s $f14, $f0 /* 07C8BC 8007BCBC 10000002 */ b .L8007BCC8 /* 07C8C0 8007BCC0 46000387 */ neg.s $f14, $f0 /* 07C8C4 8007BCC4 46000386 */ mov.s $f14, $f0 .L8007BCC8: /* 07C8C8 8007BCC8 0C010596 */ jal func_80041658 /* 07C8CC 8007BCCC C62C003C */ lwc1 $f12, 0x3c($s1) /* 07C8D0 8007BCD0 A62200BE */ sh $v0, 0xbe($s1) /* 07C8D4 8007BCD4 02002025 */ move $a0, $s0 /* 07C8D8 8007BCD8 0C01C9E3 */ jal func_8007278C /* 07C8DC 8007BCDC 24050046 */ li $a1, 70 /* 07C8E0 8007BCE0 10000004 */ b .L8007BCF4 /* 07C8E4 8007BCE4 8FBF0024 */ lw $ra, 0x24($sp) .L8007BCE8: /* 07C8E8 8007BCE8 0C01C90A */ jal func_80072428 /* 07C8EC 8007BCEC 02002025 */ move $a0, $s0 .L8007BCF0: /* 07C8F0 8007BCF0 8FBF0024 */ lw $ra, 0x24($sp) .L8007BCF4: /* 07C8F4 8007BCF4 8FB0001C */ lw $s0, 0x1c($sp) /* 07C8F8 8007BCF8 8FB10020 */ lw $s1, 0x20($sp) /* 07C8FC 8007BCFC 03E00008 */ jr $ra /* 07C900 8007BD00 27BD0028 */ addiu $sp, $sp, 0x28 glabel func_8007BD04 /* 07C904 8007BD04 3C0E8018 */ lui $t6, %hi(D_80183F28) # $t6, 0x8018 /* 07C908 8007BD08 8DCE3F28 */ lw $t6, %lo(D_80183F28)($t6) /* 07C90C 8007BD0C 3C188016 */ lui $t8, %hi(D_80165CBE) # 0x8016 /* 07C910 8007BD10 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 07C914 8007BD14 000E78C0 */ sll $t7, $t6, 3 /* 07C918 8007BD18 01EE7823 */ subu $t7, $t7, $t6 /* 07C91C 8007BD1C 000F7940 */ sll $t7, $t7, 5 /* 07C920 8007BD20 030FC021 */ addu $t8, $t8, $t7 /* 07C924 8007BD24 87185CBE */ lh $t8, %lo(D_80165CBE)($t8) # 0x5cbe($t8) /* 07C928 8007BD28 AFBF0014 */ sw $ra, 0x14($sp) /* 07C92C 8007BD2C 0004C840 */ sll $t9, $a0, 1 /* 07C930 8007BD30 17000019 */ bnez $t8, .L8007BD98 /* 07C934 8007BD34 AFAE001C */ sw $t6, 0x1c($sp) /* 07C938 8007BD38 3C028016 */ lui $v0, %hi(D_80164438) # 0x8016 /* 07C93C 8007BD3C 00591021 */ addu $v0, $v0, $t9 /* 07C940 8007BD40 94424438 */ lhu $v0, %lo(D_80164438)($v0) # 0x4438($v0) /* 07C944 8007BD44 284100A0 */ slti $at, $v0, 0xa0 /* 07C948 8007BD48 14200013 */ bnez $at, .L8007BD98 /* 07C94C 8007BD4C 284100AB */ slti $at, $v0, 0xab /* 07C950 8007BD50 10200011 */ beqz $at, .L8007BD98 /* 07C954 8007BD54 3C018019 */ lui $at, %hi(D_8018D01C) # $at, 0x8019 /* 07C958 8007BD58 C424D01C */ lwc1 $f4, %lo(D_8018D01C)($at) /* 07C95C 8007BD5C 3C01800F */ lui $at, %hi(D_800EEE08) /* 07C960 8007BD60 D428EE08 */ ldc1 $f8, %lo(D_800EEE08)($at) /* 07C964 8007BD64 460021A1 */ cvt.d.s $f6, $f4 /* 07C968 8007BD68 3C07C4CE */ lui $a3, (0xC4CE4000 >> 16) # lui $a3, 0xc4ce /* 07C96C 8007BD6C 46283282 */ mul.d $f10, $f6, $f8 /* 07C970 8007BD70 34E74000 */ ori $a3, (0xC4CE4000 & 0xFFFF) # ori $a3, $a3, 0x4000 /* 07C974 8007BD74 01C02025 */ move $a0, $t6 /* 07C978 8007BD78 3C06C348 */ lui $a2, 0xc348 /* 07C97C 8007BD7C 46205420 */ cvt.s.d $f16, $f10 /* 07C980 8007BD80 44058000 */ mfc1 $a1, $f16 /* 07C984 8007BD84 0C022DF5 */ jal func_8008B7D4 /* 07C988 8007BD88 00000000 */ nop /* 07C98C 8007BD8C 8FA4001C */ lw $a0, 0x1c($sp) /* 07C990 8007BD90 0C01C8E9 */ jal func_800723A4 /* 07C994 8007BD94 24050001 */ li $a1, 1 .L8007BD98: /* 07C998 8007BD98 8FBF0014 */ lw $ra, 0x14($sp) /* 07C99C 8007BD9C 27BD0020 */ addiu $sp, $sp, 0x20 /* 07C9A0 8007BDA0 03E00008 */ jr $ra /* 07C9A4 8007BDA4 00000000 */ nop glabel func_8007BDA8 /* 07C9A8 8007BDA8 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 07C9AC 8007BDAC AFBF0014 */ sw $ra, 0x14($sp) /* 07C9B0 8007BDB0 0C01EF41 */ jal func_8007BD04 /* 07C9B4 8007BDB4 00002025 */ move $a0, $zero /* 07C9B8 8007BDB8 3C048018 */ lui $a0, %hi(D_80183F28) # $a0, 0x8018 /* 07C9BC 8007BDBC 8C843F28 */ lw $a0, %lo(D_80183F28)($a0) /* 07C9C0 8007BDC0 0C01EEEF */ jal func_8007BBBC /* 07C9C4 8007BDC4 AFA40018 */ sw $a0, 0x18($sp) /* 07C9C8 8007BDC8 0C022FC6 */ jal func_8008BF18 /* 07C9CC 8007BDCC 8FA40018 */ lw $a0, 0x18($sp) /* 07C9D0 8007BDD0 8FBF0014 */ lw $ra, 0x14($sp) /* 07C9D4 8007BDD4 27BD0020 */ addiu $sp, $sp, 0x20 /* 07C9D8 8007BDD8 03E00008 */ jr $ra /* 07C9DC 8007BDDC 00000000 */ nop glabel func_8007BDE0 /* 07C9E0 8007BDE0 000470C0 */ sll $t6, $a0, 3 /* 07C9E4 8007BDE4 01C47023 */ subu $t6, $t6, $a0 /* 07C9E8 8007BDE8 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 07C9EC 8007BDEC 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 07C9F0 8007BDF0 000E7140 */ sll $t6, $t6, 5 /* 07C9F4 8007BDF4 01CF1021 */ addu $v0, $t6, $t7 /* 07C9F8 8007BDF8 3C190600 */ lui $t9, %hi(D_06007BA8) # $t9, 0x600 /* 07C9FC 8007BDFC 24180001 */ li $t8, 1 /* 07CA00 8007BE00 27397BA8 */ addiu $t9, %lo(D_06007BA8) # addiu $t9, $t9, 0x7ba8 /* 07CA04 8007BE04 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 07CA08 8007BE08 A05800D5 */ sb $t8, 0xd5($v0) /* 07CA0C 8007BE0C AC400054 */ sw $zero, 0x54($v0) /* 07CA10 8007BE10 AC590070 */ sw $t9, 0x70($v0) /* 07CA14 8007BE14 3C01800F */ lui $at, %hi(D_800EEE10) # $at, 0x800f /* 07CA18 8007BE18 C424EE10 */ lwc1 $f4, %lo(D_800EEE10)($at) /* 07CA1C 8007BE1C AFBF001C */ sw $ra, 0x1c($sp) /* 07CA20 8007BE20 AFB00018 */ sw $s0, 0x18($sp) /* 07CA24 8007BE24 00808025 */ move $s0, $a0 /* 07CA28 8007BE28 0C01C922 */ jal func_80072488 /* 07CA2C 8007BE2C E4440000 */ swc1 $f4, ($v0) /* 07CA30 8007BE30 3C02800E */ lui $v0, %hi(D_800E634C) # $v0, 0x800e /* 07CA34 8007BE34 2442634C */ addiu $v0, %lo(D_800E634C) # addiu $v0, $v0, 0x634c /* 07CA38 8007BE38 84480000 */ lh $t0, ($v0) /* 07CA3C 8007BE3C 84490002 */ lh $t1, 2($v0) /* 07CA40 8007BE40 844A0004 */ lh $t2, 4($v0) /* 07CA44 8007BE44 44883000 */ mtc1 $t0, $f6 /* 07CA48 8007BE48 44894000 */ mtc1 $t1, $f8 /* 07CA4C 8007BE4C 3C01800F */ lui $at, %hi(D_800EEE18) /* 07CA50 8007BE50 468031A0 */ cvt.s.w $f6, $f6 /* 07CA54 8007BE54 D430EE18 */ ldc1 $f16, %lo(D_800EEE18)($at) /* 07CA58 8007BE58 02002025 */ move $a0, $s0 /* 07CA5C 8007BE5C 468042A1 */ cvt.d.w $f10, $f8 /* 07CA60 8007BE60 44053000 */ mfc1 $a1, $f6 /* 07CA64 8007BE64 448A3000 */ mtc1 $t2, $f6 /* 07CA68 8007BE68 46305480 */ add.d $f18, $f10, $f16 /* 07CA6C 8007BE6C 468031A0 */ cvt.s.w $f6, $f6 /* 07CA70 8007BE70 46209120 */ cvt.s.d $f4, $f18 /* 07CA74 8007BE74 44073000 */ mfc1 $a3, $f6 /* 07CA78 8007BE78 44062000 */ mfc1 $a2, $f4 /* 07CA7C 8007BE7C 0C022DF5 */ jal func_8008B7D4 /* 07CA80 8007BE80 00000000 */ nop /* 07CA84 8007BE84 44800000 */ mtc1 $zero, $f0 /* 07CA88 8007BE88 02002025 */ move $a0, $s0 /* 07CA8C 8007BE8C 3C0641F0 */ lui $a2, 0x41f0 /* 07CA90 8007BE90 44050000 */ mfc1 $a1, $f0 /* 07CA94 8007BE94 44070000 */ mfc1 $a3, $f0 /* 07CA98 8007BE98 0C022E03 */ jal func_8008B80C /* 07CA9C 8007BE9C 00000000 */ nop /* 07CAA0 8007BEA0 02002025 */ move $a0, $s0 /* 07CAA4 8007BEA4 00002825 */ move $a1, $zero /* 07CAA8 8007BEA8 24063800 */ li $a2, 14336 /* 07CAAC 8007BEAC 0C022E22 */ jal func_8008B888 /* 07CAB0 8007BEB0 00003825 */ move $a3, $zero /* 07CAB4 8007BEB4 8FBF001C */ lw $ra, 0x1c($sp) /* 07CAB8 8007BEB8 8FB00018 */ lw $s0, 0x18($sp) /* 07CABC 8007BEBC 27BD0020 */ addiu $sp, $sp, 0x20 /* 07CAC0 8007BEC0 03E00008 */ jr $ra /* 07CAC4 8007BEC4 00000000 */ nop glabel func_8007BEC8 /* 07CAC8 8007BEC8 000470C0 */ sll $t6, $a0, 3 /* 07CACC 8007BECC 01C47023 */ subu $t6, $t6, $a0 /* 07CAD0 8007BED0 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 07CAD4 8007BED4 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 07CAD8 8007BED8 000E7140 */ sll $t6, $t6, 5 /* 07CADC 8007BEDC 01CF1021 */ addu $v0, $t6, $t7 /* 07CAE0 8007BEE0 945800A6 */ lhu $t8, 0xa6($v0) /* 07CAE4 8007BEE4 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 07CAE8 8007BEE8 AFBF0014 */ sw $ra, 0x14($sp) /* 07CAEC 8007BEEC 2F010006 */ sltiu $at, $t8, 6 /* 07CAF0 8007BEF0 1020002B */ beqz $at, .L8007BFA0 /* 07CAF4 8007BEF4 0018C080 */ sll $t8, $t8, 2 /* 07CAF8 8007BEF8 3C01800F */ lui $at, %hi(D_800EEE20) /* 07CAFC 8007BEFC 00380821 */ addu $at, $at, $t8 /* 07CB00 8007BF00 8C38EE20 */ lw $t8, %lo(D_800EEE20)($at) /* 07CB04 8007BF04 03000008 */ jr $t8 /* 07CB08 8007BF08 00000000 */ nop glabel L8007BF0C /* 07CB0C 8007BF0C 0C01EF78 */ jal func_8007BDE0 /* 07CB10 8007BF10 00000000 */ nop /* 07CB14 8007BF14 10000023 */ b .L8007BFA4 /* 07CB18 8007BF18 8FBF0014 */ lw $ra, 0x14($sp) glabel L8007BF1C /* 07CB1C 8007BF1C 2405003C */ li $a1, 60 /* 07CB20 8007BF20 0C01C9E3 */ jal func_8007278C /* 07CB24 8007BF24 AFA40018 */ sw $a0, 0x18($sp) /* 07CB28 8007BF28 1040001D */ beqz $v0, .L8007BFA0 /* 07CB2C 8007BF2C 8FA40018 */ lw $a0, 0x18($sp) /* 07CB30 8007BF30 24050010 */ li $a1, 16 /* 07CB34 8007BF34 0C01C870 */ jal func_800721C0 /* 07CB38 8007BF38 AFA40018 */ sw $a0, 0x18($sp) /* 07CB3C 8007BF3C 0C021B9C */ jal func_80086E70 /* 07CB40 8007BF40 8FA40018 */ lw $a0, 0x18($sp) /* 07CB44 8007BF44 10000017 */ b .L8007BFA4 /* 07CB48 8007BF48 8FBF0014 */ lw $ra, 0x14($sp) glabel L8007BF4C /* 07CB4C 8007BF4C 845900AE */ lh $t9, 0xae($v0) /* 07CB50 8007BF50 57200014 */ bnel $t9, $zero, .L8007BFA4 /* 07CB54 8007BF54 8FBF0014 */ lw $ra, 0x14($sp) /* 07CB58 8007BF58 0C01C922 */ jal func_80072488 /* 07CB5C 8007BF5C 00000000 */ nop /* 07CB60 8007BF60 10000010 */ b .L8007BFA4 /* 07CB64 8007BF64 8FBF0014 */ lw $ra, 0x14($sp) glabel L8007BF68 /* 07CB68 8007BF68 2405000A */ li $a1, 10 /* 07CB6C 8007BF6C 0C01C9E3 */ jal func_8007278C /* 07CB70 8007BF70 AFA40018 */ sw $a0, 0x18($sp) /* 07CB74 8007BF74 1040000A */ beqz $v0, .L8007BFA0 /* 07CB78 8007BF78 8FA40018 */ lw $a0, 0x18($sp) /* 07CB7C 8007BF7C 0C021C07 */ jal func_8008701C /* 07CB80 8007BF80 24050002 */ li $a1, 2 /* 07CB84 8007BF84 10000007 */ b .L8007BFA4 /* 07CB88 8007BF88 8FBF0014 */ lw $ra, 0x14($sp) glabel L8007BF8C /* 07CB8C 8007BF8C 844800AE */ lh $t0, 0xae($v0) /* 07CB90 8007BF90 55000004 */ bnel $t0, $zero, .L8007BFA4 /* 07CB94 8007BF94 8FBF0014 */ lw $ra, 0x14($sp) /* 07CB98 8007BF98 0C01C90A */ jal func_80072428 /* 07CB9C 8007BF9C 00000000 */ nop .L8007BFA0: glabel L8007BFA0 /* 07CBA0 8007BFA0 8FBF0014 */ lw $ra, 0x14($sp) .L8007BFA4: /* 07CBA4 8007BFA4 27BD0018 */ addiu $sp, $sp, 0x18 /* 07CBA8 8007BFA8 03E00008 */ jr $ra /* 07CBAC 8007BFAC 00000000 */ nop glabel func_8007BFB0 /* 07CBB0 8007BFB0 000470C0 */ sll $t6, $a0, 3 /* 07CBB4 8007BFB4 27BDFFD0 */ addiu $sp, $sp, -0x30 /* 07CBB8 8007BFB8 01C47023 */ subu $t6, $t6, $a0 /* 07CBBC 8007BFBC 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 07CBC0 8007BFC0 AFB00024 */ sw $s0, 0x24($sp) /* 07CBC4 8007BFC4 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 07CBC8 8007BFC8 000E7140 */ sll $t6, $t6, 5 /* 07CBCC 8007BFCC 01CF8021 */ addu $s0, $t6, $t7 /* 07CBD0 8007BFD0 860200AE */ lh $v0, 0xae($s0) /* 07CBD4 8007BFD4 AFB10028 */ sw $s1, 0x28($sp) /* 07CBD8 8007BFD8 00808825 */ move $s1, $a0 /* 07CBDC 8007BFDC 2C410009 */ sltiu $at, $v0, 9 /* 07CBE0 8007BFE0 1020008F */ beqz $at, .L8007C220 /* 07CBE4 8007BFE4 AFBF002C */ sw $ra, 0x2c($sp) /* 07CBE8 8007BFE8 0002C080 */ sll $t8, $v0, 2 /* 07CBEC 8007BFEC 3C01800F */ lui $at, %hi(D_800EEE38) # 0x800f /* 07CBF0 8007BFF0 00380821 */ addu $at, $at, $t8 /* 07CBF4 8007BFF4 8C38EE38 */ lw $t8, %lo(D_800EEE38)($at) # -0x11c8($at) /* 07CBF8 8007BFF8 03000008 */ jr $t8 /* 07CBFC 8007BFFC 00000000 */ nop glabel L8007C000 /* 07CC00 8007C000 C608002C */ lwc1 $f8, 0x2c($s0) /* 07CC04 8007C004 44803800 */ mtc1 $zero, $f7 /* 07CC08 8007C008 44803000 */ mtc1 $zero, $f6 /* 07CC0C 8007C00C 460042A1 */ cvt.d.s $f10, $f8 /* 07CC10 8007C010 3C01800F */ lui $at, %hi(D_800EEE5C) # $at, 0x800f /* 07CC14 8007C014 4626503E */ c.le.d $f10, $f6 /* 07CC18 8007C018 C424EE5C */ lwc1 $f4, %lo(D_800EEE5C)($at) /* 07CC1C 8007C01C 45000006 */ bc1f .L8007C038 /* 07CC20 8007C020 E604003C */ swc1 $f4, 0x3c($s0) /* 07CC24 8007C024 44800000 */ mtc1 $zero, $f0 /* 07CC28 8007C028 02202025 */ move $a0, $s1 /* 07CC2C 8007C02C E600002C */ swc1 $f0, 0x2c($s0) /* 07CC30 8007C030 0C021BD8 */ jal func_80086F60 /* 07CC34 8007C034 E600003C */ swc1 $f0, 0x3c($s0) .L8007C038: /* 07CC38 8007C038 10000079 */ b .L8007C220 /* 07CC3C 8007C03C 860200AE */ lh $v0, 0xae($s0) glabel L8007C040 /* 07CC40 8007C040 02202025 */ move $a0, $s1 /* 07CC44 8007C044 0C021C6B */ jal func_800871AC /* 07CC48 8007C048 24050014 */ li $a1, 20 /* 07CC4C 8007C04C 10400002 */ beqz $v0, .L8007C058 /* 07CC50 8007C050 24190040 */ li $t9, 64 /* 07CC54 8007C054 A6190092 */ sh $t9, 0x92($s0) .L8007C058: /* 07CC58 8007C058 10000071 */ b .L8007C220 /* 07CC5C 8007C05C 860200AE */ lh $v0, 0xae($s0) glabel L8007C060 /* 07CC60 8007C060 C6100000 */ lwc1 $f16, ($s0) /* 07CC64 8007C064 3C01800F */ lui $at, %hi(D_800EEE60) /* 07CC68 8007C068 D424EE60 */ ldc1 $f4, %lo(D_800EEE60)($at) /* 07CC6C 8007C06C 460084A1 */ cvt.d.s $f18, $f16 /* 07CC70 8007C070 960800BE */ lhu $t0, 0xbe($s0) /* 07CC74 8007C074 46249201 */ sub.d $f8, $f18, $f4 /* 07CC78 8007C078 260400BE */ addiu $a0, $s0, 0xbe /* 07CC7C 8007C07C 29010A01 */ slti $at, $t0, 0xa01 /* 07CC80 8007C080 24050C00 */ li $a1, 3072 /* 07CC84 8007C084 462041A0 */ cvt.s.d $f6, $f8 /* 07CC88 8007C088 14200004 */ bnez $at, .L8007C09C /* 07CC8C 8007C08C E6060000 */ swc1 $f6, ($s0) /* 07CC90 8007C090 86090092 */ lh $t1, 0x92($s0) /* 07CC94 8007C094 252AFFFC */ addiu $t2, $t1, -4 /* 07CC98 8007C098 A60A0092 */ sh $t2, 0x92($s0) .L8007C09C: /* 07CC9C 8007C09C 0C01040A */ jal func_80041028 /* 07CCA0 8007C0A0 96060092 */ lhu $a2, 0x92($s0) /* 07CCA4 8007C0A4 10400003 */ beqz $v0, .L8007C0B4 /* 07CCA8 8007C0A8 00000000 */ nop /* 07CCAC 8007C0AC 0C021BF5 */ jal func_80086FD4 /* 07CCB0 8007C0B0 02202025 */ move $a0, $s1 .L8007C0B4: /* 07CCB4 8007C0B4 1000005A */ b .L8007C220 /* 07CCB8 8007C0B8 860200AE */ lh $v0, 0xae($s0) glabel L8007C0BC /* 07CCBC 8007C0BC C60A0000 */ lwc1 $f10, ($s0) /* 07CCC0 8007C0C0 3C01800F */ lui $at, %hi(D_800EEE68) /* 07CCC4 8007C0C4 D432EE68 */ ldc1 $f18, %lo(D_800EEE68)($at) /* 07CCC8 8007C0C8 46005421 */ cvt.d.s $f16, $f10 /* 07CCCC 8007C0CC 3C01800F */ lui $at, %hi(D_800EEE70) # $at, 0x800f /* 07CCD0 8007C0D0 46328101 */ sub.d $f4, $f16, $f18 /* 07CCD4 8007C0D4 02202025 */ move $a0, $s1 /* 07CCD8 8007C0D8 46202220 */ cvt.s.d $f8, $f4 /* 07CCDC 8007C0DC E6080000 */ swc1 $f8, ($s0) /* 07CCE0 8007C0E0 C426EE70 */ lwc1 $f6, %lo(D_800EEE70)($at) /* 07CCE4 8007C0E4 0C021BF5 */ jal func_80086FD4 /* 07CCE8 8007C0E8 E6060034 */ swc1 $f6, 0x34($s0) /* 07CCEC 8007C0EC A6000092 */ sh $zero, 0x92($s0) /* 07CCF0 8007C0F0 1000004B */ b .L8007C220 /* 07CCF4 8007C0F4 860200AE */ lh $v0, 0xae($s0) glabel L8007C0F8 /* 07CCF8 8007C0F8 C6020034 */ lwc1 $f2, 0x34($s0) /* 07CCFC 8007C0FC 3C01800F */ lui $at, %hi(D_800EEE78) /* 07CD00 8007C100 D42AEE78 */ ldc1 $f10, %lo(D_800EEE78)($at) /* 07CD04 8007C104 46001021 */ cvt.d.s $f0, $f2 /* 07CD08 8007C108 3C01800F */ lui $at, %hi(D_800EEE80) /* 07CD0C 8007C10C 462A003E */ c.le.d $f0, $f10 /* 07CD10 8007C110 00000000 */ nop /* 07CD14 8007C114 45020007 */ bc1fl .L8007C134 /* 07CD18 8007C118 C6080000 */ lwc1 $f8, ($s0) /* 07CD1C 8007C11C D430EE80 */ ldc1 $f16, %lo(D_800EEE80)($at) /* 07CD20 8007C120 46300480 */ add.d $f18, $f0, $f16 /* 07CD24 8007C124 46209120 */ cvt.s.d $f4, $f18 /* 07CD28 8007C128 E6040034 */ swc1 $f4, 0x34($s0) /* 07CD2C 8007C12C C6020034 */ lwc1 $f2, 0x34($s0) /* 07CD30 8007C130 C6080000 */ lwc1 $f8, ($s0) .L8007C134: /* 07CD34 8007C134 26040092 */ addiu $a0, $s0, 0x92 /* 07CD38 8007C138 24050100 */ li $a1, 256 /* 07CD3C 8007C13C 46024180 */ add.s $f6, $f8, $f2 /* 07CD40 8007C140 24060010 */ li $a2, 16 /* 07CD44 8007C144 0C0103F6 */ jal func_80040FD8 /* 07CD48 8007C148 E6060000 */ swc1 $f6, ($s0) /* 07CD4C 8007C14C 960B00BE */ lhu $t3, 0xbe($s0) /* 07CD50 8007C150 860C0092 */ lh $t4, 0x92($s0) /* 07CD54 8007C154 02202025 */ move $a0, $s1 /* 07CD58 8007C158 24050035 */ li $a1, 53 /* 07CD5C 8007C15C 016C6823 */ subu $t5, $t3, $t4 /* 07CD60 8007C160 0C021C18 */ jal func_80087060 /* 07CD64 8007C164 A60D00BE */ sh $t5, 0xbe($s0) /* 07CD68 8007C168 10400003 */ beqz $v0, .L8007C178 /* 07CD6C 8007C16C 00000000 */ nop /* 07CD70 8007C170 0C021BF5 */ jal func_80086FD4 /* 07CD74 8007C174 02202025 */ move $a0, $s1 .L8007C178: /* 07CD78 8007C178 10000029 */ b .L8007C220 /* 07CD7C 8007C17C 860200AE */ lh $v0, 0xae($s0) glabel L8007C180 /* 07CD80 8007C180 02202025 */ move $a0, $s1 /* 07CD84 8007C184 0C021C18 */ jal func_80087060 /* 07CD88 8007C188 2405000F */ li $a1, 15 /* 07CD8C 8007C18C 10400006 */ beqz $v0, .L8007C1A8 /* 07CD90 8007C190 00000000 */ nop /* 07CD94 8007C194 0C021BF5 */ jal func_80086FD4 /* 07CD98 8007C198 02202025 */ move $a0, $s1 /* 07CD9C 8007C19C 240E0001 */ li $t6, 1 /* 07CDA0 8007C1A0 3C018016 */ lui $at, %hi(D_801658CE) # $at, 0x8016 /* 07CDA4 8007C1A4 A02E58CE */ sb $t6, %lo(D_801658CE)($at) .L8007C1A8: /* 07CDA8 8007C1A8 1000001D */ b .L8007C220 /* 07CDAC 8007C1AC 860200AE */ lh $v0, 0xae($s0) glabel L8007C1B0 /* 07CDB0 8007C1B0 C60A0000 */ lwc1 $f10, ($s0) /* 07CDB4 8007C1B4 3C01800F */ lui $at, %hi(D_800EEE88) /* 07CDB8 8007C1B8 D432EE88 */ ldc1 $f18, %lo(D_800EEE88)($at) /* 07CDBC 8007C1BC 46005421 */ cvt.d.s $f16, $f10 /* 07CDC0 8007C1C0 3C01800F */ lui $at, %hi(D_800EEE90) /* 07CDC4 8007C1C4 46328101 */ sub.d $f4, $f16, $f18 /* 07CDC8 8007C1C8 02202025 */ move $a0, $s1 /* 07CDCC 8007C1CC 46202220 */ cvt.s.d $f8, $f4 /* 07CDD0 8007C1D0 E6080000 */ swc1 $f8, ($s0) /* 07CDD4 8007C1D4 C60A0000 */ lwc1 $f10, ($s0) /* 07CDD8 8007C1D8 D426EE90 */ ldc1 $f6, %lo(D_800EEE90)($at) /* 07CDDC 8007C1DC 46005421 */ cvt.d.s $f16, $f10 /* 07CDE0 8007C1E0 4626803E */ c.le.d $f16, $f6 /* 07CDE4 8007C1E4 00000000 */ nop /* 07CDE8 8007C1E8 45000008 */ bc1f .L8007C20C /* 07CDEC 8007C1EC 00000000 */ nop /* 07CDF0 8007C1F0 0C01C87A */ jal func_800721E8 /* 07CDF4 8007C1F4 24050010 */ li $a1, 16 /* 07CDF8 8007C1F8 3C01800F */ lui $at, %hi(D_800EEE98) # $at, 0x800f /* 07CDFC 8007C1FC C432EE98 */ lwc1 $f18, %lo(D_800EEE98)($at) /* 07CE00 8007C200 02202025 */ move $a0, $s1 /* 07CE04 8007C204 0C021BF5 */ jal func_80086FD4 /* 07CE08 8007C208 E6120000 */ swc1 $f18, ($s0) .L8007C20C: /* 07CE0C 8007C20C 10000004 */ b .L8007C220 /* 07CE10 8007C210 860200AE */ lh $v0, 0xae($s0) glabel L8007C214 /* 07CE14 8007C214 0C021BD8 */ jal func_80086F60 /* 07CE18 8007C218 02202025 */ move $a0, $s1 /* 07CE1C 8007C21C 860200AE */ lh $v0, 0xae($s0) .L8007C220: glabel L8007C220 /* 07CE20 8007C220 2841000A */ slti $at, $v0, 0xa /* 07CE24 8007C224 1020000D */ beqz $at, .L8007C25C /* 07CE28 8007C228 02202025 */ move $a0, $s1 /* 07CE2C 8007C22C 3C01800F */ lui $at, %hi(D_800EEE9C) # $at, 0x800f /* 07CE30 8007C230 C424EE9C */ lwc1 $f4, %lo(D_800EEE9C)($at) /* 07CE34 8007C234 3C063E4C */ lui $a2, (0x3E4CCCCD >> 16) # lui $a2, 0x3e4c /* 07CE38 8007C238 3C073E57 */ lui $a3, (0x3E570A3D >> 16) # lui $a3, 0x3e57 /* 07CE3C 8007C23C 240FFFFF */ li $t7, -1 /* 07CE40 8007C240 AFAF0018 */ sw $t7, 0x18($sp) /* 07CE44 8007C244 34E70A3D */ ori $a3, (0x3E570A3D & 0xFFFF) # ori $a3, $a3, 0xa3d /* 07CE48 8007C248 34C6CCCD */ ori $a2, (0x3E4CCCCD & 0xFFFF) # ori $a2, $a2, 0xcccd /* 07CE4C 8007C24C 02002825 */ move $a1, $s0 /* 07CE50 8007C250 AFA00014 */ sw $zero, 0x14($sp) /* 07CE54 8007C254 0C01D0D1 */ jal func_80074344 /* 07CE58 8007C258 E7A40010 */ swc1 $f4, 0x10($sp) .L8007C25C: /* 07CE5C 8007C25C 0C021DF1 */ jal func_800877C4 /* 07CE60 8007C260 02202025 */ move $a0, $s1 /* 07CE64 8007C264 0C022FC6 */ jal func_8008BF18 /* 07CE68 8007C268 02202025 */ move $a0, $s1 /* 07CE6C 8007C26C 8FBF002C */ lw $ra, 0x2c($sp) /* 07CE70 8007C270 8FB00024 */ lw $s0, 0x24($sp) /* 07CE74 8007C274 8FB10028 */ lw $s1, 0x28($sp) /* 07CE78 8007C278 03E00008 */ jr $ra /* 07CE7C 8007C27C 27BD0030 */ addiu $sp, $sp, 0x30 glabel func_8007C280 /* 07CE80 8007C280 3C028016 */ lui $v0, %hi(D_801658BC) # $v0, 0x8016 /* 07CE84 8007C284 244258BC */ addiu $v0, %lo(D_801658BC) # addiu $v0, $v0, 0x58bc /* 07CE88 8007C288 804E0000 */ lb $t6, ($v0) /* 07CE8C 8007C28C 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 07CE90 8007C290 3C048018 */ lui $a0, %hi(D_80183F28) # $a0, 0x8018 /* 07CE94 8007C294 24010001 */ li $at, 1 /* 07CE98 8007C298 AFBF0014 */ sw $ra, 0x14($sp) /* 07CE9C 8007C29C 15C10006 */ bne $t6, $at, .L8007C2B8 /* 07CEA0 8007C2A0 8C843F28 */ lw $a0, %lo(D_80183F28)($a0) /* 07CEA4 8007C2A4 A0400000 */ sb $zero, ($v0) /* 07CEA8 8007C2A8 00002825 */ move $a1, $zero /* 07CEAC 8007C2AC 0C01C8E9 */ jal func_800723A4 /* 07CEB0 8007C2B0 AFA4001C */ sw $a0, 0x1c($sp) /* 07CEB4 8007C2B4 8FA4001C */ lw $a0, 0x1c($sp) .L8007C2B8: /* 07CEB8 8007C2B8 000478C0 */ sll $t7, $a0, 3 /* 07CEBC 8007C2BC 01E47823 */ subu $t7, $t7, $a0 /* 07CEC0 8007C2C0 000F7940 */ sll $t7, $t7, 5 /* 07CEC4 8007C2C4 3C188016 */ lui $t8, %hi(D_80165CBE) # 0x8016 /* 07CEC8 8007C2C8 030FC021 */ addu $t8, $t8, $t7 /* 07CECC 8007C2CC 87185CBE */ lh $t8, %lo(D_80165CBE)($t8) # 0x5cbe($t8) /* 07CED0 8007C2D0 53000006 */ beql $t8, $zero, .L8007C2EC /* 07CED4 8007C2D4 8FBF0014 */ lw $ra, 0x14($sp) /* 07CED8 8007C2D8 0C01EFB2 */ jal func_8007BEC8 /* 07CEDC 8007C2DC AFA4001C */ sw $a0, 0x1c($sp) /* 07CEE0 8007C2E0 0C01EFEC */ jal func_8007BFB0 /* 07CEE4 8007C2E4 8FA4001C */ lw $a0, 0x1c($sp) /* 07CEE8 8007C2E8 8FBF0014 */ lw $ra, 0x14($sp) .L8007C2EC: /* 07CEEC 8007C2EC 27BD0020 */ addiu $sp, $sp, 0x20 /* 07CEF0 8007C2F0 03E00008 */ jr $ra /* 07CEF4 8007C2F4 00000000 */ nop glabel func_8007C2F8 /* 07CEF8 8007C2F8 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 07CEFC 8007C2FC 10800006 */ beqz $a0, .L8007C318 /* 07CF00 8007C300 AFBF0014 */ sw $ra, 0x14($sp) /* 07CF04 8007C304 24010001 */ li $at, 1 /* 07CF08 8007C308 10810007 */ beq $a0, $at, .L8007C328 /* 07CF0C 8007C30C 00000000 */ nop /* 07CF10 8007C310 10000008 */ b .L8007C334 /* 07CF14 8007C314 8FBF0014 */ lw $ra, 0x14($sp) .L8007C318: /* 07CF18 8007C318 0C01EF6A */ jal func_8007BDA8 /* 07CF1C 8007C31C 00000000 */ nop /* 07CF20 8007C320 10000004 */ b .L8007C334 /* 07CF24 8007C324 8FBF0014 */ lw $ra, 0x14($sp) .L8007C328: /* 07CF28 8007C328 0C01F0A0 */ jal func_8007C280 /* 07CF2C 8007C32C 00000000 */ nop /* 07CF30 8007C330 8FBF0014 */ lw $ra, 0x14($sp) .L8007C334: /* 07CF34 8007C334 27BD0018 */ addiu $sp, $sp, 0x18 /* 07CF38 8007C338 03E00008 */ jr $ra /* 07CF3C 8007C33C 00000000 */ nop glabel func_8007C340 /* 07CF40 8007C340 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 07CF44 8007C344 AFBF0014 */ sw $ra, 0x14($sp) /* 07CF48 8007C348 0C01F300 */ jal func_8007CC00 /* 07CF4C 8007C34C 00000000 */ nop /* 07CF50 8007C350 8FBF0014 */ lw $ra, 0x14($sp) /* 07CF54 8007C354 27BD0018 */ addiu $sp, $sp, 0x18 /* 07CF58 8007C358 03E00008 */ jr $ra /* 07CF5C 8007C35C 00000000 */ nop glabel func_8007C360 /* 07CF60 8007C360 000470C0 */ sll $t6, $a0, 3 /* 07CF64 8007C364 01C47023 */ subu $t6, $t6, $a0 /* 07CF68 8007C368 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 07CF6C 8007C36C 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 07CF70 8007C370 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 07CF74 8007C374 000E7140 */ sll $t6, $t6, 5 /* 07CF78 8007C378 AFBF0014 */ sw $ra, 0x14($sp) /* 07CF7C 8007C37C 01CF3021 */ addu $a2, $t6, $t7 /* 07CF80 8007C380 94A20026 */ lhu $v0, 0x26($a1) /* 07CF84 8007C384 94D800C0 */ lhu $t8, 0xc0($a2) /* 07CF88 8007C388 34018000 */ li $at, 32768 /* 07CF8C 8007C38C 24050080 */ li $a1, 128 /* 07CF90 8007C390 03021823 */ subu $v1, $t8, $v0 /* 07CF94 8007C394 00611821 */ addu $v1, $v1, $at /* 07CF98 8007C398 3079FFFF */ andi $t9, $v1, 0xffff /* 07CF9C 8007C39C 001940C0 */ sll $t0, $t9, 3 /* 07CFA0 8007C3A0 01194021 */ addu $t0, $t0, $t9 /* 07CFA4 8007C3A4 00084080 */ sll $t0, $t0, 2 /* 07CFA8 8007C3A8 01001825 */ move $v1, $t0 /* 07CFAC 8007C3AC 04610004 */ bgez $v1, .L8007C3C0 /* 07CFB0 8007C3B0 00034C03 */ sra $t1, $v1, 0x10 /* 07CFB4 8007C3B4 3401FFFF */ li $at, 65535 /* 07CFB8 8007C3B8 00230821 */ addu $at, $at, $v1 /* 07CFBC 8007C3BC 00014C03 */ sra $t1, $at, 0x10 .L8007C3C0: /* 07CFC0 8007C3C0 312AFFFF */ andi $t2, $t1, 0xffff /* 07CFC4 8007C3C4 29410013 */ slti $at, $t2, 0x13 /* 07CFC8 8007C3C8 10200009 */ beqz $at, .L8007C3F0 /* 07CFCC 8007C3CC 01403825 */ move $a3, $t2 /* 07CFD0 8007C3D0 24050080 */ li $a1, 128 /* 07CFD4 8007C3D4 AFA60020 */ sw $a2, 0x20($sp) /* 07CFD8 8007C3D8 0C01C87A */ jal func_800721E8 /* 07CFDC 8007C3DC AFAA001C */ sw $t2, 0x1c($sp) /* 07CFE0 8007C3E0 8FA60020 */ lw $a2, 0x20($sp) /* 07CFE4 8007C3E4 8FA7001C */ lw $a3, 0x1c($sp) /* 07CFE8 8007C3E8 10000009 */ b .L8007C410 /* 07CFEC 8007C3EC A0C700D2 */ sb $a3, 0xd2($a2) .L8007C3F0: /* 07CFF0 8007C3F0 AFA60020 */ sw $a2, 0x20($sp) /* 07CFF4 8007C3F4 0C01C870 */ jal func_800721C0 /* 07CFF8 8007C3F8 AFA7001C */ sw $a3, 0x1c($sp) /* 07CFFC 8007C3FC 8FA7001C */ lw $a3, 0x1c($sp) /* 07D000 8007C400 8FA60020 */ lw $a2, 0x20($sp) /* 07D004 8007C404 240B0024 */ li $t3, 36 /* 07D008 8007C408 01676023 */ subu $t4, $t3, $a3 /* 07D00C 8007C40C A0CC00D2 */ sb $t4, 0xd2($a2) .L8007C410: /* 07D010 8007C410 8FBF0014 */ lw $ra, 0x14($sp) /* 07D014 8007C414 27BD0028 */ addiu $sp, $sp, 0x28 /* 07D018 8007C418 03E00008 */ jr $ra /* 07D01C 8007C41C 00000000 */ nop glabel func_8007C420 /* 07D020 8007C420 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 07D024 8007C424 000478C0 */ sll $t7, $a0, 3 /* 07D028 8007C428 01E47823 */ subu $t7, $t7, $a0 /* 07D02C 8007C42C 3C188016 */ lui $t8, %hi(D_80165C18) # $t8, 0x8016 /* 07D030 8007C430 27185C18 */ addiu $t8, %lo(D_80165C18) # addiu $t8, $t8, 0x5c18 /* 07D034 8007C434 000F7940 */ sll $t7, $t7, 5 /* 07D038 8007C438 AFBF0014 */ sw $ra, 0x14($sp) /* 07D03C 8007C43C AFA40028 */ sw $a0, 0x28($sp) /* 07D040 8007C440 AFA60030 */ sw $a2, 0x30($sp) /* 07D044 8007C444 01F81821 */ addu $v1, $t7, $t8 /* 07D048 8007C448 C4660004 */ lwc1 $f6, 4($v1) /* 07D04C 8007C44C C4A40014 */ lwc1 $f4, 0x14($a1) /* 07D050 8007C450 C46A000C */ lwc1 $f10, 0xc($v1) /* 07D054 8007C454 C4A8001C */ lwc1 $f8, 0x1c($a1) /* 07D058 8007C458 AFA30018 */ sw $v1, 0x18($sp) /* 07D05C 8007C45C 46062301 */ sub.s $f12, $f4, $f6 /* 07D060 8007C460 0C0ADE0C */ jal func_802B7830 /* 07D064 8007C464 460A4381 */ sub.s $f14, $f8, $f10 /* 07D068 8007C468 8FA30018 */ lw $v1, 0x18($sp) /* 07D06C 8007C46C 3045FFFF */ andi $a1, $v0, 0xffff /* 07D070 8007C470 0C0105ED */ jal func_800417B4 /* 07D074 8007C474 946400C0 */ lhu $a0, 0xc0($v1) /* 07D078 8007C478 8FA30018 */ lw $v1, 0x18($sp) /* 07D07C 8007C47C 8FA40028 */ lw $a0, 0x28($sp) /* 07D080 8007C480 8FA50030 */ lw $a1, 0x30($sp) /* 07D084 8007C484 0C01F0D8 */ jal func_8007C360 /* 07D088 8007C488 A46200C0 */ sh $v0, 0xc0($v1) /* 07D08C 8007C48C 8FBF0014 */ lw $ra, 0x14($sp) /* 07D090 8007C490 27BD0028 */ addiu $sp, $sp, 0x28 /* 07D094 8007C494 03E00008 */ jr $ra /* 07D098 8007C498 00000000 */ nop /* 07D09C 8007C49C 03E00008 */ jr $ra /* 07D0A0 8007C4A0 00000000 */ nop glabel func_8007C4A4 /* 07D0A4 8007C4A4 000470C0 */ sll $t6, $a0, 3 /* 07D0A8 8007C4A8 01C47023 */ subu $t6, $t6, $a0 /* 07D0AC 8007C4AC 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 07D0B0 8007C4B0 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 07D0B4 8007C4B4 000E7140 */ sll $t6, $t6, 5 /* 07D0B8 8007C4B8 01CF1821 */ addu $v1, $t6, $t7 /* 07D0BC 8007C4BC 946200C0 */ lhu $v0, 0xc0($v1) /* 07D0C0 8007C4C0 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 07D0C4 8007C4C4 AFBF0014 */ sw $ra, 0x14($sp) /* 07D0C8 8007C4C8 0002C0C0 */ sll $t8, $v0, 3 /* 07D0CC 8007C4CC 0302C021 */ addu $t8, $t8, $v0 /* 07D0D0 8007C4D0 0018C080 */ sll $t8, $t8, 2 /* 07D0D4 8007C4D4 03001025 */ move $v0, $t8 /* 07D0D8 8007C4D8 04410004 */ bgez $v0, .L8007C4EC /* 07D0DC 8007C4DC 0002CC03 */ sra $t9, $v0, 0x10 /* 07D0E0 8007C4E0 3401FFFF */ li $at, 65535 /* 07D0E4 8007C4E4 00220821 */ addu $at, $at, $v0 /* 07D0E8 8007C4E8 0001CC03 */ sra $t9, $at, 0x10 .L8007C4EC: /* 07D0EC 8007C4EC 3328FFFF */ andi $t0, $t9, 0xffff /* 07D0F0 8007C4F0 29010013 */ slti $at, $t0, 0x13 /* 07D0F4 8007C4F4 10200009 */ beqz $at, .L8007C51C /* 07D0F8 8007C4F8 01003025 */ move $a2, $t0 /* 07D0FC 8007C4FC 24050080 */ li $a1, 128 /* 07D100 8007C500 AFA30020 */ sw $v1, 0x20($sp) /* 07D104 8007C504 0C01C87A */ jal func_800721E8 /* 07D108 8007C508 AFA8001C */ sw $t0, 0x1c($sp) /* 07D10C 8007C50C 8FA30020 */ lw $v1, 0x20($sp) /* 07D110 8007C510 8FA6001C */ lw $a2, 0x1c($sp) /* 07D114 8007C514 1000000A */ b .L8007C540 /* 07D118 8007C518 A06600D2 */ sb $a2, 0xd2($v1) .L8007C51C: /* 07D11C 8007C51C 24050080 */ li $a1, 128 /* 07D120 8007C520 AFA30020 */ sw $v1, 0x20($sp) /* 07D124 8007C524 0C01C870 */ jal func_800721C0 /* 07D128 8007C528 AFA6001C */ sw $a2, 0x1c($sp) /* 07D12C 8007C52C 8FA6001C */ lw $a2, 0x1c($sp) /* 07D130 8007C530 8FA30020 */ lw $v1, 0x20($sp) /* 07D134 8007C534 24090024 */ li $t1, 36 /* 07D138 8007C538 01265023 */ subu $t2, $t1, $a2 /* 07D13C 8007C53C A06A00D2 */ sb $t2, 0xd2($v1) .L8007C540: /* 07D140 8007C540 8FBF0014 */ lw $ra, 0x14($sp) /* 07D144 8007C544 27BD0028 */ addiu $sp, $sp, 0x28 /* 07D148 8007C548 03E00008 */ jr $ra /* 07D14C 8007C54C 00000000 */ nop glabel func_8007C550 /* 07D150 8007C550 000478C0 */ sll $t7, $a0, 3 /* 07D154 8007C554 01E47823 */ subu $t7, $t7, $a0 /* 07D158 8007C558 3C188016 */ lui $t8, %hi(D_80165C18) # $t8, 0x8016 /* 07D15C 8007C55C 27185C18 */ addiu $t8, %lo(D_80165C18) # addiu $t8, $t8, 0x5c18 /* 07D160 8007C560 000F7940 */ sll $t7, $t7, 5 /* 07D164 8007C564 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 07D168 8007C568 01F81821 */ addu $v1, $t7, $t8 /* 07D16C 8007C56C AFBF0014 */ sw $ra, 0x14($sp) /* 07D170 8007C570 AFA40020 */ sw $a0, 0x20($sp) /* 07D174 8007C574 C46C0038 */ lwc1 $f12, 0x38($v1) /* 07D178 8007C578 C46E0040 */ lwc1 $f14, 0x40($v1) /* 07D17C 8007C57C 0C0ADE0C */ jal func_802B7830 /* 07D180 8007C580 AFA30018 */ sw $v1, 0x18($sp) /* 07D184 8007C584 8FA30018 */ lw $v1, 0x18($sp) /* 07D188 8007C588 3045FFFF */ andi $a1, $v0, 0xffff /* 07D18C 8007C58C 0C0105ED */ jal func_800417B4 /* 07D190 8007C590 946400C0 */ lhu $a0, 0xc0($v1) /* 07D194 8007C594 8FA30018 */ lw $v1, 0x18($sp) /* 07D198 8007C598 8FA40020 */ lw $a0, 0x20($sp) /* 07D19C 8007C59C 0C01F129 */ jal func_8007C4A4 /* 07D1A0 8007C5A0 A46200C0 */ sh $v0, 0xc0($v1) /* 07D1A4 8007C5A4 8FBF0014 */ lw $ra, 0x14($sp) /* 07D1A8 8007C5A8 27BD0020 */ addiu $sp, $sp, 0x20 /* 07D1AC 8007C5AC 03E00008 */ jr $ra /* 07D1B0 8007C5B0 00000000 */ nop glabel func_8007C5B4 /* 07D1B4 8007C5B4 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 07D1B8 8007C5B8 AFBF0024 */ sw $ra, 0x24($sp) /* 07D1BC 8007C5BC AFB10020 */ sw $s1, 0x20($sp) /* 07D1C0 8007C5C0 3C050600 */ lui $a1, %hi(D_06005C80) # $a1, 0x600 /* 07D1C4 8007C5C4 3C068016 */ lui $a2, %hi(D_80165880) # $a2, 0x8016 /* 07D1C8 8007C5C8 240E0028 */ li $t6, 40 /* 07D1CC 8007C5CC 00808825 */ move $s1, $a0 /* 07D1D0 8007C5D0 AFB0001C */ sw $s0, 0x1c($sp) /* 07D1D4 8007C5D4 AFAE0010 */ sw $t6, 0x10($sp) /* 07D1D8 8007C5D8 8CC65880 */ lw $a2, %lo(D_80165880)($a2) /* 07D1DC 8007C5DC 24A55C80 */ addiu $a1, %lo(D_06005C80) # addiu $a1, $a1, 0x5c80 /* 07D1E0 8007C5E0 0C01CD11 */ jal func_80073444 /* 07D1E4 8007C5E4 24070030 */ li $a3, 48 /* 07D1E8 8007C5E8 001178C0 */ sll $t7, $s1, 3 /* 07D1EC 8007C5EC 44800000 */ mtc1 $zero, $f0 /* 07D1F0 8007C5F0 01F17823 */ subu $t7, $t7, $s1 /* 07D1F4 8007C5F4 3C188016 */ lui $t8, %hi(D_80165C18) # $t8, 0x8016 /* 07D1F8 8007C5F8 27185C18 */ addiu $t8, %lo(D_80165C18) # addiu $t8, $t8, 0x5c18 /* 07D1FC 8007C5FC 000F7940 */ sll $t7, $t7, 5 /* 07D200 8007C600 01F88021 */ addu $s0, $t7, $t8 /* 07D204 8007C604 02202025 */ move $a0, $s1 /* 07D208 8007C608 24050020 */ li $a1, 32 /* 07D20C 8007C60C E6000004 */ swc1 $f0, 4($s0) /* 07D210 8007C610 E6000008 */ swc1 $f0, 8($s0) /* 07D214 8007C614 0C01C870 */ jal func_800721C0 /* 07D218 8007C618 E600000C */ swc1 $f0, 0xc($s0) /* 07D21C 8007C61C 0C01C922 */ jal func_80072488 /* 07D220 8007C620 02202025 */ move $a0, $s1 /* 07D224 8007C624 A60000A0 */ sh $zero, 0xa0($s0) /* 07D228 8007C628 0C01CE11 */ jal func_80073844 /* 07D22C 8007C62C 02202025 */ move $a0, $s1 /* 07D230 8007C630 3C01800F */ lui $at, %hi(D_800EEEA0) # $at, 0x800f /* 07D234 8007C634 C424EEA0 */ lwc1 $f4, %lo(D_800EEEA0)($at) /* 07D238 8007C638 3C013F80 */ li $at, 0x3F800000 # 1.000000 /* 07D23C 8007C63C 44813000 */ mtc1 $at, $f6 /* 07D240 8007C640 02202025 */ move $a0, $s1 /* 07D244 8007C644 E6040000 */ swc1 $f4, ($s0) /* 07D248 8007C648 0C01CFF5 */ jal func_80073FD4 /* 07D24C 8007C64C E6060034 */ swc1 $f6, 0x34($s0) /* 07D250 8007C650 0C021BBC */ jal func_80086EF0 /* 07D254 8007C654 02202025 */ move $a0, $s1 /* 07D258 8007C658 02202025 */ move $a0, $s1 /* 07D25C 8007C65C 0C01C870 */ jal func_800721C0 /* 07D260 8007C660 24050800 */ li $a1, 2048 /* 07D264 8007C664 8FBF0024 */ lw $ra, 0x24($sp) /* 07D268 8007C668 34198000 */ li $t9, 32768 /* 07D26C 8007C66C A60000B2 */ sh $zero, 0xb2($s0) /* 07D270 8007C670 A61900B6 */ sh $t9, 0xb6($s0) /* 07D274 8007C674 8FB0001C */ lw $s0, 0x1c($sp) /* 07D278 8007C678 8FB10020 */ lw $s1, 0x20($sp) /* 07D27C 8007C67C 03E00008 */ jr $ra /* 07D280 8007C680 27BD0028 */ addiu $sp, $sp, 0x28 glabel func_8007C684 /* 07D284 8007C684 000470C0 */ sll $t6, $a0, 3 /* 07D288 8007C688 01C47023 */ subu $t6, $t6, $a0 /* 07D28C 8007C68C 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 07D290 8007C690 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 07D294 8007C694 000E7140 */ sll $t6, $t6, 5 /* 07D298 8007C698 01CF1021 */ addu $v0, $t6, $t7 /* 07D29C 8007C69C 844500A6 */ lh $a1, 0xa6($v0) /* 07D2A0 8007C6A0 27BDFFC8 */ addiu $sp, $sp, -0x38 /* 07D2A4 8007C6A4 AFB00028 */ sw $s0, 0x28($sp) /* 07D2A8 8007C6A8 00808025 */ move $s0, $a0 /* 07D2AC 8007C6AC AFBF002C */ sw $ra, 0x2c($sp) /* 07D2B0 8007C6B0 10A00008 */ beqz $a1, .L8007C6D4 /* 07D2B4 8007C6B4 00A01825 */ move $v1, $a1 /* 07D2B8 8007C6B8 24010001 */ li $at, 1 /* 07D2BC 8007C6BC 54610006 */ bnel $v1, $at, .L8007C6D8 /* 07D2C0 8007C6C0 28A10002 */ slti $at, $a1, 2 /* 07D2C4 8007C6C4 0C01F16D */ jal func_8007C5B4 /* 07D2C8 8007C6C8 AFA20030 */ sw $v0, 0x30($sp) /* 07D2CC 8007C6CC 8FA20030 */ lw $v0, 0x30($sp) /* 07D2D0 8007C6D0 844500A6 */ lh $a1, 0xa6($v0) .L8007C6D4: /* 07D2D4 8007C6D4 28A10002 */ slti $at, $a1, 2 .L8007C6D8: /* 07D2D8 8007C6D8 54200032 */ bnel $at, $zero, .L8007C7A4 /* 07D2DC 8007C6DC 8FBF002C */ lw $ra, 0x2c($sp) /* 07D2E0 8007C6E0 905800DC */ lbu $t8, 0xdc($v0) /* 07D2E4 8007C6E4 2F010005 */ sltiu $at, $t8, 5 /* 07D2E8 8007C6E8 1020002B */ beqz $at, .L8007C798 /* 07D2EC 8007C6EC 0018C080 */ sll $t8, $t8, 2 /* 07D2F0 8007C6F0 3C01800F */ lui $at, %hi(D_800EEEA4) /* 07D2F4 8007C6F4 00380821 */ addu $at, $at, $t8 /* 07D2F8 8007C6F8 8C38EEA4 */ lw $t8, %lo(D_800EEEA4)($at) /* 07D2FC 8007C6FC 03000008 */ jr $t8 /* 07D300 8007C700 00000000 */ nop glabel L8007C704 /* 07D304 8007C704 24190002 */ li $t9, 2 /* 07D308 8007C708 24080001 */ li $t0, 1 /* 07D30C 8007C70C AFA80014 */ sw $t0, 0x14($sp) /* 07D310 8007C710 AFB90010 */ sw $t9, 0x10($sp) /* 07D314 8007C714 02002025 */ move $a0, $s0 /* 07D318 8007C718 244500A0 */ addiu $a1, $v0, 0xa0 /* 07D31C 8007C71C 00003025 */ move $a2, $zero /* 07D320 8007C720 24070050 */ li $a3, 80 /* 07D324 8007C724 0C01CE66 */ jal func_80073998 /* 07D328 8007C728 AFA00018 */ sw $zero, 0x18($sp) /* 07D32C 8007C72C 1000001A */ b .L8007C798 /* 07D330 8007C730 00000000 */ nop glabel L8007C734 /* 07D334 8007C734 24090001 */ li $t1, 1 /* 07D338 8007C738 240AFFFF */ li $t2, -1 /* 07D33C 8007C73C AFAA0018 */ sw $t2, 0x18($sp) /* 07D340 8007C740 AFA90010 */ sw $t1, 0x10($sp) /* 07D344 8007C744 02002025 */ move $a0, $s0 /* 07D348 8007C748 244500A0 */ addiu $a1, $v0, 0xa0 /* 07D34C 8007C74C 24060050 */ li $a2, 80 /* 07D350 8007C750 24070078 */ li $a3, 120 /* 07D354 8007C754 0C01CF2C */ jal func_80073CB0 /* 07D358 8007C758 AFA00014 */ sw $zero, 0x14($sp) /* 07D35C 8007C75C 1000000E */ b .L8007C798 /* 07D360 8007C760 00000000 */ nop glabel L8007C764 /* 07D364 8007C764 02002025 */ move $a0, $s0 /* 07D368 8007C768 244500A0 */ addiu $a1, $v0, 0xa0 /* 07D36C 8007C76C 00003025 */ move $a2, $zero /* 07D370 8007C770 0C01CF70 */ jal func_80073DC0 /* 07D374 8007C774 24070002 */ li $a3, 2 /* 07D378 8007C778 10000007 */ b .L8007C798 /* 07D37C 8007C77C 00000000 */ nop glabel L8007C780 /* 07D380 8007C780 0C01C90A */ jal func_80072428 /* 07D384 8007C784 02002025 */ move $a0, $s0 /* 07D388 8007C788 0C021BD8 */ jal func_80086F60 /* 07D38C 8007C78C 02002025 */ move $a0, $s0 /* 07D390 8007C790 0C01CE21 */ jal func_80073884 /* 07D394 8007C794 02002025 */ move $a0, $s0 .L8007C798: glabel L8007C798 /* 07D398 8007C798 0C01CD45 */ jal func_80073514 /* 07D39C 8007C79C 02002025 */ move $a0, $s0 /* 07D3A0 8007C7A0 8FBF002C */ lw $ra, 0x2c($sp) .L8007C7A4: /* 07D3A4 8007C7A4 8FB00028 */ lw $s0, 0x28($sp) /* 07D3A8 8007C7A8 27BD0038 */ addiu $sp, $sp, 0x38 /* 07D3AC 8007C7AC 03E00008 */ jr $ra /* 07D3B0 8007C7B0 00000000 */ nop glabel func_8007C7B4 /* 07D3B4 8007C7B4 27BDFFA8 */ addiu $sp, $sp, -0x58 /* 07D3B8 8007C7B8 3C0F8019 */ lui $t7, %hi(D_8018BFA8) # $t7, 0x8019 /* 07D3BC 8007C7BC AFB70034 */ sw $s7, 0x34($sp) /* 07D3C0 8007C7C0 AFB30024 */ sw $s3, 0x24($sp) /* 07D3C4 8007C7C4 AFB20020 */ sw $s2, 0x20($sp) /* 07D3C8 8007C7C8 25EFBFA8 */ addiu $t7, %lo(D_8018BFA8) # addiu $t7, $t7, -0x4058 /* 07D3CC 8007C7CC 00047080 */ sll $t6, $a0, 2 /* 07D3D0 8007C7D0 AFBE0038 */ sw $fp, 0x38($sp) /* 07D3D4 8007C7D4 AFB60030 */ sw $s6, 0x30($sp) /* 07D3D8 8007C7D8 01CF9821 */ addu $s3, $t6, $t7 /* 07D3DC 8007C7DC 3C12800E */ lui $s2, %hi(D_800E5D9C) # $s2, 0x800e /* 07D3E0 8007C7E0 3C178016 */ lui $s7, %hi(D_80165C18) # $s7, 0x8016 /* 07D3E4 8007C7E4 00A0B025 */ move $s6, $a1 /* 07D3E8 8007C7E8 AFBF003C */ sw $ra, 0x3c($sp) /* 07D3EC 8007C7EC AFB5002C */ sw $s5, 0x2c($sp) /* 07D3F0 8007C7F0 AFB40028 */ sw $s4, 0x28($sp) /* 07D3F4 8007C7F4 AFB1001C */ sw $s1, 0x1c($sp) /* 07D3F8 8007C7F8 AFB00018 */ sw $s0, 0x18($sp) /* 07D3FC 8007C7FC 26F75C18 */ addiu $s7, %lo(D_80165C18) # addiu $s7, $s7, 0x5c18 /* 07D400 8007C800 26525D9C */ addiu $s2, %lo(D_800E5D9C) # addiu $s2, $s2, 0x5d9c /* 07D404 8007C804 AFB30040 */ sw $s3, 0x40($sp) /* 07D408 8007C808 241E00E0 */ li $fp, 224 .L8007C80C: /* 07D40C 8007C80C 8E710000 */ lw $s1, ($s3) /* 07D410 8007C810 24050001 */ li $a1, 1 /* 07D414 8007C814 0C01C8E9 */ jal func_800723A4 /* 07D418 8007C818 02202025 */ move $a0, $s1 /* 07D41C 8007C81C 023E0019 */ multu $s1, $fp /* 07D420 8007C820 2404003C */ li $a0, 60 /* 07D424 8007C824 0000C012 */ mflo $t8 /* 07D428 8007C828 02F88021 */ addu $s0, $s7, $t8 /* 07D42C 8007C82C 0C0ADF8D */ jal random_int /* 07D430 8007C830 A21600D1 */ sb $s6, 0xd1($s0) /* 07D434 8007C834 2451FFE2 */ addiu $s1, $v0, -0x1e /* 07D438 8007C838 0011CC00 */ sll $t9, $s1, 0x10 /* 07D43C 8007C83C 00198C03 */ sra $s1, $t9, 0x10 /* 07D440 8007C840 0C0ADF8D */ jal random_int /* 07D444 8007C844 24040014 */ li $a0, 20 /* 07D448 8007C848 2454FFF6 */ addiu $s4, $v0, -0xa /* 07D44C 8007C84C 00144C00 */ sll $t1, $s4, 0x10 /* 07D450 8007C850 0009A403 */ sra $s4, $t1, 0x10 /* 07D454 8007C854 0C0ADF8D */ jal random_int /* 07D458 8007C858 24040050 */ li $a0, 80 /* 07D45C 8007C85C 2455FFD8 */ addiu $s5, $v0, -0x28 /* 07D460 8007C860 00155C00 */ sll $t3, $s5, 0x10 /* 07D464 8007C864 000BAC03 */ sra $s5, $t3, 0x10 /* 07D468 8007C868 0C0ADF8D */ jal random_int /* 07D46C 8007C86C 24041000 */ li $a0, 4096 /* 07D470 8007C870 44912000 */ mtc1 $s1, $f4 /* 07D474 8007C874 44944000 */ mtc1 $s4, $f8 /* 07D478 8007C878 44958000 */ mtc1 $s5, $f16 /* 07D47C 8007C87C 468021A0 */ cvt.s.w $f6, $f4 /* 07D480 8007C880 8E430000 */ lw $v1, ($s2) /* 07D484 8007C884 3C0D800E */ lui $t5, %hi(D_800E5DB0) # $t5, 0x800e /* 07D488 8007C888 25AD5DB0 */ addiu $t5, %lo(D_800E5DB0) # addiu $t5, $t5, 0x5db0 /* 07D48C 8007C88C 26520004 */ addiu $s2, $s2, 4 /* 07D490 8007C890 468042A0 */ cvt.s.w $f10, $f8 /* 07D494 8007C894 26730004 */ addiu $s3, $s3, 4 /* 07D498 8007C898 E6060010 */ swc1 $f6, 0x10($s0) /* 07D49C 8007C89C AE030080 */ sw $v1, 0x80($s0) /* 07D4A0 8007C8A0 468084A0 */ cvt.s.w $f18, $f16 /* 07D4A4 8007C8A4 E60A0014 */ swc1 $f10, 0x14($s0) /* 07D4A8 8007C8A8 164DFFD8 */ bne $s2, $t5, .L8007C80C /* 07D4AC 8007C8AC E6120018 */ swc1 $f18, 0x18($s0) /* 07D4B0 8007C8B0 3C051900 */ lui $a1, (0x1900705A >> 16) # lui $a1, 0x1900 /* 07D4B4 8007C8B4 34A5705A */ ori $a1, (0x1900705A & 0xFFFF) # ori $a1, $a1, 0x705a /* 07D4B8 8007C8B8 0C032418 */ jal func_800C9060 /* 07D4BC 8007C8BC 32C400FF */ andi $a0, $s6, 0xff /* 07D4C0 8007C8C0 8FAE0040 */ lw $t6, 0x40($sp) /* 07D4C4 8007C8C4 3C0F8019 */ lui $t7, %hi(D_8018BFA8) # $t7, 0x8019 /* 07D4C8 8007C8C8 25EFBFA8 */ addiu $t7, %lo(D_8018BFA8) # addiu $t7, $t7, -0x4058 /* 07D4CC 8007C8CC 15CF0005 */ bne $t6, $t7, .L8007C8E4 /* 07D4D0 8007C8D0 24190001 */ li $t9, 1 /* 07D4D4 8007C8D4 24180001 */ li $t8, 1 /* 07D4D8 8007C8D8 3C018019 */ lui $at, %hi(D_8018CFF0) # $at, 0x8019 /* 07D4DC 8007C8DC 10000003 */ b .L8007C8EC /* 07D4E0 8007C8E0 A438CFF0 */ sh $t8, %lo(D_8018CFF0)($at) .L8007C8E4: /* 07D4E4 8007C8E4 3C018019 */ lui $at, %hi(D_8018D048) # $at, 0x8019 /* 07D4E8 8007C8E8 A439D048 */ sh $t9, %lo(D_8018D048)($at) .L8007C8EC: /* 07D4EC 8007C8EC 8FBF003C */ lw $ra, 0x3c($sp) /* 07D4F0 8007C8F0 8FB00018 */ lw $s0, 0x18($sp) /* 07D4F4 8007C8F4 8FB1001C */ lw $s1, 0x1c($sp) /* 07D4F8 8007C8F8 8FB20020 */ lw $s2, 0x20($sp) /* 07D4FC 8007C8FC 8FB30024 */ lw $s3, 0x24($sp) /* 07D500 8007C900 8FB40028 */ lw $s4, 0x28($sp) /* 07D504 8007C904 8FB5002C */ lw $s5, 0x2c($sp) /* 07D508 8007C908 8FB60030 */ lw $s6, 0x30($sp) /* 07D50C 8007C90C 8FB70034 */ lw $s7, 0x34($sp) /* 07D510 8007C910 8FBE0038 */ lw $fp, 0x38($sp) /* 07D514 8007C914 03E00008 */ jr $ra /* 07D518 8007C918 27BD0058 */ addiu $sp, $sp, 0x58 glabel func_8007C91C /* 07D51C 8007C91C 3C0F8019 */ lui $t7, %hi(D_8018BFA8) # $t7, 0x8019 /* 07D520 8007C920 25EFBFA8 */ addiu $t7, %lo(D_8018BFA8) # addiu $t7, $t7, -0x4058 /* 07D524 8007C924 00047080 */ sll $t6, $a0, 2 /* 07D528 8007C928 01CF2821 */ addu $a1, $t6, $t7 /* 07D52C 8007C92C 8CA30000 */ lw $v1, ($a1) /* 07D530 8007C930 240900E0 */ li $t1, 224 /* 07D534 8007C934 24020001 */ li $v0, 1 /* 07D538 8007C938 00690019 */ multu $v1, $t1 /* 07D53C 8007C93C 00025880 */ sll $t3, $v0, 2 /* 07D540 8007C940 00AB2021 */ addu $a0, $a1, $t3 /* 07D544 8007C944 8C830000 */ lw $v1, ($a0) /* 07D548 8007C948 3C088016 */ lui $t0, %hi(D_80165C18) # $t0, 0x8016 /* 07D54C 8007C94C 25085C18 */ addiu $t0, %lo(D_80165C18) # addiu $t0, $t0, 0x5c18 /* 07D550 8007C950 3C018019 */ lui $at, %hi(D_8018CFF0) # 0x8019 /* 07D554 8007C954 0000C012 */ mflo $t8 /* 07D558 8007C958 01183021 */ addu $a2, $t0, $t8 /* 07D55C 8007C95C 90D900DC */ lbu $t9, 0xdc($a2) /* 07D560 8007C960 00690019 */ multu $v1, $t1 /* 07D564 8007C964 8C830004 */ lw $v1, 4($a0) /* 07D568 8007C968 272A0001 */ addiu $t2, $t9, 1 /* 07D56C 8007C96C A0CA00DC */ sb $t2, 0xdc($a2) /* 07D570 8007C970 00006012 */ mflo $t4 /* 07D574 8007C974 010C3021 */ addu $a2, $t0, $t4 /* 07D578 8007C978 90CD00DC */ lbu $t5, 0xdc($a2) /* 07D57C 8007C97C 00690019 */ multu $v1, $t1 /* 07D580 8007C980 8C830008 */ lw $v1, 8($a0) /* 07D584 8007C984 25AE0001 */ addiu $t6, $t5, 1 /* 07D588 8007C988 A0CE00DC */ sb $t6, 0xdc($a2) /* 07D58C 8007C98C 00007812 */ mflo $t7 /* 07D590 8007C990 010F3021 */ addu $a2, $t0, $t7 /* 07D594 8007C994 90D800DC */ lbu $t8, 0xdc($a2) /* 07D598 8007C998 00690019 */ multu $v1, $t1 /* 07D59C 8007C99C 8C83000C */ lw $v1, 0xc($a0) /* 07D5A0 8007C9A0 27190001 */ addiu $t9, $t8, 1 /* 07D5A4 8007C9A4 A0D900DC */ sb $t9, 0xdc($a2) /* 07D5A8 8007C9A8 3C188019 */ lui $t8, %hi(D_8018BFA8) # $t8, 0x8019 /* 07D5AC 8007C9AC 2718BFA8 */ addiu $t8, %lo(D_8018BFA8) # addiu $t8, $t8, -0x4058 /* 07D5B0 8007C9B0 00005012 */ mflo $t2 /* 07D5B4 8007C9B4 010A3021 */ addu $a2, $t0, $t2 /* 07D5B8 8007C9B8 90CB00DC */ lbu $t3, 0xdc($a2) /* 07D5BC 8007C9BC 00690019 */ multu $v1, $t1 /* 07D5C0 8007C9C0 256C0001 */ addiu $t4, $t3, 1 /* 07D5C4 8007C9C4 A0CC00DC */ sb $t4, 0xdc($a2) /* 07D5C8 8007C9C8 00006812 */ mflo $t5 /* 07D5CC 8007C9CC 010D3021 */ addu $a2, $t0, $t5 /* 07D5D0 8007C9D0 90CE00DC */ lbu $t6, 0xdc($a2) /* 07D5D4 8007C9D4 25CF0001 */ addiu $t7, $t6, 1 /* 07D5D8 8007C9D8 14B80004 */ bne $a1, $t8, .L8007C9EC /* 07D5DC 8007C9DC A0CF00DC */ sb $t7, 0xdc($a2) /* 07D5E0 8007C9E0 3C018019 */ lui $at, %hi(D_8018D048) # 0x8019 /* 07D5E4 8007C9E4 03E00008 */ jr $ra /* 07D5E8 8007C9E8 A420CFF0 */ sh $zero, %lo(D_8018CFF0)($at) # -0x3010($at) .L8007C9EC: /* 07D5EC 8007C9EC A420D048 */ sh $zero, %lo(D_8018D048)($at) # -0x2fb8($at) /* 07D5F0 8007C9F0 03E00008 */ jr $ra /* 07D5F4 8007C9F4 00000000 */ nop glabel func_8007C9F8 /* 07D5F8 8007C9F8 3C028019 */ lui $v0, %hi(D_8018EDF3) # $v0, 0x8019 /* 07D5FC 8007C9FC 8042EDF3 */ lb $v0, %lo(D_8018EDF3)($v0) /* 07D600 8007CA00 24010001 */ li $at, 1 /* 07D604 8007CA04 54410004 */ bnel $v0, $at, .L8007CA18 /* 07D608 8007CA08 24010002 */ li $at, 2 /* 07D60C 8007CA0C 03E00008 */ jr $ra /* 07D610 8007CA10 00001025 */ move $v0, $zero /* 07D614 8007CA14 24010002 */ li $at, 2 .L8007CA18: /* 07D618 8007CA18 14410012 */ bne $v0, $at, .L8007CA64 /* 07D61C 8007CA1C 3C038016 */ lui $v1, %hi(D_80164360) # 0x8016 /* 07D620 8007CA20 3C0E800E */ lui $t6, %hi(gModeSelection) # $t6, 0x800e /* 07D624 8007CA24 8DCEC53C */ lw $t6, %lo(gModeSelection)($t6) /* 07D628 8007CA28 3C048016 */ lui $a0, %hi(D_801643B8) # $a0, 0x8016 /* 07D62C 8007CA2C 248443B8 */ addiu $a0, %lo(D_801643B8) # addiu $a0, $a0, 0x43b8 /* 07D630 8007CA30 15C0000A */ bnez $t6, .L8007CA5C /* 07D634 8007CA34 3C038016 */ lui $v1, %hi(D_80164360) # 0x8016 /* 07D638 8007CA38 8C820000 */ lw $v0, ($a0) /* 07D63C 8007CA3C 8C830004 */ lw $v1, 4($a0) /* 07D640 8007CA40 0043082A */ slt $at, $v0, $v1 /* 07D644 8007CA44 10200003 */ beqz $at, .L8007CA54 /* 07D648 8007CA48 00000000 */ nop /* 07D64C 8007CA4C 03E00008 */ jr $ra /* 07D650 8007CA50 00001025 */ move $v0, $zero .L8007CA54: /* 07D654 8007CA54 03E00008 */ jr $ra /* 07D658 8007CA58 24020001 */ li $v0, 1 .L8007CA5C: /* 07D65C 8007CA5C 03E00008 */ jr $ra /* 07D660 8007CA60 84624360 */ lh $v0, %lo(D_80164360)($v1) # 0x4360($v1) .L8007CA64: /* 07D664 8007CA64 84634360 */ lh $v1, %lo(D_80164360)($v1) # 0x4360($v1) /* 07D668 8007CA68 03E00008 */ jr $ra /* 07D66C 8007CA6C 00601025 */ move $v0, $v1 glabel func_8007CA70 /* 07D670 8007CA70 3C0E8019 */ lui $t6, %hi(D_8018CFF0) # $t6, 0x8019 /* 07D674 8007CA74 85CECFF0 */ lh $t6, %lo(D_8018CFF0)($t6) /* 07D678 8007CA78 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 07D67C 8007CA7C AFBF0014 */ sw $ra, 0x14($sp) /* 07D680 8007CA80 15C00011 */ bnez $t6, .L8007CAC8 /* 07D684 8007CA84 00000000 */ nop /* 07D688 8007CA88 0C01F27E */ jal func_8007C9F8 /* 07D68C 8007CA8C 00000000 */ nop /* 07D690 8007CA90 00027840 */ sll $t7, $v0, 1 /* 07D694 8007CA94 3C038016 */ lui $v1, %hi(D_80164438) # 0x8016 /* 07D698 8007CA98 006F1821 */ addu $v1, $v1, $t7 /* 07D69C 8007CA9C 94634438 */ lhu $v1, %lo(D_80164438)($v1) # 0x4438($v1) /* 07D6A0 8007CAA0 3C018019 */ lui $at, %hi(D_8018D018) # $at, 0x8019 /* 07D6A4 8007CAA4 A422D018 */ sh $v0, %lo(D_8018D018)($at) /* 07D6A8 8007CAA8 286100C9 */ slti $at, $v1, 0xc9 /* 07D6AC 8007CAAC 14200006 */ bnez $at, .L8007CAC8 /* 07D6B0 8007CAB0 00402825 */ move $a1, $v0 /* 07D6B4 8007CAB4 286100D2 */ slti $at, $v1, 0xd2 /* 07D6B8 8007CAB8 10200003 */ beqz $at, .L8007CAC8 /* 07D6BC 8007CABC 00000000 */ nop /* 07D6C0 8007CAC0 0C01F1ED */ jal func_8007C7B4 /* 07D6C4 8007CAC4 00002025 */ move $a0, $zero .L8007CAC8: /* 07D6C8 8007CAC8 3C188019 */ lui $t8, %hi(D_8018CFF0) # $t8, 0x8019 /* 07D6CC 8007CACC 8718CFF0 */ lh $t8, %lo(D_8018CFF0)($t8) /* 07D6D0 8007CAD0 3C058019 */ lui $a1, %hi(D_8018D018) # $a1, 0x8019 /* 07D6D4 8007CAD4 13000017 */ beqz $t8, .L8007CB34 /* 07D6D8 8007CAD8 00000000 */ nop /* 07D6DC 8007CADC 84A5D018 */ lh $a1, %lo(D_8018D018)($a1) /* 07D6E0 8007CAE0 3C088016 */ lui $t0, %hi(D_80164438) # $t0, 0x8016 /* 07D6E4 8007CAE4 25084438 */ addiu $t0, %lo(D_80164438) # addiu $t0, $t0, 0x4438 /* 07D6E8 8007CAE8 0005C840 */ sll $t9, $a1, 1 /* 07D6EC 8007CAEC 03281821 */ addu $v1, $t9, $t0 /* 07D6F0 8007CAF0 94620000 */ lhu $v0, ($v1) /* 07D6F4 8007CAF4 284100B5 */ slti $at, $v0, 0xb5 /* 07D6F8 8007CAF8 14200007 */ bnez $at, .L8007CB18 /* 07D6FC 8007CAFC 284100BE */ slti $at, $v0, 0xbe /* 07D700 8007CB00 10200005 */ beqz $at, .L8007CB18 /* 07D704 8007CB04 00002025 */ move $a0, $zero /* 07D708 8007CB08 0C01F247 */ jal func_8007C91C /* 07D70C 8007CB0C AFA3001C */ sw $v1, 0x1c($sp) /* 07D710 8007CB10 8FA3001C */ lw $v1, 0x1c($sp) /* 07D714 8007CB14 94620000 */ lhu $v0, ($v1) .L8007CB18: /* 07D718 8007CB18 28410119 */ slti $at, $v0, 0x119 /* 07D71C 8007CB1C 14200005 */ bnez $at, .L8007CB34 /* 07D720 8007CB20 28410122 */ slti $at, $v0, 0x122 /* 07D724 8007CB24 10200003 */ beqz $at, .L8007CB34 /* 07D728 8007CB28 00000000 */ nop /* 07D72C 8007CB2C 0C01F247 */ jal func_8007C91C /* 07D730 8007CB30 00002025 */ move $a0, $zero .L8007CB34: /* 07D734 8007CB34 3C098019 */ lui $t1, %hi(D_8018D048) # $t1, 0x8019 /* 07D738 8007CB38 8529D048 */ lh $t1, %lo(D_8018D048)($t1) /* 07D73C 8007CB3C 15200011 */ bnez $t1, .L8007CB84 /* 07D740 8007CB40 00000000 */ nop /* 07D744 8007CB44 0C01F27E */ jal func_8007C9F8 /* 07D748 8007CB48 00000000 */ nop /* 07D74C 8007CB4C 00025040 */ sll $t2, $v0, 1 /* 07D750 8007CB50 3C038016 */ lui $v1, %hi(D_80164438) # 0x8016 /* 07D754 8007CB54 006A1821 */ addu $v1, $v1, $t2 /* 07D758 8007CB58 94634438 */ lhu $v1, %lo(D_80164438)($v1) # 0x4438($v1) /* 07D75C 8007CB5C 3C018019 */ lui $at, %hi(D_8018D110) # $at, 0x8019 /* 07D760 8007CB60 A422D110 */ sh $v0, %lo(D_8018D110)($at) /* 07D764 8007CB64 286101FF */ slti $at, $v1, 0x1ff /* 07D768 8007CB68 14200006 */ bnez $at, .L8007CB84 /* 07D76C 8007CB6C 00402825 */ move $a1, $v0 /* 07D770 8007CB70 28610208 */ slti $at, $v1, 0x208 /* 07D774 8007CB74 10200003 */ beqz $at, .L8007CB84 /* 07D778 8007CB78 00000000 */ nop /* 07D77C 8007CB7C 0C01F1ED */ jal func_8007C7B4 /* 07D780 8007CB80 24040005 */ li $a0, 5 .L8007CB84: /* 07D784 8007CB84 3C0B8019 */ lui $t3, %hi(D_8018D048) # $t3, 0x8019 /* 07D788 8007CB88 856BD048 */ lh $t3, %lo(D_8018D048)($t3) /* 07D78C 8007CB8C 3C058019 */ lui $a1, %hi(D_8018D110) # $a1, 0x8019 /* 07D790 8007CB90 51600018 */ beql $t3, $zero, .L8007CBF4 /* 07D794 8007CB94 8FBF0014 */ lw $ra, 0x14($sp) /* 07D798 8007CB98 84A5D110 */ lh $a1, %lo(D_8018D110)($a1) /* 07D79C 8007CB9C 3C0D8016 */ lui $t5, %hi(D_80164438) # $t5, 0x8016 /* 07D7A0 8007CBA0 25AD4438 */ addiu $t5, %lo(D_80164438) # addiu $t5, $t5, 0x4438 /* 07D7A4 8007CBA4 00056040 */ sll $t4, $a1, 1 /* 07D7A8 8007CBA8 018D1821 */ addu $v1, $t4, $t5 /* 07D7AC 8007CBAC 94620000 */ lhu $v0, ($v1) /* 07D7B0 8007CBB0 284101EB */ slti $at, $v0, 0x1eb /* 07D7B4 8007CBB4 14200007 */ bnez $at, .L8007CBD4 /* 07D7B8 8007CBB8 284101F4 */ slti $at, $v0, 0x1f4 /* 07D7BC 8007CBBC 10200005 */ beqz $at, .L8007CBD4 /* 07D7C0 8007CBC0 24040005 */ li $a0, 5 /* 07D7C4 8007CBC4 0C01F247 */ jal func_8007C91C /* 07D7C8 8007CBC8 AFA3001C */ sw $v1, 0x1c($sp) /* 07D7CC 8007CBCC 8FA3001C */ lw $v1, 0x1c($sp) /* 07D7D0 8007CBD0 94620000 */ lhu $v0, ($v1) .L8007CBD4: /* 07D7D4 8007CBD4 2841026D */ slti $at, $v0, 0x26d /* 07D7D8 8007CBD8 14200005 */ bnez $at, .L8007CBF0 /* 07D7DC 8007CBDC 28410276 */ slti $at, $v0, 0x276 /* 07D7E0 8007CBE0 50200004 */ beql $at, $zero, .L8007CBF4 /* 07D7E4 8007CBE4 8FBF0014 */ lw $ra, 0x14($sp) /* 07D7E8 8007CBE8 0C01F247 */ jal func_8007C91C /* 07D7EC 8007CBEC 24040005 */ li $a0, 5 .L8007CBF0: /* 07D7F0 8007CBF0 8FBF0014 */ lw $ra, 0x14($sp) .L8007CBF4: /* 07D7F4 8007CBF4 27BD0028 */ addiu $sp, $sp, 0x28 /* 07D7F8 8007CBF8 03E00008 */ jr $ra /* 07D7FC 8007CBFC 00000000 */ nop glabel func_8007CC00 /* 07D800 8007CC00 27BDFFB0 */ addiu $sp, $sp, -0x50 /* 07D804 8007CC04 AFBF004C */ sw $ra, 0x4c($sp) /* 07D808 8007CC08 AFBE0048 */ sw $fp, 0x48($sp) /* 07D80C 8007CC0C AFB70044 */ sw $s7, 0x44($sp) /* 07D810 8007CC10 AFB60040 */ sw $s6, 0x40($sp) /* 07D814 8007CC14 AFB5003C */ sw $s5, 0x3c($sp) /* 07D818 8007CC18 AFB40038 */ sw $s4, 0x38($sp) /* 07D81C 8007CC1C AFB30034 */ sw $s3, 0x34($sp) /* 07D820 8007CC20 AFB20030 */ sw $s2, 0x30($sp) /* 07D824 8007CC24 AFB1002C */ sw $s1, 0x2c($sp) /* 07D828 8007CC28 AFB00028 */ sw $s0, 0x28($sp) /* 07D82C 8007CC2C F7B60020 */ sdc1 $f22, 0x20($sp) /* 07D830 8007CC30 0C01F29C */ jal func_8007CA70 /* 07D834 8007CC34 F7B40018 */ sdc1 $f20, 0x18($sp) /* 07D838 8007CC38 3C01401A */ li $at, 0x401A0000 # 2.406250 /* 07D83C 8007CC3C 3C148019 */ lui $s4, %hi(D_8018BFA8) # $s4, 0x8019 /* 07D840 8007CC40 3C1E800E */ lui $fp, %hi(D_800DC4DC) # $fp, 0x800e /* 07D844 8007CC44 3C158016 */ lui $s5, %hi(D_80165C18) # $s5, 0x8016 /* 07D848 8007CC48 4481B800 */ mtc1 $at, $f23 /* 07D84C 8007CC4C 4480B000 */ mtc1 $zero, $f22 /* 07D850 8007CC50 26B55C18 */ addiu $s5, %lo(D_80165C18) # addiu $s5, $s5, 0x5c18 /* 07D854 8007CC54 27DEC4DC */ addiu $fp, %lo(D_800DC4DC) # addiu $fp, $fp, -0x3b24 /* 07D858 8007CC58 2694BFA8 */ addiu $s4, %lo(D_8018BFA8) # addiu $s4, $s4, -0x4058 /* 07D85C 8007CC5C 24170DD8 */ li $s7, 3544 /* 07D860 8007CC60 241600E0 */ li $s6, 224 /* 07D864 8007CC64 8E920000 */ lw $s2, ($s4) .L8007CC68: /* 07D868 8007CC68 02560019 */ multu $s2, $s6 /* 07D86C 8007CC6C 00007012 */ mflo $t6 /* 07D870 8007CC70 02AE8021 */ addu $s0, $s5, $t6 /* 07D874 8007CC74 860F00A6 */ lh $t7, 0xa6($s0) /* 07D878 8007CC78 11E00051 */ beqz $t7, .L8007CDC0 /* 07D87C 8007CC7C 00000000 */ nop /* 07D880 8007CC80 0C01F1A1 */ jal func_8007C684 /* 07D884 8007CC84 02402025 */ move $a0, $s2 /* 07D888 8007CC88 0C022DE3 */ jal func_8008B78C /* 07D88C 8007CC8C 02402025 */ move $a0, $s2 /* 07D890 8007CC90 820200D1 */ lb $v0, 0xd1($s0) /* 07D894 8007CC94 3C09800E */ lui $t1, %hi(D_800DDB40) # $t1, 0x800e /* 07D898 8007CC98 8D29DB40 */ lw $t1, %lo(D_800DDB40)($t1) /* 07D89C 8007CC9C 00570019 */ multu $v0, $s7 /* 07D8A0 8007CCA0 00024080 */ sll $t0, $v0, 2 /* 07D8A4 8007CCA4 01024023 */ subu $t0, $t0, $v0 /* 07D8A8 8007CCA8 000840C0 */ sll $t0, $t0, 3 /* 07D8AC 8007CCAC 01024023 */ subu $t0, $t0, $v0 /* 07D8B0 8007CCB0 000840C0 */ sll $t0, $t0, 3 /* 07D8B4 8007CCB4 01091821 */ addu $v1, $t0, $t1 /* 07D8B8 8007CCB8 846A0026 */ lh $t2, 0x26($v1) /* 07D8BC 8007CCBC 340B8000 */ li $t3, 32768 /* 07D8C0 8007CCC0 8FD90000 */ lw $t9, ($fp) /* 07D8C4 8007CCC4 016A8823 */ subu $s1, $t3, $t2 /* 07D8C8 8007CCC8 0000C012 */ mflo $t8 /* 07D8CC 8007CCCC 322CFFFF */ andi $t4, $s1, 0xffff /* 07D8D0 8007CCD0 01808825 */ move $s1, $t4 /* 07D8D4 8007CCD4 3184FFFF */ andi $a0, $t4, 0xffff /* 07D8D8 8007CCD8 0C0AE00E */ jal func_802B8038 /* 07D8DC 8007CCDC 03199821 */ addu $s3, $t8, $t9 /* 07D8E0 8007CCE0 46000506 */ mov.s $f20, $f0 /* 07D8E4 8007CCE4 0C0AE006 */ jal func_802B8018 /* 07D8E8 8007CCE8 3224FFFF */ andi $a0, $s1, 0xffff /* 07D8EC 8007CCEC C6040010 */ lwc1 $f4, 0x10($s0) /* 07D8F0 8007CCF0 C6060028 */ lwc1 $f6, 0x28($s0) /* 07D8F4 8007CCF4 C6700014 */ lwc1 $f16, 0x14($s3) /* 07D8F8 8007CCF8 3224FFFF */ andi $a0, $s1, 0xffff /* 07D8FC 8007CCFC 46062200 */ add.s $f8, $f4, $f6 /* 07D900 8007CD00 C6060018 */ lwc1 $f6, 0x18($s0) /* 07D904 8007CD04 C6040030 */ lwc1 $f4, 0x30($s0) /* 07D908 8007CD08 4608A282 */ mul.s $f10, $f20, $f8 /* 07D90C 8007CD0C 46062200 */ add.s $f8, $f4, $f6 /* 07D910 8007CD10 460A8480 */ add.s $f18, $f16, $f10 /* 07D914 8007CD14 46004402 */ mul.s $f16, $f8, $f0 /* 07D918 8007CD18 46109281 */ sub.s $f10, $f18, $f16 /* 07D91C 8007CD1C C6120014 */ lwc1 $f18, 0x14($s0) /* 07D920 8007CD20 E60A0004 */ swc1 $f10, 4($s0) /* 07D924 8007CD24 C6640074 */ lwc1 $f4, 0x74($s3) /* 07D928 8007CD28 46009421 */ cvt.d.s $f16, $f18 /* 07D92C 8007CD2C 460021A1 */ cvt.d.s $f6, $f4 /* 07D930 8007CD30 C604002C */ lwc1 $f4, 0x2c($s0) /* 07D934 8007CD34 4626B200 */ add.d $f8, $f22, $f6 /* 07D938 8007CD38 460021A1 */ cvt.d.s $f6, $f4 /* 07D93C 8007CD3C 46304280 */ add.d $f10, $f8, $f16 /* 07D940 8007CD40 462A3480 */ add.d $f18, $f6, $f10 /* 07D944 8007CD44 46209220 */ cvt.s.d $f8, $f18 /* 07D948 8007CD48 0C0AE006 */ jal func_802B8018 /* 07D94C 8007CD4C E6080008 */ swc1 $f8, 8($s0) /* 07D950 8007CD50 46000506 */ mov.s $f20, $f0 /* 07D954 8007CD54 0C0AE00E */ jal func_802B8038 /* 07D958 8007CD58 3224FFFF */ andi $a0, $s1, 0xffff /* 07D95C 8007CD5C C6100030 */ lwc1 $f16, 0x30($s0) /* 07D960 8007CD60 C6040018 */ lwc1 $f4, 0x18($s0) /* 07D964 8007CD64 C6120010 */ lwc1 $f18, 0x10($s0) /* 07D968 8007CD68 C6080028 */ lwc1 $f8, 0x28($s0) /* 07D96C 8007CD6C 46048180 */ add.s $f6, $f16, $f4 /* 07D970 8007CD70 02402025 */ move $a0, $s2 /* 07D974 8007CD74 46089400 */ add.s $f16, $f18, $f8 /* 07D978 8007CD78 46003282 */ mul.s $f10, $f6, $f0 /* 07D97C 8007CD7C C666001C */ lwc1 $f6, 0x1c($s3) /* 07D980 8007CD80 4610A102 */ mul.s $f4, $f20, $f16 /* 07D984 8007CD84 46043480 */ add.s $f18, $f6, $f4 /* 07D988 8007CD88 46125200 */ add.s $f8, $f10, $f18 /* 07D98C 8007CD8C 0C01F154 */ jal func_8007C550 /* 07D990 8007CD90 E608000C */ swc1 $f8, 0xc($s0) /* 07D994 8007CD94 02402025 */ move $a0, $s2 /* 07D998 8007CD98 0C01C88F */ jal func_8007223C /* 07D99C 8007CD9C 24050080 */ li $a1, 128 /* 07D9A0 8007CDA0 10400005 */ beqz $v0, .L8007CDB8 /* 07D9A4 8007CDA4 3C0E800E */ lui $t6, %hi(D_800E4470) # $t6, 0x800e /* 07D9A8 8007CDA8 3C0D800E */ lui $t5, %hi(D_800E44B0) # $t5, 0x800e /* 07D9AC 8007CDAC 25AD44B0 */ addiu $t5, %lo(D_800E44B0) # addiu $t5, $t5, 0x44b0 /* 07D9B0 8007CDB0 10000003 */ b .L8007CDC0 /* 07D9B4 8007CDB4 AE0D0074 */ sw $t5, 0x74($s0) .L8007CDB8: /* 07D9B8 8007CDB8 25CE4470 */ addiu $t6, %lo(D_800E4470) # addiu $t6, $t6, 0x4470 /* 07D9BC 8007CDBC AE0E0074 */ sw $t6, 0x74($s0) .L8007CDC0: /* 07D9C0 8007CDC0 3C0F8019 */ lui $t7, %hi(D_8018BFD0) # $t7, 0x8019 /* 07D9C4 8007CDC4 25EFBFD0 */ addiu $t7, %lo(D_8018BFD0) # addiu $t7, $t7, -0x4030 /* 07D9C8 8007CDC8 26940004 */ addiu $s4, $s4, 4 /* 07D9CC 8007CDCC 568FFFA6 */ bnel $s4, $t7, .L8007CC68 /* 07D9D0 8007CDD0 8E920000 */ lw $s2, ($s4) /* 07D9D4 8007CDD4 8FBF004C */ lw $ra, 0x4c($sp) /* 07D9D8 8007CDD8 D7B40018 */ ldc1 $f20, 0x18($sp) /* 07D9DC 8007CDDC D7B60020 */ ldc1 $f22, 0x20($sp) /* 07D9E0 8007CDE0 8FB00028 */ lw $s0, 0x28($sp) /* 07D9E4 8007CDE4 8FB1002C */ lw $s1, 0x2c($sp) /* 07D9E8 8007CDE8 8FB20030 */ lw $s2, 0x30($sp) /* 07D9EC 8007CDEC 8FB30034 */ lw $s3, 0x34($sp) /* 07D9F0 8007CDF0 8FB40038 */ lw $s4, 0x38($sp) /* 07D9F4 8007CDF4 8FB5003C */ lw $s5, 0x3c($sp) /* 07D9F8 8007CDF8 8FB60040 */ lw $s6, 0x40($sp) /* 07D9FC 8007CDFC 8FB70044 */ lw $s7, 0x44($sp) /* 07DA00 8007CE00 8FBE0048 */ lw $fp, 0x48($sp) /* 07DA04 8007CE04 03E00008 */ jr $ra /* 07DA08 8007CE08 27BD0050 */ addiu $sp, $sp, 0x50 glabel func_8007CE0C /* 07DA0C 8007CE0C 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 07DA10 8007CE10 AFBF0024 */ sw $ra, 0x24($sp) /* 07DA14 8007CE14 AFB10020 */ sw $s1, 0x20($sp) /* 07DA18 8007CE18 3C050600 */ lui $a1, %hi(D_06005C80) # $a1, 0x600 /* 07DA1C 8007CE1C 3C060F0D */ lui $a2, %hi(D_0F0D0E50) # $a2, 0xf0d /* 07DA20 8007CE20 240E0028 */ li $t6, 40 /* 07DA24 8007CE24 00808825 */ move $s1, $a0 /* 07DA28 8007CE28 AFB0001C */ sw $s0, 0x1c($sp) /* 07DA2C 8007CE2C AFAE0010 */ sw $t6, 0x10($sp) /* 07DA30 8007CE30 24C60E50 */ addiu $a2, %lo(D_0F0D0E50) # addiu $a2, $a2, 0xe50 /* 07DA34 8007CE34 24A55C80 */ addiu $a1, %lo(D_06005C80) # addiu $a1, $a1, 0x5c80 /* 07DA38 8007CE38 0C01CD11 */ jal func_80073444 /* 07DA3C 8007CE3C 24070030 */ li $a3, 48 /* 07DA40 8007CE40 001178C0 */ sll $t7, $s1, 3 /* 07DA44 8007CE44 01F17823 */ subu $t7, $t7, $s1 /* 07DA48 8007CE48 3C188016 */ lui $t8, %hi(D_80165C18) # $t8, 0x8016 /* 07DA4C 8007CE4C 44800000 */ mtc1 $zero, $f0 /* 07DA50 8007CE50 27185C18 */ addiu $t8, %lo(D_80165C18) # addiu $t8, $t8, 0x5c18 /* 07DA54 8007CE54 000F7940 */ sll $t7, $t7, 5 /* 07DA58 8007CE58 01F88021 */ addu $s0, $t7, $t8 /* 07DA5C 8007CE5C 2419001C */ li $t9, 28 /* 07DA60 8007CE60 A21900D2 */ sb $t9, 0xd2($s0) /* 07DA64 8007CE64 3C01800F */ lui $at, %hi(D_800EEEB8) # $at, 0x800f /* 07DA68 8007CE68 E6000004 */ swc1 $f0, 4($s0) /* 07DA6C 8007CE6C E6000008 */ swc1 $f0, 8($s0) /* 07DA70 8007CE70 E600000C */ swc1 $f0, 0xc($s0) /* 07DA74 8007CE74 C424EEB8 */ lwc1 $f4, %lo(D_800EEEB8)($at) /* 07DA78 8007CE78 02202025 */ move $a0, $s1 /* 07DA7C 8007CE7C 0C01C922 */ jal func_80072488 /* 07DA80 8007CE80 E6040000 */ swc1 $f4, ($s0) /* 07DA84 8007CE84 A60000A0 */ sh $zero, 0xa0($s0) /* 07DA88 8007CE88 0C01CE11 */ jal func_80073844 /* 07DA8C 8007CE8C 02202025 */ move $a0, $s1 /* 07DA90 8007CE90 0C021BBC */ jal func_80086EF0 /* 07DA94 8007CE94 02202025 */ move $a0, $s1 /* 07DA98 8007CE98 34088000 */ li $t0, 32768 /* 07DA9C 8007CE9C A60800C2 */ sh $t0, 0xc2($s0) /* 07DAA0 8007CEA0 3C028019 */ lui $v0, %hi(D_8018CF1C) # $v0, 0x8019 /* 07DAA4 8007CEA4 8C42CF1C */ lw $v0, %lo(D_8018CF1C)($v0) /* 07DAA8 8007CEA8 C6080010 */ lwc1 $f8, 0x10($s0) /* 07DAAC 8007CEAC C6100018 */ lwc1 $f16, 0x18($s0) /* 07DAB0 8007CEB0 C4460014 */ lwc1 $f6, 0x14($v0) /* 07DAB4 8007CEB4 C44A001C */ lwc1 $f10, 0x1c($v0) /* 07DAB8 8007CEB8 46083301 */ sub.s $f12, $f6, $f8 /* 07DABC 8007CEBC 0C0ADE0C */ jal func_802B7830 /* 07DAC0 8007CEC0 46105381 */ sub.s $f14, $f10, $f16 /* 07DAC4 8007CEC4 8FBF0024 */ lw $ra, 0x24($sp) /* 07DAC8 8007CEC8 A60200C0 */ sh $v0, 0xc0($s0) /* 07DACC 8007CECC 8FB0001C */ lw $s0, 0x1c($sp) /* 07DAD0 8007CED0 8FB10020 */ lw $s1, 0x20($sp) /* 07DAD4 8007CED4 03E00008 */ jr $ra /* 07DAD8 8007CED8 27BD0028 */ addiu $sp, $sp, 0x28 glabel func_8007CEDC /* 07DADC 8007CEDC 000470C0 */ sll $t6, $a0, 3 /* 07DAE0 8007CEE0 27BDFFD0 */ addiu $sp, $sp, -0x30 /* 07DAE4 8007CEE4 01C47023 */ subu $t6, $t6, $a0 /* 07DAE8 8007CEE8 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 07DAEC 8007CEEC AFB00024 */ sw $s0, 0x24($sp) /* 07DAF0 8007CEF0 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 07DAF4 8007CEF4 000E7140 */ sll $t6, $t6, 5 /* 07DAF8 8007CEF8 01CF8021 */ addu $s0, $t6, $t7 /* 07DAFC 8007CEFC 860200A6 */ lh $v0, 0xa6($s0) /* 07DB00 8007CF00 AFB10028 */ sw $s1, 0x28($sp) /* 07DB04 8007CF04 00808825 */ move $s1, $a0 /* 07DB08 8007CF08 2C410005 */ sltiu $at, $v0, 5 /* 07DB0C 8007CF0C 10200018 */ beqz $at, .L8007CF70 /* 07DB10 8007CF10 AFBF002C */ sw $ra, 0x2c($sp) /* 07DB14 8007CF14 0002C080 */ sll $t8, $v0, 2 /* 07DB18 8007CF18 3C01800F */ lui $at, %hi(D_800EEEBC) /* 07DB1C 8007CF1C 00380821 */ addu $at, $at, $t8 /* 07DB20 8007CF20 8C38EEBC */ lw $t8, %lo(D_800EEEBC)($at) /* 07DB24 8007CF24 03000008 */ jr $t8 /* 07DB28 8007CF28 00000000 */ nop glabel L8007CF2C /* 07DB2C 8007CF2C 0C01F383 */ jal func_8007CE0C /* 07DB30 8007CF30 02202025 */ move $a0, $s1 /* 07DB34 8007CF34 1000000E */ b .L8007CF70 /* 07DB38 8007CF38 860200A6 */ lh $v0, 0xa6($s0) glabel L8007CF3C /* 07DB3C 8007CF3C 02202025 */ move $a0, $s1 /* 07DB40 8007CF40 0C01C9E3 */ jal func_8007278C /* 07DB44 8007CF44 2405001E */ li $a1, 30 /* 07DB48 8007CF48 10000009 */ b .L8007CF70 /* 07DB4C 8007CF4C 860200A6 */ lh $v0, 0xa6($s0) glabel L8007CF50 /* 07DB50 8007CF50 02202025 */ move $a0, $s1 /* 07DB54 8007CF54 0C01C9E3 */ jal func_8007278C /* 07DB58 8007CF58 240503E8 */ li $a1, 1000 /* 07DB5C 8007CF5C 10000004 */ b .L8007CF70 /* 07DB60 8007CF60 860200A6 */ lh $v0, 0xa6($s0) glabel L8007CF64 /* 07DB64 8007CF64 0C01C90A */ jal func_80072428 /* 07DB68 8007CF68 02202025 */ move $a0, $s1 /* 07DB6C 8007CF6C 860200A6 */ lh $v0, 0xa6($s0) .L8007CF70: glabel L8007CF70 /* 07DB70 8007CF70 28410002 */ slti $at, $v0, 2 /* 07DB74 8007CF74 14200039 */ bnez $at, .L8007D05C /* 07DB78 8007CF78 02202025 */ move $a0, $s1 /* 07DB7C 8007CF7C 920500DC */ lbu $a1, 0xdc($s0) /* 07DB80 8007CF80 00003025 */ move $a2, $zero /* 07DB84 8007CF84 0C01CA54 */ jal func_80072950 /* 07DB88 8007CF88 24070004 */ li $a3, 4 /* 07DB8C 8007CF8C 0C01CD45 */ jal func_80073514 /* 07DB90 8007CF90 02202025 */ move $a0, $s1 /* 07DB94 8007CF94 921900DC */ lbu $t9, 0xdc($s0) /* 07DB98 8007CF98 2F210005 */ sltiu $at, $t9, 5 /* 07DB9C 8007CF9C 1020002F */ beqz $at, .L8007D05C /* 07DBA0 8007CFA0 0019C880 */ sll $t9, $t9, 2 /* 07DBA4 8007CFA4 3C01800F */ lui $at, %hi(D_800EEED0) # 0x800f /* 07DBA8 8007CFA8 00390821 */ addu $at, $at, $t9 /* 07DBAC 8007CFAC 8C39EED0 */ lw $t9, %lo(D_800EEED0)($at) # -0x1130($at) /* 07DBB0 8007CFB0 03200008 */ jr $t9 /* 07DBB4 8007CFB4 00000000 */ nop glabel L8007CFB8 /* 07DBB8 8007CFB8 24080004 */ li $t0, 4 /* 07DBBC 8007CFBC AFA80010 */ sw $t0, 0x10($sp) /* 07DBC0 8007CFC0 02202025 */ move $a0, $s1 /* 07DBC4 8007CFC4 260500A0 */ addiu $a1, $s0, 0xa0 /* 07DBC8 8007CFC8 24060028 */ li $a2, 40 /* 07DBCC 8007CFCC 24070050 */ li $a3, 80 /* 07DBD0 8007CFD0 AFA00014 */ sw $zero, 0x14($sp) /* 07DBD4 8007CFD4 0C01CE66 */ jal func_80073998 /* 07DBD8 8007CFD8 AFA00018 */ sw $zero, 0x18($sp) /* 07DBDC 8007CFDC 10000020 */ b .L8007D060 /* 07DBE0 8007CFE0 8FBF002C */ lw $ra, 0x2c($sp) glabel L8007CFE4 /* 07DBE4 8007CFE4 24090002 */ li $t1, 2 /* 07DBE8 8007CFE8 240AFFFF */ li $t2, -1 /* 07DBEC 8007CFEC AFAA0018 */ sw $t2, 0x18($sp) /* 07DBF0 8007CFF0 AFA90010 */ sw $t1, 0x10($sp) /* 07DBF4 8007CFF4 02202025 */ move $a0, $s1 /* 07DBF8 8007CFF8 260500A0 */ addiu $a1, $s0, 0xa0 /* 07DBFC 8007CFFC 24060050 */ li $a2, 80 /* 07DC00 8007D000 240700B4 */ li $a3, 180 /* 07DC04 8007D004 0C01CF2C */ jal func_80073CB0 /* 07DC08 8007D008 AFA00014 */ sw $zero, 0x14($sp) /* 07DC0C 8007D00C 860B00AE */ lh $t3, 0xae($s0) /* 07DC10 8007D010 51600006 */ beql $t3, $zero, .L8007D02C /* 07DC14 8007D014 920D00DC */ lbu $t5, 0xdc($s0) /* 07DC18 8007D018 860C00A6 */ lh $t4, 0xa6($s0) /* 07DC1C 8007D01C 24010003 */ li $at, 3 /* 07DC20 8007D020 5581000F */ bnel $t4, $at, .L8007D060 /* 07DC24 8007D024 8FBF002C */ lw $ra, 0x2c($sp) /* 07DC28 8007D028 920D00DC */ lbu $t5, 0xdc($s0) .L8007D02C: /* 07DC2C 8007D02C 25AE0001 */ addiu $t6, $t5, 1 /* 07DC30 8007D030 1000000A */ b .L8007D05C /* 07DC34 8007D034 A20E00DC */ sb $t6, 0xdc($s0) glabel L8007D038 /* 07DC38 8007D038 02202025 */ move $a0, $s1 /* 07DC3C 8007D03C 260500A0 */ addiu $a1, $s0, 0xa0 /* 07DC40 8007D040 00003025 */ move $a2, $zero /* 07DC44 8007D044 0C01CF70 */ jal func_80073DC0 /* 07DC48 8007D048 24070004 */ li $a3, 4 /* 07DC4C 8007D04C 10000004 */ b .L8007D060 /* 07DC50 8007D050 8FBF002C */ lw $ra, 0x2c($sp) glabel L8007D054 /* 07DC54 8007D054 0C01CE21 */ jal func_80073884 /* 07DC58 8007D058 02202025 */ move $a0, $s1 .L8007D05C: glabel L8007D05C /* 07DC5C 8007D05C 8FBF002C */ lw $ra, 0x2c($sp) .L8007D060: /* 07DC60 8007D060 8FB00024 */ lw $s0, 0x24($sp) /* 07DC64 8007D064 8FB10028 */ lw $s1, 0x28($sp) /* 07DC68 8007D068 03E00008 */ jr $ra /* 07DC6C 8007D06C 27BD0030 */ addiu $sp, $sp, 0x30 /* 07DC70 8007D070 27BDFFA0 */ addiu $sp, $sp, -0x60 /* 07DC74 8007D074 3C0E8016 */ lui $t6, %hi(D_8016559C) # $t6, 0x8016 /* 07DC78 8007D078 8DCE559C */ lw $t6, %lo(D_8016559C)($t6) /* 07DC7C 8007D07C AFBF003C */ sw $ra, 0x3c($sp) /* 07DC80 8007D080 AFBE0038 */ sw $fp, 0x38($sp) /* 07DC84 8007D084 AFB70034 */ sw $s7, 0x34($sp) /* 07DC88 8007D088 AFB60030 */ sw $s6, 0x30($sp) /* 07DC8C 8007D08C AFB5002C */ sw $s5, 0x2c($sp) /* 07DC90 8007D090 AFB40028 */ sw $s4, 0x28($sp) /* 07DC94 8007D094 AFB30024 */ sw $s3, 0x24($sp) /* 07DC98 8007D098 AFB20020 */ sw $s2, 0x20($sp) /* 07DC9C 8007D09C AFB1001C */ sw $s1, 0x1c($sp) /* 07DCA0 8007D0A0 AFB00018 */ sw $s0, 0x18($sp) /* 07DCA4 8007D0A4 15C0006C */ bnez $t6, .L8007D258 /* 07DCA8 8007D0A8 00001025 */ move $v0, $zero /* 07DCAC 8007D0AC 3C0F8019 */ lui $t7, %hi(D_8018D2A4) # $t7, 0x8019 /* 07DCB0 8007D0B0 8DEFD2A4 */ lw $t7, %lo(D_8018D2A4)($t7) /* 07DCB4 8007D0B4 3C038019 */ lui $v1, %hi(D_8018CF68) # $v1, 0x8019 /* 07DCB8 8007D0B8 11E00067 */ beqz $t7, .L8007D258 /* 07DCBC 8007D0BC 00000000 */ nop /* 07DCC0 8007D0C0 8463CF68 */ lh $v1, %lo(D_8018CF68)($v1) /* 07DCC4 8007D0C4 3C18800E */ lui $t8, %hi(D_800E5DB4) /* 07DCC8 8007D0C8 2861001D */ slti $at, $v1, 0x1d /* 07DCCC 8007D0CC 10200062 */ beqz $at, .L8007D258 /* 07DCD0 8007D0D0 0303C021 */ addu $t8, $t8, $v1 /* 07DCD4 8007D0D4 83185DB4 */ lb $t8, %lo(D_800E5DB4)($t8) /* 07DCD8 8007D0D8 24010001 */ li $at, 1 /* 07DCDC 8007D0DC 3C198019 */ lui $t9, %hi(D_8018C1D8) # $t9, 0x8019 /* 07DCE0 8007D0E0 1701005D */ bne $t8, $at, .L8007D258 /* 07DCE4 8007D0E4 00000000 */ nop /* 07DCE8 8007D0E8 8F39C1D8 */ lw $t9, %lo(D_8018C1D8)($t9) /* 07DCEC 8007D0EC 241700E0 */ li $s7, 224 /* 07DCF0 8007D0F0 3C168016 */ lui $s6, %hi(D_80165C18) # $s6, 0x8016 /* 07DCF4 8007D0F4 03370019 */ multu $t9, $s7 /* 07DCF8 8007D0F8 26D65C18 */ addiu $s6, %lo(D_80165C18) # addiu $s6, $s6, 0x5c18 /* 07DCFC 8007D0FC 3C048019 */ lui $a0, %hi(D_8018C1B0) # $a0, 0x8019 /* 07DD00 8007D100 2484C1B0 */ addiu $a0, %lo(D_8018C1B0) # addiu $a0, $a0, -0x3e50 /* 07DD04 8007D104 2403001E */ li $v1, 30 /* 07DD08 8007D108 00004012 */ mflo $t0 /* 07DD0C 8007D10C 02C84821 */ addu $t1, $s6, $t0 /* 07DD10 8007D110 852A00A6 */ lh $t2, 0xa6($t1) /* 07DD14 8007D114 1140000C */ beqz $t2, .L8007D148 /* 07DD18 8007D118 00000000 */ nop /* 07DD1C 8007D11C 24420001 */ addiu $v0, $v0, 1 .L8007D120: /* 07DD20 8007D120 10430009 */ beq $v0, $v1, .L8007D148 /* 07DD24 8007D124 00025880 */ sll $t3, $v0, 2 /* 07DD28 8007D128 008B6021 */ addu $t4, $a0, $t3 /* 07DD2C 8007D12C 8D8D0028 */ lw $t5, 0x28($t4) /* 07DD30 8007D130 01B70019 */ multu $t5, $s7 /* 07DD34 8007D134 00007012 */ mflo $t6 /* 07DD38 8007D138 02CE7821 */ addu $t7, $s6, $t6 /* 07DD3C 8007D13C 85F800A6 */ lh $t8, 0xa6($t7) /* 07DD40 8007D140 5700FFF7 */ bnel $t8, $zero, .L8007D120 /* 07DD44 8007D144 24420001 */ addiu $v0, $v0, 1 .L8007D148: /* 07DD48 8007D148 3C048019 */ lui $a0, %hi(D_8018C1B0) # $a0, 0x8019 /* 07DD4C 8007D14C 2484C1B0 */ addiu $a0, %lo(D_8018C1B0) # addiu $a0, $a0, -0x3e50 /* 07DD50 8007D150 0002C880 */ sll $t9, $v0, 2 /* 07DD54 8007D154 2403001E */ li $v1, 30 /* 07DD58 8007D158 00994021 */ addu $t0, $a0, $t9 /* 07DD5C 8007D15C 1043003E */ beq $v0, $v1, .L8007D258 /* 07DD60 8007D160 8D110028 */ lw $s1, 0x28($t0) /* 07DD64 8007D164 02370019 */ multu $s1, $s7 /* 07DD68 8007D168 02202025 */ move $a0, $s1 /* 07DD6C 8007D16C 00004812 */ mflo $t1 /* 07DD70 8007D170 02C98021 */ addu $s0, $s6, $t1 /* 07DD74 8007D174 860A00A6 */ lh $t2, 0xa6($s0) /* 07DD78 8007D178 15400037 */ bnez $t2, .L8007D258 /* 07DD7C 8007D17C 00000000 */ nop /* 07DD80 8007D180 0C01C8E9 */ jal func_800723A4 /* 07DD84 8007D184 24050001 */ li $a1, 1 /* 07DD88 8007D188 0C0ADF8D */ jal random_int /* 07DD8C 8007D18C 2404012C */ li $a0, 300 /* 07DD90 8007D190 00029400 */ sll $s2, $v0, 0x10 /* 07DD94 8007D194 00125C03 */ sra $t3, $s2, 0x10 /* 07DD98 8007D198 01609025 */ move $s2, $t3 /* 07DD9C 8007D19C 0C0ADF8D */ jal random_int /* 07DDA0 8007D1A0 24041000 */ li $a0, 4096 /* 07DDA4 8007D1A4 2453F800 */ addiu $s3, $v0, -0x800 /* 07DDA8 8007D1A8 326CFFFF */ andi $t4, $s3, 0xffff /* 07DDAC 8007D1AC 01809825 */ move $s3, $t4 /* 07DDB0 8007D1B0 0C0ADF8D */ jal random_int /* 07DDB4 8007D1B4 2404000F */ li $a0, 15 /* 07DDB8 8007D1B8 3C1E8019 */ lui $fp, %hi(D_8018CF1C) # $fp, 0x8019 /* 07DDBC 8007D1BC 27DECF1C */ addiu $fp, %lo(D_8018CF1C) # addiu $fp, $fp, -0x30e4 /* 07DDC0 8007D1C0 8FCF0000 */ lw $t7, ($fp) /* 07DDC4 8007D1C4 34018000 */ li $at, 32768 /* 07DDC8 8007D1C8 3C088019 */ lui $t0, %hi(D_8018CF14) # $t0, 0x8019 /* 07DDCC 8007D1CC 85F8002E */ lh $t8, 0x2e($t7) /* 07DDD0 8007D1D0 2454FFFB */ addiu $s4, $v0, -5 /* 07DDD4 8007D1D4 00146C00 */ sll $t5, $s4, 0x10 /* 07DDD8 8007D1D8 0301C821 */ addu $t9, $t8, $at /* 07DDDC 8007D1DC A61900C0 */ sh $t9, 0xc0($s0) /* 07DDE0 8007D1E0 8D08CF14 */ lw $t0, %lo(D_8018CF14)($t0) /* 07DDE4 8007D1E4 000DA403 */ sra $s4, $t5, 0x10 /* 07DDE8 8007D1E8 85090026 */ lh $t1, 0x26($t0) /* 07DDEC 8007D1EC 01338821 */ addu $s1, $t1, $s3 /* 07DDF0 8007D1F0 322AFFFF */ andi $t2, $s1, 0xffff /* 07DDF4 8007D1F4 01408825 */ move $s1, $t2 /* 07DDF8 8007D1F8 0C0AE006 */ jal func_802B8018 /* 07DDFC 8007D1FC 3144FFFF */ andi $a0, $t2, 0xffff /* 07DE00 8007D200 44922000 */ mtc1 $s2, $f4 /* 07DE04 8007D204 8FCB0000 */ lw $t3, ($fp) /* 07DE08 8007D208 44948000 */ mtc1 $s4, $f16 /* 07DE0C 8007D20C 468020A0 */ cvt.s.w $f2, $f4 /* 07DE10 8007D210 C5680014 */ lwc1 $f8, 0x14($t3) /* 07DE14 8007D214 3224FFFF */ andi $a0, $s1, 0xffff /* 07DE18 8007D218 468084A0 */ cvt.s.w $f18, $f16 /* 07DE1C 8007D21C 46020182 */ mul.s $f6, $f0, $f2 /* 07DE20 8007D220 E7A20044 */ swc1 $f2, 0x44($sp) /* 07DE24 8007D224 E6120014 */ swc1 $f18, 0x14($s0) /* 07DE28 8007D228 46083280 */ add.s $f10, $f6, $f8 /* 07DE2C 8007D22C 0C0AE00E */ jal func_802B8038 /* 07DE30 8007D230 E60A0010 */ swc1 $f10, 0x10($s0) /* 07DE34 8007D234 C7A20044 */ lwc1 $f2, 0x44($sp) /* 07DE38 8007D238 8FCC0000 */ lw $t4, ($fp) /* 07DE3C 8007D23C 3C0D800E */ lui $t5, %hi(D_800E5D54) # $t5, 0x800e /* 07DE40 8007D240 46020102 */ mul.s $f4, $f0, $f2 /* 07DE44 8007D244 C586001C */ lwc1 $f6, 0x1c($t4) /* 07DE48 8007D248 25AD5D54 */ addiu $t5, %lo(D_800E5D54) # addiu $t5, $t5, 0x5d54 /* 07DE4C 8007D24C AE0D0080 */ sw $t5, 0x80($s0) /* 07DE50 8007D250 46062200 */ add.s $f8, $f4, $f6 /* 07DE54 8007D254 E6080018 */ swc1 $f8, 0x18($s0) .L8007D258: /* 07DE58 8007D258 3C168016 */ lui $s6, %hi(D_80165C18) # $s6, 0x8016 /* 07DE5C 8007D25C 3C1E8019 */ lui $fp, %hi(D_8018CF1C) # $fp, 0x8019 /* 07DE60 8007D260 3C128019 */ lui $s2, %hi(D_8018C1B0) # $s2, 0x8019 /* 07DE64 8007D264 3C15800E */ lui $s5, %hi(D_800E4470) # $s5, 0x800e /* 07DE68 8007D268 3C148019 */ lui $s4, %hi(D_8018C228) # $s4, 0x8019 /* 07DE6C 8007D26C 3C13800E */ lui $s3, %hi(D_800E44B0) # $s3, 0x800e /* 07DE70 8007D270 27DECF1C */ addiu $fp, %lo(D_8018CF1C) # addiu $fp, $fp, -0x30e4 /* 07DE74 8007D274 26D65C18 */ addiu $s6, %lo(D_80165C18) # addiu $s6, $s6, 0x5c18 /* 07DE78 8007D278 241700E0 */ li $s7, 224 /* 07DE7C 8007D27C 267344B0 */ addiu $s3, %lo(D_800E44B0) # addiu $s3, $s3, 0x44b0 /* 07DE80 8007D280 2694C228 */ addiu $s4, %lo(D_8018C228) # addiu $s4, $s4, -0x3dd8 /* 07DE84 8007D284 26B54470 */ addiu $s5, %lo(D_800E4470) # addiu $s5, $s5, 0x4470 /* 07DE88 8007D288 2652C1B0 */ addiu $s2, %lo(D_8018C1B0) # addiu $s2, $s2, -0x3e50 /* 07DE8C 8007D28C 8E510028 */ lw $s1, 0x28($s2) .L8007D290: /* 07DE90 8007D290 02370019 */ multu $s1, $s7 /* 07DE94 8007D294 00007012 */ mflo $t6 /* 07DE98 8007D298 02CE8021 */ addu $s0, $s6, $t6 /* 07DE9C 8007D29C 860F00A6 */ lh $t7, 0xa6($s0) /* 07DEA0 8007D2A0 51E00021 */ beql $t7, $zero, .L8007D328 /* 07DEA4 8007D2A4 26520004 */ addiu $s2, $s2, 4 /* 07DEA8 8007D2A8 0C01F3B7 */ jal func_8007CEDC /* 07DEAC 8007D2AC 02202025 */ move $a0, $s1 /* 07DEB0 8007D2B0 0C022DC9 */ jal func_8008B724 /* 07DEB4 8007D2B4 02202025 */ move $a0, $s1 /* 07DEB8 8007D2B8 C60A0028 */ lwc1 $f10, 0x28($s0) /* 07DEBC 8007D2BC C6100010 */ lwc1 $f16, 0x10($s0) /* 07DEC0 8007D2C0 8FC50000 */ lw $a1, ($fp) /* 07DEC4 8007D2C4 C6060014 */ lwc1 $f6, 0x14($s0) /* 07DEC8 8007D2C8 46105480 */ add.s $f18, $f10, $f16 /* 07DECC 8007D2CC C60A002C */ lwc1 $f10, 0x2c($s0) /* 07DED0 8007D2D0 3C068019 */ lui $a2, %hi(D_8018CF14) # $a2, 0x8019 /* 07DED4 8007D2D4 02202025 */ move $a0, $s1 /* 07DED8 8007D2D8 E6120004 */ swc1 $f18, 4($s0) /* 07DEDC 8007D2DC C4A40074 */ lwc1 $f4, 0x74($a1) /* 07DEE0 8007D2E0 C6120030 */ lwc1 $f18, 0x30($s0) /* 07DEE4 8007D2E4 46062200 */ add.s $f8, $f4, $f6 /* 07DEE8 8007D2E8 C6040018 */ lwc1 $f4, 0x18($s0) /* 07DEEC 8007D2EC 46085400 */ add.s $f16, $f10, $f8 /* 07DEF0 8007D2F0 46049180 */ add.s $f6, $f18, $f4 /* 07DEF4 8007D2F4 E6100008 */ swc1 $f16, 8($s0) /* 07DEF8 8007D2F8 E606000C */ swc1 $f6, 0xc($s0) /* 07DEFC 8007D2FC 0C01F108 */ jal func_8007C420 /* 07DF00 8007D300 8CC6CF14 */ lw $a2, %lo(D_8018CF14)($a2) /* 07DF04 8007D304 02202025 */ move $a0, $s1 /* 07DF08 8007D308 0C01C88F */ jal func_8007223C /* 07DF0C 8007D30C 24050080 */ li $a1, 128 /* 07DF10 8007D310 50400004 */ beql $v0, $zero, .L8007D324 /* 07DF14 8007D314 AE150074 */ sw $s5, 0x74($s0) /* 07DF18 8007D318 10000002 */ b .L8007D324 /* 07DF1C 8007D31C AE130074 */ sw $s3, 0x74($s0) /* 07DF20 8007D320 AE150074 */ sw $s5, 0x74($s0) .L8007D324: /* 07DF24 8007D324 26520004 */ addiu $s2, $s2, 4 .L8007D328: /* 07DF28 8007D328 5654FFD9 */ bnel $s2, $s4, .L8007D290 /* 07DF2C 8007D32C 8E510028 */ lw $s1, 0x28($s2) /* 07DF30 8007D330 8FBF003C */ lw $ra, 0x3c($sp) /* 07DF34 8007D334 8FB00018 */ lw $s0, 0x18($sp) /* 07DF38 8007D338 8FB1001C */ lw $s1, 0x1c($sp) /* 07DF3C 8007D33C 8FB20020 */ lw $s2, 0x20($sp) /* 07DF40 8007D340 8FB30024 */ lw $s3, 0x24($sp) /* 07DF44 8007D344 8FB40028 */ lw $s4, 0x28($sp) /* 07DF48 8007D348 8FB5002C */ lw $s5, 0x2c($sp) /* 07DF4C 8007D34C 8FB60030 */ lw $s6, 0x30($sp) /* 07DF50 8007D350 8FB70034 */ lw $s7, 0x34($sp) /* 07DF54 8007D354 8FBE0038 */ lw $fp, 0x38($sp) /* 07DF58 8007D358 03E00008 */ jr $ra /* 07DF5C 8007D35C 27BD0060 */ addiu $sp, $sp, 0x60 glabel func_8007D360 /* 07DF60 8007D360 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 07DF64 8007D364 24010001 */ li $at, 1 /* 07DF68 8007D368 AFBF001C */ sw $ra, 0x1c($sp) /* 07DF6C 8007D36C AFB00018 */ sw $s0, 0x18($sp) /* 07DF70 8007D370 AFA40020 */ sw $a0, 0x20($sp) /* 07DF74 8007D374 14A10057 */ bne $a1, $at, .L8007D4D4 /* 07DF78 8007D378 AFA50024 */ sw $a1, 0x24($sp) /* 07DF7C 8007D37C 0C0ADF8D */ jal random_int /* 07DF80 8007D380 2404001E */ li $a0, 30 /* 07DF84 8007D384 8FAF0020 */ lw $t7, 0x20($sp) /* 07DF88 8007D388 44823000 */ mtc1 $v0, $f6 /* 07DF8C 8007D38C 3C198016 */ lui $t9, %hi(D_80165C18) # $t9, 0x8016 /* 07DF90 8007D390 000FC0C0 */ sll $t8, $t7, 3 /* 07DF94 8007D394 030FC023 */ subu $t8, $t8, $t7 /* 07DF98 8007D398 0018C140 */ sll $t8, $t8, 5 /* 07DF9C 8007D39C 27395C18 */ addiu $t9, %lo(D_80165C18) # addiu $t9, $t9, 0x5c18 /* 07DFA0 8007D3A0 3C01800F */ lui $at, %hi(D_800EEEE8) /* 07DFA4 8007D3A4 D424EEE8 */ ldc1 $f4, %lo(D_800EEEE8)($at) /* 07DFA8 8007D3A8 03198021 */ addu $s0, $t8, $t9 /* 07DFAC 8007D3AC 04410006 */ bgez $v0, .L8007D3C8 /* 07DFB0 8007D3B0 46803221 */ cvt.d.w $f8, $f6 /* 07DFB4 8007D3B4 3C0141F0 */ li $at, 0x41F00000 # 30.000000 /* 07DFB8 8007D3B8 44815800 */ mtc1 $at, $f11 /* 07DFBC 8007D3BC 44805000 */ mtc1 $zero, $f10 /* 07DFC0 8007D3C0 00000000 */ nop /* 07DFC4 8007D3C4 462A4200 */ add.d $f8, $f8, $f10 .L8007D3C8: /* 07DFC8 8007D3C8 3C018019 */ lui $at, %hi(D_8018D01C) # $at, 0x8019 /* 07DFCC 8007D3CC C432D01C */ lwc1 $f18, %lo(D_8018D01C)($at) /* 07DFD0 8007D3D0 46282401 */ sub.d $f16, $f4, $f8 /* 07DFD4 8007D3D4 24040019 */ li $a0, 25 /* 07DFD8 8007D3D8 460091A1 */ cvt.d.s $f6, $f18 /* 07DFDC 8007D3DC 46268282 */ mul.d $f10, $f16, $f6 /* 07DFE0 8007D3E0 46205120 */ cvt.s.d $f4, $f10 /* 07DFE4 8007D3E4 0C0ADF8D */ jal random_int /* 07DFE8 8007D3E8 E6040010 */ swc1 $f4, 0x10($s0) /* 07DFEC 8007D3EC 44824000 */ mtc1 $v0, $f8 /* 07DFF0 8007D3F0 44803000 */ mtc1 $zero, $f6 /* 07DFF4 8007D3F4 04410006 */ bgez $v0, .L8007D410 /* 07DFF8 8007D3F8 468044A1 */ cvt.d.w $f18, $f8 /* 07DFFC 8007D3FC 3C0141F0 */ li $at, 0x41F00000 # 30.000000 /* 07E000 8007D400 44818800 */ mtc1 $at, $f17 /* 07E004 8007D404 44808000 */ mtc1 $zero, $f16 /* 07E008 8007D408 00000000 */ nop /* 07E00C 8007D40C 46309480 */ add.d $f18, $f18, $f16 .L8007D410: /* 07E010 8007D410 3C014039 */ li $at, 0x40390000 # 2.890625 /* 07E014 8007D414 44813800 */ mtc1 $at, $f7 /* 07E018 8007D418 2404001E */ li $a0, 30 /* 07E01C 8007D41C 46269280 */ add.d $f10, $f18, $f6 /* 07E020 8007D420 46205120 */ cvt.s.d $f4, $f10 /* 07E024 8007D424 0C0ADF8D */ jal random_int /* 07E028 8007D428 E6040014 */ swc1 $f4, 0x14($s0) /* 07E02C 8007D42C 44824000 */ mtc1 $v0, $f8 /* 07E030 8007D430 3C0141F0 */ li $at, 0x41F00000 # 30.000000 /* 07E034 8007D434 04410005 */ bgez $v0, .L8007D44C /* 07E038 8007D438 46804421 */ cvt.d.w $f16, $f8 /* 07E03C 8007D43C 44819800 */ mtc1 $at, $f19 /* 07E040 8007D440 44809000 */ mtc1 $zero, $f18 /* 07E044 8007D444 00000000 */ nop /* 07E048 8007D448 46328400 */ add.d $f16, $f16, $f18 .L8007D44C: /* 07E04C 8007D44C 3C01800F */ lui $at, %hi(D_800EEEF0) /* 07E050 8007D450 D426EEF0 */ ldc1 $f6, %lo(D_800EEEF0)($at) /* 07E054 8007D454 3C018019 */ lui $at, %hi(D_8018D01C) # $at, 0x8019 /* 07E058 8007D458 24040096 */ li $a0, 150 /* 07E05C 8007D45C 46268280 */ add.d $f10, $f16, $f6 /* 07E060 8007D460 46205120 */ cvt.s.d $f4, $f10 /* 07E064 8007D464 E6040018 */ swc1 $f4, 0x18($s0) /* 07E068 8007D468 C428D01C */ lwc1 $f8, %lo(D_8018D01C)($at) /* 07E06C 8007D46C 3C01800F */ lui $at, %hi(D_800EEEF8) /* 07E070 8007D470 D430EEF8 */ ldc1 $f16, %lo(D_800EEEF8)($at) /* 07E074 8007D474 460044A1 */ cvt.d.s $f18, $f8 /* 07E078 8007D478 44802000 */ mtc1 $zero, $f4 /* 07E07C 8007D47C 46309182 */ mul.d $f6, $f18, $f16 /* 07E080 8007D480 E6040020 */ swc1 $f4, 0x20($s0) /* 07E084 8007D484 462032A0 */ cvt.s.d $f10, $f6 /* 07E088 8007D488 0C0ADF8D */ jal random_int /* 07E08C 8007D48C E60A001C */ swc1 $f10, 0x1c($s0) /* 07E090 8007D490 44829000 */ mtc1 $v0, $f18 /* 07E094 8007D494 3C01800F */ lui $at, %hi(D_800EEF00) /* 07E098 8007D498 D428EF00 */ ldc1 $f8, %lo(D_800EEF00)($at) /* 07E09C 8007D49C 04410006 */ bgez $v0, .L8007D4B8 /* 07E0A0 8007D4A0 46809421 */ cvt.d.w $f16, $f18 /* 07E0A4 8007D4A4 3C0141F0 */ li $at, 0x41F00000 # 30.000000 /* 07E0A8 8007D4A8 44813800 */ mtc1 $at, $f7 /* 07E0AC 8007D4AC 44803000 */ mtc1 $zero, $f6 /* 07E0B0 8007D4B0 00000000 */ nop /* 07E0B4 8007D4B4 46268400 */ add.d $f16, $f16, $f6 .L8007D4B8: /* 07E0B8 8007D4B8 46304281 */ sub.d $f10, $f8, $f16 /* 07E0BC 8007D4BC 3408DC00 */ li $t0, 56320 /* 07E0C0 8007D4C0 24090800 */ li $t1, 2048 /* 07E0C4 8007D4C4 A60800BE */ sh $t0, 0xbe($s0) /* 07E0C8 8007D4C8 46205120 */ cvt.s.d $f4, $f10 /* 07E0CC 8007D4CC A60900C6 */ sh $t1, 0xc6($s0) /* 07E0D0 8007D4D0 E6040024 */ swc1 $f4, 0x24($s0) .L8007D4D4: /* 07E0D4 8007D4D4 8FAA0020 */ lw $t2, 0x20($sp) /* 07E0D8 8007D4D8 8FAD0024 */ lw $t5, 0x24($sp) /* 07E0DC 8007D4DC 3C0C8016 */ lui $t4, %hi(D_80165C18) # $t4, 0x8016 /* 07E0E0 8007D4E0 000A58C0 */ sll $t3, $t2, 3 /* 07E0E4 8007D4E4 016A5823 */ subu $t3, $t3, $t2 /* 07E0E8 8007D4E8 000B5940 */ sll $t3, $t3, 5 /* 07E0EC 8007D4EC 258C5C18 */ addiu $t4, %lo(D_80165C18) # addiu $t4, $t4, 0x5c18 /* 07E0F0 8007D4F0 24010002 */ li $at, 2 /* 07E0F4 8007D4F4 15A10032 */ bne $t5, $at, .L8007D5C0 /* 07E0F8 8007D4F8 016C8021 */ addu $s0, $t3, $t4 /* 07E0FC 8007D4FC 0C0ADF8D */ jal random_int /* 07E100 8007D500 2404001E */ li $a0, 30 /* 07E104 8007D504 240EFAA5 */ li $t6, -1371 /* 07E108 8007D508 01C27823 */ subu $t7, $t6, $v0 /* 07E10C 8007D50C 448F9000 */ mtc1 $t7, $f18 /* 07E110 8007D510 3C018019 */ lui $at, %hi(D_8018D01C) # $at, 0x8019 /* 07E114 8007D514 C428D01C */ lwc1 $f8, %lo(D_8018D01C)($at) /* 07E118 8007D518 468091A0 */ cvt.s.w $f6, $f18 /* 07E11C 8007D51C 24040019 */ li $a0, 25 /* 07E120 8007D520 46083402 */ mul.s $f16, $f6, $f8 /* 07E124 8007D524 0C0ADF8D */ jal random_int /* 07E128 8007D528 E6100010 */ swc1 $f16, 0x10($s0) /* 07E12C 8007D52C 2458000F */ addiu $t8, $v0, 0xf /* 07E130 8007D530 44985000 */ mtc1 $t8, $f10 /* 07E134 8007D534 2404001E */ li $a0, 30 /* 07E138 8007D538 46805120 */ cvt.s.w $f4, $f10 /* 07E13C 8007D53C 0C0ADF8D */ jal random_int /* 07E140 8007D540 E6040014 */ swc1 $f4, 0x14($s0) /* 07E144 8007D544 2459FF18 */ addiu $t9, $v0, -0xe8 /* 07E148 8007D548 44999000 */ mtc1 $t9, $f18 /* 07E14C 8007D54C 3C018019 */ lui $at, %hi(D_8018D01C) # $at, 0x8019 /* 07E150 8007D550 240400C8 */ li $a0, 200 /* 07E154 8007D554 468091A0 */ cvt.s.w $f6, $f18 /* 07E158 8007D558 E6060018 */ swc1 $f6, 0x18($s0) /* 07E15C 8007D55C C428D01C */ lwc1 $f8, %lo(D_8018D01C)($at) /* 07E160 8007D560 3C01800F */ lui $at, %hi(D_800EEF08) /* 07E164 8007D564 D42AEF08 */ ldc1 $f10, %lo(D_800EEF08)($at) /* 07E168 8007D568 46004421 */ cvt.d.s $f16, $f8 /* 07E16C 8007D56C 44803000 */ mtc1 $zero, $f6 /* 07E170 8007D570 462A8102 */ mul.d $f4, $f16, $f10 /* 07E174 8007D574 E6060020 */ swc1 $f6, 0x20($s0) /* 07E178 8007D578 462024A0 */ cvt.s.d $f18, $f4 /* 07E17C 8007D57C 0C0ADF8D */ jal random_int /* 07E180 8007D580 E612001C */ swc1 $f18, 0x1c($s0) /* 07E184 8007D584 44824000 */ mtc1 $v0, $f8 /* 07E188 8007D588 3C0141F0 */ li $at, 0x41F00000 # 30.000000 /* 07E18C 8007D58C 04410005 */ bgez $v0, .L8007D5A4 /* 07E190 8007D590 46804421 */ cvt.d.w $f16, $f8 /* 07E194 8007D594 44815800 */ mtc1 $at, $f11 /* 07E198 8007D598 44805000 */ mtc1 $zero, $f10 /* 07E19C 8007D59C 00000000 */ nop /* 07E1A0 8007D5A0 462A8400 */ add.d $f16, $f16, $f10 .L8007D5A4: /* 07E1A4 8007D5A4 3C01800F */ lui $at, %hi(D_800EEF10) /* 07E1A8 8007D5A8 D424EF10 */ ldc1 $f4, %lo(D_800EEF10)($at) /* 07E1AC 8007D5AC A60000BE */ sh $zero, 0xbe($s0) /* 07E1B0 8007D5B0 A60000C6 */ sh $zero, 0xc6($s0) /* 07E1B4 8007D5B4 46248480 */ add.d $f18, $f16, $f4 /* 07E1B8 8007D5B8 462091A0 */ cvt.s.d $f6, $f18 /* 07E1BC 8007D5BC E6060024 */ swc1 $f6, 0x24($s0) .L8007D5C0: /* 07E1C0 8007D5C0 C60C0010 */ lwc1 $f12, 0x10($s0) /* 07E1C4 8007D5C4 C60E001C */ lwc1 $f14, 0x1c($s0) /* 07E1C8 8007D5C8 8E060018 */ lw $a2, 0x18($s0) /* 07E1CC 8007D5CC 0C0105DC */ jal func_80041770 /* 07E1D0 8007D5D0 8E070024 */ lw $a3, 0x24($s0) /* 07E1D4 8007D5D4 A60200C0 */ sh $v0, 0xc0($s0) /* 07E1D8 8007D5D8 A60000C2 */ sh $zero, 0xc2($s0) /* 07E1DC 8007D5DC 8FA40020 */ lw $a0, 0x20($sp) /* 07E1E0 8007D5E0 24050000 */ li $a1, 0 /* 07E1E4 8007D5E4 24060000 */ li $a2, 0 /* 07E1E8 8007D5E8 0C022E03 */ jal func_8008B80C /* 07E1EC 8007D5EC 24070000 */ li $a3, 0 /* 07E1F0 8007D5F0 A60000B0 */ sh $zero, 0xb0($s0) /* 07E1F4 8007D5F4 3C08800E */ lui $t0, %hi(D_800DC548) # $t0, 0x800e /* 07E1F8 8007D5F8 8D08C548 */ lw $t0, %lo(D_800DC548)($t0) /* 07E1FC 8007D5FC 29010002 */ slti $at, $t0, 2 /* 07E200 8007D600 10200013 */ beqz $at, .L8007D650 /* 07E204 8007D604 00000000 */ nop /* 07E208 8007D608 0C0ADF8D */ jal random_int /* 07E20C 8007D60C 24040004 */ li $a0, 4 /* 07E210 8007D610 44824000 */ mtc1 $v0, $f8 /* 07E214 8007D614 44802000 */ mtc1 $zero, $f4 /* 07E218 8007D618 04410006 */ bgez $v0, .L8007D634 /* 07E21C 8007D61C 468042A1 */ cvt.d.w $f10, $f8 /* 07E220 8007D620 3C0141F0 */ li $at, 0x41F00000 # 30.000000 /* 07E224 8007D624 44818800 */ mtc1 $at, $f17 /* 07E228 8007D628 44808000 */ mtc1 $zero, $f16 /* 07E22C 8007D62C 00000000 */ nop /* 07E230 8007D630 46305280 */ add.d $f10, $f10, $f16 .L8007D634: /* 07E234 8007D634 3C014010 */ li $at, 0x40100000 # 2.250000 /* 07E238 8007D638 44812800 */ mtc1 $at, $f5 /* 07E23C 8007D63C 00000000 */ nop /* 07E240 8007D640 46245480 */ add.d $f18, $f10, $f4 /* 07E244 8007D644 462091A0 */ cvt.s.d $f6, $f18 /* 07E248 8007D648 10000012 */ b .L8007D694 /* 07E24C 8007D64C E6060034 */ swc1 $f6, 0x34($s0) .L8007D650: /* 07E250 8007D650 0C0ADF8D */ jal random_int /* 07E254 8007D654 24040004 */ li $a0, 4 /* 07E258 8007D658 44824000 */ mtc1 $v0, $f8 /* 07E25C 8007D65C 44802000 */ mtc1 $zero, $f4 /* 07E260 8007D660 04410006 */ bgez $v0, .L8007D67C /* 07E264 8007D664 46804421 */ cvt.d.w $f16, $f8 /* 07E268 8007D668 3C0141F0 */ li $at, 0x41F00000 # 30.000000 /* 07E26C 8007D66C 44815800 */ mtc1 $at, $f11 /* 07E270 8007D670 44805000 */ mtc1 $zero, $f10 /* 07E274 8007D674 00000000 */ nop /* 07E278 8007D678 462A8400 */ add.d $f16, $f16, $f10 .L8007D67C: /* 07E27C 8007D67C 3C014014 */ li $at, 0x40140000 # 2.312500 /* 07E280 8007D680 44812800 */ mtc1 $at, $f5 /* 07E284 8007D684 00000000 */ nop /* 07E288 8007D688 46248480 */ add.d $f18, $f16, $f4 /* 07E28C 8007D68C 462091A0 */ cvt.s.d $f6, $f18 /* 07E290 8007D690 E6060034 */ swc1 $f6, 0x34($s0) .L8007D694: /* 07E294 8007D694 8FBF001C */ lw $ra, 0x1c($sp) /* 07E298 8007D698 8FB00018 */ lw $s0, 0x18($sp) /* 07E29C 8007D69C 27BD0020 */ addiu $sp, $sp, 0x20 /* 07E2A0 8007D6A0 03E00008 */ jr $ra /* 07E2A4 8007D6A4 00000000 */ nop glabel func_8007D6A8 /* 07E2A8 8007D6A8 000470C0 */ sll $t6, $a0, 3 /* 07E2AC 8007D6AC 01C47023 */ subu $t6, $t6, $a0 /* 07E2B0 8007D6B0 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 07E2B4 8007D6B4 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 07E2B8 8007D6B8 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 07E2BC 8007D6BC 000E7140 */ sll $t6, $t6, 5 /* 07E2C0 8007D6C0 AFBF0014 */ sw $ra, 0x14($sp) /* 07E2C4 8007D6C4 01CF1021 */ addu $v0, $t6, $t7 /* 07E2C8 8007D6C8 2418000D */ li $t8, 13 /* 07E2CC 8007D6CC A05800D5 */ sb $t8, 0xd5($v0) /* 07E2D0 8007D6D0 AFA20018 */ sw $v0, 0x18($sp) /* 07E2D4 8007D6D4 0C01F4D8 */ jal func_8007D360 /* 07E2D8 8007D6D8 AFA40028 */ sw $a0, 0x28($sp) /* 07E2DC 8007D6DC 3C01800F */ lui $at, %hi(D_800EEF18) # $at, 0x800f /* 07E2E0 8007D6E0 C424EF18 */ lwc1 $f4, %lo(D_800EEF18)($at) /* 07E2E4 8007D6E4 8FB90018 */ lw $t9, 0x18($sp) /* 07E2E8 8007D6E8 8FA40028 */ lw $a0, 0x28($sp) /* 07E2EC 8007D6EC 24050200 */ li $a1, 512 /* 07E2F0 8007D6F0 0C01C870 */ jal func_800721C0 /* 07E2F4 8007D6F4 E7240000 */ swc1 $f4, ($t9) /* 07E2F8 8007D6F8 8FA90018 */ lw $t1, 0x18($sp) /* 07E2FC 8007D6FC 24080003 */ li $t0, 3 /* 07E300 8007D700 A52800C8 */ sh $t0, 0xc8($t1) /* 07E304 8007D704 8FBF0014 */ lw $ra, 0x14($sp) /* 07E308 8007D708 27BD0028 */ addiu $sp, $sp, 0x28 /* 07E30C 8007D70C 03E00008 */ jr $ra /* 07E310 8007D710 00000000 */ nop glabel func_8007D714 /* 07E314 8007D714 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 07E318 8007D718 24010001 */ li $at, 1 /* 07E31C 8007D71C AFBF0014 */ sw $ra, 0x14($sp) /* 07E320 8007D720 14810009 */ bne $a0, $at, .L8007D748 /* 07E324 8007D724 AFA40020 */ sw $a0, 0x20($sp) /* 07E328 8007D728 3C048019 */ lui $a0, %hi(D_8018C3F0) # $a0, 0x8019 /* 07E32C 8007D72C 3C058018 */ lui $a1, %hi(D_80183E4C) # $a1, 0x8018 /* 07E330 8007D730 24A53E4C */ addiu $a1, %lo(D_80183E4C) # addiu $a1, $a1, 0x3e4c /* 07E334 8007D734 2484C3F0 */ addiu $a0, %lo(D_8018C3F0) # addiu $a0, $a0, -0x3c10 /* 07E338 8007D738 0C01C811 */ jal func_80072044 /* 07E33C 8007D73C 24060028 */ li $a2, 40 /* 07E340 8007D740 10000008 */ b .L8007D764 /* 07E344 8007D744 00402025 */ move $a0, $v0 .L8007D748: /* 07E348 8007D748 3C048019 */ lui $a0, %hi(D_8018C630) # $a0, 0x8019 /* 07E34C 8007D74C 3C058018 */ lui $a1, %hi(D_80183E5C) # $a1, 0x8018 /* 07E350 8007D750 24A53E5C */ addiu $a1, %lo(D_80183E5C) # addiu $a1, $a1, 0x3e5c /* 07E354 8007D754 2484C630 */ addiu $a0, %lo(D_8018C630) # addiu $a0, $a0, -0x39d0 /* 07E358 8007D758 0C01C811 */ jal func_80072044 /* 07E35C 8007D75C 2406001E */ li $a2, 30 /* 07E360 8007D760 00402025 */ move $a0, $v0 .L8007D764: /* 07E364 8007D764 2401FFFF */ li $at, -1 /* 07E368 8007D768 10410006 */ beq $v0, $at, .L8007D784 /* 07E36C 8007D76C 00002825 */ move $a1, $zero /* 07E370 8007D770 0C01C8E9 */ jal func_800723A4 /* 07E374 8007D774 AFA4001C */ sw $a0, 0x1c($sp) /* 07E378 8007D778 8FA4001C */ lw $a0, 0x1c($sp) /* 07E37C 8007D77C 0C01F5AA */ jal func_8007D6A8 /* 07E380 8007D780 8FA50020 */ lw $a1, 0x20($sp) .L8007D784: /* 07E384 8007D784 8FBF0014 */ lw $ra, 0x14($sp) /* 07E388 8007D788 27BD0020 */ addiu $sp, $sp, 0x20 /* 07E38C 8007D78C 03E00008 */ jr $ra /* 07E390 8007D790 00000000 */ nop glabel func_8007D794 /* 07E394 8007D794 3C02800E */ lui $v0, %hi(D_800DC548) # $v0, 0x800e /* 07E398 8007D798 8C42C548 */ lw $v0, %lo(D_800DC548)($v0) /* 07E39C 8007D79C 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 07E3A0 8007D7A0 AFBF0014 */ sw $ra, 0x14($sp) /* 07E3A4 8007D7A4 14400007 */ bnez $v0, .L8007D7C4 /* 07E3A8 8007D7A8 24010001 */ li $at, 1 /* 07E3AC 8007D7AC 3C063E4C */ lui $a2, (0x3E4CCCCD >> 16) # lui $a2, 0x3e4c /* 07E3B0 8007D7B0 34C6CCCD */ ori $a2, (0x3E4CCCCD & 0xFFFF) # ori $a2, $a2, 0xcccd /* 07E3B4 8007D7B4 0C022681 */ jal func_80089A04 /* 07E3B8 8007D7B8 3C053F00 */ lui $a1, 0x3f00 /* 07E3BC 8007D7BC 1000000E */ b .L8007D7F8 /* 07E3C0 8007D7C0 8FBF0014 */ lw $ra, 0x14($sp) .L8007D7C4: /* 07E3C4 8007D7C4 14410008 */ bne $v0, $at, .L8007D7E8 /* 07E3C8 8007D7C8 3C053E80 */ lui $a1, 0x3e80 /* 07E3CC 8007D7CC 3C053ECC */ lui $a1, (0x3ECCCCCD >> 16) # lui $a1, 0x3ecc /* 07E3D0 8007D7D0 3C063E19 */ lui $a2, (0x3E19999A >> 16) # lui $a2, 0x3e19 /* 07E3D4 8007D7D4 34C6999A */ ori $a2, (0x3E19999A & 0xFFFF) # ori $a2, $a2, 0x999a /* 07E3D8 8007D7D8 0C022681 */ jal func_80089A04 /* 07E3DC 8007D7DC 34A5CCCD */ ori $a1, (0x3ECCCCCD & 0xFFFF) # ori $a1, $a1, 0xcccd /* 07E3E0 8007D7E0 10000005 */ b .L8007D7F8 /* 07E3E4 8007D7E4 8FBF0014 */ lw $ra, 0x14($sp) .L8007D7E8: /* 07E3E8 8007D7E8 3C063DCC */ lui $a2, (0x3DCCCCCD >> 16) # lui $a2, 0x3dcc /* 07E3EC 8007D7EC 0C022681 */ jal func_80089A04 /* 07E3F0 8007D7F0 34C6CCCD */ ori $a2, (0x3DCCCCCD & 0xFFFF) # ori $a2, $a2, 0xcccd /* 07E3F4 8007D7F4 8FBF0014 */ lw $ra, 0x14($sp) .L8007D7F8: /* 07E3F8 8007D7F8 27BD0018 */ addiu $sp, $sp, 0x18 /* 07E3FC 8007D7FC 03E00008 */ jr $ra /* 07E400 8007D800 00000000 */ nop glabel func_8007D804 /* 07E404 8007D804 27BDFFD0 */ addiu $sp, $sp, -0x30 /* 07E408 8007D808 AFB50028 */ sw $s5, 0x28($sp) /* 07E40C 8007D80C 3C15800E */ lui $s5, %hi(gPlayerCountSelection1) # $s5, 0x800e /* 07E410 8007D810 26B5C538 */ addiu $s5, %lo(gPlayerCountSelection1) # addiu $s5, $s5, -0x3ac8 /* 07E414 8007D814 8EAE0000 */ lw $t6, ($s5) /* 07E418 8007D818 AFB40024 */ sw $s4, 0x24($sp) /* 07E41C 8007D81C AFB2001C */ sw $s2, 0x1c($sp) /* 07E420 8007D820 AFB10018 */ sw $s1, 0x18($sp) /* 07E424 8007D824 0080A025 */ move $s4, $a0 /* 07E428 8007D828 AFBF002C */ sw $ra, 0x2c($sp) /* 07E42C 8007D82C AFB30020 */ sw $s3, 0x20($sp) /* 07E430 8007D830 AFB00014 */ sw $s0, 0x14($sp) /* 07E434 8007D834 00009025 */ move $s2, $zero /* 07E438 8007D838 19C00012 */ blez $t6, .L8007D884 /* 07E43C 8007D83C 00008825 */ move $s1, $zero /* 07E440 8007D840 3C13800E */ lui $s3, %hi(D_800DDB40) # $s3, 0x800e /* 07E444 8007D844 2673DB40 */ addiu $s3, %lo(D_800DDB40) # addiu $s3, $s3, -0x24c0 /* 07E448 8007D848 00008025 */ move $s0, $zero /* 07E44C 8007D84C 8E6F0000 */ lw $t7, ($s3) .L8007D850: /* 07E450 8007D850 02802025 */ move $a0, $s4 /* 07E454 8007D854 24064000 */ li $a2, 16384 /* 07E458 8007D858 0C022850 */ jal func_8008A140 /* 07E45C 8007D85C 020F2821 */ addu $a1, $s0, $t7 /* 07E460 8007D860 50400003 */ beql $v0, $zero, .L8007D870 /* 07E464 8007D864 8EB80000 */ lw $t8, ($s5) /* 07E468 8007D868 26520001 */ addiu $s2, $s2, 1 /* 07E46C 8007D86C 8EB80000 */ lw $t8, ($s5) .L8007D870: /* 07E470 8007D870 26310001 */ addiu $s1, $s1, 1 /* 07E474 8007D874 261000B8 */ addiu $s0, $s0, 0xb8 /* 07E478 8007D878 0238082A */ slt $at, $s1, $t8 /* 07E47C 8007D87C 5420FFF4 */ bnel $at, $zero, .L8007D850 /* 07E480 8007D880 8E6F0000 */ lw $t7, ($s3) .L8007D884: /* 07E484 8007D884 8FBF002C */ lw $ra, 0x2c($sp) /* 07E488 8007D888 02401025 */ move $v0, $s2 /* 07E48C 8007D88C 8FB2001C */ lw $s2, 0x1c($sp) /* 07E490 8007D890 8FB00014 */ lw $s0, 0x14($sp) /* 07E494 8007D894 8FB10018 */ lw $s1, 0x18($sp) /* 07E498 8007D898 8FB30020 */ lw $s3, 0x20($sp) /* 07E49C 8007D89C 8FB40024 */ lw $s4, 0x24($sp) /* 07E4A0 8007D8A0 8FB50028 */ lw $s5, 0x28($sp) /* 07E4A4 8007D8A4 03E00008 */ jr $ra /* 07E4A8 8007D8A8 27BD0030 */ addiu $sp, $sp, 0x30 glabel func_8007D8AC /* 07E4AC 8007D8AC 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 07E4B0 8007D8B0 AFBF0014 */ sw $ra, 0x14($sp) /* 07E4B4 8007D8B4 0C01C922 */ jal func_80072488 /* 07E4B8 8007D8B8 AFA40018 */ sw $a0, 0x18($sp) /* 07E4BC 8007D8BC 0C021B9C */ jal func_80086E70 /* 07E4C0 8007D8C0 8FA40018 */ lw $a0, 0x18($sp) /* 07E4C4 8007D8C4 8FBF0014 */ lw $ra, 0x14($sp) /* 07E4C8 8007D8C8 27BD0018 */ addiu $sp, $sp, 0x18 /* 07E4CC 8007D8CC 03E00008 */ jr $ra /* 07E4D0 8007D8D0 00000000 */ nop glabel func_8007D8D4 /* 07E4D4 8007D8D4 000470C0 */ sll $t6, $a0, 3 /* 07E4D8 8007D8D8 01C47023 */ subu $t6, $t6, $a0 /* 07E4DC 8007D8DC 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 07E4E0 8007D8E0 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 07E4E4 8007D8E4 000E7140 */ sll $t6, $t6, 5 /* 07E4E8 8007D8E8 01CF1821 */ addu $v1, $t6, $t7 /* 07E4EC 8007D8EC 846200A6 */ lh $v0, 0xa6($v1) /* 07E4F0 8007D8F0 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 07E4F4 8007D8F4 AFBF0014 */ sw $ra, 0x14($sp) /* 07E4F8 8007D8F8 10400050 */ beqz $v0, .L8007DA3C /* 07E4FC 8007D8FC AFA50024 */ sw $a1, 0x24($sp) /* 07E500 8007D900 24010001 */ li $at, 1 /* 07E504 8007D904 10410005 */ beq $v0, $at, .L8007D91C /* 07E508 8007D908 24010002 */ li $at, 2 /* 07E50C 8007D90C 50410008 */ beql $v0, $at, .L8007D930 /* 07E510 8007D910 AFA30018 */ sw $v1, 0x18($sp) /* 07E514 8007D914 1000004A */ b .L8007DA40 /* 07E518 8007D918 8FBF0014 */ lw $ra, 0x14($sp) .L8007D91C: /* 07E51C 8007D91C 0C01F62B */ jal func_8007D8AC /* 07E520 8007D920 00000000 */ nop /* 07E524 8007D924 10000046 */ b .L8007DA40 /* 07E528 8007D928 8FBF0014 */ lw $ra, 0x14($sp) /* 07E52C 8007D92C AFA30018 */ sw $v1, 0x18($sp) .L8007D930: /* 07E530 8007D930 0C01F601 */ jal func_8007D804 /* 07E534 8007D934 AFA40020 */ sw $a0, 0x20($sp) /* 07E538 8007D938 8FA30018 */ lw $v1, 0x18($sp) /* 07E53C 8007D93C 14400006 */ bnez $v0, .L8007D958 /* 07E540 8007D940 8FA40020 */ lw $a0, 0x20($sp) /* 07E544 8007D944 AFA30018 */ sw $v1, 0x18($sp) /* 07E548 8007D948 0C01C90A */ jal func_80072428 /* 07E54C 8007D94C AFA40020 */ sw $a0, 0x20($sp) /* 07E550 8007D950 8FA30018 */ lw $v1, 0x18($sp) /* 07E554 8007D954 8FA40020 */ lw $a0, 0x20($sp) .L8007D958: /* 07E558 8007D958 8FB80024 */ lw $t8, 0x24($sp) /* 07E55C 8007D95C 24010001 */ li $at, 1 /* 07E560 8007D960 3C19800E */ lui $t9, %hi(gIsMirrorMode) # $t9, 0x800e /* 07E564 8007D964 1701001C */ bne $t8, $at, .L8007D9D8 /* 07E568 8007D968 3C08800E */ lui $t0, %hi(gIsMirrorMode) # $t0, 0x800e /* 07E56C 8007D96C 8F39C604 */ lw $t9, %lo(gIsMirrorMode)($t9) /* 07E570 8007D970 5320000E */ beql $t9, $zero, .L8007D9AC /* 07E574 8007D974 C4700004 */ lwc1 $f16, 4($v1) /* 07E578 8007D978 C4640004 */ lwc1 $f4, 4($v1) /* 07E57C 8007D97C 3C01800F */ lui $at, %hi(D_800EEF20) /* 07E580 8007D980 D428EF20 */ ldc1 $f8, %lo(D_800EEF20)($at) /* 07E584 8007D984 460021A1 */ cvt.d.s $f6, $f4 /* 07E588 8007D988 4626403E */ c.le.d $f8, $f6 /* 07E58C 8007D98C 00000000 */ nop /* 07E590 8007D990 4502002B */ bc1fl .L8007DA40 /* 07E594 8007D994 8FBF0014 */ lw $ra, 0x14($sp) /* 07E598 8007D998 0C01C90A */ jal func_80072428 /* 07E59C 8007D99C 00000000 */ nop /* 07E5A0 8007D9A0 10000027 */ b .L8007DA40 /* 07E5A4 8007D9A4 8FBF0014 */ lw $ra, 0x14($sp) /* 07E5A8 8007D9A8 C4700004 */ lwc1 $f16, 4($v1) .L8007D9AC: /* 07E5AC 8007D9AC 3C01800F */ lui $at, %hi(D_800EEF28) /* 07E5B0 8007D9B0 D42AEF28 */ ldc1 $f10, %lo(D_800EEF28)($at) /* 07E5B4 8007D9B4 460084A1 */ cvt.d.s $f18, $f16 /* 07E5B8 8007D9B8 462A903E */ c.le.d $f18, $f10 /* 07E5BC 8007D9BC 00000000 */ nop /* 07E5C0 8007D9C0 4502001F */ bc1fl .L8007DA40 /* 07E5C4 8007D9C4 8FBF0014 */ lw $ra, 0x14($sp) /* 07E5C8 8007D9C8 0C01C90A */ jal func_80072428 /* 07E5CC 8007D9CC 00000000 */ nop /* 07E5D0 8007D9D0 1000001B */ b .L8007DA40 /* 07E5D4 8007D9D4 8FBF0014 */ lw $ra, 0x14($sp) .L8007D9D8: /* 07E5D8 8007D9D8 8D08C604 */ lw $t0, %lo(gIsMirrorMode)($t0) /* 07E5DC 8007D9DC 5100000E */ beql $t0, $zero, .L8007DA18 /* 07E5E0 8007D9E0 C46A0004 */ lwc1 $f10, 4($v1) /* 07E5E4 8007D9E4 C4640004 */ lwc1 $f4, 4($v1) /* 07E5E8 8007D9E8 3C01800F */ lui $at, %hi(D_800EEF30) /* 07E5EC 8007D9EC D428EF30 */ ldc1 $f8, %lo(D_800EEF30)($at) /* 07E5F0 8007D9F0 460021A1 */ cvt.d.s $f6, $f4 /* 07E5F4 8007D9F4 4626403E */ c.le.d $f8, $f6 /* 07E5F8 8007D9F8 00000000 */ nop /* 07E5FC 8007D9FC 45020010 */ bc1fl .L8007DA40 /* 07E600 8007DA00 8FBF0014 */ lw $ra, 0x14($sp) /* 07E604 8007DA04 0C01C90A */ jal func_80072428 /* 07E608 8007DA08 00000000 */ nop /* 07E60C 8007DA0C 1000000C */ b .L8007DA40 /* 07E610 8007DA10 8FBF0014 */ lw $ra, 0x14($sp) /* 07E614 8007DA14 C46A0004 */ lwc1 $f10, 4($v1) .L8007DA18: /* 07E618 8007DA18 3C01800F */ lui $at, %hi(D_800EEF38) /* 07E61C 8007DA1C D430EF38 */ ldc1 $f16, %lo(D_800EEF38)($at) /* 07E620 8007DA20 460054A1 */ cvt.d.s $f18, $f10 /* 07E624 8007DA24 4630903E */ c.le.d $f18, $f16 /* 07E628 8007DA28 00000000 */ nop /* 07E62C 8007DA2C 45020004 */ bc1fl .L8007DA40 /* 07E630 8007DA30 8FBF0014 */ lw $ra, 0x14($sp) /* 07E634 8007DA34 0C01C90A */ jal func_80072428 /* 07E638 8007DA38 00000000 */ nop .L8007DA3C: /* 07E63C 8007DA3C 8FBF0014 */ lw $ra, 0x14($sp) .L8007DA40: /* 07E640 8007DA40 27BD0020 */ addiu $sp, $sp, 0x20 /* 07E644 8007DA44 03E00008 */ jr $ra /* 07E648 8007DA48 00000000 */ nop glabel func_8007DA4C /* 07E64C 8007DA4C 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 07E650 8007DA50 AFBF0014 */ sw $ra, 0x14($sp) /* 07E654 8007DA54 0C021E07 */ jal func_8008781C /* 07E658 8007DA58 AFA40018 */ sw $a0, 0x18($sp) /* 07E65C 8007DA5C 0C022FC6 */ jal func_8008BF18 /* 07E660 8007DA60 8FA40018 */ lw $a0, 0x18($sp) /* 07E664 8007DA64 8FBF0014 */ lw $ra, 0x14($sp) /* 07E668 8007DA68 27BD0018 */ addiu $sp, $sp, 0x18 /* 07E66C 8007DA6C 03E00008 */ jr $ra /* 07E670 8007DA70 00000000 */ nop glabel func_8007DA74 /* 07E674 8007DA74 000478C0 */ sll $t7, $a0, 3 /* 07E678 8007DA78 01E47823 */ subu $t7, $t7, $a0 /* 07E67C 8007DA7C 3C188016 */ lui $t8, %hi(D_80165C18) # $t8, 0x8016 /* 07E680 8007DA80 27185C18 */ addiu $t8, %lo(D_80165C18) # addiu $t8, $t8, 0x5c18 /* 07E684 8007DA84 000F7940 */ sll $t7, $t7, 5 /* 07E688 8007DA88 01F81821 */ addu $v1, $t7, $t8 /* 07E68C 8007DA8C 846200AE */ lh $v0, 0xae($v1) /* 07E690 8007DA90 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 07E694 8007DA94 AFBF0014 */ sw $ra, 0x14($sp) /* 07E698 8007DA98 10400009 */ beqz $v0, .L8007DAC0 /* 07E69C 8007DA9C AFA40020 */ sw $a0, 0x20($sp) /* 07E6A0 8007DAA0 24010001 */ li $at, 1 /* 07E6A4 8007DAA4 14410006 */ bne $v0, $at, .L8007DAC0 /* 07E6A8 8007DAA8 2405001E */ li $a1, 30 /* 07E6AC 8007DAAC 0C021C18 */ jal func_80087060 /* 07E6B0 8007DAB0 AFA30018 */ sw $v1, 0x18($sp) /* 07E6B4 8007DAB4 10400002 */ beqz $v0, .L8007DAC0 /* 07E6B8 8007DAB8 8FA30018 */ lw $v1, 0x18($sp) /* 07E6BC 8007DABC A46000C6 */ sh $zero, 0xc6($v1) .L8007DAC0: /* 07E6C0 8007DAC0 946400BE */ lhu $a0, 0xbe($v1) /* 07E6C4 8007DAC4 946500C6 */ lhu $a1, 0xc6($v1) /* 07E6C8 8007DAC8 0C0105ED */ jal func_800417B4 /* 07E6CC 8007DACC AFA30018 */ sw $v1, 0x18($sp) /* 07E6D0 8007DAD0 8FA30018 */ lw $v1, 0x18($sp) /* 07E6D4 8007DAD4 8FA40020 */ lw $a0, 0x20($sp) /* 07E6D8 8007DAD8 0C021E11 */ jal func_80087844 /* 07E6DC 8007DADC A46200BE */ sh $v0, 0xbe($v1) /* 07E6E0 8007DAE0 0C022FC6 */ jal func_8008BF18 /* 07E6E4 8007DAE4 8FA40020 */ lw $a0, 0x20($sp) /* 07E6E8 8007DAE8 8FBF0014 */ lw $ra, 0x14($sp) /* 07E6EC 8007DAEC 27BD0020 */ addiu $sp, $sp, 0x20 /* 07E6F0 8007DAF0 03E00008 */ jr $ra /* 07E6F4 8007DAF4 00000000 */ nop glabel func_8007DAF8 /* 07E6F8 8007DAF8 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 07E6FC 8007DAFC 24010001 */ li $at, 1 /* 07E700 8007DB00 10A10006 */ beq $a1, $at, .L8007DB1C /* 07E704 8007DB04 AFBF0014 */ sw $ra, 0x14($sp) /* 07E708 8007DB08 24010002 */ li $at, 2 /* 07E70C 8007DB0C 10A10007 */ beq $a1, $at, .L8007DB2C /* 07E710 8007DB10 00000000 */ nop /* 07E714 8007DB14 10000008 */ b .L8007DB38 /* 07E718 8007DB18 8FBF0014 */ lw $ra, 0x14($sp) .L8007DB1C: /* 07E71C 8007DB1C 0C01F69D */ jal func_8007DA74 /* 07E720 8007DB20 00000000 */ nop /* 07E724 8007DB24 10000004 */ b .L8007DB38 /* 07E728 8007DB28 8FBF0014 */ lw $ra, 0x14($sp) .L8007DB2C: /* 07E72C 8007DB2C 0C01F693 */ jal func_8007DA4C /* 07E730 8007DB30 00000000 */ nop /* 07E734 8007DB34 8FBF0014 */ lw $ra, 0x14($sp) .L8007DB38: /* 07E738 8007DB38 27BD0018 */ addiu $sp, $sp, 0x18 /* 07E73C 8007DB3C 03E00008 */ jr $ra /* 07E740 8007DB40 00000000 */ nop glabel func_8007DB44 /* 07E744 8007DB44 27BDFFB8 */ addiu $sp, $sp, -0x48 /* 07E748 8007DB48 3C038019 */ lui $v1, %hi(D_8018CFC8) # $v1, 0x8019 /* 07E74C 8007DB4C 2463CFC8 */ addiu $v1, %lo(D_8018CFC8) # addiu $v1, $v1, -0x3038 /* 07E750 8007DB50 84620000 */ lh $v0, ($v1) /* 07E754 8007DB54 AFBF0044 */ sw $ra, 0x44($sp) /* 07E758 8007DB58 AFB60040 */ sw $s6, 0x40($sp) /* 07E75C 8007DB5C AFB5003C */ sw $s5, 0x3c($sp) /* 07E760 8007DB60 AFB40038 */ sw $s4, 0x38($sp) /* 07E764 8007DB64 AFB30034 */ sw $s3, 0x34($sp) /* 07E768 8007DB68 AFB20030 */ sw $s2, 0x30($sp) /* 07E76C 8007DB6C AFB1002C */ sw $s1, 0x2c($sp) /* 07E770 8007DB70 10400003 */ beqz $v0, .L8007DB80 /* 07E774 8007DB74 AFB00028 */ sw $s0, 0x28($sp) /* 07E778 8007DB78 244EFFFF */ addiu $t6, $v0, -1 /* 07E77C 8007DB7C A46E0000 */ sh $t6, ($v1) .L8007DB80: /* 07E780 8007DB80 3C088019 */ lui $t0, %hi(D_8018D000) # $t0, 0x8019 /* 07E784 8007DB84 2508D000 */ addiu $t0, %lo(D_8018D000) # addiu $t0, $t0, -0x3000 /* 07E788 8007DB88 85020000 */ lh $v0, ($t0) /* 07E78C 8007DB8C 3C108018 */ lui $s0, %hi(D_80183EA0) # $s0, 0x8018 /* 07E790 8007DB90 00002825 */ move $a1, $zero /* 07E794 8007DB94 10400003 */ beqz $v0, .L8007DBA4 /* 07E798 8007DB98 24060003 */ li $a2, 3 /* 07E79C 8007DB9C 244FFFFF */ addiu $t7, $v0, -1 /* 07E7A0 8007DBA0 A50F0000 */ sh $t7, ($t0) .L8007DBA4: /* 07E7A4 8007DBA4 8E103EA0 */ lw $s0, %lo(D_80183EA0)($s0) /* 07E7A8 8007DBA8 2418FFFF */ li $t8, -1 /* 07E7AC 8007DBAC AFB80014 */ sw $t8, 0x14($sp) /* 07E7B0 8007DBB0 24070001 */ li $a3, 1 /* 07E7B4 8007DBB4 AFA00010 */ sw $zero, 0x10($sp) /* 07E7B8 8007DBB8 0C01CB95 */ jal func_80072E54 /* 07E7BC 8007DBBC 02002025 */ move $a0, $s0 /* 07E7C0 8007DBC0 0C01CD45 */ jal func_80073514 /* 07E7C4 8007DBC4 02002025 */ move $a0, $s0 /* 07E7C8 8007DBC8 241600E0 */ li $s6, 224 /* 07E7CC 8007DBCC 02160019 */ multu $s0, $s6 /* 07E7D0 8007DBD0 3C158016 */ lui $s5, %hi(D_80165C18) # $s5, 0x8016 /* 07E7D4 8007DBD4 26B55C18 */ addiu $s5, %lo(D_80165C18) # addiu $s5, $s5, 0x5c18 /* 07E7D8 8007DBD8 24090400 */ li $t1, 1024 /* 07E7DC 8007DBDC 240AFFFF */ li $t2, -1 /* 07E7E0 8007DBE0 AFAA0018 */ sw $t2, 0x18($sp) /* 07E7E4 8007DBE4 AFA90010 */ sw $t1, 0x10($sp) /* 07E7E8 8007DBE8 02002025 */ move $a0, $s0 /* 07E7EC 8007DBEC 2406F000 */ li $a2, -4096 /* 07E7F0 8007DBF0 24071000 */ li $a3, 4096 /* 07E7F4 8007DBF4 0000C812 */ mflo $t9 /* 07E7F8 8007DBF8 02B98821 */ addu $s1, $s5, $t9 /* 07E7FC 8007DBFC 262500A0 */ addiu $a1, $s1, 0xa0 /* 07E800 8007DC00 0C01CF2C */ jal func_80073CB0 /* 07E804 8007DC04 AFA00014 */ sw $zero, 0x14($sp) /* 07E808 8007DC08 862B00A0 */ lh $t3, 0xa0($s1) /* 07E80C 8007DC0C 34018000 */ li $at, 32768 /* 07E810 8007DC10 3C0D8019 */ lui $t5, %hi(D_8018CFB0) # $t5, 0x8019 /* 07E814 8007DC14 01616021 */ addu $t4, $t3, $at /* 07E818 8007DC18 A62C00B6 */ sh $t4, 0xb6($s1) /* 07E81C 8007DC1C 85ADCFB0 */ lh $t5, %lo(D_8018CFB0)($t5) /* 07E820 8007DC20 3C138019 */ lui $s3, %hi(D_8018CFD8) # $s3, 0x8019 /* 07E824 8007DC24 2673CFD8 */ addiu $s3, %lo(D_8018CFD8) # addiu $s3, $s3, -0x3028 /* 07E828 8007DC28 15A00003 */ bnez $t5, .L8007DC38 /* 07E82C 8007DC2C 3C0E8019 */ lui $t6, %hi(D_8018CFC8) # $t6, 0x8019 /* 07E830 8007DC30 85CECFC8 */ lh $t6, %lo(D_8018CFC8)($t6) /* 07E834 8007DC34 11C00028 */ beqz $t6, .L8007DCD8 .L8007DC38: /* 07E838 8007DC38 3C128019 */ lui $s2, %hi(D_8018C3F0) # $s2, 0x8019 /* 07E83C 8007DC3C A6600000 */ sh $zero, ($s3) /* 07E840 8007DC40 2652C3F0 */ addiu $s2, %lo(D_8018C3F0) # addiu $s2, $s2, -0x3c10 /* 07E844 8007DC44 2414FFFF */ li $s4, -1 /* 07E848 8007DC48 8E500000 */ lw $s0, ($s2) .L8007DC4C: /* 07E84C 8007DC4C 12140017 */ beq $s0, $s4, .L8007DCAC /* 07E850 8007DC50 00000000 */ nop /* 07E854 8007DC54 02160019 */ multu $s0, $s6 /* 07E858 8007DC58 02002025 */ move $a0, $s0 /* 07E85C 8007DC5C 00007812 */ mflo $t7 /* 07E860 8007DC60 02AF8821 */ addu $s1, $s5, $t7 /* 07E864 8007DC64 863800A6 */ lh $t8, 0xa6($s1) /* 07E868 8007DC68 13000010 */ beqz $t8, .L8007DCAC /* 07E86C 8007DC6C 00000000 */ nop /* 07E870 8007DC70 0C01F635 */ jal func_8007D8D4 /* 07E874 8007DC74 24050001 */ li $a1, 1 /* 07E878 8007DC78 02002025 */ move $a0, $s0 /* 07E87C 8007DC7C 0C01F6BE */ jal func_8007DAF8 /* 07E880 8007DC80 24050001 */ li $a1, 1 /* 07E884 8007DC84 0C01F5E5 */ jal func_8007D794 /* 07E888 8007DC88 02002025 */ move $a0, $s0 /* 07E88C 8007DC8C 863900A6 */ lh $t9, 0xa6($s1) /* 07E890 8007DC90 57200004 */ bnel $t9, $zero, .L8007DCA4 /* 07E894 8007DC94 86690000 */ lh $t1, ($s3) /* 07E898 8007DC98 0C01C840 */ jal func_80072100 /* 07E89C 8007DC9C 02402025 */ move $a0, $s2 /* 07E8A0 8007DCA0 86690000 */ lh $t1, ($s3) .L8007DCA4: /* 07E8A4 8007DCA4 252A0001 */ addiu $t2, $t1, 1 /* 07E8A8 8007DCA8 A66A0000 */ sh $t2, ($s3) .L8007DCAC: /* 07E8AC 8007DCAC 3C0B8019 */ lui $t3, %hi(D_8018C490) # $t3, 0x8019 /* 07E8B0 8007DCB0 256BC490 */ addiu $t3, %lo(D_8018C490) # addiu $t3, $t3, -0x3b70 /* 07E8B4 8007DCB4 26520004 */ addiu $s2, $s2, 4 /* 07E8B8 8007DCB8 564BFFE4 */ bnel $s2, $t3, .L8007DC4C /* 07E8BC 8007DCBC 8E500000 */ lw $s0, ($s2) /* 07E8C0 8007DCC0 866C0000 */ lh $t4, ($s3) /* 07E8C4 8007DCC4 240D012C */ li $t5, 300 /* 07E8C8 8007DCC8 3C018019 */ lui $at, %hi(D_8018CFC8) # $at, 0x8019 /* 07E8CC 8007DCCC 11800002 */ beqz $t4, .L8007DCD8 /* 07E8D0 8007DCD0 00000000 */ nop /* 07E8D4 8007DCD4 A42DCFC8 */ sh $t5, %lo(D_8018CFC8)($at) .L8007DCD8: /* 07E8D8 8007DCD8 3C0E8019 */ lui $t6, %hi(D_8018CFE8) # $t6, 0x8019 /* 07E8DC 8007DCDC 85CECFE8 */ lh $t6, %lo(D_8018CFE8)($t6) /* 07E8E0 8007DCE0 2414FFFF */ li $s4, -1 /* 07E8E4 8007DCE4 3C0F8019 */ lui $t7, %hi(D_8018D000) # $t7, 0x8019 /* 07E8E8 8007DCE8 15C00003 */ bnez $t6, .L8007DCF8 /* 07E8EC 8007DCEC 3C138019 */ lui $s3, %hi(D_8018D010) # $s3, 0x8019 /* 07E8F0 8007DCF0 85EFD000 */ lh $t7, %lo(D_8018D000)($t7) /* 07E8F4 8007DCF4 11E00028 */ beqz $t7, .L8007DD98 .L8007DCF8: /* 07E8F8 8007DCF8 2673D010 */ addiu $s3, %lo(D_8018D010) # addiu $s3, $s3, -0x2ff0 /* 07E8FC 8007DCFC 3C128019 */ lui $s2, %hi(D_8018C630) # $s2, 0x8019 /* 07E900 8007DD00 A6600000 */ sh $zero, ($s3) /* 07E904 8007DD04 2652C630 */ addiu $s2, %lo(D_8018C630) # addiu $s2, $s2, -0x39d0 /* 07E908 8007DD08 8E500000 */ lw $s0, ($s2) .L8007DD0C: /* 07E90C 8007DD0C 12140017 */ beq $s0, $s4, .L8007DD6C /* 07E910 8007DD10 00000000 */ nop /* 07E914 8007DD14 02160019 */ multu $s0, $s6 /* 07E918 8007DD18 02002025 */ move $a0, $s0 /* 07E91C 8007DD1C 0000C012 */ mflo $t8 /* 07E920 8007DD20 02B88821 */ addu $s1, $s5, $t8 /* 07E924 8007DD24 863900A6 */ lh $t9, 0xa6($s1) /* 07E928 8007DD28 13200010 */ beqz $t9, .L8007DD6C /* 07E92C 8007DD2C 00000000 */ nop /* 07E930 8007DD30 0C01F635 */ jal func_8007D8D4 /* 07E934 8007DD34 24050002 */ li $a1, 2 /* 07E938 8007DD38 02002025 */ move $a0, $s0 /* 07E93C 8007DD3C 0C01F6BE */ jal func_8007DAF8 /* 07E940 8007DD40 24050002 */ li $a1, 2 /* 07E944 8007DD44 0C01F5E5 */ jal func_8007D794 /* 07E948 8007DD48 02002025 */ move $a0, $s0 /* 07E94C 8007DD4C 862900A6 */ lh $t1, 0xa6($s1) /* 07E950 8007DD50 55200004 */ bnel $t1, $zero, .L8007DD64 /* 07E954 8007DD54 866A0000 */ lh $t2, ($s3) /* 07E958 8007DD58 0C01C840 */ jal func_80072100 /* 07E95C 8007DD5C 02402025 */ move $a0, $s2 /* 07E960 8007DD60 866A0000 */ lh $t2, ($s3) .L8007DD64: /* 07E964 8007DD64 254B0001 */ addiu $t3, $t2, 1 /* 07E968 8007DD68 A66B0000 */ sh $t3, ($s3) .L8007DD6C: /* 07E96C 8007DD6C 3C0C8019 */ lui $t4, %hi(D_8018C6A8) # $t4, 0x8019 /* 07E970 8007DD70 258CC6A8 */ addiu $t4, %lo(D_8018C6A8) # addiu $t4, $t4, -0x3958 /* 07E974 8007DD74 26520004 */ addiu $s2, $s2, 4 /* 07E978 8007DD78 564CFFE4 */ bnel $s2, $t4, .L8007DD0C /* 07E97C 8007DD7C 8E500000 */ lw $s0, ($s2) /* 07E980 8007DD80 866D0000 */ lh $t5, ($s3) /* 07E984 8007DD84 240E012C */ li $t6, 300 /* 07E988 8007DD88 3C018019 */ lui $at, %hi(D_8018D000) # $at, 0x8019 /* 07E98C 8007DD8C 51A00003 */ beql $t5, $zero, .L8007DD9C /* 07E990 8007DD90 8FBF0044 */ lw $ra, 0x44($sp) /* 07E994 8007DD94 A42ED000 */ sh $t6, %lo(D_8018D000)($at) .L8007DD98: /* 07E998 8007DD98 8FBF0044 */ lw $ra, 0x44($sp) .L8007DD9C: /* 07E99C 8007DD9C 8FB00028 */ lw $s0, 0x28($sp) /* 07E9A0 8007DDA0 8FB1002C */ lw $s1, 0x2c($sp) /* 07E9A4 8007DDA4 8FB20030 */ lw $s2, 0x30($sp) /* 07E9A8 8007DDA8 8FB30034 */ lw $s3, 0x34($sp) /* 07E9AC 8007DDAC 8FB40038 */ lw $s4, 0x38($sp) /* 07E9B0 8007DDB0 8FB5003C */ lw $s5, 0x3c($sp) /* 07E9B4 8007DDB4 8FB60040 */ lw $s6, 0x40($sp) /* 07E9B8 8007DDB8 03E00008 */ jr $ra /* 07E9BC 8007DDBC 27BD0048 */ addiu $sp, $sp, 0x48 glabel func_8007DDC0 /* 07E9C0 8007DDC0 000478C0 */ sll $t7, $a0, 3 /* 07E9C4 8007DDC4 27BDFFD0 */ addiu $sp, $sp, -0x30 /* 07E9C8 8007DDC8 01E47823 */ subu $t7, $t7, $a0 /* 07E9CC 8007DDCC 3C188016 */ lui $t8, %hi(D_80165C18) # $t8, 0x8016 /* 07E9D0 8007DDD0 AFB00018 */ sw $s0, 0x18($sp) /* 07E9D4 8007DDD4 27185C18 */ addiu $t8, %lo(D_80165C18) # addiu $t8, $t8, 0x5c18 /* 07E9D8 8007DDD8 000F7940 */ sll $t7, $t7, 5 /* 07E9DC 8007DDDC 01F88021 */ addu $s0, $t7, $t8 /* 07E9E0 8007DDE0 8E02004C */ lw $v0, 0x4c($s0) /* 07E9E4 8007DDE4 AFBF001C */ sw $ra, 0x1c($sp) /* 07E9E8 8007DDE8 AFA40030 */ sw $a0, 0x30($sp) /* 07E9EC 8007DDEC 18400005 */ blez $v0, .L8007DE04 /* 07E9F0 8007DDF0 2459FFFF */ addiu $t9, $v0, -1 /* 07E9F4 8007DDF4 17200003 */ bnez $t9, .L8007DE04 /* 07E9F8 8007DDF8 AE19004C */ sw $t9, 0x4c($s0) /* 07E9FC 8007DDFC 0C01C8B3 */ jal func_800722CC /* 07EA00 8007DE00 24050001 */ li $a1, 1 .L8007DE04: /* 07EA04 8007DE04 8E020048 */ lw $v0, 0x48($s0) /* 07EA08 8007DE08 18400007 */ blez $v0, .L8007DE28 /* 07EA0C 8007DE0C 2449FFFF */ addiu $t1, $v0, -1 /* 07EA10 8007DE10 15200005 */ bnez $t1, .L8007DE28 /* 07EA14 8007DE14 AE090048 */ sw $t1, 0x48($s0) /* 07EA18 8007DE18 3C055102 */ lui $a1, (0x51028006 >> 16) # lui $a1, 0x5102 /* 07EA1C 8007DE1C 34A58006 */ ori $a1, (0x51028006 & 0xFFFF) # ori $a1, $a1, 0x8006 /* 07EA20 8007DE20 0C0327BD */ jal func_800C9EF4 /* 07EA24 8007DE24 26040004 */ addiu $a0, $s0, 4 .L8007DE28: /* 07EA28 8007DE28 8E0B004C */ lw $t3, 0x4c($s0) /* 07EA2C 8007DE2C 3C02800E */ lui $v0, %hi(D_800DC548) # $v0, 0x800e /* 07EA30 8007DE30 55600031 */ bnel $t3, $zero, .L8007DEF8 /* 07EA34 8007DE34 2404000F */ li $a0, 15 /* 07EA38 8007DE38 8C42C548 */ lw $v0, %lo(D_800DC548)($v0) /* 07EA3C 8007DE3C 24010001 */ li $at, 1 /* 07EA40 8007DE40 10400006 */ beqz $v0, .L8007DE5C /* 07EA44 8007DE44 00000000 */ nop /* 07EA48 8007DE48 10410004 */ beq $v0, $at, .L8007DE5C /* 07EA4C 8007DE4C 24010002 */ li $at, 2 /* 07EA50 8007DE50 10410002 */ beq $v0, $at, .L8007DE5C /* 07EA54 8007DE54 24010003 */ li $at, 3 /* 07EA58 8007DE58 14410003 */ bne $v0, $at, .L8007DE68 .L8007DE5C: /* 07EA5C 8007DE5C 3C01800F */ lui $at, %hi(D_800EEF40) # $at, 0x800f /* 07EA60 8007DE60 C424EF40 */ lwc1 $f4, %lo(D_800EEF40)($at) /* 07EA64 8007DE64 E7A4002C */ swc1 $f4, 0x2c($sp) .L8007DE68: /* 07EA68 8007DE68 8FA40030 */ lw $a0, 0x30($sp) /* 07EA6C 8007DE6C 0C0229B7 */ jal func_8008A6DC /* 07EA70 8007DE70 8FA5002C */ lw $a1, 0x2c($sp) /* 07EA74 8007DE74 8FA40030 */ lw $a0, 0x30($sp) /* 07EA78 8007DE78 0C01C88F */ jal func_8007223C /* 07EA7C 8007DE7C 3C050004 */ lui $a1, 4 /* 07EA80 8007DE80 1040001C */ beqz $v0, .L8007DEF4 /* 07EA84 8007DE84 8FA40030 */ lw $a0, 0x30($sp) /* 07EA88 8007DE88 0C01C8D5 */ jal func_80072354 /* 07EA8C 8007DE8C 24050001 */ li $a1, 1 /* 07EA90 8007DE90 10400018 */ beqz $v0, .L8007DEF4 /* 07EA94 8007DE94 8FA40030 */ lw $a0, 0x30($sp) /* 07EA98 8007DE98 260C0004 */ addiu $t4, $s0, 4 /* 07EA9C 8007DE9C AFAC0020 */ sw $t4, 0x20($sp) /* 07EAA0 8007DEA0 0C01C8A9 */ jal func_800722A4 /* 07EAA4 8007DEA4 24050001 */ li $a1, 1 /* 07EAA8 8007DEA8 3C065102 */ lui $a2, (0x51028006 >> 16) # lui $a2, 0x5102 /* 07EAAC 8007DEAC 34C68006 */ ori $a2, (0x51028006 & 0xFFFF) # ori $a2, $a2, 0x8006 /* 07EAB0 8007DEB0 8FA40020 */ lw $a0, 0x20($sp) /* 07EAB4 8007DEB4 0C032760 */ jal func_800C9D80 /* 07EAB8 8007DEB8 26050038 */ addiu $a1, $s0, 0x38 /* 07EABC 8007DEBC 8FA40030 */ lw $a0, 0x30($sp) /* 07EAC0 8007DEC0 0C01C9B3 */ jal func_800726CC /* 07EAC4 8007DEC4 24050003 */ li $a1, 3 /* 07EAC8 8007DEC8 860200A4 */ lh $v0, 0xa4($s0) /* 07EACC 8007DECC 240F0168 */ li $t7, 360 /* 07EAD0 8007DED0 2418012C */ li $t8, 300 /* 07EAD4 8007DED4 18400005 */ blez $v0, .L8007DEEC /* 07EAD8 8007DED8 244DFFFF */ addiu $t5, $v0, -1 /* 07EADC 8007DEDC 240E0168 */ li $t6, 360 /* 07EAE0 8007DEE0 A60D00A4 */ sh $t5, 0xa4($s0) /* 07EAE4 8007DEE4 10000002 */ b .L8007DEF0 /* 07EAE8 8007DEE8 AE0E004C */ sw $t6, 0x4c($s0) .L8007DEEC: /* 07EAEC 8007DEEC AE0F004C */ sw $t7, 0x4c($s0) .L8007DEF0: /* 07EAF0 8007DEF0 AE180048 */ sw $t8, 0x48($s0) .L8007DEF4: /* 07EAF4 8007DEF4 2404000F */ li $a0, 15 .L8007DEF8: /* 07EAF8 8007DEF8 0C022A2C */ jal func_8008A8B0 /* 07EAFC 8007DEFC 24050012 */ li $a1, 18 /* 07EB00 8007DF00 14400002 */ bnez $v0, .L8007DF0C /* 07EB04 8007DF04 24190002 */ li $t9, 2 /* 07EB08 8007DF08 A61900A4 */ sh $t9, 0xa4($s0) .L8007DF0C: /* 07EB0C 8007DF0C 8FBF001C */ lw $ra, 0x1c($sp) /* 07EB10 8007DF10 8FB00018 */ lw $s0, 0x18($sp) /* 07EB14 8007DF14 27BD0030 */ addiu $sp, $sp, 0x30 /* 07EB18 8007DF18 03E00008 */ jr $ra /* 07EB1C 8007DF1C 00000000 */ nop glabel func_8007DF20 /* 07EB20 8007DF20 000470C0 */ sll $t6, $a0, 3 /* 07EB24 8007DF24 01C47023 */ subu $t6, $t6, $a0 /* 07EB28 8007DF28 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 07EB2C 8007DF2C 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 07EB30 8007DF30 000E7140 */ sll $t6, $t6, 5 /* 07EB34 8007DF34 01CF1021 */ addu $v0, $t6, $t7 /* 07EB38 8007DF38 3C013F80 */ li $at, 0x3F800000 # 1.000000 /* 07EB3C 8007DF3C 44812000 */ mtc1 $at, $f4 /* 07EB40 8007DF40 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 07EB44 8007DF44 3C180601 */ lui $t8, %hi(D_0600A9D8) # $t8, 0x601 /* 07EB48 8007DF48 AFBF0014 */ sw $ra, 0x14($sp) /* 07EB4C 8007DF4C 2718A9D8 */ addiu $t8, %lo(D_0600A9D8) # addiu $t8, $t8, -0x5628 /* 07EB50 8007DF50 AC580070 */ sw $t8, 0x70($v0) /* 07EB54 8007DF54 AC40004C */ sw $zero, 0x4c($v0) /* 07EB58 8007DF58 A4400092 */ sh $zero, 0x92($v0) /* 07EB5C 8007DF5C AFA2001C */ sw $v0, 0x1c($sp) /* 07EB60 8007DF60 AFA40020 */ sw $a0, 0x20($sp) /* 07EB64 8007DF64 00002825 */ move $a1, $zero /* 07EB68 8007DF68 00003025 */ move $a2, $zero /* 07EB6C 8007DF6C 00003825 */ move $a3, $zero /* 07EB70 8007DF70 0C022E2F */ jal func_8008B8BC /* 07EB74 8007DF74 E4440000 */ swc1 $f4, ($v0) /* 07EB78 8007DF78 3C19800E */ lui $t9, %hi(gIsMirrorMode) # $t9, 0x800e /* 07EB7C 8007DF7C 8F39C604 */ lw $t9, %lo(gIsMirrorMode)($t9) /* 07EB80 8007DF80 44800000 */ mtc1 $zero, $f0 /* 07EB84 8007DF84 8FA2001C */ lw $v0, 0x1c($sp) /* 07EB88 8007DF88 1320000A */ beqz $t9, .L8007DFB4 /* 07EB8C 8007DF8C 3C01800F */ lui $at, %hi(D_800EEF48) # 0x800f /* 07EB90 8007DF90 3C01800F */ lui $at, %hi(D_800EEF44) # $at, 0x800f /* 07EB94 8007DF94 C426EF44 */ lwc1 $f6, %lo(D_800EEF44)($at) /* 07EB98 8007DF98 3C014343 */ li $at, 0x43430000 # 195.000000 /* 07EB9C 8007DF9C 44814000 */ mtc1 $at, $f8 /* 07EBA0 8007DFA0 34088000 */ li $t0, 32768 /* 07EBA4 8007DFA4 A44800B4 */ sh $t0, 0xb4($v0) /* 07EBA8 8007DFA8 E4460004 */ swc1 $f6, 4($v0) /* 07EBAC 8007DFAC 10000006 */ b .L8007DFC8 /* 07EBB0 8007DFB0 E448000C */ swc1 $f8, 0xc($v0) .L8007DFB4: /* 07EBB4 8007DFB4 C42AEF48 */ lwc1 $f10, %lo(D_800EEF48)($at) /* 07EBB8 8007DFB8 3C01428C */ li $at, 0x428C0000 # 70.000000 /* 07EBBC 8007DFBC 44818000 */ mtc1 $at, $f16 /* 07EBC0 8007DFC0 E44A0004 */ swc1 $f10, 4($v0) /* 07EBC4 8007DFC4 E450000C */ swc1 $f16, 0xc($v0) .L8007DFC8: /* 07EBC8 8007DFC8 3C014234 */ li $at, 0x42340000 # 45.000000 /* 07EBCC 8007DFCC 44819000 */ mtc1 $at, $f18 /* 07EBD0 8007DFD0 44050000 */ mfc1 $a1, $f0 /* 07EBD4 8007DFD4 44060000 */ mfc1 $a2, $f0 /* 07EBD8 8007DFD8 44070000 */ mfc1 $a3, $f0 /* 07EBDC 8007DFDC 8FA40020 */ lw $a0, 0x20($sp) /* 07EBE0 8007DFE0 AFA2001C */ sw $v0, 0x1c($sp) /* 07EBE4 8007DFE4 0C022E3C */ jal func_8008B8F0 /* 07EBE8 8007DFE8 E4520008 */ swc1 $f18, 8($v0) /* 07EBEC 8007DFEC 8FA2001C */ lw $v0, 0x1c($sp) /* 07EBF0 8007DFF0 8FA40020 */ lw $a0, 0x20($sp) /* 07EBF4 8007DFF4 0C01C922 */ jal func_80072488 /* 07EBF8 8007DFF8 A44000A4 */ sh $zero, 0xa4($v0) /* 07EBFC 8007DFFC 8FBF0014 */ lw $ra, 0x14($sp) /* 07EC00 8007E000 27BD0020 */ addiu $sp, $sp, 0x20 /* 07EC04 8007E004 03E00008 */ jr $ra /* 07EC08 8007E008 00000000 */ nop glabel func_8007E00C /* 07EC0C 8007E00C 000470C0 */ sll $t6, $a0, 3 /* 07EC10 8007E010 27BDFFD0 */ addiu $sp, $sp, -0x30 /* 07EC14 8007E014 01C47023 */ subu $t6, $t6, $a0 /* 07EC18 8007E018 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 07EC1C 8007E01C AFB00028 */ sw $s0, 0x28($sp) /* 07EC20 8007E020 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 07EC24 8007E024 000E7140 */ sll $t6, $t6, 5 /* 07EC28 8007E028 01CF8021 */ addu $s0, $t6, $t7 /* 07EC2C 8007E02C 961800A6 */ lhu $t8, 0xa6($s0) /* 07EC30 8007E030 AFBF002C */ sw $ra, 0x2c($sp) /* 07EC34 8007E034 00803025 */ move $a2, $a0 /* 07EC38 8007E038 2F010007 */ sltiu $at, $t8, 7 /* 07EC3C 8007E03C 10200056 */ beqz $at, .L8007E198 /* 07EC40 8007E040 0018C080 */ sll $t8, $t8, 2 /* 07EC44 8007E044 3C01800F */ lui $at, %hi(D_800EEF4C) /* 07EC48 8007E048 00380821 */ addu $at, $at, $t8 /* 07EC4C 8007E04C 8C38EF4C */ lw $t8, %lo(D_800EEF4C)($at) /* 07EC50 8007E050 03000008 */ jr $t8 /* 07EC54 8007E054 00000000 */ nop glabel L8007E058 /* 07EC58 8007E058 0C01F7C8 */ jal func_8007DF20 /* 07EC5C 8007E05C 00C02025 */ move $a0, $a2 /* 07EC60 8007E060 1000004E */ b .L8007E19C /* 07EC64 8007E064 8FBF002C */ lw $ra, 0x2c($sp) glabel L8007E068 /* 07EC68 8007E068 24190001 */ li $t9, 1 /* 07EC6C 8007E06C 3C018019 */ lui $at, %hi(D_8018CFB0) # $at, 0x8019 /* 07EC70 8007E070 A439CFB0 */ sh $t9, %lo(D_8018CFB0)($at) /* 07EC74 8007E074 0C01C922 */ jal func_80072488 /* 07EC78 8007E078 00C02025 */ move $a0, $a2 /* 07EC7C 8007E07C 10000047 */ b .L8007E19C /* 07EC80 8007E080 8FBF002C */ lw $ra, 0x2c($sp) glabel L8007E084 /* 07EC84 8007E084 00C02025 */ move $a0, $a2 /* 07EC88 8007E088 240500D2 */ li $a1, 210 /* 07EC8C 8007E08C 0C01C9E3 */ jal func_8007278C /* 07EC90 8007E090 AFA60030 */ sw $a2, 0x30($sp) /* 07EC94 8007E094 3C088016 */ lui $t0, %hi(D_80165594) # $t0, 0x8016 /* 07EC98 8007E098 8D085594 */ lw $t0, %lo(D_80165594)($t0) /* 07EC9C 8007E09C 3C09800E */ lui $t1, %hi(D_800DC548) # $t1, 0x800e /* 07ECA0 8007E0A0 55000014 */ bnel $t0, $zero, .L8007E0F4 /* 07ECA4 8007E0A4 240A0400 */ li $t2, 1024 /* 07ECA8 8007E0A8 8D29C548 */ lw $t1, %lo(D_800DC548)($t1) /* 07ECAC 8007E0AC 29210002 */ slti $at, $t1, 2 /* 07ECB0 8007E0B0 10200007 */ beqz $at, .L8007E0D0 /* 07ECB4 8007E0B4 00000000 */ nop /* 07ECB8 8007E0B8 0C01F5C5 */ jal func_8007D714 /* 07ECBC 8007E0BC 24040001 */ li $a0, 1 /* 07ECC0 8007E0C0 0C01F5C5 */ jal func_8007D714 /* 07ECC4 8007E0C4 24040001 */ li $a0, 1 /* 07ECC8 8007E0C8 1000000A */ b .L8007E0F4 /* 07ECCC 8007E0CC 240A0400 */ li $t2, 1024 .L8007E0D0: /* 07ECD0 8007E0D0 0C01F5C5 */ jal func_8007D714 /* 07ECD4 8007E0D4 24040001 */ li $a0, 1 /* 07ECD8 8007E0D8 0C01F5C5 */ jal func_8007D714 /* 07ECDC 8007E0DC 24040001 */ li $a0, 1 /* 07ECE0 8007E0E0 0C01F5C5 */ jal func_8007D714 /* 07ECE4 8007E0E4 24040001 */ li $a0, 1 /* 07ECE8 8007E0E8 0C01F5C5 */ jal func_8007D714 /* 07ECEC 8007E0EC 24040001 */ li $a0, 1 /* 07ECF0 8007E0F0 240A0400 */ li $t2, 1024 .L8007E0F4: /* 07ECF4 8007E0F4 240BFFFF */ li $t3, -1 /* 07ECF8 8007E0F8 AFAB0018 */ sw $t3, 0x18($sp) /* 07ECFC 8007E0FC AFAA0010 */ sw $t2, 0x10($sp) /* 07ED00 8007E100 8FA40030 */ lw $a0, 0x30($sp) /* 07ED04 8007E104 260500A0 */ addiu $a1, $s0, 0xa0 /* 07ED08 8007E108 2406E000 */ li $a2, -8192 /* 07ED0C 8007E10C 00003825 */ move $a3, $zero /* 07ED10 8007E110 0C01CF2C */ jal func_80073CB0 /* 07ED14 8007E114 AFA00014 */ sw $zero, 0x14($sp) /* 07ED18 8007E118 86030092 */ lh $v1, 0x92($s0) /* 07ED1C 8007E11C 860C00A0 */ lh $t4, 0xa0($s0) /* 07ED20 8007E120 26040004 */ addiu $a0, $s0, 4 /* 07ED24 8007E124 14600008 */ bnez $v1, .L8007E148 /* 07ED28 8007E128 A60C00B6 */ sh $t4, 0xb6($s0) /* 07ED2C 8007E12C 3C061901 */ lui $a2, (0x1901904E >> 16) # lui $a2, 0x1901 /* 07ED30 8007E130 34C6904E */ ori $a2, (0x1901904E & 0xFFFF) # ori $a2, $a2, 0x904e /* 07ED34 8007E134 0C03262E */ jal func_800C98B8 /* 07ED38 8007E138 26050038 */ addiu $a1, $s0, 0x38 /* 07ED3C 8007E13C 240D0014 */ li $t5, 20 /* 07ED40 8007E140 10000015 */ b .L8007E198 /* 07ED44 8007E144 A60D0092 */ sh $t5, 0x92($s0) .L8007E148: /* 07ED48 8007E148 246EFFFF */ addiu $t6, $v1, -1 /* 07ED4C 8007E14C 10000012 */ b .L8007E198 /* 07ED50 8007E150 A60E0092 */ sh $t6, 0x92($s0) glabel L8007E154 /* 07ED54 8007E154 960400B6 */ lhu $a0, 0xb6($s0) /* 07ED58 8007E158 00002825 */ move $a1, $zero /* 07ED5C 8007E15C 0C0105ED */ jal func_800417B4 /* 07ED60 8007E160 AFA60030 */ sw $a2, 0x30($sp) /* 07ED64 8007E164 304FFFFF */ andi $t7, $v0, 0xffff /* 07ED68 8007E168 15E0000B */ bnez $t7, .L8007E198 /* 07ED6C 8007E16C A60200B6 */ sh $v0, 0xb6($s0) /* 07ED70 8007E170 0C01C922 */ jal func_80072488 /* 07ED74 8007E174 8FA40030 */ lw $a0, 0x30($sp) /* 07ED78 8007E178 10000008 */ b .L8007E19C /* 07ED7C 8007E17C 8FBF002C */ lw $ra, 0x2c($sp) glabel L8007E180 /* 07ED80 8007E180 A60000B6 */ sh $zero, 0xb6($s0) /* 07ED84 8007E184 A6000092 */ sh $zero, 0x92($s0) /* 07ED88 8007E188 0C01C922 */ jal func_80072488 /* 07ED8C 8007E18C 00C02025 */ move $a0, $a2 /* 07ED90 8007E190 3C018019 */ lui $at, %hi(D_8018CFB0) # $at, 0x8019 /* 07ED94 8007E194 A420CFB0 */ sh $zero, %lo(D_8018CFB0)($at) .L8007E198: glabel L8007E198 /* 07ED98 8007E198 8FBF002C */ lw $ra, 0x2c($sp) .L8007E19C: /* 07ED9C 8007E19C 8FB00028 */ lw $s0, 0x28($sp) /* 07EDA0 8007E1A0 27BD0030 */ addiu $sp, $sp, 0x30 /* 07EDA4 8007E1A4 03E00008 */ jr $ra /* 07EDA8 8007E1A8 00000000 */ nop glabel func_8007E1AC /* 07EDAC 8007E1AC 3C048018 */ lui $a0, %hi(D_80183EA4) # $a0, 0x8018 /* 07EDB0 8007E1B0 8C843EA4 */ lw $a0, %lo(D_80183EA4)($a0) /* 07EDB4 8007E1B4 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 07EDB8 8007E1B8 AFBF0014 */ sw $ra, 0x14($sp) /* 07EDBC 8007E1BC 0C01F803 */ jal func_8007E00C /* 07EDC0 8007E1C0 AFA4001C */ sw $a0, 0x1c($sp) /* 07EDC4 8007E1C4 3C0E800E */ lui $t6, %hi(gModeSelection) # $t6, 0x800e /* 07EDC8 8007E1C8 8DCEC53C */ lw $t6, %lo(gModeSelection)($t6) /* 07EDCC 8007E1CC 24010001 */ li $at, 1 /* 07EDD0 8007E1D0 8FA4001C */ lw $a0, 0x1c($sp) /* 07EDD4 8007E1D4 51C10004 */ beql $t6, $at, .L8007E1E8 /* 07EDD8 8007E1D8 8FBF0014 */ lw $ra, 0x14($sp) /* 07EDDC 8007E1DC 0C01F770 */ jal func_8007DDC0 /* 07EDE0 8007E1E0 00000000 */ nop /* 07EDE4 8007E1E4 8FBF0014 */ lw $ra, 0x14($sp) .L8007E1E8: /* 07EDE8 8007E1E8 27BD0020 */ addiu $sp, $sp, 0x20 /* 07EDEC 8007E1EC 03E00008 */ jr $ra /* 07EDF0 8007E1F0 00000000 */ nop glabel func_8007E1F4 /* 07EDF4 8007E1F4 000478C0 */ sll $t7, $a0, 3 /* 07EDF8 8007E1F8 27BDFFD0 */ addiu $sp, $sp, -0x30 /* 07EDFC 8007E1FC 01E47823 */ subu $t7, $t7, $a0 /* 07EE00 8007E200 3C188016 */ lui $t8, %hi(D_80165C18) # $t8, 0x8016 /* 07EE04 8007E204 AFB00018 */ sw $s0, 0x18($sp) /* 07EE08 8007E208 27185C18 */ addiu $t8, %lo(D_80165C18) # addiu $t8, $t8, 0x5c18 /* 07EE0C 8007E20C 000F7940 */ sll $t7, $t7, 5 /* 07EE10 8007E210 01F88021 */ addu $s0, $t7, $t8 /* 07EE14 8007E214 8E02004C */ lw $v0, 0x4c($s0) /* 07EE18 8007E218 AFBF001C */ sw $ra, 0x1c($sp) /* 07EE1C 8007E21C AFA40030 */ sw $a0, 0x30($sp) /* 07EE20 8007E220 18400005 */ blez $v0, .L8007E238 /* 07EE24 8007E224 2459FFFF */ addiu $t9, $v0, -1 /* 07EE28 8007E228 17200003 */ bnez $t9, .L8007E238 /* 07EE2C 8007E22C AE19004C */ sw $t9, 0x4c($s0) /* 07EE30 8007E230 0C01C8B3 */ jal func_800722CC /* 07EE34 8007E234 24050001 */ li $a1, 1 .L8007E238: /* 07EE38 8007E238 8E020048 */ lw $v0, 0x48($s0) /* 07EE3C 8007E23C 18400007 */ blez $v0, .L8007E25C /* 07EE40 8007E240 2449FFFF */ addiu $t1, $v0, -1 /* 07EE44 8007E244 15200005 */ bnez $t1, .L8007E25C /* 07EE48 8007E248 AE090048 */ sw $t1, 0x48($s0) /* 07EE4C 8007E24C 3C055102 */ lui $a1, (0x51028006 >> 16) # lui $a1, 0x5102 /* 07EE50 8007E250 34A58006 */ ori $a1, (0x51028006 & 0xFFFF) # ori $a1, $a1, 0x8006 /* 07EE54 8007E254 0C0327BD */ jal func_800C9EF4 /* 07EE58 8007E258 26040004 */ addiu $a0, $s0, 4 .L8007E25C: /* 07EE5C 8007E25C 8E0B004C */ lw $t3, 0x4c($s0) /* 07EE60 8007E260 3C02800E */ lui $v0, %hi(D_800DC548) # $v0, 0x800e /* 07EE64 8007E264 55600032 */ bnel $t3, $zero, .L8007E330 /* 07EE68 8007E268 2404000F */ li $a0, 15 /* 07EE6C 8007E26C 8C42C548 */ lw $v0, %lo(D_800DC548)($v0) /* 07EE70 8007E270 24010001 */ li $at, 1 /* 07EE74 8007E274 50400007 */ beql $v0, $zero, .L8007E294 /* 07EE78 8007E278 3C01442F */ lui $at, 0x442f /* 07EE7C 8007E27C 10410004 */ beq $v0, $at, .L8007E290 /* 07EE80 8007E280 24010002 */ li $at, 2 /* 07EE84 8007E284 10410002 */ beq $v0, $at, .L8007E290 /* 07EE88 8007E288 24010003 */ li $at, 3 /* 07EE8C 8007E28C 14410004 */ bne $v0, $at, .L8007E2A0 .L8007E290: /* 07EE90 8007E290 3C01442F */ li $at, 0x442F0000 # 700.000000 .L8007E294: /* 07EE94 8007E294 44812000 */ mtc1 $at, $f4 /* 07EE98 8007E298 00000000 */ nop /* 07EE9C 8007E29C E7A4002C */ swc1 $f4, 0x2c($sp) .L8007E2A0: /* 07EEA0 8007E2A0 8FA40030 */ lw $a0, 0x30($sp) /* 07EEA4 8007E2A4 0C0229B7 */ jal func_8008A6DC /* 07EEA8 8007E2A8 8FA5002C */ lw $a1, 0x2c($sp) /* 07EEAC 8007E2AC 8FA40030 */ lw $a0, 0x30($sp) /* 07EEB0 8007E2B0 0C01C88F */ jal func_8007223C /* 07EEB4 8007E2B4 3C050004 */ lui $a1, 4 /* 07EEB8 8007E2B8 1040001C */ beqz $v0, .L8007E32C /* 07EEBC 8007E2BC 8FA40030 */ lw $a0, 0x30($sp) /* 07EEC0 8007E2C0 0C01C8D5 */ jal func_80072354 /* 07EEC4 8007E2C4 24050001 */ li $a1, 1 /* 07EEC8 8007E2C8 10400018 */ beqz $v0, .L8007E32C /* 07EECC 8007E2CC 8FA40030 */ lw $a0, 0x30($sp) /* 07EED0 8007E2D0 260C0004 */ addiu $t4, $s0, 4 /* 07EED4 8007E2D4 AFAC0020 */ sw $t4, 0x20($sp) /* 07EED8 8007E2D8 0C01C8A9 */ jal func_800722A4 /* 07EEDC 8007E2DC 24050001 */ li $a1, 1 /* 07EEE0 8007E2E0 3C065102 */ lui $a2, (0x51028006 >> 16) # lui $a2, 0x5102 /* 07EEE4 8007E2E4 34C68006 */ ori $a2, (0x51028006 & 0xFFFF) # ori $a2, $a2, 0x8006 /* 07EEE8 8007E2E8 8FA40020 */ lw $a0, 0x20($sp) /* 07EEEC 8007E2EC 0C032760 */ jal func_800C9D80 /* 07EEF0 8007E2F0 26050038 */ addiu $a1, $s0, 0x38 /* 07EEF4 8007E2F4 8FA40030 */ lw $a0, 0x30($sp) /* 07EEF8 8007E2F8 0C01C9B3 */ jal func_800726CC /* 07EEFC 8007E2FC 24050003 */ li $a1, 3 /* 07EF00 8007E300 860200A4 */ lh $v0, 0xa4($s0) /* 07EF04 8007E304 240F0168 */ li $t7, 360 /* 07EF08 8007E308 2418012C */ li $t8, 300 /* 07EF0C 8007E30C 18400005 */ blez $v0, .L8007E324 /* 07EF10 8007E310 244DFFFF */ addiu $t5, $v0, -1 /* 07EF14 8007E314 240E0168 */ li $t6, 360 /* 07EF18 8007E318 A60D00A4 */ sh $t5, 0xa4($s0) /* 07EF1C 8007E31C 10000002 */ b .L8007E328 /* 07EF20 8007E320 AE0E004C */ sw $t6, 0x4c($s0) .L8007E324: /* 07EF24 8007E324 AE0F004C */ sw $t7, 0x4c($s0) .L8007E328: /* 07EF28 8007E328 AE180048 */ sw $t8, 0x48($s0) .L8007E32C: /* 07EF2C 8007E32C 2404000F */ li $a0, 15 .L8007E330: /* 07EF30 8007E330 0C022A2C */ jal func_8008A8B0 /* 07EF34 8007E334 24050013 */ li $a1, 19 /* 07EF38 8007E338 14400002 */ bnez $v0, .L8007E344 /* 07EF3C 8007E33C 24190002 */ li $t9, 2 /* 07EF40 8007E340 A61900A4 */ sh $t9, 0xa4($s0) .L8007E344: /* 07EF44 8007E344 8FBF001C */ lw $ra, 0x1c($sp) /* 07EF48 8007E348 8FB00018 */ lw $s0, 0x18($sp) /* 07EF4C 8007E34C 27BD0030 */ addiu $sp, $sp, 0x30 /* 07EF50 8007E350 03E00008 */ jr $ra /* 07EF54 8007E354 00000000 */ nop glabel func_8007E358 /* 07EF58 8007E358 3C01800F */ lui $at, %hi(D_800EEF68) # $at, 0x800f /* 07EF5C 8007E35C C424EF68 */ lwc1 $f4, %lo(D_800EEF68)($at) /* 07EF60 8007E360 3C018019 */ lui $at, %hi(D_8018D01C) # $at, 0x8019 /* 07EF64 8007E364 C426D01C */ lwc1 $f6, %lo(D_8018D01C)($at) /* 07EF68 8007E368 44800000 */ mtc1 $zero, $f0 /* 07EF6C 8007E36C 000470C0 */ sll $t6, $a0, 3 /* 07EF70 8007E370 46062202 */ mul.s $f8, $f4, $f6 /* 07EF74 8007E374 01C47023 */ subu $t6, $t6, $a0 /* 07EF78 8007E378 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 07EF7C 8007E37C 3C0141F8 */ li $at, 0x41F80000 # 31.000000 /* 07EF80 8007E380 44815000 */ mtc1 $at, $f10 /* 07EF84 8007E384 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 07EF88 8007E388 000E7140 */ sll $t6, $t6, 5 /* 07EF8C 8007E38C 01CF1021 */ addu $v0, $t6, $t7 /* 07EF90 8007E390 3C01C359 */ li $at, 0xC3590000 # -217.000000 /* 07EF94 8007E394 44818000 */ mtc1 $at, $f16 /* 07EF98 8007E398 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 07EF9C 8007E39C AFBF0014 */ sw $ra, 0x14($sp) /* 07EFA0 8007E3A0 44050000 */ mfc1 $a1, $f0 /* 07EFA4 8007E3A4 44060000 */ mfc1 $a2, $f0 /* 07EFA8 8007E3A8 44070000 */ mfc1 $a3, $f0 /* 07EFAC 8007E3AC E4480004 */ swc1 $f8, 4($v0) /* 07EFB0 8007E3B0 AFA2001C */ sw $v0, 0x1c($sp) /* 07EFB4 8007E3B4 AFA40020 */ sw $a0, 0x20($sp) /* 07EFB8 8007E3B8 E44A0008 */ swc1 $f10, 8($v0) /* 07EFBC 8007E3BC 0C022E3C */ jal func_8008B8F0 /* 07EFC0 8007E3C0 E450000C */ swc1 $f16, 0xc($v0) /* 07EFC4 8007E3C4 8FA2001C */ lw $v0, 0x1c($sp) /* 07EFC8 8007E3C8 8FA40020 */ lw $a0, 0x20($sp) /* 07EFCC 8007E3CC A44000A4 */ sh $zero, 0xa4($v0) /* 07EFD0 8007E3D0 AC40004C */ sw $zero, 0x4c($v0) /* 07EFD4 8007E3D4 0C01C922 */ jal func_80072488 /* 07EFD8 8007E3D8 A4400092 */ sh $zero, 0x92($v0) /* 07EFDC 8007E3DC 8FBF0014 */ lw $ra, 0x14($sp) /* 07EFE0 8007E3E0 27BD0020 */ addiu $sp, $sp, 0x20 /* 07EFE4 8007E3E4 03E00008 */ jr $ra /* 07EFE8 8007E3E8 00000000 */ nop glabel func_8007E3EC /* 07EFEC 8007E3EC 000470C0 */ sll $t6, $a0, 3 /* 07EFF0 8007E3F0 01C47023 */ subu $t6, $t6, $a0 /* 07EFF4 8007E3F4 000E7140 */ sll $t6, $t6, 5 /* 07EFF8 8007E3F8 3C0F8016 */ lui $t7, %hi(D_80165CBE) # 0x8016 /* 07EFFC 8007E3FC 01EE7821 */ addu $t7, $t7, $t6 /* 07F000 8007E400 95EF5CBE */ lhu $t7, %lo(D_80165CBE)($t7) # 0x5cbe($t7) /* 07F004 8007E404 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 07F008 8007E408 AFBF0014 */ sw $ra, 0x14($sp) /* 07F00C 8007E40C 2DE10006 */ sltiu $at, $t7, 6 /* 07F010 8007E410 10200028 */ beqz $at, .L8007E4B4 /* 07F014 8007E414 000F7880 */ sll $t7, $t7, 2 /* 07F018 8007E418 3C01800F */ lui $at, %hi(D_800EEF6C) /* 07F01C 8007E41C 002F0821 */ addu $at, $at, $t7 /* 07F020 8007E420 8C2FEF6C */ lw $t7, %lo(D_800EEF6C)($at) /* 07F024 8007E424 01E00008 */ jr $t7 /* 07F028 8007E428 00000000 */ nop glabel L8007E42C /* 07F02C 8007E42C 0C01F8D6 */ jal func_8007E358 /* 07F030 8007E430 00000000 */ nop /* 07F034 8007E434 10000020 */ b .L8007E4B8 /* 07F038 8007E438 8FBF0014 */ lw $ra, 0x14($sp) glabel L8007E43C /* 07F03C 8007E43C 24180001 */ li $t8, 1 /* 07F040 8007E440 3C018019 */ lui $at, %hi(D_8018CFE8) # $at, 0x8019 /* 07F044 8007E444 0C01C922 */ jal func_80072488 /* 07F048 8007E448 A438CFE8 */ sh $t8, %lo(D_8018CFE8)($at) /* 07F04C 8007E44C 1000001A */ b .L8007E4B8 /* 07F050 8007E450 8FBF0014 */ lw $ra, 0x14($sp) glabel L8007E454 /* 07F054 8007E454 0C01C9E3 */ jal func_8007278C /* 07F058 8007E458 240500D2 */ li $a1, 210 /* 07F05C 8007E45C 3C198016 */ lui $t9, %hi(D_80165598) # $t9, 0x8016 /* 07F060 8007E460 8F395598 */ lw $t9, %lo(D_80165598)($t9) /* 07F064 8007E464 3C08800E */ lui $t0, %hi(D_800DC548) # $t0, 0x800e /* 07F068 8007E468 57200013 */ bnel $t9, $zero, .L8007E4B8 /* 07F06C 8007E46C 8FBF0014 */ lw $ra, 0x14($sp) /* 07F070 8007E470 8D08C548 */ lw $t0, %lo(D_800DC548)($t0) /* 07F074 8007E474 29010002 */ slti $at, $t0, 2 /* 07F078 8007E478 10200005 */ beqz $at, .L8007E490 /* 07F07C 8007E47C 00000000 */ nop /* 07F080 8007E480 0C01F5C5 */ jal func_8007D714 /* 07F084 8007E484 24040002 */ li $a0, 2 /* 07F088 8007E488 1000000B */ b .L8007E4B8 /* 07F08C 8007E48C 8FBF0014 */ lw $ra, 0x14($sp) .L8007E490: /* 07F090 8007E490 0C01F5C5 */ jal func_8007D714 /* 07F094 8007E494 24040002 */ li $a0, 2 /* 07F098 8007E498 0C01F5C5 */ jal func_8007D714 /* 07F09C 8007E49C 24040002 */ li $a0, 2 /* 07F0A0 8007E4A0 10000005 */ b .L8007E4B8 /* 07F0A4 8007E4A4 8FBF0014 */ lw $ra, 0x14($sp) glabel L8007E4A8 /* 07F0A8 8007E4A8 3C018019 */ lui $at, %hi(D_8018CFE8) # $at, 0x8019 /* 07F0AC 8007E4AC 0C01C922 */ jal func_80072488 /* 07F0B0 8007E4B0 A420CFE8 */ sh $zero, %lo(D_8018CFE8)($at) .L8007E4B4: glabel L8007E4B4 /* 07F0B4 8007E4B4 8FBF0014 */ lw $ra, 0x14($sp) .L8007E4B8: /* 07F0B8 8007E4B8 27BD0018 */ addiu $sp, $sp, 0x18 /* 07F0BC 8007E4BC 03E00008 */ jr $ra /* 07F0C0 8007E4C0 00000000 */ nop glabel func_8007E4C4 /* 07F0C4 8007E4C4 3C048018 */ lui $a0, %hi(D_80183EA8) # $a0, 0x8018 /* 07F0C8 8007E4C8 8C843EA8 */ lw $a0, %lo(D_80183EA8)($a0) /* 07F0CC 8007E4CC 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 07F0D0 8007E4D0 AFBF0014 */ sw $ra, 0x14($sp) /* 07F0D4 8007E4D4 0C01F8FB */ jal func_8007E3EC /* 07F0D8 8007E4D8 AFA4001C */ sw $a0, 0x1c($sp) /* 07F0DC 8007E4DC 3C0E800E */ lui $t6, %hi(gModeSelection) # $t6, 0x800e /* 07F0E0 8007E4E0 8DCEC53C */ lw $t6, %lo(gModeSelection)($t6) /* 07F0E4 8007E4E4 24010001 */ li $at, 1 /* 07F0E8 8007E4E8 8FA4001C */ lw $a0, 0x1c($sp) /* 07F0EC 8007E4EC 51C10004 */ beql $t6, $at, .L8007E500 /* 07F0F0 8007E4F0 8FBF0014 */ lw $ra, 0x14($sp) /* 07F0F4 8007E4F4 0C01F87D */ jal func_8007E1F4 /* 07F0F8 8007E4F8 00000000 */ nop /* 07F0FC 8007E4FC 8FBF0014 */ lw $ra, 0x14($sp) .L8007E500: /* 07F100 8007E500 27BD0020 */ addiu $sp, $sp, 0x20 /* 07F104 8007E504 03E00008 */ jr $ra /* 07F108 8007E508 00000000 */ nop glabel func_8007E50C /* 07F10C 8007E50C 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 07F110 8007E510 AFBF001C */ sw $ra, 0x1c($sp) /* 07F114 8007E514 AFB00018 */ sw $s0, 0x18($sp) /* 07F118 8007E518 AFA5002C */ sw $a1, 0x2c($sp) /* 07F11C 8007E51C 00808025 */ move $s0, $a0 /* 07F120 8007E520 AFA60030 */ sw $a2, 0x30($sp) /* 07F124 8007E524 AFA00024 */ sw $zero, 0x24($sp) /* 07F128 8007E528 0C01C8D5 */ jal func_80072354 /* 07F12C 8007E52C 24050004 */ li $a1, 4 /* 07F130 8007E530 10400015 */ beqz $v0, .L8007E588 /* 07F134 8007E534 02002025 */ move $a0, $s0 /* 07F138 8007E538 8FA5002C */ lw $a1, 0x2c($sp) /* 07F13C 8007E53C 0C022296 */ jal func_80088A58 /* 07F140 8007E540 3C064396 */ lui $a2, 0x4396 /* 07F144 8007E544 10400010 */ beqz $v0, .L8007E588 /* 07F148 8007E548 02002025 */ move $a0, $s0 /* 07F14C 8007E54C 8FA5002C */ lw $a1, 0x2c($sp) /* 07F150 8007E550 8FA60030 */ lw $a2, 0x30($sp) /* 07F154 8007E554 0C02282D */ jal func_8008A0B4 /* 07F158 8007E558 24074000 */ li $a3, 16384 /* 07F15C 8007E55C 1040000A */ beqz $v0, .L8007E588 /* 07F160 8007E560 02002025 */ move $a0, $s0 /* 07F164 8007E564 8FA50030 */ lw $a1, 0x30($sp) /* 07F168 8007E568 0C022818 */ jal func_8008A060 /* 07F16C 8007E56C 24061555 */ li $a2, 5461 /* 07F170 8007E570 10400005 */ beqz $v0, .L8007E588 /* 07F174 8007E574 02002025 */ move $a0, $s0 /* 07F178 8007E578 0C01C8A9 */ jal func_800722A4 /* 07F17C 8007E57C 24050004 */ li $a1, 4 /* 07F180 8007E580 240E0001 */ li $t6, 1 /* 07F184 8007E584 AFAE0024 */ sw $t6, 0x24($sp) .L8007E588: /* 07F188 8007E588 8FBF001C */ lw $ra, 0x1c($sp) /* 07F18C 8007E58C 8FA20024 */ lw $v0, 0x24($sp) /* 07F190 8007E590 8FB00018 */ lw $s0, 0x18($sp) /* 07F194 8007E594 03E00008 */ jr $ra /* 07F198 8007E598 27BD0028 */ addiu $sp, $sp, 0x28 glabel func_8007E59C /* 07F19C 8007E59C 27BDFFD0 */ addiu $sp, $sp, -0x30 /* 07F1A0 8007E5A0 AFB40028 */ sw $s4, 0x28($sp) /* 07F1A4 8007E5A4 3C14800E */ lui $s4, %hi(gPlayerCountSelection1) # $s4, 0x800e /* 07F1A8 8007E5A8 2694C538 */ addiu $s4, %lo(gPlayerCountSelection1) # addiu $s4, $s4, -0x3ac8 /* 07F1AC 8007E5AC 8E8E0000 */ lw $t6, ($s4) /* 07F1B0 8007E5B0 AFB1001C */ sw $s1, 0x1c($sp) /* 07F1B4 8007E5B4 AFB00018 */ sw $s0, 0x18($sp) /* 07F1B8 8007E5B8 AFB30024 */ sw $s3, 0x24($sp) /* 07F1BC 8007E5BC AFB20020 */ sw $s2, 0x20($sp) /* 07F1C0 8007E5C0 3C10800E */ lui $s0, %hi(D_800DC4DC) # $s0, 0x800e /* 07F1C4 8007E5C4 3C11800E */ lui $s1, %hi(D_800DDB40) # $s1, 0x800e /* 07F1C8 8007E5C8 00809825 */ move $s3, $a0 /* 07F1CC 8007E5CC AFBF002C */ sw $ra, 0x2c($sp) /* 07F1D0 8007E5D0 00001825 */ move $v1, $zero /* 07F1D4 8007E5D4 8E10C4DC */ lw $s0, %lo(D_800DC4DC)($s0) /* 07F1D8 8007E5D8 8E31DB40 */ lw $s1, %lo(D_800DDB40)($s1) /* 07F1DC 8007E5DC 19C0000E */ blez $t6, .L8007E618 /* 07F1E0 8007E5E0 00009025 */ move $s2, $zero /* 07F1E4 8007E5E4 02002825 */ move $a1, $s0 .L8007E5E8: /* 07F1E8 8007E5E8 02203025 */ move $a2, $s1 /* 07F1EC 8007E5EC 263100B8 */ addiu $s1, $s1, 0xb8 /* 07F1F0 8007E5F0 26100DD8 */ addiu $s0, $s0, 0xdd8 /* 07F1F4 8007E5F4 0C01F943 */ jal func_8007E50C /* 07F1F8 8007E5F8 02602025 */ move $a0, $s3 /* 07F1FC 8007E5FC 14400006 */ bnez $v0, .L8007E618 /* 07F200 8007E600 00401825 */ move $v1, $v0 /* 07F204 8007E604 8E8F0000 */ lw $t7, ($s4) /* 07F208 8007E608 26520001 */ addiu $s2, $s2, 1 /* 07F20C 8007E60C 024F082A */ slt $at, $s2, $t7 /* 07F210 8007E610 5420FFF5 */ bnel $at, $zero, .L8007E5E8 /* 07F214 8007E614 02002825 */ move $a1, $s0 .L8007E618: /* 07F218 8007E618 8FBF002C */ lw $ra, 0x2c($sp) /* 07F21C 8007E61C 8FB00018 */ lw $s0, 0x18($sp) /* 07F220 8007E620 8FB1001C */ lw $s1, 0x1c($sp) /* 07F224 8007E624 8FB20020 */ lw $s2, 0x20($sp) /* 07F228 8007E628 8FB30024 */ lw $s3, 0x24($sp) /* 07F22C 8007E62C 8FB40028 */ lw $s4, 0x28($sp) /* 07F230 8007E630 27BD0030 */ addiu $sp, $sp, 0x30 /* 07F234 8007E634 03E00008 */ jr $ra /* 07F238 8007E638 00601025 */ move $v0, $v1 glabel func_8007E63C /* 07F23C 8007E63C 000470C0 */ sll $t6, $a0, 3 /* 07F240 8007E640 01C47023 */ subu $t6, $t6, $a0 /* 07F244 8007E644 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 07F248 8007E648 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 07F24C 8007E64C 000E7140 */ sll $t6, $t6, 5 /* 07F250 8007E650 01CF1821 */ addu $v1, $t6, $t7 /* 07F254 8007E654 846200A6 */ lh $v0, 0xa6($v1) /* 07F258 8007E658 27BDFFD0 */ addiu $sp, $sp, -0x30 /* 07F25C 8007E65C AFB00020 */ sw $s0, 0x20($sp) /* 07F260 8007E660 2841006D */ slti $at, $v0, 0x6d /* 07F264 8007E664 00808025 */ move $s0, $a0 /* 07F268 8007E668 14200009 */ bnez $at, .L8007E690 /* 07F26C 8007E66C AFBF0024 */ sw $ra, 0x24($sp) /* 07F270 8007E670 240100C8 */ li $at, 200 /* 07F274 8007E674 10410152 */ beq $v0, $at, .L8007EBC0 /* 07F278 8007E678 02002025 */ move $a0, $s0 /* 07F27C 8007E67C 2401012C */ li $at, 300 /* 07F280 8007E680 1041015C */ beq $v0, $at, .L8007EBF4 /* 07F284 8007E684 02002025 */ move $a0, $s0 /* 07F288 8007E688 10000165 */ b .L8007EC20 /* 07F28C 8007E68C 8FBF0024 */ lw $ra, 0x24($sp) .L8007E690: /* 07F290 8007E690 28410037 */ slti $at, $v0, 0x37 /* 07F294 8007E694 1420000A */ bnez $at, .L8007E6C0 /* 07F298 8007E698 2459FFCE */ addiu $t9, $v0, -0x32 /* 07F29C 8007E69C 2458FF9C */ addiu $t8, $v0, -0x64 /* 07F2A0 8007E6A0 2F010009 */ sltiu $at, $t8, 9 /* 07F2A4 8007E6A4 1020015D */ beqz $at, .L8007EC1C /* 07F2A8 8007E6A8 0018C080 */ sll $t8, $t8, 2 /* 07F2AC 8007E6AC 3C01800F */ lui $at, %hi(D_800EEF84) /* 07F2B0 8007E6B0 00380821 */ addu $at, $at, $t8 /* 07F2B4 8007E6B4 8C38EF84 */ lw $t8, %lo(D_800EEF84)($at) # -0x107c($at) /* 07F2B8 8007E6B8 03000008 */ jr $t8 /* 07F2BC 8007E6BC 00000000 */ nop .L8007E6C0: /* 07F2C0 8007E6C0 2F210005 */ sltiu $at, $t9, 5 /* 07F2C4 8007E6C4 10200155 */ beqz $at, .L8007EC1C /* 07F2C8 8007E6C8 0019C880 */ sll $t9, $t9, 2 /* 07F2CC 8007E6CC 3C01800F */ lui $at, %hi(D_800EEFA8) /* 07F2D0 8007E6D0 00390821 */ addu $at, $at, $t9 /* 07F2D4 8007E6D4 8C39EFA8 */ lw $t9, %lo(D_800EEFA8)($at) # -0x1058($at) /* 07F2D8 8007E6D8 03200008 */ jr $t9 /* 07F2DC 8007E6DC 00000000 */ nop glabel L8007E6E0 /* 07F2E0 8007E6E0 C4640020 */ lwc1 $f4, 0x20($v1) /* 07F2E4 8007E6E4 3C01402E */ li $at, 0x402E0000 # 2.718750 /* 07F2E8 8007E6E8 44814800 */ mtc1 $at, $f9 /* 07F2EC 8007E6EC 44804000 */ mtc1 $zero, $f8 /* 07F2F0 8007E6F0 460021A1 */ cvt.d.s $f6, $f4 /* 07F2F4 8007E6F4 2464002C */ addiu $a0, $v1, 0x2c /* 07F2F8 8007E6F8 46283280 */ add.d $f10, $f6, $f8 /* 07F2FC 8007E6FC 3C063FC0 */ lui $a2, 0x3fc0 /* 07F300 8007E700 46205420 */ cvt.s.d $f16, $f10 /* 07F304 8007E704 44058000 */ mfc1 $a1, $f16 /* 07F308 8007E708 0C0103B8 */ jal func_80040EE0 /* 07F30C 8007E70C 00000000 */ nop /* 07F310 8007E710 10400142 */ beqz $v0, .L8007EC1C /* 07F314 8007E714 02002025 */ move $a0, $s0 /* 07F318 8007E718 0C01C870 */ jal func_800721C0 /* 07F31C 8007E71C 24050200 */ li $a1, 512 /* 07F320 8007E720 02002025 */ move $a0, $s0 /* 07F324 8007E724 0C01C8A9 */ jal func_800722A4 /* 07F328 8007E728 24050001 */ li $a1, 1 /* 07F32C 8007E72C 02002025 */ move $a0, $s0 /* 07F330 8007E730 0C01C8B3 */ jal func_800722CC /* 07F334 8007E734 24050002 */ li $a1, 2 /* 07F338 8007E738 0C01C922 */ jal func_80072488 /* 07F33C 8007E73C 02002025 */ move $a0, $s0 /* 07F340 8007E740 10000137 */ b .L8007EC20 /* 07F344 8007E744 8FBF0024 */ lw $ra, 0x24($sp) glabel L8007E748 /* 07F348 8007E748 2464002C */ addiu $a0, $v1, 0x2c /* 07F34C 8007E74C 24050000 */ li $a1, 0 /* 07F350 8007E750 3C064000 */ lui $a2, 0x4000 /* 07F354 8007E754 0C0103CB */ jal func_80040F2C /* 07F358 8007E758 AFA30028 */ sw $v1, 0x28($sp) /* 07F35C 8007E75C 1040012F */ beqz $v0, .L8007EC1C /* 07F360 8007E760 8FA30028 */ lw $v1, 0x28($sp) /* 07F364 8007E764 3C014180 */ li $at, 0x41800000 # 16.000000 /* 07F368 8007E768 44819000 */ mtc1 $at, $f18 /* 07F36C 8007E76C C460002C */ lwc1 $f0, 0x2c($v1) /* 07F370 8007E770 3C014100 */ li $at, 0x41000000 # 8.000000 /* 07F374 8007E774 02002025 */ move $a0, $s0 /* 07F378 8007E778 4600903E */ c.le.s $f18, $f0 /* 07F37C 8007E77C 00000000 */ nop /* 07F380 8007E780 45020004 */ bc1fl .L8007E794 /* 07F384 8007E784 44812000 */ mtc1 $at, $f4 /* 07F388 8007E788 1000000B */ b .L8007E7B8 /* 07F38C 8007E78C A06000D2 */ sb $zero, 0xd2($v1) /* 07F390 8007E790 44812000 */ mtc1 $at, $f4 .L8007E794: /* 07F394 8007E794 24080001 */ li $t0, 1 /* 07F398 8007E798 24090002 */ li $t1, 2 /* 07F39C 8007E79C 4600203E */ c.le.s $f4, $f0 /* 07F3A0 8007E7A0 00000000 */ nop /* 07F3A4 8007E7A4 45020004 */ bc1fl .L8007E7B8 /* 07F3A8 8007E7A8 A06900D2 */ sb $t1, 0xd2($v1) /* 07F3AC 8007E7AC 10000002 */ b .L8007E7B8 /* 07F3B0 8007E7B0 A06800D2 */ sb $t0, 0xd2($v1) /* 07F3B4 8007E7B4 A06900D2 */ sb $t1, 0xd2($v1) .L8007E7B8: /* 07F3B8 8007E7B8 0C01C8B3 */ jal func_800722CC /* 07F3BC 8007E7BC 24050001 */ li $a1, 1 /* 07F3C0 8007E7C0 02002025 */ move $a0, $s0 /* 07F3C4 8007E7C4 0C01C88F */ jal func_8007223C /* 07F3C8 8007E7C8 3C050001 */ lui $a1, 1 /* 07F3CC 8007E7CC 1040000A */ beqz $v0, .L8007E7F8 /* 07F3D0 8007E7D0 02002025 */ move $a0, $s0 /* 07F3D4 8007E7D4 0C01C8A9 */ jal func_800722A4 /* 07F3D8 8007E7D8 24050010 */ li $a1, 16 /* 07F3DC 8007E7DC 02002025 */ move $a0, $s0 /* 07F3E0 8007E7E0 0C01C88F */ jal func_8007223C /* 07F3E4 8007E7E4 3C050004 */ lui $a1, 4 /* 07F3E8 8007E7E8 10400003 */ beqz $v0, .L8007E7F8 /* 07F3EC 8007E7EC 02002025 */ move $a0, $s0 /* 07F3F0 8007E7F0 0C01C8A9 */ jal func_800722A4 /* 07F3F4 8007E7F4 24050020 */ li $a1, 32 .L8007E7F8: /* 07F3F8 8007E7F8 02002025 */ move $a0, $s0 /* 07F3FC 8007E7FC 0C01C8C8 */ jal func_80072320 /* 07F400 8007E800 24050002 */ li $a1, 2 /* 07F404 8007E804 10400005 */ beqz $v0, .L8007E81C /* 07F408 8007E808 02002025 */ move $a0, $s0 /* 07F40C 8007E80C 0C01C9B3 */ jal func_800726CC /* 07F410 8007E810 24050064 */ li $a1, 100 /* 07F414 8007E814 10000102 */ b .L8007EC20 /* 07F418 8007E818 8FBF0024 */ lw $ra, 0x24($sp) .L8007E81C: /* 07F41C 8007E81C 0C01C922 */ jal func_80072488 /* 07F420 8007E820 02002025 */ move $a0, $s0 /* 07F424 8007E824 100000FE */ b .L8007EC20 /* 07F428 8007E828 8FBF0024 */ lw $ra, 0x24($sp) glabel L8007E82C /* 07F42C 8007E82C 02002025 */ move $a0, $s0 /* 07F430 8007E830 24050003 */ li $a1, 3 /* 07F434 8007E834 0C01CAAB */ jal func_80072AAC /* 07F438 8007E838 24060006 */ li $a2, 6 /* 07F43C 8007E83C 100000F8 */ b .L8007EC20 /* 07F440 8007E840 8FBF0024 */ lw $ra, 0x24($sp) glabel L8007E844 /* 07F444 8007E844 02002025 */ move $a0, $s0 /* 07F448 8007E848 24050002 */ li $a1, 2 /* 07F44C 8007E84C 0C01CAAB */ jal func_80072AAC /* 07F450 8007E850 24060032 */ li $a2, 50 /* 07F454 8007E854 100000F2 */ b .L8007EC20 /* 07F458 8007E858 8FBF0024 */ lw $ra, 0x24($sp) glabel L8007E85C /* 07F45C 8007E85C 3C0141A0 */ li $at, 0x41A00000 # 20.000000 /* 07F460 8007E860 44813000 */ mtc1 $at, $f6 /* 07F464 8007E864 C460002C */ lwc1 $f0, 0x2c($v1) /* 07F468 8007E868 3C014190 */ li $at, 0x41900000 # 18.000000 /* 07F46C 8007E86C 2464002C */ addiu $a0, $v1, 0x2c /* 07F470 8007E870 4600303E */ c.le.s $f6, $f0 /* 07F474 8007E874 3C063F00 */ lui $a2, 0x3f00 /* 07F478 8007E878 45020004 */ bc1fl .L8007E88C /* 07F47C 8007E87C 44814000 */ mtc1 $at, $f8 /* 07F480 8007E880 10000008 */ b .L8007E8A4 /* 07F484 8007E884 A06000D2 */ sb $zero, 0xd2($v1) /* 07F488 8007E888 44814000 */ mtc1 $at, $f8 .L8007E88C: /* 07F48C 8007E88C 240A0001 */ li $t2, 1 /* 07F490 8007E890 4600403E */ c.le.s $f8, $f0 /* 07F494 8007E894 00000000 */ nop /* 07F498 8007E898 45000002 */ bc1f .L8007E8A4 /* 07F49C 8007E89C 00000000 */ nop /* 07F4A0 8007E8A0 A06A00D2 */ sb $t2, 0xd2($v1) .L8007E8A4: /* 07F4A4 8007E8A4 0C0103B8 */ jal func_80040EE0 /* 07F4A8 8007E8A8 8C650020 */ lw $a1, 0x20($v1) /* 07F4AC 8007E8AC 104000DB */ beqz $v0, .L8007EC1C /* 07F4B0 8007E8B0 02002025 */ move $a0, $s0 /* 07F4B4 8007E8B4 0C01C87A */ jal func_800721E8 /* 07F4B8 8007E8B8 24050200 */ li $a1, 512 /* 07F4BC 8007E8BC 0C01C99B */ jal func_8007266C /* 07F4C0 8007E8C0 02002025 */ move $a0, $s0 /* 07F4C4 8007E8C4 100000D6 */ b .L8007EC20 /* 07F4C8 8007E8C8 8FBF0024 */ lw $ra, 0x24($sp) glabel L8007E8CC /* 07F4CC 8007E8CC 240B0008 */ li $t3, 8 /* 07F4D0 8007E8D0 AFAB0010 */ sw $t3, 0x10($sp) /* 07F4D4 8007E8D4 02002025 */ move $a0, $s0 /* 07F4D8 8007E8D8 24050003 */ li $a1, 3 /* 07F4DC 8007E8DC 24060005 */ li $a2, 5 /* 07F4E0 8007E8E0 24070001 */ li $a3, 1 /* 07F4E4 8007E8E4 0C01CB95 */ jal func_80072E54 /* 07F4E8 8007E8E8 AFA00014 */ sw $zero, 0x14($sp) /* 07F4EC 8007E8EC 100000CC */ b .L8007EC20 /* 07F4F0 8007E8F0 8FBF0024 */ lw $ra, 0x24($sp) glabel L8007E8F4 /* 07F4F4 8007E8F4 02002025 */ move $a0, $s0 /* 07F4F8 8007E8F8 0C01C9E3 */ jal func_8007278C /* 07F4FC 8007E8FC 2405001E */ li $a1, 30 /* 07F500 8007E900 100000C7 */ b .L8007EC20 /* 07F504 8007E904 8FBF0024 */ lw $ra, 0x24($sp) glabel L8007E908 /* 07F508 8007E908 2464002C */ addiu $a0, $v1, 0x2c /* 07F50C 8007E90C 3C0541A0 */ lui $a1, 0x41a0 /* 07F510 8007E910 0C0103B8 */ jal func_80040EE0 /* 07F514 8007E914 3C063FC0 */ lui $a2, 0x3fc0 /* 07F518 8007E918 504000C1 */ beql $v0, $zero, .L8007EC20 /* 07F51C 8007E91C 8FBF0024 */ lw $ra, 0x24($sp) /* 07F520 8007E920 0C01C922 */ jal func_80072488 /* 07F524 8007E924 02002025 */ move $a0, $s0 /* 07F528 8007E928 100000BD */ b .L8007EC20 /* 07F52C 8007E92C 8FBF0024 */ lw $ra, 0x24($sp) glabel L8007E930 /* 07F530 8007E930 2464002C */ addiu $a0, $v1, 0x2c /* 07F534 8007E934 24050000 */ li $a1, 0 /* 07F538 8007E938 0C0103CB */ jal func_80040F2C /* 07F53C 8007E93C 3C063FC0 */ lui $a2, 0x3fc0 /* 07F540 8007E940 104000B6 */ beqz $v0, .L8007EC1C /* 07F544 8007E944 02002025 */ move $a0, $s0 /* 07F548 8007E948 0C01C88F */ jal func_8007223C /* 07F54C 8007E94C 3C050002 */ lui $a1, 2 /* 07F550 8007E950 1040000A */ beqz $v0, .L8007E97C /* 07F554 8007E954 02002025 */ move $a0, $s0 /* 07F558 8007E958 0C01C8A9 */ jal func_800722A4 /* 07F55C 8007E95C 24050010 */ li $a1, 16 /* 07F560 8007E960 02002025 */ move $a0, $s0 /* 07F564 8007E964 0C01C88F */ jal func_8007223C /* 07F568 8007E968 3C050004 */ lui $a1, 4 /* 07F56C 8007E96C 10400003 */ beqz $v0, .L8007E97C /* 07F570 8007E970 02002025 */ move $a0, $s0 /* 07F574 8007E974 0C01C8A9 */ jal func_800722A4 /* 07F578 8007E978 24050020 */ li $a1, 32 .L8007E97C: /* 07F57C 8007E97C 0C01C922 */ jal func_80072488 /* 07F580 8007E980 02002025 */ move $a0, $s0 /* 07F584 8007E984 100000A6 */ b .L8007EC20 /* 07F588 8007E988 8FBF0024 */ lw $ra, 0x24($sp) glabel L8007E98C /* 07F58C 8007E98C 2464002C */ addiu $a0, $v1, 0x2c /* 07F590 8007E990 3C054140 */ lui $a1, 0x4140 /* 07F594 8007E994 0C0103B8 */ jal func_80040EE0 /* 07F598 8007E998 3C063FC0 */ lui $a2, 0x3fc0 /* 07F59C 8007E99C 504000A0 */ beql $v0, $zero, .L8007EC20 /* 07F5A0 8007E9A0 8FBF0024 */ lw $ra, 0x24($sp) /* 07F5A4 8007E9A4 0C01C922 */ jal func_80072488 /* 07F5A8 8007E9A8 02002025 */ move $a0, $s0 /* 07F5AC 8007E9AC 1000009C */ b .L8007EC20 /* 07F5B0 8007E9B0 8FBF0024 */ lw $ra, 0x24($sp) glabel L8007E9B4 /* 07F5B4 8007E9B4 2464002C */ addiu $a0, $v1, 0x2c /* 07F5B8 8007E9B8 24050000 */ li $a1, 0 /* 07F5BC 8007E9BC 3C063FC0 */ lui $a2, 0x3fc0 /* 07F5C0 8007E9C0 0C0103CB */ jal func_80040F2C /* 07F5C4 8007E9C4 AFA30028 */ sw $v1, 0x28($sp) /* 07F5C8 8007E9C8 10400094 */ beqz $v0, .L8007EC1C /* 07F5CC 8007E9CC 8FA30028 */ lw $v1, 0x28($sp) /* 07F5D0 8007E9D0 02002025 */ move $a0, $s0 /* 07F5D4 8007E9D4 3C050002 */ lui $a1, 2 /* 07F5D8 8007E9D8 0C01C88F */ jal func_8007223C /* 07F5DC 8007E9DC AFA30028 */ sw $v1, 0x28($sp) /* 07F5E0 8007E9E0 1040000F */ beqz $v0, .L8007EA20 /* 07F5E4 8007E9E4 8FA30028 */ lw $v1, 0x28($sp) /* 07F5E8 8007E9E8 02002025 */ move $a0, $s0 /* 07F5EC 8007E9EC 24050010 */ li $a1, 16 /* 07F5F0 8007E9F0 0C01C8A9 */ jal func_800722A4 /* 07F5F4 8007E9F4 AFA30028 */ sw $v1, 0x28($sp) /* 07F5F8 8007E9F8 02002025 */ move $a0, $s0 /* 07F5FC 8007E9FC 0C01C88F */ jal func_8007223C /* 07F600 8007EA00 3C050004 */ lui $a1, 4 /* 07F604 8007EA04 10400006 */ beqz $v0, .L8007EA20 /* 07F608 8007EA08 8FA30028 */ lw $v1, 0x28($sp) /* 07F60C 8007EA0C 02002025 */ move $a0, $s0 /* 07F610 8007EA10 24050020 */ li $a1, 32 /* 07F614 8007EA14 0C01C8A9 */ jal func_800722A4 /* 07F618 8007EA18 AFA30028 */ sw $v1, 0x28($sp) /* 07F61C 8007EA1C 8FA30028 */ lw $v1, 0x28($sp) .L8007EA20: /* 07F620 8007EA20 3C061901 */ lui $a2, (0x19018045 >> 16) # lui $a2, 0x1901 /* 07F624 8007EA24 34C68045 */ ori $a2, (0x19018045 & 0xFFFF) # ori $a2, $a2, 0x8045 /* 07F628 8007EA28 24640004 */ addiu $a0, $v1, 4 /* 07F62C 8007EA2C 0C03262E */ jal func_800C98B8 /* 07F630 8007EA30 24650038 */ addiu $a1, $v1, 0x38 /* 07F634 8007EA34 0C01C922 */ jal func_80072488 /* 07F638 8007EA38 02002025 */ move $a0, $s0 /* 07F63C 8007EA3C 10000078 */ b .L8007EC20 /* 07F640 8007EA40 8FBF0024 */ lw $ra, 0x24($sp) glabel L8007EA44 /* 07F644 8007EA44 240C0006 */ li $t4, 6 /* 07F648 8007EA48 240D0003 */ li $t5, 3 /* 07F64C 8007EA4C AFAD0014 */ sw $t5, 0x14($sp) /* 07F650 8007EA50 AFAC0010 */ sw $t4, 0x10($sp) /* 07F654 8007EA54 02002025 */ move $a0, $s0 /* 07F658 8007EA58 24050005 */ li $a1, 5 /* 07F65C 8007EA5C 24060003 */ li $a2, 3 /* 07F660 8007EA60 0C01CC9B */ jal func_8007326C /* 07F664 8007EA64 24070001 */ li $a3, 1 /* 07F668 8007EA68 5040006D */ beql $v0, $zero, .L8007EC20 /* 07F66C 8007EA6C 8FBF0024 */ lw $ra, 0x24($sp) /* 07F670 8007EA70 0C020379 */ jal func_80080DE4 /* 07F674 8007EA74 02002025 */ move $a0, $s0 /* 07F678 8007EA78 10000069 */ b .L8007EC20 /* 07F67C 8007EA7C 8FBF0024 */ lw $ra, 0x24($sp) glabel L8007EA80 /* 07F680 8007EA80 3C0141B0 */ li $at, 0x41B00000 # 22.000000 /* 07F684 8007EA84 44815000 */ mtc1 $at, $f10 /* 07F688 8007EA88 C460002C */ lwc1 $f0, 0x2c($v1) /* 07F68C 8007EA8C 3C0141A0 */ li $at, 0x41A00000 # 20.000000 /* 07F690 8007EA90 4600503E */ c.le.s $f10, $f0 /* 07F694 8007EA94 00000000 */ nop /* 07F698 8007EA98 45020004 */ bc1fl .L8007EAAC /* 07F69C 8007EA9C 44818000 */ mtc1 $at, $f16 /* 07F6A0 8007EAA0 1000002D */ b .L8007EB58 /* 07F6A4 8007EAA4 A06000D2 */ sb $zero, 0xd2($v1) /* 07F6A8 8007EAA8 44818000 */ mtc1 $at, $f16 .L8007EAAC: /* 07F6AC 8007EAAC 240E0001 */ li $t6, 1 /* 07F6B0 8007EAB0 3C014190 */ li $at, 0x41900000 # 18.000000 /* 07F6B4 8007EAB4 4600803E */ c.le.s $f16, $f0 /* 07F6B8 8007EAB8 00000000 */ nop /* 07F6BC 8007EABC 45020004 */ bc1fl .L8007EAD0 /* 07F6C0 8007EAC0 44819000 */ mtc1 $at, $f18 /* 07F6C4 8007EAC4 10000024 */ b .L8007EB58 /* 07F6C8 8007EAC8 A06E00D2 */ sb $t6, 0xd2($v1) /* 07F6CC 8007EACC 44819000 */ mtc1 $at, $f18 .L8007EAD0: /* 07F6D0 8007EAD0 240F0002 */ li $t7, 2 /* 07F6D4 8007EAD4 3C014180 */ li $at, 0x41800000 # 16.000000 /* 07F6D8 8007EAD8 4600903E */ c.le.s $f18, $f0 /* 07F6DC 8007EADC 00000000 */ nop /* 07F6E0 8007EAE0 45020004 */ bc1fl .L8007EAF4 /* 07F6E4 8007EAE4 44812000 */ mtc1 $at, $f4 /* 07F6E8 8007EAE8 1000001B */ b .L8007EB58 /* 07F6EC 8007EAEC A06F00D2 */ sb $t7, 0xd2($v1) /* 07F6F0 8007EAF0 44812000 */ mtc1 $at, $f4 .L8007EAF4: /* 07F6F4 8007EAF4 24180003 */ li $t8, 3 /* 07F6F8 8007EAF8 3C014160 */ li $at, 0x41600000 # 14.000000 /* 07F6FC 8007EAFC 4600203E */ c.le.s $f4, $f0 /* 07F700 8007EB00 00000000 */ nop /* 07F704 8007EB04 45020004 */ bc1fl .L8007EB18 /* 07F708 8007EB08 44813000 */ mtc1 $at, $f6 /* 07F70C 8007EB0C 10000012 */ b .L8007EB58 /* 07F710 8007EB10 A07800D2 */ sb $t8, 0xd2($v1) /* 07F714 8007EB14 44813000 */ mtc1 $at, $f6 .L8007EB18: /* 07F718 8007EB18 02002025 */ move $a0, $s0 /* 07F71C 8007EB1C 24050003 */ li $a1, 3 /* 07F720 8007EB20 4600303E */ c.le.s $f6, $f0 /* 07F724 8007EB24 24060005 */ li $a2, 5 /* 07F728 8007EB28 24070001 */ li $a3, 1 /* 07F72C 8007EB2C 24080006 */ li $t0, 6 /* 07F730 8007EB30 45000004 */ bc1f .L8007EB44 /* 07F734 8007EB34 2409FFFF */ li $t1, -1 /* 07F738 8007EB38 24190004 */ li $t9, 4 /* 07F73C 8007EB3C 10000006 */ b .L8007EB58 /* 07F740 8007EB40 A07900D2 */ sb $t9, 0xd2($v1) .L8007EB44: /* 07F744 8007EB44 AFA80010 */ sw $t0, 0x10($sp) /* 07F748 8007EB48 AFA90014 */ sw $t1, 0x14($sp) /* 07F74C 8007EB4C 0C01CC2F */ jal func_800730BC /* 07F750 8007EB50 AFA30028 */ sw $v1, 0x28($sp) /* 07F754 8007EB54 8FA30028 */ lw $v1, 0x28($sp) .L8007EB58: /* 07F758 8007EB58 2464002C */ addiu $a0, $v1, 0x2c /* 07F75C 8007EB5C 8C650020 */ lw $a1, 0x20($v1) /* 07F760 8007EB60 0C0103B8 */ jal func_80040EE0 /* 07F764 8007EB64 3C063F00 */ lui $a2, 0x3f00 /* 07F768 8007EB68 1040002C */ beqz $v0, .L8007EC1C /* 07F76C 8007EB6C 02002025 */ move $a0, $s0 /* 07F770 8007EB70 0C01C8E2 */ jal func_80072388 /* 07F774 8007EB74 00002825 */ move $a1, $zero /* 07F778 8007EB78 0C01C922 */ jal func_80072488 /* 07F77C 8007EB7C 02002025 */ move $a0, $s0 /* 07F780 8007EB80 10000027 */ b .L8007EC20 /* 07F784 8007EB84 8FBF0024 */ lw $ra, 0x24($sp) glabel L8007EB88 /* 07F788 8007EB88 02002025 */ move $a0, $s0 /* 07F78C 8007EB8C 0C01C9E3 */ jal func_8007278C /* 07F790 8007EB90 24050064 */ li $a1, 100 /* 07F794 8007EB94 10400021 */ beqz $v0, .L8007EC1C /* 07F798 8007EB98 02002025 */ move $a0, $s0 /* 07F79C 8007EB9C 0C01C8B3 */ jal func_800722CC /* 07F7A0 8007EBA0 24050002 */ li $a1, 2 /* 07F7A4 8007EBA4 02002025 */ move $a0, $s0 /* 07F7A8 8007EBA8 0C01C87A */ jal func_800721E8 /* 07F7AC 8007EBAC 24050200 */ li $a1, 512 /* 07F7B0 8007EBB0 0C01C99B */ jal func_8007266C /* 07F7B4 8007EBB4 02002025 */ move $a0, $s0 /* 07F7B8 8007EBB8 10000019 */ b .L8007EC20 /* 07F7BC 8007EBBC 8FBF0024 */ lw $ra, 0x24($sp) .L8007EBC0: /* 07F7C0 8007EBC0 0C01C9E3 */ jal func_8007278C /* 07F7C4 8007EBC4 2405012C */ li $a1, 300 /* 07F7C8 8007EBC8 10400014 */ beqz $v0, .L8007EC1C /* 07F7CC 8007EBCC 02002025 */ move $a0, $s0 /* 07F7D0 8007EBD0 0C01C8C8 */ jal func_80072320 /* 07F7D4 8007EBD4 24050080 */ li $a1, 128 /* 07F7D8 8007EBD8 0C01C90A */ jal func_80072428 /* 07F7DC 8007EBDC 02002025 */ move $a0, $s0 /* 07F7E0 8007EBE0 02002025 */ move $a0, $s0 /* 07F7E4 8007EBE4 0C01C9B3 */ jal func_800726CC /* 07F7E8 8007EBE8 24050001 */ li $a1, 1 /* 07F7EC 8007EBEC 1000000C */ b .L8007EC20 /* 07F7F0 8007EBF0 8FBF0024 */ lw $ra, 0x24($sp) .L8007EBF4: /* 07F7F4 8007EBF4 246500B4 */ addiu $a1, $v1, 0xb4 /* 07F7F8 8007EBF8 24060400 */ li $a2, 1024 /* 07F7FC 8007EBFC 0C01CF86 */ jal func_80073E18 /* 07F800 8007EC00 34078000 */ li $a3, 32768 /* 07F804 8007EC04 10400005 */ beqz $v0, .L8007EC1C /* 07F808 8007EC08 02002025 */ move $a0, $s0 /* 07F80C 8007EC0C 0C01C8B3 */ jal func_800722CC /* 07F810 8007EC10 24050004 */ li $a1, 4 /* 07F814 8007EC14 0C01C99B */ jal func_8007266C /* 07F818 8007EC18 02002025 */ move $a0, $s0 .L8007EC1C: /* 07F81C 8007EC1C 8FBF0024 */ lw $ra, 0x24($sp) .L8007EC20: /* 07F820 8007EC20 8FB00020 */ lw $s0, 0x20($sp) /* 07F824 8007EC24 27BD0030 */ addiu $sp, $sp, 0x30 /* 07F828 8007EC28 03E00008 */ jr $ra /* 07F82C 8007EC2C 00000000 */ nop glabel func_8007EC30 /* 07F830 8007EC30 44800000 */ mtc1 $zero, $f0 /* 07F834 8007EC34 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 07F838 8007EC38 000470C0 */ sll $t6, $a0, 3 /* 07F83C 8007EC3C 01C47023 */ subu $t6, $t6, $a0 /* 07F840 8007EC40 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 07F844 8007EC44 AFB10020 */ sw $s1, 0x20($sp) /* 07F848 8007EC48 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 07F84C 8007EC4C 000E7140 */ sll $t6, $t6, 5 /* 07F850 8007EC50 AFBF0024 */ sw $ra, 0x24($sp) /* 07F854 8007EC54 AFB0001C */ sw $s0, 0x1c($sp) /* 07F858 8007EC58 01CF8821 */ addu $s1, $t6, $t7 /* 07F85C 8007EC5C 44050000 */ mfc1 $a1, $f0 /* 07F860 8007EC60 44060000 */ mfc1 $a2, $f0 /* 07F864 8007EC64 44070000 */ mfc1 $a3, $f0 /* 07F868 8007EC68 00808025 */ move $s0, $a0 /* 07F86C 8007EC6C E6200044 */ swc1 $f0, 0x44($s1) /* 07F870 8007EC70 0C022E03 */ jal func_8008B80C /* 07F874 8007EC74 E6200014 */ swc1 $f0, 0x14($s1) /* 07F878 8007EC78 3C18800E */ lui $t8, %hi(gIsMirrorMode) # $t8, 0x800e /* 07F87C 8007EC7C 8F18C604 */ lw $t8, %lo(gIsMirrorMode)($t8) /* 07F880 8007EC80 02002025 */ move $a0, $s0 /* 07F884 8007EC84 00002825 */ move $a1, $zero /* 07F888 8007EC88 1300000D */ beqz $t8, .L8007ECC0 /* 07F88C 8007EC8C 3406C000 */ li $a2, 49152 /* 07F890 8007EC90 02002025 */ move $a0, $s0 /* 07F894 8007EC94 00002825 */ move $a1, $zero /* 07F898 8007EC98 24064000 */ li $a2, 16384 /* 07F89C 8007EC9C 0C022E22 */ jal func_8008B888 /* 07F8A0 8007ECA0 00003825 */ move $a3, $zero /* 07F8A4 8007ECA4 02002025 */ move $a0, $s0 /* 07F8A8 8007ECA8 00002825 */ move $a1, $zero /* 07F8AC 8007ECAC 24064000 */ li $a2, 16384 /* 07F8B0 8007ECB0 0C022E2F */ jal func_8008B8BC /* 07F8B4 8007ECB4 00003825 */ move $a3, $zero /* 07F8B8 8007ECB8 10000008 */ b .L8007ECDC /* 07F8BC 8007ECBC 00000000 */ nop .L8007ECC0: /* 07F8C0 8007ECC0 0C022E22 */ jal func_8008B888 /* 07F8C4 8007ECC4 00003825 */ move $a3, $zero /* 07F8C8 8007ECC8 02002025 */ move $a0, $s0 /* 07F8CC 8007ECCC 00002825 */ move $a1, $zero /* 07F8D0 8007ECD0 3406C000 */ li $a2, 49152 /* 07F8D4 8007ECD4 0C022E2F */ jal func_8008B8BC /* 07F8D8 8007ECD8 00003825 */ move $a3, $zero .L8007ECDC: /* 07F8DC 8007ECDC 3C050600 */ lui $a1, %hi(D_06006F38) # $a1, 0x600 /* 07F8E0 8007ECE0 3C060600 */ lui $a2, %hi(D_06007138) # $a2, 0x600 /* 07F8E4 8007ECE4 24190040 */ li $t9, 64 /* 07F8E8 8007ECE8 AFB90010 */ sw $t9, 0x10($sp) /* 07F8EC 8007ECEC 24C67138 */ addiu $a2, %lo(D_06007138) # addiu $a2, $a2, 0x7138 /* 07F8F0 8007ECF0 24A56F38 */ addiu $a1, %lo(D_06006F38) # addiu $a1, $a1, 0x6f38 /* 07F8F4 8007ECF4 02002025 */ move $a0, $s0 /* 07F8F8 8007ECF8 0C01CD11 */ jal func_80073444 /* 07F8FC 8007ECFC 24070010 */ li $a3, 16 /* 07F900 8007ED00 3C013F80 */ li $at, 0x3F800000 # 1.000000 /* 07F904 8007ED04 44812000 */ mtc1 $at, $f4 /* 07F908 8007ED08 3C0141F0 */ li $at, 0x41F00000 # 30.000000 /* 07F90C 8007ED0C 44813000 */ mtc1 $at, $f6 /* 07F910 8007ED10 3C080601 */ lui $t0, %hi(D_06009088) # $t0, 0x601 /* 07F914 8007ED14 25089088 */ addiu $t0, %lo(D_06009088) # addiu $t0, $t0, -0x6f78 /* 07F918 8007ED18 2409000C */ li $t1, 12 /* 07F91C 8007ED1C 3C050500 */ lui $a1, (0x05000220 >> 16) # lui $a1, 0x500 /* 07F920 8007ED20 AE280070 */ sw $t0, 0x70($s1) /* 07F924 8007ED24 A62900C8 */ sh $t1, 0xc8($s1) /* 07F928 8007ED28 34A50220 */ ori $a1, (0x05000220 & 0xFFFF) # ori $a1, $a1, 0x220 /* 07F92C 8007ED2C 02002025 */ move $a0, $s0 /* 07F930 8007ED30 E6240000 */ swc1 $f4, ($s1) /* 07F934 8007ED34 0C01C870 */ jal func_800721C0 /* 07F938 8007ED38 E6260020 */ swc1 $f6, 0x20($s1) /* 07F93C 8007ED3C 240A0006 */ li $t2, 6 /* 07F940 8007ED40 A62000A4 */ sh $zero, 0xa4($s1) /* 07F944 8007ED44 A22A00DF */ sb $t2, 0xdf($s1) /* 07F948 8007ED48 0C01C937 */ jal func_800724DC /* 07F94C 8007ED4C 02002025 */ move $a0, $s0 /* 07F950 8007ED50 0C01C922 */ jal func_80072488 /* 07F954 8007ED54 02002025 */ move $a0, $s0 /* 07F958 8007ED58 8FBF0024 */ lw $ra, 0x24($sp) /* 07F95C 8007ED5C 8FB0001C */ lw $s0, 0x1c($sp) /* 07F960 8007ED60 8FB10020 */ lw $s1, 0x20($sp) /* 07F964 8007ED64 03E00008 */ jr $ra /* 07F968 8007ED68 27BD0028 */ addiu $sp, $sp, 0x28 glabel func_8007ED6C /* 07F96C 8007ED6C 000470C0 */ sll $t6, $a0, 3 /* 07F970 8007ED70 27BDFFC8 */ addiu $sp, $sp, -0x38 /* 07F974 8007ED74 01C47023 */ subu $t6, $t6, $a0 /* 07F978 8007ED78 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 07F97C 8007ED7C 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 07F980 8007ED80 000E7140 */ sll $t6, $t6, 5 /* 07F984 8007ED84 01CFC021 */ addu $t8, $t6, $t7 /* 07F988 8007ED88 AFBF001C */ sw $ra, 0x1c($sp) /* 07F98C 8007ED8C AFB00018 */ sw $s0, 0x18($sp) /* 07F990 8007ED90 AFB80024 */ sw $t8, 0x24($sp) /* 07F994 8007ED94 971900A6 */ lhu $t9, 0xa6($t8) /* 07F998 8007ED98 00808025 */ move $s0, $a0 /* 07F99C 8007ED9C 2F210005 */ sltiu $at, $t9, 5 /* 07F9A0 8007EDA0 10200020 */ beqz $at, .L8007EE24 /* 07F9A4 8007EDA4 0019C880 */ sll $t9, $t9, 2 /* 07F9A8 8007EDA8 3C01800F */ lui $at, %hi(D_800EEFBC) # 0x800f /* 07F9AC 8007EDAC 00390821 */ addu $at, $at, $t9 /* 07F9B0 8007EDB0 8C39EFBC */ lw $t9, %lo(D_800EEFBC)($at) # -0x1044($at) /* 07F9B4 8007EDB4 03200008 */ jr $t9 /* 07F9B8 8007EDB8 00000000 */ nop glabel L8007EDBC /* 07F9BC 8007EDBC 0C01FB0C */ jal func_8007EC30 /* 07F9C0 8007EDC0 02002025 */ move $a0, $s0 /* 07F9C4 8007EDC4 10000017 */ b .L8007EE24 /* 07F9C8 8007EDC8 00000000 */ nop glabel L8007EDCC /* 07F9CC 8007EDCC 02002025 */ move $a0, $s0 /* 07F9D0 8007EDD0 0C01C9E3 */ jal func_8007278C /* 07F9D4 8007EDD4 2405003C */ li $a1, 60 /* 07F9D8 8007EDD8 10000012 */ b .L8007EE24 /* 07F9DC 8007EDDC 00000000 */ nop glabel L8007EDE0 /* 07F9E0 8007EDE0 02002025 */ move $a0, $s0 /* 07F9E4 8007EDE4 0C01C95A */ jal func_80072568 /* 07F9E8 8007EDE8 24050032 */ li $a1, 50 /* 07F9EC 8007EDEC 1000000D */ b .L8007EE24 /* 07F9F0 8007EDF0 00000000 */ nop glabel L8007EDF4 /* 07F9F4 8007EDF4 0C01F967 */ jal func_8007E59C /* 07F9F8 8007EDF8 02002025 */ move $a0, $s0 /* 07F9FC 8007EDFC 10400007 */ beqz $v0, .L8007EE1C /* 07FA00 8007EE00 02002025 */ move $a0, $s0 /* 07FA04 8007EE04 02002025 */ move $a0, $s0 /* 07FA08 8007EE08 2405012C */ li $a1, 300 /* 07FA0C 8007EE0C 0C01C97A */ jal func_800725E8 /* 07FA10 8007EE10 24060002 */ li $a2, 2 /* 07FA14 8007EE14 10000003 */ b .L8007EE24 /* 07FA18 8007EE18 00000000 */ nop .L8007EE1C: /* 07FA1C 8007EE1C 0C01C9B3 */ jal func_800726CC /* 07FA20 8007EE20 24050002 */ li $a1, 2 .L8007EE24: glabel L8007EE24 /* 07FA24 8007EE24 0C01F98F */ jal func_8007E63C /* 07FA28 8007EE28 02002025 */ move $a0, $s0 /* 07FA2C 8007EE2C 0C022FC6 */ jal func_8008BF18 /* 07FA30 8007EE30 02002025 */ move $a0, $s0 /* 07FA34 8007EE34 8FA80024 */ lw $t0, 0x24($sp) /* 07FA38 8007EE38 02002025 */ move $a0, $s0 /* 07FA3C 8007EE3C 950900B4 */ lhu $t1, 0xb4($t0) /* 07FA40 8007EE40 0C01CD45 */ jal func_80073514 /* 07FA44 8007EE44 A50900C0 */ sh $t1, 0xc0($t0) /* 07FA48 8007EE48 8FBF001C */ lw $ra, 0x1c($sp) /* 07FA4C 8007EE4C 8FB00018 */ lw $s0, 0x18($sp) /* 07FA50 8007EE50 27BD0038 */ addiu $sp, $sp, 0x38 /* 07FA54 8007EE54 03E00008 */ jr $ra /* 07FA58 8007EE58 00000000 */ nop glabel func_8007EE5C /* 07FA5C 8007EE5C 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 07FA60 8007EE60 AFBF0024 */ sw $ra, 0x24($sp) /* 07FA64 8007EE64 AFB10020 */ sw $s1, 0x20($sp) /* 07FA68 8007EE68 3C050600 */ lui $a1, %hi(D_06006F38) # $a1, 0x600 /* 07FA6C 8007EE6C 3C060600 */ lui $a2, %hi(D_06007138) # $a2, 0x600 /* 07FA70 8007EE70 240E0040 */ li $t6, 64 /* 07FA74 8007EE74 00808825 */ move $s1, $a0 /* 07FA78 8007EE78 AFB0001C */ sw $s0, 0x1c($sp) /* 07FA7C 8007EE7C AFAE0010 */ sw $t6, 0x10($sp) /* 07FA80 8007EE80 24C67138 */ addiu $a2, %lo(D_06007138) # addiu $a2, $a2, 0x7138 /* 07FA84 8007EE84 24A56F38 */ addiu $a1, %lo(D_06006F38) # addiu $a1, $a1, 0x6f38 /* 07FA88 8007EE88 0C01CD11 */ jal func_80073444 /* 07FA8C 8007EE8C 24070010 */ li $a3, 16 /* 07FA90 8007EE90 001178C0 */ sll $t7, $s1, 3 /* 07FA94 8007EE94 01F17823 */ subu $t7, $t7, $s1 /* 07FA98 8007EE98 3C188016 */ lui $t8, %hi(D_80165C18) # $t8, 0x8016 /* 07FA9C 8007EE9C 27185C18 */ addiu $t8, %lo(D_80165C18) # addiu $t8, $t8, 0x5c18 /* 07FAA0 8007EEA0 000F7940 */ sll $t7, $t7, 5 /* 07FAA4 8007EEA4 3C013F80 */ li $at, 0x3F800000 # 1.000000 /* 07FAA8 8007EEA8 44812000 */ mtc1 $at, $f4 /* 07FAAC 8007EEAC 01F88021 */ addu $s0, $t7, $t8 /* 07FAB0 8007EEB0 3C190601 */ lui $t9, %hi(D_06009088) # $t9, 0x601 /* 07FAB4 8007EEB4 27399088 */ addiu $t9, %lo(D_06009088) # addiu $t9, $t9, -0x6f78 /* 07FAB8 8007EEB8 2408000C */ li $t0, 12 /* 07FABC 8007EEBC 3C050400 */ lui $a1, (0x04000220 >> 16) # lui $a1, 0x400 /* 07FAC0 8007EEC0 AE190070 */ sw $t9, 0x70($s0) /* 07FAC4 8007EEC4 A60800C8 */ sh $t0, 0xc8($s0) /* 07FAC8 8007EEC8 34A50220 */ ori $a1, (0x04000220 & 0xFFFF) # ori $a1, $a1, 0x220 /* 07FACC 8007EECC 02202025 */ move $a0, $s1 /* 07FAD0 8007EED0 0C01C870 */ jal func_800721C0 /* 07FAD4 8007EED4 E6040000 */ swc1 $f4, ($s0) /* 07FAD8 8007EED8 24090006 */ li $t1, 6 /* 07FADC 8007EEDC A60000A4 */ sh $zero, 0xa4($s0) /* 07FAE0 8007EEE0 A20900DF */ sb $t1, 0xdf($s0) /* 07FAE4 8007EEE4 0C021B9C */ jal func_80086E70 /* 07FAE8 8007EEE8 02202025 */ move $a0, $s1 /* 07FAEC 8007EEEC 44800000 */ mtc1 $zero, $f0 /* 07FAF0 8007EEF0 02202025 */ move $a0, $s1 /* 07FAF4 8007EEF4 3C0641A0 */ lui $a2, 0x41a0 /* 07FAF8 8007EEF8 44050000 */ mfc1 $a1, $f0 /* 07FAFC 8007EEFC 44070000 */ mfc1 $a3, $f0 /* 07FB00 8007EF00 E6000044 */ swc1 $f0, 0x44($s0) /* 07FB04 8007EF04 0C022E03 */ jal func_8008B80C /* 07FB08 8007EF08 E6000014 */ swc1 $f0, 0x14($s0) /* 07FB0C 8007EF0C 3C0141A0 */ li $at, 0x41A00000 # 20.000000 /* 07FB10 8007EF10 44813000 */ mtc1 $at, $f6 /* 07FB14 8007EF14 3C0A800E */ lui $t2, %hi(gIsMirrorMode) # $t2, 0x800e /* 07FB18 8007EF18 00003825 */ move $a3, $zero /* 07FB1C 8007EF1C E6060020 */ swc1 $f6, 0x20($s0) /* 07FB20 8007EF20 8D4AC604 */ lw $t2, %lo(gIsMirrorMode)($t2) /* 07FB24 8007EF24 02202025 */ move $a0, $s1 /* 07FB28 8007EF28 00002825 */ move $a1, $zero /* 07FB2C 8007EF2C 1140000C */ beqz $t2, .L8007EF60 /* 07FB30 8007EF30 3406C000 */ li $a2, 49152 /* 07FB34 8007EF34 02202025 */ move $a0, $s1 /* 07FB38 8007EF38 00002825 */ move $a1, $zero /* 07FB3C 8007EF3C 0C022E22 */ jal func_8008B888 /* 07FB40 8007EF40 24064000 */ li $a2, 16384 /* 07FB44 8007EF44 02202025 */ move $a0, $s1 /* 07FB48 8007EF48 00002825 */ move $a1, $zero /* 07FB4C 8007EF4C 24064000 */ li $a2, 16384 /* 07FB50 8007EF50 0C022E2F */ jal func_8008B8BC /* 07FB54 8007EF54 00003825 */ move $a3, $zero /* 07FB58 8007EF58 10000009 */ b .L8007EF80 /* 07FB5C 8007EF5C 860C00A0 */ lh $t4, 0xa0($s0) .L8007EF60: /* 07FB60 8007EF60 0C022E22 */ jal func_8008B888 /* 07FB64 8007EF64 00003825 */ move $a3, $zero /* 07FB68 8007EF68 02202025 */ move $a0, $s1 /* 07FB6C 8007EF6C 00002825 */ move $a1, $zero /* 07FB70 8007EF70 3406C000 */ li $a2, 49152 /* 07FB74 8007EF74 0C022E2F */ jal func_8008B8BC /* 07FB78 8007EF78 00003825 */ move $a3, $zero /* 07FB7C 8007EF7C 860C00A0 */ lh $t4, 0xa0($s0) .L8007EF80: /* 07FB80 8007EF80 240B0001 */ li $t3, 1 /* 07FB84 8007EF84 A60B00AE */ sh $t3, 0xae($s0) /* 07FB88 8007EF88 15800004 */ bnez $t4, .L8007EF9C /* 07FB8C 8007EF8C 240E0002 */ li $t6, 2 /* 07FB90 8007EF90 240D0001 */ li $t5, 1 /* 07FB94 8007EF94 10000002 */ b .L8007EFA0 /* 07FB98 8007EF98 A20D00DD */ sb $t5, 0xdd($s0) .L8007EF9C: /* 07FB9C 8007EF9C A20E00DD */ sb $t6, 0xdd($s0) .L8007EFA0: /* 07FBA0 8007EFA0 0C01C922 */ jal func_80072488 /* 07FBA4 8007EFA4 02202025 */ move $a0, $s1 /* 07FBA8 8007EFA8 8FBF0024 */ lw $ra, 0x24($sp) /* 07FBAC 8007EFAC 8FB0001C */ lw $s0, 0x1c($sp) /* 07FBB0 8007EFB0 8FB10020 */ lw $s1, 0x20($sp) /* 07FBB4 8007EFB4 03E00008 */ jr $ra /* 07FBB8 8007EFB8 27BD0028 */ addiu $sp, $sp, 0x28 glabel func_8007EFBC /* 07FBBC 8007EFBC 000470C0 */ sll $t6, $a0, 3 /* 07FBC0 8007EFC0 01C47023 */ subu $t6, $t6, $a0 /* 07FBC4 8007EFC4 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 07FBC8 8007EFC8 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 07FBCC 8007EFCC 000E7140 */ sll $t6, $t6, 5 /* 07FBD0 8007EFD0 01CF1821 */ addu $v1, $t6, $t7 /* 07FBD4 8007EFD4 947800AE */ lhu $t8, 0xae($v1) /* 07FBD8 8007EFD8 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 07FBDC 8007EFDC AFB00018 */ sw $s0, 0x18($sp) /* 07FBE0 8007EFE0 2F010012 */ sltiu $at, $t8, 0x12 /* 07FBE4 8007EFE4 00808025 */ move $s0, $a0 /* 07FBE8 8007EFE8 102000A0 */ beqz $at, .L8007F26C /* 07FBEC 8007EFEC AFBF001C */ sw $ra, 0x1c($sp) /* 07FBF0 8007EFF0 0018C080 */ sll $t8, $t8, 2 /* 07FBF4 8007EFF4 3C01800F */ lui $at, %hi(D_800EEFD0) # 0x800f /* 07FBF8 8007EFF8 00380821 */ addu $at, $at, $t8 /* 07FBFC 8007EFFC 8C38EFD0 */ lw $t8, %lo(D_800EEFD0)($at) # -0x1030($at) /* 07FC00 8007F000 03000008 */ jr $t8 /* 07FC04 8007F004 00000000 */ nop glabel L8007F008 /* 07FC08 8007F008 02002025 */ move $a0, $s0 /* 07FC0C 8007F00C 246500B4 */ addiu $a1, $v1, 0xb4 /* 07FC10 8007F010 24060800 */ li $a2, 2048 /* 07FC14 8007F014 34078000 */ li $a3, 32768 /* 07FC18 8007F018 0C01CF86 */ jal func_80073E18 /* 07FC1C 8007F01C AFA30024 */ sw $v1, 0x24($sp) /* 07FC20 8007F020 10400092 */ beqz $v0, .L8007F26C /* 07FC24 8007F024 8FA30024 */ lw $v1, 0x24($sp) /* 07FC28 8007F028 3C018019 */ lui $at, %hi(D_8018D01C) # $at, 0x8019 /* 07FC2C 8007F02C C424D01C */ lwc1 $f4, %lo(D_8018D01C)($at) /* 07FC30 8007F030 3C014069 */ li $at, 0x40690000 # 3.640625 /* 07FC34 8007F034 44814800 */ mtc1 $at, $f9 /* 07FC38 8007F038 44804000 */ mtc1 $zero, $f8 /* 07FC3C 8007F03C 460021A1 */ cvt.d.s $f6, $f4 /* 07FC40 8007F040 02002025 */ move $a0, $s0 /* 07FC44 8007F044 46283282 */ mul.d $f10, $f6, $f8 /* 07FC48 8007F048 46205420 */ cvt.s.d $f16, $f10 /* 07FC4C 8007F04C 0C021BF5 */ jal func_80086FD4 /* 07FC50 8007F050 E470001C */ swc1 $f16, 0x1c($v1) /* 07FC54 8007F054 10000086 */ b .L8007F270 /* 07FC58 8007F058 8FBF001C */ lw $ra, 0x1c($sp) glabel L8007F05C /* 07FC5C 8007F05C 24640028 */ addiu $a0, $v1, 0x28 /* 07FC60 8007F060 8C65001C */ lw $a1, 0x1c($v1) /* 07FC64 8007F064 0C0104EE */ jal func_800413B8 /* 07FC68 8007F068 3C064080 */ lui $a2, 0x4080 /* 07FC6C 8007F06C 50400080 */ beql $v0, $zero, .L8007F270 /* 07FC70 8007F070 8FBF001C */ lw $ra, 0x1c($sp) /* 07FC74 8007F074 0C021BF5 */ jal func_80086FD4 /* 07FC78 8007F078 02002025 */ move $a0, $s0 /* 07FC7C 8007F07C 1000007C */ b .L8007F270 /* 07FC80 8007F080 8FBF001C */ lw $ra, 0x1c($sp) glabel L8007F084 /* 07FC84 8007F084 02002025 */ move $a0, $s0 /* 07FC88 8007F088 246500B4 */ addiu $a1, $v1, 0xb4 /* 07FC8C 8007F08C 24060400 */ li $a2, 1024 /* 07FC90 8007F090 0C01CF86 */ jal func_80073E18 /* 07FC94 8007F094 34078000 */ li $a3, 32768 /* 07FC98 8007F098 10400074 */ beqz $v0, .L8007F26C /* 07FC9C 8007F09C 02002025 */ move $a0, $s0 /* 07FCA0 8007F0A0 0C01C9B3 */ jal func_800726CC /* 07FCA4 8007F0A4 24050003 */ li $a1, 3 /* 07FCA8 8007F0A8 0C021BF5 */ jal func_80086FD4 /* 07FCAC 8007F0AC 02002025 */ move $a0, $s0 /* 07FCB0 8007F0B0 1000006F */ b .L8007F270 /* 07FCB4 8007F0B4 8FBF001C */ lw $ra, 0x1c($sp) glabel L8007F0B8 /* 07FCB8 8007F0B8 02002025 */ move $a0, $s0 /* 07FCBC 8007F0BC 246500B4 */ addiu $a1, $v1, 0xb4 /* 07FCC0 8007F0C0 24060400 */ li $a2, 1024 /* 07FCC4 8007F0C4 0C01CF86 */ jal func_80073E18 /* 07FCC8 8007F0C8 3407C000 */ li $a3, 49152 /* 07FCCC 8007F0CC 50400068 */ beql $v0, $zero, .L8007F270 /* 07FCD0 8007F0D0 8FBF001C */ lw $ra, 0x1c($sp) /* 07FCD4 8007F0D4 0C021BF5 */ jal func_80086FD4 /* 07FCD8 8007F0D8 02002025 */ move $a0, $s0 /* 07FCDC 8007F0DC 10000064 */ b .L8007F270 /* 07FCE0 8007F0E0 8FBF001C */ lw $ra, 0x1c($sp) glabel L8007F0E4 /* 07FCE4 8007F0E4 24640030 */ addiu $a0, $v1, 0x30 /* 07FCE8 8007F0E8 3C05C2C8 */ lui $a1, 0xc2c8 /* 07FCEC 8007F0EC 0C0103CB */ jal func_80040F2C /* 07FCF0 8007F0F0 3C064000 */ lui $a2, 0x4000 /* 07FCF4 8007F0F4 5040005E */ beql $v0, $zero, .L8007F270 /* 07FCF8 8007F0F8 8FBF001C */ lw $ra, 0x1c($sp) /* 07FCFC 8007F0FC 0C021BF5 */ jal func_80086FD4 /* 07FD00 8007F100 02002025 */ move $a0, $s0 /* 07FD04 8007F104 1000005A */ b .L8007F270 /* 07FD08 8007F108 8FBF001C */ lw $ra, 0x1c($sp) glabel L8007F10C /* 07FD0C 8007F10C 02002025 */ move $a0, $s0 /* 07FD10 8007F110 246500B4 */ addiu $a1, $v1, 0xb4 /* 07FD14 8007F114 24060400 */ li $a2, 1024 /* 07FD18 8007F118 0C01CF86 */ jal func_80073E18 /* 07FD1C 8007F11C 24074000 */ li $a3, 16384 /* 07FD20 8007F120 50400053 */ beql $v0, $zero, .L8007F270 /* 07FD24 8007F124 8FBF001C */ lw $ra, 0x1c($sp) /* 07FD28 8007F128 0C021BF5 */ jal func_80086FD4 /* 07FD2C 8007F12C 02002025 */ move $a0, $s0 /* 07FD30 8007F130 02002025 */ move $a0, $s0 /* 07FD34 8007F134 0C01C9B3 */ jal func_800726CC /* 07FD38 8007F138 24050003 */ li $a1, 3 /* 07FD3C 8007F13C 1000004C */ b .L8007F270 /* 07FD40 8007F140 8FBF001C */ lw $ra, 0x1c($sp) glabel L8007F144 /* 07FD44 8007F144 02002025 */ move $a0, $s0 /* 07FD48 8007F148 246500B4 */ addiu $a1, $v1, 0xb4 /* 07FD4C 8007F14C 24060400 */ li $a2, 1024 /* 07FD50 8007F150 0C01CF86 */ jal func_80073E18 /* 07FD54 8007F154 3C070001 */ lui $a3, 1 /* 07FD58 8007F158 50400045 */ beql $v0, $zero, .L8007F270 /* 07FD5C 8007F15C 8FBF001C */ lw $ra, 0x1c($sp) /* 07FD60 8007F160 0C021BF5 */ jal func_80086FD4 /* 07FD64 8007F164 02002025 */ move $a0, $s0 /* 07FD68 8007F168 10000041 */ b .L8007F270 /* 07FD6C 8007F16C 8FBF001C */ lw $ra, 0x1c($sp) glabel L8007F170 /* 07FD70 8007F170 24640028 */ addiu $a0, $v1, 0x28 /* 07FD74 8007F174 24050000 */ li $a1, 0 /* 07FD78 8007F178 0C0104EE */ jal func_800413B8 /* 07FD7C 8007F17C 3C064080 */ lui $a2, 0x4080 /* 07FD80 8007F180 5040003B */ beql $v0, $zero, .L8007F270 /* 07FD84 8007F184 8FBF001C */ lw $ra, 0x1c($sp) /* 07FD88 8007F188 0C021BF5 */ jal func_80086FD4 /* 07FD8C 8007F18C 02002025 */ move $a0, $s0 /* 07FD90 8007F190 10000037 */ b .L8007F270 /* 07FD94 8007F194 8FBF001C */ lw $ra, 0x1c($sp) glabel L8007F198 /* 07FD98 8007F198 02002025 */ move $a0, $s0 /* 07FD9C 8007F19C 246500B4 */ addiu $a1, $v1, 0xb4 /* 07FDA0 8007F1A0 24060400 */ li $a2, 1024 /* 07FDA4 8007F1A4 0C01CF86 */ jal func_80073E18 /* 07FDA8 8007F1A8 3C070001 */ lui $a3, 1 /* 07FDAC 8007F1AC 50400030 */ beql $v0, $zero, .L8007F270 /* 07FDB0 8007F1B0 8FBF001C */ lw $ra, 0x1c($sp) /* 07FDB4 8007F1B4 0C021BF5 */ jal func_80086FD4 /* 07FDB8 8007F1B8 02002025 */ move $a0, $s0 /* 07FDBC 8007F1BC 02002025 */ move $a0, $s0 /* 07FDC0 8007F1C0 0C01C9B3 */ jal func_800726CC /* 07FDC4 8007F1C4 24050003 */ li $a1, 3 /* 07FDC8 8007F1C8 10000029 */ b .L8007F270 /* 07FDCC 8007F1CC 8FBF001C */ lw $ra, 0x1c($sp) glabel L8007F1D0 /* 07FDD0 8007F1D0 3C070001 */ lui $a3, (0x00014000 >> 16) # lui $a3, 1 /* 07FDD4 8007F1D4 34E74000 */ ori $a3, (0x00014000 & 0xFFFF) # ori $a3, $a3, 0x4000 /* 07FDD8 8007F1D8 02002025 */ move $a0, $s0 /* 07FDDC 8007F1DC 246500B4 */ addiu $a1, $v1, 0xb4 /* 07FDE0 8007F1E0 0C01CF86 */ jal func_80073E18 /* 07FDE4 8007F1E4 24060400 */ li $a2, 1024 /* 07FDE8 8007F1E8 50400021 */ beql $v0, $zero, .L8007F270 /* 07FDEC 8007F1EC 8FBF001C */ lw $ra, 0x1c($sp) /* 07FDF0 8007F1F0 0C021BF5 */ jal func_80086FD4 /* 07FDF4 8007F1F4 02002025 */ move $a0, $s0 /* 07FDF8 8007F1F8 1000001D */ b .L8007F270 /* 07FDFC 8007F1FC 8FBF001C */ lw $ra, 0x1c($sp) glabel L8007F200 /* 07FE00 8007F200 24640030 */ addiu $a0, $v1, 0x30 /* 07FE04 8007F204 24050000 */ li $a1, 0 /* 07FE08 8007F208 0C0103B8 */ jal func_80040EE0 /* 07FE0C 8007F20C 3C064000 */ lui $a2, 0x4000 /* 07FE10 8007F210 50400017 */ beql $v0, $zero, .L8007F270 /* 07FE14 8007F214 8FBF001C */ lw $ra, 0x1c($sp) /* 07FE18 8007F218 0C021BF5 */ jal func_80086FD4 /* 07FE1C 8007F21C 02002025 */ move $a0, $s0 /* 07FE20 8007F220 10000013 */ b .L8007F270 /* 07FE24 8007F224 8FBF001C */ lw $ra, 0x1c($sp) glabel L8007F228 /* 07FE28 8007F228 02002025 */ move $a0, $s0 /* 07FE2C 8007F22C 246500B4 */ addiu $a1, $v1, 0xb4 /* 07FE30 8007F230 24060400 */ li $a2, 1024 /* 07FE34 8007F234 0C01CF86 */ jal func_80073E18 /* 07FE38 8007F238 3407C000 */ li $a3, 49152 /* 07FE3C 8007F23C 5040000C */ beql $v0, $zero, .L8007F270 /* 07FE40 8007F240 8FBF001C */ lw $ra, 0x1c($sp) /* 07FE44 8007F244 0C021BF5 */ jal func_80086FD4 /* 07FE48 8007F248 02002025 */ move $a0, $s0 /* 07FE4C 8007F24C 02002025 */ move $a0, $s0 /* 07FE50 8007F250 0C01C9B3 */ jal func_800726CC /* 07FE54 8007F254 24050003 */ li $a1, 3 /* 07FE58 8007F258 10000005 */ b .L8007F270 /* 07FE5C 8007F25C 8FBF001C */ lw $ra, 0x1c($sp) glabel L8007F260 /* 07FE60 8007F260 02002025 */ move $a0, $s0 /* 07FE64 8007F264 0C021C07 */ jal func_8008701C /* 07FE68 8007F268 24050001 */ li $a1, 1 .L8007F26C: glabel L8007F26C /* 07FE6C 8007F26C 8FBF001C */ lw $ra, 0x1c($sp) .L8007F270: /* 07FE70 8007F270 8FB00018 */ lw $s0, 0x18($sp) /* 07FE74 8007F274 27BD0028 */ addiu $sp, $sp, 0x28 /* 07FE78 8007F278 03E00008 */ jr $ra /* 07FE7C 8007F27C 00000000 */ nop glabel func_8007F280 /* 07FE80 8007F280 000470C0 */ sll $t6, $a0, 3 /* 07FE84 8007F284 01C47023 */ subu $t6, $t6, $a0 /* 07FE88 8007F288 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 07FE8C 8007F28C 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 07FE90 8007F290 000E7140 */ sll $t6, $t6, 5 /* 07FE94 8007F294 01CF1821 */ addu $v1, $t6, $t7 /* 07FE98 8007F298 947800AE */ lhu $t8, 0xae($v1) /* 07FE9C 8007F29C 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 07FEA0 8007F2A0 AFB00018 */ sw $s0, 0x18($sp) /* 07FEA4 8007F2A4 2F010012 */ sltiu $at, $t8, 0x12 /* 07FEA8 8007F2A8 00808025 */ move $s0, $a0 /* 07FEAC 8007F2AC 102000A0 */ beqz $at, .L8007F530 /* 07FEB0 8007F2B0 AFBF001C */ sw $ra, 0x1c($sp) /* 07FEB4 8007F2B4 0018C080 */ sll $t8, $t8, 2 /* 07FEB8 8007F2B8 3C01800F */ lui $at, %hi(D_800EF018) # 0x800f /* 07FEBC 8007F2BC 00380821 */ addu $at, $at, $t8 /* 07FEC0 8007F2C0 8C38F018 */ lw $t8, %lo(D_800EF018)($at) # -0xfe8($at) /* 07FEC4 8007F2C4 03000008 */ jr $t8 /* 07FEC8 8007F2C8 00000000 */ nop glabel L8007F2CC /* 07FECC 8007F2CC 02002025 */ move $a0, $s0 /* 07FED0 8007F2D0 246500B4 */ addiu $a1, $v1, 0xb4 /* 07FED4 8007F2D4 24060400 */ li $a2, 1024 /* 07FED8 8007F2D8 3C070001 */ lui $a3, 1 /* 07FEDC 8007F2DC 0C01CF86 */ jal func_80073E18 /* 07FEE0 8007F2E0 AFA30024 */ sw $v1, 0x24($sp) /* 07FEE4 8007F2E4 10400092 */ beqz $v0, .L8007F530 /* 07FEE8 8007F2E8 8FA30024 */ lw $v1, 0x24($sp) /* 07FEEC 8007F2EC 3C018019 */ lui $at, %hi(D_8018D01C) # $at, 0x8019 /* 07FEF0 8007F2F0 C424D01C */ lwc1 $f4, %lo(D_8018D01C)($at) /* 07FEF4 8007F2F4 3C01C069 */ li $at, 0xC0690000 # -3.640625 /* 07FEF8 8007F2F8 44814800 */ mtc1 $at, $f9 /* 07FEFC 8007F2FC 44804000 */ mtc1 $zero, $f8 /* 07FF00 8007F300 460021A1 */ cvt.d.s $f6, $f4 /* 07FF04 8007F304 02002025 */ move $a0, $s0 /* 07FF08 8007F308 46283282 */ mul.d $f10, $f6, $f8 /* 07FF0C 8007F30C 46205420 */ cvt.s.d $f16, $f10 /* 07FF10 8007F310 0C021BF5 */ jal func_80086FD4 /* 07FF14 8007F314 E470001C */ swc1 $f16, 0x1c($v1) /* 07FF18 8007F318 10000086 */ b .L8007F534 /* 07FF1C 8007F31C 8FBF001C */ lw $ra, 0x1c($sp) glabel L8007F320 /* 07FF20 8007F320 24640028 */ addiu $a0, $v1, 0x28 /* 07FF24 8007F324 8C65001C */ lw $a1, 0x1c($v1) /* 07FF28 8007F328 0C0104EE */ jal func_800413B8 /* 07FF2C 8007F32C 3C064080 */ lui $a2, 0x4080 /* 07FF30 8007F330 50400080 */ beql $v0, $zero, .L8007F534 /* 07FF34 8007F334 8FBF001C */ lw $ra, 0x1c($sp) /* 07FF38 8007F338 0C021BF5 */ jal func_80086FD4 /* 07FF3C 8007F33C 02002025 */ move $a0, $s0 /* 07FF40 8007F340 1000007C */ b .L8007F534 /* 07FF44 8007F344 8FBF001C */ lw $ra, 0x1c($sp) glabel L8007F348 /* 07FF48 8007F348 02002025 */ move $a0, $s0 /* 07FF4C 8007F34C 246500B4 */ addiu $a1, $v1, 0xb4 /* 07FF50 8007F350 24060400 */ li $a2, 1024 /* 07FF54 8007F354 0C01CF86 */ jal func_80073E18 /* 07FF58 8007F358 3C070001 */ lui $a3, 1 /* 07FF5C 8007F35C 10400074 */ beqz $v0, .L8007F530 /* 07FF60 8007F360 02002025 */ move $a0, $s0 /* 07FF64 8007F364 0C01C9B3 */ jal func_800726CC /* 07FF68 8007F368 24050003 */ li $a1, 3 /* 07FF6C 8007F36C 0C021BF5 */ jal func_80086FD4 /* 07FF70 8007F370 02002025 */ move $a0, $s0 /* 07FF74 8007F374 1000006F */ b .L8007F534 /* 07FF78 8007F378 8FBF001C */ lw $ra, 0x1c($sp) glabel L8007F37C /* 07FF7C 8007F37C 02002025 */ move $a0, $s0 /* 07FF80 8007F380 246500B4 */ addiu $a1, $v1, 0xb4 /* 07FF84 8007F384 24060400 */ li $a2, 1024 /* 07FF88 8007F388 0C01CF86 */ jal func_80073E18 /* 07FF8C 8007F38C 24074000 */ li $a3, 16384 /* 07FF90 8007F390 50400068 */ beql $v0, $zero, .L8007F534 /* 07FF94 8007F394 8FBF001C */ lw $ra, 0x1c($sp) /* 07FF98 8007F398 0C021BF5 */ jal func_80086FD4 /* 07FF9C 8007F39C 02002025 */ move $a0, $s0 /* 07FFA0 8007F3A0 10000064 */ b .L8007F534 /* 07FFA4 8007F3A4 8FBF001C */ lw $ra, 0x1c($sp) glabel L8007F3A8 /* 07FFA8 8007F3A8 24640030 */ addiu $a0, $v1, 0x30 /* 07FFAC 8007F3AC 3C0542C8 */ lui $a1, 0x42c8 /* 07FFB0 8007F3B0 0C0103B8 */ jal func_80040EE0 /* 07FFB4 8007F3B4 3C064000 */ lui $a2, 0x4000 /* 07FFB8 8007F3B8 5040005E */ beql $v0, $zero, .L8007F534 /* 07FFBC 8007F3BC 8FBF001C */ lw $ra, 0x1c($sp) /* 07FFC0 8007F3C0 0C021BF5 */ jal func_80086FD4 /* 07FFC4 8007F3C4 02002025 */ move $a0, $s0 /* 07FFC8 8007F3C8 1000005A */ b .L8007F534 /* 07FFCC 8007F3CC 8FBF001C */ lw $ra, 0x1c($sp) glabel L8007F3D0 /* 07FFD0 8007F3D0 02002025 */ move $a0, $s0 /* 07FFD4 8007F3D4 246500B4 */ addiu $a1, $v1, 0xb4 /* 07FFD8 8007F3D8 24060400 */ li $a2, 1024 /* 07FFDC 8007F3DC 0C01CF86 */ jal func_80073E18 /* 07FFE0 8007F3E0 3407C000 */ li $a3, 49152 /* 07FFE4 8007F3E4 50400053 */ beql $v0, $zero, .L8007F534 /* 07FFE8 8007F3E8 8FBF001C */ lw $ra, 0x1c($sp) /* 07FFEC 8007F3EC 0C021BF5 */ jal func_80086FD4 /* 07FFF0 8007F3F0 02002025 */ move $a0, $s0 /* 07FFF4 8007F3F4 02002025 */ move $a0, $s0 /* 07FFF8 8007F3F8 0C01C9B3 */ jal func_800726CC /* 07FFFC 8007F3FC 24050003 */ li $a1, 3 /* 080000 8007F400 1000004C */ b .L8007F534 /* 080004 8007F404 8FBF001C */ lw $ra, 0x1c($sp) glabel L8007F408 /* 080008 8007F408 02002025 */ move $a0, $s0 /* 08000C 8007F40C 246500B4 */ addiu $a1, $v1, 0xb4 /* 080010 8007F410 24060400 */ li $a2, 1024 /* 080014 8007F414 0C01CF86 */ jal func_80073E18 /* 080018 8007F418 34078000 */ li $a3, 32768 /* 08001C 8007F41C 50400045 */ beql $v0, $zero, .L8007F534 /* 080020 8007F420 8FBF001C */ lw $ra, 0x1c($sp) /* 080024 8007F424 0C021BF5 */ jal func_80086FD4 /* 080028 8007F428 02002025 */ move $a0, $s0 /* 08002C 8007F42C 10000041 */ b .L8007F534 /* 080030 8007F430 8FBF001C */ lw $ra, 0x1c($sp) glabel L8007F434 /* 080034 8007F434 24640028 */ addiu $a0, $v1, 0x28 /* 080038 8007F438 24050000 */ li $a1, 0 /* 08003C 8007F43C 0C0104EE */ jal func_800413B8 /* 080040 8007F440 3C064080 */ lui $a2, 0x4080 /* 080044 8007F444 5040003B */ beql $v0, $zero, .L8007F534 /* 080048 8007F448 8FBF001C */ lw $ra, 0x1c($sp) /* 08004C 8007F44C 0C021BF5 */ jal func_80086FD4 /* 080050 8007F450 02002025 */ move $a0, $s0 /* 080054 8007F454 10000037 */ b .L8007F534 /* 080058 8007F458 8FBF001C */ lw $ra, 0x1c($sp) glabel L8007F45C /* 08005C 8007F45C 02002025 */ move $a0, $s0 /* 080060 8007F460 246500B4 */ addiu $a1, $v1, 0xb4 /* 080064 8007F464 24060400 */ li $a2, 1024 /* 080068 8007F468 0C01CF86 */ jal func_80073E18 /* 08006C 8007F46C 34078000 */ li $a3, 32768 /* 080070 8007F470 50400030 */ beql $v0, $zero, .L8007F534 /* 080074 8007F474 8FBF001C */ lw $ra, 0x1c($sp) /* 080078 8007F478 0C021BF5 */ jal func_80086FD4 /* 08007C 8007F47C 02002025 */ move $a0, $s0 /* 080080 8007F480 02002025 */ move $a0, $s0 /* 080084 8007F484 0C01C9B3 */ jal func_800726CC /* 080088 8007F488 24050003 */ li $a1, 3 /* 08008C 8007F48C 10000029 */ b .L8007F534 /* 080090 8007F490 8FBF001C */ lw $ra, 0x1c($sp) glabel L8007F494 /* 080094 8007F494 02002025 */ move $a0, $s0 /* 080098 8007F498 246500B4 */ addiu $a1, $v1, 0xb4 /* 08009C 8007F49C 24060400 */ li $a2, 1024 /* 0800A0 8007F4A0 0C01CF86 */ jal func_80073E18 /* 0800A4 8007F4A4 3407C000 */ li $a3, 49152 /* 0800A8 8007F4A8 50400022 */ beql $v0, $zero, .L8007F534 /* 0800AC 8007F4AC 8FBF001C */ lw $ra, 0x1c($sp) /* 0800B0 8007F4B0 0C021BF5 */ jal func_80086FD4 /* 0800B4 8007F4B4 02002025 */ move $a0, $s0 /* 0800B8 8007F4B8 1000001E */ b .L8007F534 /* 0800BC 8007F4BC 8FBF001C */ lw $ra, 0x1c($sp) glabel L8007F4C0 /* 0800C0 8007F4C0 24640030 */ addiu $a0, $v1, 0x30 /* 0800C4 8007F4C4 24050000 */ li $a1, 0 /* 0800C8 8007F4C8 0C0103CB */ jal func_80040F2C /* 0800CC 8007F4CC 3C064000 */ lui $a2, 0x4000 /* 0800D0 8007F4D0 50400018 */ beql $v0, $zero, .L8007F534 /* 0800D4 8007F4D4 8FBF001C */ lw $ra, 0x1c($sp) /* 0800D8 8007F4D8 0C021BF5 */ jal func_80086FD4 /* 0800DC 8007F4DC 02002025 */ move $a0, $s0 /* 0800E0 8007F4E0 10000014 */ b .L8007F534 /* 0800E4 8007F4E4 8FBF001C */ lw $ra, 0x1c($sp) glabel L8007F4E8 /* 0800E8 8007F4E8 3C070001 */ lui $a3, (0x00014000 >> 16) # lui $a3, 1 /* 0800EC 8007F4EC 34E74000 */ ori $a3, (0x00014000 & 0xFFFF) # ori $a3, $a3, 0x4000 /* 0800F0 8007F4F0 02002025 */ move $a0, $s0 /* 0800F4 8007F4F4 246500B4 */ addiu $a1, $v1, 0xb4 /* 0800F8 8007F4F8 0C01CF86 */ jal func_80073E18 /* 0800FC 8007F4FC 24060400 */ li $a2, 1024 /* 080100 8007F500 5040000C */ beql $v0, $zero, .L8007F534 /* 080104 8007F504 8FBF001C */ lw $ra, 0x1c($sp) /* 080108 8007F508 0C021BF5 */ jal func_80086FD4 /* 08010C 8007F50C 02002025 */ move $a0, $s0 /* 080110 8007F510 02002025 */ move $a0, $s0 /* 080114 8007F514 0C01C9B3 */ jal func_800726CC /* 080118 8007F518 24050003 */ li $a1, 3 /* 08011C 8007F51C 10000005 */ b .L8007F534 /* 080120 8007F520 8FBF001C */ lw $ra, 0x1c($sp) glabel L8007F524 /* 080124 8007F524 02002025 */ move $a0, $s0 /* 080128 8007F528 0C021C07 */ jal func_8008701C /* 08012C 8007F52C 24050001 */ li $a1, 1 .L8007F530: glabel L8007F530 /* 080130 8007F530 8FBF001C */ lw $ra, 0x1c($sp) .L8007F534: /* 080134 8007F534 8FB00018 */ lw $s0, 0x18($sp) /* 080138 8007F538 27BD0028 */ addiu $sp, $sp, 0x28 /* 08013C 8007F53C 03E00008 */ jr $ra /* 080140 8007F540 00000000 */ nop glabel func_8007F544 /* 080144 8007F544 000470C0 */ sll $t6, $a0, 3 /* 080148 8007F548 01C47023 */ subu $t6, $t6, $a0 /* 08014C 8007F54C 000E7140 */ sll $t6, $t6, 5 /* 080150 8007F550 3C028016 */ lui $v0, %hi(D_80165CF5) # 0x8016 /* 080154 8007F554 004E1021 */ addu $v0, $v0, $t6 /* 080158 8007F558 90425CF5 */ lbu $v0, %lo(D_80165CF5)($v0) # 0x5cf5($v0) /* 08015C 8007F55C 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 080160 8007F560 24010001 */ li $at, 1 /* 080164 8007F564 10410006 */ beq $v0, $at, .L8007F580 /* 080168 8007F568 AFBF0014 */ sw $ra, 0x14($sp) /* 08016C 8007F56C 24010002 */ li $at, 2 /* 080170 8007F570 10410007 */ beq $v0, $at, .L8007F590 /* 080174 8007F574 00000000 */ nop /* 080178 8007F578 10000008 */ b .L8007F59C /* 08017C 8007F57C 8FBF0014 */ lw $ra, 0x14($sp) .L8007F580: /* 080180 8007F580 0C01FBEF */ jal func_8007EFBC /* 080184 8007F584 00000000 */ nop /* 080188 8007F588 10000004 */ b .L8007F59C /* 08018C 8007F58C 8FBF0014 */ lw $ra, 0x14($sp) .L8007F590: /* 080190 8007F590 0C01FCA0 */ jal func_8007F280 /* 080194 8007F594 00000000 */ nop /* 080198 8007F598 8FBF0014 */ lw $ra, 0x14($sp) .L8007F59C: /* 08019C 8007F59C 27BD0018 */ addiu $sp, $sp, 0x18 /* 0801A0 8007F5A0 03E00008 */ jr $ra /* 0801A4 8007F5A4 00000000 */ nop glabel func_8007F5A8 /* 0801A8 8007F5A8 000470C0 */ sll $t6, $a0, 3 /* 0801AC 8007F5AC 01C47023 */ subu $t6, $t6, $a0 /* 0801B0 8007F5B0 000E7140 */ sll $t6, $t6, 5 /* 0801B4 8007F5B4 3C028016 */ lui $v0, %hi(D_80165CBE) # 0x8016 /* 0801B8 8007F5B8 004E1021 */ addu $v0, $v0, $t6 /* 0801BC 8007F5BC 84425CBE */ lh $v0, %lo(D_80165CBE)($v0) # 0x5cbe($v0) /* 0801C0 8007F5C0 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0801C4 8007F5C4 AFB00018 */ sw $s0, 0x18($sp) /* 0801C8 8007F5C8 00808025 */ move $s0, $a0 /* 0801CC 8007F5CC 10400017 */ beqz $v0, .L8007F62C /* 0801D0 8007F5D0 AFBF001C */ sw $ra, 0x1c($sp) /* 0801D4 8007F5D4 24010001 */ li $at, 1 /* 0801D8 8007F5D8 10410008 */ beq $v0, $at, .L8007F5FC /* 0801DC 8007F5DC 24010003 */ li $at, 3 /* 0801E0 8007F5E0 1041000A */ beq $v0, $at, .L8007F60C /* 0801E4 8007F5E4 02002025 */ move $a0, $s0 /* 0801E8 8007F5E8 24010004 */ li $at, 4 /* 0801EC 8007F5EC 1041000B */ beq $v0, $at, .L8007F61C /* 0801F0 8007F5F0 00000000 */ nop /* 0801F4 8007F5F4 1000000D */ b .L8007F62C /* 0801F8 8007F5F8 00000000 */ nop .L8007F5FC: /* 0801FC 8007F5FC 0C01FB97 */ jal func_8007EE5C /* 080200 8007F600 02002025 */ move $a0, $s0 /* 080204 8007F604 10000009 */ b .L8007F62C /* 080208 8007F608 00000000 */ nop .L8007F60C: /* 08020C 8007F60C 0C01C95A */ jal func_80072568 /* 080210 8007F610 24050032 */ li $a1, 50 /* 080214 8007F614 10000005 */ b .L8007F62C /* 080218 8007F618 00000000 */ nop .L8007F61C: /* 08021C 8007F61C 0C021BF5 */ jal func_80086FD4 /* 080220 8007F620 02002025 */ move $a0, $s0 /* 080224 8007F624 0C01C922 */ jal func_80072488 /* 080228 8007F628 02002025 */ move $a0, $s0 .L8007F62C: /* 08022C 8007F62C 0C01F98F */ jal func_8007E63C /* 080230 8007F630 02002025 */ move $a0, $s0 /* 080234 8007F634 0C01FD51 */ jal func_8007F544 /* 080238 8007F638 02002025 */ move $a0, $s0 /* 08023C 8007F63C 0C022FC6 */ jal func_8008BF18 /* 080240 8007F640 02002025 */ move $a0, $s0 /* 080244 8007F644 0C01CD45 */ jal func_80073514 /* 080248 8007F648 02002025 */ move $a0, $s0 /* 08024C 8007F64C 8FBF001C */ lw $ra, 0x1c($sp) /* 080250 8007F650 8FB00018 */ lw $s0, 0x18($sp) /* 080254 8007F654 27BD0020 */ addiu $sp, $sp, 0x20 /* 080258 8007F658 03E00008 */ jr $ra /* 08025C 8007F65C 00000000 */ nop glabel func_8007F660 /* 080260 8007F660 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 080264 8007F664 AFBF0014 */ sw $ra, 0x14($sp) /* 080268 8007F668 AFA5001C */ sw $a1, 0x1c($sp) /* 08026C 8007F66C AFA40018 */ sw $a0, 0x18($sp) /* 080270 8007F670 AFA60020 */ sw $a2, 0x20($sp) /* 080274 8007F674 0C01C8A9 */ jal func_800722A4 /* 080278 8007F678 24050008 */ li $a1, 8 /* 08027C 8007F67C 0C021B9C */ jal func_80086E70 /* 080280 8007F680 8FA40018 */ lw $a0, 0x18($sp) /* 080284 8007F684 8FAE0018 */ lw $t6, 0x18($sp) /* 080288 8007F688 3C188016 */ lui $t8, %hi(D_80165C18) # $t8, 0x8016 /* 08028C 8007F68C 8FBF0014 */ lw $ra, 0x14($sp) /* 080290 8007F690 000E78C0 */ sll $t7, $t6, 3 /* 080294 8007F694 01EE7823 */ subu $t7, $t7, $t6 /* 080298 8007F698 000F7940 */ sll $t7, $t7, 5 /* 08029C 8007F69C 27185C18 */ addiu $t8, %lo(D_80165C18) # addiu $t8, $t8, 0x5c18 /* 0802A0 8007F6A0 8FA8001C */ lw $t0, 0x1c($sp) /* 0802A4 8007F6A4 8FA90020 */ lw $t1, 0x20($sp) /* 0802A8 8007F6A8 01F81021 */ addu $v0, $t7, $t8 /* 0802AC 8007F6AC 24190001 */ li $t9, 1 /* 0802B0 8007F6B0 A05900DD */ sb $t9, 0xdd($v0) /* 0802B4 8007F6B4 27BD0018 */ addiu $sp, $sp, 0x18 /* 0802B8 8007F6B8 A04800D1 */ sb $t0, 0xd1($v0) /* 0802BC 8007F6BC 03E00008 */ jr $ra /* 0802C0 8007F6C0 AC490048 */ sw $t1, 0x48($v0) glabel func_8007F6C4 /* 0802C4 8007F6C4 000578C0 */ sll $t7, $a1, 3 /* 0802C8 8007F6C8 01E57823 */ subu $t7, $t7, $a1 /* 0802CC 8007F6CC 000F7900 */ sll $t7, $t7, 4 /* 0802D0 8007F6D0 01E57823 */ subu $t7, $t7, $a1 /* 0802D4 8007F6D4 3C18800E */ lui $t8, %hi(D_800DC4DC) # $t8, 0x800e /* 0802D8 8007F6D8 8F18C4DC */ lw $t8, %lo(D_800DC4DC)($t8) /* 0802DC 8007F6DC 000F7880 */ sll $t7, $t7, 2 /* 0802E0 8007F6E0 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0802E4 8007F6E4 01E57823 */ subu $t7, $t7, $a1 /* 0802E8 8007F6E8 000F78C0 */ sll $t7, $t7, 3 /* 0802EC 8007F6EC AFBF0014 */ sw $ra, 0x14($sp) /* 0802F0 8007F6F0 AFA50024 */ sw $a1, 0x24($sp) /* 0802F4 8007F6F4 01F8C821 */ addu $t9, $t7, $t8 /* 0802F8 8007F6F8 AFA40020 */ sw $a0, 0x20($sp) /* 0802FC 8007F6FC AFB9001C */ sw $t9, 0x1c($sp) /* 080300 8007F700 0C01C8A9 */ jal func_800722A4 /* 080304 8007F704 24050008 */ li $a1, 8 /* 080308 8007F708 0C021B9C */ jal func_80086E70 /* 08030C 8007F70C 8FA40020 */ lw $a0, 0x20($sp) /* 080310 8007F710 8FA80020 */ lw $t0, 0x20($sp) /* 080314 8007F714 3C0A8016 */ lui $t2, %hi(D_80165C18) # $t2, 0x8016 /* 080318 8007F718 8FAC001C */ lw $t4, 0x1c($sp) /* 08031C 8007F71C 000848C0 */ sll $t1, $t0, 3 /* 080320 8007F720 01284823 */ subu $t1, $t1, $t0 /* 080324 8007F724 00094940 */ sll $t1, $t1, 5 /* 080328 8007F728 254A5C18 */ addiu $t2, %lo(D_80165C18) # addiu $t2, $t2, 0x5c18 /* 08032C 8007F72C 012A1021 */ addu $v0, $t1, $t2 /* 080330 8007F730 240B0002 */ li $t3, 2 /* 080334 8007F734 A04B00DD */ sb $t3, 0xdd($v0) /* 080338 8007F738 C4460010 */ lwc1 $f6, 0x10($v0) /* 08033C 8007F73C C5840014 */ lwc1 $f4, 0x14($t4) /* 080340 8007F740 8FBF0014 */ lw $ra, 0x14($sp) /* 080344 8007F744 8FAD0024 */ lw $t5, 0x24($sp) /* 080348 8007F748 46062201 */ sub.s $f8, $f4, $f6 /* 08034C 8007F74C 27BD0020 */ addiu $sp, $sp, 0x20 /* 080350 8007F750 A04D00D1 */ sb $t5, 0xd1($v0) /* 080354 8007F754 03E00008 */ jr $ra /* 080358 8007F758 E448001C */ swc1 $f8, 0x1c($v0) glabel func_8007F75C /* 08035C 8007F75C 27BDFFC8 */ addiu $sp, $sp, -0x38 /* 080360 8007F760 00047040 */ sll $t6, $a0, 1 /* 080364 8007F764 3C028016 */ lui $v0, %hi(D_80164438) # 0x8016 /* 080368 8007F768 004E1021 */ addu $v0, $v0, $t6 /* 08036C 8007F76C 94424438 */ lhu $v0, %lo(D_80164438)($v0) # 0x4438($v0) /* 080370 8007F770 AFB6002C */ sw $s6, 0x2c($sp) /* 080374 8007F774 AFB50028 */ sw $s5, 0x28($sp) /* 080378 8007F778 284100AA */ slti $at, $v0, 0xaa /* 08037C 8007F77C 0080A825 */ move $s5, $a0 /* 080380 8007F780 AFBF0034 */ sw $ra, 0x34($sp) /* 080384 8007F784 AFB70030 */ sw $s7, 0x30($sp) /* 080388 8007F788 AFB40024 */ sw $s4, 0x24($sp) /* 08038C 8007F78C AFB30020 */ sw $s3, 0x20($sp) /* 080390 8007F790 AFB2001C */ sw $s2, 0x1c($sp) /* 080394 8007F794 AFB10018 */ sw $s1, 0x18($sp) /* 080398 8007F798 AFB00014 */ sw $s0, 0x14($sp) /* 08039C 8007F79C 14200024 */ bnez $at, .L8007F830 /* 0803A0 8007F7A0 0000B025 */ move $s6, $zero /* 0803A4 8007F7A4 284100B5 */ slti $at, $v0, 0xb5 /* 0803A8 8007F7A8 50200022 */ beql $at, $zero, .L8007F834 /* 0803AC 8007F7AC 284100D7 */ slti $at, $v0, 0xd7 /* 0803B0 8007F7B0 0C0ADF8D */ jal random_int /* 0803B4 8007F7B4 24040032 */ li $a0, 50 /* 0803B8 8007F7B8 3C038016 */ lui $v1, %hi(D_80165750) # $v1, 0x8016 /* 0803BC 8007F7BC 84635750 */ lh $v1, %lo(D_80165750)($v1) /* 0803C0 8007F7C0 24570032 */ addiu $s7, $v0, 0x32 /* 0803C4 8007F7C4 00008025 */ move $s0, $zero /* 0803C8 8007F7C8 18600037 */ blez $v1, .L8007F8A8 /* 0803CC 8007F7CC 3C118018 */ lui $s1, %hi(D_80183EA0) # $s1, 0x8018 /* 0803D0 8007F7D0 3C138016 */ lui $s3, %hi(D_80165C18) # $s3, 0x8016 /* 0803D4 8007F7D4 26735C18 */ addiu $s3, %lo(D_80165C18) # addiu $s3, $s3, 0x5c18 /* 0803D8 8007F7D8 26313EA0 */ addiu $s1, %lo(D_80183EA0) # addiu $s1, $s1, 0x3ea0 /* 0803DC 8007F7DC 241400E0 */ li $s4, 224 /* 0803E0 8007F7E0 24120003 */ li $s2, 3 .L8007F7E4: /* 0803E4 8007F7E4 8E240000 */ lw $a0, ($s1) /* 0803E8 8007F7E8 02A02825 */ move $a1, $s5 /* 0803EC 8007F7EC 02E03025 */ move $a2, $s7 /* 0803F0 8007F7F0 00940019 */ multu $a0, $s4 /* 0803F4 8007F7F4 00007812 */ mflo $t7 /* 0803F8 8007F7F8 026FC021 */ addu $t8, $s3, $t7 /* 0803FC 8007F7FC 931900D5 */ lbu $t9, 0xd5($t8) /* 080400 8007F800 56590006 */ bnel $s2, $t9, .L8007F81C /* 080404 8007F804 26100001 */ addiu $s0, $s0, 1 /* 080408 8007F808 0C01FD98 */ jal func_8007F660 /* 08040C 8007F80C 24160001 */ li $s6, 1 /* 080410 8007F810 3C038016 */ lui $v1, %hi(D_80165750) # $v1, 0x8016 /* 080414 8007F814 84635750 */ lh $v1, %lo(D_80165750)($v1) /* 080418 8007F818 26100001 */ addiu $s0, $s0, 1 .L8007F81C: /* 08041C 8007F81C 0203082A */ slt $at, $s0, $v1 /* 080420 8007F820 1420FFF0 */ bnez $at, .L8007F7E4 /* 080424 8007F824 26310004 */ addiu $s1, $s1, 4 /* 080428 8007F828 10000020 */ b .L8007F8AC /* 08042C 8007F82C 8FBF0034 */ lw $ra, 0x34($sp) .L8007F830: /* 080430 8007F830 284100D7 */ slti $at, $v0, 0xd7 .L8007F834: /* 080434 8007F834 1420001C */ bnez $at, .L8007F8A8 /* 080438 8007F838 284100E2 */ slti $at, $v0, 0xe2 /* 08043C 8007F83C 1020001A */ beqz $at, .L8007F8A8 /* 080440 8007F840 3C038016 */ lui $v1, %hi(D_80165750) # $v1, 0x8016 /* 080444 8007F844 84635750 */ lh $v1, %lo(D_80165750)($v1) /* 080448 8007F848 3C118018 */ lui $s1, %hi(D_80183EA0) # $s1, 0x8018 /* 08044C 8007F84C 26313EA0 */ addiu $s1, %lo(D_80183EA0) # addiu $s1, $s1, 0x3ea0 /* 080450 8007F850 18600015 */ blez $v1, .L8007F8A8 /* 080454 8007F854 00008025 */ move $s0, $zero /* 080458 8007F858 3C138016 */ lui $s3, %hi(D_80165C18) # $s3, 0x8016 /* 08045C 8007F85C 26735C18 */ addiu $s3, %lo(D_80165C18) # addiu $s3, $s3, 0x5c18 /* 080460 8007F860 241400E0 */ li $s4, 224 /* 080464 8007F864 24120003 */ li $s2, 3 .L8007F868: /* 080468 8007F868 8E240000 */ lw $a0, ($s1) /* 08046C 8007F86C 02A02825 */ move $a1, $s5 /* 080470 8007F870 00940019 */ multu $a0, $s4 /* 080474 8007F874 00004012 */ mflo $t0 /* 080478 8007F878 02684821 */ addu $t1, $s3, $t0 /* 08047C 8007F87C 912A00D5 */ lbu $t2, 0xd5($t1) /* 080480 8007F880 564A0006 */ bnel $s2, $t2, .L8007F89C /* 080484 8007F884 26100001 */ addiu $s0, $s0, 1 /* 080488 8007F888 0C01FDB1 */ jal func_8007F6C4 /* 08048C 8007F88C 24160001 */ li $s6, 1 /* 080490 8007F890 3C038016 */ lui $v1, %hi(D_80165750) # $v1, 0x8016 /* 080494 8007F894 84635750 */ lh $v1, %lo(D_80165750)($v1) /* 080498 8007F898 26100001 */ addiu $s0, $s0, 1 .L8007F89C: /* 08049C 8007F89C 0203082A */ slt $at, $s0, $v1 /* 0804A0 8007F8A0 1420FFF1 */ bnez $at, .L8007F868 /* 0804A4 8007F8A4 26310004 */ addiu $s1, $s1, 4 .L8007F8A8: /* 0804A8 8007F8A8 8FBF0034 */ lw $ra, 0x34($sp) .L8007F8AC: /* 0804AC 8007F8AC 02C01025 */ move $v0, $s6 /* 0804B0 8007F8B0 8FB6002C */ lw $s6, 0x2c($sp) /* 0804B4 8007F8B4 8FB00014 */ lw $s0, 0x14($sp) /* 0804B8 8007F8B8 8FB10018 */ lw $s1, 0x18($sp) /* 0804BC 8007F8BC 8FB2001C */ lw $s2, 0x1c($sp) /* 0804C0 8007F8C0 8FB30020 */ lw $s3, 0x20($sp) /* 0804C4 8007F8C4 8FB40024 */ lw $s4, 0x24($sp) /* 0804C8 8007F8C8 8FB50028 */ lw $s5, 0x28($sp) /* 0804CC 8007F8CC 8FB70030 */ lw $s7, 0x30($sp) /* 0804D0 8007F8D0 03E00008 */ jr $ra /* 0804D4 8007F8D4 27BD0038 */ addiu $sp, $sp, 0x38 glabel func_8007F8D8 /* 0804D8 8007F8D8 27BDFFC8 */ addiu $sp, $sp, -0x38 /* 0804DC 8007F8DC 3C038016 */ lui $v1, %hi(D_80165750) # $v1, 0x8016 /* 0804E0 8007F8E0 84635750 */ lh $v1, %lo(D_80165750)($v1) /* 0804E4 8007F8E4 AFB30020 */ sw $s3, 0x20($sp) /* 0804E8 8007F8E8 AFB40024 */ sw $s4, 0x24($sp) /* 0804EC 8007F8EC AFB10018 */ sw $s1, 0x18($sp) /* 0804F0 8007F8F0 3C13800E */ lui $s3, %hi(D_800DC4DC) # $s3, 0x800e /* 0804F4 8007F8F4 AFBF0034 */ sw $ra, 0x34($sp) /* 0804F8 8007F8F8 AFB70030 */ sw $s7, 0x30($sp) /* 0804FC 8007F8FC AFB6002C */ sw $s6, 0x2c($sp) /* 080500 8007F900 AFB50028 */ sw $s5, 0x28($sp) /* 080504 8007F904 AFB2001C */ sw $s2, 0x1c($sp) /* 080508 8007F908 AFB00014 */ sw $s0, 0x14($sp) /* 08050C 8007F90C 8E73C4DC */ lw $s3, %lo(D_800DC4DC)($s3) /* 080510 8007F910 24140001 */ li $s4, 1 /* 080514 8007F914 18600022 */ blez $v1, .L8007F9A0 /* 080518 8007F918 00008825 */ move $s1, $zero /* 08051C 8007F91C 3C128018 */ lui $s2, %hi(D_80183EA0) # $s2, 0x8018 /* 080520 8007F920 3C168016 */ lui $s6, %hi(D_80165C18) # $s6, 0x8016 /* 080524 8007F924 26D65C18 */ addiu $s6, %lo(D_80165C18) # addiu $s6, $s6, 0x5c18 /* 080528 8007F928 26523EA0 */ addiu $s2, %lo(D_80183EA0) # addiu $s2, $s2, 0x3ea0 /* 08052C 8007F92C 241700E0 */ li $s7, 224 /* 080530 8007F930 24150003 */ li $s5, 3 .L8007F934: /* 080534 8007F934 8E440000 */ lw $a0, ($s2) /* 080538 8007F938 00970019 */ multu $a0, $s7 /* 08053C 8007F93C 00007012 */ mflo $t6 /* 080540 8007F940 02CE1021 */ addu $v0, $s6, $t6 /* 080544 8007F944 904F00D5 */ lbu $t7, 0xd5($v0) /* 080548 8007F948 56AF0012 */ bnel $s5, $t7, .L8007F994 /* 08054C 8007F94C 26310001 */ addiu $s1, $s1, 1 /* 080550 8007F950 845800A6 */ lh $t8, 0xa6($v0) /* 080554 8007F954 00008025 */ move $s0, $zero /* 080558 8007F958 2B010002 */ slti $at, $t8, 2 /* 08055C 8007F95C 14200006 */ bnez $at, .L8007F978 /* 080560 8007F960 00000000 */ nop /* 080564 8007F964 0C01C8D5 */ jal func_80072354 /* 080568 8007F968 24050008 */ li $a1, 8 /* 08056C 8007F96C 10400002 */ beqz $v0, .L8007F978 /* 080570 8007F970 00000000 */ nop /* 080574 8007F974 24100001 */ li $s0, 1 .L8007F978: /* 080578 8007F978 02900019 */ multu $s4, $s0 /* 08057C 8007F97C 3C038016 */ lui $v1, %hi(D_80165750) # $v1, 0x8016 /* 080580 8007F980 84635750 */ lh $v1, %lo(D_80165750)($v1) /* 080584 8007F984 0000A012 */ mflo $s4 /* 080588 8007F988 00000000 */ nop /* 08058C 8007F98C 00000000 */ nop /* 080590 8007F990 26310001 */ addiu $s1, $s1, 1 .L8007F994: /* 080594 8007F994 0223082A */ slt $at, $s1, $v1 /* 080598 8007F998 1420FFE6 */ bnez $at, .L8007F934 /* 08059C 8007F99C 26520004 */ addiu $s2, $s2, 4 .L8007F9A0: /* 0805A0 8007F9A0 1280000E */ beqz $s4, .L8007F9DC /* 0805A4 8007F9A4 00008025 */ move $s0, $zero /* 0805A8 8007F9A8 24110004 */ li $s1, 4 .L8007F9AC: /* 0805AC 8007F9AC 96620000 */ lhu $v0, ($s3) /* 0805B0 8007F9B0 30598000 */ andi $t9, $v0, 0x8000 /* 0805B4 8007F9B4 13200006 */ beqz $t9, .L8007F9D0 /* 0805B8 8007F9B8 30481000 */ andi $t0, $v0, 0x1000 /* 0805BC 8007F9BC 55000005 */ bnel $t0, $zero, .L8007F9D4 /* 0805C0 8007F9C0 26100001 */ addiu $s0, $s0, 1 /* 0805C4 8007F9C4 0C01FDD7 */ jal func_8007F75C /* 0805C8 8007F9C8 02002025 */ move $a0, $s0 /* 0805CC 8007F9CC 14400003 */ bnez $v0, .L8007F9DC .L8007F9D0: /* 0805D0 8007F9D0 26100001 */ addiu $s0, $s0, 1 .L8007F9D4: /* 0805D4 8007F9D4 1611FFF5 */ bne $s0, $s1, .L8007F9AC /* 0805D8 8007F9D8 26730DD8 */ addiu $s3, $s3, 0xdd8 .L8007F9DC: /* 0805DC 8007F9DC 8FBF0034 */ lw $ra, 0x34($sp) /* 0805E0 8007F9E0 8FB00014 */ lw $s0, 0x14($sp) /* 0805E4 8007F9E4 8FB10018 */ lw $s1, 0x18($sp) /* 0805E8 8007F9E8 8FB2001C */ lw $s2, 0x1c($sp) /* 0805EC 8007F9EC 8FB30020 */ lw $s3, 0x20($sp) /* 0805F0 8007F9F0 8FB40024 */ lw $s4, 0x24($sp) /* 0805F4 8007F9F4 8FB50028 */ lw $s5, 0x28($sp) /* 0805F8 8007F9F8 8FB6002C */ lw $s6, 0x2c($sp) /* 0805FC 8007F9FC 8FB70030 */ lw $s7, 0x30($sp) /* 080600 8007FA00 03E00008 */ jr $ra /* 080604 8007FA04 27BD0038 */ addiu $sp, $sp, 0x38 glabel func_8007FA08 /* 080608 8007FA08 27BDFFD0 */ addiu $sp, $sp, -0x30 /* 08060C 8007FA0C AFBF002C */ sw $ra, 0x2c($sp) /* 080610 8007FA10 AFB10028 */ sw $s1, 0x28($sp) /* 080614 8007FA14 3C050600 */ lui $a1, %hi(D_06006F38) # $a1, 0x600 /* 080618 8007FA18 3C060600 */ lui $a2, %hi(D_06007138) # $a2, 0x600 /* 08061C 8007FA1C 240E0040 */ li $t6, 64 /* 080620 8007FA20 00808825 */ move $s1, $a0 /* 080624 8007FA24 AFB00024 */ sw $s0, 0x24($sp) /* 080628 8007FA28 F7B40018 */ sdc1 $f20, 0x18($sp) /* 08062C 8007FA2C AFAE0010 */ sw $t6, 0x10($sp) /* 080630 8007FA30 24C67138 */ addiu $a2, %lo(D_06007138) # addiu $a2, $a2, 0x7138 /* 080634 8007FA34 24A56F38 */ addiu $a1, %lo(D_06006F38) # addiu $a1, $a1, 0x6f38 /* 080638 8007FA38 0C01CD11 */ jal func_80073444 /* 08063C 8007FA3C 24070010 */ li $a3, 16 /* 080640 8007FA40 001178C0 */ sll $t7, $s1, 3 /* 080644 8007FA44 01F17823 */ subu $t7, $t7, $s1 /* 080648 8007FA48 3C188016 */ lui $t8, %hi(D_80165C18) # $t8, 0x8016 /* 08064C 8007FA4C 27185C18 */ addiu $t8, %lo(D_80165C18) # addiu $t8, $t8, 0x5c18 /* 080650 8007FA50 000F7940 */ sll $t7, $t7, 5 /* 080654 8007FA54 3C013F80 */ li $at, 0x3F800000 # 1.000000 /* 080658 8007FA58 44812000 */ mtc1 $at, $f4 /* 08065C 8007FA5C 01F88021 */ addu $s0, $t7, $t8 /* 080660 8007FA60 3C190601 */ lui $t9, %hi(D_06009088) # $t9, 0x601 /* 080664 8007FA64 27399088 */ addiu $t9, %lo(D_06009088) # addiu $t9, $t9, -0x6f78 /* 080668 8007FA68 2408000C */ li $t0, 12 /* 08066C 8007FA6C 3C050400 */ lui $a1, (0x04000220 >> 16) # lui $a1, 0x400 /* 080670 8007FA70 AE190070 */ sw $t9, 0x70($s0) /* 080674 8007FA74 A60800C8 */ sh $t0, 0xc8($s0) /* 080678 8007FA78 34A50220 */ ori $a1, (0x04000220 & 0xFFFF) # ori $a1, $a1, 0x220 /* 08067C 8007FA7C 02202025 */ move $a0, $s1 /* 080680 8007FA80 0C01C870 */ jal func_800721C0 /* 080684 8007FA84 E6040000 */ swc1 $f4, ($s0) /* 080688 8007FA88 4480A000 */ mtc1 $zero, $f20 /* 08068C 8007FA8C A60000A4 */ sh $zero, 0xa4($s0) /* 080690 8007FA90 02202025 */ move $a0, $s1 /* 080694 8007FA94 4405A000 */ mfc1 $a1, $f20 /* 080698 8007FA98 4406A000 */ mfc1 $a2, $f20 /* 08069C 8007FA9C 4407A000 */ mfc1 $a3, $f20 /* 0806A0 8007FAA0 E6140044 */ swc1 $f20, 0x44($s0) /* 0806A4 8007FAA4 0C022E03 */ jal func_8008B80C /* 0806A8 8007FAA8 E6140014 */ swc1 $f20, 0x14($s0) /* 0806AC 8007FAAC 02202025 */ move $a0, $s1 /* 0806B0 8007FAB0 00002825 */ move $a1, $zero /* 0806B4 8007FAB4 00003025 */ move $a2, $zero /* 0806B8 8007FAB8 0C022E22 */ jal func_8008B888 /* 0806BC 8007FABC 00003825 */ move $a3, $zero /* 0806C0 8007FAC0 3C09800E */ lui $t1, %hi(gIsMirrorMode) # $t1, 0x800e /* 0806C4 8007FAC4 8D29C604 */ lw $t1, %lo(gIsMirrorMode)($t1) /* 0806C8 8007FAC8 02202025 */ move $a0, $s1 /* 0806CC 8007FACC 00002825 */ move $a1, $zero /* 0806D0 8007FAD0 11200008 */ beqz $t1, .L8007FAF4 /* 0806D4 8007FAD4 24064000 */ li $a2, 16384 /* 0806D8 8007FAD8 02202025 */ move $a0, $s1 /* 0806DC 8007FADC 00002825 */ move $a1, $zero /* 0806E0 8007FAE0 3406C000 */ li $a2, 49152 /* 0806E4 8007FAE4 0C022E2F */ jal func_8008B8BC /* 0806E8 8007FAE8 00003825 */ move $a3, $zero /* 0806EC 8007FAEC 10000004 */ b .L8007FB00 /* 0806F0 8007FAF0 3C014170 */ lui $at, 0x4170 .L8007FAF4: /* 0806F4 8007FAF4 0C022E2F */ jal func_8008B8BC /* 0806F8 8007FAF8 00003825 */ move $a3, $zero /* 0806FC 8007FAFC 3C014170 */ li $at, 0x41700000 # 15.000000 .L8007FB00: /* 080700 8007FB00 44810000 */ mtc1 $at, $f0 /* 080704 8007FB04 960A00B4 */ lhu $t2, 0xb4($s0) /* 080708 8007FB08 240B0001 */ li $t3, 1 /* 08070C 8007FB0C 240C0008 */ li $t4, 8 /* 080710 8007FB10 E6140038 */ swc1 $f20, 0x38($s0) /* 080714 8007FB14 A20B00DD */ sb $t3, 0xdd($s0) /* 080718 8007FB18 A20C00DF */ sb $t4, 0xdf($s0) /* 08071C 8007FB1C 02202025 */ move $a0, $s1 /* 080720 8007FB20 A60A00C0 */ sh $t2, 0xc0($s0) /* 080724 8007FB24 E600002C */ swc1 $f0, 0x2c($s0) /* 080728 8007FB28 0C01C922 */ jal func_80072488 /* 08072C 8007FB2C E6000020 */ swc1 $f0, 0x20($s0) /* 080730 8007FB30 8FBF002C */ lw $ra, 0x2c($sp) /* 080734 8007FB34 D7B40018 */ ldc1 $f20, 0x18($sp) /* 080738 8007FB38 8FB00024 */ lw $s0, 0x24($sp) /* 08073C 8007FB3C 8FB10028 */ lw $s1, 0x28($sp) /* 080740 8007FB40 03E00008 */ jr $ra /* 080744 8007FB44 27BD0030 */ addiu $sp, $sp, 0x30 glabel func_8007FB48 /* 080748 8007FB48 000478C0 */ sll $t7, $a0, 3 /* 08074C 8007FB4C 01E47823 */ subu $t7, $t7, $a0 /* 080750 8007FB50 3C188016 */ lui $t8, %hi(D_80165C18) # $t8, 0x8016 /* 080754 8007FB54 27185C18 */ addiu $t8, %lo(D_80165C18) # addiu $t8, $t8, 0x5c18 /* 080758 8007FB58 000F7940 */ sll $t7, $t7, 5 /* 08075C 8007FB5C 01F81821 */ addu $v1, $t7, $t8 /* 080760 8007FB60 807900D1 */ lb $t9, 0xd1($v1) /* 080764 8007FB64 946A00AE */ lhu $t2, 0xae($v1) /* 080768 8007FB68 3C09800E */ lui $t1, %hi(D_800DC4DC) # $t1, 0x800e /* 08076C 8007FB6C 001940C0 */ sll $t0, $t9, 3 /* 080770 8007FB70 01194023 */ subu $t0, $t0, $t9 /* 080774 8007FB74 00084100 */ sll $t0, $t0, 4 /* 080778 8007FB78 01194023 */ subu $t0, $t0, $t9 /* 08077C 8007FB7C 00084080 */ sll $t0, $t0, 2 /* 080780 8007FB80 8D29C4DC */ lw $t1, %lo(D_800DC4DC)($t1) /* 080784 8007FB84 01194023 */ subu $t0, $t0, $t9 /* 080788 8007FB88 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 08078C 8007FB8C 000840C0 */ sll $t0, $t0, 3 /* 080790 8007FB90 2D410006 */ sltiu $at, $t2, 6 /* 080794 8007FB94 AFBF0014 */ sw $ra, 0x14($sp) /* 080798 8007FB98 AFA40028 */ sw $a0, 0x28($sp) /* 08079C 8007FB9C 102000BD */ beqz $at, .L8007FE94 /* 0807A0 8007FBA0 01092821 */ addu $a1, $t0, $t1 /* 0807A4 8007FBA4 000A5080 */ sll $t2, $t2, 2 /* 0807A8 8007FBA8 3C01800F */ lui $at, %hi(D_800EF060) # 0x800f /* 0807AC 8007FBAC 002A0821 */ addu $at, $at, $t2 /* 0807B0 8007FBB0 8C2AF060 */ lw $t2, %lo(D_800EF060)($at) # -0xfa0($at) /* 0807B4 8007FBB4 01400008 */ jr $t2 /* 0807B8 8007FBB8 00000000 */ nop glabel L8007FBBC /* 0807BC 8007FBBC 44800000 */ mtc1 $zero, $f0 /* 0807C0 8007FBC0 240B00A0 */ li $t3, 160 /* 0807C4 8007FBC4 A46B00B0 */ sh $t3, 0xb0($v1) /* 0807C8 8007FBC8 8FA40028 */ lw $a0, 0x28($sp) /* 0807CC 8007FBCC E4600028 */ swc1 $f0, 0x28($v1) /* 0807D0 8007FBD0 E4600030 */ swc1 $f0, 0x30($v1) /* 0807D4 8007FBD4 0C021BF5 */ jal func_80086FD4 /* 0807D8 8007FBD8 E4600040 */ swc1 $f0, 0x40($v1) /* 0807DC 8007FBDC 100000AE */ b .L8007FE98 /* 0807E0 8007FBE0 8FBF0014 */ lw $ra, 0x14($sp) glabel L8007FBE4 /* 0807E4 8007FBE4 3C018019 */ lui $at, %hi(D_8018D01C) # 0x80190000 # -0.000000 /* 0807E8 8007FBE8 C426D01C */ lwc1 $f6, %lo(D_8018D01C)($at) /* 0807EC 8007FBEC C4A40094 */ lwc1 $f4, 0x94($a1) /* 0807F0 8007FBF0 3C013FF4 */ li $at, 0x3FF40000 # 1.906250 /* 0807F4 8007FBF4 44818800 */ mtc1 $at, $f17 /* 0807F8 8007FBF8 46062202 */ mul.s $f8, $f4, $f6 /* 0807FC 8007FBFC 44808000 */ mtc1 $zero, $f16 /* 080800 8007FC00 8C620048 */ lw $v0, 0x48($v1) /* 080804 8007FC04 846400B0 */ lh $a0, 0xb0($v1) /* 080808 8007FC08 0044082A */ slt $at, $v0, $a0 /* 08080C 8007FC0C 460042A1 */ cvt.d.s $f10, $f8 /* 080810 8007FC10 46305482 */ mul.d $f18, $f10, $f16 /* 080814 8007FC14 46209120 */ cvt.s.d $f4, $f18 /* 080818 8007FC18 14200031 */ bnez $at, .L8007FCE0 /* 08081C 8007FC1C E4640038 */ swc1 $f4, 0x38($v1) /* 080820 8007FC20 1482000D */ bne $a0, $v0, .L8007FC58 /* 080824 8007FC24 3C0C8019 */ lui $t4, %hi(D_8018D400) # $t4, 0x8019 /* 080828 8007FC28 8D8CD400 */ lw $t4, %lo(D_8018D400)($t4) /* 08082C 8007FC2C 3C01BFC0 */ li $at, 0xBFC00000 # -1.500000 /* 080830 8007FC30 318D0001 */ andi $t5, $t4, 1 /* 080834 8007FC34 51A00006 */ beql $t5, $zero, .L8007FC50 /* 080838 8007FC38 44814000 */ mtc1 $at, $f8 /* 08083C 8007FC3C 3C013FC0 */ li $at, 0x3FC00000 # 1.500000 /* 080840 8007FC40 44813000 */ mtc1 $at, $f6 /* 080844 8007FC44 10000004 */ b .L8007FC58 /* 080848 8007FC48 E4660040 */ swc1 $f6, 0x40($v1) /* 08084C 8007FC4C 44814000 */ mtc1 $at, $f8 .L8007FC50: /* 080850 8007FC50 00000000 */ nop /* 080854 8007FC54 E4680040 */ swc1 $f8, 0x40($v1) .L8007FC58: /* 080858 8007FC58 C46A0040 */ lwc1 $f10, 0x40($v1) /* 08085C 8007FC5C 44809800 */ mtc1 $zero, $f19 /* 080860 8007FC60 44809000 */ mtc1 $zero, $f18 /* 080864 8007FC64 46005421 */ cvt.d.s $f16, $f10 /* 080868 8007FC68 3C01C044 */ li $at, 0xC0440000 # -3.062500 /* 08086C 8007FC6C 4630903E */ c.le.d $f18, $f16 /* 080870 8007FC70 00000000 */ nop /* 080874 8007FC74 4502000F */ bc1fl .L8007FCB4 /* 080878 8007FC78 C4720030 */ lwc1 $f18, 0x30($v1) /* 08087C 8007FC7C C4640030 */ lwc1 $f4, 0x30($v1) /* 080880 8007FC80 3C014044 */ li $at, 0x40440000 # 3.062500 /* 080884 8007FC84 44814800 */ mtc1 $at, $f9 /* 080888 8007FC88 44804000 */ mtc1 $zero, $f8 /* 08088C 8007FC8C 460021A1 */ cvt.d.s $f6, $f4 /* 080890 8007FC90 3C01BFC0 */ li $at, 0xBFC00000 # -1.500000 /* 080894 8007FC94 4626403E */ c.le.d $f8, $f6 /* 080898 8007FC98 00000000 */ nop /* 08089C 8007FC9C 45020011 */ bc1fl .L8007FCE4 /* 0808A0 8007FCA0 8FA40028 */ lw $a0, 0x28($sp) /* 0808A4 8007FCA4 44815000 */ mtc1 $at, $f10 /* 0808A8 8007FCA8 1000000D */ b .L8007FCE0 /* 0808AC 8007FCAC E46A0040 */ swc1 $f10, 0x40($v1) /* 0808B0 8007FCB0 C4720030 */ lwc1 $f18, 0x30($v1) .L8007FCB4: /* 0808B4 8007FCB4 44818800 */ mtc1 $at, $f17 /* 0808B8 8007FCB8 44808000 */ mtc1 $zero, $f16 /* 0808BC 8007FCBC 46009121 */ cvt.d.s $f4, $f18 /* 0808C0 8007FCC0 3C013FC0 */ li $at, 0x3FC00000 # 1.500000 /* 0808C4 8007FCC4 4630203E */ c.le.d $f4, $f16 /* 0808C8 8007FCC8 00000000 */ nop /* 0808CC 8007FCCC 45020005 */ bc1fl .L8007FCE4 /* 0808D0 8007FCD0 8FA40028 */ lw $a0, 0x28($sp) /* 0808D4 8007FCD4 44813000 */ mtc1 $at, $f6 /* 0808D8 8007FCD8 00000000 */ nop /* 0808DC 8007FCDC E4660040 */ swc1 $f6, 0x40($v1) .L8007FCE0: /* 0808E0 8007FCE0 8FA40028 */ lw $a0, 0x28($sp) .L8007FCE4: /* 0808E4 8007FCE4 0C021DD7 */ jal func_8008775C /* 0808E8 8007FCE8 AFA30018 */ sw $v1, 0x18($sp) /* 0808EC 8007FCEC 8FA30018 */ lw $v1, 0x18($sp) /* 0808F0 8007FCF0 846400B0 */ lh $a0, 0xb0($v1) /* 0808F4 8007FCF4 28810065 */ slti $at, $a0, 0x65 /* 0808F8 8007FCF8 10200012 */ beqz $at, .L8007FD44 /* 0808FC 8007FCFC 00000000 */ nop /* 080900 8007FD00 946500C0 */ lhu $a1, 0xc0($v1) /* 080904 8007FD04 34018000 */ li $at, 32768 /* 080908 8007FD08 946400B4 */ lhu $a0, 0xb4($v1) /* 08090C 8007FD0C 00A12821 */ addu $a1, $a1, $at /* 080910 8007FD10 30AEFFFF */ andi $t6, $a1, 0xffff /* 080914 8007FD14 01C02825 */ move $a1, $t6 /* 080918 8007FD18 0C0105ED */ jal func_800417B4 /* 08091C 8007FD1C AFA30018 */ sw $v1, 0x18($sp) /* 080920 8007FD20 8FA30018 */ lw $v1, 0x18($sp) /* 080924 8007FD24 24010064 */ li $at, 100 /* 080928 8007FD28 240F0001 */ li $t7, 1 /* 08092C 8007FD2C 846400B0 */ lh $a0, 0xb0($v1) /* 080930 8007FD30 A46200B4 */ sh $v0, 0xb4($v1) /* 080934 8007FD34 14810003 */ bne $a0, $at, .L8007FD44 /* 080938 8007FD38 00000000 */ nop /* 08093C 8007FD3C A06F00D2 */ sb $t7, 0xd2($v1) /* 080940 8007FD40 846400B0 */ lh $a0, 0xb0($v1) .L8007FD44: /* 080944 8007FD44 3C18800E */ lui $t8, %hi(gIsMirrorMode) # $t8, 0x800e /* 080948 8007FD48 8F18C604 */ lw $t8, %lo(gIsMirrorMode)($t8) /* 08094C 8007FD4C 00001025 */ move $v0, $zero /* 080950 8007FD50 2499FFFF */ addiu $t9, $a0, -1 /* 080954 8007FD54 1300000B */ beqz $t8, .L8007FD84 /* 080958 8007FD58 24050003 */ li $a1, 3 /* 08095C 8007FD5C C46A0028 */ lwc1 $f10, 0x28($v1) /* 080960 8007FD60 3C01800F */ lui $at, %hi(D_800EF078) /* 080964 8007FD64 D428F078 */ ldc1 $f8, %lo(D_800EF078)($at) /* 080968 8007FD68 460054A1 */ cvt.d.s $f18, $f10 /* 08096C 8007FD6C 4628903E */ c.le.d $f18, $f8 /* 080970 8007FD70 00000000 */ nop /* 080974 8007FD74 4502000D */ bc1fl .L8007FDAC /* 080978 8007FD78 A47900B0 */ sh $t9, 0xb0($v1) /* 08097C 8007FD7C 1000000A */ b .L8007FDA8 /* 080980 8007FD80 24020001 */ li $v0, 1 .L8007FD84: /* 080984 8007FD84 C4700028 */ lwc1 $f16, 0x28($v1) /* 080988 8007FD88 3C01800F */ lui $at, %hi(D_800EF080) /* 08098C 8007FD8C D426F080 */ ldc1 $f6, %lo(D_800EF080)($at) /* 080990 8007FD90 46008121 */ cvt.d.s $f4, $f16 /* 080994 8007FD94 4624303E */ c.le.d $f6, $f4 /* 080998 8007FD98 00000000 */ nop /* 08099C 8007FD9C 45020003 */ bc1fl .L8007FDAC /* 0809A0 8007FDA0 A47900B0 */ sh $t9, 0xb0($v1) /* 0809A4 8007FDA4 24020001 */ li $v0, 1 .L8007FDA8: /* 0809A8 8007FDA8 A47900B0 */ sh $t9, 0xb0($v1) .L8007FDAC: /* 0809AC 8007FDAC 846800B0 */ lh $t0, 0xb0($v1) /* 0809B0 8007FDB0 51000004 */ beql $t0, $zero, .L8007FDC4 /* 0809B4 8007FDB4 44800000 */ mtc1 $zero, $f0 /* 0809B8 8007FDB8 50400037 */ beql $v0, $zero, .L8007FE98 /* 0809BC 8007FDBC 8FBF0014 */ lw $ra, 0x14($sp) /* 0809C0 8007FDC0 44800000 */ mtc1 $zero, $f0 .L8007FDC4: /* 0809C4 8007FDC4 8FA40028 */ lw $a0, 0x28($sp) /* 0809C8 8007FDC8 0C01C9B3 */ jal func_800726CC /* 0809CC 8007FDCC E4600034 */ swc1 $f0, 0x34($v1) /* 0809D0 8007FDD0 0C021BF5 */ jal func_80086FD4 /* 0809D4 8007FDD4 8FA40028 */ lw $a0, 0x28($sp) /* 0809D8 8007FDD8 1000002F */ b .L8007FE98 /* 0809DC 8007FDDC 8FBF0014 */ lw $ra, 0x14($sp) glabel L8007FDE0 /* 0809E0 8007FDE0 44800000 */ mtc1 $zero, $f0 /* 0809E4 8007FDE4 24640030 */ addiu $a0, $v1, 0x30 /* 0809E8 8007FDE8 3C064000 */ lui $a2, 0x4000 /* 0809EC 8007FDEC 44050000 */ mfc1 $a1, $f0 /* 0809F0 8007FDF0 0C0104EE */ jal func_800413B8 /* 0809F4 8007FDF4 AFA30018 */ sw $v1, 0x18($sp) /* 0809F8 8007FDF8 44800000 */ mtc1 $zero, $f0 /* 0809FC 8007FDFC 8FA30018 */ lw $v1, 0x18($sp) /* 080A00 8007FE00 3C0640A0 */ lui $a2, 0x40a0 /* 080A04 8007FE04 44050000 */ mfc1 $a1, $f0 /* 080A08 8007FE08 0C0104EE */ jal func_800413B8 /* 080A0C 8007FE0C 24640028 */ addiu $a0, $v1, 0x28 /* 080A10 8007FE10 8FA30018 */ lw $v1, 0x18($sp) /* 080A14 8007FE14 44805800 */ mtc1 $zero, $f11 /* 080A18 8007FE18 44805000 */ mtc1 $zero, $f10 /* 080A1C 8007FE1C C4680030 */ lwc1 $f8, 0x30($v1) /* 080A20 8007FE20 C4720028 */ lwc1 $f18, 0x28($v1) /* 080A24 8007FE24 46124400 */ add.s $f16, $f8, $f18 /* 080A28 8007FE28 46008121 */ cvt.d.s $f4, $f16 /* 080A2C 8007FE2C 46245032 */ c.eq.d $f10, $f4 /* 080A30 8007FE30 00000000 */ nop /* 080A34 8007FE34 45020018 */ bc1fl .L8007FE98 /* 080A38 8007FE38 8FBF0014 */ lw $ra, 0x14($sp) /* 080A3C 8007FE3C 0C021BF5 */ jal func_80086FD4 /* 080A40 8007FE40 8FA40028 */ lw $a0, 0x28($sp) /* 080A44 8007FE44 10000014 */ b .L8007FE98 /* 080A48 8007FE48 8FBF0014 */ lw $ra, 0x14($sp) glabel L8007FE4C /* 080A4C 8007FE4C 946400B4 */ lhu $a0, 0xb4($v1) /* 080A50 8007FE50 946500C0 */ lhu $a1, 0xc0($v1) /* 080A54 8007FE54 0C0105ED */ jal func_800417B4 /* 080A58 8007FE58 AFA30018 */ sw $v1, 0x18($sp) /* 080A5C 8007FE5C 8FA30018 */ lw $v1, 0x18($sp) /* 080A60 8007FE60 3049FFFF */ andi $t1, $v0, 0xffff /* 080A64 8007FE64 24050008 */ li $a1, 8 /* 080A68 8007FE68 946A00C0 */ lhu $t2, 0xc0($v1) /* 080A6C 8007FE6C A46200B4 */ sh $v0, 0xb4($v1) /* 080A70 8007FE70 8FA40028 */ lw $a0, 0x28($sp) /* 080A74 8007FE74 552A0008 */ bnel $t1, $t2, .L8007FE98 /* 080A78 8007FE78 8FBF0014 */ lw $ra, 0x14($sp) /* 080A7C 8007FE7C 0C01C8B3 */ jal func_800722CC /* 080A80 8007FE80 AFA30018 */ sw $v1, 0x18($sp) /* 080A84 8007FE84 0C021BF5 */ jal func_80086FD4 /* 080A88 8007FE88 8FA40028 */ lw $a0, 0x28($sp) /* 080A8C 8007FE8C 8FA30018 */ lw $v1, 0x18($sp) /* 080A90 8007FE90 A06000D2 */ sb $zero, 0xd2($v1) .L8007FE94: glabel L8007FE94 /* 080A94 8007FE94 8FBF0014 */ lw $ra, 0x14($sp) .L8007FE98: /* 080A98 8007FE98 27BD0028 */ addiu $sp, $sp, 0x28 /* 080A9C 8007FE9C 03E00008 */ jr $ra /* 080AA0 8007FEA0 00000000 */ nop glabel func_8007FEA4 /* 080AA4 8007FEA4 000478C0 */ sll $t7, $a0, 3 /* 080AA8 8007FEA8 01E47823 */ subu $t7, $t7, $a0 /* 080AAC 8007FEAC 3C188016 */ lui $t8, %hi(D_80165C18) # $t8, 0x8016 /* 080AB0 8007FEB0 27185C18 */ addiu $t8, %lo(D_80165C18) # addiu $t8, $t8, 0x5c18 /* 080AB4 8007FEB4 000F7940 */ sll $t7, $t7, 5 /* 080AB8 8007FEB8 01F81821 */ addu $v1, $t7, $t8 /* 080ABC 8007FEBC 846200AE */ lh $v0, 0xae($v1) /* 080AC0 8007FEC0 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 080AC4 8007FEC4 AFBF0014 */ sw $ra, 0x14($sp) /* 080AC8 8007FEC8 10400020 */ beqz $v0, .L8007FF4C /* 080ACC 8007FECC AFA40018 */ sw $a0, 0x18($sp) /* 080AD0 8007FED0 24010001 */ li $at, 1 /* 080AD4 8007FED4 10410008 */ beq $v0, $at, .L8007FEF8 /* 080AD8 8007FED8 24640028 */ addiu $a0, $v1, 0x28 /* 080ADC 8007FEDC 24010002 */ li $at, 2 /* 080AE0 8007FEE0 1041001A */ beq $v0, $at, .L8007FF4C /* 080AE4 8007FEE4 24010003 */ li $at, 3 /* 080AE8 8007FEE8 1041000E */ beq $v0, $at, .L8007FF24 /* 080AEC 8007FEEC 24640028 */ addiu $a0, $v1, 0x28 /* 080AF0 8007FEF0 10000017 */ b .L8007FF50 /* 080AF4 8007FEF4 8FBF0014 */ lw $ra, 0x14($sp) .L8007FEF8: /* 080AF8 8007FEF8 8C65001C */ lw $a1, 0x1c($v1) /* 080AFC 8007FEFC 0C0104EE */ jal func_800413B8 /* 080B00 8007FF00 3C0640A0 */ lui $a2, 0x40a0 /* 080B04 8007FF04 10400011 */ beqz $v0, .L8007FF4C /* 080B08 8007FF08 8FA40018 */ lw $a0, 0x18($sp) /* 080B0C 8007FF0C 0C01C9B3 */ jal func_800726CC /* 080B10 8007FF10 24050003 */ li $a1, 3 /* 080B14 8007FF14 0C021BF5 */ jal func_80086FD4 /* 080B18 8007FF18 8FA40018 */ lw $a0, 0x18($sp) /* 080B1C 8007FF1C 1000000C */ b .L8007FF50 /* 080B20 8007FF20 8FBF0014 */ lw $ra, 0x14($sp) .L8007FF24: /* 080B24 8007FF24 24050000 */ li $a1, 0 /* 080B28 8007FF28 0C0104EE */ jal func_800413B8 /* 080B2C 8007FF2C 3C0640A0 */ lui $a2, 0x40a0 /* 080B30 8007FF30 50400007 */ beql $v0, $zero, .L8007FF50 /* 080B34 8007FF34 8FBF0014 */ lw $ra, 0x14($sp) /* 080B38 8007FF38 0C021BF5 */ jal func_80086FD4 /* 080B3C 8007FF3C 8FA40018 */ lw $a0, 0x18($sp) /* 080B40 8007FF40 8FA40018 */ lw $a0, 0x18($sp) /* 080B44 8007FF44 0C01C8B3 */ jal func_800722CC /* 080B48 8007FF48 24050008 */ li $a1, 8 .L8007FF4C: /* 080B4C 8007FF4C 8FBF0014 */ lw $ra, 0x14($sp) .L8007FF50: /* 080B50 8007FF50 27BD0018 */ addiu $sp, $sp, 0x18 /* 080B54 8007FF54 03E00008 */ jr $ra /* 080B58 8007FF58 00000000 */ nop glabel func_8007FF5C /* 080B5C 8007FF5C 000470C0 */ sll $t6, $a0, 3 /* 080B60 8007FF60 01C47023 */ subu $t6, $t6, $a0 /* 080B64 8007FF64 000E7140 */ sll $t6, $t6, 5 /* 080B68 8007FF68 3C028016 */ lui $v0, %hi(D_80165CF5) # 0x8016 /* 080B6C 8007FF6C 004E1021 */ addu $v0, $v0, $t6 /* 080B70 8007FF70 90425CF5 */ lbu $v0, %lo(D_80165CF5)($v0) # 0x5cf5($v0) /* 080B74 8007FF74 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 080B78 8007FF78 24010001 */ li $at, 1 /* 080B7C 8007FF7C 10410006 */ beq $v0, $at, .L8007FF98 /* 080B80 8007FF80 AFBF0014 */ sw $ra, 0x14($sp) /* 080B84 8007FF84 24010002 */ li $at, 2 /* 080B88 8007FF88 10410007 */ beq $v0, $at, .L8007FFA8 /* 080B8C 8007FF8C 00000000 */ nop /* 080B90 8007FF90 10000008 */ b .L8007FFB4 /* 080B94 8007FF94 8FBF0014 */ lw $ra, 0x14($sp) .L8007FF98: /* 080B98 8007FF98 0C01FED2 */ jal func_8007FB48 /* 080B9C 8007FF9C 00000000 */ nop /* 080BA0 8007FFA0 10000004 */ b .L8007FFB4 /* 080BA4 8007FFA4 8FBF0014 */ lw $ra, 0x14($sp) .L8007FFA8: /* 080BA8 8007FFA8 0C01FFA9 */ jal func_8007FEA4 /* 080BAC 8007FFAC 00000000 */ nop /* 080BB0 8007FFB0 8FBF0014 */ lw $ra, 0x14($sp) .L8007FFB4: /* 080BB4 8007FFB4 27BD0018 */ addiu $sp, $sp, 0x18 /* 080BB8 8007FFB8 03E00008 */ jr $ra /* 080BBC 8007FFBC 00000000 */ nop glabel func_8007FFC0 /* 080BC0 8007FFC0 000470C0 */ sll $t6, $a0, 3 /* 080BC4 8007FFC4 01C47023 */ subu $t6, $t6, $a0 /* 080BC8 8007FFC8 000E7140 */ sll $t6, $t6, 5 /* 080BCC 8007FFCC 3C028016 */ lui $v0, %hi(D_80165CBE) # 0x8016 /* 080BD0 8007FFD0 004E1021 */ addu $v0, $v0, $t6 /* 080BD4 8007FFD4 84425CBE */ lh $v0, %lo(D_80165CBE)($v0) # 0x5cbe($v0) /* 080BD8 8007FFD8 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 080BDC 8007FFDC AFB00018 */ sw $s0, 0x18($sp) /* 080BE0 8007FFE0 00808025 */ move $s0, $a0 /* 080BE4 8007FFE4 10400017 */ beqz $v0, .L80080044 /* 080BE8 8007FFE8 AFBF001C */ sw $ra, 0x1c($sp) /* 080BEC 8007FFEC 24010001 */ li $at, 1 /* 080BF0 8007FFF0 10410008 */ beq $v0, $at, .L80080014 /* 080BF4 8007FFF4 24010003 */ li $at, 3 /* 080BF8 8007FFF8 1041000A */ beq $v0, $at, .L80080024 /* 080BFC 8007FFFC 02002025 */ move $a0, $s0 /* 080C00 80080000 24010004 */ li $at, 4 /* 080C04 80080004 1041000B */ beq $v0, $at, .L80080034 /* 080C08 80080008 00000000 */ nop /* 080C0C 8008000C 1000000D */ b .L80080044 /* 080C10 80080010 00000000 */ nop .L80080014: /* 080C14 80080014 0C01FE82 */ jal func_8007FA08 /* 080C18 80080018 02002025 */ move $a0, $s0 /* 080C1C 8008001C 10000009 */ b .L80080044 /* 080C20 80080020 00000000 */ nop .L80080024: /* 080C24 80080024 0C01C95A */ jal func_80072568 /* 080C28 80080028 24050032 */ li $a1, 50 /* 080C2C 8008002C 10000005 */ b .L80080044 /* 080C30 80080030 00000000 */ nop .L80080034: /* 080C34 80080034 0C01C922 */ jal func_80072488 /* 080C38 80080038 02002025 */ move $a0, $s0 /* 080C3C 8008003C 0C021BF5 */ jal func_80086FD4 /* 080C40 80080040 02002025 */ move $a0, $s0 .L80080044: /* 080C44 80080044 0C01F98F */ jal func_8007E63C /* 080C48 80080048 02002025 */ move $a0, $s0 /* 080C4C 8008004C 0C01FFD7 */ jal func_8007FF5C /* 080C50 80080050 02002025 */ move $a0, $s0 /* 080C54 80080054 0C022FC6 */ jal func_8008BF18 /* 080C58 80080058 02002025 */ move $a0, $s0 /* 080C5C 8008005C 0C01CD45 */ jal func_80073514 /* 080C60 80080060 02002025 */ move $a0, $s0 /* 080C64 80080064 8FBF001C */ lw $ra, 0x1c($sp) /* 080C68 80080068 8FB00018 */ lw $s0, 0x18($sp) /* 080C6C 8008006C 27BD0020 */ addiu $sp, $sp, 0x20 /* 080C70 80080070 03E00008 */ jr $ra /* 080C74 80080074 00000000 */ nop glabel func_80080078 /* 080C78 80080078 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 080C7C 8008007C AFBF0024 */ sw $ra, 0x24($sp) /* 080C80 80080080 AFB10020 */ sw $s1, 0x20($sp) /* 080C84 80080084 3C050600 */ lui $a1, %hi(D_06006F38) # $a1, 0x600 /* 080C88 80080088 3C060600 */ lui $a2, %hi(D_06007138) # $a2, 0x600 /* 080C8C 8008008C 240E0040 */ li $t6, 64 /* 080C90 80080090 00808825 */ move $s1, $a0 /* 080C94 80080094 AFB0001C */ sw $s0, 0x1c($sp) /* 080C98 80080098 AFAE0010 */ sw $t6, 0x10($sp) /* 080C9C 8008009C 24C67138 */ addiu $a2, %lo(D_06007138) # addiu $a2, $a2, 0x7138 /* 080CA0 800800A0 24A56F38 */ addiu $a1, %lo(D_06006F38) # addiu $a1, $a1, 0x6f38 /* 080CA4 800800A4 0C01CD11 */ jal func_80073444 /* 080CA8 800800A8 24070010 */ li $a3, 16 /* 080CAC 800800AC 001178C0 */ sll $t7, $s1, 3 /* 080CB0 800800B0 01F17823 */ subu $t7, $t7, $s1 /* 080CB4 800800B4 3C188016 */ lui $t8, %hi(D_80165C18) # $t8, 0x8016 /* 080CB8 800800B8 27185C18 */ addiu $t8, %lo(D_80165C18) # addiu $t8, $t8, 0x5c18 /* 080CBC 800800BC 000F7940 */ sll $t7, $t7, 5 /* 080CC0 800800C0 3C013F80 */ li $at, 0x3F800000 # 1.000000 /* 080CC4 800800C4 44812000 */ mtc1 $at, $f4 /* 080CC8 800800C8 01F88021 */ addu $s0, $t7, $t8 /* 080CCC 800800CC 3C190601 */ lui $t9, %hi(D_06009088) # $t9, 0x601 /* 080CD0 800800D0 27399088 */ addiu $t9, %lo(D_06009088) # addiu $t9, $t9, -0x6f78 /* 080CD4 800800D4 2408000C */ li $t0, 12 /* 080CD8 800800D8 3C050400 */ lui $a1, (0x04000220 >> 16) # lui $a1, 0x400 /* 080CDC 800800DC AE190070 */ sw $t9, 0x70($s0) /* 080CE0 800800E0 A60800C8 */ sh $t0, 0xc8($s0) /* 080CE4 800800E4 34A50220 */ ori $a1, (0x04000220 & 0xFFFF) # ori $a1, $a1, 0x220 /* 080CE8 800800E8 02202025 */ move $a0, $s1 /* 080CEC 800800EC 0C01C870 */ jal func_800721C0 /* 080CF0 800800F0 E6040000 */ swc1 $f4, ($s0) /* 080CF4 800800F4 24090002 */ li $t1, 2 /* 080CF8 800800F8 240A0008 */ li $t2, 8 /* 080CFC 800800FC A60900A4 */ sh $t1, 0xa4($s0) /* 080D00 80080100 A20A00DF */ sb $t2, 0xdf($s0) /* 080D04 80080104 02202025 */ move $a0, $s1 /* 080D08 80080108 00002825 */ move $a1, $zero /* 080D0C 8008010C 00003025 */ move $a2, $zero /* 080D10 80080110 0C022E22 */ jal func_8008B888 /* 080D14 80080114 00003825 */ move $a3, $zero /* 080D18 80080118 44800000 */ mtc1 $zero, $f0 /* 080D1C 8008011C 02202025 */ move $a0, $s1 /* 080D20 80080120 44050000 */ mfc1 $a1, $f0 /* 080D24 80080124 44060000 */ mfc1 $a2, $f0 /* 080D28 80080128 44070000 */ mfc1 $a3, $f0 /* 080D2C 8008012C E6000044 */ swc1 $f0, 0x44($s0) /* 080D30 80080130 0C022E03 */ jal func_8008B80C /* 080D34 80080134 E6000014 */ swc1 $f0, 0x14($s0) /* 080D38 80080138 3C0141F0 */ li $at, 0x41F00000 # 30.000000 /* 080D3C 8008013C 44813000 */ mtc1 $at, $f6 /* 080D40 80080140 3C0B800E */ lui $t3, %hi(gIsMirrorMode) # $t3, 0x800e /* 080D44 80080144 00003825 */ move $a3, $zero /* 080D48 80080148 E6060020 */ swc1 $f6, 0x20($s0) /* 080D4C 8008014C 8D6BC604 */ lw $t3, %lo(gIsMirrorMode)($t3) /* 080D50 80080150 02202025 */ move $a0, $s1 /* 080D54 80080154 00002825 */ move $a1, $zero /* 080D58 80080158 11600007 */ beqz $t3, .L80080178 /* 080D5C 8008015C 3406C000 */ li $a2, 49152 /* 080D60 80080160 02202025 */ move $a0, $s1 /* 080D64 80080164 00002825 */ move $a1, $zero /* 080D68 80080168 0C022E2F */ jal func_8008B8BC /* 080D6C 8008016C 24064000 */ li $a2, 16384 /* 080D70 80080170 10000004 */ b .L80080184 /* 080D74 80080174 860200A0 */ lh $v0, 0xa0($s0) .L80080178: /* 080D78 80080178 0C022E2F */ jal func_8008B8BC /* 080D7C 8008017C 00003825 */ move $a3, $zero /* 080D80 80080180 860200A0 */ lh $v0, 0xa0($s0) .L80080184: /* 080D84 80080184 24010001 */ li $at, 1 /* 080D88 80080188 240C0002 */ li $t4, 2 /* 080D8C 8008018C 1040000B */ beqz $v0, .L800801BC /* 080D90 80080190 00000000 */ nop /* 080D94 80080194 1041000B */ beq $v0, $at, .L800801C4 /* 080D98 80080198 240D003C */ li $t5, 60 /* 080D9C 8008019C 24010002 */ li $at, 2 /* 080DA0 800801A0 1041000A */ beq $v0, $at, .L800801CC /* 080DA4 800801A4 240E0078 */ li $t6, 120 /* 080DA8 800801A8 24010003 */ li $at, 3 /* 080DAC 800801AC 10410009 */ beq $v0, $at, .L800801D4 /* 080DB0 800801B0 240F00B4 */ li $t7, 180 /* 080DB4 800801B4 10000008 */ b .L800801D8 /* 080DB8 800801B8 00000000 */ nop .L800801BC: /* 080DBC 800801BC 10000006 */ b .L800801D8 /* 080DC0 800801C0 AE0C0050 */ sw $t4, 0x50($s0) .L800801C4: /* 080DC4 800801C4 10000004 */ b .L800801D8 /* 080DC8 800801C8 AE0D0050 */ sw $t5, 0x50($s0) .L800801CC: /* 080DCC 800801CC 10000002 */ b .L800801D8 /* 080DD0 800801D0 AE0E0050 */ sw $t6, 0x50($s0) .L800801D4: /* 080DD4 800801D4 AE0F0050 */ sw $t7, 0x50($s0) .L800801D8: /* 080DD8 800801D8 0C01C937 */ jal func_800724DC /* 080DDC 800801DC 02202025 */ move $a0, $s1 /* 080DE0 800801E0 0C01C922 */ jal func_80072488 /* 080DE4 800801E4 02202025 */ move $a0, $s1 /* 080DE8 800801E8 8FBF0024 */ lw $ra, 0x24($sp) /* 080DEC 800801EC 8FB0001C */ lw $s0, 0x1c($sp) /* 080DF0 800801F0 8FB10020 */ lw $s1, 0x20($sp) /* 080DF4 800801F4 03E00008 */ jr $ra /* 080DF8 800801F8 27BD0028 */ addiu $sp, $sp, 0x28 glabel func_800801FC /* 080DFC 800801FC 000470C0 */ sll $t6, $a0, 3 /* 080E00 80080200 01C47023 */ subu $t6, $t6, $a0 /* 080E04 80080204 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 080E08 80080208 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 080E0C 8008020C 000E7140 */ sll $t6, $t6, 5 /* 080E10 80080210 01CF1021 */ addu $v0, $t6, $t7 /* 080E14 80080214 945800A6 */ lhu $t8, 0xa6($v0) /* 080E18 80080218 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 080E1C 8008021C AFB00018 */ sw $s0, 0x18($sp) /* 080E20 80080220 2F010005 */ sltiu $at, $t8, 5 /* 080E24 80080224 00808025 */ move $s0, $a0 /* 080E28 80080228 1020001A */ beqz $at, .L80080294 /* 080E2C 8008022C AFBF001C */ sw $ra, 0x1c($sp) /* 080E30 80080230 0018C080 */ sll $t8, $t8, 2 /* 080E34 80080234 3C01800F */ lui $at, %hi(D_800EF088) /* 080E38 80080238 00380821 */ addu $at, $at, $t8 /* 080E3C 8008023C 8C38F088 */ lw $t8, %lo(D_800EF088)($at) /* 080E40 80080240 03000008 */ jr $t8 /* 080E44 80080244 00000000 */ nop glabel L80080248 /* 080E48 80080248 0C02001E */ jal func_80080078 /* 080E4C 8008024C 02002025 */ move $a0, $s0 /* 080E50 80080250 10000010 */ b .L80080294 /* 080E54 80080254 00000000 */ nop glabel L80080258 /* 080E58 80080258 02002025 */ move $a0, $s0 /* 080E5C 8008025C 0C01C9E3 */ jal func_8007278C /* 080E60 80080260 8C450050 */ lw $a1, 0x50($v0) /* 080E64 80080264 1000000B */ b .L80080294 /* 080E68 80080268 00000000 */ nop glabel L8008026C /* 080E6C 8008026C 02002025 */ move $a0, $s0 /* 080E70 80080270 0C01C95A */ jal func_80072568 /* 080E74 80080274 24050032 */ li $a1, 50 /* 080E78 80080278 10000006 */ b .L80080294 /* 080E7C 8008027C 00000000 */ nop glabel L80080280 /* 080E80 80080280 2419003C */ li $t9, 60 /* 080E84 80080284 AC590050 */ sw $t9, 0x50($v0) /* 080E88 80080288 02002025 */ move $a0, $s0 /* 080E8C 8008028C 0C01C9B3 */ jal func_800726CC /* 080E90 80080290 24050002 */ li $a1, 2 .L80080294: glabel L80080294 /* 080E94 80080294 0C01F98F */ jal func_8007E63C /* 080E98 80080298 02002025 */ move $a0, $s0 /* 080E9C 8008029C 0C022FC6 */ jal func_8008BF18 /* 080EA0 800802A0 02002025 */ move $a0, $s0 /* 080EA4 800802A4 0C01CD45 */ jal func_80073514 /* 080EA8 800802A8 02002025 */ move $a0, $s0 /* 080EAC 800802AC 8FBF001C */ lw $ra, 0x1c($sp) /* 080EB0 800802B0 8FB00018 */ lw $s0, 0x18($sp) /* 080EB4 800802B4 27BD0020 */ addiu $sp, $sp, 0x20 /* 080EB8 800802B8 03E00008 */ jr $ra /* 080EBC 800802BC 00000000 */ nop glabel func_800802C0 /* 080EC0 800802C0 27BDFFD0 */ addiu $sp, $sp, -0x30 /* 080EC4 800802C4 000470C0 */ sll $t6, $a0, 3 /* 080EC8 800802C8 01C47023 */ subu $t6, $t6, $a0 /* 080ECC 800802CC 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 080ED0 800802D0 AFB00024 */ sw $s0, 0x24($sp) /* 080ED4 800802D4 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 080ED8 800802D8 000E7140 */ sll $t6, $t6, 5 /* 080EDC 800802DC AFBF002C */ sw $ra, 0x2c($sp) /* 080EE0 800802E0 AFB10028 */ sw $s1, 0x28($sp) /* 080EE4 800802E4 01CF8021 */ addu $s0, $t6, $t7 /* 080EE8 800802E8 3C050600 */ lui $a1, %hi(D_06006F38) # $a1, 0x600 /* 080EEC 800802EC 3C060600 */ lui $a2, %hi(D_06007138) # $a2, 0x600 /* 080EF0 800802F0 24180040 */ li $t8, 64 /* 080EF4 800802F4 00808825 */ move $s1, $a0 /* 080EF8 800802F8 F7B40018 */ sdc1 $f20, 0x18($sp) /* 080EFC 800802FC A20000D8 */ sb $zero, 0xd8($s0) /* 080F00 80080300 AFB80010 */ sw $t8, 0x10($sp) /* 080F04 80080304 24C67138 */ addiu $a2, %lo(D_06007138) # addiu $a2, $a2, 0x7138 /* 080F08 80080308 24A56F38 */ addiu $a1, %lo(D_06006F38) # addiu $a1, $a1, 0x6f38 /* 080F0C 8008030C 0C01CD11 */ jal func_80073444 /* 080F10 80080310 24070010 */ li $a3, 16 /* 080F14 80080314 3C013FC0 */ li $at, 0x3FC00000 # 1.500000 /* 080F18 80080318 44812000 */ mtc1 $at, $f4 /* 080F1C 8008031C 3C190601 */ lui $t9, %hi(D_06009088) # $t9, 0x601 /* 080F20 80080320 27399088 */ addiu $t9, %lo(D_06009088) # addiu $t9, $t9, -0x6f78 /* 080F24 80080324 2408000C */ li $t0, 12 /* 080F28 80080328 3C050500 */ lui $a1, (0x05000220 >> 16) # lui $a1, 0x500 /* 080F2C 8008032C AE190070 */ sw $t9, 0x70($s0) /* 080F30 80080330 A20000D2 */ sb $zero, 0xd2($s0) /* 080F34 80080334 A60800C8 */ sh $t0, 0xc8($s0) /* 080F38 80080338 34A50220 */ ori $a1, (0x05000220 & 0xFFFF) # ori $a1, $a1, 0x220 /* 080F3C 8008033C 02202025 */ move $a0, $s1 /* 080F40 80080340 0C01C870 */ jal func_800721C0 /* 080F44 80080344 E6040000 */ swc1 $f4, ($s0) /* 080F48 80080348 4480A000 */ mtc1 $zero, $f20 /* 080F4C 8008034C 24090001 */ li $t1, 1 /* 080F50 80080350 240A0006 */ li $t2, 6 /* 080F54 80080354 4405A000 */ mfc1 $a1, $f20 /* 080F58 80080358 4406A000 */ mfc1 $a2, $f20 /* 080F5C 8008035C 4407A000 */ mfc1 $a3, $f20 /* 080F60 80080360 A60900A4 */ sh $t1, 0xa4($s0) /* 080F64 80080364 A20A00DF */ sb $t2, 0xdf($s0) /* 080F68 80080368 0C022E03 */ jal func_8008B80C /* 080F6C 8008036C 02202025 */ move $a0, $s1 /* 080F70 80080370 02202025 */ move $a0, $s1 /* 080F74 80080374 00002825 */ move $a1, $zero /* 080F78 80080378 00003025 */ move $a2, $zero /* 080F7C 8008037C 0C022E22 */ jal func_8008B888 /* 080F80 80080380 00003825 */ move $a3, $zero /* 080F84 80080384 3C014120 */ li $at, 0x41200000 # 10.000000 /* 080F88 80080388 44810000 */ mtc1 $at, $f0 /* 080F8C 8008038C E6140044 */ swc1 $f20, 0x44($s0) /* 080F90 80080390 E6140014 */ swc1 $f20, 0x14($s0) /* 080F94 80080394 3C0B800E */ lui $t3, %hi(gIsMirrorMode) # $t3, 0x800e /* 080F98 80080398 E600002C */ swc1 $f0, 0x2c($s0) /* 080F9C 8008039C E6000020 */ swc1 $f0, 0x20($s0) /* 080FA0 800803A0 8D6BC604 */ lw $t3, %lo(gIsMirrorMode)($t3) /* 080FA4 800803A4 02202025 */ move $a0, $s1 /* 080FA8 800803A8 00002825 */ move $a1, $zero /* 080FAC 800803AC 11600008 */ beqz $t3, .L800803D0 /* 080FB0 800803B0 3406C000 */ li $a2, 49152 /* 080FB4 800803B4 02202025 */ move $a0, $s1 /* 080FB8 800803B8 00002825 */ move $a1, $zero /* 080FBC 800803BC 24064000 */ li $a2, 16384 /* 080FC0 800803C0 0C022E2F */ jal func_8008B8BC /* 080FC4 800803C4 00003825 */ move $a3, $zero /* 080FC8 800803C8 10000004 */ b .L800803DC /* 080FCC 800803CC E6140028 */ swc1 $f20, 0x28($s0) .L800803D0: /* 080FD0 800803D0 0C022E2F */ jal func_8008B8BC /* 080FD4 800803D4 00003825 */ move $a3, $zero /* 080FD8 800803D8 E6140028 */ swc1 $f20, 0x28($s0) .L800803DC: /* 080FDC 800803DC E6140030 */ swc1 $f20, 0x30($s0) /* 080FE0 800803E0 0C01C937 */ jal func_800724DC /* 080FE4 800803E4 02202025 */ move $a0, $s1 /* 080FE8 800803E8 0C01C922 */ jal func_80072488 /* 080FEC 800803EC 02202025 */ move $a0, $s1 /* 080FF0 800803F0 8FBF002C */ lw $ra, 0x2c($sp) /* 080FF4 800803F4 D7B40018 */ ldc1 $f20, 0x18($sp) /* 080FF8 800803F8 8FB00024 */ lw $s0, 0x24($sp) /* 080FFC 800803FC 8FB10028 */ lw $s1, 0x28($sp) /* 081000 80080400 03E00008 */ jr $ra /* 081004 80080404 27BD0030 */ addiu $sp, $sp, 0x30 glabel func_80080408 /* 081008 80080408 000470C0 */ sll $t6, $a0, 3 /* 08100C 8008040C 01C47023 */ subu $t6, $t6, $a0 /* 081010 80080410 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 081014 80080414 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 081018 80080418 000E7140 */ sll $t6, $t6, 5 /* 08101C 8008041C 01CF1821 */ addu $v1, $t6, $t7 /* 081020 80080420 947800A6 */ lhu $t8, 0xa6($v1) /* 081024 80080424 27BDFFD0 */ addiu $sp, $sp, -0x30 /* 081028 80080428 AFB00020 */ sw $s0, 0x20($sp) /* 08102C 8008042C 2F010005 */ sltiu $at, $t8, 5 /* 081030 80080430 00808025 */ move $s0, $a0 /* 081034 80080434 10200032 */ beqz $at, .L80080500 /* 081038 80080438 AFBF0024 */ sw $ra, 0x24($sp) /* 08103C 8008043C 0018C080 */ sll $t8, $t8, 2 /* 081040 80080440 3C01800F */ lui $at, %hi(D_800EF09C) # 0x800f /* 081044 80080444 00380821 */ addu $at, $at, $t8 /* 081048 80080448 8C38F09C */ lw $t8, %lo(D_800EF09C)($at) # -0xf64($at) /* 08104C 8008044C 03000008 */ jr $t8 /* 081050 80080450 00000000 */ nop glabel L80080454 /* 081054 80080454 0C0200B0 */ jal func_800802C0 /* 081058 80080458 02002025 */ move $a0, $s0 /* 08105C 8008045C 10000028 */ b .L80080500 /* 081060 80080460 00000000 */ nop glabel L80080464 /* 081064 80080464 02002025 */ move $a0, $s0 /* 081068 80080468 3C0542C8 */ lui $a1, 0x42c8 /* 08106C 8008046C 0C0229B7 */ jal func_8008A6DC /* 081070 80080470 AFA3002C */ sw $v1, 0x2c($sp) /* 081074 80080474 02002025 */ move $a0, $s0 /* 081078 80080478 0C01C88F */ jal func_8007223C /* 08107C 8008047C 3C050004 */ lui $a1, 4 /* 081080 80080480 1040001F */ beqz $v0, .L80080500 /* 081084 80080484 8FA3002C */ lw $v1, 0x2c($sp) /* 081088 80080488 3C061901 */ lui $a2, (0x19018045 >> 16) # lui $a2, 0x1901 /* 08108C 8008048C 34C68045 */ ori $a2, (0x19018045 & 0xFFFF) # ori $a2, $a2, 0x8045 /* 081090 80080490 24640004 */ addiu $a0, $v1, 4 /* 081094 80080494 0C03262E */ jal func_800C98B8 /* 081098 80080498 24650038 */ addiu $a1, $v1, 0x38 /* 08109C 8008049C 0C01C922 */ jal func_80072488 /* 0810A0 800804A0 02002025 */ move $a0, $s0 /* 0810A4 800804A4 10000016 */ b .L80080500 /* 0810A8 800804A8 00000000 */ nop glabel L800804AC /* 0810AC 800804AC 24190006 */ li $t9, 6 /* 0810B0 800804B0 24080006 */ li $t0, 6 /* 0810B4 800804B4 AFA80014 */ sw $t0, 0x14($sp) /* 0810B8 800804B8 AFB90010 */ sw $t9, 0x10($sp) /* 0810BC 800804BC 02002025 */ move $a0, $s0 /* 0810C0 800804C0 24050003 */ li $a1, 3 /* 0810C4 800804C4 24060005 */ li $a2, 5 /* 0810C8 800804C8 24070001 */ li $a3, 1 /* 0810CC 800804CC 0C01CC2F */ jal func_800730BC /* 0810D0 800804D0 AFA3002C */ sw $v1, 0x2c($sp) /* 0810D4 800804D4 1040000A */ beqz $v0, .L80080500 /* 0810D8 800804D8 8FA3002C */ lw $v1, 0x2c($sp) /* 0810DC 800804DC 10000008 */ b .L80080500 /* 0810E0 800804E0 A06000D2 */ sb $zero, 0xd2($v1) glabel L800804E4 /* 0810E4 800804E4 02002025 */ move $a0, $s0 /* 0810E8 800804E8 0C01C9E3 */ jal func_8007278C /* 0810EC 800804EC 2405012C */ li $a1, 300 /* 0810F0 800804F0 10400003 */ beqz $v0, .L80080500 /* 0810F4 800804F4 02002025 */ move $a0, $s0 /* 0810F8 800804F8 0C01C9B3 */ jal func_800726CC /* 0810FC 800804FC 24050002 */ li $a1, 2 .L80080500: glabel L80080500 /* 081100 80080500 0C022FC6 */ jal func_8008BF18 /* 081104 80080504 02002025 */ move $a0, $s0 /* 081108 80080508 0C01CD45 */ jal func_80073514 /* 08110C 8008050C 02002025 */ move $a0, $s0 /* 081110 80080510 8FBF0024 */ lw $ra, 0x24($sp) /* 081114 80080514 8FB00020 */ lw $s0, 0x20($sp) /* 081118 80080518 27BD0030 */ addiu $sp, $sp, 0x30 /* 08111C 8008051C 03E00008 */ jr $ra /* 081120 80080520 00000000 */ nop glabel func_80080524 /* 081124 80080524 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 081128 80080528 AFBF0024 */ sw $ra, 0x24($sp) /* 08112C 8008052C AFB10020 */ sw $s1, 0x20($sp) /* 081130 80080530 3C050600 */ lui $a1, %hi(D_06006F38) # $a1, 0x600 /* 081134 80080534 3C060600 */ lui $a2, %hi(D_06007138) # $a2, 0x600 /* 081138 80080538 240E0040 */ li $t6, 64 /* 08113C 8008053C 00808825 */ move $s1, $a0 /* 081140 80080540 AFB0001C */ sw $s0, 0x1c($sp) /* 081144 80080544 AFAE0010 */ sw $t6, 0x10($sp) /* 081148 80080548 24C67138 */ addiu $a2, %lo(D_06007138) # addiu $a2, $a2, 0x7138 /* 08114C 8008054C 24A56F38 */ addiu $a1, %lo(D_06006F38) # addiu $a1, $a1, 0x6f38 /* 081150 80080550 0C01CD11 */ jal func_80073444 /* 081154 80080554 24070010 */ li $a3, 16 /* 081158 80080558 001178C0 */ sll $t7, $s1, 3 /* 08115C 8008055C 01F17823 */ subu $t7, $t7, $s1 /* 081160 80080560 3C188016 */ lui $t8, %hi(D_80165C18) # $t8, 0x8016 /* 081164 80080564 27185C18 */ addiu $t8, %lo(D_80165C18) # addiu $t8, $t8, 0x5c18 /* 081168 80080568 000F7940 */ sll $t7, $t7, 5 /* 08116C 8008056C 01F88021 */ addu $s0, $t7, $t8 /* 081170 80080570 3C013F80 */ li $at, 0x3F800000 # 1.000000 /* 081174 80080574 44812000 */ mtc1 $at, $f4 /* 081178 80080578 3C190601 */ lui $t9, %hi(D_06009088) # $t9, 0x601 /* 08117C 8008057C 27399088 */ addiu $t9, %lo(D_06009088) # addiu $t9, $t9, -0x6f78 /* 081180 80080580 2408000C */ li $t0, 12 /* 081184 80080584 3C050400 */ lui $a1, (0x04000220 >> 16) # lui $a1, 0x400 /* 081188 80080588 AE190070 */ sw $t9, 0x70($s0) /* 08118C 8008058C A60800C8 */ sh $t0, 0xc8($s0) /* 081190 80080590 A20000D2 */ sb $zero, 0xd2($s0) /* 081194 80080594 34A50220 */ ori $a1, (0x04000220 & 0xFFFF) # ori $a1, $a1, 0x220 /* 081198 80080598 02202025 */ move $a0, $s1 /* 08119C 8008059C 0C01C870 */ jal func_800721C0 /* 0811A0 800805A0 E6040000 */ swc1 $f4, ($s0) /* 0811A4 800805A4 2409000A */ li $t1, 10 /* 0811A8 800805A8 A60000A4 */ sh $zero, 0xa4($s0) /* 0811AC 800805AC A20900DF */ sb $t1, 0xdf($s0) /* 0811B0 800805B0 0C021B9C */ jal func_80086E70 /* 0811B4 800805B4 02202025 */ move $a0, $s1 /* 0811B8 800805B8 44800000 */ mtc1 $zero, $f0 /* 0811BC 800805BC 02202025 */ move $a0, $s1 /* 0811C0 800805C0 44050000 */ mfc1 $a1, $f0 /* 0811C4 800805C4 44060000 */ mfc1 $a2, $f0 /* 0811C8 800805C8 44070000 */ mfc1 $a3, $f0 /* 0811CC 800805CC 0C022E03 */ jal func_8008B80C /* 0811D0 800805D0 00000000 */ nop /* 0811D4 800805D4 3C01428C */ li $at, 0x428C0000 # 70.000000 /* 0811D8 800805D8 44811000 */ mtc1 $at, $f2 /* 0811DC 800805DC 44800000 */ mtc1 $zero, $f0 /* 0811E0 800805E0 02202025 */ move $a0, $s1 /* 0811E4 800805E4 00002825 */ move $a1, $zero /* 0811E8 800805E8 00003025 */ move $a2, $zero /* 0811EC 800805EC 00003825 */ move $a3, $zero /* 0811F0 800805F0 E6020044 */ swc1 $f2, 0x44($s0) /* 0811F4 800805F4 E6020014 */ swc1 $f2, 0x14($s0) /* 0811F8 800805F8 0C022E22 */ jal func_8008B888 /* 0811FC 800805FC E6000020 */ swc1 $f0, 0x20($s0) /* 081200 80080600 3C0A800E */ lui $t2, %hi(gIsMirrorMode) # $t2, 0x800e /* 081204 80080604 8D4AC604 */ lw $t2, %lo(gIsMirrorMode)($t2) /* 081208 80080608 3C0B800E */ lui $t3, %hi(D_800DC50C) # $t3, 0x800e /* 08120C 8008060C 02202025 */ move $a0, $s1 /* 081210 80080610 15400006 */ bnez $t2, .L8008062C /* 081214 80080614 00002825 */ move $a1, $zero /* 081218 80080618 8D6BC50C */ lw $t3, %lo(D_800DC50C)($t3) /* 08121C 8008061C 24010009 */ li $at, 9 /* 081220 80080620 24064000 */ li $a2, 16384 /* 081224 80080624 15610006 */ bne $t3, $at, .L80080640 /* 081228 80080628 00003825 */ move $a3, $zero .L8008062C: /* 08122C 8008062C 3406C000 */ li $a2, 49152 /* 081230 80080630 0C022E2F */ jal func_8008B8BC /* 081234 80080634 00003825 */ move $a3, $zero /* 081238 80080638 10000005 */ b .L80080650 /* 08123C 8008063C 860200A0 */ lh $v0, 0xa0($s0) .L80080640: /* 081240 80080640 02202025 */ move $a0, $s1 /* 081244 80080644 0C022E2F */ jal func_8008B8BC /* 081248 80080648 00002825 */ move $a1, $zero /* 08124C 8008064C 860200A0 */ lh $v0, 0xa0($s0) .L80080650: /* 081250 80080650 240C0002 */ li $t4, 2 /* 081254 80080654 3C01BF80 */ lui $at, 0xbf80 /* 081258 80080658 10400006 */ beqz $v0, .L80080674 /* 08125C 8008065C 02202025 */ move $a0, $s1 /* 081260 80080660 24010001 */ li $at, 1 /* 081264 80080664 50410008 */ beql $v0, $at, .L80080688 /* 081268 80080668 3C01BFC0 */ li $at, 0xBFC00000 # -1.500000 /* 08126C 8008066C 1000000A */ b .L80080698 /* 081270 80080670 00000000 */ nop .L80080674: /* 081274 80080674 44813000 */ mtc1 $at, $f6 /* 081278 80080678 A20C00DD */ sb $t4, 0xdd($s0) /* 08127C 8008067C 10000006 */ b .L80080698 /* 081280 80080680 E6060040 */ swc1 $f6, 0x40($s0) /* 081284 80080684 3C01BFC0 */ li $at, 0xBFC00000 # -1.500000 .L80080688: /* 081288 80080688 44814000 */ mtc1 $at, $f8 /* 08128C 8008068C 240D0002 */ li $t5, 2 /* 081290 80080690 A20D00DD */ sb $t5, 0xdd($s0) /* 081294 80080694 E6080040 */ swc1 $f8, 0x40($s0) .L80080698: /* 081298 80080698 0C01C8A9 */ jal func_800722A4 /* 08129C 8008069C 24050080 */ li $a1, 128 /* 0812A0 800806A0 0C01C922 */ jal func_80072488 /* 0812A4 800806A4 02202025 */ move $a0, $s1 /* 0812A8 800806A8 8FBF0024 */ lw $ra, 0x24($sp) /* 0812AC 800806AC 8FB0001C */ lw $s0, 0x1c($sp) /* 0812B0 800806B0 8FB10020 */ lw $s1, 0x20($sp) /* 0812B4 800806B4 03E00008 */ jr $ra /* 0812B8 800806B8 27BD0028 */ addiu $sp, $sp, 0x28 glabel func_800806BC /* 0812BC 800806BC 000470C0 */ sll $t6, $a0, 3 /* 0812C0 800806C0 01C47023 */ subu $t6, $t6, $a0 /* 0812C4 800806C4 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 0812C8 800806C8 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 0812CC 800806CC 000E7140 */ sll $t6, $t6, 5 /* 0812D0 800806D0 01CF1821 */ addu $v1, $t6, $t7 /* 0812D4 800806D4 846200AE */ lh $v0, 0xae($v1) /* 0812D8 800806D8 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0812DC 800806DC AFBF0014 */ sw $ra, 0x14($sp) /* 0812E0 800806E0 10400026 */ beqz $v0, .L8008077C /* 0812E4 800806E4 00803825 */ move $a3, $a0 /* 0812E8 800806E8 24010001 */ li $at, 1 /* 0812EC 800806EC 10410006 */ beq $v0, $at, .L80080708 /* 0812F0 800806F0 24640030 */ addiu $a0, $v1, 0x30 /* 0812F4 800806F4 24010002 */ li $at, 2 /* 0812F8 800806F8 10410012 */ beq $v0, $at, .L80080744 /* 0812FC 800806FC 24640030 */ addiu $a0, $v1, 0x30 /* 081300 80080700 1000001F */ b .L80080780 /* 081304 80080704 8FBF0014 */ lw $ra, 0x14($sp) .L80080708: /* 081308 80080708 3C05437A */ lui $a1, 0x437a /* 08130C 8008070C 8C660040 */ lw $a2, 0x40($v1) /* 081310 80080710 AFA30018 */ sw $v1, 0x18($sp) /* 081314 80080714 0C0104EE */ jal func_800413B8 /* 081318 80080718 AFA70020 */ sw $a3, 0x20($sp) /* 08131C 8008071C 8FA30018 */ lw $v1, 0x18($sp) /* 081320 80080720 10400016 */ beqz $v0, .L8008077C /* 081324 80080724 8FA70020 */ lw $a3, 0x20($sp) /* 081328 80080728 C4640040 */ lwc1 $f4, 0x40($v1) /* 08132C 8008072C 00E02025 */ move $a0, $a3 /* 081330 80080730 46002187 */ neg.s $f6, $f4 /* 081334 80080734 0C021BF5 */ jal func_80086FD4 /* 081338 80080738 E4660040 */ swc1 $f6, 0x40($v1) /* 08133C 8008073C 10000010 */ b .L80080780 /* 081340 80080740 8FBF0014 */ lw $ra, 0x14($sp) .L80080744: /* 081344 80080744 24050000 */ li $a1, 0 /* 081348 80080748 8C660040 */ lw $a2, 0x40($v1) /* 08134C 8008074C AFA30018 */ sw $v1, 0x18($sp) /* 081350 80080750 0C0104EE */ jal func_800413B8 /* 081354 80080754 AFA70020 */ sw $a3, 0x20($sp) /* 081358 80080758 8FA30018 */ lw $v1, 0x18($sp) /* 08135C 8008075C 10400007 */ beqz $v0, .L8008077C /* 081360 80080760 8FA70020 */ lw $a3, 0x20($sp) /* 081364 80080764 C4680040 */ lwc1 $f8, 0x40($v1) /* 081368 80080768 00E02025 */ move $a0, $a3 /* 08136C 8008076C 24050001 */ li $a1, 1 /* 081370 80080770 46004287 */ neg.s $f10, $f8 /* 081374 80080774 0C021C07 */ jal func_8008701C /* 081378 80080778 E46A0040 */ swc1 $f10, 0x40($v1) .L8008077C: /* 08137C 8008077C 8FBF0014 */ lw $ra, 0x14($sp) .L80080780: /* 081380 80080780 27BD0020 */ addiu $sp, $sp, 0x20 /* 081384 80080784 03E00008 */ jr $ra /* 081388 80080788 00000000 */ nop glabel func_8008078C /* 08138C 8008078C 000470C0 */ sll $t6, $a0, 3 /* 081390 80080790 01C47023 */ subu $t6, $t6, $a0 /* 081394 80080794 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 081398 80080798 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 08139C 8008079C 000E7140 */ sll $t6, $t6, 5 /* 0813A0 800807A0 01CF1821 */ addu $v1, $t6, $t7 /* 0813A4 800807A4 846200AE */ lh $v0, 0xae($v1) /* 0813A8 800807A8 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0813AC 800807AC AFBF0014 */ sw $ra, 0x14($sp) /* 0813B0 800807B0 10400026 */ beqz $v0, .L8008084C /* 0813B4 800807B4 00803825 */ move $a3, $a0 /* 0813B8 800807B8 24010001 */ li $at, 1 /* 0813BC 800807BC 10410006 */ beq $v0, $at, .L800807D8 /* 0813C0 800807C0 24640030 */ addiu $a0, $v1, 0x30 /* 0813C4 800807C4 24010002 */ li $at, 2 /* 0813C8 800807C8 10410012 */ beq $v0, $at, .L80080814 /* 0813CC 800807CC 24640030 */ addiu $a0, $v1, 0x30 /* 0813D0 800807D0 1000001F */ b .L80080850 /* 0813D4 800807D4 8FBF0014 */ lw $ra, 0x14($sp) .L800807D8: /* 0813D8 800807D8 3C05C37A */ lui $a1, 0xc37a /* 0813DC 800807DC 8C660040 */ lw $a2, 0x40($v1) /* 0813E0 800807E0 AFA30018 */ sw $v1, 0x18($sp) /* 0813E4 800807E4 0C0104EE */ jal func_800413B8 /* 0813E8 800807E8 AFA70020 */ sw $a3, 0x20($sp) /* 0813EC 800807EC 8FA30018 */ lw $v1, 0x18($sp) /* 0813F0 800807F0 10400016 */ beqz $v0, .L8008084C /* 0813F4 800807F4 8FA70020 */ lw $a3, 0x20($sp) /* 0813F8 800807F8 C4640040 */ lwc1 $f4, 0x40($v1) /* 0813FC 800807FC 00E02025 */ move $a0, $a3 /* 081400 80080800 46002187 */ neg.s $f6, $f4 /* 081404 80080804 0C021BF5 */ jal func_80086FD4 /* 081408 80080808 E4660040 */ swc1 $f6, 0x40($v1) /* 08140C 8008080C 10000010 */ b .L80080850 /* 081410 80080810 8FBF0014 */ lw $ra, 0x14($sp) .L80080814: /* 081414 80080814 24050000 */ li $a1, 0 /* 081418 80080818 8C660040 */ lw $a2, 0x40($v1) /* 08141C 8008081C AFA30018 */ sw $v1, 0x18($sp) /* 081420 80080820 0C0104EE */ jal func_800413B8 /* 081424 80080824 AFA70020 */ sw $a3, 0x20($sp) /* 081428 80080828 8FA30018 */ lw $v1, 0x18($sp) /* 08142C 8008082C 10400007 */ beqz $v0, .L8008084C /* 081430 80080830 8FA70020 */ lw $a3, 0x20($sp) /* 081434 80080834 C4680040 */ lwc1 $f8, 0x40($v1) /* 081438 80080838 00E02025 */ move $a0, $a3 /* 08143C 8008083C 24050001 */ li $a1, 1 /* 081440 80080840 46004287 */ neg.s $f10, $f8 /* 081444 80080844 0C021C07 */ jal func_8008701C /* 081448 80080848 E46A0040 */ swc1 $f10, 0x40($v1) .L8008084C: /* 08144C 8008084C 8FBF0014 */ lw $ra, 0x14($sp) .L80080850: /* 081450 80080850 27BD0020 */ addiu $sp, $sp, 0x20 /* 081454 80080854 03E00008 */ jr $ra /* 081458 80080858 00000000 */ nop glabel func_8008085C /* 08145C 8008085C 000478C0 */ sll $t7, $a0, 3 /* 081460 80080860 01E47823 */ subu $t7, $t7, $a0 /* 081464 80080864 000F7940 */ sll $t7, $t7, 5 /* 081468 80080868 3C028016 */ lui $v0, %hi(D_80165CF5) # 0x8016 /* 08146C 8008086C 004F1021 */ addu $v0, $v0, $t7 /* 081470 80080870 90425CF5 */ lbu $v0, %lo(D_80165CF5)($v0) # 0x5cf5($v0) /* 081474 80080874 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 081478 80080878 24010001 */ li $at, 1 /* 08147C 8008087C AFBF0014 */ sw $ra, 0x14($sp) /* 081480 80080880 10410006 */ beq $v0, $at, .L8008089C /* 081484 80080884 AFA40018 */ sw $a0, 0x18($sp) /* 081488 80080888 24010002 */ li $at, 2 /* 08148C 8008088C 10410007 */ beq $v0, $at, .L800808AC /* 081490 80080890 00000000 */ nop /* 081494 80080894 10000007 */ b .L800808B4 /* 081498 80080898 00000000 */ nop .L8008089C: /* 08149C 8008089C 0C0201AF */ jal func_800806BC /* 0814A0 800808A0 8FA40018 */ lw $a0, 0x18($sp) /* 0814A4 800808A4 10000003 */ b .L800808B4 /* 0814A8 800808A8 00000000 */ nop .L800808AC: /* 0814AC 800808AC 0C0201E3 */ jal func_8008078C /* 0814B0 800808B0 8FA40018 */ lw $a0, 0x18($sp) .L800808B4: /* 0814B4 800808B4 0C022FC6 */ jal func_8008BF18 /* 0814B8 800808B8 8FA40018 */ lw $a0, 0x18($sp) /* 0814BC 800808BC 8FBF0014 */ lw $ra, 0x14($sp) /* 0814C0 800808C0 27BD0018 */ addiu $sp, $sp, 0x18 /* 0814C4 800808C4 03E00008 */ jr $ra /* 0814C8 800808C8 00000000 */ nop glabel func_800808CC /* 0814CC 800808CC 000478C0 */ sll $t7, $a0, 3 /* 0814D0 800808D0 01E47823 */ subu $t7, $t7, $a0 /* 0814D4 800808D4 3C188016 */ lui $t8, %hi(D_80165C18) # $t8, 0x8016 /* 0814D8 800808D8 27185C18 */ addiu $t8, %lo(D_80165C18) # addiu $t8, $t8, 0x5c18 /* 0814DC 800808DC 000F7940 */ sll $t7, $t7, 5 /* 0814E0 800808E0 01F84021 */ addu $t0, $t7, $t8 /* 0814E4 800808E4 850300A6 */ lh $v1, 0xa6($t0) /* 0814E8 800808E8 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 0814EC 800808EC AFBF001C */ sw $ra, 0x1c($sp) /* 0814F0 800808F0 AFA40028 */ sw $a0, 0x28($sp) /* 0814F4 800808F4 10600019 */ beqz $v1, .L8008095C /* 0814F8 800808F8 00601025 */ move $v0, $v1 /* 0814FC 800808FC 24010001 */ li $at, 1 /* 081500 80080900 10410006 */ beq $v0, $at, .L8008091C /* 081504 80080904 8FA40028 */ lw $a0, 0x28($sp) /* 081508 80080908 24010002 */ li $at, 2 /* 08150C 8008090C 10410008 */ beq $v0, $at, .L80080930 /* 081510 80080910 8FA40028 */ lw $a0, 0x28($sp) /* 081514 80080914 10000012 */ b .L80080960 /* 081518 80080918 28610002 */ slti $at, $v1, 2 .L8008091C: /* 08151C 8008091C 0C020149 */ jal func_80080524 /* 081520 80080920 AFA80020 */ sw $t0, 0x20($sp) /* 081524 80080924 8FA80020 */ lw $t0, 0x20($sp) /* 081528 80080928 1000000C */ b .L8008095C /* 08152C 8008092C 850300A6 */ lh $v1, 0xa6($t0) .L80080930: /* 081530 80080930 24190006 */ li $t9, 6 /* 081534 80080934 2409FFFF */ li $t1, -1 /* 081538 80080938 AFA90014 */ sw $t1, 0x14($sp) /* 08153C 8008093C AFB90010 */ sw $t9, 0x10($sp) /* 081540 80080940 24050003 */ li $a1, 3 /* 081544 80080944 24060005 */ li $a2, 5 /* 081548 80080948 24070001 */ li $a3, 1 /* 08154C 8008094C 0C01CC2F */ jal func_800730BC /* 081550 80080950 AFA80020 */ sw $t0, 0x20($sp) /* 081554 80080954 8FA80020 */ lw $t0, 0x20($sp) /* 081558 80080958 850300A6 */ lh $v1, 0xa6($t0) .L8008095C: /* 08155C 8008095C 28610002 */ slti $at, $v1, 2 .L80080960: /* 081560 80080960 14200028 */ bnez $at, .L80080A04 /* 081564 80080964 8FA40028 */ lw $a0, 0x28($sp) /* 081568 80080968 0C01F98F */ jal func_8007E63C /* 08156C 8008096C AFA80020 */ sw $t0, 0x20($sp) /* 081570 80080970 0C020217 */ jal func_8008085C /* 081574 80080974 8FA40028 */ lw $a0, 0x28($sp) /* 081578 80080978 0C01CD45 */ jal func_80073514 /* 08157C 8008097C 8FA40028 */ lw $a0, 0x28($sp) /* 081580 80080980 3C0A800E */ lui $t2, %hi(D_800DC50C) # $t2, 0x800e /* 081584 80080984 8D4AC50C */ lw $t2, %lo(D_800DC50C)($t2) /* 081588 80080988 24010009 */ li $at, 9 /* 08158C 8008098C 8FA80020 */ lw $t0, 0x20($sp) /* 081590 80080990 1141000F */ beq $t2, $at, .L800809D0 /* 081594 80080994 3C028028 */ lui $v0, %hi(D_802876D2) # $v0, 0x8028 /* 081598 80080998 3C0B8019 */ lui $t3, %hi(D_8018D40C) # $t3, 0x8019 /* 08159C 8008099C 8D6BD40C */ lw $t3, %lo(D_8018D40C)($t3) /* 0815A0 800809A0 55600019 */ bnel $t3, $zero, .L80080A08 /* 0815A4 800809A4 8FBF001C */ lw $ra, 0x1c($sp) /* 0815A8 800809A8 850C00A6 */ lh $t4, 0xa6($t0) /* 0815AC 800809AC 24010002 */ li $at, 2 /* 0815B0 800809B0 25040004 */ addiu $a0, $t0, 4 /* 0815B4 800809B4 15810013 */ bne $t4, $at, .L80080A04 /* 0815B8 800809B8 25050038 */ addiu $a1, $t0, 0x38 /* 0815BC 800809BC 3C061903 */ lui $a2, (0x19036045 >> 16) # lui $a2, 0x1903 /* 0815C0 800809C0 0C03262E */ jal func_800C98B8 /* 0815C4 800809C4 34C66045 */ ori $a2, (0x19036045 & 0xFFFF) # ori $a2, $a2, 0x6045 /* 0815C8 800809C8 1000000F */ b .L80080A08 /* 0815CC 800809CC 8FBF001C */ lw $ra, 0x1c($sp) .L800809D0: /* 0815D0 800809D0 844276D2 */ lh $v0, %lo(D_802876D2)($v0) /* 0815D4 800809D4 284100BF */ slti $at, $v0, 0xbf /* 0815D8 800809D8 1020000A */ beqz $at, .L80080A04 /* 0815DC 800809DC 24010058 */ li $at, 88 /* 0815E0 800809E0 0041001A */ div $zero, $v0, $at /* 0815E4 800809E4 00006810 */ mfhi $t5 /* 0815E8 800809E8 2401001E */ li $at, 30 /* 0815EC 800809EC 15A10005 */ bne $t5, $at, .L80080A04 /* 0815F0 800809F0 25040004 */ addiu $a0, $t0, 4 /* 0815F4 800809F4 3C061903 */ lui $a2, (0x19036045 >> 16) # lui $a2, 0x1903 /* 0815F8 800809F8 34C66045 */ ori $a2, (0x19036045 & 0xFFFF) # ori $a2, $a2, 0x6045 /* 0815FC 800809FC 0C03262E */ jal func_800C98B8 /* 081600 80080A00 25050038 */ addiu $a1, $t0, 0x38 .L80080A04: /* 081604 80080A04 8FBF001C */ lw $ra, 0x1c($sp) .L80080A08: /* 081608 80080A08 27BD0028 */ addiu $sp, $sp, 0x28 /* 08160C 80080A0C 03E00008 */ jr $ra /* 081610 80080A10 00000000 */ nop glabel func_80080A14 /* 081614 80080A14 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 081618 80080A18 AFBF0014 */ sw $ra, 0x14($sp) /* 08161C 80080A1C AFA5001C */ sw $a1, 0x1c($sp) /* 081620 80080A20 0C022296 */ jal func_80088A58 /* 081624 80080A24 3C064140 */ lui $a2, 0x4140 /* 081628 80080A28 10400004 */ beqz $v0, .L80080A3C /* 08162C 80080A2C 8FA5001C */ lw $a1, 0x1c($sp) /* 081630 80080A30 8CAE01AC */ lw $t6, 0x1ac($a1) /* 081634 80080A34 35CF0003 */ ori $t7, $t6, 3 /* 081638 80080A38 ACAF01AC */ sw $t7, 0x1ac($a1) .L80080A3C: /* 08163C 80080A3C 8FBF0014 */ lw $ra, 0x14($sp) /* 081640 80080A40 27BD0018 */ addiu $sp, $sp, 0x18 /* 081644 80080A44 03E00008 */ jr $ra /* 081648 80080A48 00000000 */ nop glabel func_80080A4C /* 08164C 80080A4C 0005C8C0 */ sll $t9, $a1, 3 /* 081650 80080A50 00057080 */ sll $t6, $a1, 2 /* 081654 80080A54 0325C823 */ subu $t9, $t9, $a1 /* 081658 80080A58 01C57023 */ subu $t6, $t6, $a1 /* 08165C 80080A5C 3C0F800E */ lui $t7, %hi(D_800DDB40) # $t7, 0x800e /* 081660 80080A60 0019C900 */ sll $t9, $t9, 4 /* 081664 80080A64 8DEFDB40 */ lw $t7, %lo(D_800DDB40)($t7) /* 081668 80080A68 000E70C0 */ sll $t6, $t6, 3 /* 08166C 80080A6C 0325C823 */ subu $t9, $t9, $a1 /* 081670 80080A70 3C09800E */ lui $t1, %hi(D_800DC530) # $t1, 0x800e /* 081674 80080A74 8D29C530 */ lw $t1, %lo(D_800DC530)($t1) /* 081678 80080A78 01C57023 */ subu $t6, $t6, $a1 /* 08167C 80080A7C 0019C880 */ sll $t9, $t9, 2 /* 081680 80080A80 3C08800E */ lui $t0, %hi(D_800DC4DC) # $t0, 0x800e /* 081684 80080A84 8D08C4DC */ lw $t0, %lo(D_800DC4DC)($t0) /* 081688 80080A88 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 08168C 80080A8C 000E70C0 */ sll $t6, $t6, 3 /* 081690 80080A90 0325C823 */ subu $t9, $t9, $a1 /* 081694 80080A94 0019C8C0 */ sll $t9, $t9, 3 /* 081698 80080A98 24010003 */ li $at, 3 /* 08169C 80080A9C 01CFC021 */ addu $t8, $t6, $t7 /* 0816A0 80080AA0 AFBF0014 */ sw $ra, 0x14($sp) /* 0816A4 80080AA4 AFA40020 */ sw $a0, 0x20($sp) /* 0816A8 80080AA8 AFB8001C */ sw $t8, 0x1c($sp) /* 0816AC 80080AAC 1121001A */ beq $t1, $at, .L80080B18 /* 0816B0 80080AB0 03283821 */ addu $a3, $t9, $t0 /* 0816B4 80080AB4 24050010 */ li $a1, 16 /* 0816B8 80080AB8 0C01C8C8 */ jal func_80072320 /* 0816BC 80080ABC AFA70018 */ sw $a3, 0x18($sp) /* 0816C0 80080AC0 10400015 */ beqz $v0, .L80080B18 /* 0816C4 80080AC4 8FA70018 */ lw $a3, 0x18($sp) /* 0816C8 80080AC8 8FA40020 */ lw $a0, 0x20($sp) /* 0816CC 80080ACC 00E02825 */ move $a1, $a3 /* 0816D0 80080AD0 0C022296 */ jal func_80088A58 /* 0816D4 80080AD4 3C0643FA */ lui $a2, 0x43fa /* 0816D8 80080AD8 50400010 */ beql $v0, $zero, .L80080B1C /* 0816DC 80080ADC 8FBF0014 */ lw $ra, 0x14($sp) /* 0816E0 80080AE0 0C007284 */ jal func_8001CA10 /* 0816E4 80080AE4 8FA4001C */ lw $a0, 0x1c($sp) /* 0816E8 80080AE8 8FAA0020 */ lw $t2, 0x20($sp) /* 0816EC 80080AEC 3C0C8016 */ lui $t4, %hi(D_80165C18) # $t4, 0x8016 /* 0816F0 80080AF0 258C5C18 */ addiu $t4, %lo(D_80165C18) # addiu $t4, $t4, 0x5c18 /* 0816F4 80080AF4 000A58C0 */ sll $t3, $t2, 3 /* 0816F8 80080AF8 016A5823 */ subu $t3, $t3, $t2 /* 0816FC 80080AFC 000B5940 */ sll $t3, $t3, 5 /* 081700 80080B00 016C1021 */ addu $v0, $t3, $t4 /* 081704 80080B04 3C061900 */ lui $a2, (0x1900800F >> 16) # lui $a2, 0x1900 /* 081708 80080B08 34C6800F */ ori $a2, (0x1900800F & 0xFFFF) # ori $a2, $a2, 0x800f /* 08170C 80080B0C 24440004 */ addiu $a0, $v0, 4 /* 081710 80080B10 0C03262E */ jal func_800C98B8 /* 081714 80080B14 24450038 */ addiu $a1, $v0, 0x38 .L80080B18: /* 081718 80080B18 8FBF0014 */ lw $ra, 0x14($sp) .L80080B1C: /* 08171C 80080B1C 27BD0020 */ addiu $sp, $sp, 0x20 /* 081720 80080B20 03E00008 */ jr $ra /* 081724 80080B24 00000000 */ nop glabel func_80080B28 /* 081728 80080B28 000578C0 */ sll $t7, $a1, 3 /* 08172C 80080B2C 01E57823 */ subu $t7, $t7, $a1 /* 081730 80080B30 27BDFFD0 */ addiu $sp, $sp, -0x30 /* 081734 80080B34 000F7900 */ sll $t7, $t7, 4 /* 081738 80080B38 01E57823 */ subu $t7, $t7, $a1 /* 08173C 80080B3C 000F7880 */ sll $t7, $t7, 2 /* 081740 80080B40 3C18800E */ lui $t8, %hi(D_800DC4DC) # $t8, 0x800e /* 081744 80080B44 8F18C4DC */ lw $t8, %lo(D_800DC4DC)($t8) /* 081748 80080B48 01E57823 */ subu $t7, $t7, $a1 /* 08174C 80080B4C AFBF0024 */ sw $ra, 0x24($sp) /* 081750 80080B50 AFB10020 */ sw $s1, 0x20($sp) /* 081754 80080B54 AFB0001C */ sw $s0, 0x1c($sp) /* 081758 80080B58 AFA50034 */ sw $a1, 0x34($sp) /* 08175C 80080B5C 000F78C0 */ sll $t7, $t7, 3 /* 081760 80080B60 00808825 */ move $s1, $a0 /* 081764 80080B64 24050200 */ li $a1, 512 /* 081768 80080B68 0C01C88F */ jal func_8007223C /* 08176C 80080B6C 01F88021 */ addu $s0, $t7, $t8 /* 081770 80080B70 50400098 */ beql $v0, $zero, .L80080DD4 /* 081774 80080B74 8FBF0024 */ lw $ra, 0x24($sp) /* 081778 80080B78 8E19000C */ lw $t9, 0xc($s0) /* 08177C 80080B7C 02202025 */ move $a0, $s1 /* 081780 80080B80 33280100 */ andi $t0, $t9, 0x100 /* 081784 80080B84 15000090 */ bnez $t0, .L80080DC8 /* 081788 80080B88 00000000 */ nop /* 08178C 80080B8C 0C0223D5 */ jal func_80088F54 /* 081790 80080B90 02002825 */ move $a1, $s0 /* 081794 80080B94 3C014022 */ li $at, 0x40220000 # 2.531250 /* 081798 80080B98 44812800 */ mtc1 $at, $f5 /* 08179C 80080B9C 44802000 */ mtc1 $zero, $f4 /* 0817A0 80080BA0 460001A1 */ cvt.d.s $f6, $f0 /* 0817A4 80080BA4 46000086 */ mov.s $f2, $f0 /* 0817A8 80080BA8 4624303E */ c.le.d $f6, $f4 /* 0817AC 80080BAC 00000000 */ nop /* 0817B0 80080BB0 4500004E */ bc1f .L80080CEC /* 0817B4 80080BB4 00000000 */ nop /* 0817B8 80080BB8 8E0900BC */ lw $t1, 0xbc($s0) /* 0817BC 80080BBC 02202025 */ move $a0, $s1 /* 0817C0 80080BC0 02002825 */ move $a1, $s0 /* 0817C4 80080BC4 00095140 */ sll $t2, $t1, 5 /* 0817C8 80080BC8 05400048 */ bltz $t2, .L80080CEC /* 0817CC 80080BCC 00000000 */ nop /* 0817D0 80080BD0 0C022346 */ jal func_80088D18 /* 0817D4 80080BD4 E7A2002C */ swc1 $f2, 0x2c($sp) /* 0817D8 80080BD8 10400044 */ beqz $v0, .L80080CEC /* 0817DC 80080BDC C7A2002C */ lwc1 $f2, 0x2c($sp) /* 0817E0 80080BE0 96020000 */ lhu $v0, ($s0) /* 0817E4 80080BE4 304B8000 */ andi $t3, $v0, 0x8000 /* 0817E8 80080BE8 11600079 */ beqz $t3, .L80080DD0 /* 0817EC 80080BEC 304C0100 */ andi $t4, $v0, 0x100 /* 0817F0 80080BF0 55800078 */ bnel $t4, $zero, .L80080DD4 /* 0817F4 80080BF4 8FBF0024 */ lw $ra, 0x24($sp) /* 0817F8 80080BF8 8E0D00BC */ lw $t5, 0xbc($s0) /* 0817FC 80080BFC 8FA50034 */ lw $a1, 0x34($sp) /* 081800 80080C00 3C063FB3 */ lui $a2, (0x3FB33333 >> 16) # lui $a2, 0x3fb3 /* 081804 80080C04 31AE0200 */ andi $t6, $t5, 0x200 /* 081808 80080C08 15C0000B */ bnez $t6, .L80080C38 /* 08180C 80080C0C 02202025 */ move $a0, $s1 /* 081810 80080C10 3C0F1900 */ lui $t7, (0x1900A04C >> 16) # lui $t7, 0x1900 /* 081814 80080C14 35EFA04C */ ori $t7, (0x1900A04C & 0xFFFF) # ori $t7, $t7, 0xa04c /* 081818 80080C18 3C073F8C */ lui $a3, (0x3F8CCCCD >> 16) # lui $a3, 0x3f8c /* 08181C 80080C1C 34E7CCCD */ ori $a3, (0x3F8CCCCD & 0xFFFF) # ori $a3, $a3, 0xcccd /* 081820 80080C20 AFAF0010 */ sw $t7, 0x10($sp) /* 081824 80080C24 02202025 */ move $a0, $s1 /* 081828 80080C28 0C02251D */ jal func_80089474 /* 08182C 80080C2C 34C63333 */ ori $a2, (0x3FB33333 & 0xFFFF) # ori $a2, $a2, 0x3333 /* 081830 80080C30 10000068 */ b .L80080DD4 /* 081834 80080C34 8FBF0024 */ lw $ra, 0x24($sp) .L80080C38: /* 081838 80080C38 0C01C8D5 */ jal func_80072354 /* 08183C 80080C3C 24050040 */ li $a1, 64 /* 081840 80080C40 50400064 */ beql $v0, $zero, .L80080DD4 /* 081844 80080C44 8FBF0024 */ lw $ra, 0x24($sp) /* 081848 80080C48 96180000 */ lhu $t8, ($s0) /* 08184C 80080C4C 3C061901 */ lui $a2, (0x1901A24A >> 16) # lui $a2, 0x1901 /* 081850 80080C50 93A40037 */ lbu $a0, 0x37($sp) /* 081854 80080C54 33191000 */ andi $t9, $t8, 0x1000 /* 081858 80080C58 13200007 */ beqz $t9, .L80080C78 /* 08185C 80080C5C 3C051901 */ lui $a1, 0x1901 /* 081860 80080C60 26040014 */ addiu $a0, $s0, 0x14 /* 081864 80080C64 26050034 */ addiu $a1, $s0, 0x34 /* 081868 80080C68 0C03262E */ jal func_800C98B8 /* 08186C 80080C6C 34C6A24A */ ori $a2, (0x1901A24A & 0xFFFF) # ori $a2, $a2, 0xa24a /* 081870 80080C70 10000003 */ b .L80080C80 /* 081874 80080C74 00000000 */ nop .L80080C78: /* 081878 80080C78 0C032418 */ jal func_800C9060 /* 08187C 80080C7C 34A5A24A */ ori $a1, $a1, 0xa24a .L80080C80: /* 081880 80080C80 0C020379 */ jal func_80080DE4 /* 081884 80080C84 02202025 */ move $a0, $s1 /* 081888 80080C88 001140C0 */ sll $t0, $s1, 3 /* 08188C 80080C8C 01114023 */ subu $t0, $t0, $s1 /* 081890 80080C90 00084140 */ sll $t0, $t0, 5 /* 081894 80080C94 3C0A8016 */ lui $t2, %hi(D_80165C18) # $t2, 0x8016 /* 081898 80080C98 254A5C18 */ addiu $t2, %lo(D_80165C18) # addiu $t2, $t2, 0x5c18 /* 08189C 80080C9C 25090004 */ addiu $t1, $t0, 4 /* 0818A0 80080CA0 3C078019 */ lui $a3, %hi(D_8018D3C4) # $a3, 0x8019 /* 0818A4 80080CA4 8CE7D3C4 */ lw $a3, %lo(D_8018D3C4)($a3) /* 0818A8 80080CA8 012A2021 */ addu $a0, $t1, $t2 /* 0818AC 80080CAC 24050003 */ li $a1, 3 /* 0818B0 80080CB0 0C01D4C1 */ jal func_80075304 /* 0818B4 80080CB4 24060003 */ li $a2, 3 /* 0818B8 80080CB8 02202025 */ move $a0, $s1 /* 0818BC 80080CBC 0C01C87A */ jal func_800721E8 /* 0818C0 80080CC0 24050200 */ li $a1, 512 /* 0818C4 80080CC4 02202025 */ move $a0, $s1 /* 0818C8 80080CC8 0C01C8A9 */ jal func_800722A4 /* 0818CC 80080CCC 24050040 */ li $a1, 64 /* 0818D0 80080CD0 0C021BD8 */ jal func_80086F60 /* 0818D4 80080CD4 02202025 */ move $a0, $s1 /* 0818D8 80080CD8 02202025 */ move $a0, $s1 /* 0818DC 80080CDC 0C01C9B3 */ jal func_800726CC /* 0818E0 80080CE0 240500C8 */ li $a1, 200 /* 0818E4 80080CE4 1000003B */ b .L80080DD4 /* 0818E8 80080CE8 8FBF0024 */ lw $ra, 0x24($sp) .L80080CEC: /* 0818EC 80080CEC 3C01800F */ lui $at, %hi(D_800EF0B0) /* 0818F0 80080CF0 D428F0B0 */ ldc1 $f8, %lo(D_800EF0B0)($at) /* 0818F4 80080CF4 460012A1 */ cvt.d.s $f10, $f2 /* 0818F8 80080CF8 02202025 */ move $a0, $s1 /* 0818FC 80080CFC 4628503E */ c.le.d $f10, $f8 /* 081900 80080D00 00000000 */ nop /* 081904 80080D04 45020033 */ bc1fl .L80080DD4 /* 081908 80080D08 8FBF0024 */ lw $ra, 0x24($sp) /* 08190C 80080D0C 0C01C8C8 */ jal func_80072320 /* 081910 80080D10 24050001 */ li $a1, 1 /* 081914 80080D14 1040002E */ beqz $v0, .L80080DD0 /* 081918 80080D18 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 /* 08191C 80080D1C C6100094 */ lwc1 $f16, 0x94($s0) /* 081920 80080D20 44812800 */ mtc1 $at, $f5 /* 081924 80080D24 44802000 */ mtc1 $zero, $f4 /* 081928 80080D28 460084A1 */ cvt.d.s $f18, $f16 /* 08192C 80080D2C 3C01401C */ li $at, 0x401C0000 # 2.437500 /* 081930 80080D30 46249182 */ mul.d $f6, $f18, $f4 /* 081934 80080D34 44814800 */ mtc1 $at, $f9 /* 081938 80080D38 44804000 */ mtc1 $zero, $f8 /* 08193C 80080D3C 02202025 */ move $a0, $s1 /* 081940 80080D40 02002825 */ move $a1, $s0 /* 081944 80080D44 46283280 */ add.d $f10, $f6, $f8 /* 081948 80080D48 46205420 */ cvt.s.d $f16, $f10 /* 08194C 80080D4C 44068000 */ mfc1 $a2, $f16 /* 081950 80080D50 0C022296 */ jal func_80088A58 /* 081954 80080D54 00000000 */ nop /* 081958 80080D58 5040001E */ beql $v0, $zero, .L80080DD4 /* 08195C 80080D5C 8FBF0024 */ lw $ra, 0x24($sp) /* 081960 80080D60 96020000 */ lhu $v0, ($s0) /* 081964 80080D64 304B8000 */ andi $t3, $v0, 0x8000 /* 081968 80080D68 11600019 */ beqz $t3, .L80080DD0 /* 08196C 80080D6C 304C0100 */ andi $t4, $v0, 0x100 /* 081970 80080D70 15800017 */ bnez $t4, .L80080DD0 /* 081974 80080D74 02202025 */ move $a0, $s1 /* 081978 80080D78 0C01C88F */ jal func_8007223C /* 08197C 80080D7C 3C050400 */ lui $a1, 0x400 /* 081980 80080D80 50400004 */ beql $v0, $zero, .L80080D94 /* 081984 80080D84 02202025 */ move $a0, $s1 /* 081988 80080D88 0C01C860 */ jal func_80072180 /* 08198C 80080D8C 00000000 */ nop /* 081990 80080D90 02202025 */ move $a0, $s1 .L80080D94: /* 081994 80080D94 0C01C8A9 */ jal func_800722A4 /* 081998 80080D98 24050002 */ li $a1, 2 /* 08199C 80080D9C 960D0046 */ lhu $t5, 0x46($s0) /* 0819A0 80080DA0 8E0F000C */ lw $t7, 0xc($s0) /* 0819A4 80080DA4 A6110040 */ sh $s1, 0x40($s0) /* 0819A8 80080DA8 35AE0002 */ ori $t6, $t5, 2 /* 0819AC 80080DAC 35F80100 */ ori $t8, $t7, 0x100 /* 0819B0 80080DB0 A60E0046 */ sh $t6, 0x46($s0) /* 0819B4 80080DB4 AE18000C */ sw $t8, 0xc($s0) /* 0819B8 80080DB8 0C0223FC */ jal func_80088FF0 /* 0819BC 80080DBC 02002025 */ move $a0, $s0 /* 0819C0 80080DC0 10000004 */ b .L80080DD4 /* 0819C4 80080DC4 8FBF0024 */ lw $ra, 0x24($sp) .L80080DC8: /* 0819C8 80080DC8 0C0223FC */ jal func_80088FF0 /* 0819CC 80080DCC 02002025 */ move $a0, $s0 .L80080DD0: /* 0819D0 80080DD0 8FBF0024 */ lw $ra, 0x24($sp) .L80080DD4: /* 0819D4 80080DD4 8FB0001C */ lw $s0, 0x1c($sp) /* 0819D8 80080DD8 8FB10020 */ lw $s1, 0x20($sp) /* 0819DC 80080DDC 03E00008 */ jr $ra /* 0819E0 80080DE0 27BD0030 */ addiu $sp, $sp, 0x30 glabel func_80080DE4 /* 0819E4 80080DE4 3C02800E */ lui $v0, %hi(D_800DC4DC) # $v0, 0x800e /* 0819E8 80080DE8 8C42C4DC */ lw $v0, %lo(D_800DC4DC)($v0) /* 0819EC 80080DEC 00001825 */ move $v1, $zero /* 0819F0 80080DF0 24070008 */ li $a3, 8 /* 0819F4 80080DF4 2406FFFF */ li $a2, -1 /* 0819F8 80080DF8 2405FEFF */ li $a1, -257 .L80080DFC: /* 0819FC 80080DFC 844E0040 */ lh $t6, 0x40($v0) /* 081A00 80080E00 24630004 */ addiu $v1, $v1, 4 /* 081A04 80080E04 548E0006 */ bnel $a0, $t6, .L80080E20 /* 081A08 80080E08 84590E18 */ lh $t9, 0xe18($v0) /* 081A0C 80080E0C 8C4F000C */ lw $t7, 0xc($v0) /* 081A10 80080E10 A4460040 */ sh $a2, 0x40($v0) /* 081A14 80080E14 01E5C024 */ and $t8, $t7, $a1 /* 081A18 80080E18 AC58000C */ sw $t8, 0xc($v0) /* 081A1C 80080E1C 84590E18 */ lh $t9, 0xe18($v0) .L80080E20: /* 081A20 80080E20 24420DD8 */ addiu $v0, $v0, 0xdd8 /* 081A24 80080E24 54990006 */ bnel $a0, $t9, .L80080E40 /* 081A28 80080E28 844A0E18 */ lh $t2, 0xe18($v0) /* 081A2C 80080E2C 8C48000C */ lw $t0, 0xc($v0) /* 081A30 80080E30 A4460040 */ sh $a2, 0x40($v0) /* 081A34 80080E34 01054824 */ and $t1, $t0, $a1 /* 081A38 80080E38 AC49000C */ sw $t1, 0xc($v0) /* 081A3C 80080E3C 844A0E18 */ lh $t2, 0xe18($v0) .L80080E40: /* 081A40 80080E40 24420DD8 */ addiu $v0, $v0, 0xdd8 /* 081A44 80080E44 548A0006 */ bnel $a0, $t2, .L80080E60 /* 081A48 80080E48 844D0E18 */ lh $t5, 0xe18($v0) /* 081A4C 80080E4C 8C4B000C */ lw $t3, 0xc($v0) /* 081A50 80080E50 A4460040 */ sh $a2, 0x40($v0) /* 081A54 80080E54 01656024 */ and $t4, $t3, $a1 /* 081A58 80080E58 AC4C000C */ sw $t4, 0xc($v0) /* 081A5C 80080E5C 844D0E18 */ lh $t5, 0xe18($v0) .L80080E60: /* 081A60 80080E60 24420DD8 */ addiu $v0, $v0, 0xdd8 /* 081A64 80080E64 148D0005 */ bne $a0, $t5, .L80080E7C /* 081A68 80080E68 00000000 */ nop /* 081A6C 80080E6C 8C4E000C */ lw $t6, 0xc($v0) /* 081A70 80080E70 A4460040 */ sh $a2, 0x40($v0) /* 081A74 80080E74 01C57824 */ and $t7, $t6, $a1 /* 081A78 80080E78 AC4F000C */ sw $t7, 0xc($v0) .L80080E7C: /* 081A7C 80080E7C 1467FFDF */ bne $v1, $a3, .L80080DFC /* 081A80 80080E80 24420DD8 */ addiu $v0, $v0, 0xdd8 /* 081A84 80080E84 03E00008 */ jr $ra /* 081A88 80080E88 00000000 */ nop glabel func_80080E8C /* 081A8C 80080E8C 27BDFFC0 */ addiu $sp, $sp, -0x40 /* 081A90 80080E90 AFBF001C */ sw $ra, 0x1c($sp) /* 081A94 80080E94 AFA50044 */ sw $a1, 0x44($sp) /* 081A98 80080E98 AFB10018 */ sw $s1, 0x18($sp) /* 081A9C 80080E9C AFB00014 */ sw $s0, 0x14($sp) /* 081AA0 80080EA0 AFA40040 */ sw $a0, 0x40($sp) /* 081AA4 80080EA4 AFA60048 */ sw $a2, 0x48($sp) /* 081AA8 80080EA8 0C01C8E9 */ jal func_800723A4 /* 081AAC 80080EAC 00C02825 */ move $a1, $a2 /* 081AB0 80080EB0 8FAE0040 */ lw $t6, 0x40($sp) /* 081AB4 80080EB4 240700E0 */ li $a3, 224 /* 081AB8 80080EB8 8FB90044 */ lw $t9, 0x44($sp) /* 081ABC 80080EBC 01C70019 */ multu $t6, $a3 /* 081AC0 80080EC0 8FA40048 */ lw $a0, 0x48($sp) /* 081AC4 80080EC4 3C058016 */ lui $a1, %hi(D_80165C18) # $a1, 0x8016 /* 081AC8 80080EC8 24A55C18 */ addiu $a1, %lo(D_80165C18) # addiu $a1, $a1, 0x5c18 /* 081ACC 80080ECC 24180002 */ li $t8, 2 /* 081AD0 80080ED0 3C0B800E */ lui $t3, %hi(D_800E594C) # $t3, 0x800e /* 081AD4 80080ED4 00044840 */ sll $t1, $a0, 1 /* 081AD8 80080ED8 00095080 */ sll $t2, $t1, 2 /* 081ADC 80080EDC 256B594C */ addiu $t3, %lo(D_800E594C) # addiu $t3, $t3, 0x594c /* 081AE0 80080EE0 014B1821 */ addu $v1, $t2, $t3 /* 081AE4 80080EE4 00007812 */ mflo $t7 /* 081AE8 80080EE8 00AF8021 */ addu $s0, $a1, $t7 /* 081AEC 80080EEC A21800D5 */ sb $t8, 0xd5($s0) /* 081AF0 80080EF0 03270019 */ multu $t9, $a3 /* 081AF4 80080EF4 C46C0004 */ lwc1 $f12, 4($v1) /* 081AF8 80080EF8 C46E0000 */ lwc1 $f14, ($v1) /* 081AFC 80080EFC AFA30024 */ sw $v1, 0x24($sp) /* 081B00 80080F00 01202025 */ move $a0, $t1 /* 081B04 80080F04 AFA90028 */ sw $t1, 0x28($sp) /* 081B08 80080F08 00004012 */ mflo $t0 /* 081B0C 80080F0C 00A81021 */ addu $v0, $a1, $t0 /* 081B10 80080F10 945100C0 */ lhu $s1, 0xc0($v0) /* 081B14 80080F14 AFA2002C */ sw $v0, 0x2c($sp) /* 081B18 80080F18 0C0105B6 */ jal func_800416D8 /* 081B1C 80080F1C 02203025 */ move $a2, $s1 /* 081B20 80080F20 8FA30024 */ lw $v1, 0x24($sp) /* 081B24 80080F24 E7A00038 */ swc1 $f0, 0x38($sp) /* 081B28 80080F28 3226FFFF */ andi $a2, $s1, 0xffff /* 081B2C 80080F2C C46C0004 */ lwc1 $f12, 4($v1) /* 081B30 80080F30 0C0105C9 */ jal func_80041724 /* 081B34 80080F34 C46E0000 */ lwc1 $f14, ($v1) /* 081B38 80080F38 8FA2002C */ lw $v0, 0x2c($sp) /* 081B3C 80080F3C 3C014022 */ li $at, 0x40220000 # 2.531250 /* 081B40 80080F40 44818800 */ mtc1 $at, $f17 /* 081B44 80080F44 C4440004 */ lwc1 $f4, 4($v0) /* 081B48 80080F48 44808000 */ mtc1 $zero, $f16 /* 081B4C 80080F4C 8FAC0028 */ lw $t4, 0x28($sp) /* 081B50 80080F50 46002180 */ add.s $f6, $f4, $f0 /* 081B54 80080F54 3C0D800E */ lui $t5, %hi(D_800E597C) # 0x800e /* 081B58 80080F58 01AC6821 */ addu $t5, $t5, $t4 /* 081B5C 80080F5C E6060010 */ swc1 $f6, 0x10($s0) /* 081B60 80080F60 C4480044 */ lwc1 $f8, 0x44($v0) /* 081B64 80080F64 460042A1 */ cvt.d.s $f10, $f8 /* 081B68 80080F68 C7A80038 */ lwc1 $f8, 0x38($sp) /* 081B6C 80080F6C 46305481 */ sub.d $f18, $f10, $f16 /* 081B70 80080F70 46209120 */ cvt.s.d $f4, $f18 /* 081B74 80080F74 E6040014 */ swc1 $f4, 0x14($s0) /* 081B78 80080F78 C446000C */ lwc1 $f6, 0xc($v0) /* 081B7C 80080F7C 46083280 */ add.s $f10, $f6, $f8 /* 081B80 80080F80 E60A0018 */ swc1 $f10, 0x18($s0) /* 081B84 80080F84 85AD597C */ lh $t5, %lo(D_800E597C)($t5) # 0x597c($t5) /* 081B88 80080F88 944E00C0 */ lhu $t6, 0xc0($v0) /* 081B8C 80080F8C 01AE8821 */ addu $s1, $t5, $t6 /* 081B90 80080F90 322FFFFF */ andi $t7, $s1, 0xffff /* 081B94 80080F94 01E08825 */ move $s1, $t7 /* 081B98 80080F98 0C0AE006 */ jal func_802B8018 /* 081B9C 80080F9C 31E4FFFF */ andi $a0, $t7, 0xffff /* 081BA0 80080FA0 3C01800F */ lui $at, %hi(D_800EF0B8) /* 081BA4 80080FA4 D432F0B8 */ ldc1 $f18, %lo(D_800EF0B8)($at) /* 081BA8 80080FA8 46000421 */ cvt.d.s $f16, $f0 /* 081BAC 80080FAC 3224FFFF */ andi $a0, $s1, 0xffff /* 081BB0 80080FB0 46328102 */ mul.d $f4, $f16, $f18 /* 081BB4 80080FB4 462021A0 */ cvt.s.d $f6, $f4 /* 081BB8 80080FB8 0C0AE00E */ jal func_802B8038 /* 081BBC 80080FBC E6060038 */ swc1 $f6, 0x38($s0) /* 081BC0 80080FC0 3C01800F */ lui $at, %hi(D_800EF0C0) /* 081BC4 80080FC4 D42AF0C0 */ ldc1 $f10, %lo(D_800EF0C0)($at) /* 081BC8 80080FC8 46000221 */ cvt.d.s $f8, $f0 /* 081BCC 80080FCC 8FBF001C */ lw $ra, 0x1c($sp) /* 081BD0 80080FD0 462A4402 */ mul.d $f16, $f8, $f10 /* 081BD4 80080FD4 8FB10018 */ lw $s1, 0x18($sp) /* 081BD8 80080FD8 462084A0 */ cvt.s.d $f18, $f16 /* 081BDC 80080FDC E6120040 */ swc1 $f18, 0x40($s0) /* 081BE0 80080FE0 8FB00014 */ lw $s0, 0x14($sp) /* 081BE4 80080FE4 03E00008 */ jr $ra /* 081BE8 80080FE8 27BD0040 */ addiu $sp, $sp, 0x40 glabel func_80080FEC /* 081BEC 80080FEC 27BDFFD0 */ addiu $sp, $sp, -0x30 /* 081BF0 80080FF0 AFB30020 */ sw $s3, 0x20($sp) /* 081BF4 80080FF4 AFB2001C */ sw $s2, 0x1c($sp) /* 081BF8 80080FF8 AFB50028 */ sw $s5, 0x28($sp) /* 081BFC 80080FFC AFB40024 */ sw $s4, 0x24($sp) /* 081C00 80081000 AFB10018 */ sw $s1, 0x18($sp) /* 081C04 80081004 AFB00014 */ sw $s0, 0x14($sp) /* 081C08 80081008 3C128019 */ lui $s2, %hi(D_8018C3F0) # $s2, 0x8019 /* 081C0C 8008100C 3C138018 */ lui $s3, %hi(D_80183E4C) # $s3, 0x8018 /* 081C10 80081010 00808825 */ move $s1, $a0 /* 081C14 80081014 AFBF002C */ sw $ra, 0x2c($sp) /* 081C18 80081018 26733E4C */ addiu $s3, %lo(D_80183E4C) # addiu $s3, $s3, 0x3e4c /* 081C1C 8008101C 2652C3F0 */ addiu $s2, %lo(D_8018C3F0) # addiu $s2, $s2, -0x3c10 /* 081C20 80081020 00008025 */ move $s0, $zero /* 081C24 80081024 2414FFFF */ li $s4, -1 /* 081C28 80081028 24150006 */ li $s5, 6 /* 081C2C 8008102C 02402025 */ move $a0, $s2 .L80081030: /* 081C30 80081030 02602825 */ move $a1, $s3 /* 081C34 80081034 0C01C811 */ jal func_80072044 /* 081C38 80081038 24060080 */ li $a2, 128 /* 081C3C 8008103C 10540007 */ beq $v0, $s4, .L8008105C /* 081C40 80081040 00402025 */ move $a0, $v0 /* 081C44 80081044 02202825 */ move $a1, $s1 /* 081C48 80081048 0C0203A3 */ jal func_80080E8C /* 081C4C 8008104C 02003025 */ move $a2, $s0 /* 081C50 80081050 26100001 */ addiu $s0, $s0, 1 /* 081C54 80081054 5615FFF6 */ bnel $s0, $s5, .L80081030 /* 081C58 80081058 02402025 */ move $a0, $s2 .L8008105C: /* 081C5C 8008105C 8FBF002C */ lw $ra, 0x2c($sp) /* 081C60 80081060 8FB00014 */ lw $s0, 0x14($sp) /* 081C64 80081064 8FB10018 */ lw $s1, 0x18($sp) /* 081C68 80081068 8FB2001C */ lw $s2, 0x1c($sp) /* 081C6C 8008106C 8FB30020 */ lw $s3, 0x20($sp) /* 081C70 80081070 8FB40024 */ lw $s4, 0x24($sp) /* 081C74 80081074 8FB50028 */ lw $s5, 0x28($sp) /* 081C78 80081078 03E00008 */ jr $ra /* 081C7C 8008107C 27BD0030 */ addiu $sp, $sp, 0x30 glabel func_80081080 /* 081C80 80081080 000470C0 */ sll $t6, $a0, 3 /* 081C84 80081084 01C47023 */ subu $t6, $t6, $a0 /* 081C88 80081088 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 081C8C 8008108C 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 081C90 80081090 000E7140 */ sll $t6, $t6, 5 /* 081C94 80081094 3C038019 */ lui $v1, %hi(D_8018D490) # $v1, 0x8019 /* 081C98 80081098 8C63D490 */ lw $v1, %lo(D_8018D490)($v1) /* 081C9C 8008109C 01CF1021 */ addu $v0, $t6, $t7 /* 081CA0 800810A0 44800000 */ mtc1 $zero, $f0 /* 081CA4 800810A4 3C013E80 */ li $at, 0x3E800000 # 0.250000 /* 081CA8 800810A8 44812000 */ mtc1 $at, $f4 /* 081CAC 800810AC 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 081CB0 800810B0 AFBF0014 */ sw $ra, 0x14($sp) /* 081CB4 800810B4 241800FF */ li $t8, 255 /* 081CB8 800810B8 A45800A0 */ sh $t8, 0xa0($v0) /* 081CBC 800810BC A44000C0 */ sh $zero, 0xc0($v0) /* 081CC0 800810C0 A44000B2 */ sh $zero, 0xb2($v0) /* 081CC4 800810C4 A44000B6 */ sh $zero, 0xb6($v0) /* 081CC8 800810C8 AC430064 */ sw $v1, 0x64($v0) /* 081CCC 800810CC AC43006C */ sw $v1, 0x6c($v0) /* 081CD0 800810D0 E4400028 */ swc1 $f0, 0x28($v0) /* 081CD4 800810D4 E440002C */ swc1 $f0, 0x2c($v0) /* 081CD8 800810D8 E4400030 */ swc1 $f0, 0x30($v0) /* 081CDC 800810DC 0C01C922 */ jal func_80072488 /* 081CE0 800810E0 E4440000 */ swc1 $f4, ($v0) /* 081CE4 800810E4 8FBF0014 */ lw $ra, 0x14($sp) /* 081CE8 800810E8 27BD0018 */ addiu $sp, $sp, 0x18 /* 081CEC 800810EC 03E00008 */ jr $ra /* 081CF0 800810F0 00000000 */ nop glabel func_800810F4 /* 081CF4 800810F4 000470C0 */ sll $t6, $a0, 3 /* 081CF8 800810F8 01C47023 */ subu $t6, $t6, $a0 /* 081CFC 800810FC 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 081D00 80081100 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 081D04 80081104 000E7140 */ sll $t6, $t6, 5 /* 081D08 80081108 01CF1821 */ addu $v1, $t6, $t7 /* 081D0C 8008110C 846200A6 */ lh $v0, 0xa6($v1) /* 081D10 80081110 27BDFFC8 */ addiu $sp, $sp, -0x38 /* 081D14 80081114 AFB00028 */ sw $s0, 0x28($sp) /* 081D18 80081118 00808025 */ move $s0, $a0 /* 081D1C 8008111C 10400033 */ beqz $v0, .L800811EC /* 081D20 80081120 AFBF002C */ sw $ra, 0x2c($sp) /* 081D24 80081124 24010001 */ li $at, 1 /* 081D28 80081128 10410008 */ beq $v0, $at, .L8008114C /* 081D2C 8008112C 24010002 */ li $at, 2 /* 081D30 80081130 1041000A */ beq $v0, $at, .L8008115C /* 081D34 80081134 02002025 */ move $a0, $s0 /* 081D38 80081138 24010003 */ li $at, 3 /* 081D3C 8008113C 10410029 */ beq $v0, $at, .L800811E4 /* 081D40 80081140 00000000 */ nop /* 081D44 80081144 10000029 */ b .L800811EC /* 081D48 80081148 00000000 */ nop .L8008114C: /* 081D4C 8008114C 0C020420 */ jal func_80081080 /* 081D50 80081150 02002025 */ move $a0, $s0 /* 081D54 80081154 10000025 */ b .L800811EC /* 081D58 80081158 00000000 */ nop .L8008115C: /* 081D5C 8008115C 0C021DD7 */ jal func_8008775C /* 081D60 80081160 AFA30030 */ sw $v1, 0x30($sp) /* 081D64 80081164 8FA40030 */ lw $a0, 0x30($sp) /* 081D68 80081168 3C054160 */ lui $a1, 0x4160 /* 081D6C 8008116C 3C063F00 */ lui $a2, 0x3f00 /* 081D70 80081170 0C0103B8 */ jal func_80040EE0 /* 081D74 80081174 2484002C */ addiu $a0, $a0, 0x2c /* 081D78 80081178 3C01800F */ lui $at, %hi(D_800EF0C8) # $at, 0x800f /* 081D7C 8008117C C424F0C8 */ lwc1 $f4, %lo(D_800EF0C8)($at) /* 081D80 80081180 24180001 */ li $t8, 1 /* 081D84 80081184 AFB80014 */ sw $t8, 0x14($sp) /* 081D88 80081188 02002025 */ move $a0, $s0 /* 081D8C 8008118C 8FA50030 */ lw $a1, 0x30($sp) /* 081D90 80081190 3C063E80 */ lui $a2, 0x3e80 /* 081D94 80081194 3C073F40 */ lui $a3, 0x3f40 /* 081D98 80081198 AFA00018 */ sw $zero, 0x18($sp) /* 081D9C 8008119C 0C01D057 */ jal func_8007415C /* 081DA0 800811A0 E7A40010 */ swc1 $f4, 0x10($sp) /* 081DA4 800811A4 8FA50030 */ lw $a1, 0x30($sp) /* 081DA8 800811A8 24190004 */ li $t9, 4 /* 081DAC 800811AC AFB90010 */ sw $t9, 0x10($sp) /* 081DB0 800811B0 02002025 */ move $a0, $s0 /* 081DB4 800811B4 240600FF */ li $a2, 255 /* 081DB8 800811B8 00003825 */ move $a3, $zero /* 081DBC 800811BC AFA00014 */ sw $zero, 0x14($sp) /* 081DC0 800811C0 AFA00018 */ sw $zero, 0x18($sp) /* 081DC4 800811C4 0C01CEC0 */ jal func_80073B00 /* 081DC8 800811C8 24A500A0 */ addiu $a1, $a1, 0xa0 /* 081DCC 800811CC 10400007 */ beqz $v0, .L800811EC /* 081DD0 800811D0 00000000 */ nop /* 081DD4 800811D4 0C01C922 */ jal func_80072488 /* 081DD8 800811D8 02002025 */ move $a0, $s0 /* 081DDC 800811DC 10000003 */ b .L800811EC /* 081DE0 800811E0 00000000 */ nop .L800811E4: /* 081DE4 800811E4 0C01C90A */ jal func_80072428 /* 081DE8 800811E8 02002025 */ move $a0, $s0 .L800811EC: /* 081DEC 800811EC 0C022FC6 */ jal func_8008BF18 /* 081DF0 800811F0 02002025 */ move $a0, $s0 /* 081DF4 800811F4 8FBF002C */ lw $ra, 0x2c($sp) /* 081DF8 800811F8 8FB00028 */ lw $s0, 0x28($sp) /* 081DFC 800811FC 27BD0038 */ addiu $sp, $sp, 0x38 /* 081E00 80081200 03E00008 */ jr $ra /* 081E04 80081204 00000000 */ nop glabel func_80081208 /* 081E08 80081208 03E00008 */ jr $ra /* 081E0C 8008120C 00000000 */ nop glabel func_80081210 /* 081E10 80081210 27BDFFC0 */ addiu $sp, $sp, -0x40 /* 081E14 80081214 3C028016 */ lui $v0, %hi(D_80165834) # $v0, 0x8016 /* 081E18 80081218 24425834 */ addiu $v0, %lo(D_80165834) # addiu $v0, $v0, 0x5834 /* 081E1C 8008121C AFBE0038 */ sw $fp, 0x38($sp) /* 081E20 80081220 3C1E8016 */ lui $fp, %hi(D_80165750) # $fp, 0x8016 /* 081E24 80081224 944E0000 */ lhu $t6, ($v0) /* 081E28 80081228 94580002 */ lhu $t8, 2($v0) /* 081E2C 8008122C 27DE5750 */ addiu $fp, %lo(D_80165750) # addiu $fp, $fp, 0x5750 /* 081E30 80081230 87C80000 */ lh $t0, ($fp) /* 081E34 80081234 AFB40028 */ sw $s4, 0x28($sp) /* 081E38 80081238 25CF0100 */ addiu $t7, $t6, 0x100 /* 081E3C 8008123C 27190200 */ addiu $t9, $t8, 0x200 /* 081E40 80081240 AFBF003C */ sw $ra, 0x3c($sp) /* 081E44 80081244 AFB70034 */ sw $s7, 0x34($sp) /* 081E48 80081248 AFB60030 */ sw $s6, 0x30($sp) /* 081E4C 8008124C AFB5002C */ sw $s5, 0x2c($sp) /* 081E50 80081250 AFB30024 */ sw $s3, 0x24($sp) /* 081E54 80081254 AFB20020 */ sw $s2, 0x20($sp) /* 081E58 80081258 AFB1001C */ sw $s1, 0x1c($sp) /* 081E5C 8008125C AFB00018 */ sw $s0, 0x18($sp) /* 081E60 80081260 A44F0000 */ sh $t7, ($v0) /* 081E64 80081264 A4590002 */ sh $t9, 2($v0) /* 081E68 80081268 19000010 */ blez $t0, .L800812AC /* 081E6C 8008126C 0000A025 */ move $s4, $zero /* 081E70 80081270 3C128018 */ lui $s2, %hi(D_80183EA0) # $s2, 0x8018 /* 081E74 80081274 26523EA0 */ addiu $s2, %lo(D_80183EA0) # addiu $s2, $s2, 0x3ea0 /* 081E78 80081278 8E500000 */ lw $s0, ($s2) .L8008127C: /* 081E7C 8008127C 24050010 */ li $a1, 16 /* 081E80 80081280 0C01C8B3 */ jal func_800722CC /* 081E84 80081284 02002025 */ move $a0, $s0 /* 081E88 80081288 0C022933 */ jal func_8008A4CC /* 081E8C 8008128C 02002025 */ move $a0, $s0 /* 081E90 80081290 87C90000 */ lh $t1, ($fp) /* 081E94 80081294 26940001 */ addiu $s4, $s4, 1 /* 081E98 80081298 26520004 */ addiu $s2, $s2, 4 /* 081E9C 8008129C 0289082A */ slt $at, $s4, $t1 /* 081EA0 800812A0 5420FFF6 */ bnel $at, $zero, .L8008127C /* 081EA4 800812A4 8E500000 */ lw $s0, ($s2) /* 081EA8 800812A8 0000A025 */ move $s4, $zero .L800812AC: /* 081EAC 800812AC 0C01FE36 */ jal func_8007F8D8 /* 081EB0 800812B0 00000000 */ nop /* 081EB4 800812B4 87C20000 */ lh $v0, ($fp) /* 081EB8 800812B8 3C128018 */ lui $s2, %hi(D_80183EA0) # $s2, 0x8018 /* 081EBC 800812BC 26523EA0 */ addiu $s2, %lo(D_80183EA0) # addiu $s2, $s2, 0x3ea0 /* 081EC0 800812C0 18400031 */ blez $v0, .L80081388 /* 081EC4 800812C4 00000000 */ nop .L800812C8: /* 081EC8 800812C8 8E500000 */ lw $s0, ($s2) /* 081ECC 800812CC 3C0B8016 */ lui $t3, %hi(D_80165C18) # $t3, 0x8016 /* 081ED0 800812D0 256B5C18 */ addiu $t3, %lo(D_80165C18) # addiu $t3, $t3, 0x5c18 /* 081ED4 800812D4 001050C0 */ sll $t2, $s0, 3 /* 081ED8 800812D8 01505023 */ subu $t2, $t2, $s0 /* 081EDC 800812DC 000A5140 */ sll $t2, $t2, 5 /* 081EE0 800812E0 014B8821 */ addu $s1, $t2, $t3 /* 081EE4 800812E4 862C00A6 */ lh $t4, 0xa6($s1) /* 081EE8 800812E8 51800023 */ beql $t4, $zero, .L80081378 /* 081EEC 800812EC 26940001 */ addiu $s4, $s4, 1 /* 081EF0 800812F0 922D00D5 */ lbu $t5, 0xd5($s1) /* 081EF4 800812F4 25AEFFFF */ addiu $t6, $t5, -1 /* 081EF8 800812F8 2DC10006 */ sltiu $at, $t6, 6 /* 081EFC 800812FC 1020001D */ beqz $at, .L80081374 /* 081F00 80081300 000E7080 */ sll $t6, $t6, 2 /* 081F04 80081304 3C01800F */ lui $at, %hi(D_800EF0CC) /* 081F08 80081308 002E0821 */ addu $at, $at, $t6 /* 081F0C 8008130C 8C2EF0CC */ lw $t6, %lo(D_800EF0CC)($at) /* 081F10 80081310 01C00008 */ jr $t6 /* 081F14 80081314 00000000 */ nop glabel L80081318 /* 081F18 80081318 0C01FB5B */ jal func_8007ED6C /* 081F1C 8008131C 02002025 */ move $a0, $s0 /* 081F20 80081320 10000014 */ b .L80081374 /* 081F24 80081324 87C20000 */ lh $v0, ($fp) glabel L80081328 /* 081F28 80081328 0C01FD6A */ jal func_8007F5A8 /* 081F2C 8008132C 02002025 */ move $a0, $s0 /* 081F30 80081330 10000010 */ b .L80081374 /* 081F34 80081334 87C20000 */ lh $v0, ($fp) glabel L80081338 /* 081F38 80081338 0C01FFF0 */ jal func_8007FFC0 /* 081F3C 8008133C 02002025 */ move $a0, $s0 /* 081F40 80081340 1000000C */ b .L80081374 /* 081F44 80081344 87C20000 */ lh $v0, ($fp) glabel L80081348 /* 081F48 80081348 0C02007F */ jal func_800801FC /* 081F4C 8008134C 02002025 */ move $a0, $s0 /* 081F50 80081350 10000008 */ b .L80081374 /* 081F54 80081354 87C20000 */ lh $v0, ($fp) glabel L80081358 /* 081F58 80081358 0C020102 */ jal func_80080408 /* 081F5C 8008135C 02002025 */ move $a0, $s0 /* 081F60 80081360 10000004 */ b .L80081374 /* 081F64 80081364 87C20000 */ lh $v0, ($fp) glabel L80081368 /* 081F68 80081368 0C020233 */ jal func_800808CC /* 081F6C 8008136C 02002025 */ move $a0, $s0 /* 081F70 80081370 87C20000 */ lh $v0, ($fp) .L80081374: /* 081F74 80081374 26940001 */ addiu $s4, $s4, 1 .L80081378: /* 081F78 80081378 0282082A */ slt $at, $s4, $v0 /* 081F7C 8008137C 1420FFD2 */ bnez $at, .L800812C8 /* 081F80 80081380 26520004 */ addiu $s2, $s2, 4 /* 081F84 80081384 0000A025 */ move $s4, $zero .L80081388: /* 081F88 80081388 3C13800E */ lui $s3, %hi(D_800DC4DC) # $s3, 0x800e /* 081F8C 8008138C 8E73C4DC */ lw $s3, %lo(D_800DC4DC)($s3) /* 081F90 80081390 3C170001 */ lui $s7, 1 /* 081F94 80081394 3C160002 */ lui $s6, 2 /* 081F98 80081398 3C158000 */ lui $s5, 0x8000 .L8008139C: /* 081F9C 8008139C 8E6F01AC */ lw $t7, 0x1ac($s3) /* 081FA0 800813A0 96790046 */ lhu $t9, 0x46($s3) /* 081FA4 800813A4 2401FFFC */ li $at, -4 /* 081FA8 800813A8 01E1C024 */ and $t8, $t7, $at /* 081FAC 800813AC 3328FFF9 */ andi $t0, $t9, 0xfff9 /* 081FB0 800813B0 AE7801AC */ sw $t8, 0x1ac($s3) /* 081FB4 800813B4 A6680046 */ sh $t0, 0x46($s3) /* 081FB8 800813B8 87C90000 */ lh $t1, ($fp) /* 081FBC 800813BC 3C118018 */ lui $s1, %hi(D_80183EA0) # $s1, 0x8018 /* 081FC0 800813C0 26313EA0 */ addiu $s1, %lo(D_80183EA0) # addiu $s1, $s1, 0x3ea0 /* 081FC4 800813C4 1920001C */ blez $t1, .L80081438 /* 081FC8 800813C8 00009025 */ move $s2, $zero /* 081FCC 800813CC 8E6A00BC */ lw $t2, 0xbc($s3) .L800813D0: /* 081FD0 800813D0 8E300000 */ lw $s0, ($s1) /* 081FD4 800813D4 01555824 */ and $t3, $t2, $s5 /* 081FD8 800813D8 15600003 */ bnez $t3, .L800813E8 /* 081FDC 800813DC 02002025 */ move $a0, $s0 /* 081FE0 800813E0 0C0202CA */ jal func_80080B28 /* 081FE4 800813E4 02802825 */ move $a1, $s4 .L800813E8: /* 081FE8 800813E8 02002025 */ move $a0, $s0 /* 081FEC 800813EC 0C01C88F */ jal func_8007223C /* 081FF0 800813F0 02C02825 */ move $a1, $s6 /* 081FF4 800813F4 10400003 */ beqz $v0, .L80081404 /* 081FF8 800813F8 02002025 */ move $a0, $s0 /* 081FFC 800813FC 0C020285 */ jal func_80080A14 /* 082000 80081400 02602825 */ move $a1, $s3 .L80081404: /* 082004 80081404 02002025 */ move $a0, $s0 /* 082008 80081408 0C01C88F */ jal func_8007223C /* 08200C 8008140C 02E02825 */ move $a1, $s7 /* 082010 80081410 10400003 */ beqz $v0, .L80081420 /* 082014 80081414 02002025 */ move $a0, $s0 /* 082018 80081418 0C020293 */ jal func_80080A4C /* 08201C 8008141C 02802825 */ move $a1, $s4 .L80081420: /* 082020 80081420 87CC0000 */ lh $t4, ($fp) /* 082024 80081424 26520001 */ addiu $s2, $s2, 1 /* 082028 80081428 26310004 */ addiu $s1, $s1, 4 /* 08202C 8008142C 024C082A */ slt $at, $s2, $t4 /* 082030 80081430 5420FFE7 */ bnel $at, $zero, .L800813D0 /* 082034 80081434 8E6A00BC */ lw $t2, 0xbc($s3) .L80081438: /* 082038 80081438 26940001 */ addiu $s4, $s4, 1 /* 08203C 8008143C 2A810008 */ slti $at, $s4, 8 /* 082040 80081440 1420FFD6 */ bnez $at, .L8008139C /* 082044 80081444 26730DD8 */ addiu $s3, $s3, 0xdd8 /* 082048 80081448 0C01D50B */ jal func_8007542C /* 08204C 8008144C 24040003 */ li $a0, 3 /* 082050 80081450 87CD0000 */ lh $t5, ($fp) /* 082054 80081454 0000A025 */ move $s4, $zero /* 082058 80081458 19A00012 */ blez $t5, .L800814A4 /* 08205C 8008145C 3C128018 */ lui $s2, %hi(D_80183EA0) # $s2, 0x8018 /* 082060 80081460 26523EA0 */ addiu $s2, %lo(D_80183EA0) # addiu $s2, $s2, 0x3ea0 /* 082064 80081464 8E500000 */ lw $s0, ($s2) .L80081468: /* 082068 80081468 24050020 */ li $a1, 32 /* 08206C 8008146C 0C01C8C8 */ jal func_80072320 /* 082070 80081470 02002025 */ move $a0, $s0 /* 082074 80081474 10400005 */ beqz $v0, .L8008148C /* 082078 80081478 02002025 */ move $a0, $s0 /* 08207C 8008147C 0C01C8B3 */ jal func_800722CC /* 082080 80081480 24050020 */ li $a1, 32 /* 082084 80081484 0C0203FB */ jal func_80080FEC /* 082088 80081488 02002025 */ move $a0, $s0 .L8008148C: /* 08208C 8008148C 87CE0000 */ lh $t6, ($fp) /* 082090 80081490 26940001 */ addiu $s4, $s4, 1 /* 082094 80081494 26520004 */ addiu $s2, $s2, 4 /* 082098 80081498 028E082A */ slt $at, $s4, $t6 /* 08209C 8008149C 5420FFF2 */ bnel $at, $zero, .L80081468 /* 0820A0 800814A0 8E500000 */ lw $s0, ($s2) .L800814A4: /* 0820A4 800814A4 3C128019 */ lui $s2, %hi(D_8018C3F0) # $s2, 0x8019 /* 0820A8 800814A8 3C148019 */ lui $s4, %hi(D_8018C5F0) # $s4, 0x8019 /* 0820AC 800814AC 2694C5F0 */ addiu $s4, %lo(D_8018C5F0) # addiu $s4, $s4, -0x3a10 /* 0820B0 800814B0 2652C3F0 */ addiu $s2, %lo(D_8018C3F0) # addiu $s2, $s2, -0x3c10 /* 0820B4 800814B4 2413FFFF */ li $s3, -1 /* 0820B8 800814B8 8E500000 */ lw $s0, ($s2) .L800814BC: /* 0820BC 800814BC 3C188016 */ lui $t8, %hi(D_80165C18) # $t8, 0x8016 /* 0820C0 800814C0 27185C18 */ addiu $t8, %lo(D_80165C18) # addiu $t8, $t8, 0x5c18 /* 0820C4 800814C4 1213000E */ beq $s0, $s3, .L80081500 /* 0820C8 800814C8 001078C0 */ sll $t7, $s0, 3 /* 0820CC 800814CC 01F07823 */ subu $t7, $t7, $s0 /* 0820D0 800814D0 000F7940 */ sll $t7, $t7, 5 /* 0820D4 800814D4 01F88821 */ addu $s1, $t7, $t8 /* 0820D8 800814D8 863900A6 */ lh $t9, 0xa6($s1) /* 0820DC 800814DC 53200009 */ beql $t9, $zero, .L80081504 /* 0820E0 800814E0 26520004 */ addiu $s2, $s2, 4 /* 0820E4 800814E4 0C02043D */ jal func_800810F4 /* 0820E8 800814E8 02002025 */ move $a0, $s0 /* 0820EC 800814EC 862800A6 */ lh $t0, 0xa6($s1) /* 0820F0 800814F0 55000004 */ bnel $t0, $zero, .L80081504 /* 0820F4 800814F4 26520004 */ addiu $s2, $s2, 4 /* 0820F8 800814F8 0C01C840 */ jal func_80072100 /* 0820FC 800814FC 02402025 */ move $a0, $s2 .L80081500: /* 082100 80081500 26520004 */ addiu $s2, $s2, 4 .L80081504: /* 082104 80081504 5654FFED */ bnel $s2, $s4, .L800814BC /* 082108 80081508 8E500000 */ lw $s0, ($s2) /* 08210C 8008150C 8FBF003C */ lw $ra, 0x3c($sp) /* 082110 80081510 8FB00018 */ lw $s0, 0x18($sp) /* 082114 80081514 8FB1001C */ lw $s1, 0x1c($sp) /* 082118 80081518 8FB20020 */ lw $s2, 0x20($sp) /* 08211C 8008151C 8FB30024 */ lw $s3, 0x24($sp) /* 082120 80081520 8FB40028 */ lw $s4, 0x28($sp) /* 082124 80081524 8FB5002C */ lw $s5, 0x2c($sp) /* 082128 80081528 8FB60030 */ lw $s6, 0x30($sp) /* 08212C 8008152C 8FB70034 */ lw $s7, 0x34($sp) /* 082130 80081530 8FBE0038 */ lw $fp, 0x38($sp) /* 082134 80081534 03E00008 */ jr $ra /* 082138 80081538 27BD0040 */ addiu $sp, $sp, 0x40 glabel func_8008153C /* 08213C 8008153C 27BDFF80 */ addiu $sp, $sp, -0x80 /* 082140 80081540 3C0E800E */ lui $t6, %hi(gPlayerCountSelection1) # $t6, 0x800e /* 082144 80081544 8DCEC538 */ lw $t6, %lo(gPlayerCountSelection1)($t6) /* 082148 80081548 24010001 */ li $at, 1 /* 08214C 8008154C AFBF006C */ sw $ra, 0x6c($sp) /* 082150 80081550 AFBE0068 */ sw $fp, 0x68($sp) /* 082154 80081554 AFB70064 */ sw $s7, 0x64($sp) /* 082158 80081558 AFB60060 */ sw $s6, 0x60($sp) /* 08215C 8008155C AFB5005C */ sw $s5, 0x5c($sp) /* 082160 80081560 AFB40058 */ sw $s4, 0x58($sp) /* 082164 80081564 AFB30054 */ sw $s3, 0x54($sp) /* 082168 80081568 AFB20050 */ sw $s2, 0x50($sp) /* 08216C 8008156C AFB1004C */ sw $s1, 0x4c($sp) /* 082170 80081570 AFB00048 */ sw $s0, 0x48($sp) /* 082174 80081574 F7BE0040 */ sdc1 $f30, 0x40($sp) /* 082178 80081578 F7BC0038 */ sdc1 $f28, 0x38($sp) /* 08217C 8008157C F7BA0030 */ sdc1 $f26, 0x30($sp) /* 082180 80081580 F7B80028 */ sdc1 $f24, 0x28($sp) /* 082184 80081584 F7B60020 */ sdc1 $f22, 0x20($sp) /* 082188 80081588 F7B40018 */ sdc1 $f20, 0x18($sp) /* 08218C 8008158C 15C10004 */ bne $t6, $at, .L800815A0 /* 082190 80081590 AFA40080 */ sw $a0, 0x80($sp) /* 082194 80081594 240F0008 */ li $t7, 8 /* 082198 80081598 10000003 */ b .L800815A8 /* 08219C 8008159C AFAF0070 */ sw $t7, 0x70($sp) .L800815A0: /* 0821A0 800815A0 24180004 */ li $t8, 4 /* 0821A4 800815A4 AFB80070 */ sw $t8, 0x70($sp) .L800815A8: /* 0821A8 800815A8 8FB90070 */ lw $t9, 0x70($sp) /* 0821AC 800815AC 0000B825 */ move $s7, $zero /* 0821B0 800815B0 3C01800F */ lui $at, %hi(D_800EF0E4) # $at, 0x800f /* 0821B4 800815B4 1B200064 */ blez $t9, .L80081748 /* 0821B8 800815B8 3C1E0601 */ lui $fp, %hi(D_06013670) # $fp, 0x601 /* 0821BC 800815BC C43EF0E4 */ lwc1 $f30, %lo(D_800EF0E4)($at) /* 0821C0 800815C0 3C01402A */ li $at, 0x402A0000 # 2.656250 /* 0821C4 800815C4 4481E800 */ mtc1 $at, $f29 /* 0821C8 800815C8 3C01800F */ lui $at, %hi(D_800EF0E8) /* 0821CC 800815CC D43AF0E8 */ ldc1 $f26, %lo(D_800EF0E8)($at) /* 0821D0 800815D0 3C01800F */ lui $at, %hi(D_800EF0F0) /* 0821D4 800815D4 D438F0F0 */ ldc1 $f24, %lo(D_800EF0F0)($at) /* 0821D8 800815D8 3C01800F */ lui $at, %hi(D_800EF0F8) /* 0821DC 800815DC D436F0F8 */ ldc1 $f22, %lo(D_800EF0F8)($at) /* 0821E0 800815E0 3C01800F */ lui $at, %hi(D_800EF100) /* 0821E4 800815E4 3C128016 */ lui $s2, %hi(D_80165C18) # $s2, 0x8016 /* 0821E8 800815E8 4480E000 */ mtc1 $zero, $f28 /* 0821EC 800815EC 26525C18 */ addiu $s2, %lo(D_80165C18) # addiu $s2, $s2, 0x5c18 /* 0821F0 800815F0 D434F100 */ ldc1 $f20, %lo(D_800EF100)($at) /* 0821F4 800815F4 27DE3670 */ addiu $fp, %lo(D_06013670) # addiu $fp, $fp, 0x3670 /* 0821F8 800815F8 24140080 */ li $s4, 128 /* 0821FC 800815FC 241300E0 */ li $s3, 224 .L80081600: /* 082200 80081600 3C028019 */ lui $v0, %hi(D_8018C3F0) # $v0, 0x8019 /* 082204 80081604 2442C3F0 */ addiu $v0, %lo(D_8018C3F0) # addiu $v0, $v0, -0x3c10 /* 082208 80081608 00008825 */ move $s1, $zero .L8008160C: /* 08220C 8008160C 8C440000 */ lw $a0, ($v0) /* 082210 80081610 00930019 */ multu $a0, $s3 /* 082214 80081614 00004012 */ mflo $t0 /* 082218 80081618 02488021 */ addu $s0, $s2, $t0 /* 08221C 8008161C 860900A6 */ lh $t1, 0xa6($s0) /* 082220 80081620 55200043 */ bnel $t1, $zero, .L80081730 /* 082224 80081624 26310001 */ addiu $s1, $s1, 1 /* 082228 80081628 8FAA0070 */ lw $t2, 0x70($sp) /* 08222C 8008162C 3C0B0001 */ lui $t3, 1 /* 082230 80081630 8FAC0080 */ lw $t4, 0x80($sp) /* 082234 80081634 016A001A */ div $zero, $t3, $t2 /* 082238 80081638 000C68C0 */ sll $t5, $t4, 3 /* 08223C 8008163C 01AC6823 */ subu $t5, $t5, $t4 /* 082240 80081640 000D6940 */ sll $t5, $t5, 5 /* 082244 80081644 0000B012 */ mflo $s6 /* 082248 80081648 024DA821 */ addu $s5, $s2, $t5 /* 08224C 8008164C 00002825 */ move $a1, $zero /* 082250 80081650 15400002 */ bnez $t2, .L8008165C /* 082254 80081654 00000000 */ nop /* 082258 80081658 0007000D */ break 7 .L8008165C: /* 08225C 8008165C 2401FFFF */ li $at, -1 /* 082260 80081660 15410004 */ bne $t2, $at, .L80081674 /* 082264 80081664 3C018000 */ lui $at, 0x8000 /* 082268 80081668 15610002 */ bne $t3, $at, .L80081674 /* 08226C 8008166C 00000000 */ nop /* 082270 80081670 0006000D */ break 6 .L80081674: /* 082274 80081674 0C01C8E9 */ jal func_800723A4 /* 082278 80081678 00000000 */ nop /* 08227C 8008167C AE1E0060 */ sw $fp, 0x60($s0) /* 082280 80081680 AE1E0068 */ sw $fp, 0x68($s0) /* 082284 80081684 E61E0000 */ swc1 $f30, ($s0) /* 082288 80081688 0C0ADF8D */ jal random_int /* 08228C 8008168C 2404000A */ li $a0, 10 /* 082290 80081690 44822000 */ mtc1 $v0, $f4 /* 082294 80081694 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 /* 082298 80081698 04410004 */ bgez $v0, .L800816AC /* 08229C 8008169C 468021A0 */ cvt.s.w $f6, $f4 /* 0822A0 800816A0 44814000 */ mtc1 $at, $f8 /* 0822A4 800816A4 00000000 */ nop /* 0822A8 800816A8 46083180 */ add.s $f6, $f6, $f8 .L800816AC: /* 0822AC 800816AC 460032A1 */ cvt.d.s $f10, $f6 /* 0822B0 800816B0 24040005 */ li $a0, 5 /* 0822B4 800816B4 46345402 */ mul.d $f16, $f10, $f20 /* 0822B8 800816B8 46368480 */ add.d $f18, $f16, $f22 /* 0822BC 800816BC 46209120 */ cvt.s.d $f4, $f18 /* 0822C0 800816C0 0C0ADF8D */ jal random_int /* 0822C4 800816C4 E604003C */ swc1 $f4, 0x3c($s0) /* 0822C8 800816C8 44824000 */ mtc1 $v0, $f8 /* 0822CC 800816CC 04410005 */ bgez $v0, .L800816E4 /* 0822D0 800816D0 468041A0 */ cvt.s.w $f6, $f8 /* 0822D4 800816D4 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 /* 0822D8 800816D8 44815000 */ mtc1 $at, $f10 /* 0822DC 800816DC 00000000 */ nop /* 0822E0 800816E0 460A3180 */ add.s $f6, $f6, $f10 .L800816E4: /* 0822E4 800816E4 46003421 */ cvt.d.s $f16, $f6 /* 0822E8 800816E8 02D10019 */ multu $s6, $s1 /* 0822EC 800816EC 46388482 */ mul.d $f18, $f16, $f24 /* 0822F0 800816F0 463A9100 */ add.d $f4, $f18, $f26 /* 0822F4 800816F4 00007012 */ mflo $t6 /* 0822F8 800816F8 A60E00B4 */ sh $t6, 0xb4($s0) /* 0822FC 800816FC 46202220 */ cvt.s.d $f8, $f4 /* 082300 80081700 E6080034 */ swc1 $f8, 0x34($s0) /* 082304 80081704 C6AA0010 */ lwc1 $f10, 0x10($s5) /* 082308 80081708 E60A0010 */ swc1 $f10, 0x10($s0) /* 08230C 8008170C C6A60014 */ lwc1 $f6, 0x14($s5) /* 082310 80081710 46003421 */ cvt.d.s $f16, $f6 /* 082314 80081714 463C8481 */ sub.d $f18, $f16, $f28 /* 082318 80081718 46209120 */ cvt.s.d $f4, $f18 /* 08231C 8008171C E6040014 */ swc1 $f4, 0x14($s0) /* 082320 80081720 C6A80018 */ lwc1 $f8, 0x18($s5) /* 082324 80081724 10000004 */ b .L80081738 /* 082328 80081728 E6080018 */ swc1 $f8, 0x18($s0) /* 08232C 8008172C 26310001 */ addiu $s1, $s1, 1 .L80081730: /* 082330 80081730 1634FFB6 */ bne $s1, $s4, .L8008160C /* 082334 80081734 24420004 */ addiu $v0, $v0, 4 .L80081738: /* 082338 80081738 8FAF0070 */ lw $t7, 0x70($sp) /* 08233C 8008173C 26F70001 */ addiu $s7, $s7, 1 /* 082340 80081740 16EFFFAF */ bne $s7, $t7, .L80081600 /* 082344 80081744 00000000 */ nop .L80081748: /* 082348 80081748 8FBF006C */ lw $ra, 0x6c($sp) /* 08234C 8008174C D7B40018 */ ldc1 $f20, 0x18($sp) /* 082350 80081750 D7B60020 */ ldc1 $f22, 0x20($sp) /* 082354 80081754 D7B80028 */ ldc1 $f24, 0x28($sp) /* 082358 80081758 D7BA0030 */ ldc1 $f26, 0x30($sp) /* 08235C 8008175C D7BC0038 */ ldc1 $f28, 0x38($sp) /* 082360 80081760 D7BE0040 */ ldc1 $f30, 0x40($sp) /* 082364 80081764 8FB00048 */ lw $s0, 0x48($sp) /* 082368 80081768 8FB1004C */ lw $s1, 0x4c($sp) /* 08236C 8008176C 8FB20050 */ lw $s2, 0x50($sp) /* 082370 80081770 8FB30054 */ lw $s3, 0x54($sp) /* 082374 80081774 8FB40058 */ lw $s4, 0x58($sp) /* 082378 80081778 8FB5005C */ lw $s5, 0x5c($sp) /* 08237C 8008177C 8FB60060 */ lw $s6, 0x60($sp) /* 082380 80081780 8FB70064 */ lw $s7, 0x64($sp) /* 082384 80081784 8FBE0068 */ lw $fp, 0x68($sp) /* 082388 80081788 03E00008 */ jr $ra /* 08238C 8008178C 27BD0080 */ addiu $sp, $sp, 0x80 glabel func_80081790 /* 082390 80081790 000470C0 */ sll $t6, $a0, 3 /* 082394 80081794 01C47023 */ subu $t6, $t6, $a0 /* 082398 80081798 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 08239C 8008179C 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 0823A0 800817A0 000E7140 */ sll $t6, $t6, 5 /* 0823A4 800817A4 01CF1021 */ addu $v0, $t6, $t7 /* 0823A8 800817A8 844300A6 */ lh $v1, 0xa6($v0) /* 0823AC 800817AC 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 0823B0 800817B0 AFB00020 */ sw $s0, 0x20($sp) /* 0823B4 800817B4 00808025 */ move $s0, $a0 /* 0823B8 800817B8 1060001E */ beqz $v1, .L80081834 /* 0823BC 800817BC AFBF0024 */ sw $ra, 0x24($sp) /* 0823C0 800817C0 24010001 */ li $at, 1 /* 0823C4 800817C4 10610006 */ beq $v1, $at, .L800817E0 /* 0823C8 800817C8 02002025 */ move $a0, $s0 /* 0823CC 800817CC 24010002 */ li $at, 2 /* 0823D0 800817D0 10610014 */ beq $v1, $at, .L80081824 /* 0823D4 800817D4 00000000 */ nop /* 0823D8 800817D8 10000017 */ b .L80081838 /* 0823DC 800817DC 8FBF0024 */ lw $ra, 0x24($sp) .L800817E0: /* 0823E0 800817E0 945800B4 */ lhu $t8, 0xb4($v0) /* 0823E4 800817E4 3C063E99 */ lui $a2, (0x3E99999A >> 16) # lui $a2, 0x3e99 /* 0823E8 800817E8 24190032 */ li $t9, 50 /* 0823EC 800817EC AFB90014 */ sw $t9, 0x14($sp) /* 0823F0 800817F0 34C6999A */ ori $a2, (0x3E99999A & 0xFFFF) # ori $a2, $a2, 0x999a /* 0823F4 800817F4 8C45003C */ lw $a1, 0x3c($v0) /* 0823F8 800817F8 8C470034 */ lw $a3, 0x34($v0) /* 0823FC 800817FC 0C021F82 */ jal func_80087E08 /* 082400 80081800 AFB80010 */ sw $t8, 0x10($sp) /* 082404 80081804 10400003 */ beqz $v0, .L80081814 /* 082408 80081808 00000000 */ nop /* 08240C 8008180C 0C01C922 */ jal func_80072488 /* 082410 80081810 02002025 */ move $a0, $s0 .L80081814: /* 082414 80081814 0C022FC6 */ jal func_8008BF18 /* 082418 80081818 02002025 */ move $a0, $s0 /* 08241C 8008181C 10000006 */ b .L80081838 /* 082420 80081820 8FBF0024 */ lw $ra, 0x24($sp) .L80081824: /* 082424 80081824 0C01C90A */ jal func_80072428 /* 082428 80081828 02002025 */ move $a0, $s0 /* 08242C 8008182C 0C021BD8 */ jal func_80086F60 /* 082430 80081830 02002025 */ move $a0, $s0 .L80081834: /* 082434 80081834 8FBF0024 */ lw $ra, 0x24($sp) .L80081838: /* 082438 80081838 8FB00020 */ lw $s0, 0x20($sp) /* 08243C 8008183C 27BD0028 */ addiu $sp, $sp, 0x28 /* 082440 80081840 03E00008 */ jr $ra /* 082444 80081844 00000000 */ nop glabel func_80081848 /* 082448 80081848 27BDFFD0 */ addiu $sp, $sp, -0x30 /* 08244C 8008184C AFBF0024 */ sw $ra, 0x24($sp) /* 082450 80081850 AFB00020 */ sw $s0, 0x20($sp) /* 082454 80081854 3C050601 */ lui $a1, %hi(D_0600FC70) # $a1, 0x601 /* 082458 80081858 3C060601 */ lui $a2, %hi(D_0600FE70) # $a2, 0x601 /* 08245C 8008185C 240E0040 */ li $t6, 64 /* 082460 80081860 00808025 */ move $s0, $a0 /* 082464 80081864 AFAE0010 */ sw $t6, 0x10($sp) /* 082468 80081868 24C6FE70 */ addiu $a2, %lo(D_0600FE70) # addiu $a2, $a2, -0x190 /* 08246C 8008186C 24A5FC70 */ addiu $a1, %lo(D_0600FC70) # addiu $a1, $a1, -0x390 /* 082470 80081870 0C01CD11 */ jal func_80073444 /* 082474 80081874 24070020 */ li $a3, 32 /* 082478 80081878 44800000 */ mtc1 $zero, $f0 /* 08247C 8008187C 001078C0 */ sll $t7, $s0, 3 /* 082480 80081880 01F07823 */ subu $t7, $t7, $s0 /* 082484 80081884 3C188016 */ lui $t8, %hi(D_80165C18) # $t8, 0x8016 /* 082488 80081888 27185C18 */ addiu $t8, %lo(D_80165C18) # addiu $t8, $t8, 0x5c18 /* 08248C 8008188C 000F7940 */ sll $t7, $t7, 5 /* 082490 80081890 3C01800F */ lui $at, %hi(D_800EF108) # $at, 0x800f /* 082494 80081894 C424F108 */ lwc1 $f4, %lo(D_800EF108)($at) /* 082498 80081898 01F81021 */ addu $v0, $t7, $t8 /* 08249C 8008189C 44050000 */ mfc1 $a1, $f0 /* 0824A0 800818A0 44060000 */ mfc1 $a2, $f0 /* 0824A4 800818A4 44070000 */ mfc1 $a3, $f0 /* 0824A8 800818A8 A04000D2 */ sb $zero, 0xd2($v0) /* 0824AC 800818AC AFA2002C */ sw $v0, 0x2c($sp) /* 0824B0 800818B0 02002025 */ move $a0, $s0 /* 0824B4 800818B4 0C022E03 */ jal func_8008B80C /* 0824B8 800818B8 E4440000 */ swc1 $f4, ($v0) /* 0824BC 800818BC 02002025 */ move $a0, $s0 /* 0824C0 800818C0 00002825 */ move $a1, $zero /* 0824C4 800818C4 00003025 */ move $a2, $zero /* 0824C8 800818C8 0C022E22 */ jal func_8008B888 /* 0824CC 800818CC 00003825 */ move $a3, $zero /* 0824D0 800818D0 02002025 */ move $a0, $s0 /* 0824D4 800818D4 00002825 */ move $a1, $zero /* 0824D8 800818D8 00003025 */ move $a2, $zero /* 0824DC 800818DC 0C022E2F */ jal func_8008B8BC /* 0824E0 800818E0 34078000 */ li $a3, 32768 /* 0824E4 800818E4 8FA2002C */ lw $v0, 0x2c($sp) /* 0824E8 800818E8 3C014080 */ li $at, 0x40800000 # 4.000000 /* 0824EC 800818EC 44813000 */ mtc1 $at, $f6 /* 0824F0 800818F0 24190006 */ li $t9, 6 /* 0824F4 800818F4 02002025 */ move $a0, $s0 /* 0824F8 800818F8 3C050400 */ lui $a1, 0x400 /* 0824FC 800818FC A45900C8 */ sh $t9, 0xc8($v0) /* 082500 80081900 0C01C870 */ jal func_800721C0 /* 082504 80081904 E446003C */ swc1 $f6, 0x3c($v0) /* 082508 80081908 0C01C922 */ jal func_80072488 /* 08250C 8008190C 02002025 */ move $a0, $s0 /* 082510 80081910 8FBF0024 */ lw $ra, 0x24($sp) /* 082514 80081914 8FB00020 */ lw $s0, 0x20($sp) /* 082518 80081918 27BD0030 */ addiu $sp, $sp, 0x30 /* 08251C 8008191C 03E00008 */ jr $ra /* 082520 80081920 00000000 */ nop glabel func_80081924 /* 082524 80081924 000470C0 */ sll $t6, $a0, 3 /* 082528 80081928 01C47023 */ subu $t6, $t6, $a0 /* 08252C 8008192C 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 082530 80081930 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 082534 80081934 000E7140 */ sll $t6, $t6, 5 /* 082538 80081938 01CF1021 */ addu $v0, $t6, $t7 /* 08253C 8008193C 945800AE */ lhu $t8, 0xae($v0) /* 082540 80081940 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 082544 80081944 AFB00018 */ sw $s0, 0x18($sp) /* 082548 80081948 2F01000B */ sltiu $at, $t8, 0xb /* 08254C 8008194C 00808025 */ move $s0, $a0 /* 082550 80081950 10200048 */ beqz $at, .L80081A74 /* 082554 80081954 AFBF001C */ sw $ra, 0x1c($sp) /* 082558 80081958 0018C080 */ sll $t8, $t8, 2 /* 08255C 8008195C 3C01800F */ lui $at, %hi(D_800EF10C) /* 082560 80081960 00380821 */ addu $at, $at, $t8 /* 082564 80081964 8C38F10C */ lw $t8, %lo(D_800EF10C)($at) /* 082568 80081968 03000008 */ jr $t8 /* 08256C 8008196C 00000000 */ nop glabel L80081970 /* 082570 80081970 3C063F33 */ lui $a2, (0x3F333333 >> 16) # lui $a2, 0x3f33 /* 082574 80081974 34C63333 */ ori $a2, (0x3F333333 & 0xFFFF) # ori $a2, $a2, 0x3333 /* 082578 80081978 2444002C */ addiu $a0, $v0, 0x2c /* 08257C 8008197C 0C0103B8 */ jal func_80040EE0 /* 082580 80081980 3C054110 */ lui $a1, 0x4110 /* 082584 80081984 5040003C */ beql $v0, $zero, .L80081A78 /* 082588 80081988 8FBF001C */ lw $ra, 0x1c($sp) /* 08258C 8008198C 0C021BF5 */ jal func_80086FD4 /* 082590 80081990 02002025 */ move $a0, $s0 /* 082594 80081994 10000038 */ b .L80081A78 /* 082598 80081998 8FBF001C */ lw $ra, 0x1c($sp) glabel L8008199C /* 08259C 8008199C 02002025 */ move $a0, $s0 /* 0825A0 800819A0 0C021C6B */ jal func_800871AC /* 0825A4 800819A4 2405000A */ li $a1, 10 /* 0825A8 800819A8 10000033 */ b .L80081A78 /* 0825AC 800819AC 8FBF001C */ lw $ra, 0x1c($sp) glabel L800819B0 /* 0825B0 800819B0 2444002C */ addiu $a0, $v0, 0x2c /* 0825B4 800819B4 3C054040 */ lui $a1, 0x4040 /* 0825B8 800819B8 0C0103CB */ jal func_80040F2C /* 0825BC 800819BC 3C063F80 */ lui $a2, 0x3f80 /* 0825C0 800819C0 5040002D */ beql $v0, $zero, .L80081A78 /* 0825C4 800819C4 8FBF001C */ lw $ra, 0x1c($sp) /* 0825C8 800819C8 0C021BD8 */ jal func_80086F60 /* 0825CC 800819CC 02002025 */ move $a0, $s0 /* 0825D0 800819D0 10000029 */ b .L80081A78 /* 0825D4 800819D4 8FBF001C */ lw $ra, 0x1c($sp) glabel L800819D8 /* 0825D8 800819D8 3C054066 */ lui $a1, (0x40666666 >> 16) # lui $a1, 0x4066 /* 0825DC 800819DC 34A56666 */ ori $a1, (0x40666666 & 0xFFFF) # ori $a1, $a1, 0x6666 /* 0825E0 800819E0 02002025 */ move $a0, $s0 /* 0825E4 800819E4 3C063E80 */ lui $a2, 0x3e80 /* 0825E8 800819E8 0C021F49 */ jal func_80087D24 /* 0825EC 800819EC 24070000 */ li $a3, 0 /* 0825F0 800819F0 10000021 */ b .L80081A78 /* 0825F4 800819F4 8FBF001C */ lw $ra, 0x1c($sp) glabel L800819F8 /* 0825F8 800819F8 0C021BD8 */ jal func_80086F60 /* 0825FC 800819FC 02002025 */ move $a0, $s0 /* 082600 80081A00 1000001D */ b .L80081A78 /* 082604 80081A04 8FBF001C */ lw $ra, 0x1c($sp) glabel L80081A08 /* 082608 80081A08 945900B6 */ lhu $t9, 0xb6($v0) /* 08260C 80081A0C C444003C */ lwc1 $f4, 0x3c($v0) /* 082610 80081A10 3C01800F */ lui $at, %hi(D_800EF138) /* 082614 80081A14 27281000 */ addiu $t0, $t9, 0x1000 /* 082618 80081A18 A44800B6 */ sh $t0, 0xb6($v0) /* 08261C 80081A1C D428F138 */ ldc1 $f8, %lo(D_800EF138)($at) /* 082620 80081A20 460021A1 */ cvt.d.s $f6, $f4 /* 082624 80081A24 02002025 */ move $a0, $s0 /* 082628 80081A28 46283281 */ sub.d $f10, $f6, $f8 /* 08262C 80081A2C AFA20024 */ sw $v0, 0x24($sp) /* 082630 80081A30 46205420 */ cvt.s.d $f16, $f10 /* 082634 80081A34 0C021D47 */ jal func_8008751C /* 082638 80081A38 E450003C */ swc1 $f16, 0x3c($v0) /* 08263C 80081A3C 0C021DC4 */ jal func_80087710 /* 082640 80081A40 02002025 */ move $a0, $s0 /* 082644 80081A44 8FA20024 */ lw $v0, 0x24($sp) /* 082648 80081A48 3C01C024 */ li $at, 0xC0240000 # -2.562500 /* 08264C 80081A4C 44819800 */ mtc1 $at, $f19 /* 082650 80081A50 C4440008 */ lwc1 $f4, 8($v0) /* 082654 80081A54 44809000 */ mtc1 $zero, $f18 /* 082658 80081A58 460021A1 */ cvt.d.s $f6, $f4 /* 08265C 80081A5C 4632303E */ c.le.d $f6, $f18 /* 082660 80081A60 00000000 */ nop /* 082664 80081A64 45020004 */ bc1fl .L80081A78 /* 082668 80081A68 8FBF001C */ lw $ra, 0x1c($sp) /* 08266C 80081A6C 0C021BD8 */ jal func_80086F60 /* 082670 80081A70 02002025 */ move $a0, $s0 .L80081A74: glabel L80081A74 /* 082674 80081A74 8FBF001C */ lw $ra, 0x1c($sp) .L80081A78: /* 082678 80081A78 8FB00018 */ lw $s0, 0x18($sp) /* 08267C 80081A7C 27BD0028 */ addiu $sp, $sp, 0x28 /* 082680 80081A80 03E00008 */ jr $ra /* 082684 80081A84 00000000 */ nop glabel func_80081A88 /* 082688 80081A88 000478C0 */ sll $t7, $a0, 3 /* 08268C 80081A8C 01E47823 */ subu $t7, $t7, $a0 /* 082690 80081A90 000F7940 */ sll $t7, $t7, 5 /* 082694 80081A94 3C028016 */ lui $v0, %hi(D_80165CF5) # 0x8016 /* 082698 80081A98 004F1021 */ addu $v0, $v0, $t7 /* 08269C 80081A9C 90425CF5 */ lbu $v0, %lo(D_80165CF5)($v0) # 0x5cf5($v0) /* 0826A0 80081AA0 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0826A4 80081AA4 AFBF0014 */ sw $ra, 0x14($sp) /* 0826A8 80081AA8 1040000E */ beqz $v0, .L80081AE4 /* 0826AC 80081AAC AFA40018 */ sw $a0, 0x18($sp) /* 0826B0 80081AB0 24010001 */ li $at, 1 /* 0826B4 80081AB4 10410005 */ beq $v0, $at, .L80081ACC /* 0826B8 80081AB8 24010002 */ li $at, 2 /* 0826BC 80081ABC 10410007 */ beq $v0, $at, .L80081ADC /* 0826C0 80081AC0 00000000 */ nop /* 0826C4 80081AC4 10000007 */ b .L80081AE4 /* 0826C8 80081AC8 00000000 */ nop .L80081ACC: /* 0826CC 80081ACC 0C022DC9 */ jal func_8008B724 /* 0826D0 80081AD0 8FA40018 */ lw $a0, 0x18($sp) /* 0826D4 80081AD4 10000003 */ b .L80081AE4 /* 0826D8 80081AD8 00000000 */ nop .L80081ADC: /* 0826DC 80081ADC 0C020649 */ jal func_80081924 /* 0826E0 80081AE0 8FA40018 */ lw $a0, 0x18($sp) .L80081AE4: /* 0826E4 80081AE4 0C022FC6 */ jal func_8008BF18 /* 0826E8 80081AE8 8FA40018 */ lw $a0, 0x18($sp) /* 0826EC 80081AEC 8FBF0014 */ lw $ra, 0x14($sp) /* 0826F0 80081AF0 27BD0018 */ addiu $sp, $sp, 0x18 /* 0826F4 80081AF4 03E00008 */ jr $ra /* 0826F8 80081AF8 00000000 */ nop glabel func_80081AFC /* 0826FC 80081AFC 000470C0 */ sll $t6, $a0, 3 /* 082700 80081B00 27BDFFD0 */ addiu $sp, $sp, -0x30 /* 082704 80081B04 01C47023 */ subu $t6, $t6, $a0 /* 082708 80081B08 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 08270C 80081B0C AFB0001C */ sw $s0, 0x1c($sp) /* 082710 80081B10 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 082714 80081B14 000E7140 */ sll $t6, $t6, 5 /* 082718 80081B18 01CF8021 */ addu $s0, $t6, $t7 /* 08271C 80081B1C 860300A6 */ lh $v1, 0xa6($s0) /* 082720 80081B20 AFB10020 */ sw $s1, 0x20($sp) /* 082724 80081B24 00808825 */ move $s1, $a0 /* 082728 80081B28 2861000B */ slti $at, $v1, 0xb /* 08272C 80081B2C AFBF0024 */ sw $ra, 0x24($sp) /* 082730 80081B30 00A03025 */ move $a2, $a1 /* 082734 80081B34 14200006 */ bnez $at, .L80081B50 /* 082738 80081B38 00601025 */ move $v0, $v1 /* 08273C 80081B3C 24010064 */ li $at, 100 /* 082740 80081B40 50410051 */ beql $v0, $at, .L80081C88 /* 082744 80081B44 860C00AE */ lh $t4, 0xae($s0) /* 082748 80081B48 10000071 */ b .L80081D10 /* 08274C 80081B4C 28610002 */ slti $at, $v1, 2 .L80081B50: /* 082750 80081B50 2C41000B */ sltiu $at, $v0, 0xb /* 082754 80081B54 1020006D */ beqz $at, .L80081D0C /* 082758 80081B58 0002C080 */ sll $t8, $v0, 2 /* 08275C 80081B5C 3C01800F */ lui $at, %hi(D_800EF140) /* 082760 80081B60 00380821 */ addu $at, $at, $t8 /* 082764 80081B64 8C38F140 */ lw $t8, %lo(D_800EF140)($at) /* 082768 80081B68 03000008 */ jr $t8 /* 08276C 80081B6C 00000000 */ nop glabel L80081B70 /* 082770 80081B70 0C020612 */ jal func_80081848 /* 082774 80081B74 02202025 */ move $a0, $s1 /* 082778 80081B78 10000064 */ b .L80081D0C /* 08277C 80081B7C 860300A6 */ lh $v1, 0xa6($s0) glabel L80081B80 /* 082780 80081B80 8E02004C */ lw $v0, 0x4c($s0) /* 082784 80081B84 02202025 */ move $a0, $s1 /* 082788 80081B88 24050002 */ li $a1, 2 /* 08278C 80081B8C 1440000A */ bnez $v0, .L80081BB8 /* 082790 80081B90 2459FFFF */ addiu $t9, $v0, -1 /* 082794 80081B94 0C021BAB */ jal func_80086EAC /* 082798 80081B98 24060001 */ li $a2, 1 /* 08279C 80081B9C 0C01C922 */ jal func_80072488 /* 0827A0 80081BA0 02202025 */ move $a0, $s1 /* 0827A4 80081BA4 02202025 */ move $a0, $s1 /* 0827A8 80081BA8 0C01C870 */ jal func_800721C0 /* 0827AC 80081BAC 24050200 */ li $a1, 512 /* 0827B0 80081BB0 10000002 */ b .L80081BBC /* 0827B4 80081BB4 00000000 */ nop .L80081BB8: /* 0827B8 80081BB8 AE19004C */ sw $t9, 0x4c($s0) .L80081BBC: /* 0827BC 80081BBC 10000053 */ b .L80081D0C /* 0827C0 80081BC0 860300A6 */ lh $v1, 0xa6($s0) glabel L80081BC4 /* 0827C4 80081BC4 860800AE */ lh $t0, 0xae($s0) /* 0827C8 80081BC8 02202025 */ move $a0, $s1 /* 0827CC 80081BCC 24050002 */ li $a1, 2 /* 0827D0 80081BD0 5500004F */ bnel $t0, $zero, .L80081D10 /* 0827D4 80081BD4 28610002 */ slti $at, $v1, 2 /* 0827D8 80081BD8 0C021BAB */ jal func_80086EAC /* 0827DC 80081BDC 24060004 */ li $a2, 4 /* 0827E0 80081BE0 0C02054F */ jal func_8008153C /* 0827E4 80081BE4 02202025 */ move $a0, $s1 /* 0827E8 80081BE8 0C01C922 */ jal func_80072488 /* 0827EC 80081BEC 02202025 */ move $a0, $s1 /* 0827F0 80081BF0 3C061901 */ lui $a2, (0x19018007 >> 16) # lui $a2, 0x1901 /* 0827F4 80081BF4 34C68007 */ ori $a2, (0x19018007 & 0xFFFF) # ori $a2, $a2, 0x8007 /* 0827F8 80081BF8 26040004 */ addiu $a0, $s0, 4 /* 0827FC 80081BFC 0C03262E */ jal func_800C98B8 /* 082800 80081C00 26050038 */ addiu $a1, $s0, 0x38 /* 082804 80081C04 10000041 */ b .L80081D0C /* 082808 80081C08 860300A6 */ lh $v1, 0xa6($s0) glabel L80081C0C /* 08280C 80081C0C 24090002 */ li $t1, 2 /* 082810 80081C10 AFA90010 */ sw $t1, 0x10($sp) /* 082814 80081C14 02202025 */ move $a0, $s1 /* 082818 80081C18 24050001 */ li $a1, 1 /* 08281C 80081C1C 24060006 */ li $a2, 6 /* 082820 80081C20 24070001 */ li $a3, 1 /* 082824 80081C24 0C01CB95 */ jal func_80072E54 /* 082828 80081C28 AFA00014 */ sw $zero, 0x14($sp) /* 08282C 80081C2C 10400003 */ beqz $v0, .L80081C3C /* 082830 80081C30 02202025 */ move $a0, $s1 /* 082834 80081C34 0C01C9B3 */ jal func_800726CC /* 082838 80081C38 24050064 */ li $a1, 100 .L80081C3C: /* 08283C 80081C3C 10000033 */ b .L80081D0C /* 082840 80081C40 860300A6 */ lh $v1, 0xa6($s0) glabel L80081C44 /* 082844 80081C44 240AFFFF */ li $t2, -1 /* 082848 80081C48 AFAA0014 */ sw $t2, 0x14($sp) /* 08284C 80081C4C 02202025 */ move $a0, $s1 /* 082850 80081C50 24050001 */ li $a1, 1 /* 082854 80081C54 24060006 */ li $a2, 6 /* 082858 80081C58 24070001 */ li $a3, 1 /* 08285C 80081C5C 0C01CB95 */ jal func_80072E54 /* 082860 80081C60 AFA00010 */ sw $zero, 0x10($sp) /* 082864 80081C64 860B00AE */ lh $t3, 0xae($s0) /* 082868 80081C68 02202025 */ move $a0, $s1 /* 08286C 80081C6C 15600003 */ bnez $t3, .L80081C7C /* 082870 80081C70 00000000 */ nop /* 082874 80081C74 0C01C9B3 */ jal func_800726CC /* 082878 80081C78 24050064 */ li $a1, 100 .L80081C7C: /* 08287C 80081C7C 10000023 */ b .L80081D0C /* 082880 80081C80 860300A6 */ lh $v1, 0xa6($s0) /* 082884 80081C84 860C00AE */ lh $t4, 0xae($s0) .L80081C88: /* 082888 80081C88 02202025 */ move $a0, $s1 /* 08288C 80081C8C 24050200 */ li $a1, 512 /* 082890 80081C90 5580001F */ bnel $t4, $zero, .L80081D10 /* 082894 80081C94 28610002 */ slti $at, $v1, 2 /* 082898 80081C98 0C01C87A */ jal func_800721E8 /* 08289C 80081C9C AFA60034 */ sw $a2, 0x34($sp) /* 0828A0 80081CA0 0C01C90A */ jal func_80072428 /* 0828A4 80081CA4 02202025 */ move $a0, $s1 /* 0828A8 80081CA8 8FA60034 */ lw $a2, 0x34($sp) /* 0828AC 80081CAC 24010001 */ li $at, 1 /* 0828B0 80081CB0 3C0D8019 */ lui $t5, %hi(D_8018D198) # $t5, 0x8019 /* 0828B4 80081CB4 10C10009 */ beq $a2, $at, .L80081CDC /* 0828B8 80081CB8 25ADD198 */ addiu $t5, %lo(D_8018D198) # addiu $t5, $t5, -0x2e68 /* 0828BC 80081CBC 24010002 */ li $at, 2 /* 0828C0 80081CC0 10C10008 */ beq $a2, $at, .L80081CE4 /* 0828C4 80081CC4 3C0E8019 */ lui $t6, %hi(D_8018D1A8) # $t6, 0x8019 /* 0828C8 80081CC8 24010003 */ li $at, 3 /* 0828CC 80081CCC 10C10008 */ beq $a2, $at, .L80081CF0 /* 0828D0 80081CD0 3C0F8019 */ lui $t7, %hi(D_8018D1B8) # $t7, 0x8019 /* 0828D4 80081CD4 10000009 */ b .L80081CFC /* 0828D8 80081CD8 8FB8002C */ lw $t8, 0x2c($sp) .L80081CDC: /* 0828DC 80081CDC 10000006 */ b .L80081CF8 /* 0828E0 80081CE0 AFAD002C */ sw $t5, 0x2c($sp) .L80081CE4: /* 0828E4 80081CE4 25CED1A8 */ addiu $t6, %lo(D_8018D1A8) # addiu $t6, $t6, -0x2e58 /* 0828E8 80081CE8 10000003 */ b .L80081CF8 /* 0828EC 80081CEC AFAE002C */ sw $t6, 0x2c($sp) .L80081CF0: /* 0828F0 80081CF0 25EFD1B8 */ addiu $t7, %lo(D_8018D1B8) # addiu $t7, $t7, -0x2e48 /* 0828F4 80081CF4 AFAF002C */ sw $t7, 0x2c($sp) .L80081CF8: /* 0828F8 80081CF8 8FB8002C */ lw $t8, 0x2c($sp) .L80081CFC: /* 0828FC 80081CFC 861900A4 */ lh $t9, 0xa4($s0) /* 082900 80081D00 03194021 */ addu $t0, $t8, $t9 /* 082904 80081D04 A1000000 */ sb $zero, ($t0) /* 082908 80081D08 860300A6 */ lh $v1, 0xa6($s0) .L80081D0C: glabel L80081D0C /* 08290C 80081D0C 28610002 */ slti $at, $v1, 2 .L80081D10: /* 082910 80081D10 54200004 */ bnel $at, $zero, .L80081D24 /* 082914 80081D14 8FBF0024 */ lw $ra, 0x24($sp) /* 082918 80081D18 0C01CD45 */ jal func_80073514 /* 08291C 80081D1C 02202025 */ move $a0, $s1 /* 082920 80081D20 8FBF0024 */ lw $ra, 0x24($sp) .L80081D24: /* 082924 80081D24 8FB0001C */ lw $s0, 0x1c($sp) /* 082928 80081D28 8FB10020 */ lw $s1, 0x20($sp) /* 08292C 80081D2C 03E00008 */ jr $ra /* 082930 80081D30 27BD0030 */ addiu $sp, $sp, 0x30 glabel func_80081D34 /* 082934 80081D34 27BDFF90 */ addiu $sp, $sp, -0x70 /* 082938 80081D38 3C0E8019 */ lui $t6, %hi(D_8018D158) # $t6, 0x8019 /* 08293C 80081D3C 8DCED158 */ lw $t6, %lo(D_8018D158)($t6) /* 082940 80081D40 AFB40058 */ sw $s4, 0x58($sp) /* 082944 80081D44 AFB1004C */ sw $s1, 0x4c($sp) /* 082948 80081D48 AFB5005C */ sw $s5, 0x5c($sp) /* 08294C 80081D4C AFB30054 */ sw $s3, 0x54($sp) /* 082950 80081D50 AFB20050 */ sw $s2, 0x50($sp) /* 082954 80081D54 3C11800E */ lui $s1, %hi(D_800DC4DC) # $s1, 0x800e /* 082958 80081D58 3C14800E */ lui $s4, %hi(D_800DDB40) # $s4, 0x800e /* 08295C 80081D5C 00809825 */ move $s3, $a0 /* 082960 80081D60 AFBF006C */ sw $ra, 0x6c($sp) /* 082964 80081D64 AFBE0068 */ sw $fp, 0x68($sp) /* 082968 80081D68 AFB70064 */ sw $s7, 0x64($sp) /* 08296C 80081D6C AFB60060 */ sw $s6, 0x60($sp) /* 082970 80081D70 AFB00048 */ sw $s0, 0x48($sp) /* 082974 80081D74 F7BE0040 */ sdc1 $f30, 0x40($sp) /* 082978 80081D78 F7BC0038 */ sdc1 $f28, 0x38($sp) /* 08297C 80081D7C F7BA0030 */ sdc1 $f26, 0x30($sp) /* 082980 80081D80 F7B80028 */ sdc1 $f24, 0x28($sp) /* 082984 80081D84 F7B60020 */ sdc1 $f22, 0x20($sp) /* 082988 80081D88 F7B40018 */ sdc1 $f20, 0x18($sp) /* 08298C 80081D8C 0000A825 */ move $s5, $zero /* 082990 80081D90 8E31C4DC */ lw $s1, %lo(D_800DC4DC)($s1) /* 082994 80081D94 8E94DB40 */ lw $s4, %lo(D_800DDB40)($s4) /* 082998 80081D98 19C00065 */ blez $t6, .L80081F30 /* 08299C 80081D9C 00009025 */ move $s2, $zero /* 0829A0 80081DA0 3C0140A0 */ li $at, 0x40A00000 # 5.000000 /* 0829A4 80081DA4 4481F000 */ mtc1 $at, $f30 /* 0829A8 80081DA8 3C014000 */ li $at, 0x40000000 # 2.000000 /* 0829AC 80081DAC 4481E000 */ mtc1 $at, $f28 /* 0829B0 80081DB0 3C014010 */ li $at, 0x40100000 # 2.250000 /* 0829B4 80081DB4 4481D800 */ mtc1 $at, $f27 /* 0829B8 80081DB8 3C014014 */ li $at, 0x40140000 # 2.312500 /* 0829BC 80081DBC 4481C800 */ mtc1 $at, $f25 /* 0829C0 80081DC0 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 /* 0829C4 80081DC4 4481B800 */ mtc1 $at, $f23 /* 0829C8 80081DC8 3C014008 */ li $at, 0x40080000 # 2.125000 /* 0829CC 80081DCC 3C1E1900 */ lui $fp, (0x1900A046 >> 16) # lui $fp, 0x1900 /* 0829D0 80081DD0 4481A800 */ mtc1 $at, $f21 /* 0829D4 80081DD4 4480D000 */ mtc1 $zero, $f26 /* 0829D8 80081DD8 4480C000 */ mtc1 $zero, $f24 /* 0829DC 80081DDC 4480B000 */ mtc1 $zero, $f22 /* 0829E0 80081DE0 4480A000 */ mtc1 $zero, $f20 /* 0829E4 80081DE4 37DEA046 */ ori $fp, (0x1900A046 & 0xFFFF) # ori $fp, $fp, 0xa046 /* 0829E8 80081DE8 3C170400 */ lui $s7, 0x400 /* 0829EC 80081DEC 3C168000 */ lui $s6, 0x8000 .L80081DF0: /* 0829F0 80081DF0 02602025 */ move $a0, $s3 /* 0829F4 80081DF4 0C01C88F */ jal func_8007223C /* 0829F8 80081DF8 24050200 */ li $a1, 512 /* 0829FC 80081DFC 10400045 */ beqz $v0, .L80081F14 /* 082A00 80081E00 00000000 */ nop /* 082A04 80081E04 8E2F00BC */ lw $t7, 0xbc($s1) /* 082A08 80081E08 02602025 */ move $a0, $s3 /* 082A0C 80081E0C 01F6C024 */ and $t8, $t7, $s6 /* 082A10 80081E10 17000040 */ bnez $t8, .L80081F14 /* 082A14 80081E14 00000000 */ nop /* 082A18 80081E18 0C022369 */ jal func_80088DA4 /* 082A1C 80081E1C 02202825 */ move $a1, $s1 /* 082A20 80081E20 1040003C */ beqz $v0, .L80081F14 /* 082A24 80081E24 00000000 */ nop /* 082A28 80081E28 96220000 */ lhu $v0, ($s1) /* 082A2C 80081E2C 30598000 */ andi $t9, $v0, 0x8000 /* 082A30 80081E30 13200038 */ beqz $t9, .L80081F14 /* 082A34 80081E34 30480100 */ andi $t0, $v0, 0x100 /* 082A38 80081E38 15000036 */ bnez $t0, .L80081F14 /* 082A3C 80081E3C 02602025 */ move $a0, $s3 /* 082A40 80081E40 001348C0 */ sll $t1, $s3, 3 /* 082A44 80081E44 01334823 */ subu $t1, $t1, $s3 /* 082A48 80081E48 3C0A8016 */ lui $t2, %hi(D_80165C18) # $t2, 0x8016 /* 082A4C 80081E4C 254A5C18 */ addiu $t2, %lo(D_80165C18) # addiu $t2, $t2, 0x5c18 /* 082A50 80081E50 00094940 */ sll $t1, $t1, 5 /* 082A54 80081E54 24150001 */ li $s5, 1 /* 082A58 80081E58 012A8021 */ addu $s0, $t1, $t2 /* 082A5C 80081E5C 0C01C88F */ jal func_8007223C /* 082A60 80081E60 02E02825 */ move $a1, $s7 /* 082A64 80081E64 50400004 */ beql $v0, $zero, .L80081E78 /* 082A68 80081E68 8E2B00BC */ lw $t3, 0xbc($s1) /* 082A6C 80081E6C 0C01C860 */ jal func_80072180 /* 082A70 80081E70 00000000 */ nop /* 082A74 80081E74 8E2B00BC */ lw $t3, 0xbc($s1) .L80081E78: /* 082A78 80081E78 324400FF */ andi $a0, $s2, 0xff /* 082A7C 80081E7C 316C0200 */ andi $t4, $t3, 0x200 /* 082A80 80081E80 51800006 */ beql $t4, $zero, .L80081E9C /* 082A84 80081E84 8E2D000C */ lw $t5, 0xc($s1) /* 082A88 80081E88 0C032418 */ jal func_800C9060 /* 082A8C 80081E8C 03C02825 */ move $a1, $fp /* 082A90 80081E90 10000005 */ b .L80081EA8 /* 082A94 80081E94 868F0026 */ lh $t7, 0x26($s4) /* 082A98 80081E98 8E2D000C */ lw $t5, 0xc($s1) .L80081E9C: /* 082A9C 80081E9C 35AE0002 */ ori $t6, $t5, 2 /* 082AA0 80081EA0 AE2E000C */ sw $t6, 0xc($s1) /* 082AA4 80081EA4 868F0026 */ lh $t7, 0x26($s4) .L80081EA8: /* 082AA8 80081EA8 3C014080 */ li $at, 0x40800000 # 4.000000 /* 082AAC 80081EAC A60F00C0 */ sh $t7, 0xc0($s0) /* 082AB0 80081EB0 C6240094 */ lwc1 $f4, 0x94($s1) /* 082AB4 80081EB4 461C2183 */ div.s $f6, $f4, $f28 /* 082AB8 80081EB8 46003221 */ cvt.d.s $f8, $f6 /* 082ABC 80081EBC 46344280 */ add.d $f10, $f8, $f20 /* 082AC0 80081EC0 46205420 */ cvt.s.d $f16, $f10 /* 082AC4 80081EC4 E610003C */ swc1 $f16, 0x3c($s0) /* 082AC8 80081EC8 C6320094 */ lwc1 $f18, 0x94($s1) /* 082ACC 80081ECC C60A003C */ lwc1 $f10, 0x3c($s0) /* 082AD0 80081ED0 46009121 */ cvt.d.s $f4, $f18 /* 082AD4 80081ED4 46005421 */ cvt.d.s $f16, $f10 /* 082AD8 80081ED8 46362180 */ add.d $f6, $f4, $f22 /* 082ADC 80081EDC 4630C03E */ c.le.d $f24, $f16 /* 082AE0 80081EE0 46203220 */ cvt.s.d $f8, $f6 /* 082AE4 80081EE4 45000002 */ bc1f .L80081EF0 /* 082AE8 80081EE8 E6080034 */ swc1 $f8, 0x34($s0) /* 082AEC 80081EEC E61E003C */ swc1 $f30, 0x3c($s0) .L80081EF0: /* 082AF0 80081EF0 C6120034 */ lwc1 $f18, 0x34($s0) /* 082AF4 80081EF4 46009121 */ cvt.d.s $f4, $f18 /* 082AF8 80081EF8 4624D03E */ c.le.d $f26, $f4 /* 082AFC 80081EFC 00000000 */ nop /* 082B00 80081F00 45000004 */ bc1f .L80081F14 /* 082B04 80081F04 00000000 */ nop /* 082B08 80081F08 44813000 */ mtc1 $at, $f6 /* 082B0C 80081F0C 00000000 */ nop /* 082B10 80081F10 E606003C */ swc1 $f6, 0x3c($s0) .L80081F14: /* 082B14 80081F14 3C188019 */ lui $t8, %hi(D_8018D158) # $t8, 0x8019 /* 082B18 80081F18 8F18D158 */ lw $t8, %lo(D_8018D158)($t8) /* 082B1C 80081F1C 26520001 */ addiu $s2, $s2, 1 /* 082B20 80081F20 26310DD8 */ addiu $s1, $s1, 0xdd8 /* 082B24 80081F24 0258082A */ slt $at, $s2, $t8 /* 082B28 80081F28 1420FFB1 */ bnez $at, .L80081DF0 /* 082B2C 80081F2C 269400B8 */ addiu $s4, $s4, 0xb8 .L80081F30: /* 082B30 80081F30 12A0001E */ beqz $s5, .L80081FAC /* 082B34 80081F34 02602025 */ move $a0, $s3 /* 082B38 80081F38 0013C8C0 */ sll $t9, $s3, 3 /* 082B3C 80081F3C 0333C823 */ subu $t9, $t9, $s3 /* 082B40 80081F40 3C088016 */ lui $t0, %hi(D_80165C18) # $t0, 0x8016 /* 082B44 80081F44 25085C18 */ addiu $t0, %lo(D_80165C18) # addiu $t0, $t0, 0x5c18 /* 082B48 80081F48 0019C940 */ sll $t9, $t9, 5 /* 082B4C 80081F4C 03288021 */ addu $s0, $t9, $t0 /* 082B50 80081F50 0C01C87A */ jal func_800721E8 /* 082B54 80081F54 24050200 */ li $a1, 512 /* 082B58 80081F58 0C021BD8 */ jal func_80086F60 /* 082B5C 80081F5C 02602025 */ move $a0, $s3 /* 082B60 80081F60 02602025 */ move $a0, $s3 /* 082B64 80081F64 8E050004 */ lw $a1, 4($s0) /* 082B68 80081F68 8E060008 */ lw $a2, 8($s0) /* 082B6C 80081F6C 0C022DF5 */ jal func_8008B7D4 /* 082B70 80081F70 8E07000C */ lw $a3, 0xc($s0) /* 082B74 80081F74 44800000 */ mtc1 $zero, $f0 /* 082B78 80081F78 02602025 */ move $a0, $s3 /* 082B7C 80081F7C 44050000 */ mfc1 $a1, $f0 /* 082B80 80081F80 44060000 */ mfc1 $a2, $f0 /* 082B84 80081F84 44070000 */ mfc1 $a3, $f0 /* 082B88 80081F88 0C022E03 */ jal func_8008B80C /* 082B8C 80081F8C 00000000 */ nop /* 082B90 80081F90 02602025 */ move $a0, $s3 /* 082B94 80081F94 24050002 */ li $a1, 2 /* 082B98 80081F98 0C021BAB */ jal func_80086EAC /* 082B9C 80081F9C 2406000A */ li $a2, 10 /* 082BA0 80081FA0 02602025 */ move $a0, $s3 /* 082BA4 80081FA4 0C01C9B3 */ jal func_800726CC /* 082BA8 80081FA8 2405000A */ li $a1, 10 .L80081FAC: /* 082BAC 80081FAC 8FBF006C */ lw $ra, 0x6c($sp) /* 082BB0 80081FB0 D7B40018 */ ldc1 $f20, 0x18($sp) /* 082BB4 80081FB4 D7B60020 */ ldc1 $f22, 0x20($sp) /* 082BB8 80081FB8 D7B80028 */ ldc1 $f24, 0x28($sp) /* 082BBC 80081FBC D7BA0030 */ ldc1 $f26, 0x30($sp) /* 082BC0 80081FC0 D7BC0038 */ ldc1 $f28, 0x38($sp) /* 082BC4 80081FC4 D7BE0040 */ ldc1 $f30, 0x40($sp) /* 082BC8 80081FC8 8FB00048 */ lw $s0, 0x48($sp) /* 082BCC 80081FCC 8FB1004C */ lw $s1, 0x4c($sp) /* 082BD0 80081FD0 8FB20050 */ lw $s2, 0x50($sp) /* 082BD4 80081FD4 8FB30054 */ lw $s3, 0x54($sp) /* 082BD8 80081FD8 8FB40058 */ lw $s4, 0x58($sp) /* 082BDC 80081FDC 8FB5005C */ lw $s5, 0x5c($sp) /* 082BE0 80081FE0 8FB60060 */ lw $s6, 0x60($sp) /* 082BE4 80081FE4 8FB70064 */ lw $s7, 0x64($sp) /* 082BE8 80081FE8 8FBE0068 */ lw $fp, 0x68($sp) /* 082BEC 80081FEC 03E00008 */ jr $ra /* 082BF0 80081FF0 27BD0070 */ addiu $sp, $sp, 0x70 glabel func_80081FF4 /* 082BF4 80081FF4 27BDFFC8 */ addiu $sp, $sp, -0x38 /* 082BF8 80081FF8 AFBF0014 */ sw $ra, 0x14($sp) /* 082BFC 80081FFC AFA5003C */ sw $a1, 0x3c($sp) /* 082C00 80082000 AFA40038 */ sw $a0, 0x38($sp) /* 082C04 80082004 0C01C8E9 */ jal func_800723A4 /* 082C08 80082008 00002825 */ move $a1, $zero /* 082C0C 8008200C 0C0ADF8D */ jal random_int /* 082C10 80082010 2404001E */ li $a0, 30 /* 082C14 80082014 8FAE0038 */ lw $t6, 0x38($sp) /* 082C18 80082018 8FA3003C */ lw $v1, 0x3c($sp) /* 082C1C 8008201C 3C188016 */ lui $t8, %hi(D_80165C18) # $t8, 0x8016 /* 082C20 80082020 000E78C0 */ sll $t7, $t6, 3 /* 082C24 80082024 01EE7823 */ subu $t7, $t7, $t6 /* 082C28 80082028 000F7940 */ sll $t7, $t7, 5 /* 082C2C 8008202C 27185C18 */ addiu $t8, %lo(D_80165C18) # addiu $t8, $t8, 0x5c18 /* 082C30 80082030 01F83821 */ addu $a3, $t7, $t8 /* 082C34 80082034 24590005 */ addiu $t9, $v0, 5 /* 082C38 80082038 24010001 */ li $at, 1 /* 082C3C 8008203C 10610009 */ beq $v1, $at, .L80082064 /* 082C40 80082040 ACF9004C */ sw $t9, 0x4c($a3) /* 082C44 80082044 24010002 */ li $at, 2 /* 082C48 80082048 1061000D */ beq $v1, $at, .L80082080 /* 082C4C 8008204C 3C068019 */ lui $a2, %hi(D_8018D1A8) # 0x8019 /* 082C50 80082050 24010003 */ li $at, 3 /* 082C54 80082054 10610011 */ beq $v1, $at, .L8008209C /* 082C58 80082058 3C068019 */ lui $a2, %hi(D_8018D1B8) # 0x8019 /* 082C5C 8008205C 10000016 */ b .L800820B8 /* 082C60 80082060 8FA5002C */ lw $a1, 0x2c($sp) .L80082064: /* 082C64 80082064 3C068019 */ lui $a2, %hi(D_8018D198) # $a2, 0x8019 /* 082C68 80082068 24C6D198 */ addiu $a2, %lo(D_8018D198) # addiu $a2, $a2, -0x2e68 /* 082C6C 8008206C 24050008 */ li $a1, 8 /* 082C70 80082070 A7A00028 */ sh $zero, 0x28($sp) /* 082C74 80082074 AFA5002C */ sw $a1, 0x2c($sp) /* 082C78 80082078 1000000E */ b .L800820B4 /* 082C7C 8008207C AFA60020 */ sw $a2, 0x20($sp) .L80082080: /* 082C80 80082080 24C6D1A8 */ addiu $a2, $a2, %lo(D_8018D1A8) # -0x2e58 /* 082C84 80082084 2405000B */ li $a1, 11 /* 082C88 80082088 24080018 */ li $t0, 24 /* 082C8C 8008208C A7A80028 */ sh $t0, 0x28($sp) /* 082C90 80082090 AFA5002C */ sw $a1, 0x2c($sp) /* 082C94 80082094 10000007 */ b .L800820B4 /* 082C98 80082098 AFA60020 */ sw $a2, 0x20($sp) .L8008209C: /* 082C9C 8008209C 24C6D1B8 */ addiu $a2, $a2, %lo(D_8018D1B8) # -0x2e48 /* 082CA0 800820A0 2405000C */ li $a1, 12 /* 082CA4 800820A4 24090039 */ li $t1, 57 /* 082CA8 800820A8 A7A90028 */ sh $t1, 0x28($sp) /* 082CAC 800820AC AFA5002C */ sw $a1, 0x2c($sp) /* 082CB0 800820B0 AFA60020 */ sw $a2, 0x20($sp) .L800820B4: /* 082CB4 800820B4 8FA5002C */ lw $a1, 0x2c($sp) .L800820B8: /* 082CB8 800820B8 AFA70018 */ sw $a3, 0x18($sp) /* 082CBC 800820BC 0C0ADF8D */ jal random_int /* 082CC0 800820C0 30A4FFFF */ andi $a0, $a1, 0xffff /* 082CC4 800820C4 8FA5002C */ lw $a1, 0x2c($sp) /* 082CC8 800820C8 00021C00 */ sll $v1, $v0, 0x10 /* 082CCC 800820CC 00035403 */ sra $t2, $v1, 0x10 /* 082CD0 800820D0 01401825 */ move $v1, $t2 /* 082CD4 800820D4 8FA60020 */ lw $a2, 0x20($sp) /* 082CD8 800820D8 8FA70018 */ lw $a3, 0x18($sp) /* 082CDC 800820DC 18A00013 */ blez $a1, .L8008212C /* 082CE0 800820E0 00002025 */ move $a0, $zero /* 082CE4 800820E4 00661021 */ addu $v0, $v1, $a2 .L800820E8: /* 082CE8 800820E8 804B0000 */ lb $t3, ($v0) /* 082CEC 800820EC 24840001 */ addiu $a0, $a0, 1 /* 082CF0 800820F0 51600009 */ beql $t3, $zero, .L80082118 /* 082CF4 800820F4 240E0001 */ li $t6, 1 /* 082CF8 800820F8 24630001 */ addiu $v1, $v1, 1 /* 082CFC 800820FC 00036400 */ sll $t4, $v1, 0x10 /* 082D00 80082100 000C1C03 */ sra $v1, $t4, 0x10 /* 082D04 80082104 14650007 */ bne $v1, $a1, .L80082124 /* 082D08 80082108 00000000 */ nop /* 082D0C 8008210C 10000005 */ b .L80082124 /* 082D10 80082110 00001825 */ move $v1, $zero /* 082D14 80082114 240E0001 */ li $t6, 1 .L80082118: /* 082D18 80082118 A04E0000 */ sb $t6, ($v0) /* 082D1C 8008211C 10000003 */ b .L8008212C /* 082D20 80082120 A4E300A4 */ sh $v1, 0xa4($a3) .L80082124: /* 082D24 80082124 5485FFF0 */ bnel $a0, $a1, .L800820E8 /* 082D28 80082128 00661021 */ addu $v0, $v1, $a2 .L8008212C: /* 082D2C 8008212C 87AF0028 */ lh $t7, 0x28($sp) /* 082D30 80082130 0003C880 */ sll $t9, $v1, 2 /* 082D34 80082134 0323C823 */ subu $t9, $t9, $v1 /* 082D38 80082138 00194040 */ sll $t0, $t9, 1 /* 082D3C 8008213C 3C0A800E */ lui $t2, %hi(D_800E6360) # $t2, 0x800e /* 082D40 80082140 000FC040 */ sll $t8, $t7, 1 /* 082D44 80082144 03084821 */ addu $t1, $t8, $t0 /* 082D48 80082148 254A6360 */ addiu $t2, %lo(D_800E6360) # addiu $t2, $t2, 0x6360 /* 082D4C 8008214C 012A1021 */ addu $v0, $t1, $t2 /* 082D50 80082150 844B0000 */ lh $t3, ($v0) /* 082D54 80082154 3C018019 */ lui $at, %hi(D_8018D01C) # $at, 0x8019 /* 082D58 80082158 C428D01C */ lwc1 $f8, %lo(D_8018D01C)($at) /* 082D5C 8008215C 448B2000 */ mtc1 $t3, $f4 /* 082D60 80082160 844C0002 */ lh $t4, 2($v0) /* 082D64 80082164 844D0004 */ lh $t5, 4($v0) /* 082D68 80082168 468021A0 */ cvt.s.w $f6, $f4 /* 082D6C 8008216C 448C8000 */ mtc1 $t4, $f16 /* 082D70 80082170 3C014022 */ li $at, 0x40220000 # 2.531250 /* 082D74 80082174 44812800 */ mtc1 $at, $f5 /* 082D78 80082178 44802000 */ mtc1 $zero, $f4 /* 082D7C 8008217C 468084A1 */ cvt.d.w $f18, $f16 /* 082D80 80082180 46083282 */ mul.s $f10, $f6, $f8 /* 082D84 80082184 8FBF0014 */ lw $ra, 0x14($sp) /* 082D88 80082188 27BD0038 */ addiu $sp, $sp, 0x38 /* 082D8C 8008218C 46249181 */ sub.d $f6, $f18, $f4 /* 082D90 80082190 E4EA0010 */ swc1 $f10, 0x10($a3) /* 082D94 80082194 448D5000 */ mtc1 $t5, $f10 /* 082D98 80082198 46203220 */ cvt.s.d $f8, $f6 /* 082D9C 8008219C 46805420 */ cvt.s.w $f16, $f10 /* 082DA0 800821A0 E4E80014 */ swc1 $f8, 0x14($a3) /* 082DA4 800821A4 03E00008 */ jr $ra /* 082DA8 800821A8 E4F00018 */ swc1 $f16, 0x18($a3) glabel func_800821AC /* 082DAC 800821AC 000470C0 */ sll $t6, $a0, 3 /* 082DB0 800821B0 01C47023 */ subu $t6, $t6, $a0 /* 082DB4 800821B4 000E7140 */ sll $t6, $t6, 5 /* 082DB8 800821B8 3C0F8016 */ lui $t7, %hi(D_80165CBE) # 0x8016 /* 082DBC 800821BC 01EE7821 */ addu $t7, $t7, $t6 /* 082DC0 800821C0 85EF5CBE */ lh $t7, %lo(D_80165CBE)($t7) # 0x5cbe($t7) /* 082DC4 800821C4 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 082DC8 800821C8 AFBF0014 */ sw $ra, 0x14($sp) /* 082DCC 800821CC 51E00008 */ beql $t7, $zero, .L800821F0 /* 082DD0 800821D0 8FBF0014 */ lw $ra, 0x14($sp) /* 082DD4 800821D4 0C0206BF */ jal func_80081AFC /* 082DD8 800821D8 AFA40018 */ sw $a0, 0x18($sp) /* 082DDC 800821DC 0C0206A2 */ jal func_80081A88 /* 082DE0 800821E0 8FA40018 */ lw $a0, 0x18($sp) /* 082DE4 800821E4 0C02074D */ jal func_80081D34 /* 082DE8 800821E8 8FA40018 */ lw $a0, 0x18($sp) /* 082DEC 800821EC 8FBF0014 */ lw $ra, 0x14($sp) .L800821F0: /* 082DF0 800821F0 27BD0018 */ addiu $sp, $sp, 0x18 /* 082DF4 800821F4 03E00008 */ jr $ra /* 082DF8 800821F8 00000000 */ nop glabel func_800821FC /* 082DFC 800821FC 27BDFFC0 */ addiu $sp, $sp, -0x40 /* 082E00 80082200 3C0E8019 */ lui $t6, %hi(D_8018D1C8) # $t6, 0x8019 /* 082E04 80082204 8DCED1C8 */ lw $t6, %lo(D_8018D1C8)($t6) /* 082E08 80082208 AFB1001C */ sw $s1, 0x1c($sp) /* 082E0C 8008220C AFBF002C */ sw $ra, 0x2c($sp) /* 082E10 80082210 AFB40028 */ sw $s4, 0x28($sp) /* 082E14 80082214 AFB30024 */ sw $s3, 0x24($sp) /* 082E18 80082218 AFB20020 */ sw $s2, 0x20($sp) /* 082E1C 8008221C AFB00018 */ sw $s0, 0x18($sp) /* 082E20 80082220 19C00021 */ blez $t6, .L800822A8 /* 082E24 80082224 00008825 */ move $s1, $zero /* 082E28 80082228 3C128018 */ lui $s2, %hi(D_80183EA0) # $s2, 0x8018 /* 082E2C 8008222C 3C138016 */ lui $s3, %hi(D_80165C18) # $s3, 0x8016 /* 082E30 80082230 26735C18 */ addiu $s3, %lo(D_80165C18) # addiu $s3, $s3, 0x5c18 /* 082E34 80082234 26523EA0 */ addiu $s2, %lo(D_80183EA0) # addiu $s2, $s2, 0x3ea0 /* 082E38 80082238 241400E0 */ li $s4, 224 /* 082E3C 8008223C 8E500000 */ lw $s0, ($s2) .L80082240: /* 082E40 80082240 24050009 */ li $a1, 9 /* 082E44 80082244 02140019 */ multu $s0, $s4 /* 082E48 80082248 02002025 */ move $a0, $s0 /* 082E4C 8008224C 00007812 */ mflo $t7 /* 082E50 80082250 026FC021 */ addu $t8, $s3, $t7 /* 082E54 80082254 871900A6 */ lh $t9, 0xa6($t8) /* 082E58 80082258 17200009 */ bnez $t9, .L80082280 /* 082E5C 8008225C 00000000 */ nop /* 082E60 80082260 0C022A2C */ jal func_8008A8B0 /* 082E64 80082264 24040008 */ li $a0, 8 /* 082E68 80082268 10400007 */ beqz $v0, .L80082288 /* 082E6C 8008226C 02002025 */ move $a0, $s0 /* 082E70 80082270 0C0207FD */ jal func_80081FF4 /* 082E74 80082274 24050001 */ li $a1, 1 /* 082E78 80082278 10000003 */ b .L80082288 /* 082E7C 8008227C 00000000 */ nop .L80082280: /* 082E80 80082280 0C02086B */ jal func_800821AC /* 082E84 80082284 24050001 */ li $a1, 1 .L80082288: /* 082E88 80082288 3C088019 */ lui $t0, %hi(D_8018D1C8) # $t0, 0x8019 /* 082E8C 8008228C 8D08D1C8 */ lw $t0, %lo(D_8018D1C8)($t0) /* 082E90 80082290 26310001 */ addiu $s1, $s1, 1 /* 082E94 80082294 26520004 */ addiu $s2, $s2, 4 /* 082E98 80082298 0228082A */ slt $at, $s1, $t0 /* 082E9C 8008229C 5420FFE8 */ bnel $at, $zero, .L80082240 /* 082EA0 800822A0 8E500000 */ lw $s0, ($s2) /* 082EA4 800822A4 00008825 */ move $s1, $zero .L800822A8: /* 082EA8 800822A8 3C098019 */ lui $t1, %hi(D_8018D1D0) # $t1, 0x8019 /* 082EAC 800822AC 8D29D1D0 */ lw $t1, %lo(D_8018D1D0)($t1) /* 082EB0 800822B0 3C138016 */ lui $s3, %hi(D_80165C18) # $s3, 0x8016 /* 082EB4 800822B4 26735C18 */ addiu $s3, %lo(D_80165C18) # addiu $s3, $s3, 0x5c18 /* 082EB8 800822B8 1920001E */ blez $t1, .L80082334 /* 082EBC 800822BC 241400E0 */ li $s4, 224 /* 082EC0 800822C0 3C128018 */ lui $s2, %hi(D_80183F28) # $s2, 0x8018 /* 082EC4 800822C4 26523F28 */ addiu $s2, %lo(D_80183F28) # addiu $s2, $s2, 0x3f28 /* 082EC8 800822C8 8E500000 */ lw $s0, ($s2) .L800822CC: /* 082ECC 800822CC 24050013 */ li $a1, 19 /* 082ED0 800822D0 02140019 */ multu $s0, $s4 /* 082ED4 800822D4 02002025 */ move $a0, $s0 /* 082ED8 800822D8 00005012 */ mflo $t2 /* 082EDC 800822DC 026A5821 */ addu $t3, $s3, $t2 /* 082EE0 800822E0 856C00A6 */ lh $t4, 0xa6($t3) /* 082EE4 800822E4 15800009 */ bnez $t4, .L8008230C /* 082EE8 800822E8 00000000 */ nop /* 082EEC 800822EC 0C022A2C */ jal func_8008A8B0 /* 082EF0 800822F0 24040010 */ li $a0, 16 /* 082EF4 800822F4 10400007 */ beqz $v0, .L80082314 /* 082EF8 800822F8 02002025 */ move $a0, $s0 /* 082EFC 800822FC 0C0207FD */ jal func_80081FF4 /* 082F00 80082300 24050002 */ li $a1, 2 /* 082F04 80082304 10000003 */ b .L80082314 /* 082F08 80082308 00000000 */ nop .L8008230C: /* 082F0C 8008230C 0C02086B */ jal func_800821AC /* 082F10 80082310 24050002 */ li $a1, 2 .L80082314: /* 082F14 80082314 3C0D8019 */ lui $t5, %hi(D_8018D1D0) # $t5, 0x8019 /* 082F18 80082318 8DADD1D0 */ lw $t5, %lo(D_8018D1D0)($t5) /* 082F1C 8008231C 26310001 */ addiu $s1, $s1, 1 /* 082F20 80082320 26520004 */ addiu $s2, $s2, 4 /* 082F24 80082324 022D082A */ slt $at, $s1, $t5 /* 082F28 80082328 5420FFE8 */ bnel $at, $zero, .L800822CC /* 082F2C 8008232C 8E500000 */ lw $s0, ($s2) /* 082F30 80082330 00008825 */ move $s1, $zero .L80082334: /* 082F34 80082334 3C0E8019 */ lui $t6, %hi(D_8018D1D8) # $t6, 0x8019 /* 082F38 80082338 8DCED1D8 */ lw $t6, %lo(D_8018D1D8)($t6) /* 082F3C 8008233C 3C128019 */ lui $s2, %hi(D_8018BFA8) # $s2, 0x8019 /* 082F40 80082340 2652BFA8 */ addiu $s2, %lo(D_8018BFA8) # addiu $s2, $s2, -0x4058 /* 082F44 80082344 19C0001B */ blez $t6, .L800823B4 /* 082F48 80082348 00000000 */ nop /* 082F4C 8008234C 8E500000 */ lw $s0, ($s2) .L80082350: /* 082F50 80082350 24050014 */ li $a1, 20 /* 082F54 80082354 02140019 */ multu $s0, $s4 /* 082F58 80082358 02002025 */ move $a0, $s0 /* 082F5C 8008235C 00007812 */ mflo $t7 /* 082F60 80082360 026FC021 */ addu $t8, $s3, $t7 /* 082F64 80082364 871900A6 */ lh $t9, 0xa6($t8) /* 082F68 80082368 17200009 */ bnez $t9, .L80082390 /* 082F6C 8008236C 00000000 */ nop /* 082F70 80082370 0C022A2C */ jal func_8008A8B0 /* 082F74 80082374 24040011 */ li $a0, 17 /* 082F78 80082378 10400007 */ beqz $v0, .L80082398 /* 082F7C 8008237C 02002025 */ move $a0, $s0 /* 082F80 80082380 0C0207FD */ jal func_80081FF4 /* 082F84 80082384 24050003 */ li $a1, 3 /* 082F88 80082388 10000003 */ b .L80082398 /* 082F8C 8008238C 00000000 */ nop .L80082390: /* 082F90 80082390 0C02086B */ jal func_800821AC /* 082F94 80082394 24050003 */ li $a1, 3 .L80082398: /* 082F98 80082398 3C088019 */ lui $t0, %hi(D_8018D1D8) # $t0, 0x8019 /* 082F9C 8008239C 8D08D1D8 */ lw $t0, %lo(D_8018D1D8)($t0) /* 082FA0 800823A0 26310001 */ addiu $s1, $s1, 1 /* 082FA4 800823A4 26520004 */ addiu $s2, $s2, 4 /* 082FA8 800823A8 0228082A */ slt $at, $s1, $t0 /* 082FAC 800823AC 5420FFE8 */ bnel $at, $zero, .L80082350 /* 082FB0 800823B0 8E500000 */ lw $s0, ($s2) .L800823B4: /* 082FB4 800823B4 3C028019 */ lui $v0, %hi(D_8018C3F0) # $v0, 0x8019 /* 082FB8 800823B8 3C118019 */ lui $s1, %hi(D_8018C5F0) # $s1, 0x8019 /* 082FBC 800823BC 2631C5F0 */ addiu $s1, %lo(D_8018C5F0) # addiu $s1, $s1, -0x3a10 /* 082FC0 800823C0 2442C3F0 */ addiu $v0, %lo(D_8018C3F0) # addiu $v0, $v0, -0x3c10 /* 082FC4 800823C4 8C500000 */ lw $s0, ($v0) .L800823C8: /* 082FC8 800823C8 02140019 */ multu $s0, $s4 /* 082FCC 800823CC 02002025 */ move $a0, $s0 /* 082FD0 800823D0 00004812 */ mflo $t1 /* 082FD4 800823D4 02695021 */ addu $t2, $s3, $t1 /* 082FD8 800823D8 854B00A6 */ lh $t3, 0xa6($t2) /* 082FDC 800823DC 51600005 */ beql $t3, $zero, .L800823F4 /* 082FE0 800823E0 24420004 */ addiu $v0, $v0, 4 /* 082FE4 800823E4 0C0205E4 */ jal func_80081790 /* 082FE8 800823E8 AFA20030 */ sw $v0, 0x30($sp) /* 082FEC 800823EC 8FA20030 */ lw $v0, 0x30($sp) /* 082FF0 800823F0 24420004 */ addiu $v0, $v0, 4 .L800823F4: /* 082FF4 800823F4 5451FFF4 */ bnel $v0, $s1, .L800823C8 /* 082FF8 800823F8 8C500000 */ lw $s0, ($v0) /* 082FFC 800823FC 8FBF002C */ lw $ra, 0x2c($sp) /* 083000 80082400 8FB00018 */ lw $s0, 0x18($sp) /* 083004 80082404 8FB1001C */ lw $s1, 0x1c($sp) /* 083008 80082408 8FB20020 */ lw $s2, 0x20($sp) /* 08300C 8008240C 8FB30024 */ lw $s3, 0x24($sp) /* 083010 80082410 8FB40028 */ lw $s4, 0x28($sp) /* 083014 80082414 03E00008 */ jr $ra /* 083018 80082418 27BD0040 */ addiu $sp, $sp, 0x40 glabel func_8008241C /* 08301C 8008241C 000470C0 */ sll $t6, $a0, 3 /* 083020 80082420 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 083024 80082424 01C47023 */ subu $t6, $t6, $a0 /* 083028 80082428 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 08302C 8008242C AFB00014 */ sw $s0, 0x14($sp) /* 083030 80082430 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 083034 80082434 000E7140 */ sll $t6, $t6, 5 /* 083038 80082438 01CF8021 */ addu $s0, $t6, $t7 /* 08303C 8008243C 3C180601 */ lui $t8, %hi(D_060169B0) # $t8, 0x601 /* 083040 80082440 3C190601 */ lui $t9, %hi(D_06016B60) # $t9, 0x601 /* 083044 80082444 24020001 */ li $v0, 1 /* 083048 80082448 271869B0 */ addiu $t8, %lo(D_060169B0) # addiu $t8, $t8, 0x69b0 /* 08304C 8008244C 27396B60 */ addiu $t9, %lo(D_06016B60) # addiu $t9, $t9, 0x6b60 /* 083050 80082450 A20200D8 */ sb $v0, 0xd8($s0) /* 083054 80082454 AE180070 */ sw $t8, 0x70($s0) /* 083058 80082458 AE190074 */ sw $t9, 0x74($s0) /* 08305C 8008245C 3C01800F */ lui $at, %hi(D_800EF16C) # $at, 0x800f /* 083060 80082460 C424F16C */ lwc1 $f4, %lo(D_800EF16C)($at) /* 083064 80082464 AFB10018 */ sw $s1, 0x18($sp) /* 083068 80082468 00808825 */ move $s1, $a0 /* 08306C 8008246C AFBF001C */ sw $ra, 0x1c($sp) /* 083070 80082470 AFA5002C */ sw $a1, 0x2c($sp) /* 083074 80082474 A20200DD */ sb $v0, 0xdd($s0) /* 083078 80082478 240400C8 */ li $a0, 200 /* 08307C 8008247C 0C0ADF8D */ jal random_int /* 083080 80082480 E6040000 */ swc1 $f4, ($s0) /* 083084 80082484 44823000 */ mtc1 $v0, $f6 /* 083088 80082488 44808000 */ mtc1 $zero, $f16 /* 08308C 8008248C 04410006 */ bgez $v0, .L800824A8 /* 083090 80082490 46803221 */ cvt.d.w $f8, $f6 /* 083094 80082494 3C0141F0 */ li $at, 0x41F00000 # 30.000000 /* 083098 80082498 44815800 */ mtc1 $at, $f11 /* 08309C 8008249C 44805000 */ mtc1 $zero, $f10 /* 0830A0 800824A0 00000000 */ nop /* 0830A4 800824A4 462A4200 */ add.d $f8, $f8, $f10 .L800824A8: /* 0830A8 800824A8 3C01C059 */ li $at, 0xC0590000 # -3.390625 /* 0830AC 800824AC 44818800 */ mtc1 $at, $f17 /* 0830B0 800824B0 24040014 */ li $a0, 20 /* 0830B4 800824B4 46304480 */ add.d $f18, $f8, $f16 /* 0830B8 800824B8 4620910D */ trunc.w.d $f4, $f18 /* 0830BC 800824BC 440C2000 */ mfc1 $t4, $f4 /* 0830C0 800824C0 0C0ADF8D */ jal random_int /* 0830C4 800824C4 A7AC0022 */ sh $t4, 0x22($sp) /* 0830C8 800824C8 240400C8 */ li $a0, 200 /* 0830CC 800824CC 0C0ADF8D */ jal random_int /* 0830D0 800824D0 A7A20020 */ sh $v0, 0x20($sp) /* 0830D4 800824D4 44823000 */ mtc1 $v0, $f6 /* 0830D8 800824D8 87A80022 */ lh $t0, 0x22($sp) /* 0830DC 800824DC 87A90020 */ lh $t1, 0x20($sp) /* 0830E0 800824E0 04410006 */ bgez $v0, .L800824FC /* 0830E4 800824E4 468032A1 */ cvt.d.w $f10, $f6 /* 0830E8 800824E8 3C0141F0 */ li $at, 0x41F00000 # 30.000000 /* 0830EC 800824EC 44814800 */ mtc1 $at, $f9 /* 0830F0 800824F0 44804000 */ mtc1 $zero, $f8 /* 0830F4 800824F4 00000000 */ nop /* 0830F8 800824F8 46285280 */ add.d $f10, $f10, $f8 .L800824FC: /* 0830FC 800824FC 3C01C059 */ li $at, 0xC0590000 # -3.390625 /* 083100 80082500 44818800 */ mtc1 $at, $f17 /* 083104 80082504 44808000 */ mtc1 $zero, $f16 /* 083108 80082508 3C19800E */ lui $t9, %hi(D_800DC50C) # $t9, 0x800e /* 08310C 8008250C 8F39C50C */ lw $t9, %lo(D_800DC50C)($t9) /* 083110 80082510 46305480 */ add.d $f18, $f10, $f16 /* 083114 80082514 24010009 */ li $at, 9 /* 083118 80082518 4620910D */ trunc.w.d $f4, $f18 /* 08311C 8008251C 44032000 */ mfc1 $v1, $f4 /* 083120 80082520 00000000 */ nop /* 083124 80082524 00037C00 */ sll $t7, $v1, 0x10 /* 083128 80082528 1721001C */ bne $t9, $at, .L8008259C /* 08312C 8008252C 000F1C03 */ sra $v1, $t7, 0x10 /* 083130 80082530 44883000 */ mtc1 $t0, $f6 /* 083134 80082534 3C01800F */ lui $at, %hi(D_800EF170) /* 083138 80082538 D42AF170 */ ldc1 $f10, %lo(D_800EF170)($at) /* 08313C 8008253C 46803221 */ cvt.d.w $f8, $f6 /* 083140 80082540 44892000 */ mtc1 $t1, $f4 /* 083144 80082544 3C01404E */ li $at, 0x404E0000 # 3.218750 /* 083148 80082548 02202025 */ move $a0, $s1 /* 08314C 8008254C 468021A1 */ cvt.d.w $f6, $f4 /* 083150 80082550 462A4400 */ add.d $f16, $f8, $f10 /* 083154 80082554 44804000 */ mtc1 $zero, $f8 /* 083158 80082558 44814800 */ mtc1 $at, $f9 /* 08315C 8008255C 3C01800F */ lui $at, %hi(D_800EF178) /* 083160 80082560 462084A0 */ cvt.s.d $f18, $f16 /* 083164 80082564 46283280 */ add.d $f10, $f6, $f8 /* 083168 80082568 44059000 */ mfc1 $a1, $f18 /* 08316C 8008256C 44839000 */ mtc1 $v1, $f18 /* 083170 80082570 D426F178 */ ldc1 $f6, %lo(D_800EF178)($at) /* 083174 80082574 46205420 */ cvt.s.d $f16, $f10 /* 083178 80082578 46809121 */ cvt.d.w $f4, $f18 /* 08317C 8008257C 44068000 */ mfc1 $a2, $f16 /* 083180 80082580 46262200 */ add.d $f8, $f4, $f6 /* 083184 80082584 462042A0 */ cvt.s.d $f10, $f8 /* 083188 80082588 44075000 */ mfc1 $a3, $f10 /* 08318C 8008258C 0C022DF5 */ jal func_8008B7D4 /* 083190 80082590 00000000 */ nop /* 083194 80082594 10000041 */ b .L8008269C /* 083198 80082598 02202025 */ move $a0, $s1 .L8008259C: /* 08319C 8008259C 920A00D5 */ lbu $t2, 0xd5($s0) /* 0831A0 800825A0 51400021 */ beql $t2, $zero, .L80082628 /* 0831A4 800825A4 44888000 */ mtc1 $t0, $f16 /* 0831A8 800825A8 44888000 */ mtc1 $t0, $f16 /* 0831AC 800825AC 3C01800F */ lui $at, %hi(D_800EF180) /* 0831B0 800825B0 D424F180 */ ldc1 $f4, %lo(D_800EF180)($at) /* 0831B4 800825B4 468084A1 */ cvt.d.w $f18, $f16 /* 0831B8 800825B8 3C018019 */ lui $at, %hi(D_8018D01C) # $at, 0x8019 /* 0831BC 800825BC C428D01C */ lwc1 $f8, %lo(D_8018D01C)($at) /* 0831C0 800825C0 3C014034 */ li $at, 0x40340000 # 2.812500 /* 0831C4 800825C4 02202025 */ move $a0, $s1 /* 0831C8 800825C8 46249180 */ add.d $f6, $f18, $f4 /* 0831CC 800825CC 44892000 */ mtc1 $t1, $f4 /* 0831D0 800825D0 460042A1 */ cvt.d.s $f10, $f8 /* 0831D4 800825D4 46802221 */ cvt.d.w $f8, $f4 /* 0831D8 800825D8 462A3402 */ mul.d $f16, $f6, $f10 /* 0831DC 800825DC 44803000 */ mtc1 $zero, $f6 /* 0831E0 800825E0 44813800 */ mtc1 $at, $f7 /* 0831E4 800825E4 3C01800F */ lui $at, %hi(D_800EF188) /* 0831E8 800825E8 46264280 */ add.d $f10, $f8, $f6 /* 0831EC 800825EC D428F188 */ ldc1 $f8, %lo(D_800EF188)($at) /* 0831F0 800825F0 462084A0 */ cvt.s.d $f18, $f16 /* 0831F4 800825F4 46205420 */ cvt.s.d $f16, $f10 /* 0831F8 800825F8 44059000 */ mfc1 $a1, $f18 /* 0831FC 800825FC 44839000 */ mtc1 $v1, $f18 /* 083200 80082600 44068000 */ mfc1 $a2, $f16 /* 083204 80082604 46809121 */ cvt.d.w $f4, $f18 /* 083208 80082608 46282180 */ add.d $f6, $f4, $f8 /* 08320C 8008260C 462032A0 */ cvt.s.d $f10, $f6 /* 083210 80082610 44075000 */ mfc1 $a3, $f10 /* 083214 80082614 0C022DF5 */ jal func_8008B7D4 /* 083218 80082618 00000000 */ nop /* 08321C 8008261C 1000001F */ b .L8008269C /* 083220 80082620 02202025 */ move $a0, $s1 /* 083224 80082624 44888000 */ mtc1 $t0, $f16 .L80082628: /* 083228 80082628 3C01800F */ lui $at, %hi(D_800EF190) /* 08322C 8008262C D424F190 */ ldc1 $f4, %lo(D_800EF190)($at) /* 083230 80082630 468084A1 */ cvt.d.w $f18, $f16 /* 083234 80082634 3C018019 */ lui $at, %hi(D_8018D01C) # $at, 0x8019 /* 083238 80082638 C426D01C */ lwc1 $f6, %lo(D_8018D01C)($at) /* 08323C 8008263C 3C01402E */ li $at, 0x402E0000 # 2.718750 /* 083240 80082640 02202025 */ move $a0, $s1 /* 083244 80082644 46249200 */ add.d $f8, $f18, $f4 /* 083248 80082648 44892000 */ mtc1 $t1, $f4 /* 08324C 8008264C 460032A1 */ cvt.d.s $f10, $f6 /* 083250 80082650 468021A1 */ cvt.d.w $f6, $f4 /* 083254 80082654 462A4402 */ mul.d $f16, $f8, $f10 /* 083258 80082658 44804000 */ mtc1 $zero, $f8 /* 08325C 8008265C 44814800 */ mtc1 $at, $f9 /* 083260 80082660 3C01800F */ lui $at, %hi(D_800EF198) /* 083264 80082664 46283280 */ add.d $f10, $f6, $f8 /* 083268 80082668 D426F198 */ ldc1 $f6, %lo(D_800EF198)($at) /* 08326C 8008266C 462084A0 */ cvt.s.d $f18, $f16 /* 083270 80082670 46205420 */ cvt.s.d $f16, $f10 /* 083274 80082674 44059000 */ mfc1 $a1, $f18 /* 083278 80082678 44839000 */ mtc1 $v1, $f18 /* 08327C 8008267C 44068000 */ mfc1 $a2, $f16 /* 083280 80082680 46809121 */ cvt.d.w $f4, $f18 /* 083284 80082684 46262200 */ add.d $f8, $f4, $f6 /* 083288 80082688 462042A0 */ cvt.s.d $f10, $f8 /* 08328C 8008268C 44075000 */ mfc1 $a3, $f10 /* 083290 80082690 0C022DF5 */ jal func_8008B7D4 /* 083294 80082694 00000000 */ nop /* 083298 80082698 02202025 */ move $a0, $s1 .L8008269C: /* 08329C 8008269C 00002825 */ move $a1, $zero /* 0832A0 800826A0 00003025 */ move $a2, $zero /* 0832A4 800826A4 0C022E22 */ jal func_8008B888 /* 0832A8 800826A8 00003825 */ move $a3, $zero /* 0832AC 800826AC 3C013F80 */ li $at, 0x3F800000 # 1.000000 /* 0832B0 800826B0 44818000 */ mtc1 $at, $f16 /* 0832B4 800826B4 02202025 */ move $a0, $s1 /* 0832B8 800826B8 0C021BBC */ jal func_80086EF0 /* 0832BC 800826BC E6100034 */ swc1 $f16, 0x34($s0) /* 0832C0 800826C0 8FAB002C */ lw $t3, 0x2c($sp) /* 0832C4 800826C4 3C0E800E */ lui $t6, %hi(D_800E633C) /* 0832C8 800826C8 02202025 */ move $a0, $s1 /* 0832CC 800826CC 05610004 */ bgez $t3, .L800826E0 /* 0832D0 800826D0 316C0003 */ andi $t4, $t3, 3 /* 0832D4 800826D4 11800002 */ beqz $t4, .L800826E0 /* 0832D8 800826D8 00000000 */ nop /* 0832DC 800826DC 258CFFFC */ addiu $t4, $t4, -4 .L800826E0: /* 0832E0 800826E0 000C6880 */ sll $t5, $t4, 2 /* 0832E4 800826E4 01CD7021 */ addu $t6, $t6, $t5 /* 0832E8 800826E8 8DCE633C */ lw $t6, %lo(D_800E633C)($t6) /* 0832EC 800826EC 24050800 */ li $a1, 2048 /* 0832F0 800826F0 0C01C870 */ jal func_800721C0 /* 0832F4 800826F4 AE0E0080 */ sw $t6, 0x80($s0) /* 0832F8 800826F8 0C01C922 */ jal func_80072488 /* 0832FC 800826FC 02202025 */ move $a0, $s1 /* 083300 80082700 8FBF001C */ lw $ra, 0x1c($sp) /* 083304 80082704 8FB00014 */ lw $s0, 0x14($sp) /* 083308 80082708 8FB10018 */ lw $s1, 0x18($sp) /* 08330C 8008270C 03E00008 */ jr $ra /* 083310 80082710 27BD0028 */ addiu $sp, $sp, 0x28 glabel func_80082714 /* 083314 80082714 000470C0 */ sll $t6, $a0, 3 /* 083318 80082718 01C47023 */ subu $t6, $t6, $a0 /* 08331C 8008271C 000E7140 */ sll $t6, $t6, 5 /* 083320 80082720 3C028016 */ lui $v0, %hi(D_80165CBE) # 0x8016 /* 083324 80082724 004E1021 */ addu $v0, $v0, $t6 /* 083328 80082728 84425CBE */ lh $v0, %lo(D_80165CBE)($v0) # 0x5cbe($v0) /* 08332C 8008272C 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 083330 80082730 AFBF0014 */ sw $ra, 0x14($sp) /* 083334 80082734 10400005 */ beqz $v0, .L8008274C /* 083338 80082738 24010001 */ li $at, 1 /* 08333C 8008273C 54410004 */ bnel $v0, $at, .L80082750 /* 083340 80082740 8FBF0014 */ lw $ra, 0x14($sp) /* 083344 80082744 0C020907 */ jal func_8008241C /* 083348 80082748 00000000 */ nop .L8008274C: /* 08334C 8008274C 8FBF0014 */ lw $ra, 0x14($sp) .L80082750: /* 083350 80082750 27BD0018 */ addiu $sp, $sp, 0x18 /* 083354 80082754 03E00008 */ jr $ra /* 083358 80082758 00000000 */ nop glabel func_8008275C /* 08335C 8008275C 000470C0 */ sll $t6, $a0, 3 /* 083360 80082760 27BDFFC0 */ addiu $sp, $sp, -0x40 /* 083364 80082764 01C47023 */ subu $t6, $t6, $a0 /* 083368 80082768 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 08336C 8008276C AFB0001C */ sw $s0, 0x1c($sp) /* 083370 80082770 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 083374 80082774 000E7140 */ sll $t6, $t6, 5 /* 083378 80082778 01CF8021 */ addu $s0, $t6, $t7 /* 08337C 8008277C 920200DD */ lbu $v0, 0xdd($s0) /* 083380 80082780 AFB10020 */ sw $s1, 0x20($sp) /* 083384 80082784 24010001 */ li $at, 1 /* 083388 80082788 00808825 */ move $s1, $a0 /* 08338C 8008278C 10410006 */ beq $v0, $at, .L800827A8 /* 083390 80082790 AFBF0024 */ sw $ra, 0x24($sp) /* 083394 80082794 24010002 */ li $at, 2 /* 083398 80082798 10410009 */ beq $v0, $at, .L800827C0 /* 08339C 8008279C 00000000 */ nop /* 0833A0 800827A0 1000002C */ b .L80082854 /* 0833A4 800827A4 00000000 */ nop .L800827A8: /* 0833A8 800827A8 0C022DE3 */ jal func_8008B78C /* 0833AC 800827AC 02202025 */ move $a0, $s1 /* 0833B0 800827B0 0C022FC6 */ jal func_8008BF18 /* 0833B4 800827B4 02202025 */ move $a0, $s1 /* 0833B8 800827B8 10000026 */ b .L80082854 /* 0833BC 800827BC 00000000 */ nop .L800827C0: /* 0833C0 800827C0 0C022DE3 */ jal func_8008B78C /* 0833C4 800827C4 02202025 */ move $a0, $s1 /* 0833C8 800827C8 2604001C */ addiu $a0, $s0, 0x1c /* 0833CC 800827CC 26050004 */ addiu $a1, $s0, 4 /* 0833D0 800827D0 AFA5002C */ sw $a1, 0x2c($sp) /* 0833D4 800827D4 0C0103B1 */ jal func_80040EC4 /* 0833D8 800827D8 AFA40030 */ sw $a0, 0x30($sp) /* 0833DC 800827DC 26040010 */ addiu $a0, $s0, 0x10 /* 0833E0 800827E0 260500C6 */ addiu $a1, $s0, 0xc6 /* 0833E4 800827E4 8E060034 */ lw $a2, 0x34($s0) /* 0833E8 800827E8 24070000 */ li $a3, 0 /* 0833EC 800827EC 0C003650 */ jal func_8000D940 /* 0833F0 800827F0 AFA00010 */ sw $zero, 0x10($sp) /* 0833F4 800827F4 C6040028 */ lwc1 $f4, 0x28($s0) /* 0833F8 800827F8 C60A002C */ lwc1 $f10, 0x2c($s0) /* 0833FC 800827FC 3C014004 */ li $at, 0x40040000 # 2.062500 /* 083400 80082800 46002021 */ cvt.d.s $f0, $f4 /* 083404 80082804 44819800 */ mtc1 $at, $f19 /* 083408 80082808 46200180 */ add.d $f6, $f0, $f0 /* 08340C 8008280C 44809000 */ mtc1 $zero, $f18 /* 083410 80082810 02202025 */ move $a0, $s1 /* 083414 80082814 46005421 */ cvt.d.s $f16, $f10 /* 083418 80082818 46203220 */ cvt.s.d $f8, $f6 /* 08341C 8008281C 46328102 */ mul.d $f4, $f16, $f18 /* 083420 80082820 E6080028 */ swc1 $f8, 0x28($s0) /* 083424 80082824 C6080030 */ lwc1 $f8, 0x30($s0) /* 083428 80082828 460040A1 */ cvt.d.s $f2, $f8 /* 08342C 8008282C 462021A0 */ cvt.s.d $f6, $f4 /* 083430 80082830 46221280 */ add.d $f10, $f2, $f2 /* 083434 80082834 E606002C */ swc1 $f6, 0x2c($s0) /* 083438 80082838 46205420 */ cvt.s.d $f16, $f10 /* 08343C 8008283C 0C022FC6 */ jal func_8008BF18 /* 083440 80082840 E6100030 */ swc1 $f16, 0x30($s0) /* 083444 80082844 8FA40030 */ lw $a0, 0x30($sp) /* 083448 80082848 0C0AD489 */ jal func_802B5224 /* 08344C 8008284C 8FA5002C */ lw $a1, 0x2c($sp) /* 083450 80082850 A60200C0 */ sh $v0, 0xc0($s0) .L80082854: /* 083454 80082854 0C021CFD */ jal func_800873F4 /* 083458 80082858 02202025 */ move $a0, $s1 /* 08345C 8008285C 8FBF0024 */ lw $ra, 0x24($sp) /* 083460 80082860 8FB0001C */ lw $s0, 0x1c($sp) /* 083464 80082864 8FB10020 */ lw $s1, 0x20($sp) /* 083468 80082868 03E00008 */ jr $ra /* 08346C 8008286C 27BD0040 */ addiu $sp, $sp, 0x40 glabel func_80082870 /* 083470 80082870 27BDFFB8 */ addiu $sp, $sp, -0x48 /* 083474 80082874 AFBE0040 */ sw $fp, 0x40($sp) /* 083478 80082878 AFB7003C */ sw $s7, 0x3c($sp) /* 08347C 8008287C AFB50034 */ sw $s5, 0x34($sp) /* 083480 80082880 AFB40030 */ sw $s4, 0x30($sp) /* 083484 80082884 AFB20028 */ sw $s2, 0x28($sp) /* 083488 80082888 F7B40018 */ sdc1 $f20, 0x18($sp) /* 08348C 8008288C AFB60038 */ sw $s6, 0x38($sp) /* 083490 80082890 AFB3002C */ sw $s3, 0x2c($sp) /* 083494 80082894 3C128018 */ lui $s2, %hi(D_80183E40) # $s2, 0x8018 /* 083498 80082898 3C148018 */ lui $s4, %hi(D_80183F28) # $s4, 0x8018 /* 08349C 8008289C 3C158016 */ lui $s5, %hi(D_80165C18) # $s5, 0x8016 /* 0834A0 800828A0 3C171901 */ lui $s7, (0x19017043 >> 16) # lui $s7, 0x1901 /* 0834A4 800828A4 3C1E8016 */ lui $fp, %hi(D_80165A90) # $fp, 0x8016 /* 0834A8 800828A8 4480A000 */ mtc1 $zero, $f20 /* 0834AC 800828AC AFBF0044 */ sw $ra, 0x44($sp) /* 0834B0 800828B0 AFB10024 */ sw $s1, 0x24($sp) /* 0834B4 800828B4 AFB00020 */ sw $s0, 0x20($sp) /* 0834B8 800828B8 27DE5A90 */ addiu $fp, %lo(D_80165A90) # addiu $fp, $fp, 0x5a90 /* 0834BC 800828BC 36F77043 */ ori $s7, (0x19017043 & 0xFFFF) # ori $s7, $s7, 0x7043 /* 0834C0 800828C0 26B55C18 */ addiu $s5, %lo(D_80165C18) # addiu $s5, $s5, 0x5c18 /* 0834C4 800828C4 26943F28 */ addiu $s4, %lo(D_80183F28) # addiu $s4, $s4, 0x3f28 /* 0834C8 800828C8 26523E40 */ addiu $s2, %lo(D_80183E40) # addiu $s2, $s2, 0x3e40 /* 0834CC 800828CC 00009825 */ move $s3, $zero /* 0834D0 800828D0 241600E0 */ li $s6, 224 .L800828D4: /* 0834D4 800828D4 8E900000 */ lw $s0, ($s4) /* 0834D8 800828D8 02160019 */ multu $s0, $s6 /* 0834DC 800828DC 02002025 */ move $a0, $s0 /* 0834E0 800828E0 00007012 */ mflo $t6 /* 0834E4 800828E4 02AE8821 */ addu $s1, $s5, $t6 /* 0834E8 800828E8 862F00A6 */ lh $t7, 0xa6($s1) /* 0834EC 800828EC 51E0002C */ beql $t7, $zero, .L800829A0 /* 0834F0 800828F0 26730001 */ addiu $s3, $s3, 1 /* 0834F4 800828F4 0C0209C5 */ jal func_80082714 /* 0834F8 800828F8 02602825 */ move $a1, $s3 /* 0834FC 800828FC 0C0209D7 */ jal func_8008275C /* 083500 80082900 02002025 */ move $a0, $s0 /* 083504 80082904 02002025 */ move $a0, $s0 /* 083508 80082908 0C01C8C8 */ jal func_80072320 /* 08350C 8008290C 24050002 */ li $a1, 2 /* 083510 80082910 10400022 */ beqz $v0, .L8008299C /* 083514 80082914 02002025 */ move $a0, $s0 /* 083518 80082918 0C01C8B3 */ jal func_800722CC /* 08351C 8008291C 24050002 */ li $a1, 2 /* 083520 80082920 83D80000 */ lb $t8, ($fp) /* 083524 80082924 3C19800E */ lui $t9, %hi(D_800DC50C) # $t9, 0x800e /* 083528 80082928 5300001D */ beql $t8, $zero, .L800829A0 /* 08352C 8008292C 26730001 */ addiu $s3, $s3, 1 /* 083530 80082930 A3C00000 */ sb $zero, ($fp) /* 083534 80082934 E6540000 */ swc1 $f20, ($s2) /* 083538 80082938 E6540004 */ swc1 $f20, 4($s2) /* 08353C 8008293C E6540008 */ swc1 $f20, 8($s2) /* 083540 80082940 8F39C50C */ lw $t9, %lo(D_800DC50C)($t9) /* 083544 80082944 24010009 */ li $at, 9 /* 083548 80082948 26240004 */ addiu $a0, $s1, 4 /* 08354C 8008294C 13210006 */ beq $t9, $at, .L80082968 /* 083550 80082950 3C088028 */ lui $t0, %hi(D_802876D2) # $t0, 0x8028 /* 083554 80082954 02402825 */ move $a1, $s2 /* 083558 80082958 0C03262E */ jal func_800C98B8 /* 08355C 8008295C 02E03025 */ move $a2, $s7 /* 083560 80082960 1000000F */ b .L800829A0 /* 083564 80082964 26730001 */ addiu $s3, $s3, 1 .L80082968: /* 083568 80082968 850876D2 */ lh $t0, %lo(D_802876D2)($t0) /* 08356C 8008296C 3C108018 */ lui $s0, %hi(D_80183F2C) # $s0, 0x8018 /* 083570 80082970 8E103F2C */ lw $s0, %lo(D_80183F2C)($s0) /* 083574 80082974 29010097 */ slti $at, $t0, 0x97 /* 083578 80082978 50200009 */ beql $at, $zero, .L800829A0 /* 08357C 8008297C 26730001 */ addiu $s3, $s3, 1 /* 083580 80082980 02160019 */ multu $s0, $s6 /* 083584 80082984 02402825 */ move $a1, $s2 /* 083588 80082988 02E03025 */ move $a2, $s7 /* 08358C 8008298C 00004812 */ mflo $t1 /* 083590 80082990 02A92021 */ addu $a0, $s5, $t1 /* 083594 80082994 0C03262E */ jal func_800C98B8 /* 083598 80082998 24840004 */ addiu $a0, $a0, 4 .L8008299C: /* 08359C 8008299C 26730001 */ addiu $s3, $s3, 1 .L800829A0: /* 0835A0 800829A0 2401000A */ li $at, 10 /* 0835A4 800829A4 1661FFCB */ bne $s3, $at, .L800828D4 /* 0835A8 800829A8 26940004 */ addiu $s4, $s4, 4 /* 0835AC 800829AC 3C038016 */ lui $v1, %hi(D_80165900) # $v1, 0x8016 /* 0835B0 800829B0 24635900 */ addiu $v1, %lo(D_80165900) # addiu $v1, $v1, 0x5900 /* 0835B4 800829B4 84620000 */ lh $v0, ($v1) /* 0835B8 800829B8 3C0B800E */ lui $t3, %hi(D_800DC50C) # $t3, 0x800e /* 0835BC 800829BC 3C0E8016 */ lui $t6, %hi(D_80165908) # $t6, 0x8016 /* 0835C0 800829C0 10400003 */ beqz $v0, .L800829D0 /* 0835C4 800829C4 244AFFFF */ addiu $t2, $v0, -1 /* 0835C8 800829C8 10000011 */ b .L80082A10 /* 0835CC 800829CC A46A0000 */ sh $t2, ($v1) .L800829D0: /* 0835D0 800829D0 8D6BC50C */ lw $t3, %lo(D_800DC50C)($t3) /* 0835D4 800829D4 24010009 */ li $at, 9 /* 0835D8 800829D8 240C003C */ li $t4, 60 /* 0835DC 800829DC 11610003 */ beq $t3, $at, .L800829EC /* 0835E0 800829E0 240D000F */ li $t5, 15 /* 0835E4 800829E4 10000002 */ b .L800829F0 /* 0835E8 800829E8 A46C0000 */ sh $t4, ($v1) .L800829EC: /* 0835EC 800829EC A46D0000 */ sh $t5, ($v1) .L800829F0: /* 0835F0 800829F0 81CE5908 */ lb $t6, %lo(D_80165908)($t6) /* 0835F4 800829F4 51C00007 */ beql $t6, $zero, .L80082A14 /* 0835F8 800829F8 8FBF0044 */ lw $ra, 0x44($sp) /* 0835FC 800829FC 83CF0000 */ lb $t7, ($fp) /* 083600 80082A00 24180001 */ li $t8, 1 /* 083604 80082A04 55E00003 */ bnel $t7, $zero, .L80082A14 /* 083608 80082A08 8FBF0044 */ lw $ra, 0x44($sp) /* 08360C 80082A0C A3D80000 */ sb $t8, ($fp) .L80082A10: /* 083610 80082A10 8FBF0044 */ lw $ra, 0x44($sp) .L80082A14: /* 083614 80082A14 3C018016 */ lui $at, %hi(D_80165908) # $at, 0x8016 /* 083618 80082A18 D7B40018 */ ldc1 $f20, 0x18($sp) /* 08361C 80082A1C 8FB00020 */ lw $s0, 0x20($sp) /* 083620 80082A20 8FB10024 */ lw $s1, 0x24($sp) /* 083624 80082A24 8FB20028 */ lw $s2, 0x28($sp) /* 083628 80082A28 8FB3002C */ lw $s3, 0x2c($sp) /* 08362C 80082A2C 8FB40030 */ lw $s4, 0x30($sp) /* 083630 80082A30 8FB50034 */ lw $s5, 0x34($sp) /* 083634 80082A34 8FB60038 */ lw $s6, 0x38($sp) /* 083638 80082A38 8FB7003C */ lw $s7, 0x3c($sp) /* 08363C 80082A3C 8FBE0040 */ lw $fp, 0x40($sp) /* 083640 80082A40 A0205908 */ sb $zero, %lo(D_80165908)($at) /* 083644 80082A44 03E00008 */ jr $ra /* 083648 80082A48 27BD0048 */ addiu $sp, $sp, 0x48 glabel func_80082A4C /* 08364C 80082A4C 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 083650 80082A50 AFBF0024 */ sw $ra, 0x24($sp) /* 083654 80082A54 AFB0001C */ sw $s0, 0x1c($sp) /* 083658 80082A58 3C050601 */ lui $a1, %hi(D_0600D628) # $a1, 0x601 /* 08365C 80082A5C 3C060601 */ lui $a2, %hi(D_0600D828) # $a2, 0x601 /* 083660 80082A60 240E0040 */ li $t6, 64 /* 083664 80082A64 00808025 */ move $s0, $a0 /* 083668 80082A68 AFB10020 */ sw $s1, 0x20($sp) /* 08366C 80082A6C AFAE0010 */ sw $t6, 0x10($sp) /* 083670 80082A70 24C6D828 */ addiu $a2, %lo(D_0600D828) # addiu $a2, $a2, -0x27d8 /* 083674 80082A74 24A5D628 */ addiu $a1, %lo(D_0600D628) # addiu $a1, $a1, -0x29d8 /* 083678 80082A78 0C01CD11 */ jal func_80073444 /* 08367C 80082A7C 24070040 */ li $a3, 64 /* 083680 80082A80 001078C0 */ sll $t7, $s0, 3 /* 083684 80082A84 01F07823 */ subu $t7, $t7, $s0 /* 083688 80082A88 3C188016 */ lui $t8, %hi(D_80165C18) # $t8, 0x8016 /* 08368C 80082A8C 3C01800F */ lui $at, %hi(D_800EF1A0) # $at, 0x800f /* 083690 80082A90 C424F1A0 */ lwc1 $f4, %lo(D_800EF1A0)($at) /* 083694 80082A94 27185C18 */ addiu $t8, %lo(D_80165C18) # addiu $t8, $t8, 0x5c18 /* 083698 80082A98 000F7940 */ sll $t7, $t7, 5 /* 08369C 80082A9C 01F88821 */ addu $s1, $t7, $t8 /* 0836A0 80082AA0 A22000D2 */ sb $zero, 0xd2($s1) /* 0836A4 80082AA4 02002025 */ move $a0, $s0 /* 0836A8 80082AA8 0C01C922 */ jal func_80072488 /* 0836AC 80082AAC E6240000 */ swc1 $f4, ($s1) /* 0836B0 80082AB0 24190001 */ li $t9, 1 /* 0836B4 80082AB4 3C050400 */ lui $a1, (0x04000420 >> 16) # lui $a1, 0x400 /* 0836B8 80082AB8 A63900C8 */ sh $t9, 0xc8($s1) /* 0836BC 80082ABC 34A50420 */ ori $a1, (0x04000420 & 0xFFFF) # ori $a1, $a1, 0x420 /* 0836C0 80082AC0 0C01C870 */ jal func_800721C0 /* 0836C4 80082AC4 02002025 */ move $a0, $s0 /* 0836C8 80082AC8 02002025 */ move $a0, $s0 /* 0836CC 80082ACC 00002825 */ move $a1, $zero /* 0836D0 80082AD0 0C021BAB */ jal func_80086EAC /* 0836D4 80082AD4 24060001 */ li $a2, 1 /* 0836D8 80082AD8 44800000 */ mtc1 $zero, $f0 /* 0836DC 80082ADC 02002025 */ move $a0, $s0 /* 0836E0 80082AE0 44050000 */ mfc1 $a1, $f0 /* 0836E4 80082AE4 44060000 */ mfc1 $a2, $f0 /* 0836E8 80082AE8 44070000 */ mfc1 $a3, $f0 /* 0836EC 80082AEC 0C022E03 */ jal func_8008B80C /* 0836F0 80082AF0 00000000 */ nop /* 0836F4 80082AF4 02002025 */ move $a0, $s0 /* 0836F8 80082AF8 00002825 */ move $a1, $zero /* 0836FC 80082AFC 00003025 */ move $a2, $zero /* 083700 80082B00 0C022E2F */ jal func_8008B8BC /* 083704 80082B04 34078000 */ li $a3, 32768 /* 083708 80082B08 3C013FC0 */ li $at, 0x3FC00000 # 1.500000 /* 08370C 80082B0C 44813000 */ mtc1 $at, $f6 /* 083710 80082B10 02002025 */ move $a0, $s0 /* 083714 80082B14 24050200 */ li $a1, 512 /* 083718 80082B18 0C01C870 */ jal func_800721C0 /* 08371C 80082B1C E6260034 */ swc1 $f6, 0x34($s1) /* 083720 80082B20 8FBF0024 */ lw $ra, 0x24($sp) /* 083724 80082B24 8FB0001C */ lw $s0, 0x1c($sp) /* 083728 80082B28 8FB10020 */ lw $s1, 0x20($sp) /* 08372C 80082B2C 03E00008 */ jr $ra /* 083730 80082B30 27BD0028 */ addiu $sp, $sp, 0x28 glabel func_80082B34 /* 083734 80082B34 000470C0 */ sll $t6, $a0, 3 /* 083738 80082B38 01C47023 */ subu $t6, $t6, $a0 /* 08373C 80082B3C 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 083740 80082B40 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 083744 80082B44 000E7140 */ sll $t6, $t6, 5 /* 083748 80082B48 01CF4021 */ addu $t0, $t6, $t7 /* 08374C 80082B4C 850300A6 */ lh $v1, 0xa6($t0) /* 083750 80082B50 27BDFFD0 */ addiu $sp, $sp, -0x30 /* 083754 80082B54 AFB00020 */ sw $s0, 0x20($sp) /* 083758 80082B58 00808025 */ move $s0, $a0 /* 08375C 80082B5C AFBF0024 */ sw $ra, 0x24($sp) /* 083760 80082B60 AFA50034 */ sw $a1, 0x34($sp) /* 083764 80082B64 10600028 */ beqz $v1, .L80082C08 /* 083768 80082B68 00601025 */ move $v0, $v1 /* 08376C 80082B6C 24010001 */ li $at, 1 /* 083770 80082B70 10410009 */ beq $v0, $at, .L80082B98 /* 083774 80082B74 02002025 */ move $a0, $s0 /* 083778 80082B78 24010002 */ li $at, 2 /* 08377C 80082B7C 1041000B */ beq $v0, $at, .L80082BAC /* 083780 80082B80 02002025 */ move $a0, $s0 /* 083784 80082B84 24010003 */ li $at, 3 /* 083788 80082B88 10410014 */ beq $v0, $at, .L80082BDC /* 08378C 80082B8C 02002025 */ move $a0, $s0 /* 083790 80082B90 1000001E */ b .L80082C0C /* 083794 80082B94 28610002 */ slti $at, $v1, 2 .L80082B98: /* 083798 80082B98 0C020A93 */ jal func_80082A4C /* 08379C 80082B9C AFA80028 */ sw $t0, 0x28($sp) /* 0837A0 80082BA0 8FA80028 */ lw $t0, 0x28($sp) /* 0837A4 80082BA4 10000018 */ b .L80082C08 /* 0837A8 80082BA8 850300A6 */ lh $v1, 0xa6($t0) .L80082BAC: /* 0837AC 80082BAC 24180002 */ li $t8, 2 /* 0837B0 80082BB0 2419FFFF */ li $t9, -1 /* 0837B4 80082BB4 AFB90014 */ sw $t9, 0x14($sp) /* 0837B8 80082BB8 AFB80010 */ sw $t8, 0x10($sp) /* 0837BC 80082BBC 00002825 */ move $a1, $zero /* 0837C0 80082BC0 24060003 */ li $a2, 3 /* 0837C4 80082BC4 24070001 */ li $a3, 1 /* 0837C8 80082BC8 0C01CB95 */ jal func_80072E54 /* 0837CC 80082BCC AFA80028 */ sw $t0, 0x28($sp) /* 0837D0 80082BD0 8FA80028 */ lw $t0, 0x28($sp) /* 0837D4 80082BD4 1000000C */ b .L80082C08 /* 0837D8 80082BD8 850300A6 */ lh $v1, 0xa6($t0) .L80082BDC: /* 0837DC 80082BDC 24090002 */ li $t1, 2 /* 0837E0 80082BE0 240AFFFF */ li $t2, -1 /* 0837E4 80082BE4 AFAA0014 */ sw $t2, 0x14($sp) /* 0837E8 80082BE8 AFA90010 */ sw $t1, 0x10($sp) /* 0837EC 80082BEC 24050004 */ li $a1, 4 /* 0837F0 80082BF0 24060006 */ li $a2, 6 /* 0837F4 80082BF4 24070001 */ li $a3, 1 /* 0837F8 80082BF8 0C01CB95 */ jal func_80072E54 /* 0837FC 80082BFC AFA80028 */ sw $t0, 0x28($sp) /* 083800 80082C00 8FA80028 */ lw $t0, 0x28($sp) /* 083804 80082C04 850300A6 */ lh $v1, 0xa6($t0) .L80082C08: /* 083808 80082C08 28610002 */ slti $at, $v1, 2 .L80082C0C: /* 08380C 80082C0C 54200004 */ bnel $at, $zero, .L80082C20 /* 083810 80082C10 8FBF0024 */ lw $ra, 0x24($sp) /* 083814 80082C14 0C01CD45 */ jal func_80073514 /* 083818 80082C18 02002025 */ move $a0, $s0 /* 08381C 80082C1C 8FBF0024 */ lw $ra, 0x24($sp) .L80082C20: /* 083820 80082C20 8FB00020 */ lw $s0, 0x20($sp) /* 083824 80082C24 27BD0030 */ addiu $sp, $sp, 0x30 /* 083828 80082C28 03E00008 */ jr $ra /* 08382C 80082C2C 00000000 */ nop glabel func_80082C30 /* 083830 80082C30 000470C0 */ sll $t6, $a0, 3 /* 083834 80082C34 27BDFFD0 */ addiu $sp, $sp, -0x30 /* 083838 80082C38 01C47023 */ subu $t6, $t6, $a0 /* 08383C 80082C3C 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 083840 80082C40 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 083844 80082C44 000E7140 */ sll $t6, $t6, 5 /* 083848 80082C48 01CFC021 */ addu $t8, $t6, $t7 /* 08384C 80082C4C AFBF0024 */ sw $ra, 0x24($sp) /* 083850 80082C50 AFB00020 */ sw $s0, 0x20($sp) /* 083854 80082C54 AFB8002C */ sw $t8, 0x2c($sp) /* 083858 80082C58 871900AE */ lh $t9, 0xae($t8) /* 08385C 80082C5C 00808025 */ move $s0, $a0 /* 083860 80082C60 2728FFFF */ addiu $t0, $t9, -1 /* 083864 80082C64 2D010005 */ sltiu $at, $t0, 5 /* 083868 80082C68 10200054 */ beqz $at, .L80082DBC /* 08386C 80082C6C 00084080 */ sll $t0, $t0, 2 /* 083870 80082C70 3C01800F */ lui $at, %hi(D_800EF1A4) /* 083874 80082C74 00280821 */ addu $at, $at, $t0 /* 083878 80082C78 8C28F1A4 */ lw $t0, %lo(D_800EF1A4)($at) /* 08387C 80082C7C 01000008 */ jr $t0 /* 083880 80082C80 00000000 */ nop glabel L80082C84 /* 083884 80082C84 8FA9002C */ lw $t1, 0x2c($sp) /* 083888 80082C88 02002025 */ move $a0, $s0 /* 08388C 80082C8C C5240010 */ lwc1 $f4, 0x10($t1) /* 083890 80082C90 C528001C */ lwc1 $f8, 0x1c($t1) /* 083894 80082C94 C5300018 */ lwc1 $f16, 0x18($t1) /* 083898 80082C98 4600218D */ trunc.w.s $f6, $f4 /* 08389C 80082C9C C5240024 */ lwc1 $f4, 0x24($t1) /* 0838A0 80082CA0 4600428D */ trunc.w.s $f10, $f8 /* 0838A4 80082CA4 44053000 */ mfc1 $a1, $f6 /* 0838A8 80082CA8 4600848D */ trunc.w.s $f18, $f16 /* 0838AC 80082CAC 44065000 */ mfc1 $a2, $f10 /* 0838B0 80082CB0 00055C00 */ sll $t3, $a1, 0x10 /* 0838B4 80082CB4 4600218D */ trunc.w.s $f6, $f4 /* 0838B8 80082CB8 44079000 */ mfc1 $a3, $f18 /* 0838BC 80082CBC 000B2C03 */ sra $a1, $t3, 0x10 /* 0838C0 80082CC0 00067400 */ sll $t6, $a2, 0x10 /* 0838C4 80082CC4 440B3000 */ mfc1 $t3, $f6 /* 0838C8 80082CC8 0007CC00 */ sll $t9, $a3, 0x10 /* 0838CC 80082CCC 00193C03 */ sra $a3, $t9, 0x10 /* 0838D0 80082CD0 000E3403 */ sra $a2, $t6, 0x10 /* 0838D4 80082CD4 0C021E83 */ jal func_80087A0C /* 0838D8 80082CD8 AFAB0010 */ sw $t3, 0x10($sp) /* 0838DC 80082CDC 10400037 */ beqz $v0, .L80082DBC /* 0838E0 80082CE0 02002025 */ move $a0, $s0 /* 0838E4 80082CE4 0C01C9B3 */ jal func_800726CC /* 0838E8 80082CE8 24050003 */ li $a1, 3 /* 0838EC 80082CEC 0C021BF5 */ jal func_80086FD4 /* 0838F0 80082CF0 02002025 */ move $a0, $s0 /* 0838F4 80082CF4 10000031 */ b .L80082DBC /* 0838F8 80082CF8 00000000 */ nop glabel L80082CFC /* 0838FC 80082CFC 02002025 */ move $a0, $s0 /* 083900 80082D00 0C021C41 */ jal func_80087104 /* 083904 80082D04 2405003C */ li $a1, 60 /* 083908 80082D08 1040002C */ beqz $v0, .L80082DBC /* 08390C 80082D0C 3C01800F */ lui $at, %hi(D_800EF1B8) # $at, 0x800f /* 083910 80082D10 C428F1B8 */ lwc1 $f8, %lo(D_800EF1B8)($at) /* 083914 80082D14 8FAC002C */ lw $t4, 0x2c($sp) /* 083918 80082D18 02002025 */ move $a0, $s0 /* 08391C 80082D1C 24050002 */ li $a1, 2 /* 083920 80082D20 0C01C9B3 */ jal func_800726CC /* 083924 80082D24 E5880034 */ swc1 $f8, 0x34($t4) /* 083928 80082D28 0C021BF5 */ jal func_80086FD4 /* 08392C 80082D2C 02002025 */ move $a0, $s0 /* 083930 80082D30 10000022 */ b .L80082DBC /* 083934 80082D34 00000000 */ nop glabel L80082D38 /* 083938 80082D38 02002025 */ move $a0, $s0 /* 08393C 80082D3C 0C021E55 */ jal func_80087954 /* 083940 80082D40 2405003C */ li $a1, 60 /* 083944 80082D44 1040001D */ beqz $v0, .L80082DBC /* 083948 80082D48 00000000 */ nop /* 08394C 80082D4C 0C021BF5 */ jal func_80086FD4 /* 083950 80082D50 02002025 */ move $a0, $s0 /* 083954 80082D54 02002025 */ move $a0, $s0 /* 083958 80082D58 0C01C9B3 */ jal func_800726CC /* 08395C 80082D5C 24050003 */ li $a1, 3 /* 083960 80082D60 10000016 */ b .L80082DBC /* 083964 80082D64 00000000 */ nop glabel L80082D68 /* 083968 80082D68 02002025 */ move $a0, $s0 /* 08396C 80082D6C 0C021C41 */ jal func_80087104 /* 083970 80082D70 2405003C */ li $a1, 60 /* 083974 80082D74 10400011 */ beqz $v0, .L80082DBC /* 083978 80082D78 02002025 */ move $a0, $s0 /* 08397C 80082D7C 0C01C9B3 */ jal func_800726CC /* 083980 80082D80 24050002 */ li $a1, 2 /* 083984 80082D84 0C021BF5 */ jal func_80086FD4 /* 083988 80082D88 02002025 */ move $a0, $s0 /* 08398C 80082D8C 1000000B */ b .L80082DBC /* 083990 80082D90 00000000 */ nop glabel L80082D94 /* 083994 80082D94 02002025 */ move $a0, $s0 /* 083998 80082D98 0C021E27 */ jal func_8008789C /* 08399C 80082D9C 2405003C */ li $a1, 60 /* 0839A0 80082DA0 10400006 */ beqz $v0, .L80082DBC /* 0839A4 80082DA4 02002025 */ move $a0, $s0 /* 0839A8 80082DA8 0C01C9B3 */ jal func_800726CC /* 0839AC 80082DAC 24050003 */ li $a1, 3 /* 0839B0 80082DB0 02002025 */ move $a0, $s0 /* 0839B4 80082DB4 0C021C07 */ jal func_8008701C /* 0839B8 80082DB8 24050002 */ li $a1, 2 .L80082DBC: /* 0839BC 80082DBC 0C022FC6 */ jal func_8008BF18 /* 0839C0 80082DC0 02002025 */ move $a0, $s0 /* 0839C4 80082DC4 02002025 */ move $a0, $s0 /* 0839C8 80082DC8 0C01C88F */ jal func_8007223C /* 0839CC 80082DCC 3C050004 */ lui $a1, 4 /* 0839D0 80082DD0 5040000D */ beql $v0, $zero, .L80082E08 /* 0839D4 80082DD4 8FBF0024 */ lw $ra, 0x24($sp) /* 0839D8 80082DD8 0C02214E */ jal func_80088538 /* 0839DC 80082DDC 02002025 */ move $a0, $s0 /* 0839E0 80082DE0 8FAD002C */ lw $t5, 0x2c($sp) /* 0839E4 80082DE4 3C014004 */ li $at, 0x40040000 # 2.062500 /* 0839E8 80082DE8 44819800 */ mtc1 $at, $f19 /* 0839EC 80082DEC C5AA0044 */ lwc1 $f10, 0x44($t5) /* 0839F0 80082DF0 44809000 */ mtc1 $zero, $f18 /* 0839F4 80082DF4 46005421 */ cvt.d.s $f16, $f10 /* 0839F8 80082DF8 46328100 */ add.d $f4, $f16, $f18 /* 0839FC 80082DFC 462021A0 */ cvt.s.d $f6, $f4 /* 083A00 80082E00 E5A60008 */ swc1 $f6, 8($t5) /* 083A04 80082E04 8FBF0024 */ lw $ra, 0x24($sp) .L80082E08: /* 083A08 80082E08 8FB00020 */ lw $s0, 0x20($sp) /* 083A0C 80082E0C 27BD0030 */ addiu $sp, $sp, 0x30 /* 083A10 80082E10 03E00008 */ jr $ra /* 083A14 80082E14 00000000 */ nop glabel func_80082E18 /* 083A18 80082E18 000470C0 */ sll $t6, $a0, 3 /* 083A1C 80082E1C 01C47023 */ subu $t6, $t6, $a0 /* 083A20 80082E20 000E7140 */ sll $t6, $t6, 5 /* 083A24 80082E24 3C0F8016 */ lui $t7, %hi(D_80165CBE) # 0x8016 /* 083A28 80082E28 01EE7821 */ addu $t7, $t7, $t6 /* 083A2C 80082E2C 85EF5CBE */ lh $t7, %lo(D_80165CBE)($t7) # 0x5cbe($t7) /* 083A30 80082E30 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 083A34 80082E34 AFBF0014 */ sw $ra, 0x14($sp) /* 083A38 80082E38 29E10002 */ slti $at, $t7, 2 /* 083A3C 80082E3C 54200004 */ bnel $at, $zero, .L80082E50 /* 083A40 80082E40 8FBF0014 */ lw $ra, 0x14($sp) /* 083A44 80082E44 0C0227C9 */ jal func_80089F24 /* 083A48 80082E48 00000000 */ nop /* 083A4C 80082E4C 8FBF0014 */ lw $ra, 0x14($sp) .L80082E50: /* 083A50 80082E50 27BD0018 */ addiu $sp, $sp, 0x18 /* 083A54 80082E54 03E00008 */ jr $ra /* 083A58 80082E58 00000000 */ nop glabel func_80082E5C /* 083A5C 80082E5C 27BDFFC8 */ addiu $sp, $sp, -0x38 /* 083A60 80082E60 AFB30028 */ sw $s3, 0x28($sp) /* 083A64 80082E64 AFB20024 */ sw $s2, 0x24($sp) /* 083A68 80082E68 F7B40010 */ sdc1 $f20, 0x10($sp) /* 083A6C 80082E6C 3C0143FA */ li $at, 0x43FA0000 # 500.000000 /* 083A70 80082E70 AFB50030 */ sw $s5, 0x30($sp) /* 083A74 80082E74 AFB4002C */ sw $s4, 0x2c($sp) /* 083A78 80082E78 AFB10020 */ sw $s1, 0x20($sp) /* 083A7C 80082E7C 3C128018 */ lui $s2, %hi(D_80183EA0) # $s2, 0x8018 /* 083A80 80082E80 3C138016 */ lui $s3, %hi(D_80165C18) # $s3, 0x8016 /* 083A84 80082E84 4481A000 */ mtc1 $at, $f20 /* 083A88 80082E88 AFBF0034 */ sw $ra, 0x34($sp) /* 083A8C 80082E8C AFB0001C */ sw $s0, 0x1c($sp) /* 083A90 80082E90 26735C18 */ addiu $s3, %lo(D_80165C18) # addiu $s3, $s3, 0x5c18 /* 083A94 80082E94 26523EA0 */ addiu $s2, %lo(D_80183EA0) # addiu $s2, $s2, 0x3ea0 /* 083A98 80082E98 00008825 */ move $s1, $zero /* 083A9C 80082E9C 241400E0 */ li $s4, 224 /* 083AA0 80082EA0 2415000A */ li $s5, 10 .L80082EA4: /* 083AA4 80082EA4 8E500000 */ lw $s0, ($s2) /* 083AA8 80082EA8 02140019 */ multu $s0, $s4 /* 083AAC 80082EAC 02002025 */ move $a0, $s0 /* 083AB0 80082EB0 00007012 */ mflo $t6 /* 083AB4 80082EB4 026E7821 */ addu $t7, $s3, $t6 /* 083AB8 80082EB8 85F800A6 */ lh $t8, 0xa6($t7) /* 083ABC 80082EBC 5300000B */ beql $t8, $zero, .L80082EEC /* 083AC0 80082EC0 26310001 */ addiu $s1, $s1, 1 /* 083AC4 80082EC4 0C020ACD */ jal func_80082B34 /* 083AC8 80082EC8 02202825 */ move $a1, $s1 /* 083ACC 80082ECC 4405A000 */ mfc1 $a1, $f20 /* 083AD0 80082ED0 0C0229B7 */ jal func_8008A6DC /* 083AD4 80082ED4 02002025 */ move $a0, $s0 /* 083AD8 80082ED8 0C020B0C */ jal func_80082C30 /* 083ADC 80082EDC 02002025 */ move $a0, $s0 /* 083AE0 80082EE0 0C020B86 */ jal func_80082E18 /* 083AE4 80082EE4 02002025 */ move $a0, $s0 /* 083AE8 80082EE8 26310001 */ addiu $s1, $s1, 1 .L80082EEC: /* 083AEC 80082EEC 1635FFED */ bne $s1, $s5, .L80082EA4 /* 083AF0 80082EF0 26520004 */ addiu $s2, $s2, 4 /* 083AF4 80082EF4 8FBF0034 */ lw $ra, 0x34($sp) /* 083AF8 80082EF8 D7B40010 */ ldc1 $f20, 0x10($sp) /* 083AFC 80082EFC 8FB0001C */ lw $s0, 0x1c($sp) /* 083B00 80082F00 8FB10020 */ lw $s1, 0x20($sp) /* 083B04 80082F04 8FB20024 */ lw $s2, 0x24($sp) /* 083B08 80082F08 8FB30028 */ lw $s3, 0x28($sp) /* 083B0C 80082F0C 8FB4002C */ lw $s4, 0x2c($sp) /* 083B10 80082F10 8FB50030 */ lw $s5, 0x30($sp) /* 083B14 80082F14 03E00008 */ jr $ra /* 083B18 80082F18 27BD0038 */ addiu $sp, $sp, 0x38 glabel func_80082F1C /* 083B1C 80082F1C 000470C0 */ sll $t6, $a0, 3 /* 083B20 80082F20 01C47023 */ subu $t6, $t6, $a0 /* 083B24 80082F24 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 083B28 80082F28 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 083B2C 80082F2C 000E7140 */ sll $t6, $t6, 5 /* 083B30 80082F30 01CF1021 */ addu $v0, $t6, $t7 /* 083B34 80082F34 3C180601 */ lui $t8, %hi(D_06014798) # $t8, 0x601 /* 083B38 80082F38 3C190601 */ lui $t9, %hi(D_06014794) # $t9, 0x601 /* 083B3C 80082F3C 27184798 */ addiu $t8, %lo(D_06014798) # addiu $t8, $t8, 0x4798 /* 083B40 80082F40 27394794 */ addiu $t9, %lo(D_06014794) # addiu $t9, $t9, 0x4794 /* 083B44 80082F44 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 083B48 80082F48 AC580070 */ sw $t8, 0x70($v0) /* 083B4C 80082F4C AC590074 */ sw $t9, 0x74($v0) /* 083B50 80082F50 3C01800F */ lui $at, %hi(D_800EF1BC) # $at, 0x800f /* 083B54 80082F54 C424F1BC */ lwc1 $f4, %lo(D_800EF1BC)($at) /* 083B58 80082F58 AFBF001C */ sw $ra, 0x1c($sp) /* 083B5C 80082F5C AFB00018 */ sw $s0, 0x18($sp) /* 083B60 80082F60 00808025 */ move $s0, $a0 /* 083B64 80082F64 AFA5002C */ sw $a1, 0x2c($sp) /* 083B68 80082F68 0C01C922 */ jal func_80072488 /* 083B6C 80082F6C E4440000 */ swc1 $f4, ($v0) /* 083B70 80082F70 8FA9002C */ lw $t1, 0x2c($sp) /* 083B74 80082F74 3C0B800E */ lui $t3, %hi(D_800E5DF4) # $t3, 0x800e /* 083B78 80082F78 256B5DF4 */ addiu $t3, %lo(D_800E5DF4) # addiu $t3, $t3, 0x5df4 /* 083B7C 80082F7C 000950C0 */ sll $t2, $t1, 3 /* 083B80 80082F80 014B1021 */ addu $v0, $t2, $t3 /* 083B84 80082F84 844C0000 */ lh $t4, ($v0) /* 083B88 80082F88 844D0002 */ lh $t5, 2($v0) /* 083B8C 80082F8C 844E0004 */ lh $t6, 4($v0) /* 083B90 80082F90 448C3000 */ mtc1 $t4, $f6 /* 083B94 80082F94 3C018019 */ lui $at, %hi(D_8018D01C) # $at, 0x8019 /* 083B98 80082F98 C42AD01C */ lwc1 $f10, %lo(D_8018D01C)($at) /* 083B9C 80082F9C 46803220 */ cvt.s.w $f8, $f6 /* 083BA0 80082FA0 448D9000 */ mtc1 $t5, $f18 /* 083BA4 80082FA4 448E2000 */ mtc1 $t6, $f4 /* 083BA8 80082FA8 AFA20024 */ sw $v0, 0x24($sp) /* 083BAC 80082FAC 02002025 */ move $a0, $s0 /* 083BB0 80082FB0 468094A0 */ cvt.s.w $f18, $f18 /* 083BB4 80082FB4 460A4402 */ mul.s $f16, $f8, $f10 /* 083BB8 80082FB8 44069000 */ mfc1 $a2, $f18 /* 083BBC 80082FBC 46802120 */ cvt.s.w $f4, $f4 /* 083BC0 80082FC0 44058000 */ mfc1 $a1, $f16 /* 083BC4 80082FC4 44072000 */ mfc1 $a3, $f4 /* 083BC8 80082FC8 0C022DF5 */ jal func_8008B7D4 /* 083BCC 80082FCC 00000000 */ nop /* 083BD0 80082FD0 44800000 */ mtc1 $zero, $f0 /* 083BD4 80082FD4 02002025 */ move $a0, $s0 /* 083BD8 80082FD8 44050000 */ mfc1 $a1, $f0 /* 083BDC 80082FDC 44060000 */ mfc1 $a2, $f0 /* 083BE0 80082FE0 44070000 */ mfc1 $a3, $f0 /* 083BE4 80082FE4 0C022E03 */ jal func_8008B80C /* 083BE8 80082FE8 00000000 */ nop /* 083BEC 80082FEC 8FA20024 */ lw $v0, 0x24($sp) /* 083BF0 80082FF0 02002025 */ move $a0, $s0 /* 083BF4 80082FF4 00002825 */ move $a1, $zero /* 083BF8 80082FF8 00003825 */ move $a3, $zero /* 083BFC 80082FFC 0C022E22 */ jal func_8008B888 /* 083C00 80083000 94460006 */ lhu $a2, 6($v0) /* 083C04 80083004 8FBF001C */ lw $ra, 0x1c($sp) /* 083C08 80083008 8FB00018 */ lw $s0, 0x18($sp) /* 083C0C 8008300C 27BD0028 */ addiu $sp, $sp, 0x28 /* 083C10 80083010 03E00008 */ jr $ra /* 083C14 80083014 00000000 */ nop glabel func_80083018 /* 083C18 80083018 000470C0 */ sll $t6, $a0, 3 /* 083C1C 8008301C 01C47023 */ subu $t6, $t6, $a0 /* 083C20 80083020 000E7140 */ sll $t6, $t6, 5 /* 083C24 80083024 3C028016 */ lui $v0, %hi(D_80165CBE) # 0x8016 /* 083C28 80083028 004E1021 */ addu $v0, $v0, $t6 /* 083C2C 8008302C 84425CBE */ lh $v0, %lo(D_80165CBE)($v0) # 0x5cbe($v0) /* 083C30 80083030 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 083C34 80083034 AFBF0014 */ sw $ra, 0x14($sp) /* 083C38 80083038 10400005 */ beqz $v0, .L80083050 /* 083C3C 8008303C 24010001 */ li $at, 1 /* 083C40 80083040 54410004 */ bnel $v0, $at, .L80083054 /* 083C44 80083044 8FBF0014 */ lw $ra, 0x14($sp) /* 083C48 80083048 0C020BC7 */ jal func_80082F1C /* 083C4C 8008304C 00000000 */ nop .L80083050: /* 083C50 80083050 8FBF0014 */ lw $ra, 0x14($sp) .L80083054: /* 083C54 80083054 27BD0018 */ addiu $sp, $sp, 0x18 /* 083C58 80083058 03E00008 */ jr $ra /* 083C5C 8008305C 00000000 */ nop glabel func_80083060 /* 083C60 80083060 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 083C64 80083064 AFBF0014 */ sw $ra, 0x14($sp) /* 083C68 80083068 0C022FC6 */ jal func_8008BF18 /* 083C6C 8008306C 00000000 */ nop /* 083C70 80083070 8FBF0014 */ lw $ra, 0x14($sp) /* 083C74 80083074 27BD0018 */ addiu $sp, $sp, 0x18 /* 083C78 80083078 03E00008 */ jr $ra /* 083C7C 8008307C 00000000 */ nop glabel func_80083080 /* 083C80 80083080 27BDFFD0 */ addiu $sp, $sp, -0x30 /* 083C84 80083084 AFB30020 */ sw $s3, 0x20($sp) /* 083C88 80083088 AFB2001C */ sw $s2, 0x1c($sp) /* 083C8C 8008308C AFB50028 */ sw $s5, 0x28($sp) /* 083C90 80083090 AFB40024 */ sw $s4, 0x24($sp) /* 083C94 80083094 AFB10018 */ sw $s1, 0x18($sp) /* 083C98 80083098 3C128018 */ lui $s2, %hi(D_80183EA0) # $s2, 0x8018 /* 083C9C 8008309C 3C138016 */ lui $s3, %hi(D_80165C18) # $s3, 0x8016 /* 083CA0 800830A0 AFBF002C */ sw $ra, 0x2c($sp) /* 083CA4 800830A4 AFB00014 */ sw $s0, 0x14($sp) /* 083CA8 800830A8 26735C18 */ addiu $s3, %lo(D_80165C18) # addiu $s3, $s3, 0x5c18 /* 083CAC 800830AC 26523EA0 */ addiu $s2, %lo(D_80183EA0) # addiu $s2, $s2, 0x3ea0 /* 083CB0 800830B0 00008825 */ move $s1, $zero /* 083CB4 800830B4 241400E0 */ li $s4, 224 /* 083CB8 800830B8 24150004 */ li $s5, 4 .L800830BC: /* 083CBC 800830BC 8E500000 */ lw $s0, ($s2) /* 083CC0 800830C0 02140019 */ multu $s0, $s4 /* 083CC4 800830C4 02002025 */ move $a0, $s0 /* 083CC8 800830C8 00007012 */ mflo $t6 /* 083CCC 800830CC 026E7821 */ addu $t7, $s3, $t6 /* 083CD0 800830D0 85F800A6 */ lh $t8, 0xa6($t7) /* 083CD4 800830D4 53000006 */ beql $t8, $zero, .L800830F0 /* 083CD8 800830D8 26310001 */ addiu $s1, $s1, 1 /* 083CDC 800830DC 0C020C06 */ jal func_80083018 /* 083CE0 800830E0 02202825 */ move $a1, $s1 /* 083CE4 800830E4 0C020C18 */ jal func_80083060 /* 083CE8 800830E8 02002025 */ move $a0, $s0 /* 083CEC 800830EC 26310001 */ addiu $s1, $s1, 1 .L800830F0: /* 083CF0 800830F0 1635FFF2 */ bne $s1, $s5, .L800830BC /* 083CF4 800830F4 26520004 */ addiu $s2, $s2, 4 /* 083CF8 800830F8 8FBF002C */ lw $ra, 0x2c($sp) /* 083CFC 800830FC 8FB00014 */ lw $s0, 0x14($sp) /* 083D00 80083100 8FB10018 */ lw $s1, 0x18($sp) /* 083D04 80083104 8FB2001C */ lw $s2, 0x1c($sp) /* 083D08 80083108 8FB30020 */ lw $s3, 0x20($sp) /* 083D0C 8008310C 8FB40024 */ lw $s4, 0x24($sp) /* 083D10 80083110 8FB50028 */ lw $s5, 0x28($sp) /* 083D14 80083114 03E00008 */ jr $ra /* 083D18 80083118 27BD0030 */ addiu $sp, $sp, 0x30 glabel func_8008311C /* 083D1C 8008311C 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 083D20 80083120 AFA5002C */ sw $a1, 0x2c($sp) /* 083D24 80083124 AFBF0024 */ sw $ra, 0x24($sp) /* 083D28 80083128 AFB10020 */ sw $s1, 0x20($sp) /* 083D2C 8008312C 3C050601 */ lui $a1, %hi(D_06014908) # $a1, 0x601 /* 083D30 80083130 3C060601 */ lui $a2, %hi(D_06014B08) # $a2, 0x601 /* 083D34 80083134 240E0040 */ li $t6, 64 /* 083D38 80083138 00808825 */ move $s1, $a0 /* 083D3C 8008313C AFB0001C */ sw $s0, 0x1c($sp) /* 083D40 80083140 AFAE0010 */ sw $t6, 0x10($sp) /* 083D44 80083144 24C64B08 */ addiu $a2, %lo(D_06014B08) # addiu $a2, $a2, 0x4b08 /* 083D48 80083148 24A54908 */ addiu $a1, %lo(D_06014908) # addiu $a1, $a1, 0x4908 /* 083D4C 8008314C 0C01CD11 */ jal func_80073444 /* 083D50 80083150 24070040 */ li $a3, 64 /* 083D54 80083154 001178C0 */ sll $t7, $s1, 3 /* 083D58 80083158 01F17823 */ subu $t7, $t7, $s1 /* 083D5C 8008315C 3C188016 */ lui $t8, %hi(D_80165C18) # $t8, 0x8016 /* 083D60 80083160 27185C18 */ addiu $t8, %lo(D_80165C18) # addiu $t8, $t8, 0x5c18 /* 083D64 80083164 000F7940 */ sll $t7, $t7, 5 /* 083D68 80083168 01F88021 */ addu $s0, $t7, $t8 /* 083D6C 8008316C 3C190601 */ lui $t9, %hi(D_06014908) # $t9, 0x601 /* 083D70 80083170 3C080601 */ lui $t0, %hi(D_06014B08) # $t0, 0x601 /* 083D74 80083174 3C090D00 */ lui $t1, %hi(D_0D0060B0) # $t1, 0xd00 /* 083D78 80083178 27394908 */ addiu $t9, %lo(D_06014908) # addiu $t9, $t9, 0x4908 /* 083D7C 8008317C 25084B08 */ addiu $t0, %lo(D_06014B08) # addiu $t0, $t0, 0x4b08 /* 083D80 80083180 252960B0 */ addiu $t1, %lo(D_0D0060B0) # addiu $t1, $t1, 0x60b0 /* 083D84 80083184 AE190060 */ sw $t9, 0x60($s0) /* 083D88 80083188 AE080064 */ sw $t0, 0x64($s0) /* 083D8C 8008318C AE090074 */ sw $t1, 0x74($s0) /* 083D90 80083190 3C01800F */ lui $at, %hi(D_800EF1C0) # $at, 0x800f /* 083D94 80083194 C424F1C0 */ lwc1 $f4, %lo(D_800EF1C0)($at) /* 083D98 80083198 A20000D2 */ sb $zero, 0xd2($s0) /* 083D9C 8008319C 02202025 */ move $a0, $s1 /* 083DA0 800831A0 0C01C922 */ jal func_80072488 /* 083DA4 800831A4 E6040000 */ swc1 $f4, ($s0) /* 083DA8 800831A8 44800000 */ mtc1 $zero, $f0 /* 083DAC 800831AC 02202025 */ move $a0, $s1 /* 083DB0 800831B0 44050000 */ mfc1 $a1, $f0 /* 083DB4 800831B4 44060000 */ mfc1 $a2, $f0 /* 083DB8 800831B8 44070000 */ mfc1 $a3, $f0 /* 083DBC 800831BC 0C022E03 */ jal func_8008B80C /* 083DC0 800831C0 00000000 */ nop /* 083DC4 800831C4 02202025 */ move $a0, $s1 /* 083DC8 800831C8 00002825 */ move $a1, $zero /* 083DCC 800831CC 00003025 */ move $a2, $zero /* 083DD0 800831D0 0C022E2F */ jal func_8008B8BC /* 083DD4 800831D4 34078000 */ li $a3, 32768 /* 083DD8 800831D8 8FAA002C */ lw $t2, 0x2c($sp) /* 083DDC 800831DC 24010006 */ li $at, 6 /* 083DE0 800831E0 44809000 */ mtc1 $zero, $f18 /* 083DE4 800831E4 0141001A */ div $zero, $t2, $at /* 083DE8 800831E8 00005810 */ mfhi $t3 /* 083DEC 800831EC 448B3000 */ mtc1 $t3, $f6 /* 083DF0 800831F0 3C01800F */ lui $at, %hi(D_800EF1C8) /* 083DF4 800831F4 D42AF1C8 */ ldc1 $f10, %lo(D_800EF1C8)($at) /* 083DF8 800831F8 46803221 */ cvt.d.w $f8, $f6 /* 083DFC 800831FC 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 /* 083E00 80083200 44819800 */ mtc1 $at, $f19 /* 083E04 80083204 02202025 */ move $a0, $s1 /* 083E08 80083208 462A4402 */ mul.d $f16, $f8, $f10 /* 083E0C 8008320C 46328100 */ add.d $f4, $f16, $f18 /* 083E10 80083210 462021A0 */ cvt.s.d $f6, $f4 /* 083E14 80083214 0C021B9C */ jal func_80086E70 /* 083E18 80083218 E6060034 */ swc1 $f6, 0x34($s0) /* 083E1C 8008321C 3C050400 */ lui $a1, (0x04000600 >> 16) # lui $a1, 0x400 /* 083E20 80083220 34A50600 */ ori $a1, (0x04000600 & 0xFFFF) # ori $a1, $a1, 0x600 /* 083E24 80083224 0C01C870 */ jal func_800721C0 /* 083E28 80083228 02202025 */ move $a0, $s1 /* 083E2C 8008322C 8FBF0024 */ lw $ra, 0x24($sp) /* 083E30 80083230 240C0002 */ li $t4, 2 /* 083E34 80083234 A60C00C8 */ sh $t4, 0xc8($s0) /* 083E38 80083238 8FB0001C */ lw $s0, 0x1c($sp) /* 083E3C 8008323C 8FB10020 */ lw $s1, 0x20($sp) /* 083E40 80083240 03E00008 */ jr $ra /* 083E44 80083244 27BD0028 */ addiu $sp, $sp, 0x28 glabel func_80083248 /* 083E48 80083248 000470C0 */ sll $t6, $a0, 3 /* 083E4C 8008324C 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 083E50 80083250 01C47023 */ subu $t6, $t6, $a0 /* 083E54 80083254 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 083E58 80083258 AFB10020 */ sw $s1, 0x20($sp) /* 083E5C 8008325C 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 083E60 80083260 000E7140 */ sll $t6, $t6, 5 /* 083E64 80083264 01CF8821 */ addu $s1, $t6, $t7 /* 083E68 80083268 963800AE */ lhu $t8, 0xae($s1) /* 083E6C 8008326C AFB0001C */ sw $s0, 0x1c($sp) /* 083E70 80083270 00808025 */ move $s0, $a0 /* 083E74 80083274 2F010005 */ sltiu $at, $t8, 5 /* 083E78 80083278 1020003B */ beqz $at, .L80083368 /* 083E7C 8008327C AFBF0024 */ sw $ra, 0x24($sp) /* 083E80 80083280 0018C080 */ sll $t8, $t8, 2 /* 083E84 80083284 3C01800F */ lui $at, %hi(D_800EF1D0) /* 083E88 80083288 00380821 */ addu $at, $at, $t8 /* 083E8C 8008328C 8C38F1D0 */ lw $t8, %lo(D_800EF1D0)($at) /* 083E90 80083290 03000008 */ jr $t8 /* 083E94 80083294 00000000 */ nop glabel L80083298 /* 083E98 80083298 C6240010 */ lwc1 $f4, 0x10($s1) /* 083E9C 8008329C C6280018 */ lwc1 $f8, 0x18($s1) /* 083EA0 800832A0 862D009E */ lh $t5, 0x9e($s1) /* 083EA4 800832A4 4600218D */ trunc.w.s $f6, $f4 /* 083EA8 800832A8 02002025 */ move $a0, $s0 /* 083EAC 800832AC 8626009C */ lh $a2, 0x9c($s1) /* 083EB0 800832B0 4600428D */ trunc.w.s $f10, $f8 /* 083EB4 800832B4 44053000 */ mfc1 $a1, $f6 /* 083EB8 800832B8 AFAD0010 */ sw $t5, 0x10($sp) /* 083EBC 800832BC 44075000 */ mfc1 $a3, $f10 /* 083EC0 800832C0 00054400 */ sll $t0, $a1, 0x10 /* 083EC4 800832C4 00082C03 */ sra $a1, $t0, 0x10 /* 083EC8 800832C8 00075C00 */ sll $t3, $a3, 0x10 /* 083ECC 800832CC 0C021E83 */ jal func_80087A0C /* 083ED0 800832D0 000B3C03 */ sra $a3, $t3, 0x10 /* 083ED4 800832D4 10400024 */ beqz $v0, .L80083368 /* 083ED8 800832D8 00000000 */ nop /* 083EDC 800832DC 0C021BF5 */ jal func_80086FD4 /* 083EE0 800832E0 02002025 */ move $a0, $s0 /* 083EE4 800832E4 10000020 */ b .L80083368 /* 083EE8 800832E8 00000000 */ nop glabel L800832EC /* 083EEC 800832EC 02002025 */ move $a0, $s0 /* 083EF0 800832F0 0C021C6B */ jal func_800871AC /* 083EF4 800832F4 2405003C */ li $a1, 60 /* 083EF8 800832F8 1000001B */ b .L80083368 /* 083EFC 800832FC 00000000 */ nop glabel L80083300 /* 083F00 80083300 C6300010 */ lwc1 $f16, 0x10($s1) /* 083F04 80083304 C6240018 */ lwc1 $f4, 0x18($s1) /* 083F08 80083308 02002025 */ move $a0, $s0 /* 083F0C 8008330C 4600848D */ trunc.w.s $f18, $f16 /* 083F10 80083310 8625009C */ lh $a1, 0x9c($s1) /* 083F14 80083314 8627009E */ lh $a3, 0x9e($s1) /* 083F18 80083318 4600218D */ trunc.w.s $f6, $f4 /* 083F1C 8008331C 44069000 */ mfc1 $a2, $f18 /* 083F20 80083320 44083000 */ mfc1 $t0, $f6 /* 083F24 80083324 00067C00 */ sll $t7, $a2, 0x10 /* 083F28 80083328 000F3403 */ sra $a2, $t7, 0x10 /* 083F2C 8008332C 0C021E83 */ jal func_80087A0C /* 083F30 80083330 AFA80010 */ sw $t0, 0x10($sp) /* 083F34 80083334 1040000C */ beqz $v0, .L80083368 /* 083F38 80083338 00000000 */ nop /* 083F3C 8008333C 0C021BF5 */ jal func_80086FD4 /* 083F40 80083340 02002025 */ move $a0, $s0 /* 083F44 80083344 10000008 */ b .L80083368 /* 083F48 80083348 00000000 */ nop glabel L8008334C /* 083F4C 8008334C 02002025 */ move $a0, $s0 /* 083F50 80083350 0C021C18 */ jal func_80087060 /* 083F54 80083354 2405003C */ li $a1, 60 /* 083F58 80083358 10400003 */ beqz $v0, .L80083368 /* 083F5C 8008335C 02002025 */ move $a0, $s0 /* 083F60 80083360 0C021C07 */ jal func_8008701C /* 083F64 80083364 24050001 */ li $a1, 1 .L80083368: glabel L80083368 /* 083F68 80083368 0C022FC6 */ jal func_8008BF18 /* 083F6C 8008336C 02002025 */ move $a0, $s0 /* 083F70 80083370 02002025 */ move $a0, $s0 /* 083F74 80083374 0C01C88F */ jal func_8007223C /* 083F78 80083378 3C050020 */ lui $a1, 0x20 /* 083F7C 8008337C 1040000F */ beqz $v0, .L800833BC /* 083F80 80083380 02002025 */ move $a0, $s0 /* 083F84 80083384 0C01C88F */ jal func_8007223C /* 083F88 80083388 3C050040 */ lui $a1, 0x40 /* 083F8C 8008338C 50400004 */ beql $v0, $zero, .L800833A0 /* 083F90 80083390 C6280044 */ lwc1 $f8, 0x44($s1) /* 083F94 80083394 0C022187 */ jal func_8008861C /* 083F98 80083398 02002025 */ move $a0, $s0 /* 083F9C 8008339C C6280044 */ lwc1 $f8, 0x44($s1) .L800833A0: /* 083FA0 800833A0 3C014018 */ li $at, 0x40180000 # 2.375000 /* 083FA4 800833A4 44818800 */ mtc1 $at, $f17 /* 083FA8 800833A8 44808000 */ mtc1 $zero, $f16 /* 083FAC 800833AC 460042A1 */ cvt.d.s $f10, $f8 /* 083FB0 800833B0 46305480 */ add.d $f18, $f10, $f16 /* 083FB4 800833B4 46209120 */ cvt.s.d $f4, $f18 /* 083FB8 800833B8 E6240008 */ swc1 $f4, 8($s1) .L800833BC: /* 083FBC 800833BC 8FBF0024 */ lw $ra, 0x24($sp) /* 083FC0 800833C0 8FB0001C */ lw $s0, 0x1c($sp) /* 083FC4 800833C4 8FB10020 */ lw $s1, 0x20($sp) /* 083FC8 800833C8 03E00008 */ jr $ra /* 083FCC 800833CC 27BD0028 */ addiu $sp, $sp, 0x28 glabel func_800833D0 /* 083FD0 800833D0 000470C0 */ sll $t6, $a0, 3 /* 083FD4 800833D4 01C47023 */ subu $t6, $t6, $a0 /* 083FD8 800833D8 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 083FDC 800833DC 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 083FE0 800833E0 000E7140 */ sll $t6, $t6, 5 /* 083FE4 800833E4 01CF1821 */ addu $v1, $t6, $t7 /* 083FE8 800833E8 846200A6 */ lh $v0, 0xa6($v1) /* 083FEC 800833EC 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 083FF0 800833F0 AFBF001C */ sw $ra, 0x1c($sp) /* 083FF4 800833F4 10400012 */ beqz $v0, .L80083440 /* 083FF8 800833F8 24010001 */ li $at, 1 /* 083FFC 800833FC 10410005 */ beq $v0, $at, .L80083414 /* 084000 80083400 24010002 */ li $at, 2 /* 084004 80083404 10410007 */ beq $v0, $at, .L80083424 /* 084008 80083408 00002825 */ move $a1, $zero /* 08400C 8008340C 1000000D */ b .L80083444 /* 084010 80083410 807900D2 */ lb $t9, 0xd2($v1) .L80083414: /* 084014 80083414 0C020C47 */ jal func_8008311C /* 084018 80083418 AFA30020 */ sw $v1, 0x20($sp) /* 08401C 8008341C 10000008 */ b .L80083440 /* 084020 80083420 8FA30020 */ lw $v1, 0x20($sp) .L80083424: /* 084024 80083424 2418FFFF */ li $t8, -1 /* 084028 80083428 AFB80010 */ sw $t8, 0x10($sp) /* 08402C 8008342C 24060001 */ li $a2, 1 /* 084030 80083430 24070004 */ li $a3, 4 /* 084034 80083434 0C01CB4F */ jal func_80072D3C /* 084038 80083438 AFA30020 */ sw $v1, 0x20($sp) /* 08403C 8008343C 8FA30020 */ lw $v1, 0x20($sp) .L80083440: /* 084040 80083440 807900D2 */ lb $t9, 0xd2($v1) .L80083444: /* 084044 80083444 3C090D00 */ lui $t1, %hi(D_0D006130) # $t1, 0xd00 /* 084048 80083448 3C080D00 */ lui $t0, %hi(D_0D0060B0) # $t0, 0xd00 /* 08404C 8008344C 17200004 */ bnez $t9, .L80083460 /* 084050 80083450 25296130 */ addiu $t1, %lo(D_0D006130) # addiu $t1, $t1, 0x6130 /* 084054 80083454 250860B0 */ addiu $t0, %lo(D_0D0060B0) # addiu $t0, $t0, 0x60b0 /* 084058 80083458 10000002 */ b .L80083464 /* 08405C 8008345C AC680074 */ sw $t0, 0x74($v1) .L80083460: /* 084060 80083460 AC690074 */ sw $t1, 0x74($v1) .L80083464: /* 084064 80083464 8FBF001C */ lw $ra, 0x1c($sp) /* 084068 80083468 27BD0028 */ addiu $sp, $sp, 0x28 /* 08406C 8008346C 03E00008 */ jr $ra /* 084070 80083470 00000000 */ nop glabel func_80083474 /* 084074 80083474 000470C0 */ sll $t6, $a0, 3 /* 084078 80083478 01C47023 */ subu $t6, $t6, $a0 /* 08407C 8008347C 000E7140 */ sll $t6, $t6, 5 /* 084080 80083480 3C0F8016 */ lui $t7, %hi(D_80165CBE) # 0x8016 /* 084084 80083484 01EE7821 */ addu $t7, $t7, $t6 /* 084088 80083488 85EF5CBE */ lh $t7, %lo(D_80165CBE)($t7) # 0x5cbe($t7) /* 08408C 8008348C 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 084090 80083490 AFBF0014 */ sw $ra, 0x14($sp) /* 084094 80083494 29E10002 */ slti $at, $t7, 2 /* 084098 80083498 54200004 */ bnel $at, $zero, .L800834AC /* 08409C 8008349C 8FBF0014 */ lw $ra, 0x14($sp) /* 0840A0 800834A0 0C0227C9 */ jal func_80089F24 /* 0840A4 800834A4 00000000 */ nop /* 0840A8 800834A8 8FBF0014 */ lw $ra, 0x14($sp) .L800834AC: /* 0840AC 800834AC 27BD0018 */ addiu $sp, $sp, 0x18 /* 0840B0 800834B0 03E00008 */ jr $ra /* 0840B4 800834B4 00000000 */ nop glabel func_800834B8 /* 0840B8 800834B8 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 0840BC 800834BC AFB2001C */ sw $s2, 0x1c($sp) /* 0840C0 800834C0 AFB30020 */ sw $s3, 0x20($sp) /* 0840C4 800834C4 AFB00014 */ sw $s0, 0x14($sp) /* 0840C8 800834C8 3C128018 */ lui $s2, %hi(D_80183F28) # $s2, 0x8018 /* 0840CC 800834CC AFBF0024 */ sw $ra, 0x24($sp) /* 0840D0 800834D0 AFB10018 */ sw $s1, 0x18($sp) /* 0840D4 800834D4 26523F28 */ addiu $s2, %lo(D_80183F28) # addiu $s2, $s2, 0x3f28 /* 0840D8 800834D8 00008025 */ move $s0, $zero /* 0840DC 800834DC 2413000F */ li $s3, 15 .L800834E0: /* 0840E0 800834E0 8E510000 */ lw $s1, ($s2) /* 0840E4 800834E4 02002825 */ move $a1, $s0 /* 0840E8 800834E8 0C020CF4 */ jal func_800833D0 /* 0840EC 800834EC 02202025 */ move $a0, $s1 /* 0840F0 800834F0 0C020C92 */ jal func_80083248 /* 0840F4 800834F4 02202025 */ move $a0, $s1 /* 0840F8 800834F8 0C020D1D */ jal func_80083474 /* 0840FC 800834FC 02202025 */ move $a0, $s1 /* 084100 80083500 26100001 */ addiu $s0, $s0, 1 /* 084104 80083504 1613FFF6 */ bne $s0, $s3, .L800834E0 /* 084108 80083508 26520004 */ addiu $s2, $s2, 4 /* 08410C 8008350C 3C048018 */ lui $a0, %hi(D_80183F28) # $a0, 0x8018 /* 084110 80083510 24843F28 */ addiu $a0, %lo(D_80183F28) # addiu $a0, $a0, 0x3f28 /* 084114 80083514 0C01C848 */ jal func_80072120 /* 084118 80083518 2405000F */ li $a1, 15 /* 08411C 8008351C 8FBF0024 */ lw $ra, 0x24($sp) /* 084120 80083520 8FB00014 */ lw $s0, 0x14($sp) /* 084124 80083524 8FB10018 */ lw $s1, 0x18($sp) /* 084128 80083528 8FB2001C */ lw $s2, 0x1c($sp) /* 08412C 8008352C 8FB30020 */ lw $s3, 0x20($sp) /* 084130 80083530 03E00008 */ jr $ra /* 084134 80083534 27BD0028 */ addiu $sp, $sp, 0x28 glabel func_80083538 /* 084138 80083538 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 08413C 8008353C AFBF001C */ sw $ra, 0x1c($sp) /* 084140 80083540 AFA50024 */ sw $a1, 0x24($sp) /* 084144 80083544 AFB00018 */ sw $s0, 0x18($sp) /* 084148 80083548 AFA40020 */ sw $a0, 0x20($sp) /* 08414C 8008354C AFA60028 */ sw $a2, 0x28($sp) /* 084150 80083550 AFA7002C */ sw $a3, 0x2c($sp) /* 084154 80083554 0C01C8E9 */ jal func_800723A4 /* 084158 80083558 00002825 */ move $a1, $zero /* 08415C 8008355C 8FAE0020 */ lw $t6, 0x20($sp) /* 084160 80083560 3C188016 */ lui $t8, %hi(D_80165C18) # $t8, 0x8016 /* 084164 80083564 27185C18 */ addiu $t8, %lo(D_80165C18) # addiu $t8, $t8, 0x5c18 /* 084168 80083568 000E78C0 */ sll $t7, $t6, 3 /* 08416C 8008356C 01EE7823 */ subu $t7, $t7, $t6 /* 084170 80083570 000F7940 */ sll $t7, $t7, 5 /* 084174 80083574 01F88021 */ addu $s0, $t7, $t8 /* 084178 80083578 3C020600 */ lui $v0, %hi(D_06006F20) # $v0, 0x600 /* 08417C 8008357C 3C030600 */ lui $v1, %hi(D_06006D20) # $v1, 0x600 /* 084180 80083580 24636D20 */ addiu $v1, %lo(D_06006D20) # addiu $v1, $v1, 0x6d20 /* 084184 80083584 24426F20 */ addiu $v0, %lo(D_06006F20) # addiu $v0, $v0, 0x6f20 /* 084188 80083588 AE020064 */ sw $v0, 0x64($s0) /* 08418C 8008358C AE02006C */ sw $v0, 0x6c($s0) /* 084190 80083590 AE030060 */ sw $v1, 0x60($s0) /* 084194 80083594 AE030068 */ sw $v1, 0x68($s0) /* 084198 80083598 0C0ADF8D */ jal random_int /* 08419C 8008359C 24040064 */ li $a0, 100 /* 0841A0 800835A0 44822000 */ mtc1 $v0, $f4 /* 0841A4 800835A4 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 /* 0841A8 800835A8 04410004 */ bgez $v0, .L800835BC /* 0841AC 800835AC 468021A0 */ cvt.s.w $f6, $f4 /* 0841B0 800835B0 44814000 */ mtc1 $at, $f8 /* 0841B4 800835B4 00000000 */ nop /* 0841B8 800835B8 46083180 */ add.s $f6, $f6, $f8 .L800835BC: /* 0841BC 800835BC 3C01800F */ lui $at, %hi(D_800EF1E8) /* 0841C0 800835C0 D430F1E8 */ ldc1 $f16, %lo(D_800EF1E8)($at) /* 0841C4 800835C4 460032A1 */ cvt.d.s $f10, $f6 /* 0841C8 800835C8 3C01800F */ lui $at, %hi(D_800EF1F0) /* 0841CC 800835CC 46305482 */ mul.d $f18, $f10, $f16 /* 0841D0 800835D0 D424F1F0 */ ldc1 $f4, %lo(D_800EF1F0)($at) /* 0841D4 800835D4 24040014 */ li $a0, 20 /* 0841D8 800835D8 46249200 */ add.d $f8, $f18, $f4 /* 0841DC 800835DC 462041A0 */ cvt.s.d $f6, $f8 /* 0841E0 800835E0 0C0ADF8D */ jal random_int /* 0841E4 800835E4 E6060000 */ swc1 $f6, ($s0) /* 0841E8 800835E8 44825000 */ mtc1 $v0, $f10 /* 0841EC 800835EC 44804000 */ mtc1 $zero, $f8 /* 0841F0 800835F0 04410005 */ bgez $v0, .L80083608 /* 0841F4 800835F4 46805420 */ cvt.s.w $f16, $f10 /* 0841F8 800835F8 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 /* 0841FC 800835FC 44819000 */ mtc1 $at, $f18 /* 084200 80083600 00000000 */ nop /* 084204 80083604 46128400 */ add.s $f16, $f16, $f18 .L80083608: /* 084208 80083608 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 /* 08420C 8008360C 44814800 */ mtc1 $at, $f9 /* 084210 80083610 46008121 */ cvt.d.s $f4, $f16 /* 084214 80083614 3C01800F */ lui $at, %hi(D_800EF1F8) /* 084218 80083618 46282182 */ mul.d $f6, $f4, $f8 /* 08421C 8008361C D42AF1F8 */ ldc1 $f10, %lo(D_800EF1F8)($at) /* 084220 80083620 2404000A */ li $a0, 10 /* 084224 80083624 462A3480 */ add.d $f18, $f6, $f10 /* 084228 80083628 46209420 */ cvt.s.d $f16, $f18 /* 08422C 8008362C 0C0ADF8D */ jal random_int /* 084230 80083630 E610003C */ swc1 $f16, 0x3c($s0) /* 084234 80083634 44822000 */ mtc1 $v0, $f4 /* 084238 80083638 8FA30024 */ lw $v1, 0x24($sp) /* 08423C 8008363C 04410005 */ bgez $v0, .L80083654 /* 084240 80083640 46802220 */ cvt.s.w $f8, $f4 /* 084244 80083644 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 /* 084248 80083648 44813000 */ mtc1 $at, $f6 /* 08424C 8008364C 00000000 */ nop /* 084250 80083650 46064200 */ add.s $f8, $f8, $f6 .L80083654: /* 084254 80083654 8FB90028 */ lw $t9, 0x28($sp) /* 084258 80083658 8FA9002C */ lw $t1, 0x2c($sp) /* 08425C 8008365C 3C01800F */ lui $at, %hi(D_800EF200) /* 084260 80083660 00194400 */ sll $t0, $t9, 0x10 /* 084264 80083664 0109001A */ div $zero, $t0, $t1 /* 084268 80083668 D432F200 */ ldc1 $f18, %lo(D_800EF200)($at) /* 08426C 8008366C 460042A1 */ cvt.d.s $f10, $f8 /* 084270 80083670 3C014012 */ li $at, 0x40120000 # 2.281250 /* 084274 80083674 46325402 */ mul.d $f16, $f10, $f18 /* 084278 80083678 44812800 */ mtc1 $at, $f5 /* 08427C 8008367C 44802000 */ mtc1 $zero, $f4 /* 084280 80083680 00005012 */ mflo $t2 /* 084284 80083684 A60A00C0 */ sh $t2, 0xc0($s0) /* 084288 80083688 24044000 */ li $a0, 16384 /* 08428C 8008368C 46248180 */ add.d $f6, $f16, $f4 /* 084290 80083690 46203220 */ cvt.s.d $f8, $f6 /* 084294 80083694 E6080034 */ swc1 $f8, 0x34($s0) /* 084298 80083698 C46A0000 */ lwc1 $f10, ($v1) /* 08429C 8008369C 15200002 */ bnez $t1, .L800836A8 /* 0842A0 800836A0 00000000 */ nop /* 0842A4 800836A4 0007000D */ break 7 .L800836A8: /* 0842A8 800836A8 2401FFFF */ li $at, -1 /* 0842AC 800836AC 15210004 */ bne $t1, $at, .L800836C0 /* 0842B0 800836B0 3C018000 */ lui $at, 0x8000 /* 0842B4 800836B4 15010002 */ bne $t0, $at, .L800836C0 /* 0842B8 800836B8 00000000 */ nop /* 0842BC 800836BC 0006000D */ break 6 .L800836C0: /* 0842C0 800836C0 E60A0010 */ swc1 $f10, 0x10($s0) /* 0842C4 800836C4 C4720004 */ lwc1 $f18, 4($v1) /* 0842C8 800836C8 E6120014 */ swc1 $f18, 0x14($s0) /* 0842CC 800836CC C4700008 */ lwc1 $f16, 8($v1) /* 0842D0 800836D0 0C0ADF8D */ jal random_int /* 0842D4 800836D4 E6100018 */ swc1 $f16, 0x18($s0) /* 0842D8 800836D8 8FBF001C */ lw $ra, 0x1c($sp) /* 0842DC 800836DC 244B1000 */ addiu $t3, $v0, 0x1000 /* 0842E0 800836E0 A60B00A0 */ sh $t3, 0xa0($s0) /* 0842E4 800836E4 8FB00018 */ lw $s0, 0x18($sp) /* 0842E8 800836E8 03E00008 */ jr $ra /* 0842EC 800836EC 27BD0020 */ addiu $sp, $sp, 0x20 glabel func_800836F0 /* 0842F0 800836F0 27BDFFD0 */ addiu $sp, $sp, -0x30 /* 0842F4 800836F4 AFB10018 */ sw $s1, 0x18($sp) /* 0842F8 800836F8 3C118019 */ lui $s1, %hi(D_8018D3BC) # $s1, 0x8019 /* 0842FC 800836FC 2631D3BC */ addiu $s1, %lo(D_8018D3BC) # addiu $s1, $s1, -0x2c44 /* 084300 80083700 8E2E0000 */ lw $t6, ($s1) /* 084304 80083704 AFB50028 */ sw $s5, 0x28($sp) /* 084308 80083708 AFB00014 */ sw $s0, 0x14($sp) /* 08430C 8008370C 0080A825 */ move $s5, $a0 /* 084310 80083710 AFBF002C */ sw $ra, 0x2c($sp) /* 084314 80083714 AFB40024 */ sw $s4, 0x24($sp) /* 084318 80083718 AFB30020 */ sw $s3, 0x20($sp) /* 08431C 8008371C AFB2001C */ sw $s2, 0x1c($sp) /* 084320 80083720 19C00015 */ blez $t6, .L80083778 /* 084324 80083724 00008025 */ move $s0, $zero /* 084328 80083728 3C138018 */ lui $s3, %hi(D_80183E4C) # $s3, 0x8018 /* 08432C 8008372C 3C128019 */ lui $s2, %hi(D_8018C3F0) # $s2, 0x8019 /* 084330 80083730 2652C3F0 */ addiu $s2, %lo(D_8018C3F0) # addiu $s2, $s2, -0x3c10 /* 084334 80083734 26733E4C */ addiu $s3, %lo(D_80183E4C) # addiu $s3, $s3, 0x3e4c /* 084338 80083738 2414FFFF */ li $s4, -1 /* 08433C 8008373C 02402025 */ move $a0, $s2 .L80083740: /* 084340 80083740 02602825 */ move $a1, $s3 /* 084344 80083744 0C01C811 */ jal func_80072044 /* 084348 80083748 24060080 */ li $a2, 128 /* 08434C 8008374C 1054000A */ beq $v0, $s4, .L80083778 /* 084350 80083750 00402025 */ move $a0, $v0 /* 084354 80083754 02A02825 */ move $a1, $s5 /* 084358 80083758 02003025 */ move $a2, $s0 /* 08435C 8008375C 0C020D4E */ jal func_80083538 /* 084360 80083760 8E270000 */ lw $a3, ($s1) /* 084364 80083764 8E2F0000 */ lw $t7, ($s1) /* 084368 80083768 26100001 */ addiu $s0, $s0, 1 /* 08436C 8008376C 020F082A */ slt $at, $s0, $t7 /* 084370 80083770 5420FFF3 */ bnel $at, $zero, .L80083740 /* 084374 80083774 02402025 */ move $a0, $s2 .L80083778: /* 084378 80083778 8FBF002C */ lw $ra, 0x2c($sp) /* 08437C 8008377C 8FB00014 */ lw $s0, 0x14($sp) /* 084380 80083780 8FB10018 */ lw $s1, 0x18($sp) /* 084384 80083784 8FB2001C */ lw $s2, 0x1c($sp) /* 084388 80083788 8FB30020 */ lw $s3, 0x20($sp) /* 08438C 8008378C 8FB40024 */ lw $s4, 0x24($sp) /* 084390 80083790 8FB50028 */ lw $s5, 0x28($sp) /* 084394 80083794 03E00008 */ jr $ra /* 084398 80083798 27BD0030 */ addiu $sp, $sp, 0x30 glabel func_8008379C /* 08439C 8008379C 000470C0 */ sll $t6, $a0, 3 /* 0843A0 800837A0 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 0843A4 800837A4 01C47023 */ subu $t6, $t6, $a0 /* 0843A8 800837A8 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 0843AC 800837AC AFB0001C */ sw $s0, 0x1c($sp) /* 0843B0 800837B0 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 0843B4 800837B4 000E7140 */ sll $t6, $t6, 5 /* 0843B8 800837B8 01CF8021 */ addu $s0, $t6, $t7 /* 0843BC 800837BC 860200A6 */ lh $v0, 0xa6($s0) /* 0843C0 800837C0 AFB10020 */ sw $s1, 0x20($sp) /* 0843C4 800837C4 00808825 */ move $s1, $a0 /* 0843C8 800837C8 1040001C */ beqz $v0, .L8008383C /* 0843CC 800837CC AFBF0024 */ sw $ra, 0x24($sp) /* 0843D0 800837D0 24010001 */ li $at, 1 /* 0843D4 800837D4 10410006 */ beq $v0, $at, .L800837F0 /* 0843D8 800837D8 02202025 */ move $a0, $s1 /* 0843DC 800837DC 24010002 */ li $at, 2 /* 0843E0 800837E0 10410012 */ beq $v0, $at, .L8008382C /* 0843E4 800837E4 00000000 */ nop /* 0843E8 800837E8 10000014 */ b .L8008383C /* 0843EC 800837EC 00000000 */ nop .L800837F0: /* 0843F0 800837F0 961800C0 */ lhu $t8, 0xc0($s0) /* 0843F4 800837F4 3C063F3D */ lui $a2, (0x3F3D70A4 >> 16) # lui $a2, 0x3f3d /* 0843F8 800837F8 24190064 */ li $t9, 100 /* 0843FC 800837FC AFB90014 */ sw $t9, 0x14($sp) /* 084400 80083800 34C670A4 */ ori $a2, (0x3F3D70A4 & 0xFFFF) # ori $a2, $a2, 0x70a4 /* 084404 80083804 8E05003C */ lw $a1, 0x3c($s0) /* 084408 80083808 8E070034 */ lw $a3, 0x34($s0) /* 08440C 8008380C 0C021F82 */ jal func_80087E08 /* 084410 80083810 AFB80010 */ sw $t8, 0x10($sp) /* 084414 80083814 10400009 */ beqz $v0, .L8008383C /* 084418 80083818 00000000 */ nop /* 08441C 8008381C 0C01C922 */ jal func_80072488 /* 084420 80083820 02202025 */ move $a0, $s1 /* 084424 80083824 10000005 */ b .L8008383C /* 084428 80083828 00000000 */ nop .L8008382C: /* 08442C 8008382C 0C021BD8 */ jal func_80086F60 /* 084430 80083830 02202025 */ move $a0, $s1 /* 084434 80083834 0C01C90A */ jal func_80072428 /* 084438 80083838 02202025 */ move $a0, $s1 .L8008383C: /* 08443C 8008383C 0C022FC6 */ jal func_8008BF18 /* 084440 80083840 02202025 */ move $a0, $s1 /* 084444 80083844 960800B6 */ lhu $t0, 0xb6($s0) /* 084448 80083848 860900A0 */ lh $t1, 0xa0($s0) /* 08444C 8008384C 8FBF0024 */ lw $ra, 0x24($sp) /* 084450 80083850 8FB10020 */ lw $s1, 0x20($sp) /* 084454 80083854 01095021 */ addu $t2, $t0, $t1 /* 084458 80083858 A60A00B6 */ sh $t2, 0xb6($s0) /* 08445C 8008385C 8FB0001C */ lw $s0, 0x1c($sp) /* 084460 80083860 03E00008 */ jr $ra /* 084464 80083864 27BD0028 */ addiu $sp, $sp, 0x28 glabel func_80083868 /* 084468 80083868 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 08446C 8008386C AFBF0024 */ sw $ra, 0x24($sp) /* 084470 80083870 AFB10020 */ sw $s1, 0x20($sp) /* 084474 80083874 3C050600 */ lui $a1, %hi(D_06004B20) # $a1, 0x600 /* 084478 80083878 3C060600 */ lui $a2, %hi(D_06004D20) # $a2, 0x600 /* 08447C 8008387C 240E0040 */ li $t6, 64 /* 084480 80083880 00808825 */ move $s1, $a0 /* 084484 80083884 AFB0001C */ sw $s0, 0x1c($sp) /* 084488 80083888 AFAE0010 */ sw $t6, 0x10($sp) /* 08448C 8008388C 24C64D20 */ addiu $a2, %lo(D_06004D20) # addiu $a2, $a2, 0x4d20 /* 084490 80083890 24A54B20 */ addiu $a1, %lo(D_06004B20) # addiu $a1, $a1, 0x4b20 /* 084494 80083894 0C01CD11 */ jal func_80073444 /* 084498 80083898 24070040 */ li $a3, 64 /* 08449C 8008389C 001178C0 */ sll $t7, $s1, 3 /* 0844A0 800838A0 01F17823 */ subu $t7, $t7, $s1 /* 0844A4 800838A4 3C188016 */ lui $t8, %hi(D_80165C18) # $t8, 0x8016 /* 0844A8 800838A8 27185C18 */ addiu $t8, %lo(D_80165C18) # addiu $t8, $t8, 0x5c18 /* 0844AC 800838AC 000F7940 */ sll $t7, $t7, 5 /* 0844B0 800838B0 3C190D00 */ lui $t9, %hi(D_0D0061B0) # $t9, 0xd00 /* 0844B4 800838B4 273961B0 */ addiu $t9, %lo(D_0D0061B0) # addiu $t9, $t9, 0x61b0 /* 0844B8 800838B8 01F88021 */ addu $s0, $t7, $t8 /* 0844BC 800838BC AE190074 */ sw $t9, 0x74($s0) /* 0844C0 800838C0 3C01800F */ lui $at, %hi(D_800EF208) # $at, 0x800f /* 0844C4 800838C4 C424F208 */ lwc1 $f4, %lo(D_800EF208)($at) /* 0844C8 800838C8 A20000D2 */ sb $zero, 0xd2($s0) /* 0844CC 800838CC 02202025 */ move $a0, $s1 /* 0844D0 800838D0 0C01C922 */ jal func_80072488 /* 0844D4 800838D4 E6040000 */ swc1 $f4, ($s0) /* 0844D8 800838D8 44800000 */ mtc1 $zero, $f0 /* 0844DC 800838DC 02202025 */ move $a0, $s1 /* 0844E0 800838E0 44050000 */ mfc1 $a1, $f0 /* 0844E4 800838E4 44060000 */ mfc1 $a2, $f0 /* 0844E8 800838E8 44070000 */ mfc1 $a3, $f0 /* 0844EC 800838EC 0C022E03 */ jal func_8008B80C /* 0844F0 800838F0 00000000 */ nop /* 0844F4 800838F4 34088000 */ li $t0, 32768 /* 0844F8 800838F8 A60000B2 */ sh $zero, 0xb2($s0) /* 0844FC 800838FC A60000B4 */ sh $zero, 0xb4($s0) /* 084500 80083900 A60800B6 */ sh $t0, 0xb6($s0) /* 084504 80083904 0C0ADF8D */ jal random_int /* 084508 80083908 24042000 */ li $a0, 8192 /* 08450C 8008390C 2449F000 */ addiu $t1, $v0, -0x1000 /* 084510 80083910 A60900A0 */ sh $t1, 0xa0($s0) /* 084514 80083914 0C021B9C */ jal func_80086E70 /* 084518 80083918 02202025 */ move $a0, $s1 /* 08451C 8008391C 3C013FC0 */ li $at, 0x3FC00000 # 1.500000 /* 084520 80083920 44813000 */ mtc1 $at, $f6 /* 084524 80083924 02202025 */ move $a0, $s1 /* 084528 80083928 24050200 */ li $a1, 512 /* 08452C 8008392C 0C01C870 */ jal func_800721C0 /* 084530 80083930 E6060034 */ swc1 $f6, 0x34($s0) /* 084534 80083934 8FBF0024 */ lw $ra, 0x24($sp) /* 084538 80083938 8FB0001C */ lw $s0, 0x1c($sp) /* 08453C 8008393C 8FB10020 */ lw $s1, 0x20($sp) /* 084540 80083940 03E00008 */ jr $ra /* 084544 80083944 27BD0028 */ addiu $sp, $sp, 0x28 glabel func_80083948 /* 084548 80083948 000470C0 */ sll $t6, $a0, 3 /* 08454C 8008394C 27BDFFD0 */ addiu $sp, $sp, -0x30 /* 084550 80083950 01C47023 */ subu $t6, $t6, $a0 /* 084554 80083954 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 084558 80083958 AFB10028 */ sw $s1, 0x28($sp) /* 08455C 8008395C 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 084560 80083960 000E7140 */ sll $t6, $t6, 5 /* 084564 80083964 01CF8821 */ addu $s1, $t6, $t7 /* 084568 80083968 963800AE */ lhu $t8, 0xae($s1) /* 08456C 8008396C AFB00024 */ sw $s0, 0x24($sp) /* 084570 80083970 00808025 */ move $s0, $a0 /* 084574 80083974 2F010015 */ sltiu $at, $t8, 0x15 /* 084578 80083978 10200030 */ beqz $at, .L80083A3C /* 08457C 8008397C AFBF002C */ sw $ra, 0x2c($sp) /* 084580 80083980 0018C080 */ sll $t8, $t8, 2 /* 084584 80083984 3C01800F */ lui $at, %hi(D_800EF20C) /* 084588 80083988 00380821 */ addu $at, $at, $t8 /* 08458C 8008398C 8C38F20C */ lw $t8, %lo(D_800EF20C)($at) /* 084590 80083990 03000008 */ jr $t8 /* 084594 80083994 00000000 */ nop glabel L80083998 /* 084598 80083998 0C021BF5 */ jal func_80086FD4 /* 08459C 8008399C 02002025 */ move $a0, $s0 /* 0845A0 800839A0 10000026 */ b .L80083A3C /* 0845A4 800839A4 00000000 */ nop glabel L800839A8 /* 0845A8 800839A8 02002025 */ move $a0, $s0 /* 0845AC 800839AC 0C021C6B */ jal func_800871AC /* 0845B0 800839B0 24050014 */ li $a1, 20 /* 0845B4 800839B4 10000021 */ b .L80083A3C /* 0845B8 800839B8 00000000 */ nop glabel L800839BC /* 0845BC 800839BC 02002025 */ move $a0, $s0 /* 0845C0 800839C0 0C021C07 */ jal func_8008701C /* 0845C4 800839C4 24050001 */ li $a1, 1 /* 0845C8 800839C8 1000001C */ b .L80083A3C /* 0845CC 800839CC 00000000 */ nop glabel L800839D0 /* 0845D0 800839D0 02002025 */ move $a0, $s0 /* 0845D4 800839D4 3C054120 */ lui $a1, 0x4120 /* 0845D8 800839D8 3C063F00 */ lui $a2, 0x3f00 /* 0845DC 800839DC 0C021F12 */ jal func_80087C48 /* 0845E0 800839E0 2407000A */ li $a3, 10 /* 0845E4 800839E4 10000015 */ b .L80083A3C /* 0845E8 800839E8 00000000 */ nop glabel L800839EC /* 0845EC 800839EC 3C063E4C */ lui $a2, (0x3E4CCCCD >> 16) # lui $a2, 0x3e4c /* 0845F0 800839F0 34C6CCCD */ ori $a2, (0x3E4CCCCD & 0xFFFF) # ori $a2, $a2, 0xcccd /* 0845F4 800839F4 02002025 */ move $a0, $s0 /* 0845F8 800839F8 24050000 */ li $a1, 0 /* 0845FC 800839FC 0C021F49 */ jal func_80087D24 /* 084600 80083A00 3C07C0E0 */ lui $a3, 0xc0e0 /* 084604 80083A04 1000000D */ b .L80083A3C /* 084608 80083A08 00000000 */ nop glabel L80083A0C /* 08460C 80083A0C 3C063E4C */ lui $a2, (0x3E4CCCCD >> 16) # lui $a2, 0x3e4c /* 084610 80083A10 34C6CCCD */ ori $a2, (0x3E4CCCCD & 0xFFFF) # ori $a2, $a2, 0xcccd /* 084614 80083A14 2624002C */ addiu $a0, $s1, 0x2c /* 084618 80083A18 0C0103B8 */ jal func_80040EE0 /* 08461C 80083A1C 24050000 */ li $a1, 0 /* 084620 80083A20 10400006 */ beqz $v0, .L80083A3C /* 084624 80083A24 02002025 */ move $a0, $s0 /* 084628 80083A28 0C01CE00 */ jal func_80073800 /* 08462C 80083A2C 00002825 */ move $a1, $zero /* 084630 80083A30 02002025 */ move $a0, $s0 /* 084634 80083A34 0C021C07 */ jal func_8008701C /* 084638 80083A38 24050001 */ li $a1, 1 .L80083A3C: glabel L80083A3C /* 08463C 80083A3C 0C022FC6 */ jal func_8008BF18 /* 084640 80083A40 02002025 */ move $a0, $s0 /* 084644 80083A44 24190400 */ li $t9, 1024 /* 084648 80083A48 24080001 */ li $t0, 1 /* 08464C 80083A4C 2409FFFF */ li $t1, -1 /* 084650 80083A50 AFA90018 */ sw $t1, 0x18($sp) /* 084654 80083A54 AFA80014 */ sw $t0, 0x14($sp) /* 084658 80083A58 AFB90010 */ sw $t9, 0x10($sp) /* 08465C 80083A5C 02002025 */ move $a0, $s0 /* 084660 80083A60 262500A0 */ addiu $a1, $s1, 0xa0 /* 084664 80083A64 2406F000 */ li $a2, -4096 /* 084668 80083A68 0C01CF43 */ jal func_80073D0C /* 08466C 80083A6C 24071000 */ li $a3, 4096 /* 084670 80083A70 862A00A0 */ lh $t2, 0xa0($s1) /* 084674 80083A74 34018000 */ li $at, 32768 /* 084678 80083A78 8FBF002C */ lw $ra, 0x2c($sp) /* 08467C 80083A7C 01415821 */ addu $t3, $t2, $at /* 084680 80083A80 A62B00B6 */ sh $t3, 0xb6($s1) /* 084684 80083A84 8FB10028 */ lw $s1, 0x28($sp) /* 084688 80083A88 8FB00024 */ lw $s0, 0x24($sp) /* 08468C 80083A8C 03E00008 */ jr $ra /* 084690 80083A90 27BD0030 */ addiu $sp, $sp, 0x30 glabel func_80083A94 /* 084694 80083A94 000478C0 */ sll $t7, $a0, 3 /* 084698 80083A98 01E47823 */ subu $t7, $t7, $a0 /* 08469C 80083A9C 3C188016 */ lui $t8, %hi(D_80165C18) # $t8, 0x8016 /* 0846A0 80083AA0 27185C18 */ addiu $t8, %lo(D_80165C18) # addiu $t8, $t8, 0x5c18 /* 0846A4 80083AA4 000F7940 */ sll $t7, $t7, 5 /* 0846A8 80083AA8 01F81821 */ addu $v1, $t7, $t8 /* 0846AC 80083AAC 846500A6 */ lh $a1, 0xa6($v1) /* 0846B0 80083AB0 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0846B4 80083AB4 AFBF0014 */ sw $ra, 0x14($sp) /* 0846B8 80083AB8 AFA40020 */ sw $a0, 0x20($sp) /* 0846BC 80083ABC 10A00008 */ beqz $a1, .L80083AE0 /* 0846C0 80083AC0 00A01025 */ move $v0, $a1 /* 0846C4 80083AC4 24010001 */ li $at, 1 /* 0846C8 80083AC8 54410006 */ bnel $v0, $at, .L80083AE4 /* 0846CC 80083ACC 28A10002 */ slti $at, $a1, 2 /* 0846D0 80083AD0 0C020E1A */ jal func_80083868 /* 0846D4 80083AD4 AFA30018 */ sw $v1, 0x18($sp) /* 0846D8 80083AD8 8FA30018 */ lw $v1, 0x18($sp) /* 0846DC 80083ADC 846500A6 */ lh $a1, 0xa6($v1) .L80083AE0: /* 0846E0 80083AE0 28A10002 */ slti $at, $a1, 2 .L80083AE4: /* 0846E4 80083AE4 14200003 */ bnez $at, .L80083AF4 /* 0846E8 80083AE8 00000000 */ nop /* 0846EC 80083AEC 0C01CD45 */ jal func_80073514 /* 0846F0 80083AF0 8FA40020 */ lw $a0, 0x20($sp) .L80083AF4: /* 0846F4 80083AF4 0C020E52 */ jal func_80083948 /* 0846F8 80083AF8 8FA40020 */ lw $a0, 0x20($sp) /* 0846FC 80083AFC 8FBF0014 */ lw $ra, 0x14($sp) /* 084700 80083B00 27BD0020 */ addiu $sp, $sp, 0x20 /* 084704 80083B04 03E00008 */ jr $ra /* 084708 80083B08 00000000 */ nop glabel func_80083B0C /* 08470C 80083B0C 27BDFFD0 */ addiu $sp, $sp, -0x30 /* 084710 80083B10 AFBF0024 */ sw $ra, 0x24($sp) /* 084714 80083B14 AFB00020 */ sw $s0, 0x20($sp) /* 084718 80083B18 3C050600 */ lui $a1, %hi(D_06004B20) # $a1, 0x600 /* 08471C 80083B1C 3C060600 */ lui $a2, %hi(D_06005D20) # $a2, 0x600 /* 084720 80083B20 240E0040 */ li $t6, 64 /* 084724 80083B24 00808025 */ move $s0, $a0 /* 084728 80083B28 AFAE0010 */ sw $t6, 0x10($sp) /* 08472C 80083B2C 24C65D20 */ addiu $a2, %lo(D_06005D20) # addiu $a2, $a2, 0x5d20 /* 084730 80083B30 24A54B20 */ addiu $a1, %lo(D_06004B20) # addiu $a1, $a1, 0x4b20 /* 084734 80083B34 0C01CD11 */ jal func_80073444 /* 084738 80083B38 24070040 */ li $a3, 64 /* 08473C 80083B3C 001078C0 */ sll $t7, $s0, 3 /* 084740 80083B40 01F07823 */ subu $t7, $t7, $s0 /* 084744 80083B44 3C188016 */ lui $t8, %hi(D_80165C18) # $t8, 0x8016 /* 084748 80083B48 27185C18 */ addiu $t8, %lo(D_80165C18) # addiu $t8, $t8, 0x5c18 /* 08474C 80083B4C 000F7940 */ sll $t7, $t7, 5 /* 084750 80083B50 3C190D00 */ lui $t9, %hi(D_0D0060B0) # $t9, 0xd00 /* 084754 80083B54 273960B0 */ addiu $t9, %lo(D_0D0060B0) # addiu $t9, $t9, 0x60b0 /* 084758 80083B58 01F81021 */ addu $v0, $t7, $t8 /* 08475C 80083B5C AC590074 */ sw $t9, 0x74($v0) /* 084760 80083B60 3C01800F */ lui $at, %hi(D_800EF260) # $at, 0x800f /* 084764 80083B64 C424F260 */ lwc1 $f4, %lo(D_800EF260)($at) /* 084768 80083B68 A04000D2 */ sb $zero, 0xd2($v0) /* 08476C 80083B6C AFA2002C */ sw $v0, 0x2c($sp) /* 084770 80083B70 02002025 */ move $a0, $s0 /* 084774 80083B74 0C01C922 */ jal func_80072488 /* 084778 80083B78 E4440000 */ swc1 $f4, ($v0) /* 08477C 80083B7C 44800000 */ mtc1 $zero, $f0 /* 084780 80083B80 02002025 */ move $a0, $s0 /* 084784 80083B84 44050000 */ mfc1 $a1, $f0 /* 084788 80083B88 44060000 */ mfc1 $a2, $f0 /* 08478C 80083B8C 44070000 */ mfc1 $a3, $f0 /* 084790 80083B90 0C022E03 */ jal func_8008B80C /* 084794 80083B94 00000000 */ nop /* 084798 80083B98 8FA2002C */ lw $v0, 0x2c($sp) /* 08479C 80083B9C 3C013FC0 */ li $at, 0x3FC00000 # 1.500000 /* 0847A0 80083BA0 44813000 */ mtc1 $at, $f6 /* 0847A4 80083BA4 34088000 */ li $t0, 32768 /* 0847A8 80083BA8 24090002 */ li $t1, 2 /* 0847AC 80083BAC 3C050400 */ lui $a1, (0x04000210 >> 16) # lui $a1, 0x400 /* 0847B0 80083BB0 34A50210 */ ori $a1, (0x04000210 & 0xFFFF) # ori $a1, $a1, 0x210 /* 0847B4 80083BB4 02002025 */ move $a0, $s0 /* 0847B8 80083BB8 A44000B2 */ sh $zero, 0xb2($v0) /* 0847BC 80083BBC A44000B4 */ sh $zero, 0xb4($v0) /* 0847C0 80083BC0 A44800B6 */ sh $t0, 0xb6($v0) /* 0847C4 80083BC4 A44900C8 */ sh $t1, 0xc8($v0) /* 0847C8 80083BC8 0C01C870 */ jal func_800721C0 /* 0847CC 80083BCC E4460034 */ swc1 $f6, 0x34($v0) /* 0847D0 80083BD0 8FBF0024 */ lw $ra, 0x24($sp) /* 0847D4 80083BD4 8FB00020 */ lw $s0, 0x20($sp) /* 0847D8 80083BD8 27BD0030 */ addiu $sp, $sp, 0x30 /* 0847DC 80083BDC 03E00008 */ jr $ra /* 0847E0 80083BE0 00000000 */ nop glabel func_80083BE4 /* 0847E4 80083BE4 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0847E8 80083BE8 AFBF0014 */ sw $ra, 0x14($sp) /* 0847EC 80083BEC 0C022FC6 */ jal func_8008BF18 /* 0847F0 80083BF0 00000000 */ nop /* 0847F4 80083BF4 8FBF0014 */ lw $ra, 0x14($sp) /* 0847F8 80083BF8 27BD0018 */ addiu $sp, $sp, 0x18 /* 0847FC 80083BFC 03E00008 */ jr $ra /* 084800 80083C00 00000000 */ nop glabel func_80083C04 /* 084804 80083C04 000470C0 */ sll $t6, $a0, 3 /* 084808 80083C08 27BDFFD0 */ addiu $sp, $sp, -0x30 /* 08480C 80083C0C 01C47023 */ subu $t6, $t6, $a0 /* 084810 80083C10 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 084814 80083C14 AFB10028 */ sw $s1, 0x28($sp) /* 084818 80083C18 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 08481C 80083C1C 000E7140 */ sll $t6, $t6, 5 /* 084820 80083C20 01CF8821 */ addu $s1, $t6, $t7 /* 084824 80083C24 862300A6 */ lh $v1, 0xa6($s1) /* 084828 80083C28 AFB00024 */ sw $s0, 0x24($sp) /* 08482C 80083C2C 00808025 */ move $s0, $a0 /* 084830 80083C30 2C61000E */ sltiu $at, $v1, 0xe /* 084834 80083C34 1020003E */ beqz $at, .L80083D30 /* 084838 80083C38 AFBF002C */ sw $ra, 0x2c($sp) /* 08483C 80083C3C 0003C080 */ sll $t8, $v1, 2 /* 084840 80083C40 3C01800F */ lui $at, %hi(D_800EF264) /* 084844 80083C44 00380821 */ addu $at, $at, $t8 /* 084848 80083C48 8C38F264 */ lw $t8, %lo(D_800EF264)($at) /* 08484C 80083C4C 03000008 */ jr $t8 /* 084850 80083C50 00000000 */ nop glabel L80083C54 /* 084854 80083C54 0C020EC3 */ jal func_80083B0C /* 084858 80083C58 02002025 */ move $a0, $s0 /* 08485C 80083C5C 10000034 */ b .L80083D30 /* 084860 80083C60 862300A6 */ lh $v1, 0xa6($s1) glabel L80083C64 /* 084864 80083C64 02002025 */ move $a0, $s0 /* 084868 80083C68 0C01C9E3 */ jal func_8007278C /* 08486C 80083C6C 24050096 */ li $a1, 150 /* 084870 80083C70 1000002F */ b .L80083D30 /* 084874 80083C74 862300A6 */ lh $v1, 0xa6($s1) glabel L80083C78 /* 084878 80083C78 02002025 */ move $a0, $s0 /* 08487C 80083C7C 0C01C9E3 */ jal func_8007278C /* 084880 80083C80 2405012C */ li $a1, 300 /* 084884 80083C84 10400003 */ beqz $v0, .L80083C94 /* 084888 80083C88 02002025 */ move $a0, $s0 /* 08488C 80083C8C 0C01C8A9 */ jal func_800722A4 /* 084890 80083C90 24050002 */ li $a1, 2 .L80083C94: /* 084894 80083C94 10000026 */ b .L80083D30 /* 084898 80083C98 862300A6 */ lh $v1, 0xa6($s1) glabel L80083C9C /* 08489C 80083C9C 02002025 */ move $a0, $s0 /* 0848A0 80083CA0 0C01C9E3 */ jal func_8007278C /* 0848A4 80083CA4 2405000A */ li $a1, 10 /* 0848A8 80083CA8 10400006 */ beqz $v0, .L80083CC4 /* 0848AC 80083CAC 02002025 */ move $a0, $s0 /* 0848B0 80083CB0 0C01C870 */ jal func_800721C0 /* 0848B4 80083CB4 24050010 */ li $a1, 16 /* 0848B8 80083CB8 3C01800F */ lui $at, %hi(D_800EF29C) # $at, 0x800f /* 0848BC 80083CBC C424F29C */ lwc1 $f4, %lo(D_800EF29C)($at) /* 0848C0 80083CC0 E6240000 */ swc1 $f4, ($s1) .L80083CC4: /* 0848C4 80083CC4 1000001A */ b .L80083D30 /* 0848C8 80083CC8 862300A6 */ lh $v1, 0xa6($s1) glabel L80083CCC /* 0848CC 80083CCC 3C01800F */ lui $at, %hi(D_800EF2A0) # $at, 0x800f /* 0848D0 80083CD0 C426F2A0 */ lwc1 $f6, %lo(D_800EF2A0)($at) /* 0848D4 80083CD4 3C063A83 */ lui $a2, (0x3A83126F >> 16) # lui $a2, 0x3a83 /* 0848D8 80083CD8 3C073DCC */ lui $a3, (0x3DCCCCCD >> 16) # lui $a3, 0x3dcc /* 0848DC 80083CDC 34E7CCCD */ ori $a3, (0x3DCCCCCD & 0xFFFF) # ori $a3, $a3, 0xcccd /* 0848E0 80083CE0 34C6126F */ ori $a2, (0x3A83126F & 0xFFFF) # ori $a2, $a2, 0x126f /* 0848E4 80083CE4 02002025 */ move $a0, $s0 /* 0848E8 80083CE8 02202825 */ move $a1, $s1 /* 0848EC 80083CEC AFA00014 */ sw $zero, 0x14($sp) /* 0848F0 80083CF0 AFA00018 */ sw $zero, 0x18($sp) /* 0848F4 80083CF4 0C01D046 */ jal func_80074118 /* 0848F8 80083CF8 E7A60010 */ swc1 $f6, 0x10($sp) /* 0848FC 80083CFC 10400003 */ beqz $v0, .L80083D0C /* 084900 80083D00 00000000 */ nop /* 084904 80083D04 0C01C922 */ jal func_80072488 /* 084908 80083D08 02002025 */ move $a0, $s0 .L80083D0C: /* 08490C 80083D0C 10000008 */ b .L80083D30 /* 084910 80083D10 862300A6 */ lh $v1, 0xa6($s1) glabel L80083D14 /* 084914 80083D14 02002025 */ move $a0, $s0 /* 084918 80083D18 0C01C9B3 */ jal func_800726CC /* 08491C 80083D1C 24050002 */ li $a1, 2 /* 084920 80083D20 02002025 */ move $a0, $s0 /* 084924 80083D24 0C01C87A */ jal func_800721E8 /* 084928 80083D28 24051000 */ li $a1, 4096 /* 08492C 80083D2C 862300A6 */ lh $v1, 0xa6($s1) .L80083D30: glabel L80083D30 /* 084930 80083D30 28610002 */ slti $at, $v1, 2 /* 084934 80083D34 14200003 */ bnez $at, .L80083D44 /* 084938 80083D38 00000000 */ nop /* 08493C 80083D3C 0C01CD45 */ jal func_80073514 /* 084940 80083D40 02002025 */ move $a0, $s0 .L80083D44: /* 084944 80083D44 0C020EF9 */ jal func_80083BE4 /* 084948 80083D48 02002025 */ move $a0, $s0 /* 08494C 80083D4C 8FBF002C */ lw $ra, 0x2c($sp) /* 084950 80083D50 8FB00024 */ lw $s0, 0x24($sp) /* 084954 80083D54 8FB10028 */ lw $s1, 0x28($sp) /* 084958 80083D58 03E00008 */ jr $ra /* 08495C 80083D5C 27BD0030 */ addiu $sp, $sp, 0x30 glabel func_80083D60 /* 084960 80083D60 27BDFFC8 */ addiu $sp, $sp, -0x38 /* 084964 80083D64 AFB50028 */ sw $s5, 0x28($sp) /* 084968 80083D68 AFB30020 */ sw $s3, 0x20($sp) /* 08496C 80083D6C AFB00014 */ sw $s0, 0x14($sp) /* 084970 80083D70 AFB6002C */ sw $s6, 0x2c($sp) /* 084974 80083D74 AFB2001C */ sw $s2, 0x1c($sp) /* 084978 80083D78 3C108019 */ lui $s0, %hi(D_8018C3F0) # $s0, 0x8019 /* 08497C 80083D7C 3C138019 */ lui $s3, %hi(D_8018C5F0) # $s3, 0x8019 /* 084980 80083D80 3C158016 */ lui $s5, %hi(D_80165C18) # $s5, 0x8016 /* 084984 80083D84 AFBF0034 */ sw $ra, 0x34($sp) /* 084988 80083D88 AFB70030 */ sw $s7, 0x30($sp) /* 08498C 80083D8C AFB40024 */ sw $s4, 0x24($sp) /* 084990 80083D90 AFB10018 */ sw $s1, 0x18($sp) /* 084994 80083D94 26B55C18 */ addiu $s5, %lo(D_80165C18) # addiu $s5, $s5, 0x5c18 /* 084998 80083D98 2673C5F0 */ addiu $s3, %lo(D_8018C5F0) # addiu $s3, $s3, -0x3a10 /* 08499C 80083D9C 2610C3F0 */ addiu $s0, %lo(D_8018C3F0) # addiu $s0, $s0, -0x3c10 /* 0849A0 80083DA0 2412FFFF */ li $s2, -1 /* 0849A4 80083DA4 241600E0 */ li $s6, 224 /* 0849A8 80083DA8 8E040000 */ lw $a0, ($s0) .L80083DAC: /* 0849AC 80083DAC 5092000F */ beql $a0, $s2, .L80083DEC /* 0849B0 80083DB0 26100004 */ addiu $s0, $s0, 4 /* 0849B4 80083DB4 00960019 */ multu $a0, $s6 /* 0849B8 80083DB8 00007012 */ mflo $t6 /* 0849BC 80083DBC 02AE8821 */ addu $s1, $s5, $t6 /* 0849C0 80083DC0 862F00A6 */ lh $t7, 0xa6($s1) /* 0849C4 80083DC4 51E00009 */ beql $t7, $zero, .L80083DEC /* 0849C8 80083DC8 26100004 */ addiu $s0, $s0, 4 /* 0849CC 80083DCC 0C020DE7 */ jal func_8008379C /* 0849D0 80083DD0 00000000 */ nop /* 0849D4 80083DD4 863800A6 */ lh $t8, 0xa6($s1) /* 0849D8 80083DD8 57000004 */ bnel $t8, $zero, .L80083DEC /* 0849DC 80083DDC 26100004 */ addiu $s0, $s0, 4 /* 0849E0 80083DE0 0C01C840 */ jal func_80072100 /* 0849E4 80083DE4 02002025 */ move $a0, $s0 /* 0849E8 80083DE8 26100004 */ addiu $s0, $s0, 4 .L80083DEC: /* 0849EC 80083DEC 0213082B */ sltu $at, $s0, $s3 /* 0849F0 80083DF0 5420FFEE */ bnel $at, $zero, .L80083DAC /* 0849F4 80083DF4 8E040000 */ lw $a0, ($s0) /* 0849F8 80083DF8 3C148018 */ lui $s4, %hi(D_80183EA0) # $s4, 0x8018 /* 0849FC 80083DFC 3C138018 */ lui $s3, %hi(D_80183F28) # $s3, 0x8018 /* 084A00 80083E00 3C178018 */ lui $s7, %hi(D_80183F74) # $s7, 0x8018 /* 084A04 80083E04 26F73F74 */ addiu $s7, %lo(D_80183F74) # addiu $s7, $s7, 0x3f74 /* 084A08 80083E08 26733F28 */ addiu $s3, %lo(D_80183F28) # addiu $s3, $s3, 0x3f28 /* 084A0C 80083E0C 26943EA0 */ addiu $s4, %lo(D_80183EA0) # addiu $s4, $s4, 0x3ea0 .L80083E10: /* 084A10 80083E10 8E720000 */ lw $s2, ($s3) /* 084A14 80083E14 8E900000 */ lw $s0, ($s4) /* 084A18 80083E18 0C020EA5 */ jal func_80083A94 /* 084A1C 80083E1C 02402025 */ move $a0, $s2 /* 084A20 80083E20 0C020F01 */ jal func_80083C04 /* 084A24 80083E24 02002025 */ move $a0, $s0 /* 084A28 80083E28 02002025 */ move $a0, $s0 /* 084A2C 80083E2C 0C01C89C */ jal func_80072270 /* 084A30 80083E30 24051000 */ li $a1, 4096 /* 084A34 80083E34 10400021 */ beqz $v0, .L80083EBC /* 084A38 80083E38 02002025 */ move $a0, $s0 /* 084A3C 80083E3C 02160019 */ multu $s0, $s6 /* 084A40 80083E40 0000C812 */ mflo $t9 /* 084A44 80083E44 02B98821 */ addu $s1, $s5, $t9 /* 084A48 80083E48 922200D5 */ lbu $v0, 0xd5($s1) /* 084A4C 80083E4C 2444FFFF */ addiu $a0, $v0, -1 /* 084A50 80083E50 24450001 */ addiu $a1, $v0, 1 /* 084A54 80083E54 00055400 */ sll $t2, $a1, 0x10 /* 084A58 80083E58 00044400 */ sll $t0, $a0, 0x10 /* 084A5C 80083E5C 00082403 */ sra $a0, $t0, 0x10 /* 084A60 80083E60 0C022A2C */ jal func_8008A8B0 /* 084A64 80083E64 000A2C03 */ sra $a1, $t2, 0x10 /* 084A68 80083E68 5040001E */ beql $v0, $zero, .L80083EE4 /* 084A6C 80083E6C 26730004 */ addiu $s3, $s3, 4 /* 084A70 80083E70 0C0226D4 */ jal func_80089B50 /* 084A74 80083E74 02002025 */ move $a0, $s0 /* 084A78 80083E78 10400019 */ beqz $v0, .L80083EE0 /* 084A7C 80083E7C 02002025 */ move $a0, $s0 /* 084A80 80083E80 0C01C870 */ jal func_800721C0 /* 084A84 80083E84 24051000 */ li $a1, 4096 /* 084A88 80083E88 02002025 */ move $a0, $s0 /* 084A8C 80083E8C 0C01C87A */ jal func_800721E8 /* 084A90 80083E90 24050010 */ li $a1, 16 /* 084A94 80083E94 02002025 */ move $a0, $s0 /* 084A98 80083E98 0C01C9B3 */ jal func_800726CC /* 084A9C 80083E9C 2405000A */ li $a1, 10 /* 084AA0 80083EA0 02402025 */ move $a0, $s2 /* 084AA4 80083EA4 0C021C07 */ jal func_8008701C /* 084AA8 80083EA8 2405000A */ li $a1, 10 /* 084AAC 80083EAC 0C020DBC */ jal func_800836F0 /* 084AB0 80083EB0 26240004 */ addiu $a0, $s1, 4 /* 084AB4 80083EB4 1000000B */ b .L80083EE4 /* 084AB8 80083EB8 26730004 */ addiu $s3, $s3, 4 .L80083EBC: /* 084ABC 80083EBC 0C01C8C8 */ jal func_80072320 /* 084AC0 80083EC0 24050002 */ li $a1, 2 /* 084AC4 80083EC4 10400006 */ beqz $v0, .L80083EE0 /* 084AC8 80083EC8 02002025 */ move $a0, $s0 /* 084ACC 80083ECC 0C01C8B3 */ jal func_800722CC /* 084AD0 80083ED0 24050002 */ li $a1, 2 /* 084AD4 80083ED4 02402025 */ move $a0, $s2 /* 084AD8 80083ED8 0C021C07 */ jal func_8008701C /* 084ADC 80083EDC 24050014 */ li $a1, 20 .L80083EE0: /* 084AE0 80083EE0 26730004 */ addiu $s3, $s3, 4 .L80083EE4: /* 084AE4 80083EE4 1677FFCA */ bne $s3, $s7, .L80083E10 /* 084AE8 80083EE8 26940004 */ addiu $s4, $s4, 4 /* 084AEC 80083EEC 8FBF0034 */ lw $ra, 0x34($sp) /* 084AF0 80083EF0 8FB00014 */ lw $s0, 0x14($sp) /* 084AF4 80083EF4 8FB10018 */ lw $s1, 0x18($sp) /* 084AF8 80083EF8 8FB2001C */ lw $s2, 0x1c($sp) /* 084AFC 80083EFC 8FB30020 */ lw $s3, 0x20($sp) /* 084B00 80083F00 8FB40024 */ lw $s4, 0x24($sp) /* 084B04 80083F04 8FB50028 */ lw $s5, 0x28($sp) /* 084B08 80083F08 8FB6002C */ lw $s6, 0x2c($sp) /* 084B0C 80083F0C 8FB70030 */ lw $s7, 0x30($sp) /* 084B10 80083F10 03E00008 */ jr $ra /* 084B14 80083F14 27BD0038 */ addiu $sp, $sp, 0x38 glabel func_80083F18 /* 084B18 80083F18 000470C0 */ sll $t6, $a0, 3 /* 084B1C 80083F1C 01C47023 */ subu $t6, $t6, $a0 /* 084B20 80083F20 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 084B24 80083F24 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 084B28 80083F28 000E7140 */ sll $t6, $t6, 5 /* 084B2C 80083F2C 01CF1021 */ addu $v0, $t6, $t7 /* 084B30 80083F30 844300A6 */ lh $v1, 0xa6($v0) /* 084B34 80083F34 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 084B38 80083F38 AFB00020 */ sw $s0, 0x20($sp) /* 084B3C 80083F3C 00808025 */ move $s0, $a0 /* 084B40 80083F40 1060001E */ beqz $v1, .L80083FBC /* 084B44 80083F44 AFBF0024 */ sw $ra, 0x24($sp) /* 084B48 80083F48 24010001 */ li $at, 1 /* 084B4C 80083F4C 10610006 */ beq $v1, $at, .L80083F68 /* 084B50 80083F50 02002025 */ move $a0, $s0 /* 084B54 80083F54 24010002 */ li $at, 2 /* 084B58 80083F58 10610014 */ beq $v1, $at, .L80083FAC /* 084B5C 80083F5C 00000000 */ nop /* 084B60 80083F60 10000017 */ b .L80083FC0 /* 084B64 80083F64 8FBF0024 */ lw $ra, 0x24($sp) .L80083F68: /* 084B68 80083F68 945800C0 */ lhu $t8, 0xc0($v0) /* 084B6C 80083F6C 3C063DF5 */ lui $a2, (0x3DF5C28F >> 16) # lui $a2, 0x3df5 /* 084B70 80083F70 24190064 */ li $t9, 100 /* 084B74 80083F74 AFB90014 */ sw $t9, 0x14($sp) /* 084B78 80083F78 34C6C28F */ ori $a2, (0x3DF5C28F & 0xFFFF) # ori $a2, $a2, 0xc28f /* 084B7C 80083F7C 8C45003C */ lw $a1, 0x3c($v0) /* 084B80 80083F80 8C470034 */ lw $a3, 0x34($v0) /* 084B84 80083F84 0C021F82 */ jal func_80087E08 /* 084B88 80083F88 AFB80010 */ sw $t8, 0x10($sp) /* 084B8C 80083F8C 10400003 */ beqz $v0, .L80083F9C /* 084B90 80083F90 00000000 */ nop /* 084B94 80083F94 0C01C922 */ jal func_80072488 /* 084B98 80083F98 02002025 */ move $a0, $s0 .L80083F9C: /* 084B9C 80083F9C 0C022FC6 */ jal func_8008BF18 /* 084BA0 80083FA0 02002025 */ move $a0, $s0 /* 084BA4 80083FA4 10000006 */ b .L80083FC0 /* 084BA8 80083FA8 8FBF0024 */ lw $ra, 0x24($sp) .L80083FAC: /* 084BAC 80083FAC 0C021BD8 */ jal func_80086F60 /* 084BB0 80083FB0 02002025 */ move $a0, $s0 /* 084BB4 80083FB4 0C01C90A */ jal func_80072428 /* 084BB8 80083FB8 02002025 */ move $a0, $s0 .L80083FBC: /* 084BBC 80083FBC 8FBF0024 */ lw $ra, 0x24($sp) .L80083FC0: /* 084BC0 80083FC0 8FB00020 */ lw $s0, 0x20($sp) /* 084BC4 80083FC4 27BD0028 */ addiu $sp, $sp, 0x28 /* 084BC8 80083FC8 03E00008 */ jr $ra /* 084BCC 80083FCC 00000000 */ nop glabel func_80083FD0 /* 084BD0 80083FD0 000670C0 */ sll $t6, $a2, 3 /* 084BD4 80083FD4 01C67023 */ subu $t6, $t6, $a2 /* 084BD8 80083FD8 000E7100 */ sll $t6, $t6, 4 /* 084BDC 80083FDC 01C67023 */ subu $t6, $t6, $a2 /* 084BE0 80083FE0 3C0F800E */ lui $t7, %hi(D_800DC4DC) # $t7, 0x800e /* 084BE4 80083FE4 8DEFC4DC */ lw $t7, %lo(D_800DC4DC)($t7) /* 084BE8 80083FE8 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 084BEC 80083FEC 000E7080 */ sll $t6, $t6, 2 /* 084BF0 80083FF0 0004C8C0 */ sll $t9, $a0, 3 /* 084BF4 80083FF4 01C67023 */ subu $t6, $t6, $a2 /* 084BF8 80083FF8 0324C823 */ subu $t9, $t9, $a0 /* 084BFC 80083FFC 3C088016 */ lui $t0, %hi(D_80165C18) # $t0, 0x8016 /* 084C00 80084000 AFB00018 */ sw $s0, 0x18($sp) /* 084C04 80084004 000E70C0 */ sll $t6, $t6, 3 /* 084C08 80084008 25085C18 */ addiu $t0, %lo(D_80165C18) # addiu $t0, $t0, 0x5c18 /* 084C0C 8008400C 0019C940 */ sll $t9, $t9, 5 /* 084C10 80084010 AFBF001C */ sw $ra, 0x1c($sp) /* 084C14 80084014 AFA5002C */ sw $a1, 0x2c($sp) /* 084C18 80084018 03288021 */ addu $s0, $t9, $t0 /* 084C1C 8008401C 01CFC021 */ addu $t8, $t6, $t7 /* 084C20 80084020 AFB80020 */ sw $t8, 0x20($sp) /* 084C24 80084024 A6060092 */ sh $a2, 0x92($s0) /* 084C28 80084028 0C01C8E9 */ jal func_800723A4 /* 084C2C 8008402C 00002825 */ move $a1, $zero /* 084C30 80084030 3C020600 */ lui $v0, %hi(D_060068E8) # $v0, 0x600 /* 084C34 80084034 244268E8 */ addiu $v0, %lo(D_060068E8) # addiu $v0, $v0, 0x68e8 /* 084C38 80084038 AE020060 */ sw $v0, 0x60($s0) /* 084C3C 8008403C AE020068 */ sw $v0, 0x68($s0) /* 084C40 80084040 0C0ADF8D */ jal random_int /* 084C44 80084044 240401F4 */ li $a0, 500 /* 084C48 80084048 44822000 */ mtc1 $v0, $f4 /* 084C4C 8008404C 04410005 */ bgez $v0, .L80084064 /* 084C50 80084050 468021A0 */ cvt.s.w $f6, $f4 /* 084C54 80084054 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 /* 084C58 80084058 44814000 */ mtc1 $at, $f8 /* 084C5C 8008405C 00000000 */ nop /* 084C60 80084060 46083180 */ add.s $f6, $f6, $f8 .L80084064: /* 084C64 80084064 3C01800F */ lui $at, %hi(D_800EF2A8) /* 084C68 80084068 D430F2A8 */ ldc1 $f16, %lo(D_800EF2A8)($at) /* 084C6C 8008406C 460032A1 */ cvt.d.s $f10, $f6 /* 084C70 80084070 3C01800F */ lui $at, %hi(D_800EF2B0) /* 084C74 80084074 46305482 */ mul.d $f18, $f10, $f16 /* 084C78 80084078 D424F2B0 */ ldc1 $f4, %lo(D_800EF2B0)($at) /* 084C7C 8008407C 24040032 */ li $a0, 50 /* 084C80 80084080 46249200 */ add.d $f8, $f18, $f4 /* 084C84 80084084 462041A0 */ cvt.s.d $f6, $f8 /* 084C88 80084088 0C0ADF8D */ jal random_int /* 084C8C 8008408C E6060000 */ swc1 $f6, ($s0) /* 084C90 80084090 44825000 */ mtc1 $v0, $f10 /* 084C94 80084094 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 /* 084C98 80084098 04410004 */ bgez $v0, .L800840AC /* 084C9C 8008409C 46805420 */ cvt.s.w $f16, $f10 /* 084CA0 800840A0 44819000 */ mtc1 $at, $f18 /* 084CA4 800840A4 00000000 */ nop /* 084CA8 800840A8 46128400 */ add.s $f16, $f16, $f18 .L800840AC: /* 084CAC 800840AC 3C01800F */ lui $at, %hi(D_800EF2B8) /* 084CB0 800840B0 D428F2B8 */ ldc1 $f8, %lo(D_800EF2B8)($at) /* 084CB4 800840B4 46008121 */ cvt.d.s $f4, $f16 /* 084CB8 800840B8 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 /* 084CBC 800840BC 46282182 */ mul.d $f6, $f4, $f8 /* 084CC0 800840C0 44815800 */ mtc1 $at, $f11 /* 084CC4 800840C4 44805000 */ mtc1 $zero, $f10 /* 084CC8 800840C8 2404000A */ li $a0, 10 /* 084CCC 800840CC 462A3480 */ add.d $f18, $f6, $f10 /* 084CD0 800840D0 46209420 */ cvt.s.d $f16, $f18 /* 084CD4 800840D4 0C0ADF8D */ jal random_int /* 084CD8 800840D8 E610003C */ swc1 $f16, 0x3c($s0) /* 084CDC 800840DC 44822000 */ mtc1 $v0, $f4 /* 084CE0 800840E0 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 /* 084CE4 800840E4 04410004 */ bgez $v0, .L800840F8 /* 084CE8 800840E8 46802220 */ cvt.s.w $f8, $f4 /* 084CEC 800840EC 44813000 */ mtc1 $at, $f6 /* 084CF0 800840F0 00000000 */ nop /* 084CF4 800840F4 46064200 */ add.s $f8, $f8, $f6 .L800840F8: /* 084CF8 800840F8 3C01800F */ lui $at, %hi(D_800EF2C0) /* 084CFC 800840FC D432F2C0 */ ldc1 $f18, %lo(D_800EF2C0)($at) /* 084D00 80084100 460042A1 */ cvt.d.s $f10, $f8 /* 084D04 80084104 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 /* 084D08 80084108 46325402 */ mul.d $f16, $f10, $f18 /* 084D0C 8008410C 44812800 */ mtc1 $at, $f5 /* 084D10 80084110 44802000 */ mtc1 $zero, $f4 /* 084D14 80084114 3C098016 */ lui $t1, %hi(D_801657A2) # $t1, 0x8016 /* 084D18 80084118 8FAA002C */ lw $t2, 0x2c($sp) /* 084D1C 8008411C 24040014 */ li $a0, 20 /* 084D20 80084120 46248180 */ add.d $f6, $f16, $f4 /* 084D24 80084124 46203220 */ cvt.s.d $f8, $f6 /* 084D28 80084128 E6080034 */ swc1 $f8, 0x34($s0) /* 084D2C 8008412C 952957A2 */ lhu $t1, %lo(D_801657A2)($t1) /* 084D30 80084130 012A0019 */ multu $t1, $t2 /* 084D34 80084134 00005812 */ mflo $t3 /* 084D38 80084138 A60B00C0 */ sh $t3, 0xc0($s0) /* 084D3C 8008413C 0C0ADF8D */ jal random_int /* 084D40 80084140 00000000 */ nop /* 084D44 80084144 44825000 */ mtc1 $v0, $f10 /* 084D48 80084148 8FAC0020 */ lw $t4, 0x20($sp) /* 084D4C 8008414C 04410005 */ bgez $v0, .L80084164 /* 084D50 80084150 468054A0 */ cvt.s.w $f18, $f10 /* 084D54 80084154 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 /* 084D58 80084158 44818000 */ mtc1 $at, $f16 /* 084D5C 8008415C 00000000 */ nop /* 084D60 80084160 46109480 */ add.s $f18, $f18, $f16 .L80084164: /* 084D64 80084164 C5840014 */ lwc1 $f4, 0x14($t4) /* 084D68 80084168 3C014120 */ li $at, 0x41200000 # 10.000000 /* 084D6C 8008416C 44814000 */ mtc1 $at, $f8 /* 084D70 80084170 46049180 */ add.s $f6, $f18, $f4 /* 084D74 80084174 2404000A */ li $a0, 10 /* 084D78 80084178 46083281 */ sub.s $f10, $f6, $f8 /* 084D7C 8008417C 0C0ADF8D */ jal random_int /* 084D80 80084180 E60A0010 */ swc1 $f10, 0x10($s0) /* 084D84 80084184 8FAD0020 */ lw $t5, 0x20($sp) /* 084D88 80084188 3C014024 */ li $at, 0x40240000 # 2.562500 /* 084D8C 8008418C 44812800 */ mtc1 $at, $f5 /* 084D90 80084190 C5B00018 */ lwc1 $f16, 0x18($t5) /* 084D94 80084194 44802000 */ mtc1 $zero, $f4 /* 084D98 80084198 44824000 */ mtc1 $v0, $f8 /* 084D9C 8008419C 460084A1 */ cvt.d.s $f18, $f16 /* 084DA0 800841A0 3C0141F0 */ li $at, 0x41F00000 # 30.000000 /* 084DA4 800841A4 46249181 */ sub.d $f6, $f18, $f4 /* 084DA8 800841A8 04410005 */ bgez $v0, .L800841C0 /* 084DAC 800841AC 468042A1 */ cvt.d.w $f10, $f8 /* 084DB0 800841B0 44818800 */ mtc1 $at, $f17 /* 084DB4 800841B4 44808000 */ mtc1 $zero, $f16 /* 084DB8 800841B8 00000000 */ nop /* 084DBC 800841BC 46305280 */ add.d $f10, $f10, $f16 .L800841C0: /* 084DC0 800841C0 46265480 */ add.d $f18, $f10, $f6 /* 084DC4 800841C4 24040014 */ li $a0, 20 /* 084DC8 800841C8 46209120 */ cvt.s.d $f4, $f18 /* 084DCC 800841CC 0C0ADF8D */ jal random_int /* 084DD0 800841D0 E6040014 */ swc1 $f4, 0x14($s0) /* 084DD4 800841D4 44824000 */ mtc1 $v0, $f8 /* 084DD8 800841D8 8FAE0020 */ lw $t6, 0x20($sp) /* 084DDC 800841DC 04410005 */ bgez $v0, .L800841F4 /* 084DE0 800841E0 46804420 */ cvt.s.w $f16, $f8 /* 084DE4 800841E4 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 /* 084DE8 800841E8 44815000 */ mtc1 $at, $f10 /* 084DEC 800841EC 00000000 */ nop /* 084DF0 800841F0 460A8400 */ add.s $f16, $f16, $f10 .L800841F4: /* 084DF4 800841F4 C5C6001C */ lwc1 $f6, 0x1c($t6) /* 084DF8 800841F8 3C014120 */ li $at, 0x41200000 # 10.000000 /* 084DFC 800841FC 44812000 */ mtc1 $at, $f4 /* 084E00 80084200 46068480 */ add.s $f18, $f16, $f6 /* 084E04 80084204 8FBF001C */ lw $ra, 0x1c($sp) /* 084E08 80084208 46049201 */ sub.s $f8, $f18, $f4 /* 084E0C 8008420C E6080018 */ swc1 $f8, 0x18($s0) /* 084E10 80084210 8FB00018 */ lw $s0, 0x18($sp) /* 084E14 80084214 03E00008 */ jr $ra /* 084E18 80084218 27BD0028 */ addiu $sp, $sp, 0x28 glabel func_8008421C /* 084E1C 8008421C 27BDFFD0 */ addiu $sp, $sp, -0x30 /* 084E20 80084220 AFB50028 */ sw $s5, 0x28($sp) /* 084E24 80084224 3C158019 */ lui $s5, %hi(D_8018D3C0) # $s5, 0x8019 /* 084E28 80084228 26B5D3C0 */ addiu $s5, %lo(D_8018D3C0) # addiu $s5, $s5, -0x2c40 /* 084E2C 8008422C 8EAE0000 */ lw $t6, ($s5) /* 084E30 80084230 AFB40024 */ sw $s4, 0x24($sp) /* 084E34 80084234 AFB00014 */ sw $s0, 0x14($sp) /* 084E38 80084238 00A0A025 */ move $s4, $a1 /* 084E3C 8008423C AFBF002C */ sw $ra, 0x2c($sp) /* 084E40 80084240 AFB30020 */ sw $s3, 0x20($sp) /* 084E44 80084244 AFB2001C */ sw $s2, 0x1c($sp) /* 084E48 80084248 AFB10018 */ sw $s1, 0x18($sp) /* 084E4C 8008424C AFA40030 */ sw $a0, 0x30($sp) /* 084E50 80084250 19C00014 */ blez $t6, .L800842A4 /* 084E54 80084254 00008025 */ move $s0, $zero /* 084E58 80084258 3C128018 */ lui $s2, %hi(D_80183E4C) # $s2, 0x8018 /* 084E5C 8008425C 3C118019 */ lui $s1, %hi(D_8018C3F0) # $s1, 0x8019 /* 084E60 80084260 2631C3F0 */ addiu $s1, %lo(D_8018C3F0) # addiu $s1, $s1, -0x3c10 /* 084E64 80084264 26523E4C */ addiu $s2, %lo(D_80183E4C) # addiu $s2, $s2, 0x3e4c /* 084E68 80084268 2413FFFF */ li $s3, -1 /* 084E6C 8008426C 02202025 */ move $a0, $s1 .L80084270: /* 084E70 80084270 02402825 */ move $a1, $s2 /* 084E74 80084274 0C01C811 */ jal func_80072044 /* 084E78 80084278 24060080 */ li $a2, 128 /* 084E7C 8008427C 10530009 */ beq $v0, $s3, .L800842A4 /* 084E80 80084280 00402025 */ move $a0, $v0 /* 084E84 80084284 02002825 */ move $a1, $s0 /* 084E88 80084288 0C020FF4 */ jal func_80083FD0 /* 084E8C 8008428C 02803025 */ move $a2, $s4 /* 084E90 80084290 8EAF0000 */ lw $t7, ($s5) /* 084E94 80084294 26100001 */ addiu $s0, $s0, 1 /* 084E98 80084298 020F082A */ slt $at, $s0, $t7 /* 084E9C 8008429C 5420FFF4 */ bnel $at, $zero, .L80084270 /* 084EA0 800842A0 02202025 */ move $a0, $s1 .L800842A4: /* 084EA4 800842A4 8FBF002C */ lw $ra, 0x2c($sp) /* 084EA8 800842A8 8FB00014 */ lw $s0, 0x14($sp) /* 084EAC 800842AC 8FB10018 */ lw $s1, 0x18($sp) /* 084EB0 800842B0 8FB2001C */ lw $s2, 0x1c($sp) /* 084EB4 800842B4 8FB30020 */ lw $s3, 0x20($sp) /* 084EB8 800842B8 8FB40024 */ lw $s4, 0x24($sp) /* 084EBC 800842BC 8FB50028 */ lw $s5, 0x28($sp) /* 084EC0 800842C0 03E00008 */ jr $ra /* 084EC4 800842C4 27BD0030 */ addiu $sp, $sp, 0x30 glabel func_800842C8 /* 084EC8 800842C8 27BDFFC8 */ addiu $sp, $sp, -0x38 /* 084ECC 800842CC 3C028016 */ lui $v0, %hi(D_80165834) # $v0, 0x8016 /* 084ED0 800842D0 24425834 */ addiu $v0, %lo(D_80165834) # addiu $v0, $v0, 0x5834 /* 084ED4 800842D4 944E0000 */ lhu $t6, ($v0) /* 084ED8 800842D8 94580002 */ lhu $t8, 2($v0) /* 084EDC 800842DC AFBF0034 */ sw $ra, 0x34($sp) /* 084EE0 800842E0 25CF0200 */ addiu $t7, $t6, 0x200 /* 084EE4 800842E4 27190400 */ addiu $t9, $t8, 0x400 /* 084EE8 800842E8 AFB60030 */ sw $s6, 0x30($sp) /* 084EEC 800842EC AFB5002C */ sw $s5, 0x2c($sp) /* 084EF0 800842F0 AFB40028 */ sw $s4, 0x28($sp) /* 084EF4 800842F4 AFB30024 */ sw $s3, 0x24($sp) /* 084EF8 800842F8 AFB20020 */ sw $s2, 0x20($sp) /* 084EFC 800842FC AFB1001C */ sw $s1, 0x1c($sp) /* 084F00 80084300 AFB00018 */ sw $s0, 0x18($sp) /* 084F04 80084304 A44F0000 */ sh $t7, ($v0) /* 084F08 80084308 0C01067E */ jal func_800419F8 /* 084F0C 8008430C A4590002 */ sh $t9, 2($v0) /* 084F10 80084310 3C028016 */ lui $v0, %hi(D_8016582C) # $v0, 0x8016 /* 084F14 80084314 2442582C */ addiu $v0, %lo(D_8016582C) # addiu $v0, $v0, 0x582c /* 084F18 80084318 3C13800E */ lui $s3, %hi(gPlayerCountSelection1) # $s3, 0x800e /* 084F1C 8008431C 94480000 */ lhu $t0, ($v0) /* 084F20 80084320 944A0002 */ lhu $t2, 2($v0) /* 084F24 80084324 944C0004 */ lhu $t4, 4($v0) /* 084F28 80084328 2673C538 */ addiu $s3, %lo(gPlayerCountSelection1) # addiu $s3, $s3, -0x3ac8 /* 084F2C 8008432C 8E6E0000 */ lw $t6, ($s3) /* 084F30 80084330 25092000 */ addiu $t1, $t0, 0x2000 /* 084F34 80084334 254B1000 */ addiu $t3, $t2, 0x1000 /* 084F38 80084338 258D1800 */ addiu $t5, $t4, 0x1800 /* 084F3C 8008433C A4490000 */ sh $t1, ($v0) /* 084F40 80084340 A44B0002 */ sh $t3, 2($v0) /* 084F44 80084344 A44D0004 */ sh $t5, 4($v0) /* 084F48 80084348 19C00014 */ blez $t6, .L8008439C /* 084F4C 8008434C 00008825 */ move $s1, $zero /* 084F50 80084350 3C128018 */ lui $s2, %hi(D_80183DB8) # $s2, 0x8018 /* 084F54 80084354 26523DB8 */ addiu $s2, %lo(D_80183DB8) # addiu $s2, $s2, 0x3db8 /* 084F58 80084358 8E500000 */ lw $s0, ($s2) .L8008435C: /* 084F5C 8008435C 24050020 */ li $a1, 32 /* 084F60 80084360 0C01C8C8 */ jal func_80072320 /* 084F64 80084364 02002025 */ move $a0, $s0 /* 084F68 80084368 10400006 */ beqz $v0, .L80084384 /* 084F6C 8008436C 02002025 */ move $a0, $s0 /* 084F70 80084370 0C01C8B3 */ jal func_800722CC /* 084F74 80084374 24050020 */ li $a1, 32 /* 084F78 80084378 02002025 */ move $a0, $s0 /* 084F7C 8008437C 0C021087 */ jal func_8008421C /* 084F80 80084380 02202825 */ move $a1, $s1 .L80084384: /* 084F84 80084384 8E6F0000 */ lw $t7, ($s3) /* 084F88 80084388 26310001 */ addiu $s1, $s1, 1 /* 084F8C 8008438C 26520004 */ addiu $s2, $s2, 4 /* 084F90 80084390 022F082A */ slt $at, $s1, $t7 /* 084F94 80084394 5420FFF1 */ bnel $at, $zero, .L8008435C /* 084F98 80084398 8E500000 */ lw $s0, ($s2) .L8008439C: /* 084F9C 8008439C 3C118019 */ lui $s1, %hi(D_8018C3F0) # $s1, 0x8019 /* 084FA0 800843A0 3C168019 */ lui $s6, %hi(D_8018C5F0) # $s6, 0x8019 /* 084FA4 800843A4 3C148016 */ lui $s4, %hi(D_80165C18) # $s4, 0x8016 /* 084FA8 800843A8 26945C18 */ addiu $s4, %lo(D_80165C18) # addiu $s4, $s4, 0x5c18 /* 084FAC 800843AC 26D6C5F0 */ addiu $s6, %lo(D_8018C5F0) # addiu $s6, $s6, -0x3a10 /* 084FB0 800843B0 2631C3F0 */ addiu $s1, %lo(D_8018C3F0) # addiu $s1, $s1, -0x3c10 /* 084FB4 800843B4 241500E0 */ li $s5, 224 /* 084FB8 800843B8 2413FFFF */ li $s3, -1 /* 084FBC 800843BC 8E300000 */ lw $s0, ($s1) .L800843C0: /* 084FC0 800843C0 5213000F */ beql $s0, $s3, .L80084400 /* 084FC4 800843C4 26310004 */ addiu $s1, $s1, 4 /* 084FC8 800843C8 02150019 */ multu $s0, $s5 /* 084FCC 800843CC 0000C012 */ mflo $t8 /* 084FD0 800843D0 02989021 */ addu $s2, $s4, $t8 /* 084FD4 800843D4 865900A6 */ lh $t9, 0xa6($s2) /* 084FD8 800843D8 53200009 */ beql $t9, $zero, .L80084400 /* 084FDC 800843DC 26310004 */ addiu $s1, $s1, 4 /* 084FE0 800843E0 0C020FC6 */ jal func_80083F18 /* 084FE4 800843E4 02002025 */ move $a0, $s0 /* 084FE8 800843E8 864800A6 */ lh $t0, 0xa6($s2) /* 084FEC 800843EC 55000004 */ bnel $t0, $zero, .L80084400 /* 084FF0 800843F0 26310004 */ addiu $s1, $s1, 4 /* 084FF4 800843F4 0C01C840 */ jal func_80072100 /* 084FF8 800843F8 02202025 */ move $a0, $s1 /* 084FFC 800843FC 26310004 */ addiu $s1, $s1, 4 .L80084400: /* 085000 80084400 5636FFEF */ bnel $s1, $s6, .L800843C0 /* 085004 80084404 8E300000 */ lw $s0, ($s1) /* 085008 80084408 8FBF0034 */ lw $ra, 0x34($sp) /* 08500C 8008440C 8FB00018 */ lw $s0, 0x18($sp) /* 085010 80084410 8FB1001C */ lw $s1, 0x1c($sp) /* 085014 80084414 8FB20020 */ lw $s2, 0x20($sp) /* 085018 80084418 8FB30024 */ lw $s3, 0x24($sp) /* 08501C 8008441C 8FB40028 */ lw $s4, 0x28($sp) /* 085020 80084420 8FB5002C */ lw $s5, 0x2c($sp) /* 085024 80084424 8FB60030 */ lw $s6, 0x30($sp) /* 085028 80084428 03E00008 */ jr $ra /* 08502C 8008442C 27BD0038 */ addiu $sp, $sp, 0x38 glabel func_80084430 /* 085030 80084430 000470C0 */ sll $t6, $a0, 3 /* 085034 80084434 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 085038 80084438 01C47023 */ subu $t6, $t6, $a0 /* 08503C 8008443C 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 085040 80084440 AFB00014 */ sw $s0, 0x14($sp) /* 085044 80084444 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 085048 80084448 000E7140 */ sll $t6, $t6, 5 /* 08504C 8008444C 01CF8021 */ addu $s0, $t6, $t7 /* 085050 80084450 3C180601 */ lui $t8, %hi(D_06008EB0) # $t8, 0x601 /* 085054 80084454 3C190601 */ lui $t9, %hi(D_06009AC8) # $t9, 0x601 /* 085058 80084458 27188EB0 */ addiu $t8, %lo(D_06008EB0) # addiu $t8, $t8, -0x7150 /* 08505C 8008445C 27399AC8 */ addiu $t9, %lo(D_06009AC8) # addiu $t9, $t9, -0x6538 /* 085060 80084460 A20000D8 */ sb $zero, 0xd8($s0) /* 085064 80084464 AE180070 */ sw $t8, 0x70($s0) /* 085068 80084468 AE190074 */ sw $t9, 0x74($s0) /* 08506C 8008446C 3C01800F */ lui $at, %hi(D_800EF2C8) # $at, 0x800f /* 085070 80084470 C424F2C8 */ lwc1 $f4, %lo(D_800EF2C8)($at) /* 085074 80084474 2408000C */ li $t0, 12 /* 085078 80084478 24090001 */ li $t1, 1 /* 08507C 8008447C A60800C8 */ sh $t0, 0xc8($s0) /* 085080 80084480 A609009C */ sh $t1, 0x9c($s0) /* 085084 80084484 3C018019 */ lui $at, %hi(D_8018D01C) # $at, 0x8019 /* 085088 80084488 E6040000 */ swc1 $f4, ($s0) /* 08508C 8008448C C426D01C */ lwc1 $f6, %lo(D_8018D01C)($at) /* 085090 80084490 3C01800F */ lui $at, %hi(D_800EF2D0) /* 085094 80084494 D42AF2D0 */ ldc1 $f10, %lo(D_800EF2D0)($at) /* 085098 80084498 46003221 */ cvt.d.s $f8, $f6 /* 08509C 8008449C AFA50024 */ sw $a1, 0x24($sp) /* 0850A0 800844A0 462A4402 */ mul.d $f16, $f8, $f10 /* 0850A4 800844A4 AFBF001C */ sw $ra, 0x1c($sp) /* 0850A8 800844A8 AFB10018 */ sw $s1, 0x18($sp) /* 0850AC 800844AC 3C07C42C */ lui $a3, (0xC42C8000 >> 16) # lui $a3, 0xc42c /* 0850B0 800844B0 00808825 */ move $s1, $a0 /* 0850B4 800844B4 34E78000 */ ori $a3, (0xC42C8000 & 0xFFFF) # ori $a3, $a3, 0x8000 /* 0850B8 800844B8 3C064000 */ lui $a2, 0x4000 /* 0850BC 800844BC 462084A0 */ cvt.s.d $f18, $f16 /* 0850C0 800844C0 44059000 */ mfc1 $a1, $f18 /* 0850C4 800844C4 0C022DF5 */ jal func_8008B7D4 /* 0850C8 800844C8 00000000 */ nop /* 0850CC 800844CC 02202025 */ move $a0, $s1 /* 0850D0 800844D0 00002825 */ move $a1, $zero /* 0850D4 800844D4 00003025 */ move $a2, $zero /* 0850D8 800844D8 0C022E22 */ jal func_8008B888 /* 0850DC 800844DC 00003825 */ move $a3, $zero /* 0850E0 800844E0 240A0001 */ li $t2, 1 /* 0850E4 800844E4 A20A00DD */ sb $t2, 0xdd($s0) /* 0850E8 800844E8 0C021BBC */ jal func_80086EF0 /* 0850EC 800844EC 02202025 */ move $a0, $s1 /* 0850F0 800844F0 3C0B800E */ lui $t3, %hi(D_800E672C) # $t3, 0x800e /* 0850F4 800844F4 8D6B672C */ lw $t3, %lo(D_800E672C)($t3) /* 0850F8 800844F8 3C050400 */ lui $a1, (0x04000800 >> 16) # lui $a1, 0x400 /* 0850FC 800844FC 34A50800 */ ori $a1, (0x04000800 & 0xFFFF) # ori $a1, $a1, 0x800 /* 085100 80084500 02202025 */ move $a0, $s1 /* 085104 80084504 0C01C870 */ jal func_800721C0 /* 085108 80084508 AE0B0080 */ sw $t3, 0x80($s0) /* 08510C 8008450C 3C040601 */ lui $a0, %hi(D_06009AC8) # $a0, 0x601 /* 085110 80084510 24849AC8 */ addiu $a0, %lo(D_06009AC8) # addiu $a0, $a0, -0x6538 /* 085114 80084514 0C0013AB */ jal func_80004EAC /* 085118 80084518 00002825 */ move $a1, $zero /* 08511C 8008451C A60200A4 */ sh $v0, 0xa4($s0) /* 085120 80084520 0C01C922 */ jal func_80072488 /* 085124 80084524 02202025 */ move $a0, $s1 /* 085128 80084528 8FBF001C */ lw $ra, 0x1c($sp) /* 08512C 8008452C 8FB00014 */ lw $s0, 0x14($sp) /* 085130 80084530 8FB10018 */ lw $s1, 0x18($sp) /* 085134 80084534 03E00008 */ jr $ra /* 085138 80084538 27BD0020 */ addiu $sp, $sp, 0x20 glabel func_8008453C /* 08513C 8008453C 000470C0 */ sll $t6, $a0, 3 /* 085140 80084540 01C47023 */ subu $t6, $t6, $a0 /* 085144 80084544 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 085148 80084548 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 08514C 8008454C 000E7140 */ sll $t6, $t6, 5 /* 085150 80084550 01CF1821 */ addu $v1, $t6, $t7 /* 085154 80084554 846200A6 */ lh $v0, 0xa6($v1) /* 085158 80084558 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 08515C 8008455C AFBF001C */ sw $ra, 0x1c($sp) /* 085160 80084560 10400015 */ beqz $v0, .L800845B8 /* 085164 80084564 24060001 */ li $a2, 1 /* 085168 80084568 10460006 */ beq $v0, $a2, .L80084584 /* 08516C 8008456C 3C18800E */ lui $t8, %hi(gPlayerCountSelection1) # $t8, 0x800e /* 085170 80084570 24010002 */ li $at, 2 /* 085174 80084574 1041000A */ beq $v0, $at, .L800845A0 /* 085178 80084578 00002825 */ move $a1, $zero /* 08517C 8008457C 1000000F */ b .L800845BC /* 085180 80084580 8FBF001C */ lw $ra, 0x1c($sp) .L80084584: /* 085184 80084584 8F18C538 */ lw $t8, %lo(gPlayerCountSelection1)($t8) /* 085188 80084588 54D8000C */ bnel $a2, $t8, .L800845BC /* 08518C 8008458C 8FBF001C */ lw $ra, 0x1c($sp) /* 085190 80084590 0C02110C */ jal func_80084430 /* 085194 80084594 00000000 */ nop /* 085198 80084598 10000008 */ b .L800845BC /* 08519C 8008459C 8FBF001C */ lw $ra, 0x1c($sp) .L800845A0: /* 0851A0 800845A0 2419FFFF */ li $t9, -1 /* 0851A4 800845A4 AFB90014 */ sw $t9, 0x14($sp) /* 0851A8 800845A8 846600A4 */ lh $a2, 0xa4($v1) /* 0851AC 800845AC 24070001 */ li $a3, 1 /* 0851B0 800845B0 0C01CB95 */ jal func_80072E54 /* 0851B4 800845B4 AFA00010 */ sw $zero, 0x10($sp) .L800845B8: /* 0851B8 800845B8 8FBF001C */ lw $ra, 0x1c($sp) .L800845BC: /* 0851BC 800845BC 27BD0020 */ addiu $sp, $sp, 0x20 /* 0851C0 800845C0 03E00008 */ jr $ra /* 0851C4 800845C4 00000000 */ nop glabel func_800845C8 /* 0851C8 800845C8 000470C0 */ sll $t6, $a0, 3 /* 0851CC 800845CC 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0851D0 800845D0 01C47023 */ subu $t6, $t6, $a0 /* 0851D4 800845D4 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 0851D8 800845D8 AFB00014 */ sw $s0, 0x14($sp) /* 0851DC 800845DC 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 0851E0 800845E0 000E7140 */ sll $t6, $t6, 5 /* 0851E4 800845E4 01CF8021 */ addu $s0, $t6, $t7 /* 0851E8 800845E8 AFB10018 */ sw $s1, 0x18($sp) /* 0851EC 800845EC 3C180601 */ lui $t8, %hi(D_06008EB0) # $t8, 0x601 /* 0851F0 800845F0 3C190601 */ lui $t9, %hi(D_06009AC8) # $t9, 0x601 /* 0851F4 800845F4 00808825 */ move $s1, $a0 /* 0851F8 800845F8 AFBF001C */ sw $ra, 0x1c($sp) /* 0851FC 800845FC 27188EB0 */ addiu $t8, %lo(D_06008EB0) # addiu $t8, $t8, -0x7150 /* 085200 80084600 27399AC8 */ addiu $t9, %lo(D_06009AC8) # addiu $t9, $t9, -0x6538 /* 085204 80084604 24080004 */ li $t0, 4 /* 085208 80084608 24090002 */ li $t1, 2 /* 08520C 8008460C AFA50024 */ sw $a1, 0x24($sp) /* 085210 80084610 A20000D8 */ sb $zero, 0xd8($s0) /* 085214 80084614 AE180070 */ sw $t8, 0x70($s0) /* 085218 80084618 AE190074 */ sw $t9, 0x74($s0) /* 08521C 8008461C A60800C8 */ sh $t0, 0xc8($s0) /* 085220 80084620 A609009C */ sh $t1, 0x9c($s0) /* 085224 80084624 0C0ADF8D */ jal random_int /* 085228 80084628 2404012C */ li $a0, 300 /* 08522C 8008462C 3C050400 */ lui $a1, (0x04000220 >> 16) # lui $a1, 0x400 /* 085230 80084630 AE02004C */ sw $v0, 0x4c($s0) /* 085234 80084634 34A50220 */ ori $a1, (0x04000220 & 0xFFFF) # ori $a1, $a1, 0x220 /* 085238 80084638 0C01C870 */ jal func_800721C0 /* 08523C 8008463C 02202025 */ move $a0, $s1 /* 085240 80084640 8FA30024 */ lw $v1, 0x24($sp) /* 085244 80084644 18600073 */ blez $v1, .L80084814 /* 085248 80084648 28610009 */ slti $at, $v1, 9 /* 08524C 8008464C 10200071 */ beqz $at, .L80084814 /* 085250 80084650 24010001 */ li $at, 1 /* 085254 80084654 10610002 */ beq $v1, $at, .L80084660 /* 085258 80084658 24010002 */ li $at, 2 /* 08525C 8008465C 14610015 */ bne $v1, $at, .L800846B4 .L80084660: /* 085260 80084660 3C018019 */ lui $at, %hi(D_8018D01C) # $at, 0x8019 /* 085264 80084664 C424D01C */ lwc1 $f4, %lo(D_8018D01C)($at) /* 085268 80084668 3C01800F */ lui $at, %hi(D_800EF2D8) /* 08526C 8008466C D428F2D8 */ ldc1 $f8, %lo(D_800EF2D8)($at) /* 085270 80084670 460021A1 */ cvt.d.s $f6, $f4 /* 085274 80084674 3C0744BE */ lui $a3, (0x44BE2000 >> 16) # lui $a3, 0x44be /* 085278 80084678 46283282 */ mul.d $f10, $f6, $f8 /* 08527C 8008467C 34E72000 */ ori $a3, (0x44BE2000 & 0xFFFF) # ori $a3, $a3, 0x2000 /* 085280 80084680 02202025 */ move $a0, $s1 /* 085284 80084684 3C06C2A0 */ lui $a2, 0xc2a0 /* 085288 80084688 46205420 */ cvt.s.d $f16, $f10 /* 08528C 8008468C 44058000 */ mfc1 $a1, $f16 /* 085290 80084690 0C022DF5 */ jal func_8008B7D4 /* 085294 80084694 00000000 */ nop /* 085298 80084698 3C0142C8 */ li $at, 0x42C80000 # 100.000000 /* 08529C 8008469C 44819000 */ mtc1 $at, $f18 /* 0852A0 800846A0 240A0150 */ li $t2, 336 /* 0852A4 800846A4 8FA30024 */ lw $v1, 0x24($sp) /* 0852A8 800846A8 A60A00C6 */ sh $t2, 0xc6($s0) /* 0852AC 800846AC 1000004A */ b .L800847D8 /* 0852B0 800846B0 E6120020 */ swc1 $f18, 0x20($s0) .L800846B4: /* 0852B4 800846B4 24010003 */ li $at, 3 /* 0852B8 800846B8 10610002 */ beq $v1, $at, .L800846C4 /* 0852BC 800846BC 24010004 */ li $at, 4 /* 0852C0 800846C0 14610015 */ bne $v1, $at, .L80084718 .L800846C4: /* 0852C4 800846C4 3C018019 */ lui $at, %hi(D_8018D01C) # $at, 0x8019 /* 0852C8 800846C8 C424D01C */ lwc1 $f4, %lo(D_8018D01C)($at) /* 0852CC 800846CC 3C01800F */ lui $at, %hi(D_800EF2E0) /* 0852D0 800846D0 D428F2E0 */ ldc1 $f8, %lo(D_800EF2E0)($at) /* 0852D4 800846D4 460021A1 */ cvt.d.s $f6, $f4 /* 0852D8 800846D8 3C0744C9 */ lui $a3, (0x44C98000 >> 16) # lui $a3, 0x44c9 /* 0852DC 800846DC 46283282 */ mul.d $f10, $f6, $f8 /* 0852E0 800846E0 34E78000 */ ori $a3, (0x44C98000 & 0xFFFF) # ori $a3, $a3, 0x8000 /* 0852E4 800846E4 02202025 */ move $a0, $s1 /* 0852E8 800846E8 3C06C2A0 */ lui $a2, 0xc2a0 /* 0852EC 800846EC 46205420 */ cvt.s.d $f16, $f10 /* 0852F0 800846F0 44058000 */ mfc1 $a1, $f16 /* 0852F4 800846F4 0C022DF5 */ jal func_8008B7D4 /* 0852F8 800846F8 00000000 */ nop /* 0852FC 800846FC 3C0142A0 */ li $at, 0x42A00000 # 80.000000 /* 085300 80084700 44819000 */ mtc1 $at, $f18 /* 085304 80084704 240B0100 */ li $t3, 256 /* 085308 80084708 8FA30024 */ lw $v1, 0x24($sp) /* 08530C 8008470C A60B00C6 */ sh $t3, 0xc6($s0) /* 085310 80084710 10000031 */ b .L800847D8 /* 085314 80084714 E6120020 */ swc1 $f18, 0x20($s0) .L80084718: /* 085318 80084718 24010005 */ li $at, 5 /* 08531C 8008471C 10610002 */ beq $v1, $at, .L80084728 /* 085320 80084720 24010006 */ li $at, 6 /* 085324 80084724 14610014 */ bne $v1, $at, .L80084778 .L80084728: /* 085328 80084728 3C018019 */ lui $at, %hi(D_8018D01C) # $at, 0x8019 /* 08532C 8008472C C424D01C */ lwc1 $f4, %lo(D_8018D01C)($at) /* 085330 80084730 3C01800F */ lui $at, %hi(D_800EF2E8) /* 085334 80084734 D428F2E8 */ ldc1 $f8, %lo(D_800EF2E8)($at) /* 085338 80084738 460021A1 */ cvt.d.s $f6, $f4 /* 08533C 8008473C 02202025 */ move $a0, $s1 /* 085340 80084740 46283282 */ mul.d $f10, $f6, $f8 /* 085344 80084744 3C06C2A0 */ lui $a2, 0xc2a0 /* 085348 80084748 3C0744CB */ lui $a3, 0x44cb /* 08534C 8008474C 46205420 */ cvt.s.d $f16, $f10 /* 085350 80084750 44058000 */ mfc1 $a1, $f16 /* 085354 80084754 0C022DF5 */ jal func_8008B7D4 /* 085358 80084758 00000000 */ nop /* 08535C 8008475C 3C0142A0 */ li $at, 0x42A00000 # 80.000000 /* 085360 80084760 44819000 */ mtc1 $at, $f18 /* 085364 80084764 340CFF00 */ li $t4, 65280 /* 085368 80084768 8FA30024 */ lw $v1, 0x24($sp) /* 08536C 8008476C A60C00C6 */ sh $t4, 0xc6($s0) /* 085370 80084770 10000019 */ b .L800847D8 /* 085374 80084774 E6120020 */ swc1 $f18, 0x20($s0) .L80084778: /* 085378 80084778 24010007 */ li $at, 7 /* 08537C 8008477C 10610002 */ beq $v1, $at, .L80084788 /* 085380 80084780 24010008 */ li $at, 8 /* 085384 80084784 14610014 */ bne $v1, $at, .L800847D8 .L80084788: /* 085388 80084788 3C018019 */ lui $at, %hi(D_8018D01C) # $at, 0x8019 /* 08538C 8008478C C424D01C */ lwc1 $f4, %lo(D_8018D01C)($at) /* 085390 80084790 3C01800F */ lui $at, %hi(D_800EF2F0) /* 085394 80084794 D428F2F0 */ ldc1 $f8, %lo(D_800EF2F0)($at) /* 085398 80084798 460021A1 */ cvt.d.s $f6, $f4 /* 08539C 8008479C 3C074492 */ lui $a3, (0x44926000 >> 16) # lui $a3, 0x4492 /* 0853A0 800847A0 46283282 */ mul.d $f10, $f6, $f8 /* 0853A4 800847A4 34E76000 */ ori $a3, (0x44926000 & 0xFFFF) # ori $a3, $a3, 0x6000 /* 0853A8 800847A8 02202025 */ move $a0, $s1 /* 0853AC 800847AC 3C06C2A0 */ lui $a2, 0xc2a0 /* 0853B0 800847B0 46205420 */ cvt.s.d $f16, $f10 /* 0853B4 800847B4 44058000 */ mfc1 $a1, $f16 /* 0853B8 800847B8 0C022DF5 */ jal func_8008B7D4 /* 0853BC 800847BC 00000000 */ nop /* 0853C0 800847C0 3C0142A0 */ li $at, 0x42A00000 # 80.000000 /* 0853C4 800847C4 44819000 */ mtc1 $at, $f18 /* 0853C8 800847C8 240D0150 */ li $t5, 336 /* 0853CC 800847CC 8FA30024 */ lw $v1, 0x24($sp) /* 0853D0 800847D0 A60D00C6 */ sh $t5, 0xc6($s0) /* 0853D4 800847D4 E6120020 */ swc1 $f18, 0x20($s0) .L800847D8: /* 0853D8 800847D8 3C01C2A0 */ li $at, 0xC2A00000 # -80.000000 /* 0853DC 800847DC 44812000 */ mtc1 $at, $f4 /* 0853E0 800847E0 00037BC0 */ sll $t7, $v1, 0xf /* 0853E4 800847E4 A60F00C4 */ sh $t7, 0xc4($s0) /* 0853E8 800847E8 3C01800F */ lui $at, %hi(D_800EF2F8) # $at, 0x800f /* 0853EC 800847EC E6040044 */ swc1 $f4, 0x44($s0) /* 0853F0 800847F0 C426F2F8 */ lwc1 $f6, %lo(D_800EF2F8)($at) /* 0853F4 800847F4 24180002 */ li $t8, 2 /* 0853F8 800847F8 A21800DD */ sb $t8, 0xdd($s0) /* 0853FC 800847FC 02202025 */ move $a0, $s1 /* 085400 80084800 24050008 */ li $a1, 8 /* 085404 80084804 0C01C8A9 */ jal func_800722A4 /* 085408 80084808 E6060000 */ swc1 $f6, ($s0) /* 08540C 8008480C 100000CB */ b .L80084B3C /* 085410 80084810 00000000 */ nop .L80084814: /* 085414 80084814 28610009 */ slti $at, $v1, 9 /* 085418 80084818 142000C8 */ bnez $at, .L80084B3C /* 08541C 8008481C 2861000F */ slti $at, $v1, 0xf /* 085420 80084820 102000C6 */ beqz $at, .L80084B3C /* 085424 80084824 2479FFF7 */ addiu $t9, $v1, -9 /* 085428 80084828 2F210006 */ sltiu $at, $t9, 6 /* 08542C 8008482C 102000B1 */ beqz $at, .L80084AF4 /* 085430 80084830 0019C880 */ sll $t9, $t9, 2 /* 085434 80084834 3C01800F */ lui $at, %hi(D_800EF2FC) /* 085438 80084838 00390821 */ addu $at, $at, $t9 /* 08543C 8008483C 8C39F2FC */ lw $t9, %lo(D_800EF2FC)($at) /* 085440 80084840 03200008 */ jr $t9 /* 085444 80084844 00000000 */ nop glabel L80084848 /* 085448 80084848 3C08800E */ lui $t0, %hi(D_800DC50C) # $t0, 0x800e /* 08544C 8008484C 8D08C50C */ lw $t0, %lo(D_800DC50C)($t0) /* 085450 80084850 24010009 */ li $at, 9 /* 085454 80084854 1101000F */ beq $t0, $at, .L80084894 /* 085458 80084858 3C018019 */ lui $at, %hi(D_8018D01C) # $at, 0x8019 /* 08545C 8008485C C428D01C */ lwc1 $f8, %lo(D_8018D01C)($at) /* 085460 80084860 3C01800F */ lui $at, %hi(D_800EF318) /* 085464 80084864 D430F318 */ ldc1 $f16, %lo(D_800EF318)($at) /* 085468 80084868 460042A1 */ cvt.d.s $f10, $f8 /* 08546C 8008486C 02202025 */ move $a0, $s1 /* 085470 80084870 46305482 */ mul.d $f18, $f10, $f16 /* 085474 80084874 24060000 */ li $a2, 0 /* 085478 80084878 3C07C3BE */ lui $a3, 0xc3be /* 08547C 8008487C 46209120 */ cvt.s.d $f4, $f18 /* 085480 80084880 44052000 */ mfc1 $a1, $f4 /* 085484 80084884 0C022DF5 */ jal func_8008B7D4 /* 085488 80084888 00000000 */ nop /* 08548C 8008488C 10000013 */ b .L800848DC /* 085490 80084890 34099000 */ li $t1, 36864 .L80084894: /* 085494 80084894 3C018019 */ lui $at, %hi(D_8018D01C) # $at, 0x8019 /* 085498 80084898 C426D01C */ lwc1 $f6, %lo(D_8018D01C)($at) /* 08549C 8008489C 3C01800F */ lui $at, %hi(D_800EF320) /* 0854A0 800848A0 D42AF320 */ ldc1 $f10, %lo(D_800EF320)($at) /* 0854A4 800848A4 46003221 */ cvt.d.s $f8, $f6 /* 0854A8 800848A8 3C07C405 */ lui $a3, (0xC405C000 >> 16) # lui $a3, 0xc405 /* 0854AC 800848AC 462A4402 */ mul.d $f16, $f8, $f10 /* 0854B0 800848B0 34E7C000 */ ori $a3, (0xC405C000 & 0xFFFF) # ori $a3, $a3, 0xc000 /* 0854B4 800848B4 02202025 */ move $a0, $s1 /* 0854B8 800848B8 24060000 */ li $a2, 0 /* 0854BC 800848BC 462084A0 */ cvt.s.d $f18, $f16 /* 0854C0 800848C0 44059000 */ mfc1 $a1, $f18 /* 0854C4 800848C4 0C022DF5 */ jal func_8008B7D4 /* 0854C8 800848C8 00000000 */ nop /* 0854CC 800848CC 3C01800F */ lui $at, %hi(D_800EF328) # $at, 0x800f /* 0854D0 800848D0 C424F328 */ lwc1 $f4, %lo(D_800EF328)($at) /* 0854D4 800848D4 E6040000 */ swc1 $f4, ($s0) /* 0854D8 800848D8 34099000 */ li $t1, 36864 .L800848DC: /* 0854DC 800848DC A60900C6 */ sh $t1, 0xc6($s0) /* 0854E0 800848E0 3C0A800E */ lui $t2, %hi(gIsMirrorMode) # $t2, 0x800e /* 0854E4 800848E4 8D4AC604 */ lw $t2, %lo(gIsMirrorMode)($t2) /* 0854E8 800848E8 252CC000 */ addiu $t4, $t1, -0x4000 /* 0854EC 800848EC 240D0003 */ li $t5, 3 /* 0854F0 800848F0 11400002 */ beqz $t2, .L800848FC /* 0854F4 800848F4 00000000 */ nop /* 0854F8 800848F8 A60C00C6 */ sh $t4, 0xc6($s0) .L800848FC: /* 0854FC 800848FC 1000007D */ b .L80084AF4 /* 085500 80084900 A20D00DD */ sb $t5, 0xdd($s0) glabel L80084904 /* 085504 80084904 3C018019 */ lui $at, %hi(D_8018D01C) # $at, 0x8019 /* 085508 80084908 C426D01C */ lwc1 $f6, %lo(D_8018D01C)($at) /* 08550C 8008490C 3C01800F */ lui $at, %hi(D_800EF330) /* 085510 80084910 D42AF330 */ ldc1 $f10, %lo(D_800EF330)($at) /* 085514 80084914 46003221 */ cvt.d.s $f8, $f6 /* 085518 80084918 3C07C43F */ lui $a3, (0xC43F8000 >> 16) # lui $a3, 0xc43f /* 08551C 8008491C 462A4402 */ mul.d $f16, $f8, $f10 /* 085520 80084920 34E78000 */ ori $a3, (0xC43F8000 & 0xFFFF) # ori $a3, $a3, 0x8000 /* 085524 80084924 02202025 */ move $a0, $s1 /* 085528 80084928 24060000 */ li $a2, 0 /* 08552C 8008492C 462084A0 */ cvt.s.d $f18, $f16 /* 085530 80084930 44059000 */ mfc1 $a1, $f18 /* 085534 80084934 0C022DF5 */ jal func_8008B7D4 /* 085538 80084938 00000000 */ nop /* 08553C 8008493C 240E5000 */ li $t6, 20480 /* 085540 80084940 A60E00C6 */ sh $t6, 0xc6($s0) /* 085544 80084944 3C0F800E */ lui $t7, %hi(gIsMirrorMode) # $t7, 0x800e /* 085548 80084948 8DEFC604 */ lw $t7, %lo(gIsMirrorMode)($t7) /* 08554C 8008494C 34018000 */ li $at, 32768 /* 085550 80084950 01C1C821 */ addu $t9, $t6, $at /* 085554 80084954 11E00002 */ beqz $t7, .L80084960 /* 085558 80084958 24080004 */ li $t0, 4 /* 08555C 8008495C A61900C6 */ sh $t9, 0xc6($s0) .L80084960: /* 085560 80084960 10000064 */ b .L80084AF4 /* 085564 80084964 A20800DD */ sb $t0, 0xdd($s0) glabel L80084968 /* 085568 80084968 3C018019 */ lui $at, %hi(D_8018D01C) # $at, 0x8019 /* 08556C 8008496C C424D01C */ lwc1 $f4, %lo(D_8018D01C)($at) /* 085570 80084970 3C01800F */ lui $at, %hi(D_800EF338) /* 085574 80084974 D428F338 */ ldc1 $f8, %lo(D_800EF338)($at) /* 085578 80084978 460021A1 */ cvt.d.s $f6, $f4 /* 08557C 8008497C 02202025 */ move $a0, $s1 /* 085580 80084980 46283282 */ mul.d $f10, $f6, $f8 /* 085584 80084984 24060000 */ li $a2, 0 /* 085588 80084988 3C07C352 */ lui $a3, 0xc352 /* 08558C 8008498C 46205420 */ cvt.s.d $f16, $f10 /* 085590 80084990 44058000 */ mfc1 $a1, $f16 /* 085594 80084994 0C022DF5 */ jal func_8008B7D4 /* 085598 80084998 00000000 */ nop /* 08559C 8008499C 3409C000 */ li $t1, 49152 /* 0855A0 800849A0 240A0006 */ li $t2, 6 /* 0855A4 800849A4 A60900C6 */ sh $t1, 0xc6($s0) /* 0855A8 800849A8 A20A00DD */ sb $t2, 0xdd($s0) /* 0855AC 800849AC 3C0B800E */ lui $t3, %hi(gIsMirrorMode) # $t3, 0x800e /* 0855B0 800849B0 8D6BC604 */ lw $t3, %lo(gIsMirrorMode)($t3) /* 0855B4 800849B4 34018000 */ li $at, 32768 /* 0855B8 800849B8 01216821 */ addu $t5, $t1, $at /* 0855BC 800849BC 5160004E */ beql $t3, $zero, .L80084AF8 /* 0855C0 800849C0 960600C6 */ lhu $a2, 0xc6($s0) /* 0855C4 800849C4 1000004B */ b .L80084AF4 /* 0855C8 800849C8 A60D00C6 */ sh $t5, 0xc6($s0) glabel L800849CC /* 0855CC 800849CC 3C018019 */ lui $at, %hi(D_8018D01C) # $at, 0x8019 /* 0855D0 800849D0 C432D01C */ lwc1 $f18, %lo(D_8018D01C)($at) /* 0855D4 800849D4 3C01800F */ lui $at, %hi(D_800EF340) /* 0855D8 800849D8 D426F340 */ ldc1 $f6, %lo(D_800EF340)($at) /* 0855DC 800849DC 46009121 */ cvt.d.s $f4, $f18 /* 0855E0 800849E0 02202025 */ move $a0, $s1 /* 0855E4 800849E4 46262202 */ mul.d $f8, $f4, $f6 /* 0855E8 800849E8 24060000 */ li $a2, 0 /* 0855EC 800849EC 3C07C37A */ lui $a3, 0xc37a /* 0855F0 800849F0 462042A0 */ cvt.s.d $f10, $f8 /* 0855F4 800849F4 44055000 */ mfc1 $a1, $f10 /* 0855F8 800849F8 0C022DF5 */ jal func_8008B7D4 /* 0855FC 800849FC 00000000 */ nop /* 085600 80084A00 240E4000 */ li $t6, 16384 /* 085604 80084A04 240F0006 */ li $t7, 6 /* 085608 80084A08 A60E00C6 */ sh $t6, 0xc6($s0) /* 08560C 80084A0C A20F00DD */ sb $t7, 0xdd($s0) /* 085610 80084A10 3C18800E */ lui $t8, %hi(gIsMirrorMode) # $t8, 0x800e /* 085614 80084A14 8F18C604 */ lw $t8, %lo(gIsMirrorMode)($t8) /* 085618 80084A18 34018000 */ li $at, 32768 /* 08561C 80084A1C 01C14021 */ addu $t0, $t6, $at /* 085620 80084A20 53000035 */ beql $t8, $zero, .L80084AF8 /* 085624 80084A24 960600C6 */ lhu $a2, 0xc6($s0) /* 085628 80084A28 10000032 */ b .L80084AF4 /* 08562C 80084A2C A60800C6 */ sh $t0, 0xc6($s0) glabel L80084A30 /* 085630 80084A30 3C018019 */ lui $at, %hi(D_8018D01C) # $at, 0x8019 /* 085634 80084A34 C430D01C */ lwc1 $f16, %lo(D_8018D01C)($at) /* 085638 80084A38 3C01800F */ lui $at, %hi(D_800EF348) /* 08563C 80084A3C D424F348 */ ldc1 $f4, %lo(D_800EF348)($at) /* 085640 80084A40 460084A1 */ cvt.d.s $f18, $f16 /* 085644 80084A44 3C07445A */ lui $a3, (0x445AC000 >> 16) # lui $a3, 0x445a /* 085648 80084A48 46249182 */ mul.d $f6, $f18, $f4 /* 08564C 80084A4C 34E7C000 */ ori $a3, (0x445AC000 & 0xFFFF) # ori $a3, $a3, 0xc000 /* 085650 80084A50 02202025 */ move $a0, $s1 /* 085654 80084A54 24060000 */ li $a2, 0 /* 085658 80084A58 46203220 */ cvt.s.d $f8, $f6 /* 08565C 80084A5C 44054000 */ mfc1 $a1, $f8 /* 085660 80084A60 0C022DF5 */ jal func_8008B7D4 /* 085664 80084A64 00000000 */ nop /* 085668 80084A68 34098000 */ li $t1, 32768 /* 08566C 80084A6C 240A0006 */ li $t2, 6 /* 085670 80084A70 A60900C6 */ sh $t1, 0xc6($s0) /* 085674 80084A74 A20A00DD */ sb $t2, 0xdd($s0) /* 085678 80084A78 3C0B800E */ lui $t3, %hi(gIsMirrorMode) # $t3, 0x800e /* 08567C 80084A7C 8D6BC604 */ lw $t3, %lo(gIsMirrorMode)($t3) /* 085680 80084A80 252DC000 */ addiu $t5, $t1, -0x4000 /* 085684 80084A84 5160001C */ beql $t3, $zero, .L80084AF8 /* 085688 80084A88 960600C6 */ lhu $a2, 0xc6($s0) /* 08568C 80084A8C 10000019 */ b .L80084AF4 /* 085690 80084A90 A60D00C6 */ sh $t5, 0xc6($s0) glabel L80084A94 /* 085694 80084A94 3C018019 */ lui $at, %hi(D_8018D01C) # $at, 0x8019 /* 085698 80084A98 C42AD01C */ lwc1 $f10, %lo(D_8018D01C)($at) /* 08569C 80084A9C 3C01800F */ lui $at, %hi(D_800EF350) /* 0856A0 80084AA0 D432F350 */ ldc1 $f18, %lo(D_800EF350)($at) /* 0856A4 80084AA4 46005421 */ cvt.d.s $f16, $f10 /* 0856A8 80084AA8 3C07446E */ lui $a3, (0x446E4000 >> 16) # lui $a3, 0x446e /* 0856AC 80084AAC 46328102 */ mul.d $f4, $f16, $f18 /* 0856B0 80084AB0 34E74000 */ ori $a3, (0x446E4000 & 0xFFFF) # ori $a3, $a3, 0x4000 /* 0856B4 80084AB4 02202025 */ move $a0, $s1 /* 0856B8 80084AB8 24060000 */ li $a2, 0 /* 0856BC 80084ABC 462021A0 */ cvt.s.d $f6, $f4 /* 0856C0 80084AC0 44053000 */ mfc1 $a1, $f6 /* 0856C4 80084AC4 0C022DF5 */ jal func_8008B7D4 /* 0856C8 80084AC8 00000000 */ nop /* 0856CC 80084ACC 340E9000 */ li $t6, 36864 /* 0856D0 80084AD0 240F0006 */ li $t7, 6 /* 0856D4 80084AD4 A60E00C6 */ sh $t6, 0xc6($s0) /* 0856D8 80084AD8 A20F00DD */ sb $t7, 0xdd($s0) /* 0856DC 80084ADC 3C18800E */ lui $t8, %hi(gIsMirrorMode) # $t8, 0x800e /* 0856E0 80084AE0 8F18C604 */ lw $t8, %lo(gIsMirrorMode)($t8) /* 0856E4 80084AE4 25C8C000 */ addiu $t0, $t6, -0x4000 /* 0856E8 80084AE8 53000003 */ beql $t8, $zero, .L80084AF8 /* 0856EC 80084AEC 960600C6 */ lhu $a2, 0xc6($s0) /* 0856F0 80084AF0 A60800C6 */ sh $t0, 0xc6($s0) .L80084AF4: /* 0856F4 80084AF4 960600C6 */ lhu $a2, 0xc6($s0) .L80084AF8: /* 0856F8 80084AF8 34018000 */ li $at, 32768 /* 0856FC 80084AFC 02202025 */ move $a0, $s1 /* 085700 80084B00 00C13021 */ addu $a2, $a2, $at /* 085704 80084B04 30C9FFFF */ andi $t1, $a2, 0xffff /* 085708 80084B08 01203025 */ move $a2, $t1 /* 08570C 80084B0C 00002825 */ move $a1, $zero /* 085710 80084B10 0C022E22 */ jal func_8008B888 /* 085714 80084B14 00003825 */ move $a3, $zero /* 085718 80084B18 3C0140A0 */ li $at, 0x40A00000 # 5.000000 /* 08571C 80084B1C 44814000 */ mtc1 $at, $f8 /* 085720 80084B20 3C01800F */ lui $at, %hi(D_800EF358) # $at, 0x800f /* 085724 80084B24 02202025 */ move $a0, $s1 /* 085728 80084B28 E6080044 */ swc1 $f8, 0x44($s0) /* 08572C 80084B2C C42AF358 */ lwc1 $f10, %lo(D_800EF358)($at) /* 085730 80084B30 24050014 */ li $a1, 20 /* 085734 80084B34 0C01C8A9 */ jal func_800722A4 /* 085738 80084B38 E60A0000 */ swc1 $f10, ($s0) .L80084B3C: /* 08573C 80084B3C 0C021BBC */ jal func_80086EF0 /* 085740 80084B40 02202025 */ move $a0, $s1 /* 085744 80084B44 44808000 */ mtc1 $zero, $f16 /* 085748 80084B48 3C040601 */ lui $a0, %hi(D_06009AC8) # $a0, 0x601 /* 08574C 80084B4C 24849AC8 */ addiu $a0, %lo(D_06009AC8) # addiu $a0, $a0, -0x6538 /* 085750 80084B50 00002825 */ move $a1, $zero /* 085754 80084B54 0C0013AB */ jal func_80004EAC /* 085758 80084B58 E6100034 */ swc1 $f16, 0x34($s0) /* 08575C 80084B5C A60200A4 */ sh $v0, 0xa4($s0) /* 085760 80084B60 0C01C922 */ jal func_80072488 /* 085764 80084B64 02202025 */ move $a0, $s1 /* 085768 80084B68 8FBF001C */ lw $ra, 0x1c($sp) /* 08576C 80084B6C 8FB00014 */ lw $s0, 0x14($sp) /* 085770 80084B70 8FB10018 */ lw $s1, 0x18($sp) /* 085774 80084B74 03E00008 */ jr $ra /* 085778 80084B78 27BD0020 */ addiu $sp, $sp, 0x20 glabel func_80084B7C /* 08577C 80084B7C 000470C0 */ sll $t6, $a0, 3 /* 085780 80084B80 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 085784 80084B84 01C47023 */ subu $t6, $t6, $a0 /* 085788 80084B88 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 08578C 80084B8C AFB0001C */ sw $s0, 0x1c($sp) /* 085790 80084B90 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 085794 80084B94 000E7140 */ sll $t6, $t6, 5 /* 085798 80084B98 01CF8021 */ addu $s0, $t6, $t7 /* 08579C 80084B9C 961800A6 */ lhu $t8, 0xa6($s0) /* 0857A0 80084BA0 AFB10020 */ sw $s1, 0x20($sp) /* 0857A4 80084BA4 00808825 */ move $s1, $a0 /* 0857A8 80084BA8 2F010005 */ sltiu $at, $t8, 5 /* 0857AC 80084BAC 10200034 */ beqz $at, .L80084C80 /* 0857B0 80084BB0 AFBF0024 */ sw $ra, 0x24($sp) /* 0857B4 80084BB4 0018C080 */ sll $t8, $t8, 2 /* 0857B8 80084BB8 3C01800F */ lui $at, %hi(D_800EF35C) /* 0857BC 80084BBC 00380821 */ addu $at, $at, $t8 /* 0857C0 80084BC0 8C38F35C */ lw $t8, %lo(D_800EF35C)($at) /* 0857C4 80084BC4 03000008 */ jr $t8 /* 0857C8 80084BC8 00000000 */ nop glabel L80084BCC /* 0857CC 80084BCC 0C021172 */ jal func_800845C8 /* 0857D0 80084BD0 02202025 */ move $a0, $s1 /* 0857D4 80084BD4 1000002B */ b .L80084C84 /* 0857D8 80084BD8 02202025 */ move $a0, $s1 glabel L80084BDC /* 0857DC 80084BDC 2419FFFF */ li $t9, -1 /* 0857E0 80084BE0 AFB90014 */ sw $t9, 0x14($sp) /* 0857E4 80084BE4 02202025 */ move $a0, $s1 /* 0857E8 80084BE8 00002825 */ move $a1, $zero /* 0857EC 80084BEC 860600A4 */ lh $a2, 0xa4($s0) /* 0857F0 80084BF0 8607009C */ lh $a3, 0x9c($s0) /* 0857F4 80084BF4 0C01CB95 */ jal func_80072E54 /* 0857F8 80084BF8 AFA00010 */ sw $zero, 0x10($sp) /* 0857FC 80084BFC 02202025 */ move $a0, $s1 /* 085800 80084C00 0C01C8D5 */ jal func_80072354 /* 085804 80084C04 24050020 */ li $a1, 32 /* 085808 80084C08 5040001E */ beql $v0, $zero, .L80084C84 /* 08580C 80084C0C 02202025 */ move $a0, $s1 /* 085810 80084C10 86020090 */ lh $v0, 0x90($s0) /* 085814 80084C14 1440000A */ bnez $v0, .L80084C40 /* 085818 80084C18 2449FFFF */ addiu $t1, $v0, -1 /* 08581C 80084C1C 0C0ADF8D */ jal random_int /* 085820 80084C20 2404005A */ li $a0, 90 /* 085824 80084C24 2448005A */ addiu $t0, $v0, 0x5a /* 085828 80084C28 A6080090 */ sh $t0, 0x90($s0) /* 08582C 80084C2C 02202025 */ move $a0, $s1 /* 085830 80084C30 0C01C8A9 */ jal func_800722A4 /* 085834 80084C34 24050080 */ li $a1, 128 /* 085838 80084C38 10000012 */ b .L80084C84 /* 08583C 80084C3C 02202025 */ move $a0, $s1 .L80084C40: /* 085840 80084C40 1000000F */ b .L80084C80 /* 085844 80084C44 A6090090 */ sh $t1, 0x90($s0) glabel L80084C48 /* 085848 80084C48 02202025 */ move $a0, $s1 /* 08584C 80084C4C 00002825 */ move $a1, $zero /* 085850 80084C50 860600A4 */ lh $a2, 0xa4($s0) /* 085854 80084C54 24070001 */ li $a3, 1 /* 085858 80084C58 AFA00010 */ sw $zero, 0x10($sp) /* 08585C 80084C5C 0C01CB95 */ jal func_80072E54 /* 085860 80084C60 AFA00014 */ sw $zero, 0x14($sp) /* 085864 80084C64 10000007 */ b .L80084C84 /* 085868 80084C68 02202025 */ move $a0, $s1 glabel L80084C6C /* 08586C 80084C6C 02202025 */ move $a0, $s1 /* 085870 80084C70 0C01C8B3 */ jal func_800722CC /* 085874 80084C74 24050002 */ li $a1, 2 /* 085878 80084C78 0C01C922 */ jal func_80072488 /* 08587C 80084C7C 02202025 */ move $a0, $s1 .L80084C80: glabel L80084C80 /* 085880 80084C80 02202025 */ move $a0, $s1 .L80084C84: /* 085884 80084C84 0C01C8C8 */ jal func_80072320 /* 085888 80084C88 24050020 */ li $a1, 32 /* 08588C 80084C8C 5040000C */ beql $v0, $zero, .L80084CC0 /* 085890 80084C90 02202025 */ move $a0, $s1 /* 085894 80084C94 86020090 */ lh $v0, 0x90($s0) /* 085898 80084C98 02202025 */ move $a0, $s1 /* 08589C 80084C9C 14400006 */ bnez $v0, .L80084CB8 /* 0858A0 80084CA0 244BFFFF */ addiu $t3, $v0, -1 /* 0858A4 80084CA4 0C01C8A9 */ jal func_800722A4 /* 0858A8 80084CA8 24050080 */ li $a1, 128 /* 0858AC 80084CAC 240A0010 */ li $t2, 16 /* 0858B0 80084CB0 10000002 */ b .L80084CBC /* 0858B4 80084CB4 A60A0090 */ sh $t2, 0x90($s0) .L80084CB8: /* 0858B8 80084CB8 A60B0090 */ sh $t3, 0x90($s0) .L80084CBC: /* 0858BC 80084CBC 02202025 */ move $a0, $s1 .L80084CC0: /* 0858C0 80084CC0 0C01C8C8 */ jal func_80072320 /* 0858C4 80084CC4 24050080 */ li $a1, 128 /* 0858C8 80084CC8 10400013 */ beqz $v0, .L80084D18 /* 0858CC 80084CCC 02202025 */ move $a0, $s1 /* 0858D0 80084CD0 0C01C8B3 */ jal func_800722CC /* 0858D4 80084CD4 24050080 */ li $a1, 128 /* 0858D8 80084CD8 02202025 */ move $a0, $s1 /* 0858DC 80084CDC 0C01C8C8 */ jal func_80072320 /* 0858E0 80084CE0 24050010 */ li $a1, 16 /* 0858E4 80084CE4 10400008 */ beqz $v0, .L80084D08 /* 0858E8 80084CE8 26040004 */ addiu $a0, $s0, 4 /* 0858EC 80084CEC 3C061900 */ lui $a2, (0x19007049 >> 16) # lui $a2, 0x1900 /* 0858F0 80084CF0 34C67049 */ ori $a2, (0x19007049 & 0xFFFF) # ori $a2, $a2, 0x7049 /* 0858F4 80084CF4 26040004 */ addiu $a0, $s0, 4 /* 0858F8 80084CF8 0C03262E */ jal func_800C98B8 /* 0858FC 80084CFC 26050038 */ addiu $a1, $s0, 0x38 /* 085900 80084D00 10000006 */ b .L80084D1C /* 085904 80084D04 8FBF0024 */ lw $ra, 0x24($sp) .L80084D08: /* 085908 80084D08 3C061900 */ lui $a2, (0x19007017 >> 16) # lui $a2, 0x1900 /* 08590C 80084D0C 34C67017 */ ori $a2, (0x19007017 & 0xFFFF) # ori $a2, $a2, 0x7017 /* 085910 80084D10 0C03262E */ jal func_800C98B8 /* 085914 80084D14 26050038 */ addiu $a1, $s0, 0x38 .L80084D18: /* 085918 80084D18 8FBF0024 */ lw $ra, 0x24($sp) .L80084D1C: /* 08591C 80084D1C 8FB0001C */ lw $s0, 0x1c($sp) /* 085920 80084D20 8FB10020 */ lw $s1, 0x20($sp) /* 085924 80084D24 03E00008 */ jr $ra /* 085928 80084D28 27BD0028 */ addiu $sp, $sp, 0x28 glabel func_80084D2C /* 08592C 80084D2C 000470C0 */ sll $t6, $a0, 3 /* 085930 80084D30 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 085934 80084D34 01C47023 */ subu $t6, $t6, $a0 /* 085938 80084D38 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 08593C 80084D3C AFB00014 */ sw $s0, 0x14($sp) /* 085940 80084D40 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 085944 80084D44 000E7140 */ sll $t6, $t6, 5 /* 085948 80084D48 01CF8021 */ addu $s0, $t6, $t7 /* 08594C 80084D4C 961800AE */ lhu $t8, 0xae($s0) /* 085950 80084D50 AFB10018 */ sw $s1, 0x18($sp) /* 085954 80084D54 00808825 */ move $s1, $a0 /* 085958 80084D58 2F010007 */ sltiu $at, $t8, 7 /* 08595C 80084D5C 102000A8 */ beqz $at, .L80085000 /* 085960 80084D60 AFBF001C */ sw $ra, 0x1c($sp) /* 085964 80084D64 0018C080 */ sll $t8, $t8, 2 /* 085968 80084D68 3C01800F */ lui $at, %hi(D_800EF370) # 0x800f /* 08596C 80084D6C 00380821 */ addu $at, $at, $t8 /* 085970 80084D70 8C38F370 */ lw $t8, %lo(D_800EF370)($at) # -0xc90($at) /* 085974 80084D74 03000008 */ jr $t8 /* 085978 80084D78 00000000 */ nop glabel L80084D7C /* 08597C 80084D7C 960400C0 */ lhu $a0, 0xc0($s0) /* 085980 80084D80 0C0105ED */ jal func_800417B4 /* 085984 80084D84 960500C6 */ lhu $a1, 0xc6($s0) /* 085988 80084D88 960800C6 */ lhu $t0, 0xc6($s0) /* 08598C 80084D8C 3059FFFF */ andi $t9, $v0, 0xffff /* 085990 80084D90 A60200C0 */ sh $v0, 0xc0($s0) /* 085994 80084D94 1728009A */ bne $t9, $t0, .L80085000 /* 085998 80084D98 24090004 */ li $t1, 4 /* 08599C 80084D9C A609009C */ sh $t1, 0x9c($s0) /* 0859A0 80084DA0 3C01800F */ lui $at, %hi(D_800EF38C) # $at, 0x800f /* 0859A4 80084DA4 C424F38C */ lwc1 $f4, %lo(D_800EF38C)($at) /* 0859A8 80084DA8 02202025 */ move $a0, $s1 /* 0859AC 80084DAC 0C021BF5 */ jal func_80086FD4 /* 0859B0 80084DB0 E6040034 */ swc1 $f4, 0x34($s0) /* 0859B4 80084DB4 10000092 */ b .L80085000 /* 0859B8 80084DB8 00000000 */ nop glabel L80084DBC /* 0859BC 80084DBC 3C053F4C */ lui $a1, (0x3F4CCCCD >> 16) # lui $a1, 0x3f4c /* 0859C0 80084DC0 3C063CA3 */ lui $a2, (0x3CA3D70A >> 16) # lui $a2, 0x3ca3 /* 0859C4 80084DC4 34C6D70A */ ori $a2, (0x3CA3D70A & 0xFFFF) # ori $a2, $a2, 0xd70a /* 0859C8 80084DC8 34A5CCCD */ ori $a1, (0x3F4CCCCD & 0xFFFF) # ori $a1, $a1, 0xcccd /* 0859CC 80084DCC 0C0104EE */ jal func_800413B8 /* 0859D0 80084DD0 26040034 */ addiu $a0, $s0, 0x34 /* 0859D4 80084DD4 02202025 */ move $a0, $s1 /* 0859D8 80084DD8 0C021C18 */ jal func_80087060 /* 0859DC 80084DDC 2405000F */ li $a1, 15 /* 0859E0 80084DE0 10400087 */ beqz $v0, .L80085000 /* 0859E4 80084DE4 02202025 */ move $a0, $s1 /* 0859E8 80084DE8 0C01C8A9 */ jal func_800722A4 /* 0859EC 80084DEC 24050001 */ li $a1, 1 /* 0859F0 80084DF0 02202025 */ move $a0, $s1 /* 0859F4 80084DF4 0C01C8A9 */ jal func_800722A4 /* 0859F8 80084DF8 24050002 */ li $a1, 2 /* 0859FC 80084DFC 240A0001 */ li $t2, 1 /* 085A00 80084E00 240B0001 */ li $t3, 1 /* 085A04 80084E04 3C040601 */ lui $a0, %hi(D_06009AC8) # $a0, 0x601 /* 085A08 80084E08 A60A009C */ sh $t2, 0x9c($s0) /* 085A0C 80084E0C A20B00D8 */ sb $t3, 0xd8($s0) /* 085A10 80084E10 A20000D2 */ sb $zero, 0xd2($s0) /* 085A14 80084E14 24849AC8 */ addiu $a0, %lo(D_06009AC8) # addiu $a0, $a0, -0x6538 /* 085A18 80084E18 0C0013AB */ jal func_80004EAC /* 085A1C 80084E1C 316500FF */ andi $a1, $t3, 0xff /* 085A20 80084E20 A60200A4 */ sh $v0, 0xa4($s0) /* 085A24 80084E24 02202025 */ move $a0, $s1 /* 085A28 80084E28 0C01C9B3 */ jal func_800726CC /* 085A2C 80084E2C 24050003 */ li $a1, 3 /* 085A30 80084E30 0C021BF5 */ jal func_80086FD4 /* 085A34 80084E34 02202025 */ move $a0, $s1 /* 085A38 80084E38 02202025 */ move $a0, $s1 /* 085A3C 80084E3C 0C01C8D5 */ jal func_80072354 /* 085A40 80084E40 24050020 */ li $a1, 32 /* 085A44 80084E44 1040006E */ beqz $v0, .L80085000 /* 085A48 80084E48 02202025 */ move $a0, $s1 /* 085A4C 80084E4C 0C01C8A9 */ jal func_800722A4 /* 085A50 80084E50 24050080 */ li $a1, 128 /* 085A54 80084E54 1000006A */ b .L80085000 /* 085A58 80084E58 00000000 */ nop glabel L80084E5C /* 085A5C 80084E5C 10A0000A */ beqz $a1, .L80084E88 /* 085A60 80084E60 26040034 */ addiu $a0, $s0, 0x34 /* 085A64 80084E64 24010001 */ li $at, 1 /* 085A68 80084E68 10A1000B */ beq $a1, $at, .L80084E98 /* 085A6C 80084E6C 24010002 */ li $at, 2 /* 085A70 80084E70 10A1000D */ beq $a1, $at, .L80084EA8 /* 085A74 80084E74 24010003 */ li $at, 3 /* 085A78 80084E78 50A10010 */ beql $a1, $at, .L80084EBC /* 085A7C 80084E7C 3C014020 */ lui $at, 0x4020 /* 085A80 80084E80 10000012 */ b .L80084ECC /* 085A84 80084E84 3C063E19 */ lui $a2, 0x3e19 .L80084E88: /* 085A88 80084E88 3C013F80 */ li $at, 0x3F800000 # 1.000000 /* 085A8C 80084E8C 44813000 */ mtc1 $at, $f6 /* 085A90 80084E90 1000000D */ b .L80084EC8 /* 085A94 80084E94 E7A60024 */ swc1 $f6, 0x24($sp) .L80084E98: /* 085A98 80084E98 3C013FC0 */ li $at, 0x3FC00000 # 1.500000 /* 085A9C 80084E9C 44814000 */ mtc1 $at, $f8 /* 085AA0 80084EA0 10000009 */ b .L80084EC8 /* 085AA4 80084EA4 E7A80024 */ swc1 $f8, 0x24($sp) .L80084EA8: /* 085AA8 80084EA8 3C014000 */ li $at, 0x40000000 # 2.000000 /* 085AAC 80084EAC 44815000 */ mtc1 $at, $f10 /* 085AB0 80084EB0 10000005 */ b .L80084EC8 /* 085AB4 80084EB4 E7AA0024 */ swc1 $f10, 0x24($sp) /* 085AB8 80084EB8 3C014020 */ li $at, 0x40200000 # 2.500000 .L80084EBC: /* 085ABC 80084EBC 44818000 */ mtc1 $at, $f16 /* 085AC0 80084EC0 00000000 */ nop /* 085AC4 80084EC4 E7B00024 */ swc1 $f16, 0x24($sp) .L80084EC8: /* 085AC8 80084EC8 3C063E19 */ lui $a2, (0x3E19999A >> 16) # lui $a2, 0x3e19 .L80084ECC: /* 085ACC 80084ECC 34C6999A */ ori $a2, (0x3E19999A & 0xFFFF) # ori $a2, $a2, 0x999a /* 085AD0 80084ED0 0C0104EE */ jal func_800413B8 /* 085AD4 80084ED4 8FA50024 */ lw $a1, 0x24($sp) /* 085AD8 80084ED8 02202025 */ move $a0, $s1 /* 085ADC 80084EDC 0C01C8D5 */ jal func_80072354 /* 085AE0 80084EE0 24050002 */ li $a1, 2 /* 085AE4 80084EE4 10400046 */ beqz $v0, .L80085000 /* 085AE8 80084EE8 C7B20024 */ lwc1 $f18, 0x24($sp) /* 085AEC 80084EEC C6040034 */ lwc1 $f4, 0x34($s0) /* 085AF0 80084EF0 46049032 */ c.eq.s $f18, $f4 /* 085AF4 80084EF4 00000000 */ nop /* 085AF8 80084EF8 45000041 */ bc1f .L80085000 /* 085AFC 80084EFC 00000000 */ nop /* 085B00 80084F00 0C021BF5 */ jal func_80086FD4 /* 085B04 80084F04 02202025 */ move $a0, $s1 /* 085B08 80084F08 1000003D */ b .L80085000 /* 085B0C 80084F0C 00000000 */ nop glabel L80084F10 /* 085B10 80084F10 02202025 */ move $a0, $s1 /* 085B14 80084F14 0C021C18 */ jal func_80087060 /* 085B18 80084F18 2405001E */ li $a1, 30 /* 085B1C 80084F1C 10400038 */ beqz $v0, .L80085000 /* 085B20 80084F20 02202025 */ move $a0, $s1 /* 085B24 80084F24 0C01C8B3 */ jal func_800722CC /* 085B28 80084F28 24050001 */ li $a1, 1 /* 085B2C 80084F2C 0C021BF5 */ jal func_80086FD4 /* 085B30 80084F30 02202025 */ move $a0, $s1 /* 085B34 80084F34 10000032 */ b .L80085000 /* 085B38 80084F38 00000000 */ nop glabel L80084F3C /* 085B3C 80084F3C 3C053ECC */ lui $a1, (0x3ECCCCCD >> 16) # lui $a1, 0x3ecc /* 085B40 80084F40 3C063E4C */ lui $a2, (0x3E4CCCCD >> 16) # lui $a2, 0x3e4c /* 085B44 80084F44 34C6CCCD */ ori $a2, (0x3E4CCCCD & 0xFFFF) # ori $a2, $a2, 0xcccd /* 085B48 80084F48 34A5CCCD */ ori $a1, (0x3ECCCCCD & 0xFFFF) # ori $a1, $a1, 0xcccd /* 085B4C 80084F4C 0C0104EE */ jal func_800413B8 /* 085B50 80084F50 26040034 */ addiu $a0, $s0, 0x34 /* 085B54 80084F54 02202025 */ move $a0, $s1 /* 085B58 80084F58 0C021C18 */ jal func_80087060 /* 085B5C 80084F5C 2405000A */ li $a1, 10 /* 085B60 80084F60 10400027 */ beqz $v0, .L80085000 /* 085B64 80084F64 02202025 */ move $a0, $s1 /* 085B68 80084F68 0C01C8A9 */ jal func_800722A4 /* 085B6C 80084F6C 24050002 */ li $a1, 2 /* 085B70 80084F70 240C0002 */ li $t4, 2 /* 085B74 80084F74 3C040601 */ lui $a0, %hi(D_06009AC8) # $a0, 0x601 /* 085B78 80084F78 A20C00D8 */ sb $t4, 0xd8($s0) /* 085B7C 80084F7C A20000D2 */ sb $zero, 0xd2($s0) /* 085B80 80084F80 24849AC8 */ addiu $a0, %lo(D_06009AC8) # addiu $a0, $a0, -0x6538 /* 085B84 80084F84 0C0013AB */ jal func_80004EAC /* 085B88 80084F88 318500FF */ andi $a1, $t4, 0xff /* 085B8C 80084F8C A60200A4 */ sh $v0, 0xa4($s0) /* 085B90 80084F90 02202025 */ move $a0, $s1 /* 085B94 80084F94 0C01C9B3 */ jal func_800726CC /* 085B98 80084F98 24050003 */ li $a1, 3 /* 085B9C 80084F9C 0C021BF5 */ jal func_80086FD4 /* 085BA0 80084FA0 02202025 */ move $a0, $s1 /* 085BA4 80084FA4 10000016 */ b .L80085000 /* 085BA8 80084FA8 00000000 */ nop glabel L80084FAC /* 085BAC 80084FAC 02202025 */ move $a0, $s1 /* 085BB0 80084FB0 0C01C8D5 */ jal func_80072354 /* 085BB4 80084FB4 24050002 */ li $a1, 2 /* 085BB8 80084FB8 10400011 */ beqz $v0, .L80085000 /* 085BBC 80084FBC 3C040601 */ lui $a0, %hi(D_06009AC8) # $a0, 0x601 /* 085BC0 80084FC0 A20000D8 */ sb $zero, 0xd8($s0) /* 085BC4 80084FC4 A20000D2 */ sb $zero, 0xd2($s0) /* 085BC8 80084FC8 24849AC8 */ addiu $a0, %lo(D_06009AC8) # addiu $a0, $a0, -0x6538 /* 085BCC 80084FCC 0C0013AB */ jal func_80004EAC /* 085BD0 80084FD0 300500FF */ andi $a1, $zero, 0xff /* 085BD4 80084FD4 960D00C6 */ lhu $t5, 0xc6($s0) /* 085BD8 80084FD8 34018000 */ li $at, 32768 /* 085BDC 80084FDC A60200A4 */ sh $v0, 0xa4($s0) /* 085BE0 80084FE0 01A17021 */ addu $t6, $t5, $at /* 085BE4 80084FE4 A60E00C6 */ sh $t6, 0xc6($s0) /* 085BE8 80084FE8 02202025 */ move $a0, $s1 /* 085BEC 80084FEC 0C01C9B3 */ jal func_800726CC /* 085BF0 80084FF0 24050002 */ li $a1, 2 /* 085BF4 80084FF4 02202025 */ move $a0, $s1 /* 085BF8 80084FF8 0C021C07 */ jal func_8008701C /* 085BFC 80084FFC 24050001 */ li $a1, 1 .L80085000: glabel L80085000 /* 085C00 80085000 0C021E07 */ jal func_8008781C /* 085C04 80085004 02202025 */ move $a0, $s1 /* 085C08 80085008 0C022FC6 */ jal func_8008BF18 /* 085C0C 8008500C 02202025 */ move $a0, $s1 /* 085C10 80085010 8FBF001C */ lw $ra, 0x1c($sp) /* 085C14 80085014 8FB00014 */ lw $s0, 0x14($sp) /* 085C18 80085018 8FB10018 */ lw $s1, 0x18($sp) /* 085C1C 8008501C 03E00008 */ jr $ra /* 085C20 80085020 27BD0028 */ addiu $sp, $sp, 0x28 /* 085C24 80085024 03E00008 */ jr $ra /* 085C28 80085028 00000000 */ nop glabel func_8008502C /* 085C2C 8008502C 000470C0 */ sll $t6, $a0, 3 /* 085C30 80085030 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 085C34 80085034 01C47023 */ subu $t6, $t6, $a0 /* 085C38 80085038 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 085C3C 8008503C 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 085C40 80085040 000E7140 */ sll $t6, $t6, 5 /* 085C44 80085044 AFBF0014 */ sw $ra, 0x14($sp) /* 085C48 80085048 AFA5001C */ sw $a1, 0x1c($sp) /* 085C4C 8008504C 01CF1021 */ addu $v0, $t6, $t7 /* 085C50 80085050 8C450020 */ lw $a1, 0x20($v0) /* 085C54 80085054 944600C6 */ lhu $a2, 0xc6($v0) /* 085C58 80085058 0C02200E */ jal func_80088038 /* 085C5C 8008505C AFA40018 */ sw $a0, 0x18($sp) /* 085C60 80085060 0C022FC6 */ jal func_8008BF18 /* 085C64 80085064 8FA40018 */ lw $a0, 0x18($sp) /* 085C68 80085068 0C021CFD */ jal func_800873F4 /* 085C6C 8008506C 8FA40018 */ lw $a0, 0x18($sp) /* 085C70 80085070 8FBF0014 */ lw $ra, 0x14($sp) /* 085C74 80085074 27BD0018 */ addiu $sp, $sp, 0x18 /* 085C78 80085078 03E00008 */ jr $ra /* 085C7C 8008507C 00000000 */ nop glabel func_80085080 /* 085C80 80085080 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 085C84 80085084 AFBF0014 */ sw $ra, 0x14($sp) /* 085C88 80085088 0C022DE3 */ jal func_8008B78C /* 085C8C 8008508C AFA40018 */ sw $a0, 0x18($sp) /* 085C90 80085090 0C022FC6 */ jal func_8008BF18 /* 085C94 80085094 8FA40018 */ lw $a0, 0x18($sp) /* 085C98 80085098 0C021CFD */ jal func_800873F4 /* 085C9C 8008509C 8FA40018 */ lw $a0, 0x18($sp) /* 085CA0 800850A0 8FBF0014 */ lw $ra, 0x14($sp) /* 085CA4 800850A4 27BD0018 */ addiu $sp, $sp, 0x18 /* 085CA8 800850A8 03E00008 */ jr $ra /* 085CAC 800850AC 00000000 */ nop glabel func_800850B0 /* 085CB0 800850B0 000470C0 */ sll $t6, $a0, 3 /* 085CB4 800850B4 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 085CB8 800850B8 01C47023 */ subu $t6, $t6, $a0 /* 085CBC 800850BC 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 085CC0 800850C0 AFB00014 */ sw $s0, 0x14($sp) /* 085CC4 800850C4 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 085CC8 800850C8 000E7140 */ sll $t6, $t6, 5 /* 085CCC 800850CC 01CF8021 */ addu $s0, $t6, $t7 /* 085CD0 800850D0 921800DD */ lbu $t8, 0xdd($s0) /* 085CD4 800850D4 AFB10018 */ sw $s1, 0x18($sp) /* 085CD8 800850D8 00808825 */ move $s1, $a0 /* 085CDC 800850DC 2719FFFF */ addiu $t9, $t8, -1 /* 085CE0 800850E0 2F210006 */ sltiu $at, $t9, 6 /* 085CE4 800850E4 10200021 */ beqz $at, .L8008516C /* 085CE8 800850E8 AFBF001C */ sw $ra, 0x1c($sp) /* 085CEC 800850EC 0019C880 */ sll $t9, $t9, 2 /* 085CF0 800850F0 3C01800F */ lui $at, %hi(D_800EF390) /* 085CF4 800850F4 00390821 */ addu $at, $at, $t9 /* 085CF8 800850F8 8C39F390 */ lw $t9, %lo(D_800EF390)($at) /* 085CFC 800850FC 03200008 */ jr $t9 /* 085D00 80085100 00000000 */ nop glabel L80085104 /* 085D04 80085104 0C021420 */ jal func_80085080 /* 085D08 80085108 02202025 */ move $a0, $s1 /* 085D0C 8008510C 10000018 */ b .L80085170 /* 085D10 80085110 02202025 */ move $a0, $s1 glabel L80085114 /* 085D14 80085114 0C02140B */ jal func_8008502C /* 085D18 80085118 02202025 */ move $a0, $s1 /* 085D1C 8008511C 10000014 */ b .L80085170 /* 085D20 80085120 02202025 */ move $a0, $s1 glabel L80085124 /* 085D24 80085124 02202025 */ move $a0, $s1 /* 085D28 80085128 0C02134B */ jal func_80084D2C /* 085D2C 8008512C 00002825 */ move $a1, $zero /* 085D30 80085130 1000000F */ b .L80085170 /* 085D34 80085134 02202025 */ move $a0, $s1 glabel L80085138 /* 085D38 80085138 02202025 */ move $a0, $s1 /* 085D3C 8008513C 0C02134B */ jal func_80084D2C /* 085D40 80085140 24050001 */ li $a1, 1 /* 085D44 80085144 1000000A */ b .L80085170 /* 085D48 80085148 02202025 */ move $a0, $s1 glabel L8008514C /* 085D4C 8008514C 02202025 */ move $a0, $s1 /* 085D50 80085150 0C02134B */ jal func_80084D2C /* 085D54 80085154 24050002 */ li $a1, 2 /* 085D58 80085158 10000005 */ b .L80085170 /* 085D5C 8008515C 02202025 */ move $a0, $s1 glabel L80085160 /* 085D60 80085160 02202025 */ move $a0, $s1 /* 085D64 80085164 0C02134B */ jal func_80084D2C /* 085D68 80085168 24050003 */ li $a1, 3 .L8008516C: /* 085D6C 8008516C 02202025 */ move $a0, $s1 .L80085170: /* 085D70 80085170 0C01C8C8 */ jal func_80072320 /* 085D74 80085174 24050020 */ li $a1, 32 /* 085D78 80085178 1040001B */ beqz $v0, .L800851E8 /* 085D7C 8008517C 02202025 */ move $a0, $s1 /* 085D80 80085180 0C01C8C8 */ jal func_80072320 /* 085D84 80085184 24050040 */ li $a1, 64 /* 085D88 80085188 10400006 */ beqz $v0, .L800851A4 /* 085D8C 8008518C 02202025 */ move $a0, $s1 /* 085D90 80085190 0C01C8B3 */ jal func_800722CC /* 085D94 80085194 24050040 */ li $a1, 64 /* 085D98 80085198 24080096 */ li $t0, 150 /* 085D9C 8008519C A6000090 */ sh $zero, 0x90($s0) /* 085DA0 800851A0 A6080092 */ sh $t0, 0x92($s0) .L800851A4: /* 085DA4 800851A4 86020092 */ lh $v0, 0x92($s0) /* 085DA8 800851A8 02202025 */ move $a0, $s1 /* 085DAC 800851AC 14400005 */ bnez $v0, .L800851C4 /* 085DB0 800851B0 2449FFFF */ addiu $t1, $v0, -1 /* 085DB4 800851B4 0C01C8B3 */ jal func_800722CC /* 085DB8 800851B8 24050020 */ li $a1, 32 /* 085DBC 800851BC 10000011 */ b .L80085204 /* 085DC0 800851C0 8FBF001C */ lw $ra, 0x1c($sp) .L800851C4: /* 085DC4 800851C4 960B00B4 */ lhu $t3, 0xb4($s0) /* 085DC8 800851C8 960A00BE */ lhu $t2, 0xbe($s0) /* 085DCC 800851CC 960D00C2 */ lhu $t5, 0xc2($s0) /* 085DD0 800851D0 256C2000 */ addiu $t4, $t3, 0x2000 /* 085DD4 800851D4 A6090092 */ sh $t1, 0x92($s0) /* 085DD8 800851D8 A60C00B4 */ sh $t4, 0xb4($s0) /* 085DDC 800851DC A60A00B2 */ sh $t2, 0xb2($s0) /* 085DE0 800851E0 10000007 */ b .L80085200 /* 085DE4 800851E4 A60D00B6 */ sh $t5, 0xb6($s0) .L800851E8: /* 085DE8 800851E8 960E00BE */ lhu $t6, 0xbe($s0) /* 085DEC 800851EC 960F00C0 */ lhu $t7, 0xc0($s0) /* 085DF0 800851F0 961800C2 */ lhu $t8, 0xc2($s0) /* 085DF4 800851F4 A60E00B2 */ sh $t6, 0xb2($s0) /* 085DF8 800851F8 A60F00B4 */ sh $t7, 0xb4($s0) /* 085DFC 800851FC A61800B6 */ sh $t8, 0xb6($s0) .L80085200: /* 085E00 80085200 8FBF001C */ lw $ra, 0x1c($sp) .L80085204: /* 085E04 80085204 8FB00014 */ lw $s0, 0x14($sp) /* 085E08 80085208 8FB10018 */ lw $s1, 0x18($sp) /* 085E0C 8008520C 03E00008 */ jr $ra /* 085E10 80085210 27BD0020 */ addiu $sp, $sp, 0x20 glabel func_80085214 /* 085E14 80085214 27BDFFA0 */ addiu $sp, $sp, -0x60 /* 085E18 80085218 F7BC0030 */ sdc1 $f28, 0x30($sp) /* 085E1C 8008521C 3C013FA0 */ li $at, 0x3FA00000 # 1.250000 /* 085E20 80085220 4481E000 */ mtc1 $at, $f28 /* 085E24 80085224 F7BA0028 */ sdc1 $f26, 0x28($sp) /* 085E28 80085228 3C013F80 */ li $at, 0x3F800000 # 1.000000 /* 085E2C 8008522C 4481D000 */ mtc1 $at, $f26 /* 085E30 80085230 F7B80020 */ sdc1 $f24, 0x20($sp) /* 085E34 80085234 3C01800F */ lui $at, %hi(D_800EF3A8) # $at, 0x800f /* 085E38 80085238 C438F3A8 */ lwc1 $f24, %lo(D_800EF3A8)($at) /* 085E3C 8008523C F7B60018 */ sdc1 $f22, 0x18($sp) /* 085E40 80085240 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 /* 085E44 80085244 4481B000 */ mtc1 $at, $f22 /* 085E48 80085248 AFB50050 */ sw $s5, 0x50($sp) /* 085E4C 8008524C AFB30048 */ sw $s3, 0x48($sp) /* 085E50 80085250 AFB20044 */ sw $s2, 0x44($sp) /* 085E54 80085254 F7B40010 */ sdc1 $f20, 0x10($sp) /* 085E58 80085258 3C013FC0 */ li $at, 0x3FC00000 # 1.500000 /* 085E5C 8008525C AFB70058 */ sw $s7, 0x58($sp) /* 085E60 80085260 AFB60054 */ sw $s6, 0x54($sp) /* 085E64 80085264 AFB4004C */ sw $s4, 0x4c($sp) /* 085E68 80085268 AFB10040 */ sw $s1, 0x40($sp) /* 085E6C 8008526C 3C128018 */ lui $s2, %hi(D_80183EA0) # $s2, 0x8018 /* 085E70 80085270 3C131900 */ lui $s3, (0x1900A046 >> 16) # lui $s3, 0x1900 /* 085E74 80085274 3C158016 */ lui $s5, %hi(D_80165C18) # $s5, 0x8016 /* 085E78 80085278 4481A000 */ mtc1 $at, $f20 /* 085E7C 8008527C AFBF005C */ sw $ra, 0x5c($sp) /* 085E80 80085280 AFB0003C */ sw $s0, 0x3c($sp) /* 085E84 80085284 26B55C18 */ addiu $s5, %lo(D_80165C18) # addiu $s5, $s5, 0x5c18 /* 085E88 80085288 3673A046 */ ori $s3, (0x1900A046 & 0xFFFF) # ori $s3, $s3, 0xa046 /* 085E8C 8008528C 26523EA0 */ addiu $s2, %lo(D_80183EA0) # addiu $s2, $s2, 0x3ea0 /* 085E90 80085290 00008825 */ move $s1, $zero /* 085E94 80085294 3C140200 */ lui $s4, 0x200 /* 085E98 80085298 241600E0 */ li $s6, 224 /* 085E9C 8008529C 2417000F */ li $s7, 15 .L800852A0: /* 085EA0 800852A0 8E500000 */ lw $s0, ($s2) /* 085EA4 800852A4 02160019 */ multu $s0, $s6 /* 085EA8 800852A8 00007012 */ mflo $t6 /* 085EAC 800852AC 02AE7821 */ addu $t7, $s5, $t6 /* 085EB0 800852B0 85F800A6 */ lh $t8, 0xa6($t7) /* 085EB4 800852B4 5300000E */ beql $t8, $zero, .L800852F0 /* 085EB8 800852B8 02002025 */ move $a0, $s0 /* 085EBC 800852BC 16200006 */ bnez $s1, .L800852D8 /* 085EC0 800852C0 02002025 */ move $a0, $s0 /* 085EC4 800852C4 02002025 */ move $a0, $s0 /* 085EC8 800852C8 0C02114F */ jal func_8008453C /* 085ECC 800852CC 02202825 */ move $a1, $s1 /* 085ED0 800852D0 10000004 */ b .L800852E4 /* 085ED4 800852D4 02002025 */ move $a0, $s0 .L800852D8: /* 085ED8 800852D8 0C0212DF */ jal func_80084B7C /* 085EDC 800852DC 02202825 */ move $a1, $s1 /* 085EE0 800852E0 02002025 */ move $a0, $s0 .L800852E4: /* 085EE4 800852E4 0C02142C */ jal func_800850B0 /* 085EE8 800852E8 02202825 */ move $a1, $s1 /* 085EEC 800852EC 02002025 */ move $a0, $s0 .L800852F0: /* 085EF0 800852F0 0C01C8C8 */ jal func_80072320 /* 085EF4 800852F4 24050001 */ li $a1, 1 /* 085EF8 800852F8 10400008 */ beqz $v0, .L8008531C /* 085EFC 800852FC 02002025 */ move $a0, $s0 /* 085F00 80085300 4405B000 */ mfc1 $a1, $f22 /* 085F04 80085304 4406A000 */ mfc1 $a2, $f20 /* 085F08 80085308 02002025 */ move $a0, $s0 /* 085F0C 8008530C 0C022608 */ jal func_80089820 /* 085F10 80085310 02603825 */ move $a3, $s3 /* 085F14 80085314 10000011 */ b .L8008535C /* 085F18 80085318 02002025 */ move $a0, $s0 .L8008531C: /* 085F1C 8008531C 0C01C8C8 */ jal func_80072320 /* 085F20 80085320 24050008 */ li $a1, 8 /* 085F24 80085324 10400008 */ beqz $v0, .L80085348 /* 085F28 80085328 02002025 */ move $a0, $s0 /* 085F2C 8008532C 4405C000 */ mfc1 $a1, $f24 /* 085F30 80085330 4406D000 */ mfc1 $a2, $f26 /* 085F34 80085334 02002025 */ move $a0, $s0 /* 085F38 80085338 0C022608 */ jal func_80089820 /* 085F3C 8008533C 02603825 */ move $a3, $s3 /* 085F40 80085340 10000006 */ b .L8008535C /* 085F44 80085344 02002025 */ move $a0, $s0 .L80085348: /* 085F48 80085348 4405A000 */ mfc1 $a1, $f20 /* 085F4C 8008534C 4406E000 */ mfc1 $a2, $f28 /* 085F50 80085350 0C022608 */ jal func_80089820 /* 085F54 80085354 02603825 */ move $a3, $s3 /* 085F58 80085358 02002025 */ move $a0, $s0 .L8008535C: /* 085F5C 8008535C 0C01C88F */ jal func_8007223C /* 085F60 80085360 02802825 */ move $a1, $s4 /* 085F64 80085364 1040000A */ beqz $v0, .L80085390 /* 085F68 80085368 02002025 */ move $a0, $s0 /* 085F6C 8008536C 0C01C8D5 */ jal func_80072354 /* 085F70 80085370 24050020 */ li $a1, 32 /* 085F74 80085374 10400006 */ beqz $v0, .L80085390 /* 085F78 80085378 02002025 */ move $a0, $s0 /* 085F7C 8008537C 0C01C8A9 */ jal func_800722A4 /* 085F80 80085380 24050060 */ li $a1, 96 /* 085F84 80085384 02002025 */ move $a0, $s0 /* 085F88 80085388 0C01C87A */ jal func_800721E8 /* 085F8C 8008538C 02802825 */ move $a1, $s4 .L80085390: /* 085F90 80085390 26310001 */ addiu $s1, $s1, 1 /* 085F94 80085394 1637FFC2 */ bne $s1, $s7, .L800852A0 /* 085F98 80085398 26520004 */ addiu $s2, $s2, 4 /* 085F9C 8008539C 8FBF005C */ lw $ra, 0x5c($sp) /* 085FA0 800853A0 D7B40010 */ ldc1 $f20, 0x10($sp) /* 085FA4 800853A4 D7B60018 */ ldc1 $f22, 0x18($sp) /* 085FA8 800853A8 D7B80020 */ ldc1 $f24, 0x20($sp) /* 085FAC 800853AC D7BA0028 */ ldc1 $f26, 0x28($sp) /* 085FB0 800853B0 D7BC0030 */ ldc1 $f28, 0x30($sp) /* 085FB4 800853B4 8FB0003C */ lw $s0, 0x3c($sp) /* 085FB8 800853B8 8FB10040 */ lw $s1, 0x40($sp) /* 085FBC 800853BC 8FB20044 */ lw $s2, 0x44($sp) /* 085FC0 800853C0 8FB30048 */ lw $s3, 0x48($sp) /* 085FC4 800853C4 8FB4004C */ lw $s4, 0x4c($sp) /* 085FC8 800853C8 8FB50050 */ lw $s5, 0x50($sp) /* 085FCC 800853CC 8FB60054 */ lw $s6, 0x54($sp) /* 085FD0 800853D0 8FB70058 */ lw $s7, 0x58($sp) /* 085FD4 800853D4 03E00008 */ jr $ra /* 085FD8 800853D8 27BD0060 */ addiu $sp, $sp, 0x60 glabel func_800853DC /* 085FDC 800853DC 000470C0 */ sll $t6, $a0, 3 /* 085FE0 800853E0 01C47023 */ subu $t6, $t6, $a0 /* 085FE4 800853E4 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 085FE8 800853E8 3C013F80 */ li $at, 0x3F800000 # 1.000000 /* 085FEC 800853EC 44812000 */ mtc1 $at, $f4 /* 085FF0 800853F0 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 085FF4 800853F4 000E7140 */ sll $t6, $t6, 5 /* 085FF8 800853F8 01CF1021 */ addu $v0, $t6, $t7 /* 085FFC 800853FC 3C180601 */ lui $t8, %hi(D_0600F960) # $t8, 0x601 /* 086000 80085400 2718F960 */ addiu $t8, %lo(D_0600F960) # addiu $t8, $t8, -0x6a0 /* 086004 80085404 AC580070 */ sw $t8, 0x70($v0) /* 086008 80085408 3C19800E */ lui $t9, %hi(D_800DC50C) # $t9, 0x800e /* 08600C 8008540C E4440000 */ swc1 $f4, ($v0) /* 086010 80085410 8F39C50C */ lw $t9, %lo(D_800DC50C)($t9) /* 086014 80085414 27BDFFD0 */ addiu $sp, $sp, -0x30 /* 086018 80085418 AFB00020 */ sw $s0, 0x20($sp) /* 08601C 8008541C 24010009 */ li $at, 9 /* 086020 80085420 00808025 */ move $s0, $a0 /* 086024 80085424 AFBF0024 */ sw $ra, 0x24($sp) /* 086028 80085428 13210018 */ beq $t9, $at, .L8008548C /* 08602C 8008542C F7B40018 */ sdc1 $f20, 0x18($sp) /* 086030 80085430 3C018019 */ lui $at, %hi(D_8018D01C) # $at, 0x8019 /* 086034 80085434 C426D01C */ lwc1 $f6, %lo(D_8018D01C)($at) /* 086038 80085438 3C01C066 */ li $at, 0xC0660000 # -3.593750 /* 08603C 8008543C 44815800 */ mtc1 $at, $f11 /* 086040 80085440 44805000 */ mtc1 $zero, $f10 /* 086044 80085444 46003221 */ cvt.d.s $f8, $f6 /* 086048 80085448 4480A000 */ mtc1 $zero, $f20 /* 08604C 8008544C 462A4402 */ mul.d $f16, $f8, $f10 /* 086050 80085450 3C07C511 */ lui $a3, (0xC5113000 >> 16) # lui $a3, 0xc511 /* 086054 80085454 4406A000 */ mfc1 $a2, $f20 /* 086058 80085458 34E73000 */ ori $a3, (0xC5113000 & 0xFFFF) # ori $a3, $a3, 0x3000 /* 08605C 8008545C AFA2002C */ sw $v0, 0x2c($sp) /* 086060 80085460 462084A0 */ cvt.s.d $f18, $f16 /* 086064 80085464 44059000 */ mfc1 $a1, $f18 /* 086068 80085468 0C022DF5 */ jal func_8008B7D4 /* 08606C 8008546C 00000000 */ nop /* 086070 80085470 4405A000 */ mfc1 $a1, $f20 /* 086074 80085474 4407A000 */ mfc1 $a3, $f20 /* 086078 80085478 02002025 */ move $a0, $s0 /* 08607C 8008547C 0C022E03 */ jal func_8008B80C /* 086080 80085480 3C064396 */ lui $a2, 0x4396 /* 086084 80085484 10000016 */ b .L800854E0 /* 086088 80085488 00000000 */ nop .L8008548C: /* 08608C 8008548C 3C018019 */ lui $at, %hi(D_8018D01C) # $at, 0x8019 /* 086090 80085490 C424D01C */ lwc1 $f4, %lo(D_8018D01C)($at) /* 086094 80085494 3C01800F */ lui $at, %hi(D_800EF3B0) /* 086098 80085498 D428F3B0 */ ldc1 $f8, %lo(D_800EF3B0)($at) /* 08609C 8008549C 460021A1 */ cvt.d.s $f6, $f4 /* 0860A0 800854A0 4480A000 */ mtc1 $zero, $f20 /* 0860A4 800854A4 46283282 */ mul.d $f10, $f6, $f8 /* 0860A8 800854A8 3C07448A */ lui $a3, (0x448AC000 >> 16) # lui $a3, 0x448a /* 0860AC 800854AC 4406A000 */ mfc1 $a2, $f20 /* 0860B0 800854B0 34E7C000 */ ori $a3, (0x448AC000 & 0xFFFF) # ori $a3, $a3, 0xc000 /* 0860B4 800854B4 02002025 */ move $a0, $s0 /* 0860B8 800854B8 AFA2002C */ sw $v0, 0x2c($sp) /* 0860BC 800854BC 46205420 */ cvt.s.d $f16, $f10 /* 0860C0 800854C0 44058000 */ mfc1 $a1, $f16 /* 0860C4 800854C4 0C022DF5 */ jal func_8008B7D4 /* 0860C8 800854C8 00000000 */ nop /* 0860CC 800854CC 4405A000 */ mfc1 $a1, $f20 /* 0860D0 800854D0 4407A000 */ mfc1 $a3, $f20 /* 0860D4 800854D4 02002025 */ move $a0, $s0 /* 0860D8 800854D8 0C022E03 */ jal func_8008B80C /* 0860DC 800854DC 3C064396 */ lui $a2, 0x4396 .L800854E0: /* 0860E0 800854E0 0C022E11 */ jal func_8008B844 /* 0860E4 800854E4 02002025 */ move $a0, $s0 /* 0860E8 800854E8 0C0221BD */ jal func_800886F4 /* 0860EC 800854EC 02002025 */ move $a0, $s0 /* 0860F0 800854F0 0C021BBC */ jal func_80086EF0 /* 0860F4 800854F4 02002025 */ move $a0, $s0 /* 0860F8 800854F8 3C01C000 */ li $at, 0xC0000000 # -2.000000 /* 0860FC 800854FC 44819000 */ mtc1 $at, $f18 /* 086100 80085500 8FA8002C */ lw $t0, 0x2c($sp) /* 086104 80085504 4406A000 */ mfc1 $a2, $f20 /* 086108 80085508 4600A306 */ mov.s $f12, $f20 /* 08610C 8008550C 4600A386 */ mov.s $f14, $f20 /* 086110 80085510 0C0A852F */ jal func_802A14BC /* 086114 80085514 E512003C */ swc1 $f18, 0x3c($t0) /* 086118 80085518 0C01C922 */ jal func_80072488 /* 08611C 8008551C 02002025 */ move $a0, $s0 /* 086120 80085520 8FBF0024 */ lw $ra, 0x24($sp) /* 086124 80085524 D7B40018 */ ldc1 $f20, 0x18($sp) /* 086128 80085528 8FB00020 */ lw $s0, 0x20($sp) /* 08612C 8008552C 03E00008 */ jr $ra /* 086130 80085530 27BD0030 */ addiu $sp, $sp, 0x30 glabel func_80085534 /* 086134 80085534 000470C0 */ sll $t6, $a0, 3 /* 086138 80085538 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 08613C 8008553C 01C47023 */ subu $t6, $t6, $a0 /* 086140 80085540 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 086144 80085544 AFB00014 */ sw $s0, 0x14($sp) /* 086148 80085548 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 08614C 8008554C 000E7140 */ sll $t6, $t6, 5 /* 086150 80085550 01CF8021 */ addu $s0, $t6, $t7 /* 086154 80085554 861800AE */ lh $t8, 0xae($s0) /* 086158 80085558 AFB10018 */ sw $s1, 0x18($sp) /* 08615C 8008555C 00808825 */ move $s1, $a0 /* 086160 80085560 2719FFFF */ addiu $t9, $t8, -1 /* 086164 80085564 2F210009 */ sltiu $at, $t9, 9 /* 086168 80085568 10200075 */ beqz $at, .L80085740 /* 08616C 8008556C AFBF001C */ sw $ra, 0x1c($sp) /* 086170 80085570 0019C880 */ sll $t9, $t9, 2 /* 086174 80085574 3C01800F */ lui $at, %hi(D_800EF3B8) /* 086178 80085578 00390821 */ addu $at, $at, $t9 /* 08617C 8008557C 8C39F3B8 */ lw $t9, %lo(D_800EF3B8)($at) /* 086180 80085580 03200008 */ jr $t9 /* 086184 80085584 00000000 */ nop glabel L80085588 /* 086188 80085588 C606002C */ lwc1 $f6, 0x2c($s0) /* 08618C 8008558C 3C014032 */ li $at, 0x40320000 # 2.781250 /* 086190 80085590 44812800 */ mtc1 $at, $f5 /* 086194 80085594 44802000 */ mtc1 $zero, $f4 /* 086198 80085598 46003221 */ cvt.d.s $f8, $f6 /* 08619C 8008559C 4624403E */ c.le.d $f8, $f4 /* 0861A0 800855A0 00000000 */ nop /* 0861A4 800855A4 45000066 */ bc1f .L80085740 /* 0861A8 800855A8 00000000 */ nop /* 0861AC 800855AC 0C021BF5 */ jal func_80086FD4 /* 0861B0 800855B0 02202025 */ move $a0, $s1 /* 0861B4 800855B4 10000062 */ b .L80085740 /* 0861B8 800855B8 00000000 */ nop glabel L800855BC /* 0861BC 800855BC 3C063D4C */ lui $a2, (0x3D4CCCCD >> 16) # lui $a2, 0x3d4c /* 0861C0 800855C0 34C6CCCD */ ori $a2, (0x3D4CCCCD & 0xFFFF) # ori $a2, $a2, 0xcccd /* 0861C4 800855C4 2604003C */ addiu $a0, $s0, 0x3c /* 0861C8 800855C8 0C0104EE */ jal func_800413B8 /* 0861CC 800855CC 24050000 */ li $a1, 0 /* 0861D0 800855D0 C610003C */ lwc1 $f16, 0x3c($s0) /* 0861D4 800855D4 44805800 */ mtc1 $zero, $f11 /* 0861D8 800855D8 44805000 */ mtc1 $zero, $f10 /* 0861DC 800855DC 460084A1 */ cvt.d.s $f18, $f16 /* 0861E0 800855E0 46325032 */ c.eq.d $f10, $f18 /* 0861E4 800855E4 00000000 */ nop /* 0861E8 800855E8 45000055 */ bc1f .L80085740 /* 0861EC 800855EC 00000000 */ nop /* 0861F0 800855F0 0C021BF5 */ jal func_80086FD4 /* 0861F4 800855F4 02202025 */ move $a0, $s1 /* 0861F8 800855F8 10000051 */ b .L80085740 /* 0861FC 800855FC 00000000 */ nop glabel L80085600 /* 086200 80085600 02202025 */ move $a0, $s1 /* 086204 80085604 0C021C6B */ jal func_800871AC /* 086208 80085608 24050001 */ li $a1, 1 /* 08620C 8008560C 1000004C */ b .L80085740 /* 086210 80085610 00000000 */ nop glabel L80085614 /* 086214 80085614 3C063D4C */ lui $a2, (0x3D4CCCCD >> 16) # lui $a2, 0x3d4c /* 086218 80085618 34C6CCCD */ ori $a2, (0x3D4CCCCD & 0xFFFF) # ori $a2, $a2, 0xcccd /* 08621C 8008561C 2604003C */ addiu $a0, $s0, 0x3c /* 086220 80085620 0C0104EE */ jal func_800413B8 /* 086224 80085624 3C053F80 */ lui $a1, 0x3f80 /* 086228 80085628 C604003C */ lwc1 $f4, 0x3c($s0) /* 08622C 8008562C 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 /* 086230 80085630 44813800 */ mtc1 $at, $f7 /* 086234 80085634 44803000 */ mtc1 $zero, $f6 /* 086238 80085638 46002221 */ cvt.d.s $f8, $f4 /* 08623C 8008563C 46283032 */ c.eq.d $f6, $f8 /* 086240 80085640 00000000 */ nop /* 086244 80085644 4500003E */ bc1f .L80085740 /* 086248 80085648 00000000 */ nop /* 08624C 8008564C 0C021BF5 */ jal func_80086FD4 /* 086250 80085650 02202025 */ move $a0, $s1 /* 086254 80085654 1000003A */ b .L80085740 /* 086258 80085658 00000000 */ nop glabel L8008565C /* 08625C 8008565C 02202025 */ move $a0, $s1 /* 086260 80085660 0C021C6B */ jal func_800871AC /* 086264 80085664 2405005A */ li $a1, 90 /* 086268 80085668 10000035 */ b .L80085740 /* 08626C 8008566C 00000000 */ nop glabel L80085670 /* 086270 80085670 3C063D4C */ lui $a2, (0x3D4CCCCD >> 16) # lui $a2, 0x3d4c /* 086274 80085674 34C6CCCD */ ori $a2, (0x3D4CCCCD & 0xFFFF) # ori $a2, $a2, 0xcccd /* 086278 80085678 2604003C */ addiu $a0, $s0, 0x3c /* 08627C 8008567C 0C0104EE */ jal func_800413B8 /* 086280 80085680 24050000 */ li $a1, 0 /* 086284 80085684 C60A003C */ lwc1 $f10, 0x3c($s0) /* 086288 80085688 44808800 */ mtc1 $zero, $f17 /* 08628C 8008568C 44808000 */ mtc1 $zero, $f16 /* 086290 80085690 460054A1 */ cvt.d.s $f18, $f10 /* 086294 80085694 46328032 */ c.eq.d $f16, $f18 /* 086298 80085698 00000000 */ nop /* 08629C 8008569C 45000028 */ bc1f .L80085740 /* 0862A0 800856A0 00000000 */ nop /* 0862A4 800856A4 0C021BF5 */ jal func_80086FD4 /* 0862A8 800856A8 02202025 */ move $a0, $s1 /* 0862AC 800856AC 10000024 */ b .L80085740 /* 0862B0 800856B0 00000000 */ nop glabel L800856B4 /* 0862B4 800856B4 3C063D4C */ lui $a2, (0x3D4CCCCD >> 16) # lui $a2, 0x3d4c /* 0862B8 800856B8 34C6CCCD */ ori $a2, (0x3D4CCCCD & 0xFFFF) # ori $a2, $a2, 0xcccd /* 0862BC 800856BC 2604003C */ addiu $a0, $s0, 0x3c /* 0862C0 800856C0 0C0104EE */ jal func_800413B8 /* 0862C4 800856C4 3C05BF80 */ lui $a1, 0xbf80 /* 0862C8 800856C8 C606003C */ lwc1 $f6, 0x3c($s0) /* 0862CC 800856CC 3C01BFF0 */ li $at, 0xBFF00000 # -1.875000 /* 0862D0 800856D0 44812800 */ mtc1 $at, $f5 /* 0862D4 800856D4 44802000 */ mtc1 $zero, $f4 /* 0862D8 800856D8 46003221 */ cvt.d.s $f8, $f6 /* 0862DC 800856DC 46282032 */ c.eq.d $f4, $f8 /* 0862E0 800856E0 00000000 */ nop /* 0862E4 800856E4 45000016 */ bc1f .L80085740 /* 0862E8 800856E8 00000000 */ nop /* 0862EC 800856EC 0C021BF5 */ jal func_80086FD4 /* 0862F0 800856F0 02202025 */ move $a0, $s1 /* 0862F4 800856F4 10000012 */ b .L80085740 /* 0862F8 800856F8 00000000 */ nop glabel L800856FC /* 0862FC 800856FC 02202025 */ move $a0, $s1 /* 086300 80085700 0C021C6B */ jal func_800871AC /* 086304 80085704 2405005A */ li $a1, 90 /* 086308 80085708 1000000D */ b .L80085740 /* 08630C 8008570C 00000000 */ nop glabel L80085710 /* 086310 80085710 3C063D4C */ lui $a2, (0x3D4CCCCD >> 16) # lui $a2, 0x3d4c /* 086314 80085714 34C6CCCD */ ori $a2, (0x3D4CCCCD & 0xFFFF) # ori $a2, $a2, 0xcccd /* 086318 80085718 2604003C */ addiu $a0, $s0, 0x3c /* 08631C 8008571C 0C0104EE */ jal func_800413B8 /* 086320 80085720 24050000 */ li $a1, 0 /* 086324 80085724 02202025 */ move $a0, $s1 /* 086328 80085728 0C021C18 */ jal func_80087060 /* 08632C 8008572C 2405005A */ li $a1, 90 /* 086330 80085730 10400003 */ beqz $v0, .L80085740 /* 086334 80085734 02202025 */ move $a0, $s1 /* 086338 80085738 0C021C07 */ jal func_8008701C /* 08633C 8008573C 24050003 */ li $a1, 3 .L80085740: /* 086340 80085740 0C021DF1 */ jal func_800877C4 /* 086344 80085744 02202025 */ move $a0, $s1 /* 086348 80085748 960800C0 */ lhu $t0, 0xc0($s0) /* 08634C 8008574C 8FBF001C */ lw $ra, 0x1c($sp) /* 086350 80085750 8FB10018 */ lw $s1, 0x18($sp) /* 086354 80085754 25090100 */ addiu $t1, $t0, 0x100 /* 086358 80085758 A60900C0 */ sh $t1, 0xc0($s0) /* 08635C 8008575C 8FB00014 */ lw $s0, 0x14($sp) /* 086360 80085760 03E00008 */ jr $ra /* 086364 80085764 27BD0020 */ addiu $sp, $sp, 0x20 glabel func_80085768 /* 086368 80085768 000470C0 */ sll $t6, $a0, 3 /* 08636C 8008576C 01C47023 */ subu $t6, $t6, $a0 /* 086370 80085770 000E7140 */ sll $t6, $t6, 5 /* 086374 80085774 3C028016 */ lui $v0, %hi(D_80165CBE) # 0x8016 /* 086378 80085778 004E1021 */ addu $v0, $v0, $t6 /* 08637C 8008577C 84425CBE */ lh $v0, %lo(D_80165CBE)($v0) # 0x5cbe($v0) /* 086380 80085780 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 086384 80085784 AFBF0014 */ sw $ra, 0x14($sp) /* 086388 80085788 10400009 */ beqz $v0, .L800857B0 /* 08638C 8008578C 24010001 */ li $at, 1 /* 086390 80085790 10410005 */ beq $v0, $at, .L800857A8 /* 086394 80085794 24010002 */ li $at, 2 /* 086398 80085798 50410006 */ beql $v0, $at, .L800857B4 /* 08639C 8008579C 8FBF0014 */ lw $ra, 0x14($sp) /* 0863A0 800857A0 10000004 */ b .L800857B4 /* 0863A4 800857A4 8FBF0014 */ lw $ra, 0x14($sp) .L800857A8: /* 0863A8 800857A8 0C0214F7 */ jal func_800853DC /* 0863AC 800857AC 00000000 */ nop .L800857B0: /* 0863B0 800857B0 8FBF0014 */ lw $ra, 0x14($sp) .L800857B4: /* 0863B4 800857B4 27BD0018 */ addiu $sp, $sp, 0x18 /* 0863B8 800857B8 03E00008 */ jr $ra /* 0863BC 800857BC 00000000 */ nop glabel func_800857C0 /* 0863C0 800857C0 3C048018 */ lui $a0, %hi(D_80183EA0) # $a0, 0x8018 /* 0863C4 800857C4 8C843EA0 */ lw $a0, %lo(D_80183EA0)($a0) /* 0863C8 800857C8 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 0863CC 800857CC 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 0863D0 800857D0 000470C0 */ sll $t6, $a0, 3 /* 0863D4 800857D4 01C47023 */ subu $t6, $t6, $a0 /* 0863D8 800857D8 000E7140 */ sll $t6, $t6, 5 /* 0863DC 800857DC 01CF1021 */ addu $v0, $t6, $t7 /* 0863E0 800857E0 845800A6 */ lh $t8, 0xa6($v0) /* 0863E4 800857E4 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0863E8 800857E8 AFBF0014 */ sw $ra, 0x14($sp) /* 0863EC 800857EC 5300001F */ beql $t8, $zero, .L8008586C /* 0863F0 800857F0 8FBF0014 */ lw $ra, 0x14($sp) /* 0863F4 800857F4 AFA20018 */ sw $v0, 0x18($sp) /* 0863F8 800857F8 0C0215DA */ jal func_80085768 /* 0863FC 800857FC AFA4001C */ sw $a0, 0x1c($sp) /* 086400 80085800 0C02154D */ jal func_80085534 /* 086404 80085804 8FA4001C */ lw $a0, 0x1c($sp) /* 086408 80085808 0C022FC6 */ jal func_8008BF18 /* 08640C 8008580C 8FA4001C */ lw $a0, 0x1c($sp) /* 086410 80085810 8FA20018 */ lw $v0, 0x18($sp) /* 086414 80085814 3C03802C */ lui $v1, %hi(D_802BA05C) # $v1, 0x802c /* 086418 80085818 2463A05C */ addiu $v1, %lo(D_802BA05C) # addiu $v1, $v1, -0x5fa4 /* 08641C 8008581C 845900A6 */ lh $t9, 0xa6($v0) /* 086420 80085820 2B210002 */ slti $at, $t9, 2 /* 086424 80085824 54200011 */ bnel $at, $zero, .L8008586C /* 086428 80085828 8FBF0014 */ lw $ra, 0x14($sp) /* 08642C 8008582C C4440004 */ lwc1 $f4, 4($v0) /* 086430 80085830 8C680000 */ lw $t0, ($v1) /* 086434 80085834 3C014024 */ li $at, 0x40240000 # 2.562500 /* 086438 80085838 44815800 */ mtc1 $at, $f11 /* 08643C 8008583C E5040018 */ swc1 $f4, 0x18($t0) /* 086440 80085840 C4460008 */ lwc1 $f6, 8($v0) /* 086444 80085844 44805000 */ mtc1 $zero, $f10 /* 086448 80085848 8C690000 */ lw $t1, ($v1) /* 08644C 8008584C 46003221 */ cvt.d.s $f8, $f6 /* 086450 80085850 462A4401 */ sub.d $f16, $f8, $f10 /* 086454 80085854 462084A0 */ cvt.s.d $f18, $f16 /* 086458 80085858 E532001C */ swc1 $f18, 0x1c($t1) /* 08645C 8008585C 8C6A0000 */ lw $t2, ($v1) /* 086460 80085860 C444000C */ lwc1 $f4, 0xc($v0) /* 086464 80085864 E5440020 */ swc1 $f4, 0x20($t2) /* 086468 80085868 8FBF0014 */ lw $ra, 0x14($sp) .L8008586C: /* 08646C 8008586C 27BD0020 */ addiu $sp, $sp, 0x20 /* 086470 80085870 03E00008 */ jr $ra /* 086474 80085874 00000000 */ nop glabel func_80085878 /* 086478 80085878 000470C0 */ sll $t6, $a0, 3 /* 08647C 8008587C 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 086480 80085880 01C47023 */ subu $t6, $t6, $a0 /* 086484 80085884 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 086488 80085888 AFB00014 */ sw $s0, 0x14($sp) /* 08648C 8008588C 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 086490 80085890 000E7140 */ sll $t6, $t6, 5 /* 086494 80085894 01CF8021 */ addu $s0, $t6, $t7 /* 086498 80085898 3C190601 */ lui $t9, %hi(D_06016110) # $t9, 0x601 /* 08649C 8008589C 3C080601 */ lui $t0, %hi(D_0601610C) # $t0, 0x601 /* 0864A0 800858A0 24180001 */ li $t8, 1 /* 0864A4 800858A4 27396110 */ addiu $t9, %lo(D_06016110) # addiu $t9, $t9, 0x6110 /* 0864A8 800858A8 2508610C */ addiu $t0, %lo(D_0601610C) # addiu $t0, $t0, 0x610c /* 0864AC 800858AC A21800D8 */ sb $t8, 0xd8($s0) /* 0864B0 800858B0 AE190070 */ sw $t9, 0x70($s0) /* 0864B4 800858B4 AE080074 */ sw $t0, 0x74($s0) /* 0864B8 800858B8 3C01800F */ lui $at, %hi(D_800EF3DC) # $at, 0x800f /* 0864BC 800858BC C424F3DC */ lwc1 $f4, %lo(D_800EF3DC)($at) /* 0864C0 800858C0 AFA50024 */ sw $a1, 0x24($sp) /* 0864C4 800858C4 AFBF001C */ sw $ra, 0x1c($sp) /* 0864C8 800858C8 AFB10018 */ sw $s1, 0x18($sp) /* 0864CC 800858CC 2409000A */ li $t1, 10 /* 0864D0 800858D0 3C050400 */ lui $a1, (0x04000200 >> 16) # lui $a1, 0x400 /* 0864D4 800858D4 00808825 */ move $s1, $a0 /* 0864D8 800858D8 A60900C8 */ sh $t1, 0xc8($s0) /* 0864DC 800858DC 34A50200 */ ori $a1, (0x04000200 & 0xFFFF) # ori $a1, $a1, 0x200 /* 0864E0 800858E0 0C01C870 */ jal func_800721C0 /* 0864E4 800858E4 E6040000 */ swc1 $f4, ($s0) /* 0864E8 800858E8 8FAA0024 */ lw $t2, 0x24($sp) /* 0864EC 800858EC 44800000 */ mtc1 $zero, $f0 /* 0864F0 800858F0 02202025 */ move $a0, $s1 /* 0864F4 800858F4 000A5880 */ sll $t3, $t2, 2 /* 0864F8 800858F8 016A5821 */ addu $t3, $t3, $t2 /* 0864FC 800858FC 000B5880 */ sll $t3, $t3, 2 /* 086500 80085900 016A5823 */ subu $t3, $t3, $t2 /* 086504 80085904 000B5880 */ sll $t3, $t3, 2 /* 086508 80085908 016A5823 */ subu $t3, $t3, $t2 /* 08650C 8008590C 000B5880 */ sll $t3, $t3, 2 /* 086510 80085910 256C01F4 */ addiu $t4, $t3, 0x1f4 /* 086514 80085914 44050000 */ mfc1 $a1, $f0 /* 086518 80085918 44070000 */ mfc1 $a3, $f0 /* 08651C 8008591C A60C0094 */ sh $t4, 0x94($s0) /* 086520 80085920 0C022DF5 */ jal func_8008B7D4 /* 086524 80085924 3C06C170 */ lui $a2, 0xc170 /* 086528 80085928 960D0094 */ lhu $t5, 0x94($s0) /* 08652C 8008592C 3C0F8016 */ lui $t7, %hi(D_80164490) # $t7, 0x8016 /* 086530 80085930 8DEF4490 */ lw $t7, %lo(D_80164490)($t7) /* 086534 80085934 000D70C0 */ sll $t6, $t5, 3 /* 086538 80085938 02202025 */ move $a0, $s1 /* 08653C 8008593C 01CF1021 */ addu $v0, $t6, $t7 /* 086540 80085940 84580000 */ lh $t8, ($v0) /* 086544 80085944 84590002 */ lh $t9, 2($v0) /* 086548 80085948 84480004 */ lh $t0, 4($v0) /* 08654C 8008594C 44983000 */ mtc1 $t8, $f6 /* 086550 80085950 44994000 */ mtc1 $t9, $f8 /* 086554 80085954 44885000 */ mtc1 $t0, $f10 /* 086558 80085958 468031A0 */ cvt.s.w $f6, $f6 /* 08655C 8008595C 46804220 */ cvt.s.w $f8, $f8 /* 086560 80085960 44053000 */ mfc1 $a1, $f6 /* 086564 80085964 468052A0 */ cvt.s.w $f10, $f10 /* 086568 80085968 44064000 */ mfc1 $a2, $f8 /* 08656C 8008596C 44075000 */ mfc1 $a3, $f10 /* 086570 80085970 0C022E03 */ jal func_8008B80C /* 086574 80085974 00000000 */ nop /* 086578 80085978 02202025 */ move $a0, $s1 /* 08657C 8008597C 00002825 */ move $a1, $zero /* 086580 80085980 00003025 */ move $a2, $zero /* 086584 80085984 0C022E22 */ jal func_8008B888 /* 086588 80085988 00003825 */ move $a3, $zero /* 08658C 8008598C 3C014080 */ li $at, 0x40800000 # 4.000000 /* 086590 80085990 44818000 */ mtc1 $at, $f16 /* 086594 80085994 3C040601 */ lui $a0, %hi(D_0601610C) # $a0, 0x601 /* 086598 80085998 2484610C */ addiu $a0, %lo(D_0601610C) # addiu $a0, $a0, 0x610c /* 08659C 8008599C 00002825 */ move $a1, $zero /* 0865A0 800859A0 0C0013AB */ jal func_80004EAC /* 0865A4 800859A4 E6100034 */ swc1 $f16, 0x34($s0) /* 0865A8 800859A8 A60200A4 */ sh $v0, 0xa4($s0) /* 0865AC 800859AC 0C01C922 */ jal func_80072488 /* 0865B0 800859B0 02202025 */ move $a0, $s1 /* 0865B4 800859B4 8FBF001C */ lw $ra, 0x1c($sp) /* 0865B8 800859B8 8FB00014 */ lw $s0, 0x14($sp) /* 0865BC 800859BC 8FB10018 */ lw $s1, 0x18($sp) /* 0865C0 800859C0 03E00008 */ jr $ra /* 0865C4 800859C4 27BD0020 */ addiu $sp, $sp, 0x20 glabel func_800859C8 /* 0865C8 800859C8 000478C0 */ sll $t7, $a0, 3 /* 0865CC 800859CC 27BDFFD0 */ addiu $sp, $sp, -0x30 /* 0865D0 800859D0 01E47823 */ subu $t7, $t7, $a0 /* 0865D4 800859D4 3C188016 */ lui $t8, %hi(D_80165C18) # $t8, 0x8016 /* 0865D8 800859D8 AFB00028 */ sw $s0, 0x28($sp) /* 0865DC 800859DC 27185C18 */ addiu $t8, %lo(D_80165C18) # addiu $t8, $t8, 0x5c18 /* 0865E0 800859E0 000F7940 */ sll $t7, $t7, 5 /* 0865E4 800859E4 01F88021 */ addu $s0, $t7, $t8 /* 0865E8 800859E8 860200A6 */ lh $v0, 0xa6($s0) /* 0865EC 800859EC AFBF002C */ sw $ra, 0x2c($sp) /* 0865F0 800859F0 AFA40030 */ sw $a0, 0x30($sp) /* 0865F4 800859F4 10400012 */ beqz $v0, .L80085A40 /* 0865F8 800859F8 24010001 */ li $at, 1 /* 0865FC 800859FC 10410005 */ beq $v0, $at, .L80085A14 /* 086600 80085A00 24010002 */ li $at, 2 /* 086604 80085A04 10410007 */ beq $v0, $at, .L80085A24 /* 086608 80085A08 8FA40030 */ lw $a0, 0x30($sp) /* 08660C 80085A0C 1000000C */ b .L80085A40 /* 086610 80085A10 00000000 */ nop .L80085A14: /* 086614 80085A14 0C02161E */ jal func_80085878 /* 086618 80085A18 8FA40030 */ lw $a0, 0x30($sp) /* 08661C 80085A1C 10000008 */ b .L80085A40 /* 086620 80085A20 00000000 */ nop .L80085A24: /* 086624 80085A24 2419FFFF */ li $t9, -1 /* 086628 80085A28 AFB90014 */ sw $t9, 0x14($sp) /* 08662C 80085A2C 00002825 */ move $a1, $zero /* 086630 80085A30 860600A4 */ lh $a2, 0xa4($s0) /* 086634 80085A34 24070001 */ li $a3, 1 /* 086638 80085A38 0C01CB95 */ jal func_80072E54 /* 08663C 80085A3C AFA00010 */ sw $zero, 0x10($sp) .L80085A40: /* 086640 80085A40 3C088019 */ lui $t0, %hi(D_8018D40C) # $t0, 0x8019 /* 086644 80085A44 8D08D40C */ lw $t0, %lo(D_8018D40C)($t0) /* 086648 80085A48 26040004 */ addiu $a0, $s0, 4 /* 08664C 80085A4C 26050038 */ addiu $a1, $s0, 0x38 /* 086650 80085A50 15000003 */ bnez $t0, .L80085A60 /* 086654 80085A54 3C061901 */ lui $a2, (0x19018057 >> 16) # lui $a2, 0x1901 /* 086658 80085A58 0C03262E */ jal func_800C98B8 /* 08665C 80085A5C 34C68057 */ ori $a2, (0x19018057 & 0xFFFF) # ori $a2, $a2, 0x8057 .L80085A60: /* 086660 80085A60 3C01800F */ lui $at, %hi(D_800EF3E0) # $at, 0x800f /* 086664 80085A64 C424F3E0 */ lwc1 $f4, %lo(D_800EF3E0)($at) /* 086668 80085A68 3C06BF4C */ lui $a2, (0xBF4CCCCD >> 16) # lui $a2, 0xbf4c /* 08666C 80085A6C 3C073F4C */ lui $a3, (0x3F4CCCCD >> 16) # lui $a3, 0x3f4c /* 086670 80085A70 2409FFFF */ li $t1, -1 /* 086674 80085A74 AFA90018 */ sw $t1, 0x18($sp) /* 086678 80085A78 34E7CCCD */ ori $a3, (0x3F4CCCCD & 0xFFFF) # ori $a3, $a3, 0xcccd /* 08667C 80085A7C 34C6CCCD */ ori $a2, (0xBF4CCCCD & 0xFFFF) # ori $a2, $a2, 0xcccd /* 086680 80085A80 8FA40030 */ lw $a0, 0x30($sp) /* 086684 80085A84 26050044 */ addiu $a1, $s0, 0x44 /* 086688 80085A88 AFA00014 */ sw $zero, 0x14($sp) /* 08668C 80085A8C 0C01D0D1 */ jal func_80074344 /* 086690 80085A90 E7A40010 */ swc1 $f4, 0x10($sp) /* 086694 80085A94 8FBF002C */ lw $ra, 0x2c($sp) /* 086698 80085A98 8FB00028 */ lw $s0, 0x28($sp) /* 08669C 80085A9C 27BD0030 */ addiu $sp, $sp, 0x30 /* 0866A0 80085AA0 03E00008 */ jr $ra /* 0866A4 80085AA4 00000000 */ nop glabel func_80085AA8 /* 0866A8 80085AA8 27BDFFB0 */ addiu $sp, $sp, -0x50 /* 0866AC 80085AAC AFB60040 */ sw $s6, 0x40($sp) /* 0866B0 80085AB0 AFB5003C */ sw $s5, 0x3c($sp) /* 0866B4 80085AB4 F7B40020 */ sdc1 $f20, 0x20($sp) /* 0866B8 80085AB8 3C0141F0 */ li $at, 0x41F00000 # 30.000000 /* 0866BC 80085ABC AFBE0048 */ sw $fp, 0x48($sp) /* 0866C0 80085AC0 AFB70044 */ sw $s7, 0x44($sp) /* 0866C4 80085AC4 AFB40038 */ sw $s4, 0x38($sp) /* 0866C8 80085AC8 3C158018 */ lui $s5, %hi(D_80183F28) # $s5, 0x8018 /* 0866CC 80085ACC 3C168016 */ lui $s6, %hi(D_80165C18) # $s6, 0x8016 /* 0866D0 80085AD0 4481A000 */ mtc1 $at, $f20 /* 0866D4 80085AD4 AFBF004C */ sw $ra, 0x4c($sp) /* 0866D8 80085AD8 AFB30034 */ sw $s3, 0x34($sp) /* 0866DC 80085ADC AFB20030 */ sw $s2, 0x30($sp) /* 0866E0 80085AE0 AFB1002C */ sw $s1, 0x2c($sp) /* 0866E4 80085AE4 AFB00028 */ sw $s0, 0x28($sp) /* 0866E8 80085AE8 26D65C18 */ addiu $s6, %lo(D_80165C18) # addiu $s6, $s6, 0x5c18 /* 0866EC 80085AEC 26B53F28 */ addiu $s5, %lo(D_80183F28) # addiu $s5, $s5, 0x3f28 /* 0866F0 80085AF0 0000A025 */ move $s4, $zero /* 0866F4 80085AF4 241700E0 */ li $s7, 224 /* 0866F8 80085AF8 241E0003 */ li $fp, 3 .L80085AFC: /* 0866FC 80085AFC 8EB20000 */ lw $s2, ($s5) /* 086700 80085B00 02570019 */ multu $s2, $s7 /* 086704 80085B04 02402025 */ move $a0, $s2 /* 086708 80085B08 00007012 */ mflo $t6 /* 08670C 80085B0C 02CE8021 */ addu $s0, $s6, $t6 /* 086710 80085B10 860F00A6 */ lh $t7, 0xa6($s0) /* 086714 80085B14 51E00018 */ beql $t7, $zero, .L80085B78 /* 086718 80085B18 26940001 */ addiu $s4, $s4, 1 /* 08671C 80085B1C 0C021672 */ jal func_800859C8 /* 086720 80085B20 02802825 */ move $a1, $s4 /* 086724 80085B24 2613001C */ addiu $s3, $s0, 0x1c /* 086728 80085B28 26110028 */ addiu $s1, $s0, 0x28 /* 08672C 80085B2C 02202825 */ move $a1, $s1 /* 086730 80085B30 0C0103B1 */ jal func_80040EC4 /* 086734 80085B34 02602025 */ move $a0, $s3 /* 086738 80085B38 02202025 */ move $a0, $s1 /* 08673C 80085B3C 26050094 */ addiu $a1, $s0, 0x94 /* 086740 80085B40 8E060034 */ lw $a2, 0x34($s0) /* 086744 80085B44 8E070044 */ lw $a3, 0x44($s0) /* 086748 80085B48 0C003650 */ jal func_8000D940 /* 08674C 80085B4C AFA00010 */ sw $zero, 0x10($sp) /* 086750 80085B50 02602025 */ move $a0, $s3 /* 086754 80085B54 0C0AD489 */ jal func_802B5224 /* 086758 80085B58 02202825 */ move $a1, $s1 /* 08675C 80085B5C A60200C0 */ sh $v0, 0xc0($s0) /* 086760 80085B60 0C022FC6 */ jal func_8008BF18 /* 086764 80085B64 02402025 */ move $a0, $s2 /* 086768 80085B68 4405A000 */ mfc1 $a1, $f20 /* 08676C 80085B6C 0C02272F */ jal func_80089CBC /* 086770 80085B70 02402025 */ move $a0, $s2 /* 086774 80085B74 26940001 */ addiu $s4, $s4, 1 .L80085B78: /* 086778 80085B78 169EFFE0 */ bne $s4, $fp, .L80085AFC /* 08677C 80085B7C 26B50004 */ addiu $s5, $s5, 4 /* 086780 80085B80 8FBF004C */ lw $ra, 0x4c($sp) /* 086784 80085B84 D7B40020 */ ldc1 $f20, 0x20($sp) /* 086788 80085B88 8FB00028 */ lw $s0, 0x28($sp) /* 08678C 80085B8C 8FB1002C */ lw $s1, 0x2c($sp) /* 086790 80085B90 8FB20030 */ lw $s2, 0x30($sp) /* 086794 80085B94 8FB30034 */ lw $s3, 0x34($sp) /* 086798 80085B98 8FB40038 */ lw $s4, 0x38($sp) /* 08679C 80085B9C 8FB5003C */ lw $s5, 0x3c($sp) /* 0867A0 80085BA0 8FB60040 */ lw $s6, 0x40($sp) /* 0867A4 80085BA4 8FB70044 */ lw $s7, 0x44($sp) /* 0867A8 80085BA8 8FBE0048 */ lw $fp, 0x48($sp) /* 0867AC 80085BAC 03E00008 */ jr $ra /* 0867B0 80085BB0 27BD0050 */ addiu $sp, $sp, 0x50 glabel func_80085BB4 /* 0867B4 80085BB4 44800000 */ mtc1 $zero, $f0 /* 0867B8 80085BB8 3C014100 */ li $at, 0x41000000 # 8.000000 /* 0867BC 80085BBC 000470C0 */ sll $t6, $a0, 3 /* 0867C0 80085BC0 44812000 */ mtc1 $at, $f4 /* 0867C4 80085BC4 01C47023 */ subu $t6, $t6, $a0 /* 0867C8 80085BC8 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0867CC 80085BCC 000E7140 */ sll $t6, $t6, 5 /* 0867D0 80085BD0 3C018016 */ lui $at, %hi(D_80165C18) /* 0867D4 80085BD4 AFBF0014 */ sw $ra, 0x14($sp) /* 0867D8 80085BD8 002E0821 */ addu $at, $at, $t6 /* 0867DC 80085BDC 44050000 */ mfc1 $a1, $f0 /* 0867E0 80085BE0 44060000 */ mfc1 $a2, $f0 /* 0867E4 80085BE4 44070000 */ mfc1 $a3, $f0 /* 0867E8 80085BE8 AFA40018 */ sw $a0, 0x18($sp) /* 0867EC 80085BEC 0C022E03 */ jal func_8008B80C /* 0867F0 80085BF0 E4245C18 */ swc1 $f4, %lo(D_80165C18)($at) /* 0867F4 80085BF4 8FA40018 */ lw $a0, 0x18($sp) /* 0867F8 80085BF8 00002825 */ move $a1, $zero /* 0867FC 80085BFC 00003025 */ move $a2, $zero /* 086800 80085C00 0C022E2F */ jal func_8008B8BC /* 086804 80085C04 34078000 */ li $a3, 32768 /* 086808 80085C08 0C01C922 */ jal func_80072488 /* 08680C 80085C0C 8FA40018 */ lw $a0, 0x18($sp) /* 086810 80085C10 8FBF0014 */ lw $ra, 0x14($sp) /* 086814 80085C14 27BD0018 */ addiu $sp, $sp, 0x18 /* 086818 80085C18 03E00008 */ jr $ra /* 08681C 80085C1C 00000000 */ nop glabel func_80085C20 /* 086820 80085C20 3C018019 */ lui $at, %hi(D_8018D01C) # $at, 0x8019 /* 086824 80085C24 C424D01C */ lwc1 $f4, %lo(D_8018D01C)($at) /* 086828 80085C28 3C01800F */ lui $at, %hi(D_800EF3E8) /* 08682C 80085C2C D428F3E8 */ ldc1 $f8, %lo(D_800EF3E8)($at) /* 086830 80085C30 460021A1 */ cvt.d.s $f6, $f4 /* 086834 80085C34 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 086838 80085C38 46283282 */ mul.d $f10, $f6, $f8 /* 08683C 80085C3C AFBF001C */ sw $ra, 0x1c($sp) /* 086840 80085C40 3C06444E */ lui $a2, (0x444EC000 >> 16) # lui $a2, 0x444e /* 086844 80085C44 3C07C538 */ lui $a3, (0xC538D000 >> 16) # lui $a3, 0xc538 /* 086848 80085C48 AFA40020 */ sw $a0, 0x20($sp) /* 08684C 80085C4C 34E7D000 */ ori $a3, (0xC538D000 & 0xFFFF) # ori $a3, $a3, 0xd000 /* 086850 80085C50 34C6C000 */ ori $a2, (0x444EC000 & 0xFFFF) # ori $a2, $a2, 0xc000 /* 086854 80085C54 46205420 */ cvt.s.d $f16, $f10 /* 086858 80085C58 44058000 */ mfc1 $a1, $f16 /* 08685C 80085C5C 0C022DF5 */ jal func_8008B7D4 /* 086860 80085C60 00000000 */ nop /* 086864 80085C64 3C050600 */ lui $a1, %hi(D_06005400) # $a1, 0x600 /* 086868 80085C68 3C060601 */ lui $a2, %hi(D_06008000) # $a2, 0x601 /* 08686C 80085C6C 240E0040 */ li $t6, 64 /* 086870 80085C70 AFAE0010 */ sw $t6, 0x10($sp) /* 086874 80085C74 24C68000 */ addiu $a2, %lo(D_06008000) # addiu $a2, $a2, -0x8000 /* 086878 80085C78 24A55400 */ addiu $a1, %lo(D_06005400) # addiu $a1, $a1, 0x5400 /* 08687C 80085C7C 8FA40020 */ lw $a0, 0x20($sp) /* 086880 80085C80 0C01CD11 */ jal func_80073444 /* 086884 80085C84 24070040 */ li $a3, 64 /* 086888 80085C88 0C0216ED */ jal func_80085BB4 /* 08688C 80085C8C 8FA40020 */ lw $a0, 0x20($sp) /* 086890 80085C90 8FBF001C */ lw $ra, 0x1c($sp) /* 086894 80085C94 27BD0020 */ addiu $sp, $sp, 0x20 /* 086898 80085C98 03E00008 */ jr $ra /* 08689C 80085C9C 00000000 */ nop glabel func_80085CA0 /* 0868A0 80085CA0 000470C0 */ sll $t6, $a0, 3 /* 0868A4 80085CA4 01C47023 */ subu $t6, $t6, $a0 /* 0868A8 80085CA8 000E7140 */ sll $t6, $t6, 5 /* 0868AC 80085CAC 3C0F8016 */ lui $t7, %hi(D_80165CBE) # 0x8016 /* 0868B0 80085CB0 01EE7821 */ addu $t7, $t7, $t6 /* 0868B4 80085CB4 95EF5CBE */ lhu $t7, %lo(D_80165CBE)($t7) # 0x5cbe($t7) /* 0868B8 80085CB8 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0868BC 80085CBC AFBF001C */ sw $ra, 0x1c($sp) /* 0868C0 80085CC0 2DE10009 */ sltiu $at, $t7, 9 /* 0868C4 80085CC4 10200038 */ beqz $at, .L80085DA8 /* 0868C8 80085CC8 000F7880 */ sll $t7, $t7, 2 /* 0868CC 80085CCC 3C01800F */ lui $at, %hi(D_800EF3F0) /* 0868D0 80085CD0 002F0821 */ addu $at, $at, $t7 /* 0868D4 80085CD4 8C2FF3F0 */ lw $t7, %lo(D_800EF3F0)($at) /* 0868D8 80085CD8 01E00008 */ jr $t7 /* 0868DC 80085CDC 00000000 */ nop glabel L80085CE0 /* 0868E0 80085CE0 0C021708 */ jal func_80085C20 /* 0868E4 80085CE4 00000000 */ nop /* 0868E8 80085CE8 10000030 */ b .L80085DAC /* 0868EC 80085CEC 8FBF001C */ lw $ra, 0x1c($sp) glabel L80085CF0 /* 0868F0 80085CF0 2418000C */ li $t8, 12 /* 0868F4 80085CF4 24190005 */ li $t9, 5 /* 0868F8 80085CF8 AFB90014 */ sw $t9, 0x14($sp) /* 0868FC 80085CFC AFB80010 */ sw $t8, 0x10($sp) /* 086900 80085D00 00002825 */ move $a1, $zero /* 086904 80085D04 24060004 */ li $a2, 4 /* 086908 80085D08 0C01CB95 */ jal func_80072E54 /* 08690C 80085D0C 24070001 */ li $a3, 1 /* 086910 80085D10 10000026 */ b .L80085DAC /* 086914 80085D14 8FBF001C */ lw $ra, 0x1c($sp) glabel L80085D18 /* 086918 80085D18 2408000A */ li $t0, 10 /* 08691C 80085D1C AFA80010 */ sw $t0, 0x10($sp) /* 086920 80085D20 24050003 */ li $a1, 3 /* 086924 80085D24 24060004 */ li $a2, 4 /* 086928 80085D28 0C01CB4F */ jal func_80072D3C /* 08692C 80085D2C 24070004 */ li $a3, 4 /* 086930 80085D30 1000001E */ b .L80085DAC /* 086934 80085D34 8FBF001C */ lw $ra, 0x1c($sp) glabel L80085D38 /* 086938 80085D38 0C01C9E3 */ jal func_8007278C /* 08693C 80085D3C 24050014 */ li $a1, 20 /* 086940 80085D40 1000001A */ b .L80085DAC /* 086944 80085D44 8FBF001C */ lw $ra, 0x1c($sp) glabel L80085D48 /* 086948 80085D48 2409000C */ li $t1, 12 /* 08694C 80085D4C 240A0005 */ li $t2, 5 /* 086950 80085D50 AFAA0014 */ sw $t2, 0x14($sp) /* 086954 80085D54 AFA90010 */ sw $t1, 0x10($sp) /* 086958 80085D58 00002825 */ move $a1, $zero /* 08695C 80085D5C 24060004 */ li $a2, 4 /* 086960 80085D60 0C01CB95 */ jal func_80072E54 /* 086964 80085D64 24070001 */ li $a3, 1 /* 086968 80085D68 10000010 */ b .L80085DAC /* 08696C 80085D6C 8FBF001C */ lw $ra, 0x1c($sp) glabel L80085D70 /* 086970 80085D70 0C01C9E3 */ jal func_8007278C /* 086974 80085D74 24050014 */ li $a1, 20 /* 086978 80085D78 1000000C */ b .L80085DAC /* 08697C 80085D7C 8FBF001C */ lw $ra, 0x1c($sp) glabel L80085D80 /* 086980 80085D80 240B0014 */ li $t3, 20 /* 086984 80085D84 AFAB0010 */ sw $t3, 0x10($sp) /* 086988 80085D88 24050003 */ li $a1, 3 /* 08698C 80085D8C 24060004 */ li $a2, 4 /* 086990 80085D90 0C01CB4F */ jal func_80072D3C /* 086994 80085D94 00003825 */ move $a3, $zero /* 086998 80085D98 10000004 */ b .L80085DAC /* 08699C 80085D9C 8FBF001C */ lw $ra, 0x1c($sp) glabel L80085DA0 /* 0869A0 80085DA0 0C01C9B3 */ jal func_800726CC /* 0869A4 80085DA4 24050002 */ li $a1, 2 .L80085DA8: glabel L80085DA8 /* 0869A8 80085DA8 8FBF001C */ lw $ra, 0x1c($sp) .L80085DAC: /* 0869AC 80085DAC 27BD0020 */ addiu $sp, $sp, 0x20 /* 0869B0 80085DB0 03E00008 */ jr $ra /* 0869B4 80085DB4 00000000 */ nop glabel func_80085DB8 /* 0869B8 80085DB8 3C018019 */ lui $at, %hi(D_8018D01C) # $at, 0x8019 /* 0869BC 80085DBC C424D01C */ lwc1 $f4, %lo(D_8018D01C)($at) /* 0869C0 80085DC0 3C01800F */ lui $at, %hi(D_800EF418) /* 0869C4 80085DC4 D428F418 */ ldc1 $f8, %lo(D_800EF418)($at) /* 0869C8 80085DC8 460021A1 */ cvt.d.s $f6, $f4 /* 0869CC 80085DCC 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0869D0 80085DD0 46283282 */ mul.d $f10, $f6, $f8 /* 0869D4 80085DD4 AFBF001C */ sw $ra, 0x1c($sp) /* 0869D8 80085DD8 3C064495 */ lui $a2, (0x44952000 >> 16) # lui $a2, 0x4495 /* 0869DC 80085DDC 3C07C5B8 */ lui $a3, (0xC5B81800 >> 16) # lui $a3, 0xc5b8 /* 0869E0 80085DE0 AFA40020 */ sw $a0, 0x20($sp) /* 0869E4 80085DE4 34E71800 */ ori $a3, (0xC5B81800 & 0xFFFF) # ori $a3, $a3, 0x1800 /* 0869E8 80085DE8 34C62000 */ ori $a2, (0x44952000 & 0xFFFF) # ori $a2, $a2, 0x2000 /* 0869EC 80085DEC 46205420 */ cvt.s.d $f16, $f10 /* 0869F0 80085DF0 44058000 */ mfc1 $a1, $f16 /* 0869F4 80085DF4 0C022DF5 */ jal func_8008B7D4 /* 0869F8 80085DF8 00000000 */ nop /* 0869FC 80085DFC 3C050600 */ lui $a1, %hi(D_06005E00) # $a1, 0x600 /* 086A00 80085E00 3C060601 */ lui $a2, %hi(D_06009000) # $a2, 0x601 /* 086A04 80085E04 240E0040 */ li $t6, 64 /* 086A08 80085E08 AFAE0010 */ sw $t6, 0x10($sp) /* 086A0C 80085E0C 24C69000 */ addiu $a2, %lo(D_06009000) # addiu $a2, $a2, -0x7000 /* 086A10 80085E10 24A55E00 */ addiu $a1, %lo(D_06005E00) # addiu $a1, $a1, 0x5e00 /* 086A14 80085E14 8FA40020 */ lw $a0, 0x20($sp) /* 086A18 80085E18 0C01CD11 */ jal func_80073444 /* 086A1C 80085E1C 24070040 */ li $a3, 64 /* 086A20 80085E20 0C0216ED */ jal func_80085BB4 /* 086A24 80085E24 8FA40020 */ lw $a0, 0x20($sp) /* 086A28 80085E28 8FBF001C */ lw $ra, 0x1c($sp) /* 086A2C 80085E2C 27BD0020 */ addiu $sp, $sp, 0x20 /* 086A30 80085E30 03E00008 */ jr $ra /* 086A34 80085E34 00000000 */ nop glabel func_80085E38 /* 086A38 80085E38 000470C0 */ sll $t6, $a0, 3 /* 086A3C 80085E3C 01C47023 */ subu $t6, $t6, $a0 /* 086A40 80085E40 000E7140 */ sll $t6, $t6, 5 /* 086A44 80085E44 3C0F8016 */ lui $t7, %hi(D_80165CBE) # 0x8016 /* 086A48 80085E48 01EE7821 */ addu $t7, $t7, $t6 /* 086A4C 80085E4C 95EF5CBE */ lhu $t7, %lo(D_80165CBE)($t7) # 0x5cbe($t7) /* 086A50 80085E50 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 086A54 80085E54 AFBF001C */ sw $ra, 0x1c($sp) /* 086A58 80085E58 2DE10006 */ sltiu $at, $t7, 6 /* 086A5C 80085E5C 10200022 */ beqz $at, .L80085EE8 /* 086A60 80085E60 000F7880 */ sll $t7, $t7, 2 /* 086A64 80085E64 3C01800F */ lui $at, %hi(D_800EF420) /* 086A68 80085E68 002F0821 */ addu $at, $at, $t7 /* 086A6C 80085E6C 8C2FF420 */ lw $t7, %lo(D_800EF420)($at) /* 086A70 80085E70 01E00008 */ jr $t7 /* 086A74 80085E74 00000000 */ nop glabel L80085E78 /* 086A78 80085E78 0C02176E */ jal func_80085DB8 /* 086A7C 80085E7C 00000000 */ nop /* 086A80 80085E80 1000001A */ b .L80085EEC /* 086A84 80085E84 8FBF001C */ lw $ra, 0x1c($sp) glabel L80085E88 /* 086A88 80085E88 2418000C */ li $t8, 12 /* 086A8C 80085E8C 24190001 */ li $t9, 1 /* 086A90 80085E90 AFB90014 */ sw $t9, 0x14($sp) /* 086A94 80085E94 AFB80010 */ sw $t8, 0x10($sp) /* 086A98 80085E98 00002825 */ move $a1, $zero /* 086A9C 80085E9C 24060004 */ li $a2, 4 /* 086AA0 80085EA0 0C01CB95 */ jal func_80072E54 /* 086AA4 80085EA4 24070001 */ li $a3, 1 /* 086AA8 80085EA8 10000010 */ b .L80085EEC /* 086AAC 80085EAC 8FBF001C */ lw $ra, 0x1c($sp) glabel L80085EB0 /* 086AB0 80085EB0 24080001 */ li $t0, 1 /* 086AB4 80085EB4 AFA80010 */ sw $t0, 0x10($sp) /* 086AB8 80085EB8 24050003 */ li $a1, 3 /* 086ABC 80085EBC 24060004 */ li $a2, 4 /* 086AC0 80085EC0 0C01CB4F */ jal func_80072D3C /* 086AC4 80085EC4 2407000C */ li $a3, 12 /* 086AC8 80085EC8 10000008 */ b .L80085EEC /* 086ACC 80085ECC 8FBF001C */ lw $ra, 0x1c($sp) glabel L80085ED0 /* 086AD0 80085ED0 0C01CAD2 */ jal func_80072B48 /* 086AD4 80085ED4 2405000C */ li $a1, 12 /* 086AD8 80085ED8 10000004 */ b .L80085EEC /* 086ADC 80085EDC 8FBF001C */ lw $ra, 0x1c($sp) glabel L80085EE0 /* 086AE0 80085EE0 0C01C9B3 */ jal func_800726CC /* 086AE4 80085EE4 24050002 */ li $a1, 2 .L80085EE8: glabel L80085EE8 /* 086AE8 80085EE8 8FBF001C */ lw $ra, 0x1c($sp) .L80085EEC: /* 086AEC 80085EEC 27BD0020 */ addiu $sp, $sp, 0x20 /* 086AF0 80085EF0 03E00008 */ jr $ra /* 086AF4 80085EF4 00000000 */ nop glabel func_80085EF8 /* 086AF8 80085EF8 3C018019 */ lui $at, %hi(D_8018D01C) # $at, 0x8019 /* 086AFC 80085EFC C424D01C */ lwc1 $f4, %lo(D_8018D01C)($at) /* 086B00 80085F00 3C01800F */ lui $at, %hi(D_800EF438) /* 086B04 80085F04 D428F438 */ ldc1 $f8, %lo(D_800EF438)($at) /* 086B08 80085F08 460021A1 */ cvt.d.s $f6, $f4 /* 086B0C 80085F0C 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 086B10 80085F10 46283282 */ mul.d $f10, $f6, $f8 /* 086B14 80085F14 AFBF001C */ sw $ra, 0x1c($sp) /* 086B18 80085F18 3C06440A */ lui $a2, (0x440AC000 >> 16) # lui $a2, 0x440a /* 086B1C 80085F1C AFA40020 */ sw $a0, 0x20($sp) /* 086B20 80085F20 34C6C000 */ ori $a2, (0x440AC000 & 0xFFFF) # ori $a2, $a2, 0xc000 /* 086B24 80085F24 24070000 */ li $a3, 0 /* 086B28 80085F28 46205420 */ cvt.s.d $f16, $f10 /* 086B2C 80085F2C 44058000 */ mfc1 $a1, $f16 /* 086B30 80085F30 0C022DF5 */ jal func_8008B7D4 /* 086B34 80085F34 00000000 */ nop /* 086B38 80085F38 3C050600 */ lui $a1, %hi(D_06006800) # $a1, 0x600 /* 086B3C 80085F3C 3C060601 */ lui $a2, %hi(D_0600A000) # $a2, 0x601 /* 086B40 80085F40 240E0040 */ li $t6, 64 /* 086B44 80085F44 AFAE0010 */ sw $t6, 0x10($sp) /* 086B48 80085F48 24C6A000 */ addiu $a2, %lo(D_0600A000) # addiu $a2, $a2, -0x6000 /* 086B4C 80085F4C 24A56800 */ addiu $a1, %lo(D_06006800) # addiu $a1, $a1, 0x6800 /* 086B50 80085F50 8FA40020 */ lw $a0, 0x20($sp) /* 086B54 80085F54 0C01CD11 */ jal func_80073444 /* 086B58 80085F58 24070040 */ li $a3, 64 /* 086B5C 80085F5C 0C0216ED */ jal func_80085BB4 /* 086B60 80085F60 8FA40020 */ lw $a0, 0x20($sp) /* 086B64 80085F64 8FBF001C */ lw $ra, 0x1c($sp) /* 086B68 80085F68 27BD0020 */ addiu $sp, $sp, 0x20 /* 086B6C 80085F6C 03E00008 */ jr $ra /* 086B70 80085F70 00000000 */ nop glabel func_80085F74 /* 086B74 80085F74 000470C0 */ sll $t6, $a0, 3 /* 086B78 80085F78 01C47023 */ subu $t6, $t6, $a0 /* 086B7C 80085F7C 000E7140 */ sll $t6, $t6, 5 /* 086B80 80085F80 3C0F8016 */ lui $t7, %hi(D_80165CBE) # 0x8016 /* 086B84 80085F84 01EE7821 */ addu $t7, $t7, $t6 /* 086B88 80085F88 95EF5CBE */ lhu $t7, %lo(D_80165CBE)($t7) # 0x5cbe($t7) /* 086B8C 80085F8C 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 086B90 80085F90 AFBF001C */ sw $ra, 0x1c($sp) /* 086B94 80085F94 2DE10009 */ sltiu $at, $t7, 9 /* 086B98 80085F98 10200032 */ beqz $at, .L80086064 /* 086B9C 80085F9C 000F7880 */ sll $t7, $t7, 2 /* 086BA0 80085FA0 3C01800F */ lui $at, %hi(D_800EF440) /* 086BA4 80085FA4 002F0821 */ addu $at, $at, $t7 /* 086BA8 80085FA8 8C2FF440 */ lw $t7, %lo(D_800EF440)($at) /* 086BAC 80085FAC 01E00008 */ jr $t7 /* 086BB0 80085FB0 00000000 */ nop glabel L80085FB4 /* 086BB4 80085FB4 0C0217BE */ jal func_80085EF8 /* 086BB8 80085FB8 00000000 */ nop /* 086BBC 80085FBC 1000002A */ b .L80086068 /* 086BC0 80085FC0 8FBF001C */ lw $ra, 0x1c($sp) glabel L80085FC4 /* 086BC4 80085FC4 24180005 */ li $t8, 5 /* 086BC8 80085FC8 24190001 */ li $t9, 1 /* 086BCC 80085FCC AFB90014 */ sw $t9, 0x14($sp) /* 086BD0 80085FD0 AFB80010 */ sw $t8, 0x10($sp) /* 086BD4 80085FD4 00002825 */ move $a1, $zero /* 086BD8 80085FD8 24060004 */ li $a2, 4 /* 086BDC 80085FDC 0C01CB95 */ jal func_80072E54 /* 086BE0 80085FE0 24070001 */ li $a3, 1 /* 086BE4 80085FE4 10000020 */ b .L80086068 /* 086BE8 80085FE8 8FBF001C */ lw $ra, 0x1c($sp) glabel L80085FEC /* 086BEC 80085FEC 0C01C9E3 */ jal func_8007278C /* 086BF0 80085FF0 2405001E */ li $a1, 30 /* 086BF4 80085FF4 1000001C */ b .L80086068 /* 086BF8 80085FF8 8FBF001C */ lw $ra, 0x1c($sp) glabel L80085FFC /* 086BFC 80085FFC 24050004 */ li $a1, 4 /* 086C00 80086000 00003025 */ move $a2, $zero /* 086C04 80086004 0C01CB00 */ jal func_80072C00 /* 086C08 80086008 24070007 */ li $a3, 7 /* 086C0C 8008600C 10000016 */ b .L80086068 /* 086C10 80086010 8FBF001C */ lw $ra, 0x1c($sp) glabel L80086014 /* 086C14 80086014 0C01C9E3 */ jal func_8007278C /* 086C18 80086018 2405001E */ li $a1, 30 /* 086C1C 8008601C 10000012 */ b .L80086068 /* 086C20 80086020 8FBF001C */ lw $ra, 0x1c($sp) glabel L80086024 /* 086C24 80086024 24080005 */ li $t0, 5 /* 086C28 80086028 24090001 */ li $t1, 1 /* 086C2C 8008602C AFA90014 */ sw $t1, 0x14($sp) /* 086C30 80086030 AFA80010 */ sw $t0, 0x10($sp) /* 086C34 80086034 24050003 */ li $a1, 3 /* 086C38 80086038 00003025 */ move $a2, $zero /* 086C3C 8008603C 0C01CBE2 */ jal func_80072F88 /* 086C40 80086040 24070001 */ li $a3, 1 /* 086C44 80086044 10000008 */ b .L80086068 /* 086C48 80086048 8FBF001C */ lw $ra, 0x1c($sp) glabel L8008604C /* 086C4C 8008604C 0C01CAD2 */ jal func_80072B48 /* 086C50 80086050 2405000F */ li $a1, 15 /* 086C54 80086054 10000004 */ b .L80086068 /* 086C58 80086058 8FBF001C */ lw $ra, 0x1c($sp) glabel L8008605C /* 086C5C 8008605C 0C01C9B3 */ jal func_800726CC /* 086C60 80086060 24050002 */ li $a1, 2 .L80086064: glabel L80086064 /* 086C64 80086064 8FBF001C */ lw $ra, 0x1c($sp) .L80086068: /* 086C68 80086068 27BD0020 */ addiu $sp, $sp, 0x20 /* 086C6C 8008606C 03E00008 */ jr $ra /* 086C70 80086070 00000000 */ nop glabel func_80086074 /* 086C74 80086074 00057880 */ sll $t7, $a1, 2 /* 086C78 80086078 01E57823 */ subu $t7, $t7, $a1 /* 086C7C 8008607C 3C19800E */ lui $t9, %hi(D_800E6734) # $t9, 0x800e /* 086C80 80086080 27396734 */ addiu $t9, %lo(D_800E6734) # addiu $t9, $t9, 0x6734 /* 086C84 80086084 000FC080 */ sll $t8, $t7, 2 /* 086C88 80086088 03191021 */ addu $v0, $t8, $t9 /* 086C8C 8008608C 3C018019 */ lui $at, %hi(D_8018D01C) # $at, 0x8019 /* 086C90 80086090 C426D01C */ lwc1 $f6, %lo(D_8018D01C)($at) /* 086C94 80086094 C4440000 */ lwc1 $f4, ($v0) /* 086C98 80086098 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 086C9C 8008609C AFA50024 */ sw $a1, 0x24($sp) /* 086CA0 800860A0 46062202 */ mul.s $f8, $f4, $f6 /* 086CA4 800860A4 AFBF001C */ sw $ra, 0x1c($sp) /* 086CA8 800860A8 AFA40020 */ sw $a0, 0x20($sp) /* 086CAC 800860AC 8C460004 */ lw $a2, 4($v0) /* 086CB0 800860B0 8C470008 */ lw $a3, 8($v0) /* 086CB4 800860B4 44054000 */ mfc1 $a1, $f8 /* 086CB8 800860B8 0C022DF5 */ jal func_8008B7D4 /* 086CBC 800860BC 00000000 */ nop /* 086CC0 800860C0 8FA80024 */ lw $t0, 0x24($sp) /* 086CC4 800860C4 3C0A0600 */ lui $t2, %hi(D_06007200) # $t2, 0x600 /* 086CC8 800860C8 3C0C0601 */ lui $t4, %hi(D_0600B000) # $t4, 0x601 /* 086CCC 800860CC 258CB000 */ addiu $t4, %lo(D_0600B000) # addiu $t4, $t4, -0x5000 /* 086CD0 800860D0 254A7200 */ addiu $t2, %lo(D_06007200) # addiu $t2, $t2, 0x7200 /* 086CD4 800860D4 240D0040 */ li $t5, 64 /* 086CD8 800860D8 00084A40 */ sll $t1, $t0, 9 /* 086CDC 800860DC 00085B00 */ sll $t3, $t0, 0xc /* 086CE0 800860E0 016C3021 */ addu $a2, $t3, $t4 /* 086CE4 800860E4 012A2821 */ addu $a1, $t1, $t2 /* 086CE8 800860E8 AFAD0010 */ sw $t5, 0x10($sp) /* 086CEC 800860EC 8FA40020 */ lw $a0, 0x20($sp) /* 086CF0 800860F0 0C01CD11 */ jal func_80073444 /* 086CF4 800860F4 24070040 */ li $a3, 64 /* 086CF8 800860F8 0C0216ED */ jal func_80085BB4 /* 086CFC 800860FC 8FA40020 */ lw $a0, 0x20($sp) /* 086D00 80086100 8FBF001C */ lw $ra, 0x1c($sp) /* 086D04 80086104 27BD0020 */ addiu $sp, $sp, 0x20 /* 086D08 80086108 03E00008 */ jr $ra /* 086D0C 8008610C 00000000 */ nop glabel func_80086110 /* 086D10 80086110 000470C0 */ sll $t6, $a0, 3 /* 086D14 80086114 01C47023 */ subu $t6, $t6, $a0 /* 086D18 80086118 000E7140 */ sll $t6, $t6, 5 /* 086D1C 8008611C 3C028016 */ lui $v0, %hi(D_80165CBE) # 0x8016 /* 086D20 80086120 004E1021 */ addu $v0, $v0, $t6 /* 086D24 80086124 84425CBE */ lh $v0, %lo(D_80165CBE)($v0) # 0x5cbe($v0) /* 086D28 80086128 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 086D2C 8008612C AFBF0014 */ sw $ra, 0x14($sp) /* 086D30 80086130 10400005 */ beqz $v0, .L80086148 /* 086D34 80086134 24010001 */ li $at, 1 /* 086D38 80086138 54410004 */ bnel $v0, $at, .L8008614C /* 086D3C 8008613C 8FBF0014 */ lw $ra, 0x14($sp) /* 086D40 80086140 0C02181D */ jal func_80086074 /* 086D44 80086144 00000000 */ nop .L80086148: /* 086D48 80086148 8FBF0014 */ lw $ra, 0x14($sp) .L8008614C: /* 086D4C 8008614C 27BD0018 */ addiu $sp, $sp, 0x18 /* 086D50 80086150 03E00008 */ jr $ra /* 086D54 80086154 00000000 */ nop glabel func_80086158 /* 086D58 80086158 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 086D5C 8008615C AFBF0014 */ sw $ra, 0x14($sp) /* 086D60 80086160 AFA40018 */ sw $a0, 0x18($sp) /* 086D64 80086164 10A00009 */ beqz $a1, .L8008618C /* 086D68 80086168 00A03025 */ move $a2, $a1 /* 086D6C 8008616C 24010001 */ li $at, 1 /* 086D70 80086170 10A1000B */ beq $a1, $at, .L800861A0 /* 086D74 80086174 8FA40018 */ lw $a0, 0x18($sp) /* 086D78 80086178 24010002 */ li $at, 2 /* 086D7C 8008617C 10A1000C */ beq $a1, $at, .L800861B0 /* 086D80 80086180 8FA40018 */ lw $a0, 0x18($sp) /* 086D84 80086184 1000000E */ b .L800861C0 /* 086D88 80086188 28C10003 */ slti $at, $a2, 3 .L8008618C: /* 086D8C 8008618C 8FA40018 */ lw $a0, 0x18($sp) /* 086D90 80086190 0C021728 */ jal func_80085CA0 /* 086D94 80086194 AFA6001C */ sw $a2, 0x1c($sp) /* 086D98 80086198 10000008 */ b .L800861BC /* 086D9C 8008619C 8FA6001C */ lw $a2, 0x1c($sp) .L800861A0: /* 086DA0 800861A0 0C02178E */ jal func_80085E38 /* 086DA4 800861A4 AFA6001C */ sw $a2, 0x1c($sp) /* 086DA8 800861A8 10000004 */ b .L800861BC /* 086DAC 800861AC 8FA6001C */ lw $a2, 0x1c($sp) .L800861B0: /* 086DB0 800861B0 0C0217DD */ jal func_80085F74 /* 086DB4 800861B4 AFA6001C */ sw $a2, 0x1c($sp) /* 086DB8 800861B8 8FA6001C */ lw $a2, 0x1c($sp) .L800861BC: /* 086DBC 800861BC 28C10003 */ slti $at, $a2, 3 .L800861C0: /* 086DC0 800861C0 14200003 */ bnez $at, .L800861D0 /* 086DC4 800861C4 8FA40018 */ lw $a0, 0x18($sp) /* 086DC8 800861C8 0C021844 */ jal func_80086110 /* 086DCC 800861CC 24C5FFFD */ addiu $a1, $a2, -3 .L800861D0: /* 086DD0 800861D0 8FBF0014 */ lw $ra, 0x14($sp) /* 086DD4 800861D4 27BD0018 */ addiu $sp, $sp, 0x18 /* 086DD8 800861D8 03E00008 */ jr $ra /* 086DDC 800861DC 00000000 */ nop glabel func_800861E0 /* 086DE0 800861E0 27BDFFC8 */ addiu $sp, $sp, -0x38 /* 086DE4 800861E4 AFB40028 */ sw $s4, 0x28($sp) /* 086DE8 800861E8 AFB30024 */ sw $s3, 0x24($sp) /* 086DEC 800861EC AFB60030 */ sw $s6, 0x30($sp) /* 086DF0 800861F0 AFB5002C */ sw $s5, 0x2c($sp) /* 086DF4 800861F4 AFB20020 */ sw $s2, 0x20($sp) /* 086DF8 800861F8 3C138018 */ lui $s3, %hi(D_80183EA0) # $s3, 0x8018 /* 086DFC 800861FC 3C148016 */ lui $s4, %hi(D_80165C18) # $s4, 0x8016 /* 086E00 80086200 AFBF0034 */ sw $ra, 0x34($sp) /* 086E04 80086204 AFB1001C */ sw $s1, 0x1c($sp) /* 086E08 80086208 AFB00018 */ sw $s0, 0x18($sp) /* 086E0C 8008620C 26945C18 */ addiu $s4, %lo(D_80165C18) # addiu $s4, $s4, 0x5c18 /* 086E10 80086210 26733EA0 */ addiu $s3, %lo(D_80183EA0) # addiu $s3, $s3, 0x3ea0 /* 086E14 80086214 00009025 */ move $s2, $zero /* 086E18 80086218 241500E0 */ li $s5, 224 /* 086E1C 8008621C 2416000A */ li $s6, 10 .L80086220: /* 086E20 80086220 8E700000 */ lw $s0, ($s3) /* 086E24 80086224 02150019 */ multu $s0, $s5 /* 086E28 80086228 02002025 */ move $a0, $s0 /* 086E2C 8008622C 00007012 */ mflo $t6 /* 086E30 80086230 028E8821 */ addu $s1, $s4, $t6 /* 086E34 80086234 862F00A6 */ lh $t7, 0xa6($s1) /* 086E38 80086238 51E0000C */ beql $t7, $zero, .L8008626C /* 086E3C 8008623C 26520001 */ addiu $s2, $s2, 1 /* 086E40 80086240 0C021856 */ jal func_80086158 /* 086E44 80086244 02402825 */ move $a1, $s2 /* 086E48 80086248 863800A6 */ lh $t8, 0xa6($s1) /* 086E4C 8008624C 2B010002 */ slti $at, $t8, 2 /* 086E50 80086250 54200006 */ bnel $at, $zero, .L8008626C /* 086E54 80086254 26520001 */ addiu $s2, $s2, 1 /* 086E58 80086258 0C01CD37 */ jal func_800734DC /* 086E5C 8008625C 02002025 */ move $a0, $s0 /* 086E60 80086260 0C022FC6 */ jal func_8008BF18 /* 086E64 80086264 02002025 */ move $a0, $s0 /* 086E68 80086268 26520001 */ addiu $s2, $s2, 1 .L8008626C: /* 086E6C 8008626C 1656FFEC */ bne $s2, $s6, .L80086220 /* 086E70 80086270 26730004 */ addiu $s3, $s3, 4 /* 086E74 80086274 8FBF0034 */ lw $ra, 0x34($sp) /* 086E78 80086278 8FB00018 */ lw $s0, 0x18($sp) /* 086E7C 8008627C 8FB1001C */ lw $s1, 0x1c($sp) /* 086E80 80086280 8FB20020 */ lw $s2, 0x20($sp) /* 086E84 80086284 8FB30024 */ lw $s3, 0x24($sp) /* 086E88 80086288 8FB40028 */ lw $s4, 0x28($sp) /* 086E8C 8008628C 8FB5002C */ lw $s5, 0x2c($sp) /* 086E90 80086290 8FB60030 */ lw $s6, 0x30($sp) /* 086E94 80086294 03E00008 */ jr $ra /* 086E98 80086298 27BD0038 */ addiu $sp, $sp, 0x38 glabel func_8008629C /* 086E9C 8008629C 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 086EA0 800862A0 AFB00018 */ sw $s0, 0x18($sp) /* 086EA4 800862A4 00808025 */ move $s0, $a0 /* 086EA8 800862A8 10A0000E */ beqz $a1, .L800862E4 /* 086EAC 800862AC AFBF001C */ sw $ra, 0x1c($sp) /* 086EB0 800862B0 24010001 */ li $at, 1 /* 086EB4 800862B4 10A10017 */ beq $a1, $at, .L80086314 /* 086EB8 800862B8 001050C0 */ sll $t2, $s0, 3 /* 086EBC 800862BC 24010002 */ li $at, 2 /* 086EC0 800862C0 10A1001F */ beq $a1, $at, .L80086340 /* 086EC4 800862C4 001070C0 */ sll $t6, $s0, 3 /* 086EC8 800862C8 000470C0 */ sll $t6, $a0, 3 /* 086ECC 800862CC 01C47023 */ subu $t6, $t6, $a0 /* 086ED0 800862D0 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 086ED4 800862D4 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 086ED8 800862D8 000E7140 */ sll $t6, $t6, 5 /* 086EDC 800862DC 10000022 */ b .L80086368 /* 086EE0 800862E0 01CF1021 */ addu $v0, $t6, $t7 .L800862E4: /* 086EE4 800862E4 0010C0C0 */ sll $t8, $s0, 3 /* 086EE8 800862E8 0310C023 */ subu $t8, $t8, $s0 /* 086EEC 800862EC 3C198016 */ lui $t9, %hi(D_80165C18) # $t9, 0x8016 /* 086EF0 800862F0 27395C18 */ addiu $t9, %lo(D_80165C18) # addiu $t9, $t9, 0x5c18 /* 086EF4 800862F4 0018C140 */ sll $t8, $t8, 5 /* 086EF8 800862F8 3C080B00 */ lui $t0, %hi(D_0B0075F0) # $t0, 0xb00 /* 086EFC 800862FC 250875F0 */ addiu $t0, %lo(D_0B0075F0) # addiu $t0, $t0, 0x75f0 /* 086F00 80086300 03191021 */ addu $v0, $t8, $t9 /* 086F04 80086304 24090038 */ li $t1, 56 /* 086F08 80086308 AC480070 */ sw $t0, 0x70($v0) /* 086F0C 8008630C 10000016 */ b .L80086368 /* 086F10 80086310 AC49004C */ sw $t1, 0x4c($v0) .L80086314: /* 086F14 80086314 01505023 */ subu $t2, $t2, $s0 /* 086F18 80086318 3C0B8016 */ lui $t3, %hi(D_80165C18) # $t3, 0x8016 /* 086F1C 8008631C 256B5C18 */ addiu $t3, %lo(D_80165C18) # addiu $t3, $t3, 0x5c18 /* 086F20 80086320 000A5140 */ sll $t2, $t2, 5 /* 086F24 80086324 3C0C0B01 */ lui $t4, %hi(D_0B008040) # $t4, 0xb01 /* 086F28 80086328 258C8040 */ addiu $t4, %lo(D_0B008040) # addiu $t4, $t4, -0x7fc0 /* 086F2C 8008632C 014B1021 */ addu $v0, $t2, $t3 /* 086F30 80086330 240D002B */ li $t5, 43 /* 086F34 80086334 AC4C0070 */ sw $t4, 0x70($v0) /* 086F38 80086338 1000000B */ b .L80086368 /* 086F3C 8008633C AC4D004C */ sw $t5, 0x4c($v0) .L80086340: /* 086F40 80086340 01D07023 */ subu $t6, $t6, $s0 /* 086F44 80086344 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 086F48 80086348 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 086F4C 8008634C 000E7140 */ sll $t6, $t6, 5 /* 086F50 80086350 01CF1021 */ addu $v0, $t6, $t7 /* 086F54 80086354 3C180B01 */ lui $t8, %hi(D_0B008A90) # $t8, 0xb01 /* 086F58 80086358 27188A90 */ addiu $t8, %lo(D_0B008A90) # addiu $t8, $t8, -0x7570 /* 086F5C 8008635C 2419001E */ li $t9, 30 /* 086F60 80086360 AC580070 */ sw $t8, 0x70($v0) /* 086F64 80086364 AC59004C */ sw $t9, 0x4c($v0) .L80086368: /* 086F68 80086368 3C03800E */ lui $v1, %hi(D_800E634C) # $v1, 0x800e /* 086F6C 8008636C 2463634C */ addiu $v1, %lo(D_800E634C) # addiu $v1, $v1, 0x634c /* 086F70 80086370 84680000 */ lh $t0, ($v1) /* 086F74 80086374 3C013F80 */ li $at, 0x3F800000 # 1.000000 /* 086F78 80086378 44812000 */ mtc1 $at, $f4 /* 086F7C 8008637C 44883000 */ mtc1 $t0, $f6 /* 086F80 80086380 84690002 */ lh $t1, 2($v1) /* 086F84 80086384 846A0004 */ lh $t2, 4($v1) /* 086F88 80086388 46803221 */ cvt.d.w $f8, $f6 /* 086F8C 8008638C 3C013FF8 */ li $at, 0x3FF80000 # 1.937500 /* 086F90 80086390 44815800 */ mtc1 $at, $f11 /* 086F94 80086394 44805000 */ mtc1 $zero, $f10 /* 086F98 80086398 E4440000 */ swc1 $f4, ($v0) /* 086F9C 8008639C 44892000 */ mtc1 $t1, $f4 /* 086FA0 800863A0 448A3000 */ mtc1 $t2, $f6 /* 086FA4 800863A4 462A4401 */ sub.d $f16, $f8, $f10 /* 086FA8 800863A8 02002025 */ move $a0, $s0 /* 086FAC 800863AC AFA20020 */ sw $v0, 0x20($sp) /* 086FB0 800863B0 46802120 */ cvt.s.w $f4, $f4 /* 086FB4 800863B4 468031A0 */ cvt.s.w $f6, $f6 /* 086FB8 800863B8 44062000 */ mfc1 $a2, $f4 /* 086FBC 800863BC 462084A0 */ cvt.s.d $f18, $f16 /* 086FC0 800863C0 44073000 */ mfc1 $a3, $f6 /* 086FC4 800863C4 44059000 */ mfc1 $a1, $f18 /* 086FC8 800863C8 0C022DF5 */ jal func_8008B7D4 /* 086FCC 800863CC 00000000 */ nop /* 086FD0 800863D0 44800000 */ mtc1 $zero, $f0 /* 086FD4 800863D4 02002025 */ move $a0, $s0 /* 086FD8 800863D8 3C06C120 */ lui $a2, 0xc120 /* 086FDC 800863DC 44050000 */ mfc1 $a1, $f0 /* 086FE0 800863E0 44070000 */ mfc1 $a3, $f0 /* 086FE4 800863E4 0C022E03 */ jal func_8008B80C /* 086FE8 800863E8 00000000 */ nop /* 086FEC 800863EC 02002025 */ move $a0, $s0 /* 086FF0 800863F0 00002825 */ move $a1, $zero /* 086FF4 800863F4 3406F8E4 */ li $a2, 63716 /* 086FF8 800863F8 0C022E22 */ jal func_8008B888 /* 086FFC 800863FC 00003825 */ move $a3, $zero /* 087000 80086400 8FA20020 */ lw $v0, 0x20($sp) /* 087004 80086404 02002025 */ move $a0, $s0 /* 087008 80086408 0C01C922 */ jal func_80072488 /* 08700C 8008640C AC400048 */ sw $zero, 0x48($v0) /* 087010 80086410 8FBF001C */ lw $ra, 0x1c($sp) /* 087014 80086414 8FB00018 */ lw $s0, 0x18($sp) /* 087018 80086418 27BD0028 */ addiu $sp, $sp, 0x28 /* 08701C 8008641C 03E00008 */ jr $ra /* 087020 80086420 00000000 */ nop glabel func_80086424 /* 087024 80086424 000470C0 */ sll $t6, $a0, 3 /* 087028 80086428 01C47023 */ subu $t6, $t6, $a0 /* 08702C 8008642C 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 087030 80086430 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 087034 80086434 000E7140 */ sll $t6, $t6, 5 /* 087038 80086438 01CF1021 */ addu $v0, $t6, $t7 /* 08703C 8008643C 844300AE */ lh $v1, 0xae($v0) /* 087040 80086440 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 087044 80086444 AFB00018 */ sw $s0, 0x18($sp) /* 087048 80086448 00808025 */ move $s0, $a0 /* 08704C 8008644C 1060002F */ beqz $v1, .L8008650C /* 087050 80086450 AFBF001C */ sw $ra, 0x1c($sp) /* 087054 80086454 24010001 */ li $at, 1 /* 087058 80086458 10610005 */ beq $v1, $at, .L80086470 /* 08705C 8008645C 24010002 */ li $at, 2 /* 087060 80086460 1061000A */ beq $v1, $at, .L8008648C /* 087064 80086464 02002025 */ move $a0, $s0 /* 087068 80086468 10000028 */ b .L8008650C /* 08706C 8008646C 00000000 */ nop .L80086470: /* 087070 80086470 3C013F40 */ li $at, 0x3F400000 # 0.750000 /* 087074 80086474 44812000 */ mtc1 $at, $f4 /* 087078 80086478 02002025 */ move $a0, $s0 /* 08707C 8008647C 0C021BF5 */ jal func_80086FD4 /* 087080 80086480 E444003C */ swc1 $f4, 0x3c($v0) /* 087084 80086484 10000021 */ b .L8008650C /* 087088 80086488 00000000 */ nop .L8008648C: /* 08708C 8008648C C446002C */ lwc1 $f6, 0x2c($v0) /* 087090 80086490 3C01C000 */ li $at, 0xC0000000 # -2.000000 /* 087094 80086494 44815800 */ mtc1 $at, $f11 /* 087098 80086498 44805000 */ mtc1 $zero, $f10 /* 08709C 8008649C 46003221 */ cvt.d.s $f8, $f6 /* 0870A0 800864A0 4628503E */ c.le.d $f10, $f8 /* 0870A4 800864A4 00000000 */ nop /* 0870A8 800864A8 45000008 */ bc1f .L800864CC /* 0870AC 800864AC 00000000 */ nop /* 0870B0 800864B0 C450003C */ lwc1 $f16, 0x3c($v0) /* 0870B4 800864B4 3C01800F */ lui $at, %hi(D_800EF468) /* 0870B8 800864B8 D424F468 */ ldc1 $f4, %lo(D_800EF468)($at) /* 0870BC 800864BC 460084A1 */ cvt.d.s $f18, $f16 /* 0870C0 800864C0 46249181 */ sub.d $f6, $f18, $f4 /* 0870C4 800864C4 46203220 */ cvt.s.d $f8, $f6 /* 0870C8 800864C8 E448003C */ swc1 $f8, 0x3c($v0) .L800864CC: /* 0870CC 800864CC 0C021DF1 */ jal func_800877C4 /* 0870D0 800864D0 AFA20020 */ sw $v0, 0x20($sp) /* 0870D4 800864D4 8FA20020 */ lw $v0, 0x20($sp) /* 0870D8 800864D8 44809800 */ mtc1 $zero, $f19 /* 0870DC 800864DC 44809000 */ mtc1 $zero, $f18 /* 0870E0 800864E0 C44A002C */ lwc1 $f10, 0x2c($v0) /* 0870E4 800864E4 46005421 */ cvt.d.s $f16, $f10 /* 0870E8 800864E8 4630903E */ c.le.d $f18, $f16 /* 0870EC 800864EC 00000000 */ nop /* 0870F0 800864F0 45000006 */ bc1f .L8008650C /* 0870F4 800864F4 00000000 */ nop /* 0870F8 800864F8 44800000 */ mtc1 $zero, $f0 /* 0870FC 800864FC 02002025 */ move $a0, $s0 /* 087100 80086500 E440002C */ swc1 $f0, 0x2c($v0) /* 087104 80086504 0C021BD8 */ jal func_80086F60 /* 087108 80086508 E440003C */ swc1 $f0, 0x3c($v0) .L8008650C: /* 08710C 8008650C 0C022FC6 */ jal func_8008BF18 /* 087110 80086510 02002025 */ move $a0, $s0 /* 087114 80086514 8FBF001C */ lw $ra, 0x1c($sp) /* 087118 80086518 8FB00018 */ lw $s0, 0x18($sp) /* 08711C 8008651C 27BD0028 */ addiu $sp, $sp, 0x28 /* 087120 80086520 03E00008 */ jr $ra /* 087124 80086524 00000000 */ nop glabel func_80086528 /* 087128 80086528 000470C0 */ sll $t6, $a0, 3 /* 08712C 8008652C 01C47023 */ subu $t6, $t6, $a0 /* 087130 80086530 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 087134 80086534 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 087138 80086538 000E7140 */ sll $t6, $t6, 5 /* 08713C 8008653C 01CF1821 */ addu $v1, $t6, $t7 /* 087140 80086540 846200A6 */ lh $v0, 0xa6($v1) /* 087144 80086544 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 087148 80086548 AFBF0014 */ sw $ra, 0x14($sp) /* 08714C 8008654C 00803025 */ move $a2, $a0 /* 087150 80086550 10400028 */ beqz $v0, .L800865F4 /* 087154 80086554 00A03825 */ move $a3, $a1 /* 087158 80086558 24050001 */ li $a1, 1 /* 08715C 8008655C 10450009 */ beq $v0, $a1, .L80086584 /* 087160 80086560 00C02025 */ move $a0, $a2 /* 087164 80086564 24010002 */ li $at, 2 /* 087168 80086568 1041000A */ beq $v0, $at, .L80086594 /* 08716C 8008656C 00C02025 */ move $a0, $a2 /* 087170 80086570 24010003 */ li $at, 3 /* 087174 80086574 5041001A */ beql $v0, $at, .L800865E0 /* 087178 80086578 847900AE */ lh $t9, 0xae($v1) /* 08717C 8008657C 1000001E */ b .L800865F8 /* 087180 80086580 8FBF0014 */ lw $ra, 0x14($sp) .L80086584: /* 087184 80086584 0C0218A7 */ jal func_8008629C /* 087188 80086588 00E02825 */ move $a1, $a3 /* 08718C 8008658C 1000001A */ b .L800865F8 /* 087190 80086590 8FBF0014 */ lw $ra, 0x14($sp) .L80086594: /* 087194 80086594 8C65004C */ lw $a1, 0x4c($v1) /* 087198 80086598 AFA60018 */ sw $a2, 0x18($sp) /* 08719C 8008659C 0C01C9E3 */ jal func_8007278C /* 0871A0 800865A0 AFA7001C */ sw $a3, 0x1c($sp) /* 0871A4 800865A4 8FA60018 */ lw $a2, 0x18($sp) /* 0871A8 800865A8 10400012 */ beqz $v0, .L800865F4 /* 0871AC 800865AC 8FA7001C */ lw $a3, 0x1c($sp) /* 0871B0 800865B0 00072600 */ sll $a0, $a3, 0x18 /* 0871B4 800865B4 0004C603 */ sra $t8, $a0, 0x18 /* 0871B8 800865B8 03002025 */ move $a0, $t8 /* 0871BC 800865BC 0C024510 */ jal func_80091440 /* 0871C0 800865C0 AFA60018 */ sw $a2, 0x18($sp) /* 0871C4 800865C4 0C021B9C */ jal func_80086E70 /* 0871C8 800865C8 8FA40018 */ lw $a0, 0x18($sp) /* 0871CC 800865CC 0C01C922 */ jal func_80072488 /* 0871D0 800865D0 8FA40018 */ lw $a0, 0x18($sp) /* 0871D4 800865D4 10000008 */ b .L800865F8 /* 0871D8 800865D8 8FBF0014 */ lw $ra, 0x14($sp) /* 0871DC 800865DC 847900AE */ lh $t9, 0xae($v1) .L800865E0: /* 0871E0 800865E0 00C02025 */ move $a0, $a2 /* 0871E4 800865E4 57200004 */ bnel $t9, $zero, .L800865F8 /* 0871E8 800865E8 8FBF0014 */ lw $ra, 0x14($sp) /* 0871EC 800865EC 0C01C922 */ jal func_80072488 /* 0871F0 800865F0 AC650048 */ sw $a1, 0x48($v1) .L800865F4: /* 0871F4 800865F4 8FBF0014 */ lw $ra, 0x14($sp) .L800865F8: /* 0871F8 800865F8 27BD0018 */ addiu $sp, $sp, 0x18 /* 0871FC 800865FC 03E00008 */ jr $ra /* 087200 80086600 00000000 */ nop glabel func_80086604 /* 087204 80086604 27BDFFD0 */ addiu $sp, $sp, -0x30 /* 087208 80086608 3C0E8016 */ lui $t6, %hi(D_8016347C) # $t6, 0x8016 /* 08720C 8008660C 85CE347C */ lh $t6, %lo(D_8016347C)($t6) /* 087210 80086610 AFBF002C */ sw $ra, 0x2c($sp) /* 087214 80086614 AFB50028 */ sw $s5, 0x28($sp) /* 087218 80086618 AFB40024 */ sw $s4, 0x24($sp) /* 08721C 8008661C AFB30020 */ sw $s3, 0x20($sp) /* 087220 80086620 AFB2001C */ sw $s2, 0x1c($sp) /* 087224 80086624 AFB10018 */ sw $s1, 0x18($sp) /* 087228 80086628 11C00016 */ beqz $t6, .L80086684 /* 08722C 8008662C AFB00014 */ sw $s0, 0x14($sp) /* 087230 80086630 3C0F8028 */ lui $t7, %hi(D_802874F5) # $t7, 0x8028 /* 087234 80086634 81EF74F5 */ lb $t7, %lo(D_802874F5)($t7) /* 087238 80086638 3C138016 */ lui $s3, %hi(D_801658C6) # $s3, 0x8016 /* 08723C 8008663C 267358C6 */ addiu $s3, %lo(D_801658C6) # addiu $s3, $s3, 0x58c6 /* 087240 80086640 29E10003 */ slti $at, $t7, 3 /* 087244 80086644 1020000F */ beqz $at, .L80086684 /* 087248 80086648 00000000 */ nop /* 08724C 8008664C 82780000 */ lb $t8, ($s3) /* 087250 80086650 3C118018 */ lui $s1, %hi(D_80183EA0) # $s1, 0x8018 /* 087254 80086654 26313EA0 */ addiu $s1, %lo(D_80183EA0) # addiu $s1, $s1, 0x3ea0 /* 087258 80086658 1700000A */ bnez $t8, .L80086684 /* 08725C 8008665C 3C128018 */ lui $s2, %hi(D_80183EAC) # $s2, 0x8018 /* 087260 80086660 26523EAC */ addiu $s2, %lo(D_80183EAC) # addiu $s2, $s2, 0x3eac /* 087264 80086664 8E240000 */ lw $a0, ($s1) .L80086668: /* 087268 80086668 0C01C8E9 */ jal func_800723A4 /* 08726C 8008666C 00002825 */ move $a1, $zero /* 087270 80086670 26310004 */ addiu $s1, $s1, 4 /* 087274 80086674 5632FFFC */ bnel $s1, $s2, .L80086668 /* 087278 80086678 8E240000 */ lw $a0, ($s1) /* 08727C 8008667C 24190001 */ li $t9, 1 /* 087280 80086680 A2790000 */ sb $t9, ($s3) .L80086684: /* 087284 80086684 3C118018 */ lui $s1, %hi(D_80183EA0) # $s1, 0x8018 /* 087288 80086688 3C138016 */ lui $s3, %hi(D_80165C18) # $s3, 0x8016 /* 08728C 8008668C 26735C18 */ addiu $s3, %lo(D_80165C18) # addiu $s3, $s3, 0x5c18 /* 087290 80086690 26313EA0 */ addiu $s1, %lo(D_80183EA0) # addiu $s1, $s1, 0x3ea0 /* 087294 80086694 00009025 */ move $s2, $zero /* 087298 80086698 24150003 */ li $s5, 3 /* 08729C 8008669C 241400E0 */ li $s4, 224 .L800866A0: /* 0872A0 800866A0 8E300000 */ lw $s0, ($s1) /* 0872A4 800866A4 02140019 */ multu $s0, $s4 /* 0872A8 800866A8 02002025 */ move $a0, $s0 /* 0872AC 800866AC 00004012 */ mflo $t0 /* 0872B0 800866B0 02684821 */ addu $t1, $s3, $t0 /* 0872B4 800866B4 852A00A6 */ lh $t2, 0xa6($t1) /* 0872B8 800866B8 51400006 */ beql $t2, $zero, .L800866D4 /* 0872BC 800866BC 26520001 */ addiu $s2, $s2, 1 /* 0872C0 800866C0 0C02194A */ jal func_80086528 /* 0872C4 800866C4 02402825 */ move $a1, $s2 /* 0872C8 800866C8 0C021909 */ jal func_80086424 /* 0872CC 800866CC 02002025 */ move $a0, $s0 /* 0872D0 800866D0 26520001 */ addiu $s2, $s2, 1 .L800866D4: /* 0872D4 800866D4 1655FFF2 */ bne $s2, $s5, .L800866A0 /* 0872D8 800866D8 26310004 */ addiu $s1, $s1, 4 /* 0872DC 800866DC 8FBF002C */ lw $ra, 0x2c($sp) /* 0872E0 800866E0 8FB00014 */ lw $s0, 0x14($sp) /* 0872E4 800866E4 8FB10018 */ lw $s1, 0x18($sp) /* 0872E8 800866E8 8FB2001C */ lw $s2, 0x1c($sp) /* 0872EC 800866EC 8FB30020 */ lw $s3, 0x20($sp) /* 0872F0 800866F0 8FB40024 */ lw $s4, 0x24($sp) /* 0872F4 800866F4 8FB50028 */ lw $s5, 0x28($sp) /* 0872F8 800866F8 03E00008 */ jr $ra /* 0872FC 800866FC 27BD0030 */ addiu $sp, $sp, 0x30 glabel func_80086700 /* 087300 80086700 3C0E800E */ lui $t6, %hi(D_800DC548) # $t6, 0x800e /* 087304 80086704 8DCEC548 */ lw $t6, %lo(D_800DC548)($t6) /* 087308 80086708 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 08730C 8008670C AFB00018 */ sw $s0, 0x18($sp) /* 087310 80086710 29C10002 */ slti $at, $t6, 2 /* 087314 80086714 00808025 */ move $s0, $a0 /* 087318 80086718 1020002D */ beqz $at, .L800867D0 /* 08731C 8008671C AFBF001C */ sw $ra, 0x1c($sp) /* 087320 80086720 3C028028 */ lui $v0, %hi(D_802874F5) # $v0, 0x8028 /* 087324 80086724 804274F5 */ lb $v0, %lo(D_802874F5)($v0) /* 087328 80086728 0010C8C0 */ sll $t9, $s0, 3 /* 08732C 8008672C 0330C823 */ subu $t9, $t9, $s0 /* 087330 80086730 1040000E */ beqz $v0, .L8008676C /* 087334 80086734 0019C940 */ sll $t9, $t9, 5 /* 087338 80086738 24010001 */ li $at, 1 /* 08733C 8008673C 10410012 */ beq $v0, $at, .L80086788 /* 087340 80086740 001050C0 */ sll $t2, $s0, 3 /* 087344 80086744 24010002 */ li $at, 2 /* 087348 80086748 10410018 */ beq $v0, $at, .L800867AC /* 08734C 8008674C 001068C0 */ sll $t5, $s0, 3 /* 087350 80086750 000478C0 */ sll $t7, $a0, 3 /* 087354 80086754 01E47823 */ subu $t7, $t7, $a0 /* 087358 80086758 3C188016 */ lui $t8, %hi(D_80165C18) # $t8, 0x8016 /* 08735C 8008675C 27185C18 */ addiu $t8, %lo(D_80165C18) # addiu $t8, $t8, 0x5c18 /* 087360 80086760 000F7940 */ sll $t7, $t7, 5 /* 087364 80086764 10000045 */ b .L8008687C /* 087368 80086768 01F81021 */ addu $v0, $t7, $t8 .L8008676C: /* 08736C 8008676C 3C088016 */ lui $t0, %hi(D_80165C18) # $t0, 0x8016 /* 087370 80086770 25085C18 */ addiu $t0, %lo(D_80165C18) # addiu $t0, $t0, 0x5c18 /* 087374 80086774 3C090B00 */ lui $t1, %hi(D_0B0069D8) # $t1, 0xb00 /* 087378 80086778 252969D8 */ addiu $t1, %lo(D_0B0069D8) # addiu $t1, $t1, 0x69d8 /* 08737C 8008677C 03281021 */ addu $v0, $t9, $t0 /* 087380 80086780 1000003E */ b .L8008687C /* 087384 80086784 AC490070 */ sw $t1, 0x70($v0) .L80086788: /* 087388 80086788 01505023 */ subu $t2, $t2, $s0 /* 08738C 8008678C 3C0B8016 */ lui $t3, %hi(D_80165C18) # $t3, 0x8016 /* 087390 80086790 256B5C18 */ addiu $t3, %lo(D_80165C18) # addiu $t3, $t3, 0x5c18 /* 087394 80086794 000A5140 */ sll $t2, $t2, 5 /* 087398 80086798 3C0C0B00 */ lui $t4, %hi(D_0B006A78) # $t4, 0xb00 /* 08739C 8008679C 258C6A78 */ addiu $t4, %lo(D_0B006A78) # addiu $t4, $t4, 0x6a78 /* 0873A0 800867A0 014B1021 */ addu $v0, $t2, $t3 /* 0873A4 800867A4 10000035 */ b .L8008687C /* 0873A8 800867A8 AC4C0070 */ sw $t4, 0x70($v0) .L800867AC: /* 0873AC 800867AC 01B06823 */ subu $t5, $t5, $s0 /* 0873B0 800867B0 3C0E8016 */ lui $t6, %hi(D_80165C18) # $t6, 0x8016 /* 0873B4 800867B4 25CE5C18 */ addiu $t6, %lo(D_80165C18) # addiu $t6, $t6, 0x5c18 /* 0873B8 800867B8 000D6940 */ sll $t5, $t5, 5 /* 0873BC 800867BC 3C0F0B00 */ lui $t7, %hi(D_0B006B18) # $t7, 0xb00 /* 0873C0 800867C0 25EF6B18 */ addiu $t7, %lo(D_0B006B18) # addiu $t7, $t7, 0x6b18 /* 0873C4 800867C4 01AE1021 */ addu $v0, $t5, $t6 /* 0873C8 800867C8 1000002C */ b .L8008687C /* 0873CC 800867CC AC4F0070 */ sw $t7, 0x70($v0) .L800867D0: /* 0873D0 800867D0 3C028028 */ lui $v0, %hi(D_802874F5) # $v0, 0x8028 /* 0873D4 800867D4 804274F5 */ lb $v0, %lo(D_802874F5)($v0) /* 0873D8 800867D8 1040000D */ beqz $v0, .L80086810 /* 0873DC 800867DC 24010001 */ li $at, 1 /* 0873E0 800867E0 10410015 */ beq $v0, $at, .L80086838 /* 0873E4 800867E4 001058C0 */ sll $t3, $s0, 3 /* 0873E8 800867E8 24010002 */ li $at, 2 /* 0873EC 800867EC 1041001B */ beq $v0, $at, .L8008685C /* 0873F0 800867F0 001070C0 */ sll $t6, $s0, 3 /* 0873F4 800867F4 0010C0C0 */ sll $t8, $s0, 3 /* 0873F8 800867F8 0310C023 */ subu $t8, $t8, $s0 /* 0873FC 800867FC 3C198016 */ lui $t9, %hi(D_80165C18) # $t9, 0x8016 /* 087400 80086800 27395C18 */ addiu $t9, %lo(D_80165C18) # addiu $t9, $t9, 0x5c18 /* 087404 80086804 0018C140 */ sll $t8, $t8, 5 /* 087408 80086808 1000001C */ b .L8008687C /* 08740C 8008680C 03191021 */ addu $v0, $t8, $t9 .L80086810: /* 087410 80086810 001040C0 */ sll $t0, $s0, 3 /* 087414 80086814 01104023 */ subu $t0, $t0, $s0 /* 087418 80086818 3C098016 */ lui $t1, %hi(D_80165C18) # $t1, 0x8016 /* 08741C 8008681C 25295C18 */ addiu $t1, %lo(D_80165C18) # addiu $t1, $t1, 0x5c18 /* 087420 80086820 00084140 */ sll $t0, $t0, 5 /* 087424 80086824 3C0A0B00 */ lui $t2, %hi(D_0B006A28) # $t2, 0xb00 /* 087428 80086828 254A6A28 */ addiu $t2, %lo(D_0B006A28) # addiu $t2, $t2, 0x6a28 /* 08742C 8008682C 01091021 */ addu $v0, $t0, $t1 /* 087430 80086830 10000012 */ b .L8008687C /* 087434 80086834 AC4A0070 */ sw $t2, 0x70($v0) .L80086838: /* 087438 80086838 01705823 */ subu $t3, $t3, $s0 /* 08743C 8008683C 3C0C8016 */ lui $t4, %hi(D_80165C18) # $t4, 0x8016 /* 087440 80086840 258C5C18 */ addiu $t4, %lo(D_80165C18) # addiu $t4, $t4, 0x5c18 /* 087444 80086844 000B5940 */ sll $t3, $t3, 5 /* 087448 80086848 3C0D0B00 */ lui $t5, %hi(D_0B006AC8) # $t5, 0xb00 /* 08744C 8008684C 25AD6AC8 */ addiu $t5, %lo(D_0B006AC8) # addiu $t5, $t5, 0x6ac8 /* 087450 80086850 016C1021 */ addu $v0, $t3, $t4 /* 087454 80086854 10000009 */ b .L8008687C /* 087458 80086858 AC4D0070 */ sw $t5, 0x70($v0) .L8008685C: /* 08745C 8008685C 01D07023 */ subu $t6, $t6, $s0 /* 087460 80086860 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 087464 80086864 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 087468 80086868 000E7140 */ sll $t6, $t6, 5 /* 08746C 8008686C 3C180B00 */ lui $t8, %hi(D_0B006B68) # $t8, 0xb00 /* 087470 80086870 27186B68 */ addiu $t8, %lo(D_0B006B68) # addiu $t8, $t8, 0x6b68 /* 087474 80086874 01CF1021 */ addu $v0, $t6, $t7 /* 087478 80086878 AC580070 */ sw $t8, 0x70($v0) .L8008687C: /* 08747C 8008687C 3C01800F */ lui $at, %hi(D_800EF470) # $at, 0x800f /* 087480 80086880 C424F470 */ lwc1 $f4, %lo(D_800EF470)($at) /* 087484 80086884 3C198018 */ lui $t9, %hi(D_80183F28) # $t9, 0x8018 /* 087488 80086888 3C098016 */ lui $t1, %hi(D_80165C18) # $t1, 0x8016 /* 08748C 8008688C E4440000 */ swc1 $f4, ($v0) /* 087490 80086890 8F393F28 */ lw $t9, %lo(D_80183F28)($t9) /* 087494 80086894 25295C18 */ addiu $t1, %lo(D_80165C18) # addiu $t1, $t1, 0x5c18 /* 087498 80086898 3C014030 */ li $at, 0x40300000 # 2.750000 /* 08749C 8008689C 001940C0 */ sll $t0, $t9, 3 /* 0874A0 800868A0 01194023 */ subu $t0, $t0, $t9 /* 0874A4 800868A4 00084140 */ sll $t0, $t0, 5 /* 0874A8 800868A8 01091821 */ addu $v1, $t0, $t1 /* 0874AC 800868AC C4660008 */ lwc1 $f6, 8($v1) /* 0874B0 800868B0 44815800 */ mtc1 $at, $f11 /* 0874B4 800868B4 44805000 */ mtc1 $zero, $f10 /* 0874B8 800868B8 46003221 */ cvt.d.s $f8, $f6 /* 0874BC 800868BC 8C650004 */ lw $a1, 4($v1) /* 0874C0 800868C0 462A4400 */ add.d $f16, $f8, $f10 /* 0874C4 800868C4 8C67000C */ lw $a3, 0xc($v1) /* 0874C8 800868C8 02002025 */ move $a0, $s0 /* 0874CC 800868CC AFA20020 */ sw $v0, 0x20($sp) /* 0874D0 800868D0 462084A0 */ cvt.s.d $f18, $f16 /* 0874D4 800868D4 44069000 */ mfc1 $a2, $f18 /* 0874D8 800868D8 0C022DF5 */ jal func_8008B7D4 /* 0874DC 800868DC 00000000 */ nop /* 0874E0 800868E0 44800000 */ mtc1 $zero, $f0 /* 0874E4 800868E4 02002025 */ move $a0, $s0 /* 0874E8 800868E8 44050000 */ mfc1 $a1, $f0 /* 0874EC 800868EC 44060000 */ mfc1 $a2, $f0 /* 0874F0 800868F0 44070000 */ mfc1 $a3, $f0 /* 0874F4 800868F4 0C022E03 */ jal func_8008B80C /* 0874F8 800868F8 00000000 */ nop /* 0874FC 800868FC 02002025 */ move $a0, $s0 /* 087500 80086900 00002825 */ move $a1, $zero /* 087504 80086904 00003025 */ move $a2, $zero /* 087508 80086908 0C022E22 */ jal func_8008B888 /* 08750C 8008690C 00003825 */ move $a3, $zero /* 087510 80086910 8FA20020 */ lw $v0, 0x20($sp) /* 087514 80086914 240A0200 */ li $t2, 512 /* 087518 80086918 02002025 */ move $a0, $s0 /* 08751C 8008691C 0C01C922 */ jal func_80072488 /* 087520 80086920 A44A0086 */ sh $t2, 0x86($v0) /* 087524 80086924 0C021B9C */ jal func_80086E70 /* 087528 80086928 02002025 */ move $a0, $s0 /* 08752C 8008692C 8FBF001C */ lw $ra, 0x1c($sp) /* 087530 80086930 8FB00018 */ lw $s0, 0x18($sp) /* 087534 80086934 27BD0028 */ addiu $sp, $sp, 0x28 /* 087538 80086938 03E00008 */ jr $ra /* 08753C 8008693C 00000000 */ nop glabel func_80086940 /* 087540 80086940 000470C0 */ sll $t6, $a0, 3 /* 087544 80086944 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 087548 80086948 01C47023 */ subu $t6, $t6, $a0 /* 08754C 8008694C 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 /* 087550 80086950 AFB00014 */ sw $s0, 0x14($sp) /* 087554 80086954 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 /* 087558 80086958 000E7140 */ sll $t6, $t6, 5 /* 08755C 8008695C 01CF8021 */ addu $s0, $t6, $t7 /* 087560 80086960 961800AE */ lhu $t8, 0xae($s0) /* 087564 80086964 AFB10018 */ sw $s1, 0x18($sp) /* 087568 80086968 00808825 */ move $s1, $a0 /* 08756C 8008696C 2F010008 */ sltiu $at, $t8, 8 /* 087570 80086970 1020008F */ beqz $at, .L80086BB0 /* 087574 80086974 AFBF001C */ sw $ra, 0x1c($sp) /* 087578 80086978 0018C080 */ sll $t8, $t8, 2 /* 08757C 8008697C 3C01800F */ lui $at, %hi(D_800EF474) /* 087580 80086980 00380821 */ addu $at, $at, $t8 /* 087584 80086984 8C38F474 */ lw $t8, %lo(D_800EF474)($at) /* 087588 80086988 03000008 */ jr $t8 /* 08758C 8008698C 00000000 */ nop glabel L80086990 /* 087590 80086990 0C021BF5 */ jal func_80086FD4 /* 087594 80086994 02202025 */ move $a0, $s1 /* 087598 80086998 10000085 */ b .L80086BB0 /* 08759C 8008699C 00000000 */ nop glabel L800869A0 /* 0875A0 800869A0 3C053CCC */ lui $a1, (0x3CCCCCCD >> 16) # lui $a1, 0x3ccc /* 0875A4 800869A4 3C063A83 */ lui $a2, (0x3A83126F >> 16) # lui $a2, 0x3a83 /* 0875A8 800869A8 34C6126F */ ori $a2, (0x3A83126F & 0xFFFF) # ori $a2, $a2, 0x126f /* 0875AC 800869AC 34A5CCCD */ ori $a1, (0x3CCCCCCD & 0xFFFF) # ori $a1, $a1, 0xcccd /* 0875B0 800869B0 0C0104EE */ jal func_800413B8 /* 0875B4 800869B4 02002025 */ move $a0, $s0 /* 0875B8 800869B8 3C063DCC */ lui $a2, (0x3DCCCCCD >> 16) # lui $a2, 0x3dcc /* 0875BC 800869BC 34C6CCCD */ ori $a2, (0x3DCCCCCD & 0xFFFF) # ori $a2, $a2, 0xcccd /* 0875C0 800869C0 02202025 */ move $a0, $s1 /* 0875C4 800869C4 3C0540C0 */ lui $a1, 0x40c0 /* 0875C8 800869C8 0C021F12 */ jal func_80087C48 /* 0875CC 800869CC 240700C8 */ li $a3, 200 /* 0875D0 800869D0 C606003C */ lwc1 $f6, 0x3c($s0) /* 0875D4 800869D4 44802800 */ mtc1 $zero, $f5 /* 0875D8 800869D8 44802000 */ mtc1 $zero, $f4 /* 0875DC 800869DC 46003221 */ cvt.d.s $f8, $f6 /* 0875E0 800869E0 02202025 */ move $a0, $s1 /* 0875E4 800869E4 4624403E */ c.le.d $f8, $f4 /* 0875E8 800869E8 00000000 */ nop /* 0875EC 800869EC 45000070 */ bc1f .L80086BB0 /* 0875F0 800869F0 00000000 */ nop /* 0875F4 800869F4 0C021C07 */ jal func_8008701C /* 0875F8 800869F8 24050003 */ li $a1, 3 /* 0875FC 800869FC 1000006C */ b .L80086BB0 /* 087600 80086A00 00000000 */ nop glabel L80086A04 /* 087604 80086A04 02202025 */ move $a0, $s1 /* 087608 80086A08 0C021C6B */ jal func_800871AC /* 08760C 80086A0C 24050064 */ li $a1, 100 /* 087610 80086A10 10000067 */ b .L80086BB0 /* 087614 80086A14 00000000 */ nop glabel L80086A18 /* 087618 80086A18 24190001 */ li $t9, 1 /* 08761C 80086A1C 3C018016 */ lui $at, %hi(D_801658D6) # $at, 0x8016 /* 087620 80086A20 A03958D6 */ sb $t9, %lo(D_801658D6)($at) /* 087624 80086A24 3C01800F */ lui $at, %hi(D_800EF494) # $at, 0x800f /* 087628 80086A28 C42AF494 */ lwc1 $f10, %lo(D_800EF494)($at) /* 08762C 80086A2C 02202025 */ move $a0, $s1 /* 087630 80086A30 0C021BF5 */ jal func_80086FD4 /* 087634 80086A34 E60A003C */ swc1 $f10, 0x3c($s0) /* 087638 80086A38 3C0142B4 */ li $at, 0x42B40000 # 90.000000 /* 08763C 80086A3C 44818000 */ mtc1 $at, $f16 /* 087640 80086A40 3C014270 */ li $at, 0x42700000 # 60.000000 /* 087644 80086A44 44819000 */ mtc1 $at, $f18 /* 087648 80086A48 3C028028 */ lui $v0, %hi(D_802874F5) # $v0, 0x8028 /* 08764C 80086A4C E6100014 */ swc1 $f16, 0x14($s0) /* 087650 80086A50 E612002C */ swc1 $f18, 0x2c($s0) /* 087654 80086A54 804274F5 */ lb $v0, %lo(D_802874F5)($v0) /* 087658 80086A58 24010001 */ li $at, 1 /* 08765C 80086A5C 10410005 */ beq $v0, $at, .L80086A74 /* 087660 80086A60 24010002 */ li $at, 2 /* 087664 80086A64 50410015 */ beql $v0, $at, .L80086ABC /* 087668 80086A68 C6100010 */ lwc1 $f16, 0x10($s0) /* 08766C 80086A6C 10000050 */ b .L80086BB0 /* 087670 80086A70 00000000 */ nop .L80086A74: /* 087674 80086A74 C6060010 */ lwc1 $f6, 0x10($s0) /* 087678 80086A78 3C014008 */ li $at, 0x40080000 # 2.125000 /* 08767C 80086A7C 44814800 */ mtc1 $at, $f9 /* 087680 80086A80 44804000 */ mtc1 $zero, $f8 /* 087684 80086A84 46003121 */ cvt.d.s $f4, $f6 /* 087688 80086A88 C6120018 */ lwc1 $f18, 0x18($s0) /* 08768C 80086A8C 46282281 */ sub.d $f10, $f4, $f8 /* 087690 80086A90 3C01402E */ li $at, 0x402E0000 # 2.718750 /* 087694 80086A94 44812800 */ mtc1 $at, $f5 /* 087698 80086A98 44802000 */ mtc1 $zero, $f4 /* 08769C 80086A9C 460091A1 */ cvt.d.s $f6, $f18 /* 0876A0 80086AA0 46205420 */ cvt.s.d $f16, $f10 /* 0876A4 80086AA4 46243200 */ add.d $f8, $f6, $f4 /* 0876A8 80086AA8 E6100010 */ swc1 $f16, 0x10($s0) /* 0876AC 80086AAC 462042A0 */ cvt.s.d $f10, $f8 /* 0876B0 80086AB0 1000003F */ b .L80086BB0 /* 0876B4 80086AB4 E60A0018 */ swc1 $f10, 0x18($s0) /* 0876B8 80086AB8 C6100010 */ lwc1 $f16, 0x10($s0) .L80086ABC: /* 0876BC 80086ABC 3C014000 */ li $at, 0x40000000 # 2.000000 /* 0876C0 80086AC0 44813800 */ mtc1 $at, $f7 /* 0876C4 80086AC4 44803000 */ mtc1 $zero, $f6 /* 0876C8 80086AC8 460084A1 */ cvt.d.s $f18, $f16 /* 0876CC 80086ACC C60A0018 */ lwc1 $f10, 0x18($s0) /* 0876D0 80086AD0 46269101 */ sub.d $f4, $f18, $f6 /* 0876D4 80086AD4 3C01402E */ li $at, 0x402E0000 # 2.718750 /* 0876D8 80086AD8 44819800 */ mtc1 $at, $f19 /* 0876DC 80086ADC 44809000 */ mtc1 $zero, $f18 /* 0876E0 80086AE0 46005421 */ cvt.d.s $f16, $f10 /* 0876E4 80086AE4 46202220 */ cvt.s.d $f8, $f4 /* 0876E8 80086AE8 46328181 */ sub.d $f6, $f16, $f18 /* 0876EC 80086AEC E6080010 */ swc1 $f8, 0x10($s0) /* 0876F0 80086AF0 46203120 */ cvt.s.d $f4, $f6 /* 0876F4 80086AF4 1000002E */ b .L80086BB0 /* 0876F8 80086AF8 E6040018 */ swc1 $f4, 0x18($s0) glabel L80086AFC /* 0876FC 80086AFC C60A002C */ lwc1 $f10, 0x2c($s0) /* 087700 80086B00 3C014020 */ li $at, 0x40200000 # 2.500000 /* 087704 80086B04 44814800 */ mtc1 $at, $f9 /* 087708 80086B08 44804000 */ mtc1 $zero, $f8 /* 08770C 80086B0C 46005421 */ cvt.d.s $f16, $f10 /* 087710 80086B10 3C05BDCC */ lui $a1, (0xBDCCCCCD >> 16) # lui $a1, 0xbdcc /* 087714 80086B14 4628803E */ c.le.d $f16, $f8 /* 087718 80086B18 34A5CCCD */ ori $a1, (0xBDCCCCCD & 0xFFFF) # ori $a1, $a1, 0xcccd /* 08771C 80086B1C 2604003C */ addiu $a0, $s0, 0x3c /* 087720 80086B20 3C06BC23 */ lui $a2, (0xBC23D70A >> 16) # lui $a2, 0xbc23 /* 087724 80086B24 45000003 */ bc1f .L80086B34 /* 087728 80086B28 00000000 */ nop /* 08772C 80086B2C 0C0104EE */ jal func_800413B8 /* 087730 80086B30 34C6D70A */ ori $a2, (0xBC23D70A & 0xFFFF) # ori $a2, $a2, 0xd70a .L80086B34: /* 087734 80086B34 0C021DF1 */ jal func_800877C4 /* 087738 80086B38 02202025 */ move $a0, $s1 /* 08773C 80086B3C C606002C */ lwc1 $f6, 0x2c($s0) /* 087740 80086B40 44809800 */ mtc1 $zero, $f19 /* 087744 80086B44 44809000 */ mtc1 $zero, $f18 /* 087748 80086B48 46003121 */ cvt.d.s $f4, $f6 /* 08774C 80086B4C 4632203E */ c.le.d $f4, $f18 /* 087750 80086B50 00000000 */ nop /* 087754 80086B54 45000016 */ bc1f .L80086BB0 /* 087758 80086B58 00000000 */ nop /* 08775C 80086B5C 0C021BF5 */ jal func_80086FD4 /* 087760 80086B60 02202025 */ move $a0, $s1 /* 087764 80086B64 10000012 */ b .L80086BB0 /* 087768 80086B68 00000000 */ nop glabel L80086B6C /* 08776C 80086B6C 02202025 */ move $a0, $s1 /* 087770 80086B70 0C021C6B */ jal func_800871AC /* 087774 80086B74 24050041 */ li $a1, 65 /* 087778 80086B78 1040000D */ beqz $v0, .L80086BB0 /* 08777C 80086B7C 24080001 */ li $t0, 1 /* 087780 80086B80 3C018016 */ lui $at, %hi(D_801658F4) # $at, 0x8016 /* 087784 80086B84 1000000A */ b .L80086BB0 /* 087788 80086B88 A02858F4 */ sb $t0, %lo(D_801658F4)($at) glabel L80086B8C /* 08778C 80086B8C 02202025 */ move $a0, $s1 /* 087790 80086B90 0C021C6B */ jal func_800871AC /* 087794 80086B94 24050064 */ li $a1, 100 /* 087798 80086B98 10400005 */ beqz $v0, .L80086BB0 /* 08779C 80086B9C 00000000 */ nop /* 0877A0 80086BA0 0C024997 */ jal func_8009265C /* 0877A4 80086BA4 00000000 */ nop /* 0877A8 80086BA8 0C021BD8 */ jal func_80086F60 /* 0877AC 80086BAC 02202025 */ move $a0, $s1 .L80086BB0: glabel L80086BB0 /* 0877B0 80086BB0 3C098016 */ lui $t1, %hi(D_801658D6) # $t1, 0x8016 /* 0877B4 80086BB4 812958D6 */ lb $t1, %lo(D_801658D6)($t1) /* 0877B8 80086BB8 340CE800 */ li $t4, 59392 /* 0877BC 80086BBC 340DDA00 */ li $t5, 55808 /* 0877C0 80086BC0 51200008 */ beql $t1, $zero, .L80086BE4 /* 0877C4 80086BC4 960E00BE */ lhu $t6, 0xbe($s0) /* 0877C8 80086BC8 960A00BE */ lhu $t2, 0xbe($s0) /* 0877CC 80086BCC A60C00C0 */ sh $t4, 0xc0($s0) /* 0877D0 80086BD0 A60D00C2 */ sh $t5, 0xc2($s0) /* 0877D4 80086BD4 254B0400 */ addiu $t3, $t2, 0x400 /* 0877D8 80086BD8 10000007 */ b .L80086BF8 /* 0877DC 80086BDC A60B00BE */ sh $t3, 0xbe($s0) /* 0877E0 80086BE0 960E00BE */ lhu $t6, 0xbe($s0) .L80086BE4: /* 0877E4 80086BE4 961800C0 */ lhu $t8, 0xc0($s0) /* 0877E8 80086BE8 25CF0400 */ addiu $t7, $t6, 0x400 /* 0877EC 80086BEC 2719FE00 */ addiu $t9, $t8, -0x200 /* 0877F0 80086BF0 A60F00BE */ sh $t7, 0xbe($s0) /* 0877F4 80086BF4 A61900C0 */ sh $t9, 0xc0($s0) .L80086BF8: /* 0877F8 80086BF8 0C022FC6 */ jal func_8008BF18 /* 0877FC 80086BFC 02202025 */ move $a0, $s1 /* 087800 80086C00 8FBF001C */ lw $ra, 0x1c($sp) /* 087804 80086C04 8FB00014 */ lw $s0, 0x14($sp) /* 087808 80086C08 8FB10018 */ lw $s1, 0x18($sp) /* 08780C 80086C0C 03E00008 */ jr $ra /* 087810 80086C10 27BD0020 */ addiu $sp, $sp, 0x20 glabel func_80086C14 /* 087814 80086C14 000470C0 */ sll $t6, $a0, 3 /* 087818 80086C18 01C47023 */ subu $t6, $t6, $a0 /* 08781C 80086C1C 000E7140 */ sll $t6, $t6, 5 /* 087820 80086C20 3C028016 */ lui $v0, %hi(D_80165CBE) # 0x8016 /* 087824 80086C24 004E1021 */ addu $v0, $v0, $t6 /* 087828 80086C28 84425CBE */ lh $v0, %lo(D_80165CBE)($v0) # 0x5cbe($v0) /* 08782C 80086C2C 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 087830 80086C30 AFBF0014 */ sw $ra, 0x14($sp) /* 087834 80086C34 10400009 */ beqz $v0, .L80086C5C /* 087838 80086C38 24010001 */ li $at, 1 /* 08783C 80086C3C 10410005 */ beq $v0, $at, .L80086C54 /* 087840 80086C40 24010002 */ li $at, 2 /* 087844 80086C44 50410006 */ beql $v0, $at, .L80086C60 /* 087848 80086C48 8FBF0014 */ lw $ra, 0x14($sp) /* 08784C 80086C4C 10000004 */ b .L80086C60 /* 087850 80086C50 8FBF0014 */ lw $ra, 0x14($sp) .L80086C54: /* 087854 80086C54 0C0219C0 */ jal func_80086700 /* 087858 80086C58 00000000 */ nop .L80086C5C: /* 08785C 80086C5C 8FBF0014 */ lw $ra, 0x14($sp) .L80086C60: /* 087860 80086C60 27BD0018 */ addiu $sp, $sp, 0x18 /* 087864 80086C64 03E00008 */ jr $ra /* 087868 80086C68 00000000 */ nop glabel func_80086C6C /* 08786C 80086C6C 27BDFFD0 */ addiu $sp, $sp, -0x30 /* 087870 80086C70 AFBF0014 */ sw $ra, 0x14($sp) /* 087874 80086C74 AFA40030 */ sw $a0, 0x30($sp) /* 087878 80086C78 0C0ADF8D */ jal random_int /* 08787C 80086C7C 2404000A */ li $a0, 10 /* 087880 80086C80 8FAE0030 */ lw $t6, 0x30($sp) /* 087884 80086C84 3C188016 */ lui $t8, %hi(D_80165C18) # $t8, 0x8016 /* 087888 80086C88 27185C18 */ addiu $t8, %lo(D_80165C18) # addiu $t8, $t8, 0x5c18 /* 08788C 80086C8C 000E78C0 */ sll $t7, $t6, 3 /* 087890 80086C90 01EE7823 */ subu $t7, $t7, $t6 /* 087894 80086C94 000F7940 */ sll $t7, $t7, 5 /* 087898 80086C98 01F81821 */ addu $v1, $t7, $t8 /* 08789C 80086C9C 3C0140A0 */ li $at, 0x40A00000 # 5.000000 /* 0878A0 80086CA0 44813000 */ mtc1 $at, $f6 /* 0878A4 80086CA4 C4640004 */ lwc1 $f4, 4($v1) /* 0878A8 80086CA8 44825000 */ mtc1 $v0, $f10 /* 0878AC 80086CAC 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 /* 0878B0 80086CB0 46062201 */ sub.s $f8, $f4, $f6 /* 0878B4 80086CB4 04410004 */ bgez $v0, .L80086CC8 /* 0878B8 80086CB8 46805420 */ cvt.s.w $f16, $f10 /* 0878BC 80086CBC 44819000 */ mtc1 $at, $f18 /* 0878C0 80086CC0 00000000 */ nop /* 0878C4 80086CC4 46128400 */ add.s $f16, $f16, $f18 .L80086CC8: /* 0878C8 80086CC8 46088100 */ add.s $f4, $f16, $f8 /* 0878CC 80086CCC 2404000A */ li $a0, 10 /* 0878D0 80086CD0 AFA30020 */ sw $v1, 0x20($sp) /* 0878D4 80086CD4 0C0ADF8D */ jal random_int /* 0878D8 80086CD8 E7A40024 */ swc1 $f4, 0x24($sp) /* 0878DC 80086CDC 8FA30020 */ lw $v1, 0x20($sp) /* 0878E0 80086CE0 3C0140A0 */ li $at, 0x40A00000 # 5.000000 /* 0878E4 80086CE4 44815000 */ mtc1 $at, $f10 /* 0878E8 80086CE8 44828000 */ mtc1 $v0, $f16 /* 0878EC 80086CEC C466000C */ lwc1 $f6, 0xc($v1) /* 0878F0 80086CF0 3C058016 */ lui $a1, %hi(D_801658F4) # $a1, 0x8016 /* 0878F4 80086CF4 27A40024 */ addiu $a0, $sp, 0x24 /* 0878F8 80086CF8 460A3481 */ sub.s $f18, $f6, $f10 /* 0878FC 80086CFC 04410005 */ bgez $v0, .L80086D14 /* 087900 80086D00 46808220 */ cvt.s.w $f8, $f16 /* 087904 80086D04 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 /* 087908 80086D08 44812000 */ mtc1 $at, $f4 /* 08790C 80086D0C 00000000 */ nop /* 087910 80086D10 46044200 */ add.s $f8, $f8, $f4 .L80086D14: /* 087914 80086D14 46124180 */ add.s $f6, $f8, $f18 /* 087918 80086D18 80A558F4 */ lb $a1, %lo(D_801658F4)($a1) /* 08791C 80086D1C 3C014000 */ li $at, 0x40000000 # 2.000000 /* 087920 80086D20 10A0000A */ beqz $a1, .L80086D4C /* 087924 80086D24 E7A6002C */ swc1 $f6, 0x2c($sp) /* 087928 80086D28 C46A0008 */ lwc1 $f10, 8($v1) /* 08792C 80086D2C 3C01402C */ li $at, 0x402C0000 # 2.687500 /* 087930 80086D30 44812800 */ mtc1 $at, $f5 /* 087934 80086D34 44802000 */ mtc1 $zero, $f4 /* 087938 80086D38 46005421 */ cvt.d.s $f16, $f10 /* 08793C 80086D3C 46248200 */ add.d $f8, $f16, $f4 /* 087940 80086D40 462044A0 */ cvt.s.d $f18, $f8 /* 087944 80086D44 10000008 */ b .L80086D68 /* 087948 80086D48 E7B20028 */ swc1 $f18, 0x28($sp) .L80086D4C: /* 08794C 80086D4C C4660008 */ lwc1 $f6, 8($v1) /* 087950 80086D50 44818800 */ mtc1 $at, $f17 /* 087954 80086D54 44808000 */ mtc1 $zero, $f16 /* 087958 80086D58 460032A1 */ cvt.d.s $f10, $f6 /* 08795C 80086D5C 46305101 */ sub.d $f4, $f10, $f16 /* 087960 80086D60 46202220 */ cvt.s.d $f8, $f4 /* 087964 80086D64 E7A80028 */ swc1 $f8, 0x28($sp) .L80086D68: /* 087968 80086D68 0C01DCF6 */ jal func_800773D8 /* 08796C 80086D6C 00000000 */ nop /* 087970 80086D70 8FBF0014 */ lw $ra, 0x14($sp) /* 087974 80086D74 27BD0030 */ addiu $sp, $sp, 0x30 /* 087978 80086D78 03E00008 */ jr $ra /* 08797C 80086D7C 00000000 */ nop glabel func_80086D80 /* 087980 80086D80 3C0E8016 */ lui $t6, %hi(D_801658CE) # $t6, 0x8016 /* 087984 80086D84 81CE58CE */ lb $t6, %lo(D_801658CE)($t6) /* 087988 80086D88 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 08798C 80086D8C AFBF0024 */ sw $ra, 0x24($sp) /* 087990 80086D90 AFB20020 */ sw $s2, 0x20($sp) /* 087994 80086D94 AFB1001C */ sw $s1, 0x1c($sp) /* 087998 80086D98 11C0000C */ beqz $t6, .L80086DCC /* 08799C 80086D9C AFB00018 */ sw $s0, 0x18($sp) /* 0879A0 80086DA0 3C108016 */ lui $s0, %hi(D_801658DC) # $s0, 0x8016 /* 0879A4 80086DA4 261058DC */ addiu $s0, %lo(D_801658DC) # addiu $s0, $s0, 0x58dc /* 0879A8 80086DA8 820F0000 */ lb $t7, ($s0) /* 0879AC 80086DAC 3C128018 */ lui $s2, %hi(D_80183EAC) # $s2, 0x8018 /* 0879B0 80086DB0 00002825 */ move $a1, $zero /* 0879B4 80086DB4 15E00005 */ bnez $t7, .L80086DCC /* 0879B8 80086DB8 00000000 */ nop /* 0879BC 80086DBC 0C01C8E9 */ jal func_800723A4 /* 0879C0 80086DC0 8E443EAC */ lw $a0, %lo(D_80183EAC)($s2) /* 0879C4 80086DC4 24180001 */ li $t8, 1 /* 0879C8 80086DC8 A2180000 */ sb $t8, ($s0) .L80086DCC: /* 0879CC 80086DCC 3C128018 */ lui $s2, %hi(D_80183EAC) # $s2, 0x8018 /* 0879D0 80086DD0 8E523EAC */ lw $s2, %lo(D_80183EAC)($s2) /* 0879D4 80086DD4 3C088016 */ lui $t0, %hi(D_80165CBE) # 0x8016 /* 0879D8 80086DD8 0012C8C0 */ sll $t9, $s2, 3 /* 0879DC 80086DDC 0332C823 */ subu $t9, $t9, $s2 /* 0879E0 80086DE0 0019C940 */ sll $t9, $t9, 5 /* 0879E4 80086DE4 01194021 */ addu $t0, $t0, $t9 /* 0879E8 80086DE8 85085CBE */ lh $t0, %lo(D_80165CBE)($t0) # 0x5cbe($t0) /* 0879EC 80086DEC 51000018 */ beql $t0, $zero, .L80086E50 /* 0879F0 80086DF0 8FBF0024 */ lw $ra, 0x24($sp) /* 0879F4 80086DF4 0C021B05 */ jal func_80086C14 /* 0879F8 80086DF8 02402025 */ move $a0, $s2 /* 0879FC 80086DFC 0C021A50 */ jal func_80086940 /* 087A00 80086E00 02402025 */ move $a0, $s2 /* 087A04 80086E04 3C098016 */ lui $t1, %hi(D_801658F4) # $t1, 0x8016 /* 087A08 80086E08 812958F4 */ lb $t1, %lo(D_801658F4)($t1) /* 087A0C 80086E0C 3C0A8016 */ lui $t2, %hi(D_8016559C) # $t2, 0x8016 /* 087A10 80086E10 00008025 */ move $s0, $zero /* 087A14 80086E14 11200008 */ beqz $t1, .L80086E38 /* 087A18 80086E18 24110002 */ li $s1, 2 /* 087A1C 80086E1C 8D4A559C */ lw $t2, %lo(D_8016559C)($t2) /* 087A20 80086E20 5540000B */ bnel $t2, $zero, .L80086E50 /* 087A24 80086E24 8FBF0024 */ lw $ra, 0x24($sp) /* 087A28 80086E28 0C021B1B */ jal func_80086C6C /* 087A2C 80086E2C 02402025 */ move $a0, $s2 /* 087A30 80086E30 10000007 */ b .L80086E50 /* 087A34 80086E34 8FBF0024 */ lw $ra, 0x24($sp) .L80086E38: /* 087A38 80086E38 0C021B1B */ jal func_80086C6C /* 087A3C 80086E3C 02402025 */ move $a0, $s2 /* 087A40 80086E40 26100001 */ addiu $s0, $s0, 1 /* 087A44 80086E44 1611FFFC */ bne $s0, $s1, .L80086E38 /* 087A48 80086E48 00000000 */ nop /* 087A4C 80086E4C 8FBF0024 */ lw $ra, 0x24($sp) .L80086E50: /* 087A50 80086E50 8FB00018 */ lw $s0, 0x18($sp) /* 087A54 80086E54 8FB1001C */ lw $s1, 0x1c($sp) /* 087A58 80086E58 8FB20020 */ lw $s2, 0x20($sp) /* 087A5C 80086E5C 03E00008 */ jr $ra /* 087A60 80086E60 27BD0028 */ addiu $sp, $sp, 0x28 /* 087A64 80086E64 00000000 */ nop /* 087A68 80086E68 00000000 */ nop /* 087A6C 80086E6C 00000000 */ nop