xtow_s
NTSTATUS __stdcall xtow_s(UINT64 val, WCHAR *buf, UINT64 sizeInTChars, UINT64 radix, INT64 is_neg){
unsigned int v5;
UINT64 v9;
WCHAR *v10;
WCHAR *v11;
_WORD *v12;
WCHAR *v13;
unsigned int v14;
__int16 v15;
WCHAR v16;
v5 = radix;
if( !buf || !sizeInTChars )
goto LABEL_18;
*buf = 0;
if( sizeInTChars <= (unsigned __int64)((_DWORD)is_neg != 0) + 1 )
{
LABEL_4:
xHalTimerWatchdogStop(0i64, 0i64);
return 34;
}
if( (unsigned int)(radix - 2) <= 0x22 )
{
v9 = 0i64;
v10 = buf;
if( (_DWORD)is_neg )
{
v10 = buf + 1;
*buf = 45;
LODWORD(val) = -(int)val;
v9 = 1i64;
}
v11 = v10;
do
{
v12 = v10 + 1;
v13 = v10;
v14 = (unsigned int)val % v5;
LODWORD(val) = (unsigned int)val / v5;
v15 = 87;
if( v14 <= 9 )
v15 = 48;
++v9;
*v10 = v14 + v15;
if( !(_DWORD)val )
break;
++v10;
}
while( v9 < sizeInTChars );
if( v9 >= sizeInTChars )
{
*buf = 0;
goto LABEL_4;
}
*v12 = 0;
do
{
v16 = *v13;
*v13-- = *v11;
*v11++ = v16;
}
while( v11 < v13 );
return 0;
}
else
{
LABEL_18:
xHalTimerWatchdogStop(0i64, 0i64);
return 22;
}
}Referenced by:
itow_s
ultow_s