.rdata glabel D_8013912C .asciz "%f (%f %f %f) %f\n" .balign 4 .late_rodata glabel D_80139E20 .float 0.01 glabel D_80139E24 .float 0.01 glabel D_80139E28 .float 0.01 glabel D_80139E2C .float 0.01 glabel D_80139E30 .float 0.2 glabel D_80139E34 .float -0.1 glabel D_80139E38 .float 0.01 glabel D_80139E3C .float 0.1 glabel D_80139E40 .float 0.017453293 # pi / 180 glabel D_80139E44 .float 0.4 glabel D_80139E48 .float 0.017453293 # pi / 180 glabel D_80139E4C .float 0.01 glabel D_80139E50 .float 0.1 glabel D_80139E54 .float 0.01 glabel D_80139E58 .float 0.2 .text glabel func_800460A8 /* ABD248 800460A8 27BDFF58 */ addiu $sp, $sp, -0xa8 /* ABD24C 800460AC AFB00040 */ sw $s0, 0x40($sp) /* ABD250 800460B0 00808025 */ move $s0, $a0 /* ABD254 800460B4 AFBF0044 */ sw $ra, 0x44($sp) /* ABD258 800460B8 F7B40038 */ sdc1 $f20, 0x38($sp) /* ABD25C 800460BC AFA500AC */ sw $a1, 0xac($sp) /* ABD260 800460C0 AFA600B0 */ sw $a2, 0xb0($sp) /* ABD264 800460C4 AFA700B4 */ sw $a3, 0xb4($sp) /* ABD268 800460C8 0C00B721 */ jal func_8002DC84 /* ABD26C 800460CC 8C840090 */ lw $a0, 0x90($a0) /* ABD270 800460D0 C7A400B4 */ lwc1 $f4, 0xb4($sp) /* ABD274 800460D4 44801000 */ mtc1 $zero, $f2 /* ABD278 800460D8 3C028016 */ lui $v0, %hi(gGameInfo) # $v0, 0x8016 /* ABD27C 800460DC 46040180 */ add.s $f6, $f0, $f4 /* ABD280 800460E0 8C42FA90 */ lw $v0, %lo(gGameInfo)($v0) /* ABD284 800460E4 E7A20098 */ swc1 $f2, 0x98($sp) /* ABD288 800460E8 E7A200A0 */ swc1 $f2, 0xa0($sp) /* ABD28C 800460EC E7A6009C */ swc1 $f6, 0x9c($sp) /* ABD290 800460F0 844E02EC */ lh $t6, 0x2ec($v0) /* ABD294 800460F4 87AF00C6 */ lh $t7, 0xc6($sp) /* ABD298 800460F8 46000506 */ mov.s $f20, $f0 /* ABD29C 800460FC 11C00010 */ beqz $t6, .L80046140 /* ABD2A0 80046100 31F80001 */ andi $t8, $t7, 1 /* ABD2A4 80046104 5300000F */ beql $t8, $zero, .L80046144 /* ABD2A8 80046108 26020094 */ addiu $v0, $s0, 0x94 /* ABD2AC 8004610C 844801A6 */ lh $t0, 0x1a6($v0) /* ABD2B0 80046110 8FB900AC */ lw $t9, 0xac($sp) /* ABD2B4 80046114 26040108 */ addiu $a0, $s0, 0x108 /* ABD2B8 80046118 44884000 */ mtc1 $t0, $f8 /* ABD2BC 8004611C 860500A2 */ lh $a1, 0xa2($s0) /* ABD2C0 80046120 87260006 */ lh $a2, 6($t9) /* ABD2C4 80046124 46804220 */ cvt.s.w $f8, $f8 /* ABD2C8 80046128 44074000 */ mfc1 $a3, $f8 /* ABD2CC 8004612C 0C0115C5 */ jal func_80045714 /* ABD2D0 80046130 00000000 */ nop /* ABD2D4 80046134 C7AA009C */ lwc1 $f10, 0x9c($sp) /* ABD2D8 80046138 46005101 */ sub.s $f4, $f10, $f0 /* ABD2DC 8004613C E7A4009C */ swc1 $f4, 0x9c($sp) .L80046140: /* ABD2E0 80046140 26020094 */ addiu $v0, $s0, 0x94 .L80046144: /* ABD2E4 80046144 8C4A0000 */ lw $t2, ($v0) /* ABD2E8 80046148 27A5008C */ addiu $a1, $sp, 0x8c /* ABD2EC 8004614C ACAA0000 */ sw $t2, ($a1) /* ABD2F0 80046150 8C490004 */ lw $t1, 4($v0) /* ABD2F4 80046154 ACA90004 */ sw $t1, 4($a1) /* ABD2F8 80046158 8C4A0008 */ lw $t2, 8($v0) /* ABD2FC 8004615C ACAA0008 */ sw $t2, 8($a1) /* ABD300 80046160 C7A60090 */ lwc1 $f6, 0x90($sp) /* ABD304 80046164 AFA20050 */ sw $v0, 0x50($sp) /* ABD308 80046168 8FA600B0 */ lw $a2, 0xb0($sp) /* ABD30C 8004616C 46143200 */ add.s $f8, $f6, $f20 /* ABD310 80046170 8FA400C0 */ lw $a0, 0xc0($sp) /* ABD314 80046174 0C01F124 */ jal func_8007C490 /* ABD318 80046178 E7A80090 */ swc1 $f8, 0x90($sp) /* ABD31C 8004617C 8FAC00C0 */ lw $t4, 0xc0($sp) /* ABD320 80046180 27AB0074 */ addiu $t3, $sp, 0x74 /* ABD324 80046184 3C0F8016 */ lui $t7, %hi(gGameInfo) # $t7, 0x8016 /* ABD328 80046188 8D8E0000 */ lw $t6, ($t4) /* ABD32C 8004618C AD6E0000 */ sw $t6, ($t3) /* ABD330 80046190 8D8D0004 */ lw $t5, 4($t4) /* ABD334 80046194 AD6D0004 */ sw $t5, 4($t3) /* ABD338 80046198 C7A40074 */ lwc1 $f4, 0x74($sp) /* ABD33C 8004619C C7AA00B8 */ lwc1 $f10, 0xb8($sp) /* ABD340 800461A0 8FB90050 */ lw $t9, 0x50($sp) /* ABD344 800461A4 4604503C */ c.lt.s $f10, $f4 /* ABD348 800461A8 00000000 */ nop /* ABD34C 800461AC 4502000E */ bc1fl .L800461E8 /* ABD350 800461B0 C72A0004 */ lwc1 $f10, 4($t9) /* ABD354 800461B4 8DEFFA90 */ lw $t7, %lo(gGameInfo)($t7) /* ABD358 800461B8 3C018014 */ lui $at, %hi(D_80139E20) /* ABD35C 800461BC C42A9E20 */ lwc1 $f10, %lo(D_80139E20)($at) /* ABD360 800461C0 85F801E0 */ lh $t8, 0x1e0($t7) /* ABD364 800461C4 44983000 */ mtc1 $t8, $f6 /* ABD368 800461C8 00000000 */ nop /* ABD36C 800461CC 46803220 */ cvt.s.w $f8, $f6 /* ABD370 800461D0 460A4182 */ mul.s $f6, $f8, $f10 /* ABD374 800461D4 00000000 */ nop /* ABD378 800461D8 46043202 */ mul.s $f8, $f6, $f4 /* ABD37C 800461DC 10000024 */ b .L80046270 /* ABD380 800461E0 E7A80074 */ swc1 $f8, 0x74($sp) /* ABD384 800461E4 C72A0004 */ lwc1 $f10, 4($t9) .L800461E8: /* ABD388 800461E8 C6060104 */ lwc1 $f6, 0x104($s0) /* ABD38C 800461EC 3C013F80 */ li $at, 0x3F800000 # 0.000000 /* ABD390 800461F0 44817000 */ mtc1 $at, $f14 /* ABD394 800461F4 46065101 */ sub.s $f4, $f10, $f6 /* ABD398 800461F8 0C01F02A */ jal func_8007C0A8 /* ABD39C 800461FC 46142303 */ div.s $f12, $f4, $f20 /* ABD3A0 80046200 3C028016 */ lui $v0, %hi(gGameInfo) # $v0, 0x8016 /* ABD3A4 80046204 8C42FA90 */ lw $v0, %lo(gGameInfo)($v0) /* ABD3A8 80046208 3C018014 */ lui $at, %hi(D_80139E24) /* ABD3AC 8004620C C4269E24 */ lwc1 $f6, %lo(D_80139E24)($at) /* ABD3B0 80046210 844801E2 */ lh $t0, 0x1e2($v0) /* ABD3B4 80046214 844901E0 */ lh $t1, 0x1e0($v0) /* ABD3B8 80046218 3C018014 */ lui $at, %hi(D_80139E28) /* ABD3BC 8004621C 44884000 */ mtc1 $t0, $f8 /* ABD3C0 80046220 44892000 */ mtc1 $t1, $f4 /* ABD3C4 80046224 468042A0 */ cvt.s.w $f10, $f8 /* ABD3C8 80046228 46802220 */ cvt.s.w $f8, $f4 /* ABD3CC 8004622C 46065082 */ mul.s $f2, $f10, $f6 /* ABD3D0 80046230 C42A9E28 */ lwc1 $f10, %lo(D_80139E28)($at) /* ABD3D4 80046234 460A4182 */ mul.s $f6, $f8, $f10 /* ABD3D8 80046238 C7A80074 */ lwc1 $f8, 0x74($sp) /* ABD3DC 8004623C 46061101 */ sub.s $f4, $f2, $f6 /* ABD3E0 80046240 C7A600B8 */ lwc1 $f6, 0xb8($sp) /* ABD3E4 80046244 46082282 */ mul.s $f10, $f4, $f8 /* ABD3E8 80046248 46064103 */ div.s $f4, $f8, $f6 /* ABD3EC 8004624C 46045182 */ mul.s $f6, $f10, $f4 /* ABD3F0 80046250 00000000 */ nop /* ABD3F4 80046254 46024282 */ mul.s $f10, $f8, $f2 /* ABD3F8 80046258 46065101 */ sub.s $f4, $f10, $f6 /* ABD3FC 8004625C 46002202 */ mul.s $f8, $f4, $f0 /* ABD400 80046260 E7A40074 */ swc1 $f4, 0x74($sp) /* ABD404 80046264 46004282 */ mul.s $f10, $f8, $f0 /* ABD408 80046268 460A2181 */ sub.s $f6, $f4, $f10 /* ABD40C 8004626C E7A60074 */ swc1 $f6, 0x74($sp) .L80046270: /* ABD410 80046270 87A300C6 */ lh $v1, 0xc6($sp) /* ABD414 80046274 3C018014 */ lui $at, %hi(D_80139E2C) /* ABD418 80046278 27A40080 */ addiu $a0, $sp, 0x80 /* ABD41C 8004627C 30630080 */ andi $v1, $v1, 0x80 /* ABD420 80046280 10600009 */ beqz $v1, .L800462A8 /* ABD424 80046284 27A50074 */ addiu $a1, $sp, 0x74 /* ABD428 80046288 C4209E2C */ lwc1 $f0, %lo(D_80139E2C)($at) /* ABD42C 8004628C 3C018014 */ lui $at, %hi(D_80139E30) /* ABD430 80046290 C4249E30 */ lwc1 $f4, %lo(D_80139E30)($at) /* ABD434 80046294 C7A80074 */ lwc1 $f8, 0x74($sp) /* ABD438 80046298 46044282 */ mul.s $f10, $f8, $f4 /* ABD43C 8004629C E7AA0074 */ swc1 $f10, 0x74($sp) /* ABD440 800462A0 E60000CC */ swc1 $f0, 0xcc($s0) /* ABD444 800462A4 E60000D0 */ swc1 $f0, 0xd0($s0) .L800462A8: /* ABD448 800462A8 0C01F097 */ jal func_8007C25C /* ABD44C 800462AC AFA3004C */ sw $v1, 0x4c($sp) /* ABD450 800462B0 3C0A8016 */ lui $t2, %hi(gGameInfo) # $t2, 0x8016 /* ABD454 800462B4 8D4AFA90 */ lw $t2, %lo(gGameInfo)($t2) /* ABD458 800462B8 8FA3004C */ lw $v1, 0x4c($sp) /* ABD45C 800462BC C7A60074 */ lwc1 $f6, 0x74($sp) /* ABD460 800462C0 854B0306 */ lh $t3, 0x306($t2) /* ABD464 800462C4 C7A800B8 */ lwc1 $f8, 0xb8($sp) /* ABD468 800462C8 51600017 */ beql $t3, $zero, .L80046328 /* ABD46C 800462CC C7A60098 */ lwc1 $f6, 0x98($sp) /* ABD470 800462D0 46083103 */ div.s $f4, $f6, $f8 /* ABD474 800462D4 C7A60080 */ lwc1 $f6, 0x80($sp) /* ABD478 800462D8 3C048014 */ lui $a0, %hi(D_8013912C) # $a0, 0x8014 /* ABD47C 800462DC 2484912C */ addiu $a0, %lo(D_8013912C) # addiu $a0, $a0, -0x6ed4 /* ABD480 800462E0 46003221 */ cvt.d.s $f8, $f6 /* ABD484 800462E4 C7A60088 */ lwc1 $f6, 0x88($sp) /* ABD488 800462E8 F7A80010 */ sdc1 $f8, 0x10($sp) /* ABD48C 800462EC 46003221 */ cvt.d.s $f8, $f6 /* ABD490 800462F0 F7A80020 */ sdc1 $f8, 0x20($sp) /* ABD494 800462F4 460022A1 */ cvt.d.s $f10, $f4 /* ABD498 800462F8 C7A40084 */ lwc1 $f4, 0x84($sp) /* ABD49C 800462FC 44075000 */ mfc1 $a3, $f10 /* ABD4A0 80046300 44065800 */ mfc1 $a2, $f11 /* ABD4A4 80046304 460022A1 */ cvt.d.s $f10, $f4 /* ABD4A8 80046308 F7AA0018 */ sdc1 $f10, 0x18($sp) /* ABD4AC 8004630C C6040100 */ lwc1 $f4, 0x100($s0) /* ABD4B0 80046310 AFA3004C */ sw $v1, 0x4c($sp) /* ABD4B4 80046314 460022A1 */ cvt.d.s $f10, $f4 /* ABD4B8 80046318 0C00084C */ jal osSyncPrintf /* ABD4BC 8004631C F7AA0028 */ sdc1 $f10, 0x28($sp) /* ABD4C0 80046320 8FA3004C */ lw $v1, 0x4c($sp) /* ABD4C4 80046324 C7A60098 */ lwc1 $f6, 0x98($sp) .L80046328: /* ABD4C8 80046328 C7A80080 */ lwc1 $f8, 0x80($sp) /* ABD4CC 8004632C C7AA009C */ lwc1 $f10, 0x9c($sp) /* ABD4D0 80046330 3C188016 */ lui $t8, %hi(gGameInfo) # $t8, 0x8016 /* ABD4D4 80046334 46083100 */ add.s $f4, $f6, $f8 /* ABD4D8 80046338 C7A60084 */ lwc1 $f6, 0x84($sp) /* ABD4DC 8004633C 46065200 */ add.s $f8, $f10, $f6 /* ABD4E0 80046340 E7A40098 */ swc1 $f4, 0x98($sp) /* ABD4E4 80046344 C7A400A0 */ lwc1 $f4, 0xa0($sp) /* ABD4E8 80046348 C7AA0088 */ lwc1 $f10, 0x88($sp) /* ABD4EC 8004634C E7A8009C */ swc1 $f8, 0x9c($sp) /* ABD4F0 80046350 460A2180 */ add.s $f6, $f4, $f10 /* ABD4F4 80046354 E7A600A0 */ swc1 $f6, 0xa0($sp) /* ABD4F8 80046358 C6040104 */ lwc1 $f4, 0x104($s0) /* ABD4FC 8004635C C6080098 */ lwc1 $f8, 0x98($s0) /* ABD500 80046360 46044032 */ c.eq.s $f8, $f4 /* ABD504 80046364 00000000 */ nop /* ABD508 80046368 4501000D */ bc1t .L800463A0 /* ABD50C 8004636C 00000000 */ nop /* ABD510 80046370 8E020090 */ lw $v0, 0x90($s0) /* ABD514 80046374 3C018014 */ lui $at, %hi(D_80139E34) /* ABD518 80046378 C42A9E34 */ lwc1 $f10, %lo(D_80139E34)($at) /* ABD51C 8004637C C446006C */ lwc1 $f6, 0x6c($v0) /* ABD520 80046380 4606503C */ c.lt.s $f10, $f6 /* ABD524 80046384 00000000 */ nop /* ABD528 80046388 45010005 */ bc1t .L800463A0 /* ABD52C 8004638C 00000000 */ nop /* ABD530 80046390 8C4C067C */ lw $t4, 0x67c($v0) /* ABD534 80046394 000C6A80 */ sll $t5, $t4, 0xa /* ABD538 80046398 05A10024 */ bgez $t5, .L8004642C /* ABD53C 8004639C 00000000 */ nop .L800463A0: /* ABD540 800463A0 8F18FA90 */ lw $t8, %lo(gGameInfo)($t8) /* ABD544 800463A4 3C018014 */ lui $at, %hi(D_80139E38) /* ABD548 800463A8 C42A9E38 */ lwc1 $f10, %lo(D_80139E38)($at) /* ABD54C 800463AC 871901EA */ lh $t9, 0x1ea($t8) /* ABD550 800463B0 8FAE0050 */ lw $t6, 0x50($sp) /* ABD554 800463B4 8FAF00BC */ lw $t7, 0xbc($sp) /* ABD558 800463B8 44994000 */ mtc1 $t9, $f8 /* ABD55C 800463BC 3C073DCC */ lui $a3, (0x3DCCCCCD >> 16) # lui $a3, 0x3dcc /* ABD560 800463C0 34E7CCCD */ ori $a3, (0x3DCCCCCD & 0xFFFF) # ori $a3, $a3, 0xcccd /* ABD564 800463C4 46804120 */ cvt.s.w $f4, $f8 /* ABD568 800463C8 C5CC0004 */ lwc1 $f12, 4($t6) /* ABD56C 800463CC C5EE0000 */ lwc1 $f14, ($t7) /* ABD570 800463D0 460A2182 */ mul.s $f6, $f4, $f10 /* ABD574 800463D4 44063000 */ mfc1 $a2, $f6 /* ABD578 800463D8 0C010E27 */ jal func_8004389C /* ABD57C 800463DC 00000000 */ nop /* ABD580 800463E0 8FA800BC */ lw $t0, 0xbc($sp) /* ABD584 800463E4 3C018014 */ lui $at, %hi(D_80139E3C) /* ABD588 800463E8 27A40098 */ addiu $a0, $sp, 0x98 /* ABD58C 800463EC E5000000 */ swc1 $f0, ($t0) /* ABD590 800463F0 8FA90050 */ lw $t1, 0x50($sp) /* ABD594 800463F4 C7A4009C */ lwc1 $f4, 0x9c($sp) /* ABD598 800463F8 C4269E3C */ lwc1 $f6, %lo(D_80139E3C)($at) /* ABD59C 800463FC C5280004 */ lwc1 $f8, 4($t1) /* ABD5A0 80046400 260500E4 */ addiu $a1, $s0, 0xe4 /* ABD5A4 80046404 46004501 */ sub.s $f20, $f8, $f0 /* ABD5A8 80046408 46142281 */ sub.s $f10, $f4, $f20 /* ABD5AC 8004640C E7AA009C */ swc1 $f10, 0x9c($sp) /* ABD5B0 80046410 8E0700CC */ lw $a3, 0xcc($s0) /* ABD5B4 80046414 8E0600D0 */ lw $a2, 0xd0($s0) /* ABD5B8 80046418 0C010E8F */ jal func_80043A3C /* ABD5BC 8004641C E7A60010 */ swc1 $f6, 0x10($sp) /* ABD5C0 80046420 260A0050 */ addiu $t2, $s0, 0x50 /* ABD5C4 80046424 10000097 */ b .L80046684 /* ABD5C8 80046428 AFAA0054 */ sw $t2, 0x54($sp) .L8004642C: /* ABD5CC 8004642C 14600036 */ bnez $v1, .L80046508 /* ABD5D0 80046430 8FAD0050 */ lw $t5, 0x50($sp) /* ABD5D4 80046434 8FAB0050 */ lw $t3, 0x50($sp) /* ABD5D8 80046438 8FAC00BC */ lw $t4, 0xbc($sp) /* ABD5DC 8004643C 26040050 */ addiu $a0, $s0, 0x50 /* ABD5E0 80046440 C5680004 */ lwc1 $f8, 4($t3) /* ABD5E4 80046444 C5840000 */ lwc1 $f4, ($t4) /* ABD5E8 80046448 AFA40054 */ sw $a0, 0x54($sp) /* ABD5EC 8004644C 2605005C */ addiu $a1, $s0, 0x5c /* ABD5F0 80046450 0C01F00A */ jal func_8007C028 /* ABD5F4 80046454 46044501 */ sub.s $f20, $f8, $f4 /* ABD5F8 80046458 4600A306 */ mov.s $f12, $f20 /* ABD5FC 8004645C 46000386 */ mov.s $f14, $f0 /* ABD600 80046460 0C03F494 */ jal Math_atan2f /* ABD604 80046464 E7A00068 */ swc1 $f0, 0x68($sp) /* ABD608 80046468 3C018014 */ lui $at, %hi(D_80139E40) /* ABD60C 8004646C C4329E40 */ lwc1 $f18, %lo(D_80139E40)($at) /* ABD610 80046470 3C018014 */ lui $at, %hi(D_80139E44) /* ABD614 80046474 C4269E44 */ lwc1 $f6, %lo(D_80139E44)($at) /* ABD618 80046478 C60A00FC */ lwc1 $f10, 0xfc($s0) /* ABD61C 8004647C 46065202 */ mul.s $f8, $f10, $f6 /* ABD620 80046480 00000000 */ nop /* ABD624 80046484 46124302 */ mul.s $f12, $f8, $f18 /* ABD628 80046488 0C03F3A0 */ jal Math_tanf /* ABD62C 8004648C 00000000 */ nop /* ABD630 80046490 C7B00068 */ lwc1 $f16, 0x68($sp) /* ABD634 80046494 8FA200BC */ lw $v0, 0xbc($sp) /* ABD638 80046498 46100082 */ mul.s $f2, $f0, $f16 /* ABD63C 8004649C 4614103C */ c.lt.s $f2, $f20 /* ABD640 800464A0 00000000 */ nop /* ABD644 800464A4 45020008 */ bc1fl .L800464C8 /* ABD648 800464A8 46001007 */ neg.s $f0, $f2 /* ABD64C 800464AC 4602A281 */ sub.s $f10, $f20, $f2 /* ABD650 800464B0 C4440000 */ lwc1 $f4, ($v0) /* ABD654 800464B4 46001506 */ mov.s $f20, $f2 /* ABD658 800464B8 460A2180 */ add.s $f6, $f4, $f10 /* ABD65C 800464BC 1000000C */ b .L800464F0 /* ABD660 800464C0 E4460000 */ swc1 $f6, ($v0) /* ABD664 800464C4 46001007 */ neg.s $f0, $f2 .L800464C8: /* ABD668 800464C8 8FA200BC */ lw $v0, 0xbc($sp) /* ABD66C 800464CC 4600A03C */ c.lt.s $f20, $f0 /* ABD670 800464D0 00000000 */ nop /* ABD674 800464D4 45020007 */ bc1fl .L800464F4 /* ABD678 800464D8 C7A6009C */ lwc1 $f6, 0x9c($sp) /* ABD67C 800464DC 4602A100 */ add.s $f4, $f20, $f2 /* ABD680 800464E0 C4480000 */ lwc1 $f8, ($v0) /* ABD684 800464E4 46000506 */ mov.s $f20, $f0 /* ABD688 800464E8 46044280 */ add.s $f10, $f8, $f4 /* ABD68C 800464EC E44A0000 */ swc1 $f10, ($v0) .L800464F0: /* ABD690 800464F0 C7A6009C */ lwc1 $f6, 0x9c($sp) .L800464F4: /* ABD694 800464F4 3C028016 */ lui $v0, %hi(gGameInfo) # $v0, 0x8016 /* ABD698 800464F8 8C42FA90 */ lw $v0, %lo(gGameInfo)($v0) /* ABD69C 800464FC 46143201 */ sub.s $f8, $f6, $f20 /* ABD6A0 80046500 1000003A */ b .L800465EC /* ABD6A4 80046504 E7A8009C */ swc1 $f8, 0x9c($sp) .L80046508: /* ABD6A8 80046508 8FAE00BC */ lw $t6, 0xbc($sp) /* ABD6AC 8004650C C5A40004 */ lwc1 $f4, 4($t5) /* ABD6B0 80046510 26040050 */ addiu $a0, $s0, 0x50 /* ABD6B4 80046514 C5CA0000 */ lwc1 $f10, ($t6) /* ABD6B8 80046518 AFA40054 */ sw $a0, 0x54($sp) /* ABD6BC 8004651C 2605005C */ addiu $a1, $s0, 0x5c /* ABD6C0 80046520 0C01F00A */ jal func_8007C028 /* ABD6C4 80046524 460A2501 */ sub.s $f20, $f4, $f10 /* ABD6C8 80046528 4600A306 */ mov.s $f12, $f20 /* ABD6CC 8004652C 0C03F494 */ jal Math_atan2f /* ABD6D0 80046530 46000386 */ mov.s $f14, $f0 /* ABD6D4 80046534 3C028016 */ lui $v0, %hi(gGameInfo) # $v0, 0x8016 /* ABD6D8 80046538 8C42FA90 */ lw $v0, %lo(gGameInfo)($v0) /* ABD6DC 8004653C 3C018014 */ lui $at, %hi(D_80139E48) /* ABD6E0 80046540 C4329E48 */ lwc1 $f18, %lo(D_80139E48)($at) /* ABD6E4 80046544 845801D4 */ lh $t8, 0x1d4($v0) /* ABD6E8 80046548 46000086 */ mov.s $f2, $f0 /* ABD6EC 8004654C 44983000 */ mtc1 $t8, $f6 /* ABD6F0 80046550 00000000 */ nop /* ABD6F4 80046554 46803220 */ cvt.s.w $f8, $f6 /* ABD6F8 80046558 46124382 */ mul.s $f14, $f8, $f18 /* ABD6FC 8004655C 4600703C */ c.lt.s $f14, $f0 /* ABD700 80046560 00000000 */ nop /* ABD704 80046564 4502000A */ bc1fl .L80046590 /* ABD708 80046568 845901D6 */ lh $t9, 0x1d6($v0) /* ABD70C 8004656C 0C0400A4 */ jal sinf /* ABD710 80046570 460E1301 */ sub.s $f12, $f2, $f14 /* ABD714 80046574 3C013F80 */ li $at, 0x3F800000 # 0.000000 /* ABD718 80046578 44812000 */ mtc1 $at, $f4 /* ABD71C 8004657C 3C028016 */ lui $v0, %hi(gGameInfo) /* ABD720 80046580 8C42FA90 */ lw $v0, %lo(gGameInfo)($v0) /* ABD724 80046584 10000015 */ b .L800465DC /* ABD728 80046588 46002401 */ sub.s $f16, $f4, $f0 /* ABD72C 8004658C 845901D6 */ lh $t9, 0x1d6($v0) .L80046590: /* ABD730 80046590 3C013F80 */ li $at, 0x3F800000 # 0.000000 /* ABD734 80046594 44995000 */ mtc1 $t9, $f10 /* ABD738 80046598 00000000 */ nop /* ABD73C 8004659C 468051A0 */ cvt.s.w $f6, $f10 /* ABD740 800465A0 46123382 */ mul.s $f14, $f6, $f18 /* ABD744 800465A4 460E003C */ c.lt.s $f0, $f14 /* ABD748 800465A8 00000000 */ nop /* ABD74C 800465AC 4502000A */ bc1fl .L800465D8 /* ABD750 800465B0 44818000 */ mtc1 $at, $f16 /* ABD754 800465B4 0C0400A4 */ jal sinf /* ABD758 800465B8 46027301 */ sub.s $f12, $f14, $f2 /* ABD75C 800465BC 3C013F80 */ li $at, 0x3F800000 # 0.000000 /* ABD760 800465C0 44814000 */ mtc1 $at, $f8 /* ABD764 800465C4 3C028016 */ lui $v0, %hi(gGameInfo) /* ABD768 800465C8 8C42FA90 */ lw $v0, %lo(gGameInfo)($v0) /* ABD76C 800465CC 10000003 */ b .L800465DC /* ABD770 800465D0 46004401 */ sub.s $f16, $f8, $f0 /* ABD774 800465D4 44818000 */ mtc1 $at, $f16 .L800465D8: /* ABD778 800465D8 00000000 */ nop .L800465DC: /* ABD77C 800465DC 4610A282 */ mul.s $f10, $f20, $f16 /* ABD780 800465E0 C7A4009C */ lwc1 $f4, 0x9c($sp) /* ABD784 800465E4 460A2181 */ sub.s $f6, $f4, $f10 /* ABD788 800465E8 E7A6009C */ swc1 $f6, 0x9c($sp) .L800465EC: /* ABD78C 800465EC 844801CE */ lh $t0, 0x1ce($v0) /* ABD790 800465F0 844901D0 */ lh $t1, 0x1d0($v0) /* ABD794 800465F4 3C018014 */ lui $at, %hi(D_80139E4C) /* ABD798 800465F8 44884000 */ mtc1 $t0, $f8 /* ABD79C 800465FC 44893000 */ mtc1 $t1, $f6 /* ABD7A0 80046600 C4209E4C */ lwc1 $f0, %lo(D_80139E4C)($at) /* ABD7A4 80046604 46804120 */ cvt.s.w $f4, $f8 /* ABD7A8 80046608 3C018014 */ lui $at, %hi(D_80139E50) /* ABD7AC 8004660C 27A40098 */ addiu $a0, $sp, 0x98 /* ABD7B0 80046610 260500E4 */ addiu $a1, $s0, 0xe4 /* ABD7B4 80046614 46803220 */ cvt.s.w $f8, $f6 /* ABD7B8 80046618 46002282 */ mul.s $f10, $f4, $f0 /* ABD7BC 8004661C 00000000 */ nop /* ABD7C0 80046620 46004102 */ mul.s $f4, $f8, $f0 /* ABD7C4 80046624 44065000 */ mfc1 $a2, $f10 /* ABD7C8 80046628 C42A9E50 */ lwc1 $f10, %lo(D_80139E50)($at) /* ABD7CC 8004662C E7AA0010 */ swc1 $f10, 0x10($sp) /* ABD7D0 80046630 44072000 */ mfc1 $a3, $f4 /* ABD7D4 80046634 0C010E8F */ jal func_80043A3C /* ABD7D8 80046638 00000000 */ nop /* ABD7DC 8004663C 3C0A8016 */ lui $t2, %hi(gGameInfo) # $t2, 0x8016 /* ABD7E0 80046640 8D4AFA90 */ lw $t2, %lo(gGameInfo)($t2) /* ABD7E4 80046644 3C018014 */ lui $at, %hi(D_80139E54) /* ABD7E8 80046648 C4209E54 */ lwc1 $f0, %lo(D_80139E54)($at) /* ABD7EC 8004664C 854B01CE */ lh $t3, 0x1ce($t2) /* ABD7F0 80046650 3C0C8016 */ lui $t4, %hi(gGameInfo) /* ABD7F4 80046654 448B3000 */ mtc1 $t3, $f6 /* ABD7F8 80046658 00000000 */ nop /* ABD7FC 8004665C 46803220 */ cvt.s.w $f8, $f6 /* ABD800 80046660 46004102 */ mul.s $f4, $f8, $f0 /* ABD804 80046664 E60400D0 */ swc1 $f4, 0xd0($s0) /* ABD808 80046668 8D8CFA90 */ lw $t4, %lo(gGameInfo)($t4) /* ABD80C 8004666C 858D01D0 */ lh $t5, 0x1d0($t4) /* ABD810 80046670 448D5000 */ mtc1 $t5, $f10 /* ABD814 80046674 00000000 */ nop /* ABD818 80046678 468051A0 */ cvt.s.w $f6, $f10 /* ABD81C 8004667C 46003202 */ mul.s $f8, $f6, $f0 /* ABD820 80046680 E60800CC */ swc1 $f8, 0xcc($s0) .L80046684: /* ABD824 80046684 8FA20050 */ lw $v0, 0x50($sp) /* ABD828 80046688 C60A00E4 */ lwc1 $f10, 0xe4($s0) /* ABD82C 8004668C 3C018014 */ lui $at, %hi(D_80139E58) /* ABD830 80046690 C4440000 */ lwc1 $f4, ($v0) /* ABD834 80046694 27A4008C */ addiu $a0, $sp, 0x8c /* ABD838 80046698 8FA50054 */ lw $a1, 0x54($sp) /* ABD83C 8004669C 460A2180 */ add.s $f6, $f4, $f10 /* ABD840 800466A0 E7A6008C */ swc1 $f6, 0x8c($sp) /* ABD844 800466A4 C60400E8 */ lwc1 $f4, 0xe8($s0) /* ABD848 800466A8 C4480004 */ lwc1 $f8, 4($v0) /* ABD84C 800466AC 46044280 */ add.s $f10, $f8, $f4 /* ABD850 800466B0 E7AA0090 */ swc1 $f10, 0x90($sp) /* ABD854 800466B4 C60800EC */ lwc1 $f8, 0xec($s0) /* ABD858 800466B8 C4460008 */ lwc1 $f6, 8($v0) /* ABD85C 800466BC C42A9E58 */ lwc1 $f10, %lo(D_80139E58)($at) /* ABD860 800466C0 46083100 */ add.s $f4, $f6, $f8 /* ABD864 800466C4 E7A40094 */ swc1 $f4, 0x94($sp) /* ABD868 800466C8 C6000100 */ lwc1 $f0, 0x100($s0) /* ABD86C 800466CC E7AA0010 */ swc1 $f10, 0x10($sp) /* ABD870 800466D0 44060000 */ mfc1 $a2, $f0 /* ABD874 800466D4 44070000 */ mfc1 $a3, $f0 /* ABD878 800466D8 0C010E8F */ jal func_80043A3C /* ABD87C 800466DC 00000000 */ nop /* ABD880 800466E0 8FBF0044 */ lw $ra, 0x44($sp) /* ABD884 800466E4 D7B40038 */ ldc1 $f20, 0x38($sp) /* ABD888 800466E8 8FB00040 */ lw $s0, 0x40($sp) /* ABD88C 800466EC 27BD00A8 */ addiu $sp, $sp, 0xa8 /* ABD890 800466F0 03E00008 */ jr $ra /* ABD894 800466F4 24020001 */ li $v0, 1