sounds like replacing the ECU might be the go but i would do theses steps first, most of them have the replace ECU step in them. but you never know you might just have a base idle that isnt right.
Code 35 IAC Valve
Code 35 will set if the curb idle speed is more then 250 RPM above the specified range and a cannot be controlled by the ECU apart from the IAC Valve Circuit this code can be set by the following possible causes.
Incorrectly Adjusted Throttle Cable
Sticking Throttle Cable
Vacuum Leaks
Faulty PCV Valve
Incorrect Air - Fuel Ratio
1. Disconnect the wiring from the IAC Valve and Measure the Resistance between terminals A and B and C and D respectively. Renew the IAV Valve if the resistance is not 40-80 OHMS.
2. Check there is no continuity between terminals A and D and also B and C
3. Check the wiring between the IAC Valve and the ECU for Continuity and Shorts.
4.Remove IAC Valve and check that the pintle shaft is not seized
5. Remove throttle body and Thoroughly Clean the throttle valve and bore and the IAC Passages. Check and adjust base idle.
6. run engine to normal operating temperature (maybe not lol)
7. Ensure all Accessories are off and Disconnect wiring from IAC valve while engine is idling .
8. Connect a test lamp between the IAC Valve Harness and terminals A and b, and c and D respectively with the engine idleing the test lamp should flicker
9. if test lamp flickers check for ditry terminals at the IAC Valve if no fault is found renew the IAC Valve.
48 Cam angle sensor (most probably the problem)
1. Disconnect the Cam Angle Sensor Wiring.
2. measure the voltage between the sensor harness terminals a and Band B and C with the ignition on the voltage between a and be should be 5-7 volts and between B and C should be 8-11 volts
3. if either the voltages are incorrect, check the wiring between the sensor and the DFI module for continuity and shorts to earth.
Check continuity to earth at the sensor harness terminal B if no fault can be found renew the DFI Module.
4.If both voltages are correct connect the wiring to the Cam Angle sensor and measure the voltage at ECU pin D3 with the ignition on.
5. If Voltage is not approximately 4.8 volts, momentarily crank the engine and check the voltage again with the ignition on.
6.if 4.8 volts is not present at terminal D3 run the engine at idle speed for one minute then check the voltage at d3 and the DFI module fr continuity and short to earth. If wiring is not faulty, renew the cam angle sensor.(if you can get your engine running)
7. If 4.8 volts is present at D3, run the engine at idle speed for one minute and then check the voltage while engine is idling
8. if voltage is fluctuating above and below approximately 4.1 volts check for loose or dirty connection at D3 if no fault can be found and the Fault code remains renew the ECU.
9.if the voltage is not fluctuating as described stop the engine and disconnect the injector wiring connectors
10 switch the ignition to ON and back probe terminal A of the Crank Angle Sensor with a voltmeter.
11. rotate the crankshaft pulley manually two revolutions the voltimeter reading should drop to 0 as the magnet in the crankshaft passes the sensor.
12. if the voltage does not drop to 0 within two crankshaft revolutions check for a faulty connection at the sensor, a faulty sensor or a missing pickup magnet.
92 low speed fan fault
1.if the engine starts and the fault is intermittent. check the wiring between ECU terminal A3 and the BCM terminal 2 (black/red) for continuity and intermittent shorts to earth ensure that the terminals are clean and secure.
2. confirm the low speed cooling fan in cycling off and on with the engine at operating temperatures.
3. clear the fault codes and road test the vehicle if the code resets then take the vehicle to a automotive specialist with ECU and BCM Diagnostics tools to isolate the fault to the BCM or ECU.