{ "artifacts": [ { "architecture": "arm64", "digest": { "sha256": "afc71d0d21fd3c1ca95ca745ddafcd729e36ad95f17d8638009f2e45d9b7e8df" }, "format": "mach-o" } ], "captures": [], "environments": [], "providers": [ { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" } ], "scenarios": [], "unknowns": [], "records": [ { "analysis_profile": { "digest": "20565088524a2d0359b9b96f46ac48e679d774c7b0092c56abc06de8fdbec11c", "parameters": { "analyzer_preset": "ghidra-default", "annotation_policy": "atomic-function-entry-metadata-v1", "architecture": "arm64", "available_architectures": [ "arm64" ], "compiler_spec_id": "auto-default", "decompiler_jump_loads": true, "function_body_evidence": "complete-inclusive-ranges-v1", "function_boundary_observations": "ghidra-terminal-call-limitations-v1", "function_references": "complete-body-and-entry-reference-manager-v2", "import_mode": "ephemeral-source-immutable", "instruction_flow_evidence": "decoded-return-pcode-v1", "jump_table_evidence": "typed-case-default-blocks-v1", "language_id": "auto-from-header", "load_image_observations": "source-mappings-entry-context-v2", "loader": "auto-from-header", "location_resolution": "explicit-address-exact-entry-symbol-first-v3", "no_return_repair": "returning-imports-decoded-return-v2", "process_launch": "inspected-jvm-launch-support-v1", "string_inventory_evidence": "defined-data-coverage-v1", "target_format": "mach-o", "target_kind": "executable" }, "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" } }, "authority": "shipped-artifact", "confidence": "observed", "environment": null, "evidence_id": "ev_021df742af4a60d5c922407bb13ddcc2405279e08d39931420589fcead8c44ef", "evidence_links": [], "limitations": [ "The session serves operations only after Ghidra reports default auto-analysis complete; incomplete analysis does not expose partial results.", "The imported Program and temporary project are ephemeral and deleted on close. Annotation operations edit session database metadata; original executable bytes are never written.", "Cancelling an active Ghidra request terminates its ephemeral database and discards session annotations. The selected target remains open; the next provider query imports the original artifact again.", "Default-space addresses use lowercase 0x-prefixed hexadecimal; other address spaces use :0x.", "Regex mode uses Java Pattern semantics. Matcher or compiler stack exhaustion returns a resource constraint without closing the session; literal mode avoids regex recursion and returns complete matching values.", "macOS sessions require a matching executable Ghidra native decompiler; REA checks for it but does not build native components or change Gatekeeper quarantine state." ], "locations": [], "normalized_result": [ { "address": "EXTERNAL:0x23", "value": "/usr/lib/swift/libswiftFoundation.dylib::Foundation::Data::LargeSlice::ensureUniqueReference" }, { "address": "EXTERNAL:0x26", "value": "/usr/lib/swift/libswiftFoundation.dylib::Foundation::Data::RangeReference::typeMetadataAccessor" }, { "address": "EXTERNAL:0x19b", "value": "/usr/lib/swift/libswiftCore.dylib::_swift_isUniquelyReferenced_nonNull_native" }, { "address": "0x1000196f8", "value": "MSSuperSkinSmoothingPlugIn::load" }, { "address": "0x100019974", "value": "MSSuperSkinSmoothingPlugIn::initWithAPIManager:" }, { "address": "0x100019f88", "value": "MSSuperSkinSmoothingPlugIn::dealloc" }, { "address": "0x10001a198", "value": "MSSuperSkinSmoothingPlugIn::mss_faceThinRememberedPointsForBox:renderTime:source:" }, { "address": "0x10001b6b8", "value": "MSSuperSkinSmoothingPlugIn::mss_faceThinRenderTimeCanUpdateMemory:" }, { "address": "0x10001b7a0", "value": "MSSuperSkinSmoothingPlugIn::mss_rememberFaceThinPoints:forBox:renderTime:source:" }, { "address": "0x10001be00", "value": "MSSuperSkinSmoothingPlugIn::mss_rememberFaceThinPointSets:boxes:renderTime:source:" }, { "address": "0x10001c048", "value": "MSSuperSkinSmoothingPlugIn::mss_resetFaceThinTransientStateForReason:call:renderTime:sourceRect:destinationRect:tileRect:" }, { "address": "0x10001c43c", "value": "MSSuperSkinSmoothingPlugIn::mss_rewindFaceReferenceForRenderTime:pointsOut:boxOut:timeOut:" }, { "address": "0x10001c47c", "value": "MSSuperSkinSmoothingPlugIn::mss_rewindFaceReferenceForRenderTime:allowCurrentTime:pointsOut:boxOut:timeOut:" }, { "address": "0x10001c800", "value": "MSSuperSkinSmoothingPlugIn::mss_timeLocalFaceReferenceForRenderTime:pointsOut:boxOut:detectionTimeOut:outputTimeOut:usedHistoryOut:" }, { "address": "0x10001c84c", "value": "MSSuperSkinSmoothingPlugIn::mss_timeLocalFaceReferenceForRenderTime:allowCurrentTime:pointsOut:boxOut:detectionTimeOut:outputTimeOut:usedHistoryOut:" }, { "address": "0x10001ce84", "value": "MSSuperSkinSmoothingPlugIn::mss_storeRewindFaceReferencePoints:forBox:renderTime:" }, { "address": "0x10001d224", "value": "MSSuperSkinSmoothingPlugIn::mss_clearRewindFaceReferences" }, { "address": "0x10001d284", "value": "MSSuperSkinSmoothingPlugIn::apiManager" }, { "address": "0x10001d28c", "value": "MSSuperSkinSmoothingPlugIn::controlPanelValueForPluginAtTime:" }, { "address": "0x10001d838", "value": "MSSuperSkinSmoothingPlugIn::moduleSwitchControlPanelValueForPlugin" }, { "address": "0x10001da34", "value": "MSSuperSkinSmoothingPlugIn::writeControlPanelValueFromPlugin:atTime:" }, { "address": "0x10001da68", "value": "MSSuperSkinSmoothingPlugIn::writeControlPanelValueFromPlugin:atTime:refreshCombinedState:" }, { "address": "0x10001e3ac", "value": "MSSuperSkinSmoothingPlugIn::mss_syncCompletedFaceTrackCacheFromPanelValue:" }, { "address": "0x10001e3d8", "value": "MSSuperSkinSmoothingPlugIn::analyzedFaceTrackBoxAtTime:panelValue:usedCachedFallback:" }, { "address": "0x10001e3f4", "value": "MSSuperSkinSmoothingPlugIn::mss_applyLivePanelStateToParams:atTime:" }, { "address": "0x10001e89c", "value": "MSSuperSkinSmoothingPlugIn::pluginVersionString" }, { "address": "0x10001e90c", "value": "MSSuperSkinSmoothingPlugIn::mss_runtimeBlockImageForExtent:" }, { "address": "0x10001eba8", "value": "MSSuperSkinSmoothingPlugIn::mss_runtimeBlockTextureForDevice:width:height:" }, { "address": "0x10001f740", "value": "MSSuperSkinSmoothingPlugIn::mss_renderRuntimeBlockToDestinationImage:device:deviceCache:" }, { "address": "0x10001fa5c", "value": "MSSuperSkinSmoothingPlugIn::properties:error:" }, { "address": "0x10001fc10", "value": "MSSuperSkinSmoothingPlugIn::addParametersWithError:" }, { "address": "0x10002040c", "value": "MSSuperSkinSmoothingPlugIn::pluginState:atTime:quality:error:" }, { "address": "0x100020490", "value": "MSSuperSkinSmoothingPlugIn::mss_currentHostTime" }, { "address": "0x1000204f4", "value": "MSSuperSkinSmoothingPlugIn::mss_requestFaceTrackAnalysisWithPanelValue:" }, { "address": "0x1000204fc", "value": "MSSuperSkinSmoothingPlugIn::mss_requestFaceTrackAnalysisWithPanelValue:apiManager:" }, { "address": "0x10002051c", "value": "MSSuperSkinSmoothingPlugIn::mss_startFaceTrackAnalysisFromHostButtonAppendingTarget:" }, { "address": "0x100020528", "value": "MSSuperSkinSmoothingPlugIn::startFaceTrackAnalysisFromHostButton" }, { "address": "0x100020530", "value": "MSSuperSkinSmoothingPlugIn::startAdditionalFaceTrackTargetFromHostButton" }, { "address": "0x100020538", "value": "MSSuperSkinSmoothingPlugIn::mss_startFaceTrackAnalysisDirection:" }, { "address": "0x100020580", "value": "MSSuperSkinSmoothingPlugIn::mss_startFaceTrackAnalysisDirection:apiManager:" }, { "address": "0x1000205a0", "value": "MSSuperSkinSmoothingPlugIn::mss_markFaceTrackAnalysisFailedWithReason:error:" }, { "address": "0x1000207c0", "value": "MSSuperSkinSmoothingPlugIn::mss_updateFaceTrackAnalysisProgressWithProcessedFrameCount:forceWrite:" }, { "address": "0x100020b18", "value": "MSSuperSkinSmoothingPlugIn::desiredAnalysisTimeRange:forInputWithTimeRange:error:" }, { "address": "0x100020b5c", "value": "MSSuperSkinSmoothingPlugIn::setupAnalysisForTimeRange:frameDuration:error:" }, { "address": "0x100020c04", "value": "MSSuperSkinSmoothingPlugIn::analyzeFrame:atTime:error:" }, { "address": "0x100020c0c", "value": "MSSuperSkinSmoothingPlugIn::cleanupAnalysis:" }, { "address": "0x100020cb0", "value": "MSSuperSkinSmoothingPlugIn::destinationImageRect:sourceImages:destinationImage:pluginState:atTime:error:" }, { "address": "0x100020d4c", "value": "MSSuperSkinSmoothingPlugIn::sourceTileRect:sourceImageIndex:sourceImages:destinationTileRect:destinationImage:pluginState:atTime:error:" }, { "address": "0x10002179c", "value": "MSSuperSkinSmoothingPlugIn::renderDestinationImage:sourceImages:pluginState:atTime:error:" }, { "address": "0x1000337e8", "value": "MSSuperSkinSmoothingPlugIn::legacyControlPanelValueAtTime:" }, { "address": "0x100033c24", "value": "MSSuperSkinSmoothingPlugIn::populateParams:atTime:error:" }, { "address": "0x1000355a0", "value": "MSSuperSkinSmoothingPlugIn::createViewForParameterID:" }, { "address": "0x100035728", "value": "MSSuperSkinSmoothingPlugIn::classForCustomParameterID:" }, { "address": "0x100035744", "value": "MSSuperSkinSmoothingPlugIn::classesForCustomParameterID:" }, { "address": "0x100035770", "value": "MSSuperSkinSmoothingPlugIn::temporallyStabilizedEyeBrighteningMaskImage:inputImage:activeExtent:activeExtentOut:renderTime:" }, { "address": "0x100035854", "value": "MSSuperSkinSmoothingPlugIn::applySkinSmoothingToImage:params:renderTime:faceObservations:selectedFacePoints:" }, { "address": "0x1000358d8", "value": "MSSuperSkinSmoothingPlugIn::applySkinSmoothingToImage:params:renderTime:faceObservations:selectedFacePoints:featureReferenceExtent:externalMaskImage:externalPreviewMaskImage:externalRawPreviewSmallMaskImage:" }, { "address": "0x100039254", "value": "MSSuperSkinSmoothingPlugIn::resetTemporalMaskCache" }, { "address": "0x100039360", "value": "MSSuperSkinSmoothingPlugIn::resetSkinSegmentationMaskCache" }, { "address": "0x100039394", "value": "MSSuperSkinSmoothingPlugIn::mss_cachedFrameAnalysisSkinMaskForInputImage:params:renderTime:maskImageOut:previewMaskImageOut:rawPreviewSmallMaskImageOut:" }, { "address": "0x10003992c", "value": "MSSuperSkinSmoothingPlugIn::mss_resolveFrameAnalysisSkinMaskForInputImage:params:renderTime:maskImageOut:previewMaskImageOut:rawPreviewSmallMaskImageOut:" }, { "address": "0x100039b50", "value": "MSSuperSkinSmoothingPlugIn::mss_storeFrameAnalysisSkinMaskImage:previewMaskImage:rawPreviewSmallMaskImage:inputImage:params:renderTime:" }, { "address": "0x100039e14", "value": "MSSuperSkinSmoothingPlugIn::playbackStabilizedMaskImageFromInputImage:params:renderTime:trackingGrayBytes:trackingGrayWidth:trackingGrayHeight:trackingAlphaBytes:trackingAlphaWidth:trackingAlphaHeight:previewMaskImage:rawPreviewSmallMaskImage:maskImage:smoothCarrierImageOut:" }, { "address": "0x10003ae4c", "value": "MSSuperSkinSmoothingPlugIn::stabilizedMaskImageFromMaskImage:params:renderTime:" }, { "address": "0x10003b1dc", "value": "MSSuperSkinSmoothingPlugIn::stabilizedPreviewMaskImageFromMaskImage:params:renderTime:" }, { "address": "0x10003b56c", "value": "MSSuperSkinSmoothingPlugIn::mss_lockedCachedFrameAnalysisFaceObservationsInCache:inputImage:sourceTileRect:renderTime:observationsOut:" }, { "address": "0x10003b824", "value": "MSSuperSkinSmoothingPlugIn::mss_lockedStoreFrameAnalysisFaceObservations:inCache:inputImage:sourceTileRect:renderTime:" }, { "address": "0x10003ba8c", "value": "MSSuperSkinSmoothingPlugIn::mss_lockedStoreCachedFaceObservations:inputImage:sourceTileRect:renderTime:" }, { "address": "0x10003bb84", "value": "MSSuperSkinSmoothingPlugIn::mss_lockedStoreCachedFaceRectangleObservations:inputImage:sourceTileRect:renderTime:" }, { "address": "0x10003bc84", "value": "MSSuperSkinSmoothingPlugIn::cachedFaceObservationsForInputImage:inputSurface:sourceTileRect:renderTime:allowForwardReuse:" }, { "address": "0x10003c4c4", "value": "MSSuperSkinSmoothingPlugIn::cachedFaceRectangleObservationsForInputImage:inputSurface:sourceTileRect:renderTime:allowForwardReuse:" }, { "address": "0x10003cc78", "value": "MSSuperSkinSmoothingPlugIn::trackedFaceBoxForInputImage:renderTime:selectedObservation:shouldTrack:" }, { "address": "0x10003d69c", "value": "MSSuperSkinSmoothingPlugIn::mss_pinStyleFacePointsForObservations:renderTime:params:trackingInputImage:preferredBox:hasPreferredBox:selectedObservationOut:strengthMultiplierOut:pointsBoxOut:usedHoldOut:" }, { "address": "0x10003f2c0", "value": "MSSuperSkinSmoothingPlugIn::deterministicFacePointsForObservations:params:selectedObservationOut:strengthMultiplierOut:" }, { "address": "0x10003f88c", "value": "MSSuperSkinSmoothingPlugIn::temporalFacePointsForObservations:renderTime:params:selectedObservationOut:strengthMultiplierOut:pointsBoxOut:" }, { "address": "0x100043a14", "value": "MSSuperSkinSmoothingFaceSelectOSC::load" }, { "address": "0x100043a18", "value": "MSSuperSkinSmoothingFaceSelectOSC::initWithAPIManager:" }, { "address": "0x100043a60", "value": "MSSuperSkinSmoothingFaceSelectOSC::createViewForParameterID:" }, { "address": "0x100043a68", "value": "MSSuperSkinSmoothingFaceSelectOSC::classForCustomParameterID:" }, { "address": "0x100043a88", "value": "MSSuperSkinSmoothingFaceSelectOSC::classesForCustomParameterID:" }, { "address": "0x100043ab8", "value": "MSSuperSkinSmoothingFaceSelectOSC::drawingCoordinates" }, { "address": "0x100043ac0", "value": "MSSuperSkinSmoothingFaceSelectOSC::drawOSCWithWidth:height:activePart:destinationImage:atTime:" }, { "address": "0x100043c40", "value": "MSSuperSkinSmoothingFaceSelectOSC::hitTestOSCAtMousePositionX:mousePositionY:activePart:atTime:" }, { "address": "0x100043c50", "value": "MSSuperSkinSmoothingFaceSelectOSC::mouseDownAtPositionX:positionY:activePart:modifiers:forceUpdate:atTime:" }, { "address": "0x100043c5c", "value": "MSSuperSkinSmoothingFaceSelectOSC::mouseDraggedAtPositionX:positionY:activePart:modifiers:forceUpdate:atTime:" }, { "address": "0x100043c68", "value": "MSSuperSkinSmoothingFaceSelectOSC::mouseUpAtPositionX:positionY:activePart:modifiers:forceUpdate:atTime:" }, { "address": "0x100044b70", "value": "MSSuperSkinSmoothingFaceSelectOSC::keyDownAtPositionX:positionY:keyPressed:modifiers:forceUpdate:didHandle:atTime:" }, { "address": "0x100044b84", "value": "MSSuperSkinSmoothingFaceSelectOSC::keyUpAtPositionX:positionY:keyPressed:modifiers:forceUpdate:didHandle:atTime:" }, { "address": "0x100046410", "value": "YUCIHighPassSkinSmoothingMaskBoost::filterKernel" }, { "address": "0x100046470", "value": "YUCIHighPassSkinSmoothingMaskBoost::outputImage" }, { "address": "0x100046538", "value": "YUCIHighPassSkinSmoothingMaskBoost::dealloc" }, { "address": "0x10004656c", "value": "YUCIHighPassSkinSmoothingMaskBoost::inputImage" }, { "address": "0x10004657c", "value": "YUCIHighPassSkinSmoothingMaskBoost::setInputImage:" }, { "address": "0x100046588", "value": "YUCIHighPassSkinSmoothingMaskGenerator::outputImage" }, { "address": "0x100046690", "value": "YUCIHighPassSkinSmoothingMaskGenerator::dealloc" }, { "address": "0x1000466e4", "value": "YUCIHighPassSkinSmoothingMaskGenerator::inputImage" }, { "address": "0x1000466f4", "value": "YUCIHighPassSkinSmoothingMaskGenerator::setInputImage:" }, { "address": "0x100046700", "value": "YUCIHighPassSkinSmoothingMaskGenerator::inputRadius" }, { "address": "0x100046710", "value": "YUCIHighPassSkinSmoothingMaskGenerator::setInputRadius:" }, { "address": "0x10004671c", "value": "YUCIHighPassSkinSmoothing::load" }, { "address": "0x100046860", "value": "YUCIHighPassSkinSmoothing::inputAmount" }, { "address": "0x1000468a4", "value": "YUCIHighPassSkinSmoothing::inputRadius" }, { "address": "0x1000468e8", "value": "YUCIHighPassSkinSmoothing::inputMidtoneDetail" }, { "address": "0x10004692c", "value": "YUCIHighPassSkinSmoothing::inputHighPassDetail" }, { "address": "0x100046970", "value": "YUCIHighPassSkinSmoothing::inputTeethWhitening" }, { "address": "0x1000469b4", "value": "YUCIHighPassSkinSmoothing::inputEyeBrightening" }, { "address": "0x1000469f8", "value": "YUCIHighPassSkinSmoothing::inputSkinBrightness" }, { "address": "0x100046a3c", "value": "YUCIHighPassSkinSmoothing::inputSkinTonePreset" }, { "address": "0x100046a80", "value": "YUCIHighPassSkinSmoothing::inputSkinHue" }, { "address": "0x100046ac4", "value": "YUCIHighPassSkinSmoothing::inputSkinSaturation" }, { "address": "0x100046b08", "value": "YUCIHighPassSkinSmoothing::inputSharpnessFactor" }, { "address": "0x100046b4c", "value": "YUCIHighPassSkinSmoothing::inputMaskThreshold" }, { "address": "0x100046b94", "value": "YUCIHighPassSkinSmoothing::inputMaskSoftness" }, { "address": "0x100046bdc", "value": "YUCIHighPassSkinSmoothing::inputMaskEdgeProtect" }, { "address": "0x100046c24", "value": "YUCIHighPassSkinSmoothing::inputShowChannelInfo" }, { "address": "0x100046c68", "value": "YUCIHighPassSkinSmoothing::inputDebugChannelMode" }, { "address": "0x100046cac", "value": "YUCIHighPassSkinSmoothing::defaultInputRGBCompositeControlPoints" }, { "address": "0x100046d54", "value": "YUCIHighPassSkinSmoothing::setInputToneCurveControlPoints:" }, { "address": "0x100046d98", "value": "YUCIHighPassSkinSmoothing::inputToneCurveControlPoints" }, { "address": "0x100046dac", "value": "YUCIHighPassSkinSmoothing::skinToneCurveFilter" }, { "address": "0x100046e00", "value": "YUCIHighPassSkinSmoothing::setDefaults" }, { "address": "0x100046f4c", "value": "YUCIHighPassSkinSmoothing::outputImage" }, { "address": "0x1000492c4", "value": "YUCIHighPassSkinSmoothing::dealloc" }, { "address": "0x100049534", "value": "YUCIHighPassSkinSmoothing::inputImage" }, { "address": "0x100049544", "value": "YUCIHighPassSkinSmoothing::setInputImage:" }, { "address": "0x100049550", "value": "YUCIHighPassSkinSmoothing::inputMaskImage" }, { "address": "0x100049560", "value": "YUCIHighPassSkinSmoothing::setInputMaskImage:" }, { "address": "0x10004956c", "value": "YUCIHighPassSkinSmoothing::inputPreviewMaskImage" }, { "address": "0x10004957c", "value": "YUCIHighPassSkinSmoothing::setInputPreviewMaskImage:" }, { "address": "0x100049588", "value": "YUCIHighPassSkinSmoothing::inputLocalSmoothingMaskImage" }, { "address": "0x100049598", "value": "YUCIHighPassSkinSmoothing::setInputLocalSmoothingMaskImage:" }, { "address": "0x1000495a4", "value": "YUCIHighPassSkinSmoothing::inputGlobalSmoothingMaskImage" }, { "address": "0x1000495b4", "value": "YUCIHighPassSkinSmoothing::setInputGlobalSmoothingMaskImage:" }, { "address": "0x1000495c0", "value": "YUCIHighPassSkinSmoothing::inputSkinEvenToneMaskImage" }, { "address": "0x1000495d0", "value": "YUCIHighPassSkinSmoothing::setInputSkinEvenToneMaskImage:" }, { "address": "0x1000495dc", "value": "YUCIHighPassSkinSmoothing::inputTeethMaskImage" }, { "address": "0x1000495ec", "value": "YUCIHighPassSkinSmoothing::setInputTeethMaskImage:" }, { "address": "0x1000495f8", "value": "YUCIHighPassSkinSmoothing::inputEyeMaskImage" }, { "address": "0x100049608", "value": "YUCIHighPassSkinSmoothing::setInputEyeMaskImage:" }, { "address": "0x100049614", "value": "YUCIHighPassSkinSmoothing::inputEyeMaskActiveExtentVector" }, { "address": "0x100049624", "value": "YUCIHighPassSkinSmoothing::setInputEyeMaskActiveExtentVector:" }, { "address": "0x100049630", "value": "YUCIHighPassSkinSmoothing::setInputAmount:" }, { "address": "0x10004963c", "value": "YUCIHighPassSkinSmoothing::setInputSkinTonePreset:" }, { "address": "0x100049648", "value": "YUCIHighPassSkinSmoothing::setInputSkinBrightness:" }, { "address": "0x100049654", "value": "YUCIHighPassSkinSmoothing::setInputSkinHue:" }, { "address": "0x100049660", "value": "YUCIHighPassSkinSmoothing::setInputSkinSaturation:" }, { "address": "0x10004966c", "value": "YUCIHighPassSkinSmoothing::setInputMidtoneDetail:" }, { "address": "0x100049678", "value": "YUCIHighPassSkinSmoothing::setInputHighPassDetail:" }, { "address": "0x100049684", "value": "YUCIHighPassSkinSmoothing::setInputTeethWhitening:" }, { "address": "0x100049690", "value": "YUCIHighPassSkinSmoothing::setInputEyeBrightening:" }, { "address": "0x10004969c", "value": "YUCIHighPassSkinSmoothing::setInputRadius:" }, { "address": "0x1000496a8", "value": "YUCIHighPassSkinSmoothing::setInputSharpnessFactor:" }, { "address": "0x1000496b4", "value": "YUCIHighPassSkinSmoothing::setInputMaskThreshold:" }, { "address": "0x1000496c0", "value": "YUCIHighPassSkinSmoothing::setInputMaskSoftness:" }, { "address": "0x1000496cc", "value": "YUCIHighPassSkinSmoothing::setInputMaskEdgeProtect:" }, { "address": "0x1000496d8", "value": "YUCIHighPassSkinSmoothing::setInputShowChannelInfo:" }, { "address": "0x1000496e4", "value": "YUCIHighPassSkinSmoothing::setInputDebugChannelMode:" }, { "address": "0x1000496f0", "value": "YUCIHighPassSkinSmoothing::inputInvertMaskChannel" }, { "address": "0x100049700", "value": "YUCIHighPassSkinSmoothing::setInputInvertMaskChannel:" }, { "address": "0x10007a040", "value": "/usr/lib/swift/libswiftFoundation.dylib::Foundation::Data::LargeSlice::ensureUniqueReference" }, { "address": "0x10007a064", "value": "/usr/lib/swift/libswiftFoundation.dylib::Foundation::Data::RangeReference::typeMetadataAccessor" }, { "address": "0x10007b1e0", "value": "_swift_isUniquelyReferenced_nonNull_native" }, { "address": "0x10007cc00", "value": "objc_stub::applySkinSmoothingToImage:params:renderTime:faceObservations:selectedFacePoints:featureReferenceExtent:externalMaskImage:externalPreviewMaskImage:externalRawPreviewSmallMaskImage:" }, { "address": "0x10007d060", "value": "objc_stub::cachedFaceObservationsForInputImage:inputSurface:sourceTileRect:renderTime:allowForwardReuse:" }, { "address": "0x10007f480", "value": "objc_stub::inputLocalSmoothingMaskImage" }, { "address": "0x10007fd60", "value": "objc_stub::mss_clearRewindFaceReferences" }, { "address": "0x10007fdc0", "value": "objc_stub::mss_lockedStoreCachedFaceObservations:inputImage:sourceTileRect:renderTime:" }, { "address": "0x10007fde0", "value": "objc_stub::mss_lockedStoreCachedFaceRectangleObservations:inputImage:sourceTileRect:renderTime:" }, { "address": "0x10007ff40", "value": "objc_stub::mss_rewindFaceReferenceForRenderTime:allowCurrentTime:pointsOut:boxOut:timeOut:" }, { "address": "0x100080000", "value": "objc_stub::mss_storeRewindFaceReferencePoints:forBox:renderTime:" }, { "address": "0x100080040", "value": "objc_stub::mss_timeLocalFaceReferenceForRenderTime:allowCurrentTime:pointsOut:boxOut:detectionTimeOut:outputTimeOut:usedHistoryOut:" }, { "address": "0x1000806a0", "value": "objc_stub::playbackStabilizedMaskImageFromInputImage:params:renderTime:trackingGrayBytes:trackingGrayWidth:trackingGrayHeight:trackingAlphaBytes:trackingAlphaWidth:trackingAlphaHeight:previewMaskImage:rawPreviewSmallMaskImage:maskImage:smoothCarrierImageOut:" }, { "address": "0x100081ee0", "value": "objc_stub::setInputGlobalSmoothingMaskImage:" }, { "address": "0x100081fa0", "value": "objc_stub::setInputLocalSmoothingMaskImage:" } ], "operation": "search_procedures", "parameters": { "case_sensitive": false, "mode": "regex", "pattern": "temporalFace|cachedFace|Rewind|rewind|Reference|reference|Axis|axis|smooth|Smooth" }, "predicate_type": "rea.analysis", "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" }, "raw_result": [ { "address": "EXTERNAL:0x23", "value": "/usr/lib/swift/libswiftFoundation.dylib::Foundation::Data::LargeSlice::ensureUniqueReference" }, { "address": "EXTERNAL:0x26", "value": "/usr/lib/swift/libswiftFoundation.dylib::Foundation::Data::RangeReference::typeMetadataAccessor" }, { "address": "EXTERNAL:0x19b", "value": "/usr/lib/swift/libswiftCore.dylib::_swift_isUniquelyReferenced_nonNull_native" }, { "address": "0x1000196f8", "value": "MSSuperSkinSmoothingPlugIn::load" }, { "address": "0x100019974", "value": "MSSuperSkinSmoothingPlugIn::initWithAPIManager:" }, { "address": "0x100019f88", "value": "MSSuperSkinSmoothingPlugIn::dealloc" }, { "address": "0x10001a198", "value": "MSSuperSkinSmoothingPlugIn::mss_faceThinRememberedPointsForBox:renderTime:source:" }, { "address": "0x10001b6b8", "value": "MSSuperSkinSmoothingPlugIn::mss_faceThinRenderTimeCanUpdateMemory:" }, { "address": "0x10001b7a0", "value": "MSSuperSkinSmoothingPlugIn::mss_rememberFaceThinPoints:forBox:renderTime:source:" }, { "address": "0x10001be00", "value": "MSSuperSkinSmoothingPlugIn::mss_rememberFaceThinPointSets:boxes:renderTime:source:" }, { "address": "0x10001c048", "value": "MSSuperSkinSmoothingPlugIn::mss_resetFaceThinTransientStateForReason:call:renderTime:sourceRect:destinationRect:tileRect:" }, { "address": "0x10001c43c", "value": "MSSuperSkinSmoothingPlugIn::mss_rewindFaceReferenceForRenderTime:pointsOut:boxOut:timeOut:" }, { "address": "0x10001c47c", "value": "MSSuperSkinSmoothingPlugIn::mss_rewindFaceReferenceForRenderTime:allowCurrentTime:pointsOut:boxOut:timeOut:" }, { "address": "0x10001c800", "value": "MSSuperSkinSmoothingPlugIn::mss_timeLocalFaceReferenceForRenderTime:pointsOut:boxOut:detectionTimeOut:outputTimeOut:usedHistoryOut:" }, { "address": "0x10001c84c", "value": "MSSuperSkinSmoothingPlugIn::mss_timeLocalFaceReferenceForRenderTime:allowCurrentTime:pointsOut:boxOut:detectionTimeOut:outputTimeOut:usedHistoryOut:" }, { "address": "0x10001ce84", "value": "MSSuperSkinSmoothingPlugIn::mss_storeRewindFaceReferencePoints:forBox:renderTime:" }, { "address": "0x10001d224", "value": "MSSuperSkinSmoothingPlugIn::mss_clearRewindFaceReferences" }, { "address": "0x10001d284", "value": "MSSuperSkinSmoothingPlugIn::apiManager" }, { "address": "0x10001d28c", "value": "MSSuperSkinSmoothingPlugIn::controlPanelValueForPluginAtTime:" }, { "address": "0x10001d838", "value": "MSSuperSkinSmoothingPlugIn::moduleSwitchControlPanelValueForPlugin" }, { "address": "0x10001da34", "value": "MSSuperSkinSmoothingPlugIn::writeControlPanelValueFromPlugin:atTime:" }, { "address": "0x10001da68", "value": "MSSuperSkinSmoothingPlugIn::writeControlPanelValueFromPlugin:atTime:refreshCombinedState:" }, { "address": "0x10001e3ac", "value": "MSSuperSkinSmoothingPlugIn::mss_syncCompletedFaceTrackCacheFromPanelValue:" }, { "address": "0x10001e3d8", "value": "MSSuperSkinSmoothingPlugIn::analyzedFaceTrackBoxAtTime:panelValue:usedCachedFallback:" }, { "address": "0x10001e3f4", "value": "MSSuperSkinSmoothingPlugIn::mss_applyLivePanelStateToParams:atTime:" }, { "address": "0x10001e89c", "value": "MSSuperSkinSmoothingPlugIn::pluginVersionString" }, { "address": "0x10001e90c", "value": "MSSuperSkinSmoothingPlugIn::mss_runtimeBlockImageForExtent:" }, { "address": "0x10001eba8", "value": "MSSuperSkinSmoothingPlugIn::mss_runtimeBlockTextureForDevice:width:height:" }, { "address": "0x10001f740", "value": "MSSuperSkinSmoothingPlugIn::mss_renderRuntimeBlockToDestinationImage:device:deviceCache:" }, { "address": "0x10001fa5c", "value": "MSSuperSkinSmoothingPlugIn::properties:error:" }, { "address": "0x10001fc10", "value": "MSSuperSkinSmoothingPlugIn::addParametersWithError:" }, { "address": "0x10002040c", "value": "MSSuperSkinSmoothingPlugIn::pluginState:atTime:quality:error:" }, { "address": "0x100020490", "value": "MSSuperSkinSmoothingPlugIn::mss_currentHostTime" }, { "address": "0x1000204f4", "value": "MSSuperSkinSmoothingPlugIn::mss_requestFaceTrackAnalysisWithPanelValue:" }, { "address": "0x1000204fc", "value": "MSSuperSkinSmoothingPlugIn::mss_requestFaceTrackAnalysisWithPanelValue:apiManager:" }, { "address": "0x10002051c", "value": "MSSuperSkinSmoothingPlugIn::mss_startFaceTrackAnalysisFromHostButtonAppendingTarget:" }, { "address": "0x100020528", "value": "MSSuperSkinSmoothingPlugIn::startFaceTrackAnalysisFromHostButton" }, { "address": "0x100020530", "value": "MSSuperSkinSmoothingPlugIn::startAdditionalFaceTrackTargetFromHostButton" }, { "address": "0x100020538", "value": "MSSuperSkinSmoothingPlugIn::mss_startFaceTrackAnalysisDirection:" }, { "address": "0x100020580", "value": "MSSuperSkinSmoothingPlugIn::mss_startFaceTrackAnalysisDirection:apiManager:" }, { "address": "0x1000205a0", "value": "MSSuperSkinSmoothingPlugIn::mss_markFaceTrackAnalysisFailedWithReason:error:" }, { "address": "0x1000207c0", "value": "MSSuperSkinSmoothingPlugIn::mss_updateFaceTrackAnalysisProgressWithProcessedFrameCount:forceWrite:" }, { "address": "0x100020b18", "value": "MSSuperSkinSmoothingPlugIn::desiredAnalysisTimeRange:forInputWithTimeRange:error:" }, { "address": "0x100020b5c", "value": "MSSuperSkinSmoothingPlugIn::setupAnalysisForTimeRange:frameDuration:error:" }, { "address": "0x100020c04", "value": "MSSuperSkinSmoothingPlugIn::analyzeFrame:atTime:error:" }, { "address": "0x100020c0c", "value": "MSSuperSkinSmoothingPlugIn::cleanupAnalysis:" }, { "address": "0x100020cb0", "value": "MSSuperSkinSmoothingPlugIn::destinationImageRect:sourceImages:destinationImage:pluginState:atTime:error:" }, { "address": "0x100020d4c", "value": "MSSuperSkinSmoothingPlugIn::sourceTileRect:sourceImageIndex:sourceImages:destinationTileRect:destinationImage:pluginState:atTime:error:" }, { "address": "0x10002179c", "value": "MSSuperSkinSmoothingPlugIn::renderDestinationImage:sourceImages:pluginState:atTime:error:" }, { "address": "0x1000337e8", "value": "MSSuperSkinSmoothingPlugIn::legacyControlPanelValueAtTime:" }, { "address": "0x100033c24", "value": "MSSuperSkinSmoothingPlugIn::populateParams:atTime:error:" }, { "address": "0x1000355a0", "value": "MSSuperSkinSmoothingPlugIn::createViewForParameterID:" }, { "address": "0x100035728", "value": "MSSuperSkinSmoothingPlugIn::classForCustomParameterID:" }, { "address": "0x100035744", "value": "MSSuperSkinSmoothingPlugIn::classesForCustomParameterID:" }, { "address": "0x100035770", "value": "MSSuperSkinSmoothingPlugIn::temporallyStabilizedEyeBrighteningMaskImage:inputImage:activeExtent:activeExtentOut:renderTime:" }, { "address": "0x100035854", "value": "MSSuperSkinSmoothingPlugIn::applySkinSmoothingToImage:params:renderTime:faceObservations:selectedFacePoints:" }, { "address": "0x1000358d8", "value": "MSSuperSkinSmoothingPlugIn::applySkinSmoothingToImage:params:renderTime:faceObservations:selectedFacePoints:featureReferenceExtent:externalMaskImage:externalPreviewMaskImage:externalRawPreviewSmallMaskImage:" }, { "address": "0x100039254", "value": "MSSuperSkinSmoothingPlugIn::resetTemporalMaskCache" }, { "address": "0x100039360", "value": "MSSuperSkinSmoothingPlugIn::resetSkinSegmentationMaskCache" }, { "address": "0x100039394", "value": "MSSuperSkinSmoothingPlugIn::mss_cachedFrameAnalysisSkinMaskForInputImage:params:renderTime:maskImageOut:previewMaskImageOut:rawPreviewSmallMaskImageOut:" }, { "address": "0x10003992c", "value": "MSSuperSkinSmoothingPlugIn::mss_resolveFrameAnalysisSkinMaskForInputImage:params:renderTime:maskImageOut:previewMaskImageOut:rawPreviewSmallMaskImageOut:" }, { "address": "0x100039b50", "value": "MSSuperSkinSmoothingPlugIn::mss_storeFrameAnalysisSkinMaskImage:previewMaskImage:rawPreviewSmallMaskImage:inputImage:params:renderTime:" }, { "address": "0x100039e14", "value": "MSSuperSkinSmoothingPlugIn::playbackStabilizedMaskImageFromInputImage:params:renderTime:trackingGrayBytes:trackingGrayWidth:trackingGrayHeight:trackingAlphaBytes:trackingAlphaWidth:trackingAlphaHeight:previewMaskImage:rawPreviewSmallMaskImage:maskImage:smoothCarrierImageOut:" }, { "address": "0x10003ae4c", "value": "MSSuperSkinSmoothingPlugIn::stabilizedMaskImageFromMaskImage:params:renderTime:" }, { "address": "0x10003b1dc", "value": "MSSuperSkinSmoothingPlugIn::stabilizedPreviewMaskImageFromMaskImage:params:renderTime:" }, { "address": "0x10003b56c", "value": "MSSuperSkinSmoothingPlugIn::mss_lockedCachedFrameAnalysisFaceObservationsInCache:inputImage:sourceTileRect:renderTime:observationsOut:" }, { "address": "0x10003b824", "value": "MSSuperSkinSmoothingPlugIn::mss_lockedStoreFrameAnalysisFaceObservations:inCache:inputImage:sourceTileRect:renderTime:" }, { "address": "0x10003ba8c", "value": "MSSuperSkinSmoothingPlugIn::mss_lockedStoreCachedFaceObservations:inputImage:sourceTileRect:renderTime:" }, { "address": "0x10003bb84", "value": "MSSuperSkinSmoothingPlugIn::mss_lockedStoreCachedFaceRectangleObservations:inputImage:sourceTileRect:renderTime:" }, { "address": "0x10003bc84", "value": "MSSuperSkinSmoothingPlugIn::cachedFaceObservationsForInputImage:inputSurface:sourceTileRect:renderTime:allowForwardReuse:" }, { "address": "0x10003c4c4", "value": "MSSuperSkinSmoothingPlugIn::cachedFaceRectangleObservationsForInputImage:inputSurface:sourceTileRect:renderTime:allowForwardReuse:" }, { "address": "0x10003cc78", "value": "MSSuperSkinSmoothingPlugIn::trackedFaceBoxForInputImage:renderTime:selectedObservation:shouldTrack:" }, { "address": "0x10003d69c", "value": "MSSuperSkinSmoothingPlugIn::mss_pinStyleFacePointsForObservations:renderTime:params:trackingInputImage:preferredBox:hasPreferredBox:selectedObservationOut:strengthMultiplierOut:pointsBoxOut:usedHoldOut:" }, { "address": "0x10003f2c0", "value": "MSSuperSkinSmoothingPlugIn::deterministicFacePointsForObservations:params:selectedObservationOut:strengthMultiplierOut:" }, { "address": "0x10003f88c", "value": "MSSuperSkinSmoothingPlugIn::temporalFacePointsForObservations:renderTime:params:selectedObservationOut:strengthMultiplierOut:pointsBoxOut:" }, { "address": "0x100043a14", "value": "MSSuperSkinSmoothingFaceSelectOSC::load" }, { "address": "0x100043a18", "value": "MSSuperSkinSmoothingFaceSelectOSC::initWithAPIManager:" }, { "address": "0x100043a60", "value": "MSSuperSkinSmoothingFaceSelectOSC::createViewForParameterID:" }, { "address": "0x100043a68", "value": "MSSuperSkinSmoothingFaceSelectOSC::classForCustomParameterID:" }, { "address": "0x100043a88", "value": "MSSuperSkinSmoothingFaceSelectOSC::classesForCustomParameterID:" }, { "address": "0x100043ab8", "value": "MSSuperSkinSmoothingFaceSelectOSC::drawingCoordinates" }, { "address": "0x100043ac0", "value": "MSSuperSkinSmoothingFaceSelectOSC::drawOSCWithWidth:height:activePart:destinationImage:atTime:" }, { "address": "0x100043c40", "value": "MSSuperSkinSmoothingFaceSelectOSC::hitTestOSCAtMousePositionX:mousePositionY:activePart:atTime:" }, { "address": "0x100043c50", "value": "MSSuperSkinSmoothingFaceSelectOSC::mouseDownAtPositionX:positionY:activePart:modifiers:forceUpdate:atTime:" }, { "address": "0x100043c5c", "value": "MSSuperSkinSmoothingFaceSelectOSC::mouseDraggedAtPositionX:positionY:activePart:modifiers:forceUpdate:atTime:" }, { "address": "0x100043c68", "value": "MSSuperSkinSmoothingFaceSelectOSC::mouseUpAtPositionX:positionY:activePart:modifiers:forceUpdate:atTime:" }, { "address": "0x100044b70", "value": "MSSuperSkinSmoothingFaceSelectOSC::keyDownAtPositionX:positionY:keyPressed:modifiers:forceUpdate:didHandle:atTime:" }, { "address": "0x100044b84", "value": "MSSuperSkinSmoothingFaceSelectOSC::keyUpAtPositionX:positionY:keyPressed:modifiers:forceUpdate:didHandle:atTime:" }, { "address": "0x100046410", "value": "YUCIHighPassSkinSmoothingMaskBoost::filterKernel" }, { "address": "0x100046470", "value": "YUCIHighPassSkinSmoothingMaskBoost::outputImage" }, { "address": "0x100046538", "value": "YUCIHighPassSkinSmoothingMaskBoost::dealloc" }, { "address": "0x10004656c", "value": "YUCIHighPassSkinSmoothingMaskBoost::inputImage" }, { "address": "0x10004657c", "value": "YUCIHighPassSkinSmoothingMaskBoost::setInputImage:" }, { "address": "0x100046588", "value": "YUCIHighPassSkinSmoothingMaskGenerator::outputImage" }, { "address": "0x100046690", "value": "YUCIHighPassSkinSmoothingMaskGenerator::dealloc" }, { "address": "0x1000466e4", "value": "YUCIHighPassSkinSmoothingMaskGenerator::inputImage" }, { "address": "0x1000466f4", "value": "YUCIHighPassSkinSmoothingMaskGenerator::setInputImage:" }, { "address": "0x100046700", "value": "YUCIHighPassSkinSmoothingMaskGenerator::inputRadius" }, { "address": "0x100046710", "value": "YUCIHighPassSkinSmoothingMaskGenerator::setInputRadius:" }, { "address": "0x10004671c", "value": "YUCIHighPassSkinSmoothing::load" }, { "address": "0x100046860", "value": "YUCIHighPassSkinSmoothing::inputAmount" }, { "address": "0x1000468a4", "value": "YUCIHighPassSkinSmoothing::inputRadius" }, { "address": "0x1000468e8", "value": "YUCIHighPassSkinSmoothing::inputMidtoneDetail" }, { "address": "0x10004692c", "value": "YUCIHighPassSkinSmoothing::inputHighPassDetail" }, { "address": "0x100046970", "value": "YUCIHighPassSkinSmoothing::inputTeethWhitening" }, { "address": "0x1000469b4", "value": "YUCIHighPassSkinSmoothing::inputEyeBrightening" }, { "address": "0x1000469f8", "value": "YUCIHighPassSkinSmoothing::inputSkinBrightness" }, { "address": "0x100046a3c", "value": "YUCIHighPassSkinSmoothing::inputSkinTonePreset" }, { "address": "0x100046a80", "value": "YUCIHighPassSkinSmoothing::inputSkinHue" }, { "address": "0x100046ac4", "value": "YUCIHighPassSkinSmoothing::inputSkinSaturation" }, { "address": "0x100046b08", "value": "YUCIHighPassSkinSmoothing::inputSharpnessFactor" }, { "address": "0x100046b4c", "value": "YUCIHighPassSkinSmoothing::inputMaskThreshold" }, { "address": "0x100046b94", "value": "YUCIHighPassSkinSmoothing::inputMaskSoftness" }, { "address": "0x100046bdc", "value": "YUCIHighPassSkinSmoothing::inputMaskEdgeProtect" }, { "address": "0x100046c24", "value": "YUCIHighPassSkinSmoothing::inputShowChannelInfo" }, { "address": "0x100046c68", "value": "YUCIHighPassSkinSmoothing::inputDebugChannelMode" }, { "address": "0x100046cac", "value": "YUCIHighPassSkinSmoothing::defaultInputRGBCompositeControlPoints" }, { "address": "0x100046d54", "value": "YUCIHighPassSkinSmoothing::setInputToneCurveControlPoints:" }, { "address": "0x100046d98", "value": "YUCIHighPassSkinSmoothing::inputToneCurveControlPoints" }, { "address": "0x100046dac", "value": "YUCIHighPassSkinSmoothing::skinToneCurveFilter" }, { "address": "0x100046e00", "value": "YUCIHighPassSkinSmoothing::setDefaults" }, { "address": "0x100046f4c", "value": "YUCIHighPassSkinSmoothing::outputImage" }, { "address": "0x1000492c4", "value": "YUCIHighPassSkinSmoothing::dealloc" }, { "address": "0x100049534", "value": "YUCIHighPassSkinSmoothing::inputImage" }, { "address": "0x100049544", "value": "YUCIHighPassSkinSmoothing::setInputImage:" }, { "address": "0x100049550", "value": "YUCIHighPassSkinSmoothing::inputMaskImage" }, { "address": "0x100049560", "value": "YUCIHighPassSkinSmoothing::setInputMaskImage:" }, { "address": "0x10004956c", "value": "YUCIHighPassSkinSmoothing::inputPreviewMaskImage" }, { "address": "0x10004957c", "value": "YUCIHighPassSkinSmoothing::setInputPreviewMaskImage:" }, { "address": "0x100049588", "value": "YUCIHighPassSkinSmoothing::inputLocalSmoothingMaskImage" }, { "address": "0x100049598", "value": "YUCIHighPassSkinSmoothing::setInputLocalSmoothingMaskImage:" }, { "address": "0x1000495a4", "value": "YUCIHighPassSkinSmoothing::inputGlobalSmoothingMaskImage" }, { "address": "0x1000495b4", "value": "YUCIHighPassSkinSmoothing::setInputGlobalSmoothingMaskImage:" }, { "address": "0x1000495c0", "value": "YUCIHighPassSkinSmoothing::inputSkinEvenToneMaskImage" }, { "address": "0x1000495d0", "value": "YUCIHighPassSkinSmoothing::setInputSkinEvenToneMaskImage:" }, { "address": "0x1000495dc", "value": "YUCIHighPassSkinSmoothing::inputTeethMaskImage" }, { "address": "0x1000495ec", "value": "YUCIHighPassSkinSmoothing::setInputTeethMaskImage:" }, { "address": "0x1000495f8", "value": "YUCIHighPassSkinSmoothing::inputEyeMaskImage" }, { "address": "0x100049608", "value": "YUCIHighPassSkinSmoothing::setInputEyeMaskImage:" }, { "address": "0x100049614", "value": "YUCIHighPassSkinSmoothing::inputEyeMaskActiveExtentVector" }, { "address": "0x100049624", "value": "YUCIHighPassSkinSmoothing::setInputEyeMaskActiveExtentVector:" }, { "address": "0x100049630", "value": "YUCIHighPassSkinSmoothing::setInputAmount:" }, { "address": "0x10004963c", "value": "YUCIHighPassSkinSmoothing::setInputSkinTonePreset:" }, { "address": "0x100049648", "value": "YUCIHighPassSkinSmoothing::setInputSkinBrightness:" }, { "address": "0x100049654", "value": "YUCIHighPassSkinSmoothing::setInputSkinHue:" }, { "address": "0x100049660", "value": "YUCIHighPassSkinSmoothing::setInputSkinSaturation:" }, { "address": "0x10004966c", "value": "YUCIHighPassSkinSmoothing::setInputMidtoneDetail:" }, { "address": "0x100049678", "value": "YUCIHighPassSkinSmoothing::setInputHighPassDetail:" }, { "address": "0x100049684", "value": "YUCIHighPassSkinSmoothing::setInputTeethWhitening:" }, { "address": "0x100049690", "value": "YUCIHighPassSkinSmoothing::setInputEyeBrightening:" }, { "address": "0x10004969c", "value": "YUCIHighPassSkinSmoothing::setInputRadius:" }, { "address": "0x1000496a8", "value": "YUCIHighPassSkinSmoothing::setInputSharpnessFactor:" }, { "address": "0x1000496b4", "value": "YUCIHighPassSkinSmoothing::setInputMaskThreshold:" }, { "address": "0x1000496c0", "value": "YUCIHighPassSkinSmoothing::setInputMaskSoftness:" }, { "address": "0x1000496cc", "value": "YUCIHighPassSkinSmoothing::setInputMaskEdgeProtect:" }, { "address": "0x1000496d8", "value": "YUCIHighPassSkinSmoothing::setInputShowChannelInfo:" }, { "address": "0x1000496e4", "value": "YUCIHighPassSkinSmoothing::setInputDebugChannelMode:" }, { "address": "0x1000496f0", "value": "YUCIHighPassSkinSmoothing::inputInvertMaskChannel" }, { "address": "0x100049700", "value": "YUCIHighPassSkinSmoothing::setInputInvertMaskChannel:" }, { "address": "0x10007a040", "value": "/usr/lib/swift/libswiftFoundation.dylib::Foundation::Data::LargeSlice::ensureUniqueReference" }, { "address": "0x10007a064", "value": "/usr/lib/swift/libswiftFoundation.dylib::Foundation::Data::RangeReference::typeMetadataAccessor" }, { "address": "0x10007b1e0", "value": "_swift_isUniquelyReferenced_nonNull_native" }, { "address": "0x10007cc00", "value": "objc_stub::applySkinSmoothingToImage:params:renderTime:faceObservations:selectedFacePoints:featureReferenceExtent:externalMaskImage:externalPreviewMaskImage:externalRawPreviewSmallMaskImage:" }, { "address": "0x10007d060", "value": "objc_stub::cachedFaceObservationsForInputImage:inputSurface:sourceTileRect:renderTime:allowForwardReuse:" }, { "address": "0x10007f480", "value": "objc_stub::inputLocalSmoothingMaskImage" }, { "address": "0x10007fd60", "value": "objc_stub::mss_clearRewindFaceReferences" }, { "address": "0x10007fdc0", "value": "objc_stub::mss_lockedStoreCachedFaceObservations:inputImage:sourceTileRect:renderTime:" }, { "address": "0x10007fde0", "value": "objc_stub::mss_lockedStoreCachedFaceRectangleObservations:inputImage:sourceTileRect:renderTime:" }, { "address": "0x10007ff40", "value": "objc_stub::mss_rewindFaceReferenceForRenderTime:allowCurrentTime:pointsOut:boxOut:timeOut:" }, { "address": "0x100080000", "value": "objc_stub::mss_storeRewindFaceReferencePoints:forBox:renderTime:" }, { "address": "0x100080040", "value": "objc_stub::mss_timeLocalFaceReferenceForRenderTime:allowCurrentTime:pointsOut:boxOut:detectionTimeOut:outputTimeOut:usedHistoryOut:" }, { "address": "0x1000806a0", "value": "objc_stub::playbackStabilizedMaskImageFromInputImage:params:renderTime:trackingGrayBytes:trackingGrayWidth:trackingGrayHeight:trackingAlphaBytes:trackingAlphaWidth:trackingAlphaHeight:previewMaskImage:rawPreviewSmallMaskImage:maskImage:smoothCarrierImageOut:" }, { "address": "0x100081ee0", "value": "objc_stub::setInputGlobalSmoothingMaskImage:" }, { "address": "0x100081fa0", "value": "objc_stub::setInputLocalSmoothingMaskImage:" } ], "subject": { "architecture": "arm64", "digest": { "sha256": "afc71d0d21fd3c1ca95ca745ddafcd729e36ad95f17d8638009f2e45d9b7e8df" }, "format": "mach-o", "local_path": "/Users/dayu/Documents/PaintFCP/build/body-analysis/MSE18V2-arm64", "name": "MSE18V2-arm64" } }, { "analysis_profile": { "digest": "20565088524a2d0359b9b96f46ac48e679d774c7b0092c56abc06de8fdbec11c", "parameters": { "analyzer_preset": "ghidra-default", "annotation_policy": "atomic-function-entry-metadata-v1", "architecture": "arm64", "available_architectures": [ "arm64" ], "compiler_spec_id": "auto-default", "decompiler_jump_loads": true, "function_body_evidence": "complete-inclusive-ranges-v1", "function_boundary_observations": "ghidra-terminal-call-limitations-v1", "function_references": "complete-body-and-entry-reference-manager-v2", "import_mode": "ephemeral-source-immutable", "instruction_flow_evidence": "decoded-return-pcode-v1", "jump_table_evidence": "typed-case-default-blocks-v1", "language_id": "auto-from-header", "load_image_observations": "source-mappings-entry-context-v2", "loader": "auto-from-header", "location_resolution": "explicit-address-exact-entry-symbol-first-v3", "no_return_repair": "returning-imports-decoded-return-v2", "process_launch": "inspected-jvm-launch-support-v1", "string_inventory_evidence": "defined-data-coverage-v1", "target_format": "mach-o", "target_kind": "executable" }, "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" } }, "authority": "shipped-artifact", "confidence": "observed", "environment": null, "evidence_id": "ev_1b11aad10362337bc3c3559b4205baaa48c026a5234f67ae29d3f1fde604b393", "evidence_links": [], "limitations": [ "The session serves operations only after Ghidra reports default auto-analysis complete; incomplete analysis does not expose partial results.", "The imported Program and temporary project are ephemeral and deleted on close. Annotation operations edit session database metadata; original executable bytes are never written.", "Cancelling an active Ghidra request terminates its ephemeral database and discards session annotations. The selected target remains open; the next provider query imports the original artifact again.", "Default-space addresses use lowercase 0x-prefixed hexadecimal; other address spaces use :0x.", "Bytes reflect Ghidra's initialized memory, including loader fixups. Reads stop at an unmapped or uninitialized byte and report completeness explicitly.", "macOS sessions require a matching executable Ghidra native decompiler; REA checks for it but does not build native components or change Gatekeeper quarantine state." ], "locations": [], "normalized_result": { "address": "0x1000a8f58", "bytes_hex": "004e0e000100000000000050000000005847050001000000a8840a0001000000", "complete": true, "requested_bytes": 32, "returned_bytes": 32 }, "operation": "read_bytes", "parameters": { "address": "0x1000a8f58", "length": 32 }, "predicate_type": "rea.analysis", "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" }, "raw_result": { "address": "0x1000a8f58", "bytes_hex": "004e0e000100000000000050000000005847050001000000a8840a0001000000", "complete": true, "requested_bytes": 32, "returned_bytes": 32 }, "subject": { "architecture": "arm64", "digest": { "sha256": "afc71d0d21fd3c1ca95ca745ddafcd729e36ad95f17d8638009f2e45d9b7e8df" }, "format": "mach-o", "local_path": "/Users/dayu/Documents/PaintFCP/build/body-analysis/MSE18V2-arm64", "name": "MSE18V2-arm64" } }, { "analysis_profile": { "digest": "20565088524a2d0359b9b96f46ac48e679d774c7b0092c56abc06de8fdbec11c", "parameters": { "analyzer_preset": "ghidra-default", "annotation_policy": "atomic-function-entry-metadata-v1", "architecture": "arm64", "available_architectures": [ "arm64" ], "compiler_spec_id": "auto-default", "decompiler_jump_loads": true, "function_body_evidence": "complete-inclusive-ranges-v1", "function_boundary_observations": "ghidra-terminal-call-limitations-v1", "function_references": "complete-body-and-entry-reference-manager-v2", "import_mode": "ephemeral-source-immutable", "instruction_flow_evidence": "decoded-return-pcode-v1", "jump_table_evidence": "typed-case-default-blocks-v1", "language_id": "auto-from-header", "load_image_observations": "source-mappings-entry-context-v2", "loader": "auto-from-header", "location_resolution": "explicit-address-exact-entry-symbol-first-v3", "no_return_repair": "returning-imports-decoded-return-v2", "process_launch": "inspected-jvm-launch-support-v1", "string_inventory_evidence": "defined-data-coverage-v1", "target_format": "mach-o", "target_kind": "executable" }, "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" } }, "authority": "shipped-artifact", "confidence": "observed", "environment": null, "evidence_id": "ev_2330b66132cd6539b8c66313c8dc43ca6ff5eb3e0881abbbe26857f99de6a83b", "evidence_links": [], "limitations": [ "The session serves operations only after Ghidra reports default auto-analysis complete; incomplete analysis does not expose partial results.", "The imported Program and temporary project are ephemeral and deleted on close. Annotation operations edit session database metadata; original executable bytes are never written.", "Cancelling an active Ghidra request terminates its ephemeral database and discards session annotations. The selected target remains open; the next provider query imports the original artifact again.", "Default-space addresses use lowercase 0x-prefixed hexadecimal; other address spaces use :0x.", "Pseudocode is Ghidra decompiler output, not original source and not text-equivalent to Hopper output.", "External functions and functions without an analyzable body return null; other decompiler failures remain explicit.", "Ghidra Listing reports a terminal call at 0x100028c6c to 0x10007aca0 ___stack_chk_fail (external=false, thunk=true, hasNoReturn=true); fallthrough is excluded by Ghidra's flow model. This records Ghidra's FunctionManager flag, not an independent verification that the callee cannot return.", "macOS sessions require a matching executable Ghidra native decompiler; REA checks for it but does not build native components or change Gatekeeper quarantine state." ], "locations": [], "normalized_result": "\n/* WARNING: Function: _objc_release replaced with injection: _objc_release_fixup */\n/* WARNING: Function: _objc_retain replaced with injection: _objc_retain_fixup */\n/* WARNING: Function: _objc_autorelease replaced with injection: _objc_retain_fixup */\n/* Function Stack Size: 0x48 bytes */\n\nbool MSSuperSkinSmoothingPlugIn::renderDestinationImage_sourceImages_pluginState_atTime_error_\n (ID param_1,SEL param_2,ID param_3,ID param_4,ID param_5,AnonymousStructure0 param_6,\n ID *param_7)\n\n{\n unsigned_long_long uVar1;\n bool bVar2;\n bool bVar3;\n uint uVar4;\n __IOSurface *p_Var5;\n uint uVar6;\n CGRect CVar7;\n byte bVar8;\n char cVar9;\n bool bVar10;\n bool bVar11;\n int iVar12;\n uint uVar13;\n int iVar14;\n int iVar15;\n ID IVar16;\n ID IVar17;\n ID IVar18;\n ID IVar19;\n ID IVar20;\n ID IVar21;\n ID IVar22;\n undefined1 *puVar23;\n ID IVar24;\n ID IVar25;\n ID IVar26;\n __IOSurface *p_Var27;\n undefined8 *puVar28;\n ulong uVar29;\n cfstringStruct *pcVar30;\n byte *pbVar31;\n undefined *puVar32;\n undefined *puVar33;\n ID IVar34;\n ID IVar35;\n undefined8 *puVar36;\n undefined8 *puVar37;\n ID IVar38;\n undefined *puVar39;\n undefined8 *puVar40;\n undefined8 *puVar41;\n undefined8 extraout_x1;\n undefined8 extraout_x1_00;\n undefined8 extraout_x1_01;\n undefined8 extraout_x1_02;\n double *pdVar42;\n ID *pIVar43;\n uint uVar44;\n uint uVar45;\n uint uVar46;\n uint uVar47;\n undefined4 uVar48;\n long *plVar49;\n ulong uVar50;\n undefined8 *puVar51;\n undefined8 *puVar52;\n uint uVar53;\n long lVar54;\n double dVar55;\n ID IVar56;\n undefined8 *puVar57;\n undefined *puVar58;\n uint uVar59;\n long lVar60;\n byte bVar61;\n float fVar62;\n double extraout_d0;\n double extraout_d0_00;\n double extraout_d0_01;\n double extraout_d0_02;\n double extraout_d0_03;\n double extraout_d0_04;\n double dVar63;\n double dVar64;\n double dVar65;\n double extraout_d0_05;\n double extraout_d0_06;\n double extraout_d0_07;\n double extraout_d0_08;\n double extraout_d0_09;\n double dVar66;\n undefined8 extraout_d0_10;\n double extraout_d0_11;\n double extraout_d0_12;\n ulong extraout_d0_13;\n ulong extraout_d0_14;\n double extraout_d0_15;\n double extraout_d0_16;\n double extraout_d0_17;\n double extraout_d0_18;\n double extraout_d0_19;\n double extraout_d0_20;\n double extraout_d0_21;\n double extraout_d0_22;\n double dVar67;\n double dVar68;\n double dVar69;\n double extraout_d0_23;\n undefined8 extraout_d0_24;\n undefined8 uVar70;\n undefined8 uVar71;\n undefined8 uVar72;\n double extraout_d0_25;\n double extraout_d0_26;\n double extraout_d0_27;\n double dVar73;\n double dVar74;\n double dVar75;\n double dVar76;\n double dVar77;\n double dVar78;\n double dVar79;\n double dVar80;\n double dVar81;\n double dVar82;\n double dVar83;\n double dVar84;\n double dVar85;\n double dVar86;\n double dVar87;\n double dVar88;\n double dVar89;\n double dVar90;\n double dVar91;\n double dVar92;\n double dVar93;\n double dVar94;\n long *plVar95;\n double dVar96;\n double dVar97;\n double dVar98;\n double dVar99;\n CGRect CVar100;\n CGRect CVar101;\n CGRect CVar102;\n CGRect CVar103;\n CGRect CVar104;\n undefined4 uVar105;\n ID local_9d8;\n undefined8 local_9d0;\n undefined8 local_9c0;\n ID local_9b0;\n double local_9a8;\n double dStack_9a0;\n double local_998;\n double dStack_990;\n double local_988;\n double dStack_980;\n double local_978;\n double dStack_970;\n double local_8f8;\n ID local_8e0;\n ID local_8d8;\n uint local_8cc;\n double local_8c8;\n double dStack_8c0;\n double local_8b8;\n double dStack_8b0;\n ID local_8a0;\n uint local_894;\n undefined *local_890;\n ID local_888;\n ID local_880;\n double local_838;\n double local_830;\n double local_820;\n double local_808;\n ID local_7f8;\n ID local_7e8;\n ID local_7d8;\n double local_7d0;\n double local_7c8;\n double local_7c0;\n double local_7b8;\n ID local_7b0;\n double local_7a8;\n double local_7a0;\n double local_798;\n double local_790;\n ID local_788;\n ID local_780;\n ID local_768;\n double local_730;\n double local_708;\n double local_700;\n double local_6f8;\n undefined8 local_6e0;\n long lStack_6d8;\n long *local_6d0;\n undefined8 uStack_6c8;\n undefined8 local_6c0;\n undefined8 uStack_6b8;\n undefined8 uStack_6b0;\n undefined8 uStack_6a8;\n double local_6a0;\n double dStack_698;\n long *local_690;\n ID local_680;\n ID local_678;\n undefined8 local_670;\n undefined8 local_668;\n double local_660;\n double dStack_658;\n long *local_650;\n double dStack_648;\n double local_640;\n ulong local_638;\n undefined8 local_630;\n long lStack_628;\n long *local_620;\n undefined8 uStack_618;\n undefined8 local_610;\n undefined8 uStack_608;\n undefined8 local_600;\n undefined8 uStack_5f8;\n undefined8 local_5f0;\n long lStack_5e8;\n long *local_5e0;\n undefined8 uStack_5d8;\n undefined8 local_5d0;\n undefined8 uStack_5c8;\n undefined8 local_5c0;\n undefined8 uStack_5b8;\n undefined8 local_5b0;\n long lStack_5a8;\n long *local_5a0;\n undefined8 uStack_598;\n undefined8 local_590;\n undefined8 uStack_588;\n undefined8 local_580;\n undefined8 uStack_578;\n byte local_561;\n CGRect local_560;\n double local_538;\n ID local_530;\n AnonymousStructure7 AStack_528;\n byte local_3b8;\n byte local_3b7;\n byte local_3b6;\n undefined1 auStack_3b0 [128];\n undefined1 auStack_330 [128];\n undefined1 auStack_2b0 [128];\n undefined1 auStack_230 [128];\n undefined8 local_1b0;\n ID local_1a8;\n undefined8 local_1a0;\n ID local_198;\n undefined8 local_190;\n ID local_188;\n undefined1 local_180 [16];\n long *local_170;\n double dStack_168;\n double local_160;\n double dStack_158;\n double local_100;\n double dStack_f8;\n long *local_f0;\n double dStack_e8;\n double local_e0;\n double dStack_d8;\n undefined8 uStack_d0;\n undefined8 uStack_c8;\n long local_b8;\n \n pIVar43 = param_6._8_8_;\n pdVar42 = (double *)param_6.field0_0x0;\n local_b8 = *(long *)PTR____stack_chk_guard_1000a80e8;\n uVar1 = DAT_1000bdd88 + 1;\n DAT_1000bdd88 = uVar1;\n objc_stub::count(param_4);\n objc_stub::length(param_5);\n objc_stub::count(param_4);\n objc_stub::length(param_5);\n objc_stub::count(param_4);\n objc_stub::length(param_5);\n IVar16 = objc_stub::count(param_4);\n if (IVar16 == 0) {\n if (pIVar43 != (ID *)0x0) {\n pcVar30 = &cf_Nosourceimageprovided;\n FUN_10001fb70();\n *pIVar43 = (ID)pcVar30;\n }\n objc_stub::length(0x1000ac540);\n }\n else {\n local_180._8_8_ = pdVar42[1];\n local_180._0_8_ = *pdVar42;\n local_170 = (long *)pdVar42[2];\n bVar11 = populateParams_atTime_error_\n (param_1,&AStack_528,(AnonymousStructure0 *)local_180,pIVar43);\n if ((bVar11 & 1) == 0) {\n IVar16 = param_5;\n FUN_10002140c(param_5,&AStack_528);\n if ((int)IVar16 == 0) {\n objc_stub::length(param_5);\n objc_stub::length(0x1000ac540);\n goto LAB_1000283fc;\n }\n IVar16 = objc_stub::apiForProtocol_\n (*(ID *)(param_1 + 8),&objc::protocol_t::FxParameterRetrievalAPI_v6);\n local_180._8_8_ = pdVar42[1];\n local_180._0_8_ = *pdVar42;\n local_170 = (long *)pdVar42[2];\n IVar17 = controlPanelValueForPluginAtTime_(param_1,(AnonymousStructure0 *)local_180);\n if (IVar17 == 0) {\nLAB_100021a54:\n local_180._8_8_ = pdVar42[1];\n local_180._0_8_ = *pdVar42;\n local_170 = (long *)pdVar42[2];\n dVar97 = *(double *)(PTR__kCMTimeZero_1000a8218 + 8);\n dVar96 = *(double *)PTR__kCMTimeZero_1000a8218;\n plVar95 = *(long **)(PTR__kCMTimeZero_1000a8218 + 0x10);\n puVar23 = local_180;\n local_100 = dVar96;\n dStack_f8 = dVar97;\n local_f0 = plVar95;\n _CMTimeCompare(puVar23,&local_100);\n if ((int)puVar23 != 0) {\n local_180._0_8_ = dVar96;\n local_180._8_8_ = dVar97;\n local_170 = plVar95;\n IVar17 = controlPanelValueForPluginAtTime_(param_1,(AnonymousStructure0 *)local_180);\n }\n if (IVar17 != 0) goto LAB_100021ab4;\nLAB_100021adc:\n local_180._8_8_ = pdVar42[1];\n local_180._0_8_ = *pdVar42;\n local_170 = (long *)pdVar42[2];\n mss_applyLivePanelStateToParams_atTime_\n (param_1,&AStack_528,(AnonymousStructure0 *)local_180);\n local_180._8_8_ = pdVar42[1];\n local_180._0_8_ = *pdVar42;\n local_170 = (long *)pdVar42[2];\n FUN_100028e74(IVar16,&AStack_528,local_180);\n if ((local_3b6 & 1) == 0) {\n iVar14 = (int)&AStack_528;\n FUN_10002951c();\n if (iVar14 != 0) {\n local_3b6 = 1;\n }\n }\n }\n else {\n IVar18 = objc_stub::hasCommittedState(IVar17);\n if ((IVar18 & 1) == 0) {\n MSSSectionCardParameterValue::defaultValue\n ((ID)&objc::class_t::MSSSectionCardParameterValue);\n IVar18 = IVar17;\n func_0x000100085c38();\n if ((int)IVar18 != 0) goto LAB_100021a54;\n }\nLAB_100021ab4:\n IVar18 = objc_stub::hasCommittedState(IVar17);\n if ((IVar18 & 1) == 0) {\n MSSSectionCardParameterValue::defaultValue\n ((ID)&objc::class_t::MSSSectionCardParameterValue);\n IVar18 = IVar17;\n func_0x000100085c38();\n if ((int)IVar18 != 0) goto LAB_100021adc;\n }\n local_180._8_8_ = pdVar42[1];\n local_180._0_8_ = *pdVar42;\n local_170 = (long *)pdVar42[2];\n mss_applyLivePanelStateToParams_atTime_\n (param_1,&AStack_528,(AnonymousStructure0 *)local_180);\n FUN_100028cdc(&AStack_528,IVar17);\n }\n if ((local_3b8 & 1) == 0) {\n AStack_528.field1_0x8 = 0.0;\n AStack_528.field7_0x38 = 0.0;\n AStack_528.field8_0x40._0_1_ = '\\0';\n AStack_528._80_8_ = 0;\n AStack_528._72_8_ = 0x3ff0000000000000;\n AStack_528._192_8_ = 0.0;\n }\n if ((local_3b7 & 1) == 0) {\n AStack_528.field3_0x18 = 0.0;\n AStack_528.field2_0x10 = 0.0;\n AStack_528.field5_0x28 = 0;\n AStack_528.field4_0x20 = 0.0;\n AStack_528._96_8_ = 0;\n AStack_528.field6_0x30 = 0.0;\n AStack_528._88_8_ = 0.0;\n }\n if ((local_3b6 & 1) == 0) {\n AStack_528._176_8_ = 0;\n AStack_528._168_8_ = 0.0;\n AStack_528._160_8_ = 0.0;\n AStack_528._152_8_ = 0.0;\n AStack_528._144_8_ = 0.0;\n AStack_528._136_8_ = 0.0;\n AStack_528._128_8_ = 0.0;\n AStack_528._120_8_ = 0.0;\n AStack_528._112_8_ = 0.0;\n AStack_528._104_8_ = 0.0;\n }\n }\n IVar16 = objc_stub::objectAtIndex_(param_4,0);\n local_790 = (double)objc_stub::colorSpace(IVar16);\n if ((local_790 == 0.0) && (local_790 = (double)objc_stub::colorSpace(param_3), local_790 == 0.0)\n ) {\n if (DAT_1000bdf18 != -1) {\n FUN_100079628();\n }\n local_790 = (double)DAT_1000bdf10;\n }\n local_888 = objc_stub::colorSpace(param_3);\n if ((local_888 == 0) && (local_888 = (ID)local_790, local_790 == 0.0)) {\n if (DAT_1000bdf18 != -1) {\n FUN_100079628();\n }\n local_888 = DAT_1000bdf10;\n }\n IVar17 = objc_stub::tilePixelBounds(param_3);\n IVar18 = objc_stub::imagePixelBounds(IVar16);\n IVar19 = objc_stub::tilePixelBounds(IVar16);\n IVar20 = objc_stub::imagePixelBounds(param_3);\n IVar21 = objc_stub::inversePixelTransform(IVar16);\n IVar22 = objc_stub::pixelTransform(param_3);\n dVar96 = *(double *)PTR__CGPointZero_1000a8140;\n dVar97 = *(double *)(PTR__CGPointZero_1000a8140 + 8);\n if (IVar21 == 0) {\n dVar92 = 1.0;\n dVar73 = 0.0;\n dVar94 = 0.0;\n dVar74 = 1.0;\n }\n else {\n objc_stub::transform2DPoint_(IVar21,dVar96);\n dVar73 = 0.0;\n objc_stub::transform2DPoint_(IVar21,0x3ff0000000000000);\n dVar74 = 1.0;\n objc_stub::transform2DPoint_(IVar21,0);\n dVar96 = extraout_d0;\n dVar92 = extraout_d0_00;\n dVar94 = extraout_d0_01;\n }\n if (IVar22 != 0) {\n objc_stub::transform2DPoint_(IVar22,dVar96);\n objc_stub::transform2DPoint_(IVar22,dVar92);\n objc_stub::transform2DPoint_(IVar22,dVar94);\n dVar92 = extraout_d0_03;\n dVar94 = extraout_d0_04;\n dVar96 = extraout_d0_02;\n }\n if (((((ulong)ABS(dVar96) < 0x7ff0000000000000) && ((ulong)ABS(dVar97) < 0x7ff0000000000000)) &&\n ((ulong)ABS(dVar92) < 0x7ff0000000000000)) &&\n ((((ulong)ABS(dVar73) < 0x7ff0000000000000 && ((ulong)ABS(dVar94) < 0x7ff0000000000000)) &&\n ((ulong)ABS(dVar74) < 0x7ff0000000000000)))) {\n dVar92 = dVar92 - dVar96;\n dVar73 = dVar73 - dVar97;\n plVar95 = (long *)(dVar94 - dVar96);\n dVar74 = dVar74 - dVar97;\n }\n else {\n dVar92 = *(double *)PTR__CGAffineTransformIdentity_1000a8138;\n dVar73 = *(double *)(PTR__CGAffineTransformIdentity_1000a8138 + 8);\n plVar95 = *(long **)(PTR__CGAffineTransformIdentity_1000a8138 + 0x10);\n dVar74 = *(double *)(PTR__CGAffineTransformIdentity_1000a8138 + 0x18);\n dVar96 = *(double *)(PTR__CGAffineTransformIdentity_1000a8138 + 0x20);\n dVar97 = *(double *)(PTR__CGAffineTransformIdentity_1000a8138 + 0x28);\n }\n iVar14 = (int)local_180;\n local_180._0_8_ = dVar92;\n local_180._8_8_ = dVar73;\n local_170 = plVar95;\n dStack_168 = dVar74;\n local_160 = dVar96;\n dStack_158 = dVar97;\n FUN_1000295e4();\n if (iVar14 == 0) {\n bVar8 = 0;\n }\n else {\n bVar10 = false;\n if (((ABS(dVar92 + -1.0) < 0.0001) && (ABS(dVar73) < 0.0001)) &&\n ((ABS((double)plVar95) < 0.0001 &&\n ((bVar10 = false, ABS(dVar74 + -1.0) < 0.0001 && (ABS(dVar96) < 0.0001)))))) {\n bVar10 = ABS(dVar97) < 0.0001;\n }\n bVar8 = bVar10 ^ 1;\n }\n IVar21 = FxMTLDeviceCache::deviceCache((ID)&objc::class_t::FxMTLDeviceCache);\n IVar22 = objc_stub::deviceRegistryID(param_3);\n IVar22 = FxMTLDeviceCache::deviceWithRegistryID_(IVar21,IVar22);\n if (IVar22 == 0) {\n local_7d8 = 0;\n local_788 = 0;\n }\n else {\n local_7d8 = objc_stub::metalTextureForDevice_(IVar16);\n local_788 = objc_stub::metalTextureForDevice_(param_3,IVar22);\n }\n objc_stub::name(IVar22);\n objc_stub::ioSurface(param_3);\n FUN_100019774();\n iVar14 = (int)&AStack_528;\n FUN_10002156c();\n if ((local_3b6 == 1) && (FUN_1000500b0(), iVar14 != 0)) {\n if ((((2.220446049250313e-16 < ABS((double)AStack_528._104_8_)) ||\n (2.220446049250313e-16 < ABS((double)AStack_528._112_8_))) ||\n (2.220446049250313e-16 < ABS((double)AStack_528._120_8_))) ||\n (((2.220446049250313e-16 < ABS((double)AStack_528._128_8_) ||\n (2.220446049250313e-16 < ABS((double)AStack_528._136_8_))) ||\n ((2.220446049250313e-16 < ABS((double)AStack_528._144_8_) ||\n ((2.220446049250313e-16 < ABS((double)AStack_528._152_8_) ||\n (2.220446049250313e-16 < ABS((double)AStack_528._160_8_))))))))) {\n uVar46 = 1;\n }\n else {\n uVar46 = (uint)(2.220446049250313e-16 < ABS((double)AStack_528._168_8_));\n }\n }\n else {\n uVar46 = 0;\n }\n IVar24 = NSUserDefaults::standardUserDefaults((ID)&_OBJC_CLASS___NSUserDefaults);\n IVar25 = NSUserDefaults::objectForKey_(IVar24,&cf_MSE18GlobalFaceBoxPreviewEnabled);\n if (IVar25 == 0) {\n local_894 = 0;\n }\n else {\n IVar24 = NSUserDefaults::boolForKey_(IVar24,&cf_MSE18GlobalFaceBoxPreviewEnabled);\n local_894 = (uint)IVar24;\n }\n IVar24 = NSUserDefaults::standardUserDefaults((ID)&_OBJC_CLASS___NSUserDefaults);\n IVar25 = NSUserDefaults::objectForKey_(IVar24,&cf_MSE18GlobalFacePointPreviewEnabled);\n if (IVar25 == 0) {\n local_8cc = 0;\n }\n else {\n IVar24 = NSUserDefaults::boolForKey_(IVar24,&cf_MSE18GlobalFacePointPreviewEnabled);\n local_8cc = (uint)IVar24;\n }\n if (((double)AStack_528._200_8_ <= 2.220446049250313e-16) ||\n ((char)AStack_528.field8_0x40 != '\\x01')) {\n uVar44 = 0;\n }\n else if (AStack_528.field7_0x38 <= 2.220446049250313e-16) {\n uVar44 = (uint)(2.220446049250313e-16 < (double)AStack_528._192_8_);\n }\n else {\n uVar44 = 1;\n }\n uVar45 = 0;\n if (2.220446049250313e-16 < (double)AStack_528._88_8_) {\n uVar45 = (uint)(2.220446049250313e-16 < (double)AStack_528._200_8_);\n }\n IVar25 = NSUserDefaults::standardUserDefaults((ID)&_OBJC_CLASS___NSUserDefaults);\n IVar26 = NSUserDefaults::objectForKey_(IVar25,&cf_MSE18GlobalFaceBoxPreviewEnabled);\n IVar24 = 0;\n if (IVar26 != 0) {\n IVar24 = NSUserDefaults::boolForKey_(IVar25,&cf_MSE18GlobalFaceBoxPreviewEnabled);\n }\n iVar14 = (int)extraout_x1_01 - (int)IVar19;\n iVar12 = (int)(IVar19 >> 0x20);\n iVar15 = (int)((ulong)extraout_x1_01 >> 0x20) - iVar12;\n CVar102.field0_0x0.field0_0x0 = (double)(int)IVar19;\n CVar102.field0_0x0.field1_0x8 = (double)iVar12;\n CVar102.field1_0x10.field0_0x0 = (double)iVar14;\n CVar102.field1_0x10.field1_0x8 = (double)iVar15;\n dVar66 = CVar102.field1_0x10.field0_0x0;\n dVar79 = CVar102.field1_0x10.field1_0x8;\n FUN_100021624();\n iVar12 = (int)(IVar18 >> 0x20);\n CVar100.field0_0x0.field0_0x0 = (double)(int)IVar18;\n dVar63 = (double)iVar12;\n dVar64 = (double)((int)extraout_x1_00 - (int)IVar18);\n dVar65 = (double)((int)((ulong)extraout_x1_00 >> 0x20) - iVar12);\n iVar12 = (int)IVar24;\n dVar94 = CVar102.field1_0x10.field0_0x0;\n local_8c8 = CVar102.field1_0x10.field1_0x8;\n dStack_8c0 = CVar102.field1_0x10.field0_0x0;\n local_8b8 = CVar102.field0_0x0.field1_0x8;\n dStack_8b0 = CVar102.field0_0x0.field0_0x0;\n if (((IVar24 & 1) == 0) &&\n (dVar79 = CVar102.field1_0x10.field1_0x8,\n FUN_100021624(CVar102.field0_0x0.field0_0x0,CVar102.field0_0x0.field1_0x8,\n CVar102.field1_0x10.field0_0x0), dVar94 = CVar102.field1_0x10.field1_0x8,\n dVar66 = CVar102.field1_0x10.field0_0x0, local_8c8 = CVar102.field1_0x10.field1_0x8,\n dStack_8c0 = CVar102.field1_0x10.field0_0x0, local_8b8 = CVar102.field0_0x0.field1_0x8,\n iVar12 == 0)) {\n dVar66 = dVar64;\n local_8c8 = dVar65;\n dStack_8c0 = dVar64;\n local_8b8 = dVar63;\n dStack_8b0 = CVar100.field0_0x0.field0_0x0;\n }\n p_Var27 = (__IOSurface *)objc_stub::ioSurface(IVar16);\n puVar28 = (undefined8 *)objc_stub::ioSurface(param_3);\n if (local_7d8 == 0) {\n local_768 = 0;\nLAB_10002218c:\n if (p_Var27 != (__IOSurface *)0x0) {\n _IOSurfaceLock(p_Var27,1,0);\n local_1a0 = *(undefined8 *)PTR__kCIImageColorSpace_1000a81c8;\n local_198 = (ID)local_790;\n IVar18 = NSDictionary::dictionaryWithObjects_forKeys_count_\n ((ID)&_OBJC_CLASS___NSDictionary,&local_198,&local_1a0,1);\n local_768 = CIImage::imageWithIOSurface_options_((ID)&_OBJC_CLASS___CIImage,p_Var27,IVar18);\n _IOSurfaceUnlock(p_Var27,1,0);\n }\n }\n else {\n local_190 = *(undefined8 *)PTR__kCIImageColorSpace_1000a81c8;\n local_188 = (ID)local_790;\n IVar18 = NSDictionary::dictionaryWithObjects_forKeys_count_\n ((ID)&_OBJC_CLASS___NSDictionary,&local_188,&local_190,1);\n local_768 = CIImage::imageWithMTLTexture_options_((ID)&_OBJC_CLASS___CIImage,local_7d8,IVar18)\n ;\n if (local_768 == 0) goto LAB_10002218c;\n }\n if (local_768 == 0) {\n if (pIVar43 != (ID *)0x0) {\n pcVar30 = &cf_UnabletowrapsourceIOSurfaceasCIImage;\n FUN_10001fb70();\n *pIVar43 = (ID)pcVar30;\n }\n objc_stub::length(0x1000ac540);\n }\n else {\n uVar29 = CIImage::extent(local_768);\n local_7c0 = extraout_d0_05;\n _CGRectGetWidth(extraout_d0_05,dVar94,dVar66,dVar79);\n local_7b8 = extraout_d0_05;\n _CGRectGetHeight(extraout_d0_05,dVar94,dVar66,dVar79);\n dVar93 = 0.0;\n dVar86 = local_7c0;\n dVar75 = local_7b8;\n FUN_100021624(0,0);\n dVar99 = 0.0;\n if ((uVar29 & 1) == 0) {\n dVar93 = extraout_d0_05;\n dVar99 = dVar94;\n local_7c0 = dVar66;\n local_7b8 = dVar79;\n }\n IVar18 = CIImage::extent(local_768);\n uVar13 = (uint)IVar18;\n _CGRectIsEmpty();\n if (dVar86 <= 0.0) {\n uVar13 = 1;\n }\n IVar18 = local_768;\n if (((uVar13 & 1) == 0) && (0.0 < dVar75)) {\n IVar19 = local_768;\n _CGRectIsEmpty(dVar93,dVar99,local_7c0,local_7b8);\n uVar13 = (uint)IVar19;\n if (local_7c0 <= 0.0) {\n uVar13 = 1;\n }\n if (((uVar13 & 1) == 0) && (0.0 < local_7b8)) {\n _CGRectIsEmpty(dVar93,dVar99,local_7c0,local_7b8);\n dVar75 = local_7b8 / dVar75;\n dVar81 = -1.0;\n dVar86 = ABS(local_7c0 / dVar86 + -1.0);\n if (0.0001 < dVar86) {\nLAB_100022334:\n _CGAffineTransformMakeScale(local_180);\n IVar18 = CIImage::imageByApplyingTransform_(local_768,local_180);\n }\n else {\n dVar81 = ABS(dVar75 + -1.0);\n dVar86 = 0.0001;\n if (0.0001 < dVar81) goto LAB_100022334;\n }\n CIImage::extent(IVar18);\n dVar77 = extraout_d0_06;\n _CGRectGetMinX();\n dVar98 = extraout_d0_06;\n _CGRectGetMinY(extraout_d0_06,dVar75,dVar81,dVar86);\n if ((0.0001 < ABS(dVar93 - dVar77)) || (0.0001 < ABS(dVar99 - dVar98))) {\n _CGAffineTransformMakeTranslation(local_180,dVar93 - dVar77,dVar99 - dVar98);\n IVar18 = CIImage::imageByApplyingTransform_(IVar18,local_180);\n }\n IVar19 = CIColor::colorWithRed_green_blue_alpha_((ID)&_OBJC_CLASS___CIColor,0,0,0,0);\n IVar19 = CIImage::imageWithColor_((ID)&_OBJC_CLASS___CIImage,IVar19);\n IVar19 = CIImage::imageByCroppingToRect_(IVar19,dVar93,dVar99,local_7c0,local_7b8);\n IVar18 = CIImage::imageByCompositingOverImage_(IVar18,IVar19);\n IVar18 = CIImage::imageByCroppingToRect_(IVar18,dVar93,dVar99,local_7c0,local_7b8);\n }\n }\n FUN_100029674(dVar93);\n IVar19 = local_768;\n if (IVar18 != 0) {\n IVar19 = IVar18;\n }\n objc_stub::extent(IVar19);\n dVar86 = dVar99;\n dVar75 = local_7c0;\n dVar81 = local_7b8;\n IVar18 = objc_stub::extent(IVar19);\n iVar12 = (int)IVar18;\n dVar93 = dVar75;\n dVar77 = dVar81;\n FUN_100021624();\n dVar98 = 1.0;\n local_7c8 = extraout_d0_07;\n if (iVar12 == 0) {\n pcVar30 = &cf_vision_analysis_downsample_skipped_invalid_extent;\n }\n else {\n dVar82 = extraout_d0_08;\n _CGRectGetWidth(extraout_d0_08,dVar86,dVar75,dVar81);\n dVar76 = extraout_d0_08;\n dVar93 = dVar75;\n dVar77 = dVar81;\n _CGRectGetHeight(extraout_d0_08,dVar86);\n if (dVar76 <= dVar82) {\n dVar76 = dVar82;\n }\n if (DAT_1000bdf38 != -1) {\n FUN_10007964c();\n }\n if (dVar76 <= DAT_1000bdf30 + 0.5) {\n pcVar30 = &cf_vision_analysis_downsample_skipped_small;\n }\n else {\n dVar76 = DAT_1000bdf30 / dVar76;\n dVar82 = ABS(dVar76);\n pcVar30 = &cf_vision_analysis_downsample_skipped_invalid_scale;\n if ((((ulong)dVar82 < 0x7ff0000000000001 &&\n (dVar82 != INFINITY &&\n (dVar82 != 0.0 && (-1 < (long)dVar76 || 0xffffffffffffe < (long)ABS(dVar76) - 1U))))\n && (-1 < (long)dVar76 || 0x3fe < (long)ABS(dVar76) + 0xfff0000000000000U >> 0x35)) &&\n (dVar76 < 1.0)) {\n dVar93 = extraout_d0_08;\n _CGRectGetWidth(extraout_d0_08,dVar86,dVar75,dVar81);\n dVar77 = extraout_d0_08;\n _CGRectGetHeight(extraout_d0_08,dVar86,dVar75,dVar81);\n dVar98 = extraout_d0_08;\n _CGRectGetMinX(extraout_d0_08,dVar86,dVar75,dVar81);\n if ((0.0001 < ABS(dVar98)) ||\n (dVar98 = extraout_d0_08, _CGRectGetMinY(extraout_d0_08,dVar86,dVar75,dVar81),\n IVar18 = IVar19, 0.0001 < ABS(dVar98))) {\n dVar98 = extraout_d0_08;\n _CGRectGetMinX(extraout_d0_08,dVar86,dVar75,dVar81);\n dVar82 = extraout_d0_08;\n _CGRectGetMinY(extraout_d0_08,dVar86,dVar75,dVar81);\n _CGAffineTransformMakeTranslation(local_180,-dVar98,-dVar82);\n IVar18 = objc_stub::imageByApplyingTransform_(IVar19,local_180);\n IVar18 = objc_stub::imageByCroppingToRect_(IVar18,0,0,dVar93,dVar77);\n }\n dVar86 = 0.0;\n _CGRectGetWidth(0,0,dVar93,dVar77);\n dVar75 = 0.0;\n _CGRectGetHeight(0,0,dVar93,dVar77);\n _CGAffineTransformMakeScale(local_180,dVar76,dVar76);\n IVar18 = objc_stub::imageByApplyingTransform_(IVar18,local_180);\n dVar86 = (double)(long)(dVar76 * dVar86);\n if (dVar86 <= 1.0) {\n dVar86 = 1.0;\n }\n dVar75 = (double)(long)(dVar76 * dVar75);\n if (dVar75 <= 1.0) {\n dVar75 = 1.0;\n }\n dVar93 = dVar86;\n dVar77 = dVar75;\n IVar18 = objc_stub::imageByCroppingToRect_(IVar18,0,0);\n dVar98 = 1.0;\n if (IVar18 != 0) {\n IVar24 = objc_stub::extent(IVar18);\n iVar12 = (int)IVar24;\n FUN_100021624();\n if (iVar12 != 0) {\n dVar99 = 0.0;\n local_7c8 = 0.0;\n pcVar30 = &cf_vision_analysis_downsample_used;\n IVar19 = IVar18;\n dVar98 = dVar76;\n local_7c0 = dVar86;\n local_7b8 = dVar75;\n goto LAB_10002274c;\n }\n }\n pcVar30 = &cf_vision_analysis_downsample_skipped_empty_result;\n }\n }\n }\nLAB_10002274c:\n objc_stub::length((ID)pcVar30);\n IVar18 = CIImage::extent(local_768);\n uVar13 = (uint)IVar18;\n _CGRectIsEmpty();\n if (dVar93 <= 0.0) {\n uVar13 = 1;\n }\n IVar18 = local_768;\n if (((uVar13 & 1) == 0) && (0.0 < dVar77)) {\n IVar24 = local_768;\n _CGRectIsEmpty(CVar102.field0_0x0.field0_0x0,CVar102.field0_0x0.field1_0x8,\n CVar102.field1_0x10.field0_0x0,CVar102.field1_0x10.field1_0x8);\n uVar13 = (uint)IVar24;\n if (iVar14 < 1) {\n uVar13 = 1;\n }\n if (((uVar13 & 1) == 0) && (0 < iVar15)) {\n dVar77 = CVar102.field1_0x10.field1_0x8 / dVar77;\n dVar86 = -1.0;\n dVar75 = ABS(CVar102.field1_0x10.field0_0x0 / dVar93 + -1.0);\n if ((0.0001 < dVar75) || (dVar86 = ABS(dVar77 + -1.0), 0.0001 < dVar86)) {\n _CGAffineTransformMakeScale(local_180);\n IVar18 = CIImage::imageByApplyingTransform_(local_768,local_180);\n }\n CIImage::extent(IVar18);\n dVar93 = extraout_d0_09;\n _CGRectGetMinX();\n dVar81 = extraout_d0_09;\n _CGRectGetMinY(extraout_d0_09,dVar77,dVar86,dVar75);\n if ((0.0001 < ABS(CVar102.field0_0x0.field0_0x0 - dVar93)) ||\n (0.0001 < ABS(CVar102.field0_0x0.field1_0x8 - dVar81))) {\n _CGAffineTransformMakeTranslation\n (local_180,CVar102.field0_0x0.field0_0x0 - dVar93,\n CVar102.field0_0x0.field1_0x8 - dVar81);\n IVar18 = CIImage::imageByApplyingTransform_(IVar18,local_180);\n }\n FUN_10002afa8(CVar102.field0_0x0.field0_0x0,CVar102.field0_0x0.field1_0x8,\n CVar102.field1_0x10.field0_0x0,CVar102.field1_0x10.field1_0x8);\n }\n }\n FUN_100029674(dStack_8b0,local_8b8,dStack_8c0,local_8c8);\n if (p_Var27 != (__IOSurface *)0x0) {\n _IOSurfaceGetWidth(p_Var27);\n _IOSurfaceGetHeight(p_Var27);\n }\n if (puVar28 != (undefined8 *)0x0) {\n _IOSurfaceGetWidth(puVar28);\n _IOSurfaceGetHeight(puVar28);\n }\n if (p_Var27 != (__IOSurface *)0x0) {\n _IOSurfaceGetPixelFormat(p_Var27);\n FUN_1000297c8();\n }\n if (puVar28 != (undefined8 *)0x0) {\n _IOSurfaceGetPixelFormat(puVar28);\n FUN_1000297c8();\n }\n if ((*(uint *)((long)pdVar42 + 0xc) & 0x1d) == 1) {\n local_180._8_8_ = pdVar42[1];\n local_180._0_8_ = *pdVar42;\n local_170 = (long *)pdVar42[2];\n _CMTimeGetSeconds(local_180);\n }\n _NSStringFromRect(CVar100.field0_0x0.field0_0x0,dVar63,dVar64,dVar65);\n _NSStringFromRect(CVar102.field0_0x0.field0_0x0,CVar102.field0_0x0.field1_0x8,\n CVar102.field1_0x10.field0_0x0,CVar102.field1_0x10.field1_0x8);\n iVar14 = (int)(IVar20 >> 0x20);\n dVar75 = (double)(int)IVar20;\n dVar93 = (double)iVar14;\n dVar77 = (double)((int)extraout_x1_02 - (int)IVar20);\n dVar76 = (double)((int)((ulong)extraout_x1_02 >> 0x20) - iVar14);\n _NSStringFromRect();\n iVar14 = (int)(IVar17 >> 0x20);\n dVar86 = (double)(int)IVar17;\n dVar81 = (double)iVar14;\n dVar82 = (double)((int)extraout_x1 - (int)IVar17);\n dVar87 = (double)((int)((ulong)extraout_x1 >> 0x20) - iVar14);\n _NSStringFromRect();\n _NSStringFromRect(dStack_8b0,local_8b8,dStack_8c0,local_8c8);\n _NSStringFromRect(extraout_d0_05,dVar94,dVar66,dVar79);\n objc_stub::extent(IVar18);\n _NSStringFromRect();\n if (local_7d8 != 0) {\n objc_stub::width(local_7d8);\n objc_stub::height(local_7d8);\n }\n if (local_788 != 0) {\n objc_stub::width(local_788);\n objc_stub::height(local_788);\n }\n FUN_10001c338(CVar100.field0_0x0.field0_0x0,dVar63,dVar64,dVar65);\n FUN_10001c338(CVar102.field0_0x0.field0_0x0,CVar102.field0_0x0.field1_0x8,\n CVar102.field1_0x10.field0_0x0,CVar102.field1_0x10.field1_0x8);\n FUN_10001c338(dVar75,dVar93,dVar77,dVar76);\n FUN_10001c338(dVar86,dVar81,dVar82,dVar87);\n FUN_10001c338(extraout_d0_05,dVar94,dVar66,dVar79);\n objc_stub::extent(IVar18);\n FUN_10001c338();\n FUN_10001c338(local_7c8,dVar99,local_7c0,local_7b8);\n FUN_10001c338(extraout_d0_05,dVar94,dVar66,dVar79);\n objc_stub::extent(IVar19);\n FUN_10001c338();\n if (local_7d8 != 0) {\n objc_stub::width(local_7d8);\n objc_stub::height(local_7d8);\n }\n if (local_788 != 0) {\n objc_stub::width(local_788);\n objc_stub::height(local_788);\n }\n NSString::stringWithFormat_\n ((ID)&_OBJC_CLASS___NSString,&cf__a___5fb___5fc___5fd___5ftx___3fty___3f_);\n objc_stub::pixelTransform(IVar16);\n FUN_100021708();\n objc_stub::inversePixelTransform(IVar16);\n FUN_100021708();\n objc_stub::pixelTransform(param_3);\n FUN_100021708();\n objc_stub::inversePixelTransform(param_3);\n FUN_100021708();\n objc_stub::extent(IVar19);\n _NSStringFromRect();\n _NSStringFromRect(local_7c8,dVar99,local_7c0,local_7b8);\n _NSStringFromRect(extraout_d0_05,dVar94,dVar66,dVar79);\n p_Var5 = (__IOSurface *)0x0;\n if (0.999 <= dVar98) {\n p_Var5 = p_Var27;\n }\n if ((AStack_528.field30_0xe8._2_1_ & 1) == 0) {\n local_180._8_8_ = pdVar42[1];\n local_180._0_8_ = *pdVar42;\n local_170 = (long *)pdVar42[2];\n IVar16 = controlPanelValueForPluginAtTime_(param_1,(AnonymousStructure0 *)local_180);\n objc_stub::fastMultiFaceMode(IVar16);\n IVar16 = objc_stub::apiForProtocol_\n (*(ID *)(param_1 + 8),&objc::protocol_t::FxParameterRetrievalAPI_v6);\n local_100 = (double)((ulong)local_100 & 0xffffffffffffff00);\n if (IVar16 != 0) {\n if ((*(byte *)((long)pdVar42 + 0xc) & 1) != 0) {\n local_180._8_8_ = pdVar42[1];\n local_180._0_8_ = *pdVar42;\n local_170 = (long *)pdVar42[2];\n IVar17 = objc_stub::getBoolValue_fromParameter_atTime_(IVar16,&local_100,0x27,local_180)\n ;\n if ((IVar17 & 1) != 0) goto LAB_100022c64;\n }\n local_180._8_8_ = *(undefined8 *)(PTR__kCMTimeZero_1000a8218 + 8);\n local_180._0_8_ = *(undefined8 *)PTR__kCMTimeZero_1000a8218;\n local_170 = *(long **)(PTR__kCMTimeZero_1000a8218 + 0x10);\n objc_stub::getBoolValue_fromParameter_atTime_(IVar16,&local_100,0x27,local_180);\n }\n }\nLAB_100022c64:\n uVar13 = uVar46 | local_894 | local_8cc;\n if (uVar44 == 0 && uVar45 == 0) {\n local_880 = 0;\n }\n else {\n objc_stub::lock(*(ID *)(param_1 + 0x28));\n if (*(char *)(param_1 + 0x4a8) == '\\x01') {\n dVar94 = CVar100.field0_0x0.field0_0x0;\n _CGRectGetWidth(CVar100.field0_0x0.field0_0x0,dVar63,dVar64,dVar65);\n dVar66 = *(double *)(param_1 + 0x448);\n _CGRectGetWidth(dVar66,*(undefined8 *)(param_1 + 0x450),*(undefined8 *)(param_1 + 0x458),\n *(undefined8 *)(param_1 + 0x460));\n if (ABS(dVar94 - dVar66) <= 4.0) {\n dVar94 = CVar100.field0_0x0.field0_0x0;\n _CGRectGetHeight(CVar100.field0_0x0.field0_0x0,dVar63,dVar64,dVar65);\n dVar66 = *(double *)(param_1 + 0x448);\n _CGRectGetHeight(dVar66,*(undefined8 *)(param_1 + 0x450),\n *(undefined8 *)(param_1 + 0x458),*(undefined8 *)(param_1 + 0x460));\n bVar10 = 4.0 < ABS(dVar94 - dVar66);\n }\n else {\n bVar10 = true;\n }\n dVar94 = dVar75;\n _CGRectGetWidth(dVar75,dVar93,dVar77,dVar76);\n dVar66 = *(double *)(param_1 + 0x468);\n _CGRectGetWidth(dVar66,*(undefined8 *)(param_1 + 0x470),*(undefined8 *)(param_1 + 0x478),\n *(undefined8 *)(param_1 + 0x480));\n if (4.0 < ABS(dVar94 - dVar66)) {\n pcVar30 = &cf_source;\n if (!bVar10) {\n pcVar30 = &cf_destination;\n }\n goto LAB_100022e00;\n }\n dVar94 = dVar75;\n _CGRectGetHeight(dVar75,dVar93,dVar77,dVar76);\n dVar66 = *(double *)(param_1 + 0x468);\n _CGRectGetHeight(dVar66,*(undefined8 *)(param_1 + 0x470),*(undefined8 *)(param_1 + 0x478),\n *(undefined8 *)(param_1 + 0x480));\n bVar2 = bVar10;\n if (4.0 < ABS(dVar94 - dVar66)) {\n bVar2 = true;\n }\n pcVar30 = &cf_source;\n if (!bVar10) {\n pcVar30 = &cf_destination;\n }\n if (bVar2) goto LAB_100022e00;\n *(double *)(param_1 + 0x448) = CVar100.field0_0x0.field0_0x0;\n *(double *)(param_1 + 0x450) = dVar63;\n *(double *)(param_1 + 0x458) = dVar64;\n *(double *)(param_1 + 0x460) = dVar65;\n *(double *)(param_1 + 0x468) = dVar75;\n *(double *)(param_1 + 0x470) = dVar93;\n *(double *)(param_1 + 0x478) = dVar77;\n *(double *)(param_1 + 0x480) = dVar76;\n *(double *)(param_1 + 0x488) = dVar86;\n *(double *)(param_1 + 0x490) = dVar81;\n *(double *)(param_1 + 0x498) = dVar82;\n *(double *)(param_1 + 0x4a0) = dVar87;\n *(undefined1 *)(param_1 + 0x4a8) = 1;\n objc_stub::unlock(*(ID *)(param_1 + 0x28));\n }\n else {\n pcVar30 = &cf_initial;\nLAB_100022e00:\n objc_stub::unlock(*(ID *)(param_1 + 0x28));\n local_180._8_8_ = pdVar42[1];\n local_180._0_8_ = *pdVar42;\n local_170 = (long *)pdVar42[2];\n CVar7.field0_0x0.field1_0x8._0_4_ = SUB84(dVar81,0);\n CVar7.field0_0x0.field0_0x0 = dVar86;\n CVar7.field0_0x0.field1_0x8._4_4_ = (int)((ulong)dVar81 >> 0x20);\n CVar7.field1_0x10.field0_0x0 = dVar82;\n CVar7.field1_0x10.field1_0x8._0_4_ = SUB84(dVar87,0);\n CVar7.field1_0x10.field1_0x8._4_2_ = (short)((ulong)dVar87 >> 0x20);\n CVar7.field1_0x10.field1_0x8._6_2_ = (short)((ulong)dVar87 >> 0x30);\n CVar100.field0_0x0.field1_0x8 = dVar63;\n CVar100.field1_0x10.field1_0x8 = dVar65;\n CVar100.field1_0x10.field0_0x0 = dVar64;\n CVar104.field0_0x0.field1_0x8 = dVar93;\n CVar104.field0_0x0.field0_0x0 = dVar75;\n CVar104.field1_0x10.field1_0x8 = dVar76;\n CVar104.field1_0x10.field0_0x0 = dVar77;\n mss_resetFaceThinTransientStateForReason_call_renderTime_sourceRect_destinationRect_tileRect_\n (param_1,(ID)pcVar30,uVar1,(AnonymousStructure0 *)local_180,CVar100,CVar104,\n CVar7);\n }\n local_180._8_8_ = pdVar42[1];\n local_180._0_8_ = *pdVar42;\n local_170 = (long *)pdVar42[2];\n CVar101.field1_0x10.field1_0x8 = local_7b8;\n CVar101.field1_0x10.field0_0x0 = local_7c0;\n CVar101.field0_0x0.field1_0x8 = dVar99;\n CVar101.field0_0x0.field0_0x0 = local_7c8;\n local_880 = cachedFaceObservationsForInputImage_inputSurface_sourceTileRect_renderTime_allowForwardReuse_\n (param_1,IVar19,p_Var5,CVar101,(AnonymousStructure0 *)local_180,\n ((uVar13 | uVar44 | uVar45) ^ 1) & 1);\n _CGRectGetWidth(dVar75,dVar93,dVar77,dVar76);\n dVar66 = dVar77;\n dVar79 = dVar76;\n _CGRectGetHeight(dVar75,dVar93,dVar77,dVar76);\n }\n local_530 = 0;\n local_538 = 0.0;\n dVar98 = *(double *)(PTR__CGRectNull_1000a8148 + 8);\n dVar99 = *(double *)PTR__CGRectNull_1000a8148;\n dVar91 = *(double *)(PTR__CGRectNull_1000a8148 + 0x18);\n dVar69 = *(double *)(PTR__CGRectNull_1000a8148 + 0x10);\n local_180._8_8_ = pdVar42[1];\n local_180._0_8_ = *pdVar42;\n local_170 = (long *)pdVar42[2];\n dVar94 = dVar69;\n local_560.field0_0x0.field0_0x0 = dVar99;\n local_560.field0_0x0.field1_0x8 = dVar98;\n local_560.field1_0x10.field0_0x0 = dVar69;\n local_560.field1_0x10.field1_0x8 = dVar91;\n uVar29 = controlPanelValueForPluginAtTime_(param_1,(AnonymousStructure0 *)local_180);\n FUN_10000c4d0();\n IVar16 = objc_stub::fastMultiFaceMode(uVar29);\n uVar44 = (uint)IVar16 | (uint)AStack_528.field30_0xe8._2_1_;\n local_561 = (byte)uVar44 & 1;\n IVar16 = objc_stub::apiForProtocol_\n (*(ID *)(param_1 + 8),&objc::protocol_t::FxParameterRetrievalAPI_v6);\n if (IVar16 == 0) {\nLAB_100022fd8:\n if ((uVar44 & 1) == 0) goto LAB_100022fd0;\nLAB_100022fdc:\n objc_stub::setFastMultiFaceMode_(uVar29,1);\n objc_stub::setFaceSingleSelection_(uVar29,0);\n uVar44 = 1;\n }\n else {\n if ((*(byte *)((long)pdVar42 + 0xc) & 1) == 0) {\nLAB_100022f94:\n local_180._8_8_ = *(undefined8 *)(PTR__kCMTimeZero_1000a8218 + 8);\n local_180._0_8_ = *(undefined8 *)PTR__kCMTimeZero_1000a8218;\n local_170 = *(long **)(PTR__kCMTimeZero_1000a8218 + 0x10);\n IVar16 = objc_stub::getBoolValue_fromParameter_atTime_(IVar16,&local_561,0x27,local_180);\n if ((int)IVar16 == 0) goto LAB_100022fd8;\n }\n else {\n local_180._8_8_ = pdVar42[1];\n local_180._0_8_ = *pdVar42;\n local_170 = (long *)pdVar42[2];\n IVar17 = objc_stub::getBoolValue_fromParameter_atTime_(IVar16,&local_561,0x27,local_180);\n if ((IVar17 & 1) == 0) goto LAB_100022f94;\n }\n if (((local_561 | uVar44) & 1) != 0) goto LAB_100022fdc;\nLAB_100022fd0:\n uVar44 = 0;\n }\n if ((uVar13 & 1) == 0) {\n local_768 = 0;\n IVar16 = 0;\n }\n else {\n if (p_Var27 != (__IOSurface *)0x0) {\n local_1b0 = *(undefined8 *)PTR__kCIImageColorSpace_1000a81c8;\n local_1a8 = (ID)local_790;\n IVar16 = NSDictionary::dictionaryWithObjects_forKeys_count_\n ((ID)&_OBJC_CLASS___NSDictionary,&local_1a8,&local_1b0,1);\n IVar16 = CIImage::imageWithIOSurface_options_((ID)&_OBJC_CLASS___CIImage,p_Var27,IVar16);\n if (IVar16 != 0) {\n local_768 = IVar16;\n }\n }\n objc_stub::lock(*(ID *)(param_1 + 0x30));\n dVar55 = *(double *)(param_1 + 0x40);\n IVar16 = CIImage::extent(local_768);\n uVar45 = (uint)IVar16;\n _CGRectIsEmpty();\n if (dVar55 == 0.0) {\n uVar45 = 1;\n }\n if ((uVar45 & 1) == 0) {\n CIImage::extent(local_768);\n IVar17 = local_768;\n FUN_10002ee0c();\n IVar16 = 0;\n if (IVar17 != 0) {\n puVar58 = &_OBJC_CLASS___VNImageRequestHandler;\n _objc_alloc();\n IVar16 = objc_stub::initWithCIImage_options_\n ((ID)puVar58,IVar17,PTR____NSDictionary0__struct_1000a8118);\n local_180._0_8_ = 0.0;\n local_100 = dVar55;\n IVar17 = NSArray::arrayWithObjects_count_((ID)&_OBJC_CLASS___NSArray,&local_100,1);\n IVar16 = objc_stub::performRequests_error_(IVar16,IVar17,local_180);\n if ((int)IVar16 == 0) {\n IVar16 = 0;\n }\n else {\n IVar16 = objc_stub::results((ID)dVar55);\n IVar16 = objc_stub::copy(IVar16);\n }\n IVar17 = IVar16;\n FUN_10002a428();\n objc_stub::count(IVar16);\n objc_stub::count(IVar17);\n FUN_10001c338(extraout_d0_10,dVar94,dVar66,dVar79);\n IVar19 = objc_stub::count(IVar17);\n IVar16 = 0;\n if (IVar19 != 0) {\n IVar16 = IVar17;\n }\n }\n }\n else {\n IVar16 = 0;\n }\n objc_stub::unlock(*(ID *)(param_1 + 0x30));\n }\n FUN_10000c814(uVar29);\n objc_stub::faceTrackActiveTargetIndex(uVar29);\n IVar17 = objc_stub::faceTrackData(uVar29);\n IVar17 = objc_stub::length(IVar17);\n if (((IVar17 == 0) && (IVar17 = objc_stub::length(*(ID *)(param_1 + 0x6e0)), IVar17 != 0)) &&\n (IVar17 = objc_stub::faceTrackRevision(uVar29), *(long *)(param_1 + 0x6e8) < (long)IVar17))\n {\n *(undefined8 *)(param_1 + 0x6e0) = 0;\n *(undefined8 *)(param_1 + 0x6e8) = 0;\n }\n if (AStack_528.field38_0x118 == 3) {\n objc_stub::length(0);\n }\n IVar17 = objc_stub::length(0);\n if (IVar17 != 0) {\n IVar17 = 0;\n FUN_10004b6ec();\n IVar19 = objc_stub::count(IVar17);\n if ((IVar19 == 0) && (IVar19 = objc_stub::hasPrefix_(0,&cf_m1_), (int)IVar19 != 0)) {\n IVar19 = 0;\n FUN_10004b028();\n dStack_d8 = 0.0;\n local_e0 = 0.0;\n uStack_c8 = 0;\n uStack_d0 = 0;\n dStack_f8 = 0.0;\n local_100 = 0.0;\n dStack_e8 = 0.0;\n local_f0 = (long *)0x0;\n IVar20 = objc_stub::countByEnumeratingWithState_objects_count_\n (IVar19,&local_100,local_180,0x10);\n if (IVar20 != 0) {\n lVar60 = 0;\n lVar54 = *local_f0;\n dVar66 = 1.7976931348623157e+308;\n dVar94 = -1.7976931348623157e+308;\n do {\n IVar24 = 0;\n dVar79 = dVar94;\n do {\n if (*local_f0 != lVar54) {\n _objc_enumerationMutation(IVar19);\n }\n IVar25 = *(ID *)((long)dStack_f8 + IVar24 * 8);\n FUN_10004b6ec();\n IVar26 = objc_stub::count(IVar25);\n dVar94 = dVar79;\n if (IVar26 != 0) {\n IVar26 = objc_stub::firstObject(IVar25);\n IVar26 = objc_stub::objectForKey_(IVar26,&cf_t);\n objc_stub::doubleValue(IVar26);\n IVar26 = objc_stub::lastObject(IVar25);\n IVar26 = objc_stub::objectForKey_(IVar26,&cf_t);\n objc_stub::doubleValue(IVar26);\n if (((ulong)ABS(extraout_d0_11) < 0x7ff0000000000000) &&\n ((ulong)ABS(extraout_d0_12) < 0x7ff0000000000000)) {\n if (extraout_d0_11 <= dVar66) {\n dVar66 = extraout_d0_11;\n }\n dVar94 = extraout_d0_12;\n if (extraout_d0_12 <= dVar79) {\n dVar94 = dVar79;\n }\n IVar25 = objc_stub::count(IVar25);\n lVar60 = IVar25 + lVar60;\n }\n }\n IVar24 = IVar24 + 1;\n dVar79 = dVar94;\n } while (IVar20 != IVar24);\n IVar20 = objc_stub::countByEnumeratingWithState_objects_count_\n (IVar19,&local_100,local_180,0x10);\n } while (IVar20 != 0);\n if (((lVar60 != 0) && ((ulong)ABS(dVar66) < 0x7ff0000000000000)) &&\n ((ulong)ABS(dVar94) < 0x7ff0000000000000)) goto LAB_1000233ac;\n }\n }\n IVar19 = objc_stub::count(IVar17);\n if (IVar19 != 0) {\n IVar19 = objc_stub::firstObject(IVar17);\n IVar19 = objc_stub::objectForKey_(IVar19,&cf_t);\n objc_stub::doubleValue(IVar19);\n IVar19 = objc_stub::lastObject(IVar17);\n IVar19 = objc_stub::objectForKey_(IVar19,&cf_t);\n objc_stub::doubleValue(IVar19);\n if (((extraout_d0_13 & 0x7fffffffffffffff) < 0x7ff0000000000000) &&\n ((extraout_d0_14 & 0x7fffffffffffffff) < 0x7ff0000000000000)) {\n objc_stub::count(IVar17);\n }\n }\n }\nLAB_1000233ac:\n IVar19 = uVar29;\n FUN_10000c814();\n IVar20 = objc_stub::faceTrackActiveTargetIndex(uVar29);\n IVar17 = IVar20;\n if (0x7e < IVar20) {\n IVar17 = 0x7f;\n }\n IVar24 = 0;\n if (-1 < (long)IVar20) {\n IVar24 = IVar17;\n }\n if ((long)(IVar19 - 1) <= (long)IVar24) {\n IVar24 = IVar19 - 1;\n }\n if (uVar44 == 0) {\n IVar20 = uVar29;\n FUN_100010a50(uVar29,IVar24);\n }\n local_790 = *(double *)PTR__CGRectNull_1000a8148;\n local_798 = *(double *)(PTR__CGRectNull_1000a8148 + 8);\n local_7a0 = *(double *)(PTR__CGRectNull_1000a8148 + 0x10);\n local_7a8 = *(double *)(PTR__CGRectNull_1000a8148 + 0x18);\n CVar7 = *(CGRect *)PTR__CGRectNull_1000a8148;\n dVar94 = local_790;\n dVar66 = local_798;\n dVar79 = local_7a0;\n dVar55 = local_7a8;\n _CGRectIsNull();\n if (((IVar20 & 1) == 0) &&\n (dVar94 = local_790, dVar66 = local_798, dVar79 = local_7a0, dVar55 = local_7a8,\n _CGRectIsEmpty(), (IVar20 & 1) == 0)) {\n dVar94 = local_790;\n dVar79 = local_7a0;\n dVar55 = local_7a8;\n _CGRectGetWidth(local_790,local_798);\n dVar66 = 2.220446049250313e-16;\n if (dVar94 <= 2.220446049250313e-16) goto LAB_100023480;\n dVar94 = local_790;\n dVar79 = local_7a0;\n dVar55 = local_7a8;\n _CGRectGetHeight(local_790,local_798);\n dVar66 = 2.220446049250313e-16;\n bVar10 = 2.220446049250313e-16 < dVar94;\n }\n else {\nLAB_100023480:\n bVar10 = false;\n }\n dVar78 = dVar66;\n dVar90 = dVar79;\n dVar85 = dVar55;\n if (uVar44 == 0) {\n FUN_10002985c(uVar29,IVar24);\n dVar78 = dVar66;\n dVar90 = dVar79;\n dVar85 = dVar55;\n FUN_1000299b0(uVar29,IVar24);\n if ((((int)uVar29 != 0) &&\n (dVar78 = dVar66, dVar90 = dVar79, dVar85 = dVar55, _CGRectIsNull(dVar94),\n (uVar29 & 1) == 0)) &&\n (dVar78 = dVar66, dVar90 = dVar79, dVar85 = dVar55, _CGRectIsEmpty(dVar94),\n (uVar29 & 1) == 0)) {\n dVar80 = dVar94;\n dVar90 = dVar79;\n dVar85 = dVar55;\n _CGRectGetWidth(dVar94,dVar66);\n dVar78 = 2.220446049250313e-16;\n if (2.220446049250313e-16 < dVar80) {\n _CGRectGetHeight(dVar94);\n dVar78 = dVar66;\n dVar90 = dVar79;\n dVar85 = dVar55;\n }\n }\n }\n local_7c0 = local_798;\n local_7b8 = local_790;\n local_7d0 = local_7a8;\n local_7c8 = local_7a0;\n if ((uVar13 & (uVar44 ^ 1)) == 0) {\n local_7b0 = 0;\n }\n else {\n local_100 = (double)((ulong)local_100 & 0xffffffffffffff00);\n local_180._8_8_ = pdVar42[1];\n local_180._0_8_ = *pdVar42;\n local_170 = (long *)pdVar42[2];\n dVar79 = local_7a0;\n dVar55 = local_7a8;\n local_7b0 = mss_pinStyleFacePointsForObservations_renderTime_params_trackingInputImage_preferredBox_hasPreferredBox_selectedObservationOut_strengthMultiplierOut_pointsBoxOut_usedHoldOut_\n (param_1,IVar16,(AnonymousStructure0 *)local_180,&AStack_528,local_768\n ,CVar7,0,&local_530,&local_538,&local_560,(bool *)&local_100);\n uVar29 = objc_stub::count(local_7b0);\n dVar85 = local_560.field1_0x10.field1_0x8;\n dVar90 = local_560.field1_0x10.field0_0x0;\n dVar66 = local_560.field0_0x0.field1_0x8;\n dVar94 = local_560.field0_0x0.field0_0x0;\n if (((0x4c < uVar29) && (2.220446049250313e-16 < local_538)) &&\n ((dVar79 = local_560.field1_0x10.field0_0x0, dVar55 = local_560.field1_0x10.field1_0x8,\n _CGRectIsNull(local_560.field0_0x0.field0_0x0,local_560.field0_0x0.field1_0x8),\n (uVar29 & 1) == 0 &&\n ((dVar79 = dVar90, dVar55 = dVar85, _CGRectIsEmpty(dVar94,dVar66), (uVar29 & 1) == 0 &&\n (dVar78 = dVar94, dVar79 = dVar90, dVar55 = dVar85, _CGRectGetWidth(dVar94,dVar66),\n 2.220446049250313e-16 < dVar78)))))) {\n _CGRectGetHeight(dVar94,dVar66);\n dVar78 = 2.220446049250313e-16;\n dVar79 = dVar90;\n dVar55 = dVar85;\n if (2.220446049250313e-16 < dVar94) {\n local_7b8 = local_560.field0_0x0.field0_0x0;\n local_7c0 = local_560.field0_0x0.field1_0x8;\n local_7c8 = local_560.field1_0x10.field0_0x0;\n local_7d0 = local_560.field1_0x10.field1_0x8;\n goto LAB_1000236c0;\n }\n }\n local_7b0 = 0;\n local_530 = 0;\n local_538 = 0.0;\n dVar78 = dVar99;\n dVar90 = dVar79;\n dVar85 = dVar55;\n local_560.field0_0x0.field0_0x0 = dVar99;\n local_560.field0_0x0.field1_0x8 = dVar98;\n local_560.field1_0x10.field0_0x0 = dVar69;\n local_560.field1_0x10.field1_0x8 = dVar91;\n }\nLAB_1000236c0:\n if ((uVar44 & uVar13) == 1) {\n IVar17 = objc_stub::count(IVar16);\n local_768 = NSMutableArray::arrayWithCapacity_((ID)&_OBJC_CLASS___NSMutableArray,IVar17);\n IVar17 = objc_stub::count(IVar16);\n IVar19 = NSMutableArray::arrayWithCapacity_((ID)&_OBJC_CLASS___NSMutableArray,IVar17);\n uStack_578 = 0;\n local_580 = 0;\n uStack_588 = 0;\n local_590 = 0;\n uStack_598 = 0;\n local_5a0 = (long *)0x0;\n lStack_5a8 = 0;\n local_5b0 = 0;\n IVar20 = objc_stub::countByEnumeratingWithState_objects_count_\n (IVar16,&local_5b0,auStack_230,0x10);\n IVar17 = 0;\n if (IVar20 != 0) {\n lVar60 = *local_5a0;\n dVar94 = extraout_d0_15;\n do {\n IVar24 = 0;\n IVar25 = IVar17;\n do {\n dVar66 = dVar94;\n dVar79 = dVar78;\n dVar99 = dVar90;\n dVar98 = dVar85;\n if (*local_5a0 != lVar60) {\n _objc_enumerationMutation(IVar16);\n dVar66 = dVar94;\n dVar79 = dVar78;\n dVar99 = dVar90;\n dVar98 = dVar85;\n }\n IVar56 = *(ID *)(lStack_5a8 + IVar24 * 8);\n IVar26 = IVar56;\n FUN_100029a00();\n FUN_100029d20(IVar56);\n dVar78 = dVar79;\n dVar90 = dVar99;\n dVar85 = dVar98;\n uVar29 = objc_stub::count(IVar26);\n IVar17 = IVar25;\n dVar94 = extraout_d0_16;\n if (((0x4c < uVar29) &&\n (dVar94 = dVar66, dVar78 = dVar79, dVar90 = dVar99, dVar85 = dVar98,\n _CGRectIsNull(), (uVar29 & 1) == 0)) &&\n (dVar94 = dVar66, dVar78 = dVar79, dVar90 = dVar99, dVar85 = dVar98,\n _CGRectIsEmpty(), (uVar29 & 1) == 0)) {\n dVar94 = dVar66;\n dVar90 = dVar99;\n dVar85 = dVar98;\n _CGRectGetWidth(dVar66,dVar79);\n dVar78 = 2.220446049250313e-16;\n if (2.220446049250313e-16 < dVar94) {\n dVar94 = dVar66;\n dVar90 = dVar99;\n dVar85 = dVar98;\n _CGRectGetHeight(dVar66,dVar79);\n dVar78 = 2.220446049250313e-16;\n if (2.220446049250313e-16 < dVar94) {\n NSMutableArray::addObject_(local_768,IVar26);\n IVar17 = NSValue::valueWithRect_((ID)&_OBJC_CLASS___NSValue,dVar66);\n NSMutableArray::addObject_(IVar19,IVar17);\n IVar17 = IVar56;\n dVar94 = extraout_d0_17;\n dVar78 = dVar79;\n dVar90 = dVar99;\n dVar85 = dVar98;\n if (IVar25 != 0) {\n IVar17 = IVar25;\n }\n }\n }\n }\n IVar24 = IVar24 + 1;\n IVar25 = IVar17;\n } while (IVar20 != IVar24);\n IVar20 = objc_stub::countByEnumeratingWithState_objects_count_\n (IVar16,&local_5b0,auStack_230,0x10);\n dVar94 = extraout_d0_18;\n } while (IVar20 != 0);\n }\n IVar20 = NSMutableArray::count(local_768);\n if (IVar20 == 0) goto LAB_1000238e8;\n local_7b0 = NSMutableArray::firstObject(local_768);\n local_538 = 1.0;\n local_530 = IVar17;\n IVar17 = NSMutableArray::firstObject(IVar19);\n NSMutableArray::rectValue(IVar17);\n local_7b8 = extraout_d0_19;\n FUN_10001bef0();\n local_7d0 = dVar85;\n local_7c8 = dVar90;\n local_7c0 = dVar78;\n local_560.field0_0x0.field0_0x0 = local_7b8;\n local_560.field0_0x0.field1_0x8 = dVar78;\n local_560.field1_0x10.field0_0x0 = dVar90;\n local_560.field1_0x10.field1_0x8 = dVar85;\n }\n else {\nLAB_1000238e8:\n local_768 = 0;\n }\n uVar29 = objc_stub::count(0);\n local_808 = local_7b8;\n local_820 = local_7c0;\n local_838 = local_7d0;\n local_830 = local_7c8;\n if (bVar10) {\n _CGRectIsNull(local_790,local_798,local_7a0,local_7a8);\n local_808 = local_7b8;\n local_820 = local_7c0;\n local_838 = local_7d0;\n local_830 = local_7c8;\n if ((uVar29 & 1) == 0) {\n _CGRectIsEmpty(local_790,local_798,local_7a0,local_7a8);\n local_808 = local_7b8;\n local_820 = local_7c0;\n local_838 = local_7d0;\n local_830 = local_7c8;\n if ((uVar29 & 1) == 0) {\n dVar94 = local_790;\n _CGRectGetWidth(local_790,local_798,local_7a0,local_7a8);\n local_808 = local_7b8;\n local_820 = local_7c0;\n local_838 = local_7d0;\n local_830 = local_7c8;\n if (2.220446049250313e-16 < dVar94) {\n dVar94 = local_790;\n _CGRectGetHeight(local_790,local_798,local_7a0,local_7a8);\n local_808 = local_7b8;\n local_820 = local_7c0;\n local_838 = local_7d0;\n local_830 = local_7c8;\n if (2.220446049250313e-16 < dVar94) {\n local_838 = local_7a8;\n local_830 = local_7a0;\n local_820 = local_798;\n local_808 = local_790;\n }\n }\n }\n }\n }\n dVar99 = local_560.field1_0x10.field1_0x8;\n dVar79 = local_560.field1_0x10.field0_0x0;\n dVar66 = local_560.field0_0x0.field1_0x8;\n dVar94 = local_560.field0_0x0.field0_0x0;\n _CGRectIsNull(local_560.field0_0x0.field0_0x0,local_560.field0_0x0.field1_0x8,\n local_560.field1_0x10.field0_0x0,local_560.field1_0x10.field1_0x8);\n if (((((uVar29 & 1) != 0) || (_CGRectIsEmpty(dVar94,dVar66,dVar79,dVar99), (uVar29 & 1) != 0))\n || ((dVar98 = dVar94, _CGRectGetWidth(dVar94,dVar66,dVar79,dVar99),\n dVar98 <= 2.220446049250313e-16 ||\n (_CGRectGetHeight(dVar94,dVar66,dVar79,dVar99), dVar94 <= 2.220446049250313e-16)))) &&\n ((((uVar29 = objc_stub::count(local_7b0), 0x4c < uVar29 &&\n (_CGRectIsNull(local_808,local_820,local_830,local_838), (uVar29 & 1) == 0)) &&\n (_CGRectIsEmpty(local_808,local_820,local_830,local_838), (uVar29 & 1) == 0)) &&\n ((dVar94 = local_808, _CGRectGetWidth(local_808,local_820,local_830,local_838),\n 2.220446049250313e-16 < dVar94 &&\n (dVar94 = local_808, _CGRectGetHeight(local_808,local_820,local_830,local_838),\n 2.220446049250313e-16 < dVar94)))))) {\n local_560.field0_0x0.field0_0x0 = local_808;\n local_560.field0_0x0.field1_0x8 = local_820;\n local_560.field1_0x10.field0_0x0 = local_830;\n local_560.field1_0x10.field1_0x8 = local_838;\n }\n dVar79 = local_7c0;\n dVar94 = local_7c8;\n dVar66 = local_7d0;\n _CGRectIsNull(local_7b8);\n if (((uVar29 & 1) == 0) &&\n (dVar79 = local_7c0, dVar94 = local_7c8, dVar66 = local_7d0, _CGRectIsEmpty(local_7b8),\n (uVar29 & 1) == 0)) {\n dVar99 = local_7b8;\n dVar94 = local_7c8;\n dVar66 = local_7d0;\n _CGRectGetWidth(local_7b8,local_7c0);\n dVar79 = 2.220446049250313e-16;\n if (dVar99 <= 2.220446049250313e-16) goto LAB_100023bac;\n dVar99 = local_7b8;\n dVar94 = local_7c8;\n dVar66 = local_7d0;\n _CGRectGetHeight(local_7b8,local_7c0);\n dVar79 = 2.220446049250313e-16;\n if (dVar99 <= 2.220446049250313e-16) goto LAB_100023bac;\n }\n else {\nLAB_100023bac:\n IVar17 = objc_stub::count(local_7b0);\n dVar91 = local_560.field1_0x10.field1_0x8;\n dVar69 = local_560.field1_0x10.field0_0x0;\n dVar98 = local_560.field0_0x0.field1_0x8;\n dVar99 = local_560.field0_0x0.field0_0x0;\n if (0x4c < IVar17) {\n uVar29 = 0;\n if (local_530 != 0) {\n uVar29 = objc_stub::boundingBox(local_530);\n local_7b8 = extraout_d0_20;\n _CGRectStandardize();\n _CGRectIntersection();\n _CGRectIsNull(local_7b8,dVar79,dVar94,dVar66);\n if (((((((uVar29 & 1) != 0) ||\n (_CGRectIsEmpty(local_7b8,dVar79,dVar94,dVar66), (uVar29 & 1) != 0)) ||\n (dVar55 = local_7b8, _CGRectGetWidth(local_7b8,dVar79,dVar94,dVar66),\n dVar55 <= 2.220446049250313e-16)) ||\n (dVar55 = local_7b8, _CGRectGetHeight(local_7b8,dVar79,dVar94,dVar66),\n local_7d0 = dVar66, local_7c8 = dVar94, local_7c0 = dVar79,\n dVar55 <= 2.220446049250313e-16)) &&\n ((_CGRectIsNull(dVar99,dVar98,dVar69,dVar91), local_7d0 = local_7a8,\n local_7c8 = local_7a0, local_7c0 = local_798, local_7b8 = local_790,\n (uVar29 & 1) == 0 &&\n (_CGRectIsEmpty(dVar99,dVar98,dVar69,dVar91), (uVar29 & 1) == 0)))) &&\n ((dVar94 = dVar99, _CGRectGetWidth(dVar99,dVar98,dVar69,dVar91),\n 2.220446049250313e-16 < dVar94 &&\n (dVar94 = dVar99, _CGRectGetHeight(dVar99,dVar98,dVar69,dVar91),\n 2.220446049250313e-16 < dVar94)))) {\n FUN_10001bef0();\n local_7d0 = dVar91;\n local_7c8 = dVar69;\n local_7c0 = dVar98;\n local_7b8 = dVar99;\n }\n }\n dVar79 = local_7c0;\n dVar94 = local_7c8;\n dVar66 = local_7d0;\n _CGRectIsNull(local_7b8);\n if (((uVar29 & 1) == 0) &&\n (dVar79 = local_7c0, dVar94 = local_7c8, dVar66 = local_7d0, _CGRectIsEmpty(local_7b8),\n (uVar29 & 1) == 0)) {\n dVar99 = local_7b8;\n dVar94 = local_7c8;\n dVar66 = local_7d0;\n _CGRectGetWidth(local_7b8,local_7c0);\n dVar79 = 2.220446049250313e-16;\n if (2.220446049250313e-16 < dVar99) {\n dVar99 = local_7b8;\n dVar94 = local_7c8;\n dVar66 = local_7d0;\n _CGRectGetHeight(local_7b8,local_7c0);\n dVar79 = 2.220446049250313e-16;\n if (2.220446049250313e-16 < dVar99) goto LAB_100023e2c;\n }\n }\n local_7b8 = local_560.field0_0x0.field0_0x0;\n local_7c0 = local_560.field0_0x0.field1_0x8;\n local_7c8 = local_560.field1_0x10.field0_0x0;\n local_7d0 = local_560.field1_0x10.field1_0x8;\n }\n }\nLAB_100023e2c:\n uVar29 = objc_stub::count(local_7b0);\n dVar91 = local_560.field1_0x10.field1_0x8;\n dVar69 = local_560.field1_0x10.field0_0x0;\n dVar98 = local_560.field0_0x0.field1_0x8;\n dVar99 = local_560.field0_0x0.field0_0x0;\n if (((0x4c < uVar29) &&\n (dVar79 = local_560.field0_0x0.field1_0x8, dVar94 = local_560.field1_0x10.field0_0x0,\n dVar66 = local_560.field1_0x10.field1_0x8, _CGRectIsNull(local_560.field0_0x0.field0_0x0),\n (uVar29 & 1) == 0)) &&\n (dVar79 = dVar98, dVar94 = dVar69, dVar66 = dVar91, _CGRectIsEmpty(dVar99),\n (uVar29 & 1) == 0)) {\n dVar55 = dVar99;\n dVar94 = dVar69;\n dVar66 = dVar91;\n _CGRectGetWidth(dVar99,dVar98);\n dVar79 = 2.220446049250313e-16;\n if (2.220446049250313e-16 < dVar55) {\n _CGRectGetHeight(dVar99,dVar98);\n dVar79 = 2.220446049250313e-16;\n dVar94 = dVar69;\n dVar66 = dVar91;\n if (((2.220446049250313e-16 < dVar99) &&\n (dVar79 = local_820, dVar94 = local_830, dVar66 = local_838, _CGRectIsNull(local_808),\n (uVar29 & 1) == 0)) &&\n (dVar79 = local_820, dVar94 = local_830, dVar66 = local_838, _CGRectIsEmpty(local_808),\n (uVar29 & 1) == 0)) {\n dVar99 = local_808;\n dVar94 = local_830;\n dVar66 = local_838;\n _CGRectGetWidth(local_808,local_820);\n dVar79 = 2.220446049250313e-16;\n if (2.220446049250313e-16 < dVar99) {\n dVar99 = local_808;\n dVar94 = local_830;\n dVar66 = local_838;\n _CGRectGetHeight(local_808,local_820);\n dVar79 = 2.220446049250313e-16;\n if ((2.220446049250313e-16 < dVar99) &&\n (dVar79 = local_560.field0_0x0.field1_0x8,\n dVar94 = local_560.field1_0x10.field0_0x0,\n dVar66 = local_560.field1_0x10.field1_0x8,\n FUN_10002a568(local_560.field0_0x0.field0_0x0), (uVar29 & 1) == 0)) {\n _NSStringFromRect(local_560.field0_0x0.field0_0x0,local_560.field0_0x0.field1_0x8,\n local_560.field1_0x10.field0_0x0,local_560.field1_0x10.field1_0x8)\n ;\n dVar94 = local_830;\n dVar66 = local_838;\n _NSStringFromRect(local_808,local_820);\n local_808 = local_560.field0_0x0.field0_0x0;\n local_820 = *(double *)((ulong)&local_560 | 8);\n local_838 = local_560.field1_0x10.field1_0x8;\n local_830 = local_560.field1_0x10.field0_0x0;\n dVar79 = local_560.field1_0x10.field0_0x0;\n }\n }\n }\n }\n }\n objc_stub::count(local_880);\n objc_stub::count(0);\n objc_stub::count(0);\n uVar29 = objc_stub::count(local_7b0);\n dVar99 = extraout_d0_21;\n if (uVar29 < 0x4d) {\n _CGRectIsNull(local_808,local_820,local_830,local_838);\n if ((((uVar29 & 1) == 0) &&\n (_CGRectIsEmpty(local_808,local_820,local_830,local_838), (uVar29 & 1) == 0)) &&\n (dVar94 = local_808, _CGRectGetWidth(local_808,local_820,local_830,local_838),\n 2.220446049250313e-16 < dVar94)) {\n dVar99 = local_808;\n dVar94 = local_830;\n dVar66 = local_838;\n _CGRectGetHeight(local_808,local_820);\n dVar79 = 2.220446049250313e-16;\n if (2.220446049250313e-16 < dVar99) goto LAB_100023fe0;\n }\n dVar66 = local_560.field1_0x10.field1_0x8;\n dVar94 = local_560.field1_0x10.field0_0x0;\n dVar79 = local_560.field0_0x0.field1_0x8;\n dVar99 = local_560.field0_0x0.field0_0x0;\n _CGRectIsNull(local_560.field0_0x0.field0_0x0,local_560.field0_0x0.field1_0x8,\n local_560.field1_0x10.field0_0x0,local_560.field1_0x10.field1_0x8);\n if ((((uVar29 & 1) == 0) && (_CGRectIsEmpty(dVar99,dVar79,dVar94,dVar66), (uVar29 & 1) == 0)\n ) && (dVar98 = dVar99, _CGRectGetWidth(dVar99,dVar79,dVar94,dVar66),\n 2.220446049250313e-16 < dVar98)) {\n _CGRectGetHeight(dVar99,dVar79);\n dVar79 = 2.220446049250313e-16;\n if (2.220446049250313e-16 < dVar99) goto LAB_100023fe0;\n }\n }\n else {\nLAB_100023fe0:\n FUN_10002a7b8(local_7b0,0,0x4b);\n dVar98 = dVar99;\n dVar90 = dVar79;\n dVar78 = dVar94;\n dVar68 = dVar66;\n FUN_10002a7b8(local_7b0,0x3b,0x4b);\n dVar69 = dVar98;\n dVar85 = dVar90;\n dVar80 = dVar78;\n dVar83 = dVar68;\n FUN_10002a928(local_7b0);\n dVar91 = dVar75;\n _CGRectGetWidth(dVar75,dVar93,dVar77,dVar76);\n dVar55 = dVar75;\n _CGRectGetHeight(dVar75,dVar93,dVar77,dVar76);\n objc_stub::count(local_7b0);\n FUN_10001b584(local_560.field0_0x0.field0_0x0,local_560.field0_0x0.field1_0x8,\n local_560.field1_0x10.field0_0x0,local_560.field1_0x10.field1_0x8);\n FUN_10001b584(local_7b8,local_7c0,local_7c8,local_7d0);\n FUN_10001b584(local_808,local_820,local_830,local_838);\n FUN_10001c338(dVar99,dVar79,dVar94,dVar66);\n FUN_10001c338(dVar98,dVar90,dVar78,dVar68);\n FUN_10001c338(dVar69,dVar85,dVar80,dVar83);\n _CGRectGetWidth(dVar99,dVar79,dVar94,dVar66);\n _CGRectGetHeight(dVar99,dVar79,dVar94,dVar66);\n _CGRectGetWidth(dVar69,dVar85,dVar80,dVar83);\n _CGRectGetHeight(dVar69,dVar85,dVar80,dVar83);\n FUN_10002ab0c(local_7b0);\n FUN_10002ac7c(dVar91,dVar55,local_7b0);\n }\n objc_stub::count(local_880);\n objc_stub::count(local_7b0);\n _NSStringFromRect(local_560.field0_0x0.field0_0x0,local_560.field0_0x0.field1_0x8,\n local_560.field1_0x10.field0_0x0,local_560.field1_0x10.field1_0x8);\n _NSStringFromRect(local_808,local_820,local_830,local_838);\n _NSStringFromRect(local_790,local_798,local_7a0,local_7a8);\n dVar94 = local_7a0;\n dVar66 = local_7a8;\n _NSStringFromRect(local_790,local_798);\n objc_stub::length(*(ID *)(param_1 + 0x6e0));\n bVar61 = 1;\n if (((AStack_528.field7_0x38 <= 2.220446049250313e-16) &&\n ((double)AStack_528._192_8_ <= 2.220446049250313e-16)) &&\n ((AStack_528.field2_0x10 <= 2.220446049250313e-16 &&\n (((ABS(AStack_528.field3_0x18) <= 2.220446049250313e-16 &&\n (ABS(AStack_528.field4_0x20) <= 2.220446049250313e-16)) && (AStack_528.field5_0x28 == 0)\n ))))) {\n bVar61 = (byte)AStack_528.field44_0x140;\n }\n dVar79 = 2.220446049250313e-16;\n pbVar31 = (byte *)_getenv(\"MSE18_ENABLE_TILE_LOCAL_SKIN_FILTER\");\n if (pbVar31 != (byte *)0x0) {\n if (*pbVar31 != 0) {\n uVar45 = *pbVar31 - 0x30;\n if (uVar45 == 0) {\n uVar45 = (uint)pbVar31[1];\n }\n if ((uVar45 != 0 && ((bVar61 ^ 0xff) & 1) == 0) && bVar8 == 0) {\n dVar79 = dVar81;\n dVar94 = dVar82;\n dVar66 = dVar87;\n FUN_100021624(dVar86);\n if (((int)pbVar31 != 0) &&\n (dVar79 = CVar102.field0_0x0.field1_0x8, dVar94 = CVar102.field1_0x10.field0_0x0,\n dVar66 = CVar102.field1_0x10.field1_0x8, FUN_100021624(CVar102.field0_0x0.field0_0x0)\n , (int)pbVar31 != 0)) {\n dVar79 = CVar102.field0_0x0.field1_0x8;\n dVar94 = CVar102.field1_0x10.field0_0x0;\n dVar66 = CVar102.field1_0x10.field1_0x8;\n _CGRectInset(CVar102.field0_0x0.field0_0x0);\n _CGRectContainsRect();\n }\n goto LAB_100024394;\n }\n }\n pbVar31 = (byte *)0x0;\n }\nLAB_100024394:\n if ((bVar61 & 1) == 0) {\n if ((int)pbVar31 != 0) goto LAB_1000243b0;\nLAB_100024724:\n objc_stub::extent(IVar18);\n local_180._8_8_ = pdVar42[1];\n local_180._0_8_ = *pdVar42;\n local_170 = (long *)pdVar42[2];\n CVar103.field0_0x0.field1_0x8 = dVar79;\n CVar103.field0_0x0.field0_0x0 = extraout_d0_22;\n CVar103.field1_0x10.field1_0x8 = dVar66;\n CVar103.field1_0x10.field0_0x0 = dVar94;\n IVar17 = applySkinSmoothingToImage_params_renderTime_faceObservations_selectedFacePoints_featureReferenceExtent_externalMaskImage_externalPreviewMaskImage_externalRawPreviewSmallMaskImage_\n (param_1,IVar18,&AStack_528,(AnonymousStructure0 *)local_180,local_880,0,\n CVar103,0,0,0);\n }\n else {\n if ((int)pbVar31 == 0) {\n uVar29 = objc_stub::length(0x1000ac5e0);\n if (bVar8 != 0) {\n uVar29 = objc_stub::length(0x1000ac600);\n }\n FUN_100021624(dVar86,dVar81,dVar82,dVar87);\n if ((uVar29 & 1) == 0) {\n uVar29 = objc_stub::length(0x1000ac620);\n }\n FUN_100021624(CVar102.field0_0x0.field0_0x0,CVar102.field0_0x0.field1_0x8,\n CVar102.field1_0x10.field0_0x0,CVar102.field1_0x10.field1_0x8);\n if ((uVar29 & 1) == 0) {\n uVar29 = objc_stub::length(0x1000ac640);\n }\n dVar79 = dVar81;\n dVar94 = dVar82;\n dVar66 = dVar87;\n FUN_100021624(dVar86);\n if (((int)uVar29 != 0) &&\n (dVar79 = CVar102.field0_0x0.field1_0x8, dVar94 = CVar102.field1_0x10.field0_0x0,\n dVar66 = CVar102.field1_0x10.field1_0x8, FUN_100021624(CVar102.field0_0x0.field0_0x0),\n (int)uVar29 != 0)) {\n dVar79 = CVar102.field0_0x0.field1_0x8;\n dVar94 = CVar102.field1_0x10.field0_0x0;\n dVar66 = CVar102.field1_0x10.field1_0x8;\n _CGRectInset(CVar102.field0_0x0.field0_0x0);\n _CGRectContainsRect();\n if ((uVar29 & 1) == 0) {\n objc_stub::length(0x1000ac660);\n dVar99 = CVar102.field0_0x0.field0_0x0;\n dVar79 = CVar102.field0_0x0.field1_0x8;\n dVar98 = CVar102.field1_0x10.field0_0x0;\n dVar69 = CVar102.field1_0x10.field1_0x8;\n _CGRectInset(CVar102.field0_0x0.field0_0x0,CVar102.field0_0x0.field1_0x8,\n CVar102.field1_0x10.field0_0x0,CVar102.field1_0x10.field1_0x8,\n 0xc010000000000000,0xc010000000000000);\n dVar94 = dVar99;\n _CGRectGetMinX();\n dVar66 = dVar86;\n _CGRectGetMinX(dVar86,dVar81,dVar82,dVar87);\n if (dVar66 < dVar94) {\n objc_stub::length(0x1000ac680);\n }\n dVar94 = dVar99;\n _CGRectGetMaxX(dVar99,dVar79,dVar98,dVar69);\n dVar66 = dVar86;\n _CGRectGetMaxX(dVar86,dVar81,dVar82,dVar87);\n if (dVar94 < dVar66) {\n objc_stub::length(0x1000ac6a0);\n }\n dVar94 = dVar99;\n _CGRectGetMinY(dVar99,dVar79,dVar98,dVar69);\n dVar66 = dVar86;\n _CGRectGetMinY(dVar86,dVar81,dVar82,dVar87);\n if (dVar66 < dVar94) {\n objc_stub::length(0x1000ac6c0);\n }\n _CGRectGetMaxY(dVar99,dVar79,dVar98,dVar69);\n dVar98 = dVar86;\n dVar79 = dVar81;\n dVar94 = dVar82;\n dVar66 = dVar87;\n _CGRectGetMaxY();\n if (dVar99 < dVar98) {\n objc_stub::length(0x1000ac6e0);\n }\n }\n }\n goto LAB_100024724;\n }\n objc_stub::length(0x1000ac5c0);\nLAB_1000243b0:\n local_100 = 0.0;\n local_660 = 0.0;\n local_180._8_8_ = pdVar42[1];\n local_180._0_8_ = *pdVar42;\n local_170 = (long *)pdVar42[2];\n bVar11 = mss_resolveFrameAnalysisSkinMaskForInputImage_params_renderTime_maskImageOut_previewMaskImageOut_rawPreviewSmallMaskImageOut_\n (param_1,IVar18,&AStack_528,(AnonymousStructure0 *)local_180,\n (ID *)&local_100,(ID *)&local_660,(ID *)0x0);\n IVar17 = IVar18;\n FUN_10002afa8(dVar86,dVar81,dVar82,dVar87);\n if (local_100 == 0.0) {\n dVar99 = 0.0;\n }\n else {\n dVar99 = local_100;\n FUN_10002afa8(dVar86,dVar81,dVar82,dVar87);\n }\n dVar94 = dVar99;\n if (local_660 != 0.0) {\n dVar94 = local_660;\n FUN_10002afa8(dVar86,dVar81,dVar82,dVar87);\n }\n bVar3 = 0;\n if (IVar17 != 0) {\n bVar3 = bVar11;\n }\n if ((bVar3 != 1) || (dVar99 == 0.0)) {\n objc_stub::length(0x1000ac720);\n _NSStringFromRect(CVar102.field0_0x0.field0_0x0,CVar102.field0_0x0.field1_0x8,\n CVar102.field1_0x10.field0_0x0,CVar102.field1_0x10.field1_0x8);\n dVar79 = dVar81;\n dVar94 = dVar82;\n dVar66 = dVar87;\n _NSStringFromRect(dVar86);\n goto LAB_100024724;\n }\n local_180._8_8_ = pdVar42[1];\n local_180._0_8_ = *pdVar42;\n local_170 = (long *)pdVar42[2];\n IVar17 = applySkinSmoothingToImage_params_renderTime_faceObservations_selectedFacePoints_featureReferenceExtent_externalMaskImage_externalPreviewMaskImage_externalRawPreviewSmallMaskImage_\n (param_1,IVar17,&AStack_528,(AnonymousStructure0 *)local_180,local_880,0,\n CVar102,(ID)dVar99,(ID)dVar94,0);\n objc_stub::length(0x1000ac700);\n _NSStringFromRect(CVar102.field0_0x0.field0_0x0,CVar102.field0_0x0.field1_0x8,\n CVar102.field1_0x10.field0_0x0,CVar102.field1_0x10.field1_0x8);\n dVar79 = dVar81;\n dVar94 = dVar82;\n dVar66 = dVar87;\n _NSStringFromRect(dVar86);\n objc_stub::extent((ID)dVar99);\n _NSStringFromRect();\n if (IVar17 == 0) goto LAB_100024724;\n }\n local_880 = IVar18;\n if (IVar17 != 0) {\n local_880 = IVar17;\n }\n if (uVar46 == 0) {\nLAB_1000247ac:\n IVar17 = local_880;\n FUN_10002b064();\n if (IVar17 != 0) {\n local_880 = IVar17;\n }\n }\n else {\n if (DAT_1000bdf50 != -1) {\n FUN_100079670();\n }\n if ((DAT_1000bd200 & 1) == 0) goto LAB_1000247ac;\n IVar17 = objc_stub::length(0x1000ac740);\n }\n _CGRectIsNull(local_7b8,local_7c0,local_7c8,local_7d0);\n if (((((IVar17 & 1) != 0) ||\n (_CGRectIsEmpty(local_7b8,local_7c0,local_7c8,local_7d0), (IVar17 & 1) != 0)) ||\n (dVar94 = local_7b8, _CGRectGetWidth(local_7b8,local_7c0,local_7c8,local_7d0),\n dVar94 <= 2.220446049250313e-16)) ||\n (dVar94 = local_7b8, _CGRectGetHeight(local_7b8,local_7c0,local_7c8,local_7d0),\n dVar94 <= 2.220446049250313e-16)) {\n local_7b8 = local_560.field0_0x0.field0_0x0;\n local_7c0 = local_560.field0_0x0.field1_0x8;\n local_7c8 = local_560.field1_0x10.field0_0x0;\n local_7d0 = local_560.field1_0x10.field1_0x8;\n }\n if (uVar46 == 0) {\n uVar46 = 0;\n local_8e0 = 0;\n local_8f8 = 0.0;\n }\n else {\n IVar19 = objc_stub::count(local_768);\n IVar20 = objc_stub::count(local_7b0);\n IVar17 = local_7b0;\n if (IVar20 < 0x4d) {\n IVar17 = objc_stub::firstObject(local_768);\n }\n if (IVar19 < 2) {\n IVar20 = objc_stub::count(IVar17);\n local_8e0 = 0;\n local_8f8 = 0.0;\n if ((0x4c < IVar20) && (2.220446049250313e-16 < local_538)) goto LAB_100024908;\n }\n else if (2.220446049250313e-16 < local_538) {\nLAB_100024908:\n local_8f8 = local_538;\n local_8e0 = IVar17;\n }\n else {\n local_8e0 = 0;\n local_8f8 = 0.0;\n }\n if (DAT_1000bdf50 != -1) {\n FUN_100079670();\n }\n uVar46 = (uint)DAT_1000bd200;\n if (((DAT_1000bd200 & 1) == 0) && (2.220446049250313e-16 < local_538)) {\n IVar20 = local_880;\n if (IVar19 < 2) {\n IVar19 = objc_stub::count(IVar17);\n if (IVar19 < 0x4d) {\n IVar20 = 0;\n }\n else {\n IVar19 = IVar17;\n local_180._0_8_ = dVar92;\n local_180._8_8_ = dVar73;\n local_170 = plVar95;\n dStack_168 = dVar74;\n local_160 = dVar96;\n dStack_158 = dVar97;\n FUN_10002b144(CVar100.field0_0x0.field0_0x0,dVar63,dVar64,dVar65,dVar75,dVar93,dVar77,\n dVar76,IVar17,local_180,bVar8);\n IVar24 = objc_stub::count(IVar19);\n dVar94 = local_538;\n if (IVar24 < 0x4d) {\n IVar19 = IVar17;\n }\n IVar17 = objc_stub::deviceRegistryID(param_3);\n FUN_10002b8a4(dVar94,local_880,&AStack_528,IVar19,IVar21,IVar17);\n if ((IVar20 == local_880) && (2.220446049250313e-16 < (double)AStack_528._104_8_)) {\n IVar20 = local_880;\n FUN_10002c1f8(AStack_528._104_8_,local_538,local_880,IVar19);\n }\n }\n }\n else {\n IVar17 = objc_stub::count(local_768);\n IVar17 = NSMutableArray::arrayWithCapacity_((ID)&_OBJC_CLASS___NSMutableArray,IVar17);\n uStack_5b8 = 0;\n local_5c0 = 0;\n uStack_5c8 = 0;\n local_5d0 = 0;\n uStack_5d8 = 0;\n local_5e0 = (long *)0x0;\n lStack_5e8 = 0;\n local_5f0 = 0;\n IVar19 = objc_stub::countByEnumeratingWithState_objects_count_\n (local_768,&local_5f0,auStack_2b0,0x10);\n if (IVar19 != 0) {\n lVar60 = *local_5e0;\n do {\n IVar24 = 0;\n do {\n if (*local_5e0 != lVar60) {\n _objc_enumerationMutation(local_768);\n }\n IVar25 = *(ID *)(lStack_5e8 + IVar24 * 8);\n local_180._0_8_ = dVar92;\n local_180._8_8_ = dVar73;\n local_170 = plVar95;\n dStack_168 = dVar74;\n local_160 = dVar96;\n dStack_158 = dVar97;\n FUN_10002b144(CVar100.field0_0x0.field0_0x0,dVar63,dVar64,dVar65,dVar75,dVar93,\n dVar77,dVar76,IVar25,local_180,bVar8);\n IVar26 = objc_stub::count(IVar25);\n if (0x4c < IVar26) {\n NSMutableArray::addObject_(IVar17,IVar25);\n }\n IVar24 = IVar24 + 1;\n } while (IVar19 != IVar24);\n IVar19 = objc_stub::countByEnumeratingWithState_objects_count_\n (local_768,&local_5f0,auStack_2b0,0x10);\n } while (IVar19 != 0);\n }\n IVar24 = NSMutableArray::count(IVar17);\n dVar94 = local_538;\n IVar19 = local_768;\n if (IVar24 != 0) {\n IVar19 = IVar17;\n }\n IVar17 = objc_stub::deviceRegistryID(param_3);\n FUN_10002b4fc(dVar94,local_880,&AStack_528,IVar19,IVar21,IVar17);\n if ((IVar20 == local_880) && (2.220446049250313e-16 < (double)AStack_528._104_8_)) {\n IVar20 = local_880;\n FUN_10002b738(AStack_528._104_8_,local_538,local_880,IVar19);\n }\n }\n if (IVar20 != 0) {\n local_880 = IVar20;\n }\n }\n pcVar30 = &cf_face_thin_defer_metal;\n if (uVar46 == 0) {\n pcVar30 = &cf_face_thin_ci;\n }\n IVar17 = objc_stub::length((ID)pcVar30);\n }\n _CGRectIsNull(local_808,local_820,local_830,local_838);\n if ((((IVar17 & 1) != 0) ||\n (_CGRectIsEmpty(local_808,local_820,local_830,local_838), (IVar17 & 1) != 0)) ||\n (dVar94 = local_808, _CGRectGetWidth(local_808,local_820,local_830,local_838),\n dVar94 <= 2.220446049250313e-16)) {\n bVar10 = false;\n }\n else {\n dVar94 = local_808;\n _CGRectGetHeight(local_808,local_820,local_830,local_838);\n bVar10 = 2.220446049250313e-16 < dVar94;\n }\n dVar94 = local_790;\n dVar66 = local_798;\n dVar79 = local_7a0;\n dVar99 = local_7a8;\n if ((uVar44 == 0) &&\n (dVar94 = local_808, dVar66 = local_820, dVar79 = local_830, dVar99 = local_838, !bVar10))\n {\n dVar94 = local_790;\n dVar66 = local_798;\n dVar79 = local_7a0;\n dVar99 = local_7a8;\n }\n uVar45 = SUB84(dVar76,0);\n if (local_894 == 0) {\n local_180._8_8_ = pdVar42[1];\n local_180._0_8_ = *pdVar42;\n local_170 = (long *)pdVar42[2];\n FUN_10002d0e4(*(undefined8 *)(param_1 + 8),local_180);\n puVar58 = (undefined *)0x0;\n IVar16 = 0;\n local_890 = (undefined *)0x0;\n }\n else {\n IVar17 = objc_stub::count(IVar16);\n puVar32 = (undefined *)\n NSMutableArray::arrayWithCapacity_((ID)&_OBJC_CLASS___NSMutableArray,IVar17);\n dStack_d8 = 0.0;\n local_e0 = 0.0;\n uStack_c8 = 0;\n uStack_d0 = 0;\n dStack_f8 = 0.0;\n local_100 = 0.0;\n dStack_e8 = 0.0;\n local_f0 = (long *)0x0;\n IVar17 = objc_stub::countByEnumeratingWithState_objects_count_\n (IVar16,&local_100,local_180,0x10);\n if (IVar17 != 0) {\n lVar60 = *local_f0;\n do {\n IVar19 = 0;\n do {\n if (*local_f0 != lVar60) {\n _objc_enumerationMutation(IVar16);\n }\n FUN_100029d20(*(undefined8 *)((long)dStack_f8 + IVar19 * 8));\n FUN_10002ced0(puVar32,0x18);\n IVar19 = IVar19 + 1;\n } while (IVar17 != IVar19);\n IVar17 = objc_stub::countByEnumeratingWithState_objects_count_\n (IVar16,&local_100,local_180,0x10);\n } while (IVar17 != 0);\n }\n IVar16 = objc_stub::count((ID)puVar32);\n puVar58 = (undefined *)0x0;\n if (IVar16 != 0) {\n puVar58 = puVar32;\n }\n puVar32 = puVar58;\n local_180._0_8_ = dVar92;\n local_180._8_8_ = dVar73;\n local_170 = plVar95;\n dStack_168 = dVar74;\n local_160 = dVar96;\n dStack_158 = dVar97;\n FUN_10002c7ec(CVar100.field0_0x0.field0_0x0,dVar63,dVar64,dVar65,dVar75,dVar93,dVar77,dVar76\n ,puVar58,local_180,bVar8);\n if (puVar32 != (undefined *)0x0) {\n puVar58 = puVar32;\n }\n puVar32 = PTR____NSArray0__struct_1000a8110;\n if (puVar58 != (undefined *)0x0) {\n puVar32 = puVar58;\n }\n puVar33 = (undefined *)\n NSMutableArray::arrayWithArray_((ID)&_OBJC_CLASS___NSMutableArray,puVar32);\n puVar32 = puVar33;\n if (bVar10) {\n puVar23 = local_180;\n dVar98 = local_808;\n dVar91 = local_820;\n dVar90 = local_830;\n dVar78 = local_838;\n local_180._0_8_ = dVar92;\n local_180._8_8_ = dVar73;\n local_170 = plVar95;\n dStack_168 = dVar74;\n local_160 = dVar96;\n dStack_158 = dVar97;\n FUN_10002cb20(local_808,local_820,local_830,local_838,CVar100.field0_0x0.field0_0x0,dVar63\n ,dVar64,dVar65,puVar23,bVar8);\n _CGRectIsNull();\n dVar69 = local_808;\n dVar55 = local_820;\n dVar85 = local_830;\n dVar80 = local_838;\n if (((((ulong)puVar23 & 1) == 0) &&\n (_CGRectIsEmpty(dVar98,dVar91,dVar90,dVar78), ((ulong)puVar23 & 1) == 0)) &&\n ((dVar68 = dVar98, _CGRectGetWidth(dVar98,dVar91,dVar90,dVar78),\n 2.220446049250313e-16 < dVar68 &&\n (dVar68 = dVar98, _CGRectGetHeight(dVar98,dVar91,dVar90,dVar78),\n 2.220446049250313e-16 < dVar68)))) {\n dVar69 = dVar98;\n dVar55 = dVar91;\n dVar85 = dVar90;\n dVar80 = dVar78;\n }\n FUN_10002ced0(dVar69,dVar55,dVar85,dVar80,puVar33,0x18);\n }\n _CGRectIsNull(dVar94,dVar66,dVar79,dVar99);\n if ((((((ulong)puVar32 & 1) == 0) &&\n (_CGRectIsEmpty(dVar94,dVar66,dVar79,dVar99), ((ulong)puVar32 & 1) == 0)) &&\n (dVar98 = dVar94, _CGRectGetWidth(dVar94,dVar66,dVar79,dVar99),\n 2.220446049250313e-16 < dVar98)) &&\n (dVar98 = dVar94, _CGRectGetHeight(dVar94,dVar66,dVar79,dVar99),\n 2.220446049250313e-16 < dVar98)) {\n puVar23 = local_180;\n dVar98 = dVar94;\n dVar91 = dVar66;\n dVar90 = dVar79;\n dVar78 = dVar99;\n local_180._0_8_ = dVar92;\n local_180._8_8_ = dVar73;\n local_170 = plVar95;\n dStack_168 = dVar74;\n local_160 = dVar96;\n dStack_158 = dVar97;\n FUN_10002cb20(dVar94,dVar66,dVar79,dVar99,CVar100.field0_0x0.field0_0x0,dVar63,dVar64,\n dVar65,puVar23,bVar8);\n _CGRectIsNull();\n dVar69 = dVar94;\n dVar55 = dVar66;\n dVar85 = dVar79;\n dVar80 = dVar99;\n if (((((ulong)puVar23 & 1) == 0) &&\n (_CGRectIsEmpty(dVar98,dVar91,dVar90,dVar78), ((ulong)puVar23 & 1) == 0)) &&\n ((dVar68 = dVar98, _CGRectGetWidth(dVar98,dVar91,dVar90,dVar78),\n 2.220446049250313e-16 < dVar68 &&\n (dVar68 = dVar98, _CGRectGetHeight(dVar98,dVar91,dVar90,dVar78),\n 2.220446049250313e-16 < dVar68)))) {\n dVar69 = dVar98;\n dVar55 = dVar91;\n dVar85 = dVar90;\n dVar80 = dVar78;\n }\n FUN_10002ced0(dVar69,dVar55,dVar85,dVar80,puVar33,0x18);\n }\n uVar29 = objc_stub::count((ID)puVar33);\n local_890 = puVar58;\n if (uVar29 != 0) {\n local_890 = puVar33;\n }\n if (((uVar44 != 0) || (_CGRectIsNull(dVar94,dVar66,dVar79,dVar99), (uVar29 & 1) != 0)) ||\n ((_CGRectIsEmpty(dVar94,dVar66,dVar79,dVar99), (uVar29 & 1) != 0 ||\n ((dVar98 = dVar94, _CGRectGetWidth(dVar94,dVar66,dVar79,dVar99),\n dVar98 <= 2.220446049250313e-16 ||\n (dVar98 = dVar94, _CGRectGetHeight(dVar94,dVar66,dVar79,dVar99),\n dVar98 <= 2.220446049250313e-16)))))) {\nLAB_10002527c:\n IVar16 = 0;\n }\n else {\n dVar98 = dVar94;\n dVar69 = dVar66;\n dVar91 = dVar79;\n dVar55 = dVar99;\n FUN_10002c6b8(dVar94,dVar66,dVar79,dVar99,AStack_528.field32_0xf0);\n _CGRectIsNull();\n if (((uVar29 & 1) != 0) ||\n (_CGRectIsEmpty(dVar98,dVar69,dVar91,dVar55), (uVar29 & 1) != 0)) goto LAB_10002527c;\n _CGRectStandardize(dVar98,dVar69,dVar91,dVar55);\n _CGRectIntersection();\n _CGRectIsNull();\n if (((uVar29 & 1) != 0) ||\n (_CGRectIsEmpty(dVar98,dVar69,dVar91,dVar55), (uVar29 & 1) != 0)) goto LAB_10002527c;\n local_180._0_8_ =\n NSValue::valueWithRect_((ID)&_OBJC_CLASS___NSValue,dVar98,dVar69,dVar91,dVar55);\n IVar16 = NSArray::arrayWithObjects_count_((ID)&_OBJC_CLASS___NSArray,local_180,1);\n }\n local_180._8_8_ = pdVar42[1];\n local_180._0_8_ = *pdVar42;\n local_170 = (long *)pdVar42[2];\n FUN_10002d0e4(*(undefined8 *)(param_1 + 8),local_180);\n }\n puVar23 = local_180;\n dVar98 = dVar94;\n dVar69 = dVar66;\n dVar91 = dVar79;\n dVar55 = dVar99;\n local_180._0_8_ = dVar92;\n local_180._8_8_ = dVar73;\n local_170 = plVar95;\n dStack_168 = dVar74;\n local_160 = dVar96;\n dStack_158 = dVar97;\n FUN_10002cb20(puVar23,bVar8);\n _CGRectIsNull();\n if ((((((ulong)puVar23 & 1) == 0) &&\n (_CGRectIsEmpty(dVar98,dVar69,dVar91,dVar55), ((ulong)puVar23 & 1) == 0)) &&\n (dVar90 = dVar98, _CGRectGetWidth(dVar98,dVar69,dVar91,dVar55),\n 2.220446049250313e-16 < dVar90)) &&\n (dVar90 = dVar98, _CGRectGetHeight(dVar98,dVar69,dVar91,dVar55),\n 2.220446049250313e-16 < dVar90)) {\n dVar94 = dVar98;\n dVar66 = dVar69;\n dVar79 = dVar91;\n dVar99 = dVar55;\n }\n puVar23 = local_180;\n dVar69 = local_790;\n dVar91 = local_798;\n dVar55 = local_7a0;\n dVar90 = local_7a8;\n uVar13 = uVar45;\n local_180._0_8_ = dVar92;\n local_180._8_8_ = dVar73;\n local_170 = plVar95;\n dStack_168 = dVar74;\n local_160 = dVar96;\n dStack_158 = dVar97;\n dVar98 = dVar93;\n FUN_10002cb20(puVar23,bVar8);\n _CGRectIsNull();\n if (((((ulong)puVar23 & 1) != 0) ||\n (_CGRectIsEmpty(dVar69,dVar91,dVar55,dVar90), ((ulong)puVar23 & 1) != 0)) ||\n ((dVar85 = dVar69, _CGRectGetWidth(dVar69,dVar91,dVar55,dVar90),\n dVar85 <= 2.220446049250313e-16 ||\n (dVar85 = dVar69, _CGRectGetHeight(dVar69,dVar91,dVar55,dVar90),\n dVar85 <= 2.220446049250313e-16)))) {\n dVar69 = local_790;\n dVar91 = local_798;\n dVar55 = local_7a0;\n dVar90 = local_7a8;\n }\n local_8a0 = 0;\n local_180._0_8_ = dVar92;\n local_180._8_8_ = dVar73;\n local_170 = plVar95;\n dStack_168 = dVar74;\n local_160 = dVar96;\n dStack_158 = dVar97;\n FUN_10002c7ec(CVar100.field0_0x0.field0_0x0,dVar63,dVar64,dVar65,dVar75,dVar93,dVar77,dVar76,0\n ,local_180,bVar8);\n local_180._0_8_ = dVar92;\n local_180._8_8_ = dVar73;\n local_170 = plVar95;\n dStack_168 = dVar74;\n local_160 = dVar96;\n dStack_158 = dVar97;\n FUN_10002c7ec(CVar100.field0_0x0.field0_0x0,dVar63,dVar64,dVar65,dVar75,dVar93,dVar77,dVar76,\n IVar16,local_180,bVar8);\n IVar16 = objc_stub::count((ID)local_890);\n if ((IVar16 == 0) && (IVar16 = objc_stub::count(local_8a0), IVar16 == 0)) {\n local_8d8 = 0;\n IVar16 = 0;\n }\n else {\n IVar16 = objc_stub::count((ID)local_890);\n IVar17 = objc_stub::count(local_8a0);\n local_8d8 = NSMutableArray::arrayWithCapacity_\n ((ID)&_OBJC_CLASS___NSMutableArray,IVar17 + IVar16);\n IVar16 = objc_stub::count((ID)local_890);\n if (IVar16 != 0) {\n NSMutableArray::addObjectsFromArray_(local_8d8,local_890);\n }\n IVar17 = objc_stub::count(local_8a0);\n IVar16 = 0;\n if (IVar17 != 0) {\n IVar16 = NSMutableArray::addObjectsFromArray_(local_8d8,local_8a0);\n }\n }\n if ((local_894 & 1) == 0) {\n IVar16 = *(ID *)(param_1 + 8);\n local_180._8_8_ = pdVar42[1];\n local_180._0_8_ = *pdVar42;\n local_170 = (long *)pdVar42[2];\n FUN_10002d0e4(IVar16,local_180);\n local_8d8 = 0;\n local_8a0 = 0;\n puVar58 = (undefined *)0x0;\n local_890 = (undefined *)0x0;\n dVar69 = local_790;\n dVar91 = local_798;\n dVar55 = local_7a0;\n dVar90 = local_7a8;\n dVar94 = local_790;\n dVar66 = local_798;\n dVar79 = local_7a0;\n dVar99 = local_7a8;\n }\n local_100 = *pdVar42;\n uVar6 = *(uint *)((long)pdVar42 + 0xc);\n dStack_f8 = (double)CONCAT44(dStack_f8._4_4_,*(undefined4 *)(pdVar42 + 1));\n plVar49 = (long *)pdVar42[2];\n if (*(long *)(param_1 + 8) == 0) {\n IVar17 = 0;\n }\n else {\n IVar16 = NSValue::valueWithNonretainedObject_((ID)&_OBJC_CLASS___NSValue);\n IVar17 = IVar16;\n }\n FUN_100050f34();\n IVar19 = IVar16;\n FUN_100050f34();\n IVar20 = IVar19;\n FUN_100050f34();\n IVar24 = IVar20;\n FUN_100050f34();\n dVar85 = local_790;\n dVar80 = local_798;\n dVar83 = local_7a0;\n dVar88 = local_7a8;\n FUN_10001bef0();\n dVar78 = local_790;\n dVar68 = local_798;\n dVar84 = local_7a0;\n dVar89 = local_7a8;\n FUN_10001bef0();\n IVar25 = objc_stub::count(IVar16);\n if ((((IVar25 == 0) && (IVar25 = objc_stub::count(IVar19), IVar25 == 0)) &&\n (IVar25 = objc_stub::count(IVar20), IVar25 == 0)) &&\n ((uVar29 = objc_stub::count(IVar24), uVar29 == 0 &&\n (FUN_10001a870(dVar85,dVar80,dVar83,dVar88), (uVar29 & 1) == 0)))) {\n FUN_10001a870(dVar78,dVar68,dVar84,dVar89);\n }\n else {\n uVar29 = 1;\n }\n if (DAT_1000bdfc8 != -1) {\n FUN_100079694();\n }\n IVar25 = DAT_1000bdfc0;\n objc_stub::lock(DAT_1000bdfc0);\n if (DAT_1000bdfd8 != -1) {\n FUN_1000796b8();\n }\n IVar26 = DAT_1000bdfd0;\n if ((uVar29 & 1) == 0) {\n if (IVar17 != 0) {\n objc_stub::removeObjectForKey_(DAT_1000bdfd0,IVar17);\n }\n DAT_1000bdfb0 = 0;\n DAT_1000bdfb8 = 0;\n }\n else {\n IVar56 = NSMutableDictionary::dictionary((ID)&_OBJC_CLASS___NSMutableDictionary);\n IVar34 = objc_stub::count(IVar16);\n if (IVar34 != 0) {\n NSMutableDictionary::setObject_forKeyedSubscript_(IVar56,IVar16,&cf_faceBoxes);\n }\n IVar35 = objc_stub::count(IVar19);\n IVar34 = 0;\n if (IVar35 != 0) {\n IVar34 = NSMutableDictionary::setObject_forKeyedSubscript_\n (IVar56,IVar19,&cf_faceSelectionBoxes);\n }\n _CGRectIsNull(dVar85,dVar80,dVar83,dVar88);\n if ((((IVar34 & 1) == 0) && (_CGRectIsEmpty(dVar85,dVar80,dVar83,dVar88), (IVar34 & 1) == 0)\n ) && ((dVar67 = dVar85, _CGRectGetWidth(dVar85,dVar80,dVar83,dVar88),\n 2.220446049250313e-16 < dVar67 &&\n (dVar67 = dVar85, _CGRectGetHeight(dVar85,dVar80,dVar83,dVar88),\n 2.220446049250313e-16 < dVar67)))) {\n IVar34 = NSValue::valueWithRect_((ID)&_OBJC_CLASS___NSValue,dVar85,dVar80,dVar83,dVar88);\n NSMutableDictionary::setObject_forKeyedSubscript_(IVar56,IVar34,&cf_faceSelectedBox);\n }\n IVar35 = objc_stub::count(IVar20);\n IVar34 = 0;\n if (IVar35 != 0) {\n IVar34 = NSMutableDictionary::setObject_forKeyedSubscript_(IVar56,IVar20,&cf_trackBoxes);\n }\n _CGRectIsNull(dVar78,dVar68,dVar84,dVar89);\n if (((((IVar34 & 1) == 0) &&\n (_CGRectIsEmpty(dVar78,dVar68,dVar84,dVar89), (IVar34 & 1) == 0)) &&\n (dVar85 = dVar78, _CGRectGetWidth(dVar78,dVar68,dVar84,dVar89),\n 2.220446049250313e-16 < dVar85)) &&\n (dVar85 = dVar78, _CGRectGetHeight(dVar78,dVar68,dVar84,dVar89),\n 2.220446049250313e-16 < dVar85)) {\n IVar34 = NSValue::valueWithRect_((ID)&_OBJC_CLASS___NSValue,dVar78,dVar68,dVar84,dVar89);\n NSMutableDictionary::setObject_forKeyedSubscript_(IVar56,IVar34,&cf_trackSelectedBox);\n }\n IVar34 = objc_stub::count(IVar24);\n if (IVar34 != 0) {\n NSMutableDictionary::setObject_forKeyedSubscript_(IVar56,IVar24,&cf_guardBoxes);\n }\n if ((uVar6 & 0x1d) == 1) {\n local_180._0_8_ = local_100;\n local_180._8_8_ = CONCAT44(uVar6,SUB84(dStack_f8,0));\n local_170 = plVar49;\n _CMTimeGetSeconds(local_180);\n }\n IVar34 = NSNumber::numberWithDouble_((ID)&_OBJC_CLASS___NSNumber);\n NSMutableDictionary::setObject_forKeyedSubscript_(IVar56,IVar34,&cf_renderTime);\n IVar56 = NSMutableDictionary::copy(IVar56);\n if (IVar17 == 0) {\n IVar17 = 0;\n }\n else {\n objc_stub::setObject_forKey_(IVar26,IVar56,IVar17);\n }\n DAT_1000bdfb0 = IVar56;\n DAT_1000bdfb8 = IVar17;\n _CFAbsoluteTimeGetCurrent();\n objc_stub::count(IVar16);\n objc_stub::count(IVar19);\n objc_stub::count(IVar20);\n objc_stub::count(IVar24);\n if ((uVar6 & 0x1d) == 1) {\n local_180._0_8_ = local_100;\n local_180._8_8_ = CONCAT44(uVar6,SUB84(dStack_f8,0));\n local_170 = plVar49;\n _CMTimeGetSeconds(local_180);\n }\n }\n objc_stub::unlock(IVar25);\n if (local_8cc == 0) {\n uVar6 = 0;\n }\n else {\n IVar16 = objc_stub::count(local_7b0);\n uVar6 = (uint)(0x4c < IVar16);\n }\n IVar16 = objc_stub::deviceRegistryID(param_3);\n FUN_10002d3cc();\n if (IVar16 != 0) {\n if ((IVar22 == 0) || (local_788 == 0)) {\n bVar10 = false;\n if (local_788 != 0) goto LAB_100025b5c;\nLAB_100025b74:\n local_780 = FxMTLDeviceCache::MTLPixelFormatForImageTile_\n ((ID)&objc::class_t::FxMTLDeviceCache,param_3);\n }\n else {\n IVar17 = objc_stub::width(local_788);\n if ((IVar17 != 0) && (IVar17 = objc_stub::height(local_788), IVar17 != 0)) {\n IVar17 = objc_stub::usage(local_788);\n if (((uint)IVar17 >> 2 & 1) != 0) {\n bVar10 = true;\n goto LAB_100025b5c;\n }\n objc_stub::usage(local_788);\n }\n bVar10 = false;\nLAB_100025b5c:\n IVar17 = objc_stub::pixelFormat(local_788);\n if (IVar17 == 0) goto LAB_100025b74;\n local_780 = objc_stub::pixelFormat(local_788);\n }\n IVar17 = local_780;\n if (puVar28 != (undefined8 *)0x0) {\n IVar17 = FxMTLDeviceCache::MTLPixelFormatForImageTile_\n ((ID)&objc::class_t::FxMTLDeviceCache,param_3);\n }\n IVar19 = local_780;\n if (!bVar10) {\n uVar59 = 0;\n if (2.220446049250313e-16 < local_8f8) {\n uVar59 = uVar46;\n }\n if (uVar59 == 1) {\n if (DAT_1000be018 != -1) {\n FUN_1000796dc();\n }\n if (((puVar28 == (undefined8 *)0x0) || (IVar22 == 0)) || ((DAT_1000bd201 & 1) == 0)) {\n local_788 = 0;\n }\n else {\n puVar36 = puVar28;\n _IOSurfaceGetWidth(puVar28);\n puVar37 = puVar28;\n _IOSurfaceGetHeight(puVar28);\n local_788 = IVar22;\n FUN_10002d514(IVar22,puVar28,IVar17,puVar36,puVar37);\n IVar19 = IVar17;\n if (local_788 == 0) goto LAB_100025c50;\n }\n }\n else {\nLAB_100025c50:\n local_788 = 0;\n IVar19 = local_780;\n }\n }\n local_780 = IVar19;\n uVar1 = 0x73;\n if (local_780 != 0) {\n uVar1 = local_780;\n }\n objc_stub::count(local_768);\n IVar17 = objc_stub::count(local_768);\n if (IVar17 == 0) {\n IVar17 = objc_stub::count(local_8e0);\n uVar59 = (uint)(0x4c < IVar17);\n }\n else {\n uStack_5f8 = 0;\n local_600 = 0;\n uStack_608 = 0;\n local_610 = 0;\n uStack_618 = 0;\n local_620 = (long *)0x0;\n lStack_628 = 0;\n local_630 = 0;\n IVar17 = objc_stub::countByEnumeratingWithState_objects_count_\n (local_768,&local_630,auStack_330,0x10);\n if (IVar17 == 0) {\n uVar59 = 0;\n }\n else {\n lVar60 = *local_620;\n do {\n IVar19 = 0;\n do {\n if (*local_620 != lVar60) {\n _objc_enumerationMutation(local_768);\n }\n IVar20 = objc_stub::count(*(ID *)(lStack_628 + IVar19 * 8));\n if (0x4c < IVar20) {\n uVar59 = 1;\n goto LAB_100025d44;\n }\n IVar19 = IVar19 + 1;\n } while (IVar17 != IVar19);\n IVar17 = objc_stub::countByEnumeratingWithState_objects_count_\n (local_768,&local_630,auStack_330,0x10);\n uVar59 = 0;\n } while (IVar17 != 0);\n }\n }\nLAB_100025d44:\n uVar4 = 0;\n if (2.220446049250313e-16 < local_8f8) {\n uVar4 = uVar46;\n }\n if (uVar44 == 0) {\n objc_stub::count(0);\n }\n objc_stub::count(local_7b0);\n objc_stub::count(local_768);\n IVar19 = objc_stub::count(local_768);\n IVar17 = local_8e0;\n if (IVar19 != 0) {\n IVar17 = objc_stub::firstObject(local_768);\n }\n objc_stub::count(IVar17);\n FUN_10001b584(local_808,local_820,local_830,local_838);\n FUN_10001b584(local_790,local_798,local_7a0,local_7a8);\n IVar17 = NSUserDefaults::standardUserDefaults((ID)&_OBJC_CLASS___NSUserDefaults);\n IVar19 = NSUserDefaults::objectForKey_(IVar17,&cf_MSE18GlobalFaceBoxPreviewEnabled);\n if (IVar19 == 0) {\n uVar46 = 0;\n }\n else {\n IVar17 = NSUserDefaults::boolForKey_(IVar17,&cf_MSE18GlobalFaceBoxPreviewEnabled);\n uVar46 = (uint)IVar17;\n }\n IVar17 = objc_stub::count((ID)puVar58);\n if ((IVar17 != 0) ||\n (IVar17 = objc_stub::count((ID)puVar58), puVar32 = local_890, IVar17 != 0)) {\n puVar32 = (undefined *)0x0;\n }\n if (*(long *)(param_1 + 8) == 0) {\n IVar17 = 0;\n }\n else {\n IVar17 = NSValue::valueWithNonretainedObject_((ID)&_OBJC_CLASS___NSValue);\n }\n if (DAT_1000bdfc8 != -1) {\n FUN_100079694();\n }\n IVar19 = DAT_1000bdfc0;\n objc_stub::lock(DAT_1000bdfc0);\n if (IVar17 == 0) {\n IVar17 = 0;\n }\n else {\n if (DAT_1000be028 != -1) {\n FUN_100079700();\n }\n IVar17 = objc_stub::objectForKeyedSubscript_(DAT_1000be020,IVar17);\n }\n objc_stub::unlock(IVar19);\n IVar20 = objc_stub::objectForKeyedSubscript_(IVar17,&cf_selectionDisplayPoint);\n puVar33 = &_OBJC_CLASS___NSValue;\n _objc_opt_class(&_OBJC_CLASS___NSValue);\n IVar19 = IVar20;\n _objc_opt_isKindOfClass(IVar20,puVar33);\n if ((IVar19 & 1) != 0) {\n objc_stub::pointValue(IVar20);\n }\n IVar20 = objc_stub::objectForKeyedSubscript_(IVar17,&cf_selectionSourcePoint);\n puVar33 = &_OBJC_CLASS___NSValue;\n _objc_opt_class(&_OBJC_CLASS___NSValue);\n IVar19 = IVar20;\n _objc_opt_isKindOfClass(IVar20,puVar33);\n if ((IVar19 & 1) != 0) {\n objc_stub::pointValue(IVar20);\n uVar13 = uVar45;\n local_180._0_8_ = dVar92;\n local_180._8_8_ = dVar73;\n local_170 = plVar95;\n dStack_168 = dVar74;\n local_160 = dVar96;\n dStack_158 = dVar97;\n dVar98 = dVar93;\n FUN_10002d97c(local_180,bVar8);\n }\n IVar19 = objc_stub::objectForKeyedSubscript_(IVar17,&cf_selectionMirrorPoint);\n puVar33 = &_OBJC_CLASS___NSValue;\n _objc_opt_class(&_OBJC_CLASS___NSValue);\n IVar17 = IVar19;\n _objc_opt_isKindOfClass(IVar19,puVar33);\n if ((IVar17 & 1) != 0) {\n objc_stub::pointValue(IVar19);\n local_180._0_8_ = dVar92;\n local_180._8_8_ = dVar73;\n local_170 = plVar95;\n dStack_168 = dVar74;\n local_160 = dVar96;\n dStack_158 = dVar97;\n dVar98 = dVar93;\n FUN_10002d97c(local_180,bVar8);\n uVar13 = uVar45;\n }\n local_988 = dVar99;\n IVar17 = local_8a0;\n dStack_970 = dVar94;\n local_978 = dVar66;\n dStack_980 = dVar79;\n local_9a8 = dVar90;\n dStack_990 = dVar69;\n local_998 = dVar91;\n dStack_9a0 = dVar55;\n if ((local_894 & uVar46) == 0) {\n IVar17 = 0;\n puVar58 = (undefined *)0x0;\n puVar32 = (undefined *)0x0;\n local_988 = local_7a8;\n dStack_970 = local_790;\n local_978 = local_798;\n dStack_980 = local_7a0;\n local_9a8 = local_7a8;\n dStack_990 = local_790;\n local_998 = local_798;\n dStack_9a0 = local_7a0;\n }\n objc_stub::count((ID)puVar32);\n objc_stub::count((ID)puVar58);\n objc_stub::count(IVar17);\n objc_stub::count(0);\n objc_stub::count((ID)puVar32);\n objc_stub::count((ID)puVar58);\n objc_stub::count(IVar17);\n objc_stub::count(0);\n objc_stub::count((ID)local_890);\n objc_stub::count(local_8a0);\n objc_stub::count(0);\n objc_stub::count(local_8d8);\n _NSStringFromRect(dVar94,dVar66,dVar79,dVar99);\n _NSStringFromRect(dVar69,dVar91,dVar55,dVar90);\n _NSStringFromRect(dStack_970,local_978,dStack_980,local_988);\n _NSStringFromRect(dStack_990,local_998,dStack_9a0,local_9a8);\n _NSStringFromRect(dStack_970,local_978,dStack_980,local_988);\n _NSStringFromRect(dStack_990,local_998,dStack_9a0,local_9a8);\n if (IVar22 == 0 || local_788 == 0) {\nLAB_1000268b0:\n uVar44 = 0;\n }\n else {\n IVar19 = objc_stub::width(local_788);\n IVar20 = objc_stub::height(local_788);\n uVar29 = objc_stub::width(local_788);\n IVar24 = objc_stub::height(local_788);\n FUN_10002dc00(dVar86,dVar81,dVar82,dVar87,uVar29,IVar24);\n uVar44 = (uint)uVar29;\n uVar46 = uVar44;\n if (bVar8 != 0) {\n iVar14 = (int)local_180;\n local_180._0_8_ = dVar92;\n local_180._8_8_ = dVar73;\n local_170 = plVar95;\n dStack_168 = dVar74;\n local_160 = dVar96;\n dStack_158 = dVar97;\n FUN_1000295e4();\n uVar46 = 0;\n if (iVar14 != 0) {\n local_100 = dVar92;\n dStack_f8 = dVar73;\n local_f0 = plVar95;\n dStack_e8 = dVar74;\n local_e0 = dVar96;\n dStack_d8 = dVar97;\n _CGAffineTransformInvert(local_180,&local_100);\n dStack_f8 = (double)local_180._8_8_;\n local_100 = (double)local_180._0_8_;\n dStack_e8 = dStack_168;\n local_f0 = local_170;\n dStack_d8 = dStack_158;\n local_e0 = local_160;\n uVar46 = (uint)&local_100;\n FUN_10002dc94(dVar86,dVar81,dVar82,dVar87);\n }\n }\n dVar94 = CVar100.field0_0x0.field0_0x0;\n dVar66 = dVar63;\n dVar79 = dVar64;\n dVar99 = dVar65;\n _CGRectIntersection();\n FUN_100021624(dVar94,dVar66,dVar79,dVar99);\n if (uVar46 == 0) {\nLAB_100026328:\n uVar45 = 0;\n }\n else {\n dVar69 = dVar94;\n _CGRectGetWidth(dVar94,dVar66,dVar79,dVar99);\n dVar91 = dVar86;\n _CGRectGetWidth(dVar86,dVar81,dVar82,dVar87);\n dVar55 = dVar86;\n _CGRectGetWidth(dVar86,dVar81,dVar82,dVar87);\n dVar55 = dVar55 * 0.01;\n if (dVar55 <= 2.0) {\n dVar55 = 2.0;\n }\n if (dVar55 < ABS(dVar69 - dVar91)) goto LAB_100026328;\n dVar69 = dVar94;\n _CGRectGetHeight(dVar94,dVar66,dVar79,dVar99);\n dVar91 = dVar86;\n _CGRectGetHeight(dVar86,dVar81,dVar82,dVar87);\n dVar55 = dVar86;\n _CGRectGetHeight(dVar86,dVar81,dVar82,dVar87);\n dVar55 = dVar55 * 0.01;\n if (dVar55 <= 2.0) {\n dVar55 = 2.0;\n }\n uVar45 = (uint)(ABS(dVar69 - dVar91) <= dVar55);\n }\n FUN_100021624(dVar94,dVar66,dVar79,dVar99);\n local_9d0 = NEON_fmov(0x3f800000,4);\n local_9c0 = 0;\n if ((uVar46 != 0) &&\n (FUN_100021624(CVar100.field0_0x0.field0_0x0,dVar63,dVar64,dVar65), uVar46 != 0)) {\n dVar69 = CVar100.field0_0x0.field0_0x0;\n _CGRectGetWidth(CVar100.field0_0x0.field0_0x0,dVar63,dVar64,dVar65);\n dVar91 = CVar100.field0_0x0.field0_0x0;\n _CGRectGetHeight(CVar100.field0_0x0.field0_0x0,dVar63,dVar64,dVar65);\n if ((2.220446049250313e-16 < dVar69) && (2.220446049250313e-16 < dVar91)) {\n dVar55 = dVar94;\n _CGRectGetMinX(dVar94,dVar66,dVar79,dVar99);\n dVar90 = CVar100.field0_0x0.field0_0x0;\n _CGRectGetMinX(CVar100.field0_0x0.field0_0x0,dVar63,dVar64,dVar65);\n dVar85 = dVar94;\n _CGRectGetMinY(dVar94,dVar66,dVar79,dVar99);\n dVar78 = CVar100.field0_0x0.field0_0x0;\n _CGRectGetMinY(CVar100.field0_0x0.field0_0x0,dVar63,dVar64,dVar65);\n dVar80 = dVar94;\n _CGRectGetWidth(dVar94,dVar66,dVar79,dVar99);\n dVar68 = dVar94;\n _CGRectGetHeight(dVar94,dVar66,dVar79,dVar99);\n dVar90 = (dVar55 - dVar90) / dVar69;\n dVar55 = (dVar85 - dVar78) / dVar91;\n dVar80 = dVar80 / dVar69;\n if ((((((ulong)ABS(dVar90) < 0x7ff0000000000000) &&\n ((ulong)ABS(dVar55) < 0x7ff0000000000000)) &&\n ((ulong)ABS(dVar80) < 0x7ff0000000000000)) &&\n ((dVar68 = dVar68 / dVar91, (ulong)ABS(dVar68) < 0x7ff0000000000000 &&\n (2.220446049250313e-16 < dVar80)))) && (2.220446049250313e-16 < dVar68)) {\n dVar69 = 2.0;\n if (dVar90 <= 2.0) {\n dVar69 = dVar90;\n }\n dVar91 = -1.0;\n if (-1.0 <= dVar90) {\n dVar91 = dVar69;\n }\n dVar69 = 2.0;\n if (dVar55 <= 2.0) {\n dVar69 = dVar55;\n }\n dVar90 = -1.0;\n if (-1.0 <= dVar55) {\n dVar90 = dVar69;\n }\n local_9c0 = CONCAT44((float)dVar90,(float)dVar91);\n dVar69 = 3.0;\n if (dVar80 <= 3.0) {\n dVar69 = dVar80;\n }\n dVar91 = 1e-06;\n if (1e-06 <= dVar80) {\n dVar91 = dVar69;\n }\n dVar69 = 3.0;\n if (dVar68 <= 3.0) {\n dVar69 = dVar68;\n }\n dVar55 = 1e-06;\n if (1e-06 <= dVar68) {\n dVar55 = dVar69;\n }\n local_9d0 = CONCAT44((float)dVar55,(float)dVar91);\n }\n }\n }\n IVar24 = objc_stub::width(local_788);\n IVar25 = objc_stub::height(local_788);\n uVar46 = 0;\n if (IVar24 != 0 && IVar25 != 0) {\n uVar46 = uVar44;\n }\n if (uVar46 == 1) {\n IVar26 = IVar25;\n FUN_100021624(dVar75,dVar93,dVar77,dVar76);\n iVar14 = (int)IVar26;\n if ((iVar14 == 0) || (FUN_100021624(dVar86,dVar81,dVar82,dVar87), iVar14 == 0))\n goto LAB_1000266cc;\n dVar69 = dVar75;\n _CGRectGetWidth(dVar75,dVar93,dVar77,dVar76);\n dVar91 = dVar75;\n _CGRectGetHeight(dVar75,dVar93,dVar77,dVar76);\n dVar55 = dVar86;\n _CGRectGetWidth(dVar86,dVar81,dVar82,dVar87);\n dVar90 = dVar86;\n _CGRectGetHeight(dVar86,dVar81,dVar82,dVar87);\n dVar85 = dVar86;\n _CGRectGetMinX(dVar86,dVar81,dVar82,dVar87);\n dVar78 = dVar75;\n _CGRectGetMinX(dVar75,dVar93,dVar77,dVar76);\n if (4.0 < ABS(dVar85 - dVar78)) goto LAB_1000266cc;\n dVar85 = dVar86;\n _CGRectGetMinY(dVar86,dVar81,dVar82,dVar87);\n dVar78 = dVar75;\n _CGRectGetMinY(dVar75,dVar93,dVar77,dVar76);\n if (4.0 < ABS(dVar85 - dVar78)) goto LAB_1000266cc;\n dVar85 = dVar69 * 0.004;\n if (dVar85 <= 8.0) {\n dVar85 = 8.0;\n }\n if (dVar85 < ABS(dVar55 - dVar69)) goto LAB_1000266cc;\n dVar69 = dVar91 * 0.004;\n if (dVar69 <= 8.0) {\n dVar69 = 8.0;\n }\n if (dVar69 < ABS(dVar90 - dVar91)) goto LAB_1000266cc;\n if (ABS((double)IVar24 - dVar55) <= 1.0) {\n bVar10 = ABS((double)IVar25 - dVar90) <= 1.0;\n }\n else {\n bVar10 = false;\n }\n }\n else {\nLAB_1000266cc:\n bVar10 = false;\n }\n dVar91 = (double)IVar19;\n dVar69 = (double)IVar20;\n local_9b0 = local_880;\n if (uVar44 != 0) {\n FUN_10002decc(dVar86,dVar81,dVar82,dVar87,0,0,dVar91,dVar69,local_880,1);\n }\n uVar46 = uVar4 & uVar59;\n dVar55 = dVar69;\n if (uVar46 == 0) {\n FUN_10002ed00(0,0,dVar91);\n pcVar30 = &cf_output_metal_make_opaque_bounds;\n }\n else {\n IVar19 = objc_stub::imageByCroppingToRect_(local_9b0,0,0,dVar91);\n if (IVar19 != 0) {\n local_9b0 = IVar19;\n }\n pcVar30 = &cf_output_metal_face_thin_crop_bounds;\n }\n objc_stub::length((ID)pcVar30);\n if (local_7d8 == 0) {\n uVar53 = 0;\nLAB_100026808:\n CVar102.field1_0x10.field1_0x8 = dVar55;\n uVar47 = 0;\n }\n else {\n IVar19 = objc_stub::width(local_7d8);\n IVar20 = objc_stub::width(local_788);\n if (IVar19 == IVar20) {\n IVar19 = objc_stub::height(local_7d8);\n IVar20 = objc_stub::height(local_788);\n if (IVar19 != IVar20) goto LAB_1000267d0;\n dVar55 = CVar102.field1_0x10.field1_0x8;\n _CGRectEqualToRect(CVar102.field0_0x0.field0_0x0,CVar102.field0_0x0.field1_0x8,\n CVar102.field1_0x10.field0_0x0,CVar102.field1_0x10.field1_0x8,\n dVar86,dVar81,dVar82,dVar87);\n uVar47 = (uint)IVar20;\n uVar53 = uVar47;\n }\n else {\nLAB_1000267d0:\n uVar47 = (uint)IVar20;\n uVar53 = 0;\n }\n if (uVar44 == 0) goto LAB_100026808;\n _CGRectEqualToRect(CVar102.field0_0x0.field0_0x0,CVar102.field0_0x0.field1_0x8,\n CVar102.field1_0x10.field0_0x0,CVar102.field1_0x10.field1_0x8,\n CVar100.field0_0x0.field0_0x0,dVar63,dVar64,dVar65);\n uVar47 = uVar47 & uVar45;\n }\n uVar45 = 0;\n if (local_880 == IVar18) {\n uVar45 = uVar46;\n }\n uVar45 = uVar45 & uVar44 & (uVar53 | uVar47);\n if (uVar46 != 0) {\n pcVar30 = &cf_output_metal_path_direct_source;\n if (uVar45 == 0) {\n pcVar30 = &cf_output_metal_path_processed_intermediate;\n }\n objc_stub::length((ID)pcVar30);\n }\n IVar19 = objc_stub::deviceRegistryID(param_3);\n IVar19 = FxMTLDeviceCache::commandQueueWithRegistryID_pixelFormat_\n (IVar21,IVar19,local_780);\n objc_stub::width(local_788);\n objc_stub::height(local_788);\n if (IVar19 == 0) goto LAB_1000268b0;\n objc_stub::length(0x1000ac8a0);\n IVar20 = objc_stub::commandBuffer(IVar19);\n objc_stub::enqueue(IVar20);\n if (((uVar45 | uVar46 ^ 0xffffffff | uVar44 ^ 1) & 1) == 0) {\n bVar61 = DAT_1000be030;\n if (DAT_1000be038 != -1) {\n FUN_100079724();\n bVar61 = DAT_1000be030;\n }\n }\n else {\n bVar61 = 0;\n }\n if (uVar45 == 0 && (bVar61 & 1) == 0) {\n IVar24 = objc_stub::width(local_788);\n IVar25 = objc_stub::height(local_788);\n local_7e8 = IVar22;\n FUN_10002ef38(IVar22,uVar1,IVar24,IVar25);\n objc_stub::length(0x1000ac8c0);\n if (local_7e8 != 0) {\n CVar102.field1_0x10.field1_0x8 = dVar69;\n objc_stub::render_toMTLTexture_commandBuffer_bounds_colorSpace_\n (IVar16,0,0,dVar91,local_9b0,local_7e8,IVar20,local_888);\n objc_stub::length(0x1000ac8e0);\n uVar53 = 1;\n goto LAB_100026978;\n }\n local_7e8 = 0;\n uVar53 = 0;\n local_638 = 0;\n if (uVar45 != 0 || (bVar61 & 1) != 0) goto LAB_100026978;\n local_7f8 = 0;\n uVar45 = 0;\n }\n else {\n uVar53 = 0;\n local_7e8 = 0;\nLAB_100026978:\n local_638 = 0;\n if ((uVar59 & (uVar46 | uVar6)) == 1) {\n IVar24 = objc_stub::count(local_768);\n if (IVar24 < 2) {\n if (bVar10) {\n local_7f8 = local_8e0;\n FUN_10002f2f8();\n objc_stub::length(local_7f8);\n }\n else {\n local_7f8 = 0;\n }\n IVar24 = objc_stub::length(local_7f8);\n if (IVar24 < 0x268) {\n local_7f8 = local_8e0;\n CVar102.field1_0x10.field1_0x8 = dVar65;\n local_180._0_8_ = dVar92;\n local_180._8_8_ = dVar73;\n local_170 = plVar95;\n dStack_168 = dVar74;\n local_160 = dVar96;\n dStack_158 = dVar97;\n FUN_10002f59c(CVar100.field0_0x0.field0_0x0,dVar63,dVar64,dVar65,dVar86,dVar81,\n dVar82,dVar87,local_8e0,local_180,bVar8);\n objc_stub::length(local_7f8);\n }\n IVar24 = objc_stub::length(local_7f8);\n local_638 = (ulong)(0x267 < IVar24);\n }\n else {\n if (bVar10) {\n local_7f8 = local_768;\n FUN_10002efa0(local_768,&local_638);\n objc_stub::length(local_7f8);\n }\n else {\n local_7f8 = 0;\n }\n IVar24 = objc_stub::length(local_7f8);\n CVar102.field1_0x10.field1_0x8 = dVar73;\n if (IVar24 < 0x268) {\n local_7f8 = local_768;\n CVar102.field1_0x10.field1_0x8 = dVar65;\n local_180._0_8_ = dVar92;\n local_180._8_8_ = dVar73;\n local_170 = plVar95;\n dStack_168 = dVar74;\n local_160 = dVar96;\n dStack_158 = dVar97;\n FUN_10002f10c(CVar100.field0_0x0.field0_0x0,dVar63,dVar64,dVar65,dVar86,dVar81,\n dVar82,dVar87,local_768,local_180,bVar8,&local_638);\n objc_stub::length(local_7f8);\n }\n }\n }\n else {\n local_7f8 = 0;\n }\n if (uVar46 == 0) {\n lVar60 = 0;\n IVar24 = 0;\n }\n else {\n IVar24 = objc_stub::length(local_7f8);\n uVar46 = 0;\n lVar60 = 0;\n if (IVar24 < 0x268) {\n IVar24 = 0;\n }\n else {\n IVar24 = 0;\n if (local_638 != 0) {\n lVar60 = local_638 * 0x4d;\n uVar46 = 1;\n IVar24 = local_7f8;\n }\n }\n }\n uVar59 = uVar6 ^ 1;\n if (local_7f8 != 0) {\n uVar59 = 1;\n }\n if (uVar59 == 0) {\n if (bVar10) {\n local_9d8 = local_7b0;\n FUN_10002f2f8();\n }\n else {\n local_9d8 = 0;\n }\n IVar25 = objc_stub::length(local_9d8);\n if (IVar25 < 0x268) {\n local_9d8 = local_7b0;\n local_180._0_8_ = dVar92;\n local_180._8_8_ = dVar73;\n local_170 = plVar95;\n dStack_168 = dVar74;\n local_160 = dVar96;\n dStack_158 = dVar97;\n FUN_10002f59c(CVar100.field0_0x0.field0_0x0,dVar63,dVar64,dVar65,dVar86,dVar81,\n dVar82,dVar87,local_7b0,local_180,bVar8);\n CVar102.field1_0x10.field1_0x8 = dVar65;\n }\n }\n else {\n local_9d8 = 0;\n }\n IVar25 = objc_stub::deviceRegistryID(param_3);\n IVar25 = FxMTLDeviceCache::pipelineStateWithRegistryID_pixelFormat_\n (IVar21,IVar25,local_780);\n if (IVar25 == 0) {\n uVar45 = 0;\n uVar53 = 0;\n }\n else {\n uVar50 = local_638;\n if (local_638 < 2) {\n uVar50 = 1;\n }\n dVar97 = local_8f8 * (double)AStack_528._104_8_;\n dVar96 = 1.0;\n if (dVar97 <= 1.0) {\n dVar96 = dVar97;\n }\n local_708 = 0.0;\n dVar92 = 0.0;\n if (0.0 <= dVar97) {\n dVar92 = dVar96;\n }\n local_700 = dVar92;\n FUN_10002fb74(&local_660,&AStack_528);\n dVar96 = local_700;\n dVar97 = local_708;\n dVar73 = CVar102.field1_0x10.field1_0x8;\n if ((uVar46 & (uVar45 | uVar44)) == 1) {\n if (DAT_1000be048 != -1) {\n FUN_100079748();\n }\n dVar96 = local_700;\n dVar97 = local_708;\n dVar73 = CVar102.field1_0x10.field1_0x8;\n if (((DAT_1000be040 != 1) ||\n (IVar26 = objc_stub::length(IVar24), dVar96 = local_700, dVar97 = local_708,\n dVar73 = CVar102.field1_0x10.field1_0x8, lVar60 == 0)) ||\n (IVar26 < (ulong)(lVar60 << 3))) goto LAB_100026dcc;\n IVar26 = IVar24;\n local_6f8 = extraout_d0_23;\n FUN_10002fd48(IVar24,lVar60);\n iVar14 = (int)IVar26;\n dVar96 = local_700;\n dVar97 = local_708;\n dVar73 = CVar102.field1_0x10.field1_0x8;\n FUN_10002fe4c();\n if (iVar14 == 0) goto LAB_100026dfc;\n _CGRectGetWidth(local_6f8,local_700,local_708,CVar102.field1_0x10.field1_0x8);\n _CGRectGetHeight(local_6f8,local_700,local_708,CVar102.field1_0x10.field1_0x8);\n _CGRectInset();\n _CGRectStandardize();\n _CGRectIntersection();\n dVar96 = local_700;\n dVar97 = local_708;\n dVar73 = CVar102.field1_0x10.field1_0x8;\n FUN_10002fe4c(local_6f8);\n if (iVar14 == 0) goto LAB_100026dfc;\n dVar74 = local_6f8;\n _CGRectGetWidth(local_6f8,local_700,local_708,CVar102.field1_0x10.field1_0x8);\n dVar63 = local_6f8;\n dVar97 = local_708;\n dVar73 = CVar102.field1_0x10.field1_0x8;\n _CGRectGetHeight(local_6f8,local_700);\n dVar96 = 0.72;\n bVar10 = dVar74 * dVar63 < 0.72 && 0.0 < dVar74 * dVar63;\n local_730 = CVar102.field1_0x10.field1_0x8;\n }\n else {\nLAB_100026dcc:\n if ((uVar46 != 0) && (uVar45 != 0 || (uVar29 & 1) != 0)) {\n if (DAT_1000be048 != -1) {\n FUN_100079748();\n }\n if ((DAT_1000be040 & 1) == 0) {\n objc_stub::length(0x1000ac900);\n }\n }\nLAB_100026dfc:\n bVar10 = false;\n local_730 = local_7a8;\n local_708 = local_7a0;\n local_700 = local_798;\n local_6f8 = local_790;\n }\n IVar26 = objc_stub::length(local_7f8);\n if (0x267 < IVar26) {\n objc_stub::bytes(local_7f8);\n uVar29 = local_638;\n if (local_638 < 2) {\n uVar29 = 1;\n }\n uVar70 = extraout_d0_24;\n FUN_10002fd48(local_7f8,uVar29 * 0x4d);\n uVar71 = uVar70;\n CVar102.field1_0x10.field1_0x8 = dVar96;\n dVar64 = dVar97;\n dVar55 = dVar73;\n FUN_10002a7b8(local_7b0,0,0x4b);\n uVar72 = uVar71;\n dVar63 = CVar102.field1_0x10.field1_0x8;\n dVar65 = dVar64;\n dVar90 = dVar55;\n FUN_10002a928(local_7b0);\n dVar74 = dVar75;\n _CGRectGetWidth(dVar75,dVar93,dVar77,dVar76);\n _CGRectGetHeight(dVar75,dVar93,dVar77,dVar76);\n IVar26 = local_7f8;\n FUN_10002ffa0(local_7f8);\n FUN_10001b584(local_560.field0_0x0.field0_0x0,local_560.field0_0x0.field1_0x8,\n local_560.field1_0x10.field0_0x0,local_560.field1_0x10.field1_0x8);\n FUN_10001b584(local_7b8,local_7c0,local_7c8,local_7d0);\n FUN_10001b584(local_808,local_820,local_830,local_838);\n FUN_10001c338(uVar71,CVar102.field1_0x10.field1_0x8,dVar64,dVar55);\n FUN_10001c338(uVar72,dVar63,dVar65,dVar90);\n FUN_10001b584(uVar70,dVar96,dVar97,dVar73);\n FUN_10001c338(local_6f8,local_700,local_708,local_730);\n FUN_10001c338(dVar94,dVar66,dVar79,dVar99);\n _CGRectGetWidth(uVar71,CVar102.field1_0x10.field1_0x8,dVar64,dVar55);\n _CGRectGetHeight(uVar71,CVar102.field1_0x10.field1_0x8,dVar64,dVar55);\n _CGRectGetWidth(local_7b8,local_7c0,local_7c8,local_7d0);\n _CGRectGetHeight(local_7b8,local_7c0,local_7c8,local_7d0);\n _CGRectGetWidth(uVar70,dVar96,dVar97,dVar73);\n _CGRectGetHeight(uVar70,dVar96,dVar97,dVar73);\n FUN_10002ab0c(IVar26);\n FUN_10002ac7c(dVar74,dVar75,IVar26);\n }\n if ((uVar46 == 0) ||\n (IVar26 = objc_stub::length(IVar24), IVar26 < (ulong)(lVar60 << 3))) {\nLAB_100027018:\n uVar44 = uVar53;\n if (local_7e8 != 0) {\n uVar44 = 1;\n }\n if (uVar44 == 0 && uVar45 == 0) {\n IVar24 = objc_stub::width(local_788);\n IVar26 = objc_stub::height(local_788);\n local_7e8 = IVar22;\n FUN_10002ef38(IVar22,uVar1,IVar24,IVar26);\n objc_stub::length(0x1000acba0);\n }\n if (local_7e8 == 0) {\n uVar53 = 1;\n }\n if (uVar53 == 0) {\n objc_stub::render_toMTLTexture_commandBuffer_bounds_colorSpace_\n (IVar16,0,0,dVar91,dVar69,local_9b0,local_7e8,IVar20,local_888);\n objc_stub::length(0x1000acbc0);\n }\n IVar24 = MTLRenderPassDescriptor::renderPassDescriptor\n ((ID)&_OBJC_CLASS___MTLRenderPassDescriptor);\n IVar26 = MTLRenderPassDescriptor::colorAttachments(IVar24);\n IVar26 = MTLRenderPassDescriptor::objectAtIndexedSubscript_(IVar26,0);\n MTLRenderPassDescriptor::setTexture_(IVar26,local_788);\n IVar26 = MTLRenderPassDescriptor::colorAttachments(IVar24);\n IVar26 = MTLRenderPassDescriptor::objectAtIndexedSubscript_(IVar26,0);\n MTLRenderPassDescriptor::setLoadAction_(IVar26,2);\n IVar26 = MTLRenderPassDescriptor::colorAttachments(IVar24);\n IVar26 = MTLRenderPassDescriptor::objectAtIndexedSubscript_(IVar26,0);\n MTLRenderPassDescriptor::setStoreAction_(IVar26,1);\n IVar26 = MTLRenderPassDescriptor::colorAttachments(IVar24);\n IVar26 = MTLRenderPassDescriptor::objectAtIndexedSubscript_(IVar26,0);\n MTLRenderPassDescriptor::setClearColor_(IVar26,0,0,0,0x3ff0000000000000);\n IVar24 = objc_stub::renderCommandEncoderWithDescriptor_(IVar20,IVar24);\n if (IVar24 == 0) {\n uVar45 = 0;\n uVar53 = 0;\n }\n else {\n IVar26 = objc_stub::width(local_788);\n IVar56 = objc_stub::height(local_788);\n FUN_1000315fc(local_180,IVar26,IVar56);\n IVar26 = objc_stub::width(local_788);\n IVar56 = objc_stub::height(local_788);\n local_680 = CONCAT44((int)IVar56,(int)IVar26);\n IVar26 = objc_stub::width(local_788);\n IVar56 = objc_stub::height(local_788);\n local_f0 = (long *)(double)IVar26;\n dStack_e8 = (double)IVar56;\n local_100 = 0.0;\n dStack_f8 = 0.0;\n dStack_d8 = 1.0;\n local_e0 = -1.0;\n objc_stub::setViewport_(IVar24,&local_100);\n objc_stub::setRenderPipelineState_(IVar24,IVar25);\n objc_stub::setVertexBytes_length_atIndex_(IVar24,local_180,0x40,0);\n objc_stub::setVertexBytes_length_atIndex_(IVar24,&local_680,8,1);\n objc_stub::setFragmentTexture_atIndex_(IVar24,local_7e8,0);\n objc_stub::drawPrimitives_vertexStart_vertexCount_(IVar24,4,0,4);\n objc_stub::endEncoding(IVar24);\n objc_stub::length(0x1000acbe0);\n objc_stub::length(0x1000acc00);\n uVar45 = 0;\n uVar53 = 1;\n }\n }\n else {\n pcVar30 = &cf_output_metal_face_thin_roi_requested;\n if (bVar10 == false) {\n pcVar30 = &cf_output_metal_face_thin_full_requested;\n }\n IVar26 = objc_stub::length((ID)pcVar30);\n iVar14 = (int)IVar26;\n uVar44 = (uint)((ulong)dVar98 >> 0x20);\n fVar62 = (float)dVar92;\n uVar48 = (undefined4)uVar50;\n if (uVar45 == 0) {\nLAB_1000274ec:\n if ((bVar10 & bVar61) == 1) {\n iVar15 = iVar14;\n FUN_10002fe4c(local_6f8,local_700,local_708,local_730);\n iVar14 = 0;\n if (iVar15 != 0) {\n dVar96 = local_6f8;\n dVar97 = local_700;\n dVar92 = local_708;\n dVar73 = local_730;\n FUN_100030cc4(local_6f8,local_700,local_708,local_730);\n FUN_100030da8();\n FUN_100021624();\n iVar14 = 0;\n if (iVar15 != 0) {\n dVar94 = dVar96;\n _CGRectGetWidth(dVar96,dVar97,dVar92,dVar73);\n uVar29 = (ulong)dVar94;\n if (uVar29 < 2) {\n uVar29 = 1;\n }\n dVar94 = dVar96;\n _CGRectGetHeight(dVar96,dVar97,dVar92,dVar73);\n uVar50 = (ulong)dVar94;\n if (uVar50 < 2) {\n uVar50 = 1;\n }\n IVar26 = MTLTextureDescriptor::\n texture2DDescriptorWithPixelFormat_width_height_mipmapped_\n ((ID)&_OBJC_CLASS___MTLTextureDescriptor,uVar1,uVar29,\n uVar50,0);\n MTLTextureDescriptor::setUsage_(IVar26,7);\n MTLTextureDescriptor::setStorageMode_(IVar26,2);\n IVar26 = objc_stub::newTextureWithDescriptor_(IVar22,IVar26);\n iVar14 = 0;\n if (IVar26 != 0) {\n IVar56 = local_9b0;\n FUN_10002ee0c(0,0,dVar91,dVar69,local_9b0);\n objc_stub::render_toMTLTexture_commandBuffer_bounds_colorSpace_\n (IVar16,0,0,dVar91,dVar69,IVar56,local_788,IVar20,local_888);\n objc_stub::length(0x1000aca00);\n IVar56 = objc_stub::imageByCroppingToRect_\n (local_9b0,dVar96,dVar97,dVar92,dVar73);\n dVar94 = dVar96;\n _CGRectGetMinX(dVar96,dVar97,dVar92,dVar73);\n dVar74 = dVar96;\n _CGRectGetMinY(dVar96,dVar97,dVar92,dVar73);\n _CGAffineTransformMakeTranslation(local_180,-dVar94,-dVar74);\n uVar44 = (uint)((ulong)dVar98 >> 0x20);\n IVar56 = objc_stub::imageByApplyingTransform_(IVar56,local_180);\n IVar34 = objc_stub::imageByCroppingToRect_\n (IVar56,0,0,(double)uVar29,(double)uVar50);\n if (IVar34 != 0) {\n IVar56 = IVar34;\n }\n objc_stub::render_toMTLTexture_commandBuffer_bounds_colorSpace_\n (IVar16,0,0,(double)uVar29,(double)uVar50,IVar56,IVar26,IVar20,\n local_888);\n objc_stub::length(0x1000aca20);\n FUN_100030f50(dVar96,dVar97,dVar92,dVar73,0,0,dVar91,dVar69);\n FUN_100030cc4();\n dVar94 = dVar96;\n dVar74 = dVar97;\n FUN_100031128();\n IVar34 = objc_stub::deviceRegistryID(param_3);\n IVar35 = objc_stub::bytes(IVar24);\n IVar38 = objc_stub::length(IVar24);\n local_180._8_8_ = dStack_658;\n local_180._0_8_ = local_660;\n dStack_168 = dStack_648;\n local_170 = local_650;\n local_160 = local_640;\n IVar56 = IVar20;\n FUN_100030840(fVar62,dVar94,dVar74,dVar96,dVar97,dVar92,dVar73,IVar20,\n IVar26,local_788,IVar21,IVar34,local_780,IVar35,IVar38,\n lVar60,uVar48,uVar44,local_180,1);\n dVar98 = (double)((ulong)uVar44 << 0x20);\n iVar14 = (int)IVar56;\n if ((IVar56 & 1) != 0) {\n objc_stub::length(0x1000aca40);\n objc_stub::length(0x1000aca60);\n goto LAB_100027a54;\n }\n }\n }\n }\n }\n if (local_7e8 == 0 && uVar45 == 0) {\n IVar26 = objc_stub::width(local_788);\n IVar56 = objc_stub::height(local_788);\n local_7e8 = IVar22;\n FUN_10002ef38(IVar22,uVar1,IVar26,IVar56);\n IVar26 = objc_stub::length(0x1000aca80);\n iVar14 = (int)IVar26;\n }\n uVar105 = (undefined4)((ulong)dVar98 >> 0x20);\n uVar44 = uVar53;\n if (local_7e8 == 0) {\n uVar44 = 1;\n }\n if (uVar44 == 0) {\n objc_stub::render_toMTLTexture_commandBuffer_bounds_colorSpace_\n (IVar16,0,0,dVar91,dVar69,local_9b0,local_7e8,IVar20,local_888);\n IVar26 = objc_stub::length(0x1000acaa0);\n uVar105 = (undefined4)((ulong)dVar98 >> 0x20);\n iVar14 = (int)IVar26;\n uVar53 = 1;\n }\n if (bVar10 != false) {\n if (DAT_1000be058 != -1) {\n FUN_10007976c();\n }\n if ((DAT_1000be050 == 1) && (local_7e8 != 0)) {\n FUN_10002fe4c(local_6f8,local_700,local_708,local_730);\n if (iVar14 != 0) {\n if (DAT_1000be068 != -1) {\n FUN_100079790();\n }\n cVar9 = DAT_1000be060;\n IVar56 = objc_stub::deviceRegistryID(param_3);\n IVar34 = objc_stub::bytes(IVar24);\n IVar35 = objc_stub::length(IVar24);\n local_180._8_8_ = dStack_658;\n local_180._0_8_ = local_660;\n dStack_168 = dStack_648;\n local_170 = local_650;\n local_160 = local_640;\n IVar26 = IVar20;\n FUN_100030084(fVar62,local_9c0,local_9d0,local_6f8,local_700,local_708,\n local_730,IVar20,local_7e8,local_788,IVar21,IVar56,local_780,\n IVar34,IVar35,lVar60,uVar48,uVar105,local_180,cVar9);\n if ((int)IVar26 != 0) {\n pcVar30 = &cf_output_metal_face_thin_roi_processed_base_preflip;\n if (cVar9 == '\\0') {\n pcVar30 = &cf_output_metal_face_thin_roi_processed_base_no_preflip;\n }\n objc_stub::length((ID)pcVar30);\n objc_stub::length(0x1000acb00);\n objc_stub::length(0x1000acb20);\n goto LAB_100027a54;\n }\n goto LAB_1000279b8;\n }\n if (DAT_1000be058 != -1) {\n FUN_10007976c();\n }\n }\n if (((DAT_1000be050 & 1) == 0) && (local_7e8 != 0)) {\n objc_stub::length(0x1000acb40);\n }\n }\nLAB_1000279b8:\n IVar26 = objc_stub::deviceRegistryID(param_3);\n IVar56 = objc_stub::bytes(IVar24);\n IVar34 = objc_stub::length(IVar24);\n local_180._8_8_ = dStack_658;\n local_180._0_8_ = local_660;\n dStack_168 = dStack_648;\n local_170 = local_650;\n local_160 = local_640;\n IVar24 = IVar20;\n FUN_10003127c(fVar62,local_9c0,local_9d0,IVar20,local_7e8,local_788,IVar21,IVar26,\n local_780,IVar56,IVar34,lVar60,uVar48,uVar105,local_180,0,1);\n if ((int)IVar24 == 0) goto LAB_100027018;\n objc_stub::length(0x1000acb60);\n objc_stub::length(0x1000acb80);\n }\n else {\n if (bVar10 == false) {\n bVar2 = false;\nLAB_100027410:\n IVar56 = objc_stub::deviceRegistryID(param_3);\n IVar34 = objc_stub::bytes(IVar24);\n IVar35 = objc_stub::length(IVar24);\n local_180._8_8_ = dStack_658;\n local_180._0_8_ = local_660;\n dStack_168 = dStack_648;\n local_170 = local_650;\n local_160 = local_640;\n IVar26 = IVar20;\n FUN_100030840(fVar62,local_9c0,local_9d0,local_790,local_798,local_7a0,local_7a8\n ,IVar20,local_7d8,local_788,IVar21,IVar56,local_780,IVar34,IVar35,\n lVar60,uVar48,uVar44,local_180,bVar2);\n dVar98 = (double)((ulong)uVar44 << 0x20);\n iVar14 = 0;\n if ((int)IVar26 == 0) goto LAB_1000274ec;\n pcVar30 = &cf_output_metal_face_thin_roi_direct_encode;\n if (!bVar2) {\n pcVar30 = &cf_output_metal_face_thin_full_direct_encode;\n }\n objc_stub::length((ID)pcVar30);\n if (bVar2) goto LAB_1000274bc;\n }\n else {\n IVar56 = objc_stub::deviceRegistryID(param_3);\n IVar34 = objc_stub::bytes(IVar24);\n IVar35 = objc_stub::length(IVar24);\n local_180._8_8_ = dStack_658;\n local_180._0_8_ = local_660;\n dStack_168 = dStack_648;\n local_170 = local_650;\n local_160 = local_640;\n IVar26 = IVar20;\n FUN_100030084(fVar62,local_9c0,local_9d0,local_6f8,local_700,local_708,local_730\n ,IVar20,local_7d8,local_788,IVar21,IVar56,local_780,IVar34,IVar35,\n lVar60,uVar48,uVar44,local_180,uVar13 & 0xffffff00);\n if ((IVar26 & 1) == 0) {\n IVar56 = objc_stub::deviceRegistryID(param_3);\n IVar26 = IVar20;\n FUN_1000305d0(IVar20,local_7d8,local_788,IVar21,IVar56,local_780);\n bVar2 = (int)IVar26 != 0;\n if (bVar2) {\n objc_stub::length(0x1000ac9a0);\n }\n local_790 = local_6f8;\n local_798 = local_700;\n local_7a0 = local_708;\n local_7a8 = local_730;\n goto LAB_100027410;\n }\n objc_stub::length(0x1000ac960);\n objc_stub::length(0x1000ac980);\n local_790 = local_6f8;\n local_798 = local_700;\n local_7a0 = local_708;\n local_7a8 = local_730;\nLAB_1000274bc:\n FUN_10002fe4c(local_790,local_798,local_7a0,local_7a8);\n }\n FUN_10001c338(local_6f8,local_700,local_708,local_730);\n }\nLAB_100027a54:\n uVar53 = 0;\n uVar45 = 1;\n }\n }\n if ((uVar45 != 0) || (uVar53 != 0)) {\n uVar44 = uVar45 & (uVar53 ^ 1);\n puVar33 = puVar32;\n puVar39 = puVar58;\n local_6f8 = (double)IVar17;\n if (uVar44 == 1) {\n IVar24 = 0;\n FUN_10002d668();\n FUN_10002d668();\n FUN_10002d668();\n FUN_10002d838();\n FUN_10002d668();\n FUN_10002d838();\n }\n else {\n IVar24 = 0;\n }\n if (local_894 == 0) {\n bVar10 = false;\n }\n else {\n IVar25 = objc_stub::count(IVar24);\n IVar26 = objc_stub::count((ID)puVar33);\n IVar56 = objc_stub::count((ID)puVar39);\n IVar34 = objc_stub::count((ID)local_6f8);\n bVar10 = IVar26 + IVar25 + IVar56 + IVar34 != 0;\n }\n if (bVar10 || uVar6 != 0) {\n IVar25 = objc_stub::deviceRegistryID(param_3);\n IVar25 = FxMTLDeviceCache::solidOverlayPipelineStateWithRegistryID_pixelFormat_\n (IVar21,IVar25,local_780);\n bVar2 = false;\n if (IVar25 != 0) {\n bVar2 = bVar10;\n }\n if (bVar2) {\n IVar26 = objc_stub::count(IVar24);\n if (IVar26 == 0) {\n uVar13 = 0;\n }\n else {\n IVar26 = IVar20;\n FUN_1000316bc(IVar20,local_788,IVar24,IVar25);\n uVar13 = (uint)IVar26;\n }\n IVar24 = objc_stub::count((ID)puVar33);\n if (IVar24 != 0) {\n IVar24 = IVar20;\n FUN_100031bd8(dStack_970,local_978,dStack_980,local_988,IVar20,local_788,puVar33\n ,IVar25,0,1);\n uVar13 = uVar13 | (uint)IVar24;\n }\n IVar24 = objc_stub::count((ID)puVar39);\n if (IVar24 != 0) {\n IVar24 = IVar20;\n FUN_100031bd8(dStack_970,local_978,dStack_980,local_988,IVar20,local_788,puVar39\n ,IVar25,0,1);\n uVar13 = uVar13 | (uint)IVar24;\n }\n IVar24 = objc_stub::count((ID)local_6f8);\n if (IVar24 != 0) {\n IVar24 = IVar20;\n FUN_100031bd8(dStack_990,local_998,dStack_9a0,local_9a8,IVar20,local_788,\n local_6f8,IVar25,1,0);\n uVar13 = uVar13 | (uint)IVar24;\n }\n }\n else {\n uVar13 = 0;\n }\n uVar59 = 0;\n if (IVar25 != 0) {\n uVar59 = uVar6;\n }\n if (uVar59 == 1) {\n IVar26 = objc_stub::length(local_7f8);\n IVar24 = local_7f8;\n if ((IVar26 < 0x268) &&\n (IVar26 = objc_stub::length(local_9d8), IVar24 = local_9d8, IVar26 < 0x268)) {\n IVar26 = 0;\n uVar29 = 0;\n }\n else {\n IVar26 = objc_stub::bytes(IVar24);\n IVar24 = objc_stub::length(IVar24);\n uVar29 = IVar24 >> 3;\n }\n IVar24 = IVar20;\n FUN_100032274(IVar20,local_788,IVar26,uVar29,uVar44,IVar25);\n if ((int)IVar24 == 0) goto LAB_100027cd8;\n if (uVar44 != 0) {\n objc_stub::length(0x1000acc20);\n }\n }\n else {\nLAB_100027cd8:\n if (uVar13 == 0) goto LAB_100027ce8;\n }\n objc_stub::length(0x1000acc40);\n }\n }\nLAB_100027ce8:\n if (uVar53 == 0 && uVar45 == 1) {\n IVar24 = objc_stub::width(local_788);\n IVar25 = objc_stub::height(local_788);\n IVar24 = MTLTextureDescriptor::\n texture2DDescriptorWithPixelFormat_width_height_mipmapped_\n ((ID)&_OBJC_CLASS___MTLTextureDescriptor,local_780,IVar24,IVar25,0)\n ;\n MTLTextureDescriptor::setUsage_(IVar24,5);\n MTLTextureDescriptor::setStorageMode_(IVar24,2);\n IVar22 = objc_stub::newTextureWithDescriptor_(IVar22,IVar24);\n IVar24 = objc_stub::deviceRegistryID(param_3);\n IVar24 = FxMTLDeviceCache::pipelineStateWithRegistryID_pixelFormat_\n (IVar21,IVar24,local_780);\n if ((IVar22 != 0) && (IVar24 != 0)) {\n IVar25 = MTLRenderPassDescriptor::renderPassDescriptor\n ((ID)&_OBJC_CLASS___MTLRenderPassDescriptor);\n IVar26 = MTLRenderPassDescriptor::colorAttachments(IVar25);\n IVar26 = MTLRenderPassDescriptor::objectAtIndexedSubscript_(IVar26,0);\n MTLRenderPassDescriptor::setTexture_(IVar26,IVar22);\n IVar26 = MTLRenderPassDescriptor::colorAttachments(IVar25);\n IVar26 = MTLRenderPassDescriptor::objectAtIndexedSubscript_(IVar26,0);\n MTLRenderPassDescriptor::setLoadAction_(IVar26,2);\n IVar26 = MTLRenderPassDescriptor::colorAttachments(IVar25);\n IVar26 = MTLRenderPassDescriptor::objectAtIndexedSubscript_(IVar26,0);\n MTLRenderPassDescriptor::setStoreAction_(IVar26,1);\n IVar26 = MTLRenderPassDescriptor::colorAttachments(IVar25);\n IVar26 = MTLRenderPassDescriptor::objectAtIndexedSubscript_(IVar26,0);\n MTLRenderPassDescriptor::setClearColor_(IVar26,0,0,0,0x3ff0000000000000);\n IVar25 = objc_stub::renderCommandEncoderWithDescriptor_(IVar20,IVar25);\n if (IVar25 != 0) {\n IVar26 = objc_stub::width(local_788);\n IVar56 = objc_stub::height(local_788);\n FUN_1000315fc(local_180,IVar26,IVar56);\n IVar26 = objc_stub::width(local_788);\n IVar56 = objc_stub::height(local_788);\n local_668 = CONCAT44((int)IVar56,(int)IVar26);\n IVar26 = objc_stub::width(local_788);\n IVar56 = objc_stub::height(local_788);\n local_f0 = (long *)(double)IVar26;\n dStack_e8 = (double)IVar56;\n local_100 = 0.0;\n dStack_f8 = 0.0;\n dStack_d8 = 1.0;\n local_e0 = -1.0;\n objc_stub::setViewport_(IVar25,&local_100);\n objc_stub::setRenderPipelineState_(IVar25,IVar24);\n objc_stub::setVertexBytes_length_atIndex_(IVar25,local_180,0x40,0);\n objc_stub::setVertexBytes_length_atIndex_(IVar25,&local_668,8,1);\n objc_stub::setFragmentTexture_atIndex_(IVar25,local_788,0);\n objc_stub::drawPrimitives_vertexStart_vertexCount_(IVar25,4,0,4);\n objc_stub::endEncoding(IVar25);\n IVar24 = objc_stub::blitCommandEncoder(IVar20);\n if (IVar24 != 0) {\n local_100 = 0.0;\n dStack_f8 = 0.0;\n local_f0 = (long *)0x0;\n IVar25 = objc_stub::width(local_788);\n local_678 = objc_stub::height(local_788);\n dStack_658 = dStack_f8;\n local_660 = local_100;\n local_650 = local_f0;\n local_670 = 1;\n dStack_698 = dStack_f8;\n local_6a0 = local_100;\n local_690 = local_f0;\n local_680 = IVar25;\n objc_stub::\n copyFromTexture_sourceSlice_sourceLevel_sourceOrigin_sourceSize_toTexture_destinationSlice_destinationLevel_destinationOrigin_\n (IVar24,IVar22,0,0,&local_660,&local_680,local_788,0,0,&local_6a0);\n objc_stub::endEncoding(IVar24);\n objc_stub::length(0x1000acc60);\n }\n }\n }\n uVar53 = 0;\n }\n }\n objc_stub::length(0x1000acc80);\n objc_stub::commit(IVar20);\n objc_stub::length(0x1000acca0);\n objc_stub::waitUntilCompleted(IVar20);\n objc_stub::length(0x1000accc0);\n objc_stub::GPUStartTime(IVar20);\n if (0.0 < extraout_d0_25) {\n objc_stub::GPUEndTime(IVar20);\n objc_stub::GPUStartTime(IVar20);\n if (extraout_d0_27 <= extraout_d0_26) {\n objc_stub::GPUEndTime(IVar20);\n objc_stub::GPUStartTime(IVar20);\n objc_stub::length(0x1000acce0);\n }\n }\n IVar22 = objc_stub::error(IVar20);\n uVar44 = 0;\n if (IVar22 == 0) {\n uVar44 = uVar45 | uVar53;\n }\n objc_stub::length(local_7f8);\n objc_stub::length(local_7f8);\n objc_stub::error(IVar20);\n objc_stub::count(local_8e0);\n objc_stub::error(IVar20);\n objc_stub::error(IVar20);\n pcVar30 = &cf_output_metal_face_thin;\n if (uVar46 == 0) {\n pcVar30 = &cf_output_metal_texture;\n }\n objc_stub::length((ID)pcVar30);\n if (uVar53 == 0 && uVar46 == 0) {\n IVar20 = objc_stub::deviceRegistryID(param_3);\n FxMTLDeviceCache::pipelineStateWithRegistryID_pixelFormat_(IVar21,IVar20,local_780);\n FUN_1000329ac(&cf_metaloutputcopyfailedpipeline_input___texture___);\n }\n if (uVar45 == 0 && uVar46 == 1) {\n FUN_1000329ac(&cf_metalfacethinoutputfailedpipeline_inputpointData___texture___);\n }\n FxMTLDeviceCache::returnCommandQueueToCache_(IVar21,IVar19);\n }\n if (uVar44 == 0) {\n if (uVar4 != 0) {\n IVar20 = objc_stub::count(local_768);\n IVar19 = local_880;\n if (IVar20 < 2) {\n IVar20 = objc_stub::count(local_8e0);\n if (IVar20 < 0x4d) {\n IVar19 = 0;\n }\n else {\n IVar20 = objc_stub::deviceRegistryID(param_3);\n FUN_10002b8a4(local_8f8,local_880,&AStack_528,local_8e0,IVar21,IVar20);\n if ((IVar19 == local_880) && (2.220446049250313e-16 < (double)AStack_528._104_8_)) {\n IVar19 = local_880;\n FUN_10002c1f8(AStack_528._104_8_,local_8f8,local_880,local_8e0);\n }\n }\n }\n else {\n IVar20 = objc_stub::deviceRegistryID(param_3);\n FUN_10002b4fc(local_8f8,local_880,&AStack_528,local_768,IVar21,IVar20);\n if ((IVar19 == local_880) && (2.220446049250313e-16 < (double)AStack_528._104_8_)) {\n IVar19 = local_880;\n FUN_10002b738(AStack_528._104_8_,local_8f8,local_880,local_768);\n }\n }\n if (IVar19 != 0) {\n local_880 = IVar19;\n }\n objc_stub::length(0x1000acd80);\n }\n if (puVar28 == (undefined8 *)0x0) {\n if (pIVar43 != (ID *)0x0) {\n pcVar30 = &cf_IOSurfaceunavailable;\n FUN_10001fb70();\n *pIVar43 = (ID)pcVar30;\n }\n objc_stub::length(0x1000ac540);\n goto LAB_1000283fc;\n }\n IVar19 = local_880;\n FUN_100032a9c(dStack_8b0,local_8b8,dStack_8c0,local_8c8);\n if ((IVar19 & 1) == 0) {\n objc_stub::extent(local_880);\n _NSStringFromRect();\n _NSStringFromRect(dStack_8b0,local_8b8,dStack_8c0,local_8c8);\n FUN_1000329ac(&cf_renderfallbackbadprocessedextent___renderRect___full__d);\n FUN_100032c18(dStack_8b0,local_8b8,dStack_8c0,local_8c8);\n objc_stub::length(0x1000acde0);\n }\n puVar36 = puVar28;\n _IOSurfaceGetWidth();\n puVar37 = puVar28;\n _IOSurfaceGetHeight(puVar28);\n FUN_10002dc00(dVar86,dVar81,dVar82,dVar87,puVar36,puVar37);\n dVar96 = dVar82;\n dVar97 = dVar87;\n dVar92 = dVar81;\n dVar73 = dVar86;\n if ((int)puVar36 != 0) {\n dVar96 = dVar86;\n _CGRectGetWidth();\n dVar97 = dVar86;\n _CGRectGetHeight(dVar86,dVar81,dVar82,dVar87);\n dVar92 = 0.0;\n dVar73 = 0.0;\n }\n FUN_10002decc(dVar86,dVar81,dVar82,dVar87,dVar73,dVar92,dVar96,dVar97,local_880,puVar36);\n FUN_10002ee0c(dVar73,dVar92,dVar96,dVar97);\n objc_stub::length(0x1000ace00);\n if (local_8cc == 0) {\n IVar19 = 0;\n }\n else {\n IVar19 = objc_stub::count(local_768);\n if (IVar19 == 0) {\n IVar20 = objc_stub::count(local_8e0);\n IVar19 = local_8e0;\n if ((IVar20 < 0x4d) &&\n (IVar20 = objc_stub::count(local_7b0,local_8e0), IVar19 = local_7b0, IVar20 < 0x4d)\n ) {\n IVar19 = 0;\n }\n else {\n IVar19 = NSMutableArray::arrayWithObject_((ID)&_OBJC_CLASS___NSMutableArray,IVar19);\n }\n }\n else {\n IVar19 = objc_stub::count(local_768);\n IVar19 = NSMutableArray::arrayWithCapacity_((ID)&_OBJC_CLASS___NSMutableArray,IVar19);\n uStack_6b8 = 0;\n local_6c0 = 0;\n uStack_6a8 = 0;\n uStack_6b0 = 0;\n lStack_6d8 = 0;\n local_6e0 = 0;\n uStack_6c8 = 0;\n local_6d0 = (long *)0x0;\n IVar20 = objc_stub::countByEnumeratingWithState_objects_count_\n (local_768,&local_6e0,auStack_3b0,0x10);\n if (IVar20 != 0) {\n lVar60 = *local_6d0;\n do {\n IVar21 = 0;\n do {\n if (*local_6d0 != lVar60) {\n _objc_enumerationMutation(local_768);\n }\n IVar24 = *(ID *)(lStack_6d8 + IVar21 * 8);\n IVar22 = objc_stub::count(IVar24);\n if (0x4c < IVar22) {\n NSMutableArray::addObject_(IVar19,IVar24);\n }\n IVar21 = IVar21 + 1;\n } while (IVar20 != IVar21);\n IVar20 = objc_stub::countByEnumeratingWithState_objects_count_\n (local_768,&local_6e0,auStack_3b0,0x10);\n } while (IVar20 != 0);\n }\n }\n objc_stub::length(0x1000ace20);\n }\n if (local_894 != 0) {\n IVar20 = objc_stub::count(0);\n if (IVar20 != 0) {\n puVar37 = puVar36;\n FUN_10002e6ec(dVar86,dVar81,dVar82,dVar87,dVar73,dVar92,dVar96,dVar97);\n if (puVar37 != (undefined8 *)0x0) {\n IVar20 = objc_stub::imageByCompositingOverImage_((ID)puVar37,local_880);\n IVar20 = objc_stub::imageByCroppingToRect_(IVar20,dVar73,dVar92,dVar96,dVar97);\n if (IVar20 != 0) {\n local_880 = IVar20;\n }\n }\n objc_stub::length(0x1000ace40);\n }\n IVar20 = objc_stub::count((ID)puVar32);\n if (IVar20 != 0) {\n puVar37 = puVar36;\n FUN_10002df98(dVar86,dVar81,dVar82,dVar87,dVar73,dVar92,dVar96,dVar97,puVar36,puVar32,\n 0,1);\n if (puVar37 != (undefined8 *)0x0) {\n IVar20 = objc_stub::imageByCompositingOverImage_((ID)puVar37,local_880);\n IVar20 = objc_stub::imageByCroppingToRect_(IVar20,dVar73,dVar92,dVar96,dVar97);\n if (IVar20 != 0) {\n local_880 = IVar20;\n }\n }\n objc_stub::length(0x1000ace60);\n }\n IVar20 = objc_stub::count((ID)puVar58);\n if (IVar20 != 0) {\n puVar37 = puVar36;\n FUN_10002df98(dVar86,dVar81,dVar82,dVar87,dVar73,dVar92,dVar96,dVar97,puVar36,puVar58,\n 0,1);\n if (puVar37 != (undefined8 *)0x0) {\n IVar20 = objc_stub::imageByCompositingOverImage_((ID)puVar37,local_880);\n IVar20 = objc_stub::imageByCroppingToRect_(IVar20,dVar73,dVar92,dVar96,dVar97);\n if (IVar20 != 0) {\n local_880 = IVar20;\n }\n }\n objc_stub::length(0x1000ace80);\n }\n IVar20 = objc_stub::count(IVar17);\n if (IVar20 != 0) {\n puVar37 = puVar36;\n FUN_10002df98(dVar86,dVar81,dVar82,dVar87,dVar73,dVar92,dVar96,dVar97,puVar36,IVar17,1\n ,0);\n if (puVar37 != (undefined8 *)0x0) {\n IVar17 = objc_stub::imageByCompositingOverImage_((ID)puVar37,local_880);\n IVar17 = objc_stub::imageByCroppingToRect_(IVar17,dVar73,dVar92,dVar96,dVar97);\n if (IVar17 != 0) {\n local_880 = IVar17;\n }\n }\n objc_stub::length(0x1000acea0);\n }\n }\n if ((local_8cc != 0) && (IVar17 = objc_stub::count(IVar19), IVar17 != 0)) {\n puVar37 = puVar36;\n FUN_100032da8(dVar86,dVar81,dVar82,dVar87,dVar73,dVar92,dVar96,dVar97,puVar36,IVar19);\n objc_stub::count(IVar19);\n FUN_10001c338(dVar86,dVar81,dVar82,dVar87);\n FUN_10001c338(dVar73,dVar92,dVar96,dVar97);\n if (puVar37 != (undefined8 *)0x0) {\n IVar17 = objc_stub::imageByCompositingOverImage_((ID)puVar37,local_880);\n IVar17 = objc_stub::imageByCroppingToRect_(IVar17,dVar73,dVar92,dVar96,dVar97);\n if (IVar17 != 0) {\n local_880 = IVar17;\n }\n }\n objc_stub::length(0x1000acec0);\n }\n IVar17 = local_880;\n FUN_100032a9c(dVar73,dVar92,dVar96,dVar97);\n if ((IVar17 & 1) == 0) {\n objc_stub::extent(local_880);\n _NSStringFromRect();\n _NSStringFromRect(dVar73,dVar92,dVar96,dVar97);\n FUN_1000329ac(&cf_renderfallbackbadtileextent___output___);\n FUN_100032c18(dVar73,dVar92,dVar96,dVar97);\n }\n objc_stub::length(0x1000acf00);\n FUN_10002ed00(dVar73,dVar92,dVar96,dVar97);\n objc_stub::length(0x1000acf20);\n if (IVar18 == 0) {\n IVar18 = 0;\n }\n else {\n FUN_10002decc(dVar86,dVar81,dVar82,dVar87,dVar73,dVar92,dVar96,dVar97,IVar18,puVar36);\n FUN_10002ee0c(dVar73,dVar92,dVar96,dVar97);\n FUN_10002ed00(dVar73,dVar92,dVar96,dVar97);\n }\n objc_stub::length(0x1000acf40);\n objc_stub::length(0x1000acf60);\n _NSStringFromRect(dVar73,dVar92,dVar96,dVar97);\n objc_stub::extent(local_880);\n _NSStringFromRect();\n IVar17 = local_880;\n FUN_1000334b8(dVar73,dVar92,dVar96,dVar97,local_880,IVar16,puVar28,local_888);\n objc_stub::length(0x1000acf80);\n if ((IVar17 & 1) == 0) {\n FUN_10003358c(dVar73,dVar92,dVar96,dVar97,local_880,IVar16,puVar28,local_888);\n objc_stub::length(0x1000acfa0);\n if (IVar18 != 0 && (local_880 & 1) == 0) {\n _NSStringFromRect(dVar73,dVar92,dVar96,dVar97);\n FUN_1000329ac(&cf_renderfallbackwritinginputtileoutput___);\n IVar17 = IVar18;\n FUN_1000334b8(dVar73,dVar92,dVar96,dVar97,IVar18,IVar16,puVar28,local_888);\n objc_stub::length(0x1000acfe0);\n if ((IVar17 & 1) != 0) goto LAB_1000288d0;\n FUN_10003358c(dVar73,dVar92,dVar96,dVar97,IVar18,IVar16,puVar28,local_888);\n objc_stub::length(0x1000ad000);\n local_880 = IVar18;\n }\n if ((local_880 & 1) == 0) {\n _NSStringFromRect(dVar73,dVar92,dVar96,dVar97);\n FUN_1000329ac(&cf_renderfallbackfillingblackoutput___);\n puVar37 = puVar28;\n _IOSurfaceGetWidth();\n puVar36 = puVar28;\n _IOSurfaceGetHeight();\n puVar40 = puVar28;\n _IOSurfaceGetBytesPerRow();\n puVar51 = puVar28;\n _IOSurfaceGetPixelFormat();\n if ((((puVar37 != (undefined8 *)0x0) && (puVar36 != (undefined8 *)0x0)) &&\n (puVar40 != (undefined8 *)0x0)) &&\n (puVar41 = puVar28, _IOSurfaceLock(puVar28,0,0), (int)puVar41 == 0)) {\n puVar41 = puVar28;\n _IOSurfaceGetBaseAddress();\n if (puVar41 != (undefined8 *)0x0) {\n iVar14 = (int)puVar51;\n if (iVar14 == 0x42475241) {\n do {\n _memset_pattern16(puVar41,&DAT_100086050,(long)puVar37 << 2);\n puVar41 = (undefined8 *)((long)puVar41 + (long)puVar40);\n puVar36 = (undefined8 *)((long)puVar36 + -1);\n } while (puVar36 != (undefined8 *)0x0);\n }\n else if (iVar14 == 0x52476841) {\n puVar51 = (undefined8 *)0x0;\n puVar52 = puVar37;\n puVar57 = puVar41;\n do {\n do {\n *puVar41 = 0x3c00000000000000;\n puVar52 = (undefined8 *)((long)puVar52 + -1);\n puVar41 = puVar41 + 1;\n } while (puVar52 != (undefined8 *)0x0);\n puVar51 = (undefined8 *)((long)puVar51 + 1);\n puVar41 = (undefined8 *)((long)puVar57 + (long)puVar40);\n puVar52 = puVar37;\n puVar57 = puVar41;\n } while (puVar51 != puVar36);\n }\n else if (iVar14 == 0x52476641) {\n puVar51 = (undefined8 *)0x0;\n puVar52 = puVar37;\n puVar57 = puVar41;\n do {\n do {\n puVar41[1] = 0x3f80000000000000;\n *puVar41 = 0;\n puVar52 = (undefined8 *)((long)puVar52 + -1);\n puVar41 = puVar41 + 2;\n } while (puVar52 != (undefined8 *)0x0);\n puVar51 = (undefined8 *)((long)puVar51 + 1);\n puVar41 = (undefined8 *)((long)puVar57 + (long)puVar40);\n puVar52 = puVar37;\n puVar57 = puVar41;\n } while (puVar51 != puVar36);\n }\n else {\n _bzero(puVar41,(long)puVar40 * (long)puVar36);\n }\n }\n _IOSurfaceUnlock(puVar28,0,0);\n }\n }\n }\nLAB_1000288d0:\n objc_stub::length(0x1000ad040);\n }\n objc_stub::length(0x1000ac540);\n objc_stub::count(local_8e0);\n bVar11 = 1;\n goto LAB_1000288f4;\n }\n if (pIVar43 != (ID *)0x0) {\n pcVar30 = &cf_UnabletocreateCIContext;\n FUN_10001fb70();\n *pIVar43 = (ID)pcVar30;\n }\n objc_stub::length(0x1000ac540);\n }\n }\nLAB_1000283fc:\n bVar11 = 0;\nLAB_1000288f4:\n if (*(long *)PTR____stack_chk_guard_1000a80e8 != local_b8) {\n /* WARNING: Subroutine does not return */\n ___stack_chk_fail();\n }\n return bVar11;\n}\n\n", "operation": "procedure_pseudo_code", "parameters": { "procedure": "0x10002179c" }, "predicate_type": "rea.analysis", "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" }, "raw_result": { "limitations": [ "Ghidra Listing reports a terminal call at 0x100028c6c to 0x10007aca0 ___stack_chk_fail (external=false, thunk=true, hasNoReturn=true); fallthrough is excluded by Ghidra's flow model. This records Ghidra's FunctionManager flag, not an independent verification that the callee cannot return." ], "value": "\n/* WARNING: Function: _objc_release replaced with injection: _objc_release_fixup */\n/* WARNING: Function: _objc_retain replaced with injection: _objc_retain_fixup */\n/* WARNING: Function: _objc_autorelease replaced with injection: _objc_retain_fixup */\n/* Function Stack Size: 0x48 bytes */\n\nbool MSSuperSkinSmoothingPlugIn::renderDestinationImage_sourceImages_pluginState_atTime_error_\n (ID param_1,SEL param_2,ID param_3,ID param_4,ID param_5,AnonymousStructure0 param_6,\n ID *param_7)\n\n{\n unsigned_long_long uVar1;\n bool bVar2;\n bool bVar3;\n uint uVar4;\n __IOSurface *p_Var5;\n uint uVar6;\n CGRect CVar7;\n byte bVar8;\n char cVar9;\n bool bVar10;\n bool bVar11;\n int iVar12;\n uint uVar13;\n int iVar14;\n int iVar15;\n ID IVar16;\n ID IVar17;\n ID IVar18;\n ID IVar19;\n ID IVar20;\n ID IVar21;\n ID IVar22;\n undefined1 *puVar23;\n ID IVar24;\n ID IVar25;\n ID IVar26;\n __IOSurface *p_Var27;\n undefined8 *puVar28;\n ulong uVar29;\n cfstringStruct *pcVar30;\n byte *pbVar31;\n undefined *puVar32;\n undefined *puVar33;\n ID IVar34;\n ID IVar35;\n undefined8 *puVar36;\n undefined8 *puVar37;\n ID IVar38;\n undefined *puVar39;\n undefined8 *puVar40;\n undefined8 *puVar41;\n undefined8 extraout_x1;\n undefined8 extraout_x1_00;\n undefined8 extraout_x1_01;\n undefined8 extraout_x1_02;\n double *pdVar42;\n ID *pIVar43;\n uint uVar44;\n uint uVar45;\n uint uVar46;\n uint uVar47;\n undefined4 uVar48;\n long *plVar49;\n ulong uVar50;\n undefined8 *puVar51;\n undefined8 *puVar52;\n uint uVar53;\n long lVar54;\n double dVar55;\n ID IVar56;\n undefined8 *puVar57;\n undefined *puVar58;\n uint uVar59;\n long lVar60;\n byte bVar61;\n float fVar62;\n double extraout_d0;\n double extraout_d0_00;\n double extraout_d0_01;\n double extraout_d0_02;\n double extraout_d0_03;\n double extraout_d0_04;\n double dVar63;\n double dVar64;\n double dVar65;\n double extraout_d0_05;\n double extraout_d0_06;\n double extraout_d0_07;\n double extraout_d0_08;\n double extraout_d0_09;\n double dVar66;\n undefined8 extraout_d0_10;\n double extraout_d0_11;\n double extraout_d0_12;\n ulong extraout_d0_13;\n ulong extraout_d0_14;\n double extraout_d0_15;\n double extraout_d0_16;\n double extraout_d0_17;\n double extraout_d0_18;\n double extraout_d0_19;\n double extraout_d0_20;\n double extraout_d0_21;\n double extraout_d0_22;\n double dVar67;\n double dVar68;\n double dVar69;\n double extraout_d0_23;\n undefined8 extraout_d0_24;\n undefined8 uVar70;\n undefined8 uVar71;\n undefined8 uVar72;\n double extraout_d0_25;\n double extraout_d0_26;\n double extraout_d0_27;\n double dVar73;\n double dVar74;\n double dVar75;\n double dVar76;\n double dVar77;\n double dVar78;\n double dVar79;\n double dVar80;\n double dVar81;\n double dVar82;\n double dVar83;\n double dVar84;\n double dVar85;\n double dVar86;\n double dVar87;\n double dVar88;\n double dVar89;\n double dVar90;\n double dVar91;\n double dVar92;\n double dVar93;\n double dVar94;\n long *plVar95;\n double dVar96;\n double dVar97;\n double dVar98;\n double dVar99;\n CGRect CVar100;\n CGRect CVar101;\n CGRect CVar102;\n CGRect CVar103;\n CGRect CVar104;\n undefined4 uVar105;\n ID local_9d8;\n undefined8 local_9d0;\n undefined8 local_9c0;\n ID local_9b0;\n double local_9a8;\n double dStack_9a0;\n double local_998;\n double dStack_990;\n double local_988;\n double dStack_980;\n double local_978;\n double dStack_970;\n double local_8f8;\n ID local_8e0;\n ID local_8d8;\n uint local_8cc;\n double local_8c8;\n double dStack_8c0;\n double local_8b8;\n double dStack_8b0;\n ID local_8a0;\n uint local_894;\n undefined *local_890;\n ID local_888;\n ID local_880;\n double local_838;\n double local_830;\n double local_820;\n double local_808;\n ID local_7f8;\n ID local_7e8;\n ID local_7d8;\n double local_7d0;\n double local_7c8;\n double local_7c0;\n double local_7b8;\n ID local_7b0;\n double local_7a8;\n double local_7a0;\n double local_798;\n double local_790;\n ID local_788;\n ID local_780;\n ID local_768;\n double local_730;\n double local_708;\n double local_700;\n double local_6f8;\n undefined8 local_6e0;\n long lStack_6d8;\n long *local_6d0;\n undefined8 uStack_6c8;\n undefined8 local_6c0;\n undefined8 uStack_6b8;\n undefined8 uStack_6b0;\n undefined8 uStack_6a8;\n double local_6a0;\n double dStack_698;\n long *local_690;\n ID local_680;\n ID local_678;\n undefined8 local_670;\n undefined8 local_668;\n double local_660;\n double dStack_658;\n long *local_650;\n double dStack_648;\n double local_640;\n ulong local_638;\n undefined8 local_630;\n long lStack_628;\n long *local_620;\n undefined8 uStack_618;\n undefined8 local_610;\n undefined8 uStack_608;\n undefined8 local_600;\n undefined8 uStack_5f8;\n undefined8 local_5f0;\n long lStack_5e8;\n long *local_5e0;\n undefined8 uStack_5d8;\n undefined8 local_5d0;\n undefined8 uStack_5c8;\n undefined8 local_5c0;\n undefined8 uStack_5b8;\n undefined8 local_5b0;\n long lStack_5a8;\n long *local_5a0;\n undefined8 uStack_598;\n undefined8 local_590;\n undefined8 uStack_588;\n undefined8 local_580;\n undefined8 uStack_578;\n byte local_561;\n CGRect local_560;\n double local_538;\n ID local_530;\n AnonymousStructure7 AStack_528;\n byte local_3b8;\n byte local_3b7;\n byte local_3b6;\n undefined1 auStack_3b0 [128];\n undefined1 auStack_330 [128];\n undefined1 auStack_2b0 [128];\n undefined1 auStack_230 [128];\n undefined8 local_1b0;\n ID local_1a8;\n undefined8 local_1a0;\n ID local_198;\n undefined8 local_190;\n ID local_188;\n undefined1 local_180 [16];\n long *local_170;\n double dStack_168;\n double local_160;\n double dStack_158;\n double local_100;\n double dStack_f8;\n long *local_f0;\n double dStack_e8;\n double local_e0;\n double dStack_d8;\n undefined8 uStack_d0;\n undefined8 uStack_c8;\n long local_b8;\n \n pIVar43 = param_6._8_8_;\n pdVar42 = (double *)param_6.field0_0x0;\n local_b8 = *(long *)PTR____stack_chk_guard_1000a80e8;\n uVar1 = DAT_1000bdd88 + 1;\n DAT_1000bdd88 = uVar1;\n objc_stub::count(param_4);\n objc_stub::length(param_5);\n objc_stub::count(param_4);\n objc_stub::length(param_5);\n objc_stub::count(param_4);\n objc_stub::length(param_5);\n IVar16 = objc_stub::count(param_4);\n if (IVar16 == 0) {\n if (pIVar43 != (ID *)0x0) {\n pcVar30 = &cf_Nosourceimageprovided;\n FUN_10001fb70();\n *pIVar43 = (ID)pcVar30;\n }\n objc_stub::length(0x1000ac540);\n }\n else {\n local_180._8_8_ = pdVar42[1];\n local_180._0_8_ = *pdVar42;\n local_170 = (long *)pdVar42[2];\n bVar11 = populateParams_atTime_error_\n (param_1,&AStack_528,(AnonymousStructure0 *)local_180,pIVar43);\n if ((bVar11 & 1) == 0) {\n IVar16 = param_5;\n FUN_10002140c(param_5,&AStack_528);\n if ((int)IVar16 == 0) {\n objc_stub::length(param_5);\n objc_stub::length(0x1000ac540);\n goto LAB_1000283fc;\n }\n IVar16 = objc_stub::apiForProtocol_\n (*(ID *)(param_1 + 8),&objc::protocol_t::FxParameterRetrievalAPI_v6);\n local_180._8_8_ = pdVar42[1];\n local_180._0_8_ = *pdVar42;\n local_170 = (long *)pdVar42[2];\n IVar17 = controlPanelValueForPluginAtTime_(param_1,(AnonymousStructure0 *)local_180);\n if (IVar17 == 0) {\nLAB_100021a54:\n local_180._8_8_ = pdVar42[1];\n local_180._0_8_ = *pdVar42;\n local_170 = (long *)pdVar42[2];\n dVar97 = *(double *)(PTR__kCMTimeZero_1000a8218 + 8);\n dVar96 = *(double *)PTR__kCMTimeZero_1000a8218;\n plVar95 = *(long **)(PTR__kCMTimeZero_1000a8218 + 0x10);\n puVar23 = local_180;\n local_100 = dVar96;\n dStack_f8 = dVar97;\n local_f0 = plVar95;\n _CMTimeCompare(puVar23,&local_100);\n if ((int)puVar23 != 0) {\n local_180._0_8_ = dVar96;\n local_180._8_8_ = dVar97;\n local_170 = plVar95;\n IVar17 = controlPanelValueForPluginAtTime_(param_1,(AnonymousStructure0 *)local_180);\n }\n if (IVar17 != 0) goto LAB_100021ab4;\nLAB_100021adc:\n local_180._8_8_ = pdVar42[1];\n local_180._0_8_ = *pdVar42;\n local_170 = (long *)pdVar42[2];\n mss_applyLivePanelStateToParams_atTime_\n (param_1,&AStack_528,(AnonymousStructure0 *)local_180);\n local_180._8_8_ = pdVar42[1];\n local_180._0_8_ = *pdVar42;\n local_170 = (long *)pdVar42[2];\n FUN_100028e74(IVar16,&AStack_528,local_180);\n if ((local_3b6 & 1) == 0) {\n iVar14 = (int)&AStack_528;\n FUN_10002951c();\n if (iVar14 != 0) {\n local_3b6 = 1;\n }\n }\n }\n else {\n IVar18 = objc_stub::hasCommittedState(IVar17);\n if ((IVar18 & 1) == 0) {\n MSSSectionCardParameterValue::defaultValue\n ((ID)&objc::class_t::MSSSectionCardParameterValue);\n IVar18 = IVar17;\n func_0x000100085c38();\n if ((int)IVar18 != 0) goto LAB_100021a54;\n }\nLAB_100021ab4:\n IVar18 = objc_stub::hasCommittedState(IVar17);\n if ((IVar18 & 1) == 0) {\n MSSSectionCardParameterValue::defaultValue\n ((ID)&objc::class_t::MSSSectionCardParameterValue);\n IVar18 = IVar17;\n func_0x000100085c38();\n if ((int)IVar18 != 0) goto LAB_100021adc;\n }\n local_180._8_8_ = pdVar42[1];\n local_180._0_8_ = *pdVar42;\n local_170 = (long *)pdVar42[2];\n mss_applyLivePanelStateToParams_atTime_\n (param_1,&AStack_528,(AnonymousStructure0 *)local_180);\n FUN_100028cdc(&AStack_528,IVar17);\n }\n if ((local_3b8 & 1) == 0) {\n AStack_528.field1_0x8 = 0.0;\n AStack_528.field7_0x38 = 0.0;\n AStack_528.field8_0x40._0_1_ = '\\0';\n AStack_528._80_8_ = 0;\n AStack_528._72_8_ = 0x3ff0000000000000;\n AStack_528._192_8_ = 0.0;\n }\n if ((local_3b7 & 1) == 0) {\n AStack_528.field3_0x18 = 0.0;\n AStack_528.field2_0x10 = 0.0;\n AStack_528.field5_0x28 = 0;\n AStack_528.field4_0x20 = 0.0;\n AStack_528._96_8_ = 0;\n AStack_528.field6_0x30 = 0.0;\n AStack_528._88_8_ = 0.0;\n }\n if ((local_3b6 & 1) == 0) {\n AStack_528._176_8_ = 0;\n AStack_528._168_8_ = 0.0;\n AStack_528._160_8_ = 0.0;\n AStack_528._152_8_ = 0.0;\n AStack_528._144_8_ = 0.0;\n AStack_528._136_8_ = 0.0;\n AStack_528._128_8_ = 0.0;\n AStack_528._120_8_ = 0.0;\n AStack_528._112_8_ = 0.0;\n AStack_528._104_8_ = 0.0;\n }\n }\n IVar16 = objc_stub::objectAtIndex_(param_4,0);\n local_790 = (double)objc_stub::colorSpace(IVar16);\n if ((local_790 == 0.0) && (local_790 = (double)objc_stub::colorSpace(param_3), local_790 == 0.0)\n ) {\n if (DAT_1000bdf18 != -1) {\n FUN_100079628();\n }\n local_790 = (double)DAT_1000bdf10;\n }\n local_888 = objc_stub::colorSpace(param_3);\n if ((local_888 == 0) && (local_888 = (ID)local_790, local_790 == 0.0)) {\n if (DAT_1000bdf18 != -1) {\n FUN_100079628();\n }\n local_888 = DAT_1000bdf10;\n }\n IVar17 = objc_stub::tilePixelBounds(param_3);\n IVar18 = objc_stub::imagePixelBounds(IVar16);\n IVar19 = objc_stub::tilePixelBounds(IVar16);\n IVar20 = objc_stub::imagePixelBounds(param_3);\n IVar21 = objc_stub::inversePixelTransform(IVar16);\n IVar22 = objc_stub::pixelTransform(param_3);\n dVar96 = *(double *)PTR__CGPointZero_1000a8140;\n dVar97 = *(double *)(PTR__CGPointZero_1000a8140 + 8);\n if (IVar21 == 0) {\n dVar92 = 1.0;\n dVar73 = 0.0;\n dVar94 = 0.0;\n dVar74 = 1.0;\n }\n else {\n objc_stub::transform2DPoint_(IVar21,dVar96);\n dVar73 = 0.0;\n objc_stub::transform2DPoint_(IVar21,0x3ff0000000000000);\n dVar74 = 1.0;\n objc_stub::transform2DPoint_(IVar21,0);\n dVar96 = extraout_d0;\n dVar92 = extraout_d0_00;\n dVar94 = extraout_d0_01;\n }\n if (IVar22 != 0) {\n objc_stub::transform2DPoint_(IVar22,dVar96);\n objc_stub::transform2DPoint_(IVar22,dVar92);\n objc_stub::transform2DPoint_(IVar22,dVar94);\n dVar92 = extraout_d0_03;\n dVar94 = extraout_d0_04;\n dVar96 = extraout_d0_02;\n }\n if (((((ulong)ABS(dVar96) < 0x7ff0000000000000) && ((ulong)ABS(dVar97) < 0x7ff0000000000000)) &&\n ((ulong)ABS(dVar92) < 0x7ff0000000000000)) &&\n ((((ulong)ABS(dVar73) < 0x7ff0000000000000 && ((ulong)ABS(dVar94) < 0x7ff0000000000000)) &&\n ((ulong)ABS(dVar74) < 0x7ff0000000000000)))) {\n dVar92 = dVar92 - dVar96;\n dVar73 = dVar73 - dVar97;\n plVar95 = (long *)(dVar94 - dVar96);\n dVar74 = dVar74 - dVar97;\n }\n else {\n dVar92 = *(double *)PTR__CGAffineTransformIdentity_1000a8138;\n dVar73 = *(double *)(PTR__CGAffineTransformIdentity_1000a8138 + 8);\n plVar95 = *(long **)(PTR__CGAffineTransformIdentity_1000a8138 + 0x10);\n dVar74 = *(double *)(PTR__CGAffineTransformIdentity_1000a8138 + 0x18);\n dVar96 = *(double *)(PTR__CGAffineTransformIdentity_1000a8138 + 0x20);\n dVar97 = *(double *)(PTR__CGAffineTransformIdentity_1000a8138 + 0x28);\n }\n iVar14 = (int)local_180;\n local_180._0_8_ = dVar92;\n local_180._8_8_ = dVar73;\n local_170 = plVar95;\n dStack_168 = dVar74;\n local_160 = dVar96;\n dStack_158 = dVar97;\n FUN_1000295e4();\n if (iVar14 == 0) {\n bVar8 = 0;\n }\n else {\n bVar10 = false;\n if (((ABS(dVar92 + -1.0) < 0.0001) && (ABS(dVar73) < 0.0001)) &&\n ((ABS((double)plVar95) < 0.0001 &&\n ((bVar10 = false, ABS(dVar74 + -1.0) < 0.0001 && (ABS(dVar96) < 0.0001)))))) {\n bVar10 = ABS(dVar97) < 0.0001;\n }\n bVar8 = bVar10 ^ 1;\n }\n IVar21 = FxMTLDeviceCache::deviceCache((ID)&objc::class_t::FxMTLDeviceCache);\n IVar22 = objc_stub::deviceRegistryID(param_3);\n IVar22 = FxMTLDeviceCache::deviceWithRegistryID_(IVar21,IVar22);\n if (IVar22 == 0) {\n local_7d8 = 0;\n local_788 = 0;\n }\n else {\n local_7d8 = objc_stub::metalTextureForDevice_(IVar16);\n local_788 = objc_stub::metalTextureForDevice_(param_3,IVar22);\n }\n objc_stub::name(IVar22);\n objc_stub::ioSurface(param_3);\n FUN_100019774();\n iVar14 = (int)&AStack_528;\n FUN_10002156c();\n if ((local_3b6 == 1) && (FUN_1000500b0(), iVar14 != 0)) {\n if ((((2.220446049250313e-16 < ABS((double)AStack_528._104_8_)) ||\n (2.220446049250313e-16 < ABS((double)AStack_528._112_8_))) ||\n (2.220446049250313e-16 < ABS((double)AStack_528._120_8_))) ||\n (((2.220446049250313e-16 < ABS((double)AStack_528._128_8_) ||\n (2.220446049250313e-16 < ABS((double)AStack_528._136_8_))) ||\n ((2.220446049250313e-16 < ABS((double)AStack_528._144_8_) ||\n ((2.220446049250313e-16 < ABS((double)AStack_528._152_8_) ||\n (2.220446049250313e-16 < ABS((double)AStack_528._160_8_))))))))) {\n uVar46 = 1;\n }\n else {\n uVar46 = (uint)(2.220446049250313e-16 < ABS((double)AStack_528._168_8_));\n }\n }\n else {\n uVar46 = 0;\n }\n IVar24 = NSUserDefaults::standardUserDefaults((ID)&_OBJC_CLASS___NSUserDefaults);\n IVar25 = NSUserDefaults::objectForKey_(IVar24,&cf_MSE18GlobalFaceBoxPreviewEnabled);\n if (IVar25 == 0) {\n local_894 = 0;\n }\n else {\n IVar24 = NSUserDefaults::boolForKey_(IVar24,&cf_MSE18GlobalFaceBoxPreviewEnabled);\n local_894 = (uint)IVar24;\n }\n IVar24 = NSUserDefaults::standardUserDefaults((ID)&_OBJC_CLASS___NSUserDefaults);\n IVar25 = NSUserDefaults::objectForKey_(IVar24,&cf_MSE18GlobalFacePointPreviewEnabled);\n if (IVar25 == 0) {\n local_8cc = 0;\n }\n else {\n IVar24 = NSUserDefaults::boolForKey_(IVar24,&cf_MSE18GlobalFacePointPreviewEnabled);\n local_8cc = (uint)IVar24;\n }\n if (((double)AStack_528._200_8_ <= 2.220446049250313e-16) ||\n ((char)AStack_528.field8_0x40 != '\\x01')) {\n uVar44 = 0;\n }\n else if (AStack_528.field7_0x38 <= 2.220446049250313e-16) {\n uVar44 = (uint)(2.220446049250313e-16 < (double)AStack_528._192_8_);\n }\n else {\n uVar44 = 1;\n }\n uVar45 = 0;\n if (2.220446049250313e-16 < (double)AStack_528._88_8_) {\n uVar45 = (uint)(2.220446049250313e-16 < (double)AStack_528._200_8_);\n }\n IVar25 = NSUserDefaults::standardUserDefaults((ID)&_OBJC_CLASS___NSUserDefaults);\n IVar26 = NSUserDefaults::objectForKey_(IVar25,&cf_MSE18GlobalFaceBoxPreviewEnabled);\n IVar24 = 0;\n if (IVar26 != 0) {\n IVar24 = NSUserDefaults::boolForKey_(IVar25,&cf_MSE18GlobalFaceBoxPreviewEnabled);\n }\n iVar14 = (int)extraout_x1_01 - (int)IVar19;\n iVar12 = (int)(IVar19 >> 0x20);\n iVar15 = (int)((ulong)extraout_x1_01 >> 0x20) - iVar12;\n CVar102.field0_0x0.field0_0x0 = (double)(int)IVar19;\n CVar102.field0_0x0.field1_0x8 = (double)iVar12;\n CVar102.field1_0x10.field0_0x0 = (double)iVar14;\n CVar102.field1_0x10.field1_0x8 = (double)iVar15;\n dVar66 = CVar102.field1_0x10.field0_0x0;\n dVar79 = CVar102.field1_0x10.field1_0x8;\n FUN_100021624();\n iVar12 = (int)(IVar18 >> 0x20);\n CVar100.field0_0x0.field0_0x0 = (double)(int)IVar18;\n dVar63 = (double)iVar12;\n dVar64 = (double)((int)extraout_x1_00 - (int)IVar18);\n dVar65 = (double)((int)((ulong)extraout_x1_00 >> 0x20) - iVar12);\n iVar12 = (int)IVar24;\n dVar94 = CVar102.field1_0x10.field0_0x0;\n local_8c8 = CVar102.field1_0x10.field1_0x8;\n dStack_8c0 = CVar102.field1_0x10.field0_0x0;\n local_8b8 = CVar102.field0_0x0.field1_0x8;\n dStack_8b0 = CVar102.field0_0x0.field0_0x0;\n if (((IVar24 & 1) == 0) &&\n (dVar79 = CVar102.field1_0x10.field1_0x8,\n FUN_100021624(CVar102.field0_0x0.field0_0x0,CVar102.field0_0x0.field1_0x8,\n CVar102.field1_0x10.field0_0x0), dVar94 = CVar102.field1_0x10.field1_0x8,\n dVar66 = CVar102.field1_0x10.field0_0x0, local_8c8 = CVar102.field1_0x10.field1_0x8,\n dStack_8c0 = CVar102.field1_0x10.field0_0x0, local_8b8 = CVar102.field0_0x0.field1_0x8,\n iVar12 == 0)) {\n dVar66 = dVar64;\n local_8c8 = dVar65;\n dStack_8c0 = dVar64;\n local_8b8 = dVar63;\n dStack_8b0 = CVar100.field0_0x0.field0_0x0;\n }\n p_Var27 = (__IOSurface *)objc_stub::ioSurface(IVar16);\n puVar28 = (undefined8 *)objc_stub::ioSurface(param_3);\n if (local_7d8 == 0) {\n local_768 = 0;\nLAB_10002218c:\n if (p_Var27 != (__IOSurface *)0x0) {\n _IOSurfaceLock(p_Var27,1,0);\n local_1a0 = *(undefined8 *)PTR__kCIImageColorSpace_1000a81c8;\n local_198 = (ID)local_790;\n IVar18 = NSDictionary::dictionaryWithObjects_forKeys_count_\n ((ID)&_OBJC_CLASS___NSDictionary,&local_198,&local_1a0,1);\n local_768 = CIImage::imageWithIOSurface_options_((ID)&_OBJC_CLASS___CIImage,p_Var27,IVar18);\n _IOSurfaceUnlock(p_Var27,1,0);\n }\n }\n else {\n local_190 = *(undefined8 *)PTR__kCIImageColorSpace_1000a81c8;\n local_188 = (ID)local_790;\n IVar18 = NSDictionary::dictionaryWithObjects_forKeys_count_\n ((ID)&_OBJC_CLASS___NSDictionary,&local_188,&local_190,1);\n local_768 = CIImage::imageWithMTLTexture_options_((ID)&_OBJC_CLASS___CIImage,local_7d8,IVar18)\n ;\n if (local_768 == 0) goto LAB_10002218c;\n }\n if (local_768 == 0) {\n if (pIVar43 != (ID *)0x0) {\n pcVar30 = &cf_UnabletowrapsourceIOSurfaceasCIImage;\n FUN_10001fb70();\n *pIVar43 = (ID)pcVar30;\n }\n objc_stub::length(0x1000ac540);\n }\n else {\n uVar29 = CIImage::extent(local_768);\n local_7c0 = extraout_d0_05;\n _CGRectGetWidth(extraout_d0_05,dVar94,dVar66,dVar79);\n local_7b8 = extraout_d0_05;\n _CGRectGetHeight(extraout_d0_05,dVar94,dVar66,dVar79);\n dVar93 = 0.0;\n dVar86 = local_7c0;\n dVar75 = local_7b8;\n FUN_100021624(0,0);\n dVar99 = 0.0;\n if ((uVar29 & 1) == 0) {\n dVar93 = extraout_d0_05;\n dVar99 = dVar94;\n local_7c0 = dVar66;\n local_7b8 = dVar79;\n }\n IVar18 = CIImage::extent(local_768);\n uVar13 = (uint)IVar18;\n _CGRectIsEmpty();\n if (dVar86 <= 0.0) {\n uVar13 = 1;\n }\n IVar18 = local_768;\n if (((uVar13 & 1) == 0) && (0.0 < dVar75)) {\n IVar19 = local_768;\n _CGRectIsEmpty(dVar93,dVar99,local_7c0,local_7b8);\n uVar13 = (uint)IVar19;\n if (local_7c0 <= 0.0) {\n uVar13 = 1;\n }\n if (((uVar13 & 1) == 0) && (0.0 < local_7b8)) {\n _CGRectIsEmpty(dVar93,dVar99,local_7c0,local_7b8);\n dVar75 = local_7b8 / dVar75;\n dVar81 = -1.0;\n dVar86 = ABS(local_7c0 / dVar86 + -1.0);\n if (0.0001 < dVar86) {\nLAB_100022334:\n _CGAffineTransformMakeScale(local_180);\n IVar18 = CIImage::imageByApplyingTransform_(local_768,local_180);\n }\n else {\n dVar81 = ABS(dVar75 + -1.0);\n dVar86 = 0.0001;\n if (0.0001 < dVar81) goto LAB_100022334;\n }\n CIImage::extent(IVar18);\n dVar77 = extraout_d0_06;\n _CGRectGetMinX();\n dVar98 = extraout_d0_06;\n _CGRectGetMinY(extraout_d0_06,dVar75,dVar81,dVar86);\n if ((0.0001 < ABS(dVar93 - dVar77)) || (0.0001 < ABS(dVar99 - dVar98))) {\n _CGAffineTransformMakeTranslation(local_180,dVar93 - dVar77,dVar99 - dVar98);\n IVar18 = CIImage::imageByApplyingTransform_(IVar18,local_180);\n }\n IVar19 = CIColor::colorWithRed_green_blue_alpha_((ID)&_OBJC_CLASS___CIColor,0,0,0,0);\n IVar19 = CIImage::imageWithColor_((ID)&_OBJC_CLASS___CIImage,IVar19);\n IVar19 = CIImage::imageByCroppingToRect_(IVar19,dVar93,dVar99,local_7c0,local_7b8);\n IVar18 = CIImage::imageByCompositingOverImage_(IVar18,IVar19);\n IVar18 = CIImage::imageByCroppingToRect_(IVar18,dVar93,dVar99,local_7c0,local_7b8);\n }\n }\n FUN_100029674(dVar93);\n IVar19 = local_768;\n if (IVar18 != 0) {\n IVar19 = IVar18;\n }\n objc_stub::extent(IVar19);\n dVar86 = dVar99;\n dVar75 = local_7c0;\n dVar81 = local_7b8;\n IVar18 = objc_stub::extent(IVar19);\n iVar12 = (int)IVar18;\n dVar93 = dVar75;\n dVar77 = dVar81;\n FUN_100021624();\n dVar98 = 1.0;\n local_7c8 = extraout_d0_07;\n if (iVar12 == 0) {\n pcVar30 = &cf_vision_analysis_downsample_skipped_invalid_extent;\n }\n else {\n dVar82 = extraout_d0_08;\n _CGRectGetWidth(extraout_d0_08,dVar86,dVar75,dVar81);\n dVar76 = extraout_d0_08;\n dVar93 = dVar75;\n dVar77 = dVar81;\n _CGRectGetHeight(extraout_d0_08,dVar86);\n if (dVar76 <= dVar82) {\n dVar76 = dVar82;\n }\n if (DAT_1000bdf38 != -1) {\n FUN_10007964c();\n }\n if (dVar76 <= DAT_1000bdf30 + 0.5) {\n pcVar30 = &cf_vision_analysis_downsample_skipped_small;\n }\n else {\n dVar76 = DAT_1000bdf30 / dVar76;\n dVar82 = ABS(dVar76);\n pcVar30 = &cf_vision_analysis_downsample_skipped_invalid_scale;\n if ((((ulong)dVar82 < 0x7ff0000000000001 &&\n (dVar82 != INFINITY &&\n (dVar82 != 0.0 && (-1 < (long)dVar76 || 0xffffffffffffe < (long)ABS(dVar76) - 1U))))\n && (-1 < (long)dVar76 || 0x3fe < (long)ABS(dVar76) + 0xfff0000000000000U >> 0x35)) &&\n (dVar76 < 1.0)) {\n dVar93 = extraout_d0_08;\n _CGRectGetWidth(extraout_d0_08,dVar86,dVar75,dVar81);\n dVar77 = extraout_d0_08;\n _CGRectGetHeight(extraout_d0_08,dVar86,dVar75,dVar81);\n dVar98 = extraout_d0_08;\n _CGRectGetMinX(extraout_d0_08,dVar86,dVar75,dVar81);\n if ((0.0001 < ABS(dVar98)) ||\n (dVar98 = extraout_d0_08, _CGRectGetMinY(extraout_d0_08,dVar86,dVar75,dVar81),\n IVar18 = IVar19, 0.0001 < ABS(dVar98))) {\n dVar98 = extraout_d0_08;\n _CGRectGetMinX(extraout_d0_08,dVar86,dVar75,dVar81);\n dVar82 = extraout_d0_08;\n _CGRectGetMinY(extraout_d0_08,dVar86,dVar75,dVar81);\n _CGAffineTransformMakeTranslation(local_180,-dVar98,-dVar82);\n IVar18 = objc_stub::imageByApplyingTransform_(IVar19,local_180);\n IVar18 = objc_stub::imageByCroppingToRect_(IVar18,0,0,dVar93,dVar77);\n }\n dVar86 = 0.0;\n _CGRectGetWidth(0,0,dVar93,dVar77);\n dVar75 = 0.0;\n _CGRectGetHeight(0,0,dVar93,dVar77);\n _CGAffineTransformMakeScale(local_180,dVar76,dVar76);\n IVar18 = objc_stub::imageByApplyingTransform_(IVar18,local_180);\n dVar86 = (double)(long)(dVar76 * dVar86);\n if (dVar86 <= 1.0) {\n dVar86 = 1.0;\n }\n dVar75 = (double)(long)(dVar76 * dVar75);\n if (dVar75 <= 1.0) {\n dVar75 = 1.0;\n }\n dVar93 = dVar86;\n dVar77 = dVar75;\n IVar18 = objc_stub::imageByCroppingToRect_(IVar18,0,0);\n dVar98 = 1.0;\n if (IVar18 != 0) {\n IVar24 = objc_stub::extent(IVar18);\n iVar12 = (int)IVar24;\n FUN_100021624();\n if (iVar12 != 0) {\n dVar99 = 0.0;\n local_7c8 = 0.0;\n pcVar30 = &cf_vision_analysis_downsample_used;\n IVar19 = IVar18;\n dVar98 = dVar76;\n local_7c0 = dVar86;\n local_7b8 = dVar75;\n goto LAB_10002274c;\n }\n }\n pcVar30 = &cf_vision_analysis_downsample_skipped_empty_result;\n }\n }\n }\nLAB_10002274c:\n objc_stub::length((ID)pcVar30);\n IVar18 = CIImage::extent(local_768);\n uVar13 = (uint)IVar18;\n _CGRectIsEmpty();\n if (dVar93 <= 0.0) {\n uVar13 = 1;\n }\n IVar18 = local_768;\n if (((uVar13 & 1) == 0) && (0.0 < dVar77)) {\n IVar24 = local_768;\n _CGRectIsEmpty(CVar102.field0_0x0.field0_0x0,CVar102.field0_0x0.field1_0x8,\n CVar102.field1_0x10.field0_0x0,CVar102.field1_0x10.field1_0x8);\n uVar13 = (uint)IVar24;\n if (iVar14 < 1) {\n uVar13 = 1;\n }\n if (((uVar13 & 1) == 0) && (0 < iVar15)) {\n dVar77 = CVar102.field1_0x10.field1_0x8 / dVar77;\n dVar86 = -1.0;\n dVar75 = ABS(CVar102.field1_0x10.field0_0x0 / dVar93 + -1.0);\n if ((0.0001 < dVar75) || (dVar86 = ABS(dVar77 + -1.0), 0.0001 < dVar86)) {\n _CGAffineTransformMakeScale(local_180);\n IVar18 = CIImage::imageByApplyingTransform_(local_768,local_180);\n }\n CIImage::extent(IVar18);\n dVar93 = extraout_d0_09;\n _CGRectGetMinX();\n dVar81 = extraout_d0_09;\n _CGRectGetMinY(extraout_d0_09,dVar77,dVar86,dVar75);\n if ((0.0001 < ABS(CVar102.field0_0x0.field0_0x0 - dVar93)) ||\n (0.0001 < ABS(CVar102.field0_0x0.field1_0x8 - dVar81))) {\n _CGAffineTransformMakeTranslation\n (local_180,CVar102.field0_0x0.field0_0x0 - dVar93,\n CVar102.field0_0x0.field1_0x8 - dVar81);\n IVar18 = CIImage::imageByApplyingTransform_(IVar18,local_180);\n }\n FUN_10002afa8(CVar102.field0_0x0.field0_0x0,CVar102.field0_0x0.field1_0x8,\n CVar102.field1_0x10.field0_0x0,CVar102.field1_0x10.field1_0x8);\n }\n }\n FUN_100029674(dStack_8b0,local_8b8,dStack_8c0,local_8c8);\n if (p_Var27 != (__IOSurface *)0x0) {\n _IOSurfaceGetWidth(p_Var27);\n _IOSurfaceGetHeight(p_Var27);\n }\n if (puVar28 != (undefined8 *)0x0) {\n _IOSurfaceGetWidth(puVar28);\n _IOSurfaceGetHeight(puVar28);\n }\n if (p_Var27 != (__IOSurface *)0x0) {\n _IOSurfaceGetPixelFormat(p_Var27);\n FUN_1000297c8();\n }\n if (puVar28 != (undefined8 *)0x0) {\n _IOSurfaceGetPixelFormat(puVar28);\n FUN_1000297c8();\n }\n if ((*(uint *)((long)pdVar42 + 0xc) & 0x1d) == 1) {\n local_180._8_8_ = pdVar42[1];\n local_180._0_8_ = *pdVar42;\n local_170 = (long *)pdVar42[2];\n _CMTimeGetSeconds(local_180);\n }\n _NSStringFromRect(CVar100.field0_0x0.field0_0x0,dVar63,dVar64,dVar65);\n _NSStringFromRect(CVar102.field0_0x0.field0_0x0,CVar102.field0_0x0.field1_0x8,\n CVar102.field1_0x10.field0_0x0,CVar102.field1_0x10.field1_0x8);\n iVar14 = (int)(IVar20 >> 0x20);\n dVar75 = (double)(int)IVar20;\n dVar93 = (double)iVar14;\n dVar77 = (double)((int)extraout_x1_02 - (int)IVar20);\n dVar76 = (double)((int)((ulong)extraout_x1_02 >> 0x20) - iVar14);\n _NSStringFromRect();\n iVar14 = (int)(IVar17 >> 0x20);\n dVar86 = (double)(int)IVar17;\n dVar81 = (double)iVar14;\n dVar82 = (double)((int)extraout_x1 - (int)IVar17);\n dVar87 = (double)((int)((ulong)extraout_x1 >> 0x20) - iVar14);\n _NSStringFromRect();\n _NSStringFromRect(dStack_8b0,local_8b8,dStack_8c0,local_8c8);\n _NSStringFromRect(extraout_d0_05,dVar94,dVar66,dVar79);\n objc_stub::extent(IVar18);\n _NSStringFromRect();\n if (local_7d8 != 0) {\n objc_stub::width(local_7d8);\n objc_stub::height(local_7d8);\n }\n if (local_788 != 0) {\n objc_stub::width(local_788);\n objc_stub::height(local_788);\n }\n FUN_10001c338(CVar100.field0_0x0.field0_0x0,dVar63,dVar64,dVar65);\n FUN_10001c338(CVar102.field0_0x0.field0_0x0,CVar102.field0_0x0.field1_0x8,\n CVar102.field1_0x10.field0_0x0,CVar102.field1_0x10.field1_0x8);\n FUN_10001c338(dVar75,dVar93,dVar77,dVar76);\n FUN_10001c338(dVar86,dVar81,dVar82,dVar87);\n FUN_10001c338(extraout_d0_05,dVar94,dVar66,dVar79);\n objc_stub::extent(IVar18);\n FUN_10001c338();\n FUN_10001c338(local_7c8,dVar99,local_7c0,local_7b8);\n FUN_10001c338(extraout_d0_05,dVar94,dVar66,dVar79);\n objc_stub::extent(IVar19);\n FUN_10001c338();\n if (local_7d8 != 0) {\n objc_stub::width(local_7d8);\n objc_stub::height(local_7d8);\n }\n if (local_788 != 0) {\n objc_stub::width(local_788);\n objc_stub::height(local_788);\n }\n NSString::stringWithFormat_\n ((ID)&_OBJC_CLASS___NSString,&cf__a___5fb___5fc___5fd___5ftx___3fty___3f_);\n objc_stub::pixelTransform(IVar16);\n FUN_100021708();\n objc_stub::inversePixelTransform(IVar16);\n FUN_100021708();\n objc_stub::pixelTransform(param_3);\n FUN_100021708();\n objc_stub::inversePixelTransform(param_3);\n FUN_100021708();\n objc_stub::extent(IVar19);\n _NSStringFromRect();\n _NSStringFromRect(local_7c8,dVar99,local_7c0,local_7b8);\n _NSStringFromRect(extraout_d0_05,dVar94,dVar66,dVar79);\n p_Var5 = (__IOSurface *)0x0;\n if (0.999 <= dVar98) {\n p_Var5 = p_Var27;\n }\n if ((AStack_528.field30_0xe8._2_1_ & 1) == 0) {\n local_180._8_8_ = pdVar42[1];\n local_180._0_8_ = *pdVar42;\n local_170 = (long *)pdVar42[2];\n IVar16 = controlPanelValueForPluginAtTime_(param_1,(AnonymousStructure0 *)local_180);\n objc_stub::fastMultiFaceMode(IVar16);\n IVar16 = objc_stub::apiForProtocol_\n (*(ID *)(param_1 + 8),&objc::protocol_t::FxParameterRetrievalAPI_v6);\n local_100 = (double)((ulong)local_100 & 0xffffffffffffff00);\n if (IVar16 != 0) {\n if ((*(byte *)((long)pdVar42 + 0xc) & 1) != 0) {\n local_180._8_8_ = pdVar42[1];\n local_180._0_8_ = *pdVar42;\n local_170 = (long *)pdVar42[2];\n IVar17 = objc_stub::getBoolValue_fromParameter_atTime_(IVar16,&local_100,0x27,local_180)\n ;\n if ((IVar17 & 1) != 0) goto LAB_100022c64;\n }\n local_180._8_8_ = *(undefined8 *)(PTR__kCMTimeZero_1000a8218 + 8);\n local_180._0_8_ = *(undefined8 *)PTR__kCMTimeZero_1000a8218;\n local_170 = *(long **)(PTR__kCMTimeZero_1000a8218 + 0x10);\n objc_stub::getBoolValue_fromParameter_atTime_(IVar16,&local_100,0x27,local_180);\n }\n }\nLAB_100022c64:\n uVar13 = uVar46 | local_894 | local_8cc;\n if (uVar44 == 0 && uVar45 == 0) {\n local_880 = 0;\n }\n else {\n objc_stub::lock(*(ID *)(param_1 + 0x28));\n if (*(char *)(param_1 + 0x4a8) == '\\x01') {\n dVar94 = CVar100.field0_0x0.field0_0x0;\n _CGRectGetWidth(CVar100.field0_0x0.field0_0x0,dVar63,dVar64,dVar65);\n dVar66 = *(double *)(param_1 + 0x448);\n _CGRectGetWidth(dVar66,*(undefined8 *)(param_1 + 0x450),*(undefined8 *)(param_1 + 0x458),\n *(undefined8 *)(param_1 + 0x460));\n if (ABS(dVar94 - dVar66) <= 4.0) {\n dVar94 = CVar100.field0_0x0.field0_0x0;\n _CGRectGetHeight(CVar100.field0_0x0.field0_0x0,dVar63,dVar64,dVar65);\n dVar66 = *(double *)(param_1 + 0x448);\n _CGRectGetHeight(dVar66,*(undefined8 *)(param_1 + 0x450),\n *(undefined8 *)(param_1 + 0x458),*(undefined8 *)(param_1 + 0x460));\n bVar10 = 4.0 < ABS(dVar94 - dVar66);\n }\n else {\n bVar10 = true;\n }\n dVar94 = dVar75;\n _CGRectGetWidth(dVar75,dVar93,dVar77,dVar76);\n dVar66 = *(double *)(param_1 + 0x468);\n _CGRectGetWidth(dVar66,*(undefined8 *)(param_1 + 0x470),*(undefined8 *)(param_1 + 0x478),\n *(undefined8 *)(param_1 + 0x480));\n if (4.0 < ABS(dVar94 - dVar66)) {\n pcVar30 = &cf_source;\n if (!bVar10) {\n pcVar30 = &cf_destination;\n }\n goto LAB_100022e00;\n }\n dVar94 = dVar75;\n _CGRectGetHeight(dVar75,dVar93,dVar77,dVar76);\n dVar66 = *(double *)(param_1 + 0x468);\n _CGRectGetHeight(dVar66,*(undefined8 *)(param_1 + 0x470),*(undefined8 *)(param_1 + 0x478),\n *(undefined8 *)(param_1 + 0x480));\n bVar2 = bVar10;\n if (4.0 < ABS(dVar94 - dVar66)) {\n bVar2 = true;\n }\n pcVar30 = &cf_source;\n if (!bVar10) {\n pcVar30 = &cf_destination;\n }\n if (bVar2) goto LAB_100022e00;\n *(double *)(param_1 + 0x448) = CVar100.field0_0x0.field0_0x0;\n *(double *)(param_1 + 0x450) = dVar63;\n *(double *)(param_1 + 0x458) = dVar64;\n *(double *)(param_1 + 0x460) = dVar65;\n *(double *)(param_1 + 0x468) = dVar75;\n *(double *)(param_1 + 0x470) = dVar93;\n *(double *)(param_1 + 0x478) = dVar77;\n *(double *)(param_1 + 0x480) = dVar76;\n *(double *)(param_1 + 0x488) = dVar86;\n *(double *)(param_1 + 0x490) = dVar81;\n *(double *)(param_1 + 0x498) = dVar82;\n *(double *)(param_1 + 0x4a0) = dVar87;\n *(undefined1 *)(param_1 + 0x4a8) = 1;\n objc_stub::unlock(*(ID *)(param_1 + 0x28));\n }\n else {\n pcVar30 = &cf_initial;\nLAB_100022e00:\n objc_stub::unlock(*(ID *)(param_1 + 0x28));\n local_180._8_8_ = pdVar42[1];\n local_180._0_8_ = *pdVar42;\n local_170 = (long *)pdVar42[2];\n CVar7.field0_0x0.field1_0x8._0_4_ = SUB84(dVar81,0);\n CVar7.field0_0x0.field0_0x0 = dVar86;\n CVar7.field0_0x0.field1_0x8._4_4_ = (int)((ulong)dVar81 >> 0x20);\n CVar7.field1_0x10.field0_0x0 = dVar82;\n CVar7.field1_0x10.field1_0x8._0_4_ = SUB84(dVar87,0);\n CVar7.field1_0x10.field1_0x8._4_2_ = (short)((ulong)dVar87 >> 0x20);\n CVar7.field1_0x10.field1_0x8._6_2_ = (short)((ulong)dVar87 >> 0x30);\n CVar100.field0_0x0.field1_0x8 = dVar63;\n CVar100.field1_0x10.field1_0x8 = dVar65;\n CVar100.field1_0x10.field0_0x0 = dVar64;\n CVar104.field0_0x0.field1_0x8 = dVar93;\n CVar104.field0_0x0.field0_0x0 = dVar75;\n CVar104.field1_0x10.field1_0x8 = dVar76;\n CVar104.field1_0x10.field0_0x0 = dVar77;\n mss_resetFaceThinTransientStateForReason_call_renderTime_sourceRect_destinationRect_tileRect_\n (param_1,(ID)pcVar30,uVar1,(AnonymousStructure0 *)local_180,CVar100,CVar104,\n CVar7);\n }\n local_180._8_8_ = pdVar42[1];\n local_180._0_8_ = *pdVar42;\n local_170 = (long *)pdVar42[2];\n CVar101.field1_0x10.field1_0x8 = local_7b8;\n CVar101.field1_0x10.field0_0x0 = local_7c0;\n CVar101.field0_0x0.field1_0x8 = dVar99;\n CVar101.field0_0x0.field0_0x0 = local_7c8;\n local_880 = cachedFaceObservationsForInputImage_inputSurface_sourceTileRect_renderTime_allowForwardReuse_\n (param_1,IVar19,p_Var5,CVar101,(AnonymousStructure0 *)local_180,\n ((uVar13 | uVar44 | uVar45) ^ 1) & 1);\n _CGRectGetWidth(dVar75,dVar93,dVar77,dVar76);\n dVar66 = dVar77;\n dVar79 = dVar76;\n _CGRectGetHeight(dVar75,dVar93,dVar77,dVar76);\n }\n local_530 = 0;\n local_538 = 0.0;\n dVar98 = *(double *)(PTR__CGRectNull_1000a8148 + 8);\n dVar99 = *(double *)PTR__CGRectNull_1000a8148;\n dVar91 = *(double *)(PTR__CGRectNull_1000a8148 + 0x18);\n dVar69 = *(double *)(PTR__CGRectNull_1000a8148 + 0x10);\n local_180._8_8_ = pdVar42[1];\n local_180._0_8_ = *pdVar42;\n local_170 = (long *)pdVar42[2];\n dVar94 = dVar69;\n local_560.field0_0x0.field0_0x0 = dVar99;\n local_560.field0_0x0.field1_0x8 = dVar98;\n local_560.field1_0x10.field0_0x0 = dVar69;\n local_560.field1_0x10.field1_0x8 = dVar91;\n uVar29 = controlPanelValueForPluginAtTime_(param_1,(AnonymousStructure0 *)local_180);\n FUN_10000c4d0();\n IVar16 = objc_stub::fastMultiFaceMode(uVar29);\n uVar44 = (uint)IVar16 | (uint)AStack_528.field30_0xe8._2_1_;\n local_561 = (byte)uVar44 & 1;\n IVar16 = objc_stub::apiForProtocol_\n (*(ID *)(param_1 + 8),&objc::protocol_t::FxParameterRetrievalAPI_v6);\n if (IVar16 == 0) {\nLAB_100022fd8:\n if ((uVar44 & 1) == 0) goto LAB_100022fd0;\nLAB_100022fdc:\n objc_stub::setFastMultiFaceMode_(uVar29,1);\n objc_stub::setFaceSingleSelection_(uVar29,0);\n uVar44 = 1;\n }\n else {\n if ((*(byte *)((long)pdVar42 + 0xc) & 1) == 0) {\nLAB_100022f94:\n local_180._8_8_ = *(undefined8 *)(PTR__kCMTimeZero_1000a8218 + 8);\n local_180._0_8_ = *(undefined8 *)PTR__kCMTimeZero_1000a8218;\n local_170 = *(long **)(PTR__kCMTimeZero_1000a8218 + 0x10);\n IVar16 = objc_stub::getBoolValue_fromParameter_atTime_(IVar16,&local_561,0x27,local_180);\n if ((int)IVar16 == 0) goto LAB_100022fd8;\n }\n else {\n local_180._8_8_ = pdVar42[1];\n local_180._0_8_ = *pdVar42;\n local_170 = (long *)pdVar42[2];\n IVar17 = objc_stub::getBoolValue_fromParameter_atTime_(IVar16,&local_561,0x27,local_180);\n if ((IVar17 & 1) == 0) goto LAB_100022f94;\n }\n if (((local_561 | uVar44) & 1) != 0) goto LAB_100022fdc;\nLAB_100022fd0:\n uVar44 = 0;\n }\n if ((uVar13 & 1) == 0) {\n local_768 = 0;\n IVar16 = 0;\n }\n else {\n if (p_Var27 != (__IOSurface *)0x0) {\n local_1b0 = *(undefined8 *)PTR__kCIImageColorSpace_1000a81c8;\n local_1a8 = (ID)local_790;\n IVar16 = NSDictionary::dictionaryWithObjects_forKeys_count_\n ((ID)&_OBJC_CLASS___NSDictionary,&local_1a8,&local_1b0,1);\n IVar16 = CIImage::imageWithIOSurface_options_((ID)&_OBJC_CLASS___CIImage,p_Var27,IVar16);\n if (IVar16 != 0) {\n local_768 = IVar16;\n }\n }\n objc_stub::lock(*(ID *)(param_1 + 0x30));\n dVar55 = *(double *)(param_1 + 0x40);\n IVar16 = CIImage::extent(local_768);\n uVar45 = (uint)IVar16;\n _CGRectIsEmpty();\n if (dVar55 == 0.0) {\n uVar45 = 1;\n }\n if ((uVar45 & 1) == 0) {\n CIImage::extent(local_768);\n IVar17 = local_768;\n FUN_10002ee0c();\n IVar16 = 0;\n if (IVar17 != 0) {\n puVar58 = &_OBJC_CLASS___VNImageRequestHandler;\n _objc_alloc();\n IVar16 = objc_stub::initWithCIImage_options_\n ((ID)puVar58,IVar17,PTR____NSDictionary0__struct_1000a8118);\n local_180._0_8_ = 0.0;\n local_100 = dVar55;\n IVar17 = NSArray::arrayWithObjects_count_((ID)&_OBJC_CLASS___NSArray,&local_100,1);\n IVar16 = objc_stub::performRequests_error_(IVar16,IVar17,local_180);\n if ((int)IVar16 == 0) {\n IVar16 = 0;\n }\n else {\n IVar16 = objc_stub::results((ID)dVar55);\n IVar16 = objc_stub::copy(IVar16);\n }\n IVar17 = IVar16;\n FUN_10002a428();\n objc_stub::count(IVar16);\n objc_stub::count(IVar17);\n FUN_10001c338(extraout_d0_10,dVar94,dVar66,dVar79);\n IVar19 = objc_stub::count(IVar17);\n IVar16 = 0;\n if (IVar19 != 0) {\n IVar16 = IVar17;\n }\n }\n }\n else {\n IVar16 = 0;\n }\n objc_stub::unlock(*(ID *)(param_1 + 0x30));\n }\n FUN_10000c814(uVar29);\n objc_stub::faceTrackActiveTargetIndex(uVar29);\n IVar17 = objc_stub::faceTrackData(uVar29);\n IVar17 = objc_stub::length(IVar17);\n if (((IVar17 == 0) && (IVar17 = objc_stub::length(*(ID *)(param_1 + 0x6e0)), IVar17 != 0)) &&\n (IVar17 = objc_stub::faceTrackRevision(uVar29), *(long *)(param_1 + 0x6e8) < (long)IVar17))\n {\n *(undefined8 *)(param_1 + 0x6e0) = 0;\n *(undefined8 *)(param_1 + 0x6e8) = 0;\n }\n if (AStack_528.field38_0x118 == 3) {\n objc_stub::length(0);\n }\n IVar17 = objc_stub::length(0);\n if (IVar17 != 0) {\n IVar17 = 0;\n FUN_10004b6ec();\n IVar19 = objc_stub::count(IVar17);\n if ((IVar19 == 0) && (IVar19 = objc_stub::hasPrefix_(0,&cf_m1_), (int)IVar19 != 0)) {\n IVar19 = 0;\n FUN_10004b028();\n dStack_d8 = 0.0;\n local_e0 = 0.0;\n uStack_c8 = 0;\n uStack_d0 = 0;\n dStack_f8 = 0.0;\n local_100 = 0.0;\n dStack_e8 = 0.0;\n local_f0 = (long *)0x0;\n IVar20 = objc_stub::countByEnumeratingWithState_objects_count_\n (IVar19,&local_100,local_180,0x10);\n if (IVar20 != 0) {\n lVar60 = 0;\n lVar54 = *local_f0;\n dVar66 = 1.7976931348623157e+308;\n dVar94 = -1.7976931348623157e+308;\n do {\n IVar24 = 0;\n dVar79 = dVar94;\n do {\n if (*local_f0 != lVar54) {\n _objc_enumerationMutation(IVar19);\n }\n IVar25 = *(ID *)((long)dStack_f8 + IVar24 * 8);\n FUN_10004b6ec();\n IVar26 = objc_stub::count(IVar25);\n dVar94 = dVar79;\n if (IVar26 != 0) {\n IVar26 = objc_stub::firstObject(IVar25);\n IVar26 = objc_stub::objectForKey_(IVar26,&cf_t);\n objc_stub::doubleValue(IVar26);\n IVar26 = objc_stub::lastObject(IVar25);\n IVar26 = objc_stub::objectForKey_(IVar26,&cf_t);\n objc_stub::doubleValue(IVar26);\n if (((ulong)ABS(extraout_d0_11) < 0x7ff0000000000000) &&\n ((ulong)ABS(extraout_d0_12) < 0x7ff0000000000000)) {\n if (extraout_d0_11 <= dVar66) {\n dVar66 = extraout_d0_11;\n }\n dVar94 = extraout_d0_12;\n if (extraout_d0_12 <= dVar79) {\n dVar94 = dVar79;\n }\n IVar25 = objc_stub::count(IVar25);\n lVar60 = IVar25 + lVar60;\n }\n }\n IVar24 = IVar24 + 1;\n dVar79 = dVar94;\n } while (IVar20 != IVar24);\n IVar20 = objc_stub::countByEnumeratingWithState_objects_count_\n (IVar19,&local_100,local_180,0x10);\n } while (IVar20 != 0);\n if (((lVar60 != 0) && ((ulong)ABS(dVar66) < 0x7ff0000000000000)) &&\n ((ulong)ABS(dVar94) < 0x7ff0000000000000)) goto LAB_1000233ac;\n }\n }\n IVar19 = objc_stub::count(IVar17);\n if (IVar19 != 0) {\n IVar19 = objc_stub::firstObject(IVar17);\n IVar19 = objc_stub::objectForKey_(IVar19,&cf_t);\n objc_stub::doubleValue(IVar19);\n IVar19 = objc_stub::lastObject(IVar17);\n IVar19 = objc_stub::objectForKey_(IVar19,&cf_t);\n objc_stub::doubleValue(IVar19);\n if (((extraout_d0_13 & 0x7fffffffffffffff) < 0x7ff0000000000000) &&\n ((extraout_d0_14 & 0x7fffffffffffffff) < 0x7ff0000000000000)) {\n objc_stub::count(IVar17);\n }\n }\n }\nLAB_1000233ac:\n IVar19 = uVar29;\n FUN_10000c814();\n IVar20 = objc_stub::faceTrackActiveTargetIndex(uVar29);\n IVar17 = IVar20;\n if (0x7e < IVar20) {\n IVar17 = 0x7f;\n }\n IVar24 = 0;\n if (-1 < (long)IVar20) {\n IVar24 = IVar17;\n }\n if ((long)(IVar19 - 1) <= (long)IVar24) {\n IVar24 = IVar19 - 1;\n }\n if (uVar44 == 0) {\n IVar20 = uVar29;\n FUN_100010a50(uVar29,IVar24);\n }\n local_790 = *(double *)PTR__CGRectNull_1000a8148;\n local_798 = *(double *)(PTR__CGRectNull_1000a8148 + 8);\n local_7a0 = *(double *)(PTR__CGRectNull_1000a8148 + 0x10);\n local_7a8 = *(double *)(PTR__CGRectNull_1000a8148 + 0x18);\n CVar7 = *(CGRect *)PTR__CGRectNull_1000a8148;\n dVar94 = local_790;\n dVar66 = local_798;\n dVar79 = local_7a0;\n dVar55 = local_7a8;\n _CGRectIsNull();\n if (((IVar20 & 1) == 0) &&\n (dVar94 = local_790, dVar66 = local_798, dVar79 = local_7a0, dVar55 = local_7a8,\n _CGRectIsEmpty(), (IVar20 & 1) == 0)) {\n dVar94 = local_790;\n dVar79 = local_7a0;\n dVar55 = local_7a8;\n _CGRectGetWidth(local_790,local_798);\n dVar66 = 2.220446049250313e-16;\n if (dVar94 <= 2.220446049250313e-16) goto LAB_100023480;\n dVar94 = local_790;\n dVar79 = local_7a0;\n dVar55 = local_7a8;\n _CGRectGetHeight(local_790,local_798);\n dVar66 = 2.220446049250313e-16;\n bVar10 = 2.220446049250313e-16 < dVar94;\n }\n else {\nLAB_100023480:\n bVar10 = false;\n }\n dVar78 = dVar66;\n dVar90 = dVar79;\n dVar85 = dVar55;\n if (uVar44 == 0) {\n FUN_10002985c(uVar29,IVar24);\n dVar78 = dVar66;\n dVar90 = dVar79;\n dVar85 = dVar55;\n FUN_1000299b0(uVar29,IVar24);\n if ((((int)uVar29 != 0) &&\n (dVar78 = dVar66, dVar90 = dVar79, dVar85 = dVar55, _CGRectIsNull(dVar94),\n (uVar29 & 1) == 0)) &&\n (dVar78 = dVar66, dVar90 = dVar79, dVar85 = dVar55, _CGRectIsEmpty(dVar94),\n (uVar29 & 1) == 0)) {\n dVar80 = dVar94;\n dVar90 = dVar79;\n dVar85 = dVar55;\n _CGRectGetWidth(dVar94,dVar66);\n dVar78 = 2.220446049250313e-16;\n if (2.220446049250313e-16 < dVar80) {\n _CGRectGetHeight(dVar94);\n dVar78 = dVar66;\n dVar90 = dVar79;\n dVar85 = dVar55;\n }\n }\n }\n local_7c0 = local_798;\n local_7b8 = local_790;\n local_7d0 = local_7a8;\n local_7c8 = local_7a0;\n if ((uVar13 & (uVar44 ^ 1)) == 0) {\n local_7b0 = 0;\n }\n else {\n local_100 = (double)((ulong)local_100 & 0xffffffffffffff00);\n local_180._8_8_ = pdVar42[1];\n local_180._0_8_ = *pdVar42;\n local_170 = (long *)pdVar42[2];\n dVar79 = local_7a0;\n dVar55 = local_7a8;\n local_7b0 = mss_pinStyleFacePointsForObservations_renderTime_params_trackingInputImage_preferredBox_hasPreferredBox_selectedObservationOut_strengthMultiplierOut_pointsBoxOut_usedHoldOut_\n (param_1,IVar16,(AnonymousStructure0 *)local_180,&AStack_528,local_768\n ,CVar7,0,&local_530,&local_538,&local_560,(bool *)&local_100);\n uVar29 = objc_stub::count(local_7b0);\n dVar85 = local_560.field1_0x10.field1_0x8;\n dVar90 = local_560.field1_0x10.field0_0x0;\n dVar66 = local_560.field0_0x0.field1_0x8;\n dVar94 = local_560.field0_0x0.field0_0x0;\n if (((0x4c < uVar29) && (2.220446049250313e-16 < local_538)) &&\n ((dVar79 = local_560.field1_0x10.field0_0x0, dVar55 = local_560.field1_0x10.field1_0x8,\n _CGRectIsNull(local_560.field0_0x0.field0_0x0,local_560.field0_0x0.field1_0x8),\n (uVar29 & 1) == 0 &&\n ((dVar79 = dVar90, dVar55 = dVar85, _CGRectIsEmpty(dVar94,dVar66), (uVar29 & 1) == 0 &&\n (dVar78 = dVar94, dVar79 = dVar90, dVar55 = dVar85, _CGRectGetWidth(dVar94,dVar66),\n 2.220446049250313e-16 < dVar78)))))) {\n _CGRectGetHeight(dVar94,dVar66);\n dVar78 = 2.220446049250313e-16;\n dVar79 = dVar90;\n dVar55 = dVar85;\n if (2.220446049250313e-16 < dVar94) {\n local_7b8 = local_560.field0_0x0.field0_0x0;\n local_7c0 = local_560.field0_0x0.field1_0x8;\n local_7c8 = local_560.field1_0x10.field0_0x0;\n local_7d0 = local_560.field1_0x10.field1_0x8;\n goto LAB_1000236c0;\n }\n }\n local_7b0 = 0;\n local_530 = 0;\n local_538 = 0.0;\n dVar78 = dVar99;\n dVar90 = dVar79;\n dVar85 = dVar55;\n local_560.field0_0x0.field0_0x0 = dVar99;\n local_560.field0_0x0.field1_0x8 = dVar98;\n local_560.field1_0x10.field0_0x0 = dVar69;\n local_560.field1_0x10.field1_0x8 = dVar91;\n }\nLAB_1000236c0:\n if ((uVar44 & uVar13) == 1) {\n IVar17 = objc_stub::count(IVar16);\n local_768 = NSMutableArray::arrayWithCapacity_((ID)&_OBJC_CLASS___NSMutableArray,IVar17);\n IVar17 = objc_stub::count(IVar16);\n IVar19 = NSMutableArray::arrayWithCapacity_((ID)&_OBJC_CLASS___NSMutableArray,IVar17);\n uStack_578 = 0;\n local_580 = 0;\n uStack_588 = 0;\n local_590 = 0;\n uStack_598 = 0;\n local_5a0 = (long *)0x0;\n lStack_5a8 = 0;\n local_5b0 = 0;\n IVar20 = objc_stub::countByEnumeratingWithState_objects_count_\n (IVar16,&local_5b0,auStack_230,0x10);\n IVar17 = 0;\n if (IVar20 != 0) {\n lVar60 = *local_5a0;\n dVar94 = extraout_d0_15;\n do {\n IVar24 = 0;\n IVar25 = IVar17;\n do {\n dVar66 = dVar94;\n dVar79 = dVar78;\n dVar99 = dVar90;\n dVar98 = dVar85;\n if (*local_5a0 != lVar60) {\n _objc_enumerationMutation(IVar16);\n dVar66 = dVar94;\n dVar79 = dVar78;\n dVar99 = dVar90;\n dVar98 = dVar85;\n }\n IVar56 = *(ID *)(lStack_5a8 + IVar24 * 8);\n IVar26 = IVar56;\n FUN_100029a00();\n FUN_100029d20(IVar56);\n dVar78 = dVar79;\n dVar90 = dVar99;\n dVar85 = dVar98;\n uVar29 = objc_stub::count(IVar26);\n IVar17 = IVar25;\n dVar94 = extraout_d0_16;\n if (((0x4c < uVar29) &&\n (dVar94 = dVar66, dVar78 = dVar79, dVar90 = dVar99, dVar85 = dVar98,\n _CGRectIsNull(), (uVar29 & 1) == 0)) &&\n (dVar94 = dVar66, dVar78 = dVar79, dVar90 = dVar99, dVar85 = dVar98,\n _CGRectIsEmpty(), (uVar29 & 1) == 0)) {\n dVar94 = dVar66;\n dVar90 = dVar99;\n dVar85 = dVar98;\n _CGRectGetWidth(dVar66,dVar79);\n dVar78 = 2.220446049250313e-16;\n if (2.220446049250313e-16 < dVar94) {\n dVar94 = dVar66;\n dVar90 = dVar99;\n dVar85 = dVar98;\n _CGRectGetHeight(dVar66,dVar79);\n dVar78 = 2.220446049250313e-16;\n if (2.220446049250313e-16 < dVar94) {\n NSMutableArray::addObject_(local_768,IVar26);\n IVar17 = NSValue::valueWithRect_((ID)&_OBJC_CLASS___NSValue,dVar66);\n NSMutableArray::addObject_(IVar19,IVar17);\n IVar17 = IVar56;\n dVar94 = extraout_d0_17;\n dVar78 = dVar79;\n dVar90 = dVar99;\n dVar85 = dVar98;\n if (IVar25 != 0) {\n IVar17 = IVar25;\n }\n }\n }\n }\n IVar24 = IVar24 + 1;\n IVar25 = IVar17;\n } while (IVar20 != IVar24);\n IVar20 = objc_stub::countByEnumeratingWithState_objects_count_\n (IVar16,&local_5b0,auStack_230,0x10);\n dVar94 = extraout_d0_18;\n } while (IVar20 != 0);\n }\n IVar20 = NSMutableArray::count(local_768);\n if (IVar20 == 0) goto LAB_1000238e8;\n local_7b0 = NSMutableArray::firstObject(local_768);\n local_538 = 1.0;\n local_530 = IVar17;\n IVar17 = NSMutableArray::firstObject(IVar19);\n NSMutableArray::rectValue(IVar17);\n local_7b8 = extraout_d0_19;\n FUN_10001bef0();\n local_7d0 = dVar85;\n local_7c8 = dVar90;\n local_7c0 = dVar78;\n local_560.field0_0x0.field0_0x0 = local_7b8;\n local_560.field0_0x0.field1_0x8 = dVar78;\n local_560.field1_0x10.field0_0x0 = dVar90;\n local_560.field1_0x10.field1_0x8 = dVar85;\n }\n else {\nLAB_1000238e8:\n local_768 = 0;\n }\n uVar29 = objc_stub::count(0);\n local_808 = local_7b8;\n local_820 = local_7c0;\n local_838 = local_7d0;\n local_830 = local_7c8;\n if (bVar10) {\n _CGRectIsNull(local_790,local_798,local_7a0,local_7a8);\n local_808 = local_7b8;\n local_820 = local_7c0;\n local_838 = local_7d0;\n local_830 = local_7c8;\n if ((uVar29 & 1) == 0) {\n _CGRectIsEmpty(local_790,local_798,local_7a0,local_7a8);\n local_808 = local_7b8;\n local_820 = local_7c0;\n local_838 = local_7d0;\n local_830 = local_7c8;\n if ((uVar29 & 1) == 0) {\n dVar94 = local_790;\n _CGRectGetWidth(local_790,local_798,local_7a0,local_7a8);\n local_808 = local_7b8;\n local_820 = local_7c0;\n local_838 = local_7d0;\n local_830 = local_7c8;\n if (2.220446049250313e-16 < dVar94) {\n dVar94 = local_790;\n _CGRectGetHeight(local_790,local_798,local_7a0,local_7a8);\n local_808 = local_7b8;\n local_820 = local_7c0;\n local_838 = local_7d0;\n local_830 = local_7c8;\n if (2.220446049250313e-16 < dVar94) {\n local_838 = local_7a8;\n local_830 = local_7a0;\n local_820 = local_798;\n local_808 = local_790;\n }\n }\n }\n }\n }\n dVar99 = local_560.field1_0x10.field1_0x8;\n dVar79 = local_560.field1_0x10.field0_0x0;\n dVar66 = local_560.field0_0x0.field1_0x8;\n dVar94 = local_560.field0_0x0.field0_0x0;\n _CGRectIsNull(local_560.field0_0x0.field0_0x0,local_560.field0_0x0.field1_0x8,\n local_560.field1_0x10.field0_0x0,local_560.field1_0x10.field1_0x8);\n if (((((uVar29 & 1) != 0) || (_CGRectIsEmpty(dVar94,dVar66,dVar79,dVar99), (uVar29 & 1) != 0))\n || ((dVar98 = dVar94, _CGRectGetWidth(dVar94,dVar66,dVar79,dVar99),\n dVar98 <= 2.220446049250313e-16 ||\n (_CGRectGetHeight(dVar94,dVar66,dVar79,dVar99), dVar94 <= 2.220446049250313e-16)))) &&\n ((((uVar29 = objc_stub::count(local_7b0), 0x4c < uVar29 &&\n (_CGRectIsNull(local_808,local_820,local_830,local_838), (uVar29 & 1) == 0)) &&\n (_CGRectIsEmpty(local_808,local_820,local_830,local_838), (uVar29 & 1) == 0)) &&\n ((dVar94 = local_808, _CGRectGetWidth(local_808,local_820,local_830,local_838),\n 2.220446049250313e-16 < dVar94 &&\n (dVar94 = local_808, _CGRectGetHeight(local_808,local_820,local_830,local_838),\n 2.220446049250313e-16 < dVar94)))))) {\n local_560.field0_0x0.field0_0x0 = local_808;\n local_560.field0_0x0.field1_0x8 = local_820;\n local_560.field1_0x10.field0_0x0 = local_830;\n local_560.field1_0x10.field1_0x8 = local_838;\n }\n dVar79 = local_7c0;\n dVar94 = local_7c8;\n dVar66 = local_7d0;\n _CGRectIsNull(local_7b8);\n if (((uVar29 & 1) == 0) &&\n (dVar79 = local_7c0, dVar94 = local_7c8, dVar66 = local_7d0, _CGRectIsEmpty(local_7b8),\n (uVar29 & 1) == 0)) {\n dVar99 = local_7b8;\n dVar94 = local_7c8;\n dVar66 = local_7d0;\n _CGRectGetWidth(local_7b8,local_7c0);\n dVar79 = 2.220446049250313e-16;\n if (dVar99 <= 2.220446049250313e-16) goto LAB_100023bac;\n dVar99 = local_7b8;\n dVar94 = local_7c8;\n dVar66 = local_7d0;\n _CGRectGetHeight(local_7b8,local_7c0);\n dVar79 = 2.220446049250313e-16;\n if (dVar99 <= 2.220446049250313e-16) goto LAB_100023bac;\n }\n else {\nLAB_100023bac:\n IVar17 = objc_stub::count(local_7b0);\n dVar91 = local_560.field1_0x10.field1_0x8;\n dVar69 = local_560.field1_0x10.field0_0x0;\n dVar98 = local_560.field0_0x0.field1_0x8;\n dVar99 = local_560.field0_0x0.field0_0x0;\n if (0x4c < IVar17) {\n uVar29 = 0;\n if (local_530 != 0) {\n uVar29 = objc_stub::boundingBox(local_530);\n local_7b8 = extraout_d0_20;\n _CGRectStandardize();\n _CGRectIntersection();\n _CGRectIsNull(local_7b8,dVar79,dVar94,dVar66);\n if (((((((uVar29 & 1) != 0) ||\n (_CGRectIsEmpty(local_7b8,dVar79,dVar94,dVar66), (uVar29 & 1) != 0)) ||\n (dVar55 = local_7b8, _CGRectGetWidth(local_7b8,dVar79,dVar94,dVar66),\n dVar55 <= 2.220446049250313e-16)) ||\n (dVar55 = local_7b8, _CGRectGetHeight(local_7b8,dVar79,dVar94,dVar66),\n local_7d0 = dVar66, local_7c8 = dVar94, local_7c0 = dVar79,\n dVar55 <= 2.220446049250313e-16)) &&\n ((_CGRectIsNull(dVar99,dVar98,dVar69,dVar91), local_7d0 = local_7a8,\n local_7c8 = local_7a0, local_7c0 = local_798, local_7b8 = local_790,\n (uVar29 & 1) == 0 &&\n (_CGRectIsEmpty(dVar99,dVar98,dVar69,dVar91), (uVar29 & 1) == 0)))) &&\n ((dVar94 = dVar99, _CGRectGetWidth(dVar99,dVar98,dVar69,dVar91),\n 2.220446049250313e-16 < dVar94 &&\n (dVar94 = dVar99, _CGRectGetHeight(dVar99,dVar98,dVar69,dVar91),\n 2.220446049250313e-16 < dVar94)))) {\n FUN_10001bef0();\n local_7d0 = dVar91;\n local_7c8 = dVar69;\n local_7c0 = dVar98;\n local_7b8 = dVar99;\n }\n }\n dVar79 = local_7c0;\n dVar94 = local_7c8;\n dVar66 = local_7d0;\n _CGRectIsNull(local_7b8);\n if (((uVar29 & 1) == 0) &&\n (dVar79 = local_7c0, dVar94 = local_7c8, dVar66 = local_7d0, _CGRectIsEmpty(local_7b8),\n (uVar29 & 1) == 0)) {\n dVar99 = local_7b8;\n dVar94 = local_7c8;\n dVar66 = local_7d0;\n _CGRectGetWidth(local_7b8,local_7c0);\n dVar79 = 2.220446049250313e-16;\n if (2.220446049250313e-16 < dVar99) {\n dVar99 = local_7b8;\n dVar94 = local_7c8;\n dVar66 = local_7d0;\n _CGRectGetHeight(local_7b8,local_7c0);\n dVar79 = 2.220446049250313e-16;\n if (2.220446049250313e-16 < dVar99) goto LAB_100023e2c;\n }\n }\n local_7b8 = local_560.field0_0x0.field0_0x0;\n local_7c0 = local_560.field0_0x0.field1_0x8;\n local_7c8 = local_560.field1_0x10.field0_0x0;\n local_7d0 = local_560.field1_0x10.field1_0x8;\n }\n }\nLAB_100023e2c:\n uVar29 = objc_stub::count(local_7b0);\n dVar91 = local_560.field1_0x10.field1_0x8;\n dVar69 = local_560.field1_0x10.field0_0x0;\n dVar98 = local_560.field0_0x0.field1_0x8;\n dVar99 = local_560.field0_0x0.field0_0x0;\n if (((0x4c < uVar29) &&\n (dVar79 = local_560.field0_0x0.field1_0x8, dVar94 = local_560.field1_0x10.field0_0x0,\n dVar66 = local_560.field1_0x10.field1_0x8, _CGRectIsNull(local_560.field0_0x0.field0_0x0),\n (uVar29 & 1) == 0)) &&\n (dVar79 = dVar98, dVar94 = dVar69, dVar66 = dVar91, _CGRectIsEmpty(dVar99),\n (uVar29 & 1) == 0)) {\n dVar55 = dVar99;\n dVar94 = dVar69;\n dVar66 = dVar91;\n _CGRectGetWidth(dVar99,dVar98);\n dVar79 = 2.220446049250313e-16;\n if (2.220446049250313e-16 < dVar55) {\n _CGRectGetHeight(dVar99,dVar98);\n dVar79 = 2.220446049250313e-16;\n dVar94 = dVar69;\n dVar66 = dVar91;\n if (((2.220446049250313e-16 < dVar99) &&\n (dVar79 = local_820, dVar94 = local_830, dVar66 = local_838, _CGRectIsNull(local_808),\n (uVar29 & 1) == 0)) &&\n (dVar79 = local_820, dVar94 = local_830, dVar66 = local_838, _CGRectIsEmpty(local_808),\n (uVar29 & 1) == 0)) {\n dVar99 = local_808;\n dVar94 = local_830;\n dVar66 = local_838;\n _CGRectGetWidth(local_808,local_820);\n dVar79 = 2.220446049250313e-16;\n if (2.220446049250313e-16 < dVar99) {\n dVar99 = local_808;\n dVar94 = local_830;\n dVar66 = local_838;\n _CGRectGetHeight(local_808,local_820);\n dVar79 = 2.220446049250313e-16;\n if ((2.220446049250313e-16 < dVar99) &&\n (dVar79 = local_560.field0_0x0.field1_0x8,\n dVar94 = local_560.field1_0x10.field0_0x0,\n dVar66 = local_560.field1_0x10.field1_0x8,\n FUN_10002a568(local_560.field0_0x0.field0_0x0), (uVar29 & 1) == 0)) {\n _NSStringFromRect(local_560.field0_0x0.field0_0x0,local_560.field0_0x0.field1_0x8,\n local_560.field1_0x10.field0_0x0,local_560.field1_0x10.field1_0x8)\n ;\n dVar94 = local_830;\n dVar66 = local_838;\n _NSStringFromRect(local_808,local_820);\n local_808 = local_560.field0_0x0.field0_0x0;\n local_820 = *(double *)((ulong)&local_560 | 8);\n local_838 = local_560.field1_0x10.field1_0x8;\n local_830 = local_560.field1_0x10.field0_0x0;\n dVar79 = local_560.field1_0x10.field0_0x0;\n }\n }\n }\n }\n }\n objc_stub::count(local_880);\n objc_stub::count(0);\n objc_stub::count(0);\n uVar29 = objc_stub::count(local_7b0);\n dVar99 = extraout_d0_21;\n if (uVar29 < 0x4d) {\n _CGRectIsNull(local_808,local_820,local_830,local_838);\n if ((((uVar29 & 1) == 0) &&\n (_CGRectIsEmpty(local_808,local_820,local_830,local_838), (uVar29 & 1) == 0)) &&\n (dVar94 = local_808, _CGRectGetWidth(local_808,local_820,local_830,local_838),\n 2.220446049250313e-16 < dVar94)) {\n dVar99 = local_808;\n dVar94 = local_830;\n dVar66 = local_838;\n _CGRectGetHeight(local_808,local_820);\n dVar79 = 2.220446049250313e-16;\n if (2.220446049250313e-16 < dVar99) goto LAB_100023fe0;\n }\n dVar66 = local_560.field1_0x10.field1_0x8;\n dVar94 = local_560.field1_0x10.field0_0x0;\n dVar79 = local_560.field0_0x0.field1_0x8;\n dVar99 = local_560.field0_0x0.field0_0x0;\n _CGRectIsNull(local_560.field0_0x0.field0_0x0,local_560.field0_0x0.field1_0x8,\n local_560.field1_0x10.field0_0x0,local_560.field1_0x10.field1_0x8);\n if ((((uVar29 & 1) == 0) && (_CGRectIsEmpty(dVar99,dVar79,dVar94,dVar66), (uVar29 & 1) == 0)\n ) && (dVar98 = dVar99, _CGRectGetWidth(dVar99,dVar79,dVar94,dVar66),\n 2.220446049250313e-16 < dVar98)) {\n _CGRectGetHeight(dVar99,dVar79);\n dVar79 = 2.220446049250313e-16;\n if (2.220446049250313e-16 < dVar99) goto LAB_100023fe0;\n }\n }\n else {\nLAB_100023fe0:\n FUN_10002a7b8(local_7b0,0,0x4b);\n dVar98 = dVar99;\n dVar90 = dVar79;\n dVar78 = dVar94;\n dVar68 = dVar66;\n FUN_10002a7b8(local_7b0,0x3b,0x4b);\n dVar69 = dVar98;\n dVar85 = dVar90;\n dVar80 = dVar78;\n dVar83 = dVar68;\n FUN_10002a928(local_7b0);\n dVar91 = dVar75;\n _CGRectGetWidth(dVar75,dVar93,dVar77,dVar76);\n dVar55 = dVar75;\n _CGRectGetHeight(dVar75,dVar93,dVar77,dVar76);\n objc_stub::count(local_7b0);\n FUN_10001b584(local_560.field0_0x0.field0_0x0,local_560.field0_0x0.field1_0x8,\n local_560.field1_0x10.field0_0x0,local_560.field1_0x10.field1_0x8);\n FUN_10001b584(local_7b8,local_7c0,local_7c8,local_7d0);\n FUN_10001b584(local_808,local_820,local_830,local_838);\n FUN_10001c338(dVar99,dVar79,dVar94,dVar66);\n FUN_10001c338(dVar98,dVar90,dVar78,dVar68);\n FUN_10001c338(dVar69,dVar85,dVar80,dVar83);\n _CGRectGetWidth(dVar99,dVar79,dVar94,dVar66);\n _CGRectGetHeight(dVar99,dVar79,dVar94,dVar66);\n _CGRectGetWidth(dVar69,dVar85,dVar80,dVar83);\n _CGRectGetHeight(dVar69,dVar85,dVar80,dVar83);\n FUN_10002ab0c(local_7b0);\n FUN_10002ac7c(dVar91,dVar55,local_7b0);\n }\n objc_stub::count(local_880);\n objc_stub::count(local_7b0);\n _NSStringFromRect(local_560.field0_0x0.field0_0x0,local_560.field0_0x0.field1_0x8,\n local_560.field1_0x10.field0_0x0,local_560.field1_0x10.field1_0x8);\n _NSStringFromRect(local_808,local_820,local_830,local_838);\n _NSStringFromRect(local_790,local_798,local_7a0,local_7a8);\n dVar94 = local_7a0;\n dVar66 = local_7a8;\n _NSStringFromRect(local_790,local_798);\n objc_stub::length(*(ID *)(param_1 + 0x6e0));\n bVar61 = 1;\n if (((AStack_528.field7_0x38 <= 2.220446049250313e-16) &&\n ((double)AStack_528._192_8_ <= 2.220446049250313e-16)) &&\n ((AStack_528.field2_0x10 <= 2.220446049250313e-16 &&\n (((ABS(AStack_528.field3_0x18) <= 2.220446049250313e-16 &&\n (ABS(AStack_528.field4_0x20) <= 2.220446049250313e-16)) && (AStack_528.field5_0x28 == 0)\n ))))) {\n bVar61 = (byte)AStack_528.field44_0x140;\n }\n dVar79 = 2.220446049250313e-16;\n pbVar31 = (byte *)_getenv(\"MSE18_ENABLE_TILE_LOCAL_SKIN_FILTER\");\n if (pbVar31 != (byte *)0x0) {\n if (*pbVar31 != 0) {\n uVar45 = *pbVar31 - 0x30;\n if (uVar45 == 0) {\n uVar45 = (uint)pbVar31[1];\n }\n if ((uVar45 != 0 && ((bVar61 ^ 0xff) & 1) == 0) && bVar8 == 0) {\n dVar79 = dVar81;\n dVar94 = dVar82;\n dVar66 = dVar87;\n FUN_100021624(dVar86);\n if (((int)pbVar31 != 0) &&\n (dVar79 = CVar102.field0_0x0.field1_0x8, dVar94 = CVar102.field1_0x10.field0_0x0,\n dVar66 = CVar102.field1_0x10.field1_0x8, FUN_100021624(CVar102.field0_0x0.field0_0x0)\n , (int)pbVar31 != 0)) {\n dVar79 = CVar102.field0_0x0.field1_0x8;\n dVar94 = CVar102.field1_0x10.field0_0x0;\n dVar66 = CVar102.field1_0x10.field1_0x8;\n _CGRectInset(CVar102.field0_0x0.field0_0x0);\n _CGRectContainsRect();\n }\n goto LAB_100024394;\n }\n }\n pbVar31 = (byte *)0x0;\n }\nLAB_100024394:\n if ((bVar61 & 1) == 0) {\n if ((int)pbVar31 != 0) goto LAB_1000243b0;\nLAB_100024724:\n objc_stub::extent(IVar18);\n local_180._8_8_ = pdVar42[1];\n local_180._0_8_ = *pdVar42;\n local_170 = (long *)pdVar42[2];\n CVar103.field0_0x0.field1_0x8 = dVar79;\n CVar103.field0_0x0.field0_0x0 = extraout_d0_22;\n CVar103.field1_0x10.field1_0x8 = dVar66;\n CVar103.field1_0x10.field0_0x0 = dVar94;\n IVar17 = applySkinSmoothingToImage_params_renderTime_faceObservations_selectedFacePoints_featureReferenceExtent_externalMaskImage_externalPreviewMaskImage_externalRawPreviewSmallMaskImage_\n (param_1,IVar18,&AStack_528,(AnonymousStructure0 *)local_180,local_880,0,\n CVar103,0,0,0);\n }\n else {\n if ((int)pbVar31 == 0) {\n uVar29 = objc_stub::length(0x1000ac5e0);\n if (bVar8 != 0) {\n uVar29 = objc_stub::length(0x1000ac600);\n }\n FUN_100021624(dVar86,dVar81,dVar82,dVar87);\n if ((uVar29 & 1) == 0) {\n uVar29 = objc_stub::length(0x1000ac620);\n }\n FUN_100021624(CVar102.field0_0x0.field0_0x0,CVar102.field0_0x0.field1_0x8,\n CVar102.field1_0x10.field0_0x0,CVar102.field1_0x10.field1_0x8);\n if ((uVar29 & 1) == 0) {\n uVar29 = objc_stub::length(0x1000ac640);\n }\n dVar79 = dVar81;\n dVar94 = dVar82;\n dVar66 = dVar87;\n FUN_100021624(dVar86);\n if (((int)uVar29 != 0) &&\n (dVar79 = CVar102.field0_0x0.field1_0x8, dVar94 = CVar102.field1_0x10.field0_0x0,\n dVar66 = CVar102.field1_0x10.field1_0x8, FUN_100021624(CVar102.field0_0x0.field0_0x0),\n (int)uVar29 != 0)) {\n dVar79 = CVar102.field0_0x0.field1_0x8;\n dVar94 = CVar102.field1_0x10.field0_0x0;\n dVar66 = CVar102.field1_0x10.field1_0x8;\n _CGRectInset(CVar102.field0_0x0.field0_0x0);\n _CGRectContainsRect();\n if ((uVar29 & 1) == 0) {\n objc_stub::length(0x1000ac660);\n dVar99 = CVar102.field0_0x0.field0_0x0;\n dVar79 = CVar102.field0_0x0.field1_0x8;\n dVar98 = CVar102.field1_0x10.field0_0x0;\n dVar69 = CVar102.field1_0x10.field1_0x8;\n _CGRectInset(CVar102.field0_0x0.field0_0x0,CVar102.field0_0x0.field1_0x8,\n CVar102.field1_0x10.field0_0x0,CVar102.field1_0x10.field1_0x8,\n 0xc010000000000000,0xc010000000000000);\n dVar94 = dVar99;\n _CGRectGetMinX();\n dVar66 = dVar86;\n _CGRectGetMinX(dVar86,dVar81,dVar82,dVar87);\n if (dVar66 < dVar94) {\n objc_stub::length(0x1000ac680);\n }\n dVar94 = dVar99;\n _CGRectGetMaxX(dVar99,dVar79,dVar98,dVar69);\n dVar66 = dVar86;\n _CGRectGetMaxX(dVar86,dVar81,dVar82,dVar87);\n if (dVar94 < dVar66) {\n objc_stub::length(0x1000ac6a0);\n }\n dVar94 = dVar99;\n _CGRectGetMinY(dVar99,dVar79,dVar98,dVar69);\n dVar66 = dVar86;\n _CGRectGetMinY(dVar86,dVar81,dVar82,dVar87);\n if (dVar66 < dVar94) {\n objc_stub::length(0x1000ac6c0);\n }\n _CGRectGetMaxY(dVar99,dVar79,dVar98,dVar69);\n dVar98 = dVar86;\n dVar79 = dVar81;\n dVar94 = dVar82;\n dVar66 = dVar87;\n _CGRectGetMaxY();\n if (dVar99 < dVar98) {\n objc_stub::length(0x1000ac6e0);\n }\n }\n }\n goto LAB_100024724;\n }\n objc_stub::length(0x1000ac5c0);\nLAB_1000243b0:\n local_100 = 0.0;\n local_660 = 0.0;\n local_180._8_8_ = pdVar42[1];\n local_180._0_8_ = *pdVar42;\n local_170 = (long *)pdVar42[2];\n bVar11 = mss_resolveFrameAnalysisSkinMaskForInputImage_params_renderTime_maskImageOut_previewMaskImageOut_rawPreviewSmallMaskImageOut_\n (param_1,IVar18,&AStack_528,(AnonymousStructure0 *)local_180,\n (ID *)&local_100,(ID *)&local_660,(ID *)0x0);\n IVar17 = IVar18;\n FUN_10002afa8(dVar86,dVar81,dVar82,dVar87);\n if (local_100 == 0.0) {\n dVar99 = 0.0;\n }\n else {\n dVar99 = local_100;\n FUN_10002afa8(dVar86,dVar81,dVar82,dVar87);\n }\n dVar94 = dVar99;\n if (local_660 != 0.0) {\n dVar94 = local_660;\n FUN_10002afa8(dVar86,dVar81,dVar82,dVar87);\n }\n bVar3 = 0;\n if (IVar17 != 0) {\n bVar3 = bVar11;\n }\n if ((bVar3 != 1) || (dVar99 == 0.0)) {\n objc_stub::length(0x1000ac720);\n _NSStringFromRect(CVar102.field0_0x0.field0_0x0,CVar102.field0_0x0.field1_0x8,\n CVar102.field1_0x10.field0_0x0,CVar102.field1_0x10.field1_0x8);\n dVar79 = dVar81;\n dVar94 = dVar82;\n dVar66 = dVar87;\n _NSStringFromRect(dVar86);\n goto LAB_100024724;\n }\n local_180._8_8_ = pdVar42[1];\n local_180._0_8_ = *pdVar42;\n local_170 = (long *)pdVar42[2];\n IVar17 = applySkinSmoothingToImage_params_renderTime_faceObservations_selectedFacePoints_featureReferenceExtent_externalMaskImage_externalPreviewMaskImage_externalRawPreviewSmallMaskImage_\n (param_1,IVar17,&AStack_528,(AnonymousStructure0 *)local_180,local_880,0,\n CVar102,(ID)dVar99,(ID)dVar94,0);\n objc_stub::length(0x1000ac700);\n _NSStringFromRect(CVar102.field0_0x0.field0_0x0,CVar102.field0_0x0.field1_0x8,\n CVar102.field1_0x10.field0_0x0,CVar102.field1_0x10.field1_0x8);\n dVar79 = dVar81;\n dVar94 = dVar82;\n dVar66 = dVar87;\n _NSStringFromRect(dVar86);\n objc_stub::extent((ID)dVar99);\n _NSStringFromRect();\n if (IVar17 == 0) goto LAB_100024724;\n }\n local_880 = IVar18;\n if (IVar17 != 0) {\n local_880 = IVar17;\n }\n if (uVar46 == 0) {\nLAB_1000247ac:\n IVar17 = local_880;\n FUN_10002b064();\n if (IVar17 != 0) {\n local_880 = IVar17;\n }\n }\n else {\n if (DAT_1000bdf50 != -1) {\n FUN_100079670();\n }\n if ((DAT_1000bd200 & 1) == 0) goto LAB_1000247ac;\n IVar17 = objc_stub::length(0x1000ac740);\n }\n _CGRectIsNull(local_7b8,local_7c0,local_7c8,local_7d0);\n if (((((IVar17 & 1) != 0) ||\n (_CGRectIsEmpty(local_7b8,local_7c0,local_7c8,local_7d0), (IVar17 & 1) != 0)) ||\n (dVar94 = local_7b8, _CGRectGetWidth(local_7b8,local_7c0,local_7c8,local_7d0),\n dVar94 <= 2.220446049250313e-16)) ||\n (dVar94 = local_7b8, _CGRectGetHeight(local_7b8,local_7c0,local_7c8,local_7d0),\n dVar94 <= 2.220446049250313e-16)) {\n local_7b8 = local_560.field0_0x0.field0_0x0;\n local_7c0 = local_560.field0_0x0.field1_0x8;\n local_7c8 = local_560.field1_0x10.field0_0x0;\n local_7d0 = local_560.field1_0x10.field1_0x8;\n }\n if (uVar46 == 0) {\n uVar46 = 0;\n local_8e0 = 0;\n local_8f8 = 0.0;\n }\n else {\n IVar19 = objc_stub::count(local_768);\n IVar20 = objc_stub::count(local_7b0);\n IVar17 = local_7b0;\n if (IVar20 < 0x4d) {\n IVar17 = objc_stub::firstObject(local_768);\n }\n if (IVar19 < 2) {\n IVar20 = objc_stub::count(IVar17);\n local_8e0 = 0;\n local_8f8 = 0.0;\n if ((0x4c < IVar20) && (2.220446049250313e-16 < local_538)) goto LAB_100024908;\n }\n else if (2.220446049250313e-16 < local_538) {\nLAB_100024908:\n local_8f8 = local_538;\n local_8e0 = IVar17;\n }\n else {\n local_8e0 = 0;\n local_8f8 = 0.0;\n }\n if (DAT_1000bdf50 != -1) {\n FUN_100079670();\n }\n uVar46 = (uint)DAT_1000bd200;\n if (((DAT_1000bd200 & 1) == 0) && (2.220446049250313e-16 < local_538)) {\n IVar20 = local_880;\n if (IVar19 < 2) {\n IVar19 = objc_stub::count(IVar17);\n if (IVar19 < 0x4d) {\n IVar20 = 0;\n }\n else {\n IVar19 = IVar17;\n local_180._0_8_ = dVar92;\n local_180._8_8_ = dVar73;\n local_170 = plVar95;\n dStack_168 = dVar74;\n local_160 = dVar96;\n dStack_158 = dVar97;\n FUN_10002b144(CVar100.field0_0x0.field0_0x0,dVar63,dVar64,dVar65,dVar75,dVar93,dVar77,\n dVar76,IVar17,local_180,bVar8);\n IVar24 = objc_stub::count(IVar19);\n dVar94 = local_538;\n if (IVar24 < 0x4d) {\n IVar19 = IVar17;\n }\n IVar17 = objc_stub::deviceRegistryID(param_3);\n FUN_10002b8a4(dVar94,local_880,&AStack_528,IVar19,IVar21,IVar17);\n if ((IVar20 == local_880) && (2.220446049250313e-16 < (double)AStack_528._104_8_)) {\n IVar20 = local_880;\n FUN_10002c1f8(AStack_528._104_8_,local_538,local_880,IVar19);\n }\n }\n }\n else {\n IVar17 = objc_stub::count(local_768);\n IVar17 = NSMutableArray::arrayWithCapacity_((ID)&_OBJC_CLASS___NSMutableArray,IVar17);\n uStack_5b8 = 0;\n local_5c0 = 0;\n uStack_5c8 = 0;\n local_5d0 = 0;\n uStack_5d8 = 0;\n local_5e0 = (long *)0x0;\n lStack_5e8 = 0;\n local_5f0 = 0;\n IVar19 = objc_stub::countByEnumeratingWithState_objects_count_\n (local_768,&local_5f0,auStack_2b0,0x10);\n if (IVar19 != 0) {\n lVar60 = *local_5e0;\n do {\n IVar24 = 0;\n do {\n if (*local_5e0 != lVar60) {\n _objc_enumerationMutation(local_768);\n }\n IVar25 = *(ID *)(lStack_5e8 + IVar24 * 8);\n local_180._0_8_ = dVar92;\n local_180._8_8_ = dVar73;\n local_170 = plVar95;\n dStack_168 = dVar74;\n local_160 = dVar96;\n dStack_158 = dVar97;\n FUN_10002b144(CVar100.field0_0x0.field0_0x0,dVar63,dVar64,dVar65,dVar75,dVar93,\n dVar77,dVar76,IVar25,local_180,bVar8);\n IVar26 = objc_stub::count(IVar25);\n if (0x4c < IVar26) {\n NSMutableArray::addObject_(IVar17,IVar25);\n }\n IVar24 = IVar24 + 1;\n } while (IVar19 != IVar24);\n IVar19 = objc_stub::countByEnumeratingWithState_objects_count_\n (local_768,&local_5f0,auStack_2b0,0x10);\n } while (IVar19 != 0);\n }\n IVar24 = NSMutableArray::count(IVar17);\n dVar94 = local_538;\n IVar19 = local_768;\n if (IVar24 != 0) {\n IVar19 = IVar17;\n }\n IVar17 = objc_stub::deviceRegistryID(param_3);\n FUN_10002b4fc(dVar94,local_880,&AStack_528,IVar19,IVar21,IVar17);\n if ((IVar20 == local_880) && (2.220446049250313e-16 < (double)AStack_528._104_8_)) {\n IVar20 = local_880;\n FUN_10002b738(AStack_528._104_8_,local_538,local_880,IVar19);\n }\n }\n if (IVar20 != 0) {\n local_880 = IVar20;\n }\n }\n pcVar30 = &cf_face_thin_defer_metal;\n if (uVar46 == 0) {\n pcVar30 = &cf_face_thin_ci;\n }\n IVar17 = objc_stub::length((ID)pcVar30);\n }\n _CGRectIsNull(local_808,local_820,local_830,local_838);\n if ((((IVar17 & 1) != 0) ||\n (_CGRectIsEmpty(local_808,local_820,local_830,local_838), (IVar17 & 1) != 0)) ||\n (dVar94 = local_808, _CGRectGetWidth(local_808,local_820,local_830,local_838),\n dVar94 <= 2.220446049250313e-16)) {\n bVar10 = false;\n }\n else {\n dVar94 = local_808;\n _CGRectGetHeight(local_808,local_820,local_830,local_838);\n bVar10 = 2.220446049250313e-16 < dVar94;\n }\n dVar94 = local_790;\n dVar66 = local_798;\n dVar79 = local_7a0;\n dVar99 = local_7a8;\n if ((uVar44 == 0) &&\n (dVar94 = local_808, dVar66 = local_820, dVar79 = local_830, dVar99 = local_838, !bVar10))\n {\n dVar94 = local_790;\n dVar66 = local_798;\n dVar79 = local_7a0;\n dVar99 = local_7a8;\n }\n uVar45 = SUB84(dVar76,0);\n if (local_894 == 0) {\n local_180._8_8_ = pdVar42[1];\n local_180._0_8_ = *pdVar42;\n local_170 = (long *)pdVar42[2];\n FUN_10002d0e4(*(undefined8 *)(param_1 + 8),local_180);\n puVar58 = (undefined *)0x0;\n IVar16 = 0;\n local_890 = (undefined *)0x0;\n }\n else {\n IVar17 = objc_stub::count(IVar16);\n puVar32 = (undefined *)\n NSMutableArray::arrayWithCapacity_((ID)&_OBJC_CLASS___NSMutableArray,IVar17);\n dStack_d8 = 0.0;\n local_e0 = 0.0;\n uStack_c8 = 0;\n uStack_d0 = 0;\n dStack_f8 = 0.0;\n local_100 = 0.0;\n dStack_e8 = 0.0;\n local_f0 = (long *)0x0;\n IVar17 = objc_stub::countByEnumeratingWithState_objects_count_\n (IVar16,&local_100,local_180,0x10);\n if (IVar17 != 0) {\n lVar60 = *local_f0;\n do {\n IVar19 = 0;\n do {\n if (*local_f0 != lVar60) {\n _objc_enumerationMutation(IVar16);\n }\n FUN_100029d20(*(undefined8 *)((long)dStack_f8 + IVar19 * 8));\n FUN_10002ced0(puVar32,0x18);\n IVar19 = IVar19 + 1;\n } while (IVar17 != IVar19);\n IVar17 = objc_stub::countByEnumeratingWithState_objects_count_\n (IVar16,&local_100,local_180,0x10);\n } while (IVar17 != 0);\n }\n IVar16 = objc_stub::count((ID)puVar32);\n puVar58 = (undefined *)0x0;\n if (IVar16 != 0) {\n puVar58 = puVar32;\n }\n puVar32 = puVar58;\n local_180._0_8_ = dVar92;\n local_180._8_8_ = dVar73;\n local_170 = plVar95;\n dStack_168 = dVar74;\n local_160 = dVar96;\n dStack_158 = dVar97;\n FUN_10002c7ec(CVar100.field0_0x0.field0_0x0,dVar63,dVar64,dVar65,dVar75,dVar93,dVar77,dVar76\n ,puVar58,local_180,bVar8);\n if (puVar32 != (undefined *)0x0) {\n puVar58 = puVar32;\n }\n puVar32 = PTR____NSArray0__struct_1000a8110;\n if (puVar58 != (undefined *)0x0) {\n puVar32 = puVar58;\n }\n puVar33 = (undefined *)\n NSMutableArray::arrayWithArray_((ID)&_OBJC_CLASS___NSMutableArray,puVar32);\n puVar32 = puVar33;\n if (bVar10) {\n puVar23 = local_180;\n dVar98 = local_808;\n dVar91 = local_820;\n dVar90 = local_830;\n dVar78 = local_838;\n local_180._0_8_ = dVar92;\n local_180._8_8_ = dVar73;\n local_170 = plVar95;\n dStack_168 = dVar74;\n local_160 = dVar96;\n dStack_158 = dVar97;\n FUN_10002cb20(local_808,local_820,local_830,local_838,CVar100.field0_0x0.field0_0x0,dVar63\n ,dVar64,dVar65,puVar23,bVar8);\n _CGRectIsNull();\n dVar69 = local_808;\n dVar55 = local_820;\n dVar85 = local_830;\n dVar80 = local_838;\n if (((((ulong)puVar23 & 1) == 0) &&\n (_CGRectIsEmpty(dVar98,dVar91,dVar90,dVar78), ((ulong)puVar23 & 1) == 0)) &&\n ((dVar68 = dVar98, _CGRectGetWidth(dVar98,dVar91,dVar90,dVar78),\n 2.220446049250313e-16 < dVar68 &&\n (dVar68 = dVar98, _CGRectGetHeight(dVar98,dVar91,dVar90,dVar78),\n 2.220446049250313e-16 < dVar68)))) {\n dVar69 = dVar98;\n dVar55 = dVar91;\n dVar85 = dVar90;\n dVar80 = dVar78;\n }\n FUN_10002ced0(dVar69,dVar55,dVar85,dVar80,puVar33,0x18);\n }\n _CGRectIsNull(dVar94,dVar66,dVar79,dVar99);\n if ((((((ulong)puVar32 & 1) == 0) &&\n (_CGRectIsEmpty(dVar94,dVar66,dVar79,dVar99), ((ulong)puVar32 & 1) == 0)) &&\n (dVar98 = dVar94, _CGRectGetWidth(dVar94,dVar66,dVar79,dVar99),\n 2.220446049250313e-16 < dVar98)) &&\n (dVar98 = dVar94, _CGRectGetHeight(dVar94,dVar66,dVar79,dVar99),\n 2.220446049250313e-16 < dVar98)) {\n puVar23 = local_180;\n dVar98 = dVar94;\n dVar91 = dVar66;\n dVar90 = dVar79;\n dVar78 = dVar99;\n local_180._0_8_ = dVar92;\n local_180._8_8_ = dVar73;\n local_170 = plVar95;\n dStack_168 = dVar74;\n local_160 = dVar96;\n dStack_158 = dVar97;\n FUN_10002cb20(dVar94,dVar66,dVar79,dVar99,CVar100.field0_0x0.field0_0x0,dVar63,dVar64,\n dVar65,puVar23,bVar8);\n _CGRectIsNull();\n dVar69 = dVar94;\n dVar55 = dVar66;\n dVar85 = dVar79;\n dVar80 = dVar99;\n if (((((ulong)puVar23 & 1) == 0) &&\n (_CGRectIsEmpty(dVar98,dVar91,dVar90,dVar78), ((ulong)puVar23 & 1) == 0)) &&\n ((dVar68 = dVar98, _CGRectGetWidth(dVar98,dVar91,dVar90,dVar78),\n 2.220446049250313e-16 < dVar68 &&\n (dVar68 = dVar98, _CGRectGetHeight(dVar98,dVar91,dVar90,dVar78),\n 2.220446049250313e-16 < dVar68)))) {\n dVar69 = dVar98;\n dVar55 = dVar91;\n dVar85 = dVar90;\n dVar80 = dVar78;\n }\n FUN_10002ced0(dVar69,dVar55,dVar85,dVar80,puVar33,0x18);\n }\n uVar29 = objc_stub::count((ID)puVar33);\n local_890 = puVar58;\n if (uVar29 != 0) {\n local_890 = puVar33;\n }\n if (((uVar44 != 0) || (_CGRectIsNull(dVar94,dVar66,dVar79,dVar99), (uVar29 & 1) != 0)) ||\n ((_CGRectIsEmpty(dVar94,dVar66,dVar79,dVar99), (uVar29 & 1) != 0 ||\n ((dVar98 = dVar94, _CGRectGetWidth(dVar94,dVar66,dVar79,dVar99),\n dVar98 <= 2.220446049250313e-16 ||\n (dVar98 = dVar94, _CGRectGetHeight(dVar94,dVar66,dVar79,dVar99),\n dVar98 <= 2.220446049250313e-16)))))) {\nLAB_10002527c:\n IVar16 = 0;\n }\n else {\n dVar98 = dVar94;\n dVar69 = dVar66;\n dVar91 = dVar79;\n dVar55 = dVar99;\n FUN_10002c6b8(dVar94,dVar66,dVar79,dVar99,AStack_528.field32_0xf0);\n _CGRectIsNull();\n if (((uVar29 & 1) != 0) ||\n (_CGRectIsEmpty(dVar98,dVar69,dVar91,dVar55), (uVar29 & 1) != 0)) goto LAB_10002527c;\n _CGRectStandardize(dVar98,dVar69,dVar91,dVar55);\n _CGRectIntersection();\n _CGRectIsNull();\n if (((uVar29 & 1) != 0) ||\n (_CGRectIsEmpty(dVar98,dVar69,dVar91,dVar55), (uVar29 & 1) != 0)) goto LAB_10002527c;\n local_180._0_8_ =\n NSValue::valueWithRect_((ID)&_OBJC_CLASS___NSValue,dVar98,dVar69,dVar91,dVar55);\n IVar16 = NSArray::arrayWithObjects_count_((ID)&_OBJC_CLASS___NSArray,local_180,1);\n }\n local_180._8_8_ = pdVar42[1];\n local_180._0_8_ = *pdVar42;\n local_170 = (long *)pdVar42[2];\n FUN_10002d0e4(*(undefined8 *)(param_1 + 8),local_180);\n }\n puVar23 = local_180;\n dVar98 = dVar94;\n dVar69 = dVar66;\n dVar91 = dVar79;\n dVar55 = dVar99;\n local_180._0_8_ = dVar92;\n local_180._8_8_ = dVar73;\n local_170 = plVar95;\n dStack_168 = dVar74;\n local_160 = dVar96;\n dStack_158 = dVar97;\n FUN_10002cb20(puVar23,bVar8);\n _CGRectIsNull();\n if ((((((ulong)puVar23 & 1) == 0) &&\n (_CGRectIsEmpty(dVar98,dVar69,dVar91,dVar55), ((ulong)puVar23 & 1) == 0)) &&\n (dVar90 = dVar98, _CGRectGetWidth(dVar98,dVar69,dVar91,dVar55),\n 2.220446049250313e-16 < dVar90)) &&\n (dVar90 = dVar98, _CGRectGetHeight(dVar98,dVar69,dVar91,dVar55),\n 2.220446049250313e-16 < dVar90)) {\n dVar94 = dVar98;\n dVar66 = dVar69;\n dVar79 = dVar91;\n dVar99 = dVar55;\n }\n puVar23 = local_180;\n dVar69 = local_790;\n dVar91 = local_798;\n dVar55 = local_7a0;\n dVar90 = local_7a8;\n uVar13 = uVar45;\n local_180._0_8_ = dVar92;\n local_180._8_8_ = dVar73;\n local_170 = plVar95;\n dStack_168 = dVar74;\n local_160 = dVar96;\n dStack_158 = dVar97;\n dVar98 = dVar93;\n FUN_10002cb20(puVar23,bVar8);\n _CGRectIsNull();\n if (((((ulong)puVar23 & 1) != 0) ||\n (_CGRectIsEmpty(dVar69,dVar91,dVar55,dVar90), ((ulong)puVar23 & 1) != 0)) ||\n ((dVar85 = dVar69, _CGRectGetWidth(dVar69,dVar91,dVar55,dVar90),\n dVar85 <= 2.220446049250313e-16 ||\n (dVar85 = dVar69, _CGRectGetHeight(dVar69,dVar91,dVar55,dVar90),\n dVar85 <= 2.220446049250313e-16)))) {\n dVar69 = local_790;\n dVar91 = local_798;\n dVar55 = local_7a0;\n dVar90 = local_7a8;\n }\n local_8a0 = 0;\n local_180._0_8_ = dVar92;\n local_180._8_8_ = dVar73;\n local_170 = plVar95;\n dStack_168 = dVar74;\n local_160 = dVar96;\n dStack_158 = dVar97;\n FUN_10002c7ec(CVar100.field0_0x0.field0_0x0,dVar63,dVar64,dVar65,dVar75,dVar93,dVar77,dVar76,0\n ,local_180,bVar8);\n local_180._0_8_ = dVar92;\n local_180._8_8_ = dVar73;\n local_170 = plVar95;\n dStack_168 = dVar74;\n local_160 = dVar96;\n dStack_158 = dVar97;\n FUN_10002c7ec(CVar100.field0_0x0.field0_0x0,dVar63,dVar64,dVar65,dVar75,dVar93,dVar77,dVar76,\n IVar16,local_180,bVar8);\n IVar16 = objc_stub::count((ID)local_890);\n if ((IVar16 == 0) && (IVar16 = objc_stub::count(local_8a0), IVar16 == 0)) {\n local_8d8 = 0;\n IVar16 = 0;\n }\n else {\n IVar16 = objc_stub::count((ID)local_890);\n IVar17 = objc_stub::count(local_8a0);\n local_8d8 = NSMutableArray::arrayWithCapacity_\n ((ID)&_OBJC_CLASS___NSMutableArray,IVar17 + IVar16);\n IVar16 = objc_stub::count((ID)local_890);\n if (IVar16 != 0) {\n NSMutableArray::addObjectsFromArray_(local_8d8,local_890);\n }\n IVar17 = objc_stub::count(local_8a0);\n IVar16 = 0;\n if (IVar17 != 0) {\n IVar16 = NSMutableArray::addObjectsFromArray_(local_8d8,local_8a0);\n }\n }\n if ((local_894 & 1) == 0) {\n IVar16 = *(ID *)(param_1 + 8);\n local_180._8_8_ = pdVar42[1];\n local_180._0_8_ = *pdVar42;\n local_170 = (long *)pdVar42[2];\n FUN_10002d0e4(IVar16,local_180);\n local_8d8 = 0;\n local_8a0 = 0;\n puVar58 = (undefined *)0x0;\n local_890 = (undefined *)0x0;\n dVar69 = local_790;\n dVar91 = local_798;\n dVar55 = local_7a0;\n dVar90 = local_7a8;\n dVar94 = local_790;\n dVar66 = local_798;\n dVar79 = local_7a0;\n dVar99 = local_7a8;\n }\n local_100 = *pdVar42;\n uVar6 = *(uint *)((long)pdVar42 + 0xc);\n dStack_f8 = (double)CONCAT44(dStack_f8._4_4_,*(undefined4 *)(pdVar42 + 1));\n plVar49 = (long *)pdVar42[2];\n if (*(long *)(param_1 + 8) == 0) {\n IVar17 = 0;\n }\n else {\n IVar16 = NSValue::valueWithNonretainedObject_((ID)&_OBJC_CLASS___NSValue);\n IVar17 = IVar16;\n }\n FUN_100050f34();\n IVar19 = IVar16;\n FUN_100050f34();\n IVar20 = IVar19;\n FUN_100050f34();\n IVar24 = IVar20;\n FUN_100050f34();\n dVar85 = local_790;\n dVar80 = local_798;\n dVar83 = local_7a0;\n dVar88 = local_7a8;\n FUN_10001bef0();\n dVar78 = local_790;\n dVar68 = local_798;\n dVar84 = local_7a0;\n dVar89 = local_7a8;\n FUN_10001bef0();\n IVar25 = objc_stub::count(IVar16);\n if ((((IVar25 == 0) && (IVar25 = objc_stub::count(IVar19), IVar25 == 0)) &&\n (IVar25 = objc_stub::count(IVar20), IVar25 == 0)) &&\n ((uVar29 = objc_stub::count(IVar24), uVar29 == 0 &&\n (FUN_10001a870(dVar85,dVar80,dVar83,dVar88), (uVar29 & 1) == 0)))) {\n FUN_10001a870(dVar78,dVar68,dVar84,dVar89);\n }\n else {\n uVar29 = 1;\n }\n if (DAT_1000bdfc8 != -1) {\n FUN_100079694();\n }\n IVar25 = DAT_1000bdfc0;\n objc_stub::lock(DAT_1000bdfc0);\n if (DAT_1000bdfd8 != -1) {\n FUN_1000796b8();\n }\n IVar26 = DAT_1000bdfd0;\n if ((uVar29 & 1) == 0) {\n if (IVar17 != 0) {\n objc_stub::removeObjectForKey_(DAT_1000bdfd0,IVar17);\n }\n DAT_1000bdfb0 = 0;\n DAT_1000bdfb8 = 0;\n }\n else {\n IVar56 = NSMutableDictionary::dictionary((ID)&_OBJC_CLASS___NSMutableDictionary);\n IVar34 = objc_stub::count(IVar16);\n if (IVar34 != 0) {\n NSMutableDictionary::setObject_forKeyedSubscript_(IVar56,IVar16,&cf_faceBoxes);\n }\n IVar35 = objc_stub::count(IVar19);\n IVar34 = 0;\n if (IVar35 != 0) {\n IVar34 = NSMutableDictionary::setObject_forKeyedSubscript_\n (IVar56,IVar19,&cf_faceSelectionBoxes);\n }\n _CGRectIsNull(dVar85,dVar80,dVar83,dVar88);\n if ((((IVar34 & 1) == 0) && (_CGRectIsEmpty(dVar85,dVar80,dVar83,dVar88), (IVar34 & 1) == 0)\n ) && ((dVar67 = dVar85, _CGRectGetWidth(dVar85,dVar80,dVar83,dVar88),\n 2.220446049250313e-16 < dVar67 &&\n (dVar67 = dVar85, _CGRectGetHeight(dVar85,dVar80,dVar83,dVar88),\n 2.220446049250313e-16 < dVar67)))) {\n IVar34 = NSValue::valueWithRect_((ID)&_OBJC_CLASS___NSValue,dVar85,dVar80,dVar83,dVar88);\n NSMutableDictionary::setObject_forKeyedSubscript_(IVar56,IVar34,&cf_faceSelectedBox);\n }\n IVar35 = objc_stub::count(IVar20);\n IVar34 = 0;\n if (IVar35 != 0) {\n IVar34 = NSMutableDictionary::setObject_forKeyedSubscript_(IVar56,IVar20,&cf_trackBoxes);\n }\n _CGRectIsNull(dVar78,dVar68,dVar84,dVar89);\n if (((((IVar34 & 1) == 0) &&\n (_CGRectIsEmpty(dVar78,dVar68,dVar84,dVar89), (IVar34 & 1) == 0)) &&\n (dVar85 = dVar78, _CGRectGetWidth(dVar78,dVar68,dVar84,dVar89),\n 2.220446049250313e-16 < dVar85)) &&\n (dVar85 = dVar78, _CGRectGetHeight(dVar78,dVar68,dVar84,dVar89),\n 2.220446049250313e-16 < dVar85)) {\n IVar34 = NSValue::valueWithRect_((ID)&_OBJC_CLASS___NSValue,dVar78,dVar68,dVar84,dVar89);\n NSMutableDictionary::setObject_forKeyedSubscript_(IVar56,IVar34,&cf_trackSelectedBox);\n }\n IVar34 = objc_stub::count(IVar24);\n if (IVar34 != 0) {\n NSMutableDictionary::setObject_forKeyedSubscript_(IVar56,IVar24,&cf_guardBoxes);\n }\n if ((uVar6 & 0x1d) == 1) {\n local_180._0_8_ = local_100;\n local_180._8_8_ = CONCAT44(uVar6,SUB84(dStack_f8,0));\n local_170 = plVar49;\n _CMTimeGetSeconds(local_180);\n }\n IVar34 = NSNumber::numberWithDouble_((ID)&_OBJC_CLASS___NSNumber);\n NSMutableDictionary::setObject_forKeyedSubscript_(IVar56,IVar34,&cf_renderTime);\n IVar56 = NSMutableDictionary::copy(IVar56);\n if (IVar17 == 0) {\n IVar17 = 0;\n }\n else {\n objc_stub::setObject_forKey_(IVar26,IVar56,IVar17);\n }\n DAT_1000bdfb0 = IVar56;\n DAT_1000bdfb8 = IVar17;\n _CFAbsoluteTimeGetCurrent();\n objc_stub::count(IVar16);\n objc_stub::count(IVar19);\n objc_stub::count(IVar20);\n objc_stub::count(IVar24);\n if ((uVar6 & 0x1d) == 1) {\n local_180._0_8_ = local_100;\n local_180._8_8_ = CONCAT44(uVar6,SUB84(dStack_f8,0));\n local_170 = plVar49;\n _CMTimeGetSeconds(local_180);\n }\n }\n objc_stub::unlock(IVar25);\n if (local_8cc == 0) {\n uVar6 = 0;\n }\n else {\n IVar16 = objc_stub::count(local_7b0);\n uVar6 = (uint)(0x4c < IVar16);\n }\n IVar16 = objc_stub::deviceRegistryID(param_3);\n FUN_10002d3cc();\n if (IVar16 != 0) {\n if ((IVar22 == 0) || (local_788 == 0)) {\n bVar10 = false;\n if (local_788 != 0) goto LAB_100025b5c;\nLAB_100025b74:\n local_780 = FxMTLDeviceCache::MTLPixelFormatForImageTile_\n ((ID)&objc::class_t::FxMTLDeviceCache,param_3);\n }\n else {\n IVar17 = objc_stub::width(local_788);\n if ((IVar17 != 0) && (IVar17 = objc_stub::height(local_788), IVar17 != 0)) {\n IVar17 = objc_stub::usage(local_788);\n if (((uint)IVar17 >> 2 & 1) != 0) {\n bVar10 = true;\n goto LAB_100025b5c;\n }\n objc_stub::usage(local_788);\n }\n bVar10 = false;\nLAB_100025b5c:\n IVar17 = objc_stub::pixelFormat(local_788);\n if (IVar17 == 0) goto LAB_100025b74;\n local_780 = objc_stub::pixelFormat(local_788);\n }\n IVar17 = local_780;\n if (puVar28 != (undefined8 *)0x0) {\n IVar17 = FxMTLDeviceCache::MTLPixelFormatForImageTile_\n ((ID)&objc::class_t::FxMTLDeviceCache,param_3);\n }\n IVar19 = local_780;\n if (!bVar10) {\n uVar59 = 0;\n if (2.220446049250313e-16 < local_8f8) {\n uVar59 = uVar46;\n }\n if (uVar59 == 1) {\n if (DAT_1000be018 != -1) {\n FUN_1000796dc();\n }\n if (((puVar28 == (undefined8 *)0x0) || (IVar22 == 0)) || ((DAT_1000bd201 & 1) == 0)) {\n local_788 = 0;\n }\n else {\n puVar36 = puVar28;\n _IOSurfaceGetWidth(puVar28);\n puVar37 = puVar28;\n _IOSurfaceGetHeight(puVar28);\n local_788 = IVar22;\n FUN_10002d514(IVar22,puVar28,IVar17,puVar36,puVar37);\n IVar19 = IVar17;\n if (local_788 == 0) goto LAB_100025c50;\n }\n }\n else {\nLAB_100025c50:\n local_788 = 0;\n IVar19 = local_780;\n }\n }\n local_780 = IVar19;\n uVar1 = 0x73;\n if (local_780 != 0) {\n uVar1 = local_780;\n }\n objc_stub::count(local_768);\n IVar17 = objc_stub::count(local_768);\n if (IVar17 == 0) {\n IVar17 = objc_stub::count(local_8e0);\n uVar59 = (uint)(0x4c < IVar17);\n }\n else {\n uStack_5f8 = 0;\n local_600 = 0;\n uStack_608 = 0;\n local_610 = 0;\n uStack_618 = 0;\n local_620 = (long *)0x0;\n lStack_628 = 0;\n local_630 = 0;\n IVar17 = objc_stub::countByEnumeratingWithState_objects_count_\n (local_768,&local_630,auStack_330,0x10);\n if (IVar17 == 0) {\n uVar59 = 0;\n }\n else {\n lVar60 = *local_620;\n do {\n IVar19 = 0;\n do {\n if (*local_620 != lVar60) {\n _objc_enumerationMutation(local_768);\n }\n IVar20 = objc_stub::count(*(ID *)(lStack_628 + IVar19 * 8));\n if (0x4c < IVar20) {\n uVar59 = 1;\n goto LAB_100025d44;\n }\n IVar19 = IVar19 + 1;\n } while (IVar17 != IVar19);\n IVar17 = objc_stub::countByEnumeratingWithState_objects_count_\n (local_768,&local_630,auStack_330,0x10);\n uVar59 = 0;\n } while (IVar17 != 0);\n }\n }\nLAB_100025d44:\n uVar4 = 0;\n if (2.220446049250313e-16 < local_8f8) {\n uVar4 = uVar46;\n }\n if (uVar44 == 0) {\n objc_stub::count(0);\n }\n objc_stub::count(local_7b0);\n objc_stub::count(local_768);\n IVar19 = objc_stub::count(local_768);\n IVar17 = local_8e0;\n if (IVar19 != 0) {\n IVar17 = objc_stub::firstObject(local_768);\n }\n objc_stub::count(IVar17);\n FUN_10001b584(local_808,local_820,local_830,local_838);\n FUN_10001b584(local_790,local_798,local_7a0,local_7a8);\n IVar17 = NSUserDefaults::standardUserDefaults((ID)&_OBJC_CLASS___NSUserDefaults);\n IVar19 = NSUserDefaults::objectForKey_(IVar17,&cf_MSE18GlobalFaceBoxPreviewEnabled);\n if (IVar19 == 0) {\n uVar46 = 0;\n }\n else {\n IVar17 = NSUserDefaults::boolForKey_(IVar17,&cf_MSE18GlobalFaceBoxPreviewEnabled);\n uVar46 = (uint)IVar17;\n }\n IVar17 = objc_stub::count((ID)puVar58);\n if ((IVar17 != 0) ||\n (IVar17 = objc_stub::count((ID)puVar58), puVar32 = local_890, IVar17 != 0)) {\n puVar32 = (undefined *)0x0;\n }\n if (*(long *)(param_1 + 8) == 0) {\n IVar17 = 0;\n }\n else {\n IVar17 = NSValue::valueWithNonretainedObject_((ID)&_OBJC_CLASS___NSValue);\n }\n if (DAT_1000bdfc8 != -1) {\n FUN_100079694();\n }\n IVar19 = DAT_1000bdfc0;\n objc_stub::lock(DAT_1000bdfc0);\n if (IVar17 == 0) {\n IVar17 = 0;\n }\n else {\n if (DAT_1000be028 != -1) {\n FUN_100079700();\n }\n IVar17 = objc_stub::objectForKeyedSubscript_(DAT_1000be020,IVar17);\n }\n objc_stub::unlock(IVar19);\n IVar20 = objc_stub::objectForKeyedSubscript_(IVar17,&cf_selectionDisplayPoint);\n puVar33 = &_OBJC_CLASS___NSValue;\n _objc_opt_class(&_OBJC_CLASS___NSValue);\n IVar19 = IVar20;\n _objc_opt_isKindOfClass(IVar20,puVar33);\n if ((IVar19 & 1) != 0) {\n objc_stub::pointValue(IVar20);\n }\n IVar20 = objc_stub::objectForKeyedSubscript_(IVar17,&cf_selectionSourcePoint);\n puVar33 = &_OBJC_CLASS___NSValue;\n _objc_opt_class(&_OBJC_CLASS___NSValue);\n IVar19 = IVar20;\n _objc_opt_isKindOfClass(IVar20,puVar33);\n if ((IVar19 & 1) != 0) {\n objc_stub::pointValue(IVar20);\n uVar13 = uVar45;\n local_180._0_8_ = dVar92;\n local_180._8_8_ = dVar73;\n local_170 = plVar95;\n dStack_168 = dVar74;\n local_160 = dVar96;\n dStack_158 = dVar97;\n dVar98 = dVar93;\n FUN_10002d97c(local_180,bVar8);\n }\n IVar19 = objc_stub::objectForKeyedSubscript_(IVar17,&cf_selectionMirrorPoint);\n puVar33 = &_OBJC_CLASS___NSValue;\n _objc_opt_class(&_OBJC_CLASS___NSValue);\n IVar17 = IVar19;\n _objc_opt_isKindOfClass(IVar19,puVar33);\n if ((IVar17 & 1) != 0) {\n objc_stub::pointValue(IVar19);\n local_180._0_8_ = dVar92;\n local_180._8_8_ = dVar73;\n local_170 = plVar95;\n dStack_168 = dVar74;\n local_160 = dVar96;\n dStack_158 = dVar97;\n dVar98 = dVar93;\n FUN_10002d97c(local_180,bVar8);\n uVar13 = uVar45;\n }\n local_988 = dVar99;\n IVar17 = local_8a0;\n dStack_970 = dVar94;\n local_978 = dVar66;\n dStack_980 = dVar79;\n local_9a8 = dVar90;\n dStack_990 = dVar69;\n local_998 = dVar91;\n dStack_9a0 = dVar55;\n if ((local_894 & uVar46) == 0) {\n IVar17 = 0;\n puVar58 = (undefined *)0x0;\n puVar32 = (undefined *)0x0;\n local_988 = local_7a8;\n dStack_970 = local_790;\n local_978 = local_798;\n dStack_980 = local_7a0;\n local_9a8 = local_7a8;\n dStack_990 = local_790;\n local_998 = local_798;\n dStack_9a0 = local_7a0;\n }\n objc_stub::count((ID)puVar32);\n objc_stub::count((ID)puVar58);\n objc_stub::count(IVar17);\n objc_stub::count(0);\n objc_stub::count((ID)puVar32);\n objc_stub::count((ID)puVar58);\n objc_stub::count(IVar17);\n objc_stub::count(0);\n objc_stub::count((ID)local_890);\n objc_stub::count(local_8a0);\n objc_stub::count(0);\n objc_stub::count(local_8d8);\n _NSStringFromRect(dVar94,dVar66,dVar79,dVar99);\n _NSStringFromRect(dVar69,dVar91,dVar55,dVar90);\n _NSStringFromRect(dStack_970,local_978,dStack_980,local_988);\n _NSStringFromRect(dStack_990,local_998,dStack_9a0,local_9a8);\n _NSStringFromRect(dStack_970,local_978,dStack_980,local_988);\n _NSStringFromRect(dStack_990,local_998,dStack_9a0,local_9a8);\n if (IVar22 == 0 || local_788 == 0) {\nLAB_1000268b0:\n uVar44 = 0;\n }\n else {\n IVar19 = objc_stub::width(local_788);\n IVar20 = objc_stub::height(local_788);\n uVar29 = objc_stub::width(local_788);\n IVar24 = objc_stub::height(local_788);\n FUN_10002dc00(dVar86,dVar81,dVar82,dVar87,uVar29,IVar24);\n uVar44 = (uint)uVar29;\n uVar46 = uVar44;\n if (bVar8 != 0) {\n iVar14 = (int)local_180;\n local_180._0_8_ = dVar92;\n local_180._8_8_ = dVar73;\n local_170 = plVar95;\n dStack_168 = dVar74;\n local_160 = dVar96;\n dStack_158 = dVar97;\n FUN_1000295e4();\n uVar46 = 0;\n if (iVar14 != 0) {\n local_100 = dVar92;\n dStack_f8 = dVar73;\n local_f0 = plVar95;\n dStack_e8 = dVar74;\n local_e0 = dVar96;\n dStack_d8 = dVar97;\n _CGAffineTransformInvert(local_180,&local_100);\n dStack_f8 = (double)local_180._8_8_;\n local_100 = (double)local_180._0_8_;\n dStack_e8 = dStack_168;\n local_f0 = local_170;\n dStack_d8 = dStack_158;\n local_e0 = local_160;\n uVar46 = (uint)&local_100;\n FUN_10002dc94(dVar86,dVar81,dVar82,dVar87);\n }\n }\n dVar94 = CVar100.field0_0x0.field0_0x0;\n dVar66 = dVar63;\n dVar79 = dVar64;\n dVar99 = dVar65;\n _CGRectIntersection();\n FUN_100021624(dVar94,dVar66,dVar79,dVar99);\n if (uVar46 == 0) {\nLAB_100026328:\n uVar45 = 0;\n }\n else {\n dVar69 = dVar94;\n _CGRectGetWidth(dVar94,dVar66,dVar79,dVar99);\n dVar91 = dVar86;\n _CGRectGetWidth(dVar86,dVar81,dVar82,dVar87);\n dVar55 = dVar86;\n _CGRectGetWidth(dVar86,dVar81,dVar82,dVar87);\n dVar55 = dVar55 * 0.01;\n if (dVar55 <= 2.0) {\n dVar55 = 2.0;\n }\n if (dVar55 < ABS(dVar69 - dVar91)) goto LAB_100026328;\n dVar69 = dVar94;\n _CGRectGetHeight(dVar94,dVar66,dVar79,dVar99);\n dVar91 = dVar86;\n _CGRectGetHeight(dVar86,dVar81,dVar82,dVar87);\n dVar55 = dVar86;\n _CGRectGetHeight(dVar86,dVar81,dVar82,dVar87);\n dVar55 = dVar55 * 0.01;\n if (dVar55 <= 2.0) {\n dVar55 = 2.0;\n }\n uVar45 = (uint)(ABS(dVar69 - dVar91) <= dVar55);\n }\n FUN_100021624(dVar94,dVar66,dVar79,dVar99);\n local_9d0 = NEON_fmov(0x3f800000,4);\n local_9c0 = 0;\n if ((uVar46 != 0) &&\n (FUN_100021624(CVar100.field0_0x0.field0_0x0,dVar63,dVar64,dVar65), uVar46 != 0)) {\n dVar69 = CVar100.field0_0x0.field0_0x0;\n _CGRectGetWidth(CVar100.field0_0x0.field0_0x0,dVar63,dVar64,dVar65);\n dVar91 = CVar100.field0_0x0.field0_0x0;\n _CGRectGetHeight(CVar100.field0_0x0.field0_0x0,dVar63,dVar64,dVar65);\n if ((2.220446049250313e-16 < dVar69) && (2.220446049250313e-16 < dVar91)) {\n dVar55 = dVar94;\n _CGRectGetMinX(dVar94,dVar66,dVar79,dVar99);\n dVar90 = CVar100.field0_0x0.field0_0x0;\n _CGRectGetMinX(CVar100.field0_0x0.field0_0x0,dVar63,dVar64,dVar65);\n dVar85 = dVar94;\n _CGRectGetMinY(dVar94,dVar66,dVar79,dVar99);\n dVar78 = CVar100.field0_0x0.field0_0x0;\n _CGRectGetMinY(CVar100.field0_0x0.field0_0x0,dVar63,dVar64,dVar65);\n dVar80 = dVar94;\n _CGRectGetWidth(dVar94,dVar66,dVar79,dVar99);\n dVar68 = dVar94;\n _CGRectGetHeight(dVar94,dVar66,dVar79,dVar99);\n dVar90 = (dVar55 - dVar90) / dVar69;\n dVar55 = (dVar85 - dVar78) / dVar91;\n dVar80 = dVar80 / dVar69;\n if ((((((ulong)ABS(dVar90) < 0x7ff0000000000000) &&\n ((ulong)ABS(dVar55) < 0x7ff0000000000000)) &&\n ((ulong)ABS(dVar80) < 0x7ff0000000000000)) &&\n ((dVar68 = dVar68 / dVar91, (ulong)ABS(dVar68) < 0x7ff0000000000000 &&\n (2.220446049250313e-16 < dVar80)))) && (2.220446049250313e-16 < dVar68)) {\n dVar69 = 2.0;\n if (dVar90 <= 2.0) {\n dVar69 = dVar90;\n }\n dVar91 = -1.0;\n if (-1.0 <= dVar90) {\n dVar91 = dVar69;\n }\n dVar69 = 2.0;\n if (dVar55 <= 2.0) {\n dVar69 = dVar55;\n }\n dVar90 = -1.0;\n if (-1.0 <= dVar55) {\n dVar90 = dVar69;\n }\n local_9c0 = CONCAT44((float)dVar90,(float)dVar91);\n dVar69 = 3.0;\n if (dVar80 <= 3.0) {\n dVar69 = dVar80;\n }\n dVar91 = 1e-06;\n if (1e-06 <= dVar80) {\n dVar91 = dVar69;\n }\n dVar69 = 3.0;\n if (dVar68 <= 3.0) {\n dVar69 = dVar68;\n }\n dVar55 = 1e-06;\n if (1e-06 <= dVar68) {\n dVar55 = dVar69;\n }\n local_9d0 = CONCAT44((float)dVar55,(float)dVar91);\n }\n }\n }\n IVar24 = objc_stub::width(local_788);\n IVar25 = objc_stub::height(local_788);\n uVar46 = 0;\n if (IVar24 != 0 && IVar25 != 0) {\n uVar46 = uVar44;\n }\n if (uVar46 == 1) {\n IVar26 = IVar25;\n FUN_100021624(dVar75,dVar93,dVar77,dVar76);\n iVar14 = (int)IVar26;\n if ((iVar14 == 0) || (FUN_100021624(dVar86,dVar81,dVar82,dVar87), iVar14 == 0))\n goto LAB_1000266cc;\n dVar69 = dVar75;\n _CGRectGetWidth(dVar75,dVar93,dVar77,dVar76);\n dVar91 = dVar75;\n _CGRectGetHeight(dVar75,dVar93,dVar77,dVar76);\n dVar55 = dVar86;\n _CGRectGetWidth(dVar86,dVar81,dVar82,dVar87);\n dVar90 = dVar86;\n _CGRectGetHeight(dVar86,dVar81,dVar82,dVar87);\n dVar85 = dVar86;\n _CGRectGetMinX(dVar86,dVar81,dVar82,dVar87);\n dVar78 = dVar75;\n _CGRectGetMinX(dVar75,dVar93,dVar77,dVar76);\n if (4.0 < ABS(dVar85 - dVar78)) goto LAB_1000266cc;\n dVar85 = dVar86;\n _CGRectGetMinY(dVar86,dVar81,dVar82,dVar87);\n dVar78 = dVar75;\n _CGRectGetMinY(dVar75,dVar93,dVar77,dVar76);\n if (4.0 < ABS(dVar85 - dVar78)) goto LAB_1000266cc;\n dVar85 = dVar69 * 0.004;\n if (dVar85 <= 8.0) {\n dVar85 = 8.0;\n }\n if (dVar85 < ABS(dVar55 - dVar69)) goto LAB_1000266cc;\n dVar69 = dVar91 * 0.004;\n if (dVar69 <= 8.0) {\n dVar69 = 8.0;\n }\n if (dVar69 < ABS(dVar90 - dVar91)) goto LAB_1000266cc;\n if (ABS((double)IVar24 - dVar55) <= 1.0) {\n bVar10 = ABS((double)IVar25 - dVar90) <= 1.0;\n }\n else {\n bVar10 = false;\n }\n }\n else {\nLAB_1000266cc:\n bVar10 = false;\n }\n dVar91 = (double)IVar19;\n dVar69 = (double)IVar20;\n local_9b0 = local_880;\n if (uVar44 != 0) {\n FUN_10002decc(dVar86,dVar81,dVar82,dVar87,0,0,dVar91,dVar69,local_880,1);\n }\n uVar46 = uVar4 & uVar59;\n dVar55 = dVar69;\n if (uVar46 == 0) {\n FUN_10002ed00(0,0,dVar91);\n pcVar30 = &cf_output_metal_make_opaque_bounds;\n }\n else {\n IVar19 = objc_stub::imageByCroppingToRect_(local_9b0,0,0,dVar91);\n if (IVar19 != 0) {\n local_9b0 = IVar19;\n }\n pcVar30 = &cf_output_metal_face_thin_crop_bounds;\n }\n objc_stub::length((ID)pcVar30);\n if (local_7d8 == 0) {\n uVar53 = 0;\nLAB_100026808:\n CVar102.field1_0x10.field1_0x8 = dVar55;\n uVar47 = 0;\n }\n else {\n IVar19 = objc_stub::width(local_7d8);\n IVar20 = objc_stub::width(local_788);\n if (IVar19 == IVar20) {\n IVar19 = objc_stub::height(local_7d8);\n IVar20 = objc_stub::height(local_788);\n if (IVar19 != IVar20) goto LAB_1000267d0;\n dVar55 = CVar102.field1_0x10.field1_0x8;\n _CGRectEqualToRect(CVar102.field0_0x0.field0_0x0,CVar102.field0_0x0.field1_0x8,\n CVar102.field1_0x10.field0_0x0,CVar102.field1_0x10.field1_0x8,\n dVar86,dVar81,dVar82,dVar87);\n uVar47 = (uint)IVar20;\n uVar53 = uVar47;\n }\n else {\nLAB_1000267d0:\n uVar47 = (uint)IVar20;\n uVar53 = 0;\n }\n if (uVar44 == 0) goto LAB_100026808;\n _CGRectEqualToRect(CVar102.field0_0x0.field0_0x0,CVar102.field0_0x0.field1_0x8,\n CVar102.field1_0x10.field0_0x0,CVar102.field1_0x10.field1_0x8,\n CVar100.field0_0x0.field0_0x0,dVar63,dVar64,dVar65);\n uVar47 = uVar47 & uVar45;\n }\n uVar45 = 0;\n if (local_880 == IVar18) {\n uVar45 = uVar46;\n }\n uVar45 = uVar45 & uVar44 & (uVar53 | uVar47);\n if (uVar46 != 0) {\n pcVar30 = &cf_output_metal_path_direct_source;\n if (uVar45 == 0) {\n pcVar30 = &cf_output_metal_path_processed_intermediate;\n }\n objc_stub::length((ID)pcVar30);\n }\n IVar19 = objc_stub::deviceRegistryID(param_3);\n IVar19 = FxMTLDeviceCache::commandQueueWithRegistryID_pixelFormat_\n (IVar21,IVar19,local_780);\n objc_stub::width(local_788);\n objc_stub::height(local_788);\n if (IVar19 == 0) goto LAB_1000268b0;\n objc_stub::length(0x1000ac8a0);\n IVar20 = objc_stub::commandBuffer(IVar19);\n objc_stub::enqueue(IVar20);\n if (((uVar45 | uVar46 ^ 0xffffffff | uVar44 ^ 1) & 1) == 0) {\n bVar61 = DAT_1000be030;\n if (DAT_1000be038 != -1) {\n FUN_100079724();\n bVar61 = DAT_1000be030;\n }\n }\n else {\n bVar61 = 0;\n }\n if (uVar45 == 0 && (bVar61 & 1) == 0) {\n IVar24 = objc_stub::width(local_788);\n IVar25 = objc_stub::height(local_788);\n local_7e8 = IVar22;\n FUN_10002ef38(IVar22,uVar1,IVar24,IVar25);\n objc_stub::length(0x1000ac8c0);\n if (local_7e8 != 0) {\n CVar102.field1_0x10.field1_0x8 = dVar69;\n objc_stub::render_toMTLTexture_commandBuffer_bounds_colorSpace_\n (IVar16,0,0,dVar91,local_9b0,local_7e8,IVar20,local_888);\n objc_stub::length(0x1000ac8e0);\n uVar53 = 1;\n goto LAB_100026978;\n }\n local_7e8 = 0;\n uVar53 = 0;\n local_638 = 0;\n if (uVar45 != 0 || (bVar61 & 1) != 0) goto LAB_100026978;\n local_7f8 = 0;\n uVar45 = 0;\n }\n else {\n uVar53 = 0;\n local_7e8 = 0;\nLAB_100026978:\n local_638 = 0;\n if ((uVar59 & (uVar46 | uVar6)) == 1) {\n IVar24 = objc_stub::count(local_768);\n if (IVar24 < 2) {\n if (bVar10) {\n local_7f8 = local_8e0;\n FUN_10002f2f8();\n objc_stub::length(local_7f8);\n }\n else {\n local_7f8 = 0;\n }\n IVar24 = objc_stub::length(local_7f8);\n if (IVar24 < 0x268) {\n local_7f8 = local_8e0;\n CVar102.field1_0x10.field1_0x8 = dVar65;\n local_180._0_8_ = dVar92;\n local_180._8_8_ = dVar73;\n local_170 = plVar95;\n dStack_168 = dVar74;\n local_160 = dVar96;\n dStack_158 = dVar97;\n FUN_10002f59c(CVar100.field0_0x0.field0_0x0,dVar63,dVar64,dVar65,dVar86,dVar81,\n dVar82,dVar87,local_8e0,local_180,bVar8);\n objc_stub::length(local_7f8);\n }\n IVar24 = objc_stub::length(local_7f8);\n local_638 = (ulong)(0x267 < IVar24);\n }\n else {\n if (bVar10) {\n local_7f8 = local_768;\n FUN_10002efa0(local_768,&local_638);\n objc_stub::length(local_7f8);\n }\n else {\n local_7f8 = 0;\n }\n IVar24 = objc_stub::length(local_7f8);\n CVar102.field1_0x10.field1_0x8 = dVar73;\n if (IVar24 < 0x268) {\n local_7f8 = local_768;\n CVar102.field1_0x10.field1_0x8 = dVar65;\n local_180._0_8_ = dVar92;\n local_180._8_8_ = dVar73;\n local_170 = plVar95;\n dStack_168 = dVar74;\n local_160 = dVar96;\n dStack_158 = dVar97;\n FUN_10002f10c(CVar100.field0_0x0.field0_0x0,dVar63,dVar64,dVar65,dVar86,dVar81,\n dVar82,dVar87,local_768,local_180,bVar8,&local_638);\n objc_stub::length(local_7f8);\n }\n }\n }\n else {\n local_7f8 = 0;\n }\n if (uVar46 == 0) {\n lVar60 = 0;\n IVar24 = 0;\n }\n else {\n IVar24 = objc_stub::length(local_7f8);\n uVar46 = 0;\n lVar60 = 0;\n if (IVar24 < 0x268) {\n IVar24 = 0;\n }\n else {\n IVar24 = 0;\n if (local_638 != 0) {\n lVar60 = local_638 * 0x4d;\n uVar46 = 1;\n IVar24 = local_7f8;\n }\n }\n }\n uVar59 = uVar6 ^ 1;\n if (local_7f8 != 0) {\n uVar59 = 1;\n }\n if (uVar59 == 0) {\n if (bVar10) {\n local_9d8 = local_7b0;\n FUN_10002f2f8();\n }\n else {\n local_9d8 = 0;\n }\n IVar25 = objc_stub::length(local_9d8);\n if (IVar25 < 0x268) {\n local_9d8 = local_7b0;\n local_180._0_8_ = dVar92;\n local_180._8_8_ = dVar73;\n local_170 = plVar95;\n dStack_168 = dVar74;\n local_160 = dVar96;\n dStack_158 = dVar97;\n FUN_10002f59c(CVar100.field0_0x0.field0_0x0,dVar63,dVar64,dVar65,dVar86,dVar81,\n dVar82,dVar87,local_7b0,local_180,bVar8);\n CVar102.field1_0x10.field1_0x8 = dVar65;\n }\n }\n else {\n local_9d8 = 0;\n }\n IVar25 = objc_stub::deviceRegistryID(param_3);\n IVar25 = FxMTLDeviceCache::pipelineStateWithRegistryID_pixelFormat_\n (IVar21,IVar25,local_780);\n if (IVar25 == 0) {\n uVar45 = 0;\n uVar53 = 0;\n }\n else {\n uVar50 = local_638;\n if (local_638 < 2) {\n uVar50 = 1;\n }\n dVar97 = local_8f8 * (double)AStack_528._104_8_;\n dVar96 = 1.0;\n if (dVar97 <= 1.0) {\n dVar96 = dVar97;\n }\n local_708 = 0.0;\n dVar92 = 0.0;\n if (0.0 <= dVar97) {\n dVar92 = dVar96;\n }\n local_700 = dVar92;\n FUN_10002fb74(&local_660,&AStack_528);\n dVar96 = local_700;\n dVar97 = local_708;\n dVar73 = CVar102.field1_0x10.field1_0x8;\n if ((uVar46 & (uVar45 | uVar44)) == 1) {\n if (DAT_1000be048 != -1) {\n FUN_100079748();\n }\n dVar96 = local_700;\n dVar97 = local_708;\n dVar73 = CVar102.field1_0x10.field1_0x8;\n if (((DAT_1000be040 != 1) ||\n (IVar26 = objc_stub::length(IVar24), dVar96 = local_700, dVar97 = local_708,\n dVar73 = CVar102.field1_0x10.field1_0x8, lVar60 == 0)) ||\n (IVar26 < (ulong)(lVar60 << 3))) goto LAB_100026dcc;\n IVar26 = IVar24;\n local_6f8 = extraout_d0_23;\n FUN_10002fd48(IVar24,lVar60);\n iVar14 = (int)IVar26;\n dVar96 = local_700;\n dVar97 = local_708;\n dVar73 = CVar102.field1_0x10.field1_0x8;\n FUN_10002fe4c();\n if (iVar14 == 0) goto LAB_100026dfc;\n _CGRectGetWidth(local_6f8,local_700,local_708,CVar102.field1_0x10.field1_0x8);\n _CGRectGetHeight(local_6f8,local_700,local_708,CVar102.field1_0x10.field1_0x8);\n _CGRectInset();\n _CGRectStandardize();\n _CGRectIntersection();\n dVar96 = local_700;\n dVar97 = local_708;\n dVar73 = CVar102.field1_0x10.field1_0x8;\n FUN_10002fe4c(local_6f8);\n if (iVar14 == 0) goto LAB_100026dfc;\n dVar74 = local_6f8;\n _CGRectGetWidth(local_6f8,local_700,local_708,CVar102.field1_0x10.field1_0x8);\n dVar63 = local_6f8;\n dVar97 = local_708;\n dVar73 = CVar102.field1_0x10.field1_0x8;\n _CGRectGetHeight(local_6f8,local_700);\n dVar96 = 0.72;\n bVar10 = dVar74 * dVar63 < 0.72 && 0.0 < dVar74 * dVar63;\n local_730 = CVar102.field1_0x10.field1_0x8;\n }\n else {\nLAB_100026dcc:\n if ((uVar46 != 0) && (uVar45 != 0 || (uVar29 & 1) != 0)) {\n if (DAT_1000be048 != -1) {\n FUN_100079748();\n }\n if ((DAT_1000be040 & 1) == 0) {\n objc_stub::length(0x1000ac900);\n }\n }\nLAB_100026dfc:\n bVar10 = false;\n local_730 = local_7a8;\n local_708 = local_7a0;\n local_700 = local_798;\n local_6f8 = local_790;\n }\n IVar26 = objc_stub::length(local_7f8);\n if (0x267 < IVar26) {\n objc_stub::bytes(local_7f8);\n uVar29 = local_638;\n if (local_638 < 2) {\n uVar29 = 1;\n }\n uVar70 = extraout_d0_24;\n FUN_10002fd48(local_7f8,uVar29 * 0x4d);\n uVar71 = uVar70;\n CVar102.field1_0x10.field1_0x8 = dVar96;\n dVar64 = dVar97;\n dVar55 = dVar73;\n FUN_10002a7b8(local_7b0,0,0x4b);\n uVar72 = uVar71;\n dVar63 = CVar102.field1_0x10.field1_0x8;\n dVar65 = dVar64;\n dVar90 = dVar55;\n FUN_10002a928(local_7b0);\n dVar74 = dVar75;\n _CGRectGetWidth(dVar75,dVar93,dVar77,dVar76);\n _CGRectGetHeight(dVar75,dVar93,dVar77,dVar76);\n IVar26 = local_7f8;\n FUN_10002ffa0(local_7f8);\n FUN_10001b584(local_560.field0_0x0.field0_0x0,local_560.field0_0x0.field1_0x8,\n local_560.field1_0x10.field0_0x0,local_560.field1_0x10.field1_0x8);\n FUN_10001b584(local_7b8,local_7c0,local_7c8,local_7d0);\n FUN_10001b584(local_808,local_820,local_830,local_838);\n FUN_10001c338(uVar71,CVar102.field1_0x10.field1_0x8,dVar64,dVar55);\n FUN_10001c338(uVar72,dVar63,dVar65,dVar90);\n FUN_10001b584(uVar70,dVar96,dVar97,dVar73);\n FUN_10001c338(local_6f8,local_700,local_708,local_730);\n FUN_10001c338(dVar94,dVar66,dVar79,dVar99);\n _CGRectGetWidth(uVar71,CVar102.field1_0x10.field1_0x8,dVar64,dVar55);\n _CGRectGetHeight(uVar71,CVar102.field1_0x10.field1_0x8,dVar64,dVar55);\n _CGRectGetWidth(local_7b8,local_7c0,local_7c8,local_7d0);\n _CGRectGetHeight(local_7b8,local_7c0,local_7c8,local_7d0);\n _CGRectGetWidth(uVar70,dVar96,dVar97,dVar73);\n _CGRectGetHeight(uVar70,dVar96,dVar97,dVar73);\n FUN_10002ab0c(IVar26);\n FUN_10002ac7c(dVar74,dVar75,IVar26);\n }\n if ((uVar46 == 0) ||\n (IVar26 = objc_stub::length(IVar24), IVar26 < (ulong)(lVar60 << 3))) {\nLAB_100027018:\n uVar44 = uVar53;\n if (local_7e8 != 0) {\n uVar44 = 1;\n }\n if (uVar44 == 0 && uVar45 == 0) {\n IVar24 = objc_stub::width(local_788);\n IVar26 = objc_stub::height(local_788);\n local_7e8 = IVar22;\n FUN_10002ef38(IVar22,uVar1,IVar24,IVar26);\n objc_stub::length(0x1000acba0);\n }\n if (local_7e8 == 0) {\n uVar53 = 1;\n }\n if (uVar53 == 0) {\n objc_stub::render_toMTLTexture_commandBuffer_bounds_colorSpace_\n (IVar16,0,0,dVar91,dVar69,local_9b0,local_7e8,IVar20,local_888);\n objc_stub::length(0x1000acbc0);\n }\n IVar24 = MTLRenderPassDescriptor::renderPassDescriptor\n ((ID)&_OBJC_CLASS___MTLRenderPassDescriptor);\n IVar26 = MTLRenderPassDescriptor::colorAttachments(IVar24);\n IVar26 = MTLRenderPassDescriptor::objectAtIndexedSubscript_(IVar26,0);\n MTLRenderPassDescriptor::setTexture_(IVar26,local_788);\n IVar26 = MTLRenderPassDescriptor::colorAttachments(IVar24);\n IVar26 = MTLRenderPassDescriptor::objectAtIndexedSubscript_(IVar26,0);\n MTLRenderPassDescriptor::setLoadAction_(IVar26,2);\n IVar26 = MTLRenderPassDescriptor::colorAttachments(IVar24);\n IVar26 = MTLRenderPassDescriptor::objectAtIndexedSubscript_(IVar26,0);\n MTLRenderPassDescriptor::setStoreAction_(IVar26,1);\n IVar26 = MTLRenderPassDescriptor::colorAttachments(IVar24);\n IVar26 = MTLRenderPassDescriptor::objectAtIndexedSubscript_(IVar26,0);\n MTLRenderPassDescriptor::setClearColor_(IVar26,0,0,0,0x3ff0000000000000);\n IVar24 = objc_stub::renderCommandEncoderWithDescriptor_(IVar20,IVar24);\n if (IVar24 == 0) {\n uVar45 = 0;\n uVar53 = 0;\n }\n else {\n IVar26 = objc_stub::width(local_788);\n IVar56 = objc_stub::height(local_788);\n FUN_1000315fc(local_180,IVar26,IVar56);\n IVar26 = objc_stub::width(local_788);\n IVar56 = objc_stub::height(local_788);\n local_680 = CONCAT44((int)IVar56,(int)IVar26);\n IVar26 = objc_stub::width(local_788);\n IVar56 = objc_stub::height(local_788);\n local_f0 = (long *)(double)IVar26;\n dStack_e8 = (double)IVar56;\n local_100 = 0.0;\n dStack_f8 = 0.0;\n dStack_d8 = 1.0;\n local_e0 = -1.0;\n objc_stub::setViewport_(IVar24,&local_100);\n objc_stub::setRenderPipelineState_(IVar24,IVar25);\n objc_stub::setVertexBytes_length_atIndex_(IVar24,local_180,0x40,0);\n objc_stub::setVertexBytes_length_atIndex_(IVar24,&local_680,8,1);\n objc_stub::setFragmentTexture_atIndex_(IVar24,local_7e8,0);\n objc_stub::drawPrimitives_vertexStart_vertexCount_(IVar24,4,0,4);\n objc_stub::endEncoding(IVar24);\n objc_stub::length(0x1000acbe0);\n objc_stub::length(0x1000acc00);\n uVar45 = 0;\n uVar53 = 1;\n }\n }\n else {\n pcVar30 = &cf_output_metal_face_thin_roi_requested;\n if (bVar10 == false) {\n pcVar30 = &cf_output_metal_face_thin_full_requested;\n }\n IVar26 = objc_stub::length((ID)pcVar30);\n iVar14 = (int)IVar26;\n uVar44 = (uint)((ulong)dVar98 >> 0x20);\n fVar62 = (float)dVar92;\n uVar48 = (undefined4)uVar50;\n if (uVar45 == 0) {\nLAB_1000274ec:\n if ((bVar10 & bVar61) == 1) {\n iVar15 = iVar14;\n FUN_10002fe4c(local_6f8,local_700,local_708,local_730);\n iVar14 = 0;\n if (iVar15 != 0) {\n dVar96 = local_6f8;\n dVar97 = local_700;\n dVar92 = local_708;\n dVar73 = local_730;\n FUN_100030cc4(local_6f8,local_700,local_708,local_730);\n FUN_100030da8();\n FUN_100021624();\n iVar14 = 0;\n if (iVar15 != 0) {\n dVar94 = dVar96;\n _CGRectGetWidth(dVar96,dVar97,dVar92,dVar73);\n uVar29 = (ulong)dVar94;\n if (uVar29 < 2) {\n uVar29 = 1;\n }\n dVar94 = dVar96;\n _CGRectGetHeight(dVar96,dVar97,dVar92,dVar73);\n uVar50 = (ulong)dVar94;\n if (uVar50 < 2) {\n uVar50 = 1;\n }\n IVar26 = MTLTextureDescriptor::\n texture2DDescriptorWithPixelFormat_width_height_mipmapped_\n ((ID)&_OBJC_CLASS___MTLTextureDescriptor,uVar1,uVar29,\n uVar50,0);\n MTLTextureDescriptor::setUsage_(IVar26,7);\n MTLTextureDescriptor::setStorageMode_(IVar26,2);\n IVar26 = objc_stub::newTextureWithDescriptor_(IVar22,IVar26);\n iVar14 = 0;\n if (IVar26 != 0) {\n IVar56 = local_9b0;\n FUN_10002ee0c(0,0,dVar91,dVar69,local_9b0);\n objc_stub::render_toMTLTexture_commandBuffer_bounds_colorSpace_\n (IVar16,0,0,dVar91,dVar69,IVar56,local_788,IVar20,local_888);\n objc_stub::length(0x1000aca00);\n IVar56 = objc_stub::imageByCroppingToRect_\n (local_9b0,dVar96,dVar97,dVar92,dVar73);\n dVar94 = dVar96;\n _CGRectGetMinX(dVar96,dVar97,dVar92,dVar73);\n dVar74 = dVar96;\n _CGRectGetMinY(dVar96,dVar97,dVar92,dVar73);\n _CGAffineTransformMakeTranslation(local_180,-dVar94,-dVar74);\n uVar44 = (uint)((ulong)dVar98 >> 0x20);\n IVar56 = objc_stub::imageByApplyingTransform_(IVar56,local_180);\n IVar34 = objc_stub::imageByCroppingToRect_\n (IVar56,0,0,(double)uVar29,(double)uVar50);\n if (IVar34 != 0) {\n IVar56 = IVar34;\n }\n objc_stub::render_toMTLTexture_commandBuffer_bounds_colorSpace_\n (IVar16,0,0,(double)uVar29,(double)uVar50,IVar56,IVar26,IVar20,\n local_888);\n objc_stub::length(0x1000aca20);\n FUN_100030f50(dVar96,dVar97,dVar92,dVar73,0,0,dVar91,dVar69);\n FUN_100030cc4();\n dVar94 = dVar96;\n dVar74 = dVar97;\n FUN_100031128();\n IVar34 = objc_stub::deviceRegistryID(param_3);\n IVar35 = objc_stub::bytes(IVar24);\n IVar38 = objc_stub::length(IVar24);\n local_180._8_8_ = dStack_658;\n local_180._0_8_ = local_660;\n dStack_168 = dStack_648;\n local_170 = local_650;\n local_160 = local_640;\n IVar56 = IVar20;\n FUN_100030840(fVar62,dVar94,dVar74,dVar96,dVar97,dVar92,dVar73,IVar20,\n IVar26,local_788,IVar21,IVar34,local_780,IVar35,IVar38,\n lVar60,uVar48,uVar44,local_180,1);\n dVar98 = (double)((ulong)uVar44 << 0x20);\n iVar14 = (int)IVar56;\n if ((IVar56 & 1) != 0) {\n objc_stub::length(0x1000aca40);\n objc_stub::length(0x1000aca60);\n goto LAB_100027a54;\n }\n }\n }\n }\n }\n if (local_7e8 == 0 && uVar45 == 0) {\n IVar26 = objc_stub::width(local_788);\n IVar56 = objc_stub::height(local_788);\n local_7e8 = IVar22;\n FUN_10002ef38(IVar22,uVar1,IVar26,IVar56);\n IVar26 = objc_stub::length(0x1000aca80);\n iVar14 = (int)IVar26;\n }\n uVar105 = (undefined4)((ulong)dVar98 >> 0x20);\n uVar44 = uVar53;\n if (local_7e8 == 0) {\n uVar44 = 1;\n }\n if (uVar44 == 0) {\n objc_stub::render_toMTLTexture_commandBuffer_bounds_colorSpace_\n (IVar16,0,0,dVar91,dVar69,local_9b0,local_7e8,IVar20,local_888);\n IVar26 = objc_stub::length(0x1000acaa0);\n uVar105 = (undefined4)((ulong)dVar98 >> 0x20);\n iVar14 = (int)IVar26;\n uVar53 = 1;\n }\n if (bVar10 != false) {\n if (DAT_1000be058 != -1) {\n FUN_10007976c();\n }\n if ((DAT_1000be050 == 1) && (local_7e8 != 0)) {\n FUN_10002fe4c(local_6f8,local_700,local_708,local_730);\n if (iVar14 != 0) {\n if (DAT_1000be068 != -1) {\n FUN_100079790();\n }\n cVar9 = DAT_1000be060;\n IVar56 = objc_stub::deviceRegistryID(param_3);\n IVar34 = objc_stub::bytes(IVar24);\n IVar35 = objc_stub::length(IVar24);\n local_180._8_8_ = dStack_658;\n local_180._0_8_ = local_660;\n dStack_168 = dStack_648;\n local_170 = local_650;\n local_160 = local_640;\n IVar26 = IVar20;\n FUN_100030084(fVar62,local_9c0,local_9d0,local_6f8,local_700,local_708,\n local_730,IVar20,local_7e8,local_788,IVar21,IVar56,local_780,\n IVar34,IVar35,lVar60,uVar48,uVar105,local_180,cVar9);\n if ((int)IVar26 != 0) {\n pcVar30 = &cf_output_metal_face_thin_roi_processed_base_preflip;\n if (cVar9 == '\\0') {\n pcVar30 = &cf_output_metal_face_thin_roi_processed_base_no_preflip;\n }\n objc_stub::length((ID)pcVar30);\n objc_stub::length(0x1000acb00);\n objc_stub::length(0x1000acb20);\n goto LAB_100027a54;\n }\n goto LAB_1000279b8;\n }\n if (DAT_1000be058 != -1) {\n FUN_10007976c();\n }\n }\n if (((DAT_1000be050 & 1) == 0) && (local_7e8 != 0)) {\n objc_stub::length(0x1000acb40);\n }\n }\nLAB_1000279b8:\n IVar26 = objc_stub::deviceRegistryID(param_3);\n IVar56 = objc_stub::bytes(IVar24);\n IVar34 = objc_stub::length(IVar24);\n local_180._8_8_ = dStack_658;\n local_180._0_8_ = local_660;\n dStack_168 = dStack_648;\n local_170 = local_650;\n local_160 = local_640;\n IVar24 = IVar20;\n FUN_10003127c(fVar62,local_9c0,local_9d0,IVar20,local_7e8,local_788,IVar21,IVar26,\n local_780,IVar56,IVar34,lVar60,uVar48,uVar105,local_180,0,1);\n if ((int)IVar24 == 0) goto LAB_100027018;\n objc_stub::length(0x1000acb60);\n objc_stub::length(0x1000acb80);\n }\n else {\n if (bVar10 == false) {\n bVar2 = false;\nLAB_100027410:\n IVar56 = objc_stub::deviceRegistryID(param_3);\n IVar34 = objc_stub::bytes(IVar24);\n IVar35 = objc_stub::length(IVar24);\n local_180._8_8_ = dStack_658;\n local_180._0_8_ = local_660;\n dStack_168 = dStack_648;\n local_170 = local_650;\n local_160 = local_640;\n IVar26 = IVar20;\n FUN_100030840(fVar62,local_9c0,local_9d0,local_790,local_798,local_7a0,local_7a8\n ,IVar20,local_7d8,local_788,IVar21,IVar56,local_780,IVar34,IVar35,\n lVar60,uVar48,uVar44,local_180,bVar2);\n dVar98 = (double)((ulong)uVar44 << 0x20);\n iVar14 = 0;\n if ((int)IVar26 == 0) goto LAB_1000274ec;\n pcVar30 = &cf_output_metal_face_thin_roi_direct_encode;\n if (!bVar2) {\n pcVar30 = &cf_output_metal_face_thin_full_direct_encode;\n }\n objc_stub::length((ID)pcVar30);\n if (bVar2) goto LAB_1000274bc;\n }\n else {\n IVar56 = objc_stub::deviceRegistryID(param_3);\n IVar34 = objc_stub::bytes(IVar24);\n IVar35 = objc_stub::length(IVar24);\n local_180._8_8_ = dStack_658;\n local_180._0_8_ = local_660;\n dStack_168 = dStack_648;\n local_170 = local_650;\n local_160 = local_640;\n IVar26 = IVar20;\n FUN_100030084(fVar62,local_9c0,local_9d0,local_6f8,local_700,local_708,local_730\n ,IVar20,local_7d8,local_788,IVar21,IVar56,local_780,IVar34,IVar35,\n lVar60,uVar48,uVar44,local_180,uVar13 & 0xffffff00);\n if ((IVar26 & 1) == 0) {\n IVar56 = objc_stub::deviceRegistryID(param_3);\n IVar26 = IVar20;\n FUN_1000305d0(IVar20,local_7d8,local_788,IVar21,IVar56,local_780);\n bVar2 = (int)IVar26 != 0;\n if (bVar2) {\n objc_stub::length(0x1000ac9a0);\n }\n local_790 = local_6f8;\n local_798 = local_700;\n local_7a0 = local_708;\n local_7a8 = local_730;\n goto LAB_100027410;\n }\n objc_stub::length(0x1000ac960);\n objc_stub::length(0x1000ac980);\n local_790 = local_6f8;\n local_798 = local_700;\n local_7a0 = local_708;\n local_7a8 = local_730;\nLAB_1000274bc:\n FUN_10002fe4c(local_790,local_798,local_7a0,local_7a8);\n }\n FUN_10001c338(local_6f8,local_700,local_708,local_730);\n }\nLAB_100027a54:\n uVar53 = 0;\n uVar45 = 1;\n }\n }\n if ((uVar45 != 0) || (uVar53 != 0)) {\n uVar44 = uVar45 & (uVar53 ^ 1);\n puVar33 = puVar32;\n puVar39 = puVar58;\n local_6f8 = (double)IVar17;\n if (uVar44 == 1) {\n IVar24 = 0;\n FUN_10002d668();\n FUN_10002d668();\n FUN_10002d668();\n FUN_10002d838();\n FUN_10002d668();\n FUN_10002d838();\n }\n else {\n IVar24 = 0;\n }\n if (local_894 == 0) {\n bVar10 = false;\n }\n else {\n IVar25 = objc_stub::count(IVar24);\n IVar26 = objc_stub::count((ID)puVar33);\n IVar56 = objc_stub::count((ID)puVar39);\n IVar34 = objc_stub::count((ID)local_6f8);\n bVar10 = IVar26 + IVar25 + IVar56 + IVar34 != 0;\n }\n if (bVar10 || uVar6 != 0) {\n IVar25 = objc_stub::deviceRegistryID(param_3);\n IVar25 = FxMTLDeviceCache::solidOverlayPipelineStateWithRegistryID_pixelFormat_\n (IVar21,IVar25,local_780);\n bVar2 = false;\n if (IVar25 != 0) {\n bVar2 = bVar10;\n }\n if (bVar2) {\n IVar26 = objc_stub::count(IVar24);\n if (IVar26 == 0) {\n uVar13 = 0;\n }\n else {\n IVar26 = IVar20;\n FUN_1000316bc(IVar20,local_788,IVar24,IVar25);\n uVar13 = (uint)IVar26;\n }\n IVar24 = objc_stub::count((ID)puVar33);\n if (IVar24 != 0) {\n IVar24 = IVar20;\n FUN_100031bd8(dStack_970,local_978,dStack_980,local_988,IVar20,local_788,puVar33\n ,IVar25,0,1);\n uVar13 = uVar13 | (uint)IVar24;\n }\n IVar24 = objc_stub::count((ID)puVar39);\n if (IVar24 != 0) {\n IVar24 = IVar20;\n FUN_100031bd8(dStack_970,local_978,dStack_980,local_988,IVar20,local_788,puVar39\n ,IVar25,0,1);\n uVar13 = uVar13 | (uint)IVar24;\n }\n IVar24 = objc_stub::count((ID)local_6f8);\n if (IVar24 != 0) {\n IVar24 = IVar20;\n FUN_100031bd8(dStack_990,local_998,dStack_9a0,local_9a8,IVar20,local_788,\n local_6f8,IVar25,1,0);\n uVar13 = uVar13 | (uint)IVar24;\n }\n }\n else {\n uVar13 = 0;\n }\n uVar59 = 0;\n if (IVar25 != 0) {\n uVar59 = uVar6;\n }\n if (uVar59 == 1) {\n IVar26 = objc_stub::length(local_7f8);\n IVar24 = local_7f8;\n if ((IVar26 < 0x268) &&\n (IVar26 = objc_stub::length(local_9d8), IVar24 = local_9d8, IVar26 < 0x268)) {\n IVar26 = 0;\n uVar29 = 0;\n }\n else {\n IVar26 = objc_stub::bytes(IVar24);\n IVar24 = objc_stub::length(IVar24);\n uVar29 = IVar24 >> 3;\n }\n IVar24 = IVar20;\n FUN_100032274(IVar20,local_788,IVar26,uVar29,uVar44,IVar25);\n if ((int)IVar24 == 0) goto LAB_100027cd8;\n if (uVar44 != 0) {\n objc_stub::length(0x1000acc20);\n }\n }\n else {\nLAB_100027cd8:\n if (uVar13 == 0) goto LAB_100027ce8;\n }\n objc_stub::length(0x1000acc40);\n }\n }\nLAB_100027ce8:\n if (uVar53 == 0 && uVar45 == 1) {\n IVar24 = objc_stub::width(local_788);\n IVar25 = objc_stub::height(local_788);\n IVar24 = MTLTextureDescriptor::\n texture2DDescriptorWithPixelFormat_width_height_mipmapped_\n ((ID)&_OBJC_CLASS___MTLTextureDescriptor,local_780,IVar24,IVar25,0)\n ;\n MTLTextureDescriptor::setUsage_(IVar24,5);\n MTLTextureDescriptor::setStorageMode_(IVar24,2);\n IVar22 = objc_stub::newTextureWithDescriptor_(IVar22,IVar24);\n IVar24 = objc_stub::deviceRegistryID(param_3);\n IVar24 = FxMTLDeviceCache::pipelineStateWithRegistryID_pixelFormat_\n (IVar21,IVar24,local_780);\n if ((IVar22 != 0) && (IVar24 != 0)) {\n IVar25 = MTLRenderPassDescriptor::renderPassDescriptor\n ((ID)&_OBJC_CLASS___MTLRenderPassDescriptor);\n IVar26 = MTLRenderPassDescriptor::colorAttachments(IVar25);\n IVar26 = MTLRenderPassDescriptor::objectAtIndexedSubscript_(IVar26,0);\n MTLRenderPassDescriptor::setTexture_(IVar26,IVar22);\n IVar26 = MTLRenderPassDescriptor::colorAttachments(IVar25);\n IVar26 = MTLRenderPassDescriptor::objectAtIndexedSubscript_(IVar26,0);\n MTLRenderPassDescriptor::setLoadAction_(IVar26,2);\n IVar26 = MTLRenderPassDescriptor::colorAttachments(IVar25);\n IVar26 = MTLRenderPassDescriptor::objectAtIndexedSubscript_(IVar26,0);\n MTLRenderPassDescriptor::setStoreAction_(IVar26,1);\n IVar26 = MTLRenderPassDescriptor::colorAttachments(IVar25);\n IVar26 = MTLRenderPassDescriptor::objectAtIndexedSubscript_(IVar26,0);\n MTLRenderPassDescriptor::setClearColor_(IVar26,0,0,0,0x3ff0000000000000);\n IVar25 = objc_stub::renderCommandEncoderWithDescriptor_(IVar20,IVar25);\n if (IVar25 != 0) {\n IVar26 = objc_stub::width(local_788);\n IVar56 = objc_stub::height(local_788);\n FUN_1000315fc(local_180,IVar26,IVar56);\n IVar26 = objc_stub::width(local_788);\n IVar56 = objc_stub::height(local_788);\n local_668 = CONCAT44((int)IVar56,(int)IVar26);\n IVar26 = objc_stub::width(local_788);\n IVar56 = objc_stub::height(local_788);\n local_f0 = (long *)(double)IVar26;\n dStack_e8 = (double)IVar56;\n local_100 = 0.0;\n dStack_f8 = 0.0;\n dStack_d8 = 1.0;\n local_e0 = -1.0;\n objc_stub::setViewport_(IVar25,&local_100);\n objc_stub::setRenderPipelineState_(IVar25,IVar24);\n objc_stub::setVertexBytes_length_atIndex_(IVar25,local_180,0x40,0);\n objc_stub::setVertexBytes_length_atIndex_(IVar25,&local_668,8,1);\n objc_stub::setFragmentTexture_atIndex_(IVar25,local_788,0);\n objc_stub::drawPrimitives_vertexStart_vertexCount_(IVar25,4,0,4);\n objc_stub::endEncoding(IVar25);\n IVar24 = objc_stub::blitCommandEncoder(IVar20);\n if (IVar24 != 0) {\n local_100 = 0.0;\n dStack_f8 = 0.0;\n local_f0 = (long *)0x0;\n IVar25 = objc_stub::width(local_788);\n local_678 = objc_stub::height(local_788);\n dStack_658 = dStack_f8;\n local_660 = local_100;\n local_650 = local_f0;\n local_670 = 1;\n dStack_698 = dStack_f8;\n local_6a0 = local_100;\n local_690 = local_f0;\n local_680 = IVar25;\n objc_stub::\n copyFromTexture_sourceSlice_sourceLevel_sourceOrigin_sourceSize_toTexture_destinationSlice_destinationLevel_destinationOrigin_\n (IVar24,IVar22,0,0,&local_660,&local_680,local_788,0,0,&local_6a0);\n objc_stub::endEncoding(IVar24);\n objc_stub::length(0x1000acc60);\n }\n }\n }\n uVar53 = 0;\n }\n }\n objc_stub::length(0x1000acc80);\n objc_stub::commit(IVar20);\n objc_stub::length(0x1000acca0);\n objc_stub::waitUntilCompleted(IVar20);\n objc_stub::length(0x1000accc0);\n objc_stub::GPUStartTime(IVar20);\n if (0.0 < extraout_d0_25) {\n objc_stub::GPUEndTime(IVar20);\n objc_stub::GPUStartTime(IVar20);\n if (extraout_d0_27 <= extraout_d0_26) {\n objc_stub::GPUEndTime(IVar20);\n objc_stub::GPUStartTime(IVar20);\n objc_stub::length(0x1000acce0);\n }\n }\n IVar22 = objc_stub::error(IVar20);\n uVar44 = 0;\n if (IVar22 == 0) {\n uVar44 = uVar45 | uVar53;\n }\n objc_stub::length(local_7f8);\n objc_stub::length(local_7f8);\n objc_stub::error(IVar20);\n objc_stub::count(local_8e0);\n objc_stub::error(IVar20);\n objc_stub::error(IVar20);\n pcVar30 = &cf_output_metal_face_thin;\n if (uVar46 == 0) {\n pcVar30 = &cf_output_metal_texture;\n }\n objc_stub::length((ID)pcVar30);\n if (uVar53 == 0 && uVar46 == 0) {\n IVar20 = objc_stub::deviceRegistryID(param_3);\n FxMTLDeviceCache::pipelineStateWithRegistryID_pixelFormat_(IVar21,IVar20,local_780);\n FUN_1000329ac(&cf_metaloutputcopyfailedpipeline_input___texture___);\n }\n if (uVar45 == 0 && uVar46 == 1) {\n FUN_1000329ac(&cf_metalfacethinoutputfailedpipeline_inputpointData___texture___);\n }\n FxMTLDeviceCache::returnCommandQueueToCache_(IVar21,IVar19);\n }\n if (uVar44 == 0) {\n if (uVar4 != 0) {\n IVar20 = objc_stub::count(local_768);\n IVar19 = local_880;\n if (IVar20 < 2) {\n IVar20 = objc_stub::count(local_8e0);\n if (IVar20 < 0x4d) {\n IVar19 = 0;\n }\n else {\n IVar20 = objc_stub::deviceRegistryID(param_3);\n FUN_10002b8a4(local_8f8,local_880,&AStack_528,local_8e0,IVar21,IVar20);\n if ((IVar19 == local_880) && (2.220446049250313e-16 < (double)AStack_528._104_8_)) {\n IVar19 = local_880;\n FUN_10002c1f8(AStack_528._104_8_,local_8f8,local_880,local_8e0);\n }\n }\n }\n else {\n IVar20 = objc_stub::deviceRegistryID(param_3);\n FUN_10002b4fc(local_8f8,local_880,&AStack_528,local_768,IVar21,IVar20);\n if ((IVar19 == local_880) && (2.220446049250313e-16 < (double)AStack_528._104_8_)) {\n IVar19 = local_880;\n FUN_10002b738(AStack_528._104_8_,local_8f8,local_880,local_768);\n }\n }\n if (IVar19 != 0) {\n local_880 = IVar19;\n }\n objc_stub::length(0x1000acd80);\n }\n if (puVar28 == (undefined8 *)0x0) {\n if (pIVar43 != (ID *)0x0) {\n pcVar30 = &cf_IOSurfaceunavailable;\n FUN_10001fb70();\n *pIVar43 = (ID)pcVar30;\n }\n objc_stub::length(0x1000ac540);\n goto LAB_1000283fc;\n }\n IVar19 = local_880;\n FUN_100032a9c(dStack_8b0,local_8b8,dStack_8c0,local_8c8);\n if ((IVar19 & 1) == 0) {\n objc_stub::extent(local_880);\n _NSStringFromRect();\n _NSStringFromRect(dStack_8b0,local_8b8,dStack_8c0,local_8c8);\n FUN_1000329ac(&cf_renderfallbackbadprocessedextent___renderRect___full__d);\n FUN_100032c18(dStack_8b0,local_8b8,dStack_8c0,local_8c8);\n objc_stub::length(0x1000acde0);\n }\n puVar36 = puVar28;\n _IOSurfaceGetWidth();\n puVar37 = puVar28;\n _IOSurfaceGetHeight(puVar28);\n FUN_10002dc00(dVar86,dVar81,dVar82,dVar87,puVar36,puVar37);\n dVar96 = dVar82;\n dVar97 = dVar87;\n dVar92 = dVar81;\n dVar73 = dVar86;\n if ((int)puVar36 != 0) {\n dVar96 = dVar86;\n _CGRectGetWidth();\n dVar97 = dVar86;\n _CGRectGetHeight(dVar86,dVar81,dVar82,dVar87);\n dVar92 = 0.0;\n dVar73 = 0.0;\n }\n FUN_10002decc(dVar86,dVar81,dVar82,dVar87,dVar73,dVar92,dVar96,dVar97,local_880,puVar36);\n FUN_10002ee0c(dVar73,dVar92,dVar96,dVar97);\n objc_stub::length(0x1000ace00);\n if (local_8cc == 0) {\n IVar19 = 0;\n }\n else {\n IVar19 = objc_stub::count(local_768);\n if (IVar19 == 0) {\n IVar20 = objc_stub::count(local_8e0);\n IVar19 = local_8e0;\n if ((IVar20 < 0x4d) &&\n (IVar20 = objc_stub::count(local_7b0,local_8e0), IVar19 = local_7b0, IVar20 < 0x4d)\n ) {\n IVar19 = 0;\n }\n else {\n IVar19 = NSMutableArray::arrayWithObject_((ID)&_OBJC_CLASS___NSMutableArray,IVar19);\n }\n }\n else {\n IVar19 = objc_stub::count(local_768);\n IVar19 = NSMutableArray::arrayWithCapacity_((ID)&_OBJC_CLASS___NSMutableArray,IVar19);\n uStack_6b8 = 0;\n local_6c0 = 0;\n uStack_6a8 = 0;\n uStack_6b0 = 0;\n lStack_6d8 = 0;\n local_6e0 = 0;\n uStack_6c8 = 0;\n local_6d0 = (long *)0x0;\n IVar20 = objc_stub::countByEnumeratingWithState_objects_count_\n (local_768,&local_6e0,auStack_3b0,0x10);\n if (IVar20 != 0) {\n lVar60 = *local_6d0;\n do {\n IVar21 = 0;\n do {\n if (*local_6d0 != lVar60) {\n _objc_enumerationMutation(local_768);\n }\n IVar24 = *(ID *)(lStack_6d8 + IVar21 * 8);\n IVar22 = objc_stub::count(IVar24);\n if (0x4c < IVar22) {\n NSMutableArray::addObject_(IVar19,IVar24);\n }\n IVar21 = IVar21 + 1;\n } while (IVar20 != IVar21);\n IVar20 = objc_stub::countByEnumeratingWithState_objects_count_\n (local_768,&local_6e0,auStack_3b0,0x10);\n } while (IVar20 != 0);\n }\n }\n objc_stub::length(0x1000ace20);\n }\n if (local_894 != 0) {\n IVar20 = objc_stub::count(0);\n if (IVar20 != 0) {\n puVar37 = puVar36;\n FUN_10002e6ec(dVar86,dVar81,dVar82,dVar87,dVar73,dVar92,dVar96,dVar97);\n if (puVar37 != (undefined8 *)0x0) {\n IVar20 = objc_stub::imageByCompositingOverImage_((ID)puVar37,local_880);\n IVar20 = objc_stub::imageByCroppingToRect_(IVar20,dVar73,dVar92,dVar96,dVar97);\n if (IVar20 != 0) {\n local_880 = IVar20;\n }\n }\n objc_stub::length(0x1000ace40);\n }\n IVar20 = objc_stub::count((ID)puVar32);\n if (IVar20 != 0) {\n puVar37 = puVar36;\n FUN_10002df98(dVar86,dVar81,dVar82,dVar87,dVar73,dVar92,dVar96,dVar97,puVar36,puVar32,\n 0,1);\n if (puVar37 != (undefined8 *)0x0) {\n IVar20 = objc_stub::imageByCompositingOverImage_((ID)puVar37,local_880);\n IVar20 = objc_stub::imageByCroppingToRect_(IVar20,dVar73,dVar92,dVar96,dVar97);\n if (IVar20 != 0) {\n local_880 = IVar20;\n }\n }\n objc_stub::length(0x1000ace60);\n }\n IVar20 = objc_stub::count((ID)puVar58);\n if (IVar20 != 0) {\n puVar37 = puVar36;\n FUN_10002df98(dVar86,dVar81,dVar82,dVar87,dVar73,dVar92,dVar96,dVar97,puVar36,puVar58,\n 0,1);\n if (puVar37 != (undefined8 *)0x0) {\n IVar20 = objc_stub::imageByCompositingOverImage_((ID)puVar37,local_880);\n IVar20 = objc_stub::imageByCroppingToRect_(IVar20,dVar73,dVar92,dVar96,dVar97);\n if (IVar20 != 0) {\n local_880 = IVar20;\n }\n }\n objc_stub::length(0x1000ace80);\n }\n IVar20 = objc_stub::count(IVar17);\n if (IVar20 != 0) {\n puVar37 = puVar36;\n FUN_10002df98(dVar86,dVar81,dVar82,dVar87,dVar73,dVar92,dVar96,dVar97,puVar36,IVar17,1\n ,0);\n if (puVar37 != (undefined8 *)0x0) {\n IVar17 = objc_stub::imageByCompositingOverImage_((ID)puVar37,local_880);\n IVar17 = objc_stub::imageByCroppingToRect_(IVar17,dVar73,dVar92,dVar96,dVar97);\n if (IVar17 != 0) {\n local_880 = IVar17;\n }\n }\n objc_stub::length(0x1000acea0);\n }\n }\n if ((local_8cc != 0) && (IVar17 = objc_stub::count(IVar19), IVar17 != 0)) {\n puVar37 = puVar36;\n FUN_100032da8(dVar86,dVar81,dVar82,dVar87,dVar73,dVar92,dVar96,dVar97,puVar36,IVar19);\n objc_stub::count(IVar19);\n FUN_10001c338(dVar86,dVar81,dVar82,dVar87);\n FUN_10001c338(dVar73,dVar92,dVar96,dVar97);\n if (puVar37 != (undefined8 *)0x0) {\n IVar17 = objc_stub::imageByCompositingOverImage_((ID)puVar37,local_880);\n IVar17 = objc_stub::imageByCroppingToRect_(IVar17,dVar73,dVar92,dVar96,dVar97);\n if (IVar17 != 0) {\n local_880 = IVar17;\n }\n }\n objc_stub::length(0x1000acec0);\n }\n IVar17 = local_880;\n FUN_100032a9c(dVar73,dVar92,dVar96,dVar97);\n if ((IVar17 & 1) == 0) {\n objc_stub::extent(local_880);\n _NSStringFromRect();\n _NSStringFromRect(dVar73,dVar92,dVar96,dVar97);\n FUN_1000329ac(&cf_renderfallbackbadtileextent___output___);\n FUN_100032c18(dVar73,dVar92,dVar96,dVar97);\n }\n objc_stub::length(0x1000acf00);\n FUN_10002ed00(dVar73,dVar92,dVar96,dVar97);\n objc_stub::length(0x1000acf20);\n if (IVar18 == 0) {\n IVar18 = 0;\n }\n else {\n FUN_10002decc(dVar86,dVar81,dVar82,dVar87,dVar73,dVar92,dVar96,dVar97,IVar18,puVar36);\n FUN_10002ee0c(dVar73,dVar92,dVar96,dVar97);\n FUN_10002ed00(dVar73,dVar92,dVar96,dVar97);\n }\n objc_stub::length(0x1000acf40);\n objc_stub::length(0x1000acf60);\n _NSStringFromRect(dVar73,dVar92,dVar96,dVar97);\n objc_stub::extent(local_880);\n _NSStringFromRect();\n IVar17 = local_880;\n FUN_1000334b8(dVar73,dVar92,dVar96,dVar97,local_880,IVar16,puVar28,local_888);\n objc_stub::length(0x1000acf80);\n if ((IVar17 & 1) == 0) {\n FUN_10003358c(dVar73,dVar92,dVar96,dVar97,local_880,IVar16,puVar28,local_888);\n objc_stub::length(0x1000acfa0);\n if (IVar18 != 0 && (local_880 & 1) == 0) {\n _NSStringFromRect(dVar73,dVar92,dVar96,dVar97);\n FUN_1000329ac(&cf_renderfallbackwritinginputtileoutput___);\n IVar17 = IVar18;\n FUN_1000334b8(dVar73,dVar92,dVar96,dVar97,IVar18,IVar16,puVar28,local_888);\n objc_stub::length(0x1000acfe0);\n if ((IVar17 & 1) != 0) goto LAB_1000288d0;\n FUN_10003358c(dVar73,dVar92,dVar96,dVar97,IVar18,IVar16,puVar28,local_888);\n objc_stub::length(0x1000ad000);\n local_880 = IVar18;\n }\n if ((local_880 & 1) == 0) {\n _NSStringFromRect(dVar73,dVar92,dVar96,dVar97);\n FUN_1000329ac(&cf_renderfallbackfillingblackoutput___);\n puVar37 = puVar28;\n _IOSurfaceGetWidth();\n puVar36 = puVar28;\n _IOSurfaceGetHeight();\n puVar40 = puVar28;\n _IOSurfaceGetBytesPerRow();\n puVar51 = puVar28;\n _IOSurfaceGetPixelFormat();\n if ((((puVar37 != (undefined8 *)0x0) && (puVar36 != (undefined8 *)0x0)) &&\n (puVar40 != (undefined8 *)0x0)) &&\n (puVar41 = puVar28, _IOSurfaceLock(puVar28,0,0), (int)puVar41 == 0)) {\n puVar41 = puVar28;\n _IOSurfaceGetBaseAddress();\n if (puVar41 != (undefined8 *)0x0) {\n iVar14 = (int)puVar51;\n if (iVar14 == 0x42475241) {\n do {\n _memset_pattern16(puVar41,&DAT_100086050,(long)puVar37 << 2);\n puVar41 = (undefined8 *)((long)puVar41 + (long)puVar40);\n puVar36 = (undefined8 *)((long)puVar36 + -1);\n } while (puVar36 != (undefined8 *)0x0);\n }\n else if (iVar14 == 0x52476841) {\n puVar51 = (undefined8 *)0x0;\n puVar52 = puVar37;\n puVar57 = puVar41;\n do {\n do {\n *puVar41 = 0x3c00000000000000;\n puVar52 = (undefined8 *)((long)puVar52 + -1);\n puVar41 = puVar41 + 1;\n } while (puVar52 != (undefined8 *)0x0);\n puVar51 = (undefined8 *)((long)puVar51 + 1);\n puVar41 = (undefined8 *)((long)puVar57 + (long)puVar40);\n puVar52 = puVar37;\n puVar57 = puVar41;\n } while (puVar51 != puVar36);\n }\n else if (iVar14 == 0x52476641) {\n puVar51 = (undefined8 *)0x0;\n puVar52 = puVar37;\n puVar57 = puVar41;\n do {\n do {\n puVar41[1] = 0x3f80000000000000;\n *puVar41 = 0;\n puVar52 = (undefined8 *)((long)puVar52 + -1);\n puVar41 = puVar41 + 2;\n } while (puVar52 != (undefined8 *)0x0);\n puVar51 = (undefined8 *)((long)puVar51 + 1);\n puVar41 = (undefined8 *)((long)puVar57 + (long)puVar40);\n puVar52 = puVar37;\n puVar57 = puVar41;\n } while (puVar51 != puVar36);\n }\n else {\n _bzero(puVar41,(long)puVar40 * (long)puVar36);\n }\n }\n _IOSurfaceUnlock(puVar28,0,0);\n }\n }\n }\nLAB_1000288d0:\n objc_stub::length(0x1000ad040);\n }\n objc_stub::length(0x1000ac540);\n objc_stub::count(local_8e0);\n bVar11 = 1;\n goto LAB_1000288f4;\n }\n if (pIVar43 != (ID *)0x0) {\n pcVar30 = &cf_UnabletocreateCIContext;\n FUN_10001fb70();\n *pIVar43 = (ID)pcVar30;\n }\n objc_stub::length(0x1000ac540);\n }\n }\nLAB_1000283fc:\n bVar11 = 0;\nLAB_1000288f4:\n if (*(long *)PTR____stack_chk_guard_1000a80e8 != local_b8) {\n /* WARNING: Subroutine does not return */\n ___stack_chk_fail();\n }\n return bVar11;\n}\n\n" }, "subject": { "architecture": "arm64", "digest": { "sha256": "afc71d0d21fd3c1ca95ca745ddafcd729e36ad95f17d8638009f2e45d9b7e8df" }, "format": "mach-o", "local_path": "/Users/dayu/Documents/PaintFCP/build/body-analysis/MSE18V2-arm64", "name": "MSE18V2-arm64" } }, { "analysis_profile": { "digest": "20565088524a2d0359b9b96f46ac48e679d774c7b0092c56abc06de8fdbec11c", "parameters": { "analyzer_preset": "ghidra-default", "annotation_policy": "atomic-function-entry-metadata-v1", "architecture": "arm64", "available_architectures": [ "arm64" ], "compiler_spec_id": "auto-default", "decompiler_jump_loads": true, "function_body_evidence": "complete-inclusive-ranges-v1", "function_boundary_observations": "ghidra-terminal-call-limitations-v1", "function_references": "complete-body-and-entry-reference-manager-v2", "import_mode": "ephemeral-source-immutable", "instruction_flow_evidence": "decoded-return-pcode-v1", "jump_table_evidence": "typed-case-default-blocks-v1", "language_id": "auto-from-header", "load_image_observations": "source-mappings-entry-context-v2", "loader": "auto-from-header", "location_resolution": "explicit-address-exact-entry-symbol-first-v3", "no_return_repair": "returning-imports-decoded-return-v2", "process_launch": "inspected-jvm-launch-support-v1", "string_inventory_evidence": "defined-data-coverage-v1", "target_format": "mach-o", "target_kind": "executable" }, "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" } }, "authority": "shipped-artifact", "confidence": "observed", "environment": null, "evidence_id": "ev_32c23e32acb231021ba3538e459084cf5ff7f9fc782264bad900eb9a6d0fed38", "evidence_links": [], "limitations": [ "The session serves operations only after Ghidra reports default auto-analysis complete; incomplete analysis does not expose partial results.", "The imported Program and temporary project are ephemeral and deleted on close. Annotation operations edit session database metadata; original executable bytes are never written.", "Cancelling an active Ghidra request terminates its ephemeral database and discards session annotations. The selected target remains open; the next provider query imports the original artifact again.", "Default-space addresses use lowercase 0x-prefixed hexadecimal; other address spaces use :0x.", "This fast path reads only the requested function and does not invoke the decompiler or whole-program string/name inventories.", "Instruction text is Ghidra-specific and does not claim textual equivalence with Hopper output.", "Ghidra Listing reports a terminal call at 0x10003e9c8 to 0x10007aca0 ___stack_chk_fail (external=false, thunk=true, hasNoReturn=true); fallthrough is excluded by Ghidra's flow model. This records Ghidra's FunctionManager flag, not an independent verification that the callee cannot return.", "macOS sessions require a matching executable Ghidra native decompiler; REA checks for it but does not build native components or change Gatekeeper quarantine state." ], "locations": [], "normalized_result": { "instructions": [ "0x10003d69c: stp d15, d14, [sp, #-0xa0]!", "0x10003d6a0: stp d13, d12, [sp, #0x10]", "0x10003d6a4: stp d11, d10, [sp, #0x20]", "0x10003d6a8: stp d9, d8, [sp, #0x30]", "0x10003d6ac: stp x28, x27, [sp, #0x40]", "0x10003d6b0: stp x26, x25, [sp, #0x50]", "0x10003d6b4: stp x24, x23, [sp, #0x60]", "0x10003d6b8: stp x22, x21, [sp, #0x70]", "0x10003d6bc: stp x20, x19, [sp, #0x80]", "0x10003d6c0: stp x29, x30, [sp, #0x90]", "0x10003d6c4: add x29, sp, #0x90", "0x10003d6c8: sub sp, sp, #0x1f0", "0x10003d6cc: mov x19, x7", "0x10003d6d0: mov x23, x6", "0x10003d6d4: fmov d8, d3", "0x10003d6d8: fmov d9, d2", "0x10003d6dc: fmov d10, d1", "0x10003d6e0: fmov d11, d0", "0x10003d6e4: mov x26, x5", "0x10003d6e8: mov x24, x4", "0x10003d6ec: mov x20, x3", "0x10003d6f0: mov x22, x0", "0x10003d6f4: adrp x8, 0x1000a8000", "0x10003d6f8: ldr x8, [x8, #0xe8]", "0x10003d6fc: ldr x8, [x8]", "0x10003d700: stur x8, [x29, #-0xa0]", "0x10003d704: mov x0, x2", "0x10003d708: bl 0x10002a428", "0x10003d70c: str x0, [sp, #0x88]", "0x10003d710: cbz x24, 0x10003d730", "0x10003d714: ldrb w8, [x24, #0xf8]", "0x10003d718: str w8, [sp, #0x84]", "0x10003d71c: ldr q0, [x24, #0x100]", "0x10003d720: str q0, [sp, #0x70]", "0x10003d724: ldr x8, [x24, #0x168]", "0x10003d728: str x8, [sp, #0x38]", "0x10003d72c: b 0x10003d740", "0x10003d730: str wzr, [sp, #0x84]", "0x10003d734: str xzr, [sp, #0x38]", "0x10003d738: fmov v0.2D, #0x3fe0000000000000", "0x10003d73c: str q0, [sp, #0x70]", "0x10003d740: ldr x0, [x22, #0x28]", "0x10003d744: bl 0x10007faa0", "0x10003d748: ldrb w8, [x22, #0x3b0]", "0x10003d74c: cmp w8, #0x1", "0x10003d750: b.ne 0x10003d858", "0x10003d754: mov x21, x19", "0x10003d758: ldr w9, [x20, #0xc]", "0x10003d75c: mov w8, #0x1d", "0x10003d760: and w9, w9, w8", "0x10003d764: cmp w9, #0x1", "0x10003d768: b.ne 0x10003d7b8", "0x10003d76c: ldr w9, [x22, #0x3a4]", "0x10003d770: and w8, w9, w8", "0x10003d774: cmp w8, #0x1", "0x10003d778: b.ne 0x10003d7b8", "0x10003d77c: add x19, x22, #0x398", "0x10003d780: ldr q0, [x20]", "0x10003d784: str q0, [sp, #0x160]", "0x10003d788: ldr x8, [x20, #0x10]", "0x10003d78c: str x8, [sp, #0x170]", "0x10003d790: ldr q0, [x19]", "0x10003d794: str q0, [sp, #0xd0]", "0x10003d798: ldr x8, [x19, #0x10]", "0x10003d79c: str x8, [sp, #0xe0]", "0x10003d7a0: add x0, sp, #0x160", "0x10003d7a4: add x1, sp, #0xd0", "0x10003d7a8: bl 0x10007a9e8", "0x10003d7ac: tbnz w0, #0x1f, 0x10003e45c", "0x10003d7b0: ldrb w8, [x22, #0x3b0]", "0x10003d7b4: tbz w8, #0x0, 0x10003d860", "0x10003d7b8: ldr x0, [x22, #0x370]", "0x10003d7bc: bl 0x10007d560", "0x10003d7c0: cmp x0, #0x4d", "0x10003d7c4: b.cc 0x10003d860", "0x10003d7c8: ldr d12, [x22, #0x378]", "0x10003d7cc: ldr d13, [x22, #0x380]", "0x10003d7d0: ldr d14, [x22, #0x388]", "0x10003d7d4: ldr d15, [x22, #0x390]", "0x10003d7d8: fmov d0, d12", "0x10003d7dc: fmov d1, d13", "0x10003d7e0: fmov d2, d14", "0x10003d7e4: fmov d3, d15", "0x10003d7e8: bl 0x10007a9d0", "0x10003d7ec: tbnz w0, #0x0, 0x10003d860", "0x10003d7f0: fmov d0, d12", "0x10003d7f4: fmov d1, d13", "0x10003d7f8: fmov d2, d14", "0x10003d7fc: fmov d3, d15", "0x10003d800: bl 0x10007a9b8", "0x10003d804: tbnz w0, #0x0, 0x10003d860", "0x10003d808: fmov d0, d12", "0x10003d80c: fmov d1, d13", "0x10003d810: fmov d2, d14", "0x10003d814: fmov d3, d15", "0x10003d818: bl 0x10007a988", "0x10003d81c: mov x8, #0x3cb0000000000000", "0x10003d820: fmov d1, x8", "0x10003d824: fcmp d0, d1", "0x10003d828: b.le 0x10003d860", "0x10003d82c: fmov d0, d12", "0x10003d830: fmov d1, d13", "0x10003d834: fmov d2, d14", "0x10003d838: fmov d3, d15", "0x10003d83c: bl 0x10007a934", "0x10003d840: mov x8, #0x3cb0000000000000", "0x10003d844: fmov d1, x8", "0x10003d848: fcmp d0, d1", "0x10003d84c: cset w8, gt", "0x10003d850: str w8, [sp, #0x4c]", "0x10003d854: b 0x10003d864", "0x10003d858: str wzr, [sp, #0x4c]", "0x10003d85c: b 0x10003d868", "0x10003d860: str wzr, [sp, #0x4c]", "0x10003d864: mov x19, x21", "0x10003d868: adrp x8, 0x1000a8000", "0x10003d86c: ldr x8, [x8, #0x148]", "0x10003d870: ldp d1, d0, [x8]", "0x10003d874: stp d0, d1, [sp, #0xc0]", "0x10003d878: ldp d1, d0, [x8, #0x10]", "0x10003d87c: stp d0, d1, [sp, #0xb0]", "0x10003d880: ldr d0, [x22, #0x3b8]", "0x10003d884: ldr q2, [sp, #0x70]", "0x10003d888: fsub d0, d2, d0", "0x10003d88c: ldr d1, [x22, #0x3c0]", "0x10003d890: dup d2, v2.D[0x1]", "0x10003d894: str d2, [sp, #0x10]", "0x10003d898: fsub d1, d2, d1", "0x10003d89c: bl 0x10007ad84", "0x10003d8a0: ldr w8, [sp, #0x84]", "0x10003d8a4: str x19, [sp, #0x40]", "0x10003d8a8: tbz w8, #0x0, 0x10003d92c", "0x10003d8ac: ldrb w8, [x22, #0x3b1]", "0x10003d8b0: cmp w8, #0x1", "0x10003d8b4: b.ne 0x10003d8f8", "0x10003d8b8: ldr x8, [sp, #0x38]", "0x10003d8bc: cmp x8, #0x1", "0x10003d8c0: b.lt 0x10003d8d4", "0x10003d8c4: ldr x8, [x22, #0x3c8]", "0x10003d8c8: ldr x9, [sp, #0x38]", "0x10003d8cc: cmp x9, x8", "0x10003d8d0: b.gt 0x10003d8f8", "0x10003d8d4: fmov x8, d0", "0x10003d8d8: and x8, x8, #0x7fffffffffffffff", "0x10003d8dc: mov x9, #0x7fefffffffffffff", "0x10003d8e0: cmp x8, x9", "0x10003d8e4: b.gt 0x10003d92c", "0x10003d8e8: adrp x8, 0x100086000", "0x10003d8ec: ldr d1, [x8, #0x440]", "0x10003d8f0: fcmp d0, d1", "0x10003d8f4: b.le 0x10003d92c", "0x10003d8f8: ldr q0, [x20]", "0x10003d8fc: str q0, [sp, #0x160]", "0x10003d900: ldr x8, [x20, #0x10]", "0x10003d904: str x8, [sp, #0x170]", "0x10003d908: add x3, sp, #0x160", "0x10003d90c: mov x0, x22", "0x10003d910: mov x2, #0x0", "0x10003d914: mov x4, #0x0", "0x10003d918: mov w5, #0x0", "0x10003d91c: bl 0x100083460", "0x10003d920: mov w27, #0x0", "0x10003d924: mov w21, #0x1", "0x10003d928: b 0x10003da08", "0x10003d92c: cbz x26, 0x10003da00", "0x10003d930: ldr q0, [x20]", "0x10003d934: str q0, [sp, #0x160]", "0x10003d938: ldr x8, [x20, #0x10]", "0x10003d93c: str x8, [sp, #0x170]", "0x10003d940: add x3, sp, #0x160", "0x10003d944: mov x0, x22", "0x10003d948: mov x2, x26", "0x10003d94c: mov x4, #0x0", "0x10003d950: mov w5, #0x1", "0x10003d954: bl 0x100083460", "0x10003d958: bl 0x10002d838", "0x10003d95c: stp d1, d0, [sp, #0xa0]", "0x10003d960: stp d3, d2, [sp, #0x90]", "0x10003d964: ldp d1, d0, [sp, #0xa0]", "0x10003d968: ldp d3, d2, [sp, #0x90]", "0x10003d96c: bl 0x10007a9d0", "0x10003d970: tbnz w0, #0x0, 0x10003d9c8", "0x10003d974: ldp d1, d0, [sp, #0xa0]", "0x10003d978: ldp d3, d2, [sp, #0x90]", "0x10003d97c: bl 0x10007a9b8", "0x10003d980: tbnz w0, #0x0, 0x10003d9c8", "0x10003d984: ldp d1, d0, [sp, #0xa0]", "0x10003d988: ldp d3, d2, [sp, #0x90]", "0x10003d98c: bl 0x10007a988", "0x10003d990: mov x8, #0x3cb0000000000000", "0x10003d994: fmov d1, x8", "0x10003d998: fcmp d0, d1", "0x10003d99c: b.le 0x10003d9c8", "0x10003d9a0: ldp d1, d0, [sp, #0xa0]", "0x10003d9a4: ldp d3, d2, [sp, #0x90]", "0x10003d9a8: bl 0x10007a934", "0x10003d9ac: mov w21, #0x0", "0x10003d9b0: mov x8, #0x3cb0000000000000", "0x10003d9b4: fmov d1, x8", "0x10003d9b8: fcmp d0, d1", "0x10003d9bc: cset w27, gt", "0x10003d9c0: cbz w23, 0x10003d9d4", "0x10003d9c4: b 0x10003da1c", "0x10003d9c8: mov w21, #0x0", "0x10003d9cc: mov w27, #0x0", "0x10003d9d0: cbnz w23, 0x10003da1c", "0x10003d9d4: ldr d11, [x22, #0x378]", "0x10003d9d8: ldr d10, [x22, #0x380]", "0x10003d9dc: ldr d9, [x22, #0x388]", "0x10003d9e0: ldr d8, [x22, #0x390]", "0x10003d9e4: ldr w8, [sp, #0x4c]", "0x10003d9e8: cbz w8, 0x10003db3c", "0x10003d9ec: fmov d13, d8", "0x10003d9f0: fmov d14, d9", "0x10003d9f4: fmov d15, d10", "0x10003d9f8: fmov d12, d11", "0x10003d9fc: b 0x10003dac0", "0x10003da00: mov w21, #0x0", "0x10003da04: mov w27, #0x0", "0x10003da08: ldp d0, d1, [sp, #0xc0]", "0x10003da0c: stp d0, d1, [sp, #0xa0]", "0x10003da10: ldp d0, d1, [sp, #0xb0]", "0x10003da14: stp d0, d1, [sp, #0x90]", "0x10003da18: cbz w23, 0x10003d9d4", "0x10003da1c: fmov d0, d11", "0x10003da20: fmov d1, d10", "0x10003da24: fmov d2, d9", "0x10003da28: fmov d3, d8", "0x10003da2c: bl 0x10007a9d0", "0x10003da30: tbnz w0, #0x0, 0x10003da9c", "0x10003da34: fmov d0, d11", "0x10003da38: fmov d1, d10", "0x10003da3c: fmov d2, d9", "0x10003da40: fmov d3, d8", "0x10003da44: bl 0x10007a9b8", "0x10003da48: tbnz w0, #0x0, 0x10003da9c", "0x10003da4c: fmov d0, d11", "0x10003da50: fmov d1, d10", "0x10003da54: fmov d2, d9", "0x10003da58: fmov d3, d8", "0x10003da5c: bl 0x10007a988", "0x10003da60: mov x8, #0x3cb0000000000000", "0x10003da64: fmov d1, x8", "0x10003da68: fcmp d0, d1", "0x10003da6c: b.le 0x10003da9c", "0x10003da70: fmov d0, d11", "0x10003da74: fmov d1, d10", "0x10003da78: fmov d2, d9", "0x10003da7c: fmov d3, d8", "0x10003da80: bl 0x10007a934", "0x10003da84: mov x8, #0x3cb0000000000000", "0x10003da88: fmov d1, x8", "0x10003da8c: fcmp d0, d1", "0x10003da90: cset w28, gt", "0x10003da94: tbz w28, #0x0, 0x10003daa4", "0x10003da98: b 0x10003db40", "0x10003da9c: mov w28, #0x0", "0x10003daa0: tbnz w28, #0x0, 0x10003db40", "0x10003daa4: ldr w8, [sp, #0x4c]", "0x10003daa8: eor w8, w8, #0x1", "0x10003daac: tbnz w8, #0x0, 0x10003db40", "0x10003dab0: ldr d12, [x22, #0x378]", "0x10003dab4: ldr d15, [x22, #0x380]", "0x10003dab8: ldr d14, [x22, #0x388]", "0x10003dabc: ldr d13, [x22, #0x390]", "0x10003dac0: fmov d0, d12", "0x10003dac4: fmov d1, d15", "0x10003dac8: fmov d2, d14", "0x10003dacc: fmov d3, d13", "0x10003dad0: bl 0x10007a9d0", "0x10003dad4: tbnz w0, #0x0, 0x10003db3c", "0x10003dad8: fmov d0, d12", "0x10003dadc: fmov d1, d15", "0x10003dae0: fmov d2, d14", "0x10003dae4: fmov d3, d13", "0x10003dae8: bl 0x10007a9b8", "0x10003daec: tbnz w0, #0x0, 0x10003db3c", "0x10003daf0: fmov d0, d12", "0x10003daf4: fmov d1, d15", "0x10003daf8: fmov d2, d14", "0x10003dafc: fmov d3, d13", "0x10003db00: bl 0x10007a988", "0x10003db04: mov x8, #0x3cb0000000000000", "0x10003db08: fmov d1, x8", "0x10003db0c: fcmp d0, d1", "0x10003db10: b.le 0x10003db3c", "0x10003db14: fmov d0, d12", "0x10003db18: fmov d1, d15", "0x10003db1c: fmov d2, d14", "0x10003db20: fmov d3, d13", "0x10003db24: bl 0x10007a934", "0x10003db28: mov x8, #0x3cb0000000000000", "0x10003db2c: fmov d1, x8", "0x10003db30: fcmp d0, d1", "0x10003db34: cset w28, gt", "0x10003db38: b 0x10003db40", "0x10003db3c: mov w28, #0x0", "0x10003db40: cmp w27, #0x0", "0x10003db44: ldr d0, [sp, #0x90]", "0x10003db48: fcsel d1, d0, d8, ne", "0x10003db4c: ldr d0, [sp, #0x98]", "0x10003db50: fcsel d0, d0, d9, ne", "0x10003db54: stp d0, d1, [sp, #0x28]", "0x10003db58: ldr d0, [sp, #0xa0]", "0x10003db5c: fcsel d1, d0, d10, ne", "0x10003db60: eor w8, w28, #0x1", "0x10003db64: orr w8, w21, w8", "0x10003db68: ldp d0, d2, [sp, #0xa8]", "0x10003db6c: fcsel d0, d0, d11, ne", "0x10003db70: stp d0, d1, [sp, #0x18]", "0x10003db74: ldp d1, d3, [sp, #0xb8]", "0x10003db78: stp d1, d2, [sp, #0x60]", "0x10003db7c: ldr d0, [sp, #0xc8]", "0x10003db80: stp d0, d3, [sp, #0x50]", "0x10003db84: ldr x23, [sp, #0x88]", "0x10003db88: tbnz w8, #0x0, 0x10003de3c", "0x10003db8c: cbz x24, 0x10003db98", "0x10003db90: ldr d12, [x24, #0xf0]", "0x10003db94: b 0x10003db9c", "0x10003db98: fmov d12, 0x3ff8000000000000", "0x10003db9c: ldr x0, [sp, #0x88]", "0x10003dba0: bl 0x10007d560", "0x10003dba4: cbz x0, 0x10003de20", "0x10003dba8: fmov d0, d11", "0x10003dbac: fmov d1, d10", "0x10003dbb0: fmov d2, d9", "0x10003dbb4: fmov d3, d8", "0x10003dbb8: bl 0x10007a9d0", "0x10003dbbc: tbnz w0, #0x0, 0x10003de20", "0x10003dbc0: fmov d0, d11", "0x10003dbc4: fmov d1, d10", "0x10003dbc8: fmov d2, d9", "0x10003dbcc: fmov d3, d8", "0x10003dbd0: bl 0x10007a9b8", "0x10003dbd4: tbnz w0, #0x0, 0x10003de20", "0x10003dbd8: fmov d0, d11", "0x10003dbdc: fmov d1, d10", "0x10003dbe0: fmov d2, d9", "0x10003dbe4: fmov d3, d8", "0x10003dbe8: bl 0x10007a988", "0x10003dbec: mov x8, #0x3cb0000000000000", "0x10003dbf0: fmov d1, x8", "0x10003dbf4: fcmp d0, d1", "0x10003dbf8: b.le 0x10003de20", "0x10003dbfc: fmov d0, d11", "0x10003dc00: fmov d1, d10", "0x10003dc04: fmov d2, d9", "0x10003dc08: fmov d3, d8", "0x10003dc0c: bl 0x10007a934", "0x10003dc10: mov x8, #0x3cb0000000000000", "0x10003dc14: fmov d1, x8", "0x10003dc18: fcmp d0, d1", "0x10003dc1c: b.le 0x10003de20", "0x10003dc20: fmov d0, 0x4010000000000000", "0x10003dc24: fcmp d12, d0", "0x10003dc28: fcsel d0, d0, d12, gt", "0x10003dc2c: fmov d1, 0x3ff0000000000000", "0x10003dc30: fcmp d12, d1", "0x10003dc34: fcsel d4, d1, d0, mi", "0x10003dc38: fmov d0, d11", "0x10003dc3c: fmov d1, d10", "0x10003dc40: fmov d2, d9", "0x10003dc44: fmov d3, d8", "0x10003dc48: bl 0x10002c6b8", "0x10003dc4c: stp d0, d1, [sp, #0x50]", "0x10003dc50: stp d2, d3, [sp, #0x60]", "0x10003dc54: ldp d0, d1, [sp, #0x50]", "0x10003dc58: ldp d2, d3, [sp, #0x60]", "0x10003dc5c: bl 0x10007a9d0", "0x10003dc60: tbnz w0, #0x0, 0x10003e4a4", "0x10003dc64: ldp d0, d1, [sp, #0x50]", "0x10003dc68: ldp d2, d3, [sp, #0x60]", "0x10003dc6c: bl 0x10007a9b8", "0x10003dc70: tbnz w0, #0x0, 0x10003e4a4", "0x10003dc74: ldp d0, d1, [sp, #0x50]", "0x10003dc78: ldp d2, d3, [sp, #0x60]", "0x10003dc7c: bl 0x10007a988", "0x10003dc80: mov x8, #0x3cb0000000000000", "0x10003dc84: fmov d1, x8", "0x10003dc88: fcmp d0, d1", "0x10003dc8c: b.le 0x10003e4a4", "0x10003dc90: ldp d0, d1, [sp, #0x50]", "0x10003dc94: ldp d2, d3, [sp, #0x60]", "0x10003dc98: bl 0x10007a934", "0x10003dc9c: mov x8, #0x3cb0000000000000", "0x10003dca0: fmov d1, x8", "0x10003dca4: fcmp d0, d1", "0x10003dca8: b.le 0x10003e4a4", "0x10003dcac: adrp x8, 0x1000bb000", "0x10003dcb0: ldr x0, [x8, #0xa00]", "0x10003dcb4: bl 0x10007cc80", "0x10003dcb8: str x0, [sp, #0x8]", "0x10003dcbc: movi v0.2D, #0x0", "0x10003dcc0: stp q0, q0, [sp, #0xf0]", "0x10003dcc4: stp q0, q0, [sp, #0xd0]", "0x10003dcc8: add x2, sp, #0xd0", "0x10003dccc: add x3, sp, #0x160", "0x10003dcd0: ldr x0, [sp, #0x88]", "0x10003dcd4: mov w4, #0x10", "0x10003dcd8: bl 0x10007d580", "0x10003dcdc: mov x24, x0", "0x10003dce0: cbz x0, 0x10003de08", "0x10003dce4: ldr x8, [sp, #0xe0]", "0x10003dce8: ldr x23, [x8]", "0x10003dcec: mov x19, #0x0", "0x10003dcf0: ldr x8, [sp, #0xe0]", "0x10003dcf4: ldr x8, [x8]", "0x10003dcf8: cmp x8, x23", "0x10003dcfc: b.eq 0x10003dd08", "0x10003dd00: ldr x0, [sp, #0x88]", "0x10003dd04: bl 0x10007ae2c", "0x10003dd08: ldr x8, [sp, #0xd8]", "0x10003dd0c: ldr x25, [x8, x19, LSL #0x3]", "0x10003dd10: mov x0, x25", "0x10003dd14: bl 0x100029d20", "0x10003dd18: fmov d12, d0", "0x10003dd1c: fmov d13, d1", "0x10003dd20: fmov d14, d2", "0x10003dd24: fmov d15, d3", "0x10003dd28: bl 0x10007a9d0", "0x10003dd2c: tbnz w0, #0x0, 0x10003dde0", "0x10003dd30: fmov d0, d12", "0x10003dd34: fmov d1, d13", "0x10003dd38: fmov d2, d14", "0x10003dd3c: fmov d3, d15", "0x10003dd40: bl 0x10007a9b8", "0x10003dd44: tbnz w0, #0x0, 0x10003dde0", "0x10003dd48: fmov d0, d12", "0x10003dd4c: fmov d1, d13", "0x10003dd50: fmov d2, d14", "0x10003dd54: fmov d3, d15", "0x10003dd58: bl 0x10007a988", "0x10003dd5c: mov x8, #0x3cb0000000000000", "0x10003dd60: fmov d1, x8", "0x10003dd64: fcmp d0, d1", "0x10003dd68: b.le 0x10003dde0", "0x10003dd6c: fmov d0, d12", "0x10003dd70: fmov d1, d13", "0x10003dd74: fmov d2, d14", "0x10003dd78: fmov d3, d15", "0x10003dd7c: bl 0x10007a934", "0x10003dd80: mov x8, #0x3cb0000000000000", "0x10003dd84: fmov d1, x8", "0x10003dd88: fcmp d0, d1", "0x10003dd8c: b.le 0x10003dde0", "0x10003dd90: fmov d0, d12", "0x10003dd94: fmov d1, d13", "0x10003dd98: fmov d2, d14", "0x10003dd9c: fmov d3, d15", "0x10003dda0: bl 0x10007a958", "0x10003dda4: fmov d8, d0", "0x10003dda8: fmov d0, d12", "0x10003ddac: fmov d1, d13", "0x10003ddb0: fmov d2, d14", "0x10003ddb4: fmov d3, d15", "0x10003ddb8: bl 0x10007a964", "0x10003ddbc: fmov d5, d0", "0x10003ddc0: ldp d0, d1, [sp, #0x50]", "0x10003ddc4: ldp d2, d3, [sp, #0x60]", "0x10003ddc8: fmov d4, d8", "0x10003ddcc: bl 0x10007a910", "0x10003ddd0: cbz w0, 0x10003dde0", "0x10003ddd4: ldr x0, [sp, #0x8]", "0x10003ddd8: mov x2, x25", "0x10003dddc: bl 0x10007ca00", "0x10003dde0: add x19, x19, #0x1", "0x10003dde4: cmp x24, x19", "0x10003dde8: b.ne 0x10003dcf0", "0x10003ddec: add x2, sp, #0xd0", "0x10003ddf0: add x3, sp, #0x160", "0x10003ddf4: ldr x0, [sp, #0x88]", "0x10003ddf8: mov w4, #0x10", "0x10003ddfc: bl 0x10007d580", "0x10003de00: mov x24, x0", "0x10003de04: cbnz x0, 0x10003dcec", "0x10003de08: ldr x0, [sp, #0x8]", "0x10003de0c: bl 0x10007d560", "0x10003de10: cmp x0, #0x0", "0x10003de14: ldr x8, [sp, #0x8]", "0x10003de18: csel x23, xzr, x8, eq", "0x10003de1c: b 0x10003de34", "0x10003de20: mov x23, #0x0", "0x10003de24: ldp d1, d0, [sp, #0xb0]", "0x10003de28: stp d0, d1, [sp, #0x60]", "0x10003de2c: ldp d1, d0, [sp, #0xc0]", "0x10003de30: stp d0, d1, [sp, #0x50]", "0x10003de34: mov x0, x23", "0x10003de38: bl 0x10007d560", "0x10003de3c: mov x0, x23", "0x10003de40: bl 0x10007d560", "0x10003de44: cbz x0, 0x10003e040", "0x10003de48: ldr w8, [sp, #0x84]", "0x10003de4c: and w8, w8, w21", "0x10003de50: cmp w8, #0x1", "0x10003de54: b.ne 0x10003de78", "0x10003de58: mov x0, x23", "0x10003de5c: ldr q0, [sp, #0x70]", "0x10003de60: ldr d1, [sp, #0x10]", "0x10003de64: ldp d3, d2, [sp, #0xc0]", "0x10003de68: ldp d5, d4, [sp, #0xb0]", "0x10003de6c: mov w1, #0x0", "0x10003de70: bl 0x10003ec44", "0x10003de74: b 0x10003def4", "0x10003de78: orr w8, w27, w28", "0x10003de7c: cbz w8, 0x10003debc", "0x10003de80: ldp d0, d1, [sp, #0x18]", "0x10003de84: ldp d2, d3, [sp, #0x28]", "0x10003de88: bl 0x10007a958", "0x10003de8c: fmov d8, d0", "0x10003de90: ldp d0, d1, [sp, #0x18]", "0x10003de94: ldp d2, d3, [sp, #0x28]", "0x10003de98: bl 0x10007a964", "0x10003de9c: fmov d1, d0", "0x10003dea0: mov x0, x23", "0x10003dea4: fmov d0, d8", "0x10003dea8: ldp d2, d3, [sp, #0x18]", "0x10003deac: ldp d4, d5, [sp, #0x28]", "0x10003deb0: mov w1, #0x1", "0x10003deb4: bl 0x10003ec44", "0x10003deb8: b 0x10003def4", "0x10003debc: ldr w8, [sp, #0x84]", "0x10003dec0: tbz w8, #0x0, 0x10003dee4", "0x10003dec4: mov x0, x23", "0x10003dec8: ldr q0, [sp, #0x70]", "0x10003decc: ldr d1, [sp, #0x10]", "0x10003ded0: ldp d3, d2, [sp, #0xc0]", "0x10003ded4: ldp d5, d4, [sp, #0xb0]", "0x10003ded8: mov w1, #0x0", "0x10003dedc: bl 0x10003ec44", "0x10003dee0: b 0x10003def4", "0x10003dee4: mov x0, x23", "0x10003dee8: ldp d1, d0, [sp, #0xc0]", "0x10003deec: ldp d3, d2, [sp, #0xb0]", "0x10003def0: bl 0x10003f020", "0x10003def4: mov x24, x0", "0x10003def8: bl 0x100029a00", "0x10003defc: mov x25, x0", "0x10003df00: mov x0, x24", "0x10003df04: bl 0x100029d20", "0x10003df08: fmov d15, d0", "0x10003df0c: fmov d14, d1", "0x10003df10: fmov d13, d2", "0x10003df14: fmov d12, d3", "0x10003df18: mov x0, x25", "0x10003df1c: bl 0x10007d560", "0x10003df20: cmp x0, #0x4d", "0x10003df24: b.cc 0x10003e040", "0x10003df28: fmov d0, d15", "0x10003df2c: fmov d1, d14", "0x10003df30: fmov d2, d13", "0x10003df34: fmov d3, d12", "0x10003df38: bl 0x10007a9d0", "0x10003df3c: tbnz w0, #0x0, 0x10003e040", "0x10003df40: fmov d0, d15", "0x10003df44: fmov d1, d14", "0x10003df48: fmov d2, d13", "0x10003df4c: fmov d3, d12", "0x10003df50: bl 0x10007a9b8", "0x10003df54: tbnz w0, #0x0, 0x10003e040", "0x10003df58: fmov d0, d15", "0x10003df5c: fmov d1, d14", "0x10003df60: fmov d2, d13", "0x10003df64: fmov d3, d12", "0x10003df68: bl 0x10007a988", "0x10003df6c: mov x8, #0x3cb0000000000000", "0x10003df70: fmov d1, x8", "0x10003df74: fcmp d0, d1", "0x10003df78: b.le 0x10003e040", "0x10003df7c: fmov d0, d15", "0x10003df80: fmov d1, d14", "0x10003df84: fmov d2, d13", "0x10003df88: fmov d3, d12", "0x10003df8c: bl 0x10007a934", "0x10003df90: mov x8, #0x3cb0000000000000", "0x10003df94: fmov d1, x8", "0x10003df98: fcmp d0, d1", "0x10003df9c: b.le 0x10003e040", "0x10003dfa0: cbz x26, 0x10003e050", "0x10003dfa4: cbz x24, 0x10003e050", "0x10003dfa8: eor w8, w27, #0x1", "0x10003dfac: cbz w8, 0x10003e050", "0x10003dfb0: ldr q0, [x20]", "0x10003dfb4: str q0, [sp, #0x160]", "0x10003dfb8: ldr x8, [x20, #0x10]", "0x10003dfbc: str x8, [sp, #0x170]", "0x10003dfc0: add x3, sp, #0x160", "0x10003dfc4: mov x0, x22", "0x10003dfc8: mov x2, x26", "0x10003dfcc: mov x4, x24", "0x10003dfd0: mov w5, #0x1", "0x10003dfd4: bl 0x100083460", "0x10003dfd8: bl 0x10002d838", "0x10003dfdc: stp d1, d0, [sp, #0xa0]", "0x10003dfe0: stp d3, d2, [sp, #0x90]", "0x10003dfe4: ldp d1, d0, [sp, #0xa0]", "0x10003dfe8: ldp d3, d2, [sp, #0x90]", "0x10003dfec: bl 0x10007a9d0", "0x10003dff0: tbnz w0, #0x0, 0x10003e4ac", "0x10003dff4: ldp d1, d0, [sp, #0xa0]", "0x10003dff8: ldp d3, d2, [sp, #0x90]", "0x10003dffc: bl 0x10007a9b8", "0x10003e000: tbnz w0, #0x0, 0x10003e4ac", "0x10003e004: ldp d1, d0, [sp, #0xa0]", "0x10003e008: ldp d3, d2, [sp, #0x90]", "0x10003e00c: bl 0x10007a988", "0x10003e010: mov x8, #0x3cb0000000000000", "0x10003e014: fmov d1, x8", "0x10003e018: fcmp d0, d1", "0x10003e01c: b.le 0x10003e4ac", "0x10003e020: ldp d1, d0, [sp, #0xa0]", "0x10003e024: ldp d3, d2, [sp, #0x90]", "0x10003e028: bl 0x10007a934", "0x10003e02c: mov x8, #0x3cb0000000000000", "0x10003e030: fmov d1, x8", "0x10003e034: fcmp d0, d1", "0x10003e038: cset w27, gt", "0x10003e03c: b 0x10003e050", "0x10003e040: mov x24, #0x0", "0x10003e044: mov x25, #0x0", "0x10003e048: ldp d12, d13, [sp, #0xb0]", "0x10003e04c: ldp d14, d15, [sp, #0xc0]", "0x10003e050: mov x0, x25", "0x10003e054: bl 0x10007d560", "0x10003e058: cmp x0, #0x4d", "0x10003e05c: b.cc 0x10003e130", "0x10003e060: fmov d0, d15", "0x10003e064: fmov d1, d14", "0x10003e068: fmov d2, d13", "0x10003e06c: fmov d3, d12", "0x10003e070: bl 0x10007a9d0", "0x10003e074: tbnz w0, #0x0, 0x10003e130", "0x10003e078: fmov d0, d15", "0x10003e07c: fmov d1, d14", "0x10003e080: fmov d2, d13", "0x10003e084: fmov d3, d12", "0x10003e088: bl 0x10007a9b8", "0x10003e08c: tbnz w0, #0x0, 0x10003e130", "0x10003e090: fmov d0, d15", "0x10003e094: fmov d1, d14", "0x10003e098: fmov d2, d13", "0x10003e09c: fmov d3, d12", "0x10003e0a0: bl 0x10007a988", "0x10003e0a4: mov x8, #0x3cb0000000000000", "0x10003e0a8: fmov d1, x8", "0x10003e0ac: fcmp d0, d1", "0x10003e0b0: b.le 0x10003e130", "0x10003e0b4: fmov d0, d15", "0x10003e0b8: fmov d1, d14", "0x10003e0bc: fmov d2, d13", "0x10003e0c0: fmov d3, d12", "0x10003e0c4: bl 0x10007a934", "0x10003e0c8: mov x8, #0x3cb0000000000000", "0x10003e0cc: fmov d1, x8", "0x10003e0d0: fcmp d0, d1", "0x10003e0d4: b.le 0x10003e130", "0x10003e0d8: mov x0, x24", "0x10003e0dc: bl 0x10007f900", "0x10003e0e0: mov x26, x0", "0x10003e0e4: bl 0x10007cae0", "0x10003e0e8: mov x19, x0", "0x10003e0ec: mov x0, x26", "0x10003e0f0: bl 0x10007e060", "0x10003e0f4: cbz x24, 0x10003e130", "0x10003e0f8: cbz x26, 0x10003e130", "0x10003e0fc: cbz x19, 0x10003e130", "0x10003e100: mov x28, x0", "0x10003e104: mov x0, x19", "0x10003e108: bl 0x1000806c0", "0x10003e10c: cmp x0, #0x4c", "0x10003e110: b.cc 0x10003e130", "0x10003e114: mov x0, x19", "0x10003e118: bl 0x1000801c0", "0x10003e11c: cbz x0, 0x10003e130", "0x10003e120: mov x0, x28", "0x10003e124: bl 0x1000806c0", "0x10003e128: cmp x0, #0xa", "0x10003e12c: b.hi 0x10003e4b4", "0x10003e130: mov w26, #0x0", "0x10003e134: ldr w8, [sp, #0x84]", "0x10003e138: tbz w8, #0x0, 0x10003e178", "0x10003e13c: add x8, x22, #0x3b8", "0x10003e140: ldr q3, [sp, #0x70]", "0x10003e144: fcmlt v0.2D, v3.2D", "0x10003e148: fmov v1.2D, #0x3ff0000000000000", "0x10003e14c: fcmgt v2.2D, v3.2D, v1.2D", "0x10003e150: bif v1.16B, v3.16B, v2.16B", "0x10003e154: bic v0.16B, v1.16B, v0.16B", "0x10003e158: str q0, [x8]", "0x10003e15c: ldr x8, [x22, #0x3c8]", "0x10003e160: ldr x9, [sp, #0x38]", "0x10003e164: cmp x9, x8", "0x10003e168: csel x8, x9, x8, gt", "0x10003e16c: str x8, [x22, #0x3c8]", "0x10003e170: mov w8, #0x1", "0x10003e174: b 0x10003e17c", "0x10003e178: mov w8, #0x0", "0x10003e17c: strb w8, [x22, #0x3b1]", "0x10003e180: cbz w26, 0x10003e200", "0x10003e184: ldr x0, [x22, #0x370]", "0x10003e188: bl 0x10007ae98", "0x10003e18c: mov x0, x25", "0x10003e190: bl 0x10007d520", "0x10003e194: add x8, x22, #0x370", "0x10003e198: str x0, [x8]", "0x10003e19c: str d15, [x22, #0x378]", "0x10003e1a0: str d14, [x22, #0x380]", "0x10003e1a4: str d13, [x22, #0x388]", "0x10003e1a8: str d12, [x22, #0x390]", "0x10003e1ac: add x8, x22, #0x398", "0x10003e1b0: ldr q0, [x20]", "0x10003e1b4: ldr x9, [x20, #0x10]", "0x10003e1b8: str x9, [x22, #0x3a8]", "0x10003e1bc: str q0, [x8]", "0x10003e1c0: mov w8, #0x1", "0x10003e1c4: strb w8, [x22, #0x3b0]", "0x10003e1c8: bl 0x10007aea4", "0x10003e1cc: mov x25, x0", "0x10003e1d0: mov w19, #0x0", "0x10003e1d4: add x8, x22, #0x378", "0x10003e1d8: add x9, x22, #0x380", "0x10003e1dc: add x10, x22, #0x388", "0x10003e1e0: add x11, x22, #0x390", "0x10003e1e4: ldr d1, [x8]", "0x10003e1e8: ldr d0, [x9]", "0x10003e1ec: stp d0, d1, [sp, #0xc0]", "0x10003e1f0: ldr d0, [x10]", "0x10003e1f4: str d0, [sp, #0xb8]", "0x10003e1f8: ldr d0, [x11]", "0x10003e1fc: b 0x10003e338", "0x10003e200: ldr w8, [sp, #0x4c]", "0x10003e204: cbz w8, 0x10003e304", "0x10003e208: ldp d7, d6, [sp, #0x90]", "0x10003e20c: ldp d5, d4, [sp, #0xa0]", "0x10003e210: tbnz w27, #0x0, 0x10003e2ac", "0x10003e214: fmov d0, d15", "0x10003e218: fmov d1, d14", "0x10003e21c: fmov d2, d13", "0x10003e220: fmov d3, d12", "0x10003e224: bl 0x10007a9d0", "0x10003e228: tbnz w0, #0x0, 0x10003e29c", "0x10003e22c: fmov d0, d15", "0x10003e230: fmov d1, d14", "0x10003e234: fmov d2, d13", "0x10003e238: fmov d3, d12", "0x10003e23c: bl 0x10007a9b8", "0x10003e240: tbnz w0, #0x0, 0x10003e29c", "0x10003e244: fmov d0, d15", "0x10003e248: fmov d1, d14", "0x10003e24c: fmov d2, d13", "0x10003e250: fmov d3, d12", "0x10003e254: bl 0x10007a988", "0x10003e258: mov x8, #0x3cb0000000000000", "0x10003e25c: fmov d1, x8", "0x10003e260: fcmp d0, d1", "0x10003e264: b.le 0x10003e29c", "0x10003e268: fmov d0, d15", "0x10003e26c: fmov d1, d14", "0x10003e270: fmov d2, d13", "0x10003e274: fmov d3, d12", "0x10003e278: bl 0x10007a934", "0x10003e27c: mov x8, #0x3cb0000000000000", "0x10003e280: fmov d1, x8", "0x10003e284: fcmp d0, d1", "0x10003e288: fmov d7, d12", "0x10003e28c: fmov d6, d13", "0x10003e290: fmov d5, d14", "0x10003e294: fmov d4, d15", "0x10003e298: b.gt 0x10003e2ac", "0x10003e29c: ldr d4, [x22, #0x378]", "0x10003e2a0: ldr d5, [x22, #0x380]", "0x10003e2a4: ldr d6, [x22, #0x388]", "0x10003e2a8: ldr d7, [x22, #0x390]", "0x10003e2ac: ldr x0, [x22, #0x370]", "0x10003e2b0: ldr d0, [x22, #0x378]", "0x10003e2b4: ldr d1, [x22, #0x380]", "0x10003e2b8: ldr d2, [x22, #0x388]", "0x10003e2bc: ldr d3, [x22, #0x390]", "0x10003e2c0: stp d5, d4, [sp, #0xc0]", "0x10003e2c4: stp d7, d6, [sp, #0xb0]", "0x10003e2c8: bl 0x10001ab3c", "0x10003e2cc: mov x25, x0", "0x10003e2d0: bl 0x10007d560", "0x10003e2d4: cmp x0, #0x4d", "0x10003e2d8: b.cc 0x10003e310", "0x10003e2dc: mov x0, x25", "0x10003e2e0: ldp d1, d0, [sp, #0xc0]", "0x10003e2e4: ldp d3, d2, [sp, #0xb0]", "0x10003e2e8: bl 0x10001b070", "0x10003e2ec: cbz w0, 0x10003e310", "0x10003e2f0: mov x0, x25", "0x10003e2f4: bl 0x10007aea4", "0x10003e2f8: mov x25, x0", "0x10003e2fc: mov w19, #0x1", "0x10003e300: b 0x10003e33c", "0x10003e304: mov w19, #0x0", "0x10003e308: mov x25, #0x0", "0x10003e30c: b 0x10003e33c", "0x10003e310: ldr x0, [x22, #0x370]", "0x10003e314: bl 0x10007aea4", "0x10003e318: mov x25, x0", "0x10003e31c: ldr d1, [x22, #0x378]", "0x10003e320: ldr d0, [x22, #0x380]", "0x10003e324: stp d0, d1, [sp, #0xc0]", "0x10003e328: ldr d0, [x22, #0x388]", "0x10003e32c: str d0, [sp, #0xb8]", "0x10003e330: mov w19, #0x1", "0x10003e334: ldr d0, [x22, #0x390]", "0x10003e338: str d0, [sp, #0xb0]", "0x10003e33c: ldr x0, [x22, #0x28]", "0x10003e340: bl 0x1000834c0", "0x10003e344: ldr x21, [x29, #0x10]", "0x10003e348: ldr x9, [sp, #0x40]", "0x10003e34c: cbz x9, 0x10003e364", "0x10003e350: cmp w26, #0x0", "0x10003e354: csel x8, x24, xzr, ne", "0x10003e358: cmp w19, #0x0", "0x10003e35c: csel x8, xzr, x8, ne", "0x10003e360: str x8, [x9]", "0x10003e364: cbz x21, 0x10003e384", "0x10003e368: mov x0, x25", "0x10003e36c: bl 0x10007d560", "0x10003e370: cmp x0, #0x4c", "0x10003e374: movi d0, #0x0", "0x10003e378: fmov d1, 0x3ff0000000000000", "0x10003e37c: fcsel d0, d1, d0, hi", "0x10003e380: str d0, [x21]", "0x10003e384: ldp x9, x8, [x29, #0x18]", "0x10003e388: cbz x9, 0x10003e39c", "0x10003e38c: ldp d0, d1, [sp, #0xc0]", "0x10003e390: stp d1, d0, [x9]", "0x10003e394: ldp d0, d1, [sp, #0xb0]", "0x10003e398: stp d1, d0, [x9, #0x10]", "0x10003e39c: cbz x8, 0x10003e3a4", "0x10003e3a0: strb w19, [x8]", "0x10003e3a4: ldr w8, [x20, #0xc]", "0x10003e3a8: mov w9, #0x1d", "0x10003e3ac: and w8, w8, w9", "0x10003e3b0: cmp w8, #0x1", "0x10003e3b4: b.ne 0x10003e3d0", "0x10003e3b8: ldr q0, [x20]", "0x10003e3bc: str q0, [sp, #0x160]", "0x10003e3c0: ldr x8, [x20, #0x10]", "0x10003e3c4: str x8, [sp, #0x170]", "0x10003e3c8: add x0, sp, #0x160", "0x10003e3cc: bl 0x10007a9f4", "0x10003e3d0: ldr x0, [sp, #0x88]", "0x10003e3d4: bl 0x10007d560", "0x10003e3d8: mov x0, x23", "0x10003e3dc: bl 0x10007d560", "0x10003e3e0: ldp d0, d1, [sp, #0x50]", "0x10003e3e4: ldp d2, d3, [sp, #0x60]", "0x10003e3e8: bl 0x10001b584", "0x10003e3ec: ldp d1, d0, [sp, #0xa0]", "0x10003e3f0: ldp d3, d2, [sp, #0x90]", "0x10003e3f4: bl 0x10001b584", "0x10003e3f8: ldp d1, d0, [sp, #0xc0]", "0x10003e3fc: ldp d3, d2, [sp, #0xb0]", "0x10003e400: bl 0x10001b584", "0x10003e404: mov x0, x25", "0x10003e408: bl 0x10007d560", "0x10003e40c: mov x0, x25", "0x10003e410: bl 0x10007adfc", "0x10003e414: ldur x8, [x29, #-0xa0]", "0x10003e418: adrp x9, 0x1000a8000", "0x10003e41c: ldr x9, [x9, #0xe8]", "0x10003e420: ldr x9, [x9]", "0x10003e424: cmp x9, x8", "0x10003e428: b.ne 0x10003e9c8", "0x10003e42c: add sp, sp, #0x1f0", "0x10003e430: ldp x29, x30, [sp, #0x90]", "0x10003e434: ldp x20, x19, [sp, #0x80]", "0x10003e438: ldp x22, x21, [sp, #0x70]", "0x10003e43c: ldp x24, x23, [sp, #0x60]", "0x10003e440: ldp x26, x25, [sp, #0x50]", "0x10003e444: ldp x28, x27, [sp, #0x40]", "0x10003e448: ldp d9, d8, [sp, #0x30]", "0x10003e44c: ldp d11, d10, [sp, #0x20]", "0x10003e450: ldp d13, d12, [sp, #0x10]", "0x10003e454: ldp d15, d14, [sp], #0xa0", "0x10003e458: ret", "0x10003e45c: ldr x0, [x22, #0x370]", "0x10003e460: bl 0x10007ae98", "0x10003e464: str wzr, [sp, #0x4c]", "0x10003e468: add x8, x22, #0x370", "0x10003e46c: str xzr, [x8]", "0x10003e470: adrp x8, 0x1000a8000", "0x10003e474: ldr x8, [x8, #0x150]", "0x10003e478: add x9, x22, #0x378", "0x10003e47c: ldp q0, q1, [x8]", "0x10003e480: adrp x8, 0x1000a8000", "0x10003e484: ldr x8, [x8, #0x208]", "0x10003e488: stp q0, q1, [x9]", "0x10003e48c: ldr q0, [x8]", "0x10003e490: str q0, [x19]", "0x10003e494: ldr x8, [x8, #0x10]", "0x10003e498: str x8, [x19, #0x10]", "0x10003e49c: strb wzr, [x22, #0x3b0]", "0x10003e4a0: b 0x10003d864", "0x10003e4a4: mov x23, #0x0", "0x10003e4a8: b 0x10003de34", "0x10003e4ac: mov w27, #0x0", "0x10003e4b0: b 0x10003e050", "0x10003e4b4: mov x0, x19", "0x10003e4b8: bl 0x1000801c0", "0x10003e4bc: add x8, x0, #0x8", "0x10003e4c0: mov w9, #0x4c", "0x10003e4c4: adrp x10, 0x100086000", "0x10003e4c8: ldr d0, [x10, #0x4d0]", "0x10003e4cc: adrp x10, 0x100086000", "0x10003e4d0: ldr d1, [x10, #0x4c8]", "0x10003e4d4: mov x10, #0x7fefffffffffffff", "0x10003e4d8: ldur d2, [x8, #-0x8]", "0x10003e4dc: fmov x11, d2", "0x10003e4e0: and x11, x11, #0x7fffffffffffffff", "0x10003e4e4: cmp x11, x10", "0x10003e4e8: b.gt 0x10003e130", "0x10003e4ec: ldr d3, [x8]", "0x10003e4f0: fmov x11, d3", "0x10003e4f4: and x11, x11, #0x7fffffffffffffff", "0x10003e4f8: cmp x11, x10", "0x10003e4fc: cset w11, gt", "0x10003e500: fcmp d3, d0", "0x10003e504: b.gt 0x10003e130", "0x10003e508: fcmp d3, d1", "0x10003e50c: b.mi 0x10003e130", "0x10003e510: fcmp d2, d0", "0x10003e514: b.gt 0x10003e130", "0x10003e518: fcmp d2, d1", "0x10003e51c: b.mi 0x10003e130", "0x10003e520: tbnz w11, #0x0, 0x10003e130", "0x10003e524: add x8, x8, #0x10", "0x10003e528: subs x9, x9, #0x1", "0x10003e52c: b.ne 0x10003e4d8", "0x10003e530: adrp x8, 0x1000a8000", "0x10003e534: ldr x8, [x8, #0x140]", "0x10003e538: ldr q0, [x8]", "0x10003e53c: stp q0, q0, [sp, #0x140]", "0x10003e540: stp q0, q0, [sp, #0x120]", "0x10003e544: str q0, [sp, #0x110]", "0x10003e548: mov x0, x26", "0x10003e54c: bl 0x10007f9a0", "0x10003e550: add x1, sp, #0x150", "0x10003e554: bl 0x1000547c8", "0x10003e558: cbz w0, 0x10003e130", "0x10003e55c: mov x0, x26", "0x10003e560: bl 0x100080c20", "0x10003e564: add x1, sp, #0x140", "0x10003e568: bl 0x1000547c8", "0x10003e56c: cbz w0, 0x10003e130", "0x10003e570: mov x0, x26", "0x10003e574: bl 0x100080200", "0x10003e578: add x1, sp, #0x130", "0x10003e57c: bl 0x1000547c8", "0x10003e580: cbz w0, 0x10003e130", "0x10003e584: mov x0, x26", "0x10003e588: bl 0x1000804c0", "0x10003e58c: add x1, sp, #0x120", "0x10003e590: bl 0x1000547c8", "0x10003e594: cbz w0, 0x10003e130", "0x10003e598: add x1, sp, #0x110", "0x10003e59c: mov x0, x28", "0x10003e5a0: bl 0x1000548d0", "0x10003e5a4: tbz w0, #0x0, 0x10003e130", "0x10003e5a8: mov x0, x26", "0x10003e5ac: bl 0x10007d320", "0x10003e5b0: fmov s8, s0", "0x10003e5b4: mov x0, x19", "0x10003e5b8: bl 0x100080720", "0x10003e5bc: str x0, [sp, #0x30]", "0x10003e5c0: ldr x0, [sp, #0x30]", "0x10003e5c4: bl 0x10007d560", "0x10003e5c8: cmp x0, #0x4c", "0x10003e5cc: b.cc 0x10003e650", "0x10003e5d0: movi v0.2D, #0x0", "0x10003e5d4: stp q0, q0, [sp, #0xf0]", "0x10003e5d8: stp q0, q0, [sp, #0xd0]", "0x10003e5dc: add x2, sp, #0xd0", "0x10003e5e0: add x3, sp, #0x160", "0x10003e5e4: ldr x0, [sp, #0x30]", "0x10003e5e8: mov w4, #0x10", "0x10003e5ec: bl 0x10007d580", "0x10003e5f0: mov x26, x0", "0x10003e5f4: cbz x0, 0x10003e650", "0x10003e5f8: ldr x8, [sp, #0xe0]", "0x10003e5fc: ldr x19, [x8]", "0x10003e600: mov x28, #0x0", "0x10003e604: ldr x8, [sp, #0xe0]", "0x10003e608: ldr x8, [x8]", "0x10003e60c: cmp x8, x19", "0x10003e610: b.eq 0x10003e61c", "0x10003e614: ldr x0, [sp, #0x30]", "0x10003e618: bl 0x10007ae2c", "0x10003e61c: ldr x8, [sp, #0xd8]", "0x10003e620: ldr x0, [x8, x28, LSL #0x3]", "0x10003e624: bl 0x10007dac0", "0x10003e628: add x28, x28, #0x1", "0x10003e62c: cmp x26, x28", "0x10003e630: b.ne 0x10003e604", "0x10003e634: add x2, sp, #0xd0", "0x10003e638: add x3, sp, #0x160", "0x10003e63c: ldr x0, [sp, #0x30]", "0x10003e640: mov w4, #0x10", "0x10003e644: bl 0x10007d580", "0x10003e648: mov x26, x0", "0x10003e64c: cbnz x0, 0x10003e600", "0x10003e650: fcvt d9, s8", "0x10003e654: ldp d0, d1, [sp, #0x150]", "0x10003e658: ldp d2, d3, [sp, #0x140]", "0x10003e65c: fadd d4, d0, d2", "0x10003e660: fmov d5, 0x3fe0000000000000", "0x10003e664: fmul d10, d4, d5", "0x10003e668: fadd d4, d1, d3", "0x10003e66c: fmul d11, d4, d5", "0x10003e670: fsub d0, d2, d0", "0x10003e674: fsub d1, d3, d1", "0x10003e678: str d0, [sp, #0x30]", "0x10003e67c: fmov d8, d1", "0x10003e680: bl 0x10007ad84", "0x10003e684: fmov x8, d0", "0x10003e688: and x8, x8, #0x7fffffffffffffff", "0x10003e68c: mov x9, #0x3cb0000000000000", "0x10003e690: fmov d1, x9", "0x10003e694: fcmp d0, d1", "0x10003e698: mov x9, #0x7ff0000000000000", "0x10003e69c: ccmp x8, x9, #0x0, gt", "0x10003e6a0: cset w8, lt", "0x10003e6a4: cmp w8, #0x1", "0x10003e6a8: b.ne 0x10003e6bc", "0x10003e6ac: ldr d1, [sp, #0x30]", "0x10003e6b0: fdiv d1, d1, d0", "0x10003e6b4: str d1, [sp, #0x30]", "0x10003e6b8: fdiv d8, d8, d0", "0x10003e6bc: ldr d6, [sp, #0x30]", "0x10003e6c0: fneg d1, d6", "0x10003e6c4: ldp d7, d16, [sp, #0x120]", "0x10003e6c8: fsub d2, d7, d10", "0x10003e6cc: fsub d3, d16, d11", "0x10003e6d0: fnmul d4, d6, d3", "0x10003e6d4: fmadd d4, d2, d8, d4", "0x10003e6d8: fneg d5, d8", "0x10003e6dc: fcmp d4, #0.0", "0x10003e6e0: fcsel d5, d5, d8, mi", "0x10003e6e4: fcsel d6, d6, d1, mi", "0x10003e6e8: fmul d1, d3, d6", "0x10003e6ec: fmadd d3, d2, d5, d1", "0x10003e6f0: ldp d17, d18, [sp, #0x110]", "0x10003e6f4: fsub d1, d17, d10", "0x10003e6f8: ldp d2, d4, [sp, #0x130]", "0x10003e6fc: fsub d19, d2, d10", "0x10003e700: fsub d2, d18, d11", "0x10003e704: fsub d4, d4, d11", "0x10003e708: fmul d4, d4, d6", "0x10003e70c: fmadd d4, d19, d5, d4", "0x10003e710: fmov x9, d9", "0x10003e714: and x9, x9, #0x7fffffffffffffff", "0x10003e718: adrp x10, 0x100086000", "0x10003e71c: ldr d19, [x10, #0x1f0]", "0x10003e720: fcmp d9, d19", "0x10003e724: mov x10, #0x7fefffffffffffff", "0x10003e728: ccmp x9, x10, #0x0, ge", "0x10003e72c: cset w9, gt", "0x10003e730: adrp x10, 0x100086000", "0x10003e734: ldr d19, [x10, #0xb0]", "0x10003e738: fcmp d3, d19", "0x10003e73c: csel w11, wzr, w8, lt", "0x10003e740: mov w10, #0x1", "0x10003e744: cmp w11, #0x1", "0x10003e748: b.ne 0x10003e784", "0x10003e74c: fsub d7, d17, d7", "0x10003e750: fsub d16, d18, d16", "0x10003e754: fmul d16, d16, d6", "0x10003e758: fmadd d7, d7, d5, d16", "0x10003e75c: adrp x11, 0x100086000", "0x10003e760: ldr d16, [x11, #0x150]", "0x10003e764: fcmp d7, d16", "0x10003e768: b.lt 0x10003e784", "0x10003e76c: fmul d6, d2, d6", "0x10003e770: fmadd d5, d1, d5, d6", "0x10003e774: adrp x10, 0x100086000", "0x10003e778: ldr d6, [x10, #0x118]", "0x10003e77c: fcmp d5, d6", "0x10003e780: cset w10, lt", "0x10003e784: adrp x11, 0x100086000", "0x10003e788: ldr d5, [x11, #0x608]", "0x10003e78c: fcmp d4, d5", "0x10003e790: csel w11, wzr, w8, lt", "0x10003e794: cmp w11, #0x1", "0x10003e798: b.ne 0x10003e7b4", "0x10003e79c: adrp x11, 0x100086000", "0x10003e7a0: ldr d5, [x11, #0xf8]", "0x10003e7a4: fadd d3, d3, d5", "0x10003e7a8: fcmp d4, d3", "0x10003e7ac: cset w11, ls", "0x10003e7b0: b 0x10003e7b8", "0x10003e7b4: mov w11, #0x0", "0x10003e7b8: orr w9, w9, w10", "0x10003e7bc: tbnz w9, #0x0, 0x10003e130", "0x10003e7c0: fmul d2, d8, d2", "0x10003e7c4: adrp x9, 0x100086000", "0x10003e7c8: ldr d3, [x9, #0x600]", "0x10003e7cc: adrp x9, 0x100086000", "0x10003e7d0: ldr d11, [x9, #0x348]", "0x10003e7d4: ldr d4, [sp, #0x30]", "0x10003e7d8: fmadd d1, d1, d4, d2", "0x10003e7dc: fmov d4, 0x3fe0000000000000", "0x10003e7e0: fmsub d2, d0, d4, d3", "0x10003e7e4: fmadd d3, d0, d4, d11", "0x10003e7e8: fcmp d1, d2", "0x10003e7ec: cset w9, ge", "0x10003e7f0: fcmp d1, d3", "0x10003e7f4: csel w9, wzr, w9, hi", "0x10003e7f8: adrp x10, 0x100086000", "0x10003e7fc: ldr d1, [x10, #0x120]", "0x10003e800: fcmp d0, d1", "0x10003e804: csel w10, wzr, w11, lt", "0x10003e808: and w8, w8, w10", "0x10003e80c: and w26, w8, w9", "0x10003e810: ldr w8, [sp, #0x4c]", "0x10003e814: and w8, w26, w8", "0x10003e818: eor w8, w8, #0x1", "0x10003e81c: orr w8, w21, w8", "0x10003e820: tbnz w8, #0x0, 0x10003e134", "0x10003e824: ldr x21, [x22, #0x370]", "0x10003e828: ldr d8, [x22, #0x378]", "0x10003e82c: ldr d9, [x22, #0x380]", "0x10003e830: ldr d10, [x22, #0x388]", "0x10003e834: ldr d0, [x22, #0x390]", "0x10003e838: str d0, [sp, #0x30]", "0x10003e83c: mov x0, x25", "0x10003e840: bl 0x10007d560", "0x10003e844: cmp x0, #0x4d", "0x10003e848: b.cc 0x10003e134", "0x10003e84c: mov x0, x21", "0x10003e850: bl 0x10007d560", "0x10003e854: cmp x0, #0x4d", "0x10003e858: b.cc 0x10003e134", "0x10003e85c: fmov d0, d15", "0x10003e860: fmov d1, d14", "0x10003e864: fmov d2, d13", "0x10003e868: fmov d3, d12", "0x10003e86c: bl 0x10007a9d0", "0x10003e870: tbnz w0, #0x0, 0x10003e134", "0x10003e874: fmov d0, d15", "0x10003e878: fmov d1, d14", "0x10003e87c: fmov d2, d13", "0x10003e880: fmov d3, d12", "0x10003e884: bl 0x10007a9b8", "0x10003e888: tbnz w0, #0x0, 0x10003e134", "0x10003e88c: fmov d0, d15", "0x10003e890: fmov d1, d14", "0x10003e894: fmov d2, d13", "0x10003e898: fmov d3, d12", "0x10003e89c: bl 0x10007a988", "0x10003e8a0: mov x8, #0x3cb0000000000000", "0x10003e8a4: fmov d1, x8", "0x10003e8a8: fcmp d0, d1", "0x10003e8ac: b.le 0x10003e134", "0x10003e8b0: fmov d0, d15", "0x10003e8b4: fmov d1, d14", "0x10003e8b8: fmov d2, d13", "0x10003e8bc: fmov d3, d12", "0x10003e8c0: bl 0x10007a934", "0x10003e8c4: mov x8, #0x3cb0000000000000", "0x10003e8c8: fmov d1, x8", "0x10003e8cc: fcmp d0, d1", "0x10003e8d0: b.le 0x10003e134", "0x10003e8d4: fmov d0, d8", "0x10003e8d8: fmov d1, d9", "0x10003e8dc: fmov d2, d10", "0x10003e8e0: ldr d3, [sp, #0x30]", "0x10003e8e4: bl 0x10007a9d0", "0x10003e8e8: tbnz w0, #0x0, 0x10003e134", "0x10003e8ec: fmov d0, d8", "0x10003e8f0: fmov d1, d9", "0x10003e8f4: fmov d2, d10", "0x10003e8f8: ldr d3, [sp, #0x30]", "0x10003e8fc: bl 0x10007a9b8", "0x10003e900: tbnz w0, #0x0, 0x10003e134", "0x10003e904: fmov d0, d8", "0x10003e908: fmov d1, d9", "0x10003e90c: fmov d2, d10", "0x10003e910: ldr d3, [sp, #0x30]", "0x10003e914: bl 0x10007a988", "0x10003e918: mov x8, #0x3cb0000000000000", "0x10003e91c: fmov d1, x8", "0x10003e920: fcmp d0, d1", "0x10003e924: b.le 0x10003e134", "0x10003e928: fmov d0, d8", "0x10003e92c: fmov d1, d9", "0x10003e930: fmov d2, d10", "0x10003e934: ldr d3, [sp, #0x30]", "0x10003e938: bl 0x10007a934", "0x10003e93c: mov x8, #0x3cb0000000000000", "0x10003e940: fmov d1, x8", "0x10003e944: fcmp d0, d1", "0x10003e948: b.le 0x10003e134", "0x10003e94c: fmov d0, d15", "0x10003e950: fmov d1, d14", "0x10003e954: fmov d2, d13", "0x10003e958: fmov d3, d12", "0x10003e95c: fmov d4, d8", "0x10003e960: fmov d5, d9", "0x10003e964: fmov d6, d10", "0x10003e968: ldr d7, [sp, #0x30]", "0x10003e96c: bl 0x1000549d4", "0x10003e970: cbz w0, 0x10003e134", "0x10003e974: mov x8, #0x7ff8000000000000", "0x10003e978: str x8, [sp, #0x160]", "0x10003e97c: str x8, [sp, #0xd0]", "0x10003e980: str x8, [sp, #0x150]", "0x10003e984: add x2, sp, #0x160", "0x10003e988: add x3, sp, #0xd0", "0x10003e98c: add x4, sp, #0x150", "0x10003e990: mov x0, x25", "0x10003e994: fmov d0, d15", "0x10003e998: fmov d1, d14", "0x10003e99c: fmov d2, d13", "0x10003e9a0: fmov d3, d12", "0x10003e9a4: mov x1, x21", "0x10003e9a8: fmov d4, d8", "0x10003e9ac: fmov d5, d9", "0x10003e9b0: fmov d6, d10", "0x10003e9b4: ldr d7, [sp, #0x30]", "0x10003e9b8: bl 0x100043338", "0x10003e9bc: tbz w0, #0x0, 0x10003e9cc", "0x10003e9c0: mov w8, #0x0", "0x10003e9c4: b 0x10003ea0c", "0x10003e9c8: bl 0x10007aca0", "0x10003e9cc: mov x0, x21", "0x10003e9d0: fmov d0, d8", "0x10003e9d4: fmov d1, d9", "0x10003e9d8: fmov d2, d10", "0x10003e9dc: ldr d3, [sp, #0x30]", "0x10003e9e0: fmov d4, d15", "0x10003e9e4: fmov d5, d14", "0x10003e9e8: fmov d6, d13", "0x10003e9ec: fmov d7, d12", "0x10003e9f0: bl 0x10001ab3c", "0x10003e9f4: str x0, [sp, #0x20]", "0x10003e9f8: ldr x0, [sp, #0x20]", "0x10003e9fc: bl 0x10007d560", "0x10003ea00: cmp x0, #0x4d", "0x10003ea04: b.cs 0x10003ea14", "0x10003ea08: mov w8, #0x1", "0x10003ea0c: and w26, w26, w8", "0x10003ea10: b 0x10003e134", "0x10003ea14: fmov d0, d15", "0x10003ea18: fmov d1, d14", "0x10003ea1c: fmov d2, d13", "0x10003ea20: fmov d3, d12", "0x10003ea24: bl 0x10007a988", "0x10003ea28: fmov d8, d0", "0x10003ea2c: fmov d0, d15", "0x10003ea30: fmov d1, d14", "0x10003ea34: fmov d2, d13", "0x10003ea38: fmov d3, d12", "0x10003ea3c: bl 0x10007a934", "0x10003ea40: fcmp d8, d0", "0x10003ea44: fcsel d1, d0, d8, mi", "0x10003ea48: fmov x8, d1", "0x10003ea4c: and x8, x8, #0x7fffffffffffffff", "0x10003ea50: mov x9, #0x7fefffffffffffff", "0x10003ea54: cmp x8, x9", "0x10003ea58: cset w9, gt", "0x10003ea5c: mov w8, #0x1", "0x10003ea60: mov x10, #0x3cb0000000000000", "0x10003ea64: fmov d0, x10", "0x10003ea68: str d1, [sp, #0x18]", "0x10003ea6c: fcmp d1, d0", "0x10003ea70: b.ls 0x10003ea0c", "0x10003ea74: tbnz w9, #0x0, 0x10003ea0c", "0x10003ea78: adrp x8, 0x1000bb000", "0x10003ea7c: ldr x0, [x8, #0xa00]", "0x10003ea80: mov w2, #0x4c", "0x10003ea84: bl 0x10007ccc0", "0x10003ea88: mov x19, x0", "0x10003ea8c: mov x21, #0x0", "0x10003ea90: mov x28, #0x7fefffffffffffff", "0x10003ea94: mov x0, x25", "0x10003ea98: mov x2, x21", "0x10003ea9c: bl 0x1000803c0", "0x10003eaa0: str x0, [sp, #0x30]", "0x10003eaa4: ldr x0, [sp, #0x20]", "0x10003eaa8: mov x2, x21", "0x10003eaac: bl 0x1000803c0", "0x10003eab0: str x0, [sp, #0x28]", "0x10003eab4: ldr x8, [sp, #0x30]", "0x10003eab8: cbz x8, 0x10003eb90", "0x10003eabc: ldr x8, [sp, #0x28]", "0x10003eac0: cbz x8, 0x10003eb90", "0x10003eac4: ldr x0, [sp, #0x30]", "0x10003eac8: bl 0x10007c8c0", "0x10003eacc: fmov x8, d0", "0x10003ead0: and x8, x8, #0x7fffffffffffffff", "0x10003ead4: cmp x8, x28", "0x10003ead8: b.gt 0x10003eb90", "0x10003eadc: ldr x0, [sp, #0x30]", "0x10003eae0: bl 0x10007c8e0", "0x10003eae4: fmov x8, d0", "0x10003eae8: and x8, x8, #0x7fffffffffffffff", "0x10003eaec: cmp x8, x28", "0x10003eaf0: b.gt 0x10003eb90", "0x10003eaf4: ldr x0, [sp, #0x28]", "0x10003eaf8: bl 0x10007c8c0", "0x10003eafc: fmov x8, d0", "0x10003eb00: and x8, x8, #0x7fffffffffffffff", "0x10003eb04: cmp x8, x28", "0x10003eb08: b.gt 0x10003eb90", "0x10003eb0c: ldr x0, [sp, #0x28]", "0x10003eb10: bl 0x10007c8e0", "0x10003eb14: fmov x8, d0", "0x10003eb18: and x8, x8, #0x7fffffffffffffff", "0x10003eb1c: cmp x8, x28", "0x10003eb20: b.gt 0x10003eb90", "0x10003eb24: ldr x0, [sp, #0x30]", "0x10003eb28: bl 0x10007c8c0", "0x10003eb2c: fmov d8, d0", "0x10003eb30: ldr x0, [sp, #0x28]", "0x10003eb34: bl 0x10007c8c0", "0x10003eb38: fmov d9, d0", "0x10003eb3c: ldr x0, [sp, #0x30]", "0x10003eb40: bl 0x10007c8e0", "0x10003eb44: fmov d10, d0", "0x10003eb48: ldr x0, [sp, #0x28]", "0x10003eb4c: bl 0x10007c8e0", "0x10003eb50: fsub d2, d8, d9", "0x10003eb54: fsub d1, d10, d0", "0x10003eb58: fmov d0, d2", "0x10003eb5c: bl 0x10007ad84", "0x10003eb60: ldr d1, [sp, #0x18]", "0x10003eb64: fdiv d0, d0, d1", "0x10003eb68: fmov x8, d0", "0x10003eb6c: and x8, x8, #0x7fffffffffffffff", "0x10003eb70: cmp x8, x28", "0x10003eb74: b.gt 0x10003eb90", "0x10003eb78: adrp x8, 0x1000bb000", "0x10003eb7c: ldr x0, [x8, #0xa10]", "0x10003eb80: bl 0x100080280", "0x10003eb84: mov x2, x0", "0x10003eb88: mov x0, x19", "0x10003eb8c: bl 0x10007ca00", "0x10003eb90: add x21, x21, #0x1", "0x10003eb94: cmp x21, #0x4c", "0x10003eb98: b.ne 0x10003ea94", "0x10003eb9c: mov x0, x19", "0x10003eba0: bl 0x10007d560", "0x10003eba4: cmp x0, #0x32", "0x10003eba8: b.cc 0x10003ea08", "0x10003ebac: adrp x8, 0x1000bb000", "0x10003ebb0: ldr x2, [x8, #0x998]", "0x10003ebb4: mov x0, x19", "0x10003ebb8: bl 0x100082fc0", "0x10003ebbc: mov x0, x19", "0x10003ebc0: bl 0x10007d560", "0x10003ebc4: mov x28, x0", "0x10003ebc8: mov x0, x19", "0x10003ebcc: bl 0x10007d560", "0x10003ebd0: mov x21, x0", "0x10003ebd4: mov x0, x19", "0x10003ebd8: bl 0x10007d560", "0x10003ebdc: lsr x2, x28, #0x1", "0x10003ebe0: sub x8, x21, #0x1", "0x10003ebe4: sub x9, x0, #0x1", "0x10003ebe8: ucvtf d0, x9", "0x10003ebec: adrp x9, 0x100086000", "0x10003ebf0: ldr d1, [x9, #0x138]", "0x10003ebf4: fmul d0, d0, d1", "0x10003ebf8: fcvtmu x9, d0", "0x10003ebfc: cmp x8, x9", "0x10003ec00: csel x21, x8, x9, cc", "0x10003ec04: mov x0, x19", "0x10003ec08: bl 0x1000803c0", "0x10003ec0c: bl 0x10007dac0", "0x10003ec10: fmov d8, d0", "0x10003ec14: mov x0, x19", "0x10003ec18: mov x2, x21", "0x10003ec1c: bl 0x1000803c0", "0x10003ec20: bl 0x10007dac0", "0x10003ec24: fcmp d8, d11", "0x10003ec28: cset w8, ls", "0x10003ec2c: adrp x9, 0x100086000", "0x10003ec30: ldr d1, [x9, #0x1b0]", "0x10003ec34: fcmp d0, d1", "0x10003ec38: csel w8, wzr, w8, hi", "0x10003ec3c: b 0x10003ea0c" ], "limitations": [ "Instruction text and ordering are Ghidra-specific representations.", "The fast path does not invoke the decompiler or scan whole-program names and strings.", "Ghidra Listing reports a terminal call at 0x10003e9c8 to 0x10007aca0 ___stack_chk_fail (external=false, thunk=true, hasNoReturn=true); fallthrough is excluded by Ghidra's flow model. This records Ghidra's FunctionManager flag, not an independent verification that the callee cannot return." ], "procedure": { "address": "0x10003d69c", "body": { "available": true, "contains_entry": true, "non_contiguous": false, "provenance": "ghidra-function-body-address-set", "ranges": [ { "end": "0x10003ec3f", "start": "0x10003d69c" } ], "span_bytes": 5540, "total_bytes": 5540 }, "classification": { "external": false, "provenance": "ghidra-function-manager", "thunk": false, "thunk_target": null }, "name": "MSSuperSkinSmoothingPlugIn::mss_pinStyleFacePointsForObservations:renderTime:params:trackingInputImage:preferredBox:hasPreferredBox:selectedObservationOut:strengthMultiplierOut:pointsBoxOut:usedHoldOut:" } }, "operation": "read_function_instructions", "parameters": { "procedure": "0x10003d69c" }, "predicate_type": "rea.analysis", "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" }, "raw_result": { "limitations": [ "Ghidra Listing reports a terminal call at 0x10003e9c8 to 0x10007aca0 ___stack_chk_fail (external=false, thunk=true, hasNoReturn=true); fallthrough is excluded by Ghidra's flow model. This records Ghidra's FunctionManager flag, not an independent verification that the callee cannot return." ], "value": { "instructions": [ "0x10003d69c: stp d15, d14, [sp, #-0xa0]!", "0x10003d6a0: stp d13, d12, [sp, #0x10]", "0x10003d6a4: stp d11, d10, [sp, #0x20]", "0x10003d6a8: stp d9, d8, [sp, #0x30]", "0x10003d6ac: stp x28, x27, [sp, #0x40]", "0x10003d6b0: stp x26, x25, [sp, #0x50]", "0x10003d6b4: stp x24, x23, [sp, #0x60]", "0x10003d6b8: stp x22, x21, [sp, #0x70]", "0x10003d6bc: stp x20, x19, [sp, #0x80]", "0x10003d6c0: stp x29, x30, [sp, #0x90]", "0x10003d6c4: add x29, sp, #0x90", "0x10003d6c8: sub sp, sp, #0x1f0", "0x10003d6cc: mov x19, x7", "0x10003d6d0: mov x23, x6", "0x10003d6d4: fmov d8, d3", "0x10003d6d8: fmov d9, d2", "0x10003d6dc: fmov d10, d1", "0x10003d6e0: fmov d11, d0", "0x10003d6e4: mov x26, x5", "0x10003d6e8: mov x24, x4", "0x10003d6ec: mov x20, x3", "0x10003d6f0: mov x22, x0", "0x10003d6f4: adrp x8, 0x1000a8000", "0x10003d6f8: ldr x8, [x8, #0xe8]", "0x10003d6fc: ldr x8, [x8]", "0x10003d700: stur x8, [x29, #-0xa0]", "0x10003d704: mov x0, x2", "0x10003d708: bl 0x10002a428", "0x10003d70c: str x0, [sp, #0x88]", "0x10003d710: cbz x24, 0x10003d730", "0x10003d714: ldrb w8, [x24, #0xf8]", "0x10003d718: str w8, [sp, #0x84]", "0x10003d71c: ldr q0, [x24, #0x100]", "0x10003d720: str q0, [sp, #0x70]", "0x10003d724: ldr x8, [x24, #0x168]", "0x10003d728: str x8, [sp, #0x38]", "0x10003d72c: b 0x10003d740", "0x10003d730: str wzr, [sp, #0x84]", "0x10003d734: str xzr, [sp, #0x38]", "0x10003d738: fmov v0.2D, #0x3fe0000000000000", "0x10003d73c: str q0, [sp, #0x70]", "0x10003d740: ldr x0, [x22, #0x28]", "0x10003d744: bl 0x10007faa0", "0x10003d748: ldrb w8, [x22, #0x3b0]", "0x10003d74c: cmp w8, #0x1", "0x10003d750: b.ne 0x10003d858", "0x10003d754: mov x21, x19", "0x10003d758: ldr w9, [x20, #0xc]", "0x10003d75c: mov w8, #0x1d", "0x10003d760: and w9, w9, w8", "0x10003d764: cmp w9, #0x1", "0x10003d768: b.ne 0x10003d7b8", "0x10003d76c: ldr w9, [x22, #0x3a4]", "0x10003d770: and w8, w9, w8", "0x10003d774: cmp w8, #0x1", "0x10003d778: b.ne 0x10003d7b8", "0x10003d77c: add x19, x22, #0x398", "0x10003d780: ldr q0, [x20]", "0x10003d784: str q0, [sp, #0x160]", "0x10003d788: ldr x8, [x20, #0x10]", "0x10003d78c: str x8, [sp, #0x170]", "0x10003d790: ldr q0, [x19]", "0x10003d794: str q0, [sp, #0xd0]", "0x10003d798: ldr x8, [x19, #0x10]", "0x10003d79c: str x8, [sp, #0xe0]", "0x10003d7a0: add x0, sp, #0x160", "0x10003d7a4: add x1, sp, #0xd0", "0x10003d7a8: bl 0x10007a9e8", "0x10003d7ac: tbnz w0, #0x1f, 0x10003e45c", "0x10003d7b0: ldrb w8, [x22, #0x3b0]", "0x10003d7b4: tbz w8, #0x0, 0x10003d860", "0x10003d7b8: ldr x0, [x22, #0x370]", "0x10003d7bc: bl 0x10007d560", "0x10003d7c0: cmp x0, #0x4d", "0x10003d7c4: b.cc 0x10003d860", "0x10003d7c8: ldr d12, [x22, #0x378]", "0x10003d7cc: ldr d13, [x22, #0x380]", "0x10003d7d0: ldr d14, [x22, #0x388]", "0x10003d7d4: ldr d15, [x22, #0x390]", "0x10003d7d8: fmov d0, d12", "0x10003d7dc: fmov d1, d13", "0x10003d7e0: fmov d2, d14", "0x10003d7e4: fmov d3, d15", "0x10003d7e8: bl 0x10007a9d0", "0x10003d7ec: tbnz w0, #0x0, 0x10003d860", "0x10003d7f0: fmov d0, d12", "0x10003d7f4: fmov d1, d13", "0x10003d7f8: fmov d2, d14", "0x10003d7fc: fmov d3, d15", "0x10003d800: bl 0x10007a9b8", "0x10003d804: tbnz w0, #0x0, 0x10003d860", "0x10003d808: fmov d0, d12", "0x10003d80c: fmov d1, d13", "0x10003d810: fmov d2, d14", "0x10003d814: fmov d3, d15", "0x10003d818: bl 0x10007a988", "0x10003d81c: mov x8, #0x3cb0000000000000", "0x10003d820: fmov d1, x8", "0x10003d824: fcmp d0, d1", "0x10003d828: b.le 0x10003d860", "0x10003d82c: fmov d0, d12", "0x10003d830: fmov d1, d13", "0x10003d834: fmov d2, d14", "0x10003d838: fmov d3, d15", "0x10003d83c: bl 0x10007a934", "0x10003d840: mov x8, #0x3cb0000000000000", "0x10003d844: fmov d1, x8", "0x10003d848: fcmp d0, d1", "0x10003d84c: cset w8, gt", "0x10003d850: str w8, [sp, #0x4c]", "0x10003d854: b 0x10003d864", "0x10003d858: str wzr, [sp, #0x4c]", "0x10003d85c: b 0x10003d868", "0x10003d860: str wzr, [sp, #0x4c]", "0x10003d864: mov x19, x21", "0x10003d868: adrp x8, 0x1000a8000", "0x10003d86c: ldr x8, [x8, #0x148]", "0x10003d870: ldp d1, d0, [x8]", "0x10003d874: stp d0, d1, [sp, #0xc0]", "0x10003d878: ldp d1, d0, [x8, #0x10]", "0x10003d87c: stp d0, d1, [sp, #0xb0]", "0x10003d880: ldr d0, [x22, #0x3b8]", "0x10003d884: ldr q2, [sp, #0x70]", "0x10003d888: fsub d0, d2, d0", "0x10003d88c: ldr d1, [x22, #0x3c0]", "0x10003d890: dup d2, v2.D[0x1]", "0x10003d894: str d2, [sp, #0x10]", "0x10003d898: fsub d1, d2, d1", "0x10003d89c: bl 0x10007ad84", "0x10003d8a0: ldr w8, [sp, #0x84]", "0x10003d8a4: str x19, [sp, #0x40]", "0x10003d8a8: tbz w8, #0x0, 0x10003d92c", "0x10003d8ac: ldrb w8, [x22, #0x3b1]", "0x10003d8b0: cmp w8, #0x1", "0x10003d8b4: b.ne 0x10003d8f8", "0x10003d8b8: ldr x8, [sp, #0x38]", "0x10003d8bc: cmp x8, #0x1", "0x10003d8c0: b.lt 0x10003d8d4", "0x10003d8c4: ldr x8, [x22, #0x3c8]", "0x10003d8c8: ldr x9, [sp, #0x38]", "0x10003d8cc: cmp x9, x8", "0x10003d8d0: b.gt 0x10003d8f8", "0x10003d8d4: fmov x8, d0", "0x10003d8d8: and x8, x8, #0x7fffffffffffffff", "0x10003d8dc: mov x9, #0x7fefffffffffffff", "0x10003d8e0: cmp x8, x9", "0x10003d8e4: b.gt 0x10003d92c", "0x10003d8e8: adrp x8, 0x100086000", "0x10003d8ec: ldr d1, [x8, #0x440]", "0x10003d8f0: fcmp d0, d1", "0x10003d8f4: b.le 0x10003d92c", "0x10003d8f8: ldr q0, [x20]", "0x10003d8fc: str q0, [sp, #0x160]", "0x10003d900: ldr x8, [x20, #0x10]", "0x10003d904: str x8, [sp, #0x170]", "0x10003d908: add x3, sp, #0x160", "0x10003d90c: mov x0, x22", "0x10003d910: mov x2, #0x0", "0x10003d914: mov x4, #0x0", "0x10003d918: mov w5, #0x0", "0x10003d91c: bl 0x100083460", "0x10003d920: mov w27, #0x0", "0x10003d924: mov w21, #0x1", "0x10003d928: b 0x10003da08", "0x10003d92c: cbz x26, 0x10003da00", "0x10003d930: ldr q0, [x20]", "0x10003d934: str q0, [sp, #0x160]", "0x10003d938: ldr x8, [x20, #0x10]", "0x10003d93c: str x8, [sp, #0x170]", "0x10003d940: add x3, sp, #0x160", "0x10003d944: mov x0, x22", "0x10003d948: mov x2, x26", "0x10003d94c: mov x4, #0x0", "0x10003d950: mov w5, #0x1", "0x10003d954: bl 0x100083460", "0x10003d958: bl 0x10002d838", "0x10003d95c: stp d1, d0, [sp, #0xa0]", "0x10003d960: stp d3, d2, [sp, #0x90]", "0x10003d964: ldp d1, d0, [sp, #0xa0]", "0x10003d968: ldp d3, d2, [sp, #0x90]", "0x10003d96c: bl 0x10007a9d0", "0x10003d970: tbnz w0, #0x0, 0x10003d9c8", "0x10003d974: ldp d1, d0, [sp, #0xa0]", "0x10003d978: ldp d3, d2, [sp, #0x90]", "0x10003d97c: bl 0x10007a9b8", "0x10003d980: tbnz w0, #0x0, 0x10003d9c8", "0x10003d984: ldp d1, d0, [sp, #0xa0]", "0x10003d988: ldp d3, d2, [sp, #0x90]", "0x10003d98c: bl 0x10007a988", "0x10003d990: mov x8, #0x3cb0000000000000", "0x10003d994: fmov d1, x8", "0x10003d998: fcmp d0, d1", "0x10003d99c: b.le 0x10003d9c8", "0x10003d9a0: ldp d1, d0, [sp, #0xa0]", "0x10003d9a4: ldp d3, d2, [sp, #0x90]", "0x10003d9a8: bl 0x10007a934", "0x10003d9ac: mov w21, #0x0", "0x10003d9b0: mov x8, #0x3cb0000000000000", "0x10003d9b4: fmov d1, x8", "0x10003d9b8: fcmp d0, d1", "0x10003d9bc: cset w27, gt", "0x10003d9c0: cbz w23, 0x10003d9d4", "0x10003d9c4: b 0x10003da1c", "0x10003d9c8: mov w21, #0x0", "0x10003d9cc: mov w27, #0x0", "0x10003d9d0: cbnz w23, 0x10003da1c", "0x10003d9d4: ldr d11, [x22, #0x378]", "0x10003d9d8: ldr d10, [x22, #0x380]", "0x10003d9dc: ldr d9, [x22, #0x388]", "0x10003d9e0: ldr d8, [x22, #0x390]", "0x10003d9e4: ldr w8, [sp, #0x4c]", "0x10003d9e8: cbz w8, 0x10003db3c", "0x10003d9ec: fmov d13, d8", "0x10003d9f0: fmov d14, d9", "0x10003d9f4: fmov d15, d10", "0x10003d9f8: fmov d12, d11", "0x10003d9fc: b 0x10003dac0", "0x10003da00: mov w21, #0x0", "0x10003da04: mov w27, #0x0", "0x10003da08: ldp d0, d1, [sp, #0xc0]", "0x10003da0c: stp d0, d1, [sp, #0xa0]", "0x10003da10: ldp d0, d1, [sp, #0xb0]", "0x10003da14: stp d0, d1, [sp, #0x90]", "0x10003da18: cbz w23, 0x10003d9d4", "0x10003da1c: fmov d0, d11", "0x10003da20: fmov d1, d10", "0x10003da24: fmov d2, d9", "0x10003da28: fmov d3, d8", "0x10003da2c: bl 0x10007a9d0", "0x10003da30: tbnz w0, #0x0, 0x10003da9c", "0x10003da34: fmov d0, d11", "0x10003da38: fmov d1, d10", "0x10003da3c: fmov d2, d9", "0x10003da40: fmov d3, d8", "0x10003da44: bl 0x10007a9b8", "0x10003da48: tbnz w0, #0x0, 0x10003da9c", "0x10003da4c: fmov d0, d11", "0x10003da50: fmov d1, d10", "0x10003da54: fmov d2, d9", "0x10003da58: fmov d3, d8", "0x10003da5c: bl 0x10007a988", "0x10003da60: mov x8, #0x3cb0000000000000", "0x10003da64: fmov d1, x8", "0x10003da68: fcmp d0, d1", "0x10003da6c: b.le 0x10003da9c", "0x10003da70: fmov d0, d11", "0x10003da74: fmov d1, d10", "0x10003da78: fmov d2, d9", "0x10003da7c: fmov d3, d8", "0x10003da80: bl 0x10007a934", "0x10003da84: mov x8, #0x3cb0000000000000", "0x10003da88: fmov d1, x8", "0x10003da8c: fcmp d0, d1", "0x10003da90: cset w28, gt", "0x10003da94: tbz w28, #0x0, 0x10003daa4", "0x10003da98: b 0x10003db40", "0x10003da9c: mov w28, #0x0", "0x10003daa0: tbnz w28, #0x0, 0x10003db40", "0x10003daa4: ldr w8, [sp, #0x4c]", "0x10003daa8: eor w8, w8, #0x1", "0x10003daac: tbnz w8, #0x0, 0x10003db40", "0x10003dab0: ldr d12, [x22, #0x378]", "0x10003dab4: ldr d15, [x22, #0x380]", "0x10003dab8: ldr d14, [x22, #0x388]", "0x10003dabc: ldr d13, [x22, #0x390]", "0x10003dac0: fmov d0, d12", "0x10003dac4: fmov d1, d15", "0x10003dac8: fmov d2, d14", "0x10003dacc: fmov d3, d13", "0x10003dad0: bl 0x10007a9d0", "0x10003dad4: tbnz w0, #0x0, 0x10003db3c", "0x10003dad8: fmov d0, d12", "0x10003dadc: fmov d1, d15", "0x10003dae0: fmov d2, d14", "0x10003dae4: fmov d3, d13", "0x10003dae8: bl 0x10007a9b8", "0x10003daec: tbnz w0, #0x0, 0x10003db3c", "0x10003daf0: fmov d0, d12", "0x10003daf4: fmov d1, d15", "0x10003daf8: fmov d2, d14", "0x10003dafc: fmov d3, d13", "0x10003db00: bl 0x10007a988", "0x10003db04: mov x8, #0x3cb0000000000000", "0x10003db08: fmov d1, x8", "0x10003db0c: fcmp d0, d1", "0x10003db10: b.le 0x10003db3c", "0x10003db14: fmov d0, d12", "0x10003db18: fmov d1, d15", "0x10003db1c: fmov d2, d14", "0x10003db20: fmov d3, d13", "0x10003db24: bl 0x10007a934", "0x10003db28: mov x8, #0x3cb0000000000000", "0x10003db2c: fmov d1, x8", "0x10003db30: fcmp d0, d1", "0x10003db34: cset w28, gt", "0x10003db38: b 0x10003db40", "0x10003db3c: mov w28, #0x0", "0x10003db40: cmp w27, #0x0", "0x10003db44: ldr d0, [sp, #0x90]", "0x10003db48: fcsel d1, d0, d8, ne", "0x10003db4c: ldr d0, [sp, #0x98]", "0x10003db50: fcsel d0, d0, d9, ne", "0x10003db54: stp d0, d1, [sp, #0x28]", "0x10003db58: ldr d0, [sp, #0xa0]", "0x10003db5c: fcsel d1, d0, d10, ne", "0x10003db60: eor w8, w28, #0x1", "0x10003db64: orr w8, w21, w8", "0x10003db68: ldp d0, d2, [sp, #0xa8]", "0x10003db6c: fcsel d0, d0, d11, ne", "0x10003db70: stp d0, d1, [sp, #0x18]", "0x10003db74: ldp d1, d3, [sp, #0xb8]", "0x10003db78: stp d1, d2, [sp, #0x60]", "0x10003db7c: ldr d0, [sp, #0xc8]", "0x10003db80: stp d0, d3, [sp, #0x50]", "0x10003db84: ldr x23, [sp, #0x88]", "0x10003db88: tbnz w8, #0x0, 0x10003de3c", "0x10003db8c: cbz x24, 0x10003db98", "0x10003db90: ldr d12, [x24, #0xf0]", "0x10003db94: b 0x10003db9c", "0x10003db98: fmov d12, 0x3ff8000000000000", "0x10003db9c: ldr x0, [sp, #0x88]", "0x10003dba0: bl 0x10007d560", "0x10003dba4: cbz x0, 0x10003de20", "0x10003dba8: fmov d0, d11", "0x10003dbac: fmov d1, d10", "0x10003dbb0: fmov d2, d9", "0x10003dbb4: fmov d3, d8", "0x10003dbb8: bl 0x10007a9d0", "0x10003dbbc: tbnz w0, #0x0, 0x10003de20", "0x10003dbc0: fmov d0, d11", "0x10003dbc4: fmov d1, d10", "0x10003dbc8: fmov d2, d9", "0x10003dbcc: fmov d3, d8", "0x10003dbd0: bl 0x10007a9b8", "0x10003dbd4: tbnz w0, #0x0, 0x10003de20", "0x10003dbd8: fmov d0, d11", "0x10003dbdc: fmov d1, d10", "0x10003dbe0: fmov d2, d9", "0x10003dbe4: fmov d3, d8", "0x10003dbe8: bl 0x10007a988", "0x10003dbec: mov x8, #0x3cb0000000000000", "0x10003dbf0: fmov d1, x8", "0x10003dbf4: fcmp d0, d1", "0x10003dbf8: b.le 0x10003de20", "0x10003dbfc: fmov d0, d11", "0x10003dc00: fmov d1, d10", "0x10003dc04: fmov d2, d9", "0x10003dc08: fmov d3, d8", "0x10003dc0c: bl 0x10007a934", "0x10003dc10: mov x8, #0x3cb0000000000000", "0x10003dc14: fmov d1, x8", "0x10003dc18: fcmp d0, d1", "0x10003dc1c: b.le 0x10003de20", "0x10003dc20: fmov d0, 0x4010000000000000", "0x10003dc24: fcmp d12, d0", "0x10003dc28: fcsel d0, d0, d12, gt", "0x10003dc2c: fmov d1, 0x3ff0000000000000", "0x10003dc30: fcmp d12, d1", "0x10003dc34: fcsel d4, d1, d0, mi", "0x10003dc38: fmov d0, d11", "0x10003dc3c: fmov d1, d10", "0x10003dc40: fmov d2, d9", "0x10003dc44: fmov d3, d8", "0x10003dc48: bl 0x10002c6b8", "0x10003dc4c: stp d0, d1, [sp, #0x50]", "0x10003dc50: stp d2, d3, [sp, #0x60]", "0x10003dc54: ldp d0, d1, [sp, #0x50]", "0x10003dc58: ldp d2, d3, [sp, #0x60]", "0x10003dc5c: bl 0x10007a9d0", "0x10003dc60: tbnz w0, #0x0, 0x10003e4a4", "0x10003dc64: ldp d0, d1, [sp, #0x50]", "0x10003dc68: ldp d2, d3, [sp, #0x60]", "0x10003dc6c: bl 0x10007a9b8", "0x10003dc70: tbnz w0, #0x0, 0x10003e4a4", "0x10003dc74: ldp d0, d1, [sp, #0x50]", "0x10003dc78: ldp d2, d3, [sp, #0x60]", "0x10003dc7c: bl 0x10007a988", "0x10003dc80: mov x8, #0x3cb0000000000000", "0x10003dc84: fmov d1, x8", "0x10003dc88: fcmp d0, d1", "0x10003dc8c: b.le 0x10003e4a4", "0x10003dc90: ldp d0, d1, [sp, #0x50]", "0x10003dc94: ldp d2, d3, [sp, #0x60]", "0x10003dc98: bl 0x10007a934", "0x10003dc9c: mov x8, #0x3cb0000000000000", "0x10003dca0: fmov d1, x8", "0x10003dca4: fcmp d0, d1", "0x10003dca8: b.le 0x10003e4a4", "0x10003dcac: adrp x8, 0x1000bb000", "0x10003dcb0: ldr x0, [x8, #0xa00]", "0x10003dcb4: bl 0x10007cc80", "0x10003dcb8: str x0, [sp, #0x8]", "0x10003dcbc: movi v0.2D, #0x0", "0x10003dcc0: stp q0, q0, [sp, #0xf0]", "0x10003dcc4: stp q0, q0, [sp, #0xd0]", "0x10003dcc8: add x2, sp, #0xd0", "0x10003dccc: add x3, sp, #0x160", "0x10003dcd0: ldr x0, [sp, #0x88]", "0x10003dcd4: mov w4, #0x10", "0x10003dcd8: bl 0x10007d580", "0x10003dcdc: mov x24, x0", "0x10003dce0: cbz x0, 0x10003de08", "0x10003dce4: ldr x8, [sp, #0xe0]", "0x10003dce8: ldr x23, [x8]", "0x10003dcec: mov x19, #0x0", "0x10003dcf0: ldr x8, [sp, #0xe0]", "0x10003dcf4: ldr x8, [x8]", "0x10003dcf8: cmp x8, x23", "0x10003dcfc: b.eq 0x10003dd08", "0x10003dd00: ldr x0, [sp, #0x88]", "0x10003dd04: bl 0x10007ae2c", "0x10003dd08: ldr x8, [sp, #0xd8]", "0x10003dd0c: ldr x25, [x8, x19, LSL #0x3]", "0x10003dd10: mov x0, x25", "0x10003dd14: bl 0x100029d20", "0x10003dd18: fmov d12, d0", "0x10003dd1c: fmov d13, d1", "0x10003dd20: fmov d14, d2", "0x10003dd24: fmov d15, d3", "0x10003dd28: bl 0x10007a9d0", "0x10003dd2c: tbnz w0, #0x0, 0x10003dde0", "0x10003dd30: fmov d0, d12", "0x10003dd34: fmov d1, d13", "0x10003dd38: fmov d2, d14", "0x10003dd3c: fmov d3, d15", "0x10003dd40: bl 0x10007a9b8", "0x10003dd44: tbnz w0, #0x0, 0x10003dde0", "0x10003dd48: fmov d0, d12", "0x10003dd4c: fmov d1, d13", "0x10003dd50: fmov d2, d14", "0x10003dd54: fmov d3, d15", "0x10003dd58: bl 0x10007a988", "0x10003dd5c: mov x8, #0x3cb0000000000000", "0x10003dd60: fmov d1, x8", "0x10003dd64: fcmp d0, d1", "0x10003dd68: b.le 0x10003dde0", "0x10003dd6c: fmov d0, d12", "0x10003dd70: fmov d1, d13", "0x10003dd74: fmov d2, d14", "0x10003dd78: fmov d3, d15", "0x10003dd7c: bl 0x10007a934", "0x10003dd80: mov x8, #0x3cb0000000000000", "0x10003dd84: fmov d1, x8", "0x10003dd88: fcmp d0, d1", "0x10003dd8c: b.le 0x10003dde0", "0x10003dd90: fmov d0, d12", "0x10003dd94: fmov d1, d13", "0x10003dd98: fmov d2, d14", "0x10003dd9c: fmov d3, d15", "0x10003dda0: bl 0x10007a958", "0x10003dda4: fmov d8, d0", "0x10003dda8: fmov d0, d12", "0x10003ddac: fmov d1, d13", "0x10003ddb0: fmov d2, d14", "0x10003ddb4: fmov d3, d15", "0x10003ddb8: bl 0x10007a964", "0x10003ddbc: fmov d5, d0", "0x10003ddc0: ldp d0, d1, [sp, #0x50]", "0x10003ddc4: ldp d2, d3, [sp, #0x60]", "0x10003ddc8: fmov d4, d8", "0x10003ddcc: bl 0x10007a910", "0x10003ddd0: cbz w0, 0x10003dde0", "0x10003ddd4: ldr x0, [sp, #0x8]", "0x10003ddd8: mov x2, x25", "0x10003dddc: bl 0x10007ca00", "0x10003dde0: add x19, x19, #0x1", "0x10003dde4: cmp x24, x19", "0x10003dde8: b.ne 0x10003dcf0", "0x10003ddec: add x2, sp, #0xd0", "0x10003ddf0: add x3, sp, #0x160", "0x10003ddf4: ldr x0, [sp, #0x88]", "0x10003ddf8: mov w4, #0x10", "0x10003ddfc: bl 0x10007d580", "0x10003de00: mov x24, x0", "0x10003de04: cbnz x0, 0x10003dcec", "0x10003de08: ldr x0, [sp, #0x8]", "0x10003de0c: bl 0x10007d560", "0x10003de10: cmp x0, #0x0", "0x10003de14: ldr x8, [sp, #0x8]", "0x10003de18: csel x23, xzr, x8, eq", "0x10003de1c: b 0x10003de34", "0x10003de20: mov x23, #0x0", "0x10003de24: ldp d1, d0, [sp, #0xb0]", "0x10003de28: stp d0, d1, [sp, #0x60]", "0x10003de2c: ldp d1, d0, [sp, #0xc0]", "0x10003de30: stp d0, d1, [sp, #0x50]", "0x10003de34: mov x0, x23", "0x10003de38: bl 0x10007d560", "0x10003de3c: mov x0, x23", "0x10003de40: bl 0x10007d560", "0x10003de44: cbz x0, 0x10003e040", "0x10003de48: ldr w8, [sp, #0x84]", "0x10003de4c: and w8, w8, w21", "0x10003de50: cmp w8, #0x1", "0x10003de54: b.ne 0x10003de78", "0x10003de58: mov x0, x23", "0x10003de5c: ldr q0, [sp, #0x70]", "0x10003de60: ldr d1, [sp, #0x10]", "0x10003de64: ldp d3, d2, [sp, #0xc0]", "0x10003de68: ldp d5, d4, [sp, #0xb0]", "0x10003de6c: mov w1, #0x0", "0x10003de70: bl 0x10003ec44", "0x10003de74: b 0x10003def4", "0x10003de78: orr w8, w27, w28", "0x10003de7c: cbz w8, 0x10003debc", "0x10003de80: ldp d0, d1, [sp, #0x18]", "0x10003de84: ldp d2, d3, [sp, #0x28]", "0x10003de88: bl 0x10007a958", "0x10003de8c: fmov d8, d0", "0x10003de90: ldp d0, d1, [sp, #0x18]", "0x10003de94: ldp d2, d3, [sp, #0x28]", "0x10003de98: bl 0x10007a964", "0x10003de9c: fmov d1, d0", "0x10003dea0: mov x0, x23", "0x10003dea4: fmov d0, d8", "0x10003dea8: ldp d2, d3, [sp, #0x18]", "0x10003deac: ldp d4, d5, [sp, #0x28]", "0x10003deb0: mov w1, #0x1", "0x10003deb4: bl 0x10003ec44", "0x10003deb8: b 0x10003def4", "0x10003debc: ldr w8, [sp, #0x84]", "0x10003dec0: tbz w8, #0x0, 0x10003dee4", "0x10003dec4: mov x0, x23", "0x10003dec8: ldr q0, [sp, #0x70]", "0x10003decc: ldr d1, [sp, #0x10]", "0x10003ded0: ldp d3, d2, [sp, #0xc0]", "0x10003ded4: ldp d5, d4, [sp, #0xb0]", "0x10003ded8: mov w1, #0x0", "0x10003dedc: bl 0x10003ec44", "0x10003dee0: b 0x10003def4", "0x10003dee4: mov x0, x23", "0x10003dee8: ldp d1, d0, [sp, #0xc0]", "0x10003deec: ldp d3, d2, [sp, #0xb0]", "0x10003def0: bl 0x10003f020", "0x10003def4: mov x24, x0", "0x10003def8: bl 0x100029a00", "0x10003defc: mov x25, x0", "0x10003df00: mov x0, x24", "0x10003df04: bl 0x100029d20", "0x10003df08: fmov d15, d0", "0x10003df0c: fmov d14, d1", "0x10003df10: fmov d13, d2", "0x10003df14: fmov d12, d3", "0x10003df18: mov x0, x25", "0x10003df1c: bl 0x10007d560", "0x10003df20: cmp x0, #0x4d", "0x10003df24: b.cc 0x10003e040", "0x10003df28: fmov d0, d15", "0x10003df2c: fmov d1, d14", "0x10003df30: fmov d2, d13", "0x10003df34: fmov d3, d12", "0x10003df38: bl 0x10007a9d0", "0x10003df3c: tbnz w0, #0x0, 0x10003e040", "0x10003df40: fmov d0, d15", "0x10003df44: fmov d1, d14", "0x10003df48: fmov d2, d13", "0x10003df4c: fmov d3, d12", "0x10003df50: bl 0x10007a9b8", "0x10003df54: tbnz w0, #0x0, 0x10003e040", "0x10003df58: fmov d0, d15", "0x10003df5c: fmov d1, d14", "0x10003df60: fmov d2, d13", "0x10003df64: fmov d3, d12", "0x10003df68: bl 0x10007a988", "0x10003df6c: mov x8, #0x3cb0000000000000", "0x10003df70: fmov d1, x8", "0x10003df74: fcmp d0, d1", "0x10003df78: b.le 0x10003e040", "0x10003df7c: fmov d0, d15", "0x10003df80: fmov d1, d14", "0x10003df84: fmov d2, d13", "0x10003df88: fmov d3, d12", "0x10003df8c: bl 0x10007a934", "0x10003df90: mov x8, #0x3cb0000000000000", "0x10003df94: fmov d1, x8", "0x10003df98: fcmp d0, d1", "0x10003df9c: b.le 0x10003e040", "0x10003dfa0: cbz x26, 0x10003e050", "0x10003dfa4: cbz x24, 0x10003e050", "0x10003dfa8: eor w8, w27, #0x1", "0x10003dfac: cbz w8, 0x10003e050", "0x10003dfb0: ldr q0, [x20]", "0x10003dfb4: str q0, [sp, #0x160]", "0x10003dfb8: ldr x8, [x20, #0x10]", "0x10003dfbc: str x8, [sp, #0x170]", "0x10003dfc0: add x3, sp, #0x160", "0x10003dfc4: mov x0, x22", "0x10003dfc8: mov x2, x26", "0x10003dfcc: mov x4, x24", "0x10003dfd0: mov w5, #0x1", "0x10003dfd4: bl 0x100083460", "0x10003dfd8: bl 0x10002d838", "0x10003dfdc: stp d1, d0, [sp, #0xa0]", "0x10003dfe0: stp d3, d2, [sp, #0x90]", "0x10003dfe4: ldp d1, d0, [sp, #0xa0]", "0x10003dfe8: ldp d3, d2, [sp, #0x90]", "0x10003dfec: bl 0x10007a9d0", "0x10003dff0: tbnz w0, #0x0, 0x10003e4ac", "0x10003dff4: ldp d1, d0, [sp, #0xa0]", "0x10003dff8: ldp d3, d2, [sp, #0x90]", "0x10003dffc: bl 0x10007a9b8", "0x10003e000: tbnz w0, #0x0, 0x10003e4ac", "0x10003e004: ldp d1, d0, [sp, #0xa0]", "0x10003e008: ldp d3, d2, [sp, #0x90]", "0x10003e00c: bl 0x10007a988", "0x10003e010: mov x8, #0x3cb0000000000000", "0x10003e014: fmov d1, x8", "0x10003e018: fcmp d0, d1", "0x10003e01c: b.le 0x10003e4ac", "0x10003e020: ldp d1, d0, [sp, #0xa0]", "0x10003e024: ldp d3, d2, [sp, #0x90]", "0x10003e028: bl 0x10007a934", "0x10003e02c: mov x8, #0x3cb0000000000000", "0x10003e030: fmov d1, x8", "0x10003e034: fcmp d0, d1", "0x10003e038: cset w27, gt", "0x10003e03c: b 0x10003e050", "0x10003e040: mov x24, #0x0", "0x10003e044: mov x25, #0x0", "0x10003e048: ldp d12, d13, [sp, #0xb0]", "0x10003e04c: ldp d14, d15, [sp, #0xc0]", "0x10003e050: mov x0, x25", "0x10003e054: bl 0x10007d560", "0x10003e058: cmp x0, #0x4d", "0x10003e05c: b.cc 0x10003e130", "0x10003e060: fmov d0, d15", "0x10003e064: fmov d1, d14", "0x10003e068: fmov d2, d13", "0x10003e06c: fmov d3, d12", "0x10003e070: bl 0x10007a9d0", "0x10003e074: tbnz w0, #0x0, 0x10003e130", "0x10003e078: fmov d0, d15", "0x10003e07c: fmov d1, d14", "0x10003e080: fmov d2, d13", "0x10003e084: fmov d3, d12", "0x10003e088: bl 0x10007a9b8", "0x10003e08c: tbnz w0, #0x0, 0x10003e130", "0x10003e090: fmov d0, d15", "0x10003e094: fmov d1, d14", "0x10003e098: fmov d2, d13", "0x10003e09c: fmov d3, d12", "0x10003e0a0: bl 0x10007a988", "0x10003e0a4: mov x8, #0x3cb0000000000000", "0x10003e0a8: fmov d1, x8", "0x10003e0ac: fcmp d0, d1", "0x10003e0b0: b.le 0x10003e130", "0x10003e0b4: fmov d0, d15", "0x10003e0b8: fmov d1, d14", "0x10003e0bc: fmov d2, d13", "0x10003e0c0: fmov d3, d12", "0x10003e0c4: bl 0x10007a934", "0x10003e0c8: mov x8, #0x3cb0000000000000", "0x10003e0cc: fmov d1, x8", "0x10003e0d0: fcmp d0, d1", "0x10003e0d4: b.le 0x10003e130", "0x10003e0d8: mov x0, x24", "0x10003e0dc: bl 0x10007f900", "0x10003e0e0: mov x26, x0", "0x10003e0e4: bl 0x10007cae0", "0x10003e0e8: mov x19, x0", "0x10003e0ec: mov x0, x26", "0x10003e0f0: bl 0x10007e060", "0x10003e0f4: cbz x24, 0x10003e130", "0x10003e0f8: cbz x26, 0x10003e130", "0x10003e0fc: cbz x19, 0x10003e130", "0x10003e100: mov x28, x0", "0x10003e104: mov x0, x19", "0x10003e108: bl 0x1000806c0", "0x10003e10c: cmp x0, #0x4c", "0x10003e110: b.cc 0x10003e130", "0x10003e114: mov x0, x19", "0x10003e118: bl 0x1000801c0", "0x10003e11c: cbz x0, 0x10003e130", "0x10003e120: mov x0, x28", "0x10003e124: bl 0x1000806c0", "0x10003e128: cmp x0, #0xa", "0x10003e12c: b.hi 0x10003e4b4", "0x10003e130: mov w26, #0x0", "0x10003e134: ldr w8, [sp, #0x84]", "0x10003e138: tbz w8, #0x0, 0x10003e178", "0x10003e13c: add x8, x22, #0x3b8", "0x10003e140: ldr q3, [sp, #0x70]", "0x10003e144: fcmlt v0.2D, v3.2D", "0x10003e148: fmov v1.2D, #0x3ff0000000000000", "0x10003e14c: fcmgt v2.2D, v3.2D, v1.2D", "0x10003e150: bif v1.16B, v3.16B, v2.16B", "0x10003e154: bic v0.16B, v1.16B, v0.16B", "0x10003e158: str q0, [x8]", "0x10003e15c: ldr x8, [x22, #0x3c8]", "0x10003e160: ldr x9, [sp, #0x38]", "0x10003e164: cmp x9, x8", "0x10003e168: csel x8, x9, x8, gt", "0x10003e16c: str x8, [x22, #0x3c8]", "0x10003e170: mov w8, #0x1", "0x10003e174: b 0x10003e17c", "0x10003e178: mov w8, #0x0", "0x10003e17c: strb w8, [x22, #0x3b1]", "0x10003e180: cbz w26, 0x10003e200", "0x10003e184: ldr x0, [x22, #0x370]", "0x10003e188: bl 0x10007ae98", "0x10003e18c: mov x0, x25", "0x10003e190: bl 0x10007d520", "0x10003e194: add x8, x22, #0x370", "0x10003e198: str x0, [x8]", "0x10003e19c: str d15, [x22, #0x378]", "0x10003e1a0: str d14, [x22, #0x380]", "0x10003e1a4: str d13, [x22, #0x388]", "0x10003e1a8: str d12, [x22, #0x390]", "0x10003e1ac: add x8, x22, #0x398", "0x10003e1b0: ldr q0, [x20]", "0x10003e1b4: ldr x9, [x20, #0x10]", "0x10003e1b8: str x9, [x22, #0x3a8]", "0x10003e1bc: str q0, [x8]", "0x10003e1c0: mov w8, #0x1", "0x10003e1c4: strb w8, [x22, #0x3b0]", "0x10003e1c8: bl 0x10007aea4", "0x10003e1cc: mov x25, x0", "0x10003e1d0: mov w19, #0x0", "0x10003e1d4: add x8, x22, #0x378", "0x10003e1d8: add x9, x22, #0x380", "0x10003e1dc: add x10, x22, #0x388", "0x10003e1e0: add x11, x22, #0x390", "0x10003e1e4: ldr d1, [x8]", "0x10003e1e8: ldr d0, [x9]", "0x10003e1ec: stp d0, d1, [sp, #0xc0]", "0x10003e1f0: ldr d0, [x10]", "0x10003e1f4: str d0, [sp, #0xb8]", "0x10003e1f8: ldr d0, [x11]", "0x10003e1fc: b 0x10003e338", "0x10003e200: ldr w8, [sp, #0x4c]", "0x10003e204: cbz w8, 0x10003e304", "0x10003e208: ldp d7, d6, [sp, #0x90]", "0x10003e20c: ldp d5, d4, [sp, #0xa0]", "0x10003e210: tbnz w27, #0x0, 0x10003e2ac", "0x10003e214: fmov d0, d15", "0x10003e218: fmov d1, d14", "0x10003e21c: fmov d2, d13", "0x10003e220: fmov d3, d12", "0x10003e224: bl 0x10007a9d0", "0x10003e228: tbnz w0, #0x0, 0x10003e29c", "0x10003e22c: fmov d0, d15", "0x10003e230: fmov d1, d14", "0x10003e234: fmov d2, d13", "0x10003e238: fmov d3, d12", "0x10003e23c: bl 0x10007a9b8", "0x10003e240: tbnz w0, #0x0, 0x10003e29c", "0x10003e244: fmov d0, d15", "0x10003e248: fmov d1, d14", "0x10003e24c: fmov d2, d13", "0x10003e250: fmov d3, d12", "0x10003e254: bl 0x10007a988", "0x10003e258: mov x8, #0x3cb0000000000000", "0x10003e25c: fmov d1, x8", "0x10003e260: fcmp d0, d1", "0x10003e264: b.le 0x10003e29c", "0x10003e268: fmov d0, d15", "0x10003e26c: fmov d1, d14", "0x10003e270: fmov d2, d13", "0x10003e274: fmov d3, d12", "0x10003e278: bl 0x10007a934", "0x10003e27c: mov x8, #0x3cb0000000000000", "0x10003e280: fmov d1, x8", "0x10003e284: fcmp d0, d1", "0x10003e288: fmov d7, d12", "0x10003e28c: fmov d6, d13", "0x10003e290: fmov d5, d14", "0x10003e294: fmov d4, d15", "0x10003e298: b.gt 0x10003e2ac", "0x10003e29c: ldr d4, [x22, #0x378]", "0x10003e2a0: ldr d5, [x22, #0x380]", "0x10003e2a4: ldr d6, [x22, #0x388]", "0x10003e2a8: ldr d7, [x22, #0x390]", "0x10003e2ac: ldr x0, [x22, #0x370]", "0x10003e2b0: ldr d0, [x22, #0x378]", "0x10003e2b4: ldr d1, [x22, #0x380]", "0x10003e2b8: ldr d2, [x22, #0x388]", "0x10003e2bc: ldr d3, [x22, #0x390]", "0x10003e2c0: stp d5, d4, [sp, #0xc0]", "0x10003e2c4: stp d7, d6, [sp, #0xb0]", "0x10003e2c8: bl 0x10001ab3c", "0x10003e2cc: mov x25, x0", "0x10003e2d0: bl 0x10007d560", "0x10003e2d4: cmp x0, #0x4d", "0x10003e2d8: b.cc 0x10003e310", "0x10003e2dc: mov x0, x25", "0x10003e2e0: ldp d1, d0, [sp, #0xc0]", "0x10003e2e4: ldp d3, d2, [sp, #0xb0]", "0x10003e2e8: bl 0x10001b070", "0x10003e2ec: cbz w0, 0x10003e310", "0x10003e2f0: mov x0, x25", "0x10003e2f4: bl 0x10007aea4", "0x10003e2f8: mov x25, x0", "0x10003e2fc: mov w19, #0x1", "0x10003e300: b 0x10003e33c", "0x10003e304: mov w19, #0x0", "0x10003e308: mov x25, #0x0", "0x10003e30c: b 0x10003e33c", "0x10003e310: ldr x0, [x22, #0x370]", "0x10003e314: bl 0x10007aea4", "0x10003e318: mov x25, x0", "0x10003e31c: ldr d1, [x22, #0x378]", "0x10003e320: ldr d0, [x22, #0x380]", "0x10003e324: stp d0, d1, [sp, #0xc0]", "0x10003e328: ldr d0, [x22, #0x388]", "0x10003e32c: str d0, [sp, #0xb8]", "0x10003e330: mov w19, #0x1", "0x10003e334: ldr d0, [x22, #0x390]", "0x10003e338: str d0, [sp, #0xb0]", "0x10003e33c: ldr x0, [x22, #0x28]", "0x10003e340: bl 0x1000834c0", "0x10003e344: ldr x21, [x29, #0x10]", "0x10003e348: ldr x9, [sp, #0x40]", "0x10003e34c: cbz x9, 0x10003e364", "0x10003e350: cmp w26, #0x0", "0x10003e354: csel x8, x24, xzr, ne", "0x10003e358: cmp w19, #0x0", "0x10003e35c: csel x8, xzr, x8, ne", "0x10003e360: str x8, [x9]", "0x10003e364: cbz x21, 0x10003e384", "0x10003e368: mov x0, x25", "0x10003e36c: bl 0x10007d560", "0x10003e370: cmp x0, #0x4c", "0x10003e374: movi d0, #0x0", "0x10003e378: fmov d1, 0x3ff0000000000000", "0x10003e37c: fcsel d0, d1, d0, hi", "0x10003e380: str d0, [x21]", "0x10003e384: ldp x9, x8, [x29, #0x18]", "0x10003e388: cbz x9, 0x10003e39c", "0x10003e38c: ldp d0, d1, [sp, #0xc0]", "0x10003e390: stp d1, d0, [x9]", "0x10003e394: ldp d0, d1, [sp, #0xb0]", "0x10003e398: stp d1, d0, [x9, #0x10]", "0x10003e39c: cbz x8, 0x10003e3a4", "0x10003e3a0: strb w19, [x8]", "0x10003e3a4: ldr w8, [x20, #0xc]", "0x10003e3a8: mov w9, #0x1d", "0x10003e3ac: and w8, w8, w9", "0x10003e3b0: cmp w8, #0x1", "0x10003e3b4: b.ne 0x10003e3d0", "0x10003e3b8: ldr q0, [x20]", "0x10003e3bc: str q0, [sp, #0x160]", "0x10003e3c0: ldr x8, [x20, #0x10]", "0x10003e3c4: str x8, [sp, #0x170]", "0x10003e3c8: add x0, sp, #0x160", "0x10003e3cc: bl 0x10007a9f4", "0x10003e3d0: ldr x0, [sp, #0x88]", "0x10003e3d4: bl 0x10007d560", "0x10003e3d8: mov x0, x23", "0x10003e3dc: bl 0x10007d560", "0x10003e3e0: ldp d0, d1, [sp, #0x50]", "0x10003e3e4: ldp d2, d3, [sp, #0x60]", "0x10003e3e8: bl 0x10001b584", "0x10003e3ec: ldp d1, d0, [sp, #0xa0]", "0x10003e3f0: ldp d3, d2, [sp, #0x90]", "0x10003e3f4: bl 0x10001b584", "0x10003e3f8: ldp d1, d0, [sp, #0xc0]", "0x10003e3fc: ldp d3, d2, [sp, #0xb0]", "0x10003e400: bl 0x10001b584", "0x10003e404: mov x0, x25", "0x10003e408: bl 0x10007d560", "0x10003e40c: mov x0, x25", "0x10003e410: bl 0x10007adfc", "0x10003e414: ldur x8, [x29, #-0xa0]", "0x10003e418: adrp x9, 0x1000a8000", "0x10003e41c: ldr x9, [x9, #0xe8]", "0x10003e420: ldr x9, [x9]", "0x10003e424: cmp x9, x8", "0x10003e428: b.ne 0x10003e9c8", "0x10003e42c: add sp, sp, #0x1f0", "0x10003e430: ldp x29, x30, [sp, #0x90]", "0x10003e434: ldp x20, x19, [sp, #0x80]", "0x10003e438: ldp x22, x21, [sp, #0x70]", "0x10003e43c: ldp x24, x23, [sp, #0x60]", "0x10003e440: ldp x26, x25, [sp, #0x50]", "0x10003e444: ldp x28, x27, [sp, #0x40]", "0x10003e448: ldp d9, d8, [sp, #0x30]", "0x10003e44c: ldp d11, d10, [sp, #0x20]", "0x10003e450: ldp d13, d12, [sp, #0x10]", "0x10003e454: ldp d15, d14, [sp], #0xa0", "0x10003e458: ret", "0x10003e45c: ldr x0, [x22, #0x370]", "0x10003e460: bl 0x10007ae98", "0x10003e464: str wzr, [sp, #0x4c]", "0x10003e468: add x8, x22, #0x370", "0x10003e46c: str xzr, [x8]", "0x10003e470: adrp x8, 0x1000a8000", "0x10003e474: ldr x8, [x8, #0x150]", "0x10003e478: add x9, x22, #0x378", "0x10003e47c: ldp q0, q1, [x8]", "0x10003e480: adrp x8, 0x1000a8000", "0x10003e484: ldr x8, [x8, #0x208]", "0x10003e488: stp q0, q1, [x9]", "0x10003e48c: ldr q0, [x8]", "0x10003e490: str q0, [x19]", "0x10003e494: ldr x8, [x8, #0x10]", "0x10003e498: str x8, [x19, #0x10]", "0x10003e49c: strb wzr, [x22, #0x3b0]", "0x10003e4a0: b 0x10003d864", "0x10003e4a4: mov x23, #0x0", "0x10003e4a8: b 0x10003de34", "0x10003e4ac: mov w27, #0x0", "0x10003e4b0: b 0x10003e050", "0x10003e4b4: mov x0, x19", "0x10003e4b8: bl 0x1000801c0", "0x10003e4bc: add x8, x0, #0x8", "0x10003e4c0: mov w9, #0x4c", "0x10003e4c4: adrp x10, 0x100086000", "0x10003e4c8: ldr d0, [x10, #0x4d0]", "0x10003e4cc: adrp x10, 0x100086000", "0x10003e4d0: ldr d1, [x10, #0x4c8]", "0x10003e4d4: mov x10, #0x7fefffffffffffff", "0x10003e4d8: ldur d2, [x8, #-0x8]", "0x10003e4dc: fmov x11, d2", "0x10003e4e0: and x11, x11, #0x7fffffffffffffff", "0x10003e4e4: cmp x11, x10", "0x10003e4e8: b.gt 0x10003e130", "0x10003e4ec: ldr d3, [x8]", "0x10003e4f0: fmov x11, d3", "0x10003e4f4: and x11, x11, #0x7fffffffffffffff", "0x10003e4f8: cmp x11, x10", "0x10003e4fc: cset w11, gt", "0x10003e500: fcmp d3, d0", "0x10003e504: b.gt 0x10003e130", "0x10003e508: fcmp d3, d1", "0x10003e50c: b.mi 0x10003e130", "0x10003e510: fcmp d2, d0", "0x10003e514: b.gt 0x10003e130", "0x10003e518: fcmp d2, d1", "0x10003e51c: b.mi 0x10003e130", "0x10003e520: tbnz w11, #0x0, 0x10003e130", "0x10003e524: add x8, x8, #0x10", "0x10003e528: subs x9, x9, #0x1", "0x10003e52c: b.ne 0x10003e4d8", "0x10003e530: adrp x8, 0x1000a8000", "0x10003e534: ldr x8, [x8, #0x140]", "0x10003e538: ldr q0, [x8]", "0x10003e53c: stp q0, q0, [sp, #0x140]", "0x10003e540: stp q0, q0, [sp, #0x120]", "0x10003e544: str q0, [sp, #0x110]", "0x10003e548: mov x0, x26", "0x10003e54c: bl 0x10007f9a0", "0x10003e550: add x1, sp, #0x150", "0x10003e554: bl 0x1000547c8", "0x10003e558: cbz w0, 0x10003e130", "0x10003e55c: mov x0, x26", "0x10003e560: bl 0x100080c20", "0x10003e564: add x1, sp, #0x140", "0x10003e568: bl 0x1000547c8", "0x10003e56c: cbz w0, 0x10003e130", "0x10003e570: mov x0, x26", "0x10003e574: bl 0x100080200", "0x10003e578: add x1, sp, #0x130", "0x10003e57c: bl 0x1000547c8", "0x10003e580: cbz w0, 0x10003e130", "0x10003e584: mov x0, x26", "0x10003e588: bl 0x1000804c0", "0x10003e58c: add x1, sp, #0x120", "0x10003e590: bl 0x1000547c8", "0x10003e594: cbz w0, 0x10003e130", "0x10003e598: add x1, sp, #0x110", "0x10003e59c: mov x0, x28", "0x10003e5a0: bl 0x1000548d0", "0x10003e5a4: tbz w0, #0x0, 0x10003e130", "0x10003e5a8: mov x0, x26", "0x10003e5ac: bl 0x10007d320", "0x10003e5b0: fmov s8, s0", "0x10003e5b4: mov x0, x19", "0x10003e5b8: bl 0x100080720", "0x10003e5bc: str x0, [sp, #0x30]", "0x10003e5c0: ldr x0, [sp, #0x30]", "0x10003e5c4: bl 0x10007d560", "0x10003e5c8: cmp x0, #0x4c", "0x10003e5cc: b.cc 0x10003e650", "0x10003e5d0: movi v0.2D, #0x0", "0x10003e5d4: stp q0, q0, [sp, #0xf0]", "0x10003e5d8: stp q0, q0, [sp, #0xd0]", "0x10003e5dc: add x2, sp, #0xd0", "0x10003e5e0: add x3, sp, #0x160", "0x10003e5e4: ldr x0, [sp, #0x30]", "0x10003e5e8: mov w4, #0x10", "0x10003e5ec: bl 0x10007d580", "0x10003e5f0: mov x26, x0", "0x10003e5f4: cbz x0, 0x10003e650", "0x10003e5f8: ldr x8, [sp, #0xe0]", "0x10003e5fc: ldr x19, [x8]", "0x10003e600: mov x28, #0x0", "0x10003e604: ldr x8, [sp, #0xe0]", "0x10003e608: ldr x8, [x8]", "0x10003e60c: cmp x8, x19", "0x10003e610: b.eq 0x10003e61c", "0x10003e614: ldr x0, [sp, #0x30]", "0x10003e618: bl 0x10007ae2c", "0x10003e61c: ldr x8, [sp, #0xd8]", "0x10003e620: ldr x0, [x8, x28, LSL #0x3]", "0x10003e624: bl 0x10007dac0", "0x10003e628: add x28, x28, #0x1", "0x10003e62c: cmp x26, x28", "0x10003e630: b.ne 0x10003e604", "0x10003e634: add x2, sp, #0xd0", "0x10003e638: add x3, sp, #0x160", "0x10003e63c: ldr x0, [sp, #0x30]", "0x10003e640: mov w4, #0x10", "0x10003e644: bl 0x10007d580", "0x10003e648: mov x26, x0", "0x10003e64c: cbnz x0, 0x10003e600", "0x10003e650: fcvt d9, s8", "0x10003e654: ldp d0, d1, [sp, #0x150]", "0x10003e658: ldp d2, d3, [sp, #0x140]", "0x10003e65c: fadd d4, d0, d2", "0x10003e660: fmov d5, 0x3fe0000000000000", "0x10003e664: fmul d10, d4, d5", "0x10003e668: fadd d4, d1, d3", "0x10003e66c: fmul d11, d4, d5", "0x10003e670: fsub d0, d2, d0", "0x10003e674: fsub d1, d3, d1", "0x10003e678: str d0, [sp, #0x30]", "0x10003e67c: fmov d8, d1", "0x10003e680: bl 0x10007ad84", "0x10003e684: fmov x8, d0", "0x10003e688: and x8, x8, #0x7fffffffffffffff", "0x10003e68c: mov x9, #0x3cb0000000000000", "0x10003e690: fmov d1, x9", "0x10003e694: fcmp d0, d1", "0x10003e698: mov x9, #0x7ff0000000000000", "0x10003e69c: ccmp x8, x9, #0x0, gt", "0x10003e6a0: cset w8, lt", "0x10003e6a4: cmp w8, #0x1", "0x10003e6a8: b.ne 0x10003e6bc", "0x10003e6ac: ldr d1, [sp, #0x30]", "0x10003e6b0: fdiv d1, d1, d0", "0x10003e6b4: str d1, [sp, #0x30]", "0x10003e6b8: fdiv d8, d8, d0", "0x10003e6bc: ldr d6, [sp, #0x30]", "0x10003e6c0: fneg d1, d6", "0x10003e6c4: ldp d7, d16, [sp, #0x120]", "0x10003e6c8: fsub d2, d7, d10", "0x10003e6cc: fsub d3, d16, d11", "0x10003e6d0: fnmul d4, d6, d3", "0x10003e6d4: fmadd d4, d2, d8, d4", "0x10003e6d8: fneg d5, d8", "0x10003e6dc: fcmp d4, #0.0", "0x10003e6e0: fcsel d5, d5, d8, mi", "0x10003e6e4: fcsel d6, d6, d1, mi", "0x10003e6e8: fmul d1, d3, d6", "0x10003e6ec: fmadd d3, d2, d5, d1", "0x10003e6f0: ldp d17, d18, [sp, #0x110]", "0x10003e6f4: fsub d1, d17, d10", "0x10003e6f8: ldp d2, d4, [sp, #0x130]", "0x10003e6fc: fsub d19, d2, d10", "0x10003e700: fsub d2, d18, d11", "0x10003e704: fsub d4, d4, d11", "0x10003e708: fmul d4, d4, d6", "0x10003e70c: fmadd d4, d19, d5, d4", "0x10003e710: fmov x9, d9", "0x10003e714: and x9, x9, #0x7fffffffffffffff", "0x10003e718: adrp x10, 0x100086000", "0x10003e71c: ldr d19, [x10, #0x1f0]", "0x10003e720: fcmp d9, d19", "0x10003e724: mov x10, #0x7fefffffffffffff", "0x10003e728: ccmp x9, x10, #0x0, ge", "0x10003e72c: cset w9, gt", "0x10003e730: adrp x10, 0x100086000", "0x10003e734: ldr d19, [x10, #0xb0]", "0x10003e738: fcmp d3, d19", "0x10003e73c: csel w11, wzr, w8, lt", "0x10003e740: mov w10, #0x1", "0x10003e744: cmp w11, #0x1", "0x10003e748: b.ne 0x10003e784", "0x10003e74c: fsub d7, d17, d7", "0x10003e750: fsub d16, d18, d16", "0x10003e754: fmul d16, d16, d6", "0x10003e758: fmadd d7, d7, d5, d16", "0x10003e75c: adrp x11, 0x100086000", "0x10003e760: ldr d16, [x11, #0x150]", "0x10003e764: fcmp d7, d16", "0x10003e768: b.lt 0x10003e784", "0x10003e76c: fmul d6, d2, d6", "0x10003e770: fmadd d5, d1, d5, d6", "0x10003e774: adrp x10, 0x100086000", "0x10003e778: ldr d6, [x10, #0x118]", "0x10003e77c: fcmp d5, d6", "0x10003e780: cset w10, lt", "0x10003e784: adrp x11, 0x100086000", "0x10003e788: ldr d5, [x11, #0x608]", "0x10003e78c: fcmp d4, d5", "0x10003e790: csel w11, wzr, w8, lt", "0x10003e794: cmp w11, #0x1", "0x10003e798: b.ne 0x10003e7b4", "0x10003e79c: adrp x11, 0x100086000", "0x10003e7a0: ldr d5, [x11, #0xf8]", "0x10003e7a4: fadd d3, d3, d5", "0x10003e7a8: fcmp d4, d3", "0x10003e7ac: cset w11, ls", "0x10003e7b0: b 0x10003e7b8", "0x10003e7b4: mov w11, #0x0", "0x10003e7b8: orr w9, w9, w10", "0x10003e7bc: tbnz w9, #0x0, 0x10003e130", "0x10003e7c0: fmul d2, d8, d2", "0x10003e7c4: adrp x9, 0x100086000", "0x10003e7c8: ldr d3, [x9, #0x600]", "0x10003e7cc: adrp x9, 0x100086000", "0x10003e7d0: ldr d11, [x9, #0x348]", "0x10003e7d4: ldr d4, [sp, #0x30]", "0x10003e7d8: fmadd d1, d1, d4, d2", "0x10003e7dc: fmov d4, 0x3fe0000000000000", "0x10003e7e0: fmsub d2, d0, d4, d3", "0x10003e7e4: fmadd d3, d0, d4, d11", "0x10003e7e8: fcmp d1, d2", "0x10003e7ec: cset w9, ge", "0x10003e7f0: fcmp d1, d3", "0x10003e7f4: csel w9, wzr, w9, hi", "0x10003e7f8: adrp x10, 0x100086000", "0x10003e7fc: ldr d1, [x10, #0x120]", "0x10003e800: fcmp d0, d1", "0x10003e804: csel w10, wzr, w11, lt", "0x10003e808: and w8, w8, w10", "0x10003e80c: and w26, w8, w9", "0x10003e810: ldr w8, [sp, #0x4c]", "0x10003e814: and w8, w26, w8", "0x10003e818: eor w8, w8, #0x1", "0x10003e81c: orr w8, w21, w8", "0x10003e820: tbnz w8, #0x0, 0x10003e134", "0x10003e824: ldr x21, [x22, #0x370]", "0x10003e828: ldr d8, [x22, #0x378]", "0x10003e82c: ldr d9, [x22, #0x380]", "0x10003e830: ldr d10, [x22, #0x388]", "0x10003e834: ldr d0, [x22, #0x390]", "0x10003e838: str d0, [sp, #0x30]", "0x10003e83c: mov x0, x25", "0x10003e840: bl 0x10007d560", "0x10003e844: cmp x0, #0x4d", "0x10003e848: b.cc 0x10003e134", "0x10003e84c: mov x0, x21", "0x10003e850: bl 0x10007d560", "0x10003e854: cmp x0, #0x4d", "0x10003e858: b.cc 0x10003e134", "0x10003e85c: fmov d0, d15", "0x10003e860: fmov d1, d14", "0x10003e864: fmov d2, d13", "0x10003e868: fmov d3, d12", "0x10003e86c: bl 0x10007a9d0", "0x10003e870: tbnz w0, #0x0, 0x10003e134", "0x10003e874: fmov d0, d15", "0x10003e878: fmov d1, d14", "0x10003e87c: fmov d2, d13", "0x10003e880: fmov d3, d12", "0x10003e884: bl 0x10007a9b8", "0x10003e888: tbnz w0, #0x0, 0x10003e134", "0x10003e88c: fmov d0, d15", "0x10003e890: fmov d1, d14", "0x10003e894: fmov d2, d13", "0x10003e898: fmov d3, d12", "0x10003e89c: bl 0x10007a988", "0x10003e8a0: mov x8, #0x3cb0000000000000", "0x10003e8a4: fmov d1, x8", "0x10003e8a8: fcmp d0, d1", "0x10003e8ac: b.le 0x10003e134", "0x10003e8b0: fmov d0, d15", "0x10003e8b4: fmov d1, d14", "0x10003e8b8: fmov d2, d13", "0x10003e8bc: fmov d3, d12", "0x10003e8c0: bl 0x10007a934", "0x10003e8c4: mov x8, #0x3cb0000000000000", "0x10003e8c8: fmov d1, x8", "0x10003e8cc: fcmp d0, d1", "0x10003e8d0: b.le 0x10003e134", "0x10003e8d4: fmov d0, d8", "0x10003e8d8: fmov d1, d9", "0x10003e8dc: fmov d2, d10", "0x10003e8e0: ldr d3, [sp, #0x30]", "0x10003e8e4: bl 0x10007a9d0", "0x10003e8e8: tbnz w0, #0x0, 0x10003e134", "0x10003e8ec: fmov d0, d8", "0x10003e8f0: fmov d1, d9", "0x10003e8f4: fmov d2, d10", "0x10003e8f8: ldr d3, [sp, #0x30]", "0x10003e8fc: bl 0x10007a9b8", "0x10003e900: tbnz w0, #0x0, 0x10003e134", "0x10003e904: fmov d0, d8", "0x10003e908: fmov d1, d9", "0x10003e90c: fmov d2, d10", "0x10003e910: ldr d3, [sp, #0x30]", "0x10003e914: bl 0x10007a988", "0x10003e918: mov x8, #0x3cb0000000000000", "0x10003e91c: fmov d1, x8", "0x10003e920: fcmp d0, d1", "0x10003e924: b.le 0x10003e134", "0x10003e928: fmov d0, d8", "0x10003e92c: fmov d1, d9", "0x10003e930: fmov d2, d10", "0x10003e934: ldr d3, [sp, #0x30]", "0x10003e938: bl 0x10007a934", "0x10003e93c: mov x8, #0x3cb0000000000000", "0x10003e940: fmov d1, x8", "0x10003e944: fcmp d0, d1", "0x10003e948: b.le 0x10003e134", "0x10003e94c: fmov d0, d15", "0x10003e950: fmov d1, d14", "0x10003e954: fmov d2, d13", "0x10003e958: fmov d3, d12", "0x10003e95c: fmov d4, d8", "0x10003e960: fmov d5, d9", "0x10003e964: fmov d6, d10", "0x10003e968: ldr d7, [sp, #0x30]", "0x10003e96c: bl 0x1000549d4", "0x10003e970: cbz w0, 0x10003e134", "0x10003e974: mov x8, #0x7ff8000000000000", "0x10003e978: str x8, [sp, #0x160]", "0x10003e97c: str x8, [sp, #0xd0]", "0x10003e980: str x8, [sp, #0x150]", "0x10003e984: add x2, sp, #0x160", "0x10003e988: add x3, sp, #0xd0", "0x10003e98c: add x4, sp, #0x150", "0x10003e990: mov x0, x25", "0x10003e994: fmov d0, d15", "0x10003e998: fmov d1, d14", "0x10003e99c: fmov d2, d13", "0x10003e9a0: fmov d3, d12", "0x10003e9a4: mov x1, x21", "0x10003e9a8: fmov d4, d8", "0x10003e9ac: fmov d5, d9", "0x10003e9b0: fmov d6, d10", "0x10003e9b4: ldr d7, [sp, #0x30]", "0x10003e9b8: bl 0x100043338", "0x10003e9bc: tbz w0, #0x0, 0x10003e9cc", "0x10003e9c0: mov w8, #0x0", "0x10003e9c4: b 0x10003ea0c", "0x10003e9c8: bl 0x10007aca0", "0x10003e9cc: mov x0, x21", "0x10003e9d0: fmov d0, d8", "0x10003e9d4: fmov d1, d9", "0x10003e9d8: fmov d2, d10", "0x10003e9dc: ldr d3, [sp, #0x30]", "0x10003e9e0: fmov d4, d15", "0x10003e9e4: fmov d5, d14", "0x10003e9e8: fmov d6, d13", "0x10003e9ec: fmov d7, d12", "0x10003e9f0: bl 0x10001ab3c", "0x10003e9f4: str x0, [sp, #0x20]", "0x10003e9f8: ldr x0, [sp, #0x20]", "0x10003e9fc: bl 0x10007d560", "0x10003ea00: cmp x0, #0x4d", "0x10003ea04: b.cs 0x10003ea14", "0x10003ea08: mov w8, #0x1", "0x10003ea0c: and w26, w26, w8", "0x10003ea10: b 0x10003e134", "0x10003ea14: fmov d0, d15", "0x10003ea18: fmov d1, d14", "0x10003ea1c: fmov d2, d13", "0x10003ea20: fmov d3, d12", "0x10003ea24: bl 0x10007a988", "0x10003ea28: fmov d8, d0", "0x10003ea2c: fmov d0, d15", "0x10003ea30: fmov d1, d14", "0x10003ea34: fmov d2, d13", "0x10003ea38: fmov d3, d12", "0x10003ea3c: bl 0x10007a934", "0x10003ea40: fcmp d8, d0", "0x10003ea44: fcsel d1, d0, d8, mi", "0x10003ea48: fmov x8, d1", "0x10003ea4c: and x8, x8, #0x7fffffffffffffff", "0x10003ea50: mov x9, #0x7fefffffffffffff", "0x10003ea54: cmp x8, x9", "0x10003ea58: cset w9, gt", "0x10003ea5c: mov w8, #0x1", "0x10003ea60: mov x10, #0x3cb0000000000000", "0x10003ea64: fmov d0, x10", "0x10003ea68: str d1, [sp, #0x18]", "0x10003ea6c: fcmp d1, d0", "0x10003ea70: b.ls 0x10003ea0c", "0x10003ea74: tbnz w9, #0x0, 0x10003ea0c", "0x10003ea78: adrp x8, 0x1000bb000", "0x10003ea7c: ldr x0, [x8, #0xa00]", "0x10003ea80: mov w2, #0x4c", "0x10003ea84: bl 0x10007ccc0", "0x10003ea88: mov x19, x0", "0x10003ea8c: mov x21, #0x0", "0x10003ea90: mov x28, #0x7fefffffffffffff", "0x10003ea94: mov x0, x25", "0x10003ea98: mov x2, x21", "0x10003ea9c: bl 0x1000803c0", "0x10003eaa0: str x0, [sp, #0x30]", "0x10003eaa4: ldr x0, [sp, #0x20]", "0x10003eaa8: mov x2, x21", "0x10003eaac: bl 0x1000803c0", "0x10003eab0: str x0, [sp, #0x28]", "0x10003eab4: ldr x8, [sp, #0x30]", "0x10003eab8: cbz x8, 0x10003eb90", "0x10003eabc: ldr x8, [sp, #0x28]", "0x10003eac0: cbz x8, 0x10003eb90", "0x10003eac4: ldr x0, [sp, #0x30]", "0x10003eac8: bl 0x10007c8c0", "0x10003eacc: fmov x8, d0", "0x10003ead0: and x8, x8, #0x7fffffffffffffff", "0x10003ead4: cmp x8, x28", "0x10003ead8: b.gt 0x10003eb90", "0x10003eadc: ldr x0, [sp, #0x30]", "0x10003eae0: bl 0x10007c8e0", "0x10003eae4: fmov x8, d0", "0x10003eae8: and x8, x8, #0x7fffffffffffffff", "0x10003eaec: cmp x8, x28", "0x10003eaf0: b.gt 0x10003eb90", "0x10003eaf4: ldr x0, [sp, #0x28]", "0x10003eaf8: bl 0x10007c8c0", "0x10003eafc: fmov x8, d0", "0x10003eb00: and x8, x8, #0x7fffffffffffffff", "0x10003eb04: cmp x8, x28", "0x10003eb08: b.gt 0x10003eb90", "0x10003eb0c: ldr x0, [sp, #0x28]", "0x10003eb10: bl 0x10007c8e0", "0x10003eb14: fmov x8, d0", "0x10003eb18: and x8, x8, #0x7fffffffffffffff", "0x10003eb1c: cmp x8, x28", "0x10003eb20: b.gt 0x10003eb90", "0x10003eb24: ldr x0, [sp, #0x30]", "0x10003eb28: bl 0x10007c8c0", "0x10003eb2c: fmov d8, d0", "0x10003eb30: ldr x0, [sp, #0x28]", "0x10003eb34: bl 0x10007c8c0", "0x10003eb38: fmov d9, d0", "0x10003eb3c: ldr x0, [sp, #0x30]", "0x10003eb40: bl 0x10007c8e0", "0x10003eb44: fmov d10, d0", "0x10003eb48: ldr x0, [sp, #0x28]", "0x10003eb4c: bl 0x10007c8e0", "0x10003eb50: fsub d2, d8, d9", "0x10003eb54: fsub d1, d10, d0", "0x10003eb58: fmov d0, d2", "0x10003eb5c: bl 0x10007ad84", "0x10003eb60: ldr d1, [sp, #0x18]", "0x10003eb64: fdiv d0, d0, d1", "0x10003eb68: fmov x8, d0", "0x10003eb6c: and x8, x8, #0x7fffffffffffffff", "0x10003eb70: cmp x8, x28", "0x10003eb74: b.gt 0x10003eb90", "0x10003eb78: adrp x8, 0x1000bb000", "0x10003eb7c: ldr x0, [x8, #0xa10]", "0x10003eb80: bl 0x100080280", "0x10003eb84: mov x2, x0", "0x10003eb88: mov x0, x19", "0x10003eb8c: bl 0x10007ca00", "0x10003eb90: add x21, x21, #0x1", "0x10003eb94: cmp x21, #0x4c", "0x10003eb98: b.ne 0x10003ea94", "0x10003eb9c: mov x0, x19", "0x10003eba0: bl 0x10007d560", "0x10003eba4: cmp x0, #0x32", "0x10003eba8: b.cc 0x10003ea08", "0x10003ebac: adrp x8, 0x1000bb000", "0x10003ebb0: ldr x2, [x8, #0x998]", "0x10003ebb4: mov x0, x19", "0x10003ebb8: bl 0x100082fc0", "0x10003ebbc: mov x0, x19", "0x10003ebc0: bl 0x10007d560", "0x10003ebc4: mov x28, x0", "0x10003ebc8: mov x0, x19", "0x10003ebcc: bl 0x10007d560", "0x10003ebd0: mov x21, x0", "0x10003ebd4: mov x0, x19", "0x10003ebd8: bl 0x10007d560", "0x10003ebdc: lsr x2, x28, #0x1", "0x10003ebe0: sub x8, x21, #0x1", "0x10003ebe4: sub x9, x0, #0x1", "0x10003ebe8: ucvtf d0, x9", "0x10003ebec: adrp x9, 0x100086000", "0x10003ebf0: ldr d1, [x9, #0x138]", "0x10003ebf4: fmul d0, d0, d1", "0x10003ebf8: fcvtmu x9, d0", "0x10003ebfc: cmp x8, x9", "0x10003ec00: csel x21, x8, x9, cc", "0x10003ec04: mov x0, x19", "0x10003ec08: bl 0x1000803c0", "0x10003ec0c: bl 0x10007dac0", "0x10003ec10: fmov d8, d0", "0x10003ec14: mov x0, x19", "0x10003ec18: mov x2, x21", "0x10003ec1c: bl 0x1000803c0", "0x10003ec20: bl 0x10007dac0", "0x10003ec24: fcmp d8, d11", "0x10003ec28: cset w8, ls", "0x10003ec2c: adrp x9, 0x100086000", "0x10003ec30: ldr d1, [x9, #0x1b0]", "0x10003ec34: fcmp d0, d1", "0x10003ec38: csel w8, wzr, w8, hi", "0x10003ec3c: b 0x10003ea0c" ], "limitations": [ "Instruction text and ordering are Ghidra-specific representations.", "The fast path does not invoke the decompiler or scan whole-program names and strings.", "Ghidra Listing reports a terminal call at 0x10003e9c8 to 0x10007aca0 ___stack_chk_fail (external=false, thunk=true, hasNoReturn=true); fallthrough is excluded by Ghidra's flow model. This records Ghidra's FunctionManager flag, not an independent verification that the callee cannot return." ], "procedure": { "address": "0x10003d69c", "body": { "available": true, "contains_entry": true, "non_contiguous": false, "provenance": "ghidra-function-body-address-set", "ranges": [ { "end": "0x10003ec3f", "start": "0x10003d69c" } ], "span_bytes": 5540, "total_bytes": 5540 }, "classification": { "external": false, "provenance": "ghidra-function-manager", "thunk": false, "thunk_target": null }, "name": "MSSuperSkinSmoothingPlugIn::mss_pinStyleFacePointsForObservations:renderTime:params:trackingInputImage:preferredBox:hasPreferredBox:selectedObservationOut:strengthMultiplierOut:pointsBoxOut:usedHoldOut:" } } }, "subject": { "architecture": "arm64", "digest": { "sha256": "afc71d0d21fd3c1ca95ca745ddafcd729e36ad95f17d8638009f2e45d9b7e8df" }, "format": "mach-o", "local_path": "/Users/dayu/Documents/PaintFCP/build/body-analysis/MSE18V2-arm64", "name": "MSE18V2-arm64" } }, { "analysis_profile": { "digest": "20565088524a2d0359b9b96f46ac48e679d774c7b0092c56abc06de8fdbec11c", "parameters": { "analyzer_preset": "ghidra-default", "annotation_policy": "atomic-function-entry-metadata-v1", "architecture": "arm64", "available_architectures": [ "arm64" ], "compiler_spec_id": "auto-default", "decompiler_jump_loads": true, "function_body_evidence": "complete-inclusive-ranges-v1", "function_boundary_observations": "ghidra-terminal-call-limitations-v1", "function_references": "complete-body-and-entry-reference-manager-v2", "import_mode": "ephemeral-source-immutable", "instruction_flow_evidence": "decoded-return-pcode-v1", "jump_table_evidence": "typed-case-default-blocks-v1", "language_id": "auto-from-header", "load_image_observations": "source-mappings-entry-context-v2", "loader": "auto-from-header", "location_resolution": "explicit-address-exact-entry-symbol-first-v3", "no_return_repair": "returning-imports-decoded-return-v2", "process_launch": "inspected-jvm-launch-support-v1", "string_inventory_evidence": "defined-data-coverage-v1", "target_format": "mach-o", "target_kind": "executable" }, "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" } }, "authority": "shipped-artifact", "confidence": "observed", "environment": null, "evidence_id": "ev_4f1a9f1cfceee8ea2613e2499a4fe924449a3b3be33045fb7176fa9b7cf77db8", "evidence_links": [], "limitations": [ "The session serves operations only after Ghidra reports default auto-analysis complete; incomplete analysis does not expose partial results.", "The imported Program and temporary project are ephemeral and deleted on close. Annotation operations edit session database metadata; original executable bytes are never written.", "Cancelling an active Ghidra request terminates its ephemeral database and discards session annotations. The selected target remains open; the next provider query imports the original artifact again.", "Default-space addresses use lowercase 0x-prefixed hexadecimal; other address spaces use :0x.", "The direct address list projects exact Ghidra references to one address but does not expose their kinds; procedure_references and analyze_function preserve available kind metadata.", "Synthetic Ghidra entry-point references without actionable memory sources are omitted.", "macOS sessions require a matching executable Ghidra native decompiler; REA checks for it but does not build native components or change Gatekeeper quarantine state." ], "locations": [], "normalized_result": [ "0x10003cce4", "0x1000547b8" ], "operation": "xrefs", "parameters": { "address": "0x1000bd210" }, "predicate_type": "rea.analysis", "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" }, "raw_result": [ "0x10003cce4", "0x1000547b8" ], "subject": { "architecture": "arm64", "digest": { "sha256": "afc71d0d21fd3c1ca95ca745ddafcd729e36ad95f17d8638009f2e45d9b7e8df" }, "format": "mach-o", "local_path": "/Users/dayu/Documents/PaintFCP/build/body-analysis/MSE18V2-arm64", "name": "MSE18V2-arm64" } }, { "analysis_profile": { "digest": "20565088524a2d0359b9b96f46ac48e679d774c7b0092c56abc06de8fdbec11c", "parameters": { "analyzer_preset": "ghidra-default", "annotation_policy": "atomic-function-entry-metadata-v1", "architecture": "arm64", "available_architectures": [ "arm64" ], "compiler_spec_id": "auto-default", "decompiler_jump_loads": true, "function_body_evidence": "complete-inclusive-ranges-v1", "function_boundary_observations": "ghidra-terminal-call-limitations-v1", "function_references": "complete-body-and-entry-reference-manager-v2", "import_mode": "ephemeral-source-immutable", "instruction_flow_evidence": "decoded-return-pcode-v1", "jump_table_evidence": "typed-case-default-blocks-v1", "language_id": "auto-from-header", "load_image_observations": "source-mappings-entry-context-v2", "loader": "auto-from-header", "location_resolution": "explicit-address-exact-entry-symbol-first-v3", "no_return_repair": "returning-imports-decoded-return-v2", "process_launch": "inspected-jvm-launch-support-v1", "string_inventory_evidence": "defined-data-coverage-v1", "target_format": "mach-o", "target_kind": "executable" }, "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" } }, "authority": "shipped-artifact", "confidence": "observed", "environment": null, "evidence_id": "ev_568a93f2165e5dc5046e610f47c23e9cebc33f55b5d12d3ee005a1e99a7191f6", "evidence_links": [], "limitations": [ "The session serves operations only after Ghidra reports default auto-analysis complete; incomplete analysis does not expose partial results.", "The imported Program and temporary project are ephemeral and deleted on close. Annotation operations edit session database metadata; original executable bytes are never written.", "Cancelling an active Ghidra request terminates its ephemeral database and discards session annotations. The selected target remains open; the next provider query imports the original artifact again.", "Default-space addresses use lowercase 0x-prefixed hexadecimal; other address spaces use :0x.", "Only resolved Ghidra call references are returned; unresolved computed or indirect calls remain unknown, while function classifications distinguish thunks and externals.", "macOS sessions require a matching executable Ghidra native decompiler; REA checks for it but does not build native components or change Gatekeeper quarantine state." ], "locations": [], "normalized_result": [ "0x10002179c" ], "operation": "procedure_callers", "parameters": { "procedure": "0x10003d69c" }, "predicate_type": "rea.analysis", "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" }, "raw_result": [ "0x10002179c" ], "subject": { "architecture": "arm64", "digest": { "sha256": "afc71d0d21fd3c1ca95ca745ddafcd729e36ad95f17d8638009f2e45d9b7e8df" }, "format": "mach-o", "local_path": "/Users/dayu/Documents/PaintFCP/build/body-analysis/MSE18V2-arm64", "name": "MSE18V2-arm64" } }, { "analysis_profile": { "digest": "20565088524a2d0359b9b96f46ac48e679d774c7b0092c56abc06de8fdbec11c", "parameters": { "analyzer_preset": "ghidra-default", "annotation_policy": "atomic-function-entry-metadata-v1", "architecture": "arm64", "available_architectures": [ "arm64" ], "compiler_spec_id": "auto-default", "decompiler_jump_loads": true, "function_body_evidence": "complete-inclusive-ranges-v1", "function_boundary_observations": "ghidra-terminal-call-limitations-v1", "function_references": "complete-body-and-entry-reference-manager-v2", "import_mode": "ephemeral-source-immutable", "instruction_flow_evidence": "decoded-return-pcode-v1", "jump_table_evidence": "typed-case-default-blocks-v1", "language_id": "auto-from-header", "load_image_observations": "source-mappings-entry-context-v2", "loader": "auto-from-header", "location_resolution": "explicit-address-exact-entry-symbol-first-v3", "no_return_repair": "returning-imports-decoded-return-v2", "process_launch": "inspected-jvm-launch-support-v1", "string_inventory_evidence": "defined-data-coverage-v1", "target_format": "mach-o", "target_kind": "executable" }, "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" } }, "authority": "shipped-artifact", "confidence": "observed", "environment": null, "evidence_id": "ev_58dee36fddf4e4c98ce3d880a0bb98190351d1269c960b3ccc275aef81265e8f", "evidence_links": [], "limitations": [ "The session serves operations only after Ghidra reports default auto-analysis complete; incomplete analysis does not expose partial results.", "The imported Program and temporary project are ephemeral and deleted on close. Annotation operations edit session database metadata; original executable bytes are never written.", "Cancelling an active Ghidra request terminates its ephemeral database and discards session annotations. The selected target remains open; the next provider query imports the original artifact again.", "Default-space addresses use lowercase 0x-prefixed hexadecimal; other address spaces use :0x.", "Pseudocode is Ghidra decompiler output, not original source and not text-equivalent to Hopper output.", "External functions and functions without an analyzable body return null; other decompiler failures remain explicit.", "Ghidra Listing reports a terminal call at 0x10003e9c8 to 0x10007aca0 ___stack_chk_fail (external=false, thunk=true, hasNoReturn=true); fallthrough is excluded by Ghidra's flow model. This records Ghidra's FunctionManager flag, not an independent verification that the callee cannot return.", "macOS sessions require a matching executable Ghidra native decompiler; REA checks for it but does not build native components or change Gatekeeper quarantine state." ], "locations": [], "normalized_result": "\n/* WARNING: Function: _objc_release replaced with injection: _objc_release_fixup */\n/* WARNING: Function: _objc_retain replaced with injection: _objc_retain_fixup */\n/* WARNING: Function: _objc_autorelease replaced with injection: _objc_retain_fixup */\n/* Function Stack Size: 0x84 bytes */\n\nID MSSuperSkinSmoothingPlugIn::\n mss_pinStyleFacePointsForObservations_renderTime_params_trackingInputImage_preferredBox_hasPreferredBox_selectedObservationOut_strengthMultiplierOut_pointsBoxOut_usedHoldOut_\n (ID param_1,SEL param_2,ID param_3,AnonymousStructure0 param_4,\n const_AnonymousStructure7__ param_5,ID param_6,CGRect param_7,bool param_8,ID *param_9,\n double *param_10,CGRect *param_11,bool *param_12)\n\n{\n bool bVar1;\n bool bVar2;\n byte bVar3;\n undefined1 auVar4 [16];\n bool bVar5;\n long_long lVar6;\n long_long lVar7;\n undefined1 auVar8 [16];\n undefined1 auVar9 [16];\n undefined1 auVar10 [16];\n undefined *puVar11;\n bool bVar12;\n int iVar13;\n AnonymousStructure0 *pAVar14;\n AnonymousStructure0 *extraout_x0;\n AnonymousStructure0 *extraout_x0_00;\n ulong uVar15;\n ID IVar16;\n ID IVar17;\n ulong extraout_x0_01;\n ID IVar18;\n ID IVar19;\n ID IVar20;\n ID IVar21;\n long_long *plVar22;\n undefined1 uVar23;\n double *pdVar24;\n ID IVar25;\n byte bVar26;\n long lVar27;\n ulong uVar28;\n bool bVar29;\n float extraout_s0;\n undefined8 in_d0;\n double dVar30;\n double dVar31;\n double dVar32;\n double dVar33;\n double dVar34;\n undefined8 uVar35;\n undefined8 uVar36;\n undefined8 uVar37;\n ulong extraout_d0;\n ulong extraout_d0_00;\n ulong extraout_d0_01;\n ulong extraout_d0_02;\n double extraout_d0_03;\n double extraout_d0_04;\n double extraout_d0_05;\n double extraout_d0_06;\n double extraout_d0_07;\n long lVar39;\n undefined1 auVar38 [16];\n undefined1 extraout_q0 [16];\n undefined8 in_d1;\n double dVar40;\n undefined1 auVar41 [16];\n double in_d2;\n double in_d3;\n double dVar42;\n undefined8 uVar43;\n undefined8 uVar44;\n double dVar45;\n undefined8 uVar46;\n double dVar47;\n undefined8 uVar48;\n undefined8 uVar49;\n undefined8 uVar50;\n CGRect CVar51;\n undefined1 auVar52 [16];\n undefined1 auVar53 [16];\n undefined1 auVar54 [16];\n undefined1 auVar55 [16];\n double local_260;\n long local_258;\n undefined8 local_240;\n undefined8 uStack_238;\n double local_230;\n double dStack_228;\n double local_220;\n double dStack_218;\n double local_200;\n double local_1f8;\n undefined8 local_1f0;\n undefined8 local_1e8;\n undefined8 local_1e0;\n undefined8 local_1d8;\n undefined8 local_1d0;\n undefined8 local_1c8;\n undefined8 local_1c0;\n long lStack_1b8;\n long *local_1b0;\n undefined8 uStack_1a8;\n undefined8 local_1a0;\n undefined8 uStack_198;\n undefined8 uStack_190;\n undefined8 uStack_188;\n double local_180;\n double dStack_178;\n double local_170;\n double dStack_168;\n double local_160;\n double dStack_158;\n double local_150;\n double dStack_148;\n double local_140;\n double dStack_138;\n AnonymousStructure0 local_130 [5];\n long local_b0;\n \n IVar18 = param_4.field3_0x10;\n lVar27 = param_4._8_8_;\n plVar22 = (long_long *)param_4.field0_0x0;\n local_b0 = *(long *)PTR____stack_chk_guard_1000a80e8;\n FUN_10002a428();\n if (lVar27 == 0) {\n bVar3 = 0;\n local_258 = 0;\n auVar55 = NEON_fmov(0x3fe0000000000000,8);\n dStack_218 = auVar55._8_8_;\n local_220 = auVar55._0_8_;\n }\n else {\n bVar3 = *(byte *)(lVar27 + 0xf8);\n dStack_218 = SUB168(*(undefined1 (*) [16])(lVar27 + 0x100),8);\n local_220 = SUB168(*(undefined1 (*) [16])(lVar27 + 0x100),0);\n local_258 = *(long *)(lVar27 + 0x168);\n }\n pAVar14 = (AnonymousStructure0 *)objc_stub::lock(*(ID *)(param_1 + 0x28));\n if (*(char *)(param_1 + 0x3b0) == '\\x01') {\n if (((*(uint *)((long)plVar22 + 0xc) & 0x1d) == 1) && ((*(uint *)(param_1 + 0x3a4) & 0x1d) == 1)\n ) {\n local_130[0].field0_0x0 = *plVar22;\n local_130[0]._8_8_ = plVar22[1];\n local_130[0].field3_0x10 = plVar22[2];\n local_1c0 = *(undefined8 *)(param_1 + 0x398);\n lStack_1b8 = *(long *)(param_1 + 0x3a0);\n local_1b0 = *(long **)(param_1 + 0x3a8);\n pAVar14 = local_130;\n _CMTimeCompare(pAVar14,&local_1c0);\n if ((int)pAVar14 < 0) {\n pAVar14 = (AnonymousStructure0 *)0x0;\n bVar1 = false;\n *(undefined8 *)(param_1 + 0x370) = 0;\n puVar11 = PTR__kCMTimeInvalid_1000a8208;\n uVar46 = *(undefined8 *)PTR__CGRectZero_1000a8150;\n uVar48 = *(undefined8 *)(PTR__CGRectZero_1000a8150 + 0x10);\n uVar49 = *(undefined8 *)(PTR__CGRectZero_1000a8150 + 0x18);\n *(undefined8 *)(param_1 + 0x380) = *(undefined8 *)(PTR__CGRectZero_1000a8150 + 8);\n *(undefined8 *)(param_1 + 0x378) = uVar46;\n *(undefined8 *)(param_1 + 0x390) = uVar49;\n *(undefined8 *)(param_1 + 0x388) = uVar48;\n uVar46 = *(undefined8 *)puVar11;\n *(undefined8 *)(param_1 + 0x3a0) = *(undefined8 *)(puVar11 + 8);\n *(undefined8 *)(param_1 + 0x398) = uVar46;\n *(undefined8 *)(param_1 + 0x3a8) = *(undefined8 *)(puVar11 + 0x10);\n *(undefined1 *)(param_1 + 0x3b0) = 0;\n goto LAB_10003d868;\n }\n if ((*(byte *)(param_1 + 0x3b0) & 1) != 0) goto LAB_10003d7b8;\n }\n else {\nLAB_10003d7b8:\n pAVar14 = (AnonymousStructure0 *)objc_stub::count(*(ID *)(param_1 + 0x370));\n if ((AnonymousStructure0 *)0x4c < pAVar14) {\n uVar46 = *(undefined8 *)(param_1 + 0x378);\n uVar48 = *(undefined8 *)(param_1 + 0x380);\n uVar49 = *(undefined8 *)(param_1 + 0x388);\n uVar50 = *(undefined8 *)(param_1 + 0x390);\n _CGRectIsNull(uVar46,uVar48,uVar49,uVar50);\n if (((((ulong)pAVar14 & 1) == 0) &&\n (_CGRectIsEmpty(uVar46,uVar48,uVar49,uVar50), ((ulong)pAVar14 & 1) == 0)) &&\n (dVar30 = (double)_CGRectGetWidth(uVar46,uVar48,uVar49,uVar50),\n 2.220446049250313e-16 < dVar30)) {\n dVar30 = (double)_CGRectGetHeight(uVar46,uVar48,uVar49,uVar50);\n bVar1 = 2.220446049250313e-16 < dVar30;\n goto LAB_10003d868;\n }\n }\n }\n bVar1 = false;\n }\n else {\n bVar1 = false;\n }\nLAB_10003d868:\n uVar48 = *(undefined8 *)PTR__CGRectNull_1000a8148;\n uVar46 = *(undefined8 *)(PTR__CGRectNull_1000a8148 + 8);\n auVar55 = *(undefined1 (*) [16])PTR__CGRectNull_1000a8148;\n auVar52 = *(undefined1 (*) [16])PTR__CGRectNull_1000a8148;\n auVar9 = *(undefined1 (*) [16])PTR__CGRectNull_1000a8148;\n dVar40 = *(double *)*(undefined1 (*) [16])(PTR__CGRectNull_1000a8148 + 0x10);\n dVar30 = *(double *)(PTR__CGRectNull_1000a8148 + 0x18);\n auVar10 = *(undefined1 (*) [16])(PTR__CGRectNull_1000a8148 + 0x10);\n dVar31 = (double)_hypot(local_220 - *(double *)(param_1 + 0x3b8),\n dStack_218 - *(double *)(param_1 + 0x3c0));\n local_1f8 = dVar40;\n local_200 = dVar30;\n if (((bVar3 & 1) == 0) ||\n (((*(char *)(param_1 + 0x3b1) == '\\x01' &&\n ((local_258 < 1 || (local_258 <= *(long *)(param_1 + 0x3c8))))) &&\n ((0x7fefffffffffffff < (ulong)ABS(dVar31) || (dVar31 <= 0.01)))))) {\n if (IVar18 == 0) {\n bVar26 = 0;\n goto joined_r0x00010003d9d0;\n }\n local_130[0].field0_0x0 = *plVar22;\n local_130[0]._8_8_ = plVar22[1];\n local_130[0].field3_0x10 = plVar22[2];\n CVar51 = trackedFaceBoxForInputImage_renderTime_selectedObservation_shouldTrack_\n (param_1,IVar18,local_130,0,1);\n local_200 = CVar51.field1_0x10.field1_0x8;\n local_1f8 = CVar51.field1_0x10.field0_0x0;\n pAVar14 = extraout_x0_00;\n auVar55 = FUN_10002d838(CVar51.field0_0x0.field0_0x0,CVar51.field0_0x0.field1_0x8);\n uVar50 = auVar55._8_8_;\n uVar49 = auVar55._0_8_;\n _CGRectIsNull(uVar49,uVar50,local_1f8,local_200);\n if (((((ulong)pAVar14 & 1) != 0) ||\n (_CGRectIsEmpty(uVar49,uVar50,local_1f8,local_200), ((ulong)pAVar14 & 1) != 0)) ||\n (dVar31 = (double)_CGRectGetWidth(uVar49,uVar50,local_1f8,local_200),\n dVar31 <= 2.220446049250313e-16)) {\n bVar26 = 0;\n goto joined_r0x00010003d9d0;\n }\n dVar31 = (double)_CGRectGetHeight(uVar49,uVar50,local_1f8,local_200);\n bVar26 = 0;\n bVar2 = 2.220446049250313e-16 < dVar31;\n if ((int)param_5 == 0) goto LAB_10003d9d4;\nLAB_10003da1c:\n _CGRectIsNull();\n if (((((ulong)pAVar14 & 1) != 0) || (_CGRectIsEmpty(), ((ulong)pAVar14 & 1) != 0)) ||\n (dVar31 = (double)_CGRectGetWidth(), dVar31 <= 2.220446049250313e-16)) {\n bVar29 = false;\nLAB_10003daa4:\n if (bVar1) {\n uVar49 = *(undefined8 *)(param_1 + 0x378);\n dVar31 = *(double *)(param_1 + 0x390);\n dVar45 = *(double *)(param_1 + 0x388);\n uVar50 = *(undefined8 *)(param_1 + 0x380);\nLAB_10003dac0:\n _CGRectIsNull(uVar49,uVar50,dVar45,dVar31);\n if (((((ulong)pAVar14 & 1) != 0) ||\n (_CGRectIsEmpty(uVar49,uVar50,dVar45,dVar31), ((ulong)pAVar14 & 1) != 0)) ||\n (dVar47 = (double)_CGRectGetWidth(uVar49,uVar50,dVar45,dVar31),\n dVar47 <= 2.220446049250313e-16)) goto LAB_10003db3c;\n dVar31 = (double)_CGRectGetHeight(uVar49,uVar50,dVar45,dVar31);\n bVar29 = 2.220446049250313e-16 < dVar31;\n }\n }\n else {\n dVar31 = (double)_CGRectGetHeight();\n bVar29 = 2.220446049250313e-16 < dVar31;\n if (dVar31 <= 2.220446049250313e-16) goto LAB_10003daa4;\n }\n }\n else {\n local_130[0].field0_0x0 = *plVar22;\n local_130[0]._8_8_ = plVar22[1];\n local_130[0].field3_0x10 = plVar22[2];\n trackedFaceBoxForInputImage_renderTime_selectedObservation_shouldTrack_(param_1,0,local_130,0,0)\n ;\n bVar26 = 1;\n pAVar14 = extraout_x0;\n auVar55 = auVar52;\njoined_r0x00010003d9d0:\n bVar2 = false;\n if ((int)param_5 != 0) goto LAB_10003da1c;\nLAB_10003d9d4:\n in_d0 = *(undefined8 *)(param_1 + 0x378);\n in_d1 = *(undefined8 *)(param_1 + 0x380);\n in_d2 = *(double *)(param_1 + 0x388);\n in_d3 = *(double *)(param_1 + 0x390);\n uVar49 = in_d0;\n dVar31 = in_d3;\n dVar45 = in_d2;\n uVar50 = in_d1;\n if (bVar1) goto LAB_10003dac0;\nLAB_10003db3c:\n bVar29 = false;\n }\n auVar53._8_8_ = in_d1;\n auVar53._0_8_ = in_d0;\n dVar31 = local_1f8;\n dVar45 = local_200;\n auVar52 = auVar55;\n if (!bVar2) {\n dVar31 = in_d2;\n dVar45 = in_d3;\n auVar52 = auVar53;\n }\n uVar50 = auVar52._8_8_;\n uVar49 = auVar52._0_8_;\n IVar17 = param_3;\n local_230 = dVar40;\n dStack_228 = dVar30;\n auVar53 = auVar9;\n if (bVar26 == 0 && bVar29) {\n if (lVar27 == 0) {\n dVar47 = 1.5;\n }\n else {\n dVar47 = *(double *)(lVar27 + 0xf0);\n }\n uVar15 = objc_stub::count(param_3);\n if (((uVar15 == 0) || (_CGRectIsNull(in_d0,in_d1,in_d2,in_d3), (uVar15 & 1) != 0)) ||\n ((_CGRectIsEmpty(in_d0,in_d1,in_d2,in_d3), (uVar15 & 1) != 0 ||\n ((dVar32 = (double)_CGRectGetWidth(in_d0,in_d1,in_d2,in_d3), dVar32 <= 2.220446049250313e-16\n || (dVar32 = (double)_CGRectGetHeight(in_d0,in_d1,in_d2,in_d3),\n dVar32 <= 2.220446049250313e-16)))))) {\n IVar17 = 0;\n }\n else {\n dVar32 = 4.0;\n if (dVar47 <= 4.0) {\n dVar32 = dVar47;\n }\n dVar33 = 1.0;\n if (1.0 <= dVar47) {\n dVar33 = dVar32;\n }\n auVar53 = FUN_10002c6b8(in_d0,in_d1,in_d2,in_d3,dVar33);\n uVar43 = auVar53._8_8_;\n uVar37 = auVar53._0_8_;\n _CGRectIsNull(uVar37,uVar43,in_d2,in_d3);\n if (((((uVar15 & 1) != 0) || (_CGRectIsEmpty(uVar37,uVar43,in_d2,in_d3), (uVar15 & 1) != 0))\n || (dVar47 = (double)_CGRectGetWidth(uVar37,uVar43,in_d2,in_d3),\n dVar47 <= 2.220446049250313e-16)) ||\n (dVar47 = in_d2, dVar32 = in_d3,\n dVar33 = (double)_CGRectGetHeight(uVar37,uVar43,in_d2,in_d3),\n dVar33 <= 2.220446049250313e-16)) {\n IVar17 = 0;\n local_230 = in_d2;\n dStack_228 = in_d3;\n }\n else {\n IVar16 = NSMutableArray::array((ID)&_OBJC_CLASS___NSMutableArray);\n uStack_198 = 0;\n local_1a0 = 0;\n uStack_188 = 0;\n uStack_190 = 0;\n lStack_1b8 = 0;\n local_1c0 = 0;\n uStack_1a8 = 0;\n local_1b0 = (long *)0x0;\n IVar17 = objc_stub::countByEnumeratingWithState_objects_count_\n (param_3,&local_1c0,local_130,0x10);\n if (IVar17 != 0) {\n lVar27 = *local_1b0;\n do {\n IVar25 = 0;\n do {\n dVar33 = dVar47;\n dVar42 = dVar32;\n if (*local_1b0 != lVar27) {\n _objc_enumerationMutation(param_3);\n dVar33 = dVar47;\n dVar42 = dVar32;\n }\n uVar28 = *(ulong *)(lStack_1b8 + IVar25 * 8);\n uVar15 = uVar28;\n auVar54 = FUN_100029d20();\n uVar44 = auVar54._8_8_;\n uVar36 = auVar54._0_8_;\n dVar47 = dVar33;\n dVar32 = dVar42;\n _CGRectIsNull();\n if ((uVar15 & 1) == 0) {\n dVar47 = dVar33;\n dVar32 = dVar42;\n _CGRectIsEmpty(uVar36,uVar44,dVar33,dVar42);\n iVar13 = (int)uVar15;\n if ((((uVar15 & 1) == 0) &&\n (dVar47 = dVar33, dVar32 = dVar42,\n dVar34 = (double)_CGRectGetWidth(uVar36,uVar44), 2.220446049250313e-16 < dVar34)\n ) && (dVar47 = dVar33, dVar32 = dVar42,\n dVar34 = (double)_CGRectGetHeight(uVar36,uVar44),\n 2.220446049250313e-16 < dVar34)) {\n uVar35 = _CGRectGetMidX(uVar36,uVar44,dVar33,dVar42);\n uVar36 = _CGRectGetMidY(uVar36,uVar44,dVar33,dVar42);\n dVar47 = in_d2;\n dVar32 = in_d3;\n _CGRectContainsPoint(uVar37,uVar43,in_d2,in_d3,uVar35,uVar36);\n if (iVar13 != 0) {\n NSMutableArray::addObject_(IVar16,uVar28);\n }\n }\n }\n IVar25 = IVar25 + 1;\n } while (IVar17 != IVar25);\n IVar17 = objc_stub::countByEnumeratingWithState_objects_count_\n (param_3,&local_1c0,local_130,0x10);\n } while (IVar17 != 0);\n }\n IVar25 = NSMutableArray::count(IVar16);\n IVar17 = 0;\n local_230 = in_d2;\n dStack_228 = in_d3;\n if (IVar25 != 0) {\n IVar17 = IVar16;\n }\n }\n }\n NSMutableArray::count(IVar17);\n }\n uStack_238 = auVar53._8_8_;\n local_240 = auVar53._0_8_;\n IVar16 = NSMutableArray::count(IVar17);\n if (IVar16 == 0) {\nLAB_10003e040:\n IVar16 = 0;\n IVar25 = 0;\n auVar53 = auVar9;\n auVar52 = auVar10;\n }\n else {\n IVar16 = IVar17;\n if ((bVar3 & bVar26) == 1) {\n FUN_10003ec44(local_220,dStack_218,uVar48,uVar46,dVar40,dVar30,IVar17,0);\n auVar52._8_8_ = uVar46;\n auVar52._0_8_ = uVar48;\n }\n else if (bVar2 || bVar29) {\n uVar46 = _CGRectGetMidX(uVar49,uVar50,dVar31,dVar45);\n uVar48 = _CGRectGetMidY(uVar49,uVar50,dVar31,dVar45);\n FUN_10003ec44(uVar46,uVar48,uVar49,uVar50,dVar31,dVar45,IVar17,1);\n }\n else if ((bVar3 & 1) == 0) {\n FUN_10003f020(uVar48,uVar46);\n auVar52._8_8_ = dVar30;\n auVar52._0_8_ = dVar40;\n }\n else {\n FUN_10003ec44(local_220,dStack_218,uVar48,uVar46,dVar40,dVar30,IVar17,0);\n auVar52._8_8_ = uVar46;\n auVar52._0_8_ = uVar48;\n }\n IVar25 = IVar16;\n FUN_100029a00();\n auVar53 = FUN_100029d20(IVar16);\n uVar50 = auVar52._8_8_;\n uVar49 = auVar52._0_8_;\n uVar48 = auVar53._8_8_;\n uVar46 = auVar53._0_8_;\n uVar15 = objc_stub::count(IVar25);\n if (((uVar15 < 0x4d) || (_CGRectIsNull(uVar46,uVar48,uVar49,uVar50), (uVar15 & 1) != 0)) ||\n ((_CGRectIsEmpty(uVar46,uVar48,uVar49,uVar50), (uVar15 & 1) != 0 ||\n ((dVar30 = (double)_CGRectGetWidth(uVar46,uVar48,uVar49,uVar50),\n dVar30 <= 2.220446049250313e-16 ||\n (dVar30 = (double)_CGRectGetHeight(uVar46,uVar48,uVar49,uVar50),\n dVar30 <= 2.220446049250313e-16)))))) goto LAB_10003e040;\n if (((IVar18 != 0) && (IVar16 != 0)) && (!bVar2)) {\n local_130[0].field0_0x0 = *plVar22;\n local_130[0]._8_8_ = plVar22[1];\n local_130[0].field3_0x10 = plVar22[2];\n CVar51 = trackedFaceBoxForInputImage_renderTime_selectedObservation_shouldTrack_\n (param_1,IVar18,local_130,IVar16,1);\n local_200 = CVar51.field1_0x10.field1_0x8;\n local_1f8 = CVar51.field1_0x10.field0_0x0;\n uVar15 = extraout_x0_01;\n auVar55 = FUN_10002d838(CVar51.field0_0x0.field0_0x0,CVar51.field0_0x0.field1_0x8);\n uVar48 = auVar55._8_8_;\n uVar46 = auVar55._0_8_;\n _CGRectIsNull(uVar46,uVar48,local_1f8,local_200);\n if ((((uVar15 & 1) != 0) ||\n (_CGRectIsEmpty(uVar46,uVar48,local_1f8,local_200), (uVar15 & 1) != 0)) ||\n (dVar30 = (double)_CGRectGetWidth(uVar46,uVar48,local_1f8,local_200),\n dVar30 <= 2.220446049250313e-16)) {\n bVar2 = false;\n }\n else {\n dVar30 = (double)_CGRectGetHeight(uVar46,uVar48,local_1f8,local_200);\n bVar2 = 2.220446049250313e-16 < dVar30;\n }\n }\n }\n auVar54._8_8_ = local_200;\n auVar54._0_8_ = local_1f8;\n uVar46 = auVar52._8_8_;\n uVar48 = auVar52._0_8_;\n uVar49 = auVar53._8_8_;\n uVar50 = auVar53._0_8_;\n local_1f0 = auVar55._8_8_;\n local_1e8 = auVar55._0_8_;\n IVar18 = objc_stub::count(IVar25);\n if (((0x4c < IVar18) && (_CGRectIsNull(uVar50,uVar49,uVar48,uVar46), (IVar18 & 1) == 0)) &&\n ((_CGRectIsEmpty(uVar50,uVar49,uVar48,uVar46), (IVar18 & 1) == 0 &&\n ((dVar30 = (double)_CGRectGetWidth(uVar50,uVar49,uVar48,uVar46),\n 2.220446049250313e-16 < dVar30 &&\n (dVar30 = (double)_CGRectGetHeight(uVar50,uVar49,uVar48,uVar46),\n 2.220446049250313e-16 < dVar30)))))) {\n IVar19 = objc_stub::landmarks(IVar16);\n IVar20 = objc_stub::allPoints(IVar19);\n uVar15 = objc_stub::faceContour(IVar19);\n IVar18 = uVar15;\n if ((IVar16 != 0) &&\n (((IVar19 != 0 && (IVar20 != 0)) && (IVar18 = objc_stub::pointCount(IVar20), 0x4b < IVar18)))\n ) {\n IVar21 = objc_stub::normalizedPoints(IVar20);\n IVar18 = 0;\n if ((IVar21 != 0) && (IVar18 = objc_stub::pointCount(uVar15), 10 < IVar18)) {\n IVar18 = objc_stub::normalizedPoints(IVar20);\n pdVar24 = (double *)(IVar18 + 8);\n lVar27 = 0x4c;\n do {\n dVar30 = pdVar24[-1];\n if (0x7fefffffffffffff < (ulong)ABS(dVar30)) goto LAB_10003e130;\n dVar31 = *pdVar24;\n if (((1.35 < dVar31) || (dVar31 < -0.35)) ||\n ((1.35 < dVar30 || ((dVar30 < -0.35 || (0x7fefffffffffffff < (ulong)ABS(dVar31)))))))\n goto LAB_10003e130;\n pdVar24 = pdVar24 + 2;\n lVar27 = lVar27 + -1;\n } while (lVar27 != 0);\n dStack_178 = SUB168(*(undefined1 (*) [16])PTR__CGPointZero_1000a8140,8);\n local_180 = SUB168(*(undefined1 (*) [16])PTR__CGPointZero_1000a8140,0);\n local_170 = local_180;\n dStack_168 = dStack_178;\n local_160 = local_180;\n dStack_158 = dStack_178;\n local_150 = local_180;\n dStack_148 = dStack_178;\n local_140 = local_180;\n dStack_138 = dStack_178;\n IVar18 = objc_stub::leftEye(IVar19);\n FUN_1000547c8(IVar18,&local_140);\n if ((int)IVar18 != 0) {\n IVar18 = objc_stub::rightEye(IVar19);\n FUN_1000547c8(IVar18,&local_150);\n if ((int)IVar18 != 0) {\n IVar18 = objc_stub::nose(IVar19);\n FUN_1000547c8(IVar18,&local_160);\n if ((int)IVar18 != 0) {\n IVar18 = objc_stub::outerLips(IVar19);\n FUN_1000547c8(IVar18,&local_170);\n if (((int)IVar18 != 0) &&\n (FUN_1000548d0(uVar15,&local_180), IVar18 = uVar15, (uVar15 & 1) != 0)) {\n objc_stub::confidence(IVar19);\n IVar19 = objc_stub::precisionEstimatesPerPoint(IVar20);\n IVar18 = objc_stub::count(IVar19);\n if (0x4b < IVar18) {\n uStack_198 = 0;\n local_1a0 = 0;\n uStack_188 = 0;\n uStack_190 = 0;\n lStack_1b8 = 0;\n local_1c0 = 0;\n uStack_1a8 = 0;\n local_1b0 = (long *)0x0;\n IVar20 = objc_stub::countByEnumeratingWithState_objects_count_\n (IVar19,&local_1c0,local_130,0x10);\n IVar18 = 0;\n if (IVar20 != 0) {\n lVar27 = *local_1b0;\n do {\n IVar18 = 0;\n do {\n if (*local_1b0 != lVar27) {\n _objc_enumerationMutation(IVar19);\n }\n objc_stub::doubleValue(*(ID *)(lStack_1b8 + IVar18 * 8));\n IVar18 = IVar18 + 1;\n } while (IVar20 != IVar18);\n IVar20 = objc_stub::countByEnumeratingWithState_objects_count_\n (IVar19,&local_1c0,local_130,0x10);\n IVar18 = 0;\n } while (IVar20 != 0);\n }\n }\n dVar40 = (local_140 + local_150) * 0.5;\n dVar45 = (dStack_138 + dStack_148) * 0.5;\n local_260 = local_150 - local_140;\n dVar31 = dStack_148 - dStack_138;\n dVar30 = (double)_hypot();\n bVar29 = 2.220446049250313e-16 < dVar30;\n bVar5 = (ulong)ABS(dVar30) < 0x7ff0000000000000;\n if (bVar29 && bVar5) {\n local_260 = local_260 / dVar30;\n dVar31 = dVar31 / dVar30;\n }\n dVar32 = local_260;\n dVar47 = -dVar31;\n if (0.0 <= -(local_260 * (dStack_168 - dVar45)) + dVar31 * (local_170 - dVar40)) {\n dVar32 = -local_260;\n dVar47 = dVar31;\n }\n dVar33 = (dStack_168 - dVar45) * dVar32 + dVar47 * (local_170 - dVar40);\n dVar42 = (dStack_158 - dVar45) * dVar32 + dVar47 * (local_160 - dVar40);\n bVar12 = true;\n if ((0.08 <= dVar33 && (bVar29 && bVar5)) &&\n (0.06 <= (dStack_178 - dStack_168) * dVar32 + dVar47 * (local_180 - local_170)))\n {\n bVar12 = (dStack_178 - dVar45) * dVar32 + dVar47 * (local_180 - dVar40) < 0.2;\n }\n if (!(bool)(((double)extraout_s0 < 0.55 ||\n 0x7fefffffffffffff < (ulong)ABS((double)extraout_s0)) | bVar12)) {\n dVar31 = dVar31 * (dStack_178 - dVar45) + local_260 * (local_180 - dVar40);\n bVar29 = ((bVar29 && bVar5) &&\n (0.1 <= dVar30 &&\n ((-0.12 <= dVar42 && (bVar29 && bVar5)) && dVar42 <= dVar33 + 0.16))) &&\n (dVar31 <= dVar30 * 0.5 + 0.3 && -0.3 - dVar30 * 0.5 <= dVar31);\n if (bVar26 != 0 || !(bool)(bVar29 & bVar1)) goto LAB_10003e134;\n IVar19 = *(ID *)(param_1 + 0x370);\n uVar43 = *(undefined8 *)(param_1 + 0x378);\n uVar36 = *(undefined8 *)(param_1 + 0x380);\n uVar44 = *(undefined8 *)(param_1 + 0x388);\n uVar37 = *(undefined8 *)(param_1 + 0x390);\n IVar18 = objc_stub::count(IVar25);\n if ((((((IVar18 < 0x4d) || (IVar18 = objc_stub::count(IVar19), IVar18 < 0x4d)) ||\n (_CGRectIsNull(uVar50,uVar49,uVar48,uVar46), (IVar18 & 1) != 0)) ||\n ((_CGRectIsEmpty(uVar50,uVar49,uVar48,uVar46), (IVar18 & 1) != 0 ||\n (dVar30 = (double)_CGRectGetWidth(uVar50,uVar49,uVar48,uVar46),\n dVar30 <= 2.220446049250313e-16)))) ||\n (dVar30 = (double)_CGRectGetHeight(uVar50,uVar49,uVar48,uVar46),\n dVar30 <= 2.220446049250313e-16)) ||\n (((_CGRectIsNull(uVar43,uVar36,uVar44,uVar37), (IVar18 & 1) != 0 ||\n (_CGRectIsEmpty(uVar43,uVar36,uVar44,uVar37), (IVar18 & 1) != 0)) ||\n ((dVar30 = (double)_CGRectGetWidth(uVar43,uVar36,uVar44,uVar37),\n dVar30 <= 2.220446049250313e-16 ||\n ((dVar30 = (double)_CGRectGetHeight(uVar43,uVar36,uVar44,uVar37),\n dVar30 <= 2.220446049250313e-16 ||\n (FUN_1000549d4(uVar50,uVar49,uVar48,uVar46,uVar43,uVar36,uVar44,uVar37),\n (int)IVar18 == 0)))))))) goto LAB_10003e134;\n local_130[0].field0_0x0 = 0x7ff8000000000000;\n local_1c0 = 0x7ff8000000000000;\n local_140 = NAN;\n IVar18 = IVar25;\n FUN_100043338(uVar50,uVar49,uVar48,uVar46,uVar43,uVar36,uVar44,uVar37,IVar25,\n IVar19,local_130,&local_1c0,&local_140);\n if ((IVar18 & 1) == 0) {\n FUN_10001ab3c(uVar43,uVar36,uVar44,uVar37,uVar50,uVar49,uVar48,uVar46);\n IVar18 = objc_stub::count(IVar19);\n if (IVar18 < 0x4d) {\nLAB_10003ea08:\n bVar5 = true;\n }\n else {\n dVar31 = (double)_CGRectGetWidth(uVar50,uVar49,uVar48,uVar46);\n dVar30 = (double)_CGRectGetHeight(uVar50,uVar49,uVar48,uVar46);\n if (dVar30 <= dVar31) {\n dVar30 = dVar31;\n }\n bVar5 = true;\n if ((2.220446049250313e-16 < dVar30) &&\n ((ulong)ABS(dVar30) < 0x7ff0000000000000)) {\n IVar20 = NSMutableArray::arrayWithCapacity_\n ((ID)&_OBJC_CLASS___NSMutableArray,0x4c);\n lVar27 = 0;\n do {\n IVar18 = objc_stub::objectAtIndexedSubscript_(IVar25,lVar27);\n IVar21 = objc_stub::objectAtIndexedSubscript_(IVar19,lVar27);\n if ((((IVar18 != 0) && (IVar21 != 0)) &&\n (objc_stub::X(IVar18),\n (extraout_d0 & 0x7fffffffffffffff) < 0x7ff0000000000000)) &&\n (((objc_stub::Y(IVar18),\n (extraout_d0_00 & 0x7fffffffffffffff) < 0x7ff0000000000000 &&\n (objc_stub::X(IVar21),\n (extraout_d0_01 & 0x7fffffffffffffff) < 0x7ff0000000000000)) &&\n (objc_stub::Y(IVar21),\n (extraout_d0_02 & 0x7fffffffffffffff) < 0x7ff0000000000000)))) {\n objc_stub::X(IVar18);\n objc_stub::X(IVar21);\n objc_stub::Y(IVar18);\n objc_stub::Y(IVar21);\n dVar31 = (double)_hypot(extraout_d0_03 - extraout_d0_04,\n extraout_d0_05 - extraout_d0_06);\n if ((ulong)ABS(dVar31 / dVar30) < 0x7ff0000000000000) {\n IVar18 = NSNumber::numberWithDouble_((ID)&_OBJC_CLASS___NSNumber);\n NSMutableArray::addObject_(IVar20,IVar18);\n }\n }\n lVar27 = lVar27 + 1;\n } while (lVar27 != 0x4c);\n IVar18 = NSMutableArray::count(IVar20);\n if (IVar18 < 0x32) goto LAB_10003ea08;\n NSMutableArray::sortUsingSelector_(IVar20,\"compare:\");\n IVar18 = NSMutableArray::count(IVar20);\n IVar19 = NSMutableArray::count(IVar20);\n IVar21 = NSMutableArray::count(IVar20);\n uVar28 = (ulong)((double)(IVar21 - 1) * 0.9);\n uVar15 = IVar19 - 1;\n if (uVar28 <= IVar19 - 1) {\n uVar15 = uVar28;\n }\n IVar18 = NSMutableArray::objectAtIndexedSubscript_(IVar20,IVar18 >> 1);\n NSMutableArray::doubleValue(IVar18);\n IVar18 = NSMutableArray::objectAtIndexedSubscript_(IVar20,uVar15);\n IVar18 = NSMutableArray::doubleValue(IVar18);\n bVar5 = extraout_q0._0_8_ <= 0.58 && extraout_d0_07 <= 0.3;\n }\n }\n }\n else {\n bVar5 = false;\n }\n bVar29 = (bool)(bVar29 & bVar5);\n goto LAB_10003e134;\n }\n }\n }\n }\n }\n }\n }\n }\nLAB_10003e130:\n bVar29 = false;\nLAB_10003e134:\n if ((bVar3 & 1) == 0) {\n uVar23 = 0;\n }\n else {\n auVar8._8_8_ = dStack_218;\n auVar8._0_8_ = local_220;\n lVar27 = -(ulong)(local_220 < 0.0);\n lVar39 = -(ulong)(dStack_218 < 0.0);\n auVar41 = NEON_fmov(0x3ff0000000000000,8);\n auVar4._8_8_ = -(ulong)(auVar41._8_8_ < dStack_218);\n auVar4._0_8_ = -(ulong)(auVar41._0_8_ < local_220);\n auVar41 = auVar41 ^ (auVar41 ^ auVar8) & ~auVar4;\n auVar38._0_8_ =\n CONCAT17(auVar41[7] & ~(byte)((ulong)lVar27 >> 0x38),\n CONCAT16(auVar41[6] & ~(byte)((ulong)lVar27 >> 0x30),\n CONCAT15(auVar41[5] & ~(byte)((ulong)lVar27 >> 0x28),\n CONCAT14(auVar41[4] & ~(byte)((ulong)lVar27 >> 0x20),\n CONCAT13(auVar41[3] & ~(byte)((ulong)lVar27 >> 0x18),\n CONCAT12(auVar41[2] &\n ~(byte)((ulong)lVar27 >> 0x10),\n CONCAT11(auVar41[1] &\n ~(byte)((ulong)lVar27 >> 8),\n auVar41[0] & ~(byte)lVar27))\n )))));\n auVar38[8] = auVar41[8] & ~(byte)lVar39;\n auVar38[9] = auVar41[9] & ~(byte)((ulong)lVar39 >> 8);\n auVar38[10] = auVar41[10] & ~(byte)((ulong)lVar39 >> 0x10);\n auVar38[0xb] = auVar41[0xb] & ~(byte)((ulong)lVar39 >> 0x18);\n auVar38[0xc] = auVar41[0xc] & ~(byte)((ulong)lVar39 >> 0x20);\n auVar38[0xd] = auVar41[0xd] & ~(byte)((ulong)lVar39 >> 0x28);\n auVar38[0xe] = auVar41[0xe] & ~(byte)((ulong)lVar39 >> 0x30);\n auVar38[0xf] = auVar41[0xf] & ~(byte)((ulong)lVar39 >> 0x38);\n *(long *)(param_1 + 0x3c0) = auVar38._8_8_;\n *(undefined8 *)(param_1 + 0x3b8) = auVar38._0_8_;\n if (local_258 <= *(long *)(param_1 + 0x3c8)) {\n local_258 = *(long *)(param_1 + 0x3c8);\n }\n *(long *)(param_1 + 0x3c8) = local_258;\n uVar23 = 1;\n }\n *(undefined1 *)(param_1 + 0x3b1) = uVar23;\n if (bVar29) {\n IVar18 = objc_stub::copy(IVar25);\n *(ID *)(param_1 + 0x370) = IVar18;\n *(undefined1 (*) [16])(param_1 + 0x378) = auVar53;\n *(undefined1 (*) [16])(param_1 + 0x388) = auVar52;\n lVar6 = *plVar22;\n lVar7 = plVar22[1];\n *(long_long *)(param_1 + 0x3a8) = plVar22[2];\n *(long_long *)(param_1 + 0x3a0) = lVar7;\n *(long_long *)(param_1 + 0x398) = lVar6;\n *(undefined1 *)(param_1 + 0x3b0) = 1;\n bVar1 = false;\n auVar9 = *(undefined1 (*) [16])(param_1 + 0x378);\n auVar10 = *(undefined1 (*) [16])(param_1 + 0x388);\n }\n else if (bVar1) {\n auVar9 = auVar55;\n auVar10 = auVar54;\n if ((!bVar2) &&\n (((_CGRectIsNull(uVar50,uVar49,uVar48,uVar46), (IVar18 & 1) != 0 ||\n (_CGRectIsEmpty(uVar50,uVar49,uVar48,uVar46), (IVar18 & 1) != 0)) ||\n ((dVar30 = (double)_CGRectGetWidth(uVar50,uVar49,uVar48,uVar46),\n dVar30 <= 2.220446049250313e-16 ||\n (dVar30 = (double)_CGRectGetHeight(uVar50,uVar49,uVar48,uVar46), auVar9 = auVar53,\n auVar10 = auVar52, dVar30 <= 2.220446049250313e-16)))))) {\n auVar9 = *(undefined1 (*) [16])(param_1 + 0x378);\n auVar10 = *(undefined1 (*) [16])(param_1 + 0x388);\n }\n IVar18 = *(ID *)(param_1 + 0x370);\n FUN_10001ab3c(*(undefined8 *)(param_1 + 0x378),*(undefined8 *)(param_1 + 0x380),\n *(undefined8 *)(param_1 + 0x388),*(undefined8 *)(param_1 + 0x390));\n IVar25 = objc_stub::count(IVar18);\n if ((IVar25 < 0x4d) ||\n (IVar25 = IVar18, FUN_10001b070(auVar9._0_8_,auVar9._8_8_,auVar10._0_8_,auVar10._8_8_),\n (int)IVar25 == 0)) {\n IVar18 = *(ID *)(param_1 + 0x370);\n auVar9 = *(undefined1 (*) [16])(param_1 + 0x378);\n bVar1 = true;\n auVar10 = *(undefined1 (*) [16])(param_1 + 0x388);\n }\n else {\n bVar1 = true;\n }\n }\n else {\n bVar1 = false;\n IVar18 = 0;\n }\n local_1e0 = auVar10._8_8_;\n local_1d8 = auVar10._0_8_;\n local_1d0 = auVar9._8_8_;\n local_1c8 = auVar9._0_8_;\n objc_stub::unlock(*(ID *)(param_1 + 0x28));\n if (param_6 != 0) {\n if (!bVar29) {\n IVar16 = 0;\n }\n IVar25 = 0;\n if (!bVar1) {\n IVar25 = IVar16;\n }\n *(ID *)param_6 = IVar25;\n }\n if (param_7.field0_0x0.field0_0x0 != 0.0) {\n IVar16 = objc_stub::count(IVar18);\n uVar46 = 0x3ff0000000000000;\n if (IVar16 < 0x4d) {\n uVar46 = 0;\n }\n *(undefined8 *)param_7.field0_0x0.field0_0x0 = uVar46;\n }\n if (param_7.field0_0x0.field1_0x8 != 0.0) {\n *(undefined1 (*) [16])param_7.field0_0x0.field1_0x8 = auVar9;\n *(undefined1 (*) [16])((long)param_7.field0_0x0.field1_0x8 + 0x10) = auVar10;\n }\n if (param_7.field1_0x10.field0_0x0 != 0.0) {\n *(bool *)param_7.field1_0x10.field0_0x0 = bVar1;\n }\n if ((*(uint *)((long)plVar22 + 0xc) & 0x1d) == 1) {\n local_130[0].field0_0x0 = *plVar22;\n local_130[0]._8_8_ = plVar22[1];\n local_130[0].field3_0x10 = plVar22[2];\n _CMTimeGetSeconds(local_130);\n }\n objc_stub::count(param_3);\n NSMutableArray::count(IVar17);\n FUN_10001b584(local_240,uStack_238,local_230,dStack_228);\n FUN_10001b584(local_1e8,local_1f0,local_1f8,local_200);\n FUN_10001b584(local_1c8,local_1d0,local_1d8,local_1e0);\n objc_stub::count(IVar18);\n if (*(long *)PTR____stack_chk_guard_1000a80e8 != local_b0) {\n /* WARNING: Subroutine does not return */\n ___stack_chk_fail();\n }\n return IVar18;\n}\n\n", "operation": "procedure_pseudo_code", "parameters": { "procedure": "0x10003d69c" }, "predicate_type": "rea.analysis", "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" }, "raw_result": { "limitations": [ "Ghidra Listing reports a terminal call at 0x10003e9c8 to 0x10007aca0 ___stack_chk_fail (external=false, thunk=true, hasNoReturn=true); fallthrough is excluded by Ghidra's flow model. This records Ghidra's FunctionManager flag, not an independent verification that the callee cannot return." ], "value": "\n/* WARNING: Function: _objc_release replaced with injection: _objc_release_fixup */\n/* WARNING: Function: _objc_retain replaced with injection: _objc_retain_fixup */\n/* WARNING: Function: _objc_autorelease replaced with injection: _objc_retain_fixup */\n/* Function Stack Size: 0x84 bytes */\n\nID MSSuperSkinSmoothingPlugIn::\n mss_pinStyleFacePointsForObservations_renderTime_params_trackingInputImage_preferredBox_hasPreferredBox_selectedObservationOut_strengthMultiplierOut_pointsBoxOut_usedHoldOut_\n (ID param_1,SEL param_2,ID param_3,AnonymousStructure0 param_4,\n const_AnonymousStructure7__ param_5,ID param_6,CGRect param_7,bool param_8,ID *param_9,\n double *param_10,CGRect *param_11,bool *param_12)\n\n{\n bool bVar1;\n bool bVar2;\n byte bVar3;\n undefined1 auVar4 [16];\n bool bVar5;\n long_long lVar6;\n long_long lVar7;\n undefined1 auVar8 [16];\n undefined1 auVar9 [16];\n undefined1 auVar10 [16];\n undefined *puVar11;\n bool bVar12;\n int iVar13;\n AnonymousStructure0 *pAVar14;\n AnonymousStructure0 *extraout_x0;\n AnonymousStructure0 *extraout_x0_00;\n ulong uVar15;\n ID IVar16;\n ID IVar17;\n ulong extraout_x0_01;\n ID IVar18;\n ID IVar19;\n ID IVar20;\n ID IVar21;\n long_long *plVar22;\n undefined1 uVar23;\n double *pdVar24;\n ID IVar25;\n byte bVar26;\n long lVar27;\n ulong uVar28;\n bool bVar29;\n float extraout_s0;\n undefined8 in_d0;\n double dVar30;\n double dVar31;\n double dVar32;\n double dVar33;\n double dVar34;\n undefined8 uVar35;\n undefined8 uVar36;\n undefined8 uVar37;\n ulong extraout_d0;\n ulong extraout_d0_00;\n ulong extraout_d0_01;\n ulong extraout_d0_02;\n double extraout_d0_03;\n double extraout_d0_04;\n double extraout_d0_05;\n double extraout_d0_06;\n double extraout_d0_07;\n long lVar39;\n undefined1 auVar38 [16];\n undefined1 extraout_q0 [16];\n undefined8 in_d1;\n double dVar40;\n undefined1 auVar41 [16];\n double in_d2;\n double in_d3;\n double dVar42;\n undefined8 uVar43;\n undefined8 uVar44;\n double dVar45;\n undefined8 uVar46;\n double dVar47;\n undefined8 uVar48;\n undefined8 uVar49;\n undefined8 uVar50;\n CGRect CVar51;\n undefined1 auVar52 [16];\n undefined1 auVar53 [16];\n undefined1 auVar54 [16];\n undefined1 auVar55 [16];\n double local_260;\n long local_258;\n undefined8 local_240;\n undefined8 uStack_238;\n double local_230;\n double dStack_228;\n double local_220;\n double dStack_218;\n double local_200;\n double local_1f8;\n undefined8 local_1f0;\n undefined8 local_1e8;\n undefined8 local_1e0;\n undefined8 local_1d8;\n undefined8 local_1d0;\n undefined8 local_1c8;\n undefined8 local_1c0;\n long lStack_1b8;\n long *local_1b0;\n undefined8 uStack_1a8;\n undefined8 local_1a0;\n undefined8 uStack_198;\n undefined8 uStack_190;\n undefined8 uStack_188;\n double local_180;\n double dStack_178;\n double local_170;\n double dStack_168;\n double local_160;\n double dStack_158;\n double local_150;\n double dStack_148;\n double local_140;\n double dStack_138;\n AnonymousStructure0 local_130 [5];\n long local_b0;\n \n IVar18 = param_4.field3_0x10;\n lVar27 = param_4._8_8_;\n plVar22 = (long_long *)param_4.field0_0x0;\n local_b0 = *(long *)PTR____stack_chk_guard_1000a80e8;\n FUN_10002a428();\n if (lVar27 == 0) {\n bVar3 = 0;\n local_258 = 0;\n auVar55 = NEON_fmov(0x3fe0000000000000,8);\n dStack_218 = auVar55._8_8_;\n local_220 = auVar55._0_8_;\n }\n else {\n bVar3 = *(byte *)(lVar27 + 0xf8);\n dStack_218 = SUB168(*(undefined1 (*) [16])(lVar27 + 0x100),8);\n local_220 = SUB168(*(undefined1 (*) [16])(lVar27 + 0x100),0);\n local_258 = *(long *)(lVar27 + 0x168);\n }\n pAVar14 = (AnonymousStructure0 *)objc_stub::lock(*(ID *)(param_1 + 0x28));\n if (*(char *)(param_1 + 0x3b0) == '\\x01') {\n if (((*(uint *)((long)plVar22 + 0xc) & 0x1d) == 1) && ((*(uint *)(param_1 + 0x3a4) & 0x1d) == 1)\n ) {\n local_130[0].field0_0x0 = *plVar22;\n local_130[0]._8_8_ = plVar22[1];\n local_130[0].field3_0x10 = plVar22[2];\n local_1c0 = *(undefined8 *)(param_1 + 0x398);\n lStack_1b8 = *(long *)(param_1 + 0x3a0);\n local_1b0 = *(long **)(param_1 + 0x3a8);\n pAVar14 = local_130;\n _CMTimeCompare(pAVar14,&local_1c0);\n if ((int)pAVar14 < 0) {\n pAVar14 = (AnonymousStructure0 *)0x0;\n bVar1 = false;\n *(undefined8 *)(param_1 + 0x370) = 0;\n puVar11 = PTR__kCMTimeInvalid_1000a8208;\n uVar46 = *(undefined8 *)PTR__CGRectZero_1000a8150;\n uVar48 = *(undefined8 *)(PTR__CGRectZero_1000a8150 + 0x10);\n uVar49 = *(undefined8 *)(PTR__CGRectZero_1000a8150 + 0x18);\n *(undefined8 *)(param_1 + 0x380) = *(undefined8 *)(PTR__CGRectZero_1000a8150 + 8);\n *(undefined8 *)(param_1 + 0x378) = uVar46;\n *(undefined8 *)(param_1 + 0x390) = uVar49;\n *(undefined8 *)(param_1 + 0x388) = uVar48;\n uVar46 = *(undefined8 *)puVar11;\n *(undefined8 *)(param_1 + 0x3a0) = *(undefined8 *)(puVar11 + 8);\n *(undefined8 *)(param_1 + 0x398) = uVar46;\n *(undefined8 *)(param_1 + 0x3a8) = *(undefined8 *)(puVar11 + 0x10);\n *(undefined1 *)(param_1 + 0x3b0) = 0;\n goto LAB_10003d868;\n }\n if ((*(byte *)(param_1 + 0x3b0) & 1) != 0) goto LAB_10003d7b8;\n }\n else {\nLAB_10003d7b8:\n pAVar14 = (AnonymousStructure0 *)objc_stub::count(*(ID *)(param_1 + 0x370));\n if ((AnonymousStructure0 *)0x4c < pAVar14) {\n uVar46 = *(undefined8 *)(param_1 + 0x378);\n uVar48 = *(undefined8 *)(param_1 + 0x380);\n uVar49 = *(undefined8 *)(param_1 + 0x388);\n uVar50 = *(undefined8 *)(param_1 + 0x390);\n _CGRectIsNull(uVar46,uVar48,uVar49,uVar50);\n if (((((ulong)pAVar14 & 1) == 0) &&\n (_CGRectIsEmpty(uVar46,uVar48,uVar49,uVar50), ((ulong)pAVar14 & 1) == 0)) &&\n (dVar30 = (double)_CGRectGetWidth(uVar46,uVar48,uVar49,uVar50),\n 2.220446049250313e-16 < dVar30)) {\n dVar30 = (double)_CGRectGetHeight(uVar46,uVar48,uVar49,uVar50);\n bVar1 = 2.220446049250313e-16 < dVar30;\n goto LAB_10003d868;\n }\n }\n }\n bVar1 = false;\n }\n else {\n bVar1 = false;\n }\nLAB_10003d868:\n uVar48 = *(undefined8 *)PTR__CGRectNull_1000a8148;\n uVar46 = *(undefined8 *)(PTR__CGRectNull_1000a8148 + 8);\n auVar55 = *(undefined1 (*) [16])PTR__CGRectNull_1000a8148;\n auVar52 = *(undefined1 (*) [16])PTR__CGRectNull_1000a8148;\n auVar9 = *(undefined1 (*) [16])PTR__CGRectNull_1000a8148;\n dVar40 = *(double *)*(undefined1 (*) [16])(PTR__CGRectNull_1000a8148 + 0x10);\n dVar30 = *(double *)(PTR__CGRectNull_1000a8148 + 0x18);\n auVar10 = *(undefined1 (*) [16])(PTR__CGRectNull_1000a8148 + 0x10);\n dVar31 = (double)_hypot(local_220 - *(double *)(param_1 + 0x3b8),\n dStack_218 - *(double *)(param_1 + 0x3c0));\n local_1f8 = dVar40;\n local_200 = dVar30;\n if (((bVar3 & 1) == 0) ||\n (((*(char *)(param_1 + 0x3b1) == '\\x01' &&\n ((local_258 < 1 || (local_258 <= *(long *)(param_1 + 0x3c8))))) &&\n ((0x7fefffffffffffff < (ulong)ABS(dVar31) || (dVar31 <= 0.01)))))) {\n if (IVar18 == 0) {\n bVar26 = 0;\n goto joined_r0x00010003d9d0;\n }\n local_130[0].field0_0x0 = *plVar22;\n local_130[0]._8_8_ = plVar22[1];\n local_130[0].field3_0x10 = plVar22[2];\n CVar51 = trackedFaceBoxForInputImage_renderTime_selectedObservation_shouldTrack_\n (param_1,IVar18,local_130,0,1);\n local_200 = CVar51.field1_0x10.field1_0x8;\n local_1f8 = CVar51.field1_0x10.field0_0x0;\n pAVar14 = extraout_x0_00;\n auVar55 = FUN_10002d838(CVar51.field0_0x0.field0_0x0,CVar51.field0_0x0.field1_0x8);\n uVar50 = auVar55._8_8_;\n uVar49 = auVar55._0_8_;\n _CGRectIsNull(uVar49,uVar50,local_1f8,local_200);\n if (((((ulong)pAVar14 & 1) != 0) ||\n (_CGRectIsEmpty(uVar49,uVar50,local_1f8,local_200), ((ulong)pAVar14 & 1) != 0)) ||\n (dVar31 = (double)_CGRectGetWidth(uVar49,uVar50,local_1f8,local_200),\n dVar31 <= 2.220446049250313e-16)) {\n bVar26 = 0;\n goto joined_r0x00010003d9d0;\n }\n dVar31 = (double)_CGRectGetHeight(uVar49,uVar50,local_1f8,local_200);\n bVar26 = 0;\n bVar2 = 2.220446049250313e-16 < dVar31;\n if ((int)param_5 == 0) goto LAB_10003d9d4;\nLAB_10003da1c:\n _CGRectIsNull();\n if (((((ulong)pAVar14 & 1) != 0) || (_CGRectIsEmpty(), ((ulong)pAVar14 & 1) != 0)) ||\n (dVar31 = (double)_CGRectGetWidth(), dVar31 <= 2.220446049250313e-16)) {\n bVar29 = false;\nLAB_10003daa4:\n if (bVar1) {\n uVar49 = *(undefined8 *)(param_1 + 0x378);\n dVar31 = *(double *)(param_1 + 0x390);\n dVar45 = *(double *)(param_1 + 0x388);\n uVar50 = *(undefined8 *)(param_1 + 0x380);\nLAB_10003dac0:\n _CGRectIsNull(uVar49,uVar50,dVar45,dVar31);\n if (((((ulong)pAVar14 & 1) != 0) ||\n (_CGRectIsEmpty(uVar49,uVar50,dVar45,dVar31), ((ulong)pAVar14 & 1) != 0)) ||\n (dVar47 = (double)_CGRectGetWidth(uVar49,uVar50,dVar45,dVar31),\n dVar47 <= 2.220446049250313e-16)) goto LAB_10003db3c;\n dVar31 = (double)_CGRectGetHeight(uVar49,uVar50,dVar45,dVar31);\n bVar29 = 2.220446049250313e-16 < dVar31;\n }\n }\n else {\n dVar31 = (double)_CGRectGetHeight();\n bVar29 = 2.220446049250313e-16 < dVar31;\n if (dVar31 <= 2.220446049250313e-16) goto LAB_10003daa4;\n }\n }\n else {\n local_130[0].field0_0x0 = *plVar22;\n local_130[0]._8_8_ = plVar22[1];\n local_130[0].field3_0x10 = plVar22[2];\n trackedFaceBoxForInputImage_renderTime_selectedObservation_shouldTrack_(param_1,0,local_130,0,0)\n ;\n bVar26 = 1;\n pAVar14 = extraout_x0;\n auVar55 = auVar52;\njoined_r0x00010003d9d0:\n bVar2 = false;\n if ((int)param_5 != 0) goto LAB_10003da1c;\nLAB_10003d9d4:\n in_d0 = *(undefined8 *)(param_1 + 0x378);\n in_d1 = *(undefined8 *)(param_1 + 0x380);\n in_d2 = *(double *)(param_1 + 0x388);\n in_d3 = *(double *)(param_1 + 0x390);\n uVar49 = in_d0;\n dVar31 = in_d3;\n dVar45 = in_d2;\n uVar50 = in_d1;\n if (bVar1) goto LAB_10003dac0;\nLAB_10003db3c:\n bVar29 = false;\n }\n auVar53._8_8_ = in_d1;\n auVar53._0_8_ = in_d0;\n dVar31 = local_1f8;\n dVar45 = local_200;\n auVar52 = auVar55;\n if (!bVar2) {\n dVar31 = in_d2;\n dVar45 = in_d3;\n auVar52 = auVar53;\n }\n uVar50 = auVar52._8_8_;\n uVar49 = auVar52._0_8_;\n IVar17 = param_3;\n local_230 = dVar40;\n dStack_228 = dVar30;\n auVar53 = auVar9;\n if (bVar26 == 0 && bVar29) {\n if (lVar27 == 0) {\n dVar47 = 1.5;\n }\n else {\n dVar47 = *(double *)(lVar27 + 0xf0);\n }\n uVar15 = objc_stub::count(param_3);\n if (((uVar15 == 0) || (_CGRectIsNull(in_d0,in_d1,in_d2,in_d3), (uVar15 & 1) != 0)) ||\n ((_CGRectIsEmpty(in_d0,in_d1,in_d2,in_d3), (uVar15 & 1) != 0 ||\n ((dVar32 = (double)_CGRectGetWidth(in_d0,in_d1,in_d2,in_d3), dVar32 <= 2.220446049250313e-16\n || (dVar32 = (double)_CGRectGetHeight(in_d0,in_d1,in_d2,in_d3),\n dVar32 <= 2.220446049250313e-16)))))) {\n IVar17 = 0;\n }\n else {\n dVar32 = 4.0;\n if (dVar47 <= 4.0) {\n dVar32 = dVar47;\n }\n dVar33 = 1.0;\n if (1.0 <= dVar47) {\n dVar33 = dVar32;\n }\n auVar53 = FUN_10002c6b8(in_d0,in_d1,in_d2,in_d3,dVar33);\n uVar43 = auVar53._8_8_;\n uVar37 = auVar53._0_8_;\n _CGRectIsNull(uVar37,uVar43,in_d2,in_d3);\n if (((((uVar15 & 1) != 0) || (_CGRectIsEmpty(uVar37,uVar43,in_d2,in_d3), (uVar15 & 1) != 0))\n || (dVar47 = (double)_CGRectGetWidth(uVar37,uVar43,in_d2,in_d3),\n dVar47 <= 2.220446049250313e-16)) ||\n (dVar47 = in_d2, dVar32 = in_d3,\n dVar33 = (double)_CGRectGetHeight(uVar37,uVar43,in_d2,in_d3),\n dVar33 <= 2.220446049250313e-16)) {\n IVar17 = 0;\n local_230 = in_d2;\n dStack_228 = in_d3;\n }\n else {\n IVar16 = NSMutableArray::array((ID)&_OBJC_CLASS___NSMutableArray);\n uStack_198 = 0;\n local_1a0 = 0;\n uStack_188 = 0;\n uStack_190 = 0;\n lStack_1b8 = 0;\n local_1c0 = 0;\n uStack_1a8 = 0;\n local_1b0 = (long *)0x0;\n IVar17 = objc_stub::countByEnumeratingWithState_objects_count_\n (param_3,&local_1c0,local_130,0x10);\n if (IVar17 != 0) {\n lVar27 = *local_1b0;\n do {\n IVar25 = 0;\n do {\n dVar33 = dVar47;\n dVar42 = dVar32;\n if (*local_1b0 != lVar27) {\n _objc_enumerationMutation(param_3);\n dVar33 = dVar47;\n dVar42 = dVar32;\n }\n uVar28 = *(ulong *)(lStack_1b8 + IVar25 * 8);\n uVar15 = uVar28;\n auVar54 = FUN_100029d20();\n uVar44 = auVar54._8_8_;\n uVar36 = auVar54._0_8_;\n dVar47 = dVar33;\n dVar32 = dVar42;\n _CGRectIsNull();\n if ((uVar15 & 1) == 0) {\n dVar47 = dVar33;\n dVar32 = dVar42;\n _CGRectIsEmpty(uVar36,uVar44,dVar33,dVar42);\n iVar13 = (int)uVar15;\n if ((((uVar15 & 1) == 0) &&\n (dVar47 = dVar33, dVar32 = dVar42,\n dVar34 = (double)_CGRectGetWidth(uVar36,uVar44), 2.220446049250313e-16 < dVar34)\n ) && (dVar47 = dVar33, dVar32 = dVar42,\n dVar34 = (double)_CGRectGetHeight(uVar36,uVar44),\n 2.220446049250313e-16 < dVar34)) {\n uVar35 = _CGRectGetMidX(uVar36,uVar44,dVar33,dVar42);\n uVar36 = _CGRectGetMidY(uVar36,uVar44,dVar33,dVar42);\n dVar47 = in_d2;\n dVar32 = in_d3;\n _CGRectContainsPoint(uVar37,uVar43,in_d2,in_d3,uVar35,uVar36);\n if (iVar13 != 0) {\n NSMutableArray::addObject_(IVar16,uVar28);\n }\n }\n }\n IVar25 = IVar25 + 1;\n } while (IVar17 != IVar25);\n IVar17 = objc_stub::countByEnumeratingWithState_objects_count_\n (param_3,&local_1c0,local_130,0x10);\n } while (IVar17 != 0);\n }\n IVar25 = NSMutableArray::count(IVar16);\n IVar17 = 0;\n local_230 = in_d2;\n dStack_228 = in_d3;\n if (IVar25 != 0) {\n IVar17 = IVar16;\n }\n }\n }\n NSMutableArray::count(IVar17);\n }\n uStack_238 = auVar53._8_8_;\n local_240 = auVar53._0_8_;\n IVar16 = NSMutableArray::count(IVar17);\n if (IVar16 == 0) {\nLAB_10003e040:\n IVar16 = 0;\n IVar25 = 0;\n auVar53 = auVar9;\n auVar52 = auVar10;\n }\n else {\n IVar16 = IVar17;\n if ((bVar3 & bVar26) == 1) {\n FUN_10003ec44(local_220,dStack_218,uVar48,uVar46,dVar40,dVar30,IVar17,0);\n auVar52._8_8_ = uVar46;\n auVar52._0_8_ = uVar48;\n }\n else if (bVar2 || bVar29) {\n uVar46 = _CGRectGetMidX(uVar49,uVar50,dVar31,dVar45);\n uVar48 = _CGRectGetMidY(uVar49,uVar50,dVar31,dVar45);\n FUN_10003ec44(uVar46,uVar48,uVar49,uVar50,dVar31,dVar45,IVar17,1);\n }\n else if ((bVar3 & 1) == 0) {\n FUN_10003f020(uVar48,uVar46);\n auVar52._8_8_ = dVar30;\n auVar52._0_8_ = dVar40;\n }\n else {\n FUN_10003ec44(local_220,dStack_218,uVar48,uVar46,dVar40,dVar30,IVar17,0);\n auVar52._8_8_ = uVar46;\n auVar52._0_8_ = uVar48;\n }\n IVar25 = IVar16;\n FUN_100029a00();\n auVar53 = FUN_100029d20(IVar16);\n uVar50 = auVar52._8_8_;\n uVar49 = auVar52._0_8_;\n uVar48 = auVar53._8_8_;\n uVar46 = auVar53._0_8_;\n uVar15 = objc_stub::count(IVar25);\n if (((uVar15 < 0x4d) || (_CGRectIsNull(uVar46,uVar48,uVar49,uVar50), (uVar15 & 1) != 0)) ||\n ((_CGRectIsEmpty(uVar46,uVar48,uVar49,uVar50), (uVar15 & 1) != 0 ||\n ((dVar30 = (double)_CGRectGetWidth(uVar46,uVar48,uVar49,uVar50),\n dVar30 <= 2.220446049250313e-16 ||\n (dVar30 = (double)_CGRectGetHeight(uVar46,uVar48,uVar49,uVar50),\n dVar30 <= 2.220446049250313e-16)))))) goto LAB_10003e040;\n if (((IVar18 != 0) && (IVar16 != 0)) && (!bVar2)) {\n local_130[0].field0_0x0 = *plVar22;\n local_130[0]._8_8_ = plVar22[1];\n local_130[0].field3_0x10 = plVar22[2];\n CVar51 = trackedFaceBoxForInputImage_renderTime_selectedObservation_shouldTrack_\n (param_1,IVar18,local_130,IVar16,1);\n local_200 = CVar51.field1_0x10.field1_0x8;\n local_1f8 = CVar51.field1_0x10.field0_0x0;\n uVar15 = extraout_x0_01;\n auVar55 = FUN_10002d838(CVar51.field0_0x0.field0_0x0,CVar51.field0_0x0.field1_0x8);\n uVar48 = auVar55._8_8_;\n uVar46 = auVar55._0_8_;\n _CGRectIsNull(uVar46,uVar48,local_1f8,local_200);\n if ((((uVar15 & 1) != 0) ||\n (_CGRectIsEmpty(uVar46,uVar48,local_1f8,local_200), (uVar15 & 1) != 0)) ||\n (dVar30 = (double)_CGRectGetWidth(uVar46,uVar48,local_1f8,local_200),\n dVar30 <= 2.220446049250313e-16)) {\n bVar2 = false;\n }\n else {\n dVar30 = (double)_CGRectGetHeight(uVar46,uVar48,local_1f8,local_200);\n bVar2 = 2.220446049250313e-16 < dVar30;\n }\n }\n }\n auVar54._8_8_ = local_200;\n auVar54._0_8_ = local_1f8;\n uVar46 = auVar52._8_8_;\n uVar48 = auVar52._0_8_;\n uVar49 = auVar53._8_8_;\n uVar50 = auVar53._0_8_;\n local_1f0 = auVar55._8_8_;\n local_1e8 = auVar55._0_8_;\n IVar18 = objc_stub::count(IVar25);\n if (((0x4c < IVar18) && (_CGRectIsNull(uVar50,uVar49,uVar48,uVar46), (IVar18 & 1) == 0)) &&\n ((_CGRectIsEmpty(uVar50,uVar49,uVar48,uVar46), (IVar18 & 1) == 0 &&\n ((dVar30 = (double)_CGRectGetWidth(uVar50,uVar49,uVar48,uVar46),\n 2.220446049250313e-16 < dVar30 &&\n (dVar30 = (double)_CGRectGetHeight(uVar50,uVar49,uVar48,uVar46),\n 2.220446049250313e-16 < dVar30)))))) {\n IVar19 = objc_stub::landmarks(IVar16);\n IVar20 = objc_stub::allPoints(IVar19);\n uVar15 = objc_stub::faceContour(IVar19);\n IVar18 = uVar15;\n if ((IVar16 != 0) &&\n (((IVar19 != 0 && (IVar20 != 0)) && (IVar18 = objc_stub::pointCount(IVar20), 0x4b < IVar18)))\n ) {\n IVar21 = objc_stub::normalizedPoints(IVar20);\n IVar18 = 0;\n if ((IVar21 != 0) && (IVar18 = objc_stub::pointCount(uVar15), 10 < IVar18)) {\n IVar18 = objc_stub::normalizedPoints(IVar20);\n pdVar24 = (double *)(IVar18 + 8);\n lVar27 = 0x4c;\n do {\n dVar30 = pdVar24[-1];\n if (0x7fefffffffffffff < (ulong)ABS(dVar30)) goto LAB_10003e130;\n dVar31 = *pdVar24;\n if (((1.35 < dVar31) || (dVar31 < -0.35)) ||\n ((1.35 < dVar30 || ((dVar30 < -0.35 || (0x7fefffffffffffff < (ulong)ABS(dVar31)))))))\n goto LAB_10003e130;\n pdVar24 = pdVar24 + 2;\n lVar27 = lVar27 + -1;\n } while (lVar27 != 0);\n dStack_178 = SUB168(*(undefined1 (*) [16])PTR__CGPointZero_1000a8140,8);\n local_180 = SUB168(*(undefined1 (*) [16])PTR__CGPointZero_1000a8140,0);\n local_170 = local_180;\n dStack_168 = dStack_178;\n local_160 = local_180;\n dStack_158 = dStack_178;\n local_150 = local_180;\n dStack_148 = dStack_178;\n local_140 = local_180;\n dStack_138 = dStack_178;\n IVar18 = objc_stub::leftEye(IVar19);\n FUN_1000547c8(IVar18,&local_140);\n if ((int)IVar18 != 0) {\n IVar18 = objc_stub::rightEye(IVar19);\n FUN_1000547c8(IVar18,&local_150);\n if ((int)IVar18 != 0) {\n IVar18 = objc_stub::nose(IVar19);\n FUN_1000547c8(IVar18,&local_160);\n if ((int)IVar18 != 0) {\n IVar18 = objc_stub::outerLips(IVar19);\n FUN_1000547c8(IVar18,&local_170);\n if (((int)IVar18 != 0) &&\n (FUN_1000548d0(uVar15,&local_180), IVar18 = uVar15, (uVar15 & 1) != 0)) {\n objc_stub::confidence(IVar19);\n IVar19 = objc_stub::precisionEstimatesPerPoint(IVar20);\n IVar18 = objc_stub::count(IVar19);\n if (0x4b < IVar18) {\n uStack_198 = 0;\n local_1a0 = 0;\n uStack_188 = 0;\n uStack_190 = 0;\n lStack_1b8 = 0;\n local_1c0 = 0;\n uStack_1a8 = 0;\n local_1b0 = (long *)0x0;\n IVar20 = objc_stub::countByEnumeratingWithState_objects_count_\n (IVar19,&local_1c0,local_130,0x10);\n IVar18 = 0;\n if (IVar20 != 0) {\n lVar27 = *local_1b0;\n do {\n IVar18 = 0;\n do {\n if (*local_1b0 != lVar27) {\n _objc_enumerationMutation(IVar19);\n }\n objc_stub::doubleValue(*(ID *)(lStack_1b8 + IVar18 * 8));\n IVar18 = IVar18 + 1;\n } while (IVar20 != IVar18);\n IVar20 = objc_stub::countByEnumeratingWithState_objects_count_\n (IVar19,&local_1c0,local_130,0x10);\n IVar18 = 0;\n } while (IVar20 != 0);\n }\n }\n dVar40 = (local_140 + local_150) * 0.5;\n dVar45 = (dStack_138 + dStack_148) * 0.5;\n local_260 = local_150 - local_140;\n dVar31 = dStack_148 - dStack_138;\n dVar30 = (double)_hypot();\n bVar29 = 2.220446049250313e-16 < dVar30;\n bVar5 = (ulong)ABS(dVar30) < 0x7ff0000000000000;\n if (bVar29 && bVar5) {\n local_260 = local_260 / dVar30;\n dVar31 = dVar31 / dVar30;\n }\n dVar32 = local_260;\n dVar47 = -dVar31;\n if (0.0 <= -(local_260 * (dStack_168 - dVar45)) + dVar31 * (local_170 - dVar40)) {\n dVar32 = -local_260;\n dVar47 = dVar31;\n }\n dVar33 = (dStack_168 - dVar45) * dVar32 + dVar47 * (local_170 - dVar40);\n dVar42 = (dStack_158 - dVar45) * dVar32 + dVar47 * (local_160 - dVar40);\n bVar12 = true;\n if ((0.08 <= dVar33 && (bVar29 && bVar5)) &&\n (0.06 <= (dStack_178 - dStack_168) * dVar32 + dVar47 * (local_180 - local_170)))\n {\n bVar12 = (dStack_178 - dVar45) * dVar32 + dVar47 * (local_180 - dVar40) < 0.2;\n }\n if (!(bool)(((double)extraout_s0 < 0.55 ||\n 0x7fefffffffffffff < (ulong)ABS((double)extraout_s0)) | bVar12)) {\n dVar31 = dVar31 * (dStack_178 - dVar45) + local_260 * (local_180 - dVar40);\n bVar29 = ((bVar29 && bVar5) &&\n (0.1 <= dVar30 &&\n ((-0.12 <= dVar42 && (bVar29 && bVar5)) && dVar42 <= dVar33 + 0.16))) &&\n (dVar31 <= dVar30 * 0.5 + 0.3 && -0.3 - dVar30 * 0.5 <= dVar31);\n if (bVar26 != 0 || !(bool)(bVar29 & bVar1)) goto LAB_10003e134;\n IVar19 = *(ID *)(param_1 + 0x370);\n uVar43 = *(undefined8 *)(param_1 + 0x378);\n uVar36 = *(undefined8 *)(param_1 + 0x380);\n uVar44 = *(undefined8 *)(param_1 + 0x388);\n uVar37 = *(undefined8 *)(param_1 + 0x390);\n IVar18 = objc_stub::count(IVar25);\n if ((((((IVar18 < 0x4d) || (IVar18 = objc_stub::count(IVar19), IVar18 < 0x4d)) ||\n (_CGRectIsNull(uVar50,uVar49,uVar48,uVar46), (IVar18 & 1) != 0)) ||\n ((_CGRectIsEmpty(uVar50,uVar49,uVar48,uVar46), (IVar18 & 1) != 0 ||\n (dVar30 = (double)_CGRectGetWidth(uVar50,uVar49,uVar48,uVar46),\n dVar30 <= 2.220446049250313e-16)))) ||\n (dVar30 = (double)_CGRectGetHeight(uVar50,uVar49,uVar48,uVar46),\n dVar30 <= 2.220446049250313e-16)) ||\n (((_CGRectIsNull(uVar43,uVar36,uVar44,uVar37), (IVar18 & 1) != 0 ||\n (_CGRectIsEmpty(uVar43,uVar36,uVar44,uVar37), (IVar18 & 1) != 0)) ||\n ((dVar30 = (double)_CGRectGetWidth(uVar43,uVar36,uVar44,uVar37),\n dVar30 <= 2.220446049250313e-16 ||\n ((dVar30 = (double)_CGRectGetHeight(uVar43,uVar36,uVar44,uVar37),\n dVar30 <= 2.220446049250313e-16 ||\n (FUN_1000549d4(uVar50,uVar49,uVar48,uVar46,uVar43,uVar36,uVar44,uVar37),\n (int)IVar18 == 0)))))))) goto LAB_10003e134;\n local_130[0].field0_0x0 = 0x7ff8000000000000;\n local_1c0 = 0x7ff8000000000000;\n local_140 = NAN;\n IVar18 = IVar25;\n FUN_100043338(uVar50,uVar49,uVar48,uVar46,uVar43,uVar36,uVar44,uVar37,IVar25,\n IVar19,local_130,&local_1c0,&local_140);\n if ((IVar18 & 1) == 0) {\n FUN_10001ab3c(uVar43,uVar36,uVar44,uVar37,uVar50,uVar49,uVar48,uVar46);\n IVar18 = objc_stub::count(IVar19);\n if (IVar18 < 0x4d) {\nLAB_10003ea08:\n bVar5 = true;\n }\n else {\n dVar31 = (double)_CGRectGetWidth(uVar50,uVar49,uVar48,uVar46);\n dVar30 = (double)_CGRectGetHeight(uVar50,uVar49,uVar48,uVar46);\n if (dVar30 <= dVar31) {\n dVar30 = dVar31;\n }\n bVar5 = true;\n if ((2.220446049250313e-16 < dVar30) &&\n ((ulong)ABS(dVar30) < 0x7ff0000000000000)) {\n IVar20 = NSMutableArray::arrayWithCapacity_\n ((ID)&_OBJC_CLASS___NSMutableArray,0x4c);\n lVar27 = 0;\n do {\n IVar18 = objc_stub::objectAtIndexedSubscript_(IVar25,lVar27);\n IVar21 = objc_stub::objectAtIndexedSubscript_(IVar19,lVar27);\n if ((((IVar18 != 0) && (IVar21 != 0)) &&\n (objc_stub::X(IVar18),\n (extraout_d0 & 0x7fffffffffffffff) < 0x7ff0000000000000)) &&\n (((objc_stub::Y(IVar18),\n (extraout_d0_00 & 0x7fffffffffffffff) < 0x7ff0000000000000 &&\n (objc_stub::X(IVar21),\n (extraout_d0_01 & 0x7fffffffffffffff) < 0x7ff0000000000000)) &&\n (objc_stub::Y(IVar21),\n (extraout_d0_02 & 0x7fffffffffffffff) < 0x7ff0000000000000)))) {\n objc_stub::X(IVar18);\n objc_stub::X(IVar21);\n objc_stub::Y(IVar18);\n objc_stub::Y(IVar21);\n dVar31 = (double)_hypot(extraout_d0_03 - extraout_d0_04,\n extraout_d0_05 - extraout_d0_06);\n if ((ulong)ABS(dVar31 / dVar30) < 0x7ff0000000000000) {\n IVar18 = NSNumber::numberWithDouble_((ID)&_OBJC_CLASS___NSNumber);\n NSMutableArray::addObject_(IVar20,IVar18);\n }\n }\n lVar27 = lVar27 + 1;\n } while (lVar27 != 0x4c);\n IVar18 = NSMutableArray::count(IVar20);\n if (IVar18 < 0x32) goto LAB_10003ea08;\n NSMutableArray::sortUsingSelector_(IVar20,\"compare:\");\n IVar18 = NSMutableArray::count(IVar20);\n IVar19 = NSMutableArray::count(IVar20);\n IVar21 = NSMutableArray::count(IVar20);\n uVar28 = (ulong)((double)(IVar21 - 1) * 0.9);\n uVar15 = IVar19 - 1;\n if (uVar28 <= IVar19 - 1) {\n uVar15 = uVar28;\n }\n IVar18 = NSMutableArray::objectAtIndexedSubscript_(IVar20,IVar18 >> 1);\n NSMutableArray::doubleValue(IVar18);\n IVar18 = NSMutableArray::objectAtIndexedSubscript_(IVar20,uVar15);\n IVar18 = NSMutableArray::doubleValue(IVar18);\n bVar5 = extraout_q0._0_8_ <= 0.58 && extraout_d0_07 <= 0.3;\n }\n }\n }\n else {\n bVar5 = false;\n }\n bVar29 = (bool)(bVar29 & bVar5);\n goto LAB_10003e134;\n }\n }\n }\n }\n }\n }\n }\n }\nLAB_10003e130:\n bVar29 = false;\nLAB_10003e134:\n if ((bVar3 & 1) == 0) {\n uVar23 = 0;\n }\n else {\n auVar8._8_8_ = dStack_218;\n auVar8._0_8_ = local_220;\n lVar27 = -(ulong)(local_220 < 0.0);\n lVar39 = -(ulong)(dStack_218 < 0.0);\n auVar41 = NEON_fmov(0x3ff0000000000000,8);\n auVar4._8_8_ = -(ulong)(auVar41._8_8_ < dStack_218);\n auVar4._0_8_ = -(ulong)(auVar41._0_8_ < local_220);\n auVar41 = auVar41 ^ (auVar41 ^ auVar8) & ~auVar4;\n auVar38._0_8_ =\n CONCAT17(auVar41[7] & ~(byte)((ulong)lVar27 >> 0x38),\n CONCAT16(auVar41[6] & ~(byte)((ulong)lVar27 >> 0x30),\n CONCAT15(auVar41[5] & ~(byte)((ulong)lVar27 >> 0x28),\n CONCAT14(auVar41[4] & ~(byte)((ulong)lVar27 >> 0x20),\n CONCAT13(auVar41[3] & ~(byte)((ulong)lVar27 >> 0x18),\n CONCAT12(auVar41[2] &\n ~(byte)((ulong)lVar27 >> 0x10),\n CONCAT11(auVar41[1] &\n ~(byte)((ulong)lVar27 >> 8),\n auVar41[0] & ~(byte)lVar27))\n )))));\n auVar38[8] = auVar41[8] & ~(byte)lVar39;\n auVar38[9] = auVar41[9] & ~(byte)((ulong)lVar39 >> 8);\n auVar38[10] = auVar41[10] & ~(byte)((ulong)lVar39 >> 0x10);\n auVar38[0xb] = auVar41[0xb] & ~(byte)((ulong)lVar39 >> 0x18);\n auVar38[0xc] = auVar41[0xc] & ~(byte)((ulong)lVar39 >> 0x20);\n auVar38[0xd] = auVar41[0xd] & ~(byte)((ulong)lVar39 >> 0x28);\n auVar38[0xe] = auVar41[0xe] & ~(byte)((ulong)lVar39 >> 0x30);\n auVar38[0xf] = auVar41[0xf] & ~(byte)((ulong)lVar39 >> 0x38);\n *(long *)(param_1 + 0x3c0) = auVar38._8_8_;\n *(undefined8 *)(param_1 + 0x3b8) = auVar38._0_8_;\n if (local_258 <= *(long *)(param_1 + 0x3c8)) {\n local_258 = *(long *)(param_1 + 0x3c8);\n }\n *(long *)(param_1 + 0x3c8) = local_258;\n uVar23 = 1;\n }\n *(undefined1 *)(param_1 + 0x3b1) = uVar23;\n if (bVar29) {\n IVar18 = objc_stub::copy(IVar25);\n *(ID *)(param_1 + 0x370) = IVar18;\n *(undefined1 (*) [16])(param_1 + 0x378) = auVar53;\n *(undefined1 (*) [16])(param_1 + 0x388) = auVar52;\n lVar6 = *plVar22;\n lVar7 = plVar22[1];\n *(long_long *)(param_1 + 0x3a8) = plVar22[2];\n *(long_long *)(param_1 + 0x3a0) = lVar7;\n *(long_long *)(param_1 + 0x398) = lVar6;\n *(undefined1 *)(param_1 + 0x3b0) = 1;\n bVar1 = false;\n auVar9 = *(undefined1 (*) [16])(param_1 + 0x378);\n auVar10 = *(undefined1 (*) [16])(param_1 + 0x388);\n }\n else if (bVar1) {\n auVar9 = auVar55;\n auVar10 = auVar54;\n if ((!bVar2) &&\n (((_CGRectIsNull(uVar50,uVar49,uVar48,uVar46), (IVar18 & 1) != 0 ||\n (_CGRectIsEmpty(uVar50,uVar49,uVar48,uVar46), (IVar18 & 1) != 0)) ||\n ((dVar30 = (double)_CGRectGetWidth(uVar50,uVar49,uVar48,uVar46),\n dVar30 <= 2.220446049250313e-16 ||\n (dVar30 = (double)_CGRectGetHeight(uVar50,uVar49,uVar48,uVar46), auVar9 = auVar53,\n auVar10 = auVar52, dVar30 <= 2.220446049250313e-16)))))) {\n auVar9 = *(undefined1 (*) [16])(param_1 + 0x378);\n auVar10 = *(undefined1 (*) [16])(param_1 + 0x388);\n }\n IVar18 = *(ID *)(param_1 + 0x370);\n FUN_10001ab3c(*(undefined8 *)(param_1 + 0x378),*(undefined8 *)(param_1 + 0x380),\n *(undefined8 *)(param_1 + 0x388),*(undefined8 *)(param_1 + 0x390));\n IVar25 = objc_stub::count(IVar18);\n if ((IVar25 < 0x4d) ||\n (IVar25 = IVar18, FUN_10001b070(auVar9._0_8_,auVar9._8_8_,auVar10._0_8_,auVar10._8_8_),\n (int)IVar25 == 0)) {\n IVar18 = *(ID *)(param_1 + 0x370);\n auVar9 = *(undefined1 (*) [16])(param_1 + 0x378);\n bVar1 = true;\n auVar10 = *(undefined1 (*) [16])(param_1 + 0x388);\n }\n else {\n bVar1 = true;\n }\n }\n else {\n bVar1 = false;\n IVar18 = 0;\n }\n local_1e0 = auVar10._8_8_;\n local_1d8 = auVar10._0_8_;\n local_1d0 = auVar9._8_8_;\n local_1c8 = auVar9._0_8_;\n objc_stub::unlock(*(ID *)(param_1 + 0x28));\n if (param_6 != 0) {\n if (!bVar29) {\n IVar16 = 0;\n }\n IVar25 = 0;\n if (!bVar1) {\n IVar25 = IVar16;\n }\n *(ID *)param_6 = IVar25;\n }\n if (param_7.field0_0x0.field0_0x0 != 0.0) {\n IVar16 = objc_stub::count(IVar18);\n uVar46 = 0x3ff0000000000000;\n if (IVar16 < 0x4d) {\n uVar46 = 0;\n }\n *(undefined8 *)param_7.field0_0x0.field0_0x0 = uVar46;\n }\n if (param_7.field0_0x0.field1_0x8 != 0.0) {\n *(undefined1 (*) [16])param_7.field0_0x0.field1_0x8 = auVar9;\n *(undefined1 (*) [16])((long)param_7.field0_0x0.field1_0x8 + 0x10) = auVar10;\n }\n if (param_7.field1_0x10.field0_0x0 != 0.0) {\n *(bool *)param_7.field1_0x10.field0_0x0 = bVar1;\n }\n if ((*(uint *)((long)plVar22 + 0xc) & 0x1d) == 1) {\n local_130[0].field0_0x0 = *plVar22;\n local_130[0]._8_8_ = plVar22[1];\n local_130[0].field3_0x10 = plVar22[2];\n _CMTimeGetSeconds(local_130);\n }\n objc_stub::count(param_3);\n NSMutableArray::count(IVar17);\n FUN_10001b584(local_240,uStack_238,local_230,dStack_228);\n FUN_10001b584(local_1e8,local_1f0,local_1f8,local_200);\n FUN_10001b584(local_1c8,local_1d0,local_1d8,local_1e0);\n objc_stub::count(IVar18);\n if (*(long *)PTR____stack_chk_guard_1000a80e8 != local_b0) {\n /* WARNING: Subroutine does not return */\n ___stack_chk_fail();\n }\n return IVar18;\n}\n\n" }, "subject": { "architecture": "arm64", "digest": { "sha256": "afc71d0d21fd3c1ca95ca745ddafcd729e36ad95f17d8638009f2e45d9b7e8df" }, "format": "mach-o", "local_path": "/Users/dayu/Documents/PaintFCP/build/body-analysis/MSE18V2-arm64", "name": "MSE18V2-arm64" } }, { "analysis_profile": { "digest": "20565088524a2d0359b9b96f46ac48e679d774c7b0092c56abc06de8fdbec11c", "parameters": { "analyzer_preset": "ghidra-default", "annotation_policy": "atomic-function-entry-metadata-v1", "architecture": "arm64", "available_architectures": [ "arm64" ], "compiler_spec_id": "auto-default", "decompiler_jump_loads": true, "function_body_evidence": "complete-inclusive-ranges-v1", "function_boundary_observations": "ghidra-terminal-call-limitations-v1", "function_references": "complete-body-and-entry-reference-manager-v2", "import_mode": "ephemeral-source-immutable", "instruction_flow_evidence": "decoded-return-pcode-v1", "jump_table_evidence": "typed-case-default-blocks-v1", "language_id": "auto-from-header", "load_image_observations": "source-mappings-entry-context-v2", "loader": "auto-from-header", "location_resolution": "explicit-address-exact-entry-symbol-first-v3", "no_return_repair": "returning-imports-decoded-return-v2", "process_launch": "inspected-jvm-launch-support-v1", "string_inventory_evidence": "defined-data-coverage-v1", "target_format": "mach-o", "target_kind": "executable" }, "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" } }, "authority": "shipped-artifact", "confidence": "observed", "environment": null, "evidence_id": "ev_5f2559cee95d1b86674a816a456d7ec707bf5bcf0b98cae7cf4b086236b1b4f4", "evidence_links": [], "limitations": [ "The session serves operations only after Ghidra reports default auto-analysis complete; incomplete analysis does not expose partial results.", "The imported Program and temporary project are ephemeral and deleted on close. Annotation operations edit session database metadata; original executable bytes are never written.", "Cancelling an active Ghidra request terminates its ephemeral database and discards session annotations. The selected target remains open; the next provider query imports the original artifact again.", "Default-space addresses use lowercase 0x-prefixed hexadecimal; other address spaces use :0x.", "Assembly is Ghidra Listing text and does not claim textual equivalence with Hopper output.", "macOS sessions require a matching executable Ghidra native decompiler; REA checks for it but does not build native components or change Gatekeeper quarantine state." ], "locations": [], "normalized_result": "0x100054758: stp x20, x19, [sp, #-0x20]!\n0x10005475c: stp x29, x30, [sp, #0x10]\n0x100054760: add x29, sp, #0x10\n0x100054764: adrp x0, 0x100098000\n0x100054768: add x0, x0, #0xb29\n0x10005476c: bl 0x10007ad60\n0x100054770: cbz x0, 0x100054794\n0x100054774: ldrb w8, [x0]\n0x100054778: cbz w8, 0x100054794\n0x10005477c: cmp w8, #0x30\n0x100054780: b.ne 0x10005479c\n0x100054784: ldrb w8, [x0, #0x1]\n0x100054788: cmp w8, #0x0\n0x10005478c: cset w19, ne\n0x100054790: b 0x1000547a0\n0x100054794: mov w19, #0x0\n0x100054798: b 0x1000547a0\n0x10005479c: mov w19, #0x1\n0x1000547a0: adrp x0, 0x1000af000\n0x1000547a4: add x0, x0, #0x5a0\n0x1000547a8: bl 0x10004970c\n0x1000547ac: orr w8, w19, w0\n0x1000547b0: eor w8, w8, #0x1\n0x1000547b4: adrp x9, 0x1000bd000\n0x1000547b8: strb w8, [x9, #0x210]\n0x1000547bc: ldp x29, x30, [sp, #0x10]\n0x1000547c0: ldp x20, x19, [sp], #0x20\n0x1000547c4: ret", "operation": "procedure_assembly", "parameters": { "procedure": "0x100054758" }, "predicate_type": "rea.analysis", "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" }, "raw_result": { "limitations": [], "value": "0x100054758: stp x20, x19, [sp, #-0x20]!\n0x10005475c: stp x29, x30, [sp, #0x10]\n0x100054760: add x29, sp, #0x10\n0x100054764: adrp x0, 0x100098000\n0x100054768: add x0, x0, #0xb29\n0x10005476c: bl 0x10007ad60\n0x100054770: cbz x0, 0x100054794\n0x100054774: ldrb w8, [x0]\n0x100054778: cbz w8, 0x100054794\n0x10005477c: cmp w8, #0x30\n0x100054780: b.ne 0x10005479c\n0x100054784: ldrb w8, [x0, #0x1]\n0x100054788: cmp w8, #0x0\n0x10005478c: cset w19, ne\n0x100054790: b 0x1000547a0\n0x100054794: mov w19, #0x0\n0x100054798: b 0x1000547a0\n0x10005479c: mov w19, #0x1\n0x1000547a0: adrp x0, 0x1000af000\n0x1000547a4: add x0, x0, #0x5a0\n0x1000547a8: bl 0x10004970c\n0x1000547ac: orr w8, w19, w0\n0x1000547b0: eor w8, w8, #0x1\n0x1000547b4: adrp x9, 0x1000bd000\n0x1000547b8: strb w8, [x9, #0x210]\n0x1000547bc: ldp x29, x30, [sp, #0x10]\n0x1000547c0: ldp x20, x19, [sp], #0x20\n0x1000547c4: ret" }, "subject": { "architecture": "arm64", "digest": { "sha256": "afc71d0d21fd3c1ca95ca745ddafcd729e36ad95f17d8638009f2e45d9b7e8df" }, "format": "mach-o", "local_path": "/Users/dayu/Documents/PaintFCP/build/body-analysis/MSE18V2-arm64", "name": "MSE18V2-arm64" } }, { "analysis_profile": { "digest": "20565088524a2d0359b9b96f46ac48e679d774c7b0092c56abc06de8fdbec11c", "parameters": { "analyzer_preset": "ghidra-default", "annotation_policy": "atomic-function-entry-metadata-v1", "architecture": "arm64", "available_architectures": [ "arm64" ], "compiler_spec_id": "auto-default", "decompiler_jump_loads": true, "function_body_evidence": "complete-inclusive-ranges-v1", "function_boundary_observations": "ghidra-terminal-call-limitations-v1", "function_references": "complete-body-and-entry-reference-manager-v2", "import_mode": "ephemeral-source-immutable", "instruction_flow_evidence": "decoded-return-pcode-v1", "jump_table_evidence": "typed-case-default-blocks-v1", "language_id": "auto-from-header", "load_image_observations": "source-mappings-entry-context-v2", "loader": "auto-from-header", "location_resolution": "explicit-address-exact-entry-symbol-first-v3", "no_return_repair": "returning-imports-decoded-return-v2", "process_launch": "inspected-jvm-launch-support-v1", "string_inventory_evidence": "defined-data-coverage-v1", "target_format": "mach-o", "target_kind": "executable" }, "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" } }, "authority": "shipped-artifact", "confidence": "observed", "environment": null, "evidence_id": "ev_729ab4726d11b7161f64e0a3a57b6c9f0170f28f56c06cc89367f1eadfe70676", "evidence_links": [], "limitations": [ "The session serves operations only after Ghidra reports default auto-analysis complete; incomplete analysis does not expose partial results.", "The imported Program and temporary project are ephemeral and deleted on close. Annotation operations edit session database metadata; original executable bytes are never written.", "Cancelling an active Ghidra request terminates its ephemeral database and discards session annotations. The selected target remains open; the next provider query imports the original artifact again.", "Default-space addresses use lowercase 0x-prefixed hexadecimal; other address spaces use :0x.", "Pseudocode is Ghidra decompiler output, not original source and not text-equivalent to Hopper output.", "External functions and functions without an analyzable body return null; other decompiler failures remain explicit.", "Ghidra Listing reports a terminal call at 0x10003d498 to 0x10007aca0 ___stack_chk_fail (external=false, thunk=true, hasNoReturn=true); fallthrough is excluded by Ghidra's flow model. This records Ghidra's FunctionManager flag, not an independent verification that the callee cannot return.", "macOS sessions require a matching executable Ghidra native decompiler; REA checks for it but does not build native components or change Gatekeeper quarantine state." ], "locations": [], "normalized_result": "\n/* WARNING: Function: _objc_release replaced with injection: _objc_release_fixup */\n/* Function Stack Size: 0x3c bytes */\n\nCGRect MSSuperSkinSmoothingPlugIn::\n trackedFaceBoxForInputImage_renderTime_selectedObservation_shouldTrack_\n (ID param_1,SEL param_2,ID param_3,AnonymousStructure0 param_4,ID param_5,\n bool param_6)\n\n{\n double *pdVar1;\n uint uVar2;\n uint uVar3;\n uint uVar4;\n int iVar5;\n double *pdVar6;\n undefined *puVar7;\n ulong uVar8;\n ID IVar9;\n ID IVar10;\n ID IVar11;\n double *pdVar12;\n uint uVar13;\n uint uVar14;\n uint uVar15;\n float extraout_s0;\n double in_d0;\n double dVar16;\n undefined8 extraout_d0;\n double extraout_d0_00;\n undefined8 uVar17;\n double in_d1;\n double dVar18;\n undefined8 uVar19;\n undefined8 uVar20;\n double in_d2;\n double dVar21;\n double in_d3;\n double dVar22;\n double dVar23;\n double dVar24;\n double dVar25;\n double dVar26;\n double dVar27;\n CGRect CVar28;\n ulong local_118;\n double local_110;\n undefined8 uStack_108;\n undefined8 local_100;\n double local_f0;\n double dStack_e8;\n double local_e0;\n double local_d0;\n double dStack_c8;\n double local_c0;\n undefined8 local_b8;\n long local_b0;\n \n uVar8 = param_4._8_8_;\n pdVar12 = (double *)param_4.field0_0x0;\n local_b0 = *(long *)PTR____stack_chk_guard_1000a80e8;\n if ((int)param_4.field3_0x10 == 0) {\nLAB_10003d3d8:\n *(undefined8 *)(param_1 + 0x58) = 0;\n puVar7 = &_OBJC_CLASS___VNSequenceRequestHandler;\n _objc_alloc_init();\n *(undefined **)(param_1 + 0x50) = puVar7;\n *(undefined1 *)(param_1 + 0x520) = 0;\n uVar17 = *(undefined8 *)PTR__CGRectZero_1000a8150;\n uVar20 = *(undefined8 *)(PTR__CGRectZero_1000a8150 + 0x18);\n uVar19 = *(undefined8 *)(PTR__CGRectZero_1000a8150 + 0x10);\n *(undefined8 *)(param_1 + 0x4f0) = *(undefined8 *)(PTR__CGRectZero_1000a8150 + 8);\n *(undefined8 *)(param_1 + 0x4e8) = uVar17;\n *(undefined8 *)(param_1 + 0x500) = uVar20;\n *(undefined8 *)(param_1 + 0x4f8) = uVar19;\n puVar7 = PTR__kCMTimeInvalid_1000a8208;\n uVar17 = *(undefined8 *)PTR__kCMTimeInvalid_1000a8208;\n *(undefined8 *)(param_1 + 0x510) = *(undefined8 *)(PTR__kCMTimeInvalid_1000a8208 + 8);\n *(undefined8 *)(param_1 + 0x508) = uVar17;\n *(undefined8 *)(param_1 + 0x518) = *(undefined8 *)(puVar7 + 0x10);\n }\n else {\n if (DAT_1000be158 != -1) {\n FUN_1000799dc();\n if (param_3 != 0) goto LAB_10003cce0;\n goto LAB_10003d3d8;\n }\n if (param_3 == 0) goto LAB_10003d3d8;\nLAB_10003cce0:\n if ((DAT_1000bd210 & 1) == 0) goto LAB_10003d3d8;\n FUN_10003d49c();\n _CGRectIsNull();\n if ((((uVar8 & 1) != 0) || (_CGRectIsEmpty(in_d0,in_d1,in_d2,in_d3), (uVar8 & 1) != 0)) ||\n (dVar27 = in_d0, _CGRectGetWidth(in_d0,in_d1,in_d2,in_d3), dVar27 <= 2.220446049250313e-16))\n {\n uVar15 = 0;\n }\n else {\n dVar27 = in_d0;\n _CGRectGetHeight(in_d0,in_d1,in_d2,in_d3);\n uVar15 = (uint)(2.220446049250313e-16 < dVar27);\n }\n dVar27 = *(double *)(param_1 + 0x4e8);\n dVar23 = *(double *)(param_1 + 0x4f0);\n dVar26 = *(double *)(param_1 + 0x4f8);\n dVar25 = *(double *)(param_1 + 0x500);\n dVar22 = dVar25;\n _CGRectIsNull(dVar27,dVar23,dVar26);\n uVar4 = (uint)uVar8;\n if ((uVar8 & 1) == 0) {\n dVar22 = dVar25;\n _CGRectIsEmpty(dVar27,dVar23,dVar26);\n uVar4 = (uint)uVar8;\n if (((uVar8 & 1) != 0) ||\n (dVar16 = dVar27, dVar22 = dVar25, _CGRectGetWidth(dVar27,dVar23,dVar26),\n dVar16 <= 2.220446049250313e-16)) goto LAB_10003ce00;\n dVar16 = dVar27;\n dVar22 = dVar25;\n _CGRectGetHeight(dVar27,dVar23,dVar26);\n uVar14 = (uint)(2.220446049250313e-16 < dVar16);\n }\n else {\nLAB_10003ce00:\n uVar14 = 0;\n }\n local_118 = 0;\n uVar2 = *(uint *)((long)pdVar12 + 0xc) & 0x1d;\n pdVar1 = (double *)(param_1 + 0x508);\n uVar3 = *(uint *)(param_1 + 0x514) & 0x1d;\n dVar16 = NAN;\n if ((uVar2 == 1) && (uVar3 == 1)) {\n dStack_c8 = pdVar12[1];\n local_d0 = *pdVar12;\n local_c0 = pdVar12[2];\n dStack_e8 = *(double *)(param_1 + 0x510);\n local_f0 = *pdVar1;\n local_e0 = *(double *)(param_1 + 0x518);\n pdVar6 = &local_d0;\n _CMTimeCompare(pdVar6,&local_f0);\n local_118 = (ulong)pdVar6 >> 0x1f & 1;\n dStack_e8 = pdVar12[1];\n local_f0 = *pdVar12;\n local_e0 = pdVar12[2];\n uStack_108 = *(undefined8 *)(param_1 + 0x510);\n dVar16 = *pdVar1;\n local_100 = *(undefined8 *)(param_1 + 0x518);\n local_110 = dVar16;\n _CMTimeSubtract(&local_d0,&local_f0,&local_110);\n uVar4 = 0;\n _CMTimeGetSeconds();\n }\n dVar18 = ABS(dVar16);\n dVar21 = 0.2;\n uVar13 = 0;\n if (dVar18 <= 0.0005) {\n uVar13 = (uint)((ulong)ABS(dVar16) < 0x7ff0000000000000);\n }\n dVar24 = 1.7976931348623157e+308;\n if (((uVar2 == 1) && ((uVar14 ^ 1) == 0)) && (uVar3 == 1)) {\n dStack_c8 = pdVar12[1];\n local_d0 = *pdVar12;\n local_c0 = pdVar12[2];\n dStack_e8 = *(double *)(param_1 + 0x510);\n local_f0 = *pdVar1;\n local_e0 = *(double *)(param_1 + 0x518);\n pdVar6 = &local_d0;\n _CMTimeCompare(pdVar6,&local_f0);\n uVar4 = (uint)pdVar6;\n if ((int)uVar4 < 0) {\n dVar24 = 1.7976931348623157e+308;\n }\n else {\n dStack_e8 = pdVar12[1];\n local_f0 = *pdVar12;\n local_e0 = pdVar12[2];\n uStack_108 = *(undefined8 *)(param_1 + 0x510);\n dVar24 = *pdVar1;\n local_100 = *(undefined8 *)(param_1 + 0x518);\n local_110 = dVar24;\n _CMTimeSubtract(&local_d0,&local_f0,&local_110);\n uVar4 = 0;\n _CMTimeGetSeconds();\n }\n }\n if ((uVar15 & uVar14) == 1) {\n dVar18 = in_d1;\n dVar21 = in_d2;\n dVar22 = in_d3;\n FUN_10002a568(in_d0);\n }\n else {\n uVar4 = 0;\n }\n puVar7 = *(undefined **)(param_1 + 0x50);\n if (puVar7 == (undefined *)0x0) {\n puVar7 = &_OBJC_CLASS___VNSequenceRequestHandler;\n _objc_alloc_init();\n *(undefined **)(param_1 + 0x50) = puVar7;\n }\n if (((uVar14 & uVar13) == 1) && ((*(byte *)(param_1 + 0x520) & 1) != 0)) goto LAB_10003d440;\n if (local_118 == 0) {\n if (*(long *)(param_1 + 0x58) != 0) {\n if ((uVar14 ^ 1) == 0 && (*(byte *)(param_1 + 0x520) & 1) == 0) goto LAB_10003d178;\n goto LAB_10003d030;\n }\n if (uVar14 != 0) {\nLAB_10003d178:\n if ((((ulong)ABS(dVar24) < 0x7ff0000000000000) && (dVar24 <= 0.45)) &&\n ((uVar15 & uVar4) == 0)) {\n _NSStringFromRect(dVar27,dVar23,dVar26,dVar25);\n if (uVar15 != 0) {\n _NSStringFromRect(in_d0,in_d1,in_d2,in_d3);\n }\n FUN_1000329ac(&cf_faceTrackholdLostage___3fprevious___selected___);\n goto LAB_10003d440;\n }\n goto LAB_10003d018;\n }\nLAB_10003d1f4:\n if (uVar15 != 0) {\n IVar9 = VNDetectedObjectObservation::observationWithBoundingBox_\n ((ID)&_OBJC_CLASS___VNDetectedObjectObservation,in_d0,in_d1,in_d2,in_d3);\n puVar7 = &_OBJC_CLASS___VNTrackObjectRequest;\n _objc_alloc();\n IVar9 = objc_stub::initWithDetectedObjectObservation_((ID)puVar7,IVar9);\n *(ID *)(param_1 + 0x58) = IVar9;\n IVar9 = VNTrackObjectRequest::supportedRevisions((ID)&_OBJC_CLASS___VNTrackObjectRequest);\n IVar10 = VNTrackObjectRequest::defaultRevision((ID)&_OBJC_CLASS___VNTrackObjectRequest);\n if (((IVar10 != 0) &&\n (IVar11 = VNTrackObjectRequest::containsIndex_(IVar9,IVar10), (IVar11 & 1) != 0)) ||\n (((IVar10 = VNTrackObjectRequest::currentRevision\n ((ID)&_OBJC_CLASS___VNTrackObjectRequest), IVar10 != 0 &&\n (IVar11 = VNTrackObjectRequest::containsIndex_(IVar9,IVar10), (IVar11 & 1) != 0)) ||\n ((IVar10 = VNTrackObjectRequest::lastIndex(IVar9), IVar10 != 0 &&\n (IVar10 != 0x7fffffffffffffff)))))) {\n objc_stub::setRevision_(*(ID *)(param_1 + 0x58),IVar10);\n }\n objc_stub::setTrackingLevel_(*(ID *)(param_1 + 0x58),0);\n *(double *)(param_1 + 0x4e8) = in_d0;\n *(double *)(param_1 + 0x4f0) = in_d1;\n *(double *)(param_1 + 0x4f8) = in_d2;\n *(double *)(param_1 + 0x500) = in_d3;\n dVar23 = pdVar12[1];\n dVar27 = *pdVar12;\n *(double *)(param_1 + 0x518) = pdVar12[2];\n *(double *)(param_1 + 0x510) = dVar23;\n *pdVar1 = dVar27;\n *(undefined1 *)(param_1 + 0x520) = 1;\n objc_stub::revision(*(ID *)(param_1 + 0x58));\n _NSStringFromRect(in_d0,in_d1,in_d2,in_d3);\n dVar27 = in_d0;\n dVar23 = in_d1;\n dVar26 = in_d2;\n dVar25 = in_d3;\n goto LAB_10003d440;\n }\nLAB_10003d300:\n *(undefined1 *)(param_1 + 0x520) = 0;\n }\n else {\nLAB_10003d018:\n if (*(long *)(param_1 + 0x58) == 0) goto LAB_10003d1f4;\nLAB_10003d030:\n if (((int)local_118 != 0 || ((*(byte *)(param_1 + 0x520) ^ 0xff) & 1) != 0) ||\n (ulong)ABS(dVar16) < 0x7ff0000000000000 && 0.2 < dVar16) goto LAB_10003d1f4;\n if (puVar7 == (undefined *)0x0) goto LAB_10003d300;\n IVar9 = objc_stub::extent(param_3);\n iVar5 = (int)IVar9;\n _CGRectIsEmpty();\n if ((iVar5 == 0) && (FUN_10002ee0c(extraout_d0), param_3 != 0)) {\n local_d0 = 0.0;\n IVar9 = *(ID *)(param_1 + 0x50);\n local_b8 = *(undefined8 *)(param_1 + 0x58);\n IVar10 = NSArray::arrayWithObjects_count_((ID)&_OBJC_CLASS___NSArray,&local_b8,1);\n IVar9 = objc_stub::performRequests_onCIImage_orientation_error_\n (IVar9,IVar10,param_3,1,&local_d0);\n if ((IVar9 & 1) == 0) {\n FUN_10003d658(0);\n }\n else {\n IVar9 = objc_stub::results(*(ID *)(param_1 + 0x58));\n IVar9 = objc_stub::firstObject(IVar9);\n dVar16 = extraout_d0_00;\n FUN_10003d658();\n if (IVar9 != 0) {\n uVar8 = objc_stub::confidence(IVar9);\n if ((0.22 <= extraout_s0) &&\n (FUN_10001a870(dVar16,dVar18,dVar21,dVar22), (uVar8 & 1) != 0)) {\n objc_stub::setInputObservation_(*(ID *)(param_1 + 0x58),IVar9);\n objc_stub::setTrackingLevel_(*(ID *)(param_1 + 0x58),0);\n *(double *)(param_1 + 0x4e8) = dVar16;\n *(double *)(param_1 + 0x4f0) = dVar18;\n *(double *)(param_1 + 0x4f8) = dVar21;\n *(double *)(param_1 + 0x500) = dVar22;\n dVar23 = pdVar12[1];\n dVar27 = *pdVar12;\n *(double *)(param_1 + 0x518) = pdVar12[2];\n *(double *)(param_1 + 0x510) = dVar23;\n *pdVar1 = dVar27;\n *(undefined1 *)(param_1 + 0x520) = 1;\n dVar27 = dVar16;\n dVar23 = dVar18;\n dVar26 = dVar21;\n dVar25 = dVar22;\n goto LAB_10003d440;\n }\n objc_stub::confidence(IVar9);\n }\n }\n *(undefined8 *)(param_1 + 0x58) = 0;\n puVar7 = &_OBJC_CLASS___VNSequenceRequestHandler;\n _objc_alloc_init();\n *(undefined **)(param_1 + 0x50) = puVar7;\n *(undefined1 *)(param_1 + 0x520) = 0;\n if (uVar14 != 0) {\n *(double *)(param_1 + 0x4e8) = dVar27;\n *(double *)(param_1 + 0x4f0) = dVar23;\n *(double *)(param_1 + 0x4f8) = dVar26;\n *(double *)(param_1 + 0x500) = dVar25;\n goto LAB_10003d440;\n }\n uVar17 = *(undefined8 *)PTR__CGRectZero_1000a8150;\n uVar20 = *(undefined8 *)(PTR__CGRectZero_1000a8150 + 0x18);\n uVar19 = *(undefined8 *)(PTR__CGRectZero_1000a8150 + 0x10);\n *(undefined8 *)(param_1 + 0x4f0) = *(undefined8 *)(PTR__CGRectZero_1000a8150 + 8);\n *(undefined8 *)(param_1 + 0x4e8) = uVar17;\n *(undefined8 *)(param_1 + 0x500) = uVar20;\n *(undefined8 *)(param_1 + 0x4f8) = uVar19;\n puVar7 = PTR__kCMTimeInvalid_1000a8208;\n dVar27 = *(double *)PTR__kCMTimeInvalid_1000a8208;\n *(undefined8 *)(param_1 + 0x510) = *(undefined8 *)(PTR__kCMTimeInvalid_1000a8208 + 8);\n *pdVar1 = dVar27;\n *(undefined8 *)(param_1 + 0x518) = *(undefined8 *)(puVar7 + 0x10);\n dVar27 = in_d0;\n dVar23 = in_d1;\n dVar26 = in_d2;\n dVar25 = in_d3;\n }\n else {\n *(undefined1 *)(param_1 + 0x520) = 0;\n uVar15 = uVar14;\n }\n if (uVar15 != 0) goto LAB_10003d440;\n }\n }\n dVar27 = *(double *)PTR__CGRectNull_1000a8148;\n dVar23 = *(double *)(PTR__CGRectNull_1000a8148 + 8);\n dVar26 = *(double *)(PTR__CGRectNull_1000a8148 + 0x10);\n dVar25 = *(double *)(PTR__CGRectNull_1000a8148 + 0x18);\nLAB_10003d440:\n if (*(long *)PTR____stack_chk_guard_1000a80e8 == local_b0) {\n CVar28.field0_0x0.field1_0x8 = dVar23;\n CVar28.field0_0x0.field0_0x0 = dVar27;\n CVar28.field1_0x10.field1_0x8 = dVar25;\n CVar28.field1_0x10.field0_0x0 = dVar26;\n return CVar28;\n }\n /* WARNING: Subroutine does not return */\n ___stack_chk_fail();\n}\n\n", "operation": "procedure_pseudo_code", "parameters": { "procedure": "0x10003cc78" }, "predicate_type": "rea.analysis", "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" }, "raw_result": { "limitations": [ "Ghidra Listing reports a terminal call at 0x10003d498 to 0x10007aca0 ___stack_chk_fail (external=false, thunk=true, hasNoReturn=true); fallthrough is excluded by Ghidra's flow model. This records Ghidra's FunctionManager flag, not an independent verification that the callee cannot return." ], "value": "\n/* WARNING: Function: _objc_release replaced with injection: _objc_release_fixup */\n/* Function Stack Size: 0x3c bytes */\n\nCGRect MSSuperSkinSmoothingPlugIn::\n trackedFaceBoxForInputImage_renderTime_selectedObservation_shouldTrack_\n (ID param_1,SEL param_2,ID param_3,AnonymousStructure0 param_4,ID param_5,\n bool param_6)\n\n{\n double *pdVar1;\n uint uVar2;\n uint uVar3;\n uint uVar4;\n int iVar5;\n double *pdVar6;\n undefined *puVar7;\n ulong uVar8;\n ID IVar9;\n ID IVar10;\n ID IVar11;\n double *pdVar12;\n uint uVar13;\n uint uVar14;\n uint uVar15;\n float extraout_s0;\n double in_d0;\n double dVar16;\n undefined8 extraout_d0;\n double extraout_d0_00;\n undefined8 uVar17;\n double in_d1;\n double dVar18;\n undefined8 uVar19;\n undefined8 uVar20;\n double in_d2;\n double dVar21;\n double in_d3;\n double dVar22;\n double dVar23;\n double dVar24;\n double dVar25;\n double dVar26;\n double dVar27;\n CGRect CVar28;\n ulong local_118;\n double local_110;\n undefined8 uStack_108;\n undefined8 local_100;\n double local_f0;\n double dStack_e8;\n double local_e0;\n double local_d0;\n double dStack_c8;\n double local_c0;\n undefined8 local_b8;\n long local_b0;\n \n uVar8 = param_4._8_8_;\n pdVar12 = (double *)param_4.field0_0x0;\n local_b0 = *(long *)PTR____stack_chk_guard_1000a80e8;\n if ((int)param_4.field3_0x10 == 0) {\nLAB_10003d3d8:\n *(undefined8 *)(param_1 + 0x58) = 0;\n puVar7 = &_OBJC_CLASS___VNSequenceRequestHandler;\n _objc_alloc_init();\n *(undefined **)(param_1 + 0x50) = puVar7;\n *(undefined1 *)(param_1 + 0x520) = 0;\n uVar17 = *(undefined8 *)PTR__CGRectZero_1000a8150;\n uVar20 = *(undefined8 *)(PTR__CGRectZero_1000a8150 + 0x18);\n uVar19 = *(undefined8 *)(PTR__CGRectZero_1000a8150 + 0x10);\n *(undefined8 *)(param_1 + 0x4f0) = *(undefined8 *)(PTR__CGRectZero_1000a8150 + 8);\n *(undefined8 *)(param_1 + 0x4e8) = uVar17;\n *(undefined8 *)(param_1 + 0x500) = uVar20;\n *(undefined8 *)(param_1 + 0x4f8) = uVar19;\n puVar7 = PTR__kCMTimeInvalid_1000a8208;\n uVar17 = *(undefined8 *)PTR__kCMTimeInvalid_1000a8208;\n *(undefined8 *)(param_1 + 0x510) = *(undefined8 *)(PTR__kCMTimeInvalid_1000a8208 + 8);\n *(undefined8 *)(param_1 + 0x508) = uVar17;\n *(undefined8 *)(param_1 + 0x518) = *(undefined8 *)(puVar7 + 0x10);\n }\n else {\n if (DAT_1000be158 != -1) {\n FUN_1000799dc();\n if (param_3 != 0) goto LAB_10003cce0;\n goto LAB_10003d3d8;\n }\n if (param_3 == 0) goto LAB_10003d3d8;\nLAB_10003cce0:\n if ((DAT_1000bd210 & 1) == 0) goto LAB_10003d3d8;\n FUN_10003d49c();\n _CGRectIsNull();\n if ((((uVar8 & 1) != 0) || (_CGRectIsEmpty(in_d0,in_d1,in_d2,in_d3), (uVar8 & 1) != 0)) ||\n (dVar27 = in_d0, _CGRectGetWidth(in_d0,in_d1,in_d2,in_d3), dVar27 <= 2.220446049250313e-16))\n {\n uVar15 = 0;\n }\n else {\n dVar27 = in_d0;\n _CGRectGetHeight(in_d0,in_d1,in_d2,in_d3);\n uVar15 = (uint)(2.220446049250313e-16 < dVar27);\n }\n dVar27 = *(double *)(param_1 + 0x4e8);\n dVar23 = *(double *)(param_1 + 0x4f0);\n dVar26 = *(double *)(param_1 + 0x4f8);\n dVar25 = *(double *)(param_1 + 0x500);\n dVar22 = dVar25;\n _CGRectIsNull(dVar27,dVar23,dVar26);\n uVar4 = (uint)uVar8;\n if ((uVar8 & 1) == 0) {\n dVar22 = dVar25;\n _CGRectIsEmpty(dVar27,dVar23,dVar26);\n uVar4 = (uint)uVar8;\n if (((uVar8 & 1) != 0) ||\n (dVar16 = dVar27, dVar22 = dVar25, _CGRectGetWidth(dVar27,dVar23,dVar26),\n dVar16 <= 2.220446049250313e-16)) goto LAB_10003ce00;\n dVar16 = dVar27;\n dVar22 = dVar25;\n _CGRectGetHeight(dVar27,dVar23,dVar26);\n uVar14 = (uint)(2.220446049250313e-16 < dVar16);\n }\n else {\nLAB_10003ce00:\n uVar14 = 0;\n }\n local_118 = 0;\n uVar2 = *(uint *)((long)pdVar12 + 0xc) & 0x1d;\n pdVar1 = (double *)(param_1 + 0x508);\n uVar3 = *(uint *)(param_1 + 0x514) & 0x1d;\n dVar16 = NAN;\n if ((uVar2 == 1) && (uVar3 == 1)) {\n dStack_c8 = pdVar12[1];\n local_d0 = *pdVar12;\n local_c0 = pdVar12[2];\n dStack_e8 = *(double *)(param_1 + 0x510);\n local_f0 = *pdVar1;\n local_e0 = *(double *)(param_1 + 0x518);\n pdVar6 = &local_d0;\n _CMTimeCompare(pdVar6,&local_f0);\n local_118 = (ulong)pdVar6 >> 0x1f & 1;\n dStack_e8 = pdVar12[1];\n local_f0 = *pdVar12;\n local_e0 = pdVar12[2];\n uStack_108 = *(undefined8 *)(param_1 + 0x510);\n dVar16 = *pdVar1;\n local_100 = *(undefined8 *)(param_1 + 0x518);\n local_110 = dVar16;\n _CMTimeSubtract(&local_d0,&local_f0,&local_110);\n uVar4 = 0;\n _CMTimeGetSeconds();\n }\n dVar18 = ABS(dVar16);\n dVar21 = 0.2;\n uVar13 = 0;\n if (dVar18 <= 0.0005) {\n uVar13 = (uint)((ulong)ABS(dVar16) < 0x7ff0000000000000);\n }\n dVar24 = 1.7976931348623157e+308;\n if (((uVar2 == 1) && ((uVar14 ^ 1) == 0)) && (uVar3 == 1)) {\n dStack_c8 = pdVar12[1];\n local_d0 = *pdVar12;\n local_c0 = pdVar12[2];\n dStack_e8 = *(double *)(param_1 + 0x510);\n local_f0 = *pdVar1;\n local_e0 = *(double *)(param_1 + 0x518);\n pdVar6 = &local_d0;\n _CMTimeCompare(pdVar6,&local_f0);\n uVar4 = (uint)pdVar6;\n if ((int)uVar4 < 0) {\n dVar24 = 1.7976931348623157e+308;\n }\n else {\n dStack_e8 = pdVar12[1];\n local_f0 = *pdVar12;\n local_e0 = pdVar12[2];\n uStack_108 = *(undefined8 *)(param_1 + 0x510);\n dVar24 = *pdVar1;\n local_100 = *(undefined8 *)(param_1 + 0x518);\n local_110 = dVar24;\n _CMTimeSubtract(&local_d0,&local_f0,&local_110);\n uVar4 = 0;\n _CMTimeGetSeconds();\n }\n }\n if ((uVar15 & uVar14) == 1) {\n dVar18 = in_d1;\n dVar21 = in_d2;\n dVar22 = in_d3;\n FUN_10002a568(in_d0);\n }\n else {\n uVar4 = 0;\n }\n puVar7 = *(undefined **)(param_1 + 0x50);\n if (puVar7 == (undefined *)0x0) {\n puVar7 = &_OBJC_CLASS___VNSequenceRequestHandler;\n _objc_alloc_init();\n *(undefined **)(param_1 + 0x50) = puVar7;\n }\n if (((uVar14 & uVar13) == 1) && ((*(byte *)(param_1 + 0x520) & 1) != 0)) goto LAB_10003d440;\n if (local_118 == 0) {\n if (*(long *)(param_1 + 0x58) != 0) {\n if ((uVar14 ^ 1) == 0 && (*(byte *)(param_1 + 0x520) & 1) == 0) goto LAB_10003d178;\n goto LAB_10003d030;\n }\n if (uVar14 != 0) {\nLAB_10003d178:\n if ((((ulong)ABS(dVar24) < 0x7ff0000000000000) && (dVar24 <= 0.45)) &&\n ((uVar15 & uVar4) == 0)) {\n _NSStringFromRect(dVar27,dVar23,dVar26,dVar25);\n if (uVar15 != 0) {\n _NSStringFromRect(in_d0,in_d1,in_d2,in_d3);\n }\n FUN_1000329ac(&cf_faceTrackholdLostage___3fprevious___selected___);\n goto LAB_10003d440;\n }\n goto LAB_10003d018;\n }\nLAB_10003d1f4:\n if (uVar15 != 0) {\n IVar9 = VNDetectedObjectObservation::observationWithBoundingBox_\n ((ID)&_OBJC_CLASS___VNDetectedObjectObservation,in_d0,in_d1,in_d2,in_d3);\n puVar7 = &_OBJC_CLASS___VNTrackObjectRequest;\n _objc_alloc();\n IVar9 = objc_stub::initWithDetectedObjectObservation_((ID)puVar7,IVar9);\n *(ID *)(param_1 + 0x58) = IVar9;\n IVar9 = VNTrackObjectRequest::supportedRevisions((ID)&_OBJC_CLASS___VNTrackObjectRequest);\n IVar10 = VNTrackObjectRequest::defaultRevision((ID)&_OBJC_CLASS___VNTrackObjectRequest);\n if (((IVar10 != 0) &&\n (IVar11 = VNTrackObjectRequest::containsIndex_(IVar9,IVar10), (IVar11 & 1) != 0)) ||\n (((IVar10 = VNTrackObjectRequest::currentRevision\n ((ID)&_OBJC_CLASS___VNTrackObjectRequest), IVar10 != 0 &&\n (IVar11 = VNTrackObjectRequest::containsIndex_(IVar9,IVar10), (IVar11 & 1) != 0)) ||\n ((IVar10 = VNTrackObjectRequest::lastIndex(IVar9), IVar10 != 0 &&\n (IVar10 != 0x7fffffffffffffff)))))) {\n objc_stub::setRevision_(*(ID *)(param_1 + 0x58),IVar10);\n }\n objc_stub::setTrackingLevel_(*(ID *)(param_1 + 0x58),0);\n *(double *)(param_1 + 0x4e8) = in_d0;\n *(double *)(param_1 + 0x4f0) = in_d1;\n *(double *)(param_1 + 0x4f8) = in_d2;\n *(double *)(param_1 + 0x500) = in_d3;\n dVar23 = pdVar12[1];\n dVar27 = *pdVar12;\n *(double *)(param_1 + 0x518) = pdVar12[2];\n *(double *)(param_1 + 0x510) = dVar23;\n *pdVar1 = dVar27;\n *(undefined1 *)(param_1 + 0x520) = 1;\n objc_stub::revision(*(ID *)(param_1 + 0x58));\n _NSStringFromRect(in_d0,in_d1,in_d2,in_d3);\n dVar27 = in_d0;\n dVar23 = in_d1;\n dVar26 = in_d2;\n dVar25 = in_d3;\n goto LAB_10003d440;\n }\nLAB_10003d300:\n *(undefined1 *)(param_1 + 0x520) = 0;\n }\n else {\nLAB_10003d018:\n if (*(long *)(param_1 + 0x58) == 0) goto LAB_10003d1f4;\nLAB_10003d030:\n if (((int)local_118 != 0 || ((*(byte *)(param_1 + 0x520) ^ 0xff) & 1) != 0) ||\n (ulong)ABS(dVar16) < 0x7ff0000000000000 && 0.2 < dVar16) goto LAB_10003d1f4;\n if (puVar7 == (undefined *)0x0) goto LAB_10003d300;\n IVar9 = objc_stub::extent(param_3);\n iVar5 = (int)IVar9;\n _CGRectIsEmpty();\n if ((iVar5 == 0) && (FUN_10002ee0c(extraout_d0), param_3 != 0)) {\n local_d0 = 0.0;\n IVar9 = *(ID *)(param_1 + 0x50);\n local_b8 = *(undefined8 *)(param_1 + 0x58);\n IVar10 = NSArray::arrayWithObjects_count_((ID)&_OBJC_CLASS___NSArray,&local_b8,1);\n IVar9 = objc_stub::performRequests_onCIImage_orientation_error_\n (IVar9,IVar10,param_3,1,&local_d0);\n if ((IVar9 & 1) == 0) {\n FUN_10003d658(0);\n }\n else {\n IVar9 = objc_stub::results(*(ID *)(param_1 + 0x58));\n IVar9 = objc_stub::firstObject(IVar9);\n dVar16 = extraout_d0_00;\n FUN_10003d658();\n if (IVar9 != 0) {\n uVar8 = objc_stub::confidence(IVar9);\n if ((0.22 <= extraout_s0) &&\n (FUN_10001a870(dVar16,dVar18,dVar21,dVar22), (uVar8 & 1) != 0)) {\n objc_stub::setInputObservation_(*(ID *)(param_1 + 0x58),IVar9);\n objc_stub::setTrackingLevel_(*(ID *)(param_1 + 0x58),0);\n *(double *)(param_1 + 0x4e8) = dVar16;\n *(double *)(param_1 + 0x4f0) = dVar18;\n *(double *)(param_1 + 0x4f8) = dVar21;\n *(double *)(param_1 + 0x500) = dVar22;\n dVar23 = pdVar12[1];\n dVar27 = *pdVar12;\n *(double *)(param_1 + 0x518) = pdVar12[2];\n *(double *)(param_1 + 0x510) = dVar23;\n *pdVar1 = dVar27;\n *(undefined1 *)(param_1 + 0x520) = 1;\n dVar27 = dVar16;\n dVar23 = dVar18;\n dVar26 = dVar21;\n dVar25 = dVar22;\n goto LAB_10003d440;\n }\n objc_stub::confidence(IVar9);\n }\n }\n *(undefined8 *)(param_1 + 0x58) = 0;\n puVar7 = &_OBJC_CLASS___VNSequenceRequestHandler;\n _objc_alloc_init();\n *(undefined **)(param_1 + 0x50) = puVar7;\n *(undefined1 *)(param_1 + 0x520) = 0;\n if (uVar14 != 0) {\n *(double *)(param_1 + 0x4e8) = dVar27;\n *(double *)(param_1 + 0x4f0) = dVar23;\n *(double *)(param_1 + 0x4f8) = dVar26;\n *(double *)(param_1 + 0x500) = dVar25;\n goto LAB_10003d440;\n }\n uVar17 = *(undefined8 *)PTR__CGRectZero_1000a8150;\n uVar20 = *(undefined8 *)(PTR__CGRectZero_1000a8150 + 0x18);\n uVar19 = *(undefined8 *)(PTR__CGRectZero_1000a8150 + 0x10);\n *(undefined8 *)(param_1 + 0x4f0) = *(undefined8 *)(PTR__CGRectZero_1000a8150 + 8);\n *(undefined8 *)(param_1 + 0x4e8) = uVar17;\n *(undefined8 *)(param_1 + 0x500) = uVar20;\n *(undefined8 *)(param_1 + 0x4f8) = uVar19;\n puVar7 = PTR__kCMTimeInvalid_1000a8208;\n dVar27 = *(double *)PTR__kCMTimeInvalid_1000a8208;\n *(undefined8 *)(param_1 + 0x510) = *(undefined8 *)(PTR__kCMTimeInvalid_1000a8208 + 8);\n *pdVar1 = dVar27;\n *(undefined8 *)(param_1 + 0x518) = *(undefined8 *)(puVar7 + 0x10);\n dVar27 = in_d0;\n dVar23 = in_d1;\n dVar26 = in_d2;\n dVar25 = in_d3;\n }\n else {\n *(undefined1 *)(param_1 + 0x520) = 0;\n uVar15 = uVar14;\n }\n if (uVar15 != 0) goto LAB_10003d440;\n }\n }\n dVar27 = *(double *)PTR__CGRectNull_1000a8148;\n dVar23 = *(double *)(PTR__CGRectNull_1000a8148 + 8);\n dVar26 = *(double *)(PTR__CGRectNull_1000a8148 + 0x10);\n dVar25 = *(double *)(PTR__CGRectNull_1000a8148 + 0x18);\nLAB_10003d440:\n if (*(long *)PTR____stack_chk_guard_1000a80e8 == local_b0) {\n CVar28.field0_0x0.field1_0x8 = dVar23;\n CVar28.field0_0x0.field0_0x0 = dVar27;\n CVar28.field1_0x10.field1_0x8 = dVar25;\n CVar28.field1_0x10.field0_0x0 = dVar26;\n return CVar28;\n }\n /* WARNING: Subroutine does not return */\n ___stack_chk_fail();\n}\n\n" }, "subject": { "architecture": "arm64", "digest": { "sha256": "afc71d0d21fd3c1ca95ca745ddafcd729e36ad95f17d8638009f2e45d9b7e8df" }, "format": "mach-o", "local_path": "/Users/dayu/Documents/PaintFCP/build/body-analysis/MSE18V2-arm64", "name": "MSE18V2-arm64" } }, { "analysis_profile": { "digest": "20565088524a2d0359b9b96f46ac48e679d774c7b0092c56abc06de8fdbec11c", "parameters": { "analyzer_preset": "ghidra-default", "annotation_policy": "atomic-function-entry-metadata-v1", "architecture": "arm64", "available_architectures": [ "arm64" ], "compiler_spec_id": "auto-default", "decompiler_jump_loads": true, "function_body_evidence": "complete-inclusive-ranges-v1", "function_boundary_observations": "ghidra-terminal-call-limitations-v1", "function_references": "complete-body-and-entry-reference-manager-v2", "import_mode": "ephemeral-source-immutable", "instruction_flow_evidence": "decoded-return-pcode-v1", "jump_table_evidence": "typed-case-default-blocks-v1", "language_id": "auto-from-header", "load_image_observations": "source-mappings-entry-context-v2", "loader": "auto-from-header", "location_resolution": "explicit-address-exact-entry-symbol-first-v3", "no_return_repair": "returning-imports-decoded-return-v2", "process_launch": "inspected-jvm-launch-support-v1", "string_inventory_evidence": "defined-data-coverage-v1", "target_format": "mach-o", "target_kind": "executable" }, "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" } }, "authority": "shipped-artifact", "confidence": "observed", "environment": null, "evidence_id": "ev_75977d9852dc06ffd97fea6e289111996a529789e2971a44ecc07e1cb8b9b1a1", "evidence_links": [], "limitations": [ "The session serves operations only after Ghidra reports default auto-analysis complete; incomplete analysis does not expose partial results.", "The imported Program and temporary project are ephemeral and deleted on close. Annotation operations edit session database metadata; original executable bytes are never written.", "Cancelling an active Ghidra request terminates its ephemeral database and discards session annotations. The selected target remains open; the next provider query imports the original artifact again.", "Default-space addresses use lowercase 0x-prefixed hexadecimal; other address spaces use :0x.", "Pseudocode is Ghidra decompiler output, not original source and not text-equivalent to Hopper output.", "External functions and functions without an analyzable body return null; other decompiler failures remain explicit.", "macOS sessions require a matching executable Ghidra native decompiler; REA checks for it but does not build native components or change Gatekeeper quarantine state." ], "locations": [], "normalized_result": "\nvoid FUN_100054758(void)\n\n{\n bool bVar1;\n byte bVar2;\n char *pcVar3;\n \n pcVar3 = _getenv(\"MSE18_DISABLE_FACE_THIN_VISION_TRACKER\");\n if ((pcVar3 == (char *)0x0) || (*pcVar3 == '\\0')) {\n bVar1 = false;\n }\n else if (*pcVar3 == '0') {\n bVar1 = pcVar3[1] != '\\0';\n }\n else {\n bVar1 = true;\n }\n bVar2 = 0xa0;\n FUN_10004970c();\n DAT_1000bd210 = (bVar1 | bVar2) ^ 1;\n return;\n}\n\n", "operation": "procedure_pseudo_code", "parameters": { "procedure": "0x100054758" }, "predicate_type": "rea.analysis", "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" }, "raw_result": { "limitations": [], "value": "\nvoid FUN_100054758(void)\n\n{\n bool bVar1;\n byte bVar2;\n char *pcVar3;\n \n pcVar3 = _getenv(\"MSE18_DISABLE_FACE_THIN_VISION_TRACKER\");\n if ((pcVar3 == (char *)0x0) || (*pcVar3 == '\\0')) {\n bVar1 = false;\n }\n else if (*pcVar3 == '0') {\n bVar1 = pcVar3[1] != '\\0';\n }\n else {\n bVar1 = true;\n }\n bVar2 = 0xa0;\n FUN_10004970c();\n DAT_1000bd210 = (bVar1 | bVar2) ^ 1;\n return;\n}\n\n" }, "subject": { "architecture": "arm64", "digest": { "sha256": "afc71d0d21fd3c1ca95ca745ddafcd729e36ad95f17d8638009f2e45d9b7e8df" }, "format": "mach-o", "local_path": "/Users/dayu/Documents/PaintFCP/build/body-analysis/MSE18V2-arm64", "name": "MSE18V2-arm64" } }, { "analysis_profile": { "digest": "20565088524a2d0359b9b96f46ac48e679d774c7b0092c56abc06de8fdbec11c", "parameters": { "analyzer_preset": "ghidra-default", "annotation_policy": "atomic-function-entry-metadata-v1", "architecture": "arm64", "available_architectures": [ "arm64" ], "compiler_spec_id": "auto-default", "decompiler_jump_loads": true, "function_body_evidence": "complete-inclusive-ranges-v1", "function_boundary_observations": "ghidra-terminal-call-limitations-v1", "function_references": "complete-body-and-entry-reference-manager-v2", "import_mode": "ephemeral-source-immutable", "instruction_flow_evidence": "decoded-return-pcode-v1", "jump_table_evidence": "typed-case-default-blocks-v1", "language_id": "auto-from-header", "load_image_observations": "source-mappings-entry-context-v2", "loader": "auto-from-header", "location_resolution": "explicit-address-exact-entry-symbol-first-v3", "no_return_repair": "returning-imports-decoded-return-v2", "process_launch": "inspected-jvm-launch-support-v1", "string_inventory_evidence": "defined-data-coverage-v1", "target_format": "mach-o", "target_kind": "executable" }, "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" } }, "authority": "shipped-artifact", "confidence": "observed", "environment": null, "evidence_id": "ev_7c53c39d245e0063cab89358ab8948cdd734488460464d5f455674bb80a1515a", "evidence_links": [], "limitations": [ "The session serves operations only after Ghidra reports default auto-analysis complete; incomplete analysis does not expose partial results.", "The imported Program and temporary project are ephemeral and deleted on close. Annotation operations edit session database metadata; original executable bytes are never written.", "Cancelling an active Ghidra request terminates its ephemeral database and discards session annotations. The selected target remains open; the next provider query imports the original artifact again.", "Default-space addresses use lowercase 0x-prefixed hexadecimal; other address spaces use :0x.", "Only resolved Ghidra call references are returned; unresolved computed or indirect calls remain unknown, while function classifications distinguish thunks and externals.", "macOS sessions require a matching executable Ghidra native decompiler; REA checks for it but does not build native components or change Gatekeeper quarantine state." ], "locations": [], "normalized_result": [ "0x10003d69c" ], "operation": "procedure_callers", "parameters": { "procedure": "0x10003cc78" }, "predicate_type": "rea.analysis", "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" }, "raw_result": [ "0x10003d69c" ], "subject": { "architecture": "arm64", "digest": { "sha256": "afc71d0d21fd3c1ca95ca745ddafcd729e36ad95f17d8638009f2e45d9b7e8df" }, "format": "mach-o", "local_path": "/Users/dayu/Documents/PaintFCP/build/body-analysis/MSE18V2-arm64", "name": "MSE18V2-arm64" } }, { "analysis_profile": { "digest": "20565088524a2d0359b9b96f46ac48e679d774c7b0092c56abc06de8fdbec11c", "parameters": { "analyzer_preset": "ghidra-default", "annotation_policy": "atomic-function-entry-metadata-v1", "architecture": "arm64", "available_architectures": [ "arm64" ], "compiler_spec_id": "auto-default", "decompiler_jump_loads": true, "function_body_evidence": "complete-inclusive-ranges-v1", "function_boundary_observations": "ghidra-terminal-call-limitations-v1", "function_references": "complete-body-and-entry-reference-manager-v2", "import_mode": "ephemeral-source-immutable", "instruction_flow_evidence": "decoded-return-pcode-v1", "jump_table_evidence": "typed-case-default-blocks-v1", "language_id": "auto-from-header", "load_image_observations": "source-mappings-entry-context-v2", "loader": "auto-from-header", "location_resolution": "explicit-address-exact-entry-symbol-first-v3", "no_return_repair": "returning-imports-decoded-return-v2", "process_launch": "inspected-jvm-launch-support-v1", "string_inventory_evidence": "defined-data-coverage-v1", "target_format": "mach-o", "target_kind": "executable" }, "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" } }, "authority": "shipped-artifact", "confidence": "observed", "environment": null, "evidence_id": "ev_7fd88fe8fc5cf8d5e00e4e389c65858cb09f887ba797564bda171b5ba48124ce", "evidence_links": [], "limitations": [ "The session serves operations only after Ghidra reports default auto-analysis complete; incomplete analysis does not expose partial results.", "The imported Program and temporary project are ephemeral and deleted on close. Annotation operations edit session database metadata; original executable bytes are never written.", "Cancelling an active Ghidra request terminates its ephemeral database and discards session annotations. The selected target remains open; the next provider query imports the original artifact again.", "Default-space addresses use lowercase 0x-prefixed hexadecimal; other address spaces use :0x.", "Pseudocode is Ghidra decompiler output, not original source and not text-equivalent to Hopper output.", "External functions and functions without an analyzable body return null; other decompiler failures remain explicit.", "Ghidra Listing reports a terminal call at 0x100029d1c to 0x10007aca0 ___stack_chk_fail (external=false, thunk=true, hasNoReturn=true); fallthrough is excluded by Ghidra's flow model. This records Ghidra's FunctionManager flag, not an independent verification that the callee cannot return.", "macOS sessions require a matching executable Ghidra native decompiler; REA checks for it but does not build native components or change Gatekeeper quarantine state." ], "locations": [], "normalized_result": "\nID FUN_100029a00(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4,\n ID param_5)\n\n{\n ID IVar1;\n ID IVar2;\n ID IVar3;\n ID IVar4;\n double *pdVar5;\n long lVar6;\n ID IVar7;\n ID IVar8;\n double extraout_d0;\n double dVar9;\n double dVar10;\n double dVar11;\n double dVar12;\n ulong extraout_d0_00;\n ulong extraout_d0_01;\n undefined8 extraout_d0_02;\n double extraout_d0_03;\n double dVar13;\n double dVar14;\n undefined8 local_170;\n long lStack_168;\n long *local_160;\n undefined8 uStack_158;\n undefined8 local_150;\n undefined8 uStack_148;\n undefined8 uStack_140;\n undefined8 uStack_138;\n undefined1 auStack_128 [128];\n long local_a8;\n \n local_a8 = *(long *)PTR____stack_chk_guard_1000a80e8;\n IVar1 = objc_stub::landmarks(param_5);\n IVar1 = objc_stub::allPoints(IVar1);\n IVar4 = 0;\n if ((param_5 != 0) && (IVar1 != 0)) {\n IVar4 = objc_stub::pointCount(IVar1);\n if ((IVar4 < 0x4c) || (IVar4 = objc_stub::normalizedPoints(IVar1), IVar4 == 0)) {\n IVar4 = 0;\n }\n else {\n objc_stub::boundingBox(param_5);\n IVar1 = objc_stub::normalizedPoints(IVar1);\n IVar4 = NSMutableArray::arrayWithCapacity_((ID)&_OBJC_CLASS___NSMutableArray,0x4d);\n pdVar5 = (double *)(IVar1 + 8);\n lVar6 = 0x4c;\n do {\n dVar13 = pdVar5[-1];\n dVar14 = *pdVar5;\n dVar9 = extraout_d0;\n _CGRectGetMinX(extraout_d0,param_2,param_3,param_4);\n dVar10 = extraout_d0;\n _CGRectGetWidth(extraout_d0,param_2,param_3,param_4);\n dVar11 = extraout_d0;\n _CGRectGetMinY(extraout_d0,param_2,param_3,param_4);\n dVar12 = extraout_d0;\n _CGRectGetHeight(extraout_d0,param_2,param_3,param_4);\n IVar1 = CIVector::vectorWithX_Y_\n ((ID)&_OBJC_CLASS___CIVector,dVar9 + dVar13 * dVar10,\n dVar11 + dVar14 * dVar12);\n NSMutableArray::addObject_(IVar4,IVar1);\n pdVar5 = pdVar5 + 2;\n lVar6 = lVar6 + -1;\n } while (lVar6 != 0);\n dVar9 = extraout_d0;\n _CGRectGetMidX(extraout_d0,param_2,param_3,param_4);\n dVar10 = extraout_d0;\n _CGRectGetMidY(extraout_d0,param_2,param_3,param_4);\n IVar1 = CIVector::vectorWithX_Y_((ID)&_OBJC_CLASS___CIVector,dVar9,dVar10);\n NSMutableArray::addObject_(IVar4,IVar1);\n }\n }\n IVar1 = objc_stub::count(IVar4);\n if (IVar1 == 0) {\nLAB_100029ccc:\n IVar1 = 0;\n }\n else {\n IVar1 = objc_stub::count(IVar4);\n IVar1 = NSMutableArray::arrayWithCapacity_((ID)&_OBJC_CLASS___NSMutableArray,IVar1);\n lStack_168 = 0;\n local_170 = 0;\n uStack_158 = 0;\n local_160 = (long *)0x0;\n uStack_148 = 0;\n local_150 = 0;\n uStack_138 = 0;\n uStack_140 = 0;\n IVar2 = objc_stub::countByEnumeratingWithState_objects_count_(IVar4,&local_170,auStack_128,0x10)\n ;\n if (IVar2 != 0) {\n lVar6 = *local_160;\n do {\n IVar8 = 0;\n do {\n if (*local_160 != lVar6) {\n _objc_enumerationMutation(IVar4);\n }\n IVar7 = *(ID *)(lStack_168 + IVar8 * 8);\n if ((((IVar7 == 0) || (IVar3 = objc_stub::count(IVar7), IVar3 < 2)) ||\n (objc_stub::X(IVar7), 0x7fefffffffffffff < (extraout_d0_00 & 0x7fffffffffffffff))) ||\n (objc_stub::Y(IVar7), 0x7fefffffffffffff < (extraout_d0_01 & 0x7fffffffffffffff)))\n goto LAB_100029ccc;\n objc_stub::X(IVar7);\n objc_stub::Y(IVar7);\n IVar7 = CIVector::vectorWithX_Y_\n ((ID)&_OBJC_CLASS___CIVector,extraout_d0_02,1.0 - extraout_d0_03);\n NSMutableArray::addObject_(IVar1,IVar7);\n IVar8 = IVar8 + 1;\n } while (IVar2 != IVar8);\n IVar2 = objc_stub::countByEnumeratingWithState_objects_count_\n (IVar4,&local_170,auStack_128,0x10);\n } while (IVar2 != 0);\n }\n }\n if (*(long *)PTR____stack_chk_guard_1000a80e8 != local_a8) {\n /* WARNING: Subroutine does not return */\n ___stack_chk_fail();\n }\n return IVar1;\n}\n\n", "operation": "procedure_pseudo_code", "parameters": { "procedure": "0x100029a00" }, "predicate_type": "rea.analysis", "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" }, "raw_result": { "limitations": [ "Ghidra Listing reports a terminal call at 0x100029d1c to 0x10007aca0 ___stack_chk_fail (external=false, thunk=true, hasNoReturn=true); fallthrough is excluded by Ghidra's flow model. This records Ghidra's FunctionManager flag, not an independent verification that the callee cannot return." ], "value": "\nID FUN_100029a00(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4,\n ID param_5)\n\n{\n ID IVar1;\n ID IVar2;\n ID IVar3;\n ID IVar4;\n double *pdVar5;\n long lVar6;\n ID IVar7;\n ID IVar8;\n double extraout_d0;\n double dVar9;\n double dVar10;\n double dVar11;\n double dVar12;\n ulong extraout_d0_00;\n ulong extraout_d0_01;\n undefined8 extraout_d0_02;\n double extraout_d0_03;\n double dVar13;\n double dVar14;\n undefined8 local_170;\n long lStack_168;\n long *local_160;\n undefined8 uStack_158;\n undefined8 local_150;\n undefined8 uStack_148;\n undefined8 uStack_140;\n undefined8 uStack_138;\n undefined1 auStack_128 [128];\n long local_a8;\n \n local_a8 = *(long *)PTR____stack_chk_guard_1000a80e8;\n IVar1 = objc_stub::landmarks(param_5);\n IVar1 = objc_stub::allPoints(IVar1);\n IVar4 = 0;\n if ((param_5 != 0) && (IVar1 != 0)) {\n IVar4 = objc_stub::pointCount(IVar1);\n if ((IVar4 < 0x4c) || (IVar4 = objc_stub::normalizedPoints(IVar1), IVar4 == 0)) {\n IVar4 = 0;\n }\n else {\n objc_stub::boundingBox(param_5);\n IVar1 = objc_stub::normalizedPoints(IVar1);\n IVar4 = NSMutableArray::arrayWithCapacity_((ID)&_OBJC_CLASS___NSMutableArray,0x4d);\n pdVar5 = (double *)(IVar1 + 8);\n lVar6 = 0x4c;\n do {\n dVar13 = pdVar5[-1];\n dVar14 = *pdVar5;\n dVar9 = extraout_d0;\n _CGRectGetMinX(extraout_d0,param_2,param_3,param_4);\n dVar10 = extraout_d0;\n _CGRectGetWidth(extraout_d0,param_2,param_3,param_4);\n dVar11 = extraout_d0;\n _CGRectGetMinY(extraout_d0,param_2,param_3,param_4);\n dVar12 = extraout_d0;\n _CGRectGetHeight(extraout_d0,param_2,param_3,param_4);\n IVar1 = CIVector::vectorWithX_Y_\n ((ID)&_OBJC_CLASS___CIVector,dVar9 + dVar13 * dVar10,\n dVar11 + dVar14 * dVar12);\n NSMutableArray::addObject_(IVar4,IVar1);\n pdVar5 = pdVar5 + 2;\n lVar6 = lVar6 + -1;\n } while (lVar6 != 0);\n dVar9 = extraout_d0;\n _CGRectGetMidX(extraout_d0,param_2,param_3,param_4);\n dVar10 = extraout_d0;\n _CGRectGetMidY(extraout_d0,param_2,param_3,param_4);\n IVar1 = CIVector::vectorWithX_Y_((ID)&_OBJC_CLASS___CIVector,dVar9,dVar10);\n NSMutableArray::addObject_(IVar4,IVar1);\n }\n }\n IVar1 = objc_stub::count(IVar4);\n if (IVar1 == 0) {\nLAB_100029ccc:\n IVar1 = 0;\n }\n else {\n IVar1 = objc_stub::count(IVar4);\n IVar1 = NSMutableArray::arrayWithCapacity_((ID)&_OBJC_CLASS___NSMutableArray,IVar1);\n lStack_168 = 0;\n local_170 = 0;\n uStack_158 = 0;\n local_160 = (long *)0x0;\n uStack_148 = 0;\n local_150 = 0;\n uStack_138 = 0;\n uStack_140 = 0;\n IVar2 = objc_stub::countByEnumeratingWithState_objects_count_(IVar4,&local_170,auStack_128,0x10)\n ;\n if (IVar2 != 0) {\n lVar6 = *local_160;\n do {\n IVar8 = 0;\n do {\n if (*local_160 != lVar6) {\n _objc_enumerationMutation(IVar4);\n }\n IVar7 = *(ID *)(lStack_168 + IVar8 * 8);\n if ((((IVar7 == 0) || (IVar3 = objc_stub::count(IVar7), IVar3 < 2)) ||\n (objc_stub::X(IVar7), 0x7fefffffffffffff < (extraout_d0_00 & 0x7fffffffffffffff))) ||\n (objc_stub::Y(IVar7), 0x7fefffffffffffff < (extraout_d0_01 & 0x7fffffffffffffff)))\n goto LAB_100029ccc;\n objc_stub::X(IVar7);\n objc_stub::Y(IVar7);\n IVar7 = CIVector::vectorWithX_Y_\n ((ID)&_OBJC_CLASS___CIVector,extraout_d0_02,1.0 - extraout_d0_03);\n NSMutableArray::addObject_(IVar1,IVar7);\n IVar8 = IVar8 + 1;\n } while (IVar2 != IVar8);\n IVar2 = objc_stub::countByEnumeratingWithState_objects_count_\n (IVar4,&local_170,auStack_128,0x10);\n } while (IVar2 != 0);\n }\n }\n if (*(long *)PTR____stack_chk_guard_1000a80e8 != local_a8) {\n /* WARNING: Subroutine does not return */\n ___stack_chk_fail();\n }\n return IVar1;\n}\n\n" }, "subject": { "architecture": "arm64", "digest": { "sha256": "afc71d0d21fd3c1ca95ca745ddafcd729e36ad95f17d8638009f2e45d9b7e8df" }, "format": "mach-o", "local_path": "/Users/dayu/Documents/PaintFCP/build/body-analysis/MSE18V2-arm64", "name": "MSE18V2-arm64" } }, { "analysis_profile": { "digest": "20565088524a2d0359b9b96f46ac48e679d774c7b0092c56abc06de8fdbec11c", "parameters": { "analyzer_preset": "ghidra-default", "annotation_policy": "atomic-function-entry-metadata-v1", "architecture": "arm64", "available_architectures": [ "arm64" ], "compiler_spec_id": "auto-default", "decompiler_jump_loads": true, "function_body_evidence": "complete-inclusive-ranges-v1", "function_boundary_observations": "ghidra-terminal-call-limitations-v1", "function_references": "complete-body-and-entry-reference-manager-v2", "import_mode": "ephemeral-source-immutable", "instruction_flow_evidence": "decoded-return-pcode-v1", "jump_table_evidence": "typed-case-default-blocks-v1", "language_id": "auto-from-header", "load_image_observations": "source-mappings-entry-context-v2", "loader": "auto-from-header", "location_resolution": "explicit-address-exact-entry-symbol-first-v3", "no_return_repair": "returning-imports-decoded-return-v2", "process_launch": "inspected-jvm-launch-support-v1", "string_inventory_evidence": "defined-data-coverage-v1", "target_format": "mach-o", "target_kind": "executable" }, "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" } }, "authority": "shipped-artifact", "confidence": "observed", "environment": null, "evidence_id": "ev_a56c1ddaa6a2314b28f2c2a880ebdb9dcac0632650550123d4957321fa5cc15f", "evidence_links": [], "limitations": [ "The session serves operations only after Ghidra reports default auto-analysis complete; incomplete analysis does not expose partial results.", "The imported Program and temporary project are ephemeral and deleted on close. Annotation operations edit session database metadata; original executable bytes are never written.", "Cancelling an active Ghidra request terminates its ephemeral database and discards session annotations. The selected target remains open; the next provider query imports the original artifact again.", "Default-space addresses use lowercase 0x-prefixed hexadecimal; other address spaces use :0x.", "Only Ghidra-defined string Data is observed; packed or undefined string bytes may be absent. Completeness applies to that inventory, and an empty search does not establish that text is absent from the artifact. If an address is known, use read_bytes and xrefs to inspect bytes and references.", "Regex mode uses Java Pattern semantics. Matcher or compiler stack exhaustion returns a resource constraint without closing the session; literal mode avoids regex recursion and returns complete matching values.", "macOS sessions require a matching executable Ghidra native decompiler; REA checks for it but does not build native components or change Gatekeeper quarantine state." ], "locations": [], "normalized_result": [ { "address": "0x10008ec79", "value": "mss_pinStyleFacePointsForObservations:renderTime:params:trackingInputImage:preferredBox:hasPreferredBox:selectedObservationOut:strengthMultiplierOut:pointsBoxOut:usedHoldOut:" }, { "address": "0x100098b29", "value": "MSE18_DISABLE_FACE_THIN_VISION_TRACKER" }, { "address": "0x100098b50", "value": "mse18_disable_face_thin_vision_tracker" } ], "operation": "search_strings", "parameters": { "case_sensitive": false, "mode": "regex", "pattern": "VISION_TRACKER|vision_tracker|pin_style|pinStyle|PinStyle" }, "predicate_type": "rea.analysis", "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" }, "raw_result": [ { "address": "0x10008ec79", "value": "mss_pinStyleFacePointsForObservations:renderTime:params:trackingInputImage:preferredBox:hasPreferredBox:selectedObservationOut:strengthMultiplierOut:pointsBoxOut:usedHoldOut:" }, { "address": "0x100098b29", "value": "MSE18_DISABLE_FACE_THIN_VISION_TRACKER" }, { "address": "0x100098b50", "value": "mse18_disable_face_thin_vision_tracker" } ], "subject": { "architecture": "arm64", "digest": { "sha256": "afc71d0d21fd3c1ca95ca745ddafcd729e36ad95f17d8638009f2e45d9b7e8df" }, "format": "mach-o", "local_path": "/Users/dayu/Documents/PaintFCP/build/body-analysis/MSE18V2-arm64", "name": "MSE18V2-arm64" } }, { "analysis_profile": { "digest": "20565088524a2d0359b9b96f46ac48e679d774c7b0092c56abc06de8fdbec11c", "parameters": { "analyzer_preset": "ghidra-default", "annotation_policy": "atomic-function-entry-metadata-v1", "architecture": "arm64", "available_architectures": [ "arm64" ], "compiler_spec_id": "auto-default", "decompiler_jump_loads": true, "function_body_evidence": "complete-inclusive-ranges-v1", "function_boundary_observations": "ghidra-terminal-call-limitations-v1", "function_references": "complete-body-and-entry-reference-manager-v2", "import_mode": "ephemeral-source-immutable", "instruction_flow_evidence": "decoded-return-pcode-v1", "jump_table_evidence": "typed-case-default-blocks-v1", "language_id": "auto-from-header", "load_image_observations": "source-mappings-entry-context-v2", "loader": "auto-from-header", "location_resolution": "explicit-address-exact-entry-symbol-first-v3", "no_return_repair": "returning-imports-decoded-return-v2", "process_launch": "inspected-jvm-launch-support-v1", "string_inventory_evidence": "defined-data-coverage-v1", "target_format": "mach-o", "target_kind": "executable" }, "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" } }, "authority": "shipped-artifact", "confidence": "observed", "environment": null, "evidence_id": "ev_a8cf6f3aec6fbcf2b698ab8ec52313e20a6a5e0d636bc922c4293e436861db7e", "evidence_links": [], "limitations": [ "The session serves operations only after Ghidra reports default auto-analysis complete; incomplete analysis does not expose partial results.", "The imported Program and temporary project are ephemeral and deleted on close. Annotation operations edit session database metadata; original executable bytes are never written.", "Cancelling an active Ghidra request terminates its ephemeral database and discards session annotations. The selected target remains open; the next provider query imports the original artifact again.", "Default-space addresses use lowercase 0x-prefixed hexadecimal; other address spaces use :0x.", "Only resolved Ghidra call references are returned; unresolved computed or indirect calls remain unknown, while function classifications distinguish thunks and externals.", "macOS sessions require a matching executable Ghidra native decompiler; REA checks for it but does not build native components or change Gatekeeper quarantine state." ], "locations": [], "normalized_result": [], "operation": "procedure_callers", "parameters": { "procedure": "0x10003f88c" }, "predicate_type": "rea.analysis", "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" }, "raw_result": [], "subject": { "architecture": "arm64", "digest": { "sha256": "afc71d0d21fd3c1ca95ca745ddafcd729e36ad95f17d8638009f2e45d9b7e8df" }, "format": "mach-o", "local_path": "/Users/dayu/Documents/PaintFCP/build/body-analysis/MSE18V2-arm64", "name": "MSE18V2-arm64" } }, { "analysis_profile": { "digest": "20565088524a2d0359b9b96f46ac48e679d774c7b0092c56abc06de8fdbec11c", "parameters": { "analyzer_preset": "ghidra-default", "annotation_policy": "atomic-function-entry-metadata-v1", "architecture": "arm64", "available_architectures": [ "arm64" ], "compiler_spec_id": "auto-default", "decompiler_jump_loads": true, "function_body_evidence": "complete-inclusive-ranges-v1", "function_boundary_observations": "ghidra-terminal-call-limitations-v1", "function_references": "complete-body-and-entry-reference-manager-v2", "import_mode": "ephemeral-source-immutable", "instruction_flow_evidence": "decoded-return-pcode-v1", "jump_table_evidence": "typed-case-default-blocks-v1", "language_id": "auto-from-header", "load_image_observations": "source-mappings-entry-context-v2", "loader": "auto-from-header", "location_resolution": "explicit-address-exact-entry-symbol-first-v3", "no_return_repair": "returning-imports-decoded-return-v2", "process_launch": "inspected-jvm-launch-support-v1", "string_inventory_evidence": "defined-data-coverage-v1", "target_format": "mach-o", "target_kind": "executable" }, "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" } }, "authority": "shipped-artifact", "confidence": "observed", "environment": null, "evidence_id": "ev_b88444949f61c9151f1d8ef8a744875f3763b251aa108979604ea3f2516df1c3", "evidence_links": [], "limitations": [ "The session serves operations only after Ghidra reports default auto-analysis complete; incomplete analysis does not expose partial results.", "The imported Program and temporary project are ephemeral and deleted on close. Annotation operations edit session database metadata; original executable bytes are never written.", "Cancelling an active Ghidra request terminates its ephemeral database and discards session annotations. The selected target remains open; the next provider query imports the original artifact again.", "Default-space addresses use lowercase 0x-prefixed hexadecimal; other address spaces use :0x.", "Pseudocode is Ghidra decompiler output, not original source and not text-equivalent to Hopper output.", "External functions and functions without an analyzable body return null; other decompiler failures remain explicit.", "macOS sessions require a matching executable Ghidra native decompiler; REA checks for it but does not build native components or change Gatekeeper quarantine state." ], "locations": [], "normalized_result": "\nID FUN_10004970c(ID param_1)\n\n{\n ID IVar1;\n ID IVar2;\n \n IVar1 = objc_stub::length(param_1);\n IVar2 = 0;\n if (IVar1 != 0) {\n IVar2 = objc_stub::lastPathComponent(param_1);\n IVar1 = objc_stub::length(IVar2);\n IVar2 = param_1;\n if (IVar1 != 0) {\n IVar2 = objc_stub::lastPathComponent(param_1);\n }\n IVar2 = objc_stub::isEqualToString_(IVar2,&cf_mse18_diag_render_enabled);\n if ((int)IVar2 != 0) {\n FUN_100049a5c();\n IVar1 = objc_stub::length(param_1);\n IVar2 = 0;\n if (IVar1 != 0) {\n IVar2 = NSFileManager::defaultManager((ID)&_OBJC_CLASS___NSFileManager);\n IVar2 = NSFileManager::fileExistsAtPath_(IVar2,param_1);\n if ((int)IVar2 != 0) {\n FUN_100049ae0(param_1,0);\n IVar2 = 1;\n }\n }\n }\n }\n return IVar2;\n}\n\n", "operation": "procedure_pseudo_code", "parameters": { "procedure": "0x10004970c" }, "predicate_type": "rea.analysis", "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" }, "raw_result": { "limitations": [], "value": "\nID FUN_10004970c(ID param_1)\n\n{\n ID IVar1;\n ID IVar2;\n \n IVar1 = objc_stub::length(param_1);\n IVar2 = 0;\n if (IVar1 != 0) {\n IVar2 = objc_stub::lastPathComponent(param_1);\n IVar1 = objc_stub::length(IVar2);\n IVar2 = param_1;\n if (IVar1 != 0) {\n IVar2 = objc_stub::lastPathComponent(param_1);\n }\n IVar2 = objc_stub::isEqualToString_(IVar2,&cf_mse18_diag_render_enabled);\n if ((int)IVar2 != 0) {\n FUN_100049a5c();\n IVar1 = objc_stub::length(param_1);\n IVar2 = 0;\n if (IVar1 != 0) {\n IVar2 = NSFileManager::defaultManager((ID)&_OBJC_CLASS___NSFileManager);\n IVar2 = NSFileManager::fileExistsAtPath_(IVar2,param_1);\n if ((int)IVar2 != 0) {\n FUN_100049ae0(param_1,0);\n IVar2 = 1;\n }\n }\n }\n }\n return IVar2;\n}\n\n" }, "subject": { "architecture": "arm64", "digest": { "sha256": "afc71d0d21fd3c1ca95ca745ddafcd729e36ad95f17d8638009f2e45d9b7e8df" }, "format": "mach-o", "local_path": "/Users/dayu/Documents/PaintFCP/build/body-analysis/MSE18V2-arm64", "name": "MSE18V2-arm64" } }, { "analysis_profile": { "digest": "20565088524a2d0359b9b96f46ac48e679d774c7b0092c56abc06de8fdbec11c", "parameters": { "analyzer_preset": "ghidra-default", "annotation_policy": "atomic-function-entry-metadata-v1", "architecture": "arm64", "available_architectures": [ "arm64" ], "compiler_spec_id": "auto-default", "decompiler_jump_loads": true, "function_body_evidence": "complete-inclusive-ranges-v1", "function_boundary_observations": "ghidra-terminal-call-limitations-v1", "function_references": "complete-body-and-entry-reference-manager-v2", "import_mode": "ephemeral-source-immutable", "instruction_flow_evidence": "decoded-return-pcode-v1", "jump_table_evidence": "typed-case-default-blocks-v1", "language_id": "auto-from-header", "load_image_observations": "source-mappings-entry-context-v2", "loader": "auto-from-header", "location_resolution": "explicit-address-exact-entry-symbol-first-v3", "no_return_repair": "returning-imports-decoded-return-v2", "process_launch": "inspected-jvm-launch-support-v1", "string_inventory_evidence": "defined-data-coverage-v1", "target_format": "mach-o", "target_kind": "executable" }, "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" } }, "authority": "shipped-artifact", "confidence": "observed", "environment": null, "evidence_id": "ev_babd33a86af373acee2386d790556959c9328d6231142391dfdc6ada85a07c6a", "evidence_links": [], "limitations": [ "The session serves operations only after Ghidra reports default auto-analysis complete; incomplete analysis does not expose partial results.", "The imported Program and temporary project are ephemeral and deleted on close. Annotation operations edit session database metadata; original executable bytes are never written.", "Cancelling an active Ghidra request terminates its ephemeral database and discards session annotations. The selected target remains open; the next provider query imports the original artifact again.", "Default-space addresses use lowercase 0x-prefixed hexadecimal; other address spaces use :0x.", "Pseudocode is Ghidra decompiler output, not original source and not text-equivalent to Hopper output.", "External functions and functions without an analyzable body return null; other decompiler failures remain explicit.", "macOS sessions require a matching executable Ghidra native decompiler; REA checks for it but does not build native components or change Gatekeeper quarantine state." ], "locations": [], "normalized_result": "\n/* WARNING: Function: _objc_retain replaced with injection: _objc_retain_fixup */\n/* WARNING: Function: _objc_autorelease replaced with injection: _objc_retain_fixup */\n/* WARNING: Removing unreachable block (ram,0x00010003c40c) */\n/* Function Stack Size: 0x5c bytes */\n\nID MSSuperSkinSmoothingPlugIn::\n cachedFaceObservationsForInputImage_inputSurface_sourceTileRect_renderTime_allowForwardReuse_\n (ID param_1,SEL param_2,ID param_3,__IOSurface *param_4,CGRect param_5,\n AnonymousStructure0 param_6,bool param_7)\n\n{\n bool bVar1;\n bool bVar2;\n int iVar3;\n ID IVar4;\n undefined1 *puVar5;\n undefined *puVar6;\n ID self;\n undefined *self_00;\n undefined *puVar7;\n ID IVar8;\n undefined *self_01;\n undefined *puVar9;\n long_long *plVar10;\n double in_d0;\n undefined8 extraout_d0;\n long_long extraout_d0_00;\n double in_d1;\n double dVar11;\n double in_d2;\n double dVar12;\n double in_d3;\n double dVar13;\n CGRect CVar14;\n CGRect CVar15;\n CGRect CVar16;\n CGRect CVar17;\n CGRect CVar18;\n CGRect CVar19;\n undefined *local_110;\n undefined8 uStack_108;\n undefined8 local_100;\n long_long local_f0;\n long_long lStack_e8;\n long_long local_e0;\n undefined *local_d8;\n undefined1 local_d0 [16];\n double local_c0;\n double dStack_b8;\n \n plVar10 = param_5.field0_0x0.field0_0x0;\n if (param_3 == 0) {\n return 0;\n }\n objc_stub::lock(*(ID *)(param_1 + 0x28));\n local_d8 = (undefined *)0x0;\n local_d0._8_8_ = plVar10[1];\n local_d0._0_8_ = *plVar10;\n local_c0 = (double)plVar10[2];\n CVar14.field0_0x0.field1_0x8 = in_d1;\n CVar14.field0_0x0.field0_0x0 = in_d0;\n CVar14.field1_0x10.field1_0x8 = in_d3;\n CVar14.field1_0x10.field0_0x0 = in_d2;\n dVar11 = in_d1;\n dVar12 = in_d2;\n dVar13 = in_d3;\n bVar2 = mss_lockedCachedFrameAnalysisFaceObservationsInCache_inputImage_sourceTileRect_renderTime_observationsOut_\n (param_1,*(ID *)(param_1 + 0x230),param_3,CVar14,(AnonymousStructure0 *)local_d0\n ,(ID *)&local_d8);\n if (bVar2 != 0) {\n objc_stub::unlock(*(ID *)(param_1 + 0x28));\n objc_stub::length(0x1000ad280);\n IVar4 = objc_stub::count((ID)local_d8);\n if (IVar4 == 0) {\n return 0;\n }\n return (ID)local_d8;\n }\n objc_stub::length(0x1000ad2a0);\n if (*(char *)(param_1 + 0x228) == '\\x01') {\n IVar4 = objc_stub::extent(param_3);\n iVar3 = (int)IVar4;\n _CGRectEqualToRect(*(undefined8 *)(param_1 + 0x1e8),*(undefined8 *)(param_1 + 0x1f0),\n *(undefined8 *)(param_1 + 0x1f8),*(undefined8 *)(param_1 + 0x200),extraout_d0\n ,dVar11,dVar12,dVar13);\n if ((((iVar3 != 0) &&\n (_CGRectEqualToRect(*(undefined8 *)(param_1 + 0x208),*(undefined8 *)(param_1 + 0x210),\n *(undefined8 *)(param_1 + 0x218),*(undefined8 *)(param_1 + 0x220)),\n iVar3 != 0)) && ((*(uint *)((long)plVar10 + 0xc) & 0x1d) == 1)) &&\n ((*(uint *)(param_1 + 0x1dc) & 0x1d) == 1)) {\n local_d0._8_8_ = plVar10[1];\n local_d0._0_8_ = *plVar10;\n local_c0 = (double)plVar10[2];\n lStack_e8 = *(long_long *)(param_1 + 0x1d8);\n local_f0 = *(long_long *)(param_1 + 0x1d0);\n local_e0 = *(long_long *)(param_1 + 0x1e0);\n puVar5 = local_d0;\n _CMTimeCompare(puVar5,&local_f0);\n if ((param_5.field0_0x0.field1_0x8._0_4_ == 0) || ((int)puVar5 == 0)) {\n if ((int)puVar5 == 0) {\nLAB_10003bedc:\n puVar6 = PTR____NSArray0__struct_1000a8110;\n if (*(undefined **)(param_1 + 0x1c8) != (undefined *)0x0) {\n puVar6 = *(undefined **)(param_1 + 0x1c8);\n }\n local_d0._8_8_ = plVar10[1];\n local_d0._0_8_ = *plVar10;\n local_c0 = (double)plVar10[2];\n CVar15.field0_0x0.field1_0x8 = in_d1;\n CVar15.field0_0x0.field0_0x0 = in_d0;\n CVar15.field1_0x10.field1_0x8 = in_d3;\n CVar15.field1_0x10.field0_0x0 = in_d2;\n mss_lockedStoreFrameAnalysisFaceObservations_inCache_inputImage_sourceTileRect_renderTime_\n (param_1,(ID)puVar6,*(ID *)(param_1 + 0x230),param_3,CVar15,\n (AnonymousStructure0 *)local_d0);\n objc_stub::unlock(*(ID *)(param_1 + 0x28));\n objc_stub::length(0x1000ad2c0);\n IVar4 = objc_stub::count((ID)puVar6);\n if (IVar4 == 0) {\n return 0;\n }\n return (ID)puVar6;\n }\n }\n else {\n local_d0._8_8_ = plVar10[1];\n local_d0._0_8_ = *plVar10;\n local_c0 = (double)plVar10[2];\n lStack_e8 = *(long_long *)(param_1 + 0x1d8);\n local_f0 = *(long_long *)(param_1 + 0x1d0);\n local_e0 = *(long_long *)(param_1 + 0x1e0);\n puVar5 = local_d0;\n _CMTimeCompare(puVar5,&local_f0);\n if (0 < (int)puVar5) {\n lStack_e8 = plVar10[1];\n local_f0 = *plVar10;\n local_e0 = plVar10[2];\n uStack_108 = *(undefined8 *)(param_1 + 0x1d8);\n puVar6 = *(undefined **)(param_1 + 0x1d0);\n local_100 = *(undefined8 *)(param_1 + 0x1e0);\n local_110 = puVar6;\n _CMTimeSubtract(local_d0,&local_f0,&local_110);\n _CMTimeGetSeconds(local_d0);\n IVar4 = objc_stub::count(*(ID *)(param_1 + 0x1c8));\n if (((puVar6 < (undefined *)0x8000000000000000 &&\n (long)ABS((double)puVar6) + 0xfff0000000000000U >> 0x35 < 0x3ff ||\n puVar6 + -1 < (undefined *)0xfffffffffffff) || ABS((double)puVar6) == 0.0) &&\n ((double)puVar6 <= *(double *)(&DAT_100085fc0 + (ulong)(IVar4 == 0) * 8)))\n goto LAB_10003bedc;\n }\n }\n }\n }\n objc_stub::unlock(*(ID *)(param_1 + 0x28));\n objc_stub::lock(*(ID *)(param_1 + 0x30));\n objc_stub::length(0x1000ad2e0);\n local_110 = (undefined *)0x0;\n objc_stub::lock(*(ID *)(param_1 + 0x28));\n local_d0._8_8_ = plVar10[1];\n local_d0._0_8_ = *plVar10;\n local_c0 = (double)plVar10[2];\n CVar16.field0_0x0.field1_0x8 = in_d1;\n CVar16.field0_0x0.field0_0x0 = in_d0;\n CVar16.field1_0x10.field1_0x8 = in_d3;\n CVar16.field1_0x10.field0_0x0 = in_d2;\n dVar11 = in_d1;\n dVar12 = in_d2;\n dVar13 = in_d3;\n bVar2 = mss_lockedCachedFrameAnalysisFaceObservationsInCache_inputImage_sourceTileRect_renderTime_observationsOut_\n (param_1,*(ID *)(param_1 + 0x230),param_3,CVar16,(AnonymousStructure0 *)local_d0\n ,(ID *)&local_110);\n if (bVar2 != 0) {\n objc_stub::unlock(*(ID *)(param_1 + 0x28));\n objc_stub::length(0x1000ad300);\n IVar4 = objc_stub::count((ID)local_110);\n param_3 = 0;\n if (IVar4 != 0) {\n param_3 = (ID)local_110;\n }\n goto LAB_10003c24c;\n }\n if (*(char *)(param_1 + 0x228) == '\\x01') {\n IVar4 = objc_stub::extent(param_3);\n iVar3 = (int)IVar4;\n dVar11 = *(double *)(param_1 + 0x1f0);\n dVar12 = *(double *)(param_1 + 0x1f8);\n dVar13 = *(double *)(param_1 + 0x200);\n _CGRectEqualToRect(*(undefined8 *)(param_1 + 0x1e8));\n if (iVar3 == 0) goto LAB_10003c0a0;\n dVar11 = *(double *)(param_1 + 0x210);\n dVar12 = *(double *)(param_1 + 0x218);\n dVar13 = *(double *)(param_1 + 0x220);\n _CGRectEqualToRect(*(undefined8 *)(param_1 + 0x208));\n if (((iVar3 == 0) || ((*(uint *)((long)plVar10 + 0xc) & 0x1d) != 1)) ||\n ((*(uint *)(param_1 + 0x1dc) & 0x1d) != 1)) goto LAB_10003c0a0;\n local_d0._8_8_ = plVar10[1];\n local_d0._0_8_ = *plVar10;\n local_c0 = (double)plVar10[2];\n lStack_e8 = *(long_long *)(param_1 + 0x1d8);\n local_f0 = *(long_long *)(param_1 + 0x1d0);\n local_e0 = *(long_long *)(param_1 + 0x1e0);\n puVar5 = local_d0;\n _CMTimeCompare(puVar5,&local_f0);\n if ((int)puVar5 != 0) goto LAB_10003c0a0;\n local_110 = PTR____NSArray0__struct_1000a8110;\n if (*(undefined **)(param_1 + 0x1c8) != (undefined *)0x0) {\n local_110 = *(undefined **)(param_1 + 0x1c8);\n }\n local_d0._8_8_ = plVar10[1];\n local_d0._0_8_ = *plVar10;\n local_c0 = (double)plVar10[2];\n CVar19.field0_0x0.field1_0x8 = in_d1;\n CVar19.field0_0x0.field0_0x0 = in_d0;\n CVar19.field1_0x10.field1_0x8 = in_d3;\n CVar19.field1_0x10.field0_0x0 = in_d2;\n dVar11 = in_d1;\n dVar12 = in_d2;\n dVar13 = in_d3;\n mss_lockedStoreFrameAnalysisFaceObservations_inCache_inputImage_sourceTileRect_renderTime_\n (param_1,(ID)local_110,*(ID *)(param_1 + 0x230),param_3,CVar19,\n (AnonymousStructure0 *)local_d0);\n bVar1 = true;\n }\n else {\nLAB_10003c0a0:\n bVar1 = false;\n }\n objc_stub::unlock(*(ID *)(param_1 + 0x28));\n if (bVar1) {\n objc_stub::length(0x1000ad320);\n goto LAB_10003c24c;\n }\n if (*(long *)(param_1 + 0x38) == 0) {\n objc_stub::length(0x1000af520);\nLAB_10003c1a8:\n local_110 = (undefined *)0x0;\n }\n else {\n IVar4 = objc_stub::extent(param_3);\n iVar3 = (int)IVar4;\n _CGRectIsEmpty();\n if (iVar3 != 0) {\n objc_stub::length(0x1000af520);\n goto LAB_10003c1a8;\n }\n IVar4 = param_3;\n FUN_10002ee0c(extraout_d0_00,dVar11,dVar12,dVar13);\n if (IVar4 == 0) {\n objc_stub::length(0x1000af520);\n goto LAB_10003c1a8;\n }\n IVar8 = IVar4;\n local_d0._0_8_ = extraout_d0_00;\n local_d0._8_8_ = dVar11;\n local_c0 = dVar12;\n dStack_b8 = dVar13;\n FUN_1000502b0(extraout_d0_00,dVar11,dVar12,dVar13,IVar4,local_d0);\n local_f0 = 0;\n puVar6 = &_OBJC_CLASS___VNDetectFaceLandmarksRequest;\n _objc_alloc_init();\n FUN_100019e6c();\n FUN_100050560(IVar8,puVar6,&local_f0);\n if ((int)IVar8 == 0) {\n self_00 = (undefined *)0x0;\n }\n else {\n self = objc_stub::results((ID)puVar6);\n self_00 = (undefined *)objc_stub::copy(self);\n }\n puVar7 = self_00;\n FUN_1000501b4();\n if ((((int)IVar8 == 0) || (IVar8 = objc_stub::count((ID)self_00), IVar8 == 0)) ||\n (puVar7 < (undefined *)0x4c)) {\n objc_stub::count((ID)self_00);\n objc_stub::revision((ID)puVar6);\n objc_stub::usesCPUOnly((ID)puVar6);\n puVar6 = &_OBJC_CLASS___VNDetectFaceLandmarksRequest;\n _objc_alloc_init();\n FUN_100019e6c();\n FUN_100050634(extraout_d0_00,dVar11,dVar12,dVar13,IVar4,puVar6,&cf_landmarks,&local_f0);\n if ((int)IVar4 != 0) {\n IVar4 = objc_stub::results((ID)puVar6);\n self_01 = (undefined *)objc_stub::copy(IVar4);\n puVar9 = self_01;\n FUN_1000501b4();\n objc_stub::count((ID)self_01);\n objc_stub::revision((ID)puVar6);\n IVar4 = objc_stub::count((ID)self_01);\n if (IVar4 != 0) {\n self_00 = self_01;\n puVar7 = puVar9;\n }\n }\n }\n IVar4 = objc_stub::count((ID)self_00);\n if (IVar4 == 0) {\n _NSStringFromRect(extraout_d0_00,dVar11,dVar12,dVar13);\n }\n else if (puVar7 < (undefined *)0x4c) {\n objc_stub::count((ID)self_00);\n }\n objc_stub::length(0x1000af520);\n IVar4 = objc_stub::count((ID)self_00);\n local_110 = (undefined *)0x0;\n if (IVar4 != 0) {\n local_110 = self_00;\n }\n }\n objc_stub::length(0x1000ad340);\n objc_stub::lock(*(ID *)(param_1 + 0x28));\n local_d0._8_8_ = plVar10[1];\n local_d0._0_8_ = *plVar10;\n local_c0 = (double)plVar10[2];\n CVar17.field0_0x0.field1_0x8 = in_d1;\n CVar17.field0_0x0.field0_0x0 = in_d0;\n CVar17.field1_0x10.field1_0x8 = in_d3;\n CVar17.field1_0x10.field0_0x0 = in_d2;\n mss_lockedStoreCachedFaceObservations_inputImage_sourceTileRect_renderTime_\n (param_1,(ID)local_110,param_3,CVar17,(AnonymousStructure0 *)local_d0);\n IVar4 = objc_stub::count((ID)local_110);\n if (IVar4 != 0) {\n local_d0._8_8_ = plVar10[1];\n local_d0._0_8_ = *plVar10;\n local_c0 = (double)plVar10[2];\n CVar18.field0_0x0.field1_0x8 = in_d1;\n CVar18.field0_0x0.field0_0x0 = in_d0;\n CVar18.field1_0x10.field1_0x8 = in_d3;\n CVar18.field1_0x10.field0_0x0 = in_d2;\n mss_lockedStoreCachedFaceRectangleObservations_inputImage_sourceTileRect_renderTime_\n (param_1,(ID)local_110,param_3,CVar18,(AnonymousStructure0 *)local_d0);\n objc_stub::length(0x1000ad360);\n }\n objc_stub::unlock(*(ID *)(param_1 + 0x28));\nLAB_10003c24c:\n objc_stub::unlock(*(ID *)(param_1 + 0x30));\n if (bVar2 == 1) {\n local_110 = (undefined *)param_3;\n }\n return (ID)local_110;\n}\n\n", "operation": "procedure_pseudo_code", "parameters": { "procedure": "0x10003bc84" }, "predicate_type": "rea.analysis", "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" }, "raw_result": { "limitations": [], "value": "\n/* WARNING: Function: _objc_retain replaced with injection: _objc_retain_fixup */\n/* WARNING: Function: _objc_autorelease replaced with injection: _objc_retain_fixup */\n/* WARNING: Removing unreachable block (ram,0x00010003c40c) */\n/* Function Stack Size: 0x5c bytes */\n\nID MSSuperSkinSmoothingPlugIn::\n cachedFaceObservationsForInputImage_inputSurface_sourceTileRect_renderTime_allowForwardReuse_\n (ID param_1,SEL param_2,ID param_3,__IOSurface *param_4,CGRect param_5,\n AnonymousStructure0 param_6,bool param_7)\n\n{\n bool bVar1;\n bool bVar2;\n int iVar3;\n ID IVar4;\n undefined1 *puVar5;\n undefined *puVar6;\n ID self;\n undefined *self_00;\n undefined *puVar7;\n ID IVar8;\n undefined *self_01;\n undefined *puVar9;\n long_long *plVar10;\n double in_d0;\n undefined8 extraout_d0;\n long_long extraout_d0_00;\n double in_d1;\n double dVar11;\n double in_d2;\n double dVar12;\n double in_d3;\n double dVar13;\n CGRect CVar14;\n CGRect CVar15;\n CGRect CVar16;\n CGRect CVar17;\n CGRect CVar18;\n CGRect CVar19;\n undefined *local_110;\n undefined8 uStack_108;\n undefined8 local_100;\n long_long local_f0;\n long_long lStack_e8;\n long_long local_e0;\n undefined *local_d8;\n undefined1 local_d0 [16];\n double local_c0;\n double dStack_b8;\n \n plVar10 = param_5.field0_0x0.field0_0x0;\n if (param_3 == 0) {\n return 0;\n }\n objc_stub::lock(*(ID *)(param_1 + 0x28));\n local_d8 = (undefined *)0x0;\n local_d0._8_8_ = plVar10[1];\n local_d0._0_8_ = *plVar10;\n local_c0 = (double)plVar10[2];\n CVar14.field0_0x0.field1_0x8 = in_d1;\n CVar14.field0_0x0.field0_0x0 = in_d0;\n CVar14.field1_0x10.field1_0x8 = in_d3;\n CVar14.field1_0x10.field0_0x0 = in_d2;\n dVar11 = in_d1;\n dVar12 = in_d2;\n dVar13 = in_d3;\n bVar2 = mss_lockedCachedFrameAnalysisFaceObservationsInCache_inputImage_sourceTileRect_renderTime_observationsOut_\n (param_1,*(ID *)(param_1 + 0x230),param_3,CVar14,(AnonymousStructure0 *)local_d0\n ,(ID *)&local_d8);\n if (bVar2 != 0) {\n objc_stub::unlock(*(ID *)(param_1 + 0x28));\n objc_stub::length(0x1000ad280);\n IVar4 = objc_stub::count((ID)local_d8);\n if (IVar4 == 0) {\n return 0;\n }\n return (ID)local_d8;\n }\n objc_stub::length(0x1000ad2a0);\n if (*(char *)(param_1 + 0x228) == '\\x01') {\n IVar4 = objc_stub::extent(param_3);\n iVar3 = (int)IVar4;\n _CGRectEqualToRect(*(undefined8 *)(param_1 + 0x1e8),*(undefined8 *)(param_1 + 0x1f0),\n *(undefined8 *)(param_1 + 0x1f8),*(undefined8 *)(param_1 + 0x200),extraout_d0\n ,dVar11,dVar12,dVar13);\n if ((((iVar3 != 0) &&\n (_CGRectEqualToRect(*(undefined8 *)(param_1 + 0x208),*(undefined8 *)(param_1 + 0x210),\n *(undefined8 *)(param_1 + 0x218),*(undefined8 *)(param_1 + 0x220)),\n iVar3 != 0)) && ((*(uint *)((long)plVar10 + 0xc) & 0x1d) == 1)) &&\n ((*(uint *)(param_1 + 0x1dc) & 0x1d) == 1)) {\n local_d0._8_8_ = plVar10[1];\n local_d0._0_8_ = *plVar10;\n local_c0 = (double)plVar10[2];\n lStack_e8 = *(long_long *)(param_1 + 0x1d8);\n local_f0 = *(long_long *)(param_1 + 0x1d0);\n local_e0 = *(long_long *)(param_1 + 0x1e0);\n puVar5 = local_d0;\n _CMTimeCompare(puVar5,&local_f0);\n if ((param_5.field0_0x0.field1_0x8._0_4_ == 0) || ((int)puVar5 == 0)) {\n if ((int)puVar5 == 0) {\nLAB_10003bedc:\n puVar6 = PTR____NSArray0__struct_1000a8110;\n if (*(undefined **)(param_1 + 0x1c8) != (undefined *)0x0) {\n puVar6 = *(undefined **)(param_1 + 0x1c8);\n }\n local_d0._8_8_ = plVar10[1];\n local_d0._0_8_ = *plVar10;\n local_c0 = (double)plVar10[2];\n CVar15.field0_0x0.field1_0x8 = in_d1;\n CVar15.field0_0x0.field0_0x0 = in_d0;\n CVar15.field1_0x10.field1_0x8 = in_d3;\n CVar15.field1_0x10.field0_0x0 = in_d2;\n mss_lockedStoreFrameAnalysisFaceObservations_inCache_inputImage_sourceTileRect_renderTime_\n (param_1,(ID)puVar6,*(ID *)(param_1 + 0x230),param_3,CVar15,\n (AnonymousStructure0 *)local_d0);\n objc_stub::unlock(*(ID *)(param_1 + 0x28));\n objc_stub::length(0x1000ad2c0);\n IVar4 = objc_stub::count((ID)puVar6);\n if (IVar4 == 0) {\n return 0;\n }\n return (ID)puVar6;\n }\n }\n else {\n local_d0._8_8_ = plVar10[1];\n local_d0._0_8_ = *plVar10;\n local_c0 = (double)plVar10[2];\n lStack_e8 = *(long_long *)(param_1 + 0x1d8);\n local_f0 = *(long_long *)(param_1 + 0x1d0);\n local_e0 = *(long_long *)(param_1 + 0x1e0);\n puVar5 = local_d0;\n _CMTimeCompare(puVar5,&local_f0);\n if (0 < (int)puVar5) {\n lStack_e8 = plVar10[1];\n local_f0 = *plVar10;\n local_e0 = plVar10[2];\n uStack_108 = *(undefined8 *)(param_1 + 0x1d8);\n puVar6 = *(undefined **)(param_1 + 0x1d0);\n local_100 = *(undefined8 *)(param_1 + 0x1e0);\n local_110 = puVar6;\n _CMTimeSubtract(local_d0,&local_f0,&local_110);\n _CMTimeGetSeconds(local_d0);\n IVar4 = objc_stub::count(*(ID *)(param_1 + 0x1c8));\n if (((puVar6 < (undefined *)0x8000000000000000 &&\n (long)ABS((double)puVar6) + 0xfff0000000000000U >> 0x35 < 0x3ff ||\n puVar6 + -1 < (undefined *)0xfffffffffffff) || ABS((double)puVar6) == 0.0) &&\n ((double)puVar6 <= *(double *)(&DAT_100085fc0 + (ulong)(IVar4 == 0) * 8)))\n goto LAB_10003bedc;\n }\n }\n }\n }\n objc_stub::unlock(*(ID *)(param_1 + 0x28));\n objc_stub::lock(*(ID *)(param_1 + 0x30));\n objc_stub::length(0x1000ad2e0);\n local_110 = (undefined *)0x0;\n objc_stub::lock(*(ID *)(param_1 + 0x28));\n local_d0._8_8_ = plVar10[1];\n local_d0._0_8_ = *plVar10;\n local_c0 = (double)plVar10[2];\n CVar16.field0_0x0.field1_0x8 = in_d1;\n CVar16.field0_0x0.field0_0x0 = in_d0;\n CVar16.field1_0x10.field1_0x8 = in_d3;\n CVar16.field1_0x10.field0_0x0 = in_d2;\n dVar11 = in_d1;\n dVar12 = in_d2;\n dVar13 = in_d3;\n bVar2 = mss_lockedCachedFrameAnalysisFaceObservationsInCache_inputImage_sourceTileRect_renderTime_observationsOut_\n (param_1,*(ID *)(param_1 + 0x230),param_3,CVar16,(AnonymousStructure0 *)local_d0\n ,(ID *)&local_110);\n if (bVar2 != 0) {\n objc_stub::unlock(*(ID *)(param_1 + 0x28));\n objc_stub::length(0x1000ad300);\n IVar4 = objc_stub::count((ID)local_110);\n param_3 = 0;\n if (IVar4 != 0) {\n param_3 = (ID)local_110;\n }\n goto LAB_10003c24c;\n }\n if (*(char *)(param_1 + 0x228) == '\\x01') {\n IVar4 = objc_stub::extent(param_3);\n iVar3 = (int)IVar4;\n dVar11 = *(double *)(param_1 + 0x1f0);\n dVar12 = *(double *)(param_1 + 0x1f8);\n dVar13 = *(double *)(param_1 + 0x200);\n _CGRectEqualToRect(*(undefined8 *)(param_1 + 0x1e8));\n if (iVar3 == 0) goto LAB_10003c0a0;\n dVar11 = *(double *)(param_1 + 0x210);\n dVar12 = *(double *)(param_1 + 0x218);\n dVar13 = *(double *)(param_1 + 0x220);\n _CGRectEqualToRect(*(undefined8 *)(param_1 + 0x208));\n if (((iVar3 == 0) || ((*(uint *)((long)plVar10 + 0xc) & 0x1d) != 1)) ||\n ((*(uint *)(param_1 + 0x1dc) & 0x1d) != 1)) goto LAB_10003c0a0;\n local_d0._8_8_ = plVar10[1];\n local_d0._0_8_ = *plVar10;\n local_c0 = (double)plVar10[2];\n lStack_e8 = *(long_long *)(param_1 + 0x1d8);\n local_f0 = *(long_long *)(param_1 + 0x1d0);\n local_e0 = *(long_long *)(param_1 + 0x1e0);\n puVar5 = local_d0;\n _CMTimeCompare(puVar5,&local_f0);\n if ((int)puVar5 != 0) goto LAB_10003c0a0;\n local_110 = PTR____NSArray0__struct_1000a8110;\n if (*(undefined **)(param_1 + 0x1c8) != (undefined *)0x0) {\n local_110 = *(undefined **)(param_1 + 0x1c8);\n }\n local_d0._8_8_ = plVar10[1];\n local_d0._0_8_ = *plVar10;\n local_c0 = (double)plVar10[2];\n CVar19.field0_0x0.field1_0x8 = in_d1;\n CVar19.field0_0x0.field0_0x0 = in_d0;\n CVar19.field1_0x10.field1_0x8 = in_d3;\n CVar19.field1_0x10.field0_0x0 = in_d2;\n dVar11 = in_d1;\n dVar12 = in_d2;\n dVar13 = in_d3;\n mss_lockedStoreFrameAnalysisFaceObservations_inCache_inputImage_sourceTileRect_renderTime_\n (param_1,(ID)local_110,*(ID *)(param_1 + 0x230),param_3,CVar19,\n (AnonymousStructure0 *)local_d0);\n bVar1 = true;\n }\n else {\nLAB_10003c0a0:\n bVar1 = false;\n }\n objc_stub::unlock(*(ID *)(param_1 + 0x28));\n if (bVar1) {\n objc_stub::length(0x1000ad320);\n goto LAB_10003c24c;\n }\n if (*(long *)(param_1 + 0x38) == 0) {\n objc_stub::length(0x1000af520);\nLAB_10003c1a8:\n local_110 = (undefined *)0x0;\n }\n else {\n IVar4 = objc_stub::extent(param_3);\n iVar3 = (int)IVar4;\n _CGRectIsEmpty();\n if (iVar3 != 0) {\n objc_stub::length(0x1000af520);\n goto LAB_10003c1a8;\n }\n IVar4 = param_3;\n FUN_10002ee0c(extraout_d0_00,dVar11,dVar12,dVar13);\n if (IVar4 == 0) {\n objc_stub::length(0x1000af520);\n goto LAB_10003c1a8;\n }\n IVar8 = IVar4;\n local_d0._0_8_ = extraout_d0_00;\n local_d0._8_8_ = dVar11;\n local_c0 = dVar12;\n dStack_b8 = dVar13;\n FUN_1000502b0(extraout_d0_00,dVar11,dVar12,dVar13,IVar4,local_d0);\n local_f0 = 0;\n puVar6 = &_OBJC_CLASS___VNDetectFaceLandmarksRequest;\n _objc_alloc_init();\n FUN_100019e6c();\n FUN_100050560(IVar8,puVar6,&local_f0);\n if ((int)IVar8 == 0) {\n self_00 = (undefined *)0x0;\n }\n else {\n self = objc_stub::results((ID)puVar6);\n self_00 = (undefined *)objc_stub::copy(self);\n }\n puVar7 = self_00;\n FUN_1000501b4();\n if ((((int)IVar8 == 0) || (IVar8 = objc_stub::count((ID)self_00), IVar8 == 0)) ||\n (puVar7 < (undefined *)0x4c)) {\n objc_stub::count((ID)self_00);\n objc_stub::revision((ID)puVar6);\n objc_stub::usesCPUOnly((ID)puVar6);\n puVar6 = &_OBJC_CLASS___VNDetectFaceLandmarksRequest;\n _objc_alloc_init();\n FUN_100019e6c();\n FUN_100050634(extraout_d0_00,dVar11,dVar12,dVar13,IVar4,puVar6,&cf_landmarks,&local_f0);\n if ((int)IVar4 != 0) {\n IVar4 = objc_stub::results((ID)puVar6);\n self_01 = (undefined *)objc_stub::copy(IVar4);\n puVar9 = self_01;\n FUN_1000501b4();\n objc_stub::count((ID)self_01);\n objc_stub::revision((ID)puVar6);\n IVar4 = objc_stub::count((ID)self_01);\n if (IVar4 != 0) {\n self_00 = self_01;\n puVar7 = puVar9;\n }\n }\n }\n IVar4 = objc_stub::count((ID)self_00);\n if (IVar4 == 0) {\n _NSStringFromRect(extraout_d0_00,dVar11,dVar12,dVar13);\n }\n else if (puVar7 < (undefined *)0x4c) {\n objc_stub::count((ID)self_00);\n }\n objc_stub::length(0x1000af520);\n IVar4 = objc_stub::count((ID)self_00);\n local_110 = (undefined *)0x0;\n if (IVar4 != 0) {\n local_110 = self_00;\n }\n }\n objc_stub::length(0x1000ad340);\n objc_stub::lock(*(ID *)(param_1 + 0x28));\n local_d0._8_8_ = plVar10[1];\n local_d0._0_8_ = *plVar10;\n local_c0 = (double)plVar10[2];\n CVar17.field0_0x0.field1_0x8 = in_d1;\n CVar17.field0_0x0.field0_0x0 = in_d0;\n CVar17.field1_0x10.field1_0x8 = in_d3;\n CVar17.field1_0x10.field0_0x0 = in_d2;\n mss_lockedStoreCachedFaceObservations_inputImage_sourceTileRect_renderTime_\n (param_1,(ID)local_110,param_3,CVar17,(AnonymousStructure0 *)local_d0);\n IVar4 = objc_stub::count((ID)local_110);\n if (IVar4 != 0) {\n local_d0._8_8_ = plVar10[1];\n local_d0._0_8_ = *plVar10;\n local_c0 = (double)plVar10[2];\n CVar18.field0_0x0.field1_0x8 = in_d1;\n CVar18.field0_0x0.field0_0x0 = in_d0;\n CVar18.field1_0x10.field1_0x8 = in_d3;\n CVar18.field1_0x10.field0_0x0 = in_d2;\n mss_lockedStoreCachedFaceRectangleObservations_inputImage_sourceTileRect_renderTime_\n (param_1,(ID)local_110,param_3,CVar18,(AnonymousStructure0 *)local_d0);\n objc_stub::length(0x1000ad360);\n }\n objc_stub::unlock(*(ID *)(param_1 + 0x28));\nLAB_10003c24c:\n objc_stub::unlock(*(ID *)(param_1 + 0x30));\n if (bVar2 == 1) {\n local_110 = (undefined *)param_3;\n }\n return (ID)local_110;\n}\n\n" }, "subject": { "architecture": "arm64", "digest": { "sha256": "afc71d0d21fd3c1ca95ca745ddafcd729e36ad95f17d8638009f2e45d9b7e8df" }, "format": "mach-o", "local_path": "/Users/dayu/Documents/PaintFCP/build/body-analysis/MSE18V2-arm64", "name": "MSE18V2-arm64" } }, { "analysis_profile": { "digest": "20565088524a2d0359b9b96f46ac48e679d774c7b0092c56abc06de8fdbec11c", "parameters": { "analyzer_preset": "ghidra-default", "annotation_policy": "atomic-function-entry-metadata-v1", "architecture": "arm64", "available_architectures": [ "arm64" ], "compiler_spec_id": "auto-default", "decompiler_jump_loads": true, "function_body_evidence": "complete-inclusive-ranges-v1", "function_boundary_observations": "ghidra-terminal-call-limitations-v1", "function_references": "complete-body-and-entry-reference-manager-v2", "import_mode": "ephemeral-source-immutable", "instruction_flow_evidence": "decoded-return-pcode-v1", "jump_table_evidence": "typed-case-default-blocks-v1", "language_id": "auto-from-header", "load_image_observations": "source-mappings-entry-context-v2", "loader": "auto-from-header", "location_resolution": "explicit-address-exact-entry-symbol-first-v3", "no_return_repair": "returning-imports-decoded-return-v2", "process_launch": "inspected-jvm-launch-support-v1", "string_inventory_evidence": "defined-data-coverage-v1", "target_format": "mach-o", "target_kind": "executable" }, "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" } }, "authority": "shipped-artifact", "confidence": "observed", "environment": null, "evidence_id": "ev_d138ff61ee730f4177179ca4406903675203b55fde5433c6ebcfd69d7d4f007c", "evidence_links": [], "limitations": [ "The session serves operations only after Ghidra reports default auto-analysis complete; incomplete analysis does not expose partial results.", "The imported Program and temporary project are ephemeral and deleted on close. Annotation operations edit session database metadata; original executable bytes are never written.", "Cancelling an active Ghidra request terminates its ephemeral database and discards session annotations. The selected target remains open; the next provider query imports the original artifact again.", "Default-space addresses use lowercase 0x-prefixed hexadecimal; other address spaces use :0x.", "Bytes reflect Ghidra's initialized memory, including loader fixups. Reads stop at an unmapped or uninitialized byte and report completeness explicitly.", "macOS sessions require a matching executable Ghidra native decompiler; REA checks for it but does not build native components or change Gatekeeper quarantine state." ], "locations": [], "normalized_result": { "address": "0x1000af5a0", "bytes_hex": "00570e0001000000c807000000000000508b0900010000002600000000000000", "complete": true, "requested_bytes": 32, "returned_bytes": 32 }, "operation": "read_bytes", "parameters": { "address": "0x1000af5a0", "length": 32 }, "predicate_type": "rea.analysis", "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" }, "raw_result": { "address": "0x1000af5a0", "bytes_hex": "00570e0001000000c807000000000000508b0900010000002600000000000000", "complete": true, "requested_bytes": 32, "returned_bytes": 32 }, "subject": { "architecture": "arm64", "digest": { "sha256": "afc71d0d21fd3c1ca95ca745ddafcd729e36ad95f17d8638009f2e45d9b7e8df" }, "format": "mach-o", "local_path": "/Users/dayu/Documents/PaintFCP/build/body-analysis/MSE18V2-arm64", "name": "MSE18V2-arm64" } } ], "selection": { "scope": "Selected complete records from the session export; unselected operations and legacy-target evidence omitted", "date": "2026-10-22", "allTargetExecution": false } }