ReadStringDelimited_0
__int64 __fastcall ReadStringDelimited_0(
char a1,
unsigned __int16 **a2,
wint_t *a3,
_DWORD *a4,
__int64 a5,
int a6,
FILE *File,
__int64 Src,
__int64 a9){
unsigned __int16 v12;
unsigned __int16 *v14;
char v15;
unsigned __int16 *v16;
bool v17;
unsigned __int16 *v18;
unsigned __int16 i;
unsigned __int16 v20;
unsigned __int16 v21;
__int64 v22;
unsigned __int64 v23;
int v24;
INT64 result;
char v27;
v12 = 0;
memset((INT64)&result, 0i64);
v14 = *a2;
v15 = a1 | 8;
v16 = *a2 + 1;
*a2 = v16;
v17 = *v16 == 94;
if( *v16 != 94 )
v16 = v14;
if( !v17 )
v15 = a1;
v18 = v16 + 1;
i = v16[1];
if( i != 93 )
goto LABEL_7;
v27 = 32;
v18 = v16 + 2;
v12 = 93;
for( i = v16[2]; i != 93; i = *v18 )
{
LABEL_7:
if( i == 45 && v12 && (v20 = v18[1], v20 != 93) )
{
v21 = v18[1];
if( v12 >= v20 )
v21 = v12;
if( v12 >= v20 )
v12 = v18[1];
while( v12 <= v21 )
{
*((_BYTE *)&result + ((unsigned __int64)v12 >> 3)) |= 1 << (v12 & 7);
++v12;
}
v12 = 0;
v22 = 4i64;
}
else
{
v12 = i;
v23 = (unsigned __int64)i >> 3;
v24 = *((char *)&result + v23) | (1 << (i & 7));
v22 = 2i64;
*((_BYTE *)&result + v23) = v24;
}
v18 = (unsigned __int16 *)((char *)v18 + v22);
}
*a2 = v18;
return ReadString_0(v15, (__int64)&result, a3, a4, a5, a6, File, Src, a9);
}Referenced by:
winput_s