L
like_ask
Unregistered / Unconfirmed
GUEST, unregistred user!
int Mir2EnCode(BYTE *pInBuff,DWORD dwInLen,BYTE *pOut,DWORD dwOutLen)
{
DWORD var_20 = 0;
BYTE var_1B = 0;
BYTE var_1A = 0;
BYTE var_19 = 0;
DWORD var_18 = 0;
DWORD var_14 = 0;
DWORD var_10 = 0;
DWORD var_C = 0;
DWORD var_8 = 0;
DWORD var_4 = 0;
BYTE bAL = 0;
BYTE bCL = 0;
DWORD dwEAX;
DWORD dwEDX;
DWORD dwECX;
var_20 = dwInLen ;
while(var_20 >0)
{
dwEDX = var_10 ;
bAL = pInBuff[dwEDX];
var_1A = bAL ;
dwECX = var_14 ;
dwECX = dwECX +2;
bAL = var_1A;
dwEAX = bAL ;
dwEAX = dwEAX >> dwECX ;
bAL = dwEAX ;
bAL = bAL | var_1B;
bAL = bAL & 0x3F;
var_19 = bAL;
dwEAX = var_14 ;
dwEAX = dwEAX +2;
dwECX = 8;
dwECX = dwECX - dwEAX ;
bAL = var_1A;
dwEAX = bAL ;
dwEAX = dwEAX << dwECX ;
dwEAX = dwEAX >> 2;
bAL = dwEAX ;
bAL = bAL & 0x3F ;
var_1B = bAL ;
var_14 = var_14 +2;
if(var_14<6)
{
dwEDX = var_18;
bCL = var_19;
bCL = bCL + 0x3C ;
pOut[dwEDX] = bCL ;
var_18 = var_18 +1;
}
else
{
dwEDX = var_18;
bCL = var_19;
bCL = bCL + 0x3C ;
pOut[dwEDX] = bCL ;
dwEDX = var_18 ;
bCL = var_1B ;
bCL = bCL + 0x3C;
pOut[dwEDX+1] = bCL ;
var_18 = var_18 + 2;
dwEAX = 0;
var_14 = 0;
var_1B = 0;
}
var_10 = var_10 +1;
var_20 = var_20 -1;
}
if(var_14 > 0)
{
dwEDX = var_18;
bCL = var_1B;
bCL = bCL + 0x3C ;
pOut[dwEDX] = bCL ;
var_18 = var_18 +1;
}
dwOutLen = var_18;
pOut[var_18]='/0';
return 1;
}
int Mir2DeCode(BYTE *pInBuff,DWORD dwInLen,BYTE *pOut,DWORD dwOutLen)
{
BYTE byte_4A2CBE[]={0x40,0x00,0xFC,0xF8,0xF0,0xE0,0xC0,0x8D,0x40};
DWORD var_28 = 0;
BYTE var_23 = 0;
BYTE var_22 = 0;
BYTE var_21 = 0;
DWORD var_20 = 0;
DWORD var_1C = 0;
DWORD var_18 = 0;
DWORD var_14 = 0;
DWORD var_10 = 0;
DWORD var_C = 0;
DWORD var_8 = 0;
DWORD var_4 = 0;
DWORD dwEAX = 0;
DWORD dwEDX = 0;
DWORD dwECX = 0;
BYTE bAL = 0;
BYTE bCL = 0;
var_14 = dwInLen;
var_18 = 2;
dwEAX = 0;
var_1C = dwEAX ;
dwEAX = 0;
var_20 = dwEAX ;
var_22 = 0;
dwEAX = var_14 ;
var_28 = dwEAX ;
var_10 = 1;
dwEDX = var_10 ;
while(var_28>0)
{
dwEAX = pInBuff[dwEDX-1];
dwEAX = dwEAX -0x3C;
if(dwEAX >= 0)
{
dwEDX = var_10 ;
bAL = pInBuff[dwEDX-1];
bAL = bAL -0x3C;
var_21 = bAL;
}
else
{
dwEAX = 0;
var_20 = dwEAX ;
}
dwEAX = var_20 ;
dwEAX = var_1C ;
dwEAX = dwEAX + 0x06;
if(dwEAX >= 8)
{
dwECX = 6;
dwECX = dwECX - var_18;
bAL = var_21;
bAL = bAL & 0x3F;
dwEAX = bAL ;
dwEAX = dwEAX >> dwECX;
bAL = dwEAX ;
bAL = bAL | var_22;
var_23 = bAL ;
dwEDX = var_20 ;
bCL = var_23;
pOut[dwEDX] = bCL;
var_20 = var_20 +1;
dwEAX = 0;
var_1C = dwEAX ;
if(var_18 >=6)
{
var_18 = 2;
var_10 = var_10 +1;
var_28 = var_28 -1;
}
else
{
var_18 = var_18 +2;
dwECX = var_18;
bAL = var_21;
bAL = bAL << dwECX ;
dwEDX = var_18;
bAL = bAL & byte_4A2CBE[dwEDX];
var_22 = bAL ;
dwEAX = bAL =8;
dwEAX = dwEAX -var_18;
var_1C = var_1C + dwEAX;
var_10 = var_10 +1;
var_28 = var_28 -1;
}
}
else
{
dwECX = var_18;
bAL = var_21;
bAL = bAL << dwECX ;
dwEDX = var_18;
bAL = bAL & byte_4A2CBE[dwEDX];
var_22 = bAL ;
dwEAX = bAL =8;
dwEAX = dwEAX -var_18;
var_1C = var_1C + dwEAX;
var_10 = var_10 +1;
var_28 = var_28 -1;
}
}
dwOutLen = var_20;
return 1;
}
{
DWORD var_20 = 0;
BYTE var_1B = 0;
BYTE var_1A = 0;
BYTE var_19 = 0;
DWORD var_18 = 0;
DWORD var_14 = 0;
DWORD var_10 = 0;
DWORD var_C = 0;
DWORD var_8 = 0;
DWORD var_4 = 0;
BYTE bAL = 0;
BYTE bCL = 0;
DWORD dwEAX;
DWORD dwEDX;
DWORD dwECX;
var_20 = dwInLen ;
while(var_20 >0)
{
dwEDX = var_10 ;
bAL = pInBuff[dwEDX];
var_1A = bAL ;
dwECX = var_14 ;
dwECX = dwECX +2;
bAL = var_1A;
dwEAX = bAL ;
dwEAX = dwEAX >> dwECX ;
bAL = dwEAX ;
bAL = bAL | var_1B;
bAL = bAL & 0x3F;
var_19 = bAL;
dwEAX = var_14 ;
dwEAX = dwEAX +2;
dwECX = 8;
dwECX = dwECX - dwEAX ;
bAL = var_1A;
dwEAX = bAL ;
dwEAX = dwEAX << dwECX ;
dwEAX = dwEAX >> 2;
bAL = dwEAX ;
bAL = bAL & 0x3F ;
var_1B = bAL ;
var_14 = var_14 +2;
if(var_14<6)
{
dwEDX = var_18;
bCL = var_19;
bCL = bCL + 0x3C ;
pOut[dwEDX] = bCL ;
var_18 = var_18 +1;
}
else
{
dwEDX = var_18;
bCL = var_19;
bCL = bCL + 0x3C ;
pOut[dwEDX] = bCL ;
dwEDX = var_18 ;
bCL = var_1B ;
bCL = bCL + 0x3C;
pOut[dwEDX+1] = bCL ;
var_18 = var_18 + 2;
dwEAX = 0;
var_14 = 0;
var_1B = 0;
}
var_10 = var_10 +1;
var_20 = var_20 -1;
}
if(var_14 > 0)
{
dwEDX = var_18;
bCL = var_1B;
bCL = bCL + 0x3C ;
pOut[dwEDX] = bCL ;
var_18 = var_18 +1;
}
dwOutLen = var_18;
pOut[var_18]='/0';
return 1;
}
int Mir2DeCode(BYTE *pInBuff,DWORD dwInLen,BYTE *pOut,DWORD dwOutLen)
{
BYTE byte_4A2CBE[]={0x40,0x00,0xFC,0xF8,0xF0,0xE0,0xC0,0x8D,0x40};
DWORD var_28 = 0;
BYTE var_23 = 0;
BYTE var_22 = 0;
BYTE var_21 = 0;
DWORD var_20 = 0;
DWORD var_1C = 0;
DWORD var_18 = 0;
DWORD var_14 = 0;
DWORD var_10 = 0;
DWORD var_C = 0;
DWORD var_8 = 0;
DWORD var_4 = 0;
DWORD dwEAX = 0;
DWORD dwEDX = 0;
DWORD dwECX = 0;
BYTE bAL = 0;
BYTE bCL = 0;
var_14 = dwInLen;
var_18 = 2;
dwEAX = 0;
var_1C = dwEAX ;
dwEAX = 0;
var_20 = dwEAX ;
var_22 = 0;
dwEAX = var_14 ;
var_28 = dwEAX ;
var_10 = 1;
dwEDX = var_10 ;
while(var_28>0)
{
dwEAX = pInBuff[dwEDX-1];
dwEAX = dwEAX -0x3C;
if(dwEAX >= 0)
{
dwEDX = var_10 ;
bAL = pInBuff[dwEDX-1];
bAL = bAL -0x3C;
var_21 = bAL;
}
else
{
dwEAX = 0;
var_20 = dwEAX ;
}
dwEAX = var_20 ;
dwEAX = var_1C ;
dwEAX = dwEAX + 0x06;
if(dwEAX >= 8)
{
dwECX = 6;
dwECX = dwECX - var_18;
bAL = var_21;
bAL = bAL & 0x3F;
dwEAX = bAL ;
dwEAX = dwEAX >> dwECX;
bAL = dwEAX ;
bAL = bAL | var_22;
var_23 = bAL ;
dwEDX = var_20 ;
bCL = var_23;
pOut[dwEDX] = bCL;
var_20 = var_20 +1;
dwEAX = 0;
var_1C = dwEAX ;
if(var_18 >=6)
{
var_18 = 2;
var_10 = var_10 +1;
var_28 = var_28 -1;
}
else
{
var_18 = var_18 +2;
dwECX = var_18;
bAL = var_21;
bAL = bAL << dwECX ;
dwEDX = var_18;
bAL = bAL & byte_4A2CBE[dwEDX];
var_22 = bAL ;
dwEAX = bAL =8;
dwEAX = dwEAX -var_18;
var_1C = var_1C + dwEAX;
var_10 = var_10 +1;
var_28 = var_28 -1;
}
}
else
{
dwECX = var_18;
bAL = var_21;
bAL = bAL << dwECX ;
dwEDX = var_18;
bAL = bAL & byte_4A2CBE[dwEDX];
var_22 = bAL ;
dwEAX = bAL =8;
dwEAX = dwEAX -var_18;
var_1C = var_1C + dwEAX;
var_10 = var_10 +1;
var_28 = var_28 -1;
}
}
dwOutLen = var_20;
return 1;
}