perfect_dark/src/lib/lib_44f60.c

1090 lines
42 KiB
C

#include <ultra64.h>
#include "constants.h"
#include "game/data/data_000000.h"
#include "game/data/data_0083d0.h"
#include "game/data/data_00e460.h"
#include "game/data/data_0160b0.h"
#include "game/data/data_01a3a0.h"
#include "game/data/data_020df0.h"
#include "game/data/data_02da90.h"
#include "gvars/gvars.h"
#include "lib/lib_3a100.h"
#include "lib/lib_44f60.h"
#include "lib/lib_47a90.h"
#include "lib/lib_4a360.h"
#include "lib/lib_4b170.h"
#include "types.h"
GLOBAL_ASM(
glabel func00044f60
/* 44f60: 27bdff80 */ addiu $sp,$sp,-128
/* 44f64: afbf002c */ sw $ra,0x2c($sp)
/* 44f68: afa40080 */ sw $a0,0x80($sp)
/* 44f6c: afa50084 */ sw $a1,0x84($sp)
/* 44f70: afa60088 */ sw $a2,0x88($sp)
/* 44f74: afa7008c */ sw $a3,0x8c($sp)
/* 44f78: afb00028 */ sw $s0,0x28($sp)
/* 44f7c: 8fae008c */ lw $t6,0x8c($sp)
/* 44f80: afae007c */ sw $t6,0x7c($sp)
/* 44f84: afa0004c */ sw $zero,0x4c($sp)
/* 44f88: afa00048 */ sw $zero,0x48($sp)
/* 44f8c: 8faf0080 */ lw $t7,0x80($sp)
/* 44f90: afaf0044 */ sw $t7,0x44($sp)
/* 44f94: 8fb80088 */ lw $t8,0x88($sp)
/* 44f98: 17000003 */ bnez $t8,.L00044fa8
/* 44f9c: 00000000 */ nop
/* 44fa0: 10000194 */ b .L000455f4
/* 44fa4: 8fa2007c */ lw $v0,0x7c($sp)
.L00044fa8:
/* 44fa8: a7a0007a */ sh $zero,0x7a($sp)
/* 44fac: 8fb9007c */ lw $t9,0x7c($sp)
/* 44fb0: 27280008 */ addiu $t0,$t9,0x8
/* 44fb4: afa8007c */ sw $t0,0x7c($sp)
/* 44fb8: afb90040 */ sw $t9,0x40($sp)
/* 44fbc: 8fa90044 */ lw $t1,0x44($sp)
/* 44fc0: 3c0100ff */ lui $at,0xff
/* 44fc4: 3421ffff */ ori $at,$at,0xffff
/* 44fc8: 8d2a0024 */ lw $t2,0x24($t1)
/* 44fcc: 8fad0040 */ lw $t5,0x40($sp)
/* 44fd0: 01415824 */ and $t3,$t2,$at
/* 44fd4: 3c010b00 */ lui $at,0xb00
/* 44fd8: 01616025 */ or $t4,$t3,$at
/* 44fdc: adac0000 */ sw $t4,0x0($t5)
/* 44fe0: 8fae0044 */ lw $t6,0x44($sp)
/* 44fe4: 8fa90040 */ lw $t1,0x40($sp)
/* 44fe8: 3c011fff */ lui $at,0x1fff
/* 44fec: 8dcf0020 */ lw $t7,0x20($t6)
/* 44ff0: 3421ffff */ ori $at,$at,0xffff
/* 44ff4: 8df80010 */ lw $t8,0x10($t7)
/* 44ff8: 27190008 */ addiu $t9,$t8,0x8
/* 44ffc: 03214024 */ and $t0,$t9,$at
/* 45000: ad280004 */ sw $t0,0x4($t1)
/* 45004: 8faa0044 */ lw $t2,0x44($sp)
/* 45008: 8fac0088 */ lw $t4,0x88($sp)
/* 4500c: 8d4b0030 */ lw $t3,0x30($t2)
/* 45010: 8d4e0018 */ lw $t6,0x18($t2)
/* 45014: 016c6821 */ addu $t5,$t3,$t4
/* 45018: 01cd802b */ sltu $s0,$t6,$t5
/* 4501c: 12000003 */ beqz $s0,.L0004502c
/* 45020: 00000000 */ nop
/* 45024: 8d50001c */ lw $s0,0x1c($t2)
/* 45028: 0010802b */ sltu $s0,$zero,$s0
.L0004502c:
/* 4502c: afb00048 */ sw $s0,0x48($sp)
/* 45030: 8faf0048 */ lw $t7,0x48($sp)
/* 45034: 11e00007 */ beqz $t7,.L00045054
/* 45038: 00000000 */ nop
/* 4503c: 8fb80044 */ lw $t8,0x44($sp)
/* 45040: 8f190018 */ lw $t9,0x18($t8)
/* 45044: 8f080030 */ lw $t0,0x30($t8)
/* 45048: 03284823 */ subu $t1,$t9,$t0
/* 4504c: 10000003 */ b .L0004505c
/* 45050: afa9005c */ sw $t1,0x5c($sp)
.L00045054:
/* 45054: 8fab0088 */ lw $t3,0x88($sp)
/* 45058: afab005c */ sw $t3,0x5c($sp)
.L0004505c:
/* 4505c: 8fac0044 */ lw $t4,0x44($sp)
/* 45060: 8d8d0034 */ lw $t5,0x34($t4)
/* 45064: 11a00007 */ beqz $t5,.L00045084
/* 45068: 00000000 */ nop
/* 4506c: 8fae0044 */ lw $t6,0x44($sp)
/* 45070: 240f0010 */ addiu $t7,$zero,0x10
/* 45074: 8dca0034 */ lw $t2,0x34($t6)
/* 45078: 01eac023 */ subu $t8,$t7,$t2
/* 4507c: 10000002 */ b .L00045088
/* 45080: afb80054 */ sw $t8,0x54($sp)
.L00045084:
/* 45084: afa00054 */ sw $zero,0x54($sp)
.L00045088:
/* 45088: 8fb9005c */ lw $t9,0x5c($sp)
/* 4508c: 8fa80054 */ lw $t0,0x54($sp)
/* 45090: 03284823 */ subu $t1,$t9,$t0
/* 45094: afa90074 */ sw $t1,0x74($sp)
/* 45098: 8fab0074 */ lw $t3,0x74($sp)
/* 4509c: 05610002 */ bgez $t3,.L000450a8
/* 450a0: 00000000 */ nop
/* 450a4: afa00074 */ sw $zero,0x74($sp)
.L000450a8:
/* 450a8: 8fac0074 */ lw $t4,0x74($sp)
/* 450ac: 258d000f */ addiu $t5,$t4,0xf
/* 450b0: 000d7103 */ sra $t6,$t5,0x4
/* 450b4: afae0070 */ sw $t6,0x70($sp)
/* 450b8: 8faf0070 */ lw $t7,0x70($sp)
/* 450bc: 000f50c0 */ sll $t2,$t7,0x3
/* 450c0: 014f5021 */ addu $t2,$t2,$t7
/* 450c4: afaa006c */ sw $t2,0x6c($sp)
/* 450c8: 8fb80048 */ lw $t8,0x48($sp)
/* 450cc: 130000b6 */ beqz $t8,.L000453a8
/* 450d0: 00000000 */ nop
/* 450d4: 8fa80084 */ lw $t0,0x84($sp)
/* 450d8: 87ab007a */ lh $t3,0x7a($sp)
/* 450dc: 8fb90044 */ lw $t9,0x44($sp)
/* 450e0: 85090000 */ lh $t1,0x0($t0)
/* 450e4: afab0014 */ sw $t3,0x14($sp)
/* 450e8: 8fa4007c */ lw $a0,0x7c($sp)
/* 450ec: afa90010 */ sw $t1,0x10($sp)
/* 450f0: 8f2c0038 */ lw $t4,0x38($t9)
/* 450f4: 8fa60074 */ lw $a2,0x74($sp)
/* 450f8: 8fa7006c */ lw $a3,0x6c($sp)
/* 450fc: 03202825 */ or $a1,$t9,$zero
/* 45100: 0c01163e */ jal func000458f8
/* 45104: afac0018 */ sw $t4,0x18($sp)
/* 45108: afa2007c */ sw $v0,0x7c($sp)
/* 4510c: 8fad0044 */ lw $t5,0x44($sp)
/* 45110: 8dae0034 */ lw $t6,0x34($t5)
/* 45114: 11c00009 */ beqz $t6,.L0004513c
/* 45118: 00000000 */ nop
/* 4511c: 8fb80044 */ lw $t8,0x44($sp)
/* 45120: 8faf0084 */ lw $t7,0x84($sp)
/* 45124: 8f080034 */ lw $t0,0x34($t8)
/* 45128: 85ea0000 */ lh $t2,0x0($t7)
/* 4512c: 00084840 */ sll $t1,$t0,0x1
/* 45130: 01495821 */ addu $t3,$t2,$t1
/* 45134: 10000005 */ b .L0004514c
/* 45138: a5eb0000 */ sh $t3,0x0($t7)
.L0004513c:
/* 4513c: 8fb90084 */ lw $t9,0x84($sp)
/* 45140: 872c0000 */ lh $t4,0x0($t9)
/* 45144: 258d0020 */ addiu $t5,$t4,0x20
/* 45148: a72d0000 */ sh $t5,0x0($t9)
.L0004514c:
/* 4514c: 8fae0044 */ lw $t6,0x44($sp)
/* 45150: 8dd80014 */ lw $t8,0x14($t6)
/* 45154: 3308000f */ andi $t0,$t8,0xf
/* 45158: adc80034 */ sw $t0,0x34($t6)
/* 4515c: 8faa0044 */ lw $t2,0x44($sp)
/* 45160: 8d490020 */ lw $t1,0x20($t2)
/* 45164: 8d4f0014 */ lw $t7,0x14($t2)
/* 45168: 8d2b0000 */ lw $t3,0x0($t1)
/* 4516c: 000f6102 */ srl $t4,$t7,0x4
/* 45170: 000c68c0 */ sll $t5,$t4,0x3
/* 45174: 01ac6821 */ addu $t5,$t5,$t4
/* 45178: 016dc821 */ addu $t9,$t3,$t5
/* 4517c: 27380009 */ addiu $t8,$t9,0x9
/* 45180: ad58003c */ sw $t8,0x3c($t2)
/* 45184: 8fa80044 */ lw $t0,0x44($sp)
/* 45188: 8d0e0014 */ lw $t6,0x14($t0)
/* 4518c: ad0e0030 */ sw $t6,0x30($t0)
/* 45190: 8fa90084 */ lw $t1,0x84($sp)
/* 45194: 852f0000 */ lh $t7,0x0($t1)
/* 45198: afaf0050 */ sw $t7,0x50($sp)
/* 4519c: 8fac0088 */ lw $t4,0x88($sp)
/* 451a0: 8fab005c */ lw $t3,0x5c($sp)
/* 451a4: 016c082a */ slt $at,$t3,$t4
/* 451a8: 1020006b */ beqz $at,.L00045358
/* 451ac: 00000000 */ nop
.L000451b0:
/* 451b0: 8fad0088 */ lw $t5,0x88($sp)
/* 451b4: 8fb9005c */ lw $t9,0x5c($sp)
/* 451b8: 01b9c023 */ subu $t8,$t5,$t9
/* 451bc: afb80088 */ sw $t8,0x88($sp)
/* 451c0: 8faa0070 */ lw $t2,0x70($sp)
/* 451c4: 8fa90050 */ lw $t1,0x50($sp)
/* 451c8: 2401ffe0 */ addiu $at,$zero,-32
/* 451cc: 254e0001 */ addiu $t6,$t2,0x1
/* 451d0: 000e4140 */ sll $t0,$t6,0x5
/* 451d4: 01097821 */ addu $t7,$t0,$t1
/* 451d8: 25ec0010 */ addiu $t4,$t7,0x10
/* 451dc: 01815824 */ and $t3,$t4,$at
/* 451e0: afab0058 */ sw $t3,0x58($sp)
/* 451e4: 8fb9005c */ lw $t9,0x5c($sp)
/* 451e8: 8fad0050 */ lw $t5,0x50($sp)
/* 451ec: 0019c040 */ sll $t8,$t9,0x1
/* 451f0: 01b85021 */ addu $t2,$t5,$t8
/* 451f4: afaa0050 */ sw $t2,0x50($sp)
/* 451f8: 8fae0044 */ lw $t6,0x44($sp)
/* 451fc: 2401ffff */ addiu $at,$zero,-1
/* 45200: 8dc8001c */ lw $t0,0x1c($t6)
/* 45204: 11010007 */ beq $t0,$at,.L00045224
/* 45208: 00000000 */ nop
/* 4520c: 11000005 */ beqz $t0,.L00045224
/* 45210: 00000000 */ nop
/* 45214: 8fa90044 */ lw $t1,0x44($sp)
/* 45218: 8d2f001c */ lw $t7,0x1c($t1)
/* 4521c: 25ecffff */ addiu $t4,$t7,-1
/* 45220: ad2c001c */ sw $t4,0x1c($t1)
.L00045224:
/* 45224: 8fb90044 */ lw $t9,0x44($sp)
/* 45228: 8fab0088 */ lw $t3,0x88($sp)
/* 4522c: 8f2d0018 */ lw $t5,0x18($t9)
/* 45230: 8f380014 */ lw $t8,0x14($t9)
/* 45234: 01b85023 */ subu $t2,$t5,$t8
/* 45238: 016a082b */ sltu $at,$t3,$t2
/* 4523c: 10200003 */ beqz $at,.L0004524c
/* 45240: 00000000 */ nop
/* 45244: 10000006 */ b .L00045260
/* 45248: afab005c */ sw $t3,0x5c($sp)
.L0004524c:
/* 4524c: 8fae0044 */ lw $t6,0x44($sp)
/* 45250: 8dc80018 */ lw $t0,0x18($t6)
/* 45254: 8dcf0014 */ lw $t7,0x14($t6)
/* 45258: 010f6023 */ subu $t4,$t0,$t7
/* 4525c: afac005c */ sw $t4,0x5c($sp)
.L00045260:
/* 45260: 8fb90044 */ lw $t9,0x44($sp)
/* 45264: 8fa9005c */ lw $t1,0x5c($sp)
/* 45268: 8f2d0034 */ lw $t5,0x34($t9)
/* 4526c: 012dc021 */ addu $t8,$t1,$t5
/* 45270: 270afff0 */ addiu $t2,$t8,-16
/* 45274: afaa0074 */ sw $t2,0x74($sp)
/* 45278: 8fab0074 */ lw $t3,0x74($sp)
/* 4527c: 05610002 */ bgez $t3,.L00045288
/* 45280: 00000000 */ nop
/* 45284: afa00074 */ sw $zero,0x74($sp)
.L00045288:
/* 45288: 8fae0074 */ lw $t6,0x74($sp)
/* 4528c: 25c8000f */ addiu $t0,$t6,0xf
/* 45290: 00087903 */ sra $t7,$t0,0x4
/* 45294: afaf0070 */ sw $t7,0x70($sp)
/* 45298: 8fac0070 */ lw $t4,0x70($sp)
/* 4529c: 000cc8c0 */ sll $t9,$t4,0x3
/* 452a0: 032cc821 */ addu $t9,$t9,$t4
/* 452a4: afb9006c */ sw $t9,0x6c($sp)
/* 452a8: 8fad0058 */ lw $t5,0x58($sp)
/* 452ac: 87b8007a */ lh $t8,0x7a($sp)
/* 452b0: 8fa90044 */ lw $t1,0x44($sp)
/* 452b4: afad0010 */ sw $t5,0x10($sp)
/* 452b8: afb80014 */ sw $t8,0x14($sp)
/* 452bc: 8d2a0038 */ lw $t2,0x38($t1)
/* 452c0: 8fa4007c */ lw $a0,0x7c($sp)
/* 452c4: 8fa60074 */ lw $a2,0x74($sp)
/* 452c8: 354b0002 */ ori $t3,$t2,0x2
/* 452cc: afab0018 */ sw $t3,0x18($sp)
/* 452d0: 8fa7006c */ lw $a3,0x6c($sp)
/* 452d4: 0c01163e */ jal func000458f8
/* 452d8: 01202825 */ or $a1,$t1,$zero
/* 452dc: afa2007c */ sw $v0,0x7c($sp)
/* 452e0: 8fae007c */ lw $t6,0x7c($sp)
/* 452e4: 25c80008 */ addiu $t0,$t6,0x8
/* 452e8: afa8007c */ sw $t0,0x7c($sp)
/* 452ec: afae003c */ sw $t6,0x3c($sp)
/* 452f0: 8faf0044 */ lw $t7,0x44($sp)
/* 452f4: 8fad0058 */ lw $t5,0x58($sp)
/* 452f8: 3c0100ff */ lui $at,0xff
/* 452fc: 8dec0034 */ lw $t4,0x34($t7)
/* 45300: 3421ffff */ ori $at,$at,0xffff
/* 45304: 8fab003c */ lw $t3,0x3c($sp)
/* 45308: 000cc840 */ sll $t9,$t4,0x1
/* 4530c: 032dc021 */ addu $t8,$t9,$t5
/* 45310: 03014824 */ and $t1,$t8,$at
/* 45314: 3c010a00 */ lui $at,0xa00
/* 45318: 01215025 */ or $t2,$t1,$at
/* 4531c: ad6a0000 */ sw $t2,0x0($t3)
/* 45320: 8fae0050 */ lw $t6,0x50($sp)
/* 45324: 8fac005c */ lw $t4,0x5c($sp)
/* 45328: 8fa9003c */ lw $t1,0x3c($sp)
/* 4532c: 31c8ffff */ andi $t0,$t6,0xffff
/* 45330: 000cc840 */ sll $t9,$t4,0x1
/* 45334: 332dffff */ andi $t5,$t9,0xffff
/* 45338: 00087c00 */ sll $t7,$t0,0x10
/* 4533c: 01edc025 */ or $t8,$t7,$t5
/* 45340: ad380004 */ sw $t8,0x4($t1)
/* 45344: 8faa0088 */ lw $t2,0x88($sp)
/* 45348: 8fab005c */ lw $t3,0x5c($sp)
/* 4534c: 016a082a */ slt $at,$t3,$t2
/* 45350: 1420ff97 */ bnez $at,.L000451b0
/* 45354: 00000000 */ nop
.L00045358:
/* 45358: 8fae0044 */ lw $t6,0x44($sp)
/* 4535c: 8fac0088 */ lw $t4,0x88($sp)
/* 45360: 8dc80034 */ lw $t0,0x34($t6)
/* 45364: 010cc821 */ addu $t9,$t0,$t4
/* 45368: 332f000f */ andi $t7,$t9,0xf
/* 4536c: adcf0034 */ sw $t7,0x34($t6)
/* 45370: 8fad0044 */ lw $t5,0x44($sp)
/* 45374: 8fa90088 */ lw $t1,0x88($sp)
/* 45378: 8db80030 */ lw $t8,0x30($t5)
/* 4537c: 03095021 */ addu $t2,$t8,$t1
/* 45380: adaa0030 */ sw $t2,0x30($t5)
/* 45384: 8fab0044 */ lw $t3,0x44($sp)
/* 45388: 8fac0070 */ lw $t4,0x70($sp)
/* 4538c: 8d68003c */ lw $t0,0x3c($t3)
/* 45390: 000cc8c0 */ sll $t9,$t4,0x3
/* 45394: 032cc821 */ addu $t9,$t9,$t4
/* 45398: 01197821 */ addu $t7,$t0,$t9
/* 4539c: ad6f003c */ sw $t7,0x3c($t3)
/* 453a0: 10000094 */ b .L000455f4
/* 453a4: 8fa2007c */ lw $v0,0x7c($sp)
.L000453a8:
/* 453a8: 8fae0070 */ lw $t6,0x70($sp)
/* 453ac: 000ec100 */ sll $t8,$t6,0x4
/* 453b0: afb8005c */ sw $t8,0x5c($sp)
/* 453b4: 8fa90044 */ lw $t1,0x44($sp)
/* 453b8: 8fad006c */ lw $t5,0x6c($sp)
/* 453bc: 8d280020 */ lw $t0,0x20($t1)
/* 453c0: 8d2a003c */ lw $t2,0x3c($t1)
/* 453c4: 8d190000 */ lw $t9,0x0($t0)
/* 453c8: 8d0f0004 */ lw $t7,0x4($t0)
/* 453cc: 014d6021 */ addu $t4,$t2,$t5
/* 453d0: 032f5821 */ addu $t3,$t9,$t7
/* 453d4: 018b7023 */ subu $t6,$t4,$t3
/* 453d8: afae0068 */ sw $t6,0x68($sp)
/* 453dc: 8fb80068 */ lw $t8,0x68($sp)
/* 453e0: 07010002 */ bgez $t8,.L000453ec
/* 453e4: 00000000 */ nop
/* 453e8: afa00068 */ sw $zero,0x68($sp)
.L000453ec:
/* 453ec: 8faa0068 */ lw $t2,0x68($sp)
/* 453f0: 24010009 */ addiu $at,$zero,0x9
/* 453f4: 0141001a */ div $zero,$t2,$at
/* 453f8: 00006812 */ mflo $t5
/* 453fc: 000d4900 */ sll $t1,$t5,0x4
/* 45400: afa90060 */ sw $t1,0x60($sp)
/* 45404: 8fb9005c */ lw $t9,0x5c($sp)
/* 45408: 8faf0054 */ lw $t7,0x54($sp)
/* 4540c: 8fa80060 */ lw $t0,0x60($sp)
/* 45410: 032f6021 */ addu $t4,$t9,$t7
/* 45414: 0188082a */ slt $at,$t4,$t0
/* 45418: 10200005 */ beqz $at,.L00045430
/* 4541c: 00000000 */ nop
/* 45420: 8fab005c */ lw $t3,0x5c($sp)
/* 45424: 8fae0054 */ lw $t6,0x54($sp)
/* 45428: 016ec021 */ addu $t8,$t3,$t6
/* 4542c: afb80060 */ sw $t8,0x60($sp)
.L00045430:
/* 45430: 8faa006c */ lw $t2,0x6c($sp)
/* 45434: 8fad0068 */ lw $t5,0x68($sp)
/* 45438: 014d4823 */ subu $t1,$t2,$t5
/* 4543c: afa9006c */ sw $t1,0x6c($sp)
/* 45440: 8fb90060 */ lw $t9,0x60($sp)
/* 45444: 8fac0088 */ lw $t4,0x88($sp)
/* 45448: 332f000f */ andi $t7,$t9,0xf
/* 4544c: 032f4023 */ subu $t0,$t9,$t7
/* 45450: 010c082a */ slt $at,$t0,$t4
/* 45454: 10200036 */ beqz $at,.L00045530
/* 45458: 00000000 */ nop
/* 4545c: 240b0001 */ addiu $t3,$zero,0x1
/* 45460: afab004c */ sw $t3,0x4c($sp)
/* 45464: 8fad0084 */ lw $t5,0x84($sp)
/* 45468: 87b9007a */ lh $t9,0x7a($sp)
/* 4546c: 8fae0044 */ lw $t6,0x44($sp)
/* 45470: 85a90000 */ lh $t1,0x0($t5)
/* 45474: afb90014 */ sw $t9,0x14($sp)
/* 45478: 8fb8005c */ lw $t8,0x5c($sp)
/* 4547c: afa90010 */ sw $t1,0x10($sp)
/* 45480: 8faa0060 */ lw $t2,0x60($sp)
/* 45484: 8dcf0038 */ lw $t7,0x38($t6)
/* 45488: 8fa4007c */ lw $a0,0x7c($sp)
/* 4548c: 8fa7006c */ lw $a3,0x6c($sp)
/* 45490: 01c02825 */ or $a1,$t6,$zero
/* 45494: 030a3023 */ subu $a2,$t8,$t2
/* 45498: 0c01163e */ jal func000458f8
/* 4549c: afaf0018 */ sw $t7,0x18($sp)
/* 454a0: afa2007c */ sw $v0,0x7c($sp)
/* 454a4: 8fa80044 */ lw $t0,0x44($sp)
/* 454a8: 8d0c0034 */ lw $t4,0x34($t0)
/* 454ac: 11800009 */ beqz $t4,.L000454d4
/* 454b0: 00000000 */ nop
/* 454b4: 8faa0044 */ lw $t2,0x44($sp)
/* 454b8: 8fab0084 */ lw $t3,0x84($sp)
/* 454bc: 8d4d0034 */ lw $t5,0x34($t2)
/* 454c0: 85780000 */ lh $t8,0x0($t3)
/* 454c4: 000d4840 */ sll $t1,$t5,0x1
/* 454c8: 0309c821 */ addu $t9,$t8,$t1
/* 454cc: 10000005 */ b .L000454e4
/* 454d0: a5790000 */ sh $t9,0x0($t3)
.L000454d4:
/* 454d4: 8fae0084 */ lw $t6,0x84($sp)
/* 454d8: 85cf0000 */ lh $t7,0x0($t6)
/* 454dc: 25e80020 */ addiu $t0,$t7,0x20
/* 454e0: a5c80000 */ sh $t0,0x0($t6)
.L000454e4:
/* 454e4: 8fac0044 */ lw $t4,0x44($sp)
/* 454e8: 8fad0088 */ lw $t5,0x88($sp)
/* 454ec: 8d8a0034 */ lw $t2,0x34($t4)
/* 454f0: 014dc021 */ addu $t8,$t2,$t5
/* 454f4: 3309000f */ andi $t1,$t8,0xf
/* 454f8: ad890034 */ sw $t1,0x34($t4)
/* 454fc: 8fb90044 */ lw $t9,0x44($sp)
/* 45500: 8faf0088 */ lw $t7,0x88($sp)
/* 45504: 8f2b0030 */ lw $t3,0x30($t9)
/* 45508: 016f4021 */ addu $t0,$t3,$t7
/* 4550c: af280030 */ sw $t0,0x30($t9)
/* 45510: 8fae0044 */ lw $t6,0x44($sp)
/* 45514: 8fad0070 */ lw $t5,0x70($sp)
/* 45518: 8dca003c */ lw $t2,0x3c($t6)
/* 4551c: 000dc0c0 */ sll $t8,$t5,0x3
/* 45520: 030dc021 */ addu $t8,$t8,$t5
/* 45524: 01584821 */ addu $t1,$t2,$t8
/* 45528: 1000000a */ b .L00045554
/* 4552c: adc9003c */ sw $t1,0x3c($t6)
.L00045530:
/* 45530: 8fac0044 */ lw $t4,0x44($sp)
/* 45534: ad800034 */ sw $zero,0x34($t4)
/* 45538: 8fab0044 */ lw $t3,0x44($sp)
/* 4553c: 8fa80070 */ lw $t0,0x70($sp)
/* 45540: 8d6f003c */ lw $t7,0x3c($t3)
/* 45544: 0008c8c0 */ sll $t9,$t0,0x3
/* 45548: 0328c821 */ addu $t9,$t9,$t0
/* 4554c: 01f96821 */ addu $t5,$t7,$t9
/* 45550: ad6d003c */ sw $t5,0x3c($t3)
.L00045554:
/* 45554: 8faa0060 */ lw $t2,0x60($sp)
/* 45558: 11400022 */ beqz $t2,.L000455e4
/* 4555c: 00000000 */ nop
/* 45560: 8fb80044 */ lw $t8,0x44($sp)
/* 45564: af000034 */ sw $zero,0x34($t8)
/* 45568: 8fa9004c */ lw $t1,0x4c($sp)
/* 4556c: 11200009 */ beqz $t1,.L00045594
/* 45570: 00000000 */ nop
/* 45574: 8fae0054 */ lw $t6,0x54($sp)
/* 45578: 8fac005c */ lw $t4,0x5c($sp)
/* 4557c: 8faf0060 */ lw $t7,0x60($sp)
/* 45580: 01cc4021 */ addu $t0,$t6,$t4
/* 45584: 010fc823 */ subu $t9,$t0,$t7
/* 45588: 00196840 */ sll $t5,$t9,0x1
/* 4558c: 10000002 */ b .L00045598
/* 45590: afad0064 */ sw $t5,0x64($sp)
.L00045594:
/* 45594: afa00064 */ sw $zero,0x64($sp)
.L00045598:
/* 45598: 8fab007c */ lw $t3,0x7c($sp)
/* 4559c: 256a0008 */ addiu $t2,$t3,0x8
/* 455a0: afaa007c */ sw $t2,0x7c($sp)
/* 455a4: afab0038 */ sw $t3,0x38($sp)
/* 455a8: 8fb80084 */ lw $t8,0x84($sp)
/* 455ac: 8fae0064 */ lw $t6,0x64($sp)
/* 455b0: 3c0100ff */ lui $at,0xff
/* 455b4: 87090000 */ lh $t1,0x0($t8)
/* 455b8: 3421ffff */ ori $at,$at,0xffff
/* 455bc: 8fb90038 */ lw $t9,0x38($sp)
/* 455c0: 012e6021 */ addu $t4,$t1,$t6
/* 455c4: 01814024 */ and $t0,$t4,$at
/* 455c8: 3c010200 */ lui $at,0x200
/* 455cc: 01017825 */ or $t7,$t0,$at
/* 455d0: af2f0000 */ sw $t7,0x0($t9)
/* 455d4: 8fad0060 */ lw $t5,0x60($sp)
/* 455d8: 8faa0038 */ lw $t2,0x38($sp)
/* 455dc: 000d5840 */ sll $t3,$t5,0x1
/* 455e0: ad4b0004 */ sw $t3,0x4($t2)
.L000455e4:
/* 455e4: 10000003 */ b .L000455f4
/* 455e8: 8fa2007c */ lw $v0,0x7c($sp)
/* 455ec: 10000001 */ b .L000455f4
/* 455f0: 00000000 */ nop
.L000455f4:
/* 455f4: 8fbf002c */ lw $ra,0x2c($sp)
/* 455f8: 8fb00028 */ lw $s0,0x28($sp)
/* 455fc: 27bd0080 */ addiu $sp,$sp,0x80
/* 45600: 03e00008 */ jr $ra
/* 45604: 00000000 */ nop
);
GLOBAL_ASM(
glabel func00045608
/* 45608: 27bdffd8 */ addiu $sp,$sp,-40
/* 4560c: afbf001c */ sw $ra,0x1c($sp)
/* 45610: afa40028 */ sw $a0,0x28($sp)
/* 45614: afa5002c */ sw $a1,0x2c($sp)
/* 45618: afa60030 */ sw $a2,0x30($sp)
/* 4561c: afb00018 */ sw $s0,0x18($sp)
/* 45620: 8fae0028 */ lw $t6,0x28($sp)
/* 45624: afae0024 */ sw $t6,0x24($sp)
/* 45628: 8fb0002c */ lw $s0,0x2c($sp)
/* 4562c: 24010004 */ addiu $at,$zero,0x4
/* 45630: 12010074 */ beq $s0,$at,.L00045804
/* 45634: 00000000 */ nop
/* 45638: 24010005 */ addiu $at,$zero,0x5
/* 4563c: 12010003 */ beq $s0,$at,.L0004564c
/* 45640: 00000000 */ nop
/* 45644: 100000a1 */ b .L000458cc
/* 45648: 00000000 */ nop
.L0004564c:
/* 4564c: 8faf0030 */ lw $t7,0x30($sp)
/* 45650: 8fb80024 */ lw $t8,0x24($sp)
/* 45654: af0f0020 */ sw $t7,0x20($t8)
/* 45658: 8fb90024 */ lw $t9,0x24($sp)
/* 4565c: 8f280020 */ lw $t0,0x20($t9)
/* 45660: 8d090000 */ lw $t1,0x0($t0)
/* 45664: af29003c */ sw $t1,0x3c($t9)
/* 45668: 8faa0024 */ lw $t2,0x24($sp)
/* 4566c: ad400030 */ sw $zero,0x30($t2)
/* 45670: 8fab0024 */ lw $t3,0x24($sp)
/* 45674: 8d6c0020 */ lw $t4,0x20($t3)
/* 45678: 91900008 */ lbu $s0,0x8($t4)
/* 4567c: 12000006 */ beqz $s0,.L00045698
/* 45680: 00000000 */ nop
/* 45684: 24010001 */ addiu $at,$zero,0x1
/* 45688: 1201003c */ beq $s0,$at,.L0004577c
/* 4568c: 00000000 */ nop
/* 45690: 10000058 */ b .L000457f4
/* 45694: 00000000 */ nop
.L00045698:
/* 45698: 8fad0024 */ lw $t5,0x24($sp)
/* 4569c: 24010009 */ addiu $at,$zero,0x9
/* 456a0: 8dae0020 */ lw $t6,0x20($t5)
/* 456a4: 8dcf0004 */ lw $t7,0x4($t6)
/* 456a8: 01e1001a */ div $zero,$t7,$at
/* 456ac: 0000c012 */ mflo $t8
/* 456b0: 001840c0 */ sll $t0,$t8,0x3
/* 456b4: 01184021 */ addu $t0,$t0,$t8
/* 456b8: adc80004 */ sw $t0,0x4($t6)
/* 456bc: 8fa90024 */ lw $t1,0x24($sp)
/* 456c0: 8d390020 */ lw $t9,0x20($t1)
/* 456c4: 8f2a0010 */ lw $t2,0x10($t9)
/* 456c8: 8d4b0000 */ lw $t3,0x0($t2)
/* 456cc: 8d4d0004 */ lw $t5,0x4($t2)
/* 456d0: 000b6040 */ sll $t4,$t3,0x1
/* 456d4: 018d0019 */ multu $t4,$t5
/* 456d8: 00007812 */ mflo $t7
/* 456dc: 000fc0c0 */ sll $t8,$t7,0x3
/* 456e0: ad380024 */ sw $t8,0x24($t1)
/* 456e4: 8fa80024 */ lw $t0,0x24($sp)
/* 456e8: 8d0e0020 */ lw $t6,0x20($t0)
/* 456ec: 8dd9000c */ lw $t9,0xc($t6)
/* 456f0: 13200019 */ beqz $t9,.L00045758
/* 456f4: 00000000 */ nop
/* 456f8: 8fab0024 */ lw $t3,0x24($sp)
/* 456fc: 8d6a0020 */ lw $t2,0x20($t3)
/* 45700: 8d4c000c */ lw $t4,0xc($t2)
/* 45704: 8d8d0000 */ lw $t5,0x0($t4)
/* 45708: ad6d0014 */ sw $t5,0x14($t3)
/* 4570c: 8faf0024 */ lw $t7,0x24($sp)
/* 45710: 8df80020 */ lw $t8,0x20($t7)
/* 45714: 8f09000c */ lw $t1,0xc($t8)
/* 45718: 8d280004 */ lw $t0,0x4($t1)
/* 4571c: ade80018 */ sw $t0,0x18($t7)
/* 45720: 8fae0024 */ lw $t6,0x24($sp)
/* 45724: 8dd90020 */ lw $t9,0x20($t6)
/* 45728: 8f2a000c */ lw $t2,0xc($t9)
/* 4572c: 8d4c0008 */ lw $t4,0x8($t2)
/* 45730: adcc001c */ sw $t4,0x1c($t6)
/* 45734: 8fad0024 */ lw $t5,0x24($sp)
/* 45738: 24060020 */ addiu $a2,$zero,0x20
/* 4573c: 8dab0020 */ lw $t3,0x20($t5)
/* 45740: 8da50010 */ lw $a1,0x10($t5)
/* 45744: 8d64000c */ lw $a0,0xc($t3)
/* 45748: 0c012c5c */ jal func0004b170
/* 4574c: 2484000c */ addiu $a0,$a0,0xc
/* 45750: 10000008 */ b .L00045774
/* 45754: 00000000 */ nop
.L00045758:
/* 45758: 8fb80024 */ lw $t8,0x24($sp)
/* 4575c: af00001c */ sw $zero,0x1c($t8)
/* 45760: 8fa90024 */ lw $t1,0x24($sp)
/* 45764: 8d30001c */ lw $s0,0x1c($t1)
/* 45768: ad300018 */ sw $s0,0x18($t1)
/* 4576c: 8fa80024 */ lw $t0,0x24($sp)
/* 45770: ad100014 */ sw $s0,0x14($t0)
.L00045774:
/* 45774: 10000021 */ b .L000457fc
/* 45778: 00000000 */ nop
.L0004577c:
/* 4577c: 8faf0024 */ lw $t7,0x24($sp)
/* 45780: 8df90020 */ lw $t9,0x20($t7)
/* 45784: 8f2a000c */ lw $t2,0xc($t9)
/* 45788: 11400011 */ beqz $t2,.L000457d0
/* 4578c: 00000000 */ nop
/* 45790: 8fac0024 */ lw $t4,0x24($sp)
/* 45794: 8d8e0020 */ lw $t6,0x20($t4)
/* 45798: 8dcb000c */ lw $t3,0xc($t6)
/* 4579c: 8d6d0000 */ lw $t5,0x0($t3)
/* 457a0: ad8d0014 */ sw $t5,0x14($t4)
/* 457a4: 8fb80024 */ lw $t8,0x24($sp)
/* 457a8: 8f090020 */ lw $t1,0x20($t8)
/* 457ac: 8d28000c */ lw $t0,0xc($t1)
/* 457b0: 8d0f0004 */ lw $t7,0x4($t0)
/* 457b4: af0f0018 */ sw $t7,0x18($t8)
/* 457b8: 8fb90024 */ lw $t9,0x24($sp)
/* 457bc: 8f2a0020 */ lw $t2,0x20($t9)
/* 457c0: 8d4e000c */ lw $t6,0xc($t2)
/* 457c4: 8dcb0008 */ lw $t3,0x8($t6)
/* 457c8: 10000008 */ b .L000457ec
/* 457cc: af2b001c */ sw $t3,0x1c($t9)
.L000457d0:
/* 457d0: 8fad0024 */ lw $t5,0x24($sp)
/* 457d4: ada0001c */ sw $zero,0x1c($t5)
/* 457d8: 8fac0024 */ lw $t4,0x24($sp)
/* 457dc: 8d90001c */ lw $s0,0x1c($t4)
/* 457e0: ad900018 */ sw $s0,0x18($t4)
/* 457e4: 8fa90024 */ lw $t1,0x24($sp)
/* 457e8: ad300014 */ sw $s0,0x14($t1)
.L000457ec:
/* 457ec: 10000003 */ b .L000457fc
/* 457f0: 00000000 */ nop
.L000457f4:
/* 457f4: 10000001 */ b .L000457fc
/* 457f8: 00000000 */ nop
.L000457fc:
/* 457fc: 10000035 */ b .L000458d4
/* 45800: 00000000 */ nop
.L00045804:
/* 45804: 8fa80024 */ lw $t0,0x24($sp)
/* 45808: ad000034 */ sw $zero,0x34($t0)
/* 4580c: 8fb80024 */ lw $t8,0x24($sp)
/* 45810: 240f0001 */ addiu $t7,$zero,0x1
/* 45814: af0f0038 */ sw $t7,0x38($t8)
/* 45818: 8faa0024 */ lw $t2,0x24($sp)
/* 4581c: ad400030 */ sw $zero,0x30($t2)
/* 45820: 8fae0024 */ lw $t6,0x24($sp)
/* 45824: 8dcb0020 */ lw $t3,0x20($t6)
/* 45828: 11600026 */ beqz $t3,.L000458c4
/* 4582c: 00000000 */ nop
/* 45830: 8fb90024 */ lw $t9,0x24($sp)
/* 45834: 8f2d0020 */ lw $t5,0x20($t9)
/* 45838: 8dac0000 */ lw $t4,0x0($t5)
/* 4583c: af2c003c */ sw $t4,0x3c($t9)
/* 45840: 8fa90024 */ lw $t1,0x24($sp)
/* 45844: 8d280020 */ lw $t0,0x20($t1)
/* 45848: 910f0008 */ lbu $t7,0x8($t0)
/* 4584c: 15e0000d */ bnez $t7,.L00045884
/* 45850: 00000000 */ nop
/* 45854: 8fb80024 */ lw $t8,0x24($sp)
/* 45858: 8f0a0020 */ lw $t2,0x20($t8)
/* 4585c: 8d4e000c */ lw $t6,0xc($t2)
/* 45860: 11c00006 */ beqz $t6,.L0004587c
/* 45864: 00000000 */ nop
/* 45868: 8fab0024 */ lw $t3,0x24($sp)
/* 4586c: 8d6d0020 */ lw $t5,0x20($t3)
/* 45870: 8dac000c */ lw $t4,0xc($t5)
/* 45874: 8d990008 */ lw $t9,0x8($t4)
/* 45878: ad79001c */ sw $t9,0x1c($t3)
.L0004587c:
/* 4587c: 10000011 */ b .L000458c4
/* 45880: 00000000 */ nop
.L00045884:
/* 45884: 8fa90024 */ lw $t1,0x24($sp)
/* 45888: 24010001 */ addiu $at,$zero,0x1
/* 4588c: 8d280020 */ lw $t0,0x20($t1)
/* 45890: 910f0008 */ lbu $t7,0x8($t0)
/* 45894: 15e1000b */ bne $t7,$at,.L000458c4
/* 45898: 00000000 */ nop
/* 4589c: 8fb80024 */ lw $t8,0x24($sp)
/* 458a0: 8f0a0020 */ lw $t2,0x20($t8)
/* 458a4: 8d4e000c */ lw $t6,0xc($t2)
/* 458a8: 11c00006 */ beqz $t6,.L000458c4
/* 458ac: 00000000 */ nop
/* 458b0: 8fad0024 */ lw $t5,0x24($sp)
/* 458b4: 8dac0020 */ lw $t4,0x20($t5)
/* 458b8: 8d99000c */ lw $t9,0xc($t4)
/* 458bc: 8f2b0008 */ lw $t3,0x8($t9)
/* 458c0: adab001c */ sw $t3,0x1c($t5)
.L000458c4:
/* 458c4: 10000003 */ b .L000458d4
/* 458c8: 00000000 */ nop
.L000458cc:
/* 458cc: 10000001 */ b .L000458d4
/* 458d0: 00000000 */ nop
.L000458d4:
/* 458d4: 10000003 */ b .L000458e4
/* 458d8: 00001025 */ or $v0,$zero,$zero
/* 458dc: 10000001 */ b .L000458e4
/* 458e0: 00000000 */ nop
.L000458e4:
/* 458e4: 8fbf001c */ lw $ra,0x1c($sp)
/* 458e8: 8fb00018 */ lw $s0,0x18($sp)
/* 458ec: 27bd0028 */ addiu $sp,$sp,0x28
/* 458f0: 03e00008 */ jr $ra
/* 458f4: 00000000 */ nop
);
GLOBAL_ASM(
glabel func000458f8
/* 458f8: 27bdffd0 */ addiu $sp,$sp,-48
/* 458fc: afbf0014 */ sw $ra,0x14($sp)
/* 45900: afa40030 */ sw $a0,0x30($sp)
/* 45904: afa50034 */ sw $a1,0x34($sp)
/* 45908: afa60038 */ sw $a2,0x38($sp)
/* 4590c: afa7003c */ sw $a3,0x3c($sp)
/* 45910: 8fae003c */ lw $t6,0x3c($sp)
/* 45914: 19c00028 */ blez $t6,.L000459b8
/* 45918: 00000000 */ nop
/* 4591c: 8faf0034 */ lw $t7,0x34($sp)
/* 45920: 8fa5003c */ lw $a1,0x3c($sp)
/* 45924: 8df90028 */ lw $t9,0x28($t7)
/* 45928: 8de4003c */ lw $a0,0x3c($t7)
/* 4592c: 8de6002c */ lw $a2,0x2c($t7)
/* 45930: 0320f809 */ jalr $t9
/* 45934: 00000000 */ nop
/* 45938: afa20028 */ sw $v0,0x28($sp)
/* 4593c: 8fb80028 */ lw $t8,0x28($sp)
/* 45940: 33080007 */ andi $t0,$t8,0x7
/* 45944: afa8002c */ sw $t0,0x2c($sp)
/* 45948: 8fa9003c */ lw $t1,0x3c($sp)
/* 4594c: 8faa002c */ lw $t2,0x2c($sp)
/* 45950: 012a5821 */ addu $t3,$t1,$t2
/* 45954: afab003c */ sw $t3,0x3c($sp)
/* 45958: 8fac0030 */ lw $t4,0x30($sp)
/* 4595c: 258d0008 */ addiu $t5,$t4,0x8
/* 45960: afad0030 */ sw $t5,0x30($sp)
/* 45964: afac0024 */ sw $t4,0x24($sp)
/* 45968: 8fae003c */ lw $t6,0x3c($sp)
/* 4596c: 87ab0046 */ lh $t3,0x46($sp)
/* 45970: 3c010400 */ lui $at,0x400
/* 45974: 31cf0007 */ andi $t7,$t6,0x7
/* 45978: 01cfc823 */ subu $t9,$t6,$t7
/* 4597c: 27380008 */ addiu $t8,$t9,0x8
/* 45980: 33080fff */ andi $t0,$t8,0xfff
/* 45984: 8fae0024 */ lw $t6,0x24($sp)
/* 45988: 00084b00 */ sll $t1,$t0,0xc
/* 4598c: 01215025 */ or $t2,$t1,$at
/* 45990: 316c0fff */ andi $t4,$t3,0xfff
/* 45994: 014c6825 */ or $t5,$t2,$t4
/* 45998: adcd0000 */ sw $t5,0x0($t6)
/* 4599c: 8faf0028 */ lw $t7,0x28($sp)
/* 459a0: 8fb9002c */ lw $t9,0x2c($sp)
/* 459a4: 8fa80024 */ lw $t0,0x24($sp)
/* 459a8: 01f9c023 */ subu $t8,$t7,$t9
/* 459ac: ad180004 */ sw $t8,0x4($t0)
/* 459b0: 10000002 */ b .L000459bc
/* 459b4: 00000000 */ nop
.L000459b8:
/* 459b8: afa0002c */ sw $zero,0x2c($sp)
.L000459bc:
/* 459bc: 8fa90048 */ lw $t1,0x48($sp)
/* 459c0: 312b0002 */ andi $t3,$t1,0x2
/* 459c4: 1160000f */ beqz $t3,.L00045a04
/* 459c8: 00000000 */ nop
/* 459cc: 8faa0030 */ lw $t2,0x30($sp)
/* 459d0: 254c0008 */ addiu $t4,$t2,0x8
/* 459d4: afac0030 */ sw $t4,0x30($sp)
/* 459d8: afaa0020 */ sw $t2,0x20($sp)
/* 459dc: 8fae0020 */ lw $t6,0x20($sp)
/* 459e0: 3c0d0f00 */ lui $t5,0xf00
/* 459e4: adcd0000 */ sw $t5,0x0($t6)
/* 459e8: 8faf0034 */ lw $t7,0x34($sp)
/* 459ec: 8fa80020 */ lw $t0,0x20($sp)
/* 459f0: 3c011fff */ lui $at,0x1fff
/* 459f4: 8df90010 */ lw $t9,0x10($t7)
/* 459f8: 3421ffff */ ori $at,$at,0xffff
/* 459fc: 0321c024 */ and $t8,$t9,$at
/* 45a00: ad180004 */ sw $t8,0x4($t0)
.L00045a04:
/* 45a04: 8fa90030 */ lw $t1,0x30($sp)
/* 45a08: 252b0008 */ addiu $t3,$t1,0x8
/* 45a0c: afab0030 */ sw $t3,0x30($sp)
/* 45a10: afa9001c */ sw $t1,0x1c($sp)
/* 45a14: 8faa0034 */ lw $t2,0x34($sp)
/* 45a18: 3c011fff */ lui $at,0x1fff
/* 45a1c: 3421ffff */ ori $at,$at,0xffff
/* 45a20: 8d4c000c */ lw $t4,0xc($t2)
/* 45a24: 8fb9001c */ lw $t9,0x1c($sp)
/* 45a28: 01816824 */ and $t5,$t4,$at
/* 45a2c: 3c0100ff */ lui $at,0xff
/* 45a30: 3421ffff */ ori $at,$at,0xffff
/* 45a34: 01a17024 */ and $t6,$t5,$at
/* 45a38: 3c010100 */ lui $at,0x100
/* 45a3c: 01c17825 */ or $t7,$t6,$at
/* 45a40: af2f0000 */ sw $t7,0x0($t9)
/* 45a44: 8fab0038 */ lw $t3,0x38($sp)
/* 45a48: 8fb80048 */ lw $t8,0x48($sp)
/* 45a4c: 8faf002c */ lw $t7,0x2c($sp)
/* 45a50: 000b5040 */ sll $t2,$t3,0x1
/* 45a54: 314c0fff */ andi $t4,$t2,0xfff
/* 45a58: 3308000f */ andi $t0,$t8,0xf
/* 45a5c: 87ab0042 */ lh $t3,0x42($sp)
/* 45a60: 00084f00 */ sll $t1,$t0,0x1c
/* 45a64: 000c6c00 */ sll $t5,$t4,0x10
/* 45a68: 012d7025 */ or $t6,$t1,$t5
/* 45a6c: 31f9000f */ andi $t9,$t7,0xf
/* 45a70: 8fa9001c */ lw $t1,0x1c($sp)
/* 45a74: 0019c300 */ sll $t8,$t9,0xc
/* 45a78: 01d84025 */ or $t0,$t6,$t8
/* 45a7c: 316a0fff */ andi $t2,$t3,0xfff
/* 45a80: 010a6025 */ or $t4,$t0,$t2
/* 45a84: ad2c0004 */ sw $t4,0x4($t1)
/* 45a88: 8fad0034 */ lw $t5,0x34($sp)
/* 45a8c: ada00038 */ sw $zero,0x38($t5)
/* 45a90: 10000003 */ b .L00045aa0
/* 45a94: 8fa20030 */ lw $v0,0x30($sp)
/* 45a98: 10000001 */ b .L00045aa0
/* 45a9c: 00000000 */ nop
.L00045aa0:
/* 45aa0: 8fbf0014 */ lw $ra,0x14($sp)
/* 45aa4: 27bd0030 */ addiu $sp,$sp,0x30
/* 45aa8: 03e00008 */ jr $ra
/* 45aac: 00000000 */ nop
);
GLOBAL_ASM(
glabel func00045ab0
/* 45ab0: 27bdffd0 */ addiu $sp,$sp,-48
/* 45ab4: afbf0014 */ sw $ra,0x14($sp)
/* 45ab8: afa40030 */ sw $a0,0x30($sp)
/* 45abc: afa50034 */ sw $a1,0x34($sp)
/* 45ac0: afa60038 */ sw $a2,0x38($sp)
/* 45ac4: afa7003c */ sw $a3,0x3c($sp)
/* 45ac8: 8fae003c */ lw $t6,0x3c($sp)
/* 45acc: afae002c */ sw $t6,0x2c($sp)
/* 45ad0: 8fa40030 */ lw $a0,0x30($sp)
/* 45ad4: 8fa50034 */ lw $a1,0x34($sp)
/* 45ad8: 0c011ea4 */ jal func00047a90
/* 45adc: 8fa6003c */ lw $a2,0x3c($sp)
/* 45ae0: afa2002c */ sw $v0,0x2c($sp)
/* 45ae4: 8faf0030 */ lw $t7,0x30($sp)
/* 45ae8: 91f8008c */ lbu $t8,0x8c($t7)
/* 45aec: 1300006a */ beqz $t8,.L00045c98
/* 45af0: 00000000 */ nop
/* 45af4: 2b010040 */ slti $at,$t8,0x40
/* 45af8: 10200067 */ beqz $at,.L00045c98
/* 45afc: 00000000 */ nop
/* 45b00: 8fb90030 */ lw $t9,0x30($sp)
/* 45b04: 9328008c */ lbu $t0,0x8c($t9)
/* 45b08: 29010006 */ slti $at,$t0,0x6
/* 45b0c: 14200013 */ bnez $at,.L00045b5c
/* 45b10: 00000000 */ nop
/* 45b14: 8fa90030 */ lw $t1,0x30($sp)
/* 45b18: 912a008c */ lbu $t2,0x8c($t1)
/* 45b1c: 448a2000 */ mtc1 $t2,$f4
/* 45b20: 05410005 */ bgez $t2,.L00045b38
/* 45b24: 468021a0 */ cvt.s.w $f6,$f4
/* 45b28: 3c014f80 */ lui $at,0x4f80
/* 45b2c: 44814000 */ mtc1 $at,$f8
/* 45b30: 00000000 */ nop
/* 45b34: 46083180 */ add.s $f6,$f6,$f8
.L00045b38:
/* 45b38: 3c013f80 */ lui $at,0x3f80
/* 45b3c: 44815000 */ mtc1 $at,$f10
/* 45b40: 0c012974 */ jal sqrtf
/* 45b44: 460a3300 */ add.s $f12,$f6,$f10
/* 45b48: 3c017006 */ lui $at,0x7006
/* 45b4c: c4309c80 */ lwc1 $f16,-0x6380($at)
/* 45b50: 46008483 */ div.s $f18,$f16,$f0
/* 45b54: 10000011 */ b .L00045b9c
/* 45b58: e7b20028 */ swc1 $f18,0x28($sp)
.L00045b5c:
/* 45b5c: 8fab0030 */ lw $t3,0x30($sp)
/* 45b60: 916c008c */ lbu $t4,0x8c($t3)
/* 45b64: 448c2000 */ mtc1 $t4,$f4
/* 45b68: 05810005 */ bgez $t4,.L00045b80
/* 45b6c: 46802220 */ cvt.s.w $f8,$f4
/* 45b70: 3c014f80 */ lui $at,0x4f80
/* 45b74: 44813000 */ mtc1 $at,$f6
/* 45b78: 00000000 */ nop
/* 45b7c: 46064200 */ add.s $f8,$f8,$f6
.L00045b80:
/* 45b80: 3c013f80 */ lui $at,0x3f80
/* 45b84: 44815000 */ mtc1 $at,$f10
/* 45b88: 3c014780 */ lui $at,0x4780
/* 45b8c: 44819000 */ mtc1 $at,$f18
/* 45b90: 460a4400 */ add.s $f16,$f8,$f10
/* 45b94: 46109103 */ div.s $f4,$f18,$f16
/* 45b98: e7a40028 */ swc1 $f4,0x28($sp)
.L00045b9c:
/* 45b9c: 3c017006 */ lui $at,0x7006
/* 45ba0: c4289c84 */ lwc1 $f8,-0x637c($at)
/* 45ba4: c7a60028 */ lwc1 $f6,0x28($sp)
/* 45ba8: 4608303c */ c.lt.s $f6,$f8
/* 45bac: 00000000 */ nop
/* 45bb0: 45000004 */ bc1f .L00045bc4
/* 45bb4: 00000000 */ nop
/* 45bb8: 3c017006 */ lui $at,0x7006
/* 45bbc: c42a9c88 */ lwc1 $f10,-0x6378($at)
/* 45bc0: e7aa0028 */ swc1 $f10,0x28($sp)
.L00045bc4:
/* 45bc4: 8fad002c */ lw $t5,0x2c($sp)
/* 45bc8: 25ae0008 */ addiu $t6,$t5,0x8
/* 45bcc: afae002c */ sw $t6,0x2c($sp)
/* 45bd0: afad0024 */ sw $t5,0x24($sp)
/* 45bd4: 8faf0034 */ lw $t7,0x34($sp)
/* 45bd8: 8fa80024 */ lw $t0,0x24($sp)
/* 45bdc: 85f80000 */ lh $t8,0x0($t7)
/* 45be0: 3319ffff */ andi $t9,$t8,0xffff
/* 45be4: ad190000 */ sw $t9,0x0($t0)
/* 45be8: 4449f800 */ cfc1 $t1,$31
/* 45bec: 240a0001 */ addiu $t2,$zero,0x1
/* 45bf0: 44caf800 */ ctc1 $t2,$31
/* 45bf4: c7b20028 */ lwc1 $f18,0x28($sp)
/* 45bf8: 46009424 */ cvt.w.s $f16,$f18
/* 45bfc: 444af800 */ cfc1 $t2,$31
/* 45c00: 00000000 */ nop
/* 45c04: 31410004 */ andi $at,$t2,0x4
/* 45c08: 314a0078 */ andi $t2,$t2,0x78
/* 45c0c: 11400014 */ beqz $t2,.L00045c60
/* 45c10: 00000000 */ nop
/* 45c14: 3c014f00 */ lui $at,0x4f00
/* 45c18: 44818000 */ mtc1 $at,$f16
/* 45c1c: 240a0001 */ addiu $t2,$zero,0x1
/* 45c20: 46109401 */ sub.s $f16,$f18,$f16
/* 45c24: 44caf800 */ ctc1 $t2,$31
/* 45c28: 00000000 */ nop
/* 45c2c: 46008424 */ cvt.w.s $f16,$f16
/* 45c30: 444af800 */ cfc1 $t2,$31
/* 45c34: 00000000 */ nop
/* 45c38: 31410004 */ andi $at,$t2,0x4
/* 45c3c: 314a0078 */ andi $t2,$t2,0x78
/* 45c40: 15400005 */ bnez $t2,.L00045c58
/* 45c44: 00000000 */ nop
/* 45c48: 440a8000 */ mfc1 $t2,$f16
/* 45c4c: 3c018000 */ lui $at,0x8000
/* 45c50: 10000007 */ b .L00045c70
/* 45c54: 01415025 */ or $t2,$t2,$at
.L00045c58:
/* 45c58: 10000005 */ b .L00045c70
/* 45c5c: 240affff */ addiu $t2,$zero,-1
.L00045c60:
/* 45c60: 440a8000 */ mfc1 $t2,$f16
/* 45c64: 00000000 */ nop
/* 45c68: 0540fffb */ bltz $t2,.L00045c58
/* 45c6c: 00000000 */ nop
.L00045c70:
/* 45c70: 8fad0030 */ lw $t5,0x30($sp)
/* 45c74: 8fa80024 */ lw $t0,0x24($sp)
/* 45c78: 314bffff */ andi $t3,$t2,0xffff
/* 45c7c: 91ae008c */ lbu $t6,0x8c($t5)
/* 45c80: 000b6400 */ sll $t4,$t3,0x10
/* 45c84: 44c9f800 */ ctc1 $t1,$31
/* 45c88: 25cf0001 */ addiu $t7,$t6,0x1
/* 45c8c: 31f8ffff */ andi $t8,$t7,0xffff
/* 45c90: 0198c825 */ or $t9,$t4,$t8
/* 45c94: ad190004 */ sw $t9,0x4($t0)
.L00045c98:
/* 45c98: 8fa90030 */ lw $t1,0x30($sp)
/* 45c9c: 852a0092 */ lh $t2,0x92($t1)
/* 45ca0: 19400039 */ blez $t2,.L00045d88
/* 45ca4: 00000000 */ nop
/* 45ca8: 8fab0030 */ lw $t3,0x30($sp)
/* 45cac: 8d6d00b8 */ lw $t5,0xb8($t3)
/* 45cb0: 11a00006 */ beqz $t5,.L00045ccc
/* 45cb4: 00000000 */ nop
/* 45cb8: 8fa40030 */ lw $a0,0x30($sp)
/* 45cbc: 3c0546ac */ lui $a1,0x46ac
/* 45cc0: 34a54400 */ ori $a1,$a1,0x4400
/* 45cc4: 0c00ee99 */ jal func0003ba64
/* 45cc8: 24840090 */ addiu $a0,$a0,0x90
.L00045ccc:
/* 45ccc: 8fae002c */ lw $t6,0x2c($sp)
/* 45cd0: 25cf0008 */ addiu $t7,$t6,0x8
/* 45cd4: afaf002c */ sw $t7,0x2c($sp)
/* 45cd8: afae0020 */ sw $t6,0x20($sp)
/* 45cdc: 8fb80020 */ lw $t8,0x20($sp)
/* 45ce0: 3c0c0b00 */ lui $t4,0xb00
/* 45ce4: 358c0020 */ ori $t4,$t4,0x20
/* 45ce8: af0c0000 */ sw $t4,0x0($t8)
/* 45cec: 8fa40030 */ lw $a0,0x30($sp)
/* 45cf0: 0c012d20 */ jal osVirtualToPhysical
/* 45cf4: 24840098 */ addiu $a0,$a0,0x98
/* 45cf8: 8fb90020 */ lw $t9,0x20($sp)
/* 45cfc: af220004 */ sw $v0,0x4($t9)
/* 45d00: 8fa80030 */ lw $t0,0x30($sp)
/* 45d04: 24010002 */ addiu $at,$zero,0x2
/* 45d08: 8d0900b8 */ lw $t1,0xb8($t0)
/* 45d0c: 15210003 */ bne $t1,$at,.L00045d1c
/* 45d10: 00000000 */ nop
/* 45d14: 8faa0030 */ lw $t2,0x30($sp)
/* 45d18: ad4000b8 */ sw $zero,0xb8($t2)
.L00045d1c:
/* 45d1c: 8fab002c */ lw $t3,0x2c($sp)
/* 45d20: 256d0008 */ addiu $t5,$t3,0x8
/* 45d24: afad002c */ sw $t5,0x2c($sp)
/* 45d28: afab001c */ sw $t3,0x1c($sp)
/* 45d2c: 8fb80030 */ lw $t8,0x30($sp)
/* 45d30: 8fae0034 */ lw $t6,0x34($sp)
/* 45d34: 8fad001c */ lw $t5,0x1c($sp)
/* 45d38: 8f1900b8 */ lw $t9,0xb8($t8)
/* 45d3c: 85cf0000 */ lh $t7,0x0($t6)
/* 45d40: 3c010e00 */ lui $at,0xe00
/* 45d44: 332800ff */ andi $t0,$t9,0xff
/* 45d48: 00084c00 */ sll $t1,$t0,0x10
/* 45d4c: 01215025 */ or $t2,$t1,$at
/* 45d50: 31ecffff */ andi $t4,$t7,0xffff
/* 45d54: 018a5825 */ or $t3,$t4,$t2
/* 45d58: adab0000 */ sw $t3,0x0($t5)
/* 45d5c: 8fae0030 */ lw $t6,0x30($sp)
/* 45d60: 0c012d20 */ jal osVirtualToPhysical
/* 45d64: 8dc400bc */ lw $a0,0xbc($t6)
/* 45d68: 3c0100ff */ lui $at,0xff
/* 45d6c: 8fb9001c */ lw $t9,0x1c($sp)
/* 45d70: 3421ffff */ ori $at,$at,0xffff
/* 45d74: 00417824 */ and $t7,$v0,$at
/* 45d78: 01e1c024 */ and $t8,$t7,$at
/* 45d7c: af380004 */ sw $t8,0x4($t9)
/* 45d80: 8fa80030 */ lw $t0,0x30($sp)
/* 45d84: ad0000b8 */ sw $zero,0xb8($t0)
.L00045d88:
/* 45d88: 10000003 */ b .L00045d98
/* 45d8c: 8fa2002c */ lw $v0,0x2c($sp)
/* 45d90: 10000001 */ b .L00045d98
/* 45d94: 00000000 */ nop
.L00045d98:
/* 45d98: 8fbf0014 */ lw $ra,0x14($sp)
/* 45d9c: 27bd0030 */ addiu $sp,$sp,0x30
/* 45da0: 03e00008 */ jr $ra
/* 45da4: 00000000 */ nop
);
GLOBAL_ASM(
glabel func00045da8
/* 45da8: 27bdffd8 */ addiu $sp,$sp,-40
/* 45dac: afbf001c */ sw $ra,0x1c($sp)
/* 45db0: afa40028 */ sw $a0,0x28($sp)
/* 45db4: afa5002c */ sw $a1,0x2c($sp)
/* 45db8: afa60030 */ sw $a2,0x30($sp)
/* 45dbc: afb00018 */ sw $s0,0x18($sp)
/* 45dc0: 27ae0030 */ addiu $t6,$sp,0x30
/* 45dc4: afae0024 */ sw $t6,0x24($sp)
/* 45dc8: 8fb0002c */ lw $s0,0x2c($sp)
/* 45dcc: 24010004 */ addiu $at,$zero,0x4
/* 45dd0: 1201000c */ beq $s0,$at,.L00045e04
/* 45dd4: 00000000 */ nop
/* 45dd8: 24010011 */ addiu $at,$zero,0x11
/* 45ddc: 12010027 */ beq $s0,$at,.L00045e7c
/* 45de0: 00000000 */ nop
/* 45de4: 24010012 */ addiu $at,$zero,0x12
/* 45de8: 1201000e */ beq $s0,$at,.L00045e24
/* 45dec: 00000000 */ nop
/* 45df0: 24010013 */ addiu $at,$zero,0x13
/* 45df4: 12010014 */ beq $s0,$at,.L00045e48
/* 45df8: 00000000 */ nop
/* 45dfc: 10000024 */ b .L00045e90
/* 45e00: 00000000 */ nop
.L00045e04:
/* 45e04: 8faf0028 */ lw $t7,0x28($sp)
/* 45e08: a5e00092 */ sh $zero,0x92($t7)
/* 45e0c: 8fa40028 */ lw $a0,0x28($sp)
/* 45e10: 24050004 */ addiu $a1,$zero,0x4
/* 45e14: 0c011582 */ jal func00045608
/* 45e18: 8fa60030 */ lw $a2,0x30($sp)
/* 45e1c: 10000022 */ b .L00045ea8
/* 45e20: 00000000 */ nop
.L00045e24:
/* 45e24: 8fb80030 */ lw $t8,0x30($sp)
/* 45e28: 8fb90028 */ lw $t9,0x28($sp)
/* 45e2c: a7380092 */ sh $t8,0x92($t9)
/* 45e30: 8fa80028 */ lw $t0,0x28($sp)
/* 45e34: 8d0900b8 */ lw $t1,0xb8($t0)
/* 45e38: 352a0002 */ ori $t2,$t1,0x2
/* 45e3c: ad0a00b8 */ sw $t2,0xb8($t0)
/* 45e40: 10000019 */ b .L00045ea8
/* 45e44: 00000000 */ nop
.L00045e48:
/* 45e48: 8fab0024 */ lw $t3,0x24($sp)
/* 45e4c: 8fae0028 */ lw $t6,0x28($sp)
/* 45e50: c5640000 */ lwc1 $f4,0x0($t3)
/* 45e54: 4600218d */ trunc.w.s $f6,$f4
/* 45e58: 440d3000 */ mfc1 $t5,$f6
/* 45e5c: 00000000 */ nop
/* 45e60: a5cd0090 */ sh $t5,0x90($t6)
/* 45e64: 8faf0028 */ lw $t7,0x28($sp)
/* 45e68: 8df800b8 */ lw $t8,0xb8($t7)
/* 45e6c: 37190002 */ ori $t9,$t8,0x2
/* 45e70: adf900b8 */ sw $t9,0xb8($t7)
/* 45e74: 1000000c */ b .L00045ea8
/* 45e78: 00000000 */ nop
.L00045e7c:
/* 45e7c: 8fa90030 */ lw $t1,0x30($sp)
/* 45e80: 8faa0028 */ lw $t2,0x28($sp)
/* 45e84: a149008c */ sb $t1,0x8c($t2)
/* 45e88: 10000007 */ b .L00045ea8
/* 45e8c: 00000000 */ nop
.L00045e90:
/* 45e90: 8fa40028 */ lw $a0,0x28($sp)
/* 45e94: 8fa5002c */ lw $a1,0x2c($sp)
/* 45e98: 0c011582 */ jal func00045608
/* 45e9c: 8fa60030 */ lw $a2,0x30($sp)
/* 45ea0: 10000001 */ b .L00045ea8
/* 45ea4: 00000000 */ nop
.L00045ea8:
/* 45ea8: 10000003 */ b .L00045eb8
/* 45eac: 00001025 */ or $v0,$zero,$zero
/* 45eb0: 10000001 */ b .L00045eb8
/* 45eb4: 00000000 */ nop
.L00045eb8:
/* 45eb8: 8fbf001c */ lw $ra,0x1c($sp)
/* 45ebc: 8fb00018 */ lw $s0,0x18($sp)
/* 45ec0: 27bd0028 */ addiu $sp,$sp,0x28
/* 45ec4: 03e00008 */ jr $ra
/* 45ec8: 00000000 */ nop
/* 45ecc: 00000000 */ nop
);