Advertisement
dorin98

Untitled

Jan 11th, 2019
300
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. BITS 32
  2. extern print_line
  3. global mystery1:function
  4. global mystery2:function
  5. global mystery3:function
  6. global mystery4:function
  7. global mystery6:function
  8. global mystery7:function
  9. global mystery8:function
  10. global mystery9:function
  11.  
  12. section .text
  13.  
  14. mystery1:
  15. push   ebp
  16. mov    ebp,esp
  17. push   ebx
  18. mov    edi,DWORD [ebp+0x8]
  19. xor    eax,eax
  20. xor    ebx,ebx
  21.  
  22. mystery1_l1:
  23. mov    bl,BYTE [edi]
  24. test   ebx,ebx
  25. je     mystery1_l2
  26. inc    eax
  27. inc    edi
  28. jmp    mystery1_l1
  29.  
  30. mystery1_l2:
  31. pop    ebx
  32. leave  
  33. ret
  34.  
  35. mystery2:
  36. push   ebp
  37. mov    ebp,esp
  38. mov    edx,DWORD [ebp+0x8]
  39. push   edx
  40. call   mystery1
  41. add    esp,0x4
  42. mov    ecx,eax
  43. xor    eax,eax
  44. mov    edi,DWORD [ebp+0x8]
  45. mov    dl,BYTE [ebp+0xc]
  46.  
  47. mystery2_l1:
  48. mov    bl,BYTE [edi]
  49. cmp    bl,dl
  50. je     mystery2_l2
  51. inc    eax
  52. inc    edi
  53. jmp    mystery2_l1
  54.  
  55. mystery2_l2:
  56. cmp    ecx,0x0
  57. jne    mystery2_l3
  58. mov    eax,0xffffffff
  59.  
  60. mystery2_l3:
  61. leave  
  62. ret  
  63.  
  64. mystery3:
  65. push   ebp
  66. mov    ebp,esp
  67. mov    ebx,DWORD [ebp+0x8]
  68. mov    edx,DWORD [ebp+0xc]
  69. mov    ecx,DWORD [ebp+0x10]
  70.  
  71. mystery3_l1:
  72. mov    al,BYTE [ebx]
  73. mov    ah,BYTE [edx]
  74. cmp    al,ah
  75. jne    mystery3_l2
  76. inc    ebx
  77. inc    edx
  78. loop   mystery3_l1
  79. xor    eax,eax
  80. jmp    mystery3_l3
  81.  
  82. mystery3_l2:
  83. mov    eax,0x1
  84.  
  85. mystery3_l3:
  86. leave  
  87. ret
  88.  
  89. mystery4:
  90. push   ebp
  91. mov    ebp,esp
  92. push   ebx
  93. mov    eax,DWORD [ebp+0x8]
  94. mov    ebx,DWORD [ebp+0xc]
  95. mov    ecx,DWORD [ebp+0x10]
  96.  
  97. mystery4_l1:
  98. mov    dl,BYTE [ebx]
  99. mov    BYTE [eax],dl
  100. inc    eax
  101. inc    ebx
  102. loop   mystery4_l1
  103. pop    ebx
  104. leave
  105. ret    
  106.  
  107. mystery5:
  108. push   ebp
  109. mov    ebp,esp
  110. mov    eax,DWORD [ebp+0x8]
  111. cmp    al,0x30
  112. jl     mystery5_l1
  113. cmp    al,0x39
  114. jg     mystery5_l1
  115. mov    eax,0x1
  116. jmp    mystery5_l2
  117.  
  118. mystery5_l1:
  119. mov    eax,0x0
  120.  
  121. mystery5_l2:
  122. leave  
  123. ret    
  124.  
  125.  
  126.  
  127. ;mystery6:
  128.   ; not used even once
  129.  
  130. mystery6:
  131. push   ebp
  132. mov    ebp,esp
  133. mov    edi,DWORD [ebp+0x8]
  134. push   edi
  135. call   mystery1
  136. add    esp,0x4
  137. mov    edi,DWORD [ebp+0x8]
  138. mov    ecx,eax
  139. sub    esp,eax
  140. mov    ebx,ebp
  141. sub    ebx,eax
  142.  
  143. mystery6_l1:
  144. mov    dl,BYTE [edi+ecx*1-0x1]
  145. mov    BYTE [ebx],dl
  146. inc    ebx
  147. loop   mystery6_l1
  148. push   eax
  149. mov    ebx,ebp
  150. sub    ebx,eax
  151. push   ebx
  152. push   edi
  153. call   mystery4
  154. add    esp,0xc
  155. leave  
  156. ret  
  157.  
  158. mystery7:
  159.  push   ebp
  160.  mov    ebp,esp
  161.  xor    edx,edx
  162.  xor    ebx,ebx
  163.  mov    eax,DWORD [ebp+0x8]
  164.  sub    esp,0x4
  165.  mov    DWORD [ebp-0x4],0x0
  166.  push   eax
  167.  call   mystery1
  168.  add    esp,0x4
  169.  mov    ecx,eax
  170.  push   eax
  171.  push   ebx
  172.  push   ecx
  173.  push   edx
  174.  push   edi
  175.  mov    esi,DWORD [ebp+0x8]
  176.  push   esi
  177.  call   mystery6
  178.  add    esp,0x4
  179.  pop    edi
  180.  pop    edx
  181.  pop    ecx
  182.  pop    ebx
  183.  pop    eax
  184.  
  185. mystery7_l1:
  186. mov    bl,BYTE [esi+ecx*1-0x1]
  187. push   ebx
  188. push   ebx
  189. call   mystery5
  190. add    esp,0x4
  191. cmp    eax,0x0
  192. je     mystery7_l3
  193. pop    ebx
  194. sub    bl,0x30
  195. push   ebx
  196. mov    ebx,0xa
  197. mov    eax,DWORD [ebp-0x4]
  198. mul    ebx
  199. pop    ebx
  200. add    eax,ebx
  201. mov    DWORD [ebp-0x4],eax
  202. loop   mystery7_l1
  203. jmp    mystery7_l2
  204.  
  205. mystery7_l3:
  206. mov    eax,0xffffffff
  207. add    esp,0x4
  208.  
  209. mystery7_l2:
  210. leave  
  211. ret    
  212.  
  213. mystery8:
  214. push   ebp
  215. mov    ebp,esp
  216. sub    esp,0x10
  217. mov    DWORD [ebp-0x4],0x0
  218. mov    DWORD [ebp-0x8],0x0
  219.  
  220. mystery8_l1:
  221. mov    eax,DWORD [ebp-0x8]
  222. cmp    eax,DWORD [ebp+0x10]
  223. jae    mystery8_l2
  224. mov    edx,DWORD [ebp+0x8]
  225. mov    eax,DWORD [ebp-0x4]
  226. add    eax,edx
  227. mov    al,BYTE [eax]
  228. cmp    al,0xa
  229. je     mystery8_l2
  230. mov    edx,DWORD [ebp+0x8]
  231. mov    eax,DWORD [ebp-0x4]
  232. add    eax,edx
  233. mov    al,BYTE [eax]
  234. test   al,al
  235. je     mystery8_l2
  236. mov    edx,DWORD [ebp+0x8]
  237. mov    eax,DWORD [ebp-0x4]
  238. add    eax,edx
  239. mov    dl,BYTE [eax]
  240. mov    ecx,DWORD [ebp+0xc]
  241. mov    eax,DWORD [ebp-0x8]
  242. add    eax,ecx
  243. mov    al,BYTE [eax]
  244. cmp    dl,al
  245. je     mystery8_l3
  246. mov    DWORD [ebp-0x8],0x0
  247. jmp    mystery8_l4
  248.  
  249. mystery8_l3:
  250. add    DWORD [ebp-0x8],0x1
  251.  
  252. mystery8_l4:
  253. mov    eax,DWORD [ebp-0x8]
  254. cmp    eax,DWORD [ebp+0x10]
  255. jne    mystery8_l5
  256. mov    eax,0x1
  257. jmp    mystery8_l6
  258.  
  259. mystery8_l5:
  260. add    DWORD [ebp-0x4],0x1
  261. jmp    mystery8_l1
  262.  
  263. mystery8_l2:
  264. mov    eax,0x0
  265.  
  266. mystery8_l6:
  267. leave  
  268. ret
  269.    
  270. mystery9:
  271. push   ebp
  272. mov    ebp,esp
  273. sub    esp,0x18
  274. mov    DWORD [ebp-0xc],0x0
  275. mov    eax,DWORD [ebp+0xc]
  276. mov    DWORD [ebp-0x10],eax
  277. push   DWORD [ebp+0x14]
  278. call   mystery1
  279. add    esp,0x4
  280. mov    DWORD [ebp-0x14],eax
  281. mov    eax,DWORD [ebp+0xc]
  282. mov    DWORD [ebp-0xc],eax
  283.  
  284. mystery9_l1:
  285. mov    eax,DWORD [ebp-0xc]
  286. cmp    eax,DWORD [ebp+0x10]
  287. jae    mystery9_l2
  288. mov    edx,DWORD [ebp+0x8]
  289. mov    eax,DWORD [ebp-0xc]
  290. add    eax,edx
  291. mov    al,BYTE [eax]
  292. cmp    al,0xa
  293. jne    mystery9_l3
  294. mov    edx,DWORD [ebp+0x8]
  295. mov    eax,DWORD [ebp-0x10]
  296. add    eax,edx
  297. push   DWORD [ebp-0x14]
  298. push   DWORD [ebp+0x14]
  299. push   eax
  300. call   mystery8
  301. add    esp,0xc
  302. test   eax,eax
  303. setne  al
  304. test   al,al
  305. je     mystery9_l4 ; aux4=aux3++
  306. mov    edx,DWORD [ebp+0x8]
  307. mov    eax,DWORD [ebp-0x10]
  308. add    eax,edx
  309. sub    esp,0xc
  310. push   eax
  311. call   print_line
  312. add    esp,0x10
  313.  
  314. mystery9_l4:
  315. mov    eax,DWORD [ebp-0xc] ;aux4=aux3++
  316. add    eax,0x1
  317. mov    DWORD [ebp-0x10],eax
  318.  
  319. mystery9_l3:
  320. add    DWORD [ebp-0xc],0x1 ; aux3++
  321. jmp    mystery9_l1
  322.  
  323. mystery9_l2:
  324. leave  
  325. ret
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement