BonziBuddy Leaked Source Code by NixButterPlay
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1075 lines
34 KiB

  1. VERSION 1.0 CLASS
  2. BEGIN
  3. MultiUse = -1 'True
  4. Persistable = 0 'NotPersistable
  5. DataBindingBehavior = 0 'vbNone
  6. DataSourceBehavior = 0 'vbNone
  7. MTSTransactionMode = 0 'NotAnMTSObject
  8. END
  9. Attribute VB_Name = "CMemoryDC"
  10. Attribute VB_GlobalNameSpace = False
  11. Attribute VB_Creatable = True
  12. Attribute VB_PredeclaredId = False
  13. Attribute VB_Exposed = False
  14. Private Type UDT_1_0043CAB4
  15. bStruc(16) As Byte ' String fields: 0
  16. End Type
  17. Private Type UDT_2_0043CAC0
  18. bStruc(8) As Byte ' String fields: 0
  19. End Type
  20. Public Property Get BackColor(Index As Integer) '5FB9F0
  21. loc_005FB9F0: push ebp
  22. loc_005FB9F1: mov ebp, esp
  23. loc_005FB9F3: sub esp, 0000000Ch
  24. loc_005FB9F6: push 00412856h ; __vbaExceptHandler
  25. loc_005FB9FB: mov eax, fs:[00000000h]
  26. loc_005FBA01: push eax
  27. loc_005FBA02: mov fs:[00000000h], esp
  28. loc_005FBA09: sub esp, 00000010h
  29. loc_005FBA0C: push ebx
  30. loc_005FBA0D: push esi
  31. loc_005FBA0E: push edi
  32. loc_005FBA0F: mov var_C, esp
  33. loc_005FBA12: mov var_8, 00403E70h
  34. loc_005FBA19: xor edi, edi
  35. loc_005FBA1B: mov var_4, edi
  36. loc_005FBA1E: mov esi, Me
  37. loc_005FBA21: push esi
  38. loc_005FBA22: mov eax, [esi]
  39. loc_005FBA24: call [eax+00000004h]
  40. loc_005FBA27: mov ecx, [esi+00000034h]
  41. loc_005FBA2A: mov var_18, edi
  42. loc_005FBA2D: push ecx
  43. loc_005FBA2E: GetBkColor(%x1v)
  44. loc_005FBA33: mov esi, eax
  45. loc_005FBA35: call [004010BCh] ; __vbaSetSystemError
  46. loc_005FBA3B: mov var_18, esi
  47. loc_005FBA3E: mov eax, Me
  48. loc_005FBA41: push eax
  49. loc_005FBA42: mov edx, [eax]
  50. loc_005FBA44: call [edx+00000008h]
  51. loc_005FBA47: mov eax, Index
  52. loc_005FBA4A: mov ecx, var_18
  53. loc_005FBA4D: mov [eax], ecx
  54. loc_005FBA4F: mov eax, var_4
  55. loc_005FBA52: mov ecx, var_14
  56. loc_005FBA55: pop edi
  57. loc_005FBA56: pop esi
  58. loc_005FBA57: mov fs:[00000000h], ecx
  59. loc_005FBA5E: pop ebx
  60. loc_005FBA5F: mov esp, ebp
  61. loc_005FBA61: pop ebp
  62. loc_005FBA62: retn 0008h
  63. End Sub
  64. Public Property Let BackColor(rgbNew) '5FBA70
  65. loc_005FBA70: push ebp
  66. loc_005FBA71: mov ebp, esp
  67. loc_005FBA73: sub esp, 0000000Ch
  68. loc_005FBA76: push 00412856h ; __vbaExceptHandler
  69. loc_005FBA7B: mov eax, fs:[00000000h]
  70. loc_005FBA81: push eax
  71. loc_005FBA82: mov fs:[00000000h], esp
  72. loc_005FBA89: sub esp, 00000008h
  73. loc_005FBA8C: push ebx
  74. loc_005FBA8D: push esi
  75. loc_005FBA8E: push edi
  76. loc_005FBA8F: mov var_C, esp
  77. loc_005FBA92: mov var_8, 00403E78h
  78. loc_005FBA99: mov var_4, 00000000h
  79. loc_005FBAA0: mov esi, Me
  80. loc_005FBAA3: push esi
  81. loc_005FBAA4: mov eax, [esi]
  82. loc_005FBAA6: call [eax+00000004h]
  83. loc_005FBAA9: mov ecx, rgbNew
  84. loc_005FBAAC: mov eax, [esi+00000034h]
  85. loc_005FBAAF: mov edx, [ecx]
  86. loc_005FBAB1: push edx
  87. loc_005FBAB2: push eax
  88. loc_005FBAB3: SetBkColor(%x1v, %x2v)
  89. loc_005FBAB8: call [004010BCh] ; __vbaSetSystemError
  90. loc_005FBABE: mov eax, Me
  91. loc_005FBAC1: push eax
  92. loc_005FBAC2: mov ecx, [eax]
  93. loc_005FBAC4: call [ecx+00000008h]
  94. loc_005FBAC7: mov eax, var_4
  95. loc_005FBACA: mov ecx, var_14
  96. loc_005FBACD: pop edi
  97. loc_005FBACE: pop esi
  98. loc_005FBACF: mov fs:[00000000h], ecx
  99. loc_005FBAD6: pop ebx
  100. loc_005FBAD7: mov esp, ebp
  101. loc_005FBAD9: pop ebp
  102. loc_005FBADA: retn 0008h
  103. End Sub
  104. Public Property Get TextColor(arg_C) '5FBAE0
  105. loc_005FBAE0: push ebp
  106. loc_005FBAE1: mov ebp, esp
  107. loc_005FBAE3: sub esp, 0000000Ch
  108. loc_005FBAE6: push 00412856h ; __vbaExceptHandler
  109. loc_005FBAEB: mov eax, fs:[00000000h]
  110. loc_005FBAF1: push eax
  111. loc_005FBAF2: mov fs:[00000000h], esp
  112. loc_005FBAF9: sub esp, 00000010h
  113. loc_005FBAFC: push ebx
  114. loc_005FBAFD: push esi
  115. loc_005FBAFE: push edi
  116. loc_005FBAFF: mov var_C, esp
  117. loc_005FBB02: mov var_8, 00403E80h
  118. loc_005FBB09: xor edi, edi
  119. loc_005FBB0B: mov var_4, edi
  120. loc_005FBB0E: mov esi, Me
  121. loc_005FBB11: push esi
  122. loc_005FBB12: mov eax, [esi]
  123. loc_005FBB14: call [eax+00000004h]
  124. loc_005FBB17: mov ecx, [esi+00000034h]
  125. loc_005FBB1A: mov var_18, edi
  126. loc_005FBB1D: push ecx
  127. loc_005FBB1E: GetTextColor(%x1v)
  128. loc_005FBB23: mov esi, eax
  129. loc_005FBB25: call [004010BCh] ; __vbaSetSystemError
  130. loc_005FBB2B: mov var_18, esi
  131. loc_005FBB2E: mov eax, Me
  132. loc_005FBB31: push eax
  133. loc_005FBB32: mov edx, [eax]
  134. loc_005FBB34: call [edx+00000008h]
  135. loc_005FBB37: mov eax, arg_C
  136. loc_005FBB3A: mov ecx, var_18
  137. loc_005FBB3D: mov [eax], ecx
  138. loc_005FBB3F: mov eax, var_4
  139. loc_005FBB42: mov ecx, var_14
  140. loc_005FBB45: pop edi
  141. loc_005FBB46: pop esi
  142. loc_005FBB47: mov fs:[00000000h], ecx
  143. loc_005FBB4E: pop ebx
  144. loc_005FBB4F: mov esp, ebp
  145. loc_005FBB51: pop ebp
  146. loc_005FBB52: retn 0008h
  147. End Sub
  148. Public Property Let TextColor(rgbNew) '5FBB60
  149. loc_005FBB60: push ebp
  150. loc_005FBB61: mov ebp, esp
  151. loc_005FBB63: sub esp, 0000000Ch
  152. loc_005FBB66: push 00412856h ; __vbaExceptHandler
  153. loc_005FBB6B: mov eax, fs:[00000000h]
  154. loc_005FBB71: push eax
  155. loc_005FBB72: mov fs:[00000000h], esp
  156. loc_005FBB79: sub esp, 00000008h
  157. loc_005FBB7C: push ebx
  158. loc_005FBB7D: push esi
  159. loc_005FBB7E: push edi
  160. loc_005FBB7F: mov var_C, esp
  161. loc_005FBB82: mov var_8, 00403E88h
  162. loc_005FBB89: mov var_4, 00000000h
  163. loc_005FBB90: mov esi, Me
  164. loc_005FBB93: push esi
  165. loc_005FBB94: mov eax, [esi]
  166. loc_005FBB96: call [eax+00000004h]
  167. loc_005FBB99: mov ecx, rgbNew
  168. loc_005FBB9C: mov eax, [esi+00000034h]
  169. loc_005FBB9F: mov edx, [ecx]
  170. loc_005FBBA1: push edx
  171. loc_005FBBA2: push eax
  172. loc_005FBBA3: SetTextColor(%x1v, %x2v)
  173. loc_005FBBA8: call [004010BCh] ; __vbaSetSystemError
  174. loc_005FBBAE: mov eax, Me
  175. loc_005FBBB1: push eax
  176. loc_005FBBB2: mov ecx, [eax]
  177. loc_005FBBB4: call [ecx+00000008h]
  178. loc_005FBBB7: mov eax, var_4
  179. loc_005FBBBA: mov ecx, var_14
  180. loc_005FBBBD: pop edi
  181. loc_005FBBBE: pop esi
  182. loc_005FBBBF: mov fs:[00000000h], ecx
  183. loc_005FBBC6: pop ebx
  184. loc_005FBBC7: mov esp, ebp
  185. loc_005FBBC9: pop ebp
  186. loc_005FBBCA: retn 0008h
  187. End Sub
  188. Public Property Get Font(arg_C) '5FBBD0
  189. loc_005FBBD0: push ebp
  190. loc_005FBBD1: mov ebp, esp
  191. loc_005FBBD3: sub esp, 0000000Ch
  192. loc_005FBBD6: push 00412856h ; __vbaExceptHandler
  193. loc_005FBBDB: mov eax, fs:[00000000h]
  194. loc_005FBBE1: push eax
  195. loc_005FBBE2: mov fs:[00000000h], esp
  196. loc_005FBBE9: sub esp, 0000000Ch
  197. loc_005FBBEC: push ebx
  198. loc_005FBBED: push esi
  199. loc_005FBBEE: push edi
  200. loc_005FBBEF: mov var_C, esp
  201. loc_005FBBF2: mov var_8, 00403E90h
  202. loc_005FBBF9: xor edi, edi
  203. loc_005FBBFB: mov var_4, edi
  204. loc_005FBBFE: mov esi, Me
  205. loc_005FBC01: push esi
  206. loc_005FBC02: mov eax, [esi]
  207. loc_005FBC04: call [eax+00000004h]
  208. loc_005FBC07: mov ecx, arg_C
  209. loc_005FBC0A: push 0043DA38h
  210. loc_005FBC0F: mov var_18, edi
  211. loc_005FBC12: mov [ecx], edi
  212. loc_005FBC14: mov edx, [esi+00000040h]
  213. loc_005FBC17: push edx
  214. loc_005FBC18: call [004013C4h] ; __vbaCastObj
  215. loc_005FBC1E: push eax
  216. loc_005FBC1F: lea eax, var_18
  217. loc_005FBC22: push eax
  218. loc_005FBC23: call [00401128h] ; __vbaObjSet
  219. loc_005FBC29: push 005FBC3Bh
  220. loc_005FBC2E: jmp 005FBC3Ah
  221. loc_005FBC30: lea ecx, var_18
  222. loc_005FBC33: call [0040142Ch] ; __vbaFreeObj
  223. loc_005FBC39: ret
  224. loc_005FBC3A: ret
  225. loc_005FBC3B: mov eax, Me
  226. loc_005FBC3E: push eax
  227. loc_005FBC3F: mov ecx, [eax]
  228. loc_005FBC41: call [ecx+00000008h]
  229. loc_005FBC44: mov edx, arg_C
  230. loc_005FBC47: mov eax, var_18
  231. loc_005FBC4A: mov [edx], eax
  232. loc_005FBC4C: mov eax, var_4
  233. loc_005FBC4F: mov ecx, var_14
  234. loc_005FBC52: pop edi
  235. loc_005FBC53: pop esi
  236. loc_005FBC54: mov fs:[00000000h], ecx
  237. loc_005FBC5B: pop ebx
  238. loc_005FBC5C: mov esp, ebp
  239. loc_005FBC5E: pop ebp
  240. loc_005FBC5F: retn 0008h
  241. End Sub
  242. Public Property Set Font(NewFont) '5FBC70
  243. loc_005FBC70: push ebp
  244. loc_005FBC71: mov ebp, esp
  245. loc_005FBC73: sub esp, 0000000Ch
  246. loc_005FBC76: push 00412856h ; __vbaExceptHandler
  247. loc_005FBC7B: mov eax, fs:[00000000h]
  248. loc_005FBC81: push eax
  249. loc_005FBC82: mov fs:[00000000h], esp
  250. loc_005FBC89: sub esp, 00000018h
  251. loc_005FBC8C: push ebx
  252. loc_005FBC8D: push esi
  253. loc_005FBC8E: push edi
  254. loc_005FBC8F: mov var_C, esp
  255. loc_005FBC92: mov var_8, 00403EA0h
  256. loc_005FBC99: xor ebx, ebx
  257. loc_005FBC9B: mov var_4, ebx
  258. loc_005FBC9E: mov edi, Me
  259. loc_005FBCA1: push edi
  260. loc_005FBCA2: mov eax, [edi]
  261. loc_005FBCA4: call [eax+00000004h]
  262. loc_005FBCA7: mov ecx, [edi+00000040h]
  263. loc_005FBCAA: lea esi, [edi+00000040h]
  264. loc_005FBCAD: mov var_18, ebx
  265. loc_005FBCB0: mov var_1C, ebx
  266. loc_005FBCB3: push ebx
  267. loc_005FBCB4: mov ebx, [00401238h] ; __vbaObjIs
  268. loc_005FBCBA: push ecx
  269. loc_005FBCBB: call ebx
  270. loc_005FBCBD: mov edx, NewFont
  271. loc_005FBCC0: push 00447BCCh
  272. loc_005FBCC5: test ax, ax
  273. loc_005FBCC8: mov eax, [edx]
  274. loc_005FBCCA: push eax
  275. loc_005FBCCB: jz 005FBD2Ch
  276. loc_005FBCCD: call [004013C4h] ; __vbaCastObj
  277. loc_005FBCD3: lea ecx, var_18
  278. loc_005FBCD6: push eax
  279. loc_005FBCD7: push ecx
  280. loc_005FBCD8: call [00401128h] ; __vbaObjSet
  281. loc_005FBCDE: push eax
  282. loc_005FBCDF: push esi
  283. loc_005FBCE0: call [00401130h] ; __vbaObjSetAddref
  284. loc_005FBCE6: lea ecx, var_18
  285. loc_005FBCE9: call [0040142Ch] ; __vbaFreeObj
  286. loc_005FBCEF: mov eax, [esi]
  287. loc_005FBCF1: lea ecx, var_1C
  288. loc_005FBCF4: push ecx
  289. loc_005FBCF5: push eax
  290. loc_005FBCF6: mov edx, [eax]
  291. loc_005FBCF8: call [edx+0000004Ch]
  292. loc_005FBCFB: test eax, eax
  293. loc_005FBCFD: fnclex
  294. loc_005FBCFF: jge 005FBD12h
  295. loc_005FBD01: mov edx, [esi]
  296. loc_005FBD03: push 0000004Ch
  297. loc_005FBD05: push 00447BCCh
  298. loc_005FBD0A: push edx
  299. loc_005FBD0B: push eax
  300. loc_005FBD0C: call [004010CCh] ; __vbaHresultCheckObj
  301. loc_005FBD12: mov eax, var_1C
  302. loc_005FBD15: mov ecx, [edi+00000034h]
  303. loc_005FBD18: push eax
  304. loc_005FBD19: push ecx
  305. loc_005FBD1A: SelectObject(%x1v, %x2v)
  306. loc_005FBD1F: mov esi, eax
  307. loc_005FBD21: call [004010BCh] ; __vbaSetSystemError
  308. loc_005FBD27: mov [edi+00000044h], esi
  309. loc_005FBD2A: jmp 005FBD95h
  310. loc_005FBD2C: call [004013C4h] ; __vbaCastObj
  311. loc_005FBD32: lea ecx, var_18
  312. loc_005FBD35: push eax
  313. loc_005FBD36: push ecx
  314. loc_005FBD37: call [00401128h] ; __vbaObjSet
  315. loc_005FBD3D: push eax
  316. loc_005FBD3E: push esi
  317. loc_005FBD3F: call [00401130h] ; __vbaObjSetAddref
  318. loc_005FBD45: lea ecx, var_18
  319. loc_005FBD48: call [0040142Ch] ; __vbaFreeObj
  320. loc_005FBD4E: mov edx, [esi]
  321. loc_005FBD50: push 00000000h
  322. loc_005FBD52: push edx
  323. loc_005FBD53: call ebx
  324. loc_005FBD55: test ax, ax
  325. loc_005FBD58: jz 005FBD5Fh
  326. loc_005FBD5A: mov eax, [edi+00000044h]
  327. loc_005FBD5D: jmp 005FBD85h
  328. loc_005FBD5F: mov eax, [esi]
  329. loc_005FBD61: lea ecx, var_1C
  330. loc_005FBD64: push ecx
  331. loc_005FBD65: push eax
  332. loc_005FBD66: mov edx, [eax]
  333. loc_005FBD68: call [edx+0000004Ch]
  334. loc_005FBD6B: test eax, eax
  335. loc_005FBD6D: fnclex
  336. loc_005FBD6F: jge 005FBD82h
  337. loc_005FBD71: mov edx, [esi]
  338. loc_005FBD73: push 0000004Ch
  339. loc_005FBD75: push 00447BCCh
  340. loc_005FBD7A: push edx
  341. loc_005FBD7B: push eax
  342. loc_005FBD7C: call [004010CCh] ; __vbaHresultCheckObj
  343. loc_005FBD82: mov eax, var_1C
  344. loc_005FBD85: mov ecx, [edi+00000034h]
  345. loc_005FBD88: push eax
  346. loc_005FBD89: push ecx
  347. loc_005FBD8A: SelectObject(%x1v, %x2v)
  348. loc_005FBD8F: call [004010BCh] ; __vbaSetSystemError
  349. loc_005FBD95: push 005FBDA7h
  350. loc_005FBD9A: jmp 005FBDA6h
  351. loc_005FBD9C: lea ecx, var_18
  352. loc_005FBD9F: call [0040142Ch] ; __vbaFreeObj
  353. loc_005FBDA5: ret
  354. loc_005FBDA6: ret
  355. loc_005FBDA7: mov eax, Me
  356. loc_005FBDAA: push eax
  357. loc_005FBDAB: mov edx, [eax]
  358. loc_005FBDAD: call [edx+00000008h]
  359. loc_005FBDB0: mov eax, var_4
  360. loc_005FBDB3: mov ecx, var_14
  361. loc_005FBDB6: pop edi
  362. loc_005FBDB7: pop esi
  363. loc_005FBDB8: mov fs:[00000000h], ecx
  364. loc_005FBDBF: pop ebx
  365. loc_005FBDC0: mov esp, ebp
  366. loc_005FBDC2: pop ebp
  367. loc_005FBDC3: retn 0008h
  368. End Sub
  369. Public Sub Attach(CtlHdc, CtlWidth, CtlHeight, bCopySourceDC) '5FBDD0
  370. loc_005FBDD0: push ebp
  371. loc_005FBDD1: mov ebp, esp
  372. loc_005FBDD3: sub esp, 0000000Ch
  373. loc_005FBDD6: push 00412856h ; __vbaExceptHandler
  374. loc_005FBDDB: mov eax, fs:[00000000h]
  375. loc_005FBDE1: push eax
  376. loc_005FBDE2: mov fs:[00000000h], esp
  377. loc_005FBDE9: sub esp, 00000028h
  378. loc_005FBDEC: push ebx
  379. loc_005FBDED: push esi
  380. loc_005FBDEE: push edi
  381. loc_005FBDEF: mov var_C, esp
  382. loc_005FBDF2: mov var_8, 00403EB0h
  383. loc_005FBDF9: xor ebx, ebx
  384. loc_005FBDFB: mov var_4, ebx
  385. loc_005FBDFE: mov esi, Me
  386. loc_005FBE01: push esi
  387. loc_005FBE02: mov eax, [esi]
  388. loc_005FBE04: call [eax+00000004h]
  389. loc_005FBE07: mov ecx, CtlHdc
  390. loc_005FBE0A: mov eax, CtlWidth
  391. loc_005FBE0D: mov var_1C, ebx
  392. loc_005FBE10: mov var_20, ebx
  393. loc_005FBE13: mov edx, [ecx]
  394. loc_005FBE15: mov var_24, ebx
  395. loc_005FBE18: mov [esi+00000038h], edx
  396. loc_005FBE1B: mov ecx, [eax]
  397. loc_005FBE1D: mov edx, CtlHeight
  398. loc_005FBE20: mov [esi+00000048h], ecx
  399. loc_005FBE23: mov ecx, [esi+00000038h]
  400. loc_005FBE26: mov var_28, ebx
  401. loc_005FBE29: mov eax, [edx]
  402. loc_005FBE2B: push ecx
  403. loc_005FBE2C: mov var_2C, ebx
  404. loc_005FBE2F: mov var_30, ebx
  405. loc_005FBE32: mov [esi+0000004Ch], eax
  406. loc_005FBE35: CreateCompatibleDC(%x1v)
  407. loc_005FBE3A: mov edi, [004010BCh] ; __vbaSetSystemError
  408. loc_005FBE40: mov var_20, eax
  409. loc_005FBE43: call edi
  410. loc_005FBE45: mov edx, var_20
  411. loc_005FBE48: mov eax, [esi+0000004Ch]
  412. loc_005FBE4B: mov ecx, [esi+00000048h]
  413. loc_005FBE4E: mov [esi+00000034h], edx
  414. loc_005FBE51: mov edx, [esi+00000038h]
  415. loc_005FBE54: push eax
  416. loc_005FBE55: push ecx
  417. loc_005FBE56: push edx
  418. loc_005FBE57: CreateCompatibleBitmap(%x1v, %x2v, %x3v)
  419. loc_005FBE5C: mov var_20, eax
  420. loc_005FBE5F: call edi
  421. loc_005FBE61: mov eax, var_20
  422. loc_005FBE64: mov ecx, [esi+00000034h]
  423. loc_005FBE67: push eax
  424. loc_005FBE68: push ecx
  425. loc_005FBE69: SelectObject(%x1v, %x2v)
  426. loc_005FBE6E: mov var_20, eax
  427. loc_005FBE71: call edi
  428. loc_005FBE73: mov eax, [esi+00000038h]
  429. loc_005FBE76: mov edx, var_20
  430. loc_005FBE79: push eax
  431. loc_005FBE7A: mov [esi+0000003Ch], edx
  432. loc_005FBE7D: GetBkColor(%x1v)
  433. loc_005FBE82: mov var_20, eax
  434. loc_005FBE85: call edi
  435. loc_005FBE87: mov ecx, var_20
  436. loc_005FBE8A: mov edx, [esi]
  437. loc_005FBE8C: lea eax, var_24
  438. loc_005FBE8F: mov var_24, ecx
  439. loc_005FBE92: push eax
  440. loc_005FBE93: push esi
  441. loc_005FBE94: call [edx+00000020h]
  442. loc_005FBE97: cmp eax, ebx
  443. loc_005FBE99: fnclex
  444. loc_005FBE9B: jge 005FBEACh
  445. loc_005FBE9D: push 00000020h
  446. loc_005FBE9F: push 00446F68h
  447. loc_005FBEA4: push esi
  448. loc_005FBEA5: push eax
  449. loc_005FBEA6: call [004010CCh] ; __vbaHresultCheckObj
  450. loc_005FBEAC: mov ecx, [esi+00000038h]
  451. loc_005FBEAF: push ecx
  452. loc_005FBEB0: GetTextColor(%x1v)
  453. loc_005FBEB5: mov var_20, eax
  454. loc_005FBEB8: call edi
  455. loc_005FBEBA: mov edx, var_20
  456. loc_005FBEBD: mov eax, [esi]
  457. loc_005FBEBF: lea ecx, var_24
  458. loc_005FBEC2: mov var_24, edx
  459. loc_005FBEC5: push ecx
  460. loc_005FBEC6: push esi
  461. loc_005FBEC7: call [eax+00000028h]
  462. loc_005FBECA: cmp eax, ebx
  463. loc_005FBECC: fnclex
  464. loc_005FBECE: jge 005FBEDFh
  465. loc_005FBED0: push 00000028h
  466. loc_005FBED2: push 00446F68h
  467. loc_005FBED7: push esi
  468. loc_005FBED8: push eax
  469. loc_005FBED9: call [004010CCh] ; __vbaHresultCheckObj
  470. loc_005FBEDF: cmp bCopySourceDC, bx
  471. loc_005FBEE3: jz 005FBF07h
  472. loc_005FBEE5: mov edx, [esi+00000038h]
  473. loc_005FBEE8: mov eax, [esi+0000004Ch]
  474. loc_005FBEEB: mov ecx, [esi+00000048h]
  475. loc_005FBEEE: push 00CC0020h
  476. loc_005FBEF3: push ebx
  477. loc_005FBEF4: push ebx
  478. loc_005FBEF5: push edx
  479. loc_005FBEF6: mov edx, [esi+00000034h]
  480. loc_005FBEF9: push eax
  481. loc_005FBEFA: push ecx
  482. loc_005FBEFB: push ebx
  483. loc_005FBEFC: push ebx
  484. loc_005FBEFD: push edx
  485. loc_005FBEFE: BitBlt(%x1v, %x2v, %x3v, %x4v, %x5v, %x6v, %x7v, %x8v, %x9v)
  486. loc_005FBF03: call edi
  487. loc_005FBF05: jmp 005FBF6Eh
  488. loc_005FBF07: mov eax, [esi]
  489. loc_005FBF09: lea ecx, var_20
  490. loc_005FBF0C: push ecx
  491. loc_005FBF0D: push esi
  492. loc_005FBF0E: call [eax+0000001Ch]
  493. loc_005FBF11: cmp eax, ebx
  494. loc_005FBF13: fnclex
  495. loc_005FBF15: jge 005FBF26h
  496. loc_005FBF17: push 0000001Ch
  497. loc_005FBF19: push 00446F68h
  498. loc_005FBF1E: push esi
  499. loc_005FBF1F: push eax
  500. loc_005FBF20: call [004010CCh] ; __vbaHresultCheckObj
  501. loc_005FBF26: mov edx, 0043C9F4h
  502. loc_005FBF2B: lea ecx, var_1C
  503. loc_005FBF2E: mov var_30, ebx
  504. loc_005FBF31: call [00401310h] ; __vbaStrCopy
  505. loc_005FBF37: mov edx, var_20
  506. loc_005FBF3A: lea eax, var_1C
  507. loc_005FBF3D: mov var_2C, edx
  508. loc_005FBF40: lea edx, var_30
  509. loc_005FBF43: push edx
  510. loc_005FBF44: push eax
  511. loc_005FBF45: lea edx, var_2C
  512. loc_005FBF48: lea eax, [esi+0000004Ch]
  513. loc_005FBF4B: mov ecx, [esi]
  514. loc_005FBF4D: push edx
  515. loc_005FBF4E: push eax
  516. loc_005FBF4F: lea eax, [esi+00000048h]
  517. loc_005FBF52: push eax
  518. loc_005FBF53: lea eax, var_28
  519. loc_005FBF56: lea edx, var_24
  520. loc_005FBF59: push eax
  521. loc_005FBF5A: push edx
  522. loc_005FBF5B: push esi
  523. loc_005FBF5C: mov var_28, ebx
  524. loc_005FBF5F: mov var_24, ebx
  525. loc_005FBF62: call [ecx+0000004Ch]
  526. loc_005FBF65: lea ecx, var_1C
  527. loc_005FBF68: call [00401430h] ; __vbaFreeStr
  528. loc_005FBF6E: push 005FBF80h
  529. loc_005FBF73: jmp 005FBF7Fh
  530. loc_005FBF75: lea ecx, var_1C
  531. loc_005FBF78: call [00401430h] ; __vbaFreeStr
  532. loc_005FBF7E: ret
  533. loc_005FBF7F: ret
  534. loc_005FBF80: mov eax, Me
  535. loc_005FBF83: push eax
  536. loc_005FBF84: mov ecx, [eax]
  537. loc_005FBF86: call [ecx+00000008h]
  538. loc_005FBF89: mov eax, var_4
  539. loc_005FBF8C: mov ecx, var_14
  540. loc_005FBF8F: pop edi
  541. loc_005FBF90: pop esi
  542. loc_005FBF91: mov fs:[00000000h], ecx
  543. loc_005FBF98: pop ebx
  544. loc_005FBF99: mov esp, ebp
  545. loc_005FBF9B: pop ebp
  546. loc_005FBF9C: retn 0014h
  547. End Sub
  548. Public Sub CopyToHdc(Left, Top, Width, Height) '5FBFA0
  549. loc_005FBFA0: push ebp
  550. loc_005FBFA1: mov ebp, esp
  551. loc_005FBFA3: sub esp, 0000000Ch
  552. loc_005FBFA6: push 00412856h ; __vbaExceptHandler
  553. loc_005FBFAB: mov eax, fs:[00000000h]
  554. loc_005FBFB1: push eax
  555. loc_005FBFB2: mov fs:[00000000h], esp
  556. loc_005FBFB9: sub esp, 00000008h
  557. loc_005FBFBC: push ebx
  558. loc_005FBFBD: push esi
  559. loc_005FBFBE: push edi
  560. loc_005FBFBF: mov var_C, esp
  561. loc_005FBFC2: mov var_8, 00403EC0h
  562. loc_005FBFC9: mov var_4, 00000000h
  563. loc_005FBFD0: mov esi, Me
  564. loc_005FBFD3: push esi
  565. loc_005FBFD4: mov eax, [esi]
  566. loc_005FBFD6: call [eax+00000004h]
  567. loc_005FBFD9: mov edi, Width
  568. loc_005FBFDC: cmp [edi], FFFFFFFFh
  569. loc_005FBFDF: jnz 005FBFE6h
  570. loc_005FBFE1: mov ecx, [esi+00000048h]
  571. loc_005FBFE4: mov [edi], ecx
  572. loc_005FBFE6: mov edx, Height
  573. loc_005FBFE9: cmp [edx], FFFFFFFFh
  574. loc_005FBFEC: jnz 005FBFF3h
  575. loc_005FBFEE: mov eax, [esi+0000004Ch]
  576. loc_005FBFF1: mov [edx], eax
  577. loc_005FBFF3: mov ecx, Top
  578. loc_005FBFF6: mov ebx, [esi+00000034h]
  579. loc_005FBFF9: mov edx, [edx]
  580. loc_005FBFFB: push 00CC0020h
  581. loc_005FC000: mov eax, [ecx]
  582. loc_005FC002: mov ecx, Left
  583. loc_005FC005: push eax
  584. loc_005FC006: mov ecx, [ecx]
  585. loc_005FC008: push ecx
  586. loc_005FC009: push ebx
  587. loc_005FC00A: push edx
  588. loc_005FC00B: mov edx, [edi]
  589. loc_005FC00D: push edx
  590. loc_005FC00E: push eax
  591. loc_005FC00F: mov eax, [esi+00000038h]
  592. loc_005FC012: push ecx
  593. loc_005FC013: push eax
  594. loc_005FC014: BitBlt(%x1v, %x2v, %x3v, %x4v, %x5v, %x6v, %x7v, %x8v, %x9v)
  595. loc_005FC019: call [004010BCh] ; __vbaSetSystemError
  596. loc_005FC01F: mov eax, Me
  597. loc_005FC022: push eax
  598. loc_005FC023: mov ecx, [eax]
  599. loc_005FC025: call [ecx+00000008h]
  600. loc_005FC028: mov eax, var_4
  601. loc_005FC02B: mov ecx, var_14
  602. loc_005FC02E: pop edi
  603. loc_005FC02F: pop esi
  604. loc_005FC030: mov fs:[00000000h], ecx
  605. loc_005FC037: pop ebx
  606. loc_005FC038: mov esp, ebp
  607. loc_005FC03A: pop ebp
  608. loc_005FC03B: retn 0014h
  609. End Sub
  610. Public Sub CopyFromHdc(hdcSource, Left, Top, Width, Height) '5FC040
  611. loc_005FC040: push ebp
  612. loc_005FC041: mov ebp, esp
  613. loc_005FC043: sub esp, 0000000Ch
  614. loc_005FC046: push 00412856h ; __vbaExceptHandler
  615. loc_005FC04B: mov eax, fs:[00000000h]
  616. loc_005FC051: push eax
  617. loc_005FC052: mov fs:[00000000h], esp
  618. loc_005FC059: sub esp, 00000008h
  619. loc_005FC05C: push ebx
  620. loc_005FC05D: push esi
  621. loc_005FC05E: push edi
  622. loc_005FC05F: mov var_C, esp
  623. loc_005FC062: mov var_8, 00403EC8h
  624. loc_005FC069: mov var_4, 00000000h
  625. loc_005FC070: mov esi, Me
  626. loc_005FC073: push esi
  627. loc_005FC074: mov eax, [esi]
  628. loc_005FC076: call [eax+00000004h]
  629. loc_005FC079: mov edi, Width
  630. loc_005FC07C: cmp [edi], FFFFFFFFh
  631. loc_005FC07F: jnz 005FC086h
  632. loc_005FC081: mov ecx, [esi+00000048h]
  633. loc_005FC084: mov [edi], ecx
  634. loc_005FC086: mov edx, Height
  635. loc_005FC089: cmp [edx], FFFFFFFFh
  636. loc_005FC08C: jnz 005FC093h
  637. loc_005FC08E: mov eax, [esi+0000004Ch]
  638. loc_005FC091: mov [edx], eax
  639. loc_005FC093: mov ecx, Top
  640. loc_005FC096: mov ebx, hdcSource
  641. loc_005FC099: mov edx, [edx]
  642. loc_005FC09B: push 00CC0020h
  643. loc_005FC0A0: mov eax, [ecx]
  644. loc_005FC0A2: mov ecx, Left
  645. loc_005FC0A5: push eax
  646. loc_005FC0A6: mov ecx, [ecx]
  647. loc_005FC0A8: push ecx
  648. loc_005FC0A9: push ebx
  649. loc_005FC0AA: push edx
  650. loc_005FC0AB: mov edx, [edi]
  651. loc_005FC0AD: push edx
  652. loc_005FC0AE: push eax
  653. loc_005FC0AF: mov eax, [esi+00000034h]
  654. loc_005FC0B2: push ecx
  655. loc_005FC0B3: push eax
  656. loc_005FC0B4: BitBlt(%x1v, %x2v, %x3v, %x4v, %x5v, %x6v, %x7v, %x8v, %x9v)
  657. loc_005FC0B9: call [004010BCh] ; __vbaSetSystemError
  658. loc_005FC0BF: mov eax, Me
  659. loc_005FC0C2: push eax
  660. loc_005FC0C3: mov ecx, [eax]
  661. loc_005FC0C5: call [ecx+00000008h]
  662. loc_005FC0C8: mov eax, var_4
  663. loc_005FC0CB: mov ecx, var_14
  664. loc_005FC0CE: pop edi
  665. loc_005FC0CF: pop esi
  666. loc_005FC0D0: mov fs:[00000000h], ecx
  667. loc_005FC0D7: pop ebx
  668. loc_005FC0D8: mov esp, ebp
  669. loc_005FC0DA: pop ebp
  670. loc_005FC0DB: retn 0018h
  671. End Sub
  672. Public Property Get hdc(arg_C) '5FC0E0
  673. loc_005FC0E0: push ebp
  674. loc_005FC0E1: mov ebp, esp
  675. loc_005FC0E3: sub esp, 0000000Ch
  676. loc_005FC0E6: push 00412856h ; __vbaExceptHandler
  677. loc_005FC0EB: mov eax, fs:[00000000h]
  678. loc_005FC0F1: push eax
  679. loc_005FC0F2: mov fs:[00000000h], esp
  680. loc_005FC0F9: sub esp, 0000000Ch
  681. loc_005FC0FC: push ebx
  682. loc_005FC0FD: push esi
  683. loc_005FC0FE: push edi
  684. loc_005FC0FF: mov var_C, esp
  685. loc_005FC102: mov var_8, 00403ED0h
  686. loc_005FC109: xor edi, edi
  687. loc_005FC10B: mov var_4, edi
  688. loc_005FC10E: mov esi, Me
  689. loc_005FC111: push esi
  690. loc_005FC112: mov eax, [esi]
  691. loc_005FC114: call [eax+00000004h]
  692. loc_005FC117: mov ecx, [esi+00000034h]
  693. loc_005FC11A: mov var_18, edi
  694. loc_005FC11D: mov var_18, ecx
  695. loc_005FC120: mov eax, Me
  696. loc_005FC123: push eax
  697. loc_005FC124: mov edx, [eax]
  698. loc_005FC126: call [edx+00000008h]
  699. loc_005FC129: mov eax, arg_C
  700. loc_005FC12C: mov ecx, var_18
  701. loc_005FC12F: mov [eax], ecx
  702. loc_005FC131: mov eax, var_4
  703. loc_005FC134: mov ecx, var_14
  704. loc_005FC137: pop edi
  705. loc_005FC138: pop esi
  706. loc_005FC139: mov fs:[00000000h], ecx
  707. loc_005FC140: pop ebx
  708. loc_005FC141: mov esp, ebp
  709. loc_005FC143: pop ebp
  710. loc_005FC144: retn 0008h
  711. End Sub
  712. Public Sub Detach() '5FC150
  713. loc_005FC150: push ebp
  714. loc_005FC151: mov ebp, esp
  715. loc_005FC153: sub esp, 0000000Ch
  716. loc_005FC156: push 00412856h ; __vbaExceptHandler
  717. loc_005FC15B: mov eax, fs:[00000000h]
  718. loc_005FC161: push eax
  719. loc_005FC162: mov fs:[00000000h], esp
  720. loc_005FC169: sub esp, 00000010h
  721. loc_005FC16C: push ebx
  722. loc_005FC16D: push esi
  723. loc_005FC16E: push edi
  724. loc_005FC16F: mov var_C, esp
  725. loc_005FC172: mov var_8, 00403ED8h
  726. loc_005FC179: xor edi, edi
  727. loc_005FC17B: mov var_4, edi
  728. loc_005FC17E: mov esi, Me
  729. loc_005FC181: push esi
  730. loc_005FC182: mov eax, [esi]
  731. loc_005FC184: call [eax+00000004h]
  732. loc_005FC187: mov eax, [esi+00000034h]
  733. loc_005FC18A: cmp eax, edi
  734. loc_005FC18C: jz 005FC1A6h
  735. loc_005FC18E: mov ecx, [esi+00000044h]
  736. loc_005FC191: cmp ecx, edi
  737. loc_005FC193: jz 005FC1A6h
  738. loc_005FC195: push ecx
  739. loc_005FC196: push eax
  740. loc_005FC197: SelectObject(%x1v, %x2v)
  741. loc_005FC19C: mov ebx, [004010BCh] ; __vbaSetSystemError
  742. loc_005FC1A2: call ebx
  743. loc_005FC1A4: jmp 005FC1ACh
  744. loc_005FC1A6: mov ebx, [004010BCh] ; __vbaSetSystemError
  745. loc_005FC1AC: mov ecx, [esi+00000034h]
  746. loc_005FC1AF: test ecx, ecx
  747. loc_005FC1B1: jz 005FC1C5h
  748. loc_005FC1B3: mov eax, [esi+0000003Ch]
  749. loc_005FC1B6: test eax, eax
  750. loc_005FC1B8: jz 005FC1C5h
  751. loc_005FC1BA: push eax
  752. loc_005FC1BB: push ecx
  753. loc_005FC1BC: SelectObject(%x1v, %x2v)
  754. loc_005FC1C1: mov edi, eax
  755. loc_005FC1C3: call ebx
  756. loc_005FC1C5: test edi, edi
  757. loc_005FC1C7: jz 005FC1D1h
  758. loc_005FC1C9: push edi
  759. loc_005FC1CA: DeleteObject(%x1v)
  760. loc_005FC1CF: call ebx
  761. loc_005FC1D1: mov eax, [esi+00000034h]
  762. loc_005FC1D4: test eax, eax
  763. loc_005FC1D6: jz 005FC1E0h
  764. loc_005FC1D8: push eax
  765. loc_005FC1D9: DeleteDC(%x1v)
  766. loc_005FC1DE: call ebx
  767. loc_005FC1E0: mov [esi+00000034h], 00000000h
  768. loc_005FC1E7: mov eax, Me
  769. loc_005FC1EA: push eax
  770. loc_005FC1EB: mov ecx, [eax]
  771. loc_005FC1ED: call [ecx+00000008h]
  772. loc_005FC1F0: mov eax, var_4
  773. loc_005FC1F3: mov ecx, var_14
  774. loc_005FC1F6: pop edi
  775. loc_005FC1F7: pop esi
  776. loc_005FC1F8: mov fs:[00000000h], ecx
  777. loc_005FC1FF: pop ebx
  778. loc_005FC200: mov esp, ebp
  779. loc_005FC202: pop ebp
  780. loc_005FC203: retn 0004h
  781. End Sub
  782. Private Sub Proc_13_11_5FB960
  783. loc_005FB960: push ebp
  784. loc_005FB961: mov ebp, esp
  785. loc_005FB963: sub esp, 0000000Ch
  786. loc_005FB966: push 00412856h ; __vbaExceptHandler
  787. loc_005FB96B: mov eax, fs:[00000000h]
  788. loc_005FB971: push eax
  789. loc_005FB972: mov fs:[00000000h], esp
  790. loc_005FB979: sub esp, 0000000Ch
  791. loc_005FB97C: push ebx
  792. loc_005FB97D: push esi
  793. loc_005FB97E: push edi
  794. loc_005FB97F: mov var_C, esp
  795. loc_005FB982: mov var_8, 00403E68h
  796. loc_005FB989: mov esi, Me
  797. loc_005FB98C: mov eax, esi
  798. loc_005FB98E: and eax, 00000001h
  799. loc_005FB991: mov var_4, eax
  800. loc_005FB994: and esi, FFFFFFFEh
  801. loc_005FB997: push esi
  802. loc_005FB998: mov Me, esi
  803. loc_005FB99B: mov ecx, [esi]
  804. loc_005FB99D: call [ecx+00000004h]
  805. loc_005FB9A0: mov edx, [esi]
  806. loc_005FB9A2: push esi
  807. loc_005FB9A3: call [edx+00000044h]
  808. loc_005FB9A6: test eax, eax
  809. loc_005FB9A8: fnclex
  810. loc_005FB9AA: jge 005FB9BBh
  811. loc_005FB9AC: push 00000044h
  812. loc_005FB9AE: push 00446F68h
  813. loc_005FB9B3: push esi
  814. loc_005FB9B4: push eax
  815. loc_005FB9B5: call [004010CCh] ; __vbaHresultCheckObj
  816. loc_005FB9BB: mov var_4, 00000000h
  817. loc_005FB9C2: mov eax, Me
  818. loc_005FB9C5: push eax
  819. loc_005FB9C6: mov ecx, [eax]
  820. loc_005FB9C8: call [ecx+00000008h]
  821. loc_005FB9CB: mov eax, var_4
  822. loc_005FB9CE: mov ecx, var_14
  823. loc_005FB9D1: pop edi
  824. loc_005FB9D2: pop esi
  825. loc_005FB9D3: mov fs:[00000000h], ecx
  826. loc_005FB9DA: pop ebx
  827. loc_005FB9DB: mov esp, ebp
  828. loc_005FB9DD: pop ebp
  829. loc_005FB9DE: retn 0004h
  830. End Sub
  831. Private Function Proc_13_12_5FC210(arg_C, arg_10, arg_14, arg_18, arg_1C, arg_20, arg_24) '5FC210
  832. loc_005FC210: push ebp
  833. loc_005FC211: mov ebp, esp
  834. loc_005FC213: sub esp, 00000008h
  835. loc_005FC216: push 00412856h ; __vbaExceptHandler
  836. loc_005FC21B: mov eax, fs:[00000000h]
  837. loc_005FC221: push eax
  838. loc_005FC222: mov fs:[00000000h], esp
  839. loc_005FC229: sub esp, 00000040h
  840. loc_005FC22C: push ebx
  841. loc_005FC22D: push esi
  842. loc_005FC22E: push edi
  843. loc_005FC22F: mov var_8, esp
  844. loc_005FC232: mov var_4, 00403EE0h
  845. loc_005FC239: mov edi, arg_1C
  846. loc_005FC23C: xor eax, eax
  847. loc_005FC23E: mov var_24, eax
  848. loc_005FC241: xor ecx, ecx
  849. loc_005FC243: mov var_20, eax
  850. loc_005FC246: xor ebx, ebx
  851. loc_005FC248: mov var_1C, eax
  852. loc_005FC24B: mov var_38, ecx
  853. loc_005FC24E: mov var_18, eax
  854. loc_005FC251: mov eax, [edi]
  855. loc_005FC253: cmp eax, ebx
  856. loc_005FC255: mov var_28, ebx
  857. loc_005FC258: mov var_30, ebx
  858. loc_005FC25B: mov var_34, ecx
  859. loc_005FC25E: mov var_3C, ebx
  860. loc_005FC261: mov var_40, ebx
  861. loc_005FC264: jge 005FC27Ch
  862. loc_005FC266: lea edx, var_30
  863. loc_005FC269: push edx
  864. loc_005FC26A: push ebx
  865. loc_005FC26B: push eax
  866. loc_005FC26C: OleTranslateColor(%x1v, %x2v, %x3v)
  867. loc_005FC271: call [004010BCh] ; __vbaSetSystemError
  868. loc_005FC277: mov eax, var_30
  869. loc_005FC27A: mov [edi], eax
  870. loc_005FC27C: mov esi, Me
  871. loc_005FC27F: lea edx, var_40
  872. loc_005FC282: push edx
  873. loc_005FC283: push esi
  874. loc_005FC284: mov ecx, [esi]
  875. loc_005FC286: call [ecx+0000001Ch]
  876. loc_005FC289: test eax, eax
  877. loc_005FC28B: fnclex
  878. loc_005FC28D: jge 005FC29Eh
  879. loc_005FC28F: push 0000001Ch
  880. loc_005FC291: push 00446F68h
  881. loc_005FC296: push esi
  882. loc_005FC297: push eax
  883. loc_005FC298: call [004010CCh] ; __vbaHresultCheckObj
  884. loc_005FC29E: mov eax, var_40
  885. loc_005FC2A1: mov ecx, [edi]
  886. loc_005FC2A3: mov edx, [esi]
  887. loc_005FC2A5: mov var_2C, eax
  888. loc_005FC2A8: lea eax, var_40
  889. loc_005FC2AB: mov var_40, ecx
  890. loc_005FC2AE: push eax
  891. loc_005FC2AF: push esi
  892. loc_005FC2B0: call [edx+00000020h]
  893. loc_005FC2B3: test eax, eax
  894. loc_005FC2B5: fnclex
  895. loc_005FC2B7: jge 005FC2C8h
  896. loc_005FC2B9: push 00000020h
  897. loc_005FC2BB: push 00446F68h
  898. loc_005FC2C0: push esi
  899. loc_005FC2C1: push eax
  900. loc_005FC2C2: call [004010CCh] ; __vbaHresultCheckObj
  901. loc_005FC2C8: mov edi, arg_20
  902. loc_005FC2CB: mov ecx, [edi]
  903. loc_005FC2CD: push ecx
  904. loc_005FC2CE: call [00401044h] ; __vbaLenBstr
  905. loc_005FC2D4: test eax, eax
  906. loc_005FC2D6: jle 005FC3CCh
  907. loc_005FC2DC: mov eax, [edi]
  908. loc_005FC2DE: lea edx, var_38
  909. loc_005FC2E1: push edx
  910. loc_005FC2E2: push eax
  911. loc_005FC2E3: call [00401044h] ; __vbaLenBstr
  912. loc_005FC2E9: mov ecx, [edi]
  913. loc_005FC2EB: push eax
  914. loc_005FC2EC: lea edx, var_3C
  915. loc_005FC2EF: push ecx
  916. loc_005FC2F0: push edx
  917. loc_005FC2F1: call [00401370h] ; __vbaStrToAnsi
  918. loc_005FC2F7: push eax
  919. loc_005FC2F8: mov eax, [esi+00000034h]
  920. loc_005FC2FB: push eax
  921. loc_005FC2FC: GetTextExtentPoint32(%x1v, %x2v, %x3v, %x4v)
  922. loc_005FC301: call [004010BCh] ; __vbaSetSystemError
  923. loc_005FC307: mov ecx, var_3C
  924. loc_005FC30A: push ecx
  925. loc_005FC30B: push edi
  926. loc_005FC30C: call [00401260h] ; __vbaStrToUnicode
  927. loc_005FC312: lea ecx, var_3C
  928. loc_005FC315: call [00401430h] ; __vbaFreeStr
  929. loc_005FC31B: mov edx, arg_24
  930. loc_005FC31E: mov ecx, [edx]
  931. loc_005FC320: cmp ecx, 00000008h
  932. loc_005FC323: ja 005FC3CCh
  933. loc_005FC329: jmp [ecx*4+005FC490h]
  934. loc_005FC330: mov eax, arg_14
  935. loc_005FC333: mov edx, var_38
  936. loc_005FC336: mov eax, [eax]
  937. loc_005FC338: sub eax, edx
  938. loc_005FC33A: jo 005FC4C9h
  939. loc_005FC340: cdq
  940. loc_005FC341: sub eax, edx
  941. loc_005FC343: mov edx, arg_C
  942. loc_005FC346: sar eax, 01h
  943. loc_005FC348: add eax, [edx]
  944. loc_005FC34A: jo 005FC4C9h
  945. loc_005FC350: mov var_28, eax
  946. loc_005FC353: jmp 005FC37Dh
  947. loc_005FC355: mov eax, arg_14
  948. loc_005FC358: mov edx, var_38
  949. loc_005FC35B: mov eax, [eax]
  950. loc_005FC35D: sub eax, edx
  951. loc_005FC35F: mov edx, arg_C
  952. loc_005FC362: jo 005FC4C9h
  953. loc_005FC368: add eax, [edx]
  954. loc_005FC36A: jo 005FC4C9h
  955. loc_005FC370: mov var_28, eax
  956. loc_005FC373: jmp 005FC37Dh
  957. loc_005FC375: mov eax, arg_C
  958. loc_005FC378: mov edx, [eax]
  959. loc_005FC37A: mov var_28, edx
  960. loc_005FC37D: cmp ecx, 00000008h
  961. loc_005FC380: ja 005FC3CCh
  962. loc_005FC382: xor eax, eax
  963. loc_005FC384: mov al, [ecx+005FC4C0h]
  964. loc_005FC38A: jmp [eax*4+005FC4B4h]
  965. loc_005FC391: mov ecx, arg_18
  966. loc_005FC394: mov eax, [ecx]
  967. loc_005FC396: mov ecx, var_34
  968. loc_005FC399: sub eax, ecx
  969. loc_005FC39B: jo 005FC4C9h
  970. loc_005FC3A1: cdq
  971. loc_005FC3A2: sub eax, edx
  972. loc_005FC3A4: mov ebx, eax
  973. loc_005FC3A6: sar ebx, 01h
  974. loc_005FC3A8: jmp 005FC3C1h
  975. loc_005FC3AA: mov eax, arg_10
  976. loc_005FC3AD: mov ebx, [eax]
  977. loc_005FC3AF: jmp 005FC3CCh
  978. loc_005FC3B1: mov ecx, arg_18
  979. loc_005FC3B4: mov ebx, [ecx]
  980. loc_005FC3B6: mov ecx, var_34
  981. loc_005FC3B9: sub ebx, ecx
  982. loc_005FC3BB: jo 005FC4C9h
  983. loc_005FC3C1: mov edx, arg_10
  984. loc_005FC3C4: add ebx, [edx]
  985. loc_005FC3C6: jo 005FC4C9h
  986. loc_005FC3CC: mov eax, arg_C
  987. loc_005FC3CF: mov edx, arg_14
  988. loc_005FC3D2: mov ecx, arg_10
  989. loc_005FC3D5: push 00000000h
  990. loc_005FC3D7: mov eax, [eax]
  991. loc_005FC3D9: mov edx, [edx]
  992. loc_005FC3DB: mov ecx, [ecx]
  993. loc_005FC3DD: mov var_24, eax
  994. loc_005FC3E0: add edx, eax
  995. loc_005FC3E2: mov eax, arg_18
  996. loc_005FC3E5: jo 005FC4C9h
  997. loc_005FC3EB: mov var_1C, edx
  998. loc_005FC3EE: mov edx, [eax]
  999. loc_005FC3F0: mov eax, [edi]
  1000. loc_005FC3F2: add edx, ecx
  1001. loc_005FC3F4: jo 005FC4C9h
  1002. loc_005FC3FA: push eax
  1003. loc_005FC3FB: mov var_20, ecx
  1004. loc_005FC3FE: mov var_18, edx
  1005. loc_005FC401: call [00401044h] ; __vbaLenBstr
  1006. loc_005FC407: mov ecx, [edi]
  1007. loc_005FC409: push eax
  1008. loc_005FC40A: lea edx, var_3C
  1009. loc_005FC40D: push ecx
  1010. loc_005FC40E: push edx
  1011. loc_005FC40F: call [00401370h] ; __vbaStrToAnsi
  1012. loc_005FC415: mov ecx, var_28
  1013. loc_005FC418: mov edx, [esi+00000034h]
  1014. loc_005FC41B: push eax
  1015. loc_005FC41C: lea eax, var_24
  1016. loc_005FC41F: push eax
  1017. loc_005FC420: push 00000006h
  1018. loc_005FC422: push ebx
  1019. loc_005FC423: push ecx
  1020. loc_005FC424: push edx
  1021. loc_005FC425: ExtTextOut(%x1v, %x2v, %x3v, %x4v, %x5v, %x6v, %x7v, %x8v)
  1022. loc_005FC42A: call [004010BCh] ; __vbaSetSystemError
  1023. loc_005FC430: mov eax, var_3C
  1024. loc_005FC433: push eax
  1025. loc_005FC434: push edi
  1026. loc_005FC435: call [00401260h] ; __vbaStrToUnicode
  1027. loc_005FC43B: lea ecx, var_3C
  1028. loc_005FC43E: call [00401430h] ; __vbaFreeStr
  1029. loc_005FC444: mov ecx, var_2C
  1030. loc_005FC447: mov edx, [esi]
  1031. loc_005FC449: lea eax, var_40
  1032. loc_005FC44C: mov var_40, ecx
  1033. loc_005FC44F: push eax
  1034. loc_005FC450: push esi
  1035. loc_005FC451: call [edx+00000020h]
  1036. loc_005FC454: test eax, eax
  1037. loc_005FC456: fnclex
  1038. loc_005FC458: jge 005FC469h
  1039. loc_005FC45A: push 00000020h
  1040. loc_005FC45C: push 00446F68h
  1041. loc_005FC461: push esi
  1042. loc_005FC462: push eax
  1043. loc_005FC463: call [004010CCh] ; __vbaHresultCheckObj
  1044. loc_005FC469: push 005FC47Bh
  1045. loc_005FC46E: jmp 005FC47Ah
  1046. loc_005FC470: lea ecx, var_3C
  1047. loc_005FC473: call [00401430h] ; __vbaFreeStr
  1048. loc_005FC479: ret
  1049. loc_005FC47A: ret
  1050. loc_005FC47B: mov ecx, var_10
  1051. loc_005FC47E: pop edi
  1052. loc_005FC47F: pop esi
  1053. loc_005FC480: xor eax, eax
  1054. loc_005FC482: mov fs:[00000000h], ecx
  1055. loc_005FC489: pop ebx
  1056. loc_005FC48A: mov esp, ebp
  1057. loc_005FC48C: pop ebp
  1058. loc_005FC48D: retn 0020h
  1059. End Function