mirror of
https://github.com/HarbourMasters/SpaghettiKart
synced 2026-08-04 17:29:55 -04:00
782ed71f61
Mostly relocating rodata from data/* files to the appropriate asm/nonmatching/* files, although there is some plain data relocating to be found in here too. Big change to note is the addition of the code_802AAA70.c file, split from memory.c. Based on some padding in the ro/data for memory it seems clear that a split is needed, although it is not clear that exact spot chosen for the split is correct. Still, it gets the file padding for the ro/data and text segments correct so it can't be too wrong. Also included is an update to the asm_processor tool to support the .hword directive. I made a PR to the main repo of that project with an identical change and it was accepted. Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
528 lines
26 KiB
ArmAsm
528 lines
26 KiB
ArmAsm
glabel func_802AFA34
|
|
/* 119044 802AFA34 27BDFEC8 */ addiu $sp, $sp, -0x138
|
|
/* 119048 802AFA38 3C01447A */ li $at, 0x447A0000 # 1000.000000
|
|
/* 11904C 802AFA3C 44810000 */ mtc1 $at, $f0
|
|
/* 119050 802AFA40 AFBF007C */ sw $ra, 0x7c($sp)
|
|
/* 119054 802AFA44 AFB70078 */ sw $s7, 0x78($sp)
|
|
/* 119058 802AFA48 AFB60074 */ sw $s6, 0x74($sp)
|
|
/* 11905C 802AFA4C AFB50070 */ sw $s5, 0x70($sp)
|
|
/* 119060 802AFA50 AFB4006C */ sw $s4, 0x6c($sp)
|
|
/* 119064 802AFA54 AFB30068 */ sw $s3, 0x68($sp)
|
|
/* 119068 802AFA58 AFB20064 */ sw $s2, 0x64($sp)
|
|
/* 11906C 802AFA5C AFB10060 */ sw $s1, 0x60($sp)
|
|
/* 119070 802AFA60 AFB0005C */ sw $s0, 0x5c($sp)
|
|
/* 119074 802AFA64 F7BE0050 */ sdc1 $f30, 0x50($sp)
|
|
/* 119078 802AFA68 F7BC0048 */ sdc1 $f28, 0x48($sp)
|
|
/* 11907C 802AFA6C F7BA0040 */ sdc1 $f26, 0x40($sp)
|
|
/* 119080 802AFA70 F7B80038 */ sdc1 $f24, 0x38($sp)
|
|
/* 119084 802AFA74 F7B60030 */ sdc1 $f22, 0x30($sp)
|
|
/* 119088 802AFA78 F7B40028 */ sdc1 $f20, 0x28($sp)
|
|
/* 11908C 802AFA7C AFA60140 */ sw $a2, 0x140($sp)
|
|
/* 119090 802AFA80 AFA70144 */ sw $a3, 0x144($sp)
|
|
/* 119094 802AFA84 E7A00104 */ swc1 $f0, 0x104($sp)
|
|
/* 119098 802AFA88 E7A00108 */ swc1 $f0, 0x108($sp)
|
|
/* 11909C 802AFA8C E7A0010C */ swc1 $f0, 0x10c($sp)
|
|
/* 1190A0 802AFA90 C4940070 */ lwc1 $f20, 0x70($a0)
|
|
/* 1190A4 802AFA94 240E1388 */ li $t6, 5000
|
|
/* 1190A8 802AFA98 240F1388 */ li $t7, 5000
|
|
/* 1190AC 802AFA9C 24181388 */ li $t8, 5000
|
|
/* 1190B0 802AFAA0 A7AE00FE */ sh $t6, 0xfe($sp)
|
|
/* 1190B4 802AFAA4 A7AF0100 */ sh $t7, 0x100($sp)
|
|
/* 1190B8 802AFAA8 A7B80102 */ sh $t8, 0x102($sp)
|
|
/* 1190BC 802AFAAC A7A000F8 */ sh $zero, 0xf8($sp)
|
|
/* 1190C0 802AFAB0 A7A000FA */ sh $zero, 0xfa($sp)
|
|
/* 1190C4 802AFAB4 A7A000FC */ sh $zero, 0xfc($sp)
|
|
/* 1190C8 802AFAB8 90A2000D */ lbu $v0, 0xd($a1)
|
|
/* 1190CC 802AFABC 00A09825 */ move $s3, $a1
|
|
/* 1190D0 802AFAC0 0080A825 */ move $s5, $a0
|
|
/* 1190D4 802AFAC4 C4B60000 */ lwc1 $f22, ($a1)
|
|
/* 1190D8 802AFAC8 C4B80004 */ lwc1 $f24, 4($a1)
|
|
/* 1190DC 802AFACC 1040009C */ beqz $v0, .L802AFD40
|
|
/* 1190E0 802AFAD0 C4BA0008 */ lwc1 $f26, 8($a1)
|
|
/* 1190E4 802AFAD4 24010020 */ li $at, 32
|
|
/* 1190E8 802AFAD8 1041006A */ beq $v0, $at, .L802AFC84
|
|
/* 1190EC 802AFADC 27B700F8 */ addiu $s7, $sp, 0xf8
|
|
/* 1190F0 802AFAE0 24010040 */ li $at, 64
|
|
/* 1190F4 802AFAE4 10410038 */ beq $v0, $at, .L802AFBC8
|
|
/* 1190F8 802AFAE8 27B700F8 */ addiu $s7, $sp, 0xf8
|
|
/* 1190FC 802AFAEC 24010080 */ li $at, 128
|
|
/* 119100 802AFAF0 10410006 */ beq $v0, $at, .L802AFB0C
|
|
/* 119104 802AFAF4 27B700F8 */ addiu $s7, $sp, 0xf8
|
|
/* 119108 802AFAF8 3C014000 */ li $at, 0x40000000 # 2.000000
|
|
/* 11910C 802AFAFC 4481F000 */ mtc1 $at, $f30
|
|
/* 119110 802AFB00 27B700F8 */ addiu $s7, $sp, 0xf8
|
|
/* 119114 802AFB04 10000092 */ b .L802AFD50
|
|
/* 119118 802AFB08 24160001 */ li $s6, 1
|
|
.L802AFB0C:
|
|
/* 11911C 802AFB0C E7BA0010 */ swc1 $f26, 0x10($sp)
|
|
/* 119120 802AFB10 9679000E */ lhu $t9, 0xe($s3)
|
|
/* 119124 802AFB14 C7A40140 */ lwc1 $f4, 0x140($sp)
|
|
/* 119128 802AFB18 C7A60144 */ lwc1 $f6, 0x144($sp)
|
|
/* 11912C 802AFB1C C7A80148 */ lwc1 $f8, 0x148($sp)
|
|
/* 119130 802AFB20 4405A000 */ mfc1 $a1, $f20
|
|
/* 119134 802AFB24 4406B000 */ mfc1 $a2, $f22
|
|
/* 119138 802AFB28 4407C000 */ mfc1 $a3, $f24
|
|
/* 11913C 802AFB2C 02E02025 */ move $a0, $s7
|
|
/* 119140 802AFB30 AFB90014 */ sw $t9, 0x14($sp)
|
|
/* 119144 802AFB34 E7A40018 */ swc1 $f4, 0x18($sp)
|
|
/* 119148 802AFB38 E7A6001C */ swc1 $f6, 0x1c($sp)
|
|
/* 11914C 802AFB3C 0C0AB49E */ jal func_802AD278
|
|
/* 119150 802AFB40 E7A80020 */ swc1 $f8, 0x20($sp)
|
|
/* 119154 802AFB44 24160001 */ li $s6, 1
|
|
/* 119158 802AFB48 5456001C */ bnel $v0, $s6, .L802AFBBC
|
|
/* 11915C 802AFB4C 3C014000 */ lui $at, 0x4000
|
|
/* 119160 802AFB50 4406D000 */ mfc1 $a2, $f26
|
|
/* 119164 802AFB54 4600B306 */ mov.s $f12, $f22
|
|
/* 119168 802AFB58 4600C386 */ mov.s $f14, $f24
|
|
/* 11916C 802AFB5C 0C0AAF8C */ jal func_802ABE30
|
|
/* 119170 802AFB60 9667000E */ lhu $a3, 0xe($s3)
|
|
/* 119174 802AFB64 C6A20018 */ lwc1 $f2, 0x18($s5)
|
|
/* 119178 802AFB68 46000306 */ mov.s $f12, $f0
|
|
/* 11917C 802AFB6C 3C014000 */ lui $at, 0x4000
|
|
/* 119180 802AFB70 4600103C */ c.lt.s $f2, $f0
|
|
/* 119184 802AFB74 00000000 */ nop
|
|
/* 119188 802AFB78 45030010 */ bc1tl .L802AFBBC
|
|
/* 11918C 802AFB7C 3C014000 */ li $at, 0x40000000 # 2.000000
|
|
/* 119190 802AFB80 4481F000 */ mtc1 $at, $f30
|
|
/* 119194 802AFB84 46001401 */ sub.s $f16, $f2, $f0
|
|
/* 119198 802AFB88 27A4011C */ addiu $a0, $sp, 0x11c
|
|
/* 11919C 802AFB8C 4614F282 */ mul.s $f10, $f30, $f20
|
|
/* 1191A0 802AFB90 02603025 */ move $a2, $s3
|
|
/* 1191A4 802AFB94 4610503C */ c.lt.s $f10, $f16
|
|
/* 1191A8 802AFB98 00000000 */ nop
|
|
/* 1191AC 802AFB9C 45030007 */ bc1tl .L802AFBBC
|
|
/* 1191B0 802AFBA0 3C014000 */ lui $at, 0x4000
|
|
/* 1191B4 802AFBA4 E66C0010 */ swc1 $f12, 0x10($s3)
|
|
/* 1191B8 802AFBA8 0C0ABE7C */ jal func_802AF9F0
|
|
/* 1191BC 802AFBAC 8FA50108 */ lw $a1, 0x108($sp)
|
|
/* 1191C0 802AFBB0 10000184 */ b .L802B01C4
|
|
/* 1191C4 802AFBB4 24020001 */ li $v0, 1
|
|
/* 1191C8 802AFBB8 3C014000 */ li $at, 0x40000000 # 2.000000
|
|
.L802AFBBC:
|
|
/* 1191CC 802AFBBC 4481F000 */ mtc1 $at, $f30
|
|
/* 1191D0 802AFBC0 10000063 */ b .L802AFD50
|
|
/* 1191D4 802AFBC4 00000000 */ nop
|
|
.L802AFBC8:
|
|
/* 1191D8 802AFBC8 E7BA0010 */ swc1 $f26, 0x10($sp)
|
|
/* 1191DC 802AFBCC 9668000E */ lhu $t0, 0xe($s3)
|
|
/* 1191E0 802AFBD0 C7B20140 */ lwc1 $f18, 0x140($sp)
|
|
/* 1191E4 802AFBD4 C7A40144 */ lwc1 $f4, 0x144($sp)
|
|
/* 1191E8 802AFBD8 C7A60148 */ lwc1 $f6, 0x148($sp)
|
|
/* 1191EC 802AFBDC 4405A000 */ mfc1 $a1, $f20
|
|
/* 1191F0 802AFBE0 4406B000 */ mfc1 $a2, $f22
|
|
/* 1191F4 802AFBE4 4407C000 */ mfc1 $a3, $f24
|
|
/* 1191F8 802AFBE8 02E02025 */ move $a0, $s7
|
|
/* 1191FC 802AFBEC AFA80014 */ sw $t0, 0x14($sp)
|
|
/* 119200 802AFBF0 E7B20018 */ swc1 $f18, 0x18($sp)
|
|
/* 119204 802AFBF4 E7A4001C */ swc1 $f4, 0x1c($sp)
|
|
/* 119208 802AFBF8 0C0AB1D8 */ jal func_802AC760
|
|
/* 11920C 802AFBFC E7A60020 */ swc1 $f6, 0x20($sp)
|
|
/* 119210 802AFC00 24160001 */ li $s6, 1
|
|
/* 119214 802AFC04 5456001C */ bnel $v0, $s6, .L802AFC78
|
|
/* 119218 802AFC08 3C014000 */ lui $at, 0x4000
|
|
/* 11921C 802AFC0C 4406D000 */ mfc1 $a2, $f26
|
|
/* 119220 802AFC10 4600B306 */ mov.s $f12, $f22
|
|
/* 119224 802AFC14 4600C386 */ mov.s $f14, $f24
|
|
/* 119228 802AFC18 0C0AAF8C */ jal func_802ABE30
|
|
/* 11922C 802AFC1C 9667000E */ lhu $a3, 0xe($s3)
|
|
/* 119230 802AFC20 C6A20018 */ lwc1 $f2, 0x18($s5)
|
|
/* 119234 802AFC24 46000306 */ mov.s $f12, $f0
|
|
/* 119238 802AFC28 3C014000 */ lui $at, 0x4000
|
|
/* 11923C 802AFC2C 4600103C */ c.lt.s $f2, $f0
|
|
/* 119240 802AFC30 00000000 */ nop
|
|
/* 119244 802AFC34 45030010 */ bc1tl .L802AFC78
|
|
/* 119248 802AFC38 3C014000 */ li $at, 0x40000000 # 2.000000
|
|
/* 11924C 802AFC3C 4481F000 */ mtc1 $at, $f30
|
|
/* 119250 802AFC40 46001281 */ sub.s $f10, $f2, $f0
|
|
/* 119254 802AFC44 27A40128 */ addiu $a0, $sp, 0x128
|
|
/* 119258 802AFC48 4614F202 */ mul.s $f8, $f30, $f20
|
|
/* 11925C 802AFC4C 02603025 */ move $a2, $s3
|
|
/* 119260 802AFC50 460A403C */ c.lt.s $f8, $f10
|
|
/* 119264 802AFC54 00000000 */ nop
|
|
/* 119268 802AFC58 45030007 */ bc1tl .L802AFC78
|
|
/* 11926C 802AFC5C 3C014000 */ lui $at, 0x4000
|
|
/* 119270 802AFC60 E66C0010 */ swc1 $f12, 0x10($s3)
|
|
/* 119274 802AFC64 0C0ABE7C */ jal func_802AF9F0
|
|
/* 119278 802AFC68 8FA5010C */ lw $a1, 0x10c($sp)
|
|
/* 11927C 802AFC6C 10000155 */ b .L802B01C4
|
|
/* 119280 802AFC70 24020001 */ li $v0, 1
|
|
/* 119284 802AFC74 3C014000 */ li $at, 0x40000000 # 2.000000
|
|
.L802AFC78:
|
|
/* 119288 802AFC78 4481F000 */ mtc1 $at, $f30
|
|
/* 11928C 802AFC7C 10000034 */ b .L802AFD50
|
|
/* 119290 802AFC80 00000000 */ nop
|
|
.L802AFC84:
|
|
/* 119294 802AFC84 E7BA0010 */ swc1 $f26, 0x10($sp)
|
|
/* 119298 802AFC88 9669000E */ lhu $t1, 0xe($s3)
|
|
/* 11929C 802AFC8C C7B00140 */ lwc1 $f16, 0x140($sp)
|
|
/* 1192A0 802AFC90 C7B20144 */ lwc1 $f18, 0x144($sp)
|
|
/* 1192A4 802AFC94 C7A40148 */ lwc1 $f4, 0x148($sp)
|
|
/* 1192A8 802AFC98 4405A000 */ mfc1 $a1, $f20
|
|
/* 1192AC 802AFC9C 4406B000 */ mfc1 $a2, $f22
|
|
/* 1192B0 802AFCA0 4407C000 */ mfc1 $a3, $f24
|
|
/* 1192B4 802AFCA4 02E02025 */ move $a0, $s7
|
|
/* 1192B8 802AFCA8 AFA90014 */ sw $t1, 0x14($sp)
|
|
/* 1192BC 802AFCAC E7B00018 */ swc1 $f16, 0x18($sp)
|
|
/* 1192C0 802AFCB0 E7B2001C */ swc1 $f18, 0x1c($sp)
|
|
/* 1192C4 802AFCB4 0C0AB2E9 */ jal func_802ACBA4
|
|
/* 1192C8 802AFCB8 E7A40020 */ swc1 $f4, 0x20($sp)
|
|
/* 1192CC 802AFCBC 24160001 */ li $s6, 1
|
|
/* 1192D0 802AFCC0 5456001C */ bnel $v0, $s6, .L802AFD34
|
|
/* 1192D4 802AFCC4 3C014000 */ lui $at, 0x4000
|
|
/* 1192D8 802AFCC8 4406D000 */ mfc1 $a2, $f26
|
|
/* 1192DC 802AFCCC 4600B306 */ mov.s $f12, $f22
|
|
/* 1192E0 802AFCD0 4600C386 */ mov.s $f14, $f24
|
|
/* 1192E4 802AFCD4 0C0AAF8C */ jal func_802ABE30
|
|
/* 1192E8 802AFCD8 9667000E */ lhu $a3, 0xe($s3)
|
|
/* 1192EC 802AFCDC C6A20018 */ lwc1 $f2, 0x18($s5)
|
|
/* 1192F0 802AFCE0 46000306 */ mov.s $f12, $f0
|
|
/* 1192F4 802AFCE4 3C014000 */ lui $at, 0x4000
|
|
/* 1192F8 802AFCE8 4600103C */ c.lt.s $f2, $f0
|
|
/* 1192FC 802AFCEC 00000000 */ nop
|
|
/* 119300 802AFCF0 45030010 */ bc1tl .L802AFD34
|
|
/* 119304 802AFCF4 3C014000 */ li $at, 0x40000000 # 2.000000
|
|
/* 119308 802AFCF8 4481F000 */ mtc1 $at, $f30
|
|
/* 11930C 802AFCFC 46001201 */ sub.s $f8, $f2, $f0
|
|
/* 119310 802AFD00 27A40110 */ addiu $a0, $sp, 0x110
|
|
/* 119314 802AFD04 4614F182 */ mul.s $f6, $f30, $f20
|
|
/* 119318 802AFD08 02603025 */ move $a2, $s3
|
|
/* 11931C 802AFD0C 4608303C */ c.lt.s $f6, $f8
|
|
/* 119320 802AFD10 00000000 */ nop
|
|
/* 119324 802AFD14 45030007 */ bc1tl .L802AFD34
|
|
/* 119328 802AFD18 3C014000 */ lui $at, 0x4000
|
|
/* 11932C 802AFD1C E66C0010 */ swc1 $f12, 0x10($s3)
|
|
/* 119330 802AFD20 0C0ABE7C */ jal func_802AF9F0
|
|
/* 119334 802AFD24 8FA50104 */ lw $a1, 0x104($sp)
|
|
/* 119338 802AFD28 10000126 */ b .L802B01C4
|
|
/* 11933C 802AFD2C 24020001 */ li $v0, 1
|
|
/* 119340 802AFD30 3C014000 */ li $at, 0x40000000 # 2.000000
|
|
.L802AFD34:
|
|
/* 119344 802AFD34 4481F000 */ mtc1 $at, $f30
|
|
/* 119348 802AFD38 10000005 */ b .L802AFD50
|
|
/* 11934C 802AFD3C 00000000 */ nop
|
|
.L802AFD40:
|
|
/* 119350 802AFD40 3C014000 */ li $at, 0x40000000 # 2.000000
|
|
/* 119354 802AFD44 4481F000 */ mtc1 $at, $f30
|
|
/* 119358 802AFD48 27B700F8 */ addiu $s7, $sp, 0xf8
|
|
/* 11935C 802AFD4C 24160001 */ li $s6, 1
|
|
.L802AFD50:
|
|
/* 119360 802AFD50 3C028016 */ lui $v0, %hi(D_8015F6EA) # $v0, 0x8016
|
|
/* 119364 802AFD54 8442F6EA */ lh $v0, %lo(D_8015F6EA)($v0)
|
|
/* 119368 802AFD58 3C0A8016 */ lui $t2, %hi(D_8015F6E8) # $t2, 0x8016
|
|
/* 11936C 802AFD5C 854AF6E8 */ lh $t2, %lo(D_8015F6E8)($t2)
|
|
/* 119370 802AFD60 44825000 */ mtc1 $v0, $f10
|
|
/* 119374 802AFD64 3C038016 */ lui $v1, %hi(D_8015F6F2) # $v1, 0x8016
|
|
/* 119378 802AFD68 01422023 */ subu $a0, $t2, $v0
|
|
/* 11937C 802AFD6C 46805420 */ cvt.s.w $f16, $f10
|
|
/* 119380 802AFD70 8463F6F2 */ lh $v1, %lo(D_8015F6F2)($v1)
|
|
/* 119384 802AFD74 3C0B8016 */ lui $t3, %hi(D_8015F6F0) # $t3, 0x8016
|
|
/* 119388 802AFD78 856BF6F0 */ lh $t3, %lo(D_8015F6F0)($t3)
|
|
/* 11938C 802AFD7C 4610B481 */ sub.s $f18, $f22, $f16
|
|
/* 119390 802AFD80 44838000 */ mtc1 $v1, $f16
|
|
/* 119394 802AFD84 01632823 */ subu $a1, $t3, $v1
|
|
/* 119398 802AFD88 04810003 */ bgez $a0, .L802AFD98
|
|
/* 11939C 802AFD8C 00046143 */ sra $t4, $a0, 5
|
|
/* 1193A0 802AFD90 2481001F */ addiu $at, $a0, 0x1f
|
|
/* 1193A4 802AFD94 00016143 */ sra $t4, $at, 5
|
|
.L802AFD98:
|
|
/* 1193A8 802AFD98 448C2000 */ mtc1 $t4, $f4
|
|
/* 1193AC 802AFD9C 00000000 */ nop
|
|
/* 1193B0 802AFDA0 468021A0 */ cvt.s.w $f6, $f4
|
|
/* 1193B4 802AFDA4 46808120 */ cvt.s.w $f4, $f16
|
|
/* 1193B8 802AFDA8 46069203 */ div.s $f8, $f18, $f6
|
|
/* 1193BC 802AFDAC 4604D481 */ sub.s $f18, $f26, $f4
|
|
/* 1193C0 802AFDB0 4600428D */ trunc.w.s $f10, $f8
|
|
/* 1193C4 802AFDB4 44065000 */ mfc1 $a2, $f10
|
|
/* 1193C8 802AFDB8 00000000 */ nop
|
|
/* 1193CC 802AFDBC 00067400 */ sll $t6, $a2, 0x10
|
|
/* 1193D0 802AFDC0 000E7C03 */ sra $t7, $t6, 0x10
|
|
/* 1193D4 802AFDC4 01E03025 */ move $a2, $t7
|
|
/* 1193D8 802AFDC8 04A10003 */ bgez $a1, .L802AFDD8
|
|
/* 1193DC 802AFDCC 0005C143 */ sra $t8, $a1, 5
|
|
/* 1193E0 802AFDD0 24A1001F */ addiu $at, $a1, 0x1f
|
|
/* 1193E4 802AFDD4 0001C143 */ sra $t8, $at, 5
|
|
.L802AFDD8:
|
|
/* 1193E8 802AFDD8 44983000 */ mtc1 $t8, $f6
|
|
/* 1193EC 802AFDDC 00000000 */ nop
|
|
/* 1193F0 802AFDE0 46803220 */ cvt.s.w $f8, $f6
|
|
/* 1193F4 802AFDE4 46089283 */ div.s $f10, $f18, $f8
|
|
/* 1193F8 802AFDE8 4600540D */ trunc.w.s $f16, $f10
|
|
/* 1193FC 802AFDEC 44078000 */ mfc1 $a3, $f16
|
|
/* 119400 802AFDF0 00000000 */ nop
|
|
/* 119404 802AFDF4 00074400 */ sll $t0, $a3, 0x10
|
|
/* 119408 802AFDF8 04C10003 */ bgez $a2, .L802AFE08
|
|
/* 11940C 802AFDFC 00083C03 */ sra $a3, $t0, 0x10
|
|
/* 119410 802AFE00 100000F0 */ b .L802B01C4
|
|
/* 119414 802AFE04 00001025 */ move $v0, $zero
|
|
.L802AFE08:
|
|
/* 119418 802AFE08 04E10003 */ bgez $a3, .L802AFE18
|
|
/* 11941C 802AFE0C 28C10020 */ slti $at, $a2, 0x20
|
|
/* 119420 802AFE10 100000EC */ b .L802B01C4
|
|
/* 119424 802AFE14 00001025 */ move $v0, $zero
|
|
.L802AFE18:
|
|
/* 119428 802AFE18 54200004 */ bnel $at, $zero, .L802AFE2C
|
|
/* 11942C 802AFE1C 28E10020 */ slti $at, $a3, 0x20
|
|
/* 119430 802AFE20 100000E8 */ b .L802B01C4
|
|
/* 119434 802AFE24 00001025 */ move $v0, $zero
|
|
/* 119438 802AFE28 28E10020 */ slti $at, $a3, 0x20
|
|
.L802AFE2C:
|
|
/* 11943C 802AFE2C 14200003 */ bnez $at, .L802AFE3C
|
|
/* 119440 802AFE30 00075140 */ sll $t2, $a3, 5
|
|
/* 119444 802AFE34 100000E3 */ b .L802B01C4
|
|
/* 119448 802AFE38 00001025 */ move $v0, $zero
|
|
.L802AFE3C:
|
|
/* 11944C 802AFE3C 00CA5821 */ addu $t3, $a2, $t2
|
|
/* 119450 802AFE40 000B6400 */ sll $t4, $t3, 0x10
|
|
/* 119454 802AFE44 000C6C03 */ sra $t5, $t4, 0x10
|
|
/* 119458 802AFE48 3C0F8015 */ lui $t7, %hi(D_8014F110) # $t7, 0x8015
|
|
/* 11945C 802AFE4C 25EFF110 */ addiu $t7, %lo(D_8014F110) # addiu $t7, $t7, -0xef0
|
|
/* 119460 802AFE50 000D7080 */ sll $t6, $t5, 2
|
|
/* 119464 802AFE54 01CF1821 */ addu $v1, $t6, $t7
|
|
/* 119468 802AFE58 94620002 */ lhu $v0, 2($v1)
|
|
/* 11946C 802AFE5C 14400003 */ bnez $v0, .L802AFE6C
|
|
/* 119470 802AFE60 AFA2008C */ sw $v0, 0x8c($sp)
|
|
/* 119474 802AFE64 100000D7 */ b .L802B01C4
|
|
/* 119478 802AFE68 00001025 */ move $v0, $zero
|
|
.L802AFE6C:
|
|
/* 11947C 802AFE6C 8FB9008C */ lw $t9, 0x8c($sp)
|
|
/* 119480 802AFE70 94710000 */ lhu $s1, ($v1)
|
|
/* 119484 802AFE74 00009025 */ move $s2, $zero
|
|
/* 119488 802AFE78 5B2000D0 */ blezl $t9, .L802B01BC
|
|
/* 11948C 802AFE7C E6780010 */ swc1 $f24, 0x10($s3)
|
|
/* 119490 802AFE80 4480E000 */ mtc1 $zero, $f28
|
|
/* 119494 802AFE84 00000000 */ nop
|
|
.L802AFE88:
|
|
/* 119498 802AFE88 3C088016 */ lui $t0, %hi(D_8015F584) # $t0, 0x8016
|
|
/* 11949C 802AFE8C 8D08F584 */ lw $t0, %lo(D_8015F584)($t0)
|
|
/* 1194A0 802AFE90 00114840 */ sll $t1, $s1, 1
|
|
/* 1194A4 802AFE94 3C0B8016 */ lui $t3, %hi(D_8015F580) # $t3, 0x8016
|
|
/* 1194A8 802AFE98 01095021 */ addu $t2, $t0, $t1
|
|
/* 1194AC 802AFE9C 95500000 */ lhu $s0, ($t2)
|
|
/* 1194B0 802AFEA0 8D6BF580 */ lw $t3, %lo(D_8015F580)($t3)
|
|
/* 1194B4 802AFEA4 0010A080 */ sll $s4, $s0, 2
|
|
/* 1194B8 802AFEA8 0290A023 */ subu $s4, $s4, $s0
|
|
/* 1194BC 802AFEAC 0014A080 */ sll $s4, $s4, 2
|
|
/* 1194C0 802AFEB0 0290A023 */ subu $s4, $s4, $s0
|
|
/* 1194C4 802AFEB4 0014A080 */ sll $s4, $s4, 2
|
|
/* 1194C8 802AFEB8 01741021 */ addu $v0, $t3, $s4
|
|
/* 1194CC 802AFEBC 94430000 */ lhu $v1, ($v0)
|
|
/* 1194D0 802AFEC0 306C4000 */ andi $t4, $v1, 0x4000
|
|
/* 1194D4 802AFEC4 5180003F */ beql $t4, $zero, .L802AFFC4
|
|
/* 1194D8 802AFEC8 306C8000 */ andi $t4, $v1, 0x8000
|
|
/* 1194DC 802AFECC 966D000E */ lhu $t5, 0xe($s3)
|
|
/* 1194E0 802AFED0 02E02025 */ move $a0, $s7
|
|
/* 1194E4 802AFED4 51B000B0 */ beql $t5, $s0, .L802B0198
|
|
/* 1194E8 802AFED8 8FAF008C */ lw $t7, 0x8c($sp)
|
|
/* 1194EC 802AFEDC C7A40140 */ lwc1 $f4, 0x140($sp)
|
|
/* 1194F0 802AFEE0 C7A60144 */ lwc1 $f6, 0x144($sp)
|
|
/* 1194F4 802AFEE4 C7B20148 */ lwc1 $f18, 0x148($sp)
|
|
/* 1194F8 802AFEE8 4405A000 */ mfc1 $a1, $f20
|
|
/* 1194FC 802AFEEC 4406B000 */ mfc1 $a2, $f22
|
|
/* 119500 802AFEF0 4407C000 */ mfc1 $a3, $f24
|
|
/* 119504 802AFEF4 E7BA0010 */ swc1 $f26, 0x10($sp)
|
|
/* 119508 802AFEF8 AFB00014 */ sw $s0, 0x14($sp)
|
|
/* 11950C 802AFEFC E7A40018 */ swc1 $f4, 0x18($sp)
|
|
/* 119510 802AFF00 E7A6001C */ swc1 $f6, 0x1c($sp)
|
|
/* 119514 802AFF04 0C0AB1D8 */ jal func_802AC760
|
|
/* 119518 802AFF08 E7B20020 */ swc1 $f18, 0x20($sp)
|
|
/* 11951C 802AFF0C 145600A1 */ bne $v0, $s6, .L802B0194
|
|
/* 119520 802AFF10 3207FFFF */ andi $a3, $s0, 0xffff
|
|
/* 119524 802AFF14 4406D000 */ mfc1 $a2, $f26
|
|
/* 119528 802AFF18 4600B306 */ mov.s $f12, $f22
|
|
/* 11952C 802AFF1C 0C0AAF8C */ jal func_802ABE30
|
|
/* 119530 802AFF20 4600C386 */ mov.s $f14, $f24
|
|
/* 119534 802AFF24 C6A20018 */ lwc1 $f2, 0x18($s5)
|
|
/* 119538 802AFF28 46000306 */ mov.s $f12, $f0
|
|
/* 11953C 802AFF2C 4600103C */ c.lt.s $f2, $f0
|
|
/* 119540 802AFF30 00000000 */ nop
|
|
/* 119544 802AFF34 45030098 */ bc1tl .L802B0198
|
|
/* 119548 802AFF38 8FAF008C */ lw $t7, 0x8c($sp)
|
|
/* 11954C 802AFF3C 4614F202 */ mul.s $f8, $f30, $f20
|
|
/* 119550 802AFF40 46001281 */ sub.s $f10, $f2, $f0
|
|
/* 119554 802AFF44 460A403C */ c.lt.s $f8, $f10
|
|
/* 119558 802AFF48 00000000 */ nop
|
|
/* 11955C 802AFF4C 45010091 */ bc1t .L802B0194
|
|
/* 119560 802AFF50 27A40128 */ addiu $a0, $sp, 0x128
|
|
/* 119564 802AFF54 8FA5010C */ lw $a1, 0x10c($sp)
|
|
/* 119568 802AFF58 02603025 */ move $a2, $s3
|
|
/* 11956C 802AFF5C 0C0ABE7C */ jal func_802AF9F0
|
|
/* 119570 802AFF60 E7AC00D4 */ swc1 $f12, 0xd4($sp)
|
|
/* 119574 802AFF64 C7AC00D4 */ lwc1 $f12, 0xd4($sp)
|
|
/* 119578 802AFF68 3C0E8016 */ lui $t6, %hi(D_8015F580) # $t6, 0x8016
|
|
/* 11957C 802AFF6C 24190040 */ li $t9, 64
|
|
/* 119580 802AFF70 E66C0010 */ swc1 $f12, 0x10($s3)
|
|
/* 119584 802AFF74 8DCEF580 */ lw $t6, %lo(D_8015F580)($t6)
|
|
/* 119588 802AFF78 3C088016 */ lui $t0, %hi(D_8015F580) # $t0, 0x8016
|
|
/* 11958C 802AFF7C 24020001 */ li $v0, 1
|
|
/* 119590 802AFF80 01D47821 */ addu $t7, $t6, $s4
|
|
/* 119594 802AFF84 95F80002 */ lhu $t8, 2($t7)
|
|
/* 119598 802AFF88 A279000D */ sb $t9, 0xd($s3)
|
|
/* 11959C 802AFF8C A670000E */ sh $s0, 0xe($s3)
|
|
/* 1195A0 802AFF90 A278000C */ sb $t8, 0xc($s3)
|
|
/* 1195A4 802AFF94 8D08F580 */ lw $t0, %lo(D_8015F580)($t0)
|
|
/* 1195A8 802AFF98 01144821 */ addu $t1, $t0, $s4
|
|
/* 1195AC 802AFF9C 952A0000 */ lhu $t2, ($t1)
|
|
/* 1195B0 802AFFA0 314B1000 */ andi $t3, $t2, 0x1000
|
|
/* 1195B4 802AFFA4 51600004 */ beql $t3, $zero, .L802AFFB8
|
|
/* 1195B8 802AFFA8 AE600014 */ sw $zero, 0x14($s3)
|
|
/* 1195BC 802AFFAC 10000085 */ b .L802B01C4
|
|
/* 1195C0 802AFFB0 AE760014 */ sw $s6, 0x14($s3)
|
|
/* 1195C4 802AFFB4 AE600014 */ sw $zero, 0x14($s3)
|
|
.L802AFFB8:
|
|
/* 1195C8 802AFFB8 10000082 */ b .L802B01C4
|
|
/* 1195CC 802AFFBC 24020001 */ li $v0, 1
|
|
/* 1195D0 802AFFC0 306C8000 */ andi $t4, $v1, 0x8000
|
|
.L802AFFC4:
|
|
/* 1195D4 802AFFC4 5180003E */ beql $t4, $zero, .L802B00C0
|
|
/* 1195D8 802AFFC8 C4500020 */ lwc1 $f16, 0x20($v0)
|
|
/* 1195DC 802AFFCC C4500020 */ lwc1 $f16, 0x20($v0)
|
|
/* 1195E0 802AFFD0 4610E032 */ c.eq.s $f28, $f16
|
|
/* 1195E4 802AFFD4 00000000 */ nop
|
|
/* 1195E8 802AFFD8 4503006F */ bc1tl .L802B0198
|
|
/* 1195EC 802AFFDC 8FAF008C */ lw $t7, 0x8c($sp)
|
|
/* 1195F0 802AFFE0 966D000E */ lhu $t5, 0xe($s3)
|
|
/* 1195F4 802AFFE4 02E02025 */ move $a0, $s7
|
|
/* 1195F8 802AFFE8 51B0006B */ beql $t5, $s0, .L802B0198
|
|
/* 1195FC 802AFFEC 8FAF008C */ lw $t7, 0x8c($sp)
|
|
/* 119600 802AFFF0 C7A40140 */ lwc1 $f4, 0x140($sp)
|
|
/* 119604 802AFFF4 C7A60144 */ lwc1 $f6, 0x144($sp)
|
|
/* 119608 802AFFF8 C7B20148 */ lwc1 $f18, 0x148($sp)
|
|
/* 11960C 802AFFFC 4405A000 */ mfc1 $a1, $f20
|
|
/* 119610 802B0000 4406B000 */ mfc1 $a2, $f22
|
|
/* 119614 802B0004 4407C000 */ mfc1 $a3, $f24
|
|
/* 119618 802B0008 E7BA0010 */ swc1 $f26, 0x10($sp)
|
|
/* 11961C 802B000C AFB00014 */ sw $s0, 0x14($sp)
|
|
/* 119620 802B0010 E7A40018 */ swc1 $f4, 0x18($sp)
|
|
/* 119624 802B0014 E7A6001C */ swc1 $f6, 0x1c($sp)
|
|
/* 119628 802B0018 0C0AB49E */ jal func_802AD278
|
|
/* 11962C 802B001C E7B20020 */ swc1 $f18, 0x20($sp)
|
|
/* 119630 802B0020 1456005C */ bne $v0, $s6, .L802B0194
|
|
/* 119634 802B0024 3207FFFF */ andi $a3, $s0, 0xffff
|
|
/* 119638 802B0028 4406D000 */ mfc1 $a2, $f26
|
|
/* 11963C 802B002C 4600B306 */ mov.s $f12, $f22
|
|
/* 119640 802B0030 0C0AAF8C */ jal func_802ABE30
|
|
/* 119644 802B0034 4600C386 */ mov.s $f14, $f24
|
|
/* 119648 802B0038 C6A20018 */ lwc1 $f2, 0x18($s5)
|
|
/* 11964C 802B003C 46000306 */ mov.s $f12, $f0
|
|
/* 119650 802B0040 4600103C */ c.lt.s $f2, $f0
|
|
/* 119654 802B0044 00000000 */ nop
|
|
/* 119658 802B0048 45030053 */ bc1tl .L802B0198
|
|
/* 11965C 802B004C 8FAF008C */ lw $t7, 0x8c($sp)
|
|
/* 119660 802B0050 4614F202 */ mul.s $f8, $f30, $f20
|
|
/* 119664 802B0054 46001281 */ sub.s $f10, $f2, $f0
|
|
/* 119668 802B0058 460A403C */ c.lt.s $f8, $f10
|
|
/* 11966C 802B005C 00000000 */ nop
|
|
/* 119670 802B0060 4503004D */ bc1tl .L802B0198
|
|
/* 119674 802B0064 8FAF008C */ lw $t7, 0x8c($sp)
|
|
/* 119678 802B0068 E66C0010 */ swc1 $f12, 0x10($s3)
|
|
/* 11967C 802B006C 8FA50108 */ lw $a1, 0x108($sp)
|
|
/* 119680 802B0070 27A4011C */ addiu $a0, $sp, 0x11c
|
|
/* 119684 802B0074 0C0ABE7C */ jal func_802AF9F0
|
|
/* 119688 802B0078 02603025 */ move $a2, $s3
|
|
/* 11968C 802B007C 4406D000 */ mfc1 $a2, $f26
|
|
/* 119690 802B0080 4600B306 */ mov.s $f12, $f22
|
|
/* 119694 802B0084 4600C386 */ mov.s $f14, $f24
|
|
/* 119698 802B0088 0C0AAF8C */ jal func_802ABE30
|
|
/* 11969C 802B008C 3207FFFF */ andi $a3, $s0, 0xffff
|
|
/* 1196A0 802B0090 E6600010 */ swc1 $f0, 0x10($s3)
|
|
/* 1196A4 802B0094 3C0E8016 */ lui $t6, %hi(D_8015F580) # $t6, 0x8016
|
|
/* 1196A8 802B0098 8DCEF580 */ lw $t6, %lo(D_8015F580)($t6)
|
|
/* 1196AC 802B009C 24190080 */ li $t9, 128
|
|
/* 1196B0 802B00A0 24020001 */ li $v0, 1
|
|
/* 1196B4 802B00A4 01D47821 */ addu $t7, $t6, $s4
|
|
/* 1196B8 802B00A8 95F80002 */ lhu $t8, 2($t7)
|
|
/* 1196BC 802B00AC A279000D */ sb $t9, 0xd($s3)
|
|
/* 1196C0 802B00B0 A670000E */ sh $s0, 0xe($s3)
|
|
/* 1196C4 802B00B4 10000043 */ b .L802B01C4
|
|
/* 1196C8 802B00B8 A278000C */ sb $t8, 0xc($s3)
|
|
/* 1196CC 802B00BC C4500020 */ lwc1 $f16, 0x20($v0)
|
|
.L802B00C0:
|
|
/* 1196D0 802B00C0 4610E032 */ c.eq.s $f28, $f16
|
|
/* 1196D4 802B00C4 00000000 */ nop
|
|
/* 1196D8 802B00C8 45030033 */ bc1tl .L802B0198
|
|
/* 1196DC 802B00CC 8FAF008C */ lw $t7, 0x8c($sp)
|
|
/* 1196E0 802B00D0 9668000E */ lhu $t0, 0xe($s3)
|
|
/* 1196E4 802B00D4 02E02025 */ move $a0, $s7
|
|
/* 1196E8 802B00D8 5110002F */ beql $t0, $s0, .L802B0198
|
|
/* 1196EC 802B00DC 8FAF008C */ lw $t7, 0x8c($sp)
|
|
/* 1196F0 802B00E0 C7A40140 */ lwc1 $f4, 0x140($sp)
|
|
/* 1196F4 802B00E4 C7A60144 */ lwc1 $f6, 0x144($sp)
|
|
/* 1196F8 802B00E8 C7B20148 */ lwc1 $f18, 0x148($sp)
|
|
/* 1196FC 802B00EC 4405A000 */ mfc1 $a1, $f20
|
|
/* 119700 802B00F0 4406B000 */ mfc1 $a2, $f22
|
|
/* 119704 802B00F4 4407C000 */ mfc1 $a3, $f24
|
|
/* 119708 802B00F8 E7BA0010 */ swc1 $f26, 0x10($sp)
|
|
/* 11970C 802B00FC AFB00014 */ sw $s0, 0x14($sp)
|
|
/* 119710 802B0100 E7A40018 */ swc1 $f4, 0x18($sp)
|
|
/* 119714 802B0104 E7A6001C */ swc1 $f6, 0x1c($sp)
|
|
/* 119718 802B0108 0C0AB2E9 */ jal func_802ACBA4
|
|
/* 11971C 802B010C E7B20020 */ swc1 $f18, 0x20($sp)
|
|
/* 119720 802B0110 14560020 */ bne $v0, $s6, .L802B0194
|
|
/* 119724 802B0114 3207FFFF */ andi $a3, $s0, 0xffff
|
|
/* 119728 802B0118 4406D000 */ mfc1 $a2, $f26
|
|
/* 11972C 802B011C 4600B306 */ mov.s $f12, $f22
|
|
/* 119730 802B0120 0C0AAF8C */ jal func_802ABE30
|
|
/* 119734 802B0124 4600C386 */ mov.s $f14, $f24
|
|
/* 119738 802B0128 C6A20018 */ lwc1 $f2, 0x18($s5)
|
|
/* 11973C 802B012C 46000306 */ mov.s $f12, $f0
|
|
/* 119740 802B0130 4600103C */ c.lt.s $f2, $f0
|
|
/* 119744 802B0134 00000000 */ nop
|
|
/* 119748 802B0138 45030017 */ bc1tl .L802B0198
|
|
/* 11974C 802B013C 8FAF008C */ lw $t7, 0x8c($sp)
|
|
/* 119750 802B0140 4614F202 */ mul.s $f8, $f30, $f20
|
|
/* 119754 802B0144 46001281 */ sub.s $f10, $f2, $f0
|
|
/* 119758 802B0148 460A403C */ c.lt.s $f8, $f10
|
|
/* 11975C 802B014C 00000000 */ nop
|
|
/* 119760 802B0150 45030011 */ bc1tl .L802B0198
|
|
/* 119764 802B0154 8FAF008C */ lw $t7, 0x8c($sp)
|
|
/* 119768 802B0158 E66C0010 */ swc1 $f12, 0x10($s3)
|
|
/* 11976C 802B015C 8FA50104 */ lw $a1, 0x104($sp)
|
|
/* 119770 802B0160 27A40110 */ addiu $a0, $sp, 0x110
|
|
/* 119774 802B0164 0C0ABE7C */ jal func_802AF9F0
|
|
/* 119778 802B0168 02603025 */ move $a2, $s3
|
|
/* 11977C 802B016C 3C098016 */ lui $t1, %hi(D_8015F580) # $t1, 0x8016
|
|
/* 119780 802B0170 8D29F580 */ lw $t1, %lo(D_8015F580)($t1)
|
|
/* 119784 802B0174 240C0020 */ li $t4, 32
|
|
/* 119788 802B0178 24020001 */ li $v0, 1
|
|
/* 11978C 802B017C 01345021 */ addu $t2, $t1, $s4
|
|
/* 119790 802B0180 954B0002 */ lhu $t3, 2($t2)
|
|
/* 119794 802B0184 A26C000D */ sb $t4, 0xd($s3)
|
|
/* 119798 802B0188 A670000E */ sh $s0, 0xe($s3)
|
|
/* 11979C 802B018C 1000000D */ b .L802B01C4
|
|
/* 1197A0 802B0190 A26B000C */ sb $t3, 0xc($s3)
|
|
.L802B0194:
|
|
/* 1197A4 802B0194 8FAF008C */ lw $t7, 0x8c($sp)
|
|
.L802B0198:
|
|
/* 1197A8 802B0198 26520001 */ addiu $s2, $s2, 1
|
|
/* 1197AC 802B019C 324EFFFF */ andi $t6, $s2, 0xffff
|
|
/* 1197B0 802B01A0 26310001 */ addiu $s1, $s1, 1
|
|
/* 1197B4 802B01A4 322DFFFF */ andi $t5, $s1, 0xffff
|
|
/* 1197B8 802B01A8 01CF082A */ slt $at, $t6, $t7
|
|
/* 1197BC 802B01AC 01C09025 */ move $s2, $t6
|
|
/* 1197C0 802B01B0 1420FF35 */ bnez $at, .L802AFE88
|
|
/* 1197C4 802B01B4 01A08825 */ move $s1, $t5
|
|
/* 1197C8 802B01B8 E6780010 */ swc1 $f24, 0x10($s3)
|
|
.L802B01BC:
|
|
/* 1197CC 802B01BC A260000C */ sb $zero, 0xc($s3)
|
|
/* 1197D0 802B01C0 00001025 */ move $v0, $zero
|
|
.L802B01C4:
|
|
/* 1197D4 802B01C4 8FBF007C */ lw $ra, 0x7c($sp)
|
|
/* 1197D8 802B01C8 D7B40028 */ ldc1 $f20, 0x28($sp)
|
|
/* 1197DC 802B01CC D7B60030 */ ldc1 $f22, 0x30($sp)
|
|
/* 1197E0 802B01D0 D7B80038 */ ldc1 $f24, 0x38($sp)
|
|
/* 1197E4 802B01D4 D7BA0040 */ ldc1 $f26, 0x40($sp)
|
|
/* 1197E8 802B01D8 D7BC0048 */ ldc1 $f28, 0x48($sp)
|
|
/* 1197EC 802B01DC D7BE0050 */ ldc1 $f30, 0x50($sp)
|
|
/* 1197F0 802B01E0 8FB0005C */ lw $s0, 0x5c($sp)
|
|
/* 1197F4 802B01E4 8FB10060 */ lw $s1, 0x60($sp)
|
|
/* 1197F8 802B01E8 8FB20064 */ lw $s2, 0x64($sp)
|
|
/* 1197FC 802B01EC 8FB30068 */ lw $s3, 0x68($sp)
|
|
/* 119800 802B01F0 8FB4006C */ lw $s4, 0x6c($sp)
|
|
/* 119804 802B01F4 8FB50070 */ lw $s5, 0x70($sp)
|
|
/* 119808 802B01F8 8FB60074 */ lw $s6, 0x74($sp)
|
|
/* 11980C 802B01FC 8FB70078 */ lw $s7, 0x78($sp)
|
|
/* 119810 802B0200 03E00008 */ jr $ra
|
|
/* 119814 802B0204 27BD0138 */ addiu $sp, $sp, 0x138
|
|
|
|
/* 119818 802B0208 00000000 */ nop
|