Untitled
unknown
plain_text
2 years ago
7.4 kB
13
Indexable
__int64 __fastcall start(
__int64 a1,
__int64 a2,
__int64 a3,
__int64 a4,
__int64 a5,
__int64 a6,
__int64 a7,
__int64 a8)
{
__int64 v8; // rbp
char *v9; // rsi
_BYTE *v10; // rdi
char v11; // dl
char v12; // al
int i; // ebx
bool v14; // cf
char v15; // dl
char v16; // tt
bool v17; // cf
char v18; // dl
char v19; // tt
__int64 v20; // rax
bool v21; // cf
char v22; // dl
char v23; // tt
bool v24; // cf
char v25; // dl
char v26; // dl
char v27; // tt
BOOL v28; // eax
bool v29; // cf
char v30; // dl
char v31; // dl
char v32; // tt
int v33; // eax
bool v34; // cf
char v35; // dl
char v36; // dl
char v37; // tt
int v38; // eax
bool v39; // cf
char v40; // dl
char v41; // tt
int v42; // eax
int v43; // eax
bool v44; // cf
char v45; // dl
char v46; // dl
char v47; // tt
bool v48; // cf
char v49; // dl
char v50; // tt
int v51; // eax
unsigned __int64 v52; // rcx
bool v53; // cf
char v54; // dl
char v55; // dl
char v56; // tt
bool v57; // cf
char v58; // dl
char v59; // tt
__int64 v60; // rax
unsigned __int64 v61; // rcx
bool v62; // cf
char v63; // dl
char v64; // dl
char v65; // tt
bool v66; // cf
char v67; // dl
char v68; // tt
unsigned __int64 v69; // rcx
unsigned __int8 v70; // al
char v71; // cf
unsigned __int64 v72; // rcx
char *v74; // [rsp+8h] [rbp+8h]
__int64 v75; // [rsp+18h] [rbp+18h]
_BYTE *v76; // [rsp+18h] [rbp+18h]
sub_1407741DF();
v9 = v74;
v10 = v76;
v11 = 0x80;
LABEL_2:
v12 = *v9++;
*v10++ = v12;
for ( i = 2; ; i = 1 )
{
while ( 1 )
{
while ( 1 )
{
v14 = __CFADD__(v11, v11);
v11 *= 2;
if ( !v11 )
{
v15 = *v9++;
v16 = v14 + v15;
v14 = __CFADD__(v14, v15) | __CFADD__(v15, v14 + v15);
v11 = v15 + v16;
}
if ( !v14 )
goto LABEL_2;
v17 = __CFADD__(v11, v11);
v11 *= 2;
if ( !v11 )
{
v18 = *v9++;
v19 = v17 + v18;
v17 = __CFADD__(v17, v18) | __CFADD__(v18, v17 + v18);
v11 = v18 + v19;
}
if ( v17 )
break;
v43 = 1;
do
{
v44 = __CFADD__(v11, v11);
v45 = 2 * v11;
if ( !v45 )
{
v46 = *v9++;
v47 = v44 + v46;
v44 = __CFADD__(v44, v46) | __CFADD__(v46, v44 + v46);
v45 = v46 + v47;
}
v43 += v44 + v43;
v48 = __CFADD__(v45, v45);
v11 = 2 * v45;
if ( !v11 )
{
v49 = *v9++;
v50 = v48 + v49;
v48 = __CFADD__(v48, v49) | __CFADD__(v49, v48 + v49);
v11 = v49 + v50;
}
}
while ( v48 );
v51 = v43 - i;
i = 1;
if ( v51 )
{
v60 = (unsigned int)((v51 - 1) << 8);
LOBYTE(v60) = *v9++;
v8 = (unsigned int)v60;
LODWORD(v61) = 1;
do
{
v62 = __CFADD__(v11, v11);
v63 = 2 * v11;
if ( !v63 )
{
v64 = *v9++;
v65 = v62 + v64;
v62 = __CFADD__(v62, v64) | __CFADD__(v64, v62 + v64);
v63 = v64 + v65;
}
v61 = (unsigned int)v61 + v62 + (_DWORD)v61;
v66 = __CFADD__(v63, v63);
v11 = 2 * v63;
if ( !v11 )
{
v67 = *v9++;
v68 = v66 + v67;
v66 = __CFADD__(v66, v67) | __CFADD__(v67, v66 + v67);
v11 = v67 + v68;
}
}
while ( v66 );
if ( (unsigned int)v60 >= 0x7D00 )
{
LABEL_47:
v61 = (unsigned int)(v61 + 2);
LABEL_48:
qmemcpy(v10, &v10[-v60], v61);
v10 += v61;
}
else
{
if ( (unsigned int)v60 < 0x500 )
{
if ( (unsigned int)v60 > 0x7F )
goto LABEL_48;
goto LABEL_47;
}
v69 = (unsigned int)(v61 + 1);
qmemcpy(v10, &v10[-v60], v69);
v10 += v69;
}
}
else
{
LODWORD(v52) = 1;
do
{
v53 = __CFADD__(v11, v11);
v54 = 2 * v11;
if ( !v54 )
{
v55 = *v9++;
v56 = v53 + v55;
v53 = __CFADD__(v53, v55) | __CFADD__(v55, v53 + v55);
v54 = v55 + v56;
}
v52 = (unsigned int)v52 + v53 + (_DWORD)v52;
v57 = __CFADD__(v54, v54);
v11 = 2 * v54;
if ( !v11 )
{
v58 = *v9++;
v59 = v57 + v58;
v57 = __CFADD__(v57, v58) | __CFADD__(v58, v57 + v58);
v11 = v58 + v59;
}
}
while ( v57 );
qmemcpy(v10, &v10[-v8], v52);
v10 += v52;
}
}
v20 = 0i64;
v21 = __CFADD__(v11, v11);
v11 *= 2;
if ( !v11 )
{
v22 = *v9++;
v23 = v21 + v22;
v21 = __CFADD__(v21, v22) | __CFADD__(v22, v21 + v22);
v11 = v22 + v23;
}
if ( !v21 )
break;
v24 = __CFADD__(v11, v11);
v25 = 2 * v11;
if ( !v25 )
{
v26 = *v9++;
v27 = v24 + v26;
v24 = __CFADD__(v24, v26) | __CFADD__(v26, v24 + v26);
v25 = v26 + v27;
}
v28 = v24;
v29 = __CFADD__(v25, v25);
v30 = 2 * v25;
if ( !v30 )
{
v31 = *v9++;
v32 = v29 + v31;
v29 = __CFADD__(v29, v31) | __CFADD__(v31, v29 + v31);
v30 = v31 + v32;
}
v33 = v28 + v29 + v28;
v34 = __CFADD__(v30, v30);
v35 = 2 * v30;
if ( !v35 )
{
v36 = *v9++;
v37 = v34 + v36;
v34 = __CFADD__(v34, v36) | __CFADD__(v36, v34 + v36);
v35 = v36 + v37;
}
v38 = v33 + v34 + v33;
v39 = __CFADD__(v35, v35);
v11 = 2 * v35;
if ( !v11 )
{
v40 = *v9++;
v41 = v39 + v40;
v39 = __CFADD__(v39, v40) | __CFADD__(v40, v39 + v40);
v11 = v40 + v41;
}
v42 = v38 + v39 + v38;
if ( v42 )
LOBYTE(v42) = v10[-v42];
*v10++ = v42;
i = 2;
}
v70 = *v9++;
v71 = v70 & 1;
LOBYTE(v20) = v70 >> 1;
if ( !(_BYTE)v20 )
break;
v72 = (unsigned int)v71 + 2;
v8 = (unsigned int)v20;
qmemcpy(v10, &v10[-v20], v72);
v10 += v72;
}
return (unsigned int)((_DWORD)v10 - v75);
}
// positive sp value has been detected, the output may be wrong!
__int64 __fastcall sub_1407741DF(__int64 a1, __int64 a2)
{
char *v2; // rbx
char *v4; // [rsp-58h] [rbp-58h]
void (__fastcall *v7)(_QWORD); // [rsp-8h] [rbp-8h]
v2 = (char *)v7 - 7168093;
if ( !*((_DWORD *)v7 - 1037776) )
{
v7((char *)v7 + 463);
v2 = v4;
}
return ((__int64 (__fastcall *)(__int64, __int64))(v2 + 3016989))(a1, a2);
}Editor is loading...