Advertisement
Guest User

Untitled

a guest
May 25th, 2012
220
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 23.90 KB | None | 0 0
  1. void __thiscall sub_961D70(int this, int a2, int a3)
  2. {
  3. int v3; // ebx@1
  4. int v4; // eax@1
  5. char v5; // bl@1
  6. int v6; // eax@1
  7. int v7; // eax@1
  8. int v8; // edi@1
  9. int v9; // eax@1
  10. int v10; // eax@1
  11. int v11; // eax@1
  12. int v12; // edi@1
  13. int v13; // eax@1
  14. int v14; // eax@1
  15. int v15; // edi@1
  16. int v16; // eax@1
  17. int v17; // eax@1
  18. int v18; // eax@1
  19. int v19; // edi@1
  20. int v20; // eax@1
  21. bool v21; // zf@12
  22. void (__thiscall *v22)(_DWORD, _DWORD); // eax@12
  23. char *v23; // eax@13
  24. int v24; // edi@15
  25. int v25; // eax@15
  26. int v26; // eax@15
  27. int v27; // eax@15
  28. int v28; // eax@15
  29. int v29; // eax@15
  30. int v30; // eax@15
  31. int v31; // eax@15
  32. int v32; // eax@15
  33. int v33; // eax@15
  34. int v34; // eax@15
  35. int v35; // eax@15
  36. int v36; // eax@15
  37. int v37; // edx@15
  38. int v38; // edi@15
  39. int v39; // eax@17
  40. int v40; // eax@17
  41. int v41; // eax@17
  42. int v42; // edi@17
  43. int v43; // eax@17
  44. int v44; // eax@17
  45. int v45; // eax@17
  46. int v46; // edi@17
  47. int v47; // eax@17
  48. int v48; // edx@18
  49. char v49; // cl@19
  50. int v50; // eax@23
  51. int v51; // eax@23
  52. int v52; // eax@23
  53. int v53; // eax@23
  54. int v54; // eax@23
  55. int v55; // eax@23
  56. int v56; // edi@23
  57. void (__stdcall *v57)(_DWORD); // eax@23
  58. int v58; // eax@25
  59. int v59; // eax@25
  60. int v60; // edx@25
  61. int v61; // eax@26
  62. int v62; // eax@29
  63. int v63; // eax@29
  64. int v64; // eax@29
  65. int v65; // edi@29
  66. int v66; // eax@29
  67. int v67; // edx@30
  68. char v68; // cl@31
  69. int v69; // eax@35
  70. int v70; // eax@35
  71. int v71; // eax@35
  72. int v72; // edi@35
  73. int v73; // eax@35
  74. int v74; // edx@36
  75. char v75; // cl@37
  76. int v76; // eax@41
  77. int v77; // eax@41
  78. int v78; // eax@41
  79. int v79; // edi@41
  80. int v80; // eax@41
  81. int v81; // edx@42
  82. char v82; // cl@43
  83. int v83; // eax@47
  84. int v84; // eax@47
  85. int v85; // eax@47
  86. int v86; // edi@47
  87. int v87; // eax@47
  88. int v88; // edx@48
  89. char v89; // cl@49
  90. int v90; // eax@54
  91. int v91; // eax@54
  92. int v92; // eax@54
  93. int v93; // edi@54
  94. int v94; // eax@54
  95. int v95; // edx@55
  96. char v96; // cl@56
  97. int v97; // eax@58
  98. int v98; // eax@58
  99. int v99; // eax@58
  100. int v100; // eax@58
  101. int v101; // eax@58
  102. int v102; // eax@58
  103. int v103; // edi@58
  104. bool v104; // sf@60
  105. unsigned __int8 v105; // of@60
  106. int v106; // eax@61
  107. int v107; // eax@61
  108. int v108; // eax@61
  109. int v109; // edi@61
  110. int v110; // eax@61
  111. int v111; // edx@62
  112. char v112; // cl@63
  113. int v113; // eax@67
  114. int v114; // eax@67
  115. int v115; // eax@67
  116. int v116; // edi@67
  117. int v117; // eax@69
  118. char v118; // di@69
  119. int v119; // eax@69
  120. int v120; // eax@69
  121. int v121; // eax@69
  122. int v122; // eax@69
  123. int v123; // eax@69
  124. int v124; // eax@69
  125. int v125; // eax@69
  126. int v126; // eax@69
  127. int v127; // eax@70
  128. int v128; // edi@70
  129. int v129; // eax@70
  130. int v130; // edi@70
  131. int v131; // eax@70
  132. int v132; // edi@70
  133. int v133; // eax@70
  134. float v134; // ST5C_4@71
  135. float v135; // ST5C_4@71
  136. float v136; // ST5C_4@71
  137. int v137; // eax@73
  138. int v138; // eax@73
  139. int v139; // eax@73
  140. int v140; // edi@73
  141. int v141; // eax@73
  142. int v142; // eax@73
  143. int v143; // eax@73
  144. int v144; // edi@73
  145. int v145; // eax@73
  146. int v146; // edx@74
  147. char v147; // cl@75
  148. int v148; // eax@79
  149. int v149; // edx@80
  150. char v150; // cl@81
  151. signed int v151; // edi@83
  152. int v152; // eax@85
  153. int v153; // edx@86
  154. char v154; // cl@87
  155. int v155; // eax@90
  156. int v156; // edx@91
  157. char v157; // cl@92
  158. int v158; // eax@95
  159. int v159; // edx@96
  160. char v160; // cl@97
  161. int v161; // eax@100
  162. int v162; // eax@100
  163. int v163; // eax@100
  164. int v164; // edi@100
  165. int v165; // eax@105
  166. char v166; // di@105
  167. int v167; // eax@105
  168. int v168; // eax@105
  169. int v169; // eax@105
  170. int v170; // eax@105
  171. int v171; // eax@105
  172. int v172; // eax@105
  173. int v173; // eax@105
  174. int v174; // eax@105
  175. int v175; // edi@105
  176. int v176; // eax@109
  177. int v177; // edx@111
  178. int v178; // eax@112
  179. int v179; // eax@112
  180. int v180; // eax@112
  181. int v181; // edi@112
  182. int v182; // eax@112
  183. int v183; // edx@113
  184. char v184; // cl@114
  185. int v185; // eax@117
  186. int v186; // eax@117
  187. int v187; // eax@117
  188. int v188; // edi@117
  189. char v189; // [sp+60h] [bp-8B0h]@71
  190. int v190; // [sp+64h] [bp-8ACh]@71
  191. int v191; // [sp+68h] [bp-8A8h]@71
  192. unsigned int v192; // [sp+6Ch] [bp-8A4h]@1
  193. char v193; // [sp+7Ch] [bp-894h]@15
  194. char v194; // [sp+284h] [bp-68Ch]@69
  195. char v195; // [sp+48Ch] [bp-484h]@15
  196. char v196; // [sp+694h] [bp-27Ch]@69
  197. char v197; // [sp+6A0h] [bp-270h]@69
  198. char v198; // [sp+6ACh] [bp-264h]@15
  199. char v199; // [sp+6B8h] [bp-258h]@1
  200. char v200; // [sp+6C4h] [bp-24Ch]@15
  201. char v201; // [sp+6D0h] [bp-240h]@69
  202. int v202; // [sp+6DCh] [bp-234h]@1
  203. int v203; // [sp+6E8h] [bp-228h]@15
  204. int v204; // [sp+6ECh] [bp-224h]@15
  205. int v205; // [sp+6F0h] [bp-220h]@15
  206. char ArgList[4]; // [sp+6F4h] [bp-21Ch]@15
  207. char v207; // [sp+6F8h] [bp-218h]@1
  208. unsigned int v208; // [sp+900h] [bp-10h]@1
  209. int v209; // [sp+90Ch] [bp-4h]@1
  210. int v210; // [sp+910h] [bp+0h]@1
  211.  
  212. v208 = (unsigned int)&v210 ^ dword_1565F10;
  213. v192 = (unsigned int)&v210 ^ dword_1565F10;
  214. v3 = *(_DWORD *)(this + 4) + 48;
  215. v4 = sub_EEB3E0(&v202);
  216. v209 = 0;
  217. v5 = v3 + 8;
  218. v6 = sub_EEC000(v4, "%s.equipped_top_wrapper", v5);
  219. v7 = sub_964C80(&v207, v6);
  220. v8 = sub_93DB60(v7);
  221. v209 = -1;
  222. sub_EEB7E0(&v202);
  223. (*(void (__thiscall **)(int, int, unsigned int))(*(_DWORD *)v8 + 24))(v8, a3, v192);
  224. v9 = sub_EEB3E0(&v202);
  225. v209 = 1;
  226. v10 = sub_EEC000(v9, "%s.stack.equipped_spacer", v5);
  227. v11 = sub_964C80(&v207, v10);
  228. v12 = sub_93DB60(v11);
  229. v209 = -1;
  230. sub_EEB7E0(&v202);
  231. (*(void (__thiscall **)(int, int))(*(_DWORD *)v12 + 24))(v12, a3);
  232. v13 = sub_EEB3E0(&v202);
  233. v209 = 2;
  234. v14 = sub_EEC000(v13, "%s.stack.top_wrapper.stack.name", v5);
  235. sub_964C80(&v207, v14);
  236. v209 = -1;
  237. sub_EEB7E0(&v202);
  238. v15 = sub_93DB70(&v207);
  239. sub_95CF20(v15);
  240. (*(void (__thiscall **)(int, _DWORD, _DWORD))(*(_DWORD *)v15 + 132))(v15, *(_DWORD *)(a2 + 36), 0);
  241. v16 = sub_EEB3E0(&v202);
  242. v209 = 3;
  243. v17 = sub_EEC000(v16, "%s.stack.frame body.stack.main.accent", v5);
  244. v18 = sub_964C80(&v207, v17);
  245. v19 = sub_93DB60(v18);
  246. v209 = -1;
  247. sub_EEB7E0(&v202);
  248. sub_EEB3E0(&v199);
  249. v209 = 4;
  250. v20 = *(_DWORD *)(a2 + 4);
  251. if ( v20 == 1 )
  252. {
  253. v192 = (unsigned int)"UI:Tooltip_DPS_Armor";
  254. LABEL_11:
  255. sub_EEC620(v192);
  256. }
  257. else
  258. {
  259. if ( v20 != 3 )
  260. {
  261. switch ( *(_DWORD *)(a2 + 8) )
  262. {
  263. case 3:
  264. v192 = (unsigned int)"UI:Tooltip_DPS_Elemental_Fire";
  265. goto LABEL_11;
  266. case 2:
  267. v192 = (unsigned int)"UI:Tooltip_DPS_Elemental_Ice";
  268. goto LABEL_11;
  269. case 1:
  270. v192 = (unsigned int)"UI:Tooltip_DPS_Elemental_Lightning";
  271. goto LABEL_11;
  272. case 4:
  273. v192 = (unsigned int)"UI:Tooltip_DPS_Elemental_Poison";
  274. goto LABEL_11;
  275. case 5:
  276. v192 = (unsigned int)"UI:Tooltip_DPS_Elemental_Arcane";
  277. goto LABEL_11;
  278. case 0xD:
  279. v192 = (unsigned int)"UI:Tooltip_DPS_Elemental_Holy";
  280. goto LABEL_11;
  281. default:
  282. break;
  283. }
  284. }
  285. }
  286. v21 = sub_EEB290(&v199) == 0;
  287. v22 = *(void (__thiscall **)(_DWORD, _DWORD))(*(_DWORD *)v19 + 24);
  288. if ( v21 )
  289. {
  290. v22(v19, 0);
  291. }
  292. else
  293. {
  294. v22(v19, 1);
  295. v23 = (char *)sub_EEB270(&v199);
  296. sub_A7DDB0(v23);
  297. }
  298. v24 = sub_841F00(*(_DWORD *)(a2 + 12));
  299. v25 = sub_EEB3E0(&v202);
  300. LOBYTE(v209) = 5;
  301. v26 = sub_EEC000(v25, "%s.stack.frame body.stack.main.large_icon_frame", v5);
  302. v27 = sub_964C80(&v207, v26);
  303. *(_DWORD *)ArgList = sub_93DB60(v27);
  304. LOBYTE(v209) = 4;
  305. sub_EEB7E0(&v202);
  306. v28 = sub_EEB3E0(&v198);
  307. LOBYTE(v209) = 6;
  308. v29 = sub_EEC000(v28, "%s.stack.frame body.stack.main.large_itembutton", v5);
  309. v30 = sub_964C80(&v193, v29);
  310. v204 = sub_93DBB0(v30);
  311. LOBYTE(v209) = 4;
  312. sub_EEB7E0(&v198);
  313. (*(void (__stdcall **)(int))(**(_DWORD **)ArgList + 24))(v24);
  314. (*(void (__stdcall **)(int))(*(_DWORD *)v204 + 24))(v24);
  315. v31 = sub_EEB3E0(&v202);
  316. LOBYTE(v209) = 7;
  317. v32 = sub_EEC000(v31, "%s.stack.frame body.stack.main.small_icon_frame", v5);
  318. v33 = sub_964C80(&v207, v32);
  319. *(_DWORD *)ArgList = sub_93DB60(v33);
  320. LOBYTE(v209) = 4;
  321. sub_EEB7E0(&v202);
  322. v34 = sub_EEB3E0(&v200);
  323. LOBYTE(v209) = 8;
  324. v35 = sub_EEC000(v34, "%s.stack.frame body.stack.main.small_itembutton", v5);
  325. v36 = sub_964C80(&v195, v35);
  326. v203 = sub_93DBB0(v36);
  327. LOBYTE(v209) = 4;
  328. sub_EEB7E0(&v200);
  329. v37 = **(_DWORD **)ArgList;
  330. v205 = v24 == 0;
  331. (*(void (__stdcall **)(_DWORD))(v37 + 24))(v24 == 0);
  332. (*(void (__stdcall **)(int))(*(_DWORD *)v203 + 24))(v205);
  333. v21 = v24 == 0;
  334. v38 = v204;
  335. if ( v21 )
  336. v38 = v203;
  337. sub_B99310(*(_DWORD *)(a2 + 12));
  338. sub_B99320(*(_DWORD *)(a2 + 16));
  339. sub_B98410(a2 + 28);
  340. *(_DWORD *)(v38 + 3904) = *(_DWORD *)(a2 + 24);
  341. v39 = sub_EEB3E0(&v202);
  342. LOBYTE(v209) = 9;
  343. v40 = sub_EEC000(v39, "%s.stack.frame body.stack.main.stack.wrapper.col1.type", v5);
  344. v41 = sub_964C80(&v195, v40);
  345. v42 = sub_93DB70(v41);
  346. LOBYTE(v209) = 4;
  347. sub_EEB7E0(&v202);
  348. (*(void (__thiscall **)(int, _DWORD, _DWORD))(*(_DWORD *)v42 + 132))(v42, *(_DWORD *)(a2 + 40), 0);
  349. v43 = sub_EEB3E0(&v202);
  350. LOBYTE(v209) = 10;
  351. v44 = sub_EEC000(v43, "%s.stack.frame body.stack.main.stack.wrapper.col2.slot", v5);
  352. v45 = sub_964C80(&v195, v44);
  353. v46 = sub_93DB70(v45);
  354. LOBYTE(v209) = 4;
  355. sub_EEB7E0(&v202);
  356. v47 = *(_DWORD *)(a2 + 84);
  357. if ( !v47 )
  358. goto LABEL_122;
  359. v48 = v47 + 1;
  360. do
  361. v49 = *(_BYTE *)v47++;
  362. while ( v49 );
  363. if ( v47 != v48 )
  364. {
  365. (*(void (__thiscall **)(int, signed int))(*(_DWORD *)v46 + 24))(v46, 1);
  366. (*(void (__thiscall **)(int, _DWORD, _DWORD))(*(_DWORD *)v46 + 132))(v46, *(_DWORD *)(a2 + 84), 0);
  367. }
  368. else
  369. {
  370. LABEL_122:
  371. (*(void (__thiscall **)(int, _DWORD))(*(_DWORD *)v46 + 24))(v46, 0);
  372. }
  373. v50 = sub_EEB3E0(&v202);
  374. LOBYTE(v209) = 11;
  375. v51 = sub_EEC000(v50, "%s.stack.frame body.stack.main.stack.wrapper.col1.stack.rating", v5);
  376. v52 = sub_964C80(&v195, v51);
  377. v205 = sub_93DB70(v52);
  378. LOBYTE(v209) = 4;
  379. sub_EEB7E0(&v202);
  380. v53 = sub_EEB3E0(&v198);
  381. LOBYTE(v209) = 12;
  382. v54 = sub_EEC000(v53, "%s.stack.frame body.stack.main.stack.wrapper.col1.stack.rating_label", v5);
  383. v55 = sub_964C80(&v193, v54);
  384. v56 = sub_93DB70(v55);
  385. LOBYTE(v209) = 4;
  386. sub_EEB7E0(&v198);
  387. v57 = *(void (__stdcall **)(_DWORD))(*(_DWORD *)v205 + 24);
  388. if ( *(_DWORD *)(a2 + 4) == 3 )
  389. {
  390. v57(0);
  391. (*(void (__thiscall **)(int, _DWORD))(*(_DWORD *)v56 + 24))(v56, 0);
  392. }
  393. else
  394. {
  395. v57(1);
  396. (*(void (__stdcall **)(_DWORD, _DWORD))(*(_DWORD *)v205 + 132))(*(_DWORD *)(a2 + 44), 0);
  397. *(_DWORD *)(v205 + 3116) = dword_156533C;
  398. (*(void (__thiscall **)(int, signed int))(*(_DWORD *)v56 + 24))(v56, 1);
  399. if ( *(_DWORD *)(a2 + 4) == 1 )
  400. {
  401. v58 = sub_887A80((int)&v202, "H2OLayout:TooltipRatingLabelArmor");
  402. LOBYTE(v209) = 13;
  403. *(_DWORD *)ArgList = *(_DWORD *)v56 + 132;
  404. v192 = 0;
  405. v59 = sub_EEB270(v58);
  406. v60 = *(_DWORD *)ArgList;
  407. }
  408. else
  409. {
  410. v61 = sub_887A80((int)&v202, "H2OLayout:TooltipRatingLabelDPS");
  411. LOBYTE(v209) = 14;
  412. *(_DWORD *)ArgList = *(_DWORD *)v56 + 132;
  413. v192 = 0;
  414. v59 = sub_EEB270(v61);
  415. v60 = *(_DWORD *)ArgList;
  416. }
  417. (*(void (__thiscall **)(int, int, unsigned int))v60)(v56, v59, v192);
  418. LOBYTE(v209) = 4;
  419. sub_EEB7E0(&v202);
  420. }
  421. v62 = sub_EEB3E0(&v202);
  422. LOBYTE(v209) = 15;
  423. v63 = sub_EEC000(v62, "%s.stack.frame body.stack.main.stack.wrapper.col2.class_reqs", v5);
  424. v64 = sub_964C80(&v195, v63);
  425. v65 = sub_93DB70(v64);
  426. LOBYTE(v209) = 4;
  427. sub_EEB7E0(&v202);
  428. v66 = *(_DWORD *)(a2 + 52);
  429. if ( !v66 )
  430. goto LABEL_123;
  431. v67 = v66 + 1;
  432. do
  433. v68 = *(_BYTE *)v66++;
  434. while ( v68 );
  435. if ( v66 != v67 )
  436. {
  437. (*(void (__thiscall **)(int, signed int))(*(_DWORD *)v65 + 24))(v65, 1);
  438. (*(void (__thiscall **)(int, _DWORD, _DWORD))(*(_DWORD *)v65 + 132))(v65, *(_DWORD *)(a2 + 52), 0);
  439. }
  440. else
  441. {
  442. LABEL_123:
  443. (*(void (__thiscall **)(int, _DWORD))(*(_DWORD *)v65 + 24))(v65, 0);
  444. }
  445. v69 = sub_EEB3E0(&v202);
  446. LOBYTE(v209) = 16;
  447. v70 = sub_EEC000(v69, "%s.stack.frame body.stack.main.stack.special_stats", v5);
  448. v71 = sub_964C80(&v195, v70);
  449. v72 = sub_93DB70(v71);
  450. LOBYTE(v209) = 4;
  451. sub_EEB7E0(&v202);
  452. v73 = *(_DWORD *)(a2 + 48);
  453. if ( !v73 )
  454. goto LABEL_124;
  455. v74 = v73 + 1;
  456. do
  457. v75 = *(_BYTE *)v73++;
  458. while ( v75 );
  459. if ( v73 != v74 )
  460. {
  461. (*(void (__thiscall **)(int, signed int))(*(_DWORD *)v72 + 24))(v72, 1);
  462. (*(void (__thiscall **)(int, _DWORD, _DWORD))(*(_DWORD *)v72 + 132))(v72, *(_DWORD *)(a2 + 48), 0);
  463. }
  464. else
  465. {
  466. LABEL_124:
  467. (*(void (__thiscall **)(int, _DWORD))(*(_DWORD *)v72 + 24))(v72, 0);
  468. }
  469. v76 = sub_EEB3E0(&v202);
  470. LOBYTE(v209) = 17;
  471. v77 = sub_EEC000(v76, "%s.stack.frame body.stack.stats", v5);
  472. v78 = sub_964C80(&v195, v77);
  473. v79 = sub_93DB70(v78);
  474. LOBYTE(v209) = 4;
  475. sub_EEB7E0(&v202);
  476. v80 = *(_DWORD *)(a2 + 60);
  477. if ( !v80 )
  478. goto LABEL_125;
  479. v81 = v80 + 1;
  480. do
  481. v82 = *(_BYTE *)v80++;
  482. while ( v82 );
  483. if ( v80 != v81 )
  484. {
  485. (*(void (__thiscall **)(int, signed int))(*(_DWORD *)v79 + 24))(v79, 1);
  486. (*(void (__thiscall **)(int, _DWORD, _DWORD))(*(_DWORD *)v79 + 132))(v79, *(_DWORD *)(a2 + 60), 0);
  487. }
  488. else
  489. {
  490. LABEL_125:
  491. (*(void (__thiscall **)(int, _DWORD))(*(_DWORD *)v79 + 24))(v79, 0);
  492. }
  493. v83 = sub_EEB3E0(&v202);
  494. LOBYTE(v209) = 18;
  495. v84 = sub_EEC000(v83, "%s.stack.frame body.stack.enhancement", v5);
  496. v85 = sub_964C80(&v195, v84);
  497. v86 = sub_93DB70(v85);
  498. LOBYTE(v209) = 4;
  499. sub_EEB7E0(&v202);
  500. v87 = *(_DWORD *)(a2 + 96);
  501. if ( !v87 )
  502. goto LABEL_126;
  503. v88 = v87 + 1;
  504. do
  505. v89 = *(_BYTE *)v87++;
  506. while ( v89 );
  507. if ( v87 != v88 )
  508. {
  509. (*(void (__thiscall **)(int, signed int))(*(_DWORD *)v86 + 24))(v86, 1);
  510. (*(void (__thiscall **)(int, _DWORD, _DWORD))(*(_DWORD *)v86 + 132))(v86, *(_DWORD *)(a2 + 96), 0);
  511. }
  512. else
  513. {
  514. LABEL_126:
  515. (*(void (__thiscall **)(int, _DWORD))(*(_DWORD *)v86 + 24))(v86, 0);
  516. }
  517. v203 = 0;
  518. v205 = a2 + 100;
  519. v204 = a2 + 124;
  520. do
  521. {
  522. v90 = sub_EEB3E0(&v202);
  523. LOBYTE(v209) = 19;
  524. v192 = v203;
  525. v91 = sub_EEC000(v90, "%s.stack.frame body.stack.socket %d", v5);
  526. v92 = sub_964C80(&v195, v91);
  527. v93 = sub_93DB60(v92);
  528. LOBYTE(v209) = 4;
  529. sub_EEB7E0(&v202);
  530. v94 = *(_DWORD *)v205;
  531. if ( !*(_DWORD *)v205 )
  532. goto LABEL_127;
  533. v95 = v94 + 1;
  534. do
  535. v96 = *(_BYTE *)v94++;
  536. while ( v96 );
  537. if ( v94 != v95 )
  538. {
  539. (*(void (__thiscall **)(int, signed int))(*(_DWORD *)v93 + 24))(v93, 1);
  540. v97 = sub_EEB3E0(&v198);
  541. LOBYTE(v209) = 20;
  542. *(_DWORD *)ArgList = v93 + 56;
  543. v98 = sub_EEC000(v97, "%s.itembutton", v93 + 56);
  544. v99 = sub_964C80(&v193, v98);
  545. sub_93DBB0(v99);
  546. LOBYTE(v209) = 4;
  547. sub_EEB7E0(&v198);
  548. sub_B99310(*(_DWORD *)(v205 + 12));
  549. sub_B99320(-1);
  550. sub_B98410(v204);
  551. v100 = sub_EEB3E0(&v200);
  552. LOBYTE(v209) = 21;
  553. v101 = sub_EEC000(v100, "%s.text", ArgList[0]);
  554. v102 = sub_964C80(&v193, v101);
  555. v103 = sub_93DB70(v102);
  556. LOBYTE(v209) = 4;
  557. sub_EEB7E0(&v200);
  558. (*(void (__thiscall **)(int, _DWORD, _DWORD))(*(_DWORD *)v103 + 132))(v103, *(_DWORD *)v205, 0);
  559. }
  560. else
  561. {
  562. LABEL_127:
  563. (*(void (__thiscall **)(int, _DWORD))(*(_DWORD *)v93 + 24))(v93, 0);
  564. }
  565. v205 += 4;
  566. v204 += 8;
  567. v105 = __OFSUB__(v203 + 1, 3);
  568. v104 = v203++ - 2 < 0;
  569. }
  570. while ( v104 ^ v105 );
  571. v106 = sub_EEB3E0(&v202);
  572. LOBYTE(v209) = 22;
  573. v107 = sub_EEC000(v106, "%s.stack.frame body.stack.set_item", v5);
  574. v108 = sub_964C80(&v195, v107);
  575. v109 = sub_93DB70(v108);
  576. LOBYTE(v209) = 4;
  577. sub_EEB7E0(&v202);
  578. v110 = *(_DWORD *)(a2 + 64);
  579. if ( !v110 )
  580. goto LABEL_128;
  581. v111 = v110 + 1;
  582. do
  583. v112 = *(_BYTE *)v110++;
  584. while ( v112 );
  585. if ( v110 != v111 )
  586. {
  587. (*(void (__thiscall **)(int, signed int))(*(_DWORD *)v109 + 24))(v109, 1);
  588. (*(void (__thiscall **)(int, _DWORD, _DWORD))(*(_DWORD *)v109 + 132))(v109, *(_DWORD *)(a2 + 64), 0);
  589. }
  590. else
  591. {
  592. LABEL_128:
  593. (*(void (__thiscall **)(int, _DWORD))(*(_DWORD *)v109 + 24))(v109, 0);
  594. }
  595. v113 = sub_EEB3E0(&v202);
  596. LOBYTE(v209) = 23;
  597. v114 = sub_EEC000(v113, "%s.stack.frame body.stack.comparison", v5);
  598. v115 = sub_964C80(&v195, v114);
  599. v116 = sub_93DB60(v115);
  600. LOBYTE(v209) = 4;
  601. sub_EEB7E0(&v202);
  602. if ( a3 || !*(_DWORD *)(a2 + 148) )
  603. {
  604. (*(void (__thiscall **)(int, _DWORD))(*(_DWORD *)v116 + 24))(v116, 0);
  605. }
  606. else
  607. {
  608. (*(void (__thiscall **)(int, signed int))(*(_DWORD *)v116 + 24))(v116, 1);
  609. v117 = sub_EEB3E0(&v196);
  610. LOBYTE(v209) = 24;
  611. v118 = v116 + 56;
  612. v119 = sub_EEC000(v117, "%s.stack.field_0.value", v118);
  613. v120 = sub_964C80(&v193, v119);
  614. v204 = sub_93DB70(v120);
  615. LOBYTE(v209) = 4;
  616. sub_EEB7E0(&v196);
  617. v121 = sub_EEB3E0(&v197);
  618. LOBYTE(v209) = 25;
  619. v122 = sub_EEC000(v121, "%s.stack.field_1.value", v118);
  620. v123 = sub_964C80(&v207, v122);
  621. v203 = sub_93DB70(v123);
  622. LOBYTE(v209) = 4;
  623. sub_EEB7E0(&v197);
  624. v124 = sub_EEB3E0(&v201);
  625. LOBYTE(v209) = 26;
  626. v125 = sub_EEC000(v124, "%s.stack.field_2.value", v118);
  627. v126 = sub_964C80(&v194, v125);
  628. v205 = sub_93DB70(v126);
  629. LOBYTE(v209) = 4;
  630. sub_EEB7E0(&v201);
  631. if ( *(_DWORD *)(a2 + 24) == 3 )
  632. {
  633. v127 = sub_871AB0(431);
  634. sub_8877B0(&v200, v127, "MysteryValue");
  635. LOBYTE(v209) = 27;
  636. v128 = *(_DWORD *)v204;
  637. v129 = sub_EEB270(&v200);
  638. (*(void (__thiscall **)(int, int, _DWORD))(v128 + 132))(v204, v129, 0);
  639. v130 = *(_DWORD *)v203;
  640. v131 = sub_EEB270(&v200);
  641. (*(void (__thiscall **)(int, int, _DWORD))(v130 + 132))(v203, v131, 0);
  642. v132 = *(_DWORD *)v205;
  643. v133 = sub_EEB270(&v200);
  644. (*(void (__thiscall **)(int, int, _DWORD))(v132 + 132))(v205, v133, 0);
  645. LOBYTE(v209) = 4;
  646. sub_EEB7E0(&v200);
  647. }
  648. else
  649. {
  650. sub_EF3550(&v202, *(float *)(a2 + 152), 0, 0, 0, 0, 0);
  651. LOBYTE(v209) = 28;
  652. v192 = 1;
  653. *(_DWORD *)ArgList = &v189;
  654. sub_EEB420(&v202);
  655. LOBYTE(v209) = 29;
  656. v134 = *(float *)(a2 + 152);
  657. LOBYTE(v209) = 28;
  658. sub_961C10(LODWORD(v134), v189, v190, v191, v192);
  659. sub_EF3550(&v198, *(float *)(a2 + 156), 0, 0, 1, 1, 0);
  660. LOBYTE(v209) = 30;
  661. v192 = 1;
  662. *(_DWORD *)ArgList = &v189;
  663. sub_EEB420(&v198);
  664. LOBYTE(v209) = 31;
  665. v135 = *(float *)(a2 + 156);
  666. LOBYTE(v209) = 30;
  667. sub_961C10(LODWORD(v135), v189, v190, v191, v192);
  668. sub_EF3550(&v200, *(float *)(a2 + 160), 0, 2, 1, 1, 0);
  669. LOBYTE(v209) = 32;
  670. v192 = 3;
  671. *(_DWORD *)ArgList = &v189;
  672. sub_EEB420(&v200);
  673. LOBYTE(v209) = 33;
  674. v136 = *(float *)(a2 + 160);
  675. LOBYTE(v209) = 32;
  676. sub_961C10(LODWORD(v136), v189, v190, v191, v192);
  677. LOBYTE(v209) = 30;
  678. sub_EEB7E0(&v200);
  679. LOBYTE(v209) = 28;
  680. sub_EEB7E0(&v198);
  681. LOBYTE(v209) = 4;
  682. sub_EEB7E0(&v202);
  683. }
  684. }
  685. v137 = sub_EEB3E0(&v201);
  686. LOBYTE(v209) = 34;
  687. v138 = sub_EEC000(v137, "%s.stack.frame body.stack.flavor", v5);
  688. v139 = sub_964C80(&v194, v138);
  689. v140 = sub_93DB70(v139);
  690. LOBYTE(v209) = 4;
  691. sub_EEB7E0(&v201);
  692. (*(void (__thiscall **)(int, _DWORD, _DWORD))(*(_DWORD *)v140 + 132))(v140, *(_DWORD *)(a2 + 68), 0);
  693. v141 = sub_EEB3E0(&v201);
  694. LOBYTE(v209) = 35;
  695. v142 = sub_EEC000(v141, "%s.stack.frame body.stack.wrapper.reqs", v5);
  696. v143 = sub_964C80(&v194, v142);
  697. v144 = sub_93DB70(v143);
  698. LOBYTE(v209) = 4;
  699. sub_EEB7E0(&v201);
  700. v145 = *(_DWORD *)(a2 + 56);
  701. if ( !v145 )
  702. goto LABEL_129;
  703. v146 = v145 + 1;
  704. do
  705. v147 = *(_BYTE *)v145++;
  706. while ( v147 );
  707. if ( v145 != v146 )
  708. {
  709. (*(void (__thiscall **)(int, signed int))(*(_DWORD *)v144 + 24))(v144, 1);
  710. (*(void (__thiscall **)(int, _DWORD, _DWORD))(*(_DWORD *)v144 + 132))(v144, *(_DWORD *)(a2 + 56), 0);
  711. }
  712. else
  713. {
  714. LABEL_129:
  715. (*(void (__thiscall **)(int, _DWORD))(*(_DWORD *)v144 + 24))(v144, 0);
  716. }
  717. v148 = *(_DWORD *)(a2 + 72);
  718. if ( !v148 )
  719. goto LABEL_130;
  720. v149 = v148 + 1;
  721. do
  722. v150 = *(_BYTE *)v148++;
  723. while ( v150 );
  724. if ( v148 != v149 )
  725. {
  726. v151 = 1;
  727. v203 = 1;
  728. }
  729. else
  730. {
  731. LABEL_130:
  732. v203 = 0;
  733. v151 = 1;
  734. }
  735. v152 = *(_DWORD *)(a2 + 76);
  736. if ( !v152 )
  737. goto LABEL_131;
  738. v153 = v152 + 1;
  739. do
  740. v154 = *(_BYTE *)v152++;
  741. while ( v154 );
  742. *(_DWORD *)ArgList = v151;
  743. if ( v152 == v153 )
  744. LABEL_131:
  745. *(_DWORD *)ArgList = 0;
  746. v155 = *(_DWORD *)(a2 + 88);
  747. if ( !v155 )
  748. goto LABEL_132;
  749. v156 = v155 + 1;
  750. do
  751. v157 = *(_BYTE *)v155++;
  752. while ( v157 );
  753. v205 = v151;
  754. if ( v155 == v156 )
  755. LABEL_132:
  756. v205 = 0;
  757. v158 = *(_DWORD *)(a2 + 92);
  758. if ( !v158 )
  759. goto LABEL_133;
  760. v159 = v158 + 1;
  761. do
  762. v160 = *(_BYTE *)v158++;
  763. while ( v160 );
  764. v204 = v151;
  765. if ( v158 == v159 )
  766. LABEL_133:
  767. v204 = 0;
  768. v161 = sub_EEB3E0(&v201);
  769. LOBYTE(v209) = 36;
  770. v162 = sub_EEC000(v161, "%s.stack.frame_cost", v5);
  771. v163 = sub_964C80(&v194, v162);
  772. v164 = sub_93DB60(v163);
  773. LOBYTE(v209) = 4;
  774. sub_EEB7E0(&v201);
  775. if ( v203 || *(_DWORD *)ArgList || v205 || v204 )
  776. {
  777. (*(void (__thiscall **)(int, signed int))(*(_DWORD *)v164 + 24))(v164, 1);
  778. v165 = sub_EEB3E0(&v197);
  779. LOBYTE(v209) = 37;
  780. v166 = v164 + 56;
  781. v167 = sub_EEC000(v165, "%s.cost", v166);
  782. v168 = sub_964C80(&v195, v167);
  783. *(_DWORD *)ArgList = sub_93DB70(v168);
  784. LOBYTE(v209) = 4;
  785. sub_EEB7E0(&v197);
  786. (*(void (__stdcall **)(_DWORD, _DWORD))(**(_DWORD **)ArgList + 132))(*(_DWORD *)(a2 + 72), 0);
  787. v169 = sub_EEB3E0(&v197);
  788. LOBYTE(v209) = 38;
  789. v170 = sub_EEC000(v169, "%s.durability", v166);
  790. v171 = sub_964C80(&v195, v170);
  791. *(_DWORD *)ArgList = sub_93DB70(v171);
  792. LOBYTE(v209) = 4;
  793. sub_EEB7E0(&v197);
  794. (*(void (__stdcall **)(_DWORD, _DWORD))(**(_DWORD **)ArgList + 132))(*(_DWORD *)(a2 + 76), 0);
  795. v172 = sub_EEB3E0(&v197);
  796. LOBYTE(v209) = 39;
  797. v173 = sub_EEC000(v172, "%s.socket_cost", v166);
  798. v174 = sub_964C80(&v195, v173);
  799. v175 = sub_93DB70(v174);
  800. LOBYTE(v209) = 4;
  801. sub_EEB7E0(&v197);
  802. if ( v205 || v204 )
  803. {
  804. (*(void (__thiscall **)(int, signed int))(*(_DWORD *)v175 + 24))(v175, 1);
  805. if ( v205 )
  806. v176 = *(_DWORD *)(a2 + 88);
  807. else
  808. v176 = *(_DWORD *)(a2 + 92);
  809. v177 = *(_DWORD *)v175;
  810. v192 = 0;
  811. v191 = v176;
  812. (*(void (__thiscall **)(int, int, _DWORD))(v177 + 132))(v175, v176, 0);
  813. }
  814. else
  815. {
  816. (*(void (__thiscall **)(int, _DWORD))(*(_DWORD *)v175 + 24))(v175, 0);
  817. }
  818. }
  819. else
  820. {
  821. (*(void (__thiscall **)(int, _DWORD))(*(_DWORD *)v164 + 24))(v164, 0);
  822. }
  823. v178 = sub_EEB3E0(&v201);
  824. LOBYTE(v209) = 40;
  825. v179 = sub_EEC000(v178, "%s.stack.frame_instruction", v5);
  826. v180 = sub_964C80(&v194, v179);
  827. v181 = sub_93DB60(v180);
  828. LOBYTE(v209) = 4;
  829. sub_EEB7E0(&v201);
  830. v182 = *(_DWORD *)(a2 + 80);
  831. if ( !v182 )
  832. goto LABEL_134;
  833. v183 = v182 + 1;
  834. do
  835. v184 = *(_BYTE *)v182++;
  836. while ( v184 );
  837. if ( v182 == v183 || *(_BYTE *)(a2 + 20) & 4 )
  838. {
  839. LABEL_134:
  840. (*(void (__thiscall **)(int, _DWORD))(*(_DWORD *)v181 + 24))(v181, 0);
  841. }
  842. else
  843. {
  844. (*(void (__thiscall **)(int, signed int))(*(_DWORD *)v181 + 24))(v181, 1);
  845. v185 = sub_EEB3E0(&v201);
  846. LOBYTE(v209) = 41;
  847. v186 = sub_EEC000(v185, "%s.stack.frame_instruction.stack.text", v5);
  848. v187 = sub_964C80(&v194, v186);
  849. v188 = sub_93DB70(v187);
  850. LOBYTE(v209) = 4;
  851. sub_EEB7E0(&v201);
  852. (*(void (__thiscall **)(int, _DWORD, _DWORD))(*(_DWORD *)v188 + 132))(v188, *(_DWORD *)(a2 + 80), 0);
  853. }
  854. v209 = -1;
  855. sub_EEB7E0(&v199);
  856. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement