mirror of https://github.com/zeldaret/oot.git
				
				
				
			
		
			
				
	
	
		
			378 lines
		
	
	
		
			19 KiB
		
	
	
	
		
			ArmAsm
		
	
	
	
			
		
		
	
	
			378 lines
		
	
	
		
			19 KiB
		
	
	
	
		
			ArmAsm
		
	
	
	
.late_rodata
 | 
						|
glabel D_80139E80
 | 
						|
    .float 0.01
 | 
						|
 | 
						|
glabel D_80139E84
 | 
						|
    .float 16380
 | 
						|
 | 
						|
glabel D_80139E88
 | 
						|
    .float 0.01
 | 
						|
 | 
						|
.text
 | 
						|
glabel func_80046E20
 | 
						|
/* ABDFC0 80046E20 27BDFF90 */  addiu $sp, $sp, -0x70
 | 
						|
/* ABDFC4 80046E24 AFB10024 */  sw    $s1, 0x24($sp)
 | 
						|
/* ABDFC8 80046E28 8FB10084 */  lw    $s1, 0x84($sp)
 | 
						|
/* ABDFCC 80046E2C AFBF002C */  sw    $ra, 0x2c($sp)
 | 
						|
/* ABDFD0 80046E30 AFB20028 */  sw    $s2, 0x28($sp)
 | 
						|
/* ABDFD4 80046E34 AFB00020 */  sw    $s0, 0x20($sp)
 | 
						|
/* ABDFD8 80046E38 AFA50074 */  sw    $a1, 0x74($sp)
 | 
						|
/* ABDFDC 80046E3C AFA60078 */  sw    $a2, 0x78($sp)
 | 
						|
/* ABDFE0 80046E40 AFA7007C */  sw    $a3, 0x7c($sp)
 | 
						|
/* ABDFE4 80046E44 86220018 */  lh    $v0, 0x18($s1)
 | 
						|
/* ABDFE8 80046E48 3C108016 */  lui   $s0, %hi(D_8015CEA8) # $s0, 0x8016
 | 
						|
/* ABDFEC 80046E4C 2610CEA8 */  addiu $s0, %lo(D_8015CEA8) # addiu $s0, $s0, -0x3158
 | 
						|
/* ABDFF0 80046E50 3C068016 */  lui   $a2, %hi(D_8015CE80) # $a2, 0x8016
 | 
						|
/* ABDFF4 80046E54 2C420001 */  sltiu $v0, $v0, 1
 | 
						|
/* ABDFF8 80046E58 00809025 */  move  $s2, $a0
 | 
						|
/* ABDFFC 80046E5C AFA20010 */  sw    $v0, 0x10($sp)
 | 
						|
/* ABE000 80046E60 24C6CE80 */  addiu $a2, %lo(D_8015CE80) # addiu $a2, $a2, -0x3180
 | 
						|
/* ABE004 80046E64 0C011542 */  jal   func_80045508
 | 
						|
/* ABE008 80046E68 02003825 */   move  $a3, $s0
 | 
						|
/* ABE00C 80046E6C 24010001 */  li    $at, 1
 | 
						|
/* ABE010 80046E70 1041000A */  beq   $v0, $at, .L80046E9C
 | 
						|
/* ABE014 80046E74 02202025 */   move  $a0, $s1
 | 
						|
/* ABE018 80046E78 24010002 */  li    $at, 2
 | 
						|
/* ABE01C 80046E7C 10410007 */  beq   $v0, $at, .L80046E9C
 | 
						|
/* ABE020 80046E80 24010003 */   li    $at, 3
 | 
						|
/* ABE024 80046E84 104100BC */  beq   $v0, $at, .L80047178
 | 
						|
/* ABE028 80046E88 24010006 */   li    $at, 6
 | 
						|
/* ABE02C 80046E8C 504100BB */  beql  $v0, $at, .L8004717C
 | 
						|
/* ABE030 80046E90 862D0018 */   lh    $t5, 0x18($s1)
 | 
						|
/* ABE034 80046E94 10000116 */  b     .L800472F0
 | 
						|
/* ABE038 80046E98 3C0E8016 */   lui   $t6, %hi(gGameInfo)
 | 
						|
.L80046E9C:
 | 
						|
/* ABE03C 80046E9C 26450050 */  addiu $a1, $s2, 0x50
 | 
						|
/* ABE040 80046EA0 26460074 */  addiu $a2, $s2, 0x74
 | 
						|
/* ABE044 80046EA4 3C078016 */  lui   $a3, %hi(D_8015CE80) # $a3, 0x8016
 | 
						|
/* ABE048 80046EA8 24E7CE80 */  addiu $a3, %lo(D_8015CE80) # addiu $a3, $a3, -0x3180
 | 
						|
/* ABE04C 80046EAC AFA60030 */  sw    $a2, 0x30($sp)
 | 
						|
/* ABE050 80046EB0 AFA50034 */  sw    $a1, 0x34($sp)
 | 
						|
/* ABE054 80046EB4 0C011517 */  jal   func_8004545C
 | 
						|
/* ABE058 80046EB8 AFB00010 */   sw    $s0, 0x10($sp)
 | 
						|
/* ABE05C 80046EBC 3C018016 */  lui   $at, %hi(D_8015CE8C)
 | 
						|
/* ABE060 80046EC0 C424CE8C */  lwc1  $f4, %lo(D_8015CE8C)($at)
 | 
						|
/* ABE064 80046EC4 3C018016 */  lui   $at, %hi(D_8015CEB4)
 | 
						|
/* ABE068 80046EC8 C426CEB4 */  lwc1  $f6, %lo(D_8015CEB4)($at)
 | 
						|
/* ABE06C 80046ECC C62A0000 */  lwc1  $f10, ($s1)
 | 
						|
/* ABE070 80046ED0 3C018016 */  lui   $at, %hi(D_8015CE90)
 | 
						|
/* ABE074 80046ED4 46062200 */  add.s $f8, $f4, $f6
 | 
						|
/* ABE078 80046ED8 C432CE90 */  lwc1  $f18, %lo(D_8015CE90)($at)
 | 
						|
/* ABE07C 80046EDC 3C018016 */  lui   $at, %hi(D_8015CEB8)
 | 
						|
/* ABE080 80046EE0 C424CEB8 */  lwc1  $f4, %lo(D_8015CEB8)($at)
 | 
						|
/* ABE084 80046EE4 46085400 */  add.s $f16, $f10, $f8
 | 
						|
/* ABE088 80046EE8 3C018016 */  lui   $at, %hi(D_8015CE94)
 | 
						|
/* ABE08C 80046EEC 3C058016 */  lui   $a1, %hi(D_8015CE80) # $a1, 0x8016
 | 
						|
/* ABE090 80046EF0 46049180 */  add.s $f6, $f18, $f4
 | 
						|
/* ABE094 80046EF4 E7B00058 */  swc1  $f16, 0x58($sp)
 | 
						|
/* ABE098 80046EF8 C62A0004 */  lwc1  $f10, 4($s1)
 | 
						|
/* ABE09C 80046EFC C430CE94 */  lwc1  $f16, %lo(D_8015CE94)($at)
 | 
						|
/* ABE0A0 80046F00 3C018016 */  lui   $at, %hi(D_8015CEBC)
 | 
						|
/* ABE0A4 80046F04 46065200 */  add.s $f8, $f10, $f6
 | 
						|
/* ABE0A8 80046F08 C432CEBC */  lwc1  $f18, %lo(D_8015CEBC)($at)
 | 
						|
/* ABE0AC 80046F0C 24A5CE80 */  addiu $a1, %lo(D_8015CE80) # addiu $a1, $a1, -0x3180
 | 
						|
/* ABE0B0 80046F10 8FA40034 */  lw    $a0, 0x34($sp)
 | 
						|
/* ABE0B4 80046F14 46128100 */  add.s $f4, $f16, $f18
 | 
						|
/* ABE0B8 80046F18 E7A8005C */  swc1  $f8, 0x5c($sp)
 | 
						|
/* ABE0BC 80046F1C C62A0008 */  lwc1  $f10, 8($s1)
 | 
						|
/* ABE0C0 80046F20 46045180 */  add.s $f6, $f10, $f4
 | 
						|
/* ABE0C4 80046F24 0C01EFE4 */  jal   OLib_Vec3fDist
 | 
						|
/* ABE0C8 80046F28 E7A60060 */   swc1  $f6, 0x60($sp)
 | 
						|
/* ABE0CC 80046F2C C7A20078 */  lwc1  $f2, 0x78($sp)
 | 
						|
/* ABE0D0 80046F30 3C013F80 */  lui   $at, 0x3f80
 | 
						|
/* ABE0D4 80046F34 8FAE0080 */  lw    $t6, 0x80($sp)
 | 
						|
/* ABE0D8 80046F38 4600103C */  c.lt.s $f2, $f0
 | 
						|
/* ABE0DC 80046F3C 3C188016 */  lui   $t8, %hi(gGameInfo)
 | 
						|
/* ABE0E0 80046F40 45020005 */  bc1fl .L80046F58
 | 
						|
/* ABE0E4 80046F44 46020403 */   div.s $f16, $f0, $f2
 | 
						|
/* ABE0E8 80046F48 44814000 */  mtc1  $at, $f8
 | 
						|
/* ABE0EC 80046F4C 10000004 */  b     .L80046F60
 | 
						|
/* ABE0F0 80046F50 E5C80000 */   swc1  $f8, ($t6)
 | 
						|
/* ABE0F4 80046F54 46020403 */  div.s $f16, $f0, $f2
 | 
						|
.L80046F58:
 | 
						|
/* ABE0F8 80046F58 8FAF0080 */  lw    $t7, 0x80($sp)
 | 
						|
/* ABE0FC 80046F5C E5F00000 */  swc1  $f16, ($t7)
 | 
						|
.L80046F60:
 | 
						|
/* ABE100 80046F60 8F18FA90 */  lw    $t8, %lo(gGameInfo)($t8)
 | 
						|
/* ABE104 80046F64 3C018014 */  lui   $at, %hi(D_80139E80)
 | 
						|
/* ABE108 80046F68 C4249E80 */  lwc1  $f4, %lo(D_80139E80)($at)
 | 
						|
/* ABE10C 80046F6C 871901A8 */  lh    $t9, 0x1a8($t8)
 | 
						|
/* ABE110 80046F70 24080001 */  li    $t0, 1
 | 
						|
/* ABE114 80046F74 A6280018 */  sh    $t0, 0x18($s1)
 | 
						|
/* ABE118 80046F78 44999000 */  mtc1  $t9, $f18
 | 
						|
/* ABE11C 80046F7C 3C098016 */  lui   $t1, %hi(D_8015CEC0) # $t1, 0x8016
 | 
						|
/* ABE120 80046F80 27A40048 */  addiu $a0, $sp, 0x48
 | 
						|
/* ABE124 80046F84 468092A0 */  cvt.s.w $f10, $f18
 | 
						|
/* ABE128 80046F88 27A60058 */  addiu $a2, $sp, 0x58
 | 
						|
/* ABE12C 80046F8C 46045182 */  mul.s $f6, $f10, $f4
 | 
						|
/* ABE130 80046F90 E6260010 */  swc1  $f6, 0x10($s1)
 | 
						|
/* ABE134 80046F94 8D29CEC0 */  lw    $t1, %lo(D_8015CEC0)($t1)
 | 
						|
/* ABE138 80046F98 AE29000C */  sw    $t1, 0xc($s1)
 | 
						|
/* ABE13C 80046F9C 0C01F124 */  jal   OLib_Vec3fDiffToVecSphGeo
 | 
						|
/* ABE140 80046FA0 8FA50034 */   lw    $a1, 0x34($sp)
 | 
						|
/* ABE144 80046FA4 8FAA0074 */  lw    $t2, 0x74($sp)
 | 
						|
/* ABE148 80046FA8 2650005C */  addiu $s0, $s2, 0x5c
 | 
						|
/* ABE14C 80046FAC 02002025 */  move  $a0, $s0
 | 
						|
/* ABE150 80046FB0 C5480000 */  lwc1  $f8, ($t2)
 | 
						|
/* ABE154 80046FB4 8FA50034 */  lw    $a1, 0x34($sp)
 | 
						|
/* ABE158 80046FB8 27A60048 */  addiu $a2, $sp, 0x48
 | 
						|
/* ABE15C 80046FBC 0C010F0A */  jal   func_80043C28
 | 
						|
/* ABE160 80046FC0 E7A80048 */   swc1  $f8, 0x48($sp)
 | 
						|
/* ABE164 80046FC4 8E0C0000 */  lw    $t4, ($s0)
 | 
						|
/* ABE168 80046FC8 3C068016 */  lui   $a2, %hi(D_8015CED0) # $a2, 0x8016
 | 
						|
/* ABE16C 80046FCC 24C6CED0 */  addiu $a2, %lo(D_8015CED0) # addiu $a2, $a2, -0x3130
 | 
						|
/* ABE170 80046FD0 ACCC0000 */  sw    $t4, ($a2)
 | 
						|
/* ABE174 80046FD4 8E0B0004 */  lw    $t3, 4($s0)
 | 
						|
/* ABE178 80046FD8 02402025 */  move  $a0, $s2
 | 
						|
/* ABE17C 80046FDC 8FA50034 */  lw    $a1, 0x34($sp)
 | 
						|
/* ABE180 80046FE0 ACCB0004 */  sw    $t3, 4($a2)
 | 
						|
/* ABE184 80046FE4 8E0C0008 */  lw    $t4, 8($s0)
 | 
						|
/* ABE188 80046FE8 0C010F46 */  jal   func_80043D18
 | 
						|
/* ABE18C 80046FEC ACCC0008 */   sw    $t4, 8($a2)
 | 
						|
/* ABE190 80046FF0 3C068016 */  lui   $a2, %hi(D_8015CED0) # $a2, 0x8016
 | 
						|
/* ABE194 80046FF4 1440004B */  bnez  $v0, .L80047124
 | 
						|
/* ABE198 80046FF8 24C6CED0 */   addiu $a2, %lo(D_8015CED0) # addiu $a2, $a2, -0x3130
 | 
						|
/* ABE19C 80046FFC 8FA20074 */  lw    $v0, 0x74($sp)
 | 
						|
/* ABE1A0 80047000 87AE004E */  lh    $t6, 0x4e($sp)
 | 
						|
/* ABE1A4 80047004 87AB004C */  lh    $t3, 0x4c($sp)
 | 
						|
/* ABE1A8 80047008 844D0006 */  lh    $t5, 6($v0)
 | 
						|
/* ABE1AC 8004700C 02002025 */  move  $a0, $s0
 | 
						|
/* ABE1B0 80047010 8FA50034 */  lw    $a1, 0x34($sp)
 | 
						|
/* ABE1B4 80047014 01AE7823 */  subu  $t7, $t5, $t6
 | 
						|
/* ABE1B8 80047018 000FC400 */  sll   $t8, $t7, 0x10
 | 
						|
/* ABE1BC 8004701C 0018CC03 */  sra   $t9, $t8, 0x10
 | 
						|
/* ABE1C0 80047020 00194043 */  sra   $t0, $t9, 1
 | 
						|
/* ABE1C4 80047024 01C84821 */  addu  $t1, $t6, $t0
 | 
						|
/* ABE1C8 80047028 A7A9004E */  sh    $t1, 0x4e($sp)
 | 
						|
/* ABE1CC 8004702C 844A0004 */  lh    $t2, 4($v0)
 | 
						|
/* ABE1D0 80047030 27A60048 */  addiu $a2, $sp, 0x48
 | 
						|
/* ABE1D4 80047034 014B6023 */  subu  $t4, $t2, $t3
 | 
						|
/* ABE1D8 80047038 000C6C00 */  sll   $t5, $t4, 0x10
 | 
						|
/* ABE1DC 8004703C 000D7C03 */  sra   $t7, $t5, 0x10
 | 
						|
/* ABE1E0 80047040 000FC043 */  sra   $t8, $t7, 1
 | 
						|
/* ABE1E4 80047044 0178C821 */  addu  $t9, $t3, $t8
 | 
						|
/* ABE1E8 80047048 0C010F0A */  jal   func_80043C28
 | 
						|
/* ABE1EC 8004704C A7B9004C */   sh    $t9, 0x4c($sp)
 | 
						|
/* ABE1F0 80047050 3C0E8016 */  lui   $t6, %hi(D_8015CEA0) # $t6, 0x8016
 | 
						|
/* ABE1F4 80047054 85CECEA0 */  lh    $t6, %lo(D_8015CEA0)($t6)
 | 
						|
/* ABE1F8 80047058 87A8004E */  lh    $t0, 0x4e($sp)
 | 
						|
/* ABE1FC 8004705C 8FAA0074 */  lw    $t2, 0x74($sp)
 | 
						|
/* ABE200 80047060 29C12AA8 */  slti  $at, $t6, 0x2aa8
 | 
						|
/* ABE204 80047064 50200006 */  beql  $at, $zero, .L80047080
 | 
						|
/* ABE208 80047068 854C0006 */   lh    $t4, 6($t2)
 | 
						|
/* ABE20C 8004706C A6280016 */  sh    $t0, 0x16($s1)
 | 
						|
/* ABE210 80047070 87A9004C */  lh    $t1, 0x4c($sp)
 | 
						|
/* ABE214 80047074 10000006 */  b     .L80047090
 | 
						|
/* ABE218 80047078 A6290014 */   sh    $t1, 0x14($s1)
 | 
						|
/* ABE21C 8004707C 854C0006 */  lh    $t4, 6($t2)
 | 
						|
.L80047080:
 | 
						|
/* ABE220 80047080 A62C0016 */  sh    $t4, 0x16($s1)
 | 
						|
/* ABE224 80047084 8FAD0074 */  lw    $t5, 0x74($sp)
 | 
						|
/* ABE228 80047088 85AF0004 */  lh    $t7, 4($t5)
 | 
						|
/* ABE22C 8004708C A62F0014 */  sh    $t7, 0x14($s1)
 | 
						|
.L80047090:
 | 
						|
/* ABE230 80047090 3C018016 */  lui   $at, %hi(D_8015CE8C)
 | 
						|
/* ABE234 80047094 C430CE8C */  lwc1  $f16, %lo(D_8015CE8C)($at)
 | 
						|
/* ABE238 80047098 3C018016 */  lui   $at, %hi(D_8015CEB4)
 | 
						|
/* ABE23C 8004709C C432CEB4 */  lwc1  $f18, %lo(D_8015CEB4)($at)
 | 
						|
/* ABE240 800470A0 C6240000 */  lwc1  $f4, ($s1)
 | 
						|
/* ABE244 800470A4 3C018016 */  lui   $at, %hi(D_8015CE90)
 | 
						|
/* ABE248 800470A8 46128280 */  add.s $f10, $f16, $f18
 | 
						|
/* ABE24C 800470AC C428CE90 */  lwc1  $f8, %lo(D_8015CE90)($at)
 | 
						|
/* ABE250 800470B0 3C018016 */  lui   $at, %hi(D_8015CEB8)
 | 
						|
/* ABE254 800470B4 C430CEB8 */  lwc1  $f16, %lo(D_8015CEB8)($at)
 | 
						|
/* ABE258 800470B8 460A2181 */  sub.s $f6, $f4, $f10
 | 
						|
/* ABE25C 800470BC 3C018016 */  lui   $at, %hi(D_8015CE94)
 | 
						|
/* ABE260 800470C0 27A40048 */  addiu $a0, $sp, 0x48
 | 
						|
/* ABE264 800470C4 46104480 */  add.s $f18, $f8, $f16
 | 
						|
/* ABE268 800470C8 E7A60058 */  swc1  $f6, 0x58($sp)
 | 
						|
/* ABE26C 800470CC C6240004 */  lwc1  $f4, 4($s1)
 | 
						|
/* ABE270 800470D0 C426CE94 */  lwc1  $f6, %lo(D_8015CE94)($at)
 | 
						|
/* ABE274 800470D4 3C018016 */  lui   $at, %hi(D_8015CEBC)
 | 
						|
/* ABE278 800470D8 46122281 */  sub.s $f10, $f4, $f18
 | 
						|
/* ABE27C 800470DC C428CEBC */  lwc1  $f8, %lo(D_8015CEBC)($at)
 | 
						|
/* ABE280 800470E0 8FA50034 */  lw    $a1, 0x34($sp)
 | 
						|
/* ABE284 800470E4 27A60058 */  addiu $a2, $sp, 0x58
 | 
						|
/* ABE288 800470E8 46083400 */  add.s $f16, $f6, $f8
 | 
						|
/* ABE28C 800470EC E7AA005C */  swc1  $f10, 0x5c($sp)
 | 
						|
/* ABE290 800470F0 C6240008 */  lwc1  $f4, 8($s1)
 | 
						|
/* ABE294 800470F4 46102481 */  sub.s $f18, $f4, $f16
 | 
						|
/* ABE298 800470F8 0C01F124 */  jal   OLib_Vec3fDiffToVecSphGeo
 | 
						|
/* ABE29C 800470FC E7B20060 */   swc1  $f18, 0x60($sp)
 | 
						|
/* ABE2A0 80047100 8FAB0074 */  lw    $t3, 0x74($sp)
 | 
						|
/* ABE2A4 80047104 8FA40030 */  lw    $a0, 0x30($sp)
 | 
						|
/* ABE2A8 80047108 8FA50034 */  lw    $a1, 0x34($sp)
 | 
						|
/* ABE2AC 8004710C C56A0000 */  lwc1  $f10, ($t3)
 | 
						|
/* ABE2B0 80047110 27A60048 */  addiu $a2, $sp, 0x48
 | 
						|
/* ABE2B4 80047114 0C010F0A */  jal   func_80043C28
 | 
						|
/* ABE2B8 80047118 E7AA0048 */   swc1  $f10, 0x48($sp)
 | 
						|
/* ABE2BC 8004711C 10000098 */  b     .L80047380
 | 
						|
/* ABE2C0 80047120 8FBF002C */   lw    $ra, 0x2c($sp)
 | 
						|
.L80047124:
 | 
						|
/* ABE2C4 80047124 8CD90000 */  lw    $t9, ($a2)
 | 
						|
/* ABE2C8 80047128 3C0E8016 */  lui   $t6, %hi(D_8015CE80) # $t6, 0x8016
 | 
						|
/* ABE2CC 8004712C 25CECE80 */  addiu $t6, %lo(D_8015CE80) # addiu $t6, $t6, -0x3180
 | 
						|
/* ABE2D0 80047130 AE190000 */  sw    $t9, ($s0)
 | 
						|
/* ABE2D4 80047134 8CD80004 */  lw    $t8, 4($a2)
 | 
						|
/* ABE2D8 80047138 00C05025 */  move  $t2, $a2
 | 
						|
/* ABE2DC 8004713C 24CC0024 */  addiu $t4, $a2, 0x24
 | 
						|
/* ABE2E0 80047140 AE180004 */  sw    $t8, 4($s0)
 | 
						|
/* ABE2E4 80047144 8CD90008 */  lw    $t9, 8($a2)
 | 
						|
/* ABE2E8 80047148 AE190008 */  sw    $t9, 8($s0)
 | 
						|
.L8004714C:
 | 
						|
/* ABE2EC 8004714C 8D490000 */  lw    $t1, ($t2)
 | 
						|
/* ABE2F0 80047150 254A000C */  addiu $t2, $t2, 0xc
 | 
						|
/* ABE2F4 80047154 25CE000C */  addiu $t6, $t6, 0xc
 | 
						|
/* ABE2F8 80047158 ADC9FFF4 */  sw    $t1, -0xc($t6)
 | 
						|
/* ABE2FC 8004715C 8D48FFF8 */  lw    $t0, -8($t2)
 | 
						|
/* ABE300 80047160 ADC8FFF8 */  sw    $t0, -8($t6)
 | 
						|
/* ABE304 80047164 8D49FFFC */  lw    $t1, -4($t2)
 | 
						|
/* ABE308 80047168 154CFFF8 */  bne   $t2, $t4, .L8004714C
 | 
						|
/* ABE30C 8004716C ADC9FFFC */   sw    $t1, -4($t6)
 | 
						|
/* ABE310 80047170 8D490000 */  lw    $t1, ($t2)
 | 
						|
/* ABE314 80047174 ADC90000 */  sw    $t1, ($t6)
 | 
						|
.L80047178:
 | 
						|
/* ABE318 80047178 862D0018 */  lh    $t5, 0x18($s1)
 | 
						|
.L8004717C:
 | 
						|
/* ABE31C 8004717C 2650005C */  addiu $s0, $s2, 0x5c
 | 
						|
/* ABE320 80047180 26440050 */  addiu $a0, $s2, 0x50
 | 
						|
/* ABE324 80047184 11A0000C */  beqz  $t5, .L800471B8
 | 
						|
/* ABE328 80047188 3C058016 */   lui   $a1, %hi(D_8015CE80) # $a1, 0x8016
 | 
						|
/* ABE32C 8004718C 3C0F8016 */  lui   $t7, %hi(gGameInfo) # $t7, 0x8016
 | 
						|
/* ABE330 80047190 8DEFFA90 */  lw    $t7, %lo(gGameInfo)($t7)
 | 
						|
/* ABE334 80047194 85EB01FC */  lh    $t3, 0x1fc($t7)
 | 
						|
/* ABE338 80047198 A6200018 */  sh    $zero, 0x18($s1)
 | 
						|
/* ABE33C 8004719C A62B001A */  sh    $t3, 0x1a($s1)
 | 
						|
/* ABE340 800471A0 8E190000 */  lw    $t9, ($s0)
 | 
						|
/* ABE344 800471A4 AE590074 */  sw    $t9, 0x74($s2)
 | 
						|
/* ABE348 800471A8 8E180004 */  lw    $t8, 4($s0)
 | 
						|
/* ABE34C 800471AC AE580078 */  sw    $t8, 0x78($s2)
 | 
						|
/* ABE350 800471B0 8E190008 */  lw    $t9, 8($s0)
 | 
						|
/* ABE354 800471B4 AE59007C */  sw    $t9, 0x7c($s2)
 | 
						|
.L800471B8:
 | 
						|
/* ABE358 800471B8 0C01EFE4 */  jal   OLib_Vec3fDist
 | 
						|
/* ABE35C 800471BC 24A5CE80 */   addiu $a1, %lo(D_8015CE80) # addiu $a1, $a1, -0x3180
 | 
						|
/* ABE360 800471C0 C7AC0078 */  lwc1  $f12, 0x78($sp)
 | 
						|
/* ABE364 800471C4 46000086 */  mov.s $f2, $f0
 | 
						|
/* ABE368 800471C8 3C013F80 */  li    $at, 0x3F800000 # 0.000000
 | 
						|
/* ABE36C 800471CC 4600603C */  c.lt.s $f12, $f0
 | 
						|
/* ABE370 800471D0 8FAC0080 */  lw    $t4, 0x80($sp)
 | 
						|
/* ABE374 800471D4 45020005 */  bc1fl .L800471EC
 | 
						|
/* ABE378 800471D8 460C0203 */   div.s $f8, $f0, $f12
 | 
						|
/* ABE37C 800471DC 44813000 */  mtc1  $at, $f6
 | 
						|
/* ABE380 800471E0 10000004 */  b     .L800471F4
 | 
						|
/* ABE384 800471E4 E5860000 */   swc1  $f6, ($t4)
 | 
						|
/* ABE388 800471E8 460C0203 */  div.s $f8, $f0, $f12
 | 
						|
.L800471EC:
 | 
						|
/* ABE38C 800471EC 8FAA0080 */  lw    $t2, 0x80($sp)
 | 
						|
/* ABE390 800471F0 E5480000 */  swc1  $f8, ($t2)
 | 
						|
.L800471F4:
 | 
						|
/* ABE394 800471F4 8FAE0080 */  lw    $t6, 0x80($sp)
 | 
						|
/* ABE398 800471F8 C7B0007C */  lwc1  $f16, 0x7c($sp)
 | 
						|
/* ABE39C 800471FC 3C058016 */  lui   $a1, %hi(D_8015CE80) # $a1, 0x8016
 | 
						|
/* ABE3A0 80047200 C5C40000 */  lwc1  $f4, ($t6)
 | 
						|
/* ABE3A4 80047204 3C068016 */  lui   $a2, %hi(D_8015CE8C) # $a2, 0x8016
 | 
						|
/* ABE3A8 80047208 24C6CE8C */  addiu $a2, %lo(D_8015CE8C) # addiu $a2, $a2, -0x3174
 | 
						|
/* ABE3AC 8004720C 46102482 */  mul.s $f18, $f4, $f16
 | 
						|
/* ABE3B0 80047210 24A5CE80 */  addiu $a1, %lo(D_8015CE80) # addiu $a1, $a1, -0x3180
 | 
						|
/* ABE3B4 80047214 02002025 */  move  $a0, $s0
 | 
						|
/* ABE3B8 80047218 3C073F80 */  lui   $a3, 0x3f80
 | 
						|
/* ABE3BC 8004721C E6320010 */  swc1  $f18, 0x10($s1)
 | 
						|
/* ABE3C0 80047220 0C010F2B */  jal   func_80043CAC
 | 
						|
/* ABE3C4 80047224 E7A20050 */   swc1  $f2, 0x50($sp)
 | 
						|
/* ABE3C8 80047228 C7A20050 */  lwc1  $f2, 0x50($sp)
 | 
						|
/* ABE3CC 8004722C AE20000C */  sw    $zero, 0xc($s1)
 | 
						|
/* ABE3D0 80047230 3C088016 */  lui   $t0, %hi(gGameInfo) # $t0, 0x8016
 | 
						|
/* ABE3D4 80047234 8D08FA90 */  lw    $t0, %lo(gGameInfo)($t0)
 | 
						|
/* ABE3D8 80047238 8FAD0074 */  lw    $t5, 0x74($sp)
 | 
						|
/* ABE3DC 8004723C 3C048016 */  lui   $a0, %hi(D_8015CEA0) # $a0, 0x8016
 | 
						|
/* ABE3E0 80047240 850901BE */  lh    $t1, 0x1be($t0)
 | 
						|
/* ABE3E4 80047244 44895000 */  mtc1  $t1, $f10
 | 
						|
/* ABE3E8 80047248 00000000 */  nop
 | 
						|
/* ABE3EC 8004724C 468051A0 */  cvt.s.w $f6, $f10
 | 
						|
/* ABE3F0 80047250 4606103C */  c.lt.s $f2, $f6
 | 
						|
/* ABE3F4 80047254 00000000 */  nop
 | 
						|
/* ABE3F8 80047258 45020049 */  bc1fl .L80047380
 | 
						|
/* ABE3FC 8004725C 8FBF002C */   lw    $ra, 0x2c($sp)
 | 
						|
/* ABE400 80047260 8484CEA0 */  lh    $a0, %lo(D_8015CEA0)($a0)
 | 
						|
/* ABE404 80047264 85AF0006 */  lh    $t7, 6($t5)
 | 
						|
/* ABE408 80047268 E7A20050 */  swc1  $f2, 0x50($sp)
 | 
						|
/* ABE40C 8004726C 24843FFF */  addiu $a0, $a0, 0x3fff
 | 
						|
/* ABE410 80047270 00042400 */  sll   $a0, $a0, 0x10
 | 
						|
/* ABE414 80047274 00042403 */  sra   $a0, $a0, 0x10
 | 
						|
/* ABE418 80047278 0C01DE1C */  jal   Math_Sins
 | 
						|
/* ABE41C 8004727C A7AF0046 */   sh    $t7, 0x46($sp)
 | 
						|
/* ABE420 80047280 3C018014 */  lui   $at, %hi(D_80139E84)
 | 
						|
/* ABE424 80047284 C4289E84 */  lwc1  $f8, %lo(D_80139E84)($at)
 | 
						|
/* ABE428 80047288 3C028016 */  lui   $v0, %hi(gGameInfo) # $v0, 0x8016
 | 
						|
/* ABE42C 8004728C 8C42FA90 */  lw    $v0, %lo(gGameInfo)($v0)
 | 
						|
/* ABE430 80047290 46080102 */  mul.s $f4, $f0, $f8
 | 
						|
/* ABE434 80047294 3C018014 */  lui   $at, %hi(D_80139E88)
 | 
						|
/* ABE438 80047298 C4269E88 */  lwc1  $f6, %lo(D_80139E88)($at)
 | 
						|
/* ABE43C 8004729C C7A20050 */  lwc1  $f2, 0x50($sp)
 | 
						|
/* ABE440 800472A0 02002025 */  move  $a0, $s0
 | 
						|
/* ABE444 800472A4 02002825 */  move  $a1, $s0
 | 
						|
/* ABE448 800472A8 27A60040 */  addiu $a2, $sp, 0x40
 | 
						|
/* ABE44C 800472AC 4600240D */  trunc.w.s $f16, $f4
 | 
						|
/* ABE450 800472B0 44188000 */  mfc1  $t8, $f16
 | 
						|
/* ABE454 800472B4 00000000 */  nop
 | 
						|
/* ABE458 800472B8 A7B80044 */  sh    $t8, 0x44($sp)
 | 
						|
/* ABE45C 800472BC 845901C0 */  lh    $t9, 0x1c0($v0)
 | 
						|
/* ABE460 800472C0 844C01BE */  lh    $t4, 0x1be($v0)
 | 
						|
/* ABE464 800472C4 44999000 */  mtc1  $t9, $f18
 | 
						|
/* ABE468 800472C8 448C2000 */  mtc1  $t4, $f4
 | 
						|
/* ABE46C 800472CC 468092A0 */  cvt.s.w $f10, $f18
 | 
						|
/* ABE470 800472D0 46802420 */  cvt.s.w $f16, $f4
 | 
						|
/* ABE474 800472D4 46065202 */  mul.s $f8, $f10, $f6
 | 
						|
/* ABE478 800472D8 46028481 */  sub.s $f18, $f16, $f2
 | 
						|
/* ABE47C 800472DC 46124282 */  mul.s $f10, $f8, $f18
 | 
						|
/* ABE480 800472E0 0C010F0A */  jal   func_80043C28
 | 
						|
/* ABE484 800472E4 E7AA0040 */   swc1  $f10, 0x40($sp)
 | 
						|
/* ABE488 800472E8 10000025 */  b     .L80047380
 | 
						|
/* ABE48C 800472EC 8FBF002C */   lw    $ra, 0x2c($sp)
 | 
						|
.L800472F0:
 | 
						|
/* ABE490 800472F0 862A0018 */  lh    $t2, 0x18($s1)
 | 
						|
/* ABE494 800472F4 5140000C */  beql  $t2, $zero, .L80047328
 | 
						|
/* ABE498 800472F8 C7A6007C */   lwc1  $f6, 0x7c($sp)
 | 
						|
/* ABE49C 800472FC 8DCEFA90 */  lw    $t6, %lo(gGameInfo)($t6)
 | 
						|
/* ABE4A0 80047300 85C801FC */  lh    $t0, 0x1fc($t6)
 | 
						|
/* ABE4A4 80047304 A628001A */  sh    $t0, 0x1a($s1)
 | 
						|
/* ABE4A8 80047308 8E4D005C */  lw    $t5, 0x5c($s2)
 | 
						|
/* ABE4AC 8004730C 8E490060 */  lw    $t1, 0x60($s2)
 | 
						|
/* ABE4B0 80047310 AE4D0074 */  sw    $t5, 0x74($s2)
 | 
						|
/* ABE4B4 80047314 8E4D0064 */  lw    $t5, 0x64($s2)
 | 
						|
/* ABE4B8 80047318 AE490078 */  sw    $t1, 0x78($s2)
 | 
						|
/* ABE4BC 8004731C AE4D007C */  sw    $t5, 0x7c($s2)
 | 
						|
/* ABE4C0 80047320 A6200018 */  sh    $zero, 0x18($s1)
 | 
						|
/* ABE4C4 80047324 C7A6007C */  lwc1  $f6, 0x7c($sp)
 | 
						|
.L80047328:
 | 
						|
/* ABE4C8 80047328 AE20000C */  sw    $zero, 0xc($s1)
 | 
						|
/* ABE4CC 8004732C 3C018016 */  lui   $at, %hi(D_8015CE80)
 | 
						|
/* ABE4D0 80047330 E6260010 */  swc1  $f6, 0x10($s1)
 | 
						|
/* ABE4D4 80047334 C424CE80 */  lwc1  $f4, %lo(D_8015CE80)($at)
 | 
						|
/* ABE4D8 80047338 3C018016 */  lui   $at, %hi(D_8015CE8C)
 | 
						|
/* ABE4DC 8004733C C430CE8C */  lwc1  $f16, %lo(D_8015CE8C)($at)
 | 
						|
/* ABE4E0 80047340 2650005C */  addiu $s0, $s2, 0x5c
 | 
						|
/* ABE4E4 80047344 3C018016 */  lui   $at, %hi(D_8015CE84)
 | 
						|
/* ABE4E8 80047348 46102200 */  add.s $f8, $f4, $f16
 | 
						|
/* ABE4EC 8004734C E6080000 */  swc1  $f8, ($s0)
 | 
						|
/* ABE4F0 80047350 C432CE84 */  lwc1  $f18, %lo(D_8015CE84)($at)
 | 
						|
/* ABE4F4 80047354 3C018016 */  lui   $at, %hi(D_8015CE90)
 | 
						|
/* ABE4F8 80047358 C42ACE90 */  lwc1  $f10, %lo(D_8015CE90)($at)
 | 
						|
/* ABE4FC 8004735C 3C018016 */  lui   $at, %hi(D_8015CE88)
 | 
						|
/* ABE500 80047360 460A9180 */  add.s $f6, $f18, $f10
 | 
						|
/* ABE504 80047364 E6060004 */  swc1  $f6, 4($s0)
 | 
						|
/* ABE508 80047368 C424CE88 */  lwc1  $f4, %lo(D_8015CE88)($at)
 | 
						|
/* ABE50C 8004736C 3C018016 */  lui   $at, %hi(D_8015CE94)
 | 
						|
/* ABE510 80047370 C430CE94 */  lwc1  $f16, %lo(D_8015CE94)($at)
 | 
						|
/* ABE514 80047374 46102200 */  add.s $f8, $f4, $f16
 | 
						|
/* ABE518 80047378 E6080008 */  swc1  $f8, 8($s0)
 | 
						|
/* ABE51C 8004737C 8FBF002C */  lw    $ra, 0x2c($sp)
 | 
						|
.L80047380:
 | 
						|
/* ABE520 80047380 8FB00020 */  lw    $s0, 0x20($sp)
 | 
						|
/* ABE524 80047384 8FB10024 */  lw    $s1, 0x24($sp)
 | 
						|
/* ABE528 80047388 8FB20028 */  lw    $s2, 0x28($sp)
 | 
						|
/* ABE52C 8004738C 03E00008 */  jr    $ra
 | 
						|
/* ABE530 80047390 27BD0070 */   addiu $sp, $sp, 0x70
 | 
						|
 |