fork(13) download
  1. unsigned int __thiscall sub_540CB0(_DWORD *this, _DWORD *a2, int a3)
  2. {
  3. _DWORD *v3; // ebp
  4. int v4; // edi
  5. char *v5; // ST14_4
  6. int v6; // eax
  7. int v7; // edi
  8. float v8; // ST14_4
  9. int v9; // eax
  10. int v10; // edi
  11. float v11; // ST14_4
  12. int v12; // eax
  13. int v13; // edi
  14. float v14; // ST14_4
  15. int v15; // eax
  16. int v16; // edi
  17. char *v17; // ST14_4
  18. int v18; // eax
  19. int v19; // edi
  20. char *v20; // ST14_4
  21. int v21; // eax
  22. int v22; // edi
  23. char *v23; // ST14_4
  24. int v24; // eax
  25. int v25; // edi
  26. float v26; // ST14_4
  27. int v27; // eax
  28. int v28; // edi
  29. float v29; // ST14_4
  30. int v30; // eax
  31. int v31; // edi
  32. float v32; // ST14_4
  33. int v33; // eax
  34. int v34; // edi
  35. float v35; // ST14_4
  36. int v36; // eax
  37. int v37; // edi
  38. int v38; // eax
  39. int v39; // edi
  40. char *v40; // ST14_4
  41. int v41; // eax
  42. int v42; // edi
  43. unsigned int v43; // eax
  44. int v44; // eax
  45. int v45; // eax
  46. int v46; // edi
  47. char *v47; // ST14_4
  48. int v48; // eax
  49. int v49; // edi
  50. char *v50; // ST14_4
  51. int v51; // eax
  52. int v52; // edi
  53. char *v53; // ST14_4
  54. int v54; // eax
  55. int v55; // edi
  56. char *v56; // ST14_4
  57. int v57; // eax
  58. int v58; // edi
  59. char *v59; // ST14_4
  60. int v60; // eax
  61. int v61; // edi
  62. char *v62; // ST14_4
  63. int v63; // eax
  64. int v64; // edi
  65. char *v65; // ST14_4
  66. int v66; // eax
  67. int v67; // edi
  68. float v68; // ST14_4
  69. int v69; // eax
  70. int v70; // edi
  71. float v71; // ST14_4
  72. int v72; // eax
  73. int v73; // edi
  74. float v74; // ST14_4
  75. int v75; // eax
  76. int v76; // edi
  77. float v77; // ST14_4
  78. int v78; // eax
  79. int v79; // edi
  80. float v80; // ST14_4
  81. int v81; // eax
  82. int v82; // edi
  83. float v83; // ST14_4
  84. int v84; // eax
  85. int v85; // edi
  86. float v86; // ST14_4
  87. int v87; // eax
  88. int v88; // edi
  89. int v89; // eax
  90. int v90; // edi
  91. int v91; // eax
  92. int v92; // edi
  93. int v93; // eax
  94. int v94; // edi
  95. int v95; // eax
  96. int v96; // edi
  97. int v97; // eax
  98. int v98; // edi
  99. int v99; // eax
  100. signed int v100; // edi
  101. int v101; // eax
  102. int v102; // edi
  103. char *v103; // ST14_4
  104. int v104; // eax
  105. int v105; // edi
  106. char *v106; // ST14_4
  107. int v107; // eax
  108. int v108; // edi
  109. char *v109; // ST14_4
  110. int v110; // eax
  111. int v111; // esi
  112. char *v112; // ST14_4
  113. int v113; // eax
  114. unsigned int result; // eax
  115. unsigned int v115; // eax
  116. unsigned int v116; // eax
  117. int v117; // eax
  118. unsigned int v118; // eax
  119. unsigned int v119; // eax
  120. unsigned int v120; // eax
  121. unsigned int v121; // eax
  122. unsigned int v122; // eax
  123. unsigned int v123; // eax
  124. unsigned int v124; // eax
  125. unsigned int v125; // eax
  126. int v126; // eax
  127. unsigned int v127; // eax
  128. int v128; // eax
  129. unsigned int v129; // eax
  130. unsigned int v130; // eax
  131. unsigned int v131; // eax
  132. int v132; // eax
  133. int v133; // eax
  134. int v134; // eax
  135. int v135; // eax
  136. int v136; // eax
  137. int v137; // eax
  138. int v138; // eax
  139. int v139; // eax
  140. int v140; // eax
  141. int v141; // eax
  142. int v142; // eax
  143. int v143; // eax
  144. int v144; // eax
  145. int v145; // eax
  146. signed int v146; // edi
  147. int v147; // ebx
  148. int v148; // eax
  149. int v149; // eax
  150. signed int v150; // edi
  151. int v151; // ebx
  152. int v152; // eax
  153. int v153; // eax
  154. signed int v154; // edi
  155. int v155; // ebx
  156. int v156; // eax
  157. int v157; // eax
  158. signed int v158; // edi
  159. int v159; // ebx
  160. int v160; // eax
  161. int v161; // eax
  162. int v162; // eax
  163. int v163; // eax
  164. int v164; // eax
  165. unsigned int v165; // eax
  166. unsigned int v166; // eax
  167. unsigned int v167; // eax
  168. unsigned __int8 *v168; // [esp+10h] [ebp-1D0h]
  169. char v169; // [esp+14h] [ebp-1CCh]
  170. unsigned int i; // [esp+24h] [ebp-1BCh]
  171. char v171; // [esp+28h] [ebp-1B8h]
  172. int v172; // [esp+38h] [ebp-1A8h]
  173. char v173[80]; // [esp+3Ch] [ebp-1A4h]
  174. char v174; // [esp+8Ch] [ebp-154h]
  175. char v175; // [esp+C0h] [ebp-120h]
  176. char v176; // [esp+144h] [ebp-9Ch]
  177. char v177; // [esp+145h] [ebp-9Bh]
  178. __int16 v178; // [esp+1C1h] [ebp-1Fh]
  179. char v179; // [esp+1C3h] [ebp-1Dh]
  180. char v180; // [esp+1C4h] [ebp-1Ch]
  181. int v181; // [esp+1DCh] [ebp-4h]
  182.  
  183. v3 = this;
  184. sub_40289C(a2, a3);
  185. v176 = 0;
  186. memset(&v177, 0, 0x7Cu);
  187. v178 = 0;
  188. v179 = 0;
  189. if ( (_BYTE)a3 )
  190. {
  191. v4 = sub_85AAE0(aCategory) + 16;
  192. sub_402E96(2, 1);
  193. v5 = (char *)v3[4];
  194. v181 = 0;
  195. sub_40802B(v5);
  196. if ( *(_DWORD *)(v4 + 8) )
  197. sub_405957(1, 32);
  198. v6 = sub_40DF53(&v171);
  199. LOBYTE(v181) = 1;
  200. std::basic_string<char,std::char_traits<char>,std::allocator<char>>::append(v6, 0, -1);
  201. LOBYTE(v181) = 0;
  202. sub_4029D7(1);
  203. v181 = -1;
  204. sub_40D04E(&v175);
  205. sub_85AAE0(aName);
  206. sub_406EBF(v3 + 5, 0, -1);
  207. sub_85AAE0(aComment);
  208. sub_406EBF(v3 + 9, 0, -1);
  209. sub_85AAE0(aModel);
  210. sub_406EBF(v3 + 13, 0, -1);
  211. v7 = sub_85AAE0(aHeight) + 16;
  212. sub_402E96(2, 1);
  213. v8 = *((float *)v3 + 17);
  214. v181 = 2;
  215. sub_408189(v8);
  216. if ( *(_DWORD *)(v7 + 8) )
  217. sub_405957(1, 32);
  218. v9 = sub_40DF53(&v171);
  219. LOBYTE(v181) = 3;
  220. std::basic_string<char,std::char_traits<char>,std::allocator<char>>::append(v9, 0, -1);
  221. LOBYTE(v181) = 2;
  222. sub_4029D7(1);
  223. v181 = -1;
  224. sub_40D04E(&v175);
  225. v10 = sub_85AAE0(aSize) + 16;
  226. sub_402E96(2, 1);
  227. v11 = *((float *)v3 + 18);
  228. v181 = 4;
  229. sub_408189(v11);
  230. if ( *(_DWORD *)(v10 + 8) )
  231. sub_405957(1, 32);
  232. v12 = sub_40DF53(&v171);
  233. LOBYTE(v181) = 5;
  234. std::basic_string<char,std::char_traits<char>,std::allocator<char>>::append(v12, 0, -1);
  235. LOBYTE(v181) = 4;
  236. sub_4029D7(1);
  237. v181 = -1;
  238. sub_40D04E(&v175);
  239. v13 = sub_85AAE0(aDelaytime) + 16;
  240. sub_402E96(2, 1);
  241. v14 = *((float *)v3 + 19);
  242. v181 = 6;
  243. sub_408189(v14);
  244. if ( *(_DWORD *)(v13 + 8) )
  245. sub_405957(1, 32);
  246. v15 = sub_40DF53(&v171);
  247. LOBYTE(v181) = 7;
  248. std::basic_string<char,std::char_traits<char>,std::allocator<char>>::append(v15, 0, -1);
  249. LOBYTE(v181) = 6;
  250. sub_4029D7(1);
  251. v181 = -1;
  252. sub_40D04E(&v175);
  253. v16 = sub_85AAE0(aLevel) + 16;
  254. sub_402E96(2, 1);
  255. v17 = (char *)v3[20];
  256. v181 = 8;
  257. sub_40802B(v17);
  258. if ( *(_DWORD *)(v16 + 8) )
  259. sub_405957(1, 32);
  260. v18 = sub_40DF53(&v171);
  261. LOBYTE(v181) = 9;
  262. std::basic_string<char,std::char_traits<char>,std::allocator<char>>::append(v18, 0, -1);
  263. LOBYTE(v181) = 8;
  264. sub_4029D7(1);
  265. v181 = -1;
  266. sub_40D04E(&v175);
  267. v19 = sub_85AAE0(aMaxhp) + 16;
  268. sub_402E96(2, 1);
  269. v20 = (char *)v3[21];
  270. v181 = 10;
  271. sub_40802B(v20);
  272. if ( *(_DWORD *)(v19 + 8) )
  273. sub_405957(1, 32);
  274. v21 = sub_40DF53(&v171);
  275. LOBYTE(v181) = 11;
  276. std::basic_string<char,std::char_traits<char>,std::allocator<char>>::append(v21, 0, -1);
  277. LOBYTE(v181) = 10;
  278. sub_4029D7(1);
  279. v181 = -1;
  280. sub_40D04E(&v175);
  281. v22 = sub_85AAE0(aMaxmp) + 16;
  282. sub_402E96(2, 1);
  283. v23 = (char *)v3[22];
  284. v181 = 12;
  285. sub_40802B(v23);
  286. if ( *(_DWORD *)(v22 + 8) )
  287. sub_405957(1, 32);
  288. v24 = sub_40DF53(&v171);
  289. LOBYTE(v181) = 13;
  290. std::basic_string<char,std::char_traits<char>,std::allocator<char>>::append(v24, 0, -1);
  291. LOBYTE(v181) = 12;
  292. sub_4029D7(1);
  293. v181 = -1;
  294. sub_40D04E(&v175);
  295. v25 = sub_85AAE0(aMovespeed) + 16;
  296. sub_402E96(2, 1);
  297. v26 = *((float *)v3 + 23);
  298. v181 = 14;
  299. sub_408189(v26);
  300. if ( *(_DWORD *)(v25 + 8) )
  301. sub_405957(1, 32);
  302. v27 = sub_40DF53(&v171);
  303. LOBYTE(v181) = 15;
  304. v28 = std::basic_string<char,std::char_traits<char>,std::allocator<char>>::append(v27, 0, -1);
  305. LOBYTE(v181) = 14;
  306. sub_4029D7(1);
  307. v181 = -1;
  308. sub_40D04E(&v175);
  309. sub_402E96(2, 1);
  310. v29 = *((float *)v3 + 24);
  311. v181 = 16;
  312. sub_408189(v29);
  313. if ( *(_DWORD *)(v28 + 8) )
  314. sub_405957(1, 32);
  315. v30 = sub_40DF53(&v169);
  316. LOBYTE(v181) = 17;
  317. std::basic_string<char,std::char_traits<char>,std::allocator<char>>::append(v30, 0, -1);
  318. LOBYTE(v181) = 16;
  319. sub_4029D7(1);
  320. v181 = -1;
  321. sub_40D04E(&v172);
  322. v31 = sub_85AAE0(aBasemovespeed) + 16;
  323. sub_402E96(2, 1);
  324. v32 = *((float *)v3 + 25);
  325. v181 = 18;
  326. sub_408189(v32);
  327. if ( *(_DWORD *)(v31 + 8) )
  328. sub_405957(1, 32);
  329. v33 = sub_40DF53(&v169);
  330. LOBYTE(v181) = 19;
  331. v34 = std::basic_string<char,std::char_traits<char>,std::allocator<char>>::append(v33, 0, -1);
  332. LOBYTE(v181) = 18;
  333. sub_4029D7(1);
  334. v181 = -1;
  335. sub_40D04E(&v172);
  336. sub_402E96(2, 1);
  337. v35 = *((float *)v3 + 26);
  338. v181 = 20;
  339. sub_408189(v35);
  340. if ( *(_DWORD *)(v34 + 8) )
  341. sub_405957(1, 32);
  342. v36 = sub_40DF53(&v171);
  343. LOBYTE(v181) = 21;
  344. std::basic_string<char,std::char_traits<char>,std::allocator<char>>::append(v36, 0, -1);
  345. LOBYTE(v181) = 20;
  346. sub_4029D7(1);
  347. v181 = -1;
  348. sub_40D04E(&v175);
  349. v168 = (unsigned __int8 *)v3[27];
  350. v37 = sub_85AAE0(aNatural) + 16;
  351. sub_402E96(2, 1);
  352. v181 = 22;
  353. sub_40802B((char *)v168);
  354. if ( *(_DWORD *)(v37 + 8) )
  355. sub_405957(1, 32);
  356. v38 = sub_40DF53(&v169);
  357. LOBYTE(v181) = 23;
  358. std::basic_string<char,std::char_traits<char>,std::allocator<char>>::append(v38, 0, -1);
  359. LOBYTE(v181) = 22;
  360. sub_4029D7(1);
  361. v181 = -1;
  362. sub_40D04E(&v172);
  363. v39 = sub_85AAE0(aImmunitylevel) + 16;
  364. sub_402E96(2, 1);
  365. v40 = (char *)v3[28];
  366. v181 = 24;
  367. sub_40802B(v40);
  368. if ( *(_DWORD *)(v39 + 8) )
  369. sub_405957(1, 32);
  370. v41 = sub_40DF53(&v169);
  371. LOBYTE(v181) = 25;
  372. std::basic_string<char,std::char_traits<char>,std::allocator<char>>::append(v41, 0, -1);
  373. LOBYTE(v181) = 24;
  374. sub_4029D7(1);
  375. v181 = -1;
  376. sub_40D04E(&v172);
  377. v42 = sub_85AAE0(aAbnormalimmuni) + 16;
  378. i = -1;
  379. sub_40E089(v42);
  380. v43 = *(_DWORD *)(v42 + 8);
  381. if ( v43 < i )
  382. i = *(_DWORD *)(v42 + 8);
  383. if ( i )
  384. {
  385. memcpy(*(void **)(v42 + 4), (const void *)(*(_DWORD *)(v42 + 4) + i), v43 - i);
  386. v168 = (unsigned __int8 *)(*(_DWORD *)(v42 + 8) - i);
  387. if ( (unsigned __int8)sub_40414C(v168, 0) )
  388. std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Eos(v168);
  389. }
  390. for ( i = 0; ; ++i )
  391. {
  392. v44 = v3[30];
  393. if ( !v44 || i >= (v3[31] - v44) >> 2 )
  394. break;
  395. v168 = (unsigned __int8 *)v3[30];
  396. sub_402E96(2, 1);
  397. v181 = 26;
  398. sub_40802B(*(char **)&v168[4 * i]);
  399. if ( *(_DWORD *)(v42 + 8) )
  400. sub_405957(1, 32);
  401. v45 = sub_40DF53(&v169);
  402. LOBYTE(v181) = 27;
  403. std::basic_string<char,std::char_traits<char>,std::allocator<char>>::append(v45, 0, -1);
  404. LOBYTE(v181) = 26;
  405. sub_4029D7(1);
  406. v181 = -1;
  407. sub_40D04E(&v172);
  408. }
  409. v46 = sub_85AAE0(aBonusexp) + 16;
  410. sub_402E96(2, 1);
  411. v47 = (char *)v3[33];
  412. v181 = 28;
  413. sub_40802B(v47);
  414. if ( *(_DWORD *)(v46 + 8) )
  415. sub_405957(1, 32);
  416. v48 = sub_40DF53(&v169);
  417. LOBYTE(v181) = 29;
  418. std::basic_string<char,std::char_traits<char>,std::allocator<char>>::append(v48, 0, -1);
  419. LOBYTE(v181) = 28;
  420. sub_4029D7(1);
  421. v181 = -1;
  422. sub_40D04E(&v172);
  423. v49 = sub_85AAE0(aAtkpointP) + 16;
  424. sub_402E96(2, 1);
  425. v50 = (char *)v3[34];
  426. v181 = 30;
  427. sub_40802B(v50);
  428. if ( *(_DWORD *)(v49 + 8) )
  429. sub_405957(1, 32);
  430. v51 = sub_40DF53(&v169);
  431. LOBYTE(v181) = 31;
  432. std::basic_string<char,std::char_traits<char>,std::allocator<char>>::append(v51, 0, -1);
  433. LOBYTE(v181) = 30;
  434. sub_4029D7(1);
  435. v181 = -1;
  436. sub_40D04E(&v172);
  437. v52 = sub_85AAE0(aAtkpointM) + 16;
  438. sub_402E96(2, 1);
  439. v53 = (char *)v3[35];
  440. v181 = 32;
  441. sub_40802B(v53);
  442. if ( *(_DWORD *)(v52 + 8) )
  443. sub_405957(1, 32);
  444. v54 = sub_40DF53(&v169);
  445. LOBYTE(v181) = 33;
  446. std::basic_string<char,std::char_traits<char>,std::allocator<char>>::append(v54, 0, -1);
  447. LOBYTE(v181) = 32;
  448. sub_4029D7(1);
  449. v181 = -1;
  450. sub_40D04E(&v172);
  451. v55 = sub_85AAE0(aDefpointP) + 16;
  452. sub_402E96(2, 1);
  453. v56 = (char *)v3[36];
  454. v181 = 34;
  455. sub_40802B(v56);
  456. if ( *(_DWORD *)(v55 + 8) )
  457. sub_405957(1, 32);
  458. v57 = sub_40DF53(&v169);
  459. LOBYTE(v181) = 35;
  460. std::basic_string<char,std::char_traits<char>,std::allocator<char>>::append(v57, 0, -1);
  461. LOBYTE(v181) = 34;
  462. sub_4029D7(1);
  463. v181 = -1;
  464. sub_40D04E(&v172);
  465. v58 = sub_85AAE0(aDefpointM) + 16;
  466. sub_402E96(2, 1);
  467. v59 = (char *)v3[37];
  468. v181 = 36;
  469. sub_40802B(v59);
  470. if ( *(_DWORD *)(v58 + 8) )
  471. sub_405957(1, 32);
  472. v60 = sub_40DF53(&v169);
  473. LOBYTE(v181) = 37;
  474. std::basic_string<char,std::char_traits<char>,std::allocator<char>>::append(v60, 0, -1);
  475. LOBYTE(v181) = 36;
  476. sub_4029D7(1);
  477. v181 = -1;
  478. sub_40D04E(&v172);
  479. v61 = sub_85AAE0(aHitrate) + 16;
  480. sub_402E96(2, 1);
  481. v62 = (char *)v3[38];
  482. v181 = 38;
  483. sub_40802B(v62);
  484. if ( *(_DWORD *)(v61 + 8) )
  485. sub_405957(1, 32);
  486. v63 = sub_40DF53(&v169);
  487. LOBYTE(v181) = 39;
  488. std::basic_string<char,std::char_traits<char>,std::allocator<char>>::append(v63, 0, -1);
  489. LOBYTE(v181) = 38;
  490. sub_4029D7(1);
  491. v181 = -1;
  492. sub_40D04E(&v172);
  493. v64 = sub_85AAE0(aAvirate) + 16;
  494. sub_402E96(2, 1);
  495. v65 = (char *)v3[39];
  496. v181 = 40;
  497. sub_40802B(v65);
  498. if ( *(_DWORD *)(v64 + 8) )
  499. sub_405957(1, 32);
  500. v66 = sub_40DF53(&v169);
  501. LOBYTE(v181) = 41;
  502. std::basic_string<char,std::char_traits<char>,std::allocator<char>>::append(v66, 0, -1);
  503. LOBYTE(v181) = 40;
  504. sub_4029D7(1);
  505. v181 = -1;
  506. sub_40D04E(&v172);
  507. v67 = sub_85AAE0(aAtkinterval) + 16;
  508. sub_402E96(2, 1);
  509. v68 = *((float *)v3 + 40);
  510. v181 = 42;
  511. sub_408189(v68);
  512. if ( *(_DWORD *)(v67 + 8) )
  513. sub_405957(1, 32);
  514. v69 = sub_40DF53(&v169);
  515. LOBYTE(v181) = 43;
  516. std::basic_string<char,std::char_traits<char>,std::allocator<char>>::append(v69, 0, -1);
  517. LOBYTE(v181) = 42;
  518. sub_4029D7(1);
  519. v181 = -1;
  520. sub_40D04E(&v172);
  521. v70 = sub_85AAE0(aViewrange) + 16;
  522. sub_402E96(2, 1);
  523. v71 = *((float *)v3 + 41);
  524. v181 = 44;
  525. sub_408189(v71);
  526. if ( *(_DWORD *)(v70 + 8) )
  527. sub_405957(1, 32);
  528. v72 = sub_40DF53(&v169);
  529. LOBYTE(v181) = 45;
  530. std::basic_string<char,std::char_traits<char>,std::allocator<char>>::append(v72, 0, -1);
  531. LOBYTE(v181) = 44;
  532. sub_4029D7(1);
  533. v181 = -1;
  534. sub_40D04E(&v172);
  535. v73 = sub_85AAE0(aTracerange) + 16;
  536. sub_402E96(2, 1);
  537. v74 = *((float *)v3 + 42);
  538. v181 = 46;
  539. sub_408189(v74);
  540. if ( *(_DWORD *)(v73 + 8) )
  541. sub_405957(1, 32);
  542. v75 = sub_40DF53(&v169);
  543. LOBYTE(v181) = 47;
  544. std::basic_string<char,std::char_traits<char>,std::allocator<char>>::append(v75, 0, -1);
  545. LOBYTE(v181) = 46;
  546. sub_4029D7(1);
  547. v181 = -1;
  548. sub_40D04E(&v172);
  549. v76 = sub_85AAE0(aAttackrange) + 16;
  550. sub_402E96(2, 1);
  551. v77 = *((float *)v3 + 43);
  552. v181 = 48;
  553. sub_408189(v77);
  554. if ( *(_DWORD *)(v76 + 8) )
  555. sub_405957(1, 32);
  556. v78 = sub_40DF53(&v169);
  557. LOBYTE(v181) = 49;
  558. std::basic_string<char,std::char_traits<char>,std::allocator<char>>::append(v78, 0, -1);
  559. LOBYTE(v181) = 48;
  560. sub_4029D7(1);
  561. v181 = -1;
  562. sub_40D04E(&v172);
  563. v79 = sub_85AAE0(aEchorange) + 16;
  564. sub_402E96(2, 1);
  565. v80 = *((float *)v3 + 44);
  566. v181 = 50;
  567. sub_408189(v80);
  568. if ( *(_DWORD *)(v79 + 8) )
  569. sub_405957(1, 32);
  570. v81 = sub_40DF53(&v169);
  571. LOBYTE(v181) = 51;
  572. std::basic_string<char,std::char_traits<char>,std::allocator<char>>::append(v81, 0, -1);
  573. LOBYTE(v181) = 50;
  574. sub_4029D7(1);
  575. v181 = -1;
  576. sub_40D04E(&v172);
  577. v82 = sub_85AAE0(aPatrolrange) + 16;
  578. sub_402E96(2, 1);
  579. v83 = *((float *)v3 + 45);
  580. v181 = 52;
  581. sub_408189(v83);
  582. if ( *(_DWORD *)(v82 + 8) )
  583. sub_405957(1, 32);
  584. v84 = sub_40DF53(&v169);
  585. LOBYTE(v181) = 53;
  586. std::basic_string<char,std::char_traits<char>,std::allocator<char>>::append(v84, 0, -1);
  587. LOBYTE(v181) = 52;
  588. sub_4029D7(1);
  589. v181 = -1;
  590. sub_40D04E(&v172);
  591. v85 = sub_85AAE0(aEscapehp) + 16;
  592. sub_402E96(2, 1);
  593. v86 = *((float *)v3 + 46);
  594. v181 = 54;
  595. sub_408189(v86);
  596. if ( *(_DWORD *)(v85 + 8) )
  597. sub_405957(1, 32);
  598. v87 = sub_40DF53(&v169);
  599. LOBYTE(v181) = 55;
  600. std::basic_string<char,std::char_traits<char>,std::allocator<char>>::append(v87, 0, -1);
  601. LOBYTE(v181) = 54;
  602. sub_4029D7(1);
  603. v181 = -1;
  604. sub_40D04E(&v172);
  605. v168 = (unsigned __int8 *)1;
  606. i = (unsigned int)(v3 + 52);
  607. do
  608. {
  609. sprintf(&v176, aDropitemND, v168);
  610. v88 = sub_85AAE0((unsigned __int8 *)&v176) + 16;
  611. sub_402E96(2, 1);
  612. v181 = 56;
  613. sub_40802B(*(char **)(i - 4));
  614. if ( *(_DWORD *)(v88 + 8) )
  615. sub_405957(1, 32);
  616. v89 = sub_40DF53(&v169);
  617. LOBYTE(v181) = 57;
  618. std::basic_string<char,std::char_traits<char>,std::allocator<char>>::append(v89, 0, -1);
  619. LOBYTE(v181) = 56;
  620. sub_4029D7(1);
  621. v181 = -1;
  622. sub_40D04E(&v172);
  623. sprintf(&v176, aDroprateND, v168);
  624. v90 = sub_85AAE0((unsigned __int8 *)&v176) + 16;
  625. sub_402E96(2, 1);
  626. v181 = 58;
  627. sub_408189(*(float *)i);
  628. if ( *(_DWORD *)(v90 + 8) )
  629. sub_405957(1, 32);
  630. v91 = sub_40DF53(&v171);
  631. LOBYTE(v181) = 59;
  632. std::basic_string<char,std::char_traits<char>,std::allocator<char>>::append(v91, 0, -1);
  633. LOBYTE(v181) = 58;
  634. sub_4029D7(1);
  635. v181 = -1;
  636. sub_40D04E(&v175);
  637. ++v168;
  638. i += 8;
  639. }
  640. while ( (unsigned int)(v168 - 1) < 0x18 );
  641. i = 1;
  642. v168 = (unsigned __int8 *)(v3 + 100);
  643. do
  644. {
  645. sprintf(&v176, aDropitemMD, i);
  646. v92 = sub_85AAE0((unsigned __int8 *)&v176) + 16;
  647. sub_402E96(2, 1);
  648. v181 = 60;
  649. sub_40802B(*((char **)v168 - 1));
  650. if ( *(_DWORD *)(v92 + 8) )
  651. sub_405957(1, 32);
  652. v93 = sub_40DF53(&v169);
  653. LOBYTE(v181) = 61;
  654. std::basic_string<char,std::char_traits<char>,std::allocator<char>>::append(v93, 0, -1);
  655. LOBYTE(v181) = 60;
  656. sub_4029D7(1);
  657. v181 = -1;
  658. sub_40D04E(&v172);
  659. sprintf(&v176, aDroprateMD, i);
  660. v94 = sub_85AAE0((unsigned __int8 *)&v176) + 16;
  661. sub_402E96(2, 1);
  662. v181 = 62;
  663. sub_408189(*(float *)v168);
  664. if ( *(_DWORD *)(v94 + 8) )
  665. sub_405957(1, 32);
  666. v95 = sub_40DF53(&v171);
  667. LOBYTE(v181) = 63;
  668. std::basic_string<char,std::char_traits<char>,std::allocator<char>>::append(v95, 0, -1);
  669. LOBYTE(v181) = 62;
  670. sub_4029D7(1);
  671. v181 = -1;
  672. sub_40D04E(&v175);
  673. ++i;
  674. v168 += 8;
  675. }
  676. while ( i - 1 < 3 );
  677. i = 1;
  678. v168 = (unsigned __int8 *)(v3 + 106);
  679. do
  680. {
  681. sprintf(&v176, aDropitemBD, i);
  682. v96 = sub_85AAE0((unsigned __int8 *)&v176) + 16;
  683. sub_402E96(2, 1);
  684. v181 = 64;
  685. sub_40802B(*((char **)v168 - 1));
  686. if ( *(_DWORD *)(v96 + 8) )
  687. sub_405957(1, 32);
  688. v97 = sub_40DF53(&v169);
  689. LOBYTE(v181) = 65;
  690. std::basic_string<char,std::char_traits<char>,std::allocator<char>>::append(v97, 0, -1);
  691. LOBYTE(v181) = 64;
  692. sub_4029D7(1);
  693. v181 = -1;
  694. sub_40D04E(&v172);
  695. sprintf(&v176, aDroprateBD, i);
  696. v98 = sub_85AAE0((unsigned __int8 *)&v176) + 16;
  697. sub_402E96(2, 1);
  698. v181 = 66;
  699. sub_408189(*(float *)v168);
  700. if ( *(_DWORD *)(v98 + 8) )
  701. sub_405957(1, 32);
  702. v99 = sub_40DF53(&v171);
  703. LOBYTE(v181) = 67;
  704. std::basic_string<char,std::char_traits<char>,std::allocator<char>>::append(v99, 0, -1);
  705. LOBYTE(v181) = 66;
  706. sub_4029D7(1);
  707. v181 = -1;
  708. sub_40D04E(&v175);
  709. ++i;
  710. v168 += 8;
  711. }
  712. while ( i - 1 < 9 );
  713. v100 = 1;
  714. v168 = (unsigned __int8 *)(v3 + 162);
  715. do
  716. {
  717. sprintf(&v176, aUsechatHpD, v100);
  718. v101 = sub_85AAE0((unsigned __int8 *)&v176);
  719. sub_405808(v101 + 16);
  720. sprintf(&v176, aUsechatTextD, v100);
  721. sub_85AAE0((unsigned __int8 *)&v176);
  722. sub_406EBF(v168, 0, -1);
  723. ++v100;
  724. v168 += 28;
  725. }
  726. while ( (unsigned int)(v100 - 1) < 3 );
  727. sub_85AAE0(aAttacksound);
  728. sub_406EBF(v3 + 180, 0, -1);
  729. sub_85AAE0(aDiesound);
  730. sub_406EBF(v3 + 184, 0, -1);
  731. sub_85AAE0(aIdlesound);
  732. sub_406EBF(v3 + 188, 0, -1);
  733. v102 = sub_85AAE0(aTransformablei) + 16;
  734. sub_402E96(2, 1);
  735. v103 = (char *)v3[192];
  736. v181 = 68;
  737. sub_40802B(v103);
  738. if ( *(_DWORD *)(v102 + 8) )
  739. sub_405957(1, 32);
  740. v104 = sub_40DF53(&v169);
  741. LOBYTE(v181) = 69;
  742. std::basic_string<char,std::char_traits<char>,std::allocator<char>>::append(v104, 0, -1);
  743. LOBYTE(v181) = 68;
  744. sub_4029D7(1);
  745. v181 = -1;
  746. sub_40D04E(&v172);
  747. v105 = sub_85AAE0(aTransformablei_0) + 16;
  748. sub_402E96(2, 1);
  749. v106 = (char *)v3[193];
  750. v181 = 70;
  751. sub_40802B(v106);
  752. if ( *(_DWORD *)(v105 + 8) )
  753. sub_405957(1, 32);
  754. v107 = sub_40DF53(&v169);
  755. LOBYTE(v181) = 71;
  756. std::basic_string<char,std::char_traits<char>,std::allocator<char>>::append(v107, 0, -1);
  757. LOBYTE(v181) = 70;
  758. sub_4029D7(1);
  759. v181 = -1;
  760. sub_40D04E(&v172);
  761. v108 = sub_85AAE0(aEventid) + 16;
  762. sub_402E96(2, 1);
  763. v109 = (char *)v3[195];
  764. v181 = 72;
  765. sub_40802B(v109);
  766. if ( *(_DWORD *)(v108 + 8) )
  767. sub_405957(1, 32);
  768. v110 = sub_40DF53(&v169);
  769. LOBYTE(v181) = 73;
  770. std::basic_string<char,std::char_traits<char>,std::allocator<char>>::append(v110, 0, -1);
  771. LOBYTE(v181) = 72;
  772. sub_4029D7(1);
  773. v181 = -1;
  774. sub_40D04E(&v172);
  775. v111 = sub_85AAE0(aTowerspecified) + 16;
  776. sub_402E96(2, 1);
  777. v112 = (char *)v3[196];
  778. v181 = 74;
  779. sub_40802B(v112);
  780. if ( *(_DWORD *)(v111 + 8) )
  781. sub_405957(1, 32);
  782. v113 = sub_40DF53(&v169);
  783. LOBYTE(v181) = 75;
  784. std::basic_string<char,std::char_traits<char>,std::allocator<char>>::append(v113, 0, -1);
  785. LOBYTE(v181) = 74;
  786. sub_4029D7(1);
  787. v181 = -1;
  788. result = sub_40D04E(&v172);
  789. }
  790. else
  791. {
  792. v115 = sub_85AD90(a2, aCategory);
  793. if ( !v115 )
  794. {
  795. v168 = aCategory;
  796. _CxxThrowException(&v168, &dword_AE1C08);
  797. }
  798. sub_407270(&v169, v115 + 16, v3 + 4);
  799. sub_4029D7(1);
  800. v116 = sub_85AD90(a2, aName);
  801. if ( !v116 )
  802. {
  803. v168 = aName;
  804. _CxxThrowException(&v168, &dword_AE1C08);
  805. }
  806. sub_406EBF(v116 + 16, 0, -1);
  807. v117 = sub_85AAE0(aComment);
  808. sub_406EBF(v117 + 16, 0, -1);
  809. v118 = sub_85AD90(a2, aModel);
  810. if ( !v118 )
  811. {
  812. v168 = aModel;
  813. _CxxThrowException(&v168, &dword_AE1C08);
  814. }
  815. sub_406EBF(v118 + 16, 0, -1);
  816. v119 = sub_85AD90(a2, aHeight);
  817. if ( !v119 )
  818. {
  819. v168 = aHeight;
  820. _CxxThrowException(&v168, &dword_AE1C08);
  821. }
  822. sub_407018(&v169, v119 + 16, v3 + 17);
  823. sub_4029D7(1);
  824. v120 = sub_85AD90(a2, aSize);
  825. if ( !v120 )
  826. {
  827. v168 = aSize;
  828. _CxxThrowException(&v168, &dword_AE1C08);
  829. }
  830. sub_407018(&v169, v120 + 16, v3 + 18);
  831. sub_4029D7(1);
  832. v121 = sub_85AD90(a2, aDelaytime);
  833. if ( !v121 )
  834. {
  835. v168 = aDelaytime;
  836. _CxxThrowException(&v168, &dword_AE1C08);
  837. }
  838. sub_407018(&v169, v121 + 16, v3 + 19);
  839. sub_4029D7(1);
  840. v122 = sub_85AD90(a2, aLevel);
  841. if ( !v122 )
  842. {
  843. v168 = aLevel;
  844. _CxxThrowException(&v168, &dword_AE1C08);
  845. }
  846. sub_407270(&v169, v122 + 16, v3 + 20);
  847. sub_4029D7(1);
  848. v123 = sub_85AD90(a2, aMaxhp);
  849. if ( !v123 )
  850. {
  851. v168 = aMaxhp;
  852. _CxxThrowException(&v168, &dword_AE1C08);
  853. }
  854. sub_407270(&v169, v123 + 16, v3 + 21);
  855. sub_4029D7(1);
  856. v124 = sub_85AD90(a2, aMaxmp);
  857. if ( !v124 )
  858. {
  859. v168 = aMaxmp;
  860. _CxxThrowException(&v168, &dword_AE1C08);
  861. }
  862. sub_407270(&v169, v124 + 16, v3 + 22);
  863. sub_4029D7(1);
  864. v125 = sub_85AD90(a2, aMovespeed);
  865. if ( !v125 )
  866. {
  867. v168 = aMovespeed;
  868. _CxxThrowException(&v168, &dword_AE1C08);
  869. }
  870. v126 = sub_407018(&v171, v125 + 16, v3 + 23);
  871. v181 = 76;
  872. sub_407018(&v169, v126, v3 + 24);
  873. sub_4029D7(1);
  874. v181 = -1;
  875. sub_4029D7(1);
  876. v127 = sub_85AD90(a2, aBasemovespeed);
  877. if ( v127 )
  878. {
  879. v128 = sub_407018(&v171, v127 + 16, v3 + 25);
  880. v181 = 77;
  881. sub_407018(&v169, v128, v3 + 26);
  882. sub_4029D7(1);
  883. v181 = -1;
  884. sub_4029D7(1);
  885. }
  886. v129 = sub_85AD90(a2, aNatural);
  887. if ( !v129 )
  888. {
  889. v168 = aNatural;
  890. _CxxThrowException(&v168, &dword_AE1C08);
  891. }
  892. sub_407270(&v169, v129 + 16, v3 + 27);
  893. sub_4029D7(1);
  894. v130 = sub_85AD90(a2, aImmunitylevel);
  895. if ( v130 )
  896. {
  897. sub_407270(&v169, v130 + 16, v3 + 28);
  898. sub_4029D7(1);
  899. }
  900. sub_408981(v3[30], v3[31]);
  901. v131 = sub_85AD90(a2, aAbnormalimmuni);
  902. if ( v131 )
  903. {
  904. sub_401915(v131 + 16, 1, 1);
  905. v181 = 78;
  906. while ( !(v173[*(_DWORD *)(v172 + 4)] & 1) )
  907. {
  908. sub_4036A2(&v168);
  909. if ( v173[*(_DWORD *)(v172 + 4)] & 6 )
  910. break;
  911. sub_40930E(v3[31], &v168);
  912. }
  913. v181 = -1;
  914. sub_401D61(&v174);
  915. sub_406361(&v174);
  916. }
  917. v132 = sub_405399((int)a2, aBonusexp);
  918. sub_407270(&v169, v132, v3 + 33);
  919. sub_4029D7(1);
  920. v133 = sub_405399((int)a2, aAtkpointP);
  921. sub_407270(&v169, v133, v3 + 34);
  922. sub_4029D7(1);
  923. v134 = sub_405399((int)a2, aAtkpointM);
  924. sub_407270(&v169, v134, v3 + 35);
  925. sub_4029D7(1);
  926. v135 = sub_405399((int)a2, aDefpointP);
  927. sub_407270(&v169, v135, v3 + 36);
  928. sub_4029D7(1);
  929. v136 = sub_405399((int)a2, aDefpointM);
  930. sub_407270(&v169, v136, v3 + 37);
  931. sub_4029D7(1);
  932. v137 = sub_405399((int)a2, aHitrate);
  933. sub_407270(&v169, v137, v3 + 38);
  934. sub_4029D7(1);
  935. v138 = sub_405399((int)a2, aAvirate);
  936. sub_407270(&v169, v138, v3 + 39);
  937. sub_4029D7(1);
  938. v139 = sub_405399((int)a2, aAtkinterval);
  939. sub_407018(&v169, v139, v3 + 40);
  940. sub_4029D7(1);
  941. v140 = sub_405399((int)a2, aViewrange);
  942. sub_407018(&v169, v140, v3 + 41);
  943. sub_4029D7(1);
  944. v141 = sub_405399((int)a2, aTracerange);
  945. sub_407018(&v169, v141, v3 + 42);
  946. sub_4029D7(1);
  947. v142 = sub_405399((int)a2, aAttackrange);
  948. sub_407018(&v169, v142, v3 + 43);
  949. sub_4029D7(1);
  950. v143 = sub_405399((int)a2, aEchorange);
  951. sub_407018(&v169, v143, v3 + 44);
  952. sub_4029D7(1);
  953. v144 = sub_405399((int)a2, aPatrolrange);
  954. sub_407018(&v169, v144, v3 + 45);
  955. sub_4029D7(1);
  956. v145 = sub_405399((int)a2, aEscapehp);
  957. sub_407018(&v169, v145, v3 + 46);
  958. sub_4029D7(1);
  959. if ( *((float *)v3 + 42) < (double)*((float *)v3 + 45) )
  960. v3[42] = v3[45];
  961. v146 = 1;
  962. v147 = (int)(v3 + 52);
  963. do
  964. {
  965. sprintf(&v176, aDropitemND, v146);
  966. v148 = sub_405399((int)a2, (unsigned __int8 *)&v176);
  967. sub_407270(&v169, v148, v147 - 4);
  968. sub_4029D7(1);
  969. sprintf(&v176, aDroprateND, v146);
  970. v149 = sub_405399((int)a2, (unsigned __int8 *)&v176);
  971. sub_407018(&v171, v149, v147);
  972. sub_4029D7(1);
  973. v147 += 8;
  974. ++v146;
  975. }
  976. while ( (unsigned int)(v146 - 1) < 0x18 );
  977. v150 = 1;
  978. v151 = (int)(v3 + 100);
  979. do
  980. {
  981. sprintf(&v176, aDropitemMD, v150);
  982. v152 = sub_405399((int)a2, (unsigned __int8 *)&v176);
  983. sub_407270(&v169, v152, v151 - 4);
  984. sub_4029D7(1);
  985. sprintf(&v176, aDroprateMD, v150);
  986. v153 = sub_405399((int)a2, (unsigned __int8 *)&v176);
  987. sub_407018(&v171, v153, v151);
  988. sub_4029D7(1);
  989. v151 += 8;
  990. ++v150;
  991. }
  992. while ( (unsigned int)(v150 - 1) < 3 );
  993. v154 = 1;
  994. v155 = (int)(v3 + 106);
  995. do
  996. {
  997. sprintf(&v176, aDropitemBD, v154);
  998. v156 = sub_405399((int)a2, (unsigned __int8 *)&v176);
  999. sub_407270(&v169, v156, v155 - 4);
  1000. sub_4029D7(1);
  1001. sprintf(&v176, aDroprateBD, v154);
  1002. v157 = sub_405399((int)a2, (unsigned __int8 *)&v176);
  1003. sub_407018(&v171, v157, v155);
  1004. sub_4029D7(1);
  1005. v155 += 8;
  1006. ++v154;
  1007. }
  1008. while ( (unsigned int)(v154 - 1) < 9 );
  1009. v158 = 1;
  1010. v159 = (int)(v3 + 162);
  1011. do
  1012. {
  1013. sprintf(&v176, aUsechatHpD, v158);
  1014. v160 = sub_405399((int)a2, (unsigned __int8 *)&v176);
  1015. sub_40205E(&v169, v160, v159 - 12);
  1016. sub_4029D7(1);
  1017. sprintf(&v176, aUsechatTextD, v158);
  1018. v161 = sub_405399((int)a2, (unsigned __int8 *)&v176);
  1019. sub_406EBF(v161, 0, -1);
  1020. ++v158;
  1021. v159 += 28;
  1022. }
  1023. while ( (unsigned int)(v158 - 1) < 3 );
  1024. v162 = sub_405399((int)a2, aAttacksound);
  1025. sub_406EBF(v162, 0, -1);
  1026. v163 = sub_405399((int)a2, aDiesound);
  1027. sub_406EBF(v163, 0, -1);
  1028. v164 = sub_405399((int)a2, aIdlesound);
  1029. sub_406EBF(v164, 0, -1);
  1030. v165 = sub_85AD90(a2, aTransformablei);
  1031. if ( v165 )
  1032. {
  1033. sub_407270(&v169, v165 + 16, v3 + 192);
  1034. sub_4029D7(1);
  1035. }
  1036. v166 = sub_85AD90(a2, aTransformablei_0);
  1037. if ( v166 )
  1038. {
  1039. sub_407270(&v169, v166 + 16, v3 + 193);
  1040. sub_4029D7(1);
  1041. }
  1042. v167 = sub_85AD90(a2, aEventid);
  1043. if ( v167 )
  1044. {
  1045. sub_407270(&v169, v167 + 16, v3 + 195);
  1046. sub_4029D7(1);
  1047. }
  1048. result = sub_85AD90(a2, aTowerspecified);
  1049. if ( result )
  1050. {
  1051. sub_407270(&v180, result + 16, v3 + 196);
  1052. result = sub_4029D7(1);
  1053. }
  1054. }
  1055. return result;
  1056. }
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
prog.cpp:1:25: error: expected initializer before ‘sub_540CB0’
 unsigned int __thiscall sub_540CB0(_DWORD *this, _DWORD *a2, int a3)
                         ^~~~~~~~~~
stdout
Standard output is empty