oot/asm/non_matchings/code/z_vismono/func_800AD080.s

217 lines
9.5 KiB
ArmAsm

glabel func_800AD080
/* B24220 800AD080 AFA40000 */ sw $a0, ($sp)
/* B24224 800AD084 00001025 */ move $v0, $zero
/* B24228 800AD088 00A01825 */ move $v1, $a1
/* B2422C 800AD08C 24090100 */ li $t1, 256
/* B24230 800AD090 240800D9 */ li $t0, 217
/* B24234 800AD094 240700FF */ li $a3, 255
/* B24238 800AD098 000270C3 */ sra $t6, $v0, 3
.L800AD09C:
/* B2423C 800AD09C 0002C880 */ sll $t9, $v0, 2
/* B24240 800AD0A0 332A001F */ andi $t2, $t9, 0x1f
/* B24244 800AD0A4 31CF001F */ andi $t7, $t6, 0x1f
/* B24248 800AD0A8 000FC040 */ sll $t8, $t7, 1
/* B2424C 800AD0AC 000A5880 */ sll $t3, $t2, 2
/* B24250 800AD0B0 030B6021 */ addu $t4, $t8, $t3
/* B24254 800AD0B4 01870019 */ multu $t4, $a3
/* B24258 800AD0B8 0002C983 */ sra $t9, $v0, 6
/* B2425C 800AD0BC 332A001F */ andi $t2, $t9, 0x1f
/* B24260 800AD0C0 00025843 */ sra $t3, $v0, 1
/* B24264 800AD0C4 316C001F */ andi $t4, $t3, 0x1f
/* B24268 800AD0C8 000AC080 */ sll $t8, $t2, 2
/* B2426C 800AD0CC 24440001 */ addiu $a0, $v0, 1
/* B24270 800AD0D0 000458C3 */ sra $t3, $a0, 3
/* B24274 800AD0D4 24450002 */ addiu $a1, $v0, 2
/* B24278 800AD0D8 24460003 */ addiu $a2, $v0, 3
/* B2427C 800AD0DC 00006812 */ mflo $t5
/* B24280 800AD0E0 24420004 */ addiu $v0, $v0, 4
/* B24284 800AD0E4 24630008 */ addiu $v1, $v1, 8
/* B24288 800AD0E8 01A8001A */ div $zero, $t5, $t0
/* B2428C 800AD0EC 00007012 */ mflo $t6
/* B24290 800AD0F0 000E7A00 */ sll $t7, $t6, 8
/* B24294 800AD0F4 15000002 */ bnez $t0, .L800AD100
/* B24298 800AD0F8 00000000 */ nop
/* B2429C 800AD0FC 0007000D */ break 7
.L800AD100:
/* B242A0 800AD100 2401FFFF */ li $at, -1
/* B242A4 800AD104 15010004 */ bne $t0, $at, .L800AD118
/* B242A8 800AD108 3C018000 */ lui $at, 0x8000
/* B242AC 800AD10C 15A10002 */ bne $t5, $at, .L800AD118
/* B242B0 800AD110 00000000 */ nop
/* B242B4 800AD114 0006000D */ break 6
.L800AD118:
/* B242B8 800AD118 030C6821 */ addu $t5, $t8, $t4
/* B242BC 800AD11C 01A70019 */ multu $t5, $a3
/* B242C0 800AD120 00046880 */ sll $t5, $a0, 2
/* B242C4 800AD124 3178001F */ andi $t8, $t3, 0x1f
/* B242C8 800AD128 00186040 */ sll $t4, $t8, 1
/* B242CC 800AD12C 00007012 */ mflo $t6
/* B242D0 800AD130 00000000 */ nop
/* B242D4 800AD134 00000000 */ nop
/* B242D8 800AD138 01C8001A */ div $zero, $t6, $t0
/* B242DC 800AD13C 15000002 */ bnez $t0, .L800AD148
/* B242E0 800AD140 00000000 */ nop
/* B242E4 800AD144 0007000D */ break 7
.L800AD148:
/* B242E8 800AD148 2401FFFF */ li $at, -1
/* B242EC 800AD14C 15010004 */ bne $t0, $at, .L800AD160
/* B242F0 800AD150 3C018000 */ lui $at, 0x8000
/* B242F4 800AD154 15C10002 */ bne $t6, $at, .L800AD160
/* B242F8 800AD158 00000000 */ nop
/* B242FC 800AD15C 0006000D */ break 6
.L800AD160:
/* B24300 800AD160 0000C812 */ mflo $t9
/* B24304 800AD164 31AE001F */ andi $t6, $t5, 0x1f
/* B24308 800AD168 01F95025 */ or $t2, $t7, $t9
/* B2430C 800AD16C 000E7880 */ sll $t7, $t6, 2
/* B24310 800AD170 018FC821 */ addu $t9, $t4, $t7
/* B24314 800AD174 03270019 */ multu $t9, $a3
/* B24318 800AD178 A46AFFF8 */ sh $t2, -8($v1)
/* B2431C 800AD17C 00046983 */ sra $t5, $a0, 6
/* B24320 800AD180 31AE001F */ andi $t6, $t5, 0x1f
/* B24324 800AD184 00047843 */ sra $t7, $a0, 1
/* B24328 800AD188 31F9001F */ andi $t9, $t7, 0x1f
/* B2432C 800AD18C 000E6080 */ sll $t4, $t6, 2
/* B24330 800AD190 000578C3 */ sra $t7, $a1, 3
/* B24334 800AD194 00005012 */ mflo $t2
/* B24338 800AD198 00000000 */ nop
/* B2433C 800AD19C 00000000 */ nop
/* B24340 800AD1A0 0148001A */ div $zero, $t2, $t0
/* B24344 800AD1A4 00005812 */ mflo $t3
/* B24348 800AD1A8 000BC200 */ sll $t8, $t3, 8
/* B2434C 800AD1AC 15000002 */ bnez $t0, .L800AD1B8
/* B24350 800AD1B0 00000000 */ nop
/* B24354 800AD1B4 0007000D */ break 7
.L800AD1B8:
/* B24358 800AD1B8 2401FFFF */ li $at, -1
/* B2435C 800AD1BC 15010004 */ bne $t0, $at, .L800AD1D0
/* B24360 800AD1C0 3C018000 */ lui $at, 0x8000
/* B24364 800AD1C4 15410002 */ bne $t2, $at, .L800AD1D0
/* B24368 800AD1C8 00000000 */ nop
/* B2436C 800AD1CC 0006000D */ break 6
.L800AD1D0:
/* B24370 800AD1D0 01995021 */ addu $t2, $t4, $t9
/* B24374 800AD1D4 01470019 */ multu $t2, $a3
/* B24378 800AD1D8 00055080 */ sll $t2, $a1, 2
/* B2437C 800AD1DC 31EC001F */ andi $t4, $t7, 0x1f
/* B24380 800AD1E0 000CC840 */ sll $t9, $t4, 1
/* B24384 800AD1E4 00005812 */ mflo $t3
/* B24388 800AD1E8 00000000 */ nop
/* B2438C 800AD1EC 00000000 */ nop
/* B24390 800AD1F0 0168001A */ div $zero, $t3, $t0
/* B24394 800AD1F4 15000002 */ bnez $t0, .L800AD200
/* B24398 800AD1F8 00000000 */ nop
/* B2439C 800AD1FC 0007000D */ break 7
.L800AD200:
/* B243A0 800AD200 2401FFFF */ li $at, -1
/* B243A4 800AD204 15010004 */ bne $t0, $at, .L800AD218
/* B243A8 800AD208 3C018000 */ lui $at, 0x8000
/* B243AC 800AD20C 15610002 */ bne $t3, $at, .L800AD218
/* B243B0 800AD210 00000000 */ nop
/* B243B4 800AD214 0006000D */ break 6
.L800AD218:
/* B243B8 800AD218 00006812 */ mflo $t5
/* B243BC 800AD21C 030D7025 */ or $t6, $t8, $t5
/* B243C0 800AD220 314B001F */ andi $t3, $t2, 0x1f
/* B243C4 800AD224 000BC080 */ sll $t8, $t3, 2
/* B243C8 800AD228 03386821 */ addu $t5, $t9, $t8
/* B243CC 800AD22C 01A70019 */ multu $t5, $a3
/* B243D0 800AD230 A46EFFFA */ sh $t6, -6($v1)
/* B243D4 800AD234 00055183 */ sra $t2, $a1, 6
/* B243D8 800AD238 314B001F */ andi $t3, $t2, 0x1f
/* B243DC 800AD23C 0005C043 */ sra $t8, $a1, 1
/* B243E0 800AD240 330D001F */ andi $t5, $t8, 0x1f
/* B243E4 800AD244 000BC880 */ sll $t9, $t3, 2
/* B243E8 800AD248 0006C0C3 */ sra $t8, $a2, 3
/* B243EC 800AD24C 00007012 */ mflo $t6
/* B243F0 800AD250 00000000 */ nop
/* B243F4 800AD254 00000000 */ nop
/* B243F8 800AD258 01C8001A */ div $zero, $t6, $t0
/* B243FC 800AD25C 00007812 */ mflo $t7
/* B24400 800AD260 000F6200 */ sll $t4, $t7, 8
/* B24404 800AD264 15000002 */ bnez $t0, .L800AD270
/* B24408 800AD268 00000000 */ nop
/* B2440C 800AD26C 0007000D */ break 7
.L800AD270:
/* B24410 800AD270 2401FFFF */ li $at, -1
/* B24414 800AD274 15010004 */ bne $t0, $at, .L800AD288
/* B24418 800AD278 3C018000 */ lui $at, 0x8000
/* B2441C 800AD27C 15C10002 */ bne $t6, $at, .L800AD288
/* B24420 800AD280 00000000 */ nop
/* B24424 800AD284 0006000D */ break 6
.L800AD288:
/* B24428 800AD288 032D7021 */ addu $t6, $t9, $t5
/* B2442C 800AD28C 01C70019 */ multu $t6, $a3
/* B24430 800AD290 00067080 */ sll $t6, $a2, 2
/* B24434 800AD294 3319001F */ andi $t9, $t8, 0x1f
/* B24438 800AD298 00196840 */ sll $t5, $t9, 1
/* B2443C 800AD29C 00007812 */ mflo $t7
/* B24440 800AD2A0 00000000 */ nop
/* B24444 800AD2A4 00000000 */ nop
/* B24448 800AD2A8 01E8001A */ div $zero, $t7, $t0
/* B2444C 800AD2AC 15000002 */ bnez $t0, .L800AD2B8
/* B24450 800AD2B0 00000000 */ nop
/* B24454 800AD2B4 0007000D */ break 7
.L800AD2B8:
/* B24458 800AD2B8 2401FFFF */ li $at, -1
/* B2445C 800AD2BC 15010004 */ bne $t0, $at, .L800AD2D0
/* B24460 800AD2C0 3C018000 */ lui $at, 0x8000
/* B24464 800AD2C4 15E10002 */ bne $t7, $at, .L800AD2D0
/* B24468 800AD2C8 00000000 */ nop
/* B2446C 800AD2CC 0006000D */ break 6
.L800AD2D0:
/* B24470 800AD2D0 00005012 */ mflo $t2
/* B24474 800AD2D4 018A5825 */ or $t3, $t4, $t2
/* B24478 800AD2D8 31CF001F */ andi $t7, $t6, 0x1f
/* B2447C 800AD2DC 000F6080 */ sll $t4, $t7, 2
/* B24480 800AD2E0 01AC5021 */ addu $t2, $t5, $t4
/* B24484 800AD2E4 01470019 */ multu $t2, $a3
/* B24488 800AD2E8 A46BFFFC */ sh $t3, -4($v1)
/* B2448C 800AD2EC 00067183 */ sra $t6, $a2, 6
/* B24490 800AD2F0 31CF001F */ andi $t7, $t6, 0x1f
/* B24494 800AD2F4 00066043 */ sra $t4, $a2, 1
/* B24498 800AD2F8 318A001F */ andi $t2, $t4, 0x1f
/* B2449C 800AD2FC 000F6880 */ sll $t5, $t7, 2
/* B244A0 800AD300 00005812 */ mflo $t3
/* B244A4 800AD304 00000000 */ nop
/* B244A8 800AD308 00000000 */ nop
/* B244AC 800AD30C 0168001A */ div $zero, $t3, $t0
/* B244B0 800AD310 0000C012 */ mflo $t8
/* B244B4 800AD314 0018CA00 */ sll $t9, $t8, 8
/* B244B8 800AD318 15000002 */ bnez $t0, .L800AD324
/* B244BC 800AD31C 00000000 */ nop
/* B244C0 800AD320 0007000D */ break 7
.L800AD324:
/* B244C4 800AD324 2401FFFF */ li $at, -1
/* B244C8 800AD328 15010004 */ bne $t0, $at, .L800AD33C
/* B244CC 800AD32C 3C018000 */ lui $at, 0x8000
/* B244D0 800AD330 15610002 */ bne $t3, $at, .L800AD33C
/* B244D4 800AD334 00000000 */ nop
/* B244D8 800AD338 0006000D */ break 6
.L800AD33C:
/* B244DC 800AD33C 01AA5821 */ addu $t3, $t5, $t2
/* B244E0 800AD340 01670019 */ multu $t3, $a3
/* B244E4 800AD344 0000C012 */ mflo $t8
/* B244E8 800AD348 00000000 */ nop
/* B244EC 800AD34C 00000000 */ nop
/* B244F0 800AD350 0308001A */ div $zero, $t8, $t0
/* B244F4 800AD354 00007012 */ mflo $t6
/* B244F8 800AD358 032E7825 */ or $t7, $t9, $t6
/* B244FC 800AD35C 15000002 */ bnez $t0, .L800AD368
/* B24500 800AD360 00000000 */ nop
/* B24504 800AD364 0007000D */ break 7
.L800AD368:
/* B24508 800AD368 2401FFFF */ li $at, -1
/* B2450C 800AD36C 15010004 */ bne $t0, $at, .L800AD380
/* B24510 800AD370 3C018000 */ lui $at, 0x8000
/* B24514 800AD374 17010002 */ bne $t8, $at, .L800AD380
/* B24518 800AD378 00000000 */ nop
/* B2451C 800AD37C 0006000D */ break 6
.L800AD380:
/* B24520 800AD380 A46FFFFE */ sh $t7, -2($v1)
/* B24524 800AD384 5449FF45 */ bnel $v0, $t1, .L800AD09C
/* B24528 800AD388 000270C3 */ sra $t6, $v0, 3
/* B2452C 800AD38C 03E00008 */ jr $ra
/* B24530 800AD390 00000000 */ nop