Game Core
CGameMode, CGameObject, CInputMgr, CStoveSDK, initialization, settings, hotkeys, timers, crash handling, services, utilities
| Address | Size | Name | Description |
|---|---|---|---|
| 0x00401048 | 6 | ijlInit | Import thunk for Intel JPEG Library (IJL) ijlInit function |
| 0x0040104E | 6 | ijlWrite | Import thunk for Intel JPEG Library (IJL) ijlWrite function |
| 0x00401054 | 6 | ijlFree | Import thunk for Intel JPEG Library (IJL) ijlFree function |
| 0x0040105A | 6 | ijlRead | Import thunk for Intel JPEG Library (IJL) ijlRead function |
| 0x00401080 | 16 | register_atexit_handler_00401080 | Registers LAB_00401090 as atexit cleanup handler |
| 0x00401640 | 6 | thunk_00401640 | Thunk to FUN_027112dc |
| 0x004016E0 | 67 | binary_search_pair_array | Binary search pair array |
| 0x00401C40 | 3 | noop_passthrough | No-op function that returns its first parameter unchanged |
| 0x00401C50 | 1 | noop_void | Empty function, no-op stub |
| 0x00402710 | 1 | stub_ret_00402710 | Single-byte return stub at function boundary, likely alignment padding or placeholder |
| 0x00402BE0 | 1 | stub_ret_00402be0 | Single-byte return stub at function boundary, likely alignment padding or placeholder |
| 0x00402F10 | 1 | stub_ret_00402f10 | Single-byte return stub at function boundary, likely alignment padding or placeholder |
| 0x00403140 | 157 | crc32_generate_table | Generates 256-entry CRC32 lookup table using polynomial 0xEDB88320 |
| 0x004031F0 | 79 | crc32_update_buffer | Updates CRC32 running value byte-by-byte using precomputed table |
| 0x00403370 | 297 | crc32_compute_file | Reads file in 64KB chunks, computes CRC32, inverts final result |
| 0x004034A0 | 390 | crc32_compute_file_partial | Computes CRC32 of file from offset, reading up to N bytes |
| 0x00403670 | 1 | stub_ret_00403670 | Single-byte return stub at function boundary, likely alignment padding or placeholder |
| 0x00403800 | 39 | crc32_compute_buffer | Computes CRC32 of memory buffer, inits 0xFFFFFFFF, inverts final |
| 0x00403830 | 253 | crc32_compute_file_mapped | Memory-maps file (capped 500MB), computes CRC32 via buffer method |
| 0x00405400 | 133 | gdiplus_startup_init | Initializes GDI+ via GdiplusStartup, registers atexit cleanup |
| 0x0040D1D0 | 202 | MSVC_exception_init_0040d1d0 | MSVC exception propagation: constructs exception with vtable, calls throw helper |
| 0x0040E870 | 202 | MSVC_exception_init_0040e870 | MSVC exception propagation: constructs exception with vtable, calls throw helper |
| 0x004466E0 | 608 | init_soul_ascetic_efst_strings_set1 | Inits 4 SOUL_ASCETIC EFST strings (blue/white/red/black) into globals |
| 0x00446940 | 568 | init_soul_ascetic_efst_strings_set2 | Inits 4 SOUL_ASCETIC EFST strings variant 2 (blue/white/red/black) |
| 0x00446B80 | 597 | init_soul_ascetic_efst_strings_set3 | Inits 4 SOUL_ASCETIC EFST strings variant 3 (blue/white/red/black) |
| 0x0044D110 | 123 | init_model_resource_manager_0044d110 | Static init: constructs model resource manager, registers with resource system |
| 0x0044D6F0 | 123 | init_palette_resource_manager_0044d6f0 | Static init: constructs palette resource manager, registers with resource system |
| 0x0044DDC0 | 151 | init_sprite_resource_manager_0044ddc0 | Static init: constructs sprite resource manager with vector init + atexit |
| 0x0044E060 | 123 | init_str_resource_manager_0044e060 | Static init: constructs str resource manager, registers with resource system |
| 0x0044E630 | 459 | init_resource_list_container_0044e630 | Static init: constructs resource container with 3 linked lists and 3 strings |
| 0x00451990 | 150 | init_packet_obfuscation_keys_00451990 | Static init: generates random seed and XOR-derives packet obfuscation keys |
| 0x00451A30 | 150 | init_packet_obfuscation_keys_00451a30 | Static init: generates random seed and XOR-derives packet obfuscation keys |
| 0x00452670 | 95 | init_global_linked_list_00452670 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x00453F10 | 202 | register_packet_handler_with_alloc_00453f10 | Static init: allocates object and registers packet handler via vtable dispatch |
| 0x00453FE0 | 202 | register_packet_handler_with_alloc_00453fe0 | Static init: allocates object and registers packet handler via vtable dispatch |
| 0x004540B0 | 194 | init_global_struct_with_list_004540b0 | Static init: zeroes global struct, allocates linked list, sets default values |
| 0x00457500 | 202 | register_packet_handler_with_alloc_00457500 | Static init: allocates object and registers packet handler via vtable dispatch |
| 0x00459E40 | 194 | init_global_struct_with_list_00459e40 | Static init: zeroes global struct, allocates linked list, sets default values |
| 0x0045A7E0 | 202 | register_packet_handler_with_alloc_0045a7e0 | Static init: allocates object and registers packet handler via vtable dispatch |
| 0x0045B800 | 194 | init_global_struct_with_list_0045b800 | Static init: zeroes global struct, allocates linked list, sets default values |
| 0x0045D990 | 194 | init_global_struct_with_list_0045d990 | Static init: zeroes global struct, allocates linked list, sets default values |
| 0x0045ECB0 | 194 | init_global_struct_with_list_0045ecb0 | Static init: zeroes global struct, allocates linked list, sets default values |
| 0x00460720 | 202 | register_packet_handler_with_alloc_00460720 | Static init: allocates object and registers packet handler via vtable dispatch |
| 0x004616C0 | 202 | register_packet_handler_with_alloc_004616c0 | Static init: allocates object and registers packet handler via vtable dispatch |
| 0x00463230 | 202 | register_packet_handler_with_alloc_00463230 | Static init: allocates object and registers packet handler via vtable dispatch |
| 0x004645F0 | 86 | init_static_object_004645f0 | Static init: constructs static object and registers atexit cleanup |
| 0x004652F0 | 95 | init_global_linked_list_004652f0 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x00466540 | 95 | init_global_linked_list_00466540 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x00466AF0 | 95 | init_global_linked_list_00466af0 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x004670A0 | 95 | init_global_linked_list_004670a0 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x004680F0 | 95 | init_global_linked_list_004680f0 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x00468BF0 | 95 | init_global_linked_list_00468bf0 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x004696F0 | 95 | init_global_linked_list_004696f0 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x00469CA0 | 95 | init_global_linked_list_00469ca0 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x0046A250 | 95 | init_global_linked_list_0046a250 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x0046A800 | 95 | init_global_linked_list_0046a800 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x0046ADB0 | 95 | init_global_linked_list_0046adb0 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x0046B360 | 95 | init_global_linked_list_0046b360 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x0046B910 | 95 | init_global_linked_list_0046b910 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x0046BEC0 | 95 | init_global_linked_list_0046bec0 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x0046C470 | 95 | init_global_linked_list_0046c470 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x0046CA20 | 95 | init_global_linked_list_0046ca20 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x0046D520 | 95 | init_global_linked_list_0046d520 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x0046DAD0 | 95 | init_global_linked_list_0046dad0 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x0046E080 | 95 | init_global_linked_list_0046e080 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x0046E630 | 95 | init_global_linked_list_0046e630 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x0046EBE0 | 95 | init_global_linked_list_0046ebe0 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x0046F290 | 95 | init_global_linked_list_0046f290 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x0046F3F0 | 256 | init_global_string_struct_0046f3f0 | Static init: zeroes global struct fields and processes embedded string data |
| 0x0046FA70 | 95 | init_global_linked_list_0046fa70 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x0046FAD0 | 86 | init_static_object_0046fad0 | Static init: constructs static object and registers atexit cleanup |
| 0x00470380 | 95 | init_global_linked_list_00470380 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x00470930 | 95 | init_global_linked_list_00470930 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x00470EE0 | 95 | init_global_linked_list_00470ee0 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x00471490 | 95 | init_global_linked_list_00471490 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x00471A40 | 95 | init_global_linked_list_00471a40 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x004721F0 | 95 | init_global_linked_list_004721f0 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x004727A0 | 95 | init_global_linked_list_004727a0 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x00472D50 | 95 | init_global_linked_list_00472d50 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x00473300 | 95 | init_global_linked_list_00473300 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x004738B0 | 95 | init_global_linked_list_004738b0 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x00473E60 | 95 | init_global_linked_list_00473e60 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x00474410 | 95 | init_global_linked_list_00474410 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x004749C0 | 95 | init_global_linked_list_004749c0 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x00474F70 | 95 | init_global_linked_list_00474f70 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x00475520 | 95 | init_global_linked_list_00475520 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x00475AD0 | 95 | init_global_linked_list_00475ad0 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x00476180 | 95 | init_global_linked_list_00476180 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x00476730 | 95 | init_global_linked_list_00476730 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x00476CE0 | 95 | init_global_linked_list_00476ce0 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x00477290 | 95 | init_global_linked_list_00477290 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x00477840 | 95 | init_global_linked_list_00477840 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x004778A0 | 194 | init_global_struct_with_list_004778a0 | Static init: zeroes global struct, allocates linked list, sets default values |
| 0x00477EC0 | 95 | init_global_linked_list_00477ec0 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x00478470 | 95 | init_global_linked_list_00478470 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x00478A20 | 95 | init_global_linked_list_00478a20 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x00478FD0 | 95 | init_global_linked_list_00478fd0 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x00479580 | 95 | init_global_linked_list_00479580 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x00479B30 | 95 | init_global_linked_list_00479b30 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x0047A1E0 | 95 | init_global_linked_list_0047a1e0 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x0047A790 | 95 | init_global_linked_list_0047a790 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x0047AD40 | 95 | init_global_linked_list_0047ad40 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x0047B2F0 | 95 | init_global_linked_list_0047b2f0 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x0047B8B0 | 95 | init_global_linked_list_0047b8b0 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x0047BE60 | 95 | init_global_linked_list_0047be60 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x0047C410 | 95 | init_global_linked_list_0047c410 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x0047C9C0 | 95 | init_global_linked_list_0047c9c0 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x0047CF70 | 95 | init_global_linked_list_0047cf70 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x0047D520 | 95 | init_global_linked_list_0047d520 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x0047D580 | 194 | init_global_struct_with_list_0047d580 | Static init: zeroes global struct, allocates linked list, sets default values |
| 0x0047DBA0 | 95 | init_global_linked_list_0047dba0 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x0047E150 | 95 | init_global_linked_list_0047e150 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x0047E800 | 95 | init_global_linked_list_0047e800 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x0047E860 | 194 | init_global_struct_with_list_0047e860 | Static init: zeroes global struct, allocates linked list, sets default values |
| 0x0047EE80 | 95 | init_global_linked_list_0047ee80 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x0047EEE0 | 194 | init_global_struct_with_list_0047eee0 | Static init: zeroes global struct, allocates linked list, sets default values |
| 0x0047F570 | 95 | init_global_linked_list_0047f570 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x0047F5D0 | 95 | init_global_linked_list_0047f5d0 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x0047F630 | 95 | init_global_linked_list_0047f630 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x0047FBE0 | 95 | init_global_linked_list_0047fbe0 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x0047FC40 | 194 | init_global_struct_with_list_0047fc40 | Static init: zeroes global struct, allocates linked list, sets default values |
| 0x00480260 | 95 | init_global_linked_list_00480260 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x00480810 | 95 | init_global_linked_list_00480810 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x00480DC0 | 95 | init_global_linked_list_00480dc0 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x00481370 | 95 | init_global_linked_list_00481370 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x00481920 | 95 | init_global_linked_list_00481920 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x00481ED0 | 95 | init_global_linked_list_00481ed0 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x00481F30 | 194 | init_global_struct_with_list_00481f30 | Static init: zeroes global struct, allocates linked list, sets default values |
| 0x00482550 | 95 | init_global_linked_list_00482550 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x00482B00 | 95 | init_global_linked_list_00482b00 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x004835B0 | 95 | init_global_linked_list_004835b0 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x00483B60 | 95 | init_global_linked_list_00483b60 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x00484110 | 95 | init_global_linked_list_00484110 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x004846C0 | 95 | init_global_linked_list_004846c0 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x00484C70 | 95 | init_global_linked_list_00484c70 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x00485220 | 95 | init_global_linked_list_00485220 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x004857D0 | 95 | init_global_linked_list_004857d0 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x00485E80 | 95 | init_global_linked_list_00485e80 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x00486430 | 95 | init_global_linked_list_00486430 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x004869E0 | 95 | init_global_linked_list_004869e0 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x004874E0 | 95 | init_global_linked_list_004874e0 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x00487A90 | 95 | init_global_linked_list_00487a90 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x00487B10 | 254 | init_CUIWindowPositionMgr_singleton_00487b10 | Static init: creates CUIWindowPositionMgr singleton (0x34 bytes) if not yet created, stores in global DAT_01457098, then registers UI callback with key 0x2712 via UIComponent__insert_callback_by_key |
| 0x00488160 | 95 | init_global_linked_list_00488160 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x00488710 | 95 | init_global_linked_list_00488710 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x004892C0 | 95 | init_global_linked_list_004892c0 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x00489870 | 95 | init_global_linked_list_00489870 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x0048A370 | 95 | init_global_linked_list_0048a370 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x0048A920 | 95 | init_global_linked_list_0048a920 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x0048AED0 | 95 | init_global_linked_list_0048aed0 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x0048B480 | 95 | init_global_linked_list_0048b480 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x0048BA30 | 95 | init_global_linked_list_0048ba30 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x0048BFE0 | 95 | init_global_linked_list_0048bfe0 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x0048C590 | 95 | init_global_linked_list_0048c590 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x0048D090 | 95 | init_global_linked_list_0048d090 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x0048D640 | 95 | init_global_linked_list_0048d640 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x0048DBF0 | 95 | init_global_linked_list_0048dbf0 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x0048E1A0 | 95 | init_global_linked_list_0048e1a0 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x0048E750 | 95 | init_global_linked_list_0048e750 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x0048ED00 | 95 | init_global_linked_list_0048ed00 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x0048F800 | 95 | init_global_linked_list_0048f800 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x0048FDB0 | 95 | init_global_linked_list_0048fdb0 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x00491350 | 95 | init_global_linked_list_00491350 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x00491A00 | 95 | init_global_linked_list_00491a00 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x00491FB0 | 95 | init_global_linked_list_00491fb0 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x00492010 | 254 | init_CUIWindowPositionMgr_singleton_00492010 | Static init: creates CUIWindowPositionMgr singleton (0x34 bytes) if not yet allocated, stores at DAT_01457098, then registers UI callback with key 0x2716 via UIComponent__insert_callback_by_key |
| 0x00492660 | 95 | init_global_linked_list_00492660 | Static init: allocates and self-links global linked list node + atexit cleanup |
| 0x00492C70 | 254 | singleton_register_UIWindowPositionMgr_0x2711 | Static init: creates CUIWindowPositionMgr singleton (0x34 bytes) at DAT_01457098, then registers UI component factory callback with key 0x2711 via UIComponent__insert_callback_by_key |
| 0x00493AD0 | 254 | singleton_register_factory_0x271b | Registers singleton factory ID 0x271b via operator_new and FUN_009d31f0 |
| 0x00494730 | 254 | singleton_register_factory_0x271e | Registers singleton factory ID 0x271e via operator_new and FUN_009d31f0 |
| 0x004955B0 | 254 | singleton_register_factory_0x2715 | Registers singleton factory ID 0x2715 via operator_new and FUN_009d31f0 |
| 0x00496610 | 254 | singleton_register_factory_0x271c | Registers singleton factory ID 0x271c via operator_new and FUN_009d31f0 |
| 0x00497950 | 254 | singleton_register_factory_0x2719 | Registers singleton factory ID 0x2719 via operator_new and FUN_009d31f0 |
| 0x004985B0 | 254 | singleton_register_factory_0x271a | Registers singleton factory ID 0x271a via operator_new and FUN_009d31f0 |
| 0x00499210 | 254 | singleton_register_factory_0x2718 | Registers singleton factory ID 0x2718 via operator_new and FUN_009d31f0 |
| 0x0049B670 | 254 | singleton_register_factory_0x2731 | Registers singleton factory ID 0x2731 via operator_new and FUN_009d31f0 |
| 0x0049C2D0 | 254 | singleton_register_factory_0x272e | Registers singleton factory ID 0x272e via operator_new and FUN_009d31f0 |
| 0x004AA60B | 1 | stub_ret_004aa60b | Single-byte return stub at function boundary, likely alignment padding or placeholder |
| 0x004C6857 | 1 | stub_ret_004c6857 | Single-byte return stub at function boundary, likely alignment padding or placeholder |
| 0x004D2CB0 | 20 | _AtlInitializeCriticalSectionEx | ATL wrapper around InitializeCriticalSectionEx. Returns the BOOL result directly. |
| 0x004D2D70 | 229 | xxhash_murmurhash3_mix64 | MurmurHash3-style 64-bit mix processing 8 bytes per iteration |
| 0x004D2F60 | 229 | xxhash_murmurhash3_mix128 | MurmurHash3-style 128-bit mix returning 8-byte result |
| 0x004D3150 | 43 | XXH128_hash_from_canonical | Converts canonical big-endian form to XXH128 hash value |
| 0x004D3180 | 91 | XXH128_canonicalize_from_hash | Converts XXH128 hash to canonical big-endian byte order |
| 0x004D31E0 | 158 | XXH128_compare | Compares two 128-bit XXH hash values, returns -1/0/1 |
| 0x004D3280 | 47 | XXH128_bswap_copy | Byte-swaps and copies 128-bit hash value between buffers |
| 0x004D32B0 | 102 | XXH128_is_equal | Tests equality of two 128-bit hash values, returns 0 or 1 |
| 0x004D3520 | 19 | XXH_free_state | Frees XXH hash state buffer and returns 0 |
| 0x004D56F0 | 1 | stub_ret_004d56f0 | Single-byte return stub at function boundary, likely alignment padding or placeholder |
| 0x004D6C29 | 1 | stub_ret_004d6c29 | Single-byte return stub at function boundary, likely alignment padding or placeholder |
| 0x004D71CE | 1 | stub_ret_004d71ce | Single-byte return stub at function boundary, likely alignment padding or placeholder |
| 0x004D7290 | 1 | stub_ret_004d7290 | Single-byte return stub at function boundary, likely alignment padding or placeholder |
| 0x004D7334 | 1 | stub_ret_004d7334 | Single-byte return stub at function boundary, likely alignment padding or placeholder |
| 0x004D9F30 | 1 | stub_ret_004d9f30 | Single-byte return stub at function boundary, likely alignment padding or placeholder |
| 0x004DF5C0 | 17 | bswap64_from_two_uint32 | Byte-swaps two 32-bit values and returns them as a combined 64-bit value with swapped order (big-endian to little-endian conversion for 64-bit integer stored as two uint32s). |
| 0x004DF8F0 | 19 | store_uint64_as_two_uint32 | Simple 8-byte store: writes two uint32 values (param_2 and param_3) to the location pointed to by param_1. |
| 0x004E07A0 | 49 | _Allocate_manually_vector_aligned<struct_std::_Default_allocate_traits> | Allocates memory with 32-byte alignment for SIMD vector operations. Adds 0x23 bytes padding, aligns, and stores original pointer at offset -4. |
| 0x004E3A20 | 45 | _Hash_array_representation<char> | FNV-1a hash of a char array. Uses offset basis 0x811c9dc5 and prime 0x1000193. |
| 0x004E5B50 | 133 | _Traits_compare<struct_std::char_traits<char>_> | Lexicographic comparison of two char arrays with length. Compares 4 bytes at a time for speed, then byte-by-byte. Returns -1/0/1 based on content and length difference. |
| 0x004E5BE0 | 100 | _Traits_equal<struct_std::char_traits<char>_> | STL char_traits equality comparison. Compares two char sequences for equality: first checks if lengths match, then compares 4 bytes at a time, with byte-by-byte fallback for remainder. VS2019 library function. |
| 0x004E5C50 | 56 | _UIntegral_to_buff<> | Converts unsigned integer to decimal char buffer by repeatedly dividing by 10 and writing digits in reverse. Returns pointer to start of digit string. VS2019 library template. |
| 0x004F7E30 | 1 | stub_ret_004f7e30 | Single-byte return stub at function boundary, likely alignment padding or placeholder |
| 0x004F7E40 | 1 | stub_ret_004f7e40 | Single-byte return stub at function boundary, likely alignment padding or placeholder |
| 0x004F7E50 | 1 | stub_ret_004f7e50 | Single-byte return stub at function boundary, likely alignment padding or placeholder |
| 0x004F7E70 | 1 | stub_ret_004f7e70 | Single-byte return stub at function boundary, likely alignment padding or placeholder |
| 0x004F7E80 | 1 | stub_ret_004f7e80 | Single-byte return stub at function boundary, likely alignment padding or placeholder |
| 0x004F7E90 | 1 | stub_ret_004f7e90 | Single-byte return stub at function boundary, likely alignment padding or placeholder |
| 0x004F7EA0 | 1 | stub_ret_004f7ea0 | Single-byte return stub at function boundary, likely alignment padding or placeholder |
| 0x004F7EC0 | 1 | stub_ret_004f7ec0 | Single-byte return stub at function boundary, likely alignment padding or placeholder |
| 0x004F90B0 | 35 | _Reset_back | std::basic_filebuf<char>::_Reset_back(). Restores the get-area pointers from saved state if the current buffer points to the internal putback area (offset +0x3C). MSVC library function. |
| 0x004FA590 | 40 | operator= | SimpleString assignment operator. Computes string length, then appends to internal buffer. |
| 0x004FD040 | 39 | equivalent | Checks if an error_code is equivalent to a given int value by comparing category identity and code value. |
| 0x004FD070 | 60 | equivalent | Checks if an int value is equivalent to an error_condition by converting via virtual default_error_condition, then comparing category and code. |
| 0x00505C70 | 61 | underflow | basic_filebuf underflow. Returns the current character from the get area if available, otherwise calls uflow/sputbackc to read the next character. |
| 0x0051C190 | 1 | stub_ret_0051c190 | Single-byte return stub at function boundary, likely alignment padding or placeholder |
| 0x0051C1A0 | 1 | stub_ret_0051c1a0 | Single-byte return stub at function boundary, likely alignment padding or placeholder |
| 0x0051C1B0 | 1 | stub_ret_0051c1b0 | Single-byte return stub at function boundary, likely alignment padding or placeholder |
| 0x0051C1C0 | 1 | stub_ret_0051c1c0 | Single-byte return stub at function boundary, likely alignment padding or placeholder |
| 0x0051C1D0 | 1 | stub_ret_0051c1d0 | Single-byte return stub at function boundary, likely alignment padding or placeholder |
| 0x005221A0 | 51 | CLuaInstance__vsprintf_wrapper | CLuaInstance helper: calls __stdio_common_vsprintf with global singleton options. Returns formatted length or -1 on error. |
| 0x005221E0 | 74 | CLuaInstance__ctor | CLuaInstance constructor. Sets vtable, creates new lua_State via luaL_newstate, opens standard libraries, registers panic handler (MessageBox on error), and registers global "MessageBox" function. |
| 0x00522230 | 90 | CLuaInstance__base_dtor | CLuaInstance base class destructor. Sets base vtable, closes file handle via CFileStream, destroys internal STL string. Called from both dtor variants. |
| 0x00522290 | 82 | CLuaInstance__dtor | CLuaInstance destructor. Sets vtable, calls lua_close on the stored lua_State if non-null, then nulls the pointer. |
| 0x005222F0 | 111 | CLuaInstance__base_scalar_deleting_dtor | CLuaInstance base class scalar deleting destructor. Sets base vtable, closes file handle, destroys STL string, optionally frees memory (0x2C bytes) if bit 0 of param is set. |
| 0x00522360 | 103 | CLuaInstance__scalar_deleting_dtor | CLuaInstance scalar deleting destructor. Sets vtable, calls lua_close if lua_State is non-null, optionally frees memory (8 bytes) if bit 0 of param is set. |
| 0x005223D0 | 97 | CLuaInstance__execute_string | CLuaInstance::ExecuteString. Gets STL string from param, sets it as a global field, calls lua_pcall. On error, shows MessageBox with title "Lua Error" and the error string from lua_tostring. Returns 1 on success, 0 on error. |
| 0x00522460 | 263 | CLuaInstance__panic_handler | CLuaInstance Lua panic handler (lua_CFunction). Gets the error message via lua_tostring(-1), copies it to a local STL string, and shows a MessageBox with title "CLuaInstance". Returns 0. Registered as lua_atpanic callback. |
| 0x00522570 | 28 | CLuaInstance__close_state | CLuaInstance::CloseState. If the lua_State at this+4 is non-null, calls lua_close and sets the pointer to 0. |
| 0x00522590 | 82 | CLuaInstance__reset_state | CLuaInstance::ResetState. Closes existing lua_State if any, creates a new one via luaL_newstate, opens standard libraries, re-registers panic handler and global "MessageBox" function. Essentially re-initializes the Lua environment. |
| 0x005225F0 | 112 | CLuaInstance__execute_buffer | CLuaInstance::ExecuteBuffer. Loads an STL string as Lua chunk via luaL_loadbuffer, then calls lua_pcall with 0 args and LUA_MULTRET. On error, if param_3 is true, shows MessageBox with the error message and the buffer name as title. Returns 1 on success, 0 on error. |
| 0x00522660 | 475 | CLuaInstance__execute_file | CLuaInstance::ExecuteFile. Opens file via CFileStream, reads entire contents into a malloc'd buffer, loads it via luaL_loadbuffer, calls lua_pcall. On error shows MessageBox with error string and filename. Frees buffer and closes file. Returns 1 on success, 0 on failure. |
| 0x00522840 | 41 | CLuaInstance__register_defaults | CLuaInstance::RegisterDefaults. Registers the panic handler callback and the global "MessageBox" function into the lua_State. Called during construction and reset. |
| 0x00522870 | 55 | CLuaInstance__set_global_boolean | CLuaInstance::SetGlobalBoolean. Pushes a boolean value onto the Lua stack, then sets it as a global variable with the given STL string name (at pseudo-index LUA_GLOBALSINDEX). |
| 0x005228B0 | 55 | CLuaInstance__set_global_function | CLuaInstance::SetGlobalFunction. Pushes a C function onto the Lua stack via lua_pushcclosure, then sets it as a global variable with the given STL string name (at pseudo-index LUA_GLOBALSINDEX). |
| 0x005228F0 | 63 | CLuaInstance__set_global_number | CLuaInstance::SetGlobalNumber. Pushes a double (lua_Number) onto the Lua stack, then sets it as a global variable with the given STL string name (at pseudo-index LUA_GLOBALSINDEX). |
| 0x00526620 | 274 | luaopen_base_00526620 | Lua: luaopen_base - registers base library functions (assert, error, pcall, xpcall, tostring, ipairs, pairs, newproxy, etc.), sets _VERSION="Lua 5.1", and opens coroutine sub-library. |
| 0x0052A270 | 31 | luaopen_debug_0052a270 | Lua debug library: module loader. Registers the debug library functions (getinfo, getlocal, setlocal, getupvalue, setupvalue, sethook, gethook, debug, traceback) under the "debug" table name via luaL_register. |
| 0x0052F480 | 552 | luaopen_io_0052f480 | Lua io library: luaopen_io - initializes the io library. Creates FILE* metatable with __index pointing to itself. Registers file methods (close/flush/lines/read/seek/setvbuf/write). Creates env tables with __close functions for regular files (fclose), standard files (noclose), and popen files (pclose). Sets up stdin (slot 1), stdout (slot 2), stderr as FILE* userdata wrapping __acrt_iob_func(0/1/2). |
| 0x0053A8AB | 1 | stub_ret_0053a8ab | Single-byte return stub at function boundary, likely alignment padding or placeholder |
| 0x0053E4A0 | 80 | CDateTime__constructor | CDateTime constructor: sets vtable, initializes with current tick count, zeros date fields |
| 0x0053E510 | 30 | CDateTime__scalar_destructor | CDateTime scalar deleting destructor, frees 4-byte object if flag set |
| 0x0053E530 | 36 | CDateTime__destructor | CDateTime destructor: resets vtable, optionally frees 0x30-byte object |
| 0x0053E560 | 199 | CDateTime__add_time | Adds hours/minutes/ticks to datetime, updates internal timestamp and Y/M/D/H/M/S fields |
| 0x0053E630 | 57 | CDateTime__get_localtime | Converts internal timestamp to tm struct via _localtime64_s |
| 0x0053E670 | 36 | CDateTime__abs_duration | Computes absolute value of a 64-bit signed time duration |
| 0x0053E6F0 | 43 | CDateTime__get_elapsed_abs | Computes absolute elapsed time from stored timestamp to current time |
| 0x0053E720 | 30 | CDateTime__get_elapsed_raw | Returns raw elapsed time (signed 64-bit) from stored timestamp to current time |
| 0x0053E740 | 74 | CDateTime__get_elapsed_units | Calculates elapsed time in specified units (0=100ns, 1=us, 2=ms, 3=seconds) |
| 0x0053E850 | 67 | CDateTime__get_remaining_ms | Computes absolute time difference in milliseconds between current and target timestamp |
| 0x0053E8A0 | 112 | CDateTime__format_string | Formats datetime as "YYYY-MM-DD HH:MM:SS" string via wsprintfA |
| 0x0053E930 | 156 | CDateTime__update_now | Updates datetime to current time via _Xtime_get_ticks plus stored offset, refreshes Y/M/D/H/M/S |
| 0x005402D0 | 9 | wrapper_STL_vector_assign_20byte_A | Thin wrapper around STL_vector_assign_20byte |
| 0x00540360 | 9 | wrapper_STL_vector_assign_20byte_B | Thin wrapper around STL_vector_assign_20byte |
| 0x00541870 | 476 | quaternion_slerp_full | Full quaternion SLERP with dot-product sign correction and acos-based angle interpolation |
| 0x00541A50 | 99 | vector3_lerp | Linear interpolation of 3D vectors: result = (1-t)*a + t*b |
| 0x00541AC0 | 108 | vector3_lerp_double_precision | Linear interpolation of 3D vectors using double-precision for (1-t) computation |
| 0x00541B30 | 411 | quaternion_slerp_with_extra_spin | Quaternion SLERP with extra spin parameter for multi-revolution interpolation |
| 0x00542D60 | 95 | CD3DRenderTarget__constructor | Constructs D3D render target by calling CD3DSurface create then setting derived vtable |
| 0x00542E30 | 35 | CD3DBase__scalar_destructor | Base D3D scalar deleting destructor, frees 4-byte object if flag set |
| 0x00542EE0 | 132 | CD3DRenderTarget__destructor | D3D render target destructor: releases COM surface, optionally frees 20-byte obj |
| 0x00543EC0 | 255 | CRenderQueue__allocate_mesh_entry | Allocates a 0xA8-byte mesh entry from circular buffer, grows if full |
| 0x00547520 | 325 | blend_argb_colors | Alpha-blends two ARGB colors using param2's alpha as blend factor, returns composited ARGB value |
| 0x00547670 | 125 | apply_color_tint | Applies grayscale + color tint to RGB: averages channels, clamps to min, then boosts R/G/B based on tint mode 1-4 |
| 0x005476F0 | 70 | unpack_rgb555_and_tint | Unpacks 15-bit RGB555 pixel to 8-bit channels and applies color tint transform |
| 0x00547740 | 67 | unpack_rgb4444_and_tint | Unpacks 16-bit ARGB4444 pixel to 8-bit channels and applies color tint transform |
| 0x00548B30 | 1 | stub_ret_00548b30 | Single-byte return stub at function boundary, likely alignment padding or placeholder |
| 0x00548C00 | 48 | init_ddsurface_desc | Initializes DDSURFACEDESC2 struct with size=0x7C, width/height, 32-bit pixel format |
| 0x00548C30 | 350 | build_perspective_projection_matrix | Builds 4x4 perspective projection matrix from FOV, aspect ratio, near and far planes |
| 0x00548D90 | 131 | d3d_trace_error | Outputs debug trace with file:line, error message, and optional HRESULT to OutputDebugString |
| 0x00548E20 | 436 | CSharedTexture__constructor | Constructs shared texture with refcounted control block, loads texture via resource manager singleton |
| 0x00548FE0 | 172 | CSharedTexture__copy_constructor | Copy constructs shared texture with interlocked refcount increment on control block |
| 0x005490D0 | 127 | CSharedTexture__destructor | Releases shared texture refcount, destroys control block and texture data when refcount reaches zero |
| 0x00549160 | 30 | CRefCountBlock__scalar_deleting_destructor | Scalar deleting destructor for 16-byte refcount control block |
| 0x00549180 | 148 | CSharedTexture__scalar_deleting_destructor | Scalar deleting destructor: decrements refcount, releases control block, optionally frees 12-byte object |
| 0x00549820 | 116 | convert_bgra_to_rgb565 | Converts BGRA pixel array to RGB565 format, replacing near-white pixels with colorkey value |
| 0x00549D90 | 120 | create_bitmap_font_buffer | Allocates and constructs CBitmapFont with given dimensions, fills with magenta colorkey |
| 0x0054A8B0 | 26 | safe_release_com_object | If pointer non-null, tail-calls vtable[0] with argument 1. Used as a safe release/destroy wrapper for COM-like objects. |
| 0x0054A970 | 68 | d3d_texture_format_callback | EnumTextureFormats callback: selects best pixel format with matching bpp, preferring higher bit depth |
| 0x0054AA50 | 122 | get_client_rect_in_screen | Gets client rect and converts to screen coordinates, applying global display offset |
| 0x0054C2A0 | 410 | d3d9_set_default_render_states | Configures default D3D9 render states: lighting, alpha blend, texture stages, sampler states |
| 0x0054C540 | 129 | safe_realloc_buffer | Reallocates or frees buffer with calloc/recalloc, aborts on allocation failure |
| 0x0054C780 | 29 | memmove_backward | Copies memory range [param1, param2) to destination ending at param3 using memcpy |
| 0x0054CD60 | 184 | sort3_elements_0x18 | Sorts 3 adjacent 24-byte elements in-place using 3-field comparison for render queue ordering |
| 0x0054CE20 | 796 | partition_0x18_elements | Dutch national flag partition for 24-byte elements using median-of-3 pivot selection |
| 0x0054D280 | 539 | introsort_0x18_elements | Introsort for 24-byte render queue entries: quicksort with heapsort fallback and insertion sort finish |
| 0x0054D4A0 | 14 | trivial_constructor_set_field | Trivial constructor that sets single field to given value |
| 0x0054D5C0 | 68 | CBuffer__free_external | Frees dynamically allocated buffer if it differs from inline storage |
| 0x0054D850 | 56 | CGDIPlusFont__delete_family | Deletes GDI+ font family handle via GdipDeleteFontFamily |
| 0x0054D920 | 92 | CGDIPlusFontCollection__destructor | Destroys private font collection via GdipDeletePrivateFontCollection, resets vtable |
| 0x0054DA00 | 111 | CGDIPlusBase__scalar_deleting_destructor | Scalar deleting destructor for GDI+ base: frees via GdipFree or aligned free based on flags |
| 0x0054DA80 | 144 | CGDIPlusFontCollection__scalar_deleting_destructor | Scalar deleting destructor: deletes private font collection and frees via GdipFree or aligned free |
| 0x0054DB40 | 263 | submit_textured_quad_to_render_queue | Builds 4-vertex textured quad with UV coords and color, submits to render pipeline for drawing |
| 0x0054DC50 | 28 | throw_hresult_exception | Constructs HRESULT exception object and throws it via CxxThrowException (does not return) |
| 0x0054DC70 | 24 | throw_last_win32_error | Gets last Win32 error, converts to HRESULT (FACILITY_WIN32), and throws as exception |
| 0x0054FDA0 | 366 | wide_char_to_multibyte_alloc | Converts wide string to multibyte using WideCharToMultiByte with dynamic buffer allocation/realloc |
| 0x00550A80 | 96 | d3d_snprintf_wrapper | Formats string via __stdio_common_vsnprintf_s into 1024-byte buffer, returns char count or -1 |
| 0x00550C40 | 262 | d3d_log_error_with_hresult | Logs D3D error via OutputDebugStringA with file/line and HRESULT name (D3DERR_xxx) mapping |
| 0x00550F70 | 344 | d3d_get_error_description | Returns human-readable description string for D3D HRESULT error codes |
| 0x005511D0 | 344 | d3d_get_error_name | Returns D3D error code name string (e.g. "D3DERR_DEVICELOST") for HRESULT value |
| 0x005528C0 | 255 | compute_rotation_vector_from_euler_angles | Computes a 4-element rotation vector from 3 Euler angles using sin/cos. Output is a combined rotation representation, not a direct vertex transform. |
| 0x005544C0 | 350 | quaternion_slerp | Spherical linear interpolation between two quaternions by parameter t, handles antipodal case |
| 0x005546F0 | 514 | matrix3x3_to_quaternion | Converts 3x3 rotation matrix to quaternion using Shepperd's method, ensures positive w |
| 0x00557450 | 389 | sort_median_of_nine_by_offset8 | Median-of-nine pivot selection by uint at offset 0x8 |
| 0x005575E0 | 288 | insertion_sort_float_pair_array | Insertion sort for float pair array (8 bytes each) |
| 0x00557700 | 350 | heap_make_float_pair_array | Builds max-heap from float pair array |
| 0x00557860 | 108 | sort_median_of_three_by_offset10 | Median-of-three by uints at offsets 0x10/0x14 |
| 0x005578D0 | 120 | sort_median_of_three_by_offset10_alt | Median-of-three alternate comparison at 0x10/0x14 |
| 0x00557950 | 292 | sort_median_of_three_float_pair | Median-of-three for float pair elements |
| 0x00557A80 | 402 | quicksort_partition_by_offset8 | Three-way partition by uint at offset 0x8 |
| 0x00557C20 | 721 | quicksort_partition_by_offset10_14 | Three-way partition by uints at 0x10/0x14 |
| 0x00557F00 | 749 | quicksort_partition_by_offset10_14_alt | Three-way partition alternate at 0x10/0x14 |
| 0x005581F0 | 1137 | quicksort_partition_float_pair | Three-way partition for float pair array |
| 0x00558A00 | 571 | introsort_pointer_array_by_offset8 | Introsort for pointer array by uint at offset 0x8 |
| 0x00558C40 | 617 | introsort_pointer_array_by_offset10_14 | Introsort for pointer array by offsets 0x10/0x14 |
| 0x00558EB0 | 601 | introsort_pointer_array_by_offset10_14_alt | Introsort alternate comparison at 0x10/0x14 |
| 0x00559110 | 254 | introsort_float_pair_array | Introsort for float pair array |
| 0x0055CFC0 | 183 | blend_argb_colors_by_alpha | Blends two ARGB colors using param_2 alpha as ratio |
| 0x0055D080 | 23 | get_texture_quality_size | Returns texture quality size: 0->32, 1->64, 2->128, 3->256 pixels. Used for texture resolution selection. |
| 0x0055D0AD | 1 | stub_ret_0055d0ad | Single-byte return stub at function boundary, likely alignment padding or placeholder |
| 0x0055D0D0 | 26 | CRenderDevice__get_transform_data | Copies 0xEC bytes of transform data from offset 0x48 |
| 0x0055D120 | 46 | compute_fog_density_from_distance | Computes fog density using linear fog formula |
| 0x0055D190 | 108 | generate_random_alpha_byte | Generates random byte shifted to alpha channel bits 24-31 |
| 0x0055D310 | 47 | compute_perspective_correction_factor | Computes perspective correction from distance |
| 0x0055D340 | 153 | init_text_render_singleton | Thread-safe lazy initialization of text render singleton at DAT_01387330. Uses thread_header/epoch_counter pattern for one-time init with atexit cleanup. |
| 0x0055FF10 | 1 | stub_ret_0055ff10 | Single-byte return stub at function boundary, likely alignment padding or placeholder |
| 0x0055FF20 | 1 | stub_ret_0055ff20 | Single-byte return stub at function boundary, likely alignment padding or placeholder |
| 0x0055FF30 | 1 | stub_ret_0055ff30 | Single-byte return stub at function boundary, likely alignment padding or placeholder |
| 0x0055FF40 | 1 | stub_ret_0055ff40 | Single-byte return stub at function boundary, likely alignment padding or placeholder |
| 0x0055FF50 | 1 | stub_ret_0055ff50 | Single-byte return stub at function boundary, likely alignment padding or placeholder |
| 0x00565AA3 | 1 | stub_ret_00565aa3 | Single-byte return stub at function boundary, likely alignment padding or placeholder |
| 0x00568EF0 | 75 | CRenderVertex__init_with_params | Initializes a render vertex structure with two parameters (likely position coords or texture coords). Sets 10 DWORD fields: first two from params, rest zeroed. Field 5 set to 1 (short), field 9 set to 4 (likely FVF/type flag). |
| 0x00568F40 | 71 | CRenderVertex__init_default | Default-initializes a render vertex structure. Zeros all 10 DWORD fields. Field 5 set to 1 (short), field 9 set to 4 (type flag). Same layout as CRenderVertex__init_with_params but all zeros. |
| 0x00568F90 | 139 | CRenderVertexBuffer__init_from_source_32byte | Initializes a vertex buffer with 4 vertices (stride 0x28=40 bytes each, 0xFF000000 default alpha). Copies 0x28 DWORDs (160 bytes) of vertex data from source+0x1C. Sets capacity=4, count/flags=0, type=5. |
| 0x00569020 | 105 | CRenderVertexBuffer__init_default_32byte | Default-initializes a vertex buffer with 4 vertices at 40-byte stride. Each vertex has 0xFF000000 (opaque black) as default diffuse color. Sets capacity=4, count/flags=0, type=5. Data stored inline at offset +7 DWORDs. |
| 0x00569090 | 71 | CRenderVertex__init_default_00569090 | Identical to CRenderVertex__init_default, zeros all 10 DWORD fields, sets field 5 to 1 (short) and field 9 to 4 (type flag). Duplicate at different address. |
| 0x005690E0 | 51 | CRenderVertexBuffer__init_empty | Initializes a minimal vertex buffer struct. Zeros 7 DWORD fields (position, count, flags, etc.) and sets type field to 5. No vertex data allocated. |
| 0x00569120 | 171 | CRenderVertexBuffer__init_from_source_28byte | Initializes a vertex buffer with 4 vertices at 32-byte stride (8 DWORDs each, with 0xFF000000 default diffuse). Copies 0x20 DWORDs (128 bytes) of vertex data from source+0x28. Header: capacity=4, type flag=1 (short at field 5), buffer type=5. |
| 0x005691D0 | 153 | CRenderVertexBuffer__init_default_28byte | Default-initializes a vertex buffer with 4 vertices at 32-byte stride (8 DWORDs each). Each vertex gets 0xFF000000 as default diffuse color. Header includes capacity=4, type flag=1, buffer type=5. Data stored inline at offset +10 DWORDs. |
| 0x005692F0 | 28 | CRenderVertexBuffer__free_data | Frees the vertex data buffer if allocated. Calls operator_delete with size 0x20 (32 bytes) and nullifies the pointer. |
| 0x00569340 | 31 | CRenderVertexBuffer__copy_vertex_data_32byte | Copies 0x28 DWORDs (160 bytes) of vertex data from source+0x1C to this+0x1C. Used for 32-byte stride vertex buffers (4 vertices x 40 bytes = 160 bytes total). |
| 0x00569360 | 31 | CRenderVertexBuffer__copy_vertex_data_28byte | Copies 0x20 DWORDs (128 bytes) of vertex data from source+0x28 to this+0x28. Used for 28-byte stride vertex buffers (4 vertices x 32 bytes = 128 bytes total). |
| 0x00569380 | 225 | CRenderVertexBuffer__allocate_vertex_array | Allocates a vertex array of param_2*3 vertices at 0x20 (32) bytes each. Initializes each vertex with zeroed fields and 0xFF000000 (opaque black) as default diffuse color. Returns allocated pointer via param_1, or sets to null on allocation failure. SEH-protected. |
| 0x005694A0 | 57 | CRenderVertexBuffer__randomize_alpha_32byte | Iterates over all vertices in a 32-byte stride buffer. For each vertex, reads the value at offset +0x0C (likely existing color), generates a random alpha byte via generate_random_alpha_byte, and stores the result at offset +0x14 (diffuse color with random alpha). |
| 0x005694E0 | 57 | CRenderVertexBuffer__randomize_alpha_40byte | Iterates over all vertices in a 40-byte stride (0x28) buffer. For each vertex, reads color at +0x0C, generates random alpha via generate_random_alpha_byte, stores at +0x14. Same logic as the 32-byte version but with larger vertex stride. |
| 0x00569520 | 57 | CRenderVertexBuffer__randomize_alpha_40byte_00569520 | Identical to CRenderVertexBuffer__randomize_alpha_40byte, iterates vertices at 0x28 stride, generates random alpha for each. Duplicate at different address, possibly used by a different caller context. |
| 0x00569560 | 28 | CRenderVertexBuffer__check_all_positions_valid | Checks if all 3 vertex positions (at 32-byte stride, float at offset +0x0C) are greater than 0.0. Returns true (1) only if all 3 pass the check. Returns false immediately on finding any <= 0.0 position value. |
| 0x00569580 | 58 | CRenderVertexBuffer__set_vertex_position_32byte | Sets 4 DWORDs (position x,y,z,w or x,y,z + rhw) at a given vertex index in a 32-byte stride vertex buffer. Index is multiplied by 0x20 to get the offset into the data array. |
| 0x005695C0 | 58 | CRenderVertexBuffer__set_vertex_position_32byte_005695c0 | Identical to CRenderVertexBuffer__set_vertex_position_32byte, sets 4 DWORDs at vertex index * 0x20 in the data array. Duplicate at different address. |
| 0x0056A0F0 | 310 | CRenderConfig__init_from_globals | Initializes a render configuration struct from global variables at 0x0173a8xx. Determines render system type (1=D3D, 2=software) from DAT_0173a8f0 or get_render_system_default. For type 1: copies D3D configuration (matrices, light params) from globals. For type 2: copies software renderer config and a shader name string. Contains two embedded std::string fields (SSO). SEH-protected. |
| 0x0056A240 | 21 | CRenderSystem__set_default_resolution | Sets default resolution to 768x1024 (param_1[0] = 0x300, param_1[1] = 0x400) |
| 0x0056A280 | 14 | CRenderSystem__get_device_caps_vtable_0x30 | Calls vtable offset 0x30 on the render device if it exists, returns 0 if device is null |
| 0x0056A290 | 14 | CRenderSystem__get_device_vtable_0x18 | Calls vtable offset 0x18 on the render device if it exists, returns 0 if device is null |
| 0x0056A2A0 | 593 | CRenderSystem__build_render_api_list | Builds a vector of available render APIs. Adds "DirectX 7" (id=1) and "DirectX 9" (id=2) as render item entries with 0x1c stride. |
| 0x0056A500 | 137 | CRenderSystem__get_device_info_vtable_0x34 | Calls vtable offset 0x34 on the render device to get info into param_2. Returns empty result (0,0) if device is null. |
| 0x0056A590 | 173 | CRenderSystem__get_display_modes_for_api | Gets display modes for the specified API type. param_2=1 calls DX7 mode enumeration (stub_0056bdd0), param_2=2 calls DX9 mode enumeration (stub_0056dcf0). Returns empty vector for unknown types. |
| 0x0056A640 | 26 | CRenderSystem__get_api_name_string | Returns the string name for a render API type: 0="Default", 1="DirectX 7", 2="DirectX 9", -1="NotInitialized", default="" |
| 0x0056A690 | 14 | CRenderSystem__get_device_vtable_0x14 | Calls vtable offset 0x14 on the render device if it exists, returns 0 if device is null |
| 0x0056A6A0 | 227 | CRenderSystem__create_device | Creates a render device. Returns 0x8000000e if already initialized. param_2=0 uses system default (DX7 or DX9), param_2=1 forces DX7 (CD3DDeviceDX7), param_2=2 forces DX9 (CD3DDeviceDX9). Returns 0x80070057 for invalid param. Calls vtable init after creation. |
| 0x0056A790 | 16 | CRenderSystem__is_device_ready | Calls vtable offset 0x10 on the render device to check if it is ready. Returns false if device is null. |
| 0x0056A7A0 | 17 | CRenderSystem__get_device_vtable_0x44 | Calls vtable offset 0x44 on the render device. Returns 0x8000000e if device is null (not initialized). |
| 0x0056A7C0 | 24 | CRenderSystem__get_device_vtable_0x48 | Calls vtable offset 0x48 on the render device. Returns 0x8000000e if device is null (not initialized). |
| 0x0056A7E0 | 125 | CRenderSystem__save_device_guids_to_registry | Saves render device GUIDs to the Windows registry under HKLM. Writes GUIDDEVICE, GUIDDRIVER, and DEVICENAME values to the registry key. |
| 0x0056AF60 | 127 | CRenderSystem__create_default_texture | Allocates a new CTexture (300 bytes) and constructs it with the default device parameter. Stores result in param_1. Returns null if allocation fails. |
| 0x0056B3A0 | 68 | CRenderSystem__destroy_render_item_string | Wrapper that destroys a single string embedded in a render item. Simple SEH-protected call to STL_string_dtor. |
| 0x0056B3F0 | 172 | CRenderSystem__move_assign_com_shared_ptr | Move-assigns a COM shared_ptr (2 fields: ptr + ref_count_block). Swaps ownership from param_2 to param_1, decrements old refcount, and releases if zero. Uses interlocked operations. |
| 0x0056B5D0 | 5 | thunk_free_all_sprite_buffers | Thunk: iterates sprite array, frees allocated buffers and clears pointers |
| 0x0056B8C0 | 716 | CRenderSystem__enumerate_ddraw_display_adapters | Enumerates DirectDraw display adapters. Calls CDirectDraw__enumerate_devices if needed, then iterates valid devices building a vector of display mode items (0x68 stride) containing device name strings and GUID information. |
| 0x0056BDD0 | 1213 | CRenderSystem__enumerate_dx7_display_modes | Enumerates DirectX 7 display modes for a given device index. Filters modes to 640-1440 width range. Uses VerifyVersionInfoW to detect Windows 8+ and restricts to 32-bit color modes only on Win8+. On older OS, includes both 16-bit and 32-bit modes. Formats resolution strings as "WxHxBPP". |
| 0x0056C2B0 | 488 | CRenderSystem__initialize_d3d_device | Initializes the D3D device. Enumerates DDraw adapters, checks for compatible devices (shows error MessageBox if none). Finds best matching adapter by comparing render effects, reads setup config (windowed mode flag, resolution), then calls CD3DDevice__startup. Returns HRESULT or 0x81000004 on no devices. |
| 0x0056C4C0 | 12 | CRenderSystem__present_frame | Wrapper that calls CD3DDevice__present_frame to flip/present the back buffer to the screen. |
| 0x0056C4D0 | 12 | CRenderSystem__release_object_via_vtable | Releases an object by calling its vtable offset 8 (Release/destructor) with param=1 if the pointer is non-null. |
| 0x0056D2F0 | 36 | CD3D9RefCounted__scalar_deleting_dtor | Scalar deleting destructor for CD3D9RefCounted (0x20 bytes). Sets vtable pointer, conditionally frees memory if bit 0 of param_2 is set. |
| 0x0056D720 | 26 | call_virtual_release | Calls virtual method at offset 0 (destructor/release) on param_1 if non-null. Generic release helper for COM-like reference-counted objects. |
| 0x0056E5D0 | 12 | COM_release_if_nonnull | Calls COM Release (vtable+8) on param_1 if non-null. Used to release IDirect3D9Ex and similar COM interfaces. |
| 0x0056E5E0 | 11 | CD3D9RefCounted__invoke_release_callback | Invokes the release callback at offset 0xc on the ref-counted object. Calls the first virtual method with parameter 0. |
| 0x0056E5F0 | 1 | stub_ret_0056e5f0 | Single-byte return stub at function boundary, likely alignment padding or placeholder |
| 0x0056E600 | 1 | stub_ret_0056e600 | Single-byte return stub at function boundary, likely alignment padding or placeholder |
| 0x0056E610 | 1 | stub_ret_0056e610 | Single-byte return stub at function boundary, likely alignment padding or placeholder |
| 0x0056EA60 | 134 | FNV1a_hash_pair8 | FNV-1a hash of an 8-byte key. Hashes the first 4 bytes with FNV-1a, then combines with the hash of the second 4 bytes using boost-style hash_combine (golden ratio 0x9e3779b9). |
| 0x0056EC60 | 110 | phmap_hashmap__find_by_key | Parallel hashmap find by key. Looks up a key pair in the hash table bucket at (hash & mask). Walks the bucket's linked list comparing both key fields. Returns iterator with node pointer or end sentinel. |
| 0x0056ECD0 | 56 | _Fnv1a_append_value<> | Appends a value to an FNV-1a hash by XORing each byte and multiplying by the FNV prime. |
| 0x0056ED10 | 58 | FNV1a_hash_4bytes | FNV-1a hash of 4 bytes. Starts with FNV offset basis 0x811C9DC5, XOR-folds each byte and multiplies by FNV prime 0x01000193. |
| 0x0056EF30 | 489 | CTileCache__insert_or_find | Inserts a new entry into a tile cache unordered_map. If key already exists, returns existing entry. Otherwise allocates a new node, copies key data, computes load factor, may rehash if needed, links into hash bucket chain, increments count. Returns iterator + bool (inserted). |
| 0x0056F280 | 376 | CTileCache__dtor | Destructor for the tile cache object. Calls flush/clear, frees the pooled surface vector at +0x84, frees the tile list vector at +0x70, walks and frees all linked list nodes at +0x68, then destroys 25 node lists via _eh_vector_destructor_iterator_. |
| 0x0056F410 | 796 | CTileCache__acquire_tile | Acquires a tile from the cache for a given texture dimension. Determines scale bucket based on width/height thresholds (0x21/0x41/0x81/0x101). Searches existing buckets for expired tiles to recycle, or creates a new bucket+surface if none available. Sets up tile UV coordinates, timestamps via timeGetTime, inserts into hash map, adjusts UV offsets by surface tile dimensions. Returns tile data struct via param_3. |
| 0x0056F730 | 115 | CTileCache__get_or_create_surface | Gets a pooled surface or creates a new one. For small textures (<=256x256), checks the free surface pool at +0x84/+0x88; if pool is empty, creates a new 256x256 surface. For larger textures, always creates a new surface at the requested dimensions. |
| 0x0056F7B0 | 117 | convert_rgba8888_to_rgb565 | Converts an array of RGBA8888 pixels to RGB565 (16-bit) format. For each pixel, extracts R/G/B channels, packs into 5-6-5 bit layout with a high bit flag. Pixels with R>=0xFE, B>=0xFE, and G>3 are treated as transparent (output 0x421 color key). Input: param_2=RGBA src, param_1=RGB565 dst, param_3=pixel count. |
| 0x0056F830 | 717 | CTileCache__create_bucket | Creates a new tile bucket for a given size class. Allocates a 0x20-byte bucket node, links it into the bucket chain at the size index, obtains or creates a D3D surface, computes tile grid (rows x cols based on surface dimensions / tile size), resizes the tile vector, and initializes each tile's UV offsets and back-pointer to the surface. Returns pointer to the surface wrapper. |
| 0x0056FB00 | 171 | CTileCache__preallocate_surfaces | Pre-allocates a pool of surfaces for the tile cache. Calls flush and clear first, ensures pool vector capacity, then creates param_2 surfaces of 256x256. Each surface is initialized and pushed into the pool vector at +0x84/+0x88. |
| 0x0056FBB0 | 137 | CTileCache__find_cached_tile | Looks up a cached tile by key in the unordered_map. If found, refreshes the tile's timestamp via timeGetTime and copies the tile data (40 bytes) into param_4. Returns the surface pointer if found, 0 otherwise. |
| 0x0056FC40 | 73 | CTileCache__release_all_pooled_surfaces | Releases all pooled surfaces back. Iterates the surface pool vector at +0x84/+0x88, calls a cleanup function on each, then calls the virtual destructor (vfunc 0) with flag=1 to delete each surface object. Resets the pool end pointer to begin. |
| 0x0056FC90 | 75 | CTileCache__return_surface_to_pool | Returns a surface to the pool or destroys it. If the surface is marked non-poolable (field[7]==0), calls its virtual destructor to delete it. Otherwise pushes it back into the pool vector at +0x84/+0x88 (with vector grow via stub_0056eb20 if at capacity). |
| 0x0056FCE0 | 129 | decode_rle_sprite_to_rgb565 | Decodes RLE-compressed sprite data to RGB565 output buffer. Reads compressed byte stream from param_1[+6], where byte==0 indicates a run of transparent pixels (next byte = run length). Non-zero bytes index into a palette (param_2) to produce 16-bit pixel values. Outputs row by row into param_3 with param_4 stride. |
| 0x0056FD70 | 240 | CTileCache__flush_all_buckets | Flushes all 25 tile cache buckets. For each bucket chain, walks the linked list, returning poolable surfaces to the pool or destroying non-poolable ones. Frees each bucket node (0x20 bytes) after deallocating its tile vector. Finally clears the unordered_map via stub_00570500. |
| 0x0056FE60 | 446 | CTileCache__evict_expired_tiles | Evicts expired tiles from all 25 cache buckets. Gets current time via timeGetTime, checks each bucket's tiles against expiration threshold. For expired tiles, removes their entries from the unordered_map, returns or destroys surfaces, and frees bucket nodes. Non-expired buckets remain in the chain. |
| 0x00570080 | 623 | CTileCache__rehash | Rehashes the tile cache unordered_map to a new bucket count. Rounds up to next power of 2, allocates new bucket array (or fills existing if large enough), updates bucket count and mask, then re-inserts all existing nodes into new buckets based on rehashed keys. Handles bucket chain splicing for nodes that hash to the same bucket. |
| 0x005702F0 | 1 | stub_ret_005702f0 | Single-byte return stub at function boundary, likely alignment padding or placeholder |
| 0x00570300 | 3 | identity_return_00570300 | Identity function - returns param_1 unchanged. 3 bytes (mov eax, ecx; ret). |
| 0x00570400 | 49 | memset_40byte_elements | Zero-initializes param_2 elements of 0x28 (40) bytes each starting at param_1. Returns pointer past the last initialized element. Used to default-construct tile entries in the vector. |
| 0x00570440 | 56 | copy_40byte_elements | Copies an array of 0x28 (40) byte elements from [param_1, param_2) to destination at param_3. Copies each element as 10 dwords (40 bytes). Used during vector reallocation. |
| 0x00570500 | 142 | CTileCache__clear_hashmap | Clears the tile cache unordered_map. If non-empty, unlinks all nodes from the sentinel, frees each node (0x14 bytes), resets count to 0, and fills all bucket pointers with the sentinel value. |
| 0x005705A0 | 106 | CTileCache__free_bucket_chain | Frees a linked list of bucket nodes starting at *param_1. For each node, deallocates the tile vector (40-byte elements) then frees the node itself (0x20 bytes). Sets *param_1 to 0 when done. |
| 0x00570690 | 140 | CTileCache__erase_by_key | Erases an entry from the tile cache unordered_map by key. Computes hash, finds the node in the bucket chain, unlinks it from the doubly-linked list, updates bucket head/tail pointers, decrements count, frees the node (0x14 bytes). Returns 1 if found and erased, 0 otherwise. |
| 0x00570970 | 114 | clamp_rect_to_surface | Clamps a RECT (left, top, right, bottom in param_2) to the surface dimensions stored at param_3+0x18 (width) and param_3+0x1c (height). Each coordinate is clamped to [0, dimension]. Returns the clamped rect in param_1. |
| 0x00570C70 | 39 | get_pixel_bit_depth_from_d3d_format | Maps a D3D format enum to pixel bit depth. Format 0x15/0x16 (D3DFMT_X8R8G8B8/A8R8G8B8) returns 32 (0x20). Format 0x17-0x1a (R5G6B5, X1R5G5B5, A1R5G5B5, A4R4G4B4) returns 16 (0x10). Other formats return 0. |
| 0x00570D70 | 52 | convert_argb8888_to_argb1555 | Converts a single ARGB8888 pixel to ARGB1555 format. Extracts 5 bits each from R, G, B (bits 9-15 shifted), and 1 bit from A (bit 16). Returns packed 16-bit value: A1R5G5B5. |
| 0x005722E0 | 140 | CD3DTexture__ctor | Constructor for CD3DTexture. Sets up SEH, initializes vtable to CD3DTexture (010dd69c then 010dc0e4 base), sets format to -1 (0xFFFFFFFF), pixel_mode=1, zeroes out all texture fields (D3D surface/texture pointers, dimensions, flags). Size = 0x124 bytes (base class only, without derived fields). |
| 0x00572370 | 7 | CD3DTexture__set_base_vtable | Sets the vtable pointer to the CD3DBase base class vtable (010dc0e4). Called during destruction to revert to base class before cleanup. |
| 0x00572380 | 72 | CD3DTexture__dtor_base | Base destructor for CD3DTexture. Sets up SEH, reverts vtable from CD3DTexture to CD3DBase, then performs base class cleanup. |
| 0x005723D0 | 100 | CD3DTexture__scalar_deleting_dtor | Scalar deleting destructor for CD3DTexture (base class, 0x124 bytes). Sets vtable to CD3DTexture, reverts to CD3DBase, then optionally frees memory if param_2 bit 0 is set. |
| 0x00572460 | 21 | CD3DTexture__add_ref | Increments the reference count (offset +0x1C) and updates the last-access timestamp (offset +0x20) via timeGetTime. Used by the texture cache to track active references. |
| 0x00572480 | 30 | CD3DTexture__set_filename | Copies the texture filename into the internal buffer at offset +0x24 (max 0x100 chars) using strncpy_s. |
| 0x005724A0 | 49 | CD3DTexture__clamp_dimensions_to_power_of_two | Clamps the given width and height down to the maximum supported texture dimensions (fields +0xC and +0x10) by halving until they fit. Stores the clamped values at offsets +0x14 (width) and +0x18 (height). |
| 0x005724E0 | 8 | CD3DTexture__release_ref | Decrements the reference count (offset +0x1C) by 1. |
| 0x005724F0 | 14 | CD3DTexture__update_timestamp | Updates the last-access timestamp (offset +0x20) to the current time via timeGetTime. Does not change the reference count. |
| 0x00572D30 | 23 | CD3DTexture__set_position_scaled | Sets the texture's position by calling vtable[0x3C] with x, y coordinates and the format value (field +4). Used for positioning textures that need scale-aware placement. |
| 0x00573170 | 52 | convert_argb8888_to_argb4444 | Converts a 32-bit ARGB8888 pixel to 16-bit ARGB4444 format by extracting 4 bits per channel. |
| 0x005731B0 | 39 | convert_argb8888_to_rgb565 | Converts a 32-bit ARGB8888 pixel to 16-bit RGB565 format (5 red, 6 green, 5 blue bits). |
| 0x00576660 | 103 | CModeMgr__ctor | CModeMgr constructor. Initializes CHashMap for mode storage, sets vtable to CModeMgr observer vtable, and calls CModeMgr__register_all_mode_factories to register all game mode factories. |
| 0x005772C0 | 201 | CHashMap__clear_and_free | CHashMap destructor helper. Iterates all buckets, frees each 0x10-byte entry, frees the bucket array (with large-alloc header handling), then frees the 8-byte sentinel node. Resets all fields to zero. |
| 0x00577400 | 116 | CModeMgr__dtor | CModeMgr destructor. Sets vtable to CModeMgr observer vtable, iterates all registered mode factories and destroys them via virtual dtor at vfunc+8, then calls CHashMap__destructor to free the hash map. |
| 0x00577490 | 215 | CHashMap__clear_string_entries | Clears all entries from a CHashMap with string keys. If load factor is low, uses erase_range; otherwise walks all nodes, destroys each string, frees 0x24-byte nodes, resets sentinel and count, and fills bucket array with sentinel pointers. |
| 0x00577590 | 95 | CHashMap__hash_string_fnv1a | Computes a hash for a string key using FNV-1a (seed 0x811c9dc5, prime 0x1000193), then applies a Park-Miller LCG transformation (multiplier 0x41a7, modulus 0x7fffffff) to produce a positive 31-bit hash value. |
| 0x00577DD0 | 212 | CModeMgr__dtor_observer_type0 | Destructor for mode observer type 0; sets vtable PTR_010dd7e0, iterates linked list calling destructors on each child, deletes critical section, frees list nodes, clears hashmap, resets vtable to purecall. Optionally deletes self (0x40 bytes) if param_2 & 1. |
| 0x00577EB0 | 212 | CModeMgr__dtor_observer_type1_00577eb0 | Destructor for mode observer; deletes critical section, vtable PTR_FUN_010dd7c0 |
| 0x00577F90 | 212 | CModeMgr__dtor_observer_type2_00577f90 | Destructor for mode observer; deletes critical section, vtable PTR_FUN_010dd7d0 |
| 0x00578070 | 212 | CModeMgr__dtor_observer_type3_00578070 | Destructor for mode observer; deletes critical section, vtable PTR_FUN_010dd800 |
| 0x00578150 | 212 | CModeMgr__dtor_observer_type4_00578150 | Destructor for mode observer; deletes critical section, vtable PTR_FUN_010dd810 |
| 0x00578230 | 137 | CModeMgr__dtor_base_observer_00578230 | Destructor for base mode observer; iterates list, calls base dtor |
| 0x00578F30 | 6016 | CModeMgr__register_all_mode_factories | Registers all game mode object pool factories in CModeMgr. Called from CModeMgr::ctor. Initializes linked lists, critical sections, and inserts CEffectResourceEntry variants into an unordered_map keyed by string name. Each factory entry associates a mode name with its object pool allocator and constructor. |
| 0x0057A6C0 | 40 | CModeMgr__destroy_all_registered_observers | Iterates list and calls destructor on each registered observer |
| 0x0057BB20 | 23 | CBuffer__advance_read_pos | Advances read position |
| 0x0057BB40 | 10 | CBuffer__is_read_complete | Returns true if all data consumed |
| 0x0057C700 | 81 | CCompression__compress_to_vector | Compresses data to vector |
| 0x0057C760 | 52 | CCompression__compress_to_buffer | Compresses data to buffer |
| 0x0057C7A0 | 143 | CCompression__decompress_to_vector | Decompresses data to vector |
| 0x0057C830 | 62 | CCompression__decompress_to_buffer | Decompresses data to buffer |
| 0x0057C870 | 33 | CCompression__decompress_lz4_raw | Raw LZ4 decompression wrapper. Calls LZ4_decompress_fast, returns decompressed size or -1 on error. Previously misnamed as compress_raw. |
| 0x0057C8A0 | 48 | CCompression__decompress_zlib_raw | Raw zlib decompression wrapper. Calls zlib_uncompress, returns decompressed size or -1 on error. |
| 0x0057D4E0 | 453 | CCircle__generate_8way_symmetric_points | Generates 8 symmetric Bresenham circle points |
| 0x0057D6B0 | 445 | CCircle__compute_circle_cells | Computes circle cells via Bresenham |
| 0x0057D870 | 44 | copy_pair8_range | Copy pair8 range, small utility function |
| 0x0057D8A0 | 45 | relocate_pair8_range | Relocates 8-byte pairs from [src_begin, src_end) to dest during vector reallocation. Uses offset-based copy. |
| 0x0057D8E0 | 62 | phmap__deallocate_aligned | phmap::container_internal::Deallocate<8> - frees aligned memory for phmap hash map entries. Handles large allocation alignment (>4KB stores original pointer at offset -4). |
| 0x0057D920 | 14 | CSimpleAssign__set_value | Simple value assignment |
| 0x0057D930 | 75 | CBigInteger__set_from_int32 | Sets bigint from int32 |
| 0x0057D980 | 117 | CBigInteger__set_from_int128 | Sets bigint from 4 words |
| 0x0057DA00 | 36 | operator<<<char,struct_std::char_traits<char>,__int64> | Stream insertion operator for _Smanip<__int64>. Applies a stream manipulator function with an int64 argument. |
| 0x0057DAF0 | 129 | CBigInteger__multiply_by_uint32 | Multiplies bigint by uint32 |
| 0x0057DB80 | 129 | CBigInteger__realloc_digits | Reallocates bigint digit buffer |
| 0x0057DC10 | 23 | safe_free_if_different | Frees if not static buffer |
| 0x0057DF00 | 28 | CBigInteger__is_zero | Returns true if bigint is zero |
| 0x0057DF20 | 8 | identity_byte_passthrough | Returns input byte unchanged |
| 0x0057DF30 | 182 | CString__multibyte_to_wide | Converts multibyte to wchar_t* |
| 0x0057DFF0 | 100 | memcmp_range | Compares two byte ranges |
| 0x0057E060 | 225 | _Traits_find<struct_std::char_traits<char>_> | STL char_traits find. Searches for a character or substring in a character range. |
| 0x0057E160 | 103 | CBigInteger__append_bytes | Appends bytes to bigint buffer |
| 0x0057E1D0 | 106 | CBigInteger__append_words | Appends words to bigint buffer |
| 0x0057E240 | 829 | CBigInteger__format_decimal_string | Formats bigint as decimal |
| 0x0057E580 | 29 | CRandom__next_fixed_point_10pct | PRNG ~10% probability |
| 0x0057E5A0 | 29 | CRandom__next_fixed_point_1pct | PRNG ~1% probability |
| 0x0057E600 | 8 | identity_int_passthrough | Returns input int unchanged |
| 0x0057E610 | 8 | identity_int_passthrough_0057e610 | Returns input int unchanged |
| 0x00580C30 | 687 | CBigInteger__multiply_by_uint128 | Multiplies bigint by 128-bit |
| 0x0058A110 | 174 | CBigInteger__shift_left | BigInteger left shift by N bits. Shifts all 32-bit digits left, propagating carry between words. Handles shift amount modulo 32 per word plus whole-word shifts. Appends overflow word if non-zero. Part of CBigInteger arithmetic. |
| 0x0058A4D0 | 71 | count_mbcs_chars | Counts the number of multibyte characters in a string using CharNextExA for the given codepage. Iterates from param_2 up to param_3 (or end of string if param_3 is null), incrementing count for each character advance. Returns 0 if param_2 is null. |
| 0x0058A520 | 71 | count_utf8_chars | Counts the number of UTF-8 characters in a byte buffer. Skips continuation bytes (bytes with high bits 10xxxxxx) so only start bytes are counted. Iterates from param_1 to param_2 (or end of string). Returns 0 if param_1 is null. |
| 0x0058A570 | 76 | get_mbcs_byte_length | Returns the byte length of a multibyte string using CharNextExA for the given codepage. Iterates from param_2 up to param_3 (or end of string), then returns the difference between the final position and the start. Returns 0 if param_2 is null. |
| 0x0058A5C0 | 36 | skip_first_utf8_char | Advances past the first UTF-8 character in a byte buffer. Reads the first byte, then skips subsequent continuation bytes (0x80-0xBF). Returns nothing (void) -- the caller uses the pointer position. Returns immediately if null or empty string. |
| 0x0058A5F0 | 34 | utf8_prev_char | Moves backward to the start of the previous UTF-8 character. Starting from param_2, decrements the pointer while the byte is a continuation byte (0x80-0xBF), stopping at the start byte. param_1 is the lower boundary. Returns nothing. |
| 0x0058A990 | 339 | convert_multibyte_to_widechar | Converts a multibyte string to wide characters using MultiByteToWideChar. Manages a growable wide-char buffer (small buffer optimization at 0x80 WCHARs). Handles ERROR_INSUFFICIENT_BUFFER by re-querying required size and reallocating. Throws HRESULT on failure. |
| 0x0058AAF0 | 35 | is_string_null_or_empty | Returns 1 (true) if the string is null or empty (length 0). Returns 0 (false) if the string has any characters. Simple null/empty check utility. |
| 0x0058AB20 | 262 | validate_utf8 | Validates that a byte buffer contains valid UTF-8. Checks each character's leading byte to determine expected length (1-4 bytes), verifies continuation bytes have correct 10xxxxxx pattern, validates codepoint ranges (no surrogates, no overlong encodings, max U+10FFFF). Returns 1 if valid, 0 if invalid. |
| 0x0058C2F0 | 380 | CBigInteger__compare_sum | Compares (a + b) against c for big integers. Used in Grisu float-to-decimal digit generation. Returns -1 if a+b < c, 0 if equal, 1 if a+b > c. Compares digit-by-digit from MSB to LSB, handling carries from addition. |
| 0x0058C470 | 158 | CBigInteger__add_exponent | Adds a value to the big integer exponent field. Throws a "number is too big" error if the addition would overflow past 0x7fffffff. Used during bignum arithmetic for float formatting. |
| 0x0058C540 | 279 | CBigInteger__assign_pow5 | Assigns 5^n to a big integer, then left-shifts it. Computes the power by repeated squaring and multiplication by 5. Uses CBigInteger__shift_left at the end. Core helper for Grisu float-to-decimal conversion. |
| 0x0058C840 | 158 | CBigInteger__compare | Compares two big integers. First compares total magnitude (exponent + digit count). If equal, compares digits from MSB to LSB. Returns -1 if a < b, 0 if equal, 1 if a > b. Used in Grisu digit generation. |
| 0x0058C8E0 | 105 | CBigInteger__fixed_point_multiply | Fixed-point multiplication for big integer. Multiplies a 64-bit value by a uint, shifts right, and returns the result with a rounding flag. Used in float-to-decimal conversion arithmetic. |
| 0x0058C950 | 187 | CBigInteger__multiply_and_round | Multiplies a 128-bit value by a big integer's mantissa, shifts the result, and returns a rounded value with flags. Part of the Grisu float-to-decimal conversion pipeline. |
| 0x0058CD10 | 423 | CBigInteger__divide | Big integer division: repeatedly subtracts divisor from this, counting iterations. Returns the quotient (number of times divisor was subtracted). Handles exponent alignment by shifting digits. Used in Grisu digit generation loop. |
| 0x0058FE40 | 84 | pbackfail | Stream buffer pbackfail virtual. Called when putback of a character fails. |
| 0x00591EB0 | 126 | CEmotionShop__send_emotion_command | Sends an emotion/action command to the server. If param_3 matches stored values at offset+4 or +8, randomizes the emotion ID (mod 6 or mod 7) and adds it to the base. Calls a virtual function with command 0x1f. Returns 1 on success, 0 if params are negative or global pointer is null. |
| 0x00591F30 | 117 | CEmotionShop__select_entity_at_coords | Looks up an entity at the given (x,y) coordinates via CFmt__func_00599d70. If found, either dispatches a command to a tab child window (if DAT_01457a00 set) or passes the entity to a UI controller via virtual calls. Returns 1 on success, 0 if coords are invalid or entity not found. |
| 0x00591FB0 | 266 | CEmotionShop__open_and_select_item | Opens the emotion shop window (type 0x57) and selects an item. If the shop window already exists, selects the item directly. Validates sale time: checks if current server time is within the sale period, showing error messages for expired or not-yet-started sales (EMSG_NOT_YET_SALE_START_TIME, EMSG_EMOTION_EXPANTION_FAIL_DATE). |
| 0x00592290 | 165 | CSortableListItem__ctor | Constructor for a sortable list item. Copy-constructs a string (at offset 0), initializes a vector of int pairs (at offset 0x18-0x20), and optionally pushes the first pair if both values are non-negative. |
| 0x005923D0 | 67 | CSortableListItem__push_back_pair | Pushes a pair of ints to the sortable list item's vector (at offset 0x18). If both values are non-negative, appends directly or triggers reallocation if at capacity. |
| 0x00592420 | 67 | CSortableListItem__get_pair_at_index | Gets a pair of ints from the vector at the given index. Returns the pair via param_2 output pointer. If index is out of bounds or negative, sets both values to -1 (0xFFFFFFFF). |
| 0x00592520 | 162 | CListViewColumn__ctor | Constructor for a list view column definition. Stores two ID values (param_2, param_3), copy-constructs a string (column name from param_4), and stores 4 additional parameters (width, alignment, etc.). |
| 0x005925D0 | 145 | CHashMapNode__move_ctor | Move constructor for a hash map node. Copies 16 bytes of header data, move-constructs an embedded string (zeroing source), and copies two additional fields from separate pointers to offsets 0x18 and 0x1C. |
| 0x00592670 | 219 | CListViewSortEntry__ctor | Constructor for a list view sort entry. Stores a key value, copy-constructs a string (from param_9), and copies multiple fields including coordinates, flags, and a boolean field at offset 0x2C. Used for sortable list view columns with display text. |
| 0x00592750 | 203 | CListViewSortState__ctor | Constructor for a list view sort state. Stores key/value pair from param_3/param_4, allocates a 0x3C-byte sentinel node for a linked list (self-referencing next/prev), initializes an empty vector, resizes it, and copies additional data from the source structure. |
| 0x00592820 | 204 | CListView__compare_items_by_column | Compares two list view items by a sort column. Looks up display strings for both items via _Find_last (hash lookup), then compares them case-insensitively with _stricmp. The sort direction (ascending/descending) is determined by a flag at param_1[1]. Returns true if item1 should come before item2. |
| 0x00592F90 | 56 | _Fnv1a_append_value<> | Appends a value to an FNV-1a hash by XORing each byte and multiplying by the FNV prime. |
| 0x00593410 | 495 | CListView__sort_select_pivot | Pivot selection for list view sorting (introsort). For small arrays (<41 elements), uses median-of-3 with comparison swaps. For larger arrays, uses ninther (median of 3 medians) by sampling 9 evenly-spaced elements and arranging them to find a good pivot. Uses CListView__compare_items_by_column for comparisons. |
| 0x00593640 | 487 | CListView__insertion_sort | Insertion sort for list view items. Iterates from second element to end, for each element finds its correct position by comparing with preceding elements using string-based hash map lookups and _stricmp, then shifts elements to insert. Used for small partitions in introsort. |
| 0x00593830 | 574 | CListView__make_heap | Builds a max-heap for list view sorting. Bottom-up heap construction: starts from last non-leaf node and sifts down each element. Comparison uses hash map string lookups and _stricmp. Part of the heapsort fallback in the introsort algorithm. |
| 0x00593AE0 | 1744 | CListView__partition | Quicksort partition for list view sorting. Selects pivot via CListView__sort_select_pivot (ninther/median-of-3), then partitions the array into elements less than, equal to, and greater than the pivot. Comparison uses hash map string lookups and _stricmp. Returns the partition boundaries via param_1 output. |
| 0x005941B0 | 541 | CListView__heap_sift_down | Sift-down operation for heap sort in list view sorting. Moves an element down the heap to maintain the heap property. Compares children using hash map string lookups and _stricmp, swapping with the larger child. After reaching a leaf, sifts back up if needed. |
| 0x005943D0 | 234 | CListView__introsort | Introsort implementation for list view column sorting. Combines quicksort (with partition), heapsort (fallback when recursion depth exceeded), and insertion sort (for small partitions <=32 elements). Recursion depth limit is 3/4 of log2(N). The main sorting entry point for CListView. |
| 0x00596430 | 970 | CHashTable__ctor | CHashTable constructor. Initializes a large hash table object containing multiple unordered_maps with different node sizes (0x40, 0x24, 0x18, 0x28, 0x10). Sets vtable pointer, initializes ~12 sub-maps, sets default values (max 0x1afd = 6909, offset -1). |
| 0x00596B70 | 33 | CHashTable__release_interface | Releases a COM-like interface object stored at this+0x24. Calls virtual function at vtable+0x10 (Release) with a non-zero flag, then nulls the pointer. |
| 0x0059A630 | 388 | CEmotionMgr__find_and_classify_item_by_name | Searches linked list at +0x74 for items matching a name string. Classifies matches by checking current item ID at +0xC and presence in vector at +0x1A4. Calls add_unique_pair_to_vector with classification result. |
| 0x0059A7C0 | 87 | CEmotionMgr__add_unique_pair_to_vector | Adds a pair (two ints) to a vector if the pair doesn't already exist. Linear search for duplicates, reallocates via STL_vector_int_pair_reallocate_emplace if at capacity. |
| 0x0059A820 | 918 | CEmotionMgr__filter_and_sort_items_by_name | Filters item list by name substring match (strstr), partitions into matched/unmatched groups, sorts each group via CListView__introsort, returns combined result vector. If name is null, copies all and sorts. |
| 0x0059ABC0 | 127 | CEmotionMgr__init_sort_callback | Initializes sort callback with vtable PTR_STL_hash_iterator_ctor_0059df60, then calls sort operation on hash map at +0xF4/+0xD4. |
| 0x0059AC40 | 74 | CEmotionMgr__get_item_name_by_id | Looks up item by ID in hash map. Returns pointer to name string (SSO or heap) if found, NULL if ID matches sentinel at +0xD8. |
| 0x0059AC90 | 75 | get_timezone_offset_minutes | Standalone function. Calls GetTimeZoneInformation and returns negated Bias (i.e., UTC offset in minutes). Returns 0 on failure. |
| 0x0059ACE0 | 94 | CEmotionMgr__filter_and_sort_items_wrapper | Wrapper that calls filter_and_sort_items_by_name on the item list at +0x1B8, storing result in output param. |
| 0x0059AD40 | 63 | CEmotionMgr__get_item_price_by_id | Looks up item by ID in hash map at +0x14. Returns field at offset +0x30 of the map node (price/cost value), or 0 if not found. |
| 0x0059AD80 | 1429 | CEmotionMgr__register_lua_functions_and_load_data | Registers Lua API functions for the emotion/cash emotion system: c_InsertPackInfo, c_InsertEmotionEnum, c_InsertEmotionListTable, c_InsertEmotionMsgListTable, c_InsertEmotionMsgListTableForCustom. Loads CashEmotion Lua data files and calls getEmotionClientSetting. Creates locale facet object at +0x8. |
| 0x0059B320 | 800 | CEmoteMgr__get_emote_effect_id | Resolves emote type to effect ID |
| 0x0059B660 | 385 | CEmotionMgr__lookup_effect_id_by_name | Looks up effect ID by string name in hash map at +0x118 using FNV-1a hash. Caches result in an unordered_map keyed by the param_2 value. Returns -1 if name is null/empty or not found. |
| 0x0059B7F0 | 34 | CEmotionMgr__insert_string_key_float_value | Thin wrapper: inserts a string key with float value into an unordered_map. |
| 0x0059B820 | 207 | CEmotionMgr__find_or_create_sortable_list_item | Looks up item by string key in unordered_map at +0x15C. If found, pushes a pair. If not found, creates a new CSortableListItem (0x24 bytes) and inserts it into the map. |
| 0x0059B8F0 | 557 | CEmotionMgr__register_item_with_sort_state | Registers an emotion item with sort state. Calls sort operations on +0xB0/+0x90 and +0xF4/+0xD4 maps, looks up item node, creates a new sort state struct (0x3C bytes) with default values if not found, then emplaces into unordered sets and sort state map. |
| 0x0059BB20 | 266 | CEmotionMgr__emplace_string_key_pair | Builds an std::string from param_3 (C string), then emplaces it as a key with two values (param_1, param_2) into an unordered_map. No-op if string is null or empty. |
| 0x0059BC30 | 662 | CEmotionMgr__register_item_with_formatted_name | Looks up item by ID, gets its name, formats it as 'name - category' via format_string_vsnprintf, then calls register_item_with_sort_state and find_or_create_sortable_list_item. Also emplaces the formatted string and substring into maps. |
| 0x0059BED0 | 334 | CEmotionMgr__add_item_to_category_set | Adds an item ID to a category set. If category doesn't exist in hash map at +0x54, creates a new entry with a vector containing the item. If exists, appends to the vector (only if not already present). |
| 0x0059C020 | 117 | CEmotionMgr__emplace_sort_entry_and_track_id | Emplaces a sort entry with multiple fields into an unordered_map. If insertion succeeds (new key), also appends the item ID to the tracked ID vector at +0x19C. |
| 0x0059C0A0 | 469 | CEmotionMgr__add_or_update_item_timer | Manages item timer lifecycle. If item ID > 0: adds to active list at +0x1A4 (removing from +0x1B8 if present), removes from expired list. Manages linked list of timer nodes at +0x1B0: if timer=0, removes node; if nonzero, updates or creates timer node. |
| 0x0059C280 | 240 | CEmotionMgr__register_item_by_callback | Calls a callback (virtual function at vtable+8) to get an item ID, then inserts it into a hash map. If insertion succeeds, also maps the item's string to a reverse-lookup map. Returns item ID or -1 on failure. |
| 0x0059C380 | 32 | CEmotionMgr__emplace_string_value_pair | Thin wrapper: emplaces a string value pair into an unordered_map. |
| 0x0059C3A0 | 110 | CEmotionMgr__is_chat_prohibit_emote | Checks if a given emote ID matches the 'chat prohibit' emote. Looks up emote type 0 in hash map at +0x13C; if not cached, calls get_emote_effect_id(0). Returns true if the param matches the chat prohibit effect ID. |
| 0x0059C410 | 118 | CEmotionMgr__check_item_time_validity | Checks if an item's time window is currently valid. Looks up item by ID, reads start/end timestamps at +0x1C and +0x20. Returns true if current adjusted time falls within [start, end) range, or if both are zero. |
| 0x0059C490 | 42 | CEmotionMgr__is_item_in_active_list | Returns true if item ID exists in the active item vector at +0x1A4/+0x1A8. Linear search. |
| 0x0059C4C0 | 42 | CEmotionMgr__is_item_in_expired_list | Returns true if item ID exists in the expired item vector at +0x1B8/+0x1BC. Linear search. |
| 0x0059C4F0 | 140 | CEmotionMgr__evaluate_item_via_callback | Looks up item by string key (FNV-1a hash) in map at +0x74. If found and callback at +0x8 is set, calls the callback's virtual method with two dwords from the node at +0x20. Returns callback result or 0. |
| 0x0059C580 | 24 | CEmotionMgr__invoke_callback_no_args | Invokes the callback's virtual method (vtable+4) with no arguments if callback pointer at +0x8 is non-null. Returns result or 0. |
| 0x0059C5A0 | 387 | CEmotionMgr__process_expired_timers | Iterates timer linked list at +0x1B0. For each timer: checks if time has elapsed (time() - offset - serverDelta). If expired, moves item from active (+0x1A4) to expired (+0x1B8) list and removes timer node. If not expired, calls EmotionShopWnd__update_emotion_item_mode. Returns 1 if any expired. |
| 0x0059C730 | 298 | CEmotionMgr__move_item_to_expired_list | Moves an emotion item from active list (+0x1A4) to expired list (+0x1B8). Optionally updates EmotionShopWnd grid and removes timer node from linked list at +0x1B0. |
| 0x0059C860 | 1268 | CEmotionMgr__build_visible_item_list | Builds list of currently visible emotion items. Checks time validity via FNV-1a hash lookups and time window comparisons. Returns a struct with: changed flag (byte), next expiry time (uint), and updated expired item vector at +0x1B8. Tracks minimum upcoming deadline for timer scheduling. |
| 0x0059CD60 | 117 | CEmotionMgr__register_lua_closure | Registers a Lua C closure: pushes the function via lua_api_pushcclosure, then sets it as a global field with ID 0xFFFFD8EE via lua_api_setfield. Destroys the temporary string name after registration. |
| 0x0059CDE0 | 31 | CEmotionMgr__set_server_time_offset | Stores server time offset at +0x1D0 as difference between local time() and provided server timestamp. |
| 0x0059CE00 | 136 | CEmotionMgr__apply_timezone_to_item_timers | Applies timezone correction to emotion item timers. Computes delta between server timezone (param_2 in minutes) and local timezone bias. Stores offset in seconds at +0x1D4. Adjusts deadline fields [0xe]->a and [0xf]->b in linked list at +0x14. |
| 0x0059CE90 | 41 | show_messagebox_with_strings | Displays MessageBoxA with std::string title and text |
| 0x0059CEC0 | 379 | show_localized_messagebox | Looks up localized string by ID, formats with parameters, shows in MessageBoxA |
| 0x0059D050 | 51 | CEmotionMgr__sort_item_id_list | Wrapper that sorts an item ID vector using CListView__introsort with a comparison callback. |
| 0x0059D090 | 68 | CEmotionMgr__start_item_by_id | Starts an emotion item by ID: calls add_or_update_item_timer, sets current item at +0x1C4 to -1, then refreshes EmotionShopWnd displays (clear grids, refresh purchase state, register refresh timer) if the shop window is active. |
| 0x0059D0E0 | 225 | CEmotionMgr__format_localtime_as_string | Converts a time_t value to a local time ASCII string via _localtime32_s + asctime_s. Returns empty string on failure. |
| 0x0059D1D0 | 225 | CEmotionMgr__format_utctime_as_string | Converts a time_t value to a UTC ASCII string via _gmtime32_s + asctime_s. Returns empty string on failure. |
| 0x0059D2C0 | 369 | CEmotionMgr__expire_completed_item_timers | Iterates timer linked list at +0x1B0, checks each timer via CTime__is_in_past. Expired items: moved from active (+0x1A4) to expired (+0x1B8) list, timer node removed. Active items: calls EmotionShopWnd__update_emotion_item_mode. Calls update_grid_search_state after. Returns 1 if any timers remain. |
| 0x0059D440 | 336 | CEmotionMgr__add_or_remove_item_timer | Manages timer nodes in linked list at +0x1B0. Finds node by item ID. If found and timer=0, removes node. If found and timer!=0, updates the time. If not found and timer!=0, creates new 0x10-byte node and inserts at list tail. |
| 0x0059D5A0 | 51 | CEmotionMgr__subtract_offset_from_item_deadlines | Subtracts a time offset from emotion item deadline fields. For each node in linked list at +0x14: if field[0xe] is non-zero, field[0xa] = field[0xe] - offset; same for field[0xf] -> field[0xb]. |
| 0x0059F100 | 1 | stub_ret_0059f100 | Single-byte return stub at function boundary, likely alignment padding or placeholder |
| 0x0059F2A0 | 132 | _Rehash_for_1 | Rehashes an unordered container to ensure at least one bucket is available for insertion. |
| 0x0059FC50 | 28 | CQuestManager__get_elapsed_server_time | Returns elapsed server time |
| 0x005A10B0 | 94 | CUIFrameBase__ctor | Constructor for CUIFrameBase, sets vtable |
| 0x005A1180 | 110 | CUIFrameBase__dtor | Destructor for CUIFrameBase |
| 0x005A11F0 | 134 | CUIFrameBase__scalar_dtor | Scalar deleting destructor for CUIFrameBase |
| 0x005A1280 | 9 | wrapper_CEntity__set_sex | Thin wrapper that calls CEntity__set_sex() |
| 0x005A12C0 | 23 | init_pair_zero | Initializes pair to {0, 0} |
| 0x005A12F0 | 185 | CUINavigator__call_GetNpcLocationRadius | Calls CEntity__get_effective_job_id(), then invokes Lua function "GetNpcLocationRadius" via lua_call_function. Returns 0. |
| 0x005A13E0 | 333 | CUIFrameBase__process_navigation_update | Updates navigation path |
| 0x005A1530 | 163 | CUIFrameBase__dispatch_message | Message dispatcher with jump table for IDs 3-0x7C |
| 0x005A1960 | 16 | CUIFrameBase__set_field_2e8 | Sets field at +0x2E8 |
| 0x005A19E0 | 16 | CUIFrameBase__set_flag_2cc | Sets byte flag at +0x2CC |
| 0x005A1B70 | 211 | CUINavigator__ctor | Constructor for CUINavigator |
| 0x005A1D20 | 108 | CUINavMapInfo__dtor | Destructor for CUINavMapInfo |
| 0x005A1D90 | 87 | destroy_two_strings | Destroys two consecutive std::string objects |
| 0x005A1DF0 | 231 | CUINavigator__dtor | Destructor for CUINavigator |
| 0x005A1EE0 | 30 | trivial_scalar_dtor_4byte | Trivial scalar deleting destructor for 4-byte object |
| 0x005A1F00 | 133 | CUINavMapInfo__scalar_dtor | Scalar deleting destructor for CUINavMapInfo |
| 0x005A1F90 | 255 | CUINavigator__scalar_dtor | Scalar deleting destructor for CUINavigator |
| 0x005A2130 | 15 | wrapper_string_dtor_005a2130 | Thin wrapper calling std::string destructor |
| 0x005A2170 | 30 | init_vector_empty | Initializes std::vector to empty state |
| 0x005A21A0 | 27 | CUINavigator__start_navigation | Starts navigation mode |
| 0x005A21D0 | 266 | CUINavigator__set_map_textures | Sets map and minimap texture paths |
| 0x005A2520 | 23 | CUINavigator__stop_navigation | Stops active navigation |
| 0x005A2630 | 170 | get_or_create_nav_map_info_singleton | Gets or creates CUINavMapInfo singleton |
| 0x005A2E50 | 146 | CUIWorldMap__ctor | Constructor for CUIWorldMap |
| 0x005A2F40 | 102 | destroy_vector_and_linked_list | Destroys vector and linked list |
| 0x005A3040 | 116 | destroy_optional_0x18_node | Destroys optional 0x18-byte node |
| 0x005A30C0 | 73 | destroy_linked_list_0x18_sentinel | Destroys linked list including sentinel |
| 0x005A3110 | 68 | wrapper_destroy_pair_005a3110 | Wrapper calling pair destructor |
| 0x005A31F0 | 95 | CUIWorldMap__dtor | Destructor for CUIWorldMap |
| 0x005A32E0 | 119 | CUIWorldMap__scalar_dtor | Scalar deleting destructor for CUIWorldMap |
| 0x005A38E0 | 303 | generate_random_direction_vector | Generates random 2D direction vector |
| 0x005A3A10 | 595 | get_or_create_direction_table | Gets or creates direction table in hash map |
| 0x005A3E50 | 63 | CUIWorldMap__reset_timer_and_refresh | Resets frame counter, stores timestamp, calls refresh |
| 0x005A3E90 | 119 | CUIWorldMap__check_elapsed_timeout | Checks if elapsed time exceeds timeout |
| 0x005A3F10 | 237 | CUIWorldMap__update_particle_list | Updates particle list, removes expired particles |
| 0x005A4000 | 45 | reset_scene_if_valid | Resets scene if param is non-null |
| 0x005A4030 | 44 | CUIWorldMap__render_all_particles | Renders all particles via virtual function |
| 0x005A4060 | 43 | submit_particle_to_render_queue | Submits particle to renderer draw queue |
| 0x005A4680 | 217 | query_high_resolution_timer_ns | Returns nanosecond timestamp via QueryPerformanceCounter |
| 0x005A4B00 | 1452 | spawn_trail_particles_between_positions | Spawns trail particles along line between two 3D positions |
| 0x005A5AC0 | 594 | spawn_distance_based_effect | Spawns effect based on distance between two entities |
| 0x005A5D50 | 142 | classify_distance_range | Classifies float distance into range buckets 0-3 |
| 0x005A5E10 | 21 | is_render_mode_deferred | Returns true if render mode is deferred (mode == 2) |
| 0x005A5E30 | 21 | is_render_mode_forward | Returns true if render mode is forward (mode == 1) |
| 0x005A5E90 | 14 | is_valid_direction_index | Returns true if direction index is valid (0-3) |
| 0x005A5EC0 | 68 | trigger_fatal_error_if_nonzero | Triggers fatal error via CADD60 if param_2 is nonzero |
| 0x005A5F30 | 15 | wrapper_load_effect_E | Wrapper calling load_encrypted_effect_resource_E |
| 0x005A5FB0 | 42 | trigger_effect_callback_if_valid | Calls effect callback if param_2 entity is valid |
| 0x005A6470 | 15 | wrapper_entity_death_effect | Wrapper calling entity_death_spawn_effect |
| 0x005A6510 | 555 | entity_death_spawn_effect | Spawns death effect: checks main entity, decrypts resource, loads effect |
| 0x005A6740 | 70 | entity_death_visibility_toggle | Toggles entity visibility on death |
| 0x005A67A0 | 514 | apply_effect_with_encrypted_resource_I | Checks applicability, decrypts 0xB-byte resource, loads effect |
| 0x005A69D0 | 42 | trigger_effect_callback_005a69d0 | Calls effect callback CAE0F0 if entity is non-null |
| 0x005A6C00 | 34 | create_message_color_pair_yellow | Creates message+color pair: retrieves message string at index 0x123C and pairs it with yellow color (0xFFFF00) |
| 0x005A6C30 | 34 | create_message_color_pair_blue | Creates message+color pair: retrieves message string at index 0x123D and pairs it with blue color (0x0000FF) |
| 0x005A6C70 | 609 | apply_directional_effect_with_distance | Applies directional effect with distance-based flip |
| 0x005A6F00 | 42 | trigger_effect_callback_005a6f00 | Calls effect callback CAE0F0 if entity is non-null |
| 0x005A6F30 | 581 | apply_aimed_effect_with_distance | Applies aimed effect, sets rotation to facing angle |
| 0x005A7180 | 18 | wrapper_load_effect_B | Wrapper calling load_encrypted_effect_resource_B |
| 0x005A71C0 | 42 | trigger_effect_callback_005a71c0 | Calls effect callback CAE0F0 if entity is non-null |
| 0x005A8A7F | 1 | stub_ret_005a8a7f | Single-byte return stub at function boundary, likely alignment padding or placeholder |
| 0x005A8A9C | 1 | nop_return_void | Single-byte NOP stub (no operation, returns immediately) |
| 0x005A8C0A | 1 | nop_return_void_005a8c0a | Single-byte NOP stub (no operation, returns immediately) |
| 0x005A8CA4 | 1 | bad_instruction_data_005a8ca4 | Invalid/misaligned code fragment - likely data misidentified as a call target |
| 0x005A8D7A | 1 | nop_return_void_005a8d7a | Single-byte NOP stub (no operation, returns immediately) |
| 0x005A8E22 | 1 | bad_instruction_data_005a8e22 | Invalid/misaligned code fragment - likely data misidentified as a call target |
| 0x005A8F0A | 1 | nop_return_void_005a8f0a | Single-byte NOP stub (no operation, returns immediately) |
| 0x005A8FA8 | 1 | nop_return_void_005a8fa8 | Single-byte NOP stub (no operation, returns immediately) |
| 0x005AC73A | 1 | nop_return_void_005ac73a | Single-byte NOP stub (no operation, returns immediately) |
| 0x005AC7E2 | 1 | nop_return_void_005ac7e2 | Single-byte NOP stub (no operation, returns immediately) |
| 0x005AC89E | 1 | nop_return_void_005ac89e | Single-byte NOP stub (no operation, returns immediately) |
| 0x005AC8BB | 1 | nop_return_void_005ac8bb | Single-byte NOP stub (no operation, returns immediately) |
| 0x005B2C1B | 1 | nop_return_void_005b2c1b | Single-byte NOP stub (no operation, returns immediately) |
| 0x005B2CBC | 1 | nop_return_void_005b2cbc | Single-byte NOP stub (no operation, returns immediately) |
| 0x005B2D6C | 1 | vtable_dispatch_indirect_call | Vtable dispatch indirect call |
| 0x005B2D9D | 1 | nop_return_void_005b2d9d | Single-byte NOP stub (no operation, returns immediately) |
| 0x005B2DBA | 1 | nop_return_void_005b2dba | Single-byte NOP stub (no operation, returns immediately) |
| 0x005B2E5A | 1 | nop_return_void_005b2e5a | Single-byte NOP stub (no operation, returns immediately) |
| 0x005B5270 | 42 | CUINavMap__conditional_cleanup_callback | Calls cleanup function if param_2 is nonzero; guard for conditional resource release |
| 0x005B52A0 | 1535 | CUINavMap__decrypt_and_spawn_nav_effects | Decrypts obfuscated effect names via xor_decrypt_buffer, spawns two navigation effects based on param_3 threshold |
| 0x005B58C0 | 42 | CUINavMap__conditional_create_skill_effect | Calls create_skill_effect_wrapper_a if param_2 is nonzero; conditional effect creation callback |
| 0x005B58F0 | 34 | CUINavMap__create_effect_entry_yellow | Creates effect entry with ID 0x1238 and yellow color (0xFFFF00) |
| 0x005B5920 | 34 | CUINavMap__create_effect_entry_blue | Creates effect entry with ID 0x1239 and blue color (0xFF) |
| 0x005B5950 | 900 | CUINavMap__decrypt_and_spawn_marker_effects | Decrypts two marker effect names via xor_decrypt_buffer and spawns them on nav map object at offset +0x110 |
| 0x005B5CE0 | 803 | CUINavMap__decrypt_and_remove_marker_effects | Decrypts two sprite/effect resource names via xor_decrypt_buffer and REMOVES them from nav map object at offset +0x110 using CEffectManager__remove_effect_by_id_and_type |
| 0x005B6010 | 31 | CUINavMap__dispatch_vtable_call_if_valid | Dispatches first vtable method on param_1 with given params if param_6 is nonzero |
| 0x005B6330 | 725 | CUINavMap__remove_all_markers_by_type | Removes all nav markers of types 0x9A2 and 0x98C, then loops removing markers by decrypted name until none remain |
| 0x005B6980 | 67 | CUINavMap__free_tree_node_0x20 | Frees 0x20-byte tree node at param_1+4 if non-null |
| 0x005B69D0 | 78 | CUINavMap__free_tree_node_0x20_v2 | Frees 0x20-byte tree node at param_1+4 if non-null; same pattern as 005b6980 |
| 0x005B6A20 | 78 | CUINavMap__free_tree_node_0x20_v3 | Frees 0x20-byte tree node at param_1+4 if non-null; same pattern as 005b6980 |
| 0x005B6A70 | 346 | CUINavMap__insert_timer_node | Inserts a 0x20-byte timer node into BST keyed by 0x98C type; stores 8-byte timer value, chains to existing handler |
| 0x005B6BD0 | 295 | CUINavMap__update_rotation_from_timer | Updates nav map rotation using high-res timer; calculates angle via MulDiv over period at +0x11CA8, stores as float |
| 0x005B6D00 | 79 | CUINavMap__set_rotation_deadline | Sets rotation deadline at +0x11CB0 by adding param_1 milliseconds (as microseconds) to current high-res timer |
| 0x005B6D50 | 16 | CUINavMap__set_rotation_period | Stores rotation period value at this+0x11CA8 |
| 0x005B6F70 | 15 | CSVParser__is_empty_005b6f70 | Returns true if field at offset +0x24 is zero (no data loaded) |
| 0x005B6F80 | 15 | CSVParser__is_empty_005b6f80 | Returns true if field at offset +0x24 is zero; identical to 005b6f70 |
| 0x005B6F90 | 34 | copy_range_to_dest_005b6f90 | Copies memory from param_1 to param_2 into param_3; returns dest end pointer |
| 0x005B6FC0 | 34 | copy_range_to_dest_005b6fc0 | Copies memory from param_1 to param_2 into param_3; returns dest end pointer. Identical to 005b6f90 |
| 0x005B7680 | 33 | CSVParser__release_vtable_ref_005b7680 | Releases object at this[9] via vtable call at vptr+0x10, then nulls the reference |
| 0x005B76B0 | 33 | CSVParser__release_vtable_ref_005b76b0 | Releases object at this[9] via vtable call at vptr+0x10, then nulls the reference; same as 005b7680 |
| 0x005B76E0 | 92 | CSVParser__release_vtable_ref_005b76e0 | Releases object at this[9] via vtable+0x10 with security cookie; same pattern as 005b7680 |
| 0x005B7740 | 92 | CSVParser__release_vtable_ref_005b7740 | Releases object at this[9] via vtable+0x10 with security cookie; same pattern as 005b76e0 |
| 0x005B7830 | 92 | CSVParser__invoke_and_clear_callback | Invokes callback at +0x20 with mode-dependent this ptr based on flags at +0x24, then clears flags |
| 0x005B78A0 | 104 | CSVParser__move_assign_string_entry | Move-assigns a 24-byte string entry from param_2 to param_1; destroys old, transfers SSO buffer |
| 0x005B7910 | 785 | CSVParser__read_csv_line | Reads one CSV line from file stream, splitting on comma/newline/CR; returns vector of string fields |
| 0x005B7C30 | 93 | detect_bom_encoding | Detects BOM encoding: returns 5 for UTF-16LE (FF FE), 7 for UTF-16BE (FE FF), 3 for UTF-8 BOM (EF BB BF), 0 otherwise |
| 0x005B7C90 | 54 | CSVParser__free_all_line_buffers | Frees all allocated line buffer pointers in vector, resets end to begin |
| 0x005B7CD0 | 769 | CSVParser__parse_file_with_callbacks | Opens CSV file, reads lines via read_csv_line, invokes line transform and row processor callbacks per row |
| 0x005B7FE0 | 1064 | CSVParser__parse_file_with_dual_callbacks | Extended CSV parser with two callback stages: transform function and row handler with std::function support |
| 0x005B8500 | 781 | CSVParser__process_and_push_field | Strips quotes from CSV field, replaces escaped quotes, trims whitespace, pushes into row vector as 24-byte string |
| 0x005B8810 | 725 | CSVParser__load_text_file_lines | Reads entire text file into memory, splits by CR/LF, filters comment lines (//), pushes line pointers into vector |
| 0x005B8B50 | 1 | identity_return_ecx_005b8b50 | Identity function that returns its input parameter unchanged |
| 0x005B8F00 | 18 | MapSkyData__load_lua_script | Loads Lua script from "Lua Files/MapSkyData/MapSkyData" with flags (1,0) |
| 0x005B8F20 | 193 | MapSkyData__query_is_background_fog | Calls Lua "IsBackGroundFog" with map name; if true, sets background fog flag at renderer+0xCC+0xFC |
| 0x005B8FF0 | 252 | MapSkyData__query_background_color | Calls Lua "GetBackgroundColor" with map name via Lua state; sets background color on renderer |
| 0x005B90F0 | 1277 | MapSkyData__spawn_clouds_for_map | Queries Lua GetCloudTypeNum/GetCloudInfo per cloud type; spawns cloud effects at random positions with randomized offsets |
| 0x005B95F0 | 1165 | MapSkyData__apply_sky_config_for_map | Loads full sky config: IsExistMapSkyData, GetBackgroundColor, IsDrawStar, cloud spawning, old cloud cleanup, IsBackGroundFog |
| 0x005B9A80 | 360 | MapSkyData__cleanup_old_clouds | Queries Lua GetOldCloudTypeNum then loops GetOldCloudInfo to destroy old cloud effects by ID |
| 0x005B9BF0 | 180 | MapSkyData__query_draw_star | Calls Lua "IsDrawStar" with map name; if true, enables star rendering (effect ID 9) |
| 0x005B9CB0 | 218 | MapSkyDataEntry__construct | Constructs MapSkyData config entry with ID, name string, Lua function name string, and bool flag |
| 0x005B9D90 | 185 | MapSkyDataEntry__move_assign | Move-assigns MapSkyDataEntry: transfers flag, two string members, and ID from source to this |
| 0x005BA110 | 65 | MapSkyDataEntry__dtor_string_005ba110 | Destroys single string member of MapSkyDataEntry |
| 0x005BA160 | 80 | MapSkyDataEntry__dtor_string_005ba160 | Destroys string member at offset +4 of MapSkyDataEntry |
| 0x005BA1B0 | 106 | MapSkyDataEntry__dtor_two_strings_005ba1b0 | Destroys two string members of MapSkyDataEntry in sequence |
| 0x005BA220 | 106 | MapSkyDataEntry__dtor_two_strings_005ba220 | Destroys two string members in reverse order; variant of 005ba1b0 |
| 0x005BAEF0 | 50 | snprintf_wrapper_005baef0 | Wrapper around __stdio_common_vsnprintf_s; returns -1 on error |
| 0x005BB190 | 466 | WhisperBlockList__iterate_and_save_entries | Iterates BST of block list entries; for each, writes string to registry via JSON serialization, advances to next node |
| 0x005BB370 | 433 | WhisperBlockList__deep_copy_linked_list | Deep-copies linked list of 0x30-byte nodes with string members; creates sentinel, returns list head and count |
| 0x005BB530 | 436 | WhisperBlockConfig__construct | Constructs WhisperBlockConfig; sets vtable, decrypts registry key name, initializes 3 string fields, sets active flag |
| 0x005BB6F0 | 67 | WhisperBlockList__free_node_0x30 | Frees 0x30-byte linked list node at param_1+4 if non-null |
| 0x005BB740 | 126 | WhisperBlockList__clear_all_nodes | Clears linked list: unlinks sentinel, walks and frees each 0x30-byte node after destroying string member |
| 0x005BB7C0 | 201 | WhisperBlockList__destroy_hashtable_0x10 | Destroys hashtable: decrements count, frees all 0x10-byte bucket entries, frees bucket array, frees 8-byte header |
| 0x005BB890 | 246 | WhisperBlockList__destroy_hashtable_0x28 | Destroys hashtable with string dtors: decrements count destroying each string, frees 0x28-byte buckets, frees header |
| 0x005BB990 | 134 | WhisperBlockList__destroy_linked_list_0x30 | Walks linked list from head, destroys string member in each 0x30-byte node, frees each node including sentinel |
| 0x005BBA20 | 211 | WhisperBlockList__destroy_hashtable_0x10_v2 | Destroys hashtable with 0x10-byte buckets; same pattern as 005bb7c0 |
| 0x005BBB00 | 105 | WhisperBlockConfig__destruct | Destructs WhisperBlockConfig; sets vtable, destroys 3 string members |
| 0x005BBB70 | 441 | WhisperBlockConfig__destroy_all_data | Destroys all WhisperBlockConfig data: 2 string members, 0x28-byte hashtable, 0x10-byte hashtable, 8-byte header each |
| 0x005BBD30 | 116 | WhisperBlockConfig__destruct_with_map | Destructs WhisperBlockConfig variant with vtable 010e0fe4; destroys 2 strings, clears map data, frees allocator |
| 0x005BBDB0 | 126 | WhisperBlockConfig__scalar_dtor | Scalar deleting destructor for WhisperBlockConfig (0x5C bytes); destroys 3 strings, frees if flag set |
| 0x005BBE30 | 137 | WhisperBlockConfig__scalar_dtor_variant | Scalar deleting destructor for WhisperBlockConfig variant (0x4C bytes); destroys strings+map, frees if flag set |
| 0x005BBEC0 | 135 | WhisperBlockList__save_to_registry | Creates JSON writer, iterates block list BST saving each entry, writes to "WhisperBlockList" registry key |
| 0x005BBF50 | 509 | WhisperBlockConfig__get_or_create_singleton | Returns or creates global WhisperBlockConfig singleton (DAT_01389760); constructs with decrypted key, validates active flag |
| 0x005BC150 | 27 | WhisperBlockConfig__destroy_singleton | Destroys global WhisperBlockConfig singleton via vtable call, sets global ptr to null |
| 0x005BC170 | 88 | WhisperBlockConfig__copy_path_string | Copy-constructs string from this+0x44 offset (path member) into destination |
| 0x005BC1D0 | 88 | HotkeyConfig__copy_construct_string | Copies STL string at offset +0x2C of hotkey config object via copy constructor |
| 0x005BC230 | 490 | HotkeyConfig__load_emotion_hotkeys | Loads EmotionHotkey entries from registry, iterates emotion slots and reads key bindings |
| 0x005BC420 | 255 | HotkeyConfig__load_user_hotkey_v2 | Loads UserHotkey_V2 config; sets up SkillBar_1Tab, SkillBar_2Tab, InterfaceTab, EmotionTab |
| 0x005BC520 | 1068 | HotkeyConfig__load_all_from_registry | Master hotkey loader: decrypts registry keys, loads skillbar, emotion, and user hotkey configs |
| 0x005BC950 | 445 | HotkeyConfig__load_skillbar_entries | Iterates skillbar entry count, reads each entry string and copies to skillbar data array |
| 0x005BCB10 | 614 | HotkeyConfig__load_encrypted_config_strings | Loads two XOR-encrypted config strings from registry, stores at object offsets +0x2C and +0x44 |
| 0x005BCD80 | 204 | HotkeyConfig__update_if_changed | Compares config ID and string; if changed, resets and updates with new values |
| 0x005BCE50 | 796 | HotkeyConfig__save_all_to_registry | Saves all hotkey config to registry: whisper blocklist, emotion hotkeys, shortcut bars |
| 0x005BD170 | 111 | HotkeyConfig__reset_to_defaults | Resets hotkey config: clears ID, sets name to unknown, destroys emotion entries |
| 0x005BD1E0 | 221 | HotkeyConfig__save_emotion_hotkeys | Writes emotion hotkey bindings to registry under EmotionHotkey section |
| 0x005BD2C0 | 894 | HotkeyConfig__save_all_shortcut_tabs | Saves SkillBar_1Tab, SkillBar_2Tab, InterfaceTab, EmotionTab, UserHotkey_V2 sections |
| 0x005BD660 | 692 | HotkeyConfig__load_tab_entries_from_json | Reads JSON tab entries with index, type, flag, and value fields into shortcut bar. Iterates JSON array via const_iterator, extracting int fields and converting hex string values to codepage strings. |
| 0x005BD920 | 142 | HotkeyConfig__replace_vector_buffer | Replaces vector backing buffer: frees old strings, deallocates old, assigns new |
| 0x005BD9B0 | 1 | identity_return_ecx_005bd9b0 | Identity function that returns its input parameter unchanged |
| 0x005BD9C0 | 125 | HotkeyConfig__init_empty_entries | Initializes N empty hotkey entries: zeroes int, sets SSO capacity to 15 |
| 0x005BDA40 | 95 | HotkeyConfig__allocate_entry_array | Allocates aligned memory for array of hotkey entries (element size 0x18) |
| 0x005BDAA0 | 729 | HotkeyConfig__construct_config_object | Constructs hotkey config object: sets vtable, inits 4 SSO strings, decrypts config path |
| 0x005BDD80 | 210 | HotkeyConfig__destructor | Destructor: destroys 4 SSO strings, resets vtable pointers through inheritance chain |
| 0x005BDE60 | 234 | HotkeyConfig__scalar_deleting_destructor | Scalar deleting destructor for HotkeyConfig; optionally frees 200-byte object |
| 0x005BDF50 | 666 | HotkeyConfig__set_config_values_and_save | Sets config ID, timestamp, copies 4 strings, decrypts registry key, saves |
| 0x005BE210 | 2074 | HotkeyConfig__save_encrypted_config | Saves hotkey config with XOR-encrypted registry keys for skillbar, emotion sections |
| 0x005BEE10 | 16 | wrapper_memset | Thin wrapper around memset(dst, val, size) |
| 0x005C11B0 | 704 | RBTree__erase_node_and_rebalance | Erases a node from RB-tree with full rebalancing: rotations and color fixes |
| 0x005C1470 | 1 | identity_return_ecx_005c1470 | Identity function that returns its input parameter unchanged |
| 0x005C1480 | 418 | CircularQueue__grow_bucket_table_a | Grows queue bucket table by doubling, rehashes with 4-element-per-bucket layout |
| 0x005C1630 | 417 | CircularQueue__grow_bucket_table_b | Grows queue bucket table by doubling, rehashes with 2-element-per-bucket layout |
| 0x005C19F0 | 84 | RBTree__rotate_right | Right rotation of RB-tree node: promotes right child, updates parent links |
| 0x005C1A50 | 88 | RBTree__rotate_left | Left rotation of RB-tree node: promotes left child, updates parent links |
| 0x005C1AB0 | 182 | CircularQueue__destroy_buckets_a | Destroys all bucket arrays in circular queue A, frees table, resets pointers |
| 0x005C1B70 | 182 | CircularQueue__destroy_buckets_b | Destroys all bucket arrays in circular queue B, frees table, resets pointers |
| 0x005C1E30 | 18 | CircularQueue__pop_front | Pops front element from circular queue. Decrements count; if zero resets offset, otherwise advances offset by 1. |
| 0x005C27E0 | 114 | CNavigatorScrollList__ctor | Constructor for CNavigatorScrollList: calls UIScrollListBase__ctor, sets vtable, initializes 3 list fields to zero |
| 0x005C2860 | 86 | CNavigatorSubWindow__ctor | Constructor for CNavigatorSubWindow: calls UIWindowBase__ctor, sets vtable |
| 0x005C28C0 | 150 | CNavigatorTimerWindow__ctor | Constructor for CNavigatorTimerWindow: calls UIWindowBase__ctor, sets vtable, initializes timer fields (default timeout 2000ms) |
| 0x005C2960 | 86 | CNavigatorBaseWindow__ctor | Constructor for CNavigatorBaseWindow: calls UIWindowBase__ctor, sets vtable (minimal subclass) |
| 0x005C29C0 | 157 | CNavigatorSearchWindow__ctor | Constructor for CNavigatorSearchWindow: calls UIWindowBase__ctor, sets vtable, initializes SSO string buffer (capacity 0xf) and counter fields |
| 0x005C2C90 | 95 | CNavigatorScrollList__dtor | Destructor for CNavigatorScrollList: sets vtable, clears item vector, calls UIFormattedWidgetBase__dtor |
| 0x005C2CF0 | 98 | CNavigatorSubWindow__dtor | Destructor for CNavigatorSubWindow: sets vtable, calls virtual cleanup at vfunc+0xdc, calls UIWindowBase__dtor |
| 0x005C2D60 | 95 | CNavigatorTimerWindow__dtor | Destructor for CNavigatorTimerWindow: sets vtable, clears struct vector via CFmt__vector_of_structs_dtor, calls UIWindowBase__dtor |
| 0x005C2DC0 | 71 | CNavigatorBaseWindow__dtor | Destructor for CNavigatorBaseWindow: sets vtable, calls UIWindowBase__dtor (minimal cleanup) |
| 0x005C2E10 | 119 | CNavigatorSearchWindow__dtor | Destructor for CNavigatorSearchWindow: sets vtable, copies a field, clears vector, destroys string, calls UIWindowBase__dtor |
| 0x005C2E90 | 40 | operator= | Assignment operator. Copies string content from source to this object. |
| 0x005C2EC0 | 113 | CNavigatorDialog__scalar_deleting_dtor | Scalar deleting destructor for CNavigatorDialog: destroys string, calls UIBaseDialog__destructor, conditionally frees 0x134-byte object |
| 0x005C2F40 | 119 | CNavigatorScrollList__scalar_deleting_dtor | Scalar deleting destructor for CNavigatorScrollList: sets vtable, clears item vector, calls UIFormattedWidgetBase__dtor, conditionally frees 0xE0-byte object |
| 0x005C2FC0 | 122 | CNavigatorSubWindow__scalar_deleting_dtor | Scalar deleting destructor for CNavigatorSubWindow: sets vtable, calls virtual cleanup, calls UIWindowBase__dtor, conditionally frees 0xB8-byte object |
| 0x005C3040 | 119 | CNavigatorTimerWindow__scalar_deleting_dtor | Scalar deleting destructor for CNavigatorTimerWindow: clears struct vector, calls UIWindowBase__dtor, conditionally frees 0x124-byte object |
| 0x005C30C0 | 99 | CNavigatorBaseWindow__scalar_deleting_dtor | Scalar deleting destructor for CNavigatorBaseWindow: calls UIWindowBase__dtor, conditionally frees 0xB8-byte object |
| 0x005C3130 | 143 | CNavigatorSearchWindow__scalar_deleting_dtor | Scalar deleting destructor for CNavigatorSearchWindow: copies field, clears vector+string, calls UIWindowBase__dtor, conditionally frees 0xDC-byte object |
| 0x005C31C0 | 78 | CNavigatorScrollList__add_item_and_refresh | Appends an item to the scroll list vector (with realloc if needed), then calls two virtual methods to update display (vfunc+0xD8 and vfunc+0x98) |
| 0x005C34B0 | 3764 | SpriteRenderer__render_with_shadow_layers | Renders a character sprite with all equipment layers (body, weapon, shield, robe, accessories). Loads head/body palette, body sprite, weapon sprite, shield sprite, and up to 3 accessory sprites. Handles animation frame timing via timeGetTime() and per-layer frame counters. Each layer is rendered at position offsets calculated from anchor point differences. Uses CResourceMgr to load sprite/palette resources by path |
| 0x005C8DA0 | 439 | CNavigatorSubWnd__on_command | Command handler for navigator sub-window (NPC info popup). Handles: event 6/0xC9 = close (sets DAT_01457af4=0xBC if queue not empty), event 6/0x1F4 = show NPC item dialog, event 0x23 = mark all children as visible and redraw, event 0x9A = set title text. Falls through to UIWindow__handle_button_click. |
| 0x005CD6D0 | 218 | CWebDataEntry__construct | Constructs a CWebDataEntry. Copies type flag from param5, initializes string from param4, copies data block from param3 (with move semantics on its internal string), sets bool from param2 at offset 0xd. |
| 0x005CD7B0 | 888 | CWebDataProviderA__ctor | Constructor for CWebDataProviderA (vtable 010e23e4). Initializes base class chain, 4 std::string members (offsets 0xe-0x2c), XOR-decrypts URL from TLS, constructs initial CWebDataEntry with path from 010e23f8. Size: 0x100 bytes. |
| 0x005CDB30 | 243 | CWebDataProviderA__dtor | Destructor for CWebDataProviderA. Sets vtable to 010e23e4, destroys 8 std::string members in reverse order, then destroys base class chain. |
| 0x005CDC30 | 267 | CWebDataProviderA__scalar_deleting_dtor | Scalar deleting destructor for CWebDataProviderA. Calls dtor then optionally frees 0x100 bytes if param_2 & 1. |
| 0x005CDD40 | 88 | CWebDataProvider__copy_result_string | Copies a result string from offset 0x30 of the source object (param1) via STL_string_copy_construct. Returns param2 unchanged. |
| 0x005CDDA0 | 726 | CWebDataProviderA__set_request_data | Sets request data for CWebDataProviderA. Records timestamp via timeGetTime, stores params (x,y coords), assigns 5 string fields (URL, path components), XOR-decrypts URL from TLS, constructs CWebDataEntry, moves it into internal storage. |
| 0x005CE090 | 183 | CWebDataProviderA__push_back_entry | Pushes a new entry into CWebDataProviderA. Copy-constructs 3 string fields from offsets 0xcc and 0xe4 of source, then calls handler_005cb520 to finalize. |
| 0x005CE150 | 3959 | CWebDataProviderA__build_request | Builds HTTP request for CWebDataProviderA. Formats 4 numeric fields (offsets 0x28-0x34) as strings, copies URL strings, XOR-decrypts 8 TLS-stored key/value pairs for request headers. Performs final assembly via stub_005e9960/stub_005e9a20, stores result, constructs CWebDataEntry with success/fail path. |
| 0x005CF0D0 | 218 | CWebDataEntryB__construct | Constructs a CWebDataEntryB (same layout as CWebDataEntry). Copies type from param5, initializes string from param4, copies data block from param3 (move semantics on string), sets bool from param2. |
| 0x005CF1B0 | 744 | CWebDataProviderB__ctor | Constructor for CWebDataProviderB (vtable 010e2474). Initializes base class chain, 4 std::string members, XOR-decrypts URL from TLS, constructs initial CWebDataEntryB with path from 010e2488. Size: 0xC8 bytes. |
| 0x005CF4A0 | 210 | CWebDataProviderB__dtor | Destructor for CWebDataProviderB. Sets vtable to 010e2474, destroys 6 std::string members in reverse order, then destroys base class chain. |
| 0x005CF580 | 234 | CWebDataProviderB__scalar_deleting_dtor | Scalar deleting destructor for CWebDataProviderB. Calls dtor then optionally frees 200 (0xC8) bytes if param_2 & 1. |
| 0x005CF670 | 622 | CWebDataProviderB__set_request_data | Sets request data for CWebDataProviderB. Records timestamp, stores coordinates, assigns 3 string fields, XOR-decrypts URL from TLS, constructs CWebDataEntryB. |
| 0x005CF8F0 | 180 | CWebDataProviderB__push_back_entry | Pushes a new entry into CWebDataProviderB. Copy-constructs 3 string fields from offsets 0x94 and 0xac of source, then calls complex_handler_005cb810 to finalize. |
| 0x005CF9B0 | 2519 | CWebDataProviderB__build_request | Builds HTTP request for CWebDataProviderB. Formats 2 numeric fields as strings, copies URL strings, XOR-decrypts 4 TLS-stored key/value pairs for request headers. Performs final assembly, stores result, constructs CWebDataEntryB with success/fail path. |
| 0x005D0390 | 218 | CWebDataEntryC__construct | Constructs CWebDataEntryC (same layout as CWebDataEntry). Copies type from param5, initializes string from param4, copies data block from param3 (move semantics), sets bool from param2. |
| 0x005D0470 | 744 | CWebDataProviderC__ctor | Constructor for CWebDataProviderC (vtable 010e24f0). Initializes base class chain, 4 std::string members, XOR-decrypts URL from TLS, constructs initial CWebDataEntryC with path from 010e2500. Size: 0xD0 bytes. |
| 0x005D0760 | 210 | CWebDataProviderC__dtor | Destructor for CWebDataProviderC. Sets vtable to 010e24f0, destroys 6 std::string members in reverse order, then destroys base class chain. |
| 0x005D0840 | 234 | CWebDataProviderC__scalar_deleting_dtor | Scalar deleting destructor for CWebDataProviderC. Calls dtor then optionally frees 0xD0 bytes if param_2 & 1. |
| 0x005D0930 | 638 | CWebDataProviderC__set_request_data | Sets request data for CWebDataProviderC. Records timestamp, stores coordinates, assigns 3 string fields plus extra int at 0x90, XOR-decrypts URL from TLS, constructs CWebDataEntryC. |
| 0x005D0BC0 | 180 | CWebDataProviderC__push_back_entry | Pushes entry into CWebDataProviderC. Copy-constructs 3 string fields from offsets 0x98 and 0xb0, then calls CPartyRecruit__handle_update_entry to finalize. |
| 0x005D0C80 | 2495 | CWebDataProviderC__build_request | Builds HTTP request for CWebDataProviderC. Formats 3 numeric fields (including extra field at 0x90) as strings, copies URL strings, XOR-decrypts 4 TLS-stored key/value pairs, assembles request, stores result, constructs CWebDataEntryC on success. |
| 0x005D1640 | 872 | CWebDataProviderD__ctor | Constructor for CWebDataProviderD (vtable 010e2568). Initializes base class chain with embedded sub-object (PTR_CEffectTextureBase__scalar_deleting_dtor_010dd734), 5 std::string members, min/max level (0/999), XOR-decrypts URL from TLS, constructs entry with path from 010e2578. Size: 0x120 bytes. |
| 0x005D19B0 | 253 | CWebDataProviderD__dtor | Destructor for CWebDataProviderD. Sets vtable to 010e2568, destroys 8 std::string members and embedded sub-object in reverse order, then destroys base class chain. |
| 0x005D1AB0 | 277 | CWebDataProviderD__scalar_deleting_dtor | Scalar deleting destructor for CWebDataProviderD. Calls dtor then optionally frees 0x120 bytes if param_2 & 1. |
| 0x005D1BD0 | 858 | CWebDataProviderD__set_request_data | Sets request data for CWebDataProviderD. Records timestamp, stores coordinates, assigns 3 string fields, copies 4 bool flags (0x98-0x9b), 3 int values, 2 more string fields, and 2 additional int/string pairs. XOR-decrypts URL from TLS, constructs CWebDataEntryC. Resets embedded sub-object vtable. |
| 0x005D1F40 | 180 | CWebDataProviderD__push_back_entry | Pushes entry into CWebDataProviderD. Copy-constructs 3 string fields from offsets 0xe4 and 0xfc, then calls CPartyRecruit__handle_create_response to finalize. |
| 0x005D2000 | 5629 | CWebDataProviderD__build_request | Builds HTTP request for CWebDataProviderD. Formats 2 numeric fields and a sequence number as strings, copies URL strings, XOR-decrypts many TLS-stored key/value pairs. Includes boolean flags for Assist/Healer/Dealer/Tanker and level range. Performs final assembly, constructs CWebDataEntryC with success/fail path. 5629 bytes. |
| 0x005D3600 | 861 | CWebDataProviderE__ctor | Constructor for CWebDataProviderE (vtable 010e25e0). Initializes base class chain with embedded sub-object (PTR_CEffectTextureBase__scalar_deleting_dtor), 3 std::string members, min/max level (0/999), XOR-decrypts URL from TLS, constructs entry with path from 010e25f0. Also initializes an extra string at offset 0x3f. Size: 0x118 bytes. |
| 0x005D3960 | 253 | CWebDataProviderE__dtor | Destructor for CWebDataProviderE. Sets vtable to 010e25e0, destroys string members, resets embedded sub-object vtable, then destroys base class chain. |
| 0x005D3A60 | 277 | CWebDataProviderE__scalar_deleting_dtor | Scalar deleting destructor for CWebDataProviderE. Calls dtor then optionally frees 0x118 bytes if param_2 & 1. |
| 0x005D3B80 | 766 | CWebDataProviderE__set_request_data | Sets request data for CWebDataProviderE. Records timestamp, stores coordinates, assigns 3 string fields. Copies extensive struct data: 4 bool flags, 3 ints, 2 string fields. XOR-decrypts URL from TLS, constructs CWebDataEntryC. |
| 0x005D3E90 | 183 | CWebDataProviderE__push_back_entry | Pushes entry into CWebDataProviderE. Copy-constructs 3 string fields from offsets 0xc8 and 0xe0, then calls CPartyRecruit__handle_delete_response to finalize. |
| 0x005D5C90 | 218 | CReportEntry__construct | Constructs report entry with type flag, string key, data block |
| 0x005D9E30 | 1 | CShopCart__sell_item_and_update_totals | Processes selling an item from shop cart: decrements quantity in sell list, removes if empty, adds to buy list, updates material requirements and total cost |
| 0x005DA040 | 1 | CShopCart__buy_item_and_update_totals | Processes buying an item in shop cart: adds to buy list, decrements from sell list (clamps to 0), updates material requirements and total cost |
| 0x005DA3A0 | 1 | CShopCart__get_sell_items_begin | CShopCart: get sell items begin |
| 0x005DB8F0 | 163 | CSearchManager__delete_tree_nodes_recursive | Recursively frees 0x28-byte nodes |
| 0x005DB9A0 | 165 | CSearchManager__map_lower_bound_vector_key | lower_bound with vector key |
| 0x005DBA50 | 100 | sort3_8byte_elements | Sorts 3 8-byte pairs |
| 0x005DC400 | 121 | CSearchManager__init_tree | Initializes 0x28-byte RB tree |
| 0x005DC5E0 | 67 | CSearchManager__free_tree_sentinel_28 | CSearchManager: free tree sentinel 28 |
| 0x005DC660 | 76 | CSearchManager__destroy_tree_full | Destroys all tree nodes |
| 0x005DC6C0 | 143 | CSearchManager__destroy_tree_node_with_cleanup | Destroys node with cleanup |
| 0x005DC750 | 78 | CSearchManager__free_tree_node_28 | CSearchManager: free tree node 28 |
| 0x005DC7C0 | 87 | CSearchManager__destroy_tree_and_free_005dc7c0 | Destroys tree and sentinel |
| 0x005DC9B0 | 99 | CSearchManager__destroy_tree_and_free_005dc9b0 | Destroys tree (third) |
| 0x005DCC60 | 120 | CSearchManager__scalar_deleting_dtor | Scalar deleting destructor for CSearchManager. Destroys all tree nodes recursively, frees the sentinel node (0x28 bytes), then conditionally frees the object itself (0xC bytes) if bit 0 of param is set. |
| 0x005DCCE0 | 631 | CSearchManager__find_or_insert_by_sorted_key | Searches the CSearchManager RB-tree for an entry matching a sorted key vector. Sorts the input 8-byte vector, extracts first elements as int key vector, does lower_bound lookup. Returns move-constructed result (found entry or empty). Cleans up temporary vectors. |
| 0x005DCF60 | 292 | CChangeMaterialMgr__init_singleton | Initializes the CChangeMaterialMgr singleton (global at DAT_013898a4). Allocates 0xC-byte manager with RB-tree, calls load_lua_recipes to populate from Lua. If load fails or tree is empty, destroys the singleton and sets global to NULL. Returns 1 on success, 0 on failure. |
| 0x005DD090 | 127 | CChangeMaterialMgr__destroy_singleton | Destroys the CChangeMaterialMgr singleton (global DAT_013898a4). Recursively frees all tree nodes, frees sentinel (0x28 bytes), frees the manager object (0xC bytes), and sets the global pointer to NULL. |
| 0x005DD110 | 585 | CChangeMaterialMgr__load_lua_recipes | Loads the change material recipe data from Lua. Creates CLuaHost, registers base libs, exposes InsertRecipe callback, loads System_ChangeMaterial.lub, calls main(). Returns 1 on success. On error, shows MessageBox with error details (class name: CChangeMaterialMgr). Validates second Lua return value is boolean success flag and first is error string. |
| 0x005DD360 | 829 | CSearchManager__insert_recipe | Inserts a recipe into the search manager's sorted map. Sorts material list, looks up by key via lower_bound, allocates a new tree node with recipe data (materials + products), and inserts into the RB-tree. Returns error string "error m_Library insert" on failure. |
| 0x005DD6A0 | 504 | CSearchManager__add_recipe_if_unique | Adds a recipe entry if no duplicate exists. Iterates existing recipes comparing material lists element by element. Returns "found same recipe" if a matching recipe already exists, otherwise appends the new recipe (28-byte element) to the vector. |
| 0x005DD8A0 | 230 | CSearchManager__format_string | Format string helper using vsprintf. Allocates a 2048-byte buffer, formats the string via __stdio_common_vsprintf, then assigns the result to an STL string. |
| 0x005DE160 | 1821 | CSearchManager__lua_register_recipe | Lua callback to register a recipe in the search manager. Reads 3 Lua table arguments: arg1=materials table (id, name, count per entry), arg2=products table (id, name, count, extra per entry), arg3=recipe ID number. Validates types, builds material/product vectors, calls CSearchManager__insert_recipe. Returns 2 values: boolean success + message string. |
| 0x005DE880 | 277 | CSearchManager__copy_tree_node_recursive | Recursively copies an RB-tree node and its children. Allocates a new 0x28-byte node, copies the key vectors (8-byte and 12-byte), links to parent, then recurses on left and right children. Returns the new subtree root. |
| 0x005DEEF0 | 163 | CSearchManager__delete_tree_recursive | Recursively deletes RB-tree nodes. Traverses right subtree first, then iterates left children, destroying the 28-byte result vector and 4-byte key vector in each node before freeing the 0x28-byte node allocation. |
| 0x005E03B0 | 431 | CSearchManagerWnd__ctor | Constructor for CSearchManagerWnd. Calls UIWindowBase__ctor, sets vtable to PTR_010e2adc, initializes tree/vector members to zero, sets window dimensions (0xA8 x 0x83), and loads configuration values from global data at 0x10e30f0. |
| 0x005E0650 | 94 | CSearchItemWidget__ctor | Constructor for CSearchItemWidget. Calls UISpriteWidget__ctor, sets vtable to PTR_010e2928, initializes sprite type field (0x29=0x10). |
| 0x005E06B0 | 65 | CSearchManagerWnd__cleanup | Cleanup helper for CSearchManagerWnd. Delegates to an internal cleanup function at 005e45b0. |
| 0x005E0710 | 84 | CSearchManager__clear_tree | Clears the search manager's RB-tree. Recursively deletes all tree nodes via CSearchManager__delete_tree_nodes_recursive, then frees the sentinel/root node (0x28 bytes). |
| 0x005E08D0 | 213 | CSearchManagerWnd__dtor | Destructor for CSearchManagerWnd. Sets vtable to PTR_010e2adc, sends a network packet (0xC07E4), destroys the shop item vector, destroys string members, then calls UIWindowBase__dtor. |
| 0x005E0F10 | 128 | CSearchFilterDlg__scalar_deleting_dtor | Scalar deleting destructor for CSearchFilterDlg. Destroys two std::strings and calls UIComplexDialog__scalar_del_dtor_2. Frees memory (size 0x13C) if param_2 & 1. |
| 0x005E4580 | 1 | identity_return_ecx_005e4580 | Identity function that returns its input parameter unchanged |
| 0x005E4590 | 1 | identity_return_ecx_005e4590 | Identity function that returns its input parameter unchanged |
| 0x005E45A0 | 1 | identity_return_ecx_005e45a0 | Identity function that returns its input parameter unchanged |
| 0x005E4D40 | 210 | CWebDataProvider__dtor | Destructor for CWebDataProvider. Sets vtable, destroys 6 string members, resets base class vtables to purecall. |
| 0x005E4E20 | 234 | CWebDataProvider__scalar_deleting_dtor | Scalar deleting destructor for CWebDataProvider. Calls dtor logic then optionally frees 200 bytes. |
| 0x005E4F10 | 638 | CWebDataProvider__init_request | Initializes a web data request. Records timestamp via timeGetTime, sets request type params, copies URL/path/data strings, decrypts an obfuscated string key and calls stub_005e4970 to build/submit the request. |
| 0x005E51A0 | 212 | CUserSettings__load_from_json | Loads user settings from JSON. Copies 4 string members (offsets 0x94, 0xAC, etc.) and then calls CUserSettings__parse_json_settings at 005e6090 to process them. |
| 0x005E5280 | 2127 | CWebDataProvider__submit_settings_request | Submits user settings to the web backend. Formats request/response type IDs, copies URL strings, converts string to UTF-8, decrypts multiple obfuscated keys, calls web request helpers, and on success copies the result back to the provider's string member at offset 0x78. |
| 0x005E5AD0 | 378 | CWebDataCallback__ctor | Constructor for CWebDataCallback. Sets vtable, initializes status string to "unknown", and two empty strings. Object size is 0x60 bytes. Sets enabled flag at offset 0x4 to true. |
| 0x005E5C50 | 33 | CWebDataCallback__release_ref | Releases a reference to a web data callback. If the reference at offset 0x24 is non-null, calls its virtual destructor (vtable+0x10) and sets the reference to null. |
| 0x005E5C80 | 92 | CWebDataCallback__release_ref_safe | Safely releases a reference with SEH exception handling. Same logic as release_ref but wrapped in try/catch frame. |
| 0x005E5CE0 | 105 | CWebDataCallback__dtor | Destructor for CWebDataCallback. Sets vtable, destroys 3 string members. |
| 0x005E5D50 | 126 | CWebDataCallback__scalar_deleting_dtor | Scalar deleting destructor for CWebDataCallback. Calls dtor logic then optionally frees 0x60 bytes. |
| 0x005E5DD0 | 480 | CWebDataCallback__get_or_create_instance | Gets or creates the global singleton CWebDataCallback instance (stored at DAT_013898bc). Creates new object (0x60 bytes) if null. Returns 1 if ready, 0 if creation failed. Calls scalar_deleting_dtor if enabled flag is not set. |
| 0x005E5FB0 | 27 | CWebDataCallback__destroy_instance | Destroys the global CWebDataCallback singleton (DAT_013898bc). Calls scalar_deleting_dtor and sets pointer to null. |
| 0x005E5FD0 | 88 | CWebDataCallback__get_url_string | Returns a copy of the URL string at offset 0x48 of the callback object. |
| 0x005E6030 | 88 | CWebDataCallback__get_path_string | Returns a copy of the path string at offset 0x30 of the callback object. |
| 0x005E6090 | 800 | CUserSettings__parse_json_settings | Parses JSON user settings string. Reads UseSkillInfo, HomunSkillInfo, ItemComparison, SortPrivateTab, NormalItemSlot sections. On comment type 1, loads skill levels, homun skills, item comparison flag. On type 4, loads skill use levels from registry. Marks settings as loaded (offset+0x28=1). |
| 0x005E63B0 | 408 | CUserSettings__load_homun_skill_info | Loads homunculus skill info from JSON. Iterates over "HomunSkillInfo" array, reads "HomunSKID" and "HomunSKLv" for each entry, calls set_mercenary_data_by_id to store skill ID/level pairs. |
| 0x005E6550 | 136 | CUserSettings__load_item_comparison_flag | Loads the ItemComparison setting from JSON. Reads "ItemComparison" bool value, defaults to 1 (enabled) if missing. Sets game option 0x108 via GameSettings__set_option_enabled. |
| 0x005E65E0 | 925 | CUserSettings__load_item_slot_settings | Loads item slot settings from JSON "NormalItemSlot" section. Reads per-slot ItemID/SlotNum pairs into global array at DAT_01732ce5 (7-byte stride). Also reads SlotInfo containing SlotX/Y/Width/Height/SlotShow geometry, and ItemSlotActive flag. Falls back to default position if SlotInfo missing. |
| 0x005E6980 | 132 | CUserSettings__load_sort_private_tab | Loads "SortPrivateTab" bool from JSON. Stores result in DAT_0173a504. Defaults to 0 if key is missing. |
| 0x005E6A10 | 408 | CUserSettings__load_skill_use_info | Loads skill use info from JSON "UseSkillInfo" array. Iterates over entries, reads skill ID and skill level fields, calls CSkillMgr__set_skill_level_by_id for each valid entry. |
| 0x005E6BB0 | 614 | CUserSettings__build_data_paths | Builds data file paths for user settings. Uses lua_get_table_string_value_for_c to get a base path, then decrypts two obfuscated filename suffixes and concatenates them to form full paths stored at offsets 0x30 and 0x48 of the settings object. |
| 0x005E6E20 | 202 | CUserSettings__register_data_provider | Registers a data provider with the user settings system. Validates both params are non-null, copies URL string, gets path from callback, copies extra string, and calls CEffectTexture__register_effect_type_b to associate the provider pair. |
| 0x005E6EF0 | 1216 | CUserSettings__save_to_json_and_submit | Saves all user settings to JSON and submits to web backend. Only runs if settings are loaded (offset+0x28). Builds JSON with UseSkillInfo (skill levels for each skill), HomunSkillInfo (homun skill IDs/levels), ItemComparison flag, SortPrivateTab flag, NormalItemSlot data. Writes JSON string, copies result, and submits via CEffectTexture__register_effect_type_c with incremented counter at offset+0x2c. |
| 0x005E73B0 | 44 | CUserSettings__reset_and_rebuild_paths | Resets user settings state. Clears type fields (offset+8, +0xC), sets status to "unknown", clears loaded flag (offset+0x28), then calls build_data_paths to reconstruct file paths. |
| 0x005E73E0 | 313 | CUserSettings__build_homun_skill_json | Builds JSON array for homunculus skill info. Iterates through mercenary/homun skill list (DAT_017326bc), checks quantity via CShop__get_card_item_quantity_by_id, and for each valid skill creates a JSON object with HomunSKID and HomunSKLv. Stores result under "HomunSkillInfo" key. |
| 0x005E7520 | 125 | CUserSettings__build_item_comparison_json | Builds JSON for ItemComparison setting. Gets option 0x108 state from GameSettings, creates bool JSON value, and assigns it under the "ItemComparison" key. |
| 0x005E75A0 | 651 | CUserSettings__build_item_slot_json | Builds JSON for NormalItemSlot settings. Creates array of per-slot objects with ItemID/SlotNum from global array (DAT_01732ce5, 7-byte stride, 9 slots). Also builds SlotInfo sub-object with SlotX/Y/Width/Height/SlotShow from globals at DAT_01457dc8-dd8. Includes ItemSlotActive flag from DAT_0173a765. |
| 0x005E7830 | 116 | CUserSettings__build_sort_private_tab_json | Builds JSON for SortPrivateTab setting. Creates bool JSON value from DAT_0173a504 and assigns under "SortPrivateTab" key. |
| 0x005E78C0 | 165 | CUserSettings__build_skill_use_json | Builds JSON array for UseSkillInfo. Creates a skill callback iterator, iterates all skills via CSkillMgr__for_each_skill_callback, and stores the resulting array under "UseSkillInfo" key. |
| 0x005E7970 | 250 | CUserSettings__set_or_insert_tree_entry | Sets or inserts a key-value pair in the user settings red-black tree (at offset+0x7FAC). Looks up key via lower_bound; if not found, allocates a 0x20 byte tree node and inserts it. Stores two values at node offsets 0x18 and 0x1C. Throws if tree exceeds 0x7FFFFFF entries. |
| 0x005E7A70 | 22 | CSkillUseCallback__copy_ctor | Copy constructor for skill use callback functor. Sets vtable pointer and copies the data pointer from offset+4 of the source object. |
| 0x005E7A90 | 68 | CSkillUseCallback__scalar_deleting_dtor | Scalar deleting destructor for CSkillUseCallback. Optionally frees 8 bytes if flag is set. |
| 0x005E7AE0 | 234 | CSkillUseCallback__operator_call | Callback operator for skill use iteration. For each skill (param+8 = skill ID), checks quantity via CShop__get_item_quantity_by_id_universal. If non-zero, creates a JSON object with skill ID and level fields, appends to JSON array. Always returns 1 (continue). |
| 0x005E7BE0 | 22 | CSkillUseCallback__copy_ctor_005e7be0 | Copy constructor for skill use callback functor (duplicate at different address). Sets vtable and copies data pointer from source offset+4. |
| 0x005E7C10 | 744 | CWebDataProvider__ctor | Constructor for CWebDataProvider. Copies global base URL (DAT_013898c8), initializes base class strings, sets vtable chain (purecall base -> derived), initializes 6 fields (URL, path, status, request data as empty strings), decrypts an obfuscated file extension key and calls builder to finalize. Object size ~200 bytes. |
| 0x005E7F00 | 210 | CWebDataProvider__dtor_005e7f00 | Destructor variant for CWebDataProvider (different vtable path). Sets derived vtable, destroys 6 string members, resets base vtables to purecall. |
| 0x005E7FE0 | 234 | CWebDataProvider__scalar_deleting_dtor_005e7fe0 | Scalar deleting destructor variant for CWebDataProvider (different vtable). Calls dtor logic and optionally frees 200 bytes. |
| 0x005E80D0 | 666 | CWebDataProvider__init_request_005e80d0 | Initializes a web data request (variant with 4 string parameters). Records timestamp, sets type params, copies URL/path/extra/data strings (offsets 0x30, 0x48, 0x78, 0x60), decrypts obfuscated key, and submits request via builder. |
| 0x005E8390 | 2711 | CWebDataProvider__submit_extended_request | Submits an extended web data request with multiple encrypted parameters. Formats type IDs, copies URL/extra/path strings, converts to UTF-8 twice (for both URL and extra data), decrypts 4 obfuscated key strings via xor_decrypt_buffer for request building, handles both success and failure paths with different decrypted keys, and cleans up curl resources. |
| 0x005E8EF3 | 1 | nop_return_void_005e8ef3 | Single-byte NOP stub (no operation, returns immediately) |
| 0x005E8F10 | 85 | CCurlWrapper__dtor | Destructor for CCurlWrapper. Sets vtable, calls curl_global_cleanup via function pointer (offset+8), then FreeLibrary on the loaded libcurl.dll handle (offset+0x34) and nulls it. |
| 0x005E8F70 | 106 | CCurlWrapper__scalar_deleting_dtor | Scalar deleting destructor for CCurlWrapper. Calls dtor logic, optionally frees 0x38 bytes. |
| 0x005E8FE0 | 491 | convert_string_to_utf8 | Converts a string from the current system codepage to UTF-8. Uses MultiByteToWideChar (codepage from DAT_016d3a78) to convert to wide chars via SysAllocStringLen, then WideCharToMultiByte with CP 0xFDE9 (UTF-8) to produce the result. Uses stack alloca for small buffers, heap malloc for large ones. |
| 0x005E9273 | 1 | nop_return_void_005e9273 | Single-byte NOP stub (no operation, returns immediately) |
| 0x005E9290 | 368 | CCurlWrapper__get_or_create_instance | Gets or creates the global CCurlWrapper singleton (DAT_013898cc). Dynamically loads libcurl.dll via LoadLibraryA, resolves 11 curl function pointers (curl_global_init, curl_global_cleanup, curl_slist_append, curl_formadd, curl_easy_init, curl_easy_setopt, curl_easy_perform, curl_easy_cleanup, curl_formfree, curl_slist_free_all, curl_easy_getinfo). Calls curl_global_init(3). Returns 1 if ready, 0 if failed. |
| 0x005E9400 | 31 | CCurlWrapper__cleanup_instance | Cleans up a CCurlWrapper instance. Calls curl_global_cleanup via vtable function pointer (offset+8), then FreeLibrary on the dll handle (offset+0x34) and sets it to null. |
| 0x005E9420 | 27 | CCurlWrapper__destroy_instance | Destroys the global CCurlWrapper singleton (DAT_013898cc). Calls scalar_deleting_dtor and sets pointer to null. |
| 0x005E9440 | 445 | convert_utf8_to_local_codepage | Converts a UTF-8 string to the local system codepage. Uses MultiByteToWideChar with CP 0xFDE9 (UTF-8) to convert to wide chars via SysAllocStringLen, then WideCharToMultiByte with the system codepage (DAT_016d3a78) to produce the result. Uses stack alloca for small buffers. |
| 0x005E9600 | 258 | CCurlRequest__ctor | Constructor for CCurlRequest. Sets vtable, copies URL string, initializes curl handle via curl_easy_init, sets up HTTP headers (Content-Type: multipart/form-data, Expect: 100-continue, Connection: keep-alive) via curl_slist_append. Sets ready flag if curl handle is valid. Object size 0x48 bytes. |
| 0x005E9710 | 181 | CCurlRequest__dtor | Destructor for CCurlRequest. Sets vtable, calls curl_easy_cleanup on handle (offset+0x2C), curl_formfree on form data (offset+0x28), curl_slist_free_all on headers (offset+0x20). Destroys two string members. |
| 0x005E97D0 | 202 | CCurlRequest__scalar_deleting_dtor | Scalar deleting destructor for CCurlRequest. Calls dtor logic, optionally frees 0x48 bytes. |
| 0x005E9900 | 89 | CCurlRequest__cleanup_handles | Cleans up curl handles on a request object (different field layout). Calls curl_easy_cleanup on handle (offset+0x2C), curl_formfree on form (offset+0x28), curl_slist_free_all on headers (offset+0x20), nulling each after cleanup. |
| 0x005E9960 | 143 | CWebDataProviderA__send_request_with_params | Sends a web request through the cURL vtable interface (DAT_013898cc+0x10) with two string parameters. Cleans up temporary strings on completion. Part of CWebDataProviderA for sky data retrieval. |
| 0x005E99F0 | 36 | CWebDataProviderA__fetch_result | Fetches the result from a completed web request via cURL vtable (DAT_013898cc+0x2c) with opcode 0x200002. Returns result status. Part of CSkyDataProviderA. |
| 0x005E9A20 | 204 | CWebDataProviderA__configure_and_perform_curl | Configures cURL handle with multiple options (0x2712=URL, 0x2727=timeout, 0x2f=follow redirect, 0x2728=max redirects, 0x4e2b=write callback, 0x2711=write data, 0xd/0x4e=timeouts) then performs the request. Returns 0 on success, 2 if no handle. |
| 0x005E9AF0 | 36 | curl_write_callback_append_string | Standard cURL write callback function. Appends received data (size*nmemb bytes) to a string buffer. Returns total bytes written. Used as CURLOPT_WRITEFUNCTION. |
| 0x005F7560 | 40 | operator= | SimpleString::operator=(const char*) - Library function from Visual Studio 2019 Release. Measures string length, then calls STL_string_assign_buffer to assign the C string content. |
| 0x005F75A0 | 115 | CUserHotKeyList__clear_linked_list | Clears a linked list used by the hotkey system. Walks the list from head's right pointer, calls stub_005edaf0 to remove each node's key, frees 0x20-byte nodes, resets head pointers and count to 0. |
| 0x005F76A0 | 219 | CUserHotKeyList__push_back_entry | Pushes a new entry onto the linked list. Allocates a 0x20-byte node, copies 16 bytes of key data and an 8-byte string from param_2, links it at the tail of the doubly-linked list. Max size 0x7ffffff. Throws length_error("list too long") on overflow. |
| 0x005F7790 | 123 | CUserHotKeyFile__ctor | Constructor for a file handle wrapper used by the hotkey system. Sets vtable, initializes file handle to -1, clears 5 dwords of state (size, flags, buffer fields). SEH frame for exception safety. |
| 0x005F7810 | 26 | CUserHotKeyFile__close | Closes the file handle if it's open (non-null). Calls CloseHandle and sets handle to 0. |
| 0x005F7830 | 85 | CUserHotKeyFile__open_for_read | Opens a file for reading (GENERIC_READ, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL). Gets file size via GetFileSizeEx. Returns 1 on success, 0 on failure. |
| 0x005F7890 | 85 | CUserHotKeyFile__open_for_write | Opens a file for read/write (GENERIC_READ\|GENERIC_WRITE, OPEN_ALWAYS, FILE_FLAG_WRITE_THROUGH\|FILE_ATTRIBUTE_NORMAL). Gets file size. Returns 1 on success, 0 on failure. |
| 0x005F78F0 | 193 | CUserHotKeyFile__read_at_offset | Reads data from the file at a given offset. Validates offset+size doesn't exceed file size, uses SetFilePointerEx to seek, then ReadFile into internal buffer. Returns pointer to buffer on success, 0 on failure. Manages buffer resizing if needed. |
| 0x005F79C0 | 107 | CUserHotKeyFile__write_at_offset | Writes data to the file at a given offset. Uses SetFilePointerEx to seek, then WriteFile. Updates tracked file size if write extends past current end. Returns 1 on success, 0 on failure. |
| 0x005F7A30 | 111 | CUserHotKeyStore__clear_node_list | Clears a singly-linked list of 0x30-byte nodes. Walks the list, destroys the STL string in each node, frees the node memory. Sets list tail pointer to null. |
| 0x005F7AA0 | 161 | CUserHotKeyStore__ctor | Constructor for CUserHotKeyStore. Sets vtable, initializes boolean flags, allocates a 0x30-byte sentinel node for the linked list, clears the list via clear_node_list, sets count to 0 and ready flag to true. |
| 0x005F7B50 | 116 | CUserHotKeyStore__destroy_single_node | Destroys a single 0x30-byte node from the hotkey store. If the node pointer at offset +4 is non-null, destroys its STL string member then frees the 0x30-byte allocation. |
| 0x005F7BD0 | 91 | CUserHotKeyStore__dtor | Destructor for CUserHotKeyStore. Sets vtable, clears all nodes in the linked list via clear_node_list, then frees the 0x30-byte sentinel node. |
| 0x005F7C30 | 87 | CUserHotKeyStore__destroy_two_strings | Destroys two STL strings in sequence. Used as a cleanup handler during hotkey store operations. SEH frame protected. |
| 0x005F7C90 | 68 | CUserHotKeyStore__destroy_one_string | Destroys a single STL string member. Used as a cleanup handler during hotkey store node destruction. SEH frame protected. |
| 0x005F7CE0 | 116 | CUserHotKeyStore__scalar_deleting_dtor | Scalar deleting destructor for CUserHotKeyStore. Clears all nodes, frees sentinel, then conditionally frees the object itself (0x18 bytes) if param_2 bit 0 is set. |
| 0x005F7D60 | 517 | CUserHotKey__clear_and_save_data | Builds "SaveData_UserKeys" path string, and if it has content, calls lua_call_function("ClearUserHotKeys") to clear existing hotkey data. Part of the hotkey save/load system. |
| 0x005F7F70 | 258 | CUserHotKeyStore__get_or_create_instance | Singleton getter for CUserHotKeyStore. If global DAT_013898e4 is null, allocates a new CUserHotKeyStore (0x18 bytes), constructs it, and stores it. Returns 1 if the instance is ready, 0 otherwise. If construction fails, destroys the instance. |
| 0x005F8080 | 27 | CUserHotKeyStore__destroy_instance | Destroys the global CUserHotKeyStore singleton at DAT_013898e4. Calls the virtual destructor with delete flag, sets the global pointer to null. |
| 0x005F80A0 | 54 | CUserHotKey__remap_hotkey_category | Maps hotkey category IDs: 1->3, 2->1, 3->2, else->0. Used to convert between internal and display hotkey bar ordering. |
| 0x005F80E0 | 27 | CUserHotKey__has_hotkey_data | Checks if hotkey data is available. Returns 1 if the count at offset +8 is positive, or if a secondary flag at +0xc is false and load_user_hotkey_info succeeds. Returns 0 otherwise. |
| 0x005F8100 | 1176 | CUserHotKey__load_user_hotkey_info | Loads user hotkey info by iterating 4 hotkey categories. For each category, calls lua_get_original_hotkey_list_size and compute_hotkey_index_with_special_ids, then calls Lua "GetUserHotKeyInfo" to get hotkey data and assigns it. Returns 0 on completion. |
| 0x005F85A0 | 801 | CUserHotKey__load_and_build_hotkey_list | Loads hotkey data from Lua and builds the internal hotkey list. Clears existing list, iterates 4 categories (remapping via category converter), gets each hotkey via Lua "GetUserHotKeyInfo", creates list nodes with category/index/string data. Builds a complete linked list of all configured hotkeys. |
| 0x005F88D0 | 53 | CUserHotKey__reset_state | Resets the hotkey manager state. Clears the linked list at offset +0x10, resets count at +0x14, clears flags at +5 and +0xc, and resets the data count at +8 to 0. |
| 0x005F8910 | 517 | CUserHotKey__save_hotkeys_to_lua | Saves current hotkeys via Lua. Builds "SaveData_UserKeys" path, and if it has content, calls lua_call_function("SaveUserHotKeys2") to persist hotkey data through the Lua scripting layer. |
| 0x005F8B20 | 179 | CUserHotKey__change_user_hotkey | Changes a user hotkey binding by calling lua_call_function("ChangeUserHotKey"). Allocates a string buffer, copies the function name, and invokes the Lua callback through the global Lua state. |
| 0x005F91D0 | 196 | CUserHotKeyMgr__ctor | Constructor for CUserHotKeyMgr. Sets vtable, initializes two red-black trees (one with 0x88-byte nodes for string-keyed data, one with 0x20-byte nodes for int-keyed data), constructs a CLuaInstance member, and sets type field to 6. |
| 0x005F92A0 | 176 | CUserHotKeyMgr__init_rbtree_and_strings | Initializes a sub-structure at the given offset. Creates a 0x20-byte RB-tree sentinel node, initializes two STL strings (at offsets +0x38 and +0x54 relative to param_1) to empty, and clears counts at +8 and +0xc. |
| 0x005FB640 | 1 | identity_return_ecx_005fb640 | Identity function that returns its input parameter unchanged |
| 0x005FC600 | 99 | CItemReformDescWnd__scalar_deleting_dtor | CItemReformDescWnd scalar deleting destructor. Sets vtable to PTR_stub_005fc600_010e83bc, calls UIBaseDialog__destructor_2, conditionally frees this (0xB4 bytes). |
| 0x005FC670 | 96 | CItemReformSlotEffect__scalar_deleting_dtor | Scalar deleting destructor for item reform slot effect widget (0x7C bytes). Sets vtable, calls CEffect__dtor, conditionally frees this. |
| 0x005FC6D0 | 99 | CItemReformMaterialSlot__scalar_deleting_dtor | Scalar deleting destructor for item reform material slot widget (0x80 bytes). Sets vtable, calls CEffect__dtor, conditionally frees this. |
| 0x005FCD10 | 9 | CItemReformMaterialSlot__set_position | Thin wrapper that delegates to CEffect__set_position for the material slot widget. |
| 0x00602B00 | 47 | sprintf_s_wrapper | Wrapper around __stdio_common_vsprintf_s. Formats a string using the provided format and variadic arguments into the output buffer with size checking. Returns formatted length or -1 on error. |
| 0x0060B670 | 417 | CircularQueue__grow_bucket_table_b_0060b670 | Grows the circular queue's bucket table. Doubles capacity until it can hold the requested number of additional entries (minimum 8 buckets). Allocates aligned memory for large sizes (>0x1000), copies existing data with wrap-around handling, and frees the old buffer. Each bucket is 4 bytes. |
| 0x0060BA30 | 182 | CircularQueue__destroy_all_buckets | Destroys all buckets in a circular queue. Iterates through the bucket table, freeing each 0x10-byte bucket. Then frees the bucket table itself (aligned free for large allocations). Resets capacity and pointer to zero. |
| 0x0060BB00 | 481 | CircularQueue__erase_range | Erases a range of elements from a circular queue. Takes start/end indices and shifts elements to fill the gap, choosing the direction (forward or backward shift) based on which side is smaller. Decrements count and adjusts the front index. Returns an iterator to the new position after erasure. |
| 0x00612B90 | 216 | CReputeEntry__copy_ctor | Copy constructor for CReputeEntry. Initializes struct with two std::strings (at offsets 0 and 0x18) and 4 int fields (offsets 0x30-0x3c). Copies string contents from source params using STL_string_assign_buffer. |
| 0x00612C70 | 224 | CReputeEntry__ctor_from_cstr | Constructor for CReputeEntry from C-strings. Initializes two std::strings and 4 int fields at offsets 0x30-0x3c to zero. Copies param_2 into the first string (offset 0) and param_3 into the second string (offset 0x18) using strlen + STL_string_assign_buffer. |
| 0x00612D50 | 149 | CReputeEntry__default_ctor | Default constructor for CReputeEntry. Initializes two empty std::strings (offsets 0 and 0x18, each with length=0, capacity=0xf) and 4 int fields (offsets 0x30-0x3c) to zero. |
| 0x00612DF0 | 277 | CReputeDetailEntry__ctor_from_cstr | Constructor for CReputeDetailEntry from C-strings and numeric values. Has two std::strings (offsets 0 and 0x18) and 9 numeric fields (offsets 0x30-0x50). Copies param_8 and param_9 as C-strings into the string fields, stores param_2-param_7 into numeric fields at offsets 0x30-0x44. |
| 0x00612F10 | 188 | CReputeDetailEntry__default_ctor | Default constructor for CReputeDetailEntry. Initializes two empty std::strings (offsets 0 and 0x18), and zeroes all numeric fields (offsets 0x30-0x50). Total struct size accommodates 2 strings + 9 ints. |
| 0x00612FD0 | 125 | CReputeDetailEntry__copy_ctor | Copy constructor for CReputeDetailEntry. Stores 5 int fields directly (params 2-6) at offsets 0-0x10, then copy-constructs three std::strings from params 7-9 using STL_string_copy_construct. |
| 0x00613050 | 303 | CReputeGroupEntry__ctor_from_cstr | Constructor for CReputeGroupEntry from C-strings and numeric values. Has 5 int fields (offsets 0-0x10) and 3 std::strings (offsets 0x14, 0x2c, 0x44). Copies param_7-param_9 as C-strings, stores param_2-param_6 as integers. |
| 0x00613180 | 182 | CReputeGroupEntry__default_ctor | Default constructor for CReputeGroupEntry. Initializes 5 int fields to zero (offsets 0-0x10) and 3 empty std::strings at offsets 0x14, 0x2c, and 0x44 (each with length=0, capacity=0xf). |
| 0x00613360 | 301 | CReputeData__clear_all_groups | Clears all reputation group data. Iterates the groups vector (offsets 0x34/0x38), for each group destroys its sub-entries vector (offset 0x48/0x4c, each sub-entry is 0x5c bytes with 3 strings), then destroys the group's own vector and 2 strings (0x54 bytes total). Finally deallocates the groups vector itself and the outer strings. |
| 0x0061AD70 | 16 | secure_memset | Thin wrapper around memset. Used for secure memory zeroing of sensitive data like crypto keys and buffers. |
| 0x0061C2C0 | 2170 | keccak_f1600_permutation | Keccak-f[1600] permutation - the core of SHA-3. Operates on 25 64-bit words (50 uint32s) representing the 5x5x64 state. Runs 24 rounds with theta (column parity), rho (rotation), pi (lane permutation), chi (nonlinear), and iota (round constant XOR) steps. XORs input block into state before permuting if data pointer provided. |
| 0x0061D5B0 | 1 | noop_stub | Empty no-op stub, 1 byte (just ret). Likely a placeholder or stripped Themida callback. |
| 0x0061F430 | 1 | identity_return_ecx_0061f430 | Identity function that returns its input parameter unchanged |
| 0x00631020 | 66 | ~_Timer | Timer destructor. Cleans up timer resources. |
| 0x00635990 | 219 | CrashHandler__ctor | CrashHandler constructor. Sets vtable, stores instance param, gets module filename, extracts exe name for crash report naming, sets unhandled exception filter to generate_crash_report, installs invalid parameter and purecall handlers. |
| 0x00635AB0 | 342 | CrashHandler__create_singleton | Creates CrashHandler singleton. Allocates instance if not already created, sets vtable, gets module filename, extracts exe name, installs unhandled exception filter and purecall/invalid parameter handlers. Returns 1 on success, 0 if already exists or allocation fails. |
| 0x00635C10 | 27 | CrashHandler__destroy_singleton | Destroys CrashHandler singleton. Calls scalar deleting destructor on the global instance and sets pointer to null. |
| 0x00635C30 | 384 | CrashHandler__dialog_proc | Dialog procedure for crash report dialog |
| 0x00635DB0 | 79 | CrashHandler__enum_modules_callback | Callback for EnumerateLoadedModules in crash report |
| 0x00635E00 | 132 | CrashHandler__invalid_parameter_handler | CRT invalid parameter handler. Captures context, builds fake exception record with code STATUS_INVALID_PARAMETER (0xC000000D), calls generate_crash_report, then aborts. |
| 0x00635E90 | 107 | CrashHandler__purecall_handler | Pure virtual call handler. Captures context, builds fake exception record with code STATUS_NONCONTINUABLE_EXCEPTION (0xC0000025), calls generate_crash_report, then aborts. |
| 0x00635F00 | 2221 | CrashHandler__generate_crash_report | Generates full crash report: stack walk, registers, memory, dialog |
| 0x006367B0 | 254 | CReportPacketEvent__ctor | Creates network packet with crash report data and metadata |
| 0x006368B0 | 106 | CReportPacketEvent__dtor | CReportPacketEvent destructor. Resets vtable, frees the allocated packet data buffer, then sets base CUIEventBase vtable. |
| 0x00636930 | 127 | CReportPacketEvent__scalar_deleting_dtor | CReportPacketEvent scalar deleting destructor. Resets vtable, frees packet data buffer, sets base vtable, optionally frees 0x40 byte object. |
| 0x006369B0 | 36 | CUIEventBase__scalar_deleting_dtor | CUIEventBase scalar deleting destructor. Sets base vtable, optionally frees 0x30 byte object. |
| 0x006369E0 | 375 | CReportPacketEvent__send_chunk | Formats crash report and sends via network |
| 0x00636B60 | 109 | CTimedUIEvent__ctor | CTimedUIEvent constructor. Increments global event counter, initializes base CUIEventBase with event type 5, sets own vtable. |
| 0x00636BD0 | 72 | CTimedUIEvent__dtor | CTimedUIEvent destructor. Resets vtable to own class then to base CUIEventBase. |
| 0x00636C20 | 97 | CTimedUIEvent__scalar_deleting_dtor | CTimedUIEvent scalar deleting destructor. Resets vtables then optionally frees memory (0x30 bytes). |
| 0x00636C90 | 143 | CTimedUIEvent__on_tick | CTimedUIEvent tick handler. Updates base time, processes expired emotion timers, updates emotion shop grid if active, checks minimum priority time remaining and schedules next tick or marks event complete. |
| 0x00636D20 | 109 | CEmotionItemTimerEvent__ctor | CEmotionItemTimerEvent constructor. Increments global event counter, initializes base CUIEventBase with event type 7, sets own vtable. |
| 0x00636D90 | 72 | CEmotionItemTimerEvent__dtor | CEmotionItemTimerEvent destructor. Resets vtable to own class then to base CUIEventBase. |
| 0x00636DE0 | 97 | CEmotionItemTimerEvent__scalar_deleting_dtor | CEmotionItemTimerEvent scalar deleting destructor. Resets vtables then optionally frees 0x30 byte object. |
| 0x00636E50 | 37 | CEmotionItemTimerEvent__on_tick | CEmotionItemTimerEvent tick handler. Updates base time, checks if expired item timers remain. If none left, marks event complete. |
| 0x00636E80 | 109 | CUIEventType6__ctor | CUIEventType6 constructor. Increments global event counter, initializes base CUIEventBase with event type 6, sets own vtable. |
| 0x00636EF0 | 72 | CUIEventType6__dtor | CUIEventType6 destructor. Resets vtable to own class then to base CUIEventBase. |
| 0x00636F40 | 97 | CUIEventType6__scalar_deleting_dtor | CUIEventType6 scalar deleting destructor. Resets vtables then optionally frees 0x30 byte object. |
| 0x00636FB0 | 156 | CUIEventType6__on_tick | CUIEventType6 tick handler. Updates base time, builds visible emotion item list, updates shop grid and purchase state if active, checks timing for next scheduled tick or marks event complete. |
| 0x00637055 | 1 | CTimerState__init_fields | Initializes timer state fields to zero, sets initial timeout to 500ms |
| 0x006370D0 | 36 | CMouseTracker__scalar_deleting_dtor | CMouseTracker scalar deleting destructor. Sets vtable, optionally frees 0x40 byte object. |
| 0x00637100 | 218 | CMouseTracker__update_state | CMouseTracker state update. Computes position deltas from previous frame, uses timeGetTime for timing. Updates two tracking entries with state transitions: 0=idle, 1=timeout, 2=active, 3=started, 4=interrupted. Shifts pending state into current. |
| 0x006371E0 | 22 | CMouseTracker__reset | CMouseTracker reset. Clears tracking state and pending flags to zero. |
| 0x00637200 | 51 | CMouseTracker__init_screen_center | CMouseTracker screen center init. Gets render device width and height, stores half-values as screen center coordinates for both current and previous position fields. |
| 0x00637240 | 16 | CMouseTracker__set_x_position | CMouseTracker: sets both current and previous X position to the given value (resets delta to zero). |
| 0x0063A780 | 106 | CStoveSDK__on_callback_result | Stove PCSDK callback handler. Copies a CallbackResult from stack, then dispatches to CFmt__format_int64_handler for logging/formatting the result. |
| 0x0063A7F0 | 111 | CStoveSDK__on_callback_dispatch_terms | Stove PCSDK callback dispatcher for terms agreement. Copies CallbackResult from stack, dispatches to CStoveSDK__on_terms_agreement_result for processing. |
| 0x0063A860 | 111 | CStoveSDK__on_callback_dispatch_products | Stove PCSDK callback dispatcher for product fetch. Copies CallbackResult from stack, dispatches to CStoveSDK__on_fetch_all_products_result for processing. |
| 0x0063A8D0 | 111 | CStoveSDK__on_callback_dispatch_category_products | Stove PCSDK callback dispatcher for category product fetch. Copies CallbackResult from stack, dispatches to CStoveSDK__on_fetch_products_result for processing. |
| 0x0063A940 | 143 | CStoveSDK__on_purchase_result | Stove PCSDK IAP purchase result callback. Copies StovePCPurchaseResult and CallbackResult from stack, then dispatches to StoveIAP__on_purchase_result_callback to handle the purchase completion event. |
| 0x0063A9D0 | 120 | CStoveSDK__on_callback_dispatch_confirm_purchase | Stove PCSDK callback dispatcher for purchase confirmation. Copies CallbackResult from stack (with extra float/double data), dispatches to CStoveSDK__on_fetch_products_for_shop for processing. |
| 0x0063AA50 | 143 | CStoveSDK__on_callback_dispatch_shutdown | Stove PCSDK callback dispatcher for shutdown. Copies StovePCShutdown and CallbackResult from stack, dispatches to CStoveSDK__on_shutdown_result for processing. |
| 0x0063AAE0 | 215 | CStoveSDK__ctor | Constructor for CStoveSDK wrapper. Sets vtable (two-phase: scalar_deleting_dtor then CFmt__format_bool_handler). Initializes fields: enabled flag, string buffers, memsets 0x288 bytes of callback/handler storage. Calls CFmt__format_custom_handler for initial config setup. |
| 0x0063ABD0 | 67 | CStoveSDK__delete_callback_node | Deletes a single callback node. Frees the heap allocation at +4 (size 0x28). Simple node cleanup without string members. |
| 0x0063AC20 | 70 | CStoveSDK__delete_handler_node | Deletes a single handler node. Frees the heap allocation at +4 (size 0x100). Larger node with extended data. |
| 0x0063AC70 | 113 | CStoveSDK__delete_callback_node_with_string | Deletes a callback node that contains an STL string member. Destroys the string via STL_string_dtor, then frees the 0x28-byte node. |
| 0x0063ACF0 | 133 | CStoveSDK__delete_handler_node_with_strings | Deletes a handler node that contains two STL string members. Destroys both strings, then frees the 0x100-byte node. |
| 0x0063AD80 | 131 | CStoveSDK__destroy_callback_list | Destroys an entire linked list of callback nodes. Walks the linked list (each node has next pointer at [0]), destroys string member and frees each 0x28-byte node. Finally frees the list head node. |
| 0x0063AE10 | 208 | CStoveSDK__dtor | Destructor for CStoveSDK. Calls IAP_UnInitialize and Base_UnInitialize to shut down Stove SDK subsystems. Checks Result::IsSuccessful on each. Destroys wstring and string members, restores vtable to base scalar_deleting_dtor. |
| 0x0063AEE0 | 65 | CStoveSDK__cleanup | Cleanup wrapper for CStoveSDK. Calls destroy_callback_list to free all registered callback nodes, then performs final cleanup. |
| 0x0063AF30 | 1392 | CStoveSDK__on_shutdown_result | Stove PCSDK shutdown callback handler. On success: checks access token (shows MessageBox if null, or shows tooltip/chat message if in-game), decrypts category1 string. On failure: decrypts error message, shows MessageBox, calls PostQuitMessage(0) to terminate. |
| 0x0063B4B0 | 1423 | CStoveSDK__on_fetch_products_result | Stove PCSDK fetch products callback. On success: iterates StovePCProduct array, extracts display number/product ID/price/purchase limits/sale dates. Populates shop item list. On failure: decrypts error string, shows MessageBox. |
| 0x0063BA40 | 835 | StoveIAP__on_purchase_result_callback | Stove IAP purchase callback: on success stores product/category IDs; on failure shows MessageBox with decrypted error title |
| 0x0063BD90 | 3983 | CStoveSDK__on_fetch_all_products_result | Stove PCSDK fetch all products callback. On success: iterates StovePCProduct array, maps category IDs to indices (0-8 for mode 2, different set for mode 1). Extracts product details (price, limits, dates). On failure: decrypts error, shows MessageBox. |
| 0x0063CD20 | 572 | CStoveSDK__on_terms_agreement_result | Stove PCSDK terms agreement callback. On success: dispatches virtual method 0x143 via game mode object. On failure: converts wide string to multibyte, decrypts "open" verb, calls ShellExecuteA to open URL. |
| 0x0063CF60 | 252 | CStoveSDK__get_tls_encrypted_string_100a | Returns pointer to TLS-stored 100-byte encrypted string buffer (offset 0x1b28). Initializes from encrypted ROM data on first call, registers TLS destructor. Used by CStoveSDK__get_access_token for error messages. |
| 0x0063D060 | 252 | CStoveSDK__get_tls_encrypted_string_100b | Returns pointer to TLS-stored 100-byte encrypted string buffer (offset 0x1e70). Initializes from encrypted ROM data on first call, registers TLS destructor. Used by CStoveSDK__get_user_info for error messages. |
| 0x0063D160 | 252 | CStoveSDK__get_tls_encrypted_string_100c | Returns pointer to TLS-stored 100-byte encrypted string buffer (offset 0x1ef8). Initializes from encrypted ROM data on first call, registers TLS destructor. Used by CStoveSDK__on_shutdown_result for error messages. |
| 0x0063D260 | 558 | CStoveSDK__on_init_error | Stove PCSDK initialization error handler. Checks CallbackResult; if NOT successful, decrypts error title/body from TLS, shows MessageBox with formatted error, calls PostQuitMessage(0) to terminate the client. |
| 0x0063D490 | 305 | CStoveSDK__get_tls_encrypted_string_129 | Returns pointer to TLS-stored 129-byte encrypted string buffer (offset 0x1d78). Initializes from encrypted ROM data on first call, registers TLS destructor. Used by CStoveSDK__start_purchase for URL strings. |
| 0x0063D5D0 | 1158 | CStoveSDK__on_fetch_products_for_shop | Stove IAP shop products callback. On success: if mode flag is set, fetches product categories (base + per-server category), polls Base_RunCallback in loop. Opens shop window via virtual call 0x7a + 0x17. On failure: decrypts error, shows MessageBox. |
| 0x0063DA90 | 232 | CStoveSDK__scalar_deleting_dtor | Scalar deleting destructor for CStoveSDK. Calls IAP_UnInitialize and Base_UnInitialize if SDK was initialized (flag at +4). Destroys wstring and string members. Frees object (0x2D0 bytes) if bit 0 of param is set. |
| 0x0063DB80 | 188 | CStoveSDK__add_shop_item_to_category | Adds a shop item to one of 11 category lists (indexed 0-10) at offset +0x1784 in CStoveSDK. Allocates 0x100-byte node, copies shop item data via CShopItem__copy_construct, inserts into linked list. Bounds-checks category index < 11. |
| 0x0063DC50 | 1688 | CStoveSDK__initialize | Initializes the Stove PCSDK. Detects environment (sandbox/live) from command line args. Sets application key and environment. Calls Base_RestartAppIfNecessary, Base_Initialize, IAP_Initialize. On success: gets user info and registers shutdown callback. On failure: shows error MessageBox. |
| 0x0063E2F0 | 158 | CStoveSDK__uninitialize | Uninitializes the Stove PCSDK. Calls IAP_UnInitialize then Base_UnInitialize, checking IsSuccessful on each result. Clears the initialized flag at +4. |
| 0x0063E390 | 874 | CStoveSDK__get_access_token | Retrieves access token from Stove PCSDK via Base_GetAccessToken. Converts from wchar to multibyte string, copies to buffer at param+0x30 (max 600 bytes). On failure: shows error MessageBox, calls PostQuitMessage(0). |
| 0x0063E700 | 499 | CStoveSDK__get_user_info | Gets user info from Stove PCSDK. Creates StovePCUser, calls Base_GetUser. On success: formats member number and game user ID as strings at +0x288 and +0x2A0 (18 chars each). On failure: shows error MessageBox, calls PostQuitMessage(0). |
| 0x0063E900 | 5 | Base_RunCallback | Steam API base callback runner stub. |
| 0x0063E910 | 203 | CStoveSDK__fetch_products_by_category | Fetches products by category from Stove IAP. Clears category list index 9, sets up StovePCFetchProductParam with appropriate category ID based on mode (mode 2 vs other). Calls IAP_FetchProducts with on_callback_dispatch_category_products callback, then polls Base_RunCallback until completion. |
| 0x0063E9E0 | 1272 | CStoveSDK__start_purchase | Starts an IAP purchase via Stove PCSDK. Creates StovePCStartPurchaseParam, populates order products from input vector (product IDs, charge types, display values). Sets payment option, calls IAP_StartPurchase. After purchase completes: either opens ShellExecuteA URLs or shows confirmation dialog and calls IAP_ConfirmPurchase. |
| 0x0063EEE0 | 321 | CStoveSDK__fetch_all_products | Fetches all products from Stove IAP. First fetches base category products (category ID from ROM), then fetches per-server category products (based on mode 2 vs other). Polls Base_RunCallback between each fetch. Clears category list 9 between fetches. |
| 0x0063F030 | 90 | CStoveSDK__fetch_terms_agreement | Fetches terms agreement from Stove IAP. Creates StovePCTermsOption, sets payment operation to 0, calls IAP_FetchTermsAgreement with on_callback_dispatch_terms callback. Polls Base_RunCallback until completion flag clears. |
| 0x0063F090 | 39 | CStoveSDK__wait_for_callback | Waits for a Stove PCSDK callback to complete. Sets DAT_0138be90 flag to 1, then loops calling Base_RunCallback + Sleep(200ms) until the flag is cleared by the callback handler. |
| 0x0063F0C0 | 75 | CStoveSDK__find_item_in_tree_lower_bound | RB-tree lower_bound search for shop item collection. Walks the red-black tree from root, comparing key against param_3 value. Returns iterator pointing to first element not less than key. Used for shop item lookup by category. |
| 0x0063F110 | 75 | CStoveSDK__find_item_in_tree_upper_bound | RB-tree upper_bound search for shop item collection. Walks the red-black tree from root, comparing key against param_3 value. Returns iterator pointing to first element greater than key. Used for shop item lookup by category. |
| 0x0063F160 | 67 | CStoveSDK__delete_purchase_param_node | Deletes a purchase param node. Frees the heap allocation at +4 (0x4C bytes). Used to clean up StovePCFetchProductParam-related nodes. |
| 0x0063F1B0 | 67 | CStoveSDK__delete_product_node | Deletes a product node. Frees the heap allocation at +4 (0x1C bytes). Used to clean up StovePCProduct-related nodes. |
| 0x0063F200 | 78 | CStoveSDK__delete_purchase_param_node_with_string | Deletes a purchase param node that contains an STL string member. Destroys the string via STL_string_dtor, then frees the 0x4C-byte node. |
| 0x0063F250 | 78 | CStoveSDK__delete_product_node_with_string | Deletes a product node that contains an STL string member. Destroys the string via STL_string_dtor, then frees the 0x1C-byte node. |
| 0x00647397 | 1 | bad_instruction_data_00647397 | Invalid/misaligned code fragment - likely data misidentified as a call target |
| 0x00654240 | 28 | stub_654240 | Themida VM protection stub: performs obfuscated no-op operations and returns |
| 0x00654BB0 | 55 | hash_murmur3_finalizer | Murmur3 hash finalization step with bit mixing |
| 0x00654EF0 | 1 | CProgressBar__check_progress_exceeds_threshold | Checks if progress bar ratio (current+1)/total exceeds threshold value at field[0] |
| 0x006553C0 | 132 | _Rehash_for_1 | Rehashes an unordered container to ensure at least one bucket is available for insertion. |
| 0x00655450 | 1 | swap_field4_and_clear | Swap field4 and clear |
| 0x00655DE0 | 56 | _Fnv1a_append_value<> | Appends a value to an FNV-1a hash by XORing each byte and multiplying by the FNV prime. |
| 0x00655E20 | 58 | fnv1a_hash_4bytes | FNV-1a hash of 4 bytes with basis 0x811c9dc5 and prime 0x1000193 |
| 0x00655E60 | 153 | prng_modulo_0x7fffffab | Computes param * 0x9c4e modulo prime 0x7fffffab for LCG PRNG step |
| 0x00656B60 | 94 | MersenneTwister__init_with_seed | MT19937 PRNG init: fills 624-element state array from seed |
| 0x00656C70 | 1 | stub_nop_00656c70 | Empty stub function, no operation |
| 0x00656CE7 | 1 | CPacketSession__ctor_init_buffers | Constructor for packet session: initializes 3 memset-zeroed 0x35-byte buffers, 6 pairs of 8-byte fields, and calls PacketCrypto init |
| 0x00656DB7 | 1 | CPacketSession__dtor_cleanup | CPacketSession: dtor cleanup |
| 0x00657640 | 1 | stub_nop_00657640 | Empty stub function, no operation |
| 0x006579A0 | 172 | shared_ptr__move_assign | Move-assigns shared_ptr, decrements old refcount, deletes if zero |
| 0x00657A50 | 339 | SubtractWithCarry__generate_bounded | SubtractWithCarry: generate bounded |
| 0x00657BB0 | 115 | SubtractWithCarry__generate_next_value | Subtract-with-carry PRNG: generates next value from state array. Uses lag indices (r=48, s=10) with borrow bit at offset 0x31. Wraps index at 0x30 (48). |
| 0x00657C30 | 157 | prng_modulo_0x7fffffab_inplace | Computes *param * 0x9c4e mod 0x7fffffab in-place for LCG step |
| 0x0065A440 | 265 | MersenneTwister__generate_32bit | Generates full 32-bit random value by collecting bits from PRNG |
| 0x0065AA00 | 104 | idea_cipher_modular_inverse | Computes multiplicative inverse mod 65537 for IDEA cipher |
| 0x00662C10 | 87 | CPacketQueue__seh_cleanup_destroy_string_vector_and_string | SEH cleanup handler: destroys a string vector via CFmt__destroy_string_vector then destructs one STL string |
| 0x00662C70 | 86 | CPacketQueue__seh_cleanup_two_strings | SEH cleanup handler: destructs two STL strings in sequence |
| 0x00662CD0 | 68 | CPacketQueue__seh_cleanup_destroy_string_vector | SEH cleanup handler: destroys a string vector via CFmt__destroy_string_vector |
| 0x00662D20 | 99 | CPacketQueue__seh_cleanup_string_vector_and_two_strings | SEH cleanup handler: destroys a string vector then destructs two STL strings |
| 0x00662D90 | 99 | CPacketQueue__seh_cleanup_erase_tree_44byte | SEH cleanup handler: erases all nodes from an RB-tree with 0x44-byte nodes, then frees the sentinel node |
| 0x00662E00 | 130 | CPacketQueue__seh_cleanup_erase_tree_and_strings | SEH cleanup handler: erases RB-tree nodes (0x38-byte, string-keyed) at offset +0x34, frees sentinel, then destructs two STL strings |
| 0x00662E90 | 68 | CPacketQueue__seh_cleanup_string_dtor | SEH cleanup handler: destructs a single STL string |
| 0x00662EE0 | 117 | CPacketQueue__seh_cleanup_erase_2string_tree_and_string | SEH cleanup handler: erases RB-tree with 2-string 0x44-byte nodes at offset +0x18, frees sentinel, then destructs one STL string |
| 0x00662F60 | 84 | CPacketQueue__seh_cleanup_clear_list_and_delete | SEH cleanup handler: clears a list of string vector nodes (0x34-byte) then frees the list head |
| 0x00662FC0 | 99 | CPacketQueue__seh_cleanup_erase_2string_vector_tree | SEH cleanup handler: erases RB-tree with 2-string+vector 0x60-byte nodes, then frees the sentinel node |
| 0x00663030 | 253 | CPacketQueue__tree_find_or_insert_2string_vector_node | Looks up int key in RB-tree via lower_bound. If not found, allocates a new 0x60-byte node with int key + 2 strings + vector, inserts it. Returns pointer to value area (node+0x14). |
| 0x00663130 | 285 | CPacketQueue__tree_find_or_insert_nested_tree_44 | Looks up int key in RB-tree via lower_bound. If not found, allocates 0x1c-byte node containing int key + nested RB-tree (0x44-byte sentinel), inserts it. Returns pointer to value area (node+0x14). |
| 0x00663250 | 285 | CPacketQueue__tree_find_or_insert_nested_tree_60 | Looks up int key in RB-tree via lower_bound. If not found, allocates 0x1c-byte node containing int key + nested RB-tree (0x60-byte sentinel), inserts it. Returns pointer to value area (node+0x14). |
| 0x006676D0 | 1 | identity_return_ecx_006676d0 | Identity function that returns its input parameter unchanged |
| 0x00673C10 | 58 | phmap_deallocate_16byte | Deallocates memory for 16-byte elements (param_2 * 16 bytes). Handles aligned allocation bookkeeping for blocks >0xFFF. |
| 0x00674000 | 21 | fmt__custom_format_wrapper | {fmt} library: Wrapper that forwards to a custom type formatter. Used as a function pointer in format arg descriptors (type code 0xD0000000). |
| 0x00674020 | 152 | fmt__format_arg_store_move_ctor | {fmt} library: Move constructor for format_arg_store. Moves a string (SSO buffer) from param_3 and initializes a second empty string member. |
| 0x006740C0 | 198 | fmt__format_arg_store_move_ctor_with_tree | {fmt} library: Move constructor for format_arg_store with an additional RB-tree (named args map). Moves string + tree from source, allocates new sentinel node for tree. |
| 0x00674190 | 91 | fmt__format_string_concat_wrapper | {fmt} library: SEH-wrapped call to STL_string_concat. Concatenates two format strings within an exception frame. |
| 0x006741F0 | 155 | fmt__format_arg_store_from_string | {fmt} library: Constructs a format_arg_store from a string argument. Extracts the string (handles SSO), calls json__string_insert_at to process it, then move-constructs the result. |
| 0x00674820 | 147 | fmt__named_arg_node_dtor | {fmt} named arg node destructor. Destroys a 3-element struct array via eh_vector_destructor_iterator, destroys a string, calls sub-destructor at 006773a0, then frees 0x104 bytes. |
| 0x006748C0 | 330 | fmt__set_presentation_type | {fmt} library: Validates and sets the presentation type character for a format spec. Maps characters (d/x/o/b/e/f/g/a/s/c/p) to internal type codes, validates compatibility with the arg type, throws on invalid combinations. |
| 0x00674AE0 | 317 | fmt__parse_precision | {fmt} library: Parses precision from format string. Handles both static precision (digit sequence) and dynamic precision ({index} or {} auto-index). Validates precision is allowed for the arg type. Throws on invalid format. |
| 0x00674C20 | 568 | fmt__parse_format_specs | {fmt} library: Main format spec parser. Parses fill character, alignment (<>^), sign (+- space), # flag, 0-padding, width, precision, L locale flag, and presentation type from a format string. Extensive validation with error messages. |
| 0x00674E60 | 324 | fmt__parse_width | {fmt} library: Parses width from format string. Handles static width (digit sequence), dynamic width ({index} or {} auto-index). Validates and stores width value. Throws on invalid format or index overflow. |
| 0x006750E0 | 77 | fmt__named_arg_list_find_by_name | fmt: named arg list find by name |
| 0x00675130 | 159 | fmt__format_int_with_2_args | {fmt} library: Formats output with 2 args (1 value + 1 short). Builds a format descriptor array and calls charconv__format_fixed_notation. |
| 0x006751D0 | 175 | fmt__format_int_with_3_args | {fmt} library: Formats output with 3 args (1 value + 2 shorts). Builds a format descriptor array and calls charconv__format_fixed_notation. |
| 0x00675280 | 180 | fmt__format_custom_with_3_args | {fmt} library: Formats output with 3 args including a custom type formatter (type code 0xD0000000). Includes function pointer to fmt__custom_format_wrapper plus 2 short params. |
| 0x00675340 | 163 | fmt__format_custom_with_2_args | {fmt} library: Formats output with 2 args including a custom type formatter (type code 0xD0000000). Includes function pointer to fmt__custom_format_wrapper plus 1 value param. |
| 0x006753F0 | 223 | fmt__format_int_with_6_args | {fmt} library: Formats output with 6 args (1 value + 5 shorts). Builds a large format descriptor array and calls charconv__format_fixed_notation. |
| 0x006754D0 | 64 | fmt__make_format_arg_1_short | {fmt} library: Constructs a format arg descriptor for 1 argument (value + 1 short). Sets type codes (0xB0000000 for value, 0x10000000 for int). |
| 0x00675510 | 96 | fmt__make_format_arg_2_shorts | {fmt} library: Constructs a format arg descriptor for 2 arguments (value + 2 shorts). Sets type codes (0xB0000000 for value, 0x10000000 for ints). |
| 0x00675570 | 192 | fmt__make_format_arg_5_shorts | {fmt} library: Constructs a format arg descriptor for 6 arguments (value + 5 shorts). Sets type codes for each argument slot. |
| 0x00675630 | 62 | fmt__make_format_arg_custom_1_value | {fmt} library: Constructs a format arg descriptor with a custom type formatter (0xD0000000) + 1 value param (0xB0000000). Stores function pointer to fmt__custom_format_wrapper. |
| 0x00675670 | 97 | fmt__make_format_arg_custom_2_shorts | {fmt} library: Constructs a format arg descriptor with a custom type formatter (0xD0000000) + 2 short params (0x10000000). Stores function pointer to fmt__custom_format_wrapper. |
| 0x006776E0 | 395 | fmt__parse_and_validate_format_spec | Parses a {fmt} format specification string. Calls fmt__parse_format_specs to extract width/precision/fill/alignment, validates closing '}', resolves dynamic width and precision args via charconv__locale_facet_dispatch, then formats the final output using charconv__parse_format_spec_full. |
| 0x00684F30 | 1 | identity_return_ecx_00684f30 | Identity function that returns its input parameter unchanged |
| 0x00684F40 | 1 | identity_return_ecx_00684f40 | Identity function that returns its input parameter unchanged |
| 0x0068D5B0 | 1 | identity_return_ecx_0068d5b0 | Identity function that returns its input parameter unchanged |
| 0x0068D5C0 | 1 | identity_return_ecx_0068d5c0 | Identity function that returns its input parameter unchanged |
| 0x0069ACB0 | 1 | identity_return_ecx_0069acb0 | Identity function that returns its input parameter unchanged |
| 0x0069ACC0 | 1 | identity_return_ecx_0069acc0 | Identity function that returns its input parameter unchanged |
| 0x0069C7D0 | 60 | operator() | FNV-1a hash function call operator for unsigned long. Hashes 4 bytes using the standard FNV-1a algorithm with basis 0x811c9dc5 and prime 0x1000193. |
| 0x0069C810 | 108 | fnv1a_hash_8bytes | FNV-1a hash function for 8-byte input. Processes each byte sequentially with XOR and multiply by FNV prime 0x1000193, starting from FNV offset basis 0x811c9dc5. |
| 0x0069C880 | 253 | CLuaTableReader__read_int_array_from_field | Reads an array of integers from a named Lua table field. Gets field by name, iterates table with lua_next, converts each number value to int and pushes to a vector. Returns 0=success, 1=nil, 2=type error, 3=no table on stack. |
| 0x0069C980 | 120 | CLuaTableReader__read_int64_from_field | Reads a single int64 value from a named Lua table field. Gets field by name, converts number to int64 via crt_long_double_to_int64. Returns 0=success, 1=nil, 2=wrong type, 3=no table on stack. |
| 0x0069CA00 | 258 | CLuaTableReader__read_uint_array_from_field | Reads an array of unsigned ints from a named Lua table field. Gets field by name, iterates table with lua_next, converts each number to uint32 and pushes to a vector. Returns 0=success, 1=nil, 2=type error, 3=no table on stack. |
| 0x0069CB10 | 137 | CLuaTableReader__read_string_from_field | Reads a string value from a named Lua table field. Gets field by name, converts to C string via lua_tolstring, computes length, assigns to STL string. Returns 0=success, 1=nil, 2=wrong type, 3=no table on stack. |
| 0x0069CBA0 | 503 | CLuaTableReader__read_string_array_from_field | Reads an array of strings from a named Lua table field. Gets field by name, iterates table with lua_next, converts each string value and pushes 24-byte string elements to a vector. Returns 0=success, 1=nil, 2=type error, 3=no table on stack. |
| 0x0069CDA0 | 240 | CLuaTableReader__read_int_map_from_field | Reads a Lua table as an int-to-int map. Uses pushstring+gettable to access field, iterates key-value pairs where both key and value are numbers, inserts into a std::map via CEntity__map_insert_or_get_layer_priority. Returns 0=success, 1=nil, 2=type error. |
| 0x0069CE90 | 516 | CLuaTableReader__read_uint_map_from_field | Reads a Lua table as a uint-to-uint map stored in a red-black tree. Uses pushstring+gettable to access field, iterates key-value pairs converting both to uint32, inserts into RB-tree with 0x18-byte nodes. Throws if map exceeds 0xAAAAAAA entries. |
| 0x0069D0A0 | 729 | CLuaTableReader__read_uint_string_map_from_field | Reads a Lua table as a uint-to-string map stored in a red-black tree. Uses pushstring+gettable to access field, iterates key-value pairs converting key to uint32 and value to string, inserts into RB-tree with 0x2c-byte nodes containing embedded STL strings. |
| 0x0069D380 | 71 | CLuaTableReader__read_int32_at_index | Reads a number from the Lua stack at the given index and converts to int32 via float_to_int32. Returns 0=success, 1=nil, 2=wrong type (not a number). |
| 0x0069D3D0 | 71 | CLuaTableReader__read_int64_at_index | Reads a number from the Lua stack at the given index and converts to int64 via crt_long_double_to_int64. Returns 0=success, 1=nil, 2=wrong type (not a number). |
| 0x006BA390 | 1 | identity_return_ecx_006ba390 | Identity function that returns its input parameter unchanged |
| 0x006BAF70 | 132 | _Rehash_for_1 | Rehashes an unordered container to ensure at least one bucket is available for insertion. |
| 0x006BB000 | 132 | _Rehash_for_1 | Rehashes an unordered container to ensure at least one bucket is available for insertion. |
| 0x006BB090 | 132 | _Rehash_for_1 | Rehashes an unordered container to ensure at least one bucket is available for insertion. |
| 0x006BF770 | 8 | GameSettings__has_data | Returns true if GameSettings object has data loaded (field at offset 0x40 != 0) |
| 0x006BF7A0 | 117 | GameSettings__destroy_option_entries | Destroys option entries in range [param_1, param_2), each 100 bytes, calling 3 string dtors per entry |
| 0x006BF890 | 56 | _Fnv1a_append_value<> | Appends a value to an FNV-1a hash by XORing each byte and multiplying by the FNV prime. |
| 0x006BF8D0 | 58 | fnv1a_hash_4byte | FNV-1a hash of 4 bytes: seed 0x811c9dc5, multiplier 0x1000193 |
| 0x006BF910 | 504 | GameSettings__resize_option_vector | Resizes the option entries vector, constructing new entries with default values (100 bytes each) |
| 0x006BFB10 | 530 | GameSettings__find_or_insert_option | Finds option entry by ID in the option hash map, inserts new entry if not found |
| 0x006BFD30 | 15 | GameSettings__get_type_name_by_index | Returns pointer to type name string from PTR_s_TT_NORMAL table by index |
| 0x006BFDB0 | 97 | GameSettings__find_type_index_by_name | Searches PTR_s_TT_NORMAL table for matching name string, returns index (max 300) |
| 0x006BFE60 | 330 | GameSettings__constructor | Constructs GameSettings object with vtable, json state, two hash maps and option vector |
| 0x006BFFB0 | 295 | GameSettings__OptionEntry__move_construct | Move-constructs an OptionEntry (100 bytes) transferring 3 strings and numeric fields from source |
| 0x006C00E0 | 179 | GameSettings__OptionEntry__default_construct | Default-constructs OptionEntry: type=300, 3 empty strings, default tick values 0x125a |
| 0x006C0250 | 33 | GameSettings__release_callback_006c0250 | Releases callback object at offset 0x24 by calling its vtable destroy method and nulling pointer |
| 0x006C0280 | 33 | GameSettings__release_callback_006c0280 | Releases callback object at offset 0x24 by calling its vtable destroy method and nulling pointer |
| 0x006C02B0 | 87 | GameSettings__clear_vector_and_map_A | Clears the option vector and destroys hash map A of GameSettings |
| 0x006C0310 | 87 | GameSettings__clear_vector_and_map_B | Clears the option vector and destroys hash map B of GameSettings |
| 0x006C0550 | 92 | GameSettings__release_callback_safe_006c0550 | Releases callback at offset 0x24 with SEH protection, calls vtable destroy and nulls pointer |
| 0x006C05B0 | 92 | GameSettings__release_callback_safe_006c05b0 | Releases callback at offset 0x24 with SEH protection, calls vtable destroy and nulls pointer |
| 0x006C0610 | 170 | GameSettings__destroy_callback_map_A | Walks linked list freeing 0x38 byte nodes with callback release at offset 0xd, then frees sentinel |
| 0x006C06C0 | 170 | GameSettings__destroy_callback_map_B | Walks linked list freeing 0x38 byte nodes with callback release at offset 0xd, then frees sentinel |
| 0x006C07E0 | 87 | GameSettings__clear_vector_and_map_C | Clears option vector buffer and destroys callback map C of GameSettings |
| 0x006C0840 | 87 | GameSettings__clear_vector_and_map_D | Clears option vector buffer and destroys callback map D of GameSettings |
| 0x006C08A0 | 163 | GameSettings__destroy_option_vector | Destroys all option entries in vector (100 bytes each), frees backing buffer, zeroes pointers |
| 0x006C0950 | 165 | GameSettings__destructor | GameSettings destructor: sets vtable, destroys vectors, maps, callback maps, and json state |
| 0x006C0A00 | 99 | GameSettings__OptionEntry__destructor | Destructor for a single OptionEntry: destroys 3 embedded strings |
| 0x006C0A70 | 190 | GameSettings__clear_umap_if_present | Clears unordered_map pointed to by param_1 if non-null and has elements, frees 0x10 byte nodes |
| 0x006C0B60 | 30 | GameSettings__scalar_deleting_dtor_4byte | Scalar deleting destructor: frees 4-byte object if flag bit 0 is set |
| 0x006C0B80 | 186 | GameSettings__scalar_deleting_destructor | GameSettings scalar deleting destructor: runs full destructor then frees 0x58 byte object |
| 0x006C0C40 | 394 | GameSettings__apply_option_change | Applies an option change: looks up by ID in option vector, finds handler in hash map, calls callback |
| 0x006C0DD0 | 304 | GameSettings__apply_option_change_2 | Applies option change with different parameter layout from apply_option_change |
| 0x006C0F00 | 301 | GameSettings__resolve_option_from_string | Parses a config string to resolve an option type ID and enabled state. Returns struct with type (default 3) and enabled byte. Uses FNV-1a hash lookup in the option map. |
| 0x006C1030 | 52 | GameSettings__get_option_ptr | Returns pointer to option entry in the option vector by computed offset |
| 0x006C1070 | 268 | GameSettings__collect_option_ids_by_type | Iterates option vector, collects all option IDs (field[0]) where field[1] matches param_3 type into a newly allocated linked list. Returns list in param_2. |
| 0x006C1180 | 1559 | GameSettings__init_from_lua | Initializes GameSettings from Lua: registers EFFECT/CONTROL/ALL/RES keys, loads type table, registers callbacks, parses OptionTbl |
| 0x006C17A0 | 116 | GameSettings__get_option_state | Finds option by uint key in hash map, returns enabled state byte at offset 0xc, or 0 if not found |
| 0x006C1820 | 38 | GameSettings__is_invertible_type | Returns 1 for option types 0x6a,0x6b,0x6c,0xe7,0x10d (invertible), else 0 |
| 0x006C1900 | 193 | GameSettings__update_option_state | Updates option state: finds entry by ID in vector, compares with hash result, writes enabled flag |
| 0x006C19D0 | 2963 | GameSettings__parse_option_table_lua | Parses OptionTbl from Lua: reads type/subtype/invert/name/tooltip/desc per entry, validates, stores to option vector |
| 0x006C2610 | 438 | GameSettings__apply_all_options | Iterates all option entries in vector, applies each via handler lookup and callback invocation |
| 0x006C27D0 | 459 | GameSettings__apply_options_filtered | Iterates option entries and applies changes based on filter criteria |
| 0x006C29A0 | 215 | GameSettings__set_option_from_config_string | Parses config string to resolve option type, then sets the enabled state (param_2) on the matching option entry. Returns 3 if string is null/empty or option not found. |
| 0x006C2A80 | 141 | GameSettings__set_option_enabled | Sets option enabled state by ID: finds/inserts in hash map, writes byte at node offset 0xc |
| 0x006C2DB0 | 22 | GameSettings__destroy_option_entries_thunk | Thunk: forwards to GameSettings__destroy_option_entries with swapped this/range params |
| 0x006C2F80 | 3 | identity_return | Identity function: returns param_1 unchanged |
| 0x006C2F90 | 142 | GameSettings__vector_insert_entries | Inserts new option entries into the vector at specified position with move semantics |
| 0x006C3020 | 145 | GameSettings__vector_insert_entries_2 | Inserts option entries into vector variant with different parameter order |
| 0x006C32B0 | 56 | GameSettings__free_option_buffer | Frees option entries buffer: param_2 * 100 bytes with aligned deallocation |
| 0x006C32F0 | 166 | GameSettings__register_callback_simple | Registers a simple callback function for an option type in the callback map |
| 0x006C35E0 | 541 | GameSettings__umap_emplace_callback_A | Emplaces callback node into hash map A with FNV-1a hash, handles rehash on load factor exceeded |
| 0x006C3800 | 541 | GameSettings__umap_emplace_callback_B | Emplaces callback node into hash map B with FNV-1a hash, handles rehash on load factor exceeded |
| 0x006C3B00 | 188 | GameSettings__format_option_value_callback | Builds a 4-parameter descriptor array (type+offset pairs) from callback args and calls charconv__format_fixed_notation to format the option value. Called by GameSettings__option_callback_09. |
| 0x006C3BC0 | 125 | GameSettings__build_option_param_descriptor | Builds a parameter descriptor array with type markers (0xB0000000 for 4-byte, 0x10000000 for bool) and offsets for option callback parameters. Returns descriptor in param_1. |
| 0x006C40C0 | 226 | GameSettings__scroll_camera_direction | Scrolls camera direction by DAT_01112be8 amount, wraps rotation angle, sends action packet 0x8b |
| 0x006C41B0 | 108 | GameSettings__option_callback_e7 | Option callback 0xe7: Sends packet type 0x2d8 with current option state to server via CNetworkSession when setting changes. Involves CEffectManagerEx singleton. |
| 0x006C4220 | 78 | GameSettings__option_callback_6c | Option callback for type 0x6c: handles specific game setting change |
| 0x006C4270 | 63 | GameSettings__toggle_option_and_notify | Checks if option state changed, sets new enabled state, calls notify with sound effect 0x64ffff |
| 0x006C42B0 | 489 | GameSettings__option_callback_6e | Option callback 0x6e: Toggles camera perspective between 1st and 3rd person. Adjusts camera rotation angle, sends action packet 0x8b with direction. Tracks double-click timing (1500ms window) to send packet 0xa9 for quick-turn. Checks for quest 0x3a5 restriction. |
| 0x006C44A0 | 303 | GameSettings__option_callback_08 | Option callback 0x08: Toggles setting with sound. Checks if current map is "xmas_fild01.rsw" and applies special snow/weather effects accordingly (CEffect__extend_attached_object_lifetime when disabled, CEffect__dispatch_delayed_effect_0xa2 when enabled). |
| 0x006C45F0 | 101 | GameSettings__option_callback_f1 | Option callback 0xf1: Toggles setting with sound. Sets global DAT_0135f440 to DAT_010dd250 when enabled, or DAT_01112bec when disabled (likely a render distance or detail level). |
| 0x006C4660 | 84 | GameSettings__option_callback_3c | Option callback 0x3c: Toggles fog setting with sound, then applies fog settings via CGameMode__apply_fog_settings with the new state value. |
| 0x006C46C0 | 133 | GameSettings__option_callback_6a | Option callback 0x6a: Toggles status effect visibility. If option 0x6b is also enabled, shows warning message (ID 0xbb4) in chat instead. Otherwise clears all entity status effects via CGameMode and plays toggle sound. |
| 0x006C4750 | 366 | GameSettings__option_callback_0e | Option callback 0x0e: Displays help messages. Calls Lua "GetTableSizeForC" to get count, then iterates calling "getHelpMsg" for each entry, dispatching non-empty results as chat messages (type 1). Prefixed by type-3 chat clear. |
| 0x006C48F0 | 82 | GameSettings__option_callback_6b | Option callback 0x6b: Toggles setting with sound, then clears all entity status effects via CGameMode__clear_all_entity_status_effects(0). |
| 0x006C4950 | 4278 | GameSettings__register_all_callbacks | Registers all option type callbacks into both hash maps: ~35 entries for effect, control, and misc types |
| 0x006C5A10 | 79 | GameSettings__option_callback_108 | Option callback 0x108: Toggles setting with sound. If UI window DAT_01457854 exists, calls CUIWindow__save_config_and_refresh_child to refresh the UI. |
| 0x006C5A80 | 72 | GameSettings__option_callback_77 | Option callback 0x77: Toggles setting with sound. Sets global DAT_016fda51 to inverted value (param_2 XOR 1), likely a "disable X" flag stored as inverted boolean. |
| 0x006C5B40 | 449 | GameSettings__option_callback_09 | Option callback 0x09: Creates a location bookmark. Gets current entity position, converts world-to-cell coordinates, builds formatted string with map name and coordinates, dispatches to chat window. Also sends to party chat (type 0x13) unless in specific mode (DAT_016d3b10 == 10). |
| 0x006C5D10 | 71 | GameSettings__option_callback_e5 | Option callback 0xe5: Toggles setting with sound. Stores param_2 (as byte) to global DAT_01737a8c, likely a visual effect flag. |
| 0x006C5D60 | 77 | GameSettings__option_callback_10f | Option callback 0x10f: Toggles cursor lock. When enabled, clips cursor to client window rect. When disabled, removes cursor clipping via ClipCursor(NULL). |
| 0x006C5DB0 | 55 | GameSettings__option_callback_ef | Option callback 0xef: Sends packet type 0xae8 to server via CNetworkSession with param as data. Involves CEffectManagerEx singleton for size calculation. |
| 0x006C5DF0 | 128 | GameSettings__option_callback_128 | Option callback 0x128: Handles save data toggle. If disabling (param_2==0), shows confirmation dialog (message 0x1104) and reverts if canceled (result 0xbc). Otherwise calls send_savedata_request_packet. |
| 0x006C5E70 | 336 | GameSettings__play_option_toggle_sound | Plays option toggle feedback: resolves name from b00f00, plays sound effect via aa9100 with ID param_4 |
| 0x006C5FC0 | 93 | GameSettings__option_callback_10e | Option callback 0x10e: Toggles setting with sound, then finds/creates UI window type 0x9f and calls its virtual method at vtable+0x38 with the new state value. |
| 0x006C60F0 | 93 | GameSettings__option_callback_da | Option callback 0xda: Toggles setting with sound, then finds UI window type 0xbe and calls its virtual method at vtable+0x38 with the new state value. |
| 0x006C6150 | 93 | GameSettings__option_callback_db | Option callback 0xdb: Toggles setting with sound, then finds UI window type 0x10b and calls its virtual method at vtable+0x38 with the new state value. |
| 0x006C61B0 | 74 | GameSettings__option_callback_fa | Option callback 0xfa: Toggles setting with sound, then toggles minimap visibility via CUIWindowMgr__toggle_minimap_visibility. |
| 0x006C6200 | 96 | GameSettings__option_callback_df | Option callback 0xdf: Toggles setting with sound, then calls virtual method (vtable+0x94) on global DAT_01457840 with params (0, 6, 0x1f6, 0, 0, 0) if the global exists. |
| 0x006C6260 | 93 | GameSettings__option_callback_dc | Option callback 0xdc: Toggles setting with sound, then finds UI window type 0x10c and calls its virtual method at vtable+0x38 with the new state value. |
| 0x006C6300 | 117 | GameSettings__option_callback_c9 | Option callback 0xc9: Toggles setting with sound. If game mode active and field at offset 0x5d0 exists, checks option state and calls vtable+0x38 method with 0 when disabled (likely hiding a UI element). |
| 0x006C6380 | 70 | GameSettings__option_callback_11 | Option callback 0x11: Clears repute entries via CReputeDB__clear_entries, then sends packet type 0xd0 with value 0x10000 to server via CNetworkSession (requests updated reputation data). |
| 0x006C63D0 | 59 | GameSettings__option_callback_10 | Option callback 0x10: Sends packet type 0xd0 with value 0 to server via CNetworkSession. Simple network request trigger. |
| 0x006C6410 | 55 | GameSettings__option_callback_0f | Option callback 0x0f: Sends packet type 0xd3 to server via CNetworkSession with param data. Involves CEffectManagerEx singleton for size calculation. |
| 0x006C6450 | 72 | GameSettings__option_callback_8d | Option callback 0x8d: Toggles setting with sound, then rebuilds the effect collision tree via CGameObject__rebuild_effect_collision_tree. |
| 0x006CB0A0 | 3203 | SpriteGroupMgr__register_sprite_groups_part1 | Registers costume/headgear sprite groups 0-0x43 with sprite IDs for body/head/garment variants |
| 0x006CCB30 | 16 | SpriteGroupMgr__register_all_sprite_groups | Top-level initializer calling both sprite group registration functions (part1 and part2) |
| 0x006CCB40 | 158 | SpriteGroupMgr__has_sprite_in_group | Checks if a sprite ID exists in group 4 or 6 of the sprite map tree |
| 0x006CCBE0 | 247 | SpriteGroupMgr__check_sprite_membership | Checks sprite membership; handles special sentinel values 0xFFFFE (group 0) and 0xFFFFF (always true) |
| 0x006CCFA0 | 1 | identity_return_ecx_006ccfa0 | Identity function that returns its input parameter unchanged |
| 0x006CD8B0 | 209 | ItemDisplayEntry__construct | Constructs ItemDisplayEntry with copied string param and 4 empty SSO strings at offsets 0x18-0x78 |
| 0x006CD990 | 121 | ItemDisplayTree__destroy_nodes_recursive | Recursively destroys RB-tree nodes: calls self on children, destroys strings, frees 0x8C-byte nodes |
| 0x006CDA10 | 411 | ItemDisplayTree__find_or_insert_by_string | Finds or inserts node in string-keyed RB-tree; allocates 0x8C-byte node with ItemDisplayEntry on miss |
| 0x006CDBB0 | 460 | ItemDisplayTree__find_node_by_string_match | Iterates RB-tree nodes comparing string keys via Traits_compare; returns matching node iterator |
| 0x006CDD80 | 171 | ItemDisplayTree__init | Initializes ItemDisplayTree: sets vtable, allocates 0x8C sentinel node, init empty string and count=0 |
| 0x006CDE30 | 808 | ItemTooltipRenderer__create_texture | Creates item tooltip texture: loads sprite, creates surface, renders name/desc text lines with scaling |
| 0x006CE160 | 65 | ItemDisplayEntry__destroy_string_wrapper | SEH-wrapped string destructor for ItemDisplayEntry member |
| 0x006CE1B0 | 70 | ItemDisplayTree__free_sentinel_node | Frees the 0x8C-byte sentinel/head node at this+4 if non-null |
| 0x006CE200 | 79 | ItemDisplayTree__clear_and_free | Recursively destroys all tree nodes then frees the 0x8C sentinel node |
| 0x006CE260 | 107 | ItemDisplayTree__destroy_entry_and_free | Destroys ItemDisplayEntry strings at this+4, then frees the 0x8C-byte node |
| 0x006CE2D0 | 81 | ItemDisplayTree__scalar_deleter_006ce2d0 | Frees 0x8C-byte allocation at this+4 if non-null |
| 0x006CE330 | 90 | ItemDisplayTree__destroy_all_nodes | Recursively destroys all RB-tree nodes and frees the sentinel node |
| 0x006CE390 | 146 | ItemDisplayEntry__destroy_all_strings | Destroys all 5 std::string members within an ItemDisplayEntry node |
| 0x006CE430 | 86 | ItemDisplayEntry__destroy_two_strings | Destroys 2 std::string members within an ItemDisplayEntry node |
| 0x006CE490 | 146 | ItemDisplayEntry__destroy_all_strings_006ce490 | Destroys all 5 std::string members within an ItemDisplayEntry node (alternate unwind path) |
| 0x006CE530 | 207 | ItemDisplayTree__destructor | Destructor: sets vtable, clears tree, releases callback ref, destroys string, frees sentinel |
| 0x006CE600 | 25 | ItemDisplayTree__release_callback | Releases callback interface at this+4 by calling Release(1) if non-null |
| 0x006CE620 | 123 | ItemDisplayEntry__destroy_four_strings | Destroys 4 std::string members in ItemDisplayEntry unwind handler |
| 0x006CE6A0 | 228 | ItemDisplayTree__scalar_deleting_destructor | Scalar deleting destructor: calls destructor then optionally frees 0x2C-byte object |
| 0x006CE790 | 133 | ItemDisplayTree__set_node_value | Finds or creates node by string key, then copies value string into node's data field |
| 0x006CE820 | 160 | ItemDisplayTree__set_node_value_and_flag | Finds/creates node by string key, sets value string at offset+0x28 and byte flag at offset+0x40 |
| 0x006CE8C0 | 455 | ItemDisplayTree__set_node_two_strings | Finds/creates node by key, assigns two string values at offsets 0x44 and 0x5C with move semantics |
| 0x006CEAA0 | 268 | ItemDisplayTree__get_or_create_singleton | Creates singleton ItemDisplayTree at DAT_0138d27c; allocates 0x2C-byte object with vtable and sentinel |
| 0x006CEBB0 | 448 | ItemTooltipRenderer__update_tooltip | Updates item tooltip: looks up display data, releases old texture, creates new tooltip texture |
| 0x006CED70 | 27 | ItemDisplayTree__destroy_singleton | Destroys the global ItemDisplayTree singleton at DAT_0138d27c via virtual destructor |
| 0x006CED90 | 131 | ItemDisplayTree__get_display_name | Looks up item display name string; returns node value or fallback string from this+0x10 |
| 0x006CEE20 | 314 | ItemDisplayTree__find_entry_by_key | Finds ItemDisplayEntry by string key, stripping trailing '@xxx' suffix; returns ptr to entry+0x28 or NULL |
| 0x006CEF60 | 132 | ItemDisplayTree__get_resource_name | Looks up item resource name at entry offset+0x34; returns fallback from this+0x10 if not found |
| 0x006CF160 | 292 | ItemTooltipRenderer__draw_tooltip | Renders item tooltip with fade-out: draws sprite quad and text surface with alpha based on elapsed time |
| 0x006CF290 | 339 | ItemTooltipRenderer__draw_and_cleanup | Draws item tooltip from this+0x28; cleans up and frees 0x10-byte texture object after fade timeout |
| 0x006D04C0 | 348 | CPrivateAirplaneMgr__get_or_create_singleton | Creates singleton CPrivateAirplaneMgr at DAT_0138d284; allocates 0x20-byte object with 3 RB-trees (same layout as CMapInfoMgr), then loads private airplane Lua data |
| 0x006D0620 | 27 | CPrivateAirplaneMgr__destroy_singleton | Destroys the global CPrivateAirplaneMgr singleton at DAT_0138d284 via virtual destructor |
| 0x006D0A00 | 729 | CPrivateAirplaneMgr__load_lua_scripts | Loads private airplane data from Lua: registers InsertStartableMap/InsertEndableMap/InsertNeedItem, runs .lub |
| 0x006D0EF0 | 483 | CPrivateAirplaneMgr__lua_InsertNeedItem | Lua callback: InsertNeedItem(itemName, itemId) - inserts required item ID into airplane int-tree |
| 0x006D10E0 | 372 | CPrivateAirplaneMgr__lua_InsertEndableMap | Lua callback: InsertEndableMap(mapName) - inserts destination map into airplane string-keyed tree |
| 0x006D1260 | 372 | CPrivateAirplaneMgr__lua_InsertStartableMap | Lua callback: InsertStartableMap(mapName) - inserts departure map into airplane string-keyed tree |
| 0x006D5520 | 40 | operator= | Assignment operator. Copies string content from source to this object. |
| 0x006DEB00 | 38 | json_sscanf_double | Parses string to double using sscanf with format specifier |
| 0x006DEC90 | 34 | json_memcpy_range | Copies memory range [src, end) to destination, returns end of destination |
| 0x006E1C70 | 1 | identity_return_ecx_006e1c70 | Identity function that returns its input parameter unchanged |
| 0x006E5810 | 61 | json_uint_to_string | Converts unsigned integer to decimal string representation in buffer |
| 0x006E58C0 | 1501 | json_value_to_quoted_string | Converts C-string to JSON quoted string with escape sequences for special chars and unicode |
| 0x006E5FB0 | 193 | json_int_to_string | Converts signed integer to decimal string with optional negative sign |
| 0x006E6080 | 173 | json_uint_to_std_string | Converts unsigned integer to an std::string by calling json_uint_to_string into a local buffer, then assigning the result to the output string parameter. |
| 0x006F9E00 | 1 | identity_return_ecx_006f9e00 | Identity function that returns its input parameter unchanged |
| 0x006FD8C0 | 64 | CEffUnlimit__set_color_all_particles | Iterates particle vector at 0xCC and sets RGB color on each particle |
| 0x006FD900 | 326 | CEffUnlimit__set_texture_all_particles | Iterates particle vector, copies texture string and calls set_texture on each particle |
| 0x006FDA50 | 212 | CEffUnlimit__create_particles | Creates 2 particles with ra_unlimit texture at 180-degree intervals, alpha=90, scale=15.0 |
| 0x006FDB30 | 63 | CEffUnlimit__destroy_all_particles | Destroys all particles in vector at 0xCC and resets end pointer to begin |
| 0x006FDB70 | 212 | CEffUnlimit__create_particles_variant | Creates 2 particles with ra_unlimit texture at 180-degree intervals, identical to create_particles |
| 0x006FDC50 | 129 | CEffUnlimit__init_single_particle | Configures single particle: sets type=5, position, angle, scale, blend modes, resets matrix |
| 0x006FDCE0 | 170 | CEffUnlimit__init_all_particles | Iterates particle vector and applies init_single_particle configuration to each |
| 0x006FDDA0 | 377 | CEffUnlimit__update_rotation_all | Updates all particles: wraps rotation angle at 360 degrees, builds scale+rotation+tilt matrix |
| 0x006FDF20 | 311 | CEffUnlimit__update_rotation_single | Updates single particle: wraps rotation at 360 degrees, computes scale+rotZ+tilt transform matrix |
| 0x006FE060 | 83 | CEffUnlimit__render_all_particles | Renders all particles in vector by calling billboard render with default UV and alpha |
| 0x006FE0C0 | 59 | CEffUnlimit__render_single_particle | Renders single particle billboard with default UV coords and alpha=1.0 |
| 0x006FE300 | 119 | CEffEvilLand__ctor | Constructor: calls base effect ctor with ID 0x613, sets vtable, initializes empty particle vector |
| 0x006FE380 | 129 | CEffEvilLand__clear_particle_vector | Frees particle pointer vector buffer and zeros begin/end/capacity pointers |
| 0x006FE410 | 95 | CEffEvilLand__dtor | Destructor: sets vtable, clears particle vector, calls base effect dtor |
| 0x006FE470 | 119 | CEffEvilLand__scalar_dtor | Scalar deleting destructor: calls dtor, optionally frees 0xD8 byte object |
| 0x006FE4F0 | 63 | CEffEvilLand__destroy_all_particles | Destroys all particles in vector at 0xCC and resets end pointer to begin |
| 0x006FE530 | 766 | CEffEvilLand__create_ground_tiles | Creates NxN grid of ground particles using demonground textures with computed UV atlas coordinates |
| 0x006FE880 | 38 | CEffEvilLand__update_scroll_offset | Increments UV scroll offset at 0x324 by constant delta for animated ground texture |
| 0x006FE8B0 | 159 | CEffEvilLand__render_ground_overlay_all | Iterates particles, projects world to screen, renders overlay quads centered on tile grid |
| 0x006FE950 | 126 | CEffEvilLand__render_ground_overlay_single | Projects single particle world position to screen and renders overlay quad |
| 0x006FEA20 | 227 | CEffEZ2StrData__ctor | Constructor: calls base ctor with ID 0x40F, sets vtable, initializes particle vector and config fields |
| 0x006FEB10 | 110 | CEffEZ2StrData__dtor | Destructor: sets vtable, cleans up format data, destroys particle list, calls base dtor |
| 0x006FEB80 | 134 | CEffEZ2StrData__scalar_dtor | Scalar deleting destructor: calls dtor, optionally frees 0x100 byte object |
| 0x006FEC10 | 198 | CEffEZ2StrData__create_single_particle | Creates one particle with white color, alpha=255, configures scale/offset/blend from effect data |
| 0x006FECE0 | 63 | CEffEZ2StrData__destroy_all_particles | Destroys all particles in vector at 0xCC and resets end pointer to begin |
| 0x006FED20 | 546 | CEffEZ2StrData__create_particle_and_load_frames | Creates particle with white color, then loads 2x10 animation frame texture names into string vector |
| 0x006FEF50 | 97 | CEffEZ2StrData__configure_particle_appearance | Sets particle color to white, alpha=255, copies scale and position offset from effect config |
| 0x006FEFC0 | 146 | CEffEZ2StrData__reset_and_configure_all | Resets frame counter and duration, configures appearance for all particles in vector |
| 0x006FF070 | 505 | CEffEZ2StrData__update_all_particles | Updates particles: sets animated texture from frame list, builds rotation matrix, applies position offset |
| 0x006FF270 | 367 | CEffEZ2StrData__update_single_particle | Updates single particle: applies animated texture, builds camera-relative rotation+scale matrix |
| 0x006FF3E0 | 83 | CEffEZ2StrData__render_all_particles | Renders all particles with billboard render call, same pattern as unlimit render |
| 0x006FF440 | 59 | CEffEZ2StrData__render_single_particle | Renders single particle billboard with default UV and alpha=1.0 |
| 0x006FF480 | 120 | CEffNavMapEff__ctor | Constructor for CEffNavMapEff: calls base CEffectAura ctor with ID -1, sets vtable 01114dc4, initializes sprite pointer and config fields to zero |
| 0x006FF500 | 71 | CEffNavMapEff__dtor | Destructor for CEffNavMapEff: sets vtable 01114dc4, calls CEffectAura base destructor |
| 0x006FF550 | 99 | CEffNavMapEff__scalar_dtor | Scalar deleting destructor for CEffNavMapEff: calls dtor, optionally frees 0xDC byte object |
| 0x006FF5C0 | 372 | CEffEZ2StrData__transform_to_view_space | Transforms particle position from world to camera view space using view+projection matrices |
| 0x006FF740 | 34 | CEffNavMapEff__recycle_sprite | Recycles the 3D sprite at offset 0xCC back to the effect pool and sets the pointer to NULL |
| 0x006FFA00 | 29 | CEffNavMapEff__check_animation_done | Checks if animation is complete by comparing progress counter at 0x3CC4 against total at 0x3CC8; returns 1 if done, 0 otherwise |
| 0x006FFA20 | 462 | CEffNavMapEff__create_3d_sprite | Creates 3D sprite for nav map effect: initializes singleton data, loads model, configures animations and blend |
| 0x006FFC60 | 571 | CEffNavMapEff__update_3d_sprite | Updates 3D sprite: handles fade, height adjustment, world-to-view transform, animation completion check |
| 0x006FFEF0 | 30 | CEffNavMapEff__set_sprite_alpha | Sets the sprite alpha/opacity value at sprite offset 0x3FB4 if sprite exists |
| 0x006FFF10 | 26 | CEffNavMapEff__set_sprite_flag_3fe8 | Sets sprite config byte at offset 0x3FE8 if sprite exists |
| 0x006FFF30 | 26 | CEffNavMapEff__set_sprite_flag_3fe9 | Sets sprite config byte at offset 0x3FE9 if sprite exists |
| 0x006FFF50 | 39 | CEffNavMapEff__set_sprite_loop_config | Configures sprite animation loop: clears loop-once flag at 0x3F5C and sets loop-mode byte at 0x3F5D |
| 0x006FFF90 | 26 | CEffNavMapEff__set_sprite_anim_speed | Sets sprite animation speed/timing value at offset 0x3F98 if sprite exists |
| 0x006FFFB0 | 30 | CEffNavMapEff__set_sprite_scale_x | Sets sprite scale X value at offset 0x3FA4 if sprite exists |
| 0x006FFFD0 | 30 | CEffNavMapEff__set_sprite_scale_y | Sets sprite scale Y value at offset 0x3FA8 if sprite exists |
| 0x006FFFF0 | 30 | CEffNavMapEff__set_sprite_scale_z | Sets sprite scale Z value at offset 0x3FAC if sprite exists |
| 0x00700010 | 30 | CEffNavMapEff__set_sprite_offset | Sets sprite position offset value at offset 0x3FB0 if sprite exists |
| 0x00700030 | 50 | CEffNavMapEff__set_total_frames_and_recalc | Sets total animation frames at sprite offset 0x3FA0, recalculates duration (frames/16), and updates effect aura param |
| 0x00701370 | 205 | CEffKiss__ctor | Constructor for kiss effect: calls base ctor, sets vtable, initializes particle vector and config |
| 0x00701440 | 95 | CEffKiss__dtor | Destructor: sets vtable, clears particle vector, calls base effect dtor |
| 0x007014A0 | 119 | CEffKiss__scalar_dtor | Scalar deleting destructor: calls dtor, optionally frees object memory |
| 0x00701520 | 63 | CEffKiss__destroy_all_particles | Destroys all kiss particles and resets vector end to begin |
| 0x00701560 | 232 | CEffKiss__create_particle | Creates kiss particle with kiss_bmp texture, random height offset, random rotation angle |
| 0x00701650 | 173 | CEffKiss__reinit_particle | Reinitializes an existing kiss particle: sets kiss_bmp texture, resets position/scale/alpha, assigns random height offset and rotation angle. Called to recycle a particle. |
| 0x00701710 | 535 | CEffKiss__update_all_particles | Updates kiss particles: applies sin-wave wobble, builds scale+tilt+translation transform matrix |
| 0x00701930 | 468 | CEffKiss__update_single_particle | Updates single kiss particle: applies sine wobble on Y/Z, builds scale+rotation+translation matrix |
| 0x00701B10 | 83 | CEffKiss__render_all_particles | Renders all kiss particles as billboards with default UV and alpha |
| 0x00701B70 | 59 | CEffKiss__render_single_particle | Renders single kiss particle billboard with default UV and alpha=1.0 |
| 0x00701BB0 | 171 | CEffRingBlue__ctor | Constructor for ring blue effect: calls base ctor, sets vtable, initializes particle vector and config |
| 0x00701C60 | 95 | CEffRingBlue__dtor | Destructor: sets vtable, clears particle vector, calls base effect dtor |
| 0x00701CC0 | 119 | CEffRingBlue__scalar_dtor | Scalar deleting destructor: calls dtor, optionally frees object memory |
| 0x00701D40 | 408 | CEffRingBlue__compute_orbital_vertices | Computes orbital vertex positions using sin/cos tables with rotation speed and radius parameters |
| 0x00701EE0 | 63 | CEffRingBlue__destroy_all_particles | Destroys all ring particles and resets vector end to begin |
| 0x00701F20 | 637 | CEffRingBlue__create_ring_particles | Creates 22 orbital ring particles with ring_blue texture, computes initial orbital positions |
| 0x007021C0 | 523 | CEffRingBlue__reinit_single_particle | Reinitializes a single ring blue particle: sets alpha/color, recalculates orbital parameters (radius, speed, angle offset), recomputes vertex positions from sin/cos tables, updates trail data |
| 0x007023E0 | 539 | CEffRingBlue__update_all_particles | Iterates all ring blue particles in vector, updates world position from parent, computes per-particle orbital radius decay and rotation matrix, writes transform to each particle |
| 0x00702600 | 412 | CEffRingBlue__update_single_particle_transform | Computes transform matrix for a single ring blue particle: handles radius fade-in/decay phases, builds rotation-Y + scale matrix, writes 3x4 transform |
| 0x007027A0 | 160 | CEffRingBlue__render_all_particles | Iterates all ring blue particles in vector, renders each with computed UV coordinates based on particle index via CEffectLayer__render_from_struct |
| 0x00702840 | 118 | CEffRingBlue__render_single_particle_inner | Renders a single ring blue particle with computed UV coordinates based on particle index, calls CEffectLayer__render_from_struct |
| 0x007028C0 | 149 | CEffShinkiro__ctor | Constructor for CEffShinkiro: calls base CEffectAura ctor with effect ID 0x930, sets vtable, initializes sprite pointers and direction/config fields to zero |
| 0x00702960 | 71 | CEffShinkiro__dtor | Destructor for CEffShinkiro: sets vtable, calls CEffectAura__dtor_base to clean up base class |
| 0x007029B0 | 99 | CEffShinkiro__scalar_dtor | Scalar deleting destructor for CEffShinkiro: sets vtable, calls base dtor, optionally frees 0xE4 bytes of object memory |
| 0x00702A20 | 63 | CEffShinkiro__destroy_all_particles | Destroys all shinkiro particles and resets vector end to begin |
| 0x00702A60 | 599 | CEffShinkiro__create_projectile | Creates 3D sprite with SHINKIRO_SHIRANUI model, computes direction vector and screen angle to target |
| 0x00702CD0 | 596 | CEffShinkiro__update_projectile | Updates projectile: moves along direction vector, transforms to view space, increments frame counter |
| 0x00702F30 | 85 | CEffShinkiro__render_projectile | Renders shinkiro 3D sprite projectile if sprite pointer exists |
| 0x00702F90 | 89 | CEffDragonKnight__ctor | Constructor for Dragon Knight charging pierce effect: initializes base, vtable, particle list |
| 0x00702FF0 | 93 | CEffDragonKnight__scalar_dtor_00702ff0 | Scalar deleting destructor for CEffDragonKnight: calls CEffectAura__dtor_base, optionally frees 0xCC bytes of object memory |
| 0x00703060 | 133 | CEffDragonKnightCharge__ctor | Constructor for CEffDragonKnightCharge: calls base ctor with effect ID -1, sets vtable PTR_LAB_01115254, initializes 10 particle vector triplets (begin/end/capacity) to zero |
| 0x007030F0 | 127 | CEffDragonKnightHit__ctor | Constructor for CEffDragonKnightHit: calls base ctor with effect ID -1, sets vtable PTR_LAB_011151c8, allocates and initializes a 0xC-byte linked list head node |
| 0x00703170 | 67 | CEffDragonKnightHit__destroy_list_node | Frees a single 0xC-byte linked list node from the DragonKnightHit sprite list |
| 0x007031C0 | 78 | CEffDragonKnightHit__free_list_node | Sets vtable and frees a single 0xC-byte list node; variant cleanup for DragonKnightHit |
| 0x00703210 | 103 | CEffDragonKnightHit__destroy_linked_list | Walks the DragonKnightHit linked list, frees each node, then frees the head node. Full list cleanup. |
| 0x00703280 | 71 | CEffDragonKnightCharge__dtor | Destructor for CEffDragonKnightCharge: sets vtable PTR_LAB_01115254, calls CEffectAura__dtor_base |
| 0x007032D0 | 146 | CEffDragonKnightHit__dtor | Destructor for CEffDragonKnightHit: sets vtable PTR_LAB_011151c8, walks and frees linked list nodes, frees head, calls CEffectAura__dtor_base |
| 0x00703370 | 99 | CEffDragonKnightCharge__scalar_dtor | Scalar deleting destructor for CEffDragonKnightCharge: sets vtable, calls base dtor, optionally frees 0x194 bytes |
| 0x007033E0 | 170 | CEffDragonKnightHit__scalar_dtor | Scalar deleting destructor for CEffDragonKnightHit: sets vtable, frees linked list, calls base dtor, optionally frees 0xD4 bytes |
| 0x00703490 | 534 | CEffDragonKnight__add_pierce_sprites_to_list | Creates DK_CHARGINGPIERCE 3D sprites at bone positions and adds to linked list |
| 0x007036B0 | 378 | CEffDragonKnight__create_hit_sprites | Creates new chargingpierce hit sprites at bone positions for empty slots. Allocates effect layers, loads resource, stores in hit array slots. |
| 0x00703830 | 124 | CEffDragonKnight__create_charge_effect | Creates a charge effect layer at the given slot index: allocates from pool, sets chargingpierce texture, initializes quad vertices, stores in charge array at 0x144. |
| 0x00703900 | 105 | CEffDragonKnight__destroy_hit_list | Destroys all hit effect sprites in the linked list at 0xCC: recycles each to pool, frees list nodes, resets list to empty state with size 0. |
| 0x00703970 | 195 | CEffDragonKnight__get_active_sprite_count | Counts active sprite slots by checking both charge array (0x144) and hit array (0x16C) for non-null entries. Returns total count (max 10). |
| 0x00703C70 | 334 | CEffDragonKnight__create_charge_sprite | Creates a single DK_CHARGINGPIERCE 3D sprite from the effect pool, loads resource, sets position from bone data, and returns the sprite pointer. |
| 0x00703DC0 | 1436 | CEffDragonKnight__update_all_sprites | Updates all DK sprites: transforms charge sprites, updates hit sprites with world-to-view transform |
| 0x00704360 | 540 | CEffDragonKnight__update_sprite_list | Updates sprites in linked list: transforms positions, manages animation lifecycle |
| 0x00704580 | 482 | CEffDragonKnight__update_hit_transforms | Updates hit sprite transforms: builds camera rotation + scale + bone offset matrix for each slot |
| 0x00704770 | 700 | CEffDragonKnight__update_single_charge_transform | Updates single charge sprite: applies camera rotation, scale, bone offset to build transform matrix |
| 0x00704A30 | 377 | CEffDragonKnight__render_charge_and_hit_sprites | Renders 10 charge sprites via CEffectLayer__render_mesh and 10 hit sprites via CEffect__render_active_layers_alt in a single loop. |
| 0x00704BF0 | 43 | CEffDragonKnight__render_single_sprite | Renders a single DK effect sprite via CEffect__render_active_layers_alt if non-null. |
| 0x00704C20 | 317 | CEffDragonKnight__render_single_list_sprite | Renders a single sprite from the linked list using CEffectLayer__render_mesh with UV/scale parameters derived from animation data. |
| 0x00704D60 | 172 | CEffHyperNovice__ctor | Constructor for Hyper Novice jupitel thunder effect: initializes base, vtable, config fields |
| 0x00704E10 | 95 | CEffHyperNovice__dtor | Destructor: sets vtable, destroys 3D sprite, clears particle vectors, calls base dtor |
| 0x00704E70 | 119 | CEffHyperNovice__scalar_dtor | Scalar deleting destructor: calls dtor, optionally frees object memory |
| 0x00704EF0 | 329 | CEffHyperNovice__create_particles | Creates 4 groups of 20 HN trail particles with random vertical offset, distance, and angle. Uses white02.bmp texture, pushes to particle vector at 0xD0. |
| 0x00705040 | 63 | CEffHyperNovice__destroy_all_particles | Destroys all hyper novice particles and resets vector end to begin |
| 0x00705080 | 126 | CEffHyperNovice__compute_direction_angle | Computes direction angle from X/Y delta using sqrtf normalization and cosine lookup table. Returns angle in degrees (0-360). |
| 0x00705100 | 358 | CEffHyperNovice__create_trail_particles | Creates 4x4=16 groups of 20 trail particles each with random offsets, distances, and angles. Uses white02.bmp texture, pushes to particle vector. |
| 0x00705280 | 359 | CEffHyperNovice__update_all_particles | Updates all HN trail particles: copies position from effect base, adjusts speed/distance per frame, shifts history ring buffer for trail fading. |
| 0x007053F0 | 278 | CEffHyperNovice__update_single_particle | Updates a single HN trail particle: adjusts speed, shifts position history ring buffer, increments frame counter. |
| 0x00705510 | 1365 | CEffHyperNovice__update_trail_particles | Updates HN trail particles: computes exponential decay positions with sin/cos curves for lightning trail |
| 0x00705A70 | 1295 | CEffHyperNovice__update_single_trail | Updates single trail particle: applies exponential decay curve for lightning trail vertex positions |
| 0x00705F80 | 173 | CEffHyperNovice__ctor_extended | Extended constructor with additional config for HN jupitel thunder effect variant |
| 0x00706030 | 95 | CEffHyperNovice__dtor_extended | Extended destructor for HN jupitel thunder variant effect |
| 0x00706090 | 119 | CEffHyperNovice__scalar_dtor_extended | Scalar deleting destructor for extended HN effect variant |
| 0x00706110 | 98 | CEffHyperNovice__destroy_all_sprites | Destroys main 3D sprite at 0xCC and all trail particle sprites in vector (0xD0-0xD4). Recycles each to effect pool and resets pointers. |
| 0x00706180 | 1125 | CEffHyperNovice__create_projectile | Creates HN jupitel thunder 3D sprite and spawns trail particles at computed positions with sound |
| 0x00706690 | 300 | CEffHyperNovice__update_trail_and_projectile | Updates HN projectile position and all trail particle sprites |
| 0x007067C0 | 114 | CEffHyperNovice__render_all_sprites | Renders main sprite at 0xCC and all trail particle sprites in vector (0xD0-0xD4) via CEffect__render_active_layers_alt. |
| 0x00706840 | 106 | CEffHyperNoviceSpell__ctor | Constructor for HN spell cast effect (Climax): calls base CEffectAura ctor with ID -1, sets vtable to 0x01115604, initializes particle fields. |
| 0x007068B0 | 71 | CEffHyperNoviceSpell__dtor | Destructor for HN Climax spell effect: sets vtable, calls CEffectAura__dtor_base to clean up base effect. |
| 0x00706900 | 99 | CEffHyperNoviceSpell__scalar_dtor | Scalar deleting destructor for HN Climax spell effect: calls base dtor, optionally frees 0xD4 bytes of object memory. |
| 0x00706970 | 345 | CEffHyperNoviceSpell__transform_to_view | Transforms spell effect position from world to camera view space using entity world-to-view matrix chain. Applies height offset for riding entities. |
| 0x00706B00 | 309 | CEffHyperNoviceSpell__create_sprites | Creates Climax spell effect sprites: main climax sprite at 0xCC, bottom layer at 0xD0 (texture varies by skill level 1-5), plays AG_CLIMAX.wav sound. |
| 0x00706CFF | 1 | nop_return_void_00706cff | Single-byte NOP stub (no operation, returns immediately) |
| 0x00706D0F | 1 | nop_return_void_00706d0f | Single-byte NOP stub (no operation, returns immediately) |
| 0x00706D73 | 1 | nop_return_void_00706d73 | Single-byte NOP stub (no operation, returns immediately) |
| 0x00706D83 | 1 | nop_return_void_00706d83 | Single-byte NOP stub (no operation, returns immediately) |
| 0x00706DC9 | 1 | nop_return_void_00706dc9 | Single-byte NOP stub (no operation, returns immediately) |
| 0x00706DE7 | 1 | nop_return_void_00706de7 | Single-byte NOP stub (no operation, returns immediately) |
| 0x00706DF7 | 1 | nop_return_void_00706df7 | Single-byte NOP stub (no operation, returns immediately) |
| 0x00706E3D | 1 | nop_return_void_00706e3d | Single-byte NOP stub (no operation, returns immediately) |
| 0x00706E5D | 1 | nop_return_void_00706e5d | Single-byte NOP stub (no operation, returns immediately) |
| 0x00706E70 | 1 | nop_return_void_00706e70 | Single-byte NOP stub (no operation, returns immediately) |
| 0x00706F10 | 464 | CEffHyperNoviceSpell__update_particles | Updates 2 spell particle sprites: sets position from base, transforms to view space via world-to-view matrix, ticks animation, increments frame counter. |
| 0x007070E0 | 385 | CEffHyperNoviceSpell__transform_and_tick_particle | Transforms single spell particle to camera view space using entity world-to-view matrix chain, then ticks animation frame. |
| 0x00707270 | 63 | CEffHyperNoviceSpell__render_all_sprites | Renders spell effect sprites (main at 0xCC, trail particles in 0xD0-0xD4 vector) via CEffect__render_active_layers_alt. |
| 0x007072B0 | 43 | CEffHyperNoviceSpell__render_single_sprite | Renders a single spell particle sprite via CEffect__render_active_layers_alt if non-null. |
| 0x007074E0 | 190 | CEffFireworks__ctor | Constructor for fireworks/sparkle effect: initializes base, vtable, particle vector and config |
| 0x007075A0 | 556 | CEffFireworks__create_burst_particles | Creates burst of 3D particles at random positions with scaling based on skill level |
| 0x007077D0 | 63 | CEffFireworks__destroy_all_particles | Destroys all fireworks particles and resets vector end to begin |
| 0x00707810 | 66 | CEffFireworks__create_particles_by_type | Creates fireworks particles based on effect type: skill IDs 1099/0x457 spawn burst particles at random positions scaled by level; IDs 0x452/0x458 spawn single centered sprite. |
| 0x00707880 | 1 | CEffNyangGrass__spawn_random_grass_effects | Spawns CEffNyangGrass instances at random positions around source, loads sprite/animation data, applies effect properties including skill-specific alpha (id 1099) |
| 0x00707B50 | 231 | CEffFireworks__update_all_particles | Updates fireworks particles: applies gravity, fades alpha, sets position |
| 0x00707C40 | 83 | CEffFireworks__update_single_particle | Updates single fireworks particle: advances sprite animation frame, triggers sound callback (0x7A) at specific frame, increments frame counter. |
| 0x00707CA0 | 94 | CEffFireworks__render_all | Renders all active fireworks particles: iterates vector, checks lifetime, calls CEffectLayerEx__render for each alive particle. |
| 0x00707D00 | 27 | CEffFireworks__render_single | Renders a single fireworks particle via CEffectLayerEx__render if non-null. |
| 0x00707D70 | 171 | CEffNyangGrass__ctor | Constructor for Nyanggrass ground effect: initializes base, vtable, particle vector and grid size |
| 0x00707E80 | 95 | CEffNyangGrass__dtor | Destructor: sets vtable, clears particle vector, calls base effect dtor |
| 0x00707EE0 | 119 | CEffNyangGrass__scalar_dtor | Scalar deleting destructor: calls dtor, optionally frees object memory |
| 0x00707F70 | 50 | CEffNyangGrass__destroy_all_particles | Destroys all nyanggrass particles and resets both particle vectors |
| 0x00707FB0 | 308 | CEffEvilLand__alloc_overlay_vertices | Allocates overlay vertex buffer for N quads (N*0x28 bytes), frees previous allocation |
| 0x007080F0 | 360 | CEffEvilLand__render_overlay_quad | Projects 4 world vertices to screen, sets UV coords with scroll offset, submits to overlay queue |
| 0x00708260 | 130 | CEffNyangGrass__ctor_with_grid | Constructor variant with grid size based on skill level (5/7/9 for level 1-2/3-4/5) |
| 0x007082F0 | 95 | CEffNyangGrass__dtor_with_grid | Destructor for grid variant: clears particle vector, calls base dtor |
| 0x00708350 | 119 | CEffNyangGrass__scalar_dtor_with_grid | Scalar deleting destructor for grid variant effect |
| 0x007083D0 | 477 | CEffNyangGrass__create_grid_particles | Creates NxN grid of su_nyanggrass 3D sprites at evenly spaced positions |
| 0x007085B0 | 63 | CEffNyangGrass__destroy_grid_particles | Destroys all grid particles and resets vector end to begin |
| 0x007085F0 | 493 | CEffNyangGrass__create_grid_particles_variant | Creates NxN grid of su_nyanggrass sprites with su_nyanggrass_str model at each cell position |
| 0x00708830 | 79 | CEffNyangGrass__update_all_particles | Updates all nyanggrass particles: transforms to view space, increments frame counter |
| 0x00708880 | 45 | CEffNyangGrass__update_single_particle | Updates single nyanggrass particle position and frame counter |
| 0x007088B0 | 69 | CEffNyangGrass__render_all_particles | Renders all nyanggrass 3D sprites, skipping null entries |
| 0x00708900 | 43 | CEffNyangGrass__render_single_sprite | Renders single nyanggrass 3D sprite model |
| 0x00708930 | 119 | CEffCompetentia__ctor | Constructor for Competentia cast effect: initializes base, vtable, particle vector and config |
| 0x007089B0 | 95 | CEffCompetentia__dtor | Destructor: sets vtable, clears particle vector, calls base effect dtor |
| 0x00708A10 | 119 | CEffCompetentia__scalar_dtor | Scalar deleting destructor: calls dtor, optionally frees object memory |
| 0x00708A90 | 63 | CEffCompetentia__destroy_all_particles | Destroys all competentia particles and resets vector end to begin |
| 0x00708AD0 | 478 | CEffCompetentia__create_cast_particles | Creates competentia cast particles with terrain height, loads competentia_cast_particle model, plays BeginSpell sound |
| 0x00708CC0 | 182 | CEffCompetentia__update_all_particles | Updates competentia particles: transforms to view space, increments frame counter |
| 0x00708D80 | 45 | CEffCompetentia__update_single_particle | Updates single competentia particle position and frame counter |
| 0x00708DB0 | 69 | CEffCompetentia__render_all_particles | Renders all competentia 3D sprites, skipping null entries |
| 0x00708E00 | 43 | CEffCompetentia__render_single_sprite | Renders single competentia 3D sprite model |
| 0x00708E30 | 51 | CEffCompetentia__set_particle_field | Propagates a value (param_2) to field 0x3f98 of all child particles in the vector |
| 0x00708E70 | 164 | CEffGroundGrow__ctor | Constructor for ground grow/shrink effect: initializes base, vtable, two particle vectors and config |
| 0x00708F20 | 129 | CEffGroundGrow__dtor | Destructor: clears both particle vectors, calls base effect dtor |
| 0x00708FB0 | 110 | CEffGroundGrow__scalar_dtor | Scalar deleting destructor: calls dtor, optionally frees object memory |
| 0x00709020 | 134 | CEffGroundGrow__scalar_deleting_dtor_00709020 | Scalar deleting destructor: sets vtable, calls CEffGroundGrow__dtor + CEffectAura chain, optionally frees 0xE8 bytes |
| 0x007090B0 | 187 | CEffGroundGrow__create_sprite_particles | Creates N*N sprite-based particles (CEffNyangGrass pool), loads sprite data + animation tree, initializes appearance and quad vertices |
| 0x00709170 | 328 | CEffGroundGrow__create_grow_particles | Creates NxN grid of growing particles at random positions within grid cells |
| 0x007092C0 | 110 | CEffGroundGrow__destroy_all_particles | Destroys both primary (offset 0xCC-0xD0) and secondary (offset 0xD8-0xDC) particle vectors, recycling all effects to pool |
| 0x00709330 | 561 | CEffGroundGrow__create_shrink_particles | Creates secondary shrink particles at random positions with random alpha and scale |
| 0x00709570 | 278 | CEffGroundGrow__reset_particle_appearance | Resets particle to initial state: random position offset, random alpha/scale, sets grow phase |
| 0x007096B0 | 243 | CEffGroundGrow__reset_grow_particle | Resets grow particle: randomizes position within grid cell, sets initial scale and grow phase |
| 0x00709800 | 821 | CEffGroundGrow__update_all_particles | Updates grow and shrink particles: manages grow/shrink/fade phases with camera rotation transform |
| 0x00709B40 | 319 | CEffGroundGrow__update_grow_single | Updates single grow particle: manages grow/shrink phase transitions with alpha and scale |
| 0x00709C80 | 448 | CEffGroundGrow__update_shrink_single | Updates single shrink particle: manages alpha fade with random rate, repositions with wobble |
| 0x00709E40 | 139 | CEffGroundGrow__render_all_particles | Renders grow particles as billboards and shrink particles as 3D models, skipping dead particles |
| 0x0070C550 | 120 | get_mob_bullet_name_by_id | Returns bullet sprite name for mob ID: EP21 mobs, violen, corruption root, dregg, shadow jailer, etc. Default: skel_archer_arrow |
| 0x007176E0 | 143 | CGaleStorm__ctor | Constructor: vtable 011174b8, init base class (type 0x7B5), zeroes sprite ptrs, sets interval=5 |
| 0x00717770 | 95 | CGaleStorm__dtor | Destructor: sets vtable 011174b8, deallocates sprite vector, destroys base class |
| 0x007177D0 | 119 | CGaleStorm__scalar_dtor | Scalar deleting destructor for CGaleStorm (0xE0 bytes), frees memory if flag set |
| 0x00717850 | 633 | CGaleStorm__spawn_arrow_effect | Spawns galestorm arrow sprite at randomized position, plays WH_GALESTORM.wav 1/7 chance |
| 0x00717AD0 | 135 | CGaleStorm__update_tick | Per-tick update: spawns arrow every 30 ticks and calls spawn_wind every 100/interval ticks |
| 0x00717B60 | 563 | CGaleStorm__spawn_wind_effect | Spawns galestorm wind STR effect sprite at randomized position around center |
| 0x00717DA0 | 63 | CGaleStorm__clear_sprites | Destroys all galestorm effect sprites in vector, resets end pointer |
| 0x00717DE0 | 208 | CGaleStorm__calc_interval_from_level | Sets spawn interval from level lookup table: levels 0-4=5, 5-7=7, 8-9=9, 10+=11 |
| 0x00717ED0 | 313 | CGaleStorm__update | Updates galestorm: spawns wind/arrow effects on intervals, updates alive sprites, removes expired |
| 0x00718010 | 45 | CGaleStorm__update_single_sprite | Updates a single galestorm sprite if non-null via animation tick |
| 0x00718040 | 69 | CGaleStorm__render_all_sprites | Iterates sprite vector and renders each non-null sprite via scene graph render |
| 0x00718090 | 43 | CGaleStorm__render_single_sprite | Renders a single galestorm sprite if non-null via scene graph render |
| 0x007180C0 | 266 | CGroundEffect__on_hit_ground | Handles ground hit: destroys sprite, gets actor height, resets 3D coords; type 0x4B1 plays impact sound via CSoundMgr |
| 0x007181D0 | 270 | CGroundEffect__on_spawn | On spawn: type 0x4B1 creates WL_TELEKINESIS_INTENSE STR sprite, type 0x960 sets active flag |
| 0x007182E0 | 272 | CGroundEffect__update_descend | Updates descending ground effect: decreases height toward min, gets terrain Y, updates sprite position |
| 0x00718420 | 166 | CProjectile__list_push_back | Inserts a sprite pointer into linked list before given node, increments count |
| 0x007184D0 | 332 | CProjectile__ctor | Constructor: vtable 011175e0, type 0x7B0, two linked lists, default radius/height/angle params |
| 0x00718620 | 210 | CProjectile__dtor | Destructor: sets vtable 011175e0, frees both linked lists (0xD4 and 0xCC), destroys base |
| 0x00718700 | 234 | CProjectile__scalar_dtor | Scalar deleting destructor for CProjectile (0x138 bytes), frees memory if flag set |
| 0x007187F0 | 199 | CProjectile__clear_both_lists | Destroys all sprites in both linked lists (+0xD4 and +0xCC), resets counts to zero |
| 0x007188C0 | 705 | CProjectile__launch | Launches projectile: stores start time, computes midpoint/radius/angle, spawns hawkvumerang sprites |
| 0x00718BA0 | 660 | CProjectile__update | Updates projectile arc: moves sprite along circular path using elapsed time, adjusts rotation/scale |
| 0x00718E40 | 45 | CProjectile__update_single_sprite | Updates a single projectile sprite if non-null via animation tick |
| 0x00718E70 | 67 | CProjectile__render_all_sprites | Iterates sprite linked list and renders each non-null sprite via scene graph |
| 0x00718EC0 | 43 | CProjectile__render_single_sprite | Renders a single projectile sprite if non-null via scene graph render |
| 0x00718EF0 | 73 | _Allocate<8,struct_std::_Default_allocate_traits,0> | STL memory allocator with alignment support. Falls back to aligned allocation for large sizes. |
| 0x00719030 | 425 | CWavEffect__ctor | Constructor: vtable 011176c0, default count=2, wav prefix string, empty name string, allocates vector |
| 0x00719200 | 125 | CWavEffect__dtor | Destructor: sets vtable 011176c0, destroys name/prefix strings, deallocates sprite vector, destroys base |
| 0x00719280 | 149 | CWavEffect__scalar_dtor | Scalar deleting destructor for CWavEffect (0x11C bytes), frees memory if flag set |
| 0x00719320 | 137 | CWavEffect__set_position_all | Stores current position and updates all sprites in vector to match position at +0x110 |
| 0x007193B0 | 73 | CWavEffect__destroy_all_sprites | Destroys all non-null sprites in vector at +0xD4 |
| 0x00719400 | 285 | CWavEffect__init_sprites | Creates sprite instances up to count, calls virtual load_config, sets all sprite positions |
| 0x00719520 | 305 | CWavEffect__on_expire | Marks all sprites as non-looping (flag 0xD), concatenates prefix+name strings, plays wav sound |
| 0x00719660 | 45 | CWavEffect__is_actor_valid | Returns 1 if actor at +0x20 exists and is found in scene, 0 otherwise |
| 0x00719690 | 1437 | CWavEffect__load_dropitem_config | Loads STR sprite paths by type: blue/green/red/yellow/purple/pink dropitem effects |
| 0x00719C30 | 110 | CWavEffect__tick_all_sprites | Updates all sprites in vector: calls animation tick and increments frame counter at +0xE8 |
| 0x00719CA0 | 94 | CWavEffect__render_all_sprites | Iterates sprite vector at +0xD4 and renders each non-null sprite via scene graph |
| 0x00719D00 | 6440 | CWavEffect__debug_dump_skill_tree_and_collisions | Debug function: iterates skill tree nodes and collision rectangles, formats their coordinates/IDs/zoom values as strings, and outputs via OutputDebugStringA for diagnostic logging |
| 0x0071B690 | 1 | identity_return_ecx_0071b690 | Identity function that returns its input parameter unchanged |
| 0x0072ED00 | 183 | CTriangleShotEffect__ctor | Constructor for CTriangleShotEffect (vtable PTR_LAB_01119aac). Calls CEffectAura base ctor with ID -1, zeroes 9 element/state fields at offsets 0xDC-0xFC and field 0x50. Object size 0x100 bytes. |
| 0x0072EDC0 | 71 | CTriangleShotEffect__dtor | Destructor for CTriangleShotEffect. Sets vtable and calls base class destructor. |
| 0x0072EE10 | 99 | CTriangleShotEffect__scalar_deleting_dtor | Scalar deleting destructor for CTriangleShotEffect. Calls destructor and optionally frees memory (0x100 bytes). |
| 0x0072EE90 | 1053 | CTriangleShotEffect__Initialize | Initializes triangle shot projectile effect. Saves source position, calculates direction vector to target, normalizes it, handles mineffect option for reduced visual effects. Sets up the effect string ("new_triangleshot" or "mineffect\new_triangleshot"). Calculates initial heading angle for the projectile. |
| 0x0072F2E0 | 204 | CTriangleShotEffect__UpdatePosition | Updates projectile position each frame. Decrements delay timer if positive, otherwise advances position along trajectory using velocity vector * frame count. Updates both effect and entity coordinates. |
| 0x0072F3B0 | 178 | CTriangleShotEffect__SetEntityPosition | Sets entity position based on current trajectory calculation. Updates effect position, source position, and entity position from velocity * frame count + origin. |
| 0x0072F4A0 | 43 | CTriangleShotEffect__GetProjectileTimer | Gets the projectile timer value from the associated effect entity. Reads field at offset 0xD0+0x98. |
| 0x0072F4D0 | 16 | CTriangleShotEffect__SetDelay | Sets the delay value at offset 0xD4 in the triangle shot effect. |
| 0x0072F4E0 | 116 | CProjectileEffect__constructor | Constructor for CProjectileEffect. Calls base constructor, sets vtable, initializes vector fields (0x33-0x35) to zero. Object size 0xD8. |
| 0x0072F560 | 95 | CProjectileEffect__destructor | Destructor for CProjectileEffect. Sets vtable, deallocates internal vector, then calls base destructor. |
| 0x0072F5C0 | 119 | CProjectileEffect__scalar_deleting_destructor | Scalar deleting destructor for CProjectileEffect. Calls destructor and optionally frees memory (0xD8 bytes). |
| 0x0072F640 | 1106 | CProjectileEffect__SpawnAllBloomEffect | Spawns "allbloom" visual effect with random variation (2 variants). Creates 3D effect entities, loads "allbloom_bomb" effect strings, plays "AG_ALL_BLOOM.wav" sound. Pushes sub-effect handles into the effect vector at 0xD0. |
| 0x0072FAA0 | 249 | CProjectileEffect__SpawnViolentQuakeEffect | Spawns "violentquake" visual effect with random variant (1-3). Creates 3D effect, sets vertical offset -8.0f, plays "AG_VIOLENT_QUAKE.wav" sound. Pushes sub-effect into the vector at 0xD0. |
| 0x0072FBA0 | 63 | CProjectileEffect__DestroyAllSubEffects | Iterates through sub-effect vector (0xCC-0xD0), destroys each sub-effect, then resets the vector size to empty. |
| 0x0072FBE0 | 278 | CProjectileEffect__SpawnEffectBySkillId | Spawns sub-effects based on skill ID. 0x6E0 = Violent Quake effect, 0x706 = All Bloom effect. Dispatches to the appropriate spawn function. |
| 0x0072FD60 | 549 | CProjectileEffect__UpdateSubEffectPositions | Updates all sub-effect positions. For each sub-effect in the vector, transforms position from local space to world space using the view matrix, then applies a second matrix transformation for final positioning. |
| 0x0072FF90 | 510 | CProjectileEffect__TransformSubEffectPosition | Transforms a single sub-effect's position from local to world space. Applies view matrix (4x3) transformation on the effect position plus offset, then a second matrix pass for final coordinates. |
| 0x00730190 | 69 | CProjectileEffect__UpdateAllSubEffectTimers | Iterates through all sub-effects in vector (0xCC-0xD0) and updates their timers via the render system. |
| 0x007301E0 | 43 | CProjectileEffect__UpdateSubEffectTimer | Updates a single sub-effect's timer via the render system. Guard checks param is non-null. |
| 0x00732980 | 242 | CAsyncWorkThread__ctor | Constructor for CAsyncWorkThread. Calls CNetworkSession constructor, sets up thread with name "AsyncWorkThread", initializes CMessageQueue, stores socket manager parameters, and registers the socket. Object combines CThread, CMessageQueue, and network session functionality. |
| 0x00732A80 | 153 | CAsyncWorkThread__dtor | Destructor for CAsyncWorkThread. Sets vtables, unregisters socket from CSocketManager, destroys CMessageQueue, CThread, and CNetworkSession in order. |
| 0x00732B40 | 174 | CAsyncWorkThread__scalar_deleting_dtor | Scalar deleting destructor for CAsyncWorkThread. Calls full destructor, then optionally frees the 0x7C-byte object. |
| 0x00732C40 | 12 | CAsyncWorkThread__enqueue_message | Thin wrapper that forwards to CMessageQueue::Enqueue to post a message to the async work thread. |
| 0x00732C50 | 8 | thunk_to_CThread__Start | Simple thunk that calls CThread::Start and returns |
| 0x00732C60 | 8 | thunk_to_CThread__Stop | Wrapper that calls CThread::Stop and returns |
| 0x00732C70 | 230 | CAsyncWorkThread__thread_proc | Main thread procedure for CAsyncWorkThread. Waits on either a quit event or the effect manager semaphore. On semaphore signal, processes pending effects, executes work via virtual call, and routes results back to the effect queue or front of the manager. Exits when receiving message 0x50000 with type 1. |
| 0x00734470 | 212 | log_format_to_thread_buffer | Formats a message using vsprintf into the per-thread log buffer (0x800 bytes). Uses a thread-safe singleton CLoggerMap with lazy initialization and atexit cleanup. The formatted string is stored in the thread's buffer for later retrieval. |
| 0x00734550 | 209 | log_ip_address_to_thread_buffer | Converts a sockaddr_in IP address to string via inet_ntoa and stores it in the per-thread log buffer. Uses a separate singleton CLoggerMap instance for IP address logging. |
| 0x00734630 | 228 | log_string_pair_to_thread_buffer | Formats two std::string parameters and an integer into the per-thread log buffer as "%s %s %d". Uses a separate singleton CLoggerMap instance. Handles SSO (small string optimization) for the std::string parameters. |
| 0x00734C10 | 205 | get_local_ip_address | Gets local machine IP address. Uses gethostname + gethostbyname. param_1=0: returns first private IP, param_1=1: returns first public IP. Returns 0 on failure. |
| 0x00734CE0 | 1013 | is_private_ip_address | Checks if an IP address is in a private range. Checks 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16 ranges. Returns 1 if private, 0 if public. Converts IP to host byte order for comparison. |
| 0x007352B0 | 98 | CNetworkAddress__SetFromString | Sets network address from an STL string. Calls inet_addr on the string buffer and stores the result at offset 4. |
| 0x00735530 | 103 | CSocketTree__FreeNodes | Recursively frees nodes in a socket BST. Traverses right subtree, frees current node (0x18 bytes), moves to left child. |
| 0x00735690 | 67 | CSocketTree__FreeRoot | Frees the root node of the socket tree (0x18 bytes) if non-null. |
| 0x007356E0 | 111 | CSocketTree__FreeAll | Frees all nodes in the socket BST, then frees the header node. |
| 0x00735760 | 78 | CSocketTree__destructor | Destructor for CSocketTree. Frees root node if present. |
| 0x007357B0 | 78 | CSocketTree__destructor2 | Destructor variant 2 for CSocketTree. Frees root node if present. |
| 0x00735800 | 65 | CSocketTree__FreeAll_wrapper | Wrapper that calls CSocketTree__FreeAll to free all tree nodes. |
| 0x00735D00 | 704 | BST_erase_and_rebalance | BST node erasure with red-black tree rebalancing. Standard RB-tree erase operation. |
| 0x007361D0 | 84 | BST_rotate_left | BST left rotation. Standard red-black tree left rotation of param_2 node. Updates parent, child, and root pointers. |
| 0x00736230 | 88 | BST_rotate_right | BST right rotation. Standard red-black tree right rotation of param_2 node. Updates parent, child, and root pointers. |
| 0x00736740 | 400 | CCircularBuffer__Grow | Grows the circular buffer capacity. Allocates new slot pointer array, copies existing entries. |
| 0x007368E0 | 182 | CCircularBuffer__FreeAll | Frees all entries in the circular buffer. Decrements count to zero, frees each slot entry (12 bytes), then frees the slot pointer array. |
| 0x00736A10 | 275 | CHashMap__Find | Finds an entry in the hash map by string key. Computes FNV-1a hash, then applies a linear congruential step. Looks up the bucket, traverses the linked list comparing keys with STL string comparison. Returns iterator pointing to found node or end. |
| 0x00736B30 | 201 | CHashMap__constructor | Constructor for CHashMap. Sets vtable, allocates sentinel node (0x24 bytes), initializes with 16 buckets, load factor 1.0f, max bucket count 7/8. Calls resize to initialize bucket array. |
| 0x00736C00 | 87 | CHashMap__Clear_variant1 | Clears the hash map variant 1. Frees bucket array and all linked nodes. |
| 0x00736CF0 | 87 | CHashMap__Clear_variant2 | Clears the hash map variant 2. Frees bucket array and all linked nodes. |
| 0x00736D50 | 131 | CHashMap__FreeAllNodes | Frees all nodes in the hash map's linked list. Traverses from head, destroys each string key, frees each node (0x24 bytes), then frees the sentinel. |
| 0x00736DE0 | 106 | CHashMap__destructor | Destructor for CHashMap. Sets vtable, frees bucket array, frees all linked list nodes. |
| 0x00736E50 | 131 | CHashMap__scalar_deleting_destructor | Scalar deleting destructor for CHashMap. Calls destructor and optionally frees memory (0x2C bytes). |
| 0x00736EE0 | 117 | CHashMap__LookupAndCreate | Looks up a key in the hash map. If found, calls the factory function stored in the node's value to create/return the resource. Returns 0 if not found. Used for effect resource lookup by name. |
| 0x00736F60 | 116 | CHashMap__ReleaseEntry | Releases a hash map entry. Looks up key, if found calls the release method (vtable+4) on the stored value object. |
| 0x00736FE0 | 320 | CHashMap__Resize | Resizes the hash map's internal bucket vector. If new size is larger, allocates new aligned buffer, copies existing data, frees old buffer. Fills all slots with param_3 (sentinel pointer). If new size equals or is smaller, just fills existing slots with param_3. Used during initialization and rehash. |
| 0x00737130 | 32 | CScopedLock__constructor | Constructor for CScopedLock (RAII lock guard). Sets vtable, stores CRITICAL_SECTION pointer, calls EnterCriticalSection. |
| 0x00737150 | 64 | CScopedLock__destructor | Destructor for CScopedLock. Sets vtable and calls LeaveCriticalSection. |
| 0x007371A0 | 89 | CScopedLock__scalar_deleting_destructor | Scalar deleting destructor for CScopedLock. Leaves critical section and optionally frees memory (8 bytes). |
| 0x00737200 | 135 | CThread__constructor | Constructor for CThread. Sets vtable, copies thread name string, initializes state to 0, handle to null, enabled flag to 1. |
| 0x00737290 | 170 | CThread__destructor | Destructor for CThread. Handles thread cleanup based on state: state 2 (suspended) = resume then stop, state 1 (running) = call virtual stop method + WaitForSingleObject(3000ms), state 3 (stopped) = close handle. Frees thread name string. |
| 0x00737350 | 121 | CThread__scalar_deleting_destructor | Scalar deleting destructor for CThread. Same cleanup as destructor, optionally frees memory (0x2C bytes). |
| 0x00737420 | 94 | CThread__Start | Starts the thread. Creates thread via _beginthreadex with FUN_007375c0 as entry point, suspended initially, then immediately resumes it. Sets state to 1 (running). Calls thread name setter. Returns 1 on success, 0 if already running or creation failed. |
| 0x00737480 | 90 | CThread__Stop | Stops the thread. State 2 = resume first, state 1 = call virtual stop method + wait 3s, state 3 = close handle. Sets state to 0 when done. |
| 0x007374F0 | 32 | CThread__Resume | Resumes a suspended thread. If state is 2 (suspended), calls ResumeThread and sets state to 1 (running). |
| 0x00737510 | 130 | set_thread_name_via_exception | Sets thread name using the RaiseException trick (exception code 0x406D1388 = MS VC thread naming). Passes thread ID and name string to the debugger. |
| 0x007375A0 | 32 | CThread__Suspend | Suspends the thread. If state is 1 (running), calls SuspendThread and sets state to 2 (suspended). |
| 0x007375C0 | 26 | CThread__ThreadProc | Thread entry point (passed to _beginthreadex). Calls the virtual Run method (vtable+4), then sets thread state to 3 (stopped). |
| 0x00737840 | 102 | CLinkedList__FreeAll | Frees all nodes in a linked list. Disconnects head/tail pointers, then walks the list freeing each node (0xC bytes). |
| 0x00737A30 | 30 | trivial_scalar_deleting_destructor | Trivial scalar deleting destructor. Optionally frees 4 bytes. Used for simple objects. |
| 0x00738100 | 465 | CUIWindow__vector_grow_12byte | Grows a vector of 12-byte elements. Allocates new buffer with 1.5x growth factor, copies existing elements, fills new slots with zero via zero_fill_12byte_array, frees old buffer. Used by CUIWindow for control descriptor arrays. |
| 0x007382E0 | 285 | CUIWindow__ctor | Constructor for CUIWindow. Calls UIWindowBase__ctor, sets vtable, stores 3 constructor params at offsets 0x2D-0x2F, copies two STL strings (title/name), initializes additional fields from stack params. Object size 0x124 bytes. |
| 0x00738400 | 150 | CUIWindow__clear_vector_12byte | Clears and deallocates a vector of 12-byte elements. Frees aligned memory if size > 0xFFF, then zeros the 3 vector fields (begin, end, capacity). |
| 0x007384A0 | 87 | cleanup_two_strings | Cleanup function that destroys two STL strings in sequence. |
| 0x00738500 | 136 | CUIWindow__dtor | CUIWindow destructor. Resets vtable pointer, clears 12-byte vector, destroys two STL strings, then calls UIWindowBase::dtor() for base class cleanup. |
| 0x00738590 | 160 | CUIWindow__scalar_deleting_dtor_00738590 | CUIWindow scalar deleting destructor. Destroys vtable, clears 12-byte vector, destroys two STL strings, calls UIWindowBase::dtor(), then optionally frees memory (size 0x124). |
| 0x00738630 | 15 | CUIWindow__VirtualDispatch | Dispatches to a virtual method on the child window object (offset 0x104). Calls vtable method at offset 0x10. |
| 0x00738640 | 338 | CUIWindow__OnCreate | CUIWindow OnCreate handler. Resizes internal vector to exactly 2 entries of 12 bytes each, sets control descriptors: entry 0 = (5, 5, 0x22), entry 1 = (4, 1, 0x1B). If child widget at offset 0x104 is null, creates a UIThemedWidget (size 0xB0), sets its size to (0x3C, 5) and position to (0x36, 0x19), then adds it to child list. |
| 0x007387A0 | 1339 | CUIWindow__draw_party_member | Draws a party member entry in the party UI window. Loads job icon sprite (alive or dead variant), draws party crown for leader, formats and truncates member name with level, draws HP bar if member data exists, and shows online/offline/self status icon. Uses "renewalparty" resource path prefix. References: sicon_jobs, sico_partyCrown, sicon_party_me/on/off BMPs. |
| 0x00738CE0 | 54 | CUIWindow__OnItemRightClick | Handles right-click on an item in a UI window. Checks if action 0x22 is allowed, then calls CItemList::OnRightClick with adjusted coordinates (adding window origin) and the item data. |
| 0x00738D20 | 28 | CUIWindow__DestroyChildWindow | Destroys the child window at offset 0x104. Calls the destroy function with delete flag 1, then nulls the pointer. |
| 0x00738D50 | 25 | CUIWindow__SetScrollRange | Sets the scroll range for the UI window. Stores horizontal range at 0x10C and vertical range at 0x110. |
| 0x00738D70 | 3 | identity_return_0x738d70 | Identity function - returns param_1 unchanged. Likely a no-op virtual method. |
| 0x00738D80 | 49 | zero_fill_12byte_array | Zero-fills an array of 12-byte elements. Returns pointer past the end of the filled region. |
| 0x00739BF0 | 139 | CItemEntry__ConstructFromString | Constructs an ItemEntry from a C string and a value. Initializes embedded STL string at offset 0, copies param_2 string via strlen + STL assign, stores param_3 at member offset 0x18 (index 6). |
| 0x0073A030 | 65 | CItemEntry__DestroyString | Destroys the embedded STL string in a single ItemEntry. |
| 0x0073FFC0 | 204 | UIContextMenuWnd__constructor | Constructor for UIContextMenuWnd. Calls base window constructor (type 0), sets vtable. Initializes menu entry vector (0x2D-0x31) and clears existing string entries. |
| 0x00740090 | 95 | UIContextMenuWnd__destructor | Destructor for UIContextMenuWnd. Sets vtable, clears and frees the item entry vector, calls base class destructor. |
| 0x007400F0 | 119 | UIContextMenuWnd__scalar_deleting_destructor | Scalar deleting destructor for UIContextMenuWnd. Calls destructor and optionally frees memory (200 bytes). |
| 0x00740170 | 209 | UIContextMenuWnd__GetTargetInfo | Gets target entity info for the context menu. Copies fields from offsets 0xB4-0x104 including entity ID, position, two strings (name, guild?), and additional data. |
| 0x00740250 | 174 | UIContextMenuWnd__CreateTooltipWidget | Creates a tooltip widget (UIThemedWidget) for the context menu if not already created. Allocates 0xB0 bytes, initializes it, sets position and size (0x23, 0x17), attaches to the window. |
| 0x00740300 | 2169 | UIContextMenuWnd__SetupMenu | Sets up the visual display of the context menu. Loads and draws the target entity's job icon sprite (alive or dead variant). If not a pet, draws a party crown sprite. Positions tooltip widget. Formats and draws the target's display name with level and guild info, truncated to fit the menu width. Colors text gray (0xAAAAAA) for dead targets, white (0xFFFFFF) for alive. |
| 0x00740B80 | 396 | UIContextMenuWnd__OnPaint | OnPaint handler for UIContextMenuWnd. If not in use-item tab mode (DAT_017381a8 == 0), draws the base window via child at offset 0xC4. Then checks if target entity exists and is alive (field 0x40 == 0). If target is dead, triggers attack click on entity via CGameMode__handle_attack_click_on_entity. |
| 0x00740D10 | 47 | UIContextMenuWnd__OnUpdate | OnUpdate handler for UIContextMenuWnd. If not in certain state (DAT_017381a8 != 1), checks if self equals current active window and dispatches virtual method on child window at offset 0xC4. |
| 0x00740D40 | 1337 | UIContextMenuWnd__OnMessage | OnMessage handler for UIContextMenuWnd. Formats and displays entity info text (name, level, guild) with truncation. Compares the truncated display name against the full name to determine if a tooltip should be shown. If truncated, shows tooltip at offset position. Builds formatted string differently for mode 1 (just name) vs default (Lv.X Name Guild). |
| 0x007412A0 | 149 | UIContextMenuWnd__OnCommand | Main command handler for the right-click context menu. Handles many actions: 0x22=inspect entity, 0xE7=copy name, 0xE8=whisper, 0xE9=party invite, 0xEA=trade request, 0xEB=block, 0xEC=unblock. Case 0x17=show entity info. Case 0x30/0x31=build and show context menu entries. Builds menu dynamically based on target type (player, guild member, etc). |
| 0x007426F0 | 495 | UIPartyMemberWnd__constructor | Constructor for UIPartyMemberWnd. Calls UIWindowBase__ctor(1), sets vtable. Initializes two SSO strings (name/guild), window type 0x12D, slot fields, and background texture path "renewalparty_img_partymini_bg_t" (48 chars). This is the compact party member display window. |
| 0x007428E0 | 103 | CLinkedList__FreeAll_14byte | Frees all nodes in a linked list with 0x14 byte nodes. |
| 0x00742950 | 151 | UIPartyMemberWnd__destructor | Destructor for UIPartyMemberWnd. Sets vtable, destroys name/guild SSO strings, frees the size breakpoint vector, then calls UIWindowBase__dtor. |
| 0x007429F0 | 175 | UIPartyMemberWnd__scalar_deleting_destructor | Scalar deleting destructor for UIPartyMemberWnd. Calls destructor logic and optionally frees 0x138 bytes. |
| 0x00742AA0 | 19 | UIPartyMemberWnd__SetOrigin | Sets the origin position (x at 0x1C, y at 0x20) for a UIPartyMemberWnd. |
| 0x00742AC0 | 284 | UIPartyMemberWnd__OnCreate | OnCreate handler for UIPartyMemberWnd. Allocates and attaches a UIContextMenuWnd (200 bytes) as child at offset 0x108 for right-click context menus. Sets initial size 0xAE x 0x34. Ensures width breakpoint vector at 0x114 has 3 entries (0xAE, 0x65, 0x40). |
| 0x00742BE0 | 403 | UIPartyMemberWnd__OnPaint | OnPaint handler for UIPartyMemberWnd. Draws party member slots by iterating 1-3 times (based on party mode). For each slot, copies the background texture name string and renders a textured quad via CRenderQueue__DrawTexturedQuadByName. |
| 0x00742D80 | 137 | UIPartyMemberWnd__OnUpdate | OnUpdate handler for UIPartyMemberWnd. Updates focus order, computes absolute screen position via parent offset accumulation, stores origin/position/timestamp. Calls CNavigatorWnd__refresh_dependent_windows to update linked displays. |
| 0x00742E10 | 527 | UIPartyMemberWnd__OnMessage | OnMessage handler for UIPartyMemberWnd. Handles entity selection (msg 0x22): finds party member slot at click position via CUIElement__FindChild. For existing members, copies entity data (ID, name, guild strings). For new slots, creates CUIElement. Shows error dialog for out-of-range. Ends with footer bar draw and cell position update. |
| 0x00743020 | 265 | UIPartyMemberWnd__OnCommand | OnCommand handler for UIPartyMemberWnd. Manages display size modes (0=full/0xAE, 1=medium, 2=compact). Each mode uses different width from breakpoint vector and different background texture. Updates background string, repositions child toggle widget at offset 0x43. |
| 0x00743130 | 127 | UIPartyMemberWnd__OnMessage_Main | Main message handler for UIPartyMemberWnd. Large switch handler: msg 6/0x22 (inspect entity via context menu with map lookup), msg 0xE/7 (resize with 3 width breakpoints - updates all party member sub-windows), msg 0x17 (party member data update - copies entity info, strings, position), msg 0x30/0x31 (forwards to context menu at 0x108). |
| 0x00743650 | 36 | CUICallback__scalar_deleting_destructor | Scalar deleting destructor for CUICallback. Sets vtable and optionally frees memory (8 bytes). |
| 0x00745390 | 25 | zero_fill_dword_array | Zero-fills an array of param_2 DWORDs starting at param_1. |
| 0x007453B0 | 28 | is_null_pointer | Returns 1 if the value at *param_1 is 0 (null pointer check), 0 otherwise. |
| 0x00746080 | 194 | CSkillTreeNode__move_ctor | Move constructor for CSkillTreeNode (0x44 bytes / 17 dwords). Copies all fields from source, then zeroes the source's vector fields (offsets 0x20-0x28 and 0x34-0x3C) to transfer ownership of dynamically allocated data. |
| 0x00746150 | 111 | CSkillTreeNode__Init | Initializes a CSkillTreeNode. Zeros out 6 fields at offsets 0x20-0x3C (child pointers and connection data). |
| 0x00746A70 | 172 | CTokenizer__operator_index | CTokenizer operator[] - returns pointer to token at index param_2 (0x18-byte elements). On out-of-bounds, logs an error "Error in CTokenizer::operator[]" and dumps all tokens, then returns element 0. |
| 0x00746BF0 | 39 | CTokenizer__scalar_deleting_dtor | Scalar deleting destructor for CTokenizer. Sets vtable, optionally frees the 0x110-byte object. |
| 0x00747660 | 1 | identity_return_ecx_00747660 | Identity function that returns its input parameter unchanged |
| 0x00747E60 | 348 | CStringStreamBuf__overflow | streambuf overflow handler. If buffer has space, writes char via _Pninc. Otherwise, if output mode (0x4), grows buffer (2x growth, min 0x20, max 0x7FFFFFFF), copies old data, frees old buffer if owned (flag bit 0), and writes the char. |
| 0x00747FC0 | 94 | CStringStreamBuf__pbackfail | streambuf pbackfail handler. Handles putback of characters. If -1 (EOF), just decrements get pointer. Otherwise checks mode bits: if not readonly (bit 1 clear), overwrites char; if readonly, only succeeds if char matches existing. |
| 0x00748140 | 420 | CStringStreamBuf__seekoff | streambuf seekoff implementation. Handles seek from beginning (0), current (1), or end (2). Updates get and/or put pointers based on param_6 flags (bit 0 = get, bit 1 = put). Validates seek position against buffer bounds. Returns new position or -1/-1 on failure. |
| 0x007482F0 | 204 | CStringStreamBuf__seekpos | streambuf seekpos implementation. Seeks to absolute position (param_3 + param_5). Updates get/put pointers based on param_9 flags. Validates against buffer bounds. |
| 0x007483C0 | 70 | CStringStreamBuf__underflow | streambuf underflow handler. Returns the current character without advancing get pointer. Updates available count from put pointer if get area is exhausted but put pointer has advanced. |
| 0x0074A3B0 | 66 | CTokenizer__init_vtable | Initializes base class vtable pointer to PTR_CTokenizer_0111aabc with SEH frame setup. Simple constructor/initialization helper for the CTokenizer base class. |
| 0x0074A840 | 690 | lzw_decode | LZW decompression algorithm. param_1=initial code size, param_2=compressed data, param_3=compressed data length, param_4=output buffer. Uses a dictionary table with 12-entry structs (char, parent index, length). Handles clear codes and end-of-information codes. Max code size capped at 12 bits. Returns decompressed data length or -1 on error. |
| 0x0074C920 | 44 | copy_frame_entries | Copy frame entries, small utility function |
| 0x0074C950 | 45 | relocate_frame_entries | Relocates pairs of dwords (8-byte frame entries) from [param_1, param_2) to offset param_3. Used for vector insertion/relocation of sprite frame data. |
| 0x0074CEE0 | 263 | CAniClip__CreateNew | Factory function: allocates a new CAniClip object (0xD350 bytes), calls constructor, sets vtable to PTR_FUN_0111ae3c. Initializes array of 0x3C animation clip entries using _eh_vector_constructor_iterator_. Initializes JSON-related fields at +0x34c9 and a string field. Returns new object or NULL. |
| 0x0074CFF0 | 804 | CAniClip__LoadFromFile | Loads animation clip data from a .ani file. Reads header (magic, version 0x94), dimensions, frame count. For each frame, reads bone count, loads bone data (0x80 bytes each via CBuffer), then reads key count and key data (0x7C * count). On file not found, shows "Str: Cannot find File:" error. On version mismatch, shows "LoadAniClip: Version is incorrect". Returns 1 on success, 0 on failure. |
| 0x0074D330 | 38 | CAniClip__scalar_deleting_destructor | Scalar deleting destructor for CAniClip. Calls destructor FUN_0074d6f0, optionally frees 0xD350 bytes if param_2 bit 0 set. |
| 0x0074D360 | 25 | memzero_dwords | Zeros memory by dword count. Calls memset(param_1, 0, param_2 * 4). |
| 0x0074D380 | 25 | memzero_dwords_2 | Zeros memory by dword count. Identical to memzero_dwords - calls memset(param_1, 0, param_2 * 4). Likely a duplicate or inline expansion. |
| 0x0074D3A0 | 28 | is_null_check | Returns 1 if the dword pointed to by param_1 is zero, 0 otherwise. Simple null/zero check predicate. |
| 0x0074D3C0 | 28 | is_null_check_2 | Returns 1 if the dword pointed to by param_1 is zero, 0 otherwise. Duplicate of is_null_check. |
| 0x0074D3E0 | 143 | format_float_fixed | Formats a float value to fixed notation string using charconv. Takes output buffer params and a float pointer (param_4). Sets up format descriptor (0xB0000000) and calls charconv__format_fixed_notation. |
| 0x0074D470 | 170 | format_string_and_float | Formats a string (param_4, STL string) and float (param_5) to output buffer using charconv. Sets up two format descriptors (0xC0000000 for string, 0xB0000008 for float). Handles SSO string (checks capacity at param_4[5] for small buffer optimization). |
| 0x0074D520 | 75 | build_string_float_descriptor | Builds a format descriptor array for a string + float pair. Sets up type tags (0xC0000000 for string, 0xB0000008 for float), copies string data pointer (handling SSO), length, and float value into the descriptor struct at param_1. |
| 0x0074D570 | 207 | CAniClip__constructor | CAniClip constructor. Calls base constructor, sets vtable, initializes 0x3C animation clip entry slots via _eh_vector_constructor_iterator_ (each 0x380 bytes). Initializes JSON vtable at +0x34c9, animation index at +0x34ca to -1, and zeroes remaining fields. String at +0x34ce initialized as empty SSO. |
| 0x0074D640 | 169 | CAniClipEntry__constructor | Constructor for individual animation clip entry (0x380 bytes). Zeros first 4 dwords, fills 0x6E dwords at offset +0x10 with "1_bmp" string pattern data, then zeros remaining 0x1B8 bytes at +0x1C8. |
| 0x0074D6F0 | 157 | CAniClip__destructor | CAniClip destructor. Resets JSON vtable at +0x34c9, closes file stream, destroys STL string, then destroys all 0x3C clip entries via _eh_vector_destructor_iterator_ (each 0x380 bytes). Resets base vtable to PTR_FUN_0111aabc. |
| 0x0074D790 | 87 | CAniClipEntry__destructor | Destructor for individual animation clip entry. Iterates over pointers at +0x1C8 through +0x380 (offsets within the entry), releasing any non-null resources via stub_005724e0. |
| 0x0074D7F0 | 81 | CAniClip__DestroyEntryArray | Destroys the array of animation clip entries at offset +0x48 via _eh_vector_destructor_iterator_. Each entry is 0x380 bytes, 0x3C entries total. |
| 0x0074D850 | 333 | CAniClip__GetFrameTexture | Gets or lazily loads the texture for animation frame index param_2. If texture at [param_2 + 0x72] is not yet loaded, formats filename as "effect/{float}" using the float at [param_2 + 4], finds the file extension, loads the texture via stub_005717a0, and caches at [param_2 + 0x72]. Returns texture pointer or calls stub_00571790 if index out of bounds. |
| 0x0074D9A0 | 365 | CAniClip__GetFrameTextureByName | Gets or lazily loads the texture for animation frame param_2 using a string name param_3. Formats filename as "effect/{string}/{float}" using the string and float from the clip data. Caches loaded texture at [param_2 + 0x72]. Returns texture pointer or calls stub_00571790 if out of bounds. |
| 0x0074ED50 | 1 | identity_return_ecx_0074ed50 | Identity function that returns its input parameter unchanged |
| 0x0074F0A0 | 233 | CSkillTreeData__create | Factory function that creates a CSkillTreeData object (0x19B8 bytes). Allocates memory, calls base constructor, sets vtable, zeroes out 15 skill category arrays (0x68 DWORDs each) and header fields. |
| 0x0074F190 | 1839 | CSkillTreeData__load_from_file | Loads skill tree data from a binary file. Reads a version float, skill count, then for each skill reads prerequisites as three parallel int vectors (skill IDs, levels, types). Builds the internal 0x24-byte skill tree entries. Each skill has an array of prerequisite data stored in three vectors. Returns 1 on success, 0 on failure. |
| 0x0074F8C0 | 112 | CSkillTreeData__scalar_deleting_dtor | Scalar deleting destructor for CSkillTreeData. Calls cleanup, sets base vtable, optionally frees the 0x19B8-byte object. |
| 0x0074FF00 | 113 | CSkillTreeEntry__copy_construct | Copy-constructs a 0x24-byte CSkillTreeEntry at param_2. Has 3 sub-vectors at offsets 0, 0xC, 0x18, each copy-constructed from the source. |
| 0x007500B0 | 171 | CSkillTreeData__ctor | Constructor for CSkillTreeData. Calls base constructor, sets vtable, zeroes 15 skill category arrays (0x68 DWORDs each) and header fields. Object is 0x19B8 bytes. |
| 0x00750160 | 198 | CSkillTreeEntry__move_construct | Move-constructs a 0x24-byte CSkillTreeEntry. Moves 3 sub-vectors (each 3 DWORDs: begin, end, capacity) from source to destination, zeroing the source. |
| 0x00750360 | 98 | CSkillTreeEntry__destroy_single | Destroys a single 0x24-byte CSkillTreeEntry by calling vector destructors on its 3 sub-vectors. |
| 0x007503D0 | 358 | CSkillTreeData__compute_weighted_sum | Computes a weighted sum across all skill categories. For each category, iterates through entries and their prerequisite vectors, accumulating weights. Uses a positional scaling factor (10^n). Allocates an array of per-category results. Returns total sum. |
| 0x00750550 | 139 | CSkillTreeData__find_entry_index | Finds the index of a skill entry by searching for a specific category (param_2), tree index (param_3), and prerequisite index (param_4). Validates bounds before searching. Returns -1 if not found. |
| 0x007505E0 | 113 | CSkillTreeData__get_max_prereq_count | Returns the maximum prerequisite count across all entries in a skill category (param_2). Iterates all entries and finds the one with the most prerequisites. |
| 0x00750660 | 43 | CSkillTreeData__get_entry_count | Returns the number of 0x24-byte entries in skill category param_2. |
| 0x007506B0 | 43 | CSkillTreeData__get_prereq_count | Returns the number of prerequisites for entry param_3 in skill category param_2. |
| 0x007506E0 | 63 | CSkillTreeData__get_prereq_data | Gets prerequisite data at index param_5 for entry param_4 in category param_3. Returns the prerequisite skill ID and type in param_2 (2 DWORDs) from the first and third sub-vectors. |
| 0x00750720 | 39 | CSkillTreeData__get_prereq_skill_id | Returns the prerequisite skill ID at index param_4 for entry param_3 in category param_2. Reads from the first sub-vector. |
| 0x00750750 | 22 | CSkillTreeData__destroy_range_wrapper | Thin wrapper that forwards to destroy_range_0x24_skill_entries with this pointer. |
| 0x00753E50 | 1026 | CRsmFace__insertion_sort | Insertion sort for small ranges of 0x20-byte face elements. Called from introsort when range is <= 32 elements. |
| 0x00754260 | 404 | CRsmFace__make_heap | Builds a max-heap from a range of 0x20-byte face elements. Iterates from last to first, deep-copying face data including the adjacency vector, then sifting down. |
| 0x00754400 | 262 | CRsmFace__sort_three | Sorts three face elements (median-of-three) by their face group index (ushort at offset +0xC). Used as pivot selection for introsort. |
| 0x00754510 | 1082 | CRsmFace__partition | Partition operation for introsort of 0x20-byte face elements. Selects pivot and partitions the range. |
| 0x00754950 | 495 | CRsmFace__sift_down | Sift-down operation for a heap of 0x20-byte face elements. Copies the 0x1A-byte face header and adjacency vector during swaps. Compares by face group index at offset +0xC. |
| 0x00754B40 | 319 | CRsmFace__introsort | Introsort implementation for 0x20-byte face elements. Switches to insertion sort for small ranges (<=32 elements), falls back to heapsort when recursion depth is exhausted. Uses median-of-three pivot selection. |
| 0x00755790 | 238 | CRsmFace__copy_construct | Copy-constructs a CRsmFace (0x20 bytes). Copies the 0x1A-byte header directly, then deep-copies the adjacency int vector from the source. |
| 0x00755880 | 83 | CRsmFace__init_vector_fields | Initializes the vector fields (begin, end, capacity) of a CRsmFace to zero at offset +0x14. |
| 0x00756680 | 34 | CRsmFace__FreePairBuffers | Frees two buffer pointers in an 8-byte RSM face structure (vertex index array and UV array). |
| 0x00756DD0 | 158 | CRsmFaceGroup__CopyAssign | Copy assignment for an RSM face group structure. Copies header fields (shorts/ints), then copies the vertex index vector data with potential reallocation if destination capacity is insufficient. |
| 0x00756E70 | 160 | CRsmTextureName__deleting_destructor | Deleting destructor for RSM texture name entries (0x18 bytes each with embedded STL string). Handles both single and array destruction (bit 1 of param_2). Uses _eh_vector_destructor_iterator_ for arrays. |
| 0x00756F20 | 181 | CRsmFace__deleting_destructor | Deleting destructor for RSM face entries (8 bytes each). Handles single/array. Uses CRsmFace__FreePairBuffers for element cleanup, _eh_vector_destructor_iterator_ for array destruction. |
| 0x00756FE0 | 170 | CRsmFaceGroup__deleting_destructor | Deleting destructor for RSM face groups (0x20 bytes each). Handles single/array using _eh_vector_destructor_iterator_. |
| 0x00759330 | 32 | granny_free_control | Deactivates and frees a Granny3D animation control. Calls GrannySetControlActive(ctrl, false) then GrannyFreeControl(ctrl). No-op if param_1 is null. |
| 0x007598B0 | 779 | load_granny_gr2_file | Loads a Granny .gr2 file from disk. Builds path as "{param_1}/{param_2}.gr2", opens file stream, reads entire file from memory via GrannyReadEntireFileFromMemory. Shows "Cannot find File" error if file not found. Returns Granny file handle or 0. |
| 0x00759BC0 | 779 | load_granny_gr2_file_alt | Alternative Granny .gr2 file loader. Nearly identical to load_granny_gr2_file but uses a different global buffer (DAT_0144f560 vs DAT_0144f868). Same path format and error handling. |
| 0x0075D050 | 1 | identity_return_ecx_0075d050 | Identity function that returns its input parameter unchanged |
| 0x0075D7D0 | 789 | CPaletteRes__LoadFromFile | Loads a palette resource from a .pal file. Opens the file, reads 0x400 bytes (256 RGBA colors) into offset +0x110, then processes/converts the palette data at +0x510. Shows "CPaletteRes : Cannot find File" error on failure. Returns 1 on success, 0 on failure. |
| 0x0075DBD0 | 46 | CPaletteRes__GetPaletteData | Copies palette data to output buffer. Writes "PAL data" header then copies 256 RGBA entries (0x400 bytes) from offset +0x110 to the output buffer. |
| 0x0075FE30 | 88 | CSprFrame__Init | Initializes a sprite frame structure with 9 fields: sets dimensions, positions, and type from parameters. Zeroes fields 6-8 (runtime state). |
| 0x0075FE90 | 176 | CSprRes__Create | Creates a new CSprRes (sprite resource) object. Allocates 0x52c bytes, initializes base class, sets vtable to PTR_FUN_0111b398, initializes 2 vectors (0xc stride) for indexed and RGBA frame lists, zeroes frame count at +0x14a. |
| 0x0075FF40 | 3018 | CSprRes__LoadFromFile | Loads a sprite (.spr) file. Reads header magic "SP", version, and frame count. For indexed frames (v1.x/2.x): reads pixel data, applies RLE decompression (v2.1+), optional half-resolution downscaling. For RGBA frames (v2.0+): reads ABGR pixel data, byte-swaps to ARGB, creates D3D textures. Stores palette at +0x110. Shows errors for unsupported versions or invalid format. |
| 0x00760B10 | 145 | CSprRes__FreeTextureArrays | Frees two texture arrays (index 0 and 1). For type 0, frees raw data pointers at each entry +0xC. For type 1, releases COM/ref-counted texture objects at +8 via virtual destructor. Frees each 0x10-byte entry and resets array end pointers. |
| 0x00760BB0 | 122 | CSprRes__scalar_deleting_destructor | Scalar deleting destructor for CSprRes. Destroys 2 vector entries (0xC bytes each) at offset +0x510 via _eh_vector_destructor_iterator_, resets base vtable, optionally frees 0x52C bytes. |
| 0x00760F50 | 124 | CSprRes__constructor | CSprRes constructor. Calls base constructor, sets vtable to PTR_CSprRes__ScalarDestructor_0111b398. Initializes 2 vector entries (0xC bytes each) at +0x510 via _eh_vector_constructor_iterator_. Sets +0x528 to 0. |
| 0x00760FE0 | 144 | downsample_image | Downsamples an image buffer by halving dimensions. param_1=source buffer, param_2=width, param_3=height, param_4=halve width flag, param_5=halve height flag. Allocates new buffer with halved dimensions and copies every other pixel/row. Returns pointer to new downsampled buffer. |
| 0x00761070 | 583 | rle_encode_indexed_image | RLE-encodes an indexed (palettized) image. param_1=source pixel data, param_2=width, param_3=height, param_4=output size. Zero pixels are run-length encoded (byte 0 followed by count), non-zero pixels stored literally. Count capped at 0xFE per run. Returns pointer to allocated encoded buffer, sets *param_4 to encoded size. |
| 0x007612C0 | 185 | RLE_decode_to_buffer | Decodes RLE-compressed data into allocated buffer of size width*height |
| 0x00764110 | 25 | zero_fill_int_array | Fills array with zeroes, count is number of 4-byte elements |
| 0x00764220 | 389 | introsort_median_of_three | Median-of-3 or median-of-9 pivot selection for introsort, compares field+4 of elements |
| 0x007643B0 | 402 | introsort_partition | Three-way partition for introsort using median pivot, handles equal elements |
| 0x00764710 | 555 | introsort_impl | Introsort implementation: quicksort with heapsort fallback and insertion sort for small ranges |
| 0x00764940 | 155 | relocate_20byte_elements | Relocates array of 0x14-byte elements, sets vtable for each during copy |
| 0x007649E0 | 50 | construct_20byte_element | Constructs a 0x14-byte element with vtable and 4 field values at destination |
| 0x00764A20 | 158 | format_string_2args | Formats string with 2 integer arguments using charconv format notation |
| 0x00764AC0 | 173 | format_string_3args | Formats string with 3 integer arguments using charconv format notation |
| 0x00764B70 | 63 | build_format_desc_2field | Builds format descriptor with 2 fields for string formatting |
| 0x00764BB0 | 94 | build_format_desc_3field | Builds format descriptor with 3 fields for string formatting |
| 0x00767E60 | 1 | CObject__clear_field14 | CObject: clear field14 |
| 0x0076B590 | 459 | CHashManager__ctor | CHashManager constructor. Sets vtable, initializes critical section, creates CFileReader, opens "RagHash.dat" and reads its contents. Sets active flag if file read succeeds. |
| 0x0076B760 | 89 | CHashManager__dtor | CHashManager destructor. Releases CFileReader (calls virtual destructor with delete), clears pointer, and deletes critical section. |
| 0x0076B7C0 | 110 | CHashManager__scalar_deleting_dtor | CHashManager scalar deleting destructor. Calls dtor logic (release CFileReader, delete critical section), then optionally frees memory (0x24 bytes) if param_2 bit 0 is set. |
| 0x0076B840 | 1 | stub_return_true_0076b840 | Stub return true 0076b840 |
| 0x0076BCB0 | 356 | CHashManager__Initialize | Initializes the hash manager. Creates CFileReader object (0x10 bytes), stores at +8. Opens "RagHash.dat" file, checks file size >= 2, then reads hash table via thunk_00401640. Returns true on success, false if allocation fails, file not found, or too small. |
| 0x0076BE20 | 1 | stub_return_true_0076be20 | Stub return true 0076be20 |
| 0x0076BEC0 | 25 | CHashManager__ReleaseFileReader | Releases the CFileReader at +8 by calling its virtual destructor (param=1 to delete), then nulls the pointer. |
| 0x0076BEE0 | 27 | CHashManager__ReleaseGlobal | Releases the global hash manager singleton at DAT_01450b94. Calls virtual destructor (param=1 to delete) and nulls the global pointer. |
| 0x0076C140 | 90 | CHashEntry__CopyConstruct | Copy-constructs a hash entry at param_2. Sets vtable to PTR_FUN_0111bd24, copies second dword from source param_3+4, then copies the byte vector at param_3+8 via FUN_0076c1a0. |
| 0x0076C240 | 176 | CHashFileSystem__constructor | Constructor for CHashFileSystem (0x50 bytes). Sets vtable to PTR_FUN_0111bd2c, initializes strings, flags, hash buffer pointer (+0xC), and critical section at +0x2C via InitializeCriticalSection. Calls FUN_0076c9d0 to initialize hash data; sets flag at +4 on success. |
| 0x0076C3E0 | 139 | CHashFileSystem__destructor | Destructor for CHashFileSystem. Resets vtable, frees hash buffer at +0xC (via FUN_00e92420 + FUN_00e6227f), calls DeleteCriticalSection on critical section at +0x2C. Destroys entry vector via FUN_0076c320 and string via STL_string_dtor. |
| 0x0076C470 | 74 | CHashEntry__destructor | Destructor for CHashEntry (0x14 bytes). Sets vtable to PTR_FUN_0111bd24, then destroys internal data via STL_lib_func_004f9590. |
| 0x0076C4C0 | 160 | CHashFileSystem__scalar_deleting_destructor | Scalar deleting destructor for CHashFileSystem. Calls destructor (frees hash buffer, critical section, entry vector, string), then optionally frees 0x50 bytes if param_2 bit 0 is set. |
| 0x0076C560 | 99 | CHashEntry__scalar_deleting_destructor | Scalar deleting destructor for CHashEntry. Resets vtable, destroys internal data, optionally frees 0x14 bytes if param_2 bit 0 set. |
| 0x0076C5D0 | 154 | CHashFileSystem__AddEntry | Adds a hash entry to the file system's entry vector at +0x48. Acquires critical section at +0x2C, copies hash entry (vtable, ID, byte vector) into the vector, growing if needed. Releases critical section after. |
| 0x0076C673 | 106 | CHashFileSystem__VerifyHash | Verifies a file hash within the critical section. Acquires mutex at +0x2C, calls FUN_00e92d90 with provided params and the hash buffer at +8. Releases mutex after. |
| 0x0076C9D0 | 906 | CHashFileSystem__InitHashEngine | Initializes the hash/anti-tamper engine. Creates 1-byte allocation, calls FUN_0076cfb0 and FUN_00e929b0 for setup. Reads version via FUN_00e92820 (expects 0x755). Decrypts obfuscated strings using xor_decrypt_buffer (title, message, and search term). If search term not found in DAT_0173ad60, shows MessageBox with decrypted error message and returns 0. On success, registers callback FUN_0076d910 via FUN_00e92e90 and returns 1. |
| 0x0076CE70 | 37 | CHashFileSystem__FreeHashBuffer | Frees the hash buffer at +0xC. Calls FUN_00e92420 for cleanup, then FUN_00e6227f to free memory, and nulls the pointer. |
| 0x0076CEA0 | 27 | CHashFileSystem__ReleaseGlobal | Releases the global CHashFileSystem singleton at DAT_01450b98 by calling its virtual destructor (param=1 to delete) and nulling the pointer. |
| 0x0076CEC0 | 3 | return_zero_0076cec0 | Always returns 0. Trivial stub function. |
| 0x0076CEC3 | 94 | CHashFileSystem__GetFlag | Returns the byte flag at +0x10 within the critical section. Acquires mutex at +0x2C, reads flag, releases mutex, returns the value. |
| 0x0076CF30 | 118 | CHashFileSystem__GetName | Returns the name string at +0x14 within the critical section. Acquires mutex at +0x2C, copies string, releases mutex, returns param_2 (the output buffer). |
| 0x0076CFB0 | 1538 | CHashFileSystem__GetHashFilePath | Determines the hash file path based on DAT_016d3b10 (server type/region). Uses a switch on values 0-7,0xC with different encrypted strings for each case. Decrypts obfuscated path strings via xor_decrypt_buffer with unique key pairs. For case 0, also checks if a suffix is present in DAT_0173ad60 to select between two paths. Returns pointer to decrypted path string. |
| 0x0076D5E0 | 600 | CHashFileSystem__GetStatusMessage | Gets a status/error message string based on internal state. Acquires critical section. If this==NULL, decrypts "null obj" error string. If hash buffer (+0xC) is NULL, decrypts "no buf" error. Otherwise calls FUN_00e92780 for status; if 0, decrypts "fail" error. All strings XOR-decrypted with unique keys. Returns decrypted string pointer. |
| 0x0076D840 | 95 | CHashFileSystem__GetFileReader | Returns the file reader pointer at +8 within the critical section. Acquires mutex at +0x2C, reads pointer, releases mutex. |
| 0x0076D8A3 | 96 | CHashFileSystem__ProcessEntry | Processes a hash entry within the critical section. Acquires mutex at +0x2C, calls FUN_00e92f30 with the provided parameter, releases mutex. |
| 0x0076D910 | 116 | CHashFileSystem__HandleCallback | Hash engine callback handler. Dispatches on param_1 event codes: 0x3E9/0x3EA=hash mismatch errors (decrypted format string, logs to FUN_0076dfa0), 0x3F3=error with code, 0x3F4/0x3F5=simple errors, 0x3F6/0x3F7=errors with different format strings, 0x3FB=add new hash entry to vector. All format strings are XOR-encrypted and lazily decrypted. Returns 0 on handled events, 1 on default/unhandled. |
| 0x0076DFA0 | 145 | CHashFileSystem__LogError | Logs a hash error within the critical section. Acquires mutex at +0x2C. If error flag at +0x10 is not yet set, sets it to 1 and copies the error string (from param_4, an STL string) to the internal string at +0x14. Releases mutex and destroys temp string. |
| 0x0076E043 | 96 | CHashFileSystem__set_server_address_locked | Thread-safe wrapper that acquires a scoped lock on the CHashFileSystem mutex at offset +0x2C, then calls CAntiCheat__set_server_address with the given parameter. Part of the hash file system's server address configuration. |
| 0x0076E0B0 | 37 | CHashEntry__destroy_range | CHashEntry: destroy range |
| 0x0076E0E0 | 156 | CHashEntry__copy_range | Copies a range of CHashEntry objects from [param_1, param_2) into param_3. Each entry is 0x14 bytes (vtable + 4-byte key + 0xC-byte vector_byte). Sets vtable to CHashEntry, copies key field, and copy-constructs the byte vector. Returns pointer past last written entry. |
| 0x0076E180 | 154 | CHashEntry__copy_range_void | Copies a range of CHashEntry objects from [param_1, param_2) into param_3 (void return variant). Each entry is 0x14 bytes (vtable + 4-byte key + 0xC-byte vector_byte). Sets vtable to CHashEntry, copies key field, and copy-constructs the byte vector. |
| 0x0076EBB0 | 56 | atomic_wait_until_changed | Atomic wait until changed |
| 0x0076F450 | 400 | mersenne_twister__generate_bounded | mersenne_twister: generate bounded |
| 0x00775ABE | 1 | nop_return_void_00775abe | Single-byte NOP stub (no operation, returns immediately) |
| 0x00775AEC | 1 | nop_return_void_00775aec | Single-byte NOP stub (no operation, returns immediately) |
| 0x007770EF | 1 | nop_return_void_007770ef | Single-byte NOP stub (no operation, returns immediately) |
| 0x0077710E | 1 | nop_return_void_0077710e | Single-byte NOP stub (no operation, returns immediately) |
| 0x0077714C | 1 | __break | Debug breakpoint instruction (INT3) |
| 0x007771D8 | 1 | nop_return_void_007771d8 | Single-byte NOP stub (no operation, returns immediately) |
| 0x007771F3 | 1 | nop_return_void_007771f3 | Single-byte NOP stub (no operation, returns immediately) |
| 0x00777212 | 1 | nop_return_void_00777212 | Single-byte NOP stub (no operation, returns immediately) |
| 0x00777242 | 1 | nop_return_void_00777242 | Single-byte NOP stub (no operation, returns immediately) |
| 0x007772FB | 1 | nop_return_void_007772fb | Single-byte NOP stub (no operation, returns immediately) |
| 0x00777316 | 1 | nop_return_void_00777316 | Single-byte NOP stub (no operation, returns immediately) |
| 0x00777335 | 1 | nop_return_void_00777335 | Single-byte NOP stub (no operation, returns immediately) |
| 0x00777363 | 1 | nop_return_void_00777363 | Single-byte NOP stub (no operation, returns immediately) |
| 0x0077740A | 1 | nop_return_void_0077740a | Single-byte NOP stub (no operation, returns immediately) |
| 0x00777425 | 1 | nop_return_void_00777425 | Single-byte NOP stub (no operation, returns immediately) |
| 0x00777444 | 1 | nop_return_void_00777444 | Single-byte NOP stub (no operation, returns immediately) |
| 0x00777472 | 1 | nop_return_void_00777472 | Single-byte NOP stub (no operation, returns immediately) |
| 0x00777507 | 1 | nop_return_void_00777507 | Single-byte NOP stub (no operation, returns immediately) |
| 0x007782AE | 1 | nop_return_void_007782ae | Single-byte NOP stub (no operation, returns immediately) |
| 0x007782CD | 1 | nop_return_void_007782cd | Single-byte NOP stub (no operation, returns immediately) |
| 0x00778350 | 1 | nop_return_void_00778350 | Single-byte NOP stub (no operation, returns immediately) |
| 0x0077898E | 1 | nop_return_void_0077898e | Single-byte NOP stub (no operation, returns immediately) |
| 0x007789BF | 1 | nop_return_void_007789bf | Single-byte NOP stub (no operation, returns immediately) |
| 0x00778A50 | 1 | nop_return_void_00778a50 | Single-byte NOP stub (no operation, returns immediately) |
| 0x0077E370 | 34 | build_error_result_0xea3 | Creates a result struct with message string 0xEA3 (looked up via CMessageStringTable__get_message_text) and value 0xFF. Returns param_1. |
| 0x0077E7E0 | 34 | build_error_result_0xea1 | Creates a result struct with message string 0xEA1 (looked up via CMessageStringTable__get_message_text) and value 0xFF. Returns param_1. |
| 0x00781070 | 34 | build_error_result_0xea2 | Creates a result struct with message string 0xEA2 (looked up via CMessageStringTable__get_message_text) and value 0xFF. Returns param_1. |
| 0x00781AB0 | 142 | get_time_of_day_index | Returns time-of-day index (0-3) based on a float time value. Checks against 4 threshold constants to categorize into morning(0), afternoon(1), evening(2), night(3). Returns -1 if value is out of range. |
| 0x00781B40 | 14 | is_valid_time_index | Returns true if param_1 < 4 (valid time-of-day index: 0-3). |
| 0x00783CD0 | 1071 | play_meteor_storm_buster_effects | Plays 4 meteor storm buster effects at a position: "meteor_storm_buster_meteor_bottom", "meteor_storm_buster_meteor", "meteor_storm_buster_bottom", and "meteor_storm_buster". Each effect is looked up by name from CEffectDataMgr and spawned at the given position. |
| 0x007880C0 | 34 | build_error_result_0xea8 | Creates a result struct with error code 0xEA8 (looked up via FUN_00b00f00) and color value 0xFFFF00 (yellow). Returns param_1. |
| 0x007880F0 | 34 | build_error_result_0xea9 | Creates a result struct with error code 0xEA9 and value 0xFF. |
| 0x00788B20 | 34 | build_error_result_0xeac | Creates a result struct with error code 0xEAC and color 0xFFFF00 (yellow). |
| 0x00788B50 | 34 | build_error_result_0xead | Creates a result struct with error code 0xEAD and value 0xFF. |
| 0x00789EE0 | 34 | build_error_result_0xeaa | Creates a result struct with error code 0xEAA and color 0xFFFF00 (yellow). |
| 0x00789F10 | 34 | build_error_result_0xeab | Creates a result struct with message text for string ID 0xEAB and color value 0xFF (blue). Returns the pair in param_1. |
| 0x0079E4D1 | 1 | stub_ret_0079e4d1 | Single-byte return stub at function boundary, likely alignment padding or placeholder |
| 0x0079E4F0 | 1 | stub_ret_0079e4f0 | Single-byte return stub at function boundary, likely alignment padding or placeholder |
| 0x0079E520 | 1 | stub_ret_0079e520 | Single-byte return stub at function boundary, likely alignment padding or placeholder |
| 0x0079E5B3 | 1 | stub_ret_0079e5b3 | Single-byte return stub at function boundary, likely alignment padding or placeholder |
| 0x0079E5CF | 1 | stub_ret_0079e5cf | Single-byte return stub at function boundary, likely alignment padding or placeholder |
| 0x0079E5EE | 1 | stub_ret_0079e5ee | Single-byte return stub at function boundary, likely alignment padding or placeholder |
| 0x0079E61C | 1 | stub_ret_0079e61c | Single-byte return stub at function boundary, likely alignment padding or placeholder |
| 0x0079E6B3 | 1 | stub_ret_0079e6b3 | Single-byte return stub at function boundary, likely alignment padding or placeholder |
| 0x0079E6C7 | 1 | stub_ret_0079e6c7 | Single-byte return stub at function boundary, likely alignment padding or placeholder |
| 0x0079E6E6 | 1 | stub_ret_0079e6e6 | Single-byte return stub at function boundary, likely alignment padding or placeholder |
| 0x0079E714 | 1 | stub_ret_0079e714 | Single-byte return stub at function boundary, likely alignment padding or placeholder |
| 0x0079E79D | 1 | stub_ret_0079e79d | Single-byte return stub at function boundary, likely alignment padding or placeholder |
| 0x0079E7B9 | 1 | stub_ret_0079e7b9 | Single-byte return stub at function boundary, likely alignment padding or placeholder |
| 0x0079E7D8 | 1 | stub_ret_0079e7d8 | Single-byte return stub at function boundary, likely alignment padding or placeholder |
| 0x0079E806 | 1 | stub_ret_0079e806 | Single-byte return stub at function boundary, likely alignment padding or placeholder |
| 0x0079E893 | 1 | stub_ret_0079e893 | Single-byte return stub at function boundary, likely alignment padding or placeholder |
| 0x007A453C | 1 | stub_ret_007a453c | Single-byte return stub at function boundary, likely alignment padding or placeholder |
| 0x007A455D | 1 | stub_ret_007a455d | Single-byte return stub at function boundary, likely alignment padding or placeholder |
| 0x007A45FD | 1 | stub_ret_007a45fd | Single-byte return stub at function boundary, likely alignment padding or placeholder |
| 0x007A6637 | 1 | stub_ret_007a6637 | Single-byte return stub at function boundary, likely alignment padding or placeholder |
| 0x007A6658 | 1 | stub_nop_007a6658 | Single-byte stub function (size=1) |
| 0x007A66F9 | 1 | stub_nop_007a66f9 | Single-byte stub function (size=1) |
| 0x007A6F80 | 82 | CPerformanceTimer__ctor | CPerformanceTimer constructor. Sets vtable, queries QueryPerformanceFrequency for high-res timing. Falls back to 1MHz if unavailable. Computes ticks per 1/60th second for frame timing. |
| 0x007A6FF0 | 36 | CPerformanceTimer__scalar_deleting_dtor | Scalar deleting destructor for CPerformanceTimer. Resets vtable and optionally frees 0x20-byte allocation. |
| 0x007A7020 | 66 | CPerformanceTimer__reset_frequency | Re-queries QueryPerformanceFrequency and recalculates ticks per 1/60th second. Falls back to 1MHz if unavailable. Returns 1. |
| 0x007A7070 | 237 | CPerformanceTimer__get_or_create_singleton | Singleton accessor for CPerformanceTimer. Creates and initializes a new 0x20-byte instance if DAT_01450cc4 is null. Returns 1 on success, 0 on failure (destroys instance if init fails). |
| 0x007A7170 | 27 | CPerformanceTimer__destroy_singleton | Destroys the CPerformanceTimer singleton at DAT_01450cc4 via its virtual destructor and nulls the pointer. |
| 0x007A7190 | 56 | CPerformanceTimer__query_time | Queries current time. Uses QueryPerformanceCounter if high-res timer available, otherwise falls back to timeGetTime * 1000 for microsecond precision. |
| 0x007A7930 | 229 | CSpecialPopupMgr__get_or_create_singleton | Singleton accessor for CSpecialPopupMgr. Creates 0x10-byte instance with embedded std::map if DAT_01450cc8 is null. Returns 1 on success, 0 on failure. |
| 0x007A7A20 | 27 | CSpecialPopupMgr__destroy_singleton | Destroys the CSpecialPopupMgr singleton at DAT_01450cc8 via its virtual destructor and nulls the pointer. |
| 0x007A7A40 | 72 | CSpecialPopupMgr__find_entry_by_key | Searches the CSpecialPopupMgr's embedded std::map for a key using lower_bound. Returns pointer to value (at node+0x14) if found, 0 if not found. |
| 0x007A7A90 | 788 | CSpecialPopupMgr__load_lua_script | Loads and executes System/spopup.lub Lua script. Registers AddMsg and AddDesc callbacks. Calls main() after loading. Shows MessageBox on errors. Returns 1 on success, 0 on failure. |
| 0x007AAD20 | 132 | _Rehash_for_1 | Rehashes an unordered container to ensure at least one bucket is available for insertion. |
| 0x007AADD0 | 43 | throw_bad_any_cast | Throws std::bad_any_cast exception |
| 0x007AAE10 | 136 | CBaseException__ctor | Base exception constructor: sets vtable, copies message string, zeroes fields at 0x3c-0x3e |
| 0x007AAEA0 | 149 | CDerivedExceptionA__ctor | Derived exception A constructor: calls base ctor then sets own vtable |
| 0x007AAF40 | 149 | CDerivedExceptionB__ctor | Derived exception B constructor: calls base ctor then sets own vtable |
| 0x007AAFE0 | 95 | CCSVParserCallback__dtor | Destructor for CCSVParserCallback. Sets vtable, destroys internal string, calls base class cleanup. |
| 0x007AB040 | 119 | CCSVParserCallback__scalar_deleting_dtor_A | Scalar deleting destructor for CCSVParserCallback variant A. 0xFC bytes total size. |
| 0x007AB0C0 | 126 | CCSVParserCallback__scalar_deleting_dtor_B | Scalar deleting destructor for CCSVParserCallback variant B. 0xFC bytes total size. |
| 0x007AB140 | 126 | CCSVParserCallback__scalar_deleting_dtor_C | Scalar deleting destructor for CCSVParserCallback variant C. Sets vtable to PTR_LAB_01121c88, destroys internal string, calls CEffectAura base dtor, optionally frees 0xFC bytes. Same pattern as variants A and B. |
| 0x007ABA10 | 34 | copy_memory_range | Copies a memory range [param_1, param_2) to destination param_3 via memcpy. Returns pointer to end of copied data in destination. |
| 0x007ABA40 | 68 | _Copy_unchecked<class_std::basic_string<char,struct_std::char_traits<char>,class_std::allocator<char>_>*,class_std::basic_string<char,struct_std::char_traits<char>,class_std::allocator<char>_>*> | Unchecked copy of STL string objects from source range to destination. |
| 0x007ABC80 | 183 | CTreeMap__destroy_nodes_recursive | Recursively destroys nodes in a red-black tree (std::map). Traverses right subtree first, then destroys string values (via FUN_007ae440/CFmt), frees node (0x6C bytes), and continues to left child. |
| 0x007ABD40 | 75 | CTreeMap__lower_bound | Performs lower_bound search on a red-black tree (std::map). Traverses tree comparing key at node offset +0x10 (int key), returns iterator with node pointer and found flag. |
| 0x007ABD90 | 291 | CTreeMap__constructor | Constructor for a tree-based map container. Sets vtable to PTR_FUN_01121e2c, initializes dimensions (0xF0 x 0x140), type=0x11, allocates sentinel node (0x6C bytes), initializes two string fields (offsets 0x27 and 0x2B), and registers with a global manager. Contains string data members and counter fields. |
| 0x007ABEC0 | 167 | CTreeMapEntry__init_fields | Initializes fields for a tree map entry structure. Sets two string fields (with SSO buffer size 0xF at offsets +4/+5 and +0xB/+0xC), and zeroes out six additional fields (offsets 0xE-0x15). |
| 0x007ABF70 | 67 | CTreeMap__free_sentinel_node | Frees the sentinel/header node (at offset +4) of the tree map if it is non-null. Node size is 0x6C bytes. |
| 0x007ABFD0 | 76 | CTreeMap__clear_and_free | Clears all nodes from the tree map by calling destroy_nodes_recursive on root, then frees the sentinel node (0x6C bytes). |
| 0x007AC030 | 163 | CTreeMap__destroy_single_node | Destroys a single tree map node. If node pointer at offset +4 is non-null, destroys string data via CFmt, then frees the node (0x6C bytes). |
| 0x007AC0E0 | 78 | CTreeMap__free_node | Frees a tree map node at offset +4 if non-null. Simple node deallocation (0x6C bytes) without recursive cleanup. |
| 0x007AC130 | 87 | CTreeMap__clear_all_nodes | Clears all nodes from tree map. Calls destroy_nodes_recursive on root node, then frees sentinel (0x6C bytes). Similar to clear_and_free but with different SEH setup. |
| 0x007AC190 | 123 | CTreeMap__destroy_node_data | Destroys the string data stored in a tree map node. Calls FUN_007ae440 to extract key, CFmt to format, then destroys two STL strings. |
| 0x007AC220 | 266 | CTreeMap__destructor | Destructor for the tree map container. Sets vtable, destroys string data in two entries, unregisters from global manager (json__internal_0051dab0), recursively destroys all tree nodes, and frees sentinel node. |
| 0x007AC330 | 68 | CTreeMap__destroy_string_wrapper | Simple wrapper that destroys an STL string with SEH frame protection. |
| 0x007AC380 | 110 | CTreeMap__destroy_node_strings | Destroys string data in a tree map node. Extracts key via FUN_007ae440, formats via CFmt, then destroys two STL strings. |
| 0x007AC3F0 | 253 | CTreeMap__find_or_insert | Finds an entry by integer key or inserts a new one if not found (operator[] semantics). Allocates new node (0x6C bytes), initializes with key and default data via CTreeMapEntry__init_fields, inserts into tree via Insert_node. Returns pointer to value data at node+0x14. |
| 0x007AC4F0 | 290 | CTreeMap__scalar_deleting_destructor | Scalar deleting destructor for the tree map. Sets vtable, destroys string data, unregisters from global manager, recursively destroys all tree nodes, frees sentinel, and optionally frees this (0x11C bytes) if param_2 & 1. |
| 0x007AC620 | 156 | CTreeMap__add_vector_entry | Adds a 0x1C-byte entry (7 x uint32 values) to the vector (at node+0x50) in a tree map node identified by key. Finds/creates node via find_or_insert, then pushes the entry or reallocates via emplace_realloc if full. |
| 0x007AC6C0 | 46 | CTreeMap__set_two_fields | Sets two fields (at offsets +0x44 and +0x48) in a tree map node identified by key. Calls find_or_insert twice for the same key. |
| 0x007AC6F0 | 31 | CTreeMap__set_bool_field | Sets a boolean field at offset +0x34 in a tree map node identified by key. Converts int param_2 to bool (non-zero = true). |
| 0x007AC710 | 431 | CTreeMap__add_string_entry | Adds a string to a tree map node's string vector (at node+0x3C). First replaces backslash sequences (0x5C6E = '\\n') with newline character (0x0A) in the input string, then finds/creates the node by key and pushes the processed string into the vector. |
| 0x007AC8C0 | 205 | CTreeMap__set_entry_data | Sets multiple data fields on a tree map entry: updates max key tracking at offset 0x118, assigns a string value, sets a boolean at +0x18 (from comparison with 1), and assigns a second string field. Takes key, and structured data with two strings and a type flag. |
| 0x007AC990 | 398 | CTreeMap__get_or_create_singleton | Gets or creates the global singleton CTreeMap instance (stored at DAT_01450cd0). Allocates 0x11C bytes, calls constructor inline, checks validity flag at +0x2E. Returns 1 if valid, 0 if creation failed or flag not set (calls virtual destructor to clean up on failure). |
| 0x007ACB20 | 27 | CTreeMap__destroy_singleton | Destroys the global CTreeMap singleton (DAT_01450cd0). Calls virtual destructor with delete flag=1, then sets pointer to NULL. |
| 0x007ACB40 | 191 | CTreeMap__select_random_valid_entry | Collects all tree map entries with key < 1000 and flag byte at +0x2C set to 1 into a temporary vector. Then picks a random entry from the vector using rand() and calls FUN_007ae050 with its key. Returns pointer to offset +0x24 in the object. |
| 0x007ACC00 | 110 | CTreeMap__find_entry | Finds a tree map entry by integer key. Uses lower_bound twice for range check. Returns pointer to value data (node+0x14) if found, otherwise returns default entry at this+0xBC. |
| 0x007ACC70 | 727 | CTreeMap__get_formatted_string | Gets a formatted string from a tree map entry. Looks up entry by key, extracts substring up to '#' delimiter, optionally processes color codes (param_5 >= 11), splits string by delimiter, appends suffix from DAT_010da66c. Returns constructed string in param_2. |
| 0x007AD8E0 | 81 | string_replace_all | Replaces all occurrences of a search pattern (param_2) in the target string (param_1) with replacement string (param_3). Uses find loop (FUN_0073feb0) and STL string replace operations. |
| 0x007AD940 | 1793 | CTreeMap__search_entries_by_keyword | Searches all tree map entries by keyword (case-insensitive). For each entry, copies string data and checks the enabled flag. If enabled, converts both entry name and search keyword to uppercase, then uses _mbsstr for substring matching. Matching entry keys are added to a results vector. Skips disabled entries (flag byte at +0x2C == 0). Returns pointer to results vector at this+0x18. |
| 0x007B0EB0 | 192 | CActTree__DestroySubtree_0x34 | Recursively destroys a tree of act objects with 0x34-byte nodes. For each node, recursively destroys left subtree, then cleans up the 0x2c sub-struct at +0x2c, frees the sub-struct, destroys a string, and frees the 0x34-byte node. |
| 0x007B0F70 | 131 | CActTree__DestroySubtree_0x2c | Recursively destroys a tree of act objects with 0x2c-byte nodes. For each node, recursively destroys left subtree, destroys a string, and frees the 0x2c-byte node. |
| 0x007B1000 | 220 | sort_three_elements_by_field_0x2c | Sorts three element pointers in ascending order based on field +0x2c of their data (obtained via FUN_00e08750). Uses comparison-based swaps (bubble sort for 3 elements). |
| 0x007B1E60 | 214 | UISpriteMapWidget__ctor | Constructor for UISpriteMapWidget. Calls base ctor, sets vtable to PTR_FUN_0112262c, initializes dimensions, bitmap pointer, and various state fields to 0. Sets default size to 11. |
| 0x007B1FB0 | 157 | UIActAnimWidget__ctor | Constructor for UIActAnimWidget. Calls base constructor, sets vtable to PTR_FUN_01122704, initializes type to 7, zeroes 6 fields for animation state. |
| 0x007B24F0 | 184 | UIActSprColorWidget__Constructor | Constructor for a colored act sprite widget. Calls base ctor, sets vtable to PTR_FUN_011222cc, initializes two index fields to -1, an SSO string, and 4 color values (0xce7b52, 0xffffff, 0xefe7e7, 0xadadad - various UI text/highlight colors). |
| 0x007B25B0 | 202 | UIActSprDualStringWidget__Constructor | Constructor for a dual-string act sprite widget. Calls base ctor, sets vtable to PTR_FUN_0112247c, initializes 2 SSO strings and zeroes multiple state fields. |
| 0x007B2680 | 67 | CActObject__FreeRenderData | Frees the 0x34-byte render data struct at offset +4 if non-null. |
| 0x007B26D0 | 76 | CActObject__DestroyAndFree_0x34 | Destroys an act object by calling cleanup on its data, then frees the 0x34-byte data struct. |
| 0x007B2730 | 76 | CActObject__DestroyAndFree_0x2c | Destroys an act object by calling cleanup on its data, then frees the 0x2c-byte data struct. |
| 0x007B2790 | 168 | CActObject__DestroySubAndFree | Destroys an act object with a sub-object. First cleans up the 0x2c sub-struct at +0x2c of the data, then frees the 0x34 main data struct, then destroys a string. |
| 0x007B2840 | 78 | CActObject__FreeRenderData_b | Frees the 0x34-byte render data struct at offset +4 if non-null. Alternative version. |
| 0x007B28B0 | 87 | CActObject__CleanupAndFree_0x34_b | Cleans up act object data and frees the 0x34-byte struct. Alternative version with different SEH setup. |
| 0x007B2910 | 87 | CActObject__CleanupAndFree_0x2c_b | Cleans up act object data and frees the 0x2c-byte struct. Alternative version. |
| 0x007B2970 | 128 | CActObject__DestroySubAt0x1c | Destroys the sub-object at offset +0x1c. Cleans up and frees the 0x2c struct there, then destroys a string. |
| 0x007B29F0 | 135 | CActObject__DestroyMultipleStrings | Destroys 5 strings in reverse order and calls a packet parser constructor between them. Appears to be a complex destructor with multiple string members. |
| 0x007B2BC0 | 118 | UISpriteMapWidget__Destructor | Destructor for UISpriteMapWidget. Sets vtable to PTR_FUN_0112262c, frees bitmap data at +0x20, destroys internal data, then calls base class destructor. |
| 0x007B2C90 | 110 | UIActAnimWidget__Destructor | Destructor for UIActAnimWidget. Sets vtable to PTR_FUN_01122704, frees action frame vector and 4-byte vector, then calls base class destructor. |
| 0x007B2F10 | 95 | UIActSprColorWidget__dtor | Destructor for UIActSprColorWidget. Sets vtable to PTR_CUIButton_scalar_deleting_dtor_011222cc, destroys one SSO string member, then calls CEffect__dtor base class destructor. |
| 0x007B2F70 | 107 | UIActSprDualStringWidget__dtor | Destructor for UIActSprDualStringWidget. Sets vtable to PTR_CUIEditBox_scalar_deleting_dtor_0112247c, destroys two SSO string members in reverse order, then calls CEffect__dtor base class destructor. |
| 0x007B2FE0 | 117 | CUIComponent__dtor_tree_and_string | Destroys a 0x2c-byte red-black tree at offset +0x18 and a string member. Used as part of CUIComponent cleanup for tree+string sub-objects. |
| 0x007B32B0 | 142 | UISpriteMapWidget__scalar_deleting_dtor | Scalar deleting destructor for UISpriteMapWidget. Sets vtable to PTR_0112262c, frees bitmap data at +0x20, clears a 4-byte vector, calls CEffect__dtor base destructor, then optionally frees the 0xb0-byte object. |
| 0x007B33B0 | 134 | UIActAnimWidget__scalar_deleting_dtor | Scalar deleting destructor for UIActAnimWidget. Sets vtable to PTR_01122704, frees action frame vector and 4-byte vector, calls CEffect__dtor base destructor, then optionally frees the 0xa0-byte object. |
| 0x007B36E0 | 119 | UIActSprColorWidget__scalar_deleting_dtor | Scalar deleting destructor for UIActSprColorWidget. Sets vtable to PTR_011222cc, destroys one SSO string member, calls CEffect__dtor base destructor, then optionally frees the 0xac-byte object. |
| 0x007B3760 | 131 | UIActSprDualStringWidget__scalar_deleting_dtor | Scalar deleting destructor for UIActSprDualStringWidget. Sets vtable to PTR_0112247c, destroys two SSO string members in reverse order, calls CEffect__dtor base destructor, then optionally frees the 0xbc-byte object. |
| 0x007B37F0 | 87 | CUITabControl__set_selected_tab | Sets the selected tab index at offset +0x24. If a parent component exists, looks up the tab value from a vector at +0x28 and sends notification (msg 0x87) to parent via virtual call 0x94, then triggers refresh via virtual call 0x98. |
| 0x007B3850 | 80 | CUIComponent__set_position | Sets x/y position at offsets +0x1f/+0x20. Notifies parent via virtual call 0x94 (msg 0x16) with the new coordinates, updates tree view scroll state, and triggers refresh. |
| 0x007B3AD0 | 366 | CUITreeView__init_layout | Initializes the tree view layout. Sets up tree expansion icons, indentation, row heights, and scroll parameters. |
| 0x007B3DA0 | 1012 | CUITreeView__render_row | Renders a single tree view row. Draws background sprites based on selected/current state, renders category header text, and iterates sub-items drawing their icons and text with appropriate colors. |
| 0x007B4220 | 322 | CUITreeView__get_row_text | Gets the display text for a tree view row. If param_3==-1, returns the category header text. Otherwise, formats "category: subcategory" text by looking up both keys in the internal map. |
| 0x007B4370 | 201 | CUITreeView__hit_test_cell | Hit tests a tree view cell at (x, y) coordinates. Determines which row and column the point falls in. Outputs row index via param_4 and column index via param_5 (-1 for header area). Returns 1 if hit, 0 if outside bounds. |
| 0x007B6F60 | 167 | CUITreeView__render_all_rows | Renders all visible rows in the tree view. Draws background sprite, notifies parent for custom rendering (callback 0x74), then iterates through all tree nodes in order calling render_row for each node's data value. |
| 0x007B7680 | 213 | CUIProgressBar__render | Renders a progress bar. Draws outer border, inner border, background fill, then calculates fill percentage (current/max * 100) and draws the filled portion. Uses 4 configurable colors: fill (+0x9c), background (+0xa0), border (+0xa4), inner border (+0xa8). |
| 0x007B7760 | 349 | CUIButton__render_sprite_and_item | Renders a button's sprite and optional item icon overlay. Loads and draws the main sprite from the stored path. If an item ID (+0xb0) is set, creates an item descriptor, loads the item's icon sprite, and draws it at offset (20, 15) on top of the button. |
| 0x007B7960 | 133 | CUITreeView__on_click | Handles click event on the tree view. Hit-tests the click position to find row and column, updates selected row/column fields, notifies parent via callback 0x16 with the selection, updates scroll state, and refreshes display. |
| 0x007B7A20 | 201 | CUIComponent__render_tooltip | Renders a tooltip for a UI component. Formats text as "name (current/max)" using the component's string field (+0x84) and numeric fields (+0x7c, +0x80). Calculates screen position with parent offset accumulation and displays via CToolTipMgr. |
| 0x007B7AF0 | 98 | CUILabel__render_with_tooltip | Renders a label with optional tooltip. First calls the base render method via vtable. If the tooltip flag (+0x23*4) is set, accumulates parent offsets and shows the tooltip text from the label's string field (+0x1f*4). |
| 0x007B7B60 | 77 | CUITreeView__on_mouse_move | Handles mouse move event on the tree view. Hit-tests the mouse position to find the hovered row and column, stores them in fields +0x25 and +0x26 (as dword indices), then triggers a repaint. |
| 0x007B7BB0 | 232 | CUIButton__on_click_show_item_tooltip | Shows an item tooltip when the user clicks on the item icon area of a button. Checks if click is within the 24x24 icon region at (+0xb4, +0xb8). If so, creates an item descriptor, opens the item info window (type 0xc), and passes the item data via callback 0x18. |
| 0x007B7DD0 | 60 | CUITreeView__on_scroll_vertical | Handles mouse wheel scroll on a tree view. If scrolling is enabled (+0x32 flag), sends command 7 to parent with delta +1 (scroll down) or -1 (scroll up) depending on wheel direction. |
| 0x007B7F10 | 207 | CUITreeView__update_scroll_state | Updates the scroll state for a tree view. Calculates scrollable range based on current category's item count vs visible capacity, enables/disables scroll flag, clamps scroll position, updates scrollbar range, and resizes the sprite widget to match content height. |
| 0x007B7FE0 | 189 | CUITreeView__recalculate_total_height | Recalculates the total height of the tree view content. Starts with header count * header height, then iterates all tree nodes summing (row height * item count per node). Updates the widget's virtual size and triggers repaint. |
| 0x007B81B0 | 116 | CUITreeView__on_command | Handles scroll commands for the tree view. Commands 7/9/10: scroll by delta/page-down/page-up respectively. Updates scroll position, clamps to range, refreshes scroll state, and returns the delta applied. |
| 0x007B8C20 | 403 | CUIButton__set_sprite_and_tooltip | Sets a button's sprite image and tooltip text. If tooltip text (param_3) is provided, copies it to the button's tooltip string field (+0x1f). Loads the sprite resource from the given path (param_2), stores the resource handle, resizes the button to match the sprite dimensions, and stores the item ID (param_4) for icon overlay rendering. |
| 0x007BA260 | 96 | UIAttendanceWnd__ctor | Constructor for UIAttendanceWnd. Sets vtable to PTR_FUN_01123004. Initializes member at offset 0x2d (attendance data pointer) to 0. |
| 0x007BA340 | 87 | UIAttendanceWnd__InsertAndCleanup | Inserts data into the attendance window's internal vector then cleans up the temporary string. |
| 0x007BA3A0 | 71 | UIAttendanceWnd__dtor | Destructor for UIAttendanceWnd. Restores vtable, calls base class destructor FUN_008a4e90. |
| 0x007BA3F0 | 99 | UIAttendanceWnd__scalar_dtor | Scalar deleting destructor for UIAttendanceWnd. Calls destructor then optionally frees 0xD0 bytes if bit 0 of param_2 is set. |
| 0x007BA470 | 274 | UIAttendanceWnd__CreateRewardWidgets | Creates 3 pairs of UI widgets for displaying attendance rewards. Each pair consists of a text widget (ID 0x1DE) and an icon widget (ID 0x1DF). Uses UIWidget__ctor and adds them to the parent window. |
| 0x007BA590 | 906 | UIAttendanceWnd__DrawRewardList | Draws the attendance reward list. Iterates through reward entries from global DAT_017387b0, showing/hiding widgets. Renders item names with formatting (" %d" count display). Colors completed items green (0xDFF6F) and unclaimed white (0xFFFFFF). Two passes for different display modes. |
| 0x007BA920 | 245 | UIAttendanceWnd__OnMessage | Message handler for attendance window. Handles msg 0x22 (selection changed - stores reward data), msg 0x62 with param 0x1DE (toggle attendance entry visibility) and 0x1DF (claim reward via packet 0x10E). Delegates unknown messages to base class. |
| 0x007BAC40 | 187 | UIBattlefieldWnd__ctor | Constructor for UIBattlefieldWnd. Initializes vtable to PTR_FUN_01123458. Sets various state fields: mode flags (0x43, 0x44 = 1), enabled flag (0x45 = 1), counters and state at offsets 0x50-0x53 to 0. |
| 0x007BAD00 | 97 | UIBattlefieldInfoWnd__ctor | Constructor for UIBattlefieldInfoWnd. Sets vtable to PTR_FUN_011231c8. Calls helper_005ca660 for additional initialization. |
| 0x007BAD70 | 173 | UIBattlefieldScoreWnd__ctor | Constructor for UIBattlefieldScoreWnd. Inherits from FUN_0084eab0. Sets vtable to PTR_FUN_0112337c. Initializes two std::string members (offsets 0x4C and 0x4E with capacity 0xF each) and a flag at 0x54. |
| 0x007BAE20 | 269 | UIBattlefieldResultWnd__ctor | Constructor for UIBattlefieldResultWnd. Inherits from FUN_0084eab0. Sets vtable to PTR_FUN_011232a0. Initializes two std::string members, score counters (0x55-0x58), a third std::string, and a boolean flag at offset 0xAD. |
| 0x007BAF30 | 96 | UIBattlefieldQueueWnd__ctor | Constructor for UIBattlefieldQueueWnd. Sets vtable to PTR_FUN_011230f0. Initializes queue data pointer at offset 0x35 to 0. |
| 0x007BAF90 | 148 | CBattlefieldManager__ctor | Constructor for CBattlefieldManager. Sets vtable to PTR_FUN_01123608. Allocates two linked list sentinel nodes: one 0x2C-byte node (team/player data) and one 0xC-byte node (simple list). Sets enabled flag at offset 1 to true. |
| 0x007BB030 | 86 | UIBattlefieldMiniMapWnd__ctor | Constructor for UIBattlefieldMiniMapWnd. Sets vtable to PTR_FUN_01123530. Simple base class initialization only. |
| 0x007BB090 | 67 | CBattlefieldManager__FreeNodeBuffer2c | Frees the 0x2C-byte buffer at offset +4 of the battlefield manager node if non-null. |
| 0x007BB0E0 | 78 | CBattlefieldManager__FreeNodeBuffer2c_2 | Frees the 0x2C-byte buffer at offset +4 of the battlefield manager node if non-null (variant). |
| 0x007BB140 | 103 | CBattlefieldManager__FreeLinkedList0c | Frees a linked list of 0xC-byte nodes. Walks the chain via the first pointer of each node, freeing each one, then frees the sentinel node. |
| 0x007BB1B0 | 103 | CBattlefieldManager__FreeLinkedList2c | Frees a linked list of 0x2C-byte nodes. Walks the chain via the first pointer of each node, freeing each one, then frees the sentinel node. |
| 0x007BB220 | 95 | UIBattlefieldWnd__dtor | Destructor for UIBattlefieldWnd. Restores vtable to PTR_FUN_01123458, calls cleanup FUN_00739f60, then base destructor FUN_008a4e90. |
| 0x007BB280 | 127 | UIBattlefieldInfoWnd__dtor | Destructor for UIBattlefieldInfoWnd. Restores vtable, destroys two std::string members, then calls base destructor FUN_008a4e90. |
| 0x007BB300 | 110 | UIBattlefieldScoreWnd__dtor | Destructor for UIBattlefieldScoreWnd. Restores vtable, destroys two std::string members, calls base destructor FUN_008511b0. |
| 0x007BB370 | 172 | UIBattlefieldResultWnd__dtor | Destructor for UIBattlefieldResultWnd. Restores vtable, destroys five std::string members (including one via delegate pointer), calls base destructor FUN_008511b0. |
| 0x007BB420 | 71 | UIBattlefieldQueueWnd__dtor | Destructor for UIBattlefieldQueueWnd. Restores vtable to PTR_FUN_011230f0, calls base destructor FUN_008a4e90. |
| 0x007BB470 | 193 | CBattlefieldManager__dtor | Destructor for CBattlefieldManager. Restores vtable. Frees both linked lists: the 0xC-byte node list and the 0x2C-byte node list, walking and freeing each chain. |
| 0x007BB540 | 71 | UIBattlefieldMiniMapWnd__dtor | Destructor for UIBattlefieldMiniMapWnd. Restores vtable to PTR_FUN_01123530, calls base destructor. |
| 0x007BB590 | 119 | UIBattlefieldWnd__scalar_dtor | Scalar deleting destructor for UIBattlefieldWnd. Clears item vector, calls base dtor, optionally frees 0x154 bytes. |
| 0x007BB610 | 151 | UIBattlefieldInfoWnd__scalar_dtor | Scalar deleting destructor for UIBattlefieldInfoWnd. Destroys strings, calls base dtor, optionally frees 0x104 bytes. |
| 0x007BB6B0 | 134 | UIBattlefieldScoreWnd__scalar_dtor | Scalar deleting destructor for UIBattlefieldScoreWnd. Destroys strings, calls base dtor, optionally frees 0x154 bytes. |
| 0x007BB740 | 196 | UIBattlefieldResultWnd__scalar_dtor | Scalar deleting destructor for UIBattlefieldResultWnd. Destroys 5 strings, calls base dtor, optionally frees 0x1C8 bytes. |
| 0x007BB810 | 99 | UIBattlefieldQueueWnd__scalar_dtor | Scalar deleting destructor for UIBattlefieldQueueWnd. Calls base dtor, optionally frees 0xE8 bytes. |
| 0x007BB880 | 214 | CBattlefieldManager__scalar_dtor | Scalar deleting destructor for CBattlefieldManager. Frees both linked lists (0xC and 0x2C nodes), optionally frees 0x18 bytes. |
| 0x007BB960 | 99 | UIBattlefieldMiniMapWnd__scalar_dtor | Scalar deleting destructor for UIBattlefieldMiniMapWnd. Calls base dtor, optionally frees 0xEC bytes. |
| 0x007BB9D0 | 164 | CBattlefieldManager__AddToList | Adds an entry to the battlefield manager's linked list. Allocates a 0xC-byte node, stores param_2 at offset +8, and inserts it at the tail of the doubly-linked list. Throws std::_Xlength_error if list count reaches 0x15555555. |
| 0x007BBA80 | 710 | UIBattlefieldWnd__UpdateTeamNames | Updates team name displays for the battlefield window. Reads team names via FUN_00858d20, checks if empty via FUN_007bbfc0. If not empty, formats with snprintf and hides the corresponding label widget at offsets 0xB8 and 0xBC. |
| 0x007BBD50 | 244 | CBattlefieldManager__GetOrCreateInstance | Singleton accessor for CBattlefieldManager. Creates the instance (DAT_01450cec) on first call, allocating 0x18 bytes and initializing linked lists. Returns 1 if manager is active, 0 if creation failed or already destroyed. |
| 0x007BBE50 | 27 | CBattlefieldManager__DestroyInstance | Destroys the singleton CBattlefieldManager instance (DAT_01450cec). Calls the scalar deleting destructor and sets the global pointer to NULL. |
| 0x007BBE70 | 22 | get_battlefield_emblem_data | Returns a pointer to emblem/icon data for a battlefield team. param_1 selects team index (0-3), param_2 selects variant (1=primary, other=secondary). Returns NULL for invalid indices. |
| 0x007BBF00 | 116 | get_battlefield_mode_name | Returns the localized name string for a battlefield mode. param_1 is mode index (0-6), each calling FUN_00b00f00 with different string IDs. Returns empty string for invalid modes. |
| 0x007BBF90 | 39 | CLinkedList__find_by_id | Searches a linked list (starting from +0x10) for a node whose third field matches param_2. Returns 1 if found, 0 if not. Iterates until reaching the head sentinel node. |
| 0x007BBFC0 | 171 | is_string_all_digits | Checks if a std::string contains only digit characters. Iterates through each character calling isdigit(). Returns 1 if all characters are digits and string is non-empty, 0 otherwise. Destructs the string parameter on exit. |
| 0x007BC070 | 150 | UIAdventurerAgencyWnd__OnClose | Close handler for the Adventurer Agency window. Sets visibility flag and calls vtable method +0x98 on three child controls (+0xF8, +0xFC, +0xBC), then calls handler_005cbee0 and conditionally handler_005cb710 if DAT_01737a9c == 1. |
| 0x007BC110 | 258 | UIAdventurerAgencyWnd__process_queue | Processes the adventurer agency's pending request queue. Checks if there are items in the linked list at +0x8, cross-references with the list at +0x10, and either creates the item via vtable +0x94 (passing 0x38-byte data block) or removes duplicates. Recursively calls itself after processing each item. Decrements the count at +0xC. |
| 0x007BC220 | 5954 | UIAdventurerAgencyWnd__OnCreate_main | Main creation/initialization function for the Adventurer Agency window (UIadventurerAgency). Too large to decompile (5954 bytes). Creates and configures multiple child UI controls. |
| 0x007BD970 | 915 | UIAdventurerAgencyWnd__create_top_section | Creates the top section of the Adventurer Agency window. Sets up 3 image buttons with message IDs 0xD2E, 0xD2D, 0xBE5, positioned at specific coordinates. Also fetches a list of items via FUN_00b00f00(0xD2A) and creates labeled text controls for each item in a scrollable area (0x88 + 0xC*i y-positions). |
| 0x007BDD10 | 4784 | UIAdventurerAgencyWnd__create_detail_section | Creates the detail/content section of the Adventurer Agency window. References string "UIadventurerAgency" and button textures like "btn_job_def_on/off", "btn_job_heal_on/off", "btn_job_atk_on/off", "btn_job_buf_on/off". Creates job filter buttons (4 types), text controls, a scrollable list (UIScrollableWidget), and conditionally creates different layouts based on DAT_01389848+5 flag. Adds multiple message IDs (0xD20-0xD25, 0xD31) to the scroll list. |
| 0x007BEFD0 | 1352 | UIAdventurerAgencyWnd__create_bottom_section | Creates the bottom section of the Adventurer Agency window. Sets up an image button (0x120 alloc via FUN_0084eab0), a text label, tab buttons with IDs 0x21D/0x21E, a colored scroll list (UIColoredScrollListBase), an input field (FUN_0084f010), and another scroll list for received data (0xDBE). Positions controls with specific coordinates and configures tab switching. |
| 0x007BF5A0 | 795 | UIAdventurerAgencyWnd__draw_info_panel | Draws the info panel content for the Adventurer Agency window. Displays background image, party name, member count (%d/%d format), battlefield mode name, job preference icons (4 job types: def/heal/atk/buf with on/off states at +0xB8 through +0xBB), and additional text fields. Uses get_battlefield_mode_name for the mode display. |
| 0x007BF8C0 | 742 | UIAdventurerAgencyWnd__draw_list_item | Draws an individual list item in the Adventurer Agency window. Displays item image (selected from 3 image paths based on +0x30 value), party name, battlefield mode, job preference icons (4 types at offsets +0x180 to +0x183), and additional info text. Conditionally shows overlay image if +0xAC flag set and +0x114 not zero. |
| 0x007BFC20 | 74 | UIAdventurerAgencyWnd__draw_empty_state | Draws the empty state / placeholder for the Adventurer Agency window when no data is available. Displays a background image and a message string (ID 0xDB1). |
| 0x007C12EB | 254 | CPacketHandler__send_obfuscated_chat_message | CPacketHandler: send obfuscated chat message |
| 0x007C2540 | 131 | TooltipTree__destroy_nodes_recursive | Recursively destroys tooltip tree nodes: traverses left subtree, destroys data, frees 0x1C-byte node |
| 0x007C25D0 | 473 | TooltipTree__copy_construct | Deep-copies tooltip tree: iterates source linked list, copies string data and int pairs for each node |
| 0x007C2840 | 67 | TooltipTree__free_node_0x30 | Frees a 0x30-byte tooltip tree node if field +4 is non-null |
| 0x007C2890 | 67 | TooltipTree__free_node_0x1C | Frees a 0x1C-byte tooltip tree node if field +4 is non-null |
| 0x007C28E0 | 113 | TooltipTree__destroy_and_free_0x30 | Destroys tooltip node data via destructor then frees 0x30-byte node memory |
| 0x007C2960 | 123 | TooltipTree__clear_linked_list | Clears tooltip linked list: unlinks sentinel, iterates and destroys+frees each 0x28-byte string node |
| 0x007C29E0 | 76 | TooltipTree__destroy_and_free_sentinel | Destroys all nodes via recursive traversal then frees 0x1C-byte sentinel node |
| 0x007C2A40 | 116 | TooltipTree__destroy_list_and_free_node | Destroys child linked list entries then frees 0x1C-byte parent node |
| 0x007C2AC0 | 78 | TooltipTree__free_sentinel_only | Frees 0x1C-byte sentinel node if field +4 is non-null; no child cleanup |
| 0x007C2B10 | 131 | TooltipTree__destroy_all_0x30_nodes | Walks linked list destroying each 0x30-byte node data then frees sentinel node |
| 0x007C2BA0 | 87 | TooltipTree__destroy_and_free_sentinel_alt | Destroys all nodes via recursive traversal then frees 0x1C-byte sentinel; alternate entry point |
| 0x007C37A0 | 95 | ItemShopWnd__constructor | Constructs item shop window: calls base constructor then sets vtable PTR_FUN_01124278 |
| 0x007C3800 | 84 | ItemShopWnd__destructor | Destructor: sets both vtables then calls base class destructor |
| 0x007C3860 | 71 | ItemShopWnd__base_destructor | Base-class destructor: sets vtable PTR_FUN_0112419c then calls parent destructor |
| 0x007C38B0 | 112 | ItemShopWnd__scalar_deleting_destructor | Scalar deleting destructor: runs destructor chain then optionally frees 0xB0-byte object |
| 0x007C3920 | 99 | ItemShopWnd__scalar_deleting_destructor_base | Base scalar deleting destructor: sets vtable then optionally frees 0xB0-byte block |
| 0x007C3990 | 318 | ItemShopWnd__create_scrollbars | Creates horizontal and vertical scrollbar controls if not already present; positions them and updates display |
| 0x007C3AD0 | 62 | ItemShopWnd__handle_scroll_input | Handles mouse wheel scroll: sends +15 or -15 scroll message based on direction if scrollable flag set |
| 0x007C3B10 | 173 | ItemShopWnd__process_message_scroll | Processes scroll messages (type 7): clamps offset, updates scroll position; type 0x3C forwards to parent |
| 0x007C3D60 | 269 | ItemShopGridWnd__constructor | Constructs item grid window: inits vector, creates format handler and scroll observer, sets vtable 0112435C |
| 0x007C3E90 | 72 | ItemShopGridWnd__observer_destructor | Destructor for scroll observer: resets vtable to base scalar deleting destructor |
| 0x007C3EE0 | 191 | ItemShopGridWnd__destructor | Destructor: cleans up format handler, observer, clears item vector, calls base destructor chain |
| 0x007C3FA0 | 97 | ItemShopGridWnd__observer_scalar_dtor | Scalar deleting destructor for observer: resets vtable then optionally frees 4-byte object |
| 0x007C4010 | 215 | ItemShopGridWnd__scalar_deleting_destructor | Scalar deleting destructor: full cleanup of grid window then optionally frees 0xC4-byte object |
| 0x007C40F0 | 9 | ItemShopGridWnd__virtual_init_call | Dispatches to virtual method +0x3C (create items callback) |
| 0x007C4110 | 812 | ItemShopWnd__update_item_grid | Updates item shop grid from item list: hides old items, creates new item controls in 5-column grid layout |
| 0x007C4440 | 13 | ItemShopGridWnd__default_init | Default init: calls virtual +0xD8 with param 0 (initial display mode) |
| 0x007C4490 | 64 | ItemShopGridWnd__process_resize_message | Handles resize messages 0xAE and 0xAF: forwards to child controls at +0xC0/+0xBC |
| 0x007C4810 | 251 | EmotionShopGridWnd__constructor | Constructs emotion shop grid: inits vectors, string, format handler; vtable PTR_FUN_0112444c |
| 0x007C4910 | 67 | EmotionShopGridWnd__free_sentinel_0xC | Frees 0xC-byte sentinel node if field +4 is non-null |
| 0x007C4960 | 102 | EmotionShopGridWnd__clear_linked_list | Clears linked list of 0xC-byte nodes: unlinks and frees each node |
| 0x007C49D0 | 103 | EmotionShopGridWnd__destroy_node_list | Destroys entire node linked list including sentinel: walks and frees each 0xC-byte node |
| 0x007C4AD0 | 180 | EmotionShopGridWnd__destructor | Destructor: cleans up format handler, string, vectors; calls base ItemShopWnd destructor chain |
| 0x007C4B90 | 83 | EmotionShopGridWnd__free_node_chain | Frees chain of 0xC-byte linked nodes starting from field +4 |
| 0x007C4BF0 | 204 | EmotionShopGridWnd__scalar_deleting_destructor | Scalar deleting destructor: cleans up format handler, string, vectors then optionally frees 0xD8-byte object |
| 0x007C4CC0 | 9 | EmotionShopGridWnd__virtual_init_call | Dispatches to virtual method +0x3C (create items callback) |
| 0x007C4CD0 | 49 | EmotionShopGridWnd__find_item_by_id | Searches linked list for item with matching ID at +0xA8; returns item pointer or 0 if not found |
| 0x007C5290 | 13 | EmotionShopGridWnd__default_init | Default init: calls virtual +0xD8 with param 0 (initial display mode) |
| 0x007C52B0 | 49 | EmotionShopGridWnd__process_resize_message | Handles resize message 0xAE: forwards to child control at +0xBC; other msgs go to scroll handler |
| 0x007C52F0 | 71 | EmotionShopGridWnd__set_item_display_mode | Finds item in vector by ID (+0xA8 match) and calls its virtual +0xD8 to set display mode |
| 0x007C5590 | 251 | SaleShopGridWnd__constructor | Constructs sale shop grid: inits vectors, string, format handler; vtable PTR_FUN_01124638 |
| 0x007C5690 | 129 | SaleShopGridWnd__dealloc_item_vector | Deallocates the item pointer vector buffer with aligned free support; resets begin/end/capacity to null |
| 0x007C5720 | 180 | SaleShopGridWnd__destructor | Destructor: cleans up format handler, string, item vector; calls base ItemShopWnd destructor chain. Does NOT free the object itself. |
| 0x007C57E0 | 71 | SaleShopGridWnd__observer_destructor | Observer destructor: sets vtable to SaleShopGridWnd observer vtable then calls UIPartyBookingWnd base destructor |
| 0x007C5830 | 204 | SaleShopGridWnd__scalar_deleting_destructor_007c5830 | Scalar deleting destructor: full cleanup (format handler, string, vector, base chain) then optionally frees 0xD8-byte object |
| 0x007C5900 | 99 | SaleShopGridWnd__scalar_deleting_destructor | Scalar deleting destructor for SaleShopGridWnd: sets vtable, calls UIPartyBookingWnd destructor chain, optionally frees 0xE0-byte object |
| 0x007C5970 | 9 | SaleShopGridWnd__virtual_init_call | Dispatches to virtual method +0x3C (create items callback) |
| 0x007C59A0 | 359 | SaleShopGridWnd__create_category_section | Creates a shop category section (basic/purchase/unpurchased) with title from EMSG_SEARCH_WND strings |
| 0x007C5B10 | 624 | SaleShopGridWnd__update_search_results | Updates shop search results: clears items, splits results into 3 categories, creates sections, rebuilds scrollbars |
| 0x007C5D80 | 13 | SaleShopGridWnd__default_init | Default init: calls virtual +0xD8 with param 0 |
| 0x007C5DA0 | 49 | SaleShopGridWnd__process_resize_message_alt | Handles resize message 0xAE: forwards to child at +0xBC; other msgs go to scroll handler |
| 0x007C6030 | 202 | SearchShopGridWnd__constructor | Constructs search shop grid: inits vector, string; vtable PTR_FUN_0112477c |
| 0x007C6100 | 67 | SearchShopGridWnd__free_sentinel_0xC | Frees 0xC-byte sentinel node if field +4 is non-null |
| 0x007C6150 | 102 | SearchShopGridWnd__clear_linked_list | Clears linked list of 0xC-byte nodes: unlinks and frees each node |
| 0x007C61C0 | 103 | SearchShopGridWnd__destroy_node_list | Destroys entire linked list including sentinel: walks and frees each 0xC-byte node |
| 0x007C62C0 | 154 | SearchShopGridWnd__destructor | Destructor: cleans up string, vectors; calls base ItemShopWnd destructor chain |
| 0x007C6360 | 83 | SearchShopGridWnd__free_node_chain | Frees chain of 0xC-byte linked nodes starting from field +4 |
| 0x007C63C0 | 178 | SearchShopGridWnd__scalar_deleting_destructor | Scalar deleting destructor: full cleanup then optionally frees 0xD4-byte object |
| 0x007C6480 | 68 | SearchShopGridWnd__highlight_selected_item | Highlights item in grid matching param_2 ID by setting selection state on each control |
Part 2 of Game Core: functions 1,916 to 3,427, 0x007C64D0 to 0x008EE7F0
No function in this part matches that. Search all 47,061 functions instead.