http://www.microsoft.com/SoftwareDistribution/Server/ClientWebService/GetExtendedUpdateInfo2urn:uuid:'.$uuid.'https://fe3.delivery.mp.microsoft.com/ClientWebService/client.asmx/secured'.$created.''.$expires.''.$device.''.$updateId.''.$rev.'FileUrlFileDecryption'.$deviceAttributes.'';
}
// Composes POST data for fetching the latest update information from Windows Update
function composeFetchUpdRequest($device, $encData, $arch, $flight, $ring, $build, $sku = 48) {
    $uuid = genUUID();
    $createdTime = time();
    $expiresTime = $createdTime + 120;
    $created = gmdate(DATE_W3C, $createdTime);
    $expires = gmdate(DATE_W3C, $expiresTime);
    $branch = branchFromBuild($build);
    $products = array(
        'PN=Client.OS.rs2.'.$arch.'&Branch='.$branch.'&PrimaryOSProduct=1&Repairable=1&V='.$build,
        'PN=Windows.Appraiser.'.$arch.'&Repairable=1&V='.$build,
        'PN=Windows.AppraiserData.'.$arch.'&Repairable=1&V='.$build,
        'PN=Windows.EmergencyUpdate.'.$arch.'&Repairable=1&V='.$build,
        'PN=Windows.OOBE.'.$arch.'&IsWindowsOOBE=1&Repairable=1&V='.$build,
        'PN=Windows.UpdateStackPackage.'.$arch.'&Name=Update Stack Package&Repairable=1&V='.$build,
        'PN=Hammer.'.$arch.'&Source=UpdateOrchestrator&V=0.0.0.0',
        'PN=MSRT.'.$arch.'&Source=UpdateOrchestrator&V=0.0.0.0',
        'PN=SedimentPack.'.$arch.'&Source=UpdateOrchestrator&V=0.0.0.0',
    );
    $callerAttrib = array(
        'Id=UpdateOrchestrator',
        'SheddingAware=1',
        'Interactive=1',
        'IsSeeker=1',
    );
    $products = htmlentities(implode(';', $products));
    $callerAttrib = htmlentities('E:'.implode('&', $callerAttrib));
    $deviceAttributes = composeDeviceAttributes(
        $flight,
        $ring,
        $build,
        $arch,
        $sku
    );
    return 'http://www.microsoft.com/SoftwareDistribution/Server/ClientWebService/SyncUpdatesurn:uuid:'.$uuid.'https://fe3.delivery.mp.microsoft.com/ClientWebService/client.asmx'.$created.''.$expires.''.$device.'2046-02-18T21:29:10Z'.$encData.'falsefalsetruetrueExtendedLocalizedPropertiesEulaen-USfalse'.$deviceAttributes.''.$callerAttrib.''.$products.'';
}
// Composes POST data for Get Cookie request
function composeGetCookieRequest($device) {
    $uuid = genUUID();
    $createdTime = time();
    $expiresTime = $createdTime + 120;
    $created = gmdate(DATE_W3C, $createdTime);
    $expires = gmdate(DATE_W3C, $expiresTime);
    return 'http://www.microsoft.com/SoftwareDistribution/Server/ClientWebService/GetCookieurn:uuid:'.$uuid.'https://fe3.delivery.mp.microsoft.com/ClientWebService/client.asmx'.$created.''.$expires.''.$device.''.$created.''.$created.''.$created.'2.0';
}
?>