mirror of
https://github.com/avast/ioc
synced 2024-06-16 11:58:39 +00:00
41 lines
771 B
C#
41 lines
771 B
C#
internal static int CustomBinaryReader(BinaryReader \u0020)
|
|
{
|
|
bool flag = false;
|
|
uint num = 0U;
|
|
uint num2 = (uint)pXk.ReadByte(\u0020);
|
|
int num3 = 0;
|
|
|
|
num |= (num2 & 63U);
|
|
if ((num2 & 64U) != 0U)
|
|
{
|
|
flag = true;
|
|
}
|
|
if (num2 < 128U)
|
|
{
|
|
if (flag)
|
|
{
|
|
return (int)(~(int)num);
|
|
}
|
|
return (int)num;
|
|
}
|
|
else
|
|
{
|
|
int num4 = 0;
|
|
for (;;)
|
|
{
|
|
uint num5 = (uint)\u0020.ReadByte();
|
|
num |= (num5 & 127U) << 7 * num4 + 6;
|
|
if (num5 < 128U)
|
|
{
|
|
break;
|
|
}
|
|
num4++;
|
|
}
|
|
if (flag)
|
|
{
|
|
return (int)(~(int)num);
|
|
}
|
|
return (int)num;
|
|
}
|
|
}
|