mirror of https://github.com/zeldaret/oot.git
				
				
				
			
		
			
				
	
	
		
			109 lines
		
	
	
		
			5.1 KiB
		
	
	
	
		
			ArmAsm
		
	
	
	
			
		
		
	
	
			109 lines
		
	
	
		
			5.1 KiB
		
	
	
	
		
			ArmAsm
		
	
	
	
| glabel func_8008F2F8
 | |
| /* B06498 8008F2F8 27BDFFD8 */  addiu $sp, $sp, -0x28
 | |
| /* B0649C 8008F2FC 3C0E0001 */  lui   $t6, 1
 | |
| /* B064A0 8008F300 AFBF0014 */  sw    $ra, 0x14($sp)
 | |
| /* B064A4 8008F304 01C47021 */  addu  $t6, $t6, $a0
 | |
| /* B064A8 8008F308 91CE1CBE */  lbu   $t6, 0x1cbe($t6)
 | |
| /* B064AC 8008F30C 24010003 */  li    $at, 3
 | |
| /* B064B0 8008F310 8C851C44 */  lw    $a1, 0x1c44($a0)
 | |
| /* B064B4 8008F314 55C10004 */  bnel  $t6, $at, .L8008F328
 | |
| /* B064B8 8008F318 94A20840 */   lhu   $v0, 0x840($a1)
 | |
| /* B064BC 8008F31C 1000001D */  b     .L8008F394
 | |
| /* B064C0 8008F320 00001825 */   move  $v1, $zero
 | |
| /* B064C4 8008F324 94A20840 */  lhu   $v0, 0x840($a1)
 | |
| .L8008F328:
 | |
| /* B064C8 8008F328 28410051 */  slti  $at, $v0, 0x51
 | |
| /* B064CC 8008F32C 54200012 */  bnezl $at, .L8008F378
 | |
| /* B064D0 8008F330 8CB9067C */   lw    $t9, 0x67c($a1)
 | |
| /* B064D4 8008F334 80A3014F */  lb    $v1, 0x14f($a1)
 | |
| /* B064D8 8008F338 24010001 */  li    $at, 1
 | |
| /* B064DC 8008F33C 10610002 */  beq   $v1, $at, .L8008F348
 | |
| /* B064E0 8008F340 2841012C */   slti  $at, $v0, 0x12c
 | |
| /* B064E4 8008F344 1420000B */  bnez  $at, .L8008F374
 | |
| .L8008F348:
 | |
| /* B064E8 8008F348 24010001 */   li    $at, 1
 | |
| /* B064EC 8008F34C 14610007 */  bne   $v1, $at, .L8008F36C
 | |
| /* B064F0 8008F350 00000000 */   nop   
 | |
| /* B064F4 8008F354 94AF0088 */  lhu   $t7, 0x88($a1)
 | |
| /* B064F8 8008F358 31F80001 */  andi  $t8, $t7, 1
 | |
| /* B064FC 8008F35C 13000003 */  beqz  $t8, .L8008F36C
 | |
| /* B06500 8008F360 00000000 */   nop   
 | |
| /* B06504 8008F364 1000000B */  b     .L8008F394
 | |
| /* B06508 8008F368 24030001 */   li    $v1, 1
 | |
| .L8008F36C:
 | |
| /* B0650C 8008F36C 10000009 */  b     .L8008F394
 | |
| /* B06510 8008F370 24030003 */   li    $v1, 3
 | |
| .L8008F374:
 | |
| /* B06514 8008F374 8CB9067C */  lw    $t9, 0x67c($a1)
 | |
| .L8008F378:
 | |
| /* B06518 8008F378 00194100 */  sll   $t0, $t9, 4
 | |
| /* B0651C 8008F37C 05010003 */  bgez  $t0, .L8008F38C
 | |
| /* B06520 8008F380 00000000 */   nop   
 | |
| /* B06524 8008F384 10000003 */  b     .L8008F394
 | |
| /* B06528 8008F388 24030002 */   li    $v1, 2
 | |
| .L8008F38C:
 | |
| /* B0652C 8008F38C 10000034 */  b     .L8008F460
 | |
| /* B06530 8008F390 00001025 */   move  $v0, $zero
 | |
| .L8008F394:
 | |
| /* B06534 8008F394 AFA3001C */  sw    $v1, 0x1c($sp)
 | |
| /* B06538 8008F398 AFA40028 */  sw    $a0, 0x28($sp)
 | |
| /* B0653C 8008F39C 0C023A62 */  jal   func_8008E988
 | |
| /* B06540 8008F3A0 AFA50024 */   sw    $a1, 0x24($sp)
 | |
| /* B06544 8008F3A4 8FA3001C */  lw    $v1, 0x1c($sp)
 | |
| /* B06548 8008F3A8 8FA40028 */  lw    $a0, 0x28($sp)
 | |
| /* B0654C 8008F3AC 1440002B */  bnez  $v0, .L8008F45C
 | |
| /* B06550 8008F3B0 8FA50024 */   lw    $a1, 0x24($sp)
 | |
