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