Advertisement
MrCheeze

Majora decompiler crash

Aug 7th, 2019
798
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 179.80 KB | None | 0 0
  1. glabel func_8015B198
  2. /* 185782 0x8015B198 27BDFF18 */ addiu $sp, $sp, -232
  3. /* 185783 0x8015B19C AFB7005C */ sw $s7, 0x5C($sp)
  4. /* 185784 0x8015B1A0 AFB40050 */ sw $s4, 0x50($sp)
  5. /* 185785 0x8015B1A4 0080A025 */ move $s4, $a0
  6. /* 185786 0x8015B1A8 3C170001 */ lui $s7, 0x0001
  7. /* 185787 0x8015B1AC AFBF0064 */ sw $ra, 0x64($sp)
  8. /* 185788 0x8015B1B0 AFBE0060 */ sw $fp, 0x60($sp)
  9. /* 185789 0x8015B1B4 AFB60058 */ sw $s6, 0x58($sp)
  10. /* 185790 0x8015B1B8 AFB50054 */ sw $s5, 0x54($sp)
  11. /* 185791 0x8015B1BC AFB3004C */ sw $s3, 0x4C($sp)
  12. /* 185792 0x8015B1C0 AFB20048 */ sw $s2, 0x48($sp)
  13. /* 185793 0x8015B1C4 AFB10044 */ sw $s1, 0x44($sp)
  14. /* 185794 0x8015B1C8 AFB00040 */ sw $s0, 0x40($sp)
  15. /* 185795 0x8015B1CC F7BA0038 */ sdc1 $f26, 0x38($sp)
  16. /* 185796 0x8015B1D0 F7B80030 */ sdc1 $f24, 0x30($sp)
  17. /* 185797 0x8015B1D4 F7B60028 */ sdc1 $f22, 0x28($sp)
  18. /* 185798 0x8015B1D8 F7B40020 */ sdc1 $f20, 0x20($sp)
  19. /* 185799 0x8015B1DC 26934A70 */ addiu $s3, $s4, 19056
  20. /* 185800 0x8015B1E0 AFB300E0 */ sw $s3, 0xE0($sp)
  21. /* 185801 0x8015B1E4 8E8E1CCC */ lw $t6, 0x1CCC($s4)
  22. /* 185802 0x8015B1E8 3C010001 */ lui $at, 0x0001
  23. /* 185803 0x8015B1EC A7A000DA */ sh $zero, 0xDA($sp)
  24. /* 185804 0x8015B1F0 A7A000C6 */ sh $zero, 0xC6($sp)
  25. /* 185805 0x8015B1F4 AFA000BC */ sw $zero, 0xBC($sp)
  26. /* 185806 0x8015B1F8 A7A000D0 */ sh $zero, 0xD0($sp)
  27. /* 185807 0x8015B1FC 00340821 */ addu $at, $at, $s4
  28. /* 185808 0x8015B200 AFAE00DC */ sw $t6, 0xDC($sp)
  29. /* 185809 0x8015B204 A420692C */ sh $zero, 0x692C($at)
  30. /* 185810 0x8015B208 02971021 */ addu $v0, $s4, $s7
  31. /* 185811 0x8015B20C 944F692C */ lhu $t7, 0x692C($v0)
  32. /* 185812 0x8015B210 3C010001 */ lui $at, %hi(D_0001692E)
  33. /* 185813 0x8015B214 00340821 */ addu $at, $at, $s4
  34. /* 185814 0x8015B218 A42F692E */ sh $t7, %lo(D_0001692E)($at)
  35. /* 185815 0x8015B21C 44802000 */ mtc1 $zero, $f4
  36. /* 185816 0x8015B220 3C010001 */ lui $at, %hi(D_000169A4)
  37. /* 185817 0x8015B224 00340821 */ addu $at, $at, $s4
  38. /* 185818 0x8015B228 A42069A4 */ sh $zero, %lo(D_000169A4)($at)
  39. /* 185819 0x8015B22C E7A400A4 */ swc1 $f4, 0xA4($sp)
  40. /* 185820 0x8015B230 905867F8 */ lbu $t8, 0x67F8($v0)
  41. /* 185821 0x8015B234 3C010001 */ lui $at, %hi(D_000167F8)
  42. /* 185822 0x8015B238 00340821 */ addu $at, $at, $s4
  43. /* 185823 0x8015B23C 3B190001 */ xori $t9, $t8, 0x1
  44. /* 185824 0x8015B240 33280001 */ andi $t0, $t9, 0x1
  45. /* 185825 0x8015B244 A02867F8 */ sb $t0, %lo(D_000167F8)($at)
  46. /* 185826 0x8015B248 0C0533F7 */ jal func_8014CFDC
  47. /* 185827 0x8015B24C 02802025 */ move $a0, $s4
  48. /* 185828 0x8015B250 3C013F80 */ lui $at, 0x3F80
  49. /* 185829 0x8015B254 4481D000 */ mtc1 $at, $f26
  50. /* 185830 0x8015B258 3C0140C0 */ lui $at, 0x40C0
  51. /* 185831 0x8015B25C 4481C000 */ mtc1 $at, $f24
  52. /* 185832 0x8015B260 3C014180 */ lui $at, 0x4180
  53. /* 185833 0x8015B264 26964908 */ addiu $s6, $s4, 18696
  54. /* 185834 0x8015B268 02D74821 */ addu $t1, $s6, $s7
  55. /* 185835 0x8015B26C 4481B000 */ mtc1 $at, $f22
  56. /* 185836 0x8015B270 AFA90070 */ sw $t1, 0x70($sp)
  57. /* 185837 0x8015B274 27BE00BC */ addiu $fp, $sp, 188
  58. /* 185838 0x8015B278 27B500C8 */ addiu $s5, $sp, 200
  59. .L_8015B27C:
  60. /* 185839 0x8015B27C 8FAA0070 */ lw $t2, 0x70($sp)
  61. /* 185840 0x8015B280 87AE00DA */ lh $t6, 0xDA($sp)
  62. /* 185841 0x8015B284 24010010 */ li $at, 16
  63. /* 185842 0x8015B288 954B1FEC */ lhu $t3, 0x1FEC($t2)
  64. /* 185843 0x8015B28C 02CE7821 */ addu $t7, $s6, $t6
  65. /* 185844 0x8015B290 01F7C021 */ addu $t8, $t7, $s7
  66. /* 185845 0x8015B294 026B6021 */ addu $t4, $s3, $t3
  67. /* 185846 0x8015B298 01976821 */ addu $t5, $t4, $s7
  68. /* 185847 0x8015B29C 91B21880 */ lbu $s2, 0x1880($t5)
  69. /* 185848 0x8015B2A0 A3121F24 */ sb $s2, 0x1F24($t8)
  70. /* 185849 0x8015B2A4 1241001D */ beq $s2, $at, .L_8015B31C
  71. /* 185850 0x8015B2A8 02401825 */ move $v1, $s2
  72. /* 185851 0x8015B2AC 24010012 */ li $at, 18
  73. /* 185852 0x8015B2B0 1241001A */ beq $s2, $at, .L_8015B31C
  74. /* 185853 0x8015B2B4 87A700CE */ lh $a3, 0xCE($sp)
  75. /* 185854 0x8015B2B8 2401001B */ li $at, 27
  76. /* 185855 0x8015B2BC 12410017 */ beq $s2, $at, .L_8015B31C
  77. /* 185856 0x8015B2C0 A7A700CE */ sh $a3, 0xCE($sp)
  78. /* 185857 0x8015B2C4 2401001C */ li $at, 28
  79. /* 185858 0x8015B2C8 12410014 */ beq $s2, $at, .L_8015B31C
  80. /* 185859 0x8015B2CC A7A700CE */ sh $a3, 0xCE($sp)
  81. /* 185860 0x8015B2D0 2401001D */ li $at, 29
  82. /* 185861 0x8015B2D4 12410011 */ beq $s2, $at, .L_8015B31C
  83. /* 185862 0x8015B2D8 A7A700CE */ sh $a3, 0xCE($sp)
  84. /* 185863 0x8015B2DC 24010019 */ li $at, 25
  85. /* 185864 0x8015B2E0 1241000E */ beq $s2, $at, .L_8015B31C
  86. /* 185865 0x8015B2E4 A7A700CE */ sh $a3, 0xCE($sp)
  87. /* 185866 0x8015B2E8 240100E0 */ li $at, 224
  88. /* 185867 0x8015B2EC 1241000B */ beq $s2, $at, .L_8015B31C
  89. /* 185868 0x8015B2F0 A7A700CE */ sh $a3, 0xCE($sp)
  90. /* 185869 0x8015B2F4 240100BF */ li $at, 191
  91. /* 185870 0x8015B2F8 12410008 */ beq $s2, $at, .L_8015B31C
  92. /* 185871 0x8015B2FC A7A700CE */ sh $a3, 0xCE($sp)
  93. /* 185872 0x8015B300 24010015 */ li $at, 21
  94. /* 185873 0x8015B304 12410005 */ beq $s2, $at, .L_8015B31C
  95. /* 185874 0x8015B308 A7A700CE */ sh $a3, 0xCE($sp)
  96. /* 185875 0x8015B30C 2401001A */ li $at, 26
  97. /* 185876 0x8015B310 564100DA */ bnel $s2, $at, .L_8015B67C
  98. /* 185877 0x8015B314 24010016 */ li $at, 22
  99. /* 185878 0x8015B318 A7A700CE */ sh $a3, 0xCE($sp)
  100. .L_8015B31C:
  101. /* 185879 0x8015B31C 3C010001 */ lui $at, %hi(D_00011F22)
  102. /* 185880 0x8015B320 8FA40070 */ lw $a0, 0x70($sp)
  103. /* 185881 0x8015B324 00360821 */ addu $at, $at, $s6
  104. /* 185882 0x8015B328 24190006 */ li $t9, 6
  105. /* 185883 0x8015B32C A0391F22 */ sb $t9, %lo(D_00011F22)($at)
  106. /* 185884 0x8015B330 3C010001 */ lui $at, %hi(D_00011FEE)
  107. /* 185885 0x8015B334 00360821 */ addu $at, $at, $s6
  108. /* 185886 0x8015B338 24080001 */ li $t0, 1
  109. /* 185887 0x8015B33C A4281FEE */ sh $t0, %lo(D_00011FEE)($at)
  110. /* 185888 0x8015B340 90891F0A */ lbu $t1, 0x1F0A($a0)
  111. /* 185889 0x8015B344 24060003 */ li $a2, 3
  112. /* 185890 0x8015B348 54C90008 */ bnel $a2, $t1, .L_8015B36C
  113. /* 185891 0x8015B34C 848C206A */ lh $t4, 0x206A($a0)
  114. /* 185892 0x8015B350 848A206A */ lh $t2, 0x206A($a0)
  115. /* 185893 0x8015B354 3C010001 */ lui $at, %hi(D_00011FFA)
  116. /* 185894 0x8015B358 00360821 */ addu $at, $at, $s6
  117. /* 185895 0x8015B35C 254B0002 */ addiu $t3, $t2, 2
  118. /* 185896 0x8015B360 10000006 */ b .L_8015B37C
  119. /* 185897 0x8015B364 A42B1FFA */ sh $t3, %lo(D_00011FFA)($at)
  120. /* 185898 0x8015B368 848C206A */ lh $t4, 0x206A($a0)
  121. .L_8015B36C:
  122. /* 185899 0x8015B36C 3C010001 */ lui $at, %hi(D_00011FFA)
  123. /* 185900 0x8015B370 00360821 */ addu $at, $at, $s6
  124. /* 185901 0x8015B374 258D0008 */ addiu $t5, $t4, 8
  125. /* 185902 0x8015B378 A42D1FFA */ sh $t5, %lo(D_00011FFA)($at)
  126. .L_8015B37C:
  127. /* 185903 0x8015B37C 87AE00C6 */ lh $t6, 0xC6($sp)
  128. /* 185904 0x8015B380 000E7840 */ sll $t7, $t6, 1
  129. /* 185905 0x8015B384 02CFC021 */ addu $t8, $s6, $t7
  130. /* 185906 0x8015B388 03171021 */ addu $v0, $t8, $s7
  131. /* 185907 0x8015B38C A4401F1A */ sh $zero, 0x1F1A($v0)
  132. /* 185908 0x8015B390 90991F18 */ lbu $t9, 0x1F18($a0)
  133. /* 185909 0x8015B394 53200012 */ beqzl $t9, .L_8015B3E0
  134. /* 185910 0x8015B398 44803000 */ mtc1 $zero, $f6
  135. /* 185911 0x8015B39C C4862098 */ lwc1 $f6, 0x2098($a0)
  136. /* 185912 0x8015B3A0 C7B000A4 */ lwc1 $f16, 0xA4($sp)
  137. /* 185913 0x8015B3A4 46163202 */ mul.s $f8, $f6, $f22
  138. /* 185914 0x8015B3A8 00000000 */ nop
  139. /* 185915 0x8015B3AC 46164282 */ mul.s $f10, $f8, $f22
  140. /* 185916 0x8015B3B0 46105481 */ sub.s $f18, $f10, $f16
  141. /* 185917 0x8015B3B4 4600910D */ trunc.w.s $f4, $f18
  142. /* 185918 0x8015B3B8 44092000 */ mfc1 $t1, $f4
  143. /* 185919 0x8015B3BC 00000000 */ nop
  144. /* 185920 0x8015B3C0 00095400 */ sll $t2, $t1, 16
  145. /* 185921 0x8015B3C4 000A5C03 */ sra $t3, $t2, 16
  146. /* 185922 0x8015B3C8 05610003 */ bgez $t3, .L_8015B3D8
  147. /* 185923 0x8015B3CC 000B6043 */ sra $t4, $t3, 1
  148. /* 185924 0x8015B3D0 25610001 */ addiu $at, $t3, 1
  149. /* 185925 0x8015B3D4 00016043 */ sra $t4, $at, 1
  150. .L_8015B3D8:
  151. /* 185926 0x8015B3D8 A44C1F1A */ sh $t4, 0x1F1A($v0)
  152. /* 185927 0x8015B3DC 44803000 */ mtc1 $zero, $f6
  153. .L_8015B3E0:
  154. /* 185928 0x8015B3E0 24010012 */ li $at, 18
  155. /* 185929 0x8015B3E4 14610028 */ bne $v1, $at, .L_8015B488
  156. /* 185930 0x8015B3E8 E7A600A4 */ swc1 $f6, 0xA4($sp)
  157. /* 185931 0x8015B3EC 90821F0A */ lbu $v0, 0x1F0A($a0)
  158. /* 185932 0x8015B3F0 10C20023 */ beq $a2, $v0, .L_8015B480
  159. /* 185933 0x8015B3F4 24010004 */ li $at, 4
  160. /* 185934 0x8015B3F8 10410021 */ beq $v0, $at, .L_8015B480
  161. /* 185935 0x8015B3FC 00000000 */ nop
  162. /* 185936 0x8015B400 87A700D0 */ lh $a3, 0xD0($sp)
  163. /* 185937 0x8015B404 28E10002 */ slti $at, $a3, 2
  164. /* 185938 0x8015B408 10200009 */ beqz $at, .L_8015B430
  165. /* 185939 0x8015B40C 3C0D801F */ lui $t5, %hi(D_801F3F60)
  166. /* 185940 0x8015B410 8DAD3F60 */ lw $t5, %lo(D_801F3F60)($t5)
  167. /* 185941 0x8015B414 848F206A */ lh $t7, 0x206A($a0)
  168. /* 185942 0x8015B418 3C010001 */ lui $at, %hi(D_00011FFA)
  169. /* 185943 0x8015B41C 85AE0AA8 */ lh $t6, 0xAA8($t5)
  170. /* 185944 0x8015B420 00360821 */ addu $at, $at, $s6
  171. /* 185945 0x8015B424 01CFC021 */ addu $t8, $t6, $t7
  172. /* 185946 0x8015B428 10000015 */ b .L_8015B480
  173. /* 185947 0x8015B42C A4381FFA */ sh $t8, %lo(D_00011FFA)($at)
  174. .L_8015B430:
  175. /* 185948 0x8015B430 24010002 */ li $at, 2
  176. /* 185949 0x8015B434 14E10009 */ bne $a3, $at, .L_8015B45C
  177. /* 185950 0x8015B438 3C19801F */ lui $t9, %hi(D_801F3F60)
  178. /* 185951 0x8015B43C 8F393F60 */ lw $t9, %lo(D_801F3F60)($t9)
  179. /* 185952 0x8015B440 8489206A */ lh $t1, 0x206A($a0)
  180. /* 185953 0x8015B444 3C010001 */ lui $at, %hi(D_00011FFA)
  181. /* 185954 0x8015B448 87280AAA */ lh $t0, 0xAAA($t9)
  182. /* 185955 0x8015B44C 00360821 */ addu $at, $at, $s6
  183. /* 185956 0x8015B450 01095021 */ addu $t2, $t0, $t1
  184. /* 185957 0x8015B454 1000000A */ b .L_8015B480
  185. /* 185958 0x8015B458 A42A1FFA */ sh $t2, %lo(D_00011FFA)($at)
  186. .L_8015B45C:
  187. /* 185959 0x8015B45C 14E60008 */ bne $a3, $a2, .L_8015B480
  188. /* 185960 0x8015B460 3C0B801F */ lui $t3, %hi(D_801F3F60)
  189. /* 185961 0x8015B464 8D6B3F60 */ lw $t3, %lo(D_801F3F60)($t3)
  190. /* 185962 0x8015B468 848D206A */ lh $t5, 0x206A($a0)
  191. /* 185963 0x8015B46C 3C010001 */ lui $at, %hi(D_00011FFA)
  192. /* 185964 0x8015B470 856C0AAC */ lh $t4, 0xAAC($t3)
  193. /* 185965 0x8015B474 00360821 */ addu $at, $at, $s6
  194. /* 185966 0x8015B478 018D7021 */ addu $t6, $t4, $t5
  195. /* 185967 0x8015B47C A42E1FFA */ sh $t6, %lo(D_00011FFA)($at)
  196. .L_8015B480:
  197. /* 185968 0x8015B480 1000002D */ b .L_8015B538
  198. /* 185969 0x8015B484 87A700D0 */ lh $a3, 0xD0($sp)
  199. .L_8015B488:
  200. /* 185970 0x8015B488 90821F0A */ lbu $v0, 0x1F0A($a0)
  201. /* 185971 0x8015B48C 10C20029 */ beq $a2, $v0, .L_8015B534
  202. /* 185972 0x8015B490 24010004 */ li $at, 4
  203. /* 185973 0x8015B494 50410028 */ beql $v0, $at, .L_8015B538
  204. /* 185974 0x8015B498 87A700D0 */ lh $a3, 0xD0($sp)
  205. /* 185975 0x8015B49C 87A500D0 */ lh $a1, 0xD0($sp)
  206. /* 185976 0x8015B4A0 14A0000B */ bnez $a1, .L_8015B4D0
  207. /* 185977 0x8015B4A4 3C02801F */ lui $v0, %hi(D_801F3F60)
  208. /* 185978 0x8015B4A8 8C423F60 */ lw $v0, %lo(D_801F3F60)($v0)
  209. /* 185979 0x8015B4AC 8498206A */ lh $t8, 0x206A($a0)
  210. /* 185980 0x8015B4B0 3C010001 */ lui $at, 0x0001
  211. /* 185981 0x8015B4B4 844F0AA8 */ lh $t7, 0xAA8($v0)
  212. /* 185982 0x8015B4B8 84480AAE */ lh $t0, 0xAAE($v0)
  213. /* 185983 0x8015B4BC 00360821 */ addu $at, $at, $s6
  214. /* 185984 0x8015B4C0 01F8C821 */ addu $t9, $t7, $t8
  215. /* 185985 0x8015B4C4 03284821 */ addu $t1, $t9, $t0
  216. /* 185986 0x8015B4C8 1000001A */ b .L_8015B534
  217. /* 185987 0x8015B4CC A4291FFA */ sh $t1, 0x1FFA($at)
  218. .L_8015B4D0:
  219. /* 185988 0x8015B4D0 24010001 */ li $at, 1
  220. /* 185989 0x8015B4D4 14A1000B */ bne $a1, $at, .L_8015B504
  221. /* 185990 0x8015B4D8 3C02801F */ lui $v0, %hi(D_801F3F60)
  222. /* 185991 0x8015B4DC 8C423F60 */ lw $v0, %lo(D_801F3F60)($v0)
  223. /* 185992 0x8015B4E0 848B206A */ lh $t3, 0x206A($a0)
  224. /* 185993 0x8015B4E4 3C010001 */ lui $at, 0x0001
  225. /* 185994 0x8015B4E8 844A0AAA */ lh $t2, 0xAAA($v0)
  226. /* 185995 0x8015B4EC 844D0AAE */ lh $t5, 0xAAE($v0)
  227. /* 185996 0x8015B4F0 00360821 */ addu $at, $at, $s6
  228. /* 185997 0x8015B4F4 014B6021 */ addu $t4, $t2, $t3
  229. /* 185998 0x8015B4F8 018D7021 */ addu $t6, $t4, $t5
  230. /* 185999 0x8015B4FC 1000000D */ b .L_8015B534
  231. /* 186000 0x8015B500 A42E1FFA */ sh $t6, 0x1FFA($at)
  232. .L_8015B504:
  233. /* 186001 0x8015B504 24010002 */ li $at, 2
  234. /* 186002 0x8015B508 14A1000A */ bne $a1, $at, .L_8015B534
  235. /* 186003 0x8015B50C 3C02801F */ lui $v0, %hi(D_801F3F60)
  236. /* 186004 0x8015B510 8C423F60 */ lw $v0, %lo(D_801F3F60)($v0)
  237. /* 186005 0x8015B514 8498206A */ lh $t8, 0x206A($a0)
  238. /* 186006 0x8015B518 3C010001 */ lui $at, %hi(D_00011FFA)
  239. /* 186007 0x8015B51C 844F0AAC */ lh $t7, 0xAAC($v0)
  240. /* 186008 0x8015B520 84480AAE */ lh $t0, 0xAAE($v0)
  241. /* 186009 0x8015B524 00360821 */ addu $at, $at, $s6
  242. /* 186010 0x8015B528 01F8C821 */ addu $t9, $t7, $t8
  243. /* 186011 0x8015B52C 03284821 */ addu $t1, $t9, $t0
  244. /* 186012 0x8015B530 A4291FFA */ sh $t1, %lo(D_00011FFA)($at)
  245. .L_8015B534:
  246. /* 186013 0x8015B534 87A700D0 */ lh $a3, 0xD0($sp)
  247. .L_8015B538:
  248. /* 186014 0x8015B538 2401001B */ li $at, 27
  249. /* 186015 0x8015B53C 10610005 */ beq $v1, $at, .L_8015B554
  250. /* 186016 0x8015B540 2401001C */ li $at, 28
  251. /* 186017 0x8015B544 10610003 */ beq $v1, $at, .L_8015B554
  252. /* 186018 0x8015B548 2401001D */ li $at, 29
  253. /* 186019 0x8015B54C 5461001F */ bnel $v1, $at, .L_8015B5CC
  254. /* 186020 0x8015B550 87AE00DA */ lh $t6, 0xDA($sp)
  255. .L_8015B554:
  256. /* 186021 0x8015B554 87A200DA */ lh $v0, 0xDA($sp)
  257. /* 186022 0x8015B558 3C010001 */ lui $at, 0x0001
  258. /* 186023 0x8015B55C 00360821 */ addu $at, $at, $s6
  259. /* 186024 0x8015B560 24420001 */ addiu $v0, $v0, 1
  260. /* 186025 0x8015B564 A7A200DA */ sh $v0, 0xDA($sp)
  261. /* 186026 0x8015B568 948B1FEC */ lhu $t3, 0x1FEC($a0)
  262. /* 186027 0x8015B56C 00022C00 */ sll $a1, $v0, 16
  263. /* 186028 0x8015B570 00052C03 */ sra $a1, $a1, 16
  264. /* 186029 0x8015B574 026B6021 */ addu $t4, $s3, $t3
  265. /* 186030 0x8015B578 01976821 */ addu $t5, $t4, $s7
  266. /* 186031 0x8015B57C 91AE1881 */ lbu $t6, 0x1881($t5)
  267. /* 186032 0x8015B580 02C57821 */ addu $t7, $s6, $a1
  268. /* 186033 0x8015B584 01F7C021 */ addu $t8, $t7, $s7
  269. /* 186034 0x8015B588 A30E1F24 */ sb $t6, 0x1F24($t8)
  270. /* 186035 0x8015B58C 87A200DA */ lh $v0, 0xDA($sp)
  271. /* 186036 0x8015B590 24420001 */ addiu $v0, $v0, 1
  272. /* 186037 0x8015B594 A7A200DA */ sh $v0, 0xDA($sp)
  273. /* 186038 0x8015B598 94991FEC */ lhu $t9, 0x1FEC($a0)
  274. /* 186039 0x8015B59C 00022C00 */ sll $a1, $v0, 16
  275. /* 186040 0x8015B5A0 00052C03 */ sra $a1, $a1, 16
  276. /* 186041 0x8015B5A4 02794021 */ addu $t0, $s3, $t9
  277. /* 186042 0x8015B5A8 01174821 */ addu $t1, $t0, $s7
  278. /* 186043 0x8015B5AC 912A1882 */ lbu $t2, 0x1882($t1)
  279. /* 186044 0x8015B5B0 02C55821 */ addu $t3, $s6, $a1
  280. /* 186045 0x8015B5B4 01776021 */ addu $t4, $t3, $s7
  281. /* 186046 0x8015B5B8 A18A1F24 */ sb $t2, 0x1F24($t4)
  282. /* 186047 0x8015B5BC 948D1FEC */ lhu $t5, 0x1FEC($a0)
  283. /* 186048 0x8015B5C0 25AF0003 */ addiu $t7, $t5, 3
  284. /* 186049 0x8015B5C4 A42F1FEC */ sh $t7, 0x1FEC($at)
  285. /* 186050 0x8015B5C8 87AE00DA */ lh $t6, 0xDA($sp)
  286. .L_8015B5CC:
  287. /* 186051 0x8015B5CC 3C010001 */ lui $at, %hi(D_00011FF0)
  288. /* 186052 0x8015B5D0 00360821 */ addu $at, $at, $s6
  289. /* 186053 0x8015B5D4 A42E1FF0 */ sh $t6, %lo(D_00011FF0)($at)
  290. /* 186054 0x8015B5D8 3C010001 */ lui $at, %hi(D_000120D8)
  291. /* 186055 0x8015B5DC 00360821 */ addu $at, $at, $s6
  292. /* 186056 0x8015B5E0 A42720D8 */ sh $a3, %lo(D_000120D8)($at)
  293. /* 186057 0x8015B5E4 90982094 */ lbu $t8, 0x2094($a0)
  294. /* 186058 0x8015B5E8 57000013 */ bnezl $t8, .L_8015B638
  295. /* 186059 0x8015B5EC 94881FF0 */ lhu $t0, 0x1FF0($a0)
  296. /* 186060 0x8015B5F0 90821F0A */ lbu $v0, 0x1F0A($a0)
  297. /* 186061 0x8015B5F4 24010001 */ li $at, 1
  298. /* 186062 0x8015B5F8 5041000F */ beql $v0, $at, .L_8015B638
  299. /* 186063 0x8015B5FC 94881FF0 */ lhu $t0, 0x1FF0($a0)
  300. /* 186064 0x8015B600 10C2000C */ beq $a2, $v0, .L_8015B634
  301. /* 186065 0x8015B604 24010006 */ li $at, 6
  302. /* 186066 0x8015B608 1041000A */ beq $v0, $at, .L_8015B634
  303. /* 186067 0x8015B60C 24010008 */ li $at, 8
  304. /* 186068 0x8015B610 10410008 */ beq $v0, $at, .L_8015B634
  305. /* 186069 0x8015B614 24010009 */ li $at, 9
  306. /* 186070 0x8015B618 10410006 */ beq $v0, $at, .L_8015B634
  307. /* 186071 0x8015B61C 2401000B */ li $at, 11
  308. /* 186072 0x8015B620 50410005 */ beql $v0, $at, .L_8015B638
  309. /* 186073 0x8015B624 94881FF0 */ lhu $t0, 0x1FF0($a0)
  310. /* 186074 0x8015B628 90991F0C */ lbu $t9, 0x1F0C($a0)
  311. /* 186075 0x8015B62C 54D90006 */ bnel $a2, $t9, .L_8015B648
  312. /* 186076 0x8015B630 848920CE */ lh $t1, 0x20CE($a0)
  313. .L_8015B634:
  314. /* 186077 0x8015B634 94881FF0 */ lhu $t0, 0x1FF0($a0)
  315. .L_8015B638:
  316. /* 186078 0x8015B638 3C010001 */ lui $at, %hi(D_00011FEE)
  317. /* 186079 0x8015B63C 00360821 */ addu $at, $at, $s6
  318. /* 186080 0x8015B640 A4281FEE */ sh $t0, %lo(D_00011FEE)($at)
  319. /* 186081 0x8015B644 848920CE */ lh $t1, 0x20CE($a0)
  320. .L_8015B648:
  321. /* 186082 0x8015B648 3C010001 */ lui $at, %hi(D_000120C8)
  322. /* 186083 0x8015B64C 00360821 */ addu $at, $at, $s6
  323. /* 186084 0x8015B650 A42920C8 */ sh $t1, %lo(D_000120C8)($at)
  324. /* 186085 0x8015B654 848B20D0 */ lh $t3, 0x20D0($a0)
  325. /* 186086 0x8015B658 3C010001 */ lui $at, %hi(D_000120CA)
  326. /* 186087 0x8015B65C 00360821 */ addu $at, $at, $s6
  327. /* 186088 0x8015B660 A42B20CA */ sh $t3, %lo(D_000120CA)($at)
  328. /* 186089 0x8015B664 848A20D2 */ lh $t2, 0x20D2($a0)
  329. /* 186090 0x8015B668 3C010001 */ lui $at, %hi(D_000120CC)
  330. /* 186091 0x8015B66C 00360821 */ addu $at, $at, $s6
  331. /* 186092 0x8015B670 10000C26 */ b .L_8015E70C
  332. /* 186093 0x8015B674 A42A20CC */ sh $t2, %lo(D_000120CC)($at)
  333. /* 186094 0x8015B678 24010016 */ li $at, 22
  334. .L_8015B67C:
  335. /* 186095 0x8015B67C 14610059 */ bne $v1, $at, .L_8015B7E4
  336. /* 186096 0x8015B680 24100008 */ li $s0, 8
  337. /* 186097 0x8015B684 00008825 */ move $s1, $zero
  338. .L_8015B688:
  339. /* 186098 0x8015B688 3C0C801F */ lui $t4, %hi(D_801EF69B)
  340. /* 186099 0x8015B68C 01906021 */ addu $t4, $t4, $s0
  341. /* 186100 0x8015B690 918CF69B */ lbu $t4, %lo(D_801EF69B)($t4)
  342. /* 186101 0x8015B694 2401003E */ li $at, 62
  343. /* 186102 0x8015B698 15810006 */ bne $t4, $at, .L_8015B6B4
  344. /* 186103 0x8015B69C 00000000 */ nop
  345. /* 186104 0x8015B6A0 2610FFFF */ addiu $s0, $s0, -1
  346. /* 186105 0x8015B6A4 00108400 */ sll $s0, $s0, 16
  347. /* 186106 0x8015B6A8 00108403 */ sra $s0, $s0, 16
  348. /* 186107 0x8015B6AC 1E00FFF6 */ bgtz $s0, .L_8015B688
  349. /* 186108 0x8015B6B0 00000000 */ nop
  350. .L_8015B6B4:
  351. /* 186109 0x8015B6B4 5A000047 */ blezl $s0, .L_8015B7D4
  352. /* 186110 0x8015B6B8 87AB00DA */ lh $t3, 0xDA($sp)
  353. /* 186111 0x8015B6BC A7A700CE */ sh $a3, 0xCE($sp)
  354. .L_8015B6C0:
  355. /* 186112 0x8015B6C0 3C12801F */ lui $s2, %hi(D_801EF69C)
  356. /* 186113 0x8015B6C4 02519021 */ addu $s2, $s2, $s1
  357. /* 186114 0x8015B6C8 9252F69C */ lbu $s2, %lo(D_801EF69C)($s2)
  358. /* 186115 0x8015B6CC 2401003E */ li $at, 62
  359. /* 186116 0x8015B6D0 87A700CE */ lh $a3, 0xCE($sp)
  360. /* 186117 0x8015B6D4 16410004 */ bne $s2, $at, .L_8015B6E8
  361. /* 186118 0x8015B6D8 02401825 */ move $v1, $s2
  362. /* 186119 0x8015B6DC 24120020 */ li $s2, 32
  363. /* 186120 0x8015B6E0 10000024 */ b .L_8015B774
  364. /* 186121 0x8015B6E4 24030020 */ li $v1, 32
  365. .L_8015B6E8:
  366. /* 186122 0x8015B6E8 24010040 */ li $at, 64
  367. /* 186123 0x8015B6EC 54610005 */ bnel $v1, $at, .L_8015B704
  368. /* 186124 0x8015B6F0 2401003F */ li $at, 63
  369. /* 186125 0x8015B6F4 2412002E */ li $s2, 46
  370. /* 186126 0x8015B6F8 1000001E */ b .L_8015B774
  371. /* 186127 0x8015B6FC 2403002E */ li $v1, 46
  372. /* 186128 0x8015B700 2401003F */ li $at, 63
  373. .L_8015B704:
  374. /* 186129 0x8015B704 54610005 */ bnel $v1, $at, .L_8015B71C
  375. /* 186130 0x8015B708 2861000A */ slti $at, $v1, 10
  376. /* 186131 0x8015B70C 2412002D */ li $s2, 45
  377. /* 186132 0x8015B710 10000018 */ b .L_8015B774
  378. /* 186133 0x8015B714 2403002D */ li $v1, 45
  379. /* 186134 0x8015B718 2861000A */ slti $at, $v1, 10
  380. .L_8015B71C:
  381. /* 186135 0x8015B71C 50200007 */ beqzl $at, .L_8015B73C
  382. /* 186136 0x8015B720 28610024 */ slti $at, $v1, 36
  383. /* 186137 0x8015B724 00609025 */ move $s2, $v1
  384. /* 186138 0x8015B728 26520030 */ addiu $s2, $s2, 48
  385. /* 186139 0x8015B72C 325200FF */ andi $s2, $s2, 0xFF
  386. /* 186140 0x8015B730 10000010 */ b .L_8015B774
  387. /* 186141 0x8015B734 02401825 */ move $v1, $s2
  388. /* 186142 0x8015B738 28610024 */ slti $at, $v1, 36
  389. .L_8015B73C:
  390. /* 186143 0x8015B73C 50200007 */ beqzl $at, .L_8015B75C
  391. /* 186144 0x8015B740 2861003E */ slti $at, $v1, 62
  392. /* 186145 0x8015B744 00609025 */ move $s2, $v1
  393. /* 186146 0x8015B748 26520037 */ addiu $s2, $s2, 55
  394. /* 186147 0x8015B74C 325200FF */ andi $s2, $s2, 0xFF
  395. /* 186148 0x8015B750 10000008 */ b .L_8015B774
  396. /* 186149 0x8015B754 02401825 */ move $v1, $s2
  397. /* 186150 0x8015B758 2861003E */ slti $at, $v1, 62
  398. .L_8015B75C:
  399. /* 186151 0x8015B75C 50200006 */ beqzl $at, .L_8015B778
  400. /* 186152 0x8015B760 24010020 */ li $at, 32
  401. /* 186153 0x8015B764 00609025 */ move $s2, $v1
  402. /* 186154 0x8015B768 2652003D */ addiu $s2, $s2, 61
  403. /* 186155 0x8015B76C 325200FF */ andi $s2, $s2, 0xFF
  404. /* 186156 0x8015B770 02401825 */ move $v1, $s2
  405. .L_8015B774:
  406. /* 186157 0x8015B774 24010020 */ li $at, 32
  407. .L_8015B778:
  408. /* 186158 0x8015B778 10610008 */ beq $v1, $at, .L_8015B79C
  409. /* 186159 0x8015B77C A7A700CE */ sh $a3, 0xCE($sp)
  410. /* 186160 0x8015B780 02802025 */ move $a0, $s4
  411. /* 186161 0x8015B784 324500FF */ andi $a1, $s2, 0xFF
  412. /* 186162 0x8015B788 0C03D3D5 */ jal func_800F4F54
  413. /* 186163 0x8015B78C 8FA600BC */ lw $a2, 0xBC($sp)
  414. /* 186164 0x8015B790 8FAD00BC */ lw $t5, 0xBC($sp)
  415. /* 186165 0x8015B794 25AF0080 */ addiu $t7, $t5, 128
  416. /* 186166 0x8015B798 AFAF00BC */ sw $t7, 0xBC($sp)
  417. .L_8015B79C:
  418. /* 186167 0x8015B79C 87AE00DA */ lh $t6, 0xDA($sp)
  419. /* 186168 0x8015B7A0 26310001 */ addiu $s1, $s1, 1
  420. /* 186169 0x8015B7A4 00118C00 */ sll $s1, $s1, 16
  421. /* 186170 0x8015B7A8 02CEC021 */ addu $t8, $s6, $t6
  422. /* 186171 0x8015B7AC 0317C821 */ addu $t9, $t8, $s7
  423. /* 186172 0x8015B7B0 A3321F24 */ sb $s2, 0x1F24($t9)
  424. /* 186173 0x8015B7B4 87A800DA */ lh $t0, 0xDA($sp)
  425. /* 186174 0x8015B7B8 00118C03 */ sra $s1, $s1, 16
  426. /* 186175 0x8015B7BC 0230082A */ slt $at, $s1, $s0
  427. /* 186176 0x8015B7C0 25090001 */ addiu $t1, $t0, 1
  428. /* 186177 0x8015B7C4 1420FFBE */ bnez $at, .L_8015B6C0
  429. /* 186178 0x8015B7C8 A7A900DA */ sh $t1, 0xDA($sp)
  430. /* 186179 0x8015B7CC 87A700CE */ lh $a3, 0xCE($sp)
  431. /* 186180 0x8015B7D0 87AB00DA */ lh $t3, 0xDA($sp)
  432. .L_8015B7D4:
  433. /* 186181 0x8015B7D4 A7A700CE */ sh $a3, 0xCE($sp)
  434. /* 186182 0x8015B7D8 256AFFFF */ addiu $t2, $t3, -1
  435. /* 186183 0x8015B7DC 10000BC1 */ b .L_8015E6E4
  436. /* 186184 0x8015B7E0 A7AA00DA */ sh $t2, 0xDA($sp)
  437. .L_8015B7E4:
  438. /* 186185 0x8015B7E4 240100C1 */ li $at, 193
  439. /* 186186 0x8015B7E8 54610026 */ bnel $v1, $at, .L_8015B884
  440. /* 186187 0x8015B7EC 240100C2 */ li $at, 194
  441. /* 186188 0x8015B7F0 8FAC0070 */ lw $t4, 0x70($sp)
  442. /* 186189 0x8015B7F4 A7A700CE */ sh $a3, 0xCE($sp)
  443. /* 186190 0x8015B7F8 3C0500AD */ lui $a1, %hi(D_00ACA000)
  444. /* 186191 0x8015B7FC 8D841EF8 */ lw $a0, 0x1EF8($t4)
  445. /* 186192 0x8015B800 24A5A000 */ addiu $a1, %lo(D_00ACA000)
  446. /* 186193 0x8015B804 240D0002 */ li $t5, 2
  447. /* 186194 0x8015B808 240F0002 */ li $t7, 2
  448. /* 186195 0x8015B80C A7AF00C6 */ sh $t7, 0xC6($sp)
  449. /* 186196 0x8015B810 A7AD00D0 */ sh $t5, 0xD0($sp)
  450. /* 186197 0x8015B814 24B00900 */ addiu $s0, $a1, 2304
  451. /* 186198 0x8015B818 24060900 */ li $a2, 2304
  452. /* 186199 0x8015B81C 0C020324 */ jal func_80080C90
  453. /* 186200 0x8015B820 24841000 */ addiu $a0, $a0, 4096
  454. /* 186201 0x8015B824 8FAE0070 */ lw $t6, 0x70($sp)
  455. /* 186202 0x8015B828 02002825 */ move $a1, $s0
  456. /* 186203 0x8015B82C 24060900 */ li $a2, 2304
  457. /* 186204 0x8015B830 8DC41EF8 */ lw $a0, 0x1EF8($t6)
  458. /* 186205 0x8015B834 0C020324 */ jal func_80080C90
  459. /* 186206 0x8015B838 24841900 */ addiu $a0, $a0, 6400
  460. /* 186207 0x8015B83C 8FB80070 */ lw $t8, 0x70($sp)
  461. /* 186208 0x8015B840 3C010001 */ lui $at, %hi(D_00012012)
  462. /* 186209 0x8015B844 00360821 */ addu $at, $at, $s6
  463. /* 186210 0x8015B848 8719206A */ lh $t9, 0x206A($t8)
  464. /* 186211 0x8015B84C 24090001 */ li $t1, 1
  465. /* 186212 0x8015B850 3C0B801F */ lui $t3, %hi(D_801F3F60)
  466. /* 186213 0x8015B854 27280008 */ addiu $t0, $t9, 8
  467. /* 186214 0x8015B858 A4282012 */ sh $t0, %lo(D_00012012)($at)
  468. /* 186215 0x8015B85C 3C010001 */ lui $at, %hi(D_00011F18)
  469. /* 186216 0x8015B860 00360821 */ addu $at, $at, $s6
  470. /* 186217 0x8015B864 A0291F18 */ sb $t1, %lo(D_00011F18)($at)
  471. /* 186218 0x8015B868 8D6B3F60 */ lw $t3, %lo(D_801F3F60)($t3)
  472. /* 186219 0x8015B86C 3C010001 */ lui $at, %hi(D_00012010)
  473. /* 186220 0x8015B870 00360821 */ addu $at, $at, $s6
  474. /* 186221 0x8015B874 856A0AF2 */ lh $t2, 0xAF2($t3)
  475. /* 186222 0x8015B878 10000B9A */ b .L_8015E6E4
  476. /* 186223 0x8015B87C A42A2010 */ sh $t2, %lo(D_00012010)($at)
  477. /* 186224 0x8015B880 240100C2 */ li $at, 194
  478. .L_8015B884:
  479. /* 186225 0x8015B884 14610009 */ bne $v1, $at, .L_8015B8AC
  480. /* 186226 0x8015B888 3C010001 */ lui $at, %hi(D_00011F18)
  481. /* 186227 0x8015B88C A7A700CE */ sh $a3, 0xCE($sp)
  482. /* 186228 0x8015B890 00360821 */ addu $at, $at, $s6
  483. /* 186229 0x8015B894 A0201F18 */ sb $zero, %lo(D_00011F18)($at)
  484. /* 186230 0x8015B898 3C010001 */ lui $at, %hi(D_00012022)
  485. /* 186231 0x8015B89C 00360821 */ addu $at, $at, $s6
  486. /* 186232 0x8015B8A0 240C0002 */ li $t4, 2
  487. /* 186233 0x8015B8A4 10000B8F */ b .L_8015E6E4
  488. /* 186234 0x8015B8A8 A02C2022 */ sb $t4, %lo(D_00012022)($at)
  489. .L_8015B8AC:
  490. /* 186235 0x8015B8AC 240100C3 */ li $at, 195
  491. /* 186236 0x8015B8B0 1461000F */ bne $v1, $at, .L_8015B8F0
  492. /* 186237 0x8015B8B4 3C010001 */ lui $at, %hi(D_00011F18)
  493. /* 186238 0x8015B8B8 A7A700CE */ sh $a3, 0xCE($sp)
  494. /* 186239 0x8015B8BC 00360821 */ addu $at, $at, $s6
  495. /* 186240 0x8015B8C0 A0201F18 */ sb $zero, %lo(D_00011F18)($at)
  496. /* 186241 0x8015B8C4 3C010001 */ lui $at, %hi(D_00012022)
  497. /* 186242 0x8015B8C8 00360821 */ addu $at, $at, $s6
  498. /* 186243 0x8015B8CC 240D0003 */ li $t5, 3
  499. /* 186244 0x8015B8D0 A02D2022 */ sb $t5, %lo(D_00012022)($at)
  500. /* 186245 0x8015B8D4 8FAF0070 */ lw $t7, 0x70($sp)
  501. /* 186246 0x8015B8D8 3C010001 */ lui $at, %hi(D_00011FF8)
  502. /* 186247 0x8015B8DC 00360821 */ addu $at, $at, $s6
  503. /* 186248 0x8015B8E0 85EE1FF8 */ lh $t6, 0x1FF8($t7)
  504. /* 186249 0x8015B8E4 25D80016 */ addiu $t8, $t6, 22
  505. /* 186250 0x8015B8E8 10000B7E */ b .L_8015E6E4
  506. /* 186251 0x8015B8EC A4381FF8 */ sh $t8, %lo(D_00011FF8)($at)
  507. .L_8015B8F0:
  508. /* 186252 0x8015B8F0 240100C4 */ li $at, 196
  509. /* 186253 0x8015B8F4 1461002E */ bne $v1, $at, .L_8015B9B0
  510. /* 186254 0x8015B8F8 0003C8C0 */ sll $t9, $v1, 3
  511. /* 186255 0x8015B8FC 3C08801F */ lui $t0, %hi(D_801F2E30)
  512. /* 186256 0x8015B900 3C09801F */ lui $t1, %hi(D_801F2E34)
  513. /* 186257 0x8015B904 01394821 */ addu $t1, $t1, $t9
  514. /* 186258 0x8015B908 01194021 */ addu $t0, $t0, $t9
  515. /* 186259 0x8015B90C 8D042E30 */ lw $a0, %lo(D_801F2E30)($t0)
  516. /* 186260 0x8015B910 8D252E34 */ lw $a1, %lo(D_801F2E34)($t1)
  517. /* 186261 0x8015B914 A7A700CE */ sh $a3, 0xCE($sp)
  518. /* 186262 0x8015B918 27A600A8 */ addiu $a2, $sp, 168
  519. /* 186263 0x8015B91C 00008825 */ move $s1, $zero
  520. /* 186264 0x8015B920 00009025 */ move $s2, $zero
  521. /* 186265 0x8015B924 AFA40090 */ sw $a0, 0x90($sp)
  522. /* 186266 0x8015B928 0C05650E */ jal func_80159438
  523. /* 186267 0x8015B92C AFA50094 */ sw $a1, 0x94($sp)
  524. /* 186268 0x8015B930 24010001 */ li $at, 1
  525. .L_8015B934:
  526. /* 186269 0x8015B934 12210006 */ beq $s1, $at, .L_8015B950
  527. /* 186270 0x8015B938 00115840 */ sll $t3, $s1, 1
  528. /* 186271 0x8015B93C 03AB5021 */ addu $t2, $sp, $t3
  529. /* 186272 0x8015B940 854A00AE */ lh $t2, 0xAE($t2)
  530. /* 186273 0x8015B944 24010030 */ li $at, 48
  531. /* 186274 0x8015B948 11410002 */ beq $t2, $at, .L_8015B954
  532. /* 186275 0x8015B94C 00000000 */ nop
  533. .L_8015B950:
  534. /* 186276 0x8015B950 24120001 */ li $s2, 1
  535. .L_8015B954:
  536. /* 186277 0x8015B954 1240000C */ beqz $s2, .L_8015B988
  537. /* 186278 0x8015B958 00116040 */ sll $t4, $s1, 1
  538. /* 186279 0x8015B95C 87AD00DA */ lh $t5, 0xDA($sp)
  539. /* 186280 0x8015B960 03AC2821 */ addu $a1, $sp, $t4
  540. /* 186281 0x8015B964 90A500AF */ lbu $a1, 0xAF($a1)
  541. /* 186282 0x8015B968 02802025 */ move $a0, $s4
  542. /* 186283 0x8015B96C 03C03025 */ move $a2, $fp
  543. /* 186284 0x8015B970 27A700A4 */ addiu $a3, $sp, 164
  544. /* 186285 0x8015B974 0C056262 */ jal func_80158988
  545. /* 186286 0x8015B978 AFAD0010 */ sw $t5, 0x10($sp)
  546. /* 186287 0x8015B97C 87AF00DA */ lh $t7, 0xDA($sp)
  547. /* 186288 0x8015B980 25EE0001 */ addiu $t6, $t7, 1
  548. /* 186289 0x8015B984 A7AE00DA */ sh $t6, 0xDA($sp)
  549. .L_8015B988:
  550. /* 186290 0x8015B988 26310001 */ addiu $s1, $s1, 1
  551. /* 186291 0x8015B98C 00118C00 */ sll $s1, $s1, 16
  552. /* 186292 0x8015B990 00118C03 */ sra $s1, $s1, 16
  553. /* 186293 0x8015B994 2A210005 */ slti $at, $s1, 5
  554. /* 186294 0x8015B998 5420FFE6 */ bnezl $at, .L_8015B934
  555. /* 186295 0x8015B99C 24010001 */ li $at, 1
  556. /* 186296 0x8015B9A0 87B800DA */ lh $t8, 0xDA($sp)
  557. /* 186297 0x8015B9A4 2719FFFF */ addiu $t9, $t8, -1
  558. /* 186298 0x8015B9A8 10000B4E */ b .L_8015E6E4
  559. /* 186299 0x8015B9AC A7B900DA */ sh $t9, 0xDA($sp)
  560. .L_8015B9B0:
  561. /* 186300 0x8015B9B0 240100C5 */ li $at, 197
  562. /* 186301 0x8015B9B4 1061000E */ beq $v1, $at, .L_8015B9F0
  563. /* 186302 0x8015B9B8 A7A700CE */ sh $a3, 0xCE($sp)
  564. /* 186303 0x8015B9BC 240100C6 */ li $at, 198
  565. /* 186304 0x8015B9C0 1061000B */ beq $v1, $at, .L_8015B9F0
  566. /* 186305 0x8015B9C4 A7A700CE */ sh $a3, 0xCE($sp)
  567. /* 186306 0x8015B9C8 240100C7 */ li $at, 199
  568. /* 186307 0x8015B9CC 10610008 */ beq $v1, $at, .L_8015B9F0
  569. /* 186308 0x8015B9D0 A7A700CE */ sh $a3, 0xCE($sp)
  570. /* 186309 0x8015B9D4 240100C8 */ li $at, 200
  571. /* 186310 0x8015B9D8 10610005 */ beq $v1, $at, .L_8015B9F0
  572. /* 186311 0x8015B9DC A7A700CE */ sh $a3, 0xCE($sp)
  573. /* 186312 0x8015B9E0 240100C9 */ li $at, 201
  574. /* 186313 0x8015B9E4 54610034 */ bnel $v1, $at, .L_8015BAB8
  575. /* 186314 0x8015B9E8 240100CA */ li $at, 202
  576. /* 186315 0x8015B9EC A7A700CE */ sh $a3, 0xCE($sp)
  577. .L_8015B9F0:
  578. /* 186316 0x8015B9F0 000340C0 */ sll $t0, $v1, 3
  579. /* 186317 0x8015B9F4 3C0A801F */ lui $t2, %hi(D_801F2E30)
  580. /* 186318 0x8015B9F8 3C0B801F */ lui $t3, %hi(D_801F2E34)
  581. /* 186319 0x8015B9FC 01685821 */ addu $t3, $t3, $t0
  582. /* 186320 0x8015BA00 01485021 */ addu $t2, $t2, $t0
  583. /* 186321 0x8015BA04 8D442E30 */ lw $a0, %lo(D_801F2E30)($t2)
  584. /* 186322 0x8015BA08 8D652E34 */ lw $a1, %lo(D_801F2E34)($t3)
  585. /* 186323 0x8015BA0C 27A600A8 */ addiu $a2, $sp, 168
  586. /* 186324 0x8015BA10 00008825 */ move $s1, $zero
  587. /* 186325 0x8015BA14 00009025 */ move $s2, $zero
  588. /* 186326 0x8015BA18 AFA40090 */ sw $a0, 0x90($sp)
  589. /* 186327 0x8015BA1C 0C05650E */ jal func_80159438
  590. /* 186328 0x8015BA20 AFA50094 */ sw $a1, 0x94($sp)
  591. /* 186329 0x8015BA24 24010004 */ li $at, 4
  592. .L_8015BA28:
  593. /* 186330 0x8015BA28 1221000A */ beq $s1, $at, .L_8015BA54
  594. /* 186331 0x8015BA2C 24010002 */ li $at, 2
  595. /* 186332 0x8015BA30 12210009 */ beq $s1, $at, .L_8015BA58
  596. /* 186333 0x8015BA34 24010005 */ li $at, 5
  597. /* 186334 0x8015BA38 12210007 */ beq $s1, $at, .L_8015BA58
  598. /* 186335 0x8015BA3C 00114840 */ sll $t1, $s1, 1
  599. /* 186336 0x8015BA40 03A96021 */ addu $t4, $sp, $t1
  600. /* 186337 0x8015BA44 858C00A8 */ lh $t4, 0xA8($t4)
  601. /* 186338 0x8015BA48 24010030 */ li $at, 48
  602. /* 186339 0x8015BA4C 11810002 */ beq $t4, $at, .L_8015BA58
  603. /* 186340 0x8015BA50 00000000 */ nop
  604. .L_8015BA54:
  605. /* 186341 0x8015BA54 24120001 */ li $s2, 1
  606. .L_8015BA58:
  607. /* 186342 0x8015BA58 1240000C */ beqz $s2, .L_8015BA8C
  608. /* 186343 0x8015BA5C 00116840 */ sll $t5, $s1, 1
  609. /* 186344 0x8015BA60 87AF00DA */ lh $t7, 0xDA($sp)
  610. /* 186345 0x8015BA64 03AD2821 */ addu $a1, $sp, $t5
  611. /* 186346 0x8015BA68 90A500A9 */ lbu $a1, 0xA9($a1)
  612. /* 186347 0x8015BA6C 02802025 */ move $a0, $s4
  613. /* 186348 0x8015BA70 03C03025 */ move $a2, $fp
  614. /* 186349 0x8015BA74 27A700A4 */ addiu $a3, $sp, 164
  615. /* 186350 0x8015BA78 0C056262 */ jal func_80158988
  616. /* 186351 0x8015BA7C AFAF0010 */ sw $t7, 0x10($sp)
  617. /* 186352 0x8015BA80 87AE00DA */ lh $t6, 0xDA($sp)
  618. /* 186353 0x8015BA84 25D80001 */ addiu $t8, $t6, 1
  619. /* 186354 0x8015BA88 A7B800DA */ sh $t8, 0xDA($sp)
  620. .L_8015BA8C:
  621. /* 186355 0x8015BA8C 26310001 */ addiu $s1, $s1, 1
  622. /* 186356 0x8015BA90 00118C00 */ sll $s1, $s1, 16
  623. /* 186357 0x8015BA94 00118C03 */ sra $s1, $s1, 16
  624. /* 186358 0x8015BA98 2A210008 */ slti $at, $s1, 8
  625. /* 186359 0x8015BA9C 5420FFE2 */ bnezl $at, .L_8015BA28
  626. /* 186360 0x8015BAA0 24010004 */ li $at, 4
  627. /* 186361 0x8015BAA4 87B900DA */ lh $t9, 0xDA($sp)
  628. /* 186362 0x8015BAA8 2728FFFF */ addiu $t0, $t9, -1
  629. /* 186363 0x8015BAAC 10000B0D */ b .L_8015E6E4
  630. /* 186364 0x8015BAB0 A7A800DA */ sh $t0, 0xDA($sp)
  631. /* 186365 0x8015BAB4 240100CA */ li $at, 202
  632. .L_8015BAB8:
  633. /* 186366 0x8015BAB8 1461007D */ bne $v1, $at, .L_8015BCB0
  634. /* 186367 0x8015BABC 3C0A801F */ lui $t2, %hi(D_801EF67C)
  635. /* 186368 0x8015BAC0 954AF67C */ lhu $t2, %lo(D_801EF67C)($t2)
  636. /* 186369 0x8015BAC4 A7A000C8 */ sh $zero, 0xC8($sp)
  637. /* 186370 0x8015BAC8 448A4000 */ mtc1 $t2, $f8
  638. /* 186371 0x8015BACC 05410005 */ bgez $t2, .L_8015BAE4
  639. /* 186372 0x8015BAD0 468042A0 */ cvt.s.w $f10, $f8
  640. /* 186373 0x8015BAD4 3C014F80 */ lui $at, 0x4F80
  641. /* 186374 0x8015BAD8 44818000 */ mtc1 $at, $f16
  642. /* 186375 0x8015BADC 00000000 */ nop
  643. /* 186376 0x8015BAE0 46105280 */ add.s $f10, $f10, $f16
  644. .L_8015BAE4:
  645. /* 186377 0x8015BAE4 3C013CB4 */ lui $at, 0x3CB4
  646. /* 186378 0x8015BAE8 44819000 */ mtc1 $at, $f18
  647. /* 186379 0x8015BAEC 3C014270 */ lui $at, 0x4270
  648. /* 186380 0x8015BAF0 44812000 */ mtc1 $at, $f4
  649. /* 186381 0x8015BAF4 46125002 */ mul.s $f0, $f10, $f18
  650. /* 186382 0x8015BAF8 00008825 */ move $s1, $zero
  651. /* 186383 0x8015BAFC 46040183 */ div.s $f6, $f0, $f4
  652. /* 186384 0x8015BB00 4600320D */ trunc.w.s $f8, $f6
  653. /* 186385 0x8015BB04 44094000 */ mfc1 $t1, $f8
  654. /* 186386 0x8015BB08 00000000 */ nop
  655. /* 186387 0x8015BB0C 00096400 */ sll $t4, $t1, 16
  656. /* 186388 0x8015BB10 000C6C03 */ sra $t5, $t4, 16
  657. /* 186389 0x8015BB14 29A1000A */ slti $at, $t5, 10
  658. /* 186390 0x8015BB18 1420000B */ bnez $at, .L_8015BB48
  659. /* 186391 0x8015BB1C A7A900CA */ sh $t1, 0xCA($sp)
  660. .L_8015BB20:
  661. /* 186392 0x8015BB20 87B800CA */ lh $t8, 0xCA($sp)
  662. /* 186393 0x8015BB24 87AF00C8 */ lh $t7, 0xC8($sp)
  663. /* 186394 0x8015BB28 2719FFF6 */ addiu $t9, $t8, -10
  664. /* 186395 0x8015BB2C 00194400 */ sll $t0, $t9, 16
  665. /* 186396 0x8015BB30 00085403 */ sra $t2, $t0, 16
  666. /* 186397 0x8015BB34 2941000A */ slti $at, $t2, 10
  667. /* 186398 0x8015BB38 25EE0001 */ addiu $t6, $t7, 1
  668. /* 186399 0x8015BB3C A7AE00C8 */ sh $t6, 0xC8($sp)
  669. /* 186400 0x8015BB40 1020FFF7 */ beqz $at, .L_8015BB20
  670. /* 186401 0x8015BB44 A7B900CA */ sh $t9, 0xCA($sp)
  671. .L_8015BB48:
  672. /* 186402 0x8015BB48 4600040D */ trunc.w.s $f16, $f0
  673. /* 186403 0x8015BB4C 2401003C */ li $at, 60
  674. /* 186404 0x8015BB50 A7A000CC */ sh $zero, 0xCC($sp)
  675. /* 186405 0x8015BB54 44078000 */ mfc1 $a3, $f16
  676. /* 186406 0x8015BB58 00000000 */ nop
  677. /* 186407 0x8015BB5C 00E1001A */ div $zero, $a3, $at
  678. /* 186408 0x8015BB60 00003810 */ mfhi $a3
  679. /* 186409 0x8015BB64 00073C00 */ sll $a3, $a3, 16
  680. /* 186410 0x8015BB68 00073C03 */ sra $a3, $a3, 16
  681. /* 186411 0x8015BB6C 28E1000A */ slti $at, $a3, 10
  682. /* 186412 0x8015BB70 1420000A */ bnez $at, .L_8015BB9C
  683. /* 186413 0x8015BB74 A7A700CE */ sh $a3, 0xCE($sp)
  684. .L_8015BB78:
  685. /* 186414 0x8015BB78 87A900CC */ lh $t1, 0xCC($sp)
  686. /* 186415 0x8015BB7C 24E7FFF6 */ addiu $a3, $a3, -10
  687. /* 186416 0x8015BB80 00073C00 */ sll $a3, $a3, 16
  688. /* 186417 0x8015BB84 00073C03 */ sra $a3, $a3, 16
  689. /* 186418 0x8015BB88 28E1000A */ slti $at, $a3, 10
  690. /* 186419 0x8015BB8C 252C0001 */ addiu $t4, $t1, 1
  691. /* 186420 0x8015BB90 1020FFF9 */ beqz $at, .L_8015BB78
  692. /* 186421 0x8015BB94 A7AC00CC */ sh $t4, 0xCC($sp)
  693. /* 186422 0x8015BB98 A7A700CE */ sh $a3, 0xCE($sp)
  694. .L_8015BB9C:
  695. /* 186423 0x8015BB9C 00116840 */ sll $t5, $s1, 1
  696. .L_8015BBA0:
  697. /* 186424 0x8015BBA0 02AD8021 */ addu $s0, $s5, $t5
  698. /* 186425 0x8015BBA4 86050000 */ lh $a1, 0x0($s0)
  699. /* 186426 0x8015BBA8 02802025 */ move $a0, $s4
  700. /* 186427 0x8015BBAC 8FA600BC */ lw $a2, 0xBC($sp)
  701. /* 186428 0x8015BBB0 24A50030 */ addiu $a1, $a1, 48
  702. /* 186429 0x8015BBB4 0C03D3D5 */ jal func_800F4F54
  703. /* 186430 0x8015BBB8 30A500FF */ andi $a1, $a1, 0xFF
  704. /* 186431 0x8015BBBC 8FAF00BC */ lw $t7, 0xBC($sp)
  705. /* 186432 0x8015BBC0 87A800DA */ lh $t0, 0xDA($sp)
  706. /* 186433 0x8015BBC4 24010001 */ li $at, 1
  707. /* 186434 0x8015BBC8 25EE0080 */ addiu $t6, $t7, 128
  708. /* 186435 0x8015BBCC AFAE00BC */ sw $t6, 0xBC($sp)
  709. /* 186436 0x8015BBD0 86180000 */ lh $t8, 0x0($s0)
  710. /* 186437 0x8015BBD4 02C85021 */ addu $t2, $s6, $t0
  711. /* 186438 0x8015BBD8 01575821 */ addu $t3, $t2, $s7
  712. /* 186439 0x8015BBDC 27190030 */ addiu $t9, $t8, 48
  713. /* 186440 0x8015BBE0 A1791F24 */ sb $t9, 0x1F24($t3)
  714. /* 186441 0x8015BBE4 87A900DA */ lh $t1, 0xDA($sp)
  715. /* 186442 0x8015BBE8 252C0001 */ addiu $t4, $t1, 1
  716. /* 186443 0x8015BBEC 16210011 */ bne $s1, $at, .L_8015BC34
  717. /* 186444 0x8015BBF0 A7AC00DA */ sh $t4, 0xDA($sp)
  718. /* 186445 0x8015BBF4 02802025 */ move $a0, $s4
  719. /* 186446 0x8015BBF8 24050022 */ li $a1, 34
  720. /* 186447 0x8015BBFC 0C03D3D5 */ jal func_800F4F54
  721. /* 186448 0x8015BC00 8FA600BC */ lw $a2, 0xBC($sp)
  722. /* 186449 0x8015BC04 8FAD00BC */ lw $t5, 0xBC($sp)
  723. /* 186450 0x8015BC08 87B800DA */ lh $t8, 0xDA($sp)
  724. /* 186451 0x8015BC0C 240E0022 */ li $t6, 34
  725. /* 186452 0x8015BC10 25AF0080 */ addiu $t7, $t5, 128
  726. /* 186453 0x8015BC14 02D84021 */ addu $t0, $s6, $t8
  727. /* 186454 0x8015BC18 AFAF00BC */ sw $t7, 0xBC($sp)
  728. /* 186455 0x8015BC1C 01175021 */ addu $t2, $t0, $s7
  729. /* 186456 0x8015BC20 A14E1F24 */ sb $t6, 0x1F24($t2)
  730. /* 186457 0x8015BC24 87B900DA */ lh $t9, 0xDA($sp)
  731. /* 186458 0x8015BC28 272B0001 */ addiu $t3, $t9, 1
  732. /* 186459 0x8015BC2C 1000000F */ b .L_8015BC6C
  733. /* 186460 0x8015BC30 A7AB00DA */ sh $t3, 0xDA($sp)
  734. .L_8015BC34:
  735. /* 186461 0x8015BC34 24010003 */ li $at, 3
  736. /* 186462 0x8015BC38 1621000C */ bne $s1, $at, .L_8015BC6C
  737. /* 186463 0x8015BC3C 02802025 */ move $a0, $s4
  738. /* 186464 0x8015BC40 24050027 */ li $a1, 39
  739. /* 186465 0x8015BC44 0C03D3D5 */ jal func_800F4F54
  740. /* 186466 0x8015BC48 8FA600BC */ lw $a2, 0xBC($sp)
  741. /* 186467 0x8015BC4C 8FA900BC */ lw $t1, 0xBC($sp)
  742. /* 186468 0x8015BC50 87AF00DA */ lh $t7, 0xDA($sp)
  743. /* 186469 0x8015BC54 240D0027 */ li $t5, 39
  744. /* 186470 0x8015BC58 252C0080 */ addiu $t4, $t1, 128
  745. /* 186471 0x8015BC5C 02CFC021 */ addu $t8, $s6, $t7
  746. /* 186472 0x8015BC60 AFAC00BC */ sw $t4, 0xBC($sp)
  747. /* 186473 0x8015BC64 03174021 */ addu $t0, $t8, $s7
  748. /* 186474 0x8015BC68 A10D1F24 */ sb $t5, 0x1F24($t0)
  749. .L_8015BC6C:
  750. /* 186475 0x8015BC6C 26310001 */ addiu $s1, $s1, 1
  751. /* 186476 0x8015BC70 00118C00 */ sll $s1, $s1, 16
  752. /* 186477 0x8015BC74 00118C03 */ sra $s1, $s1, 16
  753. /* 186478 0x8015BC78 2A210004 */ slti $at, $s1, 4
  754. /* 186479 0x8015BC7C 5420FFC8 */ bnezl $at, .L_8015BBA0
  755. /* 186480 0x8015BC80 00116840 */ sll $t5, $s1, 1
  756. /* 186481 0x8015BC84 8FAE0070 */ lw $t6, 0x70($sp)
  757. /* 186482 0x8015BC88 3C0140C0 */ lui $at, 0x40C0
  758. /* 186483 0x8015BC8C 44815000 */ mtc1 $at, $f10
  759. /* 186484 0x8015BC90 C5D22098 */ lwc1 $f18, 0x2098($t6)
  760. /* 186485 0x8015BC94 C7A800A4 */ lwc1 $f8, 0xA4($sp)
  761. /* 186486 0x8015BC98 4612B102 */ mul.s $f4, $f22, $f18
  762. /* 186487 0x8015BC9C 00000000 */ nop
  763. /* 186488 0x8015BCA0 46045182 */ mul.s $f6, $f10, $f4
  764. /* 186489 0x8015BCA4 46064400 */ add.s $f16, $f8, $f6
  765. /* 186490 0x8015BCA8 10000A8E */ b .L_8015E6E4
  766. /* 186491 0x8015BCAC E7B000A4 */ swc1 $f16, 0xA4($sp)
  767. .L_8015BCB0:
  768. /* 186492 0x8015BCB0 240100CB */ li $at, 203
  769. /* 186493 0x8015BCB4 54610060 */ bnel $v1, $at, .L_8015BE38
  770. /* 186494 0x8015BCB8 240100CC */ li $at, 204
  771. /* 186495 0x8015BCBC A7A700CE */ sh $a3, 0xCE($sp)
  772. /* 186496 0x8015BCC0 A7A000CC */ sh $zero, 0xCC($sp)
  773. /* 186497 0x8015BCC4 A7A000CA */ sh $zero, 0xCA($sp)
  774. /* 186498 0x8015BCC8 A7A000C8 */ sh $zero, 0xC8($sp)
  775. /* 186499 0x8015BCCC 02802025 */ move $a0, $s4
  776. /* 186500 0x8015BCD0 00008825 */ move $s1, $zero
  777. /* 186501 0x8015BCD4 0C02D72E */ jal func_800B5CB8
  778. /* 186502 0x8015BCD8 00009025 */ move $s2, $zero
  779. /* 186503 0x8015BCDC 00023C00 */ sll $a3, $v0, 16
  780. /* 186504 0x8015BCE0 00073C03 */ sra $a3, $a3, 16
  781. /* 186505 0x8015BCE4 28E103E8 */ slti $at, $a3, 1000
  782. /* 186506 0x8015BCE8 5420000A */ bnezl $at, .L_8015BD14
  783. /* 186507 0x8015BCEC 28E10064 */ slti $at, $a3, 100
  784. .L_8015BCF0:
  785. /* 186508 0x8015BCF0 87AA00C8 */ lh $t2, 0xC8($sp)
  786. /* 186509 0x8015BCF4 24E7FC18 */ addiu $a3, $a3, -1000
  787. /* 186510 0x8015BCF8 00073C00 */ sll $a3, $a3, 16
  788. /* 186511 0x8015BCFC 00073C03 */ sra $a3, $a3, 16
  789. /* 186512 0x8015BD00 28E103E8 */ slti $at, $a3, 1000
  790. /* 186513 0x8015BD04 25590001 */ addiu $t9, $t2, 1
  791. /* 186514 0x8015BD08 1020FFF9 */ beqz $at, .L_8015BCF0
  792. /* 186515 0x8015BD0C A7B900C8 */ sh $t9, 0xC8($sp)
  793. /* 186516 0x8015BD10 28E10064 */ slti $at, $a3, 100
  794. .L_8015BD14:
  795. /* 186517 0x8015BD14 5420000A */ bnezl $at, .L_8015BD40
  796. /* 186518 0x8015BD18 28E1000A */ slti $at, $a3, 10
  797. .L_8015BD1C:
  798. /* 186519 0x8015BD1C 87AB00CA */ lh $t3, 0xCA($sp)
  799. /* 186520 0x8015BD20 24E7FF9C */ addiu $a3, $a3, -100
  800. /* 186521 0x8015BD24 00073C00 */ sll $a3, $a3, 16
  801. /* 186522 0x8015BD28 00073C03 */ sra $a3, $a3, 16
  802. /* 186523 0x8015BD2C 28E10064 */ slti $at, $a3, 100
  803. /* 186524 0x8015BD30 25690001 */ addiu $t1, $t3, 1
  804. /* 186525 0x8015BD34 1020FFF9 */ beqz $at, .L_8015BD1C
  805. /* 186526 0x8015BD38 A7A900CA */ sh $t1, 0xCA($sp)
  806. /* 186527 0x8015BD3C 28E1000A */ slti $at, $a3, 10
  807. .L_8015BD40:
  808. /* 186528 0x8015BD40 5420000A */ bnezl $at, .L_8015BD6C
  809. /* 186529 0x8015BD44 24010003 */ li $at, 3
  810. .L_8015BD48:
  811. /* 186530 0x8015BD48 87AC00CC */ lh $t4, 0xCC($sp)
  812. /* 186531 0x8015BD4C 24E7FFF6 */ addiu $a3, $a3, -10
  813. /* 186532 0x8015BD50 00073C00 */ sll $a3, $a3, 16
  814. /* 186533 0x8015BD54 00073C03 */ sra $a3, $a3, 16
  815. /* 186534 0x8015BD58 28E1000A */ slti $at, $a3, 10
  816. /* 186535 0x8015BD5C 258F0001 */ addiu $t7, $t4, 1
  817. /* 186536 0x8015BD60 1020FFF9 */ beqz $at, .L_8015BD48
  818. /* 186537 0x8015BD64 A7AF00CC */ sh $t7, 0xCC($sp)
  819. /* 186538 0x8015BD68 24010003 */ li $at, 3
  820. .L_8015BD6C:
  821. /* 186539 0x8015BD6C 12210007 */ beq $s1, $at, .L_8015BD8C
  822. /* 186540 0x8015BD70 0011C040 */ sll $t8, $s1, 1
  823. /* 186541 0x8015BD74 02B86821 */ addu $t5, $s5, $t8
  824. /* 186542 0x8015BD78 A7A700CE */ sh $a3, 0xCE($sp)
  825. /* 186543 0x8015BD7C 85A80000 */ lh $t0, 0x0($t5)
  826. /* 186544 0x8015BD80 11000004 */ beqz $t0, .L_8015BD94
  827. /* 186545 0x8015BD84 00000000 */ nop
  828. /* 186546 0x8015BD88 87A700CE */ lh $a3, 0xCE($sp)
  829. .L_8015BD8C:
  830. /* 186547 0x8015BD8C 24120001 */ li $s2, 1
  831. /* 186548 0x8015BD90 A7A700CE */ sh $a3, 0xCE($sp)
  832. .L_8015BD94:
  833. /* 186549 0x8015BD94 1240001C */ beqz $s2, .L_8015BE08
  834. /* 186550 0x8015BD98 87A700CE */ lh $a3, 0xCE($sp)
  835. /* 186551 0x8015BD9C 00117040 */ sll $t6, $s1, 1
  836. /* 186552 0x8015BDA0 02AE8021 */ addu $s0, $s5, $t6
  837. /* 186553 0x8015BDA4 86050000 */ lh $a1, 0x0($s0)
  838. /* 186554 0x8015BDA8 02802025 */ move $a0, $s4
  839. /* 186555 0x8015BDAC 8FA600BC */ lw $a2, 0xBC($sp)
  840. /* 186556 0x8015BDB0 24A50030 */ addiu $a1, $a1, 48
  841. /* 186557 0x8015BDB4 0C03D3D5 */ jal func_800F4F54
  842. /* 186558 0x8015BDB8 30A500FF */ andi $a1, $a1, 0xFF
  843. /* 186559 0x8015BDBC 8FAA00BC */ lw $t2, 0xBC($sp)
  844. /* 186560 0x8015BDC0 87AC00DA */ lh $t4, 0xDA($sp)
  845. /* 186561 0x8015BDC4 25590080 */ addiu $t9, $t2, 128
  846. /* 186562 0x8015BDC8 AFB900BC */ sw $t9, 0xBC($sp)
  847. /* 186563 0x8015BDCC 860B0000 */ lh $t3, 0x0($s0)
  848. /* 186564 0x8015BDD0 02CC7821 */ addu $t7, $s6, $t4
  849. /* 186565 0x8015BDD4 01F7C021 */ addu $t8, $t7, $s7
  850. /* 186566 0x8015BDD8 25690030 */ addiu $t1, $t3, 48
  851. /* 186567 0x8015BDDC A3091F24 */ sb $t1, 0x1F24($t8)
  852. /* 186568 0x8015BDE0 87AD00DA */ lh $t5, 0xDA($sp)
  853. /* 186569 0x8015BDE4 8FAE0070 */ lw $t6, 0x70($sp)
  854. /* 186570 0x8015BDE8 C7B200A4 */ lwc1 $f18, 0xA4($sp)
  855. /* 186571 0x8015BDEC 25A80001 */ addiu $t0, $t5, 1
  856. /* 186572 0x8015BDF0 A7A800DA */ sh $t0, 0xDA($sp)
  857. /* 186573 0x8015BDF4 C5CA2098 */ lwc1 $f10, 0x2098($t6)
  858. /* 186574 0x8015BDF8 87A700CE */ lh $a3, 0xCE($sp)
  859. /* 186575 0x8015BDFC 460AB102 */ mul.s $f4, $f22, $f10
  860. /* 186576 0x8015BE00 46049200 */ add.s $f8, $f18, $f4
  861. /* 186577 0x8015BE04 E7A800A4 */ swc1 $f8, 0xA4($sp)
  862. .L_8015BE08:
  863. /* 186578 0x8015BE08 26310001 */ addiu $s1, $s1, 1
  864. /* 186579 0x8015BE0C 00118C00 */ sll $s1, $s1, 16
  865. /* 186580 0x8015BE10 00118C03 */ sra $s1, $s1, 16
  866. /* 186581 0x8015BE14 2A210004 */ slti $at, $s1, 4
  867. /* 186582 0x8015BE18 5420FFD4 */ bnezl $at, .L_8015BD6C
  868. /* 186583 0x8015BE1C 24010003 */ li $at, 3
  869. /* 186584 0x8015BE20 87AA00DA */ lh $t2, 0xDA($sp)
  870. /* 186585 0x8015BE24 A7A700CE */ sh $a3, 0xCE($sp)
  871. /* 186586 0x8015BE28 2559FFFF */ addiu $t9, $t2, -1
  872. /* 186587 0x8015BE2C 10000A2D */ b .L_8015E6E4
  873. /* 186588 0x8015BE30 A7B900DA */ sh $t9, 0xDA($sp)
  874. /* 186589 0x8015BE34 240100CC */ li $at, 204
  875. .L_8015BE38:
  876. /* 186590 0x8015BE38 54610037 */ bnel $v1, $at, .L_8015BF18
  877. /* 186591 0x8015BE3C 240100CD */ li $at, 205
  878. /* 186592 0x8015BE40 87AB00DA */ lh $t3, 0xDA($sp)
  879. /* 186593 0x8015BE44 87AF00C6 */ lh $t7, 0xC6($sp)
  880. /* 186594 0x8015BE48 3C010001 */ lui $at, %hi(D_000120BE)
  881. /* 186595 0x8015BE4C 256C0001 */ addiu $t4, $t3, 1
  882. /* 186596 0x8015BE50 A7A700CE */ sh $a3, 0xCE($sp)
  883. /* 186597 0x8015BE54 A7AC00DA */ sh $t4, 0xDA($sp)
  884. /* 186598 0x8015BE58 00360821 */ addu $at, $at, $s6
  885. /* 186599 0x8015BE5C A42F20BE */ sh $t7, %lo(D_000120BE)($at)
  886. /* 186600 0x8015BE60 87A900DA */ lh $t1, 0xDA($sp)
  887. /* 186601 0x8015BE64 3C010001 */ lui $at, %hi(D_000120C0)
  888. /* 186602 0x8015BE68 00360821 */ addu $at, $at, $s6
  889. /* 186603 0x8015BE6C A42920C0 */ sh $t1, %lo(D_000120C0)($at)
  890. /* 186604 0x8015BE70 3C010001 */ lui $at, %hi(D_000120C2)
  891. /* 186605 0x8015BE74 00360821 */ addu $at, $at, $s6
  892. /* 186606 0x8015BE78 24180002 */ li $t8, 2
  893. /* 186607 0x8015BE7C A43820C2 */ sh $t8, %lo(D_000120C2)($at)
  894. /* 186608 0x8015BE80 3C010001 */ lui $at, %hi(D_00012078)
  895. /* 186609 0x8015BE84 00360821 */ addu $at, $at, $s6
  896. /* 186610 0x8015BE88 AC202078 */ sw $zero, %lo(D_00012078)($at)
  897. /* 186611 0x8015BE8C 8FAD00BC */ lw $t5, 0xBC($sp)
  898. /* 186612 0x8015BE90 3C010001 */ lui $at, %hi(D_000120C4)
  899. /* 186613 0x8015BE94 00360821 */ addu $at, $at, $s6
  900. /* 186614 0x8015BE98 AC2D20C4 */ sw $t5, %lo(D_000120C4)($at)
  901. /* 186615 0x8015BE9C A7A000C8 */ sh $zero, 0xC8($sp)
  902. /* 186616 0x8015BEA0 A7A000CA */ sh $zero, 0xCA($sp)
  903. /* 186617 0x8015BEA4 A7A000CC */ sh $zero, 0xCC($sp)
  904. /* 186618 0x8015BEA8 00008825 */ move $s1, $zero
  905. .L_8015BEAC:
  906. /* 186619 0x8015BEAC 00114040 */ sll $t0, $s1, 1
  907. /* 186620 0x8015BEB0 02A87021 */ addu $t6, $s5, $t0
  908. /* 186621 0x8015BEB4 85C50000 */ lh $a1, 0x0($t6)
  909. /* 186622 0x8015BEB8 87AA00DA */ lh $t2, 0xDA($sp)
  910. /* 186623 0x8015BEBC 02802025 */ move $a0, $s4
  911. /* 186624 0x8015BEC0 24A50030 */ addiu $a1, $a1, 48
  912. /* 186625 0x8015BEC4 30A500FF */ andi $a1, $a1, 0xFF
  913. /* 186626 0x8015BEC8 03C03025 */ move $a2, $fp
  914. /* 186627 0x8015BECC 27A700A4 */ addiu $a3, $sp, 164
  915. /* 186628 0x8015BED0 0C056262 */ jal func_80158988
  916. /* 186629 0x8015BED4 AFAA0010 */ sw $t2, 0x10($sp)
  917. /* 186630 0x8015BED8 87B900DA */ lh $t9, 0xDA($sp)
  918. /* 186631 0x8015BEDC 26310001 */ addiu $s1, $s1, 1
  919. /* 186632 0x8015BEE0 00118C00 */ sll $s1, $s1, 16
  920. /* 186633 0x8015BEE4 00118C03 */ sra $s1, $s1, 16
  921. /* 186634 0x8015BEE8 2A210003 */ slti $at, $s1, 3
  922. /* 186635 0x8015BEEC 272B0001 */ addiu $t3, $t9, 1
  923. /* 186636 0x8015BEF0 1420FFEE */ bnez $at, .L_8015BEAC
  924. /* 186637 0x8015BEF4 A7AB00DA */ sh $t3, 0xDA($sp)
  925. /* 186638 0x8015BEF8 02802025 */ move $a0, $s4
  926. /* 186639 0x8015BEFC 27A500DA */ addiu $a1, $sp, 218
  927. /* 186640 0x8015BF00 03C03025 */ move $a2, $fp
  928. /* 186641 0x8015BF04 0C056301 */ jal func_80158C04
  929. /* 186642 0x8015BF08 27A700A4 */ addiu $a3, $sp, 164
  930. /* 186643 0x8015BF0C 100009F6 */ b .L_8015E6E8
  931. /* 186644 0x8015BF10 87AA00DA */ lh $t2, 0xDA($sp)
  932. /* 186645 0x8015BF14 240100CD */ li $at, 205
  933. .L_8015BF18:
  934. /* 186646 0x8015BF18 5461004D */ bnel $v1, $at, .L_8015C050
  935. /* 186647 0x8015BF1C 240100CE */ li $at, 206
  936. /* 186648 0x8015BF20 8FAC0070 */ lw $t4, 0x70($sp)
  937. /* 186649 0x8015BF24 A7A700CE */ sh $a3, 0xCE($sp)
  938. /* 186650 0x8015BF28 A7A000CA */ sh $zero, 0xCA($sp)
  939. /* 186651 0x8015BF2C A7A000C8 */ sh $zero, 0xC8($sp)
  940. /* 186652 0x8015BF30 8D8F2078 */ lw $t7, 0x2078($t4)
  941. /* 186653 0x8015BF34 00008825 */ move $s1, $zero
  942. /* 186654 0x8015BF38 00009025 */ move $s2, $zero
  943. /* 186655 0x8015BF3C 000F4C00 */ sll $t1, $t7, 16
  944. /* 186656 0x8015BF40 0009C403 */ sra $t8, $t1, 16
  945. /* 186657 0x8015BF44 2B010064 */ slti $at, $t8, 100
  946. /* 186658 0x8015BF48 1420000B */ bnez $at, .L_8015BF78
  947. /* 186659 0x8015BF4C A7AF00CC */ sh $t7, 0xCC($sp)
  948. .L_8015BF50:
  949. /* 186660 0x8015BF50 87AE00CC */ lh $t6, 0xCC($sp)
  950. /* 186661 0x8015BF54 87AD00C8 */ lh $t5, 0xC8($sp)
  951. /* 186662 0x8015BF58 25CAFF9C */ addiu $t2, $t6, -100
  952. /* 186663 0x8015BF5C 000ACC00 */ sll $t9, $t2, 16
  953. /* 186664 0x8015BF60 00195C03 */ sra $t3, $t9, 16
  954. /* 186665 0x8015BF64 29610064 */ slti $at, $t3, 100
  955. /* 186666 0x8015BF68 25A80001 */ addiu $t0, $t5, 1
  956. /* 186667 0x8015BF6C A7A800C8 */ sh $t0, 0xC8($sp)
  957. /* 186668 0x8015BF70 1020FFF7 */ beqz $at, .L_8015BF50
  958. /* 186669 0x8015BF74 A7AA00CC */ sh $t2, 0xCC($sp)
  959. .L_8015BF78:
  960. /* 186670 0x8015BF78 87AC00CC */ lh $t4, 0xCC($sp)
  961. /* 186671 0x8015BF7C 2981000A */ slti $at, $t4, 10
  962. /* 186672 0x8015BF80 5420000C */ bnezl $at, .L_8015BFB4
  963. /* 186673 0x8015BF84 24010002 */ li $at, 2
  964. .L_8015BF88:
  965. /* 186674 0x8015BF88 87B800CC */ lh $t8, 0xCC($sp)
  966. /* 186675 0x8015BF8C 87AF00CA */ lh $t7, 0xCA($sp)
  967. /* 186676 0x8015BF90 270DFFF6 */ addiu $t5, $t8, -10
  968. /* 186677 0x8015BF94 000D4400 */ sll $t0, $t5, 16
  969. /* 186678 0x8015BF98 00087403 */ sra $t6, $t0, 16
  970. /* 186679 0x8015BF9C 29C1000A */ slti $at, $t6, 10
  971. /* 186680 0x8015BFA0 25E90001 */ addiu $t1, $t7, 1
  972. /* 186681 0x8015BFA4 A7A900CA */ sh $t1, 0xCA($sp)
  973. /* 186682 0x8015BFA8 1020FFF7 */ beqz $at, .L_8015BF88
  974. /* 186683 0x8015BFAC A7AD00CC */ sh $t5, 0xCC($sp)
  975. /* 186684 0x8015BFB0 24010002 */ li $at, 2
  976. .L_8015BFB4:
  977. /* 186685 0x8015BFB4 12210005 */ beq $s1, $at, .L_8015BFCC
  978. /* 186686 0x8015BFB8 00115040 */ sll $t2, $s1, 1
  979. /* 186687 0x8015BFBC 02AAC821 */ addu $t9, $s5, $t2
  980. /* 186688 0x8015BFC0 872B0000 */ lh $t3, 0x0($t9)
  981. /* 186689 0x8015BFC4 11600002 */ beqz $t3, .L_8015BFD0
  982. /* 186690 0x8015BFC8 00000000 */ nop
  983. .L_8015BFCC:
  984. /* 186691 0x8015BFCC 24120001 */ li $s2, 1
  985. .L_8015BFD0:
  986. /* 186692 0x8015BFD0 1240000E */ beqz $s2, .L_8015C00C
  987. /* 186693 0x8015BFD4 00116040 */ sll $t4, $s1, 1
  988. /* 186694 0x8015BFD8 02AC7821 */ addu $t7, $s5, $t4
  989. /* 186695 0x8015BFDC 85E50000 */ lh $a1, 0x0($t7)
  990. /* 186696 0x8015BFE0 87A900DA */ lh $t1, 0xDA($sp)
  991. /* 186697 0x8015BFE4 02802025 */ move $a0, $s4
  992. /* 186698 0x8015BFE8 24A50030 */ addiu $a1, $a1, 48
  993. /* 186699 0x8015BFEC 30A500FF */ andi $a1, $a1, 0xFF
  994. /* 186700 0x8015BFF0 03C03025 */ move $a2, $fp
  995. /* 186701 0x8015BFF4 27A700A4 */ addiu $a3, $sp, 164
  996. /* 186702 0x8015BFF8 0C056262 */ jal func_80158988
  997. /* 186703 0x8015BFFC AFA90010 */ sw $t1, 0x10($sp)
  998. /* 186704 0x8015C000 87B800DA */ lh $t8, 0xDA($sp)
  999. /* 186705 0x8015C004 270D0001 */ addiu $t5, $t8, 1
  1000. /* 186706 0x8015C008 A7AD00DA */ sh $t5, 0xDA($sp)
  1001. .L_8015C00C:
  1002. /* 186707 0x8015C00C 26310001 */ addiu $s1, $s1, 1
  1003. /* 186708 0x8015C010 00118C00 */ sll $s1, $s1, 16
  1004. /* 186709 0x8015C014 00118C03 */ sra $s1, $s1, 16
  1005. /* 186710 0x8015C018 2A210003 */ slti $at, $s1, 3
  1006. /* 186711 0x8015C01C 5420FFE5 */ bnezl $at, .L_8015BFB4
  1007. /* 186712 0x8015C020 24010002 */ li $at, 2
  1008. /* 186713 0x8015C024 8FA80070 */ lw $t0, 0x70($sp)
  1009. /* 186714 0x8015C028 02802025 */ move $a0, $s4
  1010. /* 186715 0x8015C02C 27A500DA */ addiu $a1, $sp, 218
  1011. /* 186716 0x8015C030 8D0E2078 */ lw $t6, 0x2078($t0)
  1012. /* 186717 0x8015C034 03C03025 */ move $a2, $fp
  1013. /* 186718 0x8015C038 27A700A4 */ addiu $a3, $sp, 164
  1014. /* 186719 0x8015C03C 0C056366 */ jal func_80158D98
  1015. /* 186720 0x8015C040 AFAE0010 */ sw $t6, 0x10($sp)
  1016. /* 186721 0x8015C044 100009A8 */ b .L_8015E6E8
  1017. /* 186722 0x8015C048 87AA00DA */ lh $t2, 0xDA($sp)
  1018. /* 186723 0x8015C04C 240100CE */ li $at, 206
  1019. .L_8015C050:
  1020. /* 186724 0x8015C050 5461005A */ bnel $v1, $at, .L_8015C1BC
  1021. /* 186725 0x8015C054 240100CF */ li $at, 207
  1022. /* 186726 0x8015C058 8FAA0070 */ lw $t2, 0x70($sp)
  1023. /* 186727 0x8015C05C A7A700CE */ sh $a3, 0xCE($sp)
  1024. /* 186728 0x8015C060 A7A000CC */ sh $zero, 0xCC($sp)
  1025. /* 186729 0x8015C064 A7A000CA */ sh $zero, 0xCA($sp)
  1026. /* 186730 0x8015C068 A7A000C8 */ sh $zero, 0xC8($sp)
  1027. /* 186731 0x8015C06C 8D59207C */ lw $t9, 0x207C($t2)
  1028. /* 186732 0x8015C070 00008825 */ move $s1, $zero
  1029. /* 186733 0x8015C074 00009025 */ move $s2, $zero
  1030. /* 186734 0x8015C078 00195C00 */ sll $t3, $t9, 16
  1031. /* 186735 0x8015C07C 000B6403 */ sra $t4, $t3, 16
  1032. /* 186736 0x8015C080 298103E8 */ slti $at, $t4, 1000
  1033. /* 186737 0x8015C084 1420000D */ bnez $at, .L_8015C0BC
  1034. /* 186738 0x8015C088 A7B900CE */ sh $t9, 0xCE($sp)
  1035. /* 186739 0x8015C08C 03203825 */ move $a3, $t9
  1036. /* 186740 0x8015C090 00073C00 */ sll $a3, $a3, 16
  1037. /* 186741 0x8015C094 00073C03 */ sra $a3, $a3, 16
  1038. .L_8015C098:
  1039. /* 186742 0x8015C098 87AF00C8 */ lh $t7, 0xC8($sp)
  1040. /* 186743 0x8015C09C 24E7FC18 */ addiu $a3, $a3, -1000
  1041. /* 186744 0x8015C0A0 00073C00 */ sll $a3, $a3, 16
  1042. /* 186745 0x8015C0A4 00073C03 */ sra $a3, $a3, 16
  1043. /* 186746 0x8015C0A8 28E103E8 */ slti $at, $a3, 1000
  1044. /* 186747 0x8015C0AC 25E90001 */ addiu $t1, $t7, 1
  1045. /* 186748 0x8015C0B0 1020FFF9 */ beqz $at, .L_8015C098
  1046. /* 186749 0x8015C0B4 A7A900C8 */ sh $t1, 0xC8($sp)
  1047. /* 186750 0x8015C0B8 A7A700CE */ sh $a3, 0xCE($sp)
  1048. .L_8015C0BC:
  1049. /* 186751 0x8015C0BC 87A700CE */ lh $a3, 0xCE($sp)
  1050. /* 186752 0x8015C0C0 28E10064 */ slti $at, $a3, 100
  1051. /* 186753 0x8015C0C4 5420000A */ bnezl $at, .L_8015C0F0
  1052. /* 186754 0x8015C0C8 28E1000A */ slti $at, $a3, 10
  1053. .L_8015C0CC:
  1054. /* 186755 0x8015C0CC 87B800CA */ lh $t8, 0xCA($sp)
  1055. /* 186756 0x8015C0D0 24E7FF9C */ addiu $a3, $a3, -100
  1056. /* 186757 0x8015C0D4 00073C00 */ sll $a3, $a3, 16
  1057. /* 186758 0x8015C0D8 00073C03 */ sra $a3, $a3, 16
  1058. /* 186759 0x8015C0DC 28E10064 */ slti $at, $a3, 100
  1059. /* 186760 0x8015C0E0 270D0001 */ addiu $t5, $t8, 1
  1060. /* 186761 0x8015C0E4 1020FFF9 */ beqz $at, .L_8015C0CC
  1061. /* 186762 0x8015C0E8 A7AD00CA */ sh $t5, 0xCA($sp)
  1062. /* 186763 0x8015C0EC 28E1000A */ slti $at, $a3, 10
  1063. .L_8015C0F0:
  1064. /* 186764 0x8015C0F0 1420000A */ bnez $at, .L_8015C11C
  1065. /* 186765 0x8015C0F4 A7A700CE */ sh $a3, 0xCE($sp)
  1066. .L_8015C0F8:
  1067. /* 186766 0x8015C0F8 87A800CC */ lh $t0, 0xCC($sp)
  1068. /* 186767 0x8015C0FC 24E7FFF6 */ addiu $a3, $a3, -10
  1069. /* 186768 0x8015C100 00073C00 */ sll $a3, $a3, 16
  1070. /* 186769 0x8015C104 00073C03 */ sra $a3, $a3, 16
  1071. /* 186770 0x8015C108 28E1000A */ slti $at, $a3, 10
  1072. /* 186771 0x8015C10C 250E0001 */ addiu $t6, $t0, 1
  1073. /* 186772 0x8015C110 1020FFF9 */ beqz $at, .L_8015C0F8
  1074. /* 186773 0x8015C114 A7AE00CC */ sh $t6, 0xCC($sp)
  1075. /* 186774 0x8015C118 A7A700CE */ sh $a3, 0xCE($sp)
  1076. .L_8015C11C:
  1077. /* 186775 0x8015C11C 24010003 */ li $at, 3
  1078. .L_8015C120:
  1079. /* 186776 0x8015C120 12210005 */ beq $s1, $at, .L_8015C138
  1080. /* 186777 0x8015C124 00115040 */ sll $t2, $s1, 1
  1081. /* 186778 0x8015C128 02AA5821 */ addu $t3, $s5, $t2
  1082. /* 186779 0x8015C12C 856C0000 */ lh $t4, 0x0($t3)
  1083. /* 186780 0x8015C130 11800002 */ beqz $t4, .L_8015C13C
  1084. /* 186781 0x8015C134 00000000 */ nop
  1085. .L_8015C138:
  1086. /* 186782 0x8015C138 24120001 */ li $s2, 1
  1087. .L_8015C13C:
  1088. /* 186783 0x8015C13C 1240000E */ beqz $s2, .L_8015C178
  1089. /* 186784 0x8015C140 0011C840 */ sll $t9, $s1, 1
  1090. /* 186785 0x8015C144 02B97821 */ addu $t7, $s5, $t9
  1091. /* 186786 0x8015C148 85E50000 */ lh $a1, 0x0($t7)
  1092. /* 186787 0x8015C14C 87A900DA */ lh $t1, 0xDA($sp)
  1093. /* 186788 0x8015C150 02802025 */ move $a0, $s4
  1094. /* 186789 0x8015C154 24A50030 */ addiu $a1, $a1, 48
  1095. /* 186790 0x8015C158 30A500FF */ andi $a1, $a1, 0xFF
  1096. /* 186791 0x8015C15C 03C03025 */ move $a2, $fp
  1097. /* 186792 0x8015C160 27A700A4 */ addiu $a3, $sp, 164
  1098. /* 186793 0x8015C164 0C056262 */ jal func_80158988
  1099. /* 186794 0x8015C168 AFA90010 */ sw $t1, 0x10($sp)
  1100. /* 186795 0x8015C16C 87B800DA */ lh $t8, 0xDA($sp)
  1101. /* 186796 0x8015C170 270D0001 */ addiu $t5, $t8, 1
  1102. /* 186797 0x8015C174 A7AD00DA */ sh $t5, 0xDA($sp)
  1103. .L_8015C178:
  1104. /* 186798 0x8015C178 26310001 */ addiu $s1, $s1, 1
  1105. /* 186799 0x8015C17C 00118C00 */ sll $s1, $s1, 16
  1106. /* 186800 0x8015C180 00118C03 */ sra $s1, $s1, 16
  1107. /* 186801 0x8015C184 2A210004 */ slti $at, $s1, 4
  1108. /* 186802 0x8015C188 5420FFE5 */ bnezl $at, .L_8015C120
  1109. /* 186803 0x8015C18C 24010003 */ li $at, 3
  1110. /* 186804 0x8015C190 8FA80070 */ lw $t0, 0x70($sp)
  1111. /* 186805 0x8015C194 02802025 */ move $a0, $s4
  1112. /* 186806 0x8015C198 27A500DA */ addiu $a1, $sp, 218
  1113. /* 186807 0x8015C19C 8D0E207C */ lw $t6, 0x207C($t0)
  1114. /* 186808 0x8015C1A0 03C03025 */ move $a2, $fp
  1115. /* 186809 0x8015C1A4 27A700A4 */ addiu $a3, $sp, 164
  1116. /* 186810 0x8015C1A8 0C056366 */ jal func_80158D98
  1117. /* 186811 0x8015C1AC AFAE0010 */ sw $t6, 0x10($sp)
  1118. /* 186812 0x8015C1B0 1000094D */ b .L_8015E6E8
  1119. /* 186813 0x8015C1B4 87AA00DA */ lh $t2, 0xDA($sp)
  1120. /* 186814 0x8015C1B8 240100CF */ li $at, 207
  1121. .L_8015C1BC:
  1122. /* 186815 0x8015C1BC 5461000C */ bnel $v1, $at, .L_8015C1F0
  1123. /* 186816 0x8015C1C0 2401000C */ li $at, 12
  1124. /* 186817 0x8015C1C4 A7A700CE */ sh $a3, 0xCE($sp)
  1125. /* 186818 0x8015C1C8 27AA00DA */ addiu $t2, $sp, 218
  1126. /* 186819 0x8015C1CC AFAA0010 */ sw $t2, 0x10($sp)
  1127. /* 186820 0x8015C1D0 27A700A4 */ addiu $a3, $sp, 164
  1128. /* 186821 0x8015C1D4 02802025 */ move $a0, $s4
  1129. /* 186822 0x8015C1D8 324500FF */ andi $a1, $s2, 0xFF
  1130. /* 186823 0x8015C1DC 0C0563EC */ jal func_80158FB0
  1131. /* 186824 0x8015C1E0 03C03025 */ move $a2, $fp
  1132. /* 186825 0x8015C1E4 10000940 */ b .L_8015E6E8
  1133. /* 186826 0x8015C1E8 87AA00DA */ lh $t2, 0xDA($sp)
  1134. /* 186827 0x8015C1EC 2401000C */ li $at, 12
  1135. .L_8015C1F0:
  1136. /* 186828 0x8015C1F0 146100B9 */ bne $v1, $at, .L_8015C4D8
  1137. /* 186829 0x8015C1F4 3C02801F */ lui $v0, %hi(D_801EF670)
  1138. /* 186830 0x8015C1F8 2442F670 */ addiu $v0, %lo(D_801EF670)
  1139. /* 186831 0x8015C1FC 944548C8 */ lhu $a1, 0x48C8($v0)
  1140. /* 186832 0x8015C200 A7A700CE */ sh $a3, 0xCE($sp)
  1141. /* 186833 0x8015C204 A7A000CA */ sh $zero, 0xCA($sp)
  1142. /* 186834 0x8015C208 00455821 */ addu $t3, $v0, $a1
  1143. /* 186835 0x8015C20C 816C00D4 */ lb $t4, 0xD4($t3)
  1144. /* 186836 0x8015C210 A7A000C8 */ sh $zero, 0xC8($sp)
  1145. /* 186837 0x8015C214 00008825 */ move $s1, $zero
  1146. /* 186838 0x8015C218 A7AC00CC */ sh $t4, 0xCC($sp)
  1147. /* 186839 0x8015C21C 87B900CC */ lh $t9, 0xCC($sp)
  1148. /* 186840 0x8015C220 00009025 */ move $s2, $zero
  1149. /* 186841 0x8015C224 2B210064 */ slti $at, $t9, 100
  1150. /* 186842 0x8015C228 5420000C */ bnezl $at, .L_8015C25C
  1151. /* 186843 0x8015C22C 87AA00CC */ lh $t2, 0xCC($sp)
  1152. .L_8015C230:
  1153. /* 186844 0x8015C230 87B800CC */ lh $t8, 0xCC($sp)
  1154. /* 186845 0x8015C234 87AF00C8 */ lh $t7, 0xC8($sp)
  1155. /* 186846 0x8015C238 270DFF9C */ addiu $t5, $t8, -100
  1156. /* 186847 0x8015C23C 000D4400 */ sll $t0, $t5, 16
  1157. /* 186848 0x8015C240 00087403 */ sra $t6, $t0, 16
  1158. /* 186849 0x8015C244 29C10064 */ slti $at, $t6, 100
  1159. /* 186850 0x8015C248 25E90001 */ addiu $t1, $t7, 1
  1160. /* 186851 0x8015C24C A7A900C8 */ sh $t1, 0xC8($sp)
  1161. /* 186852 0x8015C250 1020FFF7 */ beqz $at, .L_8015C230
  1162. /* 186853 0x8015C254 A7AD00CC */ sh $t5, 0xCC($sp)
  1163. /* 186854 0x8015C258 87AA00CC */ lh $t2, 0xCC($sp)
  1164. .L_8015C25C:
  1165. /* 186855 0x8015C25C 2941000A */ slti $at, $t2, 10
  1166. /* 186856 0x8015C260 5420000C */ bnezl $at, .L_8015C294
  1167. /* 186857 0x8015C264 24010002 */ li $at, 2
  1168. .L_8015C268:
  1169. /* 186858 0x8015C268 87B900CC */ lh $t9, 0xCC($sp)
  1170. /* 186859 0x8015C26C 87AB00CA */ lh $t3, 0xCA($sp)
  1171. /* 186860 0x8015C270 272FFFF6 */ addiu $t7, $t9, -10
  1172. /* 186861 0x8015C274 000F4C00 */ sll $t1, $t7, 16
  1173. /* 186862 0x8015C278 0009C403 */ sra $t8, $t1, 16
  1174. /* 186863 0x8015C27C 2B01000A */ slti $at, $t8, 10
  1175. /* 186864 0x8015C280 256C0001 */ addiu $t4, $t3, 1
  1176. /* 186865 0x8015C284 A7AC00CA */ sh $t4, 0xCA($sp)
  1177. /* 186866 0x8015C288 1020FFF7 */ beqz $at, .L_8015C268
  1178. /* 186867 0x8015C28C A7AF00CC */ sh $t7, 0xCC($sp)
  1179. /* 186868 0x8015C290 24010002 */ li $at, 2
  1180. .L_8015C294:
  1181. /* 186869 0x8015C294 12210005 */ beq $s1, $at, .L_8015C2AC
  1182. /* 186870 0x8015C298 00116840 */ sll $t5, $s1, 1
  1183. /* 186871 0x8015C29C 02AD4021 */ addu $t0, $s5, $t5
  1184. /* 186872 0x8015C2A0 850E0000 */ lh $t6, 0x0($t0)
  1185. /* 186873 0x8015C2A4 11C00002 */ beqz $t6, .L_8015C2B0
  1186. /* 186874 0x8015C2A8 00000000 */ nop
  1187. .L_8015C2AC:
  1188. /* 186875 0x8015C2AC 24120001 */ li $s2, 1
  1189. .L_8015C2B0:
  1190. /* 186876 0x8015C2B0 1240000E */ beqz $s2, .L_8015C2EC
  1191. /* 186877 0x8015C2B4 00115040 */ sll $t2, $s1, 1
  1192. /* 186878 0x8015C2B8 02AA5821 */ addu $t3, $s5, $t2
  1193. /* 186879 0x8015C2BC 85650000 */ lh $a1, 0x0($t3)
  1194. /* 186880 0x8015C2C0 87AC00DA */ lh $t4, 0xDA($sp)
  1195. /* 186881 0x8015C2C4 02802025 */ move $a0, $s4
  1196. /* 186882 0x8015C2C8 24A50030 */ addiu $a1, $a1, 48
  1197. /* 186883 0x8015C2CC 30A500FF */ andi $a1, $a1, 0xFF
  1198. /* 186884 0x8015C2D0 03C03025 */ move $a2, $fp
  1199. /* 186885 0x8015C2D4 27A700A4 */ addiu $a3, $sp, 164
  1200. /* 186886 0x8015C2D8 0C056262 */ jal func_80158988
  1201. /* 186887 0x8015C2DC AFAC0010 */ sw $t4, 0x10($sp)
  1202. /* 186888 0x8015C2E0 87B900DA */ lh $t9, 0xDA($sp)
  1203. /* 186889 0x8015C2E4 272F0001 */ addiu $t7, $t9, 1
  1204. /* 186890 0x8015C2E8 A7AF00DA */ sh $t7, 0xDA($sp)
  1205. .L_8015C2EC:
  1206. /* 186891 0x8015C2EC 26310001 */ addiu $s1, $s1, 1
  1207. /* 186892 0x8015C2F0 00118C00 */ sll $s1, $s1, 16
  1208. /* 186893 0x8015C2F4 00118C03 */ sra $s1, $s1, 16
  1209. /* 186894 0x8015C2F8 2A210003 */ slti $at, $s1, 3
  1210. /* 186895 0x8015C2FC 5420FFE5 */ bnezl $at, .L_8015C294
  1211. /* 186896 0x8015C300 24010002 */ li $at, 2
  1212. /* 186897 0x8015C304 3C02801F */ lui $v0, %hi(D_801F3F38)
  1213. /* 186898 0x8015C308 94423F38 */ lhu $v0, %lo(D_801F3F38)($v0)
  1214. /* 186899 0x8015C30C 3C09801F */ lui $t1, %hi(D_801EF670)
  1215. /* 186900 0x8015C310 2529F670 */ addiu $t1, %lo(D_801EF670)
  1216. /* 186901 0x8015C314 3045FFFF */ andi $a1, $v0, 0xFFFF
  1217. /* 186902 0x8015C318 00A9C021 */ addu $t8, $a1, $t1
  1218. /* 186903 0x8015C31C 830D00D4 */ lb $t5, 0xD4($t8)
  1219. /* 186904 0x8015C320 24010001 */ li $at, 1
  1220. /* 186905 0x8015C324 11A10006 */ beq $t5, $at, .L_8015C340
  1221. /* 186906 0x8015C328 3043FFFF */ andi $v1, $v0, 0xFFFF
  1222. /* 186907 0x8015C32C 00694021 */ addu $t0, $v1, $t1
  1223. /* 186908 0x8015C330 810E00D4 */ lb $t6, 0xD4($t0)
  1224. /* 186909 0x8015C334 24010015 */ li $at, 21
  1225. /* 186910 0x8015C338 15C10015 */ bne $t6, $at, .L_8015C390
  1226. /* 186911 0x8015C33C 00000000 */ nop
  1227. .L_8015C340:
  1228. /* 186912 0x8015C340 87AA00DA */ lh $t2, 0xDA($sp)
  1229. /* 186913 0x8015C344 02802025 */ move $a0, $s4
  1230. /* 186914 0x8015C348 24050073 */ li $a1, 115
  1231. /* 186915 0x8015C34C 03C03025 */ move $a2, $fp
  1232. /* 186916 0x8015C350 27A700A4 */ addiu $a3, $sp, 164
  1233. /* 186917 0x8015C354 0C056262 */ jal func_80158988
  1234. /* 186918 0x8015C358 AFAA0010 */ sw $t2, 0x10($sp)
  1235. /* 186919 0x8015C35C 87AB00DA */ lh $t3, 0xDA($sp)
  1236. /* 186920 0x8015C360 02802025 */ move $a0, $s4
  1237. /* 186921 0x8015C364 24050074 */ li $a1, 116
  1238. /* 186922 0x8015C368 256C0001 */ addiu $t4, $t3, 1
  1239. /* 186923 0x8015C36C 000CCC00 */ sll $t9, $t4, 16
  1240. /* 186924 0x8015C370 00197C03 */ sra $t7, $t9, 16
  1241. /* 186925 0x8015C374 A7AC00DA */ sh $t4, 0xDA($sp)
  1242. /* 186926 0x8015C378 AFAF0010 */ sw $t7, 0x10($sp)
  1243. /* 186927 0x8015C37C 03C03025 */ move $a2, $fp
  1244. /* 186928 0x8015C380 0C056262 */ jal func_80158988
  1245. /* 186929 0x8015C384 27A700A4 */ addiu $a3, $sp, 164
  1246. /* 186930 0x8015C388 100008D7 */ b .L_8015E6E8
  1247. /* 186931 0x8015C38C 87AA00DA */ lh $t2, 0xDA($sp)
  1248. .L_8015C390:
  1249. /* 186932 0x8015C390 3C18801F */ lui $t8, %hi(D_801EF670)
  1250. /* 186933 0x8015C394 2718F670 */ addiu $t8, %lo(D_801EF670)
  1251. /* 186934 0x8015C398 00B86821 */ addu $t5, $a1, $t8
  1252. /* 186935 0x8015C39C 81A900D4 */ lb $t1, 0xD4($t5)
  1253. /* 186936 0x8015C3A0 24010002 */ li $at, 2
  1254. /* 186937 0x8015C3A4 11210005 */ beq $t1, $at, .L_8015C3BC
  1255. /* 186938 0x8015C3A8 00784021 */ addu $t0, $v1, $t8
  1256. /* 186939 0x8015C3AC 810E00D4 */ lb $t6, 0xD4($t0)
  1257. /* 186940 0x8015C3B0 24010016 */ li $at, 22
  1258. /* 186941 0x8015C3B4 15C10015 */ bne $t6, $at, .L_8015C40C
  1259. /* 186942 0x8015C3B8 00000000 */ nop
  1260. .L_8015C3BC:
  1261. /* 186943 0x8015C3BC 87AA00DA */ lh $t2, 0xDA($sp)
  1262. /* 186944 0x8015C3C0 02802025 */ move $a0, $s4
  1263. /* 186945 0x8015C3C4 2405006E */ li $a1, 110
  1264. /* 186946 0x8015C3C8 03C03025 */ move $a2, $fp
  1265. /* 186947 0x8015C3CC 27A700A4 */ addiu $a3, $sp, 164
  1266. /* 186948 0x8015C3D0 0C056262 */ jal func_80158988
  1267. /* 186949 0x8015C3D4 AFAA0010 */ sw $t2, 0x10($sp)
  1268. /* 186950 0x8015C3D8 87AB00DA */ lh $t3, 0xDA($sp)
  1269. /* 186951 0x8015C3DC 02802025 */ move $a0, $s4
  1270. /* 186952 0x8015C3E0 24050064 */ li $a1, 100
  1271. /* 186953 0x8015C3E4 256C0001 */ addiu $t4, $t3, 1
  1272. /* 186954 0x8015C3E8 000CCC00 */ sll $t9, $t4, 16
  1273. /* 186955 0x8015C3EC 00197C03 */ sra $t7, $t9, 16
  1274. /* 186956 0x8015C3F0 A7AC00DA */ sh $t4, 0xDA($sp)
  1275. /* 186957 0x8015C3F4 AFAF0010 */ sw $t7, 0x10($sp)
  1276. /* 186958 0x8015C3F8 03C03025 */ move $a2, $fp
  1277. /* 186959 0x8015C3FC 0C056262 */ jal func_80158988
  1278. /* 186960 0x8015C400 27A700A4 */ addiu $a3, $sp, 164
  1279. /* 186961 0x8015C404 100008B8 */ b .L_8015E6E8
  1280. /* 186962 0x8015C408 87AA00DA */ lh $t2, 0xDA($sp)
  1281. .L_8015C40C:
  1282. /* 186963 0x8015C40C 3C0D801F */ lui $t5, %hi(D_801EF670)
  1283. /* 186964 0x8015C410 25ADF670 */ addiu $t5, %lo(D_801EF670)
  1284. /* 186965 0x8015C414 00AD4821 */ addu $t1, $a1, $t5
  1285. /* 186966 0x8015C418 813800D4 */ lb $t8, 0xD4($t1)
  1286. /* 186967 0x8015C41C 24010003 */ li $at, 3
  1287. /* 186968 0x8015C420 13010005 */ beq $t8, $at, .L_8015C438
  1288. /* 186969 0x8015C424 006D4021 */ addu $t0, $v1, $t5
  1289. /* 186970 0x8015C428 810E00D4 */ lb $t6, 0xD4($t0)
  1290. /* 186971 0x8015C42C 24010017 */ li $at, 23
  1291. /* 186972 0x8015C430 55C10016 */ bnel $t6, $at, .L_8015C48C
  1292. /* 186973 0x8015C434 87A900DA */ lh $t1, 0xDA($sp)
  1293. .L_8015C438:
  1294. /* 186974 0x8015C438 87AA00DA */ lh $t2, 0xDA($sp)
  1295. /* 186975 0x8015C43C 02802025 */ move $a0, $s4
  1296. /* 186976 0x8015C440 24050072 */ li $a1, 114
  1297. /* 186977 0x8015C444 03C03025 */ move $a2, $fp
  1298. /* 186978 0x8015C448 27A700A4 */ addiu $a3, $sp, 164
  1299. /* 186979 0x8015C44C 0C056262 */ jal func_80158988
  1300. /* 186980 0x8015C450 AFAA0010 */ sw $t2, 0x10($sp)
  1301. /* 186981 0x8015C454 87AB00DA */ lh $t3, 0xDA($sp)
  1302. /* 186982 0x8015C458 02802025 */ move $a0, $s4
  1303. /* 186983 0x8015C45C 24050064 */ li $a1, 100
  1304. /* 186984 0x8015C460 256C0001 */ addiu $t4, $t3, 1
  1305. /* 186985 0x8015C464 000CCC00 */ sll $t9, $t4, 16
  1306. /* 186986 0x8015C468 00197C03 */ sra $t7, $t9, 16
  1307. /* 186987 0x8015C46C A7AC00DA */ sh $t4, 0xDA($sp)
  1308. /* 186988 0x8015C470 AFAF0010 */ sw $t7, 0x10($sp)
  1309. /* 186989 0x8015C474 03C03025 */ move $a2, $fp
  1310. /* 186990 0x8015C478 0C056262 */ jal func_80158988
  1311. /* 186991 0x8015C47C 27A700A4 */ addiu $a3, $sp, 164
  1312. /* 186992 0x8015C480 10000899 */ b .L_8015E6E8
  1313. /* 186993 0x8015C484 87AA00DA */ lh $t2, 0xDA($sp)
  1314. /* 186994 0x8015C488 87A900DA */ lh $t1, 0xDA($sp)
  1315. .L_8015C48C:
  1316. /* 186995 0x8015C48C 02802025 */ move $a0, $s4
  1317. /* 186996 0x8015C490 24050074 */ li $a1, 116
  1318. /* 186997 0x8015C494 03C03025 */ move $a2, $fp
  1319. /* 186998 0x8015C498 27A700A4 */ addiu $a3, $sp, 164
  1320. /* 186999 0x8015C49C 0C056262 */ jal func_80158988
  1321. /* 187000 0x8015C4A0 AFA90010 */ sw $t1, 0x10($sp)
  1322. /* 187001 0x8015C4A4 87B800DA */ lh $t8, 0xDA($sp)
  1323. /* 187002 0x8015C4A8 02802025 */ move $a0, $s4
  1324. /* 187003 0x8015C4AC 24050068 */ li $a1, 104
  1325. /* 187004 0x8015C4B0 270D0001 */ addiu $t5, $t8, 1
  1326. /* 187005 0x8015C4B4 000D4400 */ sll $t0, $t5, 16
  1327. /* 187006 0x8015C4B8 00087403 */ sra $t6, $t0, 16
  1328. /* 187007 0x8015C4BC A7AD00DA */ sh $t5, 0xDA($sp)
  1329. /* 187008 0x8015C4C0 AFAE0010 */ sw $t6, 0x10($sp)
  1330. /* 187009 0x8015C4C4 03C03025 */ move $a2, $fp
  1331. /* 187010 0x8015C4C8 0C056262 */ jal func_80158988
  1332. /* 187011 0x8015C4CC 27A700A4 */ addiu $a3, $sp, 164
  1333. /* 187012 0x8015C4D0 10000885 */ b .L_8015E6E8
  1334. /* 187013 0x8015C4D4 87AA00DA */ lh $t2, 0xDA($sp)
  1335. .L_8015C4D8:
  1336. /* 187014 0x8015C4D8 2401000D */ li $at, 13
  1337. /* 187015 0x8015C4DC 546100B1 */ bnel $v1, $at, .L_8015C7A4
  1338. /* 187016 0x8015C4E0 2401000E */ li $at, 14
  1339. /* 187017 0x8015C4E4 A7A700CE */ sh $a3, 0xCE($sp)
  1340. /* 187018 0x8015C4E8 A7A000CA */ sh $zero, 0xCA($sp)
  1341. /* 187019 0x8015C4EC A7A000C8 */ sh $zero, 0xC8($sp)
  1342. /* 187020 0x8015C4F0 868400A4 */ lh $a0, 0xA4($s4)
  1343. /* 187021 0x8015C4F4 00008825 */ move $s1, $zero
  1344. /* 187022 0x8015C4F8 0C04BC8B */ jal func_8012F22C
  1345. /* 187023 0x8015C4FC 00009025 */ move $s2, $zero
  1346. /* 187024 0x8015C500 A7A200CC */ sh $v0, 0xCC($sp)
  1347. /* 187025 0x8015C504 87AA00CC */ lh $t2, 0xCC($sp)
  1348. /* 187026 0x8015C508 29410064 */ slti $at, $t2, 100
  1349. /* 187027 0x8015C50C 5420000C */ bnezl $at, .L_8015C540
  1350. /* 187028 0x8015C510 87AD00CC */ lh $t5, 0xCC($sp)
  1351. .L_8015C514:
  1352. /* 187029 0x8015C514 87B900CC */ lh $t9, 0xCC($sp)
  1353. /* 187030 0x8015C518 87AB00C8 */ lh $t3, 0xC8($sp)
  1354. /* 187031 0x8015C51C 272FFF9C */ addiu $t7, $t9, -100
  1355. /* 187032 0x8015C520 000F4C00 */ sll $t1, $t7, 16
  1356. /* 187033 0x8015C524 0009C403 */ sra $t8, $t1, 16
  1357. /* 187034 0x8015C528 2B010064 */ slti $at, $t8, 100
  1358. /* 187035 0x8015C52C 256C0001 */ addiu $t4, $t3, 1
  1359. /* 187036 0x8015C530 A7AC00C8 */ sh $t4, 0xC8($sp)
  1360. /* 187037 0x8015C534 1020FFF7 */ beqz $at, .L_8015C514
  1361. /* 187038 0x8015C538 A7AF00CC */ sh $t7, 0xCC($sp)
  1362. /* 187039 0x8015C53C 87AD00CC */ lh $t5, 0xCC($sp)
  1363. .L_8015C540:
  1364. /* 187040 0x8015C540 29A1000A */ slti $at, $t5, 10
  1365. /* 187041 0x8015C544 5420000C */ bnezl $at, .L_8015C578
  1366. /* 187042 0x8015C548 24010002 */ li $at, 2
  1367. .L_8015C54C:
  1368. /* 187043 0x8015C54C 87AA00CC */ lh $t2, 0xCC($sp)
  1369. /* 187044 0x8015C550 87A800CA */ lh $t0, 0xCA($sp)
  1370. /* 187045 0x8015C554 254BFFF6 */ addiu $t3, $t2, -10
  1371. /* 187046 0x8015C558 000B6400 */ sll $t4, $t3, 16
  1372. /* 187047 0x8015C55C 000CCC03 */ sra $t9, $t4, 16
  1373. /* 187048 0x8015C560 2B21000A */ slti $at, $t9, 10
  1374. /* 187049 0x8015C564 250E0001 */ addiu $t6, $t0, 1
  1375. /* 187050 0x8015C568 A7AE00CA */ sh $t6, 0xCA($sp)
  1376. /* 187051 0x8015C56C 1020FFF7 */ beqz $at, .L_8015C54C
  1377. /* 187052 0x8015C570 A7AB00CC */ sh $t3, 0xCC($sp)
  1378. /* 187053 0x8015C574 24010002 */ li $at, 2
  1379. .L_8015C578:
  1380. /* 187054 0x8015C578 12210005 */ beq $s1, $at, .L_8015C590
  1381. /* 187055 0x8015C57C 00117840 */ sll $t7, $s1, 1
  1382. /* 187056 0x8015C580 02AF4821 */ addu $t1, $s5, $t7
  1383. /* 187057 0x8015C584 85380000 */ lh $t8, 0x0($t1)
  1384. /* 187058 0x8015C588 13000002 */ beqz $t8, .L_8015C594
  1385. /* 187059 0x8015C58C 00000000 */ nop
  1386. .L_8015C590:
  1387. /* 187060 0x8015C590 24120001 */ li $s2, 1
  1388. .L_8015C594:
  1389. /* 187061 0x8015C594 1240000E */ beqz $s2, .L_8015C5D0
  1390. /* 187062 0x8015C598 00116840 */ sll $t5, $s1, 1
  1391. /* 187063 0x8015C59C 02AD4021 */ addu $t0, $s5, $t5
  1392. /* 187064 0x8015C5A0 85050000 */ lh $a1, 0x0($t0)
  1393. /* 187065 0x8015C5A4 87AE00DA */ lh $t6, 0xDA($sp)
  1394. /* 187066 0x8015C5A8 02802025 */ move $a0, $s4
  1395. /* 187067 0x8015C5AC 24A50030 */ addiu $a1, $a1, 48
  1396. /* 187068 0x8015C5B0 30A500FF */ andi $a1, $a1, 0xFF
  1397. /* 187069 0x8015C5B4 03C03025 */ move $a2, $fp
  1398. /* 187070 0x8015C5B8 27A700A4 */ addiu $a3, $sp, 164
  1399. /* 187071 0x8015C5BC 0C056262 */ jal func_80158988
  1400. /* 187072 0x8015C5C0 AFAE0010 */ sw $t6, 0x10($sp)
  1401. /* 187073 0x8015C5C4 87AA00DA */ lh $t2, 0xDA($sp)
  1402. /* 187074 0x8015C5C8 254B0001 */ addiu $t3, $t2, 1
  1403. /* 187075 0x8015C5CC A7AB00DA */ sh $t3, 0xDA($sp)
  1404. .L_8015C5D0:
  1405. /* 187076 0x8015C5D0 26310001 */ addiu $s1, $s1, 1
  1406. /* 187077 0x8015C5D4 00118C00 */ sll $s1, $s1, 16
  1407. /* 187078 0x8015C5D8 00118C03 */ sra $s1, $s1, 16
  1408. /* 187079 0x8015C5DC 2A210003 */ slti $at, $s1, 3
  1409. /* 187080 0x8015C5E0 5420FFE5 */ bnezl $at, .L_8015C578
  1410. /* 187081 0x8015C5E4 24010002 */ li $at, 2
  1411. /* 187082 0x8015C5E8 0C04BC8B */ jal func_8012F22C
  1412. /* 187083 0x8015C5EC 868400A4 */ lh $a0, 0xA4($s4)
  1413. /* 187084 0x8015C5F0 24010001 */ li $at, 1
  1414. /* 187085 0x8015C5F4 50410007 */ beql $v0, $at, .L_8015C614
  1415. /* 187086 0x8015C5F8 87AC00DA */ lh $t4, 0xDA($sp)
  1416. /* 187087 0x8015C5FC 0C04BC8B */ jal func_8012F22C
  1417. /* 187088 0x8015C600 868400A4 */ lh $a0, 0xA4($s4)
  1418. /* 187089 0x8015C604 24010015 */ li $at, 21
  1419. /* 187090 0x8015C608 14410015 */ bne $v0, $at, .L_8015C660
  1420. /* 187091 0x8015C60C 00000000 */ nop
  1421. /* 187092 0x8015C610 87AC00DA */ lh $t4, 0xDA($sp)
  1422. .L_8015C614:
  1423. /* 187093 0x8015C614 02802025 */ move $a0, $s4
  1424. /* 187094 0x8015C618 24050073 */ li $a1, 115
  1425. /* 187095 0x8015C61C 03C03025 */ move $a2, $fp
  1426. /* 187096 0x8015C620 27A700A4 */ addiu $a3, $sp, 164
  1427. /* 187097 0x8015C624 0C056262 */ jal func_80158988
  1428. /* 187098 0x8015C628 AFAC0010 */ sw $t4, 0x10($sp)
  1429. /* 187099 0x8015C62C 87B900DA */ lh $t9, 0xDA($sp)
  1430. /* 187100 0x8015C630 02802025 */ move $a0, $s4
  1431. /* 187101 0x8015C634 24050074 */ li $a1, 116
  1432. /* 187102 0x8015C638 272F0001 */ addiu $t7, $t9, 1
  1433. /* 187103 0x8015C63C 000F4C00 */ sll $t1, $t7, 16
  1434. /* 187104 0x8015C640 0009C403 */ sra $t8, $t1, 16
  1435. /* 187105 0x8015C644 A7AF00DA */ sh $t7, 0xDA($sp)
  1436. /* 187106 0x8015C648 AFB80010 */ sw $t8, 0x10($sp)
  1437. /* 187107 0x8015C64C 03C03025 */ move $a2, $fp
  1438. /* 187108 0x8015C650 0C056262 */ jal func_80158988
  1439. /* 187109 0x8015C654 27A700A4 */ addiu $a3, $sp, 164
  1440. /* 187110 0x8015C658 10000823 */ b .L_8015E6E8
  1441. /* 187111 0x8015C65C 87AA00DA */ lh $t2, 0xDA($sp)
  1442. .L_8015C660:
  1443. /* 187112 0x8015C660 0C04BC8B */ jal func_8012F22C
  1444. /* 187113 0x8015C664 868400A4 */ lh $a0, 0xA4($s4)
  1445. /* 187114 0x8015C668 24010002 */ li $at, 2
  1446. /* 187115 0x8015C66C 50410007 */ beql $v0, $at, .L_8015C68C
  1447. /* 187116 0x8015C670 87AD00DA */ lh $t5, 0xDA($sp)
  1448. /* 187117 0x8015C674 0C04BC8B */ jal func_8012F22C
  1449. /* 187118 0x8015C678 868400A4 */ lh $a0, 0xA4($s4)
  1450. /* 187119 0x8015C67C 24010016 */ li $at, 22
  1451. /* 187120 0x8015C680 14410015 */ bne $v0, $at, .L_8015C6D8
  1452. /* 187121 0x8015C684 00000000 */ nop
  1453. /* 187122 0x8015C688 87AD00DA */ lh $t5, 0xDA($sp)
  1454. .L_8015C68C:
  1455. /* 187123 0x8015C68C 02802025 */ move $a0, $s4
  1456. /* 187124 0x8015C690 2405006E */ li $a1, 110
  1457. /* 187125 0x8015C694 03C03025 */ move $a2, $fp
  1458. /* 187126 0x8015C698 27A700A4 */ addiu $a3, $sp, 164
  1459. /* 187127 0x8015C69C 0C056262 */ jal func_80158988
  1460. /* 187128 0x8015C6A0 AFAD0010 */ sw $t5, 0x10($sp)
  1461. /* 187129 0x8015C6A4 87A800DA */ lh $t0, 0xDA($sp)
  1462. /* 187130 0x8015C6A8 02802025 */ move $a0, $s4
  1463. /* 187131 0x8015C6AC 24050064 */ li $a1, 100
  1464. /* 187132 0x8015C6B0 250E0001 */ addiu $t6, $t0, 1
  1465. /* 187133 0x8015C6B4 000E5400 */ sll $t2, $t6, 16
  1466. /* 187134 0x8015C6B8 000A5C03 */ sra $t3, $t2, 16
  1467. /* 187135 0x8015C6BC A7AE00DA */ sh $t6, 0xDA($sp)
  1468. /* 187136 0x8015C6C0 AFAB0010 */ sw $t3, 0x10($sp)
  1469. /* 187137 0x8015C6C4 03C03025 */ move $a2, $fp
  1470. /* 187138 0x8015C6C8 0C056262 */ jal func_80158988
  1471. /* 187139 0x8015C6CC 27A700A4 */ addiu $a3, $sp, 164
  1472. /* 187140 0x8015C6D0 10000805 */ b .L_8015E6E8
  1473. /* 187141 0x8015C6D4 87AA00DA */ lh $t2, 0xDA($sp)
  1474. .L_8015C6D8:
  1475. /* 187142 0x8015C6D8 0C04BC8B */ jal func_8012F22C
  1476. /* 187143 0x8015C6DC 868400A4 */ lh $a0, 0xA4($s4)
  1477. /* 187144 0x8015C6E0 24010003 */ li $at, 3
  1478. /* 187145 0x8015C6E4 50410007 */ beql $v0, $at, .L_8015C704
  1479. /* 187146 0x8015C6E8 87AC00DA */ lh $t4, 0xDA($sp)
  1480. /* 187147 0x8015C6EC 0C04BC8B */ jal func_8012F22C
  1481. /* 187148 0x8015C6F0 868400A4 */ lh $a0, 0xA4($s4)
  1482. /* 187149 0x8015C6F4 24010017 */ li $at, 23
  1483. /* 187150 0x8015C6F8 54410016 */ bnel $v0, $at, .L_8015C754
  1484. /* 187151 0x8015C6FC 87AD00DA */ lh $t5, 0xDA($sp)
  1485. /* 187152 0x8015C700 87AC00DA */ lh $t4, 0xDA($sp)
  1486. .L_8015C704:
  1487. /* 187153 0x8015C704 02802025 */ move $a0, $s4
  1488. /* 187154 0x8015C708 24050072 */ li $a1, 114
  1489. /* 187155 0x8015C70C 03C03025 */ move $a2, $fp
  1490. /* 187156 0x8015C710 27A700A4 */ addiu $a3, $sp, 164
  1491. /* 187157 0x8015C714 0C056262 */ jal func_80158988
  1492. /* 187158 0x8015C718 AFAC0010 */ sw $t4, 0x10($sp)
  1493. /* 187159 0x8015C71C 87B900DA */ lh $t9, 0xDA($sp)
  1494. /* 187160 0x8015C720 02802025 */ move $a0, $s4
  1495. /* 187161 0x8015C724 24050064 */ li $a1, 100
  1496. /* 187162 0x8015C728 272F0001 */ addiu $t7, $t9, 1
  1497. /* 187163 0x8015C72C 000F4C00 */ sll $t1, $t7, 16
  1498. /* 187164 0x8015C730 0009C403 */ sra $t8, $t1, 16
  1499. /* 187165 0x8015C734 A7AF00DA */ sh $t7, 0xDA($sp)
  1500. /* 187166 0x8015C738 AFB80010 */ sw $t8, 0x10($sp)
  1501. /* 187167 0x8015C73C 03C03025 */ move $a2, $fp
  1502. /* 187168 0x8015C740 0C056262 */ jal func_80158988
  1503. /* 187169 0x8015C744 27A700A4 */ addiu $a3, $sp, 164
  1504. /* 187170 0x8015C748 100007E7 */ b .L_8015E6E8
  1505. /* 187171 0x8015C74C 87AA00DA */ lh $t2, 0xDA($sp)
  1506. /* 187172 0x8015C750 87AD00DA */ lh $t5, 0xDA($sp)
  1507. .L_8015C754:
  1508. /* 187173 0x8015C754 02802025 */ move $a0, $s4
  1509. /* 187174 0x8015C758 24050074 */ li $a1, 116
  1510. /* 187175 0x8015C75C 03C03025 */ move $a2, $fp
  1511. /* 187176 0x8015C760 27A700A4 */ addiu $a3, $sp, 164
  1512. /* 187177 0x8015C764 0C056262 */ jal func_80158988
  1513. /* 187178 0x8015C768 AFAD0010 */ sw $t5, 0x10($sp)
  1514. /* 187179 0x8015C76C 87A800DA */ lh $t0, 0xDA($sp)
  1515. /* 187180 0x8015C770 02802025 */ move $a0, $s4
  1516. /* 187181 0x8015C774 24050068 */ li $a1, 104
  1517. /* 187182 0x8015C778 250E0001 */ addiu $t6, $t0, 1
  1518. /* 187183 0x8015C77C 000E5400 */ sll $t2, $t6, 16
  1519. /* 187184 0x8015C780 000A5C03 */ sra $t3, $t2, 16
  1520. /* 187185 0x8015C784 A7AE00DA */ sh $t6, 0xDA($sp)
  1521. /* 187186 0x8015C788 AFAB0010 */ sw $t3, 0x10($sp)
  1522. /* 187187 0x8015C78C 03C03025 */ move $a2, $fp
  1523. /* 187188 0x8015C790 0C056262 */ jal func_80158988
  1524. /* 187189 0x8015C794 27A700A4 */ addiu $a3, $sp, 164
  1525. /* 187190 0x8015C798 100007D3 */ b .L_8015E6E8
  1526. /* 187191 0x8015C79C 87AA00DA */ lh $t2, 0xDA($sp)
  1527. /* 187192 0x8015C7A0 2401000E */ li $at, 14
  1528. .L_8015C7A4:
  1529. /* 187193 0x8015C7A4 14610033 */ bne $v1, $at, .L_8015C874
  1530. /* 187194 0x8015C7A8 3C0C801F */ lui $t4, %hi(D_801F35AA)
  1531. /* 187195 0x8015C7AC 958C35AA */ lhu $t4, %lo(D_801F35AA)($t4)
  1532. /* 187196 0x8015C7B0 A7A000C8 */ sh $zero, 0xC8($sp)
  1533. /* 187197 0x8015C7B4 00008825 */ move $s1, $zero
  1534. /* 187198 0x8015C7B8 000CCC00 */ sll $t9, $t4, 16
  1535. /* 187199 0x8015C7BC 00197C03 */ sra $t7, $t9, 16
  1536. /* 187200 0x8015C7C0 29E1000A */ slti $at, $t7, 10
  1537. /* 187201 0x8015C7C4 1420000B */ bnez $at, .L_8015C7F4
  1538. /* 187202 0x8015C7C8 A7AC00CA */ sh $t4, 0xCA($sp)
  1539. .L_8015C7CC:
  1540. /* 187203 0x8015C7CC 87AD00CA */ lh $t5, 0xCA($sp)
  1541. /* 187204 0x8015C7D0 87A900C8 */ lh $t1, 0xC8($sp)
  1542. /* 187205 0x8015C7D4 25A8FFF6 */ addiu $t0, $t5, -10
  1543. /* 187206 0x8015C7D8 00087400 */ sll $t6, $t0, 16
  1544. /* 187207 0x8015C7DC 000E5403 */ sra $t2, $t6, 16
  1545. /* 187208 0x8015C7E0 2941000A */ slti $at, $t2, 10
  1546. /* 187209 0x8015C7E4 25380001 */ addiu $t8, $t1, 1
  1547. /* 187210 0x8015C7E8 A7B800C8 */ sh $t8, 0xC8($sp)
  1548. /* 187211 0x8015C7EC 1020FFF7 */ beqz $at, .L_8015C7CC
  1549. /* 187212 0x8015C7F0 A7A800CA */ sh $t0, 0xCA($sp)
  1550. .L_8015C7F4:
  1551. /* 187213 0x8015C7F4 24010001 */ li $at, 1
  1552. /* 187214 0x8015C7F8 12210005 */ beq $s1, $at, .L_8015C810
  1553. /* 187215 0x8015C7FC A7A700CE */ sh $a3, 0xCE($sp)
  1554. /* 187216 0x8015C800 00115840 */ sll $t3, $s1, 1
  1555. /* 187217 0x8015C804 02AB6021 */ addu $t4, $s5, $t3
  1556. /* 187218 0x8015C808 85990000 */ lh $t9, 0x0($t4)
  1557. /* 187219 0x8015C80C 1320000E */ beqz $t9, .L_8015C848
  1558. .L_8015C810:
  1559. /* 187220 0x8015C810 00117840 */ sll $t7, $s1, 1
  1560. /* 187221 0x8015C814 02AF4821 */ addu $t1, $s5, $t7
  1561. /* 187222 0x8015C818 85250000 */ lh $a1, 0x0($t1)
  1562. /* 187223 0x8015C81C 87B800DA */ lh $t8, 0xDA($sp)
  1563. /* 187224 0x8015C820 02802025 */ move $a0, $s4
  1564. /* 187225 0x8015C824 24A50030 */ addiu $a1, $a1, 48
  1565. /* 187226 0x8015C828 30A500FF */ andi $a1, $a1, 0xFF
  1566. /* 187227 0x8015C82C 03C03025 */ move $a2, $fp
  1567. /* 187228 0x8015C830 27A700A4 */ addiu $a3, $sp, 164
  1568. /* 187229 0x8015C834 0C056262 */ jal func_80158988
  1569. /* 187230 0x8015C838 AFB80010 */ sw $t8, 0x10($sp)
  1570. /* 187231 0x8015C83C 87AD00DA */ lh $t5, 0xDA($sp)
  1571. /* 187232 0x8015C840 25A80001 */ addiu $t0, $t5, 1
  1572. /* 187233 0x8015C844 A7A800DA */ sh $t0, 0xDA($sp)
  1573. .L_8015C848:
  1574. /* 187234 0x8015C848 26310001 */ addiu $s1, $s1, 1
  1575. /* 187235 0x8015C84C 00118C00 */ sll $s1, $s1, 16
  1576. /* 187236 0x8015C850 00118C03 */ sra $s1, $s1, 16
  1577. /* 187237 0x8015C854 2A210002 */ slti $at, $s1, 2
  1578. /* 187238 0x8015C858 1420FFE6 */ bnez $at, .L_8015C7F4
  1579. /* 187239 0x8015C85C 87A700CE */ lh $a3, 0xCE($sp)
  1580. /* 187240 0x8015C860 87AE00DA */ lh $t6, 0xDA($sp)
  1581. /* 187241 0x8015C864 A7A700CE */ sh $a3, 0xCE($sp)
  1582. /* 187242 0x8015C868 25CAFFFF */ addiu $t2, $t6, -1
  1583. /* 187243 0x8015C86C 1000079D */ b .L_8015E6E4
  1584. /* 187244 0x8015C870 A7AA00DA */ sh $t2, 0xDA($sp)
  1585. .L_8015C874:
  1586. /* 187245 0x8015C874 2401000F */ li $at, 15
  1587. /* 187246 0x8015C878 54610050 */ bnel $v1, $at, .L_8015C9BC
  1588. /* 187247 0x8015C87C 240100D0 */ li $at, 208
  1589. /* 187248 0x8015C880 3C07801F */ lui $a3, %hi(D_801F35AA)
  1590. /* 187249 0x8015C884 84E735AA */ lh $a3, %lo(D_801F35AA)($a3)
  1591. /* 187250 0x8015C888 A7A000CC */ sh $zero, 0xCC($sp)
  1592. /* 187251 0x8015C88C A7A000CA */ sh $zero, 0xCA($sp)
  1593. /* 187252 0x8015C890 28E103E8 */ slti $at, $a3, 1000
  1594. /* 187253 0x8015C894 A7A000C8 */ sh $zero, 0xC8($sp)
  1595. /* 187254 0x8015C898 00008825 */ move $s1, $zero
  1596. /* 187255 0x8015C89C 14200009 */ bnez $at, .L_8015C8C4
  1597. /* 187256 0x8015C8A0 00009025 */ move $s2, $zero
  1598. .L_8015C8A4:
  1599. /* 187257 0x8015C8A4 87AB00C8 */ lh $t3, 0xC8($sp)
  1600. /* 187258 0x8015C8A8 24E7FC18 */ addiu $a3, $a3, -1000
  1601. /* 187259 0x8015C8AC 00073C00 */ sll $a3, $a3, 16
  1602. /* 187260 0x8015C8B0 00073C03 */ sra $a3, $a3, 16
  1603. /* 187261 0x8015C8B4 28E103E8 */ slti $at, $a3, 1000
  1604. /* 187262 0x8015C8B8 256C0001 */ addiu $t4, $t3, 1
  1605. /* 187263 0x8015C8BC 1020FFF9 */ beqz $at, .L_8015C8A4
  1606. /* 187264 0x8015C8C0 A7AC00C8 */ sh $t4, 0xC8($sp)
  1607. .L_8015C8C4:
  1608. /* 187265 0x8015C8C4 28E10064 */ slti $at, $a3, 100
  1609. /* 187266 0x8015C8C8 5420000A */ bnezl $at, .L_8015C8F4
  1610. /* 187267 0x8015C8CC 28E1000A */ slti $at, $a3, 10
  1611. .L_8015C8D0:
  1612. /* 187268 0x8015C8D0 87B900CA */ lh $t9, 0xCA($sp)
  1613. /* 187269 0x8015C8D4 24E7FF9C */ addiu $a3, $a3, -100
  1614. /* 187270 0x8015C8D8 00073C00 */ sll $a3, $a3, 16
  1615. /* 187271 0x8015C8DC 00073C03 */ sra $a3, $a3, 16
  1616. /* 187272 0x8015C8E0 28E10064 */ slti $at, $a3, 100
  1617. /* 187273 0x8015C8E4 272F0001 */ addiu $t7, $t9, 1
  1618. /* 187274 0x8015C8E8 1020FFF9 */ beqz $at, .L_8015C8D0
  1619. /* 187275 0x8015C8EC A7AF00CA */ sh $t7, 0xCA($sp)
  1620. /* 187276 0x8015C8F0 28E1000A */ slti $at, $a3, 10
  1621. .L_8015C8F4:
  1622. /* 187277 0x8015C8F4 5420000A */ bnezl $at, .L_8015C920
  1623. /* 187278 0x8015C8F8 24010003 */ li $at, 3
  1624. .L_8015C8FC:
  1625. /* 187279 0x8015C8FC 87A900CC */ lh $t1, 0xCC($sp)
  1626. /* 187280 0x8015C900 24E7FFF6 */ addiu $a3, $a3, -10
  1627. /* 187281 0x8015C904 00073C00 */ sll $a3, $a3, 16
  1628. /* 187282 0x8015C908 00073C03 */ sra $a3, $a3, 16
  1629. /* 187283 0x8015C90C 28E1000A */ slti $at, $a3, 10
  1630. /* 187284 0x8015C910 25380001 */ addiu $t8, $t1, 1
  1631. /* 187285 0x8015C914 1020FFF9 */ beqz $at, .L_8015C8FC
  1632. /* 187286 0x8015C918 A7B800CC */ sh $t8, 0xCC($sp)
  1633. /* 187287 0x8015C91C 24010003 */ li $at, 3
  1634. .L_8015C920:
  1635. /* 187288 0x8015C920 12210007 */ beq $s1, $at, .L_8015C940
  1636. /* 187289 0x8015C924 00116840 */ sll $t5, $s1, 1
  1637. /* 187290 0x8015C928 02AD4021 */ addu $t0, $s5, $t5
  1638. /* 187291 0x8015C92C A7A700CE */ sh $a3, 0xCE($sp)
  1639. /* 187292 0x8015C930 850E0000 */ lh $t6, 0x0($t0)
  1640. /* 187293 0x8015C934 11C00004 */ beqz $t6, .L_8015C948
  1641. /* 187294 0x8015C938 00000000 */ nop
  1642. /* 187295 0x8015C93C 87A700CE */ lh $a3, 0xCE($sp)
  1643. .L_8015C940:
  1644. /* 187296 0x8015C940 24120001 */ li $s2, 1
  1645. /* 187297 0x8015C944 A7A700CE */ sh $a3, 0xCE($sp)
  1646. .L_8015C948:
  1647. /* 187298 0x8015C948 12400010 */ beqz $s2, .L_8015C98C
  1648. /* 187299 0x8015C94C 87A700CE */ lh $a3, 0xCE($sp)
  1649. /* 187300 0x8015C950 00115040 */ sll $t2, $s1, 1
  1650. /* 187301 0x8015C954 02AA5821 */ addu $t3, $s5, $t2
  1651. /* 187302 0x8015C958 85650000 */ lh $a1, 0x0($t3)
  1652. /* 187303 0x8015C95C 87AC00DA */ lh $t4, 0xDA($sp)
  1653. /* 187304 0x8015C960 02802025 */ move $a0, $s4
  1654. /* 187305 0x8015C964 24A50030 */ addiu $a1, $a1, 48
  1655. /* 187306 0x8015C968 30A500FF */ andi $a1, $a1, 0xFF
  1656. /* 187307 0x8015C96C 03C03025 */ move $a2, $fp
  1657. /* 187308 0x8015C970 27A700A4 */ addiu $a3, $sp, 164
  1658. /* 187309 0x8015C974 0C056262 */ jal func_80158988
  1659. /* 187310 0x8015C978 AFAC0010 */ sw $t4, 0x10($sp)
  1660. /* 187311 0x8015C97C 87B900DA */ lh $t9, 0xDA($sp)
  1661. /* 187312 0x8015C980 87A700CE */ lh $a3, 0xCE($sp)
  1662. /* 187313 0x8015C984 272F0001 */ addiu $t7, $t9, 1
  1663. /* 187314 0x8015C988 A7AF00DA */ sh $t7, 0xDA($sp)
  1664. .L_8015C98C:
  1665. /* 187315 0x8015C98C 26310001 */ addiu $s1, $s1, 1
  1666. /* 187316 0x8015C990 00118C00 */ sll $s1, $s1, 16
  1667. /* 187317 0x8015C994 00118C03 */ sra $s1, $s1, 16
  1668. /* 187318 0x8015C998 2A210004 */ slti $at, $s1, 4
  1669. /* 187319 0x8015C99C 5420FFE0 */ bnezl $at, .L_8015C920
  1670. /* 187320 0x8015C9A0 24010003 */ li $at, 3
  1671. /* 187321 0x8015C9A4 87A900DA */ lh $t1, 0xDA($sp)
  1672. /* 187322 0x8015C9A8 A7A700CE */ sh $a3, 0xCE($sp)
  1673. /* 187323 0x8015C9AC 2538FFFF */ addiu $t8, $t1, -1
  1674. /* 187324 0x8015C9B0 1000074C */ b .L_8015E6E4
  1675. /* 187325 0x8015C9B4 A7B800DA */ sh $t8, 0xDA($sp)
  1676. /* 187326 0x8015C9B8 240100D0 */ li $at, 208
  1677. .L_8015C9BC:
  1678. /* 187327 0x8015C9BC 54610036 */ bnel $v1, $at, .L_8015CA98
  1679. /* 187328 0x8015C9C0 240100D1 */ li $at, 209
  1680. /* 187329 0x8015C9C4 87AD00DA */ lh $t5, 0xDA($sp)
  1681. /* 187330 0x8015C9C8 87AE00C6 */ lh $t6, 0xC6($sp)
  1682. /* 187331 0x8015C9CC 3C010001 */ lui $at, %hi(D_000120BE)
  1683. /* 187332 0x8015C9D0 25A80001 */ addiu $t0, $t5, 1
  1684. /* 187333 0x8015C9D4 A7A700CE */ sh $a3, 0xCE($sp)
  1685. /* 187334 0x8015C9D8 A7A800DA */ sh $t0, 0xDA($sp)
  1686. /* 187335 0x8015C9DC 00360821 */ addu $at, $at, $s6
  1687. /* 187336 0x8015C9E0 A42E20BE */ sh $t6, %lo(D_000120BE)($at)
  1688. /* 187337 0x8015C9E4 87AA00DA */ lh $t2, 0xDA($sp)
  1689. /* 187338 0x8015C9E8 3C010001 */ lui $at, %hi(D_000120C0)
  1690. /* 187339 0x8015C9EC 00360821 */ addu $at, $at, $s6
  1691. /* 187340 0x8015C9F0 A42A20C0 */ sh $t2, %lo(D_000120C0)($at)
  1692. /* 187341 0x8015C9F4 3C010001 */ lui $at, %hi(D_000120C2)
  1693. /* 187342 0x8015C9F8 00360821 */ addu $at, $at, $s6
  1694. /* 187343 0x8015C9FC A42020C2 */ sh $zero, %lo(D_000120C2)($at)
  1695. /* 187344 0x8015CA00 3C010001 */ lui $at, %hi(D_00012078)
  1696. /* 187345 0x8015CA04 00360821 */ addu $at, $at, $s6
  1697. /* 187346 0x8015CA08 AC202078 */ sw $zero, %lo(D_00012078)($at)
  1698. /* 187347 0x8015CA0C 8FAB00BC */ lw $t3, 0xBC($sp)
  1699. /* 187348 0x8015CA10 3C010001 */ lui $at, %hi(D_000120C4)
  1700. /* 187349 0x8015CA14 00360821 */ addu $at, $at, $s6
  1701. /* 187350 0x8015CA18 AC2B20C4 */ sw $t3, %lo(D_000120C4)($at)
  1702. /* 187351 0x8015CA1C A7A000C8 */ sh $zero, 0xC8($sp)
  1703. /* 187352 0x8015CA20 A7A000CA */ sh $zero, 0xCA($sp)
  1704. /* 187353 0x8015CA24 A7A000CC */ sh $zero, 0xCC($sp)
  1705. /* 187354 0x8015CA28 00008825 */ move $s1, $zero
  1706. .L_8015CA2C:
  1707. /* 187355 0x8015CA2C 00116040 */ sll $t4, $s1, 1
  1708. /* 187356 0x8015CA30 02ACC821 */ addu $t9, $s5, $t4
  1709. /* 187357 0x8015CA34 87250000 */ lh $a1, 0x0($t9)
  1710. /* 187358 0x8015CA38 87AF00DA */ lh $t7, 0xDA($sp)
  1711. /* 187359 0x8015CA3C 02802025 */ move $a0, $s4
  1712. /* 187360 0x8015CA40 24A50030 */ addiu $a1, $a1, 48
  1713. /* 187361 0x8015CA44 30A500FF */ andi $a1, $a1, 0xFF
  1714. /* 187362 0x8015CA48 03C03025 */ move $a2, $fp
  1715. /* 187363 0x8015CA4C 27A700A4 */ addiu $a3, $sp, 164
  1716. /* 187364 0x8015CA50 0C056262 */ jal func_80158988
  1717. /* 187365 0x8015CA54 AFAF0010 */ sw $t7, 0x10($sp)
  1718. /* 187366 0x8015CA58 87A900DA */ lh $t1, 0xDA($sp)
  1719. /* 187367 0x8015CA5C 26310001 */ addiu $s1, $s1, 1
  1720. /* 187368 0x8015CA60 00118C00 */ sll $s1, $s1, 16
  1721. /* 187369 0x8015CA64 00118C03 */ sra $s1, $s1, 16
  1722. /* 187370 0x8015CA68 2A210002 */ slti $at, $s1, 2
  1723. /* 187371 0x8015CA6C 25380001 */ addiu $t8, $t1, 1
  1724. /* 187372 0x8015CA70 1420FFEE */ bnez $at, .L_8015CA2C
  1725. /* 187373 0x8015CA74 A7B800DA */ sh $t8, 0xDA($sp)
  1726. /* 187374 0x8015CA78 02802025 */ move $a0, $s4
  1727. /* 187375 0x8015CA7C 27A500DA */ addiu $a1, $sp, 218
  1728. /* 187376 0x8015CA80 03C03025 */ move $a2, $fp
  1729. /* 187377 0x8015CA84 0C056289 */ jal func_80158A24
  1730. /* 187378 0x8015CA88 27A700A4 */ addiu $a3, $sp, 164
  1731. /* 187379 0x8015CA8C 10000716 */ b .L_8015E6E8
  1732. /* 187380 0x8015CA90 87AA00DA */ lh $t2, 0xDA($sp)
  1733. /* 187381 0x8015CA94 240100D1 */ li $at, 209
  1734. .L_8015CA98:
  1735. /* 187382 0x8015CA98 54610031 */ bnel $v1, $at, .L_8015CB60
  1736. /* 187383 0x8015CA9C 240100D3 */ li $at, 211
  1737. /* 187384 0x8015CAA0 87AD00DA */ lh $t5, 0xDA($sp)
  1738. /* 187385 0x8015CAA4 87AE00C6 */ lh $t6, 0xC6($sp)
  1739. /* 187386 0x8015CAA8 3C010001 */ lui $at, %hi(D_000120BE)
  1740. /* 187387 0x8015CAAC 25A80001 */ addiu $t0, $t5, 1
  1741. /* 187388 0x8015CAB0 A7A700CE */ sh $a3, 0xCE($sp)
  1742. /* 187389 0x8015CAB4 A7A800DA */ sh $t0, 0xDA($sp)
  1743. /* 187390 0x8015CAB8 00360821 */ addu $at, $at, $s6
  1744. /* 187391 0x8015CABC A42E20BE */ sh $t6, %lo(D_000120BE)($at)
  1745. /* 187392 0x8015CAC0 87AA00DA */ lh $t2, 0xDA($sp)
  1746. /* 187393 0x8015CAC4 3C010001 */ lui $at, %hi(D_000120C0)
  1747. /* 187394 0x8015CAC8 00360821 */ addu $at, $at, $s6
  1748. /* 187395 0x8015CACC A42A20C0 */ sh $t2, %lo(D_000120C0)($at)
  1749. /* 187396 0x8015CAD0 3C010001 */ lui $at, %hi(D_000120C2)
  1750. /* 187397 0x8015CAD4 00360821 */ addu $at, $at, $s6
  1751. /* 187398 0x8015CAD8 A42020C2 */ sh $zero, %lo(D_000120C2)($at)
  1752. /* 187399 0x8015CADC 3C010001 */ lui $at, %hi(D_00012078)
  1753. /* 187400 0x8015CAE0 00360821 */ addu $at, $at, $s6
  1754. /* 187401 0x8015CAE4 AC202078 */ sw $zero, %lo(D_00012078)($at)
  1755. /* 187402 0x8015CAE8 8FAB00BC */ lw $t3, 0xBC($sp)
  1756. /* 187403 0x8015CAEC 3C010001 */ lui $at, %hi(D_000120C4)
  1757. /* 187404 0x8015CAF0 00360821 */ addu $at, $at, $s6
  1758. /* 187405 0x8015CAF4 00008825 */ move $s1, $zero
  1759. /* 187406 0x8015CAF8 AC2B20C4 */ sw $t3, %lo(D_000120C4)($at)
  1760. .L_8015CAFC:
  1761. /* 187407 0x8015CAFC 0011C840 */ sll $t9, $s1, 1
  1762. /* 187408 0x8015CB00 02D97821 */ addu $t7, $s6, $t9
  1763. /* 187409 0x8015CB04 01F74821 */ addu $t1, $t7, $s7
  1764. /* 187410 0x8015CB08 240C0001 */ li $t4, 1
  1765. /* 187411 0x8015CB0C A52C2054 */ sh $t4, 0x2054($t1)
  1766. /* 187412 0x8015CB10 87B800DA */ lh $t8, 0xDA($sp)
  1767. /* 187413 0x8015CB14 02802025 */ move $a0, $s4
  1768. /* 187414 0x8015CB18 24050031 */ li $a1, 49
  1769. /* 187415 0x8015CB1C 03C03025 */ move $a2, $fp
  1770. /* 187416 0x8015CB20 27A700A4 */ addiu $a3, $sp, 164
  1771. /* 187417 0x8015CB24 0C056262 */ jal func_80158988
  1772. /* 187418 0x8015CB28 AFB80010 */ sw $t8, 0x10($sp)
  1773. /* 187419 0x8015CB2C 87AD00DA */ lh $t5, 0xDA($sp)
  1774. /* 187420 0x8015CB30 26310001 */ addiu $s1, $s1, 1
  1775. /* 187421 0x8015CB34 00118C00 */ sll $s1, $s1, 16
  1776. /* 187422 0x8015CB38 00118C03 */ sra $s1, $s1, 16
  1777. /* 187423 0x8015CB3C 2A210005 */ slti $at, $s1, 5
  1778. /* 187424 0x8015CB40 25A80001 */ addiu $t0, $t5, 1
  1779. /* 187425 0x8015CB44 1420FFED */ bnez $at, .L_8015CAFC
  1780. /* 187426 0x8015CB48 A7A800DA */ sh $t0, 0xDA($sp)
  1781. /* 187427 0x8015CB4C 87AE00DA */ lh $t6, 0xDA($sp)
  1782. /* 187428 0x8015CB50 25CAFFFF */ addiu $t2, $t6, -1
  1783. /* 187429 0x8015CB54 100006E3 */ b .L_8015E6E4
  1784. /* 187430 0x8015CB58 A7AA00DA */ sh $t2, 0xDA($sp)
  1785. /* 187431 0x8015CB5C 240100D3 */ li $at, 211
  1786. .L_8015CB60:
  1787. /* 187432 0x8015CB60 14610036 */ bne $v1, $at, .L_8015CC3C
  1788. /* 187433 0x8015CB64 3C02801F */ lui $v0, %hi(D_801EF684)
  1789. /* 187434 0x8015CB68 8C42F684 */ lw $v0, %lo(D_801EF684)($v0)
  1790. /* 187435 0x8015CB6C 24010012 */ li $at, 18
  1791. /* 187436 0x8015CB70 A7A700CE */ sh $a3, 0xCE($sp)
  1792. /* 187437 0x8015CB74 14410003 */ bne $v0, $at, .L_8015CB84
  1793. /* 187438 0x8015CB78 00008825 */ move $s1, $zero
  1794. /* 187439 0x8015CB7C 10000006 */ b .L_8015CB98
  1795. /* 187440 0x8015CB80 00009025 */ move $s2, $zero
  1796. .L_8015CB84:
  1797. /* 187441 0x8015CB84 54400004 */ bnezl $v0, .L_8015CB98
  1798. /* 187442 0x8015CB88 24120002 */ li $s2, 2
  1799. /* 187443 0x8015CB8C 10000002 */ b .L_8015CB98
  1800. /* 187444 0x8015CB90 24120001 */ li $s2, 1
  1801. /* 187445 0x8015CB94 24120002 */ li $s2, 2
  1802. .L_8015CB98:
  1803. /* 187446 0x8015CB98 3C19801D */ lui $t9, %hi(D_801D08D8)
  1804. /* 187447 0x8015CB9C 273908D8 */ addiu $t9, %lo(D_801D08D8)
  1805. /* 187448 0x8015CBA0 00125880 */ sll $t3, $s2, 2
  1806. /* 187449 0x8015CBA4 01798021 */ addu $s0, $t3, $t9
  1807. .L_8015CBA8:
  1808. /* 187450 0x8015CBA8 87AC00DA */ lh $t4, 0xDA($sp)
  1809. /* 187451 0x8015CBAC 02111021 */ addu $v0, $s0, $s1
  1810. /* 187452 0x8015CBB0 904F0000 */ lbu $t7, 0x0($v0)
  1811. /* 187453 0x8015CBB4 02CC4821 */ addu $t1, $s6, $t4
  1812. /* 187454 0x8015CBB8 0137C021 */ addu $t8, $t1, $s7
  1813. /* 187455 0x8015CBBC A30F1F24 */ sb $t7, 0x1F24($t8)
  1814. /* 187456 0x8015CBC0 8FA600BC */ lw $a2, 0xBC($sp)
  1815. /* 187457 0x8015CBC4 90450000 */ lbu $a1, 0x0($v0)
  1816. /* 187458 0x8015CBC8 0C03D3D5 */ jal func_800F4F54
  1817. /* 187459 0x8015CBCC 02802025 */ move $a0, $s4
  1818. /* 187460 0x8015CBD0 87AE00DA */ lh $t6, 0xDA($sp)
  1819. /* 187461 0x8015CBD4 8FAD00BC */ lw $t5, 0xBC($sp)
  1820. /* 187462 0x8015CBD8 26310001 */ addiu $s1, $s1, 1
  1821. /* 187463 0x8015CBDC 00118C00 */ sll $s1, $s1, 16
  1822. /* 187464 0x8015CBE0 00118C03 */ sra $s1, $s1, 16
  1823. /* 187465 0x8015CBE4 2A210004 */ slti $at, $s1, 4
  1824. /* 187466 0x8015CBE8 25CA0001 */ addiu $t2, $t6, 1
  1825. /* 187467 0x8015CBEC 25A80080 */ addiu $t0, $t5, 128
  1826. /* 187468 0x8015CBF0 A7AA00DA */ sh $t2, 0xDA($sp)
  1827. /* 187469 0x8015CBF4 1420FFEC */ bnez $at, .L_8015CBA8
  1828. /* 187470 0x8015CBF8 AFA800BC */ sw $t0, 0xBC($sp)
  1829. /* 187471 0x8015CBFC 87AB00DA */ lh $t3, 0xDA($sp)
  1830. /* 187472 0x8015CC00 8FAC0070 */ lw $t4, 0x70($sp)
  1831. /* 187473 0x8015CC04 3C014040 */ lui $at, 0x4040
  1832. /* 187474 0x8015CC08 2579FFFF */ addiu $t9, $t3, -1
  1833. /* 187475 0x8015CC0C A7B900DA */ sh $t9, 0xDA($sp)
  1834. /* 187476 0x8015CC10 C5902098 */ lwc1 $f16, 0x2098($t4)
  1835. /* 187477 0x8015CC14 44813000 */ mtc1 $at, $f6
  1836. /* 187478 0x8015CC18 C7A400A4 */ lwc1 $f4, 0xA4($sp)
  1837. /* 187479 0x8015CC1C 4610B282 */ mul.s $f10, $f22, $f16
  1838. /* 187480 0x8015CC20 3C010001 */ lui $at, %hi(D_00012021)
  1839. /* 187481 0x8015CC24 00360821 */ addu $at, $at, $s6
  1840. /* 187482 0x8015CC28 460A3482 */ mul.s $f18, $f6, $f10
  1841. /* 187483 0x8015CC2C 46122200 */ add.s $f8, $f4, $f18
  1842. /* 187484 0x8015CC30 E7A800A4 */ swc1 $f8, 0xA4($sp)
  1843. /* 187485 0x8015CC34 100006AB */ b .L_8015E6E4
  1844. /* 187486 0x8015CC38 A0322021 */ sb $s2, %lo(D_00012021)($at)
  1845. .L_8015CC3C:
  1846. /* 187487 0x8015CC3C 240100D4 */ li $at, 212
  1847. /* 187488 0x8015CC40 5461000A */ bnel $v1, $at, .L_8015CC6C
  1848. /* 187489 0x8015CC44 240100D5 */ li $at, 213
  1849. /* 187490 0x8015CC48 A7A700CE */ sh $a3, 0xCE($sp)
  1850. /* 187491 0x8015CC4C 27A700DA */ addiu $a3, $sp, 218
  1851. /* 187492 0x8015CC50 02802025 */ move $a0, $s4
  1852. /* 187493 0x8015CC54 03C02825 */ move $a1, $fp
  1853. /* 187494 0x8015CC58 0C05649B */ jal func_8015926C
  1854. /* 187495 0x8015CC5C 27A600A4 */ addiu $a2, $sp, 164
  1855. /* 187496 0x8015CC60 100006A1 */ b .L_8015E6E8
  1856. /* 187497 0x8015CC64 87AA00DA */ lh $t2, 0xDA($sp)
  1857. /* 187498 0x8015CC68 240100D5 */ li $at, 213
  1858. .L_8015CC6C:
  1859. /* 187499 0x8015CC6C 5461003C */ bnel $v1, $at, .L_8015CD60
  1860. /* 187500 0x8015CC70 240100D6 */ li $at, 214
  1861. /* 187501 0x8015CC74 87A900DA */ lh $t1, 0xDA($sp)
  1862. /* 187502 0x8015CC78 87B800C6 */ lh $t8, 0xC6($sp)
  1863. /* 187503 0x8015CC7C 3C010001 */ lui $at, %hi(D_000120BE)
  1864. /* 187504 0x8015CC80 252F0001 */ addiu $t7, $t1, 1
  1865. /* 187505 0x8015CC84 A7A700CE */ sh $a3, 0xCE($sp)
  1866. /* 187506 0x8015CC88 A7AF00DA */ sh $t7, 0xDA($sp)
  1867. /* 187507 0x8015CC8C 00360821 */ addu $at, $at, $s6
  1868. /* 187508 0x8015CC90 A43820BE */ sh $t8, %lo(D_000120BE)($at)
  1869. /* 187509 0x8015CC94 87AD00DA */ lh $t5, 0xDA($sp)
  1870. /* 187510 0x8015CC98 3C010001 */ lui $at, %hi(D_000120C0)
  1871. /* 187511 0x8015CC9C 00360821 */ addu $at, $at, $s6
  1872. /* 187512 0x8015CCA0 A42D20C0 */ sh $t5, %lo(D_000120C0)($at)
  1873. /* 187513 0x8015CCA4 3C010001 */ lui $at, %hi(D_000120C2)
  1874. /* 187514 0x8015CCA8 00360821 */ addu $at, $at, $s6
  1875. /* 187515 0x8015CCAC A42020C2 */ sh $zero, %lo(D_000120C2)($at)
  1876. /* 187516 0x8015CCB0 3C010001 */ lui $at, %hi(D_00012078)
  1877. /* 187517 0x8015CCB4 00360821 */ addu $at, $at, $s6
  1878. /* 187518 0x8015CCB8 AC202078 */ sw $zero, %lo(D_00012078)($at)
  1879. /* 187519 0x8015CCBC 8FA800BC */ lw $t0, 0xBC($sp)
  1880. /* 187520 0x8015CCC0 3C010001 */ lui $at, %hi(D_000120C4)
  1881. /* 187521 0x8015CCC4 00360821 */ addu $at, $at, $s6
  1882. /* 187522 0x8015CCC8 00008825 */ move $s1, $zero
  1883. /* 187523 0x8015CCCC AC2820C4 */ sw $t0, %lo(D_000120C4)($at)
  1884. .L_8015CCD0:
  1885. /* 187524 0x8015CCD0 00115040 */ sll $t2, $s1, 1
  1886. /* 187525 0x8015CCD4 02CA5821 */ addu $t3, $s6, $t2
  1887. /* 187526 0x8015CCD8 0177C821 */ addu $t9, $t3, $s7
  1888. /* 187527 0x8015CCDC 240E0001 */ li $t6, 1
  1889. /* 187528 0x8015CCE0 A72E2054 */ sh $t6, 0x2054($t9)
  1890. /* 187529 0x8015CCE4 8FA600BC */ lw $a2, 0xBC($sp)
  1891. /* 187530 0x8015CCE8 02802025 */ move $a0, $s4
  1892. /* 187531 0x8015CCEC 0C03D3D5 */ jal func_800F4F54
  1893. /* 187532 0x8015CCF0 24050031 */ li $a1, 49
  1894. /* 187533 0x8015CCF4 8FAC00BC */ lw $t4, 0xBC($sp)
  1895. /* 187534 0x8015CCF8 87B800DA */ lh $t8, 0xDA($sp)
  1896. /* 187535 0x8015CCFC 240F0031 */ li $t7, 49
  1897. /* 187536 0x8015CD00 25890080 */ addiu $t1, $t4, 128
  1898. /* 187537 0x8015CD04 02D86821 */ addu $t5, $s6, $t8
  1899. /* 187538 0x8015CD08 AFA900BC */ sw $t1, 0xBC($sp)
  1900. /* 187539 0x8015CD0C 01B74021 */ addu $t0, $t5, $s7
  1901. /* 187540 0x8015CD10 A10F1F24 */ sb $t7, 0x1F24($t0)
  1902. /* 187541 0x8015CD14 8FAA0070 */ lw $t2, 0x70($sp)
  1903. /* 187542 0x8015CD18 C7B000A4 */ lwc1 $f16, 0xA4($sp)
  1904. /* 187543 0x8015CD1C 87AB00DA */ lh $t3, 0xDA($sp)
  1905. /* 187544 0x8015CD20 C5462098 */ lwc1 $f6, 0x2098($t2)
  1906. /* 187545 0x8015CD24 26310001 */ addiu $s1, $s1, 1
  1907. /* 187546 0x8015CD28 00118C00 */ sll $s1, $s1, 16
  1908. /* 187547 0x8015CD2C 4606B282 */ mul.s $f10, $f22, $f6
  1909. /* 187548 0x8015CD30 00118C03 */ sra $s1, $s1, 16
  1910. /* 187549 0x8015CD34 2A210003 */ slti $at, $s1, 3
  1911. /* 187550 0x8015CD38 256E0001 */ addiu $t6, $t3, 1
  1912. /* 187551 0x8015CD3C A7AE00DA */ sh $t6, 0xDA($sp)
  1913. /* 187552 0x8015CD40 460A8100 */ add.s $f4, $f16, $f10
  1914. /* 187553 0x8015CD44 1420FFE2 */ bnez $at, .L_8015CCD0
  1915. /* 187554 0x8015CD48 E7A400A4 */ swc1 $f4, 0xA4($sp)
  1916. /* 187555 0x8015CD4C 87B900DA */ lh $t9, 0xDA($sp)
  1917. /* 187556 0x8015CD50 272CFFFF */ addiu $t4, $t9, -1
  1918. /* 187557 0x8015CD54 10000663 */ b .L_8015E6E4
  1919. /* 187558 0x8015CD58 A7AC00DA */ sh $t4, 0xDA($sp)
  1920. /* 187559 0x8015CD5C 240100D6 */ li $at, 214
  1921. .L_8015CD60:
  1922. /* 187560 0x8015CD60 54610027 */ bnel $v1, $at, .L_8015CE00
  1923. /* 187561 0x8015CD64 286100D7 */ slti $at, $v1, 215
  1924. /* 187562 0x8015CD68 A7A700CE */ sh $a3, 0xCE($sp)
  1925. /* 187563 0x8015CD6C 00008825 */ move $s1, $zero
  1926. .L_8015CD70:
  1927. /* 187564 0x8015CD70 3C02801F */ lui $v0, %hi(D_801F0665)
  1928. /* 187565 0x8015CD74 00511021 */ addu $v0, $v0, $s1
  1929. /* 187566 0x8015CD78 80420665 */ lb $v0, %lo(D_801F0665)($v0)
  1930. /* 187567 0x8015CD7C 87B800DA */ lh $t8, 0xDA($sp)
  1931. /* 187568 0x8015CD80 3C09801D */ lui $t1, %hi(D_801D08E4)
  1932. /* 187569 0x8015CD84 01224821 */ addu $t1, $t1, $v0
  1933. /* 187570 0x8015CD88 912908E4 */ lbu $t1, %lo(D_801D08E4)($t1)
  1934. /* 187571 0x8015CD8C 02D86821 */ addu $t5, $s6, $t8
  1935. /* 187572 0x8015CD90 01B77821 */ addu $t7, $t5, $s7
  1936. /* 187573 0x8015CD94 A1E91F24 */ sb $t1, 0x1F24($t7)
  1937. /* 187574 0x8015CD98 87A800DA */ lh $t0, 0xDA($sp)
  1938. /* 187575 0x8015CD9C 26250031 */ addiu $a1, $s1, 49
  1939. /* 187576 0x8015CDA0 30A500FF */ andi $a1, $a1, 0xFF
  1940. /* 187577 0x8015CDA4 250A0001 */ addiu $t2, $t0, 1
  1941. /* 187578 0x8015CDA8 000A5C00 */ sll $t3, $t2, 16
  1942. /* 187579 0x8015CDAC 000B7403 */ sra $t6, $t3, 16
  1943. /* 187580 0x8015CDB0 A7AA00DA */ sh $t2, 0xDA($sp)
  1944. /* 187581 0x8015CDB4 AFAE0010 */ sw $t6, 0x10($sp)
  1945. /* 187582 0x8015CDB8 02802025 */ move $a0, $s4
  1946. /* 187583 0x8015CDBC 03C03025 */ move $a2, $fp
  1947. /* 187584 0x8015CDC0 0C056262 */ jal func_80158988
  1948. /* 187585 0x8015CDC4 27A700A4 */ addiu $a3, $sp, 164
  1949. /* 187586 0x8015CDC8 87B900DA */ lh $t9, 0xDA($sp)
  1950. /* 187587 0x8015CDCC 26310001 */ addiu $s1, $s1, 1
  1951. /* 187588 0x8015CDD0 00118C00 */ sll $s1, $s1, 16
  1952. /* 187589 0x8015CDD4 00118C03 */ sra $s1, $s1, 16
  1953. /* 187590 0x8015CDD8 2A210006 */ slti $at, $s1, 6
  1954. /* 187591 0x8015CDDC 272C0001 */ addiu $t4, $t9, 1
  1955. /* 187592 0x8015CDE0 1420FFE3 */ bnez $at, .L_8015CD70
  1956. /* 187593 0x8015CDE4 A7AC00DA */ sh $t4, 0xDA($sp)
  1957. /* 187594 0x8015CDE8 87B800DA */ lh $t8, 0xDA($sp)
  1958. /* 187595 0x8015CDEC 02D86821 */ addu $t5, $s6, $t8
  1959. /* 187596 0x8015CDF0 01B74821 */ addu $t1, $t5, $s7
  1960. /* 187597 0x8015CDF4 1000063B */ b .L_8015E6E4
  1961. /* 187598 0x8015CDF8 A1201F24 */ sb $zero, 0x1F24($t1)
  1962. /* 187599 0x8015CDFC 286100D7 */ slti $at, $v1, 215
  1963. .L_8015CE00:
  1964. /* 187600 0x8015CE00 14200058 */ bnez $at, .L_8015CF64
  1965. /* 187601 0x8015CE04 286100DB */ slti $at, $v1, 219
  1966. /* 187602 0x8015CE08 10200056 */ beqz $at, .L_8015CF64
  1967. /* 187603 0x8015CE0C 3C0F801F */ lui $t7, %hi(D_801EF66D)
  1968. /* 187604 0x8015CE10 01E37821 */ addu $t7, $t7, $v1
  1969. /* 187605 0x8015CE14 81EFF66D */ lb $t7, %lo(D_801EF66D)($t7)
  1970. /* 187606 0x8015CE18 2408000F */ li $t0, 15
  1971. /* 187607 0x8015CE1C A7A000CA */ sh $zero, 0xCA($sp)
  1972. /* 187608 0x8015CE20 010F5023 */ subu $t2, $t0, $t7
  1973. /* 187609 0x8015CE24 000A5C00 */ sll $t3, $t2, 16
  1974. /* 187610 0x8015CE28 000B7403 */ sra $t6, $t3, 16
  1975. /* 187611 0x8015CE2C 29C10064 */ slti $at, $t6, 100
  1976. /* 187612 0x8015CE30 A7A000C8 */ sh $zero, 0xC8($sp)
  1977. /* 187613 0x8015CE34 A7AA00CC */ sh $t2, 0xCC($sp)
  1978. /* 187614 0x8015CE38 00008825 */ move $s1, $zero
  1979. /* 187615 0x8015CE3C 1420000B */ bnez $at, .L_8015CE6C
  1980. /* 187616 0x8015CE40 00009025 */ move $s2, $zero
  1981. .L_8015CE44:
  1982. /* 187617 0x8015CE44 87B800CC */ lh $t8, 0xCC($sp)
  1983. /* 187618 0x8015CE48 87B900C8 */ lh $t9, 0xC8($sp)
  1984. /* 187619 0x8015CE4C 270DFF9C */ addiu $t5, $t8, -100
  1985. /* 187620 0x8015CE50 000D4C00 */ sll $t1, $t5, 16
  1986. /* 187621 0x8015CE54 00094403 */ sra $t0, $t1, 16
  1987. /* 187622 0x8015CE58 29010064 */ slti $at, $t0, 100
  1988. /* 187623 0x8015CE5C 272C0001 */ addiu $t4, $t9, 1
  1989. /* 187624 0x8015CE60 A7AC00C8 */ sh $t4, 0xC8($sp)
  1990. /* 187625 0x8015CE64 1020FFF7 */ beqz $at, .L_8015CE44
  1991. /* 187626 0x8015CE68 A7AD00CC */ sh $t5, 0xCC($sp)
  1992. .L_8015CE6C:
  1993. /* 187627 0x8015CE6C 87AF00CC */ lh $t7, 0xCC($sp)
  1994. /* 187628 0x8015CE70 29E1000A */ slti $at, $t7, 10
  1995. /* 187629 0x8015CE74 5420000C */ bnezl $at, .L_8015CEA8
  1996. /* 187630 0x8015CE78 24010002 */ li $at, 2
  1997. .L_8015CE7C:
  1998. /* 187631 0x8015CE7C 87AE00CC */ lh $t6, 0xCC($sp)
  1999. /* 187632 0x8015CE80 87AA00CA */ lh $t2, 0xCA($sp)
  2000. /* 187633 0x8015CE84 25D9FFF6 */ addiu $t9, $t6, -10
  2001. /* 187634 0x8015CE88 00196400 */ sll $t4, $t9, 16
  2002. /* 187635 0x8015CE8C 000CC403 */ sra $t8, $t4, 16
  2003. /* 187636 0x8015CE90 2B01000A */ slti $at, $t8, 10
  2004. /* 187637 0x8015CE94 254B0001 */ addiu $t3, $t2, 1
  2005. /* 187638 0x8015CE98 A7AB00CA */ sh $t3, 0xCA($sp)
  2006. /* 187639 0x8015CE9C 1020FFF7 */ beqz $at, .L_8015CE7C
  2007. /* 187640 0x8015CEA0 A7B900CC */ sh $t9, 0xCC($sp)
  2008. /* 187641 0x8015CEA4 24010002 */ li $at, 2
  2009. .L_8015CEA8:
  2010. /* 187642 0x8015CEA8 12210007 */ beq $s1, $at, .L_8015CEC8
  2011. /* 187643 0x8015CEAC 00116840 */ sll $t5, $s1, 1
  2012. /* 187644 0x8015CEB0 02AD4821 */ addu $t1, $s5, $t5
  2013. /* 187645 0x8015CEB4 A7A700CE */ sh $a3, 0xCE($sp)
  2014. /* 187646 0x8015CEB8 85280000 */ lh $t0, 0x0($t1)
  2015. /* 187647 0x8015CEBC 11000004 */ beqz $t0, .L_8015CED0
  2016. /* 187648 0x8015CEC0 00000000 */ nop
  2017. /* 187649 0x8015CEC4 87A700CE */ lh $a3, 0xCE($sp)
  2018. .L_8015CEC8:
  2019. /* 187650 0x8015CEC8 24120001 */ li $s2, 1
  2020. /* 187651 0x8015CECC A7A700CE */ sh $a3, 0xCE($sp)
  2021. .L_8015CED0:
  2022. /* 187652 0x8015CED0 1240001C */ beqz $s2, .L_8015CF44
  2023. /* 187653 0x8015CED4 87A700CE */ lh $a3, 0xCE($sp)
  2024. /* 187654 0x8015CED8 00117840 */ sll $t7, $s1, 1
  2025. /* 187655 0x8015CEDC 02AF8021 */ addu $s0, $s5, $t7
  2026. /* 187656 0x8015CEE0 86050000 */ lh $a1, 0x0($s0)
  2027. /* 187657 0x8015CEE4 02802025 */ move $a0, $s4
  2028. /* 187658 0x8015CEE8 8FA600BC */ lw $a2, 0xBC($sp)
  2029. /* 187659 0x8015CEEC 24A50030 */ addiu $a1, $a1, 48
  2030. /* 187660 0x8015CEF0 0C03D3D5 */ jal func_800F4F54
  2031. /* 187661 0x8015CEF4 30A500FF */ andi $a1, $a1, 0xFF
  2032. /* 187662 0x8015CEF8 8FAA00BC */ lw $t2, 0xBC($sp)
  2033. /* 187663 0x8015CEFC 87AC00DA */ lh $t4, 0xDA($sp)
  2034. /* 187664 0x8015CF00 254B0080 */ addiu $t3, $t2, 128
  2035. /* 187665 0x8015CF04 AFAB00BC */ sw $t3, 0xBC($sp)
  2036. /* 187666 0x8015CF08 860E0000 */ lh $t6, 0x0($s0)
  2037. /* 187667 0x8015CF0C 02CCC021 */ addu $t8, $s6, $t4
  2038. /* 187668 0x8015CF10 03176821 */ addu $t5, $t8, $s7
  2039. /* 187669 0x8015CF14 25D90030 */ addiu $t9, $t6, 48
  2040. /* 187670 0x8015CF18 A1B91F24 */ sb $t9, 0x1F24($t5)
  2041. /* 187671 0x8015CF1C 87A900DA */ lh $t1, 0xDA($sp)
  2042. /* 187672 0x8015CF20 8FAF0070 */ lw $t7, 0x70($sp)
  2043. /* 187673 0x8015CF24 C7B200A4 */ lwc1 $f18, 0xA4($sp)
  2044. /* 187674 0x8015CF28 25280001 */ addiu $t0, $t1, 1
  2045. /* 187675 0x8015CF2C A7A800DA */ sh $t0, 0xDA($sp)
  2046. /* 187676 0x8015CF30 C5E82098 */ lwc1 $f8, 0x2098($t7)
  2047. /* 187677 0x8015CF34 87A700CE */ lh $a3, 0xCE($sp)
  2048. /* 187678 0x8015CF38 4608B182 */ mul.s $f6, $f22, $f8
  2049. /* 187679 0x8015CF3C 46069400 */ add.s $f16, $f18, $f6
  2050. /* 187680 0x8015CF40 E7B000A4 */ swc1 $f16, 0xA4($sp)
  2051. .L_8015CF44:
  2052. /* 187681 0x8015CF44 26310001 */ addiu $s1, $s1, 1
  2053. /* 187682 0x8015CF48 00118C00 */ sll $s1, $s1, 16
  2054. /* 187683 0x8015CF4C 00118C03 */ sra $s1, $s1, 16
  2055. /* 187684 0x8015CF50 2A210003 */ slti $at, $s1, 3
  2056. /* 187685 0x8015CF54 5420FFD4 */ bnezl $at, .L_8015CEA8
  2057. /* 187686 0x8015CF58 24010002 */ li $at, 2
  2058. /* 187687 0x8015CF5C 100005E1 */ b .L_8015E6E4
  2059. /* 187688 0x8015CF60 A7A700CE */ sh $a3, 0xCE($sp)
  2060. .L_8015CF64:
  2061. /* 187689 0x8015CF64 240100DB */ li $at, 219
  2062. /* 187690 0x8015CF68 5461005C */ bnel $v1, $at, .L_8015D0DC
  2063. /* 187691 0x8015CF6C 240100DC */ li $at, 220
  2064. /* 187692 0x8015CF70 3C07801F */ lui $a3, %hi(D_801F35AA)
  2065. /* 187693 0x8015CF74 84E735AA */ lh $a3, %lo(D_801F35AA)($a3)
  2066. /* 187694 0x8015CF78 A7A000CC */ sh $zero, 0xCC($sp)
  2067. /* 187695 0x8015CF7C A7A000CA */ sh $zero, 0xCA($sp)
  2068. /* 187696 0x8015CF80 28E103E8 */ slti $at, $a3, 1000
  2069. /* 187697 0x8015CF84 A7A000C8 */ sh $zero, 0xC8($sp)
  2070. /* 187698 0x8015CF88 00008825 */ move $s1, $zero
  2071. /* 187699 0x8015CF8C 14200009 */ bnez $at, .L_8015CFB4
  2072. /* 187700 0x8015CF90 00009025 */ move $s2, $zero
  2073. .L_8015CF94:
  2074. /* 187701 0x8015CF94 87AA00C8 */ lh $t2, 0xC8($sp)
  2075. /* 187702 0x8015CF98 24E7FC18 */ addiu $a3, $a3, -1000
  2076. /* 187703 0x8015CF9C 00073C00 */ sll $a3, $a3, 16
  2077. /* 187704 0x8015CFA0 00073C03 */ sra $a3, $a3, 16
  2078. /* 187705 0x8015CFA4 28E103E8 */ slti $at, $a3, 1000
  2079. /* 187706 0x8015CFA8 254B0001 */ addiu $t3, $t2, 1
  2080. /* 187707 0x8015CFAC 1020FFF9 */ beqz $at, .L_8015CF94
  2081. /* 187708 0x8015CFB0 A7AB00C8 */ sh $t3, 0xC8($sp)
  2082. .L_8015CFB4:
  2083. /* 187709 0x8015CFB4 28E10064 */ slti $at, $a3, 100
  2084. /* 187710 0x8015CFB8 5420000A */ bnezl $at, .L_8015CFE4
  2085. /* 187711 0x8015CFBC 28E1000A */ slti $at, $a3, 10
  2086. .L_8015CFC0:
  2087. /* 187712 0x8015CFC0 87AE00CA */ lh $t6, 0xCA($sp)
  2088. /* 187713 0x8015CFC4 24E7FF9C */ addiu $a3, $a3, -100
  2089. /* 187714 0x8015CFC8 00073C00 */ sll $a3, $a3, 16
  2090. /* 187715 0x8015CFCC 00073C03 */ sra $a3, $a3, 16
  2091. /* 187716 0x8015CFD0 28E10064 */ slti $at, $a3, 100
  2092. /* 187717 0x8015CFD4 25CC0001 */ addiu $t4, $t6, 1
  2093. /* 187718 0x8015CFD8 1020FFF9 */ beqz $at, .L_8015CFC0
  2094. /* 187719 0x8015CFDC A7AC00CA */ sh $t4, 0xCA($sp)
  2095. /* 187720 0x8015CFE0 28E1000A */ slti $at, $a3, 10
  2096. .L_8015CFE4:
  2097. /* 187721 0x8015CFE4 5420000A */ bnezl $at, .L_8015D010
  2098. /* 187722 0x8015CFE8 24010003 */ li $at, 3
  2099. .L_8015CFEC:
  2100. /* 187723 0x8015CFEC 87B800CC */ lh $t8, 0xCC($sp)
  2101. /* 187724 0x8015CFF0 24E7FFF6 */ addiu $a3, $a3, -10
  2102. /* 187725 0x8015CFF4 00073C00 */ sll $a3, $a3, 16
  2103. /* 187726 0x8015CFF8 00073C03 */ sra $a3, $a3, 16
  2104. /* 187727 0x8015CFFC 28E1000A */ slti $at, $a3, 10
  2105. /* 187728 0x8015D000 27190001 */ addiu $t9, $t8, 1
  2106. /* 187729 0x8015D004 1020FFF9 */ beqz $at, .L_8015CFEC
  2107. /* 187730 0x8015D008 A7B900CC */ sh $t9, 0xCC($sp)
  2108. /* 187731 0x8015D00C 24010003 */ li $at, 3
  2109. .L_8015D010:
  2110. /* 187732 0x8015D010 12210007 */ beq $s1, $at, .L_8015D030
  2111. /* 187733 0x8015D014 00116840 */ sll $t5, $s1, 1
  2112. /* 187734 0x8015D018 02AD4821 */ addu $t1, $s5, $t5
  2113. /* 187735 0x8015D01C A7A700CE */ sh $a3, 0xCE($sp)
  2114. /* 187736 0x8015D020 85280000 */ lh $t0, 0x0($t1)
  2115. /* 187737 0x8015D024 11000004 */ beqz $t0, .L_8015D038
  2116. /* 187738 0x8015D028 00000000 */ nop
  2117. /* 187739 0x8015D02C 87A700CE */ lh $a3, 0xCE($sp)
  2118. .L_8015D030:
  2119. /* 187740 0x8015D030 24120001 */ li $s2, 1
  2120. /* 187741 0x8015D034 A7A700CE */ sh $a3, 0xCE($sp)
  2121. .L_8015D038:
  2122. /* 187742 0x8015D038 1240001C */ beqz $s2, .L_8015D0AC
  2123. /* 187743 0x8015D03C 87A700CE */ lh $a3, 0xCE($sp)
  2124. /* 187744 0x8015D040 00117840 */ sll $t7, $s1, 1
  2125. /* 187745 0x8015D044 02AF8021 */ addu $s0, $s5, $t7
  2126. /* 187746 0x8015D048 86050000 */ lh $a1, 0x0($s0)
  2127. /* 187747 0x8015D04C 02802025 */ move $a0, $s4
  2128. /* 187748 0x8015D050 8FA600BC */ lw $a2, 0xBC($sp)
  2129. /* 187749 0x8015D054 24A50030 */ addiu $a1, $a1, 48
  2130. /* 187750 0x8015D058 0C03D3D5 */ jal func_800F4F54
  2131. /* 187751 0x8015D05C 30A500FF */ andi $a1, $a1, 0xFF
  2132. /* 187752 0x8015D060 8FAA00BC */ lw $t2, 0xBC($sp)
  2133. /* 187753 0x8015D064 87B800DA */ lh $t8, 0xDA($sp)
  2134. /* 187754 0x8015D068 254B0080 */ addiu $t3, $t2, 128
  2135. /* 187755 0x8015D06C AFAB00BC */ sw $t3, 0xBC($sp)
  2136. /* 187756 0x8015D070 860E0000 */ lh $t6, 0x0($s0)
  2137. /* 187757 0x8015D074 02D8C821 */ addu $t9, $s6, $t8
  2138. /* 187758 0x8015D078 03376821 */ addu $t5, $t9, $s7
  2139. /* 187759 0x8015D07C 25CC0030 */ addiu $t4, $t6, 48
  2140. /* 187760 0x8015D080 A1AC1F24 */ sb $t4, 0x1F24($t5)
  2141. /* 187761 0x8015D084 87A900DA */ lh $t1, 0xDA($sp)
  2142. /* 187762 0x8015D088 8FAF0070 */ lw $t7, 0x70($sp)
  2143. /* 187763 0x8015D08C C7AA00A4 */ lwc1 $f10, 0xA4($sp)
  2144. /* 187764 0x8015D090 25280001 */ addiu $t0, $t1, 1
  2145. /* 187765 0x8015D094 A7A800DA */ sh $t0, 0xDA($sp)
  2146. /* 187766 0x8015D098 C5E42098 */ lwc1 $f4, 0x2098($t7)
  2147. /* 187767 0x8015D09C 87A700CE */ lh $a3, 0xCE($sp)
  2148. /* 187768 0x8015D0A0 4604B202 */ mul.s $f8, $f22, $f4
  2149. /* 187769 0x8015D0A4 46085480 */ add.s $f18, $f10, $f8
  2150. /* 187770 0x8015D0A8 E7B200A4 */ swc1 $f18, 0xA4($sp)
  2151. .L_8015D0AC:
  2152. /* 187771 0x8015D0AC 26310001 */ addiu $s1, $s1, 1
  2153. /* 187772 0x8015D0B0 00118C00 */ sll $s1, $s1, 16
  2154. /* 187773 0x8015D0B4 00118C03 */ sra $s1, $s1, 16
  2155. /* 187774 0x8015D0B8 2A210004 */ slti $at, $s1, 4
  2156. /* 187775 0x8015D0BC 5420FFD4 */ bnezl $at, .L_8015D010
  2157. /* 187776 0x8015D0C0 24010003 */ li $at, 3
  2158. /* 187777 0x8015D0C4 87AA00DA */ lh $t2, 0xDA($sp)
  2159. /* 187778 0x8015D0C8 A7A700CE */ sh $a3, 0xCE($sp)
  2160. /* 187779 0x8015D0CC 254BFFFF */ addiu $t3, $t2, -1
  2161. /* 187780 0x8015D0D0 10000584 */ b .L_8015E6E4
  2162. /* 187781 0x8015D0D4 A7AB00DA */ sh $t3, 0xDA($sp)
  2163. /* 187782 0x8015D0D8 240100DC */ li $at, 220
  2164. .L_8015D0DC:
  2165. /* 187783 0x8015D0DC 10610005 */ beq $v1, $at, .L_8015D0F4
  2166. /* 187784 0x8015D0E0 A7A700CE */ sh $a3, 0xCE($sp)
  2167. /* 187785 0x8015D0E4 240100DD */ li $at, 221
  2168. /* 187786 0x8015D0E8 54610044 */ bnel $v1, $at, .L_8015D1FC
  2169. /* 187787 0x8015D0EC 240100DE */ li $at, 222
  2170. /* 187788 0x8015D0F0 A7A700CE */ sh $a3, 0xCE($sp)
  2171. .L_8015D0F4:
  2172. /* 187789 0x8015D0F4 240100DC */ li $at, 220
  2173. /* 187790 0x8015D0F8 14610012 */ bne $v1, $at, .L_8015D144
  2174. /* 187791 0x8015D0FC 00008825 */ move $s1, $zero
  2175. /* 187792 0x8015D100 3C02801F */ lui $v0, %hi(D_801EF688)
  2176. /* 187793 0x8015D104 8C42F688 */ lw $v0, %lo(D_801EF688)($v0)
  2177. /* 187794 0x8015D108 24010005 */ li $at, 5
  2178. /* 187795 0x8015D10C 3C19801F */ lui $t9, %hi(D_801EF670)
  2179. /* 187796 0x8015D110 0041001A */ div $zero, $v0, $at
  2180. /* 187797 0x8015D114 00007010 */ mfhi $t6
  2181. /* 187798 0x8015D118 000EC080 */ sll $t8, $t6, 2
  2182. /* 187799 0x8015D11C 030EC023 */ subu $t8, $t8, $t6
  2183. /* 187800 0x8015D120 2739F670 */ addiu $t9, %lo(D_801EF670)
  2184. /* 187801 0x8015D124 03191821 */ addu $v1, $t8, $t9
  2185. /* 187802 0x8015D128 806C0FE9 */ lb $t4, 0xFE9($v1)
  2186. /* 187803 0x8015D12C 806D0FEA */ lb $t5, 0xFEA($v1)
  2187. /* 187804 0x8015D130 80690FEB */ lb $t1, 0xFEB($v1)
  2188. /* 187805 0x8015D134 A7AC00C8 */ sh $t4, 0xC8($sp)
  2189. /* 187806 0x8015D138 A7AD00CA */ sh $t5, 0xCA($sp)
  2190. /* 187807 0x8015D13C 1000000B */ b .L_8015D16C
  2191. /* 187808 0x8015D140 A7A900CC */ sh $t1, 0xCC($sp)
  2192. .L_8015D144:
  2193. /* 187809 0x8015D144 3C02801F */ lui $v0, %hi(D_801F0560)
  2194. /* 187810 0x8015D148 8C420560 */ lw $v0, %lo(D_801F0560)($v0)
  2195. /* 187811 0x8015D14C 30480F00 */ andi $t0, $v0, 0xF00
  2196. /* 187812 0x8015D150 304A00F0 */ andi $t2, $v0, 0xF0
  2197. /* 187813 0x8015D154 00087A02 */ srl $t7, $t0, 8
  2198. /* 187814 0x8015D158 000A5902 */ srl $t3, $t2, 4
  2199. /* 187815 0x8015D15C 304E000F */ andi $t6, $v0, 0xF
  2200. /* 187816 0x8015D160 A7AF00C8 */ sh $t7, 0xC8($sp)
  2201. /* 187817 0x8015D164 A7AB00CA */ sh $t3, 0xCA($sp)
  2202. /* 187818 0x8015D168 A7AE00CC */ sh $t6, 0xCC($sp)
  2203. .L_8015D16C:
  2204. /* 187819 0x8015D16C 0011C040 */ sll $t8, $s1, 1
  2205. /* 187820 0x8015D170 02B88021 */ addu $s0, $s5, $t8
  2206. /* 187821 0x8015D174 86050000 */ lh $a1, 0x0($s0)
  2207. /* 187822 0x8015D178 02802025 */ move $a0, $s4
  2208. /* 187823 0x8015D17C 8FA600BC */ lw $a2, 0xBC($sp)
  2209. /* 187824 0x8015D180 24A50030 */ addiu $a1, $a1, 48
  2210. /* 187825 0x8015D184 0C03D3D5 */ jal func_800F4F54
  2211. /* 187826 0x8015D188 30A500FF */ andi $a1, $a1, 0xFF
  2212. /* 187827 0x8015D18C 8FB900BC */ lw $t9, 0xBC($sp)
  2213. /* 187828 0x8015D190 87A800DA */ lh $t0, 0xDA($sp)
  2214. /* 187829 0x8015D194 26310001 */ addiu $s1, $s1, 1
  2215. /* 187830 0x8015D198 272C0080 */ addiu $t4, $t9, 128
  2216. /* 187831 0x8015D19C AFAC00BC */ sw $t4, 0xBC($sp)
  2217. /* 187832 0x8015D1A0 860D0000 */ lh $t5, 0x0($s0)
  2218. /* 187833 0x8015D1A4 02C87821 */ addu $t7, $s6, $t0
  2219. /* 187834 0x8015D1A8 01F75021 */ addu $t2, $t7, $s7
  2220. /* 187835 0x8015D1AC 25A90030 */ addiu $t1, $t5, 48
  2221. /* 187836 0x8015D1B0 A1491F24 */ sb $t1, 0x1F24($t2)
  2222. /* 187837 0x8015D1B4 87AB00DA */ lh $t3, 0xDA($sp)
  2223. /* 187838 0x8015D1B8 8FB80070 */ lw $t8, 0x70($sp)
  2224. /* 187839 0x8015D1BC C7A600A4 */ lwc1 $f6, 0xA4($sp)
  2225. /* 187840 0x8015D1C0 256E0001 */ addiu $t6, $t3, 1
  2226. /* 187841 0x8015D1C4 A7AE00DA */ sh $t6, 0xDA($sp)
  2227. /* 187842 0x8015D1C8 C7102098 */ lwc1 $f16, 0x2098($t8)
  2228. /* 187843 0x8015D1CC 00118C00 */ sll $s1, $s1, 16
  2229. /* 187844 0x8015D1D0 00118C03 */ sra $s1, $s1, 16
  2230. /* 187845 0x8015D1D4 4610B102 */ mul.s $f4, $f22, $f16
  2231. /* 187846 0x8015D1D8 2A210003 */ slti $at, $s1, 3
  2232. /* 187847 0x8015D1DC 46043280 */ add.s $f10, $f6, $f4
  2233. /* 187848 0x8015D1E0 1420FFE2 */ bnez $at, .L_8015D16C
  2234. /* 187849 0x8015D1E4 E7AA00A4 */ swc1 $f10, 0xA4($sp)
  2235. /* 187850 0x8015D1E8 87B900DA */ lh $t9, 0xDA($sp)
  2236. /* 187851 0x8015D1EC 272CFFFF */ addiu $t4, $t9, -1
  2237. /* 187852 0x8015D1F0 1000053C */ b .L_8015E6E4
  2238. /* 187853 0x8015D1F4 A7AC00DA */ sh $t4, 0xDA($sp)
  2239. /* 187854 0x8015D1F8 240100DE */ li $at, 222
  2240. .L_8015D1FC:
  2241. /* 187855 0x8015D1FC 54610073 */ bnel $v1, $at, .L_8015D3CC
  2242. /* 187856 0x8015D200 240100DF */ li $at, 223
  2243. /* 187857 0x8015D204 8FAD00DC */ lw $t5, 0xDC($sp)
  2244. /* 187858 0x8015D208 A7A700CE */ sh $a3, 0xCE($sp)
  2245. /* 187859 0x8015D20C A7A000CC */ sh $zero, 0xCC($sp)
  2246. /* 187860 0x8015D210 A7A000CA */ sh $zero, 0xCA($sp)
  2247. /* 187861 0x8015D214 A7A000C8 */ sh $zero, 0xC8($sp)
  2248. /* 187862 0x8015D218 81A40146 */ lb $a0, 0x146($t5)
  2249. /* 187863 0x8015D21C 00008825 */ move $s1, $zero
  2250. /* 187864 0x8015D220 00009025 */ move $s2, $zero
  2251. /* 187865 0x8015D224 1480000E */ bnez $a0, .L_8015D260
  2252. /* 187866 0x8015D228 3C02801F */ lui $v0, %hi(D_801EF690)
  2253. /* 187867 0x8015D22C 9042F690 */ lbu $v0, %lo(D_801EF690)($v0)
  2254. /* 187868 0x8015D230 24010004 */ li $at, 4
  2255. /* 187869 0x8015D234 54410004 */ bnel $v0, $at, .L_8015D248
  2256. /* 187870 0x8015D238 00401825 */ move $v1, $v0
  2257. /* 187871 0x8015D23C 10000002 */ b .L_8015D248
  2258. /* 187872 0x8015D240 00001825 */ move $v1, $zero
  2259. /* 187873 0x8015D244 00401825 */ move $v1, $v0
  2260. .L_8015D248:
  2261. /* 187874 0x8015D248 00034080 */ sll $t0, $v1, 2
  2262. /* 187875 0x8015D24C 01047821 */ addu $t7, $t0, $a0
  2263. /* 187876 0x8015D250 3C02801F */ lui $v0, %hi(D_801EF6BC)
  2264. /* 187877 0x8015D254 004F1021 */ addu $v0, $v0, $t7
  2265. /* 187878 0x8015D258 10000004 */ b .L_8015D26C
  2266. /* 187879 0x8015D25C 9042F6BC */ lbu $v0, %lo(D_801EF6BC)($v0)
  2267. .L_8015D260:
  2268. /* 187880 0x8015D260 3C02801F */ lui $v0, %hi(D_801EF6BC)
  2269. /* 187881 0x8015D264 00441021 */ addu $v0, $v0, $a0
  2270. /* 187882 0x8015D268 9042F6BC */ lbu $v0, %lo(D_801EF6BC)($v0)
  2271. .L_8015D26C:
  2272. /* 187883 0x8015D26C 304900FF */ andi $t1, $v0, 0xFF
  2273. /* 187884 0x8015D270 00095040 */ sll $t2, $t1, 1
  2274. /* 187885 0x8015D274 3C07801C */ lui $a3, %hi(D_801C20C8)
  2275. /* 187886 0x8015D278 00EA3821 */ addu $a3, $a3, $t2
  2276. /* 187887 0x8015D27C 84E720C8 */ lh $a3, %lo(D_801C20C8)($a3)
  2277. /* 187888 0x8015D280 28E103E8 */ slti $at, $a3, 1000
  2278. /* 187889 0x8015D284 5420000A */ bnezl $at, .L_8015D2B0
  2279. /* 187890 0x8015D288 28E10064 */ slti $at, $a3, 100
  2280. .L_8015D28C:
  2281. /* 187891 0x8015D28C 87AB00C8 */ lh $t3, 0xC8($sp)
  2282. /* 187892 0x8015D290 24E7FC18 */ addiu $a3, $a3, -1000
  2283. /* 187893 0x8015D294 00073C00 */ sll $a3, $a3, 16
  2284. /* 187894 0x8015D298 00073C03 */ sra $a3, $a3, 16
  2285. /* 187895 0x8015D29C 28E103E8 */ slti $at, $a3, 1000
  2286. /* 187896 0x8015D2A0 256E0001 */ addiu $t6, $t3, 1
  2287. /* 187897 0x8015D2A4 1020FFF9 */ beqz $at, .L_8015D28C
  2288. /* 187898 0x8015D2A8 A7AE00C8 */ sh $t6, 0xC8($sp)
  2289. /* 187899 0x8015D2AC 28E10064 */ slti $at, $a3, 100
  2290. .L_8015D2B0:
  2291. /* 187900 0x8015D2B0 5420000A */ bnezl $at, .L_8015D2DC
  2292. /* 187901 0x8015D2B4 28E1000A */ slti $at, $a3, 10
  2293. .L_8015D2B8:
  2294. /* 187902 0x8015D2B8 87B800CA */ lh $t8, 0xCA($sp)
  2295. /* 187903 0x8015D2BC 24E7FF9C */ addiu $a3, $a3, -100
  2296. /* 187904 0x8015D2C0 00073C00 */ sll $a3, $a3, 16
  2297. /* 187905 0x8015D2C4 00073C03 */ sra $a3, $a3, 16
  2298. /* 187906 0x8015D2C8 28E10064 */ slti $at, $a3, 100
  2299. /* 187907 0x8015D2CC 27190001 */ addiu $t9, $t8, 1
  2300. /* 187908 0x8015D2D0 1020FFF9 */ beqz $at, .L_8015D2B8
  2301. /* 187909 0x8015D2D4 A7B900CA */ sh $t9, 0xCA($sp)
  2302. /* 187910 0x8015D2D8 28E1000A */ slti $at, $a3, 10
  2303. .L_8015D2DC:
  2304. /* 187911 0x8015D2DC 1420000A */ bnez $at, .L_8015D308
  2305. /* 187912 0x8015D2E0 A7A700CE */ sh $a3, 0xCE($sp)
  2306. .L_8015D2E4:
  2307. /* 187913 0x8015D2E4 87AC00CC */ lh $t4, 0xCC($sp)
  2308. /* 187914 0x8015D2E8 24E7FFF6 */ addiu $a3, $a3, -10
  2309. /* 187915 0x8015D2EC 00073C00 */ sll $a3, $a3, 16
  2310. /* 187916 0x8015D2F0 00073C03 */ sra $a3, $a3, 16
  2311. /* 187917 0x8015D2F4 28E1000A */ slti $at, $a3, 10
  2312. /* 187918 0x8015D2F8 258D0001 */ addiu $t5, $t4, 1
  2313. /* 187919 0x8015D2FC 1020FFF9 */ beqz $at, .L_8015D2E4
  2314. /* 187920 0x8015D300 A7AD00CC */ sh $t5, 0xCC($sp)
  2315. /* 187921 0x8015D304 A7A700CE */ sh $a3, 0xCE($sp)
  2316. .L_8015D308:
  2317. /* 187922 0x8015D308 24010003 */ li $at, 3
  2318. .L_8015D30C:
  2319. /* 187923 0x8015D30C 12210005 */ beq $s1, $at, .L_8015D324
  2320. /* 187924 0x8015D310 00114040 */ sll $t0, $s1, 1
  2321. /* 187925 0x8015D314 02A87821 */ addu $t7, $s5, $t0
  2322. /* 187926 0x8015D318 85E90000 */ lh $t1, 0x0($t7)
  2323. /* 187927 0x8015D31C 11200002 */ beqz $t1, .L_8015D328
  2324. /* 187928 0x8015D320 00000000 */ nop
  2325. .L_8015D324:
  2326. /* 187929 0x8015D324 24120001 */ li $s2, 1
  2327. .L_8015D328:
  2328. /* 187930 0x8015D328 1240001A */ beqz $s2, .L_8015D394
  2329. /* 187931 0x8015D32C 00115040 */ sll $t2, $s1, 1
  2330. /* 187932 0x8015D330 02AA8021 */ addu $s0, $s5, $t2
  2331. /* 187933 0x8015D334 86050000 */ lh $a1, 0x0($s0)
  2332. /* 187934 0x8015D338 02802025 */ move $a0, $s4
  2333. /* 187935 0x8015D33C 8FA600BC */ lw $a2, 0xBC($sp)
  2334. /* 187936 0x8015D340 24A50030 */ addiu $a1, $a1, 48
  2335. /* 187937 0x8015D344 0C03D3D5 */ jal func_800F4F54
  2336. /* 187938 0x8015D348 30A500FF */ andi $a1, $a1, 0xFF
  2337. /* 187939 0x8015D34C 8FAB00BC */ lw $t3, 0xBC($sp)
  2338. /* 187940 0x8015D350 87AC00DA */ lh $t4, 0xDA($sp)
  2339. /* 187941 0x8015D354 256E0080 */ addiu $t6, $t3, 128
  2340. /* 187942 0x8015D358 AFAE00BC */ sw $t6, 0xBC($sp)
  2341. /* 187943 0x8015D35C 86180000 */ lh $t8, 0x0($s0)
  2342. /* 187944 0x8015D360 02CC6821 */ addu $t5, $s6, $t4
  2343. /* 187945 0x8015D364 01B74021 */ addu $t0, $t5, $s7
  2344. /* 187946 0x8015D368 27190030 */ addiu $t9, $t8, 48
  2345. /* 187947 0x8015D36C A1191F24 */ sb $t9, 0x1F24($t0)
  2346. /* 187948 0x8015D370 87AF00DA */ lh $t7, 0xDA($sp)
  2347. /* 187949 0x8015D374 8FAA0070 */ lw $t2, 0x70($sp)
  2348. /* 187950 0x8015D378 C7A800A4 */ lwc1 $f8, 0xA4($sp)
  2349. /* 187951 0x8015D37C 25E90001 */ addiu $t1, $t7, 1
  2350. /* 187952 0x8015D380 A7A900DA */ sh $t1, 0xDA($sp)
  2351. /* 187953 0x8015D384 C5522098 */ lwc1 $f18, 0x2098($t2)
  2352. /* 187954 0x8015D388 4612B402 */ mul.s $f16, $f22, $f18
  2353. /* 187955 0x8015D38C 46104180 */ add.s $f6, $f8, $f16
  2354. /* 187956 0x8015D390 E7A600A4 */ swc1 $f6, 0xA4($sp)
  2355. .L_8015D394:
  2356. /* 187957 0x8015D394 26310001 */ addiu $s1, $s1, 1
  2357. /* 187958 0x8015D398 00118C00 */ sll $s1, $s1, 16
  2358. /* 187959 0x8015D39C 00118C03 */ sra $s1, $s1, 16
  2359. /* 187960 0x8015D3A0 2A210004 */ slti $at, $s1, 4
  2360. /* 187961 0x8015D3A4 5420FFD9 */ bnezl $at, .L_8015D30C
  2361. /* 187962 0x8015D3A8 24010003 */ li $at, 3
  2362. /* 187963 0x8015D3AC 02802025 */ move $a0, $s4
  2363. /* 187964 0x8015D3B0 27A500DA */ addiu $a1, $sp, 218
  2364. /* 187965 0x8015D3B4 03C03025 */ move $a2, $fp
  2365. /* 187966 0x8015D3B8 0C056289 */ jal func_80158A24
  2366. /* 187967 0x8015D3BC 27A700A4 */ addiu $a3, $sp, 164
  2367. /* 187968 0x8015D3C0 100004C9 */ b .L_8015E6E8
  2368. /* 187969 0x8015D3C4 87AA00DA */ lh $t2, 0xDA($sp)
  2369. /* 187970 0x8015D3C8 240100DF */ li $at, 223
  2370. .L_8015D3CC:
  2371. /* 187971 0x8015D3CC 5461002B */ bnel $v1, $at, .L_8015D47C
  2372. /* 187972 0x8015D3D0 286100E1 */ slti $at, $v1, 225
  2373. /* 187973 0x8015D3D4 A7A700CE */ sh $a3, 0xCE($sp)
  2374. /* 187974 0x8015D3D8 00008825 */ move $s1, $zero
  2375. .L_8015D3DC:
  2376. /* 187975 0x8015D3DC 3C0E801F */ lui $t6, %hi(D_801F066B)
  2377. /* 187976 0x8015D3E0 01D17021 */ addu $t6, $t6, $s1
  2378. /* 187977 0x8015D3E4 81CE066B */ lb $t6, %lo(D_801F066B)($t6)
  2379. /* 187978 0x8015D3E8 00115840 */ sll $t3, $s1, 1
  2380. /* 187979 0x8015D3EC 02AB8021 */ addu $s0, $s5, $t3
  2381. /* 187980 0x8015D3F0 A60E0000 */ sh $t6, 0x0($s0)
  2382. /* 187981 0x8015D3F4 86050000 */ lh $a1, 0x0($s0)
  2383. /* 187982 0x8015D3F8 8FA600BC */ lw $a2, 0xBC($sp)
  2384. /* 187983 0x8015D3FC 02802025 */ move $a0, $s4
  2385. /* 187984 0x8015D400 24A50030 */ addiu $a1, $a1, 48
  2386. /* 187985 0x8015D404 0C03D3D5 */ jal func_800F4F54
  2387. /* 187986 0x8015D408 30A500FF */ andi $a1, $a1, 0xFF
  2388. /* 187987 0x8015D40C 8FB800BC */ lw $t8, 0xBC($sp)
  2389. /* 187988 0x8015D410 87A800DA */ lh $t0, 0xDA($sp)
  2390. /* 187989 0x8015D414 26310001 */ addiu $s1, $s1, 1
  2391. /* 187990 0x8015D418 270C0080 */ addiu $t4, $t8, 128
  2392. /* 187991 0x8015D41C AFAC00BC */ sw $t4, 0xBC($sp)
  2393. /* 187992 0x8015D420 860D0000 */ lh $t5, 0x0($s0)
  2394. /* 187993 0x8015D424 02C87821 */ addu $t7, $s6, $t0
  2395. /* 187994 0x8015D428 01F74821 */ addu $t1, $t7, $s7
  2396. /* 187995 0x8015D42C 25B90030 */ addiu $t9, $t5, 48
  2397. /* 187996 0x8015D430 A1391F24 */ sb $t9, 0x1F24($t1)
  2398. /* 187997 0x8015D434 87AA00DA */ lh $t2, 0xDA($sp)
  2399. /* 187998 0x8015D438 8FAE0070 */ lw $t6, 0x70($sp)
  2400. /* 187999 0x8015D43C C7A400A4 */ lwc1 $f4, 0xA4($sp)
  2401. /* 188000 0x8015D440 254B0001 */ addiu $t3, $t2, 1
  2402. /* 188001 0x8015D444 A7AB00DA */ sh $t3, 0xDA($sp)
  2403. /* 188002 0x8015D448 C5CA2098 */ lwc1 $f10, 0x2098($t6)
  2404. /* 188003 0x8015D44C 00118C00 */ sll $s1, $s1, 16
  2405. /* 188004 0x8015D450 00118C03 */ sra $s1, $s1, 16
  2406. /* 188005 0x8015D454 460AB482 */ mul.s $f18, $f22, $f10
  2407. /* 188006 0x8015D458 2A210005 */ slti $at, $s1, 5
  2408. /* 188007 0x8015D45C 46122200 */ add.s $f8, $f4, $f18
  2409. /* 188008 0x8015D460 1420FFDE */ bnez $at, .L_8015D3DC
  2410. /* 188009 0x8015D464 E7A800A4 */ swc1 $f8, 0xA4($sp)
  2411. /* 188010 0x8015D468 87B800DA */ lh $t8, 0xDA($sp)
  2412. /* 188011 0x8015D46C 270CFFFF */ addiu $t4, $t8, -1
  2413. /* 188012 0x8015D470 1000049C */ b .L_8015E6E4
  2414. /* 188013 0x8015D474 A7AC00DA */ sh $t4, 0xDA($sp)
  2415. /* 188014 0x8015D478 286100E1 */ slti $at, $v1, 225
  2416. .L_8015D47C:
  2417. /* 188015 0x8015D47C 14200035 */ bnez $at, .L_8015D554
  2418. /* 188016 0x8015D480 286100E7 */ slti $at, $v1, 231
  2419. /* 188017 0x8015D484 10200033 */ beqz $at, .L_8015D554
  2420. /* 188018 0x8015D488 246DFF1F */ addiu $t5, $v1, -225
  2421. /* 188019 0x8015D48C 000D4400 */ sll $t0, $t5, 16
  2422. /* 188020 0x8015D490 3C19801F */ lui $t9, %hi(D_801EF670)
  2423. /* 188021 0x8015D494 2739F670 */ addiu $t9, %lo(D_801EF670)
  2424. /* 188022 0x8015D498 00087C03 */ sra $t7, $t0, 16
  2425. /* 188023 0x8015D49C 01F98821 */ addu $s1, $t7, $t9
  2426. /* 188024 0x8015D4A0 82220FF5 */ lb $v0, 0xFF5($s1)
  2427. /* 188025 0x8015D4A4 87AA00DA */ lh $t2, 0xDA($sp)
  2428. /* 188026 0x8015D4A8 3C09801D */ lui $t1, %hi(D_801D08E4)
  2429. /* 188027 0x8015D4AC 01224821 */ addu $t1, $t1, $v0
  2430. /* 188028 0x8015D4B0 912908E4 */ lbu $t1, %lo(D_801D08E4)($t1)
  2431. /* 188029 0x8015D4B4 02CA5821 */ addu $t3, $s6, $t2
  2432. /* 188030 0x8015D4B8 A7A700CE */ sh $a3, 0xCE($sp)
  2433. /* 188031 0x8015D4BC 01777021 */ addu $t6, $t3, $s7
  2434. /* 188032 0x8015D4C0 A1C91F24 */ sb $t1, 0x1F24($t6)
  2435. /* 188033 0x8015D4C4 82220FF5 */ lb $v0, 0xFF5($s1)
  2436. /* 188034 0x8015D4C8 3C12801D */ lui $s2, %hi(D_801D0900)
  2437. /* 188035 0x8015D4CC 87B800DA */ lh $t8, 0xDA($sp)
  2438. /* 188036 0x8015D4D0 02429021 */ addu $s2, $s2, $v0
  2439. /* 188037 0x8015D4D4 92520900 */ lbu $s2, %lo(D_801D0900)($s2)
  2440. /* 188038 0x8015D4D8 270C0001 */ addiu $t4, $t8, 1
  2441. /* 188039 0x8015D4DC A7AC00DA */ sh $t4, 0xDA($sp)
  2442. /* 188040 0x8015D4E0 1A400017 */ blez $s2, .L_8015D540
  2443. /* 188041 0x8015D4E4 00008025 */ move $s0, $zero
  2444. .L_8015D4E8:
  2445. /* 188042 0x8015D4E8 82220FF5 */ lb $v0, 0xFF5($s1)
  2446. /* 188043 0x8015D4EC 87AF00DA */ lh $t7, 0xDA($sp)
  2447. /* 188044 0x8015D4F0 3C05801D */ lui $a1, %hi(D_801D08E8)
  2448. /* 188045 0x8015D4F4 00026880 */ sll $t5, $v0, 2
  2449. /* 188046 0x8015D4F8 01A26823 */ subu $t5, $t5, $v0
  2450. /* 188047 0x8015D4FC 000D6840 */ sll $t5, $t5, 1
  2451. /* 188048 0x8015D500 01B04021 */ addu $t0, $t5, $s0
  2452. /* 188049 0x8015D504 00A82821 */ addu $a1, $a1, $t0
  2453. /* 188050 0x8015D508 90A508E8 */ lbu $a1, %lo(D_801D08E8)($a1)
  2454. /* 188051 0x8015D50C 02802025 */ move $a0, $s4
  2455. /* 188052 0x8015D510 03C03025 */ move $a2, $fp
  2456. /* 188053 0x8015D514 27A700A4 */ addiu $a3, $sp, 164
  2457. /* 188054 0x8015D518 0C056262 */ jal func_80158988
  2458. /* 188055 0x8015D51C AFAF0010 */ sw $t7, 0x10($sp)
  2459. /* 188056 0x8015D520 87B900DA */ lh $t9, 0xDA($sp)
  2460. /* 188057 0x8015D524 26100001 */ addiu $s0, $s0, 1
  2461. /* 188058 0x8015D528 00108400 */ sll $s0, $s0, 16
  2462. /* 188059 0x8015D52C 00108403 */ sra $s0, $s0, 16
  2463. /* 188060 0x8015D530 0212082A */ slt $at, $s0, $s2
  2464. /* 188061 0x8015D534 272A0001 */ addiu $t2, $t9, 1
  2465. /* 188062 0x8015D538 1420FFEB */ bnez $at, .L_8015D4E8
  2466. /* 188063 0x8015D53C A7AA00DA */ sh $t2, 0xDA($sp)
  2467. .L_8015D540:
  2468. /* 188064 0x8015D540 87AB00DA */ lh $t3, 0xDA($sp)
  2469. /* 188065 0x8015D544 02CB4821 */ addu $t1, $s6, $t3
  2470. /* 188066 0x8015D548 01377021 */ addu $t6, $t1, $s7
  2471. /* 188067 0x8015D54C 10000465 */ b .L_8015E6E4
  2472. /* 188068 0x8015D550 A1C01F24 */ sb $zero, 0x1F24($t6)
  2473. .L_8015D554:
  2474. /* 188069 0x8015D554 240100E7 */ li $at, 231
  2475. /* 188070 0x8015D558 14610093 */ bne $v1, $at, .L_8015D7A8
  2476. /* 188071 0x8015D55C 3C02801F */ lui $v0, %hi(D_801EF688)
  2477. /* 188072 0x8015D560 8C42F688 */ lw $v0, %lo(D_801EF688)($v0)
  2478. /* 188073 0x8015D564 24010005 */ li $at, 5
  2479. /* 188074 0x8015D568 3C08801F */ lui $t0, %hi(D_801EF67C)
  2480. /* 188075 0x8015D56C 0041001A */ div $zero, $v0, $at
  2481. /* 188076 0x8015D570 9508F67C */ lhu $t0, %lo(D_801EF67C)($t0)
  2482. /* 188077 0x8015D574 0000C010 */ mfhi $t8
  2483. /* 188078 0x8015D578 00186400 */ sll $t4, $t8, 16
  2484. /* 188079 0x8015D57C 250FC000 */ addiu $t7, $t0, -16384
  2485. /* 188080 0x8015D580 31F9FFFF */ andi $t9, $t7, 0xFFFF
  2486. /* 188081 0x8015D584 000C6823 */ negu $t5, $t4
  2487. /* 188082 0x8015D588 01B91823 */ subu $v1, $t5, $t9
  2488. /* 188083 0x8015D58C 3C010004 */ lui $at, 0x0004
  2489. /* 188084 0x8015D590 00611821 */ addu $v1, $v1, $at
  2490. /* 188085 0x8015D594 44838000 */ mtc1 $v1, $f16
  2491. /* 188086 0x8015D598 A7A700CE */ sh $a3, 0xCE($sp)
  2492. /* 188087 0x8015D59C A7A000C8 */ sh $zero, 0xC8($sp)
  2493. /* 188088 0x8015D5A0 04610005 */ bgez $v1, .L_8015D5B8
  2494. /* 188089 0x8015D5A4 468081A0 */ cvt.s.w $f6, $f16
  2495. /* 188090 0x8015D5A8 3C014F80 */ lui $at, 0x4F80
  2496. /* 188091 0x8015D5AC 44815000 */ mtc1 $at, $f10
  2497. /* 188092 0x8015D5B0 00000000 */ nop
  2498. /* 188093 0x8015D5B4 460A3180 */ add.s $f6, $f6, $f10
  2499. .L_8015D5B8:
  2500. /* 188094 0x8015D5B8 3C013CB4 */ lui $at, 0x3CB4
  2501. /* 188095 0x8015D5BC 44812000 */ mtc1 $at, $f4
  2502. /* 188096 0x8015D5C0 3C014270 */ lui $at, 0x4270
  2503. /* 188097 0x8015D5C4 44814000 */ mtc1 $at, $f8
  2504. /* 188098 0x8015D5C8 46043482 */ mul.s $f18, $f6, $f4
  2505. /* 188099 0x8015D5CC 00008825 */ move $s1, $zero
  2506. /* 188100 0x8015D5D0 00009025 */ move $s2, $zero
  2507. /* 188101 0x8015D5D4 46089403 */ div.s $f16, $f18, $f8
  2508. /* 188102 0x8015D5D8 4600828D */ trunc.w.s $f10, $f16
  2509. /* 188103 0x8015D5DC 440B5000 */ mfc1 $t3, $f10
  2510. /* 188104 0x8015D5E0 00000000 */ nop
  2511. /* 188105 0x8015D5E4 000B4C00 */ sll $t1, $t3, 16
  2512. /* 188106 0x8015D5E8 00097403 */ sra $t6, $t1, 16
  2513. /* 188107 0x8015D5EC 29C1000A */ slti $at, $t6, 10
  2514. /* 188108 0x8015D5F0 1420000B */ bnez $at, .L_8015D620
  2515. /* 188109 0x8015D5F4 A7AB00CA */ sh $t3, 0xCA($sp)
  2516. .L_8015D5F8:
  2517. /* 188110 0x8015D5F8 87A800CA */ lh $t0, 0xCA($sp)
  2518. /* 188111 0x8015D5FC 87B800C8 */ lh $t8, 0xC8($sp)
  2519. /* 188112 0x8015D600 250FFFF6 */ addiu $t7, $t0, -10
  2520. /* 188113 0x8015D604 000F6C00 */ sll $t5, $t7, 16
  2521. /* 188114 0x8015D608 000DCC03 */ sra $t9, $t5, 16
  2522. /* 188115 0x8015D60C 2B21000A */ slti $at, $t9, 10
  2523. /* 188116 0x8015D610 270C0001 */ addiu $t4, $t8, 1
  2524. /* 188117 0x8015D614 A7AC00C8 */ sh $t4, 0xC8($sp)
  2525. /* 188118 0x8015D618 1020FFF7 */ beqz $at, .L_8015D5F8
  2526. /* 188119 0x8015D61C A7AF00CA */ sh $t7, 0xCA($sp)
  2527. .L_8015D620:
  2528. /* 188120 0x8015D620 24010001 */ li $at, 1
  2529. .L_8015D624:
  2530. /* 188121 0x8015D624 12210005 */ beq $s1, $at, .L_8015D63C
  2531. /* 188122 0x8015D628 00115040 */ sll $t2, $s1, 1
  2532. /* 188123 0x8015D62C 02AA5821 */ addu $t3, $s5, $t2
  2533. /* 188124 0x8015D630 85690000 */ lh $t1, 0x0($t3)
  2534. /* 188125 0x8015D634 11200002 */ beqz $t1, .L_8015D640
  2535. /* 188126 0x8015D638 00000000 */ nop
  2536. .L_8015D63C:
  2537. /* 188127 0x8015D63C 24120001 */ li $s2, 1
  2538. .L_8015D640:
  2539. /* 188128 0x8015D640 1240000E */ beqz $s2, .L_8015D67C
  2540. /* 188129 0x8015D644 00117040 */ sll $t6, $s1, 1
  2541. /* 188130 0x8015D648 02AEC021 */ addu $t8, $s5, $t6
  2542. /* 188131 0x8015D64C 87050000 */ lh $a1, 0x0($t8)
  2543. /* 188132 0x8015D650 87AC00DA */ lh $t4, 0xDA($sp)
  2544. /* 188133 0x8015D654 02802025 */ move $a0, $s4
  2545. /* 188134 0x8015D658 24A50030 */ addiu $a1, $a1, 48
  2546. /* 188135 0x8015D65C 30A500FF */ andi $a1, $a1, 0xFF
  2547. /* 188136 0x8015D660 03C03025 */ move $a2, $fp
  2548. /* 188137 0x8015D664 27A700A4 */ addiu $a3, $sp, 164
  2549. /* 188138 0x8015D668 0C056262 */ jal func_80158988
  2550. /* 188139 0x8015D66C AFAC0010 */ sw $t4, 0x10($sp)
  2551. /* 188140 0x8015D670 87A800DA */ lh $t0, 0xDA($sp)
  2552. /* 188141 0x8015D674 250F0001 */ addiu $t7, $t0, 1
  2553. /* 188142 0x8015D678 A7AF00DA */ sh $t7, 0xDA($sp)
  2554. .L_8015D67C:
  2555. /* 188143 0x8015D67C 26310001 */ addiu $s1, $s1, 1
  2556. /* 188144 0x8015D680 00118C00 */ sll $s1, $s1, 16
  2557. /* 188145 0x8015D684 00118C03 */ sra $s1, $s1, 16
  2558. /* 188146 0x8015D688 2A210002 */ slti $at, $s1, 2
  2559. /* 188147 0x8015D68C 5420FFE5 */ bnezl $at, .L_8015D624
  2560. /* 188148 0x8015D690 24010001 */ li $at, 1
  2561. /* 188149 0x8015D694 87B900DA */ lh $t9, 0xDA($sp)
  2562. /* 188150 0x8015D698 240D0020 */ li $t5, 32
  2563. /* 188151 0x8015D69C 02802025 */ move $a0, $s4
  2564. /* 188152 0x8015D6A0 02D95021 */ addu $t2, $s6, $t9
  2565. /* 188153 0x8015D6A4 01575821 */ addu $t3, $t2, $s7
  2566. /* 188154 0x8015D6A8 A16D1F24 */ sb $t5, 0x1F24($t3)
  2567. /* 188155 0x8015D6AC 87A900DA */ lh $t1, 0xDA($sp)
  2568. /* 188156 0x8015D6B0 24050068 */ li $a1, 104
  2569. /* 188157 0x8015D6B4 03C03025 */ move $a2, $fp
  2570. /* 188158 0x8015D6B8 252E0001 */ addiu $t6, $t1, 1
  2571. /* 188159 0x8015D6BC 000EC400 */ sll $t8, $t6, 16
  2572. /* 188160 0x8015D6C0 00186403 */ sra $t4, $t8, 16
  2573. /* 188161 0x8015D6C4 A7AE00DA */ sh $t6, 0xDA($sp)
  2574. /* 188162 0x8015D6C8 AFAC0010 */ sw $t4, 0x10($sp)
  2575. /* 188163 0x8015D6CC 0C056262 */ jal func_80158988
  2576. /* 188164 0x8015D6D0 27A700A4 */ addiu $a3, $sp, 164
  2577. /* 188165 0x8015D6D4 87A800DA */ lh $t0, 0xDA($sp)
  2578. /* 188166 0x8015D6D8 02802025 */ move $a0, $s4
  2579. /* 188167 0x8015D6DC 2405006F */ li $a1, 111
  2580. /* 188168 0x8015D6E0 250F0001 */ addiu $t7, $t0, 1
  2581. /* 188169 0x8015D6E4 000FCC00 */ sll $t9, $t7, 16
  2582. /* 188170 0x8015D6E8 00195403 */ sra $t2, $t9, 16
  2583. /* 188171 0x8015D6EC A7AF00DA */ sh $t7, 0xDA($sp)
  2584. /* 188172 0x8015D6F0 AFAA0010 */ sw $t2, 0x10($sp)
  2585. /* 188173 0x8015D6F4 03C03025 */ move $a2, $fp
  2586. /* 188174 0x8015D6F8 0C056262 */ jal func_80158988
  2587. /* 188175 0x8015D6FC 27A700A4 */ addiu $a3, $sp, 164
  2588. /* 188176 0x8015D700 87AD00DA */ lh $t5, 0xDA($sp)
  2589. /* 188177 0x8015D704 02802025 */ move $a0, $s4
  2590. /* 188178 0x8015D708 24050075 */ li $a1, 117
  2591. /* 188179 0x8015D70C 25AB0001 */ addiu $t3, $t5, 1
  2592. /* 188180 0x8015D710 000B4C00 */ sll $t1, $t3, 16
  2593. /* 188181 0x8015D714 00097403 */ sra $t6, $t1, 16
  2594. /* 188182 0x8015D718 A7AB00DA */ sh $t3, 0xDA($sp)
  2595. /* 188183 0x8015D71C AFAE0010 */ sw $t6, 0x10($sp)
  2596. /* 188184 0x8015D720 03C03025 */ move $a2, $fp
  2597. /* 188185 0x8015D724 0C056262 */ jal func_80158988
  2598. /* 188186 0x8015D728 27A700A4 */ addiu $a3, $sp, 164
  2599. /* 188187 0x8015D72C 87B800DA */ lh $t8, 0xDA($sp)
  2600. /* 188188 0x8015D730 02802025 */ move $a0, $s4
  2601. /* 188189 0x8015D734 24050072 */ li $a1, 114
  2602. /* 188190 0x8015D738 270C0001 */ addiu $t4, $t8, 1
  2603. /* 188191 0x8015D73C 000C4400 */ sll $t0, $t4, 16
  2604. /* 188192 0x8015D740 00087C03 */ sra $t7, $t0, 16
  2605. /* 188193 0x8015D744 A7AC00DA */ sh $t4, 0xDA($sp)
  2606. /* 188194 0x8015D748 AFAF0010 */ sw $t7, 0x10($sp)
  2607. /* 188195 0x8015D74C 03C03025 */ move $a2, $fp
  2608. /* 188196 0x8015D750 0C056262 */ jal func_80158988
  2609. /* 188197 0x8015D754 27A700A4 */ addiu $a3, $sp, 164
  2610. /* 188198 0x8015D758 87B900C8 */ lh $t9, 0xC8($sp)
  2611. /* 188199 0x8015D75C 57200006 */ bnezl $t9, .L_8015D778
  2612. /* 188200 0x8015D760 87AD00DA */ lh $t5, 0xDA($sp)
  2613. /* 188201 0x8015D764 87AA00CA */ lh $t2, 0xCA($sp)
  2614. /* 188202 0x8015D768 24010001 */ li $at, 1
  2615. /* 188203 0x8015D76C 514103DE */ beql $t2, $at, .L_8015E6E8
  2616. /* 188204 0x8015D770 87AA00DA */ lh $t2, 0xDA($sp)
  2617. /* 188205 0x8015D774 87AD00DA */ lh $t5, 0xDA($sp)
  2618. .L_8015D778:
  2619. /* 188206 0x8015D778 02802025 */ move $a0, $s4
  2620. /* 188207 0x8015D77C 24050073 */ li $a1, 115
  2621. /* 188208 0x8015D780 25AB0001 */ addiu $t3, $t5, 1
  2622. /* 188209 0x8015D784 000B4C00 */ sll $t1, $t3, 16
  2623. /* 188210 0x8015D788 00097403 */ sra $t6, $t1, 16
  2624. /* 188211 0x8015D78C A7AB00DA */ sh $t3, 0xDA($sp)
  2625. /* 188212 0x8015D790 AFAE0010 */ sw $t6, 0x10($sp)
  2626. /* 188213 0x8015D794 03C03025 */ move $a2, $fp
  2627. /* 188214 0x8015D798 0C056262 */ jal func_80158988
  2628. /* 188215 0x8015D79C 27A700A4 */ addiu $a3, $sp, 164
  2629. /* 188216 0x8015D7A0 100003D1 */ b .L_8015E6E8
  2630. /* 188217 0x8015D7A4 87AA00DA */ lh $t2, 0xDA($sp)
  2631. .L_8015D7A8:
  2632. /* 188218 0x8015D7A8 240100E8 */ li $at, 232
  2633. /* 188219 0x8015D7AC 5461000C */ bnel $v1, $at, .L_8015D7E0
  2634. /* 188220 0x8015D7B0 240100F0 */ li $at, 240
  2635. /* 188221 0x8015D7B4 A7A700CE */ sh $a3, 0xCE($sp)
  2636. /* 188222 0x8015D7B8 27B800DA */ addiu $t8, $sp, 218
  2637. /* 188223 0x8015D7BC AFB80010 */ sw $t8, 0x10($sp)
  2638. /* 188224 0x8015D7C0 27A700A4 */ addiu $a3, $sp, 164
  2639. /* 188225 0x8015D7C4 02802025 */ move $a0, $s4
  2640. /* 188226 0x8015D7C8 324500FF */ andi $a1, $s2, 0xFF
  2641. /* 188227 0x8015D7CC 0C0563EC */ jal func_80158FB0
  2642. /* 188228 0x8015D7D0 03C03025 */ move $a2, $fp
  2643. /* 188229 0x8015D7D4 100003C4 */ b .L_8015E6E8
  2644. /* 188230 0x8015D7D8 87AA00DA */ lh $t2, 0xDA($sp)
  2645. /* 188231 0x8015D7DC 240100F0 */ li $at, 240
  2646. .L_8015D7E0:
  2647. /* 188232 0x8015D7E0 1061000B */ beq $v1, $at, .L_8015D810
  2648. /* 188233 0x8015D7E4 A7A700CE */ sh $a3, 0xCE($sp)
  2649. /* 188234 0x8015D7E8 240100F1 */ li $at, 241
  2650. /* 188235 0x8015D7EC 10610008 */ beq $v1, $at, .L_8015D810
  2651. /* 188236 0x8015D7F0 A7A700CE */ sh $a3, 0xCE($sp)
  2652. /* 188237 0x8015D7F4 240100F2 */ li $at, 242
  2653. /* 188238 0x8015D7F8 10610005 */ beq $v1, $at, .L_8015D810
  2654. /* 188239 0x8015D7FC A7A700CE */ sh $a3, 0xCE($sp)
  2655. /* 188240 0x8015D800 240100F8 */ li $at, 248
  2656. /* 188241 0x8015D804 54610088 */ bnel $v1, $at, .L_8015DA28
  2657. /* 188242 0x8015D808 240100F7 */ li $at, 247
  2658. /* 188243 0x8015D80C A7A700CE */ sh $a3, 0xCE($sp)
  2659. .L_8015D810:
  2660. /* 188244 0x8015D810 240100F8 */ li $at, 248
  2661. /* 188245 0x8015D814 00008825 */ move $s1, $zero
  2662. /* 188246 0x8015D818 14610006 */ bne $v1, $at, .L_8015D834
  2663. /* 188247 0x8015D81C 00009025 */ move $s2, $zero
  2664. /* 188248 0x8015D820 3C04801F */ lui $a0, %hi(D_801F0558)
  2665. /* 188249 0x8015D824 8C840558 */ lw $a0, %lo(D_801F0558)($a0)
  2666. /* 188250 0x8015D828 00042400 */ sll $a0, $a0, 16
  2667. /* 188251 0x8015D82C 10000005 */ b .L_8015D844
  2668. /* 188252 0x8015D830 00042403 */ sra $a0, $a0, 16
  2669. .L_8015D834:
  2670. /* 188253 0x8015D834 00036080 */ sll $t4, $v1, 2
  2671. /* 188254 0x8015D838 3C04801F */ lui $a0, %hi(D_801F018E)
  2672. /* 188255 0x8015D83C 008C2021 */ addu $a0, $a0, $t4
  2673. /* 188256 0x8015D840 8484018E */ lh $a0, %lo(D_801F018E)($a0)
  2674. .L_8015D844:
  2675. /* 188257 0x8015D844 240100F2 */ li $at, 242
  2676. /* 188258 0x8015D848 1461001E */ bne $v1, $at, .L_8015D8C4
  2677. /* 188259 0x8015D84C 3C08801F */ lui $t0, %hi(D_801EF677)
  2678. /* 188260 0x8015D850 9108F677 */ lbu $t0, %lo(D_801EF677)($t0)
  2679. /* 188261 0x8015D854 51000004 */ beqzl $t0, .L_8015D868
  2680. /* 188262 0x8015D858 24020011 */ li $v0, 17
  2681. /* 188263 0x8015D85C 10000002 */ b .L_8015D868
  2682. /* 188264 0x8015D860 24020005 */ li $v0, 5
  2683. /* 188265 0x8015D864 24020011 */ li $v0, 17
  2684. .L_8015D868:
  2685. /* 188266 0x8015D868 24010005 */ li $at, 5
  2686. /* 188267 0x8015D86C 14410004 */ bne $v0, $at, .L_8015D880
  2687. /* 188268 0x8015D870 3084007F */ andi $a0, $a0, 0x7F
  2688. /* 188269 0x8015D874 00042400 */ sll $a0, $a0, 16
  2689. /* 188270 0x8015D878 10000012 */ b .L_8015D8C4
  2690. /* 188271 0x8015D87C 00042403 */ sra $a0, $a0, 16
  2691. .L_8015D880:
  2692. /* 188272 0x8015D880 8FAF0070 */ lw $t7, 0x70($sp)
  2693. /* 188273 0x8015D884 3C04801F */ lui $a0, 0x801F
  2694. /* 188274 0x8015D888 3C01FF00 */ lui $at, 0xFF00
  2695. /* 188275 0x8015D88C 95F91FEC */ lhu $t9, 0x1FEC($t7)
  2696. /* 188276 0x8015D890 02795021 */ addu $t2, $s3, $t9
  2697. /* 188277 0x8015D894 01576821 */ addu $t5, $t2, $s7
  2698. /* 188278 0x8015D898 91AB1880 */ lbu $t3, 0x1880($t5)
  2699. /* 188279 0x8015D89C 000B4880 */ sll $t1, $t3, 2
  2700. /* 188280 0x8015D8A0 00892021 */ addu $a0, $a0, $t1
  2701. /* 188281 0x8015D8A4 8C84054C */ lw $a0, 0x54C($a0)
  2702. /* 188282 0x8015D8A8 00812024 */ and $a0, $a0, $at
  2703. /* 188283 0x8015D8AC 00042602 */ srl $a0, $a0, 24
  2704. /* 188284 0x8015D8B0 00042400 */ sll $a0, $a0, 16
  2705. /* 188285 0x8015D8B4 00042403 */ sra $a0, $a0, 16
  2706. /* 188286 0x8015D8B8 3084007F */ andi $a0, $a0, 0x7F
  2707. /* 188287 0x8015D8BC 00042400 */ sll $a0, $a0, 16
  2708. /* 188288 0x8015D8C0 00042403 */ sra $a0, $a0, 16
  2709. .L_8015D8C4:
  2710. /* 188289 0x8015D8C4 00043C00 */ sll $a3, $a0, 16
  2711. /* 188290 0x8015D8C8 00073C03 */ sra $a3, $a3, 16
  2712. /* 188291 0x8015D8CC 28E103E8 */ slti $at, $a3, 1000
  2713. /* 188292 0x8015D8D0 A7A000CC */ sh $zero, 0xCC($sp)
  2714. /* 188293 0x8015D8D4 A7A000CA */ sh $zero, 0xCA($sp)
  2715. /* 188294 0x8015D8D8 14200009 */ bnez $at, .L_8015D900
  2716. /* 188295 0x8015D8DC A7A000C8 */ sh $zero, 0xC8($sp)
  2717. .L_8015D8E0:
  2718. /* 188296 0x8015D8E0 87AE00C8 */ lh $t6, 0xC8($sp)
  2719. /* 188297 0x8015D8E4 24E7FC18 */ addiu $a3, $a3, -1000
  2720. /* 188298 0x8015D8E8 00073C00 */ sll $a3, $a3, 16
  2721. /* 188299 0x8015D8EC 00073C03 */ sra $a3, $a3, 16
  2722. /* 188300 0x8015D8F0 28E103E8 */ slti $at, $a3, 1000
  2723. /* 188301 0x8015D8F4 25D80001 */ addiu $t8, $t6, 1
  2724. /* 188302 0x8015D8F8 1020FFF9 */ beqz $at, .L_8015D8E0
  2725. /* 188303 0x8015D8FC A7B800C8 */ sh $t8, 0xC8($sp)
  2726. .L_8015D900:
  2727. /* 188304 0x8015D900 28E10064 */ slti $at, $a3, 100
  2728. /* 188305 0x8015D904 5420000A */ bnezl $at, .L_8015D930
  2729. /* 188306 0x8015D908 28E1000A */ slti $at, $a3, 10
  2730. .L_8015D90C:
  2731. /* 188307 0x8015D90C 87AC00CA */ lh $t4, 0xCA($sp)
  2732. /* 188308 0x8015D910 24E7FF9C */ addiu $a3, $a3, -100
  2733. /* 188309 0x8015D914 00073C00 */ sll $a3, $a3, 16
  2734. /* 188310 0x8015D918 00073C03 */ sra $a3, $a3, 16
  2735. /* 188311 0x8015D91C 28E10064 */ slti $at, $a3, 100
  2736. /* 188312 0x8015D920 25880001 */ addiu $t0, $t4, 1
  2737. /* 188313 0x8015D924 1020FFF9 */ beqz $at, .L_8015D90C
  2738. /* 188314 0x8015D928 A7A800CA */ sh $t0, 0xCA($sp)
  2739. /* 188315 0x8015D92C 28E1000A */ slti $at, $a3, 10
  2740. .L_8015D930:
  2741. /* 188316 0x8015D930 5420000A */ bnezl $at, .L_8015D95C
  2742. /* 188317 0x8015D934 24010003 */ li $at, 3
  2743. .L_8015D938:
  2744. /* 188318 0x8015D938 87AF00CC */ lh $t7, 0xCC($sp)
  2745. /* 188319 0x8015D93C 24E7FFF6 */ addiu $a3, $a3, -10
  2746. /* 188320 0x8015D940 00073C00 */ sll $a3, $a3, 16
  2747. /* 188321 0x8015D944 00073C03 */ sra $a3, $a3, 16
  2748. /* 188322 0x8015D948 28E1000A */ slti $at, $a3, 10
  2749. /* 188323 0x8015D94C 25F90001 */ addiu $t9, $t7, 1
  2750. /* 188324 0x8015D950 1020FFF9 */ beqz $at, .L_8015D938
  2751. /* 188325 0x8015D954 A7B900CC */ sh $t9, 0xCC($sp)
  2752. /* 188326 0x8015D958 24010003 */ li $at, 3
  2753. .L_8015D95C:
  2754. /* 188327 0x8015D95C 12210007 */ beq $s1, $at, .L_8015D97C
  2755. /* 188328 0x8015D960 00115040 */ sll $t2, $s1, 1
  2756. /* 188329 0x8015D964 02AA6821 */ addu $t5, $s5, $t2
  2757. /* 188330 0x8015D968 A7A700CE */ sh $a3, 0xCE($sp)
  2758. /* 188331 0x8015D96C 85AB0000 */ lh $t3, 0x0($t5)
  2759. /* 188332 0x8015D970 11600004 */ beqz $t3, .L_8015D984
  2760. /* 188333 0x8015D974 00000000 */ nop
  2761. /* 188334 0x8015D978 87A700CE */ lh $a3, 0xCE($sp)
  2762. .L_8015D97C:
  2763. /* 188335 0x8015D97C 24120001 */ li $s2, 1
  2764. /* 188336 0x8015D980 A7A700CE */ sh $a3, 0xCE($sp)
  2765. .L_8015D984:
  2766. /* 188337 0x8015D984 1240001C */ beqz $s2, .L_8015D9F8
  2767. /* 188338 0x8015D988 87A700CE */ lh $a3, 0xCE($sp)
  2768. /* 188339 0x8015D98C 00114840 */ sll $t1, $s1, 1
  2769. /* 188340 0x8015D990 02A98021 */ addu $s0, $s5, $t1
  2770. /* 188341 0x8015D994 86050000 */ lh $a1, 0x0($s0)
  2771. /* 188342 0x8015D998 02802025 */ move $a0, $s4
  2772. /* 188343 0x8015D99C 8FA600BC */ lw $a2, 0xBC($sp)
  2773. /* 188344 0x8015D9A0 24A50030 */ addiu $a1, $a1, 48
  2774. /* 188345 0x8015D9A4 0C03D3D5 */ jal func_800F4F54
  2775. /* 188346 0x8015D9A8 30A500FF */ andi $a1, $a1, 0xFF
  2776. /* 188347 0x8015D9AC 8FAE00BC */ lw $t6, 0xBC($sp)
  2777. /* 188348 0x8015D9B0 87AF00DA */ lh $t7, 0xDA($sp)
  2778. /* 188349 0x8015D9B4 25D80080 */ addiu $t8, $t6, 128
  2779. /* 188350 0x8015D9B8 AFB800BC */ sw $t8, 0xBC($sp)
  2780. /* 188351 0x8015D9BC 860C0000 */ lh $t4, 0x0($s0)
  2781. /* 188352 0x8015D9C0 02CFC821 */ addu $t9, $s6, $t7
  2782. /* 188353 0x8015D9C4 03375021 */ addu $t2, $t9, $s7
  2783. /* 188354 0x8015D9C8 25880030 */ addiu $t0, $t4, 48
  2784. /* 188355 0x8015D9CC A1481F24 */ sb $t0, 0x1F24($t2)
  2785. /* 188356 0x8015D9D0 87AD00DA */ lh $t5, 0xDA($sp)
  2786. /* 188357 0x8015D9D4 8FA90070 */ lw $t1, 0x70($sp)
  2787. /* 188358 0x8015D9D8 C7A600A4 */ lwc1 $f6, 0xA4($sp)
  2788. /* 188359 0x8015D9DC 25AB0001 */ addiu $t3, $t5, 1
  2789. /* 188360 0x8015D9E0 A7AB00DA */ sh $t3, 0xDA($sp)
  2790. /* 188361 0x8015D9E4 C5242098 */ lwc1 $f4, 0x2098($t1)
  2791. /* 188362 0x8015D9E8 87A700CE */ lh $a3, 0xCE($sp)
  2792. /* 188363 0x8015D9EC 4604B482 */ mul.s $f18, $f22, $f4
  2793. /* 188364 0x8015D9F0 46123200 */ add.s $f8, $f6, $f18
  2794. /* 188365 0x8015D9F4 E7A800A4 */ swc1 $f8, 0xA4($sp)
  2795. .L_8015D9F8:
  2796. /* 188366 0x8015D9F8 26310001 */ addiu $s1, $s1, 1
  2797. /* 188367 0x8015D9FC 00118C00 */ sll $s1, $s1, 16
  2798. /* 188368 0x8015DA00 00118C03 */ sra $s1, $s1, 16
  2799. /* 188369 0x8015DA04 2A210004 */ slti $at, $s1, 4
  2800. /* 188370 0x8015DA08 5420FFD4 */ bnezl $at, .L_8015D95C
  2801. /* 188371 0x8015DA0C 24010003 */ li $at, 3
  2802. /* 188372 0x8015DA10 87AE00DA */ lh $t6, 0xDA($sp)
  2803. /* 188373 0x8015DA14 A7A700CE */ sh $a3, 0xCE($sp)
  2804. /* 188374 0x8015DA18 25D8FFFF */ addiu $t8, $t6, -1
  2805. /* 188375 0x8015DA1C 10000331 */ b .L_8015E6E4
  2806. /* 188376 0x8015DA20 A7B800DA */ sh $t8, 0xDA($sp)
  2807. /* 188377 0x8015DA24 240100F7 */ li $at, 247
  2808. .L_8015DA28:
  2809. /* 188378 0x8015DA28 1061000E */ beq $v1, $at, .L_8015DA64
  2810. /* 188379 0x8015DA2C A7A700CE */ sh $a3, 0xCE($sp)
  2811. /* 188380 0x8015DA30 240100F9 */ li $at, 249
  2812. /* 188381 0x8015DA34 1061000B */ beq $v1, $at, .L_8015DA64
  2813. /* 188382 0x8015DA38 A7A700CE */ sh $a3, 0xCE($sp)
  2814. /* 188383 0x8015DA3C 240100FA */ li $at, 250
  2815. /* 188384 0x8015DA40 10610008 */ beq $v1, $at, .L_8015DA64
  2816. /* 188385 0x8015DA44 A7A700CE */ sh $a3, 0xCE($sp)
  2817. /* 188386 0x8015DA48 240100FB */ li $at, 251
  2818. /* 188387 0x8015DA4C 10610005 */ beq $v1, $at, .L_8015DA64
  2819. /* 188388 0x8015DA50 A7A700CE */ sh $a3, 0xCE($sp)
  2820. /* 188389 0x8015DA54 240100FC */ li $at, 252
  2821. /* 188390 0x8015DA58 54610052 */ bnel $v1, $at, .L_8015DBA4
  2822. /* 188391 0x8015DA5C 240100F3 */ li $at, 243
  2823. /* 188392 0x8015DA60 A7A700CE */ sh $a3, 0xCE($sp)
  2824. .L_8015DA64:
  2825. /* 188393 0x8015DA64 3C014100 */ lui $at, 0x4100
  2826. /* 188394 0x8015DA68 4481A000 */ mtc1 $at, $f20
  2827. /* 188395 0x8015DA6C 240100F7 */ li $at, 247
  2828. /* 188396 0x8015DA70 00008825 */ move $s1, $zero
  2829. /* 188397 0x8015DA74 14610008 */ bne $v1, $at, .L_8015DA98
  2830. /* 188398 0x8015DA78 00009025 */ move $s2, $zero
  2831. /* 188399 0x8015DA7C 3C02801F */ lui $v0, %hi(D_801F0550)
  2832. /* 188400 0x8015DA80 8C450550 */ lw $a1, %lo(D_801F0550)($v0)
  2833. /* 188401 0x8015DA84 24040000 */ li $a0, 0
  2834. /* 188402 0x8015DA88 0C05650E */ jal func_80159438
  2835. /* 188403 0x8015DA8C 27A600A8 */ addiu $a2, $sp, 168
  2836. /* 188404 0x8015DA90 10000012 */ b .L_8015DADC
  2837. /* 188405 0x8015DA94 24010004 */ li $at, 4
  2838. .L_8015DA98:
  2839. /* 188406 0x8015DA98 240100F9 */ li $at, 249
  2840. /* 188407 0x8015DA9C 14610007 */ bne $v1, $at, .L_8015DABC
  2841. /* 188408 0x8015DAA0 3C02801F */ lui $v0, %hi(D_801F055C)
  2842. /* 188409 0x8015DAA4 8C45055C */ lw $a1, %lo(D_801F055C)($v0)
  2843. /* 188410 0x8015DAA8 24040000 */ li $a0, 0
  2844. /* 188411 0x8015DAAC 0C05650E */ jal func_80159438
  2845. /* 188412 0x8015DAB0 27A600A8 */ addiu $a2, $sp, 168
  2846. /* 188413 0x8015DAB4 10000009 */ b .L_8015DADC
  2847. /* 188414 0x8015DAB8 24010004 */ li $at, 4
  2848. .L_8015DABC:
  2849. /* 188415 0x8015DABC 00036080 */ sll $t4, $v1, 2
  2850. /* 188416 0x8015DAC0 3C02801F */ lui $v0, %hi(D_801F00F4)
  2851. /* 188417 0x8015DAC4 004C1021 */ addu $v0, $v0, $t4
  2852. /* 188418 0x8015DAC8 8C4500F4 */ lw $a1, %lo(D_801F00F4)($v0)
  2853. /* 188419 0x8015DACC 24040000 */ li $a0, 0
  2854. /* 188420 0x8015DAD0 0C05650E */ jal func_80159438
  2855. /* 188421 0x8015DAD4 27A600A8 */ addiu $a2, $sp, 168
  2856. /* 188422 0x8015DAD8 24010004 */ li $at, 4
  2857. .L_8015DADC:
  2858. /* 188423 0x8015DADC 12210009 */ beq $s1, $at, .L_8015DB04
  2859. /* 188424 0x8015DAE0 24010002 */ li $at, 2
  2860. /* 188425 0x8015DAE4 12210008 */ beq $s1, $at, .L_8015DB08
  2861. /* 188426 0x8015DAE8 24010005 */ li $at, 5
  2862. /* 188427 0x8015DAEC 12210006 */ beq $s1, $at, .L_8015DB08
  2863. /* 188428 0x8015DAF0 00117840 */ sll $t7, $s1, 1
  2864. /* 188429 0x8015DAF4 03AFC821 */ addu $t9, $sp, $t7
  2865. /* 188430 0x8015DAF8 873900A8 */ lh $t9, 0xA8($t9)
  2866. /* 188431 0x8015DAFC 13200002 */ beqz $t9, .L_8015DB08
  2867. /* 188432 0x8015DB00 00000000 */ nop
  2868. .L_8015DB04:
  2869. /* 188433 0x8015DB04 24120001 */ li $s2, 1
  2870. .L_8015DB08:
  2871. /* 188434 0x8015DB08 12400013 */ beqz $s2, .L_8015DB58
  2872. /* 188435 0x8015DB0C 00114040 */ sll $t0, $s1, 1
  2873. /* 188436 0x8015DB10 27AA00A8 */ addiu $t2, $sp, 168
  2874. /* 188437 0x8015DB14 010A8021 */ addu $s0, $t0, $t2
  2875. /* 188438 0x8015DB18 92050001 */ lbu $a1, 0x1($s0)
  2876. /* 188439 0x8015DB1C 02802025 */ move $a0, $s4
  2877. /* 188440 0x8015DB20 0C03D3D5 */ jal func_800F4F54
  2878. /* 188441 0x8015DB24 8FA600BC */ lw $a2, 0xBC($sp)
  2879. /* 188442 0x8015DB28 8FAD00BC */ lw $t5, 0xBC($sp)
  2880. /* 188443 0x8015DB2C 87AE00DA */ lh $t6, 0xDA($sp)
  2881. /* 188444 0x8015DB30 25AB0080 */ addiu $t3, $t5, 128
  2882. /* 188445 0x8015DB34 AFAB00BC */ sw $t3, 0xBC($sp)
  2883. /* 188446 0x8015DB38 86090000 */ lh $t1, 0x0($s0)
  2884. /* 188447 0x8015DB3C 02CEC021 */ addu $t8, $s6, $t6
  2885. /* 188448 0x8015DB40 03176021 */ addu $t4, $t8, $s7
  2886. /* 188449 0x8015DB44 A1891F24 */ sb $t1, 0x1F24($t4)
  2887. /* 188450 0x8015DB48 87AF00DA */ lh $t7, 0xDA($sp)
  2888. /* 188451 0x8015DB4C 25F90001 */ addiu $t9, $t7, 1
  2889. /* 188452 0x8015DB50 10000002 */ b .L_8015DB5C
  2890. /* 188453 0x8015DB54 A7B900DA */ sh $t9, 0xDA($sp)
  2891. .L_8015DB58:
  2892. /* 188454 0x8015DB58 461AA501 */ sub.s $f20, $f20, $f26
  2893. .L_8015DB5C:
  2894. /* 188455 0x8015DB5C 26310001 */ addiu $s1, $s1, 1
  2895. /* 188456 0x8015DB60 00118C00 */ sll $s1, $s1, 16
  2896. /* 188457 0x8015DB64 00118C03 */ sra $s1, $s1, 16
  2897. /* 188458 0x8015DB68 2A210008 */ slti $at, $s1, 8
  2898. /* 188459 0x8015DB6C 5420FFDB */ bnezl $at, .L_8015DADC
  2899. /* 188460 0x8015DB70 24010004 */ li $at, 4
  2900. /* 188461 0x8015DB74 8FA80070 */ lw $t0, 0x70($sp)
  2901. /* 188462 0x8015DB78 C7B000A4 */ lwc1 $f16, 0xA4($sp)
  2902. /* 188463 0x8015DB7C 87AA00DA */ lh $t2, 0xDA($sp)
  2903. /* 188464 0x8015DB80 C50A2098 */ lwc1 $f10, 0x2098($t0)
  2904. /* 188465 0x8015DB84 254DFFFF */ addiu $t5, $t2, -1
  2905. /* 188466 0x8015DB88 460AB102 */ mul.s $f4, $f22, $f10
  2906. /* 188467 0x8015DB8C A7AD00DA */ sh $t5, 0xDA($sp)
  2907. /* 188468 0x8015DB90 4604A182 */ mul.s $f6, $f20, $f4
  2908. /* 188469 0x8015DB94 46068480 */ add.s $f18, $f16, $f6
  2909. /* 188470 0x8015DB98 100002D2 */ b .L_8015E6E4
  2910. /* 188471 0x8015DB9C E7B200A4 */ swc1 $f18, 0xA4($sp)
  2911. /* 188472 0x8015DBA0 240100F3 */ li $at, 243
  2912. .L_8015DBA4:
  2913. /* 188473 0x8015DBA4 10610004 */ beq $v1, $at, .L_8015DBB8
  2914. /* 188474 0x8015DBA8 240100F4 */ li $at, 244
  2915. /* 188475 0x8015DBAC 10610002 */ beq $v1, $at, .L_8015DBB8
  2916. /* 188476 0x8015DBB0 240100F5 */ li $at, 245
  2917. /* 188477 0x8015DBB4 1461006F */ bne $v1, $at, .L_8015DD74
  2918. .L_8015DBB8:
  2919. /* 188478 0x8015DBB8 00035880 */ sll $t3, $v1, 2
  2920. /* 188479 0x8015DBBC 3C04801F */ lui $a0, %hi(D_801F018E)
  2921. /* 188480 0x8015DBC0 008B2021 */ addu $a0, $a0, $t3
  2922. /* 188481 0x8015DBC4 8484018E */ lh $a0, %lo(D_801F018E)($a0)
  2923. /* 188482 0x8015DBC8 A7A000CC */ sh $zero, 0xCC($sp)
  2924. /* 188483 0x8015DBCC A7A000CA */ sh $zero, 0xCA($sp)
  2925. /* 188484 0x8015DBD0 00043C00 */ sll $a3, $a0, 16
  2926. /* 188485 0x8015DBD4 00073C03 */ sra $a3, $a3, 16
  2927. /* 188486 0x8015DBD8 28E1003C */ slti $at, $a3, 60
  2928. /* 188487 0x8015DBDC A7A000C8 */ sh $zero, 0xC8($sp)
  2929. /* 188488 0x8015DBE0 14200013 */ bnez $at, .L_8015DC30
  2930. /* 188489 0x8015DBE4 00008825 */ move $s1, $zero
  2931. /* 188490 0x8015DBE8 87AE00CA */ lh $t6, 0xCA($sp)
  2932. .L_8015DBEC:
  2933. /* 188491 0x8015DBEC 25D80001 */ addiu $t8, $t6, 1
  2934. /* 188492 0x8015DBF0 00184C00 */ sll $t1, $t8, 16
  2935. /* 188493 0x8015DBF4 00096403 */ sra $t4, $t1, 16
  2936. /* 188494 0x8015DBF8 2981000A */ slti $at, $t4, 10
  2937. /* 188495 0x8015DBFC 14200006 */ bnez $at, .L_8015DC18
  2938. /* 188496 0x8015DC00 A7B800CA */ sh $t8, 0xCA($sp)
  2939. /* 188497 0x8015DC04 87AF00C8 */ lh $t7, 0xC8($sp)
  2940. /* 188498 0x8015DC08 270DFFF6 */ addiu $t5, $t8, -10
  2941. /* 188499 0x8015DC0C A7AD00CA */ sh $t5, 0xCA($sp)
  2942. /* 188500 0x8015DC10 25F90001 */ addiu $t9, $t7, 1
  2943. /* 188501 0x8015DC14 A7B900C8 */ sh $t9, 0xC8($sp)
  2944. .L_8015DC18:
  2945. /* 188502 0x8015DC18 24E7FFC4 */ addiu $a3, $a3, -60
  2946. /* 188503 0x8015DC1C 00073C00 */ sll $a3, $a3, 16
  2947. /* 188504 0x8015DC20 00073C03 */ sra $a3, $a3, 16
  2948. /* 188505 0x8015DC24 28E1003C */ slti $at, $a3, 60
  2949. /* 188506 0x8015DC28 5020FFF0 */ beqzl $at, .L_8015DBEC
  2950. /* 188507 0x8015DC2C 87AE00CA */ lh $t6, 0xCA($sp)
  2951. .L_8015DC30:
  2952. /* 188508 0x8015DC30 28E1000A */ slti $at, $a3, 10
  2953. /* 188509 0x8015DC34 1420000A */ bnez $at, .L_8015DC60
  2954. /* 188510 0x8015DC38 A7A700CE */ sh $a3, 0xCE($sp)
  2955. .L_8015DC3C:
  2956. /* 188511 0x8015DC3C 87AB00CC */ lh $t3, 0xCC($sp)
  2957. /* 188512 0x8015DC40 24E7FFF6 */ addiu $a3, $a3, -10
  2958. /* 188513 0x8015DC44 00073C00 */ sll $a3, $a3, 16
  2959. /* 188514 0x8015DC48 00073C03 */ sra $a3, $a3, 16
  2960. /* 188515 0x8015DC4C 28E1000A */ slti $at, $a3, 10
  2961. /* 188516 0x8015DC50 256E0001 */ addiu $t6, $t3, 1
  2962. /* 188517 0x8015DC54 1020FFF9 */ beqz $at, .L_8015DC3C
  2963. /* 188518 0x8015DC58 A7AE00CC */ sh $t6, 0xCC($sp)
  2964. /* 188519 0x8015DC5C A7A700CE */ sh $a3, 0xCE($sp)
  2965. .L_8015DC60:
  2966. /* 188520 0x8015DC60 00114840 */ sll $t1, $s1, 1
  2967. .L_8015DC64:
  2968. /* 188521 0x8015DC64 02A98021 */ addu $s0, $s5, $t1
  2969. /* 188522 0x8015DC68 86050000 */ lh $a1, 0x0($s0)
  2970. /* 188523 0x8015DC6C 02802025 */ move $a0, $s4
  2971. /* 188524 0x8015DC70 8FA600BC */ lw $a2, 0xBC($sp)
  2972. /* 188525 0x8015DC74 24A50030 */ addiu $a1, $a1, 48
  2973. /* 188526 0x8015DC78 0C03D3D5 */ jal func_800F4F54
  2974. /* 188527 0x8015DC7C 30A500FF */ andi $a1, $a1, 0xFF
  2975. /* 188528 0x8015DC80 8FAC00BC */ lw $t4, 0xBC($sp)
  2976. /* 188529 0x8015DC84 87A800DA */ lh $t0, 0xDA($sp)
  2977. /* 188530 0x8015DC88 24010001 */ li $at, 1
  2978. /* 188531 0x8015DC8C 258F0080 */ addiu $t7, $t4, 128
  2979. /* 188532 0x8015DC90 AFAF00BC */ sw $t7, 0xBC($sp)
  2980. /* 188533 0x8015DC94 86190000 */ lh $t9, 0x0($s0)
  2981. /* 188534 0x8015DC98 02C85021 */ addu $t2, $s6, $t0
  2982. /* 188535 0x8015DC9C 01576821 */ addu $t5, $t2, $s7
  2983. /* 188536 0x8015DCA0 27380030 */ addiu $t8, $t9, 48
  2984. /* 188537 0x8015DCA4 A1B81F24 */ sb $t8, 0x1F24($t5)
  2985. /* 188538 0x8015DCA8 87AB00DA */ lh $t3, 0xDA($sp)
  2986. /* 188539 0x8015DCAC 256E0001 */ addiu $t6, $t3, 1
  2987. /* 188540 0x8015DCB0 16210011 */ bne $s1, $at, .L_8015DCF8
  2988. /* 188541 0x8015DCB4 A7AE00DA */ sh $t6, 0xDA($sp)
  2989. /* 188542 0x8015DCB8 02802025 */ move $a0, $s4
  2990. /* 188543 0x8015DCBC 24050022 */ li $a1, 34
  2991. /* 188544 0x8015DCC0 0C03D3D5 */ jal func_800F4F54
  2992. /* 188545 0x8015DCC4 8FA600BC */ lw $a2, 0xBC($sp)
  2993. /* 188546 0x8015DCC8 8FA900BC */ lw $t1, 0xBC($sp)
  2994. /* 188547 0x8015DCCC 87B900DA */ lh $t9, 0xDA($sp)
  2995. /* 188548 0x8015DCD0 240F0022 */ li $t7, 34
  2996. /* 188549 0x8015DCD4 252C0080 */ addiu $t4, $t1, 128
  2997. /* 188550 0x8015DCD8 02D94021 */ addu $t0, $s6, $t9
  2998. /* 188551 0x8015DCDC AFAC00BC */ sw $t4, 0xBC($sp)
  2999. /* 188552 0x8015DCE0 01175021 */ addu $t2, $t0, $s7
  3000. /* 188553 0x8015DCE4 A14F1F24 */ sb $t7, 0x1F24($t2)
  3001. /* 188554 0x8015DCE8 87B800DA */ lh $t8, 0xDA($sp)
  3002. /* 188555 0x8015DCEC 270D0001 */ addiu $t5, $t8, 1
  3003. /* 188556 0x8015DCF0 1000000F */ b .L_8015DD30
  3004. /* 188557 0x8015DCF4 A7AD00DA */ sh $t5, 0xDA($sp)
  3005. .L_8015DCF8:
  3006. /* 188558 0x8015DCF8 24010003 */ li $at, 3
  3007. /* 188559 0x8015DCFC 1621000C */ bne $s1, $at, .L_8015DD30
  3008. /* 188560 0x8015DD00 02802025 */ move $a0, $s4
  3009. /* 188561 0x8015DD04 24050027 */ li $a1, 39
  3010. /* 188562 0x8015DD08 0C03D3D5 */ jal func_800F4F54
  3011. /* 188563 0x8015DD0C 8FA600BC */ lw $a2, 0xBC($sp)
  3012. /* 188564 0x8015DD10 8FAB00BC */ lw $t3, 0xBC($sp)
  3013. /* 188565 0x8015DD14 87AC00DA */ lh $t4, 0xDA($sp)
  3014. /* 188566 0x8015DD18 24090027 */ li $t1, 39
  3015. /* 188567 0x8015DD1C 256E0080 */ addiu $t6, $t3, 128
  3016. /* 188568 0x8015DD20 02CCC821 */ addu $t9, $s6, $t4
  3017. /* 188569 0x8015DD24 AFAE00BC */ sw $t6, 0xBC($sp)
  3018. /* 188570 0x8015DD28 03374021 */ addu $t0, $t9, $s7
  3019. /* 188571 0x8015DD2C A1091F24 */ sb $t1, 0x1F24($t0)
  3020. .L_8015DD30:
  3021. /* 188572 0x8015DD30 26310001 */ addiu $s1, $s1, 1
  3022. /* 188573 0x8015DD34 00118C00 */ sll $s1, $s1, 16
  3023. /* 188574 0x8015DD38 00118C03 */ sra $s1, $s1, 16
  3024. /* 188575 0x8015DD3C 2A210004 */ slti $at, $s1, 4
  3025. /* 188576 0x8015DD40 5420FFC8 */ bnezl $at, .L_8015DC64
  3026. /* 188577 0x8015DD44 00114840 */ sll $t1, $s1, 1
  3027. /* 188578 0x8015DD48 8FAF0070 */ lw $t7, 0x70($sp)
  3028. /* 188579 0x8015DD4C 3C014080 */ lui $at, 0x4080
  3029. /* 188580 0x8015DD50 44814000 */ mtc1 $at, $f8
  3030. /* 188581 0x8015DD54 C5EA2098 */ lwc1 $f10, 0x2098($t7)
  3031. /* 188582 0x8015DD58 C7A600A4 */ lwc1 $f6, 0xA4($sp)
  3032. /* 188583 0x8015DD5C 460AB102 */ mul.s $f4, $f22, $f10
  3033. /* 188584 0x8015DD60 00000000 */ nop
  3034. /* 188585 0x8015DD64 46044402 */ mul.s $f16, $f8, $f4
  3035. /* 188586 0x8015DD68 46103480 */ add.s $f18, $f6, $f16
  3036. /* 188587 0x8015DD6C 1000025D */ b .L_8015E6E4
  3037. /* 188588 0x8015DD70 E7B200A4 */ swc1 $f18, 0xA4($sp)
  3038. .L_8015DD74:
  3039. /* 188589 0x8015DD74 240100F6 */ li $at, 246
  3040. /* 188590 0x8015DD78 5461005E */ bnel $v1, $at, .L_8015DEF4
  3041. /* 188591 0x8015DD7C 240100FD */ li $at, 253
  3042. /* 188592 0x8015DD80 3C07801F */ lui $a3, %hi(D_801F0564)
  3043. /* 188593 0x8015DD84 8CE70564 */ lw $a3, %lo(D_801F0564)($a3)
  3044. /* 188594 0x8015DD88 A7A000CC */ sh $zero, 0xCC($sp)
  3045. /* 188595 0x8015DD8C A7A000CA */ sh $zero, 0xCA($sp)
  3046. /* 188596 0x8015DD90 00073C00 */ sll $a3, $a3, 16
  3047. /* 188597 0x8015DD94 00073C03 */ sra $a3, $a3, 16
  3048. /* 188598 0x8015DD98 28E103E8 */ slti $at, $a3, 1000
  3049. /* 188599 0x8015DD9C A7A000C8 */ sh $zero, 0xC8($sp)
  3050. /* 188600 0x8015DDA0 00008825 */ move $s1, $zero
  3051. /* 188601 0x8015DDA4 14200009 */ bnez $at, .L_8015DDCC
  3052. /* 188602 0x8015DDA8 00009025 */ move $s2, $zero
  3053. .L_8015DDAC:
  3054. /* 188603 0x8015DDAC 87AA00C8 */ lh $t2, 0xC8($sp)
  3055. /* 188604 0x8015DDB0 24E7FC18 */ addiu $a3, $a3, -1000
  3056. /* 188605 0x8015DDB4 00073C00 */ sll $a3, $a3, 16
  3057. /* 188606 0x8015DDB8 00073C03 */ sra $a3, $a3, 16
  3058. /* 188607 0x8015DDBC 28E103E8 */ slti $at, $a3, 1000
  3059. /* 188608 0x8015DDC0 25580001 */ addiu $t8, $t2, 1
  3060. /* 188609 0x8015DDC4 1020FFF9 */ beqz $at, .L_8015DDAC
  3061. /* 188610 0x8015DDC8 A7B800C8 */ sh $t8, 0xC8($sp)
  3062. .L_8015DDCC:
  3063. /* 188611 0x8015DDCC 28E10064 */ slti $at, $a3, 100
  3064. /* 188612 0x8015DDD0 5420000A */ bnezl $at, .L_8015DDFC
  3065. /* 188613 0x8015DDD4 28E1000A */ slti $at, $a3, 10
  3066. .L_8015DDD8:
  3067. /* 188614 0x8015DDD8 87AD00CA */ lh $t5, 0xCA($sp)
  3068. /* 188615 0x8015DDDC 24E7FF9C */ addiu $a3, $a3, -100
  3069. /* 188616 0x8015DDE0 00073C00 */ sll $a3, $a3, 16
  3070. /* 188617 0x8015DDE4 00073C03 */ sra $a3, $a3, 16
  3071. /* 188618 0x8015DDE8 28E10064 */ slti $at, $a3, 100
  3072. /* 188619 0x8015DDEC 25AB0001 */ addiu $t3, $t5, 1
  3073. /* 188620 0x8015DDF0 1020FFF9 */ beqz $at, .L_8015DDD8
  3074. /* 188621 0x8015DDF4 A7AB00CA */ sh $t3, 0xCA($sp)
  3075. /* 188622 0x8015DDF8 28E1000A */ slti $at, $a3, 10
  3076. .L_8015DDFC:
  3077. /* 188623 0x8015DDFC 5420000A */ bnezl $at, .L_8015DE28
  3078. /* 188624 0x8015DE00 24010003 */ li $at, 3
  3079. .L_8015DE04:
  3080. /* 188625 0x8015DE04 87AE00CC */ lh $t6, 0xCC($sp)
  3081. /* 188626 0x8015DE08 24E7FFF6 */ addiu $a3, $a3, -10
  3082. /* 188627 0x8015DE0C 00073C00 */ sll $a3, $a3, 16
  3083. /* 188628 0x8015DE10 00073C03 */ sra $a3, $a3, 16
  3084. /* 188629 0x8015DE14 28E1000A */ slti $at, $a3, 10
  3085. /* 188630 0x8015DE18 25CC0001 */ addiu $t4, $t6, 1
  3086. /* 188631 0x8015DE1C 1020FFF9 */ beqz $at, .L_8015DE04
  3087. /* 188632 0x8015DE20 A7AC00CC */ sh $t4, 0xCC($sp)
  3088. /* 188633 0x8015DE24 24010003 */ li $at, 3
  3089. .L_8015DE28:
  3090. /* 188634 0x8015DE28 12210007 */ beq $s1, $at, .L_8015DE48
  3091. /* 188635 0x8015DE2C 0011C840 */ sll $t9, $s1, 1
  3092. /* 188636 0x8015DE30 02B94821 */ addu $t1, $s5, $t9
  3093. /* 188637 0x8015DE34 A7A700CE */ sh $a3, 0xCE($sp)
  3094. /* 188638 0x8015DE38 85280000 */ lh $t0, 0x0($t1)
  3095. /* 188639 0x8015DE3C 11000004 */ beqz $t0, .L_8015DE50
  3096. /* 188640 0x8015DE40 00000000 */ nop
  3097. /* 188641 0x8015DE44 87A700CE */ lh $a3, 0xCE($sp)
  3098. .L_8015DE48:
  3099. /* 188642 0x8015DE48 24120001 */ li $s2, 1
  3100. /* 188643 0x8015DE4C A7A700CE */ sh $a3, 0xCE($sp)
  3101. .L_8015DE50:
  3102. /* 188644 0x8015DE50 1240001C */ beqz $s2, .L_8015DEC4
  3103. /* 188645 0x8015DE54 87A700CE */ lh $a3, 0xCE($sp)
  3104. /* 188646 0x8015DE58 00117840 */ sll $t7, $s1, 1
  3105. /* 188647 0x8015DE5C 02AF8021 */ addu $s0, $s5, $t7
  3106. /* 188648 0x8015DE60 86050000 */ lh $a1, 0x0($s0)
  3107. /* 188649 0x8015DE64 02802025 */ move $a0, $s4
  3108. /* 188650 0x8015DE68 8FA600BC */ lw $a2, 0xBC($sp)
  3109. /* 188651 0x8015DE6C 24A50030 */ addiu $a1, $a1, 48
  3110. /* 188652 0x8015DE70 0C03D3D5 */ jal func_800F4F54
  3111. /* 188653 0x8015DE74 30A500FF */ andi $a1, $a1, 0xFF
  3112. /* 188654 0x8015DE78 8FAA00BC */ lw $t2, 0xBC($sp)
  3113. /* 188655 0x8015DE7C 87AE00DA */ lh $t6, 0xDA($sp)
  3114. /* 188656 0x8015DE80 25580080 */ addiu $t8, $t2, 128
  3115. /* 188657 0x8015DE84 AFB800BC */ sw $t8, 0xBC($sp)
  3116. /* 188658 0x8015DE88 860D0000 */ lh $t5, 0x0($s0)
  3117. /* 188659 0x8015DE8C 02CE6021 */ addu $t4, $s6, $t6
  3118. /* 188660 0x8015DE90 0197C821 */ addu $t9, $t4, $s7
  3119. /* 188661 0x8015DE94 25AB0030 */ addiu $t3, $t5, 48
  3120. /* 188662 0x8015DE98 A32B1F24 */ sb $t3, 0x1F24($t9)
  3121. /* 188663 0x8015DE9C 87A900DA */ lh $t1, 0xDA($sp)
  3122. /* 188664 0x8015DEA0 8FAF0070 */ lw $t7, 0x70($sp)
  3123. /* 188665 0x8015DEA4 C7AA00A4 */ lwc1 $f10, 0xA4($sp)
  3124. /* 188666 0x8015DEA8 25280001 */ addiu $t0, $t1, 1
  3125. /* 188667 0x8015DEAC A7A800DA */ sh $t0, 0xDA($sp)
  3126. /* 188668 0x8015DEB0 C5E82098 */ lwc1 $f8, 0x2098($t7)
  3127. /* 188669 0x8015DEB4 87A700CE */ lh $a3, 0xCE($sp)
  3128. /* 188670 0x8015DEB8 4608B102 */ mul.s $f4, $f22, $f8
  3129. /* 188671 0x8015DEBC 46045180 */ add.s $f6, $f10, $f4
  3130. /* 188672 0x8015DEC0 E7A600A4 */ swc1 $f6, 0xA4($sp)
  3131. .L_8015DEC4:
  3132. /* 188673 0x8015DEC4 26310001 */ addiu $s1, $s1, 1
  3133. /* 188674 0x8015DEC8 00118C00 */ sll $s1, $s1, 16
  3134. /* 188675 0x8015DECC 00118C03 */ sra $s1, $s1, 16
  3135. /* 188676 0x8015DED0 2A210004 */ slti $at, $s1, 4
  3136. /* 188677 0x8015DED4 5420FFD4 */ bnezl $at, .L_8015DE28
  3137. /* 188678 0x8015DED8 24010003 */ li $at, 3
  3138. /* 188679 0x8015DEDC 87AA00DA */ lh $t2, 0xDA($sp)
  3139. /* 188680 0x8015DEE0 A7A700CE */ sh $a3, 0xCE($sp)
  3140. /* 188681 0x8015DEE4 2558FFFF */ addiu $t8, $t2, -1
  3141. /* 188682 0x8015DEE8 100001FE */ b .L_8015E6E4
  3142. /* 188683 0x8015DEEC A7B800DA */ sh $t8, 0xDA($sp)
  3143. /* 188684 0x8015DEF0 240100FD */ li $at, 253
  3144. .L_8015DEF4:
  3145. /* 188685 0x8015DEF4 10610004 */ beq $v1, $at, .L_8015DF08
  3146. /* 188686 0x8015DEF8 240100FE */ li $at, 254
  3147. /* 188687 0x8015DEFC 10610002 */ beq $v1, $at, .L_8015DF08
  3148. /* 188688 0x8015DF00 240100FF */ li $at, 255
  3149. /* 188689 0x8015DF04 14610071 */ bne $v1, $at, .L_8015E0CC
  3150. .L_8015DF08:
  3151. /* 188690 0x8015DF08 2464FF03 */ addiu $a0, $v1, -253
  3152. /* 188691 0x8015DF0C 00046C00 */ sll $t5, $a0, 16
  3153. /* 188692 0x8015DF10 000D7403 */ sra $t6, $t5, 16
  3154. /* 188693 0x8015DF14 3C0B801F */ lui $t3, %hi(D_801EF670)
  3155. /* 188694 0x8015DF18 00049400 */ sll $s2, $a0, 16
  3156. /* 188695 0x8015DF1C 256BF670 */ addiu $t3, %lo(D_801EF670)
  3157. /* 188696 0x8015DF20 000E60C0 */ sll $t4, $t6, 3
  3158. /* 188697 0x8015DF24 00129403 */ sra $s2, $s2, 16
  3159. /* 188698 0x8015DF28 018B1021 */ addu $v0, $t4, $t3
  3160. /* 188699 0x8015DF2C 24100008 */ li $s0, 8
  3161. /* 188700 0x8015DF30 00008825 */ move $s1, $zero
  3162. /* 188701 0x8015DF34 0050C821 */ addu $t9, $v0, $s0
  3163. .L_8015DF38:
  3164. /* 188702 0x8015DF38 932900DD */ lbu $t1, 0xDD($t9)
  3165. /* 188703 0x8015DF3C 2401003E */ li $at, 62
  3166. /* 188704 0x8015DF40 15210006 */ bne $t1, $at, .L_8015DF5C
  3167. /* 188705 0x8015DF44 00000000 */ nop
  3168. /* 188706 0x8015DF48 2610FFFF */ addiu $s0, $s0, -1
  3169. /* 188707 0x8015DF4C 00108400 */ sll $s0, $s0, 16
  3170. /* 188708 0x8015DF50 00108403 */ sra $s0, $s0, 16
  3171. /* 188709 0x8015DF54 5E00FFF8 */ bgtzl $s0, .L_8015DF38
  3172. /* 188710 0x8015DF58 0050C821 */ addu $t9, $v0, $s0
  3173. .L_8015DF5C:
  3174. /* 188711 0x8015DF5C 1A00004C */ blez $s0, .L_8015E090
  3175. /* 188712 0x8015DF60 A7A700CE */ sh $a3, 0xCE($sp)
  3176. /* 188713 0x8015DF64 3C0F801F */ lui $t7, %hi(D_801EF670)
  3177. /* 188714 0x8015DF68 25EFF670 */ addiu $t7, %lo(D_801EF670)
  3178. /* 188715 0x8015DF6C 001240C0 */ sll $t0, $s2, 3
  3179. /* 188716 0x8015DF70 010F3021 */ addu $a2, $t0, $t7
  3180. /* 188717 0x8015DF74 02772021 */ addu $a0, $s3, $s7
  3181. /* 188718 0x8015DF78 A7A700CE */ sh $a3, 0xCE($sp)
  3182. .L_8015DF7C:
  3183. /* 188719 0x8015DF7C 87AD00DA */ lh $t5, 0xDA($sp)
  3184. /* 188720 0x8015DF80 00D15021 */ addu $t2, $a2, $s1
  3185. /* 188721 0x8015DF84 915900DE */ lbu $t9, 0xDE($t2)
  3186. /* 188722 0x8015DF88 02CD7021 */ addu $t6, $s6, $t5
  3187. /* 188723 0x8015DF8C 01D16021 */ addu $t4, $t6, $s1
  3188. /* 188724 0x8015DF90 001949C0 */ sll $t1, $t9, 7
  3189. /* 188725 0x8015DF94 01975821 */ addu $t3, $t4, $s7
  3190. /* 188726 0x8015DF98 241800FD */ li $t8, 253
  3191. /* 188727 0x8015DF9C 02692821 */ addu $a1, $s3, $t1
  3192. /* 188728 0x8015DFA0 A1781F24 */ sb $t8, 0x1F24($t3)
  3193. /* 188729 0x8015DFA4 24A57880 */ addiu $a1, $a1, 30848
  3194. /* 188730 0x8015DFA8 00001825 */ move $v1, $zero
  3195. .L_8015DFAC:
  3196. /* 188731 0x8015DFAC 908F1D88 */ lbu $t7, 0x1D88($a0)
  3197. /* 188732 0x8015DFB0 8FAE00BC */ lw $t6, 0xBC($sp)
  3198. /* 188733 0x8015DFB4 00651021 */ addu $v0, $v1, $a1
  3199. /* 188734 0x8015DFB8 000F5100 */ sll $t2, $t7, 4
  3200. /* 188735 0x8015DFBC 014F5023 */ subu $t2, $t2, $t7
  3201. /* 188736 0x8015DFC0 000A5280 */ sll $t2, $t2, 10
  3202. /* 188737 0x8015DFC4 90480000 */ lbu $t0, 0x0($v0)
  3203. /* 188738 0x8015DFC8 026A6821 */ addu $t5, $s3, $t2
  3204. /* 188739 0x8015DFCC 01AE6021 */ addu $t4, $t5, $t6
  3205. /* 188740 0x8015DFD0 0183C021 */ addu $t8, $t4, $v1
  3206. /* 188741 0x8015DFD4 A3080000 */ sb $t0, 0x0($t8)
  3207. /* 188742 0x8015DFD8 90991D88 */ lbu $t9, 0x1D88($a0)
  3208. /* 188743 0x8015DFDC 8FAA00BC */ lw $t2, 0xBC($sp)
  3209. /* 188744 0x8015DFE0 904B0001 */ lbu $t3, 0x1($v0)
  3210. /* 188745 0x8015DFE4 00194900 */ sll $t1, $t9, 4
  3211. /* 188746 0x8015DFE8 01394823 */ subu $t1, $t1, $t9
  3212. /* 188747 0x8015DFEC 00094A80 */ sll $t1, $t1, 10
  3213. /* 188748 0x8015DFF0 02697821 */ addu $t7, $s3, $t1
  3214. /* 188749 0x8015DFF4 01EA6821 */ addu $t5, $t7, $t2
  3215. /* 188750 0x8015DFF8 01A37021 */ addu $t6, $t5, $v1
  3216. /* 188751 0x8015DFFC A1CB0001 */ sb $t3, 0x1($t6)
  3217. /* 188752 0x8015E000 90881D88 */ lbu $t0, 0x1D88($a0)
  3218. /* 188753 0x8015E004 8FA900BC */ lw $t1, 0xBC($sp)
  3219. /* 188754 0x8015E008 904C0002 */ lbu $t4, 0x2($v0)
  3220. /* 188755 0x8015E00C 0008C100 */ sll $t8, $t0, 4
  3221. /* 188756 0x8015E010 0308C023 */ subu $t8, $t8, $t0
  3222. /* 188757 0x8015E014 0018C280 */ sll $t8, $t8, 10
  3223. /* 188758 0x8015E018 0278C821 */ addu $t9, $s3, $t8
  3224. /* 188759 0x8015E01C 03297821 */ addu $t7, $t9, $t1
  3225. /* 188760 0x8015E020 01E35021 */ addu $t2, $t7, $v1
  3226. /* 188761 0x8015E024 A14C0002 */ sb $t4, 0x2($t2)
  3227. /* 188762 0x8015E028 908B1D88 */ lbu $t3, 0x1D88($a0)
  3228. /* 188763 0x8015E02C 8FB800BC */ lw $t8, 0xBC($sp)
  3229. /* 188764 0x8015E030 904D0003 */ lbu $t5, 0x3($v0)
  3230. /* 188765 0x8015E034 000B7100 */ sll $t6, $t3, 4
  3231. /* 188766 0x8015E038 01CB7023 */ subu $t6, $t6, $t3
  3232. /* 188767 0x8015E03C 000E7280 */ sll $t6, $t6, 10
  3233. /* 188768 0x8015E040 026E4021 */ addu $t0, $s3, $t6
  3234. /* 188769 0x8015E044 0118C821 */ addu $t9, $t0, $t8
  3235. /* 188770 0x8015E048 03234821 */ addu $t1, $t9, $v1
  3236. /* 188771 0x8015E04C 24630004 */ addiu $v1, $v1, 4
  3237. /* 188772 0x8015E050 00031C00 */ sll $v1, $v1, 16
  3238. /* 188773 0x8015E054 00031C03 */ sra $v1, $v1, 16
  3239. /* 188774 0x8015E058 28610080 */ slti $at, $v1, 128
  3240. /* 188775 0x8015E05C A12D0003 */ sb $t5, 0x3($t1)
  3241. /* 188776 0x8015E060 1420FFD2 */ bnez $at, .L_8015DFAC
  3242. /* 188777 0x8015E064 87A700CE */ lh $a3, 0xCE($sp)
  3243. /* 188778 0x8015E068 8FAF00BC */ lw $t7, 0xBC($sp)
  3244. /* 188779 0x8015E06C 26310001 */ addiu $s1, $s1, 1
  3245. /* 188780 0x8015E070 00118C00 */ sll $s1, $s1, 16
  3246. /* 188781 0x8015E074 00118C03 */ sra $s1, $s1, 16
  3247. /* 188782 0x8015E078 0230082A */ slt $at, $s1, $s0
  3248. /* 188783 0x8015E07C 25EC0080 */ addiu $t4, $t7, 128
  3249. /* 188784 0x8015E080 A7A700CE */ sh $a3, 0xCE($sp)
  3250. /* 188785 0x8015E084 1420FFBD */ bnez $at, .L_8015DF7C
  3251. /* 188786 0x8015E088 AFAC00BC */ sw $t4, 0xBC($sp)
  3252. /* 188787 0x8015E08C A7A700CE */ sh $a3, 0xCE($sp)
  3253. .L_8015E090:
  3254. /* 188788 0x8015E090 87AA00DA */ lh $t2, 0xDA($sp)
  3255. /* 188789 0x8015E094 8FA80070 */ lw $t0, 0x70($sp)
  3256. /* 188790 0x8015E098 44908000 */ mtc1 $s0, $f16
  3257. /* 188791 0x8015E09C 01505821 */ addu $t3, $t2, $s0
  3258. /* 188792 0x8015E0A0 256EFFFF */ addiu $t6, $t3, -1
  3259. /* 188793 0x8015E0A4 A7AE00DA */ sh $t6, 0xDA($sp)
  3260. /* 188794 0x8015E0A8 C5082098 */ lwc1 $f8, 0x2098($t0)
  3261. /* 188795 0x8015E0AC 468084A0 */ cvt.s.w $f18, $f16
  3262. /* 188796 0x8015E0B0 C7A600A4 */ lwc1 $f6, 0xA4($sp)
  3263. /* 188797 0x8015E0B4 4608B282 */ mul.s $f10, $f22, $f8
  3264. /* 188798 0x8015E0B8 00000000 */ nop
  3265. /* 188799 0x8015E0BC 460A9102 */ mul.s $f4, $f18, $f10
  3266. /* 188800 0x8015E0C0 46043400 */ add.s $f16, $f6, $f4
  3267. /* 188801 0x8015E0C4 10000187 */ b .L_8015E6E4
  3268. /* 188802 0x8015E0C8 E7B000A4 */ swc1 $f16, 0xA4($sp)
  3269. .L_8015E0CC:
  3270. /* 188803 0x8015E0CC 2401000B */ li $at, 11
  3271. /* 188804 0x8015E0D0 54610061 */ bnel $v1, $at, .L_8015E258
  3272. /* 188805 0x8015E0D4 24010014 */ li $at, 20
  3273. /* 188806 0x8015E0D8 3C07801F */ lui $a3, %hi(D_801F0558)
  3274. /* 188807 0x8015E0DC 8CE70558 */ lw $a3, %lo(D_801F0558)($a3)
  3275. /* 188808 0x8015E0E0 3C01FFFF */ lui $at, 0xFFFF
  3276. /* 188809 0x8015E0E4 A7A000CC */ sh $zero, 0xCC($sp)
  3277. /* 188810 0x8015E0E8 00E13824 */ and $a3, $a3, $at
  3278. /* 188811 0x8015E0EC 00073C02 */ srl $a3, $a3, 16
  3279. /* 188812 0x8015E0F0 00073C00 */ sll $a3, $a3, 16
  3280. /* 188813 0x8015E0F4 00073C03 */ sra $a3, $a3, 16
  3281. /* 188814 0x8015E0F8 28E103E8 */ slti $at, $a3, 1000
  3282. /* 188815 0x8015E0FC A7A000CA */ sh $zero, 0xCA($sp)
  3283. /* 188816 0x8015E100 A7A000C8 */ sh $zero, 0xC8($sp)
  3284. /* 188817 0x8015E104 00008825 */ move $s1, $zero
  3285. /* 188818 0x8015E108 14200009 */ bnez $at, .L_8015E130
  3286. /* 188819 0x8015E10C 00009025 */ move $s2, $zero
  3287. .L_8015E110:
  3288. /* 188820 0x8015E110 87B800C8 */ lh $t8, 0xC8($sp)
  3289. /* 188821 0x8015E114 24E7FC18 */ addiu $a3, $a3, -1000
  3290. /* 188822 0x8015E118 00073C00 */ sll $a3, $a3, 16
  3291. /* 188823 0x8015E11C 00073C03 */ sra $a3, $a3, 16
  3292. /* 188824 0x8015E120 28E103E8 */ slti $at, $a3, 1000
  3293. /* 188825 0x8015E124 27190001 */ addiu $t9, $t8, 1
  3294. /* 188826 0x8015E128 1020FFF9 */ beqz $at, .L_8015E110
  3295. /* 188827 0x8015E12C A7B900C8 */ sh $t9, 0xC8($sp)
  3296. .L_8015E130:
  3297. /* 188828 0x8015E130 28E10064 */ slti $at, $a3, 100
  3298. /* 188829 0x8015E134 5420000A */ bnezl $at, .L_8015E160
  3299. /* 188830 0x8015E138 28E1000A */ slti $at, $a3, 10
  3300. .L_8015E13C:
  3301. /* 188831 0x8015E13C 87AD00CA */ lh $t5, 0xCA($sp)
  3302. /* 188832 0x8015E140 24E7FF9C */ addiu $a3, $a3, -100
  3303. /* 188833 0x8015E144 00073C00 */ sll $a3, $a3, 16
  3304. /* 188834 0x8015E148 00073C03 */ sra $a3, $a3, 16
  3305. /* 188835 0x8015E14C 28E10064 */ slti $at, $a3, 100
  3306. /* 188836 0x8015E150 25A90001 */ addiu $t1, $t5, 1
  3307. /* 188837 0x8015E154 1020FFF9 */ beqz $at, .L_8015E13C
  3308. /* 188838 0x8015E158 A7A900CA */ sh $t1, 0xCA($sp)
  3309. /* 188839 0x8015E15C 28E1000A */ slti $at, $a3, 10
  3310. .L_8015E160:
  3311. /* 188840 0x8015E160 5420000A */ bnezl $at, .L_8015E18C
  3312. /* 188841 0x8015E164 24010003 */ li $at, 3
  3313. .L_8015E168:
  3314. /* 188842 0x8015E168 87AF00CC */ lh $t7, 0xCC($sp)
  3315. /* 188843 0x8015E16C 24E7FFF6 */ addiu $a3, $a3, -10
  3316. /* 188844 0x8015E170 00073C00 */ sll $a3, $a3, 16
  3317. /* 188845 0x8015E174 00073C03 */ sra $a3, $a3, 16
  3318. /* 188846 0x8015E178 28E1000A */ slti $at, $a3, 10
  3319. /* 188847 0x8015E17C 25EC0001 */ addiu $t4, $t7, 1
  3320. /* 188848 0x8015E180 1020FFF9 */ beqz $at, .L_8015E168
  3321. /* 188849 0x8015E184 A7AC00CC */ sh $t4, 0xCC($sp)
  3322. /* 188850 0x8015E188 24010003 */ li $at, 3
  3323. .L_8015E18C:
  3324. /* 188851 0x8015E18C 12210007 */ beq $s1, $at, .L_8015E1AC
  3325. /* 188852 0x8015E190 00115040 */ sll $t2, $s1, 1
  3326. /* 188853 0x8015E194 02AA5821 */ addu $t3, $s5, $t2
  3327. /* 188854 0x8015E198 A7A700CE */ sh $a3, 0xCE($sp)
  3328. /* 188855 0x8015E19C 856E0000 */ lh $t6, 0x0($t3)
  3329. /* 188856 0x8015E1A0 11C00004 */ beqz $t6, .L_8015E1B4
  3330. /* 188857 0x8015E1A4 00000000 */ nop
  3331. /* 188858 0x8015E1A8 87A700CE */ lh $a3, 0xCE($sp)
  3332. .L_8015E1AC:
  3333. /* 188859 0x8015E1AC 24120001 */ li $s2, 1
  3334. /* 188860 0x8015E1B0 A7A700CE */ sh $a3, 0xCE($sp)
  3335. .L_8015E1B4:
  3336. /* 188861 0x8015E1B4 1240001C */ beqz $s2, .L_8015E228
  3337. /* 188862 0x8015E1B8 87A700CE */ lh $a3, 0xCE($sp)
  3338. /* 188863 0x8015E1BC 00114040 */ sll $t0, $s1, 1
  3339. /* 188864 0x8015E1C0 02A88021 */ addu $s0, $s5, $t0
  3340. /* 188865 0x8015E1C4 86050000 */ lh $a1, 0x0($s0)
  3341. /* 188866 0x8015E1C8 02802025 */ move $a0, $s4
  3342. /* 188867 0x8015E1CC 8FA600BC */ lw $a2, 0xBC($sp)
  3343. /* 188868 0x8015E1D0 24A50030 */ addiu $a1, $a1, 48
  3344. /* 188869 0x8015E1D4 0C03D3D5 */ jal func_800F4F54
  3345. /* 188870 0x8015E1D8 30A500FF */ andi $a1, $a1, 0xFF
  3346. /* 188871 0x8015E1DC 8FB800BC */ lw $t8, 0xBC($sp)
  3347. /* 188872 0x8015E1E0 87AF00DA */ lh $t7, 0xDA($sp)
  3348. /* 188873 0x8015E1E4 27190080 */ addiu $t9, $t8, 128
  3349. /* 188874 0x8015E1E8 AFB900BC */ sw $t9, 0xBC($sp)
  3350. /* 188875 0x8015E1EC 860D0000 */ lh $t5, 0x0($s0)
  3351. /* 188876 0x8015E1F0 02CF6021 */ addu $t4, $s6, $t7
  3352. /* 188877 0x8015E1F4 01975021 */ addu $t2, $t4, $s7
  3353. /* 188878 0x8015E1F8 25A90030 */ addiu $t1, $t5, 48
  3354. /* 188879 0x8015E1FC A1491F24 */ sb $t1, 0x1F24($t2)
  3355. /* 188880 0x8015E200 87AB00DA */ lh $t3, 0xDA($sp)
  3356. /* 188881 0x8015E204 8FA80070 */ lw $t0, 0x70($sp)
  3357. /* 188882 0x8015E208 C7A800A4 */ lwc1 $f8, 0xA4($sp)
  3358. /* 188883 0x8015E20C 256E0001 */ addiu $t6, $t3, 1
  3359. /* 188884 0x8015E210 A7AE00DA */ sh $t6, 0xDA($sp)
  3360. /* 188885 0x8015E214 C5122098 */ lwc1 $f18, 0x2098($t0)
  3361. /* 188886 0x8015E218 87A700CE */ lh $a3, 0xCE($sp)
  3362. /* 188887 0x8015E21C 4612B282 */ mul.s $f10, $f22, $f18
  3363. /* 188888 0x8015E220 460A4180 */ add.s $f6, $f8, $f10
  3364. /* 188889 0x8015E224 E7A600A4 */ swc1 $f6, 0xA4($sp)
  3365. .L_8015E228:
  3366. /* 188890 0x8015E228 26310001 */ addiu $s1, $s1, 1
  3367. /* 188891 0x8015E22C 00118C00 */ sll $s1, $s1, 16
  3368. /* 188892 0x8015E230 00118C03 */ sra $s1, $s1, 16
  3369. /* 188893 0x8015E234 2A210004 */ slti $at, $s1, 4
  3370. /* 188894 0x8015E238 5420FFD4 */ bnezl $at, .L_8015E18C
  3371. /* 188895 0x8015E23C 24010003 */ li $at, 3
  3372. /* 188896 0x8015E240 87B800DA */ lh $t8, 0xDA($sp)
  3373. /* 188897 0x8015E244 A7A700CE */ sh $a3, 0xCE($sp)
  3374. /* 188898 0x8015E248 2719FFFF */ addiu $t9, $t8, -1
  3375. /* 188899 0x8015E24C 10000125 */ b .L_8015E6E4
  3376. /* 188900 0x8015E250 A7B900DA */ sh $t9, 0xDA($sp)
  3377. /* 188901 0x8015E254 24010014 */ li $at, 20
  3378. .L_8015E258:
  3379. /* 188902 0x8015E258 5461002A */ bnel $v1, $at, .L_8015E304
  3380. /* 188903 0x8015E25C 24010013 */ li $at, 19
  3381. /* 188904 0x8015E260 87AD00DA */ lh $t5, 0xDA($sp)
  3382. /* 188905 0x8015E264 8FAC0070 */ lw $t4, 0x70($sp)
  3383. /* 188906 0x8015E268 A7A700CE */ sh $a3, 0xCE($sp)
  3384. /* 188907 0x8015E26C 25AFFFFF */ addiu $t7, $t5, -1
  3385. /* 188908 0x8015E270 A7AF00DA */ sh $t7, 0xDA($sp)
  3386. /* 188909 0x8015E274 95831FEC */ lhu $v1, 0x1FEC($t4)
  3387. /* 188910 0x8015E278 00008825 */ move $s1, $zero
  3388. /* 188911 0x8015E27C 02634821 */ addu $t1, $s3, $v1
  3389. /* 188912 0x8015E280 01375021 */ addu $t2, $t1, $s7
  3390. /* 188913 0x8015E284 914B1881 */ lbu $t3, 0x1881($t2)
  3391. /* 188914 0x8015E288 19600018 */ blez $t3, .L_8015E2EC
  3392. /* 188915 0x8015E28C 24060020 */ li $a2, 32
  3393. /* 188916 0x8015E290 8FA400E0 */ lw $a0, 0xE0($sp)
  3394. /* 188917 0x8015E294 87A200DA */ lh $v0, 0xDA($sp)
  3395. .L_8015E298:
  3396. /* 188918 0x8015E298 26310001 */ addiu $s1, $s1, 1
  3397. /* 188919 0x8015E29C 00118C00 */ sll $s1, $s1, 16
  3398. /* 188920 0x8015E2A0 24420001 */ addiu $v0, $v0, 1
  3399. /* 188921 0x8015E2A4 00022C00 */ sll $a1, $v0, 16
  3400. /* 188922 0x8015E2A8 00052C03 */ sra $a1, $a1, 16
  3401. /* 188923 0x8015E2AC 02C57021 */ addu $t6, $s6, $a1
  3402. /* 188924 0x8015E2B0 01D74021 */ addu $t0, $t6, $s7
  3403. /* 188925 0x8015E2B4 A7A200DA */ sh $v0, 0xDA($sp)
  3404. /* 188926 0x8015E2B8 A1061F24 */ sb $a2, 0x1F24($t0)
  3405. /* 188927 0x8015E2BC C7A400A4 */ lwc1 $f4, 0xA4($sp)
  3406. /* 188928 0x8015E2C0 8FB80070 */ lw $t8, 0x70($sp)
  3407. /* 188929 0x8015E2C4 00118C03 */ sra $s1, $s1, 16
  3408. /* 188930 0x8015E2C8 46182400 */ add.s $f16, $f4, $f24
  3409. /* 188931 0x8015E2CC E7B000A4 */ swc1 $f16, 0xA4($sp)
  3410. /* 188932 0x8015E2D0 97031FEC */ lhu $v1, 0x1FEC($t8)
  3411. /* 188933 0x8015E2D4 0083C821 */ addu $t9, $a0, $v1
  3412. /* 188934 0x8015E2D8 03376821 */ addu $t5, $t9, $s7
  3413. /* 188935 0x8015E2DC 91AF1881 */ lbu $t7, 0x1881($t5)
  3414. /* 188936 0x8015E2E0 022F082A */ slt $at, $s1, $t7
  3415. /* 188937 0x8015E2E4 5420FFEC */ bnezl $at, .L_8015E298
  3416. /* 188938 0x8015E2E8 87A200DA */ lh $v0, 0xDA($sp)
  3417. .L_8015E2EC:
  3418. /* 188939 0x8015E2EC 3C010001 */ lui $at, %hi(D_00011FEC)
  3419. /* 188940 0x8015E2F0 00360821 */ addu $at, $at, $s6
  3420. /* 188941 0x8015E2F4 246C0001 */ addiu $t4, $v1, 1
  3421. /* 188942 0x8015E2F8 100000FA */ b .L_8015E6E4
  3422. /* 188943 0x8015E2FC A42C1FEC */ sh $t4, %lo(D_00011FEC)($at)
  3423. /* 188944 0x8015E300 24010013 */ li $at, 19
  3424. .L_8015E304:
  3425. /* 188945 0x8015E304 10610005 */ beq $v1, $at, .L_8015E31C
  3426. /* 188946 0x8015E308 A7A700CE */ sh $a3, 0xCE($sp)
  3427. /* 188947 0x8015E30C 24010011 */ li $at, 17
  3428. /* 188948 0x8015E310 54610025 */ bnel $v1, $at, .L_8015E3A8
  3429. /* 188949 0x8015E314 24010017 */ li $at, 23
  3430. /* 188950 0x8015E318 A7A700CE */ sh $a3, 0xCE($sp)
  3431. .L_8015E31C:
  3432. /* 188951 0x8015E31C 87A900C6 */ lh $t1, 0xC6($sp)
  3433. /* 188952 0x8015E320 00095040 */ sll $t2, $t1, 1
  3434. /* 188953 0x8015E324 02CA5821 */ addu $t3, $s6, $t2
  3435. /* 188954 0x8015E328 01771021 */ addu $v0, $t3, $s7
  3436. /* 188955 0x8015E32C A4401F1A */ sh $zero, 0x1F1A($v0)
  3437. /* 188956 0x8015E330 8FAE0070 */ lw $t6, 0x70($sp)
  3438. /* 188957 0x8015E334 91C81F18 */ lbu $t0, 0x1F18($t6)
  3439. /* 188958 0x8015E338 5100000E */ beqzl $t0, .L_8015E374
  3440. /* 188959 0x8015E33C 87AD00C6 */ lh $t5, 0xC6($sp)
  3441. /* 188960 0x8015E340 C5D22098 */ lwc1 $f18, 0x2098($t6)
  3442. /* 188961 0x8015E344 C7A600A4 */ lwc1 $f6, 0xA4($sp)
  3443. /* 188962 0x8015E348 3C013F00 */ lui $at, 0x3F00
  3444. /* 188963 0x8015E34C 46169202 */ mul.s $f8, $f18, $f22
  3445. /* 188964 0x8015E350 44818000 */ mtc1 $at, $f16
  3446. /* 188965 0x8015E354 46164282 */ mul.s $f10, $f8, $f22
  3447. /* 188966 0x8015E358 46065101 */ sub.s $f4, $f10, $f6
  3448. /* 188967 0x8015E35C 46102482 */ mul.s $f18, $f4, $f16
  3449. /* 188968 0x8015E360 4600920D */ trunc.w.s $f8, $f18
  3450. /* 188969 0x8015E364 44194000 */ mfc1 $t9, $f8
  3451. /* 188970 0x8015E368 00000000 */ nop
  3452. /* 188971 0x8015E36C A4591F1A */ sh $t9, 0x1F1A($v0)
  3453. /* 188972 0x8015E370 87AD00C6 */ lh $t5, 0xC6($sp)
  3454. .L_8015E374:
  3455. /* 188973 0x8015E374 44805000 */ mtc1 $zero, $f10
  3456. /* 188974 0x8015E378 24010011 */ li $at, 17
  3457. /* 188975 0x8015E37C 25AF0001 */ addiu $t7, $t5, 1
  3458. /* 188976 0x8015E380 87A700CE */ lh $a3, 0xCE($sp)
  3459. /* 188977 0x8015E384 A7AF00C6 */ sh $t7, 0xC6($sp)
  3460. /* 188978 0x8015E388 14610004 */ bne $v1, $at, .L_8015E39C
  3461. /* 188979 0x8015E38C E7AA00A4 */ swc1 $f10, 0xA4($sp)
  3462. /* 188980 0x8015E390 87AC00D0 */ lh $t4, 0xD0($sp)
  3463. /* 188981 0x8015E394 25890001 */ addiu $t1, $t4, 1
  3464. /* 188982 0x8015E398 A7A900D0 */ sh $t1, 0xD0($sp)
  3465. .L_8015E39C:
  3466. /* 188983 0x8015E39C 100000D1 */ b .L_8015E6E4
  3467. /* 188984 0x8015E3A0 A7A700CE */ sh $a3, 0xCE($sp)
  3468. /* 188985 0x8015E3A4 24010017 */ li $at, 23
  3469. .L_8015E3A8:
  3470. /* 188986 0x8015E3A8 10610005 */ beq $v1, $at, .L_8015E3C0
  3471. /* 188987 0x8015E3AC 24010018 */ li $at, 24
  3472. /* 188988 0x8015E3B0 10610003 */ beq $v1, $at, .L_8015E3C0
  3473. /* 188989 0x8015E3B4 2401001A */ li $at, 26
  3474. /* 188990 0x8015E3B8 54610004 */ bnel $v1, $at, .L_8015E3CC
  3475. /* 188991 0x8015E3BC 2401000A */ li $at, 10
  3476. .L_8015E3C0:
  3477. /* 188992 0x8015E3C0 100000C8 */ b .L_8015E6E4
  3478. /* 188993 0x8015E3C4 A7A700CE */ sh $a3, 0xCE($sp)
  3479. /* 188994 0x8015E3C8 2401000A */ li $at, 10
  3480. .L_8015E3CC:
  3481. /* 188995 0x8015E3CC 54610007 */ bnel $v1, $at, .L_8015E3EC
  3482. /* 188996 0x8015E3D0 2401001C */ li $at, 28
  3483. /* 188997 0x8015E3D4 87AA00DA */ lh $t2, 0xDA($sp)
  3484. /* 188998 0x8015E3D8 A7A700CE */ sh $a3, 0xCE($sp)
  3485. /* 188999 0x8015E3DC 254B0001 */ addiu $t3, $t2, 1
  3486. /* 189000 0x8015E3E0 100000C0 */ b .L_8015E6E4
  3487. /* 189001 0x8015E3E4 A7AB00DA */ sh $t3, 0xDA($sp)
  3488. /* 189002 0x8015E3E8 2401001C */ li $at, 28
  3489. .L_8015E3EC:
  3490. /* 189003 0x8015E3EC 1461002A */ bne $v1, $at, .L_8015E498
  3491. /* 189004 0x8015E3F0 3C010001 */ lui $at, %hi(D_0001209C)
  3492. /* 189005 0x8015E3F4 A7A700CE */ sh $a3, 0xCE($sp)
  3493. /* 189006 0x8015E3F8 00360821 */ addu $at, $at, $s6
  3494. /* 189007 0x8015E3FC 24080001 */ li $t0, 1
  3495. /* 189008 0x8015E400 A428209C */ sh $t0, %lo(D_0001209C)($at)
  3496. /* 189009 0x8015E404 87A200DA */ lh $v0, 0xDA($sp)
  3497. /* 189010 0x8015E408 8FAE0070 */ lw $t6, 0x70($sp)
  3498. /* 189011 0x8015E40C 3C010001 */ lui $at, 0x0001
  3499. /* 189012 0x8015E410 24420001 */ addiu $v0, $v0, 1
  3500. /* 189013 0x8015E414 A7A200DA */ sh $v0, 0xDA($sp)
  3501. /* 189014 0x8015E418 95C51FEC */ lhu $a1, 0x1FEC($t6)
  3502. /* 189015 0x8015E41C 00360821 */ addu $at, $at, $s6
  3503. /* 189016 0x8015E420 00021C00 */ sll $v1, $v0, 16
  3504. /* 189017 0x8015E424 24A50001 */ addiu $a1, $a1, 1
  3505. /* 189018 0x8015E428 30A5FFFF */ andi $a1, $a1, 0xFFFF
  3506. /* 189019 0x8015E42C 0265C021 */ addu $t8, $s3, $a1
  3507. /* 189020 0x8015E430 0317C821 */ addu $t9, $t8, $s7
  3508. /* 189021 0x8015E434 A4251FEC */ sh $a1, 0x1FEC($at)
  3509. /* 189022 0x8015E438 932F1880 */ lbu $t7, 0x1880($t9)
  3510. /* 189023 0x8015E43C 00031C03 */ sra $v1, $v1, 16
  3511. /* 189024 0x8015E440 02C36021 */ addu $t4, $s6, $v1
  3512. /* 189025 0x8015E444 01974821 */ addu $t1, $t4, $s7
  3513. /* 189026 0x8015E448 A12F1F24 */ sb $t7, 0x1F24($t1)
  3514. /* 189027 0x8015E44C 87A200DA */ lh $v0, 0xDA($sp)
  3515. /* 189028 0x8015E450 8FAA0070 */ lw $t2, 0x70($sp)
  3516. /* 189029 0x8015E454 3C010001 */ lui $at, 0x0001
  3517. /* 189030 0x8015E458 24420001 */ addiu $v0, $v0, 1
  3518. /* 189031 0x8015E45C A7A200DA */ sh $v0, 0xDA($sp)
  3519. /* 189032 0x8015E460 95451FEC */ lhu $a1, 0x1FEC($t2)
  3520. /* 189033 0x8015E464 00021C00 */ sll $v1, $v0, 16
  3521. /* 189034 0x8015E468 00360821 */ addu $at, $at, $s6
  3522. /* 189035 0x8015E46C 24A50001 */ addiu $a1, $a1, 1
  3523. /* 189036 0x8015E470 30A5FFFF */ andi $a1, $a1, 0xFFFF
  3524. /* 189037 0x8015E474 02655821 */ addu $t3, $s3, $a1
  3525. /* 189038 0x8015E478 01774021 */ addu $t0, $t3, $s7
  3526. /* 189039 0x8015E47C A4251FEC */ sh $a1, 0x1FEC($at)
  3527. /* 189040 0x8015E480 00031C03 */ sra $v1, $v1, 16
  3528. /* 189041 0x8015E484 91181880 */ lbu $t8, 0x1880($t0)
  3529. /* 189042 0x8015E488 02C3C821 */ addu $t9, $s6, $v1
  3530. /* 189043 0x8015E48C 03376821 */ addu $t5, $t9, $s7
  3531. /* 189044 0x8015E490 10000094 */ b .L_8015E6E4
  3532. /* 189045 0x8015E494 A1B81F24 */ sb $t8, 0x1F24($t5)
  3533. .L_8015E498:
  3534. /* 189046 0x8015E498 2401001E */ li $at, 30
  3535. /* 189047 0x8015E49C 54610048 */ bnel $v1, $at, .L_8015E5C0
  3536. /* 189048 0x8015E4A0 2401001F */ li $at, 31
  3537. /* 189049 0x8015E4A4 87A200DA */ lh $v0, 0xDA($sp)
  3538. /* 189050 0x8015E4A8 8FAC0070 */ lw $t4, 0x70($sp)
  3539. /* 189051 0x8015E4AC A7A700CE */ sh $a3, 0xCE($sp)
  3540. /* 189052 0x8015E4B0 24420001 */ addiu $v0, $v0, 1
  3541. /* 189053 0x8015E4B4 A7A200DA */ sh $v0, 0xDA($sp)
  3542. /* 189054 0x8015E4B8 95851FEC */ lhu $a1, 0x1FEC($t4)
  3543. /* 189055 0x8015E4BC 3C010001 */ lui $at, %hi(D_00011FEC)
  3544. /* 189056 0x8015E4C0 00360821 */ addu $at, $at, $s6
  3545. /* 189057 0x8015E4C4 24A50001 */ addiu $a1, $a1, 1
  3546. /* 189058 0x8015E4C8 30A5FFFF */ andi $a1, $a1, 0xFFFF
  3547. /* 189059 0x8015E4CC 02657821 */ addu $t7, $s3, $a1
  3548. /* 189060 0x8015E4D0 01F74821 */ addu $t1, $t7, $s7
  3549. /* 189061 0x8015E4D4 A4251FEC */ sh $a1, %lo(D_00011FEC)($at)
  3550. /* 189062 0x8015E4D8 00021C00 */ sll $v1, $v0, 16
  3551. /* 189063 0x8015E4DC 912A1880 */ lbu $t2, 0x1880($t1)
  3552. /* 189064 0x8015E4E0 00031C03 */ sra $v1, $v1, 16
  3553. /* 189065 0x8015E4E4 02C35821 */ addu $t3, $s6, $v1
  3554. /* 189066 0x8015E4E8 01774021 */ addu $t0, $t3, $s7
  3555. /* 189067 0x8015E4EC A10A1F24 */ sb $t2, 0x1F24($t0)
  3556. /* 189068 0x8015E4F0 87A200DA */ lh $v0, 0xDA($sp)
  3557. /* 189069 0x8015E4F4 8FAE0070 */ lw $t6, 0x70($sp)
  3558. /* 189070 0x8015E4F8 3C010001 */ lui $at, 0x0001
  3559. /* 189071 0x8015E4FC 24420001 */ addiu $v0, $v0, 1
  3560. /* 189072 0x8015E500 A7A200DA */ sh $v0, 0xDA($sp)
  3561. /* 189073 0x8015E504 95C51FEC */ lhu $a1, 0x1FEC($t6)
  3562. /* 189074 0x8015E508 00360821 */ addu $at, $at, $s6
  3563. /* 189075 0x8015E50C 00021C00 */ sll $v1, $v0, 16
  3564. /* 189076 0x8015E510 24A50001 */ addiu $a1, $a1, 1
  3565. /* 189077 0x8015E514 30A5FFFF */ andi $a1, $a1, 0xFFFF
  3566. /* 189078 0x8015E518 0265C821 */ addu $t9, $s3, $a1
  3567. /* 189079 0x8015E51C 0337C021 */ addu $t8, $t9, $s7
  3568. /* 189080 0x8015E520 A4251FEC */ sh $a1, 0x1FEC($at)
  3569. /* 189081 0x8015E524 930D1880 */ lbu $t5, 0x1880($t8)
  3570. /* 189082 0x8015E528 00031C03 */ sra $v1, $v1, 16
  3571. /* 189083 0x8015E52C 02C36021 */ addu $t4, $s6, $v1
  3572. /* 189084 0x8015E530 01977821 */ addu $t7, $t4, $s7
  3573. /* 189085 0x8015E534 A1ED1F24 */ sb $t5, 0x1F24($t7)
  3574. /* 189086 0x8015E538 8FA90070 */ lw $t1, 0x70($sp)
  3575. /* 189087 0x8015E53C 912B2094 */ lbu $t3, 0x2094($t1)
  3576. /* 189088 0x8015E540 55600014 */ bnezl $t3, .L_8015E594
  3577. /* 189089 0x8015E544 87A800DA */ lh $t0, 0xDA($sp)
  3578. /* 189090 0x8015E548 91221F0A */ lbu $v0, 0x1F0A($t1)
  3579. /* 189091 0x8015E54C 24010001 */ li $at, 1
  3580. /* 189092 0x8015E550 1041000F */ beq $v0, $at, .L_8015E590
  3581. /* 189093 0x8015E554 24010003 */ li $at, 3
  3582. /* 189094 0x8015E558 1041000D */ beq $v0, $at, .L_8015E590
  3583. /* 189095 0x8015E55C 24010006 */ li $at, 6
  3584. /* 189096 0x8015E560 1041000B */ beq $v0, $at, .L_8015E590
  3585. /* 189097 0x8015E564 24010008 */ li $at, 8
  3586. /* 189098 0x8015E568 10410009 */ beq $v0, $at, .L_8015E590
  3587. /* 189099 0x8015E56C 24010009 */ li $at, 9
  3588. /* 189100 0x8015E570 10410007 */ beq $v0, $at, .L_8015E590
  3589. /* 189101 0x8015E574 2401000B */ li $at, 11
  3590. /* 189102 0x8015E578 50410006 */ beql $v0, $at, .L_8015E594
  3591. /* 189103 0x8015E57C 87A800DA */ lh $t0, 0xDA($sp)
  3592. /* 189104 0x8015E580 912A1F0C */ lbu $t2, 0x1F0C($t1)
  3593. /* 189105 0x8015E584 24010003 */ li $at, 3
  3594. /* 189106 0x8015E588 1541000A */ bne $t2, $at, .L_8015E5B4
  3595. /* 189107 0x8015E58C 00000000 */ nop
  3596. .L_8015E590:
  3597. /* 189108 0x8015E590 87A800DA */ lh $t0, 0xDA($sp)
  3598. .L_8015E594:
  3599. /* 189109 0x8015E594 02C87021 */ addu $t6, $s6, $t0
  3600. /* 189110 0x8015E598 01D71021 */ addu $v0, $t6, $s7
  3601. /* 189111 0x8015E59C 90441F23 */ lbu $a0, 0x1F23($v0)
  3602. /* 189112 0x8015E5A0 90591F24 */ lbu $t9, 0x1F24($v0)
  3603. /* 189113 0x8015E5A4 00042200 */ sll $a0, $a0, 8
  3604. /* 189114 0x8015E5A8 00992025 */ or $a0, $a0, $t9
  3605. /* 189115 0x8015E5AC 0C067C32 */ jal func_8019F0C8
  3606. /* 189116 0x8015E5B0 3084FFFF */ andi $a0, $a0, 0xFFFF
  3607. .L_8015E5B4:
  3608. /* 189117 0x8015E5B4 1000004C */ b .L_8015E6E8
  3609. /* 189118 0x8015E5B8 87AA00DA */ lh $t2, 0xDA($sp)
  3610. /* 189119 0x8015E5BC 2401001F */ li $at, 31
  3611. .L_8015E5C0:
  3612. /* 189120 0x8015E5C0 54610028 */ bnel $v1, $at, .L_8015E664
  3613. /* 189121 0x8015E5C4 24010020 */ li $at, 32
  3614. /* 189122 0x8015E5C8 87A200DA */ lh $v0, 0xDA($sp)
  3615. /* 189123 0x8015E5CC 8FB80070 */ lw $t8, 0x70($sp)
  3616. /* 189124 0x8015E5D0 A7A700CE */ sh $a3, 0xCE($sp)
  3617. /* 189125 0x8015E5D4 24420001 */ addiu $v0, $v0, 1
  3618. /* 189126 0x8015E5D8 A7A200DA */ sh $v0, 0xDA($sp)
  3619. /* 189127 0x8015E5DC 97051FEC */ lhu $a1, 0x1FEC($t8)
  3620. /* 189128 0x8015E5E0 3C010001 */ lui $at, %hi(D_00011FEC)
  3621. /* 189129 0x8015E5E4 00360821 */ addu $at, $at, $s6
  3622. /* 189130 0x8015E5E8 24A50001 */ addiu $a1, $a1, 1
  3623. /* 189131 0x8015E5EC 30A5FFFF */ andi $a1, $a1, 0xFFFF
  3624. /* 189132 0x8015E5F0 02656021 */ addu $t4, $s3, $a1
  3625. /* 189133 0x8015E5F4 01976821 */ addu $t5, $t4, $s7
  3626. /* 189134 0x8015E5F8 A4251FEC */ sh $a1, %lo(D_00011FEC)($at)
  3627. /* 189135 0x8015E5FC 00021C00 */ sll $v1, $v0, 16
  3628. /* 189136 0x8015E600 91AF1880 */ lbu $t7, 0x1880($t5)
  3629. /* 189137 0x8015E604 00031C03 */ sra $v1, $v1, 16
  3630. /* 189138 0x8015E608 02C35821 */ addu $t3, $s6, $v1
  3631. /* 189139 0x8015E60C 01774821 */ addu $t1, $t3, $s7
  3632. /* 189140 0x8015E610 A12F1F24 */ sb $t7, 0x1F24($t1)
  3633. /* 189141 0x8015E614 87A200DA */ lh $v0, 0xDA($sp)
  3634. /* 189142 0x8015E618 8FAA0070 */ lw $t2, 0x70($sp)
  3635. /* 189143 0x8015E61C 3C010001 */ lui $at, 0x0001
  3636. /* 189144 0x8015E620 24420001 */ addiu $v0, $v0, 1
  3637. /* 189145 0x8015E624 A7A200DA */ sh $v0, 0xDA($sp)
  3638. /* 189146 0x8015E628 95451FEC */ lhu $a1, 0x1FEC($t2)
  3639. /* 189147 0x8015E62C 00021C00 */ sll $v1, $v0, 16
  3640. /* 189148 0x8015E630 00360821 */ addu $at, $at, $s6
  3641. /* 189149 0x8015E634 24A50001 */ addiu $a1, $a1, 1
  3642. /* 189150 0x8015E638 30A5FFFF */ andi $a1, $a1, 0xFFFF
  3643. /* 189151 0x8015E63C 02654021 */ addu $t0, $s3, $a1
  3644. /* 189152 0x8015E640 01177021 */ addu $t6, $t0, $s7
  3645. /* 189153 0x8015E644 A4251FEC */ sh $a1, 0x1FEC($at)
  3646. /* 189154 0x8015E648 00031C03 */ sra $v1, $v1, 16
  3647. /* 189155 0x8015E64C 91D91880 */ lbu $t9, 0x1880($t6)
  3648. /* 189156 0x8015E650 02C3C021 */ addu $t8, $s6, $v1
  3649. /* 189157 0x8015E654 03176021 */ addu $t4, $t8, $s7
  3650. /* 189158 0x8015E658 10000022 */ b .L_8015E6E4
  3651. /* 189159 0x8015E65C A1991F24 */ sb $t9, 0x1F24($t4)
  3652. /* 189160 0x8015E660 24010020 */ li $at, 32
  3653. .L_8015E664:
  3654. /* 189161 0x8015E664 10610018 */ beq $v1, $at, .L_8015E6C8
  3655. /* 189162 0x8015E668 28610009 */ slti $at, $v1, 9
  3656. /* 189163 0x8015E66C 54200017 */ bnezl $at, .L_8015E6CC
  3657. /* 189164 0x8015E670 24010020 */ li $at, 32
  3658. /* 189165 0x8015E674 A7A700CE */ sh $a3, 0xCE($sp)
  3659. /* 189166 0x8015E678 02802025 */ move $a0, $s4
  3660. /* 189167 0x8015E67C 324500FF */ andi $a1, $s2, 0xFF
  3661. /* 189168 0x8015E680 8FA600BC */ lw $a2, 0xBC($sp)
  3662. /* 189169 0x8015E684 0C03D3D5 */ jal func_800F4F54
  3663. /* 189170 0x8015E688 AFA30078 */ sw $v1, 0x78($sp)
  3664. /* 189171 0x8015E68C 8FA30078 */ lw $v1, 0x78($sp)
  3665. /* 189172 0x8015E690 8FAD00BC */ lw $t5, 0xBC($sp)
  3666. /* 189173 0x8015E694 8FA90070 */ lw $t1, 0x70($sp)
  3667. /* 189174 0x8015E698 3C01801D */ lui $at, %hi(D_801D03F0)
  3668. /* 189175 0x8015E69C 00037880 */ sll $t7, $v1, 2
  3669. /* 189176 0x8015E6A0 25AB0080 */ addiu $t3, $t5, 128
  3670. /* 189177 0x8015E6A4 AFAB00BC */ sw $t3, 0xBC($sp)
  3671. /* 189178 0x8015E6A8 002F0821 */ addu $at, $at, $t7
  3672. /* 189179 0x8015E6AC C42603F0 */ lwc1 $f6, %lo(D_801D03F0)($at)
  3673. /* 189180 0x8015E6B0 C5242098 */ lwc1 $f4, 0x2098($t1)
  3674. /* 189181 0x8015E6B4 C7B200A4 */ lwc1 $f18, 0xA4($sp)
  3675. /* 189182 0x8015E6B8 46043402 */ mul.s $f16, $f6, $f4
  3676. /* 189183 0x8015E6BC 46109200 */ add.s $f8, $f18, $f16
  3677. /* 189184 0x8015E6C0 10000008 */ b .L_8015E6E4
  3678. /* 189185 0x8015E6C4 E7A800A4 */ swc1 $f8, 0xA4($sp)
  3679. .L_8015E6C8:
  3680. /* 189186 0x8015E6C8 24010020 */ li $at, 32
  3681. .L_8015E6CC:
  3682. /* 189187 0x8015E6CC 14610005 */ bne $v1, $at, .L_8015E6E4
  3683. /* 189188 0x8015E6D0 A7A700CE */ sh $a3, 0xCE($sp)
  3684. /* 189189 0x8015E6D4 C7AA00A4 */ lwc1 $f10, 0xA4($sp)
  3685. /* 189190 0x8015E6D8 A7A700CE */ sh $a3, 0xCE($sp)
  3686. /* 189191 0x8015E6DC 46185180 */ add.s $f6, $f10, $f24
  3687. /* 189192 0x8015E6E0 E7A600A4 */ swc1 $f6, 0xA4($sp)
  3688. .L_8015E6E4:
  3689. /* 189193 0x8015E6E4 87AA00DA */ lh $t2, 0xDA($sp)
  3690. .L_8015E6E8:
  3691. /* 189194 0x8015E6E8 8FAE0070 */ lw $t6, 0x70($sp)
  3692. /* 189195 0x8015E6EC 3C010001 */ lui $at, 0x0001
  3693. /* 189196 0x8015E6F0 25480001 */ addiu $t0, $t2, 1
  3694. /* 189197 0x8015E6F4 A7A800DA */ sh $t0, 0xDA($sp)
  3695. /* 189198 0x8015E6F8 95D81FEC */ lhu $t8, 0x1FEC($t6)
  3696. /* 189199 0x8015E6FC 00360821 */ addu $at, $at, $s6
  3697. /* 189200 0x8015E700 27190001 */ addiu $t9, $t8, 1
  3698. /* 189201 0x8015E704 1000F2DD */ b .L_8015B27C
  3699. /* 189202 0x8015E708 A4391FEC */ sh $t9, 0x1FEC($at)
  3700. .L_8015E70C:
  3701. /* 189203 0x8015E70C 8FBF0064 */ lw $ra, 0x64($sp)
  3702. /* 189204 0x8015E710 D7B40020 */ ldc1 $f20, 0x20($sp)
  3703. /* 189205 0x8015E714 D7B60028 */ ldc1 $f22, 0x28($sp)
  3704. /* 189206 0x8015E718 D7B80030 */ ldc1 $f24, 0x30($sp)
  3705. /* 189207 0x8015E71C D7BA0038 */ ldc1 $f26, 0x38($sp)
  3706. /* 189208 0x8015E720 8FB00040 */ lw $s0, 0x40($sp)
  3707. /* 189209 0x8015E724 8FB10044 */ lw $s1, 0x44($sp)
  3708. /* 189210 0x8015E728 8FB20048 */ lw $s2, 0x48($sp)
  3709. /* 189211 0x8015E72C 8FB3004C */ lw $s3, 0x4C($sp)
  3710. /* 189212 0x8015E730 8FB40050 */ lw $s4, 0x50($sp)
  3711. /* 189213 0x8015E734 8FB50054 */ lw $s5, 0x54($sp)
  3712. /* 189214 0x8015E738 8FB60058 */ lw $s6, 0x58($sp)
  3713. /* 189215 0x8015E73C 8FB7005C */ lw $s7, 0x5C($sp)
  3714. /* 189216 0x8015E740 8FBE0060 */ lw $fp, 0x60($sp)
  3715. /* 189217 0x8015E744 03E00008 */ jr $ra
  3716. /* 189218 0x8015E748 27BD00E8 */ addiu $sp, $sp, 232
  3717. /* 189219 0x8015E74C 00000000 */ nop
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement