oot/asm/non_matchings/code/code_800E11F0/func_800E2558.s

149 lines
6.8 KiB
ArmAsm

glabel func_800E2558
/* B596F8 800E2558 27BDFFB0 */ addiu $sp, $sp, -0x50
/* B596FC 800E255C AFBF001C */ sw $ra, 0x1c($sp)
/* B59700 800E2560 AFB00018 */ sw $s0, 0x18($sp)
/* B59704 800E2564 AFA40050 */ sw $a0, 0x50($sp)
/* B59708 800E2568 AFA50054 */ sw $a1, 0x54($sp)
/* B5970C 800E256C 0C0389DA */ jal func_800E2768
/* B59710 800E2570 AFA60058 */ sw $a2, 0x58($sp)
/* B59714 800E2574 AFA2002C */ sw $v0, 0x2c($sp)
/* B59718 800E2578 8FA40050 */ lw $a0, 0x50($sp)
/* B5971C 800E257C 0C0389E9 */ jal func_800E27A4
/* B59720 800E2580 00402825 */ move $a1, $v0
/* B59724 800E2584 10400005 */ beqz $v0, .L800E259C
/* B59728 800E2588 00408025 */ move $s0, $v0
/* B5972C 800E258C 8FAE0058 */ lw $t6, 0x58($sp)
/* B59730 800E2590 24050002 */ li $a1, 2
/* B59734 800E2594 1000005A */ b .L800E2700
/* B59738 800E2598 ADC00000 */ sw $zero, ($t6)
.L800E259C:
/* B5973C 800E259C 0C0389FE */ jal func_800E27F8
/* B59740 800E25A0 8FA40050 */ lw $a0, 0x50($sp)
/* B59744 800E25A4 8FAF002C */ lw $t7, 0x2c($sp)
/* B59748 800E25A8 AFA20048 */ sw $v0, 0x48($sp)
/* B5974C 800E25AC 8FAB0054 */ lw $t3, 0x54($sp)
/* B59750 800E25B0 000FC100 */ sll $t8, $t7, 4
/* B59754 800E25B4 00581821 */ addu $v1, $v0, $t8
/* B59758 800E25B8 8C790014 */ lw $t9, 0x14($v1)
/* B5975C 800E25BC 2401FFF0 */ li $at, -16
/* B59760 800E25C0 000B6100 */ sll $t4, $t3, 4
/* B59764 800E25C4 2729000F */ addiu $t1, $t9, 0xf
/* B59768 800E25C8 01215024 */ and $t2, $t1, $at
/* B5976C 800E25CC AFB9004C */ sw $t9, 0x4c($sp)
/* B59770 800E25D0 AFAA004C */ sw $t2, 0x4c($sp)
/* B59774 800E25D4 004C2021 */ addu $a0, $v0, $t4
/* B59778 800E25D8 808D0018 */ lb $t5, 0x18($a0)
/* B5977C 800E25DC AFAD0040 */ sw $t5, 0x40($sp)
/* B59780 800E25E0 80850019 */ lb $a1, 0x19($a0)
/* B59784 800E25E4 8C6E0010 */ lw $t6, 0x10($v1)
/* B59788 800E25E8 2CA10005 */ sltiu $at, $a1, 5
/* B5978C 800E25EC AFA50024 */ sw $a1, 0x24($sp)
/* B59790 800E25F0 1020002A */ beqz $at, .L800E269C
/* B59794 800E25F4 AFAE0038 */ sw $t6, 0x38($sp)
/* B59798 800E25F8 00057880 */ sll $t7, $a1, 2
/* B5979C 800E25FC 3C018015 */ lui $at, %hi(jtbl_80149458)
/* B597A0 800E2600 002F0821 */ addu $at, $at, $t7
/* B597A4 800E2604 8C2F9458 */ lw $t7, %lo(jtbl_80149458)($at)
/* B597A8 800E2608 01E00008 */ jr $t7
/* B597AC 800E260C 00000000 */ nop
glabel L800E2610
/* B597B0 800E2610 8FA40050 */ lw $a0, 0x50($sp)
/* B597B4 800E2614 8FA5002C */ lw $a1, 0x2c($sp)
/* B597B8 800E2618 0C038150 */ jal func_800E0540
/* B597BC 800E261C 8FA6004C */ lw $a2, 0x4c($sp)
/* B597C0 800E2620 1440001E */ bnez $v0, .L800E269C
/* B597C4 800E2624 00408025 */ move $s0, $v0
/* B597C8 800E2628 1000004B */ b .L800E2758
/* B597CC 800E262C 8FBF001C */ lw $ra, 0x1c($sp)
glabel L800E2630
/* B597D0 800E2630 8FA40050 */ lw $a0, 0x50($sp)
/* B597D4 800E2634 8FA5004C */ lw $a1, 0x4c($sp)
/* B597D8 800E2638 24060001 */ li $a2, 1
/* B597DC 800E263C 0C037A38 */ jal func_800DE8E0
/* B597E0 800E2640 8FA7002C */ lw $a3, 0x2c($sp)
/* B597E4 800E2644 14400015 */ bnez $v0, .L800E269C
/* B597E8 800E2648 00408025 */ move $s0, $v0
/* B597EC 800E264C 10000042 */ b .L800E2758
/* B597F0 800E2650 8FBF001C */ lw $ra, 0x1c($sp)
glabel L800E2654
/* B597F4 800E2654 8FA40050 */ lw $a0, 0x50($sp)
/* B597F8 800E2658 8FA5004C */ lw $a1, 0x4c($sp)
/* B597FC 800E265C 00003025 */ move $a2, $zero
/* B59800 800E2660 0C037A38 */ jal func_800DE8E0
/* B59804 800E2664 8FA7002C */ lw $a3, 0x2c($sp)
/* B59808 800E2668 1440000C */ bnez $v0, .L800E269C
/* B5980C 800E266C 00408025 */ move $s0, $v0
/* B59810 800E2670 10000039 */ b .L800E2758
/* B59814 800E2674 8FBF001C */ lw $ra, 0x1c($sp)
glabel L800E2678
/* B59818 800E2678 8FA40050 */ lw $a0, 0x50($sp)
/* B5981C 800E267C 8FA5004C */ lw $a1, 0x4c($sp)
/* B59820 800E2680 24060002 */ li $a2, 2
/* B59824 800E2684 0C037A38 */ jal func_800DE8E0
/* B59828 800E2688 8FA7002C */ lw $a3, 0x2c($sp)
/* B5982C 800E268C 14400003 */ bnez $v0, .L800E269C
/* B59830 800E2690 00408025 */ move $s0, $v0
/* B59834 800E2694 10000030 */ b .L800E2758
/* B59838 800E2698 8FBF001C */ lw $ra, 0x1c($sp)
.L800E269C:
/* B5983C 800E269C 8FB90058 */ lw $t9, 0x58($sp)
/* B59840 800E26A0 24180001 */ li $t8, 1
/* B59844 800E26A4 24010001 */ li $at, 1
/* B59848 800E26A8 AF380000 */ sw $t8, ($t9)
/* B5984C 800E26AC 8FA80040 */ lw $t0, 0x40($sp)
/* B59850 800E26B0 8FA6004C */ lw $a2, 0x4c($sp)
/* B59854 800E26B4 8FA40038 */ lw $a0, 0x38($sp)
/* B59858 800E26B8 15010009 */ bne $t0, $at, .L800E26E0
/* B5985C 800E26BC 02002825 */ move $a1, $s0
/* B59860 800E26C0 8FA90048 */ lw $t1, 0x48($sp)
/* B59864 800E26C4 8FA40038 */ lw $a0, 0x38($sp)
/* B59868 800E26C8 02002825 */ move $a1, $s0
/* B5986C 800E26CC 8FA6004C */ lw $a2, 0x4c($sp)
/* B59870 800E26D0 0C038AF3 */ jal func_800E2BCC
/* B59874 800E26D4 85270002 */ lh $a3, 2($t1)
/* B59878 800E26D8 10000004 */ b .L800E26EC
/* B5987C 800E26DC 8FAA0024 */ lw $t2, 0x24($sp)
.L800E26E0:
/* B59880 800E26E0 0C038AAA */ jal func_800E2AA8
/* B59884 800E26E4 8FA70040 */ lw $a3, 0x40($sp)
/* B59888 800E26E8 8FAA0024 */ lw $t2, 0x24($sp)
.L800E26EC:
/* B5988C 800E26EC 24050002 */ li $a1, 2
/* B59890 800E26F0 15400003 */ bnez $t2, .L800E2700
/* B59894 800E26F4 00000000 */ nop
/* B59898 800E26F8 10000001 */ b .L800E2700
/* B5989C 800E26FC 24050005 */ li $a1, 5
.L800E2700:
/* B598A0 800E2700 8FA20050 */ lw $v0, 0x50($sp)
/* B598A4 800E2704 24010001 */ li $at, 1
/* B598A8 800E2708 10400007 */ beqz $v0, .L800E2728
/* B598AC 800E270C 00000000 */ nop
/* B598B0 800E2710 10410009 */ beq $v0, $at, .L800E2738
/* B598B4 800E2714 24010002 */ li $at, 2
/* B598B8 800E2718 1041000B */ beq $v0, $at, .L800E2748
/* B598BC 800E271C 00000000 */ nop
/* B598C0 800E2720 1000000C */ b .L800E2754
/* B598C4 800E2724 02001025 */ move $v0, $s0
.L800E2728:
/* B598C8 800E2728 0C038692 */ jal func_800E1A48
/* B598CC 800E272C 8FA4002C */ lw $a0, 0x2c($sp)
/* B598D0 800E2730 10000008 */ b .L800E2754
/* B598D4 800E2734 02001025 */ move $v0, $s0
.L800E2738:
/* B598D8 800E2738 0C038686 */ jal func_800E1A18
/* B598DC 800E273C 8FA4002C */ lw $a0, 0x2c($sp)
/* B598E0 800E2740 10000004 */ b .L800E2754
/* B598E4 800E2744 02001025 */ move $v0, $s0
.L800E2748:
/* B598E8 800E2748 0C03869E */ jal func_800E1A78
/* B598EC 800E274C 8FA4002C */ lw $a0, 0x2c($sp)
/* B598F0 800E2750 02001025 */ move $v0, $s0
.L800E2754:
/* B598F4 800E2754 8FBF001C */ lw $ra, 0x1c($sp)
.L800E2758:
/* B598F8 800E2758 8FB00018 */ lw $s0, 0x18($sp)
/* B598FC 800E275C 27BD0050 */ addiu $sp, $sp, 0x50
/* B59900 800E2760 03E00008 */ jr $ra
/* B59904 800E2764 00000000 */ nop