Files
SpaghettiKart/asm/non_matchings/code_80071F00/func_800853DC.s
T
CoderStig 8ab4557b39 Split asm using autodecompiler (#49)
* Split asm using autodecompiler

* Placed libultra bss and linked more C
2021-11-05 05:17:09 -06:00

90 lines
4.7 KiB
ArmAsm

glabel func_800853DC
/* 085FDC 800853DC 000470C0 */ sll $t6, $a0, 3
/* 085FE0 800853E0 01C47023 */ subu $t6, $t6, $a0
/* 085FE4 800853E4 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016
/* 085FE8 800853E8 3C013F80 */ li $at, 0x3F800000 # 1.000000
/* 085FEC 800853EC 44812000 */ mtc1 $at, $f4
/* 085FF0 800853F0 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18
/* 085FF4 800853F4 000E7140 */ sll $t6, $t6, 5
/* 085FF8 800853F8 01CF1021 */ addu $v0, $t6, $t7
/* 085FFC 800853FC 3C180601 */ lui $t8, %hi(D_0600F960) # $t8, 0x601
/* 086000 80085400 2718F960 */ addiu $t8, %lo(D_0600F960) # addiu $t8, $t8, -0x6a0
/* 086004 80085404 AC580070 */ sw $t8, 0x70($v0)
/* 086008 80085408 3C19800E */ lui $t9, %hi(D_800DC50C) # $t9, 0x800e
/* 08600C 8008540C E4440000 */ swc1 $f4, ($v0)
/* 086010 80085410 8F39C50C */ lw $t9, %lo(D_800DC50C)($t9)
/* 086014 80085414 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 086018 80085418 AFB00020 */ sw $s0, 0x20($sp)
/* 08601C 8008541C 24010009 */ li $at, 9
/* 086020 80085420 00808025 */ move $s0, $a0
/* 086024 80085424 AFBF0024 */ sw $ra, 0x24($sp)
/* 086028 80085428 13210018 */ beq $t9, $at, .L8008548C
/* 08602C 8008542C F7B40018 */ sdc1 $f20, 0x18($sp)
/* 086030 80085430 3C018019 */ lui $at, %hi(D_8018D01C) # $at, 0x8019
/* 086034 80085434 C426D01C */ lwc1 $f6, %lo(D_8018D01C)($at)
/* 086038 80085438 3C01C066 */ li $at, 0xC0660000 # -3.593750
/* 08603C 8008543C 44815800 */ mtc1 $at, $f11
/* 086040 80085440 44805000 */ mtc1 $zero, $f10
/* 086044 80085444 46003221 */ cvt.d.s $f8, $f6
/* 086048 80085448 4480A000 */ mtc1 $zero, $f20
/* 08604C 8008544C 462A4402 */ mul.d $f16, $f8, $f10
/* 086050 80085450 3C07C511 */ lui $a3, (0xC5113000 >> 16) # lui $a3, 0xc511
/* 086054 80085454 4406A000 */ mfc1 $a2, $f20
/* 086058 80085458 34E73000 */ ori $a3, (0xC5113000 & 0xFFFF) # ori $a3, $a3, 0x3000
/* 08605C 8008545C AFA2002C */ sw $v0, 0x2c($sp)
/* 086060 80085460 462084A0 */ cvt.s.d $f18, $f16
/* 086064 80085464 44059000 */ mfc1 $a1, $f18
/* 086068 80085468 0C022DF5 */ jal func_8008B7D4
/* 08606C 8008546C 00000000 */ nop
/* 086070 80085470 4405A000 */ mfc1 $a1, $f20
/* 086074 80085474 4407A000 */ mfc1 $a3, $f20
/* 086078 80085478 02002025 */ move $a0, $s0
/* 08607C 8008547C 0C022E03 */ jal func_8008B80C
/* 086080 80085480 3C064396 */ lui $a2, 0x4396
/* 086084 80085484 10000016 */ b .L800854E0
/* 086088 80085488 00000000 */ nop
.L8008548C:
/* 08608C 8008548C 3C018019 */ lui $at, %hi(D_8018D01C) # $at, 0x8019
/* 086090 80085490 C424D01C */ lwc1 $f4, %lo(D_8018D01C)($at)
/* 086094 80085494 3C01800F */ lui $at, %hi(D_800EF3B0)
/* 086098 80085498 D428F3B0 */ ldc1 $f8, %lo(D_800EF3B0)($at)
/* 08609C 8008549C 460021A1 */ cvt.d.s $f6, $f4
/* 0860A0 800854A0 4480A000 */ mtc1 $zero, $f20
/* 0860A4 800854A4 46283282 */ mul.d $f10, $f6, $f8
/* 0860A8 800854A8 3C07448A */ lui $a3, (0x448AC000 >> 16) # lui $a3, 0x448a
/* 0860AC 800854AC 4406A000 */ mfc1 $a2, $f20
/* 0860B0 800854B0 34E7C000 */ ori $a3, (0x448AC000 & 0xFFFF) # ori $a3, $a3, 0xc000
/* 0860B4 800854B4 02002025 */ move $a0, $s0
/* 0860B8 800854B8 AFA2002C */ sw $v0, 0x2c($sp)
/* 0860BC 800854BC 46205420 */ cvt.s.d $f16, $f10
/* 0860C0 800854C0 44058000 */ mfc1 $a1, $f16
/* 0860C4 800854C4 0C022DF5 */ jal func_8008B7D4
/* 0860C8 800854C8 00000000 */ nop
/* 0860CC 800854CC 4405A000 */ mfc1 $a1, $f20
/* 0860D0 800854D0 4407A000 */ mfc1 $a3, $f20
/* 0860D4 800854D4 02002025 */ move $a0, $s0
/* 0860D8 800854D8 0C022E03 */ jal func_8008B80C
/* 0860DC 800854DC 3C064396 */ lui $a2, 0x4396
.L800854E0:
/* 0860E0 800854E0 0C022E11 */ jal func_8008B844
/* 0860E4 800854E4 02002025 */ move $a0, $s0
/* 0860E8 800854E8 0C0221BD */ jal func_800886F4
/* 0860EC 800854EC 02002025 */ move $a0, $s0
/* 0860F0 800854F0 0C021BBC */ jal func_80086EF0
/* 0860F4 800854F4 02002025 */ move $a0, $s0
/* 0860F8 800854F8 3C01C000 */ li $at, 0xC0000000 # -2.000000
/* 0860FC 800854FC 44819000 */ mtc1 $at, $f18
/* 086100 80085500 8FA8002C */ lw $t0, 0x2c($sp)
/* 086104 80085504 4406A000 */ mfc1 $a2, $f20
/* 086108 80085508 4600A306 */ mov.s $f12, $f20
/* 08610C 8008550C 4600A386 */ mov.s $f14, $f20
/* 086110 80085510 0C0A852F */ jal func_802A14BC
/* 086114 80085514 E512003C */ swc1 $f18, 0x3c($t0)
/* 086118 80085518 0C01C922 */ jal func_80072488
/* 08611C 8008551C 02002025 */ move $a0, $s0
/* 086120 80085520 8FBF0024 */ lw $ra, 0x24($sp)
/* 086124 80085524 D7B40018 */ ldc1 $f20, 0x18($sp)
/* 086128 80085528 8FB00020 */ lw $s0, 0x20($sp)
/* 08612C 8008552C 03E00008 */ jr $ra
/* 086130 80085530 27BD0030 */ addiu $sp, $sp, 0x30