From 2a856c669abcef1547305d1ab177de141dd45200 Mon Sep 17 00:00:00 2001 From: dayu <506228475@qq.com> Date: Wed, 21 Oct 2026 19:02:24 +0800 Subject: [PATCH] Analyze contour-based reference slimming and profile deformation gap; preserve installed 1.0.4 --- RECOVERY.md | 4 + docs/analysis/REA-分析与复刻说明.md | 4 + docs/analysis/rea-slim-pose.json | 1 + docs/analysis/slim-pose-report.json | 385 ++++++++++++++++++++++++++++ docs/analysis/脸型变形与转脸分析.md | 80 ++++++ docs/验证记录.md | 10 +- scripts/inspect-face-geometry.m | 109 ++++++++ 7 files changed, 592 insertions(+), 1 deletion(-) create mode 100644 docs/analysis/rea-slim-pose.json create mode 100644 docs/analysis/slim-pose-report.json create mode 100644 docs/analysis/脸型变形与转脸分析.md create mode 100644 scripts/inspect-face-geometry.m diff --git a/RECOVERY.md b/RECOVERY.md index 84ff131..d97c773 100644 --- a/RECOVERY.md +++ b/RECOVERY.md @@ -36,3 +36,7 @@ git switch --detach v1.0.4 FCP模板从 `Templates/大鱼人像美化/` 恢复,将 `.moef` 和 `Drop Zone.tiff` 一起放入 `~/Movies/Motion Templates.localized/Effects.localized/大鱼/大鱼人像美化/`;只放 `.moef` 会缺少标准效果源输入资源。正式APP仅安装在 `/Library/Plug-Ins/FxPlug/beatygril.app`,不是从工作树或构建目录运行。没有LFS或子模块,必要工程资源、NASA测试人像及配套模板资源均在Git中。 用户用于宿主验收的外置卷视频及build内的验收工程/截图属于测试素材与可重建产物,不属于产品构建依赖,也没有远程上传。原MSE18V2 APP与原版MS模板仅为只读参考,不作为运行依赖。远端恢复记录及实际宿主测试范围见 `docs/验证记录.md`。 + +## 瘦脸与侧脸问题的分析节点 + +`v1.0.4`之后的分析提交包含`docs/analysis/脸型变形与转脸分析.md`、`slim-pose-report.json`、REA证据包及独立Vision离线检测工具`scripts/inspect-face-geometry.m`。产品源码与安装版没有因该分析改变;已查明的问题仍存在于1.0.4。复现检测工具的依赖与命令见分析文档,用户视频、完整人脸坐标和帧图保留本地,不是产品恢复依赖。 diff --git a/docs/analysis/REA-分析与复刻说明.md b/docs/analysis/REA-分析与复刻说明.md index a8d0791..66b6fbc 100644 --- a/docs/analysis/REA-分析与复刻说明.md +++ b/docs/analysis/REA-分析与复刻说明.md @@ -71,3 +71,7 @@ REA 直接打开内嵌插件。原包为 arm64/x86_64 通用 Mach-O,Ghidra 无 本机原生观察:Motion中使用同一蓝发视频,原版UI默认多人关闭(单人)、防跳180%;启用检测框并调瘦脸/大眼后,播放时自动更新人脸框,没有先执行离线分析。此观察只覆盖该单人片段,不能替代多人遮挡与所有参数对照。 1.0.4已在Motion实际加载与不同播放头位置观察默认自动跟随输出;用户随后接管Motion/FCP自测,FCP该版自动跟随及显式OSC原生点击尚未完成自动验收。已完成范围与剩余验证见 [验证记录](../验证记录.md)。 + +## 最大瘦脸与转脸差异(用户复测反馈) + +用户反馈跟踪正常,但最大瘦脸与原版不一致,侧脸出现异常变形。补充REA与Metal AIR分析确认,原版瘦脸以76点加中心点输入,执行17组轮廓到鼻部/瞳孔锚点的局部逆向采样;当前复刻采用矩形框水平对称场,两者没有对齐。已检查的GPU瘦脸路径没有显式yaw角度切换或侧脸衰减,不能将局部二维点自适应描述为完整3D姿态识别。详见 [脸型变形与转脸分析](脸型变形与转脸分析.md) 及 [结构报告](slim-pose-report.json)。本轮未修改安装版的变形代码。 diff --git a/docs/analysis/rea-slim-pose.json b/docs/analysis/rea-slim-pose.json new file mode 100644 index 0000000..249eb36 --- /dev/null +++ b/docs/analysis/rea-slim-pose.json @@ -0,0 +1 @@ +{"artifacts":[{"architecture":"arm64","digest":{"sha256":"f01e8c0b7e2676b2961950b0e48efdd2589af218e4b36de7d39f5d1c76852bfb"},"format":"mach-o"}],"captures":[],"environments":[],"providers":[{"id":"ghidra","name":"Ghidra","version":"12.1.4"}],"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_02f734a0d72f1b7b77a3112d1de297b9e99ea43d5377349e6eebb71ab017d650","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 0x100016b84 to 0x10005c880 objc_stub::setUsesCPUOnly: (external=false, thunk=false, hasNoReturn=false); fallthrough is excluded by Ghidra's flow model. The reason for the terminal flow is not established by this observation.","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_100016a3c(ID param_1,ID param_2,ID param_3)\n\n{\n undefined8 uVar1;\n int iVar2;\n ID IVar3;\n ID IVar4;\n ID IVar5;\n \n if (param_1 == 0) {\n return;\n }\n if ((param_2 == 0) || (IVar3 = objc_stub::revision(param_2), IVar3 == 0)) {\n IVar5 = VNDetectFaceLandmarksRequest::supportedRevisions\n ((ID)&_OBJC_CLASS___VNDetectFaceLandmarksRequest);\n IVar3 = 3;\n IVar4 = VNDetectFaceLandmarksRequest::containsIndex_(IVar5,3);\n if ((IVar4 & 1) == 0) {\n IVar5 = VNDetectFaceLandmarksRequest::containsIndex_(IVar5,2);\n IVar3 = 1;\n if ((int)IVar5 != 0) {\n IVar3 = 2;\n }\n }\n }\n else {\n IVar3 = objc_stub::revision(param_2);\n }\n IVar5 = VNDetectFaceLandmarksRequest::supportedRevisions\n ((ID)&_OBJC_CLASS___VNDetectFaceLandmarksRequest);\n IVar5 = VNDetectFaceLandmarksRequest::containsIndex_(IVar5,IVar3);\n if ((IVar5 & 1) == 0) {\n IVar3 = VNDetectFaceLandmarksRequest::supportedRevisions\n ((ID)&_OBJC_CLASS___VNDetectFaceLandmarksRequest);\n IVar5 = VNDetectFaceLandmarksRequest::containsIndex_(IVar3,3);\n if ((int)IVar5 == 0) {\n IVar3 = VNDetectFaceLandmarksRequest::containsIndex_(IVar3,2);\n uVar1 = 1;\n if ((int)IVar3 != 0) {\n uVar1 = 2;\n }\n objc_stub::setRevision_(param_1,uVar1);\n goto LAB_100016b4c;\n }\n objc_stub::setRevision_(param_1,3);\n }\n else {\n objc_stub::setRevision_(param_1,IVar3);\n if (IVar3 != 3) goto LAB_100016b4c;\n }\n IVar3 = VNDetectFaceLandmarksRequest::revision_supportsConstellation_\n ((ID)&_OBJC_CLASS___VNDetectFaceLandmarksRequest,3,2);\n if ((int)IVar3 != 0) {\n objc_stub::setConstellation_(param_1,2);\n }\nLAB_100016b4c:\n IVar3 = objc_stub::count(param_3);\n iVar2 = 0;\n if (IVar3 != 0) {\n IVar3 = objc_stub::setInputFaceObservations_(param_1,param_3);\n iVar2 = (int)IVar3;\n }\n FUN_10003b084();\n if (iVar2 == 0) {\n return;\n }\n objc_stub::setUsesCPUOnly_(param_1,1);\n return;\n}\n\n","operation":"procedure_pseudo_code","parameters":{"procedure":"0x100016a3c"},"predicate_type":"rea.analysis","provider":{"id":"ghidra","name":"Ghidra","version":"12.1.4"},"raw_result":{"limitations":["Ghidra Listing reports a terminal call at 0x100016b84 to 0x10005c880 objc_stub::setUsesCPUOnly: (external=false, thunk=false, hasNoReturn=false); fallthrough is excluded by Ghidra's flow model. The reason for the terminal flow is not established by this observation."],"value":"\nvoid FUN_100016a3c(ID param_1,ID param_2,ID param_3)\n\n{\n undefined8 uVar1;\n int iVar2;\n ID IVar3;\n ID IVar4;\n ID IVar5;\n \n if (param_1 == 0) {\n return;\n }\n if ((param_2 == 0) || (IVar3 = objc_stub::revision(param_2), IVar3 == 0)) {\n IVar5 = VNDetectFaceLandmarksRequest::supportedRevisions\n ((ID)&_OBJC_CLASS___VNDetectFaceLandmarksRequest);\n IVar3 = 3;\n IVar4 = VNDetectFaceLandmarksRequest::containsIndex_(IVar5,3);\n if ((IVar4 & 1) == 0) {\n IVar5 = VNDetectFaceLandmarksRequest::containsIndex_(IVar5,2);\n IVar3 = 1;\n if ((int)IVar5 != 0) {\n IVar3 = 2;\n }\n }\n }\n else {\n IVar3 = objc_stub::revision(param_2);\n }\n IVar5 = VNDetectFaceLandmarksRequest::supportedRevisions\n ((ID)&_OBJC_CLASS___VNDetectFaceLandmarksRequest);\n IVar5 = VNDetectFaceLandmarksRequest::containsIndex_(IVar5,IVar3);\n if ((IVar5 & 1) == 0) {\n IVar3 = VNDetectFaceLandmarksRequest::supportedRevisions\n ((ID)&_OBJC_CLASS___VNDetectFaceLandmarksRequest);\n IVar5 = VNDetectFaceLandmarksRequest::containsIndex_(IVar3,3);\n if ((int)IVar5 == 0) {\n IVar3 = VNDetectFaceLandmarksRequest::containsIndex_(IVar3,2);\n uVar1 = 1;\n if ((int)IVar3 != 0) {\n uVar1 = 2;\n }\n objc_stub::setRevision_(param_1,uVar1);\n goto LAB_100016b4c;\n }\n objc_stub::setRevision_(param_1,3);\n }\n else {\n objc_stub::setRevision_(param_1,IVar3);\n if (IVar3 != 3) goto LAB_100016b4c;\n }\n IVar3 = VNDetectFaceLandmarksRequest::revision_supportsConstellation_\n ((ID)&_OBJC_CLASS___VNDetectFaceLandmarksRequest,3,2);\n if ((int)IVar3 != 0) {\n objc_stub::setConstellation_(param_1,2);\n }\nLAB_100016b4c:\n IVar3 = objc_stub::count(param_3);\n iVar2 = 0;\n if (IVar3 != 0) {\n IVar3 = objc_stub::setInputFaceObservations_(param_1,param_3);\n iVar2 = (int)IVar3;\n }\n FUN_10003b084();\n if (iVar2 == 0) {\n return;\n }\n objc_stub::setUsesCPUOnly_(param_1,1);\n return;\n}\n\n"},"subject":{"architecture":"arm64","digest":{"sha256":"f01e8c0b7e2676b2961950b0e48efdd2589af218e4b36de7d39f5d1c76852bfb"},"format":"mach-o","local_path":"/private/tmp/paintfcp-rea.b3j9Te/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_1520c2d83845004994f2be940c8c5ea3f4a62daf2d8e3e06278f381ffca1a010","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: Function: _objc_release replaced with injection: _objc_release_fixup */\n/* Function Stack Size: 0x20 bytes */\n\nID FxMTLDeviceCacheItem::initWithDevice_pixelFormat_\n (ID param_1,SEL param_2,ID param_3,unsigned_long_long param_4)\n\n{\n bool bVar1;\n ID IVar2;\n undefined *puVar3;\n ID IVar4;\n ID IVar5;\n ID IVar6;\n ID IVar7;\n ID IVar8;\n ID IVar9;\n ID IVar10;\n ID IVar11;\n ID IVar12;\n ID IVar13;\n ID IVar14;\n ulong uVar15;\n undefined8 local_b8;\n undefined8 local_b0;\n undefined8 local_a8;\n undefined8 local_a0;\n undefined8 local_98;\n undefined8 local_90;\n undefined8 local_88;\n undefined8 local_80;\n undefined8 local_78;\n ID local_70;\n class_t *pcStack_68;\n \n pcStack_68 = &objc::class_t::FxMTLDeviceCacheItem;\n local_70 = param_1;\n IVar2 = NSObject::init((ID)&local_70,\"init\");\n if (IVar2 != 0) {\n *(ID *)(IVar2 + 8) = param_3;\n puVar3 = &_OBJC_CLASS___NSMutableArray;\n _objc_alloc();\n IVar4 = objc_stub::initWithCapacity_((ID)puVar3,5);\n *(ID *)(IVar2 + 0x58) = IVar4;\n if (IVar4 != 0) {\n uVar15 = 0;\n do {\n IVar4 = NSMutableDictionary::dictionary((ID)&_OBJC_CLASS___NSMutableDictionary);\n IVar5 = NSNumber::numberWithBool_((ID)&_OBJC_CLASS___NSNumber,0);\n NSMutableDictionary::setObject_forKey_(IVar4,IVar5,&cf_InUse);\n IVar5 = objc_stub::newCommandQueue(*(ID *)(IVar2 + 8));\n NSMutableDictionary::setObject_forKey_(IVar4,IVar5,&cf_CommandQueue);\n objc_stub::addObject_(*(ID *)(IVar2 + 0x58),IVar4);\n if (*(long *)(IVar2 + 0x58) == 0) break;\n bVar1 = uVar15 < 4;\n uVar15 = uVar15 + 1;\n } while (bVar1);\n }\n IVar4 = objc_stub::newDefaultLibrary(*(ID *)(IVar2 + 8));\n IVar5 = objc_stub::newFunctionWithName_(IVar4,&cf_vertexShader);\n IVar6 = objc_stub::newFunctionWithName_(IVar4,&cf_faceThinOffsetMeshVertexShader);\n IVar7 = objc_stub::newFunctionWithName_(IVar4,&cf_fragmentShader);\n IVar8 = objc_stub::newFunctionWithName_(IVar4,&cf_faceThinFragmentShader);\n IVar9 = objc_stub::newFunctionWithName_(IVar4,&cf_faceThinOffsetMeshFragmentShader);\n IVar10 = objc_stub::newFunctionWithName_(IVar4,&cf_faceThinOffsetBlurHFragmentShader);\n IVar11 = objc_stub::newFunctionWithName_(IVar4,&cf_faceThinOffsetBlurVFragmentShader);\n IVar12 = objc_stub::newFunctionWithName_(IVar4,&cf_faceThinOffsetApplyFragmentShader);\n IVar13 = objc_stub::newFunctionWithName_(IVar4,&cf_faceThinMaskPreviewFragmentShader);\n IVar14 = objc_stub::newFunctionWithName_(IVar4,&cf_overlayFragmentShader);\n IVar4 = objc_stub::newFunctionWithName_(IVar4,&cf_solidOverlayFragmentShader);\n puVar3 = &_OBJC_CLASS___MTLRenderPipelineDescriptor;\n _objc_alloc_init();\n objc_stub::setLabel_((ID)puVar3,&cf_MSSuperSkinSmoothingPipeline);\n objc_stub::setVertexFunction_((ID)puVar3,IVar5);\n objc_stub::setFragmentFunction_((ID)puVar3,IVar7);\n IVar7 = objc_stub::colorAttachments((ID)puVar3);\n IVar7 = objc_stub::objectAtIndexedSubscript_(IVar7,0);\n objc_stub::setPixelFormat_(IVar7,param_4);\n IVar7 = objc_stub::colorAttachments((ID)puVar3);\n IVar7 = objc_stub::objectAtIndexedSubscript_(IVar7,0);\n objc_stub::setBlendingEnabled_(IVar7,0);\n *(unsigned_long_long *)(IVar2 + 0x68) = param_4;\n local_78 = 0;\n IVar7 = objc_stub::newRenderPipelineStateWithDescriptor_error_\n (*(ID *)(IVar2 + 8),puVar3,&local_78);\n *(ID *)(IVar2 + 0x10) = IVar7;\n puVar3 = &_OBJC_CLASS___MTLRenderPipelineDescriptor;\n _objc_alloc_init();\n objc_stub::setLabel_((ID)puVar3,&cf_MSSuperSkinSmoothingFaceThinPipeline);\n objc_stub::setVertexFunction_((ID)puVar3,IVar5);\n objc_stub::setFragmentFunction_((ID)puVar3,IVar8);\n IVar7 = objc_stub::colorAttachments((ID)puVar3);\n IVar7 = objc_stub::objectAtIndexedSubscript_(IVar7,0);\n objc_stub::setPixelFormat_(IVar7,param_4);\n IVar7 = objc_stub::colorAttachments((ID)puVar3);\n IVar7 = objc_stub::objectAtIndexedSubscript_(IVar7,0);\n objc_stub::setBlendingEnabled_(IVar7,1);\n IVar7 = objc_stub::colorAttachments((ID)puVar3);\n IVar7 = objc_stub::objectAtIndexedSubscript_(IVar7,0);\n objc_stub::setSourceRGBBlendFactor_(IVar7,1);\n IVar7 = objc_stub::colorAttachments((ID)puVar3);\n IVar7 = objc_stub::objectAtIndexedSubscript_(IVar7,0);\n objc_stub::setDestinationRGBBlendFactor_(IVar7,0);\n IVar7 = objc_stub::colorAttachments((ID)puVar3);\n IVar7 = objc_stub::objectAtIndexedSubscript_(IVar7,0);\n objc_stub::setRgbBlendOperation_(IVar7,0);\n IVar7 = objc_stub::colorAttachments((ID)puVar3);\n IVar7 = objc_stub::objectAtIndexedSubscript_(IVar7,0);\n objc_stub::setSourceAlphaBlendFactor_(IVar7,1);\n IVar7 = objc_stub::colorAttachments((ID)puVar3);\n IVar7 = objc_stub::objectAtIndexedSubscript_(IVar7,0);\n objc_stub::setDestinationAlphaBlendFactor_(IVar7,0);\n IVar7 = objc_stub::colorAttachments((ID)puVar3);\n IVar7 = objc_stub::objectAtIndexedSubscript_(IVar7,0);\n objc_stub::setAlphaBlendOperation_(IVar7,0);\n local_80 = 0;\n IVar7 = objc_stub::newRenderPipelineStateWithDescriptor_error_\n (*(ID *)(IVar2 + 8),puVar3,&local_80);\n *(ID *)(IVar2 + 0x18) = IVar7;\n puVar3 = &_OBJC_CLASS___MTLRenderPipelineDescriptor;\n _objc_alloc_init();\n objc_stub::setLabel_((ID)puVar3,&cf_MSSuperSkinSmoothingFaceThinMeshOffsetMapPipeline);\n objc_stub::setVertexFunction_((ID)puVar3,IVar6);\n objc_stub::setFragmentFunction_((ID)puVar3,IVar9);\n IVar6 = objc_stub::colorAttachments((ID)puVar3);\n IVar6 = objc_stub::objectAtIndexedSubscript_(IVar6,0);\n objc_stub::setPixelFormat_(IVar6,param_4);\n IVar6 = objc_stub::colorAttachments((ID)puVar3);\n IVar6 = objc_stub::objectAtIndexedSubscript_(IVar6,0);\n objc_stub::setBlendingEnabled_(IVar6,0);\n local_88 = 0;\n IVar6 = objc_stub::newRenderPipelineStateWithDescriptor_error_\n (*(ID *)(IVar2 + 8),puVar3,&local_88);\n *(ID *)(IVar2 + 0x20) = IVar6;\n puVar3 = &_OBJC_CLASS___MTLRenderPipelineDescriptor;\n _objc_alloc_init();\n objc_stub::setLabel_((ID)puVar3,&cf_MSSuperSkinSmoothingFaceThinOffsetBlurHPipeline);\n objc_stub::setVertexFunction_((ID)puVar3,IVar5);\n objc_stub::setFragmentFunction_((ID)puVar3,IVar10);\n IVar6 = objc_stub::colorAttachments((ID)puVar3);\n IVar6 = objc_stub::objectAtIndexedSubscript_(IVar6,0);\n objc_stub::setPixelFormat_(IVar6,param_4);\n IVar6 = objc_stub::colorAttachments((ID)puVar3);\n IVar6 = objc_stub::objectAtIndexedSubscript_(IVar6,0);\n objc_stub::setBlendingEnabled_(IVar6,0);\n local_90 = 0;\n IVar6 = objc_stub::newRenderPipelineStateWithDescriptor_error_\n (*(ID *)(IVar2 + 8),puVar3,&local_90);\n *(ID *)(IVar2 + 0x28) = IVar6;\n puVar3 = &_OBJC_CLASS___MTLRenderPipelineDescriptor;\n _objc_alloc_init();\n objc_stub::setLabel_((ID)puVar3,&cf_MSSuperSkinSmoothingFaceThinOffsetBlurVPipeline);\n objc_stub::setVertexFunction_((ID)puVar3,IVar5);\n objc_stub::setFragmentFunction_((ID)puVar3,IVar11);\n IVar6 = objc_stub::colorAttachments((ID)puVar3);\n IVar6 = objc_stub::objectAtIndexedSubscript_(IVar6,0);\n objc_stub::setPixelFormat_(IVar6,param_4);\n IVar6 = objc_stub::colorAttachments((ID)puVar3);\n IVar6 = objc_stub::objectAtIndexedSubscript_(IVar6,0);\n objc_stub::setBlendingEnabled_(IVar6,0);\n local_98 = 0;\n IVar6 = objc_stub::newRenderPipelineStateWithDescriptor_error_\n (*(ID *)(IVar2 + 8),puVar3,&local_98);\n *(ID *)(IVar2 + 0x30) = IVar6;\n puVar3 = &_OBJC_CLASS___MTLRenderPipelineDescriptor;\n _objc_alloc_init();\n objc_stub::setLabel_((ID)puVar3,&cf_MSSuperSkinSmoothingFaceThinOffsetApplyPipeline);\n objc_stub::setVertexFunction_((ID)puVar3,IVar5);\n objc_stub::setFragmentFunction_((ID)puVar3,IVar12);\n IVar6 = objc_stub::colorAttachments((ID)puVar3);\n IVar6 = objc_stub::objectAtIndexedSubscript_(IVar6,0);\n objc_stub::setPixelFormat_(IVar6,param_4);\n IVar6 = objc_stub::colorAttachments((ID)puVar3);\n IVar6 = objc_stub::objectAtIndexedSubscript_(IVar6,0);\n objc_stub::setBlendingEnabled_(IVar6,1);\n IVar6 = objc_stub::colorAttachments((ID)puVar3);\n IVar6 = objc_stub::objectAtIndexedSubscript_(IVar6,0);\n objc_stub::setSourceRGBBlendFactor_(IVar6,1);\n IVar6 = objc_stub::colorAttachments((ID)puVar3);\n IVar6 = objc_stub::objectAtIndexedSubscript_(IVar6,0);\n objc_stub::setDestinationRGBBlendFactor_(IVar6,0);\n IVar6 = objc_stub::colorAttachments((ID)puVar3);\n IVar6 = objc_stub::objectAtIndexedSubscript_(IVar6,0);\n objc_stub::setRgbBlendOperation_(IVar6,0);\n IVar6 = objc_stub::colorAttachments((ID)puVar3);\n IVar6 = objc_stub::objectAtIndexedSubscript_(IVar6,0);\n objc_stub::setSourceAlphaBlendFactor_(IVar6,1);\n IVar6 = objc_stub::colorAttachments((ID)puVar3);\n IVar6 = objc_stub::objectAtIndexedSubscript_(IVar6,0);\n objc_stub::setDestinationAlphaBlendFactor_(IVar6,0);\n IVar6 = objc_stub::colorAttachments((ID)puVar3);\n IVar6 = objc_stub::objectAtIndexedSubscript_(IVar6,0);\n objc_stub::setAlphaBlendOperation_(IVar6,0);\n local_a0 = 0;\n IVar6 = objc_stub::newRenderPipelineStateWithDescriptor_error_\n (*(ID *)(IVar2 + 8),puVar3,&local_a0);\n *(ID *)(IVar2 + 0x38) = IVar6;\n puVar3 = &_OBJC_CLASS___MTLRenderPipelineDescriptor;\n _objc_alloc_init();\n objc_stub::setLabel_((ID)puVar3,&cf_MSSuperSkinSmoothingFaceThinMaskPreviewPipeline);\n objc_stub::setVertexFunction_((ID)puVar3,IVar5);\n objc_stub::setFragmentFunction_((ID)puVar3,IVar13);\n IVar6 = objc_stub::colorAttachments((ID)puVar3);\n IVar6 = objc_stub::objectAtIndexedSubscript_(IVar6,0);\n objc_stub::setPixelFormat_(IVar6,param_4);\n IVar6 = objc_stub::colorAttachments((ID)puVar3);\n IVar6 = objc_stub::objectAtIndexedSubscript_(IVar6,0);\n objc_stub::setBlendingEnabled_(IVar6,1);\n IVar6 = objc_stub::colorAttachments((ID)puVar3);\n IVar6 = objc_stub::objectAtIndexedSubscript_(IVar6,0);\n objc_stub::setSourceRGBBlendFactor_(IVar6,1);\n IVar6 = objc_stub::colorAttachments((ID)puVar3);\n IVar6 = objc_stub::objectAtIndexedSubscript_(IVar6,0);\n objc_stub::setDestinationRGBBlendFactor_(IVar6,5);\n IVar6 = objc_stub::colorAttachments((ID)puVar3);\n IVar6 = objc_stub::objectAtIndexedSubscript_(IVar6,0);\n objc_stub::setRgbBlendOperation_(IVar6,0);\n IVar6 = objc_stub::colorAttachments((ID)puVar3);\n IVar6 = objc_stub::objectAtIndexedSubscript_(IVar6,0);\n objc_stub::setSourceAlphaBlendFactor_(IVar6,1);\n IVar6 = objc_stub::colorAttachments((ID)puVar3);\n IVar6 = objc_stub::objectAtIndexedSubscript_(IVar6,0);\n objc_stub::setDestinationAlphaBlendFactor_(IVar6,5);\n IVar6 = objc_stub::colorAttachments((ID)puVar3);\n IVar6 = objc_stub::objectAtIndexedSubscript_(IVar6,0);\n objc_stub::setAlphaBlendOperation_(IVar6,0);\n local_a8 = 0;\n IVar6 = objc_stub::newRenderPipelineStateWithDescriptor_error_\n (*(ID *)(IVar2 + 8),puVar3,&local_a8);\n *(ID *)(IVar2 + 0x40) = IVar6;\n puVar3 = &_OBJC_CLASS___MTLRenderPipelineDescriptor;\n _objc_alloc_init();\n objc_stub::setLabel_((ID)puVar3,&cf_MSSuperSkinSmoothingOverlayPipeline);\n objc_stub::setVertexFunction_((ID)puVar3,IVar5);\n objc_stub::setFragmentFunction_((ID)puVar3,IVar14);\n IVar6 = objc_stub::colorAttachments((ID)puVar3);\n IVar6 = objc_stub::objectAtIndexedSubscript_(IVar6,0);\n objc_stub::setPixelFormat_(IVar6,param_4);\n IVar6 = objc_stub::colorAttachments((ID)puVar3);\n IVar6 = objc_stub::objectAtIndexedSubscript_(IVar6,0);\n objc_stub::setBlendingEnabled_(IVar6,1);\n IVar6 = objc_stub::colorAttachments((ID)puVar3);\n IVar6 = objc_stub::objectAtIndexedSubscript_(IVar6,0);\n objc_stub::setSourceRGBBlendFactor_(IVar6,1);\n IVar6 = objc_stub::colorAttachments((ID)puVar3);\n IVar6 = objc_stub::objectAtIndexedSubscript_(IVar6,0);\n objc_stub::setDestinationRGBBlendFactor_(IVar6,5);\n IVar6 = objc_stub::colorAttachments((ID)puVar3);\n IVar6 = objc_stub::objectAtIndexedSubscript_(IVar6,0);\n objc_stub::setRgbBlendOperation_(IVar6,0);\n IVar6 = objc_stub::colorAttachments((ID)puVar3);\n IVar6 = objc_stub::objectAtIndexedSubscript_(IVar6,0);\n objc_stub::setSourceAlphaBlendFactor_(IVar6,1);\n IVar6 = objc_stub::colorAttachments((ID)puVar3);\n IVar6 = objc_stub::objectAtIndexedSubscript_(IVar6,0);\n objc_stub::setDestinationAlphaBlendFactor_(IVar6,5);\n IVar6 = objc_stub::colorAttachments((ID)puVar3);\n IVar6 = objc_stub::objectAtIndexedSubscript_(IVar6,0);\n objc_stub::setAlphaBlendOperation_(IVar6,0);\n local_b0 = 0;\n IVar6 = objc_stub::newRenderPipelineStateWithDescriptor_error_\n (*(ID *)(IVar2 + 8),puVar3,&local_b0);\n *(ID *)(IVar2 + 0x48) = IVar6;\n puVar3 = &_OBJC_CLASS___MTLRenderPipelineDescriptor;\n _objc_alloc_init();\n objc_stub::setLabel_((ID)puVar3,&cf_MSSuperSkinSmoothingSolidOverlayPipeline);\n objc_stub::setVertexFunction_((ID)puVar3,IVar5);\n objc_stub::setFragmentFunction_((ID)puVar3,IVar4);\n IVar4 = objc_stub::colorAttachments((ID)puVar3);\n IVar4 = objc_stub::objectAtIndexedSubscript_(IVar4,0);\n objc_stub::setPixelFormat_(IVar4,param_4);\n IVar4 = objc_stub::colorAttachments((ID)puVar3);\n IVar4 = objc_stub::objectAtIndexedSubscript_(IVar4,0);\n objc_stub::setBlendingEnabled_(IVar4,1);\n IVar4 = objc_stub::colorAttachments((ID)puVar3);\n IVar4 = objc_stub::objectAtIndexedSubscript_(IVar4,0);\n objc_stub::setSourceRGBBlendFactor_(IVar4,4);\n IVar4 = objc_stub::colorAttachments((ID)puVar3);\n IVar4 = objc_stub::objectAtIndexedSubscript_(IVar4,0);\n objc_stub::setDestinationRGBBlendFactor_(IVar4,5);\n IVar4 = objc_stub::colorAttachments((ID)puVar3);\n IVar4 = objc_stub::objectAtIndexedSubscript_(IVar4,0);\n objc_stub::setRgbBlendOperation_(IVar4,0);\n IVar4 = objc_stub::colorAttachments((ID)puVar3);\n IVar4 = objc_stub::objectAtIndexedSubscript_(IVar4,0);\n objc_stub::setSourceAlphaBlendFactor_(IVar4,1);\n IVar4 = objc_stub::colorAttachments((ID)puVar3);\n IVar4 = objc_stub::objectAtIndexedSubscript_(IVar4,0);\n objc_stub::setDestinationAlphaBlendFactor_(IVar4,5);\n IVar4 = objc_stub::colorAttachments((ID)puVar3);\n IVar4 = objc_stub::objectAtIndexedSubscript_(IVar4,0);\n objc_stub::setAlphaBlendOperation_(IVar4,0);\n local_b8 = 0;\n IVar4 = objc_stub::newRenderPipelineStateWithDescriptor_error_\n (*(ID *)(IVar2 + 8),puVar3,&local_b8);\n *(ID *)(IVar2 + 0x50) = IVar4;\n if (*(long *)(IVar2 + 0x58) != 0) {\n puVar3 = &_OBJC_CLASS___NSLock;\n _objc_alloc_init();\n *(undefined **)(IVar2 + 0x60) = puVar3;\n }\n if (((((*(long *)(IVar2 + 8) == 0) || (*(long *)(IVar2 + 0x58) == 0)) ||\n (*(long *)(IVar2 + 0x60) == 0)) ||\n ((*(long *)(IVar2 + 0x10) == 0 || (*(long *)(IVar2 + 0x18) == 0)))) ||\n ((*(long *)(IVar2 + 0x48) == 0 ||\n ((*(long *)(IVar2 + 0x50) == 0 || (*(long *)(IVar2 + 0x40) == 0)))))) {\n IVar2 = 0;\n }\n }\n return IVar2;\n}\n\n","operation":"procedure_pseudo_code","parameters":{"procedure":"0x100001bc8"},"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: Function: _objc_release replaced with injection: _objc_release_fixup */\n/* Function Stack Size: 0x20 bytes */\n\nID FxMTLDeviceCacheItem::initWithDevice_pixelFormat_\n (ID param_1,SEL param_2,ID param_3,unsigned_long_long param_4)\n\n{\n bool bVar1;\n ID IVar2;\n undefined *puVar3;\n ID IVar4;\n ID IVar5;\n ID IVar6;\n ID IVar7;\n ID IVar8;\n ID IVar9;\n ID IVar10;\n ID IVar11;\n ID IVar12;\n ID IVar13;\n ID IVar14;\n ulong uVar15;\n undefined8 local_b8;\n undefined8 local_b0;\n undefined8 local_a8;\n undefined8 local_a0;\n undefined8 local_98;\n undefined8 local_90;\n undefined8 local_88;\n undefined8 local_80;\n undefined8 local_78;\n ID local_70;\n class_t *pcStack_68;\n \n pcStack_68 = &objc::class_t::FxMTLDeviceCacheItem;\n local_70 = param_1;\n IVar2 = NSObject::init((ID)&local_70,\"init\");\n if (IVar2 != 0) {\n *(ID *)(IVar2 + 8) = param_3;\n puVar3 = &_OBJC_CLASS___NSMutableArray;\n _objc_alloc();\n IVar4 = objc_stub::initWithCapacity_((ID)puVar3,5);\n *(ID *)(IVar2 + 0x58) = IVar4;\n if (IVar4 != 0) {\n uVar15 = 0;\n do {\n IVar4 = NSMutableDictionary::dictionary((ID)&_OBJC_CLASS___NSMutableDictionary);\n IVar5 = NSNumber::numberWithBool_((ID)&_OBJC_CLASS___NSNumber,0);\n NSMutableDictionary::setObject_forKey_(IVar4,IVar5,&cf_InUse);\n IVar5 = objc_stub::newCommandQueue(*(ID *)(IVar2 + 8));\n NSMutableDictionary::setObject_forKey_(IVar4,IVar5,&cf_CommandQueue);\n objc_stub::addObject_(*(ID *)(IVar2 + 0x58),IVar4);\n if (*(long *)(IVar2 + 0x58) == 0) break;\n bVar1 = uVar15 < 4;\n uVar15 = uVar15 + 1;\n } while (bVar1);\n }\n IVar4 = objc_stub::newDefaultLibrary(*(ID *)(IVar2 + 8));\n IVar5 = objc_stub::newFunctionWithName_(IVar4,&cf_vertexShader);\n IVar6 = objc_stub::newFunctionWithName_(IVar4,&cf_faceThinOffsetMeshVertexShader);\n IVar7 = objc_stub::newFunctionWithName_(IVar4,&cf_fragmentShader);\n IVar8 = objc_stub::newFunctionWithName_(IVar4,&cf_faceThinFragmentShader);\n IVar9 = objc_stub::newFunctionWithName_(IVar4,&cf_faceThinOffsetMeshFragmentShader);\n IVar10 = objc_stub::newFunctionWithName_(IVar4,&cf_faceThinOffsetBlurHFragmentShader);\n IVar11 = objc_stub::newFunctionWithName_(IVar4,&cf_faceThinOffsetBlurVFragmentShader);\n IVar12 = objc_stub::newFunctionWithName_(IVar4,&cf_faceThinOffsetApplyFragmentShader);\n IVar13 = objc_stub::newFunctionWithName_(IVar4,&cf_faceThinMaskPreviewFragmentShader);\n IVar14 = objc_stub::newFunctionWithName_(IVar4,&cf_overlayFragmentShader);\n IVar4 = objc_stub::newFunctionWithName_(IVar4,&cf_solidOverlayFragmentShader);\n puVar3 = &_OBJC_CLASS___MTLRenderPipelineDescriptor;\n _objc_alloc_init();\n objc_stub::setLabel_((ID)puVar3,&cf_MSSuperSkinSmoothingPipeline);\n objc_stub::setVertexFunction_((ID)puVar3,IVar5);\n objc_stub::setFragmentFunction_((ID)puVar3,IVar7);\n IVar7 = objc_stub::colorAttachments((ID)puVar3);\n IVar7 = objc_stub::objectAtIndexedSubscript_(IVar7,0);\n objc_stub::setPixelFormat_(IVar7,param_4);\n IVar7 = objc_stub::colorAttachments((ID)puVar3);\n IVar7 = objc_stub::objectAtIndexedSubscript_(IVar7,0);\n objc_stub::setBlendingEnabled_(IVar7,0);\n *(unsigned_long_long *)(IVar2 + 0x68) = param_4;\n local_78 = 0;\n IVar7 = objc_stub::newRenderPipelineStateWithDescriptor_error_\n (*(ID *)(IVar2 + 8),puVar3,&local_78);\n *(ID *)(IVar2 + 0x10) = IVar7;\n puVar3 = &_OBJC_CLASS___MTLRenderPipelineDescriptor;\n _objc_alloc_init();\n objc_stub::setLabel_((ID)puVar3,&cf_MSSuperSkinSmoothingFaceThinPipeline);\n objc_stub::setVertexFunction_((ID)puVar3,IVar5);\n objc_stub::setFragmentFunction_((ID)puVar3,IVar8);\n IVar7 = objc_stub::colorAttachments((ID)puVar3);\n IVar7 = objc_stub::objectAtIndexedSubscript_(IVar7,0);\n objc_stub::setPixelFormat_(IVar7,param_4);\n IVar7 = objc_stub::colorAttachments((ID)puVar3);\n IVar7 = objc_stub::objectAtIndexedSubscript_(IVar7,0);\n objc_stub::setBlendingEnabled_(IVar7,1);\n IVar7 = objc_stub::colorAttachments((ID)puVar3);\n IVar7 = objc_stub::objectAtIndexedSubscript_(IVar7,0);\n objc_stub::setSourceRGBBlendFactor_(IVar7,1);\n IVar7 = objc_stub::colorAttachments((ID)puVar3);\n IVar7 = objc_stub::objectAtIndexedSubscript_(IVar7,0);\n objc_stub::setDestinationRGBBlendFactor_(IVar7,0);\n IVar7 = objc_stub::colorAttachments((ID)puVar3);\n IVar7 = objc_stub::objectAtIndexedSubscript_(IVar7,0);\n objc_stub::setRgbBlendOperation_(IVar7,0);\n IVar7 = objc_stub::colorAttachments((ID)puVar3);\n IVar7 = objc_stub::objectAtIndexedSubscript_(IVar7,0);\n objc_stub::setSourceAlphaBlendFactor_(IVar7,1);\n IVar7 = objc_stub::colorAttachments((ID)puVar3);\n IVar7 = objc_stub::objectAtIndexedSubscript_(IVar7,0);\n objc_stub::setDestinationAlphaBlendFactor_(IVar7,0);\n IVar7 = objc_stub::colorAttachments((ID)puVar3);\n IVar7 = objc_stub::objectAtIndexedSubscript_(IVar7,0);\n objc_stub::setAlphaBlendOperation_(IVar7,0);\n local_80 = 0;\n IVar7 = objc_stub::newRenderPipelineStateWithDescriptor_error_\n (*(ID *)(IVar2 + 8),puVar3,&local_80);\n *(ID *)(IVar2 + 0x18) = IVar7;\n puVar3 = &_OBJC_CLASS___MTLRenderPipelineDescriptor;\n _objc_alloc_init();\n objc_stub::setLabel_((ID)puVar3,&cf_MSSuperSkinSmoothingFaceThinMeshOffsetMapPipeline);\n objc_stub::setVertexFunction_((ID)puVar3,IVar6);\n objc_stub::setFragmentFunction_((ID)puVar3,IVar9);\n IVar6 = objc_stub::colorAttachments((ID)puVar3);\n IVar6 = objc_stub::objectAtIndexedSubscript_(IVar6,0);\n objc_stub::setPixelFormat_(IVar6,param_4);\n IVar6 = objc_stub::colorAttachments((ID)puVar3);\n IVar6 = objc_stub::objectAtIndexedSubscript_(IVar6,0);\n objc_stub::setBlendingEnabled_(IVar6,0);\n local_88 = 0;\n IVar6 = objc_stub::newRenderPipelineStateWithDescriptor_error_\n (*(ID *)(IVar2 + 8),puVar3,&local_88);\n *(ID *)(IVar2 + 0x20) = IVar6;\n puVar3 = &_OBJC_CLASS___MTLRenderPipelineDescriptor;\n _objc_alloc_init();\n objc_stub::setLabel_((ID)puVar3,&cf_MSSuperSkinSmoothingFaceThinOffsetBlurHPipeline);\n objc_stub::setVertexFunction_((ID)puVar3,IVar5);\n objc_stub::setFragmentFunction_((ID)puVar3,IVar10);\n IVar6 = objc_stub::colorAttachments((ID)puVar3);\n IVar6 = objc_stub::objectAtIndexedSubscript_(IVar6,0);\n objc_stub::setPixelFormat_(IVar6,param_4);\n IVar6 = objc_stub::colorAttachments((ID)puVar3);\n IVar6 = objc_stub::objectAtIndexedSubscript_(IVar6,0);\n objc_stub::setBlendingEnabled_(IVar6,0);\n local_90 = 0;\n IVar6 = objc_stub::newRenderPipelineStateWithDescriptor_error_\n (*(ID *)(IVar2 + 8),puVar3,&local_90);\n *(ID *)(IVar2 + 0x28) = IVar6;\n puVar3 = &_OBJC_CLASS___MTLRenderPipelineDescriptor;\n _objc_alloc_init();\n objc_stub::setLabel_((ID)puVar3,&cf_MSSuperSkinSmoothingFaceThinOffsetBlurVPipeline);\n objc_stub::setVertexFunction_((ID)puVar3,IVar5);\n objc_stub::setFragmentFunction_((ID)puVar3,IVar11);\n IVar6 = objc_stub::colorAttachments((ID)puVar3);\n IVar6 = objc_stub::objectAtIndexedSubscript_(IVar6,0);\n objc_stub::setPixelFormat_(IVar6,param_4);\n IVar6 = objc_stub::colorAttachments((ID)puVar3);\n IVar6 = objc_stub::objectAtIndexedSubscript_(IVar6,0);\n objc_stub::setBlendingEnabled_(IVar6,0);\n local_98 = 0;\n IVar6 = objc_stub::newRenderPipelineStateWithDescriptor_error_\n (*(ID *)(IVar2 + 8),puVar3,&local_98);\n *(ID *)(IVar2 + 0x30) = IVar6;\n puVar3 = &_OBJC_CLASS___MTLRenderPipelineDescriptor;\n _objc_alloc_init();\n objc_stub::setLabel_((ID)puVar3,&cf_MSSuperSkinSmoothingFaceThinOffsetApplyPipeline);\n objc_stub::setVertexFunction_((ID)puVar3,IVar5);\n objc_stub::setFragmentFunction_((ID)puVar3,IVar12);\n IVar6 = objc_stub::colorAttachments((ID)puVar3);\n IVar6 = objc_stub::objectAtIndexedSubscript_(IVar6,0);\n objc_stub::setPixelFormat_(IVar6,param_4);\n IVar6 = objc_stub::colorAttachments((ID)puVar3);\n IVar6 = objc_stub::objectAtIndexedSubscript_(IVar6,0);\n objc_stub::setBlendingEnabled_(IVar6,1);\n IVar6 = objc_stub::colorAttachments((ID)puVar3);\n IVar6 = objc_stub::objectAtIndexedSubscript_(IVar6,0);\n objc_stub::setSourceRGBBlendFactor_(IVar6,1);\n IVar6 = objc_stub::colorAttachments((ID)puVar3);\n IVar6 = objc_stub::objectAtIndexedSubscript_(IVar6,0);\n objc_stub::setDestinationRGBBlendFactor_(IVar6,0);\n IVar6 = objc_stub::colorAttachments((ID)puVar3);\n IVar6 = objc_stub::objectAtIndexedSubscript_(IVar6,0);\n objc_stub::setRgbBlendOperation_(IVar6,0);\n IVar6 = objc_stub::colorAttachments((ID)puVar3);\n IVar6 = objc_stub::objectAtIndexedSubscript_(IVar6,0);\n objc_stub::setSourceAlphaBlendFactor_(IVar6,1);\n IVar6 = objc_stub::colorAttachments((ID)puVar3);\n IVar6 = objc_stub::objectAtIndexedSubscript_(IVar6,0);\n objc_stub::setDestinationAlphaBlendFactor_(IVar6,0);\n IVar6 = objc_stub::colorAttachments((ID)puVar3);\n IVar6 = objc_stub::objectAtIndexedSubscript_(IVar6,0);\n objc_stub::setAlphaBlendOperation_(IVar6,0);\n local_a0 = 0;\n IVar6 = objc_stub::newRenderPipelineStateWithDescriptor_error_\n (*(ID *)(IVar2 + 8),puVar3,&local_a0);\n *(ID *)(IVar2 + 0x38) = IVar6;\n puVar3 = &_OBJC_CLASS___MTLRenderPipelineDescriptor;\n _objc_alloc_init();\n objc_stub::setLabel_((ID)puVar3,&cf_MSSuperSkinSmoothingFaceThinMaskPreviewPipeline);\n objc_stub::setVertexFunction_((ID)puVar3,IVar5);\n objc_stub::setFragmentFunction_((ID)puVar3,IVar13);\n IVar6 = objc_stub::colorAttachments((ID)puVar3);\n IVar6 = objc_stub::objectAtIndexedSubscript_(IVar6,0);\n objc_stub::setPixelFormat_(IVar6,param_4);\n IVar6 = objc_stub::colorAttachments((ID)puVar3);\n IVar6 = objc_stub::objectAtIndexedSubscript_(IVar6,0);\n objc_stub::setBlendingEnabled_(IVar6,1);\n IVar6 = objc_stub::colorAttachments((ID)puVar3);\n IVar6 = objc_stub::objectAtIndexedSubscript_(IVar6,0);\n objc_stub::setSourceRGBBlendFactor_(IVar6,1);\n IVar6 = objc_stub::colorAttachments((ID)puVar3);\n IVar6 = objc_stub::objectAtIndexedSubscript_(IVar6,0);\n objc_stub::setDestinationRGBBlendFactor_(IVar6,5);\n IVar6 = objc_stub::colorAttachments((ID)puVar3);\n IVar6 = objc_stub::objectAtIndexedSubscript_(IVar6,0);\n objc_stub::setRgbBlendOperation_(IVar6,0);\n IVar6 = objc_stub::colorAttachments((ID)puVar3);\n IVar6 = objc_stub::objectAtIndexedSubscript_(IVar6,0);\n objc_stub::setSourceAlphaBlendFactor_(IVar6,1);\n IVar6 = objc_stub::colorAttachments((ID)puVar3);\n IVar6 = objc_stub::objectAtIndexedSubscript_(IVar6,0);\n objc_stub::setDestinationAlphaBlendFactor_(IVar6,5);\n IVar6 = objc_stub::colorAttachments((ID)puVar3);\n IVar6 = objc_stub::objectAtIndexedSubscript_(IVar6,0);\n objc_stub::setAlphaBlendOperation_(IVar6,0);\n local_a8 = 0;\n IVar6 = objc_stub::newRenderPipelineStateWithDescriptor_error_\n (*(ID *)(IVar2 + 8),puVar3,&local_a8);\n *(ID *)(IVar2 + 0x40) = IVar6;\n puVar3 = &_OBJC_CLASS___MTLRenderPipelineDescriptor;\n _objc_alloc_init();\n objc_stub::setLabel_((ID)puVar3,&cf_MSSuperSkinSmoothingOverlayPipeline);\n objc_stub::setVertexFunction_((ID)puVar3,IVar5);\n objc_stub::setFragmentFunction_((ID)puVar3,IVar14);\n IVar6 = objc_stub::colorAttachments((ID)puVar3);\n IVar6 = objc_stub::objectAtIndexedSubscript_(IVar6,0);\n objc_stub::setPixelFormat_(IVar6,param_4);\n IVar6 = objc_stub::colorAttachments((ID)puVar3);\n IVar6 = objc_stub::objectAtIndexedSubscript_(IVar6,0);\n objc_stub::setBlendingEnabled_(IVar6,1);\n IVar6 = objc_stub::colorAttachments((ID)puVar3);\n IVar6 = objc_stub::objectAtIndexedSubscript_(IVar6,0);\n objc_stub::setSourceRGBBlendFactor_(IVar6,1);\n IVar6 = objc_stub::colorAttachments((ID)puVar3);\n IVar6 = objc_stub::objectAtIndexedSubscript_(IVar6,0);\n objc_stub::setDestinationRGBBlendFactor_(IVar6,5);\n IVar6 = objc_stub::colorAttachments((ID)puVar3);\n IVar6 = objc_stub::objectAtIndexedSubscript_(IVar6,0);\n objc_stub::setRgbBlendOperation_(IVar6,0);\n IVar6 = objc_stub::colorAttachments((ID)puVar3);\n IVar6 = objc_stub::objectAtIndexedSubscript_(IVar6,0);\n objc_stub::setSourceAlphaBlendFactor_(IVar6,1);\n IVar6 = objc_stub::colorAttachments((ID)puVar3);\n IVar6 = objc_stub::objectAtIndexedSubscript_(IVar6,0);\n objc_stub::setDestinationAlphaBlendFactor_(IVar6,5);\n IVar6 = objc_stub::colorAttachments((ID)puVar3);\n IVar6 = objc_stub::objectAtIndexedSubscript_(IVar6,0);\n objc_stub::setAlphaBlendOperation_(IVar6,0);\n local_b0 = 0;\n IVar6 = objc_stub::newRenderPipelineStateWithDescriptor_error_\n (*(ID *)(IVar2 + 8),puVar3,&local_b0);\n *(ID *)(IVar2 + 0x48) = IVar6;\n puVar3 = &_OBJC_CLASS___MTLRenderPipelineDescriptor;\n _objc_alloc_init();\n objc_stub::setLabel_((ID)puVar3,&cf_MSSuperSkinSmoothingSolidOverlayPipeline);\n objc_stub::setVertexFunction_((ID)puVar3,IVar5);\n objc_stub::setFragmentFunction_((ID)puVar3,IVar4);\n IVar4 = objc_stub::colorAttachments((ID)puVar3);\n IVar4 = objc_stub::objectAtIndexedSubscript_(IVar4,0);\n objc_stub::setPixelFormat_(IVar4,param_4);\n IVar4 = objc_stub::colorAttachments((ID)puVar3);\n IVar4 = objc_stub::objectAtIndexedSubscript_(IVar4,0);\n objc_stub::setBlendingEnabled_(IVar4,1);\n IVar4 = objc_stub::colorAttachments((ID)puVar3);\n IVar4 = objc_stub::objectAtIndexedSubscript_(IVar4,0);\n objc_stub::setSourceRGBBlendFactor_(IVar4,4);\n IVar4 = objc_stub::colorAttachments((ID)puVar3);\n IVar4 = objc_stub::objectAtIndexedSubscript_(IVar4,0);\n objc_stub::setDestinationRGBBlendFactor_(IVar4,5);\n IVar4 = objc_stub::colorAttachments((ID)puVar3);\n IVar4 = objc_stub::objectAtIndexedSubscript_(IVar4,0);\n objc_stub::setRgbBlendOperation_(IVar4,0);\n IVar4 = objc_stub::colorAttachments((ID)puVar3);\n IVar4 = objc_stub::objectAtIndexedSubscript_(IVar4,0);\n objc_stub::setSourceAlphaBlendFactor_(IVar4,1);\n IVar4 = objc_stub::colorAttachments((ID)puVar3);\n IVar4 = objc_stub::objectAtIndexedSubscript_(IVar4,0);\n objc_stub::setDestinationAlphaBlendFactor_(IVar4,5);\n IVar4 = objc_stub::colorAttachments((ID)puVar3);\n IVar4 = objc_stub::objectAtIndexedSubscript_(IVar4,0);\n objc_stub::setAlphaBlendOperation_(IVar4,0);\n local_b8 = 0;\n IVar4 = objc_stub::newRenderPipelineStateWithDescriptor_error_\n (*(ID *)(IVar2 + 8),puVar3,&local_b8);\n *(ID *)(IVar2 + 0x50) = IVar4;\n if (*(long *)(IVar2 + 0x58) != 0) {\n puVar3 = &_OBJC_CLASS___NSLock;\n _objc_alloc_init();\n *(undefined **)(IVar2 + 0x60) = puVar3;\n }\n if (((((*(long *)(IVar2 + 8) == 0) || (*(long *)(IVar2 + 0x58) == 0)) ||\n (*(long *)(IVar2 + 0x60) == 0)) ||\n ((*(long *)(IVar2 + 0x10) == 0 || (*(long *)(IVar2 + 0x18) == 0)))) ||\n ((*(long *)(IVar2 + 0x48) == 0 ||\n ((*(long *)(IVar2 + 0x50) == 0 || (*(long *)(IVar2 + 0x40) == 0)))))) {\n IVar2 = 0;\n }\n }\n return IVar2;\n}\n\n"},"subject":{"architecture":"arm64","digest":{"sha256":"f01e8c0b7e2676b2961950b0e48efdd2589af218e4b36de7d39f5d1c76852bfb"},"format":"mach-o","local_path":"/private/tmp/paintfcp-rea.b3j9Te/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_1c62b4dab3cf8b661eb5c31b034a0b3cadf9f1f6cb512aace8b3b0838bc74b5c","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 0x1000181e8 to 0x100055470 _CGRectContainsPoint (external=false, thunk=true, hasNoReturn=false); fallthrough is excluded by Ghidra's flow model. The reason for the terminal flow is not established by this observation.","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_100017cd8(double param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4,ID param_5)\n\n{\n bool bVar1;\n bool bVar2;\n bool bVar3;\n int iVar4;\n ulong uVar5;\n ID IVar6;\n ulong uVar8;\n ulong uVar9;\n ulong uVar10;\n double dVar11;\n ulong extraout_d0;\n ulong 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 extraout_d0_05;\n double extraout_d0_06;\n double extraout_d0_07;\n double extraout_d0_08;\n undefined8 extraout_d0_09;\n undefined8 extraout_d0_10;\n double extraout_d0_11;\n double extraout_d0_12;\n double extraout_d0_13;\n double extraout_d0_14;\n double extraout_d0_15;\n double extraout_d0_16;\n undefined8 extraout_d0_17;\n undefined8 extraout_d0_18;\n double dVar12;\n double dVar13;\n double dVar14;\n double dVar15;\n double dVar16;\n double dVar17;\n double dVar18;\n double dVar19;\n double dVar20;\n double dVar21;\n double dVar22;\n double dVar23;\n double local_e0;\n double local_d8;\n double local_d0;\n double local_a0;\n ID IVar7;\n \n uVar5 = objc_stub::count(param_5);\n if ((((0x4c < uVar5) && (_CGRectIsNull(param_1,param_2,param_3,param_4), (uVar5 & 1) == 0)) &&\n (_CGRectIsEmpty(param_1,param_2,param_3,param_4), (uVar5 & 1) == 0)) &&\n ((dVar11 = param_1, _CGRectGetWidth(param_1,param_2,param_3,param_4),\n 2.220446049250313e-16 < dVar11 &&\n (dVar11 = param_1, _CGRectGetHeight(param_1,param_2,param_3,param_4),\n 2.220446049250313e-16 < dVar11)))) {\n _CGRectStandardize();\n dVar11 = param_1;\n _CGRectGetWidth();\n dVar12 = param_1;\n _CGRectGetHeight(param_1,param_2,param_3,param_4);\n if ((2.220446049250313e-16 < dVar11) && (2.220446049250313e-16 < dVar12)) {\n _CGRectInset();\n uVar5 = 0;\n uVar10 = 0;\n uVar9 = 0;\n uVar8 = 0;\n local_e0 = *(double *)PTR__CGPointZero_100078108;\n dVar14 = 1.7976931348623157e+308;\n dVar13 = 1.7976931348623157e+308;\n dVar19 = 1.7976931348623157e+308;\n local_a0 = 1.7976931348623157e+308;\n dVar15 = -1.7976931348623157e+308;\n dVar17 = -1.7976931348623157e+308;\n dVar20 = -1.7976931348623157e+308;\n dVar22 = -1.7976931348623157e+308;\n local_d8 = local_e0;\n local_d0 = local_e0;\n do {\n IVar6 = objc_stub::objectAtIndexedSubscript_(param_5,uVar8);\n if (IVar6 == 0) {\n return 0;\n }\n objc_stub::X(IVar6);\n if (0x7fefffffffffffff < (extraout_d0 & 0x7fffffffffffffff)) {\n return 0;\n }\n objc_stub::Y(IVar6);\n if (0x7fefffffffffffff < (extraout_d0_00 & 0x7fffffffffffffff)) {\n return 0;\n }\n objc_stub::X(IVar6);\n if (extraout_d0_01 < -0.25) {\n return 0;\n }\n objc_stub::X(IVar6);\n if (1.25 < extraout_d0_02) {\n return 0;\n }\n objc_stub::Y(IVar6);\n if (extraout_d0_03 < -0.25) {\n return 0;\n }\n objc_stub::Y(IVar6);\n if (1.25 < extraout_d0_04) {\n return 0;\n }\n objc_stub::X(IVar6);\n if (extraout_d0_05 <= dVar14) {\n dVar14 = extraout_d0_05;\n }\n objc_stub::X(IVar6);\n dVar16 = extraout_d0_06;\n if (extraout_d0_06 <= dVar15) {\n dVar16 = dVar15;\n }\n objc_stub::Y(IVar6);\n if (extraout_d0_07 <= dVar13) {\n dVar13 = extraout_d0_07;\n }\n objc_stub::Y(IVar6);\n dVar21 = extraout_d0_08;\n if (extraout_d0_08 <= dVar20) {\n dVar21 = dVar20;\n }\n dVar18 = dVar17;\n dVar23 = dVar22;\n if ((0x3a < uVar8) && (uVar8 != 0x4c)) {\n objc_stub::X(IVar6);\n IVar7 = objc_stub::Y(IVar6);\n iVar4 = (int)IVar7;\n _CGRectContainsPoint(param_1,param_2,param_3,param_4,extraout_d0_09,extraout_d0_10);\n if (iVar4 == 0) {\n return 0;\n }\n objc_stub::X(IVar6);\n if (extraout_d0_11 <= dVar19) {\n dVar19 = extraout_d0_11;\n }\n objc_stub::X(IVar6);\n dVar23 = extraout_d0_12;\n if (extraout_d0_12 <= dVar22) {\n dVar23 = dVar22;\n }\n objc_stub::Y(IVar6);\n if (extraout_d0_13 <= local_a0) {\n local_a0 = extraout_d0_13;\n }\n objc_stub::Y(IVar6);\n dVar18 = extraout_d0_14;\n if (extraout_d0_14 <= dVar17) {\n dVar18 = dVar17;\n }\n if (uVar8 < 0x45) {\n objc_stub::X(IVar6);\n objc_stub::Y(IVar6);\n if (uVar8 < 0x42) {\n local_d8 = local_d8 + extraout_d0_16;\n uVar10 = uVar10 + 1;\n }\n else {\n local_e0 = local_e0 + extraout_d0_16;\n uVar9 = uVar9 + 1;\n }\n }\n else {\n objc_stub::X(IVar6);\n local_d0 = local_d0 + extraout_d0_15;\n objc_stub::Y(IVar6);\n uVar5 = uVar5 + 1;\n }\n }\n uVar8 = uVar8 + 1;\n dVar15 = dVar16;\n dVar17 = dVar18;\n dVar20 = dVar21;\n dVar22 = dVar23;\n } while (uVar8 != 0x4d);\n if (((((dVar11 * 0.25 <= dVar16 - dVar14) && (dVar12 * 0.25 <= dVar21 - dVar13)) &&\n (dVar11 * 0.2 <= dVar23 - dVar19)) &&\n (((dVar12 * 0.04 <= dVar18 - local_a0 && (dVar23 - dVar19 <= dVar11 * 1.85)) &&\n ((dVar18 - local_a0 <= dVar12 * 1.85 && ((uVar5 != 0 && (uVar10 != 0)))))))) &&\n (uVar9 != 0)) {\n local_d0 = local_d0 / (double)uVar5;\n local_d8 = local_d8 / (double)uVar10;\n if (dVar11 * 0.12 <= ABS(local_d0 - local_d8)) {\n dVar12 = local_d8;\n if (local_d8 <= local_d0) {\n dVar12 = local_d0;\n }\n dVar12 = dVar12 + dVar11 * 0.35;\n local_e0 = local_e0 / (double)uVar9;\n if (local_d8 <= local_d0) {\n local_d0 = local_d8;\n }\n bVar1 = false;\n bVar2 = false;\n bVar3 = false;\n if (local_d0 + -dVar11 * 0.35 <= local_e0) {\n bVar1 = false;\n bVar2 = false;\n bVar3 = true;\n if (!NAN(local_e0) && !NAN(dVar12)) {\n bVar1 = local_e0 < dVar12;\n bVar2 = local_e0 == dVar12;\n bVar3 = false;\n }\n }\n if ((bVar2 || bVar1 != bVar3) &&\n (IVar6 = objc_stub::objectAtIndexedSubscript_(param_5,0x4c), IVar6 != 0)) {\n objc_stub::X(IVar6);\n IVar6 = objc_stub::Y(IVar6);\n _CGRectContainsPoint(param_1,param_2,param_3,param_4,extraout_d0_17,extraout_d0_18);\n return IVar6;\n }\n }\n }\n }\n }\n return 0;\n}\n\n","operation":"procedure_pseudo_code","parameters":{"procedure":"0x100017cd8"},"predicate_type":"rea.analysis","provider":{"id":"ghidra","name":"Ghidra","version":"12.1.4"},"raw_result":{"limitations":["Ghidra Listing reports a terminal call at 0x1000181e8 to 0x100055470 _CGRectContainsPoint (external=false, thunk=true, hasNoReturn=false); fallthrough is excluded by Ghidra's flow model. The reason for the terminal flow is not established by this observation."],"value":"\nID FUN_100017cd8(double param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4,ID param_5)\n\n{\n bool bVar1;\n bool bVar2;\n bool bVar3;\n int iVar4;\n ulong uVar5;\n ID IVar6;\n ulong uVar8;\n ulong uVar9;\n ulong uVar10;\n double dVar11;\n ulong extraout_d0;\n ulong 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 extraout_d0_05;\n double extraout_d0_06;\n double extraout_d0_07;\n double extraout_d0_08;\n undefined8 extraout_d0_09;\n undefined8 extraout_d0_10;\n double extraout_d0_11;\n double extraout_d0_12;\n double extraout_d0_13;\n double extraout_d0_14;\n double extraout_d0_15;\n double extraout_d0_16;\n undefined8 extraout_d0_17;\n undefined8 extraout_d0_18;\n double dVar12;\n double dVar13;\n double dVar14;\n double dVar15;\n double dVar16;\n double dVar17;\n double dVar18;\n double dVar19;\n double dVar20;\n double dVar21;\n double dVar22;\n double dVar23;\n double local_e0;\n double local_d8;\n double local_d0;\n double local_a0;\n ID IVar7;\n \n uVar5 = objc_stub::count(param_5);\n if ((((0x4c < uVar5) && (_CGRectIsNull(param_1,param_2,param_3,param_4), (uVar5 & 1) == 0)) &&\n (_CGRectIsEmpty(param_1,param_2,param_3,param_4), (uVar5 & 1) == 0)) &&\n ((dVar11 = param_1, _CGRectGetWidth(param_1,param_2,param_3,param_4),\n 2.220446049250313e-16 < dVar11 &&\n (dVar11 = param_1, _CGRectGetHeight(param_1,param_2,param_3,param_4),\n 2.220446049250313e-16 < dVar11)))) {\n _CGRectStandardize();\n dVar11 = param_1;\n _CGRectGetWidth();\n dVar12 = param_1;\n _CGRectGetHeight(param_1,param_2,param_3,param_4);\n if ((2.220446049250313e-16 < dVar11) && (2.220446049250313e-16 < dVar12)) {\n _CGRectInset();\n uVar5 = 0;\n uVar10 = 0;\n uVar9 = 0;\n uVar8 = 0;\n local_e0 = *(double *)PTR__CGPointZero_100078108;\n dVar14 = 1.7976931348623157e+308;\n dVar13 = 1.7976931348623157e+308;\n dVar19 = 1.7976931348623157e+308;\n local_a0 = 1.7976931348623157e+308;\n dVar15 = -1.7976931348623157e+308;\n dVar17 = -1.7976931348623157e+308;\n dVar20 = -1.7976931348623157e+308;\n dVar22 = -1.7976931348623157e+308;\n local_d8 = local_e0;\n local_d0 = local_e0;\n do {\n IVar6 = objc_stub::objectAtIndexedSubscript_(param_5,uVar8);\n if (IVar6 == 0) {\n return 0;\n }\n objc_stub::X(IVar6);\n if (0x7fefffffffffffff < (extraout_d0 & 0x7fffffffffffffff)) {\n return 0;\n }\n objc_stub::Y(IVar6);\n if (0x7fefffffffffffff < (extraout_d0_00 & 0x7fffffffffffffff)) {\n return 0;\n }\n objc_stub::X(IVar6);\n if (extraout_d0_01 < -0.25) {\n return 0;\n }\n objc_stub::X(IVar6);\n if (1.25 < extraout_d0_02) {\n return 0;\n }\n objc_stub::Y(IVar6);\n if (extraout_d0_03 < -0.25) {\n return 0;\n }\n objc_stub::Y(IVar6);\n if (1.25 < extraout_d0_04) {\n return 0;\n }\n objc_stub::X(IVar6);\n if (extraout_d0_05 <= dVar14) {\n dVar14 = extraout_d0_05;\n }\n objc_stub::X(IVar6);\n dVar16 = extraout_d0_06;\n if (extraout_d0_06 <= dVar15) {\n dVar16 = dVar15;\n }\n objc_stub::Y(IVar6);\n if (extraout_d0_07 <= dVar13) {\n dVar13 = extraout_d0_07;\n }\n objc_stub::Y(IVar6);\n dVar21 = extraout_d0_08;\n if (extraout_d0_08 <= dVar20) {\n dVar21 = dVar20;\n }\n dVar18 = dVar17;\n dVar23 = dVar22;\n if ((0x3a < uVar8) && (uVar8 != 0x4c)) {\n objc_stub::X(IVar6);\n IVar7 = objc_stub::Y(IVar6);\n iVar4 = (int)IVar7;\n _CGRectContainsPoint(param_1,param_2,param_3,param_4,extraout_d0_09,extraout_d0_10);\n if (iVar4 == 0) {\n return 0;\n }\n objc_stub::X(IVar6);\n if (extraout_d0_11 <= dVar19) {\n dVar19 = extraout_d0_11;\n }\n objc_stub::X(IVar6);\n dVar23 = extraout_d0_12;\n if (extraout_d0_12 <= dVar22) {\n dVar23 = dVar22;\n }\n objc_stub::Y(IVar6);\n if (extraout_d0_13 <= local_a0) {\n local_a0 = extraout_d0_13;\n }\n objc_stub::Y(IVar6);\n dVar18 = extraout_d0_14;\n if (extraout_d0_14 <= dVar17) {\n dVar18 = dVar17;\n }\n if (uVar8 < 0x45) {\n objc_stub::X(IVar6);\n objc_stub::Y(IVar6);\n if (uVar8 < 0x42) {\n local_d8 = local_d8 + extraout_d0_16;\n uVar10 = uVar10 + 1;\n }\n else {\n local_e0 = local_e0 + extraout_d0_16;\n uVar9 = uVar9 + 1;\n }\n }\n else {\n objc_stub::X(IVar6);\n local_d0 = local_d0 + extraout_d0_15;\n objc_stub::Y(IVar6);\n uVar5 = uVar5 + 1;\n }\n }\n uVar8 = uVar8 + 1;\n dVar15 = dVar16;\n dVar17 = dVar18;\n dVar20 = dVar21;\n dVar22 = dVar23;\n } while (uVar8 != 0x4d);\n if (((((dVar11 * 0.25 <= dVar16 - dVar14) && (dVar12 * 0.25 <= dVar21 - dVar13)) &&\n (dVar11 * 0.2 <= dVar23 - dVar19)) &&\n (((dVar12 * 0.04 <= dVar18 - local_a0 && (dVar23 - dVar19 <= dVar11 * 1.85)) &&\n ((dVar18 - local_a0 <= dVar12 * 1.85 && ((uVar5 != 0 && (uVar10 != 0)))))))) &&\n (uVar9 != 0)) {\n local_d0 = local_d0 / (double)uVar5;\n local_d8 = local_d8 / (double)uVar10;\n if (dVar11 * 0.12 <= ABS(local_d0 - local_d8)) {\n dVar12 = local_d8;\n if (local_d8 <= local_d0) {\n dVar12 = local_d0;\n }\n dVar12 = dVar12 + dVar11 * 0.35;\n local_e0 = local_e0 / (double)uVar9;\n if (local_d8 <= local_d0) {\n local_d0 = local_d8;\n }\n bVar1 = false;\n bVar2 = false;\n bVar3 = false;\n if (local_d0 + -dVar11 * 0.35 <= local_e0) {\n bVar1 = false;\n bVar2 = false;\n bVar3 = true;\n if (!NAN(local_e0) && !NAN(dVar12)) {\n bVar1 = local_e0 < dVar12;\n bVar2 = local_e0 == dVar12;\n bVar3 = false;\n }\n }\n if ((bVar2 || bVar1 != bVar3) &&\n (IVar6 = objc_stub::objectAtIndexedSubscript_(param_5,0x4c), IVar6 != 0)) {\n objc_stub::X(IVar6);\n IVar6 = objc_stub::Y(IVar6);\n _CGRectContainsPoint(param_1,param_2,param_3,param_4,extraout_d0_17,extraout_d0_18);\n return IVar6;\n }\n }\n }\n }\n }\n return 0;\n}\n\n"},"subject":{"architecture":"arm64","digest":{"sha256":"f01e8c0b7e2676b2961950b0e48efdd2589af218e4b36de7d39f5d1c76852bfb"},"format":"mach-o","local_path":"/private/tmp/paintfcp-rea.b3j9Te/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_1d6466823bdb39adbe87acb8ac7eb2232d93a7adc800d4202fb76379cc152fce","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":"\nundefined8 FUN_10003b62c(ID param_1,double *param_2,double *param_3)\n\n{\n ID IVar1;\n ID self;\n ID self_00;\n ID self_01;\n ID IVar2;\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 extraout_d0_05;\n double extraout_d0_06;\n double dVar3;\n double dVar4;\n double dVar5;\n \n IVar1 = objc_stub::count(param_1);\n if (0x4c < IVar1) {\n IVar1 = objc_stub::objectAtIndexedSubscript_(param_1,0x4c);\n self = objc_stub::objectAtIndexedSubscript_(param_1,0x42);\n self_00 = objc_stub::objectAtIndexedSubscript_(param_1,0x43);\n self_01 = objc_stub::objectAtIndexedSubscript_(param_1,0x44);\n if (IVar1 == 0) {\n return 0;\n }\n if (self == 0) {\n return 0;\n }\n if (self_00 == 0) {\n return 0;\n }\n if (self_01 == 0) {\n return 0;\n }\n IVar2 = objc_stub::count(IVar1);\n if ((((1 < IVar2) && (IVar2 = objc_stub::count(self), 1 < IVar2)) &&\n (IVar2 = objc_stub::count(self_00), 1 < IVar2)) &&\n (IVar2 = objc_stub::count(self_01), 1 < IVar2)) {\n objc_stub::X(IVar1);\n objc_stub::Y(IVar1);\n objc_stub::X(self);\n objc_stub::X(self_00);\n objc_stub::X(self_01);\n objc_stub::Y(self);\n objc_stub::Y(self_00);\n objc_stub::Y(self_01);\n dVar4 = (extraout_d0_01 + extraout_d0_02 * 1.65 + extraout_d0_03) / 3.65 - extraout_d0;\n dVar5 = (extraout_d0_04 + extraout_d0_05 * 1.65 + extraout_d0_06) / 3.65 - extraout_d0_00;\n dVar3 = dVar4;\n _hypot(dVar4,dVar5);\n if (0x7fefffffffffffff < (ulong)ABS(dVar4)) {\n return 0;\n }\n if (0x7fefffffffffffff < (ulong)ABS(dVar5)) {\n return 0;\n }\n if (0x7fefffffffffffff < (ulong)ABS(dVar3)) {\n return 0;\n }\n if (dVar3 <= 0.0008) {\n return 0;\n }\n if (param_2 != (double *)0x0) {\n *param_2 = dVar4;\n param_2[1] = dVar5;\n }\n if (param_3 != (double *)0x0) {\n *param_3 = dVar3;\n }\n return 1;\n }\n }\n return 0;\n}\n\n","operation":"procedure_pseudo_code","parameters":{"procedure":"0x10003b62c"},"predicate_type":"rea.analysis","provider":{"id":"ghidra","name":"Ghidra","version":"12.1.4"},"raw_result":{"limitations":[],"value":"\nundefined8 FUN_10003b62c(ID param_1,double *param_2,double *param_3)\n\n{\n ID IVar1;\n ID self;\n ID self_00;\n ID self_01;\n ID IVar2;\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 extraout_d0_05;\n double extraout_d0_06;\n double dVar3;\n double dVar4;\n double dVar5;\n \n IVar1 = objc_stub::count(param_1);\n if (0x4c < IVar1) {\n IVar1 = objc_stub::objectAtIndexedSubscript_(param_1,0x4c);\n self = objc_stub::objectAtIndexedSubscript_(param_1,0x42);\n self_00 = objc_stub::objectAtIndexedSubscript_(param_1,0x43);\n self_01 = objc_stub::objectAtIndexedSubscript_(param_1,0x44);\n if (IVar1 == 0) {\n return 0;\n }\n if (self == 0) {\n return 0;\n }\n if (self_00 == 0) {\n return 0;\n }\n if (self_01 == 0) {\n return 0;\n }\n IVar2 = objc_stub::count(IVar1);\n if ((((1 < IVar2) && (IVar2 = objc_stub::count(self), 1 < IVar2)) &&\n (IVar2 = objc_stub::count(self_00), 1 < IVar2)) &&\n (IVar2 = objc_stub::count(self_01), 1 < IVar2)) {\n objc_stub::X(IVar1);\n objc_stub::Y(IVar1);\n objc_stub::X(self);\n objc_stub::X(self_00);\n objc_stub::X(self_01);\n objc_stub::Y(self);\n objc_stub::Y(self_00);\n objc_stub::Y(self_01);\n dVar4 = (extraout_d0_01 + extraout_d0_02 * 1.65 + extraout_d0_03) / 3.65 - extraout_d0;\n dVar5 = (extraout_d0_04 + extraout_d0_05 * 1.65 + extraout_d0_06) / 3.65 - extraout_d0_00;\n dVar3 = dVar4;\n _hypot(dVar4,dVar5);\n if (0x7fefffffffffffff < (ulong)ABS(dVar4)) {\n return 0;\n }\n if (0x7fefffffffffffff < (ulong)ABS(dVar5)) {\n return 0;\n }\n if (0x7fefffffffffffff < (ulong)ABS(dVar3)) {\n return 0;\n }\n if (dVar3 <= 0.0008) {\n return 0;\n }\n if (param_2 != (double *)0x0) {\n *param_2 = dVar4;\n param_2[1] = dVar5;\n }\n if (param_3 != (double *)0x0) {\n *param_3 = dVar3;\n }\n return 1;\n }\n }\n return 0;\n}\n\n"},"subject":{"architecture":"arm64","digest":{"sha256":"f01e8c0b7e2676b2961950b0e48efdd2589af218e4b36de7d39f5d1c76852bfb"},"format":"mach-o","local_path":"/private/tmp/paintfcp-rea.b3j9Te/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_2bcbc4311a0bcf77beb8085ac3193cefc05765301297980cfcd9e74bd60df8ba","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 0x1000274cc to 0x100055794 ___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":"\nvoid FUN_100027304(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4,\n undefined8 param_5,undefined8 param_6,undefined8 param_7,undefined8 param_8,\n ID param_9,long *param_10)\n\n{\n ID IVar1;\n ID IVar2;\n ID IVar3;\n ID self;\n long lVar4;\n long lVar5;\n ID IVar6;\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_1000780b8;\n if (param_10 != (long *)0x0) {\n *param_10 = 0;\n }\n IVar1 = objc_stub::count(param_9);\n IVar2 = 0;\n if (IVar1 != 0) {\n IVar1 = NSMutableData::data((ID)&_OBJC_CLASS___NSMutableData);\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_\n (param_9,&local_170,auStack_128,0x10);\n if (IVar2 == 0) {\n lVar4 = 0;\n }\n else {\n lVar4 = 0;\n lVar5 = *local_160;\n do {\n IVar6 = 0;\n do {\n if (*local_160 != lVar5) {\n _objc_enumerationMutation(param_9);\n }\n self = *(ID *)(lStack_168 + IVar6 * 8);\n IVar3 = objc_stub::count(self);\n if (0x4c < IVar3) {\n FUN_1000274d0(param_1,param_2,param_3,param_4,param_5,param_6,param_7,param_8);\n IVar3 = objc_stub::length(self);\n if (0x267 < IVar3) {\n NSMutableData::appendData_(IVar1,self);\n lVar4 = lVar4 + 1;\n }\n }\n IVar6 = IVar6 + 1;\n } while (IVar2 != IVar6);\n IVar2 = objc_stub::countByEnumeratingWithState_objects_count_\n (param_9,&local_170,auStack_128,0x10);\n } while (IVar2 != 0);\n }\n if (param_10 != (long *)0x0) {\n *param_10 = lVar4;\n }\n IVar2 = 0;\n if (lVar4 != 0) {\n IVar2 = IVar1;\n }\n }\n if (*(long *)PTR____stack_chk_guard_1000780b8 != local_a8) {\n /* WARNING: Subroutine does not return */\n ___stack_chk_fail(IVar2);\n }\n return;\n}\n\n","operation":"procedure_pseudo_code","parameters":{"procedure":"0x100027304"},"predicate_type":"rea.analysis","provider":{"id":"ghidra","name":"Ghidra","version":"12.1.4"},"raw_result":{"limitations":["Ghidra Listing reports a terminal call at 0x1000274cc to 0x100055794 ___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":"\nvoid FUN_100027304(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4,\n undefined8 param_5,undefined8 param_6,undefined8 param_7,undefined8 param_8,\n ID param_9,long *param_10)\n\n{\n ID IVar1;\n ID IVar2;\n ID IVar3;\n ID self;\n long lVar4;\n long lVar5;\n ID IVar6;\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_1000780b8;\n if (param_10 != (long *)0x0) {\n *param_10 = 0;\n }\n IVar1 = objc_stub::count(param_9);\n IVar2 = 0;\n if (IVar1 != 0) {\n IVar1 = NSMutableData::data((ID)&_OBJC_CLASS___NSMutableData);\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_\n (param_9,&local_170,auStack_128,0x10);\n if (IVar2 == 0) {\n lVar4 = 0;\n }\n else {\n lVar4 = 0;\n lVar5 = *local_160;\n do {\n IVar6 = 0;\n do {\n if (*local_160 != lVar5) {\n _objc_enumerationMutation(param_9);\n }\n self = *(ID *)(lStack_168 + IVar6 * 8);\n IVar3 = objc_stub::count(self);\n if (0x4c < IVar3) {\n FUN_1000274d0(param_1,param_2,param_3,param_4,param_5,param_6,param_7,param_8);\n IVar3 = objc_stub::length(self);\n if (0x267 < IVar3) {\n NSMutableData::appendData_(IVar1,self);\n lVar4 = lVar4 + 1;\n }\n }\n IVar6 = IVar6 + 1;\n } while (IVar2 != IVar6);\n IVar2 = objc_stub::countByEnumeratingWithState_objects_count_\n (param_9,&local_170,auStack_128,0x10);\n } while (IVar2 != 0);\n }\n if (param_10 != (long *)0x0) {\n *param_10 = lVar4;\n }\n IVar2 = 0;\n if (lVar4 != 0) {\n IVar2 = IVar1;\n }\n }\n if (*(long *)PTR____stack_chk_guard_1000780b8 != local_a8) {\n /* WARNING: Subroutine does not return */\n ___stack_chk_fail(IVar2);\n }\n return;\n}\n\n"},"subject":{"architecture":"arm64","digest":{"sha256":"f01e8c0b7e2676b2961950b0e48efdd2589af218e4b36de7d39f5d1c76852bfb"},"format":"mach-o","local_path":"/private/tmp/paintfcp-rea.b3j9Te/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_449e1fc8883b8afe27240f672f98f300d4132ac4994db5e1590a4f7ca4e21278","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_1000279f4(undefined8 *param_1,double param_2,ID param_3,SEL param_4)\n\n{\n undefined1 auVar1 [16];\n undefined1 auVar2 [16];\n bool bVar3;\n double dVar4;\n double dVar5;\n double dVar6;\n double dVar7;\n undefined1 auVar8 [16];\n undefined1 auVar9 [16];\n double dVar10;\n double dVar11;\n double dVar12;\n undefined1 auVar13 [16];\n double dVar14;\n undefined1 auVar15 [16];\n long lVar16;\n double dVar17;\n long lVar18;\n double dVar19;\n undefined1 auVar20 [16];\n double dVar21;\n \n param_1[4] = 0;\n param_1[1] = 0;\n *param_1 = 0;\n param_1[3] = 0;\n param_1[2] = 0;\n if ((param_3 != 0) && (bVar3 = FUN_10001a8c0(param_3,param_4), bVar3 != 0)) {\n dVar11 = 1.0;\n if (param_2 <= 1.0) {\n dVar11 = param_2;\n }\n dVar5 = 0.0;\n if (0.0 <= param_2) {\n dVar5 = dVar11;\n }\n dVar7 = *(double *)(param_3 + 0x80);\n dVar11 = 1.0;\n if (dVar7 <= 1.0) {\n dVar11 = dVar7;\n }\n dVar4 = -1.0;\n if (-1.0 <= dVar7) {\n dVar4 = dVar11;\n }\n dVar7 = (double)(float)dVar5;\n auVar8._0_8_ = *(double *)(param_3 + 0x60);\n dVar5 = *(double *)(param_3 + 0x68);\n dVar11 = 1.0;\n if (dVar5 <= 1.0) {\n dVar11 = dVar5;\n }\n dVar6 = 0.0;\n if (0.0 <= dVar5) {\n dVar6 = dVar11 * 0.15;\n }\n auVar13 = *(undefined1 (*) [16])(param_3 + 0x88);\n auVar8._8_8_ = *(double *)(param_3 + 0x78);\n lVar16 = -(ulong)(auVar13._0_8_ < 0.0);\n lVar18 = -(ulong)(auVar13._8_8_ < 0.0);\n auVar20 = NEON_fmov(0x3ff0000000000000,8);\n dVar19 = auVar20._0_8_;\n dVar21 = auVar20._8_8_;\n auVar9._8_8_ = -(ulong)(dVar21 < auVar8._8_8_);\n auVar9._0_8_ = -(ulong)(dVar19 < auVar8._0_8_);\n auVar9 = auVar8 ^ (auVar8 ^ auVar20) & auVar9;\n auVar1._8_8_ = -(ulong)(dVar21 < auVar13._8_8_);\n auVar1._0_8_ = -(ulong)(dVar19 < auVar13._0_8_);\n auVar13 = auVar13 ^ (auVar13 ^ auVar20) & auVar1;\n dVar5 = auVar9._0_8_ * 0.025;\n dVar10 = auVar9._8_8_ * -0.1;\n dVar11 = auVar13._0_8_ * 0.065;\n dVar14 = auVar13._8_8_ * 0.05;\n auVar13._0_8_ =\n (double)CONCAT17((byte)((ulong)dVar11 >> 0x38) & ~(byte)((ulong)lVar16 >> 0x38),\n CONCAT16((byte)((ulong)dVar11 >> 0x30) & ~(byte)((ulong)lVar16 >> 0x30),\n CONCAT15((byte)((ulong)dVar11 >> 0x28) &\n ~(byte)((ulong)lVar16 >> 0x28),\n CONCAT14((byte)((ulong)dVar11 >> 0x20) &\n ~(byte)((ulong)lVar16 >> 0x20),\n CONCAT13((byte)((ulong)dVar11 >> 0x18) &\n ~(byte)((ulong)lVar16 >> 0x18),\n CONCAT12((byte)((ulong)dVar11 >> 0x10)\n & ~(byte)((ulong)lVar16 >>\n 0x10),\n CONCAT11((byte)((ulong)dVar11\n >> 8) &\n ~(byte)((ulong)\n lVar16 >> 8),SUB81(dVar11,0) & ~(byte)lVar16))))))\n );\n auVar13[8] = SUB81(dVar14,0) & ~(byte)lVar18;\n auVar13[9] = (byte)((ulong)dVar14 >> 8) & ~(byte)((ulong)lVar18 >> 8);\n auVar13[10] = (byte)((ulong)dVar14 >> 0x10) & ~(byte)((ulong)lVar18 >> 0x10);\n auVar13[0xb] = (byte)((ulong)dVar14 >> 0x18) & ~(byte)((ulong)lVar18 >> 0x18);\n auVar13[0xc] = (byte)((ulong)dVar14 >> 0x20) & ~(byte)((ulong)lVar18 >> 0x20);\n auVar13[0xd] = (byte)((ulong)dVar14 >> 0x28) & ~(byte)((ulong)lVar18 >> 0x28);\n auVar13[0xe] = (byte)((ulong)dVar14 >> 0x30) & ~(byte)((ulong)lVar18 >> 0x30);\n auVar13[0xf] = (byte)((ulong)dVar14 >> 0x38) & ~(byte)((ulong)lVar18 >> 0x38);\n dVar14 = *(double *)(param_3 + 0x98);\n dVar11 = 1.0;\n if (dVar14 <= 1.0) {\n dVar11 = dVar14;\n }\n dVar17 = *(double *)(&DAT_10005f9c0 + (ulong)(0.0 < dVar4) * 8);\n dVar12 = -0.0;\n if (0.0 <= dVar14) {\n dVar12 = dVar11 * -0.06;\n }\n auVar15._0_8_ = *(double *)(param_3 + 0x70);\n auVar15._8_8_ = *(double *)(param_3 + 0xa0);\n auVar2._8_8_ = -(ulong)(dVar21 < auVar15._8_8_);\n auVar2._0_8_ = -(ulong)(dVar19 < auVar15._0_8_);\n auVar9 = auVar15 ^ (auVar15 ^ auVar20) & auVar2;\n dVar11 = auVar9._0_8_ * 0.25;\n dVar14 = auVar9._8_8_ * -0.1;\n param_1[1] = CONCAT44((float)(auVar13._8_8_ * dVar7),(float)(auVar13._0_8_ * dVar7));\n *param_1 = CONCAT44((float)((double)((ulong)dVar10 ^\n ((ulong)dVar10 ^ 0x3fb999999999999a) &\n -(ulong)(auVar8._8_8_ < -1.0)) * dVar7),\n (float)((double)((ulong)dVar5 ^ (ulong)dVar5 & -(ulong)(auVar8._0_8_ < 0.0))\n * dVar7));\n param_1[3] = CONCAT44((float)((double)((ulong)dVar14 ^\n (ulong)-dVar14 & -(ulong)(auVar15._8_8_ < 0.0)) * dVar7),\n (float)((double)((ulong)dVar11 ^\n ((ulong)dVar11 ^ 0xbfd0000000000000) &\n -(ulong)(auVar15._0_8_ < -1.0)) * dVar7));\n param_1[2] = CONCAT44((float)(dVar4 * dVar17 * dVar7),(float)(dVar12 * dVar7));\n dVar5 = *(double *)(param_3 + 0xa8);\n dVar11 = 1.0;\n if (dVar5 <= 1.0) {\n dVar11 = dVar5;\n }\n dVar4 = 0.0;\n if (0.0 <= dVar5) {\n dVar4 = dVar11 * 0.8;\n }\n *(float *)(param_1 + 4) = (float)dVar4;\n *(float *)((long)param_1 + 0x24) = (float)(dVar6 * dVar7);\n }\n return;\n}\n\n","operation":"procedure_pseudo_code","parameters":{"procedure":"0x1000279f4"},"predicate_type":"rea.analysis","provider":{"id":"ghidra","name":"Ghidra","version":"12.1.4"},"raw_result":{"limitations":[],"value":"\nvoid FUN_1000279f4(undefined8 *param_1,double param_2,ID param_3,SEL param_4)\n\n{\n undefined1 auVar1 [16];\n undefined1 auVar2 [16];\n bool bVar3;\n double dVar4;\n double dVar5;\n double dVar6;\n double dVar7;\n undefined1 auVar8 [16];\n undefined1 auVar9 [16];\n double dVar10;\n double dVar11;\n double dVar12;\n undefined1 auVar13 [16];\n double dVar14;\n undefined1 auVar15 [16];\n long lVar16;\n double dVar17;\n long lVar18;\n double dVar19;\n undefined1 auVar20 [16];\n double dVar21;\n \n param_1[4] = 0;\n param_1[1] = 0;\n *param_1 = 0;\n param_1[3] = 0;\n param_1[2] = 0;\n if ((param_3 != 0) && (bVar3 = FUN_10001a8c0(param_3,param_4), bVar3 != 0)) {\n dVar11 = 1.0;\n if (param_2 <= 1.0) {\n dVar11 = param_2;\n }\n dVar5 = 0.0;\n if (0.0 <= param_2) {\n dVar5 = dVar11;\n }\n dVar7 = *(double *)(param_3 + 0x80);\n dVar11 = 1.0;\n if (dVar7 <= 1.0) {\n dVar11 = dVar7;\n }\n dVar4 = -1.0;\n if (-1.0 <= dVar7) {\n dVar4 = dVar11;\n }\n dVar7 = (double)(float)dVar5;\n auVar8._0_8_ = *(double *)(param_3 + 0x60);\n dVar5 = *(double *)(param_3 + 0x68);\n dVar11 = 1.0;\n if (dVar5 <= 1.0) {\n dVar11 = dVar5;\n }\n dVar6 = 0.0;\n if (0.0 <= dVar5) {\n dVar6 = dVar11 * 0.15;\n }\n auVar13 = *(undefined1 (*) [16])(param_3 + 0x88);\n auVar8._8_8_ = *(double *)(param_3 + 0x78);\n lVar16 = -(ulong)(auVar13._0_8_ < 0.0);\n lVar18 = -(ulong)(auVar13._8_8_ < 0.0);\n auVar20 = NEON_fmov(0x3ff0000000000000,8);\n dVar19 = auVar20._0_8_;\n dVar21 = auVar20._8_8_;\n auVar9._8_8_ = -(ulong)(dVar21 < auVar8._8_8_);\n auVar9._0_8_ = -(ulong)(dVar19 < auVar8._0_8_);\n auVar9 = auVar8 ^ (auVar8 ^ auVar20) & auVar9;\n auVar1._8_8_ = -(ulong)(dVar21 < auVar13._8_8_);\n auVar1._0_8_ = -(ulong)(dVar19 < auVar13._0_8_);\n auVar13 = auVar13 ^ (auVar13 ^ auVar20) & auVar1;\n dVar5 = auVar9._0_8_ * 0.025;\n dVar10 = auVar9._8_8_ * -0.1;\n dVar11 = auVar13._0_8_ * 0.065;\n dVar14 = auVar13._8_8_ * 0.05;\n auVar13._0_8_ =\n (double)CONCAT17((byte)((ulong)dVar11 >> 0x38) & ~(byte)((ulong)lVar16 >> 0x38),\n CONCAT16((byte)((ulong)dVar11 >> 0x30) & ~(byte)((ulong)lVar16 >> 0x30),\n CONCAT15((byte)((ulong)dVar11 >> 0x28) &\n ~(byte)((ulong)lVar16 >> 0x28),\n CONCAT14((byte)((ulong)dVar11 >> 0x20) &\n ~(byte)((ulong)lVar16 >> 0x20),\n CONCAT13((byte)((ulong)dVar11 >> 0x18) &\n ~(byte)((ulong)lVar16 >> 0x18),\n CONCAT12((byte)((ulong)dVar11 >> 0x10)\n & ~(byte)((ulong)lVar16 >>\n 0x10),\n CONCAT11((byte)((ulong)dVar11\n >> 8) &\n ~(byte)((ulong)\n lVar16 >> 8),SUB81(dVar11,0) & ~(byte)lVar16))))))\n );\n auVar13[8] = SUB81(dVar14,0) & ~(byte)lVar18;\n auVar13[9] = (byte)((ulong)dVar14 >> 8) & ~(byte)((ulong)lVar18 >> 8);\n auVar13[10] = (byte)((ulong)dVar14 >> 0x10) & ~(byte)((ulong)lVar18 >> 0x10);\n auVar13[0xb] = (byte)((ulong)dVar14 >> 0x18) & ~(byte)((ulong)lVar18 >> 0x18);\n auVar13[0xc] = (byte)((ulong)dVar14 >> 0x20) & ~(byte)((ulong)lVar18 >> 0x20);\n auVar13[0xd] = (byte)((ulong)dVar14 >> 0x28) & ~(byte)((ulong)lVar18 >> 0x28);\n auVar13[0xe] = (byte)((ulong)dVar14 >> 0x30) & ~(byte)((ulong)lVar18 >> 0x30);\n auVar13[0xf] = (byte)((ulong)dVar14 >> 0x38) & ~(byte)((ulong)lVar18 >> 0x38);\n dVar14 = *(double *)(param_3 + 0x98);\n dVar11 = 1.0;\n if (dVar14 <= 1.0) {\n dVar11 = dVar14;\n }\n dVar17 = *(double *)(&DAT_10005f9c0 + (ulong)(0.0 < dVar4) * 8);\n dVar12 = -0.0;\n if (0.0 <= dVar14) {\n dVar12 = dVar11 * -0.06;\n }\n auVar15._0_8_ = *(double *)(param_3 + 0x70);\n auVar15._8_8_ = *(double *)(param_3 + 0xa0);\n auVar2._8_8_ = -(ulong)(dVar21 < auVar15._8_8_);\n auVar2._0_8_ = -(ulong)(dVar19 < auVar15._0_8_);\n auVar9 = auVar15 ^ (auVar15 ^ auVar20) & auVar2;\n dVar11 = auVar9._0_8_ * 0.25;\n dVar14 = auVar9._8_8_ * -0.1;\n param_1[1] = CONCAT44((float)(auVar13._8_8_ * dVar7),(float)(auVar13._0_8_ * dVar7));\n *param_1 = CONCAT44((float)((double)((ulong)dVar10 ^\n ((ulong)dVar10 ^ 0x3fb999999999999a) &\n -(ulong)(auVar8._8_8_ < -1.0)) * dVar7),\n (float)((double)((ulong)dVar5 ^ (ulong)dVar5 & -(ulong)(auVar8._0_8_ < 0.0))\n * dVar7));\n param_1[3] = CONCAT44((float)((double)((ulong)dVar14 ^\n (ulong)-dVar14 & -(ulong)(auVar15._8_8_ < 0.0)) * dVar7),\n (float)((double)((ulong)dVar11 ^\n ((ulong)dVar11 ^ 0xbfd0000000000000) &\n -(ulong)(auVar15._0_8_ < -1.0)) * dVar7));\n param_1[2] = CONCAT44((float)(dVar4 * dVar17 * dVar7),(float)(dVar12 * dVar7));\n dVar5 = *(double *)(param_3 + 0xa8);\n dVar11 = 1.0;\n if (dVar5 <= 1.0) {\n dVar11 = dVar5;\n }\n dVar4 = 0.0;\n if (0.0 <= dVar5) {\n dVar4 = dVar11 * 0.8;\n }\n *(float *)(param_1 + 4) = (float)dVar4;\n *(float *)((long)param_1 + 0x24) = (float)(dVar6 * dVar7);\n }\n return;\n}\n\n"},"subject":{"architecture":"arm64","digest":{"sha256":"f01e8c0b7e2676b2961950b0e48efdd2589af218e4b36de7d39f5d1c76852bfb"},"format":"mach-o","local_path":"/private/tmp/paintfcp-rea.b3j9Te/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_5f27f174c793c94cd45219d6c405e6b54b96e2650c7462ccc5eeaea14f2604c3","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 0x100022f5c to 0x100055794 ___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":"\nvoid FUN_100022c70(undefined8 param_1,double param_2,double param_3,double param_4,ID param_5)\n\n{\n ID IVar1;\n ID IVar2;\n ID IVar3;\n ID IVar4;\n ID IVar5;\n double *pdVar6;\n long lVar7;\n ID IVar8;\n long lVar9;\n double extraout_d0;\n double dVar10;\n double dVar11;\n double dVar12;\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_130 [128];\n ID local_b0;\n long local_a8;\n \n local_a8 = *(long *)PTR____stack_chk_guard_1000780b8;\n IVar2 = 0;\n if (param_5 != 0) {\n IVar1 = objc_stub::landmarks(param_5);\n IVar2 = 0;\n if (IVar1 != 0) {\n IVar2 = objc_stub::landmarks(param_5);\n IVar1 = objc_stub::allPoints(IVar2);\n IVar2 = 0;\n if (IVar1 != 0) {\n IVar2 = objc_stub::landmarks(param_5);\n local_b0 = objc_stub::allPoints(IVar2);\n IVar1 = NSArray::arrayWithObjects_count_((ID)&_OBJC_CLASS___NSArray,&local_b0,1);\n IVar2 = NSMutableArray::array((ID)&_OBJC_CLASS___NSMutableArray);\n objc_stub::boundingBox(param_5);\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 IVar3 = NSArray::countByEnumeratingWithState_objects_count_\n (IVar1,&local_170,auStack_130,0x10);\n if (IVar3 != 0) {\n lVar7 = *local_160;\n do {\n IVar8 = 0;\n do {\n if (*local_160 != lVar7) {\n _objc_enumerationMutation(IVar1);\n }\n IVar5 = *(ID *)(lStack_168 + IVar8 * 8);\n if (((IVar5 != 0) && (IVar4 = objc_stub::pointCount(IVar5), 0x4b < IVar4)) &&\n (IVar4 = objc_stub::normalizedPoints(IVar5), IVar4 != 0)) {\n IVar5 = objc_stub::normalizedPoints(IVar5);\n pdVar6 = (double *)(IVar5 + 8);\n lVar9 = 0x4c;\n do {\n IVar5 = CIVector::vectorWithX_Y_\n ((ID)&_OBJC_CLASS___CIVector,extraout_d0 + pdVar6[-1] * param_3,\n param_2 + *pdVar6 * param_4);\n NSMutableArray::addObject_(IVar2,IVar5);\n pdVar6 = pdVar6 + 2;\n lVar9 = lVar9 + -1;\n } while (lVar9 != 0);\n }\n IVar8 = IVar8 + 1;\n } while (IVar8 != IVar3);\n IVar3 = NSArray::countByEnumeratingWithState_objects_count_\n (IVar1,&local_170,auStack_130,0x10);\n } while (IVar3 != 0);\n }\n IVar1 = NSMutableArray::count(IVar2);\n if (IVar1 == 0x4c) {\n IVar1 = IVar2;\n dVar10 = extraout_d0;\n dVar12 = param_2;\n dVar13 = param_3;\n dVar14 = param_4;\n FUN_1000249bc(extraout_d0,param_2,param_3,param_4);\n _CGRectIsNull();\n if ((((IVar1 & 1) != 0) || (_CGRectIsEmpty(dVar10,dVar12,dVar13,dVar14), (IVar1 & 1) != 0)\n ) || ((dVar11 = dVar10, _CGRectGetWidth(dVar10,dVar12,dVar13,dVar14),\n dVar11 <= 2.220446049250313e-16 ||\n (dVar11 = dVar10, _CGRectGetHeight(dVar10,dVar12,dVar13,dVar14),\n dVar11 <= 2.220446049250313e-16)))) {\n dVar10 = extraout_d0;\n dVar12 = param_2;\n dVar13 = param_3;\n dVar14 = param_4;\n }\n dVar11 = dVar10;\n _CGRectGetMidX(dVar10,dVar12,dVar13,dVar14);\n _CGRectGetMidY(dVar10,dVar12,dVar13,dVar14);\n IVar1 = CIVector::vectorWithX_Y_((ID)&_OBJC_CLASS___CIVector,dVar11,dVar10);\n NSMutableArray::addObject_(IVar2,IVar1);\n }\n IVar1 = IVar2;\n FUN_100017cd8(extraout_d0,param_2,param_3,param_4);\n if ((int)IVar1 == 0) {\n IVar2 = 0;\n }\n }\n }\n }\n if (*(long *)PTR____stack_chk_guard_1000780b8 == local_a8) {\n return;\n }\n /* WARNING: Subroutine does not return */\n ___stack_chk_fail(IVar2);\n}\n\n","operation":"procedure_pseudo_code","parameters":{"procedure":"0x100022c70"},"predicate_type":"rea.analysis","provider":{"id":"ghidra","name":"Ghidra","version":"12.1.4"},"raw_result":{"limitations":["Ghidra Listing reports a terminal call at 0x100022f5c to 0x100055794 ___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":"\nvoid FUN_100022c70(undefined8 param_1,double param_2,double param_3,double param_4,ID param_5)\n\n{\n ID IVar1;\n ID IVar2;\n ID IVar3;\n ID IVar4;\n ID IVar5;\n double *pdVar6;\n long lVar7;\n ID IVar8;\n long lVar9;\n double extraout_d0;\n double dVar10;\n double dVar11;\n double dVar12;\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_130 [128];\n ID local_b0;\n long local_a8;\n \n local_a8 = *(long *)PTR____stack_chk_guard_1000780b8;\n IVar2 = 0;\n if (param_5 != 0) {\n IVar1 = objc_stub::landmarks(param_5);\n IVar2 = 0;\n if (IVar1 != 0) {\n IVar2 = objc_stub::landmarks(param_5);\n IVar1 = objc_stub::allPoints(IVar2);\n IVar2 = 0;\n if (IVar1 != 0) {\n IVar2 = objc_stub::landmarks(param_5);\n local_b0 = objc_stub::allPoints(IVar2);\n IVar1 = NSArray::arrayWithObjects_count_((ID)&_OBJC_CLASS___NSArray,&local_b0,1);\n IVar2 = NSMutableArray::array((ID)&_OBJC_CLASS___NSMutableArray);\n objc_stub::boundingBox(param_5);\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 IVar3 = NSArray::countByEnumeratingWithState_objects_count_\n (IVar1,&local_170,auStack_130,0x10);\n if (IVar3 != 0) {\n lVar7 = *local_160;\n do {\n IVar8 = 0;\n do {\n if (*local_160 != lVar7) {\n _objc_enumerationMutation(IVar1);\n }\n IVar5 = *(ID *)(lStack_168 + IVar8 * 8);\n if (((IVar5 != 0) && (IVar4 = objc_stub::pointCount(IVar5), 0x4b < IVar4)) &&\n (IVar4 = objc_stub::normalizedPoints(IVar5), IVar4 != 0)) {\n IVar5 = objc_stub::normalizedPoints(IVar5);\n pdVar6 = (double *)(IVar5 + 8);\n lVar9 = 0x4c;\n do {\n IVar5 = CIVector::vectorWithX_Y_\n ((ID)&_OBJC_CLASS___CIVector,extraout_d0 + pdVar6[-1] * param_3,\n param_2 + *pdVar6 * param_4);\n NSMutableArray::addObject_(IVar2,IVar5);\n pdVar6 = pdVar6 + 2;\n lVar9 = lVar9 + -1;\n } while (lVar9 != 0);\n }\n IVar8 = IVar8 + 1;\n } while (IVar8 != IVar3);\n IVar3 = NSArray::countByEnumeratingWithState_objects_count_\n (IVar1,&local_170,auStack_130,0x10);\n } while (IVar3 != 0);\n }\n IVar1 = NSMutableArray::count(IVar2);\n if (IVar1 == 0x4c) {\n IVar1 = IVar2;\n dVar10 = extraout_d0;\n dVar12 = param_2;\n dVar13 = param_3;\n dVar14 = param_4;\n FUN_1000249bc(extraout_d0,param_2,param_3,param_4);\n _CGRectIsNull();\n if ((((IVar1 & 1) != 0) || (_CGRectIsEmpty(dVar10,dVar12,dVar13,dVar14), (IVar1 & 1) != 0)\n ) || ((dVar11 = dVar10, _CGRectGetWidth(dVar10,dVar12,dVar13,dVar14),\n dVar11 <= 2.220446049250313e-16 ||\n (dVar11 = dVar10, _CGRectGetHeight(dVar10,dVar12,dVar13,dVar14),\n dVar11 <= 2.220446049250313e-16)))) {\n dVar10 = extraout_d0;\n dVar12 = param_2;\n dVar13 = param_3;\n dVar14 = param_4;\n }\n dVar11 = dVar10;\n _CGRectGetMidX(dVar10,dVar12,dVar13,dVar14);\n _CGRectGetMidY(dVar10,dVar12,dVar13,dVar14);\n IVar1 = CIVector::vectorWithX_Y_((ID)&_OBJC_CLASS___CIVector,dVar11,dVar10);\n NSMutableArray::addObject_(IVar2,IVar1);\n }\n IVar1 = IVar2;\n FUN_100017cd8(extraout_d0,param_2,param_3,param_4);\n if ((int)IVar1 == 0) {\n IVar2 = 0;\n }\n }\n }\n }\n if (*(long *)PTR____stack_chk_guard_1000780b8 == local_a8) {\n return;\n }\n /* WARNING: Subroutine does not return */\n ___stack_chk_fail(IVar2);\n}\n\n"},"subject":{"architecture":"arm64","digest":{"sha256":"f01e8c0b7e2676b2961950b0e48efdd2589af218e4b36de7d39f5d1c76852bfb"},"format":"mach-o","local_path":"/private/tmp/paintfcp-rea.b3j9Te/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_61ea8c6e7117f18e47fe6cf820c9ec0a59865dedaf3d9c09813be0a5bd7a79bc","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: Function: _objc_release replaced with injection: _objc_release_fixup */\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 double *pdVar1;\n int iVar2;\n ID IVar3;\n double *pdVar4;\n ID IVar5;\n ID IVar6;\n undefined *puVar7;\n ID IVar8;\n ID IVar9;\n double *pdVar10;\n long lVar11;\n undefined8 in_d0;\n double dVar12;\n undefined8 extraout_d0;\n undefined8 extraout_d0_00;\n double dVar13;\n undefined8 in_d1;\n undefined8 uVar14;\n undefined8 uVar15;\n undefined8 in_d2;\n undefined8 uVar16;\n undefined8 uVar17;\n undefined8 in_d3;\n undefined8 uVar18;\n undefined8 uVar19;\n double local_100;\n undefined8 uStack_f8;\n undefined8 local_f0;\n double local_e0;\n double dStack_d8;\n double local_d0;\n double local_c0;\n double dStack_b8;\n double local_b0;\n \n pdVar10 = param_5.field0_0x0.field0_0x0;\n if (param_3 == 0) {\n return 0;\n }\n uVar14 = in_d1;\n uVar16 = in_d2;\n uVar18 = in_d3;\n objc_stub::lock(*(ID *)(param_1 + 0x20));\n if (*(char *)(param_1 + 0x1a0) == '\\x01') {\n IVar3 = objc_stub::extent(param_3);\n iVar2 = (int)IVar3;\n uVar14 = *(undefined8 *)(param_1 + 0x168);\n uVar16 = *(undefined8 *)(param_1 + 0x170);\n uVar18 = *(undefined8 *)(param_1 + 0x178);\n _CGRectEqualToRect(*(undefined8 *)(param_1 + 0x160));\n if (iVar2 != 0) {\n uVar14 = *(undefined8 *)(param_1 + 0x188);\n uVar16 = *(undefined8 *)(param_1 + 400);\n uVar18 = *(undefined8 *)(param_1 + 0x198);\n _CGRectEqualToRect(*(undefined8 *)(param_1 + 0x180));\n if (((iVar2 != 0) && ((*(uint *)((long)pdVar10 + 0xc) & 0x1d) == 1)) &&\n ((*(uint *)(param_1 + 0x154) & 0x1d) == 1)) {\n pdVar1 = (double *)(param_1 + 0x148);\n dStack_b8 = pdVar10[1];\n local_c0 = *pdVar10;\n local_b0 = pdVar10[2];\n dStack_d8 = *(double *)(param_1 + 0x150);\n local_e0 = *pdVar1;\n local_d0 = *(double *)(param_1 + 0x158);\n pdVar4 = &local_c0;\n _CMTimeCompare(pdVar4,&local_e0);\n if ((param_5.field0_0x0.field1_0x8._0_4_ == 0) || ((int)pdVar4 == 0)) {\n if ((int)pdVar4 == 0) {\nLAB_10002e6c8:\n FUN_100021c7c();\n puVar7 = PTR____NSArray0__struct_1000780d8;\n if (*(undefined **)(param_1 + 0x140) != (undefined *)0x0) {\n puVar7 = *(undefined **)(param_1 + 0x140);\n }\n objc_stub::unlock(*(ID *)(param_1 + 0x20));\n FUN_100021c7c();\n IVar3 = objc_stub::count((ID)puVar7);\n if (IVar3 == 0) {\n return 0;\n }\n return (ID)puVar7;\n }\n }\n else {\n dStack_b8 = pdVar10[1];\n local_c0 = *pdVar10;\n local_b0 = pdVar10[2];\n dStack_d8 = *(double *)(param_1 + 0x150);\n local_e0 = *pdVar1;\n local_d0 = *(double *)(param_1 + 0x158);\n pdVar4 = &local_c0;\n _CMTimeCompare(pdVar4,&local_e0);\n if (0 < (int)pdVar4) {\n dStack_d8 = pdVar10[1];\n local_e0 = *pdVar10;\n local_d0 = pdVar10[2];\n uStack_f8 = *(undefined8 *)(param_1 + 0x150);\n dVar12 = *pdVar1;\n local_f0 = *(undefined8 *)(param_1 + 0x158);\n local_100 = dVar12;\n _CMTimeSubtract(&local_c0,&local_e0,&local_100);\n _CMTimeGetSeconds(&local_c0);\n IVar3 = objc_stub::count(*(ID *)(param_1 + 0x140));\n if ((((ulong)dVar12 < 0x8000000000000000 &&\n (long)ABS(dVar12) + 0xfff0000000000000U >> 0x35 < 0x3ff ||\n (long)dVar12 - 1U < 0xfffffffffffff) || ABS(dVar12) == 0.0) &&\n (dVar12 <= *(double *)(&DAT_10005fab0 + (ulong)(IVar3 == 0) * 8)))\n goto LAB_10002e6c8;\n }\n }\n }\n }\n }\n objc_stub::unlock(*(ID *)(param_1 + 0x20));\n lVar11 = *(long *)(param_1 + 0x28);\n FUN_100021c7c();\n if (lVar11 == 0) {\n FUN_100021c7c();\n }\n else {\n IVar3 = objc_stub::extent(param_3);\n iVar2 = (int)IVar3;\n uVar15 = uVar14;\n uVar17 = uVar16;\n uVar19 = uVar18;\n _CGRectIsEmpty();\n if (iVar2 == 0) {\n IVar3 = param_3;\n uVar15 = uVar14;\n uVar17 = uVar16;\n uVar19 = uVar18;\n FUN_1000271d8(extraout_d0);\n if (IVar3 != 0) {\n local_c0 = 0.0;\n puVar7 = &_OBJC_CLASS___VNDetectFaceLandmarksRequest;\n _objc_alloc_init();\n FUN_100016a3c();\n IVar6 = IVar3;\n FUN_10003b33c(IVar3,puVar7,&local_c0);\n if ((int)IVar6 == 0) {\n IVar5 = 0;\n }\n else {\n IVar5 = objc_stub::results((ID)puVar7);\n IVar5 = objc_stub::copy(IVar5);\n }\n IVar8 = IVar5;\n FUN_10003b240();\n if ((((int)IVar6 == 0) || (IVar6 = objc_stub::count(IVar5), IVar6 == 0)) || (IVar8 < 0x4c))\n {\n objc_stub::count(IVar5);\n objc_stub::revision((ID)puVar7);\n objc_stub::usesCPUOnly((ID)puVar7);\n puVar7 = &_OBJC_CLASS___VNDetectFaceLandmarksRequest;\n _objc_alloc_init();\n FUN_100016a3c();\n uVar15 = uVar14;\n uVar17 = uVar16;\n uVar19 = uVar18;\n FUN_10003b414(extraout_d0,IVar3,puVar7,&local_c0);\n if ((int)IVar3 != 0) {\n IVar3 = objc_stub::results((ID)puVar7);\n IVar6 = objc_stub::copy(IVar3);\n IVar3 = IVar6;\n FUN_10003b240();\n objc_stub::count(IVar6);\n objc_stub::revision((ID)puVar7);\n IVar9 = objc_stub::count(IVar6);\n if (IVar9 != 0) {\n IVar5 = IVar6;\n IVar8 = IVar3;\n }\n }\n }\n IVar3 = objc_stub::count(IVar5);\n if (IVar3 == 0) {\n _NSStringFromRect(extraout_d0);\n }\n else {\n uVar14 = uVar15;\n uVar16 = uVar17;\n uVar18 = uVar19;\n if (IVar8 < 0x4c) {\n objc_stub::count(IVar5);\n uVar14 = uVar15;\n uVar16 = uVar17;\n uVar18 = uVar19;\n }\n }\n FUN_100021c7c();\n IVar6 = objc_stub::count(IVar5);\n IVar3 = 0;\n if (IVar6 != 0) {\n IVar3 = IVar5;\n }\n goto LAB_10002e7d4;\n }\n FUN_100021c7c();\n uVar14 = uVar15;\n uVar16 = uVar17;\n uVar18 = uVar19;\n }\n else {\n FUN_100021c7c();\n uVar14 = uVar15;\n uVar16 = uVar17;\n uVar18 = uVar19;\n }\n }\n IVar3 = 0;\nLAB_10002e7d4:\n objc_stub::lock(*(ID *)(param_1 + 0x20));\n IVar6 = objc_stub::count(IVar3);\n if (IVar6 == 0) {\n puVar7 = &_OBJC_CLASS___NSArray;\n _objc_alloc_init();\n }\n else {\n puVar7 = (undefined *)objc_stub::copy(IVar3);\n }\n *(undefined **)(param_1 + 0x140) = puVar7;\n dVar13 = pdVar10[1];\n dVar12 = *pdVar10;\n *(double *)(param_1 + 0x158) = pdVar10[2];\n *(double *)(param_1 + 0x150) = dVar13;\n *(double *)(param_1 + 0x148) = dVar12;\n objc_stub::extent(param_3);\n *(undefined8 *)(param_1 + 0x160) = extraout_d0_00;\n *(undefined8 *)(param_1 + 0x168) = uVar14;\n *(undefined8 *)(param_1 + 0x170) = uVar16;\n *(undefined8 *)(param_1 + 0x178) = uVar18;\n *(undefined8 *)(param_1 + 0x180) = in_d0;\n *(undefined8 *)(param_1 + 0x188) = in_d1;\n *(undefined8 *)(param_1 + 400) = in_d2;\n *(undefined8 *)(param_1 + 0x198) = in_d3;\n *(undefined1 *)(param_1 + 0x1a0) = 1;\n objc_stub::unlock(*(ID *)(param_1 + 0x20));\n return IVar3;\n}\n\n","operation":"procedure_pseudo_code","parameters":{"procedure":"0x10002e4f4"},"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: Function: _objc_release replaced with injection: _objc_release_fixup */\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 double *pdVar1;\n int iVar2;\n ID IVar3;\n double *pdVar4;\n ID IVar5;\n ID IVar6;\n undefined *puVar7;\n ID IVar8;\n ID IVar9;\n double *pdVar10;\n long lVar11;\n undefined8 in_d0;\n double dVar12;\n undefined8 extraout_d0;\n undefined8 extraout_d0_00;\n double dVar13;\n undefined8 in_d1;\n undefined8 uVar14;\n undefined8 uVar15;\n undefined8 in_d2;\n undefined8 uVar16;\n undefined8 uVar17;\n undefined8 in_d3;\n undefined8 uVar18;\n undefined8 uVar19;\n double local_100;\n undefined8 uStack_f8;\n undefined8 local_f0;\n double local_e0;\n double dStack_d8;\n double local_d0;\n double local_c0;\n double dStack_b8;\n double local_b0;\n \n pdVar10 = param_5.field0_0x0.field0_0x0;\n if (param_3 == 0) {\n return 0;\n }\n uVar14 = in_d1;\n uVar16 = in_d2;\n uVar18 = in_d3;\n objc_stub::lock(*(ID *)(param_1 + 0x20));\n if (*(char *)(param_1 + 0x1a0) == '\\x01') {\n IVar3 = objc_stub::extent(param_3);\n iVar2 = (int)IVar3;\n uVar14 = *(undefined8 *)(param_1 + 0x168);\n uVar16 = *(undefined8 *)(param_1 + 0x170);\n uVar18 = *(undefined8 *)(param_1 + 0x178);\n _CGRectEqualToRect(*(undefined8 *)(param_1 + 0x160));\n if (iVar2 != 0) {\n uVar14 = *(undefined8 *)(param_1 + 0x188);\n uVar16 = *(undefined8 *)(param_1 + 400);\n uVar18 = *(undefined8 *)(param_1 + 0x198);\n _CGRectEqualToRect(*(undefined8 *)(param_1 + 0x180));\n if (((iVar2 != 0) && ((*(uint *)((long)pdVar10 + 0xc) & 0x1d) == 1)) &&\n ((*(uint *)(param_1 + 0x154) & 0x1d) == 1)) {\n pdVar1 = (double *)(param_1 + 0x148);\n dStack_b8 = pdVar10[1];\n local_c0 = *pdVar10;\n local_b0 = pdVar10[2];\n dStack_d8 = *(double *)(param_1 + 0x150);\n local_e0 = *pdVar1;\n local_d0 = *(double *)(param_1 + 0x158);\n pdVar4 = &local_c0;\n _CMTimeCompare(pdVar4,&local_e0);\n if ((param_5.field0_0x0.field1_0x8._0_4_ == 0) || ((int)pdVar4 == 0)) {\n if ((int)pdVar4 == 0) {\nLAB_10002e6c8:\n FUN_100021c7c();\n puVar7 = PTR____NSArray0__struct_1000780d8;\n if (*(undefined **)(param_1 + 0x140) != (undefined *)0x0) {\n puVar7 = *(undefined **)(param_1 + 0x140);\n }\n objc_stub::unlock(*(ID *)(param_1 + 0x20));\n FUN_100021c7c();\n IVar3 = objc_stub::count((ID)puVar7);\n if (IVar3 == 0) {\n return 0;\n }\n return (ID)puVar7;\n }\n }\n else {\n dStack_b8 = pdVar10[1];\n local_c0 = *pdVar10;\n local_b0 = pdVar10[2];\n dStack_d8 = *(double *)(param_1 + 0x150);\n local_e0 = *pdVar1;\n local_d0 = *(double *)(param_1 + 0x158);\n pdVar4 = &local_c0;\n _CMTimeCompare(pdVar4,&local_e0);\n if (0 < (int)pdVar4) {\n dStack_d8 = pdVar10[1];\n local_e0 = *pdVar10;\n local_d0 = pdVar10[2];\n uStack_f8 = *(undefined8 *)(param_1 + 0x150);\n dVar12 = *pdVar1;\n local_f0 = *(undefined8 *)(param_1 + 0x158);\n local_100 = dVar12;\n _CMTimeSubtract(&local_c0,&local_e0,&local_100);\n _CMTimeGetSeconds(&local_c0);\n IVar3 = objc_stub::count(*(ID *)(param_1 + 0x140));\n if ((((ulong)dVar12 < 0x8000000000000000 &&\n (long)ABS(dVar12) + 0xfff0000000000000U >> 0x35 < 0x3ff ||\n (long)dVar12 - 1U < 0xfffffffffffff) || ABS(dVar12) == 0.0) &&\n (dVar12 <= *(double *)(&DAT_10005fab0 + (ulong)(IVar3 == 0) * 8)))\n goto LAB_10002e6c8;\n }\n }\n }\n }\n }\n objc_stub::unlock(*(ID *)(param_1 + 0x20));\n lVar11 = *(long *)(param_1 + 0x28);\n FUN_100021c7c();\n if (lVar11 == 0) {\n FUN_100021c7c();\n }\n else {\n IVar3 = objc_stub::extent(param_3);\n iVar2 = (int)IVar3;\n uVar15 = uVar14;\n uVar17 = uVar16;\n uVar19 = uVar18;\n _CGRectIsEmpty();\n if (iVar2 == 0) {\n IVar3 = param_3;\n uVar15 = uVar14;\n uVar17 = uVar16;\n uVar19 = uVar18;\n FUN_1000271d8(extraout_d0);\n if (IVar3 != 0) {\n local_c0 = 0.0;\n puVar7 = &_OBJC_CLASS___VNDetectFaceLandmarksRequest;\n _objc_alloc_init();\n FUN_100016a3c();\n IVar6 = IVar3;\n FUN_10003b33c(IVar3,puVar7,&local_c0);\n if ((int)IVar6 == 0) {\n IVar5 = 0;\n }\n else {\n IVar5 = objc_stub::results((ID)puVar7);\n IVar5 = objc_stub::copy(IVar5);\n }\n IVar8 = IVar5;\n FUN_10003b240();\n if ((((int)IVar6 == 0) || (IVar6 = objc_stub::count(IVar5), IVar6 == 0)) || (IVar8 < 0x4c))\n {\n objc_stub::count(IVar5);\n objc_stub::revision((ID)puVar7);\n objc_stub::usesCPUOnly((ID)puVar7);\n puVar7 = &_OBJC_CLASS___VNDetectFaceLandmarksRequest;\n _objc_alloc_init();\n FUN_100016a3c();\n uVar15 = uVar14;\n uVar17 = uVar16;\n uVar19 = uVar18;\n FUN_10003b414(extraout_d0,IVar3,puVar7,&local_c0);\n if ((int)IVar3 != 0) {\n IVar3 = objc_stub::results((ID)puVar7);\n IVar6 = objc_stub::copy(IVar3);\n IVar3 = IVar6;\n FUN_10003b240();\n objc_stub::count(IVar6);\n objc_stub::revision((ID)puVar7);\n IVar9 = objc_stub::count(IVar6);\n if (IVar9 != 0) {\n IVar5 = IVar6;\n IVar8 = IVar3;\n }\n }\n }\n IVar3 = objc_stub::count(IVar5);\n if (IVar3 == 0) {\n _NSStringFromRect(extraout_d0);\n }\n else {\n uVar14 = uVar15;\n uVar16 = uVar17;\n uVar18 = uVar19;\n if (IVar8 < 0x4c) {\n objc_stub::count(IVar5);\n uVar14 = uVar15;\n uVar16 = uVar17;\n uVar18 = uVar19;\n }\n }\n FUN_100021c7c();\n IVar6 = objc_stub::count(IVar5);\n IVar3 = 0;\n if (IVar6 != 0) {\n IVar3 = IVar5;\n }\n goto LAB_10002e7d4;\n }\n FUN_100021c7c();\n uVar14 = uVar15;\n uVar16 = uVar17;\n uVar18 = uVar19;\n }\n else {\n FUN_100021c7c();\n uVar14 = uVar15;\n uVar16 = uVar17;\n uVar18 = uVar19;\n }\n }\n IVar3 = 0;\nLAB_10002e7d4:\n objc_stub::lock(*(ID *)(param_1 + 0x20));\n IVar6 = objc_stub::count(IVar3);\n if (IVar6 == 0) {\n puVar7 = &_OBJC_CLASS___NSArray;\n _objc_alloc_init();\n }\n else {\n puVar7 = (undefined *)objc_stub::copy(IVar3);\n }\n *(undefined **)(param_1 + 0x140) = puVar7;\n dVar13 = pdVar10[1];\n dVar12 = *pdVar10;\n *(double *)(param_1 + 0x158) = pdVar10[2];\n *(double *)(param_1 + 0x150) = dVar13;\n *(double *)(param_1 + 0x148) = dVar12;\n objc_stub::extent(param_3);\n *(undefined8 *)(param_1 + 0x160) = extraout_d0_00;\n *(undefined8 *)(param_1 + 0x168) = uVar14;\n *(undefined8 *)(param_1 + 0x170) = uVar16;\n *(undefined8 *)(param_1 + 0x178) = uVar18;\n *(undefined8 *)(param_1 + 0x180) = in_d0;\n *(undefined8 *)(param_1 + 0x188) = in_d1;\n *(undefined8 *)(param_1 + 400) = in_d2;\n *(undefined8 *)(param_1 + 0x198) = in_d3;\n *(undefined1 *)(param_1 + 0x1a0) = 1;\n objc_stub::unlock(*(ID *)(param_1 + 0x20));\n return IVar3;\n}\n\n"},"subject":{"architecture":"arm64","digest":{"sha256":"f01e8c0b7e2676b2961950b0e48efdd2589af218e4b36de7d39f5d1c76852bfb"},"format":"mach-o","local_path":"/private/tmp/paintfcp-rea.b3j9Te/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_63bb7c8fb07dbe456027f4d4e6be52118338b91ab39dbf9ed6620de9090bc260","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 0x100023208 to 0x100055794 ___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":"\nvoid FUN_1000230cc(ID param_1)\n\n{\n ID IVar1;\n ID IVar2;\n ID IVar3;\n ID self;\n long lVar4;\n ID IVar5;\n undefined8 local_120;\n long lStack_118;\n long *local_110;\n undefined8 uStack_108;\n undefined8 local_100;\n undefined8 uStack_f8;\n undefined8 uStack_f0;\n undefined8 uStack_e8;\n undefined1 auStack_d8 [128];\n long local_58;\n \n local_58 = *(long *)PTR____stack_chk_guard_1000780b8;\n IVar1 = objc_stub::count(param_1);\n IVar2 = 0;\n if (IVar1 != 0) {\n IVar2 = objc_stub::count(param_1);\n IVar1 = NSMutableArray::arrayWithCapacity_((ID)&_OBJC_CLASS___NSMutableArray,IVar2);\n lStack_118 = 0;\n local_120 = 0;\n uStack_108 = 0;\n local_110 = (long *)0x0;\n uStack_f8 = 0;\n local_100 = 0;\n uStack_e8 = 0;\n uStack_f0 = 0;\n IVar2 = objc_stub::countByEnumeratingWithState_objects_count_\n (param_1,&local_120,auStack_d8,0x10);\n if (IVar2 != 0) {\n lVar4 = *local_110;\n do {\n IVar5 = 0;\n do {\n if (*local_110 != lVar4) {\n _objc_enumerationMutation(param_1);\n }\n self = *(ID *)(lStack_118 + IVar5 * 8);\n IVar3 = objc_stub::landmarks(self);\n IVar3 = objc_stub::allPoints(IVar3);\n IVar3 = objc_stub::pointCount(IVar3);\n if (0x4b < IVar3) {\n NSMutableArray::addObject_(IVar1,self);\n }\n IVar5 = IVar5 + 1;\n } while (IVar2 != IVar5);\n IVar2 = objc_stub::countByEnumeratingWithState_objects_count_\n (param_1,&local_120,auStack_d8,0x10);\n } while (IVar2 != 0);\n }\n IVar5 = NSMutableArray::count(IVar1);\n IVar2 = 0;\n if (IVar5 != 0) {\n IVar2 = IVar1;\n }\n }\n if (*(long *)PTR____stack_chk_guard_1000780b8 != local_58) {\n /* WARNING: Subroutine does not return */\n ___stack_chk_fail(IVar2);\n }\n return;\n}\n\n","operation":"procedure_pseudo_code","parameters":{"procedure":"0x1000230cc"},"predicate_type":"rea.analysis","provider":{"id":"ghidra","name":"Ghidra","version":"12.1.4"},"raw_result":{"limitations":["Ghidra Listing reports a terminal call at 0x100023208 to 0x100055794 ___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":"\nvoid FUN_1000230cc(ID param_1)\n\n{\n ID IVar1;\n ID IVar2;\n ID IVar3;\n ID self;\n long lVar4;\n ID IVar5;\n undefined8 local_120;\n long lStack_118;\n long *local_110;\n undefined8 uStack_108;\n undefined8 local_100;\n undefined8 uStack_f8;\n undefined8 uStack_f0;\n undefined8 uStack_e8;\n undefined1 auStack_d8 [128];\n long local_58;\n \n local_58 = *(long *)PTR____stack_chk_guard_1000780b8;\n IVar1 = objc_stub::count(param_1);\n IVar2 = 0;\n if (IVar1 != 0) {\n IVar2 = objc_stub::count(param_1);\n IVar1 = NSMutableArray::arrayWithCapacity_((ID)&_OBJC_CLASS___NSMutableArray,IVar2);\n lStack_118 = 0;\n local_120 = 0;\n uStack_108 = 0;\n local_110 = (long *)0x0;\n uStack_f8 = 0;\n local_100 = 0;\n uStack_e8 = 0;\n uStack_f0 = 0;\n IVar2 = objc_stub::countByEnumeratingWithState_objects_count_\n (param_1,&local_120,auStack_d8,0x10);\n if (IVar2 != 0) {\n lVar4 = *local_110;\n do {\n IVar5 = 0;\n do {\n if (*local_110 != lVar4) {\n _objc_enumerationMutation(param_1);\n }\n self = *(ID *)(lStack_118 + IVar5 * 8);\n IVar3 = objc_stub::landmarks(self);\n IVar3 = objc_stub::allPoints(IVar3);\n IVar3 = objc_stub::pointCount(IVar3);\n if (0x4b < IVar3) {\n NSMutableArray::addObject_(IVar1,self);\n }\n IVar5 = IVar5 + 1;\n } while (IVar2 != IVar5);\n IVar2 = objc_stub::countByEnumeratingWithState_objects_count_\n (param_1,&local_120,auStack_d8,0x10);\n } while (IVar2 != 0);\n }\n IVar5 = NSMutableArray::count(IVar1);\n IVar2 = 0;\n if (IVar5 != 0) {\n IVar2 = IVar1;\n }\n }\n if (*(long *)PTR____stack_chk_guard_1000780b8 != local_58) {\n /* WARNING: Subroutine does not return */\n ___stack_chk_fail(IVar2);\n }\n return;\n}\n\n"},"subject":{"architecture":"arm64","digest":{"sha256":"f01e8c0b7e2676b2961950b0e48efdd2589af218e4b36de7d39f5d1c76852bfb"},"format":"mach-o","local_path":"/private/tmp/paintfcp-rea.b3j9Te/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_65f0188e723686c67a72069dd8297e33fcb6df15d650ae3bd69cb8233d37b9fe","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:0x85","value":"/usr/lib/swift/libswiftCore.dylib::Swift::$_bridgeAnythingToObjectiveC"},{"address":"EXTERNAL:0xd0","value":"/System/Library/Frameworks/IOSurface.framework/Versions/A/IOSurface::_IOSurfaceGetBaseAddress"},{"address":"EXTERNAL:0xd1","value":"/System/Library/Frameworks/IOSurface.framework/Versions/A/IOSurface::_IOSurfaceGetBytesPerRow"},{"address":"EXTERNAL:0xd2","value":"/System/Library/Frameworks/IOSurface.framework/Versions/A/IOSurface::_IOSurfaceGetHeight"},{"address":"EXTERNAL:0xd3","value":"/System/Library/Frameworks/IOSurface.framework/Versions/A/IOSurface::_IOSurfaceGetPixelFormat"},{"address":"EXTERNAL:0xd4","value":"/System/Library/Frameworks/IOSurface.framework/Versions/A/IOSurface::_IOSurfaceGetWidth"},{"address":"EXTERNAL:0xd5","value":"/System/Library/Frameworks/IOSurface.framework/Versions/A/IOSurface::_IOSurfaceLock"},{"address":"EXTERNAL:0xd6","value":"/System/Library/Frameworks/IOSurface.framework/Versions/A/IOSurface::_IOSurfaceUnlock"},{"address":"EXTERNAL:0xe6","value":"/usr/lib/libSystem.B.dylib::__Block_object_dispose"},{"address":"EXTERNAL:0x297","value":"/System/Library/Frameworks/Foundation.framework/Versions/C/Foundation::numberWithInteger:"},{"address":"EXTERNAL:0x299","value":"/System/Library/Frameworks/Foundation.framework/Versions/C/Foundation::numberWithInt:"},{"address":"EXTERNAL:0x2c6","value":"/System/Library/Frameworks/Vision.framework/Versions/A/Vision::faceObservationWithRequestRevision:boundingBox:roll:yaw:pitch:"},{"address":"EXTERNAL:0x2c7","value":"/System/Library/Frameworks/Vision.framework/Versions/A/Vision::faceObservationWithRequestRevision:boundingBox:roll:yaw:"},{"address":"EXTERNAL:0x302","value":"/System/Library/Frameworks/Foundation.framework/Versions/C/Foundation::createDirectoryAtURL:withIntermediateDirectories:attributes:error:"},{"address":"EXTERNAL:0x316","value":"/System/Library/Frameworks/CoreImage.framework/Versions/A/CoreImage::imageWithIOSurface:options:"},{"address":"0x1000027fc","value":"FxMTLDeviceCacheItem::faceThinPipelineState"},{"address":"0x100002804","value":"FxMTLDeviceCacheItem::faceThinOffsetMapPipelineState"},{"address":"0x10000280c","value":"FxMTLDeviceCacheItem::faceThinOffsetBlurHPipelineState"},{"address":"0x100002814","value":"FxMTLDeviceCacheItem::faceThinOffsetBlurVPipelineState"},{"address":"0x10000281c","value":"FxMTLDeviceCacheItem::faceThinOffsetApplyPipelineState"},{"address":"0x100002824","value":"FxMTLDeviceCacheItem::faceThinMaskPreviewPipelineState"},{"address":"0x100002dc8","value":"FxMTLDeviceCache::faceThinPipelineStateWithRegistryID:pixelFormat:"},{"address":"0x100002f40","value":"FxMTLDeviceCache::faceThinOffsetMapPipelineStateWithRegistryID:pixelFormat:"},{"address":"0x1000030b8","value":"FxMTLDeviceCache::faceThinOffsetBlurHPipelineStateWithRegistryID:pixelFormat:"},{"address":"0x100003230","value":"FxMTLDeviceCache::faceThinOffsetBlurVPipelineStateWithRegistryID:pixelFormat:"},{"address":"0x1000033a8","value":"FxMTLDeviceCache::faceThinOffsetApplyPipelineStateWithRegistryID:pixelFormat:"},{"address":"0x100003698","value":"FxMTLDeviceCache::faceThinMaskPreviewPipelineStateWithRegistryID:pixelFormat:"},{"address":"0x100008858","value":"MSSSectionCardParameterValue::faceThin"},{"address":"0x100008860","value":"MSSSectionCardParameterValue::setFaceThin:"},{"address":"0x100008868","value":"MSSSectionCardParameterValue::faceBigEye"},{"address":"0x100008870","value":"MSSSectionCardParameterValue::setFaceBigEye:"},{"address":"0x100008878","value":"MSSSectionCardParameterValue::faceShort"},{"address":"0x100008880","value":"MSSSectionCardParameterValue::setFaceShort:"},{"address":"0x100008888","value":"MSSSectionCardParameterValue::faceNarrow"},{"address":"0x100008890","value":"MSSSectionCardParameterValue::setFaceNarrow:"},{"address":"0x100008898","value":"MSSSectionCardParameterValue::faceChin"},{"address":"0x1000088a0","value":"MSSSectionCardParameterValue::setFaceChin:"},{"address":"0x1000088a8","value":"MSSSectionCardParameterValue::faceV"},{"address":"0x1000088b0","value":"MSSSectionCardParameterValue::setFaceV:"},{"address":"0x1000088b8","value":"MSSSectionCardParameterValue::faceJaw"},{"address":"0x1000088c0","value":"MSSSectionCardParameterValue::setFaceJaw:"},{"address":"0x1000088c8","value":"MSSSectionCardParameterValue::faceCheekbone"},{"address":"0x1000088d0","value":"MSSSectionCardParameterValue::setFaceCheekbone:"},{"address":"0x1000088d8","value":"MSSSectionCardParameterValue::faceSmallHead"},{"address":"0x1000088e0","value":"MSSSectionCardParameterValue::setFaceSmallHead:"},{"address":"0x1000088e8","value":"MSSSectionCardParameterValue::faceSmallHeadRange"},{"address":"0x1000088f0","value":"MSSSectionCardParameterValue::setFaceSmallHeadRange:"},{"address":"0x100008938","value":"MSSSectionCardParameterValue::showFaceBoxes"},{"address":"0x100008940","value":"MSSSectionCardParameterValue::setShowFaceBoxes:"},{"address":"0x100008948","value":"MSSSectionCardParameterValue::showFaceTrackBox"},{"address":"0x100008950","value":"MSSSectionCardParameterValue::setShowFaceTrackBox:"},{"address":"0x100008958","value":"MSSSectionCardParameterValue::fastMultiFaceMode"},{"address":"0x100008960","value":"MSSSectionCardParameterValue::setFastMultiFaceMode:"},{"address":"0x100008968","value":"MSSSectionCardParameterValue::faceJumpGuardRange"},{"address":"0x100008970","value":"MSSSectionCardParameterValue::setFaceJumpGuardRange:"},{"address":"0x100008978","value":"MSSSectionCardParameterValue::faceSingleSelection"},{"address":"0x100008980","value":"MSSSectionCardParameterValue::setFaceSingleSelection:"},{"address":"0x100008988","value":"MSSSectionCardParameterValue::faceSelectionX"},{"address":"0x100008990","value":"MSSSectionCardParameterValue::setFaceSelectionX:"},{"address":"0x100008998","value":"MSSSectionCardParameterValue::faceSelectionY"},{"address":"0x1000089a0","value":"MSSSectionCardParameterValue::setFaceSelectionY:"},{"address":"0x1000089a8","value":"MSSSectionCardParameterValue::faceSelectionRevision"},{"address":"0x1000089b0","value":"MSSSectionCardParameterValue::setFaceSelectionRevision:"},{"address":"0x1000089b8","value":"MSSSectionCardParameterValue::faceTrackEnabled"},{"address":"0x1000089c0","value":"MSSSectionCardParameterValue::setFaceTrackEnabled:"},{"address":"0x1000089c8","value":"MSSSectionCardParameterValue::faceTrackStatus"},{"address":"0x1000089d0","value":"MSSSectionCardParameterValue::setFaceTrackStatus:"},{"address":"0x1000089d8","value":"MSSSectionCardParameterValue::faceTrackRevision"},{"address":"0x1000089e0","value":"MSSSectionCardParameterValue::setFaceTrackRevision:"},{"address":"0x1000089e8","value":"MSSSectionCardParameterValue::faceTrackFrameCount"},{"address":"0x1000089f0","value":"MSSSectionCardParameterValue::setFaceTrackFrameCount:"},{"address":"0x1000089f8","value":"MSSSectionCardParameterValue::faceTrackSeedTimeSeconds"},{"address":"0x100008a00","value":"MSSSectionCardParameterValue::setFaceTrackSeedTimeSeconds:"},{"address":"0x100008a08","value":"MSSSectionCardParameterValue::faceTrackProgress"},{"address":"0x100008a10","value":"MSSSectionCardParameterValue::setFaceTrackProgress:"},{"address":"0x100008a18","value":"MSSSectionCardParameterValue::faceTrackAppendMode"},{"address":"0x100008a20","value":"MSSSectionCardParameterValue::setFaceTrackAppendMode:"},{"address":"0x100008a28","value":"MSSSectionCardParameterValue::faceTrackData"},{"address":"0x100008a30","value":"MSSSectionCardParameterValue::setFaceTrackData:"},{"address":"0x100008a38","value":"MSSSectionCardParameterValue::faceTrackTargetCount"},{"address":"0x100008a40","value":"MSSSectionCardParameterValue::setFaceTrackTargetCount:"},{"address":"0x100008a48","value":"MSSSectionCardParameterValue::faceTrackActiveTargetIndex"},{"address":"0x100008a50","value":"MSSSectionCardParameterValue::setFaceTrackActiveTargetIndex:"},{"address":"0x100008a58","value":"MSSSectionCardParameterValue::faceTrackAnalysisTargetIndex"},{"address":"0x100008a60","value":"MSSSectionCardParameterValue::setFaceTrackAnalysisTargetIndex:"},{"address":"0x100008a68","value":"MSSSectionCardParameterValue::faceTrackTargetPageStartIndex"},{"address":"0x100008a70","value":"MSSSectionCardParameterValue::setFaceTrackTargetPageStartIndex:"},{"address":"0x100008a78","value":"MSSSectionCardParameterValue::faceTrackTarget1Data"},{"address":"0x100008a80","value":"MSSSectionCardParameterValue::setFaceTrackTarget1Data:"},{"address":"0x100008a88","value":"MSSSectionCardParameterValue::faceTrackTarget2Data"},{"address":"0x100008a90","value":"MSSSectionCardParameterValue::setFaceTrackTarget2Data:"},{"address":"0x100008a98","value":"MSSSectionCardParameterValue::faceTrackTarget3Data"},{"address":"0x100008aa0","value":"MSSSectionCardParameterValue::setFaceTrackTarget3Data:"},{"address":"0x100008aa8","value":"MSSSectionCardParameterValue::faceTrackTargets"},{"address":"0x100008ab0","value":"MSSSectionCardParameterValue::setFaceTrackTargets:"},{"address":"0x100008ab8","value":"MSSSectionCardParameterValue::faceTrackTarget1Status"},{"address":"0x100008ac0","value":"MSSSectionCardParameterValue::setFaceTrackTarget1Status:"},{"address":"0x100008ac8","value":"MSSSectionCardParameterValue::faceTrackTarget2Status"},{"address":"0x100008ad0","value":"MSSSectionCardParameterValue::setFaceTrackTarget2Status:"},{"address":"0x100008ad8","value":"MSSSectionCardParameterValue::faceTrackTarget3Status"},{"address":"0x100008ae0","value":"MSSSectionCardParameterValue::setFaceTrackTarget3Status:"},{"address":"0x100008ae8","value":"MSSSectionCardParameterValue::faceTrackTarget1FrameCount"},{"address":"0x100008af0","value":"MSSSectionCardParameterValue::setFaceTrackTarget1FrameCount:"},{"address":"0x100008af8","value":"MSSSectionCardParameterValue::faceTrackTarget2FrameCount"},{"address":"0x100008b00","value":"MSSSectionCardParameterValue::setFaceTrackTarget2FrameCount:"},{"address":"0x100008b08","value":"MSSSectionCardParameterValue::faceTrackTarget3FrameCount"},{"address":"0x100008b10","value":"MSSSectionCardParameterValue::setFaceTrackTarget3FrameCount:"},{"address":"0x100008b18","value":"MSSSectionCardParameterValue::faceTrackTarget1Revision"},{"address":"0x100008b20","value":"MSSSectionCardParameterValue::setFaceTrackTarget1Revision:"},{"address":"0x100008b28","value":"MSSSectionCardParameterValue::faceTrackTarget2Revision"},{"address":"0x100008b30","value":"MSSSectionCardParameterValue::setFaceTrackTarget2Revision:"},{"address":"0x100008b38","value":"MSSSectionCardParameterValue::faceTrackTarget3Revision"},{"address":"0x100008b40","value":"MSSSectionCardParameterValue::setFaceTrackTarget3Revision:"},{"address":"0x100008b48","value":"MSSSectionCardParameterValue::faceTrackTarget1Progress"},{"address":"0x100008b50","value":"MSSSectionCardParameterValue::setFaceTrackTarget1Progress:"},{"address":"0x100008b58","value":"MSSSectionCardParameterValue::faceTrackTarget2Progress"},{"address":"0x100008b60","value":"MSSSectionCardParameterValue::setFaceTrackTarget2Progress:"},{"address":"0x100008b68","value":"MSSSectionCardParameterValue::faceTrackTarget3Progress"},{"address":"0x100008b70","value":"MSSSectionCardParameterValue::setFaceTrackTarget3Progress:"},{"address":"0x100008b78","value":"MSSSectionCardParameterValue::faceTrackTarget1HasSelection"},{"address":"0x100008b80","value":"MSSSectionCardParameterValue::setFaceTrackTarget1HasSelection:"},{"address":"0x100008b88","value":"MSSSectionCardParameterValue::faceTrackTarget2HasSelection"},{"address":"0x100008b90","value":"MSSSectionCardParameterValue::setFaceTrackTarget2HasSelection:"},{"address":"0x100008b98","value":"MSSSectionCardParameterValue::faceTrackTarget3HasSelection"},{"address":"0x100008ba0","value":"MSSSectionCardParameterValue::setFaceTrackTarget3HasSelection:"},{"address":"0x100008ba8","value":"MSSSectionCardParameterValue::faceTrackTarget1SelectionX"},{"address":"0x100008bb0","value":"MSSSectionCardParameterValue::setFaceTrackTarget1SelectionX:"},{"address":"0x100008bb8","value":"MSSSectionCardParameterValue::faceTrackTarget2SelectionX"},{"address":"0x100008bc0","value":"MSSSectionCardParameterValue::setFaceTrackTarget2SelectionX:"},{"address":"0x100008bc8","value":"MSSSectionCardParameterValue::faceTrackTarget3SelectionX"},{"address":"0x100008bd0","value":"MSSSectionCardParameterValue::setFaceTrackTarget3SelectionX:"},{"address":"0x100008bd8","value":"MSSSectionCardParameterValue::faceTrackTarget1SelectionY"},{"address":"0x100008be0","value":"MSSSectionCardParameterValue::setFaceTrackTarget1SelectionY:"},{"address":"0x100008be8","value":"MSSSectionCardParameterValue::faceTrackTarget2SelectionY"},{"address":"0x100008bf0","value":"MSSSectionCardParameterValue::setFaceTrackTarget2SelectionY:"},{"address":"0x100008bf8","value":"MSSSectionCardParameterValue::faceTrackTarget3SelectionY"},{"address":"0x100008c00","value":"MSSSectionCardParameterValue::setFaceTrackTarget3SelectionY:"},{"address":"0x100008c08","value":"MSSSectionCardParameterValue::faceTrackTarget1SeedTimeSeconds"},{"address":"0x100008c10","value":"MSSSectionCardParameterValue::setFaceTrackTarget1SeedTimeSeconds:"},{"address":"0x100008c18","value":"MSSSectionCardParameterValue::faceTrackTarget2SeedTimeSeconds"},{"address":"0x100008c20","value":"MSSSectionCardParameterValue::setFaceTrackTarget2SeedTimeSeconds:"},{"address":"0x100008c28","value":"MSSSectionCardParameterValue::faceTrackTarget3SeedTimeSeconds"},{"address":"0x100008c30","value":"MSSSectionCardParameterValue::setFaceTrackTarget3SeedTimeSeconds:"},{"address":"0x100008c38","value":"MSSSectionCardParameterValue::faceTrackTarget1HasSelectionBox"},{"address":"0x100008c40","value":"MSSSectionCardParameterValue::setFaceTrackTarget1HasSelectionBox:"},{"address":"0x100008c48","value":"MSSSectionCardParameterValue::faceTrackTarget2HasSelectionBox"},{"address":"0x100008c50","value":"MSSSectionCardParameterValue::setFaceTrackTarget2HasSelectionBox:"},{"address":"0x100008c58","value":"MSSSectionCardParameterValue::faceTrackTarget3HasSelectionBox"},{"address":"0x100008c60","value":"MSSSectionCardParameterValue::setFaceTrackTarget3HasSelectionBox:"},{"address":"0x100008c68","value":"MSSSectionCardParameterValue::faceTrackTarget1SelectionBoxX"},{"address":"0x100008c70","value":"MSSSectionCardParameterValue::setFaceTrackTarget1SelectionBoxX:"},{"address":"0x100008c78","value":"MSSSectionCardParameterValue::faceTrackTarget1SelectionBoxY"},{"address":"0x100008c80","value":"MSSSectionCardParameterValue::setFaceTrackTarget1SelectionBoxY:"},{"address":"0x100008c88","value":"MSSSectionCardParameterValue::faceTrackTarget1SelectionBoxW"},{"address":"0x100008c90","value":"MSSSectionCardParameterValue::setFaceTrackTarget1SelectionBoxW:"},{"address":"0x100008c98","value":"MSSSectionCardParameterValue::faceTrackTarget1SelectionBoxH"},{"address":"0x100008ca0","value":"MSSSectionCardParameterValue::setFaceTrackTarget1SelectionBoxH:"},{"address":"0x100008ca8","value":"MSSSectionCardParameterValue::faceTrackTarget2SelectionBoxX"},{"address":"0x100008cb0","value":"MSSSectionCardParameterValue::setFaceTrackTarget2SelectionBoxX:"},{"address":"0x100008cb8","value":"MSSSectionCardParameterValue::faceTrackTarget2SelectionBoxY"},{"address":"0x100008cc0","value":"MSSSectionCardParameterValue::setFaceTrackTarget2SelectionBoxY:"},{"address":"0x100008cc8","value":"MSSSectionCardParameterValue::faceTrackTarget2SelectionBoxW"},{"address":"0x100008cd0","value":"MSSSectionCardParameterValue::setFaceTrackTarget2SelectionBoxW:"},{"address":"0x100008cd8","value":"MSSSectionCardParameterValue::faceTrackTarget2SelectionBoxH"},{"address":"0x100008ce0","value":"MSSSectionCardParameterValue::setFaceTrackTarget2SelectionBoxH:"},{"address":"0x100008ce8","value":"MSSSectionCardParameterValue::faceTrackTarget3SelectionBoxX"},{"address":"0x100008cf0","value":"MSSSectionCardParameterValue::setFaceTrackTarget3SelectionBoxX:"},{"address":"0x100008cf8","value":"MSSSectionCardParameterValue::faceTrackTarget3SelectionBoxY"},{"address":"0x100008d00","value":"MSSSectionCardParameterValue::setFaceTrackTarget3SelectionBoxY:"},{"address":"0x100008d08","value":"MSSSectionCardParameterValue::faceTrackTarget3SelectionBoxW"},{"address":"0x100008d10","value":"MSSSectionCardParameterValue::setFaceTrackTarget3SelectionBoxW:"},{"address":"0x100008d18","value":"MSSSectionCardParameterValue::faceTrackTarget3SelectionBoxH"},{"address":"0x100008d20","value":"MSSSectionCardParameterValue::setFaceTrackTarget3SelectionBoxH:"},{"address":"0x100008df8","value":"MSSSectionCardParameterValue::faceThinEnabled"},{"address":"0x100008e00","value":"MSSSectionCardParameterValue::setFaceThinEnabled:"},{"address":"0x100008e08","value":"MSSSectionCardParameterValue::faceBigEyeEnabled"},{"address":"0x100008e10","value":"MSSSectionCardParameterValue::setFaceBigEyeEnabled:"},{"address":"0x100008e18","value":"MSSSectionCardParameterValue::faceShortEnabled"},{"address":"0x100008e20","value":"MSSSectionCardParameterValue::setFaceShortEnabled:"},{"address":"0x100008e28","value":"MSSSectionCardParameterValue::faceNarrowEnabled"},{"address":"0x100008e30","value":"MSSSectionCardParameterValue::setFaceNarrowEnabled:"},{"address":"0x100008e38","value":"MSSSectionCardParameterValue::faceChinEnabled"},{"address":"0x100008e40","value":"MSSSectionCardParameterValue::setFaceChinEnabled:"},{"address":"0x100008e48","value":"MSSSectionCardParameterValue::faceVEnabled"},{"address":"0x100008e50","value":"MSSSectionCardParameterValue::setFaceVEnabled:"},{"address":"0x100008e58","value":"MSSSectionCardParameterValue::faceJawEnabled"},{"address":"0x100008e60","value":"MSSSectionCardParameterValue::setFaceJawEnabled:"},{"address":"0x100008e68","value":"MSSSectionCardParameterValue::faceCheekboneEnabled"},{"address":"0x100008e70","value":"MSSSectionCardParameterValue::setFaceCheekboneEnabled:"},{"address":"0x100008e78","value":"MSSSectionCardParameterValue::faceSmallHeadEnabled"},{"address":"0x100008e80","value":"MSSSectionCardParameterValue::setFaceSmallHeadEnabled:"},{"address":"0x100008e88","value":"MSSSectionCardParameterValue::faceSmallHeadRangeEnabled"},{"address":"0x100008e90","value":"MSSSectionCardParameterValue::setFaceSmallHeadRangeEnabled:"},{"address":"0x100008ed8","value":"MSSSectionCardParameterValue::showFaceBoxesEnabled"},{"address":"0x100008ee0","value":"MSSSectionCardParameterValue::setShowFaceBoxesEnabled:"},{"address":"0x100008ee8","value":"MSSSectionCardParameterValue::showFaceTrackBoxEnabled"},{"address":"0x100008ef0","value":"MSSSectionCardParameterValue::setShowFaceTrackBoxEnabled:"},{"address":"0x100008ef8","value":"MSSSectionCardParameterValue::faceSingleSelectionEnabled"},{"address":"0x100008f00","value":"MSSSectionCardParameterValue::setFaceSingleSelectionEnabled:"},{"address":"0x10000b970","value":"MSSSkinControlPanelView::pageFaceTrackTargetsWithDirection:"},{"address":"0x10000fcb8","value":"MSSSkinControlPanelView::requestFaceTrackAnalysisForTargetIndex:"},{"address":"0x10000fcbc","value":"MSSSkinControlPanelView::requestFaceTrackAnalysis"},{"address":"0x10000fcc4","value":"MSSSkinControlPanelView::requestAdditionalFaceTrackTarget"},{"address":"0x10000fcc8","value":"MSSSkinControlPanelView::requestFaceTrackAnalysisForInteractionItem:"},{"address":"0x10000fd04","value":"MSSSkinControlPanelView::selectFaceTrackTargetAtIndex:"},{"address":"0x1000100e0","value":"MSSSkinControlPanelView::deleteFaceTrackTargetAtIndex:"},{"address":"0x100010318","value":"MSSSkinControlPanelView::resetFaceTrackTargetAtIndex:"},{"address":"0x100016590","value":"MSSuperSkinSmoothingPlugIn::load"},{"address":"0x1000166d0","value":"MSSuperSkinSmoothingPlugIn::initWithAPIManager:"},{"address":"0x100016c64","value":"MSSuperSkinSmoothingPlugIn::dealloc"},{"address":"0x100016e00","value":"MSSuperSkinSmoothingPlugIn::mss_faceThinRememberedPointsForBox:renderTime:source:"},{"address":"0x100018320","value":"MSSuperSkinSmoothingPlugIn::mss_faceThinRenderTimeCanUpdateMemory:"},{"address":"0x100018328","value":"MSSuperSkinSmoothingPlugIn::mss_rememberFaceThinPoints:forBox:renderTime:source:"},{"address":"0x100018988","value":"MSSuperSkinSmoothingPlugIn::mss_rememberFaceThinPointSets:boxes:renderTime:source:"},{"address":"0x100018bd0","value":"MSSuperSkinSmoothingPlugIn::mss_rewindFaceReferenceForRenderTime:pointsOut:boxOut:timeOut:"},{"address":"0x100018c10","value":"MSSuperSkinSmoothingPlugIn::mss_rewindFaceReferenceForRenderTime:allowCurrentTime:pointsOut:boxOut:timeOut:"},{"address":"0x100018f94","value":"MSSuperSkinSmoothingPlugIn::mss_timeLocalFaceReferenceForRenderTime:pointsOut:boxOut:detectionTimeOut:outputTimeOut:usedHistoryOut:"},{"address":"0x100018fe0","value":"MSSuperSkinSmoothingPlugIn::mss_timeLocalFaceReferenceForRenderTime:allowCurrentTime:pointsOut:boxOut:detectionTimeOut:outputTimeOut:usedHistoryOut:"},{"address":"0x100019490","value":"MSSuperSkinSmoothingPlugIn::mss_storeRewindFaceReferencePoints:forBox:renderTime:"},{"address":"0x100019830","value":"MSSuperSkinSmoothingPlugIn::mss_clearRewindFaceReferences"},{"address":"0x100019890","value":"MSSuperSkinSmoothingPlugIn::apiManager"},{"address":"0x100019898","value":"MSSuperSkinSmoothingPlugIn::controlPanelValueForPluginAtTime:"},{"address":"0x100019d20","value":"MSSuperSkinSmoothingPlugIn::writeControlPanelValueFromPlugin:atTime:"},{"address":"0x100019d54","value":"MSSuperSkinSmoothingPlugIn::writeControlPanelValueFromPlugin:atTime:refreshCombinedState:"},{"address":"0x10001a430","value":"MSSuperSkinSmoothingPlugIn::mss_syncCompletedFaceTrackCacheFromPanelValue:"},{"address":"0x10001a45c","value":"MSSuperSkinSmoothingPlugIn::analyzedFaceTrackBoxAtTime:panelValue:usedCachedFallback:"},{"address":"0x10001a478","value":"MSSuperSkinSmoothingPlugIn::mss_applyLivePanelStateToParams:atTime:"},{"address":"0x10001a6c8","value":"MSSuperSkinSmoothingPlugIn::pluginVersionString"},{"address":"0x10001a738","value":"MSSuperSkinSmoothingPlugIn::isAuthorizedForCurrentLicense"},{"address":"0x10001a73c","value":"MSSuperSkinSmoothingPlugIn::mss_gateGlyph"},{"address":"0x10001a740","value":"MSSuperSkinSmoothingPlugIn::mss_branchA"},{"address":"0x10001a744","value":"MSSuperSkinSmoothingPlugIn::mss_branchB"},{"address":"0x10001a850","value":"MSSuperSkinSmoothingPlugIn::mss_branchC"},{"address":"0x10001a874","value":"MSSuperSkinSmoothingPlugIn::mss_branchD"},{"address":"0x10001a898","value":"MSSuperSkinSmoothingPlugIn::mss_branchE"},{"address":"0x10001a8bc","value":"MSSuperSkinSmoothingPlugIn::mss_branchF"},{"address":"0x10001a928","value":"MSSuperSkinSmoothingPlugIn::unregisteredOverlayURL"},{"address":"0x10001aae4","value":"MSSuperSkinSmoothingPlugIn::unregisteredOverlayImageForExtent:"},{"address":"0x10001afc0","value":"MSSuperSkinSmoothingPlugIn::unregisteredOverlayTextureForDevice:width:height:"},{"address":"0x10001b37c","value":"MSSuperSkinSmoothingPlugIn::renderUnregisteredOverlayToDestinationImage:device:deviceCache:"},{"address":"0x10001b698","value":"MSSuperSkinSmoothingPlugIn::properties:error:"},{"address":"0x10001b84c","value":"MSSuperSkinSmoothingPlugIn::addParametersWithError:"},{"address":"0x10001bfb4","value":"MSSuperSkinSmoothingPlugIn::pluginState:atTime:quality:error:"},{"address":"0x10001c038","value":"MSSuperSkinSmoothingPlugIn::mss_currentHostTime"},{"address":"0x10001c09c","value":"MSSuperSkinSmoothingPlugIn::mss_requestFaceTrackAnalysisWithPanelValue:"},{"address":"0x10001c0a4","value":"MSSuperSkinSmoothingPlugIn::mss_requestFaceTrackAnalysisWithPanelValue:apiManager:"},{"address":"0x10001c0ac","value":"MSSuperSkinSmoothingPlugIn::mss_startFaceTrackAnalysisFromHostButtonAppendingTarget:"},{"address":"0x10001c0b0","value":"MSSuperSkinSmoothingPlugIn::startFaceTrackAnalysisFromHostButton"},{"address":"0x10001c0b8","value":"MSSuperSkinSmoothingPlugIn::startAdditionalFaceTrackTargetFromHostButton"},{"address":"0x10001c0c0","value":"MSSuperSkinSmoothingPlugIn::mss_startFaceTrackAnalysisDirection:"},{"address":"0x10001c108","value":"MSSuperSkinSmoothingPlugIn::mss_startFaceTrackAnalysisDirection:apiManager:"},{"address":"0x10001c110","value":"MSSuperSkinSmoothingPlugIn::mss_markFaceTrackAnalysisFailedWithReason:error:"},{"address":"0x10001c2fc","value":"MSSuperSkinSmoothingPlugIn::mss_updateFaceTrackAnalysisProgressWithProcessedFrameCount:forceWrite:"},{"address":"0x10001c64c","value":"MSSuperSkinSmoothingPlugIn::desiredAnalysisTimeRange:forInputWithTimeRange:error:"},{"address":"0x10001c66c","value":"MSSuperSkinSmoothingPlugIn::setupAnalysisForTimeRange:frameDuration:error:"},{"address":"0x10001c704","value":"MSSuperSkinSmoothingPlugIn::analyzeFrame:atTime:error:"},{"address":"0x10001c70c","value":"MSSuperSkinSmoothingPlugIn::cleanupAnalysis:"},{"address":"0x10001c7a0","value":"MSSuperSkinSmoothingPlugIn::destinationImageRect:sourceImages:destinationImage:pluginState:atTime:error:"},{"address":"0x10001c810","value":"MSSuperSkinSmoothingPlugIn::sourceTileRect:sourceImageIndex:sourceImages:destinationTileRect:destinationImage:pluginState:atTime:error:"},{"address":"0x10001cba4","value":"MSSuperSkinSmoothingPlugIn::renderDestinationImage:sourceImages:pluginState:atTime:error:"},{"address":"0x1000293b0","value":"MSSuperSkinSmoothingPlugIn::legacyControlPanelValueAtTime:"},{"address":"0x10002973c","value":"MSSuperSkinSmoothingPlugIn::populateParams:atTime:error:"},{"address":"0x10002aa78","value":"MSSuperSkinSmoothingPlugIn::createViewForParameterID:"},{"address":"0x10002abf4","value":"MSSuperSkinSmoothingPlugIn::classForCustomParameterID:"},{"address":"0x10002ac10","value":"MSSuperSkinSmoothingPlugIn::classesForCustomParameterID:"},{"address":"0x10002ac3c","value":"MSSuperSkinSmoothingPlugIn::temporallyStabilizedEyeBrighteningMaskImage:inputImage:activeExtent:activeExtentOut:renderTime:"},{"address":"0x10002ae04","value":"MSSuperSkinSmoothingPlugIn::applySkinSmoothingToImage:params:renderTime:faceObservations:selectedFacePoints:"},{"address":"0x10002e094","value":"MSSuperSkinSmoothingPlugIn::resetTemporalMaskCache"},{"address":"0x10002e150","value":"MSSuperSkinSmoothingPlugIn::playbackStabilizedMaskImageFromInputImage:params:renderTime:trackingGrayBytes:trackingGrayWidth:trackingGrayHeight:trackingAlphaBytes:trackingAlphaWidth:trackingAlphaHeight:previewMaskImage:rawPreviewSmallMaskImage:maskImage:smoothCarrierImageOut:"},{"address":"0x10002e164","value":"MSSuperSkinSmoothingPlugIn::stabilizedMaskImageFromMaskImage:params:renderTime:"},{"address":"0x10002e4f4","value":"MSSuperSkinSmoothingPlugIn::cachedFaceObservationsForInputImage:inputSurface:sourceTileRect:renderTime:allowForwardReuse:"},{"address":"0x10002e9f0","value":"MSSuperSkinSmoothingPlugIn::cachedFaceRectangleObservationsForInputImage:inputSurface:sourceTileRect:renderTime:allowForwardReuse:"},{"address":"0x10002ee74","value":"MSSuperSkinSmoothingPlugIn::trackedFaceBoxForInputImage:renderTime:selectedObservation:shouldTrack:"},{"address":"0x10002f58c","value":"MSSuperSkinSmoothingPlugIn::deterministicFacePointsForObservations:params:selectedObservationOut:strengthMultiplierOut:"},{"address":"0x10002f700","value":"MSSuperSkinSmoothingPlugIn::temporalFacePointsForObservations:renderTime:params:selectedObservationOut:strengthMultiplierOut:pointsBoxOut:"},{"address":"0x100031e18","value":"MSSuperSkinSmoothingFaceSelectOSC::load"},{"address":"0x100031e1c","value":"MSSuperSkinSmoothingFaceSelectOSC::initWithAPIManager:"},{"address":"0x100031e64","value":"MSSuperSkinSmoothingFaceSelectOSC::createViewForParameterID:"},{"address":"0x100031e6c","value":"MSSuperSkinSmoothingFaceSelectOSC::classForCustomParameterID:"},{"address":"0x100031e8c","value":"MSSuperSkinSmoothingFaceSelectOSC::classesForCustomParameterID:"},{"address":"0x100031ebc","value":"MSSuperSkinSmoothingFaceSelectOSC::drawingCoordinates"},{"address":"0x100031ec4","value":"MSSuperSkinSmoothingFaceSelectOSC::drawOSCWithWidth:height:activePart:destinationImage:atTime:"},{"address":"0x100032abc","value":"MSSuperSkinSmoothingFaceSelectOSC::hitTestOSCAtMousePositionX:mousePositionY:activePart:atTime:"},{"address":"0x100032acc","value":"MSSuperSkinSmoothingFaceSelectOSC::mouseDownAtPositionX:positionY:activePart:modifiers:forceUpdate:atTime:"},{"address":"0x100032ad8","value":"MSSuperSkinSmoothingFaceSelectOSC::mouseDraggedAtPositionX:positionY:activePart:modifiers:forceUpdate:atTime:"},{"address":"0x100032ae4","value":"MSSuperSkinSmoothingFaceSelectOSC::mouseUpAtPositionX:positionY:activePart:modifiers:forceUpdate:atTime:"},{"address":"0x100033998","value":"MSSuperSkinSmoothingFaceSelectOSC::keyDownAtPositionX:positionY:keyPressed:modifiers:forceUpdate:didHandle:atTime:"},{"address":"0x1000339ac","value":"MSSuperSkinSmoothingFaceSelectOSC::keyUpAtPositionX:positionY:keyPressed:modifiers:forceUpdate:didHandle:atTime:"},{"address":"0x100035238","value":"YUCIHighPassSkinSmoothingMaskBoost::filterKernel"},{"address":"0x100035298","value":"YUCIHighPassSkinSmoothingMaskBoost::outputImage"},{"address":"0x100035360","value":"YUCIHighPassSkinSmoothingMaskBoost::dealloc"},{"address":"0x100035394","value":"YUCIHighPassSkinSmoothingMaskBoost::inputImage"},{"address":"0x1000353a4","value":"YUCIHighPassSkinSmoothingMaskBoost::setInputImage:"},{"address":"0x1000353b0","value":"YUCIHighPassSkinSmoothingMaskGenerator::outputImage"},{"address":"0x1000354b8","value":"YUCIHighPassSkinSmoothingMaskGenerator::dealloc"},{"address":"0x10003550c","value":"YUCIHighPassSkinSmoothingMaskGenerator::inputImage"},{"address":"0x10003551c","value":"YUCIHighPassSkinSmoothingMaskGenerator::setInputImage:"},{"address":"0x100035528","value":"YUCIHighPassSkinSmoothingMaskGenerator::inputRadius"},{"address":"0x100035538","value":"YUCIHighPassSkinSmoothingMaskGenerator::setInputRadius:"},{"address":"0x100035544","value":"YUCIHighPassSkinSmoothing::load"},{"address":"0x100035688","value":"YUCIHighPassSkinSmoothing::inputAmount"},{"address":"0x1000356cc","value":"YUCIHighPassSkinSmoothing::inputRadius"},{"address":"0x100035710","value":"YUCIHighPassSkinSmoothing::inputMidtoneDetail"},{"address":"0x100035754","value":"YUCIHighPassSkinSmoothing::inputHighPassDetail"},{"address":"0x100035798","value":"YUCIHighPassSkinSmoothing::inputTeethWhitening"},{"address":"0x1000357dc","value":"YUCIHighPassSkinSmoothing::inputEyeBrightening"},{"address":"0x100035820","value":"YUCIHighPassSkinSmoothing::inputSkinBrightness"},{"address":"0x100035864","value":"YUCIHighPassSkinSmoothing::inputSkinTonePreset"},{"address":"0x1000358a8","value":"YUCIHighPassSkinSmoothing::inputSkinHue"},{"address":"0x1000358ec","value":"YUCIHighPassSkinSmoothing::inputSkinSaturation"},{"address":"0x100035930","value":"YUCIHighPassSkinSmoothing::inputSharpnessFactor"},{"address":"0x100035978","value":"YUCIHighPassSkinSmoothing::inputMaskThreshold"},{"address":"0x1000359c0","value":"YUCIHighPassSkinSmoothing::inputMaskSoftness"},{"address":"0x100035a08","value":"YUCIHighPassSkinSmoothing::inputMaskEdgeProtect"},{"address":"0x100035a50","value":"YUCIHighPassSkinSmoothing::inputShowChannelInfo"},{"address":"0x100035a94","value":"YUCIHighPassSkinSmoothing::inputDebugChannelMode"},{"address":"0x100035ad8","value":"YUCIHighPassSkinSmoothing::defaultInputRGBCompositeControlPoints"},{"address":"0x100035b80","value":"YUCIHighPassSkinSmoothing::setInputToneCurveControlPoints:"},{"address":"0x100035bc4","value":"YUCIHighPassSkinSmoothing::inputToneCurveControlPoints"},{"address":"0x100035bd8","value":"YUCIHighPassSkinSmoothing::skinToneCurveFilter"},{"address":"0x100035c2c","value":"YUCIHighPassSkinSmoothing::setDefaults"},{"address":"0x100035d78","value":"YUCIHighPassSkinSmoothing::outputImage"},{"address":"0x1000377c8","value":"YUCIHighPassSkinSmoothing::dealloc"},{"address":"0x100037a38","value":"YUCIHighPassSkinSmoothing::inputImage"},{"address":"0x100037a48","value":"YUCIHighPassSkinSmoothing::setInputImage:"},{"address":"0x100037a54","value":"YUCIHighPassSkinSmoothing::inputMaskImage"},{"address":"0x100037a64","value":"YUCIHighPassSkinSmoothing::setInputMaskImage:"},{"address":"0x100037a70","value":"YUCIHighPassSkinSmoothing::inputPreviewMaskImage"},{"address":"0x100037a80","value":"YUCIHighPassSkinSmoothing::setInputPreviewMaskImage:"},{"address":"0x100037a8c","value":"YUCIHighPassSkinSmoothing::inputLocalSmoothingMaskImage"},{"address":"0x100037a9c","value":"YUCIHighPassSkinSmoothing::setInputLocalSmoothingMaskImage:"},{"address":"0x100037aa8","value":"YUCIHighPassSkinSmoothing::inputGlobalSmoothingMaskImage"},{"address":"0x100037ab8","value":"YUCIHighPassSkinSmoothing::setInputGlobalSmoothingMaskImage:"},{"address":"0x100037ac4","value":"YUCIHighPassSkinSmoothing::inputSkinEvenToneMaskImage"},{"address":"0x100037ad4","value":"YUCIHighPassSkinSmoothing::setInputSkinEvenToneMaskImage:"},{"address":"0x100037ae0","value":"YUCIHighPassSkinSmoothing::inputTeethMaskImage"},{"address":"0x100037af0","value":"YUCIHighPassSkinSmoothing::setInputTeethMaskImage:"},{"address":"0x100037afc","value":"YUCIHighPassSkinSmoothing::inputEyeMaskImage"},{"address":"0x100037b0c","value":"YUCIHighPassSkinSmoothing::setInputEyeMaskImage:"},{"address":"0x100037b18","value":"YUCIHighPassSkinSmoothing::inputEyeMaskActiveExtentVector"},{"address":"0x100037b28","value":"YUCIHighPassSkinSmoothing::setInputEyeMaskActiveExtentVector:"},{"address":"0x100037b34","value":"YUCIHighPassSkinSmoothing::setInputAmount:"},{"address":"0x100037b40","value":"YUCIHighPassSkinSmoothing::setInputSkinTonePreset:"},{"address":"0x100037b4c","value":"YUCIHighPassSkinSmoothing::setInputSkinBrightness:"},{"address":"0x100037b58","value":"YUCIHighPassSkinSmoothing::setInputSkinHue:"},{"address":"0x100037b64","value":"YUCIHighPassSkinSmoothing::setInputSkinSaturation:"},{"address":"0x100037b70","value":"YUCIHighPassSkinSmoothing::setInputMidtoneDetail:"},{"address":"0x100037b7c","value":"YUCIHighPassSkinSmoothing::setInputHighPassDetail:"},{"address":"0x100037b88","value":"YUCIHighPassSkinSmoothing::setInputTeethWhitening:"},{"address":"0x100037b94","value":"YUCIHighPassSkinSmoothing::setInputEyeBrightening:"},{"address":"0x100037ba0","value":"YUCIHighPassSkinSmoothing::setInputRadius:"},{"address":"0x100037bac","value":"YUCIHighPassSkinSmoothing::setInputSharpnessFactor:"},{"address":"0x100037bb8","value":"YUCIHighPassSkinSmoothing::setInputMaskThreshold:"},{"address":"0x100037bc4","value":"YUCIHighPassSkinSmoothing::setInputMaskSoftness:"},{"address":"0x100037bd0","value":"YUCIHighPassSkinSmoothing::setInputMaskEdgeProtect:"},{"address":"0x100037bdc","value":"YUCIHighPassSkinSmoothing::setInputShowChannelInfo:"},{"address":"0x100037be8","value":"YUCIHighPassSkinSmoothing::setInputDebugChannelMode:"},{"address":"0x100037bf4","value":"YUCIHighPassSkinSmoothing::inputInvertMaskChannel"},{"address":"0x100037c04","value":"YUCIHighPassSkinSmoothing::setInputInvertMaskChannel:"},{"address":"0x10005520c","value":"/usr/lib/swift/libswiftCore.dylib::Swift::$_bridgeAnythingToObjectiveC"},{"address":"0x100055590","value":"_IOSurfaceGetBaseAddress"},{"address":"0x10005559c","value":"_IOSurfaceGetBytesPerRow"},{"address":"0x1000555a8","value":"_IOSurfaceGetHeight"},{"address":"0x1000555b4","value":"_IOSurfaceGetPixelFormat"},{"address":"0x1000555c0","value":"_IOSurfaceGetWidth"},{"address":"0x1000555cc","value":"_IOSurfaceLock"},{"address":"0x1000555d8","value":"_IOSurfaceUnlock"},{"address":"0x100055698","value":"__Block_object_dispose"},{"address":"0x100057300","value":"objc_stub::applySkinSmoothingToImage:params:renderTime:faceObservations:selectedFacePoints:"},{"address":"0x100057680","value":"objc_stub::cachedFaceObservationsForInputImage:inputSurface:sourceTileRect:renderTime:allowForwardReuse:"},{"address":"0x1000576a0","value":"objc_stub::cachedFaceRectangleObservationsForInputImage:inputSurface:sourceTileRect:renderTime:allowForwardReuse:"},{"address":"0x100057e20","value":"objc_stub::deleteFaceTrackTargetAtIndex:"},{"address":"0x100058340","value":"objc_stub::faceBigEye"},{"address":"0x100058360","value":"objc_stub::faceBigEyeEnabled"},{"address":"0x100058380","value":"objc_stub::faceCheekbone"},{"address":"0x1000583a0","value":"objc_stub::faceCheekboneEnabled"},{"address":"0x1000583c0","value":"objc_stub::faceChin"},{"address":"0x1000583e0","value":"objc_stub::faceChinEnabled"},{"address":"0x100058400","value":"objc_stub::faceJaw"},{"address":"0x100058420","value":"objc_stub::faceJawEnabled"},{"address":"0x100058440","value":"objc_stub::faceJumpGuardRange"},{"address":"0x100058460","value":"objc_stub::faceNarrow"},{"address":"0x100058480","value":"objc_stub::faceNarrowEnabled"},{"address":"0x1000584a0","value":"objc_stub::faceObservationWithRequestRevision:boundingBox:roll:yaw:"},{"address":"0x1000584c0","value":"objc_stub::faceObservationWithRequestRevision:boundingBox:roll:yaw:pitch:"},{"address":"0x1000584e0","value":"objc_stub::faceSelectionRevision"},{"address":"0x100058500","value":"objc_stub::faceSelectionX"},{"address":"0x100058520","value":"objc_stub::faceSelectionY"},{"address":"0x100058540","value":"objc_stub::faceShort"},{"address":"0x100058560","value":"objc_stub::faceShortEnabled"},{"address":"0x100058580","value":"objc_stub::faceSingleSelection"},{"address":"0x1000585a0","value":"objc_stub::faceSingleSelectionEnabled"},{"address":"0x1000585c0","value":"objc_stub::faceSmallHead"},{"address":"0x1000585e0","value":"objc_stub::faceSmallHeadEnabled"},{"address":"0x100058600","value":"objc_stub::faceSmallHeadRange"},{"address":"0x100058620","value":"objc_stub::faceSmallHeadRangeEnabled"},{"address":"0x100058640","value":"objc_stub::faceThin"},{"address":"0x100058660","value":"objc_stub::faceThinEnabled"},{"address":"0x100058680","value":"objc_stub::faceThinMaskPreviewPipelineState"},{"address":"0x1000586a0","value":"objc_stub::faceThinOffsetApplyPipelineState"},{"address":"0x1000586c0","value":"objc_stub::faceThinOffsetBlurHPipelineState"},{"address":"0x1000586e0","value":"objc_stub::faceThinOffsetBlurVPipelineState"},{"address":"0x100058700","value":"objc_stub::faceThinOffsetMapPipelineState"},{"address":"0x100058720","value":"objc_stub::faceThinPipelineState"},{"address":"0x100058740","value":"objc_stub::faceThinPipelineStateWithRegistryID:pixelFormat:"},{"address":"0x100058760","value":"objc_stub::faceTrackActiveTargetIndex"},{"address":"0x100058780","value":"objc_stub::faceTrackAnalysisTargetIndex"},{"address":"0x1000587a0","value":"objc_stub::faceTrackAppendMode"},{"address":"0x1000587c0","value":"objc_stub::faceTrackData"},{"address":"0x1000587e0","value":"objc_stub::faceTrackEnabled"},{"address":"0x100058800","value":"objc_stub::faceTrackFrameCount"},{"address":"0x100058820","value":"objc_stub::faceTrackProgress"},{"address":"0x100058840","value":"objc_stub::faceTrackRevision"},{"address":"0x100058860","value":"objc_stub::faceTrackSeedTimeSeconds"},{"address":"0x100058880","value":"objc_stub::faceTrackStatus"},{"address":"0x1000588a0","value":"objc_stub::faceTrackTarget1Data"},{"address":"0x1000588c0","value":"objc_stub::faceTrackTarget1FrameCount"},{"address":"0x1000588e0","value":"objc_stub::faceTrackTarget1HasSelection"},{"address":"0x100058900","value":"objc_stub::faceTrackTarget1HasSelectionBox"},{"address":"0x100058920","value":"objc_stub::faceTrackTarget1Progress"},{"address":"0x100058940","value":"objc_stub::faceTrackTarget1Revision"},{"address":"0x100058960","value":"objc_stub::faceTrackTarget1SeedTimeSeconds"},{"address":"0x100058980","value":"objc_stub::faceTrackTarget1SelectionBoxH"},{"address":"0x1000589a0","value":"objc_stub::faceTrackTarget1SelectionBoxW"},{"address":"0x1000589c0","value":"objc_stub::faceTrackTarget1SelectionBoxX"},{"address":"0x1000589e0","value":"objc_stub::faceTrackTarget1SelectionBoxY"},{"address":"0x100058a00","value":"objc_stub::faceTrackTarget1SelectionX"},{"address":"0x100058a20","value":"objc_stub::faceTrackTarget1SelectionY"},{"address":"0x100058a40","value":"objc_stub::faceTrackTarget1Status"},{"address":"0x100058a60","value":"objc_stub::faceTrackTarget2Data"},{"address":"0x100058a80","value":"objc_stub::faceTrackTarget2FrameCount"},{"address":"0x100058aa0","value":"objc_stub::faceTrackTarget2HasSelection"},{"address":"0x100058ac0","value":"objc_stub::faceTrackTarget2HasSelectionBox"},{"address":"0x100058ae0","value":"objc_stub::faceTrackTarget2Progress"},{"address":"0x100058b00","value":"objc_stub::faceTrackTarget2Revision"},{"address":"0x100058b20","value":"objc_stub::faceTrackTarget2SeedTimeSeconds"},{"address":"0x100058b40","value":"objc_stub::faceTrackTarget2SelectionBoxH"},{"address":"0x100058b60","value":"objc_stub::faceTrackTarget2SelectionBoxW"},{"address":"0x100058b80","value":"objc_stub::faceTrackTarget2SelectionBoxX"},{"address":"0x100058ba0","value":"objc_stub::faceTrackTarget2SelectionBoxY"},{"address":"0x100058bc0","value":"objc_stub::faceTrackTarget2SelectionX"},{"address":"0x100058be0","value":"objc_stub::faceTrackTarget2SelectionY"},{"address":"0x100058c00","value":"objc_stub::faceTrackTarget2Status"},{"address":"0x100058c20","value":"objc_stub::faceTrackTarget3Data"},{"address":"0x100058c40","value":"objc_stub::faceTrackTarget3FrameCount"},{"address":"0x100058c60","value":"objc_stub::faceTrackTarget3HasSelection"},{"address":"0x100058c80","value":"objc_stub::faceTrackTarget3HasSelectionBox"},{"address":"0x100058ca0","value":"objc_stub::faceTrackTarget3Progress"},{"address":"0x100058cc0","value":"objc_stub::faceTrackTarget3Revision"},{"address":"0x100058ce0","value":"objc_stub::faceTrackTarget3SeedTimeSeconds"},{"address":"0x100058d00","value":"objc_stub::faceTrackTarget3SelectionBoxH"},{"address":"0x100058d20","value":"objc_stub::faceTrackTarget3SelectionBoxW"},{"address":"0x100058d40","value":"objc_stub::faceTrackTarget3SelectionBoxX"},{"address":"0x100058d60","value":"objc_stub::faceTrackTarget3SelectionBoxY"},{"address":"0x100058d80","value":"objc_stub::faceTrackTarget3SelectionX"},{"address":"0x100058da0","value":"objc_stub::faceTrackTarget3SelectionY"},{"address":"0x100058dc0","value":"objc_stub::faceTrackTarget3Status"},{"address":"0x100058de0","value":"objc_stub::faceTrackTargetCount"},{"address":"0x100058e00","value":"objc_stub::faceTrackTargetPageStartIndex"},{"address":"0x100058e20","value":"objc_stub::faceTrackTargets"},{"address":"0x100058e40","value":"objc_stub::faceV"},{"address":"0x100058e60","value":"objc_stub::faceVEnabled"},{"address":"0x100058e80","value":"objc_stub::fastMultiFaceMode"},{"address":"0x100059360","value":"objc_stub::imageWithIOSurface:options:"},{"address":"0x100059560","value":"objc_stub::initWithInteger:"},{"address":"0x100059660","value":"objc_stub::inputGlobalSmoothingMaskImage"},{"address":"0x100059740","value":"objc_stub::inputLocalSmoothingMaskImage"},{"address":"0x100059a20","value":"objc_stub::ioSurface"},{"address":"0x100059b40","value":"objc_stub::landmarks"},{"address":"0x100059ee0","value":"objc_stub::mss_clearRewindFaceReferences"},{"address":"0x100059f00","value":"objc_stub::mss_faceThinRememberedPointsForBox:renderTime:source:"},{"address":"0x100059f20","value":"objc_stub::mss_faceThinRenderTimeCanUpdateMemory:"},{"address":"0x100059fa0","value":"objc_stub::mss_rememberFaceThinPointSets:boxes:renderTime:source:"},{"address":"0x100059fc0","value":"objc_stub::mss_rememberFaceThinPoints:forBox:renderTime:source:"},{"address":"0x100059fe0","value":"objc_stub::mss_requestFaceTrackAnalysisWithPanelValue:apiManager:"},{"address":"0x10005a000","value":"objc_stub::mss_rewindFaceReferenceForRenderTime:allowCurrentTime:pointsOut:boxOut:timeOut:"},{"address":"0x10005a020","value":"objc_stub::mss_startFaceTrackAnalysisDirection:apiManager:"},{"address":"0x10005a040","value":"objc_stub::mss_startFaceTrackAnalysisFromHostButtonAppendingTarget:"},{"address":"0x10005a060","value":"objc_stub::mss_storeRewindFaceReferencePoints:forBox:renderTime:"},{"address":"0x10005a080","value":"objc_stub::mss_syncCompletedFaceTrackCacheFromPanelValue:"},{"address":"0x10005a0a0","value":"objc_stub::mss_timeLocalFaceReferenceForRenderTime:allowCurrentTime:pointsOut:boxOut:detectionTimeOut:outputTimeOut:usedHistoryOut:"},{"address":"0x10005a0c0","value":"objc_stub::mss_timeLocalFaceReferenceForRenderTime:pointsOut:boxOut:detectionTimeOut:outputTimeOut:usedHistoryOut:"},{"address":"0x10005a200","value":"objc_stub::newTextureWithDescriptor:iosurface:plane:"},{"address":"0x10005a320","value":"objc_stub::numberWithInt:"},{"address":"0x10005a340","value":"objc_stub::numberWithInteger:"},{"address":"0x10005a580","value":"objc_stub::pageFaceTrackTargetsWithDirection:"},{"address":"0x10005a920","value":"objc_stub::render:toIOSurface:bounds:colorSpace:"},{"address":"0x10005aa00","value":"objc_stub::requestAdditionalFaceTrackTarget"},{"address":"0x10005aa20","value":"objc_stub::requestFaceTrackAnalysisForTargetIndex:"},{"address":"0x10005aa40","value":"objc_stub::resetFaceTrackTargetAtIndex:"},{"address":"0x10005ac00","value":"objc_stub::selectFaceTrackTargetAtIndex:"},{"address":"0x10005b060","value":"objc_stub::setFaceBigEye:"},{"address":"0x10005b080","value":"objc_stub::setFaceBigEyeEnabled:"},{"address":"0x10005b0a0","value":"objc_stub::setFaceCheekbone:"},{"address":"0x10005b0c0","value":"objc_stub::setFaceCheekboneEnabled:"},{"address":"0x10005b0e0","value":"objc_stub::setFaceChin:"},{"address":"0x10005b100","value":"objc_stub::setFaceChinEnabled:"},{"address":"0x10005b120","value":"objc_stub::setFaceJaw:"},{"address":"0x10005b140","value":"objc_stub::setFaceJawEnabled:"},{"address":"0x10005b160","value":"objc_stub::setFaceJumpGuardRange:"},{"address":"0x10005b180","value":"objc_stub::setFaceNarrow:"},{"address":"0x10005b1a0","value":"objc_stub::setFaceNarrowEnabled:"},{"address":"0x10005b1c0","value":"objc_stub::setFaceSelectionRevision:"},{"address":"0x10005b1e0","value":"objc_stub::setFaceSelectionX:"},{"address":"0x10005b200","value":"objc_stub::setFaceSelectionY:"},{"address":"0x10005b220","value":"objc_stub::setFaceShort:"},{"address":"0x10005b240","value":"objc_stub::setFaceShortEnabled:"},{"address":"0x10005b260","value":"objc_stub::setFaceSingleSelection:"},{"address":"0x10005b280","value":"objc_stub::setFaceSingleSelectionEnabled:"},{"address":"0x10005b2a0","value":"objc_stub::setFaceSmallHead:"},{"address":"0x10005b2c0","value":"objc_stub::setFaceSmallHeadEnabled:"},{"address":"0x10005b2e0","value":"objc_stub::setFaceSmallHeadRange:"},{"address":"0x10005b300","value":"objc_stub::setFaceSmallHeadRangeEnabled:"},{"address":"0x10005b320","value":"objc_stub::setFaceThin:"},{"address":"0x10005b340","value":"objc_stub::setFaceThinEnabled:"},{"address":"0x10005b360","value":"objc_stub::setFaceTrackActiveTargetIndex:"},{"address":"0x10005b380","value":"objc_stub::setFaceTrackAnalysisTargetIndex:"},{"address":"0x10005b3a0","value":"objc_stub::setFaceTrackAppendMode:"},{"address":"0x10005b3c0","value":"objc_stub::setFaceTrackData:"},{"address":"0x10005b3e0","value":"objc_stub::setFaceTrackEnabled:"},{"address":"0x10005b400","value":"objc_stub::setFaceTrackFrameCount:"},{"address":"0x10005b420","value":"objc_stub::setFaceTrackProgress:"},{"address":"0x10005b440","value":"objc_stub::setFaceTrackRevision:"},{"address":"0x10005b460","value":"objc_stub::setFaceTrackSeedTimeSeconds:"},{"address":"0x10005b480","value":"objc_stub::setFaceTrackStatus:"},{"address":"0x10005b4a0","value":"objc_stub::setFaceTrackTarget1Data:"},{"address":"0x10005b4c0","value":"objc_stub::setFaceTrackTarget1FrameCount:"},{"address":"0x10005b4e0","value":"objc_stub::setFaceTrackTarget1HasSelection:"},{"address":"0x10005b500","value":"objc_stub::setFaceTrackTarget1HasSelectionBox:"},{"address":"0x10005b520","value":"objc_stub::setFaceTrackTarget1Progress:"},{"address":"0x10005b540","value":"objc_stub::setFaceTrackTarget1Revision:"},{"address":"0x10005b560","value":"objc_stub::setFaceTrackTarget1SeedTimeSeconds:"},{"address":"0x10005b580","value":"objc_stub::setFaceTrackTarget1SelectionBoxH:"},{"address":"0x10005b5a0","value":"objc_stub::setFaceTrackTarget1SelectionBoxW:"},{"address":"0x10005b5c0","value":"objc_stub::setFaceTrackTarget1SelectionBoxX:"},{"address":"0x10005b5e0","value":"objc_stub::setFaceTrackTarget1SelectionBoxY:"},{"address":"0x10005b600","value":"objc_stub::setFaceTrackTarget1SelectionX:"},{"address":"0x10005b620","value":"objc_stub::setFaceTrackTarget1SelectionY:"},{"address":"0x10005b640","value":"objc_stub::setFaceTrackTarget1Status:"},{"address":"0x10005b660","value":"objc_stub::setFaceTrackTarget2Data:"},{"address":"0x10005b680","value":"objc_stub::setFaceTrackTarget2FrameCount:"},{"address":"0x10005b6a0","value":"objc_stub::setFaceTrackTarget2HasSelection:"},{"address":"0x10005b6c0","value":"objc_stub::setFaceTrackTarget2HasSelectionBox:"},{"address":"0x10005b6e0","value":"objc_stub::setFaceTrackTarget2Progress:"},{"address":"0x10005b700","value":"objc_stub::setFaceTrackTarget2Revision:"},{"address":"0x10005b720","value":"objc_stub::setFaceTrackTarget2SeedTimeSeconds:"},{"address":"0x10005b740","value":"objc_stub::setFaceTrackTarget2SelectionBoxH:"},{"address":"0x10005b760","value":"objc_stub::setFaceTrackTarget2SelectionBoxW:"},{"address":"0x10005b780","value":"objc_stub::setFaceTrackTarget2SelectionBoxX:"},{"address":"0x10005b7a0","value":"objc_stub::setFaceTrackTarget2SelectionBoxY:"},{"address":"0x10005b7c0","value":"objc_stub::setFaceTrackTarget2SelectionX:"},{"address":"0x10005b7e0","value":"objc_stub::setFaceTrackTarget2SelectionY:"},{"address":"0x10005b800","value":"objc_stub::setFaceTrackTarget2Status:"},{"address":"0x10005b820","value":"objc_stub::setFaceTrackTarget3Data:"},{"address":"0x10005b840","value":"objc_stub::setFaceTrackTarget3FrameCount:"},{"address":"0x10005b860","value":"objc_stub::setFaceTrackTarget3HasSelection:"},{"address":"0x10005b880","value":"objc_stub::setFaceTrackTarget3HasSelectionBox:"},{"address":"0x10005b8a0","value":"objc_stub::setFaceTrackTarget3Progress:"},{"address":"0x10005b8c0","value":"objc_stub::setFaceTrackTarget3Revision:"},{"address":"0x10005b8e0","value":"objc_stub::setFaceTrackTarget3SeedTimeSeconds:"},{"address":"0x10005b900","value":"objc_stub::setFaceTrackTarget3SelectionBoxH:"},{"address":"0x10005b920","value":"objc_stub::setFaceTrackTarget3SelectionBoxW:"},{"address":"0x10005b940","value":"objc_stub::setFaceTrackTarget3SelectionBoxX:"},{"address":"0x10005b960","value":"objc_stub::setFaceTrackTarget3SelectionBoxY:"},{"address":"0x10005b980","value":"objc_stub::setFaceTrackTarget3SelectionX:"},{"address":"0x10005b9a0","value":"objc_stub::setFaceTrackTarget3SelectionY:"},{"address":"0x10005b9c0","value":"objc_stub::setFaceTrackTarget3Status:"},{"address":"0x10005b9e0","value":"objc_stub::setFaceTrackTargetCount:"},{"address":"0x10005ba00","value":"objc_stub::setFaceTrackTargetPageStartIndex:"},{"address":"0x10005ba20","value":"objc_stub::setFaceTrackTargets:"},{"address":"0x10005ba40","value":"objc_stub::setFaceV:"},{"address":"0x10005ba60","value":"objc_stub::setFaceVEnabled:"},{"address":"0x10005ba80","value":"objc_stub::setFastMultiFaceMode:"},{"address":"0x10005bd00","value":"objc_stub::setInputFaceObservations:"},{"address":"0x10005bd20","value":"objc_stub::setInputGlobalSmoothingMaskImage:"},{"address":"0x10005bde0","value":"objc_stub::setInputLocalSmoothingMaskImage:"},{"address":"0x10005c500","value":"objc_stub::setShowFaceBoxes:"},{"address":"0x10005c520","value":"objc_stub::setShowFaceBoxesEnabled:"},{"address":"0x10005c540","value":"objc_stub::setShowFaceTrackBox:"},{"address":"0x10005c560","value":"objc_stub::setShowFaceTrackBoxEnabled:"},{"address":"0x10005ca80","value":"objc_stub::showFaceBoxes"},{"address":"0x10005caa0","value":"objc_stub::showFaceBoxesEnabled"},{"address":"0x10005cac0","value":"objc_stub::showFaceTrackBox"},{"address":"0x10005cae0","value":"objc_stub::showFaceTrackBoxEnabled"},{"address":"0x10005d060","value":"objc_stub::temporalFacePointsForObservations:renderTime:params:selectedObservationOut:strengthMultiplierOut:pointsBoxOut:"},{"address":"0x1000a1f06","value":"CIImage::imageWithIOSurface:options:"},{"address":"0x1000a2201","value":"CIWarpKernel::kernelWithString:"},{"address":"0x1000a3b04","value":"NSFileManager::createDirectoryAtURL:withIntermediateDirectories:attributes:error:"},{"address":"0x1000a4802","value":"NSNumber::numberWithInteger:"},{"address":"0x1000a4804","value":"NSNumber::numberWithInt:"},{"address":"0x1000a5601","value":"VNDetectFaceLandmarksRequest::supportedRevisions"},{"address":"0x1000a5602","value":"VNDetectFaceLandmarksRequest::containsIndex:"},{"address":"0x1000a5603","value":"VNDetectFaceLandmarksRequest::revision:supportsConstellation:"},{"address":"0x1000a5701","value":"VNDetectFaceRectanglesRequest::supportedRevisions"},{"address":"0x1000a5702","value":"VNDetectFaceRectanglesRequest::containsIndex:"},{"address":"0x1000a5901","value":"VNFaceObservation::faceObservationWithRequestRevision:boundingBox:roll:yaw:pitch:"},{"address":"0x1000a5902","value":"VNFaceObservation::faceObservationWithRequestRevision:boundingBox:roll:yaw:"}],"operation":"search_procedures","parameters":{"case_sensitive":false,"mode":"regex","pattern":"(Face|Warp|Mesh|Landmark|Pose|Thin)"},"predicate_type":"rea.analysis","provider":{"id":"ghidra","name":"Ghidra","version":"12.1.4"},"raw_result":[{"address":"EXTERNAL:0x85","value":"/usr/lib/swift/libswiftCore.dylib::Swift::$_bridgeAnythingToObjectiveC"},{"address":"EXTERNAL:0xd0","value":"/System/Library/Frameworks/IOSurface.framework/Versions/A/IOSurface::_IOSurfaceGetBaseAddress"},{"address":"EXTERNAL:0xd1","value":"/System/Library/Frameworks/IOSurface.framework/Versions/A/IOSurface::_IOSurfaceGetBytesPerRow"},{"address":"EXTERNAL:0xd2","value":"/System/Library/Frameworks/IOSurface.framework/Versions/A/IOSurface::_IOSurfaceGetHeight"},{"address":"EXTERNAL:0xd3","value":"/System/Library/Frameworks/IOSurface.framework/Versions/A/IOSurface::_IOSurfaceGetPixelFormat"},{"address":"EXTERNAL:0xd4","value":"/System/Library/Frameworks/IOSurface.framework/Versions/A/IOSurface::_IOSurfaceGetWidth"},{"address":"EXTERNAL:0xd5","value":"/System/Library/Frameworks/IOSurface.framework/Versions/A/IOSurface::_IOSurfaceLock"},{"address":"EXTERNAL:0xd6","value":"/System/Library/Frameworks/IOSurface.framework/Versions/A/IOSurface::_IOSurfaceUnlock"},{"address":"EXTERNAL:0xe6","value":"/usr/lib/libSystem.B.dylib::__Block_object_dispose"},{"address":"EXTERNAL:0x297","value":"/System/Library/Frameworks/Foundation.framework/Versions/C/Foundation::numberWithInteger:"},{"address":"EXTERNAL:0x299","value":"/System/Library/Frameworks/Foundation.framework/Versions/C/Foundation::numberWithInt:"},{"address":"EXTERNAL:0x2c6","value":"/System/Library/Frameworks/Vision.framework/Versions/A/Vision::faceObservationWithRequestRevision:boundingBox:roll:yaw:pitch:"},{"address":"EXTERNAL:0x2c7","value":"/System/Library/Frameworks/Vision.framework/Versions/A/Vision::faceObservationWithRequestRevision:boundingBox:roll:yaw:"},{"address":"EXTERNAL:0x302","value":"/System/Library/Frameworks/Foundation.framework/Versions/C/Foundation::createDirectoryAtURL:withIntermediateDirectories:attributes:error:"},{"address":"EXTERNAL:0x316","value":"/System/Library/Frameworks/CoreImage.framework/Versions/A/CoreImage::imageWithIOSurface:options:"},{"address":"0x1000027fc","value":"FxMTLDeviceCacheItem::faceThinPipelineState"},{"address":"0x100002804","value":"FxMTLDeviceCacheItem::faceThinOffsetMapPipelineState"},{"address":"0x10000280c","value":"FxMTLDeviceCacheItem::faceThinOffsetBlurHPipelineState"},{"address":"0x100002814","value":"FxMTLDeviceCacheItem::faceThinOffsetBlurVPipelineState"},{"address":"0x10000281c","value":"FxMTLDeviceCacheItem::faceThinOffsetApplyPipelineState"},{"address":"0x100002824","value":"FxMTLDeviceCacheItem::faceThinMaskPreviewPipelineState"},{"address":"0x100002dc8","value":"FxMTLDeviceCache::faceThinPipelineStateWithRegistryID:pixelFormat:"},{"address":"0x100002f40","value":"FxMTLDeviceCache::faceThinOffsetMapPipelineStateWithRegistryID:pixelFormat:"},{"address":"0x1000030b8","value":"FxMTLDeviceCache::faceThinOffsetBlurHPipelineStateWithRegistryID:pixelFormat:"},{"address":"0x100003230","value":"FxMTLDeviceCache::faceThinOffsetBlurVPipelineStateWithRegistryID:pixelFormat:"},{"address":"0x1000033a8","value":"FxMTLDeviceCache::faceThinOffsetApplyPipelineStateWithRegistryID:pixelFormat:"},{"address":"0x100003698","value":"FxMTLDeviceCache::faceThinMaskPreviewPipelineStateWithRegistryID:pixelFormat:"},{"address":"0x100008858","value":"MSSSectionCardParameterValue::faceThin"},{"address":"0x100008860","value":"MSSSectionCardParameterValue::setFaceThin:"},{"address":"0x100008868","value":"MSSSectionCardParameterValue::faceBigEye"},{"address":"0x100008870","value":"MSSSectionCardParameterValue::setFaceBigEye:"},{"address":"0x100008878","value":"MSSSectionCardParameterValue::faceShort"},{"address":"0x100008880","value":"MSSSectionCardParameterValue::setFaceShort:"},{"address":"0x100008888","value":"MSSSectionCardParameterValue::faceNarrow"},{"address":"0x100008890","value":"MSSSectionCardParameterValue::setFaceNarrow:"},{"address":"0x100008898","value":"MSSSectionCardParameterValue::faceChin"},{"address":"0x1000088a0","value":"MSSSectionCardParameterValue::setFaceChin:"},{"address":"0x1000088a8","value":"MSSSectionCardParameterValue::faceV"},{"address":"0x1000088b0","value":"MSSSectionCardParameterValue::setFaceV:"},{"address":"0x1000088b8","value":"MSSSectionCardParameterValue::faceJaw"},{"address":"0x1000088c0","value":"MSSSectionCardParameterValue::setFaceJaw:"},{"address":"0x1000088c8","value":"MSSSectionCardParameterValue::faceCheekbone"},{"address":"0x1000088d0","value":"MSSSectionCardParameterValue::setFaceCheekbone:"},{"address":"0x1000088d8","value":"MSSSectionCardParameterValue::faceSmallHead"},{"address":"0x1000088e0","value":"MSSSectionCardParameterValue::setFaceSmallHead:"},{"address":"0x1000088e8","value":"MSSSectionCardParameterValue::faceSmallHeadRange"},{"address":"0x1000088f0","value":"MSSSectionCardParameterValue::setFaceSmallHeadRange:"},{"address":"0x100008938","value":"MSSSectionCardParameterValue::showFaceBoxes"},{"address":"0x100008940","value":"MSSSectionCardParameterValue::setShowFaceBoxes:"},{"address":"0x100008948","value":"MSSSectionCardParameterValue::showFaceTrackBox"},{"address":"0x100008950","value":"MSSSectionCardParameterValue::setShowFaceTrackBox:"},{"address":"0x100008958","value":"MSSSectionCardParameterValue::fastMultiFaceMode"},{"address":"0x100008960","value":"MSSSectionCardParameterValue::setFastMultiFaceMode:"},{"address":"0x100008968","value":"MSSSectionCardParameterValue::faceJumpGuardRange"},{"address":"0x100008970","value":"MSSSectionCardParameterValue::setFaceJumpGuardRange:"},{"address":"0x100008978","value":"MSSSectionCardParameterValue::faceSingleSelection"},{"address":"0x100008980","value":"MSSSectionCardParameterValue::setFaceSingleSelection:"},{"address":"0x100008988","value":"MSSSectionCardParameterValue::faceSelectionX"},{"address":"0x100008990","value":"MSSSectionCardParameterValue::setFaceSelectionX:"},{"address":"0x100008998","value":"MSSSectionCardParameterValue::faceSelectionY"},{"address":"0x1000089a0","value":"MSSSectionCardParameterValue::setFaceSelectionY:"},{"address":"0x1000089a8","value":"MSSSectionCardParameterValue::faceSelectionRevision"},{"address":"0x1000089b0","value":"MSSSectionCardParameterValue::setFaceSelectionRevision:"},{"address":"0x1000089b8","value":"MSSSectionCardParameterValue::faceTrackEnabled"},{"address":"0x1000089c0","value":"MSSSectionCardParameterValue::setFaceTrackEnabled:"},{"address":"0x1000089c8","value":"MSSSectionCardParameterValue::faceTrackStatus"},{"address":"0x1000089d0","value":"MSSSectionCardParameterValue::setFaceTrackStatus:"},{"address":"0x1000089d8","value":"MSSSectionCardParameterValue::faceTrackRevision"},{"address":"0x1000089e0","value":"MSSSectionCardParameterValue::setFaceTrackRevision:"},{"address":"0x1000089e8","value":"MSSSectionCardParameterValue::faceTrackFrameCount"},{"address":"0x1000089f0","value":"MSSSectionCardParameterValue::setFaceTrackFrameCount:"},{"address":"0x1000089f8","value":"MSSSectionCardParameterValue::faceTrackSeedTimeSeconds"},{"address":"0x100008a00","value":"MSSSectionCardParameterValue::setFaceTrackSeedTimeSeconds:"},{"address":"0x100008a08","value":"MSSSectionCardParameterValue::faceTrackProgress"},{"address":"0x100008a10","value":"MSSSectionCardParameterValue::setFaceTrackProgress:"},{"address":"0x100008a18","value":"MSSSectionCardParameterValue::faceTrackAppendMode"},{"address":"0x100008a20","value":"MSSSectionCardParameterValue::setFaceTrackAppendMode:"},{"address":"0x100008a28","value":"MSSSectionCardParameterValue::faceTrackData"},{"address":"0x100008a30","value":"MSSSectionCardParameterValue::setFaceTrackData:"},{"address":"0x100008a38","value":"MSSSectionCardParameterValue::faceTrackTargetCount"},{"address":"0x100008a40","value":"MSSSectionCardParameterValue::setFaceTrackTargetCount:"},{"address":"0x100008a48","value":"MSSSectionCardParameterValue::faceTrackActiveTargetIndex"},{"address":"0x100008a50","value":"MSSSectionCardParameterValue::setFaceTrackActiveTargetIndex:"},{"address":"0x100008a58","value":"MSSSectionCardParameterValue::faceTrackAnalysisTargetIndex"},{"address":"0x100008a60","value":"MSSSectionCardParameterValue::setFaceTrackAnalysisTargetIndex:"},{"address":"0x100008a68","value":"MSSSectionCardParameterValue::faceTrackTargetPageStartIndex"},{"address":"0x100008a70","value":"MSSSectionCardParameterValue::setFaceTrackTargetPageStartIndex:"},{"address":"0x100008a78","value":"MSSSectionCardParameterValue::faceTrackTarget1Data"},{"address":"0x100008a80","value":"MSSSectionCardParameterValue::setFaceTrackTarget1Data:"},{"address":"0x100008a88","value":"MSSSectionCardParameterValue::faceTrackTarget2Data"},{"address":"0x100008a90","value":"MSSSectionCardParameterValue::setFaceTrackTarget2Data:"},{"address":"0x100008a98","value":"MSSSectionCardParameterValue::faceTrackTarget3Data"},{"address":"0x100008aa0","value":"MSSSectionCardParameterValue::setFaceTrackTarget3Data:"},{"address":"0x100008aa8","value":"MSSSectionCardParameterValue::faceTrackTargets"},{"address":"0x100008ab0","value":"MSSSectionCardParameterValue::setFaceTrackTargets:"},{"address":"0x100008ab8","value":"MSSSectionCardParameterValue::faceTrackTarget1Status"},{"address":"0x100008ac0","value":"MSSSectionCardParameterValue::setFaceTrackTarget1Status:"},{"address":"0x100008ac8","value":"MSSSectionCardParameterValue::faceTrackTarget2Status"},{"address":"0x100008ad0","value":"MSSSectionCardParameterValue::setFaceTrackTarget2Status:"},{"address":"0x100008ad8","value":"MSSSectionCardParameterValue::faceTrackTarget3Status"},{"address":"0x100008ae0","value":"MSSSectionCardParameterValue::setFaceTrackTarget3Status:"},{"address":"0x100008ae8","value":"MSSSectionCardParameterValue::faceTrackTarget1FrameCount"},{"address":"0x100008af0","value":"MSSSectionCardParameterValue::setFaceTrackTarget1FrameCount:"},{"address":"0x100008af8","value":"MSSSectionCardParameterValue::faceTrackTarget2FrameCount"},{"address":"0x100008b00","value":"MSSSectionCardParameterValue::setFaceTrackTarget2FrameCount:"},{"address":"0x100008b08","value":"MSSSectionCardParameterValue::faceTrackTarget3FrameCount"},{"address":"0x100008b10","value":"MSSSectionCardParameterValue::setFaceTrackTarget3FrameCount:"},{"address":"0x100008b18","value":"MSSSectionCardParameterValue::faceTrackTarget1Revision"},{"address":"0x100008b20","value":"MSSSectionCardParameterValue::setFaceTrackTarget1Revision:"},{"address":"0x100008b28","value":"MSSSectionCardParameterValue::faceTrackTarget2Revision"},{"address":"0x100008b30","value":"MSSSectionCardParameterValue::setFaceTrackTarget2Revision:"},{"address":"0x100008b38","value":"MSSSectionCardParameterValue::faceTrackTarget3Revision"},{"address":"0x100008b40","value":"MSSSectionCardParameterValue::setFaceTrackTarget3Revision:"},{"address":"0x100008b48","value":"MSSSectionCardParameterValue::faceTrackTarget1Progress"},{"address":"0x100008b50","value":"MSSSectionCardParameterValue::setFaceTrackTarget1Progress:"},{"address":"0x100008b58","value":"MSSSectionCardParameterValue::faceTrackTarget2Progress"},{"address":"0x100008b60","value":"MSSSectionCardParameterValue::setFaceTrackTarget2Progress:"},{"address":"0x100008b68","value":"MSSSectionCardParameterValue::faceTrackTarget3Progress"},{"address":"0x100008b70","value":"MSSSectionCardParameterValue::setFaceTrackTarget3Progress:"},{"address":"0x100008b78","value":"MSSSectionCardParameterValue::faceTrackTarget1HasSelection"},{"address":"0x100008b80","value":"MSSSectionCardParameterValue::setFaceTrackTarget1HasSelection:"},{"address":"0x100008b88","value":"MSSSectionCardParameterValue::faceTrackTarget2HasSelection"},{"address":"0x100008b90","value":"MSSSectionCardParameterValue::setFaceTrackTarget2HasSelection:"},{"address":"0x100008b98","value":"MSSSectionCardParameterValue::faceTrackTarget3HasSelection"},{"address":"0x100008ba0","value":"MSSSectionCardParameterValue::setFaceTrackTarget3HasSelection:"},{"address":"0x100008ba8","value":"MSSSectionCardParameterValue::faceTrackTarget1SelectionX"},{"address":"0x100008bb0","value":"MSSSectionCardParameterValue::setFaceTrackTarget1SelectionX:"},{"address":"0x100008bb8","value":"MSSSectionCardParameterValue::faceTrackTarget2SelectionX"},{"address":"0x100008bc0","value":"MSSSectionCardParameterValue::setFaceTrackTarget2SelectionX:"},{"address":"0x100008bc8","value":"MSSSectionCardParameterValue::faceTrackTarget3SelectionX"},{"address":"0x100008bd0","value":"MSSSectionCardParameterValue::setFaceTrackTarget3SelectionX:"},{"address":"0x100008bd8","value":"MSSSectionCardParameterValue::faceTrackTarget1SelectionY"},{"address":"0x100008be0","value":"MSSSectionCardParameterValue::setFaceTrackTarget1SelectionY:"},{"address":"0x100008be8","value":"MSSSectionCardParameterValue::faceTrackTarget2SelectionY"},{"address":"0x100008bf0","value":"MSSSectionCardParameterValue::setFaceTrackTarget2SelectionY:"},{"address":"0x100008bf8","value":"MSSSectionCardParameterValue::faceTrackTarget3SelectionY"},{"address":"0x100008c00","value":"MSSSectionCardParameterValue::setFaceTrackTarget3SelectionY:"},{"address":"0x100008c08","value":"MSSSectionCardParameterValue::faceTrackTarget1SeedTimeSeconds"},{"address":"0x100008c10","value":"MSSSectionCardParameterValue::setFaceTrackTarget1SeedTimeSeconds:"},{"address":"0x100008c18","value":"MSSSectionCardParameterValue::faceTrackTarget2SeedTimeSeconds"},{"address":"0x100008c20","value":"MSSSectionCardParameterValue::setFaceTrackTarget2SeedTimeSeconds:"},{"address":"0x100008c28","value":"MSSSectionCardParameterValue::faceTrackTarget3SeedTimeSeconds"},{"address":"0x100008c30","value":"MSSSectionCardParameterValue::setFaceTrackTarget3SeedTimeSeconds:"},{"address":"0x100008c38","value":"MSSSectionCardParameterValue::faceTrackTarget1HasSelectionBox"},{"address":"0x100008c40","value":"MSSSectionCardParameterValue::setFaceTrackTarget1HasSelectionBox:"},{"address":"0x100008c48","value":"MSSSectionCardParameterValue::faceTrackTarget2HasSelectionBox"},{"address":"0x100008c50","value":"MSSSectionCardParameterValue::setFaceTrackTarget2HasSelectionBox:"},{"address":"0x100008c58","value":"MSSSectionCardParameterValue::faceTrackTarget3HasSelectionBox"},{"address":"0x100008c60","value":"MSSSectionCardParameterValue::setFaceTrackTarget3HasSelectionBox:"},{"address":"0x100008c68","value":"MSSSectionCardParameterValue::faceTrackTarget1SelectionBoxX"},{"address":"0x100008c70","value":"MSSSectionCardParameterValue::setFaceTrackTarget1SelectionBoxX:"},{"address":"0x100008c78","value":"MSSSectionCardParameterValue::faceTrackTarget1SelectionBoxY"},{"address":"0x100008c80","value":"MSSSectionCardParameterValue::setFaceTrackTarget1SelectionBoxY:"},{"address":"0x100008c88","value":"MSSSectionCardParameterValue::faceTrackTarget1SelectionBoxW"},{"address":"0x100008c90","value":"MSSSectionCardParameterValue::setFaceTrackTarget1SelectionBoxW:"},{"address":"0x100008c98","value":"MSSSectionCardParameterValue::faceTrackTarget1SelectionBoxH"},{"address":"0x100008ca0","value":"MSSSectionCardParameterValue::setFaceTrackTarget1SelectionBoxH:"},{"address":"0x100008ca8","value":"MSSSectionCardParameterValue::faceTrackTarget2SelectionBoxX"},{"address":"0x100008cb0","value":"MSSSectionCardParameterValue::setFaceTrackTarget2SelectionBoxX:"},{"address":"0x100008cb8","value":"MSSSectionCardParameterValue::faceTrackTarget2SelectionBoxY"},{"address":"0x100008cc0","value":"MSSSectionCardParameterValue::setFaceTrackTarget2SelectionBoxY:"},{"address":"0x100008cc8","value":"MSSSectionCardParameterValue::faceTrackTarget2SelectionBoxW"},{"address":"0x100008cd0","value":"MSSSectionCardParameterValue::setFaceTrackTarget2SelectionBoxW:"},{"address":"0x100008cd8","value":"MSSSectionCardParameterValue::faceTrackTarget2SelectionBoxH"},{"address":"0x100008ce0","value":"MSSSectionCardParameterValue::setFaceTrackTarget2SelectionBoxH:"},{"address":"0x100008ce8","value":"MSSSectionCardParameterValue::faceTrackTarget3SelectionBoxX"},{"address":"0x100008cf0","value":"MSSSectionCardParameterValue::setFaceTrackTarget3SelectionBoxX:"},{"address":"0x100008cf8","value":"MSSSectionCardParameterValue::faceTrackTarget3SelectionBoxY"},{"address":"0x100008d00","value":"MSSSectionCardParameterValue::setFaceTrackTarget3SelectionBoxY:"},{"address":"0x100008d08","value":"MSSSectionCardParameterValue::faceTrackTarget3SelectionBoxW"},{"address":"0x100008d10","value":"MSSSectionCardParameterValue::setFaceTrackTarget3SelectionBoxW:"},{"address":"0x100008d18","value":"MSSSectionCardParameterValue::faceTrackTarget3SelectionBoxH"},{"address":"0x100008d20","value":"MSSSectionCardParameterValue::setFaceTrackTarget3SelectionBoxH:"},{"address":"0x100008df8","value":"MSSSectionCardParameterValue::faceThinEnabled"},{"address":"0x100008e00","value":"MSSSectionCardParameterValue::setFaceThinEnabled:"},{"address":"0x100008e08","value":"MSSSectionCardParameterValue::faceBigEyeEnabled"},{"address":"0x100008e10","value":"MSSSectionCardParameterValue::setFaceBigEyeEnabled:"},{"address":"0x100008e18","value":"MSSSectionCardParameterValue::faceShortEnabled"},{"address":"0x100008e20","value":"MSSSectionCardParameterValue::setFaceShortEnabled:"},{"address":"0x100008e28","value":"MSSSectionCardParameterValue::faceNarrowEnabled"},{"address":"0x100008e30","value":"MSSSectionCardParameterValue::setFaceNarrowEnabled:"},{"address":"0x100008e38","value":"MSSSectionCardParameterValue::faceChinEnabled"},{"address":"0x100008e40","value":"MSSSectionCardParameterValue::setFaceChinEnabled:"},{"address":"0x100008e48","value":"MSSSectionCardParameterValue::faceVEnabled"},{"address":"0x100008e50","value":"MSSSectionCardParameterValue::setFaceVEnabled:"},{"address":"0x100008e58","value":"MSSSectionCardParameterValue::faceJawEnabled"},{"address":"0x100008e60","value":"MSSSectionCardParameterValue::setFaceJawEnabled:"},{"address":"0x100008e68","value":"MSSSectionCardParameterValue::faceCheekboneEnabled"},{"address":"0x100008e70","value":"MSSSectionCardParameterValue::setFaceCheekboneEnabled:"},{"address":"0x100008e78","value":"MSSSectionCardParameterValue::faceSmallHeadEnabled"},{"address":"0x100008e80","value":"MSSSectionCardParameterValue::setFaceSmallHeadEnabled:"},{"address":"0x100008e88","value":"MSSSectionCardParameterValue::faceSmallHeadRangeEnabled"},{"address":"0x100008e90","value":"MSSSectionCardParameterValue::setFaceSmallHeadRangeEnabled:"},{"address":"0x100008ed8","value":"MSSSectionCardParameterValue::showFaceBoxesEnabled"},{"address":"0x100008ee0","value":"MSSSectionCardParameterValue::setShowFaceBoxesEnabled:"},{"address":"0x100008ee8","value":"MSSSectionCardParameterValue::showFaceTrackBoxEnabled"},{"address":"0x100008ef0","value":"MSSSectionCardParameterValue::setShowFaceTrackBoxEnabled:"},{"address":"0x100008ef8","value":"MSSSectionCardParameterValue::faceSingleSelectionEnabled"},{"address":"0x100008f00","value":"MSSSectionCardParameterValue::setFaceSingleSelectionEnabled:"},{"address":"0x10000b970","value":"MSSSkinControlPanelView::pageFaceTrackTargetsWithDirection:"},{"address":"0x10000fcb8","value":"MSSSkinControlPanelView::requestFaceTrackAnalysisForTargetIndex:"},{"address":"0x10000fcbc","value":"MSSSkinControlPanelView::requestFaceTrackAnalysis"},{"address":"0x10000fcc4","value":"MSSSkinControlPanelView::requestAdditionalFaceTrackTarget"},{"address":"0x10000fcc8","value":"MSSSkinControlPanelView::requestFaceTrackAnalysisForInteractionItem:"},{"address":"0x10000fd04","value":"MSSSkinControlPanelView::selectFaceTrackTargetAtIndex:"},{"address":"0x1000100e0","value":"MSSSkinControlPanelView::deleteFaceTrackTargetAtIndex:"},{"address":"0x100010318","value":"MSSSkinControlPanelView::resetFaceTrackTargetAtIndex:"},{"address":"0x100016590","value":"MSSuperSkinSmoothingPlugIn::load"},{"address":"0x1000166d0","value":"MSSuperSkinSmoothingPlugIn::initWithAPIManager:"},{"address":"0x100016c64","value":"MSSuperSkinSmoothingPlugIn::dealloc"},{"address":"0x100016e00","value":"MSSuperSkinSmoothingPlugIn::mss_faceThinRememberedPointsForBox:renderTime:source:"},{"address":"0x100018320","value":"MSSuperSkinSmoothingPlugIn::mss_faceThinRenderTimeCanUpdateMemory:"},{"address":"0x100018328","value":"MSSuperSkinSmoothingPlugIn::mss_rememberFaceThinPoints:forBox:renderTime:source:"},{"address":"0x100018988","value":"MSSuperSkinSmoothingPlugIn::mss_rememberFaceThinPointSets:boxes:renderTime:source:"},{"address":"0x100018bd0","value":"MSSuperSkinSmoothingPlugIn::mss_rewindFaceReferenceForRenderTime:pointsOut:boxOut:timeOut:"},{"address":"0x100018c10","value":"MSSuperSkinSmoothingPlugIn::mss_rewindFaceReferenceForRenderTime:allowCurrentTime:pointsOut:boxOut:timeOut:"},{"address":"0x100018f94","value":"MSSuperSkinSmoothingPlugIn::mss_timeLocalFaceReferenceForRenderTime:pointsOut:boxOut:detectionTimeOut:outputTimeOut:usedHistoryOut:"},{"address":"0x100018fe0","value":"MSSuperSkinSmoothingPlugIn::mss_timeLocalFaceReferenceForRenderTime:allowCurrentTime:pointsOut:boxOut:detectionTimeOut:outputTimeOut:usedHistoryOut:"},{"address":"0x100019490","value":"MSSuperSkinSmoothingPlugIn::mss_storeRewindFaceReferencePoints:forBox:renderTime:"},{"address":"0x100019830","value":"MSSuperSkinSmoothingPlugIn::mss_clearRewindFaceReferences"},{"address":"0x100019890","value":"MSSuperSkinSmoothingPlugIn::apiManager"},{"address":"0x100019898","value":"MSSuperSkinSmoothingPlugIn::controlPanelValueForPluginAtTime:"},{"address":"0x100019d20","value":"MSSuperSkinSmoothingPlugIn::writeControlPanelValueFromPlugin:atTime:"},{"address":"0x100019d54","value":"MSSuperSkinSmoothingPlugIn::writeControlPanelValueFromPlugin:atTime:refreshCombinedState:"},{"address":"0x10001a430","value":"MSSuperSkinSmoothingPlugIn::mss_syncCompletedFaceTrackCacheFromPanelValue:"},{"address":"0x10001a45c","value":"MSSuperSkinSmoothingPlugIn::analyzedFaceTrackBoxAtTime:panelValue:usedCachedFallback:"},{"address":"0x10001a478","value":"MSSuperSkinSmoothingPlugIn::mss_applyLivePanelStateToParams:atTime:"},{"address":"0x10001a6c8","value":"MSSuperSkinSmoothingPlugIn::pluginVersionString"},{"address":"0x10001a738","value":"MSSuperSkinSmoothingPlugIn::isAuthorizedForCurrentLicense"},{"address":"0x10001a73c","value":"MSSuperSkinSmoothingPlugIn::mss_gateGlyph"},{"address":"0x10001a740","value":"MSSuperSkinSmoothingPlugIn::mss_branchA"},{"address":"0x10001a744","value":"MSSuperSkinSmoothingPlugIn::mss_branchB"},{"address":"0x10001a850","value":"MSSuperSkinSmoothingPlugIn::mss_branchC"},{"address":"0x10001a874","value":"MSSuperSkinSmoothingPlugIn::mss_branchD"},{"address":"0x10001a898","value":"MSSuperSkinSmoothingPlugIn::mss_branchE"},{"address":"0x10001a8bc","value":"MSSuperSkinSmoothingPlugIn::mss_branchF"},{"address":"0x10001a928","value":"MSSuperSkinSmoothingPlugIn::unregisteredOverlayURL"},{"address":"0x10001aae4","value":"MSSuperSkinSmoothingPlugIn::unregisteredOverlayImageForExtent:"},{"address":"0x10001afc0","value":"MSSuperSkinSmoothingPlugIn::unregisteredOverlayTextureForDevice:width:height:"},{"address":"0x10001b37c","value":"MSSuperSkinSmoothingPlugIn::renderUnregisteredOverlayToDestinationImage:device:deviceCache:"},{"address":"0x10001b698","value":"MSSuperSkinSmoothingPlugIn::properties:error:"},{"address":"0x10001b84c","value":"MSSuperSkinSmoothingPlugIn::addParametersWithError:"},{"address":"0x10001bfb4","value":"MSSuperSkinSmoothingPlugIn::pluginState:atTime:quality:error:"},{"address":"0x10001c038","value":"MSSuperSkinSmoothingPlugIn::mss_currentHostTime"},{"address":"0x10001c09c","value":"MSSuperSkinSmoothingPlugIn::mss_requestFaceTrackAnalysisWithPanelValue:"},{"address":"0x10001c0a4","value":"MSSuperSkinSmoothingPlugIn::mss_requestFaceTrackAnalysisWithPanelValue:apiManager:"},{"address":"0x10001c0ac","value":"MSSuperSkinSmoothingPlugIn::mss_startFaceTrackAnalysisFromHostButtonAppendingTarget:"},{"address":"0x10001c0b0","value":"MSSuperSkinSmoothingPlugIn::startFaceTrackAnalysisFromHostButton"},{"address":"0x10001c0b8","value":"MSSuperSkinSmoothingPlugIn::startAdditionalFaceTrackTargetFromHostButton"},{"address":"0x10001c0c0","value":"MSSuperSkinSmoothingPlugIn::mss_startFaceTrackAnalysisDirection:"},{"address":"0x10001c108","value":"MSSuperSkinSmoothingPlugIn::mss_startFaceTrackAnalysisDirection:apiManager:"},{"address":"0x10001c110","value":"MSSuperSkinSmoothingPlugIn::mss_markFaceTrackAnalysisFailedWithReason:error:"},{"address":"0x10001c2fc","value":"MSSuperSkinSmoothingPlugIn::mss_updateFaceTrackAnalysisProgressWithProcessedFrameCount:forceWrite:"},{"address":"0x10001c64c","value":"MSSuperSkinSmoothingPlugIn::desiredAnalysisTimeRange:forInputWithTimeRange:error:"},{"address":"0x10001c66c","value":"MSSuperSkinSmoothingPlugIn::setupAnalysisForTimeRange:frameDuration:error:"},{"address":"0x10001c704","value":"MSSuperSkinSmoothingPlugIn::analyzeFrame:atTime:error:"},{"address":"0x10001c70c","value":"MSSuperSkinSmoothingPlugIn::cleanupAnalysis:"},{"address":"0x10001c7a0","value":"MSSuperSkinSmoothingPlugIn::destinationImageRect:sourceImages:destinationImage:pluginState:atTime:error:"},{"address":"0x10001c810","value":"MSSuperSkinSmoothingPlugIn::sourceTileRect:sourceImageIndex:sourceImages:destinationTileRect:destinationImage:pluginState:atTime:error:"},{"address":"0x10001cba4","value":"MSSuperSkinSmoothingPlugIn::renderDestinationImage:sourceImages:pluginState:atTime:error:"},{"address":"0x1000293b0","value":"MSSuperSkinSmoothingPlugIn::legacyControlPanelValueAtTime:"},{"address":"0x10002973c","value":"MSSuperSkinSmoothingPlugIn::populateParams:atTime:error:"},{"address":"0x10002aa78","value":"MSSuperSkinSmoothingPlugIn::createViewForParameterID:"},{"address":"0x10002abf4","value":"MSSuperSkinSmoothingPlugIn::classForCustomParameterID:"},{"address":"0x10002ac10","value":"MSSuperSkinSmoothingPlugIn::classesForCustomParameterID:"},{"address":"0x10002ac3c","value":"MSSuperSkinSmoothingPlugIn::temporallyStabilizedEyeBrighteningMaskImage:inputImage:activeExtent:activeExtentOut:renderTime:"},{"address":"0x10002ae04","value":"MSSuperSkinSmoothingPlugIn::applySkinSmoothingToImage:params:renderTime:faceObservations:selectedFacePoints:"},{"address":"0x10002e094","value":"MSSuperSkinSmoothingPlugIn::resetTemporalMaskCache"},{"address":"0x10002e150","value":"MSSuperSkinSmoothingPlugIn::playbackStabilizedMaskImageFromInputImage:params:renderTime:trackingGrayBytes:trackingGrayWidth:trackingGrayHeight:trackingAlphaBytes:trackingAlphaWidth:trackingAlphaHeight:previewMaskImage:rawPreviewSmallMaskImage:maskImage:smoothCarrierImageOut:"},{"address":"0x10002e164","value":"MSSuperSkinSmoothingPlugIn::stabilizedMaskImageFromMaskImage:params:renderTime:"},{"address":"0x10002e4f4","value":"MSSuperSkinSmoothingPlugIn::cachedFaceObservationsForInputImage:inputSurface:sourceTileRect:renderTime:allowForwardReuse:"},{"address":"0x10002e9f0","value":"MSSuperSkinSmoothingPlugIn::cachedFaceRectangleObservationsForInputImage:inputSurface:sourceTileRect:renderTime:allowForwardReuse:"},{"address":"0x10002ee74","value":"MSSuperSkinSmoothingPlugIn::trackedFaceBoxForInputImage:renderTime:selectedObservation:shouldTrack:"},{"address":"0x10002f58c","value":"MSSuperSkinSmoothingPlugIn::deterministicFacePointsForObservations:params:selectedObservationOut:strengthMultiplierOut:"},{"address":"0x10002f700","value":"MSSuperSkinSmoothingPlugIn::temporalFacePointsForObservations:renderTime:params:selectedObservationOut:strengthMultiplierOut:pointsBoxOut:"},{"address":"0x100031e18","value":"MSSuperSkinSmoothingFaceSelectOSC::load"},{"address":"0x100031e1c","value":"MSSuperSkinSmoothingFaceSelectOSC::initWithAPIManager:"},{"address":"0x100031e64","value":"MSSuperSkinSmoothingFaceSelectOSC::createViewForParameterID:"},{"address":"0x100031e6c","value":"MSSuperSkinSmoothingFaceSelectOSC::classForCustomParameterID:"},{"address":"0x100031e8c","value":"MSSuperSkinSmoothingFaceSelectOSC::classesForCustomParameterID:"},{"address":"0x100031ebc","value":"MSSuperSkinSmoothingFaceSelectOSC::drawingCoordinates"},{"address":"0x100031ec4","value":"MSSuperSkinSmoothingFaceSelectOSC::drawOSCWithWidth:height:activePart:destinationImage:atTime:"},{"address":"0x100032abc","value":"MSSuperSkinSmoothingFaceSelectOSC::hitTestOSCAtMousePositionX:mousePositionY:activePart:atTime:"},{"address":"0x100032acc","value":"MSSuperSkinSmoothingFaceSelectOSC::mouseDownAtPositionX:positionY:activePart:modifiers:forceUpdate:atTime:"},{"address":"0x100032ad8","value":"MSSuperSkinSmoothingFaceSelectOSC::mouseDraggedAtPositionX:positionY:activePart:modifiers:forceUpdate:atTime:"},{"address":"0x100032ae4","value":"MSSuperSkinSmoothingFaceSelectOSC::mouseUpAtPositionX:positionY:activePart:modifiers:forceUpdate:atTime:"},{"address":"0x100033998","value":"MSSuperSkinSmoothingFaceSelectOSC::keyDownAtPositionX:positionY:keyPressed:modifiers:forceUpdate:didHandle:atTime:"},{"address":"0x1000339ac","value":"MSSuperSkinSmoothingFaceSelectOSC::keyUpAtPositionX:positionY:keyPressed:modifiers:forceUpdate:didHandle:atTime:"},{"address":"0x100035238","value":"YUCIHighPassSkinSmoothingMaskBoost::filterKernel"},{"address":"0x100035298","value":"YUCIHighPassSkinSmoothingMaskBoost::outputImage"},{"address":"0x100035360","value":"YUCIHighPassSkinSmoothingMaskBoost::dealloc"},{"address":"0x100035394","value":"YUCIHighPassSkinSmoothingMaskBoost::inputImage"},{"address":"0x1000353a4","value":"YUCIHighPassSkinSmoothingMaskBoost::setInputImage:"},{"address":"0x1000353b0","value":"YUCIHighPassSkinSmoothingMaskGenerator::outputImage"},{"address":"0x1000354b8","value":"YUCIHighPassSkinSmoothingMaskGenerator::dealloc"},{"address":"0x10003550c","value":"YUCIHighPassSkinSmoothingMaskGenerator::inputImage"},{"address":"0x10003551c","value":"YUCIHighPassSkinSmoothingMaskGenerator::setInputImage:"},{"address":"0x100035528","value":"YUCIHighPassSkinSmoothingMaskGenerator::inputRadius"},{"address":"0x100035538","value":"YUCIHighPassSkinSmoothingMaskGenerator::setInputRadius:"},{"address":"0x100035544","value":"YUCIHighPassSkinSmoothing::load"},{"address":"0x100035688","value":"YUCIHighPassSkinSmoothing::inputAmount"},{"address":"0x1000356cc","value":"YUCIHighPassSkinSmoothing::inputRadius"},{"address":"0x100035710","value":"YUCIHighPassSkinSmoothing::inputMidtoneDetail"},{"address":"0x100035754","value":"YUCIHighPassSkinSmoothing::inputHighPassDetail"},{"address":"0x100035798","value":"YUCIHighPassSkinSmoothing::inputTeethWhitening"},{"address":"0x1000357dc","value":"YUCIHighPassSkinSmoothing::inputEyeBrightening"},{"address":"0x100035820","value":"YUCIHighPassSkinSmoothing::inputSkinBrightness"},{"address":"0x100035864","value":"YUCIHighPassSkinSmoothing::inputSkinTonePreset"},{"address":"0x1000358a8","value":"YUCIHighPassSkinSmoothing::inputSkinHue"},{"address":"0x1000358ec","value":"YUCIHighPassSkinSmoothing::inputSkinSaturation"},{"address":"0x100035930","value":"YUCIHighPassSkinSmoothing::inputSharpnessFactor"},{"address":"0x100035978","value":"YUCIHighPassSkinSmoothing::inputMaskThreshold"},{"address":"0x1000359c0","value":"YUCIHighPassSkinSmoothing::inputMaskSoftness"},{"address":"0x100035a08","value":"YUCIHighPassSkinSmoothing::inputMaskEdgeProtect"},{"address":"0x100035a50","value":"YUCIHighPassSkinSmoothing::inputShowChannelInfo"},{"address":"0x100035a94","value":"YUCIHighPassSkinSmoothing::inputDebugChannelMode"},{"address":"0x100035ad8","value":"YUCIHighPassSkinSmoothing::defaultInputRGBCompositeControlPoints"},{"address":"0x100035b80","value":"YUCIHighPassSkinSmoothing::setInputToneCurveControlPoints:"},{"address":"0x100035bc4","value":"YUCIHighPassSkinSmoothing::inputToneCurveControlPoints"},{"address":"0x100035bd8","value":"YUCIHighPassSkinSmoothing::skinToneCurveFilter"},{"address":"0x100035c2c","value":"YUCIHighPassSkinSmoothing::setDefaults"},{"address":"0x100035d78","value":"YUCIHighPassSkinSmoothing::outputImage"},{"address":"0x1000377c8","value":"YUCIHighPassSkinSmoothing::dealloc"},{"address":"0x100037a38","value":"YUCIHighPassSkinSmoothing::inputImage"},{"address":"0x100037a48","value":"YUCIHighPassSkinSmoothing::setInputImage:"},{"address":"0x100037a54","value":"YUCIHighPassSkinSmoothing::inputMaskImage"},{"address":"0x100037a64","value":"YUCIHighPassSkinSmoothing::setInputMaskImage:"},{"address":"0x100037a70","value":"YUCIHighPassSkinSmoothing::inputPreviewMaskImage"},{"address":"0x100037a80","value":"YUCIHighPassSkinSmoothing::setInputPreviewMaskImage:"},{"address":"0x100037a8c","value":"YUCIHighPassSkinSmoothing::inputLocalSmoothingMaskImage"},{"address":"0x100037a9c","value":"YUCIHighPassSkinSmoothing::setInputLocalSmoothingMaskImage:"},{"address":"0x100037aa8","value":"YUCIHighPassSkinSmoothing::inputGlobalSmoothingMaskImage"},{"address":"0x100037ab8","value":"YUCIHighPassSkinSmoothing::setInputGlobalSmoothingMaskImage:"},{"address":"0x100037ac4","value":"YUCIHighPassSkinSmoothing::inputSkinEvenToneMaskImage"},{"address":"0x100037ad4","value":"YUCIHighPassSkinSmoothing::setInputSkinEvenToneMaskImage:"},{"address":"0x100037ae0","value":"YUCIHighPassSkinSmoothing::inputTeethMaskImage"},{"address":"0x100037af0","value":"YUCIHighPassSkinSmoothing::setInputTeethMaskImage:"},{"address":"0x100037afc","value":"YUCIHighPassSkinSmoothing::inputEyeMaskImage"},{"address":"0x100037b0c","value":"YUCIHighPassSkinSmoothing::setInputEyeMaskImage:"},{"address":"0x100037b18","value":"YUCIHighPassSkinSmoothing::inputEyeMaskActiveExtentVector"},{"address":"0x100037b28","value":"YUCIHighPassSkinSmoothing::setInputEyeMaskActiveExtentVector:"},{"address":"0x100037b34","value":"YUCIHighPassSkinSmoothing::setInputAmount:"},{"address":"0x100037b40","value":"YUCIHighPassSkinSmoothing::setInputSkinTonePreset:"},{"address":"0x100037b4c","value":"YUCIHighPassSkinSmoothing::setInputSkinBrightness:"},{"address":"0x100037b58","value":"YUCIHighPassSkinSmoothing::setInputSkinHue:"},{"address":"0x100037b64","value":"YUCIHighPassSkinSmoothing::setInputSkinSaturation:"},{"address":"0x100037b70","value":"YUCIHighPassSkinSmoothing::setInputMidtoneDetail:"},{"address":"0x100037b7c","value":"YUCIHighPassSkinSmoothing::setInputHighPassDetail:"},{"address":"0x100037b88","value":"YUCIHighPassSkinSmoothing::setInputTeethWhitening:"},{"address":"0x100037b94","value":"YUCIHighPassSkinSmoothing::setInputEyeBrightening:"},{"address":"0x100037ba0","value":"YUCIHighPassSkinSmoothing::setInputRadius:"},{"address":"0x100037bac","value":"YUCIHighPassSkinSmoothing::setInputSharpnessFactor:"},{"address":"0x100037bb8","value":"YUCIHighPassSkinSmoothing::setInputMaskThreshold:"},{"address":"0x100037bc4","value":"YUCIHighPassSkinSmoothing::setInputMaskSoftness:"},{"address":"0x100037bd0","value":"YUCIHighPassSkinSmoothing::setInputMaskEdgeProtect:"},{"address":"0x100037bdc","value":"YUCIHighPassSkinSmoothing::setInputShowChannelInfo:"},{"address":"0x100037be8","value":"YUCIHighPassSkinSmoothing::setInputDebugChannelMode:"},{"address":"0x100037bf4","value":"YUCIHighPassSkinSmoothing::inputInvertMaskChannel"},{"address":"0x100037c04","value":"YUCIHighPassSkinSmoothing::setInputInvertMaskChannel:"},{"address":"0x10005520c","value":"/usr/lib/swift/libswiftCore.dylib::Swift::$_bridgeAnythingToObjectiveC"},{"address":"0x100055590","value":"_IOSurfaceGetBaseAddress"},{"address":"0x10005559c","value":"_IOSurfaceGetBytesPerRow"},{"address":"0x1000555a8","value":"_IOSurfaceGetHeight"},{"address":"0x1000555b4","value":"_IOSurfaceGetPixelFormat"},{"address":"0x1000555c0","value":"_IOSurfaceGetWidth"},{"address":"0x1000555cc","value":"_IOSurfaceLock"},{"address":"0x1000555d8","value":"_IOSurfaceUnlock"},{"address":"0x100055698","value":"__Block_object_dispose"},{"address":"0x100057300","value":"objc_stub::applySkinSmoothingToImage:params:renderTime:faceObservations:selectedFacePoints:"},{"address":"0x100057680","value":"objc_stub::cachedFaceObservationsForInputImage:inputSurface:sourceTileRect:renderTime:allowForwardReuse:"},{"address":"0x1000576a0","value":"objc_stub::cachedFaceRectangleObservationsForInputImage:inputSurface:sourceTileRect:renderTime:allowForwardReuse:"},{"address":"0x100057e20","value":"objc_stub::deleteFaceTrackTargetAtIndex:"},{"address":"0x100058340","value":"objc_stub::faceBigEye"},{"address":"0x100058360","value":"objc_stub::faceBigEyeEnabled"},{"address":"0x100058380","value":"objc_stub::faceCheekbone"},{"address":"0x1000583a0","value":"objc_stub::faceCheekboneEnabled"},{"address":"0x1000583c0","value":"objc_stub::faceChin"},{"address":"0x1000583e0","value":"objc_stub::faceChinEnabled"},{"address":"0x100058400","value":"objc_stub::faceJaw"},{"address":"0x100058420","value":"objc_stub::faceJawEnabled"},{"address":"0x100058440","value":"objc_stub::faceJumpGuardRange"},{"address":"0x100058460","value":"objc_stub::faceNarrow"},{"address":"0x100058480","value":"objc_stub::faceNarrowEnabled"},{"address":"0x1000584a0","value":"objc_stub::faceObservationWithRequestRevision:boundingBox:roll:yaw:"},{"address":"0x1000584c0","value":"objc_stub::faceObservationWithRequestRevision:boundingBox:roll:yaw:pitch:"},{"address":"0x1000584e0","value":"objc_stub::faceSelectionRevision"},{"address":"0x100058500","value":"objc_stub::faceSelectionX"},{"address":"0x100058520","value":"objc_stub::faceSelectionY"},{"address":"0x100058540","value":"objc_stub::faceShort"},{"address":"0x100058560","value":"objc_stub::faceShortEnabled"},{"address":"0x100058580","value":"objc_stub::faceSingleSelection"},{"address":"0x1000585a0","value":"objc_stub::faceSingleSelectionEnabled"},{"address":"0x1000585c0","value":"objc_stub::faceSmallHead"},{"address":"0x1000585e0","value":"objc_stub::faceSmallHeadEnabled"},{"address":"0x100058600","value":"objc_stub::faceSmallHeadRange"},{"address":"0x100058620","value":"objc_stub::faceSmallHeadRangeEnabled"},{"address":"0x100058640","value":"objc_stub::faceThin"},{"address":"0x100058660","value":"objc_stub::faceThinEnabled"},{"address":"0x100058680","value":"objc_stub::faceThinMaskPreviewPipelineState"},{"address":"0x1000586a0","value":"objc_stub::faceThinOffsetApplyPipelineState"},{"address":"0x1000586c0","value":"objc_stub::faceThinOffsetBlurHPipelineState"},{"address":"0x1000586e0","value":"objc_stub::faceThinOffsetBlurVPipelineState"},{"address":"0x100058700","value":"objc_stub::faceThinOffsetMapPipelineState"},{"address":"0x100058720","value":"objc_stub::faceThinPipelineState"},{"address":"0x100058740","value":"objc_stub::faceThinPipelineStateWithRegistryID:pixelFormat:"},{"address":"0x100058760","value":"objc_stub::faceTrackActiveTargetIndex"},{"address":"0x100058780","value":"objc_stub::faceTrackAnalysisTargetIndex"},{"address":"0x1000587a0","value":"objc_stub::faceTrackAppendMode"},{"address":"0x1000587c0","value":"objc_stub::faceTrackData"},{"address":"0x1000587e0","value":"objc_stub::faceTrackEnabled"},{"address":"0x100058800","value":"objc_stub::faceTrackFrameCount"},{"address":"0x100058820","value":"objc_stub::faceTrackProgress"},{"address":"0x100058840","value":"objc_stub::faceTrackRevision"},{"address":"0x100058860","value":"objc_stub::faceTrackSeedTimeSeconds"},{"address":"0x100058880","value":"objc_stub::faceTrackStatus"},{"address":"0x1000588a0","value":"objc_stub::faceTrackTarget1Data"},{"address":"0x1000588c0","value":"objc_stub::faceTrackTarget1FrameCount"},{"address":"0x1000588e0","value":"objc_stub::faceTrackTarget1HasSelection"},{"address":"0x100058900","value":"objc_stub::faceTrackTarget1HasSelectionBox"},{"address":"0x100058920","value":"objc_stub::faceTrackTarget1Progress"},{"address":"0x100058940","value":"objc_stub::faceTrackTarget1Revision"},{"address":"0x100058960","value":"objc_stub::faceTrackTarget1SeedTimeSeconds"},{"address":"0x100058980","value":"objc_stub::faceTrackTarget1SelectionBoxH"},{"address":"0x1000589a0","value":"objc_stub::faceTrackTarget1SelectionBoxW"},{"address":"0x1000589c0","value":"objc_stub::faceTrackTarget1SelectionBoxX"},{"address":"0x1000589e0","value":"objc_stub::faceTrackTarget1SelectionBoxY"},{"address":"0x100058a00","value":"objc_stub::faceTrackTarget1SelectionX"},{"address":"0x100058a20","value":"objc_stub::faceTrackTarget1SelectionY"},{"address":"0x100058a40","value":"objc_stub::faceTrackTarget1Status"},{"address":"0x100058a60","value":"objc_stub::faceTrackTarget2Data"},{"address":"0x100058a80","value":"objc_stub::faceTrackTarget2FrameCount"},{"address":"0x100058aa0","value":"objc_stub::faceTrackTarget2HasSelection"},{"address":"0x100058ac0","value":"objc_stub::faceTrackTarget2HasSelectionBox"},{"address":"0x100058ae0","value":"objc_stub::faceTrackTarget2Progress"},{"address":"0x100058b00","value":"objc_stub::faceTrackTarget2Revision"},{"address":"0x100058b20","value":"objc_stub::faceTrackTarget2SeedTimeSeconds"},{"address":"0x100058b40","value":"objc_stub::faceTrackTarget2SelectionBoxH"},{"address":"0x100058b60","value":"objc_stub::faceTrackTarget2SelectionBoxW"},{"address":"0x100058b80","value":"objc_stub::faceTrackTarget2SelectionBoxX"},{"address":"0x100058ba0","value":"objc_stub::faceTrackTarget2SelectionBoxY"},{"address":"0x100058bc0","value":"objc_stub::faceTrackTarget2SelectionX"},{"address":"0x100058be0","value":"objc_stub::faceTrackTarget2SelectionY"},{"address":"0x100058c00","value":"objc_stub::faceTrackTarget2Status"},{"address":"0x100058c20","value":"objc_stub::faceTrackTarget3Data"},{"address":"0x100058c40","value":"objc_stub::faceTrackTarget3FrameCount"},{"address":"0x100058c60","value":"objc_stub::faceTrackTarget3HasSelection"},{"address":"0x100058c80","value":"objc_stub::faceTrackTarget3HasSelectionBox"},{"address":"0x100058ca0","value":"objc_stub::faceTrackTarget3Progress"},{"address":"0x100058cc0","value":"objc_stub::faceTrackTarget3Revision"},{"address":"0x100058ce0","value":"objc_stub::faceTrackTarget3SeedTimeSeconds"},{"address":"0x100058d00","value":"objc_stub::faceTrackTarget3SelectionBoxH"},{"address":"0x100058d20","value":"objc_stub::faceTrackTarget3SelectionBoxW"},{"address":"0x100058d40","value":"objc_stub::faceTrackTarget3SelectionBoxX"},{"address":"0x100058d60","value":"objc_stub::faceTrackTarget3SelectionBoxY"},{"address":"0x100058d80","value":"objc_stub::faceTrackTarget3SelectionX"},{"address":"0x100058da0","value":"objc_stub::faceTrackTarget3SelectionY"},{"address":"0x100058dc0","value":"objc_stub::faceTrackTarget3Status"},{"address":"0x100058de0","value":"objc_stub::faceTrackTargetCount"},{"address":"0x100058e00","value":"objc_stub::faceTrackTargetPageStartIndex"},{"address":"0x100058e20","value":"objc_stub::faceTrackTargets"},{"address":"0x100058e40","value":"objc_stub::faceV"},{"address":"0x100058e60","value":"objc_stub::faceVEnabled"},{"address":"0x100058e80","value":"objc_stub::fastMultiFaceMode"},{"address":"0x100059360","value":"objc_stub::imageWithIOSurface:options:"},{"address":"0x100059560","value":"objc_stub::initWithInteger:"},{"address":"0x100059660","value":"objc_stub::inputGlobalSmoothingMaskImage"},{"address":"0x100059740","value":"objc_stub::inputLocalSmoothingMaskImage"},{"address":"0x100059a20","value":"objc_stub::ioSurface"},{"address":"0x100059b40","value":"objc_stub::landmarks"},{"address":"0x100059ee0","value":"objc_stub::mss_clearRewindFaceReferences"},{"address":"0x100059f00","value":"objc_stub::mss_faceThinRememberedPointsForBox:renderTime:source:"},{"address":"0x100059f20","value":"objc_stub::mss_faceThinRenderTimeCanUpdateMemory:"},{"address":"0x100059fa0","value":"objc_stub::mss_rememberFaceThinPointSets:boxes:renderTime:source:"},{"address":"0x100059fc0","value":"objc_stub::mss_rememberFaceThinPoints:forBox:renderTime:source:"},{"address":"0x100059fe0","value":"objc_stub::mss_requestFaceTrackAnalysisWithPanelValue:apiManager:"},{"address":"0x10005a000","value":"objc_stub::mss_rewindFaceReferenceForRenderTime:allowCurrentTime:pointsOut:boxOut:timeOut:"},{"address":"0x10005a020","value":"objc_stub::mss_startFaceTrackAnalysisDirection:apiManager:"},{"address":"0x10005a040","value":"objc_stub::mss_startFaceTrackAnalysisFromHostButtonAppendingTarget:"},{"address":"0x10005a060","value":"objc_stub::mss_storeRewindFaceReferencePoints:forBox:renderTime:"},{"address":"0x10005a080","value":"objc_stub::mss_syncCompletedFaceTrackCacheFromPanelValue:"},{"address":"0x10005a0a0","value":"objc_stub::mss_timeLocalFaceReferenceForRenderTime:allowCurrentTime:pointsOut:boxOut:detectionTimeOut:outputTimeOut:usedHistoryOut:"},{"address":"0x10005a0c0","value":"objc_stub::mss_timeLocalFaceReferenceForRenderTime:pointsOut:boxOut:detectionTimeOut:outputTimeOut:usedHistoryOut:"},{"address":"0x10005a200","value":"objc_stub::newTextureWithDescriptor:iosurface:plane:"},{"address":"0x10005a320","value":"objc_stub::numberWithInt:"},{"address":"0x10005a340","value":"objc_stub::numberWithInteger:"},{"address":"0x10005a580","value":"objc_stub::pageFaceTrackTargetsWithDirection:"},{"address":"0x10005a920","value":"objc_stub::render:toIOSurface:bounds:colorSpace:"},{"address":"0x10005aa00","value":"objc_stub::requestAdditionalFaceTrackTarget"},{"address":"0x10005aa20","value":"objc_stub::requestFaceTrackAnalysisForTargetIndex:"},{"address":"0x10005aa40","value":"objc_stub::resetFaceTrackTargetAtIndex:"},{"address":"0x10005ac00","value":"objc_stub::selectFaceTrackTargetAtIndex:"},{"address":"0x10005b060","value":"objc_stub::setFaceBigEye:"},{"address":"0x10005b080","value":"objc_stub::setFaceBigEyeEnabled:"},{"address":"0x10005b0a0","value":"objc_stub::setFaceCheekbone:"},{"address":"0x10005b0c0","value":"objc_stub::setFaceCheekboneEnabled:"},{"address":"0x10005b0e0","value":"objc_stub::setFaceChin:"},{"address":"0x10005b100","value":"objc_stub::setFaceChinEnabled:"},{"address":"0x10005b120","value":"objc_stub::setFaceJaw:"},{"address":"0x10005b140","value":"objc_stub::setFaceJawEnabled:"},{"address":"0x10005b160","value":"objc_stub::setFaceJumpGuardRange:"},{"address":"0x10005b180","value":"objc_stub::setFaceNarrow:"},{"address":"0x10005b1a0","value":"objc_stub::setFaceNarrowEnabled:"},{"address":"0x10005b1c0","value":"objc_stub::setFaceSelectionRevision:"},{"address":"0x10005b1e0","value":"objc_stub::setFaceSelectionX:"},{"address":"0x10005b200","value":"objc_stub::setFaceSelectionY:"},{"address":"0x10005b220","value":"objc_stub::setFaceShort:"},{"address":"0x10005b240","value":"objc_stub::setFaceShortEnabled:"},{"address":"0x10005b260","value":"objc_stub::setFaceSingleSelection:"},{"address":"0x10005b280","value":"objc_stub::setFaceSingleSelectionEnabled:"},{"address":"0x10005b2a0","value":"objc_stub::setFaceSmallHead:"},{"address":"0x10005b2c0","value":"objc_stub::setFaceSmallHeadEnabled:"},{"address":"0x10005b2e0","value":"objc_stub::setFaceSmallHeadRange:"},{"address":"0x10005b300","value":"objc_stub::setFaceSmallHeadRangeEnabled:"},{"address":"0x10005b320","value":"objc_stub::setFaceThin:"},{"address":"0x10005b340","value":"objc_stub::setFaceThinEnabled:"},{"address":"0x10005b360","value":"objc_stub::setFaceTrackActiveTargetIndex:"},{"address":"0x10005b380","value":"objc_stub::setFaceTrackAnalysisTargetIndex:"},{"address":"0x10005b3a0","value":"objc_stub::setFaceTrackAppendMode:"},{"address":"0x10005b3c0","value":"objc_stub::setFaceTrackData:"},{"address":"0x10005b3e0","value":"objc_stub::setFaceTrackEnabled:"},{"address":"0x10005b400","value":"objc_stub::setFaceTrackFrameCount:"},{"address":"0x10005b420","value":"objc_stub::setFaceTrackProgress:"},{"address":"0x10005b440","value":"objc_stub::setFaceTrackRevision:"},{"address":"0x10005b460","value":"objc_stub::setFaceTrackSeedTimeSeconds:"},{"address":"0x10005b480","value":"objc_stub::setFaceTrackStatus:"},{"address":"0x10005b4a0","value":"objc_stub::setFaceTrackTarget1Data:"},{"address":"0x10005b4c0","value":"objc_stub::setFaceTrackTarget1FrameCount:"},{"address":"0x10005b4e0","value":"objc_stub::setFaceTrackTarget1HasSelection:"},{"address":"0x10005b500","value":"objc_stub::setFaceTrackTarget1HasSelectionBox:"},{"address":"0x10005b520","value":"objc_stub::setFaceTrackTarget1Progress:"},{"address":"0x10005b540","value":"objc_stub::setFaceTrackTarget1Revision:"},{"address":"0x10005b560","value":"objc_stub::setFaceTrackTarget1SeedTimeSeconds:"},{"address":"0x10005b580","value":"objc_stub::setFaceTrackTarget1SelectionBoxH:"},{"address":"0x10005b5a0","value":"objc_stub::setFaceTrackTarget1SelectionBoxW:"},{"address":"0x10005b5c0","value":"objc_stub::setFaceTrackTarget1SelectionBoxX:"},{"address":"0x10005b5e0","value":"objc_stub::setFaceTrackTarget1SelectionBoxY:"},{"address":"0x10005b600","value":"objc_stub::setFaceTrackTarget1SelectionX:"},{"address":"0x10005b620","value":"objc_stub::setFaceTrackTarget1SelectionY:"},{"address":"0x10005b640","value":"objc_stub::setFaceTrackTarget1Status:"},{"address":"0x10005b660","value":"objc_stub::setFaceTrackTarget2Data:"},{"address":"0x10005b680","value":"objc_stub::setFaceTrackTarget2FrameCount:"},{"address":"0x10005b6a0","value":"objc_stub::setFaceTrackTarget2HasSelection:"},{"address":"0x10005b6c0","value":"objc_stub::setFaceTrackTarget2HasSelectionBox:"},{"address":"0x10005b6e0","value":"objc_stub::setFaceTrackTarget2Progress:"},{"address":"0x10005b700","value":"objc_stub::setFaceTrackTarget2Revision:"},{"address":"0x10005b720","value":"objc_stub::setFaceTrackTarget2SeedTimeSeconds:"},{"address":"0x10005b740","value":"objc_stub::setFaceTrackTarget2SelectionBoxH:"},{"address":"0x10005b760","value":"objc_stub::setFaceTrackTarget2SelectionBoxW:"},{"address":"0x10005b780","value":"objc_stub::setFaceTrackTarget2SelectionBoxX:"},{"address":"0x10005b7a0","value":"objc_stub::setFaceTrackTarget2SelectionBoxY:"},{"address":"0x10005b7c0","value":"objc_stub::setFaceTrackTarget2SelectionX:"},{"address":"0x10005b7e0","value":"objc_stub::setFaceTrackTarget2SelectionY:"},{"address":"0x10005b800","value":"objc_stub::setFaceTrackTarget2Status:"},{"address":"0x10005b820","value":"objc_stub::setFaceTrackTarget3Data:"},{"address":"0x10005b840","value":"objc_stub::setFaceTrackTarget3FrameCount:"},{"address":"0x10005b860","value":"objc_stub::setFaceTrackTarget3HasSelection:"},{"address":"0x10005b880","value":"objc_stub::setFaceTrackTarget3HasSelectionBox:"},{"address":"0x10005b8a0","value":"objc_stub::setFaceTrackTarget3Progress:"},{"address":"0x10005b8c0","value":"objc_stub::setFaceTrackTarget3Revision:"},{"address":"0x10005b8e0","value":"objc_stub::setFaceTrackTarget3SeedTimeSeconds:"},{"address":"0x10005b900","value":"objc_stub::setFaceTrackTarget3SelectionBoxH:"},{"address":"0x10005b920","value":"objc_stub::setFaceTrackTarget3SelectionBoxW:"},{"address":"0x10005b940","value":"objc_stub::setFaceTrackTarget3SelectionBoxX:"},{"address":"0x10005b960","value":"objc_stub::setFaceTrackTarget3SelectionBoxY:"},{"address":"0x10005b980","value":"objc_stub::setFaceTrackTarget3SelectionX:"},{"address":"0x10005b9a0","value":"objc_stub::setFaceTrackTarget3SelectionY:"},{"address":"0x10005b9c0","value":"objc_stub::setFaceTrackTarget3Status:"},{"address":"0x10005b9e0","value":"objc_stub::setFaceTrackTargetCount:"},{"address":"0x10005ba00","value":"objc_stub::setFaceTrackTargetPageStartIndex:"},{"address":"0x10005ba20","value":"objc_stub::setFaceTrackTargets:"},{"address":"0x10005ba40","value":"objc_stub::setFaceV:"},{"address":"0x10005ba60","value":"objc_stub::setFaceVEnabled:"},{"address":"0x10005ba80","value":"objc_stub::setFastMultiFaceMode:"},{"address":"0x10005bd00","value":"objc_stub::setInputFaceObservations:"},{"address":"0x10005bd20","value":"objc_stub::setInputGlobalSmoothingMaskImage:"},{"address":"0x10005bde0","value":"objc_stub::setInputLocalSmoothingMaskImage:"},{"address":"0x10005c500","value":"objc_stub::setShowFaceBoxes:"},{"address":"0x10005c520","value":"objc_stub::setShowFaceBoxesEnabled:"},{"address":"0x10005c540","value":"objc_stub::setShowFaceTrackBox:"},{"address":"0x10005c560","value":"objc_stub::setShowFaceTrackBoxEnabled:"},{"address":"0x10005ca80","value":"objc_stub::showFaceBoxes"},{"address":"0x10005caa0","value":"objc_stub::showFaceBoxesEnabled"},{"address":"0x10005cac0","value":"objc_stub::showFaceTrackBox"},{"address":"0x10005cae0","value":"objc_stub::showFaceTrackBoxEnabled"},{"address":"0x10005d060","value":"objc_stub::temporalFacePointsForObservations:renderTime:params:selectedObservationOut:strengthMultiplierOut:pointsBoxOut:"},{"address":"0x1000a1f06","value":"CIImage::imageWithIOSurface:options:"},{"address":"0x1000a2201","value":"CIWarpKernel::kernelWithString:"},{"address":"0x1000a3b04","value":"NSFileManager::createDirectoryAtURL:withIntermediateDirectories:attributes:error:"},{"address":"0x1000a4802","value":"NSNumber::numberWithInteger:"},{"address":"0x1000a4804","value":"NSNumber::numberWithInt:"},{"address":"0x1000a5601","value":"VNDetectFaceLandmarksRequest::supportedRevisions"},{"address":"0x1000a5602","value":"VNDetectFaceLandmarksRequest::containsIndex:"},{"address":"0x1000a5603","value":"VNDetectFaceLandmarksRequest::revision:supportsConstellation:"},{"address":"0x1000a5701","value":"VNDetectFaceRectanglesRequest::supportedRevisions"},{"address":"0x1000a5702","value":"VNDetectFaceRectanglesRequest::containsIndex:"},{"address":"0x1000a5901","value":"VNFaceObservation::faceObservationWithRequestRevision:boundingBox:roll:yaw:pitch:"},{"address":"0x1000a5902","value":"VNFaceObservation::faceObservationWithRequestRevision:boundingBox:roll:yaw:"}],"subject":{"architecture":"arm64","digest":{"sha256":"f01e8c0b7e2676b2961950b0e48efdd2589af218e4b36de7d39f5d1c76852bfb"},"format":"mach-o","local_path":"/private/tmp/paintfcp-rea.b3j9Te/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_78cdb07e8fc387ea8fc9bb51c86e69ea194cfa498a7f53c3276ac1a7df813c43","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":"\nbyte FUN_100023e00(double param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4,\n double param_5,undefined8 param_6,undefined8 param_7,undefined8 param_8,\n undefined8 param_9,ulong param_10,double *param_11,double *param_12,\n double *param_13)\n\n{\n uint uVar1;\n double dVar2;\n bool bVar3;\n bool bVar4;\n bool bVar5;\n uint uVar6;\n uint uVar7;\n double dVar8;\n double dVar9;\n double dVar10;\n double dVar11;\n double dVar12;\n double dVar13;\n undefined8 uVar14;\n undefined8 uVar15;\n undefined8 uVar16;\n undefined8 uVar17;\n undefined8 uVar18;\n undefined8 uVar19;\n double dVar20;\n double local_b0;\n double local_a8;\n double local_a0;\n double dStack_98;\n double local_90;\n double local_88;\n \n dStack_98 = *(double *)(PTR__CGPointZero_100078108 + 8);\n local_a0 = *(double *)PTR__CGPointZero_100078108;\n local_b0 = 0.0;\n local_a8 = 0.0;\n local_90 = local_a0;\n local_88 = dStack_98;\n FUN_10003b62c(param_9,&local_90,&local_a8);\n FUN_10003b62c(param_10,&local_a0,&local_b0);\n uVar7 = (uint)param_9;\n uVar6 = (uint)param_10;\n if (uVar7 != 0) {\n uVar1 = 0;\n if (2.220446049250313e-16 < local_a8) {\n uVar1 = uVar6;\n }\n bVar3 = false;\n bVar4 = true;\n bVar5 = false;\n if (uVar1 == 1) {\n bVar3 = false;\n bVar4 = false;\n bVar5 = true;\n if (!NAN(local_b0)) {\n bVar3 = local_b0 < 2.220446049250313e-16;\n bVar4 = local_b0 == 2.220446049250313e-16;\n bVar5 = false;\n }\n }\n if (!bVar4 && bVar3 == bVar5) {\n dVar20 = (local_88 * dStack_98 + local_a0 * local_90) / (local_a8 * local_b0);\n dVar8 = 1.0;\n if (dVar20 <= 1.0) {\n dVar8 = dVar20;\n }\n dVar2 = -1.0;\n if (-1.0 <= dVar20) {\n dVar2 = dVar8;\n }\n goto joined_r0x000100023ec4;\n }\n }\n dVar2 = NAN;\njoined_r0x000100023ec4:\n if (param_11 != (double *)0x0) {\n dVar8 = local_88;\n if (uVar7 == 0) {\n dVar8 = NAN;\n }\n *param_11 = dVar8;\n }\n if (param_12 != (double *)0x0) {\n dVar8 = dStack_98;\n if (uVar6 == 0) {\n dVar8 = NAN;\n }\n *param_12 = dVar8;\n }\n if (param_13 != (double *)0x0) {\n *param_13 = dVar2;\n }\n if ((((((uVar7 & uVar6) == 1) &&\n (_CGRectIsNull(param_1,param_2,param_3,param_4), (param_10 & 1) == 0)) &&\n (_CGRectIsEmpty(param_1,param_2,param_3,param_4), (param_10 & 1) == 0)) &&\n ((dVar8 = param_1, _CGRectGetWidth(param_1,param_2,param_3,param_4),\n 2.220446049250313e-16 < dVar8 &&\n (dVar8 = param_1, _CGRectGetHeight(param_1,param_2,param_3,param_4),\n 2.220446049250313e-16 < dVar8)))) &&\n (((_CGRectIsNull(param_5,param_6,param_7,param_8), (param_10 & 1) == 0 &&\n ((_CGRectIsEmpty(param_5,param_6,param_7,param_8), (param_10 & 1) == 0 &&\n (dVar8 = param_5, _CGRectGetWidth(param_5,param_6,param_7,param_8),\n 2.220446049250313e-16 < dVar8)))) &&\n (dVar8 = param_5, _CGRectGetHeight(param_5,param_6,param_7,param_8),\n 2.220446049250313e-16 < dVar8)))) {\n dVar8 = param_1;\n uVar14 = param_2;\n uVar16 = param_3;\n uVar18 = param_4;\n _CGRectStandardize();\n _CGRectIntersection();\n dVar20 = param_5;\n uVar15 = param_6;\n uVar17 = param_7;\n uVar19 = param_8;\n _CGRectStandardize();\n _CGRectIntersection();\n _CGRectIsNull(dVar8,uVar14,uVar16,uVar18);\n if (((((param_10 & 1) == 0) && (_CGRectIsEmpty(dVar8,uVar14,uVar16,uVar18), (param_10 & 1) == 0)\n ) && (dVar9 = dVar8, _CGRectGetWidth(dVar8,uVar14,uVar16,uVar18),\n 2.220446049250313e-16 < dVar9)) &&\n (((dVar9 = dVar8, _CGRectGetHeight(dVar8,uVar14,uVar16,uVar18), 2.220446049250313e-16 < dVar9\n && (_CGRectIsNull(dVar20,uVar15,uVar17,uVar19), (param_10 & 1) == 0)) &&\n ((_CGRectIsEmpty(dVar20,uVar15,uVar17,uVar19), (param_10 & 1) == 0 &&\n ((dVar9 = dVar20, _CGRectGetWidth(dVar20,uVar15,uVar17,uVar19),\n 2.220446049250313e-16 < dVar9 &&\n (dVar9 = dVar20, _CGRectGetHeight(dVar20,uVar15,uVar17,uVar19),\n 2.220446049250313e-16 < dVar9)))))))) {\n dVar9 = dVar8;\n FUN_100017578(dVar8,uVar14,uVar16,uVar18,dVar20,uVar15,uVar17,uVar19);\n dVar10 = dVar8;\n _CGRectGetMidX(dVar8,uVar14,uVar16,uVar18);\n _CGRectGetMidY(dVar8,uVar14,uVar16,uVar18);\n dVar11 = dVar20;\n _CGRectGetMidX(dVar20,uVar15,uVar17,uVar19);\n dVar12 = dVar20;\n _CGRectGetMidY(dVar20,uVar15,uVar17,uVar19);\n dVar13 = dVar20;\n _CGRectGetWidth(dVar20,uVar15,uVar17,uVar19);\n _CGRectGetHeight(dVar20,uVar15,uVar17,uVar19);\n if (dVar20 <= dVar13) {\n dVar20 = dVar13;\n }\n if (dVar9 < 0.08) {\n dVar9 = dVar20 * 0.82;\n if (dVar20 * 0.82 <= 0.04) {\n dVar9 = 0.04;\n }\n if (dVar9 < SQRT((dVar8 - dVar12) * (dVar8 - dVar12) + (dVar10 - dVar11) * (dVar10 - dVar11)\n )) {\n return 0;\n }\n }\n _CGRectGetHeight(param_1,param_2,param_3,param_4);\n _CGRectGetHeight(param_5,param_6,param_7,param_8);\n if (param_5 <= param_1) {\n param_1 = param_5;\n }\n dVar8 = param_1 * 0.055;\n if (param_1 * 0.055 <= 0.003) {\n dVar8 = 0.003;\n }\n if (dVar8 <= local_a8) {\n if (dVar8 <= local_b0) {\n if ((0.0 <= local_88 * dStack_98) || (dVar20 = dVar8 * 0.35, ABS(local_88) < dVar20)) {\n bVar4 = false;\n bVar3 = dVar2 <= -0.18;\n }\n else {\n bVar4 = dVar20 <= ABS(dStack_98);\n bVar3 = dVar2 <= -0.18;\n if ((-0.18 < dVar2) && (dVar20 <= ABS(dStack_98))) {\n bVar3 = dVar8 <= ABS(local_88 - dStack_98);\n }\n }\n return bVar4 & bVar3;\n }\n return 0;\n }\n return 0;\n }\n }\n return 0;\n}\n\n","operation":"procedure_pseudo_code","parameters":{"procedure":"0x100023e00"},"predicate_type":"rea.analysis","provider":{"id":"ghidra","name":"Ghidra","version":"12.1.4"},"raw_result":{"limitations":[],"value":"\nbyte FUN_100023e00(double param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4,\n double param_5,undefined8 param_6,undefined8 param_7,undefined8 param_8,\n undefined8 param_9,ulong param_10,double *param_11,double *param_12,\n double *param_13)\n\n{\n uint uVar1;\n double dVar2;\n bool bVar3;\n bool bVar4;\n bool bVar5;\n uint uVar6;\n uint uVar7;\n double dVar8;\n double dVar9;\n double dVar10;\n double dVar11;\n double dVar12;\n double dVar13;\n undefined8 uVar14;\n undefined8 uVar15;\n undefined8 uVar16;\n undefined8 uVar17;\n undefined8 uVar18;\n undefined8 uVar19;\n double dVar20;\n double local_b0;\n double local_a8;\n double local_a0;\n double dStack_98;\n double local_90;\n double local_88;\n \n dStack_98 = *(double *)(PTR__CGPointZero_100078108 + 8);\n local_a0 = *(double *)PTR__CGPointZero_100078108;\n local_b0 = 0.0;\n local_a8 = 0.0;\n local_90 = local_a0;\n local_88 = dStack_98;\n FUN_10003b62c(param_9,&local_90,&local_a8);\n FUN_10003b62c(param_10,&local_a0,&local_b0);\n uVar7 = (uint)param_9;\n uVar6 = (uint)param_10;\n if (uVar7 != 0) {\n uVar1 = 0;\n if (2.220446049250313e-16 < local_a8) {\n uVar1 = uVar6;\n }\n bVar3 = false;\n bVar4 = true;\n bVar5 = false;\n if (uVar1 == 1) {\n bVar3 = false;\n bVar4 = false;\n bVar5 = true;\n if (!NAN(local_b0)) {\n bVar3 = local_b0 < 2.220446049250313e-16;\n bVar4 = local_b0 == 2.220446049250313e-16;\n bVar5 = false;\n }\n }\n if (!bVar4 && bVar3 == bVar5) {\n dVar20 = (local_88 * dStack_98 + local_a0 * local_90) / (local_a8 * local_b0);\n dVar8 = 1.0;\n if (dVar20 <= 1.0) {\n dVar8 = dVar20;\n }\n dVar2 = -1.0;\n if (-1.0 <= dVar20) {\n dVar2 = dVar8;\n }\n goto joined_r0x000100023ec4;\n }\n }\n dVar2 = NAN;\njoined_r0x000100023ec4:\n if (param_11 != (double *)0x0) {\n dVar8 = local_88;\n if (uVar7 == 0) {\n dVar8 = NAN;\n }\n *param_11 = dVar8;\n }\n if (param_12 != (double *)0x0) {\n dVar8 = dStack_98;\n if (uVar6 == 0) {\n dVar8 = NAN;\n }\n *param_12 = dVar8;\n }\n if (param_13 != (double *)0x0) {\n *param_13 = dVar2;\n }\n if ((((((uVar7 & uVar6) == 1) &&\n (_CGRectIsNull(param_1,param_2,param_3,param_4), (param_10 & 1) == 0)) &&\n (_CGRectIsEmpty(param_1,param_2,param_3,param_4), (param_10 & 1) == 0)) &&\n ((dVar8 = param_1, _CGRectGetWidth(param_1,param_2,param_3,param_4),\n 2.220446049250313e-16 < dVar8 &&\n (dVar8 = param_1, _CGRectGetHeight(param_1,param_2,param_3,param_4),\n 2.220446049250313e-16 < dVar8)))) &&\n (((_CGRectIsNull(param_5,param_6,param_7,param_8), (param_10 & 1) == 0 &&\n ((_CGRectIsEmpty(param_5,param_6,param_7,param_8), (param_10 & 1) == 0 &&\n (dVar8 = param_5, _CGRectGetWidth(param_5,param_6,param_7,param_8),\n 2.220446049250313e-16 < dVar8)))) &&\n (dVar8 = param_5, _CGRectGetHeight(param_5,param_6,param_7,param_8),\n 2.220446049250313e-16 < dVar8)))) {\n dVar8 = param_1;\n uVar14 = param_2;\n uVar16 = param_3;\n uVar18 = param_4;\n _CGRectStandardize();\n _CGRectIntersection();\n dVar20 = param_5;\n uVar15 = param_6;\n uVar17 = param_7;\n uVar19 = param_8;\n _CGRectStandardize();\n _CGRectIntersection();\n _CGRectIsNull(dVar8,uVar14,uVar16,uVar18);\n if (((((param_10 & 1) == 0) && (_CGRectIsEmpty(dVar8,uVar14,uVar16,uVar18), (param_10 & 1) == 0)\n ) && (dVar9 = dVar8, _CGRectGetWidth(dVar8,uVar14,uVar16,uVar18),\n 2.220446049250313e-16 < dVar9)) &&\n (((dVar9 = dVar8, _CGRectGetHeight(dVar8,uVar14,uVar16,uVar18), 2.220446049250313e-16 < dVar9\n && (_CGRectIsNull(dVar20,uVar15,uVar17,uVar19), (param_10 & 1) == 0)) &&\n ((_CGRectIsEmpty(dVar20,uVar15,uVar17,uVar19), (param_10 & 1) == 0 &&\n ((dVar9 = dVar20, _CGRectGetWidth(dVar20,uVar15,uVar17,uVar19),\n 2.220446049250313e-16 < dVar9 &&\n (dVar9 = dVar20, _CGRectGetHeight(dVar20,uVar15,uVar17,uVar19),\n 2.220446049250313e-16 < dVar9)))))))) {\n dVar9 = dVar8;\n FUN_100017578(dVar8,uVar14,uVar16,uVar18,dVar20,uVar15,uVar17,uVar19);\n dVar10 = dVar8;\n _CGRectGetMidX(dVar8,uVar14,uVar16,uVar18);\n _CGRectGetMidY(dVar8,uVar14,uVar16,uVar18);\n dVar11 = dVar20;\n _CGRectGetMidX(dVar20,uVar15,uVar17,uVar19);\n dVar12 = dVar20;\n _CGRectGetMidY(dVar20,uVar15,uVar17,uVar19);\n dVar13 = dVar20;\n _CGRectGetWidth(dVar20,uVar15,uVar17,uVar19);\n _CGRectGetHeight(dVar20,uVar15,uVar17,uVar19);\n if (dVar20 <= dVar13) {\n dVar20 = dVar13;\n }\n if (dVar9 < 0.08) {\n dVar9 = dVar20 * 0.82;\n if (dVar20 * 0.82 <= 0.04) {\n dVar9 = 0.04;\n }\n if (dVar9 < SQRT((dVar8 - dVar12) * (dVar8 - dVar12) + (dVar10 - dVar11) * (dVar10 - dVar11)\n )) {\n return 0;\n }\n }\n _CGRectGetHeight(param_1,param_2,param_3,param_4);\n _CGRectGetHeight(param_5,param_6,param_7,param_8);\n if (param_5 <= param_1) {\n param_1 = param_5;\n }\n dVar8 = param_1 * 0.055;\n if (param_1 * 0.055 <= 0.003) {\n dVar8 = 0.003;\n }\n if (dVar8 <= local_a8) {\n if (dVar8 <= local_b0) {\n if ((0.0 <= local_88 * dStack_98) || (dVar20 = dVar8 * 0.35, ABS(local_88) < dVar20)) {\n bVar4 = false;\n bVar3 = dVar2 <= -0.18;\n }\n else {\n bVar4 = dVar20 <= ABS(dStack_98);\n bVar3 = dVar2 <= -0.18;\n if ((-0.18 < dVar2) && (dVar20 <= ABS(dStack_98))) {\n bVar3 = dVar8 <= ABS(local_88 - dStack_98);\n }\n }\n return bVar4 & bVar3;\n }\n return 0;\n }\n return 0;\n }\n }\n return 0;\n}\n\n"},"subject":{"architecture":"arm64","digest":{"sha256":"f01e8c0b7e2676b2961950b0e48efdd2589af218e4b36de7d39f5d1c76852bfb"},"format":"mach-o","local_path":"/private/tmp/paintfcp-rea.b3j9Te/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_7d2cc9ff3bf8ed3ceea2d91ffb7c2c47ad45337a792f101c1d989272f37023b1","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 0x1000283a8 to 0x100055794 ___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":"\nbool FUN_10002807c(ID param_1,SEL param_2,ID param_3,ID param_4,undefined8 param_5,\n undefined8 param_6,long param_7,ulong param_8,long param_9,int param_10,\n undefined4 param_11,undefined8 *param_12)\n\n{\n int iVar1;\n undefined8 *puVar2;\n bool bVar3;\n bool bVar4;\n ID IVar5;\n ID IVar6;\n ID IVar7;\n ID IVar8;\n ID IVar9;\n byte bVar10;\n undefined8 local_f0;\n undefined8 uStack_e8;\n double local_e0;\n double dStack_d8;\n undefined8 local_d0;\n undefined8 uStack_c8;\n undefined8 local_c0;\n undefined1 local_b4 [4];\n undefined1 auStack_b0 [64];\n long local_70;\n \n iVar1 = param_10;\n local_70 = *(long *)PTR____stack_chk_guard_1000780b8;\n bVar4 = FUN_10001a8c0(param_1,param_2);\n puVar2 = param_12;\n if (bVar4 != 0) {\n bVar3 = false;\n if (((((param_1 == 0) || (param_2 == (SEL)0x0)) || (param_4 == 0)) ||\n ((param_7 == 0 || (param_9 == 0)))) ||\n ((bVar3 = false, param_8 < (ulong)(param_9 << 3) || (iVar1 < 1)))) goto LAB_100028154;\n bVar10 = NEON_umaxv(CONCAT17(-(1.1920929e-07 < ABS((float)((ulong)param_12[3] >> 0x20))),\n CONCAT16(-(1.1920929e-07 < ABS((float)param_12[3])),\n CONCAT15(-(1.1920929e-07 <\n ABS((float)((ulong)param_12[2] >> 0x20))),\n CONCAT14(-(1.1920929e-07 <\n ABS((float)param_12[2])),\n CONCAT13(-(1.1920929e-07 <\n ABS((float)((ulong)param_12[1]\n >> 0x20))),\n CONCAT12(-(1.1920929e-07 <\n ABS((float)param_12[1\n ])),CONCAT11(-(1.1920929e-07 <\n ABS((float)((ulong)*param_12 >> 0x20\n ))),\n -(1.1920929e-07 <\n ABS((float)*param_12))))))))),1);\n if (((bVar10 & 1) != 0) || (1.1920929e-07 < ABS(*(float *)((long)param_12 + 0x24)))) {\n IVar5 = objc_stub::width((ID)param_2);\n IVar6 = objc_stub::height((ID)param_2);\n bVar3 = false;\n if ((IVar5 == 0) || (IVar6 == 0)) goto LAB_100028154;\n IVar5 = objc_stub::faceThinPipelineStateWithRegistryID_pixelFormat_(param_4,param_5,param_6);\n if (IVar5 != 0) {\n IVar6 = objc_stub::width(param_3);\n IVar7 = objc_stub::height(param_3);\n FUN_10003be74(auStack_b0,IVar6,IVar7);\n IVar6 = objc_stub::width(param_3);\n IVar7 = objc_stub::height(param_3);\n local_c0 = CONCAT17((char)(IVar7 >> 0x18),\n CONCAT16((char)(IVar7 >> 0x10),\n CONCAT15((char)(IVar7 >> 8),CONCAT14((char)IVar7,(int)IVar6))))\n ;\n IVar6 = objc_stub::width(param_3);\n IVar7 = objc_stub::height(param_3);\n IVar8 = MTLRenderPassDescriptor::renderPassDescriptor\n ((ID)&_OBJC_CLASS___MTLRenderPassDescriptor);\n IVar9 = MTLRenderPassDescriptor::colorAttachments(IVar8);\n IVar9 = MTLRenderPassDescriptor::objectAtIndexedSubscript_(IVar9,0);\n MTLRenderPassDescriptor::setTexture_(IVar9,param_3);\n IVar9 = MTLRenderPassDescriptor::colorAttachments(IVar8);\n IVar9 = MTLRenderPassDescriptor::objectAtIndexedSubscript_(IVar9,0);\n MTLRenderPassDescriptor::setLoadAction_(IVar9,2);\n IVar9 = MTLRenderPassDescriptor::colorAttachments(IVar8);\n IVar9 = MTLRenderPassDescriptor::objectAtIndexedSubscript_(IVar9,0);\n MTLRenderPassDescriptor::setStoreAction_(IVar9,1);\n IVar9 = MTLRenderPassDescriptor::colorAttachments(IVar8);\n IVar9 = MTLRenderPassDescriptor::objectAtIndexedSubscript_(IVar9,0);\n MTLRenderPassDescriptor::setClearColor_(IVar9,0,0,0,0x3ff0000000000000);\n IVar8 = objc_stub::renderCommandEncoderWithDescriptor_(param_1,IVar8);\n bVar3 = IVar8 != 0;\n if (IVar8 != 0) {\n dStack_d8 = (double)IVar7;\n local_e0 = (double)IVar6;\n local_f0 = 0;\n uStack_e8 = 0;\n uStack_c8 = 0x3ff0000000000000;\n local_d0 = 0xbff0000000000000;\n objc_stub::setViewport_(IVar8,&local_f0);\n objc_stub::setRenderPipelineState_(IVar8,IVar5);\n objc_stub::setVertexBytes_length_atIndex_(IVar8,auStack_b0,0x40,0);\n objc_stub::setVertexBytes_length_atIndex_(IVar8,&local_c0,8,1);\n objc_stub::setFragmentTexture_atIndex_(IVar8,param_2,0);\n objc_stub::setFragmentBytes_length_atIndex_(IVar8,param_7,param_8,0);\n objc_stub::setFragmentBytes_length_atIndex_(IVar8,¶m_10,4,1);\n objc_stub::setFragmentBytes_length_atIndex_(IVar8,local_b4,4,2);\n objc_stub::setFragmentBytes_length_atIndex_(IVar8,&stack0x00000018,4,4);\n objc_stub::setFragmentBytes_length_atIndex_(IVar8,puVar2,0x28,7);\n objc_stub::drawPrimitives_vertexStart_vertexCount_(IVar8,4,0,4);\n objc_stub::endEncoding(IVar8);\n }\n goto LAB_100028154;\n }\n }\n }\n bVar3 = false;\nLAB_100028154:\n if (*(long *)PTR____stack_chk_guard_1000780b8 == local_70) {\n return bVar3;\n }\n /* WARNING: Subroutine does not return */\n ___stack_chk_fail();\n}\n\n","operation":"procedure_pseudo_code","parameters":{"procedure":"0x10002807c"},"predicate_type":"rea.analysis","provider":{"id":"ghidra","name":"Ghidra","version":"12.1.4"},"raw_result":{"limitations":["Ghidra Listing reports a terminal call at 0x1000283a8 to 0x100055794 ___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":"\nbool FUN_10002807c(ID param_1,SEL param_2,ID param_3,ID param_4,undefined8 param_5,\n undefined8 param_6,long param_7,ulong param_8,long param_9,int param_10,\n undefined4 param_11,undefined8 *param_12)\n\n{\n int iVar1;\n undefined8 *puVar2;\n bool bVar3;\n bool bVar4;\n ID IVar5;\n ID IVar6;\n ID IVar7;\n ID IVar8;\n ID IVar9;\n byte bVar10;\n undefined8 local_f0;\n undefined8 uStack_e8;\n double local_e0;\n double dStack_d8;\n undefined8 local_d0;\n undefined8 uStack_c8;\n undefined8 local_c0;\n undefined1 local_b4 [4];\n undefined1 auStack_b0 [64];\n long local_70;\n \n iVar1 = param_10;\n local_70 = *(long *)PTR____stack_chk_guard_1000780b8;\n bVar4 = FUN_10001a8c0(param_1,param_2);\n puVar2 = param_12;\n if (bVar4 != 0) {\n bVar3 = false;\n if (((((param_1 == 0) || (param_2 == (SEL)0x0)) || (param_4 == 0)) ||\n ((param_7 == 0 || (param_9 == 0)))) ||\n ((bVar3 = false, param_8 < (ulong)(param_9 << 3) || (iVar1 < 1)))) goto LAB_100028154;\n bVar10 = NEON_umaxv(CONCAT17(-(1.1920929e-07 < ABS((float)((ulong)param_12[3] >> 0x20))),\n CONCAT16(-(1.1920929e-07 < ABS((float)param_12[3])),\n CONCAT15(-(1.1920929e-07 <\n ABS((float)((ulong)param_12[2] >> 0x20))),\n CONCAT14(-(1.1920929e-07 <\n ABS((float)param_12[2])),\n CONCAT13(-(1.1920929e-07 <\n ABS((float)((ulong)param_12[1]\n >> 0x20))),\n CONCAT12(-(1.1920929e-07 <\n ABS((float)param_12[1\n ])),CONCAT11(-(1.1920929e-07 <\n ABS((float)((ulong)*param_12 >> 0x20\n ))),\n -(1.1920929e-07 <\n ABS((float)*param_12))))))))),1);\n if (((bVar10 & 1) != 0) || (1.1920929e-07 < ABS(*(float *)((long)param_12 + 0x24)))) {\n IVar5 = objc_stub::width((ID)param_2);\n IVar6 = objc_stub::height((ID)param_2);\n bVar3 = false;\n if ((IVar5 == 0) || (IVar6 == 0)) goto LAB_100028154;\n IVar5 = objc_stub::faceThinPipelineStateWithRegistryID_pixelFormat_(param_4,param_5,param_6);\n if (IVar5 != 0) {\n IVar6 = objc_stub::width(param_3);\n IVar7 = objc_stub::height(param_3);\n FUN_10003be74(auStack_b0,IVar6,IVar7);\n IVar6 = objc_stub::width(param_3);\n IVar7 = objc_stub::height(param_3);\n local_c0 = CONCAT17((char)(IVar7 >> 0x18),\n CONCAT16((char)(IVar7 >> 0x10),\n CONCAT15((char)(IVar7 >> 8),CONCAT14((char)IVar7,(int)IVar6))))\n ;\n IVar6 = objc_stub::width(param_3);\n IVar7 = objc_stub::height(param_3);\n IVar8 = MTLRenderPassDescriptor::renderPassDescriptor\n ((ID)&_OBJC_CLASS___MTLRenderPassDescriptor);\n IVar9 = MTLRenderPassDescriptor::colorAttachments(IVar8);\n IVar9 = MTLRenderPassDescriptor::objectAtIndexedSubscript_(IVar9,0);\n MTLRenderPassDescriptor::setTexture_(IVar9,param_3);\n IVar9 = MTLRenderPassDescriptor::colorAttachments(IVar8);\n IVar9 = MTLRenderPassDescriptor::objectAtIndexedSubscript_(IVar9,0);\n MTLRenderPassDescriptor::setLoadAction_(IVar9,2);\n IVar9 = MTLRenderPassDescriptor::colorAttachments(IVar8);\n IVar9 = MTLRenderPassDescriptor::objectAtIndexedSubscript_(IVar9,0);\n MTLRenderPassDescriptor::setStoreAction_(IVar9,1);\n IVar9 = MTLRenderPassDescriptor::colorAttachments(IVar8);\n IVar9 = MTLRenderPassDescriptor::objectAtIndexedSubscript_(IVar9,0);\n MTLRenderPassDescriptor::setClearColor_(IVar9,0,0,0,0x3ff0000000000000);\n IVar8 = objc_stub::renderCommandEncoderWithDescriptor_(param_1,IVar8);\n bVar3 = IVar8 != 0;\n if (IVar8 != 0) {\n dStack_d8 = (double)IVar7;\n local_e0 = (double)IVar6;\n local_f0 = 0;\n uStack_e8 = 0;\n uStack_c8 = 0x3ff0000000000000;\n local_d0 = 0xbff0000000000000;\n objc_stub::setViewport_(IVar8,&local_f0);\n objc_stub::setRenderPipelineState_(IVar8,IVar5);\n objc_stub::setVertexBytes_length_atIndex_(IVar8,auStack_b0,0x40,0);\n objc_stub::setVertexBytes_length_atIndex_(IVar8,&local_c0,8,1);\n objc_stub::setFragmentTexture_atIndex_(IVar8,param_2,0);\n objc_stub::setFragmentBytes_length_atIndex_(IVar8,param_7,param_8,0);\n objc_stub::setFragmentBytes_length_atIndex_(IVar8,¶m_10,4,1);\n objc_stub::setFragmentBytes_length_atIndex_(IVar8,local_b4,4,2);\n objc_stub::setFragmentBytes_length_atIndex_(IVar8,&stack0x00000018,4,4);\n objc_stub::setFragmentBytes_length_atIndex_(IVar8,puVar2,0x28,7);\n objc_stub::drawPrimitives_vertexStart_vertexCount_(IVar8,4,0,4);\n objc_stub::endEncoding(IVar8);\n }\n goto LAB_100028154;\n }\n }\n }\n bVar3 = false;\nLAB_100028154:\n if (*(long *)PTR____stack_chk_guard_1000780b8 == local_70) {\n return bVar3;\n }\n /* WARNING: Subroutine does not return */\n ___stack_chk_fail();\n}\n\n"},"subject":{"architecture":"arm64","digest":{"sha256":"f01e8c0b7e2676b2961950b0e48efdd2589af218e4b36de7d39f5d1c76852bfb"},"format":"mach-o","local_path":"/private/tmp/paintfcp-rea.b3j9Te/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_805567abad13d21b56ebdc83f3b69e65c96bd3884382150c32c8239ba39e4b46","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":"\nuint FUN_100027bbc(void)\n\n{\n char *pcVar1;\n ID IVar2;\n uint uVar3;\n \n pcVar1 = _getenv(\"MSE18_LEGACY_FACE_THIN\");\n if ((pcVar1 == (char *)0x0) || (*pcVar1 == '\\0')) {\n uVar3 = 0;\n }\n else if (*pcVar1 == '0') {\n uVar3 = (uint)(pcVar1[1] != '\\0');\n }\n else {\n uVar3 = 1;\n }\n IVar2 = NSFileManager::defaultManager((ID)&_OBJC_CLASS___NSFileManager);\n IVar2 = NSFileManager::fileExistsAtPath_(IVar2,&cf__tmp_mse18_use_legacy_face_thin);\n return ((uVar3 | (uint)IVar2) ^ 0xffffffff) & 1;\n}\n\n","operation":"procedure_pseudo_code","parameters":{"procedure":"0x100027bbc"},"predicate_type":"rea.analysis","provider":{"id":"ghidra","name":"Ghidra","version":"12.1.4"},"raw_result":{"limitations":[],"value":"\nuint FUN_100027bbc(void)\n\n{\n char *pcVar1;\n ID IVar2;\n uint uVar3;\n \n pcVar1 = _getenv(\"MSE18_LEGACY_FACE_THIN\");\n if ((pcVar1 == (char *)0x0) || (*pcVar1 == '\\0')) {\n uVar3 = 0;\n }\n else if (*pcVar1 == '0') {\n uVar3 = (uint)(pcVar1[1] != '\\0');\n }\n else {\n uVar3 = 1;\n }\n IVar2 = NSFileManager::defaultManager((ID)&_OBJC_CLASS___NSFileManager);\n IVar2 = NSFileManager::fileExistsAtPath_(IVar2,&cf__tmp_mse18_use_legacy_face_thin);\n return ((uVar3 | (uint)IVar2) ^ 0xffffffff) & 1;\n}\n\n"},"subject":{"architecture":"arm64","digest":{"sha256":"f01e8c0b7e2676b2961950b0e48efdd2589af218e4b36de7d39f5d1c76852bfb"},"format":"mach-o","local_path":"/private/tmp/paintfcp-rea.b3j9Te/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_8a33a7bb27a1a966f9e4ee26380501f1cb009d7d4665ed93b73bd3f630436556","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_1000274d0(ID param_1)\n\n{\n undefined1 auVar1 [16];\n double dVar2;\n ulong uVar3;\n ID IVar4;\n ID self;\n ID self_00;\n uint uVar5;\n uint uVar6;\n uint uVar7;\n uint uVar8;\n long lVar9;\n ulong uVar10;\n long lVar11;\n long lVar12;\n long lVar13;\n double dVar14;\n double dVar15;\n double dVar16;\n double dVar17;\n ulong extraout_d0;\n ulong extraout_d0_00;\n double extraout_d0_01;\n double extraout_d0_02;\n double dVar18;\n double dVar19;\n double dVar20;\n undefined1 auVar21 [16];\n undefined1 auVar22 [16];\n undefined1 auVar23 [16];\n undefined1 auVar24 [16];\n undefined1 auVar25 [16];\n undefined8 in_d4;\n undefined8 in_d5;\n undefined8 in_d6;\n undefined8 in_d7;\n double local_108;\n double local_100;\n double local_f8;\n double local_f0;\n long local_e8;\n \n uVar3 = objc_stub::count(param_1);\n if (((((uVar3 < 0x4d) || (_CGRectIsNull(), (uVar3 & 1) != 0)) ||\n (_CGRectIsInfinite(), (uVar3 & 1) != 0)) ||\n ((_CGRectIsEmpty(), (uVar3 & 1) != 0 ||\n (_CGRectIsNull(in_d4,in_d5,in_d6,in_d7), (uVar3 & 1) != 0)))) ||\n ((_CGRectIsInfinite(in_d4,in_d5,in_d6,in_d7), (uVar3 & 1) != 0 ||\n (_CGRectIsEmpty(in_d4,in_d5,in_d6,in_d7), (uVar3 & 1) != 0)))) {\nLAB_1000275c0:\n IVar4 = 0;\n }\n else {\n dVar14 = (double)_CGRectGetWidth();\n dVar15 = (double)_CGRectGetHeight();\n dVar16 = (double)_CGRectGetWidth(in_d4,in_d5,in_d6,in_d7);\n dVar17 = (double)_CGRectGetHeight(in_d4,in_d5,in_d6,in_d7);\n IVar4 = 0;\n if (((((ulong)ABS(dVar14) < 0x7ff0000000000000) && ((ulong)ABS(dVar15) < 0x7ff0000000000000)) &&\n ((ulong)ABS(dVar16) < 0x7ff0000000000000)) &&\n ((((IVar4 = 0, (ulong)ABS(dVar17) < 0x7ff0000000000000 && (2.220446049250313e-16 < dVar14))\n && (2.220446049250313e-16 < dVar15)) &&\n ((2.220446049250313e-16 < dVar16 && (2.220446049250313e-16 < dVar17)))))) {\n self = NSMutableData::dataWithLength_((ID)&_OBJC_CLASS___NSMutableData,0x268);\n IVar4 = NSMutableData::mutableBytes(self);\n uVar10 = 0;\n local_e8 = 0;\n lVar13 = 0;\n lVar9 = 0;\n lVar12 = 0;\n lVar11 = 0;\n uVar3 = 0;\n auVar25 = NEON_fmov(0xbfe0000000000000,8);\n auVar24 = NEON_fmov(0x3ff8000000000000,8);\n local_100 = 1.7976931348623157e+308;\n local_f8 = 1.7976931348623157e+308;\n local_f0 = -1.7976931348623157e+308;\n local_108 = -1.7976931348623157e+308;\n do {\n self_00 = objc_stub::objectAtIndexedSubscript_(param_1,uVar3);\n if (self_00 == 0) {\n return 0;\n }\n objc_stub::X(self_00);\n if ((0x7fefffffffffffff < (extraout_d0 & 0x7fffffffffffffff)) ||\n (objc_stub::Y(self_00), 0x7fefffffffffffff < (extraout_d0_00 & 0x7fffffffffffffff)))\n goto LAB_1000275c0;\n objc_stub::X(self_00);\n objc_stub::Y(self_00);\n dVar18 = (double)_CGRectGetMinX();\n dVar19 = (double)_CGRectGetMinY();\n dVar20 = (double)_CGRectGetMinX(in_d4,in_d5,in_d6,in_d7);\n dVar18 = ((dVar18 + dVar14 * extraout_d0_01) - dVar20) / dVar16;\n dVar20 = (double)_CGRectGetMinY(in_d4,in_d5,in_d6,in_d7);\n dVar19 = ((dVar19 + dVar15 * extraout_d0_02) - dVar20) / dVar17;\n if (0x7fefffffffffffff < (ulong)ABS(dVar18)) {\n return 0;\n }\n if (0x7fefffffffffffff < (ulong)ABS(dVar19)) {\n return 0;\n }\n dVar19 = 1.0 - dVar19;\n uVar5 = (uint)(dVar18 < -0.35);\n if (1.35 < dVar18) {\n uVar5 = 1;\n }\n uVar6 = (uint)(dVar19 < -0.35);\n if (1.35 < dVar19) {\n uVar6 = 1;\n }\n if ((0x3a < uVar3) && (uVar3 != 0x4c)) {\n if (dVar18 <= local_f8) {\n local_f8 = dVar18;\n }\n dVar20 = dVar18;\n if (dVar18 <= local_f0) {\n dVar20 = local_f0;\n }\n if (dVar19 <= local_100) {\n local_100 = dVar19;\n }\n dVar2 = dVar19;\n if (dVar19 <= local_108) {\n dVar2 = local_108;\n }\n uVar7 = (uint)(dVar18 < -0.2);\n if (1.2 < dVar18) {\n uVar7 = 1;\n }\n uVar8 = (uint)(dVar19 < -0.2);\n if (1.2 < dVar19) {\n uVar8 = 1;\n }\n local_e8 = local_e8 + (ulong)(uVar7 | uVar8);\n if (dVar18 < 0.0) {\n lVar13 = lVar13 + 1;\n }\n if (1.0 < dVar18) {\n lVar9 = lVar9 + 1;\n }\n if (dVar19 < 0.0) {\n lVar12 = lVar12 + 1;\n }\n local_108 = dVar2;\n local_f0 = dVar20;\n if (1.0 < dVar19) {\n lVar11 = lVar11 + 1;\n }\n }\n uVar10 = uVar10 + (uVar5 | uVar6);\n auVar21._0_8_ = -(ulong)(dVar18 < auVar25._0_8_);\n auVar21._8_8_ = -(ulong)(dVar19 < auVar25._8_8_);\n auVar22._0_8_ = -(ulong)(auVar24._0_8_ < dVar18);\n auVar22._8_8_ = -(ulong)(auVar24._8_8_ < dVar19);\n auVar1._8_8_ = dVar19;\n auVar1._0_8_ = dVar18;\n auVar23._8_8_ = dVar19;\n auVar23._0_8_ = dVar18;\n auVar23 = auVar23 ^ (auVar1 ^ auVar24) & auVar22;\n auVar23 = auVar23 ^ (auVar23 ^ auVar25) & auVar21;\n *(ulong *)(IVar4 + uVar3 * 8) = CONCAT44((float)auVar23._8_8_,(float)auVar23._0_8_);\n uVar3 = uVar3 + 1;\n } while (uVar3 != 0x4d);\n dVar14 = (double)NEON_fminnm(local_f0 - local_f8,local_108 - local_100);\n IVar4 = 0;\n if (uVar10 < 0x38 &&\n (local_e8 < 0xd &&\n (lVar11 < 0x11 && (lVar12 < 0x11 && (0.005 <= dVar14 && (lVar13 < 0x11 && lVar9 < 0x11))))\n )) {\n IVar4 = self;\n }\n }\n }\n return IVar4;\n}\n\n","operation":"procedure_pseudo_code","parameters":{"procedure":"0x1000274d0"},"predicate_type":"rea.analysis","provider":{"id":"ghidra","name":"Ghidra","version":"12.1.4"},"raw_result":{"limitations":[],"value":"\nID FUN_1000274d0(ID param_1)\n\n{\n undefined1 auVar1 [16];\n double dVar2;\n ulong uVar3;\n ID IVar4;\n ID self;\n ID self_00;\n uint uVar5;\n uint uVar6;\n uint uVar7;\n uint uVar8;\n long lVar9;\n ulong uVar10;\n long lVar11;\n long lVar12;\n long lVar13;\n double dVar14;\n double dVar15;\n double dVar16;\n double dVar17;\n ulong extraout_d0;\n ulong extraout_d0_00;\n double extraout_d0_01;\n double extraout_d0_02;\n double dVar18;\n double dVar19;\n double dVar20;\n undefined1 auVar21 [16];\n undefined1 auVar22 [16];\n undefined1 auVar23 [16];\n undefined1 auVar24 [16];\n undefined1 auVar25 [16];\n undefined8 in_d4;\n undefined8 in_d5;\n undefined8 in_d6;\n undefined8 in_d7;\n double local_108;\n double local_100;\n double local_f8;\n double local_f0;\n long local_e8;\n \n uVar3 = objc_stub::count(param_1);\n if (((((uVar3 < 0x4d) || (_CGRectIsNull(), (uVar3 & 1) != 0)) ||\n (_CGRectIsInfinite(), (uVar3 & 1) != 0)) ||\n ((_CGRectIsEmpty(), (uVar3 & 1) != 0 ||\n (_CGRectIsNull(in_d4,in_d5,in_d6,in_d7), (uVar3 & 1) != 0)))) ||\n ((_CGRectIsInfinite(in_d4,in_d5,in_d6,in_d7), (uVar3 & 1) != 0 ||\n (_CGRectIsEmpty(in_d4,in_d5,in_d6,in_d7), (uVar3 & 1) != 0)))) {\nLAB_1000275c0:\n IVar4 = 0;\n }\n else {\n dVar14 = (double)_CGRectGetWidth();\n dVar15 = (double)_CGRectGetHeight();\n dVar16 = (double)_CGRectGetWidth(in_d4,in_d5,in_d6,in_d7);\n dVar17 = (double)_CGRectGetHeight(in_d4,in_d5,in_d6,in_d7);\n IVar4 = 0;\n if (((((ulong)ABS(dVar14) < 0x7ff0000000000000) && ((ulong)ABS(dVar15) < 0x7ff0000000000000)) &&\n ((ulong)ABS(dVar16) < 0x7ff0000000000000)) &&\n ((((IVar4 = 0, (ulong)ABS(dVar17) < 0x7ff0000000000000 && (2.220446049250313e-16 < dVar14))\n && (2.220446049250313e-16 < dVar15)) &&\n ((2.220446049250313e-16 < dVar16 && (2.220446049250313e-16 < dVar17)))))) {\n self = NSMutableData::dataWithLength_((ID)&_OBJC_CLASS___NSMutableData,0x268);\n IVar4 = NSMutableData::mutableBytes(self);\n uVar10 = 0;\n local_e8 = 0;\n lVar13 = 0;\n lVar9 = 0;\n lVar12 = 0;\n lVar11 = 0;\n uVar3 = 0;\n auVar25 = NEON_fmov(0xbfe0000000000000,8);\n auVar24 = NEON_fmov(0x3ff8000000000000,8);\n local_100 = 1.7976931348623157e+308;\n local_f8 = 1.7976931348623157e+308;\n local_f0 = -1.7976931348623157e+308;\n local_108 = -1.7976931348623157e+308;\n do {\n self_00 = objc_stub::objectAtIndexedSubscript_(param_1,uVar3);\n if (self_00 == 0) {\n return 0;\n }\n objc_stub::X(self_00);\n if ((0x7fefffffffffffff < (extraout_d0 & 0x7fffffffffffffff)) ||\n (objc_stub::Y(self_00), 0x7fefffffffffffff < (extraout_d0_00 & 0x7fffffffffffffff)))\n goto LAB_1000275c0;\n objc_stub::X(self_00);\n objc_stub::Y(self_00);\n dVar18 = (double)_CGRectGetMinX();\n dVar19 = (double)_CGRectGetMinY();\n dVar20 = (double)_CGRectGetMinX(in_d4,in_d5,in_d6,in_d7);\n dVar18 = ((dVar18 + dVar14 * extraout_d0_01) - dVar20) / dVar16;\n dVar20 = (double)_CGRectGetMinY(in_d4,in_d5,in_d6,in_d7);\n dVar19 = ((dVar19 + dVar15 * extraout_d0_02) - dVar20) / dVar17;\n if (0x7fefffffffffffff < (ulong)ABS(dVar18)) {\n return 0;\n }\n if (0x7fefffffffffffff < (ulong)ABS(dVar19)) {\n return 0;\n }\n dVar19 = 1.0 - dVar19;\n uVar5 = (uint)(dVar18 < -0.35);\n if (1.35 < dVar18) {\n uVar5 = 1;\n }\n uVar6 = (uint)(dVar19 < -0.35);\n if (1.35 < dVar19) {\n uVar6 = 1;\n }\n if ((0x3a < uVar3) && (uVar3 != 0x4c)) {\n if (dVar18 <= local_f8) {\n local_f8 = dVar18;\n }\n dVar20 = dVar18;\n if (dVar18 <= local_f0) {\n dVar20 = local_f0;\n }\n if (dVar19 <= local_100) {\n local_100 = dVar19;\n }\n dVar2 = dVar19;\n if (dVar19 <= local_108) {\n dVar2 = local_108;\n }\n uVar7 = (uint)(dVar18 < -0.2);\n if (1.2 < dVar18) {\n uVar7 = 1;\n }\n uVar8 = (uint)(dVar19 < -0.2);\n if (1.2 < dVar19) {\n uVar8 = 1;\n }\n local_e8 = local_e8 + (ulong)(uVar7 | uVar8);\n if (dVar18 < 0.0) {\n lVar13 = lVar13 + 1;\n }\n if (1.0 < dVar18) {\n lVar9 = lVar9 + 1;\n }\n if (dVar19 < 0.0) {\n lVar12 = lVar12 + 1;\n }\n local_108 = dVar2;\n local_f0 = dVar20;\n if (1.0 < dVar19) {\n lVar11 = lVar11 + 1;\n }\n }\n uVar10 = uVar10 + (uVar5 | uVar6);\n auVar21._0_8_ = -(ulong)(dVar18 < auVar25._0_8_);\n auVar21._8_8_ = -(ulong)(dVar19 < auVar25._8_8_);\n auVar22._0_8_ = -(ulong)(auVar24._0_8_ < dVar18);\n auVar22._8_8_ = -(ulong)(auVar24._8_8_ < dVar19);\n auVar1._8_8_ = dVar19;\n auVar1._0_8_ = dVar18;\n auVar23._8_8_ = dVar19;\n auVar23._0_8_ = dVar18;\n auVar23 = auVar23 ^ (auVar1 ^ auVar24) & auVar22;\n auVar23 = auVar23 ^ (auVar23 ^ auVar25) & auVar21;\n *(ulong *)(IVar4 + uVar3 * 8) = CONCAT44((float)auVar23._8_8_,(float)auVar23._0_8_);\n uVar3 = uVar3 + 1;\n } while (uVar3 != 0x4d);\n dVar14 = (double)NEON_fminnm(local_f0 - local_f8,local_108 - local_100);\n IVar4 = 0;\n if (uVar10 < 0x38 &&\n (local_e8 < 0xd &&\n (lVar11 < 0x11 && (lVar12 < 0x11 && (0.005 <= dVar14 && (lVar13 < 0x11 && lVar9 < 0x11))))\n )) {\n IVar4 = self;\n }\n }\n }\n return IVar4;\n}\n\n"},"subject":{"architecture":"arm64","digest":{"sha256":"f01e8c0b7e2676b2961950b0e48efdd2589af218e4b36de7d39f5d1c76852bfb"},"format":"mach-o","local_path":"/private/tmp/paintfcp-rea.b3j9Te/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_964da5a1a06b416bd957e735ae59741ac3edbd94c865485eb7deca75fe285538","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 0x100025400 to 0x100055794 ___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_100025058(double param_1,double param_2,undefined8 param_3,undefined8 param_4,ID param_5,\n ID param_6)\n\n{\n bool bVar1;\n int iVar2;\n ID IVar3;\n ID IVar4;\n ID IVar5;\n ID IVar6;\n ID IVar7;\n SEL extraout_x1;\n ulong uVar8;\n ulong uVar9;\n ulong *puVar10;\n long lVar11;\n float fVar12;\n undefined8 extraout_d0;\n undefined8 extraout_d0_00;\n undefined8 uVar13;\n undefined8 uVar14;\n undefined8 uVar15;\n undefined8 uVar16;\n double dVar17;\n double dVar18;\n undefined8 uVar19;\n undefined8 uVar20;\n double dVar21;\n undefined *local_110;\n undefined8 local_108;\n code *local_100;\n undefined *puStack_f8;\n double dStack_e8;\n undefined8 local_e0;\n undefined8 uStack_d8;\n ID local_d0;\n ID IStack_c8;\n ID local_c0;\n ID IStack_b8;\n long local_b0;\n \n local_b0 = *(long *)PTR____stack_chk_guard_1000780b8;\n if ((((param_5 != 0) && (2.220446049250313e-16 < param_1)) &&\n (dVar17 = param_2, IVar3 = objc_stub::count(param_6), 2.220446049250313e-16 < param_2)) &&\n ((0x4c < IVar3 && (bVar1 = FUN_10001a8c0(IVar3,extraout_x1), bVar1 != 0)))) {\n IVar3 = objc_stub::extent(param_5);\n iVar2 = (int)IVar3;\n FUN_10002ad20();\n if (iVar2 != 0) {\n IVar3 = param_5;\n FUN_1000271d8(extraout_d0,dVar17,param_3,param_4);\n IVar4 = IVar3;\n uVar19 = param_3;\n uVar20 = param_4;\n FUN_100028fa0(extraout_d0,dVar17);\n if ((IVar4 & 1) != 0) {\n param_1 = param_1 * param_2;\n dVar18 = 1.0;\n if (param_1 <= 1.0) {\n dVar18 = param_1;\n }\n dVar21 = 0.0;\n if (0.0 <= param_1) {\n dVar21 = dVar18;\n }\n if (((IVar3 != 0) && (IVar4 = objc_stub::count(param_6), 2.220446049250313e-16 < dVar21)) &&\n (0x4b < IVar4)) {\n if (DAT_100088f70 != -1) {\n FUN_100054694();\n }\n IVar4 = DAT_100088f68;\n if (DAT_100088f68 != 0) {\n objc_stub::extent(IVar3);\n uVar13 = extraout_d0_00;\n _CGRectGetMinX();\n uVar14 = extraout_d0_00;\n _CGRectGetMinY(extraout_d0_00,dVar18,uVar19,uVar20);\n uVar15 = extraout_d0_00;\n _CGRectGetWidth(extraout_d0_00,dVar18,uVar19,uVar20);\n uVar16 = extraout_d0_00;\n _CGRectGetHeight(extraout_d0_00,dVar18,uVar19,uVar20);\n IVar5 = CIVector::vectorWithX_Y_Z_W_\n ((ID)&_OBJC_CLASS___CIVector,uVar13,uVar14,uVar15,uVar16);\n fVar12 = (float)dVar21;\n if (fVar12 <= 0.0) {\n fVar12 = 0.0;\n }\n fVar12 = (float)NEON_fminnm(fVar12,0x3f800000);\n puVar10 = &DAT_1000602a0;\n lVar11 = 0x11;\n do {\n uVar9 = puVar10[-2];\n uVar8 = *puVar10;\n IVar6 = objc_stub::count(param_6);\n if ((uVar9 < IVar6) && (IVar6 = objc_stub::count(param_6), uVar8 < IVar6)) {\n IVar6 = objc_stub::objectAtIndexedSubscript_(param_6,uVar9);\n IVar7 = objc_stub::objectAtIndexedSubscript_(param_6,uVar8);\n if ((IVar6 != 0) && (IVar7 != 0)) {\n local_110 = PTR___NSConcreteStackBlock_1000780a8;\n local_108 = 0xc0000000;\n local_100 = FUN_10003b924;\n puStack_f8 = &DAT_100078910;\n dStack_e8 = dVar18;\n local_e0 = uVar19;\n uStack_d8 = uVar20;\n local_d0 = IVar6;\n IStack_c8 = IVar7;\n local_c0 = NSNumber::numberWithDouble_\n ((ID)&_OBJC_CLASS___NSNumber,(double)(fVar12 * 0.025));\n IStack_b8 = IVar5;\n IVar6 = NSArray::arrayWithObjects_count_((ID)&_OBJC_CLASS___NSArray,&local_d0,4);\n IVar6 = objc_stub::applyWithExtent_roiCallback_inputImage_arguments_\n (IVar4,extraout_d0_00,dVar18,uVar19,uVar20,&local_110,IVar3,\n IVar6);\n if (IVar6 != 0) {\n IVar3 = IVar6;\n }\n }\n }\n puVar10 = puVar10 + 3;\n lVar11 = lVar11 + -1;\n } while (lVar11 != 0);\n }\n }\n IVar4 = IVar3;\n FUN_100028fa0(extraout_d0,dVar17,param_3,param_4);\n if ((IVar4 & 1) != 0) {\n FUN_1000271d8(extraout_d0,dVar17,param_3,param_4);\n IVar4 = IVar3;\n FUN_100028fa0(extraout_d0,dVar17,param_3,param_4);\n if (((IVar4 & 1) != 0) &&\n (IVar3 = objc_stub::imageByCroppingToRect_(IVar3,extraout_d0,dVar17,param_3,param_4),\n IVar3 != 0)) {\n param_5 = IVar3;\n }\n }\n }\n }\n }\n if (*(long *)PTR____stack_chk_guard_1000780b8 == local_b0) {\n return param_5;\n }\n /* WARNING: Subroutine does not return */\n ___stack_chk_fail();\n}\n\n","operation":"procedure_pseudo_code","parameters":{"procedure":"0x100025058"},"predicate_type":"rea.analysis","provider":{"id":"ghidra","name":"Ghidra","version":"12.1.4"},"raw_result":{"limitations":["Ghidra Listing reports a terminal call at 0x100025400 to 0x100055794 ___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_100025058(double param_1,double param_2,undefined8 param_3,undefined8 param_4,ID param_5,\n ID param_6)\n\n{\n bool bVar1;\n int iVar2;\n ID IVar3;\n ID IVar4;\n ID IVar5;\n ID IVar6;\n ID IVar7;\n SEL extraout_x1;\n ulong uVar8;\n ulong uVar9;\n ulong *puVar10;\n long lVar11;\n float fVar12;\n undefined8 extraout_d0;\n undefined8 extraout_d0_00;\n undefined8 uVar13;\n undefined8 uVar14;\n undefined8 uVar15;\n undefined8 uVar16;\n double dVar17;\n double dVar18;\n undefined8 uVar19;\n undefined8 uVar20;\n double dVar21;\n undefined *local_110;\n undefined8 local_108;\n code *local_100;\n undefined *puStack_f8;\n double dStack_e8;\n undefined8 local_e0;\n undefined8 uStack_d8;\n ID local_d0;\n ID IStack_c8;\n ID local_c0;\n ID IStack_b8;\n long local_b0;\n \n local_b0 = *(long *)PTR____stack_chk_guard_1000780b8;\n if ((((param_5 != 0) && (2.220446049250313e-16 < param_1)) &&\n (dVar17 = param_2, IVar3 = objc_stub::count(param_6), 2.220446049250313e-16 < param_2)) &&\n ((0x4c < IVar3 && (bVar1 = FUN_10001a8c0(IVar3,extraout_x1), bVar1 != 0)))) {\n IVar3 = objc_stub::extent(param_5);\n iVar2 = (int)IVar3;\n FUN_10002ad20();\n if (iVar2 != 0) {\n IVar3 = param_5;\n FUN_1000271d8(extraout_d0,dVar17,param_3,param_4);\n IVar4 = IVar3;\n uVar19 = param_3;\n uVar20 = param_4;\n FUN_100028fa0(extraout_d0,dVar17);\n if ((IVar4 & 1) != 0) {\n param_1 = param_1 * param_2;\n dVar18 = 1.0;\n if (param_1 <= 1.0) {\n dVar18 = param_1;\n }\n dVar21 = 0.0;\n if (0.0 <= param_1) {\n dVar21 = dVar18;\n }\n if (((IVar3 != 0) && (IVar4 = objc_stub::count(param_6), 2.220446049250313e-16 < dVar21)) &&\n (0x4b < IVar4)) {\n if (DAT_100088f70 != -1) {\n FUN_100054694();\n }\n IVar4 = DAT_100088f68;\n if (DAT_100088f68 != 0) {\n objc_stub::extent(IVar3);\n uVar13 = extraout_d0_00;\n _CGRectGetMinX();\n uVar14 = extraout_d0_00;\n _CGRectGetMinY(extraout_d0_00,dVar18,uVar19,uVar20);\n uVar15 = extraout_d0_00;\n _CGRectGetWidth(extraout_d0_00,dVar18,uVar19,uVar20);\n uVar16 = extraout_d0_00;\n _CGRectGetHeight(extraout_d0_00,dVar18,uVar19,uVar20);\n IVar5 = CIVector::vectorWithX_Y_Z_W_\n ((ID)&_OBJC_CLASS___CIVector,uVar13,uVar14,uVar15,uVar16);\n fVar12 = (float)dVar21;\n if (fVar12 <= 0.0) {\n fVar12 = 0.0;\n }\n fVar12 = (float)NEON_fminnm(fVar12,0x3f800000);\n puVar10 = &DAT_1000602a0;\n lVar11 = 0x11;\n do {\n uVar9 = puVar10[-2];\n uVar8 = *puVar10;\n IVar6 = objc_stub::count(param_6);\n if ((uVar9 < IVar6) && (IVar6 = objc_stub::count(param_6), uVar8 < IVar6)) {\n IVar6 = objc_stub::objectAtIndexedSubscript_(param_6,uVar9);\n IVar7 = objc_stub::objectAtIndexedSubscript_(param_6,uVar8);\n if ((IVar6 != 0) && (IVar7 != 0)) {\n local_110 = PTR___NSConcreteStackBlock_1000780a8;\n local_108 = 0xc0000000;\n local_100 = FUN_10003b924;\n puStack_f8 = &DAT_100078910;\n dStack_e8 = dVar18;\n local_e0 = uVar19;\n uStack_d8 = uVar20;\n local_d0 = IVar6;\n IStack_c8 = IVar7;\n local_c0 = NSNumber::numberWithDouble_\n ((ID)&_OBJC_CLASS___NSNumber,(double)(fVar12 * 0.025));\n IStack_b8 = IVar5;\n IVar6 = NSArray::arrayWithObjects_count_((ID)&_OBJC_CLASS___NSArray,&local_d0,4);\n IVar6 = objc_stub::applyWithExtent_roiCallback_inputImage_arguments_\n (IVar4,extraout_d0_00,dVar18,uVar19,uVar20,&local_110,IVar3,\n IVar6);\n if (IVar6 != 0) {\n IVar3 = IVar6;\n }\n }\n }\n puVar10 = puVar10 + 3;\n lVar11 = lVar11 + -1;\n } while (lVar11 != 0);\n }\n }\n IVar4 = IVar3;\n FUN_100028fa0(extraout_d0,dVar17,param_3,param_4);\n if ((IVar4 & 1) != 0) {\n FUN_1000271d8(extraout_d0,dVar17,param_3,param_4);\n IVar4 = IVar3;\n FUN_100028fa0(extraout_d0,dVar17,param_3,param_4);\n if (((IVar4 & 1) != 0) &&\n (IVar3 = objc_stub::imageByCroppingToRect_(IVar3,extraout_d0,dVar17,param_3,param_4),\n IVar3 != 0)) {\n param_5 = IVar3;\n }\n }\n }\n }\n }\n if (*(long *)PTR____stack_chk_guard_1000780b8 == local_b0) {\n return param_5;\n }\n /* WARNING: Subroutine does not return */\n ___stack_chk_fail();\n}\n\n"},"subject":{"architecture":"arm64","digest":{"sha256":"f01e8c0b7e2676b2961950b0e48efdd2589af218e4b36de7d39f5d1c76852bfb"},"format":"mach-o","local_path":"/private/tmp/paintfcp-rea.b3j9Te/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_bab9d86476f37f46de6270d73ad3c63c51797b9db4c1940c7cef0173c6d69632","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/* Function Stack Size: 0x30 bytes */\n\nID MSSuperSkinSmoothingPlugIn::\n deterministicFacePointsForObservations_params_selectedObservationOut_strengthMultiplierOut_\n (ID param_1,SEL param_2,ID param_3,const_AnonymousStructure6__ param_4,ID *param_5,\n double *param_6)\n\n{\n ID IVar1;\n ID IVar2;\n double extraout_d0;\n double dVar3;\n double dVar4;\n undefined8 uVar5;\n undefined8 in_d2;\n undefined8 in_d3;\n double dVar6;\n \n FUN_100021c7c();\n IVar1 = param_3;\n FUN_1000230cc();\n if (IVar1 != 0) {\n param_3 = IVar1;\n }\n IVar1 = objc_stub::count(param_3);\n dVar6 = 0.0;\n if (IVar1 == 0) {\n IVar1 = 0;\n param_3 = 0;\n }\n else {\n if ((param_4 == (const_AnonymousStructure6__)0x0) || ((char)param_4->field32_0xf0 != '\\x01')) {\n uVar5 = *(undefined8 *)(PTR__CGRectZero_100078118 + 8);\n in_d2 = *(undefined8 *)(PTR__CGRectZero_100078118 + 0x10);\n in_d3 = *(undefined8 *)(PTR__CGRectZero_100078118 + 0x18);\n FUN_100023b60(*(undefined8 *)PTR__CGRectZero_100078118,uVar5,in_d2,in_d3);\n }\n else {\n uVar5 = *(undefined8 *)((long)¶m_4->field34_0xfc + 4);\n FUN_10002398c(*(undefined8 *)((long)¶m_4->field33_0xf4 + 4),uVar5);\n }\n IVar1 = param_3;\n FUN_100022c70();\n IVar2 = objc_stub::count(IVar1);\n if (0x4c < IVar2) {\n IVar2 = param_3;\n dVar3 = extraout_d0;\n FUN_100023580();\n _CGRectIsNull();\n if (((((IVar2 & 1) == 0) && (_CGRectIsEmpty(dVar3,uVar5,in_d2,in_d3), (IVar2 & 1) == 0)) &&\n (dVar4 = dVar3, _CGRectGetWidth(dVar3,uVar5,in_d2,in_d3), 2.220446049250313e-16 < dVar4))\n && (_CGRectGetHeight(dVar3,uVar5,in_d2,in_d3), 2.220446049250313e-16 < dVar3)) {\n dVar6 = 1.0;\n goto joined_r0x00010002f6f8;\n }\n }\n IVar1 = 0;\n }\njoined_r0x00010002f6f8:\n if (param_5 != (ID *)0x0) {\n *param_5 = param_3;\n }\n if (param_6 != (double *)0x0) {\n *param_6 = dVar6;\n }\n FUN_100021c7c();\n return IVar1;\n}\n\n","operation":"procedure_pseudo_code","parameters":{"procedure":"0x10002f58c"},"predicate_type":"rea.analysis","provider":{"id":"ghidra","name":"Ghidra","version":"12.1.4"},"raw_result":{"limitations":[],"value":"\n/* Function Stack Size: 0x30 bytes */\n\nID MSSuperSkinSmoothingPlugIn::\n deterministicFacePointsForObservations_params_selectedObservationOut_strengthMultiplierOut_\n (ID param_1,SEL param_2,ID param_3,const_AnonymousStructure6__ param_4,ID *param_5,\n double *param_6)\n\n{\n ID IVar1;\n ID IVar2;\n double extraout_d0;\n double dVar3;\n double dVar4;\n undefined8 uVar5;\n undefined8 in_d2;\n undefined8 in_d3;\n double dVar6;\n \n FUN_100021c7c();\n IVar1 = param_3;\n FUN_1000230cc();\n if (IVar1 != 0) {\n param_3 = IVar1;\n }\n IVar1 = objc_stub::count(param_3);\n dVar6 = 0.0;\n if (IVar1 == 0) {\n IVar1 = 0;\n param_3 = 0;\n }\n else {\n if ((param_4 == (const_AnonymousStructure6__)0x0) || ((char)param_4->field32_0xf0 != '\\x01')) {\n uVar5 = *(undefined8 *)(PTR__CGRectZero_100078118 + 8);\n in_d2 = *(undefined8 *)(PTR__CGRectZero_100078118 + 0x10);\n in_d3 = *(undefined8 *)(PTR__CGRectZero_100078118 + 0x18);\n FUN_100023b60(*(undefined8 *)PTR__CGRectZero_100078118,uVar5,in_d2,in_d3);\n }\n else {\n uVar5 = *(undefined8 *)((long)¶m_4->field34_0xfc + 4);\n FUN_10002398c(*(undefined8 *)((long)¶m_4->field33_0xf4 + 4),uVar5);\n }\n IVar1 = param_3;\n FUN_100022c70();\n IVar2 = objc_stub::count(IVar1);\n if (0x4c < IVar2) {\n IVar2 = param_3;\n dVar3 = extraout_d0;\n FUN_100023580();\n _CGRectIsNull();\n if (((((IVar2 & 1) == 0) && (_CGRectIsEmpty(dVar3,uVar5,in_d2,in_d3), (IVar2 & 1) == 0)) &&\n (dVar4 = dVar3, _CGRectGetWidth(dVar3,uVar5,in_d2,in_d3), 2.220446049250313e-16 < dVar4))\n && (_CGRectGetHeight(dVar3,uVar5,in_d2,in_d3), 2.220446049250313e-16 < dVar3)) {\n dVar6 = 1.0;\n goto joined_r0x00010002f6f8;\n }\n }\n IVar1 = 0;\n }\njoined_r0x00010002f6f8:\n if (param_5 != (ID *)0x0) {\n *param_5 = param_3;\n }\n if (param_6 != (double *)0x0) {\n *param_6 = dVar6;\n }\n FUN_100021c7c();\n return IVar1;\n}\n\n"},"subject":{"architecture":"arm64","digest":{"sha256":"f01e8c0b7e2676b2961950b0e48efdd2589af218e4b36de7d39f5d1c76852bfb"},"format":"mach-o","local_path":"/private/tmp/paintfcp-rea.b3j9Te/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_c1171043233572edc17b3a6a9a60303d141173c2e8225cfb2e7b2437c9ba7147","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":"0x100001bc8","value":"FxMTLDeviceCacheItem::initWithDevice:pixelFormat:"}],"operation":"search_procedures","parameters":{"case_sensitive":false,"mode":"regex","pattern":"(FxMTLDeviceCacheItem::init|objc_stub::(yaw|roll|pitch)$)"},"predicate_type":"rea.analysis","provider":{"id":"ghidra","name":"Ghidra","version":"12.1.4"},"raw_result":[{"address":"0x100001bc8","value":"FxMTLDeviceCacheItem::initWithDevice:pixelFormat:"}],"subject":{"architecture":"arm64","digest":{"sha256":"f01e8c0b7e2676b2961950b0e48efdd2589af218e4b36de7d39f5d1c76852bfb"},"format":"mach-o","local_path":"/private/tmp/paintfcp-rea.b3j9Te/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_cc62b379fc62d71bb0c55181978112d9eae0cb98788fcc415498e30ff9429042","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_100027c34(ID param_1,ulong param_2)\n\n{\n ID IVar1;\n ulong uVar2;\n \n IVar1 = objc_stub::length(param_1);\n if ((param_2 != 0) && (7 < IVar1)) {\n IVar1 = objc_stub::length(param_1);\n uVar2 = IVar1 >> 3;\n if (param_2 <= IVar1 >> 3) {\n uVar2 = param_2;\n }\n objc_stub::bytes(param_1);\n if (7 < IVar1) {\n do {\n uVar2 = uVar2 - 1;\n } while (uVar2 != 0);\n }\n }\n return;\n}\n\n","operation":"procedure_pseudo_code","parameters":{"procedure":"0x100027c34"},"predicate_type":"rea.analysis","provider":{"id":"ghidra","name":"Ghidra","version":"12.1.4"},"raw_result":{"limitations":[],"value":"\nvoid FUN_100027c34(ID param_1,ulong param_2)\n\n{\n ID IVar1;\n ulong uVar2;\n \n IVar1 = objc_stub::length(param_1);\n if ((param_2 != 0) && (7 < IVar1)) {\n IVar1 = objc_stub::length(param_1);\n uVar2 = IVar1 >> 3;\n if (param_2 <= IVar1 >> 3) {\n uVar2 = param_2;\n }\n objc_stub::bytes(param_1);\n if (7 < IVar1) {\n do {\n uVar2 = uVar2 - 1;\n } while (uVar2 != 0);\n }\n }\n return;\n}\n\n"},"subject":{"architecture":"arm64","digest":{"sha256":"f01e8c0b7e2676b2961950b0e48efdd2589af218e4b36de7d39f5d1c76852bfb"},"format":"mach-o","local_path":"/private/tmp/paintfcp-rea.b3j9Te/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_dc4487de4891c4a663dab370f2e207799bec7e2ad305a98a1ed579e5de6ef263","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 0x100028078 to 0x100055794 ___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":"\nbool FUN_100027d38(ID param_1,long param_2,ID param_3,ID param_4,undefined8 param_5,\n undefined8 param_6,long param_7,ulong param_8,long param_9,int param_10,\n undefined4 param_11,undefined8 *param_12)\n\n{\n undefined8 *puVar1;\n bool bVar2;\n ID IVar3;\n ID IVar4;\n ID IVar5;\n ID IVar6;\n ID IVar7;\n byte bVar8;\n float fVar9;\n undefined8 local_f0;\n undefined8 uStack_e8;\n double local_e0;\n double dStack_d8;\n undefined8 local_d0;\n undefined8 uStack_c8;\n undefined8 local_c0;\n undefined1 local_b4 [4];\n undefined8 local_b0;\n undefined8 local_a8;\n undefined8 local_a0;\n undefined8 uStack_98;\n undefined8 local_90;\n undefined8 uStack_88;\n undefined8 local_80;\n undefined8 uStack_78;\n long local_70;\n \n puVar1 = param_12;\n bVar2 = false;\n local_70 = *(long *)PTR____stack_chk_guard_1000780b8;\n if (((((param_1 != 0) && (param_2 != 0)) && (param_4 != 0)) && ((param_7 != 0 && (param_9 != 0))))\n && ((bVar2 = false, (ulong)(param_9 << 3) <= param_8 && (0 < param_10)))) {\n bVar8 = NEON_umaxv(CONCAT17(-(1.1920929e-07 < ABS((float)((ulong)param_12[3] >> 0x20))),\n CONCAT16(-(1.1920929e-07 < ABS((float)param_12[3])),\n CONCAT15(-(1.1920929e-07 <\n ABS((float)((ulong)param_12[2] >> 0x20))),\n CONCAT14(-(1.1920929e-07 < ABS((float)param_12[2])\n ),CONCAT13(-(1.1920929e-07 <\n ABS((float)((ulong)param_12[\n 1] >> 0x20))),\n CONCAT12(-(1.1920929e-07 < ABS((float)param_12[1])\n ),CONCAT11(-(1.1920929e-07 <\n ABS((float)((ulong)*param_12\n >> 0x20))),\n -(1.1920929e-07 <\n ABS((float)*param_12))))))))\n ),1);\n if ((((bVar8 & 1) == 0) && (ABS(*(float *)((long)param_12 + 0x24)) <= 1.1920929e-07)) ||\n (IVar3 = objc_stub::faceThinPipelineStateWithRegistryID_pixelFormat_(param_4,param_5,param_6)\n , IVar3 == 0)) {\n bVar2 = false;\n }\n else {\n IVar4 = objc_stub::width(param_3);\n IVar5 = objc_stub::height(param_3);\n local_b0 = CONCAT44((float)IVar5 / 2.0,(float)IVar4 * -0.5);\n fVar9 = (float)IVar5 * -0.5;\n local_90 = CONCAT44((float)IVar5 / 2.0,(float)IVar4 / 2.0);\n local_80 = CONCAT44(fVar9,(float)IVar4 / 2.0);\n local_a8 = 0;\n local_a0 = CONCAT17((char)((uint)fVar9 >> 0x18),\n CONCAT16((char)((uint)fVar9 >> 0x10),\n CONCAT15((char)((uint)fVar9 >> 8),\n CONCAT14(SUB41(fVar9,0),(float)IVar4 * -0.5))));\n uStack_98 = 0x3f80000000000000;\n uStack_88 = 0x3f800000;\n uStack_78 = NEON_fmov(0x3f800000,4);\n IVar4 = objc_stub::width(param_3);\n IVar5 = objc_stub::height(param_3);\n local_c0 = CONCAT17((char)(IVar5 >> 0x18),\n CONCAT16((char)(IVar5 >> 0x10),\n CONCAT15((char)(IVar5 >> 8),CONCAT14((char)IVar5,(int)IVar4))));\n IVar4 = objc_stub::width(param_3);\n IVar5 = objc_stub::height(param_3);\n IVar6 = MTLRenderPassDescriptor::renderPassDescriptor\n ((ID)&_OBJC_CLASS___MTLRenderPassDescriptor);\n IVar7 = MTLRenderPassDescriptor::colorAttachments(IVar6);\n IVar7 = MTLRenderPassDescriptor::objectAtIndexedSubscript_(IVar7,0);\n MTLRenderPassDescriptor::setTexture_(IVar7,param_3);\n IVar7 = MTLRenderPassDescriptor::colorAttachments(IVar6);\n IVar7 = MTLRenderPassDescriptor::objectAtIndexedSubscript_(IVar7,0);\n MTLRenderPassDescriptor::setLoadAction_(IVar7,2);\n IVar7 = MTLRenderPassDescriptor::colorAttachments(IVar6);\n IVar7 = MTLRenderPassDescriptor::objectAtIndexedSubscript_(IVar7,0);\n MTLRenderPassDescriptor::setStoreAction_(IVar7,1);\n IVar7 = MTLRenderPassDescriptor::colorAttachments(IVar6);\n IVar7 = MTLRenderPassDescriptor::objectAtIndexedSubscript_(IVar7,0);\n MTLRenderPassDescriptor::setClearColor_(IVar7,0,0,0,0x3ff0000000000000);\n IVar6 = objc_stub::renderCommandEncoderWithDescriptor_(param_1,IVar6);\n bVar2 = IVar6 != 0;\n if (IVar6 != 0) {\n dStack_d8 = (double)IVar5;\n local_e0 = (double)IVar4;\n local_f0 = 0;\n uStack_e8 = 0;\n uStack_c8 = 0x3ff0000000000000;\n local_d0 = 0xbff0000000000000;\n objc_stub::setViewport_(IVar6,&local_f0);\n objc_stub::setRenderPipelineState_(IVar6,IVar3);\n objc_stub::setVertexBytes_length_atIndex_(IVar6,&local_b0,0x40,0);\n objc_stub::setVertexBytes_length_atIndex_(IVar6,&local_c0,8,1);\n objc_stub::setFragmentTexture_atIndex_(IVar6,param_2,0);\n objc_stub::setFragmentBytes_length_atIndex_(IVar6,param_7,param_8,0);\n objc_stub::setFragmentBytes_length_atIndex_(IVar6,¶m_10,4,1);\n objc_stub::setFragmentBytes_length_atIndex_(IVar6,local_b4,4,2);\n objc_stub::setFragmentBytes_length_atIndex_(IVar6,&stack0x00000018,4,4);\n objc_stub::setFragmentBytes_length_atIndex_(IVar6,puVar1,0x28,7);\n objc_stub::drawPrimitives_vertexStart_vertexCount_(IVar6,4,0,4);\n objc_stub::endEncoding(IVar6);\n }\n }\n }\n if (*(long *)PTR____stack_chk_guard_1000780b8 == local_70) {\n return bVar2;\n }\n /* WARNING: Subroutine does not return */\n ___stack_chk_fail();\n}\n\n","operation":"procedure_pseudo_code","parameters":{"procedure":"0x100027d38"},"predicate_type":"rea.analysis","provider":{"id":"ghidra","name":"Ghidra","version":"12.1.4"},"raw_result":{"limitations":["Ghidra Listing reports a terminal call at 0x100028078 to 0x100055794 ___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":"\nbool FUN_100027d38(ID param_1,long param_2,ID param_3,ID param_4,undefined8 param_5,\n undefined8 param_6,long param_7,ulong param_8,long param_9,int param_10,\n undefined4 param_11,undefined8 *param_12)\n\n{\n undefined8 *puVar1;\n bool bVar2;\n ID IVar3;\n ID IVar4;\n ID IVar5;\n ID IVar6;\n ID IVar7;\n byte bVar8;\n float fVar9;\n undefined8 local_f0;\n undefined8 uStack_e8;\n double local_e0;\n double dStack_d8;\n undefined8 local_d0;\n undefined8 uStack_c8;\n undefined8 local_c0;\n undefined1 local_b4 [4];\n undefined8 local_b0;\n undefined8 local_a8;\n undefined8 local_a0;\n undefined8 uStack_98;\n undefined8 local_90;\n undefined8 uStack_88;\n undefined8 local_80;\n undefined8 uStack_78;\n long local_70;\n \n puVar1 = param_12;\n bVar2 = false;\n local_70 = *(long *)PTR____stack_chk_guard_1000780b8;\n if (((((param_1 != 0) && (param_2 != 0)) && (param_4 != 0)) && ((param_7 != 0 && (param_9 != 0))))\n && ((bVar2 = false, (ulong)(param_9 << 3) <= param_8 && (0 < param_10)))) {\n bVar8 = NEON_umaxv(CONCAT17(-(1.1920929e-07 < ABS((float)((ulong)param_12[3] >> 0x20))),\n CONCAT16(-(1.1920929e-07 < ABS((float)param_12[3])),\n CONCAT15(-(1.1920929e-07 <\n ABS((float)((ulong)param_12[2] >> 0x20))),\n CONCAT14(-(1.1920929e-07 < ABS((float)param_12[2])\n ),CONCAT13(-(1.1920929e-07 <\n ABS((float)((ulong)param_12[\n 1] >> 0x20))),\n CONCAT12(-(1.1920929e-07 < ABS((float)param_12[1])\n ),CONCAT11(-(1.1920929e-07 <\n ABS((float)((ulong)*param_12\n >> 0x20))),\n -(1.1920929e-07 <\n ABS((float)*param_12))))))))\n ),1);\n if ((((bVar8 & 1) == 0) && (ABS(*(float *)((long)param_12 + 0x24)) <= 1.1920929e-07)) ||\n (IVar3 = objc_stub::faceThinPipelineStateWithRegistryID_pixelFormat_(param_4,param_5,param_6)\n , IVar3 == 0)) {\n bVar2 = false;\n }\n else {\n IVar4 = objc_stub::width(param_3);\n IVar5 = objc_stub::height(param_3);\n local_b0 = CONCAT44((float)IVar5 / 2.0,(float)IVar4 * -0.5);\n fVar9 = (float)IVar5 * -0.5;\n local_90 = CONCAT44((float)IVar5 / 2.0,(float)IVar4 / 2.0);\n local_80 = CONCAT44(fVar9,(float)IVar4 / 2.0);\n local_a8 = 0;\n local_a0 = CONCAT17((char)((uint)fVar9 >> 0x18),\n CONCAT16((char)((uint)fVar9 >> 0x10),\n CONCAT15((char)((uint)fVar9 >> 8),\n CONCAT14(SUB41(fVar9,0),(float)IVar4 * -0.5))));\n uStack_98 = 0x3f80000000000000;\n uStack_88 = 0x3f800000;\n uStack_78 = NEON_fmov(0x3f800000,4);\n IVar4 = objc_stub::width(param_3);\n IVar5 = objc_stub::height(param_3);\n local_c0 = CONCAT17((char)(IVar5 >> 0x18),\n CONCAT16((char)(IVar5 >> 0x10),\n CONCAT15((char)(IVar5 >> 8),CONCAT14((char)IVar5,(int)IVar4))));\n IVar4 = objc_stub::width(param_3);\n IVar5 = objc_stub::height(param_3);\n IVar6 = MTLRenderPassDescriptor::renderPassDescriptor\n ((ID)&_OBJC_CLASS___MTLRenderPassDescriptor);\n IVar7 = MTLRenderPassDescriptor::colorAttachments(IVar6);\n IVar7 = MTLRenderPassDescriptor::objectAtIndexedSubscript_(IVar7,0);\n MTLRenderPassDescriptor::setTexture_(IVar7,param_3);\n IVar7 = MTLRenderPassDescriptor::colorAttachments(IVar6);\n IVar7 = MTLRenderPassDescriptor::objectAtIndexedSubscript_(IVar7,0);\n MTLRenderPassDescriptor::setLoadAction_(IVar7,2);\n IVar7 = MTLRenderPassDescriptor::colorAttachments(IVar6);\n IVar7 = MTLRenderPassDescriptor::objectAtIndexedSubscript_(IVar7,0);\n MTLRenderPassDescriptor::setStoreAction_(IVar7,1);\n IVar7 = MTLRenderPassDescriptor::colorAttachments(IVar6);\n IVar7 = MTLRenderPassDescriptor::objectAtIndexedSubscript_(IVar7,0);\n MTLRenderPassDescriptor::setClearColor_(IVar7,0,0,0,0x3ff0000000000000);\n IVar6 = objc_stub::renderCommandEncoderWithDescriptor_(param_1,IVar6);\n bVar2 = IVar6 != 0;\n if (IVar6 != 0) {\n dStack_d8 = (double)IVar5;\n local_e0 = (double)IVar4;\n local_f0 = 0;\n uStack_e8 = 0;\n uStack_c8 = 0x3ff0000000000000;\n local_d0 = 0xbff0000000000000;\n objc_stub::setViewport_(IVar6,&local_f0);\n objc_stub::setRenderPipelineState_(IVar6,IVar3);\n objc_stub::setVertexBytes_length_atIndex_(IVar6,&local_b0,0x40,0);\n objc_stub::setVertexBytes_length_atIndex_(IVar6,&local_c0,8,1);\n objc_stub::setFragmentTexture_atIndex_(IVar6,param_2,0);\n objc_stub::setFragmentBytes_length_atIndex_(IVar6,param_7,param_8,0);\n objc_stub::setFragmentBytes_length_atIndex_(IVar6,¶m_10,4,1);\n objc_stub::setFragmentBytes_length_atIndex_(IVar6,local_b4,4,2);\n objc_stub::setFragmentBytes_length_atIndex_(IVar6,&stack0x00000018,4,4);\n objc_stub::setFragmentBytes_length_atIndex_(IVar6,puVar1,0x28,7);\n objc_stub::drawPrimitives_vertexStart_vertexCount_(IVar6,4,0,4);\n objc_stub::endEncoding(IVar6);\n }\n }\n }\n if (*(long *)PTR____stack_chk_guard_1000780b8 == local_70) {\n return bVar2;\n }\n /* WARNING: Subroutine does not return */\n ___stack_chk_fail();\n}\n\n"},"subject":{"architecture":"arm64","digest":{"sha256":"f01e8c0b7e2676b2961950b0e48efdd2589af218e4b36de7d39f5d1c76852bfb"},"format":"mach-o","local_path":"/private/tmp/paintfcp-rea.b3j9Te/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_e179a2a3006203400ea1de16cd2ca9874409d6ffa03c3059bb40a7d607c1b4b5","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 0x100025050 to 0x100055794 ___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":"\nlong FUN_100024eec(double param_1,double param_2,long param_3,ID param_4)\n\n{\n bool bVar1;\n ID IVar2;\n ID IVar3;\n long lVar4;\n SEL extraout_x1;\n ID self;\n long lVar5;\n ID IVar6;\n undefined8 local_130;\n long lStack_128;\n long *local_120;\n undefined8 uStack_118;\n undefined8 local_110;\n undefined8 uStack_108;\n undefined8 uStack_100;\n undefined8 uStack_f8;\n undefined1 auStack_e8 [128];\n long local_68;\n \n local_68 = *(long *)PTR____stack_chk_guard_1000780b8;\n if ((((param_3 != 0) && (2.220446049250313e-16 < param_1)) &&\n (IVar2 = objc_stub::count(param_4), 2.220446049250313e-16 < param_2 && IVar2 != 0)) &&\n (bVar1 = FUN_10001a8c0(IVar2,extraout_x1), bVar1 != 0)) {\n uStack_108 = 0;\n local_110 = 0;\n uStack_f8 = 0;\n uStack_100 = 0;\n lStack_128 = 0;\n local_130 = 0;\n uStack_118 = 0;\n local_120 = (long *)0x0;\n IVar2 = objc_stub::countByEnumeratingWithState_objects_count_\n (param_4,&local_130,auStack_e8,0x10);\n if (IVar2 != 0) {\n lVar5 = *local_120;\n do {\n IVar6 = 0;\n do {\n if (*local_120 != lVar5) {\n _objc_enumerationMutation(param_4);\n }\n self = *(ID *)(lStack_128 + IVar6 * 8);\n IVar3 = objc_stub::count(self);\n if ((0x4c < IVar3) &&\n (lVar4 = param_3, FUN_100025058(param_1,param_2,param_3,self), lVar4 != 0)) {\n param_3 = lVar4;\n }\n IVar6 = IVar6 + 1;\n } while (IVar2 != IVar6);\n IVar2 = objc_stub::countByEnumeratingWithState_objects_count_\n (param_4,&local_130,auStack_e8,0x10);\n } while (IVar2 != 0);\n }\n objc_stub::count(param_4);\n }\n if (*(long *)PTR____stack_chk_guard_1000780b8 == local_68) {\n return param_3;\n }\n /* WARNING: Subroutine does not return */\n ___stack_chk_fail();\n}\n\n","operation":"procedure_pseudo_code","parameters":{"procedure":"0x100024eec"},"predicate_type":"rea.analysis","provider":{"id":"ghidra","name":"Ghidra","version":"12.1.4"},"raw_result":{"limitations":["Ghidra Listing reports a terminal call at 0x100025050 to 0x100055794 ___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":"\nlong FUN_100024eec(double param_1,double param_2,long param_3,ID param_4)\n\n{\n bool bVar1;\n ID IVar2;\n ID IVar3;\n long lVar4;\n SEL extraout_x1;\n ID self;\n long lVar5;\n ID IVar6;\n undefined8 local_130;\n long lStack_128;\n long *local_120;\n undefined8 uStack_118;\n undefined8 local_110;\n undefined8 uStack_108;\n undefined8 uStack_100;\n undefined8 uStack_f8;\n undefined1 auStack_e8 [128];\n long local_68;\n \n local_68 = *(long *)PTR____stack_chk_guard_1000780b8;\n if ((((param_3 != 0) && (2.220446049250313e-16 < param_1)) &&\n (IVar2 = objc_stub::count(param_4), 2.220446049250313e-16 < param_2 && IVar2 != 0)) &&\n (bVar1 = FUN_10001a8c0(IVar2,extraout_x1), bVar1 != 0)) {\n uStack_108 = 0;\n local_110 = 0;\n uStack_f8 = 0;\n uStack_100 = 0;\n lStack_128 = 0;\n local_130 = 0;\n uStack_118 = 0;\n local_120 = (long *)0x0;\n IVar2 = objc_stub::countByEnumeratingWithState_objects_count_\n (param_4,&local_130,auStack_e8,0x10);\n if (IVar2 != 0) {\n lVar5 = *local_120;\n do {\n IVar6 = 0;\n do {\n if (*local_120 != lVar5) {\n _objc_enumerationMutation(param_4);\n }\n self = *(ID *)(lStack_128 + IVar6 * 8);\n IVar3 = objc_stub::count(self);\n if ((0x4c < IVar3) &&\n (lVar4 = param_3, FUN_100025058(param_1,param_2,param_3,self), lVar4 != 0)) {\n param_3 = lVar4;\n }\n IVar6 = IVar6 + 1;\n } while (IVar2 != IVar6);\n IVar2 = objc_stub::countByEnumeratingWithState_objects_count_\n (param_4,&local_130,auStack_e8,0x10);\n } while (IVar2 != 0);\n }\n objc_stub::count(param_4);\n }\n if (*(long *)PTR____stack_chk_guard_1000780b8 == local_68) {\n return param_3;\n }\n /* WARNING: Subroutine does not return */\n ___stack_chk_fail();\n}\n\n"},"subject":{"architecture":"arm64","digest":{"sha256":"f01e8c0b7e2676b2961950b0e48efdd2589af218e4b36de7d39f5d1c76852bfb"},"format":"mach-o","local_path":"/private/tmp/paintfcp-rea.b3j9Te/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_f77f6f982fac6032491dd66e078de74aca5604724aee55d86f28c4d8e1fcd55b","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 0x100002f3c to 0x100055794 ___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_autorelease replaced with injection: _objc_retain_fixup */\n/* Function Stack Size: 0x20 bytes */\n\nID FxMTLDeviceCache::faceThinPipelineStateWithRegistryID_pixelFormat_\n (ID param_1,SEL param_2,unsigned_long_long param_3,unsigned_long_long param_4)\n\n{\n ID IVar1;\n ID IVar2;\n class_t *self;\n ID IVar3;\n ID self_00;\n long lVar4;\n ID IVar5;\n undefined8 local_130;\n long lStack_128;\n long *local_120;\n undefined8 uStack_118;\n undefined8 local_110;\n undefined8 uStack_108;\n undefined8 uStack_100;\n undefined8 uStack_f8;\n undefined1 auStack_e8 [128];\n long local_68;\n \n local_68 = *(long *)PTR____stack_chk_guard_1000780b8;\n lStack_128 = 0;\n local_130 = 0;\n uStack_118 = 0;\n local_120 = (long *)0x0;\n uStack_108 = 0;\n local_110 = 0;\n uStack_f8 = 0;\n uStack_100 = 0;\n IVar3 = *(ID *)(param_1 + 8);\n IVar1 = objc_stub::countByEnumeratingWithState_objects_count_(IVar3,&local_130,auStack_e8,0x10);\n if (IVar1 != 0) {\n lVar4 = *local_120;\n do {\n IVar5 = 0;\n do {\n if (*local_120 != lVar4) {\n _objc_enumerationMutation(IVar3);\n }\n self_00 = *(ID *)(lStack_128 + IVar5 * 8);\n IVar2 = objc_stub::gpuDevice(self_00);\n IVar2 = objc_stub::registryID(IVar2);\n if ((IVar2 == param_3) && (IVar2 = objc_stub::pixelFormat(self_00), IVar2 == param_4)) {\n IVar1 = objc_stub::faceThinPipelineState(self_00);\n if (IVar1 != 0) goto LAB_100002f04;\n goto LAB_100002eb8;\n }\n IVar5 = IVar5 + 1;\n } while (IVar1 != IVar5);\n IVar1 = objc_stub::countByEnumeratingWithState_objects_count_\n (IVar3,&local_130,auStack_e8,0x10);\n } while (IVar1 != 0);\n }\nLAB_100002eb8:\n IVar3 = deviceWithRegistryID_(param_1,param_3);\n IVar1 = 0;\n if (IVar3 != 0) {\n self = &objc::class_t::FxMTLDeviceCacheItem;\n _objc_alloc();\n IVar3 = objc_stub::initWithDevice_pixelFormat_((ID)self,IVar3,param_4);\n IVar1 = 0;\n if (IVar3 != 0) {\n objc_stub::addObject_(*(ID *)(param_1 + 8),IVar3);\n IVar1 = objc_stub::faceThinPipelineState(IVar3);\n }\n }\nLAB_100002f04:\n if (*(long *)PTR____stack_chk_guard_1000780b8 != local_68) {\n /* WARNING: Subroutine does not return */\n ___stack_chk_fail();\n }\n return IVar1;\n}\n\n","operation":"procedure_pseudo_code","parameters":{"procedure":"0x100002dc8"},"predicate_type":"rea.analysis","provider":{"id":"ghidra","name":"Ghidra","version":"12.1.4"},"raw_result":{"limitations":["Ghidra Listing reports a terminal call at 0x100002f3c to 0x100055794 ___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_autorelease replaced with injection: _objc_retain_fixup */\n/* Function Stack Size: 0x20 bytes */\n\nID FxMTLDeviceCache::faceThinPipelineStateWithRegistryID_pixelFormat_\n (ID param_1,SEL param_2,unsigned_long_long param_3,unsigned_long_long param_4)\n\n{\n ID IVar1;\n ID IVar2;\n class_t *self;\n ID IVar3;\n ID self_00;\n long lVar4;\n ID IVar5;\n undefined8 local_130;\n long lStack_128;\n long *local_120;\n undefined8 uStack_118;\n undefined8 local_110;\n undefined8 uStack_108;\n undefined8 uStack_100;\n undefined8 uStack_f8;\n undefined1 auStack_e8 [128];\n long local_68;\n \n local_68 = *(long *)PTR____stack_chk_guard_1000780b8;\n lStack_128 = 0;\n local_130 = 0;\n uStack_118 = 0;\n local_120 = (long *)0x0;\n uStack_108 = 0;\n local_110 = 0;\n uStack_f8 = 0;\n uStack_100 = 0;\n IVar3 = *(ID *)(param_1 + 8);\n IVar1 = objc_stub::countByEnumeratingWithState_objects_count_(IVar3,&local_130,auStack_e8,0x10);\n if (IVar1 != 0) {\n lVar4 = *local_120;\n do {\n IVar5 = 0;\n do {\n if (*local_120 != lVar4) {\n _objc_enumerationMutation(IVar3);\n }\n self_00 = *(ID *)(lStack_128 + IVar5 * 8);\n IVar2 = objc_stub::gpuDevice(self_00);\n IVar2 = objc_stub::registryID(IVar2);\n if ((IVar2 == param_3) && (IVar2 = objc_stub::pixelFormat(self_00), IVar2 == param_4)) {\n IVar1 = objc_stub::faceThinPipelineState(self_00);\n if (IVar1 != 0) goto LAB_100002f04;\n goto LAB_100002eb8;\n }\n IVar5 = IVar5 + 1;\n } while (IVar1 != IVar5);\n IVar1 = objc_stub::countByEnumeratingWithState_objects_count_\n (IVar3,&local_130,auStack_e8,0x10);\n } while (IVar1 != 0);\n }\nLAB_100002eb8:\n IVar3 = deviceWithRegistryID_(param_1,param_3);\n IVar1 = 0;\n if (IVar3 != 0) {\n self = &objc::class_t::FxMTLDeviceCacheItem;\n _objc_alloc();\n IVar3 = objc_stub::initWithDevice_pixelFormat_((ID)self,IVar3,param_4);\n IVar1 = 0;\n if (IVar3 != 0) {\n objc_stub::addObject_(*(ID *)(param_1 + 8),IVar3);\n IVar1 = objc_stub::faceThinPipelineState(IVar3);\n }\n }\nLAB_100002f04:\n if (*(long *)PTR____stack_chk_guard_1000780b8 != local_68) {\n /* WARNING: Subroutine does not return */\n ___stack_chk_fail();\n }\n return IVar1;\n}\n\n"},"subject":{"architecture":"arm64","digest":{"sha256":"f01e8c0b7e2676b2961950b0e48efdd2589af218e4b36de7d39f5d1c76852bfb"},"format":"mach-o","local_path":"/private/tmp/paintfcp-rea.b3j9Te/MSE18V2-arm64","name":"MSE18V2-arm64"}}],"scenarios":[],"unknowns":[]} \ No newline at end of file diff --git a/docs/analysis/slim-pose-report.json b/docs/analysis/slim-pose-report.json new file mode 100644 index 0000000..755e0df --- /dev/null +++ b/docs/analysis/slim-pose-report.json @@ -0,0 +1,385 @@ +{ + "schema": 1, + "date": "2026-10-21", + "request": "最大瘦脸差异与人物转脸时的变形机制", + "reference": { + "plugin_sha256": "6c5d74bc844a5c5f745718b48ea10ec6635d08aa08a5b6dc6e62653980849f8a", + "arm64_sha256": "f01e8c0b7e2676b2961950b0e48efdd2589af218e4b36de7d39f5d1c76852bfb", + "metallib_sha256": "4e8c77db8be94ae169337a2e646407f69520b63afb248faa653e0e068237aaae" + }, + "air_observation": { + "authority": "static Apple metal-objdump AIR disassembly; not observed shader execution", + "command": "xcrun metal-objdump --metallib --disassemble-symbols=faceThinFragmentShader ", + "full_output_sha256": "f97705b88f5491057df2117aef457ffca84e11020574cd57742b0670db4484d8", + "full_output_bytes": 274496, + "local_output": "build/pose-analysis/face-thin.air.txt", + "module": "faceThinFragmentShader", + "module_metallib_offset": "0x5d5e", + "function": "mssFaceShapePinCoordinate", + "active_branch": "faceShapeParamsActive selects Shape helper; inactive branch alone selects legacy Thin helper", + "local_pin_triplets": [ + [ + 75, + 74, + 6 + ], + [ + 59, + 60, + 13 + ], + [ + 74, + 73, + 47 + ], + [ + 60, + 61, + 47 + ], + [ + 73, + 72, + 47 + ], + [ + 61, + 62, + 47 + ], + [ + 72, + 71, + 48 + ], + [ + 62, + 63, + 48 + ], + [ + 71, + 70, + 48 + ], + [ + 63, + 64, + 48 + ], + [ + 70, + 69, + 49 + ], + [ + 64, + 65, + 49 + ], + [ + 69, + 68, + 49 + ], + [ + 65, + 66, + 49 + ], + [ + 68, + 67, + 52 + ], + [ + 66, + 67, + 52 + ], + [ + 67, + 65, + 47 + ] + ], + "triplet_usage": "first=origin, third=anchor; second unused in thin loop", + "thin_cpu_scale": 0.025, + "size_gain": "clamp(280/max(length((P75-P59)*imageSize),2*length((P67-(P74+P60)/2)*imageSize),1),1,2.25)", + "effective_pin_gain": "clamp(UI thin,0,1) * strengthMultiplier * 0.025 * size_gain", + "radius": "length(origin-anchor) in normalized image UV", + "falloff": "clamp(1-length(currentSampleCoordinate-origin)/radius,0,1)", + "inverse_sample_step": "q = clamp(q-(anchor-origin)*effective_pin_gain*falloff,0,1)", + "iteration": "17 sequential updates; not 17 independent offsets evaluated at one original coordinate", + "bounded_negative_findings": [ + "No yaw/roll/pitch input to the checked GPU helpers", + "No explicit side-view angle gate in the checked thin branch", + "No explicit eye/nose restore mask in the checked thin branch; each single pin has zero weight at its own anchor" + ], + "limits": [ + "This is a 2D local landmark deformation, not proof of 3D head pose estimation", + "Static paths are not a capture of the exact runtime branch used in the supplied screenshots", + "Other contour controls include fixed horizontal offsets; not all controls share rotation-equivariant behavior" + ] + }, + "vision_probe": { + "authority": "Independent public Apple Vision / AVFoundation invocation; no reference app or plug-in executed", + "script": "scripts/inspect-face-geometry.m", + "revision": 3, + "constellation": 76, + "maximum_dimension": 1280, + "coordinate_system": "full-image normalized, y up", + "region_indices": { + "contour": [ + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75 + ], + "innerLips": [ + 42, + 40, + 43, + 45, + 41, + 44 + ], + "leftEye": [ + 0, + 4, + 5, + 1, + 3, + 2 + ], + "leftPupil": [ + 6 + ], + "nose": [ + 47, + 56, + 54, + 53, + 52, + 51, + 50, + 55 + ], + "noseCrest": [ + 46, + 47, + 48, + 49, + 58, + 57 + ], + "outerLips": [ + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 26 + ], + "rightEye": [ + 7, + 11, + 12, + 8, + 10, + 9 + ], + "rightPupil": [ + 13 + ] + }, + "frames": [ + { + "time": 0, + "face_count": 1, + "all_point_counts": [ + 76 + ], + "yaw_radians": [ + 0 + ], + "pitch_radians": [ + null + ] + }, + { + "time": 2, + "face_count": 1, + "all_point_counts": [ + 76 + ], + "yaw_radians": [ + 0.7853981852531433 + ], + "pitch_radians": [ + null + ] + }, + { + "time": 4, + "face_count": 1, + "all_point_counts": [ + 76 + ], + "yaw_radians": [ + 1.5707963705062866 + ], + "pitch_radians": [ + null + ] + }, + { + "time": 6, + "face_count": 1, + "all_point_counts": [ + 76 + ], + "yaw_radians": [ + 0 + ], + "pitch_radians": [ + null + ] + }, + { + "time": 8, + "face_count": 1, + "all_point_counts": [ + 76 + ], + "yaw_radians": [ + 0 + ], + "pitch_radians": [ + null + ] + }, + { + "time": 10, + "face_count": 1, + "all_point_counts": [ + 76 + ], + "yaw_radians": [ + 0 + ], + "pitch_radians": [ + null + ] + }, + { + "time": 12, + "face_count": 1, + "all_point_counts": [ + 76 + ], + "yaw_radians": [ + 0 + ], + "pitch_radians": [ + null + ] + }, + { + "time": 14, + "face_count": 1, + "all_point_counts": [ + 76 + ], + "yaw_radians": [ + 0 + ], + "pitch_radians": [ + null + ] + }, + { + "time": 16, + "face_count": 1, + "all_point_counts": [ + 76 + ], + "yaw_radians": [ + 0 + ], + "pitch_radians": [ + null + ] + }, + { + "time": 18, + "face_count": 1, + "all_point_counts": [ + 76 + ], + "yaw_radians": [ + 1.5707963705062866 + ], + "pitch_radians": [ + null + ] + }, + { + "time": 20, + "face_count": 1, + "all_point_counts": [ + 76 + ], + "yaw_radians": [ + 0.7853981852531433 + ], + "pitch_radians": [ + null + ] + } + ], + "result": "All 11 sampled frames returned one face and 76 points; 4s/18s reported yaw approx pi/2; pitch unavailable", + "privacy": "Source frames, complete landmarks and source path remain ignored under build/pose-analysis/vision and are not included in Git" + }, + "reconstruction_baseline": { + "commit": "e03e460a9b3e5ad489aad24095485ba10ceb987d", + "installed_version": "1.0.4 (6)", + "root_causes": [ + "thin deformation uses bounding box x/y/size rather than saved contour/nose points", + "horizontal symmetric inverse warp is applied at full strength for any valid box", + "no contour/landmark completeness guard or pose metadata preservation", + "fixed coefficients do not match reference local-pin scaling" + ], + "direction_check": "Positive thin samples outward and moves image features inward; the sign is not reversed", + "test_gap": "Existing geometry tests establish pixel changes, extent and persistence, not reference likeness or profile shape preservation" + }, + "checklist": { + "why_maximum_slim_differs": "answered: different geometric model, locality and effective strength", + "how_profile_is_handled": "answered within checked active thin path: projected 2D landmarks, local directions/radii; no established explicit yaw gate", + "full_native_visual_equivalence": "unverified; screenshots are not a synchronized isolated-parameter capture", + "product_fix": "not changed by this analysis; installed 1.0.4 retains the reported issue" + }, + "host_boundary": "User controls Motion/FCP; no UI interaction, host shutdown, app install or plug-in replacement in this analysis." +} diff --git a/docs/analysis/脸型变形与转脸分析.md b/docs/analysis/脸型变形与转脸分析.md new file mode 100644 index 0000000..b98271e --- /dev/null +++ b/docs/analysis/脸型变形与转脸分析.md @@ -0,0 +1,80 @@ +# 最大瘦脸与转脸变形分析 + +2026-10-21。用户已反馈自动跟随正常;本次检查四张实测图指出的脸型差异。当前安装版仍为1.0.4(6),本次没有修改产品变形代码、替换APP或操作Motion/FCP。 + +## 结论 + +我们的瘦脸按矩形脸框建立左右对称的水平收缩场;原版主要瘦脸路径根据完整二维面部关键点,顺序执行17组局部位移。两者的作用范围、方向和强度定义均不同。侧脸继续使用正面矩形场,是当前鼻尖、下巴和邻近区域异常变形的直接原因;跟踪框跟对人不能解决这个问题。 + +原版已检查的瘦脸路径没有读取yaw/roll/pitch后切换侧脸算法,也没有专门的侧脸角度衰减。它每帧获得随姿态变化的二维轮廓与鼻部位置,让局部收缩方向和作用半径随这些点变化。这属于二维关键点自适应,不能表述成已恢复完整3D姿态估计。 + +## 原版证据链 + +只读目标与上一轮一致:插件原件SHA-256为`6c5d74bc844a5c5f745718b48ea10ec6635d08aa08a5b6dc6e62653980849f8a`;arm64分析切片为`f01e8c0b7e2676b2961950b0e48efdd2589af218e4b36de7d39f5d1c76852bfb`。本次开始后重新计算原件摘要,未发生变化。Metal库摘要为`4e8c77db8be94ae169337a2e646407f69520b63afb248faa653e0e068237aaae`。 + +|步骤|直接静态观察|REA Evidence| +|---|---|---| +|检测设置|`0x100016a3c`优先配置Vision revision 3及76点constellation;不支持时存在旧revision回退|`ev_02f734a0d72f1b7b77a3112d1de297b9e99ea43d5377349e6eebb71ab017d650`| +|当前帧检测|`cachedFaceObservations…`发起`VNDetectFaceLandmarksRequest`,另有重试与缓存|`ev_61ea8c6e7117f18e47fe6cf820c9ec0a59865dedaf3d9c09813be0a5bd7a79bc`| +|有效点筛选|`0x1000230cc`要求至少76点;`0x100022c70`转换76点并添加第77个中心点;`0x100017cd8`检查有限数值、空间范围及轮廓分布|`ev_63bb7c8fb07dbe456027f4d4e6be52118338b91ab39dbf9ed6620de9090bc260`、`ev_5f27f174c793c94cd45219d6c405e6b54b96e2650c7462ccc5eeaea14f2604c3`、`ev_1c62b4dab3cf8b661eb5c31b034a0b3cadf9f1f6cb512aace8b3b0838bc74b5c`| +|输入几何|`0x1000274d0`打包77个float2,616字节,转换到输出纹理坐标并检查越界点/轮廓尺度|`ev_8a33a7bb27a1a966f9e4ee26380501f1cb009d7d4665ed93b73bd3f630436556`| +|参数缩放|`0x1000279f4`将瘦脸滑块值乘0.025及渲染强度,写入十float脸型结构的第一项|`ev_449e1fc8883b8afe27240f672f98f300d4132ac4994db5e1590a4f7ca4e21278`| +|GPU连接|`FxMTLDeviceCacheItem::initWithDevice:pixelFormat:`将`faceThinFragmentShader`接入瘦脸pipeline;`0x100027d38/0x10002807c`上传点阵、数量及脸型参数到该pipeline|`ev_1520c2d83845004994f2be940c8c5ea3f4a62daf2d8e3e06278f381ffca1a010`、`ev_dc4487de4891c4a663dab370f2e207799bec7e2ad305a98a1ed579e5de6ef263`、`ev_7d2cc9ff3bf8ed3ceea2d91ffb7c2c47ad45337a792f101c1d989272f37023b1`| + +完整REA记录见[证据包](rea-slim-pose.json)。伪代码是Ghidra生成的静态分析结果,寄存器参数与CGRect返回类型部分恢复不完整;此处没有将其当作原始源码或实际执行记录。 + +## Metal瘦脸计算 + +用本机Apple工具对只读`default.metallib`输出AIR中间代码。它不是字符串猜测:`faceThinFragmentShader`在`faceShapeParamsActive`为真时调用`mssFaceShapePinCoordinate`,只有inactive分支调用旧`mssFaceThinPinCoordinate`。开启瘦脸后第一项脸型参数非零,因此可建立Shape分支的静态路径。原版截图当时具体走哪条宿主渲染分支没有运行捕获。 + +Shape helper中的瘦脸部分有17组点操作,每组实际读取origin和anchor,三元表中的第二项在这一循环中未使用。origin均为59–75号脸轮廓点,anchor为6、13、47、48、49、52号点;独立Vision区域对应检查确认,6/13是左右瞳孔,47/48/49/52位于鼻部或鼻梁。不能把所有锚点都叫下颌点或鼻部点。 + +单组逆向采样的结构为: + +```text +r = distance(origin, anchor) +w = clamp(1 - distance(q, origin) / r, 0, 1) +q = clamp(q - (anchor - origin) * effectiveStrength * w, 0, 1) +``` + +17组顺序更新同一个采样坐标q,不能将其视为一次整脸等比缩放。这里的距离在整幅纹理归一化UV中计算;它并非完整按像素各向同性的旋转不变模型。单组在其anchor处权重为零,但其他组仍可能影响该处,不能说整个鼻部或所有五官被锁死。 + +有效强度另含尺寸补偿:`k=clamp(280/max(轮廓两端像素距离, 下巴到上侧轮廓中点的像素距离×2, 1), 1, 2.25)`,单pin系数约为`滑块×0.025×k×渲染强度`。它对小脸加大效果,**不是侧脸质量衰减**。最大单组系数0.05625也不是最终整脸缩窄百分比。 + +AIR结构摘要、全部17组索引、尺寸公式、输出摘要和复现命令在[机器可读报告](slim-pose-report.json)。完整AIR文本留在本地`build/pose-analysis/face-thin.air.txt`,未把原版metallib或原版程序加入产品或仓库。 + +## 为什么转脸时更自然 + +已证实的机制是:轮廓投影变化→局部origin、anchor间向量变化→各处的收缩方向、半径随之变化;并非先证明“人物转头90度”,再换一套固定对称瘦脸公式。另有上一轮已分析的时间点阵稳定、有效性检查和失检参考保持,这些可减少跳动;它们与瘦脸位移模型是两个层面。 + +本次检查的GPU瘦脸分支没有yaw/roll/pitch输入、左右脸对称比门限、侧脸强度开关或末端五官恢复蒙版。原生函数名检索也未发现`objc_stub::yaw/roll/pitch` getter;这是有界负面结果,不能据此宣称整个APP绝无任何姿态相关逻辑。其他脸型项仍有固定画面X方向位移,不能把瘦脸的局部点特性扩张成所有控制都具有相同的转头适应性。 + +## 同一素材的独立验证 + +运行独立的[离线检测工具](../../scripts/inspect-face-geometry.m),从用户视频在0、2、4、6、8、10、12、14、16、18、20秒各取一帧。请求使用Vision revision 3 / 76点,图像最长边1280。全部11帧均返回1张脸、76点;4秒和18秒的Vision yaw约为π/2,pitch均不可用。 + +这证明明显侧脸仍可以获得完整二维点阵,也校验了59–75号点确为轮廓、6/13号为瞳孔、47/48/49/52号为鼻部相关点。yaw为检测器返回值,不能当作实测头部角度。工具没有调用或执行原版滤镜,不是原版宿主像素等价测试;本机Vision版本、检测尺寸与宿主缓存可能使点坐标与原版当帧不同。Vision本身报告yaw,也不能说明原版瘦脸实际使用该属性。 + +用户素材、截图、导出的帧及完整人脸坐标均只保留在被忽略的本地build目录,没有上传远程仓库。入库的报告仅含汇总计数、区域索引和角度信息。 + +工具复现: + +```sh +xcrun clang -fobjc-arc -Wall -Wextra \ + -framework Foundation -framework AVFoundation -framework Vision \ + -framework ImageIO -framework CoreGraphics -framework CoreMedia \ + scripts/inspect-face-geometry.m -o /tmp/inspect-face-geometry +/tmp/inspect-face-geometry '<用户视频路径>' '<本地输出目录>/geometry.json' 0 2 4 6 8 10 12 14 16 18 20 +``` + +## 当前实现差异与修复落点 + +`PGFaceProcessor.m:290–305`的瘦脸只用框中心/宽高,按画面水平轴同时处理左右;`warpImage:geometry:settings:extent:`额外读取的双眼仅用于大眼。已有`contour/nose/lips`未参与瘦脸,缺失轮廓时仍会按有效框足额变形。pose信息也没有贯通提取、净化、实时稳定和离线存储。 + +正值采样向外、视觉向内收的符号本身正确;简单反号无法修复。当前公式在框高35%处的测试位置将脸框两边缘间距缩小约20.2%,作用域还可延伸到框外。这个局部计算是当前公式的解析检查,不代表与原版截图的实测宽度差。 + +后续修正应让瘦脸直接使用稳定后的轮廓和鼻部控制点,按局部方向/半径位移,并校准尺寸补偿和滑块映射。若另加显式姿态或质量衰减,应标记为本项目设计,不能当作已证实的原版算法。完整点阵必须贯通实时与持久化路径,不能只在检测入口新增字段后被后续步骤丢弃。 + +现有测试只能证明各几何参数改变像素、范围保持和跟踪恢复一致,尚未验证最大瘦脸外观或侧脸形状。修复验证至少应包括同帧正面/半侧/全侧、向左右转脸、歪头、轮廓缺失、正逆播放、100%瘦脸与多个脸型项叠加,和原版在隔离相同其他参数后的对照。 + +本轮完成机制分析及独立检测,未宣称已修复安装版,也未将用户的“跟踪没问题”扩张为其他未覆盖的原生验收通过。 diff --git a/docs/验证记录.md b/docs/验证记录.md index 4cfdf58..ba65dba 100644 --- a/docs/验证记录.md +++ b/docs/验证记录.md @@ -22,7 +22,7 @@ Motion:独立普通视频项目,源PTS0、1920×1080/25fps/10秒,媒体通 用户给出的MS超级美颜V2.moef共发布15个入口,没有跟踪、前向或后向分析控件。没有额外分析按钮不影响原版默认自动跟随;活跃render路径与Motion运行均已确认这一点。复刻版的三目标离线分析与持久化属于独立扩展,应与默认实时跟随分开理解。 -六种肤色风格采用自写调色变换,脸型使用基于Vision关键点的近似局部反向采样;未复制原版私有LUT或算法资源。没有完成原版逐像素对齐、全部脸型强度主观比对、多人交叉遮挡、所有宿主版本及Intel硬件验收。源码层保存/恢复测试不代替两宿主所有工程关闭重开场景。 +六种肤色风格采用自写调色变换,脸型当前使用Vision脸框场与眼部点位置的近似反向采样;瘦脸本身没有使用下颌轮廓点。未复制原版私有LUT或算法资源。没有完成原版逐像素对齐、全部脸型强度主观比对、多人交叉遮挡、所有宿主版本及Intel硬件验收。源码层保存/恢复测试不代替两宿主所有工程关闭重开场景。 ## 自动化与恢复 @@ -41,3 +41,11 @@ Motion:独立普通视频项目,源PTS0、1920×1080/25fps/10秒,媒体通 原版完整数学系数未恢复,本版使用自有平滑公式与past-only时间策略;当前检测框未做原版77点网格级稳定,没有真正sourceID,不能声称任意同尺寸换源或首次乱序完全一致。原生1.0.4:Motion成功加载正式路径插件,实际视频在不同播放头位置正常显示提亮、脸型和黄色主要人脸框;项目未执行离线分析,“使用跟踪数据”读取为0。用户随后明确接管Motion/FCP进行自测,自动化已停止,因此尚未完成1.0.4的FCP自动跟随、显式OSC点击回写及两宿主复杂场景验收。FCP黑屏输入链与提亮此前已原生复测,不能把它们混称为1.0.4所有自动跟随场景通过。详见分析说明的具体边界。 代码节点已从远端独立克隆恢复,51项受跟踪文件与9项必要资源逐字节/对象/文件模式一致;380项检查、严格fsck与Xcode工程读取全部通过,无LFS或子模块。验收报告见 [独立恢复摘要](verification/recovery-e03e460.txt) 与 [完整记录](verification/recovery-e03e460.json)。最终文档标签另作独立克隆核验,源码构建依赖没有因文档更新改变。 + +## 用户复测与瘦脸专项分析 + +用户反馈“跟踪没问题”,同时提供最大瘦脸与侧脸变形对照。记录为用户实测反馈,不扩张为显式OSC点击、两宿主复杂场景或全部脸型验收通过。 + +后续静态REA和Apple Metal AIR分析确认:原版瘦脸以17组轮廓到鼻部/瞳孔锚点的局部位移驱动,当前瘦脸按框水平对称变形,两者的方向、范围与强度模型不同。独立Vision76点离线探针在同一视频11个采样时刻均检出1脸76点,含明显侧脸;它只证明关键点仍可获得,不代替原版宿主输出对照。探针使用Wall/Wextra编译成功并完成采样,没有执行原版APP、替换安装版或操作Motion/FCP。 + +分析报告见 [脸型变形与转脸分析](analysis/脸型变形与转脸分析.md)。当前安装1.0.4的变形问题尚未修复,本轮的诊断代码/证据/文档不改变已安装产品。 diff --git a/scripts/inspect-face-geometry.m b/scripts/inspect-face-geometry.m new file mode 100644 index 0000000..d075cf7 --- /dev/null +++ b/scripts/inspect-face-geometry.m @@ -0,0 +1,109 @@ +// Offline diagnostic only. It uses Apple's public Vision API, never a host UI +// or the reference plug-in. User media and generated observations stay local. +#import +#import +#import +#import +#include + +static NSArray *PGProbePoint(CGPoint p) { return @[@(p.x), @(p.y)]; } +static NSArray *RegionIndices(VNFaceLandmarkRegion2D *region, VNFaceLandmarkRegion2D *all) { + NSMutableArray *indices = [NSMutableArray array]; + for (NSUInteger i=0; i ...\n"); + return 2; + } + NSURL *source=[NSURL fileURLWithPath:@(argv[1])]; + NSURL *output=[NSURL fileURLWithPath:@(argv[2])]; + if (![NSFileManager.defaultManager fileExistsAtPath:source.path]) return 2; + NSError *error=nil; + if (![NSFileManager.defaultManager createDirectoryAtURL:[output URLByDeletingLastPathComponent] + withIntermediateDirectories:YES attributes:nil error:&error]) { + fprintf(stderr,"%s\n",error.description.UTF8String); return 1; + } + AVURLAsset *asset=[AVURLAsset URLAssetWithURL:source options:nil]; + AVAssetImageGenerator *generator=[[AVAssetImageGenerator alloc] initWithAsset:asset]; + generator.appliesPreferredTrackTransform=YES; + generator.maximumSize=CGSizeMake(1280,1280); + generator.requestedTimeToleranceBefore=kCMTimeZero; + generator.requestedTimeToleranceAfter=kCMTimeZero; + NSMutableArray *frames=[NSMutableArray array]; + for (int a=3; a