Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- pml::pokepara::CoreParam *__fastcall sub_39754C(int a1, int a2, int a3)
- {
- int v3; // r4
- int v4; // r5
- int v5; // r6
- int v6; // r0
- int v7; // r7
- int v8; // r3
- unsigned int v9; // r2
- char *v10; // r12
- int v11; // r3
- char *v12; // r10
- int v13; // r0
- signed __int64 v14; // r0
- int v15; // r0
- __int16 v16; // r0
- pml::PokeParty *v17; // r6
- unsigned int v18; // r1
- int v19; // r6
- int v20; // r0
- int v21; // r0
- int v22; // r0
- int v23; // r0
- int v24; // r0
- int v25; // r0
- int v26; // r0
- _DWORD *v27; // r0
- pml::pokepara::CoreParam *v28; // r6
- int v29; // r1
- int v30; // r10
- int v31; // r9
- int v32; // r0
- int v33; // r2
- int v34; // r0
- _BOOL1 v35; // zf
- int v36; // r0
- int v37; // r4
- int v38; // r0
- int v39; // r5
- int v40; // r4
- int v41; // r0
- int v43; // [sp+0h] [bp-78h]
- int v44; // [sp+8h] [bp-70h]
- int v45; // [sp+Ch] [bp-6Ch]
- __int64 v46; // [sp+10h] [bp-68h]
- __int64 v47; // [sp+18h] [bp-60h]
- unsigned __int16 v48; // [sp+20h] [bp-58h]
- unsigned __int8 v49; // [sp+22h] [bp-56h]
- __int16 v50; // [sp+24h] [bp-54h]
- __int16 v51; // [sp+26h] [bp-52h]
- __int16 v52; // [sp+28h] [bp-50h]
- char v53; // [sp+2Ah] [bp-4Eh]
- char v54; // [sp+2Bh] [bp-4Dh]
- __int16 v55; // [sp+2Ch] [bp-4Ch]
- __int16 v56; // [sp+2Eh] [bp-4Ah]
- __int16 v57; // [sp+30h] [bp-48h]
- __int16 v58; // [sp+32h] [bp-46h]
- __int16 v59; // [sp+34h] [bp-44h]
- __int16 v60; // [sp+36h] [bp-42h]
- int v61; // [sp+38h] [bp-40h]
- char v62; // [sp+3Ch] [bp-3Ch]
- char v63; // [sp+40h] [bp-38h]
- v3 = a3;
- v4 = a1;
- v5 = *(a2 + 36);
- v6 = *(v5 + 4);
- v44 = -1;
- v45 = -1;
- v43 = v6 + 3816;
- v46 = 0x3FFFFFFFFLL;
- v47 = -1LL;
- v7 = a2;
- v52 = -1;
- v48 = 808;
- v50 = 1;
- v53 = -1;
- v51 = 255;
- v8 = 0;
- v54 = 1;
- v9 = 0;
- v49 = 0;
- v61 = 0xFFFF;
- v62 = 0;
- do
- {
- v10 = &v44 + 2 * v8;
- v11 = v8 + 1;
- v9 += 2;
- v12 = &v44 + 2 * v11;
- *(v10 + 18) = -1;
- v8 = v11 + 1;
- *(v12 + 18) = -1;
- }
- while ( v9 < 6 );
- v48 = *v3;
- v49 = *(v3 + 2);
- v50 = *(v3 + 3);
- v47 = *(v6 + 3824);
- pml::personal::LoadPersonalData(v48, v49);
- v13 = *(v3 + 4);
- if ( v13 == 1 )
- {
- v14 = 12884901887LL;
- LABEL_8:
- v46 = v14;
- goto LABEL_9;
- }
- if ( v13 == 2 )
- {
- v14 = 0x1FFFFFFFFLL;
- goto LABEL_8;
- }
- LABEL_9:
- v15 = *(v3 + 6);
- if ( *(v3 + 6) )
- {
- if ( v15 == 1 )
- {
- v53 = 1;
- }
- else if ( v15 == 2 )
- {
- v53 = 2;
- }
- }
- else
- {
- v53 = 0;
- }
- if ( *(v3 + 7) >= 0 )
- {
- v16 = *(v3 + 7);
- LABEL_21:
- v52 = v16;
- goto LABEL_22;
- }
- if ( !*(v3 + 10) )
- {
- v17 = *(v5 + 12);
- v18 = sub_4AFE54(v17, 1);
- if ( v18 != 6 )
- {
- v19 = pml::PokeParty::GetMemberPointer(v17, v18);
- if ( pml::pokepara::CoreParam::GetTokuseiNo(v19) == 28 )
- {
- v16 = pml::pokepara::CoreParam::GetSeikaku(v19);
- goto LABEL_21;
- }
- }
- }
- LABEL_22:
- v20 = *(v3 + 5);
- if ( *(v3 + 5) )
- {
- if ( v20 == 1 )
- {
- v51 = 0;
- }
- else if ( v20 == 2 )
- {
- v51 = 1;
- }
- }
- v21 = *(v3 + 14);
- if ( (v21 + 1 < 0) ^ __OFADD__(v21, 1) )
- {
- v62 = ~v21;
- }
- else
- {
- if ( v21 >= 0 )
- v55 = *(v3 + 14);
- v22 = *(v3 + 15);
- if ( v22 >= 0 )
- v56 = *(v3 + 15);
- v23 = *(v3 + 16);
- if ( v23 >= 0 )
- v57 = *(v3 + 16);
- v24 = *(v3 + 17);
- if ( v24 >= 0 )
- v58 = *(v3 + 17);
- v25 = *(v3 + 18);
- if ( v25 >= 0 )
- v59 = *(v3 + 18);
- v26 = *(v3 + 19);
- if ( v26 >= 0 )
- v60 = *(v3 + 19);
- }
- v27 = operator new(16, *(v4 + 104));
- if ( v27 )
- v28 = pml::pokepara::PokemonParam::PokemonParam(v27, *(v4 + 104), &v44);
- else
- v28 = 0;
- v29 = *(v3 + 8);
- if ( (v29 - 1) <= 0x3BE )
- pml::pokepara::CoreParam::SetItem(v28, v29);
- v30 = pml::pokepara::CoreParam::StartFastMode(v28);
- v31 = *(v43 + 13);
- v32 = (*(**(v4 + 104) + 52))();
- gfl2::str::StrBuf::StrBuf(&v63, 32, v32);
- Savedata::MyStatus::GetNameString(v43, &v63);
- pml::pokepara::CoreParam::SetParentName(v28, &v63);
- pml::pokepara::CoreParam::SetParentSex(v28, v31);
- pml::pokepara::CoreParam::SetCassetteVersion(v28, 33);
- if ( *(v3 + 10) )
- sub_325DE0(v28, *(v4 + 104));
- if ( *(v3 + 12) )
- {
- pml::pokepara::CoreParam::PushWaza(v28);
- v33 = *(v3 + 12);
- sub_321C8C(v28, 0);
- }
- gfl2::str::StrBuf::~StrBuf(&v63);
- pml::pokepara::CoreParam::SetGetBall(v28, 4);
- v34 = *(v4 + 32);
- v35 = v34 == 1;
- if ( v34 != 1 )
- v35 = v34 == 0;
- if ( v35 || v34 == 2 )
- {
- v36 = *(v7 + 36);
- if ( *(v36 + 292) )
- v37 = v36 + 4936;
- else
- v37 = *(v36 + 4) + 14560;
- *(v37 + 332) = pml::pokepara::CoreParam::GetPersonalRnd(v28);
- }
- if ( *(v4 + 32) == 17 )
- {
- sub_3220DC(v28, 1);
- sub_323154(v28, 32);
- pml::pokepara::CoreParam::SetGetBall(v28, 16);
- pml::pokepara::CoreParam::SetWaza(v28, 0, 705);
- sub_321C8C(v28, 0);
- pml::pokepara::CoreParam::SetWaza(v28, 1, 430);
- sub_321C8C(v28, 1);
- pml::pokepara::CoreParam::SetWaza(v28, 2, 381);
- sub_321C8C(v28, 2);
- pml::pokepara::CoreParam::SetWaza(v28, 3, 270);
- sub_321C8C(v28, 3);
- v38 = pml::pokepara::CoreParam::GetLevel(v28);
- pml::pokepara::CoreParam::SetMemories(v28, 9, v38);
- }
- if ( *(v4 + 32) == 34 )
- {
- v39 = (*(**(v4 + 104) + 52))();
- v40 = operator new(48, v39);
- if ( v40 )
- {
- v41 = print::GetMessageArcId(10);
- v40 = gfl2::str::MsgData::MsgData(v40, v41, 63, v39, 0);
- }
- gfl2::str::StrBuf::StrBuf(&v63, 13, v39);
- gfl2::str::MsgData::GetString(*&v40);
- pml::pokepara::CoreParam::SetParentName(v28, &v63);
- pml::pokepara::CoreParam::SetParentSex(v28, 0);
- pml::pokepara::CoreParam::SetID(v28, 2039170715u);
- if ( v40 )
- (*(*v40 + 4))(v40);
- gfl2::str::StrBuf::~StrBuf(&v63);
- sub_3220DC(v28, 1);
- sub_323154(v28, 32);
- pml::pokepara::CoreParam::SetWaza(v28, 0, 85);
- sub_321C8C(v28, 0);
- pml::pokepara::CoreParam::SetWaza(v28, 1, 98);
- sub_321C8C(v28, 1);
- pml::pokepara::CoreParam::SetWaza(v28, 2, 87);
- sub_321C8C(v28, 2);
- pml::pokepara::CoreParam::SetWaza(v28, 3, 231);
- sub_321C8C(v28, 3);
- pml::pokepara::CoreParam::SetMemories(v28, 9, 21);
- }
- pml::pokepara::CoreParam::EndFastMode(v28, v30);
- return v28;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement