1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2024-12-01 15:26:01 +00:00
oot/asm/code_800B2400.s
2020-03-17 00:31:30 -04:00

423 lines
20 KiB
ArmAsm

.include "macro.inc"
# assembler directives
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.set gp=64 # allow use of 64-bit general purposee registers
.section .text
.align 4
glabel func_800B2400
/* B295A0 800B2400 8C82000C */ lw $v0, 0xc($a0)
/* B295A4 800B2404 24010001 */ li $at, 1
/* B295A8 800B2408 10410002 */ beq $v0, $at, .L800B2414
/* B295AC 800B240C 24010002 */ li $at, 2
/* B295B0 800B2410 14410004 */ bne $v0, $at, .L800B2424
.L800B2414:
/* B295B4 800B2414 3C013F80 */ li $at, 0x3F800000 # 0.000000
/* B295B8 800B2418 44812000 */ mtc1 $at, $f4
/* B295BC 800B241C 03E00008 */ jr $ra
/* B295C0 800B2420 E4840004 */ swc1 $f4, 4($a0)
.L800B2424:
/* B295C4 800B2424 3C018014 */ lui $at, %hi(D_80143090)
/* B295C8 800B2428 C4263090 */ lwc1 $f6, %lo(D_80143090)($at)
/* B295CC 800B242C E4860004 */ swc1 $f6, 4($a0)
/* B295D0 800B2430 03E00008 */ jr $ra
/* B295D4 800B2434 00000000 */ nop
glabel func_800B2438
/* B295D8 800B2438 27BDFFD0 */ addiu $sp, $sp, -0x30
/* B295DC 800B243C AFBF002C */ sw $ra, 0x2c($sp)
/* B295E0 800B2440 AFB00028 */ sw $s0, 0x28($sp)
/* B295E4 800B2444 00808025 */ move $s0, $a0
/* B295E8 800B2448 0C001114 */ jal bzero
/* B295EC 800B244C 240501E0 */ li $a1, 480
/* B295F0 800B2450 3C0142F0 */ li $at, 0x42F00000 # 0.000000
/* B295F4 800B2454 44812000 */ mtc1 $at, $f4
/* B295F8 800B2458 3C01C47A */ li $at, 0xC47A0000 # 0.000000
/* B295FC 800B245C 44813000 */ mtc1 $at, $f6
/* B29600 800B2460 3C01447A */ li $at, 0x447A0000 # 0.000000
/* B29604 800B2464 44814000 */ mtc1 $at, $f8
/* B29608 800B2468 3C013F80 */ li $at, 0x3F800000 # 0.000000
/* B2960C 800B246C 44815000 */ mtc1 $at, $f10
/* B29610 800B2470 26040018 */ addiu $a0, $s0, 0x18
/* B29614 800B2474 3C05C320 */ lui $a1, 0xc320
/* B29618 800B2478 3C064320 */ lui $a2, 0x4320
/* B2961C 800B247C 3C07C2F0 */ lui $a3, 0xc2f0
/* B29620 800B2480 E7A40010 */ swc1 $f4, 0x10($sp)
/* B29624 800B2484 E7A60014 */ swc1 $f6, 0x14($sp)
/* B29628 800B2488 E7A80018 */ swc1 $f8, 0x18($sp)
/* B2962C 800B248C 0C041169 */ jal func_801045A4
/* B29630 800B2490 E7AA001C */ swc1 $f10, 0x1c($sp)
/* B29634 800B2494 3C013F80 */ li $at, 0x3F800000 # 0.000000
/* B29638 800B2498 44818000 */ mtc1 $at, $f16
/* B2963C 800B249C 240E0002 */ li $t6, 2
/* B29640 800B24A0 AE0E000C */ sw $t6, 0xc($s0)
/* B29644 800B24A4 3C018014 */ lui $at, %hi(D_80143094)
/* B29648 800B24A8 E6100004 */ swc1 $f16, 4($s0)
/* B2964C 800B24AC C4323094 */ lwc1 $f18, %lo(D_80143094)($at)
/* B29650 800B24B0 240F0001 */ li $t7, 1
/* B29654 800B24B4 AE0F0010 */ sw $t7, 0x10($s0)
/* B29658 800B24B8 E6120008 */ swc1 $f18, 8($s0)
/* B2965C 800B24BC 8FBF002C */ lw $ra, 0x2c($sp)
/* B29660 800B24C0 02001025 */ move $v0, $s0
/* B29664 800B24C4 8FB00028 */ lw $s0, 0x28($sp)
/* B29668 800B24C8 03E00008 */ jr $ra
/* B2966C 800B24CC 27BD0030 */ addiu $sp, $sp, 0x30
glabel func_800B24D0
/* B29670 800B24D0 03E00008 */ jr $ra
/* B29674 800B24D4 AFA40000 */ sw $a0, ($sp)
glabel func_800B24D8
/* B29678 800B24D8 18A00042 */ blez $a1, .L800B25E4
/* B2967C 800B24DC 00A01025 */ move $v0, $a1
/* B29680 800B24E0 3C018014 */ lui $at, %hi(D_80143098)
/* B29684 800B24E4 C42C3098 */ lwc1 $f12, %lo(D_80143098)($at)
/* B29688 800B24E8 3C013F80 */ li $at, 0x3F800000 # 0.000000
/* B2968C 800B24EC 44811000 */ mtc1 $at, $f2
/* B29690 800B24F0 24080004 */ li $t0, 4
/* B29694 800B24F4 24070003 */ li $a3, 3
/* B29698 800B24F8 24060002 */ li $a2, 2
/* B2969C 800B24FC 24050001 */ li $a1, 1
/* B296A0 800B2500 8C83000C */ lw $v1, 0xc($a0)
.L800B2504:
/* B296A4 800B2504 2442FFFF */ addiu $v0, $v0, -1
/* B296A8 800B2508 14A3000D */ bne $a1, $v1, .L800B2540
/* B296AC 800B250C 00000000 */ nop
/* B296B0 800B2510 C4860008 */ lwc1 $f6, 8($a0)
/* B296B4 800B2514 C4840004 */ lwc1 $f4, 4($a0)
/* B296B8 800B2518 46061201 */ sub.s $f8, $f2, $f6
/* B296BC 800B251C 46082002 */ mul.s $f0, $f4, $f8
/* B296C0 800B2520 460C003C */ c.lt.s $f0, $f12
/* B296C4 800B2524 00000000 */ nop
/* B296C8 800B2528 45000003 */ bc1f .L800B2538
/* B296CC 800B252C 00000000 */ nop
/* B296D0 800B2530 1000002A */ b .L800B25DC
/* B296D4 800B2534 E48C0004 */ swc1 $f12, 4($a0)
.L800B2538:
/* B296D8 800B2538 10000028 */ b .L800B25DC
/* B296DC 800B253C E4800004 */ swc1 $f0, 4($a0)
.L800B2540:
/* B296E0 800B2540 14C3000C */ bne $a2, $v1, .L800B2574
/* B296E4 800B2544 00000000 */ nop
/* B296E8 800B2548 C48A0004 */ lwc1 $f10, 4($a0)
/* B296EC 800B254C C4900008 */ lwc1 $f16, 8($a0)
/* B296F0 800B2550 46105001 */ sub.s $f0, $f10, $f16
/* B296F4 800B2554 460C003C */ c.lt.s $f0, $f12
/* B296F8 800B2558 00000000 */ nop
/* B296FC 800B255C 45000003 */ bc1f .L800B256C
/* B29700 800B2560 00000000 */ nop
/* B29704 800B2564 1000001D */ b .L800B25DC
/* B29708 800B2568 E48C0004 */ swc1 $f12, 4($a0)
.L800B256C:
/* B2970C 800B256C 1000001B */ b .L800B25DC
/* B29710 800B2570 E4800004 */ swc1 $f0, 4($a0)
.L800B2574:
/* B29714 800B2574 14E3000D */ bne $a3, $v1, .L800B25AC
/* B29718 800B2578 00000000 */ nop
/* B2971C 800B257C C4860008 */ lwc1 $f6, 8($a0)
/* B29720 800B2580 C4920004 */ lwc1 $f18, 4($a0)
/* B29724 800B2584 46061101 */ sub.s $f4, $f2, $f6
/* B29728 800B2588 46049003 */ div.s $f0, $f18, $f4
/* B2972C 800B258C 4600103C */ c.lt.s $f2, $f0
/* B29730 800B2590 00000000 */ nop
/* B29734 800B2594 45000003 */ bc1f .L800B25A4
/* B29738 800B2598 00000000 */ nop
/* B2973C 800B259C 1000000F */ b .L800B25DC
/* B29740 800B25A0 E4820004 */ swc1 $f2, 4($a0)
.L800B25A4:
/* B29744 800B25A4 1000000D */ b .L800B25DC
/* B29748 800B25A8 E4800004 */ swc1 $f0, 4($a0)
.L800B25AC:
/* B2974C 800B25AC 1503000B */ bne $t0, $v1, .L800B25DC
/* B29750 800B25B0 00000000 */ nop
/* B29754 800B25B4 C4880004 */ lwc1 $f8, 4($a0)
/* B29758 800B25B8 C48A0008 */ lwc1 $f10, 8($a0)
/* B2975C 800B25BC 460A4000 */ add.s $f0, $f8, $f10
/* B29760 800B25C0 4600103C */ c.lt.s $f2, $f0
/* B29764 800B25C4 00000000 */ nop
/* B29768 800B25C8 45020004 */ bc1fl .L800B25DC
/* B2976C 800B25CC E4800004 */ swc1 $f0, 4($a0)
/* B29770 800B25D0 10000002 */ b .L800B25DC
/* B29774 800B25D4 E4820004 */ swc1 $f2, 4($a0)
/* B29778 800B25D8 E4800004 */ swc1 $f0, 4($a0)
.L800B25DC:
/* B2977C 800B25DC 5440FFC9 */ bnezl $v0, .L800B2504
/* B29780 800B25E0 8C83000C */ lw $v1, 0xc($a0)
.L800B25E4:
/* B29784 800B25E4 03E00008 */ jr $ra
/* B29788 800B25E8 00000000 */ nop
glabel func_800B25EC
/* B2978C 800B25EC 03E00008 */ jr $ra
/* B29790 800B25F0 AC850000 */ sw $a1, ($a0)
glabel func_800B25F4
/* B29794 800B25F4 03E00008 */ jr $ra
/* B29798 800B25F8 AC850010 */ sw $a1, 0x10($a0)
glabel func_800B25FC
/* B2979C 800B25FC 03E00008 */ jr $ra
/* B297A0 800B2600 AC85000C */ sw $a1, 0xc($a0)
glabel func_800B2604
/* B297A4 800B2604 27BDFF68 */ addiu $sp, $sp, -0x98
/* B297A8 800B2608 AFBF002C */ sw $ra, 0x2c($sp)
/* B297AC 800B260C AFA40098 */ sw $a0, 0x98($sp)
/* B297B0 800B2610 AFA5009C */ sw $a1, 0x9c($sp)
/* B297B4 800B2614 8C820058 */ lw $v0, 0x58($a0)
/* B297B8 800B2618 3C0143B4 */ li $at, 0x43B40000 # 0.000000
/* B297BC 800B261C 44812000 */ mtc1 $at, $f4
/* B297C0 800B2620 C4820004 */ lwc1 $f2, 4($a0)
/* B297C4 800B2624 0002C080 */ sll $t8, $v0, 2
/* B297C8 800B2628 0302C023 */ subu $t8, $t8, $v0
/* B297CC 800B262C 0018C180 */ sll $t8, $t8, 6
/* B297D0 800B2630 3C013F20 */ li $at, 0x3F200000 # 0.000000
/* B297D4 800B2634 46041382 */ mul.s $f14, $f2, $f4
/* B297D8 800B2638 44813000 */ mtc1 $at, $f6
/* B297DC 800B263C 0098C821 */ addu $t9, $a0, $t8
/* B297E0 800B2640 8CA30000 */ lw $v1, ($a1)
/* B297E4 800B2644 27280060 */ addiu $t0, $t9, 0x60
/* B297E8 800B2648 AFA80090 */ sw $t0, 0x90($sp)
/* B297EC 800B264C 38490001 */ xori $t1, $v0, 1
/* B297F0 800B2650 46061302 */ mul.s $f12, $f2, $f6
/* B297F4 800B2654 AC890058 */ sw $t1, 0x58($a0)
/* B297F8 800B2658 44805000 */ mtc1 $zero, $f10
/* B297FC 800B265C 46001221 */ cvt.d.s $f8, $f2
/* B29800 800B2660 46007421 */ cvt.d.s $f16, $f14
/* B29804 800B2664 44074000 */ mfc1 $a3, $f8
/* B29808 800B2668 46005021 */ cvt.d.s $f0, $f10
/* B2980C 800B266C 44064800 */ mfc1 $a2, $f9
/* B29810 800B2670 3C048014 */ lui $a0, %hi(D_80143070)
/* B29814 800B2674 24843070 */ addiu $a0, %lo(D_80143070) # addiu $a0, $a0, 0x3070
/* B29818 800B2678 F7A00010 */ sdc1 $f0, 0x10($sp)
/* B2981C 800B267C F7A00018 */ sdc1 $f0, 0x18($sp)
/* B29820 800B2680 F7B00020 */ sdc1 $f16, 0x20($sp)
/* B29824 800B2684 E7AE0080 */ swc1 $f14, 0x80($sp)
/* B29828 800B2688 E7AC008C */ swc1 $f12, 0x8c($sp)
/* B2982C 800B268C 0C00084C */ jal osSyncPrintf
/* B29830 800B2690 AFA30094 */ sw $v1, 0x94($sp)
/* B29834 800B2694 C7AC008C */ lwc1 $f12, 0x8c($sp)
/* B29838 800B2698 8FA40090 */ lw $a0, 0x90($sp)
/* B2983C 800B269C 3C073F80 */ li $a3, 0x3F800000 # 0.000000
/* B29840 800B26A0 44056000 */ mfc1 $a1, $f12
/* B29844 800B26A4 44066000 */ mfc1 $a2, $f12
/* B29848 800B26A8 0C040078 */ jal func_801001E0
/* B2984C 800B26AC 00000000 */ nop
/* B29850 800B26B0 44800000 */ mtc1 $zero, $f0
/* B29854 800B26B4 8FA40090 */ lw $a0, 0x90($sp)
/* B29858 800B26B8 3C013F80 */ li $at, 0x3F800000 # 0.000000
/* B2985C 800B26BC 44819000 */ mtc1 $at, $f18
/* B29860 800B26C0 24840040 */ addiu $a0, $a0, 0x40
/* B29864 800B26C4 44060000 */ mfc1 $a2, $f0
/* B29868 800B26C8 44070000 */ mfc1 $a3, $f0
/* B2986C 800B26CC AFA40034 */ sw $a0, 0x34($sp)
/* B29870 800B26D0 8FA50080 */ lw $a1, 0x80($sp)
/* B29874 800B26D4 0C040FE9 */ jal func_80103FA4
/* B29878 800B26D8 E7B20010 */ swc1 $f18, 0x10($sp)
/* B2987C 800B26DC 44800000 */ mtc1 $zero, $f0
/* B29880 800B26E0 8FA40090 */ lw $a0, 0x90($sp)
/* B29884 800B26E4 44050000 */ mfc1 $a1, $f0
/* B29888 800B26E8 24840080 */ addiu $a0, $a0, 0x80
/* B2988C 800B26EC 44060000 */ mfc1 $a2, $f0
/* B29890 800B26F0 44070000 */ mfc1 $a3, $f0
/* B29894 800B26F4 0C041708 */ jal func_80105C20
/* B29898 800B26F8 AFA40030 */ sw $a0, 0x30($sp)
/* B2989C 800B26FC 8FA20094 */ lw $v0, 0x94($sp)
/* B298A0 800B2700 8FA40030 */ lw $a0, 0x30($sp)
/* B298A4 800B2704 3C0AE700 */ lui $t2, 0xe700
/* B298A8 800B2708 AC4A0000 */ sw $t2, ($v0)
/* B298AC 800B270C AC400004 */ sw $zero, 4($v0)
/* B298B0 800B2710 24430008 */ addiu $v1, $v0, 8
/* B298B4 800B2714 00601025 */ move $v0, $v1
/* B298B8 800B2718 3C0C8013 */ lui $t4, %hi(D_8012B030) # $t4, 0x8013
/* B298BC 800B271C 258CB030 */ addiu $t4, %lo(D_8012B030) # addiu $t4, $t4, -0x4fd0
/* B298C0 800B2720 3C0BDE00 */ lui $t3, 0xde00
/* B298C4 800B2724 AC4B0000 */ sw $t3, ($v0)
/* B298C8 800B2728 AC4C0004 */ sw $t4, 4($v0)
/* B298CC 800B272C 8FA60098 */ lw $a2, 0x98($sp)
/* B298D0 800B2730 24630008 */ addiu $v1, $v1, 8
/* B298D4 800B2734 00601025 */ move $v0, $v1
/* B298D8 800B2738 3C0DFA00 */ lui $t5, 0xfa00
/* B298DC 800B273C AC4D0000 */ sw $t5, ($v0)
/* B298E0 800B2740 8CCE0000 */ lw $t6, ($a2)
/* B298E4 800B2744 24630008 */ addiu $v1, $v1, 8
/* B298E8 800B2748 3C18FCFF */ lui $t8, (0xFCFFFFFF >> 16) # lui $t8, 0xfcff
/* B298EC 800B274C AC4E0004 */ sw $t6, 4($v0)
/* B298F0 800B2750 00601025 */ move $v0, $v1
/* B298F4 800B2754 3C19FFFD */ lui $t9, (0xFFFDF6FB >> 16) # lui $t9, 0xfffd
/* B298F8 800B2758 3739F6FB */ ori $t9, (0xFFFDF6FB & 0xFFFF) # ori $t9, $t9, 0xf6fb
/* B298FC 800B275C 3718FFFF */ ori $t8, (0xFCFFFFFF & 0xFFFF) # ori $t8, $t8, 0xffff
/* B29900 800B2760 AC580000 */ sw $t8, ($v0)
/* B29904 800B2764 AC590004 */ sw $t9, 4($v0)
/* B29908 800B2768 24630008 */ addiu $v1, $v1, 8
/* B2990C 800B276C 00601025 */ move $v0, $v1
/* B29910 800B2770 3C08DA38 */ lui $t0, (0xDA380007 >> 16) # lui $t0, 0xda38
/* B29914 800B2774 35080007 */ ori $t0, (0xDA380007 & 0xFFFF) # ori $t0, $t0, 7
/* B29918 800B2778 24C90018 */ addiu $t1, $a2, 0x18
/* B2991C 800B277C AC490004 */ sw $t1, 4($v0)
/* B29920 800B2780 AC480000 */ sw $t0, ($v0)
/* B29924 800B2784 24630008 */ addiu $v1, $v1, 8
/* B29928 800B2788 3C0FDA38 */ lui $t7, (0xDA380003 >> 16) # lui $t7, 0xda38
/* B2992C 800B278C 35EF0003 */ ori $t7, (0xDA380003 & 0xFFFF) # ori $t7, $t7, 3
/* B29930 800B2790 00601025 */ move $v0, $v1
/* B29934 800B2794 AC4F0000 */ sw $t7, ($v0)
/* B29938 800B2798 8FAA0090 */ lw $t2, 0x90($sp)
/* B2993C 800B279C 24630008 */ addiu $v1, $v1, 8
/* B29940 800B27A0 3C05DA38 */ lui $a1, (0xDA380001 >> 16) # lui $a1, 0xda38
/* B29944 800B27A4 AC4A0004 */ sw $t2, 4($v0)
/* B29948 800B27A8 00601025 */ move $v0, $v1
/* B2994C 800B27AC 34A50001 */ ori $a1, (0xDA380001 & 0xFFFF) # ori $a1, $a1, 1
/* B29950 800B27B0 AC450000 */ sw $a1, ($v0)
/* B29954 800B27B4 8FAB0034 */ lw $t3, 0x34($sp)
/* B29958 800B27B8 24630008 */ addiu $v1, $v1, 8
/* B2995C 800B27BC 3C0D8013 */ lui $t5, %hi(D_8012B060) # $t5, 0x8013
/* B29960 800B27C0 AC4B0004 */ sw $t3, 4($v0)
/* B29964 800B27C4 00601025 */ move $v0, $v1
/* B29968 800B27C8 AC450000 */ sw $a1, ($v0)
/* B2996C 800B27CC 24630008 */ addiu $v1, $v1, 8
/* B29970 800B27D0 AC440004 */ sw $a0, 4($v0)
/* B29974 800B27D4 00601025 */ move $v0, $v1
/* B29978 800B27D8 3C0C0100 */ lui $t4, (0x0100A014 >> 16) # lui $t4, 0x100
/* B2997C 800B27DC 358CA014 */ ori $t4, (0x0100A014 & 0xFFFF) # ori $t4, $t4, 0xa014
/* B29980 800B27E0 25ADB060 */ addiu $t5, %lo(D_8012B060) # addiu $t5, $t5, -0x4fa0
/* B29984 800B27E4 AC4D0004 */ sw $t5, 4($v0)
/* B29988 800B27E8 AC4C0000 */ sw $t4, ($v0)
/* B2998C 800B27EC 24630008 */ addiu $v1, $v1, 8
/* B29990 800B27F0 AFA30094 */ sw $v1, 0x94($sp)
/* B29994 800B27F4 0C02CA51 */ jal func_800B2944
/* B29998 800B27F8 00C02025 */ move $a0, $a2
/* B2999C 800B27FC 14400038 */ bnez $v0, .L800B28E0
/* B299A0 800B2800 8FA30094 */ lw $v1, 0x94($sp)
/* B299A4 800B2804 8FAE0098 */ lw $t6, 0x98($sp)
/* B299A8 800B2808 24010001 */ li $at, 1
/* B299AC 800B280C 3C180600 */ lui $t8, (0x0600080A >> 16) # lui $t8, 0x600
/* B299B0 800B2810 8DC20010 */ lw $v0, 0x10($t6)
/* B299B4 800B2814 3C190008 */ lui $t9, (0x00080206 >> 16) # lui $t9, 8
/* B299B8 800B2818 37390206 */ ori $t9, (0x00080206 & 0xFFFF) # ori $t9, $t9, 0x206
/* B299BC 800B281C 10410006 */ beq $v0, $at, .L800B2838
/* B299C0 800B2820 3718080A */ ori $t8, (0x0600080A & 0xFFFF) # ori $t8, $t8, 0x80a
/* B299C4 800B2824 24010002 */ li $at, 2
/* B299C8 800B2828 1041000E */ beq $v0, $at, .L800B2864
/* B299CC 800B282C 3C090606 */ lui $t1, (0x0606080A >> 16) # lui $t1, 0x606
/* B299D0 800B2830 1000003A */ b .L800B291C
/* B299D4 800B2834 00601025 */ move $v0, $v1
.L800B2838:
/* B299D8 800B2838 00601025 */ move $v0, $v1
/* B299DC 800B283C AC580000 */ sw $t8, ($v0)
/* B299E0 800B2840 AC590004 */ sw $t9, 4($v0)
/* B299E4 800B2844 24630008 */ addiu $v1, $v1, 8
/* B299E8 800B2848 00601025 */ move $v0, $v1
/* B299EC 800B284C 3C08050A */ lui $t0, (0x050A0604 >> 16) # lui $t0, 0x50a
/* B299F0 800B2850 35080604 */ ori $t0, (0x050A0604 & 0xFFFF) # ori $t0, $t0, 0x604
/* B299F4 800B2854 AC480000 */ sw $t0, ($v0)
/* B299F8 800B2858 AC400004 */ sw $zero, 4($v0)
/* B299FC 800B285C 1000002E */ b .L800B2918
/* B29A00 800B2860 24630008 */ addiu $v1, $v1, 8
.L800B2864:
/* B29A04 800B2864 00601025 */ move $v0, $v1
/* B29A08 800B2868 3529080A */ ori $t1, (0x0606080A & 0xFFFF) # ori $t1, $t1, 0x80a
/* B29A0C 800B286C 240F040C */ li $t7, 1036
/* B29A10 800B2870 AC4F0004 */ sw $t7, 4($v0)
/* B29A14 800B2874 AC490000 */ sw $t1, ($v0)
/* B29A18 800B2878 24630008 */ addiu $v1, $v1, 8
/* B29A1C 800B287C 00601025 */ move $v0, $v1
/* B29A20 800B2880 3C0A0600 */ lui $t2, (0x06000C0E >> 16) # lui $t2, 0x600
/* B29A24 800B2884 3C0B0002 */ lui $t3, (0x0002000E >> 16) # lui $t3, 2
/* B29A28 800B2888 356B000E */ ori $t3, (0x0002000E & 0xFFFF) # ori $t3, $t3, 0xe
/* B29A2C 800B288C 354A0C0E */ ori $t2, (0x06000C0E & 0xFFFF) # ori $t2, $t2, 0xc0e
/* B29A30 800B2890 AC4A0000 */ sw $t2, ($v0)
/* B29A34 800B2894 AC4B0004 */ sw $t3, 4($v0)
/* B29A38 800B2898 24630008 */ addiu $v1, $v1, 8
/* B29A3C 800B289C 00601025 */ move $v0, $v1
/* B29A40 800B28A0 3C0C0602 */ lui $t4, (0x06020E10 >> 16) # lui $t4, 0x602
/* B29A44 800B28A4 3C0D0002 */ lui $t5, (0x00021012 >> 16) # lui $t5, 2
/* B29A48 800B28A8 35AD1012 */ ori $t5, (0x00021012 & 0xFFFF) # ori $t5, $t5, 0x1012
/* B29A4C 800B28AC 358C0E10 */ ori $t4, (0x06020E10 & 0xFFFF) # ori $t4, $t4, 0xe10
/* B29A50 800B28B0 AC4C0000 */ sw $t4, ($v0)
/* B29A54 800B28B4 AC4D0004 */ sw $t5, 4($v0)
/* B29A58 800B28B8 24630008 */ addiu $v1, $v1, 8
/* B29A5C 800B28BC 00601025 */ move $v0, $v1
/* B29A60 800B28C0 3C0E0602 */ lui $t6, (0x06021204 >> 16) # lui $t6, 0x602
/* B29A64 800B28C4 3C180004 */ lui $t8, (0x0004120C >> 16) # lui $t8, 4
/* B29A68 800B28C8 3718120C */ ori $t8, (0x0004120C & 0xFFFF) # ori $t8, $t8, 0x120c
/* B29A6C 800B28CC 35CE1204 */ ori $t6, (0x06021204 & 0xFFFF) # ori $t6, $t6, 0x1204
/* B29A70 800B28D0 AC4E0000 */ sw $t6, ($v0)
/* B29A74 800B28D4 AC580004 */ sw $t8, 4($v0)
/* B29A78 800B28D8 1000000F */ b .L800B2918
/* B29A7C 800B28DC 24630008 */ addiu $v1, $v1, 8
.L800B28E0:
/* B29A80 800B28E0 8FB90098 */ lw $t9, 0x98($sp)
/* B29A84 800B28E4 24010001 */ li $at, 1
/* B29A88 800B28E8 8F220010 */ lw $v0, 0x10($t9)
/* B29A8C 800B28EC 1041000A */ beq $v0, $at, .L800B2918
/* B29A90 800B28F0 24010002 */ li $at, 2
/* B29A94 800B28F4 14410008 */ bne $v0, $at, .L800B2918
/* B29A98 800B28F8 3C08070C */ lui $t0, (0x070C0E10 >> 16) # lui $t0, 0x70c
/* B29A9C 800B28FC 00601025 */ move $v0, $v1
/* B29AA0 800B2900 3C09000C */ lui $t1, (0x000C1012 >> 16) # lui $t1, 0xc
/* B29AA4 800B2904 35291012 */ ori $t1, (0x000C1012 & 0xFFFF) # ori $t1, $t1, 0x1012
/* B29AA8 800B2908 35080E10 */ ori $t0, (0x070C0E10 & 0xFFFF) # ori $t0, $t0, 0xe10
/* B29AAC 800B290C AC480000 */ sw $t0, ($v0)
/* B29AB0 800B2910 AC490004 */ sw $t1, 4($v0)
/* B29AB4 800B2914 24630008 */ addiu $v1, $v1, 8
.L800B2918:
/* B29AB8 800B2918 00601025 */ move $v0, $v1
.L800B291C:
/* B29ABC 800B291C 3C0FE700 */ lui $t7, 0xe700
/* B29AC0 800B2920 AC4F0000 */ sw $t7, ($v0)
/* B29AC4 800B2924 AC400004 */ sw $zero, 4($v0)
/* B29AC8 800B2928 8FAA009C */ lw $t2, 0x9c($sp)
/* B29ACC 800B292C 24630008 */ addiu $v1, $v1, 8
/* B29AD0 800B2930 AD430000 */ sw $v1, ($t2)
/* B29AD4 800B2934 8FBF002C */ lw $ra, 0x2c($sp)
/* B29AD8 800B2938 27BD0098 */ addiu $sp, $sp, 0x98
/* B29ADC 800B293C 03E00008 */ jr $ra
/* B29AE0 800B2940 00000000 */ nop
glabel func_800B2944
/* B29AE4 800B2944 8C82000C */ lw $v0, 0xc($a0)
/* B29AE8 800B2948 24010001 */ li $at, 1
/* B29AEC 800B294C 10410002 */ beq $v0, $at, .L800B2958
/* B29AF0 800B2950 24010002 */ li $at, 2
/* B29AF4 800B2954 1441000B */ bne $v0, $at, .L800B2984
.L800B2958:
/* B29AF8 800B2958 3C018014 */ lui $at, %hi(D_8014309C)
/* B29AFC 800B295C C424309C */ lwc1 $f4, %lo(D_8014309C)($at)
/* B29B00 800B2960 C4860004 */ lwc1 $f6, 4($a0)
/* B29B04 800B2964 00001025 */ move $v0, $zero
/* B29B08 800B2968 4604303E */ c.le.s $f6, $f4
/* B29B0C 800B296C 00000000 */ nop
/* B29B10 800B2970 45000002 */ bc1f .L800B297C
/* B29B14 800B2974 00000000 */ nop
/* B29B18 800B2978 24020001 */ li $v0, 1
.L800B297C:
/* B29B1C 800B297C 03E00008 */ jr $ra
/* B29B20 800B2980 00000000 */ nop
.L800B2984:
/* B29B24 800B2984 24010003 */ li $at, 3
/* B29B28 800B2988 10410002 */ beq $v0, $at, .L800B2994
/* B29B2C 800B298C 24010004 */ li $at, 4
/* B29B30 800B2990 1441000B */ bne $v0, $at, .L800B29C0
.L800B2994:
/* B29B34 800B2994 3C013F80 */ li $at, 0x3F800000 # 0.000000
/* B29B38 800B2998 44815000 */ mtc1 $at, $f10
/* B29B3C 800B299C C4880004 */ lwc1 $f8, 4($a0)
/* B29B40 800B29A0 00001025 */ move $v0, $zero
/* B29B44 800B29A4 4608503E */ c.le.s $f10, $f8
/* B29B48 800B29A8 00000000 */ nop
/* B29B4C 800B29AC 45000002 */ bc1f .L800B29B8
/* B29B50 800B29B0 00000000 */ nop
/* B29B54 800B29B4 24020001 */ li $v0, 1
.L800B29B8:
/* B29B58 800B29B8 03E00008 */ jr $ra
/* B29B5C 800B29BC 00000000 */ nop
.L800B29C0:
/* B29B60 800B29C0 00001025 */ move $v0, $zero
/* B29B64 800B29C4 03E00008 */ jr $ra
/* B29B68 800B29C8 00000000 */ nop