{"evidence_id":"ev_67b6d3f992eaf49a2e16de084b6ebfdd9884e8c5c7f75e175b7bb20f4f748ce1","subject":{"name":"ledger-x86_64-O1.o","digest":{"sha256":"9a4a8082ba5e285a732552981a6935e0c5255725664f380e37c44ebfb04d803f"},"local_path":"/private/tmp/aiefs-re/phases/13-tools-and-protocols/35-evidence-confidence-and-unknowns/code/fixtures/ledger-x86_64-O1.o","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-v1","function_boundary_observations":"ghidra-function-boundary-limitations-v3","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":"9c7f6b24be69294e61da046e4583e3856cb9e40433b149c1bf8bb534d2fe03ef"},"predicate_type":"rea.analysis","operation":"analyze_function","parameters":{"procedure":"grade"},"raw_result":{"value":{"procedure":{"address":"0x100010","name":"grade","classification":{"external":false,"thunk":false,"thunk_target":null,"provenance":"ghidra-function-manager"},"body":{"available":true,"provenance":"ghidra-function-body-address-set","ranges":[{"start":"0x100010","end":"0x10003d"}],"total_bytes":46,"span_bytes":46,"non_contiguous":false,"contains_entry":true},"signature":"undefined grade()","locals":[]},"pseudocode":"\nuint grade(int param_1)\n\n{\n uint uVar1;\n uint uVar2;\n \n uVar2 = param_1 / 10 - 6;\n uVar1 = -(param_1 >> 0x1f) ^ (uint)((ulong)((long)param_1 * 0x66666667) >> 0x3f);\n if (uVar2 < 5) {\n uVar1 = *(uint *)(&DAT_001000b4 + (ulong)uVar2 * 4);\n }\n return uVar1;\n}\n\n","assembly":["0x100010: MOVSXD RAX, EDI","0x100013: IMUL RAX, RAX, 0x66666667","0x10001a: MOV RCX, RAX","0x10001d: SAR RCX, 0x22","0x100021: SHR RAX, 0x3f","0x100025: ADD ECX, EAX","0x100027: ADD ECX, -0x6","0x10002a: XOR EAX, EAX","0x10002c: CMP ECX, 0x4","0x10002f: JA 0x0010003d","0x100031: MOV EAX, ECX","0x100033: LEA RCX, [0x1000b4]","0x10003a: MOV EAX, dword ptr [RCX + RAX*0x4]","0x10003d: RET"],"comments":[],"callers":[],"callees":[],"incoming_references":[],"outgoing_references":[{"source_address":"0x10002f","target_address":"0x10003d","source_procedure":{"address":"0x100010","name":"grade","classification":{"external":false,"thunk":false,"thunk_target":null,"provenance":"ghidra-function-manager"},"body":{"available":true,"provenance":"ghidra-function-body-address-set","ranges":[{"start":"0x100010","end":"0x10003d"}],"total_bytes":46,"span_bytes":46,"non_contiguous":false,"contains_entry":true}},"target_procedure":{"address":"0x100010","name":"grade","classification":{"external":false,"thunk":false,"thunk_target":null,"provenance":"ghidra-function-manager"},"body":{"available":true,"provenance":"ghidra-function-body-address-set","ranges":[{"start":"0x100010","end":"0x10003d"}],"total_bytes":46,"span_bytes":46,"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":"0x100033","target_address":"0x1000b4","source_procedure":{"address":"0x100010","name":"grade","classification":{"external":false,"thunk":false,"thunk_target":null,"provenance":"ghidra-function-manager"},"body":{"available":true,"provenance":"ghidra-function-body-address-set","ranges":[{"start":"0x100010","end":"0x10003d"}],"total_bytes":46,"span_bytes":46,"non_contiguous":false,"contains_entry":true}},"target_procedure":null,"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":1,"external":false}},{"source_address":"0x10003a","target_address":"0x1000b4","source_procedure":{"address":"0x100010","name":"grade","classification":{"external":false,"thunk":false,"thunk_target":null,"provenance":"ghidra-function-manager"},"body":{"available":true,"provenance":"ghidra-function-body-address-set","ranges":[{"start":"0x100010","end":"0x10003d"}],"total_bytes":46,"span_bytes":46,"non_contiguous":false,"contains_entry":true}},"target_procedure":null,"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":1,"external":false}}],"referenced_strings":[],"referenced_names":[{"address":"0x10003d","value":"LAB_0010003d","source_address":"0x10002f"},{"address":"0x1000b4","value":"DAT_001000b4","source_address":"0x100033"},{"address":"0x1000b4","value":"DAT_001000b4","source_address":"0x10003a"}],"basic_blocks":[{"start":"0x100010","end":"0x100031","successors":["0x100031","0x10003d"]},{"start":"0x100031","end":"0x10003d","successors":["0x10003d"]},{"start":"0x10003d","end":"0x10003e","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":"uint","size_bytes":4,"storage":"EAX:4","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 uint."}],"decompiler_artifacts":["recovered-signature","register-or-stack-storage"]},"parameters":[{"role":"parameter","ordinal":0,"name":"param_1","data_type":"int","size_bytes":4,"storage":"EDI:4","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 int."}],"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":"0x100010#0","address":"0x100010","sequence":0,"opcode":"INT_SEXT","is_dead":true,"block_membership":"member","inputs":[{"kind":"register","size_bytes":4,"location":"register:0x38","constant_hex":null}],"output":{"kind":"register","size_bytes":8,"location":"register:0x0","constant_hex":null}},{"id":"0x100013#5","address":"0x100013","sequence":5,"opcode":"INT_MULT","is_dead":true,"block_membership":"member","inputs":[{"kind":"register","size_bytes":8,"location":"register:0x0","constant_hex":null},{"kind":"constant","size_bytes":8,"location":null,"constant_hex":"66666667"}],"output":{"kind":"register","size_bytes":8,"location":"register:0x0","constant_hex":null}},{"id":"0x10001d#199","address":"0x10001d","sequence":199,"opcode":"INT_SDIV","is_dead":true,"block_membership":"member","inputs":[{"kind":"register","size_bytes":4,"location":"register:0x38","constant_hex":null},{"kind":"constant","size_bytes":4,"location":null,"constant_hex":"a"}],"output":{"kind":"unique","size_bytes":4,"location":"unique:0x10000022","constant_hex":null}},{"id":"0x100025#152","address":"0x100025","sequence":152,"opcode":"INT_2COMP","is_dead":true,"block_membership":"member","inputs":[{"kind":"unique","size_bytes":4,"location":"unique:0x10000026","constant_hex":null}],"output":{"kind":"register","size_bytes":4,"location":"register:0x0","constant_hex":null}},{"id":"0x100025#202","address":"0x100025","sequence":202,"opcode":"INT_SRIGHT","is_dead":true,"block_membership":"member","inputs":[{"kind":"register","size_bytes":4,"location":"register:0x38","constant_hex":null},{"kind":"constant","size_bytes":4,"location":null,"constant_hex":"1f"}],"output":{"kind":"unique","size_bytes":4,"location":"unique:0x10000026","constant_hex":null}},{"id":"0x100027#104","address":"0x100027","sequence":104,"opcode":"INT_SUB","is_dead":true,"block_membership":"member","inputs":[{"kind":"unique","size_bytes":4,"location":"unique:0x10000022","constant_hex":null},{"kind":"constant","size_bytes":4,"location":null,"constant_hex":"6"}],"output":{"kind":"register","size_bytes":4,"location":"register:0x8","constant_hex":null}},{"id":"0x10002a#114","address":"0x10002a","sequence":114,"opcode":"INT_XOR","is_dead":true,"block_membership":"member","inputs":[{"kind":"register","size_bytes":4,"location":"register:0x0","constant_hex":null},{"kind":"register","size_bytes":4,"location":"register:0x0","constant_hex":null}],"output":{"kind":"register","size_bytes":4,"location":"register:0x0","constant_hex":null}},{"id":"0x10002a#154","address":"0x10002a","sequence":154,"opcode":"SUBPIECE","is_dead":true,"block_membership":"member","inputs":[{"kind":"unique","size_bytes":8,"location":"unique:0x10000043","constant_hex":null},{"kind":"constant","size_bytes":4,"location":null,"constant_hex":"0"}],"output":{"kind":"register","size_bytes":4,"location":"register:0x0","constant_hex":null}},{"id":"0x10002a#207","address":"0x10002a","sequence":207,"opcode":"COPY","is_dead":true,"block_membership":"member","inputs":[{"kind":"unique","size_bytes":4,"location":"unique:0x10000036","constant_hex":null}],"output":{"kind":"register","size_bytes":4,"location":"register:0x0","constant_hex":null}},{"id":"0x10002a#210","address":"0x10002a","sequence":210,"opcode":"INT_RIGHT","is_dead":true,"block_membership":"member","inputs":[{"kind":"unique","size_bytes":8,"location":"unique:0x1000004b","constant_hex":null},{"kind":"constant","size_bytes":4,"location":null,"constant_hex":"3f"}],"output":{"kind":"unique","size_bytes":8,"location":"unique:0x10000043","constant_hex":null}},{"id":"0x10002a#211","address":"0x10002a","sequence":211,"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:0x1000004b","constant_hex":null}},{"id":"0x10002f#133","address":"0x10002f","sequence":133,"opcode":"INT_LESS","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":"5"}],"output":{"kind":"unique","size_bytes":1,"location":"unique:0x25400","constant_hex":null}},{"id":"0x10002f#134","address":"0x10002f","sequence":134,"opcode":"CBRANCH","is_dead":true,"block_membership":"member","inputs":[{"kind":"address","size_bytes":1,"location":"0x10003d","constant_hex":null},{"kind":"unique","size_bytes":1,"location":"unique:0x25400","constant_hex":null}],"output":null},{"id":"0x100031#164","address":"0x100031","sequence":164,"opcode":"INT_ZEXT","is_dead":true,"block_membership":"member","inputs":[{"kind":"register","size_bytes":4,"location":"register:0x8","constant_hex":null}],"output":{"kind":"register","size_bytes":8,"location":"register:0x0","constant_hex":null}},{"id":"0x10003a#138","address":"0x10003a","sequence":138,"opcode":"INT_MULT","is_dead":true,"block_membership":"member","inputs":[{"kind":"register","size_bytes":8,"location":"register:0x0","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":"0x10003a#139","address":"0x10003a","sequence":139,"opcode":"PTRADD","is_dead":true,"block_membership":"member","inputs":[{"kind":"unique","size_bytes":8,"location":"unique:0x1000003b","constant_hex":null},{"kind":"unique","size_bytes":8,"location":"unique:0x9200","constant_hex":null},{"kind":"constant","size_bytes":8,"location":null,"constant_hex":"1"}],"output":{"kind":"unique","size_bytes":8,"location":"unique:0x9400","constant_hex":null}},{"id":"0x10003a#140","address":"0x10003a","sequence":140,"opcode":"LOAD","is_dead":true,"block_membership":"member","inputs":[{"kind":"constant","size_bytes":4,"location":null,"constant_hex":"1b1"},{"kind":"unique","size_bytes":8,"location":"unique:0x10000053","constant_hex":null}],"output":{"kind":"unique","size_bytes":4,"location":"unique:0x23c00","constant_hex":null}},{"id":"0x10003a#209","address":"0x10003a","sequence":209,"opcode":"PTRSUB","is_dead":true,"block_membership":"member","inputs":[{"kind":"constant","size_bytes":8,"location":null,"constant_hex":"0"},{"kind":"constant","size_bytes":8,"location":null,"constant_hex":"1000b4"}],"output":{"kind":"unique","size_bytes":8,"location":"unique:0x1000003b","constant_hex":null}},{"id":"0x10003a#212","address":"0x10003a","sequence":212,"opcode":"CAST","is_dead":true,"block_membership":"member","inputs":[{"kind":"unique","size_bytes":8,"location":"unique:0x9400","constant_hex":null}],"output":{"kind":"unique","size_bytes":8,"location":"unique:0x10000053","constant_hex":null}},{"id":"0x10003d#145","address":"0x10003d","sequence":145,"opcode":"RETURN","is_dead":true,"block_membership":"member","inputs":[{"kind":"constant","size_bytes":8,"location":null,"constant_hex":"0"},{"kind":"register","size_bytes":4,"location":"register:0x0","constant_hex":null}],"output":null},{"id":"0x10003d#206","address":"0x10003d","sequence":206,"opcode":"MULTIEQUAL","is_dead":true,"block_membership":"member","inputs":[{"kind":"register","size_bytes":4,"location":"register:0x0","constant_hex":null},{"kind":"unique","size_bytes":4,"location":"unique:0x23c00","constant_hex":null}],"output":{"kind":"unique","size_bytes":4,"location":"unique:0x10000036","constant_hex":null}}],"def_use":[{"definition":"0x100010#0","use":"0x100013#5","input_index":0},{"definition":"0x100025#202","use":"0x100025#152","input_index":0},{"definition":"0x10001d#199","use":"0x100027#104","input_index":0},{"definition":"0x100025#152","use":"0x10002a#114","input_index":0},{"definition":"0x10002a#154","use":"0x10002a#114","input_index":1},{"definition":"0x10002a#210","use":"0x10002a#154","input_index":0},{"definition":"0x10003d#206","use":"0x10002a#207","input_index":0},{"definition":"0x10002a#211","use":"0x10002a#210","input_index":0},{"definition":"0x100013#5","use":"0x10002a#211","input_index":0},{"definition":"0x100027#104","use":"0x10002f#133","input_index":0},{"definition":"0x10002f#133","use":"0x10002f#134","input_index":1},{"definition":"0x100027#104","use":"0x100031#164","input_index":0},{"definition":"0x100031#164","use":"0x10003a#138","input_index":0},{"definition":"0x10003a#209","use":"0x10003a#139","input_index":0},{"definition":"0x10003a#138","use":"0x10003a#139","input_index":1},{"definition":"0x10003a#212","use":"0x10003a#140","input_index":1},{"definition":"0x10003a#139","use":"0x10003a#212","input_index":0},{"definition":"0x10002a#207","use":"0x10003d#145","input_index":1},{"definition":"0x10002a#114","use":"0x10003d#206","input_index":0},{"definition":"0x10003a#140","use":"0x10003d#206","input_index":1}],"parameters":[{"ordinal":0,"name":"param_1","data_type":"/int"}],"parameter_uses":[{"ordinal":0,"use":"0x100010#0","input_index":0},{"ordinal":0,"use":"0x10001d#199","input_index":0},{"ordinal":0,"use":"0x100025#202","input_index":0}],"effects":[{"operation":"0x10002f#134","kind":"conditional_branch","operand_input":null,"value_input":1},{"operation":"0x10003a#140","kind":"memory_read","operand_input":1,"value_input":null}],"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":"0x100010","name":"grade","classification":{"external":false,"thunk":false,"thunk_target":null,"provenance":"ghidra-function-manager"},"body":{"available":true,"provenance":"ghidra-function-body-address-set","ranges":[{"start":"0x100010","end":"0x10003d"}],"total_bytes":46,"span_bytes":46,"non_contiguous":false,"contains_entry":true},"signature":"undefined grade()","locals":[]},"pseudocode":"\nuint grade(int param_1)\n\n{\n uint uVar1;\n uint uVar2;\n \n uVar2 = param_1 / 10 - 6;\n uVar1 = -(param_1 >> 0x1f) ^ (uint)((ulong)((long)param_1 * 0x66666667) >> 0x3f);\n if (uVar2 < 5) {\n uVar1 = *(uint *)(&DAT_001000b4 + (ulong)uVar2 * 4);\n }\n return uVar1;\n}\n\n","assembly":["0x100010: MOVSXD RAX, EDI","0x100013: IMUL RAX, RAX, 0x66666667","0x10001a: MOV RCX, RAX","0x10001d: SAR RCX, 0x22","0x100021: SHR RAX, 0x3f","0x100025: ADD ECX, EAX","0x100027: ADD ECX, -0x6","0x10002a: XOR EAX, EAX","0x10002c: CMP ECX, 0x4","0x10002f: JA 0x0010003d","0x100031: MOV EAX, ECX","0x100033: LEA RCX, [0x1000b4]","0x10003a: MOV EAX, dword ptr [RCX + RAX*0x4]","0x10003d: RET"],"comments":[],"callers":[],"callees":[],"incoming_references":[],"outgoing_references":[{"source_address":"0x10002f","target_address":"0x10003d","source_procedure":{"address":"0x100010","name":"grade","classification":{"external":false,"thunk":false,"thunk_target":null,"provenance":"ghidra-function-manager"},"body":{"available":true,"provenance":"ghidra-function-body-address-set","ranges":[{"start":"0x100010","end":"0x10003d"}],"total_bytes":46,"span_bytes":46,"non_contiguous":false,"contains_entry":true}},"target_procedure":{"address":"0x100010","name":"grade","classification":{"external":false,"thunk":false,"thunk_target":null,"provenance":"ghidra-function-manager"},"body":{"available":true,"provenance":"ghidra-function-body-address-set","ranges":[{"start":"0x100010","end":"0x10003d"}],"total_bytes":46,"span_bytes":46,"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":"0x100033","target_address":"0x1000b4","source_procedure":{"address":"0x100010","name":"grade","classification":{"external":false,"thunk":false,"thunk_target":null,"provenance":"ghidra-function-manager"},"body":{"available":true,"provenance":"ghidra-function-body-address-set","ranges":[{"start":"0x100010","end":"0x10003d"}],"total_bytes":46,"span_bytes":46,"non_contiguous":false,"contains_entry":true}},"target_procedure":null,"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":1,"external":false}},{"source_address":"0x10003a","target_address":"0x1000b4","source_procedure":{"address":"0x100010","name":"grade","classification":{"external":false,"thunk":false,"thunk_target":null,"provenance":"ghidra-function-manager"},"body":{"available":true,"provenance":"ghidra-function-body-address-set","ranges":[{"start":"0x100010","end":"0x10003d"}],"total_bytes":46,"span_bytes":46,"non_contiguous":false,"contains_entry":true}},"target_procedure":null,"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":1,"external":false}}],"unresolved_calls":[],"referenced_strings":[],"referenced_names":[{"address":"0x10003d","value":"LAB_0010003d","source_address":"0x10002f"},{"address":"0x1000b4","value":"DAT_001000b4","source_address":"0x100033"},{"address":"0x1000b4","value":"DAT_001000b4","source_address":"0x10003a"}],"basic_blocks":[{"start":"0x100010","end":"0x100031","successors":["0x100031","0x10003d"]},{"start":"0x100031","end":"0x10003d","successors":["0x10003d"]},{"start":"0x10003d","end":"0x10003e","successors":[]}],"native_api":{"available":true,"provenance":"ghidra-high-function","signature_source":"default","calling_convention":"__stdcall","return_type":{"ordinal":null,"name":null,"data_type":"uint","size_bytes":4,"storage":"EAX:4","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 uint."}],"decompiler_artifacts":["recovered-signature","register-or-stack-storage"],"role":"return"},"parameters":[{"ordinal":0,"name":"param_1","data_type":"int","size_bytes":4,"storage":"EDI:4","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 int."}],"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":"0x100010#0","address":"0x100010","sequence":0,"opcode":"INT_SEXT","is_dead":true,"block_membership":"member","inputs":[{"kind":"register","size_bytes":4,"location":"register:0x38","constant_hex":null}],"output":{"kind":"register","size_bytes":8,"location":"register:0x0","constant_hex":null}},{"id":"0x100013#5","address":"0x100013","sequence":5,"opcode":"INT_MULT","is_dead":true,"block_membership":"member","inputs":[{"kind":"register","size_bytes":8,"location":"register:0x0","constant_hex":null},{"kind":"constant","size_bytes":8,"location":null,"constant_hex":"66666667"}],"output":{"kind":"register","size_bytes":8,"location":"register:0x0","constant_hex":null}},{"id":"0x10001d#199","address":"0x10001d","sequence":199,"opcode":"INT_SDIV","is_dead":true,"block_membership":"member","inputs":[{"kind":"register","size_bytes":4,"location":"register:0x38","constant_hex":null},{"kind":"constant","size_bytes":4,"location":null,"constant_hex":"a"}],"output":{"kind":"unique","size_bytes":4,"location":"unique:0x10000022","constant_hex":null}},{"id":"0x100025#152","address":"0x100025","sequence":152,"opcode":"INT_2COMP","is_dead":true,"block_membership":"member","inputs":[{"kind":"unique","size_bytes":4,"location":"unique:0x10000026","constant_hex":null}],"output":{"kind":"register","size_bytes":4,"location":"register:0x0","constant_hex":null}},{"id":"0x100025#202","address":"0x100025","sequence":202,"opcode":"INT_SRIGHT","is_dead":true,"block_membership":"member","inputs":[{"kind":"register","size_bytes":4,"location":"register:0x38","constant_hex":null},{"kind":"constant","size_bytes":4,"location":null,"constant_hex":"1f"}],"output":{"kind":"unique","size_bytes":4,"location":"unique:0x10000026","constant_hex":null}},{"id":"0x100027#104","address":"0x100027","sequence":104,"opcode":"INT_SUB","is_dead":true,"block_membership":"member","inputs":[{"kind":"unique","size_bytes":4,"location":"unique:0x10000022","constant_hex":null},{"kind":"constant","size_bytes":4,"location":null,"constant_hex":"6"}],"output":{"kind":"register","size_bytes":4,"location":"register:0x8","constant_hex":null}},{"id":"0x10002a#114","address":"0x10002a","sequence":114,"opcode":"INT_XOR","is_dead":true,"block_membership":"member","inputs":[{"kind":"register","size_bytes":4,"location":"register:0x0","constant_hex":null},{"kind":"register","size_bytes":4,"location":"register:0x0","constant_hex":null}],"output":{"kind":"register","size_bytes":4,"location":"register:0x0","constant_hex":null}},{"id":"0x10002a#154","address":"0x10002a","sequence":154,"opcode":"SUBPIECE","is_dead":true,"block_membership":"member","inputs":[{"kind":"unique","size_bytes":8,"location":"unique:0x10000043","constant_hex":null},{"kind":"constant","size_bytes":4,"location":null,"constant_hex":"0"}],"output":{"kind":"register","size_bytes":4,"location":"register:0x0","constant_hex":null}},{"id":"0x10002a#207","address":"0x10002a","sequence":207,"opcode":"COPY","is_dead":true,"block_membership":"member","inputs":[{"kind":"unique","size_bytes":4,"location":"unique:0x10000036","constant_hex":null}],"output":{"kind":"register","size_bytes":4,"location":"register:0x0","constant_hex":null}},{"id":"0x10002a#210","address":"0x10002a","sequence":210,"opcode":"INT_RIGHT","is_dead":true,"block_membership":"member","inputs":[{"kind":"unique","size_bytes":8,"location":"unique:0x1000004b","constant_hex":null},{"kind":"constant","size_bytes":4,"location":null,"constant_hex":"3f"}],"output":{"kind":"unique","size_bytes":8,"location":"unique:0x10000043","constant_hex":null}},{"id":"0x10002a#211","address":"0x10002a","sequence":211,"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:0x1000004b","constant_hex":null}},{"id":"0x10002f#133","address":"0x10002f","sequence":133,"opcode":"INT_LESS","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":"5"}],"output":{"kind":"unique","size_bytes":1,"location":"unique:0x25400","constant_hex":null}},{"id":"0x10002f#134","address":"0x10002f","sequence":134,"opcode":"CBRANCH","is_dead":true,"block_membership":"member","inputs":[{"kind":"address","size_bytes":1,"location":"0x10003d","constant_hex":null},{"kind":"unique","size_bytes":1,"location":"unique:0x25400","constant_hex":null}],"output":null},{"id":"0x100031#164","address":"0x100031","sequence":164,"opcode":"INT_ZEXT","is_dead":true,"block_membership":"member","inputs":[{"kind":"register","size_bytes":4,"location":"register:0x8","constant_hex":null}],"output":{"kind":"register","size_bytes":8,"location":"register:0x0","constant_hex":null}},{"id":"0x10003a#138","address":"0x10003a","sequence":138,"opcode":"INT_MULT","is_dead":true,"block_membership":"member","inputs":[{"kind":"register","size_bytes":8,"location":"register:0x0","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":"0x10003a#139","address":"0x10003a","sequence":139,"opcode":"PTRADD","is_dead":true,"block_membership":"member","inputs":[{"kind":"unique","size_bytes":8,"location":"unique:0x1000003b","constant_hex":null},{"kind":"unique","size_bytes":8,"location":"unique:0x9200","constant_hex":null},{"kind":"constant","size_bytes":8,"location":null,"constant_hex":"1"}],"output":{"kind":"unique","size_bytes":8,"location":"unique:0x9400","constant_hex":null}},{"id":"0x10003a#140","address":"0x10003a","sequence":140,"opcode":"LOAD","is_dead":true,"block_membership":"member","inputs":[{"kind":"constant","size_bytes":4,"location":null,"constant_hex":"1b1"},{"kind":"unique","size_bytes":8,"location":"unique:0x10000053","constant_hex":null}],"output":{"kind":"unique","size_bytes":4,"location":"unique:0x23c00","constant_hex":null}},{"id":"0x10003a#209","address":"0x10003a","sequence":209,"opcode":"PTRSUB","is_dead":true,"block_membership":"member","inputs":[{"kind":"constant","size_bytes":8,"location":null,"constant_hex":"0"},{"kind":"constant","size_bytes":8,"location":null,"constant_hex":"1000b4"}],"output":{"kind":"unique","size_bytes":8,"location":"unique:0x1000003b","constant_hex":null}},{"id":"0x10003a#212","address":"0x10003a","sequence":212,"opcode":"CAST","is_dead":true,"block_membership":"member","inputs":[{"kind":"unique","size_bytes":8,"location":"unique:0x9400","constant_hex":null}],"output":{"kind":"unique","size_bytes":8,"location":"unique:0x10000053","constant_hex":null}},{"id":"0x10003d#145","address":"0x10003d","sequence":145,"opcode":"RETURN","is_dead":true,"block_membership":"member","inputs":[{"kind":"constant","size_bytes":8,"location":null,"constant_hex":"0"},{"kind":"register","size_bytes":4,"location":"register:0x0","constant_hex":null}],"output":null},{"id":"0x10003d#206","address":"0x10003d","sequence":206,"opcode":"MULTIEQUAL","is_dead":true,"block_membership":"member","inputs":[{"kind":"register","size_bytes":4,"location":"register:0x0","constant_hex":null},{"kind":"unique","size_bytes":4,"location":"unique:0x23c00","constant_hex":null}],"output":{"kind":"unique","size_bytes":4,"location":"unique:0x10000036","constant_hex":null}}],"def_use":[{"definition":"0x100010#0","use":"0x100013#5","input_index":0},{"definition":"0x100025#202","use":"0x100025#152","input_index":0},{"definition":"0x10001d#199","use":"0x100027#104","input_index":0},{"definition":"0x100025#152","use":"0x10002a#114","input_index":0},{"definition":"0x10002a#154","use":"0x10002a#114","input_index":1},{"definition":"0x10002a#210","use":"0x10002a#154","input_index":0},{"definition":"0x10003d#206","use":"0x10002a#207","input_index":0},{"definition":"0x10002a#211","use":"0x10002a#210","input_index":0},{"definition":"0x100013#5","use":"0x10002a#211","input_index":0},{"definition":"0x100027#104","use":"0x10002f#133","input_index":0},{"definition":"0x10002f#133","use":"0x10002f#134","input_index":1},{"definition":"0x100027#104","use":"0x100031#164","input_index":0},{"definition":"0x100031#164","use":"0x10003a#138","input_index":0},{"definition":"0x10003a#209","use":"0x10003a#139","input_index":0},{"definition":"0x10003a#138","use":"0x10003a#139","input_index":1},{"definition":"0x10003a#212","use":"0x10003a#140","input_index":1},{"definition":"0x10003a#139","use":"0x10003a#212","input_index":0},{"definition":"0x10002a#207","use":"0x10003d#145","input_index":1},{"definition":"0x10002a#114","use":"0x10003d#206","input_index":0},{"definition":"0x10003a#140","use":"0x10003d#206","input_index":1}],"effects":[{"operation":"0x10002f#134","kind":"conditional_branch","operand_input":null,"value_input":1},{"operation":"0x10003a#140","kind":"memory_read","operand_input":1,"value_input":null}],"parameters":[{"ordinal":0,"name":"param_1","data_type":"/int"}],"parameter_uses":[{"ordinal":0,"use":"0x100010#0","input_index":0},{"ordinal":0,"use":"0x10001d#199","input_index":0},{"ordinal":0,"use":"0x100025#202","input_index":0}],"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 :0x.","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.","macOS sessions require a matching executable Ghidra native decompiler; REA checks for it but does not build native components or change Gatekeeper quarantine state."],"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":[]}