.set noat # allow manual use of $at .set noreorder # don't insert nops after branches glabel func_80037994 /* 012D94 80037994 27BDFFF8 */ addiu $sp, $sp, -8 /* 012D98 80037998 0000602D */ daddu $t4, $zero, $zero /* 012D9C 8003799C 3C02800A */ lui $v0, 0x800a /* 012DA0 800379A0 2442A66C */ addiu $v0, $v0, -0x5994 /* 012DA4 800379A4 0040402D */ daddu $t0, $v0, $zero /* 012DA8 800379A8 3C19800A */ lui $t9, 0x800a /* 012DAC 800379AC 27390978 */ addiu $t9, $t9, 0x978 /* 012DB0 800379B0 3C0DF518 */ lui $t5, 0xf518 /* 012DB4 800379B4 35AD6400 */ ori $t5, $t5, 0x6400 /* 012DB8 800379B8 3C18E441 */ lui $t8, 0xe441 /* 012DBC 800379BC 3C0F000F */ lui $t7, 0xf /* 012DC0 800379C0 0180582D */ daddu $t3, $t4, $zero /* 012DC4 800379C4 0180502D */ daddu $t2, $t4, $zero /* 012DC8 800379C8 3C02DE00 */ lui $v0, 0xde00 /* 012DCC 800379CC AFB00000 */ sw $s0, ($sp) /* 012DD0 800379D0 8D030000 */ lw $v1, ($t0) /* 012DD4 800379D4 3C01C2C8 */ lui $at, 0xc2c8 /* 012DD8 800379D8 44810000 */ mtc1 $at, $f0 /* 012DDC 800379DC 0060202D */ daddu $a0, $v1, $zero /* 012DE0 800379E0 24630008 */ addiu $v1, $v1, 8 /* 012DE4 800379E4 AD030000 */ sw $v1, ($t0) /* 012DE8 800379E8 AC820000 */ sw $v0, ($a0) /* 012DEC 800379EC 3C028007 */ lui $v0, 0x8007 /* 012DF0 800379F0 24427A50 */ addiu $v0, $v0, 0x7a50 /* 012DF4 800379F4 AC820004 */ sw $v0, 4($a0) /* 012DF8 800379F8 24620008 */ addiu $v0, $v1, 8 /* 012DFC 800379FC 46006302 */ mul.s $f12, $f12, $f0 /* 012E00 80037A00 00000000 */ nop /* 012E04 80037A04 AD020000 */ sw $v0, ($t0) /* 012E08 80037A08 3C02E700 */ lui $v0, 0xe700 /* 012E0C 80037A0C AC620000 */ sw $v0, ($v1) /* 012E10 80037A10 AC600004 */ sw $zero, 4($v1) /* 012E14 80037A14 4600608D */ trunc.w.s $f2, $f12 /* 012E18 80037A18 440E1000 */ mfc1 $t6, $f2 /* 012E1C 80037A1C 00000000 */ nop /* 012E20 80037A20 25C9000F */ addiu $t1, $t6, 0xf .L80037A24: /* 012E24 80037A24 3C04FD18 */ lui $a0, 0xfd18 /* 012E28 80037A28 348400C7 */ ori $a0, $a0, 0xc7 /* 012E2C 80037A2C 3C050731 */ lui $a1, 0x731 /* 012E30 80037A30 34A5C004 */ ori $a1, $a1, 0xc004 /* 012E34 80037A34 3C060031 */ lui $a2, 0x31 /* 012E38 80037A38 34C6C004 */ ori $a2, $a2, 0xc004 /* 012E3C 80037A3C 8D070000 */ lw $a3, ($t0) /* 012E40 80037A40 8F220000 */ lw $v0, ($t9) /* 012E44 80037A44 00E0182D */ daddu $v1, $a3, $zero /* 012E48 80037A48 24E70008 */ addiu $a3, $a3, 8 /* 012E4C 80037A4C 004A1021 */ addu $v0, $v0, $t2 /* 012E50 80037A50 AD070000 */ sw $a3, ($t0) /* 012E54 80037A54 AC620004 */ sw $v0, 4($v1) /* 012E58 80037A58 24E20008 */ addiu $v0, $a3, 8 /* 012E5C 80037A5C AC640000 */ sw $a0, ($v1) /* 012E60 80037A60 AD020000 */ sw $v0, ($t0) /* 012E64 80037A64 3C020700 */ lui $v0, 0x700 /* 012E68 80037A68 ACE20004 */ sw $v0, 4($a3) /* 012E6C 80037A6C 24E20010 */ addiu $v0, $a3, 0x10 /* 012E70 80037A70 ACED0000 */ sw $t5, ($a3) /* 012E74 80037A74 AD020000 */ sw $v0, ($t0) /* 012E78 80037A78 3C02E600 */ lui $v0, 0xe600 /* 012E7C 80037A7C ACE20008 */ sw $v0, 8($a3) /* 012E80 80037A80 24E20018 */ addiu $v0, $a3, 0x18 /* 012E84 80037A84 ACE0000C */ sw $zero, 0xc($a3) /* 012E88 80037A88 AD020000 */ sw $v0, ($t0) /* 012E8C 80037A8C 3C02F400 */ lui $v0, 0xf400 /* 012E90 80037A90 ACE20010 */ sw $v0, 0x10($a3) /* 012E94 80037A94 24E20020 */ addiu $v0, $a3, 0x20 /* 012E98 80037A98 ACE50014 */ sw $a1, 0x14($a3) /* 012E9C 80037A9C AD020000 */ sw $v0, ($t0) /* 012EA0 80037AA0 3C02E700 */ lui $v0, 0xe700 /* 012EA4 80037AA4 ACE20018 */ sw $v0, 0x18($a3) /* 012EA8 80037AA8 24E20028 */ addiu $v0, $a3, 0x28 /* 012EAC 80037AAC 24E30030 */ addiu $v1, $a3, 0x30 /* 012EB0 80037AB0 ACE0001C */ sw $zero, 0x1c($a3) /* 012EB4 80037AB4 AD020000 */ sw $v0, ($t0) /* 012EB8 80037AB8 3C02F200 */ lui $v0, 0xf200 /* 012EBC 80037ABC ACED0020 */ sw $t5, 0x20($a3) /* 012EC0 80037AC0 ACE00024 */ sw $zero, 0x24($a3) /* 012EC4 80037AC4 AD030000 */ sw $v1, ($t0) /* 012EC8 80037AC8 ACE20028 */ sw $v0, 0x28($a3) /* 012ECC 80037ACC 24E20038 */ addiu $v0, $a3, 0x38 /* 012ED0 80037AD0 ACE6002C */ sw $a2, 0x2c($a3) /* 012ED4 80037AD4 AD020000 */ sw $v0, ($t0) /* 012ED8 80037AD8 25C20011 */ addiu $v0, $t6, 0x11 /* 012EDC 80037ADC 01621021 */ addu $v0, $t3, $v0 /* 012EE0 80037AE0 00021480 */ sll $v0, $v0, 0x12 /* 012EE4 80037AE4 00021403 */ sra $v0, $v0, 0x10 /* 012EE8 80037AE8 18400004 */ blez $v0, .L80037AFC /* 012EEC 80037AEC 30420FFF */ andi $v0, $v0, 0xfff /* 012EF0 80037AF0 00581025 */ or $v0, $v0, $t8 /* 012EF4 80037AF4 0800DEC0 */ j .L80037B00 /* 012EF8 80037AF8 ACE20030 */ sw $v0, 0x30($a3) .L80037AFC: /* 012EFC 80037AFC ACF80030 */ sw $t8, 0x30($a3) .L80037B00: /* 012F00 80037B00 00091480 */ sll $v0, $t1, 0x12 /* 012F04 80037B04 00021403 */ sra $v0, $v0, 0x10 /* 012F08 80037B08 18400004 */ blez $v0, .L80037B1C /* 012F0C 80037B0C 30420FFF */ andi $v0, $v0, 0xfff /* 012F10 80037B10 004F1025 */ or $v0, $v0, $t7 /* 012F14 80037B14 0800DEC8 */ j .L80037B20 /* 012F18 80037B18 AC620004 */ sw $v0, 4($v1) .L80037B1C: /* 012F1C 80037B1C AC6F0004 */ sw $t7, 4($v1) .L80037B20: /* 012F20 80037B20 8D030000 */ lw $v1, ($t0) /* 012F24 80037B24 24620008 */ addiu $v0, $v1, 8 /* 012F28 80037B28 AD020000 */ sw $v0, ($t0) /* 012F2C 80037B2C 3C02E100 */ lui $v0, 0xe100 /* 012F30 80037B30 AC620000 */ sw $v0, ($v1) /* 012F34 80037B34 00091080 */ sll $v0, $t1, 2 /* 012F38 80037B38 04430008 */ bgezl $v0, .L80037B5C /* 012F3C 80037B3C AC600004 */ sw $zero, 4($v1) /* 012F40 80037B40 00091480 */ sll $v0, $t1, 0x12 /* 012F44 80037B44 00021343 */ sra $v0, $v0, 0xd /* 012F48 80037B48 5C400001 */ bgtzl $v0, .L80037B50 /* 012F4C 80037B4C 0000102D */ daddu $v0, $zero, $zero .L80037B50: /* 012F50 80037B50 00021023 */ negu $v0, $v0 /* 012F54 80037B54 3042FFFF */ andi $v0, $v0, 0xffff /* 012F58 80037B58 AC620004 */ sw $v0, 4($v1) .L80037B5C: /* 012F5C 80037B5C 3C040400 */ lui $a0, 0x400 /* 012F60 80037B60 34840400 */ ori $a0, $a0, 0x400 /* 012F64 80037B64 25290002 */ addiu $t1, $t1, 2 /* 012F68 80037B68 256B0002 */ addiu $t3, $t3, 2 /* 012F6C 80037B6C 254A0640 */ addiu $t2, $t2, 0x640 /* 012F70 80037B70 8D020000 */ lw $v0, ($t0) /* 012F74 80037B74 258C0001 */ addiu $t4, $t4, 1 /* 012F78 80037B78 0040182D */ daddu $v1, $v0, $zero /* 012F7C 80037B7C 24420008 */ addiu $v0, $v0, 8 /* 012F80 80037B80 AD020000 */ sw $v0, ($t0) /* 012F84 80037B84 3C02F100 */ lui $v0, 0xf100 /* 012F88 80037B88 AC620000 */ sw $v0, ($v1) /* 012F8C 80037B8C 29820038 */ slti $v0, $t4, 0x38 /* 012F90 80037B90 1440FFA4 */ bnez $v0, .L80037A24 /* 012F94 80037B94 AC640004 */ sw $a0, 4($v1) /* 012F98 80037B98 3C03800A */ lui $v1, 0x800a /* 012F9C 80037B9C 2463A66C */ addiu $v1, $v1, -0x5994 /* 012FA0 80037BA0 8C620000 */ lw $v0, ($v1) /* 012FA4 80037BA4 0040202D */ daddu $a0, $v0, $zero /* 012FA8 80037BA8 24420008 */ addiu $v0, $v0, 8 /* 012FAC 80037BAC AC620000 */ sw $v0, ($v1) /* 012FB0 80037BB0 3C02E700 */ lui $v0, 0xe700 /* 012FB4 80037BB4 AC820000 */ sw $v0, ($a0) /* 012FB8 80037BB8 AC800004 */ sw $zero, 4($a0) /* 012FBC 80037BBC 8FB00000 */ lw $s0, ($sp) /* 012FC0 80037BC0 03E00008 */ jr $ra /* 012FC4 80037BC4 27BD0008 */ addiu $sp, $sp, 8