Advertisement
Guest User

USUM v1.1 In-Game Gift

a guest
Feb 6th, 2018
826
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.40 KB | None | 0 0
  1. pml::pokepara::CoreParam *__fastcall sub_39754C(int a1, int a2, int a3)
  2. {
  3. int v3; // r4
  4. int v4; // r5
  5. int v5; // r6
  6. int v6; // r0
  7. int v7; // r7
  8. int v8; // r3
  9. unsigned int v9; // r2
  10. char *v10; // r12
  11. int v11; // r3
  12. char *v12; // r10
  13. int v13; // r0
  14. signed __int64 v14; // r0
  15. int v15; // r0
  16. __int16 v16; // r0
  17. pml::PokeParty *v17; // r6
  18. unsigned int v18; // r1
  19. int v19; // r6
  20. int v20; // r0
  21. int v21; // r0
  22. int v22; // r0
  23. int v23; // r0
  24. int v24; // r0
  25. int v25; // r0
  26. int v26; // r0
  27. _DWORD *v27; // r0
  28. pml::pokepara::CoreParam *v28; // r6
  29. int v29; // r1
  30. int v30; // r10
  31. int v31; // r9
  32. int v32; // r0
  33. int v33; // r2
  34. int v34; // r0
  35. _BOOL1 v35; // zf
  36. int v36; // r0
  37. int v37; // r4
  38. int v38; // r0
  39. int v39; // r5
  40. int v40; // r4
  41. int v41; // r0
  42. int v43; // [sp+0h] [bp-78h]
  43. int v44; // [sp+8h] [bp-70h]
  44. int v45; // [sp+Ch] [bp-6Ch]
  45. __int64 v46; // [sp+10h] [bp-68h]
  46. __int64 v47; // [sp+18h] [bp-60h]
  47. unsigned __int16 v48; // [sp+20h] [bp-58h]
  48. unsigned __int8 v49; // [sp+22h] [bp-56h]
  49. __int16 v50; // [sp+24h] [bp-54h]
  50. __int16 v51; // [sp+26h] [bp-52h]
  51. __int16 v52; // [sp+28h] [bp-50h]
  52. char v53; // [sp+2Ah] [bp-4Eh]
  53. char v54; // [sp+2Bh] [bp-4Dh]
  54. __int16 v55; // [sp+2Ch] [bp-4Ch]
  55. __int16 v56; // [sp+2Eh] [bp-4Ah]
  56. __int16 v57; // [sp+30h] [bp-48h]
  57. __int16 v58; // [sp+32h] [bp-46h]
  58. __int16 v59; // [sp+34h] [bp-44h]
  59. __int16 v60; // [sp+36h] [bp-42h]
  60. int v61; // [sp+38h] [bp-40h]
  61. char v62; // [sp+3Ch] [bp-3Ch]
  62. char v63; // [sp+40h] [bp-38h]
  63.  
  64. v3 = a3;
  65. v4 = a1;
  66. v5 = *(a2 + 36);
  67. v6 = *(v5 + 4);
  68. v44 = -1;
  69. v45 = -1;
  70. v43 = v6 + 3816;
  71. v46 = 0x3FFFFFFFFLL;
  72. v47 = -1LL;
  73. v7 = a2;
  74. v52 = -1;
  75. v48 = 808;
  76. v50 = 1;
  77. v53 = -1;
  78. v51 = 255;
  79. v8 = 0;
  80. v54 = 1;
  81. v9 = 0;
  82. v49 = 0;
  83. v61 = 0xFFFF;
  84. v62 = 0;
  85. do
  86. {
  87. v10 = &v44 + 2 * v8;
  88. v11 = v8 + 1;
  89. v9 += 2;
  90. v12 = &v44 + 2 * v11;
  91. *(v10 + 18) = -1;
  92. v8 = v11 + 1;
  93. *(v12 + 18) = -1;
  94. }
  95. while ( v9 < 6 );
  96. v48 = *v3;
  97. v49 = *(v3 + 2);
  98. v50 = *(v3 + 3);
  99. v47 = *(v6 + 3824);
  100. pml::personal::LoadPersonalData(v48, v49);
  101. v13 = *(v3 + 4);
  102. if ( v13 == 1 )
  103. {
  104. v14 = 12884901887LL;
  105. LABEL_8:
  106. v46 = v14;
  107. goto LABEL_9;
  108. }
  109. if ( v13 == 2 )
  110. {
  111. v14 = 0x1FFFFFFFFLL;
  112. goto LABEL_8;
  113. }
  114. LABEL_9:
  115. v15 = *(v3 + 6);
  116. if ( *(v3 + 6) )
  117. {
  118. if ( v15 == 1 )
  119. {
  120. v53 = 1;
  121. }
  122. else if ( v15 == 2 )
  123. {
  124. v53 = 2;
  125. }
  126. }
  127. else
  128. {
  129. v53 = 0;
  130. }
  131. if ( *(v3 + 7) >= 0 )
  132. {
  133. v16 = *(v3 + 7);
  134. LABEL_21:
  135. v52 = v16;
  136. goto LABEL_22;
  137. }
  138. if ( !*(v3 + 10) )
  139. {
  140. v17 = *(v5 + 12);
  141. v18 = sub_4AFE54(v17, 1);
  142. if ( v18 != 6 )
  143. {
  144. v19 = pml::PokeParty::GetMemberPointer(v17, v18);
  145. if ( pml::pokepara::CoreParam::GetTokuseiNo(v19) == 28 )
  146. {
  147. v16 = pml::pokepara::CoreParam::GetSeikaku(v19);
  148. goto LABEL_21;
  149. }
  150. }
  151. }
  152. LABEL_22:
  153. v20 = *(v3 + 5);
  154. if ( *(v3 + 5) )
  155. {
  156. if ( v20 == 1 )
  157. {
  158. v51 = 0;
  159. }
  160. else if ( v20 == 2 )
  161. {
  162. v51 = 1;
  163. }
  164. }
  165. v21 = *(v3 + 14);
  166. if ( (v21 + 1 < 0) ^ __OFADD__(v21, 1) )
  167. {
  168. v62 = ~v21;
  169. }
  170. else
  171. {
  172. if ( v21 >= 0 )
  173. v55 = *(v3 + 14);
  174. v22 = *(v3 + 15);
  175. if ( v22 >= 0 )
  176. v56 = *(v3 + 15);
  177. v23 = *(v3 + 16);
  178. if ( v23 >= 0 )
  179. v57 = *(v3 + 16);
  180. v24 = *(v3 + 17);
  181. if ( v24 >= 0 )
  182. v58 = *(v3 + 17);
  183. v25 = *(v3 + 18);
  184. if ( v25 >= 0 )
  185. v59 = *(v3 + 18);
  186. v26 = *(v3 + 19);
  187. if ( v26 >= 0 )
  188. v60 = *(v3 + 19);
  189. }
  190. v27 = operator new(16, *(v4 + 104));
  191. if ( v27 )
  192. v28 = pml::pokepara::PokemonParam::PokemonParam(v27, *(v4 + 104), &v44);
  193. else
  194. v28 = 0;
  195. v29 = *(v3 + 8);
  196. if ( (v29 - 1) <= 0x3BE )
  197. pml::pokepara::CoreParam::SetItem(v28, v29);
  198. v30 = pml::pokepara::CoreParam::StartFastMode(v28);
  199. v31 = *(v43 + 13);
  200. v32 = (*(**(v4 + 104) + 52))();
  201. gfl2::str::StrBuf::StrBuf(&v63, 32, v32);
  202. Savedata::MyStatus::GetNameString(v43, &v63);
  203. pml::pokepara::CoreParam::SetParentName(v28, &v63);
  204. pml::pokepara::CoreParam::SetParentSex(v28, v31);
  205. pml::pokepara::CoreParam::SetCassetteVersion(v28, 33);
  206. if ( *(v3 + 10) )
  207. sub_325DE0(v28, *(v4 + 104));
  208. if ( *(v3 + 12) )
  209. {
  210. pml::pokepara::CoreParam::PushWaza(v28);
  211. v33 = *(v3 + 12);
  212. sub_321C8C(v28, 0);
  213. }
  214. gfl2::str::StrBuf::~StrBuf(&v63);
  215. pml::pokepara::CoreParam::SetGetBall(v28, 4);
  216. v34 = *(v4 + 32);
  217. v35 = v34 == 1;
  218. if ( v34 != 1 )
  219. v35 = v34 == 0;
  220. if ( v35 || v34 == 2 )
  221. {
  222. v36 = *(v7 + 36);
  223. if ( *(v36 + 292) )
  224. v37 = v36 + 4936;
  225. else
  226. v37 = *(v36 + 4) + 14560;
  227. *(v37 + 332) = pml::pokepara::CoreParam::GetPersonalRnd(v28);
  228. }
  229. if ( *(v4 + 32) == 17 )
  230. {
  231. sub_3220DC(v28, 1);
  232. sub_323154(v28, 32);
  233. pml::pokepara::CoreParam::SetGetBall(v28, 16);
  234. pml::pokepara::CoreParam::SetWaza(v28, 0, 705);
  235. sub_321C8C(v28, 0);
  236. pml::pokepara::CoreParam::SetWaza(v28, 1, 430);
  237. sub_321C8C(v28, 1);
  238. pml::pokepara::CoreParam::SetWaza(v28, 2, 381);
  239. sub_321C8C(v28, 2);
  240. pml::pokepara::CoreParam::SetWaza(v28, 3, 270);
  241. sub_321C8C(v28, 3);
  242. v38 = pml::pokepara::CoreParam::GetLevel(v28);
  243. pml::pokepara::CoreParam::SetMemories(v28, 9, v38);
  244. }
  245. if ( *(v4 + 32) == 34 )
  246. {
  247. v39 = (*(**(v4 + 104) + 52))();
  248. v40 = operator new(48, v39);
  249. if ( v40 )
  250. {
  251. v41 = print::GetMessageArcId(10);
  252. v40 = gfl2::str::MsgData::MsgData(v40, v41, 63, v39, 0);
  253. }
  254. gfl2::str::StrBuf::StrBuf(&v63, 13, v39);
  255. gfl2::str::MsgData::GetString(*&v40);
  256. pml::pokepara::CoreParam::SetParentName(v28, &v63);
  257. pml::pokepara::CoreParam::SetParentSex(v28, 0);
  258. pml::pokepara::CoreParam::SetID(v28, 2039170715u);
  259. if ( v40 )
  260. (*(*v40 + 4))(v40);
  261. gfl2::str::StrBuf::~StrBuf(&v63);
  262. sub_3220DC(v28, 1);
  263. sub_323154(v28, 32);
  264. pml::pokepara::CoreParam::SetWaza(v28, 0, 85);
  265. sub_321C8C(v28, 0);
  266. pml::pokepara::CoreParam::SetWaza(v28, 1, 98);
  267. sub_321C8C(v28, 1);
  268. pml::pokepara::CoreParam::SetWaza(v28, 2, 87);
  269. sub_321C8C(v28, 2);
  270. pml::pokepara::CoreParam::SetWaza(v28, 3, 231);
  271. sub_321C8C(v28, 3);
  272. pml::pokepara::CoreParam::SetMemories(v28, 9, 21);
  273. }
  274. pml::pokepara::CoreParam::EndFastMode(v28, v30);
  275. return v28;
  276. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement