好友
阅读权限10
听众
最后登录1970-1-1
|
下面这段代码。怎么能想个办法,运行一下,看下参数啥的,方便看算法 具体是啥样的呢? 多谢各位了
__int64 __fastcall main(int argc, char** argv)
{
signed __int64 v2; // r15
char* array1; // rsi
signed __int64 endPtrOfArray1; // rdi
_DWORD* vectorInt2; // r14
_DWORD* v6; // rbx
_DWORD* v7; // rbx
signed __int64 v8; // r15
int* v9; // rdx
int v10; // eax
signed int v11; // eax
int* v12; // rcx
std::basic_ostream<char, std::char_traits<char> >* v13; // rax
int* v14; // rcx
unsigned __int64 v15; // rdx
unsigned __int64 v16; // rdx
unsigned __int64 v20; // rdi
std::basic_ostream<char, std::char_traits<char> >* v25; // rax
int v26; // [rsp+20h] [rbp-29h]
__int128 Src; // [rsp+28h] [rbp-21h]
int v28; // [rsp+38h] [rbp-11h]
std::vector<int, std::allocator<int> > vectorInt1; // [rsp+40h] [rbp-9h]
__int128 v30; // [rsp+58h] [rbp+Fh]
char* v31; // [rsp+68h] [rbp+1Fh]
__int128 v32; // [rsp+70h] [rbp+27h]
char* v33; // [rsp+80h] [rbp+37h]
v30 = 0i64;
_mm_storeu_si128((__m128i*) & Src, _mm_load_si128((const __m128i*) & _xmm));
v2 = 5i64;
v28 = 5;
array1 = (char*)operator new(20ui64);
*(_QWORD*)&v30 = array1;
endPtrOfArray1 = (signed __int64)(array1 + 20);
v31 = array1 + 20;
memmove_0(array1, &Src, 0x14ui64);
*((_QWORD*)&v30 + 1) = array1 + 20;
v32 = 0i64;
vectorInt2 = operator new(0x14ui64);
*(_QWORD*)&v32 = vectorInt2;
v33 = (char*)(vectorInt2 + 5);
*(_OWORD*)vectorInt2 = 0i64;
vectorInt2[4] = 0;
*((_QWORD*)&v32 + 1) = vectorInt2 + 5;
_mm_storeu_si128((__m128i*) & vectorInt1, (__m128i)0i64);
vectorInt1._Mypair._Myval2._Myend = 0i64;
v6 = vectorInt2;
do
{
std::basic_istream<char, std::char_traits<char>>::operator>>(*(_QWORD*)std::cin.gap0, v6);
++v6;
--v2;
} while (v2);
v7 = array1;
if (array1 != (char*)endPtrOfArray1)
{
v8 = (char*)vectorInt2 - array1;
v9 = vectorInt1._Mypair._Myval2._Mylast;
do
{
v10 = *v7 * *(_DWORD*)((char*)v7 + v8);
v26 = *v7 * *(_DWORD*)((char*)v7 + v8);
if (v9 == vectorInt1._Mypair._Myval2._Myend)
{
std::vector<int, std::allocator<int>>::_Emplace_reallocate<int>(&vectorInt1, v9, &v26);
v9 = vectorInt1._Mypair._Myval2._Mylast;
}
else
{
*v9 = v10;
v9 = vectorInt1._Mypair._Myval2._Mylast + 1;
++vectorInt1._Mypair._Myval2._Mylast;
}
++v7;
} while (v7 != (_DWORD*)endPtrOfArray1);
}
v11 = 2;
v12 = vectorInt1._Mypair._Myval2._Myfirst;
do
{
if (*v12 != v11)
{
v25 = std::operator<<<std::char_traits<char>>(
*(std::basic_ostream<char, std::char_traits<char> >**)std::cout.gap0,
"You failed!");
std::basic_ostream<char, std::char_traits<char>>::operator<<(v25, std::endl<char, std::char_traits<char>>);
exit(0);
}
v11 += 2;
++v12;
} while (v11 < 12);
v13 = std::operator<<<std::char_traits<char>>(
*(std::basic_ostream<char, std::char_traits<char> >**)std::cout.gap0,
"You win!");
std::basic_ostream<char, std::char_traits<char>>::operator<<(v13, std::endl<char, std::char_traits<char>>);
system("pause");
v14 = vectorInt1._Mypair._Myval2._Myfirst;
if (vectorInt1._Mypair._Myval2._Myfirst)
{
v15 = 4i64
* ((_QWORD)((char*)vectorInt1._Mypair._Myval2._Myend - (char*)vectorInt1._Mypair._Myval2._Myfirst) >> 2);
if (v15 >= 0x1000)
{
v15 += 39i64;
v14 = (int*)*((_QWORD*)vectorInt1._Mypair._Myval2._Myfirst - 1);
if ((unsigned __int64)((char*)vectorInt1._Mypair._Myval2._Myfirst - (char*)v14 - 8) > 0x1F)
_invalid_parameter_noinfo_noreturn();
}
operator delete(v14, v15);
_mm_storeu_si128((__m128i*) & vectorInt1, (__m128i)0i64);
vectorInt1._Mypair._Myval2._Myend = 0i64;
}
if (vectorInt2)
{
v16 = 20i64;
operator delete(vectorInt2, v16);
}
if (array1)
{
v20 = 20i64;
operator delete(array1, v20);
}
return 0i64;
} |
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|