oot/asm/non_matchings/code/z_bgcheck/func_8003B04C.s

127 lines
5.7 KiB
ArmAsm

glabel func_8003B04C
/* AB21EC 8003B04C C4A40000 */ lwc1 $f4, ($a1)
/* AB21F0 8003B050 C4860004 */ lwc1 $f6, 4($a0)
/* AB21F4 8003B054 C4A80004 */ lwc1 $f8, 4($a1)
/* AB21F8 8003B058 C48A0008 */ lwc1 $f10, 8($a0)
/* AB21FC 8003B05C 46062001 */ sub.s $f0, $f4, $f6
/* AB2200 8003B060 C4840034 */ lwc1 $f4, 0x34($a0)
/* AB2204 8003B064 C4B00008 */ lwc1 $f16, 8($a1)
/* AB2208 8003B068 460A4081 */ sub.s $f2, $f8, $f10
/* AB220C 8003B06C 46002182 */ mul.s $f6, $f4, $f0
/* AB2210 8003B070 C492000C */ lwc1 $f18, 0xc($a0)
/* AB2214 8003B074 46128301 */ sub.s $f12, $f16, $f18
/* AB2218 8003B078 4600320D */ trunc.w.s $f8, $f6
/* AB221C 8003B07C 440F4000 */ mfc1 $t7, $f8
/* AB2220 8003B080 00000000 */ nop
/* AB2224 8003B084 ACCF0000 */ sw $t7, ($a2)
/* AB2228 8003B088 C48A0038 */ lwc1 $f10, 0x38($a0)
/* AB222C 8003B08C 46025402 */ mul.s $f16, $f10, $f2
/* AB2230 8003B090 4600848D */ trunc.w.s $f18, $f16
/* AB2234 8003B094 44199000 */ mfc1 $t9, $f18
/* AB2238 8003B098 4600048D */ trunc.w.s $f18, $f0
/* AB223C 8003B09C ACF90000 */ sw $t9, ($a3)
/* AB2240 8003B0A0 C484003C */ lwc1 $f4, 0x3c($a0)
/* AB2244 8003B0A4 8FAA0010 */ lw $t2, 0x10($sp)
/* AB2248 8003B0A8 440D9000 */ mfc1 $t5, $f18
/* AB224C 8003B0AC 460C2182 */ mul.s $f6, $f4, $f12
/* AB2250 8003B0B0 4600648D */ trunc.w.s $f18, $f12
/* AB2254 8003B0B4 4600320D */ trunc.w.s $f8, $f6
/* AB2258 8003B0B8 44094000 */ mfc1 $t1, $f8
/* AB225C 8003B0BC 4600120D */ trunc.w.s $f8, $f2
/* AB2260 8003B0C0 AD490000 */ sw $t1, ($t2)
/* AB2264 8003B0C4 C48A0028 */ lwc1 $f10, 0x28($a0)
/* AB2268 8003B0C8 4600540D */ trunc.w.s $f16, $f10
/* AB226C 8003B0CC 44028000 */ mfc1 $v0, $f16
/* AB2270 8003B0D0 00000000 */ nop
/* AB2274 8003B0D4 01A2001A */ div $zero, $t5, $v0
/* AB2278 8003B0D8 14400002 */ bnez $v0, .L8003B0E4
/* AB227C 8003B0DC 00000000 */ nop
/* AB2280 8003B0E0 0007000D */ break 7
.L8003B0E4:
/* AB2284 8003B0E4 2401FFFF */ li $at, -1
/* AB2288 8003B0E8 14410004 */ bne $v0, $at, .L8003B0FC
/* AB228C 8003B0EC 3C018000 */ lui $at, 0x8000
/* AB2290 8003B0F0 15A10002 */ bne $t5, $at, .L8003B0FC
/* AB2294 8003B0F4 00000000 */ nop
/* AB2298 8003B0F8 0006000D */ break 6
.L8003B0FC:
/* AB229C 8003B0FC 00007010 */ mfhi $t6
/* AB22A0 8003B100 244FFFCE */ addiu $t7, $v0, -0x32
/* AB22A4 8003B104 01EE082A */ slt $at, $t7, $t6
/* AB22A8 8003B108 5020000A */ beql $at, $zero, .L8003B134
/* AB22AC 8003B10C C484002C */ lwc1 $f4, 0x2c($a0)
/* AB22B0 8003B110 8C98001C */ lw $t8, 0x1c($a0)
/* AB22B4 8003B114 8CC20000 */ lw $v0, ($a2)
/* AB22B8 8003B118 2719FFFF */ addiu $t9, $t8, -1
/* AB22BC 8003B11C 0059082A */ slt $at, $v0, $t9
/* AB22C0 8003B120 50200004 */ beql $at, $zero, .L8003B134
/* AB22C4 8003B124 C484002C */ lwc1 $f4, 0x2c($a0)
/* AB22C8 8003B128 24480001 */ addiu $t0, $v0, 1
/* AB22CC 8003B12C ACC80000 */ sw $t0, ($a2)
/* AB22D0 8003B130 C484002C */ lwc1 $f4, 0x2c($a0)
.L8003B134:
/* AB22D4 8003B134 440B4000 */ mfc1 $t3, $f8
/* AB22D8 8003B138 4600218D */ trunc.w.s $f6, $f4
/* AB22DC 8003B13C 44023000 */ mfc1 $v0, $f6
/* AB22E0 8003B140 00000000 */ nop
/* AB22E4 8003B144 0162001A */ div $zero, $t3, $v0
/* AB22E8 8003B148 14400002 */ bnez $v0, .L8003B154
/* AB22EC 8003B14C 00000000 */ nop
/* AB22F0 8003B150 0007000D */ break 7
.L8003B154:
/* AB22F4 8003B154 2401FFFF */ li $at, -1
/* AB22F8 8003B158 14410004 */ bne $v0, $at, .L8003B16C
/* AB22FC 8003B15C 3C018000 */ lui $at, 0x8000
/* AB2300 8003B160 15610002 */ bne $t3, $at, .L8003B16C
/* AB2304 8003B164 00000000 */ nop
/* AB2308 8003B168 0006000D */ break 6
.L8003B16C:
/* AB230C 8003B16C 00006010 */ mfhi $t4
/* AB2310 8003B170 244DFFCE */ addiu $t5, $v0, -0x32
/* AB2314 8003B174 01AC082A */ slt $at, $t5, $t4
/* AB2318 8003B178 5020000A */ beql $at, $zero, .L8003B1A4
/* AB231C 8003B17C C48A0030 */ lwc1 $f10, 0x30($a0)
/* AB2320 8003B180 8C8E0020 */ lw $t6, 0x20($a0)
/* AB2324 8003B184 8CE20000 */ lw $v0, ($a3)
/* AB2328 8003B188 25CFFFFF */ addiu $t7, $t6, -1
/* AB232C 8003B18C 004F082A */ slt $at, $v0, $t7
/* AB2330 8003B190 50200004 */ beql $at, $zero, .L8003B1A4
/* AB2334 8003B194 C48A0030 */ lwc1 $f10, 0x30($a0)
/* AB2338 8003B198 24580001 */ addiu $t8, $v0, 1
/* AB233C 8003B19C ACF80000 */ sw $t8, ($a3)
/* AB2340 8003B1A0 C48A0030 */ lwc1 $f10, 0x30($a0)
.L8003B1A4:
/* AB2344 8003B1A4 44099000 */ mfc1 $t1, $f18
/* AB2348 8003B1A8 8FAC0010 */ lw $t4, 0x10($sp)
/* AB234C 8003B1AC 4600540D */ trunc.w.s $f16, $f10
/* AB2350 8003B1B0 44028000 */ mfc1 $v0, $f16
/* AB2354 8003B1B4 00000000 */ nop
/* AB2358 8003B1B8 0122001A */ div $zero, $t1, $v0
/* AB235C 8003B1BC 14400002 */ bnez $v0, .L8003B1C8
/* AB2360 8003B1C0 00000000 */ nop
/* AB2364 8003B1C4 0007000D */ break 7
.L8003B1C8:
/* AB2368 8003B1C8 2401FFFF */ li $at, -1
/* AB236C 8003B1CC 14410004 */ bne $v0, $at, .L8003B1E0
/* AB2370 8003B1D0 3C018000 */ lui $at, 0x8000
/* AB2374 8003B1D4 15210002 */ bne $t1, $at, .L8003B1E0
/* AB2378 8003B1D8 00000000 */ nop
/* AB237C 8003B1DC 0006000D */ break 6
.L8003B1E0:
/* AB2380 8003B1E0 00005010 */ mfhi $t2
/* AB2384 8003B1E4 244BFFCE */ addiu $t3, $v0, -0x32
/* AB2388 8003B1E8 016A082A */ slt $at, $t3, $t2
/* AB238C 8003B1EC 10200008 */ beqz $at, .L8003B210
/* AB2390 8003B1F0 00000000 */ nop
/* AB2394 8003B1F4 8C8D0024 */ lw $t5, 0x24($a0)
/* AB2398 8003B1F8 8D820000 */ lw $v0, ($t4)
/* AB239C 8003B1FC 25AEFFFF */ addiu $t6, $t5, -1
/* AB23A0 8003B200 004E082A */ slt $at, $v0, $t6
/* AB23A4 8003B204 10200002 */ beqz $at, .L8003B210
/* AB23A8 8003B208 244F0001 */ addiu $t7, $v0, 1
/* AB23AC 8003B20C AD8F0000 */ sw $t7, ($t4)
.L8003B210:
/* AB23B0 8003B210 03E00008 */ jr $ra
/* AB23B4 8003B214 00000000 */ nop