Created
February 8, 2020 10:05
-
-
Save AmyrAhmady/76d4fc7f4064766e148edb7dfdaaba34 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
int __cdecl gen_gpci(_BYTE *a1, const char *a2, int factor) | |
{ | |
int v3; // esi | |
unsigned __int8 v4; // al | |
unsigned __int8 v5; // dl | |
unsigned __int8 v6; // cl | |
unsigned __int8 v7; // bl | |
unsigned __int8 v8; // al | |
char v9; // cl | |
char v10; // bl | |
int v11; // eax | |
char *v12; // ecx | |
_BYTE *v13; // edx | |
char v14; // al | |
int v16; // [esp+8h] [ebp-260h] | |
void *v17; // [esp+Ch] [ebp-25Ch] | |
int v18; // [esp+10h] [ebp-258h] | |
int v19; // [esp+14h] [ebp-254h] | |
int v20; // [esp+18h] [ebp-250h] | |
int v21; // [esp+1Ch] [ebp-24Ch] | |
void *v22; // [esp+20h] [ebp-248h] | |
int v23; // [esp+24h] [ebp-244h] | |
int v24; // [esp+28h] [ebp-240h] | |
int v25; // [esp+2Ch] [ebp-23Ch] | |
int v26; // [esp+30h] [ebp-238h] | |
unsigned int v27; // [esp+34h] [ebp-234h] | |
char v28; // [esp+38h] [ebp-230h] | |
char v29; // [esp+64h] [ebp-204h] | |
int v30; // [esp+264h] [ebp-4h] | |
sub_100635C0(&v29); | |
v16 = 0; | |
v17 = 0; | |
v18 = 0; | |
v19 = 0; | |
v20 = 0; | |
v30 = 0; | |
sub_10063DA0(a2, strlen(a2)); | |
sub_10063CE0(&v16); | |
v21 = v16; | |
v22 = v17; | |
v23 = v18; | |
v24 = v19; | |
v25 = v20; | |
v3 = 0; | |
do | |
{ | |
v4 = *((_BYTE *)&v21 + v3); | |
v5 = *((_BYTE *)&v21 + v3) & 3; | |
v6 = (v4 >> 2) & 3; | |
v7 = (*((_BYTE *)&v21 + v3) >> 4) & 3; | |
v8 = v4 >> 6; | |
if ( v5 <= v6 ) | |
v9 = v5 | 4 * v6; | |
else | |
v9 = v6 | 4 * v5; | |
if ( v7 <= v8 ) | |
v10 = v7 | 4 * v8; | |
else | |
v10 = v8 | 4 * v7; | |
*((_BYTE *)&v21 + v3++) = v9 | 16 * v10; | |
} | |
while ( v3 != 20 ); | |
if ( !dword_102ACA24 ) | |
--factor; | |
sub_10057170(&v28, &v21); | |
sub_1005F930(&v28, 16, 0, 0); | |
sub_10059380(factor); | |
v11 = sub_1005A910(&v21, 16); | |
if ( *(_DWORD *)(v11 + 24) < 16u ) | |
v12 = (char *)(v11 + 4); | |
else | |
v12 = *(char **)(v11 + 4); | |
v13 = a1; | |
do | |
{ | |
v14 = *v12++; | |
*v13++ = v14; | |
} | |
while ( v14 ); | |
if ( v27 >= 16 ) | |
j__free_0(v22); | |
v27 = 15; | |
v26 = 0; | |
LOBYTE(v22) = 0; | |
v30 = -1; | |
return sub_10063550(&v29, v13); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment