Files
oot/asm/non_matchings/code/z_kankyo/func_800773A8.s
T
2020-03-17 00:31:30 -04:00

153 lines
7.0 KiB
ArmAsm

glabel func_800773A8
/* AEE548 800773A8 27BDFFD8 */ addiu $sp, $sp, -0x28
/* AEE54C 800773AC 3C010001 */ li $at, 0x00010000 # 0.000000
/* AEE550 800773B0 AFBF0014 */ sw $ra, 0x14($sp)
/* AEE554 800773B4 AFA40028 */ sw $a0, 0x28($sp)
/* AEE558 800773B8 AFA60030 */ sw $a2, 0x30($sp)
/* AEE55C 800773BC AFA70034 */ sw $a3, 0x34($sp)
/* AEE560 800773C0 00811821 */ addu $v1, $a0, $at
/* AEE564 800773C4 906E1CBF */ lbu $t6, 0x1cbf($v1)
/* AEE568 800773C8 44856000 */ mtc1 $a1, $f12
/* AEE56C 800773CC 24010005 */ li $at, 5
/* AEE570 800773D0 11C1007A */ beq $t6, $at, .L800775BC
/* AEE574 800773D4 00803025 */ move $a2, $a0
/* AEE578 800773D8 AFA3001C */ sw $v1, 0x1c($sp)
/* AEE57C 800773DC AFA60028 */ sw $a2, 0x28($sp)
/* AEE580 800773E0 0C03032E */ jal func_800C0CB8
/* AEE584 800773E4 E7AC002C */ swc1 $f12, 0x2c($sp)
/* AEE588 800773E8 8FA3001C */ lw $v1, 0x1c($sp)
/* AEE58C 800773EC 8FA60028 */ lw $a2, 0x28($sp)
/* AEE590 800773F0 C7A20034 */ lwc1 $f2, 0x34($sp)
/* AEE594 800773F4 10400071 */ beqz $v0, .L800775BC
/* AEE598 800773F8 C7AC002C */ lwc1 $f12, 0x2c($sp)
/* AEE59C 800773FC 44808000 */ mtc1 $zero, $f16
/* AEE5A0 80077400 3C013F80 */ li $at, 0x3F800000 # 0.000000
/* AEE5A4 80077404 44817000 */ mtc1 $at, $f14
/* AEE5A8 80077408 4610603C */ c.lt.s $f12, $f16
/* AEE5AC 8007740C 00002025 */ move $a0, $zero
/* AEE5B0 80077410 24050003 */ li $a1, 3
/* AEE5B4 80077414 45020003 */ bc1fl .L80077424
/* AEE5B8 80077418 460C703C */ c.lt.s $f14, $f12
/* AEE5BC 8007741C 46008306 */ mov.s $f12, $f16
/* AEE5C0 80077420 460C703C */ c.lt.s $f14, $f12
.L80077424:
/* AEE5C4 80077424 00000000 */ nop
/* AEE5C8 80077428 45020003 */ bc1fl .L80077438
/* AEE5CC 8007742C 4602603C */ c.lt.s $f12, $f2
/* AEE5D0 80077430 46007306 */ mov.s $f12, $f14
/* AEE5D4 80077434 4602603C */ c.lt.s $f12, $f2
.L80077438:
/* AEE5D8 80077438 46026001 */ sub.s $f0, $f12, $f2
/* AEE5DC 8007743C 45020003 */ bc1fl .L8007744C
/* AEE5E0 80077440 846F0AF6 */ lh $t7, 0xaf6($v1)
/* AEE5E4 80077444 46008006 */ mov.s $f0, $f16
/* AEE5E8 80077448 846F0AF6 */ lh $t7, 0xaf6($v1)
.L8007744C:
/* AEE5EC 8007744C C7A40030 */ lwc1 $f4, 0x30($sp)
/* AEE5F0 80077450 46106032 */ c.eq.s $f12, $f16
/* AEE5F4 80077454 448F3000 */ mtc1 $t7, $f6
/* AEE5F8 80077458 3C010001 */ lui $at, 1
/* AEE5FC 8007745C 00260821 */ addu $at, $at, $a2
/* AEE600 80077460 46803220 */ cvt.s.w $f8, $f6
/* AEE604 80077464 46082281 */ sub.s $f10, $f4, $f8
/* AEE608 80077468 46005482 */ mul.s $f18, $f10, $f0
/* AEE60C 8007746C 4600918D */ trunc.w.s $f6, $f18
/* AEE610 80077470 44193000 */ mfc1 $t9, $f6
/* AEE614 80077474 4500000B */ bc1f .L800774A4
/* AEE618 80077478 A4390AC2 */ sh $t9, 0xac2($at)
/* AEE61C 8007747C 3C010001 */ lui $at, 1
/* AEE620 80077480 00C11821 */ addu $v1, $a2, $at
/* AEE624 80077484 00002025 */ move $a0, $zero
/* AEE628 80077488 24050003 */ li $a1, 3
.L8007748C:
/* AEE62C 8007748C 24840001 */ addiu $a0, $a0, 1
/* AEE630 80077490 24630002 */ addiu $v1, $v1, 2
/* AEE634 80077494 1485FFFD */ bne $a0, $a1, .L8007748C
/* AEE638 80077498 A4600ABA */ sh $zero, 0xaba($v1)
/* AEE63C 8007749C 1000001F */ b .L8007751C
/* AEE640 800774A0 C7A00038 */ lwc1 $f0, 0x38($sp)
.L800774A4:
/* AEE644 800774A4 3C0140A0 */ li $at, 0x40A00000 # 0.000000
/* AEE648 800774A8 44812000 */ mtc1 $at, $f4
/* AEE64C 800774AC 3C010001 */ li $at, 0x00010000 # 0.000000
/* AEE650 800774B0 00C11821 */ addu $v1, $a2, $at
/* AEE654 800774B4 46046002 */ mul.s $f0, $f12, $f4
/* AEE658 800774B8 00C11021 */ addu $v0, $a2, $at
/* AEE65C 800774BC 4600703C */ c.lt.s $f14, $f0
/* AEE660 800774C0 00000000 */ nop
/* AEE664 800774C4 45000002 */ bc1f .L800774D0
/* AEE668 800774C8 00000000 */ nop
/* AEE66C 800774CC 46007006 */ mov.s $f0, $f14
.L800774D0:
/* AEE670 800774D0 90480AF3 */ lbu $t0, 0xaf3($v0)
/* AEE674 800774D4 3C014F80 */ li $at, 0x4F800000 # 0.000000
/* AEE678 800774D8 44884000 */ mtc1 $t0, $f8
/* AEE67C 800774DC 05010004 */ bgez $t0, .L800774F0
/* AEE680 800774E0 468042A0 */ cvt.s.w $f10, $f8
/* AEE684 800774E4 44819000 */ mtc1 $at, $f18
/* AEE688 800774E8 00000000 */ nop
/* AEE68C 800774EC 46125280 */ add.s $f10, $f10, $f18
.L800774F0:
/* AEE690 800774F0 46005182 */ mul.s $f6, $f10, $f0
/* AEE694 800774F4 24840001 */ addiu $a0, $a0, 1
/* AEE698 800774F8 24630002 */ addiu $v1, $v1, 2
/* AEE69C 800774FC 24420001 */ addiu $v0, $v0, 1
/* AEE6A0 80077500 4600310D */ trunc.w.s $f4, $f6
/* AEE6A4 80077504 440C2000 */ mfc1 $t4, $f4
/* AEE6A8 80077508 00000000 */ nop
/* AEE6AC 8007750C 000C6823 */ negu $t5, $t4
/* AEE6B0 80077510 1485FFEF */ bne $a0, $a1, .L800774D0
/* AEE6B4 80077514 A46D0ABA */ sh $t5, 0xaba($v1)
/* AEE6B8 80077518 C7A00038 */ lwc1 $f0, 0x38($sp)
.L8007751C:
/* AEE6BC 8007751C 3C010001 */ li $at, 0x00010000 # 0.000000
/* AEE6C0 80077520 00C11821 */ addu $v1, $a2, $at
/* AEE6C4 80077524 4610003E */ c.le.s $f0, $f16
/* AEE6C8 80077528 00002025 */ move $a0, $zero
/* AEE6CC 8007752C 45030024 */ bc1tl .L800775C0
/* AEE6D0 80077530 8FBF0014 */ lw $ra, 0x14($sp)
/* AEE6D4 80077534 46006302 */ mul.s $f12, $f12, $f0
/* AEE6D8 80077538 00C11021 */ addu $v0, $a2, $at
.L8007753C:
/* AEE6DC 8007753C 904E0AE4 */ lbu $t6, 0xae4($v0)
/* AEE6E0 80077540 3C014F80 */ li $at, 0x4F800000 # 0.000000
/* AEE6E4 80077544 448E4000 */ mtc1 $t6, $f8
/* AEE6E8 80077548 05C10004 */ bgez $t6, .L8007755C
/* AEE6EC 8007754C 468044A0 */ cvt.s.w $f18, $f8
/* AEE6F0 80077550 44815000 */ mtc1 $at, $f10
/* AEE6F4 80077554 00000000 */ nop
/* AEE6F8 80077558 460A9480 */ add.s $f18, $f18, $f10
.L8007755C:
/* AEE6FC 8007755C 460C9182 */ mul.s $f6, $f18, $f12
/* AEE700 80077560 3C014F80 */ li $at, 0x4F800000 # 0.000000
/* AEE704 80077564 4600310D */ trunc.w.s $f4, $f6
/* AEE708 80077568 44082000 */ mfc1 $t0, $f4
/* AEE70C 8007756C 00000000 */ nop
/* AEE710 80077570 00084823 */ negu $t1, $t0
/* AEE714 80077574 A4690AB0 */ sh $t1, 0xab0($v1)
/* AEE718 80077578 904A0AEA */ lbu $t2, 0xaea($v0)
/* AEE71C 8007757C 448A4000 */ mtc1 $t2, $f8
/* AEE720 80077580 05410004 */ bgez $t2, .L80077594
/* AEE724 80077584 468042A0 */ cvt.s.w $f10, $f8
/* AEE728 80077588 44819000 */ mtc1 $at, $f18
/* AEE72C 8007758C 00000000 */ nop
/* AEE730 80077590 46125280 */ add.s $f10, $f10, $f18
.L80077594:
/* AEE734 80077594 460C5182 */ mul.s $f6, $f10, $f12
/* AEE738 80077598 24840001 */ addiu $a0, $a0, 1
/* AEE73C 8007759C 24630002 */ addiu $v1, $v1, 2
/* AEE740 800775A0 24420001 */ addiu $v0, $v0, 1
/* AEE744 800775A4 4600310D */ trunc.w.s $f4, $f6
/* AEE748 800775A8 440E2000 */ mfc1 $t6, $f4
/* AEE74C 800775AC 00000000 */ nop
/* AEE750 800775B0 000E7823 */ negu $t7, $t6
/* AEE754 800775B4 1485FFE1 */ bne $a0, $a1, .L8007753C
/* AEE758 800775B8 A46F0AB4 */ sh $t7, 0xab4($v1)
.L800775BC:
/* AEE75C 800775BC 8FBF0014 */ lw $ra, 0x14($sp)
.L800775C0:
/* AEE760 800775C0 27BD0028 */ addiu $sp, $sp, 0x28
/* AEE764 800775C4 03E00008 */ jr $ra
/* AEE768 800775C8 00000000 */ nop