Ralle1976

Print Out GWAPI ASM / OPCode

Nov 7th, 2019
864
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. pushad  |   60
  2. mov eax,dword[EnsureEnglish]    |   A1[EnsureEnglish]
  3. test eax,eax    |   85C0
  4. jz MainMain |   74(MainMain)
  5. mov ecx,dword[BasePointer]  |   8B0D[BasePointer]
  6. mov ecx,dword[ecx+18]   |   8B4918
  7. mov ecx,dword[ecx+18]   |   8B4918
  8. mov ecx,dword[ecx+194]  |   8B8994010000
  9. mov al,byte[ecx+4f] |   8A414F
  10. cmp al,f    |   3C0F
  11. ja MainMain |   77(MainMain)
  12. mov ecx,dword[ecx+4c]   |   8B494C
  13. mov al,byte[ecx+3f] |   8A413F
  14. cmp al,f    |   3C0F
  15. ja MainMain |   77(MainMain)
  16. mov eax,dword[ecx+40]   |   8B4140
  17. test eax,eax    |   85C0
  18. jz MainMain |   74(MainMain)
  19. mov ecx,dword[ActionBase]   |   8B0D[ActionBase]
  20. mov ecx,dword[ecx+170]  |   8B8970010000
  21. mov ecx,dword[ecx+20]   |   8B4920
  22. mov ecx,dword[ecx]  |   8B09
  23. push 0  |   6A00
  24. push 0  |   6A00
  25. push bb |   68BB000000
  26. mov edx,esp |   8BD4
  27. push 0  |   6A00
  28. push edx    |   52
  29. push 18 |   6A18
  30. call ActionFunction |   E8{ActionFunction}
  31. pop eax |   58
  32. pop ebx |   5B
  33. pop ecx |   59
  34. mov eax,dword[QueueCounter] |   A1[QueueCounter]
  35. mov ecx,eax |   8BC8
  36. shl eax,8   |   C1E008
  37. add eax,QueueBase   |   05[QueueBase]
  38. mov ebx,dword[eax]  |   8B18
  39. test ebx,ebx    |   85DB
  40. jz MainExit |   74(MainExit)
  41. push ecx    |   51
  42. mov dword[eax],0    |   C70000000000
  43. jmp ebx |   FFE3
  44. pop eax |   58
  45. inc eax |   40
  46. cmp eax,QueueSize   |   3D[QueueSize]
  47. jnz MainSkipReset   |   75(MainSkipReset)
  48. xor eax,eax |   33C0
  49. mov dword[QueueCounter],eax |   A3[QueueCounter]
  50. popad   |   61
  51. mov ebp,esp |   8BEC
  52. sub esp,14  |   83EC14
  53. ljmp MainReturn |   E9{MainReturn}
  54. cmp ecx,4   |   83F904
  55. jz TargetLogMain    |   74(TargetLogMain)
  56. cmp ecx,32  |   83F932
  57. jz TargetLogMain    |   74(TargetLogMain)
  58. cmp ecx,3C  |   83F93C
  59. jz TargetLogMain    |   74(TargetLogMain)
  60. jmp TargetLogExit   |   EB(TargetLogExit)
  61. pushad  |   60
  62. mov ecx,dword[ebp+8]    |   3E8B4D08
  63. test ecx,ecx    |   85C9
  64. jnz TargetLogStore  |   75(TargetLogStore)
  65. mov ecx,edx |   8BCA
  66. lea eax,dword[edx*4+TargetLogBase]  |   8D0495[TargetLogBase]
  67. mov dword[eax],ecx  |   8908
  68. popad   |   61
  69. push ebx    |   53
  70. push esi    |   56
  71. push edi    |   57
  72. mov edi,edx |   8BFA
  73. ljmp TargetLogReturn    |   E9{TargetLogReturn}
  74. pushad  |   60
  75. mov eax,dword[SkillLogCounter]  |   A1[SkillLogCounter]
  76. push eax    |   50
  77. shl eax,4   |   C1E004
  78. add eax,SkillLogBase    |   05[SkillLogBase]
  79. mov ecx,dword[edi]  |   8B0F
  80. mov dword[eax],ecx  |   8908
  81. mov ecx,dword[ecx*4+TargetLogBase]  |   8B0C8D[TargetLogBase]
  82. mov dword[eax+4],ecx    |   894804
  83. mov ecx,dword[edi+4]    |   8B4F04
  84. mov dword[eax+8],ecx    |   894808
  85. mov ecx,dword[edi+8]    |   8B4F08
  86. mov dword[eax+c],ecx    |   89480C
  87. push 1  |   6A01
  88. push eax    |   50
  89. push CallbackEvent  |   68[CallbackEvent]
  90. push dword[CallbackHandle]  |   FF35[CallbackHandle]
  91. call dword[PostMessage] |   FF15[PostMessage]
  92. pop eax |   58
  93. inc eax |   40
  94. cmp eax,SkillLogSize    |   3D[SkillLogSize]
  95. jnz SkillLogSkipReset   |   75(SkillLogSkipReset)
  96. xor eax,eax |   33C0
  97. mov dword[SkillLogCounter],eax  |   A3[SkillLogCounter]
  98. popad   |   61
  99. inc eax |   40
  100. mov dword[esi+10],eax   |   894610
  101. pop esi |   5E
  102. ljmp SkillLogReturn |   E9{SkillLogReturn}
  103. pushad  |   60
  104. mov eax,dword[SkillLogCounter]  |   A1[SkillLogCounter]
  105. push eax    |   50
  106. shl eax,4   |   C1E004
  107. add eax,SkillLogBase    |   05[SkillLogBase]
  108. mov ecx,dword[edi]  |   8B0F
  109. mov dword[eax],ecx  |   8908
  110. mov ecx,dword[ecx*4+TargetLogBase]  |   8B0C8D[TargetLogBase]
  111. mov dword[eax+4],ecx    |   894804
  112. mov ecx,dword[edi+4]    |   8B4F04
  113. mov dword[eax+8],ecx    |   894808
  114. push 2  |   6A02
  115. push eax    |   50
  116. push CallbackEvent  |   68[CallbackEvent]
  117. push dword[CallbackHandle]  |   FF35[CallbackHandle]
  118. call dword[PostMessage] |   FF15[PostMessage]
  119. pop eax |   58
  120. inc eax |   40
  121. cmp eax,SkillLogSize    |   3D[SkillLogSize]
  122. jnz SkillCancelLogSkipReset |   75(SkillCancelLogSkipReset)
  123. xor eax,eax |   33C0
  124. mov dword[SkillLogCounter],eax  |   A3[SkillLogCounter]
  125. popad   |   61
  126. push 0  |   6A00
  127. push 48 |   6A48
  128. mov ecx,esi |   8BCE
  129. ljmp SkillCancelLogReturn   |   E9{SkillCancelLogReturn}
  130. pushad  |   60
  131. mov eax,dword[SkillLogCounter]  |   A1[SkillLogCounter]
  132. push eax    |   50
  133. shl eax,4   |   C1E004
  134. add eax,SkillLogBase    |   05[SkillLogBase]
  135. mov ecx,dword[edi]  |   8B0F
  136. mov dword[eax],ecx  |   8908
  137. mov ecx,dword[ecx*4+TargetLogBase]  |   8B0C8D[TargetLogBase]
  138. mov dword[eax+4],ecx    |   894804
  139. mov ecx,dword[edi+4]    |   8B4F04
  140. mov dword[eax+8],ecx    |   894808
  141. push 3  |   6A03
  142. push eax    |   50
  143. push CallbackEvent  |   68[CallbackEvent]
  144. push dword[CallbackHandle]  |   FF35[CallbackHandle]
  145. call dword[PostMessage] |   FF15[PostMessage]
  146. pop eax |   58
  147. inc eax |   40
  148. cmp eax,SkillLogSize    |   3D[SkillLogSize]
  149. jnz SkillCompleteLogSkipReset   |   75(SkillCompleteLogSkipReset)
  150. xor eax,eax |   33C0
  151. mov dword[SkillLogCounter],eax  |   A3[SkillLogCounter]
  152. popad   |   61
  153. mov eax,dword[edi+4]    |   8B4704
  154. test eax,eax    |   85C0
  155. ljmp SkillCompleteLogReturn |   E9{SkillCompleteLogReturn}
  156. pushad  |   60
  157. mov ecx,dword[ebx]  |   8B0B
  158. mov ebx,eax |   8BD8
  159. mov eax,dword[ChatLogCounter]   |   A1[ChatLogCounter]
  160. push eax    |   50
  161. shl eax,9   |   C1E009
  162. add eax,ChatLogBase |   05[ChatLogBase]
  163. mov dword[eax],ebx  |   8918
  164. mov edi,eax |   8BF8
  165. add eax,4   |   83C004
  166. xor ebx,ebx |   33DB
  167. mov dx,word[ecx]    |   668B11
  168. mov word[eax],dx    |   668910
  169. add ecx,2   |   83C102
  170. add eax,2   |   83C002
  171. inc ebx |   43
  172. cmp ebx,FF  |   81FBFF000000
  173. jz ChatLogCopyExit  |   74(ChatLogCopyExit)
  174. test dx,dx  |   6685D2
  175. jnz ChatLogCopyLoop |   75(ChatLogCopyLoop)
  176. push 4  |   6A04
  177. push edi    |   57
  178. push CallbackEvent  |   68[CallbackEvent]
  179. push dword[CallbackHandle]  |   FF35[CallbackHandle]
  180. call dword[PostMessage] |   FF15[PostMessage]
  181. pop eax |   58
  182. inc eax |   40
  183. cmp eax,ChatLogSize |   3D[ChatLogSize]
  184. jnz ChatLogSkipReset    |   75(ChatLogSkipReset)
  185. xor eax,eax |   33C0
  186. mov dword[ChatLogCounter],eax   |   A3[ChatLogCounter]
  187. popad   |   61
  188. add edi,E   |   83C70E
  189. cmp eax,B   |   83F80B
  190. ljmp ChatLogReturn  |   E9{ChatLogReturn}
  191. mov dword[TraderCostID],ecx |   890D[TraderCostID]
  192. mov dword[TraderCostValue],edx  |   8915[TraderCostValue]
  193. push eax    |   50
  194. mov eax,dword[TraderQuoteID]    |   A1[TraderQuoteID]
  195. inc eax |   40
  196. cmp eax,200 |   81F800020000
  197. jnz TraderSkipReset |   75(TraderSkipReset)
  198. xor eax,eax |   33C0
  199. mov dword[TraderQuoteID],eax    |   A3[TraderQuoteID]
  200. pop eax |   58
  201. mov ebp,esp |   8BEC
  202. sub esp,8   |   83EC08
  203. ljmp TraderHookReturn   |   E9{TraderHookReturn}
  204. pushad  |   60
  205. mov eax,1   |   B801000000
  206. mov dword[MapIsLoaded],eax  |   A3[MapIsLoaded]
  207. xor ebx,ebx |   33DB
  208. mov eax,StringLogBase   |   B8[StringLogBase]
  209. mov dword[eax],0    |   C70000000000
  210. inc ebx |   43
  211. add eax,100 |   0500010000
  212. cmp ebx,StringLogSize   |   81FB[StringLogSize]
  213. jnz LoadClearStringsLoop    |   75(LoadClearStringsLoop)
  214. xor ebx,ebx |   33DB
  215. mov eax,TargetLogBase   |   B8[TargetLogBase]
  216. mov dword[eax],0    |   C70000000000
  217. inc ebx |   43
  218. add eax,4   |   83C004
  219. cmp ebx,TargetLogSize   |   81FB[TargetLogSize]
  220. jnz LoadClearTargetsLoop    |   75(LoadClearTargetsLoop)
  221. push 5  |   6A05
  222. push 0  |   6A00
  223. push CallbackEvent  |   68[CallbackEvent]
  224. push dword[CallbackHandle]  |   FF35[CallbackHandle]
  225. call dword[PostMessage] |   FF15[PostMessage]
  226. popad   |   61
  227. mov edx,dword[esi+1C]   |   8B561C
  228. mov ecx,edi |   8BCF
  229. ljmp LoadFinishedReturn |   E9{LoadFinishedReturn}
  230. pushad  |   60
  231. mov eax,dword[NextStringType]   |   A1[NextStringType]
  232. test eax,eax    |   85C0
  233. jz StringLogExit    |   74(StringLogExit)
  234. cmp eax,1   |   83F801
  235. jnz StringLogFilter2    |   75(StringLogFilter2)
  236. mov eax,dword[ebp+37c]  |   3E8B857C030000
  237. jmp StringLogRangeCheck |   EB(StringLogRangeCheck)
  238. cmp eax,2   |   83F802
  239. jnz StringLogExit   |   75(StringLogExit)
  240. mov eax,dword[ebp+338]  |   3E8B8538030000
  241. mov dword[NextStringType],0 |   C705[NextStringType]00000000
  242. cmp eax,0   |   83F800
  243. jbe StringLogExit   |   76(StringLogExit)
  244. cmp eax,StringLogSize   |   3D[StringLogSize]
  245. jae StringLogExit   |   73(StringLogExit)
  246. shl eax,8   |   C1E008
  247. add eax,StringLogBase   |   05[StringLogBase]
  248. xor ebx,ebx |   33DB
  249. mov dx,word[ecx]    |   668B11
  250. mov word[eax],dx    |   668910
  251. add ecx,2   |   83C102
  252. add eax,2   |   83C002
  253. inc ebx |   43
  254. cmp ebx,80  |   81FB80000000
  255. jz StringLogExit    |   74(StringLogExit)
  256. test dx,dx  |   6685D2
  257. jnz StringLogCopyLoop   |   75(StringLogCopyLoop)
  258. popad   |   61
  259. mov esp,ebp |   8BE5
  260. pop ebp |   5D
  261. retn 10 |   C21000
  262. mov dword[NextStringType],1 |   C705[NextStringType]01000000
  263. push ebp    |   55
  264. mov ebp,esp |   8BEC
  265. push ecx    |   51
  266. push esi    |   56
  267. ljmp StringFilter1Return    |   E9{StringFilter1Return}
  268. mov dword[NextStringType],2 |   C705[NextStringType]02000000
  269. push ebp    |   55
  270. mov ebp,esp |   8BEC
  271. push ecx    |   51
  272. push esi    |   56
  273. ljmp StringFilter2Return    |   E9{StringFilter2Return}
  274. cmp dword[DisableRendering],1   |   833D[DisableRendering]01
  275. jz RenderingModSkipCompare  |   74(RenderingModSkipCompare)
  276. cmp eax,ebx |   39D8
  277. ljne RenderingModReturn |   0F85{RenderingModReturn}
  278. CreateRenderingMod  |   0405788FA3005E5BD91D708FA3008BE55D
  279. cmp dword[DisableRendering],1   |   833D[DisableRendering]01
  280. jz DisableRenderingProc |   74(DisableRenderingProc)
  281. retn    |   C3
  282. push 1  |   6A01
  283. call dword[Sleep]   |   FF15[Sleep]
  284. retn    |   C3
  285. mov ecx,dword[PacketLocation]   |   8B0D[PacketLocation]
  286. lea edx,dword[eax+8]    |   8D5008
  287. push edx    |   52
  288. mov edx,dword[eax+4]    |   8B5004
  289. mov eax,ecx |   8BC1
  290. call PacketSendFunction |   E8{PacketSendFunction}
  291. ljmp CommandReturn  |   E9{CommandReturn}
  292. mov ecx,dword[ActionBase]   |   8B0D[ActionBase]
  293. mov ecx,dword[ecx+250]  |   8B8950020000
  294. mov ecx,dword[ecx+10]   |   8B4910
  295. mov ecx,dword[ecx]  |   8B09
  296. push 0  |   6A00
  297. push 0  |   6A00
  298. push dword[eax+4]   |   FF7004
  299. mov edx,esp |   8BD4
  300. push 0  |   6A00
  301. push edx    |   52
  302. push dword[eax+8]   |   FF7008
  303. call ActionFunction |   E8{ActionFunction}
  304. pop eax |   58
  305. pop ebx |   5B
  306. pop ecx |   59
  307. ljmp CommandReturn  |   E9{CommandReturn}
  308. mov ecx,dword[MyID] |   8B0D[MyID]
  309. mov edx,dword[eax+C]    |   8B500C
  310. push edx    |   52
  311. mov edx,dword[eax+4]    |   8B5004
  312. dec edx |   4A
  313. push dword[eax+8]   |   FF7008
  314. call UseSkillFunction   |   E8{UseSkillFunction}
  315. ljmp CommandReturn  |   E9{CommandReturn}
  316. lea ecx,dword[eax+4]    |   8D4804
  317. call MoveFunction   |   E8{MoveFunction}
  318. ljmp CommandReturn  |   E9{CommandReturn}
  319. mov ecx,dword[eax+4]    |   8B4804
  320. xor edx,edx |   33D2
  321. call ChangeTargetFunction   |   E8{ChangeTargetFunction}
  322. ljmp CommandReturn  |   E9{CommandReturn}
  323. mov ecx,dword[ActionBase]   |   8B0D[ActionBase]
  324. mov ecx,dword[ecx+170]  |   8B8970010000
  325. mov ecx,dword[ecx+20]   |   8B4920
  326. mov ecx,dword[ecx]  |   8B09
  327. push 0  |   6A00
  328. push 0  |   6A00
  329. push bb |   68BB000000
  330. mov edx,esp |   8BD4
  331. push 0  |   6A00
  332. push edx    |   52
  333. push dword[eax+4]   |   FF7004
  334. call ActionFunction |   E8{ActionFunction}
  335. pop eax |   58
  336. pop ebx |   5B
  337. pop ecx |   59
  338. ljmp CommandReturn  |   E9{CommandReturn}
  339. mov ecx,dword[eax+4]    |   8B4804
  340. mov edx,dword[eax+c]    |   8B500C
  341. mov eax,dword[eax+8]    |   8B4008
  342. push eax    |   50
  343. call UseHeroSkillFunction   |   E8{UseHeroSkillFunction}
  344. ljmp CommandReturn  |   E9{CommandReturn}
  345. add eax,4   |   83C004
  346. mov ecx,eax |   8BC8
  347. call UpdateAgentPositionFunction    |   E8{UpdateAgentPositionFunction}
  348. ljmp CommandReturn  |   E9{CommandReturn}
  349. mov ecx,dword[eax+4]    |   8B4804
  350. mov edx,dword[eax+8]    |   8B5008
  351. call GoNpcFunction  |   E8{GoNpcFunction}
  352. ljmp CommandReturn  |   E9{CommandReturn}
  353. add eax,4   |   83C004
  354. push eax    |   50
  355. add eax,4   |   83C004
  356. push eax    |   50
  357. push 1  |   6A01
  358. push 0  |   6A00
  359. push 0  |   6A00
  360. push 0  |   6A00
  361. push 0  |   6A00
  362. mov ecx,1   |   B901000000
  363. mov edx,dword[eax+4]    |   8B5004
  364. call BuyItemFunction    |   E8{BuyItemFunction}
  365. ljmp CommandReturn  |   E9{CommandReturn}
  366. push 0  |   6A00
  367. push 0  |   6A00
  368. push 0  |   6A00
  369. push dword[eax+4]   |   FF7004
  370. push 0  |   6A00
  371. add eax,8   |   83C008
  372. push eax    |   50
  373. push 1  |   6A01
  374. mov ecx,b   |   B90B000000
  375. mov ebx,1   |   BB01000000
  376. xor edx,edx |   33D2
  377. call SellItemFunction   |   E8{SellItemFunction}
  378. ljmp CommandReturn  |   E9{CommandReturn}
  379. mov ecx,eax |   8BC8
  380. call StorageFunction    |   E8{StorageFunction}
  381. ljmp CommandReturn  |   E9{CommandReturn}
  382. mov ebx,SalvageGlobal   |   BB[SalvageGlobal]
  383. mov ecx,dword[eax+4]    |   8B4804
  384. mov dword[ebx],ecx  |   890B
  385. push ecx    |   51
  386. mov ecx,dword[eax+8]    |   8B4808
  387. add ebx,4   |   83C304
  388. mov dword[ebx],ecx  |   890B
  389. mov edx,dword[eax+c]    |   8B500C
  390. mov dword[ebx],ecx  |   890B
  391. call SalvageFunction    |   E8{SalvageFunction}
  392. ljmp CommandReturn  |   E9{CommandReturn}
  393. push 0  |   6A00
  394. push TraderCostID   |   68[TraderCostID]
  395. push 1  |   6A01
  396. push 0  |   6A00
  397. push 0  |   6A00
  398. push 0  |   6A00
  399. push 0  |   6A00
  400. mov ecx,c   |   B90C000000
  401. mov edx,dword[TraderCostValue]  |   8B15[TraderCostValue]
  402. call TraderFunction |   E8{TraderFunction}
  403. mov dword[TraderCostID],0   |   C705[TraderCostID]00000000
  404. mov dword[TraderCostValue],0    |   C705[TraderCostValue]00000000
  405. ljmp CommandReturn  |   E9{CommandReturn}
  406. push 0  |   6A00
  407. push 0  |   6A00
  408. push 0  |   6A00
  409. push dword[TraderCostValue] |   FF35[TraderCostValue]
  410. push 0  |   6A00
  411. push TraderCostID   |   68[TraderCostID]
  412. push 1  |   6A01
  413. mov ecx,d   |   B90D000000
  414. xor edx,edx |   33D2
  415. call TraderFunction |   E8{TraderFunction}
  416. mov dword[TraderCostID],0   |   C705[TraderCostID]00000000
  417. mov dword[TraderCostValue],0    |   C705[TraderCostValue]00000000
  418. ljmp CommandReturn  |   E9{CommandReturn}
  419. mov dword[TraderCostID],0   |   C705[TraderCostID]00000000
  420. mov dword[TraderCostValue],0    |   C705[TraderCostValue]00000000
  421. add eax,4   |   83C004
  422. push eax    |   50
  423. push 1  |   6A01
  424. push 0  |   6A00
  425. push 0  |   6A00
  426. push 0  |   6A00
  427. push 0  |   6A00
  428. mov ecx,c   |   B90C000000
  429. xor edx,edx |   33D2
  430. call RequestQuoteFunction   |   E8{RequestQuoteFunction}
  431. ljmp CommandReturn  |   E9{CommandReturn}
  432. mov dword[TraderCostID],0   |   C705[TraderCostID]00000000
  433. mov dword[TraderCostValue],0    |   C705[TraderCostValue]00000000
  434. push 0  |   6A00
  435. push 0  |   6A00
  436. push 0  |   6A00
  437. add eax,4   |   83C004
  438. push eax    |   50
  439. push 1  |   6A01
  440. push 0  |   6A00
  441. mov ecx,d   |   B90D000000
  442. xor edx,edx |   33D2
  443. call RequestQuoteFunction   |   E8{RequestQuoteFunction}
  444. ljmp CommandReturn  |   E9{CommandReturn}
  445. mov ecx,dword[PacketLocation]   |   8B0D[PacketLocation]
  446. add eax,4   |   83C004
  447. push eax    |   50
  448. mov edx,11c |   BA1C010000
  449. mov eax,ecx |   8BC1
  450. call PacketSendFunction |   E8{PacketSendFunction}
  451. ljmp CommandReturn  |   E9{CommandReturn}
  452. add eax,4   |   83C004
  453. mov edx,eax |   8BD0
  454. xor ecx,ecx |   33C9
  455. add eax,28  |   83C028
  456. push eax    |   50
  457. call WriteChatFunction  |   E8{WriteChatFunction}
  458. ljmp CommandReturn  |   E9{CommandReturn}
Advertisement