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.

1553 lines
52 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 = "clsAddressBook"
  10. Attribute VB_GlobalNameSpace = False
  11. Attribute VB_Creatable = True
  12. Attribute VB_PredeclaredId = False
  13. Attribute VB_Exposed = True
  14. Private Type UDT_1_00447F58
  15. bStruc(12) As Byte ' String fields: 2
  16. End Type
  17. Public Function GetEntryIndex(strName) '70C810
  18. loc_0070C810: push ebp
  19. loc_0070C811: mov ebp, esp
  20. loc_0070C813: sub esp, 0000000Ch
  21. loc_0070C816: push 00412856h ; __vbaExceptHandler
  22. loc_0070C81B: mov eax, fs:[00000000h]
  23. loc_0070C821: push eax
  24. loc_0070C822: mov fs:[00000000h], esp
  25. loc_0070C829: sub esp, 0000001Ch
  26. loc_0070C82C: push ebx
  27. loc_0070C82D: push esi
  28. loc_0070C82E: push edi
  29. loc_0070C82F: mov var_C, esp
  30. loc_0070C832: mov var_8, 00410B10h
  31. loc_0070C839: xor esi, esi
  32. loc_0070C83B: mov var_4, esi
  33. loc_0070C83E: mov ebx, Me
  34. loc_0070C841: push ebx
  35. loc_0070C842: mov eax, [ebx]
  36. loc_0070C844: call [eax+00000004h]
  37. loc_0070C847: xor eax, eax
  38. loc_0070C849: xor edi, edi
  39. loc_0070C84B: cmp [ebx+00000036h], ax
  40. loc_0070C84F: mov var_20, esi
  41. loc_0070C852: mov var_24, eax
  42. loc_0070C855: jz 0070C85Fh
  43. loc_0070C857: mov var_24, eax
  44. loc_0070C85A: jmp 0070C8EBh
  45. loc_0070C85F: mov ecx, [ebx+0000003Ch]
  46. loc_0070C862: push ecx
  47. loc_0070C863: push 00000001h
  48. loc_0070C865: call [004012A4h] ; __vbaUbound
  49. loc_0070C86B: mov ecx, eax
  50. loc_0070C86D: call [004011E4h] ; __vbaI2I4
  51. loc_0070C873: mov var_1C, eax
  52. loc_0070C876: jmp 0070C87Bh
  53. loc_0070C878: mov eax, var_1C
  54. loc_0070C87B: cmp di, ax
  55. loc_0070C87E: jg 0070C8EBh
  56. loc_0070C880: add di, 0001h
  57. loc_0070C884: jo 0070C91Eh
  58. loc_0070C88A: cmp di, ax
  59. loc_0070C88D: jg 0070C8E6h
  60. loc_0070C88F: mov eax, [ebx+0000003Ch]
  61. loc_0070C892: test eax, eax
  62. loc_0070C894: jz 0070C8BCh
  63. loc_0070C896: cmp [eax], 0001h
  64. loc_0070C89A: jnz 0070C8BCh
  65. loc_0070C89C: mov edx, [eax+00000014h]
  66. loc_0070C89F: mov ecx, [eax+00000010h]
  67. loc_0070C8A2: movsx esi, di
  68. loc_0070C8A5: sub esi, edx
  69. loc_0070C8A7: cmp esi, ecx
  70. loc_0070C8A9: jb 0070C8B1h
  71. loc_0070C8AB: call [004011A8h] ; __vbaGenerateBoundsError
  72. loc_0070C8B1: lea eax, [esi+esi*2]
  73. loc_0070C8B4: mov esi, var_20
  74. loc_0070C8B7: shl eax, 02h
  75. loc_0070C8BA: jmp 0070C8C2h
  76. loc_0070C8BC: call [004011A8h] ; __vbaGenerateBoundsError
  77. loc_0070C8C2: mov edx, [ebx+0000003Ch]
  78. loc_0070C8C5: mov ecx, [edx+0000000Ch]
  79. loc_0070C8C8: mov edx, [ecx+eax]
  80. loc_0070C8CB: mov eax, strName
  81. loc_0070C8CE: push edx
  82. loc_0070C8CF: mov ecx, [eax]
  83. loc_0070C8D1: push ecx
  84. loc_0070C8D2: call [004011B8h] ; __vbaStrCmp
  85. loc_0070C8D8: test eax, eax
  86. loc_0070C8DA: jnz 0070C8E6h
  87. loc_0070C8DC: mov var_20, FFFFFFFFh
  88. loc_0070C8E3: mov esi, var_20
  89. loc_0070C8E6: test si, si
  90. loc_0070C8E9: jz 0070C878h
  91. loc_0070C8EB: neg si
  92. loc_0070C8EE: sbb esi, esi
  93. loc_0070C8F0: and esi, edi
  94. loc_0070C8F2: mov var_24, esi
  95. loc_0070C8F5: mov eax, Me
  96. loc_0070C8F8: push eax
  97. loc_0070C8F9: mov edx, [eax]
  98. loc_0070C8FB: call [edx+00000008h]
  99. loc_0070C8FE: mov eax, arg_10
  100. loc_0070C901: mov cx, var_24
  101. loc_0070C905: mov [eax], cx
  102. loc_0070C908: mov eax, var_4
  103. loc_0070C90B: mov ecx, var_14
  104. loc_0070C90E: pop edi
  105. loc_0070C90F: pop esi
  106. loc_0070C910: mov fs:[00000000h], ecx
  107. loc_0070C917: pop ebx
  108. loc_0070C918: mov esp, ebp
  109. loc_0070C91A: pop ebp
  110. loc_0070C91B: retn 000Ch
  111. End Function
  112. Public Function GetEntryAddress(strName) '70C930
  113. loc_0070C930: push ebp
  114. loc_0070C931: mov ebp, esp
  115. loc_0070C933: sub esp, 0000000Ch
  116. loc_0070C936: push 00412856h ; __vbaExceptHandler
  117. loc_0070C93B: mov eax, fs:[00000000h]
  118. loc_0070C941: push eax
  119. loc_0070C942: mov fs:[00000000h], esp
  120. loc_0070C949: sub esp, 00000018h
  121. loc_0070C94C: push ebx
  122. loc_0070C94D: push esi
  123. loc_0070C94E: push edi
  124. loc_0070C94F: mov var_C, esp
  125. loc_0070C952: mov var_8, 00410B18h
  126. loc_0070C959: xor esi, esi
  127. loc_0070C95B: mov var_4, esi
  128. loc_0070C95E: mov edi, Me
  129. loc_0070C961: push edi
  130. loc_0070C962: mov eax, [edi]
  131. loc_0070C964: call [eax+00000004h]
  132. loc_0070C967: mov ecx, arg_10
  133. loc_0070C96A: lea eax, var_20
  134. loc_0070C96D: push eax
  135. loc_0070C96E: mov var_1C, esi
  136. loc_0070C971: mov [ecx], esi
  137. loc_0070C973: mov ecx, strName
  138. loc_0070C976: mov edx, [edi]
  139. loc_0070C978: push ecx
  140. loc_0070C979: push edi
  141. loc_0070C97A: mov var_20, esi
  142. loc_0070C97D: call [edx+0000001Ch]
  143. loc_0070C980: cmp eax, esi
  144. loc_0070C982: jge 0070C993h
  145. loc_0070C984: push 0000001Ch
  146. loc_0070C986: push 00447F48h
  147. loc_0070C98B: push edi
  148. loc_0070C98C: push eax
  149. loc_0070C98D: call [004010CCh] ; __vbaHresultCheckObj
  150. loc_0070C993: mov ecx, var_20
  151. loc_0070C996: cmp cx, si
  152. loc_0070C999: jz 0070C9DEh
  153. loc_0070C99B: mov eax, [edi+0000003Ch]
  154. loc_0070C99E: cmp eax, esi
  155. loc_0070C9A0: jz 0070C9C5h
  156. loc_0070C9A2: cmp [eax], 0001h
  157. loc_0070C9A6: jnz 0070C9C5h
  158. loc_0070C9A8: mov edx, [eax+00000014h]
  159. loc_0070C9AB: movsx esi, cx
  160. loc_0070C9AE: mov ecx, [eax+00000010h]
  161. loc_0070C9B1: sub esi, edx
  162. loc_0070C9B3: cmp esi, ecx
  163. loc_0070C9B5: jb 0070C9BDh
  164. loc_0070C9B7: call [004011A8h] ; __vbaGenerateBoundsError
  165. loc_0070C9BD: lea eax, [esi+esi*2]
  166. loc_0070C9C0: shl eax, 02h
  167. loc_0070C9C3: jmp 0070C9CBh
  168. loc_0070C9C5: call [004011A8h] ; __vbaGenerateBoundsError
  169. loc_0070C9CB: mov edx, [edi+0000003Ch]
  170. loc_0070C9CE: mov ecx, [edx+0000000Ch]
  171. loc_0070C9D1: mov edx, [ecx+eax+00000004h]
  172. loc_0070C9D5: lea ecx, var_1C
  173. loc_0070C9D8: call [00401310h] ; __vbaStrCopy
  174. loc_0070C9DE: push 0070C9F0h
  175. loc_0070C9E3: jmp 0070C9EFh
  176. loc_0070C9E5: lea ecx, var_1C
  177. loc_0070C9E8: call [00401430h] ; __vbaFreeStr
  178. loc_0070C9EE: ret
  179. loc_0070C9EF: ret
  180. loc_0070C9F0: mov eax, Me
  181. loc_0070C9F3: push eax
  182. loc_0070C9F4: mov edx, [eax]
  183. loc_0070C9F6: call [edx+00000008h]
  184. loc_0070C9F9: mov eax, arg_10
  185. loc_0070C9FC: mov ecx, var_1C
  186. loc_0070C9FF: mov [eax], ecx
  187. loc_0070CA01: mov eax, var_4
  188. loc_0070CA04: mov ecx, var_14
  189. loc_0070CA07: pop edi
  190. loc_0070CA08: pop esi
  191. loc_0070CA09: mov fs:[00000000h], ecx
  192. loc_0070CA10: pop ebx
  193. loc_0070CA11: mov esp, ebp
  194. loc_0070CA13: pop ebp
  195. loc_0070CA14: retn 000Ch
  196. End Function
  197. Public Function AddEntry(strName, strAddress, blnEditMode) '70CA20
  198. loc_0070CA20: push ebp
  199. loc_0070CA21: mov ebp, esp
  200. loc_0070CA23: sub esp, 0000000Ch
  201. loc_0070CA26: push 00412856h ; __vbaExceptHandler
  202. loc_0070CA2B: mov eax, fs:[00000000h]
  203. loc_0070CA31: push eax
  204. loc_0070CA32: mov fs:[00000000h], esp
  205. loc_0070CA39: sub esp, 00000030h
  206. loc_0070CA3C: push ebx
  207. loc_0070CA3D: push esi
  208. loc_0070CA3E: push edi
  209. loc_0070CA3F: mov var_C, esp
  210. loc_0070CA42: mov var_8, 00410B28h
  211. loc_0070CA49: xor ebx, ebx
  212. loc_0070CA4B: mov var_4, ebx
  213. loc_0070CA4E: mov esi, Me
  214. loc_0070CA51: push esi
  215. loc_0070CA52: mov eax, [esi]
  216. loc_0070CA54: call [eax+00000004h]
  217. loc_0070CA57: mov eax, strName
  218. loc_0070CA5A: mov ecx, [esi]
  219. loc_0070CA5C: lea edx, var_20
  220. loc_0070CA5F: mov var_18, ebx
  221. loc_0070CA62: push edx
  222. loc_0070CA63: push eax
  223. loc_0070CA64: push esi
  224. loc_0070CA65: mov var_20, ebx
  225. loc_0070CA68: mov var_28, ebx
  226. loc_0070CA6B: mov var_2C, ebx
  227. loc_0070CA6E: mov var_30, ebx
  228. loc_0070CA71: call [ecx+0000001Ch]
  229. loc_0070CA74: cmp eax, ebx
  230. loc_0070CA76: jge 0070CA87h
  231. loc_0070CA78: push 0000001Ch
  232. loc_0070CA7A: push 00447F48h
  233. loc_0070CA7F: push esi
  234. loc_0070CA80: push eax
  235. loc_0070CA81: call [004010CCh] ; __vbaHresultCheckObj
  236. loc_0070CA87: mov eax, var_20
  237. loc_0070CA8A: cmp ax, bx
  238. loc_0070CA8D: mov edi, eax
  239. loc_0070CA8F: jnz 0070CB81h
  240. loc_0070CA95: cmp [esi+00000036h], bx
  241. loc_0070CA99: jz 0070CAB8h
  242. loc_0070CA9B: mov ebx, 00000001h
  243. loc_0070CAA0: lea edi, [esi+0000003Ch]
  244. loc_0070CAA3: push ebx
  245. loc_0070CAA4: push ebx
  246. loc_0070CAA5: push ebx
  247. loc_0070CAA6: push 0073C9D0h
  248. loc_0070CAAB: push edi
  249. loc_0070CAAC: push 0000000Ch
  250. loc_0070CAAE: push 00000020h
  251. loc_0070CAB0: call [00401220h] ; __vbaRedim
  252. loc_0070CAB6: jmp 0070CAF2h
  253. loc_0070CAB8: mov ecx, [esi+0000003Ch]
  254. loc_0070CABB: lea edi, [esi+0000003Ch]
  255. loc_0070CABE: push ecx
  256. loc_0070CABF: push 00000001h
  257. loc_0070CAC1: call [004012A4h] ; __vbaUbound
  258. loc_0070CAC7: mov ecx, eax
  259. loc_0070CAC9: add ecx, 00000001h
  260. loc_0070CACC: jo 0070CCCBh
  261. loc_0070CAD2: call [004011E4h] ; __vbaI2I4
  262. loc_0070CAD8: mov ebx, eax
  263. loc_0070CADA: push 00000001h
  264. loc_0070CADC: movsx edx, bx
  265. loc_0070CADF: push edx
  266. loc_0070CAE0: push 00000001h
  267. loc_0070CAE2: push 0073C9D0h
  268. loc_0070CAE7: push edi
  269. loc_0070CAE8: push 0000000Ch
  270. loc_0070CAEA: push 00000020h
  271. loc_0070CAEC: call [00401200h] ; __vbaRedimPreserve
  272. loc_0070CAF2: mov eax, [edi]
  273. loc_0070CAF4: add esp, 0000001Ch
  274. loc_0070CAF7: lea ecx, var_28
  275. loc_0070CAFA: push eax
  276. loc_0070CAFB: push ecx
  277. loc_0070CAFC: call [00401364h] ; __vbaAryLock
  278. loc_0070CB02: mov ecx, var_28
  279. loc_0070CB05: test ecx, ecx
  280. loc_0070CB07: jz 0070CB2Fh
  281. loc_0070CB09: cmp [ecx], 0001h
  282. loc_0070CB0D: jnz 0070CB2Fh
  283. loc_0070CB0F: mov edx, [ecx+00000014h]
  284. loc_0070CB12: mov eax, [ecx+00000010h]
  285. loc_0070CB15: movsx edi, bx
  286. loc_0070CB18: sub edi, edx
  287. loc_0070CB1A: cmp edi, eax
  288. loc_0070CB1C: jb 0070CB27h
  289. loc_0070CB1E: call [004011A8h] ; __vbaGenerateBoundsError
  290. loc_0070CB24: mov ecx, var_28
  291. loc_0070CB27: lea eax, [edi+edi*2]
  292. loc_0070CB2A: shl eax, 02h
  293. loc_0070CB2D: jmp 0070CB38h
  294. loc_0070CB2F: call [004011A8h] ; __vbaGenerateBoundsError
  295. loc_0070CB35: mov ecx, var_28
  296. loc_0070CB38: mov edi, [ecx+0000000Ch]
  297. loc_0070CB3B: mov edx, strName
  298. loc_0070CB3E: add edi, eax
  299. loc_0070CB40: mov edx, [edx]
  300. loc_0070CB42: mov ecx, edi
  301. loc_0070CB44: call [00401310h] ; __vbaStrCopy
  302. loc_0070CB4A: mov eax, strAddress
  303. loc_0070CB4D: lea ecx, [edi+00000004h]
  304. loc_0070CB50: mov edx, [eax]
  305. loc_0070CB52: call [00401310h] ; __vbaStrCopy
  306. loc_0070CB58: lea ecx, var_28
  307. loc_0070CB5B: mov [edi+00000008h], 0000h
  308. loc_0070CB61: push ecx
  309. loc_0070CB62: call [00401410h] ; __vbaAryUnlock
  310. loc_0070CB68: or eax, FFFFFFFFh
  311. loc_0070CB6B: mov [esi+00000036h], 0000h
  312. loc_0070CB71: mov [esi+00000034h], bx
  313. loc_0070CB75: mov var_18, eax
  314. loc_0070CB78: mov [esi+00000038h], ax
  315. loc_0070CB7C: jmp 0070CC84h
  316. loc_0070CB81: mov edx, blnEditMode
  317. loc_0070CB84: cmp [edx], bx
  318. loc_0070CB87: jz 0070CBFFh
  319. loc_0070CB89: or eax, FFFFFFFFh
  320. loc_0070CB8C: lea ecx, var_2C
  321. loc_0070CB8F: mov var_18, eax
  322. loc_0070CB92: mov [esi+00000038h], ax
  323. loc_0070CB96: mov eax, [esi+0000003Ch]
  324. loc_0070CB99: push eax
  325. loc_0070CB9A: push ecx
  326. loc_0070CB9B: call [00401364h] ; __vbaAryLock
  327. loc_0070CBA1: mov ecx, var_2C
  328. loc_0070CBA4: cmp ecx, ebx
  329. loc_0070CBA6: jz 0070CBCEh
  330. loc_0070CBA8: cmp [ecx], 0001h
  331. loc_0070CBAC: jnz 0070CBCEh
  332. loc_0070CBAE: mov edx, [ecx+00000014h]
  333. loc_0070CBB1: mov eax, [ecx+00000010h]
  334. loc_0070CBB4: movsx esi, di
  335. loc_0070CBB7: sub esi, edx
  336. loc_0070CBB9: cmp esi, eax
  337. loc_0070CBBB: jb 0070CBC6h
  338. loc_0070CBBD: call [004011A8h] ; __vbaGenerateBoundsError
  339. loc_0070CBC3: mov ecx, var_2C
  340. loc_0070CBC6: lea eax, [esi+esi*2]
  341. loc_0070CBC9: shl eax, 02h
  342. loc_0070CBCC: jmp 0070CBD7h
  343. loc_0070CBCE: call [004011A8h] ; __vbaGenerateBoundsError
  344. loc_0070CBD4: mov ecx, var_2C
  345. loc_0070CBD7: mov esi, [ecx+0000000Ch]
  346. loc_0070CBDA: mov edx, strName
  347. loc_0070CBDD: mov edi, [00401310h] ; __vbaStrCopy
  348. loc_0070CBE3: add esi, eax
  349. loc_0070CBE5: mov edx, [edx]
  350. loc_0070CBE7: mov ecx, esi
  351. loc_0070CBE9: call edi
  352. loc_0070CBEB: mov eax, strAddress
  353. loc_0070CBEE: lea ecx, [esi+00000004h]
  354. loc_0070CBF1: mov edx, [eax]
  355. loc_0070CBF3: call edi
  356. loc_0070CBF5: lea ecx, var_2C
  357. loc_0070CBF8: mov [esi+00000008h], bx
  358. loc_0070CBFC: push ecx
  359. loc_0070CBFD: jmp 0070CC7Eh
  360. loc_0070CBFF: mov edx, [esi+0000003Ch]
  361. loc_0070CC02: lea eax, var_30
  362. loc_0070CC05: push edx
  363. loc_0070CC06: push eax
  364. loc_0070CC07: call [00401364h] ; __vbaAryLock
  365. loc_0070CC0D: mov ecx, var_30
  366. loc_0070CC10: cmp ecx, ebx
  367. loc_0070CC12: jz 0070CC3Ah
  368. loc_0070CC14: cmp [ecx], 0001h
  369. loc_0070CC18: jnz 0070CC3Ah
  370. loc_0070CC1A: mov edx, [ecx+00000014h]
  371. loc_0070CC1D: mov eax, [ecx+00000010h]
  372. loc_0070CC20: movsx edi, di
  373. loc_0070CC23: sub edi, edx
  374. loc_0070CC25: cmp edi, eax
  375. loc_0070CC27: jb 0070CC32h
  376. loc_0070CC29: call [004011A8h] ; __vbaGenerateBoundsError
  377. loc_0070CC2F: mov ecx, var_30
  378. loc_0070CC32: lea eax, [edi+edi*2]
  379. loc_0070CC35: shl eax, 02h
  380. loc_0070CC38: jmp 0070CC43h
  381. loc_0070CC3A: call [004011A8h] ; __vbaGenerateBoundsError
  382. loc_0070CC40: mov ecx, var_30
  383. loc_0070CC43: mov edi, [ecx+0000000Ch]
  384. loc_0070CC46: add edi, eax
  385. loc_0070CC48: cmp [edi+00000008h], bx
  386. loc_0070CC4C: jz 0070CC77h
  387. loc_0070CC4E: mov ecx, strName
  388. loc_0070CC51: or eax, FFFFFFFFh
  389. loc_0070CC54: mov [esi+00000038h], ax
  390. loc_0070CC58: mov esi, [00401310h] ; __vbaStrCopy
  391. loc_0070CC5E: mov edx, [ecx]
  392. loc_0070CC60: mov ecx, edi
  393. loc_0070CC62: mov var_18, eax
  394. loc_0070CC65: call __vbaStrCopy
  395. loc_0070CC67: mov edx, strAddress
  396. loc_0070CC6A: lea ecx, [edi+00000004h]
  397. loc_0070CC6D: mov edx, [edx]
  398. loc_0070CC6F: call __vbaStrCopy
  399. loc_0070CC71: mov [edi+00000008h], bx
  400. loc_0070CC75: jmp 0070CC7Ah
  401. loc_0070CC77: mov var_18, ebx
  402. loc_0070CC7A: lea eax, var_30
  403. loc_0070CC7D: push eax
  404. loc_0070CC7E: call [00401410h] ; __vbaAryUnlock
  405. loc_0070CC84: push 0070CCA2h
  406. loc_0070CC89: mov esi, [00401410h] ; __vbaAryUnlock
  407. loc_0070CC8F: lea ecx, var_28
  408. loc_0070CC92: push ecx
  409. loc_0070CC93: call __vbaAryUnlock
  410. loc_0070CC95: lea edx, var_2C
  411. loc_0070CC98: push edx
  412. loc_0070CC99: call __vbaAryUnlock
  413. loc_0070CC9B: lea eax, var_30
  414. loc_0070CC9E: push eax
  415. loc_0070CC9F: call __vbaAryUnlock
  416. loc_0070CCA1: ret
  417. loc_0070CCA2: mov eax, Me
  418. loc_0070CCA5: push eax
  419. loc_0070CCA6: mov ecx, [eax]
  420. loc_0070CCA8: call [ecx+00000008h]
  421. loc_0070CCAB: mov edx, arg_18
  422. loc_0070CCAE: mov ax, var_18
  423. loc_0070CCB2: mov [edx], ax
  424. loc_0070CCB5: mov eax, var_4
  425. loc_0070CCB8: mov ecx, var_14
  426. loc_0070CCBB: pop edi
  427. loc_0070CCBC: pop esi
  428. loc_0070CCBD: mov fs:[00000000h], ecx
  429. loc_0070CCC4: pop ebx
  430. loc_0070CCC5: mov esp, ebp
  431. loc_0070CCC7: pop ebp
  432. loc_0070CCC8: retn 0014h
  433. End Function
  434. Public Function DeleteEntry(strName) '70CCE0
  435. loc_0070CCE0: push ebp
  436. loc_0070CCE1: mov ebp, esp
  437. loc_0070CCE3: sub esp, 0000000Ch
  438. loc_0070CCE6: push 00412856h ; __vbaExceptHandler
  439. loc_0070CCEB: mov eax, fs:[00000000h]
  440. loc_0070CCF1: push eax
  441. loc_0070CCF2: mov fs:[00000000h], esp
  442. loc_0070CCF9: sub esp, 00000018h
  443. loc_0070CCFC: push ebx
  444. loc_0070CCFD: push esi
  445. loc_0070CCFE: push edi
  446. loc_0070CCFF: mov var_C, esp
  447. loc_0070CD02: mov var_8, 00410B38h
  448. loc_0070CD09: xor ebx, ebx
  449. loc_0070CD0B: mov var_4, ebx
  450. loc_0070CD0E: mov esi, Me
  451. loc_0070CD11: push esi
  452. loc_0070CD12: mov eax, [esi]
  453. loc_0070CD14: call [eax+00000004h]
  454. loc_0070CD17: mov eax, strName
  455. loc_0070CD1A: mov ecx, [esi]
  456. loc_0070CD1C: lea edx, var_20
  457. loc_0070CD1F: mov var_1C, ebx
  458. loc_0070CD22: push edx
  459. loc_0070CD23: push eax
  460. loc_0070CD24: push esi
  461. loc_0070CD25: mov var_20, ebx
  462. loc_0070CD28: call [ecx+0000001Ch]
  463. loc_0070CD2B: cmp eax, ebx
  464. loc_0070CD2D: jge 0070CD3Eh
  465. loc_0070CD2F: push 0000001Ch
  466. loc_0070CD31: push 00447F48h
  467. loc_0070CD36: push esi
  468. loc_0070CD37: push eax
  469. loc_0070CD38: call [004010CCh] ; __vbaHresultCheckObj
  470. loc_0070CD3E: mov ecx, var_20
  471. loc_0070CD41: cmp cx, bx
  472. loc_0070CD44: jz 0070CDA4h
  473. loc_0070CD46: mov eax, [esi+0000003Ch]
  474. loc_0070CD49: cmp eax, ebx
  475. loc_0070CD4B: jz 0070CD70h
  476. loc_0070CD4D: cmp [eax], 0001h
  477. loc_0070CD51: jnz 0070CD70h
  478. loc_0070CD53: mov edx, [eax+00000014h]
  479. loc_0070CD56: movsx edi, cx
  480. loc_0070CD59: mov ecx, [eax+00000010h]
  481. loc_0070CD5C: sub edi, edx
  482. loc_0070CD5E: cmp edi, ecx
  483. loc_0070CD60: jb 0070CD68h
  484. loc_0070CD62: call [004011A8h] ; __vbaGenerateBoundsError
  485. loc_0070CD68: lea eax, [edi+edi*2]
  486. loc_0070CD6B: shl eax, 02h
  487. loc_0070CD6E: jmp 0070CD76h
  488. loc_0070CD70: call [004011A8h] ; __vbaGenerateBoundsError
  489. loc_0070CD76: mov ecx, [esi+0000003Ch]
  490. loc_0070CD79: mov edx, [ecx+0000000Ch]
  491. loc_0070CD7C: or ecx, FFFFFFFFh
  492. loc_0070CD7F: mov [edx+eax+00000008h], cx
  493. loc_0070CD84: mov ax, [esi+00000034h]
  494. loc_0070CD88: sub ax, 0001h
  495. loc_0070CD8C: jo 0070CDD0h
  496. loc_0070CD8E: cmp ax, bx
  497. loc_0070CD91: mov [esi+00000034h], ax
  498. loc_0070CD95: jnz 0070CD9Bh
  499. loc_0070CD97: mov [esi+00000036h], cx
  500. loc_0070CD9B: mov var_1C, ecx
  501. loc_0070CD9E: mov [esi+00000038h], cx
  502. loc_0070CDA2: jmp 0070CDA7h
  503. loc_0070CDA4: mov var_1C, ebx
  504. loc_0070CDA7: mov eax, Me
  505. loc_0070CDAA: push eax
  506. loc_0070CDAB: mov ecx, [eax]
  507. loc_0070CDAD: call [ecx+00000008h]
  508. loc_0070CDB0: mov edx, arg_10
  509. loc_0070CDB3: mov ax, var_1C
  510. loc_0070CDB7: mov [edx], ax
  511. loc_0070CDBA: mov eax, var_4
  512. loc_0070CDBD: mov ecx, var_14
  513. loc_0070CDC0: pop edi
  514. loc_0070CDC1: pop esi
  515. loc_0070CDC2: mov fs:[00000000h], ecx
  516. loc_0070CDC9: pop ebx
  517. loc_0070CDCA: mov esp, ebp
  518. loc_0070CDCC: pop ebp
  519. loc_0070CDCD: retn 000Ch
  520. End Function
  521. Public Sub LoadAddresses() '70CDE0
  522. loc_0070CDE0: push ebp
  523. loc_0070CDE1: mov ebp, esp
  524. loc_0070CDE3: sub esp, 00000018h
  525. loc_0070CDE6: push 00412856h ; __vbaExceptHandler
  526. loc_0070CDEB: mov eax, fs:[00000000h]
  527. loc_0070CDF1: push eax
  528. loc_0070CDF2: mov fs:[00000000h], esp
  529. loc_0070CDF9: mov eax, 000000A0h
  530. loc_0070CDFE: call 00412850h ; __vbaChkstk
  531. loc_0070CE03: push ebx
  532. loc_0070CE04: push esi
  533. loc_0070CE05: push edi
  534. loc_0070CE06: mov var_18, esp
  535. loc_0070CE09: mov var_14, 00410B40h ; "'"
  536. loc_0070CE10: mov var_10, 00000000h
  537. loc_0070CE17: mov var_C, 00000000h
  538. loc_0070CE1E: mov eax, Me
  539. loc_0070CE21: mov ecx, [eax]
  540. loc_0070CE23: mov edx, Me
  541. loc_0070CE26: push edx
  542. loc_0070CE27: call [ecx+00000004h]
  543. loc_0070CE2A: mov var_4, 00000001h
  544. loc_0070CE31: mov var_4, 00000002h
  545. loc_0070CE38: push FFFFFFFFh
  546. loc_0070CE3A: call [00401124h] ; __vbaOnError
  547. loc_0070CE40: mov var_4, 00000003h
  548. loc_0070CE47: cmp [0073C818h], 00000000h
  549. loc_0070CE4E: jnz 0070CE6Ch
  550. loc_0070CE50: push 0073C818h
  551. loc_0070CE55: push 00441F00h
  552. loc_0070CE5A: call [004012FCh] ; __vbaNew2
  553. loc_0070CE60: mov var_A0, 0073C818h
  554. loc_0070CE6A: jmp 0070CE76h
  555. loc_0070CE6C: mov var_A0, 0073C818h
  556. loc_0070CE76: mov eax, var_A0
  557. loc_0070CE7C: mov ecx, [eax]
  558. loc_0070CE7E: mov var_78, ecx
  559. loc_0070CE81: lea edx, var_34
  560. loc_0070CE84: push edx
  561. loc_0070CE85: mov eax, var_78
  562. loc_0070CE88: mov ecx, [eax]
  563. loc_0070CE8A: mov edx, var_78
  564. loc_0070CE8D: push edx
  565. loc_0070CE8E: call [ecx+00000014h]
  566. loc_0070CE91: fnclex
  567. loc_0070CE93: mov var_7C, eax
  568. loc_0070CE96: cmp var_7C, 00000000h
  569. loc_0070CE9A: jge 0070CEB9h
  570. loc_0070CE9C: push 00000014h
  571. loc_0070CE9E: push 00441EF0h
  572. loc_0070CEA3: mov eax, var_78
  573. loc_0070CEA6: push eax
  574. loc_0070CEA7: mov ecx, var_7C
  575. loc_0070CEAA: push ecx
  576. loc_0070CEAB: call [004010CCh] ; __vbaHresultCheckObj
  577. loc_0070CEB1: mov var_A4, eax
  578. loc_0070CEB7: jmp 0070CEC3h
  579. loc_0070CEB9: mov var_A4, 00000000h
  580. loc_0070CEC3: mov edx, var_34
  581. loc_0070CEC6: mov var_80, edx
  582. loc_0070CEC9: lea eax, var_30
  583. loc_0070CECC: push eax
  584. loc_0070CECD: mov ecx, var_80
  585. loc_0070CED0: mov edx, [ecx]
  586. loc_0070CED2: mov eax, var_80
  587. loc_0070CED5: push eax
  588. loc_0070CED6: call [edx+00000050h]
  589. loc_0070CED9: fnclex
  590. loc_0070CEDB: mov var_84, eax
  591. loc_0070CEE1: cmp var_84, 00000000h
  592. loc_0070CEE8: jge 0070CF0Ah
  593. loc_0070CEEA: push 00000050h
  594. loc_0070CEEC: push 004437B4h
  595. loc_0070CEF1: mov ecx, var_80
  596. loc_0070CEF4: push ecx
  597. loc_0070CEF5: mov edx, var_84
  598. loc_0070CEFB: push edx
  599. loc_0070CEFC: call [004010CCh] ; __vbaHresultCheckObj
  600. loc_0070CF02: mov var_A8, eax
  601. loc_0070CF08: jmp 0070CF14h
  602. loc_0070CF0A: mov var_A8, 00000000h
  603. loc_0070CF14: mov eax, var_30
  604. loc_0070CF17: mov var_9C, eax
  605. loc_0070CF1D: mov var_30, 00000000h
  606. loc_0070CF24: mov edx, var_9C
  607. loc_0070CF2A: lea ecx, var_2C
  608. loc_0070CF2D: call [004013C0h] ; __vbaStrMove
  609. loc_0070CF33: lea ecx, var_34
  610. loc_0070CF36: call [0040142Ch] ; __vbaFreeObj
  611. loc_0070CF3C: mov var_4, 00000004h
  612. loc_0070CF43: lea ecx, var_2C
  613. loc_0070CF46: mov var_5C, ecx
  614. loc_0070CF49: mov var_64, 00004008h
  615. loc_0070CF50: push 00000001h
  616. loc_0070CF52: lea edx, var_64
  617. loc_0070CF55: push edx
  618. loc_0070CF56: lea eax, var_44
  619. loc_0070CF59: push eax
  620. loc_0070CF5A: call [004013D8h] ; rtcRightCharVar
  621. loc_0070CF60: mov var_6C, 00441F24h ; "\"
  622. loc_0070CF67: mov var_74, 00008008h
  623. loc_0070CF6E: lea ecx, var_44
  624. loc_0070CF71: push ecx
  625. loc_0070CF72: lea edx, var_74
  626. loc_0070CF75: push edx
  627. loc_0070CF76: call [00401348h] ; __vbaVarTstNe
  628. loc_0070CF7C: mov var_78, ax
  629. loc_0070CF80: lea ecx, var_44
  630. loc_0070CF83: call [00401030h] ; __vbaFreeVar
  631. loc_0070CF89: movsx eax, var_78
  632. loc_0070CF8D: test eax, eax
  633. loc_0070CF8F: jz 0070CFB2h
  634. loc_0070CF91: mov var_4, 00000005h
  635. loc_0070CF98: mov ecx, var_2C
  636. loc_0070CF9B: push ecx
  637. loc_0070CF9C: push 00441F24h ; "\"
  638. loc_0070CFA1: call [00401098h] ; __vbaStrCat
  639. loc_0070CFA7: mov edx, eax
  640. loc_0070CFA9: lea ecx, var_2C
  641. loc_0070CFAC: call [004013C0h] ; __vbaStrMove
  642. loc_0070CFB2: mov var_4, 00000007h
  643. loc_0070CFB9: mov edx, var_2C
  644. loc_0070CFBC: push edx
  645. loc_0070CFBD: push 0043DAACh ; "AddressBook"
  646. loc_0070CFC2: call [00401098h] ; __vbaStrCat
  647. loc_0070CFC8: mov edx, eax
  648. loc_0070CFCA: lea ecx, var_2C
  649. loc_0070CFCD: call [004013C0h] ; __vbaStrMove
  650. loc_0070CFD3: mov var_4, 00000008h
  651. loc_0070CFDA: lea eax, var_2C
  652. loc_0070CFDD: mov var_5C, eax
  653. loc_0070CFE0: mov var_64, 00004008h
  654. loc_0070CFE7: push 00000000h
  655. loc_0070CFE9: lea ecx, var_64
  656. loc_0070CFEC: push ecx
  657. loc_0070CFED: call [004012D0h] ; rtcDir
  658. loc_0070CFF3: mov edx, eax
  659. loc_0070CFF5: lea ecx, var_30
  660. loc_0070CFF8: call [004013C0h] ; __vbaStrMove
  661. loc_0070CFFE: push eax
  662. loc_0070CFFF: call [00401044h] ; __vbaLenBstr
  663. loc_0070D005: neg eax
  664. loc_0070D007: sbb eax, eax
  665. loc_0070D009: neg eax
  666. loc_0070D00B: neg eax
  667. loc_0070D00D: mov var_78, ax
  668. loc_0070D011: lea ecx, var_30
  669. loc_0070D014: call [00401430h] ; __vbaFreeStr
  670. loc_0070D01A: movsx edx, var_78
  671. loc_0070D01E: test edx, edx
  672. loc_0070D020: jz 0070D2B2h
  673. loc_0070D026: mov var_4, 00000009h
  674. loc_0070D02D: mov eax, Me
  675. loc_0070D030: mov [eax+00000036h], 0000h
  676. loc_0070D036: mov var_4, 0000000Ah
  677. loc_0070D03D: mov var_3C, 80020004h
  678. loc_0070D044: mov var_44, 0000000Ah
  679. loc_0070D04B: lea ecx, var_44
  680. loc_0070D04E: push ecx
  681. loc_0070D04F: call [004012F0h] ; rtcFreeFile
  682. loc_0070D055: mov var_24, ax
  683. loc_0070D059: lea ecx, var_44
  684. loc_0070D05C: call [00401030h] ; __vbaFreeVar
  685. loc_0070D062: mov var_4, 0000000Bh
  686. loc_0070D069: mov edx, var_2C
  687. loc_0070D06C: push edx
  688. loc_0070D06D: mov ax, var_24
  689. loc_0070D071: push eax
  690. loc_0070D072: push FFFFFFFFh
  691. loc_0070D074: push 00000001h
  692. loc_0070D076: call [004012DCh] ; __vbaFileOpen
  693. loc_0070D07C: mov var_4, 0000000Ch
  694. loc_0070D083: mov cx, var_24
  695. loc_0070D087: push ecx
  696. loc_0070D088: call [00401300h] ; rtcEndOfFile
  697. loc_0070D08E: movsx edx, ax
  698. loc_0070D091: test edx, edx
  699. loc_0070D093: jnz 0070D26Ah
  700. loc_0070D099: mov var_4, 0000000Dh
  701. loc_0070D0A0: mov ax, var_28
  702. loc_0070D0A4: add ax, 0001h
  703. loc_0070D0A8: jo 0070D33Bh
  704. loc_0070D0AE: mov var_28, ax
  705. loc_0070D0B2: mov var_4, 0000000Eh
  706. loc_0070D0B9: push 00000001h
  707. loc_0070D0BB: movsx ecx, var_28
  708. loc_0070D0BF: push ecx
  709. loc_0070D0C0: push 00000001h
  710. loc_0070D0C2: push 0073C9D0h
  711. loc_0070D0C7: mov edx, Me
  712. loc_0070D0CA: add edx, 0000003Ch
  713. loc_0070D0CD: push edx
  714. loc_0070D0CE: push 0000000Ch
  715. loc_0070D0D0: push 00000020h
  716. loc_0070D0D2: call [00401200h] ; __vbaRedimPreserve
  717. loc_0070D0D8: add esp, 0000001Ch
  718. loc_0070D0DB: mov var_4, 0000000Fh
  719. loc_0070D0E2: mov eax, Me
  720. loc_0070D0E5: cmp [eax+0000003Ch], 00000000h
  721. loc_0070D0E9: jz 0070D13Bh
  722. loc_0070D0EB: mov ecx, Me
  723. loc_0070D0EE: mov edx, [ecx+0000003Ch]
  724. loc_0070D0F1: cmp [edx], 0001h
  725. loc_0070D0F5: jnz 0070D13Bh
  726. loc_0070D0F7: movsx eax, var_28
  727. loc_0070D0FB: mov ecx, Me
  728. loc_0070D0FE: mov edx, [ecx+0000003Ch]
  729. loc_0070D101: sub eax, [edx+00000014h]
  730. loc_0070D104: mov var_7C, eax
  731. loc_0070D107: mov eax, Me
  732. loc_0070D10A: mov ecx, [eax+0000003Ch]
  733. loc_0070D10D: mov edx, var_7C
  734. loc_0070D110: cmp edx, [ecx+00000010h]
  735. loc_0070D113: jae 0070D121h
  736. loc_0070D115: mov var_AC, 00000000h
  737. loc_0070D11F: jmp 0070D12Dh
  738. loc_0070D121: call [004011A8h] ; __vbaGenerateBoundsError
  739. loc_0070D127: mov var_AC, eax
  740. loc_0070D12D: mov eax, var_7C
  741. loc_0070D130: imul eax, eax, 0000000Ch
  742. loc_0070D133: mov var_B0, eax
  743. loc_0070D139: jmp 0070D147h
  744. loc_0070D13B: call [004011A8h] ; __vbaGenerateBoundsError
  745. loc_0070D141: mov var_B0, eax
  746. loc_0070D147: mov ecx, Me
  747. loc_0070D14A: cmp [ecx+0000003Ch], 00000000h
  748. loc_0070D14E: jz 0070D1A0h
  749. loc_0070D150: mov edx, Me
  750. loc_0070D153: mov eax, [edx+0000003Ch]
  751. loc_0070D156: cmp [eax], 0001h
  752. loc_0070D15A: jnz 0070D1A0h
  753. loc_0070D15C: movsx ecx, var_28
  754. loc_0070D160: mov edx, Me
  755. loc_0070D163: mov eax, [edx+0000003Ch]
  756. loc_0070D166: sub ecx, [eax+00000014h]
  757. loc_0070D169: mov var_78, ecx
  758. loc_0070D16C: mov ecx, Me
  759. loc_0070D16F: mov edx, [ecx+0000003Ch]
  760. loc_0070D172: mov eax, var_78
  761. loc_0070D175: cmp eax, [edx+00000010h]
  762. loc_0070D178: jae 0070D186h
  763. loc_0070D17A: mov var_B4, 00000000h
  764. loc_0070D184: jmp 0070D192h
  765. loc_0070D186: call [004011A8h] ; __vbaGenerateBoundsError
  766. loc_0070D18C: mov var_B4, eax
  767. loc_0070D192: mov ecx, var_78
  768. loc_0070D195: imul ecx, ecx, 0000000Ch
  769. loc_0070D198: mov var_B8, ecx
  770. loc_0070D19E: jmp 0070D1ACh
  771. loc_0070D1A0: call [004011A8h] ; __vbaGenerateBoundsError
  772. loc_0070D1A6: mov var_B8, eax
  773. loc_0070D1AC: mov edx, Me
  774. loc_0070D1AF: mov eax, [edx+0000003Ch]
  775. loc_0070D1B2: mov ecx, [eax+0000000Ch]
  776. loc_0070D1B5: mov edx, var_B0
  777. loc_0070D1BB: lea eax, [ecx+edx+00000004h]
  778. loc_0070D1BF: push eax
  779. loc_0070D1C0: mov ecx, Me
  780. loc_0070D1C3: mov edx, [ecx+0000003Ch]
  781. loc_0070D1C6: mov eax, [edx+0000000Ch]
  782. loc_0070D1C9: add eax, var_B8
  783. loc_0070D1CF: push eax
  784. loc_0070D1D0: mov cx, var_24
  785. loc_0070D1D4: push ecx
  786. loc_0070D1D5: push 00474D3Ch
  787. loc_0070D1DA: call [0040125Ch] ; __vbaInputFile
  788. loc_0070D1E0: add esp, 00000010h
  789. loc_0070D1E3: mov var_4, 00000010h
  790. loc_0070D1EA: mov edx, Me
  791. loc_0070D1ED: cmp [edx+0000003Ch], 00000000h
  792. loc_0070D1F1: jz 0070D243h
  793. loc_0070D1F3: mov eax, Me
  794. loc_0070D1F6: mov ecx, [eax+0000003Ch]
  795. loc_0070D1F9: cmp [ecx], 0001h
  796. loc_0070D1FD: jnz 0070D243h
  797. loc_0070D1FF: movsx edx, var_28
  798. loc_0070D203: mov eax, Me
  799. loc_0070D206: mov ecx, [eax+0000003Ch]
  800. loc_0070D209: sub edx, [ecx+00000014h]
  801. loc_0070D20C: mov var_78, edx
  802. loc_0070D20F: mov edx, Me
  803. loc_0070D212: mov eax, [edx+0000003Ch]
  804. loc_0070D215: mov ecx, var_78
  805. loc_0070D218: cmp ecx, [eax+00000010h]
  806. loc_0070D21B: jae 0070D229h
  807. loc_0070D21D: mov var_BC, 00000000h
  808. loc_0070D227: jmp 0070D235h
  809. loc_0070D229: call [004011A8h] ; __vbaGenerateBoundsError
  810. loc_0070D22F: mov var_BC, eax
  811. loc_0070D235: mov edx, var_78
  812. loc_0070D238: imul edx, edx, 0000000Ch
  813. loc_0070D23B: mov var_C0, edx
  814. loc_0070D241: jmp 0070D24Fh
  815. loc_0070D243: call [004011A8h] ; __vbaGenerateBoundsError
  816. loc_0070D249: mov var_C0, eax
  817. loc_0070D24F: mov eax, Me
  818. loc_0070D252: mov ecx, [eax+0000003Ch]
  819. loc_0070D255: mov edx, [ecx+0000000Ch]
  820. loc_0070D258: mov eax, var_C0
  821. loc_0070D25E: mov [edx+eax+00000008h], 0000h
  822. loc_0070D265: jmp 0070D07Ch
  823. loc_0070D26A: mov var_4, 00000012h
  824. loc_0070D271: mov ecx, Me
  825. loc_0070D274: mov dx, var_28
  826. loc_0070D278: mov [ecx+00000034h], dx
  827. loc_0070D27C: mov var_4, 00000013h
  828. loc_0070D283: mov eax, Me
  829. loc_0070D286: movsx ecx, [eax+00000034h]
  830. loc_0070D28A: test ecx, ecx
  831. loc_0070D28C: jnz 0070D29Eh
  832. loc_0070D28E: mov var_4, 00000014h
  833. loc_0070D295: mov edx, Me
  834. loc_0070D298: mov [edx+00000036h], FFFFFFh
  835. loc_0070D29E: mov var_4, 00000016h
  836. loc_0070D2A5: mov ax, var_24
  837. loc_0070D2A9: push eax
  838. loc_0070D2AA: call [00401194h] ; __vbaFileClose
  839. loc_0070D2B0: jmp 0070D2D2h
  840. loc_0070D2B2: mov var_4, 00000018h
  841. loc_0070D2B9: mov ecx, Me
  842. loc_0070D2BC: mov [ecx+00000036h], FFFFFFh
  843. loc_0070D2C2: mov var_4, 00000019h
  844. loc_0070D2C9: mov edx, Me
  845. loc_0070D2CC: mov [edx+00000034h], 0000h
  846. loc_0070D2D2: mov var_4, 0000001Bh
  847. loc_0070D2D9: mov eax, Me
  848. loc_0070D2DC: mov [eax+00000038h], 0000h
  849. loc_0070D2E2: push 0070D319h
  850. loc_0070D2E7: jmp 0070D30Fh
  851. loc_0070D2E9: lea ecx, var_30
  852. loc_0070D2EC: call [00401430h] ; __vbaFreeStr
  853. loc_0070D2F2: lea ecx, var_34
  854. loc_0070D2F5: call [0040142Ch] ; __vbaFreeObj
  855. loc_0070D2FB: lea ecx, var_54
  856. loc_0070D2FE: push ecx
  857. loc_0070D2FF: lea edx, var_44
  858. loc_0070D302: push edx
  859. loc_0070D303: push 00000002h
  860. loc_0070D305: call [00401050h] ; __vbaFreeVarList
  861. loc_0070D30B: add esp, 0000000Ch
  862. loc_0070D30E: ret
  863. loc_0070D30F: lea ecx, var_2C
  864. loc_0070D312: call [00401430h] ; __vbaFreeStr
  865. loc_0070D318: ret
  866. loc_0070D319: mov eax, Me
  867. loc_0070D31C: mov ecx, [eax]
  868. loc_0070D31E: mov edx, Me
  869. loc_0070D321: push edx
  870. loc_0070D322: call [ecx+00000008h]
  871. loc_0070D325: mov eax, var_10
  872. loc_0070D328: mov ecx, var_20
  873. loc_0070D32B: mov fs:[00000000h], ecx
  874. loc_0070D332: pop edi
  875. loc_0070D333: pop esi
  876. loc_0070D334: pop ebx
  877. loc_0070D335: mov esp, ebp
  878. loc_0070D337: pop ebp
  879. loc_0070D338: retn 0004h
  880. End Sub
  881. Public Sub SaveAddresses() '70D350
  882. loc_0070D350: push ebp
  883. loc_0070D351: mov ebp, esp
  884. loc_0070D353: sub esp, 00000018h
  885. loc_0070D356: push 00412856h ; __vbaExceptHandler
  886. loc_0070D35B: mov eax, fs:[00000000h]
  887. loc_0070D361: push eax
  888. loc_0070D362: mov fs:[00000000h], esp
  889. loc_0070D369: mov eax, 000000A8h
  890. loc_0070D36E: call 00412850h ; __vbaChkstk
  891. loc_0070D373: push ebx
  892. loc_0070D374: push esi
  893. loc_0070D375: push edi
  894. loc_0070D376: mov var_18, esp
  895. loc_0070D379: mov var_14, 00410BD0h ; "'"
  896. loc_0070D380: mov var_10, 00000000h
  897. loc_0070D387: mov var_C, 00000000h
  898. loc_0070D38E: mov eax, Me
  899. loc_0070D391: mov ecx, [eax]
  900. loc_0070D393: mov edx, Me
  901. loc_0070D396: push edx
  902. loc_0070D397: call [ecx+00000004h]
  903. loc_0070D39A: mov var_4, 00000001h
  904. loc_0070D3A1: mov var_4, 00000002h
  905. loc_0070D3A8: push FFFFFFFFh
  906. loc_0070D3AA: call [00401124h] ; __vbaOnError
  907. loc_0070D3B0: mov var_4, 00000003h
  908. loc_0070D3B7: mov eax, Me
  909. loc_0070D3BA: movsx ecx, [eax+00000038h]
  910. loc_0070D3BE: test ecx, ecx
  911. loc_0070D3C0: jz 0070D83Fh
  912. loc_0070D3C6: mov var_4, 00000004h
  913. loc_0070D3CD: cmp [0073C818h], 00000000h
  914. loc_0070D3D4: jnz 0070D3F2h
  915. loc_0070D3D6: push 0073C818h
  916. loc_0070D3DB: push 00441F00h
  917. loc_0070D3E0: call [004012FCh] ; __vbaNew2
  918. loc_0070D3E6: mov var_A8, 0073C818h
  919. loc_0070D3F0: jmp 0070D3FCh
  920. loc_0070D3F2: mov var_A8, 0073C818h
  921. loc_0070D3FC: mov edx, var_A8
  922. loc_0070D402: mov eax, [edx]
  923. loc_0070D404: mov var_78, eax
  924. loc_0070D407: lea ecx, var_34
  925. loc_0070D40A: push ecx
  926. loc_0070D40B: mov edx, var_78
  927. loc_0070D40E: mov eax, [edx]
  928. loc_0070D410: mov ecx, var_78
  929. loc_0070D413: push ecx
  930. loc_0070D414: call [eax+00000014h]
  931. loc_0070D417: fnclex
  932. loc_0070D419: mov var_7C, eax
  933. loc_0070D41C: cmp var_7C, 00000000h
  934. loc_0070D420: jge 0070D43Fh
  935. loc_0070D422: push 00000014h
  936. loc_0070D424: push 00441EF0h
  937. loc_0070D429: mov edx, var_78
  938. loc_0070D42C: push edx
  939. loc_0070D42D: mov eax, var_7C
  940. loc_0070D430: push eax
  941. loc_0070D431: call [004010CCh] ; __vbaHresultCheckObj
  942. loc_0070D437: mov var_AC, eax
  943. loc_0070D43D: jmp 0070D449h
  944. loc_0070D43F: mov var_AC, 00000000h
  945. loc_0070D449: mov ecx, var_34
  946. loc_0070D44C: mov var_80, ecx
  947. loc_0070D44F: lea edx, var_30
  948. loc_0070D452: push edx
  949. loc_0070D453: mov eax, var_80
  950. loc_0070D456: mov ecx, [eax]
  951. loc_0070D458: mov edx, var_80
  952. loc_0070D45B: push edx
  953. loc_0070D45C: call [ecx+00000050h]
  954. loc_0070D45F: fnclex
  955. loc_0070D461: mov var_84, eax
  956. loc_0070D467: cmp var_84, 00000000h
  957. loc_0070D46E: jge 0070D490h
  958. loc_0070D470: push 00000050h
  959. loc_0070D472: push 004437B4h
  960. loc_0070D477: mov eax, var_80
  961. loc_0070D47A: push eax
  962. loc_0070D47B: mov ecx, var_84
  963. loc_0070D481: push ecx
  964. loc_0070D482: call [004010CCh] ; __vbaHresultCheckObj
  965. loc_0070D488: mov var_B0, eax
  966. loc_0070D48E: jmp 0070D49Ah
  967. loc_0070D490: mov var_B0, 00000000h
  968. loc_0070D49A: mov edx, var_30
  969. loc_0070D49D: mov var_A4, edx
  970. loc_0070D4A3: mov var_30, 00000000h
  971. loc_0070D4AA: mov edx, var_A4
  972. loc_0070D4B0: lea ecx, var_2C
  973. loc_0070D4B3: call [004013C0h] ; __vbaStrMove
  974. loc_0070D4B9: lea ecx, var_34
  975. loc_0070D4BC: call [0040142Ch] ; __vbaFreeObj
  976. loc_0070D4C2: mov var_4, 00000005h
  977. loc_0070D4C9: lea eax, var_2C
  978. loc_0070D4CC: mov var_5C, eax
  979. loc_0070D4CF: mov var_64, 00004008h
  980. loc_0070D4D6: push 00000001h
  981. loc_0070D4D8: lea ecx, var_64
  982. loc_0070D4DB: push ecx
  983. loc_0070D4DC: lea edx, var_44
  984. loc_0070D4DF: push edx
  985. loc_0070D4E0: call [004013D8h] ; rtcRightCharVar
  986. loc_0070D4E6: mov var_6C, 00441F24h ; "\"
  987. loc_0070D4ED: mov var_74, 00008008h
  988. loc_0070D4F4: lea eax, var_44
  989. loc_0070D4F7: push eax
  990. loc_0070D4F8: lea ecx, var_74
  991. loc_0070D4FB: push ecx
  992. loc_0070D4FC: call [00401348h] ; __vbaVarTstNe
  993. loc_0070D502: mov var_78, ax
  994. loc_0070D506: lea ecx, var_44
  995. loc_0070D509: call [00401030h] ; __vbaFreeVar
  996. loc_0070D50F: movsx edx, var_78
  997. loc_0070D513: test edx, edx
  998. loc_0070D515: jz 0070D538h
  999. loc_0070D517: mov var_4, 00000006h
  1000. loc_0070D51E: mov eax, var_2C
  1001. loc_0070D521: push eax
  1002. loc_0070D522: push 00441F24h ; "\"
  1003. loc_0070D527: call [00401098h] ; __vbaStrCat
  1004. loc_0070D52D: mov edx, eax
  1005. loc_0070D52F: lea ecx, var_2C
  1006. loc_0070D532: call [004013C0h] ; __vbaStrMove
  1007. loc_0070D538: mov var_4, 00000008h
  1008. loc_0070D53F: mov ecx, var_2C
  1009. loc_0070D542: push ecx
  1010. loc_0070D543: push 0043DAACh ; "AddressBook"
  1011. loc_0070D548: call [00401098h] ; __vbaStrCat
  1012. loc_0070D54E: mov edx, eax
  1013. loc_0070D550: lea ecx, var_2C
  1014. loc_0070D553: call [004013C0h] ; __vbaStrMove
  1015. loc_0070D559: mov var_4, 00000009h
  1016. loc_0070D560: lea edx, var_2C
  1017. loc_0070D563: mov var_5C, edx
  1018. loc_0070D566: mov var_64, 00004008h
  1019. loc_0070D56D: push 00000000h
  1020. loc_0070D56F: lea eax, var_64
  1021. loc_0070D572: push eax
  1022. loc_0070D573: call [004012D0h] ; rtcDir
  1023. loc_0070D579: mov edx, eax
  1024. loc_0070D57B: lea ecx, var_30
  1025. loc_0070D57E: call [004013C0h] ; __vbaStrMove
  1026. loc_0070D584: push eax
  1027. loc_0070D585: call [00401044h] ; __vbaLenBstr
  1028. loc_0070D58B: neg eax
  1029. loc_0070D58D: sbb eax, eax
  1030. loc_0070D58F: neg eax
  1031. loc_0070D591: neg eax
  1032. loc_0070D593: mov var_78, ax
  1033. loc_0070D597: lea ecx, var_30
  1034. loc_0070D59A: call [00401430h] ; __vbaFreeStr
  1035. loc_0070D5A0: movsx ecx, var_78
  1036. loc_0070D5A4: test ecx, ecx
  1037. loc_0070D5A6: jz 0070D5C6h
  1038. loc_0070D5A8: mov var_4, 0000000Ah
  1039. loc_0070D5AF: lea edx, var_2C
  1040. loc_0070D5B2: mov var_5C, edx
  1041. loc_0070D5B5: mov var_64, 00004008h
  1042. loc_0070D5BC: lea eax, var_64
  1043. loc_0070D5BF: push eax
  1044. loc_0070D5C0: call [004011B4h] ; rtcKillFiles
  1045. loc_0070D5C6: mov var_4, 0000000Ch
  1046. loc_0070D5CD: mov ecx, Me
  1047. loc_0070D5D0: movsx edx, [ecx+00000036h]
  1048. loc_0070D5D4: test edx, edx
  1049. loc_0070D5D6: jnz 0070D82Fh
  1050. loc_0070D5DC: mov var_4, 0000000Dh
  1051. loc_0070D5E3: mov var_3C, 80020004h
  1052. loc_0070D5EA: mov var_44, 0000000Ah
  1053. loc_0070D5F1: lea eax, var_44
  1054. loc_0070D5F4: push eax
  1055. loc_0070D5F5: call [004012F0h] ; rtcFreeFile
  1056. loc_0070D5FB: mov var_24, ax
  1057. loc_0070D5FF: lea ecx, var_44
  1058. loc_0070D602: call [00401030h] ; __vbaFreeVar
  1059. loc_0070D608: mov var_4, 0000000Eh
  1060. loc_0070D60F: mov ecx, var_2C
  1061. loc_0070D612: push ecx
  1062. loc_0070D613: mov dx, var_24
  1063. loc_0070D617: push edx
  1064. loc_0070D618: push FFFFFFFFh
  1065. loc_0070D61A: push 00000002h
  1066. loc_0070D61C: call [004012DCh] ; __vbaFileOpen
  1067. loc_0070D622: mov var_4, 0000000Fh
  1068. loc_0070D629: mov eax, Me
  1069. loc_0070D62C: mov ecx, [eax+0000003Ch]
  1070. loc_0070D62F: push ecx
  1071. loc_0070D630: push 00000001h
  1072. loc_0070D632: call [004012A4h] ; __vbaUbound
  1073. loc_0070D638: mov ecx, eax
  1074. loc_0070D63A: call [004011E4h] ; __vbaI2I4
  1075. loc_0070D640: mov var_8C, ax
  1076. loc_0070D647: mov var_88, 0001h
  1077. loc_0070D650: mov var_28, 0001h
  1078. loc_0070D656: jmp 0070D66Dh
  1079. loc_0070D658: mov dx, var_28
  1080. loc_0070D65C: add dx, var_88
  1081. loc_0070D663: jo 0070D898h
  1082. loc_0070D669: mov var_28, dx
  1083. loc_0070D66D: mov ax, var_28
  1084. loc_0070D671: cmp ax, var_8C
  1085. loc_0070D678: jg 0070D81Dh
  1086. loc_0070D67E: mov var_4, 00000010h
  1087. loc_0070D685: mov ecx, Me
  1088. loc_0070D688: cmp [ecx+0000003Ch], 00000000h
  1089. loc_0070D68C: jz 0070D6DEh
  1090. loc_0070D68E: mov edx, Me
  1091. loc_0070D691: mov eax, [edx+0000003Ch]
  1092. loc_0070D694: cmp [eax], 0001h
  1093. loc_0070D698: jnz 0070D6DEh
  1094. loc_0070D69A: movsx ecx, var_28
  1095. loc_0070D69E: mov edx, Me
  1096. loc_0070D6A1: mov eax, [edx+0000003Ch]
  1097. loc_0070D6A4: sub ecx, [eax+00000014h]
  1098. loc_0070D6A7: mov var_78, ecx
  1099. loc_0070D6AA: mov ecx, Me
  1100. loc_0070D6AD: mov edx, [ecx+0000003Ch]
  1101. loc_0070D6B0: mov eax, var_78
  1102. loc_0070D6B3: cmp eax, [edx+00000010h]
  1103. loc_0070D6B6: jae 0070D6C4h
  1104. loc_0070D6B8: mov var_B4, 00000000h
  1105. loc_0070D6C2: jmp 0070D6D0h
  1106. loc_0070D6C4: call [004011A8h] ; __vbaGenerateBoundsError
  1107. loc_0070D6CA: mov var_B4, eax
  1108. loc_0070D6D0: mov ecx, var_78
  1109. loc_0070D6D3: imul ecx, ecx, 0000000Ch
  1110. loc_0070D6D6: mov var_B8, ecx
  1111. loc_0070D6DC: jmp 0070D6EAh
  1112. loc_0070D6DE: call [004011A8h] ; __vbaGenerateBoundsError
  1113. loc_0070D6E4: mov var_B8, eax
  1114. loc_0070D6EA: mov edx, Me
  1115. loc_0070D6ED: mov eax, [edx+0000003Ch]
  1116. loc_0070D6F0: mov ecx, [eax+0000000Ch]
  1117. loc_0070D6F3: mov edx, var_B8
  1118. loc_0070D6F9: movsx eax, [ecx+edx+00000008h]
  1119. loc_0070D6FE: test eax, eax
  1120. loc_0070D700: jnz 0070D811h
  1121. loc_0070D706: mov var_4, 00000011h
  1122. loc_0070D70D: mov ecx, Me
  1123. loc_0070D710: cmp [ecx+0000003Ch], 00000000h
  1124. loc_0070D714: jz 0070D766h
  1125. loc_0070D716: mov edx, Me
  1126. loc_0070D719: mov eax, [edx+0000003Ch]
  1127. loc_0070D71C: cmp [eax], 0001h
  1128. loc_0070D720: jnz 0070D766h
  1129. loc_0070D722: movsx ecx, var_28
  1130. loc_0070D726: mov edx, Me
  1131. loc_0070D729: mov eax, [edx+0000003Ch]
  1132. loc_0070D72C: sub ecx, [eax+00000014h]
  1133. loc_0070D72F: mov var_7C, ecx
  1134. loc_0070D732: mov ecx, Me
  1135. loc_0070D735: mov edx, [ecx+0000003Ch]
  1136. loc_0070D738: mov eax, var_7C
  1137. loc_0070D73B: cmp eax, [edx+00000010h]
  1138. loc_0070D73E: jae 0070D74Ch
  1139. loc_0070D740: mov var_BC, 00000000h
  1140. loc_0070D74A: jmp 0070D758h
  1141. loc_0070D74C: call [004011A8h] ; __vbaGenerateBoundsError
  1142. loc_0070D752: mov var_BC, eax
  1143. loc_0070D758: mov ecx, var_7C
  1144. loc_0070D75B: imul ecx, ecx, 0000000Ch
  1145. loc_0070D75E: mov var_C0, ecx
  1146. loc_0070D764: jmp 0070D772h
  1147. loc_0070D766: call [004011A8h] ; __vbaGenerateBoundsError
  1148. loc_0070D76C: mov var_C0, eax
  1149. loc_0070D772: mov edx, Me
  1150. loc_0070D775: cmp [edx+0000003Ch], 00000000h
  1151. loc_0070D779: jz 0070D7CBh
  1152. loc_0070D77B: mov eax, Me
  1153. loc_0070D77E: mov ecx, [eax+0000003Ch]
  1154. loc_0070D781: cmp [ecx], 0001h
  1155. loc_0070D785: jnz 0070D7CBh
  1156. loc_0070D787: movsx edx, var_28
  1157. loc_0070D78B: mov eax, Me
  1158. loc_0070D78E: mov ecx, [eax+0000003Ch]
  1159. loc_0070D791: sub edx, [ecx+00000014h]
  1160. loc_0070D794: mov var_78, edx
  1161. loc_0070D797: mov edx, Me
  1162. loc_0070D79A: mov eax, [edx+0000003Ch]
  1163. loc_0070D79D: mov ecx, var_78
  1164. loc_0070D7A0: cmp ecx, [eax+00000010h]
  1165. loc_0070D7A3: jae 0070D7B1h
  1166. loc_0070D7A5: mov var_C4, 00000000h
  1167. loc_0070D7AF: jmp 0070D7BDh
  1168. loc_0070D7B1: call [004011A8h] ; __vbaGenerateBoundsError
  1169. loc_0070D7B7: mov var_C4, eax
  1170. loc_0070D7BD: mov edx, var_78
  1171. loc_0070D7C0: imul edx, edx, 0000000Ch
  1172. loc_0070D7C3: mov var_C8, edx
  1173. loc_0070D7C9: jmp 0070D7D7h
  1174. loc_0070D7CB: call [004011A8h] ; __vbaGenerateBoundsError
  1175. loc_0070D7D1: mov var_C8, eax
  1176. loc_0070D7D7: mov eax, Me
  1177. loc_0070D7DA: mov ecx, [eax+0000003Ch]
  1178. loc_0070D7DD: mov edx, [ecx+0000000Ch]
  1179. loc_0070D7E0: mov eax, var_C0
  1180. loc_0070D7E6: mov ecx, [edx+eax+00000004h]
  1181. loc_0070D7EA: push ecx
  1182. loc_0070D7EB: mov edx, Me
  1183. loc_0070D7EE: mov eax, [edx+0000003Ch]
  1184. loc_0070D7F1: mov ecx, [eax+0000000Ch]
  1185. loc_0070D7F4: mov edx, var_C8
  1186. loc_0070D7FA: mov eax, [ecx+edx]
  1187. loc_0070D7FD: push eax
  1188. loc_0070D7FE: mov cx, var_24
  1189. loc_0070D802: push ecx
  1190. loc_0070D803: push 00474D48h
  1191. loc_0070D808: call [004010ACh] ; __vbaWriteFile
  1192. loc_0070D80E: add esp, 00000010h
  1193. loc_0070D811: mov var_4, 00000013h
  1194. loc_0070D818: jmp 0070D658h
  1195. loc_0070D81D: mov var_4, 00000014h
  1196. loc_0070D824: mov dx, var_24
  1197. loc_0070D828: push edx
  1198. loc_0070D829: call [00401194h] ; __vbaFileClose
  1199. loc_0070D82F: mov var_4, 00000016h
  1200. loc_0070D836: mov eax, Me
  1201. loc_0070D839: mov [eax+00000038h], 0000h
  1202. loc_0070D83F: push 0070D876h
  1203. loc_0070D844: jmp 0070D86Ch
  1204. loc_0070D846: lea ecx, var_30
  1205. loc_0070D849: call [00401430h] ; __vbaFreeStr
  1206. loc_0070D84F: lea ecx, var_34
  1207. loc_0070D852: call [0040142Ch] ; __vbaFreeObj
  1208. loc_0070D858: lea ecx, var_54
  1209. loc_0070D85B: push ecx
  1210. loc_0070D85C: lea edx, var_44
  1211. loc_0070D85F: push edx
  1212. loc_0070D860: push 00000002h
  1213. loc_0070D862: call [00401050h] ; __vbaFreeVarList
  1214. loc_0070D868: add esp, 0000000Ch
  1215. loc_0070D86B: ret
  1216. loc_0070D86C: lea ecx, var_2C
  1217. loc_0070D86F: call [00401430h] ; __vbaFreeStr
  1218. loc_0070D875: ret
  1219. loc_0070D876: mov eax, Me
  1220. loc_0070D879: mov ecx, [eax]
  1221. loc_0070D87B: mov edx, Me
  1222. loc_0070D87E: push edx
  1223. loc_0070D87F: call [ecx+00000008h]
  1224. loc_0070D882: mov eax, var_10
  1225. loc_0070D885: mov ecx, var_20
  1226. loc_0070D888: mov fs:[00000000h], ecx
  1227. loc_0070D88F: pop edi
  1228. loc_0070D890: pop esi
  1229. loc_0070D891: pop ebx
  1230. loc_0070D892: mov esp, ebp
  1231. loc_0070D894: pop ebp
  1232. loc_0070D895: retn 0004h
  1233. End Sub
  1234. Public Sub PopulateList(objList) '70D8A0
  1235. loc_0070D8A0: push ebp
  1236. loc_0070D8A1: mov ebp, esp
  1237. loc_0070D8A3: sub esp, 0000000Ch
  1238. loc_0070D8A6: push 00412856h ; __vbaExceptHandler
  1239. loc_0070D8AB: mov eax, fs:[00000000h]
  1240. loc_0070D8B1: push eax
  1241. loc_0070D8B2: mov fs:[00000000h], esp
  1242. loc_0070D8B9: sub esp, 00000048h
  1243. loc_0070D8BC: push ebx
  1244. loc_0070D8BD: push esi
  1245. loc_0070D8BE: push edi
  1246. loc_0070D8BF: mov var_C, esp
  1247. loc_0070D8C2: mov var_8, 00410C50h
  1248. loc_0070D8C9: xor edi, edi
  1249. loc_0070D8CB: mov var_4, edi
  1250. loc_0070D8CE: mov esi, Me
  1251. loc_0070D8D1: push esi
  1252. loc_0070D8D2: mov eax, [esi]
  1253. loc_0070D8D4: call [eax+00000004h]
  1254. loc_0070D8D7: mov ecx, objList
  1255. loc_0070D8DA: push edi
  1256. loc_0070D8DB: push 00474D50h ; "Clear"
  1257. loc_0070D8E0: mov var_1C, edi
  1258. loc_0070D8E3: mov edx, [ecx]
  1259. loc_0070D8E5: mov var_20, edi
  1260. loc_0070D8E8: push edx
  1261. loc_0070D8E9: mov var_30, edi
  1262. loc_0070D8EC: call [00401360h] ; __vbaLateMemCall
  1263. loc_0070D8F2: add esp, 0000000Ch
  1264. loc_0070D8F5: cmp [esi+00000036h], di
  1265. loc_0070D8F9: jnz 0070DA82h
  1266. loc_0070D8FF: mov eax, [esi+0000003Ch]
  1267. loc_0070D902: push eax
  1268. loc_0070D903: push 00000001h
  1269. loc_0070D905: call [004012A4h] ; __vbaUbound
  1270. loc_0070D90B: mov ecx, eax
  1271. loc_0070D90D: call [004011E4h] ; __vbaI2I4
  1272. loc_0070D913: mov edi, [00401098h] ; __vbaStrCat
  1273. loc_0070D919: mov ebx, 00000001h
  1274. loc_0070D91E: mov var_50, eax
  1275. loc_0070D921: mov var_18, ebx
  1276. loc_0070D924: cmp bx, var_50
  1277. loc_0070D928: jg 0070DA82h
  1278. loc_0070D92E: mov eax, [esi+0000003Ch]
  1279. loc_0070D931: test eax, eax
  1280. loc_0070D933: jz 0070D95Bh
  1281. loc_0070D935: cmp [eax], 0001h
  1282. loc_0070D939: jnz 0070D95Bh
  1283. loc_0070D93B: mov edx, [eax+00000014h]
  1284. loc_0070D93E: mov ecx, [eax+00000010h]
  1285. loc_0070D941: movsx ebx, bx
  1286. loc_0070D944: sub ebx, edx
  1287. loc_0070D946: cmp ebx, ecx
  1288. loc_0070D948: jb 0070D950h
  1289. loc_0070D94A: call [004011A8h] ; __vbaGenerateBoundsError
  1290. loc_0070D950: lea eax, [ebx+ebx*2]
  1291. loc_0070D953: mov ebx, var_18
  1292. loc_0070D956: shl eax, 02h
  1293. loc_0070D959: jmp 0070D961h
  1294. loc_0070D95B: call [004011A8h] ; __vbaGenerateBoundsError
  1295. loc_0070D961: mov ecx, [esi+0000003Ch]
  1296. loc_0070D964: mov edx, [ecx+0000000Ch]
  1297. loc_0070D967: cmp [edx+eax+00000008h], 0000h
  1298. loc_0070D96D: Unknown_8BE84589()
  1299. loc_0070D973: test ecx, ecx
  1300. loc_0070D975: jz 0070D9A0h
  1301. loc_0070D977: cmp [ecx], 0001h
  1302. loc_0070D97B: jnz 0070D9A0h
  1303. loc_0070D97D: mov edx, [ecx+00000014h]
  1304. loc_0070D980: mov eax, [ecx+00000010h]
  1305. loc_0070D983: movsx ebx, bx
  1306. loc_0070D986: sub ebx, edx
  1307. loc_0070D988: cmp ebx, eax
  1308. loc_0070D98A: jb 0070D992h
  1309. loc_0070D98C: call [004011A8h] ; __vbaGenerateBoundsError
  1310. loc_0070D992: lea ebx, [ebx+ebx*2]
  1311. loc_0070D995: shl ebx, 02h
  1312. loc_0070D998: mov var_5C, ebx
  1313. loc_0070D99B: mov ebx, var_18
  1314. loc_0070D99E: jmp 0070D9A9h
  1315. loc_0070D9A0: call [004011A8h] ; __vbaGenerateBoundsError
  1316. loc_0070D9A6: mov var_5C, eax
  1317. loc_0070D9A9: mov eax, [esi+0000003Ch]
  1318. loc_0070D9AC: test eax, eax
  1319. loc_0070D9AE: jz 0070D9D3h
  1320. loc_0070D9B0: cmp [eax], 0001h
  1321. loc_0070D9B4: jnz 0070D9D3h
  1322. loc_0070D9B6: mov edx, [eax+00000014h]
  1323. loc_0070D9B9: mov ecx, [eax+00000010h]
  1324. loc_0070D9BC: movsx ebx, bx
  1325. loc_0070D9BF: sub ebx, edx
  1326. loc_0070D9C1: cmp ebx, ecx
  1327. loc_0070D9C3: jb 0070D9CBh
  1328. loc_0070D9C5: call [004011A8h] ; __vbaGenerateBoundsError
  1329. loc_0070D9CB: lea ebx, [ebx+ebx*2]
  1330. loc_0070D9CE: shl ebx, 02h
  1331. loc_0070D9D1: jmp 0070D9DBh
  1332. loc_0070D9D3: call [004011A8h] ; __vbaGenerateBoundsError
  1333. loc_0070D9D9: mov ebx, eax
  1334. loc_0070D9DB: mov eax, [esi+0000003Ch]
  1335. loc_0070D9DE: mov edx, var_5C
  1336. loc_0070D9E1: mov ecx, [eax+0000000Ch]
  1337. loc_0070D9E4: mov eax, [ecx+edx]
  1338. loc_0070D9E7: push eax
  1339. loc_0070D9E8: push 00448570h ; " ("
  1340. loc_0070D9ED: call edi
  1341. loc_0070D9EF: mov edx, eax
  1342. loc_0070D9F1: lea ecx, var_1C
  1343. loc_0070D9F4: call [004013C0h] ; __vbaStrMove
  1344. loc_0070D9FA: mov ecx, [esi+0000003Ch]
  1345. loc_0070D9FD: push eax
  1346. loc_0070D9FE: mov edx, [ecx+0000000Ch]
  1347. loc_0070DA01: mov eax, [edx+ebx+00000004h]
  1348. loc_0070DA05: push eax
  1349. loc_0070DA06: call edi
  1350. loc_0070DA08: mov edx, eax
  1351. loc_0070DA0A: lea ecx, var_20
  1352. loc_0070DA0D: call [004013C0h] ; __vbaStrMove
  1353. loc_0070DA13: push eax
  1354. loc_0070DA14: push 00467090h
  1355. loc_0070DA19: call edi
  1356. loc_0070DA1B: sub esp, 00000010h
  1357. loc_0070DA1E: mov ecx, 00000008h
  1358. loc_0070DA23: mov edx, esp
  1359. loc_0070DA25: mov var_30, ecx
  1360. loc_0070DA28: mov var_28, eax
  1361. loc_0070DA2B: push 00000001h
  1362. loc_0070DA2D: mov [edx], ecx
  1363. loc_0070DA2F: mov ecx, var_2C
  1364. loc_0070DA32: push 00474D5Ch ; "AddItem"
  1365. loc_0070DA37: mov [edx+00000004h], ecx
  1366. loc_0070DA3A: mov ecx, objList
  1367. loc_0070DA3D: mov [edx+00000008h], eax
  1368. loc_0070DA40: mov eax, var_24
  1369. loc_0070DA43: mov [edx+0000000Ch], eax
  1370. loc_0070DA46: mov edx, [ecx]
  1371. loc_0070DA48: push edx
  1372. loc_0070DA49: call [00401360h] ; __vbaLateMemCall
  1373. loc_0070DA4F: lea eax, var_20
  1374. loc_0070DA52: lea ecx, var_1C
  1375. loc_0070DA55: push eax
  1376. loc_0070DA56: push ecx
  1377. loc_0070DA57: push 00000002h
  1378. loc_0070DA59: call [00401324h] ; __vbaFreeStrList
  1379. loc_0070DA5F: add esp, 00000028h
  1380. loc_0070DA62: lea ecx, var_30
  1381. loc_0070DA65: call [00401030h] ; __vbaFreeVar
  1382. loc_0070DA6B: mov ebx, var_18
  1383. loc_0070DA6E: mov eax, 00000001h
  1384. loc_0070DA73: add ax, bx
  1385. loc_0070DA76: jo 0070DAC6h
  1386. loc_0070DA78: mov var_18, eax
  1387. loc_0070DA7B: mov ebx, eax
  1388. loc_0070DA7D: jmp 0070D924h
  1389. loc_0070DA82: push 0070DAA7h
  1390. loc_0070DA87: jmp 0070DAA6h
  1391. loc_0070DA89: lea edx, var_20
  1392. loc_0070DA8C: lea eax, var_1C
  1393. loc_0070DA8F: push edx
  1394. loc_0070DA90: push eax
  1395. loc_0070DA91: push 00000002h
  1396. loc_0070DA93: call [00401324h] ; __vbaFreeStrList
  1397. loc_0070DA99: add esp, 0000000Ch
  1398. loc_0070DA9C: lea ecx, var_30
  1399. loc_0070DA9F: call [00401030h] ; __vbaFreeVar
  1400. loc_0070DAA5: ret
  1401. loc_0070DAA6: ret
  1402. loc_0070DAA7: mov eax, Me
  1403. loc_0070DAAA: push eax
  1404. loc_0070DAAB: mov ecx, [eax]
  1405. loc_0070DAAD: call [ecx+00000008h]
  1406. loc_0070DAB0: mov eax, var_4
  1407. loc_0070DAB3: mov ecx, var_14
  1408. loc_0070DAB6: pop edi
  1409. loc_0070DAB7: pop esi
  1410. loc_0070DAB8: mov fs:[00000000h], ecx
  1411. loc_0070DABF: pop ebx
  1412. loc_0070DAC0: mov esp, ebp
  1413. loc_0070DAC2: pop ebp
  1414. loc_0070DAC3: retn 0008h
  1415. End Sub
  1416. Public Function FindNickForAddress(strAddress) '70DAD0
  1417. loc_0070DAD0: push ebp
  1418. loc_0070DAD1: mov ebp, esp
  1419. loc_0070DAD3: sub esp, 0000000Ch
  1420. loc_0070DAD6: push 00412856h ; __vbaExceptHandler
  1421. loc_0070DADB: mov eax, fs:[00000000h]
  1422. loc_0070DAE1: push eax
  1423. loc_0070DAE2: mov fs:[00000000h], esp
  1424. loc_0070DAE9: sub esp, 0000001Ch
  1425. loc_0070DAEC: push ebx
  1426. loc_0070DAED: push esi
  1427. loc_0070DAEE: push edi
  1428. loc_0070DAEF: mov var_C, esp
  1429. loc_0070DAF2: mov var_8, 00410C60h
  1430. loc_0070DAF9: xor esi, esi
  1431. loc_0070DAFB: mov var_4, esi
  1432. loc_0070DAFE: mov ebx, Me
  1433. loc_0070DB01: push ebx
  1434. loc_0070DB02: mov eax, [ebx]
  1435. loc_0070DB04: call [eax+00000004h]
  1436. loc_0070DB07: mov ecx, arg_10
  1437. loc_0070DB0A: xor edi, edi
  1438. loc_0070DB0C: mov var_20, esi
  1439. loc_0070DB0F: mov var_24, esi
  1440. loc_0070DB12: mov [ecx], esi
  1441. loc_0070DB14: cmp [ebx+00000036h], si
  1442. loc_0070DB18: jz 0070DB2Dh
  1443. loc_0070DB1A: mov edx, 0043C9F4h
  1444. loc_0070DB1F: lea ecx, var_20
  1445. loc_0070DB22: call [00401310h] ; __vbaStrCopy
  1446. loc_0070DB28: jmp 0070DBBAh
  1447. loc_0070DB2D: mov edx, [ebx+0000003Ch]
  1448. loc_0070DB30: push edx
  1449. loc_0070DB31: push 00000001h
  1450. loc_0070DB33: call [004012A4h] ; __vbaUbound
  1451. loc_0070DB39: mov ecx, eax
  1452. loc_0070DB3B: call [004011E4h] ; __vbaI2I4
  1453. loc_0070DB41: mov esi, eax
  1454. loc_0070DB43: mov var_1C, esi
  1455. loc_0070DB46: cmp var_24, 0000h
  1456. loc_0070DB4B: jnz 0070DBB8h
  1457. loc_0070DB4D: cmp di, si
  1458. loc_0070DB50: jg 0070DBB8h
  1459. loc_0070DB52: add di, 0001h
  1460. loc_0070DB56: jo 0070DC4Bh
  1461. loc_0070DB5C: cmp di, si
  1462. loc_0070DB5F: jg 0070DB46h
  1463. loc_0070DB61: mov eax, [ebx+0000003Ch]
  1464. loc_0070DB64: test eax, eax
  1465. loc_0070DB66: jz 0070DB8Eh
  1466. loc_0070DB68: cmp [eax], 0001h
  1467. loc_0070DB6C: jnz 0070DB8Eh
  1468. loc_0070DB6E: mov edx, [eax+00000014h]
  1469. loc_0070DB71: mov ecx, [eax+00000010h]
  1470. loc_0070DB74: movsx esi, di
  1471. loc_0070DB77: sub esi, edx
  1472. loc_0070DB79: cmp esi, ecx
  1473. loc_0070DB7B: jb 0070DB83h
  1474. loc_0070DB7D: call [004011A8h] ; __vbaGenerateBoundsError
  1475. loc_0070DB83: lea eax, [esi+esi*2]
  1476. loc_0070DB86: mov esi, var_1C
  1477. loc_0070DB89: shl eax, 02h
  1478. loc_0070DB8C: jmp 0070DB94h
  1479. loc_0070DB8E: call [004011A8h] ; __vbaGenerateBoundsError
  1480. loc_0070DB94: mov ecx, [ebx+0000003Ch]
  1481. loc_0070DB97: mov edx, [ecx+0000000Ch]
  1482. loc_0070DB9A: mov ecx, strAddress
  1483. loc_0070DB9D: mov eax, [edx+eax+00000004h]
  1484. loc_0070DBA1: mov edx, [ecx]
  1485. loc_0070DBA3: push eax
  1486. loc_0070DBA4: push edx
  1487. loc_0070DBA5: call [004011B8h] ; __vbaStrCmp
  1488. loc_0070DBAB: test eax, eax
  1489. loc_0070DBAD: jnz 0070DB46h
  1490. loc_0070DBAF: mov var_24, FFFFFFFFh
  1491. loc_0070DBB6: jmp 0070DB46h
  1492. loc_0070DBB8: xor esi, esi
  1493. loc_0070DBBA: cmp var_24, si
  1494. loc_0070DBBE: jz 0070DC04h
  1495. loc_0070DBC0: mov eax, [ebx+0000003Ch]
  1496. loc_0070DBC3: cmp eax, esi
  1497. loc_0070DBC5: jz 0070DBF3h
  1498. loc_0070DBC7: cmp [eax], 0001h
  1499. loc_0070DBCB: jnz 0070DBF3h
  1500. loc_0070DBCD: mov edx, [eax+00000014h]
  1501. loc_0070DBD0: mov ecx, [eax+00000010h]
  1502. loc_0070DBD3: movsx esi, di
  1503. loc_0070DBD6: sub esi, edx
  1504. loc_0070DBD8: cmp esi, ecx
  1505. loc_0070DBDA: jb 0070DBE2h
  1506. loc_0070DBDC: call [004011A8h] ; __vbaGenerateBoundsError
  1507. loc_0070DBE2: mov ecx, [ebx+0000003Ch]
  1508. loc_0070DBE5: lea eax, [esi+esi*2]
  1509. loc_0070DBE8: shl eax, 02h
  1510. loc_0070DBEB: mov edx, [ecx+0000000Ch]
  1511. loc_0070DBEE: mov edx, [edx+eax]
  1512. loc_0070DBF1: jmp 0070DC09h
  1513. loc_0070DBF3: call [004011A8h] ; __vbaGenerateBoundsError
  1514. loc_0070DBF9: mov ecx, [ebx+0000003Ch]
  1515. loc_0070DBFC: mov edx, [ecx+0000000Ch]
  1516. loc_0070DBFF: mov edx, [edx+eax]
  1517. loc_0070DC02: jmp 0070DC09h
  1518. loc_0070DC04: mov edx, 0043C9F4h
  1519. loc_0070DC09: lea ecx, var_20
  1520. loc_0070DC0C: call [00401310h] ; __vbaStrCopy
  1521. loc_0070DC12: push 0070DC24h
  1522. loc_0070DC17: jmp 0070DC23h
  1523. loc_0070DC19: lea ecx, var_20
  1524. loc_0070DC1C: call [00401430h] ; __vbaFreeStr
  1525. loc_0070DC22: ret
  1526. loc_0070DC23: ret
  1527. loc_0070DC24: mov eax, Me
  1528. loc_0070DC27: push eax
  1529. loc_0070DC28: mov ecx, [eax]
  1530. loc_0070DC2A: call [ecx+00000008h]
  1531. loc_0070DC2D: mov edx, arg_10
  1532. loc_0070DC30: mov eax, var_20
  1533. loc_0070DC33: mov [edx], eax
  1534. loc_0070DC35: mov eax, var_4
  1535. loc_0070DC38: mov ecx, var_14
  1536. loc_0070DC3B: pop edi
  1537. loc_0070DC3C: pop esi
  1538. loc_0070DC3D: mov fs:[00000000h], ecx
  1539. loc_0070DC44: pop ebx
  1540. loc_0070DC45: mov esp, ebp
  1541. loc_0070DC47: pop ebp
  1542. loc_0070DC48: retn 000Ch
  1543. End Function