Files
oot/asm/non_matchings/code/code_800E88C0/func_800E8A88.s
T
Tharo 741c140aef Split remaining unsplit asm files and migrate more rodata (#277)
* Split files

* Format rodata

* Some more code rodata migrated

* Some more actor rodata migrated

* Migrate rodata for ovl_Boss_Ganon

* Migrate rodata for code_800EC960

* Remove unused rodata

* x1b occurences all lowercase b
2020-07-19 21:08:50 -04:00

93 lines
4.2 KiB
ArmAsm

glabel func_800E8A88
/* B5FC28 800E8A88 27BDFFD0 */ addiu $sp, $sp, -0x30
/* B5FC2C 800E8A8C AFBF002C */ sw $ra, 0x2c($sp)
/* B5FC30 800E8A90 AFB40028 */ sw $s4, 0x28($sp)
/* B5FC34 800E8A94 AFB30024 */ sw $s3, 0x24($sp)
/* B5FC38 800E8A98 AFB20020 */ sw $s2, 0x20($sp)
/* B5FC3C 800E8A9C AFB1001C */ sw $s1, 0x1c($sp)
/* B5FC40 800E8AA0 AFB00018 */ sw $s0, 0x18($sp)
/* B5FC44 800E8AA4 948E0012 */ lhu $t6, 0x12($a0)
/* B5FC48 800E8AA8 00809025 */ move $s2, $a0
/* B5FC4C 800E8AAC 02408825 */ move $s1, $s2
/* B5FC50 800E8AB0 11C00025 */ beqz $t6, .L800E8B48
/* B5FC54 800E8AB4 00008025 */ move $s0, $zero
/* B5FC58 800E8AB8 C484001C */ lwc1 $f4, 0x1c($a0)
/* B5FC5C 800E8ABC C4860020 */ lwc1 $f6, 0x20($a0)
/* B5FC60 800E8AC0 3C013F80 */ li $at, 0x3F800000 # 0.000000
/* B5FC64 800E8AC4 44811000 */ mtc1 $at, $f2
/* B5FC68 800E8AC8 46062200 */ add.s $f8, $f4, $f6
/* B5FC6C 800E8ACC 90980000 */ lbu $t8, ($a0)
/* B5FC70 800E8AD0 E488001C */ swc1 $f8, 0x1c($a0)
/* B5FC74 800E8AD4 C480001C */ lwc1 $f0, 0x1c($a0)
/* B5FC78 800E8AD8 37190004 */ ori $t9, $t8, 4
/* B5FC7C 800E8ADC A0990000 */ sb $t9, ($a0)
/* B5FC80 800E8AE0 4600103C */ c.lt.s $f2, $f0
/* B5FC84 800E8AE4 00000000 */ nop
/* B5FC88 800E8AE8 45020004 */ bc1fl .L800E8AFC
/* B5FC8C 800E8AEC 44801000 */ mtc1 $zero, $f2
/* B5FC90 800E8AF0 E482001C */ swc1 $f2, 0x1c($a0)
/* B5FC94 800E8AF4 C480001C */ lwc1 $f0, 0x1c($a0)
/* B5FC98 800E8AF8 44801000 */ mtc1 $zero, $f2
.L800E8AFC:
/* B5FC9C 800E8AFC 00000000 */ nop
/* B5FCA0 800E8B00 4602003C */ c.lt.s $f0, $f2
/* B5FCA4 800E8B04 00000000 */ nop
/* B5FCA8 800E8B08 45020003 */ bc1fl .L800E8B18
/* B5FCAC 800E8B0C 96480012 */ lhu $t0, 0x12($s2)
/* B5FCB0 800E8B10 E642001C */ swc1 $f2, 0x1c($s2)
/* B5FCB4 800E8B14 96480012 */ lhu $t0, 0x12($s2)
.L800E8B18:
/* B5FCB8 800E8B18 2509FFFF */ addiu $t1, $t0, -1
/* B5FCBC 800E8B1C 312AFFFF */ andi $t2, $t1, 0xffff
/* B5FCC0 800E8B20 15400009 */ bnez $t2, .L800E8B48
/* B5FCC4 800E8B24 A6490012 */ sh $t1, 0x12($s2)
/* B5FCC8 800E8B28 924B0001 */ lbu $t3, 1($s2)
/* B5FCCC 800E8B2C 24010002 */ li $at, 2
/* B5FCD0 800E8B30 55610006 */ bnel $t3, $at, .L800E8B4C
/* B5FCD4 800E8B34 8E4C0000 */ lw $t4, ($s2)
/* B5FCD8 800E8B38 0C03A6DB */ jal func_800E9B6C
/* B5FCDC 800E8B3C 02402025 */ move $a0, $s2
/* B5FCE0 800E8B40 1000001D */ b .L800E8BB8
/* B5FCE4 800E8B44 8FBF002C */ lw $ra, 0x2c($sp)
.L800E8B48:
/* B5FCE8 800E8B48 8E4C0000 */ lw $t4, ($s2)
.L800E8B4C:
/* B5FCEC 800E8B4C 24140040 */ li $s4, 64
/* B5FCF0 800E8B50 24130001 */ li $s3, 1
/* B5FCF4 800E8B54 000C7140 */ sll $t6, $t4, 5
/* B5FCF8 800E8B58 05C10005 */ bgez $t6, .L800E8B70
/* B5FCFC 800E8B5C 00000000 */ nop
/* B5FD00 800E8B60 C64A001C */ lwc1 $f10, 0x1c($s2)
/* B5FD04 800E8B64 C650002C */ lwc1 $f16, 0x2c($s2)
/* B5FD08 800E8B68 46105482 */ mul.s $f18, $f10, $f16
/* B5FD0C 800E8B6C E6520030 */ swc1 $f18, 0x30($s2)
.L800E8B70:
/* B5FD10 800E8B70 8E240038 */ lw $a0, 0x38($s1)
/* B5FD14 800E8B74 8C8F0000 */ lw $t7, ($a0)
/* B5FD18 800E8B78 000FC7C2 */ srl $t8, $t7, 0x1f
/* B5FD1C 800E8B7C 56780008 */ bnel $s3, $t8, .L800E8BA0
/* B5FD20 800E8B80 26100004 */ addiu $s0, $s0, 4
/* B5FD24 800E8B84 8E450000 */ lw $a1, ($s2)
/* B5FD28 800E8B88 92460000 */ lbu $a2, ($s2)
/* B5FD2C 800E8B8C 00052940 */ sll $a1, $a1, 5
/* B5FD30 800E8B90 00052FC2 */ srl $a1, $a1, 0x1f
/* B5FD34 800E8B94 0C03A230 */ jal func_800E88C0
/* B5FD38 800E8B98 30C60001 */ andi $a2, $a2, 1
/* B5FD3C 800E8B9C 26100004 */ addiu $s0, $s0, 4
.L800E8BA0:
/* B5FD40 800E8BA0 1614FFF3 */ bne $s0, $s4, .L800E8B70
/* B5FD44 800E8BA4 26310004 */ addiu $s1, $s1, 4
/* B5FD48 800E8BA8 92590000 */ lbu $t9, ($s2)
/* B5FD4C 800E8BAC 3328FFFB */ andi $t0, $t9, 0xfffb
/* B5FD50 800E8BB0 A2480000 */ sb $t0, ($s2)
/* B5FD54 800E8BB4 8FBF002C */ lw $ra, 0x2c($sp)
.L800E8BB8:
/* B5FD58 800E8BB8 8FB00018 */ lw $s0, 0x18($sp)
/* B5FD5C 800E8BBC 8FB1001C */ lw $s1, 0x1c($sp)
/* B5FD60 800E8BC0 8FB20020 */ lw $s2, 0x20($sp)
/* B5FD64 800E8BC4 8FB30024 */ lw $s3, 0x24($sp)
/* B5FD68 800E8BC8 8FB40028 */ lw $s4, 0x28($sp)
/* B5FD6C 800E8BCC 03E00008 */ jr $ra
/* B5FD70 800E8BD0 27BD0030 */ addiu $sp, $sp, 0x30