"Segment","Type","FileOffset","Length","CoverageStatus","KnownSubsystem","KeyNamedFunctions","Blockers","NotesSource" "1","code","0x37600","0x8400","Deep","Gameplay cursor/input/projectiles","cursor_update_hover; entity_fire_weapon; projectile_update_tick","Broader gameplay subsystem still spans adjacent segments","crusader_decompilation_notes.md; plan-mid.md" "2","code","0x40000","0x2B0","None","","","","crusader_ne_segments.csv" "3","code","0x40400","0x55A","None","","","","crusader_ne_segments.csv" "4","code","0x40A00","0x10B1","Foothold","Reset/cache entry path","runtime_cache_reset_sequence","ASYLUM.24 and downstream reset callers still need tighter classification","crusader_decompilation_notes.md; plan-mid.md" "5","code","0x41E00","0x8D7","None","","","","crusader_ne_segments.csv" "6","code","0x42C00","0x75E","None","","","","crusader_ne_segments.csv" "7","code","0x43600","0x484","None","","","","crusader_ne_segments.csv" "8","code","0x43C00","0x1386","None","","","","crusader_ne_segments.csv" "9","code","0x45400","0x495","None","","","","crusader_ne_segments.csv" "10","code","0x45A00","0xD92","None","","","","crusader_ne_segments.csv" "11","code","0x46E00","0x5B1","None","","","","crusader_ne_segments.csv" "12","code","0x47600","0x94B","None","","","","crusader_ne_segments.csv" "13","code","0x48200","0x1F6C","None","","","","crusader_ne_segments.csv" "14","code","0x4AA00","0x526","None","","","","crusader_ne_segments.csv" "15","code","0x4B200","0x1C68","None","","","","crusader_ne_segments.csv" "16","code","0x4D400","0x677","None","","","","crusader_ne_segments.csv" "17","code","0x4DC00","0x1A7","None","","","","crusader_ne_segments.csv" "18","code","0x4E000","0x7E9","None","","","","crusader_ne_segments.csv" "19","code","0x4EA00","0xB4D","None","","","","crusader_ne_segments.csv" "20","code","0x4F800","0x878","None","","","","crusader_ne_segments.csv" "21","code","0x50200","0x4486","Partial","Timer/event dispatch and entity counting","entity_count_by_type_a; input_keyboard_handler copy","Needs broader caller-driven expansion","crusader_decompilation_notes.md; plan-mid.md" "22","code","0x55000","0x2BD6","None","","","","crusader_ne_segments.csv" "23","code","0x58200","0x5D6","None","","","","crusader_ne_segments.csv" "24","code","0x58A00","0x6D7","None","","","","crusader_ne_segments.csv" "25","code","0x59200","0x1976","None","","","","crusader_ne_segments.csv" "26","code","0x5AE00","0x4DE","None","","","","crusader_ne_segments.csv" "27","code","0x5B400","0x57B","None","","","","crusader_ne_segments.csv" "28","code","0x5BA00","0x788","None","","","","crusader_ne_segments.csv" "29","code","0x5C400","0x190A","None","","","","crusader_ne_segments.csv" "30","code","0x5E000","0x5071","None","","","","crusader_ne_segments.csv" "31","code","0x64000","0x6EE","None","","","","crusader_ne_segments.csv" "32","code","0x64800","0x56A","None","","","","crusader_ne_segments.csv" "33","code","0x65000","0x10D7","None","","","","crusader_ne_segments.csv" "34","code","0x66600","0x253A","None","","","","crusader_ne_segments.csv" "35","code","0x69400","0xF67","None","","","","crusader_ne_segments.csv" "36","code","0x6A600","0x69F","None","","","","crusader_ne_segments.csv" "37","code","0x6AE00","0x636","None","","","","crusader_ne_segments.csv" "38","code","0x6B600","0x2318","None","","","","crusader_ne_segments.csv" "39","code","0x6E200","0x3416","None","","","","crusader_ne_segments.csv" "40","code","0x72200","0x1E7A","None","","","","crusader_ne_segments.csv" "41","code","0x74600","0x28D","None","","","","crusader_ne_segments.csv" "42","code","0x74A00","0xC9C","None","","","","crusader_ne_segments.csv" "43","code","0x75A00","0x336F","Partial","Gameplay targeting/facing repair cluster","entity_set_at_target_update_facing; seg043_func_0090; seg043_func_021c","Two repaired functions remain positional and thunk-heavy","crusader_decompilation_notes.md; plan-mid.md" "44","code","0x79400","0x7F8","None","","","","crusader_ne_segments.csv" "45","code","0x79E00","0x200","None","","","","crusader_ne_segments.csv" "46","code","0x7A200","0x7DC","None","","","","crusader_ne_segments.csv" "47","code","0x7AC00","0x9B4","None","","","","crusader_ne_segments.csv" "48","code","0x7B800","0x63","None","","","","crusader_ne_segments.csv" "49","code","0x7BA00","0x1E3F","None","","","","crusader_ne_segments.csv" "50","code","0x7DE00","0x9C8","None","","","","crusader_ne_segments.csv" "51","code","0x7EA00","0x1D02","None","","","","crusader_ne_segments.csv" "52","code","0x80A00","0x1D65","None","","","","crusader_ne_segments.csv" "53","code","0x82C00","0x10DE","None","","","","crusader_ne_segments.csv" "54","code","0x84000","0x5","None","","","Short stub-sized segment","crusader_ne_segments.csv" "55","code","0x84200","0xA06","None","","","","crusader_ne_segments.csv" "56","code","0x85000","0x706","None","","","","crusader_ne_segments.csv" "57","code","0x85A00","0x79B","None","","","","crusader_ne_segments.csv" "58","code","0x86400","0x44B","None","","","","crusader_ne_segments.csv" "59","code","0x86A00","0x4288","None","","","","crusader_ne_segments.csv" "60","code","0x8B600","0x231","None","","","","crusader_ne_segments.csv" "61","code","0x8BA00","0x1B6C","Foothold","Entity/timer dispatch guard and period helpers","timer_entity_enable_wrapper; entity_check_flag_0x4000; entity_set_event_type_checked; entity_set_update_period_and_reschedule","Several wrappers still resolve into thunk-heavy paths and need caller-side semantic naming","crusader_decompilation_notes.md" "62","code","0x8DA00","0x85F","Foothold","Entry word-list lifecycle helpers","entity_word_list_destroy","Caller-side object-role mapping still needed for strong behavioral names","crusader_decompilation_notes.md" "63","code","0x8E400","0x519","None","","","","crusader_ne_segments.csv" "64","code","0x8EA00","0x3B1","Foothold","Global one-shot gate/dispatch control","FUN_0008_eb43; FUN_0008_ebe7; FUN_0008_eac8; FUN_0008_ec23","Subsystem identity of the gate path remains unresolved; names intentionally conservative","crusader_decompilation_notes.md" "65","code","0x8F000","0x5BD","None","","","","crusader_ne_segments.csv" "66","code","0x8F800","0x4A9","None","","","","crusader_ne_segments.csv" "67","code","0x8FE00","0x839","None","","","","crusader_ne_segments.csv" "68","code","0x90800","0xB4A","None","","","","crusader_ne_segments.csv" "69","code","0x91800","0x2A0","None","","","","crusader_ne_segments.csv" "70","code","0x91C00","0xF24","Foothold","File-handle allocation/open wrappers","file_handle_alloc_init_and_open; file_handle_open_with_mode","Exact DOS open/create flags and mode semantics still need caller-side argument decoding","crusader_decompilation_notes.md" "71","code","0x92E00","0x6C2","None","","","","crusader_ne_segments.csv" "72","code","0x93600","0xCA1","None","","","","crusader_ne_segments.csv" "73","code","0x94600","0x9AA","None","","","","crusader_ne_segments.csv" "74","code","0x95200","0x337","None","","","","crusader_ne_segments.csv" "75","code","0x95600","0x1428","None","","","","crusader_ne_segments.csv" "76","code","0x96E00","0x627","Foothold","VGA palette read/write/free helpers","vga_palette_write; vga_palette_read; palette_free_if_set","Need caller-side analysis to classify higher-level palette transaction semantics","crusader_decompilation_notes.md" "77","code","0x97600","0x616","Foothold","Palette buffer clone/metadata setup","palette_buffer_alloc_copy_from_source","Need caller-side analysis to separate generic palette clone use from callback-specific staging","crusader_decompilation_notes.md" "78","code","0x97E00","0x634","None","","","","crusader_ne_segments.csv" "79","code","0x98600","0x421","None","","","","crusader_ne_segments.csv" "80","code","0x98C00","0xF27","Foothold","Conditional render/callback dispatch and surface release","entity_conditional_render_dispatch; surface_release_internal; surface_release_and_maybe_free","0x4588 callback object still lacks a concrete subsystem name","crusader_decompilation_notes.md" "81","code","0x99E00","0x320","None","","","","crusader_ne_segments.csv" "82","code","0x9A200","0x1C8A","Partial","Allocator sweep and per-head allocation/finalize","allocator_head_try_alloc_block; allocator_head_free_block; allocator_head_finalize_sweep; public size wrapper","0x4588 object subsystem identity still unresolved","crusader_decompilation_notes.md; plan-mid.md" "83","code","0x9C400","0x31E","Foothold","Allocator node/header helpers","event_queue_push; packed size/header helpers","Mostly structural helper layer","crusader_decompilation_notes.md" "84","code","0x9C800","0x1478","None","","","","crusader_ne_segments.csv" "85","code","0x9E000","0x404","Foothold","Allocator work token helpers","token reserve/release and commit helpers","Needs clearer subsystem naming","crusader_decompilation_notes.md" "86","code","0x9E600","0x40F6","None","","","","crusader_ne_segments.csv" "87","code","0xA2800","0x50C","None","","","","crusader_ne_segments.csv" "88","code","0xA2E00","0x523","None","","","","crusader_ne_segments.csv" "89","code","0xA3400","0x373","None","","","","crusader_ne_segments.csv" "90","code","0xA3800","0x9C6","None","","","","crusader_ne_segments.csv" "91","code","0xA4400","0x6FA","Partial","Init/context RNG and runtime callback/video-state lifecycle","seg091_func_00fd; seg091_func_014d; rng_set_seed; rng_next_modulo; runtime_callback_object_init_once; runtime_callback_object_teardown_once; video_bios_state_snapshot; video_mode_set_and_record_state","00fd/014d still positional; callback object subsystem identity still unresolved","crusader_decompilation_notes.md; plan-mid.md" "92","code","0xA4E00","0x59E","None","","","","crusader_ne_segments.csv" "93","code","0xA5600","0x4F1","None","","","","crusader_ne_segments.csv" "94","code","0xA5E00","0x606","Partial","Tracked handle table control","tracked_entity_handle_table_init; tracked_entity_handle_table_shutdown; tracked_entity_handle_table_clear_and_dispatch","Downstream dispatch tail still unresolved","crusader_decompilation_notes.md" "95","code","0xA6600","0xC9F","Partial","Cache manager init/reset and 0x4588 runtime callback lifecycle","cache_init; cache_reset_runtime_state; cache_shutdown; entity_cleanup_resources_and_dispatch","Concrete 0x4588 callback object name and field-level role mapping remain unresolved","crusader_decompilation_notes.md; plan-mid.md" "96","code","0xA7600","0x582","None","","","","crusader_ne_segments.csv" "97","code","0xA7E00","0xDB0","None","","","","crusader_ne_segments.csv" "98","code","0xA8E00","0x68A","None","","","","crusader_ne_segments.csv" "99","code","0xA9600","0x355","None","","","Possible raw 000e animation overlap mapping not yet normalized","crusader_ne_segments.csv" "100","code","0xA9C00","0x697","None","","","Possible raw 000e animation overlap mapping not yet normalized","crusader_ne_segments.csv" "101","code","0xAA400","0x17BC","None","","","Possible raw 000e animation overlap mapping not yet normalized","crusader_ne_segments.csv" "102","code","0xAC000","0x73C","None","","","Possible raw 000e parser mapping not yet normalized","crusader_ne_segments.csv" "103","code","0xACA00","0x16CD","None","","","Possible raw 000e parser mapping not yet normalized","crusader_ne_segments.csv" "104","code","0xAE600","0x41B","None","","","","crusader_ne_segments.csv" "105","code","0xAEC00","0x9F6","None","","","","crusader_ne_segments.csv" "106","code","0xAF800","0x1795","None","","","","crusader_ne_segments.csv" "107","code","0xB1400","0x40C","None","","","","crusader_ne_segments.csv" "108","code","0xB1A00","0x113F","None","","","","crusader_ne_segments.csv" "109","code","0xB2E00","0x1424","None","","","High-value gap around 000b:2e00 still unresolved","crusader_ne_segments.csv; crusader_decomp_progress.md" "110","code","0xB4400","0x4C4","None","","","","crusader_ne_segments.csv" "111","code","0xB4A00","0x489","None","","","","crusader_ne_segments.csv" "112","code","0xB5000","0x1670","None","","","","crusader_ne_segments.csv" "113","code","0xB6A00","0x4A6","None","","","","crusader_ne_segments.csv" "114","code","0xB7000","0xDF1","None","","","","crusader_ne_segments.csv" "115","code","0xB8000","0x978","None","","","","crusader_ne_segments.csv" "116","code","0xB8C00","0xAA3","None","","","","crusader_ne_segments.csv" "117","code","0xB9A00","0x3157","None","","","","crusader_ne_segments.csv" "118","code","0xBD400","0xA0A","None","","","","crusader_ne_segments.csv" "119","code","0xBE200","0x419","None","","","","crusader_ne_segments.csv" "120","code","0xBE800","0x9AE","None","","","","crusader_ne_segments.csv" "121","code","0xBF400","0xACE","None","","","","crusader_ne_segments.csv" "122","code","0xC0200","0x3149","None","","","","crusader_ne_segments.csv" "123","code","0xC3C00","0xE6D","None","","","","crusader_ne_segments.csv" "124","code","0xC4E00","0x3DD","None","","","","crusader_ne_segments.csv" "125","code","0xC5400","0x1A3E","None","","","","crusader_ne_segments.csv" "126","code","0xC7400","0x402A","None","","","","crusader_ne_segments.csv" "127","code","0xCC600","0x8F6","None","","","","crusader_ne_segments.csv" "128","code","0xCD200","0x5D0","None","","","","crusader_ne_segments.csv" "129","code","0xCDA00","0xD77","None","","","","crusader_ne_segments.csv" "130","code","0xCEA00","0x47D","None","","","","crusader_ne_segments.csv" "131","code","0xCF000","0x44D","None","","","","crusader_ne_segments.csv" "132","code","0xCF600","0x3EB8","None","","","","crusader_ne_segments.csv" "133","code","0xD3800","0x215A","None","","","","crusader_ne_segments.csv" "134","code","0xD6000","0xEF0","None","","","","crusader_ne_segments.csv" "135","code","0xD7000","0x3B7","None","","","","crusader_ne_segments.csv" "136","code","0xD7600","0x5BD","None","","","","crusader_ne_segments.csv" "137","code","0xD7E00","0xFBB","Foothold","Dispatch-entry runtime state init/release","entity_dispatch_entry_init_runtime_state; entity_dispatch_entry_release_runtime_state","Higher-level callback object role and event semantic naming still unresolved","crusader_decompilation_notes.md; plan-mid.md" "138","code","0xD9200","0x32E4","Foothold","Entity cleanup/finalize with callback and palette/file teardown","entity_cleanup_resources_and_dispatch; sprite_redraw_global_if_active","Callback-object role naming and 000d:7e00 constructor/dispatch path are still unresolved","crusader_decompilation_notes.md; plan-mid.md" "139","code","0xDCC00","0x984","None","","","","crusader_ne_segments.csv" "140","code","0xDD800","0xC6F","None","","","","crusader_ne_segments.csv" "141","code","0xDE600","0x2B","None","","","Short stub-sized segment","crusader_ne_segments.csv" "142","code","0xDE800","0x4371","None","","","","crusader_ne_segments.csv" "143","code","0xE3400","0x6F5","None","","","","crusader_ne_segments.csv" "144","data","0xE3C00","0x8DBC","None","","","Large data segment not yet classified","crusader_ne_segments.csv" "145","data","0x0","0x0","None","","","Zero-length data segment placeholder","crusader_ne_segments.csv"