RtlIpv4AddressToStringExW

NTSTATUS __stdcall RtlIpv4AddressToStringExW(
        in_addr *Address,
        UINT64 Port,
        WCHAR *AddressString,
        UINT64 *AddressStringLength){
  __int16 v6; 
  WCHAR *v7; 
  WCHAR *v8; 
  unsigned int v9; 
  NTSTATUS result; 
  WCHAR S[22]; 
  char v12[4]; 

  v6 = Port;
  if( Address && AddressStringLength && (AddressString || !*(_DWORD *)AddressStringLength) )
  {
    v7 = RtlIpv4AddressToStringW(Address, S, (INT64)AddressString);
    v8 = v7;
    if( v6 )
      v8 = &v7[(int)swprintf_s(v7, (v12 - (char *)v7) >> 1, (WCHAR *)L":%u", (unsigned __int16)__ROR2__(v6, 8))];
    v9 = v8 - S + 1;
    if( *(_DWORD *)AddressStringLength >= v9 )
    {
      memmove(AddressString, S, 2 * v9);
      result = 0;
      *(_DWORD *)AddressStringLength = v9;
      return result;
    }
    *(_DWORD *)AddressStringLength = v9;
  }
  return -1073741811;
}

Referenced by:

No references.