Convert the following c++ program into an x86 assembly language | CIS2420

Convert the following C++ program into an x86 assembly language program.
Make sure to use your “Chapter 8” understanding of advanced functions, parameter passing, and local variables.
Post ONLY your ASM file here to Blackboard when complete.#include <iostream>

using namespace std;

int IsSemifauxtrifactored(int value)
{
    // Return 1 if a number’s factors/divisors from (value – 1) to 1 sum up to half the number value
    // Return 0 otherwise

    // A number is called “semifauxtrifactored” if its summed factors/divisors equal half the number itself
    // Integer division is used, so remainders on the halving can be lost
    // That’s why…
 
    // 9 is a semifauxtrifactored number
    // 9 cut in half with integer division is (9 / 2) = 4
    // 9 % 8 -> 1
    // 9 % 7 -> 2
    // 9 % 6 -> 3
    // 9 % 5 -> 4
    // 9 % 4 -> 1
    // 9 % 3 -> 0   FACTOR!
    // 9 % 2 -> 1  
    // 9 % 1 -> 0   FACTOR!
    // 9 is a semifauxtrifactored number since its factors (1 + 3) equal half the number (4)

    // 6 is a normal number
    // 6 cut in half with integer division is (6 / 2) = 3
    // 6 % 5 -> 1
    // 6 % 4 -> 2
    // 6 % 3 -> 0   FACTOR!
    // 6 % 2 -> 0   FACTOR!  
    // 6 % 1 -> 0   FACTOR!
    // 6 is a normal number since its factors (1 + 2 + 3) do not equal half the number (3)
}

int main()
{
    cout << “Enter a value: “;
    int value;
    cin >> value;
    value = IsSemifauxtrifactored(value);
    if (value == 1)
    {
 cout << “The number is semifauxtrifactored!”;
    }
    else
    {
 cout << “The number is normal”;
    }

    cout << endl;
    system(“PAUSE”);
}