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.

958 lines
31 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 = "CCalendarVBPeriods"
  10. Attribute VB_GlobalNameSpace = False
  11. Attribute VB_Creatable = True
  12. Attribute VB_PredeclaredId = False
  13. Attribute VB_Exposed = True
  14. Public Function Add(sName, nNumberOfWeeks) '7064B0
  15. loc_007064B0: push ebp
  16. loc_007064B1: mov ebp, esp
  17. loc_007064B3: sub esp, 00000018h
  18. loc_007064B6: push 00412856h ; __vbaExceptHandler
  19. loc_007064BB: mov eax, fs:[00000000h]
  20. loc_007064C1: push eax
  21. loc_007064C2: mov fs:[00000000h], esp
  22. loc_007064C9: mov eax, 00000118h
  23. loc_007064CE: call 00412850h ; __vbaChkstk
  24. loc_007064D3: push ebx
  25. loc_007064D4: push esi
  26. loc_007064D5: push edi
  27. loc_007064D6: mov var_18, esp
  28. loc_007064D9: mov var_14, 00410550h ; "/"
  29. loc_007064E0: mov var_10, 00000000h
  30. loc_007064E7: mov var_C, 00000000h
  31. loc_007064EE: mov eax, Me
  32. loc_007064F1: mov ecx, [eax]
  33. loc_007064F3: mov edx, Me
  34. loc_007064F6: push edx
  35. loc_007064F7: call [ecx+00000004h]
  36. loc_007064FA: mov var_4, 00000001h
  37. loc_00706501: mov edx, sName
  38. loc_00706504: lea ecx, var_24
  39. loc_00706507: call [00401310h] ; __vbaStrCopy
  40. loc_0070650D: mov eax, arg_14
  41. loc_00706510: mov [eax], 00000000h
  42. loc_00706516: mov var_4, 00000002h
  43. loc_0070651D: push FFFFFFFFh
  44. loc_0070651F: call [00401124h] ; __vbaOnError
  45. loc_00706525: mov var_4, 00000003h
  46. loc_0070652C: cmp var_34, 00000000h
  47. loc_00706530: jnz 0070654Ch
  48. loc_00706532: lea ecx, var_34
  49. loc_00706535: push ecx
  50. loc_00706536: push 004139ECh
  51. loc_0070653B: call [004012FCh] ; __vbaNew2
  52. loc_00706541: lea edx, var_34
  53. loc_00706544: mov var_FC, edx
  54. loc_0070654A: jmp 00706555h
  55. loc_0070654C: lea eax, var_34
  56. loc_0070654F: mov var_FC, eax
  57. loc_00706555: mov ecx, var_FC
  58. loc_0070655B: mov edx, [ecx]
  59. loc_0070655D: mov var_C0, edx
  60. loc_00706563: mov eax, var_24
  61. loc_00706566: push eax
  62. loc_00706567: mov ecx, var_C0
  63. loc_0070656D: mov edx, [ecx]
  64. loc_0070656F: mov eax, var_C0
  65. loc_00706575: push eax
  66. loc_00706576: call [edx+00000020h]
  67. loc_00706579: fnclex
  68. loc_0070657B: mov var_C4, eax
  69. loc_00706581: cmp var_C4, 00000000h
  70. loc_00706588: jge 007065ADh
  71. loc_0070658A: push 00000020h
  72. loc_0070658C: push 00446E9Ch
  73. loc_00706591: mov ecx, var_C0
  74. loc_00706597: push ecx
  75. loc_00706598: mov edx, var_C4
  76. loc_0070659E: push edx
  77. loc_0070659F: call [004010CCh] ; __vbaHresultCheckObj
  78. loc_007065A5: mov var_100, eax
  79. loc_007065AB: jmp 007065B7h
  80. loc_007065AD: mov var_100, 00000000h
  81. loc_007065B7: mov var_4, 00000004h
  82. loc_007065BE: cmp var_34, 00000000h
  83. loc_007065C2: jnz 007065DEh
  84. loc_007065C4: lea eax, var_34
  85. loc_007065C7: push eax
  86. loc_007065C8: push 004139ECh
  87. loc_007065CD: call [004012FCh] ; __vbaNew2
  88. loc_007065D3: lea ecx, var_34
  89. loc_007065D6: mov var_104, ecx
  90. loc_007065DC: jmp 007065E7h
  91. loc_007065DE: lea edx, var_34
  92. loc_007065E1: mov var_104, edx
  93. loc_007065E7: mov eax, var_104
  94. loc_007065ED: mov ecx, [eax]
  95. loc_007065EF: mov var_C0, ecx
  96. loc_007065F5: mov dx, nNumberOfWeeks
  97. loc_007065F9: push edx
  98. loc_007065FA: mov eax, var_C0
  99. loc_00706600: mov ecx, [eax]
  100. loc_00706602: mov edx, var_C0
  101. loc_00706608: push edx
  102. loc_00706609: call [ecx+00000028h]
  103. loc_0070660C: fnclex
  104. loc_0070660E: mov var_C4, eax
  105. loc_00706614: cmp var_C4, 00000000h
  106. loc_0070661B: jge 00706640h
  107. loc_0070661D: push 00000028h
  108. loc_0070661F: push 00446E9Ch
  109. loc_00706624: mov eax, var_C0
  110. loc_0070662A: push eax
  111. loc_0070662B: mov ecx, var_C4
  112. loc_00706631: push ecx
  113. loc_00706632: call [004010CCh] ; __vbaHresultCheckObj
  114. loc_00706638: mov var_108, eax
  115. loc_0070663E: jmp 0070664Ah
  116. loc_00706640: mov var_108, 00000000h
  117. loc_0070664A: mov var_4, 00000005h
  118. loc_00706651: mov var_50, 80020004h
  119. loc_00706658: mov var_58, 0000000Ah
  120. loc_0070665F: mov var_40, 80020004h
  121. loc_00706666: mov var_48, 0000000Ah
  122. loc_0070666D: lea edx, var_24
  123. loc_00706670: mov var_90, edx
  124. loc_00706676: mov var_98, 00004008h
  125. loc_00706680: cmp var_34, 00000000h
  126. loc_00706684: jnz 007066A0h
  127. loc_00706686: lea eax, var_34
  128. loc_00706689: push eax
  129. loc_0070668A: push 004139ECh
  130. loc_0070668F: call [004012FCh] ; __vbaNew2
  131. loc_00706695: lea ecx, var_34
  132. loc_00706698: mov var_10C, ecx
  133. loc_0070669E: jmp 007066A9h
  134. loc_007066A0: lea edx, var_34
  135. loc_007066A3: mov var_10C, edx
  136. loc_007066A9: mov eax, var_10C
  137. loc_007066AF: mov ecx, [eax]
  138. loc_007066B1: push ecx
  139. loc_007066B2: lea edx, var_38
  140. loc_007066B5: push edx
  141. loc_007066B6: call [00401130h] ; __vbaObjSetAddref
  142. loc_007066BC: lea eax, var_38
  143. loc_007066BF: mov var_80, eax
  144. loc_007066C2: mov var_88, 00004009h
  145. loc_007066CC: lea ecx, var_58
  146. loc_007066CF: push ecx
  147. loc_007066D0: lea edx, var_48
  148. loc_007066D3: push edx
  149. loc_007066D4: lea eax, var_98
  150. loc_007066DA: push eax
  151. loc_007066DB: lea ecx, var_88
  152. loc_007066E1: push ecx
  153. loc_007066E2: mov edx, Me
  154. loc_007066E5: mov eax, [edx+00000038h]
  155. loc_007066E8: mov ecx, Me
  156. loc_007066EB: mov edx, [ecx+00000038h]
  157. loc_007066EE: mov ecx, [edx]
  158. loc_007066F0: push eax
  159. loc_007066F1: call [ecx+00000020h]
  160. loc_007066F4: fnclex
  161. loc_007066F6: mov var_C0, eax
  162. loc_007066FC: cmp var_C0, 00000000h
  163. loc_00706703: jge 00706728h
  164. loc_00706705: push 00000020h
  165. loc_00706707: push 00447B68h
  166. loc_0070670C: mov edx, Me
  167. loc_0070670F: mov eax, [edx+00000038h]
  168. loc_00706712: push eax
  169. loc_00706713: mov ecx, var_C0
  170. loc_00706719: push ecx
  171. loc_0070671A: call [004010CCh] ; __vbaHresultCheckObj
  172. loc_00706720: mov var_110, eax
  173. loc_00706726: jmp 00706732h
  174. loc_00706728: mov var_110, 00000000h
  175. loc_00706732: push 00446E9Ch
  176. loc_00706737: mov edx, var_38
  177. loc_0070673A: push edx
  178. loc_0070673B: call [004013C4h] ; __vbaCastObj
  179. loc_00706741: push eax
  180. loc_00706742: lea eax, var_34
  181. loc_00706745: push eax
  182. loc_00706746: call [00401128h] ; __vbaObjSet
  183. loc_0070674C: lea ecx, var_38
  184. loc_0070674F: call [0040142Ch] ; __vbaFreeObj
  185. loc_00706755: lea ecx, var_58
  186. loc_00706758: push ecx
  187. loc_00706759: lea edx, var_48
  188. loc_0070675C: push edx
  189. loc_0070675D: push 00000002h
  190. loc_0070675F: call [00401050h] ; __vbaFreeVarList
  191. loc_00706765: add esp, 0000000Ch
  192. loc_00706768: mov var_4, 00000006h
  193. loc_0070676F: lea eax, var_BC
  194. loc_00706775: push eax
  195. loc_00706776: mov ecx, Me
  196. loc_00706779: mov edx, [ecx+00000038h]
  197. loc_0070677C: mov eax, Me
  198. loc_0070677F: mov ecx, [eax+00000038h]
  199. loc_00706782: mov eax, [ecx]
  200. loc_00706784: push edx
  201. loc_00706785: call [eax+00000024h]
  202. loc_00706788: fnclex
  203. loc_0070678A: mov var_C0, eax
  204. loc_00706790: cmp var_C0, 00000000h
  205. loc_00706797: jge 007067BCh
  206. loc_00706799: push 00000024h
  207. loc_0070679B: push 00447B68h
  208. loc_007067A0: mov ecx, Me
  209. loc_007067A3: mov edx, [ecx+00000038h]
  210. loc_007067A6: push edx
  211. loc_007067A7: mov eax, var_C0
  212. loc_007067AD: push eax
  213. loc_007067AE: call [004010CCh] ; __vbaHresultCheckObj
  214. loc_007067B4: mov var_114, eax
  215. loc_007067BA: jmp 007067C6h
  216. loc_007067BC: mov var_114, 00000000h
  217. loc_007067C6: mov ecx, var_BC
  218. loc_007067CC: call [004011E4h] ; __vbaI2I4
  219. loc_007067D2: mov var_28, ax
  220. loc_007067D6: mov var_4, 00000007h
  221. loc_007067DD: push 00000001h
  222. loc_007067DF: movsx ecx, var_28
  223. loc_007067E3: push ecx
  224. loc_007067E4: push 00000001h
  225. loc_007067E6: push 00000002h
  226. loc_007067E8: mov edx, Me
  227. loc_007067EB: add edx, 00000034h
  228. loc_007067EE: push edx
  229. loc_007067EF: push 00000002h
  230. loc_007067F1: push 00000080h
  231. loc_007067F6: call [00401220h] ; __vbaRedim
  232. loc_007067FC: add esp, 0000001Ch
  233. loc_007067FF: mov var_4, 00000008h
  234. loc_00706806: mov ax, var_28
  235. loc_0070680A: mov var_E0, ax
  236. loc_00706811: mov var_DC, 0001h
  237. loc_0070681A: mov var_2C, 0001h
  238. loc_00706820: jmp 00706837h
  239. loc_00706822: mov cx, var_2C
  240. loc_00706826: add cx, var_DC
  241. loc_0070682D: jo 00706C3Fh
  242. loc_00706833: mov var_2C, cx
  243. loc_00706837: mov dx, var_2C
  244. loc_0070683B: cmp dx, var_E0
  245. loc_00706842: jg 00706B74h
  246. loc_00706848: mov var_4, 00000009h
  247. loc_0070684F: lea eax, var_2C
  248. loc_00706852: mov var_80, eax
  249. loc_00706855: mov var_88, 00004002h
  250. loc_0070685F: lea ecx, var_48
  251. loc_00706862: push ecx
  252. loc_00706863: lea edx, var_88
  253. loc_00706869: push edx
  254. loc_0070686A: mov eax, Me
  255. loc_0070686D: mov ecx, [eax+00000038h]
  256. loc_00706870: mov edx, Me
  257. loc_00706873: mov eax, [edx+00000038h]
  258. loc_00706876: mov edx, [eax]
  259. loc_00706878: push ecx
  260. loc_00706879: call [edx+0000001Ch]
  261. loc_0070687C: fnclex
  262. loc_0070687E: mov var_C0, eax
  263. loc_00706884: cmp var_C0, 00000000h
  264. loc_0070688B: jge 007068B0h
  265. loc_0070688D: push 0000001Ch
  266. loc_0070688F: push 00447B68h
  267. loc_00706894: mov eax, Me
  268. loc_00706897: mov ecx, [eax+00000038h]
  269. loc_0070689A: push ecx
  270. loc_0070689B: mov edx, var_C0
  271. loc_007068A1: push edx
  272. loc_007068A2: call [004010CCh] ; __vbaHresultCheckObj
  273. loc_007068A8: mov var_118, eax
  274. loc_007068AE: jmp 007068BAh
  275. loc_007068B0: mov var_118, 00000000h
  276. loc_007068BA: lea edx, var_48
  277. loc_007068BD: lea ecx, var_D8
  278. loc_007068C3: call [00401180h] ; __vbaVarZero
  279. loc_007068C9: lea eax, var_D8
  280. loc_007068CF: mov var_E4, eax
  281. loc_007068D5: mov var_4, 0000000Ah
  282. loc_007068DC: cmp var_2C, 0001h
  283. loc_007068E1: jnz 00706975h
  284. loc_007068E7: mov var_4, 0000000Bh
  285. loc_007068EE: mov ecx, Me
  286. loc_007068F1: cmp [ecx+00000034h], 00000000h
  287. loc_007068F5: jz 0070694Fh
  288. loc_007068F7: mov edx, Me
  289. loc_007068FA: mov eax, [edx+00000034h]
  290. loc_007068FD: cmp [eax], 0001h
  291. loc_00706901: jnz 0070694Fh
  292. loc_00706903: movsx ecx, var_2C
  293. loc_00706907: mov edx, Me
  294. loc_0070690A: mov eax, [edx+00000034h]
  295. loc_0070690D: sub ecx, [eax+00000014h]
  296. loc_00706910: mov var_C0, ecx
  297. loc_00706916: mov ecx, Me
  298. loc_00706919: mov edx, [ecx+00000034h]
  299. loc_0070691C: mov eax, var_C0
  300. loc_00706922: cmp eax, [edx+00000010h]
  301. loc_00706925: jae 00706933h
  302. loc_00706927: mov var_11C, 00000000h
  303. loc_00706931: jmp 0070693Fh
  304. loc_00706933: call [004011A8h] ; __vbaGenerateBoundsError
  305. loc_00706939: mov var_11C, eax
  306. loc_0070693F: mov ecx, var_C0
  307. loc_00706945: shl ecx, 01h
  308. loc_00706947: mov var_120, ecx
  309. loc_0070694D: jmp 0070695Bh
  310. loc_0070694F: call [004011A8h] ; __vbaGenerateBoundsError
  311. loc_00706955: mov var_120, eax
  312. loc_0070695B: mov edx, Me
  313. loc_0070695E: mov eax, [edx+00000034h]
  314. loc_00706961: mov ecx, [eax+0000000Ch]
  315. loc_00706964: mov edx, var_120
  316. loc_0070696A: mov [ecx+edx], 0000h
  317. loc_00706970: jmp 00706B57h
  318. loc_00706975: mov var_4, 0000000Dh
  319. loc_0070697C: mov eax, Me
  320. loc_0070697F: cmp [eax+00000034h], 00000000h
  321. loc_00706983: jz 007069EAh
  322. loc_00706985: mov ecx, Me
  323. loc_00706988: mov edx, [ecx+00000034h]
  324. loc_0070698B: cmp [edx], 0001h
  325. loc_0070698F: jnz 007069EAh
  326. loc_00706991: mov ax, var_2C
  327. loc_00706995: sub ax, 0001h
  328. loc_00706999: jo 00706C3Fh
  329. loc_0070699F: movsx ecx, ax
  330. loc_007069A2: mov edx, Me
  331. loc_007069A5: mov eax, [edx+00000034h]
  332. loc_007069A8: sub ecx, [eax+00000014h]
  333. loc_007069AB: mov var_C4, ecx
  334. loc_007069B1: mov ecx, Me
  335. loc_007069B4: mov edx, [ecx+00000034h]
  336. loc_007069B7: mov eax, var_C4
  337. loc_007069BD: cmp eax, [edx+00000010h]
  338. loc_007069C0: jae 007069CEh
  339. loc_007069C2: mov var_124, 00000000h
  340. loc_007069CC: jmp 007069DAh
  341. loc_007069CE: call [004011A8h] ; __vbaGenerateBoundsError
  342. loc_007069D4: mov var_124, eax
  343. loc_007069DA: mov ecx, var_C4
  344. loc_007069E0: shl ecx, 01h
  345. loc_007069E2: mov var_128, ecx
  346. loc_007069E8: jmp 007069F6h
  347. loc_007069EA: call [004011A8h] ; __vbaGenerateBoundsError
  348. loc_007069F0: mov var_128, eax
  349. loc_007069F6: mov edx, Me
  350. loc_007069F9: mov eax, [edx+00000034h]
  351. loc_007069FC: mov ecx, [eax+0000000Ch]
  352. loc_007069FF: mov edx, var_128
  353. loc_00706A05: mov ax, [ecx+edx]
  354. loc_00706A09: mov var_90, ax
  355. loc_00706A10: mov var_98, 00000002h
  356. loc_00706A1A: mov cx, var_2C
  357. loc_00706A1E: sub cx, 0001h
  358. loc_00706A22: jo 00706C3Fh
  359. loc_00706A28: mov var_40, cx
  360. loc_00706A2C: mov var_48, 00000002h
  361. loc_00706A33: lea edx, var_58
  362. loc_00706A36: push edx
  363. loc_00706A37: lea eax, var_48
  364. loc_00706A3A: push eax
  365. loc_00706A3B: mov ecx, Me
  366. loc_00706A3E: mov edx, [ecx+00000038h]
  367. loc_00706A41: mov eax, Me
  368. loc_00706A44: mov ecx, [eax+00000038h]
  369. loc_00706A47: mov eax, [ecx]
  370. loc_00706A49: push edx
  371. loc_00706A4A: call [eax+0000001Ch]
  372. loc_00706A4D: fnclex
  373. loc_00706A4F: mov var_C8, eax
  374. loc_00706A55: cmp var_C8, 00000000h
  375. loc_00706A5C: jge 00706A81h
  376. loc_00706A5E: push 0000001Ch
  377. loc_00706A60: push 00447B68h
  378. loc_00706A65: mov ecx, Me
  379. loc_00706A68: mov edx, [ecx+00000038h]
  380. loc_00706A6B: push edx
  381. loc_00706A6C: mov eax, var_C8
  382. loc_00706A72: push eax
  383. loc_00706A73: call [004010CCh] ; __vbaHresultCheckObj
  384. loc_00706A79: mov var_12C, eax
  385. loc_00706A7F: jmp 00706A8Bh
  386. loc_00706A81: mov var_12C, 00000000h
  387. loc_00706A8B: mov ecx, Me
  388. loc_00706A8E: cmp [ecx+00000034h], 00000000h
  389. loc_00706A92: jz 00706AECh
  390. loc_00706A94: mov edx, Me
  391. loc_00706A97: mov eax, [edx+00000034h]
  392. loc_00706A9A: cmp [eax], 0001h
  393. loc_00706A9E: jnz 00706AECh
  394. loc_00706AA0: movsx ecx, var_2C
  395. loc_00706AA4: mov edx, Me
  396. loc_00706AA7: mov eax, [edx+00000034h]
  397. loc_00706AAA: sub ecx, [eax+00000014h]
  398. loc_00706AAD: mov var_C0, ecx
  399. loc_00706AB3: mov ecx, Me
  400. loc_00706AB6: mov edx, [ecx+00000034h]
  401. loc_00706AB9: mov eax, var_C0
  402. loc_00706ABF: cmp eax, [edx+00000010h]
  403. loc_00706AC2: jae 00706AD0h
  404. loc_00706AC4: mov var_130, 00000000h
  405. loc_00706ACE: jmp 00706ADCh
  406. loc_00706AD0: call [004011A8h] ; __vbaGenerateBoundsError
  407. loc_00706AD6: mov var_130, eax
  408. loc_00706ADC: mov ecx, var_C0
  409. loc_00706AE2: shl ecx, 01h
  410. loc_00706AE4: mov var_134, ecx
  411. loc_00706AEA: jmp 00706AF8h
  412. loc_00706AEC: call [004011A8h] ; __vbaGenerateBoundsError
  413. loc_00706AF2: mov var_134, eax
  414. loc_00706AF8: lea edx, var_98
  415. loc_00706AFE: push edx
  416. loc_00706AFF: push 00000000h
  417. loc_00706B01: push 00447B88h ; "NumberOfWeeks"
  418. loc_00706B06: lea eax, var_58
  419. loc_00706B09: push eax
  420. loc_00706B0A: lea ecx, var_68
  421. loc_00706B0D: push ecx
  422. loc_00706B0E: call [00401390h] ; __vbaVarLateMemCallLd
  423. loc_00706B14: add esp, 00000010h
  424. loc_00706B17: push eax
  425. loc_00706B18: lea edx, var_78
  426. loc_00706B1B: push edx
  427. loc_00706B1C: call [0040135Ch] ; __vbaVarAdd
  428. loc_00706B22: push eax
  429. loc_00706B23: call [004012C0h] ; __vbaI2Var
  430. loc_00706B29: mov ecx, Me
  431. loc_00706B2C: mov edx, [ecx+00000034h]
  432. loc_00706B2F: mov ecx, [edx+0000000Ch]
  433. loc_00706B32: mov edx, var_134
  434. loc_00706B38: mov [ecx+edx], ax
  435. loc_00706B3C: lea eax, var_78
  436. loc_00706B3F: push eax
  437. loc_00706B40: lea ecx, var_68
  438. loc_00706B43: push ecx
  439. loc_00706B44: lea edx, var_58
  440. loc_00706B47: push edx
  441. loc_00706B48: lea eax, var_48
  442. loc_00706B4B: push eax
  443. loc_00706B4C: push 00000004h
  444. loc_00706B4E: call [00401050h] ; __vbaFreeVarList
  445. loc_00706B54: add esp, 00000014h
  446. loc_00706B57: mov var_4, 0000000Fh
  447. loc_00706B5E: mov var_E4, 00000000h
  448. loc_00706B68: mov var_4, 00000010h
  449. loc_00706B6F: jmp 00706822h
  450. loc_00706B74: mov var_4, 00000011h
  451. loc_00706B7B: cmp var_34, 00000000h
  452. loc_00706B7F: jnz 00706B9Bh
  453. loc_00706B81: lea ecx, var_34
  454. loc_00706B84: push ecx
  455. loc_00706B85: push 004139ECh
  456. loc_00706B8A: call [004012FCh] ; __vbaNew2
  457. loc_00706B90: lea edx, var_34
  458. loc_00706B93: mov var_138, edx
  459. loc_00706B99: jmp 00706BA4h
  460. loc_00706B9B: lea eax, var_34
  461. loc_00706B9E: mov var_138, eax
  462. loc_00706BA4: mov ecx, var_138
  463. loc_00706BAA: mov edx, [ecx]
  464. loc_00706BAC: push edx
  465. loc_00706BAD: lea eax, var_30
  466. loc_00706BB0: push eax
  467. loc_00706BB1: call [00401130h] ; __vbaObjSetAddref
  468. loc_00706BB7: push 00706C15h
  469. loc_00706BBC: jmp 00706BF6h
  470. loc_00706BBE: mov ecx, var_10
  471. loc_00706BC1: and ecx, 00000004h
  472. loc_00706BC4: test ecx, ecx
  473. loc_00706BC6: jz 00706BD1h
  474. loc_00706BC8: lea ecx, var_30
  475. loc_00706BCB: call [0040142Ch] ; __vbaFreeObj
  476. loc_00706BD1: lea ecx, var_38
  477. loc_00706BD4: call [0040142Ch] ; __vbaFreeObj
  478. loc_00706BDA: lea edx, var_78
  479. loc_00706BDD: push edx
  480. loc_00706BDE: lea eax, var_68
  481. loc_00706BE1: push eax
  482. loc_00706BE2: lea ecx, var_58
  483. loc_00706BE5: push ecx
  484. loc_00706BE6: lea edx, var_48
  485. loc_00706BE9: push edx
  486. loc_00706BEA: push 00000004h
  487. loc_00706BEC: call [00401050h] ; __vbaFreeVarList
  488. loc_00706BF2: add esp, 00000014h
  489. loc_00706BF5: ret
  490. loc_00706BF6: lea ecx, var_D8
  491. loc_00706BFC: call [00401030h] ; __vbaFreeVar
  492. loc_00706C02: lea ecx, var_24
  493. loc_00706C05: call [00401430h] ; __vbaFreeStr
  494. loc_00706C0B: lea ecx, var_34
  495. loc_00706C0E: call [0040142Ch] ; __vbaFreeObj
  496. loc_00706C14: ret
  497. loc_00706C15: mov eax, Me
  498. loc_00706C18: mov ecx, [eax]
  499. loc_00706C1A: mov edx, Me
  500. loc_00706C1D: push edx
  501. loc_00706C1E: call [ecx+00000008h]
  502. loc_00706C21: mov eax, arg_14
  503. loc_00706C24: mov ecx, var_30
  504. loc_00706C27: mov [eax], ecx
  505. loc_00706C29: mov eax, var_10
  506. loc_00706C2C: mov ecx, var_20
  507. loc_00706C2F: mov fs:[00000000h], ecx
  508. loc_00706C36: pop edi
  509. loc_00706C37: pop esi
  510. loc_00706C38: pop ebx
  511. loc_00706C39: mov esp, ebp
  512. loc_00706C3B: pop ebp
  513. loc_00706C3C: retn 0010h
  514. End Function
  515. Public Function NewEnum(arg_C) '706C50
  516. loc_00706C50: push ebp
  517. loc_00706C51: mov ebp, esp
  518. loc_00706C53: sub esp, 0000000Ch
  519. loc_00706C56: push 00412856h ; __vbaExceptHandler
  520. loc_00706C5B: mov eax, fs:[00000000h]
  521. loc_00706C61: push eax
  522. loc_00706C62: mov fs:[00000000h], esp
  523. loc_00706C69: sub esp, 00000014h
  524. loc_00706C6C: push ebx
  525. loc_00706C6D: push esi
  526. loc_00706C6E: push edi
  527. loc_00706C6F: mov var_C, esp
  528. loc_00706C72: mov var_8, 004105B8h
  529. loc_00706C79: xor edi, edi
  530. loc_00706C7B: mov var_4, edi
  531. loc_00706C7E: mov esi, Me
  532. loc_00706C81: push esi
  533. loc_00706C82: mov eax, [esi]
  534. loc_00706C84: call [eax+00000004h]
  535. loc_00706C87: mov ecx, arg_C
  536. loc_00706C8A: mov var_18, edi
  537. loc_00706C8D: mov var_1C, edi
  538. loc_00706C90: mov [ecx], edi
  539. loc_00706C92: mov eax, [esi+00000038h]
  540. loc_00706C95: lea ecx, var_1C
  541. loc_00706C98: mov edx, [eax]
  542. loc_00706C9A: push ecx
  543. loc_00706C9B: push eax
  544. loc_00706C9C: call [edx+0000002Ch]
  545. loc_00706C9F: cmp eax, edi
  546. loc_00706CA1: fnclex
  547. loc_00706CA3: jge 00706CB7h
  548. loc_00706CA5: mov edx, [esi+00000038h]
  549. loc_00706CA8: push 0000002Ch
  550. loc_00706CAA: push 00447B68h
  551. loc_00706CAF: push edx
  552. loc_00706CB0: push eax
  553. loc_00706CB1: call [004010CCh] ; __vbaHresultCheckObj
  554. loc_00706CB7: mov eax, var_1C
  555. loc_00706CBA: push 00447558h
  556. loc_00706CBF: push eax
  557. loc_00706CC0: call [004013C4h] ; __vbaCastObj
  558. loc_00706CC6: lea ecx, var_18
  559. loc_00706CC9: push eax
  560. loc_00706CCA: push ecx
  561. loc_00706CCB: call [00401128h] ; __vbaObjSet
  562. loc_00706CD1: lea ecx, var_1C
  563. loc_00706CD4: call [0040142Ch] ; __vbaFreeObj
  564. loc_00706CDA: push 00706CFBh
  565. loc_00706CDF: jmp 00706CFAh
  566. loc_00706CE1: test var_4, 04h
  567. loc_00706CE5: jz 00706CF0h
  568. loc_00706CE7: lea ecx, var_18
  569. loc_00706CEA: call [0040142Ch] ; __vbaFreeObj
  570. loc_00706CF0: lea ecx, var_1C
  571. loc_00706CF3: call [0040142Ch] ; __vbaFreeObj
  572. loc_00706CF9: ret
  573. loc_00706CFA: ret
  574. loc_00706CFB: mov eax, Me
  575. loc_00706CFE: push eax
  576. loc_00706CFF: mov edx, [eax]
  577. loc_00706D01: call [edx+00000008h]
  578. loc_00706D04: mov eax, arg_C
  579. loc_00706D07: mov ecx, var_18
  580. loc_00706D0A: mov [eax], ecx
  581. loc_00706D0C: mov eax, var_4
  582. loc_00706D0F: mov ecx, var_14
  583. loc_00706D12: pop edi
  584. loc_00706D13: pop esi
  585. loc_00706D14: mov fs:[00000000h], ecx
  586. loc_00706D1B: pop ebx
  587. loc_00706D1C: mov esp, ebp
  588. loc_00706D1E: pop ebp
  589. loc_00706D1F: retn 0008h
  590. End Function
  591. Public Sub Remove(index) '706D30
  592. loc_00706D30: push ebp
  593. loc_00706D31: mov ebp, esp
  594. loc_00706D33: sub esp, 00000018h
  595. loc_00706D36: push 00412856h ; __vbaExceptHandler
  596. loc_00706D3B: mov eax, fs:[00000000h]
  597. loc_00706D41: push eax
  598. loc_00706D42: mov fs:[00000000h], esp
  599. loc_00706D49: mov eax, 0000001Ch
  600. loc_00706D4E: call 00412850h ; __vbaChkstk
  601. loc_00706D53: push ebx
  602. loc_00706D54: push esi
  603. loc_00706D55: push edi
  604. loc_00706D56: mov var_18, esp
  605. loc_00706D59: mov var_14, 004105C8h
  606. loc_00706D60: mov var_10, 00000000h
  607. loc_00706D67: mov var_C, 00000000h
  608. loc_00706D6E: mov eax, Me
  609. loc_00706D71: mov ecx, [eax]
  610. loc_00706D73: mov edx, Me
  611. loc_00706D76: push edx
  612. loc_00706D77: call [ecx+00000004h]
  613. loc_00706D7A: mov var_4, 00000001h
  614. loc_00706D81: mov var_4, 00000002h
  615. loc_00706D88: push FFFFFFFFh
  616. loc_00706D8A: call [00401124h] ; __vbaOnError
  617. loc_00706D90: mov var_4, 00000003h
  618. loc_00706D97: mov eax, index
  619. loc_00706D9A: push eax
  620. loc_00706D9B: mov ecx, Me
  621. loc_00706D9E: mov edx, [ecx+00000038h]
  622. loc_00706DA1: mov eax, Me
  623. loc_00706DA4: mov ecx, [eax+00000038h]
  624. loc_00706DA7: mov eax, [ecx]
  625. loc_00706DA9: push edx
  626. loc_00706DAA: call [eax+00000028h]
  627. loc_00706DAD: fnclex
  628. loc_00706DAF: mov var_24, eax
  629. loc_00706DB2: cmp var_24, 00000000h
  630. loc_00706DB6: jge 00706DD5h
  631. loc_00706DB8: push 00000028h
  632. loc_00706DBA: push 00447B68h
  633. loc_00706DBF: mov ecx, Me
  634. loc_00706DC2: mov edx, [ecx+00000038h]
  635. loc_00706DC5: push edx
  636. loc_00706DC6: mov eax, var_24
  637. loc_00706DC9: push eax
  638. loc_00706DCA: call [004010CCh] ; __vbaHresultCheckObj
  639. loc_00706DD0: mov var_3C, eax
  640. loc_00706DD3: jmp 00706DDCh
  641. loc_00706DD5: mov var_3C, 00000000h
  642. loc_00706DDC: mov ecx, Me
  643. loc_00706DDF: mov edx, [ecx]
  644. loc_00706DE1: mov eax, Me
  645. loc_00706DE4: push eax
  646. loc_00706DE5: call [edx+00000008h]
  647. loc_00706DE8: mov eax, var_10
  648. loc_00706DEB: mov ecx, var_20
  649. loc_00706DEE: mov fs:[00000000h], ecx
  650. loc_00706DF5: pop edi
  651. loc_00706DF6: pop esi
  652. loc_00706DF7: pop ebx
  653. loc_00706DF8: mov esp, ebp
  654. loc_00706DFA: pop ebp
  655. loc_00706DFB: retn 0008h
  656. End Sub
  657. Public Function Item(index) '706E00
  658. loc_00706E00: push ebp
  659. loc_00706E01: mov ebp, esp
  660. loc_00706E03: sub esp, 00000018h
  661. loc_00706E06: push 00412856h ; __vbaExceptHandler
  662. loc_00706E0B: mov eax, fs:[00000000h]
  663. loc_00706E11: push eax
  664. loc_00706E12: mov fs:[00000000h], esp
  665. loc_00706E19: mov eax, 00000030h
  666. loc_00706E1E: call 00412850h ; __vbaChkstk
  667. loc_00706E23: push ebx
  668. loc_00706E24: push esi
  669. loc_00706E25: push edi
  670. loc_00706E26: mov var_18, esp
  671. loc_00706E29: mov var_14, 004105F8h ; "-"
  672. loc_00706E30: mov var_10, 00000000h
  673. loc_00706E37: mov var_C, 00000000h
  674. loc_00706E3E: mov eax, Me
  675. loc_00706E41: mov ecx, [eax]
  676. loc_00706E43: mov edx, Me
  677. loc_00706E46: push edx
  678. loc_00706E47: call [ecx+00000004h]
  679. loc_00706E4A: mov var_4, 00000001h
  680. loc_00706E51: mov eax, arg_10
  681. loc_00706E54: mov [eax], 00000000h
  682. loc_00706E5A: mov var_4, 00000002h
  683. loc_00706E61: push FFFFFFFFh
  684. loc_00706E63: call [00401124h] ; __vbaOnError
  685. loc_00706E69: mov var_4, 00000003h
  686. loc_00706E70: lea ecx, var_34
  687. loc_00706E73: push ecx
  688. loc_00706E74: mov edx, index
  689. loc_00706E77: push edx
  690. loc_00706E78: mov eax, Me
  691. loc_00706E7B: mov ecx, [eax+00000038h]
  692. loc_00706E7E: mov edx, Me
  693. loc_00706E81: mov eax, [edx+00000038h]
  694. loc_00706E84: mov edx, [eax]
  695. loc_00706E86: push ecx
  696. loc_00706E87: call [edx+0000001Ch]
  697. loc_00706E8A: fnclex
  698. loc_00706E8C: mov var_38, eax
  699. loc_00706E8F: cmp var_38, 00000000h
  700. loc_00706E93: jge 00706EB2h
  701. loc_00706E95: push 0000001Ch
  702. loc_00706E97: push 00447B68h
  703. loc_00706E9C: mov eax, Me
  704. loc_00706E9F: mov ecx, [eax+00000038h]
  705. loc_00706EA2: push ecx
  706. loc_00706EA3: mov edx, var_38
  707. loc_00706EA6: push edx
  708. loc_00706EA7: call [004010CCh] ; __vbaHresultCheckObj
  709. loc_00706EAD: mov var_50, eax
  710. loc_00706EB0: jmp 00706EB9h
  711. loc_00706EB2: mov var_50, 00000000h
  712. loc_00706EB9: push 00446E9Ch
  713. loc_00706EBE: lea eax, var_34
  714. loc_00706EC1: push eax
  715. loc_00706EC2: call [004011F8h] ; __vbaCastObjVar
  716. loc_00706EC8: push eax
  717. loc_00706EC9: lea ecx, var_24
  718. loc_00706ECC: push ecx
  719. loc_00706ECD: call [00401128h] ; __vbaObjSet
  720. loc_00706ED3: lea ecx, var_34
  721. loc_00706ED6: call [00401030h] ; __vbaFreeVar
  722. loc_00706EDC: push 00706F01h
  723. loc_00706EE1: jmp 00706F00h
  724. loc_00706EE3: mov edx, var_10
  725. loc_00706EE6: and edx, 00000004h
  726. loc_00706EE9: test edx, edx
  727. loc_00706EEB: jz 00706EF6h
  728. loc_00706EED: lea ecx, var_24
  729. loc_00706EF0: call [0040142Ch] ; __vbaFreeObj
  730. loc_00706EF6: lea ecx, var_34
  731. loc_00706EF9: call [00401030h] ; __vbaFreeVar
  732. loc_00706EFF: ret
  733. loc_00706F00: ret
  734. loc_00706F01: mov eax, Me
  735. loc_00706F04: mov ecx, [eax]
  736. loc_00706F06: mov edx, Me
  737. loc_00706F09: push edx
  738. loc_00706F0A: call [ecx+00000008h]
  739. loc_00706F0D: mov eax, arg_10
  740. loc_00706F10: mov ecx, var_24
  741. loc_00706F13: mov [eax], ecx
  742. loc_00706F15: mov eax, var_10
  743. loc_00706F18: mov ecx, var_20
  744. loc_00706F1B: mov fs:[00000000h], ecx
  745. loc_00706F22: pop edi
  746. loc_00706F23: pop esi
  747. loc_00706F24: pop ebx
  748. loc_00706F25: mov esp, ebp
  749. loc_00706F27: pop ebp
  750. loc_00706F28: retn 000Ch
  751. End Function
  752. Public Property Get Count(arg_C) '706F30
  753. loc_00706F30: push ebp
  754. loc_00706F31: mov ebp, esp
  755. loc_00706F33: sub esp, 0000000Ch
  756. loc_00706F36: push 00412856h ; __vbaExceptHandler
  757. loc_00706F3B: mov eax, fs:[00000000h]
  758. loc_00706F41: push eax
  759. loc_00706F42: mov fs:[00000000h], esp
  760. loc_00706F49: sub esp, 00000014h
  761. loc_00706F4C: push ebx
  762. loc_00706F4D: push esi
  763. loc_00706F4E: push edi
  764. loc_00706F4F: mov var_C, esp
  765. loc_00706F52: mov var_8, 00410628h
  766. loc_00706F59: xor edi, edi
  767. loc_00706F5B: mov var_4, edi
  768. loc_00706F5E: mov esi, Me
  769. loc_00706F61: push esi
  770. loc_00706F62: mov eax, [esi]
  771. loc_00706F64: call [eax+00000004h]
  772. loc_00706F67: mov eax, [esi+00000038h]
  773. loc_00706F6A: lea edx, var_1C
  774. loc_00706F6D: mov var_1C, edi
  775. loc_00706F70: push edx
  776. loc_00706F71: mov ecx, [eax]
  777. loc_00706F73: push eax
  778. loc_00706F74: mov var_18, edi
  779. loc_00706F77: call [ecx+00000024h]
  780. loc_00706F7A: cmp eax, edi
  781. loc_00706F7C: fnclex
  782. loc_00706F7E: jge 00706F92h
  783. loc_00706F80: mov ecx, [esi+00000038h]
  784. loc_00706F83: push 00000024h
  785. loc_00706F85: push 00447B68h
  786. loc_00706F8A: push ecx
  787. loc_00706F8B: push eax
  788. loc_00706F8C: call [004010CCh] ; __vbaHresultCheckObj
  789. loc_00706F92: mov edx, var_1C
  790. loc_00706F95: mov var_18, edx
  791. loc_00706F98: mov eax, Me
  792. loc_00706F9B: push eax
  793. loc_00706F9C: mov ecx, [eax]
  794. loc_00706F9E: call [ecx+00000008h]
  795. loc_00706FA1: mov edx, arg_C
  796. loc_00706FA4: mov eax, var_18
  797. loc_00706FA7: mov [edx], eax
  798. loc_00706FA9: mov eax, var_4
  799. loc_00706FAC: mov ecx, var_14
  800. loc_00706FAF: pop edi
  801. loc_00706FB0: pop esi
  802. loc_00706FB1: mov fs:[00000000h], ecx
  803. loc_00706FB8: pop ebx
  804. loc_00706FB9: mov esp, ebp
  805. loc_00706FBB: pop ebp
  806. loc_00706FBC: retn 0008h
  807. End Sub
  808. Public Function WeeksFromFirstOfYear(iIndex) '706FC0
  809. loc_00706FC0: push ebp
  810. loc_00706FC1: mov ebp, esp
  811. loc_00706FC3: sub esp, 0000000Ch
  812. loc_00706FC6: push 00412856h ; __vbaExceptHandler
  813. loc_00706FCB: mov eax, fs:[00000000h]
  814. loc_00706FD1: push eax
  815. loc_00706FD2: mov fs:[00000000h], esp
  816. loc_00706FD9: sub esp, 0000002Ch
  817. loc_00706FDC: push ebx
  818. loc_00706FDD: push esi
  819. loc_00706FDE: push edi
  820. loc_00706FDF: mov var_C, esp
  821. loc_00706FE2: mov var_8, 00410630h
  822. loc_00706FE9: xor esi, esi
  823. loc_00706FEB: mov var_4, esi
  824. loc_00706FEE: mov edi, Me
  825. loc_00706FF1: push edi
  826. loc_00706FF2: mov eax, [edi]
  827. loc_00706FF4: call [eax+00000004h]
  828. loc_00706FF7: mov ecx, arg_10
  829. loc_00706FFA: mov bx, iIndex
  830. loc_00706FFE: mov var_24, esi
  831. loc_00707001: mov var_34, esi
  832. loc_00707004: mov [ecx], esi
  833. loc_00707006: mov edx, [edi+00000034h]
  834. loc_00707009: push edx
  835. loc_0070700A: push 00000001h
  836. loc_0070700C: movsx esi, bx
  837. loc_0070700F: call [004012A4h] ; __vbaUbound
  838. loc_00707015: cmp esi, eax
  839. loc_00707017: jg 00707069h
  840. loc_00707019: test bx, bx
  841. loc_0070701C: jle 00707069h
  842. loc_0070701E: mov eax, [edi+00000034h]
  843. loc_00707021: test eax, eax
  844. loc_00707023: jz 00707042h
  845. loc_00707025: cmp [eax], 0001h
  846. loc_00707029: jnz 00707042h
  847. loc_0070702B: mov edx, [eax+00000014h]
  848. loc_0070702E: mov ecx, [eax+00000010h]
  849. loc_00707031: sub esi, edx
  850. loc_00707033: cmp esi, ecx
  851. loc_00707035: jb 0070703Dh
  852. loc_00707037: call [004011A8h] ; __vbaGenerateBoundsError
  853. loc_0070703D: lea eax, [esi+esi]
  854. loc_00707040: jmp 00707048h
  855. loc_00707042: call [004011A8h] ; __vbaGenerateBoundsError
  856. loc_00707048: mov ecx, [edi+00000034h]
  857. loc_0070704B: mov edx, [ecx+0000000Ch]
  858. loc_0070704E: lea ecx, var_24
  859. loc_00707051: mov ax, [edx+eax]
  860. loc_00707055: lea edx, var_34
  861. loc_00707058: mov var_2C, ax
  862. loc_0070705C: mov var_34, 00000002h
  863. loc_00707063: call [00401020h] ; __vbaVarMove
  864. loc_00707069: push 0070707Bh
  865. loc_0070706E: jmp 0070707Ah
  866. loc_00707070: lea ecx, var_24
  867. loc_00707073: call [00401030h] ; __vbaFreeVar
  868. loc_00707079: ret
  869. loc_0070707A: ret
  870. loc_0070707B: mov eax, Me
  871. loc_0070707E: push eax
  872. loc_0070707F: mov ecx, [eax]
  873. loc_00707081: call [ecx+00000008h]
  874. loc_00707084: mov edx, arg_10
  875. loc_00707087: mov eax, var_24
  876. loc_0070708A: mov ecx, var_20
  877. loc_0070708D: mov [edx], eax
  878. loc_0070708F: mov eax, var_1C
  879. loc_00707092: mov [edx+00000004h], ecx
  880. loc_00707095: mov ecx, var_18
  881. loc_00707098: mov [edx+00000008h], eax
  882. loc_0070709B: mov [edx+0000000Ch], ecx
  883. loc_0070709E: mov eax, var_4
  884. loc_007070A1: mov ecx, var_14
  885. loc_007070A4: pop edi
  886. loc_007070A5: pop esi
  887. loc_007070A6: mov fs:[00000000h], ecx
  888. loc_007070AD: pop ebx
  889. loc_007070AE: mov esp, ebp
  890. loc_007070B0: pop ebp
  891. loc_007070B1: retn 000Ch
  892. End Function
  893. Private Sub Proc_57_6_706400
  894. loc_00706400: push ebp
  895. loc_00706401: mov ebp, esp
  896. loc_00706403: sub esp, 0000000Ch
  897. loc_00706406: push 00412856h ; __vbaExceptHandler
  898. loc_0070640B: mov eax, fs:[00000000h]
  899. loc_00706411: push eax
  900. loc_00706412: mov fs:[00000000h], esp
  901. loc_00706419: sub esp, 0000000Ch
  902. loc_0070641C: push ebx
  903. loc_0070641D: push esi
  904. loc_0070641E: push edi
  905. loc_0070641F: mov var_C, esp
  906. loc_00706422: mov var_8, 00410540h
  907. loc_00706429: mov esi, Me
  908. loc_0070642C: mov eax, esi
  909. loc_0070642E: and eax, 00000001h
  910. loc_00706431: mov var_4, eax
  911. loc_00706434: and esi, FFFFFFFEh
  912. loc_00706437: push esi
  913. loc_00706438: mov Me, esi
  914. loc_0070643B: mov ecx, [esi]
  915. loc_0070643D: call [ecx+00000004h]
  916. loc_00706440: xor edi, edi
  917. loc_00706442: push 00447B78h
  918. loc_00706447: mov var_18, edi
  919. loc_0070644A: call [0040122Ch] ; __vbaNew
  920. loc_00706450: lea edx, var_18
  921. loc_00706453: push eax
  922. loc_00706454: push edx
  923. loc_00706455: call [00401128h] ; __vbaObjSet
  924. loc_0070645B: add esi, 00000038h
  925. loc_0070645E: push eax
  926. loc_0070645F: push esi
  927. loc_00706460: call [00401130h] ; __vbaObjSetAddref
  928. loc_00706466: lea ecx, var_18
  929. loc_00706469: call [0040142Ch] ; __vbaFreeObj
  930. loc_0070646F: mov var_4, edi
  931. loc_00706472: push 00706484h
  932. loc_00706477: jmp 00706483h
  933. loc_00706479: lea ecx, var_18
  934. loc_0070647C: call [0040142Ch] ; __vbaFreeObj
  935. loc_00706482: ret
  936. loc_00706483: ret
  937. loc_00706484: mov eax, Me
  938. loc_00706487: push eax
  939. loc_00706488: mov ecx, [eax]
  940. loc_0070648A: call [ecx+00000008h]
  941. loc_0070648D: mov eax, var_4
  942. loc_00706490: mov ecx, var_14
  943. loc_00706493: pop edi
  944. loc_00706494: pop esi
  945. loc_00706495: mov fs:[00000000h], ecx
  946. loc_0070649C: pop ebx
  947. loc_0070649D: mov esp, ebp
  948. loc_0070649F: pop ebp
  949. loc_007064A0: retn 0004h
  950. End Sub