Let's use
virustotal.com on it. You pretend objc.dll is
infected, and upload it for analysis.
https://www.virustotal.com/en/file/4c3fd15b1cb8a9bbd7b627e40d63e6b4a7ffe059524e86781a917bfb1ddbab30/analysis/
Then, look at the "PE exports" list. It still won't list all
of them, so there are 165 missing from the list.
Block_size
NXCompareHashTables
NXCompareMapTables
...
_objcInit
_objc_autoreleasePoolPop
_objc_autoreleasePoolPrint
_objc_autoreleasePoolPush
_objc_deallocOnMainThreadHelper
_objc_empty_cache
_objc_flush_caches
_objc_getFreedObjectClass
_objc_init_image2 <-----
_objc_load_image2 <-----
...
165 more exports
Now, your error says you're missing "_objc_init_image".
This probably means the objc.dll in question, is
designed or intended for some other situation. You'd need
to find an older version which had the first design in it.
So what you might do, is if you find two of them, upload
both of them to
virustotal.com , and if there is a PE Export
list, verify which one has "_objc_init_image".
You might need to find a tool that does a better job of
listing PE Exports. Even a hex editor, and search on
_objc_init_image might be better than nothing.
And if you were to select the AppleApplicationSupport.msi from
some other version, what are the odds that will align
well enough to work with a newer iCloud.msi ?
Paul