RtlIpv4AddressToStringExA

NTSTATUS __stdcall RtlIpv4AddressToStringExA(
        in_addr *Address,
        UINT64 Port,
        INT8 *AddressString,
        UINT64 *AddressStringLength){
  __int16 v6; 
  INT8 *v7; 
  int v8; 
  size_t v9; 
  NTSTATUS result; 
  char S[22]; 
  char v12[2]; 

  v6 = Port;
  if( !Address || !AddressStringLength || !AddressString && *(_DWORD *)AddressStringLength )
    return -1073741811;
  v7 = RtlIpv4AddressToStringA(Address, S);
  v8 = (int)v7;
  if( v6 )
    v8 = sprintf_s(v7, v12 - v7, (INT8 *)":%u", (unsigned __int16)__ROR2__(v6, 8)) + (_DWORD)v7;
  v9 = v8 - (unsigned int)S + 1;
  if( *(_DWORD *)AddressStringLength < v9 )
  {
    *(_DWORD *)AddressStringLength = v9;
    return -1073741811;
  }
  memmove(AddressString, S, v9);
  result = 0;
  *(_DWORD *)AddressStringLength = v9;
  return result;
}

Referenced by:

No references.