Guest User

Untitled

a guest
Feb 19th, 2018
754
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 201.30 KB | None | 0 0
  1. Types[0] = Pointer
  2. Types[1] = U32
  3. Types[2] = Variant
  4. Types[3] = PChar
  5. Types[4] = Currency
  6. Types[5] = Extended
  7. Types[6] = Double
  8. Types[7] = Single
  9. Types[8] = S64
  10. Types[9] = String
  11. Types[10] = U32
  12. Types[11] = S32
  13. Types[12] = S16
  14. Types[13] = U16
  15. Types[14] = S8
  16. Types[15] = String
  17. Types[16] = UnicodeString
  18. Types[17] = UnicodeString
  19. Types[18] = String
  20. Types[19] = UnicodeString
  21. Types[20] = WideString
  22. Types[21] = WideChar
  23. Types[22] = WideChar
  24. Types[23] = Char
  25. Types[24] = U8
  26. Types[25] = U16
  27. Types[26] = U32
  28. Types[27] = BOOLEAN = U8
  29. Types[28] = U8
  30. Types[29] = TWIZARDPAGE = Class
  31. Types[30] = ProcPtr
  32. Types[31] = ProcPtr
  33. Types[32] = TWIZARDFORM = Class
  34. Types[33] = TNEWBUTTON = Class
  35. Types[34] = TNEWNOTEBOOKPAGE = Class
  36. Types[35] = TOBJECT = Class
  37. Types[36] = TNOTIFYEVENT = ProcPtr
  38. Types[37] = TMSGBOXTYPE = U8
  39. Types[38] = TWIZARDPAGENOTIFYEVENT = ProcPtr
  40. Types[39] = TWIZARDPAGESHOULDSKIPEVENT = ProcPtr
  41. Types[40] = TWIZARDPAGEBUTTONEVENT = ProcPtr
  42. Types[41] = Record <UnicodeString,UnicodeString,UnicodeString,U8,U8>
  43. Types[42] = Record <UnicodeString,UnicodeString,UnicodeString,U8,U8>[]
  44. Types[43] = TOUTPUTPROGRESSWIZARDPAGE = Class
  45. Types[44] = TEXECWAIT = U8
  46. Types[45] = U8
  47. Types[46] = !OPENARRAYOFUNICODESTRING = UnicodeString[]
  48. Types[47] = Variant[]
  49. Types[48] = TSETUPPROCESSORARCHITECTURE = U8
  50. Types[49] = TWINDOWSVERSION = Record <U32,U32,U32,U32,U32,U8,U8,U16>
  51. Types[50] = U8
  52. Types[51] = TINPUTQUERYWIZARDPAGE = Class
  53. Types[52] = TNEWSTATICTEXT = Class
  54. Types[53] = TINPUTDIRWIZARDPAGE = Class
  55. Types[54] = !OPENARRAYOFCONST = Pointer[]
  56. Types[55] = IDISPATCH = Interface
  57. Types[56] = !OPENARRAYOFVARIANT = Variant[]
  58. Types[57] = TWIZARDPAGECANCELEVENT = ProcPtr
  59. Types[58] = TEDIT = Class
  60. Types[59] = TCONTROL = Class
  61. Types[60] = TCOMPONENT = Class
  62. Types[61] = TWINCONTROL = Class
  63. Types[62] = TPASSWORDEDIT = Class
  64. Types[63] = TNEWMEMO = Class
  65. Types[64] = TSTRINGS = Class
  66. Types[65] = TSETUPSTEP = U8
  67. Types[66] = TUNINSTALLSTEP = U8
  68.  
  69. Vars[0].Type = BOOLEAN = U8
  70. Vars[1].Type = BOOLEAN = U8
  71. Vars[2].Type = BOOLEAN = U8
  72. Vars[3].Type = UnicodeString
  73. Vars[4].Type = UnicodeString
  74. Vars[5].Type = UnicodeString
  75. Vars[6].Type = UnicodeString
  76. Vars[7].Type = UnicodeString
  77. Vars[8].Type = UnicodeString
  78. Vars[9].Type = UnicodeString
  79. Vars[10].Type = UnicodeString
  80. Vars[11].Type = UnicodeString
  81. Vars[12].Type = BOOLEAN = U8
  82. Vars[13].Type = BOOLEAN = U8
  83. Vars[14].Type = ProcPtr
  84. Vars[15].Type = ProcPtr
  85. Vars[16].Type = UnicodeString
  86. Vars[17].Type = UnicodeString
  87. Vars[18].Type = UnicodeString
  88. Vars[19].Type = Record <UnicodeString,UnicodeString,UnicodeString,U8,U8>[]
  89. Vars[20].Type = BOOLEAN = U8
  90. Vars[21].Type = BOOLEAN = U8
  91. Vars[22].Type = TOUTPUTPROGRESSWIZARDPAGE = Class
  92. Vars[23].Type = TWINDOWSVERSION = Record <U32,U32,U32,U32,U32,U8,U8,U16>
  93. Vars[24].Type = UnicodeString
  94. Vars[25].Type = UnicodeString
  95. Vars[26].Type = UnicodeString
  96. Vars[27].Type = UnicodeString
  97. Vars[28].Type = UnicodeString
  98. Vars[29].Type = UnicodeString
  99. Vars[30].Type = UnicodeString
  100. Vars[31].Type = UnicodeString
  101. Vars[32].Type = UnicodeString
  102. Vars[33].Type = UnicodeString
  103. Vars[34].Type = BOOLEAN = U8
  104. Vars[35].Type = UnicodeString
  105. Vars[36].Type = TINPUTQUERYWIZARDPAGE = Class
  106. Vars[37].Type = TNEWSTATICTEXT = Class
  107. Vars[38].Type = TINPUTDIRWIZARDPAGE = Class
  108. Vars[39].Type = TNEWSTATICTEXT = Class
  109. Vars[40].Type = BOOLEAN = U8
  110. Vars[41].Type = UnicodeString
  111.  
  112. Functions[0] = exported void !MAIN()
  113. ret
  114.  
  115. Functions[1] = exported BOOLEAN COLLECTSERIALINFO(in UnicodeString Arg1,in UnicodeString Arg2)
  116. pushtype UnicodeString ; StackCount = 1
  117. pushtype UnicodeString ; StackCount = 2
  118. pushtype BOOLEAN ; StackCount = 3
  119. pushtype UnicodeString ; StackCount = 4
  120. assign RetVal, ( U8 0 )
  121. assign Var2, ( String "" )
  122. pushtype UnicodeString ; StackCount = 5
  123. assign Var5, ( String "Software\FlightSimLabs\" )
  124. calculate Var5 + Arg1
  125. assign Var1, Var5
  126. pop ; StackCount = 4
  127. pushtype UnicodeString ; StackCount = 5
  128. assign Var5, ( String " Testing HKCU\" )
  129. calculate Var5 + Var1
  130. calculate Var5 + ( String "\SerialNumber" )
  131. assign Var4, Var5
  132. pop ; StackCount = 4
  133. pushtype UnicodeString ; StackCount = 5
  134. assign Var5, Var4
  135. call LOG
  136. pop ; StackCount = 4
  137. pushtype Pointer ; StackCount = 5
  138. setptr Var5, Var2
  139. pushtype UnicodeString ; StackCount = 6
  140. assign Var6, ( String "SerialNumber" )
  141. pushtype UnicodeString ; StackCount = 7
  142. assign Var7, Var1
  143. pushtype S32 ; StackCount = 8
  144. assign Var8, ( S32 -2147483647 )
  145. pushvar Var3 ; StackCount = 9
  146. call REGQUERYSTRINGVALUE
  147. pop ; StackCount = 8
  148. pop ; StackCount = 7
  149. pop ; StackCount = 6
  150. pop ; StackCount = 5
  151. pop ; StackCount = 4
  152. pushtype BOOLEAN ; StackCount = 5
  153. assign Var5, Var3
  154. logicalnot Var5
  155. setflag not Var5
  156. pop ; StackCount = 4
  157. jumpflag loc_19e
  158. assign Var4, ( String " NOT Found..." )
  159. pushtype UnicodeString ; StackCount = 5
  160. assign Var5, Var4
  161. call LOG
  162. pop ; StackCount = 4
  163. jump loc_1ec
  164. loc_19e:
  165. pushtype UnicodeString ; StackCount = 5
  166. assign Var5, ( String " Found...: " )
  167. calculate Var5 + Var2
  168. assign Var4, Var5
  169. pop ; StackCount = 4
  170. pushtype UnicodeString ; StackCount = 5
  171. assign Var5, Var4
  172. call LOG
  173. pop ; StackCount = 4
  174. loc_1ec:
  175. pushtype BOOLEAN ; StackCount = 5
  176. compare Var5, Var2 != ( String "" )
  177. setflag not Var5
  178. pop ; StackCount = 4
  179. jumpflag loc_34a
  180. pushtype BOOLEAN ; StackCount = 5
  181. pushtype S32 ; StackCount = 6
  182. pushtype UnicodeString ; StackCount = 7
  183. assign Var7, Var2
  184. pushvar Var6 ; StackCount = 8
  185. call LENGTH
  186. pop ; StackCount = 7
  187. pop ; StackCount = 6
  188. compare Var5, Var6 != ( S32 34 )
  189. pop ; StackCount = 5
  190. jumptrue Var5, loc_2b5
  191. pushtype BOOLEAN ; StackCount = 6
  192. pushtype S32 ; StackCount = 7
  193. pushtype UnicodeString ; StackCount = 8
  194. assign Var8, Var2
  195. pushtype UnicodeString ; StackCount = 9
  196. assign Var9, Arg2
  197. pushvar Var7 ; StackCount = 10
  198. call POS
  199. pop ; StackCount = 9
  200. pop ; StackCount = 8
  201. pop ; StackCount = 7
  202. compare Var6, Var7 != ( S32 1 )
  203. pop ; StackCount = 6
  204. calculate Var5 | Var6
  205. pop ; StackCount = 5
  206. loc_2b5:
  207. setflag not Var5
  208. pop ; StackCount = 4
  209. jumpflag loc_304
  210. assign Var4, ( String " NOT a proper serial..." )
  211. pushtype UnicodeString ; StackCount = 5
  212. assign Var5, Var4
  213. call LOG
  214. pop ; StackCount = 4
  215. jump loc_34a
  216. loc_304:
  217. assign Var4, ( String " Serial validated..." )
  218. pushtype UnicodeString ; StackCount = 5
  219. assign Var5, Var4
  220. call LOG
  221. pop ; StackCount = 4
  222. assign RetVal, ( U8 1 )
  223. loc_34a:
  224. ret
  225.  
  226. Functions[2] = external void LOG(out Arg1)
  227.  
  228. Functions[3] = external returnsval REGQUERYSTRINGVALUE(out Arg1,out Arg2)
  229.  
  230. Functions[4] = external returnsval LENGTH()
  231.  
  232. Functions[5] = external returnsval POS(out Arg1)
  233.  
  234. Functions[6] = exported void COLLECTSERIALSINFO()
  235. pushtype UnicodeString ; StackCount = 1
  236. pushtype BOOLEAN ; StackCount = 2
  237. pushtype UnicodeString ; StackCount = 3
  238. assign Global0, ( U8 0 )
  239. pushtype UnicodeString ; StackCount = 4
  240. assign Var4, ( String "Collecting Serial Keys information..." )
  241. call LOG
  242. pop ; StackCount = 3
  243. pushtype UnicodeString ; StackCount = 4
  244. assign Var4, ( String "" )
  245. call LOG
  246. pop ; StackCount = 3
  247. pushtype UnicodeString ; StackCount = 4
  248. assign Var4, ( String "Looking for A320X-P3Dv4..." )
  249. call LOG
  250. pop ; StackCount = 3
  251. pushtype UnicodeString ; StackCount = 4
  252. assign Var4, ( String "A320X-P4D" )
  253. pushtype UnicodeString ; StackCount = 5
  254. assign Var5, ( String "A320X-P3Dv4" )
  255. pushvar Global0 ; StackCount = 6
  256. call COLLECTSERIALINFO
  257. pop ; StackCount = 5
  258. pop ; StackCount = 4
  259. pop ; StackCount = 3
  260. pushtype UnicodeString ; StackCount = 4
  261. assign Var4, ( String "Finished Collecting Serial Keys information..." )
  262. call LOG
  263. pop ; StackCount = 3
  264. pushtype UnicodeString ; StackCount = 4
  265. assign Var4, ( String "" )
  266. call LOG
  267. pop ; StackCount = 3
  268. ret
  269.  
  270. Functions[7] = exported void COLLECTSIMSINFO()
  271. pushtype U32 ; StackCount = 1
  272. pushtype U32 ; StackCount = 2
  273. pushtype U32 ; StackCount = 3
  274. pushtype U32 ; StackCount = 4
  275. pushtype U32 ; StackCount = 5
  276. pushtype U32 ; StackCount = 6
  277. pushtype BOOLEAN ; StackCount = 7
  278. pushtype UnicodeString ; StackCount = 8
  279. assign Global1, ( U8 0 )
  280. assign Global2, ( U8 0 )
  281. assign Global10, ( String "" )
  282. pushtype UnicodeString ; StackCount = 9
  283. assign Var9, ( String "Collecting simulator platform information..." )
  284. call LOG
  285. pop ; StackCount = 8
  286. pushtype UnicodeString ; StackCount = 9
  287. assign Var9, ( String "" )
  288. call LOG
  289. pop ; StackCount = 8
  290. pushtype UnicodeString ; StackCount = 9
  291. assign Var9, ( String "Starting with Prepar3D v4..." )
  292. call LOG
  293. pop ; StackCount = 8
  294. assign Global3, ( String "SOFTWARE\Lockheed Martin\Prepar3d v4" )
  295. pushtype UnicodeString ; StackCount = 9
  296. assign Var9, ( String "{userappdata}\Lockheed Martin\Prepar3d v4\" )
  297. pushvar Global9 ; StackCount = 10
  298. call EXPANDCONSTANT
  299. pop ; StackCount = 9
  300. pop ; StackCount = 8
  301. pushtype UnicodeString ; StackCount = 9
  302. assign Var9, ( String "{localappdata}\Lockheed Martin\Prepar3d v4\" )
  303. pushvar Global11 ; StackCount = 10
  304. call EXPANDCONSTANT
  305. pop ; StackCount = 9
  306. pop ; StackCount = 8
  307. pushtype UnicodeString ; StackCount = 9
  308. assign Var9, ( String "{userdocs}\Prepar3d v4 Files\" )
  309. pushvar Global5 ; StackCount = 10
  310. call EXPANDCONSTANT
  311. pop ; StackCount = 9
  312. pop ; StackCount = 8
  313. pushtype UnicodeString ; StackCount = 9
  314. assign Var9, ( String "{userdocs}\Prepar3d v4 Add-ons\" )
  315. pushvar Global6 ; StackCount = 10
  316. call EXPANDCONSTANT
  317. pop ; StackCount = 9
  318. pop ; StackCount = 8
  319. pushtype UnicodeString ; StackCount = 9
  320. assign Var9, ( String " Testing HKLM\" )
  321. calculate Var9 + Global3
  322. calculate Var9 + ( String "\SetupPath" )
  323. assign Var8, Var9
  324. pop ; StackCount = 8
  325. pushtype UnicodeString ; StackCount = 9
  326. assign Var9, Var8
  327. call LOG
  328. pop ; StackCount = 8
  329. pushtype Pointer ; StackCount = 9
  330. setptr Var9, Global4
  331. pushtype UnicodeString ; StackCount = 10
  332. assign Var10, ( String "SetupPath" )
  333. pushtype UnicodeString ; StackCount = 11
  334. assign Var11, Global3
  335. pushtype S32 ; StackCount = 12
  336. assign Var12, ( S32 -2147483646 )
  337. pushvar Var7 ; StackCount = 13
  338. call REGQUERYSTRINGVALUE
  339. pop ; StackCount = 12
  340. pop ; StackCount = 11
  341. pop ; StackCount = 10
  342. pop ; StackCount = 9
  343. pop ; StackCount = 8
  344. pushtype BOOLEAN ; StackCount = 9
  345. assign Var9, Var7
  346. logicalnot Var9
  347. setflag not Var9
  348. pop ; StackCount = 8
  349. jumpflag loc_4d2
  350. assign Var8, ( String " NOT Found..." )
  351. pushtype UnicodeString ; StackCount = 9
  352. assign Var9, Var8
  353. call LOG
  354. pop ; StackCount = 8
  355. pushtype UnicodeString ; StackCount = 9
  356. assign Var9, ( String " Testing HKCU\" )
  357. calculate Var9 + Global3
  358. calculate Var9 + ( String "\AppPath" )
  359. assign Var8, Var9
  360. pop ; StackCount = 8
  361. pushtype UnicodeString ; StackCount = 9
  362. assign Var9, Var8
  363. call LOG
  364. pop ; StackCount = 8
  365. pushtype Pointer ; StackCount = 9
  366. setptr Var9, Global4
  367. pushtype UnicodeString ; StackCount = 10
  368. assign Var10, ( String "AppPath" )
  369. pushtype UnicodeString ; StackCount = 11
  370. assign Var11, Global3
  371. pushtype S32 ; StackCount = 12
  372. assign Var12, ( S32 -2147483647 )
  373. pushvar Var7 ; StackCount = 13
  374. call REGQUERYSTRINGVALUE
  375. pop ; StackCount = 12
  376. pop ; StackCount = 11
  377. pop ; StackCount = 10
  378. pop ; StackCount = 9
  379. pop ; StackCount = 8
  380. pushtype BOOLEAN ; StackCount = 9
  381. assign Var9, Var7
  382. logicalnot Var9
  383. setflag not Var9
  384. pop ; StackCount = 8
  385. jumpflag loc_47f
  386. assign Var8, ( String " NOT Found..." )
  387. pushtype UnicodeString ; StackCount = 9
  388. assign Var9, Var8
  389. call LOG
  390. pop ; StackCount = 8
  391. assign Global4, ( String "" )
  392. jump loc_4cd
  393. loc_47f:
  394. pushtype UnicodeString ; StackCount = 9
  395. assign Var9, ( String " Found...: " )
  396. calculate Var9 + Global4
  397. assign Var8, Var9
  398. pop ; StackCount = 8
  399. pushtype UnicodeString ; StackCount = 9
  400. assign Var9, Var8
  401. call LOG
  402. pop ; StackCount = 8
  403. loc_4cd:
  404. jump loc_520
  405. loc_4d2:
  406. pushtype UnicodeString ; StackCount = 9
  407. assign Var9, ( String " Found...: " )
  408. calculate Var9 + Global4
  409. assign Var8, Var9
  410. pop ; StackCount = 8
  411. pushtype UnicodeString ; StackCount = 9
  412. assign Var9, Var8
  413. call LOG
  414. pop ; StackCount = 8
  415. loc_520:
  416. pushtype BOOLEAN ; StackCount = 9
  417. compare Var9, Global4 != ( String "" )
  418. setflag not Var9
  419. pop ; StackCount = 8
  420. jumpflag loc_a6d
  421. pushtype UnicodeString ; StackCount = 9
  422. assign Var9, Global4
  423. calculate Var9 + ( String "\Prepar3D.exe" )
  424. assign Global8, Var9
  425. pop ; StackCount = 8
  426. pushtype UnicodeString ; StackCount = 9
  427. assign Var9, ( String " Testing " )
  428. calculate Var9 + Global8
  429. assign Var8, Var9
  430. pop ; StackCount = 8
  431. pushtype UnicodeString ; StackCount = 9
  432. assign Var9, Var8
  433. call LOG
  434. pop ; StackCount = 8
  435. pushtype BOOLEAN ; StackCount = 9
  436. pushtype UnicodeString ; StackCount = 10
  437. assign Var10, Global8
  438. pushvar Var9 ; StackCount = 11
  439. call FILEEXISTS
  440. pop ; StackCount = 10
  441. pop ; StackCount = 9
  442. logicalnot Var9
  443. setflag not Var9
  444. pop ; StackCount = 8
  445. jumpflag loc_647
  446. assign Var8, ( String " NOT Found..." )
  447. pushtype UnicodeString ; StackCount = 9
  448. assign Var9, Var8
  449. call LOG
  450. pop ; StackCount = 8
  451. assign Global4, ( String "" )
  452. jump loc_a6d
  453. loc_647:
  454. pushtype BOOLEAN ; StackCount = 9
  455. pushtype Pointer ; StackCount = 10
  456. setptr Var10, Var2
  457. pushtype Pointer ; StackCount = 11
  458. setptr Var11, Var1
  459. pushtype UnicodeString ; StackCount = 12
  460. assign Var12, Global8
  461. pushvar Var9 ; StackCount = 13
  462. call GETVERSIONNUMBERS
  463. pop ; StackCount = 12
  464. pop ; StackCount = 11
  465. pop ; StackCount = 10
  466. pop ; StackCount = 9
  467. pop ; StackCount = 8
  468. assign Var3, Var1
  469. calculate Var3 >> ( S32 16 )
  470. assign Var4, Var1
  471. calculate Var4 & ( S32 65535 )
  472. assign Var5, Var2
  473. calculate Var5 >> ( S32 16 )
  474. assign Var6, Var2
  475. calculate Var6 & ( S32 65535 )
  476. pushtype UnicodeString ; StackCount = 9
  477. assign Var9, ( String " Found... " )
  478. calculate Var9 + Global8
  479. calculate Var9 + ( String " (" )
  480. pushtype UnicodeString ; StackCount = 10
  481. pushtype S64 ; StackCount = 11
  482. assign Var11, Var3
  483. pushvar Var10 ; StackCount = 12
  484. call INTTOSTR
  485. pop ; StackCount = 11
  486. pop ; StackCount = 10
  487. calculate Var9 + Var10
  488. pop ; StackCount = 9
  489. calculate Var9 + ( Char '.' )
  490. pushtype UnicodeString ; StackCount = 10
  491. pushtype S64 ; StackCount = 11
  492. assign Var11, Var4
  493. pushvar Var10 ; StackCount = 12
  494. call INTTOSTR
  495. pop ; StackCount = 11
  496. pop ; StackCount = 10
  497. calculate Var9 + Var10
  498. pop ; StackCount = 9
  499. calculate Var9 + ( Char '.' )
  500. pushtype UnicodeString ; StackCount = 10
  501. pushtype S64 ; StackCount = 11
  502. assign Var11, Var5
  503. pushvar Var10 ; StackCount = 12
  504. call INTTOSTR
  505. pop ; StackCount = 11
  506. pop ; StackCount = 10
  507. calculate Var9 + Var10
  508. pop ; StackCount = 9
  509. calculate Var9 + ( Char '.' )
  510. pushtype UnicodeString ; StackCount = 10
  511. pushtype S64 ; StackCount = 11
  512. assign Var11, Var6
  513. pushvar Var10 ; StackCount = 12
  514. call INTTOSTR
  515. pop ; StackCount = 11
  516. pop ; StackCount = 10
  517. calculate Var9 + Var10
  518. pop ; StackCount = 9
  519. calculate Var9 + ( Char ')' )
  520. assign Var8, Var9
  521. pop ; StackCount = 8
  522. pushtype UnicodeString ; StackCount = 9
  523. assign Var9, Var8
  524. call LOG
  525. pop ; StackCount = 8
  526. pushtype BOOLEAN ; StackCount = 9
  527. compare Var9, Var6 < ( S32 22841 )
  528. setflag not Var9
  529. pop ; StackCount = 8
  530. jumpflag loc_8d5
  531. assign Var8, ( String " Please upgrade to a later P3D v4 version ..." )
  532. pushtype UnicodeString ; StackCount = 9
  533. assign Var9, Var8
  534. call LOG
  535. pop ; StackCount = 8
  536. assign Global4, ( String "" )
  537. jump loc_a6d
  538. loc_8d5:
  539. pushtype BOOLEAN ; StackCount = 9
  540. compare Var9, Var6 > ( S32 22841 )
  541. setflag not Var9
  542. pop ; StackCount = 8
  543. jumpflag loc_969
  544. assign Var8, ( String " Your P3D v4 version is newer than this installer can recognize..." )
  545. pushtype UnicodeString ; StackCount = 9
  546. assign Var9, Var8
  547. call LOG
  548. pop ; StackCount = 8
  549. jump loc_a6d
  550. loc_969:
  551. pushtype UnicodeString ; StackCount = 9
  552. assign Var9, ( String " AppData folder is \"" )
  553. calculate Var9 + Global9
  554. calculate Var9 + ( String "\" ..." )
  555. assign Var8, Var9
  556. pop ; StackCount = 8
  557. pushtype UnicodeString ; StackCount = 9
  558. assign Var9, Var8
  559. call LOG
  560. pop ; StackCount = 8
  561. pushtype UnicodeString ; StackCount = 9
  562. assign Var9, ( String " LocalAppData folder is \"" )
  563. calculate Var9 + Global11
  564. calculate Var9 + ( String "\" ..." )
  565. assign Var8, Var9
  566. pop ; StackCount = 8
  567. pushtype UnicodeString ; StackCount = 9
  568. assign Var9, Var8
  569. call LOG
  570. pop ; StackCount = 8
  571. assign Global1, ( U8 1 )
  572. assign Global10, ( String "Prepar3D.cfg" )
  573. loc_a6d:
  574. pushtype UnicodeString ; StackCount = 9
  575. assign Var9, ( String "Finished collecting info..." )
  576. call LOG
  577. pop ; StackCount = 8
  578. pushtype UnicodeString ; StackCount = 9
  579. assign Var9, ( String "Results:" )
  580. call LOG
  581. pop ; StackCount = 8
  582. pushtype BOOLEAN ; StackCount = 9
  583. assign Var9, Global1
  584. setflag not Var9
  585. pop ; StackCount = 8
  586. jumpflag loc_bfd
  587. assign Var8, ( String "Prepar3D v4 Exists..." )
  588. pushtype UnicodeString ; StackCount = 9
  589. assign Var9, Var8
  590. call LOG
  591. pop ; StackCount = 8
  592. pushtype UnicodeString ; StackCount = 9
  593. assign Var9, ( String " AppData folder is \"" )
  594. calculate Var9 + Global9
  595. calculate Var9 + ( String "\" ..." )
  596. assign Var8, Var9
  597. pop ; StackCount = 8
  598. pushtype UnicodeString ; StackCount = 9
  599. assign Var9, Var8
  600. call LOG
  601. pop ; StackCount = 8
  602. pushtype UnicodeString ; StackCount = 9
  603. assign Var9, ( String " LocalAppData folder is \"" )
  604. calculate Var9 + Global11
  605. calculate Var9 + ( String "\" ..." )
  606. assign Var8, Var9
  607. pop ; StackCount = 8
  608. pushtype UnicodeString ; StackCount = 9
  609. assign Var9, Var8
  610. call LOG
  611. pop ; StackCount = 8
  612. jump loc_c3f
  613. loc_bfd:
  614. assign Var8, ( String "Prepar3D v4 does NOT exist..." )
  615. pushtype UnicodeString ; StackCount = 9
  616. assign Var9, Var8
  617. call LOG
  618. pop ; StackCount = 8
  619. loc_c3f:
  620. ret
  621.  
  622. Functions[8] = external returnsval EXPANDCONSTANT(out Arg1)
  623.  
  624. Functions[9] = external returnsval FILEEXISTS(out Arg1)
  625.  
  626. Functions[10] = external returnsval GETVERSIONNUMBERS(out Arg1,in Arg2)
  627.  
  628. Functions[11] = external returnsval INTTOSTR(out Arg1)
  629.  
  630. Functions[12] = external stdcall returnsval kernel32.dll!GetFileAttributesA(out Arg1)
  631.  
  632. Functions[13] = external stdcall returnsval kernel32.dll!SetFileAttributesA(out Arg1)
  633.  
  634. Functions[14] = exported BOOLEAN ISREADONLY(in UnicodeString Arg1)
  635. pushtype U32 ; StackCount = 1
  636. pushtype String ; StackCount = 2
  637. assign Var2, Arg1
  638. pushvar Var1 ; StackCount = 3
  639. call kernel32.dll!GetFileAttributesA
  640. pop ; StackCount = 2
  641. pop ; StackCount = 1
  642. pushtype U32 ; StackCount = 2
  643. assign Var2, Var1
  644. calculate Var2 & ( S32 1 )
  645. compare RetVal, Var2 == ( S32 1 )
  646. pop ; StackCount = 1
  647. ret
  648.  
  649. Functions[15] = exported void REMOVEREADONLY(in UnicodeString Arg1)
  650. pushtype U32 ; StackCount = 1
  651. pushtype String ; StackCount = 2
  652. assign Var2, Arg1
  653. pushvar Var1 ; StackCount = 3
  654. call kernel32.dll!GetFileAttributesA
  655. pop ; StackCount = 2
  656. pop ; StackCount = 1
  657. pushtype BOOLEAN ; StackCount = 2
  658. pushtype U32 ; StackCount = 3
  659. assign Var3, Var1
  660. calculate Var3 & ( S32 1 )
  661. compare Var2, Var3 == ( S32 1 )
  662. pop ; StackCount = 2
  663. setflag not Var2
  664. pop ; StackCount = 1
  665. jumpflag loc_ae
  666. calculate Var1 - ( S32 1 )
  667. pushtype U32 ; StackCount = 2
  668. pushtype U32 ; StackCount = 3
  669. assign Var3, Var1
  670. pushtype String ; StackCount = 4
  671. assign Var4, Arg1
  672. pushvar Var2 ; StackCount = 5
  673. call kernel32.dll!SetFileAttributesA
  674. pop ; StackCount = 4
  675. pop ; StackCount = 3
  676. pop ; StackCount = 2
  677. pop ; StackCount = 1
  678. loc_ae:
  679. ret
  680.  
  681. Functions[16] = exported UnicodeString GETCOMMANDLINEPARAM(in UnicodeString Arg1)
  682. pushtype S32 ; StackCount = 1
  683. pushtype BOOLEAN ; StackCount = 2
  684. assign Var1, ( S32 0 )
  685. assign RetVal, ( String "" )
  686. assign Var2, ( U8 0 )
  687. pushtype BOOLEAN ; StackCount = 3
  688. loc_39:
  689. pushtype S32 ; StackCount = 4
  690. pushvar Var4 ; StackCount = 5
  691. call PARAMCOUNT
  692. pop ; StackCount = 4
  693. compare Var3, Var1 < Var4
  694. pop ; StackCount = 3
  695. jumpfalse Var3, loc_89
  696. pushtype BOOLEAN ; StackCount = 4
  697. assign Var4, Var2
  698. logicalnot Var4
  699. calculate Var3 & Var4
  700. pop ; StackCount = 3
  701. loc_89:
  702. jumpfalse Var3, loc_187
  703. pushtype BOOLEAN ; StackCount = 4
  704. pushtype UnicodeString ; StackCount = 5
  705. pushtype S32 ; StackCount = 6
  706. assign Var6, Var1
  707. pushvar Var5 ; StackCount = 7
  708. call PARAMSTR
  709. pop ; StackCount = 6
  710. pop ; StackCount = 5
  711. compare Var4, Var5 == Arg1
  712. pop ; StackCount = 4
  713. jumpfalse Var4, loc_12c
  714. pushtype BOOLEAN ; StackCount = 5
  715. pushtype S32 ; StackCount = 6
  716. assign Var6, Var1
  717. calculate Var6 + ( S32 1 )
  718. pushtype S32 ; StackCount = 7
  719. pushvar Var7 ; StackCount = 8
  720. call PARAMCOUNT
  721. pop ; StackCount = 7
  722. compare Var5, Var6 <= Var7
  723. pop ; StackCount = 6
  724. pop ; StackCount = 5
  725. calculate Var4 & Var5
  726. pop ; StackCount = 4
  727. loc_12c:
  728. setflag not Var4
  729. pop ; StackCount = 3
  730. jumpflag loc_172
  731. pushtype S32 ; StackCount = 4
  732. assign Var4, Var1
  733. calculate Var4 + ( S32 1 )
  734. pushvar RetVal ; StackCount = 5
  735. call PARAMSTR
  736. pop ; StackCount = 4
  737. pop ; StackCount = 3
  738. assign Var2, ( U8 1 )
  739. loc_172:
  740. calculate Var1 + ( S32 1 )
  741. jump loc_39
  742. loc_187:
  743. pop ; StackCount = 2
  744. ret
  745.  
  746. Functions[17] = external returnsval PARAMCOUNT()
  747.  
  748. Functions[18] = external returnsval PARAMSTR(out Arg1)
  749.  
  750. Functions[19] = external stdcall void files:itdownload.dll!itd_cancel()
  751.  
  752. Functions[20] = external stdcall void files:itdownload.dll!itd_clearfiles()
  753.  
  754. Functions[21] = external stdcall returnsval files:itdownload.dll!itd_downloadfile(out Arg1)
  755.  
  756. Functions[22] = external stdcall returnsval files:itdownload.dll!itd_getresultlen()
  757.  
  758. Functions[23] = external stdcall void files:itdownload.dll!itd_getresultstring(out Arg1)
  759.  
  760. Functions[24] = external stdcall void files:itdownload.dll!itd_initui(out Arg1)
  761.  
  762. Functions[25] = external stdcall returnsval files:itdownload.dll!itd_loadstrings(out Arg1)
  763.  
  764. Functions[26] = external stdcall void files:itdownload.dll!itd_setoption(out Arg1)
  765.  
  766. Functions[27] = external stdcall returnsval files:itdownload.dll!itd_getfilesize(out Arg1)
  767.  
  768. Functions[28] = external stdcall returnsval files:itdownload.dll!itd_getstring(out Arg1)
  769.  
  770. Functions[29] = external stdcall returnsval files:itdownload.dll!itd_getoption(out Arg1,out Arg2)
  771.  
  772. Functions[30] = external stdcall void files:itdownload.dll!itd_setstring(out Arg1)
  773.  
  774. Functions[31] = external stdcall void files:itdownload.dll!itd_addfile(out Arg1)
  775.  
  776. Functions[32] = external stdcall void files:itdownload.dll!itd_addmirror(out Arg1)
  777.  
  778. Functions[33] = external stdcall void files:itdownload.dll!itd_addfilesize(out Arg1,out Arg2)
  779.  
  780. Functions[34] = external stdcall returnsval files:itdownload.dll!itd_downloadfiles(out Arg1)
  781.  
  782. Functions[35] = external stdcall returnsval files:itdownload.dll!itd_filecount()
  783.  
  784. Functions[36] = external stdcall returnsval files:itdownload.dll!itd_postpage(out Arg1,out Arg2)
  785.  
  786. Functions[37] = exported void ITD_DOWNLOADFILES()
  787. pushtype S32 ; StackCount = 1
  788. pushtype S32 ; StackCount = 2
  789. assign Var2, ( S32 0 )
  790. pushvar Var1 ; StackCount = 3
  791. call files:itdownload.dll!itd_downloadfiles
  792. pop ; StackCount = 2
  793. pop ; StackCount = 1
  794. pop ; StackCount = 0
  795. ret
  796.  
  797. Functions[38] = exported void ITD_ADDFILE(in UnicodeString Arg1,in UnicodeString Arg2)
  798. pushtype String ; StackCount = 1
  799. assign Var1, Arg2
  800. pushtype String ; StackCount = 2
  801. assign Var2, Arg1
  802. call files:itdownload.dll!itd_addfile
  803. pop ; StackCount = 1
  804. pop ; StackCount = 0
  805. ret
  806.  
  807. Functions[39] = exported void ITD_ADDMIRROR(in UnicodeString Arg1,in UnicodeString Arg2)
  808. pushtype String ; StackCount = 1
  809. assign Var1, Arg2
  810. pushtype String ; StackCount = 2
  811. assign Var2, Arg1
  812. call files:itdownload.dll!itd_addmirror
  813. pop ; StackCount = 1
  814. pop ; StackCount = 0
  815. ret
  816.  
  817. Functions[40] = exported void ITD_ADDFILESIZE(in UnicodeString Arg1,in UnicodeString Arg2,in S32 Arg3)
  818. pushtype S32 ; StackCount = 1
  819. assign Var1, Arg3
  820. pushtype String ; StackCount = 2
  821. assign Var2, Arg2
  822. pushtype String ; StackCount = 3
  823. assign Var3, Arg1
  824. call files:itdownload.dll!itd_addfilesize
  825. pop ; StackCount = 2
  826. pop ; StackCount = 1
  827. pop ; StackCount = 0
  828. ret
  829.  
  830. Functions[41] = exported BOOLEAN ITD_HANDLESKIPPAGE(in TWIZARDPAGE Arg1)
  831. pushtype S32 ; StackCount = 1
  832. pushvar Var1 ; StackCount = 2
  833. call files:itdownload.dll!itd_filecount
  834. pop ; StackCount = 1
  835. compare RetVal, Var1 == ( S32 0 )
  836. pop ; StackCount = 0
  837. ret
  838.  
  839. Functions[42] = exported void ITD_SETSTRING(in S32 Arg1,in UnicodeString Arg2)
  840. pushtype String ; StackCount = 1
  841. assign Var1, Arg2
  842. pushtype S32 ; StackCount = 2
  843. assign Var2, Arg1
  844. call files:itdownload.dll!itd_setstring
  845. pop ; StackCount = 1
  846. pop ; StackCount = 0
  847. ret
  848.  
  849. Functions[43] = exported BOOLEAN ITD_GETFILESIZE(in UnicodeString Arg1,out U32 Arg2)
  850. pushtype Pointer ; StackCount = 1
  851. setptr Var1, Arg2
  852. pushtype String ; StackCount = 2
  853. assign Var2, Arg1
  854. pushvar RetVal ; StackCount = 3
  855. call files:itdownload.dll!itd_getfilesize
  856. pop ; StackCount = 2
  857. pop ; StackCount = 1
  858. pop ; StackCount = 0
  859. ret
  860.  
  861. Functions[44] = exported BOOLEAN ITD_LOADSTRINGS(in UnicodeString Arg1)
  862. pushtype String ; StackCount = 1
  863. assign Var1, Arg1
  864. pushvar RetVal ; StackCount = 2
  865. call files:itdownload.dll!itd_loadstrings
  866. pop ; StackCount = 1
  867. pop ; StackCount = 0
  868. ret
  869.  
  870. Functions[45] = exported UnicodeString ITD_GETSTRING(in S32 Arg1)
  871. pushtype BOOLEAN ; StackCount = 1
  872. pushtype S32 ; StackCount = 2
  873. assign Var2, Arg1
  874. pushvar Var1 ; StackCount = 3
  875. call files:itdownload.dll!itd_getstring
  876. pop ; StackCount = 2
  877. pop ; StackCount = 1
  878. pop ; StackCount = 0
  879. pushtype S32 ; StackCount = 1
  880. pushvar Var1 ; StackCount = 2
  881. call files:itdownload.dll!itd_getresultlen
  882. pop ; StackCount = 1
  883. pushtype Pointer ; StackCount = 2
  884. setptr Var2, RetVal
  885. call SETLENGTH
  886. pop ; StackCount = 1
  887. pop ; StackCount = 0
  888. pushtype S32 ; StackCount = 1
  889. pushtype UnicodeString ; StackCount = 2
  890. assign Var2, RetVal
  891. pushvar Var1 ; StackCount = 3
  892. call LENGTH
  893. pop ; StackCount = 2
  894. pop ; StackCount = 1
  895. pushtype String ; StackCount = 2
  896. assign Var2, RetVal
  897. call files:itdownload.dll!itd_getresultstring
  898. pop ; StackCount = 1
  899. pop ; StackCount = 0
  900. ret
  901.  
  902. Functions[46] = external void SETLENGTH()
  903.  
  904. Functions[47] = exported void ITD_NOWDODOWNLOAD(in TWIZARDPAGE Arg1)
  905. pushtype S32 ; StackCount = 1
  906. pushtype BOOLEAN ; StackCount = 2
  907. assign Var2, ( U8 0 )
  908. pushtype TNEWBUTTON ; StackCount = 3
  909. pushtype TWIZARDFORM ; StackCount = 4
  910. pushvar Var4 ; StackCount = 5
  911. call WIZARDFORM
  912. pop ; StackCount = 4
  913. pushvar Var3 ; StackCount = 5
  914. call TWIZARDFORM->BACKBUTTON
  915. pop ; StackCount = 4
  916. pop ; StackCount = 3
  917. call TCONTROL->ENABLED
  918. pop ; StackCount = 2
  919. pop ; StackCount = 1
  920. pushtype BOOLEAN ; StackCount = 2
  921. assign Var2, ( U8 0 )
  922. pushtype TNEWBUTTON ; StackCount = 3
  923. pushtype TWIZARDFORM ; StackCount = 4
  924. pushvar Var4 ; StackCount = 5
  925. call WIZARDFORM
  926. pop ; StackCount = 4
  927. pushvar Var3 ; StackCount = 5
  928. call TWIZARDFORM->NEXTBUTTON
  929. pop ; StackCount = 4
  930. pop ; StackCount = 3
  931. call TCONTROL->ENABLED
  932. pop ; StackCount = 2
  933. pop ; StackCount = 1
  934. pushtype UnicodeString ; StackCount = 2
  935. pushtype S32 ; StackCount = 3
  936. assign Var3, ( S32 200 )
  937. pushvar Var2 ; StackCount = 4
  938. call ITD_GETSTRING
  939. pop ; StackCount = 3
  940. pop ; StackCount = 2
  941. pushtype TWIZARDPAGE ; StackCount = 3
  942. assign Var3, Arg1
  943. call TWIZARDPAGE->CAPTION
  944. pop ; StackCount = 2
  945. pop ; StackCount = 1
  946. pushtype UnicodeString ; StackCount = 2
  947. pushtype S32 ; StackCount = 3
  948. assign Var3, ( S32 201 )
  949. pushvar Var2 ; StackCount = 4
  950. call ITD_GETSTRING
  951. pop ; StackCount = 3
  952. pop ; StackCount = 2
  953. pushtype TWIZARDPAGE ; StackCount = 3
  954. assign Var3, Arg1
  955. call TWIZARDPAGE->DESCRIPTION
  956. pop ; StackCount = 2
  957. pop ; StackCount = 1
  958. pushtype S32 ; StackCount = 2
  959. pushtype TNEWNOTEBOOKPAGE ; StackCount = 3
  960. pushtype TWIZARDPAGE ; StackCount = 4
  961. assign Var4, Arg1
  962. pushvar Var3 ; StackCount = 5
  963. call TWIZARDPAGE->SURFACE
  964. pop ; StackCount = 4
  965. pop ; StackCount = 3
  966. pushvar Var2 ; StackCount = 4
  967. call TWINCONTROL->HANDLE
  968. pop ; StackCount = 3
  969. pop ; StackCount = 2
  970. pushvar Var1 ; StackCount = 3
  971. call files:itdownload.dll!itd_downloadfiles
  972. pop ; StackCount = 2
  973. pop ; StackCount = 1
  974. pushtype S32 ; StackCount = 2
  975. assign Var2, Var1
  976. pushtype BOOLEAN ; StackCount = 3
  977. compare Var3, ( S32 0 ) == Var2
  978. jumpfalse Var3, loc_253
  979. pushtype BOOLEAN ; StackCount = 4
  980. assign Var4, ( U8 1 )
  981. pushtype TNEWBUTTON ; StackCount = 5
  982. pushtype TWIZARDFORM ; StackCount = 6
  983. pushvar Var6 ; StackCount = 7
  984. call WIZARDFORM
  985. pop ; StackCount = 6
  986. pushvar Var5 ; StackCount = 7
  987. call TWIZARDFORM->NEXTBUTTON
  988. pop ; StackCount = 6
  989. pop ; StackCount = 5
  990. call TCONTROL->ENABLED
  991. pop ; StackCount = 4
  992. pop ; StackCount = 3
  993. pushtype TNOTIFYEVENT ; StackCount = 4
  994. pushtype TNEWBUTTON ; StackCount = 5
  995. pushtype TWIZARDFORM ; StackCount = 6
  996. pushvar Var6 ; StackCount = 7
  997. call WIZARDFORM
  998. pop ; StackCount = 6
  999. pushvar Var5 ; StackCount = 7
  1000. call TWIZARDFORM->NEXTBUTTON
  1001. pop ; StackCount = 6
  1002. pop ; StackCount = 5
  1003. pushvar Var4 ; StackCount = 6
  1004. call TBUTTON->ONCLICK
  1005. pop ; StackCount = 5
  1006. pop ; StackCount = 4
  1007. pushtype TOBJECT ; StackCount = 5
  1008. pushtype TOBJECT ; StackCount = 6
  1009. pushtype Pointer ; StackCount = 7
  1010. setptr Var7, Var6
  1011. call Class->SetNil
  1012. pop ; StackCount = 6
  1013. assign Var5, Var6
  1014. pop ; StackCount = 5
  1015. callvar Var4
  1016. pop ; StackCount = 4
  1017. pop ; StackCount = 3
  1018. pushtype BOOLEAN ; StackCount = 4
  1019. pushtype ProcPtr ; StackCount = 5
  1020. compare Var4, Global14 != Var5
  1021. pop ; StackCount = 4
  1022. setflag not Var4
  1023. pop ; StackCount = 3
  1024. jumpflag loc_24e
  1025. pushtype TWIZARDPAGE ; StackCount = 4
  1026. assign Var4, Arg1
  1027. callvar Global14
  1028. pop ; StackCount = 3
  1029. loc_24e:
  1030. jump loc_58b
  1031. loc_253:
  1032. compare Var3, ( S32 1 ) == Var2
  1033. jumpfalse Var3, loc_277
  1034. jump loc_58b
  1035. loc_277:
  1036. pushtype UnicodeString ; StackCount = 4
  1037. pushtype S32 ; StackCount = 5
  1038. assign Var5, ( S32 502 )
  1039. pushvar Var4 ; StackCount = 6
  1040. call ITD_GETSTRING
  1041. pop ; StackCount = 5
  1042. pop ; StackCount = 4
  1043. pushtype TNEWBUTTON ; StackCount = 5
  1044. pushtype TWIZARDFORM ; StackCount = 6
  1045. pushvar Var6 ; StackCount = 7
  1046. call WIZARDFORM
  1047. pop ; StackCount = 6
  1048. pushvar Var5 ; StackCount = 7
  1049. call TWIZARDFORM->BACKBUTTON
  1050. pop ; StackCount = 6
  1051. pop ; StackCount = 5
  1052. call TBUTTON->CAPTION
  1053. pop ; StackCount = 4
  1054. pop ; StackCount = 3
  1055. pushtype BOOLEAN ; StackCount = 4
  1056. assign Var4, ( U8 1 )
  1057. pushtype TNEWBUTTON ; StackCount = 5
  1058. pushtype TWIZARDFORM ; StackCount = 6
  1059. pushvar Var6 ; StackCount = 7
  1060. call WIZARDFORM
  1061. pop ; StackCount = 6
  1062. pushvar Var5 ; StackCount = 7
  1063. call TWIZARDFORM->BACKBUTTON
  1064. pop ; StackCount = 6
  1065. pop ; StackCount = 5
  1066. call TCONTROL->ENABLED
  1067. pop ; StackCount = 4
  1068. pop ; StackCount = 3
  1069. pushtype TNEWBUTTON ; StackCount = 4
  1070. pushtype TWIZARDFORM ; StackCount = 5
  1071. pushvar Var5 ; StackCount = 6
  1072. call WIZARDFORM
  1073. pop ; StackCount = 5
  1074. pushvar Var4 ; StackCount = 6
  1075. call TWIZARDFORM->BACKBUTTON
  1076. pop ; StackCount = 5
  1077. pop ; StackCount = 4
  1078. call TCONTROL->SHOW
  1079. pop ; StackCount = 3
  1080. assign Global13, ( U8 1 )
  1081. pushtype BOOLEAN ; StackCount = 4
  1082. assign Var4, Global12
  1083. pushtype TNEWBUTTON ; StackCount = 5
  1084. pushtype TWIZARDFORM ; StackCount = 6
  1085. pushvar Var6 ; StackCount = 7
  1086. call WIZARDFORM
  1087. pop ; StackCount = 6
  1088. pushvar Var5 ; StackCount = 7
  1089. call TWIZARDFORM->NEXTBUTTON
  1090. pop ; StackCount = 6
  1091. pop ; StackCount = 5
  1092. call TCONTROL->ENABLED
  1093. pop ; StackCount = 4
  1094. pop ; StackCount = 3
  1095. pushtype BOOLEAN ; StackCount = 4
  1096. pushtype ProcPtr ; StackCount = 5
  1097. compare Var4, Global15 != Var5
  1098. pop ; StackCount = 4
  1099. setflag not Var4
  1100. pop ; StackCount = 3
  1101. jumpflag loc_3b5
  1102. pushtype S32 ; StackCount = 4
  1103. assign Var4, ( S32 3 )
  1104. callvar Global15
  1105. pop ; StackCount = 3
  1106. loc_3b5:
  1107. pushtype BOOLEAN ; StackCount = 4
  1108. assign Var4, Global12
  1109. setflag not Var4
  1110. pop ; StackCount = 3
  1111. jumpflag loc_4b1
  1112. pushtype UnicodeString ; StackCount = 4
  1113. pushtype S32 ; StackCount = 5
  1114. assign Var5, ( S32 104 )
  1115. pushvar Var4 ; StackCount = 6
  1116. call ITD_GETSTRING
  1117. pop ; StackCount = 5
  1118. pop ; StackCount = 4
  1119. pushtype TWIZARDPAGE ; StackCount = 5
  1120. assign Var5, Arg1
  1121. call TWIZARDPAGE->CAPTION
  1122. pop ; StackCount = 4
  1123. pop ; StackCount = 3
  1124. pushtype UnicodeString ; StackCount = 4
  1125. pushtype S32 ; StackCount = 5
  1126. assign Var5, ( S32 250 )
  1127. pushvar Var4 ; StackCount = 6
  1128. call ITD_GETSTRING
  1129. pop ; StackCount = 5
  1130. pop ; StackCount = 4
  1131. pushtype TWIZARDPAGE ; StackCount = 5
  1132. assign Var5, Arg1
  1133. call TWIZARDPAGE->DESCRIPTION
  1134. pop ; StackCount = 4
  1135. pop ; StackCount = 3
  1136. pushtype S32 ; StackCount = 4
  1137. pushtype S32 ; StackCount = 5
  1138. assign Var5, ( S32 0 )
  1139. pushtype TMSGBOXTYPE ; StackCount = 6
  1140. assign Var6, ( U8 2 )
  1141. pushtype UnicodeString ; StackCount = 7
  1142. pushtype S32 ; StackCount = 8
  1143. assign Var8, ( S32 250 )
  1144. pushvar Var7 ; StackCount = 9
  1145. call ITD_GETSTRING
  1146. pop ; StackCount = 8
  1147. pop ; StackCount = 7
  1148. pushvar Var4 ; StackCount = 8
  1149. call MSGBOX
  1150. pop ; StackCount = 7
  1151. pop ; StackCount = 6
  1152. pop ; StackCount = 5
  1153. pop ; StackCount = 4
  1154. pop ; StackCount = 3
  1155. jump loc_58b
  1156. loc_4b1:
  1157. pushtype UnicodeString ; StackCount = 4
  1158. pushtype S32 ; StackCount = 5
  1159. assign Var5, ( S32 104 )
  1160. pushvar Var4 ; StackCount = 6
  1161. call ITD_GETSTRING
  1162. pop ; StackCount = 5
  1163. pop ; StackCount = 4
  1164. pushtype TWIZARDPAGE ; StackCount = 5
  1165. assign Var5, Arg1
  1166. call TWIZARDPAGE->CAPTION
  1167. pop ; StackCount = 4
  1168. pop ; StackCount = 3
  1169. pushtype UnicodeString ; StackCount = 4
  1170. pushtype S32 ; StackCount = 5
  1171. assign Var5, ( S32 251 )
  1172. pushvar Var4 ; StackCount = 6
  1173. call ITD_GETSTRING
  1174. pop ; StackCount = 5
  1175. pop ; StackCount = 4
  1176. pushtype TWIZARDPAGE ; StackCount = 5
  1177. assign Var5, Arg1
  1178. call TWIZARDPAGE->DESCRIPTION
  1179. pop ; StackCount = 4
  1180. pop ; StackCount = 3
  1181. pushtype S32 ; StackCount = 4
  1182. pushtype S32 ; StackCount = 5
  1183. assign Var5, ( S32 0 )
  1184. pushtype TMSGBOXTYPE ; StackCount = 6
  1185. assign Var6, ( U8 2 )
  1186. pushtype UnicodeString ; StackCount = 7
  1187. pushtype S32 ; StackCount = 8
  1188. assign Var8, ( S32 251 )
  1189. pushvar Var7 ; StackCount = 9
  1190. call ITD_GETSTRING
  1191. pop ; StackCount = 8
  1192. pop ; StackCount = 7
  1193. pushvar Var4 ; StackCount = 8
  1194. call MSGBOX
  1195. pop ; StackCount = 7
  1196. pop ; StackCount = 6
  1197. pop ; StackCount = 5
  1198. pop ; StackCount = 4
  1199. pop ; StackCount = 3
  1200. loc_58b:
  1201. pop ; StackCount = 2
  1202. pop ; StackCount = 1
  1203. ret
  1204.  
  1205. Functions[48] = external returnsval WIZARDFORM()
  1206.  
  1207. Functions[49] = external pascal void TWIZARDFORM->BACKBUTTON(out Arg1)
  1208.  
  1209. Functions[50] = external pascal void TCONTROL->ENABLED(out Arg1)
  1210.  
  1211. Functions[51] = external pascal void TWIZARDFORM->NEXTBUTTON(out Arg1)
  1212.  
  1213. Functions[52] = external pascal void TWIZARDPAGE->CAPTION(out Arg1)
  1214.  
  1215. Functions[53] = external pascal void TWIZARDPAGE->DESCRIPTION(out Arg1)
  1216.  
  1217. Functions[54] = external pascal void TWIZARDPAGE->SURFACE(out Arg1)
  1218.  
  1219. Functions[55] = external pascal void TWINCONTROL->HANDLE(out Arg1)
  1220.  
  1221. Functions[56] = external pascal void TBUTTON->ONCLICK(out Arg1)
  1222.  
  1223. Functions[57] = external pascal returnsval Class->SetNil(out Arg1)
  1224.  
  1225. Functions[58] = external pascal void TBUTTON->CAPTION(out Arg1)
  1226.  
  1227. Functions[59] = external register void TCONTROL->SHOW()
  1228.  
  1229. Functions[60] = external returnsval MSGBOX(out Arg1,out Arg2)
  1230.  
  1231. Functions[61] = exported void ITD_HANDLESHOWPAGE(in TWIZARDPAGE Arg1)
  1232. pushtype BOOLEAN ; StackCount = 1
  1233. assign Var1, ( U8 0 )
  1234. pushtype TNEWBUTTON ; StackCount = 2
  1235. pushtype TWIZARDFORM ; StackCount = 3
  1236. pushvar Var3 ; StackCount = 4
  1237. call WIZARDFORM
  1238. pop ; StackCount = 3
  1239. pushvar Var2 ; StackCount = 4
  1240. call TWIZARDFORM->NEXTBUTTON
  1241. pop ; StackCount = 3
  1242. pop ; StackCount = 2
  1243. call TCONTROL->ENABLED
  1244. pop ; StackCount = 1
  1245. pop ; StackCount = 0
  1246. pushtype TNEWBUTTON ; StackCount = 1
  1247. pushtype TWIZARDFORM ; StackCount = 2
  1248. pushvar Var2 ; StackCount = 3
  1249. call WIZARDFORM
  1250. pop ; StackCount = 2
  1251. pushvar Var1 ; StackCount = 3
  1252. call TWIZARDFORM->BACKBUTTON
  1253. pop ; StackCount = 2
  1254. pop ; StackCount = 1
  1255. call TCONTROL->HIDE
  1256. pop ; StackCount = 0
  1257. pushtype BOOLEAN ; StackCount = 1
  1258. pushtype ProcPtr ; StackCount = 2
  1259. compare Var1, Global15 != Var2
  1260. pop ; StackCount = 1
  1261. setflag not Var1
  1262. pop ; StackCount = 0
  1263. jumpflag loc_a8
  1264. pushtype S32 ; StackCount = 1
  1265. assign Var1, ( S32 1 )
  1266. callvar Global15
  1267. pop ; StackCount = 0
  1268. loc_a8:
  1269. pushtype TWIZARDPAGE ; StackCount = 1
  1270. assign Var1, Arg1
  1271. call ITD_NOWDODOWNLOAD
  1272. pop ; StackCount = 0
  1273. ret
  1274.  
  1275. Functions[62] = external register void TCONTROL->HIDE()
  1276.  
  1277. Functions[63] = exported BOOLEAN ITD_HANDLEBACKCLICK(in TWIZARDPAGE Arg1)
  1278. assign RetVal, ( U8 0 )
  1279. pushtype BOOLEAN ; StackCount = 1
  1280. assign Var1, Global13
  1281. setflag not Var1
  1282. pop ; StackCount = 0
  1283. jumpflag loc_74
  1284. assign Global13, ( U8 0 )
  1285. pushtype TNEWBUTTON ; StackCount = 1
  1286. pushtype TWIZARDFORM ; StackCount = 2
  1287. pushvar Var2 ; StackCount = 3
  1288. call WIZARDFORM
  1289. pop ; StackCount = 2
  1290. pushvar Var1 ; StackCount = 3
  1291. call TWIZARDFORM->BACKBUTTON
  1292. pop ; StackCount = 2
  1293. pop ; StackCount = 1
  1294. call TCONTROL->HIDE
  1295. pop ; StackCount = 0
  1296. pushtype TWIZARDPAGE ; StackCount = 1
  1297. assign Var1, Arg1
  1298. call ITD_NOWDODOWNLOAD
  1299. pop ; StackCount = 0
  1300. loc_74:
  1301. ret
  1302.  
  1303. Functions[64] = exported BOOLEAN ITD_HANDLENEXTCLICK(in TWIZARDPAGE Arg1)
  1304. pushtype BOOLEAN ; StackCount = 1
  1305. pushtype ProcPtr ; StackCount = 2
  1306. compare Var1, Global15 != Var2
  1307. pop ; StackCount = 1
  1308. setflag not Var1
  1309. pop ; StackCount = 0
  1310. jumpflag loc_44
  1311. pushtype S32 ; StackCount = 1
  1312. assign Var1, ( S32 2 )
  1313. callvar Global15
  1314. pop ; StackCount = 0
  1315. loc_44:
  1316. assign RetVal, ( U8 1 )
  1317. ret
  1318.  
  1319. Functions[65] = exported void ITD_INIT()
  1320. ret
  1321.  
  1322. Functions[66] = exported BOOLEAN ITD_POSTPAGE(in UnicodeString Arg1,in UnicodeString Arg2,out UnicodeString Arg3)
  1323. pushtype S32 ; StackCount = 1
  1324. pushtype UnicodeString ; StackCount = 2
  1325. assign Var2, Arg2
  1326. pushvar Var1 ; StackCount = 3
  1327. call LENGTH
  1328. pop ; StackCount = 2
  1329. pop ; StackCount = 1
  1330. pushtype String ; StackCount = 2
  1331. assign Var2, Arg2
  1332. pushtype String ; StackCount = 3
  1333. assign Var3, Arg1
  1334. pushvar RetVal ; StackCount = 4
  1335. call files:itdownload.dll!itd_postpage
  1336. pop ; StackCount = 3
  1337. pop ; StackCount = 2
  1338. pop ; StackCount = 1
  1339. pop ; StackCount = 0
  1340. pushtype BOOLEAN ; StackCount = 1
  1341. assign Var1, RetVal
  1342. setflag not Var1
  1343. pop ; StackCount = 0
  1344. jumpflag loc_cf
  1345. pushtype S32 ; StackCount = 1
  1346. pushvar Var1 ; StackCount = 2
  1347. call files:itdownload.dll!itd_getresultlen
  1348. pop ; StackCount = 1
  1349. pushtype Pointer ; StackCount = 2
  1350. setptr Var2, Arg3
  1351. call SETLENGTH
  1352. pop ; StackCount = 1
  1353. pop ; StackCount = 0
  1354. pushtype S32 ; StackCount = 1
  1355. pushtype UnicodeString ; StackCount = 2
  1356. assign Var2, Arg3
  1357. pushvar Var1 ; StackCount = 3
  1358. call LENGTH
  1359. pop ; StackCount = 2
  1360. pop ; StackCount = 1
  1361. pushtype String ; StackCount = 2
  1362. assign Var2, Arg3
  1363. call files:itdownload.dll!itd_getresultstring
  1364. pop ; StackCount = 1
  1365. pop ; StackCount = 0
  1366. loc_cf:
  1367. ret
  1368.  
  1369. Functions[67] = exported TWIZARDPAGE ITD_DOWNLOADAFTER(in S32 Arg1)
  1370. pushtype TWIZARDPAGE ; StackCount = 1
  1371. pushtype UnicodeString ; StackCount = 2
  1372. pushtype S32 ; StackCount = 3
  1373. assign Var3, ( S32 201 )
  1374. pushvar Var2 ; StackCount = 4
  1375. call ITD_GETSTRING
  1376. pop ; StackCount = 3
  1377. pop ; StackCount = 2
  1378. pushtype UnicodeString ; StackCount = 3
  1379. pushtype S32 ; StackCount = 4
  1380. assign Var4, ( S32 200 )
  1381. pushvar Var3 ; StackCount = 5
  1382. call ITD_GETSTRING
  1383. pop ; StackCount = 4
  1384. pop ; StackCount = 3
  1385. pushtype S32 ; StackCount = 4
  1386. assign Var4, Arg1
  1387. pushvar Var1 ; StackCount = 5
  1388. call CREATECUSTOMPAGE
  1389. pop ; StackCount = 4
  1390. pop ; StackCount = 3
  1391. pop ; StackCount = 2
  1392. pop ; StackCount = 1
  1393. pushtype TWIZARDPAGENOTIFYEVENT ; StackCount = 2
  1394. assign Var2, ( ProcPtr ITD_HANDLESHOWPAGE )
  1395. pushtype TWIZARDPAGE ; StackCount = 3
  1396. assign Var3, Var1
  1397. call TWIZARDPAGE->ONACTIVATE
  1398. pop ; StackCount = 2
  1399. pop ; StackCount = 1
  1400. pushtype TWIZARDPAGESHOULDSKIPEVENT ; StackCount = 2
  1401. assign Var2, ( ProcPtr ITD_HANDLESKIPPAGE )
  1402. pushtype TWIZARDPAGE ; StackCount = 3
  1403. assign Var3, Var1
  1404. call TWIZARDPAGE->ONSHOULDSKIPPAGE
  1405. pop ; StackCount = 2
  1406. pop ; StackCount = 1
  1407. pushtype TWIZARDPAGEBUTTONEVENT ; StackCount = 2
  1408. assign Var2, ( ProcPtr ITD_HANDLEBACKCLICK )
  1409. pushtype TWIZARDPAGE ; StackCount = 3
  1410. assign Var3, Var1
  1411. call TWIZARDPAGE->ONBACKBUTTONCLICK
  1412. pop ; StackCount = 2
  1413. pop ; StackCount = 1
  1414. pushtype TWIZARDPAGEBUTTONEVENT ; StackCount = 2
  1415. assign Var2, ( ProcPtr ITD_HANDLENEXTCLICK )
  1416. pushtype TWIZARDPAGE ; StackCount = 3
  1417. assign Var3, Var1
  1418. call TWIZARDPAGE->ONNEXTBUTTONCLICK
  1419. pop ; StackCount = 2
  1420. pop ; StackCount = 1
  1421. pushtype U32 ; StackCount = 2
  1422. pushtype S32 ; StackCount = 3
  1423. pushtype TNEWNOTEBOOKPAGE ; StackCount = 4
  1424. pushtype TWIZARDPAGE ; StackCount = 5
  1425. assign Var5, Var1
  1426. pushvar Var4 ; StackCount = 6
  1427. call TWIZARDPAGE->SURFACE
  1428. pop ; StackCount = 5
  1429. pop ; StackCount = 4
  1430. pushvar Var3 ; StackCount = 5
  1431. call TWINCONTROL->HANDLE
  1432. pop ; StackCount = 4
  1433. pop ; StackCount = 3
  1434. assign Var2, Var3
  1435. pop ; StackCount = 2
  1436. call files:itdownload.dll!itd_initui
  1437. pop ; StackCount = 1
  1438. assign RetVal, Var1
  1439. ret
  1440.  
  1441. Functions[68] = external returnsval CREATECUSTOMPAGE(out Arg1,out Arg2)
  1442.  
  1443. Functions[69] = external pascal void TWIZARDPAGE->ONACTIVATE(out Arg1)
  1444.  
  1445. Functions[70] = external pascal void TWIZARDPAGE->ONSHOULDSKIPPAGE(out Arg1)
  1446.  
  1447. Functions[71] = external pascal void TWIZARDPAGE->ONBACKBUTTONCLICK(out Arg1)
  1448.  
  1449. Functions[72] = external pascal void TWIZARDPAGE->ONNEXTBUTTONCLICK(out Arg1)
  1450.  
  1451. Functions[73] = exported void ITD_SETOPTION(in UnicodeString Arg1,in UnicodeString Arg2)
  1452. pushtype BOOLEAN ; StackCount = 1
  1453. pushtype S32 ; StackCount = 2
  1454. pushtype UnicodeString ; StackCount = 3
  1455. assign Var3, ( String "UI_Caption" )
  1456. pushtype UnicodeString ; StackCount = 4
  1457. assign Var4, Arg1
  1458. pushvar Var2 ; StackCount = 5
  1459. call COMPARETEXT
  1460. pop ; StackCount = 4
  1461. pop ; StackCount = 3
  1462. pop ; StackCount = 2
  1463. compare Var1, Var2 == ( S32 0 )
  1464. pop ; StackCount = 1
  1465. setflag not Var1
  1466. pop ; StackCount = 0
  1467. jumpflag loc_99
  1468. pushtype UnicodeString ; StackCount = 1
  1469. assign Var1, Arg2
  1470. pushtype S32 ; StackCount = 2
  1471. assign Var2, ( S32 200 )
  1472. call ITD_SETSTRING
  1473. pop ; StackCount = 1
  1474. pop ; StackCount = 0
  1475. jump loc_327
  1476. loc_99:
  1477. pushtype BOOLEAN ; StackCount = 1
  1478. pushtype S32 ; StackCount = 2
  1479. pushtype UnicodeString ; StackCount = 3
  1480. assign Var3, ( String "UI_Description" )
  1481. pushtype UnicodeString ; StackCount = 4
  1482. assign Var4, Arg1
  1483. pushvar Var2 ; StackCount = 5
  1484. call COMPARETEXT
  1485. pop ; StackCount = 4
  1486. pop ; StackCount = 3
  1487. pop ; StackCount = 2
  1488. compare Var1, Var2 == ( S32 0 )
  1489. pop ; StackCount = 1
  1490. setflag not Var1
  1491. pop ; StackCount = 0
  1492. jumpflag loc_136
  1493. pushtype UnicodeString ; StackCount = 1
  1494. assign Var1, Arg2
  1495. pushtype S32 ; StackCount = 2
  1496. assign Var2, ( S32 201 )
  1497. call ITD_SETSTRING
  1498. pop ; StackCount = 1
  1499. pop ; StackCount = 0
  1500. jump loc_327
  1501. loc_136:
  1502. pushtype BOOLEAN ; StackCount = 1
  1503. pushtype S32 ; StackCount = 2
  1504. pushtype UnicodeString ; StackCount = 3
  1505. assign Var3, ( String "UI_FailMessage" )
  1506. pushtype UnicodeString ; StackCount = 4
  1507. assign Var4, Arg1
  1508. pushvar Var2 ; StackCount = 5
  1509. call COMPARETEXT
  1510. pop ; StackCount = 4
  1511. pop ; StackCount = 3
  1512. pop ; StackCount = 2
  1513. compare Var1, Var2 == ( S32 0 )
  1514. pop ; StackCount = 1
  1515. setflag not Var1
  1516. pop ; StackCount = 0
  1517. jumpflag loc_1d3
  1518. pushtype UnicodeString ; StackCount = 1
  1519. assign Var1, Arg2
  1520. pushtype S32 ; StackCount = 2
  1521. assign Var2, ( S32 251 )
  1522. call ITD_SETSTRING
  1523. pop ; StackCount = 1
  1524. pop ; StackCount = 0
  1525. jump loc_327
  1526. loc_1d3:
  1527. pushtype BOOLEAN ; StackCount = 1
  1528. pushtype S32 ; StackCount = 2
  1529. pushtype UnicodeString ; StackCount = 3
  1530. assign Var3, ( String "UI_FailOrContinueMessage" )
  1531. pushtype UnicodeString ; StackCount = 4
  1532. assign Var4, Arg1
  1533. pushvar Var2 ; StackCount = 5
  1534. call COMPARETEXT
  1535. pop ; StackCount = 4
  1536. pop ; StackCount = 3
  1537. pop ; StackCount = 2
  1538. compare Var1, Var2 == ( S32 0 )
  1539. pop ; StackCount = 1
  1540. setflag not Var1
  1541. pop ; StackCount = 0
  1542. jumpflag loc_27a
  1543. pushtype UnicodeString ; StackCount = 1
  1544. assign Var1, Arg2
  1545. pushtype S32 ; StackCount = 2
  1546. assign Var2, ( S32 250 )
  1547. call ITD_SETSTRING
  1548. pop ; StackCount = 1
  1549. pop ; StackCount = 0
  1550. jump loc_327
  1551. loc_27a:
  1552. pushtype BOOLEAN ; StackCount = 1
  1553. pushtype S32 ; StackCount = 2
  1554. pushtype UnicodeString ; StackCount = 3
  1555. assign Var3, ( String "UI_AllowContinue" )
  1556. pushtype UnicodeString ; StackCount = 4
  1557. assign Var4, Arg1
  1558. pushvar Var2 ; StackCount = 5
  1559. call COMPARETEXT
  1560. pop ; StackCount = 4
  1561. pop ; StackCount = 3
  1562. pop ; StackCount = 2
  1563. compare Var1, Var2 == ( S32 0 )
  1564. pop ; StackCount = 1
  1565. setflag not Var1
  1566. pop ; StackCount = 0
  1567. jumpflag loc_300
  1568. compare Global12, Arg2 == ( Char '1' )
  1569. jump loc_327
  1570. loc_300:
  1571. pushtype String ; StackCount = 1
  1572. assign Var1, Arg2
  1573. pushtype String ; StackCount = 2
  1574. assign Var2, Arg1
  1575. call files:itdownload.dll!itd_setoption
  1576. pop ; StackCount = 1
  1577. pop ; StackCount = 0
  1578. loc_327:
  1579. ret
  1580.  
  1581. Functions[74] = external returnsval COMPARETEXT(out Arg1)
  1582.  
  1583. Functions[75] = exported UnicodeString ITD_GETOPTION(in UnicodeString Arg1)
  1584. pushtype S32 ; StackCount = 1
  1585. assign Var1, ( S32 500 )
  1586. pushtype Pointer ; StackCount = 2
  1587. setptr Var2, RetVal
  1588. call SETLENGTH
  1589. pop ; StackCount = 1
  1590. pop ; StackCount = 0
  1591. pushtype S32 ; StackCount = 1
  1592. pushtype S32 ; StackCount = 2
  1593. pushtype UnicodeString ; StackCount = 3
  1594. assign Var3, RetVal
  1595. pushvar Var2 ; StackCount = 4
  1596. call LENGTH
  1597. pop ; StackCount = 3
  1598. pop ; StackCount = 2
  1599. pushtype String ; StackCount = 3
  1600. assign Var3, RetVal
  1601. pushtype String ; StackCount = 4
  1602. assign Var4, Arg1
  1603. pushvar Var1 ; StackCount = 5
  1604. call files:itdownload.dll!itd_getoption
  1605. pop ; StackCount = 4
  1606. pop ; StackCount = 3
  1607. pop ; StackCount = 2
  1608. pop ; StackCount = 1
  1609. pushtype Pointer ; StackCount = 2
  1610. setptr Var2, RetVal
  1611. call SETLENGTH
  1612. pop ; StackCount = 1
  1613. pop ; StackCount = 0
  1614. ret
  1615.  
  1616. Functions[76] = external stdcall void files:isxdl.dll!isxdl_AddFile(out Arg1)
  1617.  
  1618. Functions[77] = external stdcall returnsval files:isxdl.dll!isxdl_DownloadFiles(out Arg1)
  1619.  
  1620. Functions[78] = external stdcall returnsval files:isxdl.dll!isxdl_SetOption(out Arg1)
  1621.  
  1622. Functions[79] = exported void ADDPRODUCT(in UnicodeString Arg1,in UnicodeString Arg2,in UnicodeString Arg3,in UnicodeString Arg4,in UnicodeString Arg5,in BOOLEAN Arg6,in BOOLEAN Arg7)
  1623. pushtype UnicodeString ; StackCount = 1
  1624. pushtype S32 ; StackCount = 2
  1625. pushtype UnicodeString ; StackCount = 3
  1626. assign Var3, Global16
  1627. calculate Var3 + ( String "%1" )
  1628. calculate Var3 + Arg3
  1629. calculate Var3 + ( Char '
  1630. ' )
  1631. assign Global16, Var3
  1632. pop ; StackCount = 2
  1633. pushtype UnicodeString ; StackCount = 3
  1634. pushtype UnicodeString ; StackCount = 4
  1635. pushtype UnicodeString ; StackCount = 5
  1636. assign Var5, ( String "{src}{\}" )
  1637. pushvar Var4 ; StackCount = 6
  1638. call EXPANDCONSTANT
  1639. pop ; StackCount = 5
  1640. pop ; StackCount = 4
  1641. assign Var3, Var4
  1642. pop ; StackCount = 3
  1643. pushtype UnicodeString ; StackCount = 4
  1644. pushtype UnicodeString ; StackCount = 5
  1645. assign Var5, ( String "DependenciesDir" )
  1646. pushvar Var4 ; StackCount = 6
  1647. call CUSTOMMESSAGE
  1648. pop ; StackCount = 5
  1649. pop ; StackCount = 4
  1650. calculate Var3 + Var4
  1651. pop ; StackCount = 3
  1652. calculate Var3 + ( Char '\' )
  1653. calculate Var3 + Arg1
  1654. assign Var1, Var3
  1655. pop ; StackCount = 2
  1656. pushtype BOOLEAN ; StackCount = 3
  1657. pushtype UnicodeString ; StackCount = 4
  1658. assign Var4, Var1
  1659. pushvar Var3 ; StackCount = 5
  1660. call FILEEXISTS
  1661. pop ; StackCount = 4
  1662. pop ; StackCount = 3
  1663. logicalnot Var3
  1664. setflag not Var3
  1665. pop ; StackCount = 2
  1666. jumpflag loc_25e
  1667. pushtype UnicodeString ; StackCount = 3
  1668. pushtype UnicodeString ; StackCount = 4
  1669. pushtype UnicodeString ; StackCount = 5
  1670. assign Var5, ( String "{tmp}{\}" )
  1671. pushvar Var4 ; StackCount = 6
  1672. call EXPANDCONSTANT
  1673. pop ; StackCount = 5
  1674. pop ; StackCount = 4
  1675. assign Var3, Var4
  1676. pop ; StackCount = 3
  1677. calculate Var3 + Arg1
  1678. assign Var1, Var3
  1679. pop ; StackCount = 2
  1680. pushtype String ; StackCount = 3
  1681. assign Var3, Var1
  1682. pushtype String ; StackCount = 4
  1683. assign Var4, Arg5
  1684. call files:isxdl.dll!isxdl_AddFile
  1685. pop ; StackCount = 3
  1686. pop ; StackCount = 2
  1687. pushtype UnicodeString ; StackCount = 3
  1688. assign Var3, Global17
  1689. calculate Var3 + ( String "%1" )
  1690. calculate Var3 + Arg3
  1691. calculate Var3 + ( Char '
  1692. ' )
  1693. assign Global17, Var3
  1694. pop ; StackCount = 2
  1695. pushtype UnicodeString ; StackCount = 3
  1696. assign Var3, Global18
  1697. calculate Var3 + ( Char ' ' )
  1698. calculate Var3 + Arg3
  1699. calculate Var3 + ( String " (" )
  1700. calculate Var3 + Arg4
  1701. calculate Var3 + ( Char ')' )
  1702. calculate Var3 + ( Char '
  1703. ' )
  1704. assign Global18, Var3
  1705. pop ; StackCount = 2
  1706. loc_25e:
  1707. pushtype Record <UnicodeString,UnicodeString,UnicodeString,U8,U8>[] ; StackCount = 3
  1708. assign Var3, Global19
  1709. pushvar Var2 ; StackCount = 4
  1710. call GETARRAYLENGTH
  1711. pop ; StackCount = 3
  1712. pop ; StackCount = 2
  1713. pushtype S32 ; StackCount = 3
  1714. assign Var3, Var2
  1715. calculate Var3 + ( S32 1 )
  1716. pushtype Pointer ; StackCount = 4
  1717. setptr Var4, Global19
  1718. call SETARRAYLENGTH
  1719. pop ; StackCount = 3
  1720. pop ; StackCount = 2
  1721. pushtype Pointer ; StackCount = 3
  1722. setptr Var3, Global19
  1723. pushtype U32 ; StackCount = 4
  1724. assign Var4, Var2
  1725. setptr Var3, Var3[Var4]
  1726. pop ; StackCount = 3
  1727. setptr Var3, Var3[0]
  1728. assign Var3, Var1
  1729. pop ; StackCount = 2
  1730. pushtype Pointer ; StackCount = 3
  1731. setptr Var3, Global19
  1732. pushtype U32 ; StackCount = 4
  1733. assign Var4, Var2
  1734. setptr Var3, Var3[Var4]
  1735. pop ; StackCount = 3
  1736. setptr Var3, Var3[1]
  1737. assign Var3, Arg3
  1738. pop ; StackCount = 2
  1739. pushtype Pointer ; StackCount = 3
  1740. setptr Var3, Global19
  1741. pushtype U32 ; StackCount = 4
  1742. assign Var4, Var2
  1743. setptr Var3, Var3[Var4]
  1744. pop ; StackCount = 3
  1745. setptr Var3, Var3[2]
  1746. assign Var3, Arg2
  1747. pop ; StackCount = 2
  1748. pushtype Pointer ; StackCount = 3
  1749. setptr Var3, Global19
  1750. pushtype U32 ; StackCount = 4
  1751. assign Var4, Var2
  1752. setptr Var3, Var3[Var4]
  1753. pop ; StackCount = 3
  1754. setptr Var3, Var3[3]
  1755. assign Var3, Arg6
  1756. pop ; StackCount = 2
  1757. pushtype Pointer ; StackCount = 3
  1758. setptr Var3, Global19
  1759. pushtype U32 ; StackCount = 4
  1760. assign Var4, Var2
  1761. setptr Var3, Var3[Var4]
  1762. pop ; StackCount = 3
  1763. setptr Var3, Var3[4]
  1764. assign Var3, Arg7
  1765. pop ; StackCount = 2
  1766. ret
  1767.  
  1768. Functions[80] = external returnsval CUSTOMMESSAGE(out Arg1)
  1769.  
  1770. Functions[81] = external returnsval GETARRAYLENGTH()
  1771.  
  1772. Functions[82] = external void SETARRAYLENGTH()
  1773.  
  1774. Functions[83] = exported BOOLEAN SMARTEXEC(in Record <UnicodeString,UnicodeString,UnicodeString,U8,U8> Arg1,out S32 Arg2)
  1775. pushtype BOOLEAN ; StackCount = 1
  1776. pushtype String ; StackCount = 2
  1777. pushtype String ; StackCount = 3
  1778. pushtype UnicodeString ; StackCount = 4
  1779. pushtype S32 ; StackCount = 5
  1780. assign Var5, ( S32 3 )
  1781. pushtype S32 ; StackCount = 6
  1782. pushtype UnicodeString ; StackCount = 7
  1783. assign Var7, Arg1[0]
  1784. pushvar Var6 ; StackCount = 8
  1785. call LENGTH
  1786. pop ; StackCount = 7
  1787. pop ; StackCount = 6
  1788. calculate Var6 - ( S32 2 )
  1789. pushtype UnicodeString ; StackCount = 7
  1790. assign Var7, Arg1[0]
  1791. pushvar Var4 ; StackCount = 8
  1792. call COPY
  1793. pop ; StackCount = 7
  1794. pop ; StackCount = 6
  1795. pop ; StackCount = 5
  1796. pop ; StackCount = 4
  1797. assign Var3, Var4
  1798. pop ; StackCount = 3
  1799. pushvar Var2 ; StackCount = 4
  1800. call LOWERCASE
  1801. pop ; StackCount = 3
  1802. pop ; StackCount = 2
  1803. compare Var1, Var2 == ( String "exe" )
  1804. pop ; StackCount = 1
  1805. setflag not Var1
  1806. pop ; StackCount = 0
  1807. jumpflag loc_148
  1808. pushtype Pointer ; StackCount = 1
  1809. setptr Var1, Arg2
  1810. pushtype TEXECWAIT ; StackCount = 2
  1811. assign Var2, ( U8 1 )
  1812. pushtype S32 ; StackCount = 3
  1813. assign Var3, ( S32 1 )
  1814. pushtype UnicodeString ; StackCount = 4
  1815. assign Var4, ( String "" )
  1816. pushtype UnicodeString ; StackCount = 5
  1817. assign Var5, Arg1[2]
  1818. pushtype UnicodeString ; StackCount = 6
  1819. assign Var6, Arg1[0]
  1820. pushvar RetVal ; StackCount = 7
  1821. call EXEC
  1822. pop ; StackCount = 6
  1823. pop ; StackCount = 5
  1824. pop ; StackCount = 4
  1825. pop ; StackCount = 3
  1826. pop ; StackCount = 2
  1827. pop ; StackCount = 1
  1828. pop ; StackCount = 0
  1829. jump loc_1e0
  1830. loc_148:
  1831. pushtype Pointer ; StackCount = 1
  1832. setptr Var1, Arg2
  1833. pushtype TEXECWAIT ; StackCount = 2
  1834. assign Var2, ( U8 1 )
  1835. pushtype S32 ; StackCount = 3
  1836. assign Var3, ( S32 1 )
  1837. pushtype UnicodeString ; StackCount = 4
  1838. assign Var4, ( String "" )
  1839. pushtype UnicodeString ; StackCount = 5
  1840. assign Var5, Arg1[2]
  1841. pushtype UnicodeString ; StackCount = 6
  1842. assign Var6, Arg1[0]
  1843. pushtype UnicodeString ; StackCount = 7
  1844. assign Var7, ( String "" )
  1845. pushvar RetVal ; StackCount = 8
  1846. call SHELLEXEC
  1847. pop ; StackCount = 7
  1848. pop ; StackCount = 6
  1849. pop ; StackCount = 5
  1850. pop ; StackCount = 4
  1851. pop ; StackCount = 3
  1852. pop ; StackCount = 2
  1853. pop ; StackCount = 1
  1854. pop ; StackCount = 0
  1855. loc_1e0:
  1856. ret
  1857.  
  1858. Functions[84] = external returnsval LOWERCASE(out Arg1)
  1859.  
  1860. Functions[85] = external returnsval COPY(out Arg1,out Arg2)
  1861.  
  1862. Functions[86] = external returnsval EXEC(out Arg1,out Arg2,out Arg3)
  1863.  
  1864. Functions[87] = external returnsval SHELLEXEC(out Arg1,out Arg2,out Arg3,in Arg4)
  1865.  
  1866. Functions[88] = exported BOOLEAN PENDINGREBOOT()
  1867. pushtype UnicodeString ; StackCount = 1
  1868. pushtype BOOLEAN ; StackCount = 2
  1869. pushtype Pointer ; StackCount = 3
  1870. setptr Var3, Var1
  1871. pushtype UnicodeString ; StackCount = 4
  1872. assign Var4, ( String "PendingFileRenameOperations" )
  1873. pushtype UnicodeString ; StackCount = 5
  1874. assign Var5, ( String "SYSTEM\CurrentControlSet\Control\Session Manager" )
  1875. pushtype S32 ; StackCount = 6
  1876. assign Var6, ( S32 -2147483646 )
  1877. pushvar Var2 ; StackCount = 7
  1878. call REGQUERYMULTISTRINGVALUE
  1879. pop ; StackCount = 6
  1880. pop ; StackCount = 5
  1881. pop ; StackCount = 4
  1882. pop ; StackCount = 3
  1883. pop ; StackCount = 2
  1884. setflag not Var2
  1885. pop ; StackCount = 1
  1886. jumpflag loc_cf
  1887. assign RetVal, ( U8 1 )
  1888. jump loc_1c7
  1889. loc_cf:
  1890. pushtype BOOLEAN ; StackCount = 2
  1891. pushtype Pointer ; StackCount = 3
  1892. setptr Var3, Var1
  1893. pushtype UnicodeString ; StackCount = 4
  1894. assign Var4, ( String "SetupExecute" )
  1895. pushtype UnicodeString ; StackCount = 5
  1896. assign Var5, ( String "SYSTEM\CurrentControlSet\Control\Session Manager" )
  1897. pushtype S32 ; StackCount = 6
  1898. assign Var6, ( S32 -2147483646 )
  1899. pushvar Var2 ; StackCount = 7
  1900. call REGQUERYMULTISTRINGVALUE
  1901. pop ; StackCount = 6
  1902. pop ; StackCount = 5
  1903. pop ; StackCount = 4
  1904. pop ; StackCount = 3
  1905. pop ; StackCount = 2
  1906. jumpfalse Var2, loc_19d
  1907. pushtype BOOLEAN ; StackCount = 3
  1908. compare Var3, Var1 != ( String "" )
  1909. calculate Var2 & Var3
  1910. pop ; StackCount = 2
  1911. loc_19d:
  1912. setflag not Var2
  1913. pop ; StackCount = 1
  1914. jumpflag loc_1bb
  1915. assign RetVal, ( U8 1 )
  1916. jump loc_1c7
  1917. loc_1bb:
  1918. assign RetVal, ( U8 0 )
  1919. loc_1c7:
  1920. ret
  1921.  
  1922. Functions[89] = external returnsval REGQUERYMULTISTRINGVALUE(out Arg1,out Arg2)
  1923.  
  1924. Functions[90] = exported U8 INSTALLPRODUCTS()
  1925. pushtype S32 ; StackCount = 1
  1926. pushtype S32 ; StackCount = 2
  1927. pushtype S32 ; StackCount = 3
  1928. pushtype S32 ; StackCount = 4
  1929. assign RetVal, ( U8 0 )
  1930. pushtype Record <UnicodeString,UnicodeString,UnicodeString,U8,U8>[] ; StackCount = 5
  1931. assign Var5, Global19
  1932. pushvar Var3 ; StackCount = 6
  1933. call GETARRAYLENGTH
  1934. pop ; StackCount = 5
  1935. pop ; StackCount = 4
  1936. pushtype BOOLEAN ; StackCount = 5
  1937. compare Var5, Var3 > ( S32 0 )
  1938. setflag not Var5
  1939. pop ; StackCount = 4
  1940. jumpflag loc_60c
  1941. pushtype UnicodeString ; StackCount = 5
  1942. pushtype UnicodeString ; StackCount = 6
  1943. assign Var6, ( String "depinstall_description" )
  1944. pushvar Var5 ; StackCount = 7
  1945. call CUSTOMMESSAGE
  1946. pop ; StackCount = 6
  1947. pop ; StackCount = 5
  1948. pushtype UnicodeString ; StackCount = 6
  1949. pushtype UnicodeString ; StackCount = 7
  1950. assign Var7, ( String "depinstall_title" )
  1951. pushvar Var6 ; StackCount = 8
  1952. call CUSTOMMESSAGE
  1953. pop ; StackCount = 7
  1954. pop ; StackCount = 6
  1955. pushvar Global22 ; StackCount = 7
  1956. call CREATEOUTPUTPROGRESSPAGE
  1957. pop ; StackCount = 6
  1958. pop ; StackCount = 5
  1959. pop ; StackCount = 4
  1960. pushtype TOUTPUTPROGRESSWIZARDPAGE ; StackCount = 5
  1961. assign Var5, Global22
  1962. call TOUTPUTPROGRESSWIZARDPAGE->SHOW
  1963. pop ; StackCount = 4
  1964. assign Var2, ( S32 0 )
  1965. pushtype BOOLEAN ; StackCount = 5
  1966. loc_10e:
  1967. pushtype S32 ; StackCount = 6
  1968. assign Var6, Var3
  1969. calculate Var6 - ( S32 1 )
  1970. compare Var5, Var2 <= Var6
  1971. pop ; StackCount = 5
  1972. jumpfalse Var5, loc_4fd
  1973. pushtype BOOLEAN ; StackCount = 6
  1974. pushtype Pointer ; StackCount = 7
  1975. setptr Var7, Global19
  1976. pushtype U32 ; StackCount = 8
  1977. assign Var8, Var2
  1978. setptr Var7, Var7[Var8]
  1979. pop ; StackCount = 7
  1980. setptr Var7, Var7[3]
  1981. assign Var6, Var7
  1982. pop ; StackCount = 6
  1983. jumpfalse Var6, loc_1e9
  1984. pushtype BOOLEAN ; StackCount = 7
  1985. assign Var7, Global20
  1986. jumptrue Var7, loc_1dc
  1987. pushtype BOOLEAN ; StackCount = 8
  1988. pushvar Var8 ; StackCount = 9
  1989. call PENDINGREBOOT
  1990. pop ; StackCount = 8
  1991. calculate Var7 | Var8
  1992. pop ; StackCount = 7
  1993. loc_1dc:
  1994. calculate Var6 & Var7
  1995. pop ; StackCount = 6
  1996. loc_1e9:
  1997. setflag not Var6
  1998. pop ; StackCount = 5
  1999. jumpflag loc_207
  2000. assign RetVal, ( U8 1 )
  2001. jump loc_4fd
  2002. loc_207:
  2003. pushtype UnicodeString ; StackCount = 6
  2004. assign Var6, ( String "" )
  2005. pushtype UnicodeString ; StackCount = 7
  2006. pushtype !OPENARRAYOFUNICODESTRING ; StackCount = 8
  2007. pushtype !OPENARRAYOFUNICODESTRING ; StackCount = 9
  2008. pushtype S32 ; StackCount = 10
  2009. assign Var10, ( S32 1 )
  2010. pushvar Var9 ; StackCount = 11
  2011. call SETARRAYLENGTH
  2012. pop ; StackCount = 10
  2013. pop ; StackCount = 9
  2014. pushtype Pointer ; StackCount = 10
  2015. setptr Var10, Global19
  2016. pushtype U32 ; StackCount = 11
  2017. assign Var11, Var2
  2018. setptr Var10, Var10[Var11]
  2019. pop ; StackCount = 10
  2020. setptr Var10, Var10[1]
  2021. assign Var9[0], Var10
  2022. pop ; StackCount = 9
  2023. assign Var8, Var9
  2024. pop ; StackCount = 8
  2025. pushtype UnicodeString ; StackCount = 9
  2026. pushtype UnicodeString ; StackCount = 10
  2027. assign Var10, ( String "depinstall_status" )
  2028. pushvar Var9 ; StackCount = 11
  2029. call CUSTOMMESSAGE
  2030. pop ; StackCount = 10
  2031. pop ; StackCount = 9
  2032. pushvar Var7 ; StackCount = 10
  2033. call FMTMESSAGE
  2034. pop ; StackCount = 9
  2035. pop ; StackCount = 8
  2036. pop ; StackCount = 7
  2037. pushtype TOUTPUTPROGRESSWIZARDPAGE ; StackCount = 8
  2038. assign Var8, Global22
  2039. call TOUTPUTPROGRESSWIZARDPAGE->SETTEXT
  2040. pop ; StackCount = 7
  2041. pop ; StackCount = 6
  2042. pop ; StackCount = 5
  2043. pushtype S32 ; StackCount = 6
  2044. assign Var6, Var3
  2045. pushtype S32 ; StackCount = 7
  2046. assign Var7, Var2
  2047. pushtype TOUTPUTPROGRESSWIZARDPAGE ; StackCount = 8
  2048. assign Var8, Global22
  2049. call TOUTPUTPROGRESSWIZARDPAGE->SETPROGRESS
  2050. pop ; StackCount = 7
  2051. pop ; StackCount = 6
  2052. pop ; StackCount = 5
  2053. pushtype BOOLEAN ; StackCount = 6
  2054. pushtype Pointer ; StackCount = 7
  2055. setptr Var7, Var1
  2056. pushtype Record <UnicodeString,UnicodeString,UnicodeString,U8,U8> ; StackCount = 8
  2057. assign Var8, Global19[Var2]
  2058. pushvar Var6 ; StackCount = 9
  2059. call SMARTEXEC
  2060. pop ; StackCount = 8
  2061. pop ; StackCount = 7
  2062. pop ; StackCount = 6
  2063. setflag not Var6
  2064. pop ; StackCount = 5
  2065. jumpflag loc_4e1
  2066. pushtype BOOLEAN ; StackCount = 6
  2067. pushtype Pointer ; StackCount = 7
  2068. setptr Var7, Global19
  2069. pushtype U32 ; StackCount = 8
  2070. assign Var8, Var2
  2071. setptr Var7, Var7[Var8]
  2072. pop ; StackCount = 7
  2073. setptr Var7, Var7[4]
  2074. assign Var6, Var7
  2075. pop ; StackCount = 6
  2076. setflag not Var6
  2077. pop ; StackCount = 5
  2078. jumpflag loc_447
  2079. pushtype BOOLEAN ; StackCount = 6
  2080. pushtype S32 ; StackCount = 7
  2081. assign Var7, Var3
  2082. calculate Var7 - ( S32 1 )
  2083. compare Var6, Var2 == Var7
  2084. pop ; StackCount = 6
  2085. setflag not Var6
  2086. pop ; StackCount = 5
  2087. jumpflag loc_431
  2088. assign Global20, ( U8 1 )
  2089. jump loc_43d
  2090. loc_431:
  2091. assign RetVal, ( U8 1 )
  2092. loc_43d:
  2093. jump loc_4fd
  2094. jump loc_4dc
  2095. loc_447:
  2096. pushtype BOOLEAN ; StackCount = 6
  2097. compare Var6, Var1 == ( S32 0 )
  2098. setflag not Var6
  2099. pop ; StackCount = 5
  2100. jumpflag loc_483
  2101. calculate Var4 + ( S32 1 )
  2102. jump loc_4dc
  2103. loc_483:
  2104. pushtype BOOLEAN ; StackCount = 6
  2105. compare Var6, Var1 == ( S32 3010 )
  2106. setflag not Var6
  2107. pop ; StackCount = 5
  2108. jumpflag loc_4cb
  2109. assign Global20, ( U8 1 )
  2110. calculate Var4 + ( S32 1 )
  2111. jump loc_4dc
  2112. loc_4cb:
  2113. assign RetVal, ( U8 2 )
  2114. jump loc_4fd
  2115. loc_4dc:
  2116. jump loc_4f2
  2117. loc_4e1:
  2118. assign RetVal, ( U8 2 )
  2119. jump loc_4fd
  2120. loc_4f2:
  2121. inc Var2
  2122. jump loc_10e
  2123. loc_4fd:
  2124. pop ; StackCount = 4
  2125. assign Var2, ( S32 0 )
  2126. pushtype BOOLEAN ; StackCount = 5
  2127. loc_512:
  2128. pushtype S32 ; StackCount = 6
  2129. assign Var6, Var3
  2130. calculate Var6 - Var4
  2131. calculate Var6 - ( S32 1 )
  2132. compare Var5, Var2 <= Var6
  2133. pop ; StackCount = 5
  2134. jumpfalse Var5, loc_5c2
  2135. pushtype Pointer ; StackCount = 6
  2136. setptr Var6, Global19
  2137. pushtype U32 ; StackCount = 7
  2138. pushtype S32 ; StackCount = 8
  2139. assign Var8, Var2
  2140. calculate Var8 + Var4
  2141. assign Var7, Var8
  2142. pop ; StackCount = 7
  2143. setptr Var6, Var6[Var7]
  2144. pop ; StackCount = 6
  2145. assign Global19[Var2], Var6
  2146. pop ; StackCount = 5
  2147. inc Var2
  2148. jump loc_512
  2149. loc_5c2:
  2150. pop ; StackCount = 4
  2151. pushtype S32 ; StackCount = 5
  2152. assign Var5, Var3
  2153. calculate Var5 - Var4
  2154. pushtype Pointer ; StackCount = 6
  2155. setptr Var6, Global19
  2156. call SETARRAYLENGTH
  2157. pop ; StackCount = 5
  2158. pop ; StackCount = 4
  2159. pushtype TOUTPUTPROGRESSWIZARDPAGE ; StackCount = 5
  2160. assign Var5, Global22
  2161. call TOUTPUTPROGRESSWIZARDPAGE->HIDE
  2162. pop ; StackCount = 4
  2163. loc_60c:
  2164. ret
  2165.  
  2166. Functions[91] = external returnsval CREATEOUTPUTPROGRESSPAGE(out Arg1)
  2167.  
  2168. Functions[92] = external register void TOUTPUTPROGRESSWIZARDPAGE->SHOW()
  2169.  
  2170. Functions[93] = external register void TOUTPUTPROGRESSWIZARDPAGE->SETTEXT(out Arg1)
  2171.  
  2172. Functions[94] = external returnsval FMTMESSAGE(out Arg1)
  2173.  
  2174. Functions[95] = external register void TOUTPUTPROGRESSWIZARDPAGE->SETPROGRESS(out Arg1)
  2175.  
  2176. Functions[96] = external register void TOUTPUTPROGRESSWIZARDPAGE->HIDE()
  2177.  
  2178. Functions[97] = exported UnicodeString PREPARETOINSTALL(out BOOLEAN Arg1)
  2179. pushtype S32 ; StackCount = 1
  2180. pushtype UnicodeString ; StackCount = 2
  2181. assign Global20, ( U8 0 )
  2182. pushtype U8 ; StackCount = 3
  2183. pushvar Var3 ; StackCount = 4
  2184. call INSTALLPRODUCTS
  2185. pop ; StackCount = 3
  2186. pushtype BOOLEAN ; StackCount = 4
  2187. compare Var4, ( U8 2 ) == Var3
  2188. jumpfalse Var4, loc_179
  2189. pushtype UnicodeString ; StackCount = 5
  2190. assign Var5, ( String "depinstall_error" )
  2191. pushvar Var2 ; StackCount = 6
  2192. call CUSTOMMESSAGE
  2193. pop ; StackCount = 5
  2194. pop ; StackCount = 4
  2195. assign Var1, ( S32 0 )
  2196. pushtype BOOLEAN ; StackCount = 5
  2197. loc_8d:
  2198. pushtype S32 ; StackCount = 6
  2199. pushtype Record <UnicodeString,UnicodeString,UnicodeString,U8,U8>[] ; StackCount = 7
  2200. assign Var7, Global19
  2201. pushvar Var6 ; StackCount = 8
  2202. call GETARRAYLENGTH
  2203. pop ; StackCount = 7
  2204. pop ; StackCount = 6
  2205. calculate Var6 - ( S32 1 )
  2206. compare Var5, Var1 <= Var6
  2207. pop ; StackCount = 5
  2208. jumpfalse Var5, loc_168
  2209. pushtype UnicodeString ; StackCount = 6
  2210. assign Var6, Var2
  2211. calculate Var6 + ( Char '
  2212. ' )
  2213. calculate Var6 + ( Char ' ' )
  2214. pushtype Pointer ; StackCount = 7
  2215. setptr Var7, Global19
  2216. pushtype U32 ; StackCount = 8
  2217. assign Var8, Var1
  2218. setptr Var7, Var7[Var8]
  2219. pop ; StackCount = 7
  2220. setptr Var7, Var7[1]
  2221. calculate Var6 + Var7
  2222. pop ; StackCount = 6
  2223. assign Var2, Var6
  2224. pop ; StackCount = 5
  2225. inc Var1
  2226. jump loc_8d
  2227. loc_168:
  2228. pop ; StackCount = 4
  2229. assign RetVal, Var2
  2230. jump loc_2a1
  2231. loc_179:
  2232. compare Var4, ( U8 1 ) == Var3
  2233. jumpfalse Var4, loc_2a1
  2234. pushtype Pointer ; StackCount = 5
  2235. setptr Var5, Global19
  2236. setptr Var5, Var5[0]
  2237. setptr Var5, Var5[1]
  2238. assign RetVal, Var5
  2239. pop ; StackCount = 4
  2240. assign Arg1, ( U8 1 )
  2241. pushtype BOOLEAN ; StackCount = 5
  2242. pushtype UnicodeString ; StackCount = 6
  2243. pushtype UnicodeString ; StackCount = 7
  2244. assign Var7, ( String "{srcexe}" )
  2245. pushvar Var6 ; StackCount = 8
  2246. call EXPANDCONSTANT
  2247. pop ; StackCount = 7
  2248. pop ; StackCount = 6
  2249. pushtype UnicodeString ; StackCount = 7
  2250. assign Var7, ( String "InstallBootstrap" )
  2251. pushtype UnicodeString ; StackCount = 8
  2252. assign Var8, ( String "SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce" )
  2253. pushtype S32 ; StackCount = 9
  2254. assign Var9, ( S32 -2147483647 )
  2255. pushvar Var5 ; StackCount = 10
  2256. call REGWRITESTRINGVALUE
  2257. pop ; StackCount = 9
  2258. pop ; StackCount = 8
  2259. pop ; StackCount = 7
  2260. pop ; StackCount = 6
  2261. pop ; StackCount = 5
  2262. pop ; StackCount = 4
  2263. jump loc_2a1
  2264. loc_2a1:
  2265. pop ; StackCount = 3
  2266. pop ; StackCount = 2
  2267. ret
  2268.  
  2269. Functions[98] = external returnsval REGWRITESTRINGVALUE(out Arg1,out Arg2)
  2270.  
  2271. Functions[99] = exported BOOLEAN NEEDRESTART()
  2272. pushtype BOOLEAN ; StackCount = 1
  2273. assign Var1, Global20
  2274. setflag not Var1
  2275. pop ; StackCount = 0
  2276. jumpflag loc_29
  2277. assign RetVal, ( U8 1 )
  2278. loc_29:
  2279. ret
  2280.  
  2281. Functions[100] = exported UnicodeString UPDATEREADYMEMO(in UnicodeString Arg1,in UnicodeString Arg2,in UnicodeString Arg3,in UnicodeString Arg4,in UnicodeString Arg5,in UnicodeString Arg6,in UnicodeString Arg7,in UnicodeString Arg8)
  2282. pushtype UnicodeString ; StackCount = 1
  2283. pushtype BOOLEAN ; StackCount = 2
  2284. compare Var2, Global17 != ( String "" )
  2285. setflag not Var2
  2286. pop ; StackCount = 1
  2287. jumpflag loc_12c
  2288. pushtype UnicodeString ; StackCount = 2
  2289. assign Var2, Var1
  2290. pushtype UnicodeString ; StackCount = 3
  2291. pushtype UnicodeString ; StackCount = 4
  2292. assign Var4, ( String "depdownload_memo_title" )
  2293. pushvar Var3 ; StackCount = 5
  2294. call CUSTOMMESSAGE
  2295. pop ; StackCount = 4
  2296. pop ; StackCount = 3
  2297. calculate Var2 + Var3
  2298. pop ; StackCount = 2
  2299. calculate Var2 + ( Char ':' )
  2300. calculate Var2 + Arg2
  2301. pushtype UnicodeString ; StackCount = 3
  2302. pushtype !OPENARRAYOFUNICODESTRING ; StackCount = 4
  2303. pushtype !OPENARRAYOFUNICODESTRING ; StackCount = 5
  2304. pushtype S32 ; StackCount = 6
  2305. assign Var6, ( S32 1 )
  2306. pushvar Var5 ; StackCount = 7
  2307. call SETARRAYLENGTH
  2308. pop ; StackCount = 6
  2309. pop ; StackCount = 5
  2310. assign Var5[0], Arg1
  2311. assign Var4, Var5
  2312. pop ; StackCount = 4
  2313. pushtype UnicodeString ; StackCount = 5
  2314. assign Var5, Global17
  2315. pushvar Var3 ; StackCount = 6
  2316. call FMTMESSAGE
  2317. pop ; StackCount = 5
  2318. pop ; StackCount = 4
  2319. pop ; StackCount = 3
  2320. calculate Var2 + Var3
  2321. pop ; StackCount = 2
  2322. calculate Var2 + Arg2
  2323. assign Var1, Var2
  2324. pop ; StackCount = 1
  2325. loc_12c:
  2326. pushtype BOOLEAN ; StackCount = 2
  2327. compare Var2, Global16 != ( String "" )
  2328. setflag not Var2
  2329. pop ; StackCount = 1
  2330. jumpflag loc_252
  2331. pushtype UnicodeString ; StackCount = 2
  2332. assign Var2, Var1
  2333. pushtype UnicodeString ; StackCount = 3
  2334. pushtype UnicodeString ; StackCount = 4
  2335. assign Var4, ( String "depinstall_memo_title" )
  2336. pushvar Var3 ; StackCount = 5
  2337. call CUSTOMMESSAGE
  2338. pop ; StackCount = 4
  2339. pop ; StackCount = 3
  2340. calculate Var2 + Var3
  2341. pop ; StackCount = 2
  2342. calculate Var2 + ( Char ':' )
  2343. calculate Var2 + Arg2
  2344. pushtype UnicodeString ; StackCount = 3
  2345. pushtype !OPENARRAYOFUNICODESTRING ; StackCount = 4
  2346. pushtype !OPENARRAYOFUNICODESTRING ; StackCount = 5
  2347. pushtype S32 ; StackCount = 6
  2348. assign Var6, ( S32 1 )
  2349. pushvar Var5 ; StackCount = 7
  2350. call SETARRAYLENGTH
  2351. pop ; StackCount = 6
  2352. pop ; StackCount = 5
  2353. assign Var5[0], Arg1
  2354. assign Var4, Var5
  2355. pop ; StackCount = 4
  2356. pushtype UnicodeString ; StackCount = 5
  2357. assign Var5, Global16
  2358. pushvar Var3 ; StackCount = 6
  2359. call FMTMESSAGE
  2360. pop ; StackCount = 5
  2361. pop ; StackCount = 4
  2362. pop ; StackCount = 3
  2363. calculate Var2 + Var3
  2364. pop ; StackCount = 2
  2365. calculate Var2 + Arg2
  2366. assign Var1, Var2
  2367. pop ; StackCount = 1
  2368. loc_252:
  2369. pushtype UnicodeString ; StackCount = 2
  2370. assign Var2, Var1
  2371. calculate Var2 + Arg4
  2372. calculate Var2 + Arg2
  2373. calculate Var2 + Arg2
  2374. calculate Var2 + Arg7
  2375. assign Var1, Var2
  2376. pop ; StackCount = 1
  2377. pushtype BOOLEAN ; StackCount = 2
  2378. compare Var2, Arg8 != ( String "" )
  2379. setflag not Var2
  2380. pop ; StackCount = 1
  2381. jumpflag loc_305
  2382. pushtype UnicodeString ; StackCount = 2
  2383. assign Var2, Var1
  2384. calculate Var2 + Arg2
  2385. calculate Var2 + Arg2
  2386. calculate Var2 + Arg8
  2387. assign Var1, Var2
  2388. pop ; StackCount = 1
  2389. loc_305:
  2390. assign RetVal, Var1
  2391. ret
  2392.  
  2393. Functions[101] = exported BOOLEAN NEXTBUTTONCLICK(in S32 Arg1)
  2394. assign RetVal, ( U8 1 )
  2395. pushtype BOOLEAN ; StackCount = 1
  2396. compare Var1, Arg1 == ( S32 10 )
  2397. setflag not Var1
  2398. pop ; StackCount = 0
  2399. jumpflag loc_32f
  2400. pushtype BOOLEAN ; StackCount = 1
  2401. compare Var1, Global17 != ( String "" )
  2402. setflag not Var1
  2403. pop ; StackCount = 0
  2404. jumpflag loc_32f
  2405. pushtype BOOLEAN ; StackCount = 1
  2406. pushtype UnicodeString ; StackCount = 2
  2407. pushvar Var2 ; StackCount = 3
  2408. call ACTIVELANGUAGE
  2409. pop ; StackCount = 2
  2410. compare Var1, Var2 != ( String "en" )
  2411. pop ; StackCount = 1
  2412. setflag not Var1
  2413. pop ; StackCount = 0
  2414. jumpflag loc_190
  2415. pushtype UnicodeString ; StackCount = 1
  2416. pushtype UnicodeString ; StackCount = 2
  2417. assign Var2, ( String "isxdl_langfile" )
  2418. pushvar Var1 ; StackCount = 3
  2419. call CUSTOMMESSAGE
  2420. pop ; StackCount = 2
  2421. pop ; StackCount = 1
  2422. call EXTRACTTEMPORARYFILE
  2423. pop ; StackCount = 0
  2424. pushtype S32 ; StackCount = 1
  2425. pushtype String ; StackCount = 2
  2426. pushtype UnicodeString ; StackCount = 3
  2427. pushtype UnicodeString ; StackCount = 4
  2428. pushtype UnicodeString ; StackCount = 5
  2429. assign Var5, ( String "{tmp}{\}" )
  2430. pushvar Var4 ; StackCount = 6
  2431. call EXPANDCONSTANT
  2432. pop ; StackCount = 5
  2433. pop ; StackCount = 4
  2434. assign Var3, Var4
  2435. pop ; StackCount = 3
  2436. pushtype UnicodeString ; StackCount = 4
  2437. pushtype UnicodeString ; StackCount = 5
  2438. assign Var5, ( String "isxdl_langfile" )
  2439. pushvar Var4 ; StackCount = 6
  2440. call CUSTOMMESSAGE
  2441. pop ; StackCount = 5
  2442. pop ; StackCount = 4
  2443. calculate Var3 + Var4
  2444. pop ; StackCount = 3
  2445. assign Var2, Var3
  2446. pop ; StackCount = 2
  2447. pushtype String ; StackCount = 3
  2448. assign Var3, ( String "language" )
  2449. pushvar Var1 ; StackCount = 4
  2450. call files:isxdl.dll!isxdl_SetOption
  2451. pop ; StackCount = 3
  2452. pop ; StackCount = 2
  2453. pop ; StackCount = 1
  2454. pop ; StackCount = 0
  2455. loc_190:
  2456. pushtype BOOLEAN ; StackCount = 1
  2457. pushtype S32 ; StackCount = 2
  2458. pushtype S32 ; StackCount = 3
  2459. assign Var3, ( S32 6 )
  2460. pushtype S32 ; StackCount = 4
  2461. assign Var4, ( S32 4 )
  2462. pushtype TMSGBOXTYPE ; StackCount = 5
  2463. assign Var5, ( U8 1 )
  2464. pushtype UnicodeString ; StackCount = 6
  2465. pushtype !OPENARRAYOFUNICODESTRING ; StackCount = 7
  2466. pushtype !OPENARRAYOFUNICODESTRING ; StackCount = 8
  2467. pushtype S32 ; StackCount = 9
  2468. assign Var9, ( S32 1 )
  2469. pushvar Var8 ; StackCount = 10
  2470. call SETARRAYLENGTH
  2471. pop ; StackCount = 9
  2472. pop ; StackCount = 8
  2473. assign Var8[0], Global18
  2474. assign Var7, Var8
  2475. pop ; StackCount = 7
  2476. pushtype UnicodeString ; StackCount = 8
  2477. pushtype UnicodeString ; StackCount = 9
  2478. assign Var9, ( String "depdownload_msg" )
  2479. pushvar Var8 ; StackCount = 10
  2480. call CUSTOMMESSAGE
  2481. pop ; StackCount = 9
  2482. pop ; StackCount = 8
  2483. pushvar Var6 ; StackCount = 9
  2484. call FMTMESSAGE
  2485. pop ; StackCount = 8
  2486. pop ; StackCount = 7
  2487. pop ; StackCount = 6
  2488. pushvar Var2 ; StackCount = 7
  2489. call SUPPRESSIBLEMSGBOX
  2490. pop ; StackCount = 6
  2491. pop ; StackCount = 5
  2492. pop ; StackCount = 4
  2493. pop ; StackCount = 3
  2494. pop ; StackCount = 2
  2495. compare Var1, Var2 == ( S32 7 )
  2496. pop ; StackCount = 1
  2497. setflag not Var1
  2498. pop ; StackCount = 0
  2499. jumpflag loc_2a5
  2500. assign RetVal, ( U8 0 )
  2501. jump loc_32f
  2502. loc_2a5:
  2503. pushtype BOOLEAN ; StackCount = 1
  2504. pushtype S32 ; StackCount = 2
  2505. pushtype S32 ; StackCount = 3
  2506. pushtype UnicodeString ; StackCount = 4
  2507. pushtype UnicodeString ; StackCount = 5
  2508. assign Var5, ( String "{wizardhwnd}" )
  2509. pushvar Var4 ; StackCount = 6
  2510. call EXPANDCONSTANT
  2511. pop ; StackCount = 5
  2512. pop ; StackCount = 4
  2513. pushvar Var3 ; StackCount = 5
  2514. call STRTOINT
  2515. pop ; StackCount = 4
  2516. pop ; StackCount = 3
  2517. pushvar Var2 ; StackCount = 4
  2518. call files:isxdl.dll!isxdl_DownloadFiles
  2519. pop ; StackCount = 3
  2520. pop ; StackCount = 2
  2521. compare Var1, Var2 == ( S32 0 )
  2522. pop ; StackCount = 1
  2523. setflag not Var1
  2524. pop ; StackCount = 0
  2525. jumpflag loc_32f
  2526. assign RetVal, ( U8 0 )
  2527. loc_32f:
  2528. ret
  2529.  
  2530. Functions[102] = external returnsval ACTIVELANGUAGE()
  2531.  
  2532. Functions[103] = external void EXTRACTTEMPORARYFILE(out Arg1)
  2533.  
  2534. Functions[104] = external returnsval SUPPRESSIBLEMSGBOX(out Arg1,out Arg2)
  2535.  
  2536. Functions[105] = external returnsval STRTOINT(out Arg1)
  2537.  
  2538. Functions[106] = exported BOOLEAN ISX86()
  2539. assign RetVal, Global21
  2540. jumptrue RetVal, loc_4b
  2541. pushtype BOOLEAN ; StackCount = 1
  2542. pushtype TSETUPPROCESSORARCHITECTURE ; StackCount = 2
  2543. pushvar Var2 ; StackCount = 3
  2544. call PROCESSORARCHITECTURE
  2545. pop ; StackCount = 2
  2546. compare Var1, Var2 == ( U8 1 )
  2547. pop ; StackCount = 1
  2548. calculate RetVal | Var1
  2549. pop ; StackCount = 0
  2550. loc_4b:
  2551. jumptrue RetVal, loc_8b
  2552. pushtype BOOLEAN ; StackCount = 1
  2553. pushtype TSETUPPROCESSORARCHITECTURE ; StackCount = 2
  2554. pushvar Var2 ; StackCount = 3
  2555. call PROCESSORARCHITECTURE
  2556. pop ; StackCount = 2
  2557. compare Var1, Var2 == ( U8 0 )
  2558. pop ; StackCount = 1
  2559. calculate RetVal | Var1
  2560. pop ; StackCount = 0
  2561. loc_8b:
  2562. ret
  2563.  
  2564. Functions[107] = external returnsval PROCESSORARCHITECTURE()
  2565.  
  2566. Functions[108] = exported BOOLEAN ISX64()
  2567. assign RetVal, Global21
  2568. logicalnot RetVal
  2569. jumpfalse RetVal, loc_39
  2570. pushtype BOOLEAN ; StackCount = 1
  2571. pushvar Var1 ; StackCount = 2
  2572. call IS64BITINSTALLMODE
  2573. pop ; StackCount = 1
  2574. calculate RetVal & Var1
  2575. pop ; StackCount = 0
  2576. loc_39:
  2577. jumpfalse RetVal, loc_79
  2578. pushtype BOOLEAN ; StackCount = 1
  2579. pushtype TSETUPPROCESSORARCHITECTURE ; StackCount = 2
  2580. pushvar Var2 ; StackCount = 3
  2581. call PROCESSORARCHITECTURE
  2582. pop ; StackCount = 2
  2583. compare Var1, Var2 == ( U8 2 )
  2584. pop ; StackCount = 1
  2585. calculate RetVal & Var1
  2586. pop ; StackCount = 0
  2587. loc_79:
  2588. ret
  2589.  
  2590. Functions[109] = external returnsval IS64BITINSTALLMODE()
  2591.  
  2592. Functions[110] = exported BOOLEAN ISIA64()
  2593. assign RetVal, Global21
  2594. logicalnot RetVal
  2595. jumpfalse RetVal, loc_39
  2596. pushtype BOOLEAN ; StackCount = 1
  2597. pushvar Var1 ; StackCount = 2
  2598. call IS64BITINSTALLMODE
  2599. pop ; StackCount = 1
  2600. calculate RetVal & Var1
  2601. pop ; StackCount = 0
  2602. loc_39:
  2603. jumpfalse RetVal, loc_79
  2604. pushtype BOOLEAN ; StackCount = 1
  2605. pushtype TSETUPPROCESSORARCHITECTURE ; StackCount = 2
  2606. pushvar Var2 ; StackCount = 3
  2607. call PROCESSORARCHITECTURE
  2608. pop ; StackCount = 2
  2609. compare Var1, Var2 == ( U8 3 )
  2610. pop ; StackCount = 1
  2611. calculate RetVal & Var1
  2612. pop ; StackCount = 0
  2613. loc_79:
  2614. ret
  2615.  
  2616. Functions[111] = exported UnicodeString GETSTRING(in UnicodeString Arg1,in UnicodeString Arg2,in UnicodeString Arg3)
  2617. pushtype BOOLEAN ; StackCount = 1
  2618. pushvar Var1 ; StackCount = 2
  2619. call ISX64
  2620. pop ; StackCount = 1
  2621. jumpfalse Var1, loc_42
  2622. pushtype BOOLEAN ; StackCount = 2
  2623. compare Var2, Arg2 != ( String "" )
  2624. calculate Var1 & Var2
  2625. pop ; StackCount = 1
  2626. loc_42:
  2627. setflag not Var1
  2628. pop ; StackCount = 0
  2629. jumpflag loc_5f
  2630. assign RetVal, Arg2
  2631. jump loc_c9
  2632. loc_5f:
  2633. pushtype BOOLEAN ; StackCount = 1
  2634. pushvar Var1 ; StackCount = 2
  2635. call ISIA64
  2636. pop ; StackCount = 1
  2637. jumpfalse Var1, loc_a1
  2638. pushtype BOOLEAN ; StackCount = 2
  2639. compare Var2, Arg3 != ( String "" )
  2640. calculate Var1 & Var2
  2641. pop ; StackCount = 1
  2642. loc_a1:
  2643. setflag not Var1
  2644. pop ; StackCount = 0
  2645. jumpflag loc_be
  2646. assign RetVal, Arg3
  2647. jump loc_c9
  2648. loc_be:
  2649. assign RetVal, Arg1
  2650. loc_c9:
  2651. ret
  2652.  
  2653. Functions[112] = exported UnicodeString GETARCHITECTURESTRING()
  2654. pushtype BOOLEAN ; StackCount = 1
  2655. pushvar Var1 ; StackCount = 2
  2656. call ISX64
  2657. pop ; StackCount = 1
  2658. setflag not Var1
  2659. pop ; StackCount = 0
  2660. jumpflag loc_36
  2661. assign RetVal, ( String "_x64" )
  2662. jump loc_7c
  2663. loc_36:
  2664. pushtype BOOLEAN ; StackCount = 1
  2665. pushvar Var1 ; StackCount = 2
  2666. call ISIA64
  2667. pop ; StackCount = 1
  2668. setflag not Var1
  2669. pop ; StackCount = 0
  2670. jumpflag loc_6d
  2671. assign RetVal, ( String "_ia64" )
  2672. jump loc_7c
  2673. loc_6d:
  2674. assign RetVal, ( String "" )
  2675. loc_7c:
  2676. ret
  2677.  
  2678. Functions[113] = exported void SETFORCEX86(in BOOLEAN Arg1)
  2679. assign Global21, Arg1
  2680. ret
  2681.  
  2682. Functions[114] = exported S32 STRINGTOVERSION(out UnicodeString Arg1)
  2683. pushtype UnicodeString ; StackCount = 1
  2684. pushtype S32 ; StackCount = 2
  2685. pushtype BOOLEAN ; StackCount = 3
  2686. pushtype S32 ; StackCount = 4
  2687. pushtype UnicodeString ; StackCount = 5
  2688. assign Var5, Arg1
  2689. pushvar Var4 ; StackCount = 6
  2690. call LENGTH
  2691. pop ; StackCount = 5
  2692. pop ; StackCount = 4
  2693. compare Var3, Var4 == ( S32 0 )
  2694. pop ; StackCount = 3
  2695. setflag not Var3
  2696. pop ; StackCount = 2
  2697. jumpflag loc_64
  2698. assign RetVal, ( S32 -1 )
  2699. ret
  2700. loc_64:
  2701. pushtype UnicodeString ; StackCount = 3
  2702. assign Var3, Arg1
  2703. pushtype Char ; StackCount = 4
  2704. assign Var4, ( Char '.' )
  2705. pushvar Var2 ; StackCount = 5
  2706. call POS
  2707. pop ; StackCount = 4
  2708. pop ; StackCount = 3
  2709. pop ; StackCount = 2
  2710. pushtype BOOLEAN ; StackCount = 3
  2711. compare Var3, Var2 == ( S32 0 )
  2712. setflag not Var3
  2713. pop ; StackCount = 2
  2714. jumpflag loc_eb
  2715. pushtype UnicodeString ; StackCount = 3
  2716. assign Var3, Arg1
  2717. pushvar RetVal ; StackCount = 4
  2718. call STRTOINT
  2719. pop ; StackCount = 3
  2720. pop ; StackCount = 2
  2721. assign Arg1, ( String "" )
  2722. jump loc_1bc
  2723. loc_eb:
  2724. pushtype S32 ; StackCount = 3
  2725. assign Var3, Var2
  2726. calculate Var3 - ( S32 1 )
  2727. pushtype S32 ; StackCount = 4
  2728. assign Var4, ( S32 1 )
  2729. pushtype UnicodeString ; StackCount = 5
  2730. assign Var5, Arg1
  2731. pushvar Var1 ; StackCount = 6
  2732. call COPY
  2733. pop ; StackCount = 5
  2734. pop ; StackCount = 4
  2735. pop ; StackCount = 3
  2736. pop ; StackCount = 2
  2737. pushtype S32 ; StackCount = 3
  2738. pushtype UnicodeString ; StackCount = 4
  2739. assign Var4, Arg1
  2740. pushvar Var3 ; StackCount = 5
  2741. call LENGTH
  2742. pop ; StackCount = 4
  2743. pop ; StackCount = 3
  2744. pushtype S32 ; StackCount = 4
  2745. assign Var4, Var2
  2746. calculate Var4 + ( S32 1 )
  2747. pushtype UnicodeString ; StackCount = 5
  2748. assign Var5, Arg1
  2749. pushvar Arg1 ; StackCount = 6
  2750. call COPY
  2751. pop ; StackCount = 5
  2752. pop ; StackCount = 4
  2753. pop ; StackCount = 3
  2754. pop ; StackCount = 2
  2755. pushtype UnicodeString ; StackCount = 3
  2756. assign Var3, Var1
  2757. pushvar RetVal ; StackCount = 4
  2758. call STRTOINT
  2759. pop ; StackCount = 3
  2760. pop ; StackCount = 2
  2761. loc_1bc:
  2762. ret
  2763.  
  2764. Functions[115] = exported S32 COMPAREINNERVERSION(out UnicodeString Arg1,out UnicodeString Arg2)
  2765. pushtype S32 ; StackCount = 1
  2766. pushtype S32 ; StackCount = 2
  2767. pushtype Pointer ; StackCount = 3
  2768. setptr Var3, Arg1
  2769. pushvar Var1 ; StackCount = 4
  2770. call STRINGTOVERSION
  2771. pop ; StackCount = 3
  2772. pop ; StackCount = 2
  2773. pushtype Pointer ; StackCount = 3
  2774. setptr Var3, Arg2
  2775. pushvar Var2 ; StackCount = 4
  2776. call STRINGTOVERSION
  2777. pop ; StackCount = 3
  2778. pop ; StackCount = 2
  2779. pushtype BOOLEAN ; StackCount = 3
  2780. compare Var3, Var1 == ( S32 -1 )
  2781. jumpfalse Var3, loc_8f
  2782. pushtype BOOLEAN ; StackCount = 4
  2783. compare Var4, Var2 == ( S32 -1 )
  2784. calculate Var3 & Var4
  2785. pop ; StackCount = 3
  2786. loc_8f:
  2787. setflag not Var3
  2788. pop ; StackCount = 2
  2789. jumpflag loc_ac
  2790. assign RetVal, ( S32 0 )
  2791. ret
  2792. loc_ac:
  2793. pushtype BOOLEAN ; StackCount = 3
  2794. compare Var3, Var1 < ( S32 0 )
  2795. setflag not Var3
  2796. pop ; StackCount = 2
  2797. jumpflag loc_e2
  2798. assign Var1, ( S32 0 )
  2799. loc_e2:
  2800. pushtype BOOLEAN ; StackCount = 3
  2801. compare Var3, Var2 < ( S32 0 )
  2802. setflag not Var3
  2803. pop ; StackCount = 2
  2804. jumpflag loc_118
  2805. assign Var2, ( S32 0 )
  2806. loc_118:
  2807. pushtype BOOLEAN ; StackCount = 3
  2808. compare Var3, Var1 < Var2
  2809. setflag not Var3
  2810. pop ; StackCount = 2
  2811. jumpflag loc_14f
  2812. assign RetVal, ( S32 -1 )
  2813. jump loc_1b4
  2814. loc_14f:
  2815. pushtype BOOLEAN ; StackCount = 3
  2816. compare Var3, Var1 > Var2
  2817. setflag not Var3
  2818. pop ; StackCount = 2
  2819. jumpflag loc_186
  2820. assign RetVal, ( S32 1 )
  2821. jump loc_1b4
  2822. loc_186:
  2823. pushtype Pointer ; StackCount = 3
  2824. setptr Var3, Arg2
  2825. pushtype Pointer ; StackCount = 4
  2826. setptr Var4, Arg1
  2827. pushvar RetVal ; StackCount = 5
  2828. call COMPAREINNERVERSION
  2829. pop ; StackCount = 4
  2830. pop ; StackCount = 3
  2831. pop ; StackCount = 2
  2832. loc_1b4:
  2833. ret
  2834.  
  2835. Functions[116] = exported S32 COMPAREVERSION(in UnicodeString Arg1,in UnicodeString Arg2)
  2836. pushtype UnicodeString ; StackCount = 1
  2837. pushtype UnicodeString ; StackCount = 2
  2838. assign Var1, Arg1
  2839. assign Var2, Arg2
  2840. pushtype Pointer ; StackCount = 3
  2841. setptr Var3, Var2
  2842. pushtype Pointer ; StackCount = 4
  2843. setptr Var4, Var1
  2844. pushvar RetVal ; StackCount = 5
  2845. call COMPAREINNERVERSION
  2846. pop ; StackCount = 4
  2847. pop ; StackCount = 3
  2848. pop ; StackCount = 2
  2849. ret
  2850.  
  2851. Functions[117] = exported void INITWINVERSION()
  2852. pushtype Pointer ; StackCount = 1
  2853. setptr Var1, Global23
  2854. call GETWINDOWSVERSIONEX
  2855. pop ; StackCount = 0
  2856. ret
  2857.  
  2858. Functions[118] = external void GETWINDOWSVERSIONEX(in Arg1)
  2859.  
  2860. Functions[119] = exported BOOLEAN EXACTWINVERSION(in S32 Arg1,in S32 Arg2)
  2861. pushtype BOOLEAN ; StackCount = 1
  2862. compare Var1, Global23[0] == Arg1
  2863. jumpfalse Var1, loc_4b
  2864. pushtype BOOLEAN ; StackCount = 2
  2865. compare Var2, Global23[1] == Arg2
  2866. calculate Var1 & Var2
  2867. pop ; StackCount = 1
  2868. loc_4b:
  2869. assign RetVal, Var1
  2870. pop ; StackCount = 0
  2871. ret
  2872.  
  2873. Functions[120] = exported BOOLEAN MINWINVERSION(in S32 Arg1,in S32 Arg2)
  2874. pushtype BOOLEAN ; StackCount = 1
  2875. compare Var1, Global23[0] > Arg1
  2876. jumptrue Var1, loc_7c
  2877. pushtype BOOLEAN ; StackCount = 2
  2878. compare Var2, Global23[0] == Arg1
  2879. jumpfalse Var2, loc_6f
  2880. pushtype BOOLEAN ; StackCount = 3
  2881. compare Var3, Global23[1] >= Arg2
  2882. calculate Var2 & Var3
  2883. pop ; StackCount = 2
  2884. loc_6f:
  2885. calculate Var1 | Var2
  2886. pop ; StackCount = 1
  2887. loc_7c:
  2888. assign RetVal, Var1
  2889. pop ; StackCount = 0
  2890. ret
  2891.  
  2892. Functions[121] = exported BOOLEAN MAXWINVERSION(in S32 Arg1,in S32 Arg2)
  2893. pushtype BOOLEAN ; StackCount = 1
  2894. compare Var1, Global23[0] < Arg1
  2895. jumptrue Var1, loc_7c
  2896. pushtype BOOLEAN ; StackCount = 2
  2897. compare Var2, Global23[0] == Arg1
  2898. jumpfalse Var2, loc_6f
  2899. pushtype BOOLEAN ; StackCount = 3
  2900. compare Var3, Global23[1] <= Arg2
  2901. calculate Var2 & Var3
  2902. pop ; StackCount = 2
  2903. loc_6f:
  2904. calculate Var1 | Var2
  2905. pop ; StackCount = 1
  2906. loc_7c:
  2907. assign RetVal, Var1
  2908. pop ; StackCount = 0
  2909. ret
  2910.  
  2911. Functions[122] = exported BOOLEAN EXACTWINSPVERSION(in S32 Arg1,in S32 Arg2,in S32 Arg3)
  2912. pushtype BOOLEAN ; StackCount = 1
  2913. pushtype S32 ; StackCount = 2
  2914. assign Var2, Arg2
  2915. pushtype S32 ; StackCount = 3
  2916. assign Var3, Arg1
  2917. pushvar Var1 ; StackCount = 4
  2918. call EXACTWINVERSION
  2919. pop ; StackCount = 3
  2920. pop ; StackCount = 2
  2921. pop ; StackCount = 1
  2922. setflag not Var1
  2923. pop ; StackCount = 0
  2924. jumpflag loc_5a
  2925. compare RetVal, Global23[3] == Arg3
  2926. jump loc_66
  2927. loc_5a:
  2928. assign RetVal, ( U8 1 )
  2929. loc_66:
  2930. ret
  2931.  
  2932. Functions[123] = exported BOOLEAN MINWINSPVERSION(in S32 Arg1,in S32 Arg2,in S32 Arg3)
  2933. pushtype BOOLEAN ; StackCount = 1
  2934. pushtype S32 ; StackCount = 2
  2935. assign Var2, Arg2
  2936. pushtype S32 ; StackCount = 3
  2937. assign Var3, Arg1
  2938. pushvar Var1 ; StackCount = 4
  2939. call EXACTWINVERSION
  2940. pop ; StackCount = 3
  2941. pop ; StackCount = 2
  2942. pop ; StackCount = 1
  2943. setflag not Var1
  2944. pop ; StackCount = 0
  2945. jumpflag loc_5a
  2946. compare RetVal, Global23[3] >= Arg3
  2947. jump loc_66
  2948. loc_5a:
  2949. assign RetVal, ( U8 1 )
  2950. loc_66:
  2951. ret
  2952.  
  2953. Functions[124] = exported BOOLEAN MAXWINSPVERSION(in S32 Arg1,in S32 Arg2,in S32 Arg3)
  2954. pushtype BOOLEAN ; StackCount = 1
  2955. pushtype S32 ; StackCount = 2
  2956. assign Var2, Arg2
  2957. pushtype S32 ; StackCount = 3
  2958. assign Var3, Arg1
  2959. pushvar Var1 ; StackCount = 4
  2960. call EXACTWINVERSION
  2961. pop ; StackCount = 3
  2962. pop ; StackCount = 2
  2963. pop ; StackCount = 1
  2964. setflag not Var1
  2965. pop ; StackCount = 0
  2966. jumpflag loc_5a
  2967. compare RetVal, Global23[3] <= Arg3
  2968. jump loc_66
  2969. loc_5a:
  2970. assign RetVal, ( U8 1 )
  2971. loc_66:
  2972. ret
  2973.  
  2974. Functions[125] = exported UnicodeString GETFULLVERSION(in U32 Arg1,in U32 Arg2)
  2975. pushtype UnicodeString ; StackCount = 1
  2976. pushtype S64 ; StackCount = 2
  2977. pushtype U32 ; StackCount = 3
  2978. assign Var3, Arg1
  2979. calculate Var3 >> ( S32 16 )
  2980. assign Var2, Var3
  2981. pop ; StackCount = 2
  2982. pushvar Var1 ; StackCount = 3
  2983. call INTTOSTR
  2984. pop ; StackCount = 2
  2985. pop ; StackCount = 1
  2986. pushtype UnicodeString ; StackCount = 2
  2987. assign Var2, Var1
  2988. calculate Var2 + ( Char '.' )
  2989. pushtype UnicodeString ; StackCount = 3
  2990. pushtype S64 ; StackCount = 4
  2991. pushtype U32 ; StackCount = 5
  2992. assign Var5, Arg1
  2993. calculate Var5 & ( U32 65535 )
  2994. assign Var4, Var5
  2995. pop ; StackCount = 4
  2996. pushvar Var3 ; StackCount = 5
  2997. call INTTOSTR
  2998. pop ; StackCount = 4
  2999. pop ; StackCount = 3
  3000. calculate Var2 + Var3
  3001. pop ; StackCount = 2
  3002. assign Var1, Var2
  3003. pop ; StackCount = 1
  3004. pushtype UnicodeString ; StackCount = 2
  3005. assign Var2, Var1
  3006. calculate Var2 + ( Char '.' )
  3007. pushtype UnicodeString ; StackCount = 3
  3008. pushtype S64 ; StackCount = 4
  3009. pushtype U32 ; StackCount = 5
  3010. assign Var5, Arg2
  3011. calculate Var5 >> ( S32 16 )
  3012. assign Var4, Var5
  3013. pop ; StackCount = 4
  3014. pushvar Var3 ; StackCount = 5
  3015. call INTTOSTR
  3016. pop ; StackCount = 4
  3017. pop ; StackCount = 3
  3018. calculate Var2 + Var3
  3019. pop ; StackCount = 2
  3020. assign Var1, Var2
  3021. pop ; StackCount = 1
  3022. pushtype UnicodeString ; StackCount = 2
  3023. assign Var2, Var1
  3024. calculate Var2 + ( Char '.' )
  3025. pushtype UnicodeString ; StackCount = 3
  3026. pushtype S64 ; StackCount = 4
  3027. pushtype U32 ; StackCount = 5
  3028. assign Var5, Arg2
  3029. calculate Var5 & ( U32 65535 )
  3030. assign Var4, Var5
  3031. pop ; StackCount = 4
  3032. pushvar Var3 ; StackCount = 5
  3033. call INTTOSTR
  3034. pop ; StackCount = 4
  3035. pop ; StackCount = 3
  3036. calculate Var2 + Var3
  3037. pop ; StackCount = 2
  3038. assign Var1, Var2
  3039. pop ; StackCount = 1
  3040. assign RetVal, Var1
  3041. ret
  3042.  
  3043. Functions[126] = exported UnicodeString FILEVERSION(in UnicodeString Arg1)
  3044. pushtype U32 ; StackCount = 1
  3045. pushtype U32 ; StackCount = 2
  3046. pushtype BOOLEAN ; StackCount = 3
  3047. pushtype Pointer ; StackCount = 4
  3048. setptr Var4, Var2
  3049. pushtype Pointer ; StackCount = 5
  3050. setptr Var5, Var1
  3051. pushtype UnicodeString ; StackCount = 6
  3052. assign Var6, Arg1
  3053. pushvar Var3 ; StackCount = 7
  3054. call GETVERSIONNUMBERS
  3055. pop ; StackCount = 6
  3056. pop ; StackCount = 5
  3057. pop ; StackCount = 4
  3058. pop ; StackCount = 3
  3059. setflag not Var3
  3060. pop ; StackCount = 2
  3061. jumpflag loc_8e
  3062. pushtype U32 ; StackCount = 3
  3063. assign Var3, Var2
  3064. pushtype U32 ; StackCount = 4
  3065. assign Var4, Var1
  3066. pushvar RetVal ; StackCount = 5
  3067. call GETFULLVERSION
  3068. pop ; StackCount = 4
  3069. pop ; StackCount = 3
  3070. pop ; StackCount = 2
  3071. jump loc_9a
  3072. loc_8e:
  3073. assign RetVal, ( Char '0' )
  3074. loc_9a:
  3075. ret
  3076.  
  3077. Functions[127] = exported BOOLEAN NETFXINSTALLED(in U8 Arg1,in UnicodeString Arg2)
  3078. pushtype U32 ; StackCount = 1
  3079. pushtype UnicodeString ; StackCount = 2
  3080. pushtype BOOLEAN ; StackCount = 3
  3081. compare Var3, Arg2 != ( String "" )
  3082. setflag not Var3
  3083. pop ; StackCount = 2
  3084. jumpflag loc_5a
  3085. pushtype UnicodeString ; StackCount = 3
  3086. assign Var3, ( Char '\' )
  3087. calculate Var3 + Arg2
  3088. assign Arg2, Var3
  3089. pop ; StackCount = 2
  3090. loc_5a:
  3091. pushtype BOOLEAN ; StackCount = 3
  3092. compare Var3, Arg1 == ( U8 0 )
  3093. setflag not Var3
  3094. pop ; StackCount = 2
  3095. jumpflag loc_132
  3096. pushtype BOOLEAN ; StackCount = 3
  3097. pushtype Pointer ; StackCount = 4
  3098. setptr Var4, Var2
  3099. pushtype UnicodeString ; StackCount = 5
  3100. assign Var5, ( String "Install" )
  3101. pushtype UnicodeString ; StackCount = 6
  3102. assign Var6, ( String "Software\Microsoft\.NETFramework\Policy\v1.0\3705" )
  3103. pushtype S32 ; StackCount = 7
  3104. assign Var7, ( S32 -2147483646 )
  3105. pushvar Var3 ; StackCount = 8
  3106. call REGQUERYSTRINGVALUE
  3107. pop ; StackCount = 7
  3108. pop ; StackCount = 6
  3109. pop ; StackCount = 5
  3110. pop ; StackCount = 4
  3111. pop ; StackCount = 3
  3112. pop ; StackCount = 2
  3113. compare RetVal, Var2 != ( String "" )
  3114. jump loc_771
  3115. loc_132:
  3116. pushtype U8 ; StackCount = 3
  3117. assign Var3, Arg1
  3118. pushtype BOOLEAN ; StackCount = 4
  3119. compare Var4, ( U8 1 ) == Var3
  3120. jumpfalse Var4, loc_222
  3121. pushtype BOOLEAN ; StackCount = 5
  3122. pushtype Pointer ; StackCount = 6
  3123. setptr Var6, Var1
  3124. pushtype UnicodeString ; StackCount = 7
  3125. assign Var7, ( String "Install" )
  3126. pushtype UnicodeString ; StackCount = 8
  3127. pushtype UnicodeString ; StackCount = 9
  3128. assign Var9, ( String "Software\Microsoft\NET Framework Setup\NDP\v1.1.4322" )
  3129. calculate Var9 + Arg2
  3130. assign Var8, Var9
  3131. pop ; StackCount = 8
  3132. pushtype S32 ; StackCount = 9
  3133. assign Var9, ( S32 -2147483646 )
  3134. pushvar Var5 ; StackCount = 10
  3135. call REGQUERYDWORDVALUE
  3136. pop ; StackCount = 9
  3137. pop ; StackCount = 8
  3138. pop ; StackCount = 7
  3139. pop ; StackCount = 6
  3140. pop ; StackCount = 5
  3141. pop ; StackCount = 4
  3142. jump loc_75a
  3143. loc_222:
  3144. compare Var4, ( U8 2 ) == Var3
  3145. jumpfalse Var4, loc_2fe
  3146. pushtype BOOLEAN ; StackCount = 5
  3147. pushtype Pointer ; StackCount = 6
  3148. setptr Var6, Var1
  3149. pushtype UnicodeString ; StackCount = 7
  3150. assign Var7, ( String "Install" )
  3151. pushtype UnicodeString ; StackCount = 8
  3152. pushtype UnicodeString ; StackCount = 9
  3153. assign Var9, ( String "Software\Microsoft\NET Framework Setup\NDP\v2.0.50727" )
  3154. calculate Var9 + Arg2
  3155. assign Var8, Var9
  3156. pop ; StackCount = 8
  3157. pushtype S32 ; StackCount = 9
  3158. assign Var9, ( S32 -2147483646 )
  3159. pushvar Var5 ; StackCount = 10
  3160. call REGQUERYDWORDVALUE
  3161. pop ; StackCount = 9
  3162. pop ; StackCount = 8
  3163. pop ; StackCount = 7
  3164. pop ; StackCount = 6
  3165. pop ; StackCount = 5
  3166. pop ; StackCount = 4
  3167. jump loc_75a
  3168. loc_2fe:
  3169. compare Var4, ( U8 3 ) == Var3
  3170. jumpfalse Var4, loc_3e1
  3171. pushtype BOOLEAN ; StackCount = 5
  3172. pushtype Pointer ; StackCount = 6
  3173. setptr Var6, Var1
  3174. pushtype UnicodeString ; StackCount = 7
  3175. assign Var7, ( String "InstallSuccess" )
  3176. pushtype UnicodeString ; StackCount = 8
  3177. pushtype UnicodeString ; StackCount = 9
  3178. assign Var9, ( String "Software\Microsoft\NET Framework Setup\NDP\v3.0\Setup" )
  3179. calculate Var9 + Arg2
  3180. assign Var8, Var9
  3181. pop ; StackCount = 8
  3182. pushtype S32 ; StackCount = 9
  3183. assign Var9, ( S32 -2147483646 )
  3184. pushvar Var5 ; StackCount = 10
  3185. call REGQUERYDWORDVALUE
  3186. pop ; StackCount = 9
  3187. pop ; StackCount = 8
  3188. pop ; StackCount = 7
  3189. pop ; StackCount = 6
  3190. pop ; StackCount = 5
  3191. pop ; StackCount = 4
  3192. jump loc_75a
  3193. loc_3e1:
  3194. compare Var4, ( U8 4 ) == Var3
  3195. jumpfalse Var4, loc_4b7
  3196. pushtype BOOLEAN ; StackCount = 5
  3197. pushtype Pointer ; StackCount = 6
  3198. setptr Var6, Var1
  3199. pushtype UnicodeString ; StackCount = 7
  3200. assign Var7, ( String "Install" )
  3201. pushtype UnicodeString ; StackCount = 8
  3202. pushtype UnicodeString ; StackCount = 9
  3203. assign Var9, ( String "Software\Microsoft\NET Framework Setup\NDP\v3.5" )
  3204. calculate Var9 + Arg2
  3205. assign Var8, Var9
  3206. pop ; StackCount = 8
  3207. pushtype S32 ; StackCount = 9
  3208. assign Var9, ( S32 -2147483646 )
  3209. pushvar Var5 ; StackCount = 10
  3210. call REGQUERYDWORDVALUE
  3211. pop ; StackCount = 9
  3212. pop ; StackCount = 8
  3213. pop ; StackCount = 7
  3214. pop ; StackCount = 6
  3215. pop ; StackCount = 5
  3216. pop ; StackCount = 4
  3217. jump loc_75a
  3218. loc_4b7:
  3219. compare Var4, ( U8 5 ) == Var3
  3220. jumpfalse Var4, loc_592
  3221. pushtype BOOLEAN ; StackCount = 5
  3222. pushtype Pointer ; StackCount = 6
  3223. setptr Var6, Var1
  3224. pushtype UnicodeString ; StackCount = 7
  3225. assign Var7, ( String "Install" )
  3226. pushtype UnicodeString ; StackCount = 8
  3227. pushtype UnicodeString ; StackCount = 9
  3228. assign Var9, ( String "Software\Microsoft\NET Framework Setup\NDP\v4\Client" )
  3229. calculate Var9 + Arg2
  3230. assign Var8, Var9
  3231. pop ; StackCount = 8
  3232. pushtype S32 ; StackCount = 9
  3233. assign Var9, ( S32 -2147483646 )
  3234. pushvar Var5 ; StackCount = 10
  3235. call REGQUERYDWORDVALUE
  3236. pop ; StackCount = 9
  3237. pop ; StackCount = 8
  3238. pop ; StackCount = 7
  3239. pop ; StackCount = 6
  3240. pop ; StackCount = 5
  3241. pop ; StackCount = 4
  3242. jump loc_75a
  3243. loc_592:
  3244. compare Var4, ( U8 6 ) == Var3
  3245. jumpfalse Var4, loc_66b
  3246. pushtype BOOLEAN ; StackCount = 5
  3247. pushtype Pointer ; StackCount = 6
  3248. setptr Var6, Var1
  3249. pushtype UnicodeString ; StackCount = 7
  3250. assign Var7, ( String "Install" )
  3251. pushtype UnicodeString ; StackCount = 8
  3252. pushtype UnicodeString ; StackCount = 9
  3253. assign Var9, ( String "Software\Microsoft\NET Framework Setup\NDP\v4\Full" )
  3254. calculate Var9 + Arg2
  3255. assign Var8, Var9
  3256. pop ; StackCount = 8
  3257. pushtype S32 ; StackCount = 9
  3258. assign Var9, ( S32 -2147483646 )
  3259. pushvar Var5 ; StackCount = 10
  3260. call REGQUERYDWORDVALUE
  3261. pop ; StackCount = 9
  3262. pop ; StackCount = 8
  3263. pop ; StackCount = 7
  3264. pop ; StackCount = 6
  3265. pop ; StackCount = 5
  3266. pop ; StackCount = 4
  3267. jump loc_75a
  3268. loc_66b:
  3269. compare Var4, ( U8 7 ) == Var3
  3270. jumpfalse Var4, loc_75a
  3271. pushtype BOOLEAN ; StackCount = 5
  3272. pushtype Pointer ; StackCount = 6
  3273. setptr Var6, Var1
  3274. pushtype UnicodeString ; StackCount = 7
  3275. assign Var7, ( String "Release" )
  3276. pushtype UnicodeString ; StackCount = 8
  3277. pushtype UnicodeString ; StackCount = 9
  3278. assign Var9, ( String "Software\Microsoft\NET Framework Setup\NDP\v4\Full" )
  3279. calculate Var9 + Arg2
  3280. assign Var8, Var9
  3281. pop ; StackCount = 8
  3282. pushtype S32 ; StackCount = 9
  3283. assign Var9, ( S32 -2147483646 )
  3284. pushvar Var5 ; StackCount = 10
  3285. call REGQUERYDWORDVALUE
  3286. pop ; StackCount = 9
  3287. pop ; StackCount = 8
  3288. pop ; StackCount = 7
  3289. pop ; StackCount = 6
  3290. pop ; StackCount = 5
  3291. pop ; StackCount = 4
  3292. compare RetVal, Var1 >= ( S32 378389 )
  3293. ret
  3294. jump loc_75a
  3295. loc_75a:
  3296. pop ; StackCount = 3
  3297. pop ; StackCount = 2
  3298. compare RetVal, Var1 != ( S32 0 )
  3299. loc_771:
  3300. ret
  3301.  
  3302. Functions[128] = external returnsval REGQUERYDWORDVALUE(out Arg1,out Arg2)
  3303.  
  3304. Functions[129] = exported S32 NETFXSPVERSION(in U8 Arg1,in UnicodeString Arg2)
  3305. pushtype U32 ; StackCount = 1
  3306. pushtype BOOLEAN ; StackCount = 2
  3307. compare Var2, Arg2 != ( String "" )
  3308. setflag not Var2
  3309. pop ; StackCount = 1
  3310. jumpflag loc_55
  3311. pushtype UnicodeString ; StackCount = 2
  3312. assign Var2, ( Char '\' )
  3313. calculate Var2 + Arg2
  3314. assign Arg2, Var2
  3315. pop ; StackCount = 1
  3316. loc_55:
  3317. pushtype U8 ; StackCount = 2
  3318. assign Var2, Arg1
  3319. pushtype BOOLEAN ; StackCount = 3
  3320. compare Var3, ( U8 0 ) == Var2
  3321. jumpfalse Var3, loc_9a
  3322. assign Var1, ( S32 -1 )
  3323. jump loc_882
  3324. loc_9a:
  3325. compare Var3, ( U8 1 ) == Var2
  3326. jumpfalse Var3, loc_191
  3327. pushtype BOOLEAN ; StackCount = 4
  3328. pushtype Pointer ; StackCount = 5
  3329. setptr Var5, Var1
  3330. pushtype UnicodeString ; StackCount = 6
  3331. assign Var6, ( String "SP" )
  3332. pushtype UnicodeString ; StackCount = 7
  3333. pushtype UnicodeString ; StackCount = 8
  3334. assign Var8, ( String "Software\Microsoft\NET Framework Setup\NDP\v1.1.4322" )
  3335. calculate Var8 + Arg2
  3336. assign Var7, Var8
  3337. pop ; StackCount = 7
  3338. pushtype S32 ; StackCount = 8
  3339. assign Var8, ( S32 -2147483646 )
  3340. pushvar Var4 ; StackCount = 9
  3341. call REGQUERYDWORDVALUE
  3342. pop ; StackCount = 8
  3343. pop ; StackCount = 7
  3344. pop ; StackCount = 6
  3345. pop ; StackCount = 5
  3346. pop ; StackCount = 4
  3347. logicalnot Var4
  3348. setflag not Var4
  3349. pop ; StackCount = 3
  3350. jumpflag loc_18c
  3351. assign Var1, ( S32 -1 )
  3352. loc_18c:
  3353. jump loc_882
  3354. loc_191:
  3355. compare Var3, ( U8 2 ) == Var2
  3356. jumpfalse Var3, loc_289
  3357. pushtype BOOLEAN ; StackCount = 4
  3358. pushtype Pointer ; StackCount = 5
  3359. setptr Var5, Var1
  3360. pushtype UnicodeString ; StackCount = 6
  3361. assign Var6, ( String "SP" )
  3362. pushtype UnicodeString ; StackCount = 7
  3363. pushtype UnicodeString ; StackCount = 8
  3364. assign Var8, ( String "Software\Microsoft\NET Framework Setup\NDP\v2.0.50727" )
  3365. calculate Var8 + Arg2
  3366. assign Var7, Var8
  3367. pop ; StackCount = 7
  3368. pushtype S32 ; StackCount = 8
  3369. assign Var8, ( S32 -2147483646 )
  3370. pushvar Var4 ; StackCount = 9
  3371. call REGQUERYDWORDVALUE
  3372. pop ; StackCount = 8
  3373. pop ; StackCount = 7
  3374. pop ; StackCount = 6
  3375. pop ; StackCount = 5
  3376. pop ; StackCount = 4
  3377. logicalnot Var4
  3378. setflag not Var4
  3379. pop ; StackCount = 3
  3380. jumpflag loc_284
  3381. assign Var1, ( S32 -1 )
  3382. loc_284:
  3383. jump loc_882
  3384. loc_289:
  3385. compare Var3, ( U8 3 ) == Var2
  3386. jumpfalse Var3, loc_37b
  3387. pushtype BOOLEAN ; StackCount = 4
  3388. pushtype Pointer ; StackCount = 5
  3389. setptr Var5, Var1
  3390. pushtype UnicodeString ; StackCount = 6
  3391. assign Var6, ( String "SP" )
  3392. pushtype UnicodeString ; StackCount = 7
  3393. pushtype UnicodeString ; StackCount = 8
  3394. assign Var8, ( String "Software\Microsoft\NET Framework Setup\NDP\v3.0" )
  3395. calculate Var8 + Arg2
  3396. assign Var7, Var8
  3397. pop ; StackCount = 7
  3398. pushtype S32 ; StackCount = 8
  3399. assign Var8, ( S32 -2147483646 )
  3400. pushvar Var4 ; StackCount = 9
  3401. call REGQUERYDWORDVALUE
  3402. pop ; StackCount = 8
  3403. pop ; StackCount = 7
  3404. pop ; StackCount = 6
  3405. pop ; StackCount = 5
  3406. pop ; StackCount = 4
  3407. logicalnot Var4
  3408. setflag not Var4
  3409. pop ; StackCount = 3
  3410. jumpflag loc_376
  3411. assign Var1, ( S32 -1 )
  3412. loc_376:
  3413. jump loc_882
  3414. loc_37b:
  3415. compare Var3, ( U8 4 ) == Var2
  3416. jumpfalse Var3, loc_46d
  3417. pushtype BOOLEAN ; StackCount = 4
  3418. pushtype Pointer ; StackCount = 5
  3419. setptr Var5, Var1
  3420. pushtype UnicodeString ; StackCount = 6
  3421. assign Var6, ( String "SP" )
  3422. pushtype UnicodeString ; StackCount = 7
  3423. pushtype UnicodeString ; StackCount = 8
  3424. assign Var8, ( String "Software\Microsoft\NET Framework Setup\NDP\v3.5" )
  3425. calculate Var8 + Arg2
  3426. assign Var7, Var8
  3427. pop ; StackCount = 7
  3428. pushtype S32 ; StackCount = 8
  3429. assign Var8, ( S32 -2147483646 )
  3430. pushvar Var4 ; StackCount = 9
  3431. call REGQUERYDWORDVALUE
  3432. pop ; StackCount = 8
  3433. pop ; StackCount = 7
  3434. pop ; StackCount = 6
  3435. pop ; StackCount = 5
  3436. pop ; StackCount = 4
  3437. logicalnot Var4
  3438. setflag not Var4
  3439. pop ; StackCount = 3
  3440. jumpflag loc_468
  3441. assign Var1, ( S32 -1 )
  3442. loc_468:
  3443. jump loc_882
  3444. loc_46d:
  3445. compare Var3, ( U8 5 ) == Var2
  3446. jumpfalse Var3, loc_56b
  3447. pushtype BOOLEAN ; StackCount = 4
  3448. pushtype Pointer ; StackCount = 5
  3449. setptr Var5, Var1
  3450. pushtype UnicodeString ; StackCount = 6
  3451. assign Var6, ( String "Servicing" )
  3452. pushtype UnicodeString ; StackCount = 7
  3453. pushtype UnicodeString ; StackCount = 8
  3454. assign Var8, ( String "Software\Microsoft\NET Framework Setup\NDP\v4\Client" )
  3455. calculate Var8 + Arg2
  3456. assign Var7, Var8
  3457. pop ; StackCount = 7
  3458. pushtype S32 ; StackCount = 8
  3459. assign Var8, ( S32 -2147483646 )
  3460. pushvar Var4 ; StackCount = 9
  3461. call REGQUERYDWORDVALUE
  3462. pop ; StackCount = 8
  3463. pop ; StackCount = 7
  3464. pop ; StackCount = 6
  3465. pop ; StackCount = 5
  3466. pop ; StackCount = 4
  3467. logicalnot Var4
  3468. setflag not Var4
  3469. pop ; StackCount = 3
  3470. jumpflag loc_566
  3471. assign Var1, ( S32 -1 )
  3472. loc_566:
  3473. jump loc_882
  3474. loc_56b:
  3475. compare Var3, ( U8 6 ) == Var2
  3476. jumpfalse Var3, loc_667
  3477. pushtype BOOLEAN ; StackCount = 4
  3478. pushtype Pointer ; StackCount = 5
  3479. setptr Var5, Var1
  3480. pushtype UnicodeString ; StackCount = 6
  3481. assign Var6, ( String "Servicing" )
  3482. pushtype UnicodeString ; StackCount = 7
  3483. pushtype UnicodeString ; StackCount = 8
  3484. assign Var8, ( String "Software\Microsoft\NET Framework Setup\NDP\v4\Full" )
  3485. calculate Var8 + Arg2
  3486. assign Var7, Var8
  3487. pop ; StackCount = 7
  3488. pushtype S32 ; StackCount = 8
  3489. assign Var8, ( S32 -2147483646 )
  3490. pushvar Var4 ; StackCount = 9
  3491. call REGQUERYDWORDVALUE
  3492. pop ; StackCount = 8
  3493. pop ; StackCount = 7
  3494. pop ; StackCount = 6
  3495. pop ; StackCount = 5
  3496. pop ; StackCount = 4
  3497. logicalnot Var4
  3498. setflag not Var4
  3499. pop ; StackCount = 3
  3500. jumpflag loc_662
  3501. assign Var1, ( S32 -1 )
  3502. loc_662:
  3503. jump loc_882
  3504. loc_667:
  3505. compare Var3, ( U8 7 ) == Var2
  3506. jumpfalse Var3, loc_882
  3507. pushtype BOOLEAN ; StackCount = 4
  3508. pushtype Pointer ; StackCount = 5
  3509. setptr Var5, Var1
  3510. pushtype UnicodeString ; StackCount = 6
  3511. assign Var6, ( String "Release" )
  3512. pushtype UnicodeString ; StackCount = 7
  3513. pushtype UnicodeString ; StackCount = 8
  3514. assign Var8, ( String "Software\Microsoft\NET Framework Setup\NDP\v4\Full" )
  3515. calculate Var8 + Arg2
  3516. assign Var7, Var8
  3517. pop ; StackCount = 7
  3518. pushtype S32 ; StackCount = 8
  3519. assign Var8, ( S32 -2147483646 )
  3520. pushvar Var4 ; StackCount = 9
  3521. call REGQUERYDWORDVALUE
  3522. pop ; StackCount = 8
  3523. pop ; StackCount = 7
  3524. pop ; StackCount = 6
  3525. pop ; StackCount = 5
  3526. pop ; StackCount = 4
  3527. setflag not Var4
  3528. pop ; StackCount = 3
  3529. jumpflag loc_87d
  3530. pushtype BOOLEAN ; StackCount = 4
  3531. compare Var4, Var1 >= ( S32 394254 )
  3532. setflag not Var4
  3533. pop ; StackCount = 3
  3534. jumpflag loc_782
  3535. assign Var1, ( S32 61 )
  3536. jump loc_87d
  3537. loc_782:
  3538. pushtype BOOLEAN ; StackCount = 4
  3539. compare Var4, Var1 >= ( S32 393295 )
  3540. setflag not Var4
  3541. pop ; StackCount = 3
  3542. jumpflag loc_7bd
  3543. assign Var1, ( S32 60 )
  3544. jump loc_87d
  3545. loc_7bd:
  3546. pushtype BOOLEAN ; StackCount = 4
  3547. compare Var4, Var1 >= ( S32 379893 )
  3548. setflag not Var4
  3549. pop ; StackCount = 3
  3550. jumpflag loc_7f8
  3551. assign Var1, ( S32 52 )
  3552. jump loc_87d
  3553. loc_7f8:
  3554. pushtype BOOLEAN ; StackCount = 4
  3555. compare Var4, Var1 >= ( S32 378675 )
  3556. setflag not Var4
  3557. pop ; StackCount = 3
  3558. jumpflag loc_833
  3559. assign Var1, ( S32 51 )
  3560. jump loc_87d
  3561. loc_833:
  3562. pushtype BOOLEAN ; StackCount = 4
  3563. compare Var4, Var1 >= ( S32 378389 )
  3564. setflag not Var4
  3565. pop ; StackCount = 3
  3566. jumpflag loc_86e
  3567. assign Var1, ( S32 50 )
  3568. jump loc_87d
  3569. loc_86e:
  3570. assign Var1, ( S32 -1 )
  3571. loc_87d:
  3572. jump loc_882
  3573. loc_882:
  3574. pop ; StackCount = 2
  3575. pop ; StackCount = 1
  3576. assign RetVal, Var1
  3577. ret
  3578.  
  3579. Functions[130] = external stdcall returnsval msi.dll!MsiQueryProductStateW(out Arg1)
  3580.  
  3581. Functions[131] = exported BOOLEAN MSIPRODUCT(in UnicodeString Arg1)
  3582. pushtype S32 ; StackCount = 1
  3583. pushtype UnicodeString ; StackCount = 2
  3584. assign Var2, Arg1
  3585. pushvar Var1 ; StackCount = 3
  3586. call msi.dll!MsiQueryProductStateW
  3587. pop ; StackCount = 2
  3588. pop ; StackCount = 1
  3589. compare RetVal, Var1 == ( S32 5 )
  3590. pop ; StackCount = 0
  3591. ret
  3592.  
  3593. Functions[132] = exported void DOTNETFX461(in S32 Arg1)
  3594. pushtype BOOLEAN ; StackCount = 1
  3595. pushtype UnicodeString ; StackCount = 2
  3596. assign Var2, ( String "" )
  3597. pushtype U8 ; StackCount = 3
  3598. assign Var3, ( U8 7 )
  3599. pushvar Var1 ; StackCount = 4
  3600. call NETFXINSTALLED
  3601. pop ; StackCount = 3
  3602. pop ; StackCount = 2
  3603. pop ; StackCount = 1
  3604. logicalnot Var1
  3605. jumptrue Var1, loc_a4
  3606. pushtype BOOLEAN ; StackCount = 2
  3607. pushtype S32 ; StackCount = 3
  3608. pushtype UnicodeString ; StackCount = 4
  3609. assign Var4, ( String "" )
  3610. pushtype U8 ; StackCount = 5
  3611. assign Var5, ( U8 7 )
  3612. pushvar Var3 ; StackCount = 6
  3613. call NETFXSPVERSION
  3614. pop ; StackCount = 5
  3615. pop ; StackCount = 4
  3616. pop ; StackCount = 3
  3617. compare Var2, Var3 < Arg1
  3618. pop ; StackCount = 2
  3619. calculate Var1 | Var2
  3620. pop ; StackCount = 1
  3621. loc_a4:
  3622. setflag not Var1
  3623. pop ; StackCount = 0
  3624. jumpflag loc_269
  3625. pushtype BOOLEAN ; StackCount = 1
  3626. assign Var1, ( U8 0 )
  3627. pushtype BOOLEAN ; StackCount = 2
  3628. assign Var2, ( U8 0 )
  3629. pushtype UnicodeString ; StackCount = 3
  3630. assign Var3, ( String "http://download.microsoft.com/download/3/5/9/35980F81-60F4-4DE3-88FC-8F962B97253B/NDP461-KB3102438-Web.exe" )
  3631. pushtype UnicodeString ; StackCount = 4
  3632. pushtype UnicodeString ; StackCount = 5
  3633. assign Var5, ( String "dotnetfx461_size" )
  3634. pushvar Var4 ; StackCount = 6
  3635. call CUSTOMMESSAGE
  3636. pop ; StackCount = 5
  3637. pop ; StackCount = 4
  3638. pushtype UnicodeString ; StackCount = 5
  3639. pushtype UnicodeString ; StackCount = 6
  3640. assign Var6, ( String "dotnetfx461_title" )
  3641. pushvar Var5 ; StackCount = 7
  3642. call CUSTOMMESSAGE
  3643. pop ; StackCount = 6
  3644. pop ; StackCount = 5
  3645. pushtype UnicodeString ; StackCount = 6
  3646. pushtype UnicodeString ; StackCount = 7
  3647. pushtype UnicodeString ; StackCount = 8
  3648. pushtype UnicodeString ; StackCount = 9
  3649. assign Var9, ( String "dotnetfx461_lcid" )
  3650. pushvar Var8 ; StackCount = 10
  3651. call CUSTOMMESSAGE
  3652. pop ; StackCount = 9
  3653. pop ; StackCount = 8
  3654. assign Var7, Var8
  3655. pop ; StackCount = 7
  3656. calculate Var7 + ( String " /passive /norestart" )
  3657. assign Var6, Var7
  3658. pop ; StackCount = 6
  3659. pushtype UnicodeString ; StackCount = 7
  3660. assign Var7, ( String "dotnetfx461.exe" )
  3661. call ADDPRODUCT
  3662. pop ; StackCount = 6
  3663. pop ; StackCount = 5
  3664. pop ; StackCount = 4
  3665. pop ; StackCount = 3
  3666. pop ; StackCount = 2
  3667. pop ; StackCount = 1
  3668. pop ; StackCount = 0
  3669. loc_269:
  3670. ret
  3671.  
  3672. Functions[133] = exported void WMF40(in UnicodeString Arg1)
  3673. pushtype UnicodeString ; StackCount = 1
  3674. pushtype BOOLEAN ; StackCount = 2
  3675. pushtype Pointer ; StackCount = 3
  3676. setptr Var3, Var1
  3677. pushtype UnicodeString ; StackCount = 4
  3678. assign Var4, ( String "PowerShellVersion" )
  3679. pushtype UnicodeString ; StackCount = 5
  3680. assign Var5, ( String "Software\Microsoft\PowerShell\3\PowerShellEngine" )
  3681. pushtype S32 ; StackCount = 6
  3682. assign Var6, ( S32 -2147483646 )
  3683. pushvar Var2 ; StackCount = 7
  3684. call REGQUERYSTRINGVALUE
  3685. pop ; StackCount = 6
  3686. pop ; StackCount = 5
  3687. pop ; StackCount = 4
  3688. pop ; StackCount = 3
  3689. pop ; StackCount = 2
  3690. pop ; StackCount = 1
  3691. pushtype BOOLEAN ; StackCount = 2
  3692. pushtype S32 ; StackCount = 3
  3693. pushtype UnicodeString ; StackCount = 4
  3694. assign Var4, Arg1
  3695. pushtype UnicodeString ; StackCount = 5
  3696. assign Var5, Var1
  3697. pushvar Var3 ; StackCount = 6
  3698. call COMPAREVERSION
  3699. pop ; StackCount = 5
  3700. pop ; StackCount = 4
  3701. pop ; StackCount = 3
  3702. compare Var2, Var3 < ( S32 0 )
  3703. pop ; StackCount = 2
  3704. setflag not Var2
  3705. pop ; StackCount = 1
  3706. jumpflag loc_3f6
  3707. pushtype BOOLEAN ; StackCount = 2
  3708. pushvar Var2 ; StackCount = 3
  3709. call ISX86
  3710. pop ; StackCount = 2
  3711. setflag not Var2
  3712. pop ; StackCount = 1
  3713. jumpflag loc_28e
  3714. pushtype BOOLEAN ; StackCount = 2
  3715. assign Var2, ( U8 0 )
  3716. pushtype BOOLEAN ; StackCount = 3
  3717. assign Var3, ( U8 0 )
  3718. pushtype UnicodeString ; StackCount = 4
  3719. assign Var4, ( String "http://download.microsoft.com/download/3/D/6/3D61D262-8549-4769-A660-230B67E15B25/Windows6.1-KB2819745-x86-MultiPkg.msu" )
  3720. pushtype UnicodeString ; StackCount = 5
  3721. pushtype UnicodeString ; StackCount = 6
  3722. assign Var6, ( String "wmf40win61_x86_size" )
  3723. pushvar Var5 ; StackCount = 7
  3724. call CUSTOMMESSAGE
  3725. pop ; StackCount = 6
  3726. pop ; StackCount = 5
  3727. pushtype UnicodeString ; StackCount = 6
  3728. pushtype UnicodeString ; StackCount = 7
  3729. assign Var7, ( String "wmf40_title" )
  3730. pushvar Var6 ; StackCount = 8
  3731. call CUSTOMMESSAGE
  3732. pop ; StackCount = 7
  3733. pop ; StackCount = 6
  3734. pushtype UnicodeString ; StackCount = 7
  3735. assign Var7, ( String "/quiet /norestart" )
  3736. pushtype UnicodeString ; StackCount = 8
  3737. assign Var8, ( String "wmf40_61.msu" )
  3738. call ADDPRODUCT
  3739. pop ; StackCount = 7
  3740. pop ; StackCount = 6
  3741. pop ; StackCount = 5
  3742. pop ; StackCount = 4
  3743. pop ; StackCount = 3
  3744. pop ; StackCount = 2
  3745. pop ; StackCount = 1
  3746. jump loc_3f6
  3747. loc_28e:
  3748. pushtype BOOLEAN ; StackCount = 2
  3749. assign Var2, ( U8 0 )
  3750. pushtype BOOLEAN ; StackCount = 3
  3751. assign Var3, ( U8 0 )
  3752. pushtype UnicodeString ; StackCount = 4
  3753. assign Var4, ( String "http://download.microsoft.com/download/3/D/6/3D61D262-8549-4769-A660-230B67E15B25/Windows6.1-KB2819745-x64-MultiPkg.msu" )
  3754. pushtype UnicodeString ; StackCount = 5
  3755. pushtype UnicodeString ; StackCount = 6
  3756. assign Var6, ( String "wmf40win61_x64_size" )
  3757. pushvar Var5 ; StackCount = 7
  3758. call CUSTOMMESSAGE
  3759. pop ; StackCount = 6
  3760. pop ; StackCount = 5
  3761. pushtype UnicodeString ; StackCount = 6
  3762. pushtype UnicodeString ; StackCount = 7
  3763. assign Var7, ( String "wmf40_title" )
  3764. pushvar Var6 ; StackCount = 8
  3765. call CUSTOMMESSAGE
  3766. pop ; StackCount = 7
  3767. pop ; StackCount = 6
  3768. pushtype UnicodeString ; StackCount = 7
  3769. assign Var7, ( String "/quiet /norestart" )
  3770. pushtype UnicodeString ; StackCount = 8
  3771. assign Var8, ( String "wmf40_61.msu" )
  3772. call ADDPRODUCT
  3773. pop ; StackCount = 7
  3774. pop ; StackCount = 6
  3775. pop ; StackCount = 5
  3776. pop ; StackCount = 4
  3777. pop ; StackCount = 3
  3778. pop ; StackCount = 2
  3779. pop ; StackCount = 1
  3780. loc_3f6:
  3781. ret
  3782.  
  3783. Functions[134] = external stdcall returnsval setup:files:ISGetObj.dll!ForEachStart(in Arg1)
  3784.  
  3785. Functions[135] = external stdcall returnsval setup:files:ISGetObj.dll!ForEachGetNextItem(in Arg1)
  3786.  
  3787. Functions[136] = external stdcall returnsval setup:files:ISGetObj.dll!VBGetObject(out Arg1,in Arg2)
  3788.  
  3789. Functions[137] = external stdcall delayload returnsval setup:files:FSLFSXCFG.dll!OpenFSXCFG(out Arg1,out Arg2)
  3790.  
  3791. Functions[138] = external stdcall delayload returnsval setup:files:FSLFSXCFG.dll!AddEntryToFSXCFG(out Arg1,out Arg2)
  3792.  
  3793. Functions[139] = external stdcall returnsval setup:files:FSLInstallerLib.dll!1(out Arg1)
  3794.  
  3795. Functions[140] = external stdcall void setup:files:FSLInstallerLib.dll!2(out Arg1)
  3796.  
  3797. Functions[141] = external stdcall returnsval setup:files:FSLInstallerLib.dll!3(out Arg1)
  3798.  
  3799. Functions[142] = external stdcall returnsval files:FSLInstallerLib.dll!4(out Arg1)
  3800.  
  3801. Functions[143] = external stdcall returnsval setup:files:FSLInstallerLib.dll!5(out Arg1)
  3802.  
  3803. Functions[144] = external stdcall delayload returnsval uninstall:{app}\FSLInstallerLib.dll!6(out Arg1)
  3804.  
  3805. Functions[145] = external stdcall returnsval files:FSLInstallerLib.dll!7(out Arg1)
  3806.  
  3807. Functions[146] = exported Variant WMICONNECT(in UnicodeString Arg1)
  3808. pushtype S32 ; StackCount = 1
  3809. pushtype Pointer ; StackCount = 2
  3810. setptr Var2, RetVal
  3811. pushtype UnicodeString ; StackCount = 3
  3812. assign Var3, ( String "" )
  3813. pushtype UnicodeString ; StackCount = 4
  3814. pushtype UnicodeString ; StackCount = 5
  3815. assign Var5, ( String "winmgmts:{impersonationLevel=impersonate}!" )
  3816. calculate Var5 + Arg1
  3817. assign Var4, Var5
  3818. pop ; StackCount = 4
  3819. pushvar Var1 ; StackCount = 5
  3820. call setup:files:ISGetObj.dll!VBGetObject
  3821. pop ; StackCount = 4
  3822. pop ; StackCount = 3
  3823. pop ; StackCount = 2
  3824. pop ; StackCount = 1
  3825. pushtype BOOLEAN ; StackCount = 2
  3826. compare Var2, Var1 != ( S32 0 )
  3827. setflag not Var2
  3828. pop ; StackCount = 1
  3829. jumpflag loc_162
  3830. pushtype UnicodeString ; StackCount = 2
  3831. pushtype !OPENARRAYOFCONST ; StackCount = 3
  3832. pushtype !OPENARRAYOFCONST ; StackCount = 4
  3833. pushtype S32 ; StackCount = 5
  3834. assign Var5, ( S32 2 )
  3835. pushvar Var4 ; StackCount = 6
  3836. call SETARRAYLENGTH
  3837. pop ; StackCount = 5
  3838. pop ; StackCount = 4
  3839. setcopypointer Var4[0], Arg1
  3840. setcopypointer Var4[1], Var1
  3841. assign Var3, Var4
  3842. pop ; StackCount = 3
  3843. pushtype UnicodeString ; StackCount = 4
  3844. assign Var4, ( String "Error connecting to WMI %s: error %.8x" )
  3845. pushvar Var2 ; StackCount = 5
  3846. call FORMAT
  3847. pop ; StackCount = 4
  3848. pop ; StackCount = 3
  3849. pop ; StackCount = 2
  3850. call RAISEEXCEPTION
  3851. pop ; StackCount = 1
  3852. loc_162:
  3853. ret
  3854.  
  3855. Functions[147] = external void RAISEEXCEPTION(out Arg1)
  3856.  
  3857. Functions[148] = external returnsval FORMAT(out Arg1)
  3858.  
  3859. Functions[149] = exported Variant[] COMENUMERATE(in Variant Arg1)
  3860. pushtype Variant ; StackCount = 1
  3861. pushtype Variant ; StackCount = 2
  3862. pushtype S32 ; StackCount = 3
  3863. assign Var3, ( S32 0 )
  3864. pushtype BOOLEAN ; StackCount = 4
  3865. pushtype S32 ; StackCount = 5
  3866. pushtype Pointer ; StackCount = 6
  3867. setptr Var6, Var1
  3868. pushtype Pointer ; StackCount = 7
  3869. setptr Var7, Arg1
  3870. pushvar Var5 ; StackCount = 8
  3871. call setup:files:ISGetObj.dll!ForEachStart
  3872. pop ; StackCount = 7
  3873. pop ; StackCount = 6
  3874. pop ; StackCount = 5
  3875. compare Var4, Var5 == ( S32 0 )
  3876. pop ; StackCount = 4
  3877. setflag not Var4
  3878. pop ; StackCount = 3
  3879. jumpflag loc_12d
  3880. pushtype BOOLEAN ; StackCount = 4
  3881. loc_7e:
  3882. pushtype S32 ; StackCount = 5
  3883. pushtype Pointer ; StackCount = 6
  3884. setptr Var6, Var2
  3885. pushtype Pointer ; StackCount = 7
  3886. setptr Var7, Var1
  3887. pushvar Var5 ; StackCount = 8
  3888. call setup:files:ISGetObj.dll!ForEachGetNextItem
  3889. pop ; StackCount = 7
  3890. pop ; StackCount = 6
  3891. pop ; StackCount = 5
  3892. compare Var4, Var5 == ( S32 0 )
  3893. pop ; StackCount = 4
  3894. jumpfalse Var4, loc_12c
  3895. pushtype S32 ; StackCount = 5
  3896. assign Var5, Var3
  3897. calculate Var5 + ( S32 1 )
  3898. pushtype Pointer ; StackCount = 6
  3899. setptr Var6, RetVal
  3900. call SETARRAYLENGTH
  3901. pop ; StackCount = 5
  3902. pop ; StackCount = 4
  3903. assign RetVal[Var3], Var2
  3904. calculate Var3 + ( S32 1 )
  3905. jump loc_7e
  3906. loc_12c:
  3907. pop ; StackCount = 3
  3908. loc_12d:
  3909. ret
  3910.  
  3911. Functions[150] = exported Variant[] WMIQUERY(in Variant Arg1,in UnicodeString Arg2)
  3912. pushtype Variant ; StackCount = 1
  3913. pushtype !OPENARRAYOFVARIANT ; StackCount = 2
  3914. pushtype !OPENARRAYOFVARIANT ; StackCount = 3
  3915. pushtype S32 ; StackCount = 4
  3916. assign Var4, ( S32 3 )
  3917. pushvar Var3 ; StackCount = 5
  3918. call SETARRAYLENGTH
  3919. pop ; StackCount = 4
  3920. pop ; StackCount = 3
  3921. assign Var3[0], Arg2
  3922. pushtype Variant ; StackCount = 4
  3923. pushvar Var4 ; StackCount = 5
  3924. call NULL
  3925. pop ; StackCount = 4
  3926. assign Var3[1], Var4
  3927. pop ; StackCount = 3
  3928. assign Var3[2], ( S32 48 )
  3929. assign Var2, Var3
  3930. pop ; StackCount = 2
  3931. pushtype String ; StackCount = 3
  3932. assign Var3, ( String "ExecQuery" )
  3933. pushtype BOOLEAN ; StackCount = 4
  3934. assign Var4, ( U8 0 )
  3935. pushtype IDISPATCH ; StackCount = 5
  3936. assign Var5, Arg1
  3937. pushvar Var1 ; StackCount = 6
  3938. call IDISPATCHINVOKE
  3939. pop ; StackCount = 5
  3940. pop ; StackCount = 4
  3941. pop ; StackCount = 3
  3942. pop ; StackCount = 2
  3943. pop ; StackCount = 1
  3944. pushvar RetVal ; StackCount = 2
  3945. call COMENUMERATE
  3946. pop ; StackCount = 1
  3947. pop ; StackCount = 0
  3948. ret
  3949.  
  3950. Functions[151] = external returnsval NULL()
  3951.  
  3952. Functions[152] = external returnsval IDISPATCHINVOKE(out Arg1,out Arg2)
  3953.  
  3954. Functions[153] = exported BOOLEAN RUN_ESELLERATEINSTALLER()
  3955. pushtype S32 ; StackCount = 1
  3956. pushtype UnicodeString ; StackCount = 2
  3957. assign Var2, ( String "FSL_eSellerate.exe" )
  3958. call EXTRACTTEMPORARYFILE
  3959. pop ; StackCount = 1
  3960. pushtype BOOLEAN ; StackCount = 2
  3961. pushtype Pointer ; StackCount = 3
  3962. setptr Var3, Var1
  3963. pushtype TEXECWAIT ; StackCount = 4
  3964. assign Var4, ( U8 1 )
  3965. pushtype S32 ; StackCount = 5
  3966. assign Var5, ( S32 5 )
  3967. pushtype UnicodeString ; StackCount = 6
  3968. assign Var6, ( String "" )
  3969. pushtype UnicodeString ; StackCount = 7
  3970. assign Var7, ( String "/verysilent" )
  3971. pushtype UnicodeString ; StackCount = 8
  3972. pushtype UnicodeString ; StackCount = 9
  3973. assign Var9, ( String "{tmp}\FSL_eSellerate.exe" )
  3974. pushvar Var8 ; StackCount = 10
  3975. call EXPANDCONSTANT
  3976. pop ; StackCount = 9
  3977. pop ; StackCount = 8
  3978. pushvar Var2 ; StackCount = 9
  3979. call EXEC
  3980. pop ; StackCount = 8
  3981. pop ; StackCount = 7
  3982. pop ; StackCount = 6
  3983. pop ; StackCount = 5
  3984. pop ; StackCount = 4
  3985. pop ; StackCount = 3
  3986. pop ; StackCount = 2
  3987. pop ; StackCount = 1
  3988. pushtype BOOLEAN ; StackCount = 2
  3989. compare Var2, Var1 > ( S32 0 )
  3990. setflag not Var2
  3991. pop ; StackCount = 1
  3992. jumpflag loc_1d7
  3993. pushtype S32 ; StackCount = 2
  3994. pushtype S32 ; StackCount = 3
  3995. assign Var3, ( S32 0 )
  3996. pushtype TMSGBOXTYPE ; StackCount = 4
  3997. assign Var4, ( U8 2 )
  3998. pushtype UnicodeString ; StackCount = 5
  3999. assign Var5, ( String "Could not install necessary eSellerate libraries.
  4000. Please contact Flight Sim Labs, Ltd. Support..." )
  4001. pushvar Var2 ; StackCount = 6
  4002. call MSGBOX
  4003. pop ; StackCount = 5
  4004. pop ; StackCount = 4
  4005. pop ; StackCount = 3
  4006. pop ; StackCount = 2
  4007. pop ; StackCount = 1
  4008. assign RetVal, ( U8 0 )
  4009. jump loc_1e3
  4010. loc_1d7:
  4011. assign RetVal, ( U8 1 )
  4012. loc_1e3:
  4013. ret
  4014.  
  4015. Functions[154] = exported void SENDLOGDATA()
  4016. pushtype UnicodeString ; StackCount = 1
  4017. pushtype UnicodeString ; StackCount = 2
  4018. pushtype Variant ; StackCount = 3
  4019. pushtype String ; StackCount = 4
  4020. pushtype UnicodeString ; StackCount = 5
  4021. pushtype UnicodeString ; StackCount = 6
  4022. pushtype S32 ; StackCount = 7
  4023. pushtype BOOLEAN ; StackCount = 8
  4024. pushtype BOOLEAN ; StackCount = 9
  4025. pusheh 0xffffffff, 0x631, 0xffffffff, 0x633
  4026. pushtype UnicodeString ; StackCount = 10
  4027. assign Var10, ( String "{tmp}\Test.exe" )
  4028. pushvar Var5 ; StackCount = 11
  4029. call EXPANDCONSTANT
  4030. pop ; StackCount = 10
  4031. pop ; StackCount = 9
  4032. pushtype UnicodeString ; StackCount = 10
  4033. assign Var10, ( String "-o \"{tmp}\Log.txt\"" )
  4034. pushvar Var6 ; StackCount = 11
  4035. call EXPANDCONSTANT
  4036. pop ; StackCount = 10
  4037. pop ; StackCount = 9
  4038. pushtype UnicodeString ; StackCount = 10
  4039. assign Var10, ( String "Test.exe" )
  4040. call EXTRACTTEMPORARYFILE
  4041. pop ; StackCount = 9
  4042. pushtype Pointer ; StackCount = 10
  4043. setptr Var10, Var7
  4044. pushtype TEXECWAIT ; StackCount = 11
  4045. assign Var11, ( U8 1 )
  4046. pushtype S32 ; StackCount = 12
  4047. assign Var12, ( S32 0 )
  4048. pushtype UnicodeString ; StackCount = 13
  4049. assign Var13, ( String "" )
  4050. pushtype UnicodeString ; StackCount = 14
  4051. assign Var14, Var6
  4052. pushtype UnicodeString ; StackCount = 15
  4053. assign Var15, Var5
  4054. pushtype UnicodeString ; StackCount = 16
  4055. assign Var16, ( String "" )
  4056. pushvar Var8 ; StackCount = 17
  4057. call SHELLEXEC
  4058. pop ; StackCount = 16
  4059. pop ; StackCount = 15
  4060. pop ; StackCount = 14
  4061. pop ; StackCount = 13
  4062. pop ; StackCount = 12
  4063. pop ; StackCount = 11
  4064. pop ; StackCount = 10
  4065. pop ; StackCount = 9
  4066. pushtype UnicodeString ; StackCount = 10
  4067. assign Var10, ( String "{tmp}\base64.exe" )
  4068. pushvar Var5 ; StackCount = 11
  4069. call EXPANDCONSTANT
  4070. pop ; StackCount = 10
  4071. pop ; StackCount = 9
  4072. pushtype UnicodeString ; StackCount = 10
  4073. assign Var10, ( String "-e \"{tmp}\Log.txt\" \"{tmp}\Log.b64\"" )
  4074. pushvar Var6 ; StackCount = 11
  4075. call EXPANDCONSTANT
  4076. pop ; StackCount = 10
  4077. pop ; StackCount = 9
  4078. pushtype UnicodeString ; StackCount = 10
  4079. assign Var10, ( String "base64.exe" )
  4080. call EXTRACTTEMPORARYFILE
  4081. pop ; StackCount = 9
  4082. pushtype Pointer ; StackCount = 10
  4083. setptr Var10, Var7
  4084. pushtype TEXECWAIT ; StackCount = 11
  4085. assign Var11, ( U8 1 )
  4086. pushtype S32 ; StackCount = 12
  4087. assign Var12, ( S32 0 )
  4088. pushtype UnicodeString ; StackCount = 13
  4089. assign Var13, ( String "" )
  4090. pushtype UnicodeString ; StackCount = 14
  4091. assign Var14, Var6
  4092. pushtype UnicodeString ; StackCount = 15
  4093. assign Var15, Var5
  4094. pushtype UnicodeString ; StackCount = 16
  4095. assign Var16, ( String "" )
  4096. pushvar Var8 ; StackCount = 17
  4097. call SHELLEXEC
  4098. pop ; StackCount = 16
  4099. pop ; StackCount = 15
  4100. pop ; StackCount = 14
  4101. pop ; StackCount = 13
  4102. pop ; StackCount = 12
  4103. pop ; StackCount = 11
  4104. pop ; StackCount = 10
  4105. pop ; StackCount = 9
  4106. pushtype Pointer ; StackCount = 10
  4107. setptr Var10, Var4
  4108. pushtype UnicodeString ; StackCount = 11
  4109. pushtype UnicodeString ; StackCount = 12
  4110. assign Var12, ( String "{tmp}\Log.b64" )
  4111. pushvar Var11 ; StackCount = 13
  4112. call EXPANDCONSTANT
  4113. pop ; StackCount = 12
  4114. pop ; StackCount = 11
  4115. pushvar Var9 ; StackCount = 12
  4116. call LOADSTRINGFROMFILE
  4117. pop ; StackCount = 11
  4118. pop ; StackCount = 10
  4119. pop ; StackCount = 9
  4120. pushtype BOOLEAN ; StackCount = 10
  4121. assign Var10, Var9
  4122. setflag not Var10
  4123. pop ; StackCount = 9
  4124. jumpflag loc_327
  4125. pushtype UnicodeString ; StackCount = 10
  4126. assign Var10, Var1
  4127. calculate Var10 + ( String "LogTxt=" )
  4128. calculate Var10 + Var4
  4129. assign Var1, Var10
  4130. pop ; StackCount = 9
  4131. loc_327:
  4132. pushtype IDISPATCH ; StackCount = 10
  4133. pushtype UnicodeString ; StackCount = 11
  4134. assign Var11, ( String "WinHttp.WinHttpRequest.5.1" )
  4135. pushvar Var10 ; StackCount = 12
  4136. call CREATEOLEOBJECT
  4137. pop ; StackCount = 11
  4138. pop ; StackCount = 10
  4139. assign Var3, Var10
  4140. pop ; StackCount = 9
  4141. pushtype Variant ; StackCount = 10
  4142. pushtype !OPENARRAYOFVARIANT ; StackCount = 11
  4143. pushtype !OPENARRAYOFVARIANT ; StackCount = 12
  4144. pushtype S32 ; StackCount = 13
  4145. assign Var13, ( S32 3 )
  4146. pushvar Var12 ; StackCount = 14
  4147. call SETARRAYLENGTH
  4148. pop ; StackCount = 13
  4149. pop ; StackCount = 12
  4150. assign Var12[0], ( String "POST" )
  4151. assign Var12[1], ( String "http://installLog.flightsimlabs.com/LogHandler3.ashx" )
  4152. assign Var12[2], ( U8 0 )
  4153. assign Var11, Var12
  4154. pop ; StackCount = 11
  4155. pushtype String ; StackCount = 12
  4156. assign Var12, ( String "Open" )
  4157. pushtype BOOLEAN ; StackCount = 13
  4158. assign Var13, ( U8 0 )
  4159. pushtype IDISPATCH ; StackCount = 14
  4160. assign Var14, Var3
  4161. pushvar Var10 ; StackCount = 15
  4162. call IDISPATCHINVOKE
  4163. pop ; StackCount = 14
  4164. pop ; StackCount = 13
  4165. pop ; StackCount = 12
  4166. pop ; StackCount = 11
  4167. pop ; StackCount = 10
  4168. pop ; StackCount = 9
  4169. pushtype Variant ; StackCount = 10
  4170. pushtype !OPENARRAYOFVARIANT ; StackCount = 11
  4171. pushtype !OPENARRAYOFVARIANT ; StackCount = 12
  4172. pushtype S32 ; StackCount = 13
  4173. assign Var13, ( S32 2 )
  4174. pushvar Var12 ; StackCount = 14
  4175. call SETARRAYLENGTH
  4176. pop ; StackCount = 13
  4177. pop ; StackCount = 12
  4178. assign Var12[0], ( String "Content-Type" )
  4179. assign Var12[1], ( String "application/x-www-form-urlencoded" )
  4180. assign Var11, Var12
  4181. pop ; StackCount = 11
  4182. pushtype String ; StackCount = 12
  4183. assign Var12, ( String "SetRequestHeader" )
  4184. pushtype BOOLEAN ; StackCount = 13
  4185. assign Var13, ( U8 0 )
  4186. pushtype IDISPATCH ; StackCount = 14
  4187. assign Var14, Var3
  4188. pushvar Var10 ; StackCount = 15
  4189. call IDISPATCHINVOKE
  4190. pop ; StackCount = 14
  4191. pop ; StackCount = 13
  4192. pop ; StackCount = 12
  4193. pop ; StackCount = 11
  4194. pop ; StackCount = 10
  4195. pop ; StackCount = 9
  4196. pushtype Variant ; StackCount = 10
  4197. pushtype !OPENARRAYOFVARIANT ; StackCount = 11
  4198. pushtype !OPENARRAYOFVARIANT ; StackCount = 12
  4199. pushtype S32 ; StackCount = 13
  4200. assign Var13, ( S32 1 )
  4201. pushvar Var12 ; StackCount = 14
  4202. call SETARRAYLENGTH
  4203. pop ; StackCount = 13
  4204. pop ; StackCount = 12
  4205. assign Var12[0], Var1
  4206. assign Var11, Var12
  4207. pop ; StackCount = 11
  4208. pushtype String ; StackCount = 12
  4209. assign Var12, ( String "Send" )
  4210. pushtype BOOLEAN ; StackCount = 13
  4211. assign Var13, ( U8 0 )
  4212. pushtype IDISPATCH ; StackCount = 14
  4213. assign Var14, Var3
  4214. pushvar Var10 ; StackCount = 15
  4215. call IDISPATCHINVOKE
  4216. pop ; StackCount = 14
  4217. pop ; StackCount = 13
  4218. pop ; StackCount = 12
  4219. pop ; StackCount = 11
  4220. pop ; StackCount = 10
  4221. pop ; StackCount = 9
  4222. pushtype BOOLEAN ; StackCount = 10
  4223. pushtype UnicodeString ; StackCount = 11
  4224. pushtype UnicodeString ; StackCount = 12
  4225. assign Var12, ( String "{tmp}\Log.b64" )
  4226. pushvar Var11 ; StackCount = 13
  4227. call EXPANDCONSTANT
  4228. pop ; StackCount = 12
  4229. pop ; StackCount = 11
  4230. pushvar Var10 ; StackCount = 12
  4231. call DELETEFILE
  4232. pop ; StackCount = 11
  4233. pop ; StackCount = 10
  4234. pop ; StackCount = 9
  4235. pushtype BOOLEAN ; StackCount = 10
  4236. pushtype UnicodeString ; StackCount = 11
  4237. pushtype UnicodeString ; StackCount = 12
  4238. assign Var12, ( String "{tmp}\Log.txt" )
  4239. pushvar Var11 ; StackCount = 13
  4240. call EXPANDCONSTANT
  4241. pop ; StackCount = 12
  4242. pop ; StackCount = 11
  4243. pushvar Var10 ; StackCount = 12
  4244. call DELETEFILE
  4245. pop ; StackCount = 11
  4246. pop ; StackCount = 10
  4247. pop ; StackCount = 9
  4248. popeh 0x0
  4249. popeh 0x2
  4250. ret
  4251.  
  4252. Functions[155] = external returnsval LOADSTRINGFROMFILE(out Arg1)
  4253.  
  4254. Functions[156] = external returnsval CREATEOLEOBJECT(out Arg1)
  4255.  
  4256. Functions[157] = external returnsval DELETEFILE(out Arg1)
  4257.  
  4258. Functions[158] = exported void ADDADDONINSTALLPATHTOREGISTRY()
  4259. pushtype UnicodeString ; StackCount = 1
  4260. pushtype BOOLEAN ; StackCount = 2
  4261. pushtype UnicodeString ; StackCount = 3
  4262. pushtype S32 ; StackCount = 4
  4263. pushtype UnicodeString ; StackCount = 5
  4264. assign Var5, ( String "" )
  4265. call LOG
  4266. pop ; StackCount = 4
  4267. pushtype UnicodeString ; StackCount = 5
  4268. assign Var5, ( String "Adding FSLabs A32X Aircraft Family Addons path to registry..." )
  4269. call LOG
  4270. pop ; StackCount = 4
  4271. pushtype UnicodeString ; StackCount = 5
  4272. assign Var5, Global7
  4273. pushtype UnicodeString ; StackCount = 6
  4274. assign Var6, ( String "Path" )
  4275. pushtype UnicodeString ; StackCount = 7
  4276. assign Var7, Global41
  4277. pushtype S32 ; StackCount = 8
  4278. assign Var8, ( S32 -2147483647 )
  4279. pushvar Var2 ; StackCount = 9
  4280. call REGWRITESTRINGVALUE
  4281. pop ; StackCount = 8
  4282. pop ; StackCount = 7
  4283. pop ; StackCount = 6
  4284. pop ; StackCount = 5
  4285. pop ; StackCount = 4
  4286. pushtype BOOLEAN ; StackCount = 5
  4287. assign Var5, Var2
  4288. logicalnot Var5
  4289. setflag not Var5
  4290. pop ; StackCount = 4
  4291. jumpflag loc_139
  4292. assign Var3, ( String " Failed..." )
  4293. pushtype UnicodeString ; StackCount = 5
  4294. assign Var5, Var3
  4295. call LOG
  4296. pop ; StackCount = 4
  4297. jump loc_16c
  4298. loc_139:
  4299. assign Var3, ( String " Succeeded..." )
  4300. pushtype UnicodeString ; StackCount = 5
  4301. assign Var5, Var3
  4302. call LOG
  4303. pop ; StackCount = 4
  4304. loc_16c:
  4305. ret
  4306.  
  4307. Functions[159] = exported void REMOVEADDONINSTALLPATHFROMREGISTRY()
  4308. pushtype UnicodeString ; StackCount = 1
  4309. pushtype BOOLEAN ; StackCount = 2
  4310. pushtype UnicodeString ; StackCount = 3
  4311. pushtype S32 ; StackCount = 4
  4312. pushtype UnicodeString ; StackCount = 5
  4313. assign Var5, ( String "" )
  4314. call LOG
  4315. pop ; StackCount = 4
  4316. pushtype UnicodeString ; StackCount = 5
  4317. assign Var5, ( String "Removing FSLabs A32X Aircraft Family Addons path from registry..." )
  4318. call LOG
  4319. pop ; StackCount = 4
  4320. pushtype UnicodeString ; StackCount = 5
  4321. assign Var5, ( String "Path" )
  4322. pushtype UnicodeString ; StackCount = 6
  4323. assign Var6, Global41
  4324. pushtype S32 ; StackCount = 7
  4325. assign Var7, ( S32 -2147483647 )
  4326. pushvar Var2 ; StackCount = 8
  4327. call REGDELETEVALUE
  4328. pop ; StackCount = 7
  4329. pop ; StackCount = 6
  4330. pop ; StackCount = 5
  4331. pop ; StackCount = 4
  4332. pushtype BOOLEAN ; StackCount = 5
  4333. assign Var5, Var2
  4334. logicalnot Var5
  4335. setflag not Var5
  4336. pop ; StackCount = 4
  4337. jumpflag loc_12c
  4338. assign Var3, ( String " Failed..." )
  4339. pushtype UnicodeString ; StackCount = 5
  4340. assign Var5, Var3
  4341. call LOG
  4342. pop ; StackCount = 4
  4343. jump loc_15f
  4344. loc_12c:
  4345. assign Var3, ( String " Succeeded..." )
  4346. pushtype UnicodeString ; StackCount = 5
  4347. assign Var5, Var3
  4348. call LOG
  4349. pop ; StackCount = 4
  4350. loc_15f:
  4351. ret
  4352.  
  4353. Functions[160] = external returnsval REGDELETEVALUE(out Arg1,out Arg2)
  4354.  
  4355. Functions[161] = exported void ADDONFOLDER_ACTIVATE(in TWIZARDPAGE Arg1)
  4356. pushtype TINPUTDIRWIZARDPAGE ; StackCount = 1
  4357. pushtype U32 ; StackCount = 2
  4358. assign Var2, ( U32 53 )
  4359. pushtype TWIZARDPAGE ; StackCount = 3
  4360. assign Var3, Arg1
  4361. pushvar Var1 ; StackCount = 4
  4362. call Class->CastToType
  4363. pop ; StackCount = 3
  4364. pop ; StackCount = 2
  4365. pop ; StackCount = 1
  4366. ret
  4367.  
  4368. Functions[162] = external pascal returnsval Class->CastToType(out Arg1,out Arg2)
  4369.  
  4370. Functions[163] = exported BOOLEAN ADDONFOLDER_SHOULDSKIPPAGE(in TWIZARDPAGE Arg1)
  4371. pushtype TINPUTDIRWIZARDPAGE ; StackCount = 1
  4372. pushtype U32 ; StackCount = 2
  4373. assign Var2, ( U32 53 )
  4374. pushtype TWIZARDPAGE ; StackCount = 3
  4375. assign Var3, Arg1
  4376. pushvar Var1 ; StackCount = 4
  4377. call Class->CastToType
  4378. pop ; StackCount = 3
  4379. pop ; StackCount = 2
  4380. pop ; StackCount = 1
  4381. assign RetVal, ( U8 0 )
  4382. ret
  4383.  
  4384. Functions[164] = exported BOOLEAN ADDONFOLDER_NEXTBUTTONCLICK(in TWIZARDPAGE Arg1)
  4385. pushtype TINPUTDIRWIZARDPAGE ; StackCount = 1
  4386. pushtype UnicodeString ; StackCount = 2
  4387. pushtype U32 ; StackCount = 3
  4388. assign Var3, ( U32 53 )
  4389. pushtype TWIZARDPAGE ; StackCount = 4
  4390. assign Var4, Arg1
  4391. pushvar Var1 ; StackCount = 5
  4392. call Class->CastToType
  4393. pop ; StackCount = 4
  4394. pop ; StackCount = 3
  4395. pop ; StackCount = 2
  4396. pushtype UnicodeString ; StackCount = 3
  4397. pushtype S32 ; StackCount = 4
  4398. assign Var4, ( S32 0 )
  4399. pushtype TINPUTDIRWIZARDPAGE ; StackCount = 5
  4400. assign Var5, Var1
  4401. pushvar Var3 ; StackCount = 6
  4402. call TINPUTDIRWIZARDPAGE->VALUES
  4403. pop ; StackCount = 5
  4404. pop ; StackCount = 4
  4405. pop ; StackCount = 3
  4406. pushvar Var2 ; StackCount = 4
  4407. call TRIM
  4408. pop ; StackCount = 3
  4409. pop ; StackCount = 2
  4410. pushtype BOOLEAN ; StackCount = 3
  4411. compare Var3, Var2 == ( String "" )
  4412. setflag not Var3
  4413. pop ; StackCount = 2
  4414. jumpflag loc_138
  4415. pushtype S32 ; StackCount = 3
  4416. pushtype S32 ; StackCount = 4
  4417. assign Var4, ( S32 0 )
  4418. pushtype TMSGBOXTYPE ; StackCount = 5
  4419. assign Var5, ( U8 2 )
  4420. pushtype UnicodeString ; StackCount = 6
  4421. assign Var6, ( String "The installation path cannot be blank. Please reenter." )
  4422. pushvar Var3 ; StackCount = 7
  4423. call MSGBOX
  4424. pop ; StackCount = 6
  4425. pop ; StackCount = 5
  4426. pop ; StackCount = 4
  4427. pop ; StackCount = 3
  4428. pop ; StackCount = 2
  4429. assign RetVal, ( U8 0 )
  4430. ret
  4431. loc_138:
  4432. assign Global7, Var2
  4433. assign RetVal, ( U8 1 )
  4434. ret
  4435.  
  4436. Functions[165] = external returnsval TRIM(out Arg1)
  4437.  
  4438. Functions[166] = external cdecl void TINPUTDIRWIZARDPAGE->VALUES(out Arg1)
  4439.  
  4440. Functions[167] = exported void ADDONFOLDER_CANCELBUTTONCLICK(in TWIZARDPAGE Arg1,out BOOLEAN Arg2,out BOOLEAN Arg3)
  4441. pushtype TINPUTDIRWIZARDPAGE ; StackCount = 1
  4442. pushtype U32 ; StackCount = 2
  4443. assign Var2, ( U32 53 )
  4444. pushtype TWIZARDPAGE ; StackCount = 3
  4445. assign Var3, Arg1
  4446. pushvar Var1 ; StackCount = 4
  4447. call Class->CastToType
  4448. pop ; StackCount = 3
  4449. pop ; StackCount = 2
  4450. pop ; StackCount = 1
  4451. ret
  4452.  
  4453. Functions[168] = exported S32 CREATEPAGE_ADDONFOLDER(in S32 Arg1)
  4454. pushtype TINPUTDIRWIZARDPAGE ; StackCount = 1
  4455. pushtype UnicodeString ; StackCount = 2
  4456. pushtype UnicodeString ; StackCount = 3
  4457. assign Var3, ( String "New Folder" )
  4458. pushtype BOOLEAN ; StackCount = 4
  4459. assign Var4, ( U8 0 )
  4460. pushtype UnicodeString ; StackCount = 5
  4461. pushtype UnicodeString ; StackCount = 6
  4462. assign Var6, ( String "{cm:AddonFolderInputQuerySubcaption}" )
  4463. pushvar Var5 ; StackCount = 7
  4464. call EXPANDCONSTANT
  4465. pop ; StackCount = 6
  4466. pop ; StackCount = 5
  4467. pushtype UnicodeString ; StackCount = 6
  4468. pushtype UnicodeString ; StackCount = 7
  4469. assign Var7, ( String "{cm:AddonFolderDescription}" )
  4470. pushvar Var6 ; StackCount = 8
  4471. call EXPANDCONSTANT
  4472. pop ; StackCount = 7
  4473. pop ; StackCount = 6
  4474. pushtype UnicodeString ; StackCount = 7
  4475. pushtype UnicodeString ; StackCount = 8
  4476. assign Var8, ( String "{cm:AddonFolderCaption}" )
  4477. pushvar Var7 ; StackCount = 9
  4478. call EXPANDCONSTANT
  4479. pop ; StackCount = 8
  4480. pop ; StackCount = 7
  4481. pushtype S32 ; StackCount = 8
  4482. assign Var8, Arg1
  4483. pushvar Var1 ; StackCount = 9
  4484. call CREATEINPUTDIRPAGE
  4485. pop ; StackCount = 8
  4486. pop ; StackCount = 7
  4487. pop ; StackCount = 6
  4488. pop ; StackCount = 5
  4489. pop ; StackCount = 4
  4490. pop ; StackCount = 3
  4491. pop ; StackCount = 2
  4492. assign Var2, ( String "Please select the folder to install the add-on:" )
  4493. pushtype BOOLEAN ; StackCount = 3
  4494. assign Var3, Global40
  4495. logicalnot Var3
  4496. setflag not Var3
  4497. pop ; StackCount = 2
  4498. jumpflag loc_1b3
  4499. assign Var2, ( String "The add-on will be installed in:" )
  4500. loc_1b3:
  4501. pushtype S32 ; StackCount = 3
  4502. pushtype UnicodeString ; StackCount = 4
  4503. assign Var4, Var2
  4504. pushtype TINPUTDIRWIZARDPAGE ; StackCount = 5
  4505. assign Var5, Var1
  4506. pushvar Var3 ; StackCount = 6
  4507. call TINPUTDIRWIZARDPAGE->ADD
  4508. pop ; StackCount = 5
  4509. pop ; StackCount = 4
  4510. pop ; StackCount = 3
  4511. pop ; StackCount = 2
  4512. pushtype TWIZARDPAGENOTIFYEVENT ; StackCount = 3
  4513. assign Var3, ( ProcPtr ADDONFOLDER_ACTIVATE )
  4514. pushtype TINPUTDIRWIZARDPAGE ; StackCount = 4
  4515. assign Var4, Var1
  4516. call TWIZARDPAGE->ONACTIVATE
  4517. pop ; StackCount = 3
  4518. pop ; StackCount = 2
  4519. pushtype TWIZARDPAGESHOULDSKIPEVENT ; StackCount = 3
  4520. assign Var3, ( ProcPtr ADDONFOLDER_SHOULDSKIPPAGE )
  4521. pushtype TINPUTDIRWIZARDPAGE ; StackCount = 4
  4522. assign Var4, Var1
  4523. call TWIZARDPAGE->ONSHOULDSKIPPAGE
  4524. pop ; StackCount = 3
  4525. pop ; StackCount = 2
  4526. pushtype TWIZARDPAGEBUTTONEVENT ; StackCount = 3
  4527. assign Var3, ( ProcPtr ADDONFOLDER_NEXTBUTTONCLICK )
  4528. pushtype TINPUTDIRWIZARDPAGE ; StackCount = 4
  4529. assign Var4, Var1
  4530. call TWIZARDPAGE->ONNEXTBUTTONCLICK
  4531. pop ; StackCount = 3
  4532. pop ; StackCount = 2
  4533. pushtype TWIZARDPAGECANCELEVENT ; StackCount = 3
  4534. assign Var3, ( ProcPtr ADDONFOLDER_CANCELBUTTONCLICK )
  4535. pushtype TINPUTDIRWIZARDPAGE ; StackCount = 4
  4536. assign Var4, Var1
  4537. call TWIZARDPAGE->ONCANCELBUTTONCLICK
  4538. pop ; StackCount = 3
  4539. pop ; StackCount = 2
  4540. assign Global38, Var1
  4541. pushtype UnicodeString ; StackCount = 3
  4542. assign Var3, Global7
  4543. pushtype S32 ; StackCount = 4
  4544. assign Var4, ( S32 0 )
  4545. pushtype TINPUTDIRWIZARDPAGE ; StackCount = 5
  4546. assign Var5, Global38
  4547. call TINPUTDIRWIZARDPAGE->VALUES
  4548. pop ; StackCount = 4
  4549. pop ; StackCount = 3
  4550. pop ; StackCount = 2
  4551. pushtype BOOLEAN ; StackCount = 3
  4552. assign Var3, Global40
  4553. pushtype TEDIT ; StackCount = 4
  4554. pushtype S32 ; StackCount = 5
  4555. assign Var5, ( S32 0 )
  4556. pushtype TINPUTDIRWIZARDPAGE ; StackCount = 6
  4557. assign Var6, Global38
  4558. pushvar Var4 ; StackCount = 7
  4559. call TINPUTDIRWIZARDPAGE->EDITS
  4560. pop ; StackCount = 6
  4561. pop ; StackCount = 5
  4562. pop ; StackCount = 4
  4563. call TCONTROL->ENABLED
  4564. pop ; StackCount = 3
  4565. pop ; StackCount = 2
  4566. pushtype BOOLEAN ; StackCount = 3
  4567. assign Var3, Global40
  4568. pushtype TNEWBUTTON ; StackCount = 4
  4569. pushtype S32 ; StackCount = 5
  4570. assign Var5, ( S32 0 )
  4571. pushtype TINPUTDIRWIZARDPAGE ; StackCount = 6
  4572. assign Var6, Global38
  4573. pushvar Var4 ; StackCount = 7
  4574. call TINPUTDIRWIZARDPAGE->BUTTONS
  4575. pop ; StackCount = 6
  4576. pop ; StackCount = 5
  4577. pop ; StackCount = 4
  4578. call TCONTROL->VISIBLE
  4579. pop ; StackCount = 3
  4580. pop ; StackCount = 2
  4581. pushtype TCOMPONENT ; StackCount = 3
  4582. pushtype TWIZARDFORM ; StackCount = 4
  4583. pushvar Var4 ; StackCount = 5
  4584. call WIZARDFORM
  4585. pop ; StackCount = 4
  4586. assign Var3, Var4
  4587. pop ; StackCount = 3
  4588. pushtype U32 ; StackCount = 4
  4589. assign Var4, ( U32 52 )
  4590. pushvar Global39 ; StackCount = 5
  4591. call TCONTROL->CREATE
  4592. pop ; StackCount = 4
  4593. pop ; StackCount = 3
  4594. pop ; StackCount = 2
  4595. pushtype TWINCONTROL ; StackCount = 3
  4596. pushtype TNEWNOTEBOOKPAGE ; StackCount = 4
  4597. pushtype TINPUTDIRWIZARDPAGE ; StackCount = 5
  4598. assign Var5, Global38
  4599. pushvar Var4 ; StackCount = 6
  4600. call TWIZARDPAGE->SURFACE
  4601. pop ; StackCount = 5
  4602. pop ; StackCount = 4
  4603. assign Var3, Var4
  4604. pop ; StackCount = 3
  4605. pushtype TNEWSTATICTEXT ; StackCount = 4
  4606. assign Var4, Global39
  4607. call TCONTROL->PARENT
  4608. pop ; StackCount = 3
  4609. pop ; StackCount = 2
  4610. pushtype S32 ; StackCount = 3
  4611. pushtype TEDIT ; StackCount = 4
  4612. pushtype S32 ; StackCount = 5
  4613. assign Var5, ( S32 0 )
  4614. pushtype TINPUTDIRWIZARDPAGE ; StackCount = 6
  4615. assign Var6, Global38
  4616. pushvar Var4 ; StackCount = 7
  4617. call TINPUTDIRWIZARDPAGE->EDITS
  4618. pop ; StackCount = 6
  4619. pop ; StackCount = 5
  4620. pop ; StackCount = 4
  4621. pushvar Var3 ; StackCount = 5
  4622. call TCONTROL->TOP
  4623. pop ; StackCount = 4
  4624. pop ; StackCount = 3
  4625. pushtype S32 ; StackCount = 4
  4626. assign Var4, ( S32 2 )
  4627. pushtype S32 ; StackCount = 5
  4628. pushtype TEDIT ; StackCount = 6
  4629. pushtype S32 ; StackCount = 7
  4630. assign Var7, ( S32 0 )
  4631. pushtype TINPUTDIRWIZARDPAGE ; StackCount = 8
  4632. assign Var8, Global38
  4633. pushvar Var6 ; StackCount = 9
  4634. call TINPUTDIRWIZARDPAGE->EDITS
  4635. pop ; StackCount = 8
  4636. pop ; StackCount = 7
  4637. pop ; StackCount = 6
  4638. pushvar Var5 ; StackCount = 7
  4639. call TCONTROL->HEIGHT
  4640. pop ; StackCount = 6
  4641. pop ; StackCount = 5
  4642. calculate Var4 * Var5
  4643. pop ; StackCount = 4
  4644. calculate Var3 + Var4
  4645. pop ; StackCount = 3
  4646. pushtype TNEWSTATICTEXT ; StackCount = 4
  4647. assign Var4, Global39
  4648. call TCONTROL->TOP
  4649. pop ; StackCount = 3
  4650. pop ; StackCount = 2
  4651. pushtype UnicodeString ; StackCount = 3
  4652. assign Var3, ( String "Path is not editable as there was a previous FSLabs aircraft installation detected.
  4653.  
  4654. If you wish to change the add-on installation path, you will need to remove all previous
  4655. FSLabs aircraft installations first." )
  4656. pushtype TNEWSTATICTEXT ; StackCount = 4
  4657. assign Var4, Global39
  4658. call TNEWSTATICTEXT->CAPTION
  4659. pop ; StackCount = 3
  4660. pop ; StackCount = 2
  4661. pushtype BOOLEAN ; StackCount = 3
  4662. assign Var3, Global40
  4663. logicalnot Var3
  4664. pushtype TNEWSTATICTEXT ; StackCount = 4
  4665. assign Var4, Global39
  4666. call TCONTROL->VISIBLE
  4667. pop ; StackCount = 3
  4668. pop ; StackCount = 2
  4669. pushtype TINPUTDIRWIZARDPAGE ; StackCount = 3
  4670. assign Var3, Var1
  4671. pushvar RetVal ; StackCount = 4
  4672. call TWIZARDPAGE->ID
  4673. pop ; StackCount = 3
  4674. pop ; StackCount = 2
  4675. ret
  4676.  
  4677. Functions[169] = external returnsval CREATEINPUTDIRPAGE(out Arg1,out Arg2,out Arg3)
  4678.  
  4679. Functions[170] = external register returnsval TINPUTDIRWIZARDPAGE->ADD(out Arg1)
  4680.  
  4681. Functions[171] = external pascal void TWIZARDPAGE->ONCANCELBUTTONCLICK(out Arg1)
  4682.  
  4683. Functions[172] = external cdecl void TINPUTDIRWIZARDPAGE->VALUES(out Arg1)
  4684.  
  4685. Functions[173] = external cdecl void TINPUTDIRWIZARDPAGE->EDITS(out Arg1)
  4686.  
  4687. Functions[174] = external cdecl void TINPUTDIRWIZARDPAGE->BUTTONS(out Arg1)
  4688.  
  4689. Functions[175] = external pascal void TCONTROL->VISIBLE(out Arg1)
  4690.  
  4691. Functions[176] = external register returnsval TCONTROL->CREATE(out Arg1)
  4692.  
  4693. Functions[177] = external pascal void TCONTROL->PARENT(out Arg1)
  4694.  
  4695. Functions[178] = external pascal void TCONTROL->TOP(out Arg1)
  4696.  
  4697. Functions[179] = external pascal void TCONTROL->HEIGHT(out Arg1)
  4698.  
  4699. Functions[180] = external pascal void TCONTROL->TOP(out Arg1)
  4700.  
  4701. Functions[181] = external pascal void TNEWSTATICTEXT->CAPTION(out Arg1)
  4702.  
  4703. Functions[182] = external pascal void TWIZARDPAGE->ID(out Arg1)
  4704.  
  4705. Functions[183] = exported void CHECKFORAMARTPB()
  4706. pushtype UnicodeString ; StackCount = 1
  4707. pushtype UnicodeString ; StackCount = 2
  4708. assign Var2, Global32
  4709. pushvar Var1 ; StackCount = 3
  4710. call UPPERCASE
  4711. pop ; StackCount = 2
  4712. pop ; StackCount = 1
  4713. pushtype BOOLEAN ; StackCount = 2
  4714. pushtype S32 ; StackCount = 3
  4715. pushtype UnicodeString ; StackCount = 4
  4716. assign Var4, ( String "AMAR TPB" )
  4717. pushtype UnicodeString ; StackCount = 5
  4718. assign Var5, Var1
  4719. pushvar Var3 ; StackCount = 6
  4720. call COMPARESTR
  4721. pop ; StackCount = 5
  4722. pop ; StackCount = 4
  4723. pop ; StackCount = 3
  4724. compare Var2, Var3 == ( S32 0 )
  4725. pop ; StackCount = 2
  4726. setflag not Var2
  4727. pop ; StackCount = 1
  4728. jumpflag loc_8e
  4729. call SENDLOGDATA
  4730. loc_8e:
  4731. ret
  4732.  
  4733. Functions[184] = external returnsval UPPERCASE(out Arg1)
  4734.  
  4735. Functions[185] = external returnsval COMPARESTR(out Arg1)
  4736.  
  4737. Functions[186] = exported void SERIALS_ACTIVATE(in TWIZARDPAGE Arg1)
  4738. pushtype TINPUTQUERYWIZARDPAGE ; StackCount = 1
  4739. pushtype U32 ; StackCount = 2
  4740. assign Var2, ( U32 51 )
  4741. pushtype TWIZARDPAGE ; StackCount = 3
  4742. assign Var3, Arg1
  4743. pushvar Var1 ; StackCount = 4
  4744. call Class->CastToType
  4745. pop ; StackCount = 3
  4746. pop ; StackCount = 2
  4747. pop ; StackCount = 1
  4748. pushtype UnicodeString ; StackCount = 2
  4749. assign Var2, ( String "" )
  4750. pushtype TNEWSTATICTEXT ; StackCount = 3
  4751. assign Var3, Global37
  4752. call TNEWSTATICTEXT->CAPTION
  4753. pop ; StackCount = 2
  4754. pop ; StackCount = 1
  4755. assign Global35, ( String "" )
  4756. pushtype UnicodeString ; StackCount = 2
  4757. assign Var2, ( String "" )
  4758. pushtype S32 ; StackCount = 3
  4759. assign Var3, ( S32 0 )
  4760. pushtype TINPUTQUERYWIZARDPAGE ; StackCount = 4
  4761. assign Var4, Var1
  4762. call TINPUTQUERYWIZARDPAGE->VALUES
  4763. pop ; StackCount = 3
  4764. pop ; StackCount = 2
  4765. pop ; StackCount = 1
  4766. ret
  4767.  
  4768. Functions[187] = external cdecl void TINPUTQUERYWIZARDPAGE->VALUES(out Arg1)
  4769.  
  4770. Functions[188] = exported BOOLEAN SERIALS_SHOULDSKIPPAGE(in TWIZARDPAGE Arg1)
  4771. pushtype TINPUTQUERYWIZARDPAGE ; StackCount = 1
  4772. pushtype U32 ; StackCount = 2
  4773. assign Var2, ( U32 51 )
  4774. pushtype TWIZARDPAGE ; StackCount = 3
  4775. assign Var3, Arg1
  4776. pushvar Var1 ; StackCount = 4
  4777. call Class->CastToType
  4778. pop ; StackCount = 3
  4779. pop ; StackCount = 2
  4780. pop ; StackCount = 1
  4781. assign RetVal, ( U8 0 )
  4782. ret
  4783.  
  4784. Functions[189] = exported BOOLEAN SERIALS_NEXTBUTTONCLICK(in TWIZARDPAGE Arg1)
  4785. pushtype TINPUTQUERYWIZARDPAGE ; StackCount = 1
  4786. pushtype UnicodeString ; StackCount = 2
  4787. pushtype UnicodeString ; StackCount = 3
  4788. pushtype BOOLEAN ; StackCount = 4
  4789. pushtype S32 ; StackCount = 5
  4790. pushtype UnicodeString ; StackCount = 6
  4791. pushtype UnicodeString ; StackCount = 7
  4792. pushtype BOOLEAN ; StackCount = 8
  4793. assign Var4, ( U8 0 )
  4794. pushtype U32 ; StackCount = 9
  4795. assign Var9, ( U32 51 )
  4796. pushtype TWIZARDPAGE ; StackCount = 10
  4797. assign Var10, Arg1
  4798. pushvar Var1 ; StackCount = 11
  4799. call Class->CastToType
  4800. pop ; StackCount = 10
  4801. pop ; StackCount = 9
  4802. pop ; StackCount = 8
  4803. pushtype UnicodeString ; StackCount = 9
  4804. pushtype S32 ; StackCount = 10
  4805. assign Var10, ( S32 0 )
  4806. pushtype TINPUTQUERYWIZARDPAGE ; StackCount = 11
  4807. assign Var11, Var1
  4808. pushvar Var9 ; StackCount = 12
  4809. call TINPUTQUERYWIZARDPAGE->VALUES
  4810. pop ; StackCount = 11
  4811. pop ; StackCount = 10
  4812. pop ; StackCount = 9
  4813. pushvar Global32 ; StackCount = 10
  4814. call TRIM
  4815. pop ; StackCount = 9
  4816. pop ; StackCount = 8
  4817. pushtype UnicodeString ; StackCount = 9
  4818. pushtype S32 ; StackCount = 10
  4819. assign Var10, ( S32 1 )
  4820. pushtype TINPUTQUERYWIZARDPAGE ; StackCount = 11
  4821. assign Var11, Var1
  4822. pushvar Var9 ; StackCount = 12
  4823. call TINPUTQUERYWIZARDPAGE->VALUES
  4824. pop ; StackCount = 11
  4825. pop ; StackCount = 10
  4826. pop ; StackCount = 9
  4827. pushvar Global33 ; StackCount = 10
  4828. call TRIM
  4829. pop ; StackCount = 9
  4830. pop ; StackCount = 8
  4831. pushtype UnicodeString ; StackCount = 9
  4832. pushtype S32 ; StackCount = 10
  4833. assign Var10, ( S32 2 )
  4834. pushtype TINPUTQUERYWIZARDPAGE ; StackCount = 11
  4835. assign Var11, Var1
  4836. pushvar Var9 ; StackCount = 12
  4837. call TINPUTQUERYWIZARDPAGE->VALUES
  4838. pop ; StackCount = 11
  4839. pop ; StackCount = 10
  4840. pop ; StackCount = 9
  4841. pushvar Var3 ; StackCount = 10
  4842. call TRIM
  4843. pop ; StackCount = 9
  4844. pop ; StackCount = 8
  4845. pushtype BOOLEAN ; StackCount = 9
  4846. compare Var9, Global32 == ( String "" )
  4847. setflag not Var9
  4848. pop ; StackCount = 8
  4849. jumpflag loc_1de
  4850. pushtype S32 ; StackCount = 9
  4851. pushtype S32 ; StackCount = 10
  4852. assign Var10, ( S32 0 )
  4853. pushtype TMSGBOXTYPE ; StackCount = 11
  4854. assign Var11, ( U8 2 )
  4855. pushtype UnicodeString ; StackCount = 12
  4856. assign Var12, ( String "Your name cannot be blank. Please reenter." )
  4857. pushvar Var9 ; StackCount = 13
  4858. call MSGBOX
  4859. pop ; StackCount = 12
  4860. pop ; StackCount = 11
  4861. pop ; StackCount = 10
  4862. pop ; StackCount = 9
  4863. pop ; StackCount = 8
  4864. assign RetVal, ( U8 0 )
  4865. ret
  4866. loc_1de:
  4867. pushtype BOOLEAN ; StackCount = 9
  4868. compare Var9, Global33 == ( String "" )
  4869. setflag not Var9
  4870. pop ; StackCount = 8
  4871. jumpflag loc_28e
  4872. pushtype S32 ; StackCount = 9
  4873. pushtype S32 ; StackCount = 10
  4874. assign Var10, ( S32 0 )
  4875. pushtype TMSGBOXTYPE ; StackCount = 11
  4876. assign Var11, ( U8 2 )
  4877. pushtype UnicodeString ; StackCount = 12
  4878. assign Var12, ( String "Your order ID cannot be blank. Please reenter." )
  4879. pushvar Var9 ; StackCount = 13
  4880. call MSGBOX
  4881. pop ; StackCount = 12
  4882. pop ; StackCount = 11
  4883. pop ; StackCount = 10
  4884. pop ; StackCount = 9
  4885. pop ; StackCount = 8
  4886. assign RetVal, ( U8 0 )
  4887. ret
  4888. loc_28e:
  4889. pushtype BOOLEAN ; StackCount = 9
  4890. pushtype String ; StackCount = 10
  4891. pushtype S32 ; StackCount = 11
  4892. assign Var11, ( S32 2 )
  4893. pushtype S32 ; StackCount = 12
  4894. assign Var12, ( S32 1 )
  4895. pushtype String ; StackCount = 13
  4896. pushtype UnicodeString ; StackCount = 14
  4897. pushtype UnicodeString ; StackCount = 15
  4898. assign Var15, Global33
  4899. pushvar Var14 ; StackCount = 16
  4900. call UPPERCASE
  4901. pop ; StackCount = 15
  4902. pop ; StackCount = 14
  4903. assign Var13, Var14
  4904. pop ; StackCount = 13
  4905. pushvar Var10 ; StackCount = 14
  4906. call COPY
  4907. pop ; StackCount = 13
  4908. pop ; StackCount = 12
  4909. pop ; StackCount = 11
  4910. pop ; StackCount = 10
  4911. compare Var9, Var10 != ( String "ST" )
  4912. pop ; StackCount = 9
  4913. setflag not Var9
  4914. pop ; StackCount = 8
  4915. jumpflag loc_3b1
  4916. pushtype S32 ; StackCount = 9
  4917. pushtype S32 ; StackCount = 10
  4918. assign Var10, ( S32 0 )
  4919. pushtype TMSGBOXTYPE ; StackCount = 11
  4920. assign Var11, ( U8 2 )
  4921. pushtype UnicodeString ; StackCount = 12
  4922. assign Var12, ( String "Your order ID starts with 'ST'. Please reenter." )
  4923. pushvar Var9 ; StackCount = 13
  4924. call MSGBOX
  4925. pop ; StackCount = 12
  4926. pop ; StackCount = 11
  4927. pop ; StackCount = 10
  4928. pop ; StackCount = 9
  4929. pop ; StackCount = 8
  4930. assign RetVal, ( U8 0 )
  4931. ret
  4932. loc_3b1:
  4933. pushtype BOOLEAN ; StackCount = 9
  4934. compare Var9, Var3 != ( String "" )
  4935. setflag not Var9
  4936. pop ; StackCount = 8
  4937. jumpflag loc_53c
  4938. assign Global35, Var3
  4939. pushtype S32 ; StackCount = 9
  4940. pushtype UnicodeString ; StackCount = 10
  4941. assign Var10, Global35
  4942. pushtype String ; StackCount = 11
  4943. assign Var11, ( String "A320X-P4D" )
  4944. pushvar Var9 ; StackCount = 12
  4945. call POS
  4946. pop ; StackCount = 11
  4947. pop ; StackCount = 10
  4948. pop ; StackCount = 9
  4949. compare Var8, Var9 == ( S32 1 )
  4950. pop ; StackCount = 8
  4951. pushtype BOOLEAN ; StackCount = 9
  4952. assign Var9, Var8
  4953. logicalnot Var9
  4954. jumptrue Var9, loc_4a3
  4955. pushtype BOOLEAN ; StackCount = 10
  4956. pushtype S32 ; StackCount = 11
  4957. pushtype String ; StackCount = 12
  4958. assign Var12, Global35
  4959. pushvar Var11 ; StackCount = 13
  4960. call setup:files:FSLInstallerLib.dll!1
  4961. pop ; StackCount = 12
  4962. pop ; StackCount = 11
  4963. compare Var10, Var11 < ( S32 2 )
  4964. pop ; StackCount = 10
  4965. calculate Var9 | Var10
  4966. pop ; StackCount = 9
  4967. loc_4a3:
  4968. setflag not Var9
  4969. pop ; StackCount = 8
  4970. jumpflag loc_537
  4971. pushtype S32 ; StackCount = 9
  4972. pushtype S32 ; StackCount = 10
  4973. assign Var10, ( S32 0 )
  4974. pushtype TMSGBOXTYPE ; StackCount = 11
  4975. assign Var11, ( U8 2 )
  4976. pushtype UnicodeString ; StackCount = 12
  4977. assign Var12, ( String "P3D Serial number incorrect. Please reenter." )
  4978. pushvar Var9 ; StackCount = 13
  4979. call MSGBOX
  4980. pop ; StackCount = 12
  4981. pop ; StackCount = 11
  4982. pop ; StackCount = 10
  4983. pop ; StackCount = 9
  4984. pop ; StackCount = 8
  4985. assign RetVal, ( U8 0 )
  4986. ret
  4987. loc_537:
  4988. jump loc_5bf
  4989. loc_53c:
  4990. pushtype S32 ; StackCount = 9
  4991. pushtype S32 ; StackCount = 10
  4992. assign Var10, ( S32 0 )
  4993. pushtype TMSGBOXTYPE ; StackCount = 11
  4994. assign Var11, ( U8 2 )
  4995. pushtype UnicodeString ; StackCount = 12
  4996. assign Var12, ( String "P3D Serial number missing. Please enter." )
  4997. pushvar Var9 ; StackCount = 13
  4998. call MSGBOX
  4999. pop ; StackCount = 12
  5000. pop ; StackCount = 11
  5001. pop ; StackCount = 10
  5002. pop ; StackCount = 9
  5003. pop ; StackCount = 8
  5004. assign RetVal, ( U8 0 )
  5005. ret
  5006. loc_5bf:
  5007. pushtype BOOLEAN ; StackCount = 9
  5008. compare Var9, Global35 != ( String "" )
  5009. setflag not Var9
  5010. pop ; StackCount = 8
  5011. jumpflag loc_5f7
  5012. assign RetVal, ( U8 1 )
  5013. jump loc_603
  5014. loc_5f7:
  5015. assign RetVal, ( U8 0 )
  5016. loc_603:
  5017. pushtype BOOLEAN ; StackCount = 9
  5018. assign Var9, RetVal
  5019. setflag not Var9
  5020. pop ; StackCount = 8
  5021. jumpflag loc_93a
  5022. call CHECKFORAMARTPB
  5023. pushtype UnicodeString ; StackCount = 9
  5024. assign Var9, ( String "Activating serial..." )
  5025. pushtype TNEWSTATICTEXT ; StackCount = 10
  5026. assign Var10, Global37
  5027. call TNEWSTATICTEXT->CAPTION
  5028. pop ; StackCount = 9
  5029. pop ; StackCount = 8
  5030. pushtype TNEWSTATICTEXT ; StackCount = 9
  5031. assign Var9, Global37
  5032. call TCONTROL->INVALIDATE
  5033. pop ; StackCount = 8
  5034. pushtype UnicodeString ; StackCount = 9
  5035. pushtype UnicodeString ; StackCount = 10
  5036. pushtype UnicodeString ; StackCount = 11
  5037. pushtype TNEWSTATICTEXT ; StackCount = 12
  5038. assign Var12, Global37
  5039. pushvar Var11 ; StackCount = 13
  5040. call TNEWSTATICTEXT->CAPTION
  5041. pop ; StackCount = 12
  5042. pop ; StackCount = 11
  5043. assign Var10, Var11
  5044. pop ; StackCount = 10
  5045. calculate Var10 + ( String " P3D v4... " )
  5046. assign Var9, Var10
  5047. pop ; StackCount = 9
  5048. pushtype TNEWSTATICTEXT ; StackCount = 10
  5049. assign Var10, Global37
  5050. call TNEWSTATICTEXT->CAPTION
  5051. pop ; StackCount = 9
  5052. pop ; StackCount = 8
  5053. pushtype BOOLEAN ; StackCount = 9
  5054. assign Var9, ( U8 1 )
  5055. pushtype String ; StackCount = 10
  5056. assign Var10, Global35
  5057. pushvar Var5 ; StackCount = 11
  5058. call setup:files:FSLInstallerLib.dll!5
  5059. pop ; StackCount = 10
  5060. pop ; StackCount = 9
  5061. pop ; StackCount = 8
  5062. pushtype BOOLEAN ; StackCount = 9
  5063. compare Var9, Var5 == ( S32 0 )
  5064. setflag not Var9
  5065. pop ; StackCount = 8
  5066. jumpflag loc_7df
  5067. pushtype BOOLEAN ; StackCount = 9
  5068. pushtype String ; StackCount = 10
  5069. assign Var10, Global35
  5070. pushvar Var9 ; StackCount = 11
  5071. call setup:files:FSLInstallerLib.dll!3
  5072. pop ; StackCount = 10
  5073. pop ; StackCount = 9
  5074. pop ; StackCount = 8
  5075. pushtype UnicodeString ; StackCount = 9
  5076. pushtype UnicodeString ; StackCount = 10
  5077. pushtype UnicodeString ; StackCount = 11
  5078. pushtype TNEWSTATICTEXT ; StackCount = 12
  5079. assign Var12, Global37
  5080. pushvar Var11 ; StackCount = 13
  5081. call TNEWSTATICTEXT->CAPTION
  5082. pop ; StackCount = 12
  5083. pop ; StackCount = 11
  5084. assign Var10, Var11
  5085. pop ; StackCount = 10
  5086. calculate Var10 + ( String " Done!" )
  5087. assign Var9, Var10
  5088. pop ; StackCount = 9
  5089. pushtype TNEWSTATICTEXT ; StackCount = 10
  5090. assign Var10, Global37
  5091. call TNEWSTATICTEXT->CAPTION
  5092. pop ; StackCount = 9
  5093. pop ; StackCount = 8
  5094. jump loc_93a
  5095. loc_7df:
  5096. pushtype PChar ; StackCount = 9
  5097. pushtype S32 ; StackCount = 10
  5098. assign Var10, Var5
  5099. pushvar Var9 ; StackCount = 11
  5100. call files:FSLInstallerLib.dll!7
  5101. pop ; StackCount = 10
  5102. pop ; StackCount = 9
  5103. assign Var6, Var9
  5104. pop ; StackCount = 8
  5105. pushtype UnicodeString ; StackCount = 9
  5106. assign Var9, ( String "P3D Activation returned the following error:
  5107. " )
  5108. calculate Var9 + Var6
  5109. calculate Var9 + ( String "
  5110.  
  5111. " )
  5112. calculate Var9 + ( String "Please contact Flight Sim Labs, Ltd. support." )
  5113. assign Var7, Var9
  5114. pop ; StackCount = 8
  5115. pushtype S32 ; StackCount = 9
  5116. pushtype S32 ; StackCount = 10
  5117. assign Var10, ( S32 0 )
  5118. pushtype TMSGBOXTYPE ; StackCount = 11
  5119. assign Var11, ( U8 2 )
  5120. pushtype UnicodeString ; StackCount = 12
  5121. assign Var12, Var7
  5122. pushvar Var9 ; StackCount = 13
  5123. call MSGBOX
  5124. pop ; StackCount = 12
  5125. pop ; StackCount = 11
  5126. pop ; StackCount = 10
  5127. pop ; StackCount = 9
  5128. pop ; StackCount = 8
  5129. pushtype UnicodeString ; StackCount = 9
  5130. assign Var9, ( String "" )
  5131. pushtype TNEWSTATICTEXT ; StackCount = 10
  5132. assign Var10, Global37
  5133. call TNEWSTATICTEXT->CAPTION
  5134. pop ; StackCount = 9
  5135. pop ; StackCount = 8
  5136. assign RetVal, ( U8 0 )
  5137. ret
  5138. loc_93a:
  5139. ret
  5140.  
  5141. Functions[190] = external cdecl void TINPUTQUERYWIZARDPAGE->VALUES(out Arg1)
  5142.  
  5143. Functions[191] = external register void TCONTROL->INVALIDATE()
  5144.  
  5145. Functions[192] = external pascal void TNEWSTATICTEXT->CAPTION(out Arg1)
  5146.  
  5147. Functions[193] = exported void SERIALS_CANCELBUTTONCLICK(in TWIZARDPAGE Arg1,out BOOLEAN Arg2,out BOOLEAN Arg3)
  5148. pushtype TINPUTQUERYWIZARDPAGE ; StackCount = 1
  5149. pushtype U32 ; StackCount = 2
  5150. assign Var2, ( U32 51 )
  5151. pushtype TWIZARDPAGE ; StackCount = 3
  5152. assign Var3, Arg1
  5153. pushvar Var1 ; StackCount = 4
  5154. call Class->CastToType
  5155. pop ; StackCount = 3
  5156. pop ; StackCount = 2
  5157. pop ; StackCount = 1
  5158. ret
  5159.  
  5160. Functions[194] = exported S32 CREATEPAGE_SERIALS(in S32 Arg1)
  5161. pushtype TINPUTQUERYWIZARDPAGE ; StackCount = 1
  5162. pushtype UnicodeString ; StackCount = 2
  5163. pushtype UnicodeString ; StackCount = 3
  5164. assign Var3, ( String "{cm:SerialsInputQuerySubcaption}" )
  5165. pushvar Var2 ; StackCount = 4
  5166. call EXPANDCONSTANT
  5167. pop ; StackCount = 3
  5168. pop ; StackCount = 2
  5169. pushtype UnicodeString ; StackCount = 3
  5170. pushtype UnicodeString ; StackCount = 4
  5171. assign Var4, ( String "{cm:SerialsDescription}" )
  5172. pushvar Var3 ; StackCount = 5
  5173. call EXPANDCONSTANT
  5174. pop ; StackCount = 4
  5175. pop ; StackCount = 3
  5176. pushtype UnicodeString ; StackCount = 4
  5177. pushtype UnicodeString ; StackCount = 5
  5178. assign Var5, ( String "{cm:SerialsCaption}" )
  5179. pushvar Var4 ; StackCount = 6
  5180. call EXPANDCONSTANT
  5181. pop ; StackCount = 5
  5182. pop ; StackCount = 4
  5183. pushtype S32 ; StackCount = 5
  5184. assign Var5, Arg1
  5185. pushvar Var1 ; StackCount = 6
  5186. call CREATEINPUTQUERYPAGE
  5187. pop ; StackCount = 5
  5188. pop ; StackCount = 4
  5189. pop ; StackCount = 3
  5190. pop ; StackCount = 2
  5191. pop ; StackCount = 1
  5192. pushtype S32 ; StackCount = 2
  5193. pushtype BOOLEAN ; StackCount = 3
  5194. assign Var3, ( U8 0 )
  5195. pushtype UnicodeString ; StackCount = 4
  5196. assign Var4, ( String "Your Full Name" )
  5197. pushtype TINPUTQUERYWIZARDPAGE ; StackCount = 5
  5198. assign Var5, Var1
  5199. pushvar Var2 ; StackCount = 6
  5200. call TINPUTQUERYWIZARDPAGE->ADD
  5201. pop ; StackCount = 5
  5202. pop ; StackCount = 4
  5203. pop ; StackCount = 3
  5204. pop ; StackCount = 2
  5205. pop ; StackCount = 1
  5206. pushtype S32 ; StackCount = 2
  5207. pushtype BOOLEAN ; StackCount = 3
  5208. assign Var3, ( U8 0 )
  5209. pushtype UnicodeString ; StackCount = 4
  5210. assign Var4, ( String "Your Order ID" )
  5211. pushtype TINPUTQUERYWIZARDPAGE ; StackCount = 5
  5212. assign Var5, Var1
  5213. pushvar Var2 ; StackCount = 6
  5214. call TINPUTQUERYWIZARDPAGE->ADD
  5215. pop ; StackCount = 5
  5216. pop ; StackCount = 4
  5217. pop ; StackCount = 3
  5218. pop ; StackCount = 2
  5219. pop ; StackCount = 1
  5220. pushtype S32 ; StackCount = 2
  5221. pushtype BOOLEAN ; StackCount = 3
  5222. assign Var3, ( U8 0 )
  5223. pushtype UnicodeString ; StackCount = 4
  5224. assign Var4, ( String "P3D Serial number (begins with 'A320X-P4D' )" )
  5225. pushtype TINPUTQUERYWIZARDPAGE ; StackCount = 5
  5226. assign Var5, Var1
  5227. pushvar Var2 ; StackCount = 6
  5228. call TINPUTQUERYWIZARDPAGE->ADD
  5229. pop ; StackCount = 5
  5230. pop ; StackCount = 4
  5231. pop ; StackCount = 3
  5232. pop ; StackCount = 2
  5233. pop ; StackCount = 1
  5234. pushtype TWIZARDPAGENOTIFYEVENT ; StackCount = 2
  5235. assign Var2, ( ProcPtr SERIALS_ACTIVATE )
  5236. pushtype TINPUTQUERYWIZARDPAGE ; StackCount = 3
  5237. assign Var3, Var1
  5238. call TWIZARDPAGE->ONACTIVATE
  5239. pop ; StackCount = 2
  5240. pop ; StackCount = 1
  5241. pushtype TWIZARDPAGESHOULDSKIPEVENT ; StackCount = 2
  5242. assign Var2, ( ProcPtr SERIALS_SHOULDSKIPPAGE )
  5243. pushtype TINPUTQUERYWIZARDPAGE ; StackCount = 3
  5244. assign Var3, Var1
  5245. call TWIZARDPAGE->ONSHOULDSKIPPAGE
  5246. pop ; StackCount = 2
  5247. pop ; StackCount = 1
  5248. pushtype TWIZARDPAGEBUTTONEVENT ; StackCount = 2
  5249. assign Var2, ( ProcPtr SERIALS_NEXTBUTTONCLICK )
  5250. pushtype TINPUTQUERYWIZARDPAGE ; StackCount = 3
  5251. assign Var3, Var1
  5252. call TWIZARDPAGE->ONNEXTBUTTONCLICK
  5253. pop ; StackCount = 2
  5254. pop ; StackCount = 1
  5255. pushtype TWIZARDPAGECANCELEVENT ; StackCount = 2
  5256. assign Var2, ( ProcPtr SERIALS_CANCELBUTTONCLICK )
  5257. pushtype TINPUTQUERYWIZARDPAGE ; StackCount = 3
  5258. assign Var3, Var1
  5259. call TWIZARDPAGE->ONCANCELBUTTONCLICK
  5260. pop ; StackCount = 2
  5261. pop ; StackCount = 1
  5262. assign Global36, Var1
  5263. pushtype TCOMPONENT ; StackCount = 2
  5264. pushtype TWIZARDFORM ; StackCount = 3
  5265. pushvar Var3 ; StackCount = 4
  5266. call WIZARDFORM
  5267. pop ; StackCount = 3
  5268. assign Var2, Var3
  5269. pop ; StackCount = 2
  5270. pushtype U32 ; StackCount = 3
  5271. assign Var3, ( U32 52 )
  5272. pushvar Global37 ; StackCount = 4
  5273. call TCONTROL->CREATE
  5274. pop ; StackCount = 3
  5275. pop ; StackCount = 2
  5276. pop ; StackCount = 1
  5277. pushtype TWINCONTROL ; StackCount = 2
  5278. pushtype TNEWNOTEBOOKPAGE ; StackCount = 3
  5279. pushtype TINPUTQUERYWIZARDPAGE ; StackCount = 4
  5280. assign Var4, Global36
  5281. pushvar Var3 ; StackCount = 5
  5282. call TWIZARDPAGE->SURFACE
  5283. pop ; StackCount = 4
  5284. pop ; StackCount = 3
  5285. assign Var2, Var3
  5286. pop ; StackCount = 2
  5287. pushtype TNEWSTATICTEXT ; StackCount = 3
  5288. assign Var3, Global37
  5289. call TCONTROL->PARENT
  5290. pop ; StackCount = 2
  5291. pop ; StackCount = 1
  5292. pushtype S32 ; StackCount = 2
  5293. pushtype TPASSWORDEDIT ; StackCount = 3
  5294. pushtype S32 ; StackCount = 4
  5295. assign Var4, ( S32 2 )
  5296. pushtype TINPUTQUERYWIZARDPAGE ; StackCount = 5
  5297. assign Var5, Global36
  5298. pushvar Var3 ; StackCount = 6
  5299. call TINPUTQUERYWIZARDPAGE->EDITS
  5300. pop ; StackCount = 5
  5301. pop ; StackCount = 4
  5302. pop ; StackCount = 3
  5303. pushvar Var2 ; StackCount = 4
  5304. call TCONTROL->TOP
  5305. pop ; StackCount = 3
  5306. pop ; StackCount = 2
  5307. pushtype S32 ; StackCount = 3
  5308. pushtype TPASSWORDEDIT ; StackCount = 4
  5309. pushtype S32 ; StackCount = 5
  5310. assign Var5, ( S32 2 )
  5311. pushtype TINPUTQUERYWIZARDPAGE ; StackCount = 6
  5312. assign Var6, Global36
  5313. pushvar Var4 ; StackCount = 7
  5314. call TINPUTQUERYWIZARDPAGE->EDITS
  5315. pop ; StackCount = 6
  5316. pop ; StackCount = 5
  5317. pop ; StackCount = 4
  5318. pushvar Var3 ; StackCount = 5
  5319. call TCONTROL->HEIGHT
  5320. pop ; StackCount = 4
  5321. pop ; StackCount = 3
  5322. calculate Var2 + Var3
  5323. pop ; StackCount = 2
  5324. pushtype TNEWSTATICTEXT ; StackCount = 3
  5325. assign Var3, Global37
  5326. call TCONTROL->TOP
  5327. pop ; StackCount = 2
  5328. pop ; StackCount = 1
  5329. pushtype UnicodeString ; StackCount = 2
  5330. assign Var2, ( String "" )
  5331. pushtype TNEWSTATICTEXT ; StackCount = 3
  5332. assign Var3, Global37
  5333. call TNEWSTATICTEXT->CAPTION
  5334. pop ; StackCount = 2
  5335. pop ; StackCount = 1
  5336. pushtype TINPUTQUERYWIZARDPAGE ; StackCount = 2
  5337. assign Var2, Var1
  5338. pushvar RetVal ; StackCount = 3
  5339. call TWIZARDPAGE->ID
  5340. pop ; StackCount = 2
  5341. pop ; StackCount = 1
  5342. ret
  5343.  
  5344. Functions[195] = external returnsval CREATEINPUTQUERYPAGE(out Arg1,out Arg2)
  5345.  
  5346. Functions[196] = external register returnsval TINPUTQUERYWIZARDPAGE->ADD(out Arg1)
  5347.  
  5348. Functions[197] = external cdecl void TINPUTQUERYWIZARDPAGE->EDITS(out Arg1)
  5349.  
  5350. Functions[198] = exported void INITIALIZEWIZARD()
  5351. call ITD_INIT
  5352. pushtype S32 ; StackCount = 1
  5353. pushtype S32 ; StackCount = 2
  5354. assign Var2, ( S32 1 )
  5355. pushvar Var1 ; StackCount = 3
  5356. call CREATEPAGE_ADDONFOLDER
  5357. pop ; StackCount = 2
  5358. pop ; StackCount = 1
  5359. pop ; StackCount = 0
  5360. pushtype S32 ; StackCount = 1
  5361. pushtype S32 ; StackCount = 2
  5362. assign Var2, ( S32 11 )
  5363. pushvar Var1 ; StackCount = 3
  5364. call CREATEPAGE_SERIALS
  5365. pop ; StackCount = 2
  5366. pop ; StackCount = 1
  5367. pop ; StackCount = 0
  5368. ret
  5369.  
  5370. Functions[199] = exported BOOLEAN ISMAGDEC_SELECTED()
  5371. assign RetVal, Global34
  5372. ret
  5373.  
  5374. Functions[200] = exported UnicodeString GETP3D_V4_DIR(in UnicodeString Arg1)
  5375. pushtype UnicodeString ; StackCount = 1
  5376. assign Var1, Global7
  5377. calculate Var1 + ( String "\FSLabs" )
  5378. assign RetVal, Var1
  5379. pop ; StackCount = 0
  5380. ret
  5381.  
  5382. Functions[201] = exported UnicodeString GETP3D_V4_SETUPPATH(in UnicodeString Arg1)
  5383. assign RetVal, Global4
  5384. ret
  5385.  
  5386. Functions[202] = exported void ADDTOFSXCFG(in UnicodeString Arg1,in UnicodeString Arg2,in BOOLEAN Arg3,in BOOLEAN Arg4)
  5387. pushtype UnicodeString ; StackCount = 1
  5388. pushtype UnicodeString ; StackCount = 2
  5389. assign Var2, ( String "Tweaking REALISM settings in " )
  5390. calculate Var2 + Arg1
  5391. calculate Var2 + ( Char '\' )
  5392. calculate Var2 + Arg2
  5393. calculate Var2 + ( String " ..." )
  5394. assign Var1, Var2
  5395. pop ; StackCount = 1
  5396. pushtype UnicodeString ; StackCount = 2
  5397. assign Var2, Var1
  5398. call LOG
  5399. pop ; StackCount = 1
  5400. pushtype BOOLEAN ; StackCount = 2
  5401. pushtype String ; StackCount = 3
  5402. assign Var3, Arg2
  5403. pushtype String ; StackCount = 4
  5404. assign Var4, Arg1
  5405. pushtype String ; StackCount = 5
  5406. assign Var5, ( String "_preA320X" )
  5407. pushvar Var2 ; StackCount = 6
  5408. call setup:files:FSLFSXCFG.dll!OpenFSXCFG
  5409. pop ; StackCount = 5
  5410. pop ; StackCount = 4
  5411. pop ; StackCount = 3
  5412. pop ; StackCount = 2
  5413. setflag not Var2
  5414. pop ; StackCount = 1
  5415. jumpflag loc_3cb
  5416. assign Var1, ( String " [REALISM] StressDamage=False..." )
  5417. pushtype UnicodeString ; StackCount = 2
  5418. assign Var2, Var1
  5419. call LOG
  5420. pop ; StackCount = 1
  5421. pushtype BOOLEAN ; StackCount = 2
  5422. pushtype String ; StackCount = 3
  5423. assign Var3, ( String "False" )
  5424. pushtype String ; StackCount = 4
  5425. assign Var4, ( String "StressDamage" )
  5426. pushtype String ; StackCount = 5
  5427. assign Var5, ( String "REALISM" )
  5428. pushvar Var2 ; StackCount = 6
  5429. call setup:files:FSLFSXCFG.dll!AddEntryToFSXCFG
  5430. pop ; StackCount = 5
  5431. pop ; StackCount = 4
  5432. pop ; StackCount = 3
  5433. pop ; StackCount = 2
  5434. pop ; StackCount = 1
  5435. assign Var1, ( String " [REALISM] TrueAirspeed=False..." )
  5436. pushtype UnicodeString ; StackCount = 2
  5437. assign Var2, Var1
  5438. call LOG
  5439. pop ; StackCount = 1
  5440. pushtype BOOLEAN ; StackCount = 2
  5441. pushtype String ; StackCount = 3
  5442. assign Var3, ( String "False" )
  5443. pushtype String ; StackCount = 4
  5444. assign Var4, ( String "TrueAirspeed" )
  5445. pushtype String ; StackCount = 5
  5446. assign Var5, ( String "REALISM" )
  5447. pushvar Var2 ; StackCount = 6
  5448. call setup:files:FSLFSXCFG.dll!AddEntryToFSXCFG
  5449. pop ; StackCount = 5
  5450. pop ; StackCount = 4
  5451. pop ; StackCount = 3
  5452. pop ; StackCount = 2
  5453. pop ; StackCount = 1
  5454. assign Var1, ( String " [REALISM] AutoCoord=False..." )
  5455. pushtype UnicodeString ; StackCount = 2
  5456. assign Var2, Var1
  5457. call LOG
  5458. pop ; StackCount = 1
  5459. pushtype BOOLEAN ; StackCount = 2
  5460. pushtype String ; StackCount = 3
  5461. assign Var3, ( String "False" )
  5462. pushtype String ; StackCount = 4
  5463. assign Var4, ( String "AutoCoord" )
  5464. pushtype String ; StackCount = 5
  5465. assign Var5, ( String "REALISM" )
  5466. pushvar Var2 ; StackCount = 6
  5467. call setup:files:FSLFSXCFG.dll!AddEntryToFSXCFG
  5468. pop ; StackCount = 5
  5469. pop ; StackCount = 4
  5470. pop ; StackCount = 3
  5471. pop ; StackCount = 2
  5472. pop ; StackCount = 1
  5473. assign Var1, ( String " [REALISM] AutoTrim=False..." )
  5474. pushtype UnicodeString ; StackCount = 2
  5475. assign Var2, Var1
  5476. call LOG
  5477. pop ; StackCount = 1
  5478. pushtype BOOLEAN ; StackCount = 2
  5479. pushtype String ; StackCount = 3
  5480. assign Var3, ( String "False" )
  5481. pushtype String ; StackCount = 4
  5482. assign Var4, ( String "AutoTrim" )
  5483. pushtype String ; StackCount = 5
  5484. assign Var5, ( String "REALISM" )
  5485. pushvar Var2 ; StackCount = 6
  5486. call setup:files:FSLFSXCFG.dll!AddEntryToFSXCFG
  5487. pop ; StackCount = 5
  5488. pop ; StackCount = 4
  5489. pop ; StackCount = 3
  5490. pop ; StackCount = 2
  5491. pop ; StackCount = 1
  5492. assign Var1, ( String " done..." )
  5493. pushtype UnicodeString ; StackCount = 2
  5494. assign Var2, Var1
  5495. call LOG
  5496. pop ; StackCount = 1
  5497. jump loc_446
  5498. loc_3cb:
  5499. pushtype UnicodeString ; StackCount = 2
  5500. assign Var2, ( String "Cannot open " )
  5501. calculate Var2 + Arg1
  5502. calculate Var2 + ( Char '\' )
  5503. calculate Var2 + Arg2
  5504. calculate Var2 + ( String " ..." )
  5505. assign Var1, Var2
  5506. pop ; StackCount = 1
  5507. pushtype UnicodeString ; StackCount = 2
  5508. assign Var2, Var1
  5509. call LOG
  5510. pop ; StackCount = 1
  5511. loc_446:
  5512. ret
  5513.  
  5514. Functions[203] = exported void CURPAGECHANGED(in S32 Arg1)
  5515. pushtype BOOLEAN ; StackCount = 1
  5516. compare Var1, Arg1 == ( S32 10 )
  5517. setflag not Var1
  5518. pop ; StackCount = 0
  5519. jumpflag loc_471
  5520. pushtype TSTRINGS ; StackCount = 1
  5521. pushtype TNEWMEMO ; StackCount = 2
  5522. pushtype TWIZARDFORM ; StackCount = 3
  5523. pushvar Var3 ; StackCount = 4
  5524. call WIZARDFORM
  5525. pop ; StackCount = 3
  5526. pushvar Var2 ; StackCount = 4
  5527. call TWIZARDFORM->READYMEMO
  5528. pop ; StackCount = 3
  5529. pop ; StackCount = 2
  5530. pushvar Var1 ; StackCount = 3
  5531. call TCUSTOMMEMO->LINES
  5532. pop ; StackCount = 2
  5533. pop ; StackCount = 1
  5534. call TSTRINGS->CLEAR
  5535. pop ; StackCount = 0
  5536. pushtype S32 ; StackCount = 1
  5537. pushtype UnicodeString ; StackCount = 2
  5538. assign Var2, ( String "Add-on Files Folder:" )
  5539. pushtype TSTRINGS ; StackCount = 3
  5540. pushtype TNEWMEMO ; StackCount = 4
  5541. pushtype TWIZARDFORM ; StackCount = 5
  5542. pushvar Var5 ; StackCount = 6
  5543. call WIZARDFORM
  5544. pop ; StackCount = 5
  5545. pushvar Var4 ; StackCount = 6
  5546. call TWIZARDFORM->READYMEMO
  5547. pop ; StackCount = 5
  5548. pop ; StackCount = 4
  5549. pushvar Var3 ; StackCount = 5
  5550. call TCUSTOMMEMO->LINES
  5551. pop ; StackCount = 4
  5552. pop ; StackCount = 3
  5553. pushvar Var1 ; StackCount = 4
  5554. call TSTRINGS->ADD
  5555. pop ; StackCount = 3
  5556. pop ; StackCount = 2
  5557. pop ; StackCount = 1
  5558. pop ; StackCount = 0
  5559. pushtype S32 ; StackCount = 1
  5560. pushtype UnicodeString ; StackCount = 2
  5561. pushtype UnicodeString ; StackCount = 3
  5562. assign Var3, ( String " " )
  5563. calculate Var3 + Global7
  5564. assign Var2, Var3
  5565. pop ; StackCount = 2
  5566. pushtype TSTRINGS ; StackCount = 3
  5567. pushtype TNEWMEMO ; StackCount = 4
  5568. pushtype TWIZARDFORM ; StackCount = 5
  5569. pushvar Var5 ; StackCount = 6
  5570. call WIZARDFORM
  5571. pop ; StackCount = 5
  5572. pushvar Var4 ; StackCount = 6
  5573. call TWIZARDFORM->READYMEMO
  5574. pop ; StackCount = 5
  5575. pop ; StackCount = 4
  5576. pushvar Var3 ; StackCount = 5
  5577. call TCUSTOMMEMO->LINES
  5578. pop ; StackCount = 4
  5579. pop ; StackCount = 3
  5580. pushvar Var1 ; StackCount = 4
  5581. call TSTRINGS->ADD
  5582. pop ; StackCount = 3
  5583. pop ; StackCount = 2
  5584. pop ; StackCount = 1
  5585. pop ; StackCount = 0
  5586. pushtype S32 ; StackCount = 1
  5587. pushtype UnicodeString ; StackCount = 2
  5588. assign Var2, ( String "" )
  5589. pushtype TSTRINGS ; StackCount = 3
  5590. pushtype TNEWMEMO ; StackCount = 4
  5591. pushtype TWIZARDFORM ; StackCount = 5
  5592. pushvar Var5 ; StackCount = 6
  5593. call WIZARDFORM
  5594. pop ; StackCount = 5
  5595. pushvar Var4 ; StackCount = 6
  5596. call TWIZARDFORM->READYMEMO
  5597. pop ; StackCount = 5
  5598. pop ; StackCount = 4
  5599. pushvar Var3 ; StackCount = 5
  5600. call TCUSTOMMEMO->LINES
  5601. pop ; StackCount = 4
  5602. pop ; StackCount = 3
  5603. pushvar Var1 ; StackCount = 4
  5604. call TSTRINGS->ADD
  5605. pop ; StackCount = 3
  5606. pop ; StackCount = 2
  5607. pop ; StackCount = 1
  5608. pop ; StackCount = 0
  5609. pushtype S32 ; StackCount = 1
  5610. pushtype UnicodeString ; StackCount = 2
  5611. assign Var2, ( String "Add-on Documentation & Uninstall Folder:" )
  5612. pushtype TSTRINGS ; StackCount = 3
  5613. pushtype TNEWMEMO ; StackCount = 4
  5614. pushtype TWIZARDFORM ; StackCount = 5
  5615. pushvar Var5 ; StackCount = 6
  5616. call WIZARDFORM
  5617. pop ; StackCount = 5
  5618. pushvar Var4 ; StackCount = 6
  5619. call TWIZARDFORM->READYMEMO
  5620. pop ; StackCount = 5
  5621. pop ; StackCount = 4
  5622. pushvar Var3 ; StackCount = 5
  5623. call TCUSTOMMEMO->LINES
  5624. pop ; StackCount = 4
  5625. pop ; StackCount = 3
  5626. pushvar Var1 ; StackCount = 4
  5627. call TSTRINGS->ADD
  5628. pop ; StackCount = 3
  5629. pop ; StackCount = 2
  5630. pop ; StackCount = 1
  5631. pop ; StackCount = 0
  5632. pushtype S32 ; StackCount = 1
  5633. pushtype UnicodeString ; StackCount = 2
  5634. pushtype UnicodeString ; StackCount = 3
  5635. assign Var3, ( String " " )
  5636. pushtype UnicodeString ; StackCount = 4
  5637. pushvar Var4 ; StackCount = 5
  5638. call WIZARDDIRVALUE
  5639. pop ; StackCount = 4
  5640. calculate Var3 + Var4
  5641. pop ; StackCount = 3
  5642. assign Var2, Var3
  5643. pop ; StackCount = 2
  5644. pushtype TSTRINGS ; StackCount = 3
  5645. pushtype TNEWMEMO ; StackCount = 4
  5646. pushtype TWIZARDFORM ; StackCount = 5
  5647. pushvar Var5 ; StackCount = 6
  5648. call WIZARDFORM
  5649. pop ; StackCount = 5
  5650. pushvar Var4 ; StackCount = 6
  5651. call TWIZARDFORM->READYMEMO
  5652. pop ; StackCount = 5
  5653. pop ; StackCount = 4
  5654. pushvar Var3 ; StackCount = 5
  5655. call TCUSTOMMEMO->LINES
  5656. pop ; StackCount = 4
  5657. pop ; StackCount = 3
  5658. pushvar Var1 ; StackCount = 4
  5659. call TSTRINGS->ADD
  5660. pop ; StackCount = 3
  5661. pop ; StackCount = 2
  5662. pop ; StackCount = 1
  5663. pop ; StackCount = 0
  5664. pushtype S32 ; StackCount = 1
  5665. pushtype UnicodeString ; StackCount = 2
  5666. assign Var2, ( String "" )
  5667. pushtype TSTRINGS ; StackCount = 3
  5668. pushtype TNEWMEMO ; StackCount = 4
  5669. pushtype TWIZARDFORM ; StackCount = 5
  5670. pushvar Var5 ; StackCount = 6
  5671. call WIZARDFORM
  5672. pop ; StackCount = 5
  5673. pushvar Var4 ; StackCount = 6
  5674. call TWIZARDFORM->READYMEMO
  5675. pop ; StackCount = 5
  5676. pop ; StackCount = 4
  5677. pushvar Var3 ; StackCount = 5
  5678. call TCUSTOMMEMO->LINES
  5679. pop ; StackCount = 4
  5680. pop ; StackCount = 3
  5681. pushvar Var1 ; StackCount = 4
  5682. call TSTRINGS->ADD
  5683. pop ; StackCount = 3
  5684. pop ; StackCount = 2
  5685. pop ; StackCount = 1
  5686. pop ; StackCount = 0
  5687. pushtype S32 ; StackCount = 1
  5688. pushtype UnicodeString ; StackCount = 2
  5689. assign Var2, ( String "Prepar3D v4 Setup Folder:" )
  5690. pushtype TSTRINGS ; StackCount = 3
  5691. pushtype TNEWMEMO ; StackCount = 4
  5692. pushtype TWIZARDFORM ; StackCount = 5
  5693. pushvar Var5 ; StackCount = 6
  5694. call WIZARDFORM
  5695. pop ; StackCount = 5
  5696. pushvar Var4 ; StackCount = 6
  5697. call TWIZARDFORM->READYMEMO
  5698. pop ; StackCount = 5
  5699. pop ; StackCount = 4
  5700. pushvar Var3 ; StackCount = 5
  5701. call TCUSTOMMEMO->LINES
  5702. pop ; StackCount = 4
  5703. pop ; StackCount = 3
  5704. pushvar Var1 ; StackCount = 4
  5705. call TSTRINGS->ADD
  5706. pop ; StackCount = 3
  5707. pop ; StackCount = 2
  5708. pop ; StackCount = 1
  5709. pop ; StackCount = 0
  5710. pushtype S32 ; StackCount = 1
  5711. pushtype UnicodeString ; StackCount = 2
  5712. pushtype UnicodeString ; StackCount = 3
  5713. assign Var3, ( String " " )
  5714. calculate Var3 + Global4
  5715. assign Var2, Var3
  5716. pop ; StackCount = 2
  5717. pushtype TSTRINGS ; StackCount = 3
  5718. pushtype TNEWMEMO ; StackCount = 4
  5719. pushtype TWIZARDFORM ; StackCount = 5
  5720. pushvar Var5 ; StackCount = 6
  5721. call WIZARDFORM
  5722. pop ; StackCount = 5
  5723. pushvar Var4 ; StackCount = 6
  5724. call TWIZARDFORM->READYMEMO
  5725. pop ; StackCount = 5
  5726. pop ; StackCount = 4
  5727. pushvar Var3 ; StackCount = 5
  5728. call TCUSTOMMEMO->LINES
  5729. pop ; StackCount = 4
  5730. pop ; StackCount = 3
  5731. pushvar Var1 ; StackCount = 4
  5732. call TSTRINGS->ADD
  5733. pop ; StackCount = 3
  5734. pop ; StackCount = 2
  5735. pop ; StackCount = 1
  5736. pop ; StackCount = 0
  5737. pushtype S32 ; StackCount = 1
  5738. pushtype UnicodeString ; StackCount = 2
  5739. assign Var2, ( String "" )
  5740. pushtype TSTRINGS ; StackCount = 3
  5741. pushtype TNEWMEMO ; StackCount = 4
  5742. pushtype TWIZARDFORM ; StackCount = 5
  5743. pushvar Var5 ; StackCount = 6
  5744. call WIZARDFORM
  5745. pop ; StackCount = 5
  5746. pushvar Var4 ; StackCount = 6
  5747. call TWIZARDFORM->READYMEMO
  5748. pop ; StackCount = 5
  5749. pop ; StackCount = 4
  5750. pushvar Var3 ; StackCount = 5
  5751. call TCUSTOMMEMO->LINES
  5752. pop ; StackCount = 4
  5753. pop ; StackCount = 3
  5754. pushvar Var1 ; StackCount = 4
  5755. call TSTRINGS->ADD
  5756. pop ; StackCount = 3
  5757. pop ; StackCount = 2
  5758. pop ; StackCount = 1
  5759. pop ; StackCount = 0
  5760. loc_471:
  5761. ret
  5762.  
  5763. Functions[204] = external pascal void TWIZARDFORM->READYMEMO(out Arg1)
  5764.  
  5765. Functions[205] = external pascal void TCUSTOMMEMO->LINES(out Arg1)
  5766.  
  5767. Functions[206] = external register void TSTRINGS->CLEAR()
  5768.  
  5769. Functions[207] = external register returnsval TSTRINGS->ADD(out Arg1)
  5770.  
  5771. Functions[208] = external returnsval WIZARDDIRVALUE()
  5772.  
  5773. Functions[209] = exported void REMOVEACTIVATION()
  5774. pushtype UnicodeString ; StackCount = 1
  5775. pushtype UnicodeString ; StackCount = 2
  5776. pushtype BOOLEAN ; StackCount = 3
  5777. pushtype Pointer ; StackCount = 4
  5778. setptr Var4, Global35
  5779. pushtype UnicodeString ; StackCount = 5
  5780. assign Var5, ( String "SerialNumber" )
  5781. pushtype UnicodeString ; StackCount = 6
  5782. assign Var6, ( String "Software\FlightSimLabs\A320X-P3Dv4" )
  5783. pushtype S32 ; StackCount = 7
  5784. assign Var7, ( S32 -2147483647 )
  5785. pushvar Var3 ; StackCount = 8
  5786. call REGQUERYSTRINGVALUE
  5787. pop ; StackCount = 7
  5788. pop ; StackCount = 6
  5789. pop ; StackCount = 5
  5790. pop ; StackCount = 4
  5791. pop ; StackCount = 3
  5792. setflag not Var3
  5793. pop ; StackCount = 2
  5794. jumpflag loc_15a
  5795. pushtype S32 ; StackCount = 3
  5796. pushtype BOOLEAN ; StackCount = 4
  5797. assign Var4, ( U8 1 )
  5798. pushtype String ; StackCount = 5
  5799. assign Var5, Global35
  5800. pushvar Var3 ; StackCount = 6
  5801. call uninstall:{app}\FSLInstallerLib.dll!6
  5802. pop ; StackCount = 5
  5803. pop ; StackCount = 4
  5804. pop ; StackCount = 3
  5805. pop ; StackCount = 2
  5806. pushtype BOOLEAN ; StackCount = 3
  5807. pushtype UnicodeString ; StackCount = 4
  5808. assign Var4, ( String "SerialNumber" )
  5809. pushtype UnicodeString ; StackCount = 5
  5810. assign Var5, ( String "Software\FlightSimLabs\A320X-P3Dv4" )
  5811. pushtype S32 ; StackCount = 6
  5812. assign Var6, ( S32 -2147483647 )
  5813. pushvar Var3 ; StackCount = 7
  5814. call REGDELETEVALUE
  5815. pop ; StackCount = 6
  5816. pop ; StackCount = 5
  5817. pop ; StackCount = 4
  5818. pop ; StackCount = 3
  5819. pop ; StackCount = 2
  5820. loc_15a:
  5821. ret
  5822.  
  5823. Functions[210] = exported void POSTLOGDATA()
  5824. pushtype UnicodeString ; StackCount = 1
  5825. pushtype UnicodeString ; StackCount = 2
  5826. pushtype Variant ; StackCount = 3
  5827. pushtype UnicodeString ; StackCount = 4
  5828. assign Var4, ( String "2.0.1.215" )
  5829. assign Var1, ( String "Product=A320-X-P3Dv4&" )
  5830. pushtype UnicodeString ; StackCount = 5
  5831. assign Var5, Var1
  5832. calculate Var5 + ( String "BinariesVersion=" )
  5833. calculate Var5 + Var4
  5834. calculate Var5 + ( Char '&' )
  5835. assign Var1, Var5
  5836. pop ; StackCount = 4
  5837. pushtype UnicodeString ; StackCount = 5
  5838. assign Var5, Var1
  5839. calculate Var5 + ( String "InnoUsername=" )
  5840. pushtype UnicodeString ; StackCount = 6
  5841. pushtype UnicodeString ; StackCount = 7
  5842. assign Var7, ( String "{username}" )
  5843. pushvar Var6 ; StackCount = 8
  5844. call EXPANDCONSTANT
  5845. pop ; StackCount = 7
  5846. pop ; StackCount = 6
  5847. calculate Var5 + Var6
  5848. pop ; StackCount = 5
  5849. calculate Var5 + ( Char '&' )
  5850. assign Var1, Var5
  5851. pop ; StackCount = 4
  5852. pushtype UnicodeString ; StackCount = 5
  5853. assign Var5, Var1
  5854. calculate Var5 + ( String "Username=" )
  5855. calculate Var5 + Global32
  5856. calculate Var5 + ( Char '&' )
  5857. assign Var1, Var5
  5858. pop ; StackCount = 4
  5859. pushtype UnicodeString ; StackCount = 5
  5860. assign Var5, Var1
  5861. calculate Var5 + ( String "OrderID=" )
  5862. calculate Var5 + Global33
  5863. calculate Var5 + ( Char '&' )
  5864. assign Var1, Var5
  5865. pop ; StackCount = 4
  5866. pushtype UnicodeString ; StackCount = 5
  5867. assign Var5, Var1
  5868. calculate Var5 + ( String "MoboManufacturer=" )
  5869. calculate Var5 + Global24
  5870. calculate Var5 + ( Char '&' )
  5871. assign Var1, Var5
  5872. pop ; StackCount = 4
  5873. pushtype UnicodeString ; StackCount = 5
  5874. assign Var5, Var1
  5875. calculate Var5 + ( String "MoboModel=" )
  5876. calculate Var5 + Global25
  5877. calculate Var5 + ( Char '&' )
  5878. assign Var1, Var5
  5879. pop ; StackCount = 4
  5880. pushtype UnicodeString ; StackCount = 5
  5881. assign Var5, Var1
  5882. calculate Var5 + ( String "CPU=" )
  5883. calculate Var5 + Global26
  5884. calculate Var5 + ( Char '&' )
  5885. assign Var1, Var5
  5886. pop ; StackCount = 4
  5887. pushtype UnicodeString ; StackCount = 5
  5888. assign Var5, Var1
  5889. calculate Var5 + ( String "TotalMemory=" )
  5890. calculate Var5 + Global27
  5891. calculate Var5 + ( Char '&' )
  5892. assign Var1, Var5
  5893. pop ; StackCount = 4
  5894. pushtype UnicodeString ; StackCount = 5
  5895. assign Var5, Var1
  5896. calculate Var5 + ( String "OSVersion=" )
  5897. calculate Var5 + Global28
  5898. calculate Var5 + ( Char '&' )
  5899. assign Var1, Var5
  5900. pop ; StackCount = 4
  5901. pushtype UnicodeString ; StackCount = 5
  5902. assign Var5, Var1
  5903. calculate Var5 + ( String "GraphicsCard_1=" )
  5904. calculate Var5 + Global29
  5905. calculate Var5 + ( Char '&' )
  5906. assign Var1, Var5
  5907. pop ; StackCount = 4
  5908. pushtype UnicodeString ; StackCount = 5
  5909. assign Var5, Var1
  5910. calculate Var5 + ( String "GraphicsCard_2=" )
  5911. calculate Var5 + Global30
  5912. calculate Var5 + ( Char '&' )
  5913. assign Var1, Var5
  5914. pop ; StackCount = 4
  5915. pushtype UnicodeString ; StackCount = 5
  5916. assign Var5, Var1
  5917. calculate Var5 + ( String "GraphicsCard_3=" )
  5918. calculate Var5 + Global31
  5919. calculate Var5 + ( Char '&' )
  5920. assign Var1, Var5
  5921. pop ; StackCount = 4
  5922. pushtype UnicodeString ; StackCount = 5
  5923. assign Var5, Var1
  5924. calculate Var5 + ( String "SerialNumber=" )
  5925. calculate Var5 + Global35
  5926. calculate Var5 + ( Char '&' )
  5927. assign Var1, Var5
  5928. pop ; StackCount = 4
  5929. pushtype UnicodeString ; StackCount = 5
  5930. assign Var5, Var1
  5931. calculate Var5 + ( String "Sims=" )
  5932. assign Var1, Var5
  5933. pop ; StackCount = 4
  5934. pushtype UnicodeString ; StackCount = 5
  5935. assign Var5, Var1
  5936. calculate Var5 + ( String "P3DV4 " )
  5937. assign Var1, Var5
  5938. pop ; StackCount = 4
  5939. pushtype UnicodeString ; StackCount = 5
  5940. assign Var5, Var1
  5941. calculate Var5 + ( Char '&' )
  5942. assign Var1, Var5
  5943. pop ; StackCount = 4
  5944. pushtype IDISPATCH ; StackCount = 5
  5945. pushtype UnicodeString ; StackCount = 6
  5946. assign Var6, ( String "WinHttp.WinHttpRequest.5.1" )
  5947. pushvar Var5 ; StackCount = 7
  5948. call CREATEOLEOBJECT
  5949. pop ; StackCount = 6
  5950. pop ; StackCount = 5
  5951. assign Var3, Var5
  5952. pop ; StackCount = 4
  5953. pusheh 0xffffffff, 0x295, 0xffffffff, 0x2bb
  5954. pushtype Variant ; StackCount = 5
  5955. pushtype !OPENARRAYOFVARIANT ; StackCount = 6
  5956. pushtype !OPENARRAYOFVARIANT ; StackCount = 7
  5957. pushtype S32 ; StackCount = 8
  5958. assign Var8, ( S32 3 )
  5959. pushvar Var7 ; StackCount = 9
  5960. call SETARRAYLENGTH
  5961. pop ; StackCount = 8
  5962. pop ; StackCount = 7
  5963. assign Var7[0], ( String "GET" )
  5964. assign Var7[1], ( String "http://installLog.flightsimlabs.com/LogHandler.ashx" )
  5965. assign Var7[2], ( U8 0 )
  5966. assign Var6, Var7
  5967. pop ; StackCount = 6
  5968. pushtype String ; StackCount = 7
  5969. assign Var7, ( String "Open" )
  5970. pushtype BOOLEAN ; StackCount = 8
  5971. assign Var8, ( U8 0 )
  5972. pushtype IDISPATCH ; StackCount = 9
  5973. assign Var9, Var3
  5974. pushvar Var5 ; StackCount = 10
  5975. call IDISPATCHINVOKE
  5976. pop ; StackCount = 9
  5977. pop ; StackCount = 8
  5978. pop ; StackCount = 7
  5979. pop ; StackCount = 6
  5980. pop ; StackCount = 5
  5981. pop ; StackCount = 4
  5982. pushtype Variant ; StackCount = 5
  5983. pushtype !OPENARRAYOFVARIANT ; StackCount = 6
  5984. pushtype !OPENARRAYOFVARIANT ; StackCount = 7
  5985. pushtype S32 ; StackCount = 8
  5986. assign Var8, ( S32 2 )
  5987. pushvar Var7 ; StackCount = 9
  5988. call SETARRAYLENGTH
  5989. pop ; StackCount = 8
  5990. pop ; StackCount = 7
  5991. assign Var7[0], ( String "Content-Type" )
  5992. assign Var7[1], ( String "application/x-www-form-urlencoded" )
  5993. assign Var6, Var7
  5994. pop ; StackCount = 6
  5995. pushtype String ; StackCount = 7
  5996. assign Var7, ( String "SetRequestHeader" )
  5997. pushtype BOOLEAN ; StackCount = 8
  5998. assign Var8, ( U8 0 )
  5999. pushtype IDISPATCH ; StackCount = 9
  6000. assign Var9, Var3
  6001. pushvar Var5 ; StackCount = 10
  6002. call IDISPATCHINVOKE
  6003. pop ; StackCount = 9
  6004. pop ; StackCount = 8
  6005. pop ; StackCount = 7
  6006. pop ; StackCount = 6
  6007. pop ; StackCount = 5
  6008. pop ; StackCount = 4
  6009. pushtype Variant ; StackCount = 5
  6010. pushtype !OPENARRAYOFVARIANT ; StackCount = 6
  6011. pushtype !OPENARRAYOFVARIANT ; StackCount = 7
  6012. pushtype S32 ; StackCount = 8
  6013. assign Var8, ( S32 1 )
  6014. pushvar Var7 ; StackCount = 9
  6015. call SETARRAYLENGTH
  6016. pop ; StackCount = 8
  6017. pop ; StackCount = 7
  6018. assign Var7[0], Var1
  6019. assign Var6, Var7
  6020. pop ; StackCount = 6
  6021. pushtype String ; StackCount = 7
  6022. assign Var7, ( String "Send" )
  6023. pushtype BOOLEAN ; StackCount = 8
  6024. assign Var8, ( U8 0 )
  6025. pushtype IDISPATCH ; StackCount = 9
  6026. assign Var9, Var3
  6027. pushvar Var5 ; StackCount = 10
  6028. call IDISPATCHINVOKE
  6029. pop ; StackCount = 9
  6030. pop ; StackCount = 8
  6031. pop ; StackCount = 7
  6032. pop ; StackCount = 6
  6033. pop ; StackCount = 5
  6034. pop ; StackCount = 4
  6035. assign Var2, ( String "PostLogData succeeded..." )
  6036. popeh 0x0
  6037. assign Var2, ( String "PostLogData failed..." )
  6038. popeh 0x2
  6039. pushtype UnicodeString ; StackCount = 5
  6040. assign Var5, Var2
  6041. call LOG
  6042. pop ; StackCount = 4
  6043. ret
  6044.  
  6045. Functions[211] = exported void REPLACEMAGDECBGL()
  6046. pushtype UnicodeString ; StackCount = 1
  6047. pushtype UnicodeString ; StackCount = 2
  6048. pushtype UnicodeString ; StackCount = 3
  6049. pushtype BOOLEAN ; StackCount = 4
  6050. pushtype S32 ; StackCount = 5
  6051. pushtype S32 ; StackCount = 6
  6052. assign Var6, ( S32 4 )
  6053. pushtype TMSGBOXTYPE ; StackCount = 7
  6054. assign Var7, ( U8 1 )
  6055. pushtype UnicodeString ; StackCount = 8
  6056. assign Var8, ( String "We strongly recommend replacing the default (outdated) magnetic variation library (magdec.bgl) with the 2017 update by Hervé Sors (http://www.aero.sors.fr/navaids.html).
  6057.  
  6058. A copy of the original file will be created for backup purposes.
  6059.  
  6060. NOTE: Not updating will cause issues with FMGS database calculations.
  6061.  
  6062. Select 'Yes' to proceed, 'No' if you have already updated to current standards." )
  6063. pushvar Var5 ; StackCount = 9
  6064. call MSGBOX
  6065. pop ; StackCount = 8
  6066. pop ; StackCount = 7
  6067. pop ; StackCount = 6
  6068. pop ; StackCount = 5
  6069. compare Var4, Var5 == ( S32 6 )
  6070. pop ; StackCount = 4
  6071. setflag not Var4
  6072. pop ; StackCount = 3
  6073. jumpflag loc_3b7
  6074. pushtype UnicodeString ; StackCount = 4
  6075. assign Var4, ( String "Backing up P3D v4 magdec.bgl..." )
  6076. call LOG
  6077. pop ; StackCount = 3
  6078. pushtype UnicodeString ; StackCount = 4
  6079. assign Var4, Global4
  6080. calculate Var4 + ( String "\scenery\base\scenery\magdec.bgl" )
  6081. assign Var1, Var4
  6082. pop ; StackCount = 3
  6083. pushtype UnicodeString ; StackCount = 4
  6084. assign Var4, Global4
  6085. calculate Var4 + ( String "\scenery\base\scenery\magdec.bgl.beforeA320" )
  6086. assign Var2, Var4
  6087. pop ; StackCount = 3
  6088. pushtype BOOLEAN ; StackCount = 4
  6089. pushtype BOOLEAN ; StackCount = 5
  6090. assign Var5, ( U8 1 )
  6091. pushtype UnicodeString ; StackCount = 6
  6092. assign Var6, Var2
  6093. pushtype UnicodeString ; StackCount = 7
  6094. assign Var7, Var1
  6095. pushvar Var4 ; StackCount = 8
  6096. call FILECOPY
  6097. pop ; StackCount = 7
  6098. pop ; StackCount = 6
  6099. pop ; StackCount = 5
  6100. pop ; StackCount = 4
  6101. setflag not Var4
  6102. pop ; StackCount = 3
  6103. jumpflag loc_368
  6104. pushtype UnicodeString ; StackCount = 4
  6105. assign Var4, ( String "\t...complete" )
  6106. call LOG
  6107. pop ; StackCount = 3
  6108. jump loc_3a6
  6109. loc_368:
  6110. pushtype UnicodeString ; StackCount = 4
  6111. assign Var4, ( String "\t...aborted - target already exists" )
  6112. call LOG
  6113. pop ; StackCount = 3
  6114. loc_3a6:
  6115. assign Global34, ( U8 1 )
  6116. jump loc_3c3
  6117. loc_3b7:
  6118. assign Global34, ( U8 0 )
  6119. loc_3c3:
  6120. ret
  6121.  
  6122. Functions[212] = external returnsval FILECOPY(out Arg1,out Arg2)
  6123.  
  6124. Functions[213] = exported void CURSTEPCHANGED(in TSETUPSTEP Arg1)
  6125. pushtype S32 ; StackCount = 1
  6126. pushtype S32 ; StackCount = 2
  6127. pushtype S32 ; StackCount = 3
  6128. pushtype UnicodeString ; StackCount = 4
  6129. pushtype UnicodeString ; StackCount = 5
  6130. pushtype BOOLEAN ; StackCount = 6
  6131. compare Var6, Arg1 == ( U8 1 )
  6132. setflag not Var6
  6133. pop ; StackCount = 5
  6134. jumpflag loc_4c
  6135. call POSTLOGDATA
  6136. call REPLACEMAGDECBGL
  6137. jump loc_c0
  6138. loc_4c:
  6139. pushtype BOOLEAN ; StackCount = 6
  6140. compare Var6, Arg1 == ( U8 2 )
  6141. setflag not Var6
  6142. pop ; StackCount = 5
  6143. jumpflag loc_c0
  6144. pushtype BOOLEAN ; StackCount = 6
  6145. assign Var6, ( U8 0 )
  6146. pushtype BOOLEAN ; StackCount = 7
  6147. assign Var7, ( U8 0 )
  6148. pushtype UnicodeString ; StackCount = 8
  6149. assign Var8, Global10
  6150. pushtype UnicodeString ; StackCount = 9
  6151. assign Var9, Global9
  6152. call ADDTOFSXCFG
  6153. pop ; StackCount = 8
  6154. pop ; StackCount = 7
  6155. pop ; StackCount = 6
  6156. pop ; StackCount = 5
  6157. call ADDADDONINSTALLPATHTOREGISTRY
  6158. loc_c0:
  6159. ret
  6160.  
  6161. Functions[214] = exported void CURUNINSTALLSTEPCHANGED(in TUNINSTALLSTEP Arg1)
  6162. pushtype TUNINSTALLSTEP ; StackCount = 1
  6163. assign Var1, Arg1
  6164. pushtype BOOLEAN ; StackCount = 2
  6165. compare Var2, ( U8 1 ) == Var1
  6166. jumpfalse Var2, loc_45
  6167. call COLLECTSIMSINFO
  6168. call REMOVEACTIVATION
  6169. call REMOVEADDONINSTALLPATHFROMREGISTRY
  6170. jump loc_45
  6171. loc_45:
  6172. pop ; StackCount = 1
  6173. pop ; StackCount = 0
  6174. ret
  6175.  
  6176. Functions[215] = exported BOOLEAN CHECKFOROLDERVERSION()
  6177. pushtype UnicodeString ; StackCount = 1
  6178. pushtype UnicodeString ; StackCount = 2
  6179. pushtype S32 ; StackCount = 3
  6180. pushtype BOOLEAN ; StackCount = 4
  6181. pushtype UnicodeString ; StackCount = 5
  6182. assign Var5, ( String "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\A320X_P3Dv4_is1" )
  6183. pushtype S32 ; StackCount = 6
  6184. assign Var6, ( S32 -2147483646 )
  6185. pushvar Var4 ; StackCount = 7
  6186. call REGKEYEXISTS
  6187. pop ; StackCount = 6
  6188. pop ; StackCount = 5
  6189. pop ; StackCount = 4
  6190. setflag not Var4
  6191. pop ; StackCount = 3
  6192. jumpflag loc_569
  6193. pushtype BOOLEAN ; StackCount = 4
  6194. pushtype Pointer ; StackCount = 5
  6195. setptr Var5, Var1
  6196. pushtype UnicodeString ; StackCount = 6
  6197. assign Var6, ( String "DisplayVersion" )
  6198. pushtype UnicodeString ; StackCount = 7
  6199. assign Var7, ( String "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\A320X_P3Dv4_is1" )
  6200. pushtype S32 ; StackCount = 8
  6201. assign Var8, ( S32 -2147483646 )
  6202. pushvar Var4 ; StackCount = 9
  6203. call REGQUERYSTRINGVALUE
  6204. pop ; StackCount = 8
  6205. pop ; StackCount = 7
  6206. pop ; StackCount = 6
  6207. pop ; StackCount = 5
  6208. pop ; StackCount = 4
  6209. pop ; StackCount = 3
  6210. pushtype BOOLEAN ; StackCount = 4
  6211. pushtype S32 ; StackCount = 5
  6212. pushtype UnicodeString ; StackCount = 6
  6213. assign Var6, ( String "2.0.1.215" )
  6214. pushtype UnicodeString ; StackCount = 7
  6215. assign Var7, Var1
  6216. pushvar Var5 ; StackCount = 8
  6217. call COMPAREVERSION
  6218. pop ; StackCount = 7
  6219. pop ; StackCount = 6
  6220. pop ; StackCount = 5
  6221. compare Var4, Var5 < ( S32 0 )
  6222. pop ; StackCount = 4
  6223. setflag not Var4
  6224. pop ; StackCount = 3
  6225. jumpflag loc_48b
  6226. pushtype BOOLEAN ; StackCount = 4
  6227. pushtype S32 ; StackCount = 5
  6228. pushtype S32 ; StackCount = 6
  6229. assign Var6, ( S32 1 )
  6230. pushtype TMSGBOXTYPE ; StackCount = 7
  6231. assign Var7, ( U8 1 )
  6232. pushtype UnicodeString ; StackCount = 8
  6233. pushtype UnicodeString ; StackCount = 9
  6234. assign Var9, ( String "Version " )
  6235. calculate Var9 + Var1
  6236. calculate Var9 + ( String " of FSLabs A320X for P3Dv4 is previously installed. Select \"OK\" to uninstall first and continue or \"Cancel\" to exit." )
  6237. assign Var8, Var9
  6238. pop ; StackCount = 8
  6239. pushvar Var5 ; StackCount = 9
  6240. call MSGBOX
  6241. pop ; StackCount = 8
  6242. pop ; StackCount = 7
  6243. pop ; StackCount = 6
  6244. pop ; StackCount = 5
  6245. compare Var4, Var5 == ( S32 2 )
  6246. pop ; StackCount = 4
  6247. setflag not Var4
  6248. pop ; StackCount = 3
  6249. jumpflag loc_2e4
  6250. assign RetVal, ( U8 0 )
  6251. jump loc_486
  6252. loc_2e4:
  6253. pushtype BOOLEAN ; StackCount = 4
  6254. pushtype Pointer ; StackCount = 5
  6255. setptr Var5, Var2
  6256. pushtype UnicodeString ; StackCount = 6
  6257. assign Var6, ( String "UninstallString" )
  6258. pushtype UnicodeString ; StackCount = 7
  6259. assign Var7, ( String "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\A320X_P3Dv4_is1" )
  6260. pushtype S32 ; StackCount = 8
  6261. assign Var8, ( S32 -2147483646 )
  6262. pushvar Var4 ; StackCount = 9
  6263. call REGQUERYSTRINGVALUE
  6264. pop ; StackCount = 8
  6265. pop ; StackCount = 7
  6266. pop ; StackCount = 6
  6267. pop ; StackCount = 5
  6268. pop ; StackCount = 4
  6269. pop ; StackCount = 3
  6270. pushtype BOOLEAN ; StackCount = 4
  6271. pushtype Pointer ; StackCount = 5
  6272. setptr Var5, Var3
  6273. pushtype TEXECWAIT ; StackCount = 6
  6274. assign Var6, ( U8 1 )
  6275. pushtype S32 ; StackCount = 7
  6276. assign Var7, ( S32 0 )
  6277. pushtype UnicodeString ; StackCount = 8
  6278. assign Var8, ( String "" )
  6279. pushtype UnicodeString ; StackCount = 9
  6280. assign Var9, ( String "/VERYSILENT" )
  6281. pushtype UnicodeString ; StackCount = 10
  6282. assign Var10, Var2
  6283. pushtype UnicodeString ; StackCount = 11
  6284. assign Var11, ( String "runas" )
  6285. pushvar Var4 ; StackCount = 12
  6286. call SHELLEXEC
  6287. pop ; StackCount = 11
  6288. pop ; StackCount = 10
  6289. pop ; StackCount = 9
  6290. pop ; StackCount = 8
  6291. pop ; StackCount = 7
  6292. pop ; StackCount = 6
  6293. pop ; StackCount = 5
  6294. pop ; StackCount = 4
  6295. pop ; StackCount = 3
  6296. pushtype BOOLEAN ; StackCount = 4
  6297. compare Var4, Var3 == ( S32 0 )
  6298. setflag not Var4
  6299. pop ; StackCount = 3
  6300. jumpflag loc_47a
  6301. assign RetVal, ( U8 1 )
  6302. jump loc_486
  6303. loc_47a:
  6304. assign RetVal, ( U8 0 )
  6305. loc_486:
  6306. jump loc_564
  6307. loc_48b:
  6308. pushtype S32 ; StackCount = 4
  6309. pushtype S32 ; StackCount = 5
  6310. assign Var5, ( S32 0 )
  6311. pushtype TMSGBOXTYPE ; StackCount = 6
  6312. assign Var6, ( U8 0 )
  6313. pushtype UnicodeString ; StackCount = 7
  6314. pushtype UnicodeString ; StackCount = 8
  6315. assign Var8, ( String "Version " )
  6316. calculate Var8 + Var1
  6317. calculate Var8 + ( String " of FSLabs A320X for P3Dv4 is already installed. This installer will exit." )
  6318. assign Var7, Var8
  6319. pop ; StackCount = 7
  6320. pushvar Var4 ; StackCount = 8
  6321. call MSGBOX
  6322. pop ; StackCount = 7
  6323. pop ; StackCount = 6
  6324. pop ; StackCount = 5
  6325. pop ; StackCount = 4
  6326. pop ; StackCount = 3
  6327. assign RetVal, ( U8 0 )
  6328. loc_564:
  6329. jump loc_575
  6330. loc_569:
  6331. assign RetVal, ( U8 1 )
  6332. loc_575:
  6333. ret
  6334.  
  6335. Functions[216] = external returnsval REGKEYEXISTS(out Arg1)
  6336.  
  6337. Functions[217] = exported void COLLECTCOMPUTERDATA()
  6338. pushtype Variant ; StackCount = 1
  6339. pushtype Variant ; StackCount = 2
  6340. pushtype Variant[] ; StackCount = 3
  6341. pushtype Single ; StackCount = 4
  6342. pushtype IDISPATCH ; StackCount = 5
  6343. pushtype UnicodeString ; StackCount = 6
  6344. assign Var6, ( String "WbemScripting.SWbemLocator" )
  6345. pushvar Var5 ; StackCount = 7
  6346. call CREATEOLEOBJECT
  6347. pop ; StackCount = 6
  6348. pop ; StackCount = 5
  6349. assign Var1, Var5
  6350. pop ; StackCount = 4
  6351. pushtype !OPENARRAYOFVARIANT ; StackCount = 5
  6352. pushtype !OPENARRAYOFVARIANT ; StackCount = 6
  6353. pushtype S32 ; StackCount = 7
  6354. assign Var7, ( S32 2 )
  6355. pushvar Var6 ; StackCount = 8
  6356. call SETARRAYLENGTH
  6357. pop ; StackCount = 7
  6358. pop ; StackCount = 6
  6359. assign Var6[0], ( Char '.' )
  6360. assign Var6[1], ( String "root\cimv2" )
  6361. assign Var5, Var6
  6362. pop ; StackCount = 5
  6363. pushtype String ; StackCount = 6
  6364. assign Var6, ( String "ConnectServer" )
  6365. pushtype BOOLEAN ; StackCount = 7
  6366. assign Var7, ( U8 0 )
  6367. pushtype IDISPATCH ; StackCount = 8
  6368. assign Var8, Var1
  6369. pushvar Var2 ; StackCount = 9
  6370. call IDISPATCHINVOKE
  6371. pop ; StackCount = 8
  6372. pop ; StackCount = 7
  6373. pop ; StackCount = 6
  6374. pop ; StackCount = 5
  6375. pop ; StackCount = 4
  6376. pushtype UnicodeString ; StackCount = 5
  6377. assign Var5, ( String "SELECT * from Win32_ComputerSystem" )
  6378. pushtype Variant ; StackCount = 6
  6379. assign Var6, Var2
  6380. pushvar Var3 ; StackCount = 7
  6381. call WMIQUERY
  6382. pop ; StackCount = 6
  6383. pop ; StackCount = 5
  6384. pop ; StackCount = 4
  6385. pushtype BOOLEAN ; StackCount = 5
  6386. pushtype S32 ; StackCount = 6
  6387. pushtype Variant[] ; StackCount = 7
  6388. assign Var7, Var3
  6389. pushvar Var6 ; StackCount = 8
  6390. call GETARRAYLENGTH
  6391. pop ; StackCount = 7
  6392. pop ; StackCount = 6
  6393. compare Var5, Var6 > ( S32 0 )
  6394. pop ; StackCount = 5
  6395. setflag not Var5
  6396. pop ; StackCount = 4
  6397. jumpflag loc_323
  6398. pushtype Variant ; StackCount = 5
  6399. pushtype !OPENARRAYOFVARIANT ; StackCount = 6
  6400. pushtype !OPENARRAYOFVARIANT ; StackCount = 7
  6401. pushtype S32 ; StackCount = 8
  6402. assign Var8, ( S32 1 )
  6403. pushvar Var7 ; StackCount = 9
  6404. call SETARRAYLENGTH
  6405. pop ; StackCount = 8
  6406. pop ; StackCount = 7
  6407. assign Var7[0], ( String "Manufacturer" )
  6408. assign Var6, Var7
  6409. pop ; StackCount = 6
  6410. pushtype String ; StackCount = 7
  6411. assign Var7, ( String "Properties_" )
  6412. pushtype BOOLEAN ; StackCount = 8
  6413. assign Var8, ( U8 0 )
  6414. pushtype IDISPATCH ; StackCount = 9
  6415. assign Var9, Var3[0]
  6416. pushvar Var5 ; StackCount = 10
  6417. call IDISPATCHINVOKE
  6418. pop ; StackCount = 9
  6419. pop ; StackCount = 8
  6420. pop ; StackCount = 7
  6421. pop ; StackCount = 6
  6422. pop ; StackCount = 5
  6423. assign Global24, Var5
  6424. pop ; StackCount = 4
  6425. pushtype Variant ; StackCount = 5
  6426. pushtype !OPENARRAYOFVARIANT ; StackCount = 6
  6427. pushtype !OPENARRAYOFVARIANT ; StackCount = 7
  6428. pushtype S32 ; StackCount = 8
  6429. assign Var8, ( S32 1 )
  6430. pushvar Var7 ; StackCount = 9
  6431. call SETARRAYLENGTH
  6432. pop ; StackCount = 8
  6433. pop ; StackCount = 7
  6434. assign Var7[0], ( String "Model" )
  6435. assign Var6, Var7
  6436. pop ; StackCount = 6
  6437. pushtype String ; StackCount = 7
  6438. assign Var7, ( String "Properties_" )
  6439. pushtype BOOLEAN ; StackCount = 8
  6440. assign Var8, ( U8 0 )
  6441. pushtype IDISPATCH ; StackCount = 9
  6442. assign Var9, Var3[0]
  6443. pushvar Var5 ; StackCount = 10
  6444. call IDISPATCHINVOKE
  6445. pop ; StackCount = 9
  6446. pop ; StackCount = 8
  6447. pop ; StackCount = 7
  6448. pop ; StackCount = 6
  6449. pop ; StackCount = 5
  6450. assign Global25, Var5
  6451. pop ; StackCount = 4
  6452. loc_323:
  6453. pushtype UnicodeString ; StackCount = 5
  6454. assign Var5, ( String "SELECT Name from Win32_Processor" )
  6455. pushtype Variant ; StackCount = 6
  6456. assign Var6, Var2
  6457. pushvar Var3 ; StackCount = 7
  6458. call WMIQUERY
  6459. pop ; StackCount = 6
  6460. pop ; StackCount = 5
  6461. pop ; StackCount = 4
  6462. pushtype BOOLEAN ; StackCount = 5
  6463. pushtype S32 ; StackCount = 6
  6464. pushtype Variant[] ; StackCount = 7
  6465. assign Var7, Var3
  6466. pushvar Var6 ; StackCount = 8
  6467. call GETARRAYLENGTH
  6468. pop ; StackCount = 7
  6469. pop ; StackCount = 6
  6470. compare Var5, Var6 > ( S32 0 )
  6471. pop ; StackCount = 5
  6472. setflag not Var5
  6473. pop ; StackCount = 4
  6474. jumpflag loc_472
  6475. pushtype Variant ; StackCount = 5
  6476. pushtype !OPENARRAYOFVARIANT ; StackCount = 6
  6477. pushtype !OPENARRAYOFVARIANT ; StackCount = 7
  6478. pushtype S32 ; StackCount = 8
  6479. assign Var8, ( S32 1 )
  6480. pushvar Var7 ; StackCount = 9
  6481. call SETARRAYLENGTH
  6482. pop ; StackCount = 8
  6483. pop ; StackCount = 7
  6484. assign Var7[0], ( String "Name" )
  6485. assign Var6, Var7
  6486. pop ; StackCount = 6
  6487. pushtype String ; StackCount = 7
  6488. assign Var7, ( String "Properties_" )
  6489. pushtype BOOLEAN ; StackCount = 8
  6490. assign Var8, ( U8 0 )
  6491. pushtype IDISPATCH ; StackCount = 9
  6492. assign Var9, Var3[0]
  6493. pushvar Var5 ; StackCount = 10
  6494. call IDISPATCHINVOKE
  6495. pop ; StackCount = 9
  6496. pop ; StackCount = 8
  6497. pop ; StackCount = 7
  6498. pop ; StackCount = 6
  6499. pop ; StackCount = 5
  6500. assign Global26, Var5
  6501. pop ; StackCount = 4
  6502. loc_472:
  6503. pushtype UnicodeString ; StackCount = 5
  6504. assign Var5, ( String "SELECT * from Win32_ComputerSystem" )
  6505. pushtype Variant ; StackCount = 6
  6506. assign Var6, Var2
  6507. pushvar Var3 ; StackCount = 7
  6508. call WMIQUERY
  6509. pop ; StackCount = 6
  6510. pop ; StackCount = 5
  6511. pop ; StackCount = 4
  6512. pushtype BOOLEAN ; StackCount = 5
  6513. pushtype S32 ; StackCount = 6
  6514. pushtype Variant[] ; StackCount = 7
  6515. assign Var7, Var3
  6516. pushvar Var6 ; StackCount = 8
  6517. call GETARRAYLENGTH
  6518. pop ; StackCount = 7
  6519. pop ; StackCount = 6
  6520. compare Var5, Var6 > ( S32 0 )
  6521. pop ; StackCount = 5
  6522. setflag not Var5
  6523. pop ; StackCount = 4
  6524. jumpflag loc_651
  6525. pushtype Variant ; StackCount = 5
  6526. pushtype !OPENARRAYOFVARIANT ; StackCount = 6
  6527. pushtype !OPENARRAYOFVARIANT ; StackCount = 7
  6528. pushtype S32 ; StackCount = 8
  6529. assign Var8, ( S32 1 )
  6530. pushvar Var7 ; StackCount = 9
  6531. call SETARRAYLENGTH
  6532. pop ; StackCount = 8
  6533. pop ; StackCount = 7
  6534. assign Var7[0], ( String "TotalPhysicalMemory" )
  6535. assign Var6, Var7
  6536. pop ; StackCount = 6
  6537. pushtype String ; StackCount = 7
  6538. assign Var7, ( String "Properties_" )
  6539. pushtype BOOLEAN ; StackCount = 8
  6540. assign Var8, ( U8 0 )
  6541. pushtype IDISPATCH ; StackCount = 9
  6542. assign Var9, Var3[0]
  6543. pushvar Var5 ; StackCount = 10
  6544. call IDISPATCHINVOKE
  6545. pop ; StackCount = 9
  6546. pop ; StackCount = 8
  6547. pop ; StackCount = 7
  6548. pop ; StackCount = 6
  6549. pop ; StackCount = 5
  6550. assign Var4, Var5
  6551. pop ; StackCount = 4
  6552. calculate Var4 / ( S32 1073741824 )
  6553. pushtype !OPENARRAYOFCONST ; StackCount = 5
  6554. pushtype !OPENARRAYOFCONST ; StackCount = 6
  6555. pushtype S32 ; StackCount = 7
  6556. assign Var7, ( S32 1 )
  6557. pushvar Var6 ; StackCount = 8
  6558. call SETARRAYLENGTH
  6559. pop ; StackCount = 7
  6560. pop ; StackCount = 6
  6561. setcopypointer Var6[0], Var4
  6562. assign Var5, Var6
  6563. pop ; StackCount = 5
  6564. pushtype UnicodeString ; StackCount = 6
  6565. assign Var6, ( String "%.2f GB" )
  6566. pushvar Global27 ; StackCount = 7
  6567. call FORMAT
  6568. pop ; StackCount = 6
  6569. pop ; StackCount = 5
  6570. pop ; StackCount = 4
  6571. loc_651:
  6572. pushtype UnicodeString ; StackCount = 5
  6573. assign Var5, ( String "SELECT Version from Win32_OperatingSystem" )
  6574. pushtype Variant ; StackCount = 6
  6575. assign Var6, Var2
  6576. pushvar Var3 ; StackCount = 7
  6577. call WMIQUERY
  6578. pop ; StackCount = 6
  6579. pop ; StackCount = 5
  6580. pop ; StackCount = 4
  6581. pushtype BOOLEAN ; StackCount = 5
  6582. pushtype S32 ; StackCount = 6
  6583. pushtype Variant[] ; StackCount = 7
  6584. assign Var7, Var3
  6585. pushvar Var6 ; StackCount = 8
  6586. call GETARRAYLENGTH
  6587. pop ; StackCount = 7
  6588. pop ; StackCount = 6
  6589. compare Var5, Var6 > ( S32 0 )
  6590. pop ; StackCount = 5
  6591. setflag not Var5
  6592. pop ; StackCount = 4
  6593. jumpflag loc_7ac
  6594. pushtype Variant ; StackCount = 5
  6595. pushtype !OPENARRAYOFVARIANT ; StackCount = 6
  6596. pushtype !OPENARRAYOFVARIANT ; StackCount = 7
  6597. pushtype S32 ; StackCount = 8
  6598. assign Var8, ( S32 1 )
  6599. pushvar Var7 ; StackCount = 9
  6600. call SETARRAYLENGTH
  6601. pop ; StackCount = 8
  6602. pop ; StackCount = 7
  6603. assign Var7[0], ( String "Version" )
  6604. assign Var6, Var7
  6605. pop ; StackCount = 6
  6606. pushtype String ; StackCount = 7
  6607. assign Var7, ( String "Properties_" )
  6608. pushtype BOOLEAN ; StackCount = 8
  6609. assign Var8, ( U8 0 )
  6610. pushtype IDISPATCH ; StackCount = 9
  6611. assign Var9, Var3[0]
  6612. pushvar Var5 ; StackCount = 10
  6613. call IDISPATCHINVOKE
  6614. pop ; StackCount = 9
  6615. pop ; StackCount = 8
  6616. pop ; StackCount = 7
  6617. pop ; StackCount = 6
  6618. pop ; StackCount = 5
  6619. assign Global28, Var5
  6620. pop ; StackCount = 4
  6621. loc_7ac:
  6622. pushtype UnicodeString ; StackCount = 5
  6623. assign Var5, ( String "SELECT Name from Win32_VideoController" )
  6624. pushtype Variant ; StackCount = 6
  6625. assign Var6, Var2
  6626. pushvar Var3 ; StackCount = 7
  6627. call WMIQUERY
  6628. pop ; StackCount = 6
  6629. pop ; StackCount = 5
  6630. pop ; StackCount = 4
  6631. pushtype BOOLEAN ; StackCount = 5
  6632. pushtype S32 ; StackCount = 6
  6633. pushtype Variant[] ; StackCount = 7
  6634. assign Var7, Var3
  6635. pushvar Var6 ; StackCount = 8
  6636. call GETARRAYLENGTH
  6637. pop ; StackCount = 7
  6638. pop ; StackCount = 6
  6639. compare Var5, Var6 > ( S32 0 )
  6640. pop ; StackCount = 5
  6641. setflag not Var5
  6642. pop ; StackCount = 4
  6643. jumpflag loc_afb
  6644. pushtype Variant ; StackCount = 5
  6645. pushtype !OPENARRAYOFVARIANT ; StackCount = 6
  6646. pushtype !OPENARRAYOFVARIANT ; StackCount = 7
  6647. pushtype S32 ; StackCount = 8
  6648. assign Var8, ( S32 1 )
  6649. pushvar Var7 ; StackCount = 9
  6650. call SETARRAYLENGTH
  6651. pop ; StackCount = 8
  6652. pop ; StackCount = 7
  6653. assign Var7[0], ( String "Name" )
  6654. assign Var6, Var7
  6655. pop ; StackCount = 6
  6656. pushtype String ; StackCount = 7
  6657. assign Var7, ( String "Properties_" )
  6658. pushtype BOOLEAN ; StackCount = 8
  6659. assign Var8, ( U8 0 )
  6660. pushtype IDISPATCH ; StackCount = 9
  6661. assign Var9, Var3[0]
  6662. pushvar Var5 ; StackCount = 10
  6663. call IDISPATCHINVOKE
  6664. pop ; StackCount = 9
  6665. pop ; StackCount = 8
  6666. pop ; StackCount = 7
  6667. pop ; StackCount = 6
  6668. pop ; StackCount = 5
  6669. assign Global29, Var5
  6670. pop ; StackCount = 4
  6671. pushtype BOOLEAN ; StackCount = 5
  6672. pushtype S32 ; StackCount = 6
  6673. pushtype Variant[] ; StackCount = 7
  6674. assign Var7, Var3
  6675. pushvar Var6 ; StackCount = 8
  6676. call GETARRAYLENGTH
  6677. pop ; StackCount = 7
  6678. pop ; StackCount = 6
  6679. compare Var5, Var6 > ( S32 1 )
  6680. pop ; StackCount = 5
  6681. setflag not Var5
  6682. pop ; StackCount = 4
  6683. jumpflag loc_afb
  6684. pushtype Variant ; StackCount = 5
  6685. pushtype !OPENARRAYOFVARIANT ; StackCount = 6
  6686. pushtype !OPENARRAYOFVARIANT ; StackCount = 7
  6687. pushtype S32 ; StackCount = 8
  6688. assign Var8, ( S32 1 )
  6689. pushvar Var7 ; StackCount = 9
  6690. call SETARRAYLENGTH
  6691. pop ; StackCount = 8
  6692. pop ; StackCount = 7
  6693. assign Var7[0], ( String "Name" )
  6694. assign Var6, Var7
  6695. pop ; StackCount = 6
  6696. pushtype String ; StackCount = 7
  6697. assign Var7, ( String "Properties_" )
  6698. pushtype BOOLEAN ; StackCount = 8
  6699. assign Var8, ( U8 0 )
  6700. pushtype IDISPATCH ; StackCount = 9
  6701. assign Var9, Var3[1]
  6702. pushvar Var5 ; StackCount = 10
  6703. call IDISPATCHINVOKE
  6704. pop ; StackCount = 9
  6705. pop ; StackCount = 8
  6706. pop ; StackCount = 7
  6707. pop ; StackCount = 6
  6708. pop ; StackCount = 5
  6709. assign Global30, Var5
  6710. pop ; StackCount = 4
  6711. pushtype BOOLEAN ; StackCount = 5
  6712. pushtype S32 ; StackCount = 6
  6713. pushtype Variant[] ; StackCount = 7
  6714. assign Var7, Var3
  6715. pushvar Var6 ; StackCount = 8
  6716. call GETARRAYLENGTH
  6717. pop ; StackCount = 7
  6718. pop ; StackCount = 6
  6719. compare Var5, Var6 > ( S32 2 )
  6720. pop ; StackCount = 5
  6721. setflag not Var5
  6722. pop ; StackCount = 4
  6723. jumpflag loc_afb
  6724. pushtype Variant ; StackCount = 5
  6725. pushtype !OPENARRAYOFVARIANT ; StackCount = 6
  6726. pushtype !OPENARRAYOFVARIANT ; StackCount = 7
  6727. pushtype S32 ; StackCount = 8
  6728. assign Var8, ( S32 1 )
  6729. pushvar Var7 ; StackCount = 9
  6730. call SETARRAYLENGTH
  6731. pop ; StackCount = 8
  6732. pop ; StackCount = 7
  6733. assign Var7[0], ( String "Name" )
  6734. assign Var6, Var7
  6735. pop ; StackCount = 6
  6736. pushtype String ; StackCount = 7
  6737. assign Var7, ( String "Properties_" )
  6738. pushtype BOOLEAN ; StackCount = 8
  6739. assign Var8, ( U8 0 )
  6740. pushtype IDISPATCH ; StackCount = 9
  6741. assign Var9, Var3[2]
  6742. pushvar Var5 ; StackCount = 10
  6743. call IDISPATCHINVOKE
  6744. pop ; StackCount = 9
  6745. pop ; StackCount = 8
  6746. pop ; StackCount = 7
  6747. pop ; StackCount = 6
  6748. pop ; StackCount = 5
  6749. assign Global31, Var5
  6750. pop ; StackCount = 4
  6751. loc_afb:
  6752. ret
  6753.  
  6754. Functions[218] = exported void CHECKFORAMAR()
  6755. pushtype UnicodeString ; StackCount = 1
  6756. pushtype UnicodeString ; StackCount = 2
  6757. assign Var2, ( String "{username}" )
  6758. pushvar Var1 ; StackCount = 3
  6759. call EXPANDCONSTANT
  6760. pop ; StackCount = 2
  6761. pop ; StackCount = 1
  6762. pushtype UnicodeString ; StackCount = 2
  6763. assign Var2, Var1
  6764. pushvar Var1 ; StackCount = 3
  6765. call UPPERCASE
  6766. pop ; StackCount = 2
  6767. pop ; StackCount = 1
  6768. pushtype BOOLEAN ; StackCount = 2
  6769. pushtype S32 ; StackCount = 3
  6770. pushtype UnicodeString ; StackCount = 4
  6771. assign Var4, ( String "AMAR" )
  6772. pushtype UnicodeString ; StackCount = 5
  6773. assign Var5, Var1
  6774. pushvar Var3 ; StackCount = 6
  6775. call COMPARESTR
  6776. pop ; StackCount = 5
  6777. pop ; StackCount = 4
  6778. pop ; StackCount = 3
  6779. compare Var2, Var3 == ( S32 0 )
  6780. pop ; StackCount = 2
  6781. setflag not Var2
  6782. pop ; StackCount = 1
  6783. jumpflag loc_b5
  6784. call SENDLOGDATA
  6785. loc_b5:
  6786. ret
  6787.  
  6788. Functions[219] = exported void COLLECTADDONINSTALLPATH()
  6789. pushtype UnicodeString ; StackCount = 1
  6790. pushtype BOOLEAN ; StackCount = 2
  6791. pushtype UnicodeString ; StackCount = 3
  6792. pushtype S32 ; StackCount = 4
  6793. assign Global40, ( U8 0 )
  6794. pushtype UnicodeString ; StackCount = 5
  6795. assign Var5, ( String "" )
  6796. call LOG
  6797. pop ; StackCount = 4
  6798. pushtype UnicodeString ; StackCount = 5
  6799. assign Var5, ( String "Looking for existing FSLabs Aircraft Addons path in registry..." )
  6800. call LOG
  6801. pop ; StackCount = 4
  6802. pushtype Pointer ; StackCount = 5
  6803. setptr Var5, Global7
  6804. pushtype UnicodeString ; StackCount = 6
  6805. assign Var6, ( String "Path" )
  6806. pushtype UnicodeString ; StackCount = 7
  6807. assign Var7, Global41
  6808. pushtype S32 ; StackCount = 8
  6809. assign Var8, ( S32 -2147483647 )
  6810. pushvar Var2 ; StackCount = 9
  6811. call REGQUERYSTRINGVALUE
  6812. pop ; StackCount = 8
  6813. pop ; StackCount = 7
  6814. pop ; StackCount = 6
  6815. pop ; StackCount = 5
  6816. pop ; StackCount = 4
  6817. pushtype BOOLEAN ; StackCount = 5
  6818. assign Var5, Var2
  6819. logicalnot Var5
  6820. setflag not Var5
  6821. pop ; StackCount = 4
  6822. jumpflag loc_14a
  6823. assign Var3, ( String " NOT Found..." )
  6824. pushtype UnicodeString ; StackCount = 5
  6825. assign Var5, Var3
  6826. call LOG
  6827. pop ; StackCount = 4
  6828. jump loc_198
  6829. loc_14a:
  6830. pushtype UnicodeString ; StackCount = 5
  6831. assign Var5, ( String " Found...: " )
  6832. calculate Var5 + Global7
  6833. assign Var3, Var5
  6834. pop ; StackCount = 4
  6835. pushtype UnicodeString ; StackCount = 5
  6836. assign Var5, Var3
  6837. call LOG
  6838. pop ; StackCount = 4
  6839. loc_198:
  6840. pushtype BOOLEAN ; StackCount = 5
  6841. compare Var5, Global7 == ( String "" )
  6842. setflag not Var5
  6843. pop ; StackCount = 4
  6844. jumpflag loc_1d6
  6845. assign Global7, Global6
  6846. assign Global40, ( U8 1 )
  6847. loc_1d6:
  6848. ret
  6849.  
  6850. Functions[220] = exported BOOLEAN INITIALIZESETUP()
  6851. pushtype BOOLEAN ; StackCount = 1
  6852. pushtype UnicodeString ; StackCount = 2
  6853. assign Global41, ( String "SOFTWARE\FlightSimLabs\P3Dv4\A32X_AddonPath" )
  6854. call CHECKFORAMAR
  6855. pushtype BOOLEAN ; StackCount = 3
  6856. pushtype BOOLEAN ; StackCount = 4
  6857. pushvar Var4 ; StackCount = 5
  6858. call CHECKFOROLDERVERSION
  6859. pop ; StackCount = 4
  6860. compare Var3, Var4 == ( U8 0 )
  6861. pop ; StackCount = 3
  6862. setflag not Var3
  6863. pop ; StackCount = 2
  6864. jumpflag loc_90
  6865. assign RetVal, ( U8 0 )
  6866. jump loc_2bf
  6867. loc_90:
  6868. call INITWINVERSION
  6869. call COLLECTCOMPUTERDATA
  6870. pushtype UnicodeString ; StackCount = 3
  6871. assign Var3, ( String "-WMF" )
  6872. pushvar Var2 ; StackCount = 4
  6873. call GETCOMMANDLINEPARAM
  6874. pop ; StackCount = 3
  6875. pop ; StackCount = 2
  6876. pushtype BOOLEAN ; StackCount = 3
  6877. compare Var3, Var2 == ( String "yes" )
  6878. jumptrue Var3, loc_110
  6879. pushtype BOOLEAN ; StackCount = 4
  6880. compare Var4, Var2 == ( String "Yes" )
  6881. calculate Var3 | Var4
  6882. pop ; StackCount = 3
  6883. loc_110:
  6884. jumptrue Var3, loc_144
  6885. pushtype BOOLEAN ; StackCount = 4
  6886. compare Var4, Var2 == ( String "YES" )
  6887. calculate Var3 | Var4
  6888. pop ; StackCount = 3
  6889. loc_144:
  6890. jumptrue Var3, loc_172
  6891. pushtype BOOLEAN ; StackCount = 4
  6892. compare Var4, Var2 == ( Char 'y' )
  6893. calculate Var3 | Var4
  6894. pop ; StackCount = 3
  6895. loc_172:
  6896. jumptrue Var3, loc_1a0
  6897. pushtype BOOLEAN ; StackCount = 4
  6898. compare Var4, Var2 == ( Char 'Y' )
  6899. calculate Var3 | Var4
  6900. pop ; StackCount = 3
  6901. loc_1a0:
  6902. setflag not Var3
  6903. pop ; StackCount = 2
  6904. jumpflag loc_1ca
  6905. pushtype UnicodeString ; StackCount = 3
  6906. assign Var3, ( String "4.0" )
  6907. call WMF40
  6908. pop ; StackCount = 2
  6909. loc_1ca:
  6910. pushtype S32 ; StackCount = 3
  6911. assign Var3, ( S32 61 )
  6912. call DOTNETFX461
  6913. pop ; StackCount = 2
  6914. pushtype BOOLEAN ; StackCount = 3
  6915. pushvar Var3 ; StackCount = 4
  6916. call RUN_ESELLERATEINSTALLER
  6917. pop ; StackCount = 3
  6918. setflag not Var3
  6919. pop ; StackCount = 2
  6920. jumpflag loc_2bf
  6921. call COLLECTSIMSINFO
  6922. pushtype BOOLEAN ; StackCount = 3
  6923. compare Var3, Global4 == ( String "" )
  6924. setflag not Var3
  6925. pop ; StackCount = 2
  6926. jumpflag loc_2ae
  6927. pushtype S32 ; StackCount = 3
  6928. pushtype S32 ; StackCount = 4
  6929. assign Var4, ( S32 0 )
  6930. pushtype TMSGBOXTYPE ; StackCount = 5
  6931. assign Var5, ( U8 2 )
  6932. pushtype UnicodeString ; StackCount = 6
  6933. assign Var6, ( String "Unsupported P3Dv4 version or P3Dv4 not found." )
  6934. pushvar Var3 ; StackCount = 7
  6935. call MSGBOX
  6936. pop ; StackCount = 6
  6937. pop ; StackCount = 5
  6938. pop ; StackCount = 4
  6939. pop ; StackCount = 3
  6940. pop ; StackCount = 2
  6941. jump loc_2bf
  6942. loc_2ae:
  6943. call COLLECTADDONINSTALLPATH
  6944. assign RetVal, ( U8 1 )
  6945. loc_2bf:
  6946. ret
  6947.  
  6948. Functions[221] = exported BOOLEAN INITIALIZEUNINSTALL()
  6949. assign Global41, ( String "SOFTWARE\FlightSimLabs\P3Dv4\A32X_AddonPath" )
  6950. assign RetVal, ( U8 1 )
  6951. ret
Add Comment
Please, Sign In to add comment