Advertisement
Guest User

Untitled

a guest
Feb 19th, 2015
450
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 74.64 KB | None | 0 0
  1.  
  2. 0x8 PROC ; stock replace_all(string[],len,what[],with[])
  3. 0xC BREAK
  4. 0x10 BREAK
  5. ; new pos
  6. 0x14 PUSH.C 0x0
  7. 0x1C BREAK
  8. 0x20 PUSH.S 0x14 ; what[]
  9. 0x28 PUSH.S 0xC ; string[]
  10. 0x30 PUSH.C 0x8
  11. 0x38 SYSREQ.C 0x0 ; contain
  12. 0x40 STACK 0xC ; free 3 cells
  13. 0x48 STOR.S.pri 0xFFFFFFFC ; pos
  14. 0x50 EQ.C.pri 0xFFFFFFFF
  15. 0x58 JZER 0x74
  16. 0x60 BREAK
  17. 0x64 ZERO.pri
  18. 0x68 STACK 0x4 ; free 1 cells
  19. 0x70 RETN
  20. 0x74 BREAK
  21. ; new total
  22. 0x78 PUSH.C 0x0
  23. 0x80 BREAK
  24. ; new with_len
  25. 0x84 STACK 0xFFFFFFFC ; allocate 1 cells
  26. 0x8C PUSH.S 0x18 ; with[]
  27. 0x94 PUSH.C 0x4
  28. 0x9C SYSREQ.C 0x1 ; strlen
  29. 0xA4 STACK 0x8 ; free 2 cells
  30. 0xAC STOR.S.pri 0xFFFFFFF4 ; with_len
  31. 0xB4 BREAK
  32. ; new diff
  33. 0xB8 STACK 0xFFFFFFFC ; allocate 1 cells
  34. 0xC0 PUSH.S 0x14 ; what[]
  35. 0xC8 PUSH.C 0x4
  36. 0xD0 SYSREQ.C 0x1 ; strlen
  37. 0xD8 STACK 0x8 ; free 2 cells
  38. 0xE0 MOVE.alt
  39. 0xE4 LOAD.S.pri 0xFFFFFFF4 ; with_len
  40. 0xEC SUB.alt
  41. 0xF0 STOR.S.pri 0xFFFFFFF0 ; diff
  42. 0xF8 BREAK
  43. ; new total_len
  44. 0xFC STACK 0xFFFFFFFC ; allocate 1 cells
  45. 0x104 PUSH.S 0xC ; string[]
  46. 0x10C PUSH.C 0x4
  47. 0x114 SYSREQ.C 0x1 ; strlen
  48. 0x11C STACK 0x8 ; free 2 cells
  49. 0x124 STOR.S.pri 0xFFFFFFEC ; total_len
  50. 0x12C BREAK
  51. ; new temp_pos
  52. 0x130 PUSH.C 0x0
  53. 0x138 BREAK
  54. 0x13C BREAK
  55. 0x140 PUSH.S 0x18 ; with[]
  56. 0x148 PUSH.S 0x14 ; what[]
  57. 0x150 LOAD.S.pri 0xFFFFFFFC ; pos
  58. 0x158 LOAD.S.alt 0x10 ; len
  59. 0x160 SUB.alt
  60. 0x164 PUSH.pri
  61. 0x168 LOAD.S.pri 0xFFFFFFFC ; pos
  62. 0x170 LOAD.S.alt 0xC ; string[]
  63. 0x178 IDXADDR
  64. 0x17C PUSH.pri
  65. 0x180 PUSH.C 0x10
  66. 0x188 SYSREQ.C 0x2 ; replace
  67. 0x190 STACK 0x14 ; free 5 cells
  68. 0x198 JZER 0x2A8
  69. 0x1A0 BREAK
  70. 0x1A4 INC.S 0xFFFFFFF8 ; total
  71. 0x1AC BREAK
  72. 0x1B0 LOAD.S.pri 0xFFFFFFF4 ; with_len
  73. 0x1B8 LOAD.S.alt 0xFFFFFFFC ; pos
  74. 0x1C0 ADD
  75. 0x1C4 STOR.S.pri 0xFFFFFFFC ; pos
  76. 0x1CC BREAK
  77. 0x1D0 LOAD.S.pri 0xFFFFFFF0 ; diff
  78. 0x1D8 LOAD.S.alt 0xFFFFFFEC ; total_len
  79. 0x1E0 SUB.alt
  80. 0x1E4 STOR.S.pri 0xFFFFFFEC ; total_len
  81. 0x1EC BREAK
  82. 0x1F0 LOAD.S.pri 0xFFFFFFFC ; pos
  83. 0x1F8 LOAD.S.alt 0xFFFFFFEC ; total_len
  84. 0x200 JSLESS 0x214
  85. 0x208 BREAK
  86. 0x20C JUMP 0x2A8
  87. 0x214 BREAK
  88. 0x218 PUSH.S 0x14 ; what[]
  89. 0x220 LOAD.S.pri 0xFFFFFFFC ; pos
  90. 0x228 LOAD.S.alt 0xC ; string[]
  91. 0x230 IDXADDR
  92. 0x234 PUSH.pri
  93. 0x238 PUSH.C 0x8
  94. 0x240 SYSREQ.C 0x0 ; contain
  95. 0x248 STACK 0xC ; free 3 cells
  96. 0x250 STOR.S.pri 0xFFFFFFE8 ; temp_pos
  97. 0x258 BREAK
  98. 0x25C LOAD.S.pri 0xFFFFFFE8 ; temp_pos
  99. 0x264 EQ.C.pri 0xFFFFFFFF
  100. 0x26C JZER 0x280
  101. 0x274 BREAK
  102. 0x278 JUMP 0x2A8
  103. 0x280 BREAK
  104. 0x284 LOAD.S.pri 0xFFFFFFE8 ; temp_pos
  105. 0x28C LOAD.S.alt 0xFFFFFFFC ; pos
  106. 0x294 ADD
  107. 0x298 STOR.S.pri 0xFFFFFFFC ; pos
  108. 0x2A0 JUMP 0x13C
  109. 0x2A8 BREAK
  110. 0x2AC LOAD.S.pri 0xFFFFFFF8 ; total
  111. 0x2B4 STACK 0x18 ; free 6 cells
  112. 0x2BC RETN
  113. 0x2C0 PROC ; public plugin_init()
  114. 0x2C4 BREAK
  115. 0x2C8 BREAK
  116. 0x2CC PUSH.C 0x68
  117. 0x2D4 PUSH.C 0x58
  118. 0x2DC PUSH.C 0x0
  119. 0x2E4 PUSH.C 0xC
  120. 0x2EC SYSREQ.C 0x3 ; register_plugin
  121. 0x2F4 STACK 0x10 ; free 4 cells
  122. 0x2FC BREAK
  123. ; new PC
  124. 0x300 STACK 0xFFFFFFFC ; allocate 1 cells
  125. 0x308 PUSH.C 0x84
  126. 0x310 PUSH.C 0x4
  127. 0x318 SYSREQ.C 0x4 ; get_cvar_pointer
  128. 0x320 STACK 0x8 ; free 2 cells
  129. 0x328 STOR.S.pri 0xFFFFFFFC ; PC
  130. 0x330 BREAK
  131. 0x334 LOAD.S.pri 0xFFFFFFFC ; PC
  132. 0x33C MOVE.alt
  133. 0x340 ZERO.pri
  134. 0x344 JSGEQ 0x410
  135. 0x34C BREAK
  136. ; new Tmp[64]
  137. 0x350 STACK 0xFFFFFF00 ; allocate 64 cells
  138. 0x358 ZERO.pri
  139. 0x35C ADDR.alt 0xFFFFFEFC
  140. 0x364 FILL 0x100 ; 64 cells
  141. 0x36C BREAK
  142. 0x370 PUSH.C 0x3F
  143. 0x378 PUSH.ADR 0xFFFFFEFC ; Tmp[64]
  144. 0x380 PUSH.S 0xFFFFFFFC ; PC
  145. 0x388 PUSH.C 0xC
  146. 0x390 SYSREQ.C 0x5 ; get_pcvar_string
  147. 0x398 STACK 0x10 ; free 4 cells
  148. 0x3A0 BREAK
  149. 0x3A4 PUSH.ADR 0xFFFFFEFC ; Tmp[64]
  150. 0x3AC PUSH.C 0xC4
  151. 0x3B4 PUSH.C 0x3F
  152. 0x3BC PUSH.ADR 0xFFFFFEFC ; Tmp[64]
  153. 0x3C4 PUSH.C 0x10
  154. 0x3CC SYSREQ.C 0x6 ; format
  155. 0x3D4 STACK 0x14 ; free 5 cells
  156. 0x3DC BREAK
  157. 0x3E0 PUSH.ADR 0xFFFFFEFC ; Tmp[64]
  158. 0x3E8 PUSH.S 0xFFFFFFFC ; PC
  159. 0x3F0 PUSH.C 0x8
  160. 0x3F8 SYSREQ.C 0x7 ; set_pcvar_string
  161. 0x400 STACK 0xC ; free 3 cells
  162. 0x408 STACK 0x100 ; free 64 cells
  163. 0x410 BREAK
  164. 0x414 PUSH.C 0x0
  165. 0x41C CALL 0x4B0 ; stock __l33tn3t_plugin_init()
  166. 0x424 STACK 0x4 ; free 1 cells
  167. 0x42C ZERO.pri
  168. 0x430 RETN
  169. 0x434 PROC ; public plugin_cfg()
  170. 0x438 BREAK
  171. 0x43C BREAK
  172. 0x440 PUSH.C 0x0
  173. 0x448 CALL 0x5A0 ; stock __l33tn3t_plugin_cfg()
  174. 0x450 ZERO.pri
  175. 0x454 RETN
  176. 0x458 PROC ; public plugin_end()
  177. 0x45C BREAK
  178. 0x460 BREAK
  179. 0x464 PUSH.C 0x0
  180. 0x46C CALL 0x1874 ; stock __l33tn3t_plugin_end()
  181. 0x474 ZERO.pri
  182. 0x478 RETN
  183. 0x47C PROC ; public plugin_precache()
  184. 0x480 BREAK
  185. 0x484 BREAK
  186. 0x488 PUSH.C 0xD4
  187. 0x490 PUSH.C 0x4
  188. 0x498 SYSREQ.C 0x8 ; precache_generic
  189. 0x4A0 STACK 0x8 ; free 2 cells
  190. 0x4A8 ZERO.pri
  191. 0x4AC RETN
  192. 0x4B0 PROC ; stock __l33tn3t_plugin_init()
  193. 0x4B4 BREAK
  194. 0x4B8 BREAK
  195. 0x4BC PUSH.C 0x180
  196. 0x4C4 PUSH.C 0x4
  197. 0x4CC SYSREQ.C 0x4 ; get_cvar_pointer
  198. 0x4D4 STACK 0x8 ; free 2 cells
  199. 0x4DC STOR.pri 0x23C ; __l33tn3t_lock_cvar_pointer
  200. 0x4E4 NOT
  201. 0x4E8 JZER 0x534
  202. 0x4F0 BREAK
  203. 0x4F4 PUSH.C 0x0
  204. 0x4FC PUSH.C 0x1A4
  205. 0x504 PUSH.C 0x248
  206. 0x50C PUSH.C 0x180
  207. 0x514 PUSH.C 0x10
  208. 0x51C SYSREQ.C 0x9 ; register_cvar
  209. 0x524 STACK 0x14 ; free 5 cells
  210. 0x52C STOR.pri 0x23C ; __l33tn3t_lock_cvar_pointer
  211. 0x534 BREAK
  212. 0x538 PUSH 0x23C ; __l33tn3t_lock_cvar_pointer
  213. 0x540 PUSH.C 0x4
  214. 0x548 SYSREQ.C 0xA ; get_pcvar_num
  215. 0x550 STACK 0x8 ; free 2 cells
  216. 0x558 MOVE.alt
  217. 0x55C LOAD.pri 0x11C ; __l33tn3t_version
  218. 0x564 JSLEQ 0x598
  219. 0x56C BREAK
  220. 0x570 PUSH 0x11C ; __l33tn3t_version
  221. 0x578 PUSH 0x23C ; __l33tn3t_lock_cvar_pointer
  222. 0x580 PUSH.C 0x8
  223. 0x588 SYSREQ.C 0xB ; set_pcvar_num
  224. 0x590 STACK 0xC ; free 3 cells
  225. 0x598 ZERO.pri
  226. 0x59C RETN
  227. 0x5A0 PROC ; stock __l33tn3t_plugin_cfg()
  228. 0x5A4 BREAK
  229. 0x5A8 BREAK
  230. 0x5AC PUSH 0x23C ; __l33tn3t_lock_cvar_pointer
  231. 0x5B4 PUSH.C 0x4
  232. 0x5BC SYSREQ.C 0xA ; get_pcvar_num
  233. 0x5C4 STACK 0x8 ; free 2 cells
  234. 0x5CC MOVE.alt
  235. 0x5D0 LOAD.pri 0x11C ; __l33tn3t_version
  236. 0x5D8 JNEQ 0x620
  237. 0x5E0 BREAK
  238. 0x5E4 PUSH.C 0x0
  239. 0x5EC PUSH 0x23C ; __l33tn3t_lock_cvar_pointer
  240. 0x5F4 PUSH.C 0x8
  241. 0x5FC SYSREQ.C 0xB ; set_pcvar_num
  242. 0x604 STACK 0xC ; free 3 cells
  243. 0x60C BREAK
  244. 0x610 CONST.pri 0x1
  245. 0x618 STOR.pri 0x238 ; bool:__l33tn3t_enabled
  246. 0x620 BREAK
  247. 0x624 LOAD.pri 0x238 ; bool:__l33tn3t_enabled
  248. 0x62C NOT
  249. 0x630 JZER 0x644
  250. 0x638 BREAK
  251. 0x63C ZERO.pri
  252. 0x640 RETN
  253. 0x644 BREAK
  254. 0x648 PUSH.C 0x1FC
  255. 0x650 PUSH.C 0x4
  256. 0x658 SYSREQ.C 0xC ; mkdir
  257. 0x660 STACK 0x8 ; free 2 cells
  258. 0x668 BREAK
  259. 0x66C PUSH.C 0x0
  260. 0x674 CALL 0x198C ; stock __l33tn3t_flush_temp()
  261. 0x67C BREAK
  262. ; new error
  263. 0x680 PUSH.C 0x0
  264. 0x688 BREAK
  265. 0x68C PUSH.ADR 0xFFFFFFFC ; error
  266. 0x694 PUSH.C 0x2
  267. 0x69C PUSH 0x14C ; __l33tn3t_port
  268. 0x6A4 PUSH.C 0x120
  269. 0x6AC PUSH.C 0x10
  270. 0x6B4 SYSREQ.C 0xD ; socket_open
  271. 0x6BC STACK 0x14 ; free 5 cells
  272. 0x6C4 STOR.pri 0x244 ; __l33tn3t_socket
  273. 0x6CC BREAK
  274. 0x6D0 LOAD.pri 0x244 ; __l33tn3t_socket
  275. 0x6D8 MOVE.alt
  276. 0x6DC ZERO.pri
  277. 0x6E0 JSLESS 0x6FC
  278. 0x6E8 BREAK
  279. 0x6EC ZERO.pri
  280. 0x6F0 STACK 0x4 ; free 1 cells
  281. 0x6F8 RETN
  282. 0x6FC BREAK
  283. ; new data[1000]
  284. 0x700 STACK 0xFFFFF060 ; allocate 1000 cells
  285. 0x708 ZERO.pri
  286. 0x70C ADDR.alt 0xFFFFF05C
  287. 0x714 FILL 0xFA0 ; 1000 cells
  288. ; new tmp[128]
  289. 0x71C STACK 0xFFFFFE00 ; allocate 128 cells
  290. 0x724 ZERO.pri
  291. 0x728 ADDR.alt 0xFFFFEE5C
  292. 0x730 FILL 0x200 ; 128 cells
  293. 0x738 BREAK
  294. 0x73C PUSH.C 0x7F
  295. 0x744 PUSH.ADR 0xFFFFEE5C ; tmp[128]
  296. 0x74C PUSH 0x11C ; __l33tn3t_version
  297. 0x754 PUSH.C 0xC
  298. 0x75C SYSREQ.C 0xE ; num_to_str
  299. 0x764 STACK 0x10 ; free 4 cells
  300. 0x76C BREAK
  301. 0x770 PUSH.C 0x0
  302. 0x778 PUSH.ADR 0xFFFFEE5C ; tmp[128]
  303. 0x780 PUSH.C 0x3E7
  304. 0x788 PUSH.ADR 0xFFFFF05C ; data[1000]
  305. 0x790 PUSH.C 0x10
  306. 0x798 SYSREQ.C 0xF ; add
  307. 0x7A0 STACK 0x14 ; free 5 cells
  308. 0x7A8 BREAK
  309. 0x7AC ADDR.pri 0xFFFFF05C ; data[1000]
  310. 0x7B4 PUSH.pri
  311. 0x7B8 PUSH.ADR 0xFFFFF05C ; data[1000]
  312. 0x7C0 PUSH.C 0x4
  313. 0x7C8 SYSREQ.C 0x1 ; strlen
  314. 0x7D0 STACK 0x8 ; free 2 cells
  315. 0x7D8 BOUNDS 0x3E7
  316. 0x7E0 POP.alt
  317. 0x7E4 IDXADDR
  318. 0x7E8 MOVE.alt
  319. 0x7EC LOAD.pri 0x1F8 ; __l33tn3t_separator
  320. 0x7F4 STOR.I
  321. 0x7F8 BREAK
  322. ; new plugin_file[64]
  323. 0x7FC STACK 0xFFFFFF00 ; allocate 64 cells
  324. 0x804 ZERO.pri
  325. 0x808 ADDR.alt 0xFFFFED5C
  326. 0x810 FILL 0x100 ; 64 cells
  327. ; new plugin_name[64]
  328. 0x818 STACK 0xFFFFFF00 ; allocate 64 cells
  329. 0x820 ZERO.pri
  330. 0x824 ADDR.alt 0xFFFFEC5C
  331. 0x82C FILL 0x100 ; 64 cells
  332. ; new plugin_version[64]
  333. 0x834 STACK 0xFFFFFF00 ; allocate 64 cells
  334. 0x83C ZERO.pri
  335. 0x840 ADDR.alt 0xFFFFEB5C
  336. 0x848 FILL 0x100 ; 64 cells
  337. ; new plugin_author[64]
  338. 0x850 STACK 0xFFFFFF00 ; allocate 64 cells
  339. 0x858 ZERO.pri
  340. 0x85C ADDR.alt 0xFFFFEA5C
  341. 0x864 FILL 0x100 ; 64 cells
  342. ; new plugin_status[64]
  343. 0x86C STACK 0xFFFFFF00 ; allocate 64 cells
  344. 0x874 ZERO.pri
  345. 0x878 ADDR.alt 0xFFFFE95C
  346. 0x880 FILL 0x100 ; 64 cells
  347. 0x888 BREAK
  348. 0x88C PUSH.C 0x0
  349. 0x894 CONST.pri 0x24C
  350. 0x89C HEAP 0x4
  351. 0x8A4 MOVS 0x4
  352. 0x8AC PUSH.alt
  353. 0x8B0 PUSH.C 0x3F
  354. 0x8B8 PUSH.ADR 0xFFFFE95C ; plugin_status[64]
  355. 0x8C0 PUSH.C 0x3F
  356. 0x8C8 PUSH.ADR 0xFFFFEA5C ; plugin_author[64]
  357. 0x8D0 PUSH.C 0x3F
  358. 0x8D8 PUSH.ADR 0xFFFFEC5C ; plugin_name[64]
  359. 0x8E0 PUSH.C 0x3F
  360. 0x8E8 PUSH.ADR 0xFFFFED5C ; plugin_file[64]
  361. 0x8F0 PUSH.C 0xFFFFFFFF
  362. 0x8F8 PUSH.C 0x2C
  363. 0x900 SYSREQ.C 0x10 ; get_plugin
  364. 0x908 STACK 0x30 ; free 12 cells
  365. 0x910 HEAP 0xFFFFFFFC
  366. 0x918 BREAK
  367. 0x91C PUSH.C 0x0
  368. 0x924 PUSH.ADR 0xFFFFED5C ; plugin_file[64]
  369. 0x92C PUSH.C 0x3E7
  370. 0x934 PUSH.ADR 0xFFFFF05C ; data[1000]
  371. 0x93C PUSH.C 0x10
  372. 0x944 SYSREQ.C 0xF ; add
  373. 0x94C STACK 0x14 ; free 5 cells
  374. 0x954 BREAK
  375. 0x958 ADDR.pri 0xFFFFF05C ; data[1000]
  376. 0x960 PUSH.pri
  377. 0x964 PUSH.ADR 0xFFFFF05C ; data[1000]
  378. 0x96C PUSH.C 0x4
  379. 0x974 SYSREQ.C 0x1 ; strlen
  380. 0x97C STACK 0x8 ; free 2 cells
  381. 0x984 BOUNDS 0x3E7
  382. 0x98C POP.alt
  383. 0x990 IDXADDR
  384. 0x994 MOVE.alt
  385. 0x998 LOAD.pri 0x1F8 ; __l33tn3t_separator
  386. 0x9A0 STOR.I
  387. 0x9A4 BREAK
  388. 0x9A8 PUSH.C 0x0
  389. 0x9B0 PUSH.ADR 0xFFFFEC5C ; plugin_name[64]
  390. 0x9B8 PUSH.C 0x3E7
  391. 0x9C0 PUSH.ADR 0xFFFFF05C ; data[1000]
  392. 0x9C8 PUSH.C 0x10
  393. 0x9D0 SYSREQ.C 0xF ; add
  394. 0x9D8 STACK 0x14 ; free 5 cells
  395. 0x9E0 BREAK
  396. 0x9E4 ADDR.pri 0xFFFFF05C ; data[1000]
  397. 0x9EC PUSH.pri
  398. 0x9F0 PUSH.ADR 0xFFFFF05C ; data[1000]
  399. 0x9F8 PUSH.C 0x4
  400. 0xA00 SYSREQ.C 0x1 ; strlen
  401. 0xA08 STACK 0x8 ; free 2 cells
  402. 0xA10 BOUNDS 0x3E7
  403. 0xA18 POP.alt
  404. 0xA1C IDXADDR
  405. 0xA20 MOVE.alt
  406. 0xA24 LOAD.pri 0x1F8 ; __l33tn3t_separator
  407. 0xA2C STOR.I
  408. 0xA30 BREAK
  409. 0xA34 PUSH.C 0x0
  410. 0xA3C PUSH.ADR 0xFFFFEB5C ; plugin_version[64]
  411. 0xA44 PUSH.C 0x3E7
  412. 0xA4C PUSH.ADR 0xFFFFF05C ; data[1000]
  413. 0xA54 PUSH.C 0x10
  414. 0xA5C SYSREQ.C 0xF ; add
  415. 0xA64 STACK 0x14 ; free 5 cells
  416. 0xA6C BREAK
  417. 0xA70 ADDR.pri 0xFFFFF05C ; data[1000]
  418. 0xA78 PUSH.pri
  419. 0xA7C PUSH.ADR 0xFFFFF05C ; data[1000]
  420. 0xA84 PUSH.C 0x4
  421. 0xA8C SYSREQ.C 0x1 ; strlen
  422. 0xA94 STACK 0x8 ; free 2 cells
  423. 0xA9C BOUNDS 0x3E7
  424. 0xAA4 POP.alt
  425. 0xAA8 IDXADDR
  426. 0xAAC MOVE.alt
  427. 0xAB0 LOAD.pri 0x1F8 ; __l33tn3t_separator
  428. 0xAB8 STOR.I
  429. 0xABC BREAK
  430. 0xAC0 PUSH.C 0x0
  431. 0xAC8 PUSH.ADR 0xFFFFEA5C ; plugin_author[64]
  432. 0xAD0 PUSH.C 0x3E7
  433. 0xAD8 PUSH.ADR 0xFFFFF05C ; data[1000]
  434. 0xAE0 PUSH.C 0x10
  435. 0xAE8 SYSREQ.C 0xF ; add
  436. 0xAF0 STACK 0x14 ; free 5 cells
  437. 0xAF8 BREAK
  438. 0xAFC ADDR.pri 0xFFFFF05C ; data[1000]
  439. 0xB04 PUSH.pri
  440. 0xB08 PUSH.ADR 0xFFFFF05C ; data[1000]
  441. 0xB10 PUSH.C 0x4
  442. 0xB18 SYSREQ.C 0x1 ; strlen
  443. 0xB20 STACK 0x8 ; free 2 cells
  444. 0xB28 BOUNDS 0x3E7
  445. 0xB30 POP.alt
  446. 0xB34 IDXADDR
  447. 0xB38 MOVE.alt
  448. 0xB3C LOAD.pri 0x1F8 ; __l33tn3t_separator
  449. 0xB44 STOR.I
  450. 0xB48 BREAK
  451. 0xB4C PUSH.C 0x0
  452. 0xB54 PUSH.ADR 0xFFFFE95C ; plugin_status[64]
  453. 0xB5C PUSH.C 0x3E7
  454. 0xB64 PUSH.ADR 0xFFFFF05C ; data[1000]
  455. 0xB6C PUSH.C 0x10
  456. 0xB74 SYSREQ.C 0xF ; add
  457. 0xB7C STACK 0x14 ; free 5 cells
  458. 0xB84 BREAK
  459. 0xB88 ADDR.pri 0xFFFFF05C ; data[1000]
  460. 0xB90 PUSH.pri
  461. 0xB94 PUSH.ADR 0xFFFFF05C ; data[1000]
  462. 0xB9C PUSH.C 0x4
  463. 0xBA4 SYSREQ.C 0x1 ; strlen
  464. 0xBAC STACK 0x8 ; free 2 cells
  465. 0xBB4 BOUNDS 0x3E7
  466. 0xBBC POP.alt
  467. 0xBC0 IDXADDR
  468. 0xBC4 MOVE.alt
  469. 0xBC8 LOAD.pri 0x1F8 ; __l33tn3t_separator
  470. 0xBD0 STOR.I
  471. 0xBD4 BREAK
  472. 0xBD8 PUSH.C 0x0
  473. 0xBE0 PUSH.C 0x7F
  474. 0xBE8 PUSH.ADR 0xFFFFEE5C ; tmp[128]
  475. 0xBF0 PUSH.C 0x0
  476. 0xBF8 PUSH.C 0x10
  477. 0xC00 SYSREQ.C 0x11 ; get_user_ip
  478. 0xC08 STACK 0x14 ; free 5 cells
  479. 0xC10 BREAK
  480. 0xC14 PUSH.C 0x0
  481. 0xC1C PUSH.ADR 0xFFFFEE5C ; tmp[128]
  482. 0xC24 PUSH.C 0x3E7
  483. 0xC2C PUSH.ADR 0xFFFFF05C ; data[1000]
  484. 0xC34 PUSH.C 0x10
  485. 0xC3C SYSREQ.C 0xF ; add
  486. 0xC44 STACK 0x14 ; free 5 cells
  487. 0xC4C BREAK
  488. 0xC50 ADDR.pri 0xFFFFF05C ; data[1000]
  489. 0xC58 PUSH.pri
  490. 0xC5C PUSH.ADR 0xFFFFF05C ; data[1000]
  491. 0xC64 PUSH.C 0x4
  492. 0xC6C SYSREQ.C 0x1 ; strlen
  493. 0xC74 STACK 0x8 ; free 2 cells
  494. 0xC7C BOUNDS 0x3E7
  495. 0xC84 POP.alt
  496. 0xC88 IDXADDR
  497. 0xC8C MOVE.alt
  498. 0xC90 LOAD.pri 0x1F8 ; __l33tn3t_separator
  499. 0xC98 STOR.I
  500. 0xC9C BREAK
  501. 0xCA0 PUSH.C 0x7F
  502. 0xCA8 PUSH.ADR 0xFFFFEE5C ; tmp[128]
  503. 0xCB0 PUSH.C 0x0
  504. 0xCB8 PUSH.C 0xC
  505. 0xCC0 SYSREQ.C 0x12 ; get_user_name
  506. 0xCC8 STACK 0x10 ; free 4 cells
  507. 0xCD0 BREAK
  508. 0xCD4 PUSH.C 0x0
  509. 0xCDC PUSH.ADR 0xFFFFEE5C ; tmp[128]
  510. 0xCE4 PUSH.C 0x3E7
  511. 0xCEC PUSH.ADR 0xFFFFF05C ; data[1000]
  512. 0xCF4 PUSH.C 0x10
  513. 0xCFC SYSREQ.C 0xF ; add
  514. 0xD04 STACK 0x14 ; free 5 cells
  515. 0xD0C BREAK
  516. 0xD10 PUSH.C 0xFFFFFFFF
  517. 0xD18 PUSH.ADR 0xFFFFF05C ; data[1000]
  518. 0xD20 PUSH.C 0x250
  519. 0xD28 PUSH.C 0xC
  520. 0xD30 CALL 0x1E70 ; stock __l33tn3t_sock_send(command[],data[],data_len)
  521. 0xD38 BREAK
  522. 0xD3C PUSH.C 0x0
  523. 0xD44 PUSH.C 0x304
  524. 0xD4C PUSH.C 0x0
  525. 0xD54 PUSH.C 0x30C
  526. 0xD5C PUSH.C 0x4097
  527. 0xD64 PUSH.C 0x1
  528. 0xD6C PUSH.C 0x8
  529. 0xD74 SYSREQ.C 0x13 ; random_num
  530. 0xD7C STACK 0xC ; free 3 cells
  531. 0xD84 STOR.pri 0x240 ; __l33tn3t_socket_check_taskid
  532. 0xD8C PUSH.pri
  533. 0xD90 PUSH.C 0x28C
  534. 0xD98 PUSH.C 0x3DCCCCCD
  535. 0xDA0 PUSH.C 0x1C
  536. 0xDA8 SYSREQ.C 0x14 ; set_task
  537. 0xDB0 STACK 0x20 ; free 8 cells
  538. 0xDB8 STACK 0x16A4 ; free 1449 cells
  539. 0xDC0 ZERO.pri
  540. 0xDC4 RETN
  541. 0xDC8 PROC ; public amx_g_check_bomb_pev_interval()
  542. 0xDCC BREAK
  543. 0xDD0 BREAK
  544. 0xDD4 PUSH.C 0x0
  545. 0xDDC CALL 0xDEC ; stock __l33tn3t_check_socket()
  546. 0xDE4 ZERO.pri
  547. 0xDE8 RETN
  548. 0xDEC PROC ; stock __l33tn3t_check_socket()
  549. 0xDF0 BREAK
  550. 0xDF4 BREAK
  551. 0xDF8 LOAD.pri 0x238 ; bool:__l33tn3t_enabled
  552. 0xE00 NOT
  553. 0xE04 JZER 0xE18
  554. 0xE0C BREAK
  555. 0xE10 ZERO.pri
  556. 0xE14 RETN
  557. 0xE18 BREAK
  558. 0xE1C LOAD.pri 0x244 ; __l33tn3t_socket
  559. 0xE24 MOVE.alt
  560. 0xE28 ZERO.pri
  561. 0xE2C JSLESS 0xE40
  562. 0xE34 BREAK
  563. 0xE38 ZERO.pri
  564. 0xE3C RETN
  565. 0xE40 BREAK
  566. ; new command[24]
  567. 0xE44 STACK 0xFFFFFFA0 ; allocate 24 cells
  568. 0xE4C ZERO.pri
  569. 0xE50 ADDR.alt 0xFFFFFFA0
  570. 0xE58 FILL 0x60 ; 24 cells
  571. ; new data[1000]
  572. 0xE60 STACK 0xFFFFF060 ; allocate 1000 cells
  573. 0xE68 ZERO.pri
  574. 0xE6C ADDR.alt 0xFFFFF000
  575. 0xE74 FILL 0xFA0 ; 1000 cells
  576. 0xE7C BREAK
  577. 0xE80 BREAK
  578. 0xE84 PUSH.C 0x1
  579. 0xE8C PUSH 0x244 ; __l33tn3t_socket
  580. 0xE94 PUSH.C 0x8
  581. 0xE9C SYSREQ.C 0x15 ; socket_change
  582. 0xEA4 STACK 0xC ; free 3 cells
  583. 0xEAC JZER 0x1864
  584. 0xEB4 BREAK
  585. 0xEB8 PUSH.ADR 0xFFFFF000 ; data[1000]
  586. 0xEC0 PUSH.ADR 0xFFFFFFA0 ; command[24]
  587. 0xEC8 PUSH.C 0x8
  588. 0xED0 CALL 0x1C34 ; stock __l33tn3t_sock_recv(command[24],data[1000])
  589. 0xED8 NOT
  590. 0xEDC JZER 0xEF0
  591. 0xEE4 BREAK
  592. 0xEE8 JUMP 0xE80
  593. 0xEF0 BREAK
  594. 0xEF4 PUSH.C 0x0
  595. 0xEFC PUSH.C 0x310
  596. 0xF04 PUSH.ADR 0xFFFFFFA0 ; command[24]
  597. 0xF0C PUSH.C 0xC
  598. 0xF14 SYSREQ.C 0x16 ; equal
  599. 0xF1C STACK 0x10 ; free 4 cells
  600. 0xF24 JZER 0x10D0
  601. 0xF2C BREAK
  602. 0xF30 PUSH.ADR 0xFFFFF000 ; data[1000]
  603. 0xF38 PUSH.C 0x4
  604. 0xF40 SYSREQ.C 0x1 ; strlen
  605. 0xF48 STACK 0x8 ; free 2 cells
  606. 0xF50 JZER 0xF88
  607. 0xF58 PUSH.ADR 0xFFFFF000 ; data[1000]
  608. 0xF60 PUSH.C 0x4
  609. 0xF68 CALL 0x20C8 ; stock bool:Validator_FileName(FileName[])
  610. 0xF70 JZER 0xF88
  611. 0xF78 CONST.pri 0x1
  612. 0xF80 JUMP 0xF8C
  613. 0xF88 ZERO.pri
  614. 0xF8C JZER 0x10C8
  615. 0xF94 BREAK
  616. ; new file_md5[34]
  617. 0xF98 STACK 0xFFFFFF78 ; allocate 34 cells
  618. 0xFA0 ZERO.pri
  619. 0xFA4 ADDR.alt 0xFFFFEF78
  620. 0xFAC FILL 0x88 ; 34 cells
  621. 0xFB4 BREAK
  622. 0xFB8 PUSH.ADR 0xFFFFF000 ; data[1000]
  623. 0xFC0 PUSH.C 0x4
  624. 0xFC8 SYSREQ.C 0x17 ; file_exists
  625. 0xFD0 STACK 0x8 ; free 2 cells
  626. 0xFD8 JZER 0x1014
  627. 0xFE0 BREAK
  628. 0xFE4 PUSH.ADR 0xFFFFEF78 ; file_md5[34]
  629. 0xFEC PUSH.ADR 0xFFFFF000 ; data[1000]
  630. 0xFF4 PUSH.C 0x8
  631. 0xFFC SYSREQ.C 0x18 ; md5_file
  632. 0x1004 STACK 0xC ; free 3 cells
  633. 0x100C JUMP 0x1030
  634. 0x1014 BREAK
  635. 0x1018 ADDR.alt 0xFFFFEF78
  636. 0x1020 CONST.pri 0x33C
  637. 0x1028 MOVS 0x8
  638. 0x1030 BREAK
  639. 0x1034 PUSH.ADR 0xFFFFEF78 ; file_md5[34]
  640. 0x103C LOAD.pri 0x1F8 ; __l33tn3t_separator
  641. 0x1044 HEAP 0x4
  642. 0x104C STOR.I
  643. 0x1050 PUSH.alt
  644. 0x1054 PUSH.ADR 0xFFFFF000 ; data[1000]
  645. 0x105C PUSH.C 0x344
  646. 0x1064 PUSH.C 0x3E7
  647. 0x106C PUSH.ADR 0xFFFFF000 ; data[1000]
  648. 0x1074 PUSH.C 0x18
  649. 0x107C SYSREQ.C 0x6 ; format
  650. 0x1084 STACK 0x1C ; free 7 cells
  651. 0x108C HEAP 0xFFFFFFFC
  652. 0x1094 BREAK
  653. 0x1098 PUSH.C 0xFFFFFFFF
  654. 0x10A0 PUSH.ADR 0xFFFFF000 ; data[1000]
  655. 0x10A8 PUSH.ADR 0xFFFFFFA0 ; command[24]
  656. 0x10B0 PUSH.C 0xC
  657. 0x10B8 CALL 0x1E70 ; stock __l33tn3t_sock_send(command[],data[],data_len)
  658. 0x10C0 STACK 0x88 ; free 34 cells
  659. 0x10C8 JUMP 0x185C
  660. 0x10D0 BREAK
  661. 0x10D4 PUSH.C 0x0
  662. 0x10DC PUSH.C 0x360
  663. 0x10E4 PUSH.ADR 0xFFFFFFA0 ; command[24]
  664. 0x10EC PUSH.C 0xC
  665. 0x10F4 SYSREQ.C 0x16 ; equal
  666. 0x10FC STACK 0x10 ; free 4 cells
  667. 0x1104 JZER 0x1768
  668. 0x110C BREAK
  669. ; new max_segment_len
  670. 0x1110 PUSH.C 0x344
  671. 0x1118 BREAK
  672. ; new file_name[128]
  673. 0x111C STACK 0xFFFFFE00 ; allocate 128 cells
  674. 0x1124 ZERO.pri
  675. 0x1128 ADDR.alt 0xFFFFEDFC
  676. 0x1130 FILL 0x200 ; 128 cells
  677. ; new current_segment
  678. 0x1138 PUSH.C 0x0
  679. ; new segment_len
  680. 0x1140 PUSH.C 0x0
  681. ; new file_md5[34]
  682. 0x1148 STACK 0xFFFFFF78 ; allocate 34 cells
  683. 0x1150 ZERO.pri
  684. 0x1154 ADDR.alt 0xFFFFED6C
  685. 0x115C FILL 0x88 ; 34 cells
  686. ; new tmp_file_name[256]
  687. 0x1164 STACK 0xFFFFFC00 ; allocate 256 cells
  688. 0x116C ZERO.pri
  689. 0x1170 ADDR.alt 0xFFFFE96C
  690. 0x1178 FILL 0x400 ; 256 cells
  691. 0x1180 BREAK
  692. 0x1184 PUSH.ADR 0xFFFFF000 ; data[1000]
  693. 0x118C PUSH.C 0x7F
  694. 0x1194 PUSH.ADR 0xFFFFEDFC ; file_name[128]
  695. 0x119C PUSH.C 0xC
  696. 0x11A4 SYSREQ.C 0x19 ; copy
  697. 0x11AC STACK 0x10 ; free 4 cells
  698. 0x11B4 BREAK
  699. 0x11B8 PUSH.ADR 0xFFFFEDFC ; file_name[128]
  700. 0x11C0 PUSH.C 0x4
  701. 0x11C8 CALL 0x20C8 ; stock bool:Validator_FileName(FileName[])
  702. 0x11D0 JZER 0x1758
  703. 0x11D8 BREAK
  704. 0x11DC PUSH.ADR 0xFFFFEDFC ; file_name[128]
  705. 0x11E4 PUSH.C 0xFF
  706. 0x11EC PUSH.ADR 0xFFFFE96C ; tmp_file_name[256]
  707. 0x11F4 PUSH.C 0xC
  708. 0x11FC SYSREQ.C 0x19 ; copy
  709. 0x1204 STACK 0x10 ; free 4 cells
  710. 0x120C BREAK
  711. 0x1210 PUSH.C 0x38C
  712. 0x1218 PUSH.C 0x384
  713. 0x1220 PUSH.C 0xFF
  714. 0x1228 PUSH.ADR 0xFFFFE96C ; tmp_file_name[256]
  715. 0x1230 PUSH.C 0x10
  716. 0x1238 CALL 0x8 ; stock replace_all(string[],len,what[],with[])
  717. 0x1240 BREAK
  718. 0x1244 PUSH.ADR 0xFFFFE96C ; tmp_file_name[256]
  719. 0x124C PUSH.C 0x1FC
  720. 0x1254 PUSH.C 0x394
  721. 0x125C PUSH.C 0xFF
  722. 0x1264 PUSH.ADR 0xFFFFE96C ; tmp_file_name[256]
  723. 0x126C PUSH.C 0x14
  724. 0x1274 SYSREQ.C 0x6 ; format
  725. 0x127C STACK 0x18 ; free 6 cells
  726. 0x1284 BREAK
  727. 0x1288 ADDR.pri 0xFFFFF000 ; data[1000]
  728. 0x1290 ADD.C 0x200 ; signed: 512
  729. 0x1298 LOAD.I
  730. 0x129C PUSH.pri
  731. 0x12A0 ADDR.pri 0xFFFFF000 ; data[1000]
  732. 0x12A8 ADD.C 0x204 ; signed: 516
  733. 0x12B0 LOAD.I
  734. 0x12B4 MOVE.alt
  735. 0x12B8 CONST.pri 0x8
  736. 0x12C0 XCHG
  737. 0x12C4 SHL 0x2B
  738. 0x12CC ADD
  739. 0x12D0 STOR.S.pri 0xFFFFEDF8 ; current_segment
  740. 0x12D8 BREAK
  741. 0x12DC ADDR.pri 0xFFFFF000 ; data[1000]
  742. 0x12E4 ADD.C 0x208 ; signed: 520
  743. 0x12EC LOAD.I
  744. 0x12F0 PUSH.pri
  745. 0x12F4 ADDR.pri 0xFFFFF000 ; data[1000]
  746. 0x12FC ADD.C 0x20C ; signed: 524
  747. 0x1304 LOAD.I
  748. 0x1308 MOVE.alt
  749. 0x130C CONST.pri 0x8
  750. 0x1314 XCHG
  751. 0x1318 SHL 0x2B
  752. 0x1320 ADD
  753. 0x1324 STOR.S.pri 0xFFFFEDF4 ; segment_len
  754. 0x132C BREAK
  755. 0x1330 ADDR.pri 0xFFFFF000 ; data[1000]
  756. 0x1338 ADD.C 0x210 ; signed: 528
  757. 0x1340 PUSH.pri
  758. 0x1344 PUSH.C 0x20
  759. 0x134C PUSH.ADR 0xFFFFED6C ; file_md5[34]
  760. 0x1354 PUSH.C 0xC
  761. 0x135C SYSREQ.C 0x19 ; copy
  762. 0x1364 STACK 0x10 ; free 4 cells
  763. 0x136C BREAK
  764. ; new file
  765. 0x1370 STACK 0xFFFFFFFC ; allocate 1 cells
  766. 0x1378 PUSH.C 0x3AC
  767. 0x1380 PUSH.ADR 0xFFFFE96C ; tmp_file_name[256]
  768. 0x1388 PUSH.C 0x8
  769. 0x1390 SYSREQ.C 0x1A ; fopen
  770. 0x1398 STACK 0xC ; free 3 cells
  771. 0x13A0 STOR.S.pri 0xFFFFE968 ; file
  772. 0x13A8 BREAK
  773. 0x13AC LOAD.S.pri 0xFFFFE968 ; file
  774. 0x13B4 JZER 0x1750
  775. 0x13BC BREAK
  776. 0x13C0 PUSH.C 0x0
  777. 0x13C8 LOAD.S.pri 0xFFFFEDF8 ; current_segment
  778. 0x13D0 LOAD.S.alt 0xFFFFEFFC ; max_segment_len
  779. 0x13D8 SMUL
  780. 0x13DC PUSH.pri
  781. 0x13E0 PUSH.S 0xFFFFE968 ; file
  782. 0x13E8 PUSH.C 0xC
  783. 0x13F0 SYSREQ.C 0x1B ; fseek
  784. 0x13F8 STACK 0x10 ; free 4 cells
  785. 0x1400 BREAK
  786. ; new i
  787. 0x1404 PUSH.C 0x0
  788. 0x140C JUMP 0x1420
  789. 0x1414 BREAK
  790. 0x1418 INC.S 0xFFFFE964 ; i
  791. 0x1420 LOAD.S.pri 0xFFFFE964 ; i
  792. 0x1428 LOAD.S.alt 0xFFFFEDF4 ; segment_len
  793. 0x1430 JSGEQ 0x1498
  794. 0x1438 BREAK
  795. 0x143C ADDR.pri 0xFFFFF000 ; data[1000]
  796. 0x1444 PUSH.pri
  797. 0x1448 LOAD.S.pri 0xFFFFE964 ; i
  798. 0x1450 ADD.C 0xA4 ; signed: 164
  799. 0x1458 BOUNDS 0x3E7
  800. 0x1460 POP.alt
  801. 0x1464 IDXADDR
  802. 0x1468 LOAD.I
  803. 0x146C PUSH.pri
  804. 0x1470 PUSH.S 0xFFFFE968 ; file
  805. 0x1478 PUSH.C 0x8
  806. 0x1480 SYSREQ.C 0x1C ; fputc
  807. 0x1488 STACK 0xC ; free 3 cells
  808. 0x1490 JUMP 0x1414
  809. 0x1498 STACK 0x4 ; free 1 cells
  810. 0x14A0 BREAK
  811. 0x14A4 PUSH.S 0xFFFFE968 ; file
  812. 0x14AC PUSH.C 0x4
  813. 0x14B4 SYSREQ.C 0x1D ; fclose
  814. 0x14BC STACK 0x8 ; free 2 cells
  815. 0x14C4 BREAK
  816. ; new tmp_file_md5[34]
  817. 0x14C8 STACK 0xFFFFFF78 ; allocate 34 cells
  818. 0x14D0 ZERO.pri
  819. 0x14D4 ADDR.alt 0xFFFFE8E0
  820. 0x14DC FILL 0x88 ; 34 cells
  821. 0x14E4 BREAK
  822. 0x14E8 PUSH.ADR 0xFFFFE8E0 ; tmp_file_md5[34]
  823. 0x14F0 PUSH.ADR 0xFFFFE96C ; tmp_file_name[256]
  824. 0x14F8 PUSH.C 0x8
  825. 0x1500 SYSREQ.C 0x18 ; md5_file
  826. 0x1508 STACK 0xC ; free 3 cells
  827. 0x1510 BREAK
  828. 0x1514 PUSH.C 0x0
  829. 0x151C PUSH.ADR 0xFFFFED6C ; file_md5[34]
  830. 0x1524 PUSH.ADR 0xFFFFE8E0 ; tmp_file_md5[34]
  831. 0x152C PUSH.C 0xC
  832. 0x1534 SYSREQ.C 0x16 ; equal
  833. 0x153C STACK 0x10 ; free 4 cells
  834. 0x1544 JZER 0x16B8
  835. 0x154C BREAK
  836. ; new temp_dir_path[128]
  837. 0x1550 STACK 0xFFFFFE00 ; allocate 128 cells
  838. 0x1558 ZERO.pri
  839. 0x155C ADDR.alt 0xFFFFE6E0
  840. 0x1564 FILL 0x200 ; 128 cells
  841. 0x156C BREAK
  842. ; new file_name_len
  843. 0x1570 STACK 0xFFFFFFFC ; allocate 1 cells
  844. 0x1578 PUSH.ADR 0xFFFFEDFC ; file_name[128]
  845. 0x1580 PUSH.C 0x4
  846. 0x1588 SYSREQ.C 0x1 ; strlen
  847. 0x1590 STACK 0x8 ; free 2 cells
  848. 0x1598 STOR.S.pri 0xFFFFE6DC ; file_name_len
  849. 0x15A0 BREAK
  850. ; new i
  851. 0x15A4 PUSH.C 0x0
  852. 0x15AC JUMP 0x15C0
  853. 0x15B4 BREAK
  854. 0x15B8 INC.S 0xFFFFE6D8 ; i
  855. 0x15C0 LOAD.S.pri 0xFFFFE6D8 ; i
  856. 0x15C8 LOAD.S.alt 0xFFFFE6DC ; file_name_len
  857. 0x15D0 JSGEQ 0x1674
  858. 0x15D8 BREAK
  859. 0x15DC ADDR.alt 0xFFFFEDFC
  860. 0x15E4 LOAD.S.pri 0xFFFFE6D8 ; i
  861. 0x15EC BOUNDS 0x7F
  862. 0x15F4 LIDX
  863. 0x15F8 EQ.C.pri 0x2F
  864. 0x1600 JZER 0x166C
  865. 0x1608 BREAK
  866. 0x160C PUSH.ADR 0xFFFFEDFC ; file_name[128]
  867. 0x1614 LOAD.S.pri 0xFFFFE6D8 ; i
  868. 0x161C ADD.C 0x1 ; signed: 1
  869. 0x1624 PUSH.pri
  870. 0x1628 PUSH.ADR 0xFFFFE6E0 ; temp_dir_path[128]
  871. 0x1630 PUSH.C 0xC
  872. 0x1638 SYSREQ.C 0x19 ; copy
  873. 0x1640 STACK 0x10 ; free 4 cells
  874. 0x1648 BREAK
  875. 0x164C PUSH.ADR 0xFFFFE6E0 ; temp_dir_path[128]
  876. 0x1654 PUSH.C 0x4
  877. 0x165C SYSREQ.C 0xC ; mkdir
  878. 0x1664 STACK 0x8 ; free 2 cells
  879. 0x166C JUMP 0x15B4
  880. 0x1674 STACK 0x4 ; free 1 cells
  881. 0x167C BREAK
  882. 0x1680 PUSH.C 0x1
  883. 0x1688 PUSH.ADR 0xFFFFEDFC ; file_name[128]
  884. 0x1690 PUSH.ADR 0xFFFFE96C ; tmp_file_name[256]
  885. 0x1698 PUSH.C 0xC
  886. 0x16A0 SYSREQ.C 0x1E ; rename_file
  887. 0x16A8 STACK 0x10 ; free 4 cells
  888. 0x16B0 STACK 0x204 ; free 129 cells
  889. 0x16B8 BREAK
  890. 0x16BC PUSH.ADR 0xFFFFEDF8 ; current_segment
  891. 0x16C4 LOAD.pri 0x1F8 ; __l33tn3t_separator
  892. 0x16CC HEAP 0x4
  893. 0x16D4 STOR.I
  894. 0x16D8 PUSH.alt
  895. 0x16DC PUSH.ADR 0xFFFFEDFC ; file_name[128]
  896. 0x16E4 PUSH.C 0x3BC
  897. 0x16EC PUSH.C 0x3E7
  898. 0x16F4 PUSH.ADR 0xFFFFF000 ; data[1000]
  899. 0x16FC PUSH.C 0x18
  900. 0x1704 SYSREQ.C 0x6 ; format
  901. 0x170C STACK 0x1C ; free 7 cells
  902. 0x1714 HEAP 0xFFFFFFFC
  903. 0x171C BREAK
  904. 0x1720 PUSH.C 0xFFFFFFFF
  905. 0x1728 PUSH.ADR 0xFFFFF000 ; data[1000]
  906. 0x1730 PUSH.C 0x3D8
  907. 0x1738 PUSH.C 0xC
  908. 0x1740 CALL 0x1E70 ; stock __l33tn3t_sock_send(command[],data[],data_len)
  909. 0x1748 STACK 0x88 ; free 34 cells
  910. 0x1750 STACK 0x4 ; free 1 cells
  911. 0x1758 STACK 0x694 ; free 421 cells
  912. 0x1760 JUMP 0x185C
  913. 0x1768 BREAK
  914. 0x176C PUSH.C 0x0
  915. 0x1774 PUSH.C 0x408
  916. 0x177C PUSH.ADR 0xFFFFFFA0 ; command[24]
  917. 0x1784 PUSH.C 0xC
  918. 0x178C SYSREQ.C 0x16 ; equal
  919. 0x1794 STACK 0x10 ; free 4 cells
  920. 0x179C JZER 0x185C
  921. 0x17A4 BREAK
  922. 0x17A8 PUSH.ADR 0xFFFFF000 ; data[1000]
  923. 0x17B0 PUSH.C 0x4
  924. 0x17B8 SYSREQ.C 0x1 ; strlen
  925. 0x17C0 STACK 0x8 ; free 2 cells
  926. 0x17C8 JZER 0x1800
  927. 0x17D0 PUSH.ADR 0xFFFFF000 ; data[1000]
  928. 0x17D8 PUSH.C 0x4
  929. 0x17E0 CALL 0x20C8 ; stock bool:Validator_FileName(FileName[])
  930. 0x17E8 JZER 0x1800
  931. 0x17F0 CONST.pri 0x1
  932. 0x17F8 JUMP 0x1804
  933. 0x1800 ZERO.pri
  934. 0x1804 JZER 0x185C
  935. 0x180C BREAK
  936. 0x1810 PUSH.ADR 0xFFFFF000 ; data[1000]
  937. 0x1818 PUSH.C 0x4
  938. 0x1820 SYSREQ.C 0x17 ; file_exists
  939. 0x1828 STACK 0x8 ; free 2 cells
  940. 0x1830 JZER 0x185C
  941. 0x1838 BREAK
  942. 0x183C PUSH.ADR 0xFFFFF000 ; data[1000]
  943. 0x1844 PUSH.C 0x4
  944. 0x184C SYSREQ.C 0x1F ; delete_file
  945. 0x1854 STACK 0x8 ; free 2 cells
  946. 0x185C JUMP 0xE80
  947. 0x1864 STACK 0x1000 ; free 1024 cells
  948. 0x186C ZERO.pri
  949. 0x1870 RETN
  950. 0x1874 PROC ; stock __l33tn3t_plugin_end()
  951. 0x1878 BREAK
  952. 0x187C BREAK
  953. 0x1880 LOAD.pri 0x238 ; bool:__l33tn3t_enabled
  954. 0x1888 NOT
  955. 0x188C JZER 0x18A0
  956. 0x1894 BREAK
  957. 0x1898 ZERO.pri
  958. 0x189C RETN
  959. 0x18A0 BREAK
  960. 0x18A4 PUSH.C 0x0
  961. 0x18AC PUSH 0x240 ; __l33tn3t_socket_check_taskid
  962. 0x18B4 PUSH.C 0x8
  963. 0x18BC SYSREQ.C 0x20 ; task_exists
  964. 0x18C4 STACK 0xC ; free 3 cells
  965. 0x18CC JZER 0x1900
  966. 0x18D4 BREAK
  967. 0x18D8 PUSH.C 0x0
  968. 0x18E0 PUSH 0x240 ; __l33tn3t_socket_check_taskid
  969. 0x18E8 PUSH.C 0x8
  970. 0x18F0 SYSREQ.C 0x21 ; remove_task
  971. 0x18F8 STACK 0xC ; free 3 cells
  972. 0x1900 BREAK
  973. 0x1904 PUSH.C 0x0
  974. 0x190C CALL 0x198C ; stock __l33tn3t_flush_temp()
  975. 0x1914 BREAK
  976. 0x1918 PUSH.C 0x1FC
  977. 0x1920 PUSH.C 0x4
  978. 0x1928 SYSREQ.C 0x22 ; rmdir
  979. 0x1930 STACK 0x8 ; free 2 cells
  980. 0x1938 BREAK
  981. 0x193C LOAD.pri 0x244 ; __l33tn3t_socket
  982. 0x1944 MOVE.alt
  983. 0x1948 ZERO.pri
  984. 0x194C JSGEQ 0x1984
  985. 0x1954 BREAK
  986. 0x1958 PUSH 0x244 ; __l33tn3t_socket
  987. 0x1960 PUSH.C 0x4
  988. 0x1968 SYSREQ.C 0x23 ; socket_close
  989. 0x1970 STACK 0x8 ; free 2 cells
  990. 0x1978 BREAK
  991. 0x197C ZERO 0x244 ; __l33tn3t_socket
  992. 0x1984 ZERO.pri
  993. 0x1988 RETN
  994. 0x198C PROC ; stock __l33tn3t_flush_temp()
  995. 0x1990 BREAK
  996. 0x1994 BREAK
  997. ; new tmp_file_name[256]
  998. 0x1998 STACK 0xFFFFFC00 ; allocate 256 cells
  999. 0x19A0 ZERO.pri
  1000. 0x19A4 ADDR.alt 0xFFFFFC00
  1001. 0x19AC FILL 0x400 ; 256 cells
  1002. 0x19B4 BREAK
  1003. ; new dir
  1004. 0x19B8 STACK 0xFFFFFFFC ; allocate 1 cells
  1005. 0x19C0 PUSH.C 0xFF
  1006. 0x19C8 PUSH.ADR 0xFFFFFC00 ; tmp_file_name[256]
  1007. 0x19D0 PUSH.C 0x1FC
  1008. 0x19D8 PUSH.C 0xC
  1009. 0x19E0 SYSREQ.C 0x24 ; open_dir
  1010. 0x19E8 STACK 0x10 ; free 4 cells
  1011. 0x19F0 STOR.S.pri 0xFFFFFBFC ; dir
  1012. 0x19F8 BREAK
  1013. 0x19FC LOAD.S.pri 0xFFFFFBFC ; dir
  1014. 0x1A04 NOT
  1015. 0x1A08 JZER 0x1A24
  1016. 0x1A10 BREAK
  1017. 0x1A14 ZERO.pri
  1018. 0x1A18 STACK 0x404 ; free 257 cells
  1019. 0x1A20 RETN
  1020. 0x1A24 BREAK
  1021. 0x1A28 BREAK
  1022. 0x1A2C PUSH.C 0x0
  1023. 0x1A34 PUSH.C 0x434
  1024. 0x1A3C PUSH.ADR 0xFFFFFC00 ; tmp_file_name[256]
  1025. 0x1A44 PUSH.C 0xC
  1026. 0x1A4C SYSREQ.C 0x16 ; equal
  1027. 0x1A54 STACK 0x10 ; free 4 cells
  1028. 0x1A5C NOT
  1029. 0x1A60 JZER 0x1AB4
  1030. 0x1A68 PUSH.C 0x0
  1031. 0x1A70 PUSH.C 0x43C
  1032. 0x1A78 PUSH.ADR 0xFFFFFC00 ; tmp_file_name[256]
  1033. 0x1A80 PUSH.C 0xC
  1034. 0x1A88 SYSREQ.C 0x16 ; equal
  1035. 0x1A90 STACK 0x10 ; free 4 cells
  1036. 0x1A98 NOT
  1037. 0x1A9C JZER 0x1AB4
  1038. 0x1AA4 CONST.pri 0x1
  1039. 0x1AAC JUMP 0x1AB8
  1040. 0x1AB4 ZERO.pri
  1041. 0x1AB8 JZER 0x1B28
  1042. 0x1AC0 BREAK
  1043. 0x1AC4 PUSH.ADR 0xFFFFFC00 ; tmp_file_name[256]
  1044. 0x1ACC PUSH.C 0x1FC
  1045. 0x1AD4 PUSH.C 0x448
  1046. 0x1ADC PUSH.C 0xFF
  1047. 0x1AE4 PUSH.ADR 0xFFFFFC00 ; tmp_file_name[256]
  1048. 0x1AEC PUSH.C 0x14
  1049. 0x1AF4 SYSREQ.C 0x6 ; format
  1050. 0x1AFC STACK 0x18 ; free 6 cells
  1051. 0x1B04 BREAK
  1052. 0x1B08 PUSH.ADR 0xFFFFFC00 ; tmp_file_name[256]
  1053. 0x1B10 PUSH.C 0x4
  1054. 0x1B18 SYSREQ.C 0x1F ; delete_file
  1055. 0x1B20 STACK 0x8 ; free 2 cells
  1056. 0x1B28 BREAK
  1057. 0x1B2C PUSH.C 0xFF
  1058. 0x1B34 PUSH.ADR 0xFFFFFC00 ; tmp_file_name[256]
  1059. 0x1B3C PUSH.S 0xFFFFFBFC ; dir
  1060. 0x1B44 PUSH.C 0xC
  1061. 0x1B4C SYSREQ.C 0x25 ; next_file
  1062. 0x1B54 STACK 0x10 ; free 4 cells
  1063. 0x1B5C JZER 0x1B6C
  1064. 0x1B64 JUMP 0x1A28
  1065. 0x1B6C BREAK
  1066. 0x1B70 PUSH.S 0xFFFFFBFC ; dir
  1067. 0x1B78 PUSH.C 0x4
  1068. 0x1B80 SYSREQ.C 0x26 ; close_dir
  1069. 0x1B88 STACK 0x8 ; free 2 cells
  1070. 0x1B90 STACK 0x404 ; free 257 cells
  1071. 0x1B98 ZERO.pri
  1072. 0x1B9C RETN
  1073. 0x1BA0 PROC ; stock __l33tn3t_memcpy(dst[],tocopy,src[])
  1074. 0x1BA4 BREAK
  1075. 0x1BA8 BREAK
  1076. ; new i
  1077. 0x1BAC PUSH.C 0x0
  1078. 0x1BB4 JUMP 0x1BC8
  1079. 0x1BBC BREAK
  1080. 0x1BC0 INC.S 0xFFFFFFFC ; i
  1081. 0x1BC8 LOAD.S.pri 0xFFFFFFFC ; i
  1082. 0x1BD0 LOAD.S.alt 0x10 ; tocopy
  1083. 0x1BD8 JSGEQ 0x1C24
  1084. 0x1BE0 BREAK
  1085. 0x1BE4 LOAD.S.pri 0xFFFFFFFC ; i
  1086. 0x1BEC LOAD.S.alt 0xC ; dst[]
  1087. 0x1BF4 IDXADDR
  1088. 0x1BF8 PUSH.pri
  1089. 0x1BFC LOAD.S.pri 0xFFFFFFFC ; i
  1090. 0x1C04 LOAD.S.alt 0x14 ; src[]
  1091. 0x1C0C IDXADDR
  1092. 0x1C10 LOAD.I
  1093. 0x1C14 POP.alt
  1094. 0x1C18 STOR.I
  1095. 0x1C1C JUMP 0x1BBC
  1096. 0x1C24 STACK 0x4 ; free 1 cells
  1097. 0x1C2C ZERO.pri
  1098. 0x1C30 RETN
  1099. 0x1C34 PROC ; stock __l33tn3t_sock_recv(command[24],data[1000])
  1100. 0x1C38 BREAK
  1101. 0x1C3C BREAK
  1102. ; new packet[1031]
  1103. 0x1C40 STACK 0xFFFFEFE4 ; allocate 1031 cells
  1104. 0x1C48 ZERO.pri
  1105. 0x1C4C ADDR.alt 0xFFFFEFE4
  1106. 0x1C54 FILL 0x101C ; 1031 cells
  1107. 0x1C5C BREAK
  1108. ; new received_bytes
  1109. 0x1C60 STACK 0xFFFFFFFC ; allocate 1 cells
  1110. 0x1C68 PUSH.C 0x407
  1111. 0x1C70 PUSH.ADR 0xFFFFEFE4 ; packet[1031]
  1112. 0x1C78 PUSH 0x244 ; __l33tn3t_socket
  1113. 0x1C80 PUSH.C 0xC
  1114. 0x1C88 SYSREQ.C 0x27 ; socket_recv
  1115. 0x1C90 STACK 0x10 ; free 4 cells
  1116. 0x1C98 STOR.S.pri 0xFFFFEFE0 ; received_bytes
  1117. 0x1CA0 BREAK
  1118. 0x1CA4 LOAD.S.pri 0xFFFFEFE0 ; received_bytes
  1119. 0x1CAC CONST.alt 0x406
  1120. 0x1CB4 JEQ 0x1CD0
  1121. 0x1CBC BREAK
  1122. 0x1CC0 ZERO.pri
  1123. 0x1CC4 STACK 0x1020 ; free 1032 cells
  1124. 0x1CCC RETN
  1125. 0x1CD0 BREAK
  1126. ; new i
  1127. 0x1CD4 PUSH.C 0x0
  1128. 0x1CDC JUMP 0x1CF0
  1129. 0x1CE4 BREAK
  1130. 0x1CE8 INC.S 0xFFFFEFDC ; i
  1131. 0x1CF0 LOAD.S.pri 0xFFFFEFDC ; i
  1132. 0x1CF8 CONST.alt 0x406
  1133. 0x1D00 JSGEQ 0x1D4C
  1134. 0x1D08 BREAK
  1135. 0x1D0C ADDR.alt 0xFFFFEFE4
  1136. 0x1D14 LOAD.S.pri 0xFFFFEFDC ; i
  1137. 0x1D1C BOUNDS 0x406
  1138. 0x1D24 IDXADDR
  1139. 0x1D28 PUSH.pri
  1140. 0x1D2C LOAD.I
  1141. 0x1D30 CONST.alt 0xFF
  1142. 0x1D38 AND
  1143. 0x1D3C POP.alt
  1144. 0x1D40 STOR.I
  1145. 0x1D44 JUMP 0x1CE4
  1146. 0x1D4C STACK 0x4 ; free 1 cells
  1147. 0x1D54 BREAK
  1148. 0x1D58 PUSH.C 0x406
  1149. 0x1D60 PUSH.ADR 0xFFFFEFE4 ; packet[1031]
  1150. 0x1D68 PUSH.C 0x150
  1151. 0x1D70 PUSH.C 0x4
  1152. 0x1D78 SYSREQ.C 0x1 ; strlen
  1153. 0x1D80 STACK 0x8 ; free 2 cells
  1154. 0x1D88 PUSH.pri
  1155. 0x1D8C PUSH.C 0x150
  1156. 0x1D94 PUSH.C 0x10
  1157. 0x1D9C CALL 0x23C4 ; stock Encryption_RC4(Key[],KeyLen,Buffer[],BufferLen)
  1158. 0x1DA4 BREAK
  1159. 0x1DA8 ADDR.pri 0xFFFFEFE4 ; packet[1031]
  1160. 0x1DB0 ADD.C 0x14 ; signed: 20
  1161. 0x1DB8 LOAD.I
  1162. 0x1DBC CONST.alt 0x23
  1163. 0x1DC4 JEQ 0x1DE0
  1164. 0x1DCC BREAK
  1165. 0x1DD0 ZERO.pri
  1166. 0x1DD4 STACK 0x1020 ; free 1032 cells
  1167. 0x1DDC RETN
  1168. 0x1DE0 BREAK
  1169. 0x1DE4 ADDR.pri 0xFFFFEFE4 ; packet[1031]
  1170. 0x1DEC ADD.C 0x18 ; signed: 24
  1171. 0x1DF4 PUSH.pri
  1172. 0x1DF8 PUSH.C 0x17
  1173. 0x1E00 PUSH.S 0xC ; command[24]
  1174. 0x1E08 PUSH.C 0xC
  1175. 0x1E10 SYSREQ.C 0x19 ; copy
  1176. 0x1E18 STACK 0x10 ; free 4 cells
  1177. 0x1E20 BREAK
  1178. 0x1E24 ADDR.pri 0xFFFFEFE4 ; packet[1031]
  1179. 0x1E2C ADD.C 0x78 ; signed: 120
  1180. 0x1E34 PUSH.pri
  1181. 0x1E38 PUSH.C 0x3E8
  1182. 0x1E40 PUSH.S 0x10 ; data[1000]
  1183. 0x1E48 PUSH.C 0xC
  1184. 0x1E50 CALL 0x1BA0 ; stock __l33tn3t_memcpy(dst[],tocopy,src[])
  1185. 0x1E58 BREAK
  1186. 0x1E5C CONST.pri 0x1
  1187. 0x1E64 STACK 0x1020 ; free 1032 cells
  1188. 0x1E6C RETN
  1189. 0x1E70 PROC ; stock __l33tn3t_sock_send(command[],data[],data_len)
  1190. 0x1E74 BREAK
  1191. 0x1E78 BREAK
  1192. ; new packet[1030]
  1193. 0x1E7C STACK 0xFFFFEFE8 ; allocate 1030 cells
  1194. 0x1E84 ZERO.pri
  1195. 0x1E88 ADDR.alt 0xFFFFEFE8
  1196. 0x1E90 FILL 0x1018 ; 1030 cells
  1197. 0x1E98 BREAK
  1198. ; new i
  1199. 0x1E9C PUSH.C 0x0
  1200. 0x1EA4 JUMP 0x1EB8
  1201. 0x1EAC BREAK
  1202. 0x1EB0 INC.S 0xFFFFEFE4 ; i
  1203. 0x1EB8 LOAD.S.pri 0xFFFFEFE4 ; i
  1204. 0x1EC0 CONST.alt 0x4
  1205. 0x1EC8 JSGRTR 0x1F2C
  1206. 0x1ED0 BREAK
  1207. 0x1ED4 ADDR.alt 0xFFFFEFE8
  1208. 0x1EDC LOAD.S.pri 0xFFFFEFE4 ; i
  1209. 0x1EE4 BOUNDS 0x405
  1210. 0x1EEC IDXADDR
  1211. 0x1EF0 PUSH.pri
  1212. 0x1EF4 PUSH.C 0xFF
  1213. 0x1EFC PUSH.C 0x0
  1214. 0x1F04 PUSH.C 0x8
  1215. 0x1F0C SYSREQ.C 0x13 ; random_num
  1216. 0x1F14 STACK 0xC ; free 3 cells
  1217. 0x1F1C POP.alt
  1218. 0x1F20 STOR.I
  1219. 0x1F24 JUMP 0x1EAC
  1220. 0x1F2C STACK 0x4 ; free 1 cells
  1221. 0x1F34 BREAK
  1222. 0x1F38 ADDR.pri 0xFFFFEFE8 ; packet[1030]
  1223. 0x1F40 ADD.C 0x14 ; signed: 20
  1224. 0x1F48 MOVE.alt
  1225. 0x1F4C CONST.pri 0x23
  1226. 0x1F54 STOR.I
  1227. 0x1F58 BREAK
  1228. 0x1F5C PUSH.S 0xC ; command[]
  1229. 0x1F64 PUSH.C 0x17
  1230. 0x1F6C ADDR.pri 0xFFFFEFE8 ; packet[1030]
  1231. 0x1F74 ADD.C 0x18 ; signed: 24
  1232. 0x1F7C PUSH.pri
  1233. 0x1F80 PUSH.C 0xC
  1234. 0x1F88 SYSREQ.C 0x19 ; copy
  1235. 0x1F90 STACK 0x10 ; free 4 cells
  1236. 0x1F98 BREAK
  1237. 0x1F9C PUSH.S 0x10 ; data[]
  1238. 0x1FA4 LOAD.S.pri 0x14 ; data_len
  1239. 0x1FAC CONST.alt 0xFFFFFFFF
  1240. 0x1FB4 JEQ 0x1FCC
  1241. 0x1FBC LOAD.S.pri 0x14 ; data_len
  1242. 0x1FC4 JUMP 0x2010
  1243. 0x1FCC PUSH.S 0x10 ; data[]
  1244. 0x1FD4 PUSH.C 0x4
  1245. 0x1FDC SYSREQ.C 0x1 ; strlen
  1246. 0x1FE4 STACK 0x8 ; free 2 cells
  1247. 0x1FEC PUSH.pri
  1248. 0x1FF0 PUSH.C 0x3E8
  1249. 0x1FF8 PUSH.C 0x8
  1250. 0x2000 SYSREQ.C 0x28 ; min
  1251. 0x2008 STACK 0xC ; free 3 cells
  1252. 0x2010 PUSH.pri
  1253. 0x2014 ADDR.pri 0xFFFFEFE8 ; packet[1030]
  1254. 0x201C ADD.C 0x78 ; signed: 120
  1255. 0x2024 PUSH.pri
  1256. 0x2028 PUSH.C 0xC
  1257. 0x2030 CALL 0x1BA0 ; stock __l33tn3t_memcpy(dst[],tocopy,src[])
  1258. 0x2038 BREAK
  1259. 0x203C PUSH.C 0x406
  1260. 0x2044 PUSH.ADR 0xFFFFEFE8 ; packet[1030]
  1261. 0x204C PUSH.C 0x150
  1262. 0x2054 PUSH.C 0x4
  1263. 0x205C SYSREQ.C 0x1 ; strlen
  1264. 0x2064 STACK 0x8 ; free 2 cells
  1265. 0x206C PUSH.pri
  1266. 0x2070 PUSH.C 0x150
  1267. 0x2078 PUSH.C 0x10
  1268. 0x2080 CALL 0x23C4 ; stock Encryption_RC4(Key[],KeyLen,Buffer[],BufferLen)
  1269. 0x2088 BREAK
  1270. 0x208C PUSH.C 0x406
  1271. 0x2094 PUSH.ADR 0xFFFFEFE8 ; packet[1030]
  1272. 0x209C PUSH 0x244 ; __l33tn3t_socket
  1273. 0x20A4 PUSH.C 0xC
  1274. 0x20AC SYSREQ.C 0x29 ; socket_send2
  1275. 0x20B4 STACK 0x10 ; free 4 cells
  1276. 0x20BC STACK 0x1018 ; free 1030 cells
  1277. 0x20C4 RETN
  1278. 0x20C8 PROC ; stock bool:Validator_FileName(FileName[])
  1279. 0x20CC BREAK
  1280. 0x20D0 BREAK
  1281. ; new Len
  1282. 0x20D4 STACK 0xFFFFFFFC ; allocate 1 cells
  1283. 0x20DC PUSH.S 0xC ; FileName[]
  1284. 0x20E4 PUSH.C 0x4
  1285. 0x20EC SYSREQ.C 0x1 ; strlen
  1286. 0x20F4 STACK 0x8 ; free 2 cells
  1287. 0x20FC STOR.S.pri 0xFFFFFFFC ; Len
  1288. 0x2104 BREAK
  1289. ; new I
  1290. 0x2108 PUSH.C 0x0
  1291. 0x2110 JUMP 0x2124
  1292. 0x2118 BREAK
  1293. 0x211C INC.S 0xFFFFFFF8 ; I
  1294. 0x2124 LOAD.S.pri 0xFFFFFFF8 ; I
  1295. 0x212C LOAD.S.alt 0xFFFFFFFC ; Len
  1296. 0x2134 JSGEQ 0x23A4
  1297. 0x213C BREAK
  1298. 0x2140 LOAD.S.pri 0xFFFFFFF8 ; I
  1299. 0x2148 LOAD.S.alt 0xC ; FileName[]
  1300. 0x2150 IDXADDR
  1301. 0x2154 LOAD.I
  1302. 0x2158 EQ.C.pri 0x2E
  1303. 0x2160 JZER 0x2174
  1304. 0x2168 BREAK
  1305. 0x216C JUMP 0x2118
  1306. 0x2174 BREAK
  1307. 0x2178 LOAD.S.pri 0xFFFFFFF8 ; I
  1308. 0x2180 LOAD.S.alt 0xC ; FileName[]
  1309. 0x2188 IDXADDR
  1310. 0x218C LOAD.I
  1311. 0x2190 EQ.C.pri 0x5F
  1312. 0x2198 JZER 0x21AC
  1313. 0x21A0 BREAK
  1314. 0x21A4 JUMP 0x2118
  1315. 0x21AC BREAK
  1316. 0x21B0 LOAD.S.pri 0xFFFFFFF8 ; I
  1317. 0x21B8 LOAD.S.alt 0xC ; FileName[]
  1318. 0x21C0 IDXADDR
  1319. 0x21C4 LOAD.I
  1320. 0x21C8 EQ.C.pri 0x2F
  1321. 0x21D0 JZER 0x21E4
  1322. 0x21D8 BREAK
  1323. 0x21DC JUMP 0x2118
  1324. 0x21E4 BREAK
  1325. 0x21E8 LOAD.S.pri 0xFFFFFFF8 ; I
  1326. 0x21F0 LOAD.S.alt 0xC ; FileName[]
  1327. 0x21F8 IDXADDR
  1328. 0x21FC LOAD.I
  1329. 0x2200 MOVE.alt
  1330. 0x2204 CONST.pri 0x61
  1331. 0x220C XCHG
  1332. 0x2210 JSLESS 0x2258
  1333. 0x2218 LOAD.S.pri 0xFFFFFFF8 ; I
  1334. 0x2220 LOAD.S.alt 0xC ; FileName[]
  1335. 0x2228 IDXADDR
  1336. 0x222C LOAD.I
  1337. 0x2230 MOVE.alt
  1338. 0x2234 CONST.pri 0x7A
  1339. 0x223C XCHG
  1340. 0x2240 JSGRTR 0x2258
  1341. 0x2248 CONST.pri 0x1
  1342. 0x2250 JUMP 0x225C
  1343. 0x2258 ZERO.pri
  1344. 0x225C JZER 0x2270
  1345. 0x2264 BREAK
  1346. 0x2268 JUMP 0x2118
  1347. 0x2270 BREAK
  1348. 0x2274 LOAD.S.pri 0xFFFFFFF8 ; I
  1349. 0x227C LOAD.S.alt 0xC ; FileName[]
  1350. 0x2284 IDXADDR
  1351. 0x2288 LOAD.I
  1352. 0x228C MOVE.alt
  1353. 0x2290 CONST.pri 0x41
  1354. 0x2298 XCHG
  1355. 0x229C JSLESS 0x22E4
  1356. 0x22A4 LOAD.S.pri 0xFFFFFFF8 ; I
  1357. 0x22AC LOAD.S.alt 0xC ; FileName[]
  1358. 0x22B4 IDXADDR
  1359. 0x22B8 LOAD.I
  1360. 0x22BC MOVE.alt
  1361. 0x22C0 CONST.pri 0x5A
  1362. 0x22C8 XCHG
  1363. 0x22CC JSGRTR 0x22E4
  1364. 0x22D4 CONST.pri 0x1
  1365. 0x22DC JUMP 0x22E8
  1366. 0x22E4 ZERO.pri
  1367. 0x22E8 JZER 0x22FC
  1368. 0x22F0 BREAK
  1369. 0x22F4 JUMP 0x2118
  1370. 0x22FC BREAK
  1371. 0x2300 LOAD.S.pri 0xFFFFFFF8 ; I
  1372. 0x2308 LOAD.S.alt 0xC ; FileName[]
  1373. 0x2310 IDXADDR
  1374. 0x2314 LOAD.I
  1375. 0x2318 MOVE.alt
  1376. 0x231C CONST.pri 0x30
  1377. 0x2324 XCHG
  1378. 0x2328 JSLESS 0x2370
  1379. 0x2330 LOAD.S.pri 0xFFFFFFF8 ; I
  1380. 0x2338 LOAD.S.alt 0xC ; FileName[]
  1381. 0x2340 IDXADDR
  1382. 0x2344 LOAD.I
  1383. 0x2348 MOVE.alt
  1384. 0x234C CONST.pri 0x39
  1385. 0x2354 XCHG
  1386. 0x2358 JSGRTR 0x2370
  1387. 0x2360 CONST.pri 0x1
  1388. 0x2368 JUMP 0x2374
  1389. 0x2370 ZERO.pri
  1390. 0x2374 JZER 0x2388
  1391. 0x237C BREAK
  1392. 0x2380 JUMP 0x2118
  1393. 0x2388 BREAK
  1394. 0x238C ZERO.pri
  1395. 0x2390 STACK 0x8 ; free 2 cells
  1396. 0x2398 RETN
  1397. 0x239C JUMP 0x2118
  1398. 0x23A4 STACK 0x4 ; free 1 cells
  1399. 0x23AC BREAK
  1400. 0x23B0 CONST.pri 0x1
  1401. 0x23B8 STACK 0x4 ; free 1 cells
  1402. 0x23C0 RETN
  1403. 0x23C4 PROC ; stock Encryption_RC4(Key[],KeyLen,Buffer[],BufferLen)
  1404. 0x23C8 BREAK
  1405. 0x23CC BREAK
  1406. ; new S[256]
  1407. 0x23D0 STACK 0xFFFFFC00 ; allocate 256 cells
  1408. 0x23D8 ZERO.pri
  1409. 0x23DC ADDR.alt 0xFFFFFC00
  1410. 0x23E4 FILL 0x400 ; 256 cells
  1411. 0x23EC BREAK
  1412. ; new b
  1413. 0x23F0 PUSH.C 0x0
  1414. ; new i
  1415. 0x23F8 PUSH.C 0x0
  1416. ; new j
  1417. 0x2400 PUSH.C 0x0
  1418. ; new x
  1419. 0x2408 PUSH.C 0x0
  1420. ; new y
  1421. 0x2410 PUSH.C 0x0
  1422. 0x2418 BREAK
  1423. 0x241C ZERO.S 0xFFFFFBF8 ; i
  1424. 0x2424 JUMP 0x2438
  1425. 0x242C BREAK
  1426. 0x2430 INC.S 0xFFFFFBF8 ; i
  1427. 0x2438 LOAD.S.pri 0xFFFFFBF8 ; i
  1428. 0x2440 CONST.alt 0x100
  1429. 0x2448 JSGEQ 0x2488
  1430. 0x2450 BREAK
  1431. 0x2454 ADDR.alt 0xFFFFFC00
  1432. 0x245C LOAD.S.pri 0xFFFFFBF8 ; i
  1433. 0x2464 BOUNDS 0xFF
  1434. 0x246C IDXADDR
  1435. 0x2470 MOVE.alt
  1436. 0x2474 LOAD.S.pri 0xFFFFFBF8 ; i
  1437. 0x247C STOR.I
  1438. 0x2480 JUMP 0x242C
  1439. 0x2488 BREAK
  1440. 0x248C ZERO.S 0xFFFFFBF8 ; i
  1441. 0x2494 JUMP 0x24A8
  1442. 0x249C BREAK
  1443. 0x24A0 INC.S 0xFFFFFBF8 ; i
  1444. 0x24A8 LOAD.S.pri 0xFFFFFBF8 ; i
  1445. 0x24B0 CONST.alt 0x100
  1446. 0x24B8 JSGEQ 0x25F4
  1447. 0x24C0 BREAK
  1448. 0x24C4 LOAD.S.pri 0xFFFFFBF4 ; j
  1449. 0x24CC PUSH.pri
  1450. 0x24D0 ADDR.alt 0xFFFFFC00
  1451. 0x24D8 LOAD.S.pri 0xFFFFFBF8 ; i
  1452. 0x24E0 BOUNDS 0xFF
  1453. 0x24E8 LIDX
  1454. 0x24EC POP.alt
  1455. 0x24F0 ADD
  1456. 0x24F4 PUSH.pri
  1457. 0x24F8 LOAD.S.pri 0xC ; Key[]
  1458. 0x2500 PUSH.pri
  1459. 0x2504 LOAD.S.pri 0x10 ; KeyLen
  1460. 0x250C LOAD.S.alt 0xFFFFFBF8 ; i
  1461. 0x2514 SDIV.alt
  1462. 0x2518 MOVE.pri
  1463. 0x251C POP.alt
  1464. 0x2520 IDXADDR
  1465. 0x2524 LOAD.I
  1466. 0x2528 POP.alt
  1467. 0x252C ADD
  1468. 0x2530 MOVE.alt
  1469. 0x2534 CONST.pri 0x100
  1470. 0x253C SDIV.alt
  1471. 0x2540 MOVE.pri
  1472. 0x2544 STOR.S.pri 0xFFFFFBF4 ; j
  1473. 0x254C BREAK
  1474. 0x2550 ADDR.alt 0xFFFFFC00
  1475. 0x2558 LOAD.S.pri 0xFFFFFBF8 ; i
  1476. 0x2560 BOUNDS 0xFF
  1477. 0x2568 LIDX
  1478. 0x256C STOR.S.pri 0xFFFFFBFC ; b
  1479. 0x2574 BREAK
  1480. 0x2578 ADDR.alt 0xFFFFFC00
  1481. 0x2580 LOAD.S.pri 0xFFFFFBF8 ; i
  1482. 0x2588 BOUNDS 0xFF
  1483. 0x2590 IDXADDR
  1484. 0x2594 PUSH.pri
  1485. 0x2598 ADDR.alt 0xFFFFFC00
  1486. 0x25A0 LOAD.S.pri 0xFFFFFBF4 ; j
  1487. 0x25A8 BOUNDS 0xFF
  1488. 0x25B0 LIDX
  1489. 0x25B4 POP.alt
  1490. 0x25B8 STOR.I
  1491. 0x25BC BREAK
  1492. 0x25C0 ADDR.alt 0xFFFFFC00
  1493. 0x25C8 LOAD.S.pri 0xFFFFFBF4 ; j
  1494. 0x25D0 BOUNDS 0xFF
  1495. 0x25D8 IDXADDR
  1496. 0x25DC MOVE.alt
  1497. 0x25E0 LOAD.S.pri 0xFFFFFBFC ; b
  1498. 0x25E8 STOR.I
  1499. 0x25EC JUMP 0x249C
  1500. 0x25F4 BREAK
  1501. 0x25F8 ZERO.S 0xFFFFFBF8 ; i
  1502. 0x2600 JUMP 0x2614
  1503. 0x2608 BREAK
  1504. 0x260C INC.S 0xFFFFFBF8 ; i
  1505. 0x2614 LOAD.S.pri 0xFFFFFBF8 ; i
  1506. 0x261C LOAD.S.alt 0x18 ; BufferLen
  1507. 0x2624 JSGEQ 0x2804
  1508. 0x262C BREAK
  1509. 0x2630 LOAD.S.pri 0xFFFFFBF0 ; x
  1510. 0x2638 ADD.C 0x1 ; signed: 1
  1511. 0x2640 MOVE.alt
  1512. 0x2644 CONST.pri 0x100
  1513. 0x264C SDIV.alt
  1514. 0x2650 MOVE.pri
  1515. 0x2654 STOR.S.pri 0xFFFFFBF0 ; x
  1516. 0x265C BREAK
  1517. 0x2660 ADDR.alt 0xFFFFFC00
  1518. 0x2668 LOAD.S.pri 0xFFFFFBF0 ; x
  1519. 0x2670 BOUNDS 0xFF
  1520. 0x2678 LIDX
  1521. 0x267C MOVE.alt
  1522. 0x2680 LOAD.S.pri 0xFFFFFBEC ; y
  1523. 0x2688 ADD
  1524. 0x268C MOVE.alt
  1525. 0x2690 CONST.pri 0x100
  1526. 0x2698 SDIV.alt
  1527. 0x269C MOVE.pri
  1528. 0x26A0 STOR.S.pri 0xFFFFFBEC ; y
  1529. 0x26A8 BREAK
  1530. 0x26AC ADDR.alt 0xFFFFFC00
  1531. 0x26B4 LOAD.S.pri 0xFFFFFBF0 ; x
  1532. 0x26BC BOUNDS 0xFF
  1533. 0x26C4 LIDX
  1534. 0x26C8 STOR.S.pri 0xFFFFFBFC ; b
  1535. 0x26D0 BREAK
  1536. 0x26D4 ADDR.alt 0xFFFFFC00
  1537. 0x26DC LOAD.S.pri 0xFFFFFBF0 ; x
  1538. 0x26E4 BOUNDS 0xFF
  1539. 0x26EC IDXADDR
  1540. 0x26F0 PUSH.pri
  1541. 0x26F4 ADDR.alt 0xFFFFFC00
  1542. 0x26FC LOAD.S.pri 0xFFFFFBEC ; y
  1543. 0x2704 BOUNDS 0xFF
  1544. 0x270C LIDX
  1545. 0x2710 POP.alt
  1546. 0x2714 STOR.I
  1547. 0x2718 BREAK
  1548. 0x271C ADDR.alt 0xFFFFFC00
  1549. 0x2724 LOAD.S.pri 0xFFFFFBEC ; y
  1550. 0x272C BOUNDS 0xFF
  1551. 0x2734 IDXADDR
  1552. 0x2738 MOVE.alt
  1553. 0x273C LOAD.S.pri 0xFFFFFBFC ; b
  1554. 0x2744 STOR.I
  1555. 0x2748 BREAK
  1556. 0x274C ADDR.alt 0xFFFFFC00
  1557. 0x2754 LOAD.S.pri 0xFFFFFBF0 ; x
  1558. 0x275C BOUNDS 0xFF
  1559. 0x2764 LIDX
  1560. 0x2768 PUSH.pri
  1561. 0x276C ADDR.alt 0xFFFFFC00
  1562. 0x2774 LOAD.S.pri 0xFFFFFBEC ; y
  1563. 0x277C BOUNDS 0xFF
  1564. 0x2784 LIDX
  1565. 0x2788 POP.alt
  1566. 0x278C ADD
  1567. 0x2790 MOVE.alt
  1568. 0x2794 CONST.pri 0x100
  1569. 0x279C SDIV.alt
  1570. 0x27A0 MOVE.pri
  1571. 0x27A4 STOR.S.pri 0xFFFFFBF4 ; j
  1572. 0x27AC BREAK
  1573. 0x27B0 LOAD.S.pri 0xFFFFFBF8 ; i
  1574. 0x27B8 LOAD.S.alt 0x14 ; Buffer[]
  1575. 0x27C0 IDXADDR
  1576. 0x27C4 PUSH.pri
  1577. 0x27C8 LOAD.I
  1578. 0x27CC PUSH.pri
  1579. 0x27D0 ADDR.alt 0xFFFFFC00
  1580. 0x27D8 LOAD.S.pri 0xFFFFFBF4 ; j
  1581. 0x27E0 BOUNDS 0xFF
  1582. 0x27E8 LIDX
  1583. 0x27EC POP.alt
  1584. 0x27F0 XOR
  1585. 0x27F4 POP.alt
  1586. 0x27F8 STOR.I
  1587. 0x27FC JUMP 0x2608
  1588. 0x2804 STACK 0x414 ; free 261 cells
  1589. 0x280C ZERO.pri
  1590. 0x2810 RETN
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement