Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- __int64 __fastcall sub_7FF69B917A60(__int64 a1)
- {
- __int64 v1; // rbx
- unsigned int v2; // er12
- __int64 v3; // r13
- int v4; // er15
- _QWORD *v5; // r14
- _QWORD *v6; // rcx
- float v7; // xmm0_4
- float v8; // xmm1_4
- __int64 v9; // rax
- __int64 v10; // rax
- unsigned __int64 v11; // rax
- unsigned __int64 v12; // r15
- __int64 v13; // rsi
- unsigned __int64 v14; // rdx
- __int64 v15; // rcx
- __int64 v16; // rcx
- unsigned __int64 v17; // rdx
- __int64 *v18; // rax
- unsigned __int64 v19; // r13
- _QWORD *v20; // r14
- _QWORD *v21; // r15
- _QWORD *v22; // rsi
- __int64 v23; // rax
- signed __int64 v24; // r12
- __int64 v25; // r8
- signed __int64 i; // rax
- _QWORD *j; // r9
- __int64 v28; // r10
- _QWORD *v29; // rcx
- __int64 v30; // r8
- signed __int64 v31; // rdx
- __int128 v33; // [rsp+20h] [rbp-29h]
- unsigned __int64 v34; // [rsp+30h] [rbp-19h]
- char v35; // [rsp+38h] [rbp-11h]
- __int128 v36; // [rsp+40h] [rbp-9h]
- unsigned __int64 v37; // [rsp+50h] [rbp+7h]
- __int64 v38; // [rsp+58h] [rbp+Fh]
- __int64 v39; // [rsp+B0h] [rbp+67h]
- __int64 v40; // [rsp+B8h] [rbp+6Fh]
- v39 = a1;
- v1 = a1;
- if ( *(_DWORD *)(a1 + 32) )
- {
- sub_7FF69B40BC10(&dword_7FF69CAD2E38, 0i64);
- sub_7FF69B40B9A0(&dword_7FF69CAD2E58, 0i64);
- sub_7FF69B40BD10(&dword_7FF69CAD2E78, 0i64);
- byte_7FF69CAD2E15 = 0;
- }
- else
- {
- dword_7FF69CAD2E1C = *(_DWORD *)(a1 + 36);
- if ( &dword_7FF69CAD2E38 != (int *)(a1 + 40) )
- sub_7FF69B919C70(&dword_7FF69CAD2E38, *(unsigned int *)(a1 + 40), *(_QWORD *)(a1 + 48));
- if ( &dword_7FF69CAD2E58 != (int *)(v1 + 72) )
- sub_7FF69B919AF0(&dword_7FF69CAD2E58, *(unsigned int *)(v1 + 72), *(_QWORD *)(v1 + 80));
- if ( &dword_7FF69CAD2E78 != (int *)(v1 + 104) )
- sub_7FF69B919DD0(&dword_7FF69CAD2E78, *(unsigned int *)(v1 + 104), *(_QWORD *)(v1 + 112));
- sub_7FF69BD24AC0(qword_7FF69CAD2E80, (unsigned int)dword_7FF69CAD2E78, 296i64, sub_7FF69B913650);
- if ( &dword_7FF69CAD2EB8 != (int *)(v1 + 136) )
- sub_7FF69B919F10(&dword_7FF69CAD2EB8, *(unsigned int *)(v1 + 136), *(_QWORD *)(v1 + 144));
- sub_7FF69B91B770(&qword_7FF69CAD2ED8);
- v2 = 0;
- if ( dword_7FF69CAD2EB8 )
- {
- do
- {
- v3 = qword_7FF69CAD2EC0 + 9336i64 * v2;
- v4 = *(_DWORD *)(v3 + 4);
- v40 = qword_7FF69CAD2EC0 + 9336i64 * v2;
- LODWORD(v36) = v4;
- *((_QWORD *)&v36 + 1) = 0i64;
- v37 = 0i64;
- v38 = 0i64;
- sub_7FF69B91B120(&qword_7FF69CAD2ED8, &v33, &v36, 0i64);
- v5 = (_QWORD *)v33;
- if ( v35 )
- {
- if ( (_QWORD)v33 )
- {
- *(_DWORD *)(v33 + 8) = v4;
- v6 = v5 + 2;
- v6[1] = 0i64;
- v6[1] = 0i64;
- *v6 = 0i64;
- v6[2] = 0i64;
- *v6 = 0i64;
- v5[4] = 0i64;
- }
- v7 = (float)(signed int)qword_7FF69CAD2EE8;
- if ( qword_7FF69CAD2EE8 < 0 )
- v7 = v7 + 1.8446744e19;
- v8 = (float)(signed int)qword_7FF69CAD2ED8;
- if ( qword_7FF69CAD2ED8 < 0 )
- v8 = v8 + 1.8446744e19;
- if ( (float)(v7 / v8) > *(float *)&dword_7FF69CAD2EF0 )
- sub_7FF69B91BED0(&qword_7FF69CAD2ED8, 2 * qword_7FF69CAD2ED8);
- }
- v9 = sub_7FF69C038B20(&JamBattlePayShopEntry const * `RTTI Type Descriptor');
- sub_7FF69B2B3920(0i64, v9, 0xFFFFFFFAi64, 0i64);
- v10 = sub_7FF69C038B20(&JamBattlePayShopEntry const * `RTTI Type Descriptor');
- sub_7FF69B2B3920(0i64, v10, 0xFFFFFFFAi64, 0i64);
- v11 = v5[4] & 0x7FFFFFFFFFFFFFFFi64;
- v12 = ((signed __int64)&v40 - v5[2]) >> 3;
- if ( v5[3] == v11 && v11 + 1 > v11 )
- {
- v13 = sub_7FF69B91AF20(v5 + 2);
- sub_7FF69B91B580(v5 + 2, v13);
- v5[2] = v13;
- v5[4] &= 0x7FFFFFFFFFFFFFFFui64;
- }
- v14 = v5[3];
- v15 = v5[2];
- if ( v12 >= v14 )
- *(_QWORD *)(v15 + 8 * v14) = v3;
- else
- *(_QWORD *)(v15 + 8 * v14) = *(_QWORD *)(v15 + 8 * v12);
- ++v5[3];
- ++v2;
- }
- while ( v2 < dword_7FF69CAD2EB8 );
- }
- if ( qword_7FF69CAD2EE0 )
- {
- v16 = *(_QWORD *)qword_7FF69CAD2EE0;
- *((_QWORD *)&v33 + 1) = qword_7FF69CAD2EE0;
- v17 = qword_7FF69CAD2EE0 + 8 * qword_7FF69CAD2ED8;
- *(_QWORD *)&v33 = v16;
- v34 = qword_7FF69CAD2EE0 + 8 * qword_7FF69CAD2ED8;
- if ( !v16 )
- {
- v18 = (__int64 *)(qword_7FF69CAD2EE0 + 8);
- *((_QWORD *)&v33 + 1) = qword_7FF69CAD2EE0 + 8;
- if ( qword_7FF69CAD2EE0 + 8 < v17 )
- {
- do
- {
- v16 = *v18;
- *(_QWORD *)&v33 = v16;
- if ( v16 )
- break;
- ++v18;
- }
- while ( (unsigned __int64)v18 < v17 );
- *((_QWORD *)&v33 + 1) = v18;
- }
- }
- v37 = v34;
- v36 = v33;
- if ( v16 )
- {
- v19 = v37;
- v20 = (_QWORD *)*((_QWORD *)&v36 + 1);
- v21 = (_QWORD *)v36;
- do
- {
- while ( 1 )
- {
- do
- {
- v22 = (_QWORD *)v21[2];
- v23 = v21[3];
- v24 = (signed __int64)&v22[v23];
- if ( v22 != (_QWORD *)v24 )
- {
- v25 = 0i64;
- for ( i = 8 * v23 >> 3; i != 1; ++v25 )
- i >>= 1;
- sub_7FF69B90F910(v21[2], v24, 2 * v25, (unsigned __int8)v39);
- for ( j = v22 + 1; j != (_QWORD *)v24; *v29 = v28 )
- {
- v28 = *j;
- v29 = j;
- if ( j != v22 )
- {
- do
- {
- v30 = *(v29 - 1);
- v31 = (signed __int64)(v29 - 1);
- if ( *(_DWORD *)(v28 + 12) >= *(_DWORD *)(v30 + 12) )
- break;
- *v29 = v30;
- --v29;
- }
- while ( (_QWORD *)v31 != v22 );
- }
- ++j;
- }
- }
- if ( !v21 )
- break;
- v21 = (_QWORD *)*v21;
- }
- while ( v21 );
- ++v20;
- if ( (unsigned __int64)v20 >= v19 )
- break;
- while ( 1 )
- {
- v21 = (_QWORD *)*v20;
- if ( *v20 )
- break;
- ++v20;
- if ( (unsigned __int64)v20 >= v19 )
- goto LABEL_50;
- }
- }
- }
- while ( v21 );
- }
- }
- LABEL_50:
- v1 = v39;
- byte_7FF69CAD2E15 = 1;
- }
- byte_7FF69CAD2E16 = *(_DWORD *)(v1 + 32) == 3;
- return sub_7FF69B913220(1125i64, 0i64);
- }
Advertisement
Add Comment
Please, Sign In to add comment