Advertisement
Guest User

Validate function

a guest
Jan 21st, 2017
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. .text:00401C50                 .globl validate
  2. .text:00401C50 validate:                                # CODE XREF: main+17Cp
  3. .text:00401C50                                          # DATA XREF: main+174o ...
  4. .text:00401C50
  5. .text:00401C50 var_50          = -0x50
  6. .text:00401C50 var_48          = -0x48
  7. .text:00401C50 var_44          = -0x44
  8. .text:00401C50 var_40          = -0x40
  9. .text:00401C50 var_3C          = -0x3C
  10. .text:00401C50 var_38          = -0x38
  11. .text:00401C50 var_34          = -0x34
  12. .text:00401C50 var_30          = -0x30
  13. .text:00401C50 var_2C          = -0x2C
  14. .text:00401C50 var_28          = -0x28
  15. .text:00401C50 var_24          = -0x24
  16. .text:00401C50 var_20          = -0x20
  17. .text:00401C50 var_1C          = -0x1C
  18. .text:00401C50 var_18          = -0x18
  19. .text:00401C50 var_17          = -0x17
  20. .text:00401C50 var_16          = -0x16
  21. .text:00401C50 var_15          = -0x15
  22. .text:00401C50 var_10          = -0x10
  23. .text:00401C50 var_C           = -0xC
  24. .text:00401C50 var_8           = -8
  25. .text:00401C50 var_4           = -4
  26. .text:00401C50 arg_0           =  0
  27. .text:00401C50 arg_4           =  4
  28. .text:00401C50
  29. .text:00401C50                 addiu   $sp, -0x60
  30. .text:00401C54                 sw      $ra, 0x60+var_4($sp)
  31. .text:00401C58                 sw      $fp, 0x60+var_8($sp)
  32. .text:00401C5C                 sw      $s1, 0x60+var_C($sp)
  33. .text:00401C60                 sw      $s0, 0x60+var_10($sp)
  34. .text:00401C64                 move    $fp, $sp
  35. .text:00401C68                 li      $gp, 0x4AEB10
  36. .text:00401C70                 sw      $gp, 0x60+var_50($sp)
  37. .text:00401C74                 sw      $a0, 0x60+arg_0($fp)
  38. .text:00401C78                 sw      $a1, 0x60+arg_4($fp)
  39. .text:00401C7C                 li      $v0, 0xDEAD
  40. .text:00401C80                 sw      $v0, 0x60+var_48($fp)
  41. .text:00401C84                 li      $v0, 0xBABE
  42. .text:00401C88                 sw      $v0, 0x60+var_44($fp)
  43. .text:00401C8C                 li      $v0, 0xDEFE
  44. .text:00401C90                 sw      $v0, 0x60+var_40($fp)
  45. .text:00401C94                 li      $v0, 0xCA7E
  46. .text:00401C98                 sw      $v0, 0x60+var_3C($fp)
  47. .text:00401C9C                 lw      $v0, 0x60+var_48($fp)
  48. .text:00401CA0                 sw      $v0, 0x60+var_38($fp)
  49. .text:00401CA4                 li      $v0, 0xBEEF
  50. .text:00401CA8                 sw      $v0, 0x60+var_34($fp)
  51. .text:00401CAC                 lw      $v1, 0x60+var_48($fp)
  52. .text:00401CB0                 lw      $v0, 0x60+var_44($fp)
  53. .text:00401CB4                 mult    $v1, $v0
  54. .text:00401CB8                 mflo    $v0
  55. .text:00401CBC                 sw      $v0, 0x60+var_30($fp)
  56. .text:00401CC0                 lw      $v1, 0x60+var_40($fp)
  57. .text:00401CC4                 lw      $v0, 0x60+var_3C($fp)
  58. .text:00401CC8                 mult    $v1, $v0
  59. .text:00401CCC                 mflo    $v0
  60. .text:00401CD0                 sw      $v0, 0x60+var_2C($fp)
  61. .text:00401CD4                 lw      $v1, 0x60+var_38($fp)
  62. .text:00401CD8                 lw      $v0, 0x60+var_34($fp)
  63. .text:00401CDC                 mult    $v1, $v0
  64. .text:00401CE0                 mflo    $v0
  65. .text:00401CE4                 sw      $v0, 0x60+var_28($fp)
  66. .text:00401CE8                 lw      $v1, 0x60+var_30($fp)
  67. .text:00401CEC                 lw      $v0, 0x60+var_44($fp)
  68. .text:00401CF0                 divu    $v1, $v0
  69. .text:00401CF4                 teq     $v0, $zero  #7
  70. .text:00401CF8                 mfhi    $v1
  71. .text:00401CFC                 mflo    $v0
  72. .text:00401D00                 sw      $v0, 0x60+var_24($fp)
  73. .text:00401D04                 lw      $v1, 0x60+var_2C($fp)
  74. .text:00401D08                 lw      $v0, 0x60+var_3C($fp)
  75. .text:00401D0C                 divu    $v1, $v0
  76. .text:00401D10                 teq     $v0, $zero  #7
  77. .text:00401D14                 mfhi    $v1
  78. .text:00401D18                 mflo    $v0
  79. .text:00401D1C                 sw      $v0, 0x60+var_20($fp)
  80. .text:00401D20                 lw      $v1, 0x60+var_28($fp)
  81. .text:00401D24                 lw      $v0, 0x60+var_34($fp)
  82. .text:00401D28                 divu    $v1, $v0
  83. .text:00401D2C                 teq     $v0, $zero  #7
  84. .text:00401D30                 mfhi    $v1
  85. .text:00401D34                 mflo    $v0
  86. .text:00401D38                 sw      $v0, 0x60+var_1C($fp)
  87. .text:00401D3C                 lw      $v1, 0x60+var_24($fp)
  88. .text:00401D40                 lw      $v0, 0x60+var_48($fp)
  89. .text:00401D44                 divu    $v1, $v0
  90. .text:00401D48                 teq     $v0, $zero  #7
  91. .text:00401D4C                 mfhi    $v1
  92. .text:00401D50                 mflo    $v0
  93. .text:00401D54                 move    $v1, $v0
  94. .text:00401D58                 lw      $v0, 0x60+var_20($fp)
  95. .text:00401D5C                 mult    $v1, $v0
  96. .text:00401D60                 mflo    $v1
  97. .text:00401D64                 lw      $v0, 0x60+var_40($fp)
  98. .text:00401D68                 move    $at, $at
  99. .text:00401D6C                 divu    $v1, $v0
  100. .text:00401D70                 teq     $v0, $zero  #7
  101. .text:00401D74                 mfhi    $v1
  102. .text:00401D78                 mflo    $v0
  103. .text:00401D7C                 move    $v1, $v0
  104. .text:00401D80                 lw      $v0, 0x60+var_1C($fp)
  105. .text:00401D84                 mult    $v1, $v0
  106. .text:00401D88                 mflo    $v1
  107. .text:00401D8C                 lw      $v0, 0x60+var_38($fp)
  108. .text:00401D90                 move    $at, $at
  109. .text:00401D94                 divu    $v1, $v0
  110. .text:00401D98                 teq     $v0, $zero  #7
  111. .text:00401D9C                 mfhi    $v1
  112. .text:00401DA0                 mflo    $v0
  113. .text:00401DA4                 sw      $v0, 0x60+var_30($fp)
  114. .text:00401DA8                 lw      $v0, 0x60+var_30($fp)
  115. .text:00401DAC                 srl     $v0, 1
  116. .text:00401DB0                 sw      $v0, 0x60+var_30($fp)
  117. .text:00401DB4                 lw      $v1, 0x60+arg_4($fp)
  118. .text:00401DB8                 lw      $v0, 0x60+var_30($fp)
  119. .text:00401DBC                 addu    $v0, $v1, $v0
  120. .text:00401DC0                 lb      $v1, 0($v0)
  121. .text:00401DC4                 lw      $a0, 0x60+arg_0($fp)
  122. .text:00401DC8                 lw      $v0, 0x60+var_30($fp)
  123. .text:00401DCC                 addu    $v0, $a0, $v0
  124. .text:00401DD0                 lb      $v0, 0($v0)
  125. .text:00401DD4                 beq     $v1, $v0, loc_401E0C
  126. .text:00401DD8                 move    $at, $at
  127. .text:00401DDC                 lui     $v0, 0x48
  128. .text:00401DE0                 addiu   $a0, $v0, (aNope_0 - 0x480000)  # "Nope!"
  129. .text:00401DE4                 la      $v0, puts
  130. .text:00401DE8                 move    $t9, $v0
  131. .text:00401DEC                 jalr    $t9 ; puts
  132. .text:00401DF0                 move    $at, $at
  133. .text:00401DF4                 lw      $gp, 0x60+var_50($fp)
  134. .text:00401DF8                 move    $a0, $zero
  135. .text:00401DFC                 la      $v0, exit
  136. .text:00401E00                 move    $t9, $v0
  137. .text:00401E04                 jalr    $t9 ; exit
  138. .text:00401E08                 move    $at, $at
  139. .text:00401E0C
  140. .text:00401E0C loc_401E0C:                              # CODE XREF: validate+184j
  141. .text:00401E0C                 lw      $v1, 0x60+var_48($fp)
  142. .text:00401E10                 lw      $v0, 0x60+var_44($fp)
  143. .text:00401E14                 mult    $v1, $v0
  144. .text:00401E18                 mflo    $v0
  145. .text:00401E1C                 sw      $v0, 0x60+var_30($fp)
  146. .text:00401E20                 lw      $v1, 0x60+var_40($fp)
  147. .text:00401E24                 lw      $v0, 0x60+var_3C($fp)
  148. .text:00401E28                 mult    $v1, $v0
  149. .text:00401E2C                 mflo    $v0
  150. .text:00401E30                 sw      $v0, 0x60+var_2C($fp)
  151. .text:00401E34                 lw      $v1, 0x60+var_38($fp)
  152. .text:00401E38                 lw      $v0, 0x60+var_34($fp)
  153. .text:00401E3C                 mult    $v1, $v0
  154. .text:00401E40                 mflo    $v0
  155. .text:00401E44                 sw      $v0, 0x60+var_28($fp)
  156. .text:00401E48                 lw      $v1, 0x60+var_30($fp)
  157. .text:00401E4C                 lw      $v0, 0x60+var_44($fp)
  158. .text:00401E50                 divu    $v1, $v0
  159. .text:00401E54                 teq     $v0, $zero  #7
  160. .text:00401E58                 mfhi    $v1
  161. .text:00401E5C                 mflo    $v0
  162. .text:00401E60                 sw      $v0, 0x60+var_24($fp)
  163. .text:00401E64                 lw      $v1, 0x60+var_2C($fp)
  164. .text:00401E68                 lw      $v0, 0x60+var_3C($fp)
  165. .text:00401E6C                 divu    $v1, $v0
  166. .text:00401E70                 teq     $v0, $zero  #7
  167. .text:00401E74                 mfhi    $v1
  168. .text:00401E78                 mflo    $v0
  169. .text:00401E7C                 sw      $v0, 0x60+var_20($fp)
  170. .text:00401E80                 lw      $v1, 0x60+var_28($fp)
  171. .text:00401E84                 lw      $v0, 0x60+var_34($fp)
  172. .text:00401E88                 divu    $v1, $v0
  173. .text:00401E8C                 teq     $v0, $zero  #7
  174. .text:00401E90                 mfhi    $v1
  175. .text:00401E94                 mflo    $v0
  176. .text:00401E98                 sw      $v0, 0x60+var_1C($fp)
  177. .text:00401E9C                 lw      $v1, 0x60+var_24($fp)
  178. .text:00401EA0                 lw      $v0, 0x60+var_48($fp)
  179. .text:00401EA4                 divu    $v1, $v0
  180. .text:00401EA8                 teq     $v0, $zero  #7
  181. .text:00401EAC                 mfhi    $v1
  182. .text:00401EB0                 mflo    $v0
  183. .text:00401EB4                 move    $v1, $v0
  184. .text:00401EB8                 lw      $v0, 0x60+var_20($fp)
  185. .text:00401EBC                 mult    $v1, $v0
  186. .text:00401EC0                 mflo    $v1
  187. .text:00401EC4                 lw      $v0, 0x60+var_40($fp)
  188. .text:00401EC8                 move    $at, $at
  189. .text:00401ECC                 divu    $v1, $v0
  190. .text:00401ED0                 teq     $v0, $zero  #7
  191. .text:00401ED4                 mfhi    $v1
  192. .text:00401ED8                 mflo    $v0
  193. .text:00401EDC                 move    $v1, $v0
  194. .text:00401EE0                 lw      $v0, 0x60+var_1C($fp)
  195. .text:00401EE4                 mult    $v1, $v0
  196. .text:00401EE8                 mflo    $v1
  197. .text:00401EEC                 lw      $v0, 0x60+var_38($fp)
  198. .text:00401EF0                 move    $at, $at
  199. .text:00401EF4                 divu    $v1, $v0
  200. .text:00401EF8                 teq     $v0, $zero  #7
  201. .text:00401EFC                 mfhi    $v1
  202. .text:00401F00                 mflo    $v0
  203. .text:00401F04                 sw      $v0, 0x60+var_30($fp)
  204. .text:00401F08                 lw      $v1, 0x60+arg_4($fp)
  205. .text:00401F0C                 lw      $v0, 0x60+var_30($fp)
  206. .text:00401F10                 addu    $v0, $v1, $v0
  207. .text:00401F14                 lb      $v1, 0($v0)
  208. .text:00401F18                 lw      $v0, 0x60+arg_0($fp)
  209. .text:00401F1C                 addiu   $v0, 0xF
  210. .text:00401F20                 lb      $v0, 0($v0)
  211. .text:00401F24                 beq     $v1, $v0, loc_401F5C
  212. .text:00401F28                 move    $at, $at
  213. .text:00401F2C                 lui     $v0, 0x48
  214. .text:00401F30                 addiu   $a0, $v0, (aNope_0 - 0x480000)  # "Nope!"
  215. .text:00401F34                 la      $v0, puts
  216. .text:00401F38                 move    $t9, $v0
  217. .text:00401F3C                 jalr    $t9 ; puts
  218. .text:00401F40                 move    $at, $at
  219. .text:00401F44                 lw      $gp, 0x60+var_50($fp)
  220. .text:00401F48                 li      $a0, 1
  221. .text:00401F4C                 la      $v0, exit
  222. .text:00401F50                 move    $t9, $v0
  223. .text:00401F54                 jalr    $t9 ; exit
  224. .text:00401F58                 move    $at, $at
  225. .text:00401F5C
  226. .text:00401F5C loc_401F5C:                              # CODE XREF: validate+2D4j
  227. .text:00401F5C                 lw      $v1, 0x60+var_48($fp)
  228. .text:00401F60                 lw      $v0, 0x60+var_44($fp)
  229. .text:00401F64                 mult    $v1, $v0
  230. .text:00401F68                 mflo    $v0
  231. .text:00401F6C                 sw      $v0, 0x60+var_30($fp)
  232. .text:00401F70                 lw      $v1, 0x60+var_40($fp)
  233. .text:00401F74                 lw      $v0, 0x60+var_3C($fp)
  234. .text:00401F78                 mult    $v1, $v0
  235. .text:00401F7C                 mflo    $v0
  236. .text:00401F80                 sw      $v0, 0x60+var_2C($fp)
  237. .text:00401F84                 lw      $v1, 0x60+var_38($fp)
  238. .text:00401F88                 lw      $v0, 0x60+var_34($fp)
  239. .text:00401F8C                 mult    $v1, $v0
  240. .text:00401F90                 mflo    $v0
  241. .text:00401F94                 sw      $v0, 0x60+var_28($fp)
  242. .text:00401F98                 lw      $v1, 0x60+var_30($fp)
  243. .text:00401F9C                 lw      $v0, 0x60+var_44($fp)
  244. .text:00401FA0                 divu    $v1, $v0
  245. .text:00401FA4                 teq     $v0, $zero  #7
  246. .text:00401FA8                 mfhi    $v1
  247. .text:00401FAC                 mflo    $v0
  248. .text:00401FB0                 sw      $v0, 0x60+var_24($fp)
  249. .text:00401FB4                 lw      $v1, 0x60+var_2C($fp)
  250. .text:00401FB8                 lw      $v0, 0x60+var_3C($fp)
  251. .text:00401FBC                 divu    $v1, $v0
  252. .text:00401FC0                 teq     $v0, $zero  #7
  253. .text:00401FC4                 mfhi    $v1
  254. .text:00401FC8                 mflo    $v0
  255. .text:00401FCC                 sw      $v0, 0x60+var_20($fp)
  256. .text:00401FD0                 lw      $v1, 0x60+var_28($fp)
  257. .text:00401FD4                 lw      $v0, 0x60+var_34($fp)
  258. .text:00401FD8                 divu    $v1, $v0
  259. .text:00401FDC                 teq     $v0, $zero  #7
  260. .text:00401FE0                 mfhi    $v1
  261. .text:00401FE4                 mflo    $v0
  262. .text:00401FE8                 sw      $v0, 0x60+var_1C($fp)
  263. .text:00401FEC                 lw      $v1, 0x60+var_24($fp)
  264. .text:00401FF0                 lw      $v0, 0x60+var_48($fp)
  265. .text:00401FF4                 divu    $v1, $v0
  266. .text:00401FF8                 teq     $v0, $zero  #7
  267. .text:00401FFC                 mfhi    $v1
  268. .text:00402000                 mflo    $v0
  269. .text:00402004                 move    $v1, $v0
  270. .text:00402008                 lw      $v0, 0x60+var_20($fp)
  271. .text:0040200C                 mult    $v1, $v0
  272. .text:00402010                 mflo    $v1
  273. .text:00402014                 lw      $v0, 0x60+var_40($fp)
  274. .text:00402018                 move    $at, $at
  275. .text:0040201C                 divu    $v1, $v0
  276. .text:00402020                 teq     $v0, $zero  #7
  277. .text:00402024                 mfhi    $v1
  278. .text:00402028                 mflo    $v0
  279. .text:0040202C                 move    $v1, $v0
  280. .text:00402030                 lw      $v0, 0x60+var_1C($fp)
  281. .text:00402034                 mult    $v1, $v0
  282. .text:00402038                 mflo    $v1
  283. .text:0040203C                 lw      $v0, 0x60+var_38($fp)
  284. .text:00402040                 move    $at, $at
  285. .text:00402044                 divu    $v1, $v0
  286. .text:00402048                 teq     $v0, $zero  #7
  287. .text:0040204C                 mfhi    $v1
  288. .text:00402050                 mflo    $v0
  289. .text:00402054                 sw      $v0, 0x60+var_30($fp)
  290. .text:00402058                 lw      $v0, 0x60+var_30($fp)
  291. .text:0040205C                 sll     $v0, 1
  292. .text:00402060                 sw      $v0, 0x60+var_30($fp)
  293. .text:00402064                 lw      $v0, 0x60+arg_0($fp)
  294. .text:00402068                 addiu   $v0, 7
  295. .text:0040206C                 lb      $v0, 0($v0)
  296. .text:00402070                 slti    $v0, 0x41
  297. .text:00402074                 bnez    $v0, loc_4020F4
  298. .text:00402078                 move    $at, $at
  299. .text:0040207C                 lw      $v0, 0x60+arg_0($fp)
  300. .text:00402080                 addiu   $v0, 7
  301. .text:00402084                 lb      $v0, 0($v0)
  302. .text:00402088                 xori    $v0, 0x4B
  303. .text:0040208C                 sb      $v0, 0x60+var_18($fp)
  304. .text:00402090                 lbu     $v0, 0x60+var_18($fp)
  305. .text:00402094                 xori    $v0, 0x61
  306. .text:00402098                 sb      $v0, 0x60+var_18($fp)
  307. .text:0040209C                 lbu     $v0, 0x60+var_18($fp)
  308. .text:004020A0                 xori    $v0, 0xA
  309. .text:004020A4                 sb      $v0, 0x60+var_18($fp)
  310. .text:004020A8                 lw      $v1, 0x60+arg_4($fp)
  311. .text:004020AC                 lw      $v0, 0x60+var_30($fp)
  312. .text:004020B0                 addu    $v0, $v1, $v0
  313. .text:004020B4                 lb      $v0, 0($v0)
  314. .text:004020B8                 lb      $v1, 0x60+var_18($fp)
  315. .text:004020BC                 beq     $v1, $v0, loc_4020F4
  316. .text:004020C0                 move    $at, $at
  317. .text:004020C4                 lui     $v0, 0x48
  318. .text:004020C8                 addiu   $a0, $v0, (aNope_0 - 0x480000)  # "Nope!"
  319. .text:004020CC                 la      $v0, puts
  320. .text:004020D0                 move    $t9, $v0
  321. .text:004020D4                 jalr    $t9 ; puts
  322. .text:004020D8                 move    $at, $at
  323. .text:004020DC                 lw      $gp, 0x60+var_50($fp)
  324. .text:004020E0                 li      $a0, 2
  325. .text:004020E4                 la      $v0, exit
  326. .text:004020E8                 move    $t9, $v0
  327. .text:004020EC                 jalr    $t9 ; exit
  328. .text:004020F0                 move    $at, $at
  329. .text:004020F4
  330. .text:004020F4 loc_4020F4:                              # CODE XREF: validate+424j
  331. .text:004020F4                                          # validate+46Cj
  332. .text:004020F4                 lw      $v1, 0x60+var_48($fp)
  333. .text:004020F8                 lw      $v0, 0x60+var_44($fp)
  334. .text:004020FC                 mult    $v1, $v0
  335. .text:00402100                 mflo    $v0
  336. .text:00402104                 sw      $v0, 0x60+var_30($fp)
  337. .text:00402108                 lw      $v1, 0x60+var_40($fp)
  338. .text:0040210C                 lw      $v0, 0x60+var_3C($fp)
  339. .text:00402110                 mult    $v1, $v0
  340. .text:00402114                 mflo    $v0
  341. .text:00402118                 sw      $v0, 0x60+var_2C($fp)
  342. .text:0040211C                 lw      $v1, 0x60+var_38($fp)
  343. .text:00402120                 lw      $v0, 0x60+var_34($fp)
  344. .text:00402124                 mult    $v1, $v0
  345. .text:00402128                 mflo    $v0
  346. .text:0040212C                 sw      $v0, 0x60+var_28($fp)
  347. .text:00402130                 lw      $v1, 0x60+var_30($fp)
  348. .text:00402134                 lw      $v0, 0x60+var_44($fp)
  349. .text:00402138                 divu    $v1, $v0
  350. .text:0040213C                 teq     $v0, $zero  #7
  351. .text:00402140                 mfhi    $v1
  352. .text:00402144                 mflo    $v0
  353. .text:00402148                 sw      $v0, 0x60+var_24($fp)
  354. .text:0040214C                 lw      $v1, 0x60+var_2C($fp)
  355. .text:00402150                 lw      $v0, 0x60+var_3C($fp)
  356. .text:00402154                 divu    $v1, $v0
  357. .text:00402158                 teq     $v0, $zero  #7
  358. .text:0040215C                 mfhi    $v1
  359. .text:00402160                 mflo    $v0
  360. .text:00402164                 sw      $v0, 0x60+var_20($fp)
  361. .text:00402168                 lw      $v1, 0x60+var_28($fp)
  362. .text:0040216C                 lw      $v0, 0x60+var_34($fp)
  363. .text:00402170                 divu    $v1, $v0
  364. .text:00402174                 teq     $v0, $zero  #7
  365. .text:00402178                 mfhi    $v1
  366. .text:0040217C                 mflo    $v0
  367. .text:00402180                 sw      $v0, 0x60+var_1C($fp)
  368. .text:00402184                 lw      $v1, 0x60+var_24($fp)
  369. .text:00402188                 lw      $v0, 0x60+var_48($fp)
  370. .text:0040218C                 divu    $v1, $v0
  371. .text:00402190                 teq     $v0, $zero  #7
  372. .text:00402194                 mfhi    $v1
  373. .text:00402198                 mflo    $v0
  374. .text:0040219C                 move    $v1, $v0
  375. .text:004021A0                 lw      $v0, 0x60+var_20($fp)
  376. .text:004021A4                 mult    $v1, $v0
  377. .text:004021A8                 mflo    $v1
  378. .text:004021AC                 lw      $v0, 0x60+var_40($fp)
  379. .text:004021B0                 move    $at, $at
  380. .text:004021B4                 divu    $v1, $v0
  381. .text:004021B8                 teq     $v0, $zero  #7
  382. .text:004021BC                 mfhi    $v1
  383. .text:004021C0                 mflo    $v0
  384. .text:004021C4                 move    $v1, $v0
  385. .text:004021C8                 lw      $v0, 0x60+var_1C($fp)
  386. .text:004021CC                 mult    $v1, $v0
  387. .text:004021D0                 mflo    $v1
  388. .text:004021D4                 lw      $v0, 0x60+var_38($fp)
  389. .text:004021D8                 move    $at, $at
  390. .text:004021DC                 divu    $v1, $v0
  391. .text:004021E0                 teq     $v0, $zero  #7
  392. .text:004021E4                 mfhi    $v1
  393. .text:004021E8                 mflo    $v0
  394. .text:004021EC                 sw      $v0, 0x60+var_30($fp)
  395. .text:004021F0                 lw      $v0, 0x60+var_30($fp)
  396. .text:004021F4                 sll     $v0, 1
  397. .text:004021F8                 sw      $v0, 0x60+var_30($fp)
  398. .text:004021FC                 lw      $v0, 0x60+arg_0($fp)
  399. .text:00402200                 addiu   $v0, 7
  400. .text:00402204                 lb      $v0, 0($v0)
  401. .text:00402208                 slti    $v0, 0x41
  402. .text:0040220C                 beqz    $v0, loc_402294
  403. .text:00402210                 move    $at, $at
  404. .text:00402214                 lw      $v0, 0x60+arg_0($fp)
  405. .text:00402218                 addiu   $v0, 7
  406. .text:0040221C                 lb      $v1, 0($v0)
  407. .text:00402220                 li      $v0, 0xFFFFFFA6
  408. .text:00402224                 xor     $v0, $v1, $v0
  409. .text:00402228                 sb      $v0, 0x60+var_17($fp)
  410. .text:0040222C                 lbu     $v1, 0x60+var_17($fp)
  411. .text:00402230                 li      $v0, 0xFFFFFF99
  412. .text:00402234                 xor     $v0, $v1, $v0
  413. .text:00402238                 sb      $v0, 0x60+var_17($fp)
  414. .text:0040223C                 lbu     $v0, 0x60+var_17($fp)
  415. .text:00402240                 xori    $v0, 0x7F
  416. .text:00402244                 sb      $v0, 0x60+var_17($fp)
  417. .text:00402248                 lw      $v1, 0x60+arg_4($fp)
  418. .text:0040224C                 lw      $v0, 0x60+var_30($fp)
  419. .text:00402250                 addu    $v0, $v1, $v0
  420. .text:00402254                 lb      $v0, 0($v0)
  421. .text:00402258                 lb      $v1, 0x60+var_17($fp)
  422. .text:0040225C                 beq     $v1, $v0, loc_402294
  423. .text:00402260                 move    $at, $at
  424. .text:00402264                 lui     $v0, 0x48
  425. .text:00402268                 addiu   $a0, $v0, (aNope_0 - 0x480000)  # "Nope!"
  426. .text:0040226C                 la      $v0, puts
  427. .text:00402270                 move    $t9, $v0
  428. .text:00402274                 jalr    $t9 ; puts
  429. .text:00402278                 move    $at, $at
  430. .text:0040227C                 lw      $gp, 0x60+var_50($fp)
  431. .text:00402280                 li      $a0, 2
  432. .text:00402284                 la      $v0, exit
  433. .text:00402288                 move    $t9, $v0
  434. .text:0040228C                 jalr    $t9 ; exit
  435. .text:00402290                 move    $at, $at
  436. .text:00402294
  437. .text:00402294 loc_402294:                              # CODE XREF: validate+5BCj
  438. .text:00402294                                          # validate+60Cj
  439. .text:00402294                 lw      $v1, 0x60+var_48($fp)
  440. .text:00402298                 lw      $v0, 0x60+var_44($fp)
  441. .text:0040229C                 mult    $v1, $v0
  442. .text:004022A0                 mflo    $v0
  443. .text:004022A4                 sw      $v0, 0x60+var_30($fp)
  444. .text:004022A8                 lw      $v1, 0x60+var_40($fp)
  445. .text:004022AC                 lw      $v0, 0x60+var_3C($fp)
  446. .text:004022B0                 mult    $v1, $v0
  447. .text:004022B4                 mflo    $v0
  448. .text:004022B8                 sw      $v0, 0x60+var_2C($fp)
  449. .text:004022BC                 lw      $v1, 0x60+var_38($fp)
  450. .text:004022C0                 lw      $v0, 0x60+var_34($fp)
  451. .text:004022C4                 mult    $v1, $v0
  452. .text:004022C8                 mflo    $v0
  453. .text:004022CC                 sw      $v0, 0x60+var_28($fp)
  454. .text:004022D0                 lw      $v1, 0x60+var_30($fp)
  455. .text:004022D4                 lw      $v0, 0x60+var_44($fp)
  456. .text:004022D8                 divu    $v1, $v0
  457. .text:004022DC                 teq     $v0, $zero  #7
  458. .text:004022E0                 mfhi    $v1
  459. .text:004022E4                 mflo    $v0
  460. .text:004022E8                 sw      $v0, 0x60+var_24($fp)
  461. .text:004022EC                 lw      $v1, 0x60+var_2C($fp)
  462. .text:004022F0                 lw      $v0, 0x60+var_3C($fp)
  463. .text:004022F4                 divu    $v1, $v0
  464. .text:004022F8                 teq     $v0, $zero  #7
  465. .text:004022FC                 mfhi    $v1
  466. .text:00402300                 mflo    $v0
  467. .text:00402304                 sw      $v0, 0x60+var_20($fp)
  468. .text:00402308                 lw      $v1, 0x60+var_28($fp)
  469. .text:0040230C                 lw      $v0, 0x60+var_34($fp)
  470. .text:00402310                 divu    $v1, $v0
  471. .text:00402314                 teq     $v0, $zero  #7
  472. .text:00402318                 mfhi    $v1
  473. .text:0040231C                 mflo    $v0
  474. .text:00402320                 sw      $v0, 0x60+var_1C($fp)
  475. .text:00402324                 lw      $v1, 0x60+var_24($fp)
  476. .text:00402328                 lw      $v0, 0x60+var_48($fp)
  477. .text:0040232C                 divu    $v1, $v0
  478. .text:00402330                 teq     $v0, $zero  #7
  479. .text:00402334                 mfhi    $v1
  480. .text:00402338                 mflo    $v0
  481. .text:0040233C                 move    $v1, $v0
  482. .text:00402340                 lw      $v0, 0x60+var_20($fp)
  483. .text:00402344                 mult    $v1, $v0
  484. .text:00402348                 mflo    $v1
  485. .text:0040234C                 lw      $v0, 0x60+var_40($fp)
  486. .text:00402350                 move    $at, $at
  487. .text:00402354                 divu    $v1, $v0
  488. .text:00402358                 teq     $v0, $zero  #7
  489. .text:0040235C                 mfhi    $v1
  490. .text:00402360                 mflo    $v0
  491. .text:00402364                 move    $v1, $v0
  492. .text:00402368                 lw      $v0, 0x60+var_1C($fp)
  493. .text:0040236C                 mult    $v1, $v0
  494. .text:00402370                 mflo    $v1
  495. .text:00402374                 lw      $v0, 0x60+var_38($fp)
  496. .text:00402378                 move    $at, $at
  497. .text:0040237C                 divu    $v1, $v0
  498. .text:00402380                 teq     $v0, $zero  #7
  499. .text:00402384                 mfhi    $v1
  500. .text:00402388                 mflo    $v0
  501. .text:0040238C                 sw      $v0, 0x60+var_30($fp)
  502. .text:00402390                 lw      $v0, 0x60+var_30($fp)
  503. .text:00402394                 sll     $v0, 1
  504. .text:00402398                 sw      $v0, 0x60+var_30($fp)
  505. .text:0040239C                 lw      $v0, 0x60+var_30($fp)
  506. .text:004023A0                 srl     $v0, 1
  507. .text:004023A4                 lw      $v1, 0x60+var_30($fp)
  508. .text:004023A8                 addu    $v0, $v1, $v0
  509. .text:004023AC                 sw      $v0, 0x60+var_30($fp)
  510. .text:004023B0                 lw      $v1, 0x60+arg_0($fp)
  511. .text:004023B4                 lw      $v0, 0x60+var_30($fp)
  512. .text:004023B8                 addu    $v0, $v1, $v0
  513. .text:004023BC                 lb      $v0, 0($v0)
  514. .text:004023C0                 slti    $v0, 0x41
  515. .text:004023C4                 bnez    $v0, loc_402448
  516. .text:004023C8                 move    $at, $at
  517. .text:004023CC                 lw      $v1, 0x60+arg_4($fp)
  518. .text:004023D0                 lw      $v0, 0x60+var_30($fp)
  519. .text:004023D4                 addu    $v0, $v1, $v0
  520. .text:004023D8                 lb      $s0, 0($v0)
  521. .text:004023DC                 lw      $v1, 0x60+arg_0($fp)
  522. .text:004023E0                 lw      $v0, 0x60+var_30($fp)
  523. .text:004023E4                 addu    $v0, $v1, $v0
  524. .text:004023E8                 lb      $v0, 0($v0)
  525. .text:004023EC                 la      $a0, mychars     # "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
  526. .text:004023F0                 move    $a1, $v0
  527. .text:004023F4                 la      $v0, strchr
  528. .text:004023F8                 move    $t9, $v0
  529. .text:004023FC                 jalr    $t9 ; strchr
  530. .text:00402400                 move    $at, $at
  531. .text:00402404                 lw      $gp, 0x60+var_50($fp)
  532. .text:00402408                 addiu   $v0, 0xA
  533. .text:0040240C                 lb      $v0, 0($v0)
  534. .text:00402410                 beq     $s0, $v0, loc_402448
  535. .text:00402414                 move    $at, $at
  536. .text:00402418                 lui     $v0, 0x48
  537. .text:0040241C                 addiu   $a0, $v0, (aNope_0 - 0x480000)  # "Nope!"
  538. .text:00402420                 la      $v0, puts
  539. .text:00402424                 move    $t9, $v0
  540. .text:00402428                 jalr    $t9 ; puts
  541. .text:0040242C                 move    $at, $at
  542. .text:00402430                 lw      $gp, 0x60+var_50($fp)
  543. .text:00402434                 li      $a0, 3
  544. .text:00402438                 la      $v0, exit
  545. .text:0040243C                 move    $t9, $v0
  546. .text:00402440                 jalr    $t9 ; exit
  547. .text:00402444                 move    $at, $at
  548. .text:00402448
  549. .text:00402448 loc_402448:                              # CODE XREF: validate+774j
  550. .text:00402448                                          # validate+7C0j
  551. .text:00402448                 lw      $v1, 0x60+arg_0($fp)
  552. .text:0040244C                 lw      $v0, 0x60+var_30($fp)
  553. .text:00402450                 addu    $v0, $v1, $v0
  554. .text:00402454                 lb      $v0, 0($v0)
  555. .text:00402458                 slti    $v0, 0x41
  556. .text:0040245C                 beqz    $v0, loc_4024E0
  557. .text:00402460                 move    $at, $at
  558. .text:00402464                 lw      $v1, 0x60+arg_4($fp)
  559. .text:00402468                 lw      $v0, 0x60+var_30($fp)
  560. .text:0040246C                 addu    $v0, $v1, $v0
  561. .text:00402470                 lb      $s0, 0($v0)
  562. .text:00402474                 lw      $v1, 0x60+arg_0($fp)
  563. .text:00402478                 lw      $v0, 0x60+var_30($fp)
  564. .text:0040247C                 addu    $v0, $v1, $v0
  565. .text:00402480                 lb      $v0, 0($v0)
  566. .text:00402484                 la      $a0, mychars     # "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
  567. .text:00402488                 move    $a1, $v0
  568. .text:0040248C                 la      $v0, strchr
  569. .text:00402490                 move    $t9, $v0
  570. .text:00402494                 jalr    $t9 ; strchr
  571. .text:00402498                 move    $at, $at
  572. .text:0040249C                 lw      $gp, 0x60+var_50($fp)
  573. .text:004024A0                 addiu   $v0, -0xA
  574. .text:004024A4                 lb      $v0, 0($v0)
  575. .text:004024A8                 beq     $s0, $v0, loc_4024E0
  576. .text:004024AC                 move    $at, $at
  577. .text:004024B0                 lui     $v0, 0x48
  578. .text:004024B4                 addiu   $a0, $v0, (aNope_0 - 0x480000)  # "Nope!"
  579. .text:004024B8                 la      $v0, puts
  580. .text:004024BC                 move    $t9, $v0
  581. .text:004024C0                 jalr    $t9 ; puts
  582. .text:004024C4                 move    $at, $at
  583. .text:004024C8                 lw      $gp, 0x60+var_50($fp)
  584. .text:004024CC                 li      $a0, 3
  585. .text:004024D0                 la      $v0, exit
  586. .text:004024D4                 move    $t9, $v0
  587. .text:004024D8                 jalr    $t9 ; exit
  588. .text:004024DC                 move    $at, $at
  589. .text:004024E0
  590. .text:004024E0 loc_4024E0:                              # CODE XREF: validate+80Cj
  591. .text:004024E0                                          # validate+858j
  592. .text:004024E0                 lw      $v1, 0x60+var_48($fp)
  593. .text:004024E4                 lw      $v0, 0x60+var_44($fp)
  594. .text:004024E8                 mult    $v1, $v0
  595. .text:004024EC                 mflo    $v0
  596. .text:004024F0                 sw      $v0, 0x60+var_30($fp)
  597. .text:004024F4                 lw      $v1, 0x60+var_40($fp)
  598. .text:004024F8                 lw      $v0, 0x60+var_3C($fp)
  599. .text:004024FC                 mult    $v1, $v0
  600. .text:00402500                 mflo    $v0
  601. .text:00402504                 sw      $v0, 0x60+var_2C($fp)
  602. .text:00402508                 lw      $v1, 0x60+var_38($fp)
  603. .text:0040250C                 lw      $v0, 0x60+var_34($fp)
  604. .text:00402510                 mult    $v1, $v0
  605. .text:00402514                 mflo    $v0
  606. .text:00402518                 sw      $v0, 0x60+var_28($fp)
  607. .text:0040251C                 lw      $v1, 0x60+var_30($fp)
  608. .text:00402520                 lw      $v0, 0x60+var_44($fp)
  609. .text:00402524                 divu    $v1, $v0
  610. .text:00402528                 teq     $v0, $zero  #7
  611. .text:0040252C                 mfhi    $v1
  612. .text:00402530                 mflo    $v0
  613. .text:00402534                 sw      $v0, 0x60+var_24($fp)
  614. .text:00402538                 lw      $v1, 0x60+var_2C($fp)
  615. .text:0040253C                 lw      $v0, 0x60+var_3C($fp)
  616. .text:00402540                 divu    $v1, $v0
  617. .text:00402544                 teq     $v0, $zero  #7
  618. .text:00402548                 mfhi    $v1
  619. .text:0040254C                 mflo    $v0
  620. .text:00402550                 sw      $v0, 0x60+var_20($fp)
  621. .text:00402554                 lw      $v1, 0x60+var_28($fp)
  622. .text:00402558                 lw      $v0, 0x60+var_34($fp)
  623. .text:0040255C                 divu    $v1, $v0
  624. .text:00402560                 teq     $v0, $zero  #7
  625. .text:00402564                 mfhi    $v1
  626. .text:00402568                 mflo    $v0
  627. .text:0040256C                 sw      $v0, 0x60+var_1C($fp)
  628. .text:00402570                 lw      $v1, 0x60+var_24($fp)
  629. .text:00402574                 lw      $v0, 0x60+var_48($fp)
  630. .text:00402578                 divu    $v1, $v0
  631. .text:0040257C                 teq     $v0, $zero  #7
  632. .text:00402580                 mfhi    $v1
  633. .text:00402584                 mflo    $v0
  634. .text:00402588                 move    $v1, $v0
  635. .text:0040258C                 lw      $v0, 0x60+var_20($fp)
  636. .text:00402590                 mult    $v1, $v0
  637. .text:00402594                 mflo    $v1
  638. .text:00402598                 lw      $v0, 0x60+var_40($fp)
  639. .text:0040259C                 move    $at, $at
  640. .text:004025A0                 divu    $v1, $v0
  641. .text:004025A4                 teq     $v0, $zero  #7
  642. .text:004025A8                 mfhi    $v1
  643. .text:004025AC                 mflo    $v0
  644. .text:004025B0                 move    $v1, $v0
  645. .text:004025B4                 lw      $v0, 0x60+var_1C($fp)
  646. .text:004025B8                 mult    $v1, $v0
  647. .text:004025BC                 mflo    $v1
  648. .text:004025C0                 lw      $v0, 0x60+var_38($fp)
  649. .text:004025C4                 move    $at, $at
  650. .text:004025C8                 divu    $v1, $v0
  651. .text:004025CC                 teq     $v0, $zero  #7
  652. .text:004025D0                 mfhi    $v1
  653. .text:004025D4                 mflo    $v0
  654. .text:004025D8                 sw      $v0, 0x60+var_30($fp)
  655. .text:004025DC                 lw      $v0, 0x60+var_30($fp)
  656. .text:004025E0                 sll     $v0, 2
  657. .text:004025E4                 sw      $v0, 0x60+var_30($fp)
  658. .text:004025E8                 lw      $v1, 0x60+arg_0($fp)
  659. .text:004025EC                 lw      $v0, 0x60+var_30($fp)
  660. .text:004025F0                 addu    $v0, $v1, $v0
  661. .text:004025F4                 lb      $v0, 0($v0)
  662. .text:004025F8                 slti    $v0, 0x41
  663. .text:004025FC                 bnez    $v0, loc_402680
  664. .text:00402600                 move    $at, $at
  665. .text:00402604                 lw      $v1, 0x60+arg_4($fp)
  666. .text:00402608                 lw      $v0, 0x60+var_30($fp)
  667. .text:0040260C                 addu    $v0, $v1, $v0
  668. .text:00402610                 lb      $s0, 0($v0)
  669. .text:00402614                 lw      $v1, 0x60+arg_0($fp)
  670. .text:00402618                 lw      $v0, 0x60+var_30($fp)
  671. .text:0040261C                 addu    $v0, $v1, $v0
  672. .text:00402620                 lb      $v0, 0($v0)
  673. .text:00402624                 la      $a0, mychars     # "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
  674. .text:00402628                 move    $a1, $v0
  675. .text:0040262C                 la      $v0, strchr
  676. .text:00402630                 move    $t9, $v0
  677. .text:00402634                 jalr    $t9 ; strchr
  678. .text:00402638                 move    $at, $at
  679. .text:0040263C                 lw      $gp, 0x60+var_50($fp)
  680. .text:00402640                 addiu   $v0, 0xA
  681. .text:00402644                 lb      $v0, 0($v0)
  682. .text:00402648                 beq     $s0, $v0, loc_402680
  683. .text:0040264C                 move    $at, $at
  684. .text:00402650                 lui     $v0, 0x48
  685. .text:00402654                 addiu   $a0, $v0, (aNope_0 - 0x480000)  # "Nope!"
  686. .text:00402658                 la      $v0, puts
  687. .text:0040265C                 move    $t9, $v0
  688. .text:00402660                 jalr    $t9 ; puts
  689. .text:00402664                 move    $at, $at
  690. .text:00402668                 lw      $gp, 0x60+var_50($fp)
  691. .text:0040266C                 li      $a0, 4
  692. .text:00402670                 la      $v0, exit
  693. .text:00402674                 move    $t9, $v0
  694. .text:00402678                 jalr    $t9 ; exit
  695. .text:0040267C                 move    $at, $at
  696. .text:00402680
  697. .text:00402680 loc_402680:                              # CODE XREF: validate+9ACj
  698. .text:00402680                                          # validate+9F8j
  699. .text:00402680                 lw      $v1, 0x60+arg_0($fp)
  700. .text:00402684                 lw      $v0, 0x60+var_30($fp)
  701. .text:00402688                 addu    $v0, $v1, $v0
  702. .text:0040268C                 lb      $v0, 0($v0)
  703. .text:00402690                 slti    $v0, 0x41
  704. .text:00402694                 beqz    $v0, loc_402718
  705. .text:00402698                 move    $at, $at
  706. .text:0040269C                 lw      $v1, 0x60+arg_4($fp)
  707. .text:004026A0                 lw      $v0, 0x60+var_30($fp)
  708. .text:004026A4                 addu    $v0, $v1, $v0
  709. .text:004026A8                 lb      $s0, 0($v0)
  710. .text:004026AC                 lw      $v1, 0x60+arg_0($fp)
  711. .text:004026B0                 lw      $v0, 0x60+var_30($fp)
  712. .text:004026B4                 addu    $v0, $v1, $v0
  713. .text:004026B8                 lb      $v0, 0($v0)
  714. .text:004026BC                 la      $a0, mychars     # "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
  715. .text:004026C0                 move    $a1, $v0
  716. .text:004026C4                 la      $v0, strchr
  717. .text:004026C8                 move    $t9, $v0
  718. .text:004026CC                 jalr    $t9 ; strchr
  719. .text:004026D0                 move    $at, $at
  720. .text:004026D4                 lw      $gp, 0x60+var_50($fp)
  721. .text:004026D8                 addiu   $v0, -0xA
  722. .text:004026DC                 lb      $v0, 0($v0)
  723. .text:004026E0                 beq     $s0, $v0, loc_402718
  724. .text:004026E4                 move    $at, $at
  725. .text:004026E8                 lui     $v0, 0x48
  726. .text:004026EC                 addiu   $a0, $v0, (aNope_0 - 0x480000)  # "Nope!"
  727. .text:004026F0                 la      $v0, puts
  728. .text:004026F4                 move    $t9, $v0
  729. .text:004026F8                 jalr    $t9 ; puts
  730. .text:004026FC                 move    $at, $at
  731. .text:00402700                 lw      $gp, 0x60+var_50($fp)
  732. .text:00402704                 li      $a0, 4
  733. .text:00402708                 la      $v0, exit
  734. .text:0040270C                 move    $t9, $v0
  735. .text:00402710                 jalr    $t9 ; exit
  736. .text:00402714                 move    $at, $at
  737. .text:00402718
  738. .text:00402718 loc_402718:                              # CODE XREF: validate+A44j
  739. .text:00402718                                          # validate+A90j
  740. .text:00402718                 lw      $v1, 0x60+var_48($fp)
  741. .text:0040271C                 lw      $v0, 0x60+var_44($fp)
  742. .text:00402720                 mult    $v1, $v0
  743. .text:00402724                 mflo    $v0
  744. .text:00402728                 sw      $v0, 0x60+var_30($fp)
  745. .text:0040272C                 lw      $v1, 0x60+var_40($fp)
  746. .text:00402730                 lw      $v0, 0x60+var_3C($fp)
  747. .text:00402734                 mult    $v1, $v0
  748. .text:00402738                 mflo    $v0
  749. .text:0040273C                 sw      $v0, 0x60+var_2C($fp)
  750. .text:00402740                 lw      $v1, 0x60+var_38($fp)
  751. .text:00402744                 lw      $v0, 0x60+var_34($fp)
  752. .text:00402748                 mult    $v1, $v0
  753. .text:0040274C                 mflo    $v0
  754. .text:00402750                 sw      $v0, 0x60+var_28($fp)
  755. .text:00402754                 lw      $v1, 0x60+var_30($fp)
  756. .text:00402758                 lw      $v0, 0x60+var_44($fp)
  757. .text:0040275C                 divu    $v1, $v0
  758. .text:00402760                 teq     $v0, $zero  #7
  759. .text:00402764                 mfhi    $v1
  760. .text:00402768                 mflo    $v0
  761. .text:0040276C                 sw      $v0, 0x60+var_24($fp)
  762. .text:00402770                 lw      $v1, 0x60+var_2C($fp)
  763. .text:00402774                 lw      $v0, 0x60+var_3C($fp)
  764. .text:00402778                 divu    $v1, $v0
  765. .text:0040277C                 teq     $v0, $zero  #7
  766. .text:00402780                 mfhi    $v1
  767. .text:00402784                 mflo    $v0
  768. .text:00402788                 sw      $v0, 0x60+var_20($fp)
  769. .text:0040278C                 lw      $v1, 0x60+var_28($fp)
  770. .text:00402790                 lw      $v0, 0x60+var_34($fp)
  771. .text:00402794                 divu    $v1, $v0
  772. .text:00402798                 teq     $v0, $zero  #7
  773. .text:0040279C                 mfhi    $v1
  774. .text:004027A0                 mflo    $v0
  775. .text:004027A4                 sw      $v0, 0x60+var_1C($fp)
  776. .text:004027A8                 lw      $v1, 0x60+var_24($fp)
  777. .text:004027AC                 lw      $v0, 0x60+var_48($fp)
  778. .text:004027B0                 divu    $v1, $v0
  779. .text:004027B4                 teq     $v0, $zero  #7
  780. .text:004027B8                 mfhi    $v1
  781. .text:004027BC                 mflo    $v0
  782. .text:004027C0                 move    $v1, $v0
  783. .text:004027C4                 lw      $v0, 0x60+var_20($fp)
  784. .text:004027C8                 mult    $v1, $v0
  785. .text:004027CC                 mflo    $v1
  786. .text:004027D0                 lw      $v0, 0x60+var_40($fp)
  787. .text:004027D4                 move    $at, $at
  788. .text:004027D8                 divu    $v1, $v0
  789. .text:004027DC                 teq     $v0, $zero  #7
  790. .text:004027E0                 mfhi    $v1
  791. .text:004027E4                 mflo    $v0
  792. .text:004027E8                 move    $v1, $v0
  793. .text:004027EC                 lw      $v0, 0x60+var_1C($fp)
  794. .text:004027F0                 mult    $v1, $v0
  795. .text:004027F4                 mflo    $v1
  796. .text:004027F8                 lw      $v0, 0x60+var_38($fp)
  797. .text:004027FC                 move    $at, $at
  798. .text:00402800                 divu    $v1, $v0
  799. .text:00402804                 teq     $v0, $zero  #7
  800. .text:00402808                 mfhi    $v1
  801. .text:0040280C                 mflo    $v0
  802. .text:00402810                 sw      $v0, 0x60+var_30($fp)
  803. .text:00402814                 lw      $v0, 0x60+var_30($fp)
  804. .text:00402818                 sll     $v0, 2
  805. .text:0040281C                 sw      $v0, 0x60+var_30($fp)
  806. .text:00402820                 lw      $v0, 0x60+var_30($fp)
  807. .text:00402824                 srl     $v0, 2
  808. .text:00402828                 lw      $v1, 0x60+var_30($fp)
  809. .text:0040282C                 addu    $v0, $v1, $v0
  810. .text:00402830                 sw      $v0, 0x60+var_30($fp)
  811. .text:00402834                 lw      $v1, 0x60+arg_4($fp)
  812. .text:00402838                 lw      $v0, 0x60+var_30($fp)
  813. .text:0040283C                 addu    $v0, $v1, $v0
  814. .text:00402840                 lb      $s0, 0($v0)
  815. .text:00402844                 lw      $v0, 0x60+arg_0($fp)
  816. .text:00402848                 addiu   $v0, 1
  817. .text:0040284C                 lb      $v0, 0($v0)
  818. .text:00402850                 move    $v1, $v0
  819. .text:00402854                 lw      $v0, 0x60+arg_0($fp)
  820. .text:00402858                 addiu   $v0, 2
  821. .text:0040285C                 lb      $v0, 0($v0)
  822. .text:00402860                 subu    $v0, $v1, $v0
  823. .text:00402864                 bgez    $v0, loc_402870
  824. .text:00402868                 move    $at, $at
  825. .text:0040286C                 negu    $v0, $v0
  826. .text:00402870
  827. .text:00402870 loc_402870:                              # CODE XREF: validate+C14j
  828. .text:00402870                 move    $s1, $v0
  829. .text:00402874                 la      $a0, mychars     # "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
  830. .text:00402878                 la      $v0, strlen
  831. .text:0040287C                 move    $t9, $v0
  832. .text:00402880                 jalr    $t9 ; strlen
  833. .text:00402884                 move    $at, $at
  834. .text:00402888                 lw      $gp, 0x60+var_50($fp)
  835. .text:0040288C                 addiu   $v0, -1
  836. .text:00402890                 divu    $s1, $v0
  837. .text:00402894                 teq     $v0, $zero  #7
  838. .text:00402898                 mfhi    $v0
  839. .text:0040289C                 move    $v1, $v0
  840. .text:004028A0                 la      $v0, mychars     # "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
  841. .text:004028A4                 addu    $v0, $v1
  842. .text:004028A8                 lb      $v0, 0($v0)
  843. .text:004028AC                 beq     $s0, $v0, loc_4028E4
  844. .text:004028B0                 move    $at, $at
  845. .text:004028B4                 lui     $v0, 0x48
  846. .text:004028B8                 addiu   $a0, $v0, (aNope_0 - 0x480000)  # "Nope!"
  847. .text:004028BC                 la      $v0, puts
  848. .text:004028C0                 move    $t9, $v0
  849. .text:004028C4                 jalr    $t9 ; puts
  850. .text:004028C8                 move    $at, $at
  851. .text:004028CC                 lw      $gp, 0x60+var_50($fp)
  852. .text:004028D0                 li      $a0, 5
  853. .text:004028D4                 la      $v0, exit
  854. .text:004028D8                 move    $t9, $v0
  855. .text:004028DC                 jalr    $t9 ; exit
  856. .text:004028E0                 move    $at, $at
  857. .text:004028E4
  858. .text:004028E4 loc_4028E4:                              # CODE XREF: validate+C5Cj
  859. .text:004028E4                 lw      $v1, 0x60+var_48($fp)
  860. .text:004028E8                 lw      $v0, 0x60+var_44($fp)
  861. .text:004028EC                 mult    $v1, $v0
  862. .text:004028F0                 mflo    $v0
  863. .text:004028F4                 sw      $v0, 0x60+var_30($fp)
  864. .text:004028F8                 lw      $v1, 0x60+var_40($fp)
  865. .text:004028FC                 lw      $v0, 0x60+var_3C($fp)
  866. .text:00402900                 mult    $v1, $v0
  867. .text:00402904                 mflo    $v0
  868. .text:00402908                 sw      $v0, 0x60+var_2C($fp)
  869. .text:0040290C                 lw      $v1, 0x60+var_38($fp)
  870. .text:00402910                 lw      $v0, 0x60+var_34($fp)
  871. .text:00402914                 mult    $v1, $v0
  872. .text:00402918                 mflo    $v0
  873. .text:0040291C                 sw      $v0, 0x60+var_28($fp)
  874. .text:00402920                 lw      $v1, 0x60+var_30($fp)
  875. .text:00402924                 lw      $v0, 0x60+var_44($fp)
  876. .text:00402928                 divu    $v1, $v0
  877. .text:0040292C                 teq     $v0, $zero  #7
  878. .text:00402930                 mfhi    $v1
  879. .text:00402934                 mflo    $v0
  880. .text:00402938                 sw      $v0, 0x60+var_24($fp)
  881. .text:0040293C                 lw      $v1, 0x60+var_2C($fp)
  882. .text:00402940                 lw      $v0, 0x60+var_3C($fp)
  883. .text:00402944                 divu    $v1, $v0
  884. .text:00402948                 teq     $v0, $zero  #7
  885. .text:0040294C                 mfhi    $v1
  886. .text:00402950                 mflo    $v0
  887. .text:00402954                 sw      $v0, 0x60+var_20($fp)
  888. .text:00402958                 lw      $v1, 0x60+var_28($fp)
  889. .text:0040295C                 lw      $v0, 0x60+var_34($fp)
  890. .text:00402960                 divu    $v1, $v0
  891. .text:00402964                 teq     $v0, $zero  #7
  892. .text:00402968                 mfhi    $v1
  893. .text:0040296C                 mflo    $v0
  894. .text:00402970                 sw      $v0, 0x60+var_1C($fp)
  895. .text:00402974                 lw      $v1, 0x60+var_24($fp)
  896. .text:00402978                 lw      $v0, 0x60+var_48($fp)
  897. .text:0040297C                 divu    $v1, $v0
  898. .text:00402980                 teq     $v0, $zero  #7
  899. .text:00402984                 mfhi    $v1
  900. .text:00402988                 mflo    $v0
  901. .text:0040298C                 move    $v1, $v0
  902. .text:00402990                 lw      $v0, 0x60+var_20($fp)
  903. .text:00402994                 mult    $v1, $v0
  904. .text:00402998                 mflo    $v1
  905. .text:0040299C                 lw      $v0, 0x60+var_40($fp)
  906. .text:004029A0                 move    $at, $at
  907. .text:004029A4                 divu    $v1, $v0
  908. .text:004029A8                 teq     $v0, $zero  #7
  909. .text:004029AC                 mfhi    $v1
  910. .text:004029B0                 mflo    $v0
  911. .text:004029B4                 move    $v1, $v0
  912. .text:004029B8                 lw      $v0, 0x60+var_1C($fp)
  913. .text:004029BC                 mult    $v1, $v0
  914. .text:004029C0                 mflo    $v1
  915. .text:004029C4                 lw      $v0, 0x60+var_38($fp)
  916. .text:004029C8                 move    $at, $at
  917. .text:004029CC                 divu    $v1, $v0
  918. .text:004029D0                 teq     $v0, $zero  #7
  919. .text:004029D4                 mfhi    $v1
  920. .text:004029D8                 mflo    $v0
  921. .text:004029DC                 sw      $v0, 0x60+var_30($fp)
  922. .text:004029E0                 lw      $v0, 0x60+var_30($fp)
  923. .text:004029E4                 sll     $v0, 2
  924. .text:004029E8                 sw      $v0, 0x60+var_30($fp)
  925. .text:004029EC                 lw      $v0, 0x60+var_30($fp)
  926. .text:004029F0                 srl     $v0, 1
  927. .text:004029F4                 lw      $v1, 0x60+var_30($fp)
  928. .text:004029F8                 addu    $v0, $v1, $v0
  929. .text:004029FC                 sw      $v0, 0x60+var_30($fp)
  930. .text:00402A00                 lw      $v1, 0x60+arg_4($fp)
  931. .text:00402A04                 lw      $v0, 0x60+var_30($fp)
  932. .text:00402A08                 addu    $v0, $v1, $v0
  933. .text:00402A0C                 lb      $s0, 0($v0)
  934. .text:00402A10                 lw      $v0, 0x60+arg_0($fp)
  935. .text:00402A14                 addiu   $v0, 5
  936. .text:00402A18                 lb      $v0, 0($v0)
  937. .text:00402A1C                 move    $a0, $v0
  938. .text:00402A20                 lw      $v1, 0x60+arg_0($fp)
  939. .text:00402A24                 lw      $v0, 0x60+var_30($fp)
  940. .text:00402A28                 addu    $v0, $v1, $v0
  941. .text:00402A2C                 lb      $v0, 0($v0)
  942. .text:00402A30                 subu    $v0, $a0, $v0
  943. .text:00402A34                 bgez    $v0, loc_402A40
  944. .text:00402A38                 move    $at, $at
  945. .text:00402A3C                 negu    $v0, $v0
  946. .text:00402A40
  947. .text:00402A40 loc_402A40:                              # CODE XREF: validate+DE4j
  948. .text:00402A40                 move    $s1, $v0
  949. .text:00402A44                 la      $a0, mychars     # "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
  950. .text:00402A48                 la      $v0, strlen
  951. .text:00402A4C                 move    $t9, $v0
  952. .text:00402A50                 jalr    $t9 ; strlen
  953. .text:00402A54                 move    $at, $at
  954. .text:00402A58                 lw      $gp, 0x60+var_50($fp)
  955. .text:00402A5C                 addiu   $v0, -1
  956. .text:00402A60                 divu    $s1, $v0
  957. .text:00402A64                 teq     $v0, $zero  #7
  958. .text:00402A68                 mfhi    $v0
  959. .text:00402A6C                 move    $v1, $v0
  960. .text:00402A70                 la      $v0, mychars     # "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
  961. .text:00402A74                 addu    $v0, $v1
  962. .text:00402A78                 lb      $v0, 0($v0)
  963. .text:00402A7C                 beq     $s0, $v0, loc_402AB4
  964. .text:00402A80                 move    $at, $at
  965. .text:00402A84                 lui     $v0, 0x48
  966. .text:00402A88                 addiu   $a0, $v0, (aNope_0 - 0x480000)  # "Nope!"
  967. .text:00402A8C                 la      $v0, puts
  968. .text:00402A90                 move    $t9, $v0
  969. .text:00402A94                 jalr    $t9 ; puts
  970. .text:00402A98                 move    $at, $at
  971. .text:00402A9C                 lw      $gp, 0x60+var_50($fp)
  972. .text:00402AA0                 li      $a0, 6
  973. .text:00402AA4                 la      $v0, exit
  974. .text:00402AA8                 move    $t9, $v0
  975. .text:00402AAC                 jalr    $t9 ; exit
  976. .text:00402AB0                 move    $at, $at
  977. .text:00402AB4
  978. .text:00402AB4 loc_402AB4:                              # CODE XREF: validate+E2Cj
  979. .text:00402AB4                 lw      $v1, 0x60+var_48($fp)
  980. .text:00402AB8                 lw      $v0, 0x60+var_44($fp)
  981. .text:00402ABC                 mult    $v1, $v0
  982. .text:00402AC0                 mflo    $v0
  983. .text:00402AC4                 sw      $v0, 0x60+var_30($fp)
  984. .text:00402AC8                 lw      $v1, 0x60+var_40($fp)
  985. .text:00402ACC                 lw      $v0, 0x60+var_3C($fp)
  986. .text:00402AD0                 mult    $v1, $v0
  987. .text:00402AD4                 mflo    $v0
  988. .text:00402AD8                 sw      $v0, 0x60+var_2C($fp)
  989. .text:00402ADC                 lw      $v1, 0x60+var_38($fp)
  990. .text:00402AE0                 lw      $v0, 0x60+var_34($fp)
  991. .text:00402AE4                 mult    $v1, $v0
  992. .text:00402AE8                 mflo    $v0
  993. .text:00402AEC                 sw      $v0, 0x60+var_28($fp)
  994. .text:00402AF0                 lw      $v1, 0x60+var_30($fp)
  995. .text:00402AF4                 lw      $v0, 0x60+var_44($fp)
  996. .text:00402AF8                 divu    $v1, $v0
  997. .text:00402AFC                 teq     $v0, $zero  #7
  998. .text:00402B00                 mfhi    $v1
  999. .text:00402B04                 mflo    $v0
  1000. .text:00402B08                 sw      $v0, 0x60+var_24($fp)
  1001. .text:00402B0C                 lw      $v1, 0x60+var_2C($fp)
  1002. .text:00402B10                 lw      $v0, 0x60+var_3C($fp)
  1003. .text:00402B14                 divu    $v1, $v0
  1004. .text:00402B18                 teq     $v0, $zero  #7
  1005. .text:00402B1C                 mfhi    $v1
  1006. .text:00402B20                 mflo    $v0
  1007. .text:00402B24                 sw      $v0, 0x60+var_20($fp)
  1008. .text:00402B28                 lw      $v1, 0x60+var_28($fp)
  1009. .text:00402B2C                 lw      $v0, 0x60+var_34($fp)
  1010. .text:00402B30                 divu    $v1, $v0
  1011. .text:00402B34                 teq     $v0, $zero  #7
  1012. .text:00402B38                 mfhi    $v1
  1013. .text:00402B3C                 mflo    $v0
  1014. .text:00402B40                 sw      $v0, 0x60+var_1C($fp)
  1015. .text:00402B44                 lw      $v1, 0x60+var_24($fp)
  1016. .text:00402B48                 lw      $v0, 0x60+var_48($fp)
  1017. .text:00402B4C                 divu    $v1, $v0
  1018. .text:00402B50                 teq     $v0, $zero  #7
  1019. .text:00402B54                 mfhi    $v1
  1020. .text:00402B58                 mflo    $v0
  1021. .text:00402B5C                 move    $v1, $v0
  1022. .text:00402B60                 lw      $v0, 0x60+var_20($fp)
  1023. .text:00402B64                 mult    $v1, $v0
  1024. .text:00402B68                 mflo    $v1
  1025. .text:00402B6C                 lw      $v0, 0x60+var_40($fp)
  1026. .text:00402B70                 move    $at, $at
  1027. .text:00402B74                 divu    $v1, $v0
  1028. .text:00402B78                 teq     $v0, $zero  #7
  1029. .text:00402B7C                 mfhi    $v1
  1030. .text:00402B80                 mflo    $v0
  1031. .text:00402B84                 move    $v1, $v0
  1032. .text:00402B88                 lw      $v0, 0x60+var_1C($fp)
  1033. .text:00402B8C                 mult    $v1, $v0
  1034. .text:00402B90                 mflo    $v1
  1035. .text:00402B94                 lw      $v0, 0x60+var_38($fp)
  1036. .text:00402B98                 move    $at, $at
  1037. .text:00402B9C                 divu    $v1, $v0
  1038. .text:00402BA0                 teq     $v0, $zero  #7
  1039. .text:00402BA4                 mfhi    $v1
  1040. .text:00402BA8                 mflo    $v0
  1041. .text:00402BAC                 sw      $v0, 0x60+var_30($fp)
  1042. .text:00402BB0                 lw      $v0, 0x60+var_30($fp)
  1043. .text:00402BB4                 sll     $v0, 2
  1044. .text:00402BB8                 sw      $v0, 0x60+var_30($fp)
  1045. .text:00402BBC                 lw      $v0, 0x60+var_30($fp)
  1046. .text:00402BC0                 srl     $v0, 1
  1047. .text:00402BC4                 lw      $v1, 0x60+var_30($fp)
  1048. .text:00402BC8                 addu    $v0, $v1, $v0
  1049. .text:00402BCC                 sw      $v0, 0x60+var_30($fp)
  1050. .text:00402BD0                 lw      $v0, 0x60+var_30($fp)
  1051. .text:00402BD4                 srl     $v0, 2
  1052. .text:00402BD8                 lw      $v1, 0x60+var_30($fp)
  1053. .text:00402BDC                 addu    $v0, $v1, $v0
  1054. .text:00402BE0                 sw      $v0, 0x60+var_30($fp)
  1055. .text:00402BE4                 lw      $v0, 0x60+arg_0($fp)
  1056. .text:00402BE8                 addiu   $v0, 8
  1057. .text:00402BEC                 lb      $v0, 0($v0)
  1058. .text:00402BF0                 slti    $v0, 0x41
  1059. .text:00402BF4                 bnez    $v0, loc_402C74
  1060. .text:00402BF8                 move    $at, $at
  1061. .text:00402BFC                 lw      $v0, 0x60+arg_0($fp)
  1062. .text:00402C00                 addiu   $v0, 8
  1063. .text:00402C04                 lb      $v0, 0($v0)
  1064. .text:00402C08                 xori    $v0, 0x4B
  1065. .text:00402C0C                 sb      $v0, 0x60+var_16($fp)
  1066. .text:00402C10                 lbu     $v0, 0x60+var_16($fp)
  1067. .text:00402C14                 xori    $v0, 0x61
  1068. .text:00402C18                 sb      $v0, 0x60+var_16($fp)
  1069. .text:00402C1C                 lbu     $v0, 0x60+var_16($fp)
  1070. .text:00402C20                 xori    $v0, 0xA
  1071. .text:00402C24                 sb      $v0, 0x60+var_16($fp)
  1072. .text:00402C28                 lw      $v1, 0x60+arg_4($fp)
  1073. .text:00402C2C                 lw      $v0, 0x60+var_30($fp)
  1074. .text:00402C30                 addu    $v0, $v1, $v0
  1075. .text:00402C34                 lb      $v0, 0($v0)
  1076. .text:00402C38                 lb      $v1, 0x60+var_16($fp)
  1077. .text:00402C3C                 beq     $v1, $v0, loc_402C74
  1078. .text:00402C40                 move    $at, $at
  1079. .text:00402C44                 lui     $v0, 0x48
  1080. .text:00402C48                 addiu   $a0, $v0, (aNope_0 - 0x480000)  # "Nope!"
  1081. .text:00402C4C                 la      $v0, puts
  1082. .text:00402C50                 move    $t9, $v0
  1083. .text:00402C54                 jalr    $t9 ; puts
  1084. .text:00402C58                 move    $at, $at
  1085. .text:00402C5C                 lw      $gp, 0x60+var_50($fp)
  1086. .text:00402C60                 li      $a0, 7
  1087. .text:00402C64                 la      $v0, exit
  1088. .text:00402C68                 move    $t9, $v0
  1089. .text:00402C6C                 jalr    $t9 ; exit
  1090. .text:00402C70                 move    $at, $at
  1091. .text:00402C74
  1092. .text:00402C74 loc_402C74:                              # CODE XREF: validate+FA4j
  1093. .text:00402C74                                          # validate+FECj
  1094. .text:00402C74                 lw      $v0, 0x60+arg_0($fp)
  1095. .text:00402C78                 addiu   $v0, 8
  1096. .text:00402C7C                 lb      $v0, 0($v0)
  1097. .text:00402C80                 slti    $v0, 0x41
  1098. .text:00402C84                 beqz    $v0, loc_402D0C
  1099. .text:00402C88                 move    $at, $at
  1100. .text:00402C8C                 lw      $v0, 0x60+arg_0($fp)
  1101. .text:00402C90                 addiu   $v0, 8
  1102. .text:00402C94                 lb      $v1, 0($v0)
  1103. .text:00402C98                 li      $v0, 0xFFFFFFA6
  1104. .text:00402C9C                 xor     $v0, $v1, $v0
  1105. .text:00402CA0                 sb      $v0, 0x60+var_15($fp)
  1106. .text:00402CA4                 lbu     $v1, 0x60+var_15($fp)
  1107. .text:00402CA8                 li      $v0, 0xFFFFFF99
  1108. .text:00402CAC                 xor     $v0, $v1, $v0
  1109. .text:00402CB0                 sb      $v0, 0x60+var_15($fp)
  1110. .text:00402CB4                 lbu     $v0, 0x60+var_15($fp)
  1111. .text:00402CB8                 xori    $v0, 0x7F
  1112. .text:00402CBC                 sb      $v0, 0x60+var_15($fp)
  1113. .text:00402CC0                 lw      $v1, 0x60+arg_4($fp)
  1114. .text:00402CC4                 lw      $v0, 0x60+var_30($fp)
  1115. .text:00402CC8                 addu    $v0, $v1, $v0
  1116. .text:00402CCC                 lb      $v0, 0($v0)
  1117. .text:00402CD0                 lb      $v1, 0x60+var_15($fp)
  1118. .text:00402CD4                 beq     $v1, $v0, loc_402D0C
  1119. .text:00402CD8                 move    $at, $at
  1120. .text:00402CDC                 lui     $v0, 0x48
  1121. .text:00402CE0                 addiu   $a0, $v0, (aNope_0 - 0x480000)  # "Nope!"
  1122. .text:00402CE4                 la      $v0, puts
  1123. .text:00402CE8                 move    $t9, $v0
  1124. .text:00402CEC                 jalr    $t9 ; puts
  1125. .text:00402CF0                 move    $at, $at
  1126. .text:00402CF4                 lw      $gp, 0x60+var_50($fp)
  1127. .text:00402CF8                 li      $a0, 7
  1128. .text:00402CFC                 la      $v0, exit
  1129. .text:00402D00                 move    $t9, $v0
  1130. .text:00402D04                 jalr    $t9 ; exit
  1131. .text:00402D08                 move    $at, $at
  1132. .text:00402D0C
  1133. .text:00402D0C loc_402D0C:                              # CODE XREF: validate+1034j
  1134. .text:00402D0C                                          # validate+1084j
  1135. .text:00402D0C                 move    $v0, $zero
  1136. .text:00402D10                 move    $sp, $fp
  1137. .text:00402D14                 lw      $ra, 0x60+var_4($sp)
  1138. .text:00402D18                 lw      $fp, 0x60+var_8($sp)
  1139. .text:00402D1C                 lw      $s1, 0x60+var_C($sp)
  1140. .text:00402D20                 lw      $s0, 0x60+var_10($sp)
  1141. .text:00402D24                 addiu   $sp, 0x60
  1142. .text:00402D28                 jr      $ra
  1143. .text:00402D2C                 move    $at, $at
  1144. .text:00402D2C  # End of function validate
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement