oot/asm/non_matchings/code/code_800E88C0/func_800E88C0.s

128 lines
5.8 KiB
ArmAsm

glabel func_800E88C0
/* B5FA60 800E88C0 8C820000 */ lw $v0, ($a0)
/* B5FA64 800E88C4 00803825 */ move $a3, $a0
/* B5FA68 800E88C8 24090010 */ li $t1, 16
/* B5FA6C 800E88CC 00027A40 */ sll $t7, $v0, 9
/* B5FA70 800E88D0 05E00003 */ bltz $t7, .L800E88E0
/* B5FA74 800E88D4 24080080 */ li $t0, 128
/* B5FA78 800E88D8 50A00016 */ beql $a1, $zero, .L800E8934
/* B5FA7C 800E88DC 00027280 */ sll $t6, $v0, 0xa
.L800E88E0:
/* B5FA80 800E88E0 C484002C */ lwc1 $f4, 0x2c($a0)
/* B5FA84 800E88E4 C4860028 */ lwc1 $f6, 0x28($a0)
/* B5FA88 800E88E8 8C82004C */ lw $v0, 0x4c($a0)
/* B5FA8C 800E88EC 46062202 */ mul.s $f8, $f4, $f6
/* B5FA90 800E88F0 C44A0030 */ lwc1 $f10, 0x30($v0)
/* B5FA94 800E88F4 8C580000 */ lw $t8, ($v0)
/* B5FA98 800E88F8 00185080 */ sll $t2, $t8, 2
/* B5FA9C 800E88FC 460A4002 */ mul.s $f0, $f8, $f10
/* B5FAA0 800E8900 05410008 */ bgez $t2, .L800E8924
/* B5FAA4 800E8904 00000000 */ nop
/* B5FAA8 800E8908 908B0003 */ lbu $t3, 3($a0)
/* B5FAAC 800E890C 316C0020 */ andi $t4, $t3, 0x20
/* B5FAB0 800E8910 11800004 */ beqz $t4, .L800E8924
/* B5FAB4 800E8914 00000000 */ nop
/* B5FAB8 800E8918 C4500028 */ lwc1 $f16, 0x28($v0)
/* B5FABC 800E891C 46008002 */ mul.s $f0, $f16, $f0
/* B5FAC0 800E8920 00000000 */ nop
.L800E8924:
/* B5FAC4 800E8924 46000482 */ mul.s $f18, $f0, $f0
/* B5FAC8 800E8928 8C820000 */ lw $v0, ($a0)
/* B5FACC 800E892C E4920034 */ swc1 $f18, 0x34($a0)
/* B5FAD0 800E8930 00027280 */ sll $t6, $v0, 0xa
.L800E8934:
/* B5FAD4 800E8934 05C10007 */ bgez $t6, .L800E8954
/* B5FAD8 800E8938 00000000 */ nop
/* B5FADC 800E893C 908F000A */ lbu $t7, 0xa($a0)
/* B5FAE0 800E8940 9098000B */ lbu $t8, 0xb($a0)
/* B5FAE4 800E8944 01F80019 */ multu $t7, $t8
/* B5FAE8 800E8948 0000C812 */ mflo $t9
/* B5FAEC 800E894C AC990030 */ sw $t9, 0x30($a0)
/* B5FAF0 800E8950 00000000 */ nop
.L800E8954:
/* B5FAF4 800E8954 10C00008 */ beqz $a2, .L800E8978
/* B5FAF8 800E8958 C4800038 */ lwc1 $f0, 0x38($a0)
/* B5FAFC 800E895C 8C8A004C */ lw $t2, 0x4c($a0)
/* B5FB00 800E8960 908C0001 */ lbu $t4, 1($a0)
/* B5FB04 800E8964 C5440034 */ lwc1 $f4, 0x34($t2)
/* B5FB08 800E8968 358D0080 */ ori $t5, $t4, 0x80
/* B5FB0C 800E896C A08D0001 */ sb $t5, 1($a0)
/* B5FB10 800E8970 46040002 */ mul.s $f0, $f0, $f4
/* B5FB14 800E8974 00000000 */ nop
.L800E8978:
/* B5FB18 800E8978 00003025 */ move $a2, $zero
.L800E897C:
/* B5FB1C 800E897C 8CE30050 */ lw $v1, 0x50($a3)
/* B5FB20 800E8980 24C60004 */ addiu $a2, $a2, 4
/* B5FB24 800E8984 1060003C */ beqz $v1, .L800E8A78
/* B5FB28 800E8988 00000000 */ nop
/* B5FB2C 800E898C 8C6E0000 */ lw $t6, ($v1)
/* B5FB30 800E8990 000E7FC2 */ srl $t7, $t6, 0x1f
/* B5FB34 800E8994 11E00038 */ beqz $t7, .L800E8A78
/* B5FB38 800E8998 00000000 */ nop
/* B5FB3C 800E899C 8C78002C */ lw $t8, 0x2c($v1)
/* B5FB40 800E89A0 13000035 */ beqz $t8, .L800E8A78
/* B5FB44 800E89A4 00000000 */ nop
/* B5FB48 800E89A8 90620000 */ lbu $v0, ($v1)
/* B5FB4C 800E89AC 30590001 */ andi $t9, $v0, 1
/* B5FB50 800E89B0 53200015 */ beql $t9, $zero, .L800E8A08
/* B5FB54 800E89B4 808A0001 */ lb $t2, 1($a0)
/* B5FB58 800E89B8 C4660030 */ lwc1 $f6, 0x30($v1)
/* B5FB5C 800E89BC C46A0038 */ lwc1 $f10, 0x38($v1)
/* B5FB60 800E89C0 906A0006 */ lbu $t2, 6($v1)
/* B5FB64 800E89C4 46003202 */ mul.s $f8, $f6, $f0
/* B5FB68 800E89C8 3059FFFE */ andi $t9, $v0, 0xfffe
/* B5FB6C 800E89CC E4680044 */ swc1 $f8, 0x44($v1)
/* B5FB70 800E89D0 C4900034 */ lwc1 $f16, 0x34($a0)
/* B5FB74 800E89D4 46105482 */ mul.s $f18, $f10, $f16
/* B5FB78 800E89D8 E4720040 */ swc1 $f18, 0x40($v1)
/* B5FB7C 800E89DC 908B000B */ lbu $t3, 0xb($a0)
/* B5FB80 800E89E0 8C8E0030 */ lw $t6, 0x30($a0)
/* B5FB84 800E89E4 A0790000 */ sb $t9, ($v1)
/* B5FB88 800E89E8 010B6023 */ subu $t4, $t0, $t3
/* B5FB8C 800E89EC 014C0019 */ multu $t2, $t4
/* B5FB90 800E89F0 00006812 */ mflo $t5
/* B5FB94 800E89F4 01CD7821 */ addu $t7, $t6, $t5
/* B5FB98 800E89F8 000FC1C3 */ sra $t8, $t7, 7
/* B5FB9C 800E89FC 1000001E */ b .L800E8A78
/* B5FBA0 800E8A00 A0780007 */ sb $t8, 7($v1)
/* B5FBA4 800E8A04 808A0001 */ lb $t2, 1($a0)
.L800E8A08:
/* B5FBA8 800E8A08 05430005 */ bgezl $t2, .L800E8A20
/* B5FBAC 800E8A0C 8C820000 */ lw $v0, ($a0)
/* B5FBB0 800E8A10 C4640030 */ lwc1 $f4, 0x30($v1)
/* B5FBB4 800E8A14 46002182 */ mul.s $f6, $f4, $f0
/* B5FBB8 800E8A18 E4660044 */ swc1 $f6, 0x44($v1)
/* B5FBBC 800E8A1C 8C820000 */ lw $v0, ($a0)
.L800E8A20:
/* B5FBC0 800E8A20 00027240 */ sll $t6, $v0, 9
/* B5FBC4 800E8A24 05C20004 */ bltzl $t6, .L800E8A38
/* B5FBC8 800E8A28 C4680038 */ lwc1 $f8, 0x38($v1)
/* B5FBCC 800E8A2C 50A00007 */ beql $a1, $zero, .L800E8A4C
/* B5FBD0 800E8A30 00027A80 */ sll $t7, $v0, 0xa
/* B5FBD4 800E8A34 C4680038 */ lwc1 $f8, 0x38($v1)
.L800E8A38:
/* B5FBD8 800E8A38 C48A0034 */ lwc1 $f10, 0x34($a0)
/* B5FBDC 800E8A3C 460A4402 */ mul.s $f16, $f8, $f10
/* B5FBE0 800E8A40 E4700040 */ swc1 $f16, 0x40($v1)
/* B5FBE4 800E8A44 8C820000 */ lw $v0, ($a0)
/* B5FBE8 800E8A48 00027A80 */ sll $t7, $v0, 0xa
.L800E8A4C:
/* B5FBEC 800E8A4C 05E1000A */ bgez $t7, .L800E8A78
/* B5FBF0 800E8A50 00000000 */ nop
/* B5FBF4 800E8A54 9099000B */ lbu $t9, 0xb($a0)
/* B5FBF8 800E8A58 90780006 */ lbu $t8, 6($v1)
/* B5FBFC 800E8A5C 8C8C0030 */ lw $t4, 0x30($a0)
/* B5FC00 800E8A60 01195823 */ subu $t3, $t0, $t9
/* B5FC04 800E8A64 030B0019 */ multu $t8, $t3
/* B5FC08 800E8A68 00005012 */ mflo $t2
/* B5FC0C 800E8A6C 018A7021 */ addu $t6, $t4, $t2
/* B5FC10 800E8A70 000E69C3 */ sra $t5, $t6, 7
/* B5FC14 800E8A74 A06D0007 */ sb $t5, 7($v1)
.L800E8A78:
/* B5FC18 800E8A78 14C9FFC0 */ bne $a2, $t1, .L800E897C
/* B5FC1C 800E8A7C 24E70004 */ addiu $a3, $a3, 4
/* B5FC20 800E8A80 03E00008 */ jr $ra
/* B5FC24 800E8A84 A0800001 */ sb $zero, 1($a0)