{
  "evidence_id": "ev_68892edf770df75cc42fc1be47a9d4903c0d83d27739cd0d39c8b6083c071b16",
  "subject": {
    "name": "ms_flag_checker",
    "digest": {
      "sha256": "dcd3bec4f608e11f3a12ce461100aaf5f621851ee63a1f870d7c90d4e3dd51ae"
    },
    "local_path": "[workspace]/.qa/ctf/ms_flag_checker",
    "format": "elf",
    "architecture": "x86_64"
  },
  "provider": {
    "id": "ghidra",
    "name": "Ghidra",
    "version": "12.1.4"
  },
  "analysis_profile": {
    "provider": {
      "id": "ghidra",
      "name": "Ghidra",
      "version": "12.1.4"
    },
    "parameters": {
      "target_kind": "executable",
      "target_format": "elf",
      "architecture": "x86_64",
      "available_architectures": [
        "x86_64"
      ],
      "import_mode": "ephemeral-source-immutable",
      "annotation_policy": "atomic-function-entry-metadata-v1",
      "load_image_observations": "source-mappings-entry-context-v2",
      "function_body_evidence": "complete-inclusive-ranges-v1",
      "function_references": "complete-body-and-entry-reference-manager-v2",
      "call_relationship_coverage": "function-body-call-coverage-v5",
      "function_dossier_coverage": "observed-facets-and-call-relationships-v1",
      "string_inventory_evidence": "defined-data-coverage-v1",
      "location_resolution": "explicit-address-exact-entry-symbol-first-v3",
      "procedure_file_offset_resolution": "address-first-unique-target-source-mapping-v2",
      "instruction_flow_evidence": "decoded-return-pcode-v1",
      "instruction_references": "exact-address-incoming-without-synthetic-entry-v2",
      "function_boundary_observations": "ghidra-function-boundary-limitations-v4",
      "no_return_repair": "returning-imports-decoded-return-v2",
      "process_launch": "inspected-jvm-launch-support-v1",
      "jump_table_evidence": "typed-case-default-blocks-v1",
      "decompiler_jump_loads": true,
      "loader": "auto-from-header",
      "language_id": "auto-from-header",
      "compiler_spec_id": "auto-default",
      "analyzer_preset": "ghidra-default"
    },
    "digest": "769518a8e9b57f953dd241adbb63672f0f486bb3d66359b9deef7c5e088ca7aa"
  },
  "predicate_type": "rea.analysis",
  "operation": "analyze_function",
  "parameters": {
    "procedure": "0x101189"
  },
  "raw_result": {
    "value": {
      "procedure": {
        "address": "0x101189",
        "name": "FUN_00101189",
        "classification": {
          "external": false,
          "thunk": false,
          "thunk_target": null,
          "provenance": "ghidra-function-manager"
        },
        "body": {
          "available": true,
          "provenance": "ghidra-function-body-address-set",
          "ranges": [
            {
              "start": "0x101189",
              "end": "0x101216"
            }
          ],
          "total_bytes": 142,
          "span_bytes": 142,
          "non_contiguous": false,
          "contains_entry": true
        },
        "signature": "undefined FUN_00101189()",
        "locals": []
      },
      "pseudocode": "\nvoid FUN_00101189(char *param_1)\n\n{\n  char cVar1;\n  bool bVar2;\n  void *pvVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  \n  pvVar3 = malloc(0x90);\n  cVar1 = *param_1;\n  if (cVar1 != '\\0') {\n    iVar7 = 0;\n    iVar6 = 0;\n    do {\n      iVar8 = (int)cVar1;\n      param_1 = param_1 + 1;\n      bVar2 = iVar8 < 1;\n      if (bVar2) {\n        iVar8 = -iVar8;\n      }\n      iVar4 = 0;\n      iVar5 = iVar6;\n      do {\n        iVar6 = iVar5 + 1;\n        *(uint *)((long)pvVar3 + ((long)iVar5 + (long)iVar7 * 6) * 4) = (uint)!bVar2;\n        if (iVar6 == 6) {\n          iVar7 = iVar7 + 1;\n          iVar6 = 0;\n        }\n        iVar4 = iVar4 + 1;\n        iVar5 = iVar6;\n      } while (iVar8 != iVar4);\n      cVar1 = *param_1;\n    } while (cVar1 != '\\0');\n  }\n  return;\n}\n\n",
      "assembly": [
        "0x101189: PUSH RBP",
        "0x10118a: PUSH RBX",
        "0x10118b: SUB RSP, 0x8",
        "0x10118f: MOV RBX, RDI",
        "0x101192: MOV EDI, 0x90",
        "0x101197: CALL 0x00101060",
        "0x10119c: MOVSX R9D, byte ptr [RBX]",
        "0x1011a0: TEST R9D, R9D",
        "0x1011a3: JZ 0x00101210",
        "0x1011a5: LEA R11, [RBX + 0x1]",
        "0x1011a9: MOV R8D, 0x0",
        "0x1011af: MOV EDX, 0x0",
        "0x1011b4: MOV EBP, 0x1",
        "0x1011b9: MOV EBX, 0x0",
        "0x1011be: JMP 0x00101201",
        "0x1011c0: NEG R9D",
        "0x1011c3: MOV R10D, EBX",
        "0x1011c6: JMP 0x00101209",
        "0x1011c8: ADD ECX, 0x1",
        "0x1011cb: CMP R9D, ECX",
        "0x1011ce: JZ 0x001011f4",
        "0x1011d0: LEA ESI, [RDX + 0x1]",
        "0x1011d3: MOVSXD RDX, EDX",
        "0x1011d6: MOVSXD RDI, R8D",
        "0x1011d9: LEA RDI, [RDI + RDI*0x2]",
        "0x1011dd: LEA RDX, [RDX + RDI*0x2]",
        "0x1011e1: MOV dword ptr [RAX + RDX*0x4], R10D",
        "0x1011e5: MOV EDX, ESI",
        "0x1011e7: CMP ESI, 0x6",
        "0x1011ea: JNZ 0x001011c8",
        "0x1011ec: ADD R8D, 0x1",
        "0x1011f0: MOV EDX, EBX",
        "0x1011f2: JMP 0x001011c8",
        "0x1011f4: MOVSX R9D, byte ptr [R11]",
        "0x1011f8: ADD R11, 0x1",
        "0x1011fc: TEST R9D, R9D",
        "0x1011ff: JZ 0x00101210",
        "0x101201: MOV R10D, EBP",
        "0x101204: TEST R9D, R9D",
        "0x101207: JLE 0x001011c0",
        "0x101209: MOV ECX, 0x0",
        "0x10120e: JMP 0x001011d0",
        "0x101210: ADD RSP, 0x8",
        "0x101214: POP RBX",
        "0x101215: POP RBP",
        "0x101216: RET"
      ],
      "comments": [],
      "callers": [
        {
          "address": "0x10124d",
          "name": "FUN_0010124d",
          "classification": {
            "external": false,
            "thunk": false,
            "thunk_target": null,
            "provenance": "ghidra-function-manager"
          },
          "body": {
            "available": true,
            "provenance": "ghidra-function-body-address-set",
            "ranges": [
              {
                "start": "0x10124d",
                "end": "0x10134f"
              }
            ],
            "total_bytes": 259,
            "span_bytes": 259,
            "non_contiguous": false,
            "contains_entry": true
          }
        }
      ],
      "callees": [
        {
          "address": "0x101060",
          "name": "<EXTERNAL>::malloc",
          "classification": {
            "external": false,
            "thunk": true,
            "thunk_target": "0x105030",
            "provenance": "ghidra-function-manager"
          },
          "body": {
            "available": true,
            "provenance": "ghidra-function-body-address-set",
            "ranges": [
              {
                "start": "0x101060",
                "end": "0x101065"
              }
            ],
            "total_bytes": 6,
            "span_bytes": 6,
            "non_contiguous": false,
            "contains_entry": true
          }
        }
      ],
      "incoming_references": [
        {
          "source_address": "0x1012e1",
          "target_address": "0x101189",
          "source_procedure": {
            "address": "0x10124d",
            "name": "FUN_0010124d",
            "classification": {
              "external": false,
              "thunk": false,
              "thunk_target": null,
              "provenance": "ghidra-function-manager"
            },
            "body": {
              "available": true,
              "provenance": "ghidra-function-body-address-set",
              "ranges": [
                {
                  "start": "0x10124d",
                  "end": "0x10134f"
                }
              ],
              "total_bytes": 259,
              "span_bytes": 259,
              "non_contiguous": false,
              "contains_entry": true
            }
          },
          "target_procedure": {
            "address": "0x101189",
            "name": "FUN_00101189",
            "classification": {
              "external": false,
              "thunk": false,
              "thunk_target": null,
              "provenance": "ghidra-function-manager"
            },
            "body": {
              "available": true,
              "provenance": "ghidra-function-body-address-set",
              "ranges": [
                {
                  "start": "0x101189",
                  "end": "0x101216"
                }
              ],
              "total_bytes": 142,
              "span_bytes": 142,
              "non_contiguous": false,
              "contains_entry": true
            }
          },
          "kind": {
            "available": true,
            "provenance": "ghidra-reference-manager",
            "type": "UNCONDITIONAL_CALL",
            "flow": true,
            "call": true,
            "jump": false,
            "data": false,
            "read": false,
            "write": false,
            "indirect": false,
            "computed": false,
            "conditional": false,
            "terminal": false,
            "primary": true,
            "operand_index": 0,
            "external": false
          }
        },
        {
          "source_address": "0x10204c",
          "target_address": "0x101189",
          "source_procedure": null,
          "target_procedure": {
            "address": "0x101189",
            "name": "FUN_00101189",
            "classification": {
              "external": false,
              "thunk": false,
              "thunk_target": null,
              "provenance": "ghidra-function-manager"
            },
            "body": {
              "available": true,
              "provenance": "ghidra-function-body-address-set",
              "ranges": [
                {
                  "start": "0x101189",
                  "end": "0x101216"
                }
              ],
              "total_bytes": 142,
              "span_bytes": 142,
              "non_contiguous": false,
              "contains_entry": true
            }
          },
          "kind": {
            "available": true,
            "provenance": "ghidra-reference-manager",
            "type": "INDIRECTION",
            "flow": true,
            "call": false,
            "jump": false,
            "data": false,
            "read": false,
            "write": false,
            "indirect": true,
            "computed": false,
            "conditional": false,
            "terminal": false,
            "primary": true,
            "operand_index": 0,
            "external": false
          }
        },
        {
          "source_address": "0x1020c8",
          "target_address": "0x101189",
          "source_procedure": null,
          "target_procedure": {
            "address": "0x101189",
            "name": "FUN_00101189",
            "classification": {
              "external": false,
              "thunk": false,
              "thunk_target": null,
              "provenance": "ghidra-function-manager"
            },
            "body": {
              "available": true,
              "provenance": "ghidra-function-body-address-set",
              "ranges": [
                {
                  "start": "0x101189",
                  "end": "0x101216"
                }
              ],
              "total_bytes": 142,
              "span_bytes": 142,
              "non_contiguous": false,
              "contains_entry": true
            }
          },
          "kind": {
            "available": true,
            "provenance": "ghidra-reference-manager",
            "type": "DATA",
            "flow": false,
            "call": false,
            "jump": false,
            "data": true,
            "read": false,
            "write": false,
            "indirect": false,
            "computed": false,
            "conditional": false,
            "terminal": false,
            "primary": true,
            "operand_index": 0,
            "external": false
          }
        }
      ],
      "outgoing_references": [
        {
          "source_address": "0x101197",
          "target_address": "0x101060",
          "source_procedure": {
            "address": "0x101189",
            "name": "FUN_00101189",
            "classification": {
              "external": false,
              "thunk": false,
              "thunk_target": null,
              "provenance": "ghidra-function-manager"
            },
            "body": {
              "available": true,
              "provenance": "ghidra-function-body-address-set",
              "ranges": [
                {
                  "start": "0x101189",
                  "end": "0x101216"
                }
              ],
              "total_bytes": 142,
              "span_bytes": 142,
              "non_contiguous": false,
              "contains_entry": true
            }
          },
          "target_procedure": {
            "address": "0x101060",
            "name": "<EXTERNAL>::malloc",
            "classification": {
              "external": false,
              "thunk": true,
              "thunk_target": "0x105030",
              "provenance": "ghidra-function-manager"
            },
            "body": {
              "available": true,
              "provenance": "ghidra-function-body-address-set",
              "ranges": [
                {
                  "start": "0x101060",
                  "end": "0x101065"
                }
              ],
              "total_bytes": 6,
              "span_bytes": 6,
              "non_contiguous": false,
              "contains_entry": true
            }
          },
          "kind": {
            "available": true,
            "provenance": "ghidra-reference-manager",
            "type": "UNCONDITIONAL_CALL",
            "flow": true,
            "call": true,
            "jump": false,
            "data": false,
            "read": false,
            "write": false,
            "indirect": false,
            "computed": false,
            "conditional": false,
            "terminal": false,
            "primary": true,
            "operand_index": 0,
            "external": false
          }
        },
        {
          "source_address": "0x1011a3",
          "target_address": "0x101210",
          "source_procedure": {
            "address": "0x101189",
            "name": "FUN_00101189",
            "classification": {
              "external": false,
              "thunk": false,
              "thunk_target": null,
              "provenance": "ghidra-function-manager"
            },
            "body": {
              "available": true,
              "provenance": "ghidra-function-body-address-set",
              "ranges": [
                {
                  "start": "0x101189",
                  "end": "0x101216"
                }
              ],
              "total_bytes": 142,
              "span_bytes": 142,
              "non_contiguous": false,
              "contains_entry": true
            }
          },
          "target_procedure": {
            "address": "0x101189",
            "name": "FUN_00101189",
            "classification": {
              "external": false,
              "thunk": false,
              "thunk_target": null,
              "provenance": "ghidra-function-manager"
            },
            "body": {
              "available": true,
              "provenance": "ghidra-function-body-address-set",
              "ranges": [
                {
                  "start": "0x101189",
                  "end": "0x101216"
                }
              ],
              "total_bytes": 142,
              "span_bytes": 142,
              "non_contiguous": false,
              "contains_entry": true
            }
          },
          "kind": {
            "available": true,
            "provenance": "ghidra-reference-manager",
            "type": "CONDITIONAL_JUMP",
            "flow": true,
            "call": false,
            "jump": true,
            "data": false,
            "read": false,
            "write": false,
            "indirect": false,
            "computed": false,
            "conditional": true,
            "terminal": false,
            "primary": true,
            "operand_index": 0,
            "external": false
          }
        },
        {
          "source_address": "0x1011be",
          "target_address": "0x101201",
          "source_procedure": {
            "address": "0x101189",
            "name": "FUN_00101189",
            "classification": {
              "external": false,
              "thunk": false,
              "thunk_target": null,
              "provenance": "ghidra-function-manager"
            },
            "body": {
              "available": true,
              "provenance": "ghidra-function-body-address-set",
              "ranges": [
                {
                  "start": "0x101189",
                  "end": "0x101216"
                }
              ],
              "total_bytes": 142,
              "span_bytes": 142,
              "non_contiguous": false,
              "contains_entry": true
            }
          },
          "target_procedure": {
            "address": "0x101189",
            "name": "FUN_00101189",
            "classification": {
              "external": false,
              "thunk": false,
              "thunk_target": null,
              "provenance": "ghidra-function-manager"
            },
            "body": {
              "available": true,
              "provenance": "ghidra-function-body-address-set",
              "ranges": [
                {
                  "start": "0x101189",
                  "end": "0x101216"
                }
              ],
              "total_bytes": 142,
              "span_bytes": 142,
              "non_contiguous": false,
              "contains_entry": true
            }
          },
          "kind": {
            "available": true,
            "provenance": "ghidra-reference-manager",
            "type": "UNCONDITIONAL_JUMP",
            "flow": true,
            "call": false,
            "jump": true,
            "data": false,
            "read": false,
            "write": false,
            "indirect": false,
            "computed": false,
            "conditional": false,
            "terminal": false,
            "primary": true,
            "operand_index": 0,
            "external": false
          }
        },
        {
          "source_address": "0x1011c6",
          "target_address": "0x101209",
          "source_procedure": {
            "address": "0x101189",
            "name": "FUN_00101189",
            "classification": {
              "external": false,
              "thunk": false,
              "thunk_target": null,
              "provenance": "ghidra-function-manager"
            },
            "body": {
              "available": true,
              "provenance": "ghidra-function-body-address-set",
              "ranges": [
                {
                  "start": "0x101189",
                  "end": "0x101216"
                }
              ],
              "total_bytes": 142,
              "span_bytes": 142,
              "non_contiguous": false,
              "contains_entry": true
            }
          },
          "target_procedure": {
            "address": "0x101189",
            "name": "FUN_00101189",
            "classification": {
              "external": false,
              "thunk": false,
              "thunk_target": null,
              "provenance": "ghidra-function-manager"
            },
            "body": {
              "available": true,
              "provenance": "ghidra-function-body-address-set",
              "ranges": [
                {
                  "start": "0x101189",
                  "end": "0x101216"
                }
              ],
              "total_bytes": 142,
              "span_bytes": 142,
              "non_contiguous": false,
              "contains_entry": true
            }
          },
          "kind": {
            "available": true,
            "provenance": "ghidra-reference-manager",
            "type": "UNCONDITIONAL_JUMP",
            "flow": true,
            "call": false,
            "jump": true,
            "data": false,
            "read": false,
            "write": false,
            "indirect": false,
            "computed": false,
            "conditional": false,
            "terminal": false,
            "primary": true,
            "operand_index": 0,
            "external": false
          }
        },
        {
          "source_address": "0x1011ce",
          "target_address": "0x1011f4",
          "source_procedure": {
            "address": "0x101189",
            "name": "FUN_00101189",
            "classification": {
              "external": false,
              "thunk": false,
              "thunk_target": null,
              "provenance": "ghidra-function-manager"
            },
            "body": {
              "available": true,
              "provenance": "ghidra-function-body-address-set",
              "ranges": [
                {
                  "start": "0x101189",
                  "end": "0x101216"
                }
              ],
              "total_bytes": 142,
              "span_bytes": 142,
              "non_contiguous": false,
              "contains_entry": true
            }
          },
          "target_procedure": {
            "address": "0x101189",
            "name": "FUN_00101189",
            "classification": {
              "external": false,
              "thunk": false,
              "thunk_target": null,
              "provenance": "ghidra-function-manager"
            },
            "body": {
              "available": true,
              "provenance": "ghidra-function-body-address-set",
              "ranges": [
                {
                  "start": "0x101189",
                  "end": "0x101216"
                }
              ],
              "total_bytes": 142,
              "span_bytes": 142,
              "non_contiguous": false,
              "contains_entry": true
            }
          },
          "kind": {
            "available": true,
            "provenance": "ghidra-reference-manager",
            "type": "CONDITIONAL_JUMP",
            "flow": true,
            "call": false,
            "jump": true,
            "data": false,
            "read": false,
            "write": false,
            "indirect": false,
            "computed": false,
            "conditional": true,
            "terminal": false,
            "primary": true,
            "operand_index": 0,
            "external": false
          }
        },
        {
          "source_address": "0x1011ea",
          "target_address": "0x1011c8",
          "source_procedure": {
            "address": "0x101189",
            "name": "FUN_00101189",
            "classification": {
              "external": false,
              "thunk": false,
              "thunk_target": null,
              "provenance": "ghidra-function-manager"
            },
            "body": {
              "available": true,
              "provenance": "ghidra-function-body-address-set",
              "ranges": [
                {
                  "start": "0x101189",
                  "end": "0x101216"
                }
              ],
              "total_bytes": 142,
              "span_bytes": 142,
              "non_contiguous": false,
              "contains_entry": true
            }
          },
          "target_procedure": {
            "address": "0x101189",
            "name": "FUN_00101189",
            "classification": {
              "external": false,
              "thunk": false,
              "thunk_target": null,
              "provenance": "ghidra-function-manager"
            },
            "body": {
              "available": true,
              "provenance": "ghidra-function-body-address-set",
              "ranges": [
                {
                  "start": "0x101189",
                  "end": "0x101216"
                }
              ],
              "total_bytes": 142,
              "span_bytes": 142,
              "non_contiguous": false,
              "contains_entry": true
            }
          },
          "kind": {
            "available": true,
            "provenance": "ghidra-reference-manager",
            "type": "CONDITIONAL_JUMP",
            "flow": true,
            "call": false,
            "jump": true,
            "data": false,
            "read": false,
            "write": false,
            "indirect": false,
            "computed": false,
            "conditional": true,
            "terminal": false,
            "primary": true,
            "operand_index": 0,
            "external": false
          }
        },
        {
          "source_address": "0x1011f2",
          "target_address": "0x1011c8",
          "source_procedure": {
            "address": "0x101189",
            "name": "FUN_00101189",
            "classification": {
              "external": false,
              "thunk": false,
              "thunk_target": null,
              "provenance": "ghidra-function-manager"
            },
            "body": {
              "available": true,
              "provenance": "ghidra-function-body-address-set",
              "ranges": [
                {
                  "start": "0x101189",
                  "end": "0x101216"
                }
              ],
              "total_bytes": 142,
              "span_bytes": 142,
              "non_contiguous": false,
              "contains_entry": true
            }
          },
          "target_procedure": {
            "address": "0x101189",
            "name": "FUN_00101189",
            "classification": {
              "external": false,
              "thunk": false,
              "thunk_target": null,
              "provenance": "ghidra-function-manager"
            },
            "body": {
              "available": true,
              "provenance": "ghidra-function-body-address-set",
              "ranges": [
                {
                  "start": "0x101189",
                  "end": "0x101216"
                }
              ],
              "total_bytes": 142,
              "span_bytes": 142,
              "non_contiguous": false,
              "contains_entry": true
            }
          },
          "kind": {
            "available": true,
            "provenance": "ghidra-reference-manager",
            "type": "UNCONDITIONAL_JUMP",
            "flow": true,
            "call": false,
            "jump": true,
            "data": false,
            "read": false,
            "write": false,
            "indirect": false,
            "computed": false,
            "conditional": false,
            "terminal": false,
            "primary": true,
            "operand_index": 0,
            "external": false
          }
        },
        {
          "source_address": "0x1011ff",
          "target_address": "0x101210",
          "source_procedure": {
            "address": "0x101189",
            "name": "FUN_00101189",
            "classification": {
              "external": false,
              "thunk": false,
              "thunk_target": null,
              "provenance": "ghidra-function-manager"
            },
            "body": {
              "available": true,
              "provenance": "ghidra-function-body-address-set",
              "ranges": [
                {
                  "start": "0x101189",
                  "end": "0x101216"
                }
              ],
              "total_bytes": 142,
              "span_bytes": 142,
              "non_contiguous": false,
              "contains_entry": true
            }
          },
          "target_procedure": {
            "address": "0x101189",
            "name": "FUN_00101189",
            "classification": {
              "external": false,
              "thunk": false,
              "thunk_target": null,
              "provenance": "ghidra-function-manager"
            },
            "body": {
              "available": true,
              "provenance": "ghidra-function-body-address-set",
              "ranges": [
                {
                  "start": "0x101189",
                  "end": "0x101216"
                }
              ],
              "total_bytes": 142,
              "span_bytes": 142,
              "non_contiguous": false,
              "contains_entry": true
            }
          },
          "kind": {
            "available": true,
            "provenance": "ghidra-reference-manager",
            "type": "CONDITIONAL_JUMP",
            "flow": true,
            "call": false,
            "jump": true,
            "data": false,
            "read": false,
            "write": false,
            "indirect": false,
            "computed": false,
            "conditional": true,
            "terminal": false,
            "primary": true,
            "operand_index": 0,
            "external": false
          }
        },
        {
          "source_address": "0x101207",
          "target_address": "0x1011c0",
          "source_procedure": {
            "address": "0x101189",
            "name": "FUN_00101189",
            "classification": {
              "external": false,
              "thunk": false,
              "thunk_target": null,
              "provenance": "ghidra-function-manager"
            },
            "body": {
              "available": true,
              "provenance": "ghidra-function-body-address-set",
              "ranges": [
                {
                  "start": "0x101189",
                  "end": "0x101216"
                }
              ],
              "total_bytes": 142,
              "span_bytes": 142,
              "non_contiguous": false,
              "contains_entry": true
            }
          },
          "target_procedure": {
            "address": "0x101189",
            "name": "FUN_00101189",
            "classification": {
              "external": false,
              "thunk": false,
              "thunk_target": null,
              "provenance": "ghidra-function-manager"
            },
            "body": {
              "available": true,
              "provenance": "ghidra-function-body-address-set",
              "ranges": [
                {
                  "start": "0x101189",
                  "end": "0x101216"
                }
              ],
              "total_bytes": 142,
              "span_bytes": 142,
              "non_contiguous": false,
              "contains_entry": true
            }
          },
          "kind": {
            "available": true,
            "provenance": "ghidra-reference-manager",
            "type": "CONDITIONAL_JUMP",
            "flow": true,
            "call": false,
            "jump": true,
            "data": false,
            "read": false,
            "write": false,
            "indirect": false,
            "computed": false,
            "conditional": true,
            "terminal": false,
            "primary": true,
            "operand_index": 0,
            "external": false
          }
        },
        {
          "source_address": "0x10120e",
          "target_address": "0x1011d0",
          "source_procedure": {
            "address": "0x101189",
            "name": "FUN_00101189",
            "classification": {
              "external": false,
              "thunk": false,
              "thunk_target": null,
              "provenance": "ghidra-function-manager"
            },
            "body": {
              "available": true,
              "provenance": "ghidra-function-body-address-set",
              "ranges": [
                {
                  "start": "0x101189",
                  "end": "0x101216"
                }
              ],
              "total_bytes": 142,
              "span_bytes": 142,
              "non_contiguous": false,
              "contains_entry": true
            }
          },
          "target_procedure": {
            "address": "0x101189",
            "name": "FUN_00101189",
            "classification": {
              "external": false,
              "thunk": false,
              "thunk_target": null,
              "provenance": "ghidra-function-manager"
            },
            "body": {
              "available": true,
              "provenance": "ghidra-function-body-address-set",
              "ranges": [
                {
                  "start": "0x101189",
                  "end": "0x101216"
                }
              ],
              "total_bytes": 142,
              "span_bytes": 142,
              "non_contiguous": false,
              "contains_entry": true
            }
          },
          "kind": {
            "available": true,
            "provenance": "ghidra-reference-manager",
            "type": "UNCONDITIONAL_JUMP",
            "flow": true,
            "call": false,
            "jump": true,
            "data": false,
            "read": false,
            "write": false,
            "indirect": false,
            "computed": false,
            "conditional": false,
            "terminal": false,
            "primary": true,
            "operand_index": 0,
            "external": false
          }
        }
      ],
      "referenced_strings": [],
      "referenced_names": [
        {
          "address": "0x101060",
          "value": "<EXTERNAL>::malloc",
          "source_address": "0x101197"
        },
        {
          "address": "0x1011c0",
          "value": "LAB_001011c0",
          "source_address": "0x101207"
        },
        {
          "address": "0x1011c8",
          "value": "LAB_001011c8",
          "source_address": "0x1011ea"
        },
        {
          "address": "0x1011c8",
          "value": "LAB_001011c8",
          "source_address": "0x1011f2"
        },
        {
          "address": "0x1011d0",
          "value": "LAB_001011d0",
          "source_address": "0x10120e"
        },
        {
          "address": "0x1011f4",
          "value": "LAB_001011f4",
          "source_address": "0x1011ce"
        },
        {
          "address": "0x101201",
          "value": "LAB_00101201",
          "source_address": "0x1011be"
        },
        {
          "address": "0x101209",
          "value": "LAB_00101209",
          "source_address": "0x1011c6"
        },
        {
          "address": "0x101210",
          "value": "LAB_00101210",
          "source_address": "0x1011a3"
        },
        {
          "address": "0x101210",
          "value": "LAB_00101210",
          "source_address": "0x1011ff"
        }
      ],
      "basic_blocks": [
        {
          "start": "0x101189",
          "end": "0x1011a5",
          "successors": [
            "0x1011a5",
            "0x101210"
          ]
        },
        {
          "start": "0x1011a5",
          "end": "0x1011c0",
          "successors": [
            "0x101201"
          ]
        },
        {
          "start": "0x1011c0",
          "end": "0x1011c8",
          "successors": [
            "0x101209"
          ]
        },
        {
          "start": "0x1011c8",
          "end": "0x1011d0",
          "successors": [
            "0x1011d0",
            "0x1011f4"
          ]
        },
        {
          "start": "0x1011d0",
          "end": "0x1011ec",
          "successors": [
            "0x1011c8",
            "0x1011ec"
          ]
        },
        {
          "start": "0x1011ec",
          "end": "0x1011f4",
          "successors": [
            "0x1011c8"
          ]
        },
        {
          "start": "0x1011f4",
          "end": "0x101201",
          "successors": [
            "0x101201",
            "0x101210"
          ]
        },
        {
          "start": "0x101201",
          "end": "0x101209",
          "successors": [
            "0x1011c0",
            "0x101209"
          ]
        },
        {
          "start": "0x101209",
          "end": "0x101210",
          "successors": [
            "0x1011d0"
          ]
        },
        {
          "start": "0x101210",
          "end": "0x101217",
          "successors": []
        }
      ],
      "native_api": {
        "available": true,
        "provenance": "ghidra-high-function",
        "signature_source": "default",
        "calling_convention": "__stdcall",
        "return_type": {
          "role": "return",
          "ordinal": null,
          "name": null,
          "data_type": "void",
          "size_bytes": 0,
          "storage": "<VOID>",
          "confidence": "low",
          "evidence": [
            {
              "kind": "signature-source",
              "source": "ghidra-function-manager",
              "detail": "Function signature source is default."
            },
            {
              "kind": "decompiler-type",
              "source": "ghidra-high-function",
              "detail": "HighFunction recovered data type void."
            }
          ],
          "decompiler_artifacts": [
            "recovered-signature",
            "register-or-stack-storage"
          ]
        },
        "parameters": [
          {
            "role": "parameter",
            "ordinal": 0,
            "name": "param_1",
            "data_type": "char *",
            "size_bytes": 8,
            "storage": "RDI:8",
            "confidence": "low",
            "evidence": [
              {
                "kind": "signature-source",
                "source": "ghidra-function-manager",
                "detail": "Function signature source is default."
              },
              {
                "kind": "decompiler-type",
                "source": "ghidra-high-function",
                "detail": "HighFunction recovered data type char *."
              }
            ],
            "decompiler_artifacts": [
              "recovered-signature",
              "register-or-stack-storage",
              "compiler-generated-variable"
            ]
          }
        ],
        "jump_tables": [],
        "pseudocode": {
          "classification": "decompiler-generated-non-source",
          "compilable": false
        },
        "decompiler_artifacts": [
          "recovered-signature",
          "register-and-stack-variables",
          "compiler-generated-control-flow",
          "pointer-arithmetic",
          "pseudocode"
        ],
        "limitations": [
          "Types and calling conventions are Ghidra decompiler observations, not source declarations.",
          "Register variables, compiler-generated blocks, and pointer arithmetic remain decompiler artifacts.",
          "Pseudocode is neither original source nor guaranteed to compile."
        ]
      },
      "native_value_flow": {
        "available": true,
        "provenance": "ghidra-high-pcode",
        "operations": [
          {
            "id": "0x101197#19",
            "address": "0x101197",
            "sequence": 19,
            "opcode": "CALL",
            "is_dead": true,
            "block_membership": "member",
            "inputs": [
              {
                "kind": "address",
                "size_bytes": 8,
                "location": "0x101060",
                "constant_hex": null
              },
              {
                "kind": "constant",
                "size_bytes": 8,
                "location": null,
                "constant_hex": "90"
              }
            ],
            "output": {
              "kind": "register",
              "size_bytes": 8,
              "location": "register:0x0",
              "constant_hex": null
            }
          },
          {
            "id": "0x10119c#20",
            "address": "0x10119c",
            "sequence": 20,
            "opcode": "LOAD",
            "is_dead": true,
            "block_membership": "member",
            "inputs": [
              {
                "kind": "constant",
                "size_bytes": 4,
                "location": null,
                "constant_hex": "1b1"
              },
              {
                "kind": "register",
                "size_bytes": 8,
                "location": "register:0x38",
                "constant_hex": null
              }
            ],
            "output": {
              "kind": "unique",
              "size_bytes": 1,
              "location": "unique:0x23a00",
              "constant_hex": null
            }
          },
          {
            "id": "0x10119c#21",
            "address": "0x10119c",
            "sequence": 21,
            "opcode": "INT_SEXT",
            "is_dead": true,
            "block_membership": "member",
            "inputs": [
              {
                "kind": "unique",
                "size_bytes": 1,
                "location": "unique:0x23a00",
                "constant_hex": null
              }
            ],
            "output": {
              "kind": "register",
              "size_bytes": 4,
              "location": "register:0x88",
              "constant_hex": null
            }
          },
          {
            "id": "0x1011a0#27",
            "address": "0x1011a0",
            "sequence": 27,
            "opcode": "INT_NOTEQUAL",
            "is_dead": true,
            "block_membership": "member",
            "inputs": [
              {
                "kind": "unique",
                "size_bytes": 1,
                "location": "unique:0x23a00",
                "constant_hex": null
              },
              {
                "kind": "constant",
                "size_bytes": 1,
                "location": null,
                "constant_hex": "0"
              }
            ],
            "output": {
              "kind": "register",
              "size_bytes": 1,
              "location": "register:0x206",
              "constant_hex": null
            }
          },
          {
            "id": "0x1011a3#32",
            "address": "0x1011a3",
            "sequence": 32,
            "opcode": "CBRANCH",
            "is_dead": true,
            "block_membership": "member",
            "inputs": [
              {
                "kind": "address",
                "size_bytes": 1,
                "location": "0x101210",
                "constant_hex": null
              },
              {
                "kind": "register",
                "size_bytes": 1,
                "location": "register:0x206",
                "constant_hex": null
              }
            ],
            "output": null
          },
          {
            "id": "0x1011a5#33",
            "address": "0x1011a5",
            "sequence": 33,
            "opcode": "PTRADD",
            "is_dead": true,
            "block_membership": "member",
            "inputs": [
              {
                "kind": "unique",
                "size_bytes": 8,
                "location": "unique:0x10000041",
                "constant_hex": null
              },
              {
                "kind": "constant",
                "size_bytes": 8,
                "location": null,
                "constant_hex": "1"
              },
              {
                "kind": "constant",
                "size_bytes": 8,
                "location": null,
                "constant_hex": "1"
              }
            ],
            "output": {
              "kind": "register",
              "size_bytes": 8,
              "location": "register:0x98",
              "constant_hex": null
            }
          },
          {
            "id": "0x1011a9#410",
            "address": "0x1011a9",
            "sequence": 410,
            "opcode": "COPY",
            "is_dead": true,
            "block_membership": "member",
            "inputs": [
              {
                "kind": "constant",
                "size_bytes": 4,
                "location": null,
                "constant_hex": "0"
              }
            ],
            "output": {
              "kind": "register",
              "size_bytes": 4,
              "location": "register:0x80",
              "constant_hex": null
            }
          },
          {
            "id": "0x1011af#435",
            "address": "0x1011af",
            "sequence": 435,
            "opcode": "COPY",
            "is_dead": true,
            "block_membership": "member",
            "inputs": [
              {
                "kind": "constant",
                "size_bytes": 4,
                "location": null,
                "constant_hex": "0"
              }
            ],
            "output": {
              "kind": "register",
              "size_bytes": 4,
              "location": "register:0x10",
              "constant_hex": null
            }
          },
          {
            "id": "0x1011be#39",
            "address": "0x1011be",
            "sequence": 39,
            "opcode": "BRANCH",
            "is_dead": true,
            "block_membership": "member",
            "inputs": [
              {
                "kind": "address",
                "size_bytes": 1,
                "location": "0x101201",
                "constant_hex": null
              }
            ],
            "output": null
          },
          {
            "id": "0x1011c0#163",
            "address": "0x1011c0",
            "sequence": 163,
            "opcode": "INT_2COMP",
            "is_dead": true,
            "block_membership": "member",
            "inputs": [
              {
                "kind": "register",
                "size_bytes": 4,
                "location": "register:0x88",
                "constant_hex": null
              }
            ],
            "output": {
              "kind": "register",
              "size_bytes": 4,
              "location": "register:0x88",
              "constant_hex": null
            }
          },
          {
            "id": "0x1011c6#173",
            "address": "0x1011c6",
            "sequence": 173,
            "opcode": "BRANCH",
            "is_dead": true,
            "block_membership": "member",
            "inputs": [
              {
                "kind": "address",
                "size_bytes": 1,
                "location": "0x101209",
                "constant_hex": null
              }
            ],
            "output": null
          },
          {
            "id": "0x1011c8#100",
            "address": "0x1011c8",
            "sequence": 100,
            "opcode": "INT_ADD",
            "is_dead": true,
            "block_membership": "member",
            "inputs": [
              {
                "kind": "register",
                "size_bytes": 4,
                "location": "register:0x8",
                "constant_hex": null
              },
              {
                "kind": "constant",
                "size_bytes": 4,
                "location": null,
                "constant_hex": "1"
              }
            ],
            "output": {
              "kind": "register",
              "size_bytes": 4,
              "location": "register:0x8",
              "constant_hex": null
            }
          },
          {
            "id": "0x1011c8#400",
            "address": "0x1011c8",
            "sequence": 400,
            "opcode": "MULTIEQUAL",
            "is_dead": true,
            "block_membership": "member",
            "inputs": [
              {
                "kind": "register",
                "size_bytes": 4,
                "location": "register:0x30",
                "constant_hex": null
              },
              {
                "kind": "register",
                "size_bytes": 4,
                "location": "register:0x10",
                "constant_hex": null
              }
            ],
            "output": {
              "kind": "register",
              "size_bytes": 4,
              "location": "register:0x10",
              "constant_hex": null
            }
          },
          {
            "id": "0x1011c8#407",
            "address": "0x1011c8",
            "sequence": 407,
            "opcode": "MULTIEQUAL",
            "is_dead": true,
            "block_membership": "member",
            "inputs": [
              {
                "kind": "register",
                "size_bytes": 4,
                "location": "register:0x80",
                "constant_hex": null
              },
              {
                "kind": "register",
                "size_bytes": 4,
                "location": "register:0x80",
                "constant_hex": null
              }
            ],
            "output": {
              "kind": "register",
              "size_bytes": 4,
              "location": "register:0x80",
              "constant_hex": null
            }
          },
          {
            "id": "0x1011cb#113",
            "address": "0x1011cb",
            "sequence": 113,
            "opcode": "INT_NOTEQUAL",
            "is_dead": true,
            "block_membership": "member",
            "inputs": [
              {
                "kind": "register",
                "size_bytes": 4,
                "location": "register:0x88",
                "constant_hex": null
              },
              {
                "kind": "register",
                "size_bytes": 4,
                "location": "register:0x8",
                "constant_hex": null
              }
            ],
            "output": {
              "kind": "register",
              "size_bytes": 1,
              "location": "register:0x206",
              "constant_hex": null
            }
          },
          {
            "id": "0x1011ce#118",
            "address": "0x1011ce",
            "sequence": 118,
            "opcode": "CBRANCH",
            "is_dead": true,
            "block_membership": "member",
            "inputs": [
              {
                "kind": "address",
                "size_bytes": 1,
                "location": "0x1011f4",
                "constant_hex": null
              },
              {
                "kind": "register",
                "size_bytes": 1,
                "location": "register:0x206",
                "constant_hex": null
              }
            ],
            "output": null
          },
          {
            "id": "0x1011ce#439",
            "address": "0x1011ce",
            "sequence": 439,
            "opcode": "COPY",
            "is_dead": true,
            "block_membership": "member",
            "inputs": [
              {
                "kind": "register",
                "size_bytes": 4,
                "location": "register:0x10",
                "constant_hex": null
              }
            ],
            "output": {
              "kind": "unique",
              "size_bytes": 4,
              "location": "unique:0x10000054",
              "constant_hex": null
            }
          },
          {
            "id": "0x1011d0#56",
            "address": "0x1011d0",
            "sequence": 56,
            "opcode": "INT_ADD",
            "is_dead": true,
            "block_membership": "member",
            "inputs": [
              {
                "kind": "register",
                "size_bytes": 4,
                "location": "register:0x10",
                "constant_hex": null
              },
              {
                "kind": "constant",
                "size_bytes": 4,
                "location": null,
                "constant_hex": "1"
              }
            ],
            "output": {
              "kind": "register",
              "size_bytes": 4,
              "location": "register:0x30",
              "constant_hex": null
            }
          },
          {
            "id": "0x1011d0#396",
            "address": "0x1011d0",
            "sequence": 396,
            "opcode": "MULTIEQUAL",
            "is_dead": true,
            "block_membership": "member",
            "inputs": [
              {
                "kind": "register",
                "size_bytes": 4,
                "location": "register:0x8",
                "constant_hex": null
              },
              {
                "kind": "register",
                "size_bytes": 4,
                "location": "register:0x8",
                "constant_hex": null
              }
            ],
            "output": {
              "kind": "register",
              "size_bytes": 4,
              "location": "register:0x8",
              "constant_hex": null
            }
          },
          {
            "id": "0x1011d0#406",
            "address": "0x1011d0",
            "sequence": 406,
            "opcode": "MULTIEQUAL",
            "is_dead": true,
            "block_membership": "member",
            "inputs": [
              {
                "kind": "register",
                "size_bytes": 4,
                "location": "register:0x80",
                "constant_hex": null
              },
              {
                "kind": "register",
                "size_bytes": 4,
                "location": "register:0x80",
                "constant_hex": null
              }
            ],
            "output": {
              "kind": "register",
              "size_bytes": 4,
              "location": "register:0x80",
              "constant_hex": null
            }
          },
          {
            "id": "0x1011d0#432",
            "address": "0x1011d0",
            "sequence": 432,
            "opcode": "MULTIEQUAL",
            "is_dead": true,
            "block_membership": "member",
            "inputs": [
              {
                "kind": "unique",
                "size_bytes": 4,
                "location": "unique:0x10000050",
                "constant_hex": null
              },
              {
                "kind": "unique",
                "size_bytes": 4,
                "location": "unique:0x10000054",
                "constant_hex": null
              }
            ],
            "output": {
              "kind": "register",
              "size_bytes": 4,
              "location": "register:0x10",
              "constant_hex": null
            }
          },
          {
            "id": "0x1011d3#59",
            "address": "0x1011d3",
            "sequence": 59,
            "opcode": "INT_SEXT",
            "is_dead": true,
            "block_membership": "member",
            "inputs": [
              {
                "kind": "register",
                "size_bytes": 4,
                "location": "register:0x10",
                "constant_hex": null
              }
            ],
            "output": {
              "kind": "register",
              "size_bytes": 8,
              "location": "register:0x10",
              "constant_hex": null
            }
          },
          {
            "id": "0x1011d6#60",
            "address": "0x1011d6",
            "sequence": 60,
            "opcode": "INT_SEXT",
            "is_dead": true,
            "block_membership": "member",
            "inputs": [
              {
                "kind": "register",
                "size_bytes": 4,
                "location": "register:0x80",
                "constant_hex": null
              }
            ],
            "output": {
              "kind": "register",
              "size_bytes": 8,
              "location": "register:0x38",
              "constant_hex": null
            }
          },
          {
            "id": "0x1011dd#64",
            "address": "0x1011dd",
            "sequence": 64,
            "opcode": "INT_MULT",
            "is_dead": true,
            "block_membership": "member",
            "inputs": [
              {
                "kind": "register",
                "size_bytes": 8,
                "location": "register:0x38",
                "constant_hex": null
              },
              {
                "kind": "constant",
                "size_bytes": 8,
                "location": null,
                "constant_hex": "6"
              }
            ],
            "output": {
              "kind": "unique",
              "size_bytes": 8,
              "location": "unique:0x9200",
              "constant_hex": null
            }
          },
          {
            "id": "0x1011dd#65",
            "address": "0x1011dd",
            "sequence": 65,
            "opcode": "INT_ADD",
            "is_dead": true,
            "block_membership": "member",
            "inputs": [
              {
                "kind": "register",
                "size_bytes": 8,
                "location": "register:0x10",
                "constant_hex": null
              },
              {
                "kind": "unique",
                "size_bytes": 8,
                "location": "unique:0x9200",
                "constant_hex": null
              }
            ],
            "output": {
              "kind": "unique",
              "size_bytes": 8,
              "location": "unique:0x9400",
              "constant_hex": null
            }
          },
          {
            "id": "0x1011e1#67",
            "address": "0x1011e1",
            "sequence": 67,
            "opcode": "INT_MULT",
            "is_dead": true,
            "block_membership": "member",
            "inputs": [
              {
                "kind": "unique",
                "size_bytes": 8,
                "location": "unique:0x9400",
                "constant_hex": null
              },
              {
                "kind": "constant",
                "size_bytes": 8,
                "location": null,
                "constant_hex": "4"
              }
            ],
            "output": {
              "kind": "unique",
              "size_bytes": 8,
              "location": "unique:0x9200",
              "constant_hex": null
            }
          },
          {
            "id": "0x1011e1#68",
            "address": "0x1011e1",
            "sequence": 68,
            "opcode": "INT_ADD",
            "is_dead": true,
            "block_membership": "member",
            "inputs": [
              {
                "kind": "unique",
                "size_bytes": 8,
                "location": "unique:0x10000058",
                "constant_hex": null
              },
              {
                "kind": "unique",
                "size_bytes": 8,
                "location": "unique:0x9200",
                "constant_hex": null
              }
            ],
            "output": {
              "kind": "unique",
              "size_bytes": 8,
              "location": "unique:0x10000060",
              "constant_hex": null
            }
          },
          {
            "id": "0x1011e1#70",
            "address": "0x1011e1",
            "sequence": 70,
            "opcode": "STORE",
            "is_dead": true,
            "block_membership": "member",
            "inputs": [
              {
                "kind": "constant",
                "size_bytes": 4,
                "location": null,
                "constant_hex": "1b1"
              },
              {
                "kind": "unique",
                "size_bytes": 8,
                "location": "unique:0x9400",
                "constant_hex": null
              },
              {
                "kind": "register",
                "size_bytes": 4,
                "location": "register:0x90",
                "constant_hex": null
              }
            ],
            "output": null
          },
          {
            "id": "0x1011e1#440",
            "address": "0x1011e1",
            "sequence": 440,
            "opcode": "CAST",
            "is_dead": true,
            "block_membership": "member",
            "inputs": [
              {
                "kind": "register",
                "size_bytes": 8,
                "location": "register:0x0",
                "constant_hex": null
              }
            ],
            "output": {
              "kind": "unique",
              "size_bytes": 8,
              "location": "unique:0x10000058",
              "constant_hex": null
            }
          },
          {
            "id": "0x1011e1#441",
            "address": "0x1011e1",
            "sequence": 441,
            "opcode": "CAST",
            "is_dead": true,
            "block_membership": "member",
            "inputs": [
              {
                "kind": "unique",
                "size_bytes": 8,
                "location": "unique:0x10000060",
                "constant_hex": null
              }
            ],
            "output": {
              "kind": "unique",
              "size_bytes": 8,
              "location": "unique:0x9400",
              "constant_hex": null
            }
          },
          {
            "id": "0x1011e7#78",
            "address": "0x1011e7",
            "sequence": 78,
            "opcode": "INT_EQUAL",
            "is_dead": true,
            "block_membership": "member",
            "inputs": [
              {
                "kind": "register",
                "size_bytes": 4,
                "location": "register:0x30",
                "constant_hex": null
              },
              {
                "kind": "constant",
                "size_bytes": 4,
                "location": null,
                "constant_hex": "6"
              }
            ],
            "output": {
              "kind": "register",
              "size_bytes": 1,
              "location": "register:0x206",
              "constant_hex": null
            }
          },
          {
            "id": "0x1011ea#84",
            "address": "0x1011ea",
            "sequence": 84,
            "opcode": "CBRANCH",
            "is_dead": true,
            "block_membership": "member",
            "inputs": [
              {
                "kind": "address",
                "size_bytes": 1,
                "location": "0x1011c8",
                "constant_hex": null
              },
              {
                "kind": "register",
                "size_bytes": 1,
                "location": "register:0x206",
                "constant_hex": null
              }
            ],
            "output": null
          },
          {
            "id": "0x1011ec#87",
            "address": "0x1011ec",
            "sequence": 87,
            "opcode": "INT_ADD",
            "is_dead": true,
            "block_membership": "member",
            "inputs": [
              {
                "kind": "register",
                "size_bytes": 4,
                "location": "register:0x80",
                "constant_hex": null
              },
              {
                "kind": "constant",
                "size_bytes": 4,
                "location": null,
                "constant_hex": "1"
              }
            ],
            "output": {
              "kind": "register",
              "size_bytes": 4,
              "location": "register:0x80",
              "constant_hex": null
            }
          },
          {
            "id": "0x1011f0#270",
            "address": "0x1011f0",
            "sequence": 270,
            "opcode": "COPY",
            "is_dead": true,
            "block_membership": "member",
            "inputs": [
              {
                "kind": "constant",
                "size_bytes": 4,
                "location": null,
                "constant_hex": "0"
              }
            ],
            "output": {
              "kind": "register",
              "size_bytes": 4,
              "location": "register:0x10",
              "constant_hex": null
            }
          },
          {
            "id": "0x1011f2#97",
            "address": "0x1011f2",
            "sequence": 97,
            "opcode": "BRANCH",
            "is_dead": true,
            "block_membership": "member",
            "inputs": [
              {
                "kind": "address",
                "size_bytes": 1,
                "location": "0x1011c8",
                "constant_hex": null
              }
            ],
            "output": null
          },
          {
            "id": "0x1011f4#119",
            "address": "0x1011f4",
            "sequence": 119,
            "opcode": "LOAD",
            "is_dead": true,
            "block_membership": "member",
            "inputs": [
              {
                "kind": "constant",
                "size_bytes": 4,
                "location": null,
                "constant_hex": "1b1"
              },
              {
                "kind": "register",
                "size_bytes": 8,
                "location": "register:0x98",
                "constant_hex": null
              }
            ],
            "output": {
              "kind": "unique",
              "size_bytes": 1,
              "location": "unique:0x23a00",
              "constant_hex": null
            }
          },
          {
            "id": "0x1011fc#135",
            "address": "0x1011fc",
            "sequence": 135,
            "opcode": "INT_NOTEQUAL",
            "is_dead": true,
            "block_membership": "member",
            "inputs": [
              {
                "kind": "unique",
                "size_bytes": 1,
                "location": "unique:0x23a00",
                "constant_hex": null
              },
              {
                "kind": "constant",
                "size_bytes": 1,
                "location": null,
                "constant_hex": "0"
              }
            ],
            "output": {
              "kind": "register",
              "size_bytes": 1,
              "location": "register:0x206",
              "constant_hex": null
            }
          },
          {
            "id": "0x1011ff#140",
            "address": "0x1011ff",
            "sequence": 140,
            "opcode": "CBRANCH",
            "is_dead": true,
            "block_membership": "member",
            "inputs": [
              {
                "kind": "address",
                "size_bytes": 1,
                "location": "0x101210",
                "constant_hex": null
              },
              {
                "kind": "register",
                "size_bytes": 1,
                "location": "register:0x206",
                "constant_hex": null
              }
            ],
            "output": null
          },
          {
            "id": "0x101201#409",
            "address": "0x101201",
            "sequence": 409,
            "opcode": "MULTIEQUAL",
            "is_dead": true,
            "block_membership": "member",
            "inputs": [
              {
                "kind": "register",
                "size_bytes": 4,
                "location": "register:0x80",
                "constant_hex": null
              },
              {
                "kind": "register",
                "size_bytes": 4,
                "location": "register:0x80",
                "constant_hex": null
              }
            ],
            "output": {
              "kind": "register",
              "size_bytes": 4,
              "location": "register:0x80",
              "constant_hex": null
            }
          },
          {
            "id": "0x101201#420",
            "address": "0x101201",
            "sequence": 420,
            "opcode": "MULTIEQUAL",
            "is_dead": true,
            "block_membership": "member",
            "inputs": [
              {
                "kind": "register",
                "size_bytes": 8,
                "location": "register:0x38",
                "constant_hex": null
              },
              {
                "kind": "register",
                "size_bytes": 8,
                "location": "register:0x98",
                "constant_hex": null
              }
            ],
            "output": {
              "kind": "unique",
              "size_bytes": 8,
              "location": "unique:0x10000041",
              "constant_hex": null
            }
          },
          {
            "id": "0x101201#426",
            "address": "0x101201",
            "sequence": 426,
            "opcode": "MULTIEQUAL",
            "is_dead": true,
            "block_membership": "member",
            "inputs": [
              {
                "kind": "unique",
                "size_bytes": 1,
                "location": "unique:0x23a00",
                "constant_hex": null
              },
              {
                "kind": "unique",
                "size_bytes": 1,
                "location": "unique:0x23a00",
                "constant_hex": null
              }
            ],
            "output": {
              "kind": "unique",
              "size_bytes": 1,
              "location": "unique:0x23a00",
              "constant_hex": null
            }
          },
          {
            "id": "0x101201#434",
            "address": "0x101201",
            "sequence": 434,
            "opcode": "MULTIEQUAL",
            "is_dead": true,
            "block_membership": "member",
            "inputs": [
              {
                "kind": "register",
                "size_bytes": 4,
                "location": "register:0x10",
                "constant_hex": null
              },
              {
                "kind": "register",
                "size_bytes": 4,
                "location": "register:0x10",
                "constant_hex": null
              }
            ],
            "output": {
              "kind": "register",
              "size_bytes": 4,
              "location": "register:0x10",
              "constant_hex": null
            }
          },
          {
            "id": "0x101207#52",
            "address": "0x101207",
            "sequence": 52,
            "opcode": "INT_SLESS",
            "is_dead": true,
            "block_membership": "member",
            "inputs": [
              {
                "kind": "register",
                "size_bytes": 4,
                "location": "register:0x88",
                "constant_hex": null
              },
              {
                "kind": "constant",
                "size_bytes": 4,
                "location": null,
                "constant_hex": "1"
              }
            ],
            "output": {
              "kind": "unique",
              "size_bytes": 1,
              "location": "unique:0x25f00",
              "constant_hex": null
            }
          },
          {
            "id": "0x101207#53",
            "address": "0x101207",
            "sequence": 53,
            "opcode": "CBRANCH",
            "is_dead": true,
            "block_membership": "member",
            "inputs": [
              {
                "kind": "address",
                "size_bytes": 1,
                "location": "0x1011c0",
                "constant_hex": null
              },
              {
                "kind": "unique",
                "size_bytes": 1,
                "location": "unique:0x25f00",
                "constant_hex": null
              }
            ],
            "output": null
          },
          {
            "id": "0x101209#392",
            "address": "0x101209",
            "sequence": 392,
            "opcode": "MULTIEQUAL",
            "is_dead": true,
            "block_membership": "member",
            "inputs": [
              {
                "kind": "register",
                "size_bytes": 4,
                "location": "register:0x88",
                "constant_hex": null
              },
              {
                "kind": "register",
                "size_bytes": 4,
                "location": "register:0x88",
                "constant_hex": null
              }
            ],
            "output": {
              "kind": "register",
              "size_bytes": 4,
              "location": "register:0x88",
              "constant_hex": null
            }
          },
          {
            "id": "0x101209#399",
            "address": "0x101209",
            "sequence": 399,
            "opcode": "COPY",
            "is_dead": true,
            "block_membership": "member",
            "inputs": [
              {
                "kind": "constant",
                "size_bytes": 4,
                "location": null,
                "constant_hex": "0"
              }
            ],
            "output": {
              "kind": "register",
              "size_bytes": 4,
              "location": "register:0x8",
              "constant_hex": null
            }
          },
          {
            "id": "0x101209#414",
            "address": "0x101209",
            "sequence": 414,
            "opcode": "INT_ZEXT",
            "is_dead": true,
            "block_membership": "member",
            "inputs": [
              {
                "kind": "unique",
                "size_bytes": 1,
                "location": "unique:0x10000049",
                "constant_hex": null
              }
            ],
            "output": {
              "kind": "register",
              "size_bytes": 4,
              "location": "register:0x90",
              "constant_hex": null
            }
          },
          {
            "id": "0x101209#421",
            "address": "0x101209",
            "sequence": 421,
            "opcode": "BOOL_NEGATE",
            "is_dead": true,
            "block_membership": "member",
            "inputs": [
              {
                "kind": "unique",
                "size_bytes": 1,
                "location": "unique:0x25f00",
                "constant_hex": null
              }
            ],
            "output": {
              "kind": "unique",
              "size_bytes": 1,
              "location": "unique:0x10000049",
              "constant_hex": null
            }
          },
          {
            "id": "0x10120e#55",
            "address": "0x10120e",
            "sequence": 55,
            "opcode": "BRANCH",
            "is_dead": true,
            "block_membership": "member",
            "inputs": [
              {
                "kind": "address",
                "size_bytes": 1,
                "location": "0x1011d0",
                "constant_hex": null
              }
            ],
            "output": null
          },
          {
            "id": "0x10120e#438",
            "address": "0x10120e",
            "sequence": 438,
            "opcode": "COPY",
            "is_dead": true,
            "block_membership": "member",
            "inputs": [
              {
                "kind": "register",
                "size_bytes": 4,
                "location": "register:0x10",
                "constant_hex": null
              }
            ],
            "output": {
              "kind": "unique",
              "size_bytes": 4,
              "location": "unique:0x10000050",
              "constant_hex": null
            }
          },
          {
            "id": "0x101216#160",
            "address": "0x101216",
            "sequence": 160,
            "opcode": "RETURN",
            "is_dead": true,
            "block_membership": "member",
            "inputs": [
              {
                "kind": "constant",
                "size_bytes": 8,
                "location": null,
                "constant_hex": "0"
              }
            ],
            "output": null
          }
        ],
        "def_use": [
          {
            "definition": "0x101201#426",
            "use": "0x10119c#21",
            "input_index": 0
          },
          {
            "definition": "0x10119c#20",
            "use": "0x1011a0#27",
            "input_index": 0
          },
          {
            "definition": "0x1011a0#27",
            "use": "0x1011a3#32",
            "input_index": 1
          },
          {
            "definition": "0x101201#420",
            "use": "0x1011a5#33",
            "input_index": 0
          },
          {
            "definition": "0x10119c#21",
            "use": "0x1011c0#163",
            "input_index": 0
          },
          {
            "definition": "0x1011d0#396",
            "use": "0x1011c8#100",
            "input_index": 0
          },
          {
            "definition": "0x1011d0#56",
            "use": "0x1011c8#400",
            "input_index": 0
          },
          {
            "definition": "0x1011f0#270",
            "use": "0x1011c8#400",
            "input_index": 1
          },
          {
            "definition": "0x1011d0#406",
            "use": "0x1011c8#407",
            "input_index": 0
          },
          {
            "definition": "0x1011ec#87",
            "use": "0x1011c8#407",
            "input_index": 1
          },
          {
            "definition": "0x101209#392",
            "use": "0x1011cb#113",
            "input_index": 0
          },
          {
            "definition": "0x1011c8#100",
            "use": "0x1011cb#113",
            "input_index": 1
          },
          {
            "definition": "0x1011cb#113",
            "use": "0x1011ce#118",
            "input_index": 1
          },
          {
            "definition": "0x1011c8#400",
            "use": "0x1011ce#439",
            "input_index": 0
          },
          {
            "definition": "0x1011d0#432",
            "use": "0x1011d0#56",
            "input_index": 0
          },
          {
            "definition": "0x101209#399",
            "use": "0x1011d0#396",
            "input_index": 0
          },
          {
            "definition": "0x1011c8#100",
            "use": "0x1011d0#396",
            "input_index": 1
          },
          {
            "definition": "0x101201#409",
            "use": "0x1011d0#406",
            "input_index": 0
          },
          {
            "definition": "0x1011c8#407",
            "use": "0x1011d0#406",
            "input_index": 1
          },
          {
            "definition": "0x10120e#438",
            "use": "0x1011d0#432",
            "input_index": 0
          },
          {
            "definition": "0x1011ce#439",
            "use": "0x1011d0#432",
            "input_index": 1
          },
          {
            "definition": "0x1011d0#432",
            "use": "0x1011d3#59",
            "input_index": 0
          },
          {
            "definition": "0x1011d0#406",
            "use": "0x1011d6#60",
            "input_index": 0
          },
          {
            "definition": "0x1011d6#60",
            "use": "0x1011dd#64",
            "input_index": 0
          },
          {
            "definition": "0x1011d3#59",
            "use": "0x1011dd#65",
            "input_index": 0
          },
          {
            "definition": "0x1011dd#64",
            "use": "0x1011dd#65",
            "input_index": 1
          },
          {
            "definition": "0x1011dd#65",
            "use": "0x1011e1#67",
            "input_index": 0
          },
          {
            "definition": "0x1011e1#440",
            "use": "0x1011e1#68",
            "input_index": 0
          },
          {
            "definition": "0x1011e1#67",
            "use": "0x1011e1#68",
            "input_index": 1
          },
          {
            "definition": "0x1011e1#441",
            "use": "0x1011e1#70",
            "input_index": 1
          },
          {
            "definition": "0x101209#414",
            "use": "0x1011e1#70",
            "input_index": 2
          },
          {
            "definition": "0x101197#19",
            "use": "0x1011e1#440",
            "input_index": 0
          },
          {
            "definition": "0x1011e1#68",
            "use": "0x1011e1#441",
            "input_index": 0
          },
          {
            "definition": "0x1011d0#56",
            "use": "0x1011e7#78",
            "input_index": 0
          },
          {
            "definition": "0x1011e7#78",
            "use": "0x1011ea#84",
            "input_index": 1
          },
          {
            "definition": "0x1011d0#406",
            "use": "0x1011ec#87",
            "input_index": 0
          },
          {
            "definition": "0x1011a5#33",
            "use": "0x1011f4#119",
            "input_index": 1
          },
          {
            "definition": "0x1011f4#119",
            "use": "0x1011fc#135",
            "input_index": 0
          },
          {
            "definition": "0x1011fc#135",
            "use": "0x1011ff#140",
            "input_index": 1
          },
          {
            "definition": "0x1011a9#410",
            "use": "0x101201#409",
            "input_index": 0
          },
          {
            "definition": "0x1011c8#407",
            "use": "0x101201#409",
            "input_index": 1
          },
          {
            "definition": "0x1011a5#33",
            "use": "0x101201#420",
            "input_index": 1
          },
          {
            "definition": "0x10119c#20",
            "use": "0x101201#426",
            "input_index": 0
          },
          {
            "definition": "0x1011f4#119",
            "use": "0x101201#426",
            "input_index": 1
          },
          {
            "definition": "0x1011af#435",
            "use": "0x101201#434",
            "input_index": 0
          },
          {
            "definition": "0x1011c8#400",
            "use": "0x101201#434",
            "input_index": 1
          },
          {
            "definition": "0x10119c#21",
            "use": "0x101207#52",
            "input_index": 0
          },
          {
            "definition": "0x101207#52",
            "use": "0x101207#53",
            "input_index": 1
          },
          {
            "definition": "0x10119c#21",
            "use": "0x101209#392",
            "input_index": 0
          },
          {
            "definition": "0x1011c0#163",
            "use": "0x101209#392",
            "input_index": 1
          },
          {
            "definition": "0x101209#421",
            "use": "0x101209#414",
            "input_index": 0
          },
          {
            "definition": "0x101207#52",
            "use": "0x101209#421",
            "input_index": 0
          },
          {
            "definition": "0x101201#434",
            "use": "0x10120e#438",
            "input_index": 0
          }
        ],
        "parameters": [
          {
            "ordinal": 0,
            "name": "param_1",
            "data_type": "/char *"
          }
        ],
        "parameter_uses": [
          {
            "ordinal": 0,
            "use": "0x10119c#20",
            "input_index": 1
          },
          {
            "ordinal": 0,
            "use": "0x1011a5#33",
            "input_index": 0
          },
          {
            "ordinal": 0,
            "use": "0x1011f4#119",
            "input_index": 1
          },
          {
            "ordinal": 0,
            "use": "0x101201#420",
            "input_index": 0
          },
          {
            "ordinal": 0,
            "use": "0x101201#420",
            "input_index": 1
          }
        ],
        "effects": [
          {
            "operation": "0x101197#19",
            "kind": "direct_call",
            "operand_input": 0,
            "value_input": null
          },
          {
            "operation": "0x10119c#20",
            "kind": "memory_read",
            "operand_input": 1,
            "value_input": null
          },
          {
            "operation": "0x1011a3#32",
            "kind": "conditional_branch",
            "operand_input": null,
            "value_input": 1
          },
          {
            "operation": "0x1011ce#118",
            "kind": "conditional_branch",
            "operand_input": null,
            "value_input": 1
          },
          {
            "operation": "0x1011e1#70",
            "kind": "memory_write",
            "operand_input": 1,
            "value_input": 2
          },
          {
            "operation": "0x1011ea#84",
            "kind": "conditional_branch",
            "operand_input": null,
            "value_input": 1
          },
          {
            "operation": "0x1011f4#119",
            "kind": "memory_read",
            "operand_input": 1,
            "value_input": null
          },
          {
            "operation": "0x1011ff#140",
            "kind": "conditional_branch",
            "operand_input": null,
            "value_input": 1
          },
          {
            "operation": "0x101207#53",
            "kind": "conditional_branch",
            "operand_input": null,
            "value_input": 1
          }
        ],
        "truncated": false,
        "omitted_operations_lower_bound": 0,
        "known_omitted_inputs": 0,
        "known_omitted_edges": 0,
        "limitations": [
          "High p-code is decompiler-derived, not original source or runtime behavior. is_dead preserves the Java AST flag; decoded block members can retain that flag, so block_membership separately reports actual syntax-tree membership.",
          "Def-use links do not cross function boundaries and may omit memory aliasing, call side effects, or unresolved indirect flow.",
          "Memory read/write effects include stack and temporary memory operations; they do not identify persistent state or business meaning.",
          "Operation, input, and def-use limits can truncate large functions; inspect truncation, omitted lower bounds, and known omitted counts before drawing conclusions.",
          "Known omitted-edge counts cover links omitted from retained operations; omitted operations may contain additional uncounted links."
        ]
      },
      "facet_availability": {
        "pseudocode": {
          "available": true
        },
        "comments": {
          "available": true
        },
        "callers": {
          "available": true
        },
        "callees": {
          "available": true
        },
        "references": {
          "available": true
        },
        "strings_names": {
          "available": true
        },
        "cfg": {
          "available": true
        },
        "assembly": {
          "available": true
        }
      },
      "unresolved_calls": [],
      "limitations": [
        "Unresolved computed or indirect flows without target addresses are not represented as reference edges.",
        "Thunk and external classifications are Ghidra FunctionManager observations; they do not resolve targetless calls.",
        "Pseudocode and assembly are Ghidra-specific representations, not original source or Hopper-equivalent text.",
        "Synthetic Ghidra entry-point references without actionable memory sources are omitted."
      ]
    },
    "limitations": [],
    "relationship_coverage": {
      "status": "complete",
      "diagnostics": [
        "Only resolved Ghidra call references are returned; unresolved computed or indirect calls remain unknown, while function classifications distinguish thunks and externals."
      ]
    }
  },
  "normalized_result": {
    "procedure": {
      "address": "0x101189",
      "name": "FUN_00101189",
      "classification": {
        "external": false,
        "thunk": false,
        "thunk_target": null,
        "provenance": "ghidra-function-manager"
      },
      "body": {
        "available": true,
        "provenance": "ghidra-function-body-address-set",
        "ranges": [
          {
            "start": "0x101189",
            "end": "0x101216"
          }
        ],
        "total_bytes": 142,
        "span_bytes": 142,
        "non_contiguous": false,
        "contains_entry": true
      },
      "signature": "undefined FUN_00101189()",
      "locals": []
    },
    "pseudocode": "\nvoid FUN_00101189(char *param_1)\n\n{\n  char cVar1;\n  bool bVar2;\n  void *pvVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  \n  pvVar3 = malloc(0x90);\n  cVar1 = *param_1;\n  if (cVar1 != '\\0') {\n    iVar7 = 0;\n    iVar6 = 0;\n    do {\n      iVar8 = (int)cVar1;\n      param_1 = param_1 + 1;\n      bVar2 = iVar8 < 1;\n      if (bVar2) {\n        iVar8 = -iVar8;\n      }\n      iVar4 = 0;\n      iVar5 = iVar6;\n      do {\n        iVar6 = iVar5 + 1;\n        *(uint *)((long)pvVar3 + ((long)iVar5 + (long)iVar7 * 6) * 4) = (uint)!bVar2;\n        if (iVar6 == 6) {\n          iVar7 = iVar7 + 1;\n          iVar6 = 0;\n        }\n        iVar4 = iVar4 + 1;\n        iVar5 = iVar6;\n      } while (iVar8 != iVar4);\n      cVar1 = *param_1;\n    } while (cVar1 != '\\0');\n  }\n  return;\n}\n\n",
    "assembly": [
      "0x101189: PUSH RBP",
      "0x10118a: PUSH RBX",
      "0x10118b: SUB RSP, 0x8",
      "0x10118f: MOV RBX, RDI",
      "0x101192: MOV EDI, 0x90",
      "0x101197: CALL 0x00101060",
      "0x10119c: MOVSX R9D, byte ptr [RBX]",
      "0x1011a0: TEST R9D, R9D",
      "0x1011a3: JZ 0x00101210",
      "0x1011a5: LEA R11, [RBX + 0x1]",
      "0x1011a9: MOV R8D, 0x0",
      "0x1011af: MOV EDX, 0x0",
      "0x1011b4: MOV EBP, 0x1",
      "0x1011b9: MOV EBX, 0x0",
      "0x1011be: JMP 0x00101201",
      "0x1011c0: NEG R9D",
      "0x1011c3: MOV R10D, EBX",
      "0x1011c6: JMP 0x00101209",
      "0x1011c8: ADD ECX, 0x1",
      "0x1011cb: CMP R9D, ECX",
      "0x1011ce: JZ 0x001011f4",
      "0x1011d0: LEA ESI, [RDX + 0x1]",
      "0x1011d3: MOVSXD RDX, EDX",
      "0x1011d6: MOVSXD RDI, R8D",
      "0x1011d9: LEA RDI, [RDI + RDI*0x2]",
      "0x1011dd: LEA RDX, [RDX + RDI*0x2]",
      "0x1011e1: MOV dword ptr [RAX + RDX*0x4], R10D",
      "0x1011e5: MOV EDX, ESI",
      "0x1011e7: CMP ESI, 0x6",
      "0x1011ea: JNZ 0x001011c8",
      "0x1011ec: ADD R8D, 0x1",
      "0x1011f0: MOV EDX, EBX",
      "0x1011f2: JMP 0x001011c8",
      "0x1011f4: MOVSX R9D, byte ptr [R11]",
      "0x1011f8: ADD R11, 0x1",
      "0x1011fc: TEST R9D, R9D",
      "0x1011ff: JZ 0x00101210",
      "0x101201: MOV R10D, EBP",
      "0x101204: TEST R9D, R9D",
      "0x101207: JLE 0x001011c0",
      "0x101209: MOV ECX, 0x0",
      "0x10120e: JMP 0x001011d0",
      "0x101210: ADD RSP, 0x8",
      "0x101214: POP RBX",
      "0x101215: POP RBP",
      "0x101216: RET"
    ],
    "comments": [],
    "callers": [
      {
        "address": "0x10124d",
        "name": "FUN_0010124d",
        "classification": {
          "external": false,
          "thunk": false,
          "thunk_target": null,
          "provenance": "ghidra-function-manager"
        },
        "body": {
          "available": true,
          "provenance": "ghidra-function-body-address-set",
          "ranges": [
            {
              "start": "0x10124d",
              "end": "0x10134f"
            }
          ],
          "total_bytes": 259,
          "span_bytes": 259,
          "non_contiguous": false,
          "contains_entry": true
        }
      }
    ],
    "callees": [
      {
        "address": "0x101060",
        "name": "<EXTERNAL>::malloc",
        "classification": {
          "external": false,
          "thunk": true,
          "thunk_target": "0x105030",
          "provenance": "ghidra-function-manager"
        },
        "body": {
          "available": true,
          "provenance": "ghidra-function-body-address-set",
          "ranges": [
            {
              "start": "0x101060",
              "end": "0x101065"
            }
          ],
          "total_bytes": 6,
          "span_bytes": 6,
          "non_contiguous": false,
          "contains_entry": true
        }
      }
    ],
    "incoming_references": [
      {
        "source_address": "0x1012e1",
        "target_address": "0x101189",
        "source_procedure": {
          "address": "0x10124d",
          "name": "FUN_0010124d",
          "classification": {
            "external": false,
            "thunk": false,
            "thunk_target": null,
            "provenance": "ghidra-function-manager"
          },
          "body": {
            "available": true,
            "provenance": "ghidra-function-body-address-set",
            "ranges": [
              {
                "start": "0x10124d",
                "end": "0x10134f"
              }
            ],
            "total_bytes": 259,
            "span_bytes": 259,
            "non_contiguous": false,
            "contains_entry": true
          }
        },
        "target_procedure": {
          "address": "0x101189",
          "name": "FUN_00101189",
          "classification": {
            "external": false,
            "thunk": false,
            "thunk_target": null,
            "provenance": "ghidra-function-manager"
          },
          "body": {
            "available": true,
            "provenance": "ghidra-function-body-address-set",
            "ranges": [
              {
                "start": "0x101189",
                "end": "0x101216"
              }
            ],
            "total_bytes": 142,
            "span_bytes": 142,
            "non_contiguous": false,
            "contains_entry": true
          }
        },
        "kind": {
          "available": true,
          "provenance": "ghidra-reference-manager",
          "type": "UNCONDITIONAL_CALL",
          "flow": true,
          "call": true,
          "jump": false,
          "data": false,
          "read": false,
          "write": false,
          "indirect": false,
          "computed": false,
          "conditional": false,
          "terminal": false,
          "primary": true,
          "operand_index": 0,
          "external": false
        }
      },
      {
        "source_address": "0x10204c",
        "target_address": "0x101189",
        "source_procedure": null,
        "target_procedure": {
          "address": "0x101189",
          "name": "FUN_00101189",
          "classification": {
            "external": false,
            "thunk": false,
            "thunk_target": null,
            "provenance": "ghidra-function-manager"
          },
          "body": {
            "available": true,
            "provenance": "ghidra-function-body-address-set",
            "ranges": [
              {
                "start": "0x101189",
                "end": "0x101216"
              }
            ],
            "total_bytes": 142,
            "span_bytes": 142,
            "non_contiguous": false,
            "contains_entry": true
          }
        },
        "kind": {
          "available": true,
          "provenance": "ghidra-reference-manager",
          "type": "INDIRECTION",
          "flow": true,
          "call": false,
          "jump": false,
          "data": false,
          "read": false,
          "write": false,
          "indirect": true,
          "computed": false,
          "conditional": false,
          "terminal": false,
          "primary": true,
          "operand_index": 0,
          "external": false
        }
      },
      {
        "source_address": "0x1020c8",
        "target_address": "0x101189",
        "source_procedure": null,
        "target_procedure": {
          "address": "0x101189",
          "name": "FUN_00101189",
          "classification": {
            "external": false,
            "thunk": false,
            "thunk_target": null,
            "provenance": "ghidra-function-manager"
          },
          "body": {
            "available": true,
            "provenance": "ghidra-function-body-address-set",
            "ranges": [
              {
                "start": "0x101189",
                "end": "0x101216"
              }
            ],
            "total_bytes": 142,
            "span_bytes": 142,
            "non_contiguous": false,
            "contains_entry": true
          }
        },
        "kind": {
          "available": true,
          "provenance": "ghidra-reference-manager",
          "type": "DATA",
          "flow": false,
          "call": false,
          "jump": false,
          "data": true,
          "read": false,
          "write": false,
          "indirect": false,
          "computed": false,
          "conditional": false,
          "terminal": false,
          "primary": true,
          "operand_index": 0,
          "external": false
        }
      }
    ],
    "outgoing_references": [
      {
        "source_address": "0x101197",
        "target_address": "0x101060",
        "source_procedure": {
          "address": "0x101189",
          "name": "FUN_00101189",
          "classification": {
            "external": false,
            "thunk": false,
            "thunk_target": null,
            "provenance": "ghidra-function-manager"
          },
          "body": {
            "available": true,
            "provenance": "ghidra-function-body-address-set",
            "ranges": [
              {
                "start": "0x101189",
                "end": "0x101216"
              }
            ],
            "total_bytes": 142,
            "span_bytes": 142,
            "non_contiguous": false,
            "contains_entry": true
          }
        },
        "target_procedure": {
          "address": "0x101060",
          "name": "<EXTERNAL>::malloc",
          "classification": {
            "external": false,
            "thunk": true,
            "thunk_target": "0x105030",
            "provenance": "ghidra-function-manager"
          },
          "body": {
            "available": true,
            "provenance": "ghidra-function-body-address-set",
            "ranges": [
              {
                "start": "0x101060",
                "end": "0x101065"
              }
            ],
            "total_bytes": 6,
            "span_bytes": 6,
            "non_contiguous": false,
            "contains_entry": true
          }
        },
        "kind": {
          "available": true,
          "provenance": "ghidra-reference-manager",
          "type": "UNCONDITIONAL_CALL",
          "flow": true,
          "call": true,
          "jump": false,
          "data": false,
          "read": false,
          "write": false,
          "indirect": false,
          "computed": false,
          "conditional": false,
          "terminal": false,
          "primary": true,
          "operand_index": 0,
          "external": false
        }
      },
      {
        "source_address": "0x1011a3",
        "target_address": "0x101210",
        "source_procedure": {
          "address": "0x101189",
          "name": "FUN_00101189",
          "classification": {
            "external": false,
            "thunk": false,
            "thunk_target": null,
            "provenance": "ghidra-function-manager"
          },
          "body": {
            "available": true,
            "provenance": "ghidra-function-body-address-set",
            "ranges": [
              {
                "start": "0x101189",
                "end": "0x101216"
              }
            ],
            "total_bytes": 142,
            "span_bytes": 142,
            "non_contiguous": false,
            "contains_entry": true
          }
        },
        "target_procedure": {
          "address": "0x101189",
          "name": "FUN_00101189",
          "classification": {
            "external": false,
            "thunk": false,
            "thunk_target": null,
            "provenance": "ghidra-function-manager"
          },
          "body": {
            "available": true,
            "provenance": "ghidra-function-body-address-set",
            "ranges": [
              {
                "start": "0x101189",
                "end": "0x101216"
              }
            ],
            "total_bytes": 142,
            "span_bytes": 142,
            "non_contiguous": false,
            "contains_entry": true
          }
        },
        "kind": {
          "available": true,
          "provenance": "ghidra-reference-manager",
          "type": "CONDITIONAL_JUMP",
          "flow": true,
          "call": false,
          "jump": true,
          "data": false,
          "read": false,
          "write": false,
          "indirect": false,
          "computed": false,
          "conditional": true,
          "terminal": false,
          "primary": true,
          "operand_index": 0,
          "external": false
        }
      },
      {
        "source_address": "0x1011be",
        "target_address": "0x101201",
        "source_procedure": {
          "address": "0x101189",
          "name": "FUN_00101189",
          "classification": {
            "external": false,
            "thunk": false,
            "thunk_target": null,
            "provenance": "ghidra-function-manager"
          },
          "body": {
            "available": true,
            "provenance": "ghidra-function-body-address-set",
            "ranges": [
              {
                "start": "0x101189",
                "end": "0x101216"
              }
            ],
            "total_bytes": 142,
            "span_bytes": 142,
            "non_contiguous": false,
            "contains_entry": true
          }
        },
        "target_procedure": {
          "address": "0x101189",
          "name": "FUN_00101189",
          "classification": {
            "external": false,
            "thunk": false,
            "thunk_target": null,
            "provenance": "ghidra-function-manager"
          },
          "body": {
            "available": true,
            "provenance": "ghidra-function-body-address-set",
            "ranges": [
              {
                "start": "0x101189",
                "end": "0x101216"
              }
            ],
            "total_bytes": 142,
            "span_bytes": 142,
            "non_contiguous": false,
            "contains_entry": true
          }
        },
        "kind": {
          "available": true,
          "provenance": "ghidra-reference-manager",
          "type": "UNCONDITIONAL_JUMP",
          "flow": true,
          "call": false,
          "jump": true,
          "data": false,
          "read": false,
          "write": false,
          "indirect": false,
          "computed": false,
          "conditional": false,
          "terminal": false,
          "primary": true,
          "operand_index": 0,
          "external": false
        }
      },
      {
        "source_address": "0x1011c6",
        "target_address": "0x101209",
        "source_procedure": {
          "address": "0x101189",
          "name": "FUN_00101189",
          "classification": {
            "external": false,
            "thunk": false,
            "thunk_target": null,
            "provenance": "ghidra-function-manager"
          },
          "body": {
            "available": true,
            "provenance": "ghidra-function-body-address-set",
            "ranges": [
              {
                "start": "0x101189",
                "end": "0x101216"
              }
            ],
            "total_bytes": 142,
            "span_bytes": 142,
            "non_contiguous": false,
            "contains_entry": true
          }
        },
        "target_procedure": {
          "address": "0x101189",
          "name": "FUN_00101189",
          "classification": {
            "external": false,
            "thunk": false,
            "thunk_target": null,
            "provenance": "ghidra-function-manager"
          },
          "body": {
            "available": true,
            "provenance": "ghidra-function-body-address-set",
            "ranges": [
              {
                "start": "0x101189",
                "end": "0x101216"
              }
            ],
            "total_bytes": 142,
            "span_bytes": 142,
            "non_contiguous": false,
            "contains_entry": true
          }
        },
        "kind": {
          "available": true,
          "provenance": "ghidra-reference-manager",
          "type": "UNCONDITIONAL_JUMP",
          "flow": true,
          "call": false,
          "jump": true,
          "data": false,
          "read": false,
          "write": false,
          "indirect": false,
          "computed": false,
          "conditional": false,
          "terminal": false,
          "primary": true,
          "operand_index": 0,
          "external": false
        }
      },
      {
        "source_address": "0x1011ce",
        "target_address": "0x1011f4",
        "source_procedure": {
          "address": "0x101189",
          "name": "FUN_00101189",
          "classification": {
            "external": false,
            "thunk": false,
            "thunk_target": null,
            "provenance": "ghidra-function-manager"
          },
          "body": {
            "available": true,
            "provenance": "ghidra-function-body-address-set",
            "ranges": [
              {
                "start": "0x101189",
                "end": "0x101216"
              }
            ],
            "total_bytes": 142,
            "span_bytes": 142,
            "non_contiguous": false,
            "contains_entry": true
          }
        },
        "target_procedure": {
          "address": "0x101189",
          "name": "FUN_00101189",
          "classification": {
            "external": false,
            "thunk": false,
            "thunk_target": null,
            "provenance": "ghidra-function-manager"
          },
          "body": {
            "available": true,
            "provenance": "ghidra-function-body-address-set",
            "ranges": [
              {
                "start": "0x101189",
                "end": "0x101216"
              }
            ],
            "total_bytes": 142,
            "span_bytes": 142,
            "non_contiguous": false,
            "contains_entry": true
          }
        },
        "kind": {
          "available": true,
          "provenance": "ghidra-reference-manager",
          "type": "CONDITIONAL_JUMP",
          "flow": true,
          "call": false,
          "jump": true,
          "data": false,
          "read": false,
          "write": false,
          "indirect": false,
          "computed": false,
          "conditional": true,
          "terminal": false,
          "primary": true,
          "operand_index": 0,
          "external": false
        }
      },
      {
        "source_address": "0x1011ea",
        "target_address": "0x1011c8",
        "source_procedure": {
          "address": "0x101189",
          "name": "FUN_00101189",
          "classification": {
            "external": false,
            "thunk": false,
            "thunk_target": null,
            "provenance": "ghidra-function-manager"
          },
          "body": {
            "available": true,
            "provenance": "ghidra-function-body-address-set",
            "ranges": [
              {
                "start": "0x101189",
                "end": "0x101216"
              }
            ],
            "total_bytes": 142,
            "span_bytes": 142,
            "non_contiguous": false,
            "contains_entry": true
          }
        },
        "target_procedure": {
          "address": "0x101189",
          "name": "FUN_00101189",
          "classification": {
            "external": false,
            "thunk": false,
            "thunk_target": null,
            "provenance": "ghidra-function-manager"
          },
          "body": {
            "available": true,
            "provenance": "ghidra-function-body-address-set",
            "ranges": [
              {
                "start": "0x101189",
                "end": "0x101216"
              }
            ],
            "total_bytes": 142,
            "span_bytes": 142,
            "non_contiguous": false,
            "contains_entry": true
          }
        },
        "kind": {
          "available": true,
          "provenance": "ghidra-reference-manager",
          "type": "CONDITIONAL_JUMP",
          "flow": true,
          "call": false,
          "jump": true,
          "data": false,
          "read": false,
          "write": false,
          "indirect": false,
          "computed": false,
          "conditional": true,
          "terminal": false,
          "primary": true,
          "operand_index": 0,
          "external": false
        }
      },
      {
        "source_address": "0x1011f2",
        "target_address": "0x1011c8",
        "source_procedure": {
          "address": "0x101189",
          "name": "FUN_00101189",
          "classification": {
            "external": false,
            "thunk": false,
            "thunk_target": null,
            "provenance": "ghidra-function-manager"
          },
          "body": {
            "available": true,
            "provenance": "ghidra-function-body-address-set",
            "ranges": [
              {
                "start": "0x101189",
                "end": "0x101216"
              }
            ],
            "total_bytes": 142,
            "span_bytes": 142,
            "non_contiguous": false,
            "contains_entry": true
          }
        },
        "target_procedure": {
          "address": "0x101189",
          "name": "FUN_00101189",
          "classification": {
            "external": false,
            "thunk": false,
            "thunk_target": null,
            "provenance": "ghidra-function-manager"
          },
          "body": {
            "available": true,
            "provenance": "ghidra-function-body-address-set",
            "ranges": [
              {
                "start": "0x101189",
                "end": "0x101216"
              }
            ],
            "total_bytes": 142,
            "span_bytes": 142,
            "non_contiguous": false,
            "contains_entry": true
          }
        },
        "kind": {
          "available": true,
          "provenance": "ghidra-reference-manager",
          "type": "UNCONDITIONAL_JUMP",
          "flow": true,
          "call": false,
          "jump": true,
          "data": false,
          "read": false,
          "write": false,
          "indirect": false,
          "computed": false,
          "conditional": false,
          "terminal": false,
          "primary": true,
          "operand_index": 0,
          "external": false
        }
      },
      {
        "source_address": "0x1011ff",
        "target_address": "0x101210",
        "source_procedure": {
          "address": "0x101189",
          "name": "FUN_00101189",
          "classification": {
            "external": false,
            "thunk": false,
            "thunk_target": null,
            "provenance": "ghidra-function-manager"
          },
          "body": {
            "available": true,
            "provenance": "ghidra-function-body-address-set",
            "ranges": [
              {
                "start": "0x101189",
                "end": "0x101216"
              }
            ],
            "total_bytes": 142,
            "span_bytes": 142,
            "non_contiguous": false,
            "contains_entry": true
          }
        },
        "target_procedure": {
          "address": "0x101189",
          "name": "FUN_00101189",
          "classification": {
            "external": false,
            "thunk": false,
            "thunk_target": null,
            "provenance": "ghidra-function-manager"
          },
          "body": {
            "available": true,
            "provenance": "ghidra-function-body-address-set",
            "ranges": [
              {
                "start": "0x101189",
                "end": "0x101216"
              }
            ],
            "total_bytes": 142,
            "span_bytes": 142,
            "non_contiguous": false,
            "contains_entry": true
          }
        },
        "kind": {
          "available": true,
          "provenance": "ghidra-reference-manager",
          "type": "CONDITIONAL_JUMP",
          "flow": true,
          "call": false,
          "jump": true,
          "data": false,
          "read": false,
          "write": false,
          "indirect": false,
          "computed": false,
          "conditional": true,
          "terminal": false,
          "primary": true,
          "operand_index": 0,
          "external": false
        }
      },
      {
        "source_address": "0x101207",
        "target_address": "0x1011c0",
        "source_procedure": {
          "address": "0x101189",
          "name": "FUN_00101189",
          "classification": {
            "external": false,
            "thunk": false,
            "thunk_target": null,
            "provenance": "ghidra-function-manager"
          },
          "body": {
            "available": true,
            "provenance": "ghidra-function-body-address-set",
            "ranges": [
              {
                "start": "0x101189",
                "end": "0x101216"
              }
            ],
            "total_bytes": 142,
            "span_bytes": 142,
            "non_contiguous": false,
            "contains_entry": true
          }
        },
        "target_procedure": {
          "address": "0x101189",
          "name": "FUN_00101189",
          "classification": {
            "external": false,
            "thunk": false,
            "thunk_target": null,
            "provenance": "ghidra-function-manager"
          },
          "body": {
            "available": true,
            "provenance": "ghidra-function-body-address-set",
            "ranges": [
              {
                "start": "0x101189",
                "end": "0x101216"
              }
            ],
            "total_bytes": 142,
            "span_bytes": 142,
            "non_contiguous": false,
            "contains_entry": true
          }
        },
        "kind": {
          "available": true,
          "provenance": "ghidra-reference-manager",
          "type": "CONDITIONAL_JUMP",
          "flow": true,
          "call": false,
          "jump": true,
          "data": false,
          "read": false,
          "write": false,
          "indirect": false,
          "computed": false,
          "conditional": true,
          "terminal": false,
          "primary": true,
          "operand_index": 0,
          "external": false
        }
      },
      {
        "source_address": "0x10120e",
        "target_address": "0x1011d0",
        "source_procedure": {
          "address": "0x101189",
          "name": "FUN_00101189",
          "classification": {
            "external": false,
            "thunk": false,
            "thunk_target": null,
            "provenance": "ghidra-function-manager"
          },
          "body": {
            "available": true,
            "provenance": "ghidra-function-body-address-set",
            "ranges": [
              {
                "start": "0x101189",
                "end": "0x101216"
              }
            ],
            "total_bytes": 142,
            "span_bytes": 142,
            "non_contiguous": false,
            "contains_entry": true
          }
        },
        "target_procedure": {
          "address": "0x101189",
          "name": "FUN_00101189",
          "classification": {
            "external": false,
            "thunk": false,
            "thunk_target": null,
            "provenance": "ghidra-function-manager"
          },
          "body": {
            "available": true,
            "provenance": "ghidra-function-body-address-set",
            "ranges": [
              {
                "start": "0x101189",
                "end": "0x101216"
              }
            ],
            "total_bytes": 142,
            "span_bytes": 142,
            "non_contiguous": false,
            "contains_entry": true
          }
        },
        "kind": {
          "available": true,
          "provenance": "ghidra-reference-manager",
          "type": "UNCONDITIONAL_JUMP",
          "flow": true,
          "call": false,
          "jump": true,
          "data": false,
          "read": false,
          "write": false,
          "indirect": false,
          "computed": false,
          "conditional": false,
          "terminal": false,
          "primary": true,
          "operand_index": 0,
          "external": false
        }
      }
    ],
    "unresolved_calls": [],
    "referenced_strings": [],
    "referenced_names": [
      {
        "address": "0x101060",
        "value": "<EXTERNAL>::malloc",
        "source_address": "0x101197"
      },
      {
        "address": "0x1011c0",
        "value": "LAB_001011c0",
        "source_address": "0x101207"
      },
      {
        "address": "0x1011c8",
        "value": "LAB_001011c8",
        "source_address": "0x1011ea"
      },
      {
        "address": "0x1011c8",
        "value": "LAB_001011c8",
        "source_address": "0x1011f2"
      },
      {
        "address": "0x1011d0",
        "value": "LAB_001011d0",
        "source_address": "0x10120e"
      },
      {
        "address": "0x1011f4",
        "value": "LAB_001011f4",
        "source_address": "0x1011ce"
      },
      {
        "address": "0x101201",
        "value": "LAB_00101201",
        "source_address": "0x1011be"
      },
      {
        "address": "0x101209",
        "value": "LAB_00101209",
        "source_address": "0x1011c6"
      },
      {
        "address": "0x101210",
        "value": "LAB_00101210",
        "source_address": "0x1011a3"
      },
      {
        "address": "0x101210",
        "value": "LAB_00101210",
        "source_address": "0x1011ff"
      }
    ],
    "basic_blocks": [
      {
        "start": "0x101189",
        "end": "0x1011a5",
        "successors": [
          "0x1011a5",
          "0x101210"
        ]
      },
      {
        "start": "0x1011a5",
        "end": "0x1011c0",
        "successors": [
          "0x101201"
        ]
      },
      {
        "start": "0x1011c0",
        "end": "0x1011c8",
        "successors": [
          "0x101209"
        ]
      },
      {
        "start": "0x1011c8",
        "end": "0x1011d0",
        "successors": [
          "0x1011d0",
          "0x1011f4"
        ]
      },
      {
        "start": "0x1011d0",
        "end": "0x1011ec",
        "successors": [
          "0x1011c8",
          "0x1011ec"
        ]
      },
      {
        "start": "0x1011ec",
        "end": "0x1011f4",
        "successors": [
          "0x1011c8"
        ]
      },
      {
        "start": "0x1011f4",
        "end": "0x101201",
        "successors": [
          "0x101201",
          "0x101210"
        ]
      },
      {
        "start": "0x101201",
        "end": "0x101209",
        "successors": [
          "0x1011c0",
          "0x101209"
        ]
      },
      {
        "start": "0x101209",
        "end": "0x101210",
        "successors": [
          "0x1011d0"
        ]
      },
      {
        "start": "0x101210",
        "end": "0x101217",
        "successors": []
      }
    ],
    "native_api": {
      "available": true,
      "provenance": "ghidra-high-function",
      "signature_source": "default",
      "calling_convention": "__stdcall",
      "return_type": {
        "ordinal": null,
        "name": null,
        "data_type": "void",
        "size_bytes": 0,
        "storage": "<VOID>",
        "confidence": "low",
        "evidence": [
          {
            "kind": "signature-source",
            "source": "ghidra-function-manager",
            "detail": "Function signature source is default."
          },
          {
            "kind": "decompiler-type",
            "source": "ghidra-high-function",
            "detail": "HighFunction recovered data type void."
          }
        ],
        "decompiler_artifacts": [
          "recovered-signature",
          "register-or-stack-storage"
        ],
        "role": "return"
      },
      "parameters": [
        {
          "ordinal": 0,
          "name": "param_1",
          "data_type": "char *",
          "size_bytes": 8,
          "storage": "RDI:8",
          "confidence": "low",
          "evidence": [
            {
              "kind": "signature-source",
              "source": "ghidra-function-manager",
              "detail": "Function signature source is default."
            },
            {
              "kind": "decompiler-type",
              "source": "ghidra-high-function",
              "detail": "HighFunction recovered data type char *."
            }
          ],
          "decompiler_artifacts": [
            "recovered-signature",
            "register-or-stack-storage",
            "compiler-generated-variable"
          ],
          "role": "parameter"
        }
      ],
      "jump_tables": [],
      "pseudocode": {
        "classification": "decompiler-generated-non-source",
        "compilable": false
      },
      "decompiler_artifacts": [
        "recovered-signature",
        "register-and-stack-variables",
        "compiler-generated-control-flow",
        "pointer-arithmetic",
        "pseudocode"
      ],
      "limitations": [
        "Types and calling conventions are Ghidra decompiler observations, not source declarations.",
        "Register variables, compiler-generated blocks, and pointer arithmetic remain decompiler artifacts.",
        "Pseudocode is neither original source nor guaranteed to compile."
      ]
    },
    "native_value_flow": {
      "available": true,
      "provenance": "ghidra-high-pcode",
      "operations": [
        {
          "id": "0x101197#19",
          "address": "0x101197",
          "sequence": 19,
          "opcode": "CALL",
          "is_dead": true,
          "block_membership": "member",
          "inputs": [
            {
              "kind": "address",
              "size_bytes": 8,
              "location": "0x101060",
              "constant_hex": null
            },
            {
              "kind": "constant",
              "size_bytes": 8,
              "location": null,
              "constant_hex": "90"
            }
          ],
          "output": {
            "kind": "register",
            "size_bytes": 8,
            "location": "register:0x0",
            "constant_hex": null
          }
        },
        {
          "id": "0x10119c#20",
          "address": "0x10119c",
          "sequence": 20,
          "opcode": "LOAD",
          "is_dead": true,
          "block_membership": "member",
          "inputs": [
            {
              "kind": "constant",
              "size_bytes": 4,
              "location": null,
              "constant_hex": "1b1"
            },
            {
              "kind": "register",
              "size_bytes": 8,
              "location": "register:0x38",
              "constant_hex": null
            }
          ],
          "output": {
            "kind": "unique",
            "size_bytes": 1,
            "location": "unique:0x23a00",
            "constant_hex": null
          }
        },
        {
          "id": "0x10119c#21",
          "address": "0x10119c",
          "sequence": 21,
          "opcode": "INT_SEXT",
          "is_dead": true,
          "block_membership": "member",
          "inputs": [
            {
              "kind": "unique",
              "size_bytes": 1,
              "location": "unique:0x23a00",
              "constant_hex": null
            }
          ],
          "output": {
            "kind": "register",
            "size_bytes": 4,
            "location": "register:0x88",
            "constant_hex": null
          }
        },
        {
          "id": "0x1011a0#27",
          "address": "0x1011a0",
          "sequence": 27,
          "opcode": "INT_NOTEQUAL",
          "is_dead": true,
          "block_membership": "member",
          "inputs": [
            {
              "kind": "unique",
              "size_bytes": 1,
              "location": "unique:0x23a00",
              "constant_hex": null
            },
            {
              "kind": "constant",
              "size_bytes": 1,
              "location": null,
              "constant_hex": "0"
            }
          ],
          "output": {
            "kind": "register",
            "size_bytes": 1,
            "location": "register:0x206",
            "constant_hex": null
          }
        },
        {
          "id": "0x1011a3#32",
          "address": "0x1011a3",
          "sequence": 32,
          "opcode": "CBRANCH",
          "is_dead": true,
          "block_membership": "member",
          "inputs": [
            {
              "kind": "address",
              "size_bytes": 1,
              "location": "0x101210",
              "constant_hex": null
            },
            {
              "kind": "register",
              "size_bytes": 1,
              "location": "register:0x206",
              "constant_hex": null
            }
          ],
          "output": null
        },
        {
          "id": "0x1011a5#33",
          "address": "0x1011a5",
          "sequence": 33,
          "opcode": "PTRADD",
          "is_dead": true,
          "block_membership": "member",
          "inputs": [
            {
              "kind": "unique",
              "size_bytes": 8,
              "location": "unique:0x10000041",
              "constant_hex": null
            },
            {
              "kind": "constant",
              "size_bytes": 8,
              "location": null,
              "constant_hex": "1"
            },
            {
              "kind": "constant",
              "size_bytes": 8,
              "location": null,
              "constant_hex": "1"
            }
          ],
          "output": {
            "kind": "register",
            "size_bytes": 8,
            "location": "register:0x98",
            "constant_hex": null
          }
        },
        {
          "id": "0x1011a9#410",
          "address": "0x1011a9",
          "sequence": 410,
          "opcode": "COPY",
          "is_dead": true,
          "block_membership": "member",
          "inputs": [
            {
              "kind": "constant",
              "size_bytes": 4,
              "location": null,
              "constant_hex": "0"
            }
          ],
          "output": {
            "kind": "register",
            "size_bytes": 4,
            "location": "register:0x80",
            "constant_hex": null
          }
        },
        {
          "id": "0x1011af#435",
          "address": "0x1011af",
          "sequence": 435,
          "opcode": "COPY",
          "is_dead": true,
          "block_membership": "member",
          "inputs": [
            {
              "kind": "constant",
              "size_bytes": 4,
              "location": null,
              "constant_hex": "0"
            }
          ],
          "output": {
            "kind": "register",
            "size_bytes": 4,
            "location": "register:0x10",
            "constant_hex": null
          }
        },
        {
          "id": "0x1011be#39",
          "address": "0x1011be",
          "sequence": 39,
          "opcode": "BRANCH",
          "is_dead": true,
          "block_membership": "member",
          "inputs": [
            {
              "kind": "address",
              "size_bytes": 1,
              "location": "0x101201",
              "constant_hex": null
            }
          ],
          "output": null
        },
        {
          "id": "0x1011c0#163",
          "address": "0x1011c0",
          "sequence": 163,
          "opcode": "INT_2COMP",
          "is_dead": true,
          "block_membership": "member",
          "inputs": [
            {
              "kind": "register",
              "size_bytes": 4,
              "location": "register:0x88",
              "constant_hex": null
            }
          ],
          "output": {
            "kind": "register",
            "size_bytes": 4,
            "location": "register:0x88",
            "constant_hex": null
          }
        },
        {
          "id": "0x1011c6#173",
          "address": "0x1011c6",
          "sequence": 173,
          "opcode": "BRANCH",
          "is_dead": true,
          "block_membership": "member",
          "inputs": [
            {
              "kind": "address",
              "size_bytes": 1,
              "location": "0x101209",
              "constant_hex": null
            }
          ],
          "output": null
        },
        {
          "id": "0x1011c8#100",
          "address": "0x1011c8",
          "sequence": 100,
          "opcode": "INT_ADD",
          "is_dead": true,
          "block_membership": "member",
          "inputs": [
            {
              "kind": "register",
              "size_bytes": 4,
              "location": "register:0x8",
              "constant_hex": null
            },
            {
              "kind": "constant",
              "size_bytes": 4,
              "location": null,
              "constant_hex": "1"
            }
          ],
          "output": {
            "kind": "register",
            "size_bytes": 4,
            "location": "register:0x8",
            "constant_hex": null
          }
        },
        {
          "id": "0x1011c8#400",
          "address": "0x1011c8",
          "sequence": 400,
          "opcode": "MULTIEQUAL",
          "is_dead": true,
          "block_membership": "member",
          "inputs": [
            {
              "kind": "register",
              "size_bytes": 4,
              "location": "register:0x30",
              "constant_hex": null
            },
            {
              "kind": "register",
              "size_bytes": 4,
              "location": "register:0x10",
              "constant_hex": null
            }
          ],
          "output": {
            "kind": "register",
            "size_bytes": 4,
            "location": "register:0x10",
            "constant_hex": null
          }
        },
        {
          "id": "0x1011c8#407",
          "address": "0x1011c8",
          "sequence": 407,
          "opcode": "MULTIEQUAL",
          "is_dead": true,
          "block_membership": "member",
          "inputs": [
            {
              "kind": "register",
              "size_bytes": 4,
              "location": "register:0x80",
              "constant_hex": null
            },
            {
              "kind": "register",
              "size_bytes": 4,
              "location": "register:0x80",
              "constant_hex": null
            }
          ],
          "output": {
            "kind": "register",
            "size_bytes": 4,
            "location": "register:0x80",
            "constant_hex": null
          }
        },
        {
          "id": "0x1011cb#113",
          "address": "0x1011cb",
          "sequence": 113,
          "opcode": "INT_NOTEQUAL",
          "is_dead": true,
          "block_membership": "member",
          "inputs": [
            {
              "kind": "register",
              "size_bytes": 4,
              "location": "register:0x88",
              "constant_hex": null
            },
            {
              "kind": "register",
              "size_bytes": 4,
              "location": "register:0x8",
              "constant_hex": null
            }
          ],
          "output": {
            "kind": "register",
            "size_bytes": 1,
            "location": "register:0x206",
            "constant_hex": null
          }
        },
        {
          "id": "0x1011ce#118",
          "address": "0x1011ce",
          "sequence": 118,
          "opcode": "CBRANCH",
          "is_dead": true,
          "block_membership": "member",
          "inputs": [
            {
              "kind": "address",
              "size_bytes": 1,
              "location": "0x1011f4",
              "constant_hex": null
            },
            {
              "kind": "register",
              "size_bytes": 1,
              "location": "register:0x206",
              "constant_hex": null
            }
          ],
          "output": null
        },
        {
          "id": "0x1011ce#439",
          "address": "0x1011ce",
          "sequence": 439,
          "opcode": "COPY",
          "is_dead": true,
          "block_membership": "member",
          "inputs": [
            {
              "kind": "register",
              "size_bytes": 4,
              "location": "register:0x10",
              "constant_hex": null
            }
          ],
          "output": {
            "kind": "unique",
            "size_bytes": 4,
            "location": "unique:0x10000054",
            "constant_hex": null
          }
        },
        {
          "id": "0x1011d0#56",
          "address": "0x1011d0",
          "sequence": 56,
          "opcode": "INT_ADD",
          "is_dead": true,
          "block_membership": "member",
          "inputs": [
            {
              "kind": "register",
              "size_bytes": 4,
              "location": "register:0x10",
              "constant_hex": null
            },
            {
              "kind": "constant",
              "size_bytes": 4,
              "location": null,
              "constant_hex": "1"
            }
          ],
          "output": {
            "kind": "register",
            "size_bytes": 4,
            "location": "register:0x30",
            "constant_hex": null
          }
        },
        {
          "id": "0x1011d0#396",
          "address": "0x1011d0",
          "sequence": 396,
          "opcode": "MULTIEQUAL",
          "is_dead": true,
          "block_membership": "member",
          "inputs": [
            {
              "kind": "register",
              "size_bytes": 4,
              "location": "register:0x8",
              "constant_hex": null
            },
            {
              "kind": "register",
              "size_bytes": 4,
              "location": "register:0x8",
              "constant_hex": null
            }
          ],
          "output": {
            "kind": "register",
            "size_bytes": 4,
            "location": "register:0x8",
            "constant_hex": null
          }
        },
        {
          "id": "0x1011d0#406",
          "address": "0x1011d0",
          "sequence": 406,
          "opcode": "MULTIEQUAL",
          "is_dead": true,
          "block_membership": "member",
          "inputs": [
            {
              "kind": "register",
              "size_bytes": 4,
              "location": "register:0x80",
              "constant_hex": null
            },
            {
              "kind": "register",
              "size_bytes": 4,
              "location": "register:0x80",
              "constant_hex": null
            }
          ],
          "output": {
            "kind": "register",
            "size_bytes": 4,
            "location": "register:0x80",
            "constant_hex": null
          }
        },
        {
          "id": "0x1011d0#432",
          "address": "0x1011d0",
          "sequence": 432,
          "opcode": "MULTIEQUAL",
          "is_dead": true,
          "block_membership": "member",
          "inputs": [
            {
              "kind": "unique",
              "size_bytes": 4,
              "location": "unique:0x10000050",
              "constant_hex": null
            },
            {
              "kind": "unique",
              "size_bytes": 4,
              "location": "unique:0x10000054",
              "constant_hex": null
            }
          ],
          "output": {
            "kind": "register",
            "size_bytes": 4,
            "location": "register:0x10",
            "constant_hex": null
          }
        },
        {
          "id": "0x1011d3#59",
          "address": "0x1011d3",
          "sequence": 59,
          "opcode": "INT_SEXT",
          "is_dead": true,
          "block_membership": "member",
          "inputs": [
            {
              "kind": "register",
              "size_bytes": 4,
              "location": "register:0x10",
              "constant_hex": null
            }
          ],
          "output": {
            "kind": "register",
            "size_bytes": 8,
            "location": "register:0x10",
            "constant_hex": null
          }
        },
        {
          "id": "0x1011d6#60",
          "address": "0x1011d6",
          "sequence": 60,
          "opcode": "INT_SEXT",
          "is_dead": true,
          "block_membership": "member",
          "inputs": [
            {
              "kind": "register",
              "size_bytes": 4,
              "location": "register:0x80",
              "constant_hex": null
            }
          ],
          "output": {
            "kind": "register",
            "size_bytes": 8,
            "location": "register:0x38",
            "constant_hex": null
          }
        },
        {
          "id": "0x1011dd#64",
          "address": "0x1011dd",
          "sequence": 64,
          "opcode": "INT_MULT",
          "is_dead": true,
          "block_membership": "member",
          "inputs": [
            {
              "kind": "register",
              "size_bytes": 8,
              "location": "register:0x38",
              "constant_hex": null
            },
            {
              "kind": "constant",
              "size_bytes": 8,
              "location": null,
              "constant_hex": "6"
            }
          ],
          "output": {
            "kind": "unique",
            "size_bytes": 8,
            "location": "unique:0x9200",
            "constant_hex": null
          }
        },
        {
          "id": "0x1011dd#65",
          "address": "0x1011dd",
          "sequence": 65,
          "opcode": "INT_ADD",
          "is_dead": true,
          "block_membership": "member",
          "inputs": [
            {
              "kind": "register",
              "size_bytes": 8,
              "location": "register:0x10",
              "constant_hex": null
            },
            {
              "kind": "unique",
              "size_bytes": 8,
              "location": "unique:0x9200",
              "constant_hex": null
            }
          ],
          "output": {
            "kind": "unique",
            "size_bytes": 8,
            "location": "unique:0x9400",
            "constant_hex": null
          }
        },
        {
          "id": "0x1011e1#67",
          "address": "0x1011e1",
          "sequence": 67,
          "opcode": "INT_MULT",
          "is_dead": true,
          "block_membership": "member",
          "inputs": [
            {
              "kind": "unique",
              "size_bytes": 8,
              "location": "unique:0x9400",
              "constant_hex": null
            },
            {
              "kind": "constant",
              "size_bytes": 8,
              "location": null,
              "constant_hex": "4"
            }
          ],
          "output": {
            "kind": "unique",
            "size_bytes": 8,
            "location": "unique:0x9200",
            "constant_hex": null
          }
        },
        {
          "id": "0x1011e1#68",
          "address": "0x1011e1",
          "sequence": 68,
          "opcode": "INT_ADD",
          "is_dead": true,
          "block_membership": "member",
          "inputs": [
            {
              "kind": "unique",
              "size_bytes": 8,
              "location": "unique:0x10000058",
              "constant_hex": null
            },
            {
              "kind": "unique",
              "size_bytes": 8,
              "location": "unique:0x9200",
              "constant_hex": null
            }
          ],
          "output": {
            "kind": "unique",
            "size_bytes": 8,
            "location": "unique:0x10000060",
            "constant_hex": null
          }
        },
        {
          "id": "0x1011e1#70",
          "address": "0x1011e1",
          "sequence": 70,
          "opcode": "STORE",
          "is_dead": true,
          "block_membership": "member",
          "inputs": [
            {
              "kind": "constant",
              "size_bytes": 4,
              "location": null,
              "constant_hex": "1b1"
            },
            {
              "kind": "unique",
              "size_bytes": 8,
              "location": "unique:0x9400",
              "constant_hex": null
            },
            {
              "kind": "register",
              "size_bytes": 4,
              "location": "register:0x90",
              "constant_hex": null
            }
          ],
          "output": null
        },
        {
          "id": "0x1011e1#440",
          "address": "0x1011e1",
          "sequence": 440,
          "opcode": "CAST",
          "is_dead": true,
          "block_membership": "member",
          "inputs": [
            {
              "kind": "register",
              "size_bytes": 8,
              "location": "register:0x0",
              "constant_hex": null
            }
          ],
          "output": {
            "kind": "unique",
            "size_bytes": 8,
            "location": "unique:0x10000058",
            "constant_hex": null
          }
        },
        {
          "id": "0x1011e1#441",
          "address": "0x1011e1",
          "sequence": 441,
          "opcode": "CAST",
          "is_dead": true,
          "block_membership": "member",
          "inputs": [
            {
              "kind": "unique",
              "size_bytes": 8,
              "location": "unique:0x10000060",
              "constant_hex": null
            }
          ],
          "output": {
            "kind": "unique",
            "size_bytes": 8,
            "location": "unique:0x9400",
            "constant_hex": null
          }
        },
        {
          "id": "0x1011e7#78",
          "address": "0x1011e7",
          "sequence": 78,
          "opcode": "INT_EQUAL",
          "is_dead": true,
          "block_membership": "member",
          "inputs": [
            {
              "kind": "register",
              "size_bytes": 4,
              "location": "register:0x30",
              "constant_hex": null
            },
            {
              "kind": "constant",
              "size_bytes": 4,
              "location": null,
              "constant_hex": "6"
            }
          ],
          "output": {
            "kind": "register",
            "size_bytes": 1,
            "location": "register:0x206",
            "constant_hex": null
          }
        },
        {
          "id": "0x1011ea#84",
          "address": "0x1011ea",
          "sequence": 84,
          "opcode": "CBRANCH",
          "is_dead": true,
          "block_membership": "member",
          "inputs": [
            {
              "kind": "address",
              "size_bytes": 1,
              "location": "0x1011c8",
              "constant_hex": null
            },
            {
              "kind": "register",
              "size_bytes": 1,
              "location": "register:0x206",
              "constant_hex": null
            }
          ],
          "output": null
        },
        {
          "id": "0x1011ec#87",
          "address": "0x1011ec",
          "sequence": 87,
          "opcode": "INT_ADD",
          "is_dead": true,
          "block_membership": "member",
          "inputs": [
            {
              "kind": "register",
              "size_bytes": 4,
              "location": "register:0x80",
              "constant_hex": null
            },
            {
              "kind": "constant",
              "size_bytes": 4,
              "location": null,
              "constant_hex": "1"
            }
          ],
          "output": {
            "kind": "register",
            "size_bytes": 4,
            "location": "register:0x80",
            "constant_hex": null
          }
        },
        {
          "id": "0x1011f0#270",
          "address": "0x1011f0",
          "sequence": 270,
          "opcode": "COPY",
          "is_dead": true,
          "block_membership": "member",
          "inputs": [
            {
              "kind": "constant",
              "size_bytes": 4,
              "location": null,
              "constant_hex": "0"
            }
          ],
          "output": {
            "kind": "register",
            "size_bytes": 4,
            "location": "register:0x10",
            "constant_hex": null
          }
        },
        {
          "id": "0x1011f2#97",
          "address": "0x1011f2",
          "sequence": 97,
          "opcode": "BRANCH",
          "is_dead": true,
          "block_membership": "member",
          "inputs": [
            {
              "kind": "address",
              "size_bytes": 1,
              "location": "0x1011c8",
              "constant_hex": null
            }
          ],
          "output": null
        },
        {
          "id": "0x1011f4#119",
          "address": "0x1011f4",
          "sequence": 119,
          "opcode": "LOAD",
          "is_dead": true,
          "block_membership": "member",
          "inputs": [
            {
              "kind": "constant",
              "size_bytes": 4,
              "location": null,
              "constant_hex": "1b1"
            },
            {
              "kind": "register",
              "size_bytes": 8,
              "location": "register:0x98",
              "constant_hex": null
            }
          ],
          "output": {
            "kind": "unique",
            "size_bytes": 1,
            "location": "unique:0x23a00",
            "constant_hex": null
          }
        },
        {
          "id": "0x1011fc#135",
          "address": "0x1011fc",
          "sequence": 135,
          "opcode": "INT_NOTEQUAL",
          "is_dead": true,
          "block_membership": "member",
          "inputs": [
            {
              "kind": "unique",
              "size_bytes": 1,
              "location": "unique:0x23a00",
              "constant_hex": null
            },
            {
              "kind": "constant",
              "size_bytes": 1,
              "location": null,
              "constant_hex": "0"
            }
          ],
          "output": {
            "kind": "register",
            "size_bytes": 1,
            "location": "register:0x206",
            "constant_hex": null
          }
        },
        {
          "id": "0x1011ff#140",
          "address": "0x1011ff",
          "sequence": 140,
          "opcode": "CBRANCH",
          "is_dead": true,
          "block_membership": "member",
          "inputs": [
            {
              "kind": "address",
              "size_bytes": 1,
              "location": "0x101210",
              "constant_hex": null
            },
            {
              "kind": "register",
              "size_bytes": 1,
              "location": "register:0x206",
              "constant_hex": null
            }
          ],
          "output": null
        },
        {
          "id": "0x101201#409",
          "address": "0x101201",
          "sequence": 409,
          "opcode": "MULTIEQUAL",
          "is_dead": true,
          "block_membership": "member",
          "inputs": [
            {
              "kind": "register",
              "size_bytes": 4,
              "location": "register:0x80",
              "constant_hex": null
            },
            {
              "kind": "register",
              "size_bytes": 4,
              "location": "register:0x80",
              "constant_hex": null
            }
          ],
          "output": {
            "kind": "register",
            "size_bytes": 4,
            "location": "register:0x80",
            "constant_hex": null
          }
        },
        {
          "id": "0x101201#420",
          "address": "0x101201",
          "sequence": 420,
          "opcode": "MULTIEQUAL",
          "is_dead": true,
          "block_membership": "member",
          "inputs": [
            {
              "kind": "register",
              "size_bytes": 8,
              "location": "register:0x38",
              "constant_hex": null
            },
            {
              "kind": "register",
              "size_bytes": 8,
              "location": "register:0x98",
              "constant_hex": null
            }
          ],
          "output": {
            "kind": "unique",
            "size_bytes": 8,
            "location": "unique:0x10000041",
            "constant_hex": null
          }
        },
        {
          "id": "0x101201#426",
          "address": "0x101201",
          "sequence": 426,
          "opcode": "MULTIEQUAL",
          "is_dead": true,
          "block_membership": "member",
          "inputs": [
            {
              "kind": "unique",
              "size_bytes": 1,
              "location": "unique:0x23a00",
              "constant_hex": null
            },
            {
              "kind": "unique",
              "size_bytes": 1,
              "location": "unique:0x23a00",
              "constant_hex": null
            }
          ],
          "output": {
            "kind": "unique",
            "size_bytes": 1,
            "location": "unique:0x23a00",
            "constant_hex": null
          }
        },
        {
          "id": "0x101201#434",
          "address": "0x101201",
          "sequence": 434,
          "opcode": "MULTIEQUAL",
          "is_dead": true,
          "block_membership": "member",
          "inputs": [
            {
              "kind": "register",
              "size_bytes": 4,
              "location": "register:0x10",
              "constant_hex": null
            },
            {
              "kind": "register",
              "size_bytes": 4,
              "location": "register:0x10",
              "constant_hex": null
            }
          ],
          "output": {
            "kind": "register",
            "size_bytes": 4,
            "location": "register:0x10",
            "constant_hex": null
          }
        },
        {
          "id": "0x101207#52",
          "address": "0x101207",
          "sequence": 52,
          "opcode": "INT_SLESS",
          "is_dead": true,
          "block_membership": "member",
          "inputs": [
            {
              "kind": "register",
              "size_bytes": 4,
              "location": "register:0x88",
              "constant_hex": null
            },
            {
              "kind": "constant",
              "size_bytes": 4,
              "location": null,
              "constant_hex": "1"
            }
          ],
          "output": {
            "kind": "unique",
            "size_bytes": 1,
            "location": "unique:0x25f00",
            "constant_hex": null
          }
        },
        {
          "id": "0x101207#53",
          "address": "0x101207",
          "sequence": 53,
          "opcode": "CBRANCH",
          "is_dead": true,
          "block_membership": "member",
          "inputs": [
            {
              "kind": "address",
              "size_bytes": 1,
              "location": "0x1011c0",
              "constant_hex": null
            },
            {
              "kind": "unique",
              "size_bytes": 1,
              "location": "unique:0x25f00",
              "constant_hex": null
            }
          ],
          "output": null
        },
        {
          "id": "0x101209#392",
          "address": "0x101209",
          "sequence": 392,
          "opcode": "MULTIEQUAL",
          "is_dead": true,
          "block_membership": "member",
          "inputs": [
            {
              "kind": "register",
              "size_bytes": 4,
              "location": "register:0x88",
              "constant_hex": null
            },
            {
              "kind": "register",
              "size_bytes": 4,
              "location": "register:0x88",
              "constant_hex": null
            }
          ],
          "output": {
            "kind": "register",
            "size_bytes": 4,
            "location": "register:0x88",
            "constant_hex": null
          }
        },
        {
          "id": "0x101209#399",
          "address": "0x101209",
          "sequence": 399,
          "opcode": "COPY",
          "is_dead": true,
          "block_membership": "member",
          "inputs": [
            {
              "kind": "constant",
              "size_bytes": 4,
              "location": null,
              "constant_hex": "0"
            }
          ],
          "output": {
            "kind": "register",
            "size_bytes": 4,
            "location": "register:0x8",
            "constant_hex": null
          }
        },
        {
          "id": "0x101209#414",
          "address": "0x101209",
          "sequence": 414,
          "opcode": "INT_ZEXT",
          "is_dead": true,
          "block_membership": "member",
          "inputs": [
            {
              "kind": "unique",
              "size_bytes": 1,
              "location": "unique:0x10000049",
              "constant_hex": null
            }
          ],
          "output": {
            "kind": "register",
            "size_bytes": 4,
            "location": "register:0x90",
            "constant_hex": null
          }
        },
        {
          "id": "0x101209#421",
          "address": "0x101209",
          "sequence": 421,
          "opcode": "BOOL_NEGATE",
          "is_dead": true,
          "block_membership": "member",
          "inputs": [
            {
              "kind": "unique",
              "size_bytes": 1,
              "location": "unique:0x25f00",
              "constant_hex": null
            }
          ],
          "output": {
            "kind": "unique",
            "size_bytes": 1,
            "location": "unique:0x10000049",
            "constant_hex": null
          }
        },
        {
          "id": "0x10120e#55",
          "address": "0x10120e",
          "sequence": 55,
          "opcode": "BRANCH",
          "is_dead": true,
          "block_membership": "member",
          "inputs": [
            {
              "kind": "address",
              "size_bytes": 1,
              "location": "0x1011d0",
              "constant_hex": null
            }
          ],
          "output": null
        },
        {
          "id": "0x10120e#438",
          "address": "0x10120e",
          "sequence": 438,
          "opcode": "COPY",
          "is_dead": true,
          "block_membership": "member",
          "inputs": [
            {
              "kind": "register",
              "size_bytes": 4,
              "location": "register:0x10",
              "constant_hex": null
            }
          ],
          "output": {
            "kind": "unique",
            "size_bytes": 4,
            "location": "unique:0x10000050",
            "constant_hex": null
          }
        },
        {
          "id": "0x101216#160",
          "address": "0x101216",
          "sequence": 160,
          "opcode": "RETURN",
          "is_dead": true,
          "block_membership": "member",
          "inputs": [
            {
              "kind": "constant",
              "size_bytes": 8,
              "location": null,
              "constant_hex": "0"
            }
          ],
          "output": null
        }
      ],
      "def_use": [
        {
          "definition": "0x101201#426",
          "use": "0x10119c#21",
          "input_index": 0
        },
        {
          "definition": "0x10119c#20",
          "use": "0x1011a0#27",
          "input_index": 0
        },
        {
          "definition": "0x1011a0#27",
          "use": "0x1011a3#32",
          "input_index": 1
        },
        {
          "definition": "0x101201#420",
          "use": "0x1011a5#33",
          "input_index": 0
        },
        {
          "definition": "0x10119c#21",
          "use": "0x1011c0#163",
          "input_index": 0
        },
        {
          "definition": "0x1011d0#396",
          "use": "0x1011c8#100",
          "input_index": 0
        },
        {
          "definition": "0x1011d0#56",
          "use": "0x1011c8#400",
          "input_index": 0
        },
        {
          "definition": "0x1011f0#270",
          "use": "0x1011c8#400",
          "input_index": 1
        },
        {
          "definition": "0x1011d0#406",
          "use": "0x1011c8#407",
          "input_index": 0
        },
        {
          "definition": "0x1011ec#87",
          "use": "0x1011c8#407",
          "input_index": 1
        },
        {
          "definition": "0x101209#392",
          "use": "0x1011cb#113",
          "input_index": 0
        },
        {
          "definition": "0x1011c8#100",
          "use": "0x1011cb#113",
          "input_index": 1
        },
        {
          "definition": "0x1011cb#113",
          "use": "0x1011ce#118",
          "input_index": 1
        },
        {
          "definition": "0x1011c8#400",
          "use": "0x1011ce#439",
          "input_index": 0
        },
        {
          "definition": "0x1011d0#432",
          "use": "0x1011d0#56",
          "input_index": 0
        },
        {
          "definition": "0x101209#399",
          "use": "0x1011d0#396",
          "input_index": 0
        },
        {
          "definition": "0x1011c8#100",
          "use": "0x1011d0#396",
          "input_index": 1
        },
        {
          "definition": "0x101201#409",
          "use": "0x1011d0#406",
          "input_index": 0
        },
        {
          "definition": "0x1011c8#407",
          "use": "0x1011d0#406",
          "input_index": 1
        },
        {
          "definition": "0x10120e#438",
          "use": "0x1011d0#432",
          "input_index": 0
        },
        {
          "definition": "0x1011ce#439",
          "use": "0x1011d0#432",
          "input_index": 1
        },
        {
          "definition": "0x1011d0#432",
          "use": "0x1011d3#59",
          "input_index": 0
        },
        {
          "definition": "0x1011d0#406",
          "use": "0x1011d6#60",
          "input_index": 0
        },
        {
          "definition": "0x1011d6#60",
          "use": "0x1011dd#64",
          "input_index": 0
        },
        {
          "definition": "0x1011d3#59",
          "use": "0x1011dd#65",
          "input_index": 0
        },
        {
          "definition": "0x1011dd#64",
          "use": "0x1011dd#65",
          "input_index": 1
        },
        {
          "definition": "0x1011dd#65",
          "use": "0x1011e1#67",
          "input_index": 0
        },
        {
          "definition": "0x1011e1#440",
          "use": "0x1011e1#68",
          "input_index": 0
        },
        {
          "definition": "0x1011e1#67",
          "use": "0x1011e1#68",
          "input_index": 1
        },
        {
          "definition": "0x1011e1#441",
          "use": "0x1011e1#70",
          "input_index": 1
        },
        {
          "definition": "0x101209#414",
          "use": "0x1011e1#70",
          "input_index": 2
        },
        {
          "definition": "0x101197#19",
          "use": "0x1011e1#440",
          "input_index": 0
        },
        {
          "definition": "0x1011e1#68",
          "use": "0x1011e1#441",
          "input_index": 0
        },
        {
          "definition": "0x1011d0#56",
          "use": "0x1011e7#78",
          "input_index": 0
        },
        {
          "definition": "0x1011e7#78",
          "use": "0x1011ea#84",
          "input_index": 1
        },
        {
          "definition": "0x1011d0#406",
          "use": "0x1011ec#87",
          "input_index": 0
        },
        {
          "definition": "0x1011a5#33",
          "use": "0x1011f4#119",
          "input_index": 1
        },
        {
          "definition": "0x1011f4#119",
          "use": "0x1011fc#135",
          "input_index": 0
        },
        {
          "definition": "0x1011fc#135",
          "use": "0x1011ff#140",
          "input_index": 1
        },
        {
          "definition": "0x1011a9#410",
          "use": "0x101201#409",
          "input_index": 0
        },
        {
          "definition": "0x1011c8#407",
          "use": "0x101201#409",
          "input_index": 1
        },
        {
          "definition": "0x1011a5#33",
          "use": "0x101201#420",
          "input_index": 1
        },
        {
          "definition": "0x10119c#20",
          "use": "0x101201#426",
          "input_index": 0
        },
        {
          "definition": "0x1011f4#119",
          "use": "0x101201#426",
          "input_index": 1
        },
        {
          "definition": "0x1011af#435",
          "use": "0x101201#434",
          "input_index": 0
        },
        {
          "definition": "0x1011c8#400",
          "use": "0x101201#434",
          "input_index": 1
        },
        {
          "definition": "0x10119c#21",
          "use": "0x101207#52",
          "input_index": 0
        },
        {
          "definition": "0x101207#52",
          "use": "0x101207#53",
          "input_index": 1
        },
        {
          "definition": "0x10119c#21",
          "use": "0x101209#392",
          "input_index": 0
        },
        {
          "definition": "0x1011c0#163",
          "use": "0x101209#392",
          "input_index": 1
        },
        {
          "definition": "0x101209#421",
          "use": "0x101209#414",
          "input_index": 0
        },
        {
          "definition": "0x101207#52",
          "use": "0x101209#421",
          "input_index": 0
        },
        {
          "definition": "0x101201#434",
          "use": "0x10120e#438",
          "input_index": 0
        }
      ],
      "effects": [
        {
          "operation": "0x101197#19",
          "kind": "direct_call",
          "operand_input": 0,
          "value_input": null
        },
        {
          "operation": "0x10119c#20",
          "kind": "memory_read",
          "operand_input": 1,
          "value_input": null
        },
        {
          "operation": "0x1011a3#32",
          "kind": "conditional_branch",
          "operand_input": null,
          "value_input": 1
        },
        {
          "operation": "0x1011ce#118",
          "kind": "conditional_branch",
          "operand_input": null,
          "value_input": 1
        },
        {
          "operation": "0x1011e1#70",
          "kind": "memory_write",
          "operand_input": 1,
          "value_input": 2
        },
        {
          "operation": "0x1011ea#84",
          "kind": "conditional_branch",
          "operand_input": null,
          "value_input": 1
        },
        {
          "operation": "0x1011f4#119",
          "kind": "memory_read",
          "operand_input": 1,
          "value_input": null
        },
        {
          "operation": "0x1011ff#140",
          "kind": "conditional_branch",
          "operand_input": null,
          "value_input": 1
        },
        {
          "operation": "0x101207#53",
          "kind": "conditional_branch",
          "operand_input": null,
          "value_input": 1
        }
      ],
      "parameters": [
        {
          "ordinal": 0,
          "name": "param_1",
          "data_type": "/char *"
        }
      ],
      "parameter_uses": [
        {
          "ordinal": 0,
          "use": "0x10119c#20",
          "input_index": 1
        },
        {
          "ordinal": 0,
          "use": "0x1011a5#33",
          "input_index": 0
        },
        {
          "ordinal": 0,
          "use": "0x1011f4#119",
          "input_index": 1
        },
        {
          "ordinal": 0,
          "use": "0x101201#420",
          "input_index": 0
        },
        {
          "ordinal": 0,
          "use": "0x101201#420",
          "input_index": 1
        }
      ],
      "truncated": false,
      "omitted_operations_lower_bound": 0,
      "known_omitted_inputs": 0,
      "known_omitted_edges": 0,
      "limitations": [
        "High p-code is decompiler-derived, not original source or runtime behavior. is_dead preserves the Java AST flag; decoded block members can retain that flag, so block_membership separately reports actual syntax-tree membership.",
        "Def-use links do not cross function boundaries and may omit memory aliasing, call side effects, or unresolved indirect flow.",
        "Memory read/write effects include stack and temporary memory operations; they do not identify persistent state or business meaning.",
        "Operation, input, and def-use limits can truncate large functions; inspect truncation, omitted lower bounds, and known omitted counts before drawing conclusions.",
        "Known omitted-edge counts cover links omitted from retained operations; omitted operations may contain additional uncounted links."
      ]
    },
    "facet_availability": {
      "pseudocode": {
        "available": true
      },
      "assembly": {
        "available": true
      },
      "comments": {
        "available": true
      },
      "callers": {
        "available": true
      },
      "callees": {
        "available": true
      },
      "references": {
        "available": true
      },
      "strings_names": {
        "available": true
      },
      "cfg": {
        "available": true
      }
    },
    "limitations": [
      "Unresolved computed or indirect flows without target addresses are not represented as reference edges.",
      "Thunk and external classifications are Ghidra FunctionManager observations; they do not resolve targetless calls.",
      "Pseudocode and assembly are Ghidra-specific representations, not original source or Hopper-equivalent text.",
      "Synthetic Ghidra entry-point references without actionable memory sources are omitted."
    ]
  },
  "confidence": "observed",
  "authority": "shipped-artifact",
  "environment": null,
  "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 <percent-encoded-space>:0x<hex>.",
    "References cover the complete Ghidra function-body AddressSet and exact entry. Dossier incoming edges omit sources owned by that function; procedure_references also retains those internal edges.",
    "The dossier combines Ghidra FunctionManager, Listing, ReferenceManager, BasicBlockModel, and decompiler observations; provider-specific pseudocode and assembly are not cross-provider text invariants.",
    "Resolved reference metadata identifies computed, indirect, external, call, jump, and data edges; unresolved targetless flows remain unknown, and function classifications distinguish thunks and externals.",
    "Synthetic Ghidra entry-point references without actionable memory sources are omitted.",
    "The Java bridge serializes one function request per Program and lets each decompilation run until it completes or the caller cancels."
  ],
  "relationship_coverage": {
    "status": "complete",
    "diagnostics": [
      "Only resolved Ghidra call references are returned; unresolved computed or indirect calls remain unknown, while function classifications distinguish thunks and externals."
    ]
  },
  "locations": [],
  "evidence_links": []
}