| /* B06554 8008F3B4 3C0A8012 */  lui   $t2, %hi(D_80125C88) # $t2, 0x8012
 | |
| /* B06558 8008F3B8 254A5C88 */  addiu $t2, %lo(D_80125C88) # addiu $t2, $t2, 0x5c88
 | |
| /* B0655C 8008F3BC 00034880 */  sll   $t1, $v1, 2
 | |
| /* B06560 8008F3C0 012A3821 */  addu  $a3, $t1, $t2
 | |
| /* B06564 8008F3C4 90E20000 */  lbu   $v0, ($a3)
 | |
| /* B06568 8008F3C8 3C0B8016 */  lui   $t3, %hi(gSaveContext+0x13c6) # $t3, 0x8016
 | |
| /* B0656C 8008F3CC 50400024 */  beql  $v0, $zero, .L8008F460
 | |
| /* B06570 8008F3D0 24620001 */   addiu $v0, $v1, 1
 | |
| /* B06574 8008F3D4 916BFA26 */  lbu   $t3, %lo(gSaveContext+0x13c6)($t3)
 | |
| /* B06578 8008F3D8 01626024 */  and   $t4, $t3, $v0
 | |
| /* B0657C 8008F3DC 55800020 */  bnezl $t4, .L8008F460
 | |
| /* B06580 8008F3E0 24620001 */   addiu $v0, $v1, 1
 | |
| /* B06584 8008F3E4 54600005 */  bnezl $v1, .L8008F3FC
 | |
| /* B06588 8008F3E8 24020001 */   li    $v0, 1
 | |
| /* B0658C 8008F3EC 80AD014C */  lb    $t5, 0x14c($a1)
 | |
| /* B06590 8008F3F0 24020001 */  li    $v0, 1
 | |
| /* B06594 8008F3F4 144D000C */  bne   $v0, $t5, .L8008F428
 | |
| /* B06598 8008F3F8 24020001 */   li    $v0, 1
 | |
| .L8008F3FC:
 | |
| /* B0659C 8008F3FC 10620003 */  beq   $v1, $v0, .L8008F40C
 | |
| /* B065A0 8008F400 24010003 */   li    $at, 3
 | |
| /* B065A4 8008F404 54610016 */  bnel  $v1, $at, .L8008F460
 | |
| /* B065A8 8008F408 24620001 */   addiu $v0, $v1, 1
 | |
| .L8008F40C:
 | |
| /* B065AC 8008F40C 80AE014F */  lb    $t6, 0x14f($a1)
 | |
| /* B065B0 8008F410 544E0013 */  bnel  $v0, $t6, .L8008F460
 | |
| /* B065B4 8008F414 24620001 */   addiu $v0, $v1, 1
 | |
| /* B065B8 8008F418 80AF014C */  lb    $t7, 0x14c($a1)
 | |
| /* B065BC 8008F41C 24010002 */  li    $at, 2
 | |
| /* B065C0 8008F420 51E1000F */  beql  $t7, $at, .L8008F460
 | |
| /* B065C4 8008F424 24620001 */   addiu $v0, $v1, 1
 | |
| .L8008F428:
 | |
| /* B065C8 8008F428 94E50002 */  lhu   $a1, 2($a3)
 | |
| /* B065CC 8008F42C AFA70018 */  sw    $a3, 0x18($sp)
 | |
| /* B065D0 8008F430 AFA3001C */  sw    $v1, 0x1c($sp)
 | |
| /* B065D4 8008F434 0C042DA0 */  jal   func_8010B680
 | |
| /* B065D8 8008F438 00003025 */   move  $a2, $zero
 | |
| /* B065DC 8008F43C 8FA70018 */  lw    $a3, 0x18($sp)
 | |
| /* B065E0 8008F440 3C188016 */  lui   $t8, %hi(gSaveContext+0x13c6) # $t8, 0x8016
 | |
| /* B065E4 8008F444 9318FA26 */  lbu   $t8, %lo(gSaveContext+0x13c6)($t8)
 | |
| /* B065E8 8008F448 90F90000 */  lbu   $t9, ($a3)
 | |
| /* B065EC 8008F44C 3C018016 */  lui   $at, %hi(gSaveContext+0x13c6) # $at, 0x8016
 | |
| /* B065F0 8008F450 8FA3001C */  lw    $v1, 0x1c($sp)
 | |
| /* B065F4 8008F454 03194025 */  or    $t0, $t8, $t9
 | |
| /* B065F8 8008F458 A028FA26 */  sb    $t0, %lo(gSaveContext+0x13c6)($at)
 | |
| .L8008F45C:
 | |
| /* B065FC 8008F45C 24620001 */  addiu $v0, $v1, 1
 | |
| .L8008F460:
 | |
| /* B06600 8008F460 8FBF0014 */  lw    $ra, 0x14($sp)
 | |
| /* B06604 8008F464 27BD0028 */  addiu $sp, $sp, 0x28
 | |
| /* B06608 8008F468 03E00008 */  jr    $ra
 | |
| /* B0660C 8008F46C 00000000 */   nop   
 | |
| 
 |