{ "artifacts": [ { "architecture": "arm64", "digest": { "sha256": "afc71d0d21fd3c1ca95ca745ddafcd729e36ad95f17d8638009f2e45d9b7e8df" }, "format": "mach-o" } ], "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_015a585ce5565d874f5b55af0c363bed634f09a29088ef660d3ca1c547626c26", "evidence_links": [], "limitations": [ "The session serves operations only after Ghidra reports default auto-analysis complete; incomplete analysis does not expose partial results.", "The imported Program and temporary project are ephemeral and deleted on close. Annotation operations edit session database metadata; original executable bytes are never written.", "Cancelling an active Ghidra request terminates its ephemeral database and discards session annotations. The selected target remains open; the next provider query imports the original artifact again.", "Default-space addresses use lowercase 0x-prefixed hexadecimal; other address spaces use :0x.", "Only Ghidra-defined string Data is observed; packed or undefined string bytes may be absent. Completeness applies to that inventory, and an empty search does not establish that text is absent from the artifact. If an address is known, use read_bytes and xrefs to inspect bytes and references.", "Regex mode uses Java Pattern semantics. Matcher or compiler stack exhaustion returns a resource constraint without closing the session; literal mode avoids regex recursion and returns complete matching values.", "macOS sessions require a matching executable Ghidra native decompiler; REA checks for it but does not build native components or change Gatekeeper quarantine state." ], "locations": [], "normalized_result": [ { "address": "0x1000c2b40", "value": "_$s10Foundation10URLRequestV8httpBodyAA4DataVSgvs" }, { "address": "0x1000cb7dd", "value": "_$s10Foundation10URLRequestV8httpBodyAA4DataVSgvs" } ], "operation": "search_strings", "parameters": { "case_sensitive": false, "mode": "regex", "pattern": "瘦|身体|身材|长腿|肤色范围|非肤色区|body|slim|waist" }, "predicate_type": "rea.analysis", "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" }, "raw_result": [ { "address": "0x1000c2b40", "value": "_$s10Foundation10URLRequestV8httpBodyAA4DataVSgvs" }, { "address": "0x1000cb7dd", "value": "_$s10Foundation10URLRequestV8httpBodyAA4DataVSgvs" } ], "subject": { "architecture": "arm64", "digest": { "sha256": "afc71d0d21fd3c1ca95ca745ddafcd729e36ad95f17d8638009f2e45d9b7e8df" }, "format": "mach-o", "local_path": "/Users/dayu/Documents/PaintFCP/build/body-analysis/MSE18V2-arm64", "name": "MSE18V2-arm64" } }, { "analysis_profile": { "digest": "20565088524a2d0359b9b96f46ac48e679d774c7b0092c56abc06de8fdbec11c", "parameters": { "analyzer_preset": "ghidra-default", "annotation_policy": "atomic-function-entry-metadata-v1", "architecture": "arm64", "available_architectures": [ "arm64" ], "compiler_spec_id": "auto-default", "decompiler_jump_loads": true, "function_body_evidence": "complete-inclusive-ranges-v1", "function_boundary_observations": "ghidra-terminal-call-limitations-v1", "function_references": "complete-body-and-entry-reference-manager-v2", "import_mode": "ephemeral-source-immutable", "instruction_flow_evidence": "decoded-return-pcode-v1", "jump_table_evidence": "typed-case-default-blocks-v1", "language_id": "auto-from-header", "load_image_observations": "source-mappings-entry-context-v2", "loader": "auto-from-header", "location_resolution": "explicit-address-exact-entry-symbol-first-v3", "no_return_repair": "returning-imports-decoded-return-v2", "process_launch": "inspected-jvm-launch-support-v1", "string_inventory_evidence": "defined-data-coverage-v1", "target_format": "mach-o", "target_kind": "executable" }, "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" } }, "authority": "shipped-artifact", "confidence": "observed", "environment": null, "evidence_id": "ev_0197ec45c278a1cf0f9ed142f39ea2e4bee639d708a5e47b48168a16c05c7339", "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": "\ndouble FUN_10003d49c(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4,\n ulong param_5)\n\n{\n undefined *puVar1;\n ID IVar2;\n double extraout_d0;\n double dVar3;\n double dVar4;\n double dVar5;\n \n puVar1 = PTR__CGRectNull_1000a8148;\n if (param_5 == 0) {\n dVar5 = *(double *)PTR__CGRectNull_1000a8148;\n param_2 = *(undefined8 *)(PTR__CGRectNull_1000a8148 + 8);\n param_3 = *(undefined8 *)(PTR__CGRectNull_1000a8148 + 0x10);\n param_4 = *(undefined8 *)(PTR__CGRectNull_1000a8148 + 0x18);\n IVar2 = 0;\n }\n else {\n IVar2 = objc_stub::boundingBox(param_5);\n dVar5 = extraout_d0;\n _CGRectStandardize();\n _CGRectIntersection();\n }\n _CGRectIsNull(dVar5,param_2,param_3,param_4);\n if (((((IVar2 & 1) != 0) || (_CGRectIsEmpty(dVar5,param_2,param_3,param_4), (IVar2 & 1) != 0)) ||\n (dVar3 = dVar5, _CGRectGetWidth(dVar5,param_2,param_3,param_4), dVar3 <= 2.220446049250313e-16\n )) || (dVar3 = dVar5, _CGRectGetHeight(dVar5,param_2,param_3,param_4),\n dVar3 <= 2.220446049250313e-16)) {\n dVar5 = *(double *)puVar1;\n }\n else {\n FUN_100029d4c();\n dVar3 = dVar5;\n FUN_100042f9c(dVar5,param_2,param_3,param_4);\n _CGRectIsNull();\n if ((((param_5 & 1) == 0) && (_CGRectIsEmpty(dVar3,param_2,param_3,param_4), (param_5 & 1) == 0)\n ) && ((dVar4 = dVar3, _CGRectGetWidth(dVar3,param_2,param_3,param_4),\n 2.220446049250313e-16 < dVar4 &&\n (dVar4 = dVar3, _CGRectGetHeight(dVar3,param_2,param_3,param_4),\n 2.220446049250313e-16 < dVar4)))) {\n dVar5 = dVar3;\n }\n }\n return dVar5;\n}\n\n", "operation": "procedure_pseudo_code", "parameters": { "procedure": "0x10003d49c" }, "predicate_type": "rea.analysis", "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" }, "raw_result": { "limitations": [], "value": "\ndouble FUN_10003d49c(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4,\n ulong param_5)\n\n{\n undefined *puVar1;\n ID IVar2;\n double extraout_d0;\n double dVar3;\n double dVar4;\n double dVar5;\n \n puVar1 = PTR__CGRectNull_1000a8148;\n if (param_5 == 0) {\n dVar5 = *(double *)PTR__CGRectNull_1000a8148;\n param_2 = *(undefined8 *)(PTR__CGRectNull_1000a8148 + 8);\n param_3 = *(undefined8 *)(PTR__CGRectNull_1000a8148 + 0x10);\n param_4 = *(undefined8 *)(PTR__CGRectNull_1000a8148 + 0x18);\n IVar2 = 0;\n }\n else {\n IVar2 = objc_stub::boundingBox(param_5);\n dVar5 = extraout_d0;\n _CGRectStandardize();\n _CGRectIntersection();\n }\n _CGRectIsNull(dVar5,param_2,param_3,param_4);\n if (((((IVar2 & 1) != 0) || (_CGRectIsEmpty(dVar5,param_2,param_3,param_4), (IVar2 & 1) != 0)) ||\n (dVar3 = dVar5, _CGRectGetWidth(dVar5,param_2,param_3,param_4), dVar3 <= 2.220446049250313e-16\n )) || (dVar3 = dVar5, _CGRectGetHeight(dVar5,param_2,param_3,param_4),\n dVar3 <= 2.220446049250313e-16)) {\n dVar5 = *(double *)puVar1;\n }\n else {\n FUN_100029d4c();\n dVar3 = dVar5;\n FUN_100042f9c(dVar5,param_2,param_3,param_4);\n _CGRectIsNull();\n if ((((param_5 & 1) == 0) && (_CGRectIsEmpty(dVar3,param_2,param_3,param_4), (param_5 & 1) == 0)\n ) && ((dVar4 = dVar3, _CGRectGetWidth(dVar3,param_2,param_3,param_4),\n 2.220446049250313e-16 < dVar4 &&\n (dVar4 = dVar3, _CGRectGetHeight(dVar3,param_2,param_3,param_4),\n 2.220446049250313e-16 < dVar4)))) {\n dVar5 = dVar3;\n }\n }\n return dVar5;\n}\n\n" }, "subject": { "architecture": "arm64", "digest": { "sha256": "afc71d0d21fd3c1ca95ca745ddafcd729e36ad95f17d8638009f2e45d9b7e8df" }, "format": "mach-o", "local_path": "/Users/dayu/Documents/PaintFCP/build/body-analysis/MSE18V2-arm64", "name": "MSE18V2-arm64" } }, { "analysis_profile": { "digest": "20565088524a2d0359b9b96f46ac48e679d774c7b0092c56abc06de8fdbec11c", "parameters": { "analyzer_preset": "ghidra-default", "annotation_policy": "atomic-function-entry-metadata-v1", "architecture": "arm64", "available_architectures": [ "arm64" ], "compiler_spec_id": "auto-default", "decompiler_jump_loads": true, "function_body_evidence": "complete-inclusive-ranges-v1", "function_boundary_observations": "ghidra-terminal-call-limitations-v1", "function_references": "complete-body-and-entry-reference-manager-v2", "import_mode": "ephemeral-source-immutable", "instruction_flow_evidence": "decoded-return-pcode-v1", "jump_table_evidence": "typed-case-default-blocks-v1", "language_id": "auto-from-header", "load_image_observations": "source-mappings-entry-context-v2", "loader": "auto-from-header", "location_resolution": "explicit-address-exact-entry-symbol-first-v3", "no_return_repair": "returning-imports-decoded-return-v2", "process_launch": "inspected-jvm-launch-support-v1", "string_inventory_evidence": "defined-data-coverage-v1", "target_format": "mach-o", "target_kind": "executable" }, "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" } }, "authority": "shipped-artifact", "confidence": "observed", "environment": null, "evidence_id": "ev_0ba2509e191826cd11e58e6681326918d0a43464277717fdf57e75d4ff48537a", "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_1000502b0(double param_1,double param_2,double param_3,double param_4,ID param_5,\n double *param_6)\n\n{\n int iVar1;\n ID IVar2;\n cfstringStruct *self;\n double dVar4;\n double dVar5;\n double dVar6;\n double dVar7;\n double dVar8;\n undefined8 local_d0;\n undefined8 uStack_c8;\n undefined8 uStack_c0;\n undefined8 uStack_b8;\n undefined8 local_b0;\n undefined8 uStack_a8;\n undefined8 local_a0;\n undefined8 uStack_98;\n undefined8 uStack_90;\n undefined8 uStack_88;\n undefined8 local_80;\n undefined8 uStack_78;\n ID IVar3;\n \n if (param_6 != (double *)0x0) {\n *param_6 = param_1;\n param_6[1] = param_2;\n param_6[2] = param_3;\n param_6[3] = param_4;\n }\n IVar2 = param_5;\n _CGRectIsEmpty(param_1,param_2,param_3,param_4);\n if ((IVar2 & 1) == 0) {\n if (DAT_1000bdf40 != -1) {\n FUN_100079cc8();\n }\n if ((DAT_1000bd1f0 & 1) != 0) {\n dVar6 = param_1;\n _CGRectGetWidth(param_1,param_2,param_3,param_4);\n dVar7 = param_1;\n _CGRectGetHeight(param_1,param_2,param_3,param_4);\n dVar8 = dVar7;\n if (dVar7 <= dVar6) {\n dVar8 = dVar6;\n }\n if (DAT_1000bdf48 != -1) {\n FUN_100079cdc();\n }\n if ((dVar8 <= DAT_1000bd1f8) || (DAT_1000bd1f8 <= 0.0)) {\n self = &cf_vision_downsample_skipped_small;\n }\n else {\n dVar8 = DAT_1000bd1f8 / dVar8;\n dVar4 = ABS(dVar8);\n if (((0x7ff0000000000000 < (ulong)dVar4 ||\n (dVar4 == INFINITY ||\n (dVar4 == 0.0 || (long)dVar8 < 0 && (long)ABS(dVar8) - 1U < 0xfffffffffffff))) ||\n (long)dVar8 < 0 && (long)ABS(dVar8) + 0xfff0000000000000U >> 0x35 < 0x3ff) ||\n (1.0 <= dVar8)) {\n self = &cf_vision_downsample_skipped_invalid_scale;\n }\n else {\n dVar4 = param_1;\n _CGRectGetMinX(param_1,param_2,param_3,param_4);\n dVar5 = param_1;\n _CGRectGetMinY(param_1,param_2,param_3,param_4);\n _CGAffineTransformMakeTranslation(&local_a0,-dVar4,-dVar5);\n uStack_c8 = uStack_98;\n local_d0 = local_a0;\n uStack_b8 = uStack_88;\n uStack_c0 = uStack_90;\n uStack_a8 = uStack_78;\n local_b0 = local_80;\n IVar2 = objc_stub::imageByApplyingTransform_(param_5,&local_d0);\n _CGAffineTransformMakeScale(&local_d0,dVar8,dVar8);\n IVar2 = objc_stub::imageByApplyingTransform_(IVar2,&local_d0);\n dVar6 = (double)(long)(dVar6 * dVar8);\n if (dVar6 <= 1.0) {\n dVar6 = 1.0;\n }\n dVar7 = (double)(long)(dVar7 * dVar8);\n if (dVar7 <= 1.0) {\n dVar7 = 1.0;\n }\n IVar2 = objc_stub::imageByCroppingToRect_(IVar2,0,0,dVar6,dVar7);\n if (IVar2 != 0) {\n IVar3 = objc_stub::extent(IVar2);\n iVar1 = (int)IVar3;\n _CGRectIsEmpty();\n if (iVar1 == 0) {\n if (param_6 != (double *)0x0) {\n *param_6 = 0.0;\n param_6[1] = 0.0;\n param_6[2] = dVar6;\n param_6[3] = dVar7;\n }\n objc_stub::length(0x1000aeca0);\n _NSStringFromRect(param_1,param_2,param_3,param_4);\n _NSStringFromRect(0,0,dVar6,dVar7);\n return IVar2;\n }\n }\n self = &cf_vision_downsample_skipped_empty_result;\n }\n }\n goto LAB_1000504c4;\n }\n }\n self = &cf_vision_downsample_skipped_disabled_or_empty;\nLAB_1000504c4:\n objc_stub::length((ID)self);\n return param_5;\n}\n\n", "operation": "procedure_pseudo_code", "parameters": { "procedure": "0x1000502b0" }, "predicate_type": "rea.analysis", "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" }, "raw_result": { "limitations": [], "value": "\nID FUN_1000502b0(double param_1,double param_2,double param_3,double param_4,ID param_5,\n double *param_6)\n\n{\n int iVar1;\n ID IVar2;\n cfstringStruct *self;\n double dVar4;\n double dVar5;\n double dVar6;\n double dVar7;\n double dVar8;\n undefined8 local_d0;\n undefined8 uStack_c8;\n undefined8 uStack_c0;\n undefined8 uStack_b8;\n undefined8 local_b0;\n undefined8 uStack_a8;\n undefined8 local_a0;\n undefined8 uStack_98;\n undefined8 uStack_90;\n undefined8 uStack_88;\n undefined8 local_80;\n undefined8 uStack_78;\n ID IVar3;\n \n if (param_6 != (double *)0x0) {\n *param_6 = param_1;\n param_6[1] = param_2;\n param_6[2] = param_3;\n param_6[3] = param_4;\n }\n IVar2 = param_5;\n _CGRectIsEmpty(param_1,param_2,param_3,param_4);\n if ((IVar2 & 1) == 0) {\n if (DAT_1000bdf40 != -1) {\n FUN_100079cc8();\n }\n if ((DAT_1000bd1f0 & 1) != 0) {\n dVar6 = param_1;\n _CGRectGetWidth(param_1,param_2,param_3,param_4);\n dVar7 = param_1;\n _CGRectGetHeight(param_1,param_2,param_3,param_4);\n dVar8 = dVar7;\n if (dVar7 <= dVar6) {\n dVar8 = dVar6;\n }\n if (DAT_1000bdf48 != -1) {\n FUN_100079cdc();\n }\n if ((dVar8 <= DAT_1000bd1f8) || (DAT_1000bd1f8 <= 0.0)) {\n self = &cf_vision_downsample_skipped_small;\n }\n else {\n dVar8 = DAT_1000bd1f8 / dVar8;\n dVar4 = ABS(dVar8);\n if (((0x7ff0000000000000 < (ulong)dVar4 ||\n (dVar4 == INFINITY ||\n (dVar4 == 0.0 || (long)dVar8 < 0 && (long)ABS(dVar8) - 1U < 0xfffffffffffff))) ||\n (long)dVar8 < 0 && (long)ABS(dVar8) + 0xfff0000000000000U >> 0x35 < 0x3ff) ||\n (1.0 <= dVar8)) {\n self = &cf_vision_downsample_skipped_invalid_scale;\n }\n else {\n dVar4 = param_1;\n _CGRectGetMinX(param_1,param_2,param_3,param_4);\n dVar5 = param_1;\n _CGRectGetMinY(param_1,param_2,param_3,param_4);\n _CGAffineTransformMakeTranslation(&local_a0,-dVar4,-dVar5);\n uStack_c8 = uStack_98;\n local_d0 = local_a0;\n uStack_b8 = uStack_88;\n uStack_c0 = uStack_90;\n uStack_a8 = uStack_78;\n local_b0 = local_80;\n IVar2 = objc_stub::imageByApplyingTransform_(param_5,&local_d0);\n _CGAffineTransformMakeScale(&local_d0,dVar8,dVar8);\n IVar2 = objc_stub::imageByApplyingTransform_(IVar2,&local_d0);\n dVar6 = (double)(long)(dVar6 * dVar8);\n if (dVar6 <= 1.0) {\n dVar6 = 1.0;\n }\n dVar7 = (double)(long)(dVar7 * dVar8);\n if (dVar7 <= 1.0) {\n dVar7 = 1.0;\n }\n IVar2 = objc_stub::imageByCroppingToRect_(IVar2,0,0,dVar6,dVar7);\n if (IVar2 != 0) {\n IVar3 = objc_stub::extent(IVar2);\n iVar1 = (int)IVar3;\n _CGRectIsEmpty();\n if (iVar1 == 0) {\n if (param_6 != (double *)0x0) {\n *param_6 = 0.0;\n param_6[1] = 0.0;\n param_6[2] = dVar6;\n param_6[3] = dVar7;\n }\n objc_stub::length(0x1000aeca0);\n _NSStringFromRect(param_1,param_2,param_3,param_4);\n _NSStringFromRect(0,0,dVar6,dVar7);\n return IVar2;\n }\n }\n self = &cf_vision_downsample_skipped_empty_result;\n }\n }\n goto LAB_1000504c4;\n }\n }\n self = &cf_vision_downsample_skipped_disabled_or_empty;\nLAB_1000504c4:\n objc_stub::length((ID)self);\n return param_5;\n}\n\n" }, "subject": { "architecture": "arm64", "digest": { "sha256": "afc71d0d21fd3c1ca95ca745ddafcd729e36ad95f17d8638009f2e45d9b7e8df" }, "format": "mach-o", "local_path": "/Users/dayu/Documents/PaintFCP/build/body-analysis/MSE18V2-arm64", "name": "MSE18V2-arm64" } }, { "analysis_profile": { "digest": "20565088524a2d0359b9b96f46ac48e679d774c7b0092c56abc06de8fdbec11c", "parameters": { "analyzer_preset": "ghidra-default", "annotation_policy": "atomic-function-entry-metadata-v1", "architecture": "arm64", "available_architectures": [ "arm64" ], "compiler_spec_id": "auto-default", "decompiler_jump_loads": true, "function_body_evidence": "complete-inclusive-ranges-v1", "function_boundary_observations": "ghidra-terminal-call-limitations-v1", "function_references": "complete-body-and-entry-reference-manager-v2", "import_mode": "ephemeral-source-immutable", "instruction_flow_evidence": "decoded-return-pcode-v1", "jump_table_evidence": "typed-case-default-blocks-v1", "language_id": "auto-from-header", "load_image_observations": "source-mappings-entry-context-v2", "loader": "auto-from-header", "location_resolution": "explicit-address-exact-entry-symbol-first-v3", "no_return_repair": "returning-imports-decoded-return-v2", "process_launch": "inspected-jvm-launch-support-v1", "string_inventory_evidence": "defined-data-coverage-v1", "target_format": "mach-o", "target_kind": "executable" }, "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" } }, "authority": "shipped-artifact", "confidence": "observed", "environment": null, "evidence_id": "ev_12d242f25c4d714d4191d3f2c4ad88735910a6f89d06e6ca26531bc5772e8abf", "evidence_links": [], "limitations": [ "The session serves operations only after Ghidra reports default auto-analysis complete; incomplete analysis does not expose partial results.", "The imported Program and temporary project are ephemeral and deleted on close. Annotation operations edit session database metadata; original executable bytes are never written.", "Cancelling an active Ghidra request terminates its ephemeral database and discards session annotations. The selected target remains open; the next provider query imports the original artifact again.", "Default-space addresses use lowercase 0x-prefixed hexadecimal; other address spaces use :0x.", "Assembly is Ghidra Listing text and does not claim textual equivalence with Hopper output.", "macOS sessions require a matching executable Ghidra native decompiler; REA checks for it but does not build native components or change Gatekeeper quarantine state." ], "locations": [], "normalized_result": "0x100043338: sub sp, sp, #0xc0\n0x10004333c: stp d15, d14, [sp, #0x40]\n0x100043340: stp d13, d12, [sp, #0x50]\n0x100043344: stp d11, d10, [sp, #0x60]\n0x100043348: stp d9, d8, [sp, #0x70]\n0x10004334c: stp x24, x23, [sp, #0x80]\n0x100043350: stp x22, x21, [sp, #0x90]\n0x100043354: stp x20, x19, [sp, #0xa0]\n0x100043358: stp x29, x30, [sp, #0xb0]\n0x10004335c: add x29, sp, #0xb0\n0x100043360: mov x19, x4\n0x100043364: mov x20, x3\n0x100043368: mov x21, x2\n0x10004336c: fmov d8, d7\n0x100043370: fmov d10, d6\n0x100043374: fmov d11, d5\n0x100043378: fmov d12, d4\n0x10004337c: mov x23, x1\n0x100043380: fmov d13, d3\n0x100043384: fmov d14, d2\n0x100043388: fmov d15, d1\n0x10004338c: fmov d9, d0\n0x100043390: adrp x8, 0x1000a8000\n0x100043394: ldr x8, [x8, #0x140]\n0x100043398: ldr q0, [x8]\n0x10004339c: stp q0, q0, [sp, #0x20]\n0x1000433a0: stp xzr, xzr, [sp, #0x10]\n0x1000433a4: add x1, sp, #0x30\n0x1000433a8: add x2, sp, #0x18\n0x1000433ac: bl 0x100054d78\n0x1000433b0: mov x22, x0\n0x1000433b4: add x1, sp, #0x20\n0x1000433b8: add x2, sp, #0x10\n0x1000433bc: mov x0, x23\n0x1000433c0: bl 0x100054d78\n0x1000433c4: fmov d7, d8\n0x1000433c8: cbz w22, 0x1000433f8\n0x1000433cc: ldr d0, [sp, #0x18]\n0x1000433d0: mov x8, #0x3cb0000000000000\n0x1000433d4: fmov d1, x8\n0x1000433d8: fcmp d0, d1\n0x1000433dc: csel w8, wzr, w0, le\n0x1000433e0: ldr d1, [sp, #0x10]\n0x1000433e4: cmp w8, #0x1\n0x1000433e8: mov x8, #0x3cb0000000000000\n0x1000433ec: fmov d2, x8\n0x1000433f0: fccmp d1, d2, #0x4, eq\n0x1000433f4: b.gt 0x100043508\n0x1000433f8: mov x8, #0x7ff8000000000000\n0x1000433fc: fmov d2, x8\n0x100043400: cbz x21, 0x10004341c\n0x100043404: ldr d0, [sp, #0x38]\n0x100043408: cmp w22, #0x0\n0x10004340c: mov x8, #0x7ff8000000000000\n0x100043410: fmov d1, x8\n0x100043414: fcsel d0, d0, d1, ne\n0x100043418: str d0, [x21]\n0x10004341c: cbz x20, 0x100043438\n0x100043420: ldr d0, [sp, #0x28]\n0x100043424: cmp w0, #0x0\n0x100043428: mov x8, #0x7ff8000000000000\n0x10004342c: fmov d1, x8\n0x100043430: fcsel d0, d0, d1, ne\n0x100043434: str d0, [x20]\n0x100043438: cbz x19, 0x100043440\n0x10004343c: str d2, [x19]\n0x100043440: and w8, w22, w0\n0x100043444: cmp w8, #0x1\n0x100043448: b.ne 0x1000434dc\n0x10004344c: stp d2, d13, [sp]\n0x100043450: fmov d0, d9\n0x100043454: fmov d1, d15\n0x100043458: fmov d8, d9\n0x10004345c: fmov d2, d14\n0x100043460: fmov d3, d13\n0x100043464: fmov d13, d12\n0x100043468: fmov d4, d12\n0x10004346c: fmov d5, d11\n0x100043470: fmov d6, d10\n0x100043474: fmov d9, d7\n0x100043478: bl 0x1000549d4\n0x10004347c: cbz w0, 0x1000434e0\n0x100043480: fmov d0, d8\n0x100043484: fmov d1, d15\n0x100043488: fmov d2, d14\n0x10004348c: ldr d3, [sp, #0x8]\n0x100043490: bl 0x10007a934\n0x100043494: fmov d12, d0\n0x100043498: fmov d0, d13\n0x10004349c: fmov d1, d11\n0x1000434a0: fmov d2, d10\n0x1000434a4: fmov d3, d9\n0x1000434a8: bl 0x10007a934\n0x1000434ac: fcmp d12, d0\n0x1000434b0: fcsel d0, d12, d0, mi\n0x1000434b4: adrp x8, 0x100086000\n0x1000434b8: ldr d1, [x8, #0x358]\n0x1000434bc: fmul d0, d0, d1\n0x1000434c0: adrp x8, 0x100086000\n0x1000434c4: ldr d1, [x8, #0x418]\n0x1000434c8: fmaxnm d0, d0, d1\n0x1000434cc: ldp d2, d1, [sp, #0x10]\n0x1000434d0: fcmp d1, d0\n0x1000434d4: fccmp d2, d0, #0x8, pl\n0x1000434d8: b.pl 0x100043540\n0x1000434dc: mov w0, #0x0\n0x1000434e0: ldp x29, x30, [sp, #0xb0]\n0x1000434e4: ldp x20, x19, [sp, #0xa0]\n0x1000434e8: ldp x22, x21, [sp, #0x90]\n0x1000434ec: ldp x24, x23, [sp, #0x80]\n0x1000434f0: ldp d9, d8, [sp, #0x70]\n0x1000434f4: ldp d11, d10, [sp, #0x60]\n0x1000434f8: ldp d13, d12, [sp, #0x50]\n0x1000434fc: ldp d15, d14, [sp, #0x40]\n0x100043500: add sp, sp, #0xc0\n0x100043504: ret\n0x100043508: ldp d2, d3, [sp, #0x30]\n0x10004350c: ldp d4, d5, [sp, #0x20]\n0x100043510: fmul d3, d3, d5\n0x100043514: fmadd d2, d2, d4, d3\n0x100043518: fmul d0, d0, d1\n0x10004351c: fdiv d0, d2, d0\n0x100043520: fmov d1, 0x3ff0000000000000\n0x100043524: fcmp d0, d1\n0x100043528: fcsel d1, d1, d0, gt\n0x10004352c: fmov d2, -0x4010000000000000\n0x100043530: fcmp d0, d2\n0x100043534: fcsel d2, d2, d1, mi\n0x100043538: cbnz x21, 0x100043404\n0x10004353c: b 0x10004341c\n0x100043540: ldr d1, [sp, #0x38]\n0x100043544: ldr d2, [sp, #0x28]\n0x100043548: fmul d3, d1, d2\n0x10004354c: fcmp d3, #0.0\n0x100043550: b.pl 0x10004356c\n0x100043554: fabs d4, d1\n0x100043558: adrp x8, 0x100086000\n0x10004355c: ldr d3, [x8, #0x228]\n0x100043560: fmul d3, d0, d3\n0x100043564: fcmp d4, d3\n0x100043568: b.ge 0x10004358c\n0x10004356c: mov w8, #0x0\n0x100043570: adrp x9, 0x100086000\n0x100043574: ldr d0, [x9, #0x3e0]\n0x100043578: ldr d1, [sp]\n0x10004357c: fcmp d1, d0\n0x100043580: cset w9, ls\n0x100043584: and w0, w8, w9\n0x100043588: b 0x1000434e0\n0x10004358c: fabs d4, d2\n0x100043590: fcmp d4, d3\n0x100043594: cset w8, ge\n0x100043598: adrp x9, 0x100086000\n0x10004359c: ldr d5, [x9, #0x3e0]\n0x1000435a0: ldr d6, [sp]\n0x1000435a4: fcmp d6, d5\n0x1000435a8: cset w9, ls\n0x1000435ac: b.ls 0x100043584\n0x1000435b0: fcmp d4, d3\n0x1000435b4: b.lt 0x100043584\n0x1000435b8: fabd d1, d1, d2\n0x1000435bc: fcmp d1, d0\n0x1000435c0: cset w9, ge\n0x1000435c4: b 0x100043584", "operation": "procedure_assembly", "parameters": { "procedure": "0x100043338" }, "predicate_type": "rea.analysis", "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" }, "raw_result": { "limitations": [], "value": "0x100043338: sub sp, sp, #0xc0\n0x10004333c: stp d15, d14, [sp, #0x40]\n0x100043340: stp d13, d12, [sp, #0x50]\n0x100043344: stp d11, d10, [sp, #0x60]\n0x100043348: stp d9, d8, [sp, #0x70]\n0x10004334c: stp x24, x23, [sp, #0x80]\n0x100043350: stp x22, x21, [sp, #0x90]\n0x100043354: stp x20, x19, [sp, #0xa0]\n0x100043358: stp x29, x30, [sp, #0xb0]\n0x10004335c: add x29, sp, #0xb0\n0x100043360: mov x19, x4\n0x100043364: mov x20, x3\n0x100043368: mov x21, x2\n0x10004336c: fmov d8, d7\n0x100043370: fmov d10, d6\n0x100043374: fmov d11, d5\n0x100043378: fmov d12, d4\n0x10004337c: mov x23, x1\n0x100043380: fmov d13, d3\n0x100043384: fmov d14, d2\n0x100043388: fmov d15, d1\n0x10004338c: fmov d9, d0\n0x100043390: adrp x8, 0x1000a8000\n0x100043394: ldr x8, [x8, #0x140]\n0x100043398: ldr q0, [x8]\n0x10004339c: stp q0, q0, [sp, #0x20]\n0x1000433a0: stp xzr, xzr, [sp, #0x10]\n0x1000433a4: add x1, sp, #0x30\n0x1000433a8: add x2, sp, #0x18\n0x1000433ac: bl 0x100054d78\n0x1000433b0: mov x22, x0\n0x1000433b4: add x1, sp, #0x20\n0x1000433b8: add x2, sp, #0x10\n0x1000433bc: mov x0, x23\n0x1000433c0: bl 0x100054d78\n0x1000433c4: fmov d7, d8\n0x1000433c8: cbz w22, 0x1000433f8\n0x1000433cc: ldr d0, [sp, #0x18]\n0x1000433d0: mov x8, #0x3cb0000000000000\n0x1000433d4: fmov d1, x8\n0x1000433d8: fcmp d0, d1\n0x1000433dc: csel w8, wzr, w0, le\n0x1000433e0: ldr d1, [sp, #0x10]\n0x1000433e4: cmp w8, #0x1\n0x1000433e8: mov x8, #0x3cb0000000000000\n0x1000433ec: fmov d2, x8\n0x1000433f0: fccmp d1, d2, #0x4, eq\n0x1000433f4: b.gt 0x100043508\n0x1000433f8: mov x8, #0x7ff8000000000000\n0x1000433fc: fmov d2, x8\n0x100043400: cbz x21, 0x10004341c\n0x100043404: ldr d0, [sp, #0x38]\n0x100043408: cmp w22, #0x0\n0x10004340c: mov x8, #0x7ff8000000000000\n0x100043410: fmov d1, x8\n0x100043414: fcsel d0, d0, d1, ne\n0x100043418: str d0, [x21]\n0x10004341c: cbz x20, 0x100043438\n0x100043420: ldr d0, [sp, #0x28]\n0x100043424: cmp w0, #0x0\n0x100043428: mov x8, #0x7ff8000000000000\n0x10004342c: fmov d1, x8\n0x100043430: fcsel d0, d0, d1, ne\n0x100043434: str d0, [x20]\n0x100043438: cbz x19, 0x100043440\n0x10004343c: str d2, [x19]\n0x100043440: and w8, w22, w0\n0x100043444: cmp w8, #0x1\n0x100043448: b.ne 0x1000434dc\n0x10004344c: stp d2, d13, [sp]\n0x100043450: fmov d0, d9\n0x100043454: fmov d1, d15\n0x100043458: fmov d8, d9\n0x10004345c: fmov d2, d14\n0x100043460: fmov d3, d13\n0x100043464: fmov d13, d12\n0x100043468: fmov d4, d12\n0x10004346c: fmov d5, d11\n0x100043470: fmov d6, d10\n0x100043474: fmov d9, d7\n0x100043478: bl 0x1000549d4\n0x10004347c: cbz w0, 0x1000434e0\n0x100043480: fmov d0, d8\n0x100043484: fmov d1, d15\n0x100043488: fmov d2, d14\n0x10004348c: ldr d3, [sp, #0x8]\n0x100043490: bl 0x10007a934\n0x100043494: fmov d12, d0\n0x100043498: fmov d0, d13\n0x10004349c: fmov d1, d11\n0x1000434a0: fmov d2, d10\n0x1000434a4: fmov d3, d9\n0x1000434a8: bl 0x10007a934\n0x1000434ac: fcmp d12, d0\n0x1000434b0: fcsel d0, d12, d0, mi\n0x1000434b4: adrp x8, 0x100086000\n0x1000434b8: ldr d1, [x8, #0x358]\n0x1000434bc: fmul d0, d0, d1\n0x1000434c0: adrp x8, 0x100086000\n0x1000434c4: ldr d1, [x8, #0x418]\n0x1000434c8: fmaxnm d0, d0, d1\n0x1000434cc: ldp d2, d1, [sp, #0x10]\n0x1000434d0: fcmp d1, d0\n0x1000434d4: fccmp d2, d0, #0x8, pl\n0x1000434d8: b.pl 0x100043540\n0x1000434dc: mov w0, #0x0\n0x1000434e0: ldp x29, x30, [sp, #0xb0]\n0x1000434e4: ldp x20, x19, [sp, #0xa0]\n0x1000434e8: ldp x22, x21, [sp, #0x90]\n0x1000434ec: ldp x24, x23, [sp, #0x80]\n0x1000434f0: ldp d9, d8, [sp, #0x70]\n0x1000434f4: ldp d11, d10, [sp, #0x60]\n0x1000434f8: ldp d13, d12, [sp, #0x50]\n0x1000434fc: ldp d15, d14, [sp, #0x40]\n0x100043500: add sp, sp, #0xc0\n0x100043504: ret\n0x100043508: ldp d2, d3, [sp, #0x30]\n0x10004350c: ldp d4, d5, [sp, #0x20]\n0x100043510: fmul d3, d3, d5\n0x100043514: fmadd d2, d2, d4, d3\n0x100043518: fmul d0, d0, d1\n0x10004351c: fdiv d0, d2, d0\n0x100043520: fmov d1, 0x3ff0000000000000\n0x100043524: fcmp d0, d1\n0x100043528: fcsel d1, d1, d0, gt\n0x10004352c: fmov d2, -0x4010000000000000\n0x100043530: fcmp d0, d2\n0x100043534: fcsel d2, d2, d1, mi\n0x100043538: cbnz x21, 0x100043404\n0x10004353c: b 0x10004341c\n0x100043540: ldr d1, [sp, #0x38]\n0x100043544: ldr d2, [sp, #0x28]\n0x100043548: fmul d3, d1, d2\n0x10004354c: fcmp d3, #0.0\n0x100043550: b.pl 0x10004356c\n0x100043554: fabs d4, d1\n0x100043558: adrp x8, 0x100086000\n0x10004355c: ldr d3, [x8, #0x228]\n0x100043560: fmul d3, d0, d3\n0x100043564: fcmp d4, d3\n0x100043568: b.ge 0x10004358c\n0x10004356c: mov w8, #0x0\n0x100043570: adrp x9, 0x100086000\n0x100043574: ldr d0, [x9, #0x3e0]\n0x100043578: ldr d1, [sp]\n0x10004357c: fcmp d1, d0\n0x100043580: cset w9, ls\n0x100043584: and w0, w8, w9\n0x100043588: b 0x1000434e0\n0x10004358c: fabs d4, d2\n0x100043590: fcmp d4, d3\n0x100043594: cset w8, ge\n0x100043598: adrp x9, 0x100086000\n0x10004359c: ldr d5, [x9, #0x3e0]\n0x1000435a0: ldr d6, [sp]\n0x1000435a4: fcmp d6, d5\n0x1000435a8: cset w9, ls\n0x1000435ac: b.ls 0x100043584\n0x1000435b0: fcmp d4, d3\n0x1000435b4: b.lt 0x100043584\n0x1000435b8: fabd d1, d1, d2\n0x1000435bc: fcmp d1, d0\n0x1000435c0: cset w9, ge\n0x1000435c4: b 0x100043584" }, "subject": { "architecture": "arm64", "digest": { "sha256": "afc71d0d21fd3c1ca95ca745ddafcd729e36ad95f17d8638009f2e45d9b7e8df" }, "format": "mach-o", "local_path": "/Users/dayu/Documents/PaintFCP/build/body-analysis/MSE18V2-arm64", "name": "MSE18V2-arm64" } }, { "analysis_profile": { "digest": "20565088524a2d0359b9b96f46ac48e679d774c7b0092c56abc06de8fdbec11c", "parameters": { "analyzer_preset": "ghidra-default", "annotation_policy": "atomic-function-entry-metadata-v1", "architecture": "arm64", "available_architectures": [ "arm64" ], "compiler_spec_id": "auto-default", "decompiler_jump_loads": true, "function_body_evidence": "complete-inclusive-ranges-v1", "function_boundary_observations": "ghidra-terminal-call-limitations-v1", "function_references": "complete-body-and-entry-reference-manager-v2", "import_mode": "ephemeral-source-immutable", "instruction_flow_evidence": "decoded-return-pcode-v1", "jump_table_evidence": "typed-case-default-blocks-v1", "language_id": "auto-from-header", "load_image_observations": "source-mappings-entry-context-v2", "loader": "auto-from-header", "location_resolution": "explicit-address-exact-entry-symbol-first-v3", "no_return_repair": "returning-imports-decoded-return-v2", "process_launch": "inspected-jvm-launch-support-v1", "string_inventory_evidence": "defined-data-coverage-v1", "target_format": "mach-o", "target_kind": "executable" }, "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" } }, "authority": "shipped-artifact", "confidence": "observed", "environment": null, "evidence_id": "ev_157df22ee7802216f3581c9842a9629c69ee66097db068b825695bdfd99385d1", "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:0x5", "value": "/usr/lib/swift/libswiftFoundation.dylib::Foundation::URLRequest::$set_httpBody" }, { "address": "EXTERNAL:0xda", "value": "/System/Library/Frameworks/CoreGraphics.framework/Versions/A/CoreGraphics::_CGImageGetHeight" }, { "address": "EXTERNAL:0xe2", "value": "/System/Library/Frameworks/CoreGraphics.framework/Versions/A/CoreGraphics::_CGRectGetHeight" }, { "address": "EXTERNAL:0xff", "value": "/System/Library/Frameworks/IOSurface.framework/Versions/A/IOSurface::_IOSurfaceGetHeight" }, { "address": "EXTERNAL:0x336", "value": "/System/Library/Frameworks/Metal.framework/Versions/A/Metal::texture2DDescriptorWithPixelFormat:width:height:mipmapped:" }, { "address": "0x10000b6f8", "value": "MSSSkinControlPanelView::mss_preferredPanelHeight" }, { "address": "0x10000dfec", "value": "MSSSkinControlPanelView::legacyControlPanelValueAtTime:" }, { "address": "0x10000ed08", "value": "MSSSkinControlPanelView::legacyFallbackControlPanelValueAtPreferredTime:" }, { "address": "0x10000fec4", "value": "MSSSkinControlPanelView::syncLegacyParametersFromControlPanelValue:hostTime:settingAPI:" }, { "address": "0x10001eba8", "value": "MSSuperSkinSmoothingPlugIn::mss_runtimeBlockTextureForDevice:width:height:" }, { "address": "0x1000337e8", "value": "MSSuperSkinSmoothingPlugIn::legacyControlPanelValueAtTime:" }, { "address": "0x100039e14", "value": "MSSuperSkinSmoothingPlugIn::playbackStabilizedMaskImageFromInputImage:params:renderTime:trackingGrayBytes:trackingGrayWidth:trackingGrayHeight:trackingAlphaBytes:trackingAlphaWidth:trackingAlphaHeight:previewMaskImage:rawPreviewSmallMaskImage:maskImage:smoothCarrierImageOut:" }, { "address": "0x100043ac0", "value": "MSSuperSkinSmoothingFaceSelectOSC::drawOSCWithWidth:height:activePart:destinationImage:atTime:" }, { "address": "0x100079ed8", "value": "/usr/lib/swift/libswiftFoundation.dylib::Foundation::URLRequest::$set_httpBody" }, { "address": "0x10007a8d4", "value": "_CGImageGetHeight" }, { "address": "0x10007a934", "value": "_CGRectGetHeight" }, { "address": "0x10007aa90", "value": "_IOSurfaceGetHeight" }, { "address": "0x10007ee60", "value": "objc_stub::height" }, { "address": "0x10007f9e0", "value": "objc_stub::legacyControlPanelValueAtTime:" }, { "address": "0x10007fa00", "value": "objc_stub::legacyFallbackControlPanelValueAtPreferredTime:" }, { "address": "0x10007fe80", "value": "objc_stub::mss_preferredPanelHeight" }, { "address": "0x10007ff80", "value": "objc_stub::mss_runtimeBlockTextureForDevice:width:height:" }, { "address": "0x1000806a0", "value": "objc_stub::playbackStabilizedMaskImageFromInputImage:params:renderTime:trackingGrayBytes:trackingGrayWidth:trackingGrayHeight:trackingAlphaBytes:trackingAlphaWidth:trackingAlphaHeight:previewMaskImage:rawPreviewSmallMaskImage:maskImage:smoothCarrierImageOut:" }, { "address": "0x100082400", "value": "objc_stub::setMaximumLineHeight:" }, { "address": "0x100082480", "value": "objc_stub::setMinimumLineHeight:" }, { "address": "0x100083300", "value": "objc_stub::syncLegacyParametersFromControlPanelValue:hostTime:settingAPI:" }, { "address": "0x1000833c0", "value": "objc_stub::texture2DDescriptorWithPixelFormat:width:height:mipmapped:" }, { "address": "0x1000e0c01", "value": "MTLTextureDescriptor::texture2DDescriptorWithPixelFormat:width:height:mipmapped:" } ], "operation": "search_procedures", "parameters": { "case_sensitive": false, "mode": "regex", "pattern": "body|slim|waist|leg|height|stretch" }, "predicate_type": "rea.analysis", "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" }, "raw_result": [ { "address": "EXTERNAL:0x5", "value": "/usr/lib/swift/libswiftFoundation.dylib::Foundation::URLRequest::$set_httpBody" }, { "address": "EXTERNAL:0xda", "value": "/System/Library/Frameworks/CoreGraphics.framework/Versions/A/CoreGraphics::_CGImageGetHeight" }, { "address": "EXTERNAL:0xe2", "value": "/System/Library/Frameworks/CoreGraphics.framework/Versions/A/CoreGraphics::_CGRectGetHeight" }, { "address": "EXTERNAL:0xff", "value": "/System/Library/Frameworks/IOSurface.framework/Versions/A/IOSurface::_IOSurfaceGetHeight" }, { "address": "EXTERNAL:0x336", "value": "/System/Library/Frameworks/Metal.framework/Versions/A/Metal::texture2DDescriptorWithPixelFormat:width:height:mipmapped:" }, { "address": "0x10000b6f8", "value": "MSSSkinControlPanelView::mss_preferredPanelHeight" }, { "address": "0x10000dfec", "value": "MSSSkinControlPanelView::legacyControlPanelValueAtTime:" }, { "address": "0x10000ed08", "value": "MSSSkinControlPanelView::legacyFallbackControlPanelValueAtPreferredTime:" }, { "address": "0x10000fec4", "value": "MSSSkinControlPanelView::syncLegacyParametersFromControlPanelValue:hostTime:settingAPI:" }, { "address": "0x10001eba8", "value": "MSSuperSkinSmoothingPlugIn::mss_runtimeBlockTextureForDevice:width:height:" }, { "address": "0x1000337e8", "value": "MSSuperSkinSmoothingPlugIn::legacyControlPanelValueAtTime:" }, { "address": "0x100039e14", "value": "MSSuperSkinSmoothingPlugIn::playbackStabilizedMaskImageFromInputImage:params:renderTime:trackingGrayBytes:trackingGrayWidth:trackingGrayHeight:trackingAlphaBytes:trackingAlphaWidth:trackingAlphaHeight:previewMaskImage:rawPreviewSmallMaskImage:maskImage:smoothCarrierImageOut:" }, { "address": "0x100043ac0", "value": "MSSuperSkinSmoothingFaceSelectOSC::drawOSCWithWidth:height:activePart:destinationImage:atTime:" }, { "address": "0x100079ed8", "value": "/usr/lib/swift/libswiftFoundation.dylib::Foundation::URLRequest::$set_httpBody" }, { "address": "0x10007a8d4", "value": "_CGImageGetHeight" }, { "address": "0x10007a934", "value": "_CGRectGetHeight" }, { "address": "0x10007aa90", "value": "_IOSurfaceGetHeight" }, { "address": "0x10007ee60", "value": "objc_stub::height" }, { "address": "0x10007f9e0", "value": "objc_stub::legacyControlPanelValueAtTime:" }, { "address": "0x10007fa00", "value": "objc_stub::legacyFallbackControlPanelValueAtPreferredTime:" }, { "address": "0x10007fe80", "value": "objc_stub::mss_preferredPanelHeight" }, { "address": "0x10007ff80", "value": "objc_stub::mss_runtimeBlockTextureForDevice:width:height:" }, { "address": "0x1000806a0", "value": "objc_stub::playbackStabilizedMaskImageFromInputImage:params:renderTime:trackingGrayBytes:trackingGrayWidth:trackingGrayHeight:trackingAlphaBytes:trackingAlphaWidth:trackingAlphaHeight:previewMaskImage:rawPreviewSmallMaskImage:maskImage:smoothCarrierImageOut:" }, { "address": "0x100082400", "value": "objc_stub::setMaximumLineHeight:" }, { "address": "0x100082480", "value": "objc_stub::setMinimumLineHeight:" }, { "address": "0x100083300", "value": "objc_stub::syncLegacyParametersFromControlPanelValue:hostTime:settingAPI:" }, { "address": "0x1000833c0", "value": "objc_stub::texture2DDescriptorWithPixelFormat:width:height:mipmapped:" }, { "address": "0x1000e0c01", "value": "MTLTextureDescriptor::texture2DDescriptorWithPixelFormat:width:height:mipmapped:" } ], "subject": { "architecture": "arm64", "digest": { "sha256": "afc71d0d21fd3c1ca95ca745ddafcd729e36ad95f17d8638009f2e45d9b7e8df" }, "format": "mach-o", "local_path": "/Users/dayu/Documents/PaintFCP/build/body-analysis/MSE18V2-arm64", "name": "MSE18V2-arm64" } }, { "analysis_profile": { "digest": "20565088524a2d0359b9b96f46ac48e679d774c7b0092c56abc06de8fdbec11c", "parameters": { "analyzer_preset": "ghidra-default", "annotation_policy": "atomic-function-entry-metadata-v1", "architecture": "arm64", "available_architectures": [ "arm64" ], "compiler_spec_id": "auto-default", "decompiler_jump_loads": true, "function_body_evidence": "complete-inclusive-ranges-v1", "function_boundary_observations": "ghidra-terminal-call-limitations-v1", "function_references": "complete-body-and-entry-reference-manager-v2", "import_mode": "ephemeral-source-immutable", "instruction_flow_evidence": "decoded-return-pcode-v1", "jump_table_evidence": "typed-case-default-blocks-v1", "language_id": "auto-from-header", "load_image_observations": "source-mappings-entry-context-v2", "loader": "auto-from-header", "location_resolution": "explicit-address-exact-entry-symbol-first-v3", "no_return_repair": "returning-imports-decoded-return-v2", "process_launch": "inspected-jvm-launch-support-v1", "string_inventory_evidence": "defined-data-coverage-v1", "target_format": "mach-o", "target_kind": "executable" }, "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" } }, "authority": "shipped-artifact", "confidence": "observed", "environment": null, "evidence_id": "ev_15e194ed5225284360721e2ddf870e61b3c1d8e16259f40ad4e48f7a8b47fb99", "evidence_links": [], "limitations": [ "The session serves operations only after Ghidra reports default auto-analysis complete; incomplete analysis does not expose partial results.", "The imported Program and temporary project are ephemeral and deleted on close. Annotation operations edit session database metadata; original executable bytes are never written.", "Cancelling an active Ghidra request terminates its ephemeral database and discards session annotations. The selected target remains open; the next provider query imports the original artifact again.", "Default-space addresses use lowercase 0x-prefixed hexadecimal; other address spaces use :0x.", "Bytes reflect Ghidra's initialized memory, including loader fixups. Reads stop at an unmapped or uninitialized byte and report completeness explicitly.", "macOS sessions require a matching executable Ghidra native decompiler; REA checks for it but does not build native components or change Gatekeeper quarantine state." ], "locations": [], "normalized_result": { "address": "0x1000a8b38", "bytes_hex": "004e0e00010000000000005000000000d808050001000000a8840a0001000000", "complete": true, "requested_bytes": 32, "returned_bytes": 32 }, "operation": "read_bytes", "parameters": { "address": "0x1000a8b38", "length": 32 }, "predicate_type": "rea.analysis", "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" }, "raw_result": { "address": "0x1000a8b38", "bytes_hex": "004e0e00010000000000005000000000d808050001000000a8840a0001000000", "complete": true, "requested_bytes": 32, "returned_bytes": 32 }, "subject": { "architecture": "arm64", "digest": { "sha256": "afc71d0d21fd3c1ca95ca745ddafcd729e36ad95f17d8638009f2e45d9b7e8df" }, "format": "mach-o", "local_path": "/Users/dayu/Documents/PaintFCP/build/body-analysis/MSE18V2-arm64", "name": "MSE18V2-arm64" } }, { "analysis_profile": { "digest": "20565088524a2d0359b9b96f46ac48e679d774c7b0092c56abc06de8fdbec11c", "parameters": { "analyzer_preset": "ghidra-default", "annotation_policy": "atomic-function-entry-metadata-v1", "architecture": "arm64", "available_architectures": [ "arm64" ], "compiler_spec_id": "auto-default", "decompiler_jump_loads": true, "function_body_evidence": "complete-inclusive-ranges-v1", "function_boundary_observations": "ghidra-terminal-call-limitations-v1", "function_references": "complete-body-and-entry-reference-manager-v2", "import_mode": "ephemeral-source-immutable", "instruction_flow_evidence": "decoded-return-pcode-v1", "jump_table_evidence": "typed-case-default-blocks-v1", "language_id": "auto-from-header", "load_image_observations": "source-mappings-entry-context-v2", "loader": "auto-from-header", "location_resolution": "explicit-address-exact-entry-symbol-first-v3", "no_return_repair": "returning-imports-decoded-return-v2", "process_launch": "inspected-jvm-launch-support-v1", "string_inventory_evidence": "defined-data-coverage-v1", "target_format": "mach-o", "target_kind": "executable" }, "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" } }, "authority": "shipped-artifact", "confidence": "observed", "environment": null, "evidence_id": "ev_201143d0ae628503be360c7056158a603cda550aaea7fecce199e2a6e3ec0a27", "evidence_links": [], "limitations": [ "The session serves operations only after Ghidra reports default auto-analysis complete; incomplete analysis does not expose partial results.", "The imported Program and temporary project are ephemeral and deleted on close. Annotation operations edit session database metadata; original executable bytes are never written.", "Cancelling an active Ghidra request terminates its ephemeral database and discards session annotations. The selected target remains open; the next provider query imports the original artifact again.", "Default-space addresses use lowercase 0x-prefixed hexadecimal; other address spaces use :0x.", "Bytes reflect Ghidra's initialized memory, including loader fixups. Reads stop at an unmapped or uninitialized byte and report completeness explicitly.", "macOS sessions require a matching executable Ghidra native decompiler; REA checks for it but does not build native components or change Gatekeeper quarantine state." ], "locations": [], "normalized_result": { "address": "0x1000861b0", "bytes_hex": "8fc2f5285c8fe23f", "complete": true, "requested_bytes": 8, "returned_bytes": 8 }, "operation": "read_bytes", "parameters": { "address": "0x1000861b0", "length": 8 }, "predicate_type": "rea.analysis", "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" }, "raw_result": { "address": "0x1000861b0", "bytes_hex": "8fc2f5285c8fe23f", "complete": true, "requested_bytes": 8, "returned_bytes": 8 }, "subject": { "architecture": "arm64", "digest": { "sha256": "afc71d0d21fd3c1ca95ca745ddafcd729e36ad95f17d8638009f2e45d9b7e8df" }, "format": "mach-o", "local_path": "/Users/dayu/Documents/PaintFCP/build/body-analysis/MSE18V2-arm64", "name": "MSE18V2-arm64" } }, { "analysis_profile": { "digest": "20565088524a2d0359b9b96f46ac48e679d774c7b0092c56abc06de8fdbec11c", "parameters": { "analyzer_preset": "ghidra-default", "annotation_policy": "atomic-function-entry-metadata-v1", "architecture": "arm64", "available_architectures": [ "arm64" ], "compiler_spec_id": "auto-default", "decompiler_jump_loads": true, "function_body_evidence": "complete-inclusive-ranges-v1", "function_boundary_observations": "ghidra-terminal-call-limitations-v1", "function_references": "complete-body-and-entry-reference-manager-v2", "import_mode": "ephemeral-source-immutable", "instruction_flow_evidence": "decoded-return-pcode-v1", "jump_table_evidence": "typed-case-default-blocks-v1", "language_id": "auto-from-header", "load_image_observations": "source-mappings-entry-context-v2", "loader": "auto-from-header", "location_resolution": "explicit-address-exact-entry-symbol-first-v3", "no_return_repair": "returning-imports-decoded-return-v2", "process_launch": "inspected-jvm-launch-support-v1", "string_inventory_evidence": "defined-data-coverage-v1", "target_format": "mach-o", "target_kind": "executable" }, "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" } }, "authority": "shipped-artifact", "confidence": "observed", "environment": null, "evidence_id": "ev_2217951d210de0192b07ec21d0908329af36226deb87cfc0226a016d9e08020e", "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 0x10001ce7c to 0x10007aca0 ___stack_chk_fail (external=false, thunk=true, hasNoReturn=true); fallthrough is excluded by Ghidra's flow model. This records Ghidra's FunctionManager flag, not an independent verification that the callee cannot return.", "macOS sessions require a matching executable Ghidra native decompiler; REA checks for it but does not build native components or change Gatekeeper quarantine state." ], "locations": [], "normalized_result": "\n/* Function Stack Size: 0x54 bytes */\n\nbool MSSuperSkinSmoothingPlugIn::\n mss_timeLocalFaceReferenceForRenderTime_allowCurrentTime_pointsOut_boxOut_detectionTimeOut_outputTimeOut_usedHistoryOut_\n (ID param_1,SEL param_2,AnonymousStructure0 param_3,bool param_4,ID *param_5,\n CGRect *param_6,AnonymousStructure0 *param_7,AnonymousStructure0 *param_8,\n bool *param_9)\n\n{\n uint uVar1;\n undefined4 uVar2;\n undefined *puVar3;\n undefined *puVar4;\n double dVar5;\n double dVar6;\n double dVar7;\n bool bVar8;\n ulong uVar9;\n CGRect *pCVar10;\n double *pdVar11;\n ID *pIVar12;\n double *pdVar13;\n long lVar14;\n uint *puVar15;\n double dVar16;\n ID IVar17;\n double dVar18;\n double dVar19;\n double dVar20;\n double dVar21;\n double dVar22;\n double dVar23;\n ID IVar24;\n double dVar25;\n double dVar26;\n undefined8 uVar27;\n undefined8 uVar28;\n undefined8 uVar29;\n undefined1 local_150 [16];\n double local_140;\n CGRect local_130;\n ID local_108;\n undefined1 local_100 [16];\n double local_f0;\n CGRect local_e0;\n ID local_b8;\n undefined1 local_b0 [12];\n uint uStack_a4;\n double local_a0;\n long local_90;\n \n pIVar12 = (ID *)param_3.field3_0x10;\n pdVar11 = (double *)param_3.field0_0x0;\n pdVar13 = (double *)(ulong)param_4;\n local_90 = *(long *)PTR____stack_chk_guard_1000a80e8;\n if (pIVar12 != (ID *)0x0) {\n *pIVar12 = 0;\n }\n puVar3 = PTR__CGRectNull_1000a8148;\n if (pdVar13 != (double *)0x0) {\n dVar16 = *(double *)PTR__CGRectNull_1000a8148;\n dVar19 = *(double *)(PTR__CGRectNull_1000a8148 + 0x18);\n dVar18 = *(double *)(PTR__CGRectNull_1000a8148 + 0x10);\n pdVar13[1] = *(double *)(PTR__CGRectNull_1000a8148 + 8);\n *pdVar13 = dVar16;\n pdVar13[3] = dVar19;\n pdVar13[2] = dVar18;\n }\n puVar4 = PTR__kCMTimeInvalid_1000a8208;\n if (param_5 != (ID *)0x0) {\n IVar17 = *(ID *)PTR__kCMTimeInvalid_1000a8208;\n param_5[1] = *(ID *)(PTR__kCMTimeInvalid_1000a8208 + 8);\n *param_5 = IVar17;\n param_5[2] = *(ID *)(puVar4 + 0x10);\n }\n if (param_6 != (CGRect *)0x0) {\n dVar16 = *(double *)puVar4;\n (param_6->field0_0x0).field1_0x8 = *(double *)(puVar4 + 8);\n (param_6->field0_0x0).field0_0x0 = dVar16;\n (param_6->field1_0x10).field0_0x0 = *(double *)(puVar4 + 0x10);\n }\n if (param_7 != (AnonymousStructure0 *)0x0) {\n *(undefined1 *)¶m_7->field0_0x0 = 0;\n }\n uVar1 = *(uint *)((long)pdVar11 + 0xc) & 0x1d;\n local_b8 = 0;\n dVar22 = *(double *)(puVar3 + 8);\n dVar18 = *(double *)puVar3;\n dVar26 = *(double *)(puVar3 + 0x18);\n dVar25 = *(double *)(puVar3 + 0x10);\n dVar23 = *(double *)(puVar4 + 8);\n dVar19 = *(double *)puVar4;\n dVar16 = *(double *)(puVar4 + 0x10);\n local_100._0_8_ = dVar19;\n local_100._8_8_ = dVar23;\n local_f0 = dVar16;\n local_e0.field0_0x0.field0_0x0 = dVar18;\n local_e0.field0_0x0.field1_0x8 = dVar22;\n local_e0.field1_0x10.field0_0x0 = dVar25;\n local_e0.field1_0x10.field1_0x8 = dVar26;\n if (uVar1 != 1) goto LAB_10001cbbc;\n local_130.field0_0x0.field1_0x8 = pdVar11[1];\n local_130.field0_0x0.field0_0x0 = *pdVar11;\n local_130.field1_0x10.field0_0x0 = pdVar11[2];\n bVar8 = mss_rewindFaceReferenceForRenderTime_allowCurrentTime_pointsOut_boxOut_timeOut_\n (param_1,(AnonymousStructure0 *)&local_130,param_3.field1_0x8,&local_b8,\n &local_e0,(AnonymousStructure0 *)local_100);\n if ((((bVar8 != 0) &&\n (uVar9 = objc_stub::count(local_b8), dVar7 = local_e0.field1_0x10.field1_0x8,\n dVar6 = local_e0.field1_0x10.field0_0x0, dVar5 = local_e0.field0_0x0.field1_0x8,\n dVar21 = local_e0.field0_0x0.field0_0x0, 0x4c < uVar9)) &&\n (_CGRectIsNull(local_e0.field0_0x0.field0_0x0,local_e0.field0_0x0.field1_0x8,\n local_e0.field1_0x10.field0_0x0,local_e0.field1_0x10.field1_0x8),\n (uVar9 & 1) == 0)) &&\n (((_CGRectIsEmpty(dVar21,dVar5,dVar6,dVar7), (uVar9 & 1) == 0 &&\n (dVar20 = dVar21, _CGRectGetWidth(dVar21,dVar5,dVar6,dVar7), 2.220446049250313e-16 < dVar20))\n && (_CGRectGetHeight(dVar21,dVar5,dVar6,dVar7), 2.220446049250313e-16 < dVar21)))) {\n if (pIVar12 != (ID *)0x0) {\n *pIVar12 = local_b8;\n }\n if (pdVar13 != (double *)0x0) {\n pdVar13[1] = local_e0.field0_0x0.field1_0x8;\n *pdVar13 = local_e0.field0_0x0.field0_0x0;\n pdVar13[3] = local_e0.field1_0x10.field1_0x8;\n pdVar13[2] = local_e0.field1_0x10.field0_0x0;\n }\n if (param_5 != (ID *)0x0) {\n param_5[1] = local_100._8_8_;\n *param_5 = local_100._0_8_;\n param_5[2] = (ID)local_f0;\n }\n if (param_6 != (CGRect *)0x0) {\n (param_6->field0_0x0).field1_0x8 = (double)local_100._8_8_;\n (param_6->field0_0x0).field0_0x0 = (double)local_100._0_8_;\n (param_6->field1_0x10).field0_0x0 = local_f0;\n }\n bVar8 = 1;\n if (param_7 != (AnonymousStructure0 *)0x0) {\n *(undefined1 *)¶m_7->field0_0x0 = 1;\n }\n goto LAB_10001ce3c;\n }\n if ((param_3._8_8_ & 1) == 0) {\n local_108 = 0;\n local_150._8_8_ = pdVar11[1];\n local_150._0_8_ = *pdVar11;\n local_140 = pdVar11[2];\n local_130.field0_0x0.field0_0x0 = dVar18;\n local_130.field0_0x0.field1_0x8 = dVar22;\n local_130.field1_0x10.field0_0x0 = dVar25;\n local_130.field1_0x10.field1_0x8 = dVar26;\n local_b0._0_8_ = dVar19;\n unique0x100007b1 = dVar23;\n local_a0 = dVar16;\n bVar8 = mss_rewindFaceReferenceForRenderTime_allowCurrentTime_pointsOut_boxOut_timeOut_\n (param_1,(AnonymousStructure0 *)local_150,1,&local_108,&local_130,\n (AnonymousStructure0 *)local_b0);\n if (((bVar8 == 0) ||\n (uVar9 = objc_stub::count(local_108), dVar22 = local_130.field1_0x10.field1_0x8,\n dVar19 = local_130.field1_0x10.field0_0x0, dVar18 = local_130.field0_0x0.field1_0x8,\n dVar16 = local_130.field0_0x0.field0_0x0, uVar9 < 0x4d)) ||\n ((_CGRectIsNull(local_130.field0_0x0.field0_0x0,local_130.field0_0x0.field1_0x8,\n local_130.field1_0x10.field0_0x0,local_130.field1_0x10.field1_0x8),\n (uVar9 & 1) != 0 ||\n (((_CGRectIsEmpty(dVar16,dVar18,dVar19,dVar22), (uVar9 & 1) != 0 ||\n (dVar23 = dVar16, _CGRectGetWidth(dVar16,dVar18,dVar19,dVar22),\n dVar23 <= 2.220446049250313e-16)) ||\n (_CGRectGetHeight(dVar16,dVar18,dVar19,dVar22), dVar16 <= 2.220446049250313e-16))))))\n goto LAB_10001cbbc;\n if (pIVar12 != (ID *)0x0) {\n *pIVar12 = local_108;\n }\n if (pdVar13 != (double *)0x0) {\n pdVar13[1] = local_130.field0_0x0.field1_0x8;\n *pdVar13 = local_130.field0_0x0.field0_0x0;\n pdVar13[3] = local_130.field1_0x10.field1_0x8;\n pdVar13[2] = local_130.field1_0x10.field0_0x0;\n }\n if (param_5 != (ID *)0x0) {\n param_5[1] = (ID)stack0xffffffffffffff58;\n *param_5 = local_b0._0_8_;\n param_5[2] = (ID)local_a0;\n }\n if (param_6 != (CGRect *)0x0) {\n (param_6->field0_0x0).field1_0x8 = stack0xffffffffffffff58;\n (param_6->field0_0x0).field0_0x0 = (double)local_b0._0_8_;\n (param_6->field1_0x10).field0_0x0 = local_a0;\n }\n if (param_7 != (AnonymousStructure0 *)0x0) {\n *(undefined1 *)¶m_7->field0_0x0 = 1;\n }\n local_150._8_8_ = pdVar11[1];\n local_150._0_8_ = *pdVar11;\n local_140 = pdVar11[2];\n _CMTimeGetSeconds(local_150);\n if ((uStack_a4 & 0x1d) == 1) {\n local_150._8_8_ = stack0xffffffffffffff58;\n local_150._0_8_ = local_b0._0_8_;\n local_140 = local_a0;\n _CMTimeGetSeconds(local_150);\n }\n FUN_10001b584(local_130.field0_0x0.field0_0x0,local_130.field0_0x0.field1_0x8,\n local_130.field1_0x10.field0_0x0,local_130.field1_0x10.field1_0x8);\nLAB_10001cdd0:\n bVar8 = 1;\n }\n else {\nLAB_10001cbbc:\n if ((*(char *)(param_1 + 0x308) == '\\x01') &&\n (uVar9 = objc_stub::count(*(ID *)(param_1 + 0x2b0)), 0x4c < uVar9)) {\n dVar16 = *(double *)(param_1 + 0x2b8);\n uVar27 = *(undefined8 *)(param_1 + 0x2c0);\n uVar28 = *(undefined8 *)(param_1 + 0x2c8);\n uVar29 = *(undefined8 *)(param_1 + 0x2d0);\n _CGRectIsNull(dVar16,uVar27,uVar28,uVar29);\n if (((uVar9 & 1) == 0) &&\n (((_CGRectIsEmpty(dVar16,uVar27,uVar28,uVar29), (uVar9 & 1) == 0 &&\n (dVar18 = dVar16, _CGRectGetWidth(dVar16,uVar27,uVar28,uVar29),\n 2.220446049250313e-16 < dVar18)) &&\n (_CGRectGetHeight(dVar16,uVar27,uVar28,uVar29), 2.220446049250313e-16 < dVar16)))) {\n if ((uVar1 == 1) && ((param_3._8_8_ & 1) == 0)) {\n if ((*(byte *)(param_1 + 0x2fc) & 1) == 0) {\n local_b0._0_8_ = *(double *)(param_1 + 0x2d8);\n uVar2 = *(undefined4 *)(param_1 + 0x2e0);\n puVar15 = (uint *)(param_1 + 0x2e4);\n lVar14 = 0x2e8;\n }\n else {\n puVar15 = (uint *)(param_1 + 0x2fc);\n local_b0._0_8_ = *(double *)(param_1 + 0x2f0);\n uVar2 = *(undefined4 *)(param_1 + 0x2f8);\n lVar14 = 0x300;\n }\n stack0xffffffffffffff58 = (double)CONCAT44(uStack_a4,uVar2);\n if ((*puVar15 & 0x1d) == 1) {\n local_130.field1_0x10.field0_0x0 = *(double *)(param_1 + lVar14);\n local_130.field0_0x0.field0_0x0 = (double)local_b0._0_8_;\n local_130.field0_0x0.field1_0x8 = (double)CONCAT44(*puVar15,uVar2);\n _CMTimeGetSeconds(&local_130);\n local_130.field0_0x0.field1_0x8 = pdVar11[1];\n dVar18 = *pdVar11;\n local_130.field1_0x10.field0_0x0 = pdVar11[2];\n local_130.field0_0x0.field0_0x0 = dVar18;\n _CMTimeGetSeconds(&local_130);\n if ((((ulong)ABS(dVar16) < 0x7ff0000000000000) &&\n ((ulong)ABS(dVar18) < 0x7ff0000000000000)) && (ABS(dVar16 - dVar18) <= 0.0005))\n goto LAB_10001ce38;\n }\nLAB_10001cd40:\n if ((*(uint *)(param_1 + 0x2fc) & 0x1d) == 1) {\n local_130.field0_0x0.field1_0x8 = pdVar11[1];\n local_130.field0_0x0.field0_0x0 = *pdVar11;\n local_130.field1_0x10.field0_0x0 = pdVar11[2];\n register0x00005008 = *(double *)(param_1 + 0x2f8);\n local_b0._0_8_ = *(double *)(param_1 + 0x2f0);\n local_a0 = *(double *)(param_1 + 0x300);\n pCVar10 = &local_130;\n _CMTimeCompare(pCVar10,local_b0);\n if ((int)pCVar10 < 0) {\n register0x00005008 = *(double *)(param_1 + 0x2f8);\n local_b0._0_8_ = *(double *)(param_1 + 0x2f0);\n local_a0 = *(double *)(param_1 + 0x300);\n local_150._8_8_ = pdVar11[1];\n dVar16 = *pdVar11;\n local_140 = pdVar11[2];\n local_150._0_8_ = dVar16;\n _CMTimeSubtract(&local_130,local_b0,local_150);\n _CMTimeGetSeconds(&local_130);\n if ((0.05 < dVar16) && ((ulong)ABS(dVar16) < 0x7ff0000000000000)) goto LAB_10001ce38;\n }\n }\n }\n else if (uVar1 == 1) goto LAB_10001cd40;\n if (pIVar12 != (ID *)0x0) {\n *pIVar12 = *(ID *)(param_1 + 0x2b0);\n }\n if (pdVar13 != (double *)0x0) {\n dVar16 = *(double *)(param_1 + 0x2b8);\n dVar19 = *(double *)(param_1 + 0x2d0);\n dVar18 = *(double *)(param_1 + 0x2c8);\n pdVar13[1] = *(double *)(param_1 + 0x2c0);\n *pdVar13 = dVar16;\n pdVar13[3] = dVar19;\n pdVar13[2] = dVar18;\n }\n if (param_5 != (ID *)0x0) {\n IVar24 = *(ID *)(param_1 + 0x2e0);\n IVar17 = *(ID *)(param_1 + 0x2d8);\n param_5[2] = *(ID *)(param_1 + 0x2e8);\n param_5[1] = IVar24;\n *param_5 = IVar17;\n }\n if (param_6 != (CGRect *)0x0) {\n dVar18 = *(double *)(param_1 + 0x2f8);\n dVar16 = *(double *)(param_1 + 0x2f0);\n (param_6->field1_0x10).field0_0x0 = *(double *)(param_1 + 0x300);\n (param_6->field0_0x0).field1_0x8 = dVar18;\n (param_6->field0_0x0).field0_0x0 = dVar16;\n }\n goto LAB_10001cdd0;\n }\n }\nLAB_10001ce38:\n bVar8 = 0;\n }\nLAB_10001ce3c:\n if (*(long *)PTR____stack_chk_guard_1000a80e8 == local_90) {\n return bVar8;\n }\n /* WARNING: Subroutine does not return */\n ___stack_chk_fail();\n}\n\n", "operation": "procedure_pseudo_code", "parameters": { "procedure": "0x10001c84c" }, "predicate_type": "rea.analysis", "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" }, "raw_result": { "limitations": [ "Ghidra Listing reports a terminal call at 0x10001ce7c to 0x10007aca0 ___stack_chk_fail (external=false, thunk=true, hasNoReturn=true); fallthrough is excluded by Ghidra's flow model. This records Ghidra's FunctionManager flag, not an independent verification that the callee cannot return." ], "value": "\n/* Function Stack Size: 0x54 bytes */\n\nbool MSSuperSkinSmoothingPlugIn::\n mss_timeLocalFaceReferenceForRenderTime_allowCurrentTime_pointsOut_boxOut_detectionTimeOut_outputTimeOut_usedHistoryOut_\n (ID param_1,SEL param_2,AnonymousStructure0 param_3,bool param_4,ID *param_5,\n CGRect *param_6,AnonymousStructure0 *param_7,AnonymousStructure0 *param_8,\n bool *param_9)\n\n{\n uint uVar1;\n undefined4 uVar2;\n undefined *puVar3;\n undefined *puVar4;\n double dVar5;\n double dVar6;\n double dVar7;\n bool bVar8;\n ulong uVar9;\n CGRect *pCVar10;\n double *pdVar11;\n ID *pIVar12;\n double *pdVar13;\n long lVar14;\n uint *puVar15;\n double dVar16;\n ID IVar17;\n double dVar18;\n double dVar19;\n double dVar20;\n double dVar21;\n double dVar22;\n double dVar23;\n ID IVar24;\n double dVar25;\n double dVar26;\n undefined8 uVar27;\n undefined8 uVar28;\n undefined8 uVar29;\n undefined1 local_150 [16];\n double local_140;\n CGRect local_130;\n ID local_108;\n undefined1 local_100 [16];\n double local_f0;\n CGRect local_e0;\n ID local_b8;\n undefined1 local_b0 [12];\n uint uStack_a4;\n double local_a0;\n long local_90;\n \n pIVar12 = (ID *)param_3.field3_0x10;\n pdVar11 = (double *)param_3.field0_0x0;\n pdVar13 = (double *)(ulong)param_4;\n local_90 = *(long *)PTR____stack_chk_guard_1000a80e8;\n if (pIVar12 != (ID *)0x0) {\n *pIVar12 = 0;\n }\n puVar3 = PTR__CGRectNull_1000a8148;\n if (pdVar13 != (double *)0x0) {\n dVar16 = *(double *)PTR__CGRectNull_1000a8148;\n dVar19 = *(double *)(PTR__CGRectNull_1000a8148 + 0x18);\n dVar18 = *(double *)(PTR__CGRectNull_1000a8148 + 0x10);\n pdVar13[1] = *(double *)(PTR__CGRectNull_1000a8148 + 8);\n *pdVar13 = dVar16;\n pdVar13[3] = dVar19;\n pdVar13[2] = dVar18;\n }\n puVar4 = PTR__kCMTimeInvalid_1000a8208;\n if (param_5 != (ID *)0x0) {\n IVar17 = *(ID *)PTR__kCMTimeInvalid_1000a8208;\n param_5[1] = *(ID *)(PTR__kCMTimeInvalid_1000a8208 + 8);\n *param_5 = IVar17;\n param_5[2] = *(ID *)(puVar4 + 0x10);\n }\n if (param_6 != (CGRect *)0x0) {\n dVar16 = *(double *)puVar4;\n (param_6->field0_0x0).field1_0x8 = *(double *)(puVar4 + 8);\n (param_6->field0_0x0).field0_0x0 = dVar16;\n (param_6->field1_0x10).field0_0x0 = *(double *)(puVar4 + 0x10);\n }\n if (param_7 != (AnonymousStructure0 *)0x0) {\n *(undefined1 *)¶m_7->field0_0x0 = 0;\n }\n uVar1 = *(uint *)((long)pdVar11 + 0xc) & 0x1d;\n local_b8 = 0;\n dVar22 = *(double *)(puVar3 + 8);\n dVar18 = *(double *)puVar3;\n dVar26 = *(double *)(puVar3 + 0x18);\n dVar25 = *(double *)(puVar3 + 0x10);\n dVar23 = *(double *)(puVar4 + 8);\n dVar19 = *(double *)puVar4;\n dVar16 = *(double *)(puVar4 + 0x10);\n local_100._0_8_ = dVar19;\n local_100._8_8_ = dVar23;\n local_f0 = dVar16;\n local_e0.field0_0x0.field0_0x0 = dVar18;\n local_e0.field0_0x0.field1_0x8 = dVar22;\n local_e0.field1_0x10.field0_0x0 = dVar25;\n local_e0.field1_0x10.field1_0x8 = dVar26;\n if (uVar1 != 1) goto LAB_10001cbbc;\n local_130.field0_0x0.field1_0x8 = pdVar11[1];\n local_130.field0_0x0.field0_0x0 = *pdVar11;\n local_130.field1_0x10.field0_0x0 = pdVar11[2];\n bVar8 = mss_rewindFaceReferenceForRenderTime_allowCurrentTime_pointsOut_boxOut_timeOut_\n (param_1,(AnonymousStructure0 *)&local_130,param_3.field1_0x8,&local_b8,\n &local_e0,(AnonymousStructure0 *)local_100);\n if ((((bVar8 != 0) &&\n (uVar9 = objc_stub::count(local_b8), dVar7 = local_e0.field1_0x10.field1_0x8,\n dVar6 = local_e0.field1_0x10.field0_0x0, dVar5 = local_e0.field0_0x0.field1_0x8,\n dVar21 = local_e0.field0_0x0.field0_0x0, 0x4c < uVar9)) &&\n (_CGRectIsNull(local_e0.field0_0x0.field0_0x0,local_e0.field0_0x0.field1_0x8,\n local_e0.field1_0x10.field0_0x0,local_e0.field1_0x10.field1_0x8),\n (uVar9 & 1) == 0)) &&\n (((_CGRectIsEmpty(dVar21,dVar5,dVar6,dVar7), (uVar9 & 1) == 0 &&\n (dVar20 = dVar21, _CGRectGetWidth(dVar21,dVar5,dVar6,dVar7), 2.220446049250313e-16 < dVar20))\n && (_CGRectGetHeight(dVar21,dVar5,dVar6,dVar7), 2.220446049250313e-16 < dVar21)))) {\n if (pIVar12 != (ID *)0x0) {\n *pIVar12 = local_b8;\n }\n if (pdVar13 != (double *)0x0) {\n pdVar13[1] = local_e0.field0_0x0.field1_0x8;\n *pdVar13 = local_e0.field0_0x0.field0_0x0;\n pdVar13[3] = local_e0.field1_0x10.field1_0x8;\n pdVar13[2] = local_e0.field1_0x10.field0_0x0;\n }\n if (param_5 != (ID *)0x0) {\n param_5[1] = local_100._8_8_;\n *param_5 = local_100._0_8_;\n param_5[2] = (ID)local_f0;\n }\n if (param_6 != (CGRect *)0x0) {\n (param_6->field0_0x0).field1_0x8 = (double)local_100._8_8_;\n (param_6->field0_0x0).field0_0x0 = (double)local_100._0_8_;\n (param_6->field1_0x10).field0_0x0 = local_f0;\n }\n bVar8 = 1;\n if (param_7 != (AnonymousStructure0 *)0x0) {\n *(undefined1 *)¶m_7->field0_0x0 = 1;\n }\n goto LAB_10001ce3c;\n }\n if ((param_3._8_8_ & 1) == 0) {\n local_108 = 0;\n local_150._8_8_ = pdVar11[1];\n local_150._0_8_ = *pdVar11;\n local_140 = pdVar11[2];\n local_130.field0_0x0.field0_0x0 = dVar18;\n local_130.field0_0x0.field1_0x8 = dVar22;\n local_130.field1_0x10.field0_0x0 = dVar25;\n local_130.field1_0x10.field1_0x8 = dVar26;\n local_b0._0_8_ = dVar19;\n unique0x100007b1 = dVar23;\n local_a0 = dVar16;\n bVar8 = mss_rewindFaceReferenceForRenderTime_allowCurrentTime_pointsOut_boxOut_timeOut_\n (param_1,(AnonymousStructure0 *)local_150,1,&local_108,&local_130,\n (AnonymousStructure0 *)local_b0);\n if (((bVar8 == 0) ||\n (uVar9 = objc_stub::count(local_108), dVar22 = local_130.field1_0x10.field1_0x8,\n dVar19 = local_130.field1_0x10.field0_0x0, dVar18 = local_130.field0_0x0.field1_0x8,\n dVar16 = local_130.field0_0x0.field0_0x0, uVar9 < 0x4d)) ||\n ((_CGRectIsNull(local_130.field0_0x0.field0_0x0,local_130.field0_0x0.field1_0x8,\n local_130.field1_0x10.field0_0x0,local_130.field1_0x10.field1_0x8),\n (uVar9 & 1) != 0 ||\n (((_CGRectIsEmpty(dVar16,dVar18,dVar19,dVar22), (uVar9 & 1) != 0 ||\n (dVar23 = dVar16, _CGRectGetWidth(dVar16,dVar18,dVar19,dVar22),\n dVar23 <= 2.220446049250313e-16)) ||\n (_CGRectGetHeight(dVar16,dVar18,dVar19,dVar22), dVar16 <= 2.220446049250313e-16))))))\n goto LAB_10001cbbc;\n if (pIVar12 != (ID *)0x0) {\n *pIVar12 = local_108;\n }\n if (pdVar13 != (double *)0x0) {\n pdVar13[1] = local_130.field0_0x0.field1_0x8;\n *pdVar13 = local_130.field0_0x0.field0_0x0;\n pdVar13[3] = local_130.field1_0x10.field1_0x8;\n pdVar13[2] = local_130.field1_0x10.field0_0x0;\n }\n if (param_5 != (ID *)0x0) {\n param_5[1] = (ID)stack0xffffffffffffff58;\n *param_5 = local_b0._0_8_;\n param_5[2] = (ID)local_a0;\n }\n if (param_6 != (CGRect *)0x0) {\n (param_6->field0_0x0).field1_0x8 = stack0xffffffffffffff58;\n (param_6->field0_0x0).field0_0x0 = (double)local_b0._0_8_;\n (param_6->field1_0x10).field0_0x0 = local_a0;\n }\n if (param_7 != (AnonymousStructure0 *)0x0) {\n *(undefined1 *)¶m_7->field0_0x0 = 1;\n }\n local_150._8_8_ = pdVar11[1];\n local_150._0_8_ = *pdVar11;\n local_140 = pdVar11[2];\n _CMTimeGetSeconds(local_150);\n if ((uStack_a4 & 0x1d) == 1) {\n local_150._8_8_ = stack0xffffffffffffff58;\n local_150._0_8_ = local_b0._0_8_;\n local_140 = local_a0;\n _CMTimeGetSeconds(local_150);\n }\n FUN_10001b584(local_130.field0_0x0.field0_0x0,local_130.field0_0x0.field1_0x8,\n local_130.field1_0x10.field0_0x0,local_130.field1_0x10.field1_0x8);\nLAB_10001cdd0:\n bVar8 = 1;\n }\n else {\nLAB_10001cbbc:\n if ((*(char *)(param_1 + 0x308) == '\\x01') &&\n (uVar9 = objc_stub::count(*(ID *)(param_1 + 0x2b0)), 0x4c < uVar9)) {\n dVar16 = *(double *)(param_1 + 0x2b8);\n uVar27 = *(undefined8 *)(param_1 + 0x2c0);\n uVar28 = *(undefined8 *)(param_1 + 0x2c8);\n uVar29 = *(undefined8 *)(param_1 + 0x2d0);\n _CGRectIsNull(dVar16,uVar27,uVar28,uVar29);\n if (((uVar9 & 1) == 0) &&\n (((_CGRectIsEmpty(dVar16,uVar27,uVar28,uVar29), (uVar9 & 1) == 0 &&\n (dVar18 = dVar16, _CGRectGetWidth(dVar16,uVar27,uVar28,uVar29),\n 2.220446049250313e-16 < dVar18)) &&\n (_CGRectGetHeight(dVar16,uVar27,uVar28,uVar29), 2.220446049250313e-16 < dVar16)))) {\n if ((uVar1 == 1) && ((param_3._8_8_ & 1) == 0)) {\n if ((*(byte *)(param_1 + 0x2fc) & 1) == 0) {\n local_b0._0_8_ = *(double *)(param_1 + 0x2d8);\n uVar2 = *(undefined4 *)(param_1 + 0x2e0);\n puVar15 = (uint *)(param_1 + 0x2e4);\n lVar14 = 0x2e8;\n }\n else {\n puVar15 = (uint *)(param_1 + 0x2fc);\n local_b0._0_8_ = *(double *)(param_1 + 0x2f0);\n uVar2 = *(undefined4 *)(param_1 + 0x2f8);\n lVar14 = 0x300;\n }\n stack0xffffffffffffff58 = (double)CONCAT44(uStack_a4,uVar2);\n if ((*puVar15 & 0x1d) == 1) {\n local_130.field1_0x10.field0_0x0 = *(double *)(param_1 + lVar14);\n local_130.field0_0x0.field0_0x0 = (double)local_b0._0_8_;\n local_130.field0_0x0.field1_0x8 = (double)CONCAT44(*puVar15,uVar2);\n _CMTimeGetSeconds(&local_130);\n local_130.field0_0x0.field1_0x8 = pdVar11[1];\n dVar18 = *pdVar11;\n local_130.field1_0x10.field0_0x0 = pdVar11[2];\n local_130.field0_0x0.field0_0x0 = dVar18;\n _CMTimeGetSeconds(&local_130);\n if ((((ulong)ABS(dVar16) < 0x7ff0000000000000) &&\n ((ulong)ABS(dVar18) < 0x7ff0000000000000)) && (ABS(dVar16 - dVar18) <= 0.0005))\n goto LAB_10001ce38;\n }\nLAB_10001cd40:\n if ((*(uint *)(param_1 + 0x2fc) & 0x1d) == 1) {\n local_130.field0_0x0.field1_0x8 = pdVar11[1];\n local_130.field0_0x0.field0_0x0 = *pdVar11;\n local_130.field1_0x10.field0_0x0 = pdVar11[2];\n register0x00005008 = *(double *)(param_1 + 0x2f8);\n local_b0._0_8_ = *(double *)(param_1 + 0x2f0);\n local_a0 = *(double *)(param_1 + 0x300);\n pCVar10 = &local_130;\n _CMTimeCompare(pCVar10,local_b0);\n if ((int)pCVar10 < 0) {\n register0x00005008 = *(double *)(param_1 + 0x2f8);\n local_b0._0_8_ = *(double *)(param_1 + 0x2f0);\n local_a0 = *(double *)(param_1 + 0x300);\n local_150._8_8_ = pdVar11[1];\n dVar16 = *pdVar11;\n local_140 = pdVar11[2];\n local_150._0_8_ = dVar16;\n _CMTimeSubtract(&local_130,local_b0,local_150);\n _CMTimeGetSeconds(&local_130);\n if ((0.05 < dVar16) && ((ulong)ABS(dVar16) < 0x7ff0000000000000)) goto LAB_10001ce38;\n }\n }\n }\n else if (uVar1 == 1) goto LAB_10001cd40;\n if (pIVar12 != (ID *)0x0) {\n *pIVar12 = *(ID *)(param_1 + 0x2b0);\n }\n if (pdVar13 != (double *)0x0) {\n dVar16 = *(double *)(param_1 + 0x2b8);\n dVar19 = *(double *)(param_1 + 0x2d0);\n dVar18 = *(double *)(param_1 + 0x2c8);\n pdVar13[1] = *(double *)(param_1 + 0x2c0);\n *pdVar13 = dVar16;\n pdVar13[3] = dVar19;\n pdVar13[2] = dVar18;\n }\n if (param_5 != (ID *)0x0) {\n IVar24 = *(ID *)(param_1 + 0x2e0);\n IVar17 = *(ID *)(param_1 + 0x2d8);\n param_5[2] = *(ID *)(param_1 + 0x2e8);\n param_5[1] = IVar24;\n *param_5 = IVar17;\n }\n if (param_6 != (CGRect *)0x0) {\n dVar18 = *(double *)(param_1 + 0x2f8);\n dVar16 = *(double *)(param_1 + 0x2f0);\n (param_6->field1_0x10).field0_0x0 = *(double *)(param_1 + 0x300);\n (param_6->field0_0x0).field1_0x8 = dVar18;\n (param_6->field0_0x0).field0_0x0 = dVar16;\n }\n goto LAB_10001cdd0;\n }\n }\nLAB_10001ce38:\n bVar8 = 0;\n }\nLAB_10001ce3c:\n if (*(long *)PTR____stack_chk_guard_1000a80e8 == local_90) {\n return bVar8;\n }\n /* WARNING: Subroutine does not return */\n ___stack_chk_fail();\n}\n\n" }, "subject": { "architecture": "arm64", "digest": { "sha256": "afc71d0d21fd3c1ca95ca745ddafcd729e36ad95f17d8638009f2e45d9b7e8df" }, "format": "mach-o", "local_path": "/Users/dayu/Documents/PaintFCP/build/body-analysis/MSE18V2-arm64", "name": "MSE18V2-arm64" } }, { "analysis_profile": { "digest": "20565088524a2d0359b9b96f46ac48e679d774c7b0092c56abc06de8fdbec11c", "parameters": { "analyzer_preset": "ghidra-default", "annotation_policy": "atomic-function-entry-metadata-v1", "architecture": "arm64", "available_architectures": [ "arm64" ], "compiler_spec_id": "auto-default", "decompiler_jump_loads": true, "function_body_evidence": "complete-inclusive-ranges-v1", "function_boundary_observations": "ghidra-terminal-call-limitations-v1", "function_references": "complete-body-and-entry-reference-manager-v2", "import_mode": "ephemeral-source-immutable", "instruction_flow_evidence": "decoded-return-pcode-v1", "jump_table_evidence": "typed-case-default-blocks-v1", "language_id": "auto-from-header", "load_image_observations": "source-mappings-entry-context-v2", "loader": "auto-from-header", "location_resolution": "explicit-address-exact-entry-symbol-first-v3", "no_return_repair": "returning-imports-decoded-return-v2", "process_launch": "inspected-jvm-launch-support-v1", "string_inventory_evidence": "defined-data-coverage-v1", "target_format": "mach-o", "target_kind": "executable" }, "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" } }, "authority": "shipped-artifact", "confidence": "observed", "environment": null, "evidence_id": "ev_264edabb63f8a287fb3982372bc0c6980b11c0eaf1c9d1707b7b10f05e538be9", "evidence_links": [], "limitations": [ "The session serves operations only after Ghidra reports default auto-analysis complete; incomplete analysis does not expose partial results.", "The imported Program and temporary project are ephemeral and deleted on close. Annotation operations edit session database metadata; original executable bytes are never written.", "Cancelling an active Ghidra request terminates its ephemeral database and discards session annotations. The selected target remains open; the next provider query imports the original artifact again.", "Default-space addresses use lowercase 0x-prefixed hexadecimal; other address spaces use :0x.", "Assembly is Ghidra Listing text and does not claim textual equivalence with Hopper output.", "macOS sessions require a matching executable Ghidra native decompiler; REA checks for it but does not build native components or change Gatekeeper quarantine state." ], "locations": [], "normalized_result": "0x1000547c8: cbz x0, 0x1000548bc\n0x1000547cc: stp d9, d8, [sp, #-0x50]!\n0x1000547d0: stp x24, x23, [sp, #0x10]\n0x1000547d4: stp x22, x21, [sp, #0x20]\n0x1000547d8: stp x20, x19, [sp, #0x30]\n0x1000547dc: stp x29, x30, [sp, #0x40]\n0x1000547e0: add x29, sp, #0x40\n0x1000547e4: mov x19, x1\n0x1000547e8: mov x20, x0\n0x1000547ec: bl 0x1000806c0\n0x1000547f0: cbz x0, 0x1000548a8\n0x1000547f4: mov x0, x20\n0x1000547f8: bl 0x1000801c0\n0x1000547fc: cbz x0, 0x1000548a8\n0x100054800: mov x0, x20\n0x100054804: bl 0x1000801c0\n0x100054808: mov x21, x0\n0x10005480c: mov x0, x20\n0x100054810: bl 0x1000806c0\n0x100054814: cbz x0, 0x1000548c0\n0x100054818: mov x22, #0x0\n0x10005481c: add x21, x21, #0x8\n0x100054820: movi d9, #0x0\n0x100054824: mov x23, #0x7fefffffffffffff\n0x100054828: movi d8, #0x0\n0x10005482c: mov w0, #0x0\n0x100054830: ldp d0, d1, [x21, #-0x8]\n0x100054834: fmov x8, d0\n0x100054838: fmov x9, d1\n0x10005483c: and x10, x8, #0x7fffffffffffffff\n0x100054840: and x8, x9, #0x7fffffffffffffff\n0x100054844: cmp x8, x23\n0x100054848: cset w8, gt\n0x10005484c: cmp x10, x23\n0x100054850: b.gt 0x1000548a8\n0x100054854: tbnz w8, #0x0, 0x1000548a8\n0x100054858: fadd d9, d9, d0\n0x10005485c: fadd d8, d8, d1\n0x100054860: add x22, x22, #0x1\n0x100054864: mov x0, x20\n0x100054868: bl 0x1000806c0\n0x10005486c: add x21, x21, #0x10\n0x100054870: cmp x22, x0\n0x100054874: b.cc 0x10005482c\n0x100054878: cbz x19, 0x1000548a4\n0x10005487c: mov x0, x20\n0x100054880: bl 0x1000806c0\n0x100054884: ucvtf d0, x0\n0x100054888: fdiv d0, d9, d0\n0x10005488c: str d0, [x19]\n0x100054890: mov x0, x20\n0x100054894: bl 0x1000806c0\n0x100054898: ucvtf d0, x0\n0x10005489c: fdiv d0, d8, d0\n0x1000548a0: str d0, [x19, #0x8]\n0x1000548a4: mov w0, #0x1\n0x1000548a8: ldp x29, x30, [sp, #0x40]\n0x1000548ac: ldp x20, x19, [sp, #0x30]\n0x1000548b0: ldp x22, x21, [sp, #0x20]\n0x1000548b4: ldp x24, x23, [sp, #0x10]\n0x1000548b8: ldp d9, d8, [sp], #0x50\n0x1000548bc: ret\n0x1000548c0: movi d8, #0x0\n0x1000548c4: movi d9, #0x0\n0x1000548c8: cbnz x19, 0x10005487c\n0x1000548cc: b 0x1000548a4", "operation": "procedure_assembly", "parameters": { "procedure": "0x1000547c8" }, "predicate_type": "rea.analysis", "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" }, "raw_result": { "limitations": [], "value": "0x1000547c8: cbz x0, 0x1000548bc\n0x1000547cc: stp d9, d8, [sp, #-0x50]!\n0x1000547d0: stp x24, x23, [sp, #0x10]\n0x1000547d4: stp x22, x21, [sp, #0x20]\n0x1000547d8: stp x20, x19, [sp, #0x30]\n0x1000547dc: stp x29, x30, [sp, #0x40]\n0x1000547e0: add x29, sp, #0x40\n0x1000547e4: mov x19, x1\n0x1000547e8: mov x20, x0\n0x1000547ec: bl 0x1000806c0\n0x1000547f0: cbz x0, 0x1000548a8\n0x1000547f4: mov x0, x20\n0x1000547f8: bl 0x1000801c0\n0x1000547fc: cbz x0, 0x1000548a8\n0x100054800: mov x0, x20\n0x100054804: bl 0x1000801c0\n0x100054808: mov x21, x0\n0x10005480c: mov x0, x20\n0x100054810: bl 0x1000806c0\n0x100054814: cbz x0, 0x1000548c0\n0x100054818: mov x22, #0x0\n0x10005481c: add x21, x21, #0x8\n0x100054820: movi d9, #0x0\n0x100054824: mov x23, #0x7fefffffffffffff\n0x100054828: movi d8, #0x0\n0x10005482c: mov w0, #0x0\n0x100054830: ldp d0, d1, [x21, #-0x8]\n0x100054834: fmov x8, d0\n0x100054838: fmov x9, d1\n0x10005483c: and x10, x8, #0x7fffffffffffffff\n0x100054840: and x8, x9, #0x7fffffffffffffff\n0x100054844: cmp x8, x23\n0x100054848: cset w8, gt\n0x10005484c: cmp x10, x23\n0x100054850: b.gt 0x1000548a8\n0x100054854: tbnz w8, #0x0, 0x1000548a8\n0x100054858: fadd d9, d9, d0\n0x10005485c: fadd d8, d8, d1\n0x100054860: add x22, x22, #0x1\n0x100054864: mov x0, x20\n0x100054868: bl 0x1000806c0\n0x10005486c: add x21, x21, #0x10\n0x100054870: cmp x22, x0\n0x100054874: b.cc 0x10005482c\n0x100054878: cbz x19, 0x1000548a4\n0x10005487c: mov x0, x20\n0x100054880: bl 0x1000806c0\n0x100054884: ucvtf d0, x0\n0x100054888: fdiv d0, d9, d0\n0x10005488c: str d0, [x19]\n0x100054890: mov x0, x20\n0x100054894: bl 0x1000806c0\n0x100054898: ucvtf d0, x0\n0x10005489c: fdiv d0, d8, d0\n0x1000548a0: str d0, [x19, #0x8]\n0x1000548a4: mov w0, #0x1\n0x1000548a8: ldp x29, x30, [sp, #0x40]\n0x1000548ac: ldp x20, x19, [sp, #0x30]\n0x1000548b0: ldp x22, x21, [sp, #0x20]\n0x1000548b4: ldp x24, x23, [sp, #0x10]\n0x1000548b8: ldp d9, d8, [sp], #0x50\n0x1000548bc: ret\n0x1000548c0: movi d8, #0x0\n0x1000548c4: movi d9, #0x0\n0x1000548c8: cbnz x19, 0x10005487c\n0x1000548cc: b 0x1000548a4" }, "subject": { "architecture": "arm64", "digest": { "sha256": "afc71d0d21fd3c1ca95ca745ddafcd729e36ad95f17d8638009f2e45d9b7e8df" }, "format": "mach-o", "local_path": "/Users/dayu/Documents/PaintFCP/build/body-analysis/MSE18V2-arm64", "name": "MSE18V2-arm64" } }, { "analysis_profile": { "digest": "20565088524a2d0359b9b96f46ac48e679d774c7b0092c56abc06de8fdbec11c", "parameters": { "analyzer_preset": "ghidra-default", "annotation_policy": "atomic-function-entry-metadata-v1", "architecture": "arm64", "available_architectures": [ "arm64" ], "compiler_spec_id": "auto-default", "decompiler_jump_loads": true, "function_body_evidence": "complete-inclusive-ranges-v1", "function_boundary_observations": "ghidra-terminal-call-limitations-v1", "function_references": "complete-body-and-entry-reference-manager-v2", "import_mode": "ephemeral-source-immutable", "instruction_flow_evidence": "decoded-return-pcode-v1", "jump_table_evidence": "typed-case-default-blocks-v1", "language_id": "auto-from-header", "load_image_observations": "source-mappings-entry-context-v2", "loader": "auto-from-header", "location_resolution": "explicit-address-exact-entry-symbol-first-v3", "no_return_repair": "returning-imports-decoded-return-v2", "process_launch": "inspected-jvm-launch-support-v1", "string_inventory_evidence": "defined-data-coverage-v1", "target_format": "mach-o", "target_kind": "executable" }, "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" } }, "authority": "shipped-artifact", "confidence": "observed", "environment": null, "evidence_id": "ev_27062c506b59b55db5e5174b0bcd9d64018055e8836e6e73e06d5689d4db0005", "evidence_links": [], "limitations": [ "The session serves operations only after Ghidra reports default auto-analysis complete; incomplete analysis does not expose partial results.", "The imported Program and temporary project are ephemeral and deleted on close. Annotation operations edit session database metadata; original executable bytes are never written.", "Cancelling an active Ghidra request terminates its ephemeral database and discards session annotations. The selected target remains open; the next provider query imports the original artifact again.", "Default-space addresses use lowercase 0x-prefixed hexadecimal; other address spaces use :0x.", "Assembly is Ghidra Listing text and does not claim textual equivalence with Hopper output.", "macOS sessions require a matching executable Ghidra native decompiler; REA checks for it but does not build native components or change Gatekeeper quarantine state." ], "locations": [], "normalized_result": "0x100054d78: stp d13, d12, [sp, #-0x70]!\n0x100054d7c: stp d11, d10, [sp, #0x10]\n0x100054d80: stp d9, d8, [sp, #0x20]\n0x100054d84: stp x24, x23, [sp, #0x30]\n0x100054d88: stp x22, x21, [sp, #0x40]\n0x100054d8c: stp x20, x19, [sp, #0x50]\n0x100054d90: stp x29, x30, [sp, #0x60]\n0x100054d94: add x29, sp, #0x60\n0x100054d98: mov x19, x2\n0x100054d9c: mov x20, x1\n0x100054da0: mov x23, x0\n0x100054da4: bl 0x10007d560\n0x100054da8: cmp x0, #0x4d\n0x100054dac: b.cs 0x100054dd4\n0x100054db0: mov w0, #0x0\n0x100054db4: ldp x29, x30, [sp, #0x60]\n0x100054db8: ldp x20, x19, [sp, #0x50]\n0x100054dbc: ldp x22, x21, [sp, #0x40]\n0x100054dc0: ldp x24, x23, [sp, #0x30]\n0x100054dc4: ldp d9, d8, [sp, #0x20]\n0x100054dc8: ldp d11, d10, [sp, #0x10]\n0x100054dcc: ldp d13, d12, [sp], #0x70\n0x100054dd0: ret\n0x100054dd4: mov x0, x23\n0x100054dd8: mov w2, #0x4c\n0x100054ddc: bl 0x1000803c0\n0x100054de0: mov x24, x0\n0x100054de4: mov x0, x23\n0x100054de8: mov w2, #0x42\n0x100054dec: bl 0x1000803c0\n0x100054df0: mov x21, x0\n0x100054df4: mov x0, x23\n0x100054df8: mov w2, #0x43\n0x100054dfc: bl 0x1000803c0\n0x100054e00: mov x22, x0\n0x100054e04: mov x0, x23\n0x100054e08: mov w2, #0x44\n0x100054e0c: bl 0x1000803c0\n0x100054e10: mov x23, x0\n0x100054e14: mov w0, #0x0\n0x100054e18: cbz x24, 0x100054db4\n0x100054e1c: cbz x21, 0x100054db4\n0x100054e20: cbz x22, 0x100054db4\n0x100054e24: cbz x23, 0x100054db4\n0x100054e28: mov x0, x24\n0x100054e2c: bl 0x10007d560\n0x100054e30: cmp x0, #0x2\n0x100054e34: b.cc 0x100054db0\n0x100054e38: mov x0, x21\n0x100054e3c: bl 0x10007d560\n0x100054e40: cmp x0, #0x2\n0x100054e44: b.cc 0x100054db0\n0x100054e48: mov x0, x22\n0x100054e4c: bl 0x10007d560\n0x100054e50: cmp x0, #0x2\n0x100054e54: b.cc 0x100054db0\n0x100054e58: mov x0, x23\n0x100054e5c: bl 0x10007d560\n0x100054e60: cmp x0, #0x2\n0x100054e64: b.cc 0x100054db0\n0x100054e68: mov x0, x24\n0x100054e6c: bl 0x10007c8c0\n0x100054e70: fmov d8, d0\n0x100054e74: mov x0, x24\n0x100054e78: bl 0x10007c8e0\n0x100054e7c: fmov d9, d0\n0x100054e80: mov x0, x21\n0x100054e84: bl 0x10007c8c0\n0x100054e88: fmov d10, d0\n0x100054e8c: mov x0, x22\n0x100054e90: bl 0x10007c8c0\n0x100054e94: adrp x8, 0x100086000\n0x100054e98: ldr d11, [x8, #0x558]\n0x100054e9c: fmadd d10, d0, d11, d10\n0x100054ea0: mov x0, x23\n0x100054ea4: bl 0x10007c8c0\n0x100054ea8: fadd d0, d10, d0\n0x100054eac: adrp x8, 0x100086000\n0x100054eb0: ldr d12, [x8, #0x7d0]\n0x100054eb4: fdiv d13, d0, d12\n0x100054eb8: mov x0, x21\n0x100054ebc: bl 0x10007c8e0\n0x100054ec0: fmov d10, d0\n0x100054ec4: mov x0, x22\n0x100054ec8: bl 0x10007c8e0\n0x100054ecc: fmadd d10, d0, d11, d10\n0x100054ed0: mov x0, x23\n0x100054ed4: bl 0x10007c8e0\n0x100054ed8: fadd d0, d10, d0\n0x100054edc: fdiv d0, d0, d12\n0x100054ee0: fsub d8, d13, d8\n0x100054ee4: fmov x21, d8\n0x100054ee8: fsub d9, d0, d9\n0x100054eec: fmov x22, d9\n0x100054ef0: fmov d0, d8\n0x100054ef4: fmov d1, d9\n0x100054ef8: bl 0x10007ad84\n0x100054efc: mov w0, #0x0\n0x100054f00: and x9, x21, #0x7fffffffffffffff\n0x100054f04: and x8, x22, #0x7fffffffffffffff\n0x100054f08: mov x10, #0x7fefffffffffffff\n0x100054f0c: cmp x8, x10\n0x100054f10: cset w8, gt\n0x100054f14: cmp x9, x10\n0x100054f18: b.gt 0x100054db4\n0x100054f1c: tbnz w8, #0x0, 0x100054db4\n0x100054f20: mov w0, #0x0\n0x100054f24: fmov x8, d0\n0x100054f28: and x8, x8, #0x7fffffffffffffff\n0x100054f2c: mov x9, #0x7fefffffffffffff\n0x100054f30: cmp x8, x9\n0x100054f34: b.gt 0x100054db4\n0x100054f38: adrp x8, 0x100086000\n0x100054f3c: ldr d1, [x8, #0x7d8]\n0x100054f40: fcmp d0, d1\n0x100054f44: b.ls 0x100054db4\n0x100054f48: cbz x20, 0x100054f50\n0x100054f4c: stp d8, d9, [x20]\n0x100054f50: cbz x19, 0x100054f58\n0x100054f54: str d0, [x19]\n0x100054f58: mov w0, #0x1\n0x100054f5c: b 0x100054db4", "operation": "procedure_assembly", "parameters": { "procedure": "0x100054d78" }, "predicate_type": "rea.analysis", "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" }, "raw_result": { "limitations": [], "value": "0x100054d78: stp d13, d12, [sp, #-0x70]!\n0x100054d7c: stp d11, d10, [sp, #0x10]\n0x100054d80: stp d9, d8, [sp, #0x20]\n0x100054d84: stp x24, x23, [sp, #0x30]\n0x100054d88: stp x22, x21, [sp, #0x40]\n0x100054d8c: stp x20, x19, [sp, #0x50]\n0x100054d90: stp x29, x30, [sp, #0x60]\n0x100054d94: add x29, sp, #0x60\n0x100054d98: mov x19, x2\n0x100054d9c: mov x20, x1\n0x100054da0: mov x23, x0\n0x100054da4: bl 0x10007d560\n0x100054da8: cmp x0, #0x4d\n0x100054dac: b.cs 0x100054dd4\n0x100054db0: mov w0, #0x0\n0x100054db4: ldp x29, x30, [sp, #0x60]\n0x100054db8: ldp x20, x19, [sp, #0x50]\n0x100054dbc: ldp x22, x21, [sp, #0x40]\n0x100054dc0: ldp x24, x23, [sp, #0x30]\n0x100054dc4: ldp d9, d8, [sp, #0x20]\n0x100054dc8: ldp d11, d10, [sp, #0x10]\n0x100054dcc: ldp d13, d12, [sp], #0x70\n0x100054dd0: ret\n0x100054dd4: mov x0, x23\n0x100054dd8: mov w2, #0x4c\n0x100054ddc: bl 0x1000803c0\n0x100054de0: mov x24, x0\n0x100054de4: mov x0, x23\n0x100054de8: mov w2, #0x42\n0x100054dec: bl 0x1000803c0\n0x100054df0: mov x21, x0\n0x100054df4: mov x0, x23\n0x100054df8: mov w2, #0x43\n0x100054dfc: bl 0x1000803c0\n0x100054e00: mov x22, x0\n0x100054e04: mov x0, x23\n0x100054e08: mov w2, #0x44\n0x100054e0c: bl 0x1000803c0\n0x100054e10: mov x23, x0\n0x100054e14: mov w0, #0x0\n0x100054e18: cbz x24, 0x100054db4\n0x100054e1c: cbz x21, 0x100054db4\n0x100054e20: cbz x22, 0x100054db4\n0x100054e24: cbz x23, 0x100054db4\n0x100054e28: mov x0, x24\n0x100054e2c: bl 0x10007d560\n0x100054e30: cmp x0, #0x2\n0x100054e34: b.cc 0x100054db0\n0x100054e38: mov x0, x21\n0x100054e3c: bl 0x10007d560\n0x100054e40: cmp x0, #0x2\n0x100054e44: b.cc 0x100054db0\n0x100054e48: mov x0, x22\n0x100054e4c: bl 0x10007d560\n0x100054e50: cmp x0, #0x2\n0x100054e54: b.cc 0x100054db0\n0x100054e58: mov x0, x23\n0x100054e5c: bl 0x10007d560\n0x100054e60: cmp x0, #0x2\n0x100054e64: b.cc 0x100054db0\n0x100054e68: mov x0, x24\n0x100054e6c: bl 0x10007c8c0\n0x100054e70: fmov d8, d0\n0x100054e74: mov x0, x24\n0x100054e78: bl 0x10007c8e0\n0x100054e7c: fmov d9, d0\n0x100054e80: mov x0, x21\n0x100054e84: bl 0x10007c8c0\n0x100054e88: fmov d10, d0\n0x100054e8c: mov x0, x22\n0x100054e90: bl 0x10007c8c0\n0x100054e94: adrp x8, 0x100086000\n0x100054e98: ldr d11, [x8, #0x558]\n0x100054e9c: fmadd d10, d0, d11, d10\n0x100054ea0: mov x0, x23\n0x100054ea4: bl 0x10007c8c0\n0x100054ea8: fadd d0, d10, d0\n0x100054eac: adrp x8, 0x100086000\n0x100054eb0: ldr d12, [x8, #0x7d0]\n0x100054eb4: fdiv d13, d0, d12\n0x100054eb8: mov x0, x21\n0x100054ebc: bl 0x10007c8e0\n0x100054ec0: fmov d10, d0\n0x100054ec4: mov x0, x22\n0x100054ec8: bl 0x10007c8e0\n0x100054ecc: fmadd d10, d0, d11, d10\n0x100054ed0: mov x0, x23\n0x100054ed4: bl 0x10007c8e0\n0x100054ed8: fadd d0, d10, d0\n0x100054edc: fdiv d0, d0, d12\n0x100054ee0: fsub d8, d13, d8\n0x100054ee4: fmov x21, d8\n0x100054ee8: fsub d9, d0, d9\n0x100054eec: fmov x22, d9\n0x100054ef0: fmov d0, d8\n0x100054ef4: fmov d1, d9\n0x100054ef8: bl 0x10007ad84\n0x100054efc: mov w0, #0x0\n0x100054f00: and x9, x21, #0x7fffffffffffffff\n0x100054f04: and x8, x22, #0x7fffffffffffffff\n0x100054f08: mov x10, #0x7fefffffffffffff\n0x100054f0c: cmp x8, x10\n0x100054f10: cset w8, gt\n0x100054f14: cmp x9, x10\n0x100054f18: b.gt 0x100054db4\n0x100054f1c: tbnz w8, #0x0, 0x100054db4\n0x100054f20: mov w0, #0x0\n0x100054f24: fmov x8, d0\n0x100054f28: and x8, x8, #0x7fffffffffffffff\n0x100054f2c: mov x9, #0x7fefffffffffffff\n0x100054f30: cmp x8, x9\n0x100054f34: b.gt 0x100054db4\n0x100054f38: adrp x8, 0x100086000\n0x100054f3c: ldr d1, [x8, #0x7d8]\n0x100054f40: fcmp d0, d1\n0x100054f44: b.ls 0x100054db4\n0x100054f48: cbz x20, 0x100054f50\n0x100054f4c: stp d8, d9, [x20]\n0x100054f50: cbz x19, 0x100054f58\n0x100054f54: str d0, [x19]\n0x100054f58: mov w0, #0x1\n0x100054f5c: b 0x100054db4" }, "subject": { "architecture": "arm64", "digest": { "sha256": "afc71d0d21fd3c1ca95ca745ddafcd729e36ad95f17d8638009f2e45d9b7e8df" }, "format": "mach-o", "local_path": "/Users/dayu/Documents/PaintFCP/build/body-analysis/MSE18V2-arm64", "name": "MSE18V2-arm64" } }, { "analysis_profile": { "digest": "20565088524a2d0359b9b96f46ac48e679d774c7b0092c56abc06de8fdbec11c", "parameters": { "analyzer_preset": "ghidra-default", "annotation_policy": "atomic-function-entry-metadata-v1", "architecture": "arm64", "available_architectures": [ "arm64" ], "compiler_spec_id": "auto-default", "decompiler_jump_loads": true, "function_body_evidence": "complete-inclusive-ranges-v1", "function_boundary_observations": "ghidra-terminal-call-limitations-v1", "function_references": "complete-body-and-entry-reference-manager-v2", "import_mode": "ephemeral-source-immutable", "instruction_flow_evidence": "decoded-return-pcode-v1", "jump_table_evidence": "typed-case-default-blocks-v1", "language_id": "auto-from-header", "load_image_observations": "source-mappings-entry-context-v2", "loader": "auto-from-header", "location_resolution": "explicit-address-exact-entry-symbol-first-v3", "no_return_repair": "returning-imports-decoded-return-v2", "process_launch": "inspected-jvm-launch-support-v1", "string_inventory_evidence": "defined-data-coverage-v1", "target_format": "mach-o", "target_kind": "executable" }, "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" } }, "authority": "shipped-artifact", "confidence": "observed", "environment": null, "evidence_id": "ev_29ca303e3abf1c03c3086fde29c52c6abcbe852790038891fc7fe99362f2e301", "evidence_links": [], "limitations": [ "The session serves operations only after Ghidra reports default auto-analysis complete; incomplete analysis does not expose partial results.", "The imported Program and temporary project are ephemeral and deleted on close. Annotation operations edit session database metadata; original executable bytes are never written.", "Cancelling an active Ghidra request terminates its ephemeral database and discards session annotations. The selected target remains open; the next provider query imports the original artifact again.", "Default-space addresses use lowercase 0x-prefixed hexadecimal; other address spaces use :0x.", "Bytes reflect Ghidra's initialized memory, including loader fixups. Reads stop at an unmapped or uninitialized byte and report completeness explicitly.", "macOS sessions require a matching executable Ghidra native decompiler; REA checks for it but does not build native components or change Gatekeeper quarantine state." ], "locations": [], "normalized_result": { "address": "0x100086240", "bytes_hex": "9a9999999999d9bf", "complete": true, "requested_bytes": 8, "returned_bytes": 8 }, "operation": "read_bytes", "parameters": { "address": "0x100086240", "length": 8 }, "predicate_type": "rea.analysis", "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" }, "raw_result": { "address": "0x100086240", "bytes_hex": "9a9999999999d9bf", "complete": true, "requested_bytes": 8, "returned_bytes": 8 }, "subject": { "architecture": "arm64", "digest": { "sha256": "afc71d0d21fd3c1ca95ca745ddafcd729e36ad95f17d8638009f2e45d9b7e8df" }, "format": "mach-o", "local_path": "/Users/dayu/Documents/PaintFCP/build/body-analysis/MSE18V2-arm64", "name": "MSE18V2-arm64" } }, { "analysis_profile": { "digest": "20565088524a2d0359b9b96f46ac48e679d774c7b0092c56abc06de8fdbec11c", "parameters": { "analyzer_preset": "ghidra-default", "annotation_policy": "atomic-function-entry-metadata-v1", "architecture": "arm64", "available_architectures": [ "arm64" ], "compiler_spec_id": "auto-default", "decompiler_jump_loads": true, "function_body_evidence": "complete-inclusive-ranges-v1", "function_boundary_observations": "ghidra-terminal-call-limitations-v1", "function_references": "complete-body-and-entry-reference-manager-v2", "import_mode": "ephemeral-source-immutable", "instruction_flow_evidence": "decoded-return-pcode-v1", "jump_table_evidence": "typed-case-default-blocks-v1", "language_id": "auto-from-header", "load_image_observations": "source-mappings-entry-context-v2", "loader": "auto-from-header", "location_resolution": "explicit-address-exact-entry-symbol-first-v3", "no_return_repair": "returning-imports-decoded-return-v2", "process_launch": "inspected-jvm-launch-support-v1", "string_inventory_evidence": "defined-data-coverage-v1", "target_format": "mach-o", "target_kind": "executable" }, "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" } }, "authority": "shipped-artifact", "confidence": "observed", "environment": null, "evidence_id": "ev_31e545eab6b0d8b08bee4c6ffc195f644e12cea5d2cf00ace66935efa1756e8e", "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_1000548d0(ID param_1,double *param_2)\n\n{\n ID IVar1;\n ID IVar2;\n ulong uVar3;\n double *pdVar4;\n ulong uVar5;\n ulong uVar6;\n double dVar7;\n double dVar8;\n double dVar9;\n \n if (param_1 == 0) {\n return 0;\n }\n IVar1 = objc_stub::pointCount(param_1);\n if (4 < IVar1) {\n IVar1 = objc_stub::normalizedPoints(param_1);\n if (IVar1 == 0) {\n return 0;\n }\n IVar1 = objc_stub::normalizedPoints(param_1);\n IVar2 = objc_stub::pointCount(param_1);\n uVar6 = IVar2 >> 1;\n uVar5 = uVar6 - (1 < IVar2);\n IVar2 = objc_stub::pointCount(param_1);\n uVar3 = IVar2 - 1;\n if (uVar6 + 1 <= uVar3) {\n uVar3 = uVar6 + 1;\n }\n if (uVar5 <= uVar3) {\n uVar3 = (uVar3 - uVar5) + 1;\n pdVar4 = (double *)(IVar1 + uVar5 * 0x10);\n dVar7 = 0.0;\n dVar8 = 0.0;\n uVar5 = uVar3;\n while( true ) {\n if (0x7fefffffffffffff < ((ulong)*pdVar4 >> 0x30 & 0x7ff8) << 0x30 ||\n 0x7fefffffffffffff < ((ulong)pdVar4[1] >> 0x30 & 0x7ff8) << 0x30) break;\n dVar7 = dVar7 + *pdVar4;\n dVar8 = dVar8 + pdVar4[1];\n pdVar4 = pdVar4 + 2;\n uVar5 = uVar5 - 1;\n if (uVar5 == 0) {\n if (param_2 != (double *)0x0) {\n dVar9 = (double)uVar3;\n param_2[1] = dVar8 / dVar9;\n *param_2 = dVar7 / dVar9;\n }\n return 1;\n }\n }\n }\n }\n return 0;\n}\n\n", "operation": "procedure_pseudo_code", "parameters": { "procedure": "0x1000548d0" }, "predicate_type": "rea.analysis", "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" }, "raw_result": { "limitations": [], "value": "\nundefined8 FUN_1000548d0(ID param_1,double *param_2)\n\n{\n ID IVar1;\n ID IVar2;\n ulong uVar3;\n double *pdVar4;\n ulong uVar5;\n ulong uVar6;\n double dVar7;\n double dVar8;\n double dVar9;\n \n if (param_1 == 0) {\n return 0;\n }\n IVar1 = objc_stub::pointCount(param_1);\n if (4 < IVar1) {\n IVar1 = objc_stub::normalizedPoints(param_1);\n if (IVar1 == 0) {\n return 0;\n }\n IVar1 = objc_stub::normalizedPoints(param_1);\n IVar2 = objc_stub::pointCount(param_1);\n uVar6 = IVar2 >> 1;\n uVar5 = uVar6 - (1 < IVar2);\n IVar2 = objc_stub::pointCount(param_1);\n uVar3 = IVar2 - 1;\n if (uVar6 + 1 <= uVar3) {\n uVar3 = uVar6 + 1;\n }\n if (uVar5 <= uVar3) {\n uVar3 = (uVar3 - uVar5) + 1;\n pdVar4 = (double *)(IVar1 + uVar5 * 0x10);\n dVar7 = 0.0;\n dVar8 = 0.0;\n uVar5 = uVar3;\n while( true ) {\n if (0x7fefffffffffffff < ((ulong)*pdVar4 >> 0x30 & 0x7ff8) << 0x30 ||\n 0x7fefffffffffffff < ((ulong)pdVar4[1] >> 0x30 & 0x7ff8) << 0x30) break;\n dVar7 = dVar7 + *pdVar4;\n dVar8 = dVar8 + pdVar4[1];\n pdVar4 = pdVar4 + 2;\n uVar5 = uVar5 - 1;\n if (uVar5 == 0) {\n if (param_2 != (double *)0x0) {\n dVar9 = (double)uVar3;\n param_2[1] = dVar8 / dVar9;\n *param_2 = dVar7 / dVar9;\n }\n return 1;\n }\n }\n }\n }\n return 0;\n}\n\n" }, "subject": { "architecture": "arm64", "digest": { "sha256": "afc71d0d21fd3c1ca95ca745ddafcd729e36ad95f17d8638009f2e45d9b7e8df" }, "format": "mach-o", "local_path": "/Users/dayu/Documents/PaintFCP/build/body-analysis/MSE18V2-arm64", "name": "MSE18V2-arm64" } }, { "analysis_profile": { "digest": "20565088524a2d0359b9b96f46ac48e679d774c7b0092c56abc06de8fdbec11c", "parameters": { "analyzer_preset": "ghidra-default", "annotation_policy": "atomic-function-entry-metadata-v1", "architecture": "arm64", "available_architectures": [ "arm64" ], "compiler_spec_id": "auto-default", "decompiler_jump_loads": true, "function_body_evidence": "complete-inclusive-ranges-v1", "function_boundary_observations": "ghidra-terminal-call-limitations-v1", "function_references": "complete-body-and-entry-reference-manager-v2", "import_mode": "ephemeral-source-immutable", "instruction_flow_evidence": "decoded-return-pcode-v1", "jump_table_evidence": "typed-case-default-blocks-v1", "language_id": "auto-from-header", "load_image_observations": "source-mappings-entry-context-v2", "loader": "auto-from-header", "location_resolution": "explicit-address-exact-entry-symbol-first-v3", "no_return_repair": "returning-imports-decoded-return-v2", "process_launch": "inspected-jvm-launch-support-v1", "string_inventory_evidence": "defined-data-coverage-v1", "target_format": "mach-o", "target_kind": "executable" }, "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" } }, "authority": "shipped-artifact", "confidence": "observed", "environment": null, "evidence_id": "ev_4262a57fba63d463ae97c4986acb212b8240d86b0afd35ed06fcc9c941d1b38d", "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 0x10003f2bc to 0x10007aca0 ___stack_chk_fail (external=false, thunk=true, hasNoReturn=true); fallthrough is excluded by Ghidra's flow model. This records Ghidra's FunctionManager flag, not an independent verification that the callee cannot return.", "macOS sessions require a matching executable Ghidra native decompiler; REA checks for it but does not build native components or change Gatekeeper quarantine state." ], "locations": [], "normalized_result": "\nulong FUN_10003f020(undefined8 param_1,double param_2,undefined8 param_3,undefined8 param_4,\n ID param_5)\n\n{\n ID IVar1;\n ulong uVar2;\n ulong uVar3;\n ulong uVar4;\n long lVar5;\n ID IVar6;\n double dVar7;\n double dVar8;\n double extraout_d0;\n double dVar9;\n double dVar10;\n undefined8 local_178;\n undefined8 local_170;\n undefined8 local_160;\n long lStack_158;\n long *local_150;\n undefined8 uStack_148;\n undefined8 local_140;\n undefined8 uStack_138;\n undefined8 uStack_130;\n undefined8 uStack_128;\n undefined1 auStack_118 [128];\n long local_98;\n \n local_98 = *(long *)PTR____stack_chk_guard_1000a80e8;\n IVar1 = objc_stub::count(param_5);\n if (IVar1 == 0) {\n uVar2 = 0;\n }\n else {\n _CGRectGetMidX(param_1,param_2,param_3,param_4);\n _CGRectGetMidY(param_1,param_2,param_3,param_4);\n lStack_158 = 0;\n local_160 = 0;\n uStack_148 = 0;\n local_150 = (long *)0x0;\n uStack_138 = 0;\n local_140 = 0;\n uStack_128 = 0;\n uStack_130 = 0;\n IVar1 = objc_stub::countByEnumeratingWithState_objects_count_\n (param_5,&local_160,auStack_118,0x10);\n if (IVar1 != 0) {\n uVar2 = 0;\n lVar5 = *local_150;\n dVar9 = -1.7976931348623157e+308;\n local_170 = 0x3fe70a3d70a3d70a;\n dVar7 = 1.1;\n local_178 = 0x3ff199999999999a;\n do {\n IVar6 = 0;\n uVar3 = uVar2;\n dVar10 = dVar9;\n do {\n if (*local_150 != lVar5) {\n _objc_enumerationMutation(param_5);\n }\n uVar4 = *(ulong *)(lStack_158 + IVar6 * 8);\n uVar2 = uVar3;\n dVar9 = dVar10;\n if (uVar4 != 0) {\n uVar2 = uVar4;\n FUN_10003d49c();\n _CGRectStandardize();\n dVar9 = 0.0;\n _CGRectIntersection();\n _CGRectIsNull();\n if (((uVar2 & 1) == 0) &&\n (_CGRectIsEmpty(dVar7,param_2,param_3,param_4), (uVar2 & 1) == 0)) {\n dVar9 = dVar7;\n _CGRectGetWidth(dVar7,param_2,param_3,param_4);\n if (dVar9 <= 0.0) {\n dVar9 = 0.0;\n }\n dVar8 = dVar7;\n _CGRectGetHeight(dVar7,param_2,param_3,param_4);\n if (dVar8 <= 0.0) {\n dVar8 = 0.0;\n }\n dVar9 = dVar9 * dVar8;\n }\n dVar8 = 1.0;\n if (dVar9 <= 1.0) {\n dVar8 = dVar9;\n }\n dVar9 = dVar7;\n _CGRectGetMidX(dVar7,param_2,param_3,param_4);\n _CGRectGetMidY(dVar7,param_2,param_3,param_4);\n param_2 = dVar8 * 1.8;\n dVar9 = SQRT((dVar7 + -0.5) * (dVar7 + -0.5) + (dVar9 + -0.5) * (dVar9 + -0.5)) / 0.72;\n dVar7 = 1.0;\n if (dVar9 <= 1.0) {\n dVar7 = dVar9;\n }\n dVar7 = param_2 + (1.0 - dVar7) * 1.1;\n uVar2 = uVar4;\n param_3 = local_178;\n param_4 = local_170;\n dVar9 = dVar7;\n if (dVar7 <= dVar10 && uVar3 != 0) {\n uVar2 = uVar3;\n dVar9 = dVar10;\n }\n }\n IVar6 = IVar6 + 1;\n uVar3 = uVar2;\n dVar10 = dVar9;\n } while (IVar1 != IVar6);\n IVar1 = objc_stub::countByEnumeratingWithState_objects_count_\n (param_5,&local_160,auStack_118,0x10);\n dVar7 = extraout_d0;\n } while (IVar1 != 0);\n if (uVar2 != 0) goto LAB_10003f274;\n }\n uVar2 = objc_stub::firstObject(param_5);\n }\nLAB_10003f274:\n if (*(long *)PTR____stack_chk_guard_1000a80e8 != local_98) {\n /* WARNING: Subroutine does not return */\n ___stack_chk_fail();\n }\n return uVar2;\n}\n\n", "operation": "procedure_pseudo_code", "parameters": { "procedure": "0x10003f020" }, "predicate_type": "rea.analysis", "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" }, "raw_result": { "limitations": [ "Ghidra Listing reports a terminal call at 0x10003f2bc to 0x10007aca0 ___stack_chk_fail (external=false, thunk=true, hasNoReturn=true); fallthrough is excluded by Ghidra's flow model. This records Ghidra's FunctionManager flag, not an independent verification that the callee cannot return." ], "value": "\nulong FUN_10003f020(undefined8 param_1,double param_2,undefined8 param_3,undefined8 param_4,\n ID param_5)\n\n{\n ID IVar1;\n ulong uVar2;\n ulong uVar3;\n ulong uVar4;\n long lVar5;\n ID IVar6;\n double dVar7;\n double dVar8;\n double extraout_d0;\n double dVar9;\n double dVar10;\n undefined8 local_178;\n undefined8 local_170;\n undefined8 local_160;\n long lStack_158;\n long *local_150;\n undefined8 uStack_148;\n undefined8 local_140;\n undefined8 uStack_138;\n undefined8 uStack_130;\n undefined8 uStack_128;\n undefined1 auStack_118 [128];\n long local_98;\n \n local_98 = *(long *)PTR____stack_chk_guard_1000a80e8;\n IVar1 = objc_stub::count(param_5);\n if (IVar1 == 0) {\n uVar2 = 0;\n }\n else {\n _CGRectGetMidX(param_1,param_2,param_3,param_4);\n _CGRectGetMidY(param_1,param_2,param_3,param_4);\n lStack_158 = 0;\n local_160 = 0;\n uStack_148 = 0;\n local_150 = (long *)0x0;\n uStack_138 = 0;\n local_140 = 0;\n uStack_128 = 0;\n uStack_130 = 0;\n IVar1 = objc_stub::countByEnumeratingWithState_objects_count_\n (param_5,&local_160,auStack_118,0x10);\n if (IVar1 != 0) {\n uVar2 = 0;\n lVar5 = *local_150;\n dVar9 = -1.7976931348623157e+308;\n local_170 = 0x3fe70a3d70a3d70a;\n dVar7 = 1.1;\n local_178 = 0x3ff199999999999a;\n do {\n IVar6 = 0;\n uVar3 = uVar2;\n dVar10 = dVar9;\n do {\n if (*local_150 != lVar5) {\n _objc_enumerationMutation(param_5);\n }\n uVar4 = *(ulong *)(lStack_158 + IVar6 * 8);\n uVar2 = uVar3;\n dVar9 = dVar10;\n if (uVar4 != 0) {\n uVar2 = uVar4;\n FUN_10003d49c();\n _CGRectStandardize();\n dVar9 = 0.0;\n _CGRectIntersection();\n _CGRectIsNull();\n if (((uVar2 & 1) == 0) &&\n (_CGRectIsEmpty(dVar7,param_2,param_3,param_4), (uVar2 & 1) == 0)) {\n dVar9 = dVar7;\n _CGRectGetWidth(dVar7,param_2,param_3,param_4);\n if (dVar9 <= 0.0) {\n dVar9 = 0.0;\n }\n dVar8 = dVar7;\n _CGRectGetHeight(dVar7,param_2,param_3,param_4);\n if (dVar8 <= 0.0) {\n dVar8 = 0.0;\n }\n dVar9 = dVar9 * dVar8;\n }\n dVar8 = 1.0;\n if (dVar9 <= 1.0) {\n dVar8 = dVar9;\n }\n dVar9 = dVar7;\n _CGRectGetMidX(dVar7,param_2,param_3,param_4);\n _CGRectGetMidY(dVar7,param_2,param_3,param_4);\n param_2 = dVar8 * 1.8;\n dVar9 = SQRT((dVar7 + -0.5) * (dVar7 + -0.5) + (dVar9 + -0.5) * (dVar9 + -0.5)) / 0.72;\n dVar7 = 1.0;\n if (dVar9 <= 1.0) {\n dVar7 = dVar9;\n }\n dVar7 = param_2 + (1.0 - dVar7) * 1.1;\n uVar2 = uVar4;\n param_3 = local_178;\n param_4 = local_170;\n dVar9 = dVar7;\n if (dVar7 <= dVar10 && uVar3 != 0) {\n uVar2 = uVar3;\n dVar9 = dVar10;\n }\n }\n IVar6 = IVar6 + 1;\n uVar3 = uVar2;\n dVar10 = dVar9;\n } while (IVar1 != IVar6);\n IVar1 = objc_stub::countByEnumeratingWithState_objects_count_\n (param_5,&local_160,auStack_118,0x10);\n dVar7 = extraout_d0;\n } while (IVar1 != 0);\n if (uVar2 != 0) goto LAB_10003f274;\n }\n uVar2 = objc_stub::firstObject(param_5);\n }\nLAB_10003f274:\n if (*(long *)PTR____stack_chk_guard_1000a80e8 != local_98) {\n /* WARNING: Subroutine does not return */\n ___stack_chk_fail();\n }\n return uVar2;\n}\n\n" }, "subject": { "architecture": "arm64", "digest": { "sha256": "afc71d0d21fd3c1ca95ca745ddafcd729e36ad95f17d8638009f2e45d9b7e8df" }, "format": "mach-o", "local_path": "/Users/dayu/Documents/PaintFCP/build/body-analysis/MSE18V2-arm64", "name": "MSE18V2-arm64" } }, { "analysis_profile": { "digest": "20565088524a2d0359b9b96f46ac48e679d774c7b0092c56abc06de8fdbec11c", "parameters": { "analyzer_preset": "ghidra-default", "annotation_policy": "atomic-function-entry-metadata-v1", "architecture": "arm64", "available_architectures": [ "arm64" ], "compiler_spec_id": "auto-default", "decompiler_jump_loads": true, "function_body_evidence": "complete-inclusive-ranges-v1", "function_boundary_observations": "ghidra-terminal-call-limitations-v1", "function_references": "complete-body-and-entry-reference-manager-v2", "import_mode": "ephemeral-source-immutable", "instruction_flow_evidence": "decoded-return-pcode-v1", "jump_table_evidence": "typed-case-default-blocks-v1", "language_id": "auto-from-header", "load_image_observations": "source-mappings-entry-context-v2", "loader": "auto-from-header", "location_resolution": "explicit-address-exact-entry-symbol-first-v3", "no_return_repair": "returning-imports-decoded-return-v2", "process_launch": "inspected-jvm-launch-support-v1", "string_inventory_evidence": "defined-data-coverage-v1", "target_format": "mach-o", "target_kind": "executable" }, "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" } }, "authority": "shipped-artifact", "confidence": "observed", "environment": null, "evidence_id": "ev_446e4a969ff46db0600fe15988d0f396f394641aaeac760d6372a0c0509bf177", "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:0xa9", "value": "/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation::_CFErrorCreate" }, { "address": "EXTERNAL:0xb2", "value": "/System/Library/Frameworks/CoreGraphics.framework/Versions/A/CoreGraphics::_CGBitmapContextCreate" }, { "address": "EXTERNAL:0xb3", "value": "/System/Library/Frameworks/CoreGraphics.framework/Versions/A/CoreGraphics::_CGBitmapContextCreateImage" }, { "address": "EXTERNAL:0xb4", "value": "/System/Library/Frameworks/CoreGraphics.framework/Versions/A/CoreGraphics::_CGColorCreateGenericRGB" }, { "address": "EXTERNAL:0xb6", "value": "/System/Library/Frameworks/CoreGraphics.framework/Versions/A/CoreGraphics::_CGColorSpaceCreateDeviceRGB" }, { "address": "EXTERNAL:0xb7", "value": "/System/Library/Frameworks/CoreGraphics.framework/Versions/A/CoreGraphics::_CGColorSpaceCreateWithName" }, { "address": "EXTERNAL:0xd7", "value": "/System/Library/Frameworks/CoreGraphics.framework/Versions/A/CoreGraphics::_CGDataProviderCreateWithData" }, { "address": "EXTERNAL:0xd9", "value": "/System/Library/Frameworks/CoreGraphics.framework/Versions/A/CoreGraphics::_CGImageCreate" }, { "address": "EXTERNAL:0xdd", "value": "/System/Library/Frameworks/ImageIO.framework/Versions/A/ImageIO::_CGImageSourceCreateImageAtIndex" }, { "address": "EXTERNAL:0xde", "value": "/System/Library/Frameworks/ImageIO.framework/Versions/A/ImageIO::_CGImageSourceCreateWithData" }, { "address": "EXTERNAL:0xec", "value": "/System/Library/Frameworks/CoreGraphics.framework/Versions/A/CoreGraphics::_CGRectIntersection" }, { "address": "EXTERNAL:0xf5", "value": "/System/Library/Frameworks/CoreText.framework/Versions/A/CoreText::_CTFontCreateWithName" }, { "address": "EXTERNAL:0xf6", "value": "/System/Library/Frameworks/CoreText.framework/Versions/A/CoreText::_CTLineCreateWithAttributedString" }, { "address": "EXTERNAL:0xfa", "value": "/System/Library/Frameworks/IOKit.framework/Versions/A/IOKit::_IORegistryEntryCreateCFProperty" }, { "address": "EXTERNAL:0x105", "value": "/System/Library/Frameworks/Metal.framework/Versions/A/Metal::_MTLCreateSystemDefaultDevice" }, { "address": "EXTERNAL:0x112", "value": "/System/Library/Frameworks/Security.framework/Versions/A/Security::_SecRequirementCreateWithString" }, { "address": "EXTERNAL:0x114", "value": "/System/Library/Frameworks/Security.framework/Versions/A/Security::_SecStaticCodeCreateWithPath" }, { "address": "EXTERNAL:0x11a", "value": "@rpath/libopencv_video.413.dylib::__ZN2cv14DISOpticalFlow6createEi" }, { "address": "EXTERNAL:0x136", "value": "/usr/lib/libSystem.B.dylib::_dispatch_semaphore_create" }, { "address": "EXTERNAL:0x2f3", "value": "/System/Library/Frameworks/Foundation.framework/Versions/C/Foundation::ephemeralSessionConfiguration" }, { "address": "EXTERNAL:0x2f6", "value": "/System/Library/Frameworks/Foundation.framework/Versions/C/Foundation::sessionWithConfiguration:" }, { "address": "EXTERNAL:0x371", "value": "/System/Library/Frameworks/Foundation.framework/Versions/C/Foundation::createDirectoryAtPath:withIntermediateDirectories:attributes:error:" }, { "address": "EXTERNAL:0x377", "value": "/System/Library/Frameworks/Foundation.framework/Versions/C/Foundation::createFileAtPath:contents:attributes:" }, { "address": "EXTERNAL:0x38c", "value": "/System/Library/Frameworks/Foundation.framework/Versions/C/Foundation::createDirectoryAtURL:withIntermediateDirectories:attributes:error:" }, { "address": "EXTERNAL:0x38f", "value": "/System/Library/Frameworks/CoreML.framework/Versions/A/CoreML::modelWithContentsOfURL:configuration:error:" }, { "address": "0x100003dbc", "value": "MSSSectionCardParameterValue::dealloc" }, { "address": "0x100003e38", "value": "MSSSectionCardParameterValue::init" }, { "address": "0x100003f4c", "value": "MSSSectionCardParameterValue::defaultValue" }, { "address": "0x100003f60", "value": "MSSSectionCardParameterValue::supportsSecureCoding" }, { "address": "0x100003f68", "value": "MSSSectionCardParameterValue::encodeWithCoder:" }, { "address": "0x100004c08", "value": "MSSSectionCardParameterValue::initWithCoder:" }, { "address": "0x100006344", "value": "MSSSectionCardParameterValue::copyWithZone:" }, { "address": "0x100006c30", "value": "MSSSectionCardParameterValue::interpolateBetween:withWeight:" }, { "address": "0x100007a14", "value": "MSSSectionCardParameterValue::isEqual:" }, { "address": "0x100008b20", "value": "MSSSectionCardParameterValue::skinBrightness" }, { "address": "0x100008b28", "value": "MSSSectionCardParameterValue::setSkinBrightness:" }, { "address": "0x100008b30", "value": "MSSSectionCardParameterValue::skinHue" }, { "address": "0x100008b38", "value": "MSSSectionCardParameterValue::setSkinHue:" }, { "address": "0x100008b40", "value": "MSSSectionCardParameterValue::skinSaturation" }, { "address": "0x100008b48", "value": "MSSSectionCardParameterValue::setSkinSaturation:" }, { "address": "0x100008b50", "value": "MSSSectionCardParameterValue::skinTonePreset" }, { "address": "0x100008b58", "value": "MSSSectionCardParameterValue::setSkinTonePreset:" }, { "address": "0x100008b60", "value": "MSSSectionCardParameterValue::skinEvenTone" }, { "address": "0x100008b68", "value": "MSSSectionCardParameterValue::setSkinEvenTone:" }, { "address": "0x100008b70", "value": "MSSSectionCardParameterValue::midtoneDetail" }, { "address": "0x100008b78", "value": "MSSSectionCardParameterValue::setMidtoneDetail:" }, { "address": "0x100008b80", "value": "MSSSectionCardParameterValue::featureProtection" }, { "address": "0x100008b88", "value": "MSSSectionCardParameterValue::setFeatureProtection:" }, { "address": "0x100008b90", "value": "MSSSectionCardParameterValue::featureProtectionRelease" }, { "address": "0x100008b98", "value": "MSSSectionCardParameterValue::setFeatureProtectionRelease:" }, { "address": "0x100008ba0", "value": "MSSSectionCardParameterValue::highPassDetail" }, { "address": "0x100008ba8", "value": "MSSSectionCardParameterValue::setHighPassDetail:" }, { "address": "0x100008bb0", "value": "MSSSectionCardParameterValue::teethWhitening" }, { "address": "0x100008bb8", "value": "MSSSectionCardParameterValue::setTeethWhitening:" }, { "address": "0x100008bc0", "value": "MSSSectionCardParameterValue::eyeBrightening" }, { "address": "0x100008bc8", "value": "MSSSectionCardParameterValue::setEyeBrightening:" }, { "address": "0x100008bd0", "value": "MSSSectionCardParameterValue::faceThin" }, { "address": "0x100008bd8", "value": "MSSSectionCardParameterValue::setFaceThin:" }, { "address": "0x100008be0", "value": "MSSSectionCardParameterValue::faceBigEye" }, { "address": "0x100008be8", "value": "MSSSectionCardParameterValue::setFaceBigEye:" }, { "address": "0x100008bf0", "value": "MSSSectionCardParameterValue::faceShort" }, { "address": "0x100008bf8", "value": "MSSSectionCardParameterValue::setFaceShort:" }, { "address": "0x100008c00", "value": "MSSSectionCardParameterValue::faceNarrow" }, { "address": "0x100008c08", "value": "MSSSectionCardParameterValue::setFaceNarrow:" }, { "address": "0x100008c10", "value": "MSSSectionCardParameterValue::faceChin" }, { "address": "0x100008c18", "value": "MSSSectionCardParameterValue::setFaceChin:" }, { "address": "0x100008c20", "value": "MSSSectionCardParameterValue::faceV" }, { "address": "0x100008c28", "value": "MSSSectionCardParameterValue::setFaceV:" }, { "address": "0x100008c30", "value": "MSSSectionCardParameterValue::faceJaw" }, { "address": "0x100008c38", "value": "MSSSectionCardParameterValue::setFaceJaw:" }, { "address": "0x100008c40", "value": "MSSSectionCardParameterValue::faceCheekbone" }, { "address": "0x100008c48", "value": "MSSSectionCardParameterValue::setFaceCheekbone:" }, { "address": "0x100008c50", "value": "MSSSectionCardParameterValue::faceSmallHead" }, { "address": "0x100008c58", "value": "MSSSectionCardParameterValue::setFaceSmallHead:" }, { "address": "0x100008c60", "value": "MSSSectionCardParameterValue::faceSmallHeadRange" }, { "address": "0x100008c68", "value": "MSSSectionCardParameterValue::setFaceSmallHeadRange:" }, { "address": "0x100008c70", "value": "MSSSectionCardParameterValue::radius" }, { "address": "0x100008c78", "value": "MSSSectionCardParameterValue::setRadius:" }, { "address": "0x100008c80", "value": "MSSSectionCardParameterValue::sharpness" }, { "address": "0x100008c88", "value": "MSSSectionCardParameterValue::setSharpness:" }, { "address": "0x100008c90", "value": "MSSSectionCardParameterValue::maskSoftness" }, { "address": "0x100008c98", "value": "MSSSectionCardParameterValue::setMaskSoftness:" }, { "address": "0x100008ca0", "value": "MSSSectionCardParameterValue::maskEdgeProtect" }, { "address": "0x100008ca8", "value": "MSSSectionCardParameterValue::setMaskEdgeProtect:" }, { "address": "0x100008cb0", "value": "MSSSectionCardParameterValue::showFaceBoxes" }, { "address": "0x100008cb8", "value": "MSSSectionCardParameterValue::setShowFaceBoxes:" }, { "address": "0x100008cc0", "value": "MSSSectionCardParameterValue::showFaceTrackBox" }, { "address": "0x100008cc8", "value": "MSSSectionCardParameterValue::setShowFaceTrackBox:" }, { "address": "0x100008cd0", "value": "MSSSectionCardParameterValue::fastMultiFaceMode" }, { "address": "0x100008cd8", "value": "MSSSectionCardParameterValue::setFastMultiFaceMode:" }, { "address": "0x100008ce0", "value": "MSSSectionCardParameterValue::faceJumpGuardRange" }, { "address": "0x100008ce8", "value": "MSSSectionCardParameterValue::setFaceJumpGuardRange:" }, { "address": "0x100008cf0", "value": "MSSSectionCardParameterValue::faceSingleSelection" }, { "address": "0x100008cf8", "value": "MSSSectionCardParameterValue::setFaceSingleSelection:" }, { "address": "0x100008d00", "value": "MSSSectionCardParameterValue::faceSelectionX" }, { "address": "0x100008d08", "value": "MSSSectionCardParameterValue::setFaceSelectionX:" }, { "address": "0x100008d10", "value": "MSSSectionCardParameterValue::faceSelectionY" }, { "address": "0x100008d18", "value": "MSSSectionCardParameterValue::setFaceSelectionY:" }, { "address": "0x100008d20", "value": "MSSSectionCardParameterValue::faceSelectionRevision" }, { "address": "0x100008d28", "value": "MSSSectionCardParameterValue::setFaceSelectionRevision:" }, { "address": "0x100008d30", "value": "MSSSectionCardParameterValue::faceTrackEnabled" }, { "address": "0x100008d38", "value": "MSSSectionCardParameterValue::setFaceTrackEnabled:" }, { "address": "0x100008d40", "value": "MSSSectionCardParameterValue::faceTrackStatus" }, { "address": "0x100008d48", "value": "MSSSectionCardParameterValue::setFaceTrackStatus:" }, { "address": "0x100008d50", "value": "MSSSectionCardParameterValue::faceTrackRevision" }, { "address": "0x100008d58", "value": "MSSSectionCardParameterValue::setFaceTrackRevision:" }, { "address": "0x100008d60", "value": "MSSSectionCardParameterValue::faceTrackFrameCount" }, { "address": "0x100008d68", "value": "MSSSectionCardParameterValue::setFaceTrackFrameCount:" }, { "address": "0x100008d70", "value": "MSSSectionCardParameterValue::faceTrackSeedTimeSeconds" }, { "address": "0x100008d78", "value": "MSSSectionCardParameterValue::setFaceTrackSeedTimeSeconds:" }, { "address": "0x100008d80", "value": "MSSSectionCardParameterValue::faceTrackProgress" }, { "address": "0x100008d88", "value": "MSSSectionCardParameterValue::setFaceTrackProgress:" }, { "address": "0x100008d90", "value": "MSSSectionCardParameterValue::faceTrackAppendMode" }, { "address": "0x100008d98", "value": "MSSSectionCardParameterValue::setFaceTrackAppendMode:" }, { "address": "0x100008da0", "value": "MSSSectionCardParameterValue::faceTrackData" }, { "address": "0x100008da8", "value": "MSSSectionCardParameterValue::setFaceTrackData:" }, { "address": "0x100008db0", "value": "MSSSectionCardParameterValue::faceTrackTargetCount" }, { "address": "0x100008db8", "value": "MSSSectionCardParameterValue::setFaceTrackTargetCount:" }, { "address": "0x100008dc0", "value": "MSSSectionCardParameterValue::faceTrackActiveTargetIndex" }, { "address": "0x100008dc8", "value": "MSSSectionCardParameterValue::setFaceTrackActiveTargetIndex:" }, { "address": "0x100008dd0", "value": "MSSSectionCardParameterValue::faceTrackAnalysisTargetIndex" }, { "address": "0x100008dd8", "value": "MSSSectionCardParameterValue::setFaceTrackAnalysisTargetIndex:" }, { "address": "0x100008de0", "value": "MSSSectionCardParameterValue::faceTrackTargetPageStartIndex" }, { "address": "0x100008de8", "value": "MSSSectionCardParameterValue::setFaceTrackTargetPageStartIndex:" }, { "address": "0x100008df0", "value": "MSSSectionCardParameterValue::faceTrackTarget1Data" }, { "address": "0x100008df8", "value": "MSSSectionCardParameterValue::setFaceTrackTarget1Data:" }, { "address": "0x100008e00", "value": "MSSSectionCardParameterValue::faceTrackTarget2Data" }, { "address": "0x100008e08", "value": "MSSSectionCardParameterValue::setFaceTrackTarget2Data:" }, { "address": "0x100008e10", "value": "MSSSectionCardParameterValue::faceTrackTarget3Data" }, { "address": "0x100008e18", "value": "MSSSectionCardParameterValue::setFaceTrackTarget3Data:" }, { "address": "0x100008e20", "value": "MSSSectionCardParameterValue::faceTrackTargets" }, { "address": "0x100008e28", "value": "MSSSectionCardParameterValue::setFaceTrackTargets:" }, { "address": "0x100008e30", "value": "MSSSectionCardParameterValue::faceTrackTarget1Status" }, { "address": "0x100008e38", "value": "MSSSectionCardParameterValue::setFaceTrackTarget1Status:" }, { "address": "0x100008e40", "value": "MSSSectionCardParameterValue::faceTrackTarget2Status" }, { "address": "0x100008e48", "value": "MSSSectionCardParameterValue::setFaceTrackTarget2Status:" }, { "address": "0x100008e50", "value": "MSSSectionCardParameterValue::faceTrackTarget3Status" }, { "address": "0x100008e58", "value": "MSSSectionCardParameterValue::setFaceTrackTarget3Status:" }, { "address": "0x100008e60", "value": "MSSSectionCardParameterValue::faceTrackTarget1FrameCount" }, { "address": "0x100008e68", "value": "MSSSectionCardParameterValue::setFaceTrackTarget1FrameCount:" }, { "address": "0x100008e70", "value": "MSSSectionCardParameterValue::faceTrackTarget2FrameCount" }, { "address": "0x100008e78", "value": "MSSSectionCardParameterValue::setFaceTrackTarget2FrameCount:" }, { "address": "0x100008e80", "value": "MSSSectionCardParameterValue::faceTrackTarget3FrameCount" }, { "address": "0x100008e88", "value": "MSSSectionCardParameterValue::setFaceTrackTarget3FrameCount:" }, { "address": "0x100008e90", "value": "MSSSectionCardParameterValue::faceTrackTarget1Revision" }, { "address": "0x100008e98", "value": "MSSSectionCardParameterValue::setFaceTrackTarget1Revision:" }, { "address": "0x100008ea0", "value": "MSSSectionCardParameterValue::faceTrackTarget2Revision" }, { "address": "0x100008ea8", "value": "MSSSectionCardParameterValue::setFaceTrackTarget2Revision:" }, { "address": "0x100008eb0", "value": "MSSSectionCardParameterValue::faceTrackTarget3Revision" }, { "address": "0x100008eb8", "value": "MSSSectionCardParameterValue::setFaceTrackTarget3Revision:" }, { "address": "0x100008ec0", "value": "MSSSectionCardParameterValue::faceTrackTarget1Progress" }, { "address": "0x100008ec8", "value": "MSSSectionCardParameterValue::setFaceTrackTarget1Progress:" }, { "address": "0x100008ed0", "value": "MSSSectionCardParameterValue::faceTrackTarget2Progress" }, { "address": "0x100008ed8", "value": "MSSSectionCardParameterValue::setFaceTrackTarget2Progress:" }, { "address": "0x100008ee0", "value": "MSSSectionCardParameterValue::faceTrackTarget3Progress" }, { "address": "0x100008ee8", "value": "MSSSectionCardParameterValue::setFaceTrackTarget3Progress:" }, { "address": "0x100008ef0", "value": "MSSSectionCardParameterValue::faceTrackTarget1HasSelection" }, { "address": "0x100008ef8", "value": "MSSSectionCardParameterValue::setFaceTrackTarget1HasSelection:" }, { "address": "0x100008f00", "value": "MSSSectionCardParameterValue::faceTrackTarget2HasSelection" }, { "address": "0x100008f08", "value": "MSSSectionCardParameterValue::setFaceTrackTarget2HasSelection:" }, { "address": "0x100008f10", "value": "MSSSectionCardParameterValue::faceTrackTarget3HasSelection" }, { "address": "0x100008f18", "value": "MSSSectionCardParameterValue::setFaceTrackTarget3HasSelection:" }, { "address": "0x100008f20", "value": "MSSSectionCardParameterValue::faceTrackTarget1SelectionX" }, { "address": "0x100008f28", "value": "MSSSectionCardParameterValue::setFaceTrackTarget1SelectionX:" }, { "address": "0x100008f30", "value": "MSSSectionCardParameterValue::faceTrackTarget2SelectionX" }, { "address": "0x100008f38", "value": "MSSSectionCardParameterValue::setFaceTrackTarget2SelectionX:" }, { "address": "0x100008f40", "value": "MSSSectionCardParameterValue::faceTrackTarget3SelectionX" }, { "address": "0x100008f48", "value": "MSSSectionCardParameterValue::setFaceTrackTarget3SelectionX:" }, { "address": "0x100008f50", "value": "MSSSectionCardParameterValue::faceTrackTarget1SelectionY" }, { "address": "0x100008f58", "value": "MSSSectionCardParameterValue::setFaceTrackTarget1SelectionY:" }, { "address": "0x100008f60", "value": "MSSSectionCardParameterValue::faceTrackTarget2SelectionY" }, { "address": "0x100008f68", "value": "MSSSectionCardParameterValue::setFaceTrackTarget2SelectionY:" }, { "address": "0x100008f70", "value": "MSSSectionCardParameterValue::faceTrackTarget3SelectionY" }, { "address": "0x100008f78", "value": "MSSSectionCardParameterValue::setFaceTrackTarget3SelectionY:" }, { "address": "0x100008f80", "value": "MSSSectionCardParameterValue::faceTrackTarget1SeedTimeSeconds" }, { "address": "0x100008f88", "value": "MSSSectionCardParameterValue::setFaceTrackTarget1SeedTimeSeconds:" }, { "address": "0x100008f90", "value": "MSSSectionCardParameterValue::faceTrackTarget2SeedTimeSeconds" }, { "address": "0x100008f98", "value": "MSSSectionCardParameterValue::setFaceTrackTarget2SeedTimeSeconds:" }, { "address": "0x100008fa0", "value": "MSSSectionCardParameterValue::faceTrackTarget3SeedTimeSeconds" }, { "address": "0x100008fa8", "value": "MSSSectionCardParameterValue::setFaceTrackTarget3SeedTimeSeconds:" }, { "address": "0x100008fb0", "value": "MSSSectionCardParameterValue::faceTrackTarget1HasSelectionBox" }, { "address": "0x100008fb8", "value": "MSSSectionCardParameterValue::setFaceTrackTarget1HasSelectionBox:" }, { "address": "0x100008fc0", "value": "MSSSectionCardParameterValue::faceTrackTarget2HasSelectionBox" }, { "address": "0x100008fc8", "value": "MSSSectionCardParameterValue::setFaceTrackTarget2HasSelectionBox:" }, { "address": "0x100008fd0", "value": "MSSSectionCardParameterValue::faceTrackTarget3HasSelectionBox" }, { "address": "0x100008fd8", "value": "MSSSectionCardParameterValue::setFaceTrackTarget3HasSelectionBox:" }, { "address": "0x100008fe0", "value": "MSSSectionCardParameterValue::faceTrackTarget1SelectionBoxX" }, { "address": "0x100008fe8", "value": "MSSSectionCardParameterValue::setFaceTrackTarget1SelectionBoxX:" }, { "address": "0x100008ff0", "value": "MSSSectionCardParameterValue::faceTrackTarget1SelectionBoxY" }, { "address": "0x100008ff8", "value": "MSSSectionCardParameterValue::setFaceTrackTarget1SelectionBoxY:" }, { "address": "0x100009000", "value": "MSSSectionCardParameterValue::faceTrackTarget1SelectionBoxW" }, { "address": "0x100009008", "value": "MSSSectionCardParameterValue::setFaceTrackTarget1SelectionBoxW:" }, { "address": "0x100009010", "value": "MSSSectionCardParameterValue::faceTrackTarget1SelectionBoxH" }, { "address": "0x100009018", "value": "MSSSectionCardParameterValue::setFaceTrackTarget1SelectionBoxH:" }, { "address": "0x100009020", "value": "MSSSectionCardParameterValue::faceTrackTarget2SelectionBoxX" }, { "address": "0x100009028", "value": "MSSSectionCardParameterValue::setFaceTrackTarget2SelectionBoxX:" }, { "address": "0x100009030", "value": "MSSSectionCardParameterValue::faceTrackTarget2SelectionBoxY" }, { "address": "0x100009038", "value": "MSSSectionCardParameterValue::setFaceTrackTarget2SelectionBoxY:" }, { "address": "0x100009040", "value": "MSSSectionCardParameterValue::faceTrackTarget2SelectionBoxW" }, { "address": "0x100009048", "value": "MSSSectionCardParameterValue::setFaceTrackTarget2SelectionBoxW:" }, { "address": "0x100009050", "value": "MSSSectionCardParameterValue::faceTrackTarget2SelectionBoxH" }, { "address": "0x100009058", "value": "MSSSectionCardParameterValue::setFaceTrackTarget2SelectionBoxH:" }, { "address": "0x100009060", "value": "MSSSectionCardParameterValue::faceTrackTarget3SelectionBoxX" }, { "address": "0x100009068", "value": "MSSSectionCardParameterValue::setFaceTrackTarget3SelectionBoxX:" }, { "address": "0x100009070", "value": "MSSSectionCardParameterValue::faceTrackTarget3SelectionBoxY" }, { "address": "0x100009078", "value": "MSSSectionCardParameterValue::setFaceTrackTarget3SelectionBoxY:" }, { "address": "0x100009080", "value": "MSSSectionCardParameterValue::faceTrackTarget3SelectionBoxW" }, { "address": "0x100009088", "value": "MSSSectionCardParameterValue::setFaceTrackTarget3SelectionBoxW:" }, { "address": "0x100009090", "value": "MSSSectionCardParameterValue::faceTrackTarget3SelectionBoxH" }, { "address": "0x100009098", "value": "MSSSectionCardParameterValue::setFaceTrackTarget3SelectionBoxH:" }, { "address": "0x1000090a0", "value": "MSSSectionCardParameterValue::showChannelInfo" }, { "address": "0x1000090a8", "value": "MSSSectionCardParameterValue::setShowChannelInfo:" }, { "address": "0x1000090b0", "value": "MSSSectionCardParameterValue::debugChannelMode" }, { "address": "0x1000090b8", "value": "MSSSectionCardParameterValue::setDebugChannelMode:" }, { "address": "0x1000090c0", "value": "MSSSectionCardParameterValue::skinModuleEnabled" }, { "address": "0x1000090c8", "value": "MSSSectionCardParameterValue::setSkinModuleEnabled:" }, { "address": "0x1000090d0", "value": "MSSSectionCardParameterValue::toneModuleEnabled" }, { "address": "0x1000090d8", "value": "MSSSectionCardParameterValue::setToneModuleEnabled:" }, { "address": "0x1000090e0", "value": "MSSSectionCardParameterValue::faceModuleEnabled" }, { "address": "0x1000090e8", "value": "MSSSectionCardParameterValue::setFaceModuleEnabled:" }, { "address": "0x1000090f0", "value": "MSSSectionCardParameterValue::hasCommittedState" }, { "address": "0x1000090f8", "value": "MSSSectionCardParameterValue::setHasCommittedState:" }, { "address": "0x100009100", "value": "MSSSectionCardParameterValue::committedStateRevision" }, { "address": "0x100009108", "value": "MSSSectionCardParameterValue::setCommittedStateRevision:" }, { "address": "0x100009110", "value": "MSSSectionCardParameterValue::skinBrightnessEnabled" }, { "address": "0x100009118", "value": "MSSSectionCardParameterValue::setSkinBrightnessEnabled:" }, { "address": "0x100009120", "value": "MSSSectionCardParameterValue::skinHueEnabled" }, { "address": "0x100009128", "value": "MSSSectionCardParameterValue::setSkinHueEnabled:" }, { "address": "0x100009130", "value": "MSSSectionCardParameterValue::skinSaturationEnabled" }, { "address": "0x100009138", "value": "MSSSectionCardParameterValue::setSkinSaturationEnabled:" }, { "address": "0x100009140", "value": "MSSSectionCardParameterValue::skinEvenToneEnabled" }, { "address": "0x100009148", "value": "MSSSectionCardParameterValue::setSkinEvenToneEnabled:" }, { "address": "0x100009150", "value": "MSSSectionCardParameterValue::midtoneDetailEnabled" }, { "address": "0x100009158", "value": "MSSSectionCardParameterValue::setMidtoneDetailEnabled:" }, { "address": "0x100009160", "value": "MSSSectionCardParameterValue::featureProtectionEnabled" }, { "address": "0x100009168", "value": "MSSSectionCardParameterValue::setFeatureProtectionEnabled:" }, { "address": "0x100009170", "value": "MSSSectionCardParameterValue::highPassDetailEnabled" }, { "address": "0x100009178", "value": "MSSSectionCardParameterValue::setHighPassDetailEnabled:" }, { "address": "0x100009180", "value": "MSSSectionCardParameterValue::teethWhiteningEnabled" }, { "address": "0x100009188", "value": "MSSSectionCardParameterValue::setTeethWhiteningEnabled:" }, { "address": "0x100009190", "value": "MSSSectionCardParameterValue::eyeBrighteningEnabled" }, { "address": "0x100009198", "value": "MSSSectionCardParameterValue::setEyeBrighteningEnabled:" }, { "address": "0x1000091a0", "value": "MSSSectionCardParameterValue::faceThinEnabled" }, { "address": "0x1000091a8", "value": "MSSSectionCardParameterValue::setFaceThinEnabled:" }, { "address": "0x1000091b0", "value": "MSSSectionCardParameterValue::faceBigEyeEnabled" }, { "address": "0x1000091b8", "value": "MSSSectionCardParameterValue::setFaceBigEyeEnabled:" }, { "address": "0x1000091c0", "value": "MSSSectionCardParameterValue::faceShortEnabled" }, { "address": "0x1000091c8", "value": "MSSSectionCardParameterValue::setFaceShortEnabled:" }, { "address": "0x1000091d0", "value": "MSSSectionCardParameterValue::faceNarrowEnabled" }, { "address": "0x1000091d8", "value": "MSSSectionCardParameterValue::setFaceNarrowEnabled:" }, { "address": "0x1000091e0", "value": "MSSSectionCardParameterValue::faceChinEnabled" }, { "address": "0x1000091e8", "value": "MSSSectionCardParameterValue::setFaceChinEnabled:" }, { "address": "0x1000091f0", "value": "MSSSectionCardParameterValue::faceVEnabled" }, { "address": "0x1000091f8", "value": "MSSSectionCardParameterValue::setFaceVEnabled:" }, { "address": "0x100009200", "value": "MSSSectionCardParameterValue::faceJawEnabled" }, { "address": "0x100009208", "value": "MSSSectionCardParameterValue::setFaceJawEnabled:" }, { "address": "0x100009210", "value": "MSSSectionCardParameterValue::faceCheekboneEnabled" }, { "address": "0x100009218", "value": "MSSSectionCardParameterValue::setFaceCheekboneEnabled:" }, { "address": "0x100009220", "value": "MSSSectionCardParameterValue::faceSmallHeadEnabled" }, { "address": "0x100009228", "value": "MSSSectionCardParameterValue::setFaceSmallHeadEnabled:" }, { "address": "0x100009230", "value": "MSSSectionCardParameterValue::faceSmallHeadRangeEnabled" }, { "address": "0x100009238", "value": "MSSSectionCardParameterValue::setFaceSmallHeadRangeEnabled:" }, { "address": "0x100009240", "value": "MSSSectionCardParameterValue::radiusEnabled" }, { "address": "0x100009248", "value": "MSSSectionCardParameterValue::setRadiusEnabled:" }, { "address": "0x100009250", "value": "MSSSectionCardParameterValue::sharpnessEnabled" }, { "address": "0x100009258", "value": "MSSSectionCardParameterValue::setSharpnessEnabled:" }, { "address": "0x100009260", "value": "MSSSectionCardParameterValue::maskSoftnessEnabled" }, { "address": "0x100009268", "value": "MSSSectionCardParameterValue::setMaskSoftnessEnabled:" }, { "address": "0x100009270", "value": "MSSSectionCardParameterValue::maskEdgeProtectEnabled" }, { "address": "0x100009278", "value": "MSSSectionCardParameterValue::setMaskEdgeProtectEnabled:" }, { "address": "0x100009280", "value": "MSSSectionCardParameterValue::showFaceBoxesEnabled" }, { "address": "0x100009288", "value": "MSSSectionCardParameterValue::setShowFaceBoxesEnabled:" }, { "address": "0x100009290", "value": "MSSSectionCardParameterValue::showFaceTrackBoxEnabled" }, { "address": "0x100009298", "value": "MSSSectionCardParameterValue::setShowFaceTrackBoxEnabled:" }, { "address": "0x1000092a0", "value": "MSSSectionCardParameterValue::faceSingleSelectionEnabled" }, { "address": "0x1000092a8", "value": "MSSSectionCardParameterValue::setFaceSingleSelectionEnabled:" }, { "address": "0x1000092b0", "value": "MSSSectionCardParameterValue::showChannelInfoEnabled" }, { "address": "0x1000092b8", "value": "MSSSectionCardParameterValue::setShowChannelInfoEnabled:" }, { "address": "0x1000092c0", "value": "MSSSkinSectionCardView::initWithFrame:parameterID:" }, { "address": "0x100009324", "value": "MSSSkinSectionCardView::isFlipped" }, { "address": "0x10000932c", "value": "MSSSkinSectionCardView::isOpaque" }, { "address": "0x100009334", "value": "MSSSkinSectionCardView::intrinsicContentSize" }, { "address": "0x10000934c", "value": "MSSSkinSectionCardView::drawChipText:inRect:accentColor:" }, { "address": "0x100009510", "value": "MSSSkinSectionCardView::drawRect:" }, { "address": "0x100009f6c", "value": "MSSSkinSectionCardView::parameterID" }, { "address": "0x100009f7c", "value": "MSSSkinSectionCardView::setParameterID:" }, { "address": "0x10000c18c", "value": "MSSSkinControlPanelView::visibleControlsForSection:controlPanelValue:" }, { "address": "0x100011a84", "value": "MSSSkinControlPanelView::toggleSectionModuleForHeaderID:" }, { "address": "0x100012b28", "value": "MSSSkinControlPanelView::skinTonePresetItemsForSectionRect:" }, { "address": "0x100015f90", "value": "MSSSkinControlPanelView::drawSkinTonePresetStripInSectionRect:accentColor:selectedPreset:" }, { "address": "0x100018210", "value": "MSSSkinControlPanelView::drawSection:inRect:controls:values:controlPanelValue:" }, { "address": "0x10001fc10", "value": "MSSuperSkinSmoothingPlugIn::addParametersWithError:" }, { "address": "0x1000355a0", "value": "MSSuperSkinSmoothingPlugIn::createViewForParameterID:" }, { "address": "0x100043a60", "value": "MSSuperSkinSmoothingFaceSelectOSC::createViewForParameterID:" }, { "address": "0x10007a688", "value": "_CFErrorCreate" }, { "address": "0x10007a6f4", "value": "_CGBitmapContextCreate" }, { "address": "0x10007a700", "value": "_CGBitmapContextCreateImage" }, { "address": "0x10007a70c", "value": "_CGColorCreateGenericRGB" }, { "address": "0x10007a724", "value": "_CGColorSpaceCreateDeviceRGB" }, { "address": "0x10007a730", "value": "_CGColorSpaceCreateWithName" }, { "address": "0x10007a8b0", "value": "_CGDataProviderCreateWithData" }, { "address": "0x10007a8c8", "value": "_CGImageCreate" }, { "address": "0x10007a8f8", "value": "_CGImageSourceCreateImageAtIndex" }, { "address": "0x10007a904", "value": "_CGImageSourceCreateWithData" }, { "address": "0x10007a9ac", "value": "_CGRectIntersection" }, { "address": "0x10007aa18", "value": "_CTFontCreateWithName" }, { "address": "0x10007aa24", "value": "_CTLineCreateWithAttributedString" }, { "address": "0x10007aa54", "value": "_IORegistryEntryCreateCFProperty" }, { "address": "0x10007aad8", "value": "_MTLCreateSystemDefaultDevice" }, { "address": "0x10007ab74", "value": "_SecRequirementCreateWithString" }, { "address": "0x10007ab8c", "value": "_SecStaticCodeCreateWithPath" }, { "address": "0x10007abd4", "value": "__ZN2cv14DISOpticalFlow6createEi" }, { "address": "0x10007ad24", "value": "_dispatch_semaphore_create" }, { "address": "0x10007d5a0", "value": "objc_stub::createCGImage:fromRect:" }, { "address": "0x10007d5c0", "value": "objc_stub::createCGImage:fromRect:format:colorSpace:deferred:" }, { "address": "0x10007d5e0", "value": "objc_stub::createDirectoryAtPath:withIntermediateDirectories:attributes:error:" }, { "address": "0x10007d600", "value": "objc_stub::createDirectoryAtURL:withIntermediateDirectories:attributes:error:" }, { "address": "0x10007d620", "value": "objc_stub::createFileAtPath:contents:attributes:" }, { "address": "0x10007dcc0", "value": "objc_stub::drawSection:inRect:controls:values:controlPanelValue:" }, { "address": "0x10007dce0", "value": "objc_stub::drawSkinTonePresetStripInSectionRect:accentColor:selectedPreset:" }, { "address": "0x10007df00", "value": "objc_stub::ephemeralSessionConfiguration" }, { "address": "0x10007f2e0", "value": "objc_stub::initWithShape:dataType:error:" }, { "address": "0x10007fc20", "value": "objc_stub::modelWithContentsOfURL:configuration:error:" }, { "address": "0x100080d80", "value": "objc_stub::sessionWithConfiguration:" }, { "address": "0x100082c40", "value": "objc_stub::shape" }, { "address": "0x100082f40", "value": "objc_stub::skinTonePresetItemsForSectionRect:" }, { "address": "0x100083400", "value": "objc_stub::toggleSectionModuleForHeaderID:" }, { "address": "0x1000836e0", "value": "objc_stub::visibleControlsForSection:controlPanelValue:" }, { "address": "0x1000e0601", "value": "MLModel::modelWithContentsOfURL:configuration:error:" }, { "address": "0x1000e1d07", "value": "NSFileManager::createDirectoryAtPath:withIntermediateDirectories:attributes:error:" }, { "address": "0x1000e1d0d", "value": "NSFileManager::createFileAtPath:contents:attributes:" }, { "address": "0x1000e1d11", "value": "NSFileManager::createDirectoryAtURL:withIntermediateDirectories:attributes:error:" }, { "address": "0x1000e3601", "value": "NSURLSession::sessionWithConfiguration:" }, { "address": "0x1000e3701", "value": "NSURLSessionConfiguration::ephemeralSessionConfiguration" }, { "address": "0x1000e3702", "value": "NSURLSessionConfiguration::setTimeoutIntervalForRequest:" }, { "address": "0x1000e3703", "value": "NSURLSessionConfiguration::setTimeoutIntervalForResource:" } ], "operation": "search_procedures", "parameters": { "case_sensitive": false, "mode": "regex", "pattern": "addParameters|build|create|Section|shape|Config|configure" }, "predicate_type": "rea.analysis", "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" }, "raw_result": [ { "address": "EXTERNAL:0xa9", "value": "/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation::_CFErrorCreate" }, { "address": "EXTERNAL:0xb2", "value": "/System/Library/Frameworks/CoreGraphics.framework/Versions/A/CoreGraphics::_CGBitmapContextCreate" }, { "address": "EXTERNAL:0xb3", "value": "/System/Library/Frameworks/CoreGraphics.framework/Versions/A/CoreGraphics::_CGBitmapContextCreateImage" }, { "address": "EXTERNAL:0xb4", "value": "/System/Library/Frameworks/CoreGraphics.framework/Versions/A/CoreGraphics::_CGColorCreateGenericRGB" }, { "address": "EXTERNAL:0xb6", "value": "/System/Library/Frameworks/CoreGraphics.framework/Versions/A/CoreGraphics::_CGColorSpaceCreateDeviceRGB" }, { "address": "EXTERNAL:0xb7", "value": "/System/Library/Frameworks/CoreGraphics.framework/Versions/A/CoreGraphics::_CGColorSpaceCreateWithName" }, { "address": "EXTERNAL:0xd7", "value": "/System/Library/Frameworks/CoreGraphics.framework/Versions/A/CoreGraphics::_CGDataProviderCreateWithData" }, { "address": "EXTERNAL:0xd9", "value": "/System/Library/Frameworks/CoreGraphics.framework/Versions/A/CoreGraphics::_CGImageCreate" }, { "address": "EXTERNAL:0xdd", "value": "/System/Library/Frameworks/ImageIO.framework/Versions/A/ImageIO::_CGImageSourceCreateImageAtIndex" }, { "address": "EXTERNAL:0xde", "value": "/System/Library/Frameworks/ImageIO.framework/Versions/A/ImageIO::_CGImageSourceCreateWithData" }, { "address": "EXTERNAL:0xec", "value": "/System/Library/Frameworks/CoreGraphics.framework/Versions/A/CoreGraphics::_CGRectIntersection" }, { "address": "EXTERNAL:0xf5", "value": "/System/Library/Frameworks/CoreText.framework/Versions/A/CoreText::_CTFontCreateWithName" }, { "address": "EXTERNAL:0xf6", "value": "/System/Library/Frameworks/CoreText.framework/Versions/A/CoreText::_CTLineCreateWithAttributedString" }, { "address": "EXTERNAL:0xfa", "value": "/System/Library/Frameworks/IOKit.framework/Versions/A/IOKit::_IORegistryEntryCreateCFProperty" }, { "address": "EXTERNAL:0x105", "value": "/System/Library/Frameworks/Metal.framework/Versions/A/Metal::_MTLCreateSystemDefaultDevice" }, { "address": "EXTERNAL:0x112", "value": "/System/Library/Frameworks/Security.framework/Versions/A/Security::_SecRequirementCreateWithString" }, { "address": "EXTERNAL:0x114", "value": "/System/Library/Frameworks/Security.framework/Versions/A/Security::_SecStaticCodeCreateWithPath" }, { "address": "EXTERNAL:0x11a", "value": "@rpath/libopencv_video.413.dylib::__ZN2cv14DISOpticalFlow6createEi" }, { "address": "EXTERNAL:0x136", "value": "/usr/lib/libSystem.B.dylib::_dispatch_semaphore_create" }, { "address": "EXTERNAL:0x2f3", "value": "/System/Library/Frameworks/Foundation.framework/Versions/C/Foundation::ephemeralSessionConfiguration" }, { "address": "EXTERNAL:0x2f6", "value": "/System/Library/Frameworks/Foundation.framework/Versions/C/Foundation::sessionWithConfiguration:" }, { "address": "EXTERNAL:0x371", "value": "/System/Library/Frameworks/Foundation.framework/Versions/C/Foundation::createDirectoryAtPath:withIntermediateDirectories:attributes:error:" }, { "address": "EXTERNAL:0x377", "value": "/System/Library/Frameworks/Foundation.framework/Versions/C/Foundation::createFileAtPath:contents:attributes:" }, { "address": "EXTERNAL:0x38c", "value": "/System/Library/Frameworks/Foundation.framework/Versions/C/Foundation::createDirectoryAtURL:withIntermediateDirectories:attributes:error:" }, { "address": "EXTERNAL:0x38f", "value": "/System/Library/Frameworks/CoreML.framework/Versions/A/CoreML::modelWithContentsOfURL:configuration:error:" }, { "address": "0x100003dbc", "value": "MSSSectionCardParameterValue::dealloc" }, { "address": "0x100003e38", "value": "MSSSectionCardParameterValue::init" }, { "address": "0x100003f4c", "value": "MSSSectionCardParameterValue::defaultValue" }, { "address": "0x100003f60", "value": "MSSSectionCardParameterValue::supportsSecureCoding" }, { "address": "0x100003f68", "value": "MSSSectionCardParameterValue::encodeWithCoder:" }, { "address": "0x100004c08", "value": "MSSSectionCardParameterValue::initWithCoder:" }, { "address": "0x100006344", "value": "MSSSectionCardParameterValue::copyWithZone:" }, { "address": "0x100006c30", "value": "MSSSectionCardParameterValue::interpolateBetween:withWeight:" }, { "address": "0x100007a14", "value": "MSSSectionCardParameterValue::isEqual:" }, { "address": "0x100008b20", "value": "MSSSectionCardParameterValue::skinBrightness" }, { "address": "0x100008b28", "value": "MSSSectionCardParameterValue::setSkinBrightness:" }, { "address": "0x100008b30", "value": "MSSSectionCardParameterValue::skinHue" }, { "address": "0x100008b38", "value": "MSSSectionCardParameterValue::setSkinHue:" }, { "address": "0x100008b40", "value": "MSSSectionCardParameterValue::skinSaturation" }, { "address": "0x100008b48", "value": "MSSSectionCardParameterValue::setSkinSaturation:" }, { "address": "0x100008b50", "value": "MSSSectionCardParameterValue::skinTonePreset" }, { "address": "0x100008b58", "value": "MSSSectionCardParameterValue::setSkinTonePreset:" }, { "address": "0x100008b60", "value": "MSSSectionCardParameterValue::skinEvenTone" }, { "address": "0x100008b68", "value": "MSSSectionCardParameterValue::setSkinEvenTone:" }, { "address": "0x100008b70", "value": "MSSSectionCardParameterValue::midtoneDetail" }, { "address": "0x100008b78", "value": "MSSSectionCardParameterValue::setMidtoneDetail:" }, { "address": "0x100008b80", "value": "MSSSectionCardParameterValue::featureProtection" }, { "address": "0x100008b88", "value": "MSSSectionCardParameterValue::setFeatureProtection:" }, { "address": "0x100008b90", "value": "MSSSectionCardParameterValue::featureProtectionRelease" }, { "address": "0x100008b98", "value": "MSSSectionCardParameterValue::setFeatureProtectionRelease:" }, { "address": "0x100008ba0", "value": "MSSSectionCardParameterValue::highPassDetail" }, { "address": "0x100008ba8", "value": "MSSSectionCardParameterValue::setHighPassDetail:" }, { "address": "0x100008bb0", "value": "MSSSectionCardParameterValue::teethWhitening" }, { "address": "0x100008bb8", "value": "MSSSectionCardParameterValue::setTeethWhitening:" }, { "address": "0x100008bc0", "value": "MSSSectionCardParameterValue::eyeBrightening" }, { "address": "0x100008bc8", "value": "MSSSectionCardParameterValue::setEyeBrightening:" }, { "address": "0x100008bd0", "value": "MSSSectionCardParameterValue::faceThin" }, { "address": "0x100008bd8", "value": "MSSSectionCardParameterValue::setFaceThin:" }, { "address": "0x100008be0", "value": "MSSSectionCardParameterValue::faceBigEye" }, { "address": "0x100008be8", "value": "MSSSectionCardParameterValue::setFaceBigEye:" }, { "address": "0x100008bf0", "value": "MSSSectionCardParameterValue::faceShort" }, { "address": "0x100008bf8", "value": "MSSSectionCardParameterValue::setFaceShort:" }, { "address": "0x100008c00", "value": "MSSSectionCardParameterValue::faceNarrow" }, { "address": "0x100008c08", "value": "MSSSectionCardParameterValue::setFaceNarrow:" }, { "address": "0x100008c10", "value": "MSSSectionCardParameterValue::faceChin" }, { "address": "0x100008c18", "value": "MSSSectionCardParameterValue::setFaceChin:" }, { "address": "0x100008c20", "value": "MSSSectionCardParameterValue::faceV" }, { "address": "0x100008c28", "value": "MSSSectionCardParameterValue::setFaceV:" }, { "address": "0x100008c30", "value": "MSSSectionCardParameterValue::faceJaw" }, { "address": "0x100008c38", "value": "MSSSectionCardParameterValue::setFaceJaw:" }, { "address": "0x100008c40", "value": "MSSSectionCardParameterValue::faceCheekbone" }, { "address": "0x100008c48", "value": "MSSSectionCardParameterValue::setFaceCheekbone:" }, { "address": "0x100008c50", "value": "MSSSectionCardParameterValue::faceSmallHead" }, { "address": "0x100008c58", "value": "MSSSectionCardParameterValue::setFaceSmallHead:" }, { "address": "0x100008c60", "value": "MSSSectionCardParameterValue::faceSmallHeadRange" }, { "address": "0x100008c68", "value": "MSSSectionCardParameterValue::setFaceSmallHeadRange:" }, { "address": "0x100008c70", "value": "MSSSectionCardParameterValue::radius" }, { "address": "0x100008c78", "value": "MSSSectionCardParameterValue::setRadius:" }, { "address": "0x100008c80", "value": "MSSSectionCardParameterValue::sharpness" }, { "address": "0x100008c88", "value": "MSSSectionCardParameterValue::setSharpness:" }, { "address": "0x100008c90", "value": "MSSSectionCardParameterValue::maskSoftness" }, { "address": "0x100008c98", "value": "MSSSectionCardParameterValue::setMaskSoftness:" }, { "address": "0x100008ca0", "value": "MSSSectionCardParameterValue::maskEdgeProtect" }, { "address": "0x100008ca8", "value": "MSSSectionCardParameterValue::setMaskEdgeProtect:" }, { "address": "0x100008cb0", "value": "MSSSectionCardParameterValue::showFaceBoxes" }, { "address": "0x100008cb8", "value": "MSSSectionCardParameterValue::setShowFaceBoxes:" }, { "address": "0x100008cc0", "value": "MSSSectionCardParameterValue::showFaceTrackBox" }, { "address": "0x100008cc8", "value": "MSSSectionCardParameterValue::setShowFaceTrackBox:" }, { "address": "0x100008cd0", "value": "MSSSectionCardParameterValue::fastMultiFaceMode" }, { "address": "0x100008cd8", "value": "MSSSectionCardParameterValue::setFastMultiFaceMode:" }, { "address": "0x100008ce0", "value": "MSSSectionCardParameterValue::faceJumpGuardRange" }, { "address": "0x100008ce8", "value": "MSSSectionCardParameterValue::setFaceJumpGuardRange:" }, { "address": "0x100008cf0", "value": "MSSSectionCardParameterValue::faceSingleSelection" }, { "address": "0x100008cf8", "value": "MSSSectionCardParameterValue::setFaceSingleSelection:" }, { "address": "0x100008d00", "value": "MSSSectionCardParameterValue::faceSelectionX" }, { "address": "0x100008d08", "value": "MSSSectionCardParameterValue::setFaceSelectionX:" }, { "address": "0x100008d10", "value": "MSSSectionCardParameterValue::faceSelectionY" }, { "address": "0x100008d18", "value": "MSSSectionCardParameterValue::setFaceSelectionY:" }, { "address": "0x100008d20", "value": "MSSSectionCardParameterValue::faceSelectionRevision" }, { "address": "0x100008d28", "value": "MSSSectionCardParameterValue::setFaceSelectionRevision:" }, { "address": "0x100008d30", "value": "MSSSectionCardParameterValue::faceTrackEnabled" }, { "address": "0x100008d38", "value": "MSSSectionCardParameterValue::setFaceTrackEnabled:" }, { "address": "0x100008d40", "value": "MSSSectionCardParameterValue::faceTrackStatus" }, { "address": "0x100008d48", "value": "MSSSectionCardParameterValue::setFaceTrackStatus:" }, { "address": "0x100008d50", "value": "MSSSectionCardParameterValue::faceTrackRevision" }, { "address": "0x100008d58", "value": "MSSSectionCardParameterValue::setFaceTrackRevision:" }, { "address": "0x100008d60", "value": "MSSSectionCardParameterValue::faceTrackFrameCount" }, { "address": "0x100008d68", "value": "MSSSectionCardParameterValue::setFaceTrackFrameCount:" }, { "address": "0x100008d70", "value": "MSSSectionCardParameterValue::faceTrackSeedTimeSeconds" }, { "address": "0x100008d78", "value": "MSSSectionCardParameterValue::setFaceTrackSeedTimeSeconds:" }, { "address": "0x100008d80", "value": "MSSSectionCardParameterValue::faceTrackProgress" }, { "address": "0x100008d88", "value": "MSSSectionCardParameterValue::setFaceTrackProgress:" }, { "address": "0x100008d90", "value": "MSSSectionCardParameterValue::faceTrackAppendMode" }, { "address": "0x100008d98", "value": "MSSSectionCardParameterValue::setFaceTrackAppendMode:" }, { "address": "0x100008da0", "value": "MSSSectionCardParameterValue::faceTrackData" }, { "address": "0x100008da8", "value": "MSSSectionCardParameterValue::setFaceTrackData:" }, { "address": "0x100008db0", "value": "MSSSectionCardParameterValue::faceTrackTargetCount" }, { "address": "0x100008db8", "value": "MSSSectionCardParameterValue::setFaceTrackTargetCount:" }, { "address": "0x100008dc0", "value": "MSSSectionCardParameterValue::faceTrackActiveTargetIndex" }, { "address": "0x100008dc8", "value": "MSSSectionCardParameterValue::setFaceTrackActiveTargetIndex:" }, { "address": "0x100008dd0", "value": "MSSSectionCardParameterValue::faceTrackAnalysisTargetIndex" }, { "address": "0x100008dd8", "value": "MSSSectionCardParameterValue::setFaceTrackAnalysisTargetIndex:" }, { "address": "0x100008de0", "value": "MSSSectionCardParameterValue::faceTrackTargetPageStartIndex" }, { "address": "0x100008de8", "value": "MSSSectionCardParameterValue::setFaceTrackTargetPageStartIndex:" }, { "address": "0x100008df0", "value": "MSSSectionCardParameterValue::faceTrackTarget1Data" }, { "address": "0x100008df8", "value": "MSSSectionCardParameterValue::setFaceTrackTarget1Data:" }, { "address": "0x100008e00", "value": "MSSSectionCardParameterValue::faceTrackTarget2Data" }, { "address": "0x100008e08", "value": "MSSSectionCardParameterValue::setFaceTrackTarget2Data:" }, { "address": "0x100008e10", "value": "MSSSectionCardParameterValue::faceTrackTarget3Data" }, { "address": "0x100008e18", "value": "MSSSectionCardParameterValue::setFaceTrackTarget3Data:" }, { "address": "0x100008e20", "value": "MSSSectionCardParameterValue::faceTrackTargets" }, { "address": "0x100008e28", "value": "MSSSectionCardParameterValue::setFaceTrackTargets:" }, { "address": "0x100008e30", "value": "MSSSectionCardParameterValue::faceTrackTarget1Status" }, { "address": "0x100008e38", "value": "MSSSectionCardParameterValue::setFaceTrackTarget1Status:" }, { "address": "0x100008e40", "value": "MSSSectionCardParameterValue::faceTrackTarget2Status" }, { "address": "0x100008e48", "value": "MSSSectionCardParameterValue::setFaceTrackTarget2Status:" }, { "address": "0x100008e50", "value": "MSSSectionCardParameterValue::faceTrackTarget3Status" }, { "address": "0x100008e58", "value": "MSSSectionCardParameterValue::setFaceTrackTarget3Status:" }, { "address": "0x100008e60", "value": "MSSSectionCardParameterValue::faceTrackTarget1FrameCount" }, { "address": "0x100008e68", "value": "MSSSectionCardParameterValue::setFaceTrackTarget1FrameCount:" }, { "address": "0x100008e70", "value": "MSSSectionCardParameterValue::faceTrackTarget2FrameCount" }, { "address": "0x100008e78", "value": "MSSSectionCardParameterValue::setFaceTrackTarget2FrameCount:" }, { "address": "0x100008e80", "value": "MSSSectionCardParameterValue::faceTrackTarget3FrameCount" }, { "address": "0x100008e88", "value": "MSSSectionCardParameterValue::setFaceTrackTarget3FrameCount:" }, { "address": "0x100008e90", "value": "MSSSectionCardParameterValue::faceTrackTarget1Revision" }, { "address": "0x100008e98", "value": "MSSSectionCardParameterValue::setFaceTrackTarget1Revision:" }, { "address": "0x100008ea0", "value": "MSSSectionCardParameterValue::faceTrackTarget2Revision" }, { "address": "0x100008ea8", "value": "MSSSectionCardParameterValue::setFaceTrackTarget2Revision:" }, { "address": "0x100008eb0", "value": "MSSSectionCardParameterValue::faceTrackTarget3Revision" }, { "address": "0x100008eb8", "value": "MSSSectionCardParameterValue::setFaceTrackTarget3Revision:" }, { "address": "0x100008ec0", "value": "MSSSectionCardParameterValue::faceTrackTarget1Progress" }, { "address": "0x100008ec8", "value": "MSSSectionCardParameterValue::setFaceTrackTarget1Progress:" }, { "address": "0x100008ed0", "value": "MSSSectionCardParameterValue::faceTrackTarget2Progress" }, { "address": "0x100008ed8", "value": "MSSSectionCardParameterValue::setFaceTrackTarget2Progress:" }, { "address": "0x100008ee0", "value": "MSSSectionCardParameterValue::faceTrackTarget3Progress" }, { "address": "0x100008ee8", "value": "MSSSectionCardParameterValue::setFaceTrackTarget3Progress:" }, { "address": "0x100008ef0", "value": "MSSSectionCardParameterValue::faceTrackTarget1HasSelection" }, { "address": "0x100008ef8", "value": "MSSSectionCardParameterValue::setFaceTrackTarget1HasSelection:" }, { "address": "0x100008f00", "value": "MSSSectionCardParameterValue::faceTrackTarget2HasSelection" }, { "address": "0x100008f08", "value": "MSSSectionCardParameterValue::setFaceTrackTarget2HasSelection:" }, { "address": "0x100008f10", "value": "MSSSectionCardParameterValue::faceTrackTarget3HasSelection" }, { "address": "0x100008f18", "value": "MSSSectionCardParameterValue::setFaceTrackTarget3HasSelection:" }, { "address": "0x100008f20", "value": "MSSSectionCardParameterValue::faceTrackTarget1SelectionX" }, { "address": "0x100008f28", "value": "MSSSectionCardParameterValue::setFaceTrackTarget1SelectionX:" }, { "address": "0x100008f30", "value": "MSSSectionCardParameterValue::faceTrackTarget2SelectionX" }, { "address": "0x100008f38", "value": "MSSSectionCardParameterValue::setFaceTrackTarget2SelectionX:" }, { "address": "0x100008f40", "value": "MSSSectionCardParameterValue::faceTrackTarget3SelectionX" }, { "address": "0x100008f48", "value": "MSSSectionCardParameterValue::setFaceTrackTarget3SelectionX:" }, { "address": "0x100008f50", "value": "MSSSectionCardParameterValue::faceTrackTarget1SelectionY" }, { "address": "0x100008f58", "value": "MSSSectionCardParameterValue::setFaceTrackTarget1SelectionY:" }, { "address": "0x100008f60", "value": "MSSSectionCardParameterValue::faceTrackTarget2SelectionY" }, { "address": "0x100008f68", "value": "MSSSectionCardParameterValue::setFaceTrackTarget2SelectionY:" }, { "address": "0x100008f70", "value": "MSSSectionCardParameterValue::faceTrackTarget3SelectionY" }, { "address": "0x100008f78", "value": "MSSSectionCardParameterValue::setFaceTrackTarget3SelectionY:" }, { "address": "0x100008f80", "value": "MSSSectionCardParameterValue::faceTrackTarget1SeedTimeSeconds" }, { "address": "0x100008f88", "value": "MSSSectionCardParameterValue::setFaceTrackTarget1SeedTimeSeconds:" }, { "address": "0x100008f90", "value": "MSSSectionCardParameterValue::faceTrackTarget2SeedTimeSeconds" }, { "address": "0x100008f98", "value": "MSSSectionCardParameterValue::setFaceTrackTarget2SeedTimeSeconds:" }, { "address": "0x100008fa0", "value": "MSSSectionCardParameterValue::faceTrackTarget3SeedTimeSeconds" }, { "address": "0x100008fa8", "value": "MSSSectionCardParameterValue::setFaceTrackTarget3SeedTimeSeconds:" }, { "address": "0x100008fb0", "value": "MSSSectionCardParameterValue::faceTrackTarget1HasSelectionBox" }, { "address": "0x100008fb8", "value": "MSSSectionCardParameterValue::setFaceTrackTarget1HasSelectionBox:" }, { "address": "0x100008fc0", "value": "MSSSectionCardParameterValue::faceTrackTarget2HasSelectionBox" }, { "address": "0x100008fc8", "value": "MSSSectionCardParameterValue::setFaceTrackTarget2HasSelectionBox:" }, { "address": "0x100008fd0", "value": "MSSSectionCardParameterValue::faceTrackTarget3HasSelectionBox" }, { "address": "0x100008fd8", "value": "MSSSectionCardParameterValue::setFaceTrackTarget3HasSelectionBox:" }, { "address": "0x100008fe0", "value": "MSSSectionCardParameterValue::faceTrackTarget1SelectionBoxX" }, { "address": "0x100008fe8", "value": "MSSSectionCardParameterValue::setFaceTrackTarget1SelectionBoxX:" }, { "address": "0x100008ff0", "value": "MSSSectionCardParameterValue::faceTrackTarget1SelectionBoxY" }, { "address": "0x100008ff8", "value": "MSSSectionCardParameterValue::setFaceTrackTarget1SelectionBoxY:" }, { "address": "0x100009000", "value": "MSSSectionCardParameterValue::faceTrackTarget1SelectionBoxW" }, { "address": "0x100009008", "value": "MSSSectionCardParameterValue::setFaceTrackTarget1SelectionBoxW:" }, { "address": "0x100009010", "value": "MSSSectionCardParameterValue::faceTrackTarget1SelectionBoxH" }, { "address": "0x100009018", "value": "MSSSectionCardParameterValue::setFaceTrackTarget1SelectionBoxH:" }, { "address": "0x100009020", "value": "MSSSectionCardParameterValue::faceTrackTarget2SelectionBoxX" }, { "address": "0x100009028", "value": "MSSSectionCardParameterValue::setFaceTrackTarget2SelectionBoxX:" }, { "address": "0x100009030", "value": "MSSSectionCardParameterValue::faceTrackTarget2SelectionBoxY" }, { "address": "0x100009038", "value": "MSSSectionCardParameterValue::setFaceTrackTarget2SelectionBoxY:" }, { "address": "0x100009040", "value": "MSSSectionCardParameterValue::faceTrackTarget2SelectionBoxW" }, { "address": "0x100009048", "value": "MSSSectionCardParameterValue::setFaceTrackTarget2SelectionBoxW:" }, { "address": "0x100009050", "value": "MSSSectionCardParameterValue::faceTrackTarget2SelectionBoxH" }, { "address": "0x100009058", "value": "MSSSectionCardParameterValue::setFaceTrackTarget2SelectionBoxH:" }, { "address": "0x100009060", "value": "MSSSectionCardParameterValue::faceTrackTarget3SelectionBoxX" }, { "address": "0x100009068", "value": "MSSSectionCardParameterValue::setFaceTrackTarget3SelectionBoxX:" }, { "address": "0x100009070", "value": "MSSSectionCardParameterValue::faceTrackTarget3SelectionBoxY" }, { "address": "0x100009078", "value": "MSSSectionCardParameterValue::setFaceTrackTarget3SelectionBoxY:" }, { "address": "0x100009080", "value": "MSSSectionCardParameterValue::faceTrackTarget3SelectionBoxW" }, { "address": "0x100009088", "value": "MSSSectionCardParameterValue::setFaceTrackTarget3SelectionBoxW:" }, { "address": "0x100009090", "value": "MSSSectionCardParameterValue::faceTrackTarget3SelectionBoxH" }, { "address": "0x100009098", "value": "MSSSectionCardParameterValue::setFaceTrackTarget3SelectionBoxH:" }, { "address": "0x1000090a0", "value": "MSSSectionCardParameterValue::showChannelInfo" }, { "address": "0x1000090a8", "value": "MSSSectionCardParameterValue::setShowChannelInfo:" }, { "address": "0x1000090b0", "value": "MSSSectionCardParameterValue::debugChannelMode" }, { "address": "0x1000090b8", "value": "MSSSectionCardParameterValue::setDebugChannelMode:" }, { "address": "0x1000090c0", "value": "MSSSectionCardParameterValue::skinModuleEnabled" }, { "address": "0x1000090c8", "value": "MSSSectionCardParameterValue::setSkinModuleEnabled:" }, { "address": "0x1000090d0", "value": "MSSSectionCardParameterValue::toneModuleEnabled" }, { "address": "0x1000090d8", "value": "MSSSectionCardParameterValue::setToneModuleEnabled:" }, { "address": "0x1000090e0", "value": "MSSSectionCardParameterValue::faceModuleEnabled" }, { "address": "0x1000090e8", "value": "MSSSectionCardParameterValue::setFaceModuleEnabled:" }, { "address": "0x1000090f0", "value": "MSSSectionCardParameterValue::hasCommittedState" }, { "address": "0x1000090f8", "value": "MSSSectionCardParameterValue::setHasCommittedState:" }, { "address": "0x100009100", "value": "MSSSectionCardParameterValue::committedStateRevision" }, { "address": "0x100009108", "value": "MSSSectionCardParameterValue::setCommittedStateRevision:" }, { "address": "0x100009110", "value": "MSSSectionCardParameterValue::skinBrightnessEnabled" }, { "address": "0x100009118", "value": "MSSSectionCardParameterValue::setSkinBrightnessEnabled:" }, { "address": "0x100009120", "value": "MSSSectionCardParameterValue::skinHueEnabled" }, { "address": "0x100009128", "value": "MSSSectionCardParameterValue::setSkinHueEnabled:" }, { "address": "0x100009130", "value": "MSSSectionCardParameterValue::skinSaturationEnabled" }, { "address": "0x100009138", "value": "MSSSectionCardParameterValue::setSkinSaturationEnabled:" }, { "address": "0x100009140", "value": "MSSSectionCardParameterValue::skinEvenToneEnabled" }, { "address": "0x100009148", "value": "MSSSectionCardParameterValue::setSkinEvenToneEnabled:" }, { "address": "0x100009150", "value": "MSSSectionCardParameterValue::midtoneDetailEnabled" }, { "address": "0x100009158", "value": "MSSSectionCardParameterValue::setMidtoneDetailEnabled:" }, { "address": "0x100009160", "value": "MSSSectionCardParameterValue::featureProtectionEnabled" }, { "address": "0x100009168", "value": "MSSSectionCardParameterValue::setFeatureProtectionEnabled:" }, { "address": "0x100009170", "value": "MSSSectionCardParameterValue::highPassDetailEnabled" }, { "address": "0x100009178", "value": "MSSSectionCardParameterValue::setHighPassDetailEnabled:" }, { "address": "0x100009180", "value": "MSSSectionCardParameterValue::teethWhiteningEnabled" }, { "address": "0x100009188", "value": "MSSSectionCardParameterValue::setTeethWhiteningEnabled:" }, { "address": "0x100009190", "value": "MSSSectionCardParameterValue::eyeBrighteningEnabled" }, { "address": "0x100009198", "value": "MSSSectionCardParameterValue::setEyeBrighteningEnabled:" }, { "address": "0x1000091a0", "value": "MSSSectionCardParameterValue::faceThinEnabled" }, { "address": "0x1000091a8", "value": "MSSSectionCardParameterValue::setFaceThinEnabled:" }, { "address": "0x1000091b0", "value": "MSSSectionCardParameterValue::faceBigEyeEnabled" }, { "address": "0x1000091b8", "value": "MSSSectionCardParameterValue::setFaceBigEyeEnabled:" }, { "address": "0x1000091c0", "value": "MSSSectionCardParameterValue::faceShortEnabled" }, { "address": "0x1000091c8", "value": "MSSSectionCardParameterValue::setFaceShortEnabled:" }, { "address": "0x1000091d0", "value": "MSSSectionCardParameterValue::faceNarrowEnabled" }, { "address": "0x1000091d8", "value": "MSSSectionCardParameterValue::setFaceNarrowEnabled:" }, { "address": "0x1000091e0", "value": "MSSSectionCardParameterValue::faceChinEnabled" }, { "address": "0x1000091e8", "value": "MSSSectionCardParameterValue::setFaceChinEnabled:" }, { "address": "0x1000091f0", "value": "MSSSectionCardParameterValue::faceVEnabled" }, { "address": "0x1000091f8", "value": "MSSSectionCardParameterValue::setFaceVEnabled:" }, { "address": "0x100009200", "value": "MSSSectionCardParameterValue::faceJawEnabled" }, { "address": "0x100009208", "value": "MSSSectionCardParameterValue::setFaceJawEnabled:" }, { "address": "0x100009210", "value": "MSSSectionCardParameterValue::faceCheekboneEnabled" }, { "address": "0x100009218", "value": "MSSSectionCardParameterValue::setFaceCheekboneEnabled:" }, { "address": "0x100009220", "value": "MSSSectionCardParameterValue::faceSmallHeadEnabled" }, { "address": "0x100009228", "value": "MSSSectionCardParameterValue::setFaceSmallHeadEnabled:" }, { "address": "0x100009230", "value": "MSSSectionCardParameterValue::faceSmallHeadRangeEnabled" }, { "address": "0x100009238", "value": "MSSSectionCardParameterValue::setFaceSmallHeadRangeEnabled:" }, { "address": "0x100009240", "value": "MSSSectionCardParameterValue::radiusEnabled" }, { "address": "0x100009248", "value": "MSSSectionCardParameterValue::setRadiusEnabled:" }, { "address": "0x100009250", "value": "MSSSectionCardParameterValue::sharpnessEnabled" }, { "address": "0x100009258", "value": "MSSSectionCardParameterValue::setSharpnessEnabled:" }, { "address": "0x100009260", "value": "MSSSectionCardParameterValue::maskSoftnessEnabled" }, { "address": "0x100009268", "value": "MSSSectionCardParameterValue::setMaskSoftnessEnabled:" }, { "address": "0x100009270", "value": "MSSSectionCardParameterValue::maskEdgeProtectEnabled" }, { "address": "0x100009278", "value": "MSSSectionCardParameterValue::setMaskEdgeProtectEnabled:" }, { "address": "0x100009280", "value": "MSSSectionCardParameterValue::showFaceBoxesEnabled" }, { "address": "0x100009288", "value": "MSSSectionCardParameterValue::setShowFaceBoxesEnabled:" }, { "address": "0x100009290", "value": "MSSSectionCardParameterValue::showFaceTrackBoxEnabled" }, { "address": "0x100009298", "value": "MSSSectionCardParameterValue::setShowFaceTrackBoxEnabled:" }, { "address": "0x1000092a0", "value": "MSSSectionCardParameterValue::faceSingleSelectionEnabled" }, { "address": "0x1000092a8", "value": "MSSSectionCardParameterValue::setFaceSingleSelectionEnabled:" }, { "address": "0x1000092b0", "value": "MSSSectionCardParameterValue::showChannelInfoEnabled" }, { "address": "0x1000092b8", "value": "MSSSectionCardParameterValue::setShowChannelInfoEnabled:" }, { "address": "0x1000092c0", "value": "MSSSkinSectionCardView::initWithFrame:parameterID:" }, { "address": "0x100009324", "value": "MSSSkinSectionCardView::isFlipped" }, { "address": "0x10000932c", "value": "MSSSkinSectionCardView::isOpaque" }, { "address": "0x100009334", "value": "MSSSkinSectionCardView::intrinsicContentSize" }, { "address": "0x10000934c", "value": "MSSSkinSectionCardView::drawChipText:inRect:accentColor:" }, { "address": "0x100009510", "value": "MSSSkinSectionCardView::drawRect:" }, { "address": "0x100009f6c", "value": "MSSSkinSectionCardView::parameterID" }, { "address": "0x100009f7c", "value": "MSSSkinSectionCardView::setParameterID:" }, { "address": "0x10000c18c", "value": "MSSSkinControlPanelView::visibleControlsForSection:controlPanelValue:" }, { "address": "0x100011a84", "value": "MSSSkinControlPanelView::toggleSectionModuleForHeaderID:" }, { "address": "0x100012b28", "value": "MSSSkinControlPanelView::skinTonePresetItemsForSectionRect:" }, { "address": "0x100015f90", "value": "MSSSkinControlPanelView::drawSkinTonePresetStripInSectionRect:accentColor:selectedPreset:" }, { "address": "0x100018210", "value": "MSSSkinControlPanelView::drawSection:inRect:controls:values:controlPanelValue:" }, { "address": "0x10001fc10", "value": "MSSuperSkinSmoothingPlugIn::addParametersWithError:" }, { "address": "0x1000355a0", "value": "MSSuperSkinSmoothingPlugIn::createViewForParameterID:" }, { "address": "0x100043a60", "value": "MSSuperSkinSmoothingFaceSelectOSC::createViewForParameterID:" }, { "address": "0x10007a688", "value": "_CFErrorCreate" }, { "address": "0x10007a6f4", "value": "_CGBitmapContextCreate" }, { "address": "0x10007a700", "value": "_CGBitmapContextCreateImage" }, { "address": "0x10007a70c", "value": "_CGColorCreateGenericRGB" }, { "address": "0x10007a724", "value": "_CGColorSpaceCreateDeviceRGB" }, { "address": "0x10007a730", "value": "_CGColorSpaceCreateWithName" }, { "address": "0x10007a8b0", "value": "_CGDataProviderCreateWithData" }, { "address": "0x10007a8c8", "value": "_CGImageCreate" }, { "address": "0x10007a8f8", "value": "_CGImageSourceCreateImageAtIndex" }, { "address": "0x10007a904", "value": "_CGImageSourceCreateWithData" }, { "address": "0x10007a9ac", "value": "_CGRectIntersection" }, { "address": "0x10007aa18", "value": "_CTFontCreateWithName" }, { "address": "0x10007aa24", "value": "_CTLineCreateWithAttributedString" }, { "address": "0x10007aa54", "value": "_IORegistryEntryCreateCFProperty" }, { "address": "0x10007aad8", "value": "_MTLCreateSystemDefaultDevice" }, { "address": "0x10007ab74", "value": "_SecRequirementCreateWithString" }, { "address": "0x10007ab8c", "value": "_SecStaticCodeCreateWithPath" }, { "address": "0x10007abd4", "value": "__ZN2cv14DISOpticalFlow6createEi" }, { "address": "0x10007ad24", "value": "_dispatch_semaphore_create" }, { "address": "0x10007d5a0", "value": "objc_stub::createCGImage:fromRect:" }, { "address": "0x10007d5c0", "value": "objc_stub::createCGImage:fromRect:format:colorSpace:deferred:" }, { "address": "0x10007d5e0", "value": "objc_stub::createDirectoryAtPath:withIntermediateDirectories:attributes:error:" }, { "address": "0x10007d600", "value": "objc_stub::createDirectoryAtURL:withIntermediateDirectories:attributes:error:" }, { "address": "0x10007d620", "value": "objc_stub::createFileAtPath:contents:attributes:" }, { "address": "0x10007dcc0", "value": "objc_stub::drawSection:inRect:controls:values:controlPanelValue:" }, { "address": "0x10007dce0", "value": "objc_stub::drawSkinTonePresetStripInSectionRect:accentColor:selectedPreset:" }, { "address": "0x10007df00", "value": "objc_stub::ephemeralSessionConfiguration" }, { "address": "0x10007f2e0", "value": "objc_stub::initWithShape:dataType:error:" }, { "address": "0x10007fc20", "value": "objc_stub::modelWithContentsOfURL:configuration:error:" }, { "address": "0x100080d80", "value": "objc_stub::sessionWithConfiguration:" }, { "address": "0x100082c40", "value": "objc_stub::shape" }, { "address": "0x100082f40", "value": "objc_stub::skinTonePresetItemsForSectionRect:" }, { "address": "0x100083400", "value": "objc_stub::toggleSectionModuleForHeaderID:" }, { "address": "0x1000836e0", "value": "objc_stub::visibleControlsForSection:controlPanelValue:" }, { "address": "0x1000e0601", "value": "MLModel::modelWithContentsOfURL:configuration:error:" }, { "address": "0x1000e1d07", "value": "NSFileManager::createDirectoryAtPath:withIntermediateDirectories:attributes:error:" }, { "address": "0x1000e1d0d", "value": "NSFileManager::createFileAtPath:contents:attributes:" }, { "address": "0x1000e1d11", "value": "NSFileManager::createDirectoryAtURL:withIntermediateDirectories:attributes:error:" }, { "address": "0x1000e3601", "value": "NSURLSession::sessionWithConfiguration:" }, { "address": "0x1000e3701", "value": "NSURLSessionConfiguration::ephemeralSessionConfiguration" }, { "address": "0x1000e3702", "value": "NSURLSessionConfiguration::setTimeoutIntervalForRequest:" }, { "address": "0x1000e3703", "value": "NSURLSessionConfiguration::setTimeoutIntervalForResource:" } ], "subject": { "architecture": "arm64", "digest": { "sha256": "afc71d0d21fd3c1ca95ca745ddafcd729e36ad95f17d8638009f2e45d9b7e8df" }, "format": "mach-o", "local_path": "/Users/dayu/Documents/PaintFCP/build/body-analysis/MSE18V2-arm64", "name": "MSE18V2-arm64" } }, { "analysis_profile": { "digest": "20565088524a2d0359b9b96f46ac48e679d774c7b0092c56abc06de8fdbec11c", "parameters": { "analyzer_preset": "ghidra-default", "annotation_policy": "atomic-function-entry-metadata-v1", "architecture": "arm64", "available_architectures": [ "arm64" ], "compiler_spec_id": "auto-default", "decompiler_jump_loads": true, "function_body_evidence": "complete-inclusive-ranges-v1", "function_boundary_observations": "ghidra-terminal-call-limitations-v1", "function_references": "complete-body-and-entry-reference-manager-v2", "import_mode": "ephemeral-source-immutable", "instruction_flow_evidence": "decoded-return-pcode-v1", "jump_table_evidence": "typed-case-default-blocks-v1", "language_id": "auto-from-header", "load_image_observations": "source-mappings-entry-context-v2", "loader": "auto-from-header", "location_resolution": "explicit-address-exact-entry-symbol-first-v3", "no_return_repair": "returning-imports-decoded-return-v2", "process_launch": "inspected-jvm-launch-support-v1", "string_inventory_evidence": "defined-data-coverage-v1", "target_format": "mach-o", "target_kind": "executable" }, "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" } }, "authority": "shipped-artifact", "confidence": "observed", "environment": null, "evidence_id": "ev_449313a9a5467175197706c4d94896f07c7083084fba2a3b066dcd8f4b7fa19b", "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": "\ndouble FUN_100042f9c(double param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4,\n ID param_5)\n\n{\n undefined *puVar1;\n ID IVar2;\n ID IVar3;\n ID self;\n ID IVar4;\n ulong uVar5;\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 double dVar6;\n double dVar7;\n double dVar8;\n double dVar9;\n double dVar10;\n double dVar11;\n double dVar12;\n double dVar13;\n \n IVar2 = param_5;\n _CGRectIsNull();\n puVar1 = PTR__CGRectNull_1000a8148;\n if (((((IVar2 & 1) != 0) || (_CGRectIsEmpty(param_1,param_2,param_3,param_4), (IVar2 & 1) != 0))\n || (dVar10 = param_1, _CGRectGetWidth(param_1,param_2,param_3,param_4),\n dVar10 <= 2.220446049250313e-16)) ||\n (dVar10 = param_1, _CGRectGetHeight(param_1,param_2,param_3,param_4),\n dVar10 <= 2.220446049250313e-16)) {\n param_1 = *(double *)puVar1;\n param_2 = *(undefined8 *)(puVar1 + 8);\n param_3 = *(undefined8 *)(puVar1 + 0x10);\n param_4 = *(undefined8 *)(puVar1 + 0x18);\n }\n else {\n FUN_10001bef0(param_1,param_2,param_3,param_4);\n }\n _CGRectIsNull(param_1,param_2,param_3,param_4);\n if ((((IVar2 & 1) != 0) || (_CGRectIsEmpty(param_1,param_2,param_3,param_4), (IVar2 & 1) != 0)) ||\n ((dVar10 = param_1, _CGRectGetWidth(param_1,param_2,param_3,param_4),\n dVar10 <= 2.220446049250313e-16 ||\n (dVar10 = param_1, _CGRectGetHeight(param_1,param_2,param_3,param_4),\n dVar10 <= 2.220446049250313e-16)))) {\n IVar3 = objc_stub::count(param_5);\n IVar2 = IVar3;\n if (0x4b < IVar3) {\n IVar2 = 0x4c;\n }\n if (IVar3 != 0) {\n uVar5 = 0;\n IVar3 = 0;\n dVar10 = 1.7976931348623157e+308;\n dVar11 = 1.7976931348623157e+308;\n dVar8 = -1.7976931348623157e+308;\n dVar6 = -1.7976931348623157e+308;\n do {\n self = objc_stub::objectAtIndexedSubscript_(param_5,IVar3);\n IVar4 = 0;\n dVar12 = dVar8;\n dVar13 = dVar6;\n if (((self != 0) && (IVar4 = objc_stub::count(self), 1 < IVar4)) &&\n (((IVar4 = objc_stub::X(self), (extraout_d0 & 0x7fffffffffffffff) < 0x7ff0000000000000 &&\n (((IVar4 = objc_stub::Y(self),\n (extraout_d0_00 & 0x7fffffffffffffff) < 0x7ff0000000000000 &&\n (IVar4 = objc_stub::X(self), -0.2 <= extraout_d0_01)) &&\n (IVar4 = objc_stub::X(self), extraout_d0_02 <= 1.2)))) &&\n ((IVar4 = objc_stub::Y(self), -0.2 <= extraout_d0_03 &&\n (IVar4 = objc_stub::Y(self), extraout_d0_04 <= 1.2)))))) {\n objc_stub::X(self);\n if (extraout_d0_05 <= dVar10) {\n dVar10 = extraout_d0_05;\n }\n objc_stub::X(self);\n dVar12 = extraout_d0_06;\n if (extraout_d0_06 <= dVar8) {\n dVar12 = dVar8;\n }\n objc_stub::Y(self);\n if (extraout_d0_07 <= dVar11) {\n dVar11 = extraout_d0_07;\n }\n IVar4 = objc_stub::Y(self);\n dVar13 = extraout_d0_08;\n if (extraout_d0_08 <= dVar6) {\n dVar13 = dVar6;\n }\n uVar5 = uVar5 + 1;\n }\n IVar3 = IVar3 + 1;\n dVar8 = dVar12;\n dVar6 = dVar13;\n } while (IVar2 != IVar3);\n if (((7 < uVar5) && (dVar10 < dVar12)) && (dVar11 < dVar13)) {\n dVar6 = (dVar12 - dVar10) * 0.1;\n dVar8 = 0.004;\n if (0.004 <= dVar6) {\n dVar8 = dVar6;\n }\n dVar7 = (dVar13 - dVar11) * 0.14;\n dVar6 = 0.005;\n if (0.005 <= dVar7) {\n dVar6 = dVar7;\n }\n dVar7 = dVar10 - dVar8;\n dVar9 = dVar11 - dVar6;\n dVar10 = (dVar12 - dVar10) + dVar8 * 2.0;\n dVar11 = (dVar13 - dVar11) + dVar6 * 2.0;\n FUN_10001bef0(dVar7,dVar9,dVar10,dVar11);\n _CGRectIsNull();\n if (((((IVar4 & 1) == 0) && (_CGRectIsEmpty(dVar7,dVar9,dVar10,dVar11), (IVar4 & 1) == 0))\n && (dVar8 = dVar7, _CGRectGetWidth(dVar7,dVar9,dVar10,dVar11),\n 2.220446049250313e-16 < dVar8)) &&\n (dVar8 = dVar7, _CGRectGetHeight(dVar7,dVar9,dVar10,dVar11),\n 2.220446049250313e-16 < dVar8)) {\n return dVar7;\n }\n }\n }\n param_1 = *(double *)puVar1;\n }\n return param_1;\n}\n\n", "operation": "procedure_pseudo_code", "parameters": { "procedure": "0x100042f9c" }, "predicate_type": "rea.analysis", "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" }, "raw_result": { "limitations": [], "value": "\ndouble FUN_100042f9c(double param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4,\n ID param_5)\n\n{\n undefined *puVar1;\n ID IVar2;\n ID IVar3;\n ID self;\n ID IVar4;\n ulong uVar5;\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 double dVar6;\n double dVar7;\n double dVar8;\n double dVar9;\n double dVar10;\n double dVar11;\n double dVar12;\n double dVar13;\n \n IVar2 = param_5;\n _CGRectIsNull();\n puVar1 = PTR__CGRectNull_1000a8148;\n if (((((IVar2 & 1) != 0) || (_CGRectIsEmpty(param_1,param_2,param_3,param_4), (IVar2 & 1) != 0))\n || (dVar10 = param_1, _CGRectGetWidth(param_1,param_2,param_3,param_4),\n dVar10 <= 2.220446049250313e-16)) ||\n (dVar10 = param_1, _CGRectGetHeight(param_1,param_2,param_3,param_4),\n dVar10 <= 2.220446049250313e-16)) {\n param_1 = *(double *)puVar1;\n param_2 = *(undefined8 *)(puVar1 + 8);\n param_3 = *(undefined8 *)(puVar1 + 0x10);\n param_4 = *(undefined8 *)(puVar1 + 0x18);\n }\n else {\n FUN_10001bef0(param_1,param_2,param_3,param_4);\n }\n _CGRectIsNull(param_1,param_2,param_3,param_4);\n if ((((IVar2 & 1) != 0) || (_CGRectIsEmpty(param_1,param_2,param_3,param_4), (IVar2 & 1) != 0)) ||\n ((dVar10 = param_1, _CGRectGetWidth(param_1,param_2,param_3,param_4),\n dVar10 <= 2.220446049250313e-16 ||\n (dVar10 = param_1, _CGRectGetHeight(param_1,param_2,param_3,param_4),\n dVar10 <= 2.220446049250313e-16)))) {\n IVar3 = objc_stub::count(param_5);\n IVar2 = IVar3;\n if (0x4b < IVar3) {\n IVar2 = 0x4c;\n }\n if (IVar3 != 0) {\n uVar5 = 0;\n IVar3 = 0;\n dVar10 = 1.7976931348623157e+308;\n dVar11 = 1.7976931348623157e+308;\n dVar8 = -1.7976931348623157e+308;\n dVar6 = -1.7976931348623157e+308;\n do {\n self = objc_stub::objectAtIndexedSubscript_(param_5,IVar3);\n IVar4 = 0;\n dVar12 = dVar8;\n dVar13 = dVar6;\n if (((self != 0) && (IVar4 = objc_stub::count(self), 1 < IVar4)) &&\n (((IVar4 = objc_stub::X(self), (extraout_d0 & 0x7fffffffffffffff) < 0x7ff0000000000000 &&\n (((IVar4 = objc_stub::Y(self),\n (extraout_d0_00 & 0x7fffffffffffffff) < 0x7ff0000000000000 &&\n (IVar4 = objc_stub::X(self), -0.2 <= extraout_d0_01)) &&\n (IVar4 = objc_stub::X(self), extraout_d0_02 <= 1.2)))) &&\n ((IVar4 = objc_stub::Y(self), -0.2 <= extraout_d0_03 &&\n (IVar4 = objc_stub::Y(self), extraout_d0_04 <= 1.2)))))) {\n objc_stub::X(self);\n if (extraout_d0_05 <= dVar10) {\n dVar10 = extraout_d0_05;\n }\n objc_stub::X(self);\n dVar12 = extraout_d0_06;\n if (extraout_d0_06 <= dVar8) {\n dVar12 = dVar8;\n }\n objc_stub::Y(self);\n if (extraout_d0_07 <= dVar11) {\n dVar11 = extraout_d0_07;\n }\n IVar4 = objc_stub::Y(self);\n dVar13 = extraout_d0_08;\n if (extraout_d0_08 <= dVar6) {\n dVar13 = dVar6;\n }\n uVar5 = uVar5 + 1;\n }\n IVar3 = IVar3 + 1;\n dVar8 = dVar12;\n dVar6 = dVar13;\n } while (IVar2 != IVar3);\n if (((7 < uVar5) && (dVar10 < dVar12)) && (dVar11 < dVar13)) {\n dVar6 = (dVar12 - dVar10) * 0.1;\n dVar8 = 0.004;\n if (0.004 <= dVar6) {\n dVar8 = dVar6;\n }\n dVar7 = (dVar13 - dVar11) * 0.14;\n dVar6 = 0.005;\n if (0.005 <= dVar7) {\n dVar6 = dVar7;\n }\n dVar7 = dVar10 - dVar8;\n dVar9 = dVar11 - dVar6;\n dVar10 = (dVar12 - dVar10) + dVar8 * 2.0;\n dVar11 = (dVar13 - dVar11) + dVar6 * 2.0;\n FUN_10001bef0(dVar7,dVar9,dVar10,dVar11);\n _CGRectIsNull();\n if (((((IVar4 & 1) == 0) && (_CGRectIsEmpty(dVar7,dVar9,dVar10,dVar11), (IVar4 & 1) == 0))\n && (dVar8 = dVar7, _CGRectGetWidth(dVar7,dVar9,dVar10,dVar11),\n 2.220446049250313e-16 < dVar8)) &&\n (dVar8 = dVar7, _CGRectGetHeight(dVar7,dVar9,dVar10,dVar11),\n 2.220446049250313e-16 < dVar8)) {\n return dVar7;\n }\n }\n }\n param_1 = *(double *)puVar1;\n }\n return param_1;\n}\n\n" }, "subject": { "architecture": "arm64", "digest": { "sha256": "afc71d0d21fd3c1ca95ca745ddafcd729e36ad95f17d8638009f2e45d9b7e8df" }, "format": "mach-o", "local_path": "/Users/dayu/Documents/PaintFCP/build/body-analysis/MSE18V2-arm64", "name": "MSE18V2-arm64" } }, { "analysis_profile": { "digest": "20565088524a2d0359b9b96f46ac48e679d774c7b0092c56abc06de8fdbec11c", "parameters": { "analyzer_preset": "ghidra-default", "annotation_policy": "atomic-function-entry-metadata-v1", "architecture": "arm64", "available_architectures": [ "arm64" ], "compiler_spec_id": "auto-default", "decompiler_jump_loads": true, "function_body_evidence": "complete-inclusive-ranges-v1", "function_boundary_observations": "ghidra-terminal-call-limitations-v1", "function_references": "complete-body-and-entry-reference-manager-v2", "import_mode": "ephemeral-source-immutable", "instruction_flow_evidence": "decoded-return-pcode-v1", "jump_table_evidence": "typed-case-default-blocks-v1", "language_id": "auto-from-header", "load_image_observations": "source-mappings-entry-context-v2", "loader": "auto-from-header", "location_resolution": "explicit-address-exact-entry-symbol-first-v3", "no_return_repair": "returning-imports-decoded-return-v2", "process_launch": "inspected-jvm-launch-support-v1", "string_inventory_evidence": "defined-data-coverage-v1", "target_format": "mach-o", "target_kind": "executable" }, "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" } }, "authority": "shipped-artifact", "confidence": "observed", "environment": null, "evidence_id": "ev_45acad6cf9082ec6b10eddf30f1e7635335035a21348c7510076aeec821d4d34", "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": "\nbool FUN_1000549d4(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 ulong param_9)\n\n{\n double dVar1;\n double dVar2;\n double dVar3;\n double dVar4;\n double dVar5;\n \n _CGRectIsNull();\n if (((((param_9 & 1) == 0) &&\n (_CGRectIsEmpty(param_1,param_2,param_3,param_4), (param_9 & 1) == 0)) &&\n (dVar1 = param_1, _CGRectGetWidth(param_1,param_2,param_3,param_4),\n 2.220446049250313e-16 < dVar1)) &&\n (((dVar1 = param_1, _CGRectGetHeight(param_1,param_2,param_3,param_4),\n 2.220446049250313e-16 < dVar1 &&\n (_CGRectIsNull(param_5,param_6,param_7,param_8), (param_9 & 1) == 0)) &&\n ((_CGRectIsEmpty(param_5,param_6,param_7,param_8), (param_9 & 1) == 0 &&\n ((dVar1 = param_5, _CGRectGetWidth(param_5,param_6,param_7,param_8),\n 2.220446049250313e-16 < dVar1 &&\n (dVar1 = param_5, _CGRectGetHeight(param_5,param_6,param_7,param_8),\n 2.220446049250313e-16 < dVar1)))))))) {\n _CGRectStandardize(param_1,param_2,param_3,param_4);\n _CGRectIntersection();\n _CGRectStandardize(param_5,param_6,param_7,param_8);\n _CGRectIntersection();\n _CGRectIsNull(param_1,param_2,param_3,param_4);\n if (((param_9 & 1) == 0) &&\n (((((_CGRectIsEmpty(param_1,param_2,param_3,param_4), (param_9 & 1) == 0 &&\n (dVar1 = param_1, _CGRectGetWidth(param_1,param_2,param_3,param_4),\n 2.220446049250313e-16 < dVar1)) &&\n (dVar1 = param_1, _CGRectGetHeight(param_1,param_2,param_3,param_4),\n 2.220446049250313e-16 < dVar1)) &&\n ((_CGRectIsNull(param_5,param_6,param_7,param_8), (param_9 & 1) == 0 &&\n (_CGRectIsEmpty(param_5,param_6,param_7,param_8), (param_9 & 1) == 0)))) &&\n ((dVar1 = param_5, _CGRectGetWidth(param_5,param_6,param_7,param_8),\n 2.220446049250313e-16 < dVar1 &&\n (dVar1 = param_5, _CGRectGetHeight(param_5,param_6,param_7,param_8),\n 2.220446049250313e-16 < dVar1)))))) {\n dVar1 = param_1;\n FUN_10001a910(param_1,param_2,param_3,param_4,param_5,param_6,param_7,param_8);\n dVar2 = param_1;\n _CGRectGetMidX(param_1,param_2,param_3,param_4);\n _CGRectGetMidY(param_1,param_2,param_3,param_4);\n dVar3 = param_5;\n _CGRectGetMidX(param_5,param_6,param_7,param_8);\n dVar4 = param_5;\n _CGRectGetMidY(param_5,param_6,param_7,param_8);\n dVar5 = param_5;\n _CGRectGetWidth(param_5,param_6,param_7,param_8);\n _CGRectGetHeight(param_5,param_6,param_7,param_8);\n if (param_5 <= dVar5) {\n param_5 = dVar5;\n }\n dVar5 = param_5 * 0.82;\n if (param_5 * 0.82 <= 0.04) {\n dVar5 = 0.04;\n }\n if (dVar5 < SQRT((param_1 - dVar4) * (param_1 - dVar4) + (dVar2 - dVar3) * (dVar2 - dVar3))) {\n return 0.08 <= dVar1;\n }\n return true;\n }\n }\n return false;\n}\n\n", "operation": "procedure_pseudo_code", "parameters": { "procedure": "0x1000549d4" }, "predicate_type": "rea.analysis", "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" }, "raw_result": { "limitations": [], "value": "\nbool FUN_1000549d4(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 ulong param_9)\n\n{\n double dVar1;\n double dVar2;\n double dVar3;\n double dVar4;\n double dVar5;\n \n _CGRectIsNull();\n if (((((param_9 & 1) == 0) &&\n (_CGRectIsEmpty(param_1,param_2,param_3,param_4), (param_9 & 1) == 0)) &&\n (dVar1 = param_1, _CGRectGetWidth(param_1,param_2,param_3,param_4),\n 2.220446049250313e-16 < dVar1)) &&\n (((dVar1 = param_1, _CGRectGetHeight(param_1,param_2,param_3,param_4),\n 2.220446049250313e-16 < dVar1 &&\n (_CGRectIsNull(param_5,param_6,param_7,param_8), (param_9 & 1) == 0)) &&\n ((_CGRectIsEmpty(param_5,param_6,param_7,param_8), (param_9 & 1) == 0 &&\n ((dVar1 = param_5, _CGRectGetWidth(param_5,param_6,param_7,param_8),\n 2.220446049250313e-16 < dVar1 &&\n (dVar1 = param_5, _CGRectGetHeight(param_5,param_6,param_7,param_8),\n 2.220446049250313e-16 < dVar1)))))))) {\n _CGRectStandardize(param_1,param_2,param_3,param_4);\n _CGRectIntersection();\n _CGRectStandardize(param_5,param_6,param_7,param_8);\n _CGRectIntersection();\n _CGRectIsNull(param_1,param_2,param_3,param_4);\n if (((param_9 & 1) == 0) &&\n (((((_CGRectIsEmpty(param_1,param_2,param_3,param_4), (param_9 & 1) == 0 &&\n (dVar1 = param_1, _CGRectGetWidth(param_1,param_2,param_3,param_4),\n 2.220446049250313e-16 < dVar1)) &&\n (dVar1 = param_1, _CGRectGetHeight(param_1,param_2,param_3,param_4),\n 2.220446049250313e-16 < dVar1)) &&\n ((_CGRectIsNull(param_5,param_6,param_7,param_8), (param_9 & 1) == 0 &&\n (_CGRectIsEmpty(param_5,param_6,param_7,param_8), (param_9 & 1) == 0)))) &&\n ((dVar1 = param_5, _CGRectGetWidth(param_5,param_6,param_7,param_8),\n 2.220446049250313e-16 < dVar1 &&\n (dVar1 = param_5, _CGRectGetHeight(param_5,param_6,param_7,param_8),\n 2.220446049250313e-16 < dVar1)))))) {\n dVar1 = param_1;\n FUN_10001a910(param_1,param_2,param_3,param_4,param_5,param_6,param_7,param_8);\n dVar2 = param_1;\n _CGRectGetMidX(param_1,param_2,param_3,param_4);\n _CGRectGetMidY(param_1,param_2,param_3,param_4);\n dVar3 = param_5;\n _CGRectGetMidX(param_5,param_6,param_7,param_8);\n dVar4 = param_5;\n _CGRectGetMidY(param_5,param_6,param_7,param_8);\n dVar5 = param_5;\n _CGRectGetWidth(param_5,param_6,param_7,param_8);\n _CGRectGetHeight(param_5,param_6,param_7,param_8);\n if (param_5 <= dVar5) {\n param_5 = dVar5;\n }\n dVar5 = param_5 * 0.82;\n if (param_5 * 0.82 <= 0.04) {\n dVar5 = 0.04;\n }\n if (dVar5 < SQRT((param_1 - dVar4) * (param_1 - dVar4) + (dVar2 - dVar3) * (dVar2 - dVar3))) {\n return 0.08 <= dVar1;\n }\n return true;\n }\n }\n return false;\n}\n\n" }, "subject": { "architecture": "arm64", "digest": { "sha256": "afc71d0d21fd3c1ca95ca745ddafcd729e36ad95f17d8638009f2e45d9b7e8df" }, "format": "mach-o", "local_path": "/Users/dayu/Documents/PaintFCP/build/body-analysis/MSE18V2-arm64", "name": "MSE18V2-arm64" } }, { "analysis_profile": { "digest": "20565088524a2d0359b9b96f46ac48e679d774c7b0092c56abc06de8fdbec11c", "parameters": { "analyzer_preset": "ghidra-default", "annotation_policy": "atomic-function-entry-metadata-v1", "architecture": "arm64", "available_architectures": [ "arm64" ], "compiler_spec_id": "auto-default", "decompiler_jump_loads": true, "function_body_evidence": "complete-inclusive-ranges-v1", "function_boundary_observations": "ghidra-terminal-call-limitations-v1", "function_references": "complete-body-and-entry-reference-manager-v2", "import_mode": "ephemeral-source-immutable", "instruction_flow_evidence": "decoded-return-pcode-v1", "jump_table_evidence": "typed-case-default-blocks-v1", "language_id": "auto-from-header", "load_image_observations": "source-mappings-entry-context-v2", "loader": "auto-from-header", "location_resolution": "explicit-address-exact-entry-symbol-first-v3", "no_return_repair": "returning-imports-decoded-return-v2", "process_launch": "inspected-jvm-launch-support-v1", "string_inventory_evidence": "defined-data-coverage-v1", "target_format": "mach-o", "target_kind": "executable" }, "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" } }, "authority": "shipped-artifact", "confidence": "observed", "environment": null, "evidence_id": "ev_4c6688f53462d794893ab766a368b6b156fc6cea9bc11c801c358cba420bce53", "evidence_links": [], "limitations": [ "The session serves operations only after Ghidra reports default auto-analysis complete; incomplete analysis does not expose partial results.", "The imported Program and temporary project are ephemeral and deleted on close. Annotation operations edit session database metadata; original executable bytes are never written.", "Cancelling an active Ghidra request terminates its ephemeral database and discards session annotations. The selected target remains open; the next provider query imports the original artifact again.", "Default-space addresses use lowercase 0x-prefixed hexadecimal; other address spaces use :0x.", "Bytes reflect Ghidra's initialized memory, including loader fixups. Reads stop at an unmapped or uninitialized byte and report completeness explicitly.", "macOS sessions require a matching executable Ghidra native decompiler; REA checks for it but does not build native components or change Gatekeeper quarantine state." ], "locations": [], "normalized_result": { "address": "0x1000860c0", "bytes_hex": "0000000000805640", "complete": true, "requested_bytes": 8, "returned_bytes": 8 }, "operation": "read_bytes", "parameters": { "address": "0x1000860c0", "length": 8 }, "predicate_type": "rea.analysis", "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" }, "raw_result": { "address": "0x1000860c0", "bytes_hex": "0000000000805640", "complete": true, "requested_bytes": 8, "returned_bytes": 8 }, "subject": { "architecture": "arm64", "digest": { "sha256": "afc71d0d21fd3c1ca95ca745ddafcd729e36ad95f17d8638009f2e45d9b7e8df" }, "format": "mach-o", "local_path": "/Users/dayu/Documents/PaintFCP/build/body-analysis/MSE18V2-arm64", "name": "MSE18V2-arm64" } }, { "analysis_profile": { "digest": "20565088524a2d0359b9b96f46ac48e679d774c7b0092c56abc06de8fdbec11c", "parameters": { "analyzer_preset": "ghidra-default", "annotation_policy": "atomic-function-entry-metadata-v1", "architecture": "arm64", "available_architectures": [ "arm64" ], "compiler_spec_id": "auto-default", "decompiler_jump_loads": true, "function_body_evidence": "complete-inclusive-ranges-v1", "function_boundary_observations": "ghidra-terminal-call-limitations-v1", "function_references": "complete-body-and-entry-reference-manager-v2", "import_mode": "ephemeral-source-immutable", "instruction_flow_evidence": "decoded-return-pcode-v1", "jump_table_evidence": "typed-case-default-blocks-v1", "language_id": "auto-from-header", "load_image_observations": "source-mappings-entry-context-v2", "loader": "auto-from-header", "location_resolution": "explicit-address-exact-entry-symbol-first-v3", "no_return_repair": "returning-imports-decoded-return-v2", "process_launch": "inspected-jvm-launch-support-v1", "string_inventory_evidence": "defined-data-coverage-v1", "target_format": "mach-o", "target_kind": "executable" }, "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" } }, "authority": "shipped-artifact", "confidence": "observed", "environment": null, "evidence_id": "ev_4d3e7e7dc8aa21347adbd0f0847fab13e8b69462bd5e6adf3657cbc0c1998266", "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: 0x18 bytes */\n\nbool MSSuperSkinSmoothingPlugIn::addParametersWithError_(ID param_1,SEL param_2,ID *param_3)\n\n{\n cfstringStruct *pcVar1;\n ID self;\n ID IVar2;\n class_t *pcVar3;\n ID IVar4;\n ID IVar5;\n cfstringStruct *pcVar6;\n \n self = objc_stub::apiForProtocol_\n (*(ID *)(param_1 + 8),&objc::protocol_t::FxParameterCreationAPI_v5);\n if (self == 0) {\n if (param_3 != (ID *)0x0) {\n pcVar6 = &cf_UnabletogetFxParameterCreationAPI_v5;\n FUN_10001fb70();\n *param_3 = (ID)pcVar6;\n }\n goto LAB_1000203e0;\n }\n IVar2 = MSSSectionCardParameterValue::defaultValue\n ((ID)&objc::class_t::MSSSectionCardParameterValue);\n objc_stub::addCustomParameterWithName_parameterID_defaultValue_parameterFlags_\n (self,&cf___,0xd2,IVar2,0x861);\n objc_stub::\n addPercentSliderWithName_parameterID_defaultValue_parameterMin_parameterMax_sliderMin_sliderMax_delta_parameterFlags_\n (self,0x3ff0000000000000,0,0x3ff0000000000000,0,0x3ff0000000000000,0x3f847ae147ae147b,\n &cf_xv___,1,0x23);\n objc_stub::\n addPercentSliderWithName_parameterID_defaultValue_parameterMin_parameterMax_sliderMin_sliderMax_delta_parameterFlags_\n (self,0,0,0x3ff0000000000000,0,0x3ff0000000000000,0x3f847ae147ae147b,&cf_rN_,2,0x23);\n objc_stub::\n addFloatSliderWithName_parameterID_defaultValue_parameterMin_parameterMax_sliderMin_sliderMax_delta_parameterFlags_\n (self,0,0,0x4014000000000000,0,0x4014000000000000,0x3ff0000000000000,&cf_r,0x29,0x23);\n objc_stub::\n addPercentSliderWithName_parameterID_defaultValue_parameterMin_parameterMax_sliderMin_sliderMax_delta_parameterFlags_\n (self,0,0,0x3ff0000000000000,0,0x3ff0000000000000,0x3f847ae147ae147b,&cf_xvz_,0xc,0x23);\n objc_stub::\n addPercentSliderWithName_parameterID_defaultValue_parameterMin_parameterMax_sliderMin_sliderMax_delta_parameterFlags_\n (self,0,0,0x3ff0000000000000,0,0x3ff0000000000000,0x3f847ae147ae147b,&cf_N_Ob,0x1e,0x23)\n ;\n objc_stub::\n addPercentSliderWithName_parameterID_defaultValue_parameterMin_parameterMax_sliderMin_sliderMax_delta_parameterFlags_\n (self,0,0,0x3ff0000000000000,0,0x3ff0000000000000,0x3f847ae147ae147b,&cf__r_SOb,0x11,\n 0x23);\n objc_stub::\n addPercentSliderWithName_parameterID_defaultValue_parameterMin_parameterMax_sliderMin_sliderMax_delta_parameterFlags_\n (self,0,0,0x3ff0000000000000,0,0x3ff0000000000000,0x3f847ae147ae147b,&cf__vYr,0x1f,0x23)\n ;\n objc_stub::\n addPercentSliderWithName_parameterID_defaultValue_parameterMin_parameterMax_sliderMin_sliderMax_delta_parameterFlags_\n (self,0,0,0x3ff0000000000000,0,0x3ff0000000000000,0x3f847ae147ae147b,&cf_Nf_ySOo_,10,1,0x23);\n objc_stub::addToggleButtonWithName_parameterID_defaultValue_parameterFlags_\n (self,&cf_hKmFh,0x13,0,0x23);\n objc_stub::addToggleButtonWithName_parameterID_defaultValue_parameterFlags_\n (self,&cf_hKmFhr_,0x23,0,0x23);\n objc_stub::addToggleButtonWithName_parameterID_defaultValue_parameterFlags_\n (self,&cfstringStruct_1000ac2a0,0x27,0,0x23);\n objc_stub::\n addFloatSliderWithName_parameterID_defaultValue_parameterMin_parameterMax_sliderMin_sliderMax_delta_parameterFlags_\n (self,0x3ff8000000000000,0x3ff0000000000000,0x4010000000000000,0x3ff0000000000000,\n 0x4010000000000000,0x3fa999999999999a,&cf_28V,0x28,0x23);\n objc_stub::addToggleButtonWithName_parameterID_defaultValue_parameterFlags_\n (self,&cf_USNb,0x14,0,0x23);\n objc_stub::addPointParameterWithName_parameterID_defaultX_defaultY_parameterFlags_\n (self,0x3fe0000000000000,0x3fe0000000000000,&cf_8p,0x15,0x23);\n objc_stub::\n addFloatSliderWithName_parameterID_defaultValue_parameterMin_parameterMax_sliderMin_sliderMax_delta_parameterFlags_\n (self,0,0,0x3ff0000000000000,0,0x3ff0000000000000,0x3ff0000000000000,&cf_S__W,0xd,0x23);\n objc_stub::addToggleButtonWithName_parameterID_defaultValue_parameterFlags_\n (self,&cf_SlrS,0xb,0,0x23);\n objc_stub::addToggleButtonWithName_parameterID_defaultValue_parameterFlags_\n (self,&cf_xv_jWW,0x2a,1,0x23);\n objc_stub::addToggleButtonWithName_parameterID_defaultValue_parameterFlags_\n (self,&cfstringStruct_1000ac380,0x2b,1,0x23);\n objc_stub::addToggleButtonWithName_parameterID_defaultValue_parameterFlags_\n (self,&cf__v8_jWW,0x2c,1,0x23);\n pcVar3 = &objc::class_t::MSSuperSkinSmoothingPlugIn;\n _objc_opt_class(&objc::class_t::MSSuperSkinSmoothingPlugIn);\n IVar2 = NSBundle::bundleForClass_((ID)&_OBJC_CLASS___NSBundle,pcVar3);\n IVar4 = NSBundle::objectForInfoDictionaryKey_(IVar2,&cf_CFBundleShortVersionString);\n IVar2 = NSBundle::objectForInfoDictionaryKey_(IVar2,&cf_infoString);\n IVar5 = NSBundle::length(IVar4);\n if ((IVar5 == 0) || (IVar5 = NSBundle::length(IVar2), IVar5 == 0)) {\n IVar4 = NSBundle::length(IVar4);\n if ((IVar4 != 0) || (IVar2 = NSBundle::length(IVar2), IVar2 != 0)) {\n pcVar6 = &cf_Build__;\n goto override_prt_1000203bc_6e7d234f;\n }\n pcVar6 = &cf_Buildinfounavailable;\n }\n else {\n pcVar6 = &cf_Build______;\noverride_prt_1000203bc_6e7d234f:\n pcVar6 = (cfstringStruct *)NSString::stringWithFormat_((ID)&_OBJC_CLASS___NSString,pcVar6);\n }\n pcVar1 = &cf___;\n if (pcVar6 != (cfstringStruct *)0x0) {\n pcVar1 = pcVar6;\n }\n objc_stub::addStringParameterWithName_parameterID_defaultValue_parameterFlags_\n (self,&cf_Hr_gOo_,6,pcVar1,0x37);\nLAB_1000203e0:\n return (bool)(self != 0);\n}\n\n", "operation": "procedure_pseudo_code", "parameters": { "procedure": "0x10001fc10" }, "predicate_type": "rea.analysis", "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" }, "raw_result": { "limitations": [], "value": "\n/* Function Stack Size: 0x18 bytes */\n\nbool MSSuperSkinSmoothingPlugIn::addParametersWithError_(ID param_1,SEL param_2,ID *param_3)\n\n{\n cfstringStruct *pcVar1;\n ID self;\n ID IVar2;\n class_t *pcVar3;\n ID IVar4;\n ID IVar5;\n cfstringStruct *pcVar6;\n \n self = objc_stub::apiForProtocol_\n (*(ID *)(param_1 + 8),&objc::protocol_t::FxParameterCreationAPI_v5);\n if (self == 0) {\n if (param_3 != (ID *)0x0) {\n pcVar6 = &cf_UnabletogetFxParameterCreationAPI_v5;\n FUN_10001fb70();\n *param_3 = (ID)pcVar6;\n }\n goto LAB_1000203e0;\n }\n IVar2 = MSSSectionCardParameterValue::defaultValue\n ((ID)&objc::class_t::MSSSectionCardParameterValue);\n objc_stub::addCustomParameterWithName_parameterID_defaultValue_parameterFlags_\n (self,&cf___,0xd2,IVar2,0x861);\n objc_stub::\n addPercentSliderWithName_parameterID_defaultValue_parameterMin_parameterMax_sliderMin_sliderMax_delta_parameterFlags_\n (self,0x3ff0000000000000,0,0x3ff0000000000000,0,0x3ff0000000000000,0x3f847ae147ae147b,\n &cf_xv___,1,0x23);\n objc_stub::\n addPercentSliderWithName_parameterID_defaultValue_parameterMin_parameterMax_sliderMin_sliderMax_delta_parameterFlags_\n (self,0,0,0x3ff0000000000000,0,0x3ff0000000000000,0x3f847ae147ae147b,&cf_rN_,2,0x23);\n objc_stub::\n addFloatSliderWithName_parameterID_defaultValue_parameterMin_parameterMax_sliderMin_sliderMax_delta_parameterFlags_\n (self,0,0,0x4014000000000000,0,0x4014000000000000,0x3ff0000000000000,&cf_r,0x29,0x23);\n objc_stub::\n addPercentSliderWithName_parameterID_defaultValue_parameterMin_parameterMax_sliderMin_sliderMax_delta_parameterFlags_\n (self,0,0,0x3ff0000000000000,0,0x3ff0000000000000,0x3f847ae147ae147b,&cf_xvz_,0xc,0x23);\n objc_stub::\n addPercentSliderWithName_parameterID_defaultValue_parameterMin_parameterMax_sliderMin_sliderMax_delta_parameterFlags_\n (self,0,0,0x3ff0000000000000,0,0x3ff0000000000000,0x3f847ae147ae147b,&cf_N_Ob,0x1e,0x23)\n ;\n objc_stub::\n addPercentSliderWithName_parameterID_defaultValue_parameterMin_parameterMax_sliderMin_sliderMax_delta_parameterFlags_\n (self,0,0,0x3ff0000000000000,0,0x3ff0000000000000,0x3f847ae147ae147b,&cf__r_SOb,0x11,\n 0x23);\n objc_stub::\n addPercentSliderWithName_parameterID_defaultValue_parameterMin_parameterMax_sliderMin_sliderMax_delta_parameterFlags_\n (self,0,0,0x3ff0000000000000,0,0x3ff0000000000000,0x3f847ae147ae147b,&cf__vYr,0x1f,0x23)\n ;\n objc_stub::\n addPercentSliderWithName_parameterID_defaultValue_parameterMin_parameterMax_sliderMin_sliderMax_delta_parameterFlags_\n (self,0,0,0x3ff0000000000000,0,0x3ff0000000000000,0x3f847ae147ae147b,&cf_Nf_ySOo_,10,1,0x23);\n objc_stub::addToggleButtonWithName_parameterID_defaultValue_parameterFlags_\n (self,&cf_hKmFh,0x13,0,0x23);\n objc_stub::addToggleButtonWithName_parameterID_defaultValue_parameterFlags_\n (self,&cf_hKmFhr_,0x23,0,0x23);\n objc_stub::addToggleButtonWithName_parameterID_defaultValue_parameterFlags_\n (self,&cfstringStruct_1000ac2a0,0x27,0,0x23);\n objc_stub::\n addFloatSliderWithName_parameterID_defaultValue_parameterMin_parameterMax_sliderMin_sliderMax_delta_parameterFlags_\n (self,0x3ff8000000000000,0x3ff0000000000000,0x4010000000000000,0x3ff0000000000000,\n 0x4010000000000000,0x3fa999999999999a,&cf_28V,0x28,0x23);\n objc_stub::addToggleButtonWithName_parameterID_defaultValue_parameterFlags_\n (self,&cf_USNb,0x14,0,0x23);\n objc_stub::addPointParameterWithName_parameterID_defaultX_defaultY_parameterFlags_\n (self,0x3fe0000000000000,0x3fe0000000000000,&cf_8p,0x15,0x23);\n objc_stub::\n addFloatSliderWithName_parameterID_defaultValue_parameterMin_parameterMax_sliderMin_sliderMax_delta_parameterFlags_\n (self,0,0,0x3ff0000000000000,0,0x3ff0000000000000,0x3ff0000000000000,&cf_S__W,0xd,0x23);\n objc_stub::addToggleButtonWithName_parameterID_defaultValue_parameterFlags_\n (self,&cf_SlrS,0xb,0,0x23);\n objc_stub::addToggleButtonWithName_parameterID_defaultValue_parameterFlags_\n (self,&cf_xv_jWW,0x2a,1,0x23);\n objc_stub::addToggleButtonWithName_parameterID_defaultValue_parameterFlags_\n (self,&cfstringStruct_1000ac380,0x2b,1,0x23);\n objc_stub::addToggleButtonWithName_parameterID_defaultValue_parameterFlags_\n (self,&cf__v8_jWW,0x2c,1,0x23);\n pcVar3 = &objc::class_t::MSSuperSkinSmoothingPlugIn;\n _objc_opt_class(&objc::class_t::MSSuperSkinSmoothingPlugIn);\n IVar2 = NSBundle::bundleForClass_((ID)&_OBJC_CLASS___NSBundle,pcVar3);\n IVar4 = NSBundle::objectForInfoDictionaryKey_(IVar2,&cf_CFBundleShortVersionString);\n IVar2 = NSBundle::objectForInfoDictionaryKey_(IVar2,&cf_infoString);\n IVar5 = NSBundle::length(IVar4);\n if ((IVar5 == 0) || (IVar5 = NSBundle::length(IVar2), IVar5 == 0)) {\n IVar4 = NSBundle::length(IVar4);\n if ((IVar4 != 0) || (IVar2 = NSBundle::length(IVar2), IVar2 != 0)) {\n pcVar6 = &cf_Build__;\n goto override_prt_1000203bc_6e7d234f;\n }\n pcVar6 = &cf_Buildinfounavailable;\n }\n else {\n pcVar6 = &cf_Build______;\noverride_prt_1000203bc_6e7d234f:\n pcVar6 = (cfstringStruct *)NSString::stringWithFormat_((ID)&_OBJC_CLASS___NSString,pcVar6);\n }\n pcVar1 = &cf___;\n if (pcVar6 != (cfstringStruct *)0x0) {\n pcVar1 = pcVar6;\n }\n objc_stub::addStringParameterWithName_parameterID_defaultValue_parameterFlags_\n (self,&cf_Hr_gOo_,6,pcVar1,0x37);\nLAB_1000203e0:\n return (bool)(self != 0);\n}\n\n" }, "subject": { "architecture": "arm64", "digest": { "sha256": "afc71d0d21fd3c1ca95ca745ddafcd729e36ad95f17d8638009f2e45d9b7e8df" }, "format": "mach-o", "local_path": "/Users/dayu/Documents/PaintFCP/build/body-analysis/MSE18V2-arm64", "name": "MSE18V2-arm64" } }, { "analysis_profile": { "digest": "20565088524a2d0359b9b96f46ac48e679d774c7b0092c56abc06de8fdbec11c", "parameters": { "analyzer_preset": "ghidra-default", "annotation_policy": "atomic-function-entry-metadata-v1", "architecture": "arm64", "available_architectures": [ "arm64" ], "compiler_spec_id": "auto-default", "decompiler_jump_loads": true, "function_body_evidence": "complete-inclusive-ranges-v1", "function_boundary_observations": "ghidra-terminal-call-limitations-v1", "function_references": "complete-body-and-entry-reference-manager-v2", "import_mode": "ephemeral-source-immutable", "instruction_flow_evidence": "decoded-return-pcode-v1", "jump_table_evidence": "typed-case-default-blocks-v1", "language_id": "auto-from-header", "load_image_observations": "source-mappings-entry-context-v2", "loader": "auto-from-header", "location_resolution": "explicit-address-exact-entry-symbol-first-v3", "no_return_repair": "returning-imports-decoded-return-v2", "process_launch": "inspected-jvm-launch-support-v1", "string_inventory_evidence": "defined-data-coverage-v1", "target_format": "mach-o", "target_kind": "executable" }, "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" } }, "authority": "shipped-artifact", "confidence": "observed", "environment": null, "evidence_id": "ev_5304cf54726c9130ad4d83b03feb1d4aeaee58790e37f37f541b9621a180c70e", "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 0x100029d34 to 0x10002d838 FUN_10002d838 (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.", "Ghidra Listing reports a terminal call at 0x100029d48 to 0x10002d838 FUN_10002d838 (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_100029d20(ID param_1)\n\n{\n if (param_1 != 0) {\n objc_stub::boundingBox(param_1);\n FUN_10002d838();\n return;\n }\n FUN_10002d838(*(undefined8 *)PTR__CGRectNull_1000a8148,\n *(undefined8 *)(PTR__CGRectNull_1000a8148 + 8),\n *(undefined8 *)(PTR__CGRectNull_1000a8148 + 0x10),\n *(undefined8 *)(PTR__CGRectNull_1000a8148 + 0x18));\n return;\n}\n\n", "operation": "procedure_pseudo_code", "parameters": { "procedure": "0x100029d20" }, "predicate_type": "rea.analysis", "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" }, "raw_result": { "limitations": [ "Ghidra Listing reports a terminal call at 0x100029d34 to 0x10002d838 FUN_10002d838 (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.", "Ghidra Listing reports a terminal call at 0x100029d48 to 0x10002d838 FUN_10002d838 (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_100029d20(ID param_1)\n\n{\n if (param_1 != 0) {\n objc_stub::boundingBox(param_1);\n FUN_10002d838();\n return;\n }\n FUN_10002d838(*(undefined8 *)PTR__CGRectNull_1000a8148,\n *(undefined8 *)(PTR__CGRectNull_1000a8148 + 8),\n *(undefined8 *)(PTR__CGRectNull_1000a8148 + 0x10),\n *(undefined8 *)(PTR__CGRectNull_1000a8148 + 0x18));\n return;\n}\n\n" }, "subject": { "architecture": "arm64", "digest": { "sha256": "afc71d0d21fd3c1ca95ca745ddafcd729e36ad95f17d8638009f2e45d9b7e8df" }, "format": "mach-o", "local_path": "/Users/dayu/Documents/PaintFCP/build/body-analysis/MSE18V2-arm64", "name": "MSE18V2-arm64" } }, { "analysis_profile": { "digest": "20565088524a2d0359b9b96f46ac48e679d774c7b0092c56abc06de8fdbec11c", "parameters": { "analyzer_preset": "ghidra-default", "annotation_policy": "atomic-function-entry-metadata-v1", "architecture": "arm64", "available_architectures": [ "arm64" ], "compiler_spec_id": "auto-default", "decompiler_jump_loads": true, "function_body_evidence": "complete-inclusive-ranges-v1", "function_boundary_observations": "ghidra-terminal-call-limitations-v1", "function_references": "complete-body-and-entry-reference-manager-v2", "import_mode": "ephemeral-source-immutable", "instruction_flow_evidence": "decoded-return-pcode-v1", "jump_table_evidence": "typed-case-default-blocks-v1", "language_id": "auto-from-header", "load_image_observations": "source-mappings-entry-context-v2", "loader": "auto-from-header", "location_resolution": "explicit-address-exact-entry-symbol-first-v3", "no_return_repair": "returning-imports-decoded-return-v2", "process_launch": "inspected-jvm-launch-support-v1", "string_inventory_evidence": "defined-data-coverage-v1", "target_format": "mach-o", "target_kind": "executable" }, "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" } }, "authority": "shipped-artifact", "confidence": "observed", "environment": null, "evidence_id": "ev_579370aa1c2e4630fac75921ae4fe62413194477c0e5991040d1181237cdfbee", "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_10003b730(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4,\n long param_5,ID param_6,undefined8 *param_7)\n\n{\n undefined8 *puVar1;\n ID IVar2;\n undefined8 extraout_d0;\n undefined8 uVar3;\n undefined8 uVar4;\n undefined8 uVar5;\n undefined8 local_80;\n undefined8 uStack_78;\n undefined8 local_70;\n undefined8 local_60;\n undefined8 uStack_58;\n undefined8 local_50;\n \n if ((param_5 != 0) && ((*(uint *)((long)param_7 + 0xc) & 0x1d) == 1)) {\n if ((*(uint *)(param_5 + 0x14) & 0x1d) == 1) {\n uStack_58 = *(undefined8 *)(param_5 + 0x10);\n local_60 = *(undefined8 *)(param_5 + 8);\n local_50 = *(undefined8 *)(param_5 + 0x18);\n uStack_78 = param_7[1];\n local_80 = *param_7;\n local_70 = param_7[2];\n puVar1 = &local_60;\n uVar3 = param_2;\n uVar4 = param_3;\n uVar5 = param_4;\n _CMTimeCompare(puVar1,&local_80);\n if ((int)puVar1 == 0) {\n IVar2 = objc_stub::extent(param_6);\n _CGRectEqualToRect(*(undefined8 *)(param_5 + 0x20),*(undefined8 *)(param_5 + 0x28),\n *(undefined8 *)(param_5 + 0x30),*(undefined8 *)(param_5 + 0x38),\n extraout_d0,uVar3,uVar4,uVar5);\n if ((int)IVar2 == 0) {\n return IVar2;\n }\n _CGRectEqualToRect(*(undefined8 *)(param_5 + 0x40),*(undefined8 *)(param_5 + 0x48),\n *(undefined8 *)(param_5 + 0x50),*(undefined8 *)(param_5 + 0x58),param_1,\n param_2,param_3,param_4);\n return IVar2;\n }\n }\n return 0;\n }\n return 0;\n}\n\n", "operation": "procedure_pseudo_code", "parameters": { "procedure": "0x10003b730" }, "predicate_type": "rea.analysis", "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" }, "raw_result": { "limitations": [], "value": "\nID FUN_10003b730(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4,\n long param_5,ID param_6,undefined8 *param_7)\n\n{\n undefined8 *puVar1;\n ID IVar2;\n undefined8 extraout_d0;\n undefined8 uVar3;\n undefined8 uVar4;\n undefined8 uVar5;\n undefined8 local_80;\n undefined8 uStack_78;\n undefined8 local_70;\n undefined8 local_60;\n undefined8 uStack_58;\n undefined8 local_50;\n \n if ((param_5 != 0) && ((*(uint *)((long)param_7 + 0xc) & 0x1d) == 1)) {\n if ((*(uint *)(param_5 + 0x14) & 0x1d) == 1) {\n uStack_58 = *(undefined8 *)(param_5 + 0x10);\n local_60 = *(undefined8 *)(param_5 + 8);\n local_50 = *(undefined8 *)(param_5 + 0x18);\n uStack_78 = param_7[1];\n local_80 = *param_7;\n local_70 = param_7[2];\n puVar1 = &local_60;\n uVar3 = param_2;\n uVar4 = param_3;\n uVar5 = param_4;\n _CMTimeCompare(puVar1,&local_80);\n if ((int)puVar1 == 0) {\n IVar2 = objc_stub::extent(param_6);\n _CGRectEqualToRect(*(undefined8 *)(param_5 + 0x20),*(undefined8 *)(param_5 + 0x28),\n *(undefined8 *)(param_5 + 0x30),*(undefined8 *)(param_5 + 0x38),\n extraout_d0,uVar3,uVar4,uVar5);\n if ((int)IVar2 == 0) {\n return IVar2;\n }\n _CGRectEqualToRect(*(undefined8 *)(param_5 + 0x40),*(undefined8 *)(param_5 + 0x48),\n *(undefined8 *)(param_5 + 0x50),*(undefined8 *)(param_5 + 0x58),param_1,\n param_2,param_3,param_4);\n return IVar2;\n }\n }\n return 0;\n }\n return 0;\n}\n\n" }, "subject": { "architecture": "arm64", "digest": { "sha256": "afc71d0d21fd3c1ca95ca745ddafcd729e36ad95f17d8638009f2e45d9b7e8df" }, "format": "mach-o", "local_path": "/Users/dayu/Documents/PaintFCP/build/body-analysis/MSE18V2-arm64", "name": "MSE18V2-arm64" } }, { "analysis_profile": { "digest": "20565088524a2d0359b9b96f46ac48e679d774c7b0092c56abc06de8fdbec11c", "parameters": { "analyzer_preset": "ghidra-default", "annotation_policy": "atomic-function-entry-metadata-v1", "architecture": "arm64", "available_architectures": [ "arm64" ], "compiler_spec_id": "auto-default", "decompiler_jump_loads": true, "function_body_evidence": "complete-inclusive-ranges-v1", "function_boundary_observations": "ghidra-terminal-call-limitations-v1", "function_references": "complete-body-and-entry-reference-manager-v2", "import_mode": "ephemeral-source-immutable", "instruction_flow_evidence": "decoded-return-pcode-v1", "jump_table_evidence": "typed-case-default-blocks-v1", "language_id": "auto-from-header", "load_image_observations": "source-mappings-entry-context-v2", "loader": "auto-from-header", "location_resolution": "explicit-address-exact-entry-symbol-first-v3", "no_return_repair": "returning-imports-decoded-return-v2", "process_launch": "inspected-jvm-launch-support-v1", "string_inventory_evidence": "defined-data-coverage-v1", "target_format": "mach-o", "target_kind": "executable" }, "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" } }, "authority": "shipped-artifact", "confidence": "observed", "environment": null, "evidence_id": "ev_5822e17dfb0413e77933c4b0a774b80a74615dd3f1908dffdfff86a6a0546711", "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": "0x1000028f4", "value": "FxMTLDeviceCacheItem::faceThinPipelineState" }, { "address": "0x1000028fc", "value": "FxMTLDeviceCacheItem::faceThinOffsetMapPipelineState" }, { "address": "0x100002904", "value": "FxMTLDeviceCacheItem::faceThinOffsetBlurHPipelineState" }, { "address": "0x10000290c", "value": "FxMTLDeviceCacheItem::faceThinOffsetBlurVPipelineState" }, { "address": "0x100002914", "value": "FxMTLDeviceCacheItem::faceThinOffsetApplyPipelineState" }, { "address": "0x10000291c", "value": "FxMTLDeviceCacheItem::faceThinMaskPreviewPipelineState" }, { "address": "0x100002ec0", "value": "FxMTLDeviceCache::faceThinPipelineStateWithRegistryID:pixelFormat:" }, { "address": "0x100003038", "value": "FxMTLDeviceCache::faceThinOffsetMapPipelineStateWithRegistryID:pixelFormat:" }, { "address": "0x1000031b0", "value": "FxMTLDeviceCache::faceThinOffsetBlurHPipelineStateWithRegistryID:pixelFormat:" }, { "address": "0x100003328", "value": "FxMTLDeviceCache::faceThinOffsetBlurVPipelineStateWithRegistryID:pixelFormat:" }, { "address": "0x1000034a0", "value": "FxMTLDeviceCache::faceThinOffsetApplyPipelineStateWithRegistryID:pixelFormat:" }, { "address": "0x100003790", "value": "FxMTLDeviceCache::faceThinMaskPreviewPipelineStateWithRegistryID:pixelFormat:" }, { "address": "0x100008bd0", "value": "MSSSectionCardParameterValue::faceThin" }, { "address": "0x100008bd8", "value": "MSSSectionCardParameterValue::setFaceThin:" }, { "address": "0x100008c00", "value": "MSSSectionCardParameterValue::faceNarrow" }, { "address": "0x100008c08", "value": "MSSSectionCardParameterValue::setFaceNarrow:" }, { "address": "0x1000091a0", "value": "MSSSectionCardParameterValue::faceThinEnabled" }, { "address": "0x1000091a8", "value": "MSSSectionCardParameterValue::setFaceThinEnabled:" }, { "address": "0x1000091d0", "value": "MSSSectionCardParameterValue::faceNarrowEnabled" }, { "address": "0x1000091d8", "value": "MSSSectionCardParameterValue::setFaceNarrowEnabled:" }, { "address": "0x10001a198", "value": "MSSuperSkinSmoothingPlugIn::mss_faceThinRememberedPointsForBox:renderTime:source:" }, { "address": "0x10001b6b8", "value": "MSSuperSkinSmoothingPlugIn::mss_faceThinRenderTimeCanUpdateMemory:" }, { "address": "0x10001b7a0", "value": "MSSuperSkinSmoothingPlugIn::mss_rememberFaceThinPoints:forBox:renderTime:source:" }, { "address": "0x10001be00", "value": "MSSuperSkinSmoothingPlugIn::mss_rememberFaceThinPointSets:boxes:renderTime:source:" }, { "address": "0x10001c048", "value": "MSSuperSkinSmoothingPlugIn::mss_resetFaceThinTransientStateForReason:call:renderTime:sourceRect:destinationRect:tileRect:" }, { "address": "0x10002179c", "value": "MSSuperSkinSmoothingPlugIn::renderDestinationImage:sourceImages:pluginState:atTime:error:" }, { "address": "0x10007e100", "value": "objc_stub::faceNarrow" }, { "address": "0x10007e120", "value": "objc_stub::faceNarrowEnabled" }, { "address": "0x10007e2a0", "value": "objc_stub::faceThin" }, { "address": "0x10007e2c0", "value": "objc_stub::faceThinEnabled" }, { "address": "0x10007e2e0", "value": "objc_stub::faceThinMaskPreviewPipelineState" }, { "address": "0x10007e300", "value": "objc_stub::faceThinOffsetApplyPipelineState" }, { "address": "0x10007e320", "value": "objc_stub::faceThinOffsetBlurHPipelineState" }, { "address": "0x10007e340", "value": "objc_stub::faceThinOffsetBlurVPipelineState" }, { "address": "0x10007e360", "value": "objc_stub::faceThinOffsetMapPipelineState" }, { "address": "0x10007e380", "value": "objc_stub::faceThinPipelineState" }, { "address": "0x10007e3a0", "value": "objc_stub::faceThinPipelineStateWithRegistryID:pixelFormat:" }, { "address": "0x10007fd80", "value": "objc_stub::mss_faceThinRenderTimeCanUpdateMemory:" }, { "address": "0x10007fea0", "value": "objc_stub::mss_rememberFaceThinPoints:forBox:renderTime:source:" }, { "address": "0x10007ff00", "value": "objc_stub::mss_resetFaceThinTransientStateForReason:call:renderTime:sourceRect:destinationRect:tileRect:" }, { "address": "0x100081320", "value": "objc_stub::setFaceNarrow:" }, { "address": "0x100081340", "value": "objc_stub::setFaceNarrowEnabled:" }, { "address": "0x1000814c0", "value": "objc_stub::setFaceThin:" }, { "address": "0x1000814e0", "value": "objc_stub::setFaceThinEnabled:" }, { "address": "0x1000e0301", "value": "CIWarpKernel::kernelWithString:" } ], "operation": "search_procedures", "parameters": { "case_sensitive": false, "mode": "regex", "pattern": "FaceThin|Warp|Narrow|RenderDestination" }, "predicate_type": "rea.analysis", "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" }, "raw_result": [ { "address": "0x1000028f4", "value": "FxMTLDeviceCacheItem::faceThinPipelineState" }, { "address": "0x1000028fc", "value": "FxMTLDeviceCacheItem::faceThinOffsetMapPipelineState" }, { "address": "0x100002904", "value": "FxMTLDeviceCacheItem::faceThinOffsetBlurHPipelineState" }, { "address": "0x10000290c", "value": "FxMTLDeviceCacheItem::faceThinOffsetBlurVPipelineState" }, { "address": "0x100002914", "value": "FxMTLDeviceCacheItem::faceThinOffsetApplyPipelineState" }, { "address": "0x10000291c", "value": "FxMTLDeviceCacheItem::faceThinMaskPreviewPipelineState" }, { "address": "0x100002ec0", "value": "FxMTLDeviceCache::faceThinPipelineStateWithRegistryID:pixelFormat:" }, { "address": "0x100003038", "value": "FxMTLDeviceCache::faceThinOffsetMapPipelineStateWithRegistryID:pixelFormat:" }, { "address": "0x1000031b0", "value": "FxMTLDeviceCache::faceThinOffsetBlurHPipelineStateWithRegistryID:pixelFormat:" }, { "address": "0x100003328", "value": "FxMTLDeviceCache::faceThinOffsetBlurVPipelineStateWithRegistryID:pixelFormat:" }, { "address": "0x1000034a0", "value": "FxMTLDeviceCache::faceThinOffsetApplyPipelineStateWithRegistryID:pixelFormat:" }, { "address": "0x100003790", "value": "FxMTLDeviceCache::faceThinMaskPreviewPipelineStateWithRegistryID:pixelFormat:" }, { "address": "0x100008bd0", "value": "MSSSectionCardParameterValue::faceThin" }, { "address": "0x100008bd8", "value": "MSSSectionCardParameterValue::setFaceThin:" }, { "address": "0x100008c00", "value": "MSSSectionCardParameterValue::faceNarrow" }, { "address": "0x100008c08", "value": "MSSSectionCardParameterValue::setFaceNarrow:" }, { "address": "0x1000091a0", "value": "MSSSectionCardParameterValue::faceThinEnabled" }, { "address": "0x1000091a8", "value": "MSSSectionCardParameterValue::setFaceThinEnabled:" }, { "address": "0x1000091d0", "value": "MSSSectionCardParameterValue::faceNarrowEnabled" }, { "address": "0x1000091d8", "value": "MSSSectionCardParameterValue::setFaceNarrowEnabled:" }, { "address": "0x10001a198", "value": "MSSuperSkinSmoothingPlugIn::mss_faceThinRememberedPointsForBox:renderTime:source:" }, { "address": "0x10001b6b8", "value": "MSSuperSkinSmoothingPlugIn::mss_faceThinRenderTimeCanUpdateMemory:" }, { "address": "0x10001b7a0", "value": "MSSuperSkinSmoothingPlugIn::mss_rememberFaceThinPoints:forBox:renderTime:source:" }, { "address": "0x10001be00", "value": "MSSuperSkinSmoothingPlugIn::mss_rememberFaceThinPointSets:boxes:renderTime:source:" }, { "address": "0x10001c048", "value": "MSSuperSkinSmoothingPlugIn::mss_resetFaceThinTransientStateForReason:call:renderTime:sourceRect:destinationRect:tileRect:" }, { "address": "0x10002179c", "value": "MSSuperSkinSmoothingPlugIn::renderDestinationImage:sourceImages:pluginState:atTime:error:" }, { "address": "0x10007e100", "value": "objc_stub::faceNarrow" }, { "address": "0x10007e120", "value": "objc_stub::faceNarrowEnabled" }, { "address": "0x10007e2a0", "value": "objc_stub::faceThin" }, { "address": "0x10007e2c0", "value": "objc_stub::faceThinEnabled" }, { "address": "0x10007e2e0", "value": "objc_stub::faceThinMaskPreviewPipelineState" }, { "address": "0x10007e300", "value": "objc_stub::faceThinOffsetApplyPipelineState" }, { "address": "0x10007e320", "value": "objc_stub::faceThinOffsetBlurHPipelineState" }, { "address": "0x10007e340", "value": "objc_stub::faceThinOffsetBlurVPipelineState" }, { "address": "0x10007e360", "value": "objc_stub::faceThinOffsetMapPipelineState" }, { "address": "0x10007e380", "value": "objc_stub::faceThinPipelineState" }, { "address": "0x10007e3a0", "value": "objc_stub::faceThinPipelineStateWithRegistryID:pixelFormat:" }, { "address": "0x10007fd80", "value": "objc_stub::mss_faceThinRenderTimeCanUpdateMemory:" }, { "address": "0x10007fea0", "value": "objc_stub::mss_rememberFaceThinPoints:forBox:renderTime:source:" }, { "address": "0x10007ff00", "value": "objc_stub::mss_resetFaceThinTransientStateForReason:call:renderTime:sourceRect:destinationRect:tileRect:" }, { "address": "0x100081320", "value": "objc_stub::setFaceNarrow:" }, { "address": "0x100081340", "value": "objc_stub::setFaceNarrowEnabled:" }, { "address": "0x1000814c0", "value": "objc_stub::setFaceThin:" }, { "address": "0x1000814e0", "value": "objc_stub::setFaceThinEnabled:" }, { "address": "0x1000e0301", "value": "CIWarpKernel::kernelWithString:" } ], "subject": { "architecture": "arm64", "digest": { "sha256": "afc71d0d21fd3c1ca95ca745ddafcd729e36ad95f17d8638009f2e45d9b7e8df" }, "format": "mach-o", "local_path": "/Users/dayu/Documents/PaintFCP/build/body-analysis/MSE18V2-arm64", "name": "MSE18V2-arm64" } }, { "analysis_profile": { "digest": "20565088524a2d0359b9b96f46ac48e679d774c7b0092c56abc06de8fdbec11c", "parameters": { "analyzer_preset": "ghidra-default", "annotation_policy": "atomic-function-entry-metadata-v1", "architecture": "arm64", "available_architectures": [ "arm64" ], "compiler_spec_id": "auto-default", "decompiler_jump_loads": true, "function_body_evidence": "complete-inclusive-ranges-v1", "function_boundary_observations": "ghidra-terminal-call-limitations-v1", "function_references": "complete-body-and-entry-reference-manager-v2", "import_mode": "ephemeral-source-immutable", "instruction_flow_evidence": "decoded-return-pcode-v1", "jump_table_evidence": "typed-case-default-blocks-v1", "language_id": "auto-from-header", "load_image_observations": "source-mappings-entry-context-v2", "loader": "auto-from-header", "location_resolution": "explicit-address-exact-entry-symbol-first-v3", "no_return_repair": "returning-imports-decoded-return-v2", "process_launch": "inspected-jvm-launch-support-v1", "string_inventory_evidence": "defined-data-coverage-v1", "target_format": "mach-o", "target_kind": "executable" }, "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" } }, "authority": "shipped-artifact", "confidence": "observed", "environment": null, "evidence_id": "ev_5e6a4333ca31b1e9b29cc9d97856c505a05ba54a4c93e0819109c9619dbdc188", "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 0x10003f01c to 0x10007aca0 ___stack_chk_fail (external=false, thunk=true, hasNoReturn=true); fallthrough is excluded by Ghidra's flow model. This records Ghidra's FunctionManager flag, not an independent verification that the callee cannot return.", "macOS sessions require a matching executable Ghidra native decompiler; REA checks for it but does not build native components or change Gatekeeper quarantine state." ], "locations": [], "normalized_result": "\nulong FUN_10003ec44(double param_1,double param_2,double param_3,double param_4,undefined8 param_5,\n undefined8 param_6,ID param_7,int param_8)\n\n{\n bool bVar1;\n int iVar2;\n ulong uVar3;\n ID IVar4;\n ulong uVar5;\n ulong uVar6;\n ulong uVar7;\n long lVar8;\n ID IVar9;\n double dVar10;\n double extraout_d0;\n double dVar11;\n double dVar12;\n double dVar13;\n double extraout_d0_00;\n double dVar14;\n double dVar15;\n double dVar16;\n double dVar17;\n undefined8 uVar18;\n undefined8 uVar19;\n undefined8 uVar20;\n undefined8 uVar21;\n double dVar22;\n double dVar23;\n double local_190;\n double local_188;\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 long local_b0;\n \n local_b0 = *(long *)PTR____stack_chk_guard_1000a80e8;\n uVar3 = objc_stub::count(param_7);\n if (uVar3 != 0) {\n dVar16 = 1.0;\n if (param_1 <= 1.0) {\n dVar16 = param_1;\n }\n dVar14 = 0.0;\n if (0.0 <= param_1) {\n dVar14 = dVar16;\n }\n dVar16 = 1.0;\n if (param_2 <= 1.0) {\n dVar16 = param_2;\n }\n dVar10 = 0.0;\n if (0.0 <= param_2) {\n dVar10 = dVar16;\n }\n FUN_10001bef0();\n uVar18 = param_5;\n uVar20 = param_6;\n if ((((param_8 == 0) || (_CGRectIsNull(param_3,param_4,param_5,param_6), (uVar3 & 1) != 0)) ||\n (uVar18 = param_5, uVar20 = param_6, _CGRectIsEmpty(param_3,param_4,param_5,param_6),\n (uVar3 & 1) != 0)) ||\n ((dVar16 = param_3, uVar18 = param_5, uVar20 = param_6,\n _CGRectGetWidth(param_3,param_4,param_5,param_6), dVar16 <= 2.220446049250313e-16 ||\n (dVar16 = param_3, uVar18 = param_5, uVar20 = param_6,\n _CGRectGetHeight(param_3,param_4,param_5,param_6), dVar16 <= 2.220446049250313e-16)))) {\n bVar1 = false;\n dVar16 = *(double *)PTR__CGPointZero_1000a8140;\n local_190 = *(double *)(PTR__CGPointZero_1000a8140 + 8);\n local_188 = dVar16;\n }\n else {\n local_188 = param_3;\n _CGRectGetMidX(param_3,param_4,param_5,param_6);\n local_190 = param_3;\n dVar16 = param_4;\n uVar18 = param_5;\n uVar20 = param_6;\n _CGRectGetMidY(param_3,param_4,param_5,param_6);\n bVar1 = true;\n }\n uStack_148 = 0;\n local_150 = 0;\n uStack_138 = 0;\n uStack_140 = 0;\n lStack_168 = 0;\n local_170 = 0;\n uStack_158 = 0;\n local_160 = (long *)0x0;\n IVar4 = objc_stub::countByEnumeratingWithState_objects_count_\n (param_7,&local_170,auStack_130,0x10);\n if (IVar4 != 0) {\n uVar3 = 0;\n lVar8 = *local_160;\n dVar22 = -1.7976931348623157e+308;\n dVar13 = extraout_d0;\n do {\n IVar9 = 0;\n uVar6 = uVar3;\n dVar23 = dVar22;\n do {\n dVar11 = dVar13;\n dVar15 = dVar16;\n uVar19 = uVar18;\n uVar21 = uVar20;\n if (*local_160 != lVar8) {\n _objc_enumerationMutation(param_7);\n dVar11 = dVar13;\n dVar15 = dVar16;\n uVar19 = uVar18;\n uVar21 = uVar20;\n }\n uVar7 = *(ulong *)(lStack_168 + IVar9 * 8);\n uVar5 = uVar7;\n FUN_100029d20();\n dVar13 = dVar11;\n dVar16 = dVar15;\n uVar18 = uVar19;\n uVar20 = uVar21;\n _CGRectIsNull();\n uVar3 = uVar6;\n dVar22 = dVar23;\n if ((uVar5 & 1) == 0) {\n dVar13 = dVar11;\n dVar16 = dVar15;\n uVar18 = uVar19;\n uVar20 = uVar21;\n _CGRectIsEmpty(dVar11,dVar15,uVar19,uVar21);\n iVar2 = (int)uVar5;\n if ((uVar5 & 1) == 0) {\n dVar13 = dVar11;\n uVar18 = uVar19;\n uVar20 = uVar21;\n _CGRectGetWidth(dVar11,dVar15);\n dVar16 = 2.220446049250313e-16;\n if (2.220446049250313e-16 < dVar13) {\n dVar13 = dVar11;\n uVar18 = uVar19;\n uVar20 = uVar21;\n _CGRectGetHeight(dVar11,dVar15);\n dVar16 = 2.220446049250313e-16;\n if (2.220446049250313e-16 < dVar13) {\n dVar17 = dVar11;\n _CGRectGetMidX(dVar11,dVar15,uVar19,uVar21);\n dVar12 = dVar11;\n uVar18 = uVar19;\n uVar20 = uVar21;\n _CGRectGetMidY(dVar11,dVar15);\n dVar16 = (dVar12 - dVar10) * (dVar12 - dVar10);\n dVar13 = SQRT(dVar16 + (dVar17 - dVar14) * (dVar17 - dVar14));\n dVar22 = -dVar13;\n if (bVar1) {\n dVar16 = dVar11;\n FUN_10001a910(dVar11,dVar15,uVar19,uVar21,param_3,param_4,param_5,param_6);\n dVar17 = SQRT((dVar12 - local_190) * (dVar12 - local_190) +\n (dVar17 - local_188) * (dVar17 - local_188)) / 0.32;\n dVar22 = 1.0;\n if (dVar17 <= 1.0) {\n dVar22 = dVar17;\n }\n dVar17 = (1.0 - dVar22) * 3.2 + dVar16 * 8.0 + -dVar13 * 0.35;\n _CGRectContainsPoint(dVar11);\n dVar13 = dVar17 + 1.2;\n dVar16 = dVar15;\n uVar18 = uVar19;\n uVar20 = uVar21;\n dVar22 = dVar13;\n if (iVar2 == 0) {\n dVar22 = dVar17;\n }\n }\n uVar3 = uVar7;\n if (dVar22 <= dVar23 && uVar6 != 0) {\n uVar3 = uVar6;\n dVar22 = dVar23;\n }\n }\n }\n }\n }\n IVar9 = IVar9 + 1;\n uVar6 = uVar3;\n dVar23 = dVar22;\n } while (IVar4 != IVar9);\n IVar4 = objc_stub::countByEnumeratingWithState_objects_count_\n (param_7,&local_170,auStack_130,0x10);\n dVar13 = extraout_d0_00;\n } while (IVar4 != 0);\n goto LAB_10003efd0;\n }\n }\n uVar3 = 0;\nLAB_10003efd0:\n if (*(long *)PTR____stack_chk_guard_1000a80e8 != local_b0) {\n /* WARNING: Subroutine does not return */\n ___stack_chk_fail();\n }\n return uVar3;\n}\n\n", "operation": "procedure_pseudo_code", "parameters": { "procedure": "0x10003ec44" }, "predicate_type": "rea.analysis", "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" }, "raw_result": { "limitations": [ "Ghidra Listing reports a terminal call at 0x10003f01c to 0x10007aca0 ___stack_chk_fail (external=false, thunk=true, hasNoReturn=true); fallthrough is excluded by Ghidra's flow model. This records Ghidra's FunctionManager flag, not an independent verification that the callee cannot return." ], "value": "\nulong FUN_10003ec44(double param_1,double param_2,double param_3,double param_4,undefined8 param_5,\n undefined8 param_6,ID param_7,int param_8)\n\n{\n bool bVar1;\n int iVar2;\n ulong uVar3;\n ID IVar4;\n ulong uVar5;\n ulong uVar6;\n ulong uVar7;\n long lVar8;\n ID IVar9;\n double dVar10;\n double extraout_d0;\n double dVar11;\n double dVar12;\n double dVar13;\n double extraout_d0_00;\n double dVar14;\n double dVar15;\n double dVar16;\n double dVar17;\n undefined8 uVar18;\n undefined8 uVar19;\n undefined8 uVar20;\n undefined8 uVar21;\n double dVar22;\n double dVar23;\n double local_190;\n double local_188;\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 long local_b0;\n \n local_b0 = *(long *)PTR____stack_chk_guard_1000a80e8;\n uVar3 = objc_stub::count(param_7);\n if (uVar3 != 0) {\n dVar16 = 1.0;\n if (param_1 <= 1.0) {\n dVar16 = param_1;\n }\n dVar14 = 0.0;\n if (0.0 <= param_1) {\n dVar14 = dVar16;\n }\n dVar16 = 1.0;\n if (param_2 <= 1.0) {\n dVar16 = param_2;\n }\n dVar10 = 0.0;\n if (0.0 <= param_2) {\n dVar10 = dVar16;\n }\n FUN_10001bef0();\n uVar18 = param_5;\n uVar20 = param_6;\n if ((((param_8 == 0) || (_CGRectIsNull(param_3,param_4,param_5,param_6), (uVar3 & 1) != 0)) ||\n (uVar18 = param_5, uVar20 = param_6, _CGRectIsEmpty(param_3,param_4,param_5,param_6),\n (uVar3 & 1) != 0)) ||\n ((dVar16 = param_3, uVar18 = param_5, uVar20 = param_6,\n _CGRectGetWidth(param_3,param_4,param_5,param_6), dVar16 <= 2.220446049250313e-16 ||\n (dVar16 = param_3, uVar18 = param_5, uVar20 = param_6,\n _CGRectGetHeight(param_3,param_4,param_5,param_6), dVar16 <= 2.220446049250313e-16)))) {\n bVar1 = false;\n dVar16 = *(double *)PTR__CGPointZero_1000a8140;\n local_190 = *(double *)(PTR__CGPointZero_1000a8140 + 8);\n local_188 = dVar16;\n }\n else {\n local_188 = param_3;\n _CGRectGetMidX(param_3,param_4,param_5,param_6);\n local_190 = param_3;\n dVar16 = param_4;\n uVar18 = param_5;\n uVar20 = param_6;\n _CGRectGetMidY(param_3,param_4,param_5,param_6);\n bVar1 = true;\n }\n uStack_148 = 0;\n local_150 = 0;\n uStack_138 = 0;\n uStack_140 = 0;\n lStack_168 = 0;\n local_170 = 0;\n uStack_158 = 0;\n local_160 = (long *)0x0;\n IVar4 = objc_stub::countByEnumeratingWithState_objects_count_\n (param_7,&local_170,auStack_130,0x10);\n if (IVar4 != 0) {\n uVar3 = 0;\n lVar8 = *local_160;\n dVar22 = -1.7976931348623157e+308;\n dVar13 = extraout_d0;\n do {\n IVar9 = 0;\n uVar6 = uVar3;\n dVar23 = dVar22;\n do {\n dVar11 = dVar13;\n dVar15 = dVar16;\n uVar19 = uVar18;\n uVar21 = uVar20;\n if (*local_160 != lVar8) {\n _objc_enumerationMutation(param_7);\n dVar11 = dVar13;\n dVar15 = dVar16;\n uVar19 = uVar18;\n uVar21 = uVar20;\n }\n uVar7 = *(ulong *)(lStack_168 + IVar9 * 8);\n uVar5 = uVar7;\n FUN_100029d20();\n dVar13 = dVar11;\n dVar16 = dVar15;\n uVar18 = uVar19;\n uVar20 = uVar21;\n _CGRectIsNull();\n uVar3 = uVar6;\n dVar22 = dVar23;\n if ((uVar5 & 1) == 0) {\n dVar13 = dVar11;\n dVar16 = dVar15;\n uVar18 = uVar19;\n uVar20 = uVar21;\n _CGRectIsEmpty(dVar11,dVar15,uVar19,uVar21);\n iVar2 = (int)uVar5;\n if ((uVar5 & 1) == 0) {\n dVar13 = dVar11;\n uVar18 = uVar19;\n uVar20 = uVar21;\n _CGRectGetWidth(dVar11,dVar15);\n dVar16 = 2.220446049250313e-16;\n if (2.220446049250313e-16 < dVar13) {\n dVar13 = dVar11;\n uVar18 = uVar19;\n uVar20 = uVar21;\n _CGRectGetHeight(dVar11,dVar15);\n dVar16 = 2.220446049250313e-16;\n if (2.220446049250313e-16 < dVar13) {\n dVar17 = dVar11;\n _CGRectGetMidX(dVar11,dVar15,uVar19,uVar21);\n dVar12 = dVar11;\n uVar18 = uVar19;\n uVar20 = uVar21;\n _CGRectGetMidY(dVar11,dVar15);\n dVar16 = (dVar12 - dVar10) * (dVar12 - dVar10);\n dVar13 = SQRT(dVar16 + (dVar17 - dVar14) * (dVar17 - dVar14));\n dVar22 = -dVar13;\n if (bVar1) {\n dVar16 = dVar11;\n FUN_10001a910(dVar11,dVar15,uVar19,uVar21,param_3,param_4,param_5,param_6);\n dVar17 = SQRT((dVar12 - local_190) * (dVar12 - local_190) +\n (dVar17 - local_188) * (dVar17 - local_188)) / 0.32;\n dVar22 = 1.0;\n if (dVar17 <= 1.0) {\n dVar22 = dVar17;\n }\n dVar17 = (1.0 - dVar22) * 3.2 + dVar16 * 8.0 + -dVar13 * 0.35;\n _CGRectContainsPoint(dVar11);\n dVar13 = dVar17 + 1.2;\n dVar16 = dVar15;\n uVar18 = uVar19;\n uVar20 = uVar21;\n dVar22 = dVar13;\n if (iVar2 == 0) {\n dVar22 = dVar17;\n }\n }\n uVar3 = uVar7;\n if (dVar22 <= dVar23 && uVar6 != 0) {\n uVar3 = uVar6;\n dVar22 = dVar23;\n }\n }\n }\n }\n }\n IVar9 = IVar9 + 1;\n uVar6 = uVar3;\n dVar23 = dVar22;\n } while (IVar4 != IVar9);\n IVar4 = objc_stub::countByEnumeratingWithState_objects_count_\n (param_7,&local_170,auStack_130,0x10);\n dVar13 = extraout_d0_00;\n } while (IVar4 != 0);\n goto LAB_10003efd0;\n }\n }\n uVar3 = 0;\nLAB_10003efd0:\n if (*(long *)PTR____stack_chk_guard_1000a80e8 != local_b0) {\n /* WARNING: Subroutine does not return */\n ___stack_chk_fail();\n }\n return uVar3;\n}\n\n" }, "subject": { "architecture": "arm64", "digest": { "sha256": "afc71d0d21fd3c1ca95ca745ddafcd729e36ad95f17d8638009f2e45d9b7e8df" }, "format": "mach-o", "local_path": "/Users/dayu/Documents/PaintFCP/build/body-analysis/MSE18V2-arm64", "name": "MSE18V2-arm64" } }, { "analysis_profile": { "digest": "20565088524a2d0359b9b96f46ac48e679d774c7b0092c56abc06de8fdbec11c", "parameters": { "analyzer_preset": "ghidra-default", "annotation_policy": "atomic-function-entry-metadata-v1", "architecture": "arm64", "available_architectures": [ "arm64" ], "compiler_spec_id": "auto-default", "decompiler_jump_loads": true, "function_body_evidence": "complete-inclusive-ranges-v1", "function_boundary_observations": "ghidra-terminal-call-limitations-v1", "function_references": "complete-body-and-entry-reference-manager-v2", "import_mode": "ephemeral-source-immutable", "instruction_flow_evidence": "decoded-return-pcode-v1", "jump_table_evidence": "typed-case-default-blocks-v1", "language_id": "auto-from-header", "load_image_observations": "source-mappings-entry-context-v2", "loader": "auto-from-header", "location_resolution": "explicit-address-exact-entry-symbol-first-v3", "no_return_repair": "returning-imports-decoded-return-v2", "process_launch": "inspected-jvm-launch-support-v1", "string_inventory_evidence": "defined-data-coverage-v1", "target_format": "mach-o", "target_kind": "executable" }, "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" } }, "authority": "shipped-artifact", "confidence": "observed", "environment": null, "evidence_id": "ev_6068961ccd1b5aa78696bc8f157b8e9b7322dc68f56cf76ef2d3f8bc28837b26", "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 0x100019078 to 0x10007aca0 ___stack_chk_fail (external=false, thunk=true, hasNoReturn=true); fallthrough is excluded by Ghidra's flow model. This records Ghidra's FunctionManager flag, not an independent verification that the callee cannot return.", "macOS sessions require a matching executable Ghidra native decompiler; REA checks for it but does not build native components or change Gatekeeper quarantine state." ], "locations": [], "normalized_result": "\n/* WARNING: Function: _objc_autorelease replaced with injection: _objc_retain_fixup */\n/* Function Stack Size: 0x50 bytes */\n\nvoid MSSSkinControlPanelView::drawSection_inRect_controls_values_controlPanelValue_\n (ID param_1,SEL param_2,ID param_3,CGRect param_4,ID param_5,ID param_6,ID param_7)\n\n{\n cfstringStruct *self;\n CGRect CVar1;\n CGRect CVar2;\n CGRect CVar3;\n CGRect CVar4;\n CGRect CVar5;\n CGRect CVar6;\n CGRect CVar7;\n CGRect CVar8;\n CGRect CVar9;\n CGRect CVar10;\n CGRect CVar11;\n int iVar12;\n bool bVar13;\n ID IVar14;\n ID IVar15;\n cfstringStruct *pcVar16;\n ID IVar17;\n ID IVar18;\n undefined *self_00;\n ID IVar19;\n ID IVar20;\n undefined **ppuVar21;\n undefined **self_01;\n double self_02;\n double self_03;\n long lVar22;\n uint uVar23;\n long lVar24;\n ID self_04;\n ID self_05;\n ID IVar25;\n int iVar26;\n double in_d0;\n undefined8 uVar27;\n double extraout_d0;\n double dVar28;\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 extraout_d0_07;\n double extraout_d0_08;\n double extraout_d0_09;\n double 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 double extraout_d0_17;\n double extraout_d0_18;\n double extraout_d0_19;\n double extraout_d0_20;\n double extraout_d0_21;\n double extraout_d0_22;\n double extraout_d0_23;\n double extraout_d0_24;\n double dVar29;\n double extraout_d0_25;\n undefined8 extraout_d0_26;\n undefined8 extraout_d0_27;\n undefined8 extraout_d0_28;\n double extraout_d0_29;\n undefined8 extraout_d0_30;\n undefined8 extraout_d0_31;\n undefined8 extraout_d0_32;\n double extraout_d0_33;\n undefined8 extraout_d0_34;\n undefined8 extraout_d0_35;\n double extraout_d0_36;\n double dVar30;\n double extraout_d0_37;\n undefined8 extraout_d0_38;\n undefined8 extraout_d0_39;\n undefined8 extraout_d0_40;\n double extraout_d0_41;\n double extraout_d0_42;\n double extraout_d0_43;\n double extraout_d0_44;\n double in_d1;\n double dVar31;\n double dVar32;\n double dVar33;\n double dVar34;\n double dVar35;\n double in_d2;\n undefined8 uVar36;\n double dVar37;\n undefined8 uVar38;\n double dVar39;\n double dVar40;\n double dVar41;\n double in_d3;\n double dVar42;\n double dVar43;\n double dVar44;\n double dVar45;\n CGRect CVar46;\n CGRect CVar47;\n CGRect CVar48;\n CGRect CVar49;\n CGRect CVar50;\n CGRect CVar51;\n CGRect CVar52;\n CGRect CVar53;\n CGRect CVar54;\n CGRect CVar55;\n double local_300;\n ID local_260;\n undefined8 local_230;\n long lStack_228;\n long *local_220;\n undefined8 uStack_218;\n undefined8 local_210;\n undefined8 uStack_208;\n undefined8 uStack_200;\n undefined8 uStack_1f8;\n undefined8 local_1f0;\n long lStack_1e8;\n long *local_1e0;\n undefined8 uStack_1d8;\n undefined8 local_1d0;\n undefined8 uStack_1c8;\n undefined8 uStack_1c0;\n undefined8 uStack_1b8;\n undefined1 auStack_1b0 [128];\n undefined1 auStack_130 [128];\n long local_b0;\n \n self_03 = param_4.field1_0x10.field0_0x0;\n self_02 = param_4.field0_0x0.field0_0x0;\n local_b0 = *(long *)PTR____stack_chk_guard_1000a80e8;\n IVar14 = objc_stub::objectForKeyedSubscript_(param_3,&cf_headerID);\n IVar15 = objc_stub::unsignedIntValue(IVar14);\n IVar14 = IVar15;\n FUN_100009b28();\n pcVar16 = (cfstringStruct *)objc_stub::objectForKeyedSubscript_(IVar14,&cf_badge);\n self = &cf___;\n if (pcVar16 != (cfstringStruct *)0x0) {\n self = pcVar16;\n }\n local_260 = objc_stub::objectForKeyedSubscript_(IVar14,&cf_accent);\n if (local_260 == 0) {\n local_260 = NSColor::colorWithCalibratedWhite_alpha_\n ((ID)&_OBJC_CLASS___NSColor,0x3feb333333333333,0x3ff0000000000000);\n }\n IVar17 = objc_stub::objectForKeyedSubscript_(IVar14,&cf_surfaceTop);\n if (IVar17 == 0) {\n IVar17 = NSColor::colorWithCalibratedWhite_alpha_\n ((ID)&_OBJC_CLASS___NSColor,0x3fbeb851eb851eb8,0x3ff0000000000000);\n }\n IVar14 = objc_stub::objectForKeyedSubscript_(IVar14,&cf_surfaceBottom);\n if (IVar14 == 0) {\n IVar14 = NSColor::colorWithCalibratedWhite_alpha_\n ((ID)&_OBJC_CLASS___NSColor,0x3fb47ae147ae147b,0x3ff0000000000000);\n }\n dVar33 = self_03;\n FUN_100011b40(self_03,IVar15);\n IVar18 = NSBezierPath::bezierPathWithRoundedRect_xRadius_yRadius_((ID)&_OBJC_CLASS___NSBezierPath)\n ;\n self_00 = &_OBJC_CLASS___NSGradient;\n _objc_alloc();\n IVar17 = NSColor::colorWithAlphaComponent_(IVar17,0x3fec28f5c28f5c29);\n IVar14 = NSColor::colorWithAlphaComponent_(IVar14,0x3fec28f5c28f5c29);\n IVar14 = objc_stub::initWithStartingColor_endingColor_((ID)self_00,IVar17,IVar14);\n objc_stub::drawInBezierPath_angle_(IVar14,0x4056800000000000,IVar18);\n IVar14 = NSColor::colorWithAlphaComponent_(local_260,0x3fc1eb851eb851ec);\n NSColor::setStroke(IVar14);\n NSBezierPath::setLineWidth_(IVar18,0x3feccccccccccccd);\n NSBezierPath::stroke(IVar18);\n if (SUB84(dVar33,0) == 0) {\n dVar31 = 0.54;\n uVar36 = 0x3fe28f5c28f5c28f;\n uVar27 = 0x3ff0000000000000;\n }\n else {\n uVar27 = 0x3fe1eb851eb851ec;\n dVar31 = 1.0;\n uVar36 = 0x3fe8000000000000;\n }\n IVar14 = NSColor::colorWithCalibratedRed_green_blue_alpha_\n ((ID)&_OBJC_CLASS___NSColor,uVar27,dVar31,uVar36,0x3ff0000000000000);\n FUN_10001907c();\n objc_stub::sizeWithAttributes_((ID)self,IVar14);\n dVar28 = in_d0;\n dVar32 = in_d1;\n dVar37 = in_d2;\n dVar42 = in_d3;\n FUN_100013c5c(self);\n IVar17 = NSBezierPath::bezierPathWithRoundedRect_xRadius_yRadius_((ID)&_OBJC_CLASS___NSBezierPath)\n ;\n if (SUB84(dVar33,0) == 0) {\n uVar36 = 0x3fd47ae147ae147b;\n IVar18 = NSColor::colorWithCalibratedRed_green_blue_alpha_\n ((ID)&_OBJC_CLASS___NSColor,0x3feccccccccccccd,0x3fc70a3d70a3d70a,\n 0x3fcc28f5c28f5c29,0x3fd47ae147ae147b);\n uVar38 = 0x3fd70a3d70a3d70a;\n uVar27 = 0x3ff0000000000000;\n }\n else {\n IVar18 = NSColor::colorWithCalibratedRed_green_blue_alpha_\n ((ID)&_OBJC_CLASS___NSColor,0x3fc1eb851eb851ec,0x3fe51eb851eb851f,\n 0x3fd851eb851eb852,0x3fd47ae147ae147b);\n uVar27 = 0x3fd3333333333333;\n uVar36 = 0x3fee666666666666;\n uVar38 = 0x3fe28f5c28f5c28f;\n }\n IVar19 = NSColor::colorWithCalibratedRed_green_blue_alpha_\n ((ID)&_OBJC_CLASS___NSColor,uVar27,uVar36,uVar38,0x3fe3d70a3d70a3d7);\n NSColor::setFill(IVar18);\n NSBezierPath::fill(IVar17);\n NSColor::setStroke(IVar19);\n NSBezierPath::setLineWidth_(IVar17,0x3fe999999999999a);\n NSBezierPath::stroke(IVar17);\n IVar17 = NSBezierPath::bezierPath((ID)&_OBJC_CLASS___NSBezierPath);\n NSBezierPath::moveToPoint_(IVar17,in_d0 + 14.0,in_d1 + 34.0);\n NSBezierPath::lineToPoint_(IVar17,in_d0 + in_d2 + -14.0,in_d1 + 34.0);\n IVar18 = NSColor::colorWithCalibratedWhite_alpha_\n ((ID)&_OBJC_CLASS___NSColor,0x3ff0000000000000,0x3fb47ae147ae147b);\n NSColor::setStroke(IVar18);\n NSBezierPath::setLineWidth_(IVar17,0x3ff0000000000000);\n NSBezierPath::stroke(IVar17);\n dVar33 = dVar32 + (double)(long)((dVar42 - dVar31) * 0.5) + -1.0;\n dVar32 = extraout_d0;\n objc_stub::drawInRect_withAttributes_\n ((ID)self,dVar28 + (double)(long)((dVar37 - extraout_d0) * 0.5),IVar14);\n if ((int)IVar15 == 0xc9) {\n IVar14 = objc_stub::skinTonePreset((ID)self_03);\n CVar46.field0_0x0.field1_0x8 = in_d1;\n CVar46.field0_0x0.field0_0x0 = in_d0;\n CVar46.field1_0x10.field1_0x8 = in_d3;\n CVar46.field1_0x10.field0_0x0 = in_d2;\n dVar33 = in_d1;\n dVar32 = in_d2;\n dVar31 = in_d3;\n drawSkinTonePresetStripInSectionRect_accentColor_selectedPreset_\n (param_1,CVar46,local_260,IVar14);\n }\n objc_stub::bounds(param_1);\n CVar47.field0_0x0.field1_0x8 = dVar33;\n CVar47.field0_0x0.field0_0x0 = extraout_d0_00;\n CVar47.field1_0x10.field1_0x8 = dVar31;\n CVar47.field1_0x10.field0_0x0 = dVar32;\n IVar14 = interactionItemsForBounds_(param_1,CVar47);\n lStack_1e8 = 0;\n local_1f0 = 0;\n uStack_1d8 = 0;\n local_1e0 = (long *)0x0;\n uStack_1c8 = 0;\n local_1d0 = 0;\n uStack_1b8 = 0;\n uStack_1c0 = 0;\n IVar15 = objc_stub::countByEnumeratingWithState_objects_count_\n ((ID)self_02,&local_1f0,auStack_130,0x10);\n if (IVar15 != 0) {\n lVar22 = *local_1e0;\n local_300 = 0.12;\n do {\n IVar17 = 0;\n do {\n dVar28 = dVar33;\n dVar37 = dVar32;\n dVar42 = dVar31;\n if (*local_1e0 != lVar22) {\n _objc_enumerationMutation(self_02);\n dVar28 = dVar33;\n dVar37 = dVar32;\n dVar42 = dVar31;\n }\n self_05 = *(ID *)(lStack_1e8 + IVar17 * 8);\n IVar18 = objc_stub::objectForKeyedSubscript_(self_05,&cf_id);\n IVar18 = objc_stub::unsignedIntValue(IVar18);\n lStack_228 = 0;\n local_230 = 0;\n uStack_218 = 0;\n local_220 = (long *)0x0;\n uStack_208 = 0;\n local_210 = 0;\n uStack_1f8 = 0;\n uStack_200 = 0;\n IVar19 = objc_stub::countByEnumeratingWithState_objects_count_\n (IVar14,&local_230,auStack_1b0,0x10);\n dVar33 = dVar28;\n dVar32 = dVar37;\n dVar31 = dVar42;\n if (IVar19 != 0) {\n lVar24 = *local_220;\nLAB_10001872c:\n IVar25 = 0;\nLAB_100018730:\n if (*local_220 != lVar24) {\n _objc_enumerationMutation(IVar14);\n }\n self_04 = *(ID *)(lStack_228 + IVar25 * 8);\n IVar20 = objc_stub::objectForKeyedSubscript_(self_04,&cf_parameterID);\n IVar20 = objc_stub::unsignedIntValue(IVar20);\n iVar26 = (int)IVar18;\n if ((int)IVar20 != iVar26) goto code_r0x000100018768;\n dVar33 = dVar28;\n dVar32 = dVar37;\n dVar31 = dVar42;\n if (self_04 != 0) {\n IVar19 = objc_stub::objectForKeyedSubscript_(self_04,&cf_rowRect);\n IVar19 = objc_stub::rectValue(IVar19);\n iVar12 = (int)IVar19;\n dVar33 = in_d1;\n dVar32 = in_d2;\n dVar31 = in_d3;\n _NSIntersectsRect(in_d0);\n if (iVar12 != 0) {\n IVar19 = NSNumber::numberWithUnsignedInt_((ID)&_OBJC_CLASS___NSNumber,IVar18);\n ppuVar21 = (undefined **)\n objc_stub::objectForKeyedSubscript_\n ((ID)param_4.field0_0x0.field1_0x8,IVar19);\n self_01 = &PTR__OBJC_CLASS___NSConstantDoubleNumber_1000b04c0;\n if (ppuVar21 != (undefined **)0x0) {\n self_01 = ppuVar21;\n }\n IVar19 = objc_stub::objectForKeyedSubscript_(self_05,&cf_targetIndex);\n if (IVar19 != 0) {\n IVar19 = objc_stub::objectForKeyedSubscript_(self_05,&cf_targetIndex);\n IVar19 = objc_stub::integerValue(IVar19);\n dVar29 = self_03;\n FUN_1000110d4(self_03,IVar19);\n self_01 = (undefined **)\n NSNumber::numberWithInteger_((ID)&_OBJC_CLASS___NSNumber,dVar29);\n }\n dVar29 = self_03;\n FUN_10001120c(self_03,IVar18);\n bVar13 = SUB84(dVar29,0);\n uVar23 = 1;\n if (self_03 == 0.0) goto switchD_1000188a0_caseD_5;\n switch(iVar26) {\n case 2:\n objc_stub::skinBrightness((ID)self_03);\n dVar29 = extraout_d0_16;\n break;\n case 3:\n objc_stub::radius((ID)self_03);\n dVar33 = -8.0;\n dVar29 = extraout_d0_20;\n goto LAB_100018b1c;\n case 4:\n objc_stub::sharpness((ID)self_03);\n dVar29 = extraout_d0_18;\n break;\n default:\n goto switchD_1000188a0_caseD_5;\n case 8:\n objc_stub::maskSoftness((ID)self_03);\n dVar33 = -0.6;\n dVar29 = extraout_d0_11;\n goto LAB_100018b1c;\n case 9:\n objc_stub::maskEdgeProtect((ID)self_03);\n dVar33 = -0.4;\n dVar29 = extraout_d0_13;\n goto LAB_100018b1c;\n case 10:\n IVar18 = objc_stub::showChannelInfo((ID)self_03);\n uVar23 = (uint)IVar18;\n goto LAB_100018ac4;\n case 0xc:\n objc_stub::midtoneDetail((ID)self_03);\n dVar29 = extraout_d0_10;\n break;\n case 0xd:\n dVar29 = (double)objc_stub::debugChannelMode((ID)self_03);\nLAB_100018a18:\n uVar23 = (uint)(dVar29 == 0.0);\n goto switchD_1000188a0_caseD_5;\n case 0xe:\n objc_stub::skinHue((ID)self_03);\n dVar29 = extraout_d0_17;\n break;\n case 0xf:\n objc_stub::skinSaturation((ID)self_03);\n dVar29 = extraout_d0_15;\n break;\n case 0x10:\n objc_stub::skinEvenTone((ID)self_03);\n dVar29 = extraout_d0_21;\n break;\n case 0x11:\n objc_stub::highPassDetail((ID)self_03);\n dVar29 = extraout_d0_08;\n break;\n case 0x12:\n objc_stub::faceThin((ID)self_03);\n dVar29 = extraout_d0_07;\n break;\n case 0x13:\n case 0x23:\n IVar18 = NSUserDefaults::standardUserDefaults((ID)&_OBJC_CLASS___NSUserDefaults);\n IVar19 = NSUserDefaults::objectForKey_(IVar18,&cf_MSE18GlobalFaceBoxPreviewEnabled);\n uVar23 = 0;\n if (IVar19 != 0) {\n IVar18 = NSUserDefaults::boolForKey_(IVar18,&cf_MSE18GlobalFaceBoxPreviewEnabled);\n uVar23 = (uint)IVar18;\n }\n uVar23 = iVar26 != 0x1e ^ uVar23;\n goto switchD_1000188a0_caseD_5;\n case 0x14:\n IVar18 = objc_stub::faceSingleSelection((ID)self_03);\n uVar23 = (uint)IVar18;\n goto LAB_100018ac4;\n case 0x15:\n objc_stub::faceSelectionX((ID)self_03);\n dVar33 = 2.220446049250313e-16;\n if (2.220446049250313e-16 < ABS(extraout_d0_23 + -0.5)) goto LAB_100018b08;\n objc_stub::faceSelectionY((ID)self_03);\n dVar29 = extraout_d0_44 + -0.5;\n break;\n case 0x16:\n objc_stub::faceShort((ID)self_03);\n dVar29 = extraout_d0_22;\n break;\n case 0x17:\n objc_stub::faceNarrow((ID)self_03);\n dVar29 = extraout_d0_03;\n break;\n case 0x18:\n objc_stub::faceChin((ID)self_03);\n dVar29 = extraout_d0_14;\n break;\n case 0x19:\n objc_stub::faceV((ID)self_03);\n dVar29 = extraout_d0_41;\n break;\n case 0x1a:\n objc_stub::faceJaw((ID)self_03);\n dVar29 = extraout_d0_04;\n break;\n case 0x1b:\n objc_stub::faceCheekbone((ID)self_03);\n dVar29 = extraout_d0_12;\n break;\n case 0x1c:\n objc_stub::faceSmallHead((ID)self_03);\n dVar29 = extraout_d0_06;\n break;\n case 0x1d:\n objc_stub::faceSmallHeadRange((ID)self_03);\n dVar29 = extraout_d0_19;\n break;\n case 0x1e:\n objc_stub::featureProtectionRelease((ID)self_03);\n dVar29 = extraout_d0_05;\n break;\n case 0x1f:\n objc_stub::teethWhitening((ID)self_03);\n dVar29 = extraout_d0_43;\n break;\n case 0x20:\n objc_stub::eyeBrightening((ID)self_03);\n dVar29 = extraout_d0_42;\n break;\n case 0x21:\n objc_stub::faceBigEye((ID)self_03);\n dVar29 = extraout_d0_09;\n break;\n case 0x22:\n case 0x24:\n case 0x25:\n case 0x26:\n FUN_10000c4d0(self_03);\n IVar18 = objc_stub::faceTrackEnabled((ID)self_03);\n if ((((IVar18 & 1) == 0) &&\n (IVar18 = objc_stub::faceTrackStatus((ID)self_03), IVar18 == 0)) &&\n (IVar18 = objc_stub::faceTrackFrameCount((ID)self_03), IVar18 == 0)) {\n objc_stub::faceTrackProgress((ID)self_03);\n dVar33 = 2.220446049250313e-16;\n if (ABS(extraout_d0_02) <= 2.220446049250313e-16) {\n IVar18 = objc_stub::faceTrackData((ID)self_03);\n IVar18 = objc_stub::length(IVar18);\n if ((IVar18 == 0) &&\n (IVar18 = objc_stub::faceTrackTargetCount((ID)self_03), IVar18 == 1)) {\n dVar29 = self_03;\n FUN_1000181b4(self_03,0);\n IVar18 = objc_stub::length((ID)dVar29);\n if ((IVar18 == 0) &&\n ((dVar29 = self_03, FUN_1000110d4(self_03,0), dVar29 == 0.0 &&\n (IVar18 = objc_stub::faceTrackTargetCount((ID)self_03), IVar18 == 1)))) {\n dVar29 = self_03;\n FUN_1000181b4(self_03,0);\n IVar18 = objc_stub::length((ID)dVar29);\n if (IVar18 == 0) {\n dVar29 = self_03;\n FUN_1000110d4(self_03,0);\n goto LAB_100018a18;\n }\n }\n }\n }\n }\nLAB_100018b08:\n uVar23 = 0;\n goto switchD_1000188a0_caseD_5;\n case 0x27:\n IVar18 = objc_stub::fastMultiFaceMode((ID)self_03);\n uVar23 = (uint)IVar18;\nLAB_100018ac4:\n uVar23 = uVar23 ^ 1;\n goto switchD_1000188a0_caseD_5;\n case 0x28:\n objc_stub::faceJumpGuardRange((ID)self_03);\n dVar33 = -1.5;\n dVar29 = extraout_d0_24;\nLAB_100018b1c:\n dVar29 = dVar29 + dVar33;\n }\n dVar33 = 2.220446049250313e-16;\n uVar23 = (uint)(ABS(dVar29) <= 2.220446049250313e-16);\nswitchD_1000188a0_caseD_5:\n IVar18 = objc_stub::objectForKeyedSubscript_(self_05,&cf_kind);\n IVar18 = objc_stub::isEqualToString_(IVar18,&cf_toggle);\n if ((int)IVar18 == 0) {\n IVar18 = objc_stub::objectForKeyedSubscript_(self_05,&cf_kind);\n IVar18 = objc_stub::isEqualToString_(IVar18,&cf_button);\n if ((int)IVar18 == 0) {\n IVar18 = objc_stub::objectForKeyedSubscript_(self_05,&cf_kind);\n IVar18 = objc_stub::isEqualToString_(IVar18,&cf_mode);\n if ((int)IVar18 == 0) {\n objc_stub::doubleValue((ID)self_01);\n if ((iVar26 == 0x1e) || (dVar29 = extraout_d0_36, iVar26 == 0x11)) {\n dVar33 = 1.0;\n dVar30 = 1.0;\n if (extraout_d0_36 <= 1.0) {\n dVar30 = extraout_d0_36;\n }\n dVar29 = 1.0;\n if (0.0 <= extraout_d0_36) {\n dVar29 = 1.0 - dVar30;\n }\n }\n IVar18 = objc_stub::objectForKeyedSubscript_(self_04,&cf_eyeRect);\n objc_stub::rectValue(IVar18);\n dVar30 = dVar33;\n dVar39 = dVar32;\n dVar43 = dVar31;\n IVar18 = objc_stub::objectForKeyedSubscript_(self_04,&cf_trackRect);\n objc_stub::rectValue(IVar18);\n dVar34 = dVar30;\n dVar40 = dVar39;\n dVar44 = dVar43;\n IVar18 = objc_stub::objectForKeyedSubscript_(self_04,&cf_valueRect);\n objc_stub::rectValue(IVar18);\n dVar35 = dVar34;\n dVar41 = dVar40;\n dVar45 = dVar44;\n IVar18 = objc_stub::objectForKeyedSubscript_(self_04,&cf_resetRect);\n objc_stub::rectValue(IVar18);\n CVar4.field0_0x0.field1_0x8 = dVar30;\n CVar4.field0_0x0.field0_0x0 = (double)extraout_d0_38;\n CVar4.field1_0x10.field0_0x0 = dVar39;\n CVar4.field1_0x10.field1_0x8 = dVar43;\n CVar8.field0_0x0.field1_0x8 = dVar34;\n CVar8.field0_0x0.field0_0x0 = (double)extraout_d0_39;\n CVar8.field1_0x10.field0_0x0 = dVar40;\n CVar8.field1_0x10.field1_0x8 = dVar44;\n CVar11.field0_0x0.field1_0x8 = dVar35;\n CVar11.field0_0x0.field0_0x0 = (double)extraout_d0_40;\n CVar11.field1_0x10.field0_0x0 = dVar41;\n CVar11.field1_0x10.field1_0x8 = dVar45;\n CVar51.field0_0x0.field1_0x8 = dVar28;\n CVar51.field0_0x0.field0_0x0 = extraout_d0_01;\n CVar51.field1_0x10.field1_0x8 = dVar42;\n CVar51.field1_0x10.field0_0x0 = dVar37;\n CVar55.field0_0x0.field1_0x8 = dVar33;\n CVar55.field0_0x0.field0_0x0 = extraout_d0_37;\n CVar55.field1_0x10.field1_0x8 = dVar31;\n CVar55.field1_0x10.field0_0x0 = dVar32;\n dVar33 = dVar28;\n dVar32 = dVar37;\n dVar31 = dVar42;\n drawSliderControl_rowRect_eyeRect_trackRect_valueRect_resetRect_value_enabled_usesDefaultValue_accentColor_\n (param_1,self_05,CVar51,CVar55,CVar4,CVar8,CVar11,dVar29,bVar13,uVar23\n ,local_260);\n }\n else {\n IVar18 = objc_stub::objectForKeyedSubscript_(self_04,&cf_eyeRect);\n objc_stub::rectValue(IVar18);\n dVar29 = dVar33;\n dVar34 = dVar32;\n dVar39 = dVar31;\n IVar18 = objc_stub::objectForKeyedSubscript_(self_04,&cf_valueRect);\n objc_stub::rectValue(IVar18);\n dVar30 = dVar29;\n dVar35 = dVar34;\n dVar40 = dVar39;\n IVar18 = objc_stub::objectForKeyedSubscript_(self_04,&cf_resetRect);\n objc_stub::rectValue(IVar18);\n IVar18 = objc_stub::integerValue((ID)self_01);\n CVar3.field0_0x0.field1_0x8 = dVar29;\n CVar3.field0_0x0.field0_0x0 = (double)extraout_d0_34;\n CVar3.field1_0x10.field0_0x0 = dVar34;\n CVar3.field1_0x10.field1_0x8 = dVar39;\n CVar7.field0_0x0.field1_0x8 = dVar30;\n CVar7.field0_0x0.field0_0x0 = (double)extraout_d0_35;\n CVar7.field1_0x10.field0_0x0 = dVar35;\n CVar7.field1_0x10.field1_0x8 = dVar40;\n CVar50.field0_0x0.field1_0x8 = dVar28;\n CVar50.field0_0x0.field0_0x0 = extraout_d0_01;\n CVar50.field1_0x10.field1_0x8 = dVar42;\n CVar50.field1_0x10.field0_0x0 = dVar37;\n CVar54.field0_0x0.field1_0x8 = dVar33;\n CVar54.field0_0x0.field0_0x0 = extraout_d0_33;\n CVar54.field1_0x10.field1_0x8 = dVar31;\n CVar54.field1_0x10.field0_0x0 = dVar32;\n dVar33 = dVar28;\n dVar32 = dVar37;\n dVar31 = dVar42;\n drawModeControl_rowRect_eyeRect_valueRect_resetRect_value_enabled_usesDefaultValue_accentColor_\n (param_1,self_05,CVar50,CVar54,CVar3,CVar7,IVar18,bVar13,uVar23,\n local_260);\n }\n }\n else {\n IVar18 = objc_stub::objectForKeyedSubscript_(self_04,&cf_eyeRect);\n objc_stub::rectValue(IVar18);\n dVar29 = dVar33;\n dVar35 = dVar32;\n dVar41 = dVar31;\n IVar18 = objc_stub::objectForKeyedSubscript_(self_04,&cf_valueRect);\n objc_stub::rectValue(IVar18);\n dVar30 = dVar29;\n dVar39 = dVar35;\n dVar43 = dVar41;\n IVar18 = objc_stub::objectForKeyedSubscript_(self_04,&cf_resetRect);\n objc_stub::rectValue(IVar18);\n dVar34 = dVar30;\n dVar40 = dVar39;\n dVar44 = dVar43;\n IVar18 = objc_stub::objectForKeyedSubscript_(self_04,&cf_deleteRect);\n objc_stub::rectValue(IVar18);\n CVar2.field0_0x0.field1_0x8 = dVar29;\n CVar2.field0_0x0.field0_0x0 = (double)extraout_d0_30;\n CVar2.field1_0x10.field0_0x0 = dVar35;\n CVar2.field1_0x10.field1_0x8 = dVar41;\n CVar6.field0_0x0.field1_0x8 = dVar30;\n CVar6.field0_0x0.field0_0x0 = (double)extraout_d0_31;\n CVar6.field1_0x10.field0_0x0 = dVar39;\n CVar6.field1_0x10.field1_0x8 = dVar43;\n CVar10.field0_0x0.field1_0x8 = dVar34;\n CVar10.field0_0x0.field0_0x0 = (double)extraout_d0_32;\n CVar10.field1_0x10.field0_0x0 = dVar40;\n CVar10.field1_0x10.field1_0x8 = dVar44;\n CVar49.field0_0x0.field1_0x8 = dVar28;\n CVar49.field0_0x0.field0_0x0 = extraout_d0_01;\n CVar49.field1_0x10.field1_0x8 = dVar42;\n CVar49.field1_0x10.field0_0x0 = dVar37;\n CVar53.field0_0x0.field1_0x8 = dVar33;\n CVar53.field0_0x0.field0_0x0 = extraout_d0_29;\n CVar53.field1_0x10.field1_0x8 = dVar31;\n CVar53.field1_0x10.field0_0x0 = dVar32;\n dVar33 = dVar28;\n dVar32 = dVar37;\n dVar31 = dVar42;\n drawButtonControl_rowRect_eyeRect_buttonRect_resetRect_deleteRect_enabled_usesDefaultValue_accentColor_controlPanelValue_\n (param_1,self_05,CVar49,CVar53,CVar2,CVar6,CVar10,bVar13,uVar23,\n local_260,(ID)self_03);\n }\n }\n else {\n IVar18 = objc_stub::objectForKeyedSubscript_(self_04,&cf_eyeRect);\n objc_stub::rectValue(IVar18);\n dVar29 = dVar33;\n dVar35 = dVar32;\n dVar41 = dVar31;\n IVar18 = objc_stub::objectForKeyedSubscript_(self_04,&cf_toggleRect);\n objc_stub::rectValue(IVar18);\n dVar30 = dVar29;\n dVar39 = dVar35;\n dVar43 = dVar41;\n IVar18 = objc_stub::objectForKeyedSubscript_(self_04,&cf_valueRect);\n objc_stub::rectValue(IVar18);\n dVar34 = dVar30;\n dVar40 = dVar39;\n dVar44 = dVar43;\n IVar18 = objc_stub::objectForKeyedSubscript_(self_04,&cf_resetRect);\n objc_stub::rectValue(IVar18);\n IVar18 = objc_stub::boolValue((ID)self_01);\n CVar1.field0_0x0.field1_0x8 = dVar29;\n CVar1.field0_0x0.field0_0x0 = (double)extraout_d0_26;\n CVar1.field1_0x10.field0_0x0 = dVar35;\n CVar1.field1_0x10.field1_0x8 = dVar41;\n CVar5.field0_0x0.field1_0x8 = dVar30;\n CVar5.field0_0x0.field0_0x0 = (double)extraout_d0_27;\n CVar5.field1_0x10.field0_0x0 = dVar39;\n CVar5.field1_0x10.field1_0x8 = dVar43;\n CVar9.field0_0x0.field1_0x8 = dVar34;\n CVar9.field0_0x0.field0_0x0 = (double)extraout_d0_28;\n CVar9.field1_0x10.field0_0x0 = dVar40;\n CVar9.field1_0x10.field1_0x8 = dVar44;\n CVar48.field0_0x0.field1_0x8 = dVar28;\n CVar48.field0_0x0.field0_0x0 = extraout_d0_01;\n CVar48.field1_0x10.field1_0x8 = dVar42;\n CVar48.field1_0x10.field0_0x0 = dVar37;\n CVar52.field0_0x0.field1_0x8 = dVar33;\n CVar52.field0_0x0.field0_0x0 = extraout_d0_25;\n CVar52.field1_0x10.field1_0x8 = dVar31;\n CVar52.field1_0x10.field0_0x0 = dVar32;\n dVar33 = dVar28;\n dVar32 = dVar37;\n dVar31 = dVar42;\n drawToggleControl_rowRect_eyeRect_toggleRect_valueRect_resetRect_value_enabled_usesDefaultValue_accentColor_\n (param_1,self_05,CVar48,CVar52,CVar1,CVar5,CVar9,(bool)IVar18,bVar13,\n uVar23,local_260);\n }\n IVar18 = objc_stub::objectForKeyedSubscript_(self_05,&cf_dividerAfter);\n IVar18 = objc_stub::boolValue(IVar18);\n if ((int)IVar18 != 0) {\n dVar33 = dVar28 + dVar42 + 5.0;\n IVar18 = NSBezierPath::bezierPath((ID)&_OBJC_CLASS___NSBezierPath);\n NSBezierPath::moveToPoint_(IVar18,extraout_d0_01 + 4.0,dVar33);\n NSBezierPath::lineToPoint_(IVar18,extraout_d0_01 + dVar37 + -4.0,dVar33);\n dVar33 = local_300;\n IVar19 = NSColor::colorWithCalibratedWhite_alpha_\n ((ID)&_OBJC_CLASS___NSColor,0x3ff0000000000000);\n NSColor::setStroke(IVar19);\n NSBezierPath::setLineWidth_(IVar18,0x3ff0000000000000);\n NSBezierPath::stroke(IVar18);\n }\n }\n }\n }\nLAB_100018fd0:\n IVar17 = IVar17 + 1;\n } while (IVar17 != IVar15);\n IVar15 = objc_stub::countByEnumeratingWithState_objects_count_\n ((ID)self_02,&local_1f0,auStack_130,0x10);\n } while (IVar15 != 0);\n }\n if (*(long *)PTR____stack_chk_guard_1000a80e8 == local_b0) {\n return;\n }\n /* WARNING: Subroutine does not return */\n ___stack_chk_fail();\ncode_r0x000100018768:\n IVar25 = IVar25 + 1;\n if (IVar19 == IVar25) goto code_r0x000100018774;\n goto LAB_100018730;\ncode_r0x000100018774:\n IVar19 = objc_stub::countByEnumeratingWithState_objects_count_(IVar14,&local_230,auStack_1b0,0x10)\n ;\n dVar33 = dVar28;\n dVar32 = dVar37;\n dVar31 = dVar42;\n if (IVar19 == 0) goto LAB_100018fd0;\n goto LAB_10001872c;\n}\n\n", "operation": "procedure_pseudo_code", "parameters": { "procedure": "0x100018210" }, "predicate_type": "rea.analysis", "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" }, "raw_result": { "limitations": [ "Ghidra Listing reports a terminal call at 0x100019078 to 0x10007aca0 ___stack_chk_fail (external=false, thunk=true, hasNoReturn=true); fallthrough is excluded by Ghidra's flow model. This records Ghidra's FunctionManager flag, not an independent verification that the callee cannot return." ], "value": "\n/* WARNING: Function: _objc_autorelease replaced with injection: _objc_retain_fixup */\n/* Function Stack Size: 0x50 bytes */\n\nvoid MSSSkinControlPanelView::drawSection_inRect_controls_values_controlPanelValue_\n (ID param_1,SEL param_2,ID param_3,CGRect param_4,ID param_5,ID param_6,ID param_7)\n\n{\n cfstringStruct *self;\n CGRect CVar1;\n CGRect CVar2;\n CGRect CVar3;\n CGRect CVar4;\n CGRect CVar5;\n CGRect CVar6;\n CGRect CVar7;\n CGRect CVar8;\n CGRect CVar9;\n CGRect CVar10;\n CGRect CVar11;\n int iVar12;\n bool bVar13;\n ID IVar14;\n ID IVar15;\n cfstringStruct *pcVar16;\n ID IVar17;\n ID IVar18;\n undefined *self_00;\n ID IVar19;\n ID IVar20;\n undefined **ppuVar21;\n undefined **self_01;\n double self_02;\n double self_03;\n long lVar22;\n uint uVar23;\n long lVar24;\n ID self_04;\n ID self_05;\n ID IVar25;\n int iVar26;\n double in_d0;\n undefined8 uVar27;\n double extraout_d0;\n double dVar28;\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 extraout_d0_07;\n double extraout_d0_08;\n double extraout_d0_09;\n double 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 double extraout_d0_17;\n double extraout_d0_18;\n double extraout_d0_19;\n double extraout_d0_20;\n double extraout_d0_21;\n double extraout_d0_22;\n double extraout_d0_23;\n double extraout_d0_24;\n double dVar29;\n double extraout_d0_25;\n undefined8 extraout_d0_26;\n undefined8 extraout_d0_27;\n undefined8 extraout_d0_28;\n double extraout_d0_29;\n undefined8 extraout_d0_30;\n undefined8 extraout_d0_31;\n undefined8 extraout_d0_32;\n double extraout_d0_33;\n undefined8 extraout_d0_34;\n undefined8 extraout_d0_35;\n double extraout_d0_36;\n double dVar30;\n double extraout_d0_37;\n undefined8 extraout_d0_38;\n undefined8 extraout_d0_39;\n undefined8 extraout_d0_40;\n double extraout_d0_41;\n double extraout_d0_42;\n double extraout_d0_43;\n double extraout_d0_44;\n double in_d1;\n double dVar31;\n double dVar32;\n double dVar33;\n double dVar34;\n double dVar35;\n double in_d2;\n undefined8 uVar36;\n double dVar37;\n undefined8 uVar38;\n double dVar39;\n double dVar40;\n double dVar41;\n double in_d3;\n double dVar42;\n double dVar43;\n double dVar44;\n double dVar45;\n CGRect CVar46;\n CGRect CVar47;\n CGRect CVar48;\n CGRect CVar49;\n CGRect CVar50;\n CGRect CVar51;\n CGRect CVar52;\n CGRect CVar53;\n CGRect CVar54;\n CGRect CVar55;\n double local_300;\n ID local_260;\n undefined8 local_230;\n long lStack_228;\n long *local_220;\n undefined8 uStack_218;\n undefined8 local_210;\n undefined8 uStack_208;\n undefined8 uStack_200;\n undefined8 uStack_1f8;\n undefined8 local_1f0;\n long lStack_1e8;\n long *local_1e0;\n undefined8 uStack_1d8;\n undefined8 local_1d0;\n undefined8 uStack_1c8;\n undefined8 uStack_1c0;\n undefined8 uStack_1b8;\n undefined1 auStack_1b0 [128];\n undefined1 auStack_130 [128];\n long local_b0;\n \n self_03 = param_4.field1_0x10.field0_0x0;\n self_02 = param_4.field0_0x0.field0_0x0;\n local_b0 = *(long *)PTR____stack_chk_guard_1000a80e8;\n IVar14 = objc_stub::objectForKeyedSubscript_(param_3,&cf_headerID);\n IVar15 = objc_stub::unsignedIntValue(IVar14);\n IVar14 = IVar15;\n FUN_100009b28();\n pcVar16 = (cfstringStruct *)objc_stub::objectForKeyedSubscript_(IVar14,&cf_badge);\n self = &cf___;\n if (pcVar16 != (cfstringStruct *)0x0) {\n self = pcVar16;\n }\n local_260 = objc_stub::objectForKeyedSubscript_(IVar14,&cf_accent);\n if (local_260 == 0) {\n local_260 = NSColor::colorWithCalibratedWhite_alpha_\n ((ID)&_OBJC_CLASS___NSColor,0x3feb333333333333,0x3ff0000000000000);\n }\n IVar17 = objc_stub::objectForKeyedSubscript_(IVar14,&cf_surfaceTop);\n if (IVar17 == 0) {\n IVar17 = NSColor::colorWithCalibratedWhite_alpha_\n ((ID)&_OBJC_CLASS___NSColor,0x3fbeb851eb851eb8,0x3ff0000000000000);\n }\n IVar14 = objc_stub::objectForKeyedSubscript_(IVar14,&cf_surfaceBottom);\n if (IVar14 == 0) {\n IVar14 = NSColor::colorWithCalibratedWhite_alpha_\n ((ID)&_OBJC_CLASS___NSColor,0x3fb47ae147ae147b,0x3ff0000000000000);\n }\n dVar33 = self_03;\n FUN_100011b40(self_03,IVar15);\n IVar18 = NSBezierPath::bezierPathWithRoundedRect_xRadius_yRadius_((ID)&_OBJC_CLASS___NSBezierPath)\n ;\n self_00 = &_OBJC_CLASS___NSGradient;\n _objc_alloc();\n IVar17 = NSColor::colorWithAlphaComponent_(IVar17,0x3fec28f5c28f5c29);\n IVar14 = NSColor::colorWithAlphaComponent_(IVar14,0x3fec28f5c28f5c29);\n IVar14 = objc_stub::initWithStartingColor_endingColor_((ID)self_00,IVar17,IVar14);\n objc_stub::drawInBezierPath_angle_(IVar14,0x4056800000000000,IVar18);\n IVar14 = NSColor::colorWithAlphaComponent_(local_260,0x3fc1eb851eb851ec);\n NSColor::setStroke(IVar14);\n NSBezierPath::setLineWidth_(IVar18,0x3feccccccccccccd);\n NSBezierPath::stroke(IVar18);\n if (SUB84(dVar33,0) == 0) {\n dVar31 = 0.54;\n uVar36 = 0x3fe28f5c28f5c28f;\n uVar27 = 0x3ff0000000000000;\n }\n else {\n uVar27 = 0x3fe1eb851eb851ec;\n dVar31 = 1.0;\n uVar36 = 0x3fe8000000000000;\n }\n IVar14 = NSColor::colorWithCalibratedRed_green_blue_alpha_\n ((ID)&_OBJC_CLASS___NSColor,uVar27,dVar31,uVar36,0x3ff0000000000000);\n FUN_10001907c();\n objc_stub::sizeWithAttributes_((ID)self,IVar14);\n dVar28 = in_d0;\n dVar32 = in_d1;\n dVar37 = in_d2;\n dVar42 = in_d3;\n FUN_100013c5c(self);\n IVar17 = NSBezierPath::bezierPathWithRoundedRect_xRadius_yRadius_((ID)&_OBJC_CLASS___NSBezierPath)\n ;\n if (SUB84(dVar33,0) == 0) {\n uVar36 = 0x3fd47ae147ae147b;\n IVar18 = NSColor::colorWithCalibratedRed_green_blue_alpha_\n ((ID)&_OBJC_CLASS___NSColor,0x3feccccccccccccd,0x3fc70a3d70a3d70a,\n 0x3fcc28f5c28f5c29,0x3fd47ae147ae147b);\n uVar38 = 0x3fd70a3d70a3d70a;\n uVar27 = 0x3ff0000000000000;\n }\n else {\n IVar18 = NSColor::colorWithCalibratedRed_green_blue_alpha_\n ((ID)&_OBJC_CLASS___NSColor,0x3fc1eb851eb851ec,0x3fe51eb851eb851f,\n 0x3fd851eb851eb852,0x3fd47ae147ae147b);\n uVar27 = 0x3fd3333333333333;\n uVar36 = 0x3fee666666666666;\n uVar38 = 0x3fe28f5c28f5c28f;\n }\n IVar19 = NSColor::colorWithCalibratedRed_green_blue_alpha_\n ((ID)&_OBJC_CLASS___NSColor,uVar27,uVar36,uVar38,0x3fe3d70a3d70a3d7);\n NSColor::setFill(IVar18);\n NSBezierPath::fill(IVar17);\n NSColor::setStroke(IVar19);\n NSBezierPath::setLineWidth_(IVar17,0x3fe999999999999a);\n NSBezierPath::stroke(IVar17);\n IVar17 = NSBezierPath::bezierPath((ID)&_OBJC_CLASS___NSBezierPath);\n NSBezierPath::moveToPoint_(IVar17,in_d0 + 14.0,in_d1 + 34.0);\n NSBezierPath::lineToPoint_(IVar17,in_d0 + in_d2 + -14.0,in_d1 + 34.0);\n IVar18 = NSColor::colorWithCalibratedWhite_alpha_\n ((ID)&_OBJC_CLASS___NSColor,0x3ff0000000000000,0x3fb47ae147ae147b);\n NSColor::setStroke(IVar18);\n NSBezierPath::setLineWidth_(IVar17,0x3ff0000000000000);\n NSBezierPath::stroke(IVar17);\n dVar33 = dVar32 + (double)(long)((dVar42 - dVar31) * 0.5) + -1.0;\n dVar32 = extraout_d0;\n objc_stub::drawInRect_withAttributes_\n ((ID)self,dVar28 + (double)(long)((dVar37 - extraout_d0) * 0.5),IVar14);\n if ((int)IVar15 == 0xc9) {\n IVar14 = objc_stub::skinTonePreset((ID)self_03);\n CVar46.field0_0x0.field1_0x8 = in_d1;\n CVar46.field0_0x0.field0_0x0 = in_d0;\n CVar46.field1_0x10.field1_0x8 = in_d3;\n CVar46.field1_0x10.field0_0x0 = in_d2;\n dVar33 = in_d1;\n dVar32 = in_d2;\n dVar31 = in_d3;\n drawSkinTonePresetStripInSectionRect_accentColor_selectedPreset_\n (param_1,CVar46,local_260,IVar14);\n }\n objc_stub::bounds(param_1);\n CVar47.field0_0x0.field1_0x8 = dVar33;\n CVar47.field0_0x0.field0_0x0 = extraout_d0_00;\n CVar47.field1_0x10.field1_0x8 = dVar31;\n CVar47.field1_0x10.field0_0x0 = dVar32;\n IVar14 = interactionItemsForBounds_(param_1,CVar47);\n lStack_1e8 = 0;\n local_1f0 = 0;\n uStack_1d8 = 0;\n local_1e0 = (long *)0x0;\n uStack_1c8 = 0;\n local_1d0 = 0;\n uStack_1b8 = 0;\n uStack_1c0 = 0;\n IVar15 = objc_stub::countByEnumeratingWithState_objects_count_\n ((ID)self_02,&local_1f0,auStack_130,0x10);\n if (IVar15 != 0) {\n lVar22 = *local_1e0;\n local_300 = 0.12;\n do {\n IVar17 = 0;\n do {\n dVar28 = dVar33;\n dVar37 = dVar32;\n dVar42 = dVar31;\n if (*local_1e0 != lVar22) {\n _objc_enumerationMutation(self_02);\n dVar28 = dVar33;\n dVar37 = dVar32;\n dVar42 = dVar31;\n }\n self_05 = *(ID *)(lStack_1e8 + IVar17 * 8);\n IVar18 = objc_stub::objectForKeyedSubscript_(self_05,&cf_id);\n IVar18 = objc_stub::unsignedIntValue(IVar18);\n lStack_228 = 0;\n local_230 = 0;\n uStack_218 = 0;\n local_220 = (long *)0x0;\n uStack_208 = 0;\n local_210 = 0;\n uStack_1f8 = 0;\n uStack_200 = 0;\n IVar19 = objc_stub::countByEnumeratingWithState_objects_count_\n (IVar14,&local_230,auStack_1b0,0x10);\n dVar33 = dVar28;\n dVar32 = dVar37;\n dVar31 = dVar42;\n if (IVar19 != 0) {\n lVar24 = *local_220;\nLAB_10001872c:\n IVar25 = 0;\nLAB_100018730:\n if (*local_220 != lVar24) {\n _objc_enumerationMutation(IVar14);\n }\n self_04 = *(ID *)(lStack_228 + IVar25 * 8);\n IVar20 = objc_stub::objectForKeyedSubscript_(self_04,&cf_parameterID);\n IVar20 = objc_stub::unsignedIntValue(IVar20);\n iVar26 = (int)IVar18;\n if ((int)IVar20 != iVar26) goto code_r0x000100018768;\n dVar33 = dVar28;\n dVar32 = dVar37;\n dVar31 = dVar42;\n if (self_04 != 0) {\n IVar19 = objc_stub::objectForKeyedSubscript_(self_04,&cf_rowRect);\n IVar19 = objc_stub::rectValue(IVar19);\n iVar12 = (int)IVar19;\n dVar33 = in_d1;\n dVar32 = in_d2;\n dVar31 = in_d3;\n _NSIntersectsRect(in_d0);\n if (iVar12 != 0) {\n IVar19 = NSNumber::numberWithUnsignedInt_((ID)&_OBJC_CLASS___NSNumber,IVar18);\n ppuVar21 = (undefined **)\n objc_stub::objectForKeyedSubscript_\n ((ID)param_4.field0_0x0.field1_0x8,IVar19);\n self_01 = &PTR__OBJC_CLASS___NSConstantDoubleNumber_1000b04c0;\n if (ppuVar21 != (undefined **)0x0) {\n self_01 = ppuVar21;\n }\n IVar19 = objc_stub::objectForKeyedSubscript_(self_05,&cf_targetIndex);\n if (IVar19 != 0) {\n IVar19 = objc_stub::objectForKeyedSubscript_(self_05,&cf_targetIndex);\n IVar19 = objc_stub::integerValue(IVar19);\n dVar29 = self_03;\n FUN_1000110d4(self_03,IVar19);\n self_01 = (undefined **)\n NSNumber::numberWithInteger_((ID)&_OBJC_CLASS___NSNumber,dVar29);\n }\n dVar29 = self_03;\n FUN_10001120c(self_03,IVar18);\n bVar13 = SUB84(dVar29,0);\n uVar23 = 1;\n if (self_03 == 0.0) goto switchD_1000188a0_caseD_5;\n switch(iVar26) {\n case 2:\n objc_stub::skinBrightness((ID)self_03);\n dVar29 = extraout_d0_16;\n break;\n case 3:\n objc_stub::radius((ID)self_03);\n dVar33 = -8.0;\n dVar29 = extraout_d0_20;\n goto LAB_100018b1c;\n case 4:\n objc_stub::sharpness((ID)self_03);\n dVar29 = extraout_d0_18;\n break;\n default:\n goto switchD_1000188a0_caseD_5;\n case 8:\n objc_stub::maskSoftness((ID)self_03);\n dVar33 = -0.6;\n dVar29 = extraout_d0_11;\n goto LAB_100018b1c;\n case 9:\n objc_stub::maskEdgeProtect((ID)self_03);\n dVar33 = -0.4;\n dVar29 = extraout_d0_13;\n goto LAB_100018b1c;\n case 10:\n IVar18 = objc_stub::showChannelInfo((ID)self_03);\n uVar23 = (uint)IVar18;\n goto LAB_100018ac4;\n case 0xc:\n objc_stub::midtoneDetail((ID)self_03);\n dVar29 = extraout_d0_10;\n break;\n case 0xd:\n dVar29 = (double)objc_stub::debugChannelMode((ID)self_03);\nLAB_100018a18:\n uVar23 = (uint)(dVar29 == 0.0);\n goto switchD_1000188a0_caseD_5;\n case 0xe:\n objc_stub::skinHue((ID)self_03);\n dVar29 = extraout_d0_17;\n break;\n case 0xf:\n objc_stub::skinSaturation((ID)self_03);\n dVar29 = extraout_d0_15;\n break;\n case 0x10:\n objc_stub::skinEvenTone((ID)self_03);\n dVar29 = extraout_d0_21;\n break;\n case 0x11:\n objc_stub::highPassDetail((ID)self_03);\n dVar29 = extraout_d0_08;\n break;\n case 0x12:\n objc_stub::faceThin((ID)self_03);\n dVar29 = extraout_d0_07;\n break;\n case 0x13:\n case 0x23:\n IVar18 = NSUserDefaults::standardUserDefaults((ID)&_OBJC_CLASS___NSUserDefaults);\n IVar19 = NSUserDefaults::objectForKey_(IVar18,&cf_MSE18GlobalFaceBoxPreviewEnabled);\n uVar23 = 0;\n if (IVar19 != 0) {\n IVar18 = NSUserDefaults::boolForKey_(IVar18,&cf_MSE18GlobalFaceBoxPreviewEnabled);\n uVar23 = (uint)IVar18;\n }\n uVar23 = iVar26 != 0x1e ^ uVar23;\n goto switchD_1000188a0_caseD_5;\n case 0x14:\n IVar18 = objc_stub::faceSingleSelection((ID)self_03);\n uVar23 = (uint)IVar18;\n goto LAB_100018ac4;\n case 0x15:\n objc_stub::faceSelectionX((ID)self_03);\n dVar33 = 2.220446049250313e-16;\n if (2.220446049250313e-16 < ABS(extraout_d0_23 + -0.5)) goto LAB_100018b08;\n objc_stub::faceSelectionY((ID)self_03);\n dVar29 = extraout_d0_44 + -0.5;\n break;\n case 0x16:\n objc_stub::faceShort((ID)self_03);\n dVar29 = extraout_d0_22;\n break;\n case 0x17:\n objc_stub::faceNarrow((ID)self_03);\n dVar29 = extraout_d0_03;\n break;\n case 0x18:\n objc_stub::faceChin((ID)self_03);\n dVar29 = extraout_d0_14;\n break;\n case 0x19:\n objc_stub::faceV((ID)self_03);\n dVar29 = extraout_d0_41;\n break;\n case 0x1a:\n objc_stub::faceJaw((ID)self_03);\n dVar29 = extraout_d0_04;\n break;\n case 0x1b:\n objc_stub::faceCheekbone((ID)self_03);\n dVar29 = extraout_d0_12;\n break;\n case 0x1c:\n objc_stub::faceSmallHead((ID)self_03);\n dVar29 = extraout_d0_06;\n break;\n case 0x1d:\n objc_stub::faceSmallHeadRange((ID)self_03);\n dVar29 = extraout_d0_19;\n break;\n case 0x1e:\n objc_stub::featureProtectionRelease((ID)self_03);\n dVar29 = extraout_d0_05;\n break;\n case 0x1f:\n objc_stub::teethWhitening((ID)self_03);\n dVar29 = extraout_d0_43;\n break;\n case 0x20:\n objc_stub::eyeBrightening((ID)self_03);\n dVar29 = extraout_d0_42;\n break;\n case 0x21:\n objc_stub::faceBigEye((ID)self_03);\n dVar29 = extraout_d0_09;\n break;\n case 0x22:\n case 0x24:\n case 0x25:\n case 0x26:\n FUN_10000c4d0(self_03);\n IVar18 = objc_stub::faceTrackEnabled((ID)self_03);\n if ((((IVar18 & 1) == 0) &&\n (IVar18 = objc_stub::faceTrackStatus((ID)self_03), IVar18 == 0)) &&\n (IVar18 = objc_stub::faceTrackFrameCount((ID)self_03), IVar18 == 0)) {\n objc_stub::faceTrackProgress((ID)self_03);\n dVar33 = 2.220446049250313e-16;\n if (ABS(extraout_d0_02) <= 2.220446049250313e-16) {\n IVar18 = objc_stub::faceTrackData((ID)self_03);\n IVar18 = objc_stub::length(IVar18);\n if ((IVar18 == 0) &&\n (IVar18 = objc_stub::faceTrackTargetCount((ID)self_03), IVar18 == 1)) {\n dVar29 = self_03;\n FUN_1000181b4(self_03,0);\n IVar18 = objc_stub::length((ID)dVar29);\n if ((IVar18 == 0) &&\n ((dVar29 = self_03, FUN_1000110d4(self_03,0), dVar29 == 0.0 &&\n (IVar18 = objc_stub::faceTrackTargetCount((ID)self_03), IVar18 == 1)))) {\n dVar29 = self_03;\n FUN_1000181b4(self_03,0);\n IVar18 = objc_stub::length((ID)dVar29);\n if (IVar18 == 0) {\n dVar29 = self_03;\n FUN_1000110d4(self_03,0);\n goto LAB_100018a18;\n }\n }\n }\n }\n }\nLAB_100018b08:\n uVar23 = 0;\n goto switchD_1000188a0_caseD_5;\n case 0x27:\n IVar18 = objc_stub::fastMultiFaceMode((ID)self_03);\n uVar23 = (uint)IVar18;\nLAB_100018ac4:\n uVar23 = uVar23 ^ 1;\n goto switchD_1000188a0_caseD_5;\n case 0x28:\n objc_stub::faceJumpGuardRange((ID)self_03);\n dVar33 = -1.5;\n dVar29 = extraout_d0_24;\nLAB_100018b1c:\n dVar29 = dVar29 + dVar33;\n }\n dVar33 = 2.220446049250313e-16;\n uVar23 = (uint)(ABS(dVar29) <= 2.220446049250313e-16);\nswitchD_1000188a0_caseD_5:\n IVar18 = objc_stub::objectForKeyedSubscript_(self_05,&cf_kind);\n IVar18 = objc_stub::isEqualToString_(IVar18,&cf_toggle);\n if ((int)IVar18 == 0) {\n IVar18 = objc_stub::objectForKeyedSubscript_(self_05,&cf_kind);\n IVar18 = objc_stub::isEqualToString_(IVar18,&cf_button);\n if ((int)IVar18 == 0) {\n IVar18 = objc_stub::objectForKeyedSubscript_(self_05,&cf_kind);\n IVar18 = objc_stub::isEqualToString_(IVar18,&cf_mode);\n if ((int)IVar18 == 0) {\n objc_stub::doubleValue((ID)self_01);\n if ((iVar26 == 0x1e) || (dVar29 = extraout_d0_36, iVar26 == 0x11)) {\n dVar33 = 1.0;\n dVar30 = 1.0;\n if (extraout_d0_36 <= 1.0) {\n dVar30 = extraout_d0_36;\n }\n dVar29 = 1.0;\n if (0.0 <= extraout_d0_36) {\n dVar29 = 1.0 - dVar30;\n }\n }\n IVar18 = objc_stub::objectForKeyedSubscript_(self_04,&cf_eyeRect);\n objc_stub::rectValue(IVar18);\n dVar30 = dVar33;\n dVar39 = dVar32;\n dVar43 = dVar31;\n IVar18 = objc_stub::objectForKeyedSubscript_(self_04,&cf_trackRect);\n objc_stub::rectValue(IVar18);\n dVar34 = dVar30;\n dVar40 = dVar39;\n dVar44 = dVar43;\n IVar18 = objc_stub::objectForKeyedSubscript_(self_04,&cf_valueRect);\n objc_stub::rectValue(IVar18);\n dVar35 = dVar34;\n dVar41 = dVar40;\n dVar45 = dVar44;\n IVar18 = objc_stub::objectForKeyedSubscript_(self_04,&cf_resetRect);\n objc_stub::rectValue(IVar18);\n CVar4.field0_0x0.field1_0x8 = dVar30;\n CVar4.field0_0x0.field0_0x0 = (double)extraout_d0_38;\n CVar4.field1_0x10.field0_0x0 = dVar39;\n CVar4.field1_0x10.field1_0x8 = dVar43;\n CVar8.field0_0x0.field1_0x8 = dVar34;\n CVar8.field0_0x0.field0_0x0 = (double)extraout_d0_39;\n CVar8.field1_0x10.field0_0x0 = dVar40;\n CVar8.field1_0x10.field1_0x8 = dVar44;\n CVar11.field0_0x0.field1_0x8 = dVar35;\n CVar11.field0_0x0.field0_0x0 = (double)extraout_d0_40;\n CVar11.field1_0x10.field0_0x0 = dVar41;\n CVar11.field1_0x10.field1_0x8 = dVar45;\n CVar51.field0_0x0.field1_0x8 = dVar28;\n CVar51.field0_0x0.field0_0x0 = extraout_d0_01;\n CVar51.field1_0x10.field1_0x8 = dVar42;\n CVar51.field1_0x10.field0_0x0 = dVar37;\n CVar55.field0_0x0.field1_0x8 = dVar33;\n CVar55.field0_0x0.field0_0x0 = extraout_d0_37;\n CVar55.field1_0x10.field1_0x8 = dVar31;\n CVar55.field1_0x10.field0_0x0 = dVar32;\n dVar33 = dVar28;\n dVar32 = dVar37;\n dVar31 = dVar42;\n drawSliderControl_rowRect_eyeRect_trackRect_valueRect_resetRect_value_enabled_usesDefaultValue_accentColor_\n (param_1,self_05,CVar51,CVar55,CVar4,CVar8,CVar11,dVar29,bVar13,uVar23\n ,local_260);\n }\n else {\n IVar18 = objc_stub::objectForKeyedSubscript_(self_04,&cf_eyeRect);\n objc_stub::rectValue(IVar18);\n dVar29 = dVar33;\n dVar34 = dVar32;\n dVar39 = dVar31;\n IVar18 = objc_stub::objectForKeyedSubscript_(self_04,&cf_valueRect);\n objc_stub::rectValue(IVar18);\n dVar30 = dVar29;\n dVar35 = dVar34;\n dVar40 = dVar39;\n IVar18 = objc_stub::objectForKeyedSubscript_(self_04,&cf_resetRect);\n objc_stub::rectValue(IVar18);\n IVar18 = objc_stub::integerValue((ID)self_01);\n CVar3.field0_0x0.field1_0x8 = dVar29;\n CVar3.field0_0x0.field0_0x0 = (double)extraout_d0_34;\n CVar3.field1_0x10.field0_0x0 = dVar34;\n CVar3.field1_0x10.field1_0x8 = dVar39;\n CVar7.field0_0x0.field1_0x8 = dVar30;\n CVar7.field0_0x0.field0_0x0 = (double)extraout_d0_35;\n CVar7.field1_0x10.field0_0x0 = dVar35;\n CVar7.field1_0x10.field1_0x8 = dVar40;\n CVar50.field0_0x0.field1_0x8 = dVar28;\n CVar50.field0_0x0.field0_0x0 = extraout_d0_01;\n CVar50.field1_0x10.field1_0x8 = dVar42;\n CVar50.field1_0x10.field0_0x0 = dVar37;\n CVar54.field0_0x0.field1_0x8 = dVar33;\n CVar54.field0_0x0.field0_0x0 = extraout_d0_33;\n CVar54.field1_0x10.field1_0x8 = dVar31;\n CVar54.field1_0x10.field0_0x0 = dVar32;\n dVar33 = dVar28;\n dVar32 = dVar37;\n dVar31 = dVar42;\n drawModeControl_rowRect_eyeRect_valueRect_resetRect_value_enabled_usesDefaultValue_accentColor_\n (param_1,self_05,CVar50,CVar54,CVar3,CVar7,IVar18,bVar13,uVar23,\n local_260);\n }\n }\n else {\n IVar18 = objc_stub::objectForKeyedSubscript_(self_04,&cf_eyeRect);\n objc_stub::rectValue(IVar18);\n dVar29 = dVar33;\n dVar35 = dVar32;\n dVar41 = dVar31;\n IVar18 = objc_stub::objectForKeyedSubscript_(self_04,&cf_valueRect);\n objc_stub::rectValue(IVar18);\n dVar30 = dVar29;\n dVar39 = dVar35;\n dVar43 = dVar41;\n IVar18 = objc_stub::objectForKeyedSubscript_(self_04,&cf_resetRect);\n objc_stub::rectValue(IVar18);\n dVar34 = dVar30;\n dVar40 = dVar39;\n dVar44 = dVar43;\n IVar18 = objc_stub::objectForKeyedSubscript_(self_04,&cf_deleteRect);\n objc_stub::rectValue(IVar18);\n CVar2.field0_0x0.field1_0x8 = dVar29;\n CVar2.field0_0x0.field0_0x0 = (double)extraout_d0_30;\n CVar2.field1_0x10.field0_0x0 = dVar35;\n CVar2.field1_0x10.field1_0x8 = dVar41;\n CVar6.field0_0x0.field1_0x8 = dVar30;\n CVar6.field0_0x0.field0_0x0 = (double)extraout_d0_31;\n CVar6.field1_0x10.field0_0x0 = dVar39;\n CVar6.field1_0x10.field1_0x8 = dVar43;\n CVar10.field0_0x0.field1_0x8 = dVar34;\n CVar10.field0_0x0.field0_0x0 = (double)extraout_d0_32;\n CVar10.field1_0x10.field0_0x0 = dVar40;\n CVar10.field1_0x10.field1_0x8 = dVar44;\n CVar49.field0_0x0.field1_0x8 = dVar28;\n CVar49.field0_0x0.field0_0x0 = extraout_d0_01;\n CVar49.field1_0x10.field1_0x8 = dVar42;\n CVar49.field1_0x10.field0_0x0 = dVar37;\n CVar53.field0_0x0.field1_0x8 = dVar33;\n CVar53.field0_0x0.field0_0x0 = extraout_d0_29;\n CVar53.field1_0x10.field1_0x8 = dVar31;\n CVar53.field1_0x10.field0_0x0 = dVar32;\n dVar33 = dVar28;\n dVar32 = dVar37;\n dVar31 = dVar42;\n drawButtonControl_rowRect_eyeRect_buttonRect_resetRect_deleteRect_enabled_usesDefaultValue_accentColor_controlPanelValue_\n (param_1,self_05,CVar49,CVar53,CVar2,CVar6,CVar10,bVar13,uVar23,\n local_260,(ID)self_03);\n }\n }\n else {\n IVar18 = objc_stub::objectForKeyedSubscript_(self_04,&cf_eyeRect);\n objc_stub::rectValue(IVar18);\n dVar29 = dVar33;\n dVar35 = dVar32;\n dVar41 = dVar31;\n IVar18 = objc_stub::objectForKeyedSubscript_(self_04,&cf_toggleRect);\n objc_stub::rectValue(IVar18);\n dVar30 = dVar29;\n dVar39 = dVar35;\n dVar43 = dVar41;\n IVar18 = objc_stub::objectForKeyedSubscript_(self_04,&cf_valueRect);\n objc_stub::rectValue(IVar18);\n dVar34 = dVar30;\n dVar40 = dVar39;\n dVar44 = dVar43;\n IVar18 = objc_stub::objectForKeyedSubscript_(self_04,&cf_resetRect);\n objc_stub::rectValue(IVar18);\n IVar18 = objc_stub::boolValue((ID)self_01);\n CVar1.field0_0x0.field1_0x8 = dVar29;\n CVar1.field0_0x0.field0_0x0 = (double)extraout_d0_26;\n CVar1.field1_0x10.field0_0x0 = dVar35;\n CVar1.field1_0x10.field1_0x8 = dVar41;\n CVar5.field0_0x0.field1_0x8 = dVar30;\n CVar5.field0_0x0.field0_0x0 = (double)extraout_d0_27;\n CVar5.field1_0x10.field0_0x0 = dVar39;\n CVar5.field1_0x10.field1_0x8 = dVar43;\n CVar9.field0_0x0.field1_0x8 = dVar34;\n CVar9.field0_0x0.field0_0x0 = (double)extraout_d0_28;\n CVar9.field1_0x10.field0_0x0 = dVar40;\n CVar9.field1_0x10.field1_0x8 = dVar44;\n CVar48.field0_0x0.field1_0x8 = dVar28;\n CVar48.field0_0x0.field0_0x0 = extraout_d0_01;\n CVar48.field1_0x10.field1_0x8 = dVar42;\n CVar48.field1_0x10.field0_0x0 = dVar37;\n CVar52.field0_0x0.field1_0x8 = dVar33;\n CVar52.field0_0x0.field0_0x0 = extraout_d0_25;\n CVar52.field1_0x10.field1_0x8 = dVar31;\n CVar52.field1_0x10.field0_0x0 = dVar32;\n dVar33 = dVar28;\n dVar32 = dVar37;\n dVar31 = dVar42;\n drawToggleControl_rowRect_eyeRect_toggleRect_valueRect_resetRect_value_enabled_usesDefaultValue_accentColor_\n (param_1,self_05,CVar48,CVar52,CVar1,CVar5,CVar9,(bool)IVar18,bVar13,\n uVar23,local_260);\n }\n IVar18 = objc_stub::objectForKeyedSubscript_(self_05,&cf_dividerAfter);\n IVar18 = objc_stub::boolValue(IVar18);\n if ((int)IVar18 != 0) {\n dVar33 = dVar28 + dVar42 + 5.0;\n IVar18 = NSBezierPath::bezierPath((ID)&_OBJC_CLASS___NSBezierPath);\n NSBezierPath::moveToPoint_(IVar18,extraout_d0_01 + 4.0,dVar33);\n NSBezierPath::lineToPoint_(IVar18,extraout_d0_01 + dVar37 + -4.0,dVar33);\n dVar33 = local_300;\n IVar19 = NSColor::colorWithCalibratedWhite_alpha_\n ((ID)&_OBJC_CLASS___NSColor,0x3ff0000000000000);\n NSColor::setStroke(IVar19);\n NSBezierPath::setLineWidth_(IVar18,0x3ff0000000000000);\n NSBezierPath::stroke(IVar18);\n }\n }\n }\n }\nLAB_100018fd0:\n IVar17 = IVar17 + 1;\n } while (IVar17 != IVar15);\n IVar15 = objc_stub::countByEnumeratingWithState_objects_count_\n ((ID)self_02,&local_1f0,auStack_130,0x10);\n } while (IVar15 != 0);\n }\n if (*(long *)PTR____stack_chk_guard_1000a80e8 == local_b0) {\n return;\n }\n /* WARNING: Subroutine does not return */\n ___stack_chk_fail();\ncode_r0x000100018768:\n IVar25 = IVar25 + 1;\n if (IVar19 == IVar25) goto code_r0x000100018774;\n goto LAB_100018730;\ncode_r0x000100018774:\n IVar19 = objc_stub::countByEnumeratingWithState_objects_count_(IVar14,&local_230,auStack_1b0,0x10)\n ;\n dVar33 = dVar28;\n dVar32 = dVar37;\n dVar31 = dVar42;\n if (IVar19 == 0) goto LAB_100018fd0;\n goto LAB_10001872c;\n}\n\n" }, "subject": { "architecture": "arm64", "digest": { "sha256": "afc71d0d21fd3c1ca95ca745ddafcd729e36ad95f17d8638009f2e45d9b7e8df" }, "format": "mach-o", "local_path": "/Users/dayu/Documents/PaintFCP/build/body-analysis/MSE18V2-arm64", "name": "MSE18V2-arm64" } }, { "analysis_profile": { "digest": "20565088524a2d0359b9b96f46ac48e679d774c7b0092c56abc06de8fdbec11c", "parameters": { "analyzer_preset": "ghidra-default", "annotation_policy": "atomic-function-entry-metadata-v1", "architecture": "arm64", "available_architectures": [ "arm64" ], "compiler_spec_id": "auto-default", "decompiler_jump_loads": true, "function_body_evidence": "complete-inclusive-ranges-v1", "function_boundary_observations": "ghidra-terminal-call-limitations-v1", "function_references": "complete-body-and-entry-reference-manager-v2", "import_mode": "ephemeral-source-immutable", "instruction_flow_evidence": "decoded-return-pcode-v1", "jump_table_evidence": "typed-case-default-blocks-v1", "language_id": "auto-from-header", "load_image_observations": "source-mappings-entry-context-v2", "loader": "auto-from-header", "location_resolution": "explicit-address-exact-entry-symbol-first-v3", "no_return_repair": "returning-imports-decoded-return-v2", "process_launch": "inspected-jvm-launch-support-v1", "string_inventory_evidence": "defined-data-coverage-v1", "target_format": "mach-o", "target_kind": "executable" }, "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" } }, "authority": "shipped-artifact", "confidence": "observed", "environment": null, "evidence_id": "ev_62a1eeb98eefadf5e0f8a555f87edabce4769883914b86b4e797e66e2bd27320", "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": "\ndouble FUN_10002d838(double param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4,\n uint param_5)\n\n{\n double dVar1;\n \n _CGRectStandardize();\n _CGRectIntersection();\n _CGRectIsNull();\n if (((((param_5 & 1) != 0) ||\n (_CGRectIsEmpty(param_1,param_2,param_3,param_4), (param_5 & 1) != 0)) ||\n (dVar1 = param_1, _CGRectGetWidth(param_1,param_2,param_3,param_4),\n dVar1 <= 2.220446049250313e-16)) ||\n (dVar1 = param_1, _CGRectGetHeight(param_1,param_2,param_3,param_4),\n dVar1 <= 2.220446049250313e-16)) {\n dVar1 = *(double *)PTR__CGRectNull_1000a8148;\n }\n else {\n dVar1 = param_1;\n _CGRectGetMinX(param_1,param_2,param_3,param_4);\n _CGRectGetMaxY(param_1,param_2,param_3,param_4);\n _CGRectGetWidth(param_1,param_2,param_3,param_4);\n _CGRectGetHeight(param_1,param_2,param_3,param_4);\n }\n return dVar1;\n}\n\n", "operation": "procedure_pseudo_code", "parameters": { "procedure": "0x10002d838" }, "predicate_type": "rea.analysis", "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" }, "raw_result": { "limitations": [], "value": "\ndouble FUN_10002d838(double param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4,\n uint param_5)\n\n{\n double dVar1;\n \n _CGRectStandardize();\n _CGRectIntersection();\n _CGRectIsNull();\n if (((((param_5 & 1) != 0) ||\n (_CGRectIsEmpty(param_1,param_2,param_3,param_4), (param_5 & 1) != 0)) ||\n (dVar1 = param_1, _CGRectGetWidth(param_1,param_2,param_3,param_4),\n dVar1 <= 2.220446049250313e-16)) ||\n (dVar1 = param_1, _CGRectGetHeight(param_1,param_2,param_3,param_4),\n dVar1 <= 2.220446049250313e-16)) {\n dVar1 = *(double *)PTR__CGRectNull_1000a8148;\n }\n else {\n dVar1 = param_1;\n _CGRectGetMinX(param_1,param_2,param_3,param_4);\n _CGRectGetMaxY(param_1,param_2,param_3,param_4);\n _CGRectGetWidth(param_1,param_2,param_3,param_4);\n _CGRectGetHeight(param_1,param_2,param_3,param_4);\n }\n return dVar1;\n}\n\n" }, "subject": { "architecture": "arm64", "digest": { "sha256": "afc71d0d21fd3c1ca95ca745ddafcd729e36ad95f17d8638009f2e45d9b7e8df" }, "format": "mach-o", "local_path": "/Users/dayu/Documents/PaintFCP/build/body-analysis/MSE18V2-arm64", "name": "MSE18V2-arm64" } }, { "analysis_profile": { "digest": "20565088524a2d0359b9b96f46ac48e679d774c7b0092c56abc06de8fdbec11c", "parameters": { "analyzer_preset": "ghidra-default", "annotation_policy": "atomic-function-entry-metadata-v1", "architecture": "arm64", "available_architectures": [ "arm64" ], "compiler_spec_id": "auto-default", "decompiler_jump_loads": true, "function_body_evidence": "complete-inclusive-ranges-v1", "function_boundary_observations": "ghidra-terminal-call-limitations-v1", "function_references": "complete-body-and-entry-reference-manager-v2", "import_mode": "ephemeral-source-immutable", "instruction_flow_evidence": "decoded-return-pcode-v1", "jump_table_evidence": "typed-case-default-blocks-v1", "language_id": "auto-from-header", "load_image_observations": "source-mappings-entry-context-v2", "loader": "auto-from-header", "location_resolution": "explicit-address-exact-entry-symbol-first-v3", "no_return_repair": "returning-imports-decoded-return-v2", "process_launch": "inspected-jvm-launch-support-v1", "string_inventory_evidence": "defined-data-coverage-v1", "target_format": "mach-o", "target_kind": "executable" }, "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" } }, "authority": "shipped-artifact", "confidence": "observed", "environment": null, "evidence_id": "ev_69860933a82c3d59dc66557ca0d83702be829cb7e9d9172372f0c4893965fcbb", "evidence_links": [], "limitations": [ "The session serves operations only after Ghidra reports default auto-analysis complete; incomplete analysis does not expose partial results.", "The imported Program and temporary project are ephemeral and deleted on close. Annotation operations edit session database metadata; original executable bytes are never written.", "Cancelling an active Ghidra request terminates its ephemeral database and discards session annotations. The selected target remains open; the next provider query imports the original artifact again.", "Default-space addresses use lowercase 0x-prefixed hexadecimal; other address spaces use :0x.", "Bytes reflect Ghidra's initialized memory, including loader fixups. Reads stop at an unmapped or uninitialized byte and report completeness explicitly.", "macOS sessions require a matching executable Ghidra native decompiler; REA checks for it but does not build native components or change Gatekeeper quarantine state." ], "locations": [], "normalized_result": { "address": "0x1000bd1f8", "bytes_hex": "0000000000008e40", "complete": true, "requested_bytes": 8, "returned_bytes": 8 }, "operation": "read_bytes", "parameters": { "address": "0x1000bd1f8", "length": 8 }, "predicate_type": "rea.analysis", "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" }, "raw_result": { "address": "0x1000bd1f8", "bytes_hex": "0000000000008e40", "complete": true, "requested_bytes": 8, "returned_bytes": 8 }, "subject": { "architecture": "arm64", "digest": { "sha256": "afc71d0d21fd3c1ca95ca745ddafcd729e36ad95f17d8638009f2e45d9b7e8df" }, "format": "mach-o", "local_path": "/Users/dayu/Documents/PaintFCP/build/body-analysis/MSE18V2-arm64", "name": "MSE18V2-arm64" } }, { "analysis_profile": { "digest": "20565088524a2d0359b9b96f46ac48e679d774c7b0092c56abc06de8fdbec11c", "parameters": { "analyzer_preset": "ghidra-default", "annotation_policy": "atomic-function-entry-metadata-v1", "architecture": "arm64", "available_architectures": [ "arm64" ], "compiler_spec_id": "auto-default", "decompiler_jump_loads": true, "function_body_evidence": "complete-inclusive-ranges-v1", "function_boundary_observations": "ghidra-terminal-call-limitations-v1", "function_references": "complete-body-and-entry-reference-manager-v2", "import_mode": "ephemeral-source-immutable", "instruction_flow_evidence": "decoded-return-pcode-v1", "jump_table_evidence": "typed-case-default-blocks-v1", "language_id": "auto-from-header", "load_image_observations": "source-mappings-entry-context-v2", "loader": "auto-from-header", "location_resolution": "explicit-address-exact-entry-symbol-first-v3", "no_return_repair": "returning-imports-decoded-return-v2", "process_launch": "inspected-jvm-launch-support-v1", "string_inventory_evidence": "defined-data-coverage-v1", "target_format": "mach-o", "target_kind": "executable" }, "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" } }, "authority": "shipped-artifact", "confidence": "observed", "environment": null, "evidence_id": "ev_6dd564c4672e60ef0e8c046eb49449486ee1eda5481eaa04f0e5a0dda1c4b47e", "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_1000508d8(void)\n\n{\n bool bVar1;\n bool bVar2;\n char *pcVar3;\n double dVar4;\n \n pcVar3 = _getenv(\"MSE18_VISION_DOWNSAMPLE_LONG_EDGE\");\n if ((pcVar3 != (char *)0x0) && (*pcVar3 != '\\0')) {\n dVar4 = _strtod(pcVar3,(char **)0x0);\n bVar1 = true;\n bVar2 = false;\n if (dVar4 <= 4096.0) {\n bVar1 = false;\n bVar2 = true;\n if (!NAN(dVar4)) {\n bVar1 = dVar4 < 640.0;\n bVar2 = false;\n }\n }\n if (bVar1 == bVar2 && (ulong)ABS(dVar4) < 0x7ff0000000000000) {\n DAT_1000bd1f8 = dVar4;\n }\n }\n return;\n}\n\n", "operation": "procedure_pseudo_code", "parameters": { "procedure": "0x1000508d8" }, "predicate_type": "rea.analysis", "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" }, "raw_result": { "limitations": [], "value": "\nvoid FUN_1000508d8(void)\n\n{\n bool bVar1;\n bool bVar2;\n char *pcVar3;\n double dVar4;\n \n pcVar3 = _getenv(\"MSE18_VISION_DOWNSAMPLE_LONG_EDGE\");\n if ((pcVar3 != (char *)0x0) && (*pcVar3 != '\\0')) {\n dVar4 = _strtod(pcVar3,(char **)0x0);\n bVar1 = true;\n bVar2 = false;\n if (dVar4 <= 4096.0) {\n bVar1 = false;\n bVar2 = true;\n if (!NAN(dVar4)) {\n bVar1 = dVar4 < 640.0;\n bVar2 = false;\n }\n }\n if (bVar1 == bVar2 && (ulong)ABS(dVar4) < 0x7ff0000000000000) {\n DAT_1000bd1f8 = dVar4;\n }\n }\n return;\n}\n\n" }, "subject": { "architecture": "arm64", "digest": { "sha256": "afc71d0d21fd3c1ca95ca745ddafcd729e36ad95f17d8638009f2e45d9b7e8df" }, "format": "mach-o", "local_path": "/Users/dayu/Documents/PaintFCP/build/body-analysis/MSE18V2-arm64", "name": "MSE18V2-arm64" } }, { "analysis_profile": { "digest": "20565088524a2d0359b9b96f46ac48e679d774c7b0092c56abc06de8fdbec11c", "parameters": { "analyzer_preset": "ghidra-default", "annotation_policy": "atomic-function-entry-metadata-v1", "architecture": "arm64", "available_architectures": [ "arm64" ], "compiler_spec_id": "auto-default", "decompiler_jump_loads": true, "function_body_evidence": "complete-inclusive-ranges-v1", "function_boundary_observations": "ghidra-terminal-call-limitations-v1", "function_references": "complete-body-and-entry-reference-manager-v2", "import_mode": "ephemeral-source-immutable", "instruction_flow_evidence": "decoded-return-pcode-v1", "jump_table_evidence": "typed-case-default-blocks-v1", "language_id": "auto-from-header", "load_image_observations": "source-mappings-entry-context-v2", "loader": "auto-from-header", "location_resolution": "explicit-address-exact-entry-symbol-first-v3", "no_return_repair": "returning-imports-decoded-return-v2", "process_launch": "inspected-jvm-launch-support-v1", "string_inventory_evidence": "defined-data-coverage-v1", "target_format": "mach-o", "target_kind": "executable" }, "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" } }, "authority": "shipped-artifact", "confidence": "observed", "environment": null, "evidence_id": "ev_83a46caee609281fe936d7bb17d234c6ab732565936a8a005b7ca84166d84250", "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 0x10003b72c to 0x10007aca0 ___stack_chk_fail (external=false, thunk=true, hasNoReturn=true); fallthrough is excluded by Ghidra's flow model. This records Ghidra's FunctionManager flag, not an independent verification that the callee cannot return.", "macOS sessions require a matching executable Ghidra native decompiler; REA checks for it but does not build native components or change Gatekeeper quarantine state." ], "locations": [], "normalized_result": "\n/* WARNING: Function: _objc_retain replaced with injection: _objc_retain_fixup */\n/* WARNING: Function: _objc_autorelease replaced with injection: _objc_retain_fixup */\n/* Function Stack Size: 0x60 bytes */\n\nbool MSSuperSkinSmoothingPlugIn::\n mss_lockedCachedFrameAnalysisFaceObservationsInCache_inputImage_sourceTileRect_renderTime_observationsOut_\n (ID param_1,SEL param_2,ID param_3,ID param_4,CGRect param_5,\n AnonymousStructure0 param_6,ID *param_7)\n\n{\n undefined *puVar1;\n bool bVar2;\n ID IVar3;\n ulong uVar4;\n undefined8 *puVar5;\n undefined8 *puVar6;\n ulong uVar7;\n long lVar8;\n ID IVar9;\n undefined8 local_170;\n undefined8 uStack_168;\n undefined8 local_160;\n undefined8 local_150;\n long lStack_148;\n long *local_140;\n undefined8 uStack_138;\n undefined8 local_130;\n undefined8 uStack_128;\n undefined8 uStack_120;\n undefined8 uStack_118;\n undefined1 auStack_108 [128];\n long local_88;\n \n puVar6 = param_5.field0_0x0.field1_0x8;\n puVar5 = param_5.field0_0x0.field0_0x0;\n local_88 = *(long *)PTR____stack_chk_guard_1000a80e8;\n if (puVar6 != (undefined8 *)0x0) {\n *puVar6 = 0;\n }\n bVar2 = 0;\n if ((param_3 != 0) && (param_4 != 0)) {\n if ((*(uint *)((long)puVar5 + 0xc) & 0x1d) == 1) {\n uStack_128 = 0;\n local_130 = 0;\n uStack_118 = 0;\n uStack_120 = 0;\n lStack_148 = 0;\n local_150 = 0;\n uStack_138 = 0;\n local_140 = (long *)0x0;\n IVar3 = objc_stub::countByEnumeratingWithState_objects_count_\n (param_3,&local_150,auStack_108,0x10,puVar6,param_5.field1_0x10.field0_0x0,\n param_5.field1_0x10.field1_0x8);\n bVar2 = 0;\n if (IVar3 != 0) {\n lVar8 = *local_140;\n do {\n IVar9 = 0;\n do {\n if (*local_140 != lVar8) {\n _objc_enumerationMutation(param_3);\n }\n uVar7 = *(ulong *)(lStack_148 + IVar9 * 8);\n uStack_168 = puVar5[1];\n local_170 = *puVar5;\n local_160 = puVar5[2];\n uVar4 = uVar7;\n FUN_10003b730(uVar7,param_4,&local_170);\n if ((uVar4 & 1) != 0) {\n if (uVar7 == 0) goto LAB_10003b6e8;\n lVar8 = *(long *)(param_1 + 0x2a8) + 1;\n *(long *)(param_1 + 0x2a8) = lVar8;\n *(long *)(uVar7 + 0x68) = lVar8;\n if (puVar6 != (undefined8 *)0x0) {\n puVar1 = PTR____NSArray0__struct_1000a8110;\n if (*(undefined **)(uVar7 + 0x60) != (undefined *)0x0) {\n puVar1 = *(undefined **)(uVar7 + 0x60);\n }\n *puVar6 = puVar1;\n }\n bVar2 = 1;\n goto LAB_10003b6ec;\n }\n IVar9 = IVar9 + 1;\n } while (IVar3 != IVar9);\n IVar3 = objc_stub::countByEnumeratingWithState_objects_count_\n (param_3,&local_150,auStack_108,0x10);\n bVar2 = 0;\n } while (IVar3 != 0);\n }\n }\n else {\nLAB_10003b6e8:\n bVar2 = 0;\n }\n }\nLAB_10003b6ec:\n if (*(long *)PTR____stack_chk_guard_1000a80e8 != local_88) {\n /* WARNING: Subroutine does not return */\n ___stack_chk_fail();\n }\n return bVar2;\n}\n\n", "operation": "procedure_pseudo_code", "parameters": { "procedure": "0x10003b56c" }, "predicate_type": "rea.analysis", "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" }, "raw_result": { "limitations": [ "Ghidra Listing reports a terminal call at 0x10003b72c to 0x10007aca0 ___stack_chk_fail (external=false, thunk=true, hasNoReturn=true); fallthrough is excluded by Ghidra's flow model. This records Ghidra's FunctionManager flag, not an independent verification that the callee cannot return." ], "value": "\n/* WARNING: Function: _objc_retain replaced with injection: _objc_retain_fixup */\n/* WARNING: Function: _objc_autorelease replaced with injection: _objc_retain_fixup */\n/* Function Stack Size: 0x60 bytes */\n\nbool MSSuperSkinSmoothingPlugIn::\n mss_lockedCachedFrameAnalysisFaceObservationsInCache_inputImage_sourceTileRect_renderTime_observationsOut_\n (ID param_1,SEL param_2,ID param_3,ID param_4,CGRect param_5,\n AnonymousStructure0 param_6,ID *param_7)\n\n{\n undefined *puVar1;\n bool bVar2;\n ID IVar3;\n ulong uVar4;\n undefined8 *puVar5;\n undefined8 *puVar6;\n ulong uVar7;\n long lVar8;\n ID IVar9;\n undefined8 local_170;\n undefined8 uStack_168;\n undefined8 local_160;\n undefined8 local_150;\n long lStack_148;\n long *local_140;\n undefined8 uStack_138;\n undefined8 local_130;\n undefined8 uStack_128;\n undefined8 uStack_120;\n undefined8 uStack_118;\n undefined1 auStack_108 [128];\n long local_88;\n \n puVar6 = param_5.field0_0x0.field1_0x8;\n puVar5 = param_5.field0_0x0.field0_0x0;\n local_88 = *(long *)PTR____stack_chk_guard_1000a80e8;\n if (puVar6 != (undefined8 *)0x0) {\n *puVar6 = 0;\n }\n bVar2 = 0;\n if ((param_3 != 0) && (param_4 != 0)) {\n if ((*(uint *)((long)puVar5 + 0xc) & 0x1d) == 1) {\n uStack_128 = 0;\n local_130 = 0;\n uStack_118 = 0;\n uStack_120 = 0;\n lStack_148 = 0;\n local_150 = 0;\n uStack_138 = 0;\n local_140 = (long *)0x0;\n IVar3 = objc_stub::countByEnumeratingWithState_objects_count_\n (param_3,&local_150,auStack_108,0x10,puVar6,param_5.field1_0x10.field0_0x0,\n param_5.field1_0x10.field1_0x8);\n bVar2 = 0;\n if (IVar3 != 0) {\n lVar8 = *local_140;\n do {\n IVar9 = 0;\n do {\n if (*local_140 != lVar8) {\n _objc_enumerationMutation(param_3);\n }\n uVar7 = *(ulong *)(lStack_148 + IVar9 * 8);\n uStack_168 = puVar5[1];\n local_170 = *puVar5;\n local_160 = puVar5[2];\n uVar4 = uVar7;\n FUN_10003b730(uVar7,param_4,&local_170);\n if ((uVar4 & 1) != 0) {\n if (uVar7 == 0) goto LAB_10003b6e8;\n lVar8 = *(long *)(param_1 + 0x2a8) + 1;\n *(long *)(param_1 + 0x2a8) = lVar8;\n *(long *)(uVar7 + 0x68) = lVar8;\n if (puVar6 != (undefined8 *)0x0) {\n puVar1 = PTR____NSArray0__struct_1000a8110;\n if (*(undefined **)(uVar7 + 0x60) != (undefined *)0x0) {\n puVar1 = *(undefined **)(uVar7 + 0x60);\n }\n *puVar6 = puVar1;\n }\n bVar2 = 1;\n goto LAB_10003b6ec;\n }\n IVar9 = IVar9 + 1;\n } while (IVar3 != IVar9);\n IVar3 = objc_stub::countByEnumeratingWithState_objects_count_\n (param_3,&local_150,auStack_108,0x10);\n bVar2 = 0;\n } while (IVar3 != 0);\n }\n }\n else {\nLAB_10003b6e8:\n bVar2 = 0;\n }\n }\nLAB_10003b6ec:\n if (*(long *)PTR____stack_chk_guard_1000a80e8 != local_88) {\n /* WARNING: Subroutine does not return */\n ___stack_chk_fail();\n }\n return bVar2;\n}\n\n" }, "subject": { "architecture": "arm64", "digest": { "sha256": "afc71d0d21fd3c1ca95ca745ddafcd729e36ad95f17d8638009f2e45d9b7e8df" }, "format": "mach-o", "local_path": "/Users/dayu/Documents/PaintFCP/build/body-analysis/MSE18V2-arm64", "name": "MSE18V2-arm64" } }, { "analysis_profile": { "digest": "20565088524a2d0359b9b96f46ac48e679d774c7b0092c56abc06de8fdbec11c", "parameters": { "analyzer_preset": "ghidra-default", "annotation_policy": "atomic-function-entry-metadata-v1", "architecture": "arm64", "available_architectures": [ "arm64" ], "compiler_spec_id": "auto-default", "decompiler_jump_loads": true, "function_body_evidence": "complete-inclusive-ranges-v1", "function_boundary_observations": "ghidra-terminal-call-limitations-v1", "function_references": "complete-body-and-entry-reference-manager-v2", "import_mode": "ephemeral-source-immutable", "instruction_flow_evidence": "decoded-return-pcode-v1", "jump_table_evidence": "typed-case-default-blocks-v1", "language_id": "auto-from-header", "load_image_observations": "source-mappings-entry-context-v2", "loader": "auto-from-header", "location_resolution": "explicit-address-exact-entry-symbol-first-v3", "no_return_repair": "returning-imports-decoded-return-v2", "process_launch": "inspected-jvm-launch-support-v1", "string_inventory_evidence": "defined-data-coverage-v1", "target_format": "mach-o", "target_kind": "executable" }, "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" } }, "authority": "shipped-artifact", "confidence": "observed", "environment": null, "evidence_id": "ev_91e7726258e4e472fd1fc7641818b6f0b270b01ffc0296d4a1c9bb1a33c50c51", "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_100050868(void)\n\n{\n bool bVar1;\n byte bVar2;\n char *pcVar3;\n \n pcVar3 = _getenv(\"MSE18_DISABLE_VISION_DOWNSAMPLE\");\n if ((pcVar3 == (char *)0x0) || (*pcVar3 == '\\0')) {\n bVar1 = false;\n }\n else if (*pcVar3 == '0') {\n bVar1 = pcVar3[1] != '\\0';\n }\n else {\n bVar1 = true;\n }\n bVar2 = 0xc0;\n FUN_10004970c();\n DAT_1000bd1f0 = (bVar1 | bVar2) ^ 1;\n return;\n}\n\n", "operation": "procedure_pseudo_code", "parameters": { "procedure": "0x100050868" }, "predicate_type": "rea.analysis", "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" }, "raw_result": { "limitations": [], "value": "\nvoid FUN_100050868(void)\n\n{\n bool bVar1;\n byte bVar2;\n char *pcVar3;\n \n pcVar3 = _getenv(\"MSE18_DISABLE_VISION_DOWNSAMPLE\");\n if ((pcVar3 == (char *)0x0) || (*pcVar3 == '\\0')) {\n bVar1 = false;\n }\n else if (*pcVar3 == '0') {\n bVar1 = pcVar3[1] != '\\0';\n }\n else {\n bVar1 = true;\n }\n bVar2 = 0xc0;\n FUN_10004970c();\n DAT_1000bd1f0 = (bVar1 | bVar2) ^ 1;\n return;\n}\n\n" }, "subject": { "architecture": "arm64", "digest": { "sha256": "afc71d0d21fd3c1ca95ca745ddafcd729e36ad95f17d8638009f2e45d9b7e8df" }, "format": "mach-o", "local_path": "/Users/dayu/Documents/PaintFCP/build/body-analysis/MSE18V2-arm64", "name": "MSE18V2-arm64" } }, { "analysis_profile": { "digest": "20565088524a2d0359b9b96f46ac48e679d774c7b0092c56abc06de8fdbec11c", "parameters": { "analyzer_preset": "ghidra-default", "annotation_policy": "atomic-function-entry-metadata-v1", "architecture": "arm64", "available_architectures": [ "arm64" ], "compiler_spec_id": "auto-default", "decompiler_jump_loads": true, "function_body_evidence": "complete-inclusive-ranges-v1", "function_boundary_observations": "ghidra-terminal-call-limitations-v1", "function_references": "complete-body-and-entry-reference-manager-v2", "import_mode": "ephemeral-source-immutable", "instruction_flow_evidence": "decoded-return-pcode-v1", "jump_table_evidence": "typed-case-default-blocks-v1", "language_id": "auto-from-header", "load_image_observations": "source-mappings-entry-context-v2", "loader": "auto-from-header", "location_resolution": "explicit-address-exact-entry-symbol-first-v3", "no_return_repair": "returning-imports-decoded-return-v2", "process_launch": "inspected-jvm-launch-support-v1", "string_inventory_evidence": "defined-data-coverage-v1", "target_format": "mach-o", "target_kind": "executable" }, "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" } }, "authority": "shipped-artifact", "confidence": "observed", "environment": null, "evidence_id": "ev_945c29e86b136b0f4cb98503710f100400ad983ec1908da17b45e2af372ee3a8", "evidence_links": [], "limitations": [ "The session serves operations only after Ghidra reports default auto-analysis complete; incomplete analysis does not expose partial results.", "The imported Program and temporary project are ephemeral and deleted on close. Annotation operations edit session database metadata; original executable bytes are never written.", "Cancelling an active Ghidra request terminates its ephemeral database and discards session annotations. The selected target remains open; the next provider query imports the original artifact again.", "Default-space addresses use lowercase 0x-prefixed hexadecimal; other address spaces use :0x.", "Bytes reflect Ghidra's initialized memory, including loader fixups. Reads stop at an unmapped or uninitialized byte and report completeness explicitly.", "macOS sessions require a matching executable Ghidra native decompiler; REA checks for it but does not build native components or change Gatekeeper quarantine state." ], "locations": [], "normalized_result": { "address": "0x1000863e0", "bytes_hex": "0ad7a3703d0ac7bf", "complete": true, "requested_bytes": 8, "returned_bytes": 8 }, "operation": "read_bytes", "parameters": { "address": "0x1000863e0", "length": 8 }, "predicate_type": "rea.analysis", "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" }, "raw_result": { "address": "0x1000863e0", "bytes_hex": "0ad7a3703d0ac7bf", "complete": true, "requested_bytes": 8, "returned_bytes": 8 }, "subject": { "architecture": "arm64", "digest": { "sha256": "afc71d0d21fd3c1ca95ca745ddafcd729e36ad95f17d8638009f2e45d9b7e8df" }, "format": "mach-o", "local_path": "/Users/dayu/Documents/PaintFCP/build/body-analysis/MSE18V2-arm64", "name": "MSE18V2-arm64" } }, { "analysis_profile": { "digest": "20565088524a2d0359b9b96f46ac48e679d774c7b0092c56abc06de8fdbec11c", "parameters": { "analyzer_preset": "ghidra-default", "annotation_policy": "atomic-function-entry-metadata-v1", "architecture": "arm64", "available_architectures": [ "arm64" ], "compiler_spec_id": "auto-default", "decompiler_jump_loads": true, "function_body_evidence": "complete-inclusive-ranges-v1", "function_boundary_observations": "ghidra-terminal-call-limitations-v1", "function_references": "complete-body-and-entry-reference-manager-v2", "import_mode": "ephemeral-source-immutable", "instruction_flow_evidence": "decoded-return-pcode-v1", "jump_table_evidence": "typed-case-default-blocks-v1", "language_id": "auto-from-header", "load_image_observations": "source-mappings-entry-context-v2", "loader": "auto-from-header", "location_resolution": "explicit-address-exact-entry-symbol-first-v3", "no_return_repair": "returning-imports-decoded-return-v2", "process_launch": "inspected-jvm-launch-support-v1", "string_inventory_evidence": "defined-data-coverage-v1", "target_format": "mach-o", "target_kind": "executable" }, "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" } }, "authority": "shipped-artifact", "confidence": "observed", "environment": null, "evidence_id": "ev_a846fea7e395bae6a728ccf108f6fd3bbfa326b642da56b28726f78295fe7dee", "evidence_links": [], "limitations": [ "The session serves operations only after Ghidra reports default auto-analysis complete; incomplete analysis does not expose partial results.", "The imported Program and temporary project are ephemeral and deleted on close. Annotation operations edit session database metadata; original executable bytes are never written.", "Cancelling an active Ghidra request terminates its ephemeral database and discards session annotations. The selected target remains open; the next provider query imports the original artifact again.", "Default-space addresses use lowercase 0x-prefixed hexadecimal; other address spaces use :0x.", "Assembly is Ghidra Listing text and does not claim textual equivalence with Hopper output.", "Ghidra Listing reports a terminal call at 0x10001b580 to 0x10007a910 _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": "0x10001b070: sub sp, sp, #0xf0\n0x10001b074: stp d15, d14, [sp, #0x60]\n0x10001b078: stp d13, d12, [sp, #0x70]\n0x10001b07c: stp d11, d10, [sp, #0x80]\n0x10001b080: stp d9, d8, [sp, #0x90]\n0x10001b084: stp x26, x25, [sp, #0xa0]\n0x10001b088: stp x24, x23, [sp, #0xb0]\n0x10001b08c: stp x22, x21, [sp, #0xc0]\n0x10001b090: stp x20, x19, [sp, #0xd0]\n0x10001b094: stp x29, x30, [sp, #0xe0]\n0x10001b098: add x29, sp, #0xe0\n0x10001b09c: fmov d8, d3\n0x10001b0a0: fmov d9, d2\n0x10001b0a4: fmov d10, d1\n0x10001b0a8: fmov d11, d0\n0x10001b0ac: mov x19, x0\n0x10001b0b0: bl 0x10007d560\n0x10001b0b4: cmp x0, #0x4d\n0x10001b0b8: b.cc 0x10001b408\n0x10001b0bc: fmov d0, d11\n0x10001b0c0: fmov d1, d10\n0x10001b0c4: fmov d2, d9\n0x10001b0c8: fmov d3, d8\n0x10001b0cc: bl 0x10007a9d0\n0x10001b0d0: tbnz w0, #0x0, 0x10001b408\n0x10001b0d4: fmov d0, d11\n0x10001b0d8: fmov d1, d10\n0x10001b0dc: fmov d2, d9\n0x10001b0e0: fmov d3, d8\n0x10001b0e4: bl 0x10007a9b8\n0x10001b0e8: tbnz w0, #0x0, 0x10001b408\n0x10001b0ec: fmov d0, d11\n0x10001b0f0: fmov d1, d10\n0x10001b0f4: fmov d2, d9\n0x10001b0f8: fmov d3, d8\n0x10001b0fc: bl 0x10007a988\n0x10001b100: mov x8, #0x3cb0000000000000\n0x10001b104: fmov d1, x8\n0x10001b108: fcmp d0, d1\n0x10001b10c: b.le 0x10001b408\n0x10001b110: fmov d0, d11\n0x10001b114: fmov d1, d10\n0x10001b118: fmov d2, d9\n0x10001b11c: fmov d3, d8\n0x10001b120: bl 0x10007a934\n0x10001b124: mov x8, #0x3cb0000000000000\n0x10001b128: fmov d1, x8\n0x10001b12c: fcmp d0, d1\n0x10001b130: b.le 0x10001b408\n0x10001b134: fmov d0, d11\n0x10001b138: fmov d1, d10\n0x10001b13c: fmov d2, d9\n0x10001b140: fmov d3, d8\n0x10001b144: bl 0x10007a9dc\n0x10001b148: fmov d9, d0\n0x10001b14c: fmov d10, d1\n0x10001b150: fmov d11, d2\n0x10001b154: fmov d12, d3\n0x10001b158: bl 0x10007a988\n0x10001b15c: fmov d8, d0\n0x10001b160: fmov d0, d9\n0x10001b164: fmov d1, d10\n0x10001b168: fmov d2, d11\n0x10001b16c: fmov d3, d12\n0x10001b170: bl 0x10007a934\n0x10001b174: str d0, [sp, #0x58]\n0x10001b178: mov x8, #0x3cb0000000000000\n0x10001b17c: fmov d0, x8\n0x10001b180: str d8, [sp, #0x48]\n0x10001b184: fcmp d8, d0\n0x10001b188: b.ls 0x10001b408\n0x10001b18c: fmov d0, x8\n0x10001b190: ldr d1, [sp, #0x58]\n0x10001b194: fcmp d1, d0\n0x10001b198: b.ls 0x10001b408\n0x10001b19c: ldr d1, [sp, #0x48]\n0x10001b1a0: fneg d0, d1\n0x10001b1a4: str d0, [sp, #0x8]\n0x10001b1a8: adrp x8, 0x100086000\n0x10001b1ac: ldr d0, [x8, #0x240]\n0x10001b1b0: fmul d4, d1, d0\n0x10001b1b4: ldr d1, [sp, #0x58]\n0x10001b1b8: fmul d5, d1, d0\n0x10001b1bc: fmov d0, d9\n0x10001b1c0: fmov d1, d10\n0x10001b1c4: fmov d2, d11\n0x10001b1c8: fmov d3, d12\n0x10001b1cc: bl 0x10007a994\n0x10001b1d0: stp d1, d0, [sp, #0x38]\n0x10001b1d4: stp d3, d2, [sp, #0x28]\n0x10001b1d8: mov x24, #0x0\n0x10001b1dc: mov x23, #0x0\n0x10001b1e0: mov x22, #0x0\n0x10001b1e4: mov x20, #0x0\n0x10001b1e8: adrp x8, 0x1000a8000\n0x10001b1ec: ldr x8, [x8, #0x140]\n0x10001b1f0: ldr d0, [x8]\n0x10001b1f4: mov x8, #-0x10000000000001\n0x10001b1f8: fmov d10, x8\n0x10001b1fc: mov x25, #0x7fefffffffffffff\n0x10001b200: fmov d9, x25\n0x10001b204: fmov d14, -0x4030000000000000\n0x10001b208: fmov d8, d9\n0x10001b20c: fmov d13, d10\n0x10001b210: fmov d12, d9\n0x10001b214: fmov d15, d10\n0x10001b218: str d9, [sp, #0x50]\n0x10001b21c: fmov d11, d10\n0x10001b220: stp d0, d0, [sp, #0x18]\n0x10001b224: str d0, [sp, #0x10]\n0x10001b228: mov x0, x19\n0x10001b22c: mov x2, x20\n0x10001b230: bl 0x1000803c0\n0x10001b234: cbz x0, 0x10001b408\n0x10001b238: mov x21, x0\n0x10001b23c: bl 0x10007c8c0\n0x10001b240: fmov x8, d0\n0x10001b244: and x8, x8, #0x7fffffffffffffff\n0x10001b248: cmp x8, x25\n0x10001b24c: b.gt 0x10001b408\n0x10001b250: mov x0, x21\n0x10001b254: bl 0x10007c8e0\n0x10001b258: fmov x8, d0\n0x10001b25c: and x8, x8, #0x7fffffffffffffff\n0x10001b260: cmp x8, x25\n0x10001b264: b.gt 0x10001b408\n0x10001b268: mov x0, x21\n0x10001b26c: bl 0x10007c8c0\n0x10001b270: fcmp d0, d14\n0x10001b274: b.mi 0x10001b408\n0x10001b278: mov x0, x21\n0x10001b27c: bl 0x10007c8c0\n0x10001b280: fmov d1, 0x3ff4000000000000\n0x10001b284: fcmp d0, d1\n0x10001b288: b.gt 0x10001b408\n0x10001b28c: mov x0, x21\n0x10001b290: bl 0x10007c8e0\n0x10001b294: fcmp d0, d14\n0x10001b298: b.mi 0x10001b408\n0x10001b29c: mov x0, x21\n0x10001b2a0: bl 0x10007c8e0\n0x10001b2a4: fmov d1, 0x3ff4000000000000\n0x10001b2a8: fcmp d0, d1\n0x10001b2ac: b.gt 0x10001b408\n0x10001b2b0: mov x0, x21\n0x10001b2b4: bl 0x10007c8c0\n0x10001b2b8: fcmp d9, d0\n0x10001b2bc: fcsel d9, d9, d0, mi\n0x10001b2c0: mov x0, x21\n0x10001b2c4: bl 0x10007c8c0\n0x10001b2c8: fcmp d10, d0\n0x10001b2cc: fcsel d10, d0, d10, mi\n0x10001b2d0: mov x0, x21\n0x10001b2d4: bl 0x10007c8e0\n0x10001b2d8: fcmp d8, d0\n0x10001b2dc: fcsel d8, d8, d0, mi\n0x10001b2e0: mov x0, x21\n0x10001b2e4: bl 0x10007c8e0\n0x10001b2e8: fcmp d13, d0\n0x10001b2ec: fcsel d13, d0, d13, mi\n0x10001b2f0: cmp x20, #0x3b\n0x10001b2f4: b.cc 0x10001b3e4\n0x10001b2f8: cmp x20, #0x4c\n0x10001b2fc: b.eq 0x10001b3e4\n0x10001b300: mov x0, x21\n0x10001b304: bl 0x10007c8c0\n0x10001b308: fmov d14, d0\n0x10001b30c: mov x0, x21\n0x10001b310: bl 0x10007c8e0\n0x10001b314: fmov d5, d0\n0x10001b318: ldp d1, d0, [sp, #0x38]\n0x10001b31c: ldp d3, d2, [sp, #0x28]\n0x10001b320: fmov d4, d14\n0x10001b324: fmov d14, -0x4030000000000000\n0x10001b328: bl 0x10007a910\n0x10001b32c: cbz w0, 0x10001b408\n0x10001b330: mov x0, x21\n0x10001b334: bl 0x10007c8c0\n0x10001b338: fcmp d12, d0\n0x10001b33c: fcsel d12, d12, d0, mi\n0x10001b340: mov x0, x21\n0x10001b344: bl 0x10007c8c0\n0x10001b348: fcmp d15, d0\n0x10001b34c: fcsel d15, d0, d15, mi\n0x10001b350: mov x0, x21\n0x10001b354: bl 0x10007c8e0\n0x10001b358: ldr d1, [sp, #0x50]\n0x10001b35c: fcmp d1, d0\n0x10001b360: fcsel d1, d1, d0, mi\n0x10001b364: str d1, [sp, #0x50]\n0x10001b368: mov x0, x21\n0x10001b36c: bl 0x10007c8e0\n0x10001b370: fcmp d11, d0\n0x10001b374: fcsel d11, d0, d11, mi\n0x10001b378: mov x0, x21\n0x10001b37c: cmp x20, #0x45\n0x10001b380: b.cc 0x10001b3a4\n0x10001b384: bl 0x10007c8c0\n0x10001b388: ldr d1, [sp, #0x20]\n0x10001b38c: fadd d1, d1, d0\n0x10001b390: str d1, [sp, #0x20]\n0x10001b394: mov x0, x21\n0x10001b398: bl 0x10007c8e0\n0x10001b39c: add x24, x24, #0x1\n0x10001b3a0: b 0x10001b3e4\n0x10001b3a4: bl 0x10007c8c0\n0x10001b3a8: fmov d14, d0\n0x10001b3ac: mov x0, x21\n0x10001b3b0: bl 0x10007c8e0\n0x10001b3b4: cmp x20, #0x41\n0x10001b3b8: b.hi 0x10001b3d0\n0x10001b3bc: ldr d0, [sp, #0x18]\n0x10001b3c0: fadd d0, d0, d14\n0x10001b3c4: str d0, [sp, #0x18]\n0x10001b3c8: add x23, x23, #0x1\n0x10001b3cc: b 0x10001b3e0\n0x10001b3d0: ldr d0, [sp, #0x10]\n0x10001b3d4: fadd d0, d0, d14\n0x10001b3d8: str d0, [sp, #0x10]\n0x10001b3dc: add x22, x22, #0x1\n0x10001b3e0: fmov d14, -0x4030000000000000\n0x10001b3e4: add x20, x20, #0x1\n0x10001b3e8: cmp x20, #0x4d\n0x10001b3ec: b.ne 0x10001b228\n0x10001b3f0: fsub d1, d10, d9\n0x10001b3f4: fmov d0, 0x3fd0000000000000\n0x10001b3f8: ldr d2, [sp, #0x48]\n0x10001b3fc: fmul d2, d2, d0\n0x10001b400: fcmp d1, d2\n0x10001b404: b.pl 0x10001b438\n0x10001b408: mov w0, #0x0\n0x10001b40c: ldp x29, x30, [sp, #0xe0]\n0x10001b410: ldp x20, x19, [sp, #0xd0]\n0x10001b414: ldp x22, x21, [sp, #0xc0]\n0x10001b418: ldp x24, x23, [sp, #0xb0]\n0x10001b41c: ldp x26, x25, [sp, #0xa0]\n0x10001b420: ldp d9, d8, [sp, #0x90]\n0x10001b424: ldp d11, d10, [sp, #0x80]\n0x10001b428: ldp d13, d12, [sp, #0x70]\n0x10001b42c: ldp d15, d14, [sp, #0x60]\n0x10001b430: add sp, sp, #0xf0\n0x10001b434: ret\n0x10001b438: fsub d1, d13, d8\n0x10001b43c: ldr d2, [sp, #0x58]\n0x10001b440: fmul d0, d2, d0\n0x10001b444: fcmp d1, d0\n0x10001b448: b.mi 0x10001b408\n0x10001b44c: fsub d0, d15, d12\n0x10001b450: adrp x8, 0x100086000\n0x10001b454: ldr d1, [x8, #0x118]\n0x10001b458: ldr d2, [sp, #0x48]\n0x10001b45c: fmul d1, d2, d1\n0x10001b460: fcmp d0, d1\n0x10001b464: b.mi 0x10001b408\n0x10001b468: ldp d1, d3, [sp, #0x50]\n0x10001b46c: fsub d1, d11, d1\n0x10001b470: adrp x8, 0x100086000\n0x10001b474: ldr d2, [x8, #0x318]\n0x10001b478: fmul d2, d3, d2\n0x10001b47c: fcmp d1, d2\n0x10001b480: b.mi 0x10001b408\n0x10001b484: adrp x8, 0x100086000\n0x10001b488: ldr d2, [x8, #0x368]\n0x10001b48c: ldr d3, [sp, #0x48]\n0x10001b490: fmul d3, d3, d2\n0x10001b494: fcmp d0, d3\n0x10001b498: b.gt 0x10001b408\n0x10001b49c: ldr d0, [sp, #0x58]\n0x10001b4a0: fmul d0, d0, d2\n0x10001b4a4: fcmp d1, d0\n0x10001b4a8: b.gt 0x10001b408\n0x10001b4ac: cbz x24, 0x10001b408\n0x10001b4b0: cbz x23, 0x10001b408\n0x10001b4b4: cbz x22, 0x10001b408\n0x10001b4b8: ucvtf d0, x24\n0x10001b4bc: ldp d2, d1, [sp, #0x18]\n0x10001b4c0: fdiv d0, d1, d0\n0x10001b4c4: ucvtf d1, x23\n0x10001b4c8: fdiv d1, d2, d1\n0x10001b4cc: fabd d2, d0, d1\n0x10001b4d0: adrp x8, 0x100086000\n0x10001b4d4: ldr d3, [x8, #0xa8]\n0x10001b4d8: ldr d4, [sp, #0x48]\n0x10001b4dc: fmul d3, d4, d3\n0x10001b4e0: fcmp d2, d3\n0x10001b4e4: b.mi 0x10001b408\n0x10001b4e8: fcmp d0, d1\n0x10001b4ec: fcsel d2, d1, d0, mi\n0x10001b4f0: adrp x8, 0x100086000\n0x10001b4f4: ldr d3, [x8, #0x228]\n0x10001b4f8: ucvtf d4, x22\n0x10001b4fc: ldr d5, [sp, #0x48]\n0x10001b500: fmadd d2, d5, d3, d2\n0x10001b504: ldr d5, [sp, #0x10]\n0x10001b508: fdiv d4, d5, d4\n0x10001b50c: fcsel d0, d0, d1, mi\n0x10001b510: ldr d1, [sp, #0x8]\n0x10001b514: fmadd d0, d1, d3, d0\n0x10001b518: fcmp d4, d0\n0x10001b51c: fccmp d4, d2, #0x0, pl\n0x10001b520: b.gt 0x10001b408\n0x10001b524: mov x0, x19\n0x10001b528: mov w2, #0x4c\n0x10001b52c: bl 0x1000803c0\n0x10001b530: cbz x0, 0x10001b408\n0x10001b534: mov x19, x0\n0x10001b538: bl 0x10007c8c0\n0x10001b53c: fmov d8, d0\n0x10001b540: mov x0, x19\n0x10001b544: bl 0x10007c8e0\n0x10001b548: fmov d5, d0\n0x10001b54c: ldp d1, d0, [sp, #0x38]\n0x10001b550: ldp d3, d2, [sp, #0x28]\n0x10001b554: fmov d4, d8\n0x10001b558: ldp x29, x30, [sp, #0xe0]\n0x10001b55c: ldp x20, x19, [sp, #0xd0]\n0x10001b560: ldp x22, x21, [sp, #0xc0]\n0x10001b564: ldp x24, x23, [sp, #0xb0]\n0x10001b568: ldp x26, x25, [sp, #0xa0]\n0x10001b56c: ldp d9, d8, [sp, #0x90]\n0x10001b570: ldp d11, d10, [sp, #0x80]\n0x10001b574: ldp d13, d12, [sp, #0x70]\n0x10001b578: ldp d15, d14, [sp, #0x60]\n0x10001b57c: add sp, sp, #0xf0\n0x10001b580: b 0x10007a910", "operation": "procedure_assembly", "parameters": { "procedure": "0x10001b070" }, "predicate_type": "rea.analysis", "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" }, "raw_result": { "limitations": [ "Ghidra Listing reports a terminal call at 0x10001b580 to 0x10007a910 _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": "0x10001b070: sub sp, sp, #0xf0\n0x10001b074: stp d15, d14, [sp, #0x60]\n0x10001b078: stp d13, d12, [sp, #0x70]\n0x10001b07c: stp d11, d10, [sp, #0x80]\n0x10001b080: stp d9, d8, [sp, #0x90]\n0x10001b084: stp x26, x25, [sp, #0xa0]\n0x10001b088: stp x24, x23, [sp, #0xb0]\n0x10001b08c: stp x22, x21, [sp, #0xc0]\n0x10001b090: stp x20, x19, [sp, #0xd0]\n0x10001b094: stp x29, x30, [sp, #0xe0]\n0x10001b098: add x29, sp, #0xe0\n0x10001b09c: fmov d8, d3\n0x10001b0a0: fmov d9, d2\n0x10001b0a4: fmov d10, d1\n0x10001b0a8: fmov d11, d0\n0x10001b0ac: mov x19, x0\n0x10001b0b0: bl 0x10007d560\n0x10001b0b4: cmp x0, #0x4d\n0x10001b0b8: b.cc 0x10001b408\n0x10001b0bc: fmov d0, d11\n0x10001b0c0: fmov d1, d10\n0x10001b0c4: fmov d2, d9\n0x10001b0c8: fmov d3, d8\n0x10001b0cc: bl 0x10007a9d0\n0x10001b0d0: tbnz w0, #0x0, 0x10001b408\n0x10001b0d4: fmov d0, d11\n0x10001b0d8: fmov d1, d10\n0x10001b0dc: fmov d2, d9\n0x10001b0e0: fmov d3, d8\n0x10001b0e4: bl 0x10007a9b8\n0x10001b0e8: tbnz w0, #0x0, 0x10001b408\n0x10001b0ec: fmov d0, d11\n0x10001b0f0: fmov d1, d10\n0x10001b0f4: fmov d2, d9\n0x10001b0f8: fmov d3, d8\n0x10001b0fc: bl 0x10007a988\n0x10001b100: mov x8, #0x3cb0000000000000\n0x10001b104: fmov d1, x8\n0x10001b108: fcmp d0, d1\n0x10001b10c: b.le 0x10001b408\n0x10001b110: fmov d0, d11\n0x10001b114: fmov d1, d10\n0x10001b118: fmov d2, d9\n0x10001b11c: fmov d3, d8\n0x10001b120: bl 0x10007a934\n0x10001b124: mov x8, #0x3cb0000000000000\n0x10001b128: fmov d1, x8\n0x10001b12c: fcmp d0, d1\n0x10001b130: b.le 0x10001b408\n0x10001b134: fmov d0, d11\n0x10001b138: fmov d1, d10\n0x10001b13c: fmov d2, d9\n0x10001b140: fmov d3, d8\n0x10001b144: bl 0x10007a9dc\n0x10001b148: fmov d9, d0\n0x10001b14c: fmov d10, d1\n0x10001b150: fmov d11, d2\n0x10001b154: fmov d12, d3\n0x10001b158: bl 0x10007a988\n0x10001b15c: fmov d8, d0\n0x10001b160: fmov d0, d9\n0x10001b164: fmov d1, d10\n0x10001b168: fmov d2, d11\n0x10001b16c: fmov d3, d12\n0x10001b170: bl 0x10007a934\n0x10001b174: str d0, [sp, #0x58]\n0x10001b178: mov x8, #0x3cb0000000000000\n0x10001b17c: fmov d0, x8\n0x10001b180: str d8, [sp, #0x48]\n0x10001b184: fcmp d8, d0\n0x10001b188: b.ls 0x10001b408\n0x10001b18c: fmov d0, x8\n0x10001b190: ldr d1, [sp, #0x58]\n0x10001b194: fcmp d1, d0\n0x10001b198: b.ls 0x10001b408\n0x10001b19c: ldr d1, [sp, #0x48]\n0x10001b1a0: fneg d0, d1\n0x10001b1a4: str d0, [sp, #0x8]\n0x10001b1a8: adrp x8, 0x100086000\n0x10001b1ac: ldr d0, [x8, #0x240]\n0x10001b1b0: fmul d4, d1, d0\n0x10001b1b4: ldr d1, [sp, #0x58]\n0x10001b1b8: fmul d5, d1, d0\n0x10001b1bc: fmov d0, d9\n0x10001b1c0: fmov d1, d10\n0x10001b1c4: fmov d2, d11\n0x10001b1c8: fmov d3, d12\n0x10001b1cc: bl 0x10007a994\n0x10001b1d0: stp d1, d0, [sp, #0x38]\n0x10001b1d4: stp d3, d2, [sp, #0x28]\n0x10001b1d8: mov x24, #0x0\n0x10001b1dc: mov x23, #0x0\n0x10001b1e0: mov x22, #0x0\n0x10001b1e4: mov x20, #0x0\n0x10001b1e8: adrp x8, 0x1000a8000\n0x10001b1ec: ldr x8, [x8, #0x140]\n0x10001b1f0: ldr d0, [x8]\n0x10001b1f4: mov x8, #-0x10000000000001\n0x10001b1f8: fmov d10, x8\n0x10001b1fc: mov x25, #0x7fefffffffffffff\n0x10001b200: fmov d9, x25\n0x10001b204: fmov d14, -0x4030000000000000\n0x10001b208: fmov d8, d9\n0x10001b20c: fmov d13, d10\n0x10001b210: fmov d12, d9\n0x10001b214: fmov d15, d10\n0x10001b218: str d9, [sp, #0x50]\n0x10001b21c: fmov d11, d10\n0x10001b220: stp d0, d0, [sp, #0x18]\n0x10001b224: str d0, [sp, #0x10]\n0x10001b228: mov x0, x19\n0x10001b22c: mov x2, x20\n0x10001b230: bl 0x1000803c0\n0x10001b234: cbz x0, 0x10001b408\n0x10001b238: mov x21, x0\n0x10001b23c: bl 0x10007c8c0\n0x10001b240: fmov x8, d0\n0x10001b244: and x8, x8, #0x7fffffffffffffff\n0x10001b248: cmp x8, x25\n0x10001b24c: b.gt 0x10001b408\n0x10001b250: mov x0, x21\n0x10001b254: bl 0x10007c8e0\n0x10001b258: fmov x8, d0\n0x10001b25c: and x8, x8, #0x7fffffffffffffff\n0x10001b260: cmp x8, x25\n0x10001b264: b.gt 0x10001b408\n0x10001b268: mov x0, x21\n0x10001b26c: bl 0x10007c8c0\n0x10001b270: fcmp d0, d14\n0x10001b274: b.mi 0x10001b408\n0x10001b278: mov x0, x21\n0x10001b27c: bl 0x10007c8c0\n0x10001b280: fmov d1, 0x3ff4000000000000\n0x10001b284: fcmp d0, d1\n0x10001b288: b.gt 0x10001b408\n0x10001b28c: mov x0, x21\n0x10001b290: bl 0x10007c8e0\n0x10001b294: fcmp d0, d14\n0x10001b298: b.mi 0x10001b408\n0x10001b29c: mov x0, x21\n0x10001b2a0: bl 0x10007c8e0\n0x10001b2a4: fmov d1, 0x3ff4000000000000\n0x10001b2a8: fcmp d0, d1\n0x10001b2ac: b.gt 0x10001b408\n0x10001b2b0: mov x0, x21\n0x10001b2b4: bl 0x10007c8c0\n0x10001b2b8: fcmp d9, d0\n0x10001b2bc: fcsel d9, d9, d0, mi\n0x10001b2c0: mov x0, x21\n0x10001b2c4: bl 0x10007c8c0\n0x10001b2c8: fcmp d10, d0\n0x10001b2cc: fcsel d10, d0, d10, mi\n0x10001b2d0: mov x0, x21\n0x10001b2d4: bl 0x10007c8e0\n0x10001b2d8: fcmp d8, d0\n0x10001b2dc: fcsel d8, d8, d0, mi\n0x10001b2e0: mov x0, x21\n0x10001b2e4: bl 0x10007c8e0\n0x10001b2e8: fcmp d13, d0\n0x10001b2ec: fcsel d13, d0, d13, mi\n0x10001b2f0: cmp x20, #0x3b\n0x10001b2f4: b.cc 0x10001b3e4\n0x10001b2f8: cmp x20, #0x4c\n0x10001b2fc: b.eq 0x10001b3e4\n0x10001b300: mov x0, x21\n0x10001b304: bl 0x10007c8c0\n0x10001b308: fmov d14, d0\n0x10001b30c: mov x0, x21\n0x10001b310: bl 0x10007c8e0\n0x10001b314: fmov d5, d0\n0x10001b318: ldp d1, d0, [sp, #0x38]\n0x10001b31c: ldp d3, d2, [sp, #0x28]\n0x10001b320: fmov d4, d14\n0x10001b324: fmov d14, -0x4030000000000000\n0x10001b328: bl 0x10007a910\n0x10001b32c: cbz w0, 0x10001b408\n0x10001b330: mov x0, x21\n0x10001b334: bl 0x10007c8c0\n0x10001b338: fcmp d12, d0\n0x10001b33c: fcsel d12, d12, d0, mi\n0x10001b340: mov x0, x21\n0x10001b344: bl 0x10007c8c0\n0x10001b348: fcmp d15, d0\n0x10001b34c: fcsel d15, d0, d15, mi\n0x10001b350: mov x0, x21\n0x10001b354: bl 0x10007c8e0\n0x10001b358: ldr d1, [sp, #0x50]\n0x10001b35c: fcmp d1, d0\n0x10001b360: fcsel d1, d1, d0, mi\n0x10001b364: str d1, [sp, #0x50]\n0x10001b368: mov x0, x21\n0x10001b36c: bl 0x10007c8e0\n0x10001b370: fcmp d11, d0\n0x10001b374: fcsel d11, d0, d11, mi\n0x10001b378: mov x0, x21\n0x10001b37c: cmp x20, #0x45\n0x10001b380: b.cc 0x10001b3a4\n0x10001b384: bl 0x10007c8c0\n0x10001b388: ldr d1, [sp, #0x20]\n0x10001b38c: fadd d1, d1, d0\n0x10001b390: str d1, [sp, #0x20]\n0x10001b394: mov x0, x21\n0x10001b398: bl 0x10007c8e0\n0x10001b39c: add x24, x24, #0x1\n0x10001b3a0: b 0x10001b3e4\n0x10001b3a4: bl 0x10007c8c0\n0x10001b3a8: fmov d14, d0\n0x10001b3ac: mov x0, x21\n0x10001b3b0: bl 0x10007c8e0\n0x10001b3b4: cmp x20, #0x41\n0x10001b3b8: b.hi 0x10001b3d0\n0x10001b3bc: ldr d0, [sp, #0x18]\n0x10001b3c0: fadd d0, d0, d14\n0x10001b3c4: str d0, [sp, #0x18]\n0x10001b3c8: add x23, x23, #0x1\n0x10001b3cc: b 0x10001b3e0\n0x10001b3d0: ldr d0, [sp, #0x10]\n0x10001b3d4: fadd d0, d0, d14\n0x10001b3d8: str d0, [sp, #0x10]\n0x10001b3dc: add x22, x22, #0x1\n0x10001b3e0: fmov d14, -0x4030000000000000\n0x10001b3e4: add x20, x20, #0x1\n0x10001b3e8: cmp x20, #0x4d\n0x10001b3ec: b.ne 0x10001b228\n0x10001b3f0: fsub d1, d10, d9\n0x10001b3f4: fmov d0, 0x3fd0000000000000\n0x10001b3f8: ldr d2, [sp, #0x48]\n0x10001b3fc: fmul d2, d2, d0\n0x10001b400: fcmp d1, d2\n0x10001b404: b.pl 0x10001b438\n0x10001b408: mov w0, #0x0\n0x10001b40c: ldp x29, x30, [sp, #0xe0]\n0x10001b410: ldp x20, x19, [sp, #0xd0]\n0x10001b414: ldp x22, x21, [sp, #0xc0]\n0x10001b418: ldp x24, x23, [sp, #0xb0]\n0x10001b41c: ldp x26, x25, [sp, #0xa0]\n0x10001b420: ldp d9, d8, [sp, #0x90]\n0x10001b424: ldp d11, d10, [sp, #0x80]\n0x10001b428: ldp d13, d12, [sp, #0x70]\n0x10001b42c: ldp d15, d14, [sp, #0x60]\n0x10001b430: add sp, sp, #0xf0\n0x10001b434: ret\n0x10001b438: fsub d1, d13, d8\n0x10001b43c: ldr d2, [sp, #0x58]\n0x10001b440: fmul d0, d2, d0\n0x10001b444: fcmp d1, d0\n0x10001b448: b.mi 0x10001b408\n0x10001b44c: fsub d0, d15, d12\n0x10001b450: adrp x8, 0x100086000\n0x10001b454: ldr d1, [x8, #0x118]\n0x10001b458: ldr d2, [sp, #0x48]\n0x10001b45c: fmul d1, d2, d1\n0x10001b460: fcmp d0, d1\n0x10001b464: b.mi 0x10001b408\n0x10001b468: ldp d1, d3, [sp, #0x50]\n0x10001b46c: fsub d1, d11, d1\n0x10001b470: adrp x8, 0x100086000\n0x10001b474: ldr d2, [x8, #0x318]\n0x10001b478: fmul d2, d3, d2\n0x10001b47c: fcmp d1, d2\n0x10001b480: b.mi 0x10001b408\n0x10001b484: adrp x8, 0x100086000\n0x10001b488: ldr d2, [x8, #0x368]\n0x10001b48c: ldr d3, [sp, #0x48]\n0x10001b490: fmul d3, d3, d2\n0x10001b494: fcmp d0, d3\n0x10001b498: b.gt 0x10001b408\n0x10001b49c: ldr d0, [sp, #0x58]\n0x10001b4a0: fmul d0, d0, d2\n0x10001b4a4: fcmp d1, d0\n0x10001b4a8: b.gt 0x10001b408\n0x10001b4ac: cbz x24, 0x10001b408\n0x10001b4b0: cbz x23, 0x10001b408\n0x10001b4b4: cbz x22, 0x10001b408\n0x10001b4b8: ucvtf d0, x24\n0x10001b4bc: ldp d2, d1, [sp, #0x18]\n0x10001b4c0: fdiv d0, d1, d0\n0x10001b4c4: ucvtf d1, x23\n0x10001b4c8: fdiv d1, d2, d1\n0x10001b4cc: fabd d2, d0, d1\n0x10001b4d0: adrp x8, 0x100086000\n0x10001b4d4: ldr d3, [x8, #0xa8]\n0x10001b4d8: ldr d4, [sp, #0x48]\n0x10001b4dc: fmul d3, d4, d3\n0x10001b4e0: fcmp d2, d3\n0x10001b4e4: b.mi 0x10001b408\n0x10001b4e8: fcmp d0, d1\n0x10001b4ec: fcsel d2, d1, d0, mi\n0x10001b4f0: adrp x8, 0x100086000\n0x10001b4f4: ldr d3, [x8, #0x228]\n0x10001b4f8: ucvtf d4, x22\n0x10001b4fc: ldr d5, [sp, #0x48]\n0x10001b500: fmadd d2, d5, d3, d2\n0x10001b504: ldr d5, [sp, #0x10]\n0x10001b508: fdiv d4, d5, d4\n0x10001b50c: fcsel d0, d0, d1, mi\n0x10001b510: ldr d1, [sp, #0x8]\n0x10001b514: fmadd d0, d1, d3, d0\n0x10001b518: fcmp d4, d0\n0x10001b51c: fccmp d4, d2, #0x0, pl\n0x10001b520: b.gt 0x10001b408\n0x10001b524: mov x0, x19\n0x10001b528: mov w2, #0x4c\n0x10001b52c: bl 0x1000803c0\n0x10001b530: cbz x0, 0x10001b408\n0x10001b534: mov x19, x0\n0x10001b538: bl 0x10007c8c0\n0x10001b53c: fmov d8, d0\n0x10001b540: mov x0, x19\n0x10001b544: bl 0x10007c8e0\n0x10001b548: fmov d5, d0\n0x10001b54c: ldp d1, d0, [sp, #0x38]\n0x10001b550: ldp d3, d2, [sp, #0x28]\n0x10001b554: fmov d4, d8\n0x10001b558: ldp x29, x30, [sp, #0xe0]\n0x10001b55c: ldp x20, x19, [sp, #0xd0]\n0x10001b560: ldp x22, x21, [sp, #0xc0]\n0x10001b564: ldp x24, x23, [sp, #0xb0]\n0x10001b568: ldp x26, x25, [sp, #0xa0]\n0x10001b56c: ldp d9, d8, [sp, #0x90]\n0x10001b570: ldp d11, d10, [sp, #0x80]\n0x10001b574: ldp d13, d12, [sp, #0x70]\n0x10001b578: ldp d15, d14, [sp, #0x60]\n0x10001b57c: add sp, sp, #0xf0\n0x10001b580: b 0x10007a910" }, "subject": { "architecture": "arm64", "digest": { "sha256": "afc71d0d21fd3c1ca95ca745ddafcd729e36ad95f17d8638009f2e45d9b7e8df" }, "format": "mach-o", "local_path": "/Users/dayu/Documents/PaintFCP/build/body-analysis/MSE18V2-arm64", "name": "MSE18V2-arm64" } }, { "analysis_profile": { "digest": "20565088524a2d0359b9b96f46ac48e679d774c7b0092c56abc06de8fdbec11c", "parameters": { "analyzer_preset": "ghidra-default", "annotation_policy": "atomic-function-entry-metadata-v1", "architecture": "arm64", "available_architectures": [ "arm64" ], "compiler_spec_id": "auto-default", "decompiler_jump_loads": true, "function_body_evidence": "complete-inclusive-ranges-v1", "function_boundary_observations": "ghidra-terminal-call-limitations-v1", "function_references": "complete-body-and-entry-reference-manager-v2", "import_mode": "ephemeral-source-immutable", "instruction_flow_evidence": "decoded-return-pcode-v1", "jump_table_evidence": "typed-case-default-blocks-v1", "language_id": "auto-from-header", "load_image_observations": "source-mappings-entry-context-v2", "loader": "auto-from-header", "location_resolution": "explicit-address-exact-entry-symbol-first-v3", "no_return_repair": "returning-imports-decoded-return-v2", "process_launch": "inspected-jvm-launch-support-v1", "string_inventory_evidence": "defined-data-coverage-v1", "target_format": "mach-o", "target_kind": "executable" }, "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" } }, "authority": "shipped-artifact", "confidence": "observed", "environment": null, "evidence_id": "ev_a89c1a83d7c13eac0b2cbeafa67dcde6a9d995d5a50431a077063528b6fe761a", "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 0x100050864 to 0x10007aca0 ___stack_chk_fail (external=false, thunk=true, hasNoReturn=true); fallthrough is excluded by Ghidra's flow model. This records Ghidra's FunctionManager flag, not an independent verification that the callee cannot return.", "macOS sessions require a matching executable Ghidra native decompiler; REA checks for it but does not build native components or change Gatekeeper quarantine state." ], "locations": [], "normalized_result": "\n/* WARNING: Function: _objc_autorelease replaced with injection: _objc_retain_fixup */\n\nvoid FUN_100050634(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4,\n undefined8 param_5,undefined8 param_6,ID param_7,long *param_8)\n\n{\n uint uVar1;\n undefined8 uVar2;\n undefined8 uVar3;\n undefined8 uVar4;\n ID IVar5;\n ulong uVar6;\n undefined *self;\n ID IVar7;\n ID IVar8;\n undefined8 uVar9;\n undefined8 local_80;\n undefined8 uStack_78;\n undefined8 local_70;\n undefined8 uStack_68;\n undefined8 local_60;\n long local_58;\n \n local_58 = *(long *)PTR____stack_chk_guard_1000a80e8;\n if (param_8 != (long *)0x0) {\n *param_8 = 0;\n }\n local_80 = param_1;\n uStack_78 = param_2;\n local_70 = param_3;\n uStack_68 = param_4;\n IVar5 = objc_stub::length(param_7);\n if (IVar5 != 0) {\n objc_stub::stringByAppendingString_(param_7,&cf__cg);\n }\n FUN_1000502b0(param_1,param_2,param_3,param_4,param_5,&local_80);\n uVar6 = objc_stub::length(0x1000aed00);\n uVar4 = uStack_68;\n uVar3 = local_70;\n uVar2 = uStack_78;\n uVar9 = local_80;\n _CGRectIsEmpty(local_80,uStack_78,local_70,uStack_68);\n if ((uVar6 & 1) == 0) {\n if (DAT_1000be140 != -1) {\n FUN_100079cf0();\n }\n IVar5 = DAT_1000be138;\n if (DAT_1000be138 == 0) goto LAB_100050808;\n IVar7 = DAT_1000be138;\n _objc_opt_respondsToSelector(DAT_1000be138,\"createCGImage:fromRect:format:colorSpace:deferred:\")\n ;\n if ((IVar7 & 1) == 0) {\n IVar5 = objc_stub::createCGImage_fromRect_(IVar5,uVar9,uVar2,uVar3,uVar4,param_5);\n }\n else {\n uVar1 = *(uint *)PTR__kCIFormatRGBA8_1000a81b0;\n if (DAT_1000bdf18 != -1) {\n FUN_100079628();\n }\n IVar5 = objc_stub::createCGImage_fromRect_format_colorSpace_deferred_\n (IVar5,uVar9,uVar2,uVar3,uVar4,param_5,(ulong)uVar1,DAT_1000bdf10,0);\n }\n if (IVar5 == 0) goto LAB_100050808;\n self = &_OBJC_CLASS___VNImageRequestHandler;\n _objc_alloc();\n IVar7 = objc_stub::initWithCGImage_orientation_options_\n ((ID)self,IVar5,1,PTR____NSDictionary0__struct_1000a8118);\n local_60 = param_6;\n IVar8 = NSArray::arrayWithObjects_count_((ID)&_OBJC_CLASS___NSArray,&local_60,1);\n IVar7 = objc_stub::performRequests_error_(IVar7,IVar8,param_8);\n _CGImageRelease(IVar5);\n if (((int)IVar7 != 0) && ((param_8 == (long *)0x0 || (*param_8 == 0)))) {\n uVar9 = 1;\n goto LAB_100050818;\n }\n }\n else {\nLAB_100050808:\n _NSStringFromRect(local_80,uStack_78,local_70,uStack_68);\n }\n uVar9 = 0;\nLAB_100050818:\n if (*(long *)PTR____stack_chk_guard_1000a80e8 == local_58) {\n return;\n }\n /* WARNING: Subroutine does not return */\n ___stack_chk_fail(uVar9);\n}\n\n", "operation": "procedure_pseudo_code", "parameters": { "procedure": "0x100050634" }, "predicate_type": "rea.analysis", "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" }, "raw_result": { "limitations": [ "Ghidra Listing reports a terminal call at 0x100050864 to 0x10007aca0 ___stack_chk_fail (external=false, thunk=true, hasNoReturn=true); fallthrough is excluded by Ghidra's flow model. This records Ghidra's FunctionManager flag, not an independent verification that the callee cannot return." ], "value": "\n/* WARNING: Function: _objc_autorelease replaced with injection: _objc_retain_fixup */\n\nvoid FUN_100050634(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4,\n undefined8 param_5,undefined8 param_6,ID param_7,long *param_8)\n\n{\n uint uVar1;\n undefined8 uVar2;\n undefined8 uVar3;\n undefined8 uVar4;\n ID IVar5;\n ulong uVar6;\n undefined *self;\n ID IVar7;\n ID IVar8;\n undefined8 uVar9;\n undefined8 local_80;\n undefined8 uStack_78;\n undefined8 local_70;\n undefined8 uStack_68;\n undefined8 local_60;\n long local_58;\n \n local_58 = *(long *)PTR____stack_chk_guard_1000a80e8;\n if (param_8 != (long *)0x0) {\n *param_8 = 0;\n }\n local_80 = param_1;\n uStack_78 = param_2;\n local_70 = param_3;\n uStack_68 = param_4;\n IVar5 = objc_stub::length(param_7);\n if (IVar5 != 0) {\n objc_stub::stringByAppendingString_(param_7,&cf__cg);\n }\n FUN_1000502b0(param_1,param_2,param_3,param_4,param_5,&local_80);\n uVar6 = objc_stub::length(0x1000aed00);\n uVar4 = uStack_68;\n uVar3 = local_70;\n uVar2 = uStack_78;\n uVar9 = local_80;\n _CGRectIsEmpty(local_80,uStack_78,local_70,uStack_68);\n if ((uVar6 & 1) == 0) {\n if (DAT_1000be140 != -1) {\n FUN_100079cf0();\n }\n IVar5 = DAT_1000be138;\n if (DAT_1000be138 == 0) goto LAB_100050808;\n IVar7 = DAT_1000be138;\n _objc_opt_respondsToSelector(DAT_1000be138,\"createCGImage:fromRect:format:colorSpace:deferred:\")\n ;\n if ((IVar7 & 1) == 0) {\n IVar5 = objc_stub::createCGImage_fromRect_(IVar5,uVar9,uVar2,uVar3,uVar4,param_5);\n }\n else {\n uVar1 = *(uint *)PTR__kCIFormatRGBA8_1000a81b0;\n if (DAT_1000bdf18 != -1) {\n FUN_100079628();\n }\n IVar5 = objc_stub::createCGImage_fromRect_format_colorSpace_deferred_\n (IVar5,uVar9,uVar2,uVar3,uVar4,param_5,(ulong)uVar1,DAT_1000bdf10,0);\n }\n if (IVar5 == 0) goto LAB_100050808;\n self = &_OBJC_CLASS___VNImageRequestHandler;\n _objc_alloc();\n IVar7 = objc_stub::initWithCGImage_orientation_options_\n ((ID)self,IVar5,1,PTR____NSDictionary0__struct_1000a8118);\n local_60 = param_6;\n IVar8 = NSArray::arrayWithObjects_count_((ID)&_OBJC_CLASS___NSArray,&local_60,1);\n IVar7 = objc_stub::performRequests_error_(IVar7,IVar8,param_8);\n _CGImageRelease(IVar5);\n if (((int)IVar7 != 0) && ((param_8 == (long *)0x0 || (*param_8 == 0)))) {\n uVar9 = 1;\n goto LAB_100050818;\n }\n }\n else {\nLAB_100050808:\n _NSStringFromRect(local_80,uStack_78,local_70,uStack_68);\n }\n uVar9 = 0;\nLAB_100050818:\n if (*(long *)PTR____stack_chk_guard_1000a80e8 == local_58) {\n return;\n }\n /* WARNING: Subroutine does not return */\n ___stack_chk_fail(uVar9);\n}\n\n" }, "subject": { "architecture": "arm64", "digest": { "sha256": "afc71d0d21fd3c1ca95ca745ddafcd729e36ad95f17d8638009f2e45d9b7e8df" }, "format": "mach-o", "local_path": "/Users/dayu/Documents/PaintFCP/build/body-analysis/MSE18V2-arm64", "name": "MSE18V2-arm64" } }, { "analysis_profile": { "digest": "20565088524a2d0359b9b96f46ac48e679d774c7b0092c56abc06de8fdbec11c", "parameters": { "analyzer_preset": "ghidra-default", "annotation_policy": "atomic-function-entry-metadata-v1", "architecture": "arm64", "available_architectures": [ "arm64" ], "compiler_spec_id": "auto-default", "decompiler_jump_loads": true, "function_body_evidence": "complete-inclusive-ranges-v1", "function_boundary_observations": "ghidra-terminal-call-limitations-v1", "function_references": "complete-body-and-entry-reference-manager-v2", "import_mode": "ephemeral-source-immutable", "instruction_flow_evidence": "decoded-return-pcode-v1", "jump_table_evidence": "typed-case-default-blocks-v1", "language_id": "auto-from-header", "load_image_observations": "source-mappings-entry-context-v2", "loader": "auto-from-header", "location_resolution": "explicit-address-exact-entry-symbol-first-v3", "no_return_repair": "returning-imports-decoded-return-v2", "process_launch": "inspected-jvm-launch-support-v1", "string_inventory_evidence": "defined-data-coverage-v1", "target_format": "mach-o", "target_kind": "executable" }, "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" } }, "authority": "shipped-artifact", "confidence": "observed", "environment": null, "evidence_id": "ev_a9a6991c21a0e41b6bb6dc5d0dd83cbfa20b556fc8086c46ccdf486bd3bec69a", "evidence_links": [], "limitations": [ "The session serves operations only after Ghidra reports default auto-analysis complete; incomplete analysis does not expose partial results.", "The imported Program and temporary project are ephemeral and deleted on close. Annotation operations edit session database metadata; original executable bytes are never written.", "Cancelling an active Ghidra request terminates its ephemeral database and discards session annotations. The selected target remains open; the next provider query imports the original artifact again.", "Default-space addresses use lowercase 0x-prefixed hexadecimal; other address spaces use :0x.", "Assembly is Ghidra Listing text and does not claim textual equivalence with Hopper output.", "Ghidra Listing reports a terminal call at 0x100079cd8 to 0x10007ad0c _dispatch_once (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": "0x100079cc8: adrp x0, 0x1000bd000\n0x100079ccc: add x0, x0, #0xf40\n0x100079cd0: adrp x1, 0x1000a8000\n0x100079cd4: add x1, x1, #0xb18\n0x100079cd8: b 0x10007ad0c", "operation": "procedure_assembly", "parameters": { "procedure": "0x100079cc8" }, "predicate_type": "rea.analysis", "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" }, "raw_result": { "limitations": [ "Ghidra Listing reports a terminal call at 0x100079cd8 to 0x10007ad0c _dispatch_once (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": "0x100079cc8: adrp x0, 0x1000bd000\n0x100079ccc: add x0, x0, #0xf40\n0x100079cd0: adrp x1, 0x1000a8000\n0x100079cd4: add x1, x1, #0xb18\n0x100079cd8: b 0x10007ad0c" }, "subject": { "architecture": "arm64", "digest": { "sha256": "afc71d0d21fd3c1ca95ca745ddafcd729e36ad95f17d8638009f2e45d9b7e8df" }, "format": "mach-o", "local_path": "/Users/dayu/Documents/PaintFCP/build/body-analysis/MSE18V2-arm64", "name": "MSE18V2-arm64" } }, { "analysis_profile": { "digest": "20565088524a2d0359b9b96f46ac48e679d774c7b0092c56abc06de8fdbec11c", "parameters": { "analyzer_preset": "ghidra-default", "annotation_policy": "atomic-function-entry-metadata-v1", "architecture": "arm64", "available_architectures": [ "arm64" ], "compiler_spec_id": "auto-default", "decompiler_jump_loads": true, "function_body_evidence": "complete-inclusive-ranges-v1", "function_boundary_observations": "ghidra-terminal-call-limitations-v1", "function_references": "complete-body-and-entry-reference-manager-v2", "import_mode": "ephemeral-source-immutable", "instruction_flow_evidence": "decoded-return-pcode-v1", "jump_table_evidence": "typed-case-default-blocks-v1", "language_id": "auto-from-header", "load_image_observations": "source-mappings-entry-context-v2", "loader": "auto-from-header", "location_resolution": "explicit-address-exact-entry-symbol-first-v3", "no_return_repair": "returning-imports-decoded-return-v2", "process_launch": "inspected-jvm-launch-support-v1", "string_inventory_evidence": "defined-data-coverage-v1", "target_format": "mach-o", "target_kind": "executable" }, "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" } }, "authority": "shipped-artifact", "confidence": "observed", "environment": null, "evidence_id": "ev_ab6153be535ae5c395e0375c021af364aad35e9a38a31e78be6584a6775a4882", "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 0x10001a868 to 0x10007aca0 ___stack_chk_fail (external=false, thunk=true, hasNoReturn=true); fallthrough is excluded by Ghidra's flow model. This records Ghidra's FunctionManager flag, not an independent verification that the callee cannot return.", "macOS sessions require a matching executable Ghidra native decompiler; REA checks for it but does not build native components or change Gatekeeper quarantine state." ], "locations": [], "normalized_result": "\n/* WARNING: Function: _objc_retain replaced with injection: _objc_retain_fixup */\n/* WARNING: Function: _objc_release replaced with injection: _objc_release_fixup */\n/* Function Stack Size: 0x50 bytes */\n\nID MSSuperSkinSmoothingPlugIn::mss_faceThinRememberedPointsForBox_renderTime_source_\n (ID param_1,SEL param_2,CGRect param_3,AnonymousStructure0 param_4,ID param_5)\n\n{\n uint uVar1;\n ID IVar2;\n ID self;\n ID self_00;\n ID IVar3;\n ulong uVar4;\n double *pdVar5;\n long lVar6;\n ID self_01;\n ID IVar7;\n ID self_02;\n double in_d0;\n double extraout_d0;\n double dVar8;\n double dVar9;\n double extraout_d0_00;\n double dVar10;\n double dVar11;\n double dVar12;\n double dVar13;\n double dVar14;\n undefined8 in_d1;\n double dVar15;\n double dVar16;\n double dVar17;\n double in_d2;\n double dVar18;\n undefined8 in_d3;\n undefined8 uVar19;\n undefined8 uVar20;\n double dVar21;\n double dVar22;\n undefined8 local_218;\n double dStack_210;\n double local_208;\n double dStack_200;\n double local_1f0;\n ID local_1e8;\n double local_1d0;\n undefined8 local_190;\n long lStack_188;\n long *local_180;\n undefined8 uStack_178;\n undefined8 local_170;\n undefined8 uStack_168;\n undefined8 uStack_160;\n undefined8 uStack_158;\n double local_150;\n double dStack_148;\n double local_140;\n undefined1 auStack_130 [128];\n long local_b0;\n \n pdVar5 = param_3.field0_0x0.field0_0x0;\n local_b0 = *(long *)PTR____stack_chk_guard_1000a80e8;\n IVar2 = param_1;\n _CGRectStandardize();\n _CGRectIntersection();\n _CGRectIsNull();\n if (((((IVar2 & 1) == 0) && (_CGRectIsEmpty(in_d0,in_d1,in_d2,in_d3), (IVar2 & 1) == 0)) &&\n (dVar15 = in_d0, _CGRectGetWidth(in_d0,in_d1,in_d2,in_d3), 2.220446049250313e-16 < dVar15)) &&\n (dVar15 = in_d0, dVar22 = in_d2, uVar19 = in_d3, _CGRectGetHeight(in_d0,in_d1),\n 2.220446049250313e-16 < dVar15)) {\n if ((*(uint *)((long)pdVar5 + 0xc) & 0x1d) == 1) {\n dStack_148 = pdVar5[1];\n dVar15 = *pdVar5;\n local_140 = pdVar5[2];\n local_150 = dVar15;\n _CMTimeGetSeconds(&local_150);\n }\n else {\n dVar15 = 1.7976931348623157e+308;\n }\n objc_stub::lock(*(ID *)(param_1 + 0x28));\n objc_stub::count(*(ID *)(param_1 + 0x440));\n uStack_168 = 0;\n local_170 = 0;\n uStack_158 = 0;\n uStack_160 = 0;\n lStack_188 = 0;\n local_190 = 0;\n uStack_178 = 0;\n local_180 = (long *)0x0;\n self_01 = *(ID *)(param_1 + 0x440);\n IVar2 = objc_stub::countByEnumeratingWithState_objects_count_\n (self_01,&local_190,auStack_130,0x10);\n dStack_200 = *(double *)PTR__CGRectNull_1000a8148;\n local_208 = *(double *)(PTR__CGRectNull_1000a8148 + 8);\n dVar16 = *(double *)(PTR__CGRectNull_1000a8148 + 0x10);\n local_218 = *(undefined8 *)(PTR__CGRectNull_1000a8148 + 0x18);\n dStack_210 = dVar16;\n if (IVar2 == 0) {\n local_1e8 = 0;\n }\n else {\n local_1f0 = -1.7976931348623157e+308;\n local_1e8 = 0;\n lVar6 = *local_180;\n do {\n IVar7 = 0;\n do {\n dVar17 = dVar16;\n dVar18 = dVar22;\n uVar20 = uVar19;\n if (*local_180 != lVar6) {\n _objc_enumerationMutation(self_01);\n dVar17 = dVar16;\n dVar18 = dVar22;\n uVar20 = uVar19;\n }\n self_02 = *(ID *)(lStack_188 + IVar7 * 8);\n self = objc_stub::objectForKeyedSubscript_(self_02,&cf_points);\n self_00 = objc_stub::objectForKeyedSubscript_(self_02,&cf_box);\n IVar3 = objc_stub::count(self);\n dVar16 = dVar17;\n dVar22 = dVar18;\n uVar19 = uVar20;\n if (0x4c < IVar3 && self_00 != 0) {\n uVar4 = objc_stub::rectValue(self_00);\n dVar8 = extraout_d0;\n _CGRectStandardize();\n _CGRectIntersection();\n dVar16 = dVar17;\n dVar22 = dVar18;\n uVar19 = uVar20;\n _CGRectIsNull();\n if (((uVar4 & 1) == 0) &&\n (dVar16 = dVar17, dVar22 = dVar18, uVar19 = uVar20, _CGRectIsEmpty(dVar8),\n (uVar4 & 1) == 0)) {\n dVar9 = dVar8;\n dVar22 = dVar18;\n uVar19 = uVar20;\n _CGRectGetWidth(dVar8,dVar17);\n dVar16 = 2.220446049250313e-16;\n if (2.220446049250313e-16 < dVar9) {\n dVar9 = dVar8;\n dVar22 = dVar18;\n uVar19 = uVar20;\n _CGRectGetHeight(dVar8,dVar17);\n dVar16 = 2.220446049250313e-16;\n if (2.220446049250313e-16 < dVar9) {\n uVar4 = objc_stub::objectForKeyedSubscript_(self_02,&cf_time);\n dVar9 = 0.0;\n if (uVar4 != 0 &&\n (dVar15 != 1.7976931348623157e+308 && (ulong)ABS(dVar15) < 0x7ff0000000000000)\n ) {\n uVar4 = objc_stub::doubleValue(uVar4);\n dVar16 = 1.25;\n if (1.25 < ABS(dVar15 - extraout_d0_00)) goto LAB_10001a724;\n dVar9 = (double)NEON_fminnm(ABS(dVar15 - extraout_d0_00),0x3ff4000000000000);\n dVar9 = dVar9 * 0.45;\n }\n dVar16 = dVar8;\n FUN_10001a910(dVar8,dVar17,dVar18,uVar20,in_d0,in_d1,in_d2,in_d3);\n dVar14 = dVar8;\n _CGRectGetMidX(dVar8,dVar17,dVar18,uVar20);\n dVar21 = dVar8;\n _CGRectGetMidY(dVar8,dVar17,dVar18,uVar20);\n dVar10 = in_d0;\n _CGRectGetMidX(in_d0,in_d1,in_d2,in_d3);\n dVar11 = in_d0;\n _CGRectGetMidY(in_d0,in_d1,in_d2,in_d3);\n _CGRectIsNull(dVar8,dVar17,dVar18,uVar20);\n dVar22 = 0.0;\n if (((uVar4 & 1) == 0) &&\n (_CGRectIsEmpty(dVar8,dVar17,dVar18,uVar20), (uVar4 & 1) == 0)) {\n dVar22 = dVar8;\n _CGRectGetWidth(dVar8,dVar17,dVar18,uVar20);\n dVar12 = dVar8;\n _CGRectGetHeight(dVar8,dVar17,dVar18,uVar20);\n if (dVar22 <= 0.0) {\n dVar22 = 0.0;\n }\n if (dVar12 <= 0.0) {\n dVar12 = 0.0;\n }\n dVar22 = dVar22 * dVar12;\n }\n _CGRectIsNull(in_d0,in_d1,in_d2,in_d3);\n local_1d0 = 0.0;\n if (((uVar4 & 1) == 0) &&\n (_CGRectIsEmpty(in_d0,in_d1,in_d2,in_d3), (uVar4 & 1) == 0)) {\n dVar12 = in_d0;\n _CGRectGetWidth(in_d0,in_d1,in_d2,in_d3);\n dVar13 = in_d0;\n _CGRectGetHeight(in_d0,in_d1,in_d2,in_d3);\n if (dVar22 <= 2.220446049250313e-16) {\n local_1d0 = 0.0;\n }\n else {\n if (dVar13 <= 0.0) {\n dVar13 = 0.0;\n }\n dVar12 = dVar12 * dVar13;\n dVar13 = dVar12;\n if (dVar12 <= dVar22) {\n dVar13 = dVar22;\n dVar22 = dVar12;\n }\n local_1d0 = 0.0;\n if (2.220446049250313e-16 < dVar12) {\n local_1d0 = dVar22 / dVar13;\n }\n }\n }\n dVar22 = in_d0;\n _CGRectGetWidth(in_d0,in_d1,in_d2,in_d3);\n dVar12 = in_d0;\n _CGRectGetHeight(in_d0,in_d1,in_d2,in_d3);\n if (dVar12 <= dVar22) {\n dVar12 = dVar22;\n }\n uVar19 = uVar20;\n _CGRectContainsPoint(dVar8,dVar17,dVar18,uVar20,dVar10,dVar11);\n uVar1 = (uint)uVar4;\n dVar21 = SQRT((dVar21 - dVar11) * (dVar21 - dVar11) +\n (dVar14 - dVar10) * (dVar14 - dVar10));\n dVar14 = dVar12 * 0.72;\n if (dVar12 * 0.72 <= 0.055) {\n dVar14 = 0.055;\n }\n if (((uVar4 & 1) != 0) ||\n (dVar22 = in_d2, uVar19 = in_d3, _CGRectContainsPoint(in_d0,in_d1),\n (dVar21 <= dVar14 || 0.08 <= dVar16) || (uVar1 & 1) != 0)) {\n dVar22 = 2.220446049250313e-16;\n if (2.220446049250313e-16 <= dVar14) {\n dVar22 = dVar14;\n }\n dVar21 = dVar21 / dVar22;\n dVar22 = 1.0;\n if (dVar21 <= 1.0) {\n dVar22 = dVar21;\n }\n dVar14 = ((1.0 - dVar22) * 3.0 + dVar16 * 8.0 + local_1d0 * 1.3) - dVar9;\n dVar16 = dVar9;\n dVar22 = local_1d0;\n if ((local_1e8 == 0) || (dVar16 = local_1f0, local_1f0 < dVar14)) {\n local_218 = uVar20;\n dStack_210 = dVar18;\n local_208 = dVar17;\n dStack_200 = dVar8;\n local_1f0 = dVar14;\n local_1e8 = self;\n }\n }\n }\n }\n }\n }\nLAB_10001a724:\n IVar7 = IVar7 + 1;\n } while (IVar2 != IVar7);\n IVar2 = objc_stub::countByEnumeratingWithState_objects_count_\n (self_01,&local_190,auStack_130,0x10);\n } while (IVar2 != 0);\n }\n objc_stub::unlock(*(ID *)(param_1 + 0x28));\n FUN_10001ab3c(dStack_200,local_208,dStack_210,local_218,in_d0,in_d1,in_d2,in_d3);\n IVar2 = objc_stub::count(local_1e8);\n if ((0x4c < IVar2) &&\n (IVar2 = local_1e8, FUN_10001b070(in_d0,in_d1,in_d2,in_d3), (IVar2 & 1) != 0)) {\n FUN_10001b584(in_d0,in_d1,in_d2,in_d3);\n FUN_10001b584(dStack_200,local_208,dStack_210,local_218);\n objc_stub::count(local_1e8);\n objc_stub::count(local_1e8);\n _NSStringFromRect(dStack_200,local_208,dStack_210,local_218);\n _NSStringFromRect(in_d0,in_d1,in_d2,in_d3);\n goto LAB_10001a81c;\n }\n FUN_10001b584(in_d0,in_d1,in_d2,in_d3);\n FUN_10001b584(dStack_200,local_208,dStack_210,local_218);\n objc_stub::count(local_1e8);\n }\n local_1e8 = 0;\nLAB_10001a81c:\n if (*(long *)PTR____stack_chk_guard_1000a80e8 != local_b0) {\n /* WARNING: Subroutine does not return */\n ___stack_chk_fail();\n }\n return local_1e8;\n}\n\n", "operation": "procedure_pseudo_code", "parameters": { "procedure": "0x10001a198" }, "predicate_type": "rea.analysis", "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" }, "raw_result": { "limitations": [ "Ghidra Listing reports a terminal call at 0x10001a868 to 0x10007aca0 ___stack_chk_fail (external=false, thunk=true, hasNoReturn=true); fallthrough is excluded by Ghidra's flow model. This records Ghidra's FunctionManager flag, not an independent verification that the callee cannot return." ], "value": "\n/* WARNING: Function: _objc_retain replaced with injection: _objc_retain_fixup */\n/* WARNING: Function: _objc_release replaced with injection: _objc_release_fixup */\n/* Function Stack Size: 0x50 bytes */\n\nID MSSuperSkinSmoothingPlugIn::mss_faceThinRememberedPointsForBox_renderTime_source_\n (ID param_1,SEL param_2,CGRect param_3,AnonymousStructure0 param_4,ID param_5)\n\n{\n uint uVar1;\n ID IVar2;\n ID self;\n ID self_00;\n ID IVar3;\n ulong uVar4;\n double *pdVar5;\n long lVar6;\n ID self_01;\n ID IVar7;\n ID self_02;\n double in_d0;\n double extraout_d0;\n double dVar8;\n double dVar9;\n double extraout_d0_00;\n double dVar10;\n double dVar11;\n double dVar12;\n double dVar13;\n double dVar14;\n undefined8 in_d1;\n double dVar15;\n double dVar16;\n double dVar17;\n double in_d2;\n double dVar18;\n undefined8 in_d3;\n undefined8 uVar19;\n undefined8 uVar20;\n double dVar21;\n double dVar22;\n undefined8 local_218;\n double dStack_210;\n double local_208;\n double dStack_200;\n double local_1f0;\n ID local_1e8;\n double local_1d0;\n undefined8 local_190;\n long lStack_188;\n long *local_180;\n undefined8 uStack_178;\n undefined8 local_170;\n undefined8 uStack_168;\n undefined8 uStack_160;\n undefined8 uStack_158;\n double local_150;\n double dStack_148;\n double local_140;\n undefined1 auStack_130 [128];\n long local_b0;\n \n pdVar5 = param_3.field0_0x0.field0_0x0;\n local_b0 = *(long *)PTR____stack_chk_guard_1000a80e8;\n IVar2 = param_1;\n _CGRectStandardize();\n _CGRectIntersection();\n _CGRectIsNull();\n if (((((IVar2 & 1) == 0) && (_CGRectIsEmpty(in_d0,in_d1,in_d2,in_d3), (IVar2 & 1) == 0)) &&\n (dVar15 = in_d0, _CGRectGetWidth(in_d0,in_d1,in_d2,in_d3), 2.220446049250313e-16 < dVar15)) &&\n (dVar15 = in_d0, dVar22 = in_d2, uVar19 = in_d3, _CGRectGetHeight(in_d0,in_d1),\n 2.220446049250313e-16 < dVar15)) {\n if ((*(uint *)((long)pdVar5 + 0xc) & 0x1d) == 1) {\n dStack_148 = pdVar5[1];\n dVar15 = *pdVar5;\n local_140 = pdVar5[2];\n local_150 = dVar15;\n _CMTimeGetSeconds(&local_150);\n }\n else {\n dVar15 = 1.7976931348623157e+308;\n }\n objc_stub::lock(*(ID *)(param_1 + 0x28));\n objc_stub::count(*(ID *)(param_1 + 0x440));\n uStack_168 = 0;\n local_170 = 0;\n uStack_158 = 0;\n uStack_160 = 0;\n lStack_188 = 0;\n local_190 = 0;\n uStack_178 = 0;\n local_180 = (long *)0x0;\n self_01 = *(ID *)(param_1 + 0x440);\n IVar2 = objc_stub::countByEnumeratingWithState_objects_count_\n (self_01,&local_190,auStack_130,0x10);\n dStack_200 = *(double *)PTR__CGRectNull_1000a8148;\n local_208 = *(double *)(PTR__CGRectNull_1000a8148 + 8);\n dVar16 = *(double *)(PTR__CGRectNull_1000a8148 + 0x10);\n local_218 = *(undefined8 *)(PTR__CGRectNull_1000a8148 + 0x18);\n dStack_210 = dVar16;\n if (IVar2 == 0) {\n local_1e8 = 0;\n }\n else {\n local_1f0 = -1.7976931348623157e+308;\n local_1e8 = 0;\n lVar6 = *local_180;\n do {\n IVar7 = 0;\n do {\n dVar17 = dVar16;\n dVar18 = dVar22;\n uVar20 = uVar19;\n if (*local_180 != lVar6) {\n _objc_enumerationMutation(self_01);\n dVar17 = dVar16;\n dVar18 = dVar22;\n uVar20 = uVar19;\n }\n self_02 = *(ID *)(lStack_188 + IVar7 * 8);\n self = objc_stub::objectForKeyedSubscript_(self_02,&cf_points);\n self_00 = objc_stub::objectForKeyedSubscript_(self_02,&cf_box);\n IVar3 = objc_stub::count(self);\n dVar16 = dVar17;\n dVar22 = dVar18;\n uVar19 = uVar20;\n if (0x4c < IVar3 && self_00 != 0) {\n uVar4 = objc_stub::rectValue(self_00);\n dVar8 = extraout_d0;\n _CGRectStandardize();\n _CGRectIntersection();\n dVar16 = dVar17;\n dVar22 = dVar18;\n uVar19 = uVar20;\n _CGRectIsNull();\n if (((uVar4 & 1) == 0) &&\n (dVar16 = dVar17, dVar22 = dVar18, uVar19 = uVar20, _CGRectIsEmpty(dVar8),\n (uVar4 & 1) == 0)) {\n dVar9 = dVar8;\n dVar22 = dVar18;\n uVar19 = uVar20;\n _CGRectGetWidth(dVar8,dVar17);\n dVar16 = 2.220446049250313e-16;\n if (2.220446049250313e-16 < dVar9) {\n dVar9 = dVar8;\n dVar22 = dVar18;\n uVar19 = uVar20;\n _CGRectGetHeight(dVar8,dVar17);\n dVar16 = 2.220446049250313e-16;\n if (2.220446049250313e-16 < dVar9) {\n uVar4 = objc_stub::objectForKeyedSubscript_(self_02,&cf_time);\n dVar9 = 0.0;\n if (uVar4 != 0 &&\n (dVar15 != 1.7976931348623157e+308 && (ulong)ABS(dVar15) < 0x7ff0000000000000)\n ) {\n uVar4 = objc_stub::doubleValue(uVar4);\n dVar16 = 1.25;\n if (1.25 < ABS(dVar15 - extraout_d0_00)) goto LAB_10001a724;\n dVar9 = (double)NEON_fminnm(ABS(dVar15 - extraout_d0_00),0x3ff4000000000000);\n dVar9 = dVar9 * 0.45;\n }\n dVar16 = dVar8;\n FUN_10001a910(dVar8,dVar17,dVar18,uVar20,in_d0,in_d1,in_d2,in_d3);\n dVar14 = dVar8;\n _CGRectGetMidX(dVar8,dVar17,dVar18,uVar20);\n dVar21 = dVar8;\n _CGRectGetMidY(dVar8,dVar17,dVar18,uVar20);\n dVar10 = in_d0;\n _CGRectGetMidX(in_d0,in_d1,in_d2,in_d3);\n dVar11 = in_d0;\n _CGRectGetMidY(in_d0,in_d1,in_d2,in_d3);\n _CGRectIsNull(dVar8,dVar17,dVar18,uVar20);\n dVar22 = 0.0;\n if (((uVar4 & 1) == 0) &&\n (_CGRectIsEmpty(dVar8,dVar17,dVar18,uVar20), (uVar4 & 1) == 0)) {\n dVar22 = dVar8;\n _CGRectGetWidth(dVar8,dVar17,dVar18,uVar20);\n dVar12 = dVar8;\n _CGRectGetHeight(dVar8,dVar17,dVar18,uVar20);\n if (dVar22 <= 0.0) {\n dVar22 = 0.0;\n }\n if (dVar12 <= 0.0) {\n dVar12 = 0.0;\n }\n dVar22 = dVar22 * dVar12;\n }\n _CGRectIsNull(in_d0,in_d1,in_d2,in_d3);\n local_1d0 = 0.0;\n if (((uVar4 & 1) == 0) &&\n (_CGRectIsEmpty(in_d0,in_d1,in_d2,in_d3), (uVar4 & 1) == 0)) {\n dVar12 = in_d0;\n _CGRectGetWidth(in_d0,in_d1,in_d2,in_d3);\n dVar13 = in_d0;\n _CGRectGetHeight(in_d0,in_d1,in_d2,in_d3);\n if (dVar22 <= 2.220446049250313e-16) {\n local_1d0 = 0.0;\n }\n else {\n if (dVar13 <= 0.0) {\n dVar13 = 0.0;\n }\n dVar12 = dVar12 * dVar13;\n dVar13 = dVar12;\n if (dVar12 <= dVar22) {\n dVar13 = dVar22;\n dVar22 = dVar12;\n }\n local_1d0 = 0.0;\n if (2.220446049250313e-16 < dVar12) {\n local_1d0 = dVar22 / dVar13;\n }\n }\n }\n dVar22 = in_d0;\n _CGRectGetWidth(in_d0,in_d1,in_d2,in_d3);\n dVar12 = in_d0;\n _CGRectGetHeight(in_d0,in_d1,in_d2,in_d3);\n if (dVar12 <= dVar22) {\n dVar12 = dVar22;\n }\n uVar19 = uVar20;\n _CGRectContainsPoint(dVar8,dVar17,dVar18,uVar20,dVar10,dVar11);\n uVar1 = (uint)uVar4;\n dVar21 = SQRT((dVar21 - dVar11) * (dVar21 - dVar11) +\n (dVar14 - dVar10) * (dVar14 - dVar10));\n dVar14 = dVar12 * 0.72;\n if (dVar12 * 0.72 <= 0.055) {\n dVar14 = 0.055;\n }\n if (((uVar4 & 1) != 0) ||\n (dVar22 = in_d2, uVar19 = in_d3, _CGRectContainsPoint(in_d0,in_d1),\n (dVar21 <= dVar14 || 0.08 <= dVar16) || (uVar1 & 1) != 0)) {\n dVar22 = 2.220446049250313e-16;\n if (2.220446049250313e-16 <= dVar14) {\n dVar22 = dVar14;\n }\n dVar21 = dVar21 / dVar22;\n dVar22 = 1.0;\n if (dVar21 <= 1.0) {\n dVar22 = dVar21;\n }\n dVar14 = ((1.0 - dVar22) * 3.0 + dVar16 * 8.0 + local_1d0 * 1.3) - dVar9;\n dVar16 = dVar9;\n dVar22 = local_1d0;\n if ((local_1e8 == 0) || (dVar16 = local_1f0, local_1f0 < dVar14)) {\n local_218 = uVar20;\n dStack_210 = dVar18;\n local_208 = dVar17;\n dStack_200 = dVar8;\n local_1f0 = dVar14;\n local_1e8 = self;\n }\n }\n }\n }\n }\n }\nLAB_10001a724:\n IVar7 = IVar7 + 1;\n } while (IVar2 != IVar7);\n IVar2 = objc_stub::countByEnumeratingWithState_objects_count_\n (self_01,&local_190,auStack_130,0x10);\n } while (IVar2 != 0);\n }\n objc_stub::unlock(*(ID *)(param_1 + 0x28));\n FUN_10001ab3c(dStack_200,local_208,dStack_210,local_218,in_d0,in_d1,in_d2,in_d3);\n IVar2 = objc_stub::count(local_1e8);\n if ((0x4c < IVar2) &&\n (IVar2 = local_1e8, FUN_10001b070(in_d0,in_d1,in_d2,in_d3), (IVar2 & 1) != 0)) {\n FUN_10001b584(in_d0,in_d1,in_d2,in_d3);\n FUN_10001b584(dStack_200,local_208,dStack_210,local_218);\n objc_stub::count(local_1e8);\n objc_stub::count(local_1e8);\n _NSStringFromRect(dStack_200,local_208,dStack_210,local_218);\n _NSStringFromRect(in_d0,in_d1,in_d2,in_d3);\n goto LAB_10001a81c;\n }\n FUN_10001b584(in_d0,in_d1,in_d2,in_d3);\n FUN_10001b584(dStack_200,local_208,dStack_210,local_218);\n objc_stub::count(local_1e8);\n }\n local_1e8 = 0;\nLAB_10001a81c:\n if (*(long *)PTR____stack_chk_guard_1000a80e8 != local_b0) {\n /* WARNING: Subroutine does not return */\n ___stack_chk_fail();\n }\n return local_1e8;\n}\n\n" }, "subject": { "architecture": "arm64", "digest": { "sha256": "afc71d0d21fd3c1ca95ca745ddafcd729e36ad95f17d8638009f2e45d9b7e8df" }, "format": "mach-o", "local_path": "/Users/dayu/Documents/PaintFCP/build/body-analysis/MSE18V2-arm64", "name": "MSE18V2-arm64" } }, { "analysis_profile": { "digest": "20565088524a2d0359b9b96f46ac48e679d774c7b0092c56abc06de8fdbec11c", "parameters": { "analyzer_preset": "ghidra-default", "annotation_policy": "atomic-function-entry-metadata-v1", "architecture": "arm64", "available_architectures": [ "arm64" ], "compiler_spec_id": "auto-default", "decompiler_jump_loads": true, "function_body_evidence": "complete-inclusive-ranges-v1", "function_boundary_observations": "ghidra-terminal-call-limitations-v1", "function_references": "complete-body-and-entry-reference-manager-v2", "import_mode": "ephemeral-source-immutable", "instruction_flow_evidence": "decoded-return-pcode-v1", "jump_table_evidence": "typed-case-default-blocks-v1", "language_id": "auto-from-header", "load_image_observations": "source-mappings-entry-context-v2", "loader": "auto-from-header", "location_resolution": "explicit-address-exact-entry-symbol-first-v3", "no_return_repair": "returning-imports-decoded-return-v2", "process_launch": "inspected-jvm-launch-support-v1", "string_inventory_evidence": "defined-data-coverage-v1", "target_format": "mach-o", "target_kind": "executable" }, "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" } }, "authority": "shipped-artifact", "confidence": "observed", "environment": null, "evidence_id": "ev_c01322d703544f55fa57b7ba267f4ae6ac6ac500e7b1810572ad2886d2720d8c", "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": [], "operation": "search_procedures", "parameters": { "case_sensitive": false, "mode": "literal", "pattern": "MSSSkinControlPanelView::sections" }, "predicate_type": "rea.analysis", "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" }, "raw_result": [], "subject": { "architecture": "arm64", "digest": { "sha256": "afc71d0d21fd3c1ca95ca745ddafcd729e36ad95f17d8638009f2e45d9b7e8df" }, "format": "mach-o", "local_path": "/Users/dayu/Documents/PaintFCP/build/body-analysis/MSE18V2-arm64", "name": "MSE18V2-arm64" } }, { "analysis_profile": { "digest": "20565088524a2d0359b9b96f46ac48e679d774c7b0092c56abc06de8fdbec11c", "parameters": { "analyzer_preset": "ghidra-default", "annotation_policy": "atomic-function-entry-metadata-v1", "architecture": "arm64", "available_architectures": [ "arm64" ], "compiler_spec_id": "auto-default", "decompiler_jump_loads": true, "function_body_evidence": "complete-inclusive-ranges-v1", "function_boundary_observations": "ghidra-terminal-call-limitations-v1", "function_references": "complete-body-and-entry-reference-manager-v2", "import_mode": "ephemeral-source-immutable", "instruction_flow_evidence": "decoded-return-pcode-v1", "jump_table_evidence": "typed-case-default-blocks-v1", "language_id": "auto-from-header", "load_image_observations": "source-mappings-entry-context-v2", "loader": "auto-from-header", "location_resolution": "explicit-address-exact-entry-symbol-first-v3", "no_return_repair": "returning-imports-decoded-return-v2", "process_launch": "inspected-jvm-launch-support-v1", "string_inventory_evidence": "defined-data-coverage-v1", "target_format": "mach-o", "target_kind": "executable" }, "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" } }, "authority": "shipped-artifact", "confidence": "observed", "environment": null, "evidence_id": "ev_c026d2020bec8132d328058574f401a0943745e52fcf12301b223ebfa03f1590", "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": "\ndouble FUN_10001bef0(double param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4,\n uint param_5)\n\n{\n double dVar1;\n \n _CGRectIsNull();\n if (((((param_5 & 1) == 0) &&\n (_CGRectIsEmpty(param_1,param_2,param_3,param_4), (param_5 & 1) == 0)) &&\n (dVar1 = param_1, _CGRectGetWidth(param_1,param_2,param_3,param_4),\n 2.220446049250313e-16 < dVar1)) &&\n (dVar1 = param_1, _CGRectGetHeight(param_1,param_2,param_3,param_4),\n 2.220446049250313e-16 < dVar1)) {\n _CGRectStandardize(param_1,param_2,param_3,param_4);\n _CGRectIntersection();\n _CGRectIsNull();\n if ((((param_5 & 1) == 0) &&\n (_CGRectIsEmpty(param_1,param_2,param_3,param_4), (param_5 & 1) == 0)) &&\n ((dVar1 = param_1, _CGRectGetWidth(param_1,param_2,param_3,param_4),\n 2.220446049250313e-16 < dVar1 &&\n (dVar1 = param_1, _CGRectGetHeight(param_1,param_2,param_3,param_4),\n 2.220446049250313e-16 < dVar1)))) {\n return param_1;\n }\n }\n return *(double *)PTR__CGRectNull_1000a8148;\n}\n\n", "operation": "procedure_pseudo_code", "parameters": { "procedure": "0x10001bef0" }, "predicate_type": "rea.analysis", "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" }, "raw_result": { "limitations": [], "value": "\ndouble FUN_10001bef0(double param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4,\n uint param_5)\n\n{\n double dVar1;\n \n _CGRectIsNull();\n if (((((param_5 & 1) == 0) &&\n (_CGRectIsEmpty(param_1,param_2,param_3,param_4), (param_5 & 1) == 0)) &&\n (dVar1 = param_1, _CGRectGetWidth(param_1,param_2,param_3,param_4),\n 2.220446049250313e-16 < dVar1)) &&\n (dVar1 = param_1, _CGRectGetHeight(param_1,param_2,param_3,param_4),\n 2.220446049250313e-16 < dVar1)) {\n _CGRectStandardize(param_1,param_2,param_3,param_4);\n _CGRectIntersection();\n _CGRectIsNull();\n if ((((param_5 & 1) == 0) &&\n (_CGRectIsEmpty(param_1,param_2,param_3,param_4), (param_5 & 1) == 0)) &&\n ((dVar1 = param_1, _CGRectGetWidth(param_1,param_2,param_3,param_4),\n 2.220446049250313e-16 < dVar1 &&\n (dVar1 = param_1, _CGRectGetHeight(param_1,param_2,param_3,param_4),\n 2.220446049250313e-16 < dVar1)))) {\n return param_1;\n }\n }\n return *(double *)PTR__CGRectNull_1000a8148;\n}\n\n" }, "subject": { "architecture": "arm64", "digest": { "sha256": "afc71d0d21fd3c1ca95ca745ddafcd729e36ad95f17d8638009f2e45d9b7e8df" }, "format": "mach-o", "local_path": "/Users/dayu/Documents/PaintFCP/build/body-analysis/MSE18V2-arm64", "name": "MSE18V2-arm64" } }, { "analysis_profile": { "digest": "20565088524a2d0359b9b96f46ac48e679d774c7b0092c56abc06de8fdbec11c", "parameters": { "analyzer_preset": "ghidra-default", "annotation_policy": "atomic-function-entry-metadata-v1", "architecture": "arm64", "available_architectures": [ "arm64" ], "compiler_spec_id": "auto-default", "decompiler_jump_loads": true, "function_body_evidence": "complete-inclusive-ranges-v1", "function_boundary_observations": "ghidra-terminal-call-limitations-v1", "function_references": "complete-body-and-entry-reference-manager-v2", "import_mode": "ephemeral-source-immutable", "instruction_flow_evidence": "decoded-return-pcode-v1", "jump_table_evidence": "typed-case-default-blocks-v1", "language_id": "auto-from-header", "load_image_observations": "source-mappings-entry-context-v2", "loader": "auto-from-header", "location_resolution": "explicit-address-exact-entry-symbol-first-v3", "no_return_repair": "returning-imports-decoded-return-v2", "process_launch": "inspected-jvm-launch-support-v1", "string_inventory_evidence": "defined-data-coverage-v1", "target_format": "mach-o", "target_kind": "executable" }, "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" } }, "authority": "shipped-artifact", "confidence": "observed", "environment": null, "evidence_id": "ev_c1a665914a489c44d2d8e71befd9f91872d9125e425b0d05b9dbb846876322ba", "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 0x1000428d8 to 0x10007aca0 ___stack_chk_fail (external=false, thunk=true, hasNoReturn=true); fallthrough is excluded by Ghidra's flow model. This records Ghidra's FunctionManager flag, not an independent verification that the callee cannot return.", "macOS sessions require a matching executable Ghidra native decompiler; REA checks for it but does not build native components or change Gatekeeper quarantine state." ], "locations": [], "normalized_result": "\n/* WARNING: Function: _objc_release replaced with injection: _objc_release_fixup */\n/* WARNING: Function: _objc_retain replaced with injection: _objc_retain_fixup */\n/* WARNING: Function: _objc_autorelease replaced with injection: _objc_retain_fixup */\n/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */\n/* Function Stack Size: 0x50 bytes */\n\nID MSSuperSkinSmoothingPlugIn::\n temporalFacePointsForObservations_renderTime_params_selectedObservationOut_strengthMultiplierOut_pointsBoxOut_\n (ID param_1,SEL param_2,ID param_3,AnonymousStructure0 param_4,\n const_AnonymousStructure7__ param_5,ID *param_6,double *param_7,CGRect *param_8)\n\n{\n uint uVar1;\n undefined1 auVar2 [16];\n undefined1 auVar3 [16];\n double *pdVar4;\n undefined1 auVar5 [16];\n undefined *puVar6;\n undefined *puVar7;\n bool bVar8;\n bool bVar9;\n bool bVar10;\n bool bVar11;\n bool bVar12;\n int iVar13;\n bool bVar14;\n undefined4 uVar15;\n ulong uVar17;\n CGRect *pCVar18;\n undefined1 *puVar19;\n ID IVar20;\n double *pdVar21;\n byte bVar22;\n uint uVar23;\n long lVar24;\n uint uVar25;\n ulong uVar26;\n long lVar27;\n double dVar28;\n double dVar29;\n double dVar30;\n double dVar31;\n double dVar32;\n double dVar33;\n double dVar34;\n double dVar35;\n double dVar36;\n double dVar37;\n double dVar38;\n double dVar39;\n double dVar40;\n double dVar41;\n double dVar42;\n double dVar43;\n double dVar44;\n double dVar45;\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 dVar46;\n undefined1 auVar47 [16];\n undefined1 auVar48 [16];\n undefined1 auVar49 [16];\n double dVar50;\n double dVar51;\n double dVar52;\n undefined8 uVar53;\n unsigned_long_long uVar54;\n undefined8 uVar55;\n undefined8 uVar56;\n undefined8 uVar57;\n double dVar58;\n double dVar59;\n undefined1 auVar60 [16];\n undefined1 auVar61 [16];\n CGRect CVar62;\n CGRect CVar63;\n double dStack_398;\n uint local_358;\n uint local_354;\n uint local_330;\n uint local_318;\n double local_310;\n double local_308;\n double local_300;\n double local_2f8;\n double local_2f0;\n undefined8 local_2e8;\n double local_2e0;\n uint local_2d4;\n double local_2d0;\n double dStack_2c8;\n double *local_2b8;\n double local_2b0;\n double dStack_2a8;\n undefined8 local_2a0;\n double dStack_298;\n double local_290;\n uint local_284;\n double local_280;\n undefined8 local_278;\n double *local_270;\n double local_268;\n double dStack_260;\n double local_258;\n double local_250;\n double local_248;\n double local_240;\n double local_238;\n double dStack_230;\n uint local_228;\n uint local_224;\n double local_220;\n double local_218;\n double local_210;\n double local_208;\n double local_200;\n double local_1f8;\n double local_1f0;\n double dStack_1e8;\n double local_1e0;\n double dStack_1d8;\n double local_1d0;\n double local_1c8;\n double local_1c0;\n double dStack_1b8;\n double local_1b0;\n undefined8 local_1a8;\n double local_1a0;\n double local_190;\n undefined8 uStack_188;\n double local_180;\n undefined1 local_170 [16];\n double local_160;\n double local_158;\n byte local_141;\n undefined1 local_140 [12];\n uint uStack_134;\n double local_130;\n CGRect local_120;\n double local_f8;\n undefined1 local_f0 [12];\n uint uStack_e4;\n double local_e0;\n double local_d0;\n int local_c8;\n double local_c0;\n int local_b8;\n long local_b0;\n ID IVar16;\n \n lVar27 = param_4._8_8_;\n pdVar21 = (double *)param_4.field0_0x0;\n local_b0 = *(long *)PTR____stack_chk_guard_1000a80e8;\n local_2b8 = (double *)param_6;\n local_290 = (double)param_3;\n IVar16 = objc_stub::lock(*(ID *)(param_1 + 0x28));\n iVar13 = (int)IVar16;\n if (lVar27 == 0) {\n local_330 = 0;\n local_224 = 0;\n uVar23 = *(uint *)((long)pdVar21 + 0xc);\n }\n else {\n local_330 = (uint)*(byte *)(lVar27 + 0xf8);\n uVar23 = *(uint *)((long)pdVar21 + 0xc);\n if ((*(char *)(lVar27 + 0x172) == '\\x01') && (FUN_1000500b0(), iVar13 != 0)) {\n if ((((2.220446049250313e-16 < ABS(*(double *)(lVar27 + 0x68))) ||\n (2.220446049250313e-16 < ABS(*(double *)(lVar27 + 0x70)))) ||\n (2.220446049250313e-16 < ABS(*(double *)(lVar27 + 0x78)))) ||\n (((2.220446049250313e-16 < ABS(*(double *)(lVar27 + 0x80)) ||\n (2.220446049250313e-16 < ABS(*(double *)(lVar27 + 0x88)))) ||\n ((2.220446049250313e-16 < ABS(*(double *)(lVar27 + 0x90)) ||\n ((2.220446049250313e-16 < ABS(*(double *)(lVar27 + 0x98)) ||\n (2.220446049250313e-16 < ABS(*(double *)(lVar27 + 0xa0)))))))))) {\n local_224 = 1;\n }\n else {\n local_224 = (uint)(2.220446049250313e-16 < ABS(*(double *)(lVar27 + 0xa8)));\n }\n }\n else {\n local_224 = 0;\n }\n }\n if ((*(char *)(param_1 + 0x368) == '\\x01') &&\n (uVar17 = objc_stub::count(*(ID *)(param_1 + 0x310)), 0x4c < uVar17)) {\n uVar53 = *(undefined8 *)(param_1 + 0x318);\n uVar55 = *(undefined8 *)(param_1 + 800);\n uVar56 = *(undefined8 *)(param_1 + 0x328);\n uVar57 = *(undefined8 *)(param_1 + 0x330);\n _CGRectIsNull(uVar53,uVar55,uVar56,uVar57);\n if (((uVar17 & 1) != 0) ||\n ((_CGRectIsEmpty(uVar53,uVar55,uVar56,uVar57), (uVar17 & 1) != 0 ||\n (dVar29 = (double)_CGRectGetWidth(uVar53,uVar55,uVar56,uVar57),\n dVar29 <= 2.220446049250313e-16)))) goto LAB_10003fa84;\n dVar29 = (double)_CGRectGetHeight(uVar53,uVar55,uVar56,uVar57);\n local_354 = (uint)(2.220446049250313e-16 < dVar29);\n }\n else {\nLAB_10003fa84:\n local_354 = 0;\n }\n puVar7 = PTR__kCMTimeInvalid_1000a8208;\n puVar6 = PTR__CGRectNull_1000a8148;\n local_228 = uVar23 & 0x1d;\n local_270 = pdVar21;\n if ((local_224 & 1) == 0) {\n if ((((*(byte *)(param_1 + 0x308) & 1) != 0) || ((*(byte *)(param_1 + 0x410) & 1) != 0)) ||\n (IVar16 = objc_stub::count(*(ID *)(param_1 + 0x418)), IVar16 != 0)) {\n if (local_228 == 1) {\n local_120.field0_0x0.field0_0x0 = *local_270;\n local_120.field0_0x0.field1_0x8 = local_270[1];\n local_120.field1_0x10.field0_0x0 = local_270[2];\n _CMTimeGetSeconds(&local_120);\n }\n FUN_10001b584(*(undefined8 *)(param_1 + 0x2b8),*(undefined8 *)(param_1 + 0x2c0),\n *(undefined8 *)(param_1 + 0x2c8),*(undefined8 *)(param_1 + 0x2d0));\n FUN_10001b584(*(undefined8 *)(param_1 + 0x318),*(undefined8 *)(param_1 + 800),\n *(undefined8 *)(param_1 + 0x328),*(undefined8 *)(param_1 + 0x330));\n objc_stub::count(*(ID *)(param_1 + 0x418));\n }\n *(undefined8 *)(param_1 + 0x2b0) = 0;\n uVar53 = *(undefined8 *)puVar6;\n uVar56 = *(undefined8 *)(puVar6 + 0x18);\n uVar55 = *(undefined8 *)(puVar6 + 0x10);\n *(undefined8 *)(param_1 + 0x2c0) = *(undefined8 *)(puVar6 + 8);\n *(undefined8 *)(param_1 + 0x2b8) = uVar53;\n *(undefined8 *)(param_1 + 0x2d0) = uVar56;\n *(undefined8 *)(param_1 + 0x2c8) = uVar55;\n uVar53 = *(undefined8 *)puVar7;\n uVar55 = *(undefined8 *)(puVar7 + 8);\n *(undefined8 *)(param_1 + 0x2e0) = uVar55;\n *(undefined8 *)(param_1 + 0x2d8) = uVar53;\n uVar56 = *(undefined8 *)(puVar7 + 0x10);\n *(undefined8 *)(param_1 + 0x2e8) = uVar56;\n *(undefined8 *)(param_1 + 0x2f8) = uVar55;\n *(undefined8 *)(param_1 + 0x2f0) = uVar53;\n *(undefined8 *)(param_1 + 0x300) = uVar56;\n *(undefined1 *)(param_1 + 0x308) = 0;\n mss_clearRewindFaceReferences(param_1);\n }\n dVar29 = 0.0;\n if (((*(char *)(param_1 + 0x308) == '\\x01') && (local_228 == 1)) &&\n ((*(uint *)(param_1 + 0x2fc) & 0x1d) == 1)) {\n local_120.field0_0x0.field0_0x0 = *local_270;\n local_120.field0_0x0.field1_0x8 = local_270[1];\n local_120.field1_0x10.field0_0x0 = local_270[2];\n local_170._0_8_ = *(long_long *)(param_1 + 0x2f0);\n local_170._8_8_ = *(undefined8 *)(param_1 + 0x2f8);\n local_160 = *(double *)(param_1 + 0x300);\n pCVar18 = &local_120;\n _CMTimeCompare(pCVar18,local_170);\n local_284 = local_224;\n dVar29 = 0.0;\n if ((int)pCVar18 < 0) {\n local_170._0_8_ = *(long_long *)(param_1 + 0x2f0);\n local_170._8_8_ = *(undefined8 *)(param_1 + 0x2f8);\n local_160 = *(double *)(param_1 + 0x300);\n local_f0._0_8_ = *local_270;\n unique0x10003b1c = local_270[1];\n local_e0 = local_270[2];\n _CMTimeSubtract(&local_120,local_170,local_f0);\n dVar30 = (double)_CMTimeGetSeconds(&local_120);\n local_284 = (uint)(dVar30 <= 0.05 || 0x7fefffffffffffff < (ulong)ABS(dVar30));\n dVar29 = 0.0;\n if (local_284 == 0) {\n dVar29 = dVar30;\n }\n local_284 = local_284 & local_224;\n }\n }\n else {\n local_284 = local_224;\n }\n local_f8 = 0.0;\n local_2d4 = (uint)(0.05 < dVar29 && (ulong)ABS(dVar29) < 0x7ff0000000000000);\n dVar29 = *(double *)puVar6;\n dVar30 = *(double *)(puVar6 + 8);\n dVar52 = *(double *)(puVar6 + 0x18);\n dVar50 = *(double *)(puVar6 + 0x10);\n dVar45 = *(double *)puVar7;\n dVar46 = *(double *)(puVar7 + 8);\n dVar28 = *(double *)(puVar7 + 0x10);\n local_141 = 0;\n local_170._0_8_ = *local_270;\n local_170._8_8_ = local_270[1];\n local_160 = local_270[2];\n local_140._0_8_ = dVar45;\n unique0x1000573d = dVar46;\n local_130 = dVar28;\n local_120.field0_0x0.field0_0x0 = dVar29;\n local_120.field0_0x0.field1_0x8 = dVar30;\n local_120.field1_0x10.field0_0x0 = dVar50;\n local_120.field1_0x10.field1_0x8 = dVar52;\n local_f0._0_8_ = dVar45;\n unique0x10005775 = dVar46;\n local_e0 = dVar28;\n bVar14 = mss_timeLocalFaceReferenceForRenderTime_allowCurrentTime_pointsOut_boxOut_detectionTimeOut_outputTimeOut_usedHistoryOut_\n (param_1,(AnonymousStructure0 *)local_170,0,(ID *)&local_f8,&local_120,\n (AnonymousStructure0 *)local_f0,(AnonymousStructure0 *)local_140,\n (bool *)&local_141);\n dStack_230 = *(double *)puVar6;\n local_238 = *(double *)(puVar6 + 8);\n local_240 = *(double *)(puVar6 + 0x10);\n local_248 = *(double *)(puVar6 + 0x18);\n if (((bVar14 | local_2d4) & 1) != 0) goto LAB_10003fec0;\n if ((*(char *)(param_1 + 0x308) == '\\x01') &&\n (uVar17 = objc_stub::count(*(ID *)(param_1 + 0x2b0)), 0x4c < uVar17)) {\n uVar53 = *(undefined8 *)(param_1 + 0x2b8);\n uVar55 = *(undefined8 *)(param_1 + 0x2c0);\n uVar56 = *(undefined8 *)(param_1 + 0x2c8);\n uVar57 = *(undefined8 *)(param_1 + 0x2d0);\n _CGRectIsNull(uVar53,uVar55,uVar56,uVar57);\n if (((uVar17 & 1) != 0) ||\n (((_CGRectIsEmpty(uVar53,uVar55,uVar56,uVar57), (uVar17 & 1) != 0 ||\n (dVar31 = (double)_CGRectGetWidth(uVar53,uVar55,uVar56,uVar57),\n dVar31 <= 2.220446049250313e-16)) ||\n (dVar31 = (double)_CGRectGetHeight(uVar53,uVar55,uVar56,uVar57),\n dVar31 <= 2.220446049250313e-16)))) goto LAB_10003fddc;\n local_f8 = *(double *)(param_1 + 0x2b0);\n local_120.field0_0x0.field0_0x0 = *(double *)(param_1 + 0x2b8);\n local_120.field0_0x0.field1_0x8 = *(double *)(param_1 + 0x2c0);\n local_120.field1_0x10.field1_0x8 = *(double *)(param_1 + 0x2d0);\n local_120.field1_0x10.field0_0x0 = *(double *)(param_1 + 0x2c8);\n local_e0 = *(double *)(param_1 + 0x2e8);\n local_f0._0_8_ = *(double *)(param_1 + 0x2d8);\n unique0x10003b94 = *(double *)(param_1 + 0x2e0);\n pdVar21 = (double *)(param_1 + 0x2f0);\nLAB_10003fea8:\n local_358 = 0;\n local_140._0_8_ = *pdVar21;\n unique0x10003bdc = pdVar21[1];\n local_130 = pdVar21[2];\nLAB_10003fec8:\n local_218 = local_120.field1_0x10.field0_0x0;\n local_220 = local_120.field1_0x10.field1_0x8;\n bVar12 = true;\n local_210 = local_120.field0_0x0.field1_0x8;\n local_208 = local_120.field0_0x0.field0_0x0;\n dVar31 = local_f8;\n }\n else {\nLAB_10003fddc:\n if ((*(char *)(param_1 + 0x410) == '\\x01') &&\n (uVar17 = objc_stub::count(*(ID *)(param_1 + 0x3d0)), 0x4c < uVar17)) {\n uVar53 = *(undefined8 *)(param_1 + 0x3d8);\n uVar55 = *(undefined8 *)(param_1 + 0x3e0);\n uVar56 = *(undefined8 *)(param_1 + 1000);\n uVar57 = *(undefined8 *)(param_1 + 0x3f0);\n _CGRectIsNull(uVar53,uVar55,uVar56,uVar57);\n if (((uVar17 & 1) == 0) &&\n ((_CGRectIsEmpty(uVar53,uVar55,uVar56,uVar57), (uVar17 & 1) == 0 &&\n (dVar31 = (double)_CGRectGetWidth(uVar53,uVar55,uVar56,uVar57),\n 2.220446049250313e-16 < dVar31)))) {\n dVar31 = (double)_CGRectGetHeight(uVar53,uVar55,uVar56,uVar57);\n if (2.220446049250313e-16 < dVar31) {\n local_f8 = *(double *)(param_1 + 0x3d0);\n local_120.field0_0x0.field0_0x0 = *(double *)(param_1 + 0x3d8);\n local_120.field0_0x0.field1_0x8 = *(double *)(param_1 + 0x3e0);\n local_120.field1_0x10.field1_0x8 = *(double *)(param_1 + 0x3f0);\n local_120.field1_0x10.field0_0x0 = *(double *)(param_1 + 1000);\n pdVar21 = (double *)(param_1 + 0x3f8);\n local_e0 = *(double *)(param_1 + 0x408);\n local_f0._0_8_ = *pdVar21;\n unique0x10003bc4 = *(double *)(param_1 + 0x400);\n goto LAB_10003fea8;\n }\n goto LAB_10003fec0;\n }\n }\n else {\nLAB_10003fec0:\n local_358 = 1;\n if ((bVar14 & 1) != 0) goto LAB_10003fec8;\n }\n local_358 = 1;\n bVar12 = false;\n dVar31 = 0.0;\n local_208 = dStack_230;\n local_210 = local_238;\n local_218 = local_240;\n local_220 = local_248;\n }\n local_c0 = (double)local_f0._0_8_;\n uVar23 = uStack_e4;\n local_b8 = local_f0._8_4_;\n local_2d0 = local_e0;\n local_d0 = (double)local_140._0_8_;\n local_318 = uStack_134;\n local_c8 = local_140._8_4_;\n local_2e0 = local_130;\n if (bVar12) {\n uVar17 = objc_stub::count((ID)dVar31);\n if ((((uVar17 < 0x4d) ||\n (_CGRectIsNull(local_208,local_210,local_218,local_220), (uVar17 & 1) != 0)) ||\n (_CGRectIsEmpty(local_208,local_210,local_218,local_220), (uVar17 & 1) != 0)) ||\n (dVar32 = (double)_CGRectGetWidth(local_208,local_210,local_218,local_220),\n dVar32 <= 2.220446049250313e-16)) {\n uVar25 = 0;\n }\n else {\n dVar32 = (double)_CGRectGetHeight(local_208,local_210,local_218,local_220);\n uVar25 = (uint)(2.220446049250313e-16 < dVar32);\n }\n }\n else {\n uVar25 = 0;\n }\n local_358 = local_358 & local_141;\n local_2b0 = dVar31;\n if (local_358 == 0) {\n local_2b0 = 0.0;\n }\n local_300 = local_210;\n local_2f8 = local_208;\n local_310 = local_220;\n local_308 = local_218;\n local_2a0._0_4_ = uVar25;\n if (local_358 == 0) {\n local_2a0._0_4_ = 0;\n local_300 = local_238;\n local_2f8 = dStack_230;\n local_310 = local_248;\n local_308 = local_240;\n }\n if ((local_224 & 1) == 0) {\n if (local_354 != 0) {\n local_2a0 = (double)((ulong)local_2a0._4_4_ << 0x20);\n local_2b0 = 0.0;\n local_358 = 0;\n dVar31 = *(double *)(param_1 + 0x310);\n local_208 = *(double *)(param_1 + 0x318);\n local_210 = *(double *)(param_1 + 800);\n local_218 = *(double *)(param_1 + 0x328);\n local_220 = *(double *)(param_1 + 0x330);\n local_c0 = *(double *)(param_1 + 0x338);\n local_b8 = *(int *)(param_1 + 0x340);\n uVar23 = *(uint *)(param_1 + 0x344);\n local_2d0 = *(double *)(param_1 + 0x348);\n local_d0 = *(double *)(param_1 + 0x350);\n local_c8 = *(int *)(param_1 + 0x358);\n uVar25 = 1;\n local_300 = local_238;\n local_2f8 = dStack_230;\n local_318 = *(uint *)(param_1 + 0x35c);\n local_310 = local_248;\n local_308 = local_240;\n local_2e0 = *(double *)(param_1 + 0x360);\n goto LAB_1000400cc;\n }\n bVar12 = false;\n dVar31 = 0.0;\n local_2a0 = (double)((ulong)local_2a0._4_4_ << 0x20);\n local_358 = 0;\n uVar25 = 0;\n local_2b0 = 0.0;\n local_2e8 = (double)((ulong)local_2e8._4_4_ << 0x20);\n local_d0 = *(double *)puVar7;\n local_c8 = *(int *)(puVar7 + 8);\n uVar23 = *(uint *)(puVar7 + 0xc);\n local_300 = local_238;\n local_2f8 = dStack_230;\n local_310 = local_248;\n local_308 = local_240;\n local_208 = dStack_230;\n local_210 = local_238;\n local_218 = local_240;\n local_220 = local_248;\n local_2e0 = dVar28;\n local_2d0 = dVar28;\n local_c0 = local_d0;\n local_b8 = local_c8;\n local_318 = uVar23;\n }\n else {\nLAB_1000400cc:\n if ((((uint)local_2a0 == 0) || (local_2b0 == 0.0)) || (local_2b0 == dVar31)) {\n if (uVar25 != 0) goto LAB_100040128;\n bVar12 = false;\n local_2e8 = (double)((ulong)local_2e8._4_4_ << 0x20);\n uVar25 = 0;\n }\n else if (uVar25 == 0) {\n bVar12 = false;\n uVar25 = 0;\n local_2e8 = (double)((ulong)local_2e8._4_4_ << 0x20);\n }\n else {\nLAB_100040128:\n IVar16 = objc_stub::count((ID)dVar31);\n if (IVar16 < 0x4d) {\n local_2e8 = (double)((ulong)local_2e8._4_4_ << 0x20);\n }\n else {\n local_2e8 = (double)CONCAT44(local_2e8._4_4_,local_2d4 ^ 1 | (uint)local_141);\n }\n bVar12 = IVar16 >= 0x4d;\n uVar25 = 1;\n }\n }\n local_2f0 = (double)CONCAT44(local_2f0._4_4_,uVar23);\n local_200 = dVar31;\n if ((local_284 & 1) == 0) {\n if (local_228 == 1) {\n local_170._0_8_ = *local_270;\n local_170._8_8_ = local_270[1];\n local_160 = local_270[2];\n _CMTimeGetSeconds(local_170);\n }\n FUN_10001b584(local_208,local_210,local_218,local_220);\n FUN_10001b584(*(undefined8 *)(param_1 + 0x2b8),*(undefined8 *)(param_1 + 0x2c0),\n *(undefined8 *)(param_1 + 0x2c8),*(undefined8 *)(param_1 + 0x2d0));\n }\n uVar17 = objc_stub::count((ID)local_290);\n puVar6 = PTR__CGRectZero_1000a8150;\n local_250 = *(double *)PTR__CGRectZero_1000a8150;\n local_258 = *(double *)(PTR__CGRectZero_1000a8150 + 8);\n dStack_260 = *(double *)(PTR__CGRectZero_1000a8150 + 0x10);\n local_268 = *(double *)(PTR__CGRectZero_1000a8150 + 0x18);\n if (uVar17 == 0) {\n bVar22 = 0;\n local_280 = 0.0;\n local_1f8 = 0.0;\nLAB_100041320:\n local_278 = 0;\n bVar11 = false;\n }\n else {\n if ((uVar25 & (uint)local_2e8) == 1) {\n _CGRectIsNull(local_208,local_210,local_218,local_220);\n uVar15 = (undefined4)uVar17;\n if ((uVar17 & 1) != 0) goto LAB_10004029c;\n _CGRectIsEmpty(local_208,local_210,local_218,local_220);\n local_278 = CONCAT44(local_278._4_4_,uVar15) ^ 1;\n }\n else {\nLAB_10004029c:\n local_278 = (ulong)local_278._4_4_ << 0x20;\n }\n if (local_330 == 0) {\n if ((uVar25 & (uint)local_278) != 1) {\n dVar59 = local_290;\n dVar58 = local_210;\n dVar32 = local_218;\n dVar31 = local_220;\n FUN_10003f020(local_208);\n local_280 = dVar59;\nLAB_1000406b4:\n bVar10 = false;\n goto LAB_1000406bc;\n }\n if (lVar27 == 0) {\n uVar53 = 0x3ff8000000000000;\n }\n else {\n uVar53 = *(undefined8 *)(lVar27 + 0xf0);\n }\n dVar31 = local_290;\n local_170._0_8_ = dVar29;\n local_170._8_8_ = dVar30;\n local_160 = dVar50;\n local_158 = dVar52;\n FUN_1000428e0(local_208,local_210,local_218,local_220,uVar53,local_290,local_170);\n IVar16 = objc_stub::count((ID)dVar31);\n if (IVar16 == 0) {\n if (local_228 == 1) {\n local_190 = *local_270;\n uStack_188 = local_270[1];\n local_180 = local_270[2];\n _CMTimeGetSeconds(&local_190);\n }\n objc_stub::count((ID)local_290);\n FUN_10001b584(local_208,local_210,local_218,local_220);\n FUN_10001b584(local_170._0_8_,local_170._8_8_,local_160,local_158);\n objc_stub::count((ID)local_290);\n _NSStringFromRect(local_208,local_210,local_218,local_220);\n dVar58 = *(double *)((ulong)local_170 | 8);\n dVar32 = local_160;\n dVar31 = local_158;\n _NSStringFromRect(local_170._0_8_);\n FUN_1000329ac(&cf_faceSelectauto_guard_holdfaces__lurange___2fprevious___search___);\n }\n else {\n bVar11 = local_228 == 1;\n dVar32 = dVar31;\n dVar58 = local_210;\n dVar59 = local_218;\n dVar34 = local_220;\n FUN_100042c58(local_208,local_210,local_218,local_220);\n local_280 = dVar32;\n uVar53 = FUN_10003d49c(dVar32);\n if (bVar11) {\n local_190 = *local_270;\n uStack_188 = local_270[1];\n local_180 = local_270[2];\n _CMTimeGetSeconds(&local_190);\n }\n objc_stub::count((ID)local_290);\n objc_stub::count((ID)dVar31);\n FUN_10001b584(uVar53,dVar58,dVar59,dVar34);\n FUN_10001b584(local_208,local_210,local_218,local_220);\n FUN_10001b584(local_170._0_8_,local_170._8_8_,local_160,local_158);\n objc_stub::count((ID)local_290);\n objc_stub::count((ID)dVar31);\n _NSStringFromRect(local_208,local_210,local_218,local_220);\n dVar58 = *(double *)((ulong)local_170 | 8);\n dVar32 = local_160;\n dVar31 = local_158;\n _NSStringFromRect(local_170._0_8_);\n FUN_1000329ac(&\n cf_faceSelectauto_guard_searchfaces__lucandidates__lurange___2fprevious___search___\n );\n if (local_280 != 0.0) {\n bVar22 = 0;\n *(undefined1 *)(param_1 + 0x4a9) = 0;\n uVar53 = *(undefined8 *)puVar6;\n uVar55 = *(undefined8 *)(puVar6 + 0x18);\n dVar58 = *(double *)(puVar6 + 0x10);\n *(undefined8 *)(param_1 + 0x4b8) = *(undefined8 *)(puVar6 + 8);\n *(undefined8 *)(param_1 + 0x4b0) = uVar53;\n *(undefined8 *)(param_1 + 0x4c8) = uVar55;\n *(double *)(param_1 + 0x4c0) = dVar58;\n *(double *)(param_1 + 0x4d8) = dVar46;\n *(double *)(param_1 + 0x4d0) = dVar45;\n *(double *)(param_1 + 0x4e0) = dVar28;\n bVar11 = true;\n goto LAB_100040a18;\n }\n }\n local_280 = 0.0;\n bVar11 = false;\n bVar22 = 1;\nLAB_100040a18:\n bVar10 = false;\n }\n else {\n dVar59 = *(double *)(lVar27 + 0x100);\n dVar58 = *(double *)(lVar27 + 0x108);\n if (*(char *)(param_1 + 0x420) == '\\x01') {\n lVar24 = *(long *)(lVar27 + 0x168);\n if (lVar24 < 1) {\n bVar11 = false;\n }\n else {\n bVar11 = *(long *)(param_1 + 0x438) < lVar24;\n if (lVar24 <= *(long *)(param_1 + 0x438)) {\n bVar11 = false;\n dVar31 = dVar59 - *(double *)(param_1 + 0x428);\n dVar32 = dVar58 - *(double *)(param_1 + 0x430);\n dVar31 = SQRT(dVar32 * dVar32 + dVar31 * dVar31);\n if (((ulong)ABS(dVar31) < 0x7ff0000000000000) && (0.01 < dVar31)) {\n if (local_228 == 1) {\n local_170._0_8_ = *local_270;\n local_170._8_8_ = local_270[1];\n local_160 = local_270[2];\n _CMTimeGetSeconds(local_170);\n }\n FUN_10001b584(local_208,local_210,local_218,local_220);\n bVar11 = false;\n }\n }\n }\n }\n else {\n bVar11 = true;\n }\n if (((uint)local_278 == 0) || (uVar17 = objc_stub::count((ID)local_200), uVar17 < 0x4d)) {\n bVar10 = false;\n dVar34 = local_290;\n dVar31 = local_210;\n dVar32 = local_208;\n }\n else {\n _CGRectIsNull(local_208,local_210,local_218,local_220);\n if ((((uVar17 & 1) != 0) ||\n (_CGRectIsEmpty(local_208,local_210,local_218,local_220), (uVar17 & 1) != 0)) ||\n (dVar31 = (double)_CGRectGetWidth(local_208,local_210,local_218,local_220),\n dVar31 <= 2.220446049250313e-16)) {\n bVar10 = false;\n }\n else {\n dVar31 = (double)_CGRectGetHeight(local_208,local_210,local_218,local_220);\n bVar10 = 2.220446049250313e-16 < dVar31;\n }\n bVar10 = (bool)(bVar10 & (bVar11 ^ 1U));\n dVar34 = local_290;\n dVar31 = local_210;\n dVar32 = local_208;\n }\n local_290 = dVar34;\n local_210 = dVar31;\n local_208 = dVar32;\n if (!bVar11) {\n if (!bVar10) {\n FUN_10003f44c(dVar59,dVar34,local_278 & 0xffffffff);\n local_280 = dVar34;\n goto LAB_1000406b4;\n }\n local_170._0_8_ = dVar29;\n local_170._8_8_ = dVar30;\n local_160 = dVar50;\n local_158 = dVar52;\n FUN_1000428e0(dVar32,dVar31,local_218,local_220,*(undefined8 *)(lVar27 + 0xf0),dVar34,\n local_170);\n IVar16 = objc_stub::count((ID)dVar34);\n if (IVar16 == 0) {\n if (local_228 == 1) {\n local_190 = *local_270;\n uStack_188 = local_270[1];\n local_180 = local_270[2];\n _CMTimeGetSeconds(&local_190);\n }\n objc_stub::count((ID)local_290);\n FUN_10001b584(local_208,local_210,local_218,local_220);\n FUN_10001b584(local_170._0_8_,local_170._8_8_,local_160,local_158);\n objc_stub::count((ID)local_290);\n _NSStringFromRect(local_208,local_210,local_218,local_220);\n dVar58 = *(double *)((ulong)local_170 | 8);\n dVar32 = local_160;\n dVar31 = local_158;\n _NSStringFromRect(local_170._0_8_);\n FUN_1000329ac(&cf_faceSelectmanual_guard_holdfaces__lurange___2fprevious___search___);\n local_280 = 0.0;\n bVar11 = false;\n }\n else {\n bVar10 = local_228 == 1;\n dVar31 = dVar34;\n dVar32 = local_210;\n dVar58 = local_218;\n dVar59 = local_220;\n FUN_100042c58(local_208,local_210,local_218,local_220);\n bVar11 = dVar31 != 0.0;\n local_280 = dVar31;\n uVar53 = FUN_10003d49c();\n if (bVar10) {\n local_190 = *local_270;\n uStack_188 = local_270[1];\n local_180 = local_270[2];\n _CMTimeGetSeconds(&local_190);\n }\n objc_stub::count((ID)local_290);\n objc_stub::count((ID)dVar34);\n FUN_10001b584(uVar53,dVar32,dVar58,dVar59);\n FUN_10001b584(local_208,local_210,local_218,local_220);\n FUN_10001b584(local_170._0_8_,local_170._8_8_,local_160,local_158);\n objc_stub::count((ID)local_290);\n objc_stub::count((ID)dVar34);\n _NSStringFromRect(local_208,local_210,local_218,local_220);\n dVar58 = *(double *)((ulong)local_170 | 8);\n dVar32 = local_160;\n dVar31 = local_158;\n _NSStringFromRect(local_170._0_8_);\n FUN_1000329ac(&\n cf_faceSelectmanual_guard_searchfaces__lucandidates__lurange___2fprevious___search___\n );\n }\n bVar22 = 0;\n goto LAB_100040a18;\n }\n bVar11 = local_228 == 1;\n FUN_10003f44c(dVar59,dVar58,local_250,local_258,dStack_260,local_268,dVar34,0);\n local_280 = dVar34;\n if (bVar11) {\n local_170._0_8_ = *local_270;\n local_170._8_8_ = local_270[1];\n local_160 = local_270[2];\n _CMTimeGetSeconds(local_170);\n }\n objc_stub::count((ID)local_290);\n FUN_10003d49c(local_280);\n FUN_10001b584();\n dVar58 = local_210;\n dVar32 = local_218;\n dVar31 = local_220;\n FUN_10001b584(local_208);\n bVar10 = true;\nLAB_1000406bc:\n bVar22 = 0;\n bVar11 = true;\n }\n if (local_280 == 0.0) {\n local_1f8 = 0.0;\n if (!bVar11) {\n local_280 = 0.0;\n goto LAB_100041320;\n }\nLAB_100041068:\n objc_stub::count((ID)local_290);\n local_278 = 0;\n dVar28 = local_2e0;\n }\n else {\n objc_stub::boundingBox((ID)local_280);\n _CGRectStandardize();\n dVar33 = (double)_CGRectIntersection();\n dVar59 = local_280;\n FUN_100029d4c();\n dVar34 = dVar58;\n dVar51 = dVar32;\n dVar39 = dVar31;\n local_1f8 = dVar59;\n local_250 = (double)FUN_100042f9c(dVar33);\n local_268 = dVar39;\n dStack_260 = dVar51;\n local_258 = dVar34;\n _CGRectIsNull(local_250,dVar34,dVar51,dVar39);\n if (((((ulong)dVar59 & 1) != 0) ||\n (_CGRectIsEmpty(local_250,local_258,dStack_260,local_268), ((ulong)dVar59 & 1) != 0)) ||\n ((dVar34 = (double)_CGRectGetWidth(local_250,local_258,dStack_260,local_268),\n dVar34 <= 2.220446049250313e-16 ||\n (dVar34 = (double)_CGRectGetHeight(local_250,local_258,dStack_260,local_268),\n dVar34 <= 2.220446049250313e-16)))) {\n local_268 = dVar31;\n dStack_260 = dVar32;\n local_258 = dVar58;\n local_250 = dVar33;\n }\n _CGRectIsNull(dVar33,dVar58,dVar32,dVar31);\n if (((((ulong)dVar59 & 1) == 0) &&\n (_CGRectIsEmpty(dVar33,dVar58,dVar32,dVar31), ((ulong)dVar59 & 1) == 0)) &&\n (((dVar34 = (double)_CGRectGetWidth(dVar33,dVar58,dVar32,dVar31),\n 2.220446049250313e-16 < dVar34 &&\n (((dVar34 = (double)_CGRectGetHeight(dVar33,dVar58,dVar32,dVar31),\n 2.220446049250313e-16 < dVar34 &&\n (_CGRectIsNull(local_250,local_258,dStack_260,local_268), ((ulong)dVar59 & 1) == 0)) &&\n (_CGRectIsEmpty(local_250,local_258,dStack_260,local_268), ((ulong)dVar59 & 1) == 0))))\n && (((dVar34 = (double)_CGRectGetWidth(local_250,local_258,dStack_260,local_268),\n 2.220446049250313e-16 < dVar34 &&\n (dVar34 = (double)_CGRectGetHeight(local_250,local_258,dStack_260,local_268),\n 2.220446049250313e-16 < dVar34)) &&\n (FUN_10002a568(local_250,local_258,dStack_260,local_268,dVar33,dVar58,dVar32,dVar31),\n ((ulong)dVar59 & 1) == 0)))))) {\n if (local_228 == 1) {\n local_170._0_8_ = *local_270;\n local_170._8_8_ = local_270[1];\n local_160 = local_270[2];\n _CMTimeGetSeconds(local_170);\n }\n FUN_10001b584(dVar33,dVar58,dVar32,dVar31);\n FUN_10001b584(local_250,local_258,dStack_260,local_268);\n objc_stub::count((ID)local_1f8);\n }\n uVar17 = objc_stub::count((ID)local_1f8);\n if (((uVar17 < 0x4d) ||\n (_CGRectIsNull(local_250,local_258,dStack_260,local_268), (uVar17 & 1) != 0)) ||\n ((_CGRectIsEmpty(local_250,local_258,dStack_260,local_268), (uVar17 & 1) != 0 ||\n (dVar31 = (double)_CGRectGetWidth(local_250,local_258,dStack_260,local_268),\n dVar31 <= 2.220446049250313e-16)))) goto LAB_100041320;\n dVar31 = (double)_CGRectGetHeight(local_250,local_258,dStack_260,local_268);\n uVar23 = (uint)local_2e8 ^ 1;\n uVar1 = (uint)(dVar31 <= 2.220446049250313e-16) | local_224 ^ 1;\n if (((uVar1 | uVar23) & 1) == 0) {\n IVar16 = objc_stub::count((ID)local_200);\n uVar17 = objc_stub::count((ID)local_1f8);\n if ((((IVar16 != uVar17) ||\n (_CGRectIsNull(local_208,local_210,local_218,local_220), (uVar17 & 1) != 0)) ||\n (_CGRectIsEmpty(local_208,local_210,local_218,local_220), (uVar17 & 1) != 0)) ||\n (dVar32 = (double)_CGRectGetWidth(local_208,local_210,local_218,local_220),\n dVar32 <= 2.220446049250313e-16)) goto LAB_100041140;\n dVar32 = local_218;\n dVar58 = local_220;\n dVar59 = (double)_CGRectGetHeight(local_208,local_210);\n uVar53 = 0x3cb0000000000000;\n if (dVar59 <= 2.220446049250313e-16) goto LAB_100041140;\n uVar56 = FUN_10002a7b8(local_1f8,0x3b,0x4b);\n dVar59 = local_200;\n uVar55 = uVar53;\n dVar34 = dVar32;\n dVar51 = dVar58;\n uVar57 = FUN_10002a7b8(local_200,0x3b,0x4b);\n dVar33 = (double)_CGRectGetMidX(local_250,local_258,dStack_260,local_268);\n dVar35 = (double)_CGRectGetMidY(local_250,local_258,dStack_260,local_268);\n dVar36 = (double)_CGRectGetMidX(local_208,local_210,local_218,local_220);\n dVar37 = (double)_CGRectGetMidY(local_208,local_210,local_218,local_220);\n dVar38 = (double)_CGRectGetWidth(local_250,local_258,dStack_260,local_268);\n dVar39 = (double)_CGRectGetHeight(local_250,local_258,dStack_260,local_268);\n if (dVar39 <= dVar38) {\n dVar39 = dVar38;\n }\n dVar40 = (double)_CGRectGetWidth(local_208,local_210,local_218,local_220);\n dVar38 = (double)_CGRectGetHeight(local_208,local_210,local_218,local_220);\n if (dVar38 <= dVar40) {\n dVar38 = dVar40;\n }\n if (dVar38 <= dVar39) {\n dVar38 = dVar39;\n }\n dVar39 = dVar38 * 0.16;\n if (dVar38 * 0.16 <= 0.045) {\n dVar39 = 0.045;\n }\n dVar38 = 0.09;\n if (dVar39 <= 0.09) {\n dVar38 = dVar39;\n }\n dVar40 = 0.045;\n if (0.045 <= dVar39) {\n dVar40 = dVar38;\n }\n _CGRectIsNull(uVar56,uVar53,dVar32,dVar58);\n dVar38 = 0.0;\n dVar39 = 0.07;\n if ((((((ulong)dVar59 & 1) != 0) ||\n (_CGRectIsEmpty(uVar56,uVar53,dVar32,dVar58), ((ulong)dVar59 & 1) != 0)) ||\n (((dVar41 = (double)_CGRectGetWidth(uVar56,uVar53,dVar32,dVar58),\n dVar41 <= 2.220446049250313e-16 ||\n ((dVar41 = (double)_CGRectGetHeight(uVar56,uVar53,dVar32,dVar58),\n dVar41 <= 2.220446049250313e-16 ||\n (_CGRectIsNull(uVar57,uVar55,dVar34,dVar51), ((ulong)dVar59 & 1) != 0)))) ||\n (_CGRectIsEmpty(uVar57,uVar55,dVar34,dVar51), ((ulong)dVar59 & 1) != 0)))) ||\n ((dVar59 = (double)_CGRectGetWidth(uVar57,uVar55,dVar34,dVar51),\n dVar59 <= 2.220446049250313e-16 ||\n (dVar59 = (double)_CGRectGetHeight(uVar57,uVar55,dVar34,dVar51),\n dVar59 <= 2.220446049250313e-16)))) {\n bVar11 = false;\n }\n else {\n dVar39 = (double)_CGRectGetMidX(uVar56,uVar53,dVar32,dVar58);\n dVar38 = (double)_CGRectGetMidY(uVar56,uVar53,dVar32,dVar58);\n dVar41 = (double)_CGRectGetMidX(uVar57,uVar55,dVar34,dVar51);\n dVar42 = (double)_CGRectGetMidY(uVar57,uVar55,dVar34,dVar51);\n dVar43 = (double)_CGRectGetWidth(uVar56,uVar53,dVar32,dVar58);\n dVar59 = (double)_CGRectGetHeight(uVar56,uVar53,dVar32,dVar58);\n if (dVar59 <= dVar43) {\n dVar59 = dVar43;\n }\n dVar44 = (double)_CGRectGetWidth(uVar57,uVar55,dVar34,dVar51);\n dVar43 = (double)_CGRectGetHeight(uVar57,uVar55,dVar34,dVar51);\n dVar38 = SQRT((dVar38 - dVar42) * (dVar38 - dVar42) +\n (dVar39 - dVar41) * (dVar39 - dVar41));\n if (dVar43 <= dVar44) {\n dVar43 = dVar44;\n }\n if (dVar43 <= dVar59) {\n dVar43 = dVar59;\n }\n dVar59 = dVar43 * 0.18;\n if (dVar43 * 0.18 <= 0.04) {\n dVar59 = 0.04;\n }\n dVar41 = 0.08;\n if (dVar59 <= 0.08) {\n dVar41 = dVar59;\n }\n dVar39 = 0.04;\n if (0.04 <= dVar59) {\n dVar39 = dVar41;\n }\n bVar11 = true;\n }\n bVar8 = false;\n if (dVar39 < dVar38) {\n bVar8 = bVar11;\n }\n if ((SQRT((dVar35 - dVar37) * (dVar35 - dVar37) + (dVar33 - dVar36) * (dVar33 - dVar36)) <=\n dVar40) && (!bVar8)) goto LAB_100041140;\n if (local_228 == 1) {\n local_170._0_8_ = *local_270;\n local_170._8_8_ = local_270[1];\n local_160 = local_270[2];\n _CMTimeGetSeconds(local_170);\n }\n FUN_10001b584(local_208,local_210,local_218,local_220);\n FUN_10001b584(local_250,local_258,dStack_260,local_268);\n FUN_10001c338(uVar57,uVar55,dVar34,dVar51);\n FUN_10001c338(uVar56,uVar53,dVar32,dVar58);\n local_2e8 = (double)((ulong)local_2e8 & 0xffffffff00000000);\n }\n else {\nLAB_100041140:\n if ((((uVar1 | (uint)local_278 ^ 0xffffffff | uVar23) & 1) == 0) &&\n (uVar17 = objc_stub::count((ID)local_200), 0x4c < uVar17)) {\n _CGRectIsNull(local_208,local_210,local_218,local_220);\n if ((((uVar17 & 1) == 0) &&\n (_CGRectIsEmpty(local_208,local_210,local_218,local_220), (uVar17 & 1) == 0)) &&\n (dVar32 = (double)_CGRectGetWidth(local_208,local_210,local_218,local_220),\n 2.220446049250313e-16 < dVar32)) {\n dVar32 = (double)_CGRectGetHeight(local_208,local_210,local_218,local_220);\n if (dVar32 <= 2.220446049250313e-16) goto LAB_10004130c;\n local_190 = NAN;\n bVar11 = local_228 == 1;\n local_1b0 = NAN;\n local_1c0 = NAN;\n dVar31 = local_1f8;\n FUN_100043338(local_250,local_258,dStack_260,local_268,local_208,local_210,local_218,\n local_220,local_1f8,local_200,&local_190,&local_1b0,&local_1c0);\n if (bVar11) {\n local_170._0_8_ = *local_270;\n local_170._8_8_ = local_270[1];\n local_160 = local_270[2];\n _CMTimeGetSeconds(local_170);\n }\n FUN_10001b584(local_250,local_258,dStack_260,local_268);\n FUN_10001b584(local_208,local_210,local_218,local_220);\n if (SUB84(dVar31,0) != 0) {\n dVar31 = local_200;\n FUN_10001ab3c(local_208,local_210,local_218,local_220,local_250,local_258,dStack_260,\n local_268);\n IVar16 = objc_stub::count((ID)dVar31);\n if ((0x4c < IVar16) &&\n (dVar32 = dVar31, FUN_10001b070(local_250,local_258,dStack_260,local_268),\n SUB84(dVar32,0) != 0)) {\n if (local_228 == 1) {\n local_170._0_8_ = *local_270;\n local_170._8_8_ = local_270[1];\n local_160 = local_270[2];\n _CMTimeGetSeconds(local_170);\n }\n FUN_10001b584(local_250,local_258,dStack_260,local_268);\n FUN_10001b584(local_208,local_210,local_218,local_220);\n objc_stub::count((ID)dVar31);\n local_1f8 = dVar31;\n }\n }\n }\n }\n else {\nLAB_10004130c:\n if (dVar31 <= 2.220446049250313e-16) goto LAB_100041320;\n }\n }\n if (local_228 == 1) {\n local_170._0_8_ = *local_270;\n local_170._8_8_ = local_270[1];\n local_160 = local_270[2];\n _CMTimeGetSeconds(local_170);\n }\n FUN_10001b584(local_250,local_258,dStack_260,local_268);\n objc_stub::count((ID)local_1f8);\n if ((local_330 == 0) || (!bVar10)) goto LAB_100041068;\n uVar53 = *(undefined8 *)puVar6;\n uVar56 = *(undefined8 *)(puVar6 + 0x18);\n uVar55 = *(undefined8 *)(puVar6 + 0x10);\n *(undefined8 *)(param_1 + 0x4b8) = *(undefined8 *)(puVar6 + 8);\n *(undefined8 *)(param_1 + 0x4b0) = uVar53;\n local_d0 = *(double *)puVar7;\n local_c8 = *(int *)(puVar7 + 8);\n *(undefined1 *)(param_1 + 0x4a9) = 0;\n *(undefined8 *)(param_1 + 0x4c8) = uVar56;\n *(undefined8 *)(param_1 + 0x4c0) = uVar55;\n *(double *)(param_1 + 0x4d8) = dVar46;\n *(double *)(param_1 + 0x4d0) = dVar45;\n *(double *)(param_1 + 0x4e0) = dVar28;\n local_c0 = local_d0;\n local_b8 = local_c8;\n mss_clearRewindFaceReferences(param_1);\n if (lVar27 != 0) {\n *(undefined1 *)(param_1 + 0x420) = 1;\n dVar46 = *(double *)(lVar27 + 0x100);\n dVar45 = 1.0;\n if (dVar46 <= 1.0) {\n dVar45 = dVar46;\n }\n dVar31 = 0.0;\n if (0.0 <= dVar46) {\n dVar31 = dVar45;\n }\n *(double *)(param_1 + 0x428) = dVar31;\n dVar46 = *(double *)(lVar27 + 0x108);\n dVar45 = 1.0;\n if (dVar46 <= 1.0) {\n dVar45 = dVar46;\n }\n dVar31 = 0.0;\n if (0.0 <= dVar46) {\n dVar31 = dVar45;\n }\n *(double *)(param_1 + 0x430) = dVar31;\n lVar24 = *(long *)(lVar27 + 0x168);\n if (*(long *)(lVar27 + 0x168) <= *(long *)(param_1 + 0x438)) {\n lVar24 = *(long *)(param_1 + 0x438);\n }\n *(long *)(param_1 + 0x438) = lVar24;\n }\n if (local_228 == 1) {\n local_170._0_8_ = *local_270;\n local_170._8_8_ = local_270[1];\n local_160 = local_270[2];\n _CMTimeGetSeconds(local_170);\n }\n FUN_10001b584(local_250,local_258,dStack_260,local_268);\n objc_stub::count((ID)local_290);\n local_200 = 0.0;\n uVar25 = 0;\n local_318 = *(uint *)(puVar7 + 0xc);\n local_278 = 1;\n local_2e8 = (double)((ulong)local_2e8 & 0xffffffff00000000);\n if (lVar27 == 0) {\n local_2f0 = (double)CONCAT44(local_2f0._4_4_,local_318);\n local_210 = local_238;\n local_208 = dStack_230;\n local_220 = local_248;\n local_218 = local_240;\n local_2d0 = dVar28;\n }\n else {\n local_2f0 = (double)CONCAT44(local_2f0._4_4_,local_318);\n local_210 = local_238;\n local_208 = dStack_230;\n local_220 = local_248;\n local_218 = local_240;\n local_2d0 = dVar28;\n }\n }\n _NSStringFromRect(local_250,local_258,dStack_260,local_268);\n FUN_1000329ac(&cf_faceSelectmode___faces__luclick____4f___4f_switched__dbbox___);\n bVar11 = true;\n local_2e0 = dVar28;\n }\n dVar45 = local_200;\n if ((((uVar25 ^ 1) == 0) && (local_228 == 1)) && ((local_2f0._0_4_ & 0x1d) == 1)) {\n local_170._0_8_ = *local_270;\n local_170._8_8_ = local_270[1];\n local_160 = local_270[2];\n local_190 = local_c0;\n uStack_188 = (double)CONCAT44(local_2f0._0_4_,local_b8);\n local_180 = local_2d0;\n puVar19 = local_170;\n _CMTimeCompare(puVar19,&local_190);\n dVar45 = local_200;\n if (-1 < (int)puVar19) {\n local_190 = *local_270;\n uStack_188 = local_270[1];\n local_180 = local_270[2];\n local_1b0 = local_c0;\n local_1a8 = (double)CONCAT44(local_2f0._0_4_,local_b8);\n local_1a0 = local_2d0;\n _CMTimeSubtract(local_170,&local_190,&local_1b0);\n _CMTimeGetSeconds(local_170);\n dVar45 = local_200;\n }\n }\n local_200 = dVar45;\n if (!bVar11) {\n if ((bool)(bVar12 & bVar22)) {\n _NSStringFromRect(local_208,local_210,local_218,local_220);\n _NSStringFromRect(*(undefined8 *)(param_1 + 0x4e8),*(undefined8 *)(param_1 + 0x4f0),\n *(undefined8 *)(param_1 + 0x4f8),*(undefined8 *)(param_1 + 0x500));\n FUN_1000329ac(&cf_faceSelecthold_unstable_targetautoHold__dautoMissing__dbbox___tracked___);\nLAB_1000416e8:\n local_238 = local_210;\n dStack_230 = local_208;\n local_240 = local_218;\n local_310 = local_220;\n }\n else {\n if (bVar12) {\n objc_stub::count((ID)local_290);\n _NSStringFromRect(local_208,local_210,local_218,local_220);\n FUN_1000329ac(&cf_faceSelecthold_missing_indefinitefaces__lumissing___3fbbox___manual__d);\n goto LAB_1000416e8;\n }\n if (((local_224 & (uint)local_2a0) != 1) ||\n (IVar16 = objc_stub::count((ID)local_2b0), dVar45 = local_2b0, IVar16 < 0x4d)) {\n dVar45 = 0.0;\n uVar54 = 0;\n local_310 = local_248;\n dVar31 = local_240;\n dVar28 = local_238;\n dVar46 = dStack_230;\n goto LAB_100042444;\n }\n objc_stub::count((ID)local_290);\n _NSStringFromRect(local_2f8,local_300,local_308,local_310);\n FUN_1000329ac(&cf_faceSelectrewind_fallback_holdfaces__lubbox___manual__d);\n local_238 = local_300;\n dStack_230 = local_2f8;\n local_240 = local_308;\n }\n local_280 = 0.0;\n uVar54 = 0x3ff0000000000000;\n dVar31 = local_240;\n dVar28 = local_238;\n dVar46 = dStack_230;\n goto LAB_100042444;\n }\n if (((uint)local_2e8 & uVar25) == 1) {\n IVar16 = objc_stub::count((ID)dVar45);\n IVar20 = objc_stub::count((ID)local_1f8);\n bVar12 = IVar16 == IVar20;\n }\n else {\n bVar12 = false;\n }\n IVar16 = objc_stub::count((ID)local_1f8);\n uVar23 = local_224 ^ 1;\n if ((((uint)local_278 | uVar23 | uVar25 ^ 1) & 1) == 0 && IVar16 != 0) {\n IVar16 = objc_stub::count((ID)local_200);\n IVar20 = objc_stub::count((ID)local_1f8);\n if (IVar16 == IVar20 && !bVar12) {\n if (local_228 == 1) {\n local_170._0_8_ = *local_270;\n local_170._8_8_ = local_270[1];\n local_160 = local_270[2];\n _CMTimeGetSeconds(local_170);\n }\n FUN_10001b584(local_208,local_210,local_218,local_220);\n FUN_10001b584(local_250,local_258,dStack_260,local_268);\n }\n }\n bVar11 = local_228 != 1;\n IVar16 = objc_stub::count((ID)local_1f8);\n local_290 = 1.0;\n if (((((((uint)local_278 | uVar23) & 1) != 0 || (bool)(bVar12 ^ 1U)) || IVar16 == 0) || bVar11) ||\n ((local_318 & 0x1d) != 1)) {\nLAB_1000417a0:\n bVar11 = false;\n }\n else {\n local_170._0_8_ = *local_270;\n local_170._8_8_ = local_270[1];\n local_160 = local_270[2];\n local_190 = local_d0;\n uStack_188 = (double)CONCAT44(local_318,local_c8);\n local_180 = local_2e0;\n puVar19 = local_170;\n _CMTimeCompare(puVar19,&local_190);\n if ((int)puVar19 < 0) goto LAB_1000417a0;\n local_190 = *local_270;\n uStack_188 = local_270[1];\n local_180 = local_270[2];\n local_1b0 = local_d0;\n local_1a8 = (double)CONCAT44(local_318,local_c8);\n local_1a0 = local_2e0;\n _CMTimeSubtract(local_170,&local_190,&local_1b0);\n dVar45 = (double)_CMTimeGetSeconds(local_170);\n bVar11 = false;\n if (((0x7fffffffffffffff < (ulong)dVar45 ||\n 0x3fe < (long)ABS(dVar45) + 0xfff0000000000000U >> 0x35) &&\n 0xffffffffffffe < (long)dVar45 - 1U) && ABS(dVar45) != 0.0) goto LAB_1000417a0;\n if (dVar45 < 0.03) {\n dVar45 = dVar45 / 0.03;\n dVar46 = 1.0;\n if (dVar45 <= 1.0) {\n dVar46 = dVar45;\n }\n local_290 = 0.0;\n if (0.0 <= dVar45) {\n local_290 = dVar46;\n }\n bVar11 = true;\n }\n }\n IVar16 = objc_stub::count((ID)local_1f8);\n dVar46 = 1.0;\n if (((((uint)local_278 | uVar23) & 1) == 0 && !(bool)(bVar12 ^ 1U)) && IVar16 != 0) {\n IVar16 = objc_stub::count((ID)local_1f8);\n dVar45 = 0.0;\n dVar46 = 0.0;\n if (0x4c < IVar16) {\n IVar16 = objc_stub::lastObject((ID)local_1f8);\n objc_stub::X(IVar16);\n dVar45 = (double)_CGRectGetMaxX(local_250,local_258,dStack_260,local_268);\n objc_stub::X(IVar16);\n dVar46 = ABS(extraout_d0 - local_250);\n dVar45 = ABS(dVar45 - extraout_d0_00);\n }\n dVar28 = 1.0;\n if (0.0001 < dVar45 + dVar46) {\n dVar28 = 1.0 - ABS(dVar46 - dVar45) / (dVar45 + dVar46);\n }\n dVar45 = 1.0;\n if (dVar28 <= 1.0) {\n dVar45 = dVar28;\n }\n dVar46 = 0.0;\n if (0.0 <= dVar28) {\n dVar46 = dVar45;\n }\n dVar28 = dVar46 * 0.12 + 0.84;\n dVar45 = 0.96;\n if (dVar28 <= 0.96) {\n dVar45 = dVar28;\n }\n dVar46 = 0.82;\n if (0.82 <= dVar28) {\n dVar46 = dVar45;\n }\n }\n IVar16 = objc_stub::count((ID)local_1f8);\n dVar45 = local_1f8;\n if ((((uint)local_278 | uVar23) & 1) == 0 && IVar16 != 0) {\n dVar28 = local_290;\n if (!bVar11) {\n dVar28 = dVar46;\n }\n if (bVar11 || bVar12) {\n if (bVar11) {\n bVar22 = 0;\n }\n else {\n bVar22 = DAT_1000be160;\n if (DAT_1000be168 != -1) {\n FUN_1000799f0();\n bVar22 = DAT_1000be160;\n }\n }\n local_2e8 = *(double *)(PTR__CGPointZero_1000a8140 + 8);\n local_2d0 = *(double *)PTR__CGPointZero_1000a8140;\n dStack_398 = 0.0;\n dVar31 = 0.0;\n dStack_2c8 = local_2e8;\n local_1f0 = local_2d0;\n dStack_1e8 = local_2e8;\n local_1e0 = local_2d0;\n dStack_1d8 = local_2e8;\n local_1d0 = local_2d0;\n local_1c8 = local_2e8;\n local_1c0 = local_2d0;\n dStack_1b8 = local_2e8;\n local_1b0 = local_2d0;\n local_1a8 = local_2e8;\n local_190 = local_2d0;\n uStack_188 = local_2e8;\n if ((bVar22 & 1) == 0) {\n bVar12 = false;\n local_2b0 = local_2d0;\n dStack_2a8 = local_2e8;\n local_2a0 = local_2d0;\n dStack_298 = local_2e8;\n }\n else {\n dVar45 = local_200;\n FUN_1000435c8(local_200,0x45,0x4b,&local_190);\n if (((((SUB84(dVar45,0) == 0) ||\n (dVar45 = local_200, FUN_1000435c8(local_200,0x3b,0x41,&local_1b0),\n SUB84(dVar45,0) == 0)) ||\n (dVar45 = local_200, FUN_1000435c8(local_200,0x42,0x44,&local_1c0),\n SUB84(dVar45,0) == 0)) ||\n ((dVar45 = local_1f8, FUN_1000435c8(local_1f8,0x45,0x4b,&local_1d0),\n SUB84(dVar45,0) == 0 ||\n (dVar45 = local_1f8, FUN_1000435c8(local_1f8,0x3b,0x41,&local_1e0),\n SUB84(dVar45,0) == 0)))) ||\n (dVar45 = local_1f8, FUN_1000435c8(local_1f8,0x42,0x44,&local_1f0), SUB84(dVar45,0) == 0)\n ) {\n bVar12 = false;\n dStack_2a8 = dStack_2c8;\n local_2b0 = local_2d0;\n dStack_298 = dStack_2c8;\n local_2a0 = local_2d0;\n dVar31 = 0.0;\n }\n else {\n auVar47._0_8_ = dVar28 * 0.58;\n auVar47._8_8_ = dVar28 * 0.72;\n auVar60._0_8_ = -(ulong)(auVar47._0_8_ < 0.34);\n auVar60._8_8_ = -(ulong)(auVar47._8_8_ < 0.42);\n auVar3._8_8_ = -(ulong)(0.7 < auVar47._8_8_);\n auVar3._0_8_ = -(ulong)(0.62 < auVar47._0_8_);\n auVar47 = auVar47 ^ (auVar47 ^ _DAT_100085ff0) & auVar3;\n auVar61[9] = 0x7a;\n auVar61._0_9_ = _DAT_100085fe0;\n auVar61[10] = 0x14;\n auVar61[0xb] = 0xae;\n auVar61[0xc] = 0x47;\n auVar61[0xd] = 0xe1;\n auVar61[0xe] = 0xda;\n auVar61[0xf] = 0x3f;\n auVar47 = auVar47 ^ (auVar47 ^ auVar61) & auVar60;\n lVar27 = -(ulong)(auVar47._0_8_ < 0.0);\n lVar24 = -(ulong)(auVar47._8_8_ < 0.0);\n auVar61 = NEON_fmov(0x3ff0000000000000,8);\n auVar2._8_8_ = -(ulong)(auVar61._8_8_ < auVar47._8_8_);\n auVar2._0_8_ = -(ulong)(auVar61._0_8_ < auVar47._0_8_);\n auVar47 = auVar47 ^ (auVar47 ^ auVar61) & auVar2;\n auVar48._0_8_ =\n (double)CONCAT17(auVar47[7] & ~(byte)((ulong)lVar27 >> 0x38),\n CONCAT16(auVar47[6] & ~(byte)((ulong)lVar27 >> 0x30),\n CONCAT15(auVar47[5] & ~(byte)((ulong)lVar27 >> 0x28),\n CONCAT14(auVar47[4] &\n ~(byte)((ulong)lVar27 >> 0x20),\n CONCAT13(auVar47[3] &\n ~(byte)((ulong)lVar27 >> 0x18),\n CONCAT12(auVar47[2] &\n ~(byte)((ulong)lVar27\n >> 0x10),\n CONCAT11(auVar47[1] &\n ~(byte)((ulong\n )lVar27 >> 8),auVar47[0] & ~(byte)lVar27)))))));\n auVar48[8] = auVar47[8] & ~(byte)lVar24;\n auVar48[9] = auVar47[9] & ~(byte)((ulong)lVar24 >> 8);\n auVar48[10] = auVar47[10] & ~(byte)((ulong)lVar24 >> 0x10);\n auVar48[0xb] = auVar47[0xb] & ~(byte)((ulong)lVar24 >> 0x18);\n auVar48[0xc] = auVar47[0xc] & ~(byte)((ulong)lVar24 >> 0x20);\n auVar48[0xd] = auVar47[0xd] & ~(byte)((ulong)lVar24 >> 0x28);\n auVar48[0xe] = auVar47[0xe] & ~(byte)((ulong)lVar24 >> 0x30);\n auVar48[0xf] = auVar47[0xf] & ~(byte)((ulong)lVar24 >> 0x38);\n dVar31 = auVar48._8_8_;\n dVar45 = local_1f0 - local_1c0;\n dVar28 = dStack_1e8 - dStack_1b8;\n dVar32 = local_1e0 - local_1b0;\n dVar58 = dStack_1d8 - local_1a8;\n local_2d0 = (local_190 + (local_1d0 - local_190) * dVar31) - local_1d0;\n dStack_2c8 = 0.0;\n local_2e8 = (uStack_188 + (local_1c8 - uStack_188) * dVar31) - local_1c8;\n local_2b0 = (local_1b0 + dVar32 * dVar31) - local_1e0;\n dStack_2a8 = (local_1a8 + dVar58 * dVar31) - dStack_1d8;\n local_2a0 = (local_1c0 + dVar45 * auVar48._0_8_) - local_1f0;\n dStack_298 = (dStack_1b8 + dVar28 * auVar48._0_8_) - dStack_1e8;\n dStack_398 = SQRT(dVar58 * dVar58 + dVar32 * dVar32);\n bVar12 = true;\n dVar31 = SQRT(dVar28 * dVar28 + dVar45 * dVar45);\n }\n }\n IVar16 = objc_stub::count((ID)local_1f8);\n dVar45 = (double)NSMutableArray::arrayWithCapacity_((ID)&_OBJC_CLASS___NSMutableArray,IVar16);\n IVar16 = objc_stub::count((ID)local_1f8);\n if (IVar16 != 0) {\n uVar17 = 0;\n lVar27 = 0;\n dVar28 = 1.0;\n if (dVar46 <= 1.0) {\n dVar28 = dVar46;\n }\n local_2f8 = 0.72;\n dVar32 = 0.72;\n if (0.72 <= dVar46) {\n dVar32 = dVar28;\n }\n dVar46 = dVar46 * 0.96;\n dVar28 = 0.96;\n if (dVar46 <= 0.96) {\n dVar28 = dVar46;\n }\n dVar58 = 0.07999999999999996;\n if (0.82 <= dVar46) {\n dVar58 = dVar28 + -0.74;\n }\n local_308 = dStack_2a8;\n local_300 = dStack_298;\n local_2f0 = 0.075;\n local_2e0 = 0.0;\n do {\n IVar16 = objc_stub::objectAtIndexedSubscript_((ID)local_200,uVar17);\n IVar20 = objc_stub::objectAtIndexedSubscript_((ID)local_1f8,uVar17);\n objc_stub::X(IVar20);\n objc_stub::X(IVar16);\n objc_stub::Y(IVar20);\n objc_stub::Y(IVar16);\n uVar26 = uVar17 - 0x3b;\n dVar28 = extraout_d0_01 - extraout_d0_02;\n dVar59 = extraout_d0_03 - extraout_d0_04;\n dVar46 = (double)_hypot(dVar28,dVar59);\n if (bVar11) {\n dVar34 = (double)(&DAT_100086000)[uVar26 < 0x11];\n if ((double)(&DAT_100086000)[uVar26 < 0x11] <= local_290) {\n dVar34 = local_290;\n }\n dVar39 = local_2f0;\n if (uVar26 < 0x11) {\nLAB_100041c88:\n bVar10 = false;\n bVar8 = true;\n bVar9 = false;\n if (2.220446049250313e-16 < dVar46) {\n bVar10 = false;\n bVar8 = false;\n bVar9 = true;\n if (!NAN(dVar46) && !NAN(dVar39)) {\n bVar10 = dVar46 < dVar39;\n bVar8 = dVar46 == dVar39;\n bVar9 = false;\n }\n }\n if (!bVar8 && bVar10 == bVar9) {\n dVar28 = dVar28 * (dVar39 / dVar46);\n dVar59 = dVar59 * (dVar39 / dVar46);\n }\n }\n }\n else {\n dVar34 = dVar32;\n if (uVar26 < 0x11) {\n dVar51 = (dVar46 + -0.01) / 0.03;\n dVar34 = 1.0;\n if (dVar51 <= 1.0) {\n dVar34 = dVar51;\n }\n dVar39 = 0.0;\n if (0.0 <= dVar51) {\n dVar39 = dVar34;\n }\n dVar39 = dVar39 * dVar39 * (dVar39 * -2.0 + 3.0) * dVar58 + 0.74;\n dVar51 = dVar46;\n if (dVar46 <= local_2e0) {\n dVar51 = local_2e0;\n }\n lVar27 = lVar27 + 1;\n dVar33 = 1.0;\n if (dVar39 <= 1.0) {\n dVar33 = dVar39;\n }\n dVar34 = 0.68;\n if (0.68 <= dVar39) {\n dVar34 = dVar33;\n }\n dVar39 = 0.052;\n local_2e0 = dVar51;\n goto LAB_100041c88;\n }\n }\n objc_stub::X(IVar16);\n objc_stub::Y(IVar16);\n dVar46 = extraout_d0_05 + dVar34 * dVar28;\n dVar34 = extraout_d0_06 + dVar34 * dVar59;\n if ((bool)(bVar12 & uVar26 < 0x11)) {\n pdVar21 = &local_308;\n if (0x41 < uVar17) {\n pdVar21 = &local_300;\n }\n pdVar4 = &local_2b0;\n if (0x41 < uVar17) {\n pdVar4 = (double *)&local_2a0;\n }\n dVar39 = local_2d0;\n dVar51 = local_2e8;\n if (uVar17 < 0x45) {\n dVar39 = *pdVar4;\n dVar51 = *pdVar21;\n }\n dVar35 = ABS((double)uVar17 + -67.0) * 0.125;\n dVar33 = 1.0;\n if (dVar35 <= 1.0) {\n dVar33 = dVar35;\n }\n dVar33 = *(double *)(&UNK_100086010 + (ulong)(uVar17 - 0x45 < 0xfffffffffffffffd) * 8) *\n (local_2f8 + dVar33 * dVar33 * (dVar33 * -2.0 + 3.0) * 0.28);\n dVar28 = (double)_hypot(dVar28,dVar59);\n dVar59 = dVar28 * 0.3 + 0.018;\n dVar28 = (double)_hypot(dVar39,dVar51);\n bVar10 = false;\n bVar8 = true;\n bVar9 = false;\n if (dVar59 < dVar28) {\n bVar10 = false;\n bVar8 = false;\n bVar9 = true;\n if (!NAN(dVar28)) {\n bVar10 = dVar28 < 2.220446049250313e-16;\n bVar8 = dVar28 == 2.220446049250313e-16;\n bVar9 = false;\n }\n }\n dVar59 = dVar59 / dVar28;\n if (!bVar8 && bVar10 == bVar9) {\n dVar39 = dVar39 * dVar59;\n dVar51 = dVar51 * dVar59;\n }\n dVar46 = dVar46 + dVar33 * dVar39;\n dVar34 = dVar34 + dVar33 * dVar51;\n }\n auVar49._8_8_ = 0;\n auVar49._0_8_ = dVar46;\n IVar16 = CIVector::vectorWithX_Y_((ID)&_OBJC_CLASS___CIVector,auVar49,dVar34);\n objc_stub::addObject_((ID)dVar45,IVar16);\n IVar16 = objc_stub::count((ID)local_1f8);\n uVar17 = uVar17 + 1;\n } while (uVar17 < IVar16);\n if (((lVar27 != 0) && (0.012 < local_2e0)) && (local_228 == 1)) {\n local_170._0_8_ = *local_270;\n local_170._8_8_ = local_270[1];\n local_160 = local_270[2];\n _CMTimeGetSeconds(local_170);\n }\n }\n if (bVar12) {\n auVar5._8_8_ = dStack_398;\n auVar5._0_8_ = dVar31;\n NEON_ext(auVar5,auVar5,8,1);\n FUN_1000329ac(&cf_faceThinRegionTemporalblend___3fleftJump___4frightJump___4fchinJump___4f);\n }\n }\n }\n uVar17 = objc_stub::count((ID)dVar45);\n dVar46 = local_250;\n dVar28 = local_258;\n dVar31 = dStack_260;\n local_310 = local_268;\n if (((((0x4c < uVar17) &&\n (_CGRectIsNull(local_250,local_258,dStack_260,local_268), dVar46 = local_250,\n dVar28 = local_258, dVar31 = dStack_260, local_310 = local_268, (uVar17 & 1) == 0)) &&\n (_CGRectIsEmpty(local_250,local_258,dStack_260,local_268), dVar46 = local_250,\n dVar28 = local_258, dVar31 = dStack_260, local_310 = local_268, (uVar17 & 1) == 0)) &&\n ((dVar32 = (double)_CGRectGetWidth(local_250,local_258,dStack_260,local_268),\n dVar46 = local_250, dVar28 = local_258, dVar31 = dStack_260, local_310 = local_268,\n 2.220446049250313e-16 < dVar32 &&\n (dVar32 = (double)_CGRectGetHeight(local_250,local_258,dStack_260,local_268),\n dVar46 = local_250, dVar28 = local_258, dVar31 = dStack_260, local_310 = local_268,\n 2.220446049250313e-16 < dVar32)))) &&\n (dVar32 = dVar45, FUN_1000436e4(local_250,local_258,dStack_260,local_268), dVar46 = local_250,\n dVar28 = local_258, dVar31 = dStack_260, local_310 = local_268, ((ulong)dVar32 & 1) == 0)) {\n IVar16 = objc_stub::count((ID)local_1f8);\n if (IVar16 < 0x4d) {\n dVar32 = 0.0;\n }\n else {\n dVar32 = local_1f8;\n FUN_1000436e4(local_250,local_258,dStack_260,local_268);\n }\n if (local_228 == 1) {\n local_170._0_8_ = *local_270;\n local_170._8_8_ = local_270[1];\n local_160 = local_270[2];\n _CMTimeGetSeconds(local_170);\n }\n FUN_10001b584(local_250,local_258,dStack_260,local_268);\n FUN_10001b584(local_250,local_258,dStack_260,local_268);\n dVar45 = local_1f8;\n dVar46 = local_250;\n dVar28 = local_258;\n dVar31 = dStack_260;\n local_310 = local_268;\n if (((ulong)dVar32 & 1) == 0) {\n local_280 = 0.0;\n dVar45 = 0.0;\n dVar46 = dStack_230;\n dVar28 = local_238;\n dVar31 = local_240;\n local_310 = local_248;\n }\n }\n uVar17 = objc_stub::count((ID)dVar45);\n if (((0x4c < uVar17) && (_CGRectIsNull(dVar46,dVar28,dVar31,local_310), (uVar17 & 1) == 0)) &&\n ((_CGRectIsEmpty(dVar46,dVar28,dVar31,local_310), (uVar17 & 1) == 0 &&\n (dVar32 = (double)_CGRectGetWidth(dVar46,dVar28,dVar31,local_310),\n 2.220446049250313e-16 < dVar32)))) {\n dVar32 = (double)_CGRectGetHeight(dVar46,dVar28,dVar31,local_310);\n uVar23 = (uint)local_278;\n if (dVar32 <= 2.220446049250313e-16) {\n uVar23 = 1;\n }\n if (((uVar23 | local_330) & 1) == 0) {\n if (((local_224 | local_354 ^ 0xffffffff) & 1) != 0) goto LAB_100041f94;\n }\n else if (2.220446049250313e-16 < dVar32) {\nLAB_100041f94:\n IVar16 = objc_stub::copy((ID)dVar45);\n *(ID *)(param_1 + 0x310) = IVar16;\n *(double *)(param_1 + 0x318) = dVar46;\n *(double *)(param_1 + 800) = dVar28;\n *(double *)(param_1 + 0x328) = dVar31;\n *(double *)(param_1 + 0x330) = local_310;\n dVar32 = *local_270;\n dVar58 = local_270[1];\n *(double *)(param_1 + 0x348) = local_270[2];\n *(double *)(param_1 + 0x340) = dVar58;\n *(double *)(param_1 + 0x338) = dVar32;\n dVar32 = *local_270;\n dVar58 = local_270[1];\n *(double *)(param_1 + 0x360) = local_270[2];\n *(double *)(param_1 + 0x358) = dVar58;\n *(double *)(param_1 + 0x350) = dVar32;\n *(undefined1 *)(param_1 + 0x368) = 1;\n }\n }\n uVar17 = objc_stub::count((ID)dVar45);\n if ((local_224 & (local_284 | (uint)local_278)) == 0) {\n if ((((uVar17 < 0x4d) || (_CGRectIsNull(dVar46,dVar28,dVar31,local_310), (uVar17 & 1) != 0)) ||\n (_CGRectIsEmpty(dVar46,dVar28,dVar31,local_310), (uVar17 & 1) != 0)) ||\n (dVar32 = (double)_CGRectGetWidth(dVar46,dVar28,dVar31,local_310),\n dVar32 <= 2.220446049250313e-16)) {\n uVar23 = 0;\n }\n else {\n dVar32 = (double)_CGRectGetHeight(dVar46,dVar28,dVar31,local_310);\n uVar23 = (uint)(2.220446049250313e-16 < dVar32);\n }\n uVar17 = objc_stub::count((ID)dVar45);\n if (((0x4c < uVar17) && (_CGRectIsNull(dVar46,dVar28,dVar31,local_310), (uVar17 & 1) == 0)) &&\n ((_CGRectIsEmpty(dVar46,dVar28,dVar31,local_310), (uVar17 & 1) == 0 &&\n ((dVar32 = (double)_CGRectGetWidth(dVar46,dVar28,dVar31,local_310),\n 2.220446049250313e-16 < dVar32 &&\n (dVar32 = (double)_CGRectGetHeight(dVar46,dVar28,dVar31,local_310),\n ((uint)(2.220446049250313e-16 < dVar32) & uVar23 & (local_358 | local_2d4)) == 1)))))) {\n local_170._0_8_ = *local_270;\n local_170._8_8_ = local_270[1];\n local_160 = local_270[2];\n CVar63.field0_0x0.field1_0x8 = dVar28;\n CVar63.field0_0x0.field0_0x0 = dVar46;\n CVar63.field1_0x10.field1_0x8 = local_310;\n CVar63.field1_0x10.field0_0x0 = dVar31;\n mss_storeRewindFaceReferencePoints_forBox_renderTime_\n (param_1,(ID)dVar45,CVar63,(AnonymousStructure0 *)local_170);\n }\n if (local_228 == 1) {\n local_170._0_8_ = *local_270;\n local_170._8_8_ = local_270[1];\n local_160 = local_270[2];\n _CMTimeGetSeconds();\n }\n FUN_10001b584(dVar46,dVar28,dVar31,local_310);\n FUN_10001b584(*(undefined8 *)(param_1 + 0x2b8),*(undefined8 *)(param_1 + 0x2c0),\n *(undefined8 *)(param_1 + 0x2c8),*(undefined8 *)(param_1 + 0x2d0));\n _NSStringFromRect(dVar46,dVar28,dVar31,local_310);\n _NSStringFromRect(*(undefined8 *)(param_1 + 0x2b8),*(undefined8 *)(param_1 + 0x2c0),\n *(undefined8 *)(param_1 + 0x2c8),*(undefined8 *)(param_1 + 0x2d0));\n FUN_1000329ac(&cf_faceSelectskip_temporal_commitrewind___4fstoredRewind__dbbox___current___);\n }\n else if ((((uVar17 < 0x4d) || (_CGRectIsNull(dVar46,dVar28,dVar31,local_310), (uVar17 & 1) != 0))\n || (_CGRectIsEmpty(dVar46,dVar28,dVar31,local_310), (uVar17 & 1) != 0)) ||\n ((dVar32 = (double)_CGRectGetWidth(dVar46,dVar28,dVar31,local_310),\n dVar32 <= 2.220446049250313e-16 ||\n (dVar32 = (double)_CGRectGetHeight(dVar46,dVar28,dVar31,local_310),\n dVar32 <= 2.220446049250313e-16)))) {\n _NSStringFromRect(dVar46,dVar28,dVar31,local_310);\n objc_stub::count((ID)dVar45);\n FUN_1000329ac(&cf_faceSelectskip_temporal_commitinvalidresultbbox___points__lu);\n }\n else {\n IVar16 = objc_stub::copy((ID)dVar45);\n *(ID *)(param_1 + 0x2b0) = IVar16;\n *(double *)(param_1 + 0x2b8) = dVar46;\n *(double *)(param_1 + 0x2c0) = dVar28;\n *(double *)(param_1 + 0x2c8) = dVar31;\n *(double *)(param_1 + 0x2d0) = local_310;\n dVar32 = *local_270;\n dVar58 = local_270[1];\n *(double *)(param_1 + 0x2e8) = local_270[2];\n *(double *)(param_1 + 0x2e0) = dVar58;\n *(double *)(param_1 + 0x2d8) = dVar32;\n dVar32 = *local_270;\n dVar58 = local_270[1];\n *(double *)(param_1 + 0x300) = local_270[2];\n *(double *)(param_1 + 0x2f8) = dVar58;\n *(double *)(param_1 + 0x2f0) = dVar32;\n *(undefined1 *)(param_1 + 0x308) = 1;\n local_170._0_8_ = *local_270;\n local_170._8_8_ = local_270[1];\n local_160 = local_270[2];\n CVar62.field0_0x0.field1_0x8 = dVar28;\n CVar62.field0_0x0.field0_0x0 = dVar46;\n CVar62.field1_0x10.field1_0x8 = local_310;\n CVar62.field1_0x10.field0_0x0 = dVar31;\n mss_storeRewindFaceReferencePoints_forBox_renderTime_\n (param_1,(ID)dVar45,CVar62,(AnonymousStructure0 *)local_170);\n if (((local_284 | (uint)local_278 ^ 0xffffffff) & 1) == 0) {\n if (local_228 == 1) {\n local_170._0_8_ = *local_270;\n local_170._8_8_ = local_270[1];\n local_160 = local_270[2];\n _CMTimeGetSeconds(local_170);\n }\n FUN_10001b584(dVar46,dVar28,dVar31,local_310);\n }\n }\n uVar17 = objc_stub::count((ID)dVar45);\n uVar54 = 0;\n if (((0x4c < uVar17) && (_CGRectIsNull(dVar46,dVar28,dVar31,local_310), (uVar17 & 1) == 0)) &&\n ((_CGRectIsEmpty(dVar46,dVar28,dVar31,local_310), (uVar17 & 1) == 0 &&\n (dVar32 = (double)_CGRectGetWidth(dVar46,dVar28,dVar31,local_310),\n 2.220446049250313e-16 < dVar32)))) {\n dVar32 = (double)_CGRectGetHeight(dVar46,dVar28,dVar31,local_310);\n uVar54 = 0x3ff0000000000000;\n if (dVar32 <= 2.220446049250313e-16) {\n uVar54 = 0;\n }\n }\nLAB_100042444:\n dStack_230 = dVar46;\n local_238 = dVar28;\n local_240 = dVar31;\n local_248 = local_310;\n if ((((local_224 & (local_284 | (uint)local_278)) == 1) && (*(char *)(param_1 + 0x308) == '\\x01'))\n && (dVar45 != 0.0)) {\n dVar46 = *local_270;\n dVar28 = local_270[1];\n *(double *)(param_1 + 0x300) = local_270[2];\n *(double *)(param_1 + 0x2f8) = dVar28;\n *(double *)(param_1 + 0x2f0) = dVar46;\n }\n if (local_228 == 1) {\n local_170._0_8_ = *local_270;\n local_170._8_8_ = local_270[1];\n local_160 = local_270[2];\n _CMTimeGetSeconds(local_170);\n }\n FUN_10001b584(dStack_230,local_238,local_240,local_248);\n FUN_10001b584(local_250,local_258,dStack_260,local_268);\n FUN_10001b584(local_208,local_210,local_218,local_220);\n FUN_10002a7b8(dVar45,0x3b,0x4b);\n FUN_10001c338();\n FUN_10002a7b8(local_1f8,0x3b,0x4b);\n FUN_10001c338();\n FUN_10002a7b8(local_200,0x3b,0x4b);\n FUN_10001c338();\n FUN_10002ab0c(dVar45);\n FUN_10002ab0c(local_1f8);\n FUN_10002ab0c(local_200);\n uVar17 = objc_stub::unlock(*(ID *)(param_1 + 0x28));\n if (param_5 != (const_AnonymousStructure7__)0x0) {\n param_5->field0_0x0 = uVar54;\n }\n if (local_2b8 != (double *)0x0) {\n _CGRectIsNull(dStack_230,local_238,local_240,local_248);\n if ((((uVar17 & 1) != 0) ||\n (_CGRectIsEmpty(dStack_230,local_238,local_240,local_248), (uVar17 & 1) != 0)) ||\n ((dVar46 = (double)_CGRectGetWidth(dStack_230,local_238,local_240,local_248),\n dVar46 <= 2.220446049250313e-16 ||\n (dVar46 = (double)_CGRectGetHeight(dStack_230,local_238,local_240,local_248),\n dVar46 <= 2.220446049250313e-16)))) {\n local_2b8[1] = dVar30;\n *local_2b8 = dVar29;\n local_2b8[3] = dVar52;\n local_2b8[2] = dVar50;\n }\n else {\n *local_2b8 = dStack_230;\n local_2b8[1] = local_238;\n local_2b8[2] = local_240;\n local_2b8[3] = local_248;\n }\n }\n if ((double *)param_4.field3_0x10 != (double *)0x0) {\n *(double *)param_4.field3_0x10 = local_280;\n }\n objc_stub::length(0x1000ad660);\n if (*(long *)PTR____stack_chk_guard_1000a80e8 == local_b0) {\n return (ID)dVar45;\n }\n /* WARNING: Subroutine does not return */\n ___stack_chk_fail();\n}\n\n", "operation": "procedure_pseudo_code", "parameters": { "procedure": "0x10003f88c" }, "predicate_type": "rea.analysis", "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" }, "raw_result": { "limitations": [ "Ghidra Listing reports a terminal call at 0x1000428d8 to 0x10007aca0 ___stack_chk_fail (external=false, thunk=true, hasNoReturn=true); fallthrough is excluded by Ghidra's flow model. This records Ghidra's FunctionManager flag, not an independent verification that the callee cannot return." ], "value": "\n/* WARNING: Function: _objc_release replaced with injection: _objc_release_fixup */\n/* WARNING: Function: _objc_retain replaced with injection: _objc_retain_fixup */\n/* WARNING: Function: _objc_autorelease replaced with injection: _objc_retain_fixup */\n/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */\n/* Function Stack Size: 0x50 bytes */\n\nID MSSuperSkinSmoothingPlugIn::\n temporalFacePointsForObservations_renderTime_params_selectedObservationOut_strengthMultiplierOut_pointsBoxOut_\n (ID param_1,SEL param_2,ID param_3,AnonymousStructure0 param_4,\n const_AnonymousStructure7__ param_5,ID *param_6,double *param_7,CGRect *param_8)\n\n{\n uint uVar1;\n undefined1 auVar2 [16];\n undefined1 auVar3 [16];\n double *pdVar4;\n undefined1 auVar5 [16];\n undefined *puVar6;\n undefined *puVar7;\n bool bVar8;\n bool bVar9;\n bool bVar10;\n bool bVar11;\n bool bVar12;\n int iVar13;\n bool bVar14;\n undefined4 uVar15;\n ulong uVar17;\n CGRect *pCVar18;\n undefined1 *puVar19;\n ID IVar20;\n double *pdVar21;\n byte bVar22;\n uint uVar23;\n long lVar24;\n uint uVar25;\n ulong uVar26;\n long lVar27;\n double dVar28;\n double dVar29;\n double dVar30;\n double dVar31;\n double dVar32;\n double dVar33;\n double dVar34;\n double dVar35;\n double dVar36;\n double dVar37;\n double dVar38;\n double dVar39;\n double dVar40;\n double dVar41;\n double dVar42;\n double dVar43;\n double dVar44;\n double dVar45;\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 dVar46;\n undefined1 auVar47 [16];\n undefined1 auVar48 [16];\n undefined1 auVar49 [16];\n double dVar50;\n double dVar51;\n double dVar52;\n undefined8 uVar53;\n unsigned_long_long uVar54;\n undefined8 uVar55;\n undefined8 uVar56;\n undefined8 uVar57;\n double dVar58;\n double dVar59;\n undefined1 auVar60 [16];\n undefined1 auVar61 [16];\n CGRect CVar62;\n CGRect CVar63;\n double dStack_398;\n uint local_358;\n uint local_354;\n uint local_330;\n uint local_318;\n double local_310;\n double local_308;\n double local_300;\n double local_2f8;\n double local_2f0;\n undefined8 local_2e8;\n double local_2e0;\n uint local_2d4;\n double local_2d0;\n double dStack_2c8;\n double *local_2b8;\n double local_2b0;\n double dStack_2a8;\n undefined8 local_2a0;\n double dStack_298;\n double local_290;\n uint local_284;\n double local_280;\n undefined8 local_278;\n double *local_270;\n double local_268;\n double dStack_260;\n double local_258;\n double local_250;\n double local_248;\n double local_240;\n double local_238;\n double dStack_230;\n uint local_228;\n uint local_224;\n double local_220;\n double local_218;\n double local_210;\n double local_208;\n double local_200;\n double local_1f8;\n double local_1f0;\n double dStack_1e8;\n double local_1e0;\n double dStack_1d8;\n double local_1d0;\n double local_1c8;\n double local_1c0;\n double dStack_1b8;\n double local_1b0;\n undefined8 local_1a8;\n double local_1a0;\n double local_190;\n undefined8 uStack_188;\n double local_180;\n undefined1 local_170 [16];\n double local_160;\n double local_158;\n byte local_141;\n undefined1 local_140 [12];\n uint uStack_134;\n double local_130;\n CGRect local_120;\n double local_f8;\n undefined1 local_f0 [12];\n uint uStack_e4;\n double local_e0;\n double local_d0;\n int local_c8;\n double local_c0;\n int local_b8;\n long local_b0;\n ID IVar16;\n \n lVar27 = param_4._8_8_;\n pdVar21 = (double *)param_4.field0_0x0;\n local_b0 = *(long *)PTR____stack_chk_guard_1000a80e8;\n local_2b8 = (double *)param_6;\n local_290 = (double)param_3;\n IVar16 = objc_stub::lock(*(ID *)(param_1 + 0x28));\n iVar13 = (int)IVar16;\n if (lVar27 == 0) {\n local_330 = 0;\n local_224 = 0;\n uVar23 = *(uint *)((long)pdVar21 + 0xc);\n }\n else {\n local_330 = (uint)*(byte *)(lVar27 + 0xf8);\n uVar23 = *(uint *)((long)pdVar21 + 0xc);\n if ((*(char *)(lVar27 + 0x172) == '\\x01') && (FUN_1000500b0(), iVar13 != 0)) {\n if ((((2.220446049250313e-16 < ABS(*(double *)(lVar27 + 0x68))) ||\n (2.220446049250313e-16 < ABS(*(double *)(lVar27 + 0x70)))) ||\n (2.220446049250313e-16 < ABS(*(double *)(lVar27 + 0x78)))) ||\n (((2.220446049250313e-16 < ABS(*(double *)(lVar27 + 0x80)) ||\n (2.220446049250313e-16 < ABS(*(double *)(lVar27 + 0x88)))) ||\n ((2.220446049250313e-16 < ABS(*(double *)(lVar27 + 0x90)) ||\n ((2.220446049250313e-16 < ABS(*(double *)(lVar27 + 0x98)) ||\n (2.220446049250313e-16 < ABS(*(double *)(lVar27 + 0xa0)))))))))) {\n local_224 = 1;\n }\n else {\n local_224 = (uint)(2.220446049250313e-16 < ABS(*(double *)(lVar27 + 0xa8)));\n }\n }\n else {\n local_224 = 0;\n }\n }\n if ((*(char *)(param_1 + 0x368) == '\\x01') &&\n (uVar17 = objc_stub::count(*(ID *)(param_1 + 0x310)), 0x4c < uVar17)) {\n uVar53 = *(undefined8 *)(param_1 + 0x318);\n uVar55 = *(undefined8 *)(param_1 + 800);\n uVar56 = *(undefined8 *)(param_1 + 0x328);\n uVar57 = *(undefined8 *)(param_1 + 0x330);\n _CGRectIsNull(uVar53,uVar55,uVar56,uVar57);\n if (((uVar17 & 1) != 0) ||\n ((_CGRectIsEmpty(uVar53,uVar55,uVar56,uVar57), (uVar17 & 1) != 0 ||\n (dVar29 = (double)_CGRectGetWidth(uVar53,uVar55,uVar56,uVar57),\n dVar29 <= 2.220446049250313e-16)))) goto LAB_10003fa84;\n dVar29 = (double)_CGRectGetHeight(uVar53,uVar55,uVar56,uVar57);\n local_354 = (uint)(2.220446049250313e-16 < dVar29);\n }\n else {\nLAB_10003fa84:\n local_354 = 0;\n }\n puVar7 = PTR__kCMTimeInvalid_1000a8208;\n puVar6 = PTR__CGRectNull_1000a8148;\n local_228 = uVar23 & 0x1d;\n local_270 = pdVar21;\n if ((local_224 & 1) == 0) {\n if ((((*(byte *)(param_1 + 0x308) & 1) != 0) || ((*(byte *)(param_1 + 0x410) & 1) != 0)) ||\n (IVar16 = objc_stub::count(*(ID *)(param_1 + 0x418)), IVar16 != 0)) {\n if (local_228 == 1) {\n local_120.field0_0x0.field0_0x0 = *local_270;\n local_120.field0_0x0.field1_0x8 = local_270[1];\n local_120.field1_0x10.field0_0x0 = local_270[2];\n _CMTimeGetSeconds(&local_120);\n }\n FUN_10001b584(*(undefined8 *)(param_1 + 0x2b8),*(undefined8 *)(param_1 + 0x2c0),\n *(undefined8 *)(param_1 + 0x2c8),*(undefined8 *)(param_1 + 0x2d0));\n FUN_10001b584(*(undefined8 *)(param_1 + 0x318),*(undefined8 *)(param_1 + 800),\n *(undefined8 *)(param_1 + 0x328),*(undefined8 *)(param_1 + 0x330));\n objc_stub::count(*(ID *)(param_1 + 0x418));\n }\n *(undefined8 *)(param_1 + 0x2b0) = 0;\n uVar53 = *(undefined8 *)puVar6;\n uVar56 = *(undefined8 *)(puVar6 + 0x18);\n uVar55 = *(undefined8 *)(puVar6 + 0x10);\n *(undefined8 *)(param_1 + 0x2c0) = *(undefined8 *)(puVar6 + 8);\n *(undefined8 *)(param_1 + 0x2b8) = uVar53;\n *(undefined8 *)(param_1 + 0x2d0) = uVar56;\n *(undefined8 *)(param_1 + 0x2c8) = uVar55;\n uVar53 = *(undefined8 *)puVar7;\n uVar55 = *(undefined8 *)(puVar7 + 8);\n *(undefined8 *)(param_1 + 0x2e0) = uVar55;\n *(undefined8 *)(param_1 + 0x2d8) = uVar53;\n uVar56 = *(undefined8 *)(puVar7 + 0x10);\n *(undefined8 *)(param_1 + 0x2e8) = uVar56;\n *(undefined8 *)(param_1 + 0x2f8) = uVar55;\n *(undefined8 *)(param_1 + 0x2f0) = uVar53;\n *(undefined8 *)(param_1 + 0x300) = uVar56;\n *(undefined1 *)(param_1 + 0x308) = 0;\n mss_clearRewindFaceReferences(param_1);\n }\n dVar29 = 0.0;\n if (((*(char *)(param_1 + 0x308) == '\\x01') && (local_228 == 1)) &&\n ((*(uint *)(param_1 + 0x2fc) & 0x1d) == 1)) {\n local_120.field0_0x0.field0_0x0 = *local_270;\n local_120.field0_0x0.field1_0x8 = local_270[1];\n local_120.field1_0x10.field0_0x0 = local_270[2];\n local_170._0_8_ = *(long_long *)(param_1 + 0x2f0);\n local_170._8_8_ = *(undefined8 *)(param_1 + 0x2f8);\n local_160 = *(double *)(param_1 + 0x300);\n pCVar18 = &local_120;\n _CMTimeCompare(pCVar18,local_170);\n local_284 = local_224;\n dVar29 = 0.0;\n if ((int)pCVar18 < 0) {\n local_170._0_8_ = *(long_long *)(param_1 + 0x2f0);\n local_170._8_8_ = *(undefined8 *)(param_1 + 0x2f8);\n local_160 = *(double *)(param_1 + 0x300);\n local_f0._0_8_ = *local_270;\n unique0x10003b1c = local_270[1];\n local_e0 = local_270[2];\n _CMTimeSubtract(&local_120,local_170,local_f0);\n dVar30 = (double)_CMTimeGetSeconds(&local_120);\n local_284 = (uint)(dVar30 <= 0.05 || 0x7fefffffffffffff < (ulong)ABS(dVar30));\n dVar29 = 0.0;\n if (local_284 == 0) {\n dVar29 = dVar30;\n }\n local_284 = local_284 & local_224;\n }\n }\n else {\n local_284 = local_224;\n }\n local_f8 = 0.0;\n local_2d4 = (uint)(0.05 < dVar29 && (ulong)ABS(dVar29) < 0x7ff0000000000000);\n dVar29 = *(double *)puVar6;\n dVar30 = *(double *)(puVar6 + 8);\n dVar52 = *(double *)(puVar6 + 0x18);\n dVar50 = *(double *)(puVar6 + 0x10);\n dVar45 = *(double *)puVar7;\n dVar46 = *(double *)(puVar7 + 8);\n dVar28 = *(double *)(puVar7 + 0x10);\n local_141 = 0;\n local_170._0_8_ = *local_270;\n local_170._8_8_ = local_270[1];\n local_160 = local_270[2];\n local_140._0_8_ = dVar45;\n unique0x1000573d = dVar46;\n local_130 = dVar28;\n local_120.field0_0x0.field0_0x0 = dVar29;\n local_120.field0_0x0.field1_0x8 = dVar30;\n local_120.field1_0x10.field0_0x0 = dVar50;\n local_120.field1_0x10.field1_0x8 = dVar52;\n local_f0._0_8_ = dVar45;\n unique0x10005775 = dVar46;\n local_e0 = dVar28;\n bVar14 = mss_timeLocalFaceReferenceForRenderTime_allowCurrentTime_pointsOut_boxOut_detectionTimeOut_outputTimeOut_usedHistoryOut_\n (param_1,(AnonymousStructure0 *)local_170,0,(ID *)&local_f8,&local_120,\n (AnonymousStructure0 *)local_f0,(AnonymousStructure0 *)local_140,\n (bool *)&local_141);\n dStack_230 = *(double *)puVar6;\n local_238 = *(double *)(puVar6 + 8);\n local_240 = *(double *)(puVar6 + 0x10);\n local_248 = *(double *)(puVar6 + 0x18);\n if (((bVar14 | local_2d4) & 1) != 0) goto LAB_10003fec0;\n if ((*(char *)(param_1 + 0x308) == '\\x01') &&\n (uVar17 = objc_stub::count(*(ID *)(param_1 + 0x2b0)), 0x4c < uVar17)) {\n uVar53 = *(undefined8 *)(param_1 + 0x2b8);\n uVar55 = *(undefined8 *)(param_1 + 0x2c0);\n uVar56 = *(undefined8 *)(param_1 + 0x2c8);\n uVar57 = *(undefined8 *)(param_1 + 0x2d0);\n _CGRectIsNull(uVar53,uVar55,uVar56,uVar57);\n if (((uVar17 & 1) != 0) ||\n (((_CGRectIsEmpty(uVar53,uVar55,uVar56,uVar57), (uVar17 & 1) != 0 ||\n (dVar31 = (double)_CGRectGetWidth(uVar53,uVar55,uVar56,uVar57),\n dVar31 <= 2.220446049250313e-16)) ||\n (dVar31 = (double)_CGRectGetHeight(uVar53,uVar55,uVar56,uVar57),\n dVar31 <= 2.220446049250313e-16)))) goto LAB_10003fddc;\n local_f8 = *(double *)(param_1 + 0x2b0);\n local_120.field0_0x0.field0_0x0 = *(double *)(param_1 + 0x2b8);\n local_120.field0_0x0.field1_0x8 = *(double *)(param_1 + 0x2c0);\n local_120.field1_0x10.field1_0x8 = *(double *)(param_1 + 0x2d0);\n local_120.field1_0x10.field0_0x0 = *(double *)(param_1 + 0x2c8);\n local_e0 = *(double *)(param_1 + 0x2e8);\n local_f0._0_8_ = *(double *)(param_1 + 0x2d8);\n unique0x10003b94 = *(double *)(param_1 + 0x2e0);\n pdVar21 = (double *)(param_1 + 0x2f0);\nLAB_10003fea8:\n local_358 = 0;\n local_140._0_8_ = *pdVar21;\n unique0x10003bdc = pdVar21[1];\n local_130 = pdVar21[2];\nLAB_10003fec8:\n local_218 = local_120.field1_0x10.field0_0x0;\n local_220 = local_120.field1_0x10.field1_0x8;\n bVar12 = true;\n local_210 = local_120.field0_0x0.field1_0x8;\n local_208 = local_120.field0_0x0.field0_0x0;\n dVar31 = local_f8;\n }\n else {\nLAB_10003fddc:\n if ((*(char *)(param_1 + 0x410) == '\\x01') &&\n (uVar17 = objc_stub::count(*(ID *)(param_1 + 0x3d0)), 0x4c < uVar17)) {\n uVar53 = *(undefined8 *)(param_1 + 0x3d8);\n uVar55 = *(undefined8 *)(param_1 + 0x3e0);\n uVar56 = *(undefined8 *)(param_1 + 1000);\n uVar57 = *(undefined8 *)(param_1 + 0x3f0);\n _CGRectIsNull(uVar53,uVar55,uVar56,uVar57);\n if (((uVar17 & 1) == 0) &&\n ((_CGRectIsEmpty(uVar53,uVar55,uVar56,uVar57), (uVar17 & 1) == 0 &&\n (dVar31 = (double)_CGRectGetWidth(uVar53,uVar55,uVar56,uVar57),\n 2.220446049250313e-16 < dVar31)))) {\n dVar31 = (double)_CGRectGetHeight(uVar53,uVar55,uVar56,uVar57);\n if (2.220446049250313e-16 < dVar31) {\n local_f8 = *(double *)(param_1 + 0x3d0);\n local_120.field0_0x0.field0_0x0 = *(double *)(param_1 + 0x3d8);\n local_120.field0_0x0.field1_0x8 = *(double *)(param_1 + 0x3e0);\n local_120.field1_0x10.field1_0x8 = *(double *)(param_1 + 0x3f0);\n local_120.field1_0x10.field0_0x0 = *(double *)(param_1 + 1000);\n pdVar21 = (double *)(param_1 + 0x3f8);\n local_e0 = *(double *)(param_1 + 0x408);\n local_f0._0_8_ = *pdVar21;\n unique0x10003bc4 = *(double *)(param_1 + 0x400);\n goto LAB_10003fea8;\n }\n goto LAB_10003fec0;\n }\n }\n else {\nLAB_10003fec0:\n local_358 = 1;\n if ((bVar14 & 1) != 0) goto LAB_10003fec8;\n }\n local_358 = 1;\n bVar12 = false;\n dVar31 = 0.0;\n local_208 = dStack_230;\n local_210 = local_238;\n local_218 = local_240;\n local_220 = local_248;\n }\n local_c0 = (double)local_f0._0_8_;\n uVar23 = uStack_e4;\n local_b8 = local_f0._8_4_;\n local_2d0 = local_e0;\n local_d0 = (double)local_140._0_8_;\n local_318 = uStack_134;\n local_c8 = local_140._8_4_;\n local_2e0 = local_130;\n if (bVar12) {\n uVar17 = objc_stub::count((ID)dVar31);\n if ((((uVar17 < 0x4d) ||\n (_CGRectIsNull(local_208,local_210,local_218,local_220), (uVar17 & 1) != 0)) ||\n (_CGRectIsEmpty(local_208,local_210,local_218,local_220), (uVar17 & 1) != 0)) ||\n (dVar32 = (double)_CGRectGetWidth(local_208,local_210,local_218,local_220),\n dVar32 <= 2.220446049250313e-16)) {\n uVar25 = 0;\n }\n else {\n dVar32 = (double)_CGRectGetHeight(local_208,local_210,local_218,local_220);\n uVar25 = (uint)(2.220446049250313e-16 < dVar32);\n }\n }\n else {\n uVar25 = 0;\n }\n local_358 = local_358 & local_141;\n local_2b0 = dVar31;\n if (local_358 == 0) {\n local_2b0 = 0.0;\n }\n local_300 = local_210;\n local_2f8 = local_208;\n local_310 = local_220;\n local_308 = local_218;\n local_2a0._0_4_ = uVar25;\n if (local_358 == 0) {\n local_2a0._0_4_ = 0;\n local_300 = local_238;\n local_2f8 = dStack_230;\n local_310 = local_248;\n local_308 = local_240;\n }\n if ((local_224 & 1) == 0) {\n if (local_354 != 0) {\n local_2a0 = (double)((ulong)local_2a0._4_4_ << 0x20);\n local_2b0 = 0.0;\n local_358 = 0;\n dVar31 = *(double *)(param_1 + 0x310);\n local_208 = *(double *)(param_1 + 0x318);\n local_210 = *(double *)(param_1 + 800);\n local_218 = *(double *)(param_1 + 0x328);\n local_220 = *(double *)(param_1 + 0x330);\n local_c0 = *(double *)(param_1 + 0x338);\n local_b8 = *(int *)(param_1 + 0x340);\n uVar23 = *(uint *)(param_1 + 0x344);\n local_2d0 = *(double *)(param_1 + 0x348);\n local_d0 = *(double *)(param_1 + 0x350);\n local_c8 = *(int *)(param_1 + 0x358);\n uVar25 = 1;\n local_300 = local_238;\n local_2f8 = dStack_230;\n local_318 = *(uint *)(param_1 + 0x35c);\n local_310 = local_248;\n local_308 = local_240;\n local_2e0 = *(double *)(param_1 + 0x360);\n goto LAB_1000400cc;\n }\n bVar12 = false;\n dVar31 = 0.0;\n local_2a0 = (double)((ulong)local_2a0._4_4_ << 0x20);\n local_358 = 0;\n uVar25 = 0;\n local_2b0 = 0.0;\n local_2e8 = (double)((ulong)local_2e8._4_4_ << 0x20);\n local_d0 = *(double *)puVar7;\n local_c8 = *(int *)(puVar7 + 8);\n uVar23 = *(uint *)(puVar7 + 0xc);\n local_300 = local_238;\n local_2f8 = dStack_230;\n local_310 = local_248;\n local_308 = local_240;\n local_208 = dStack_230;\n local_210 = local_238;\n local_218 = local_240;\n local_220 = local_248;\n local_2e0 = dVar28;\n local_2d0 = dVar28;\n local_c0 = local_d0;\n local_b8 = local_c8;\n local_318 = uVar23;\n }\n else {\nLAB_1000400cc:\n if ((((uint)local_2a0 == 0) || (local_2b0 == 0.0)) || (local_2b0 == dVar31)) {\n if (uVar25 != 0) goto LAB_100040128;\n bVar12 = false;\n local_2e8 = (double)((ulong)local_2e8._4_4_ << 0x20);\n uVar25 = 0;\n }\n else if (uVar25 == 0) {\n bVar12 = false;\n uVar25 = 0;\n local_2e8 = (double)((ulong)local_2e8._4_4_ << 0x20);\n }\n else {\nLAB_100040128:\n IVar16 = objc_stub::count((ID)dVar31);\n if (IVar16 < 0x4d) {\n local_2e8 = (double)((ulong)local_2e8._4_4_ << 0x20);\n }\n else {\n local_2e8 = (double)CONCAT44(local_2e8._4_4_,local_2d4 ^ 1 | (uint)local_141);\n }\n bVar12 = IVar16 >= 0x4d;\n uVar25 = 1;\n }\n }\n local_2f0 = (double)CONCAT44(local_2f0._4_4_,uVar23);\n local_200 = dVar31;\n if ((local_284 & 1) == 0) {\n if (local_228 == 1) {\n local_170._0_8_ = *local_270;\n local_170._8_8_ = local_270[1];\n local_160 = local_270[2];\n _CMTimeGetSeconds(local_170);\n }\n FUN_10001b584(local_208,local_210,local_218,local_220);\n FUN_10001b584(*(undefined8 *)(param_1 + 0x2b8),*(undefined8 *)(param_1 + 0x2c0),\n *(undefined8 *)(param_1 + 0x2c8),*(undefined8 *)(param_1 + 0x2d0));\n }\n uVar17 = objc_stub::count((ID)local_290);\n puVar6 = PTR__CGRectZero_1000a8150;\n local_250 = *(double *)PTR__CGRectZero_1000a8150;\n local_258 = *(double *)(PTR__CGRectZero_1000a8150 + 8);\n dStack_260 = *(double *)(PTR__CGRectZero_1000a8150 + 0x10);\n local_268 = *(double *)(PTR__CGRectZero_1000a8150 + 0x18);\n if (uVar17 == 0) {\n bVar22 = 0;\n local_280 = 0.0;\n local_1f8 = 0.0;\nLAB_100041320:\n local_278 = 0;\n bVar11 = false;\n }\n else {\n if ((uVar25 & (uint)local_2e8) == 1) {\n _CGRectIsNull(local_208,local_210,local_218,local_220);\n uVar15 = (undefined4)uVar17;\n if ((uVar17 & 1) != 0) goto LAB_10004029c;\n _CGRectIsEmpty(local_208,local_210,local_218,local_220);\n local_278 = CONCAT44(local_278._4_4_,uVar15) ^ 1;\n }\n else {\nLAB_10004029c:\n local_278 = (ulong)local_278._4_4_ << 0x20;\n }\n if (local_330 == 0) {\n if ((uVar25 & (uint)local_278) != 1) {\n dVar59 = local_290;\n dVar58 = local_210;\n dVar32 = local_218;\n dVar31 = local_220;\n FUN_10003f020(local_208);\n local_280 = dVar59;\nLAB_1000406b4:\n bVar10 = false;\n goto LAB_1000406bc;\n }\n if (lVar27 == 0) {\n uVar53 = 0x3ff8000000000000;\n }\n else {\n uVar53 = *(undefined8 *)(lVar27 + 0xf0);\n }\n dVar31 = local_290;\n local_170._0_8_ = dVar29;\n local_170._8_8_ = dVar30;\n local_160 = dVar50;\n local_158 = dVar52;\n FUN_1000428e0(local_208,local_210,local_218,local_220,uVar53,local_290,local_170);\n IVar16 = objc_stub::count((ID)dVar31);\n if (IVar16 == 0) {\n if (local_228 == 1) {\n local_190 = *local_270;\n uStack_188 = local_270[1];\n local_180 = local_270[2];\n _CMTimeGetSeconds(&local_190);\n }\n objc_stub::count((ID)local_290);\n FUN_10001b584(local_208,local_210,local_218,local_220);\n FUN_10001b584(local_170._0_8_,local_170._8_8_,local_160,local_158);\n objc_stub::count((ID)local_290);\n _NSStringFromRect(local_208,local_210,local_218,local_220);\n dVar58 = *(double *)((ulong)local_170 | 8);\n dVar32 = local_160;\n dVar31 = local_158;\n _NSStringFromRect(local_170._0_8_);\n FUN_1000329ac(&cf_faceSelectauto_guard_holdfaces__lurange___2fprevious___search___);\n }\n else {\n bVar11 = local_228 == 1;\n dVar32 = dVar31;\n dVar58 = local_210;\n dVar59 = local_218;\n dVar34 = local_220;\n FUN_100042c58(local_208,local_210,local_218,local_220);\n local_280 = dVar32;\n uVar53 = FUN_10003d49c(dVar32);\n if (bVar11) {\n local_190 = *local_270;\n uStack_188 = local_270[1];\n local_180 = local_270[2];\n _CMTimeGetSeconds(&local_190);\n }\n objc_stub::count((ID)local_290);\n objc_stub::count((ID)dVar31);\n FUN_10001b584(uVar53,dVar58,dVar59,dVar34);\n FUN_10001b584(local_208,local_210,local_218,local_220);\n FUN_10001b584(local_170._0_8_,local_170._8_8_,local_160,local_158);\n objc_stub::count((ID)local_290);\n objc_stub::count((ID)dVar31);\n _NSStringFromRect(local_208,local_210,local_218,local_220);\n dVar58 = *(double *)((ulong)local_170 | 8);\n dVar32 = local_160;\n dVar31 = local_158;\n _NSStringFromRect(local_170._0_8_);\n FUN_1000329ac(&\n cf_faceSelectauto_guard_searchfaces__lucandidates__lurange___2fprevious___search___\n );\n if (local_280 != 0.0) {\n bVar22 = 0;\n *(undefined1 *)(param_1 + 0x4a9) = 0;\n uVar53 = *(undefined8 *)puVar6;\n uVar55 = *(undefined8 *)(puVar6 + 0x18);\n dVar58 = *(double *)(puVar6 + 0x10);\n *(undefined8 *)(param_1 + 0x4b8) = *(undefined8 *)(puVar6 + 8);\n *(undefined8 *)(param_1 + 0x4b0) = uVar53;\n *(undefined8 *)(param_1 + 0x4c8) = uVar55;\n *(double *)(param_1 + 0x4c0) = dVar58;\n *(double *)(param_1 + 0x4d8) = dVar46;\n *(double *)(param_1 + 0x4d0) = dVar45;\n *(double *)(param_1 + 0x4e0) = dVar28;\n bVar11 = true;\n goto LAB_100040a18;\n }\n }\n local_280 = 0.0;\n bVar11 = false;\n bVar22 = 1;\nLAB_100040a18:\n bVar10 = false;\n }\n else {\n dVar59 = *(double *)(lVar27 + 0x100);\n dVar58 = *(double *)(lVar27 + 0x108);\n if (*(char *)(param_1 + 0x420) == '\\x01') {\n lVar24 = *(long *)(lVar27 + 0x168);\n if (lVar24 < 1) {\n bVar11 = false;\n }\n else {\n bVar11 = *(long *)(param_1 + 0x438) < lVar24;\n if (lVar24 <= *(long *)(param_1 + 0x438)) {\n bVar11 = false;\n dVar31 = dVar59 - *(double *)(param_1 + 0x428);\n dVar32 = dVar58 - *(double *)(param_1 + 0x430);\n dVar31 = SQRT(dVar32 * dVar32 + dVar31 * dVar31);\n if (((ulong)ABS(dVar31) < 0x7ff0000000000000) && (0.01 < dVar31)) {\n if (local_228 == 1) {\n local_170._0_8_ = *local_270;\n local_170._8_8_ = local_270[1];\n local_160 = local_270[2];\n _CMTimeGetSeconds(local_170);\n }\n FUN_10001b584(local_208,local_210,local_218,local_220);\n bVar11 = false;\n }\n }\n }\n }\n else {\n bVar11 = true;\n }\n if (((uint)local_278 == 0) || (uVar17 = objc_stub::count((ID)local_200), uVar17 < 0x4d)) {\n bVar10 = false;\n dVar34 = local_290;\n dVar31 = local_210;\n dVar32 = local_208;\n }\n else {\n _CGRectIsNull(local_208,local_210,local_218,local_220);\n if ((((uVar17 & 1) != 0) ||\n (_CGRectIsEmpty(local_208,local_210,local_218,local_220), (uVar17 & 1) != 0)) ||\n (dVar31 = (double)_CGRectGetWidth(local_208,local_210,local_218,local_220),\n dVar31 <= 2.220446049250313e-16)) {\n bVar10 = false;\n }\n else {\n dVar31 = (double)_CGRectGetHeight(local_208,local_210,local_218,local_220);\n bVar10 = 2.220446049250313e-16 < dVar31;\n }\n bVar10 = (bool)(bVar10 & (bVar11 ^ 1U));\n dVar34 = local_290;\n dVar31 = local_210;\n dVar32 = local_208;\n }\n local_290 = dVar34;\n local_210 = dVar31;\n local_208 = dVar32;\n if (!bVar11) {\n if (!bVar10) {\n FUN_10003f44c(dVar59,dVar34,local_278 & 0xffffffff);\n local_280 = dVar34;\n goto LAB_1000406b4;\n }\n local_170._0_8_ = dVar29;\n local_170._8_8_ = dVar30;\n local_160 = dVar50;\n local_158 = dVar52;\n FUN_1000428e0(dVar32,dVar31,local_218,local_220,*(undefined8 *)(lVar27 + 0xf0),dVar34,\n local_170);\n IVar16 = objc_stub::count((ID)dVar34);\n if (IVar16 == 0) {\n if (local_228 == 1) {\n local_190 = *local_270;\n uStack_188 = local_270[1];\n local_180 = local_270[2];\n _CMTimeGetSeconds(&local_190);\n }\n objc_stub::count((ID)local_290);\n FUN_10001b584(local_208,local_210,local_218,local_220);\n FUN_10001b584(local_170._0_8_,local_170._8_8_,local_160,local_158);\n objc_stub::count((ID)local_290);\n _NSStringFromRect(local_208,local_210,local_218,local_220);\n dVar58 = *(double *)((ulong)local_170 | 8);\n dVar32 = local_160;\n dVar31 = local_158;\n _NSStringFromRect(local_170._0_8_);\n FUN_1000329ac(&cf_faceSelectmanual_guard_holdfaces__lurange___2fprevious___search___);\n local_280 = 0.0;\n bVar11 = false;\n }\n else {\n bVar10 = local_228 == 1;\n dVar31 = dVar34;\n dVar32 = local_210;\n dVar58 = local_218;\n dVar59 = local_220;\n FUN_100042c58(local_208,local_210,local_218,local_220);\n bVar11 = dVar31 != 0.0;\n local_280 = dVar31;\n uVar53 = FUN_10003d49c();\n if (bVar10) {\n local_190 = *local_270;\n uStack_188 = local_270[1];\n local_180 = local_270[2];\n _CMTimeGetSeconds(&local_190);\n }\n objc_stub::count((ID)local_290);\n objc_stub::count((ID)dVar34);\n FUN_10001b584(uVar53,dVar32,dVar58,dVar59);\n FUN_10001b584(local_208,local_210,local_218,local_220);\n FUN_10001b584(local_170._0_8_,local_170._8_8_,local_160,local_158);\n objc_stub::count((ID)local_290);\n objc_stub::count((ID)dVar34);\n _NSStringFromRect(local_208,local_210,local_218,local_220);\n dVar58 = *(double *)((ulong)local_170 | 8);\n dVar32 = local_160;\n dVar31 = local_158;\n _NSStringFromRect(local_170._0_8_);\n FUN_1000329ac(&\n cf_faceSelectmanual_guard_searchfaces__lucandidates__lurange___2fprevious___search___\n );\n }\n bVar22 = 0;\n goto LAB_100040a18;\n }\n bVar11 = local_228 == 1;\n FUN_10003f44c(dVar59,dVar58,local_250,local_258,dStack_260,local_268,dVar34,0);\n local_280 = dVar34;\n if (bVar11) {\n local_170._0_8_ = *local_270;\n local_170._8_8_ = local_270[1];\n local_160 = local_270[2];\n _CMTimeGetSeconds(local_170);\n }\n objc_stub::count((ID)local_290);\n FUN_10003d49c(local_280);\n FUN_10001b584();\n dVar58 = local_210;\n dVar32 = local_218;\n dVar31 = local_220;\n FUN_10001b584(local_208);\n bVar10 = true;\nLAB_1000406bc:\n bVar22 = 0;\n bVar11 = true;\n }\n if (local_280 == 0.0) {\n local_1f8 = 0.0;\n if (!bVar11) {\n local_280 = 0.0;\n goto LAB_100041320;\n }\nLAB_100041068:\n objc_stub::count((ID)local_290);\n local_278 = 0;\n dVar28 = local_2e0;\n }\n else {\n objc_stub::boundingBox((ID)local_280);\n _CGRectStandardize();\n dVar33 = (double)_CGRectIntersection();\n dVar59 = local_280;\n FUN_100029d4c();\n dVar34 = dVar58;\n dVar51 = dVar32;\n dVar39 = dVar31;\n local_1f8 = dVar59;\n local_250 = (double)FUN_100042f9c(dVar33);\n local_268 = dVar39;\n dStack_260 = dVar51;\n local_258 = dVar34;\n _CGRectIsNull(local_250,dVar34,dVar51,dVar39);\n if (((((ulong)dVar59 & 1) != 0) ||\n (_CGRectIsEmpty(local_250,local_258,dStack_260,local_268), ((ulong)dVar59 & 1) != 0)) ||\n ((dVar34 = (double)_CGRectGetWidth(local_250,local_258,dStack_260,local_268),\n dVar34 <= 2.220446049250313e-16 ||\n (dVar34 = (double)_CGRectGetHeight(local_250,local_258,dStack_260,local_268),\n dVar34 <= 2.220446049250313e-16)))) {\n local_268 = dVar31;\n dStack_260 = dVar32;\n local_258 = dVar58;\n local_250 = dVar33;\n }\n _CGRectIsNull(dVar33,dVar58,dVar32,dVar31);\n if (((((ulong)dVar59 & 1) == 0) &&\n (_CGRectIsEmpty(dVar33,dVar58,dVar32,dVar31), ((ulong)dVar59 & 1) == 0)) &&\n (((dVar34 = (double)_CGRectGetWidth(dVar33,dVar58,dVar32,dVar31),\n 2.220446049250313e-16 < dVar34 &&\n (((dVar34 = (double)_CGRectGetHeight(dVar33,dVar58,dVar32,dVar31),\n 2.220446049250313e-16 < dVar34 &&\n (_CGRectIsNull(local_250,local_258,dStack_260,local_268), ((ulong)dVar59 & 1) == 0)) &&\n (_CGRectIsEmpty(local_250,local_258,dStack_260,local_268), ((ulong)dVar59 & 1) == 0))))\n && (((dVar34 = (double)_CGRectGetWidth(local_250,local_258,dStack_260,local_268),\n 2.220446049250313e-16 < dVar34 &&\n (dVar34 = (double)_CGRectGetHeight(local_250,local_258,dStack_260,local_268),\n 2.220446049250313e-16 < dVar34)) &&\n (FUN_10002a568(local_250,local_258,dStack_260,local_268,dVar33,dVar58,dVar32,dVar31),\n ((ulong)dVar59 & 1) == 0)))))) {\n if (local_228 == 1) {\n local_170._0_8_ = *local_270;\n local_170._8_8_ = local_270[1];\n local_160 = local_270[2];\n _CMTimeGetSeconds(local_170);\n }\n FUN_10001b584(dVar33,dVar58,dVar32,dVar31);\n FUN_10001b584(local_250,local_258,dStack_260,local_268);\n objc_stub::count((ID)local_1f8);\n }\n uVar17 = objc_stub::count((ID)local_1f8);\n if (((uVar17 < 0x4d) ||\n (_CGRectIsNull(local_250,local_258,dStack_260,local_268), (uVar17 & 1) != 0)) ||\n ((_CGRectIsEmpty(local_250,local_258,dStack_260,local_268), (uVar17 & 1) != 0 ||\n (dVar31 = (double)_CGRectGetWidth(local_250,local_258,dStack_260,local_268),\n dVar31 <= 2.220446049250313e-16)))) goto LAB_100041320;\n dVar31 = (double)_CGRectGetHeight(local_250,local_258,dStack_260,local_268);\n uVar23 = (uint)local_2e8 ^ 1;\n uVar1 = (uint)(dVar31 <= 2.220446049250313e-16) | local_224 ^ 1;\n if (((uVar1 | uVar23) & 1) == 0) {\n IVar16 = objc_stub::count((ID)local_200);\n uVar17 = objc_stub::count((ID)local_1f8);\n if ((((IVar16 != uVar17) ||\n (_CGRectIsNull(local_208,local_210,local_218,local_220), (uVar17 & 1) != 0)) ||\n (_CGRectIsEmpty(local_208,local_210,local_218,local_220), (uVar17 & 1) != 0)) ||\n (dVar32 = (double)_CGRectGetWidth(local_208,local_210,local_218,local_220),\n dVar32 <= 2.220446049250313e-16)) goto LAB_100041140;\n dVar32 = local_218;\n dVar58 = local_220;\n dVar59 = (double)_CGRectGetHeight(local_208,local_210);\n uVar53 = 0x3cb0000000000000;\n if (dVar59 <= 2.220446049250313e-16) goto LAB_100041140;\n uVar56 = FUN_10002a7b8(local_1f8,0x3b,0x4b);\n dVar59 = local_200;\n uVar55 = uVar53;\n dVar34 = dVar32;\n dVar51 = dVar58;\n uVar57 = FUN_10002a7b8(local_200,0x3b,0x4b);\n dVar33 = (double)_CGRectGetMidX(local_250,local_258,dStack_260,local_268);\n dVar35 = (double)_CGRectGetMidY(local_250,local_258,dStack_260,local_268);\n dVar36 = (double)_CGRectGetMidX(local_208,local_210,local_218,local_220);\n dVar37 = (double)_CGRectGetMidY(local_208,local_210,local_218,local_220);\n dVar38 = (double)_CGRectGetWidth(local_250,local_258,dStack_260,local_268);\n dVar39 = (double)_CGRectGetHeight(local_250,local_258,dStack_260,local_268);\n if (dVar39 <= dVar38) {\n dVar39 = dVar38;\n }\n dVar40 = (double)_CGRectGetWidth(local_208,local_210,local_218,local_220);\n dVar38 = (double)_CGRectGetHeight(local_208,local_210,local_218,local_220);\n if (dVar38 <= dVar40) {\n dVar38 = dVar40;\n }\n if (dVar38 <= dVar39) {\n dVar38 = dVar39;\n }\n dVar39 = dVar38 * 0.16;\n if (dVar38 * 0.16 <= 0.045) {\n dVar39 = 0.045;\n }\n dVar38 = 0.09;\n if (dVar39 <= 0.09) {\n dVar38 = dVar39;\n }\n dVar40 = 0.045;\n if (0.045 <= dVar39) {\n dVar40 = dVar38;\n }\n _CGRectIsNull(uVar56,uVar53,dVar32,dVar58);\n dVar38 = 0.0;\n dVar39 = 0.07;\n if ((((((ulong)dVar59 & 1) != 0) ||\n (_CGRectIsEmpty(uVar56,uVar53,dVar32,dVar58), ((ulong)dVar59 & 1) != 0)) ||\n (((dVar41 = (double)_CGRectGetWidth(uVar56,uVar53,dVar32,dVar58),\n dVar41 <= 2.220446049250313e-16 ||\n ((dVar41 = (double)_CGRectGetHeight(uVar56,uVar53,dVar32,dVar58),\n dVar41 <= 2.220446049250313e-16 ||\n (_CGRectIsNull(uVar57,uVar55,dVar34,dVar51), ((ulong)dVar59 & 1) != 0)))) ||\n (_CGRectIsEmpty(uVar57,uVar55,dVar34,dVar51), ((ulong)dVar59 & 1) != 0)))) ||\n ((dVar59 = (double)_CGRectGetWidth(uVar57,uVar55,dVar34,dVar51),\n dVar59 <= 2.220446049250313e-16 ||\n (dVar59 = (double)_CGRectGetHeight(uVar57,uVar55,dVar34,dVar51),\n dVar59 <= 2.220446049250313e-16)))) {\n bVar11 = false;\n }\n else {\n dVar39 = (double)_CGRectGetMidX(uVar56,uVar53,dVar32,dVar58);\n dVar38 = (double)_CGRectGetMidY(uVar56,uVar53,dVar32,dVar58);\n dVar41 = (double)_CGRectGetMidX(uVar57,uVar55,dVar34,dVar51);\n dVar42 = (double)_CGRectGetMidY(uVar57,uVar55,dVar34,dVar51);\n dVar43 = (double)_CGRectGetWidth(uVar56,uVar53,dVar32,dVar58);\n dVar59 = (double)_CGRectGetHeight(uVar56,uVar53,dVar32,dVar58);\n if (dVar59 <= dVar43) {\n dVar59 = dVar43;\n }\n dVar44 = (double)_CGRectGetWidth(uVar57,uVar55,dVar34,dVar51);\n dVar43 = (double)_CGRectGetHeight(uVar57,uVar55,dVar34,dVar51);\n dVar38 = SQRT((dVar38 - dVar42) * (dVar38 - dVar42) +\n (dVar39 - dVar41) * (dVar39 - dVar41));\n if (dVar43 <= dVar44) {\n dVar43 = dVar44;\n }\n if (dVar43 <= dVar59) {\n dVar43 = dVar59;\n }\n dVar59 = dVar43 * 0.18;\n if (dVar43 * 0.18 <= 0.04) {\n dVar59 = 0.04;\n }\n dVar41 = 0.08;\n if (dVar59 <= 0.08) {\n dVar41 = dVar59;\n }\n dVar39 = 0.04;\n if (0.04 <= dVar59) {\n dVar39 = dVar41;\n }\n bVar11 = true;\n }\n bVar8 = false;\n if (dVar39 < dVar38) {\n bVar8 = bVar11;\n }\n if ((SQRT((dVar35 - dVar37) * (dVar35 - dVar37) + (dVar33 - dVar36) * (dVar33 - dVar36)) <=\n dVar40) && (!bVar8)) goto LAB_100041140;\n if (local_228 == 1) {\n local_170._0_8_ = *local_270;\n local_170._8_8_ = local_270[1];\n local_160 = local_270[2];\n _CMTimeGetSeconds(local_170);\n }\n FUN_10001b584(local_208,local_210,local_218,local_220);\n FUN_10001b584(local_250,local_258,dStack_260,local_268);\n FUN_10001c338(uVar57,uVar55,dVar34,dVar51);\n FUN_10001c338(uVar56,uVar53,dVar32,dVar58);\n local_2e8 = (double)((ulong)local_2e8 & 0xffffffff00000000);\n }\n else {\nLAB_100041140:\n if ((((uVar1 | (uint)local_278 ^ 0xffffffff | uVar23) & 1) == 0) &&\n (uVar17 = objc_stub::count((ID)local_200), 0x4c < uVar17)) {\n _CGRectIsNull(local_208,local_210,local_218,local_220);\n if ((((uVar17 & 1) == 0) &&\n (_CGRectIsEmpty(local_208,local_210,local_218,local_220), (uVar17 & 1) == 0)) &&\n (dVar32 = (double)_CGRectGetWidth(local_208,local_210,local_218,local_220),\n 2.220446049250313e-16 < dVar32)) {\n dVar32 = (double)_CGRectGetHeight(local_208,local_210,local_218,local_220);\n if (dVar32 <= 2.220446049250313e-16) goto LAB_10004130c;\n local_190 = NAN;\n bVar11 = local_228 == 1;\n local_1b0 = NAN;\n local_1c0 = NAN;\n dVar31 = local_1f8;\n FUN_100043338(local_250,local_258,dStack_260,local_268,local_208,local_210,local_218,\n local_220,local_1f8,local_200,&local_190,&local_1b0,&local_1c0);\n if (bVar11) {\n local_170._0_8_ = *local_270;\n local_170._8_8_ = local_270[1];\n local_160 = local_270[2];\n _CMTimeGetSeconds(local_170);\n }\n FUN_10001b584(local_250,local_258,dStack_260,local_268);\n FUN_10001b584(local_208,local_210,local_218,local_220);\n if (SUB84(dVar31,0) != 0) {\n dVar31 = local_200;\n FUN_10001ab3c(local_208,local_210,local_218,local_220,local_250,local_258,dStack_260,\n local_268);\n IVar16 = objc_stub::count((ID)dVar31);\n if ((0x4c < IVar16) &&\n (dVar32 = dVar31, FUN_10001b070(local_250,local_258,dStack_260,local_268),\n SUB84(dVar32,0) != 0)) {\n if (local_228 == 1) {\n local_170._0_8_ = *local_270;\n local_170._8_8_ = local_270[1];\n local_160 = local_270[2];\n _CMTimeGetSeconds(local_170);\n }\n FUN_10001b584(local_250,local_258,dStack_260,local_268);\n FUN_10001b584(local_208,local_210,local_218,local_220);\n objc_stub::count((ID)dVar31);\n local_1f8 = dVar31;\n }\n }\n }\n }\n else {\nLAB_10004130c:\n if (dVar31 <= 2.220446049250313e-16) goto LAB_100041320;\n }\n }\n if (local_228 == 1) {\n local_170._0_8_ = *local_270;\n local_170._8_8_ = local_270[1];\n local_160 = local_270[2];\n _CMTimeGetSeconds(local_170);\n }\n FUN_10001b584(local_250,local_258,dStack_260,local_268);\n objc_stub::count((ID)local_1f8);\n if ((local_330 == 0) || (!bVar10)) goto LAB_100041068;\n uVar53 = *(undefined8 *)puVar6;\n uVar56 = *(undefined8 *)(puVar6 + 0x18);\n uVar55 = *(undefined8 *)(puVar6 + 0x10);\n *(undefined8 *)(param_1 + 0x4b8) = *(undefined8 *)(puVar6 + 8);\n *(undefined8 *)(param_1 + 0x4b0) = uVar53;\n local_d0 = *(double *)puVar7;\n local_c8 = *(int *)(puVar7 + 8);\n *(undefined1 *)(param_1 + 0x4a9) = 0;\n *(undefined8 *)(param_1 + 0x4c8) = uVar56;\n *(undefined8 *)(param_1 + 0x4c0) = uVar55;\n *(double *)(param_1 + 0x4d8) = dVar46;\n *(double *)(param_1 + 0x4d0) = dVar45;\n *(double *)(param_1 + 0x4e0) = dVar28;\n local_c0 = local_d0;\n local_b8 = local_c8;\n mss_clearRewindFaceReferences(param_1);\n if (lVar27 != 0) {\n *(undefined1 *)(param_1 + 0x420) = 1;\n dVar46 = *(double *)(lVar27 + 0x100);\n dVar45 = 1.0;\n if (dVar46 <= 1.0) {\n dVar45 = dVar46;\n }\n dVar31 = 0.0;\n if (0.0 <= dVar46) {\n dVar31 = dVar45;\n }\n *(double *)(param_1 + 0x428) = dVar31;\n dVar46 = *(double *)(lVar27 + 0x108);\n dVar45 = 1.0;\n if (dVar46 <= 1.0) {\n dVar45 = dVar46;\n }\n dVar31 = 0.0;\n if (0.0 <= dVar46) {\n dVar31 = dVar45;\n }\n *(double *)(param_1 + 0x430) = dVar31;\n lVar24 = *(long *)(lVar27 + 0x168);\n if (*(long *)(lVar27 + 0x168) <= *(long *)(param_1 + 0x438)) {\n lVar24 = *(long *)(param_1 + 0x438);\n }\n *(long *)(param_1 + 0x438) = lVar24;\n }\n if (local_228 == 1) {\n local_170._0_8_ = *local_270;\n local_170._8_8_ = local_270[1];\n local_160 = local_270[2];\n _CMTimeGetSeconds(local_170);\n }\n FUN_10001b584(local_250,local_258,dStack_260,local_268);\n objc_stub::count((ID)local_290);\n local_200 = 0.0;\n uVar25 = 0;\n local_318 = *(uint *)(puVar7 + 0xc);\n local_278 = 1;\n local_2e8 = (double)((ulong)local_2e8 & 0xffffffff00000000);\n if (lVar27 == 0) {\n local_2f0 = (double)CONCAT44(local_2f0._4_4_,local_318);\n local_210 = local_238;\n local_208 = dStack_230;\n local_220 = local_248;\n local_218 = local_240;\n local_2d0 = dVar28;\n }\n else {\n local_2f0 = (double)CONCAT44(local_2f0._4_4_,local_318);\n local_210 = local_238;\n local_208 = dStack_230;\n local_220 = local_248;\n local_218 = local_240;\n local_2d0 = dVar28;\n }\n }\n _NSStringFromRect(local_250,local_258,dStack_260,local_268);\n FUN_1000329ac(&cf_faceSelectmode___faces__luclick____4f___4f_switched__dbbox___);\n bVar11 = true;\n local_2e0 = dVar28;\n }\n dVar45 = local_200;\n if ((((uVar25 ^ 1) == 0) && (local_228 == 1)) && ((local_2f0._0_4_ & 0x1d) == 1)) {\n local_170._0_8_ = *local_270;\n local_170._8_8_ = local_270[1];\n local_160 = local_270[2];\n local_190 = local_c0;\n uStack_188 = (double)CONCAT44(local_2f0._0_4_,local_b8);\n local_180 = local_2d0;\n puVar19 = local_170;\n _CMTimeCompare(puVar19,&local_190);\n dVar45 = local_200;\n if (-1 < (int)puVar19) {\n local_190 = *local_270;\n uStack_188 = local_270[1];\n local_180 = local_270[2];\n local_1b0 = local_c0;\n local_1a8 = (double)CONCAT44(local_2f0._0_4_,local_b8);\n local_1a0 = local_2d0;\n _CMTimeSubtract(local_170,&local_190,&local_1b0);\n _CMTimeGetSeconds(local_170);\n dVar45 = local_200;\n }\n }\n local_200 = dVar45;\n if (!bVar11) {\n if ((bool)(bVar12 & bVar22)) {\n _NSStringFromRect(local_208,local_210,local_218,local_220);\n _NSStringFromRect(*(undefined8 *)(param_1 + 0x4e8),*(undefined8 *)(param_1 + 0x4f0),\n *(undefined8 *)(param_1 + 0x4f8),*(undefined8 *)(param_1 + 0x500));\n FUN_1000329ac(&cf_faceSelecthold_unstable_targetautoHold__dautoMissing__dbbox___tracked___);\nLAB_1000416e8:\n local_238 = local_210;\n dStack_230 = local_208;\n local_240 = local_218;\n local_310 = local_220;\n }\n else {\n if (bVar12) {\n objc_stub::count((ID)local_290);\n _NSStringFromRect(local_208,local_210,local_218,local_220);\n FUN_1000329ac(&cf_faceSelecthold_missing_indefinitefaces__lumissing___3fbbox___manual__d);\n goto LAB_1000416e8;\n }\n if (((local_224 & (uint)local_2a0) != 1) ||\n (IVar16 = objc_stub::count((ID)local_2b0), dVar45 = local_2b0, IVar16 < 0x4d)) {\n dVar45 = 0.0;\n uVar54 = 0;\n local_310 = local_248;\n dVar31 = local_240;\n dVar28 = local_238;\n dVar46 = dStack_230;\n goto LAB_100042444;\n }\n objc_stub::count((ID)local_290);\n _NSStringFromRect(local_2f8,local_300,local_308,local_310);\n FUN_1000329ac(&cf_faceSelectrewind_fallback_holdfaces__lubbox___manual__d);\n local_238 = local_300;\n dStack_230 = local_2f8;\n local_240 = local_308;\n }\n local_280 = 0.0;\n uVar54 = 0x3ff0000000000000;\n dVar31 = local_240;\n dVar28 = local_238;\n dVar46 = dStack_230;\n goto LAB_100042444;\n }\n if (((uint)local_2e8 & uVar25) == 1) {\n IVar16 = objc_stub::count((ID)dVar45);\n IVar20 = objc_stub::count((ID)local_1f8);\n bVar12 = IVar16 == IVar20;\n }\n else {\n bVar12 = false;\n }\n IVar16 = objc_stub::count((ID)local_1f8);\n uVar23 = local_224 ^ 1;\n if ((((uint)local_278 | uVar23 | uVar25 ^ 1) & 1) == 0 && IVar16 != 0) {\n IVar16 = objc_stub::count((ID)local_200);\n IVar20 = objc_stub::count((ID)local_1f8);\n if (IVar16 == IVar20 && !bVar12) {\n if (local_228 == 1) {\n local_170._0_8_ = *local_270;\n local_170._8_8_ = local_270[1];\n local_160 = local_270[2];\n _CMTimeGetSeconds(local_170);\n }\n FUN_10001b584(local_208,local_210,local_218,local_220);\n FUN_10001b584(local_250,local_258,dStack_260,local_268);\n }\n }\n bVar11 = local_228 != 1;\n IVar16 = objc_stub::count((ID)local_1f8);\n local_290 = 1.0;\n if (((((((uint)local_278 | uVar23) & 1) != 0 || (bool)(bVar12 ^ 1U)) || IVar16 == 0) || bVar11) ||\n ((local_318 & 0x1d) != 1)) {\nLAB_1000417a0:\n bVar11 = false;\n }\n else {\n local_170._0_8_ = *local_270;\n local_170._8_8_ = local_270[1];\n local_160 = local_270[2];\n local_190 = local_d0;\n uStack_188 = (double)CONCAT44(local_318,local_c8);\n local_180 = local_2e0;\n puVar19 = local_170;\n _CMTimeCompare(puVar19,&local_190);\n if ((int)puVar19 < 0) goto LAB_1000417a0;\n local_190 = *local_270;\n uStack_188 = local_270[1];\n local_180 = local_270[2];\n local_1b0 = local_d0;\n local_1a8 = (double)CONCAT44(local_318,local_c8);\n local_1a0 = local_2e0;\n _CMTimeSubtract(local_170,&local_190,&local_1b0);\n dVar45 = (double)_CMTimeGetSeconds(local_170);\n bVar11 = false;\n if (((0x7fffffffffffffff < (ulong)dVar45 ||\n 0x3fe < (long)ABS(dVar45) + 0xfff0000000000000U >> 0x35) &&\n 0xffffffffffffe < (long)dVar45 - 1U) && ABS(dVar45) != 0.0) goto LAB_1000417a0;\n if (dVar45 < 0.03) {\n dVar45 = dVar45 / 0.03;\n dVar46 = 1.0;\n if (dVar45 <= 1.0) {\n dVar46 = dVar45;\n }\n local_290 = 0.0;\n if (0.0 <= dVar45) {\n local_290 = dVar46;\n }\n bVar11 = true;\n }\n }\n IVar16 = objc_stub::count((ID)local_1f8);\n dVar46 = 1.0;\n if (((((uint)local_278 | uVar23) & 1) == 0 && !(bool)(bVar12 ^ 1U)) && IVar16 != 0) {\n IVar16 = objc_stub::count((ID)local_1f8);\n dVar45 = 0.0;\n dVar46 = 0.0;\n if (0x4c < IVar16) {\n IVar16 = objc_stub::lastObject((ID)local_1f8);\n objc_stub::X(IVar16);\n dVar45 = (double)_CGRectGetMaxX(local_250,local_258,dStack_260,local_268);\n objc_stub::X(IVar16);\n dVar46 = ABS(extraout_d0 - local_250);\n dVar45 = ABS(dVar45 - extraout_d0_00);\n }\n dVar28 = 1.0;\n if (0.0001 < dVar45 + dVar46) {\n dVar28 = 1.0 - ABS(dVar46 - dVar45) / (dVar45 + dVar46);\n }\n dVar45 = 1.0;\n if (dVar28 <= 1.0) {\n dVar45 = dVar28;\n }\n dVar46 = 0.0;\n if (0.0 <= dVar28) {\n dVar46 = dVar45;\n }\n dVar28 = dVar46 * 0.12 + 0.84;\n dVar45 = 0.96;\n if (dVar28 <= 0.96) {\n dVar45 = dVar28;\n }\n dVar46 = 0.82;\n if (0.82 <= dVar28) {\n dVar46 = dVar45;\n }\n }\n IVar16 = objc_stub::count((ID)local_1f8);\n dVar45 = local_1f8;\n if ((((uint)local_278 | uVar23) & 1) == 0 && IVar16 != 0) {\n dVar28 = local_290;\n if (!bVar11) {\n dVar28 = dVar46;\n }\n if (bVar11 || bVar12) {\n if (bVar11) {\n bVar22 = 0;\n }\n else {\n bVar22 = DAT_1000be160;\n if (DAT_1000be168 != -1) {\n FUN_1000799f0();\n bVar22 = DAT_1000be160;\n }\n }\n local_2e8 = *(double *)(PTR__CGPointZero_1000a8140 + 8);\n local_2d0 = *(double *)PTR__CGPointZero_1000a8140;\n dStack_398 = 0.0;\n dVar31 = 0.0;\n dStack_2c8 = local_2e8;\n local_1f0 = local_2d0;\n dStack_1e8 = local_2e8;\n local_1e0 = local_2d0;\n dStack_1d8 = local_2e8;\n local_1d0 = local_2d0;\n local_1c8 = local_2e8;\n local_1c0 = local_2d0;\n dStack_1b8 = local_2e8;\n local_1b0 = local_2d0;\n local_1a8 = local_2e8;\n local_190 = local_2d0;\n uStack_188 = local_2e8;\n if ((bVar22 & 1) == 0) {\n bVar12 = false;\n local_2b0 = local_2d0;\n dStack_2a8 = local_2e8;\n local_2a0 = local_2d0;\n dStack_298 = local_2e8;\n }\n else {\n dVar45 = local_200;\n FUN_1000435c8(local_200,0x45,0x4b,&local_190);\n if (((((SUB84(dVar45,0) == 0) ||\n (dVar45 = local_200, FUN_1000435c8(local_200,0x3b,0x41,&local_1b0),\n SUB84(dVar45,0) == 0)) ||\n (dVar45 = local_200, FUN_1000435c8(local_200,0x42,0x44,&local_1c0),\n SUB84(dVar45,0) == 0)) ||\n ((dVar45 = local_1f8, FUN_1000435c8(local_1f8,0x45,0x4b,&local_1d0),\n SUB84(dVar45,0) == 0 ||\n (dVar45 = local_1f8, FUN_1000435c8(local_1f8,0x3b,0x41,&local_1e0),\n SUB84(dVar45,0) == 0)))) ||\n (dVar45 = local_1f8, FUN_1000435c8(local_1f8,0x42,0x44,&local_1f0), SUB84(dVar45,0) == 0)\n ) {\n bVar12 = false;\n dStack_2a8 = dStack_2c8;\n local_2b0 = local_2d0;\n dStack_298 = dStack_2c8;\n local_2a0 = local_2d0;\n dVar31 = 0.0;\n }\n else {\n auVar47._0_8_ = dVar28 * 0.58;\n auVar47._8_8_ = dVar28 * 0.72;\n auVar60._0_8_ = -(ulong)(auVar47._0_8_ < 0.34);\n auVar60._8_8_ = -(ulong)(auVar47._8_8_ < 0.42);\n auVar3._8_8_ = -(ulong)(0.7 < auVar47._8_8_);\n auVar3._0_8_ = -(ulong)(0.62 < auVar47._0_8_);\n auVar47 = auVar47 ^ (auVar47 ^ _DAT_100085ff0) & auVar3;\n auVar61[9] = 0x7a;\n auVar61._0_9_ = _DAT_100085fe0;\n auVar61[10] = 0x14;\n auVar61[0xb] = 0xae;\n auVar61[0xc] = 0x47;\n auVar61[0xd] = 0xe1;\n auVar61[0xe] = 0xda;\n auVar61[0xf] = 0x3f;\n auVar47 = auVar47 ^ (auVar47 ^ auVar61) & auVar60;\n lVar27 = -(ulong)(auVar47._0_8_ < 0.0);\n lVar24 = -(ulong)(auVar47._8_8_ < 0.0);\n auVar61 = NEON_fmov(0x3ff0000000000000,8);\n auVar2._8_8_ = -(ulong)(auVar61._8_8_ < auVar47._8_8_);\n auVar2._0_8_ = -(ulong)(auVar61._0_8_ < auVar47._0_8_);\n auVar47 = auVar47 ^ (auVar47 ^ auVar61) & auVar2;\n auVar48._0_8_ =\n (double)CONCAT17(auVar47[7] & ~(byte)((ulong)lVar27 >> 0x38),\n CONCAT16(auVar47[6] & ~(byte)((ulong)lVar27 >> 0x30),\n CONCAT15(auVar47[5] & ~(byte)((ulong)lVar27 >> 0x28),\n CONCAT14(auVar47[4] &\n ~(byte)((ulong)lVar27 >> 0x20),\n CONCAT13(auVar47[3] &\n ~(byte)((ulong)lVar27 >> 0x18),\n CONCAT12(auVar47[2] &\n ~(byte)((ulong)lVar27\n >> 0x10),\n CONCAT11(auVar47[1] &\n ~(byte)((ulong\n )lVar27 >> 8),auVar47[0] & ~(byte)lVar27)))))));\n auVar48[8] = auVar47[8] & ~(byte)lVar24;\n auVar48[9] = auVar47[9] & ~(byte)((ulong)lVar24 >> 8);\n auVar48[10] = auVar47[10] & ~(byte)((ulong)lVar24 >> 0x10);\n auVar48[0xb] = auVar47[0xb] & ~(byte)((ulong)lVar24 >> 0x18);\n auVar48[0xc] = auVar47[0xc] & ~(byte)((ulong)lVar24 >> 0x20);\n auVar48[0xd] = auVar47[0xd] & ~(byte)((ulong)lVar24 >> 0x28);\n auVar48[0xe] = auVar47[0xe] & ~(byte)((ulong)lVar24 >> 0x30);\n auVar48[0xf] = auVar47[0xf] & ~(byte)((ulong)lVar24 >> 0x38);\n dVar31 = auVar48._8_8_;\n dVar45 = local_1f0 - local_1c0;\n dVar28 = dStack_1e8 - dStack_1b8;\n dVar32 = local_1e0 - local_1b0;\n dVar58 = dStack_1d8 - local_1a8;\n local_2d0 = (local_190 + (local_1d0 - local_190) * dVar31) - local_1d0;\n dStack_2c8 = 0.0;\n local_2e8 = (uStack_188 + (local_1c8 - uStack_188) * dVar31) - local_1c8;\n local_2b0 = (local_1b0 + dVar32 * dVar31) - local_1e0;\n dStack_2a8 = (local_1a8 + dVar58 * dVar31) - dStack_1d8;\n local_2a0 = (local_1c0 + dVar45 * auVar48._0_8_) - local_1f0;\n dStack_298 = (dStack_1b8 + dVar28 * auVar48._0_8_) - dStack_1e8;\n dStack_398 = SQRT(dVar58 * dVar58 + dVar32 * dVar32);\n bVar12 = true;\n dVar31 = SQRT(dVar28 * dVar28 + dVar45 * dVar45);\n }\n }\n IVar16 = objc_stub::count((ID)local_1f8);\n dVar45 = (double)NSMutableArray::arrayWithCapacity_((ID)&_OBJC_CLASS___NSMutableArray,IVar16);\n IVar16 = objc_stub::count((ID)local_1f8);\n if (IVar16 != 0) {\n uVar17 = 0;\n lVar27 = 0;\n dVar28 = 1.0;\n if (dVar46 <= 1.0) {\n dVar28 = dVar46;\n }\n local_2f8 = 0.72;\n dVar32 = 0.72;\n if (0.72 <= dVar46) {\n dVar32 = dVar28;\n }\n dVar46 = dVar46 * 0.96;\n dVar28 = 0.96;\n if (dVar46 <= 0.96) {\n dVar28 = dVar46;\n }\n dVar58 = 0.07999999999999996;\n if (0.82 <= dVar46) {\n dVar58 = dVar28 + -0.74;\n }\n local_308 = dStack_2a8;\n local_300 = dStack_298;\n local_2f0 = 0.075;\n local_2e0 = 0.0;\n do {\n IVar16 = objc_stub::objectAtIndexedSubscript_((ID)local_200,uVar17);\n IVar20 = objc_stub::objectAtIndexedSubscript_((ID)local_1f8,uVar17);\n objc_stub::X(IVar20);\n objc_stub::X(IVar16);\n objc_stub::Y(IVar20);\n objc_stub::Y(IVar16);\n uVar26 = uVar17 - 0x3b;\n dVar28 = extraout_d0_01 - extraout_d0_02;\n dVar59 = extraout_d0_03 - extraout_d0_04;\n dVar46 = (double)_hypot(dVar28,dVar59);\n if (bVar11) {\n dVar34 = (double)(&DAT_100086000)[uVar26 < 0x11];\n if ((double)(&DAT_100086000)[uVar26 < 0x11] <= local_290) {\n dVar34 = local_290;\n }\n dVar39 = local_2f0;\n if (uVar26 < 0x11) {\nLAB_100041c88:\n bVar10 = false;\n bVar8 = true;\n bVar9 = false;\n if (2.220446049250313e-16 < dVar46) {\n bVar10 = false;\n bVar8 = false;\n bVar9 = true;\n if (!NAN(dVar46) && !NAN(dVar39)) {\n bVar10 = dVar46 < dVar39;\n bVar8 = dVar46 == dVar39;\n bVar9 = false;\n }\n }\n if (!bVar8 && bVar10 == bVar9) {\n dVar28 = dVar28 * (dVar39 / dVar46);\n dVar59 = dVar59 * (dVar39 / dVar46);\n }\n }\n }\n else {\n dVar34 = dVar32;\n if (uVar26 < 0x11) {\n dVar51 = (dVar46 + -0.01) / 0.03;\n dVar34 = 1.0;\n if (dVar51 <= 1.0) {\n dVar34 = dVar51;\n }\n dVar39 = 0.0;\n if (0.0 <= dVar51) {\n dVar39 = dVar34;\n }\n dVar39 = dVar39 * dVar39 * (dVar39 * -2.0 + 3.0) * dVar58 + 0.74;\n dVar51 = dVar46;\n if (dVar46 <= local_2e0) {\n dVar51 = local_2e0;\n }\n lVar27 = lVar27 + 1;\n dVar33 = 1.0;\n if (dVar39 <= 1.0) {\n dVar33 = dVar39;\n }\n dVar34 = 0.68;\n if (0.68 <= dVar39) {\n dVar34 = dVar33;\n }\n dVar39 = 0.052;\n local_2e0 = dVar51;\n goto LAB_100041c88;\n }\n }\n objc_stub::X(IVar16);\n objc_stub::Y(IVar16);\n dVar46 = extraout_d0_05 + dVar34 * dVar28;\n dVar34 = extraout_d0_06 + dVar34 * dVar59;\n if ((bool)(bVar12 & uVar26 < 0x11)) {\n pdVar21 = &local_308;\n if (0x41 < uVar17) {\n pdVar21 = &local_300;\n }\n pdVar4 = &local_2b0;\n if (0x41 < uVar17) {\n pdVar4 = (double *)&local_2a0;\n }\n dVar39 = local_2d0;\n dVar51 = local_2e8;\n if (uVar17 < 0x45) {\n dVar39 = *pdVar4;\n dVar51 = *pdVar21;\n }\n dVar35 = ABS((double)uVar17 + -67.0) * 0.125;\n dVar33 = 1.0;\n if (dVar35 <= 1.0) {\n dVar33 = dVar35;\n }\n dVar33 = *(double *)(&UNK_100086010 + (ulong)(uVar17 - 0x45 < 0xfffffffffffffffd) * 8) *\n (local_2f8 + dVar33 * dVar33 * (dVar33 * -2.0 + 3.0) * 0.28);\n dVar28 = (double)_hypot(dVar28,dVar59);\n dVar59 = dVar28 * 0.3 + 0.018;\n dVar28 = (double)_hypot(dVar39,dVar51);\n bVar10 = false;\n bVar8 = true;\n bVar9 = false;\n if (dVar59 < dVar28) {\n bVar10 = false;\n bVar8 = false;\n bVar9 = true;\n if (!NAN(dVar28)) {\n bVar10 = dVar28 < 2.220446049250313e-16;\n bVar8 = dVar28 == 2.220446049250313e-16;\n bVar9 = false;\n }\n }\n dVar59 = dVar59 / dVar28;\n if (!bVar8 && bVar10 == bVar9) {\n dVar39 = dVar39 * dVar59;\n dVar51 = dVar51 * dVar59;\n }\n dVar46 = dVar46 + dVar33 * dVar39;\n dVar34 = dVar34 + dVar33 * dVar51;\n }\n auVar49._8_8_ = 0;\n auVar49._0_8_ = dVar46;\n IVar16 = CIVector::vectorWithX_Y_((ID)&_OBJC_CLASS___CIVector,auVar49,dVar34);\n objc_stub::addObject_((ID)dVar45,IVar16);\n IVar16 = objc_stub::count((ID)local_1f8);\n uVar17 = uVar17 + 1;\n } while (uVar17 < IVar16);\n if (((lVar27 != 0) && (0.012 < local_2e0)) && (local_228 == 1)) {\n local_170._0_8_ = *local_270;\n local_170._8_8_ = local_270[1];\n local_160 = local_270[2];\n _CMTimeGetSeconds(local_170);\n }\n }\n if (bVar12) {\n auVar5._8_8_ = dStack_398;\n auVar5._0_8_ = dVar31;\n NEON_ext(auVar5,auVar5,8,1);\n FUN_1000329ac(&cf_faceThinRegionTemporalblend___3fleftJump___4frightJump___4fchinJump___4f);\n }\n }\n }\n uVar17 = objc_stub::count((ID)dVar45);\n dVar46 = local_250;\n dVar28 = local_258;\n dVar31 = dStack_260;\n local_310 = local_268;\n if (((((0x4c < uVar17) &&\n (_CGRectIsNull(local_250,local_258,dStack_260,local_268), dVar46 = local_250,\n dVar28 = local_258, dVar31 = dStack_260, local_310 = local_268, (uVar17 & 1) == 0)) &&\n (_CGRectIsEmpty(local_250,local_258,dStack_260,local_268), dVar46 = local_250,\n dVar28 = local_258, dVar31 = dStack_260, local_310 = local_268, (uVar17 & 1) == 0)) &&\n ((dVar32 = (double)_CGRectGetWidth(local_250,local_258,dStack_260,local_268),\n dVar46 = local_250, dVar28 = local_258, dVar31 = dStack_260, local_310 = local_268,\n 2.220446049250313e-16 < dVar32 &&\n (dVar32 = (double)_CGRectGetHeight(local_250,local_258,dStack_260,local_268),\n dVar46 = local_250, dVar28 = local_258, dVar31 = dStack_260, local_310 = local_268,\n 2.220446049250313e-16 < dVar32)))) &&\n (dVar32 = dVar45, FUN_1000436e4(local_250,local_258,dStack_260,local_268), dVar46 = local_250,\n dVar28 = local_258, dVar31 = dStack_260, local_310 = local_268, ((ulong)dVar32 & 1) == 0)) {\n IVar16 = objc_stub::count((ID)local_1f8);\n if (IVar16 < 0x4d) {\n dVar32 = 0.0;\n }\n else {\n dVar32 = local_1f8;\n FUN_1000436e4(local_250,local_258,dStack_260,local_268);\n }\n if (local_228 == 1) {\n local_170._0_8_ = *local_270;\n local_170._8_8_ = local_270[1];\n local_160 = local_270[2];\n _CMTimeGetSeconds(local_170);\n }\n FUN_10001b584(local_250,local_258,dStack_260,local_268);\n FUN_10001b584(local_250,local_258,dStack_260,local_268);\n dVar45 = local_1f8;\n dVar46 = local_250;\n dVar28 = local_258;\n dVar31 = dStack_260;\n local_310 = local_268;\n if (((ulong)dVar32 & 1) == 0) {\n local_280 = 0.0;\n dVar45 = 0.0;\n dVar46 = dStack_230;\n dVar28 = local_238;\n dVar31 = local_240;\n local_310 = local_248;\n }\n }\n uVar17 = objc_stub::count((ID)dVar45);\n if (((0x4c < uVar17) && (_CGRectIsNull(dVar46,dVar28,dVar31,local_310), (uVar17 & 1) == 0)) &&\n ((_CGRectIsEmpty(dVar46,dVar28,dVar31,local_310), (uVar17 & 1) == 0 &&\n (dVar32 = (double)_CGRectGetWidth(dVar46,dVar28,dVar31,local_310),\n 2.220446049250313e-16 < dVar32)))) {\n dVar32 = (double)_CGRectGetHeight(dVar46,dVar28,dVar31,local_310);\n uVar23 = (uint)local_278;\n if (dVar32 <= 2.220446049250313e-16) {\n uVar23 = 1;\n }\n if (((uVar23 | local_330) & 1) == 0) {\n if (((local_224 | local_354 ^ 0xffffffff) & 1) != 0) goto LAB_100041f94;\n }\n else if (2.220446049250313e-16 < dVar32) {\nLAB_100041f94:\n IVar16 = objc_stub::copy((ID)dVar45);\n *(ID *)(param_1 + 0x310) = IVar16;\n *(double *)(param_1 + 0x318) = dVar46;\n *(double *)(param_1 + 800) = dVar28;\n *(double *)(param_1 + 0x328) = dVar31;\n *(double *)(param_1 + 0x330) = local_310;\n dVar32 = *local_270;\n dVar58 = local_270[1];\n *(double *)(param_1 + 0x348) = local_270[2];\n *(double *)(param_1 + 0x340) = dVar58;\n *(double *)(param_1 + 0x338) = dVar32;\n dVar32 = *local_270;\n dVar58 = local_270[1];\n *(double *)(param_1 + 0x360) = local_270[2];\n *(double *)(param_1 + 0x358) = dVar58;\n *(double *)(param_1 + 0x350) = dVar32;\n *(undefined1 *)(param_1 + 0x368) = 1;\n }\n }\n uVar17 = objc_stub::count((ID)dVar45);\n if ((local_224 & (local_284 | (uint)local_278)) == 0) {\n if ((((uVar17 < 0x4d) || (_CGRectIsNull(dVar46,dVar28,dVar31,local_310), (uVar17 & 1) != 0)) ||\n (_CGRectIsEmpty(dVar46,dVar28,dVar31,local_310), (uVar17 & 1) != 0)) ||\n (dVar32 = (double)_CGRectGetWidth(dVar46,dVar28,dVar31,local_310),\n dVar32 <= 2.220446049250313e-16)) {\n uVar23 = 0;\n }\n else {\n dVar32 = (double)_CGRectGetHeight(dVar46,dVar28,dVar31,local_310);\n uVar23 = (uint)(2.220446049250313e-16 < dVar32);\n }\n uVar17 = objc_stub::count((ID)dVar45);\n if (((0x4c < uVar17) && (_CGRectIsNull(dVar46,dVar28,dVar31,local_310), (uVar17 & 1) == 0)) &&\n ((_CGRectIsEmpty(dVar46,dVar28,dVar31,local_310), (uVar17 & 1) == 0 &&\n ((dVar32 = (double)_CGRectGetWidth(dVar46,dVar28,dVar31,local_310),\n 2.220446049250313e-16 < dVar32 &&\n (dVar32 = (double)_CGRectGetHeight(dVar46,dVar28,dVar31,local_310),\n ((uint)(2.220446049250313e-16 < dVar32) & uVar23 & (local_358 | local_2d4)) == 1)))))) {\n local_170._0_8_ = *local_270;\n local_170._8_8_ = local_270[1];\n local_160 = local_270[2];\n CVar63.field0_0x0.field1_0x8 = dVar28;\n CVar63.field0_0x0.field0_0x0 = dVar46;\n CVar63.field1_0x10.field1_0x8 = local_310;\n CVar63.field1_0x10.field0_0x0 = dVar31;\n mss_storeRewindFaceReferencePoints_forBox_renderTime_\n (param_1,(ID)dVar45,CVar63,(AnonymousStructure0 *)local_170);\n }\n if (local_228 == 1) {\n local_170._0_8_ = *local_270;\n local_170._8_8_ = local_270[1];\n local_160 = local_270[2];\n _CMTimeGetSeconds();\n }\n FUN_10001b584(dVar46,dVar28,dVar31,local_310);\n FUN_10001b584(*(undefined8 *)(param_1 + 0x2b8),*(undefined8 *)(param_1 + 0x2c0),\n *(undefined8 *)(param_1 + 0x2c8),*(undefined8 *)(param_1 + 0x2d0));\n _NSStringFromRect(dVar46,dVar28,dVar31,local_310);\n _NSStringFromRect(*(undefined8 *)(param_1 + 0x2b8),*(undefined8 *)(param_1 + 0x2c0),\n *(undefined8 *)(param_1 + 0x2c8),*(undefined8 *)(param_1 + 0x2d0));\n FUN_1000329ac(&cf_faceSelectskip_temporal_commitrewind___4fstoredRewind__dbbox___current___);\n }\n else if ((((uVar17 < 0x4d) || (_CGRectIsNull(dVar46,dVar28,dVar31,local_310), (uVar17 & 1) != 0))\n || (_CGRectIsEmpty(dVar46,dVar28,dVar31,local_310), (uVar17 & 1) != 0)) ||\n ((dVar32 = (double)_CGRectGetWidth(dVar46,dVar28,dVar31,local_310),\n dVar32 <= 2.220446049250313e-16 ||\n (dVar32 = (double)_CGRectGetHeight(dVar46,dVar28,dVar31,local_310),\n dVar32 <= 2.220446049250313e-16)))) {\n _NSStringFromRect(dVar46,dVar28,dVar31,local_310);\n objc_stub::count((ID)dVar45);\n FUN_1000329ac(&cf_faceSelectskip_temporal_commitinvalidresultbbox___points__lu);\n }\n else {\n IVar16 = objc_stub::copy((ID)dVar45);\n *(ID *)(param_1 + 0x2b0) = IVar16;\n *(double *)(param_1 + 0x2b8) = dVar46;\n *(double *)(param_1 + 0x2c0) = dVar28;\n *(double *)(param_1 + 0x2c8) = dVar31;\n *(double *)(param_1 + 0x2d0) = local_310;\n dVar32 = *local_270;\n dVar58 = local_270[1];\n *(double *)(param_1 + 0x2e8) = local_270[2];\n *(double *)(param_1 + 0x2e0) = dVar58;\n *(double *)(param_1 + 0x2d8) = dVar32;\n dVar32 = *local_270;\n dVar58 = local_270[1];\n *(double *)(param_1 + 0x300) = local_270[2];\n *(double *)(param_1 + 0x2f8) = dVar58;\n *(double *)(param_1 + 0x2f0) = dVar32;\n *(undefined1 *)(param_1 + 0x308) = 1;\n local_170._0_8_ = *local_270;\n local_170._8_8_ = local_270[1];\n local_160 = local_270[2];\n CVar62.field0_0x0.field1_0x8 = dVar28;\n CVar62.field0_0x0.field0_0x0 = dVar46;\n CVar62.field1_0x10.field1_0x8 = local_310;\n CVar62.field1_0x10.field0_0x0 = dVar31;\n mss_storeRewindFaceReferencePoints_forBox_renderTime_\n (param_1,(ID)dVar45,CVar62,(AnonymousStructure0 *)local_170);\n if (((local_284 | (uint)local_278 ^ 0xffffffff) & 1) == 0) {\n if (local_228 == 1) {\n local_170._0_8_ = *local_270;\n local_170._8_8_ = local_270[1];\n local_160 = local_270[2];\n _CMTimeGetSeconds(local_170);\n }\n FUN_10001b584(dVar46,dVar28,dVar31,local_310);\n }\n }\n uVar17 = objc_stub::count((ID)dVar45);\n uVar54 = 0;\n if (((0x4c < uVar17) && (_CGRectIsNull(dVar46,dVar28,dVar31,local_310), (uVar17 & 1) == 0)) &&\n ((_CGRectIsEmpty(dVar46,dVar28,dVar31,local_310), (uVar17 & 1) == 0 &&\n (dVar32 = (double)_CGRectGetWidth(dVar46,dVar28,dVar31,local_310),\n 2.220446049250313e-16 < dVar32)))) {\n dVar32 = (double)_CGRectGetHeight(dVar46,dVar28,dVar31,local_310);\n uVar54 = 0x3ff0000000000000;\n if (dVar32 <= 2.220446049250313e-16) {\n uVar54 = 0;\n }\n }\nLAB_100042444:\n dStack_230 = dVar46;\n local_238 = dVar28;\n local_240 = dVar31;\n local_248 = local_310;\n if ((((local_224 & (local_284 | (uint)local_278)) == 1) && (*(char *)(param_1 + 0x308) == '\\x01'))\n && (dVar45 != 0.0)) {\n dVar46 = *local_270;\n dVar28 = local_270[1];\n *(double *)(param_1 + 0x300) = local_270[2];\n *(double *)(param_1 + 0x2f8) = dVar28;\n *(double *)(param_1 + 0x2f0) = dVar46;\n }\n if (local_228 == 1) {\n local_170._0_8_ = *local_270;\n local_170._8_8_ = local_270[1];\n local_160 = local_270[2];\n _CMTimeGetSeconds(local_170);\n }\n FUN_10001b584(dStack_230,local_238,local_240,local_248);\n FUN_10001b584(local_250,local_258,dStack_260,local_268);\n FUN_10001b584(local_208,local_210,local_218,local_220);\n FUN_10002a7b8(dVar45,0x3b,0x4b);\n FUN_10001c338();\n FUN_10002a7b8(local_1f8,0x3b,0x4b);\n FUN_10001c338();\n FUN_10002a7b8(local_200,0x3b,0x4b);\n FUN_10001c338();\n FUN_10002ab0c(dVar45);\n FUN_10002ab0c(local_1f8);\n FUN_10002ab0c(local_200);\n uVar17 = objc_stub::unlock(*(ID *)(param_1 + 0x28));\n if (param_5 != (const_AnonymousStructure7__)0x0) {\n param_5->field0_0x0 = uVar54;\n }\n if (local_2b8 != (double *)0x0) {\n _CGRectIsNull(dStack_230,local_238,local_240,local_248);\n if ((((uVar17 & 1) != 0) ||\n (_CGRectIsEmpty(dStack_230,local_238,local_240,local_248), (uVar17 & 1) != 0)) ||\n ((dVar46 = (double)_CGRectGetWidth(dStack_230,local_238,local_240,local_248),\n dVar46 <= 2.220446049250313e-16 ||\n (dVar46 = (double)_CGRectGetHeight(dStack_230,local_238,local_240,local_248),\n dVar46 <= 2.220446049250313e-16)))) {\n local_2b8[1] = dVar30;\n *local_2b8 = dVar29;\n local_2b8[3] = dVar52;\n local_2b8[2] = dVar50;\n }\n else {\n *local_2b8 = dStack_230;\n local_2b8[1] = local_238;\n local_2b8[2] = local_240;\n local_2b8[3] = local_248;\n }\n }\n if ((double *)param_4.field3_0x10 != (double *)0x0) {\n *(double *)param_4.field3_0x10 = local_280;\n }\n objc_stub::length(0x1000ad660);\n if (*(long *)PTR____stack_chk_guard_1000a80e8 == local_b0) {\n return (ID)dVar45;\n }\n /* WARNING: Subroutine does not return */\n ___stack_chk_fail();\n}\n\n" }, "subject": { "architecture": "arm64", "digest": { "sha256": "afc71d0d21fd3c1ca95ca745ddafcd729e36ad95f17d8638009f2e45d9b7e8df" }, "format": "mach-o", "local_path": "/Users/dayu/Documents/PaintFCP/build/body-analysis/MSE18V2-arm64", "name": "MSE18V2-arm64" } }, { "analysis_profile": { "digest": "20565088524a2d0359b9b96f46ac48e679d774c7b0092c56abc06de8fdbec11c", "parameters": { "analyzer_preset": "ghidra-default", "annotation_policy": "atomic-function-entry-metadata-v1", "architecture": "arm64", "available_architectures": [ "arm64" ], "compiler_spec_id": "auto-default", "decompiler_jump_loads": true, "function_body_evidence": "complete-inclusive-ranges-v1", "function_boundary_observations": "ghidra-terminal-call-limitations-v1", "function_references": "complete-body-and-entry-reference-manager-v2", "import_mode": "ephemeral-source-immutable", "instruction_flow_evidence": "decoded-return-pcode-v1", "jump_table_evidence": "typed-case-default-blocks-v1", "language_id": "auto-from-header", "load_image_observations": "source-mappings-entry-context-v2", "loader": "auto-from-header", "location_resolution": "explicit-address-exact-entry-symbol-first-v3", "no_return_repair": "returning-imports-decoded-return-v2", "process_launch": "inspected-jvm-launch-support-v1", "string_inventory_evidence": "defined-data-coverage-v1", "target_format": "mach-o", "target_kind": "executable" }, "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" } }, "authority": "shipped-artifact", "confidence": "observed", "environment": null, "evidence_id": "ev_c527bbb1bb619caf73d4c98d29b462332091d9e1ee9b6541aca21b237512b44b", "evidence_links": [], "limitations": [ "The session serves operations only after Ghidra reports default auto-analysis complete; incomplete analysis does not expose partial results.", "The imported Program and temporary project are ephemeral and deleted on close. Annotation operations edit session database metadata; original executable bytes are never written.", "Cancelling an active Ghidra request terminates its ephemeral database and discards session annotations. The selected target remains open; the next provider query imports the original artifact again.", "Default-space addresses use lowercase 0x-prefixed hexadecimal; other address spaces use :0x.", "Assembly is Ghidra Listing text and does not claim textual equivalence with Hopper output.", "macOS sessions require a matching executable Ghidra native decompiler; REA checks for it but does not build native components or change Gatekeeper quarantine state." ], "locations": [], "normalized_result": "0x100050868: stp x20, x19, [sp, #-0x20]!\n0x10005086c: stp x29, x30, [sp, #0x10]\n0x100050870: add x29, sp, #0x10\n0x100050874: adrp x0, 0x100096000\n0x100050878: add x0, x0, #0x3fd\n0x10005087c: bl 0x10007ad60\n0x100050880: cbz x0, 0x1000508a4\n0x100050884: ldrb w8, [x0]\n0x100050888: cbz w8, 0x1000508a4\n0x10005088c: cmp w8, #0x30\n0x100050890: b.ne 0x1000508ac\n0x100050894: ldrb w8, [x0, #0x1]\n0x100050898: cmp w8, #0x0\n0x10005089c: cset w19, ne\n0x1000508a0: b 0x1000508b0\n0x1000508a4: mov w19, #0x0\n0x1000508a8: b 0x1000508b0\n0x1000508ac: mov w19, #0x1\n0x1000508b0: adrp x0, 0x1000ae000\n0x1000508b4: add x0, x0, #0xcc0\n0x1000508b8: bl 0x10004970c\n0x1000508bc: orr w8, w19, w0\n0x1000508c0: eor w8, w8, #0x1\n0x1000508c4: adrp x9, 0x1000bd000\n0x1000508c8: strb w8, [x9, #0x1f0]\n0x1000508cc: ldp x29, x30, [sp, #0x10]\n0x1000508d0: ldp x20, x19, [sp], #0x20\n0x1000508d4: ret", "operation": "procedure_assembly", "parameters": { "procedure": "0x100050868" }, "predicate_type": "rea.analysis", "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" }, "raw_result": { "limitations": [], "value": "0x100050868: stp x20, x19, [sp, #-0x20]!\n0x10005086c: stp x29, x30, [sp, #0x10]\n0x100050870: add x29, sp, #0x10\n0x100050874: adrp x0, 0x100096000\n0x100050878: add x0, x0, #0x3fd\n0x10005087c: bl 0x10007ad60\n0x100050880: cbz x0, 0x1000508a4\n0x100050884: ldrb w8, [x0]\n0x100050888: cbz w8, 0x1000508a4\n0x10005088c: cmp w8, #0x30\n0x100050890: b.ne 0x1000508ac\n0x100050894: ldrb w8, [x0, #0x1]\n0x100050898: cmp w8, #0x0\n0x10005089c: cset w19, ne\n0x1000508a0: b 0x1000508b0\n0x1000508a4: mov w19, #0x0\n0x1000508a8: b 0x1000508b0\n0x1000508ac: mov w19, #0x1\n0x1000508b0: adrp x0, 0x1000ae000\n0x1000508b4: add x0, x0, #0xcc0\n0x1000508b8: bl 0x10004970c\n0x1000508bc: orr w8, w19, w0\n0x1000508c0: eor w8, w8, #0x1\n0x1000508c4: adrp x9, 0x1000bd000\n0x1000508c8: strb w8, [x9, #0x1f0]\n0x1000508cc: ldp x29, x30, [sp, #0x10]\n0x1000508d0: ldp x20, x19, [sp], #0x20\n0x1000508d4: ret" }, "subject": { "architecture": "arm64", "digest": { "sha256": "afc71d0d21fd3c1ca95ca745ddafcd729e36ad95f17d8638009f2e45d9b7e8df" }, "format": "mach-o", "local_path": "/Users/dayu/Documents/PaintFCP/build/body-analysis/MSE18V2-arm64", "name": "MSE18V2-arm64" } }, { "analysis_profile": { "digest": "20565088524a2d0359b9b96f46ac48e679d774c7b0092c56abc06de8fdbec11c", "parameters": { "analyzer_preset": "ghidra-default", "annotation_policy": "atomic-function-entry-metadata-v1", "architecture": "arm64", "available_architectures": [ "arm64" ], "compiler_spec_id": "auto-default", "decompiler_jump_loads": true, "function_body_evidence": "complete-inclusive-ranges-v1", "function_boundary_observations": "ghidra-terminal-call-limitations-v1", "function_references": "complete-body-and-entry-reference-manager-v2", "import_mode": "ephemeral-source-immutable", "instruction_flow_evidence": "decoded-return-pcode-v1", "jump_table_evidence": "typed-case-default-blocks-v1", "language_id": "auto-from-header", "load_image_observations": "source-mappings-entry-context-v2", "loader": "auto-from-header", "location_resolution": "explicit-address-exact-entry-symbol-first-v3", "no_return_repair": "returning-imports-decoded-return-v2", "process_launch": "inspected-jvm-launch-support-v1", "string_inventory_evidence": "defined-data-coverage-v1", "target_format": "mach-o", "target_kind": "executable" }, "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" } }, "authority": "shipped-artifact", "confidence": "observed", "environment": null, "evidence_id": "ev_c68fb633462923be528c3c493d4886f5644afa7d646e2a2f866e7318c4566ae0", "evidence_links": [], "limitations": [ "The session serves operations only after Ghidra reports default auto-analysis complete; incomplete analysis does not expose partial results.", "The imported Program and temporary project are ephemeral and deleted on close. Annotation operations edit session database metadata; original executable bytes are never written.", "Cancelling an active Ghidra request terminates its ephemeral database and discards session annotations. The selected target remains open; the next provider query imports the original artifact again.", "Default-space addresses use lowercase 0x-prefixed hexadecimal; other address spaces use :0x.", "Assembly is Ghidra Listing text and does not claim textual equivalence with Hopper output.", "Ghidra Listing reports a terminal call at 0x100079cec to 0x10007ad0c _dispatch_once (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": "0x100079cdc: adrp x0, 0x1000bd000\n0x100079ce0: add x0, x0, #0xf48\n0x100079ce4: adrp x1, 0x1000a8000\n0x100079ce8: add x1, x1, #0xb38\n0x100079cec: b 0x10007ad0c", "operation": "procedure_assembly", "parameters": { "procedure": "0x100079cdc" }, "predicate_type": "rea.analysis", "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" }, "raw_result": { "limitations": [ "Ghidra Listing reports a terminal call at 0x100079cec to 0x10007ad0c _dispatch_once (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": "0x100079cdc: adrp x0, 0x1000bd000\n0x100079ce0: add x0, x0, #0xf48\n0x100079ce4: adrp x1, 0x1000a8000\n0x100079ce8: add x1, x1, #0xb38\n0x100079cec: b 0x10007ad0c" }, "subject": { "architecture": "arm64", "digest": { "sha256": "afc71d0d21fd3c1ca95ca745ddafcd729e36ad95f17d8638009f2e45d9b7e8df" }, "format": "mach-o", "local_path": "/Users/dayu/Documents/PaintFCP/build/body-analysis/MSE18V2-arm64", "name": "MSE18V2-arm64" } }, { "analysis_profile": { "digest": "20565088524a2d0359b9b96f46ac48e679d774c7b0092c56abc06de8fdbec11c", "parameters": { "analyzer_preset": "ghidra-default", "annotation_policy": "atomic-function-entry-metadata-v1", "architecture": "arm64", "available_architectures": [ "arm64" ], "compiler_spec_id": "auto-default", "decompiler_jump_loads": true, "function_body_evidence": "complete-inclusive-ranges-v1", "function_boundary_observations": "ghidra-terminal-call-limitations-v1", "function_references": "complete-body-and-entry-reference-manager-v2", "import_mode": "ephemeral-source-immutable", "instruction_flow_evidence": "decoded-return-pcode-v1", "jump_table_evidence": "typed-case-default-blocks-v1", "language_id": "auto-from-header", "load_image_observations": "source-mappings-entry-context-v2", "loader": "auto-from-header", "location_resolution": "explicit-address-exact-entry-symbol-first-v3", "no_return_repair": "returning-imports-decoded-return-v2", "process_launch": "inspected-jvm-launch-support-v1", "string_inventory_evidence": "defined-data-coverage-v1", "target_format": "mach-o", "target_kind": "executable" }, "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" } }, "authority": "shipped-artifact", "confidence": "observed", "environment": null, "evidence_id": "ev_ca6c7497f85e54b30978c159ebc02c92ce76d06d6352582676785f15006f9390", "evidence_links": [], "limitations": [ "The session serves operations only after Ghidra reports default auto-analysis complete; incomplete analysis does not expose partial results.", "The imported Program and temporary project are ephemeral and deleted on close. Annotation operations edit session database metadata; original executable bytes are never written.", "Cancelling an active Ghidra request terminates its ephemeral database and discards session annotations. The selected target remains open; the next provider query imports the original artifact again.", "Default-space addresses use lowercase 0x-prefixed hexadecimal; other address spaces use :0x.", "Bytes reflect Ghidra's initialized memory, including loader fixups. Reads stop at an unmapped or uninitialized byte and report completeness explicitly.", "macOS sessions require a matching executable Ghidra native decompiler; REA checks for it but does not build native components or change Gatekeeper quarantine state." ], "locations": [], "normalized_result": { "address": "0x100086358", "bytes_hex": "295c8fc2f528ac3f", "complete": true, "requested_bytes": 8, "returned_bytes": 8 }, "operation": "read_bytes", "parameters": { "address": "0x100086358", "length": 8 }, "predicate_type": "rea.analysis", "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" }, "raw_result": { "address": "0x100086358", "bytes_hex": "295c8fc2f528ac3f", "complete": true, "requested_bytes": 8, "returned_bytes": 8 }, "subject": { "architecture": "arm64", "digest": { "sha256": "afc71d0d21fd3c1ca95ca745ddafcd729e36ad95f17d8638009f2e45d9b7e8df" }, "format": "mach-o", "local_path": "/Users/dayu/Documents/PaintFCP/build/body-analysis/MSE18V2-arm64", "name": "MSE18V2-arm64" } }, { "analysis_profile": { "digest": "20565088524a2d0359b9b96f46ac48e679d774c7b0092c56abc06de8fdbec11c", "parameters": { "analyzer_preset": "ghidra-default", "annotation_policy": "atomic-function-entry-metadata-v1", "architecture": "arm64", "available_architectures": [ "arm64" ], "compiler_spec_id": "auto-default", "decompiler_jump_loads": true, "function_body_evidence": "complete-inclusive-ranges-v1", "function_boundary_observations": "ghidra-terminal-call-limitations-v1", "function_references": "complete-body-and-entry-reference-manager-v2", "import_mode": "ephemeral-source-immutable", "instruction_flow_evidence": "decoded-return-pcode-v1", "jump_table_evidence": "typed-case-default-blocks-v1", "language_id": "auto-from-header", "load_image_observations": "source-mappings-entry-context-v2", "loader": "auto-from-header", "location_resolution": "explicit-address-exact-entry-symbol-first-v3", "no_return_repair": "returning-imports-decoded-return-v2", "process_launch": "inspected-jvm-launch-support-v1", "string_inventory_evidence": "defined-data-coverage-v1", "target_format": "mach-o", "target_kind": "executable" }, "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" } }, "authority": "shipped-artifact", "confidence": "observed", "environment": null, "evidence_id": "ev_cd0514686c2aaa1f26b9d67aef5c62f6540f36c926e416deb51cc8a74cf79f39", "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 0x10002a420 to 0x10007aca0 ___stack_chk_fail (external=false, thunk=true, hasNoReturn=true); fallthrough is excluded by Ghidra's flow model. This records Ghidra's FunctionManager flag, not an independent verification that the callee cannot return.", "macOS sessions require a matching executable Ghidra native decompiler; REA checks for it but does not build native components or change Gatekeeper quarantine state." ], "locations": [], "normalized_result": "\nvoid FUN_100029d4c(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 ulong uVar5;\n double *pdVar6;\n ID IVar7;\n long lVar8;\n ID IVar9;\n long lVar10;\n double extraout_d0;\n double extraout_d0_00;\n double dVar11;\n double extraout_d0_01;\n double dVar12;\n double extraout_d0_02;\n double dVar13;\n double dVar14;\n double dVar15;\n double dVar16;\n double dVar17;\n ulong extraout_d0_03;\n ulong extraout_d0_04;\n double dVar18;\n double dVar19;\n double dVar20;\n double dVar21;\n double dVar22;\n double dVar23;\n undefined8 local_1d0;\n long lStack_1c8;\n long *local_1c0;\n undefined8 uStack_1b8;\n undefined8 local_1b0;\n undefined8 uStack_1a8;\n undefined8 uStack_1a0;\n undefined8 uStack_198;\n undefined1 auStack_188 [128];\n ID local_108;\n ulong local_100 [10];\n long local_b0;\n \n local_b0 = *(long *)PTR____stack_chk_guard_1000a80e8;\n IVar2 = 0;\n if (param_5 == 0) goto LAB_10002a3d8;\n IVar1 = objc_stub::landmarks(param_5);\n IVar2 = 0;\n if (IVar1 == 0) goto LAB_10002a3d8;\n IVar2 = objc_stub::landmarks(param_5);\n IVar1 = objc_stub::allPoints(IVar2);\n IVar2 = 0;\n if (IVar1 == 0) goto LAB_10002a3d8;\n IVar2 = objc_stub::landmarks(param_5);\n local_108 = objc_stub::allPoints(IVar2);\n IVar1 = NSArray::arrayWithObjects_count_((ID)&_OBJC_CLASS___NSArray,&local_108,1);\n IVar2 = NSMutableArray::array((ID)&_OBJC_CLASS___NSMutableArray);\n objc_stub::boundingBox(param_5);\n uStack_1a8 = 0;\n local_1b0 = 0;\n uStack_198 = 0;\n uStack_1a0 = 0;\n lStack_1c8 = 0;\n local_1d0 = 0;\n uStack_1b8 = 0;\n local_1c0 = (long *)0x0;\n dVar18 = param_2;\n dVar20 = param_3;\n dVar22 = param_4;\n IVar3 = NSArray::countByEnumeratingWithState_objects_count_(IVar1,&local_1d0,auStack_188,0x10);\n if (IVar3 != 0) {\n lVar8 = *local_1c0;\n do {\n IVar9 = 0;\n do {\n if (*local_1c0 != lVar8) {\n _objc_enumerationMutation(IVar1);\n }\n IVar7 = *(ID *)(lStack_1c8 + IVar9 * 8);\n if (((IVar7 != 0) && (IVar4 = objc_stub::pointCount(IVar7), 0x4b < IVar4)) &&\n (IVar4 = objc_stub::normalizedPoints(IVar7), IVar4 != 0)) {\n IVar7 = objc_stub::normalizedPoints(IVar7);\n pdVar6 = (double *)(IVar7 + 8);\n lVar10 = 0x4c;\n do {\n dVar18 = param_2 + *pdVar6 * param_4;\n IVar7 = CIVector::vectorWithX_Y_\n ((ID)&_OBJC_CLASS___CIVector,extraout_d0 + pdVar6[-1] * param_3);\n NSMutableArray::addObject_(IVar2,IVar7);\n pdVar6 = pdVar6 + 2;\n lVar10 = lVar10 + -1;\n } while (lVar10 != 0);\n }\n IVar9 = IVar9 + 1;\n } while (IVar9 != IVar3);\n IVar3 = NSArray::countByEnumeratingWithState_objects_count_(IVar1,&local_1d0,auStack_188,0x10)\n ;\n } while (IVar3 != 0);\n }\n IVar1 = NSMutableArray::count(IVar2);\n dVar11 = extraout_d0_00;\n if (IVar1 == 0x4c) {\n dVar11 = extraout_d0;\n _CGRectGetMidX(extraout_d0,param_2,param_3,param_4);\n dVar18 = extraout_d0;\n dVar20 = param_3;\n dVar22 = param_4;\n _CGRectGetMidY(extraout_d0,param_2);\n IVar1 = CIVector::vectorWithX_Y_((ID)&_OBJC_CLASS___CIVector,dVar11);\n NSMutableArray::addObject_(IVar2,IVar1);\n dVar11 = extraout_d0_01;\n }\n FUN_10002a7b8(IVar2,0x3b,0x4b);\n dVar19 = dVar18;\n dVar21 = dVar20;\n dVar23 = dVar22;\n IVar1 = objc_stub::landmarks(param_5);\n IVar3 = objc_stub::faceContour(IVar1);\n IVar1 = 0;\n if (IVar3 != 0) {\n IVar1 = objc_stub::pointCount(IVar3);\n if (((IVar1 != 0) && (uVar5 = objc_stub::normalizedPoints(IVar3), uVar5 != 0)) &&\n ((dVar19 = param_2, dVar21 = param_3, dVar23 = param_4,\n _CGRectIsNull(extraout_d0,param_2,param_3,param_4), (uVar5 & 1) == 0 &&\n (dVar19 = param_2, dVar21 = param_3, dVar23 = param_4,\n _CGRectIsEmpty(extraout_d0,param_2,param_3,param_4), (uVar5 & 1) == 0)))) {\n dVar12 = extraout_d0;\n dVar21 = param_3;\n dVar23 = param_4;\n _CGRectGetWidth(extraout_d0,param_2,param_3,param_4);\n dVar19 = 2.220446049250313e-16;\n if (2.220446049250313e-16 < dVar12) {\n dVar12 = extraout_d0;\n dVar21 = param_3;\n dVar23 = param_4;\n _CGRectGetHeight(extraout_d0,param_2,param_3,param_4);\n dVar19 = 2.220446049250313e-16;\n if (2.220446049250313e-16 < dVar12) {\n IVar9 = objc_stub::pointCount(IVar3);\n IVar1 = IVar9;\n if (0x4b < IVar9) {\n IVar1 = 0x4c;\n }\n IVar7 = NSMutableArray::arrayWithCapacity_((ID)&_OBJC_CLASS___NSMutableArray,IVar1);\n IVar3 = objc_stub::normalizedPoints(IVar3);\n if (IVar9 != 0) {\n pdVar6 = (double *)(IVar3 + 8);\n do {\n dVar19 = param_2 + *pdVar6 * param_4;\n IVar3 = CIVector::vectorWithX_Y_\n ((ID)&_OBJC_CLASS___CIVector,extraout_d0 + pdVar6[-1] * param_3,\n dVar19);\n NSMutableArray::addObject_(IVar7,IVar3);\n pdVar6 = pdVar6 + 2;\n IVar1 = IVar1 - 1;\n } while (IVar1 != 0);\n }\n IVar3 = NSMutableArray::count(IVar7);\n IVar1 = 0;\n if (IVar3 != 0) {\n IVar1 = IVar7;\n }\n goto LAB_10002a06c;\n }\n }\n }\n IVar1 = 0;\n }\nLAB_10002a06c:\n IVar9 = NSMutableArray::count(IVar1);\n IVar3 = IVar1;\n dVar12 = extraout_d0_02;\n FUN_10002a7b8(IVar1,0,IVar9 - 1);\n dVar17 = dVar11;\n _CGRectGetMidX(dVar11,dVar18,dVar20,dVar22);\n dVar13 = dVar11;\n _CGRectGetMidY(dVar11,dVar18,dVar20,dVar22);\n dVar14 = dVar12;\n _CGRectGetMidX(dVar12,dVar19,dVar21,dVar23);\n dVar15 = dVar12;\n _CGRectGetMidY(dVar12,dVar19,dVar21,dVar23);\n _CGRectIsNull(dVar11,dVar18,dVar20,dVar22);\n if ((((IVar3 & 1) == 0) && (_CGRectIsEmpty(dVar11,dVar18,dVar20,dVar22), (IVar3 & 1) == 0)) &&\n (((dVar16 = dVar11, _CGRectGetWidth(dVar11,dVar18,dVar20,dVar22),\n 2.220446049250313e-16 < dVar16 &&\n (((dVar16 = dVar11, _CGRectGetHeight(dVar11,dVar18,dVar20,dVar22),\n 2.220446049250313e-16 < dVar16 &&\n (_CGRectIsNull(dVar12,dVar19,dVar21,dVar23), (IVar3 & 1) == 0)) &&\n (_CGRectIsEmpty(dVar12,dVar19,dVar21,dVar23), (IVar3 & 1) == 0)))) &&\n ((dVar16 = dVar12, _CGRectGetWidth(dVar12,dVar19,dVar21,dVar23),\n 2.220446049250313e-16 < dVar16 &&\n (dVar16 = dVar12, _CGRectGetHeight(dVar12,dVar19,dVar21,dVar23),\n 2.220446049250313e-16 < dVar16)))))) {\n dVar17 = dVar17 - dVar14;\n _hypot(dVar17,dVar13 - dVar15);\n if ((0.03 < dVar17) && ((ulong)ABS(dVar17) < 0x7ff0000000000000)) {\n objc_stub::requestRevision(param_5);\n IVar3 = objc_stub::landmarks(param_5);\n IVar3 = objc_stub::allPoints(IVar3);\n objc_stub::pointCount(IVar3);\n IVar3 = objc_stub::landmarks(param_5);\n IVar3 = objc_stub::faceContour(IVar3);\n objc_stub::pointCount(IVar3);\n FUN_10001c338(dVar11,dVar18,dVar20,dVar22);\n FUN_10001c338(dVar12,dVar19,dVar21,dVar23);\n FUN_10002ab0c(IVar2);\n IVar3 = NSMutableArray::count(IVar1);\n if (IVar3 != 0) {\n IVar3 = NSMutableArray::count(IVar1);\n local_100[9] = IVar3 - 1;\n local_100[1] = 1;\n local_100[0] = 0;\n local_100[3] = 3;\n local_100[2] = 2;\n local_100[5] = 5;\n local_100[4] = 4;\n local_100[7] = 7;\n local_100[6] = 6;\n local_100[8] = 8;\n IVar3 = NSMutableArray::arrayWithCapacity_((ID)&_OBJC_CLASS___NSMutableArray,10);\n IVar9 = NSMutableIndexSet::indexSet((ID)&_OBJC_CLASS___NSMutableIndexSet);\n lVar8 = 0;\n do {\n uVar5 = *(ulong *)((long)local_100 + lVar8);\n IVar7 = NSMutableArray::count(IVar1);\n if ((uVar5 < IVar7) &&\n (IVar7 = NSMutableIndexSet::containsIndex_(IVar9,uVar5), (IVar7 & 1) == 0)) {\n NSMutableIndexSet::addIndex_(IVar9,uVar5);\n IVar7 = NSMutableArray::objectAtIndexedSubscript_(IVar1,uVar5);\n if ((IVar7 == 0) ||\n (((IVar4 = NSMutableArray::count(IVar7), IVar4 < 2 ||\n (NSMutableArray::X(IVar7),\n 0x7fefffffffffffff < (extraout_d0_03 & 0x7fffffffffffffff))) ||\n (NSMutableArray::Y(IVar7),\n 0x7fefffffffffffff < (extraout_d0_04 & 0x7fffffffffffffff))))) {\n IVar7 = NSString::stringWithFormat_((ID)&_OBJC_CLASS___NSString,&cf__lu_null);\n }\n else {\n NSMutableArray::X(IVar7);\n NSMutableArray::Y(IVar7);\n IVar7 = NSString::stringWithFormat_((ID)&_OBJC_CLASS___NSString,&cf__lu____5f___5f_);\n }\n NSMutableArray::addObject_(IVar3,IVar7);\n }\n lVar8 = lVar8 + 8;\n } while (lVar8 != 0x50);\n NSMutableArray::componentsJoinedByString_(IVar3,&cf_space_s_);\n }\n }\n }\n IVar1 = IVar2;\n FUN_10001b070(extraout_d0,param_2,param_3,param_4);\n if ((int)IVar1 == 0) {\n IVar2 = 0;\n }\nLAB_10002a3d8:\n if (*(long *)PTR____stack_chk_guard_1000a80e8 == local_b0) {\n return;\n }\n /* WARNING: Subroutine does not return */\n ___stack_chk_fail(IVar2);\n}\n\n", "operation": "procedure_pseudo_code", "parameters": { "procedure": "0x100029d4c" }, "predicate_type": "rea.analysis", "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" }, "raw_result": { "limitations": [ "Ghidra Listing reports a terminal call at 0x10002a420 to 0x10007aca0 ___stack_chk_fail (external=false, thunk=true, hasNoReturn=true); fallthrough is excluded by Ghidra's flow model. This records Ghidra's FunctionManager flag, not an independent verification that the callee cannot return." ], "value": "\nvoid FUN_100029d4c(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 ulong uVar5;\n double *pdVar6;\n ID IVar7;\n long lVar8;\n ID IVar9;\n long lVar10;\n double extraout_d0;\n double extraout_d0_00;\n double dVar11;\n double extraout_d0_01;\n double dVar12;\n double extraout_d0_02;\n double dVar13;\n double dVar14;\n double dVar15;\n double dVar16;\n double dVar17;\n ulong extraout_d0_03;\n ulong extraout_d0_04;\n double dVar18;\n double dVar19;\n double dVar20;\n double dVar21;\n double dVar22;\n double dVar23;\n undefined8 local_1d0;\n long lStack_1c8;\n long *local_1c0;\n undefined8 uStack_1b8;\n undefined8 local_1b0;\n undefined8 uStack_1a8;\n undefined8 uStack_1a0;\n undefined8 uStack_198;\n undefined1 auStack_188 [128];\n ID local_108;\n ulong local_100 [10];\n long local_b0;\n \n local_b0 = *(long *)PTR____stack_chk_guard_1000a80e8;\n IVar2 = 0;\n if (param_5 == 0) goto LAB_10002a3d8;\n IVar1 = objc_stub::landmarks(param_5);\n IVar2 = 0;\n if (IVar1 == 0) goto LAB_10002a3d8;\n IVar2 = objc_stub::landmarks(param_5);\n IVar1 = objc_stub::allPoints(IVar2);\n IVar2 = 0;\n if (IVar1 == 0) goto LAB_10002a3d8;\n IVar2 = objc_stub::landmarks(param_5);\n local_108 = objc_stub::allPoints(IVar2);\n IVar1 = NSArray::arrayWithObjects_count_((ID)&_OBJC_CLASS___NSArray,&local_108,1);\n IVar2 = NSMutableArray::array((ID)&_OBJC_CLASS___NSMutableArray);\n objc_stub::boundingBox(param_5);\n uStack_1a8 = 0;\n local_1b0 = 0;\n uStack_198 = 0;\n uStack_1a0 = 0;\n lStack_1c8 = 0;\n local_1d0 = 0;\n uStack_1b8 = 0;\n local_1c0 = (long *)0x0;\n dVar18 = param_2;\n dVar20 = param_3;\n dVar22 = param_4;\n IVar3 = NSArray::countByEnumeratingWithState_objects_count_(IVar1,&local_1d0,auStack_188,0x10);\n if (IVar3 != 0) {\n lVar8 = *local_1c0;\n do {\n IVar9 = 0;\n do {\n if (*local_1c0 != lVar8) {\n _objc_enumerationMutation(IVar1);\n }\n IVar7 = *(ID *)(lStack_1c8 + IVar9 * 8);\n if (((IVar7 != 0) && (IVar4 = objc_stub::pointCount(IVar7), 0x4b < IVar4)) &&\n (IVar4 = objc_stub::normalizedPoints(IVar7), IVar4 != 0)) {\n IVar7 = objc_stub::normalizedPoints(IVar7);\n pdVar6 = (double *)(IVar7 + 8);\n lVar10 = 0x4c;\n do {\n dVar18 = param_2 + *pdVar6 * param_4;\n IVar7 = CIVector::vectorWithX_Y_\n ((ID)&_OBJC_CLASS___CIVector,extraout_d0 + pdVar6[-1] * param_3);\n NSMutableArray::addObject_(IVar2,IVar7);\n pdVar6 = pdVar6 + 2;\n lVar10 = lVar10 + -1;\n } while (lVar10 != 0);\n }\n IVar9 = IVar9 + 1;\n } while (IVar9 != IVar3);\n IVar3 = NSArray::countByEnumeratingWithState_objects_count_(IVar1,&local_1d0,auStack_188,0x10)\n ;\n } while (IVar3 != 0);\n }\n IVar1 = NSMutableArray::count(IVar2);\n dVar11 = extraout_d0_00;\n if (IVar1 == 0x4c) {\n dVar11 = extraout_d0;\n _CGRectGetMidX(extraout_d0,param_2,param_3,param_4);\n dVar18 = extraout_d0;\n dVar20 = param_3;\n dVar22 = param_4;\n _CGRectGetMidY(extraout_d0,param_2);\n IVar1 = CIVector::vectorWithX_Y_((ID)&_OBJC_CLASS___CIVector,dVar11);\n NSMutableArray::addObject_(IVar2,IVar1);\n dVar11 = extraout_d0_01;\n }\n FUN_10002a7b8(IVar2,0x3b,0x4b);\n dVar19 = dVar18;\n dVar21 = dVar20;\n dVar23 = dVar22;\n IVar1 = objc_stub::landmarks(param_5);\n IVar3 = objc_stub::faceContour(IVar1);\n IVar1 = 0;\n if (IVar3 != 0) {\n IVar1 = objc_stub::pointCount(IVar3);\n if (((IVar1 != 0) && (uVar5 = objc_stub::normalizedPoints(IVar3), uVar5 != 0)) &&\n ((dVar19 = param_2, dVar21 = param_3, dVar23 = param_4,\n _CGRectIsNull(extraout_d0,param_2,param_3,param_4), (uVar5 & 1) == 0 &&\n (dVar19 = param_2, dVar21 = param_3, dVar23 = param_4,\n _CGRectIsEmpty(extraout_d0,param_2,param_3,param_4), (uVar5 & 1) == 0)))) {\n dVar12 = extraout_d0;\n dVar21 = param_3;\n dVar23 = param_4;\n _CGRectGetWidth(extraout_d0,param_2,param_3,param_4);\n dVar19 = 2.220446049250313e-16;\n if (2.220446049250313e-16 < dVar12) {\n dVar12 = extraout_d0;\n dVar21 = param_3;\n dVar23 = param_4;\n _CGRectGetHeight(extraout_d0,param_2,param_3,param_4);\n dVar19 = 2.220446049250313e-16;\n if (2.220446049250313e-16 < dVar12) {\n IVar9 = objc_stub::pointCount(IVar3);\n IVar1 = IVar9;\n if (0x4b < IVar9) {\n IVar1 = 0x4c;\n }\n IVar7 = NSMutableArray::arrayWithCapacity_((ID)&_OBJC_CLASS___NSMutableArray,IVar1);\n IVar3 = objc_stub::normalizedPoints(IVar3);\n if (IVar9 != 0) {\n pdVar6 = (double *)(IVar3 + 8);\n do {\n dVar19 = param_2 + *pdVar6 * param_4;\n IVar3 = CIVector::vectorWithX_Y_\n ((ID)&_OBJC_CLASS___CIVector,extraout_d0 + pdVar6[-1] * param_3,\n dVar19);\n NSMutableArray::addObject_(IVar7,IVar3);\n pdVar6 = pdVar6 + 2;\n IVar1 = IVar1 - 1;\n } while (IVar1 != 0);\n }\n IVar3 = NSMutableArray::count(IVar7);\n IVar1 = 0;\n if (IVar3 != 0) {\n IVar1 = IVar7;\n }\n goto LAB_10002a06c;\n }\n }\n }\n IVar1 = 0;\n }\nLAB_10002a06c:\n IVar9 = NSMutableArray::count(IVar1);\n IVar3 = IVar1;\n dVar12 = extraout_d0_02;\n FUN_10002a7b8(IVar1,0,IVar9 - 1);\n dVar17 = dVar11;\n _CGRectGetMidX(dVar11,dVar18,dVar20,dVar22);\n dVar13 = dVar11;\n _CGRectGetMidY(dVar11,dVar18,dVar20,dVar22);\n dVar14 = dVar12;\n _CGRectGetMidX(dVar12,dVar19,dVar21,dVar23);\n dVar15 = dVar12;\n _CGRectGetMidY(dVar12,dVar19,dVar21,dVar23);\n _CGRectIsNull(dVar11,dVar18,dVar20,dVar22);\n if ((((IVar3 & 1) == 0) && (_CGRectIsEmpty(dVar11,dVar18,dVar20,dVar22), (IVar3 & 1) == 0)) &&\n (((dVar16 = dVar11, _CGRectGetWidth(dVar11,dVar18,dVar20,dVar22),\n 2.220446049250313e-16 < dVar16 &&\n (((dVar16 = dVar11, _CGRectGetHeight(dVar11,dVar18,dVar20,dVar22),\n 2.220446049250313e-16 < dVar16 &&\n (_CGRectIsNull(dVar12,dVar19,dVar21,dVar23), (IVar3 & 1) == 0)) &&\n (_CGRectIsEmpty(dVar12,dVar19,dVar21,dVar23), (IVar3 & 1) == 0)))) &&\n ((dVar16 = dVar12, _CGRectGetWidth(dVar12,dVar19,dVar21,dVar23),\n 2.220446049250313e-16 < dVar16 &&\n (dVar16 = dVar12, _CGRectGetHeight(dVar12,dVar19,dVar21,dVar23),\n 2.220446049250313e-16 < dVar16)))))) {\n dVar17 = dVar17 - dVar14;\n _hypot(dVar17,dVar13 - dVar15);\n if ((0.03 < dVar17) && ((ulong)ABS(dVar17) < 0x7ff0000000000000)) {\n objc_stub::requestRevision(param_5);\n IVar3 = objc_stub::landmarks(param_5);\n IVar3 = objc_stub::allPoints(IVar3);\n objc_stub::pointCount(IVar3);\n IVar3 = objc_stub::landmarks(param_5);\n IVar3 = objc_stub::faceContour(IVar3);\n objc_stub::pointCount(IVar3);\n FUN_10001c338(dVar11,dVar18,dVar20,dVar22);\n FUN_10001c338(dVar12,dVar19,dVar21,dVar23);\n FUN_10002ab0c(IVar2);\n IVar3 = NSMutableArray::count(IVar1);\n if (IVar3 != 0) {\n IVar3 = NSMutableArray::count(IVar1);\n local_100[9] = IVar3 - 1;\n local_100[1] = 1;\n local_100[0] = 0;\n local_100[3] = 3;\n local_100[2] = 2;\n local_100[5] = 5;\n local_100[4] = 4;\n local_100[7] = 7;\n local_100[6] = 6;\n local_100[8] = 8;\n IVar3 = NSMutableArray::arrayWithCapacity_((ID)&_OBJC_CLASS___NSMutableArray,10);\n IVar9 = NSMutableIndexSet::indexSet((ID)&_OBJC_CLASS___NSMutableIndexSet);\n lVar8 = 0;\n do {\n uVar5 = *(ulong *)((long)local_100 + lVar8);\n IVar7 = NSMutableArray::count(IVar1);\n if ((uVar5 < IVar7) &&\n (IVar7 = NSMutableIndexSet::containsIndex_(IVar9,uVar5), (IVar7 & 1) == 0)) {\n NSMutableIndexSet::addIndex_(IVar9,uVar5);\n IVar7 = NSMutableArray::objectAtIndexedSubscript_(IVar1,uVar5);\n if ((IVar7 == 0) ||\n (((IVar4 = NSMutableArray::count(IVar7), IVar4 < 2 ||\n (NSMutableArray::X(IVar7),\n 0x7fefffffffffffff < (extraout_d0_03 & 0x7fffffffffffffff))) ||\n (NSMutableArray::Y(IVar7),\n 0x7fefffffffffffff < (extraout_d0_04 & 0x7fffffffffffffff))))) {\n IVar7 = NSString::stringWithFormat_((ID)&_OBJC_CLASS___NSString,&cf__lu_null);\n }\n else {\n NSMutableArray::X(IVar7);\n NSMutableArray::Y(IVar7);\n IVar7 = NSString::stringWithFormat_((ID)&_OBJC_CLASS___NSString,&cf__lu____5f___5f_);\n }\n NSMutableArray::addObject_(IVar3,IVar7);\n }\n lVar8 = lVar8 + 8;\n } while (lVar8 != 0x50);\n NSMutableArray::componentsJoinedByString_(IVar3,&cf_space_s_);\n }\n }\n }\n IVar1 = IVar2;\n FUN_10001b070(extraout_d0,param_2,param_3,param_4);\n if ((int)IVar1 == 0) {\n IVar2 = 0;\n }\nLAB_10002a3d8:\n if (*(long *)PTR____stack_chk_guard_1000a80e8 == local_b0) {\n return;\n }\n /* WARNING: Subroutine does not return */\n ___stack_chk_fail(IVar2);\n}\n\n" }, "subject": { "architecture": "arm64", "digest": { "sha256": "afc71d0d21fd3c1ca95ca745ddafcd729e36ad95f17d8638009f2e45d9b7e8df" }, "format": "mach-o", "local_path": "/Users/dayu/Documents/PaintFCP/build/body-analysis/MSE18V2-arm64", "name": "MSE18V2-arm64" } }, { "analysis_profile": { "digest": "20565088524a2d0359b9b96f46ac48e679d774c7b0092c56abc06de8fdbec11c", "parameters": { "analyzer_preset": "ghidra-default", "annotation_policy": "atomic-function-entry-metadata-v1", "architecture": "arm64", "available_architectures": [ "arm64" ], "compiler_spec_id": "auto-default", "decompiler_jump_loads": true, "function_body_evidence": "complete-inclusive-ranges-v1", "function_boundary_observations": "ghidra-terminal-call-limitations-v1", "function_references": "complete-body-and-entry-reference-manager-v2", "import_mode": "ephemeral-source-immutable", "instruction_flow_evidence": "decoded-return-pcode-v1", "jump_table_evidence": "typed-case-default-blocks-v1", "language_id": "auto-from-header", "load_image_observations": "source-mappings-entry-context-v2", "loader": "auto-from-header", "location_resolution": "explicit-address-exact-entry-symbol-first-v3", "no_return_repair": "returning-imports-decoded-return-v2", "process_launch": "inspected-jvm-launch-support-v1", "string_inventory_evidence": "defined-data-coverage-v1", "target_format": "mach-o", "target_kind": "executable" }, "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" } }, "authority": "shipped-artifact", "confidence": "observed", "environment": null, "evidence_id": "ev_d1932e6344ea1cb1c7f1745d76c0a43604ccffcb099cb0c92447bffa966c473e", "evidence_links": [], "limitations": [ "The session serves operations only after Ghidra reports default auto-analysis complete; incomplete analysis does not expose partial results.", "The imported Program and temporary project are ephemeral and deleted on close. Annotation operations edit session database metadata; original executable bytes are never written.", "Cancelling an active Ghidra request terminates its ephemeral database and discards session annotations. The selected target remains open; the next provider query imports the original artifact again.", "Default-space addresses use lowercase 0x-prefixed hexadecimal; other address spaces use :0x.", "Assembly is Ghidra Listing text and does not claim textual equivalence with Hopper output.", "macOS sessions require a matching executable Ghidra native decompiler; REA checks for it but does not build native components or change Gatekeeper quarantine state." ], "locations": [], "normalized_result": "0x10003d49c: stp d15, d14, [sp, #-0x60]!\n0x10003d4a0: stp d13, d12, [sp, #0x10]\n0x10003d4a4: stp d11, d10, [sp, #0x20]\n0x10003d4a8: stp d9, d8, [sp, #0x30]\n0x10003d4ac: stp x20, x19, [sp, #0x40]\n0x10003d4b0: stp x29, x30, [sp, #0x50]\n0x10003d4b4: add x29, sp, #0x50\n0x10003d4b8: mov x19, x0\n0x10003d4bc: adrp x20, 0x1000a8000\n0x10003d4c0: ldr x20, [x20, #0x148]\n0x10003d4c4: cbz x0, 0x10003d4fc\n0x10003d4c8: mov x0, x19\n0x10003d4cc: bl 0x10007cea0\n0x10003d4d0: bl 0x10007a9dc\n0x10003d4d4: movi d4, #0x0\n0x10003d4d8: movi d5, #0x0\n0x10003d4dc: fmov d6, 0x3ff0000000000000\n0x10003d4e0: fmov d7, 0x3ff0000000000000\n0x10003d4e4: bl 0x10007a9ac\n0x10003d4e8: fmov d8, d0\n0x10003d4ec: fmov d9, d1\n0x10003d4f0: fmov d10, d2\n0x10003d4f4: fmov d11, d3\n0x10003d4f8: b 0x10003d504\n0x10003d4fc: ldp d8, d9, [x20]\n0x10003d500: ldp d10, d11, [x20, #0x10]\n0x10003d504: fmov d0, d8\n0x10003d508: fmov d1, d9\n0x10003d50c: fmov d2, d10\n0x10003d510: fmov d3, d11\n0x10003d514: bl 0x10007a9d0\n0x10003d518: tbnz w0, #0x0, 0x10003d624\n0x10003d51c: fmov d0, d8\n0x10003d520: fmov d1, d9\n0x10003d524: fmov d2, d10\n0x10003d528: fmov d3, d11\n0x10003d52c: bl 0x10007a9b8\n0x10003d530: tbnz w0, #0x0, 0x10003d624\n0x10003d534: fmov d0, d8\n0x10003d538: fmov d1, d9\n0x10003d53c: fmov d2, d10\n0x10003d540: fmov d3, d11\n0x10003d544: bl 0x10007a988\n0x10003d548: mov x8, #0x3cb0000000000000\n0x10003d54c: fmov d1, x8\n0x10003d550: fcmp d0, d1\n0x10003d554: b.le 0x10003d624\n0x10003d558: fmov d0, d8\n0x10003d55c: fmov d1, d9\n0x10003d560: fmov d2, d10\n0x10003d564: fmov d3, d11\n0x10003d568: bl 0x10007a934\n0x10003d56c: mov x8, #0x3cb0000000000000\n0x10003d570: fmov d1, x8\n0x10003d574: fcmp d0, d1\n0x10003d578: b.le 0x10003d624\n0x10003d57c: mov x0, x19\n0x10003d580: bl 0x100029d4c\n0x10003d584: fmov d0, d8\n0x10003d588: fmov d1, d9\n0x10003d58c: fmov d2, d10\n0x10003d590: fmov d3, d11\n0x10003d594: bl 0x100042f9c\n0x10003d598: fmov d12, d0\n0x10003d59c: fmov d13, d1\n0x10003d5a0: fmov d14, d2\n0x10003d5a4: fmov d15, d3\n0x10003d5a8: bl 0x10007a9d0\n0x10003d5ac: tbnz w0, #0x0, 0x10003d62c\n0x10003d5b0: fmov d0, d12\n0x10003d5b4: fmov d1, d13\n0x10003d5b8: fmov d2, d14\n0x10003d5bc: fmov d3, d15\n0x10003d5c0: bl 0x10007a9b8\n0x10003d5c4: tbnz w0, #0x0, 0x10003d62c\n0x10003d5c8: fmov d0, d12\n0x10003d5cc: fmov d1, d13\n0x10003d5d0: fmov d2, d14\n0x10003d5d4: fmov d3, d15\n0x10003d5d8: bl 0x10007a988\n0x10003d5dc: mov x8, #0x3cb0000000000000\n0x10003d5e0: fmov d1, x8\n0x10003d5e4: fcmp d0, d1\n0x10003d5e8: b.le 0x10003d62c\n0x10003d5ec: fmov d0, d12\n0x10003d5f0: fmov d1, d13\n0x10003d5f4: fmov d2, d14\n0x10003d5f8: fmov d3, d15\n0x10003d5fc: bl 0x10007a934\n0x10003d600: mov x8, #0x3cb0000000000000\n0x10003d604: fmov d1, x8\n0x10003d608: fcmp d0, d1\n0x10003d60c: b.le 0x10003d62c\n0x10003d610: fmov d8, d12\n0x10003d614: fmov d9, d13\n0x10003d618: fmov d10, d14\n0x10003d61c: fmov d11, d15\n0x10003d620: b 0x10003d62c\n0x10003d624: ldp d8, d9, [x20]\n0x10003d628: ldp d10, d11, [x20, #0x10]\n0x10003d62c: fmov d0, d8\n0x10003d630: fmov d1, d9\n0x10003d634: fmov d2, d10\n0x10003d638: fmov d3, d11\n0x10003d63c: ldp x29, x30, [sp, #0x50]\n0x10003d640: ldp x20, x19, [sp, #0x40]\n0x10003d644: ldp d9, d8, [sp, #0x30]\n0x10003d648: ldp d11, d10, [sp, #0x20]\n0x10003d64c: ldp d13, d12, [sp, #0x10]\n0x10003d650: ldp d15, d14, [sp], #0x60\n0x10003d654: ret", "operation": "procedure_assembly", "parameters": { "procedure": "0x10003d49c" }, "predicate_type": "rea.analysis", "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" }, "raw_result": { "limitations": [], "value": "0x10003d49c: stp d15, d14, [sp, #-0x60]!\n0x10003d4a0: stp d13, d12, [sp, #0x10]\n0x10003d4a4: stp d11, d10, [sp, #0x20]\n0x10003d4a8: stp d9, d8, [sp, #0x30]\n0x10003d4ac: stp x20, x19, [sp, #0x40]\n0x10003d4b0: stp x29, x30, [sp, #0x50]\n0x10003d4b4: add x29, sp, #0x50\n0x10003d4b8: mov x19, x0\n0x10003d4bc: adrp x20, 0x1000a8000\n0x10003d4c0: ldr x20, [x20, #0x148]\n0x10003d4c4: cbz x0, 0x10003d4fc\n0x10003d4c8: mov x0, x19\n0x10003d4cc: bl 0x10007cea0\n0x10003d4d0: bl 0x10007a9dc\n0x10003d4d4: movi d4, #0x0\n0x10003d4d8: movi d5, #0x0\n0x10003d4dc: fmov d6, 0x3ff0000000000000\n0x10003d4e0: fmov d7, 0x3ff0000000000000\n0x10003d4e4: bl 0x10007a9ac\n0x10003d4e8: fmov d8, d0\n0x10003d4ec: fmov d9, d1\n0x10003d4f0: fmov d10, d2\n0x10003d4f4: fmov d11, d3\n0x10003d4f8: b 0x10003d504\n0x10003d4fc: ldp d8, d9, [x20]\n0x10003d500: ldp d10, d11, [x20, #0x10]\n0x10003d504: fmov d0, d8\n0x10003d508: fmov d1, d9\n0x10003d50c: fmov d2, d10\n0x10003d510: fmov d3, d11\n0x10003d514: bl 0x10007a9d0\n0x10003d518: tbnz w0, #0x0, 0x10003d624\n0x10003d51c: fmov d0, d8\n0x10003d520: fmov d1, d9\n0x10003d524: fmov d2, d10\n0x10003d528: fmov d3, d11\n0x10003d52c: bl 0x10007a9b8\n0x10003d530: tbnz w0, #0x0, 0x10003d624\n0x10003d534: fmov d0, d8\n0x10003d538: fmov d1, d9\n0x10003d53c: fmov d2, d10\n0x10003d540: fmov d3, d11\n0x10003d544: bl 0x10007a988\n0x10003d548: mov x8, #0x3cb0000000000000\n0x10003d54c: fmov d1, x8\n0x10003d550: fcmp d0, d1\n0x10003d554: b.le 0x10003d624\n0x10003d558: fmov d0, d8\n0x10003d55c: fmov d1, d9\n0x10003d560: fmov d2, d10\n0x10003d564: fmov d3, d11\n0x10003d568: bl 0x10007a934\n0x10003d56c: mov x8, #0x3cb0000000000000\n0x10003d570: fmov d1, x8\n0x10003d574: fcmp d0, d1\n0x10003d578: b.le 0x10003d624\n0x10003d57c: mov x0, x19\n0x10003d580: bl 0x100029d4c\n0x10003d584: fmov d0, d8\n0x10003d588: fmov d1, d9\n0x10003d58c: fmov d2, d10\n0x10003d590: fmov d3, d11\n0x10003d594: bl 0x100042f9c\n0x10003d598: fmov d12, d0\n0x10003d59c: fmov d13, d1\n0x10003d5a0: fmov d14, d2\n0x10003d5a4: fmov d15, d3\n0x10003d5a8: bl 0x10007a9d0\n0x10003d5ac: tbnz w0, #0x0, 0x10003d62c\n0x10003d5b0: fmov d0, d12\n0x10003d5b4: fmov d1, d13\n0x10003d5b8: fmov d2, d14\n0x10003d5bc: fmov d3, d15\n0x10003d5c0: bl 0x10007a9b8\n0x10003d5c4: tbnz w0, #0x0, 0x10003d62c\n0x10003d5c8: fmov d0, d12\n0x10003d5cc: fmov d1, d13\n0x10003d5d0: fmov d2, d14\n0x10003d5d4: fmov d3, d15\n0x10003d5d8: bl 0x10007a988\n0x10003d5dc: mov x8, #0x3cb0000000000000\n0x10003d5e0: fmov d1, x8\n0x10003d5e4: fcmp d0, d1\n0x10003d5e8: b.le 0x10003d62c\n0x10003d5ec: fmov d0, d12\n0x10003d5f0: fmov d1, d13\n0x10003d5f4: fmov d2, d14\n0x10003d5f8: fmov d3, d15\n0x10003d5fc: bl 0x10007a934\n0x10003d600: mov x8, #0x3cb0000000000000\n0x10003d604: fmov d1, x8\n0x10003d608: fcmp d0, d1\n0x10003d60c: b.le 0x10003d62c\n0x10003d610: fmov d8, d12\n0x10003d614: fmov d9, d13\n0x10003d618: fmov d10, d14\n0x10003d61c: fmov d11, d15\n0x10003d620: b 0x10003d62c\n0x10003d624: ldp d8, d9, [x20]\n0x10003d628: ldp d10, d11, [x20, #0x10]\n0x10003d62c: fmov d0, d8\n0x10003d630: fmov d1, d9\n0x10003d634: fmov d2, d10\n0x10003d638: fmov d3, d11\n0x10003d63c: ldp x29, x30, [sp, #0x50]\n0x10003d640: ldp x20, x19, [sp, #0x40]\n0x10003d644: ldp d9, d8, [sp, #0x30]\n0x10003d648: ldp d11, d10, [sp, #0x20]\n0x10003d64c: ldp d13, d12, [sp, #0x10]\n0x10003d650: ldp d15, d14, [sp], #0x60\n0x10003d654: ret" }, "subject": { "architecture": "arm64", "digest": { "sha256": "afc71d0d21fd3c1ca95ca745ddafcd729e36ad95f17d8638009f2e45d9b7e8df" }, "format": "mach-o", "local_path": "/Users/dayu/Documents/PaintFCP/build/body-analysis/MSE18V2-arm64", "name": "MSE18V2-arm64" } }, { "analysis_profile": { "digest": "20565088524a2d0359b9b96f46ac48e679d774c7b0092c56abc06de8fdbec11c", "parameters": { "analyzer_preset": "ghidra-default", "annotation_policy": "atomic-function-entry-metadata-v1", "architecture": "arm64", "available_architectures": [ "arm64" ], "compiler_spec_id": "auto-default", "decompiler_jump_loads": true, "function_body_evidence": "complete-inclusive-ranges-v1", "function_boundary_observations": "ghidra-terminal-call-limitations-v1", "function_references": "complete-body-and-entry-reference-manager-v2", "import_mode": "ephemeral-source-immutable", "instruction_flow_evidence": "decoded-return-pcode-v1", "jump_table_evidence": "typed-case-default-blocks-v1", "language_id": "auto-from-header", "load_image_observations": "source-mappings-entry-context-v2", "loader": "auto-from-header", "location_resolution": "explicit-address-exact-entry-symbol-first-v3", "no_return_repair": "returning-imports-decoded-return-v2", "process_launch": "inspected-jvm-launch-support-v1", "string_inventory_evidence": "defined-data-coverage-v1", "target_format": "mach-o", "target_kind": "executable" }, "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" } }, "authority": "shipped-artifact", "confidence": "observed", "environment": null, "evidence_id": "ev_d3467a45e410adebb25931175cdb00f6b81b052b92940ce6701a511d973bce59", "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 0x100050630 to 0x10007aca0 ___stack_chk_fail (external=false, thunk=true, hasNoReturn=true); fallthrough is excluded by Ghidra's flow model. This records Ghidra's FunctionManager flag, not an independent verification that the callee cannot return.", "macOS sessions require a matching executable Ghidra native decompiler; REA checks for it but does not build native components or change Gatekeeper quarantine state." ], "locations": [], "normalized_result": "\n/* WARNING: Function: _objc_autorelease replaced with injection: _objc_retain_fixup */\n\nvoid FUN_100050560(undefined8 param_1,undefined8 param_2,long *param_3)\n\n{\n undefined *self;\n ID IVar1;\n ID IVar2;\n undefined8 uVar3;\n undefined8 local_40;\n long local_38;\n \n local_38 = *(long *)PTR____stack_chk_guard_1000a80e8;\n if (param_3 != (long *)0x0) {\n *param_3 = 0;\n }\n self = &_OBJC_CLASS___VNImageRequestHandler;\n _objc_alloc();\n IVar1 = objc_stub::initWithCIImage_orientation_options_\n ((ID)self,param_1,1,PTR____NSDictionary0__struct_1000a8118);\n local_40 = param_2;\n IVar2 = NSArray::arrayWithObjects_count_((ID)&_OBJC_CLASS___NSArray,&local_40,1);\n IVar1 = objc_stub::performRequests_error_(IVar1,IVar2,param_3);\n if (((int)IVar1 == 0) || ((param_3 != (long *)0x0 && (*param_3 != 0)))) {\n uVar3 = 0;\n }\n else {\n uVar3 = 1;\n }\n if (*(long *)PTR____stack_chk_guard_1000a80e8 == local_38) {\n return;\n }\n /* WARNING: Subroutine does not return */\n ___stack_chk_fail(uVar3);\n}\n\n", "operation": "procedure_pseudo_code", "parameters": { "procedure": "0x100050560" }, "predicate_type": "rea.analysis", "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" }, "raw_result": { "limitations": [ "Ghidra Listing reports a terminal call at 0x100050630 to 0x10007aca0 ___stack_chk_fail (external=false, thunk=true, hasNoReturn=true); fallthrough is excluded by Ghidra's flow model. This records Ghidra's FunctionManager flag, not an independent verification that the callee cannot return." ], "value": "\n/* WARNING: Function: _objc_autorelease replaced with injection: _objc_retain_fixup */\n\nvoid FUN_100050560(undefined8 param_1,undefined8 param_2,long *param_3)\n\n{\n undefined *self;\n ID IVar1;\n ID IVar2;\n undefined8 uVar3;\n undefined8 local_40;\n long local_38;\n \n local_38 = *(long *)PTR____stack_chk_guard_1000a80e8;\n if (param_3 != (long *)0x0) {\n *param_3 = 0;\n }\n self = &_OBJC_CLASS___VNImageRequestHandler;\n _objc_alloc();\n IVar1 = objc_stub::initWithCIImage_orientation_options_\n ((ID)self,param_1,1,PTR____NSDictionary0__struct_1000a8118);\n local_40 = param_2;\n IVar2 = NSArray::arrayWithObjects_count_((ID)&_OBJC_CLASS___NSArray,&local_40,1);\n IVar1 = objc_stub::performRequests_error_(IVar1,IVar2,param_3);\n if (((int)IVar1 == 0) || ((param_3 != (long *)0x0 && (*param_3 != 0)))) {\n uVar3 = 0;\n }\n else {\n uVar3 = 1;\n }\n if (*(long *)PTR____stack_chk_guard_1000a80e8 == local_38) {\n return;\n }\n /* WARNING: Subroutine does not return */\n ___stack_chk_fail(uVar3);\n}\n\n" }, "subject": { "architecture": "arm64", "digest": { "sha256": "afc71d0d21fd3c1ca95ca745ddafcd729e36ad95f17d8638009f2e45d9b7e8df" }, "format": "mach-o", "local_path": "/Users/dayu/Documents/PaintFCP/build/body-analysis/MSE18V2-arm64", "name": "MSE18V2-arm64" } }, { "analysis_profile": { "digest": "20565088524a2d0359b9b96f46ac48e679d774c7b0092c56abc06de8fdbec11c", "parameters": { "analyzer_preset": "ghidra-default", "annotation_policy": "atomic-function-entry-metadata-v1", "architecture": "arm64", "available_architectures": [ "arm64" ], "compiler_spec_id": "auto-default", "decompiler_jump_loads": true, "function_body_evidence": "complete-inclusive-ranges-v1", "function_boundary_observations": "ghidra-terminal-call-limitations-v1", "function_references": "complete-body-and-entry-reference-manager-v2", "import_mode": "ephemeral-source-immutable", "instruction_flow_evidence": "decoded-return-pcode-v1", "jump_table_evidence": "typed-case-default-blocks-v1", "language_id": "auto-from-header", "load_image_observations": "source-mappings-entry-context-v2", "loader": "auto-from-header", "location_resolution": "explicit-address-exact-entry-symbol-first-v3", "no_return_repair": "returning-imports-decoded-return-v2", "process_launch": "inspected-jvm-launch-support-v1", "string_inventory_evidence": "defined-data-coverage-v1", "target_format": "mach-o", "target_kind": "executable" }, "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" } }, "authority": "shipped-artifact", "confidence": "observed", "environment": null, "evidence_id": "ev_d496d7ee84574987481a3c6714fe4a587e4654ef0f94b182e140fc183eeb5e06", "evidence_links": [], "limitations": [ "The session serves operations only after Ghidra reports default auto-analysis complete; incomplete analysis does not expose partial results.", "The imported Program and temporary project are ephemeral and deleted on close. Annotation operations edit session database metadata; original executable bytes are never written.", "Cancelling an active Ghidra request terminates its ephemeral database and discards session annotations. The selected target remains open; the next provider query imports the original artifact again.", "Default-space addresses use lowercase 0x-prefixed hexadecimal; other address spaces use :0x.", "Bytes reflect Ghidra's initialized memory, including loader fixups. Reads stop at an unmapped or uninitialized byte and report completeness explicitly.", "macOS sessions require a matching executable Ghidra native decompiler; REA checks for it but does not build native components or change Gatekeeper quarantine state." ], "locations": [], "normalized_result": { "address": "0x1000a8b18", "bytes_hex": "004e0e000100000000000050000000006808050001000000a8840a0001000000", "complete": true, "requested_bytes": 32, "returned_bytes": 32 }, "operation": "read_bytes", "parameters": { "address": "0x1000a8b18", "length": 32 }, "predicate_type": "rea.analysis", "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" }, "raw_result": { "address": "0x1000a8b18", "bytes_hex": "004e0e000100000000000050000000006808050001000000a8840a0001000000", "complete": true, "requested_bytes": 32, "returned_bytes": 32 }, "subject": { "architecture": "arm64", "digest": { "sha256": "afc71d0d21fd3c1ca95ca745ddafcd729e36ad95f17d8638009f2e45d9b7e8df" }, "format": "mach-o", "local_path": "/Users/dayu/Documents/PaintFCP/build/body-analysis/MSE18V2-arm64", "name": "MSE18V2-arm64" } }, { "analysis_profile": { "digest": "20565088524a2d0359b9b96f46ac48e679d774c7b0092c56abc06de8fdbec11c", "parameters": { "analyzer_preset": "ghidra-default", "annotation_policy": "atomic-function-entry-metadata-v1", "architecture": "arm64", "available_architectures": [ "arm64" ], "compiler_spec_id": "auto-default", "decompiler_jump_loads": true, "function_body_evidence": "complete-inclusive-ranges-v1", "function_boundary_observations": "ghidra-terminal-call-limitations-v1", "function_references": "complete-body-and-entry-reference-manager-v2", "import_mode": "ephemeral-source-immutable", "instruction_flow_evidence": "decoded-return-pcode-v1", "jump_table_evidence": "typed-case-default-blocks-v1", "language_id": "auto-from-header", "load_image_observations": "source-mappings-entry-context-v2", "loader": "auto-from-header", "location_resolution": "explicit-address-exact-entry-symbol-first-v3", "no_return_repair": "returning-imports-decoded-return-v2", "process_launch": "inspected-jvm-launch-support-v1", "string_inventory_evidence": "defined-data-coverage-v1", "target_format": "mach-o", "target_kind": "executable" }, "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" } }, "authority": "shipped-artifact", "confidence": "observed", "environment": null, "evidence_id": "ev_d6616be03cd7c613da62d6d5e38b87cac366241edae320b05b72ad773bca239a", "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 0x1000799ec to 0x10007ad0c _dispatch_once (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": "\nvoid FUN_1000799dc(void)\n\n{\n _dispatch_once(&DAT_1000be158,&PTR___NSConcreteGlobalBlock_1000a8f58);\n return;\n}\n\n", "operation": "procedure_pseudo_code", "parameters": { "procedure": "0x1000799dc" }, "predicate_type": "rea.analysis", "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" }, "raw_result": { "limitations": [ "Ghidra Listing reports a terminal call at 0x1000799ec to 0x10007ad0c _dispatch_once (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": "\nvoid FUN_1000799dc(void)\n\n{\n _dispatch_once(&DAT_1000be158,&PTR___NSConcreteGlobalBlock_1000a8f58);\n return;\n}\n\n" }, "subject": { "architecture": "arm64", "digest": { "sha256": "afc71d0d21fd3c1ca95ca745ddafcd729e36ad95f17d8638009f2e45d9b7e8df" }, "format": "mach-o", "local_path": "/Users/dayu/Documents/PaintFCP/build/body-analysis/MSE18V2-arm64", "name": "MSE18V2-arm64" } }, { "analysis_profile": { "digest": "20565088524a2d0359b9b96f46ac48e679d774c7b0092c56abc06de8fdbec11c", "parameters": { "analyzer_preset": "ghidra-default", "annotation_policy": "atomic-function-entry-metadata-v1", "architecture": "arm64", "available_architectures": [ "arm64" ], "compiler_spec_id": "auto-default", "decompiler_jump_loads": true, "function_body_evidence": "complete-inclusive-ranges-v1", "function_boundary_observations": "ghidra-terminal-call-limitations-v1", "function_references": "complete-body-and-entry-reference-manager-v2", "import_mode": "ephemeral-source-immutable", "instruction_flow_evidence": "decoded-return-pcode-v1", "jump_table_evidence": "typed-case-default-blocks-v1", "language_id": "auto-from-header", "load_image_observations": "source-mappings-entry-context-v2", "loader": "auto-from-header", "location_resolution": "explicit-address-exact-entry-symbol-first-v3", "no_return_repair": "returning-imports-decoded-return-v2", "process_launch": "inspected-jvm-launch-support-v1", "string_inventory_evidence": "defined-data-coverage-v1", "target_format": "mach-o", "target_kind": "executable" }, "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" } }, "authority": "shipped-artifact", "confidence": "observed", "environment": null, "evidence_id": "ev_dc809f2f363a6597743e9fa9d1d779f87190c71545950ee6138dab67155322e4", "evidence_links": [], "limitations": [ "The session serves operations only after Ghidra reports default auto-analysis complete; incomplete analysis does not expose partial results.", "The imported Program and temporary project are ephemeral and deleted on close. Annotation operations edit session database metadata; original executable bytes are never written.", "Cancelling an active Ghidra request terminates its ephemeral database and discards session annotations. The selected target remains open; the next provider query imports the original artifact again.", "Default-space addresses use lowercase 0x-prefixed hexadecimal; other address spaces use :0x.", "Bytes reflect Ghidra's initialized memory, including loader fixups. Reads stop at an unmapped or uninitialized byte and report completeness explicitly.", "macOS sessions require a matching executable Ghidra native decompiler; REA checks for it but does not build native components or change Gatekeeper quarantine state." ], "locations": [], "normalized_result": { "address": "0x100086418", "bytes_hex": "fa7e6abc7493683f", "complete": true, "requested_bytes": 8, "returned_bytes": 8 }, "operation": "read_bytes", "parameters": { "address": "0x100086418", "length": 8 }, "predicate_type": "rea.analysis", "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" }, "raw_result": { "address": "0x100086418", "bytes_hex": "fa7e6abc7493683f", "complete": true, "requested_bytes": 8, "returned_bytes": 8 }, "subject": { "architecture": "arm64", "digest": { "sha256": "afc71d0d21fd3c1ca95ca745ddafcd729e36ad95f17d8638009f2e45d9b7e8df" }, "format": "mach-o", "local_path": "/Users/dayu/Documents/PaintFCP/build/body-analysis/MSE18V2-arm64", "name": "MSE18V2-arm64" } }, { "analysis_profile": { "digest": "20565088524a2d0359b9b96f46ac48e679d774c7b0092c56abc06de8fdbec11c", "parameters": { "analyzer_preset": "ghidra-default", "annotation_policy": "atomic-function-entry-metadata-v1", "architecture": "arm64", "available_architectures": [ "arm64" ], "compiler_spec_id": "auto-default", "decompiler_jump_loads": true, "function_body_evidence": "complete-inclusive-ranges-v1", "function_boundary_observations": "ghidra-terminal-call-limitations-v1", "function_references": "complete-body-and-entry-reference-manager-v2", "import_mode": "ephemeral-source-immutable", "instruction_flow_evidence": "decoded-return-pcode-v1", "jump_table_evidence": "typed-case-default-blocks-v1", "language_id": "auto-from-header", "load_image_observations": "source-mappings-entry-context-v2", "loader": "auto-from-header", "location_resolution": "explicit-address-exact-entry-symbol-first-v3", "no_return_repair": "returning-imports-decoded-return-v2", "process_launch": "inspected-jvm-launch-support-v1", "string_inventory_evidence": "defined-data-coverage-v1", "target_format": "mach-o", "target_kind": "executable" }, "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" } }, "authority": "shipped-artifact", "confidence": "observed", "environment": null, "evidence_id": "ev_e045bdd0d59b0d0d7bcd53b0c73304d0dd3bd2d9e0df00d4e306b1c3c8e3a92d", "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: 0x40 bytes */\n\nID MSSSkinControlPanelView::initWithFrame_apiManager_pluginHost_\n (ID param_1,SEL param_2,CGRect param_3,ID param_4,ID param_5)\n\n{\n ID self;\n undefined *puVar1;\n ID IVar2;\n ID local_40;\n class_t *pcStack_38;\n \n pcStack_38 = &objc::class_t::MSSSkinControlPanelView;\n local_40 = param_1;\n self = NSView::initWithFrame_\n ((ID)&local_40,\"initWithFrame:\",param_3.field0_0x0.field0_0x0,\n param_3.field0_0x0.field1_0x8,param_3.field1_0x10.field0_0x0,\n param_3.field1_0x10.field1_0x8);\n if (self != 0) {\n *(double *)(self + (long)_apiManager) = param_3.field0_0x0.field0_0x0;\n *(double *)(self + (long)_pluginHost) = param_3.field0_0x0.field1_0x8;\n *(undefined8 *)(self + (long)_cachedControlPanelValue) = 0;\n puVar1 = &_OBJC_CLASS___NSMutableDictionary;\n _objc_alloc_init();\n *(undefined **)(self + (long)_sliderControls) = puVar1;\n puVar1 = &_OBJC_CLASS___NSMutableDictionary;\n _objc_alloc_init();\n *(undefined **)(self + (long)_toggleControls) = puVar1;\n IVar2 = objc_stub::copy(0x1000aade0);\n *(ID *)(self + (long)_resolvedUpdateURLString) = IVar2;\n NSView::setAutoresizingMask_(self,0x12);\n FUN_10000ac28(self);\n NSView::setContentHuggingPriority_forOrientation_(self,0x437a0000,0);\n NSView::setContentCompressionResistancePriority_forOrientation_(self,0x447a0000,0);\n FUN_10000ac84(&cf____controlpanelinitbuild__llu___);\n NSView::mss_logGeometry_(self,&cf_init);\n }\n return self;\n}\n\n", "operation": "procedure_pseudo_code", "parameters": { "procedure": "0x10000ab00" }, "predicate_type": "rea.analysis", "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" }, "raw_result": { "limitations": [], "value": "\n/* Function Stack Size: 0x40 bytes */\n\nID MSSSkinControlPanelView::initWithFrame_apiManager_pluginHost_\n (ID param_1,SEL param_2,CGRect param_3,ID param_4,ID param_5)\n\n{\n ID self;\n undefined *puVar1;\n ID IVar2;\n ID local_40;\n class_t *pcStack_38;\n \n pcStack_38 = &objc::class_t::MSSSkinControlPanelView;\n local_40 = param_1;\n self = NSView::initWithFrame_\n ((ID)&local_40,\"initWithFrame:\",param_3.field0_0x0.field0_0x0,\n param_3.field0_0x0.field1_0x8,param_3.field1_0x10.field0_0x0,\n param_3.field1_0x10.field1_0x8);\n if (self != 0) {\n *(double *)(self + (long)_apiManager) = param_3.field0_0x0.field0_0x0;\n *(double *)(self + (long)_pluginHost) = param_3.field0_0x0.field1_0x8;\n *(undefined8 *)(self + (long)_cachedControlPanelValue) = 0;\n puVar1 = &_OBJC_CLASS___NSMutableDictionary;\n _objc_alloc_init();\n *(undefined **)(self + (long)_sliderControls) = puVar1;\n puVar1 = &_OBJC_CLASS___NSMutableDictionary;\n _objc_alloc_init();\n *(undefined **)(self + (long)_toggleControls) = puVar1;\n IVar2 = objc_stub::copy(0x1000aade0);\n *(ID *)(self + (long)_resolvedUpdateURLString) = IVar2;\n NSView::setAutoresizingMask_(self,0x12);\n FUN_10000ac28(self);\n NSView::setContentHuggingPriority_forOrientation_(self,0x437a0000,0);\n NSView::setContentCompressionResistancePriority_forOrientation_(self,0x447a0000,0);\n FUN_10000ac84(&cf____controlpanelinitbuild__llu___);\n NSView::mss_logGeometry_(self,&cf_init);\n }\n return self;\n}\n\n" }, "subject": { "architecture": "arm64", "digest": { "sha256": "afc71d0d21fd3c1ca95ca745ddafcd729e36ad95f17d8638009f2e45d9b7e8df" }, "format": "mach-o", "local_path": "/Users/dayu/Documents/PaintFCP/build/body-analysis/MSE18V2-arm64", "name": "MSE18V2-arm64" } }, { "analysis_profile": { "digest": "20565088524a2d0359b9b96f46ac48e679d774c7b0092c56abc06de8fdbec11c", "parameters": { "analyzer_preset": "ghidra-default", "annotation_policy": "atomic-function-entry-metadata-v1", "architecture": "arm64", "available_architectures": [ "arm64" ], "compiler_spec_id": "auto-default", "decompiler_jump_loads": true, "function_body_evidence": "complete-inclusive-ranges-v1", "function_boundary_observations": "ghidra-terminal-call-limitations-v1", "function_references": "complete-body-and-entry-reference-manager-v2", "import_mode": "ephemeral-source-immutable", "instruction_flow_evidence": "decoded-return-pcode-v1", "jump_table_evidence": "typed-case-default-blocks-v1", "language_id": "auto-from-header", "load_image_observations": "source-mappings-entry-context-v2", "loader": "auto-from-header", "location_resolution": "explicit-address-exact-entry-symbol-first-v3", "no_return_repair": "returning-imports-decoded-return-v2", "process_launch": "inspected-jvm-launch-support-v1", "string_inventory_evidence": "defined-data-coverage-v1", "target_format": "mach-o", "target_kind": "executable" }, "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" } }, "authority": "shipped-artifact", "confidence": "observed", "environment": null, "evidence_id": "ev_ea56f92ff686beeff6c9ea93b6008e9e2e55c432f8c609d355768f75a45332fc", "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 0x10000c4cc to 0x10007aca0 ___stack_chk_fail (external=false, thunk=true, hasNoReturn=true); fallthrough is excluded by Ghidra's flow model. This records Ghidra's FunctionManager flag, not an independent verification that the callee cannot return.", "macOS sessions require a matching executable Ghidra native decompiler; REA checks for it but does not build native components or change Gatekeeper quarantine state." ], "locations": [], "normalized_result": "\n/* Function Stack Size: 0x20 bytes */\n\nID MSSSkinControlPanelView::visibleControlsForSection_controlPanelValue_\n (ID param_1,SEL param_2,ID param_3,ID param_4)\n\n{\n uint uVar1;\n undefined *puVar2;\n ID self;\n ID IVar3;\n ID IVar4;\n ID IVar5;\n ID IVar6;\n ID IVar7;\n ID IVar8;\n long extraout_x1;\n long lVar9;\n long lVar10;\n ID IVar11;\n ID local_278;\n ID local_268;\n undefined8 local_250;\n long lStack_248;\n long *local_240;\n undefined8 uStack_238;\n undefined8 local_230;\n undefined8 uStack_228;\n undefined8 uStack_220;\n undefined8 uStack_218;\n undefined8 local_210;\n long lStack_208;\n long *local_200;\n undefined8 uStack_1f8;\n undefined8 local_1f0;\n undefined8 uStack_1e8;\n undefined8 uStack_1e0;\n undefined8 uStack_1d8;\n cfstringStruct *local_1d0;\n cfstringStruct *local_1c8;\n cfstringStruct *local_1c0;\n cfstringStruct *pcStack_1b8;\n cfstringStruct *local_1b0;\n cfstringStruct *pcStack_1a8;\n ID local_1a0;\n ID local_198;\n cfstringStruct *pcStack_190;\n ID local_188;\n undefined *puStack_180;\n ID local_178;\n undefined1 auStack_170 [128];\n undefined1 auStack_f0 [128];\n long local_70;\n \n local_70 = *(long *)PTR____stack_chk_guard_1000a80e8;\n self = objc_stub::objectForKeyedSubscript_(param_3,&cf_controls);\n IVar3 = objc_stub::objectForKeyedSubscript_(param_3,&cf_headerID);\n IVar3 = objc_stub::unsignedIntValue(IVar3);\n local_278 = self;\n if ((int)IVar3 == 0xca) {\n lVar9 = extraout_x1;\n FUN_10000c4d0(param_4);\n FUN_100018160(param_4);\n IVar3 = NSMutableArray::arrayWithCapacity_((ID)&_OBJC_CLASS___NSMutableArray,lVar9);\n for (; lVar9 != 0; lVar9 = lVar9 + -1) {\n IVar4 = NSNumber::numberWithInteger_((ID)&_OBJC_CLASS___NSNumber,param_4);\n NSMutableArray::addObject_(IVar3,IVar4);\n param_4 = param_4 + 1;\n }\n IVar4 = objc_stub::count(self);\n IVar5 = NSMutableArray::count(IVar3);\n local_278 = NSMutableArray::arrayWithCapacity_((ID)&_OBJC_CLASS___NSMutableArray,IVar5 + IVar4);\n lStack_208 = 0;\n local_210 = 0;\n uStack_1f8 = 0;\n local_200 = (long *)0x0;\n uStack_1e8 = 0;\n local_1f0 = 0;\n uStack_1d8 = 0;\n uStack_1e0 = 0;\n local_268 = objc_stub::countByEnumeratingWithState_objects_count_\n (self,&local_210,auStack_f0,0x10);\n puVar2 = PTR____kCFBooleanTrue_1000a8128;\n if (local_268 != 0) {\n lVar9 = *local_200;\n do {\n IVar4 = 0;\n do {\n if (*local_200 != lVar9) {\n _objc_enumerationMutation(self);\n }\n IVar5 = *(ID *)(lStack_208 + IVar4 * 8);\n IVar6 = objc_stub::objectForKeyedSubscript_(IVar5,&cf_addTargetButton);\n IVar6 = objc_stub::boolValue(IVar6);\n if ((int)IVar6 != 0) {\n uStack_228 = 0;\n local_230 = 0;\n uStack_218 = 0;\n uStack_220 = 0;\n lStack_248 = 0;\n local_250 = 0;\n uStack_238 = 0;\n local_240 = (long *)0x0;\n IVar6 = NSMutableArray::countByEnumeratingWithState_objects_count_\n (IVar3,&local_250,auStack_170,0x10);\n if (IVar6 != 0) {\n lVar10 = *local_240;\n do {\n IVar11 = 0;\n do {\n if (*local_240 != lVar10) {\n _objc_enumerationMutation(IVar3);\n }\n IVar7 = objc_stub::integerValue(*(ID *)(lStack_248 + IVar11 * 8));\n local_1d0 = &cf_id;\n IVar8 = IVar7;\n if (0x7e < IVar7) {\n IVar8 = 0x7f;\n }\n uVar1 = 0x22;\n if (0 < (long)IVar7) {\n uVar1 = (int)IVar8 + 1000;\n }\n local_1a0 = NSNumber::numberWithUnsignedInt_\n ((ID)&_OBJC_CLASS___NSNumber,(ulong)uVar1);\n local_1c8 = &cf_title;\n local_198 = NSString::stringWithFormat_((ID)&_OBJC_CLASS___NSString,&cf_Nir_);\n pcStack_190 = &cf_button;\n local_1c0 = &cf_kind;\n pcStack_1b8 = &cf_targetIndex;\n local_188 = NSNumber::numberWithInteger_((ID)&_OBJC_CLASS___NSNumber,IVar7);\n puStack_180 = puVar2;\n local_1b0 = &cf_hideEye;\n pcStack_1a8 = &cf_deletable;\n local_178 = NSNumber::numberWithInt_\n ((ID)&_OBJC_CLASS___NSNumber,(ulong)(0 < (long)IVar7));\n IVar8 = NSDictionary::dictionaryWithObjects_forKeys_count_\n ((ID)&_OBJC_CLASS___NSDictionary,&local_1a0,&local_1d0,6);\n NSMutableArray::addObject_(local_278,IVar8);\n IVar11 = IVar11 + 1;\n } while (IVar6 != IVar11);\n IVar6 = NSMutableArray::countByEnumeratingWithState_objects_count_\n (IVar3,&local_250,auStack_170,0x10);\n } while (IVar6 != 0);\n }\n }\n NSMutableArray::addObject_(local_278,IVar5);\n IVar4 = IVar4 + 1;\n } while (IVar4 != local_268);\n local_268 = objc_stub::countByEnumeratingWithState_objects_count_\n (self,&local_210,auStack_f0,0x10);\n } while (local_268 != 0);\n }\n }\n if (*(long *)PTR____stack_chk_guard_1000a80e8 == local_70) {\n return local_278;\n }\n /* WARNING: Subroutine does not return */\n ___stack_chk_fail();\n}\n\n", "operation": "procedure_pseudo_code", "parameters": { "procedure": "0x10000c18c" }, "predicate_type": "rea.analysis", "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" }, "raw_result": { "limitations": [ "Ghidra Listing reports a terminal call at 0x10000c4cc to 0x10007aca0 ___stack_chk_fail (external=false, thunk=true, hasNoReturn=true); fallthrough is excluded by Ghidra's flow model. This records Ghidra's FunctionManager flag, not an independent verification that the callee cannot return." ], "value": "\n/* Function Stack Size: 0x20 bytes */\n\nID MSSSkinControlPanelView::visibleControlsForSection_controlPanelValue_\n (ID param_1,SEL param_2,ID param_3,ID param_4)\n\n{\n uint uVar1;\n undefined *puVar2;\n ID self;\n ID IVar3;\n ID IVar4;\n ID IVar5;\n ID IVar6;\n ID IVar7;\n ID IVar8;\n long extraout_x1;\n long lVar9;\n long lVar10;\n ID IVar11;\n ID local_278;\n ID local_268;\n undefined8 local_250;\n long lStack_248;\n long *local_240;\n undefined8 uStack_238;\n undefined8 local_230;\n undefined8 uStack_228;\n undefined8 uStack_220;\n undefined8 uStack_218;\n undefined8 local_210;\n long lStack_208;\n long *local_200;\n undefined8 uStack_1f8;\n undefined8 local_1f0;\n undefined8 uStack_1e8;\n undefined8 uStack_1e0;\n undefined8 uStack_1d8;\n cfstringStruct *local_1d0;\n cfstringStruct *local_1c8;\n cfstringStruct *local_1c0;\n cfstringStruct *pcStack_1b8;\n cfstringStruct *local_1b0;\n cfstringStruct *pcStack_1a8;\n ID local_1a0;\n ID local_198;\n cfstringStruct *pcStack_190;\n ID local_188;\n undefined *puStack_180;\n ID local_178;\n undefined1 auStack_170 [128];\n undefined1 auStack_f0 [128];\n long local_70;\n \n local_70 = *(long *)PTR____stack_chk_guard_1000a80e8;\n self = objc_stub::objectForKeyedSubscript_(param_3,&cf_controls);\n IVar3 = objc_stub::objectForKeyedSubscript_(param_3,&cf_headerID);\n IVar3 = objc_stub::unsignedIntValue(IVar3);\n local_278 = self;\n if ((int)IVar3 == 0xca) {\n lVar9 = extraout_x1;\n FUN_10000c4d0(param_4);\n FUN_100018160(param_4);\n IVar3 = NSMutableArray::arrayWithCapacity_((ID)&_OBJC_CLASS___NSMutableArray,lVar9);\n for (; lVar9 != 0; lVar9 = lVar9 + -1) {\n IVar4 = NSNumber::numberWithInteger_((ID)&_OBJC_CLASS___NSNumber,param_4);\n NSMutableArray::addObject_(IVar3,IVar4);\n param_4 = param_4 + 1;\n }\n IVar4 = objc_stub::count(self);\n IVar5 = NSMutableArray::count(IVar3);\n local_278 = NSMutableArray::arrayWithCapacity_((ID)&_OBJC_CLASS___NSMutableArray,IVar5 + IVar4);\n lStack_208 = 0;\n local_210 = 0;\n uStack_1f8 = 0;\n local_200 = (long *)0x0;\n uStack_1e8 = 0;\n local_1f0 = 0;\n uStack_1d8 = 0;\n uStack_1e0 = 0;\n local_268 = objc_stub::countByEnumeratingWithState_objects_count_\n (self,&local_210,auStack_f0,0x10);\n puVar2 = PTR____kCFBooleanTrue_1000a8128;\n if (local_268 != 0) {\n lVar9 = *local_200;\n do {\n IVar4 = 0;\n do {\n if (*local_200 != lVar9) {\n _objc_enumerationMutation(self);\n }\n IVar5 = *(ID *)(lStack_208 + IVar4 * 8);\n IVar6 = objc_stub::objectForKeyedSubscript_(IVar5,&cf_addTargetButton);\n IVar6 = objc_stub::boolValue(IVar6);\n if ((int)IVar6 != 0) {\n uStack_228 = 0;\n local_230 = 0;\n uStack_218 = 0;\n uStack_220 = 0;\n lStack_248 = 0;\n local_250 = 0;\n uStack_238 = 0;\n local_240 = (long *)0x0;\n IVar6 = NSMutableArray::countByEnumeratingWithState_objects_count_\n (IVar3,&local_250,auStack_170,0x10);\n if (IVar6 != 0) {\n lVar10 = *local_240;\n do {\n IVar11 = 0;\n do {\n if (*local_240 != lVar10) {\n _objc_enumerationMutation(IVar3);\n }\n IVar7 = objc_stub::integerValue(*(ID *)(lStack_248 + IVar11 * 8));\n local_1d0 = &cf_id;\n IVar8 = IVar7;\n if (0x7e < IVar7) {\n IVar8 = 0x7f;\n }\n uVar1 = 0x22;\n if (0 < (long)IVar7) {\n uVar1 = (int)IVar8 + 1000;\n }\n local_1a0 = NSNumber::numberWithUnsignedInt_\n ((ID)&_OBJC_CLASS___NSNumber,(ulong)uVar1);\n local_1c8 = &cf_title;\n local_198 = NSString::stringWithFormat_((ID)&_OBJC_CLASS___NSString,&cf_Nir_);\n pcStack_190 = &cf_button;\n local_1c0 = &cf_kind;\n pcStack_1b8 = &cf_targetIndex;\n local_188 = NSNumber::numberWithInteger_((ID)&_OBJC_CLASS___NSNumber,IVar7);\n puStack_180 = puVar2;\n local_1b0 = &cf_hideEye;\n pcStack_1a8 = &cf_deletable;\n local_178 = NSNumber::numberWithInt_\n ((ID)&_OBJC_CLASS___NSNumber,(ulong)(0 < (long)IVar7));\n IVar8 = NSDictionary::dictionaryWithObjects_forKeys_count_\n ((ID)&_OBJC_CLASS___NSDictionary,&local_1a0,&local_1d0,6);\n NSMutableArray::addObject_(local_278,IVar8);\n IVar11 = IVar11 + 1;\n } while (IVar6 != IVar11);\n IVar6 = NSMutableArray::countByEnumeratingWithState_objects_count_\n (IVar3,&local_250,auStack_170,0x10);\n } while (IVar6 != 0);\n }\n }\n NSMutableArray::addObject_(local_278,IVar5);\n IVar4 = IVar4 + 1;\n } while (IVar4 != local_268);\n local_268 = objc_stub::countByEnumeratingWithState_objects_count_\n (self,&local_210,auStack_f0,0x10);\n } while (local_268 != 0);\n }\n }\n if (*(long *)PTR____stack_chk_guard_1000a80e8 == local_70) {\n return local_278;\n }\n /* WARNING: Subroutine does not return */\n ___stack_chk_fail();\n}\n\n" }, "subject": { "architecture": "arm64", "digest": { "sha256": "afc71d0d21fd3c1ca95ca745ddafcd729e36ad95f17d8638009f2e45d9b7e8df" }, "format": "mach-o", "local_path": "/Users/dayu/Documents/PaintFCP/build/body-analysis/MSE18V2-arm64", "name": "MSE18V2-arm64" } }, { "analysis_profile": { "digest": "20565088524a2d0359b9b96f46ac48e679d774c7b0092c56abc06de8fdbec11c", "parameters": { "analyzer_preset": "ghidra-default", "annotation_policy": "atomic-function-entry-metadata-v1", "architecture": "arm64", "available_architectures": [ "arm64" ], "compiler_spec_id": "auto-default", "decompiler_jump_loads": true, "function_body_evidence": "complete-inclusive-ranges-v1", "function_boundary_observations": "ghidra-terminal-call-limitations-v1", "function_references": "complete-body-and-entry-reference-manager-v2", "import_mode": "ephemeral-source-immutable", "instruction_flow_evidence": "decoded-return-pcode-v1", "jump_table_evidence": "typed-case-default-blocks-v1", "language_id": "auto-from-header", "load_image_observations": "source-mappings-entry-context-v2", "loader": "auto-from-header", "location_resolution": "explicit-address-exact-entry-symbol-first-v3", "no_return_repair": "returning-imports-decoded-return-v2", "process_launch": "inspected-jvm-launch-support-v1", "string_inventory_evidence": "defined-data-coverage-v1", "target_format": "mach-o", "target_kind": "executable" }, "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" } }, "authority": "shipped-artifact", "confidence": "observed", "environment": null, "evidence_id": "ev_f0f9ded4bb2ed70150ccc49b7b46c68937c5e6205935976a614b94ceea515696", "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_10002ee0c(double param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4,ID param_5)\n\n{\n ID IVar1;\n undefined8 uVar2;\n undefined8 uVar3;\n double dVar4;\n double dVar5;\n undefined8 uVar6;\n undefined8 uVar7;\n undefined8 uVar8;\n undefined8 uVar9;\n undefined8 local_e0;\n undefined8 uStack_d8;\n undefined8 uStack_d0;\n undefined8 uStack_c8;\n undefined8 local_c0;\n undefined8 uStack_b8;\n undefined8 local_b0;\n undefined8 uStack_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 undefined8 local_70;\n undefined8 uStack_68;\n undefined8 local_60;\n undefined8 uStack_58;\n \n if ((param_5 != 0) && (IVar1 = param_5, _CGRectIsEmpty(), (IVar1 & 1) == 0)) {\n uVar6 = *(undefined8 *)(PTR__CGAffineTransformIdentity_1000a8138 + 8);\n uVar2 = *(undefined8 *)PTR__CGAffineTransformIdentity_1000a8138;\n uVar9 = *(undefined8 *)(PTR__CGAffineTransformIdentity_1000a8138 + 0x18);\n uVar8 = *(undefined8 *)(PTR__CGAffineTransformIdentity_1000a8138 + 0x10);\n uVar7 = *(undefined8 *)(PTR__CGAffineTransformIdentity_1000a8138 + 0x28);\n uVar3 = *(undefined8 *)(PTR__CGAffineTransformIdentity_1000a8138 + 0x20);\n dVar4 = param_1;\n local_80 = uVar2;\n uStack_78 = uVar6;\n local_70 = uVar8;\n uStack_68 = uVar9;\n local_60 = uVar3;\n uStack_58 = uVar7;\n _CGRectGetMinY(param_1,param_2,param_3,param_4);\n dVar5 = param_1;\n _CGRectGetMaxY(param_1,param_2,param_3,param_4);\n local_b0 = uVar2;\n uStack_a8 = uVar6;\n local_a0 = uVar8;\n uStack_98 = uVar9;\n local_90 = uVar3;\n uStack_88 = uVar7;\n _CGAffineTransformTranslate(&local_80,0,dVar4 + dVar5,&local_b0);\n uStack_d8 = uStack_78;\n local_e0 = local_80;\n uStack_c8 = uStack_68;\n uStack_d0 = local_70;\n uStack_b8 = uStack_58;\n local_c0 = local_60;\n _CGAffineTransformScale(&local_b0,0x3ff0000000000000,0xbff0000000000000,&local_e0);\n uStack_68 = uStack_98;\n local_70 = local_a0;\n uStack_58 = uStack_88;\n local_60 = local_90;\n uStack_78 = uStack_a8;\n local_80 = local_b0;\n IVar1 = objc_stub::imageByApplyingTransform_(param_5,&local_b0);\n param_5 = objc_stub::imageByCroppingToRect_(IVar1,param_1,param_2,param_3,param_4);\n }\n return param_5;\n}\n\n", "operation": "procedure_pseudo_code", "parameters": { "procedure": "0x10002ee0c" }, "predicate_type": "rea.analysis", "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" }, "raw_result": { "limitations": [], "value": "\nID FUN_10002ee0c(double param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4,ID param_5)\n\n{\n ID IVar1;\n undefined8 uVar2;\n undefined8 uVar3;\n double dVar4;\n double dVar5;\n undefined8 uVar6;\n undefined8 uVar7;\n undefined8 uVar8;\n undefined8 uVar9;\n undefined8 local_e0;\n undefined8 uStack_d8;\n undefined8 uStack_d0;\n undefined8 uStack_c8;\n undefined8 local_c0;\n undefined8 uStack_b8;\n undefined8 local_b0;\n undefined8 uStack_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 undefined8 local_70;\n undefined8 uStack_68;\n undefined8 local_60;\n undefined8 uStack_58;\n \n if ((param_5 != 0) && (IVar1 = param_5, _CGRectIsEmpty(), (IVar1 & 1) == 0)) {\n uVar6 = *(undefined8 *)(PTR__CGAffineTransformIdentity_1000a8138 + 8);\n uVar2 = *(undefined8 *)PTR__CGAffineTransformIdentity_1000a8138;\n uVar9 = *(undefined8 *)(PTR__CGAffineTransformIdentity_1000a8138 + 0x18);\n uVar8 = *(undefined8 *)(PTR__CGAffineTransformIdentity_1000a8138 + 0x10);\n uVar7 = *(undefined8 *)(PTR__CGAffineTransformIdentity_1000a8138 + 0x28);\n uVar3 = *(undefined8 *)(PTR__CGAffineTransformIdentity_1000a8138 + 0x20);\n dVar4 = param_1;\n local_80 = uVar2;\n uStack_78 = uVar6;\n local_70 = uVar8;\n uStack_68 = uVar9;\n local_60 = uVar3;\n uStack_58 = uVar7;\n _CGRectGetMinY(param_1,param_2,param_3,param_4);\n dVar5 = param_1;\n _CGRectGetMaxY(param_1,param_2,param_3,param_4);\n local_b0 = uVar2;\n uStack_a8 = uVar6;\n local_a0 = uVar8;\n uStack_98 = uVar9;\n local_90 = uVar3;\n uStack_88 = uVar7;\n _CGAffineTransformTranslate(&local_80,0,dVar4 + dVar5,&local_b0);\n uStack_d8 = uStack_78;\n local_e0 = local_80;\n uStack_c8 = uStack_68;\n uStack_d0 = local_70;\n uStack_b8 = uStack_58;\n local_c0 = local_60;\n _CGAffineTransformScale(&local_b0,0x3ff0000000000000,0xbff0000000000000,&local_e0);\n uStack_68 = uStack_98;\n local_70 = local_a0;\n uStack_58 = uStack_88;\n local_60 = local_90;\n uStack_78 = uStack_a8;\n local_80 = local_b0;\n IVar1 = objc_stub::imageByApplyingTransform_(param_5,&local_b0);\n param_5 = objc_stub::imageByCroppingToRect_(IVar1,param_1,param_2,param_3,param_4);\n }\n return param_5;\n}\n\n" }, "subject": { "architecture": "arm64", "digest": { "sha256": "afc71d0d21fd3c1ca95ca745ddafcd729e36ad95f17d8638009f2e45d9b7e8df" }, "format": "mach-o", "local_path": "/Users/dayu/Documents/PaintFCP/build/body-analysis/MSE18V2-arm64", "name": "MSE18V2-arm64" } }, { "analysis_profile": { "digest": "20565088524a2d0359b9b96f46ac48e679d774c7b0092c56abc06de8fdbec11c", "parameters": { "analyzer_preset": "ghidra-default", "annotation_policy": "atomic-function-entry-metadata-v1", "architecture": "arm64", "available_architectures": [ "arm64" ], "compiler_spec_id": "auto-default", "decompiler_jump_loads": true, "function_body_evidence": "complete-inclusive-ranges-v1", "function_boundary_observations": "ghidra-terminal-call-limitations-v1", "function_references": "complete-body-and-entry-reference-manager-v2", "import_mode": "ephemeral-source-immutable", "instruction_flow_evidence": "decoded-return-pcode-v1", "jump_table_evidence": "typed-case-default-blocks-v1", "language_id": "auto-from-header", "load_image_observations": "source-mappings-entry-context-v2", "loader": "auto-from-header", "location_resolution": "explicit-address-exact-entry-symbol-first-v3", "no_return_repair": "returning-imports-decoded-return-v2", "process_launch": "inspected-jvm-launch-support-v1", "string_inventory_evidence": "defined-data-coverage-v1", "target_format": "mach-o", "target_kind": "executable" }, "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" } }, "authority": "shipped-artifact", "confidence": "observed", "environment": null, "evidence_id": "ev_f90a13efef3e41010b8b44cf22ab0ecdc6864b251e23af6c6fb4c0c4f9f1fdc7", "evidence_links": [], "limitations": [ "The session serves operations only after Ghidra reports default auto-analysis complete; incomplete analysis does not expose partial results.", "The imported Program and temporary project are ephemeral and deleted on close. Annotation operations edit session database metadata; original executable bytes are never written.", "Cancelling an active Ghidra request terminates its ephemeral database and discards session annotations. The selected target remains open; the next provider query imports the original artifact again.", "Default-space addresses use lowercase 0x-prefixed hexadecimal; other address spaces use :0x.", "The direct address list projects exact Ghidra references to one address but does not expose their kinds; procedure_references and analyze_function preserve available kind metadata.", "Synthetic Ghidra entry-point references without actionable memory sources are omitted.", "macOS sessions require a matching executable Ghidra native decompiler; REA checks for it but does not build native components or change Gatekeeper quarantine state." ], "locations": [], "normalized_result": [ "0x1000799e8" ], "operation": "xrefs", "parameters": { "address": "0x1000a8f58" }, "predicate_type": "rea.analysis", "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" }, "raw_result": [ "0x1000799e8" ], "subject": { "architecture": "arm64", "digest": { "sha256": "afc71d0d21fd3c1ca95ca745ddafcd729e36ad95f17d8638009f2e45d9b7e8df" }, "format": "mach-o", "local_path": "/Users/dayu/Documents/PaintFCP/build/body-analysis/MSE18V2-arm64", "name": "MSE18V2-arm64" } }, { "analysis_profile": { "digest": "20565088524a2d0359b9b96f46ac48e679d774c7b0092c56abc06de8fdbec11c", "parameters": { "analyzer_preset": "ghidra-default", "annotation_policy": "atomic-function-entry-metadata-v1", "architecture": "arm64", "available_architectures": [ "arm64" ], "compiler_spec_id": "auto-default", "decompiler_jump_loads": true, "function_body_evidence": "complete-inclusive-ranges-v1", "function_boundary_observations": "ghidra-terminal-call-limitations-v1", "function_references": "complete-body-and-entry-reference-manager-v2", "import_mode": "ephemeral-source-immutable", "instruction_flow_evidence": "decoded-return-pcode-v1", "jump_table_evidence": "typed-case-default-blocks-v1", "language_id": "auto-from-header", "load_image_observations": "source-mappings-entry-context-v2", "loader": "auto-from-header", "location_resolution": "explicit-address-exact-entry-symbol-first-v3", "no_return_repair": "returning-imports-decoded-return-v2", "process_launch": "inspected-jvm-launch-support-v1", "string_inventory_evidence": "defined-data-coverage-v1", "target_format": "mach-o", "target_kind": "executable" }, "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" } }, "authority": "shipped-artifact", "confidence": "observed", "environment": null, "evidence_id": "ev_f9c0e9c7e69e78756b7c28011db79a12bb9bae3f5088c55499d15630fa8d6ee8", "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_100043338(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 undefined8 param_9,undefined8 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 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_1000a8140 + 8);\n local_a0 = *(double *)PTR__CGPointZero_1000a8140;\n local_b0 = 0.0;\n local_a8 = 0.0;\n local_90 = local_a0;\n local_88 = dStack_98;\n FUN_100054d78(param_9,&local_90,&local_a8);\n FUN_100054d78(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 dVar9 = (local_88 * dStack_98 + local_a0 * local_90) / (local_a8 * local_b0);\n dVar8 = 1.0;\n if (dVar9 <= 1.0) {\n dVar8 = dVar9;\n }\n dVar2 = -1.0;\n if (-1.0 <= dVar9) {\n dVar2 = dVar8;\n }\n goto joined_r0x000100043400;\n }\n }\n dVar2 = NAN;\njoined_r0x000100043400:\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 (FUN_1000549d4(param_1,param_2,param_3,param_4,param_5,param_6,param_7), uVar6 != 0)) {\n _CGRectGetHeight(param_1,param_2,param_3,param_4);\n _CGRectGetHeight(param_5,param_6,param_7,param_8);\n }\n return;\n}\n\n", "operation": "procedure_pseudo_code", "parameters": { "procedure": "0x100043338" }, "predicate_type": "rea.analysis", "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" }, "raw_result": { "limitations": [], "value": "\nvoid FUN_100043338(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 undefined8 param_9,undefined8 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 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_1000a8140 + 8);\n local_a0 = *(double *)PTR__CGPointZero_1000a8140;\n local_b0 = 0.0;\n local_a8 = 0.0;\n local_90 = local_a0;\n local_88 = dStack_98;\n FUN_100054d78(param_9,&local_90,&local_a8);\n FUN_100054d78(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 dVar9 = (local_88 * dStack_98 + local_a0 * local_90) / (local_a8 * local_b0);\n dVar8 = 1.0;\n if (dVar9 <= 1.0) {\n dVar8 = dVar9;\n }\n dVar2 = -1.0;\n if (-1.0 <= dVar9) {\n dVar2 = dVar8;\n }\n goto joined_r0x000100043400;\n }\n }\n dVar2 = NAN;\njoined_r0x000100043400:\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 (FUN_1000549d4(param_1,param_2,param_3,param_4,param_5,param_6,param_7), uVar6 != 0)) {\n _CGRectGetHeight(param_1,param_2,param_3,param_4);\n _CGRectGetHeight(param_5,param_6,param_7,param_8);\n }\n return;\n}\n\n" }, "subject": { "architecture": "arm64", "digest": { "sha256": "afc71d0d21fd3c1ca95ca745ddafcd729e36ad95f17d8638009f2e45d9b7e8df" }, "format": "mach-o", "local_path": "/Users/dayu/Documents/PaintFCP/build/body-analysis/MSE18V2-arm64", "name": "MSE18V2-arm64" } }, { "analysis_profile": { "digest": "20565088524a2d0359b9b96f46ac48e679d774c7b0092c56abc06de8fdbec11c", "parameters": { "analyzer_preset": "ghidra-default", "annotation_policy": "atomic-function-entry-metadata-v1", "architecture": "arm64", "available_architectures": [ "arm64" ], "compiler_spec_id": "auto-default", "decompiler_jump_loads": true, "function_body_evidence": "complete-inclusive-ranges-v1", "function_boundary_observations": "ghidra-terminal-call-limitations-v1", "function_references": "complete-body-and-entry-reference-manager-v2", "import_mode": "ephemeral-source-immutable", "instruction_flow_evidence": "decoded-return-pcode-v1", "jump_table_evidence": "typed-case-default-blocks-v1", "language_id": "auto-from-header", "load_image_observations": "source-mappings-entry-context-v2", "loader": "auto-from-header", "location_resolution": "explicit-address-exact-entry-symbol-first-v3", "no_return_repair": "returning-imports-decoded-return-v2", "process_launch": "inspected-jvm-launch-support-v1", "string_inventory_evidence": "defined-data-coverage-v1", "target_format": "mach-o", "target_kind": "executable" }, "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" } }, "authority": "shipped-artifact", "confidence": "observed", "environment": null, "evidence_id": "ev_fa2e076ee32cbf3894515a5e2c122049bd11804fab211933a733621ba8041e4b", "evidence_links": [], "limitations": [ "The session serves operations only after Ghidra reports default auto-analysis complete; incomplete analysis does not expose partial results.", "The imported Program and temporary project are ephemeral and deleted on close. Annotation operations edit session database metadata; original executable bytes are never written.", "Cancelling an active Ghidra request terminates its ephemeral database and discards session annotations. The selected target remains open; the next provider query imports the original artifact again.", "Default-space addresses use lowercase 0x-prefixed hexadecimal; other address spaces use :0x.", "Bytes reflect Ghidra's initialized memory, including loader fixups. Reads stop at an unmapped or uninitialized byte and report completeness explicitly.", "macOS sessions require a matching executable Ghidra native decompiler; REA checks for it but does not build native components or change Gatekeeper quarantine state." ], "locations": [], "normalized_result": { "address": "0x100086228", "bytes_hex": "666666666666d63f", "complete": true, "requested_bytes": 8, "returned_bytes": 8 }, "operation": "read_bytes", "parameters": { "address": "0x100086228", "length": 8 }, "predicate_type": "rea.analysis", "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" }, "raw_result": { "address": "0x100086228", "bytes_hex": "666666666666d63f", "complete": true, "requested_bytes": 8, "returned_bytes": 8 }, "subject": { "architecture": "arm64", "digest": { "sha256": "afc71d0d21fd3c1ca95ca745ddafcd729e36ad95f17d8638009f2e45d9b7e8df" }, "format": "mach-o", "local_path": "/Users/dayu/Documents/PaintFCP/build/body-analysis/MSE18V2-arm64", "name": "MSE18V2-arm64" } }, { "analysis_profile": { "digest": "20565088524a2d0359b9b96f46ac48e679d774c7b0092c56abc06de8fdbec11c", "parameters": { "analyzer_preset": "ghidra-default", "annotation_policy": "atomic-function-entry-metadata-v1", "architecture": "arm64", "available_architectures": [ "arm64" ], "compiler_spec_id": "auto-default", "decompiler_jump_loads": true, "function_body_evidence": "complete-inclusive-ranges-v1", "function_boundary_observations": "ghidra-terminal-call-limitations-v1", "function_references": "complete-body-and-entry-reference-manager-v2", "import_mode": "ephemeral-source-immutable", "instruction_flow_evidence": "decoded-return-pcode-v1", "jump_table_evidence": "typed-case-default-blocks-v1", "language_id": "auto-from-header", "load_image_observations": "source-mappings-entry-context-v2", "loader": "auto-from-header", "location_resolution": "explicit-address-exact-entry-symbol-first-v3", "no_return_repair": "returning-imports-decoded-return-v2", "process_launch": "inspected-jvm-launch-support-v1", "string_inventory_evidence": "defined-data-coverage-v1", "target_format": "mach-o", "target_kind": "executable" }, "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" } }, "authority": "shipped-artifact", "confidence": "observed", "environment": null, "evidence_id": "ev_fdc9e7ba7cba32aaf779882b031e0226a9727810a56ebbe3d5e6b7f2d9ae99c0", "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_100054d78(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": "0x100054d78" }, "predicate_type": "rea.analysis", "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" }, "raw_result": { "limitations": [], "value": "\nundefined8 FUN_100054d78(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": "afc71d0d21fd3c1ca95ca745ddafcd729e36ad95f17d8638009f2e45d9b7e8df" }, "format": "mach-o", "local_path": "/Users/dayu/Documents/PaintFCP/build/body-analysis/MSE18V2-arm64", "name": "MSE18V2-arm64" } }, { "analysis_profile": { "digest": "20565088524a2d0359b9b96f46ac48e679d774c7b0092c56abc06de8fdbec11c", "parameters": { "analyzer_preset": "ghidra-default", "annotation_policy": "atomic-function-entry-metadata-v1", "architecture": "arm64", "available_architectures": [ "arm64" ], "compiler_spec_id": "auto-default", "decompiler_jump_loads": true, "function_body_evidence": "complete-inclusive-ranges-v1", "function_boundary_observations": "ghidra-terminal-call-limitations-v1", "function_references": "complete-body-and-entry-reference-manager-v2", "import_mode": "ephemeral-source-immutable", "instruction_flow_evidence": "decoded-return-pcode-v1", "jump_table_evidence": "typed-case-default-blocks-v1", "language_id": "auto-from-header", "load_image_observations": "source-mappings-entry-context-v2", "loader": "auto-from-header", "location_resolution": "explicit-address-exact-entry-symbol-first-v3", "no_return_repair": "returning-imports-decoded-return-v2", "process_launch": "inspected-jvm-launch-support-v1", "string_inventory_evidence": "defined-data-coverage-v1", "target_format": "mach-o", "target_kind": "executable" }, "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" } }, "authority": "shipped-artifact", "confidence": "observed", "environment": null, "evidence_id": "ev_fdff6a5ce2d8206a3e6bb15c8839c9595810eb261f4d74a641fe6abc6ef6a3b6", "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 0x10001b580 to 0x10007a910 _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_10001b070(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_1000a8140;\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": "0x10001b070" }, "predicate_type": "rea.analysis", "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" }, "raw_result": { "limitations": [ "Ghidra Listing reports a terminal call at 0x10001b580 to 0x10007a910 _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_10001b070(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_1000a8140;\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": "afc71d0d21fd3c1ca95ca745ddafcd729e36ad95f17d8638009f2e45d9b7e8df" }, "format": "mach-o", "local_path": "/Users/dayu/Documents/PaintFCP/build/body-analysis/MSE18V2-arm64", "name": "MSE18V2-arm64" } }, { "analysis_profile": { "digest": "20565088524a2d0359b9b96f46ac48e679d774c7b0092c56abc06de8fdbec11c", "parameters": { "analyzer_preset": "ghidra-default", "annotation_policy": "atomic-function-entry-metadata-v1", "architecture": "arm64", "available_architectures": [ "arm64" ], "compiler_spec_id": "auto-default", "decompiler_jump_loads": true, "function_body_evidence": "complete-inclusive-ranges-v1", "function_boundary_observations": "ghidra-terminal-call-limitations-v1", "function_references": "complete-body-and-entry-reference-manager-v2", "import_mode": "ephemeral-source-immutable", "instruction_flow_evidence": "decoded-return-pcode-v1", "jump_table_evidence": "typed-case-default-blocks-v1", "language_id": "auto-from-header", "load_image_observations": "source-mappings-entry-context-v2", "loader": "auto-from-header", "location_resolution": "explicit-address-exact-entry-symbol-first-v3", "no_return_repair": "returning-imports-decoded-return-v2", "process_launch": "inspected-jvm-launch-support-v1", "string_inventory_evidence": "defined-data-coverage-v1", "target_format": "mach-o", "target_kind": "executable" }, "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" } }, "authority": "shipped-artifact", "confidence": "observed", "environment": null, "evidence_id": "ev_ffd2c726d25e486ca8fc5efedbef3bb05109eb27699557be08d44ef8e777414e", "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": "0x10000ab00", "value": "MSSSkinControlPanelView::initWithFrame:apiManager:pluginHost:" } ], "operation": "search_procedures", "parameters": { "case_sensitive": false, "mode": "literal", "pattern": "MSSSkinControlPanelView::init" }, "predicate_type": "rea.analysis", "provider": { "id": "ghidra", "name": "Ghidra", "version": "12.1.4" }, "raw_result": [ { "address": "0x10000ab00", "value": "MSSSkinControlPanelView::initWithFrame:apiManager:pluginHost:" } ], "subject": { "architecture": "arm64", "digest": { "sha256": "afc71d0d21fd3c1ca95ca745ddafcd729e36ad95f17d8638009f2e45d9b7e8df" }, "format": "mach-o", "local_path": "/Users/dayu/Documents/PaintFCP/build/body-analysis/MSE18V2-arm64", "name": "MSE18V2-arm64" } } ], "scope": "2.4.0 additional static helpers and ABI checks for the tracking implementation. No target execution." }