AMRestoreModeDevice *__cdecl AMRestoreModeDeviceCreate(int allocator,int deviceID,int a3) { void *v3; // eax@1 AMRestoreModeDevice *result; // eax@3 int v5; // edx@5 v3 = AMRestoreModeDeviceTypeID; if ( !AMRestoreModeDeviceTypeID ) { v3 = CFRuntimeRegisterClass(&AMRestoreModeDeviceClass); AMRestoreModeDeviceTypeID = v3; } result = (AMRestoreModeDevice *)CFRuntimeCreateInstance(allocator, v3, 44, 0); if ( result ) { v5 = a3; result->m_nDeviceID = deviceID; result->nLocationID = v5; result->m_cfsSerialNumber = 0; result->m_cfsHardwareModel = 0; result->m_socket = -1; result->nOperation = 0; } return result; }